STRUKTUR DATA GRAPH
Graph yaitu himpunan simpul yang disebut V (Vertex) dapat di hubungkan satu simpul dengan simpul lainnya menggunakan link yang di sebut Edge (E). struktur data graph salah satu struktur data yang paling sering di aplikasikan dalam pemrograman komputer.
Ilustrasi graph
V={A,B,C,D,E,F,G}
E={(A,B),(A,C),(B,D),(B,E),(C,F),(D,G),(E,F),(E,G)}
Ilustrasi pada kehidupan nyata pada sosial media facebook. segala sesuatunya adalah vertex seperti user, photo, album, event, grouph, page, comment, story, video dll. bergabung grouph dan membuat fanpage adalah edge.
Konsep dasar graph
struktur data graph berbeda dengan struktur data tree karena dalam struktur data graph memungkinkan terjadi siklus sedangkan tree tidakada siklus.
Terminologi graph :
Vertex: setiap simpul yang ada di dlam graph. vertex dalam struktur data lainnya seperti tree di sebut node
Edge: garis yang ada di dalam graph dimana garis tersebut berfumgsi menghubungkan antara dua vertex. edge bisa juga disebut link
adjacency: dua vertex yang berdekatan yang telah di hubungkan dengan edge.
Path: jalur atau urutan edge yang memungkinkan untuk pindah dari satu vertex ke vertex yang lainnya.
Oprerasi dasar graph
a. Add vertex menambahkan simpul kedalam graph.
b. Add Edge menambahkan link antara dua vertex dalam graph
c. Display vertex menampilkan vertex dari graph.
Representasi adjacency graph
a. Adjacency matrix, akan direpresentasikan dalam bentuk array dua dimensi.
b. Adjacency list
di reperesentasikan di dasarkan pada linkedlist.
Selasa, 23 Juni 2020
STRUKTUR DATA TREE
Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hirarkis (hubungan one to many) antara elemen-elemen.Tree juga adalah suatu graph yang acyclic, simple, connected yang tidak mengandung loop.Sebuah binary search tree atau BST adalah sebuah pohon biner yang boleh kosong, dan setiap nodenya harus memiliki identifier/value. Value pada semua node subpohon sebelah kiiri adalah selalu lebih kecil dari value dari root, sedangkan value subpohon di sebelah kanan adalah sama atau lebih besar dari value pada root, masing-masing subpohon tersebut (kiri dan kanan) itu sendiri adalah juga binary search tree.
struktur data BST sangat penting dalam struktur pencarian,misalkan dalam kasus pencarian dalam sebuah list, jika list sudah dalam keadaan terurut maka proses pencarian akan semakin cepat, jika kita menggunakan list contigue dan melakukan pencarian biner,akan tetapi jika kita ingin melakukan perubahan isi list (insert atau delete), menggunakan list contigue akan sangat lambat, karena prose insert dan delete dalam list contigue butuh memindahkan linked-list, yang untuk operasi insert atau delete tinggal mengatur- atur pointer,akan tetapi pada n-linked list, kita tidak bisa melakukan pointer sembarangan setiap saat, kecuali hanya satu kali dengan kata lain hanya secara squential.dan di dalam tree ada istilah yang disebut Binary Tree, Binary Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkanhubungan yang bersifat hirarkis (hubungan one to many) antara elemen-elemen. Tree juga bisa didefinisikan sebagai kumpulan simpul/node dgn satu elemen khusus yang disebut Root dan node lainnya ( disebut subtree). di dalam binary tree terdapat jenis-jenis tree yang miliki sifat khusus,diantaranya adalah Binary tree adalah suatu tree dengan syarat bahawa tiap node (simpul) hanya boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terpisah. Tiap node dalam binary treee boleh memiliki paling banyak dua child (anak simpul), secara khusus anaknya dinamakan kiri dan kanan.
Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hirarkis (hubungan one to many) antara elemen-elemen.Tree juga adalah suatu graph yang acyclic, simple, connected yang tidak mengandung loop.Sebuah binary search tree atau BST adalah sebuah pohon biner yang boleh kosong, dan setiap nodenya harus memiliki identifier/value. Value pada semua node subpohon sebelah kiiri adalah selalu lebih kecil dari value dari root, sedangkan value subpohon di sebelah kanan adalah sama atau lebih besar dari value pada root, masing-masing subpohon tersebut (kiri dan kanan) itu sendiri adalah juga binary search tree.
struktur data BST sangat penting dalam struktur pencarian,misalkan dalam kasus pencarian dalam sebuah list, jika list sudah dalam keadaan terurut maka proses pencarian akan semakin cepat, jika kita menggunakan list contigue dan melakukan pencarian biner,akan tetapi jika kita ingin melakukan perubahan isi list (insert atau delete), menggunakan list contigue akan sangat lambat, karena prose insert dan delete dalam list contigue butuh memindahkan linked-list, yang untuk operasi insert atau delete tinggal mengatur- atur pointer,akan tetapi pada n-linked list, kita tidak bisa melakukan pointer sembarangan setiap saat, kecuali hanya satu kali dengan kata lain hanya secara squential.dan di dalam tree ada istilah yang disebut Binary Tree, Binary Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkanhubungan yang bersifat hirarkis (hubungan one to many) antara elemen-elemen. Tree juga bisa didefinisikan sebagai kumpulan simpul/node dgn satu elemen khusus yang disebut Root dan node lainnya ( disebut subtree). di dalam binary tree terdapat jenis-jenis tree yang miliki sifat khusus,diantaranya adalah Binary tree adalah suatu tree dengan syarat bahawa tiap node (simpul) hanya boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terpisah. Tiap node dalam binary treee boleh memiliki paling banyak dua child (anak simpul), secara khusus anaknya dinamakan kiri dan kanan.
STRUKTUR DATA QUEQUE
queque atau yang dalam bahasa indonesia nya dikenal dengan nama"antria" adalah sebuah koleksi atau kumpulan item data yang menggunakan prinsip FIFIO (First In First Out) dikatakan demikian karena item data yang pertama kali dimasukan akan pertama kali keluardari antrian tersebut .pada dasar nya struktur data queque tidak terlalu jauh beda dengan stack, karena pada bagian queque memiliki kemiripan dengan stack, tapi hanya saja struktur data queque memiliki prinsip nya sendiri yaitu FIFO, yang artinya"yang pertama masuk, yang pertama kelua".data-data yang ada didalam queque berupa Integer,real,record dalam bentuk sederhana atau terstruktur. sebuah queque dalam program setidak nya harus mengandung 3 variabel, yaitu: head untuk penanda bagian depan struktur antrian,tail untuk penanda bagian belakang struktur antrian, dan array data untuk menyimpan data-data yang akan dimasukan kedalam antrian.
ada 6 oprasi queque, yaitu:
-creat untuk membuat antrian baru, dengan jumlah item data kosong
-enqueque digunakan untuk memasukan data kedalam que que
-dequeque digunakan untuk menghapus/mengambil item data bagian pada sisi front
-clear digunakan untuk semua item data antrian
-isempty digunakan untuk mengecek apakah bagian antrian ada yang kosong
-isfull digunakan untuk mengecek apakah antrian sudah penuh
ada beberapa queque, yaitu: queque dengan linier array, queque dengan circular array, dan queque dengan linked list.
queque atau yang dalam bahasa indonesia nya dikenal dengan nama"antria" adalah sebuah koleksi atau kumpulan item data yang menggunakan prinsip FIFIO (First In First Out) dikatakan demikian karena item data yang pertama kali dimasukan akan pertama kali keluardari antrian tersebut .pada dasar nya struktur data queque tidak terlalu jauh beda dengan stack, karena pada bagian queque memiliki kemiripan dengan stack, tapi hanya saja struktur data queque memiliki prinsip nya sendiri yaitu FIFO, yang artinya"yang pertama masuk, yang pertama kelua".data-data yang ada didalam queque berupa Integer,real,record dalam bentuk sederhana atau terstruktur. sebuah queque dalam program setidak nya harus mengandung 3 variabel, yaitu: head untuk penanda bagian depan struktur antrian,tail untuk penanda bagian belakang struktur antrian, dan array data untuk menyimpan data-data yang akan dimasukan kedalam antrian.
ada 6 oprasi queque, yaitu:
-creat untuk membuat antrian baru, dengan jumlah item data kosong
-enqueque digunakan untuk memasukan data kedalam que que
-dequeque digunakan untuk menghapus/mengambil item data bagian pada sisi front
-clear digunakan untuk semua item data antrian
-isempty digunakan untuk mengecek apakah bagian antrian ada yang kosong
-isfull digunakan untuk mengecek apakah antrian sudah penuh
ada beberapa queque, yaitu: queque dengan linier array, queque dengan circular array, dan queque dengan linked list.
STRUKTUR DATA STACK
stack atau tumpukan adalah sebuah koleksi atau kumpulan item data yang menggunakan prinsip LIFO atau Last In First Out. Benda yang terakhir kali masuk dalam sack adalah yang pertama kali di keluarkan dalam stack.
contoh analogi ketika tukang bangunan menyusun batu bata dalam bentuk tumpukan, maka pada saat tukang bangunan mengambil batu bata tersebut untuk di pasang, batu bata paling atas lah yang akan di ambil terlebih dahulu untuk di susun.
Item data dalam stack yang berada pada posisi puncak dinamakan dengan TOP sedangkan banyak nya data dinamakan NOEL.
oprasi dalam stack ada 6 yaitu:
Push: digunakan untuk menambah item dalam stack pada tumpukan paling atas
POP: digunakan untuk mengambil item dalam stack pada tumpukan paling atas
clear: digunakan untuk mengosongkan stack
creat: digunakan untuk membuat tumpukan baru,dengan jumlah elemen yang kosong
MakeNull: digunakan untuk mengosongkan tumpukan, jika ada elemen maka semua elemen tersebut akan dihapus
Isempty: digunakan untuk mengecek tumpukan apakah tumpukan tersebut kosong
IsFull: digunakan untuk mengecek apakah tumpukan sudah penuh
kelebihan stack yaitu cepat dalam melakukan penambahan atau penghapusan data, yaitu selama selama memori masih tesedia penambahan data bisa terus dilakukan, dengan demikan tidak perlu khawatir Stack Overflow.
kekurangan stack yaitu setiap sel tidak hanya menyimpan value saja, melainan juga pointer ke sel slanjutnya. hal ini menyebabkan pengimplementasi stack memakai linked list akan memerlukan memori yanglebih banyak daripada implementasi dengan array . setiap halam pada linked list hayang bisa diakses dengan cara sekuensial, sehingga lambat.
stack atau tumpukan adalah sebuah koleksi atau kumpulan item data yang menggunakan prinsip LIFO atau Last In First Out. Benda yang terakhir kali masuk dalam sack adalah yang pertama kali di keluarkan dalam stack.
contoh analogi ketika tukang bangunan menyusun batu bata dalam bentuk tumpukan, maka pada saat tukang bangunan mengambil batu bata tersebut untuk di pasang, batu bata paling atas lah yang akan di ambil terlebih dahulu untuk di susun.
Item data dalam stack yang berada pada posisi puncak dinamakan dengan TOP sedangkan banyak nya data dinamakan NOEL.
oprasi dalam stack ada 6 yaitu:
Push: digunakan untuk menambah item dalam stack pada tumpukan paling atas
POP: digunakan untuk mengambil item dalam stack pada tumpukan paling atas
clear: digunakan untuk mengosongkan stack
creat: digunakan untuk membuat tumpukan baru,dengan jumlah elemen yang kosong
MakeNull: digunakan untuk mengosongkan tumpukan, jika ada elemen maka semua elemen tersebut akan dihapus
Isempty: digunakan untuk mengecek tumpukan apakah tumpukan tersebut kosong
IsFull: digunakan untuk mengecek apakah tumpukan sudah penuh
kelebihan stack yaitu cepat dalam melakukan penambahan atau penghapusan data, yaitu selama selama memori masih tesedia penambahan data bisa terus dilakukan, dengan demikan tidak perlu khawatir Stack Overflow.
kekurangan stack yaitu setiap sel tidak hanya menyimpan value saja, melainan juga pointer ke sel slanjutnya. hal ini menyebabkan pengimplementasi stack memakai linked list akan memerlukan memori yanglebih banyak daripada implementasi dengan array . setiap halam pada linked list hayang bisa diakses dengan cara sekuensial, sehingga lambat.
STRUKTUR DATA LINKED LIST
1.linked list atau yang sering disebut juga senarai berantai adalah setruktur data yang terdiri dari urutan record data dimana setiap record memiliki filed yg menyimpan alamat atau reperensi dari record selanjutnya. elemen data yang dihubungkan dengan link pada linked list disebut NODE. didalam suatau linked list terdapat dua istilah yaitu Head dan Tail
Head adalah elemen yang terdapat pada posisi pertama dalam linked list sedangkan Taill adalah elem yang terdapat di akhir dalam linked list.
ada beberapa macam linked list, yaitu:
a). single linked list
single linked list merupakan suatu linked list yang mempunyai satu variable pointer saja.
b). double linked list
double linked list merupakan suatu linked list yang mempunyai dua variable pointer yaitu pointer yang menuju ke selanjutnya dan pointer menuju ke sebelum nya.
c). circular linked list
circular linked list merupakan suatu linked list dimana Tail menuju ke Head.
beberapa oprasi yang ada didalam linked list adalah:
Pushpush merupakan sebuah oprasi insert dimana didalam linked list tedapat dua kemungkinan yaitu, insert melalui depan(push depan) atau melalui belakang (push belakang).
POP
POP, merupakan kebalikan dari push yaitu Delet, dimana dalam linked list terdapat dua kemungkinan delet, dari belakang atau dar depan.
1.linked list atau yang sering disebut juga senarai berantai adalah setruktur data yang terdiri dari urutan record data dimana setiap record memiliki filed yg menyimpan alamat atau reperensi dari record selanjutnya. elemen data yang dihubungkan dengan link pada linked list disebut NODE. didalam suatau linked list terdapat dua istilah yaitu Head dan Tail
Head adalah elemen yang terdapat pada posisi pertama dalam linked list sedangkan Taill adalah elem yang terdapat di akhir dalam linked list.
ada beberapa macam linked list, yaitu:
a). single linked list
single linked list merupakan suatu linked list yang mempunyai satu variable pointer saja.
b). double linked list
double linked list merupakan suatu linked list yang mempunyai dua variable pointer yaitu pointer yang menuju ke selanjutnya dan pointer menuju ke sebelum nya.
c). circular linked list
circular linked list merupakan suatu linked list dimana Tail menuju ke Head.
beberapa oprasi yang ada didalam linked list adalah:
Pushpush merupakan sebuah oprasi insert dimana didalam linked list tedapat dua kemungkinan yaitu, insert melalui depan(push depan) atau melalui belakang (push belakang).
POP
POP, merupakan kebalikan dari push yaitu Delet, dimana dalam linked list terdapat dua kemungkinan delet, dari belakang atau dar depan.
STRUKTUR DATA ARRAY
Array adalah suatu tipe data yang dimana penggunaan nya untuk menyimpan kumpulan data yang seragam(sama) atau homogen dalam memori komputer. setiap data di simpan dalam memori yang berbeda-beda yang di sebut dengan elemen array.setiap elem mempunyai indeks sesuai dengan urutan nya masing masing. array di bagi menjadi 3 jenis yaitu: array satu dimensi, array dua dimensi, dan array multi-dimensi.
a). array satu dimensi adalah tempat menyimpan sekumpulan data yang memiliki tipe data yang seragam dan hanya ada satu indeks saja.
b).array dua dimensi adalah array yang biasa digunakan untuk membuat program yang mempunyai aturan baris dan kolom, seperti membuat matriks, untuk pendataan.
c).array multi-dimensi adalah sebuah variable yang menyimpan sekumpulan data yang seragam dan elemen yang akan di akses melalui banyak indeks atau subskrip.
bentuk dari tipe data array adalah
type_data nama _array[jumlah_elemen] jika ingin mendeklarasikan sebuah array dengan tipe data dari integer dengan nama a dengan jumah arraynya 5 maka kodenya adalah: int a[5];
Tipe=Tipe array,mis int, char, long int...dan sebagai nyaNama_array=Variable apa saja yang ingin kita buat, misal:nama,nilai,angka,posiss...dan lain lainUkuran=Banyak elemen dalam array.
Array adalah suatu tipe data yang dimana penggunaan nya untuk menyimpan kumpulan data yang seragam(sama) atau homogen dalam memori komputer. setiap data di simpan dalam memori yang berbeda-beda yang di sebut dengan elemen array.setiap elem mempunyai indeks sesuai dengan urutan nya masing masing. array di bagi menjadi 3 jenis yaitu: array satu dimensi, array dua dimensi, dan array multi-dimensi.
a). array satu dimensi adalah tempat menyimpan sekumpulan data yang memiliki tipe data yang seragam dan hanya ada satu indeks saja.
b).array dua dimensi adalah array yang biasa digunakan untuk membuat program yang mempunyai aturan baris dan kolom, seperti membuat matriks, untuk pendataan.
c).array multi-dimensi adalah sebuah variable yang menyimpan sekumpulan data yang seragam dan elemen yang akan di akses melalui banyak indeks atau subskrip.
bentuk dari tipe data array adalah
type_data nama _array[jumlah_elemen] jika ingin mendeklarasikan sebuah array dengan tipe data dari integer dengan nama a dengan jumah arraynya 5 maka kodenya adalah: int a[5];
Tipe=Tipe array,mis int, char, long int...dan sebagai nyaNama_array=Variable apa saja yang ingin kita buat, misal:nama,nilai,angka,posiss...dan lain lainUkuran=Banyak elemen dalam array.
Langganan:
Postingan (Atom)





