STRUKTUR DATA HIRARKIS : TREE

Ukuran: px
Mulai penontonan dengan halaman:

Download "STRUKTUR DATA HIRARKIS : TREE"

Transkripsi

1 STRUKTUR DATA HIRARKIS : TREE Tree merupakan salah satu struktur data yang paling penting, karena banyak aplikasi menggunakan informasi dan data yang secara alami memiliki struktur hirarkis berguna dalam membantu memecahkan banyak masalah algoritmis. Aplikasi pohon biner : a. sebagai representasi ekspressi matematika b. aplikasi pohon biner dalam Huffman Coding. Cara Penggambaran Tree : Notasi Kurung Diagram Venn Notasi Tingkat Notasi Garis

2 Terminologi : Tree (atau pohon) sejumlah node yang berhubungan secara hirarkis dimana suatu node pada suatu hirarki merupakan cabang dari node dengan hirarki yang lebih tinggi dan juga memiliki cabang ke beberapa node lainnya dengan hirarki yang lebih rendah. Root (atau akar) Node dengan hirarki tertinggi dinamakan root. leaf (atau daun) node yang tidak memiliki cabang. Internal node (atau node dalam) node yang bukan merupakan leaf. edge (atau sisi atau cabang) menyatakan hubungan hirarkis antara kedua node yang terhubungkan, biasanya digambarkan berarah (berupa panah) untuk menunjukkan node asal edge lebih tinggi dari node tujuan dari edge.

3 Level (atau tingkat) suatu node (Kadang dimulai level 0 atau 1) Bilangan yang menunjukan hirarki dari suatu node, root memiliki level 1, node cabang dari root memiliki level 2, node cabang berikutnya dari node adalah level 3, dan seterusnya. Height (atau tinggi) suatu tree Sama dengan level dengan angka terbesar (hirarki terendah) suatu node yang ada dalam tree atau bisa juga didefinisikan sebagai jumlah sisi terbanyak dari root hingga suatu leaf yang ada di tree. Depth (atau kedalaman) suatu node Jumlah sisi dari root hingga node ybs. Subtree (atau subpohon) sebagian dari tree mulai dari suatu node N melingkupi node-node yang berada dibawah hirarkinya sehingga dapat dipandang sebagai suatu tree juga yang mana N sebagai root dari tree ini. Tree kosong Suatu tree yang tidak memiliki satu node pun. Tree dengan urutan letak geometris node-node yang merupakan cabang yang sama dari suatu node adalah penting; biasanya urutan dari kiri ke kanan.

4 - B, C, D dan E memiliki induk (parent) yang sama yaitu A, sehingga ke- 4 node tersebut disebut saudara (siblings) - Semua node di bawah suatu node induk hanya dapat diakses melalui induknya - Lintasan (path) sebuah node X adalah urutan akses untuk mendapatkan X yang dimulai dari Akar. Path(M) = [A B G M] - Panjang lintasan (path length) X adalah jumlah node yang harus diakses untuk mendapatkan X; sehingga Path(M) = 4. Ada juga yang menyatakan panjang lintasan sebuah node adalah jumlah garis dari akar sampai node tersebut - Tinggi (height) dari sebuah pohon adalah panjang lintasan terpanjang. Tinggi pohon di bawah ini = 4 - Jika ada sebuah lintasan dari node a ke node b, maka a adalah pendahulu (ancestor) dari b dan b disebut keturunan (descendent) dari a - Kedalaman (depth) dari sebuah node adalah panjang lintasan dari akar ke node tersebut. Depth (G) = 3

5 Karakteristik : a. Terdapat 1 node yang unik, yang tidak memiliki predecessor, yang disebut dengan root (akar) b. Terdapat satu atau beberapa node yang tidak memiliki successor yang disebut dengan leaf (daun) c. Setiap node kecuali root pasti memiliki satu predecessor d. Setiap node kecuali leaf pasti memiliki 1 atau lebih successor

6 Contoh : Edge/ Link Root A Node/Vertex/Simpul B C D E F G H I J K L M N O Leaf (daun)

7 BINARY TREE Karakteristik : Maksimum child adalah 2 (Left Child dan Right Child) Complete Binary Tree : Bila semua node kecuali Leaf memiliki 0 atau 2 child. Subtree pada Heap Tree dapat memiliki path length yang berbeda Skewed Binary Tree (Miring) : Bila semua node, kecuali Leaf memiliki hanya 1 child Full Binary Tree : Bila semua node kecuali Leaf memiliki 2 Child dan semua subtree harus memiliki path yang sama Representasi : - Ekspresi MM dengan Binary Tree - Huffman Code

8 Ekspressi Matematika (EM) didefenisikan sebagai berikut: (1). Variabel dan Bilangan adalah EM (2). Jika E, E1 dan E2 adalah EM maka E, + E dan (E) adalah EM E1 + E2, E1 E2, E1 * E2, E1 / E2, E1 div E2, E1 mod E2 dan E1^E2 juga adalah EM Contoh : 4 adalah EM X adalah EM 4 + X adalah EM * 3 adalah EM (2 + 4) * 3 adalah EM ((3 + 2) * (5 2)) / (2 + 3) adalah EM dan seterusnya Contoh: Diketahui: Ekspressi Matematika ((2 + 3) * (5 2) + 5) * (5 + 3 * 2) Ditanya: Gambarkan pohon ekspressi dengan cara Bootom Up Penyelesaian: Ekspressi tersebut terbagi dua menjadi E1 dan E2 oleh operator *; sehingga ekspressi tersebut dapat ditulis sebagai (E1) * (E2) dimana E1 = ((2 + 3) * (5 2) + 5) dan E2 = (5 + 3 * 2). Kemudian gambarkan pohon ekspressi untuk (E1) * (E2).

9 Huffman Code: Hubungan Level dengan Jumlah Data : Level Ke : Minimum Jumlah data Maksimum = = = = = = 2 5 L 1 2 (L-1)

10 TRAVERSAL BINARY TREE - Operasi penelusuran node-node dalam binary tree - Traversal dibagi 3, yaitu : a. Preorder b. Inorder c. Postorder - Algoritma : Procedure Preorder (n : BST); Begin If (n<> NIL) Then Begin End; End; Write(n^.Info); Preorder(n^.Kiri); Preorder(n^.Kanan);

11 Procedure Inorder (n : BST); Begin If (n<> NIL) Then Begin Inorder(n^.Kiri); Write(n^.Info); Inorder(n^.Kanan); End; End; Procedure Postorder (n : BST); Begin If (n<> NIL) Then Begin Postorder(n^.Kiri); Postorder(n^.Kanan); Write(n^.Info); End; End;

12 Contoh : B B B B B B B B B B B B

13 Implementasi Binary Tree : a. Array b. Linked List Implementasi BT pada array : - Indeks pada array menyatakan nomor kode - Node root mempunyai indeks array = 1 - Leftchild suatu node dengan nomor p adalah (2p) - Rightchild suatu node dengan nomor p adalah (2p+1) - Parent dari suatu node dengan nomor p adalah (p div 2) Implementasi Binary Tree dengan Linked List Uses crt; Type Pointer =^Cell; Cell = Record Kiri : Pointer; Info : Char; (* boleh diganti dg integer / tipe data lain *) Kanan : Pointer; End; BST = Pointer;

14 Implementasi Binary Search Tree : Ketentuan : a. Semua left child harus lebih kecil dari parent b. Semua right child harus lebih besar dari parent Keuntungan : Pencarian node target menjadi lebih efisien dan cepat Operasi-Operasi Standar BST : - Mengosongkan BST - Mencek apakah BST kosong - Mencari Tree Minimum - Mencari Tree Maksimum - Memasukkan data baru ke dalam BST - Mencari elemen tertentu dalam BST - Menghapus data tertentu dari dalam BST - Menampilkan semua elemen dalam BST

15 a. Mengosongkan BST (Makenull) Procedure Makenul (T: BST); Begin T := Nil; End; b. Memeriksa Apakah BST Kosong Function Empty(T : BST) : Boolean; Begin End; Empty := (T = Nil)

16 c. Pencarian Tree Minimum Function TREE_MINIMUM (T : BST ) : BST; Begin End; If (Not Empty (T)) Then Begin End; While (T^.Kiri <> NIL) do Begin End; return T; T = T^.Kiri;

17 d. Pencarian Tree Maksimum Function TREE_MAKSIMUM(T : BST ) : BST; Begin End; If (Not Empty (T)) Then Begin End; While (T^.Kanan <> NIL) do Begin End; return T; T = T^.Kanan;

18 Operasi Insert : - Pencarian lokasi untuk node yang akan diinsert selalu dimulai dari root - Jika node yang diinsert lebih kecil dari root, maka insert di daun pada left subtree - Jika node yang diinsert lebih besar dari root, maka insert di daun pada right subtree

19 e. Memasukkan data baru ke dalam BST Procedure Insert(x : TipeData; Var T : BST); Begin If (T = Nil) Then (* Jika ditemukan T yang nil *) Begin New(T);(* ciptakan node baru ditunjuk oleh T *) T^.Kiri := Nil; (* Set pointer kiri = nil *) T^.Info := x; (* Isi data pada node = x *) T^.Kanan := Nil; (* Set pointer kanan = nil *) End Else (If x = T^.Data) Then (* x sudah ada dalam T *) Writeln( Error : data tersebut sudah ada *) Else (If x < T^.Data) Then Insert(x, T^.Ki) (*jika x < data yg ditunjuk T, maka sisipkan x ke kiri*) Else (* x > data yang ditunuk T sisipkan x ke kanan *) Insert(x, T^.Ka) End;

20 f. Mencari elemen tertentu dalam BST Function Search (x: TipeData, T : BST) : Boolean; Begin End; If (T = Nil) Then Search := False Else If (x = T^.Info) Then Search := True (* x ditemukan *) Else If (x < T^.Info) Then Search := Search(x, T^.Kiri) (*cari x ke kiri *) Else (*x > T^.Info *) Search:= Search(x, T^.Kanan) (* cari secara rekursif ke kanan *)

21 Operasi Delete Ketentuan Delete : - Jika yang didelete adalah leaf maka tidak perlu dilakukan modifikasi terhadap lokasi - Jika yang didelete adalah node yang hanya memiliki satu anak, maka anak tersebut langsung menggantikan posisi dari parent-nya - Jika yang didelete adalah node dengan 2 anak (2 subtree), maka node yang diambil menggantikan node yang dihapus adalah : a. Berasal dari left subtree yang diambil adalah node yang paling kanan (nilai terbesar) b. Berasal dari right subtree yang diambil adalah node yang paling kiri (nilai terkecil)

22 g. Menghapus data tertentu dari dalam BST Procedure Delete (x : TipeData; Var T : BST); Var Bantu : Pointer; Begin If (T = Nil) Then Writeln( Error :, x, tidak ditemukan ) Else If (x < T^.Info) Then Delete(x, T^.Kiri) (* rekursif ke kiri *) Else If (x > T^.Info) Then Delete(x, T^.Kanan) (*rekursif ke kanan *) Else (*x ditemukan *) If (T^.Kiri = Nil And T^.Kanan = Nil) Then (*Kasus x adalah daun *) Begin Bantu := T; (*Tangkap node dengan pointer Bantu *) T := Nil; (*potong T yang tadinya menunjuk node berisi x *) Dispose(Bantu) (*deallocate Bantu atau lepaskan node *) End

23 Else If (T^.Kiri = Nil) Then (*x berada pada node dimana kirinya nil *) Begin Bantu := T; T := T^.Kanan; (* Set T = pointer kanannya *) Bantu^.Kanan := Nil; (*putuskan hubungan node dgn kanannya *) Dispose (Bantu); (*lepaskan node berisi x *) End Else If (T^.Kanan = Nil) Then (*x berada dinode dimana kanannya nil *) Begin Bantu := T; T := T^.Kiri ; (* Set T = pointer kirinya *) Bantu^.Kiri := Nil; (*putuskan hubungan node dengan kirinya *) Dispose (Bantu); (* lepaskan node yang berisi x *) End Else (* pointer kiri dan kanan T tidak kosong *) T^.Info := DeleteMin(T^.Kanan) End;

24 Fungsi Untuk Mendukung Operasi Delete : Function DeleteMin (Var A : BST) : TipeData; Var Bantu : Pointer; Begin If (T^.Kiri = Nil) Then (*ditemukan data terkecil *) Begin Bantu := T ; (* tangkap node yang berisi data terkecil *) End; DeleteMin := T^.Info; (*Ambil&simpan data terkecil *) T := T^.Kanan; (* Set T = pointer kanannya *) Bantu^.Kanan := Nil; (*lepas hubungan node tsb dgn anaknya *) Dispose (Bantu); (*lepaskan node yang berisi data terkecil *) End Else DeleteMin := DeleteMin(T^.Ki); (*rekursif ke kiri *)

25 h. Menampilkan semua elemen dalam BST Procedure Tampil(T); Var Pilih : Integer; Begin Clrscr; Writeln( 1. Tampil Secara Preorder ); Writeln( 2. Tampil Secara Inorder ); Writeln( 3. Tampil Secara Postorder ); Writeln; Write( Silahkan Pilih : ); Readln(Pilih); If (Pilih = 1) Then Preorder(T) Else If (Pilih = 2) Then Inorder (T) Else Postorder(T); Readln End;

26 AVL TREE Definisi : BST yang mempunyai ketentuan bahwa maks perbedaan tinggi antara subtree kiri dan kanan adalah satu Height-Balanced Tree : - BST adalah Height Balanced p-tree yang artinya maksimum perbedaan height antara subtree kiri dan kanan adalah p - AVL Tree adalah height balanced 1-tree yang berarti maksimum perbedaan height antara subtree kiri dan kanan adalah satu a. TallLeft bila subtree kiri lebih panjang dari subtree kanan (simbol -) b. TallRight bila subtree kanan lebih panjang dari subtree kiri (simbol +) c. Balance bila Subtree kiri dan kanan mempunyai height sama, simbolnya 0

27 Search Path : Path pencarian lokasi untuk dilakukan operasi insert dimulai dari Root Pivot Point : - Adanya node pada search path yang balancenya TallLeft (tanda -) atau TallRight (tanda +) dan terletak paling dekat dengan node yang baru - Contoh : Jika diinsert node baru dengan nilai 5, maka pivot pointnya di node 25 Operasi Insert : - Kasus-1 Tidak ada pivot point dan setiap node adalah balance, maka bisa langsung diinsert sama seperti BST

28 - Kasus 2 Jika ada PP tetapi subtree yang akan ditambahkan node baru memiliki height yang lebih kecil, maka bisa langsung di insert - Kasus 3 Jika ada PP dan subtree yang akan ditambahkan node baru memiliki height yang lebih besar, maka tree harus digenerate supaya tetap menghasilkan AVL Tree Regenerate : - Single Rotation a. Single Left Rotation b. Single Right Rotation - Double Rotation a. Double Left Rotation b. Double Right Rotation

29 Algoritma Single Right Rotation : Function SRR (R : Node) : Node; Begin Node P := R^.Left; R^.Left := P^.Right; P^.Right := R; SRR := P; End; Algoritma Single Left Rotation : Function SLR (R : Node) : Node; Begin Node P := R^.Right; R^.Right := P^.Left; P^.Left := R; SLR := P; End;

30 Algoritma Double Right Rotation : Function DRR (R : Node) : Node; Begin End; Node P := R^.Left; Node Q := P^.Right; R^.Left := Q^.Right; P^.Right := Q^.Left; Q^.Right := R; Q^.Left := P; DRR := Q;

31 Algoritma Double Left Rotation : Function DLR (R : Node) : Node; Begin End; Node P := R^.Right; Node Q := P^.Left; R^.Right := Q^.Left; P^.Left := Q^.Right; Q^.Left := R; Q^.Right := P; DLR := Q;

32 HEAP TREE : Definisi : - Heap adalah Tree yang memenuhi persamaan : R[ I ] < R[ 2*I ] dan R[ I ] < R[2*I + 1] - Heap disebut juga Complete Binary Tree - Minimum Heap : Jika nilai parentnya selalu lebih kecil dari pada kedua childrennya - Maximum Heap : Jika nilai parentnya selalu lebih besar dari pada kedua childrennya

33 Algoritma : Procedure Heapify(A:T; I : Integer); Begin End; L := 2*I; R := 2*I+1; If (L<=Heap_Size[A] And A[L] > A[I]) Then besar := L Else besar := I; If (R<=Heap_Size[A] And A[R] > A[besar]) Then besar := R; If (besar <> I) Then Begin Swap(A[I], A[besar]); Heapify(A, besar); End; Procedure Bentuk_Heap(A : T); Begin Heap_Size[A] = Length[A]; For I:=Length[A]/2 DownTo 1 Do Heapify(A, I); End;

34 Algoritma Heap Sort : Procedure Heap_Sort(A : T); Begin End; Bentuk_Heap(A); For I:= Length[A] Downto 2 Do Begin End; Swap(A[1], A[I]); Heap_Size[A] := Heap_Size[A] -1; Heapify(A,1);

35 B-Tree : - Definisi : Tree yang setiap nodenya dapat berisi lebih dari pada satu elemen - Jumlah elemen dalam sebuah node tergantung kepada order dari B-Tree tersebut - Jumlah minimum elemen dalam setiap node (kecuali root) adalah d, dan jumlah max adalah 2d, dimana d adalah order. Untuk Root, jumlah minimum elemen 1, dan jumlah maksimum adalah 2d - Jumlah minimum children dari suatu node dalam B-Tree adalah 0, dan jumlah Max-nya adalah jumlah elemen+1

36 Operasi dalam B-Tree : - Insert Jika node belum penuh (jumlah elemen < 2d), maka elemen bisa langsung di-insert Contoh : d = Insert (25) Jika node sudah penuh, maka perlu dilakukan node split Langkah Node Split : - Split node menjadi 2 - Letakkan d elemen terkecil di node kiri - Letakkan d elemen terbesar di node kanan - Letakkan elemen tengah ke node parentnya

37 Contoh : Insert(20) Delete : - Jika target node yang akan dihapus berisi elemen lebih dari d, maka target elemen bisa langsung dihapus tanpa perlu regenerate - Jika target node yang akan dihapus berisi d node, penghapusan langsung akan menyebabkan underflow - Regenerate dilakukan dengan meminjam elemen yang berada di node kiri atau dikanan (yang memiliki elemen lebih dari d). Parent/ Separator akan berubah

38 - Jika node dikiri atau dikanan yang akan dilakukan peminjaman ternyata mempunyai elemen kurang dari d, yang mana jika dilakukan peminjaman, node tersebut akan terjadi underflow - Regenerate akan dilakukan dengan menggabungkan node yang akan dihapus dengan node dikiri/kanan

39 Struktur Data Graph : Pendahuluan : 1. Graph : struktur data yang berbentuk network/jaringan, hubungan antar elemen adalah many-to-many 2. Struktur Data Linear = keterhubungan sekuensial antara entitas data 3. Struktur Data Tree = keterhubungan hirarkis 4. Struktur Data Graph = keterhubungan tak terbatas antara entitas data. Contoh graph : Informasi topologi jaringan dan keterhubungan antar kota-kota 5. Keterhubungan dan jarak tidak langsung antara dua kota = data keterhubungan langsung dari kota-kota lainnya yang memperantarainya. 6. Penerapan struktur data linear atau hirarkis pada masalah graph dapat dilakukan tetapi kurang efisien. Struktur data graph secara eksplisit menyatakan keterhubungan ini sehingga pencariannya langsung (straightforward) dilakukan pada strukturnya sendiri.

40 Masalah-masalah Graph Masalah path minimum (Shortest path problem) Masalah aliran maksimum (maximum flow problem) Masalah pencarian dalam graph (graph searching problem) Masalah pengurutan topologis (topological ordering problem) Masalah jaringan tugas (Task Network Problem) Masalah pencarian pohon rentang minimum (Minimum Spanning Tree Problem) Travelling Salesperson Problem Four-color problem mencari route dengan jarak terpendek dalam suatu jaringan transportasi. menghitung volume aliran BBM dari suatu reservoir ke suatu titik tujuan melalui jaringan pipa. mencari langkah-langkah terbaik dalam program permainan catur komputer. menentukan urutan pengambilan mata-mata kuliah yang saling berkaitan dalam hubungan prasyarat (prerequisite). membuat penjadwalan pengerjaan suatu proyek yang memungkinkan waktu penyelesaian tersingkat. mencari rentangan kabel listrik yang totalnya adalah minimal untuk menghubungkan sejumlah kota. tukang pos mencari lintasan terpendek melalui semua alamat penerima pos tanpa harus mendatangi suatu tempat lebih dari satu kali. dalam menggambar peta, memberikan warna yang berbeda pada setiap propinsi yang saling bersebelahan.

41 Graph terdiri dari himpunan verteks (node) dan himpunan sisi (edge, arc). Verteks menyatakan entitas-entitas data dan sisi menyatakan keterhubungan antara verteks. Notasi matematis graph G adalah : G = (V, E) Sebuah sisi antara verteks x dan y ditulis {x, y}. Subgraph : graph yang merupakan suatu subset (bagian) graph yang connected Graph H = (V1, E1) disebut subgraph dari graph G jika V1 adalah himpunan bagian dari V dan E1 himpunan bagian dari E. Jenis Graph : a. Directed Graph (Digraph) : jika sisi-sisi graph hanya berlaku satu arah. Misalnya : {x,y} yaitu arah x ke y, bukan dari y ke x; x disebut origin dan y disebut terminus. Secara notasi sisi digraph ditulis sebagai vektor (x, y).

42 Contoh Digraph G = {V, E} : V = {A, B, C, D, E, F, G, H, I,J, K, L, M} E = {(A,B),(A,C), (A,D), (A,F), (B,C), (B,H), (C,E), (C,G), (C,H), (C,I), (D,E), (D,F), (D,G), (D,K), (D,L), (E,F), (G,I), (G,K), (H,I), (I,J), (I,M), (J,K), (J,M), (L,K), (L,M)}.

43 A B C H F I M D E G K L J

44 b. Graph Tak Berarah (undirected graph atau undigraph): setiap sisi {x, y} berlaku pada kedua arah: baik x ke y maupun y ke x. Secara grafis sisi pada undigraph tidak memiliki mata panah dan secara notasional menggunakan kurung kurawal. Contoh Undigraph G = {V, E} V = {A, B, C, D, E, F, G, H, I,J, K, L, M} E = { {A,B},{A,C}, {A,D}, {A,F}, {B,C}, {B,H}, {C,E}, {C,G}, {C,H}, {C,I}, {D,E}, {D,F}, {D,G}, {D,K}, {D,L}, {E,F}, {G,I}, {G,K}, {H,I}, {I,J}, {I,M}, {J,K}, {J,M}, {L,K}, {L,M}}. Khusus graph, undigraph bisa sebagai digraph (panah di kedua ujung edge berlawanan) Struktur data linear maupun hirarkis adalah juga graph. Node-node pada struktur linear ataupun hirarkis adalah verteks-verteks dalam pengertian graph dengan sisi-sisinya menyusun node-node tersebut secara linear atau hirarkis. Struktur data linear adalah juga tree dengan pencabangan pada setiap node hanya satu atau tidak ada. Linear 1-way linked list (digraph), linear 2-way linked list (undigraph).

45 A B C H F I M D E G K L J

46 A B C H F I M D E G K L J

47 Konektivitas pada Undigraph Adjacency: Dua verteks x dan y yang berlainan disebut terhubung langsung (adjacent) jika ada sisi {x, y} dalam E. Path : Urutan dari kumpulan node-node, dimana tiap node dengan node berikutnya dihubungkan dengan Edge Simple Path : Jika node dalam path tsb hanya muncul 1 kali Panjang dari path: jumlah sisi yang dilalui path. Siklus (cycle) : suatu path dengan panjang lebih dari satu, dimana vertex awal dan akhir sama. Siklus sederhana: dalam undigraph, siklus yang terbentuk dari tiga atau lebih verteks yang berlainan, dimana tidak ada vertex muncul lebih satu kali kecuali verteks awal/akhir. Dua verteks x dan y yang berbeda dalam suatu undigraph disebut berkoneksi (connected) apabila ada path penghubung. Suatu komponen terkoneksi (connected components) adalah subgraph (bagian dari graph) yang berisikan satu himpunan bagian verteks yang berkoneksi.

48 Konektivitas pada Digraph Terminologi pada Undigrap berlaku, kecuali dalam digraph harus dikaitkan dengan arah tertentu karena pada arah yang sebaliknya belum tentu terdefinisi. Adjacency ke/dari : Jika ada sisi (x,y) maka pada digraph dikatakan bahwa x "adjacent ke" y atau y "adjacent dari" x. Demikian pula jika terdapat path dari x ke y maka belum tentu ada path dari y ke x. Jadi dalam digraph keterkoneksian didefinisikan lebih lanjut lagi sebagai berikut. - Terkoneksi Kuat : Bila setiap pasangan verteks berbeda x dan y dalam S, x berkoneksi dengan y dan y berkoneksi dengan x dalam S, x berkoneksi dengan y dan y berkoneksi dengan x - Terkoneksi Lemah : Bila setiap pasangan verteks berbeda x dan y dalam S, salah satu: x berkoneksi dengan y (atau y berkoneksi dengan x) dan tidak kebalikan arahnya (hanya terdefinisi satu path: dari x ke y atau sebaliknya dari y ke x).

49 Graph berbobot (weighted graph) Graph dengan sisi mempunyai Bobot/ Biaya. Biaya" ini bisa mewakili banyak aspek: biaya ekonomi suatu aktifitas, jarak geografis/tempuh, waktu tempuh, tingkat kesulitan, dan lain sebagainya. Contoh : Graph ini merupakan Undirected Weighted Graph. Order dari verteks A = 4, verteks B = 3, dst. Adjacentcy list dari D adalah = {A, E, F, G, K, L}. Representasi Graph Representasi Matriks Keterhubungan Langsung (Adjacency Matrix) Matriks digunakan untuk himpunan adjacency setiap verteks. Baris berisi vertex asal adjacency, sedangkan kolom berisi vertex tujuan adjacency. Bila sisi graph tidak mempunyai bobot, maka [x, y] adjacency disimbolkan dengan 1 dan 0 bila tidak adjacency. Bila sisi graph mempunyai bobot, maka [x, y] adjacency disimbolkan dengan bobot sisi tersebut, dan bila tidak disimbolka.

50 Direpresentasikan dalam matriks sbb. Dari\Ke A B C D E F G H I J K L M A B C D E F G H I J K L M

51 A D F B C E H G I M K 19 L 10 J

52 Dari\Ke A B C D E F G H I J K L M A B C D E F G H I J K L M

53 Adjacency List :??? Perhatikan deklarasi berikut : Type Pointer = ^Simpul; Simpul = Record Elemen : TipeData; (* tipe data menurut pilihan kita *) Next : Pointer End; Var X : Array [1..N] Of Pointer;

54 Algoritma-algoritma Pencarian Pencarian vertex adalah proses umum dalam graph. Terdapat 2 metoda pencarian: Depth First Search (DFS): pada setiap pencabangan, penelusuran verteks-verteks yang belum dikunjungi dilakukan secara lengkap pada pencabangan pertama, kemudian selengkapnya pada pencabangan kedua, dan seterusnya secara rekursif. Breadth First Search (BFS): pada setiap pencabangan penelusuran verteks-verteks yang belum dikunjungi dilakukan pada verteks-verteks adjacent, kemudian berturut-turut selengkapnya pada masing-masing pencabangan dari setiap verteks adjacent tersebut secara rekursif.

55 Algoritma Depth First Search : a. Algoritma diawali pada vertex S dalam G b. Kemudian algoritma menelusuri graph dengan suatu insiden edge (u, v) ke current vertex u. c. Jika edge (u, v) menunjuk ke suatu vertex v yang siap untuk dikunjungi, maka kita ikuti jalur mundur ke current vertex u. Jika pada sisi lain, edge (u, v) menunjuk ke vertex v yang tidak dikunjungi, maka kita pergi ke v dan v menjadi current vertex. d. Kita proses ini hingga kita mencapai sasaran akhir. e. Pada titik ini, kita mulai jalur mundur. Proses ini berakhir ketika jalur mundur menunjuk balik ke awal vertex.

56 void graph() { for semua node u do { colour[u]=white; p[u]=null; } time = 0; for semua node u do if colour[u] == white then DFS(u); } void DFS(u) { visit(u); time = time + 1; d[u] = time;colour[u] = grey; for semua node v adjacent ke u do { if colour[v] == white then { p[v] = u; DFS(u); } } time = time + 1; f[u] = time; colour[u] = black; }

57 Algoritma Breadth First Search : BFS diawali dengan vertex yang diberikan, yang mana di level 0. Dalam stage pertama, kita kunjungi semua vertex di level 1. Stage kedua, kita kunjungi semua vertex di level 2. Disini vertex baru, yang mana adjacent ke vertex level 1, dan seterusnya. Penelusuran BFS berakhir ketika setiap vertex selesai ditemui. Implementasi algoritma BFS Algoritma BFS menjadi kurang straightforward jika dinyatakan secara rekursif. Jadi sebaiknya diimplementasikan secara nonrekursif dengan memanfaatkan queue sebagai struktur data pendukung

58 void BFS() { Queue q = new Queue(); Vertex v, w, t; for (setiap vertex v dalam G) v.status = false; for (setiap vertex v dalam G) { if (v.status == false) { v.status = true; q.enqueue(v); while (EmptyQueue(Q) == false) { w = q.dequeue(); visit(w); for (setiap vertex T adjacent dari w) { if (t.status == false) { t.status = true; q.enqueue(t); } } } } } }

59 The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. Contoh : Perhatikan graph berikut dimana penelusuran diawali pada vertex s. Input : Graph G dan vertex. Output : Edge dilabeli sebagai jelajah dan edge yang dilewati sesuai komponen terhubung. Langkah-1:

60 The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. Langkah-2 : Langkah-3 :

61 The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. Langkah-4: Langkah-5:

62 The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. Langkah-6: Langkah-7:

63 Masalah Pencarian Lintasan Terpendek Pencarian shortest path (lintasan terpendek) adalah masalah umum dalam suatu weighted, connected graph. Misal : Pencarian jaringan jalan raya yang menghubungkan kota-kota disuatu wilayah Lintasan terpendek yag menghubungkan antara dua kota berlainan tertentu (Single-source Single-destination Shortest Path Problems) Semua lintasan terpendek masing-masing dari suatu kota ke setiap kota lainnya (Single-source Shortest Path problems) Semua lintasan terpendek masing-masing antara tiap kemungkinan pasang kota yang berbeda (All-pairs Shortest Path Problems)

64 Untuk memecahkan masing-masing dari masalah-masalah tersebut terdapat sejumlah solusi. Algoritma Dijkstra untuk Single-source Shortest Path Algoritma Floyd-Warshall untuk masalah All-pairs Shortest Path Algoritma Johnson untuk masalah All-pairs Shortest Path pada sparse graph Dalam beberapa masalah graph lain, suatu graph dapat memiliki bobot negatif dan kasus ini dipecahkan oleh algoritma Bellman-Ford. Yang akan dibahas di sini adalah algoritma Dijkstra yaitu mencari lintasan terpendek dari suatu verteks asal tertentu vs ke setiap verteks lainnya.

65 Algoritma Dijkstra Algoritma Dijkstra's : a. Menyelesaikan problem single-source shortest-path ketika semua edge memiliki bobot tidak negatif. b. Algoritma greedy mirip ke algoritma Prim's. c. Algoritma di awali pada vertex sumber s, kemudian berkembang membentuk sebuah tree T, pada akhirnya periode semua vertex dijangkau dari S. Vertex di tambah ke T sesuai urutan. Misalnya : pertama S, kemudian vertex yang tepat ke S, kemudian yang tepat berikutnya dan seterusnya.

66 DIJKSTRA (G, w, s) { INITIALIZE SINGLE-SOURCE (G, s) } S { } Initialize priority queue Q Q V[G] while priority queue Q is not empty do u EXTRACT_MIN(Q) S S È {u} // Lakukan relaxation untuk setiap vertex v adjacent ke u for setiap vertex v dalam Adj[u] do Relax (u, v, w) Relax (u, v, w) { If d[u] + w(u, v) < d[v] then d[v] = d[u] + w[u, v] }

67 Step1. Diberikan inisial graph G=(V, E). Semua node-node mempunyai biaya tak terhingga, kecuali node sumber s, dengan biaya 0. The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

68 Step 2. Pertama, lakukan pemilihan node, yang mana tepat ke node sumber S. Kita inisialisasi d[s] ke 0. Tambahkan itu ke S. Relaksasi semua node adjacent dari sumber S. Update predecessor (lihat panah merah dalam diagram di bawah) untuk semua node yang di-update. The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

69 Step 3. Pilih node paling tepat ke x. Relaksasi semua node adjacent ke vertex x. Update predecessor untuk node u, v dan y (kembali, perhatikan panah merah dalam diagram berikut). The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

70 Step 4. Sekarang, node y adalah node tepat, sehingga di tambahkan ke S. Relaksasi node v dan periksa predecessor yang dimiliki (perhatikan panah merah!). The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

71 Step 5. Sekarang kita memiliki node u yang tepat. Pilih node ini dan periksa bahwa itu merupakan tetangga dari node v. The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

72 Step 6. Akhirnya, tambahan node v. Daftar predecessor sekarang mendefinisikan shortest path dari setiap node ke node asal, s. The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

73 Dynamic Programming : Terdiri dari sederetan tahapan keputusan. Pada setiap tahapan berlaku prinsip optimality (apapun keadaan awal dan keputusan yang diambil, keputusan berikutnya harus memberikan hasil yang optimal dengan melihat hasil keputusan sebelumnya. Misalnya : Multistage Graph Dimana : Cost (i,j) = Min(C(j,l) + Cost(i+1,l)} Dengan : C(j,l) = Bobot edge j dan l l = Elemen Vi+1 Dan <j,l> eemen E i=stage ke-i dan j = node dalam V Proses dimulai dari k-2, dimana k adalah banyak stage Perhatikan contoh untuk menentukan biaya termurah dari 1 hingga 12.

74 Diketahui graph dengan stage sebagai berikut : S1 S2 S3 S4 S

75 Maka langkah-langkah yang dilakukan adalah : K=5, sehingga dimulai dari S3 Cost(3,6) = Min{6+Cost(4,9); 5+Cost(4,10)} = Min{6+4;5+2} = 7 Cost(3,7) = Min{4+Cost(4,9); 3+Cost(4,10)} = Min{4+4;3+2} = 5 Cost(3,8) = Min{5+Cost(4,10); 6+Cost(4,11)} = Min(5+2;6+5} = 7 Cost(2,2) = Min{4+Cost(3,6);2+Cost(3,7);1+Cost(3,8)} = Min{4+7;2+5;1+7} = 7 Cost(2,3) = Min{2+Cost(3,6); 7+Cost(3,7)} = Min(2+7; 7+5) = 9 Cost(2,4) = Min{11+Cost(3,8)} = 18 Cost(2,5) = Min{11+Cost(3,7); 8+Cost(3,8)} = Min(11+5;8+7} = 15 Cost(1,1) = Min{9+Cost(2,2);7+Cost(2,3);3+Cost(2,4),2+Cost(2,5)} = Min{9+7;7+9;3+18;2+15} = 16 Jadi : Shorthest Path menjadi : Atau : Jika ada dua atau lebih shorthest path maka total biaya harus sama.

76 Shortest Path Pertama adalah :

77 Shortest Path Kedua adalah :

78 Struktur Data graf: representasi & algoritma-algoritma Masalah Pencarian Pohon Rentangan Minimum Definisi Pohon rentangan atau spanning tree dari suatu connected graph didefinisikan sebagai free-tree yang terbentuk dari subset sisi-sisi serta menghubungkan setiap verteks dalam graph tersebut. Pohon rentangan Minimum (MST) adalah pohon rentangan dengan total bobot dari sisisisinya adalah minimal. Dalam penelusuran vertex tidak diperkenankan terbentuk siklus (cycle) Diketahui sebuah graph tak berarah dan tak berbobot sebagai berikut :

79 Kemungkinan Spanning Tree :

80 Bila jalur (edge) mempunyai biaya (cost) maka yang dicari adalah minimum cost spanning tree. Dua algoritma populer untuk menentukan minimum spanning tree (MST) : a. Kruskal Algorithm b. Prim s Algorithm Algoritma Kruskal : Algoritma ini lebih sederhana jika dilihat dari konsepnya namun lebih sulit dalam implementasinya. Idenya adalah mendapatkan satu demi satu sisi mulai dari yang berbobot terkecil untuk membentuk tree; suatu sisi walaupun berbobot kecil tidak akan diambil jika membentuk siklik dengan sisi yang sudah termasuk dalam tree. Yang menjadi masalah dalam implementasinya adalah keperluan adanya pemeriksaan kondisi siklik tersebut.

81 Salah satu pemecahaannya adalah dengan subsetting yaitu pembentukan subset-subset yang disjoint dan secara bertahap dilakukan penggabungan atas tiap dua subset yang berhubungan dengan suatu sisi dengan bobot terpendek. Algoritma lengkapnya: Tahap pertama, jika dalam V terdapat n verteks maka diinisialisasi n buah subset yang disjoint, masing-masing berisi satu verteks, sebagai subset-subset awal. Tahap berikutnya, urutkan sisi-sisi dengan bobot yang terkecil hingga terbesar. Mulai dari sisi dengan bobot terkecil hingga terbesar lakukan dalam iterasi: jika sisi tsb. menghubungkan dua verteks dalam satu subset (berarti membentuk siklik) maka skip sisi tersebut dan periksa sisi berikutnya jika tidak (berarti membentuk siklik) maka kedua subset dari verteks-verteks yang bersangkutan digabungkan menjadi satu subset yang lebih besar. Iterasi akan berlangsung hingga semua sisi terproses.

82 MST_KRUSKAL (G) { For setiap vertex v dalam V[G] Do } { set S(v) {v} } Inisialisasi priority queue Q yang berisi semua edge dari G, gunakan bobot sebagai keys. A { } // A berisi edge dari MST While A lebih kecil dari pada n-1 edge Do { set S(v) berisi v dan S(u) berisi u } IF S(v)!= S(u) Then { Tambahkan edge (u, v) ke A } Merge S(v) dan S(u) menjadi satu set Return A

83 The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. Contoh : Diktahui sebuah graph sebagai berikut : Step 1. Dalam graph, Edge(g, h) adalah terpendek. Setiap vertex g atau vertex h dapat menjadi representatif. Misal, pilih vertex g secara bebas : Step 2. edge (c, i) menciptakan dua tree. Pilih vertex c sebagai representasi untuk dua tree

84 The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. Step 3. Edge (g, g) adalah edge terpendek berikutnya. Tambahkan edge ini dan pilih vertex g sebagai representatif : Step 4. Edge (a, b) menciptakan tiga tree.

85 The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. Step 5. Tambahkan edge (c, f) dan merge dua tree. Vertex c terpilih sebagai representatif. Step 6. Edge (g, i) adalah yang paling minimum berikutnya, tetapi jika kita tambahkan edge ini, sebuah cycle akan tercipta. Vertex c adalah representasi dari keduanya. The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

86 The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. Step 7. Sebagai alternatif, tambahkan edge (c, d). Step 8. Jika kita tambahkan edge (h, i), maka edge(h, i) akan membuat sebuah cycle.

87 Step 9. Sebagai alternatif penambahan edge (h, i), tambahkan edge (a, h). The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

88 Step 10. Kembali, jika kita tambahkan edge (b, c), akan menciptakan sebuah cycle. Tambahkan edge (d, e) sebagai alternatif untuk menyempurnakan spanning tree. Dalam spanning tree ini, semua tree digabung dan vertex c adalah sebuah representatif tunggal. The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

89 Algoritma Prim Algoritma dimulai dari suatu verteks awal tertentu: bisa ditentukan oleh pemanggil atau dipilih sebarang oleh algoritma. Misalnya verteks awal tersebut adalah v. Pada setiap iterasi terdapat kondisi di mana himpunan verteks V terbagi dua dalam: W yaitu himpunan verteks yang sudah dievaluasi sebagai node di dalam pohon, serta (V-W) yaitu himpunan verteks yang belum dievaluasi. Di awal algoritma W diinisialisasi berisi verteks awal v. Selanjutnya, di dalam iterasinya: Pada setiap adjacency dari tiap verteks dalam W dengan verteks dalam (V-W) dicari sisi dengan panjang minimal. setelah diperoleh, sisi tersebut ditandai sebagai sisi yang membentuk tree dan verteks adjacent sisi tersebut dalam (V- W) dipindahkan ke W (menjadi anggota W). Jika sisi tersebut tidak ada maka proses selesai.

90 Dari contoh di atas misalnya dilakukan pencarian mulai dari verteks A (ingat tidak harus selalu dari verteks A!). Maka algoritma ini menghasilkan tahapan-tahapan iterasi pencarian sbb.: MST_PRIM (G, w, v) { Q V[G] } for setiap u dalam Q do key [r] 0 π[r] NIl while queue tidak kosong do { u EXTRACT_MIN (Q) } key [u] for setiap vertex v dalam Adj[u] do { if v ada dalam Q dan w(u, v) < key [v] then } { π[v] w(u, v) } key [v] w(u, v)

TUGAS KELOMPOK STRUKTUR DATA. (Yuniasyah) GRAPH

TUGAS KELOMPOK STRUKTUR DATA. (Yuniasyah) GRAPH TUGAS KELOMPOK STRUKTUR DATA (Yuniasyah) GRAPH Disusun oleh : Agung Juliansyah (1031123) Akbar Aswad (1031089) Nafisatul Hasanah (1031085) Indra Putra (1031095) Nurhadi Jumain Fantri (1031099) UNIVERSITAS

Lebih terperinci

ALGORITMA DAN STRUKTUR DATA

ALGORITMA DAN STRUKTUR DATA Modul ke: 10 Fitrianingsih Fakultas FASILKOM ALGORITMA DAN STRUKTUR DATA JENIS-JENIS TREE SKom., MMSI Program Studi Sistem Informasi JENIS-JENIS TREE Pohon (Tree) adalah graf terhubung yang tidak mengandung

Lebih terperinci

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf Nur Fajriah Rachmah - 0609 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jalan

Lebih terperinci

Algoritma dan Pemrograman Pendekatan Pemrograman Modular

Algoritma dan Pemrograman Pendekatan Pemrograman Modular PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO Algoritma dan Pemrograman Pendekatan Pemrograman Modular Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id Pendahuluan Teknik Pemrograman Penekanan

Lebih terperinci

METODE AVL TREE UNTUK PENYEIMBANGAN TINGGI BINARY TREE

METODE AVL TREE UNTUK PENYEIMBANGAN TINGGI BINARY TREE METODE AVL TREE UNTUK PENYEIMBANGAN TINGGI BINARY TREE Suwanty 1 Octara Pribadi 2 Program Studi Teknik Informatika 1,2 STMIK TIME 1,2 Jalan Merbabu No. 32 AA-BB Medan 1,2 e-mail : dharma_suwanty@gmail.com

Lebih terperinci

Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf

Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf Marvin Jerremy Budiman / 13515076 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus. 1 ARRAY & LINKED LIST MODUL 1 Standar kompetensi: 1. Mahasiswa mengetahui perbedaan array dan linked list. 2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus. 3. Mahasiswa

Lebih terperinci

IKI 20100: Struktur Data & Algoritma

IKI 20100: Struktur Data & Algoritma IKI : Struktur Data & Algoritma Graph Ruli Manurung & Ade Azurat ( Setiawan (acknowledgments: Denny, Suryana Fasilkom UI Ruli Manurung & Ade Azurat Fasilkom UI - IKI 7/8 Ganjil Minggu Materi Motivasi Definisi

Lebih terperinci

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II Pertemuan 13 Waktu : 135 menit Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Tree. Substansi Materi : Tree Tabulasi Kegiatan Perkuliahan No Tahap Kegiatan Kegiatan Pengajar

Lebih terperinci

MODUL PRAKTIKUM STRUKTUR DATA

MODUL PRAKTIKUM STRUKTUR DATA MODUL PRAKTIKUM STRUKTUR DATA TREE (POHON) Oleh : SUPRAPTO, S.Kom PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PGRI RONGGOLAWE (UNIROW) TUBAN 2012/2013 MODUL V TREE (POHON) 5.1. TREE (POHON)

Lebih terperinci

Termilogi Pada Pohon Berakar 10 Pohon Berakar Terurut

Termilogi Pada Pohon Berakar 10 Pohon Berakar Terurut KATA PENGANTAR Puji syukur penyusun panjatkan ke hadirat Allah Subhanahu wata?ala, karena berkat rahmat-nya kami bisa menyelesaikan makalah yang berjudul Catatan Seorang Kuli Panggul. Makalah ini diajukan

Lebih terperinci

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013 Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013 Pohon (Tree) Pohon (Tree) didefinisikan sebagai graf terhubung yang tidak mengandung sirkuit. Karena merupakan graf terhubung, maka pohon selalu

Lebih terperinci

FAKULTAS TEKNOLOGI KOMUNIKASI DAN INFORMATIKA UNIVERSITAS NASIONAL

FAKULTAS TEKNOLOGI KOMUNIKASI DAN INFORMATIKA UNIVERSITAS NASIONAL FAKULTAS TEKNOLOGI KOMUNIKASI DAN INFORMATIKA UNIVERSITAS NASIONAL RENCANA PEMBELAJARAN MATA KULIAH : Konsep Struktur Data dan Algoritma SEM: Genap KODE: 08030221 SKS: 2 JURUSAN : Teknik Informatika DOSEN:

Lebih terperinci

A B C E F G K Contoh Tree

A B C E F G K Contoh Tree Tree TREE Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hierarkis (hubungan one to many) antara elemen-elemen. Tree biasa didefinisikan sebagai kumpulan

Lebih terperinci

STRUKTUR POHON (TREE) Pohon atau Tree adalah salah satu bentuk Graph terhubung yang tidak mengandung sirkuit.

STRUKTUR POHON (TREE) Pohon atau Tree adalah salah satu bentuk Graph terhubung yang tidak mengandung sirkuit. Pertemuan 9 STRUKTUR POHON (TREE) ISTILAH-ISTILAH DASAR Pohon atau Tree adalah salah satu bentuk Graph terhubung yang tidak mengandung sirkuit. Karena merupakan Graph terhubung, maka pada Pohon (Tree)

Lebih terperinci

Pohon dan Pohon Biner

Pohon dan Pohon Biner Pertemuan 14 Pohon dan Pohon Biner P r a j a n t o W a h y u A d i prajanto@dsn.dinus.ac.id +6285 641 73 00 22 Rencana Kegiatan Perkuliahan Semester # Pokok Bahasan 1 Pengenalan Struktur Data 2 ADT Stack

Lebih terperinci

B C D E F G H I J K L M N O P Q R S T. Tinaliah, S.Kom POHON BINER

B C D E F G H I J K L M N O P Q R S T. Tinaliah, S.Kom POHON BINER A B C D E F G H I J K L M N O P Q R S T U V W X Y Z POHON BINER Tinaliah, S.Kom DEFINISI Pohon (dalam struktur data) struktur berisi sekumpulan elemen dimana salah satu elemen adalah akar (root) dan elemen-elemen

Lebih terperinci

Pemrograman Algoritma Dan Struktur Data

Pemrograman Algoritma Dan Struktur Data MODUL PERKULIAHAN Modul ke: 14Fakultas Agus FASILKOM Pemrograman Algoritma Dan Struktur Data ADT BINARY TREE Hamdi.S.Kom,MMSI Program Studi Teknik Informatika ISTILAH-ISTILAH DASAR Pohon atau Tree adalah

Lebih terperinci

STRUKTUR POHON (TREE) Pohon atau Tree adalah salah satu bentuk Graph terhubung yang tidak mengandung sirkuit.

STRUKTUR POHON (TREE) Pohon atau Tree adalah salah satu bentuk Graph terhubung yang tidak mengandung sirkuit. Pertemuan 9 STRUKTUR POHON (TREE) ISTILAH-ISTILAH DASAR Pohon atau Tree adalah salah satu bentuk Graph terhubung yang tidak mengandung sirkuit. Karena merupakan Graph terhubung, maka pada Pohon (Tree)

Lebih terperinci

DEFINISI. Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon 2

DEFINISI. Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon 2 1 POHON DEFINISI Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit a b a b a b a b c d c d c d c d e f e f e f e f pohon pohon bukan pohon bukan pohon 2 Hutan (forest) adalah - kumpulan

Lebih terperinci

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf Rahadian Dimas Prayudha - 13509009 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

TREE STRUCTURE (Struktur Pohon)

TREE STRUCTURE (Struktur Pohon) TREE STRUCTURE (Struktur Pohon) Dalam ilmu komputer, tree adalah sebuah struktur data yang secara bentuk menyerupai sebuah pohon, yang terdiri dari serangkaian node (simpul) yang saling berhubungan. Node-node

Lebih terperinci

Organisasi Berkas Sekuensial Berindeks

Organisasi Berkas Sekuensial Berindeks Organisasi Berkas Sekuensial Berindeks Definisi Organisasi Berkas ini mirip dengan Organisasi Berkas Sekuensial dimana setiap rekaman disusun secara beruntun di dalam file, hanya saja ada tambahan indeks

Lebih terperinci

Lecture Notes On Algorithms and Data Structures. Oleh Thompson Susabda Ngoen

Lecture Notes On Algorithms and Data Structures. Oleh Thompson Susabda Ngoen Lecture Notes On Algorithms and Data Structures AVL TREE Oleh Thompson Susabda Ngoen Universitas Bina Nusantara Fakultas Ilmu Komputer 2003 Thompson S.N. AVL TREE 1 AVL TREE Binary Search Tree BST dibuat

Lebih terperinci

Tree (Struktur Data) Nisa ul Hafidhoh, MT

Tree (Struktur Data) Nisa ul Hafidhoh, MT Tree (Struktur Data) Nisa ul Hafidhoh, MT Struktur Data Linier 1 5 8 9 2 ARRAY 0 1 2 3 n Head Tail QUEUE O U T 1 2 3 4 STACK 4 3 2 1 I N 10 8 14 LINKED LIST Struktur Tree Struktur Tree adalah struktur

Lebih terperinci

Pertemuan 9 STRUKTUR POHON & KUNJUNGAN POHON BINER

Pertemuan 9 STRUKTUR POHON & KUNJUNGAN POHON BINER Pertemuan 9 STRUKTUR POHON & KUNJUNGAN POHON BINER DEFINISI POHON (TREE) Pohon (Tree) termasuk struktur non linear yang didefinisikan sebagai data yang terorganisir dari suatu item informasi cabang yang

Lebih terperinci

Studi Algoritma Optimasi dalam Graf Berbobot

Studi Algoritma Optimasi dalam Graf Berbobot Studi Algoritma Optimasi dalam Graf Berbobot Vandy Putrandika NIM : 13505001 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : if15001@students.if.itb.ac.id

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI.. Definisi Graf Secara matematis, graf G didefinisikan sebagai pasangan himpunan (V,E) ditulis dengan notasi G = (V, E), yang dalam hal ini: V = himpunan tidak-kosong dari simpul-simpul

Lebih terperinci

Pohon. Bahan Kuliah IF2120 Matematika Diskrit. Program Studi Teknik Informatika ITB. Rinaldi M/IF2120 Matdis 1

Pohon. Bahan Kuliah IF2120 Matematika Diskrit. Program Studi Teknik Informatika ITB. Rinaldi M/IF2120 Matdis 1 Pohon Bahan Kuliah IF2120 Matematika Diskrit Program Studi Teknik Informatika ITB Rinaldi M/IF2120 Matdis 1 Definisi Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit a b a b a b a

Lebih terperinci

Binary Tree kosong Gambar 1. Binary Tree dalam kondisi kosong

Binary Tree kosong Gambar 1. Binary Tree dalam kondisi kosong PRAKTIKUM 25-26 BINARY TREEDAN TRAVERSAL BINARY TREE A. TUJUAN Mahasiswa diharapkan mampu : 1. Memahami konsep dari BinaryTree dantraversalbinary Tree 2. Memahami proses traversal pada Binary Tree 3. Memahami

Lebih terperinci

8/29/2014. Kode MK/ Nama MK. Matematika Diskrit 2 8/29/2014

8/29/2014. Kode MK/ Nama MK. Matematika Diskrit 2 8/29/2014 Kode MK/ Nama MK Matematika Diskrit 1 8/29/2014 2 8/29/2014 1 Cakupan Himpunan, Relasi dan fungsi Kombinatorial Teori graf Pohon (Tree) dan pewarnaan graf 3 8/29/2014 POHON DAN PEWARNAAN GRAF Tujuan Mahasiswa

Lebih terperinci

Pohon (TREE) Matematika Deskrit. Hasanuddin Sirait, MT 1

Pohon (TREE) Matematika Deskrit. Hasanuddin Sirait, MT 1 Pohon (TREE) Matematika Deskrit By @Ir. Hasanuddin Sirait, MT 1 Definisi Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit a b a b a b a b c d c d c d c d e f e f e f e f pohon pohon

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1 Graf (Graph) Graf G didefinisikan sebagai pasangan himpunan (V, E) yang dinotasikan dalam bentuk G = {V(G), E(G)}, dimana V(G) adalah himpunan vertex (simpul) yang tidak kosong

Lebih terperinci

Matematika Diskret (Pohon) Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

Matematika Diskret (Pohon) Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs. Matematika Diskret (Pohon) Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs. Definisi Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit a b a b a b a b c d c d c d c d e f e f e f e f pohon

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Konsep Dasar Graf Definisi 2.1.1 Sebuah graf didefinisikan sebagai pasangan terurut himpunan dimana: 1. adalah sebuah himpunan tidak kosong yang berhingga yang anggotaanggotanya

Lebih terperinci

STRUKTUR POHON & KUNJUNGAN POHON BINER

STRUKTUR POHON & KUNJUNGAN POHON BINER STRUKTUR POHON & KUNJUNGAN POHON BINER Pohon (Tree) termasuk struktur non linear yang didefinisikan sebagai data yang terorganisir dari suatu item informasi cabang yang saling terkait Istilah istilah Dalam

Lebih terperinci

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum Gerard Edwin Theodorus - 13507079 Jurusan Teknik Informatika ITB, Bandung, email: if17079@students.if.itb.ac.id Abstract Makalah ini

Lebih terperinci

Algoritma dan Struktur Data. Binary Tree & Binary Search Tree (BST)

Algoritma dan Struktur Data. Binary Tree & Binary Search Tree (BST) Algoritma dan Struktur Data Binary Tree & Binary Search Tree (BST) Teknik Informatika Universitas Muhammadiyah Malang 2016 Outline Tree Binary tree Istilah pada tree Operasi dasar binary tree BST Definisi

Lebih terperinci

BAB XI Manipulasi Binary Tree

BAB XI Manipulasi Binary Tree www.hansmichael.com - Bab XI. Manipulasi Binary Tree BAB XI Manipulasi Binary Tree 11.1 Insert Node 11.2 Search Node 11.3 Delete Node 11.4 Copy Tree 11.5 Latihan Soal Binary tree seringkali diterapkan

Lebih terperinci

6. TREE / BINARY TREE

6. TREE / BINARY TREE 6. TREE / BINARY TREE TUJUAN PRAKTIKUM 1. Praktikan mengenal Struktur data Tree. 2. Praktikan mengenal jenis-jenis tree, seperti binary tree. 3. Praktikan mengenal istilah-istilah yang terdapat didalam

Lebih terperinci

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF Anthony Rahmat Sunaryo NIM: 3506009 Jurusan Teknik Informatika ITB, Bandung email : if6009@students.if.itb.ac.id Abstract -- Makalah ini membahas tentang analsis

Lebih terperinci

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum Arieza Nadya -- 13512017 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Definisi. Pohon adalah graf tak-berarah, terhubung, dan tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon (ada sikuit) (tdk terhubung)

Definisi. Pohon adalah graf tak-berarah, terhubung, dan tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon (ada sikuit) (tdk terhubung) POHON (TREE) Pohon Definisi Pohon adalah graf tak-berarah, terhubung, dan tidak mengandung sirkuit a b a b a b a b c d c d c d c d e f e f e f e f pohon pohon bukan pohon bukan pohon (ada sikuit) (tdk

Lebih terperinci

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016 NASKAH UJIAN UTAMA MATA UJIAN : LOGIKA DAN ALGORITMA JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016 NASKAH UJIAN INI TERDIRI DARI 80 SOAL PILIHAN GANDA

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Teori Graf 2.1.1 Defenisi Graf Suatu graf G adalah suatu himpunan berhingga tak kosong dari objek-objek yang disebut verteks (titik/simpul) dengan suatu himpunan yang anggotanya

Lebih terperinci

Syarif Abdullah (G )

Syarif Abdullah (G ) Trees, Binary Trees dan Binary Search Trees Syarif Abdullah (G551150381) Matematika Terapan Departemen Matematika FMIPA IPB e-mail: syarif abdullah@apps.ipb.ac.id & arjunaganteng71@gmail.com 17 Januari

Lebih terperinci

Soal Pendahuluan Modul 3

Soal Pendahuluan Modul 3 1. Apa yang dimaksud dengan tree? PENGERTIAN TREE Kumpulan node yang saling terhubung satu sama lain dalam suatu kesatuan yang membentuk layakya struktur sebuah pohon. Struktur pohon adalah suatu cara

Lebih terperinci

Pelacakan dan Penentuan Jarak Terpendek terhadap Objek dengan BFS (Breadth First Search) dan Branch and Bound

Pelacakan dan Penentuan Jarak Terpendek terhadap Objek dengan BFS (Breadth First Search) dan Branch and Bound Pelacakan dan Penentuan Jarak Terpendek terhadap Objek dengan BFS (Breadth First Search) dan Branch and Bound Mico (13515126) Teknik Informatika Sekolah Teknik Elektro dan Informatika ITB Jl. Ganesha 10,

Lebih terperinci

Denny Setyo R. Masden18.wordpress.com

Denny Setyo R. Masden18.wordpress.com Denny Setyo R. masden18@gmail.com Masden18.wordpress.com Graph adalah kumpulan dari simpul dan busur yang secara matematis dinyatakan sebagai : Dimana G = (V, E) G = Graph V = Simpul atau Vertex, atau

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1. Konsep Dasar Graph Sebelum sampai pada pendefenisian masalah lintasan terpendek, terlebih dahulu pada bagian ini akan diuraikan mengenai konsep-konsep dasar dari model graph dan

Lebih terperinci

Penerapan Pohon Dalam Heap Sort

Penerapan Pohon Dalam Heap Sort enerapan ohon Dalam Sort Firdi Mulia Jurusan Teknik Informatika ITB, Bandung, email: if17045@students.if.itb.ac.id Abstract Makalah ini membahas tentang penerapan pohon heap dalam metode pengurutan data

Lebih terperinci

Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra

Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra Adriansyah Ekaputra 13503021 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung Abstraksi Makalah

Lebih terperinci

LANDASAN TEORI. Bab Konsep Dasar Graf. Definisi Graf

LANDASAN TEORI. Bab Konsep Dasar Graf. Definisi Graf Bab 2 LANDASAN TEORI 2.1. Konsep Dasar Graf Definisi Graf Suatu graf G terdiri atas himpunan yang tidak kosong dari elemen elemen yang disebut titik atau simpul (vertex), dan suatu daftar pasangan vertex

Lebih terperinci

CRITICAL PATH. Menggunakan Graph berbobot dan mempunya arah dari Critical Path: simpul asal : 1 simpul tujuan : 5. Graph G. Alternatif

CRITICAL PATH. Menggunakan Graph berbobot dan mempunya arah dari Critical Path: simpul asal : 1 simpul tujuan : 5. Graph G. Alternatif CRITICAL PATH Menggunakan Graph berbobot dan mempunya arah dari Critical Path: simpul asal : 1 simpul tujuan : 5 Graph G Path Bobot Alternatif 1 4 5 16 1 2 5 15 1 2 3 5 24 1 4 3 5 19 1 2 3 4 5 29 1 4 3

Lebih terperinci

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni Kecerdasan Buatan Pertemuan 02 Penyelesaian Masalah dengan Pencarian... Husni Lunix96@gmail.com http://komputasi.wordpress.com S1 Teknik Informatika, STMIK AMIKOM, 2013 Outline Konsep Pencarian Pencarian

Lebih terperinci

Buku Ajar Struktur Data

Buku Ajar Struktur Data B a g i a n 5 Tujuan Instruksional Khusus Pokok Bahasan Mahasiswa mampu menjelaskan struktur data nonlinier Tree. Mahasiswa mampu memahami operasi pada struktur data Tree Struktur data Tree secara umum.

Lebih terperinci

Definisi. Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon

Definisi. Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon 1 Definisi Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit a b a b a b a b c d c d c d c d e f e f e f e f pohon pohon bukan pohon bukan pohon 2 Hutan (forest) adalah - kumpulan pohon

Lebih terperinci

IT234 Algoritma dan Struktur Data. Tree

IT234 Algoritma dan Struktur Data. Tree IT234 Algoritma dan Struktur Data Tree Fakultas Teknologi Informasi Universitas Kristen Satya Wacana @2008 Tree Kumpulan node yang saling terhubung satu sama lain dalam suatu kesatuan yang membentuk layakya

Lebih terperinci

BAB IX TREE (POHON) ISTILAH DASAR

BAB IX TREE (POHON) ISTILAH DASAR Modul 9 Struktur Data (rie) - 1 IX TREE (POHON) Struktur pada tree (pohon) tidak linear seperti pada struktur linked list, stack, dan queue. Setiap node pada tree mempunyai tingkatan, yaitu orang tua (parent)

Lebih terperinci

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e.

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e. 1. Dalam menyusun suatu program, langkah pertama yang harus dilakukan adalah : a.membuat program b. Membuat Algoritma c. Membeli komputer d. Proses e. Mempelajari program 2. Sebuah prosedur langkah demi

Lebih terperinci

Solusi UTS Stima. Alternatif 1 strategi:

Solusi UTS Stima. Alternatif 1 strategi: Solusi UTS Stima 1. a. (Nilai 5) Representasikanlah gambar kota di atas menjadi sebuah graf, dengan simpul merepresentasikan rumah, dan bobot sisi merepresentasikan jumlah paving block yang dibutuhkan.

Lebih terperinci

BAB 7 POHON BINAR R S U

BAB 7 POHON BINAR R S U BAB 7 POHON BINAR Pohon (Tree) adalah graf terhubung yang tidak mengandung sirkuit. Karena merupakan graf terhubung maka pada pohon selalu terdapat path atau jalur yang menghubungkan kedua simpul di dalam

Lebih terperinci

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS STRUKTUR DATA By : Sri Rezeki Candra Nursari 2 SKS Literatur Sjukani Moh., (2007), Struktur Data (Algoritma & Struktur Data 2) dengan C, C++, Mitra Wacana Media Utami Ema. dkk, (2007), Struktur Data (Konsep

Lebih terperinci

SISTEM INFORMASI UNIVERSITAS GUNADARMA 2012/2013. Graf Berarah

SISTEM INFORMASI UNIVERSITAS GUNADARMA 2012/2013. Graf Berarah SISTEM INFORMASI UNIVERSITAS GUNADARMA 2012/2013 Graf Berarah Graf Berarah Suatu graf berarah (Direct Graf/Digraf) D terdiri atas 2 himpunan : 1. Himpunan V, anggotanya disebut Simpul. 2. Himpunan A, merupakan

Lebih terperinci

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem Arie Tando (13510018) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Tree (Pohon)

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Tree (Pohon) Kode MK/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Tree (Pohon) 1 8/25/2015 Pendahuluan Dalam bab ini kita akan khusus membahas mengenai binary tree Pembahasan tentang tree

Lebih terperinci

Aplikasi Teori Graf dalam Manajemen Sistem Basis Data Tersebar

Aplikasi Teori Graf dalam Manajemen Sistem Basis Data Tersebar Aplikasi Teori Graf dalam Manajemen Sistem Basis Data Tersebar Arifin Luthfi Putranto (13508050) Program Studi Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10, Bandung E-Mail: xenoposeidon@yahoo.com

Lebih terperinci

UNIVERSITAS GUNADARMA

UNIVERSITAS GUNADARMA UNIVERSITAS GUNADARMA SK No. 92 / Dikti / Kep /1996 Fakultas Ilmu Komputer, Teknologi Industri, Ekonomi,Teknik Sipil & Perencanaan, Psikologi, Sastra Program Diploma (D3) Manajemen Informatika, Teknik

Lebih terperinci

Algoritma Prim dengan Algoritma Greedy dalam Pohon Merentang Minimum

Algoritma Prim dengan Algoritma Greedy dalam Pohon Merentang Minimum Algoritma Prim dengan Algoritma Greedy dalam Pohon Merentang Minimum Made Mahendra Adyatman 13505015 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung

Lebih terperinci

Kode MK/ Pemrograman Terstruktur 2

Kode MK/ Pemrograman Terstruktur 2 Kode MK/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Graf 1 8/25/2015 Pendahuluan Dalam bab ini kita akan membahas struktur data graf Struktur data graf banyak digunakan sebagai

Lebih terperinci

BAB IV POHON. Diktat Algoritma dan Struktur Data 2

BAB IV POHON. Diktat Algoritma dan Struktur Data 2 iktat lgoritma dan Struktur ata 2 V POON efinisi Pohon Struktur pohon merupakan kumpulan elemen yang salah satu elemennya disebut akar dan sisa elemennya terpecah menjadi sejumlah himpunan yang saling

Lebih terperinci

Ujian Akhir Semester Ganjil 2013/2014

Ujian Akhir Semester Ganjil 2013/2014 Ujian Akhir Semester Ganjil 01/014 Kode/nama mata kuliah : Dosen koordinator : Waktu pengerjaan : Sifat ujian : AIF04 Desain & Analisis Algoritma Joanna Helga, M.Sc. 10 menit Open 4 halaman A4 (dikumpulkan

Lebih terperinci

BAB III KONSEP DASAR TEORI GRAF. Teori graf adalah salah satu cabang matematika yang terus berkembang

BAB III KONSEP DASAR TEORI GRAF. Teori graf adalah salah satu cabang matematika yang terus berkembang BAB III KONSEP DASAR TEORI GRAF Teori graf adalah salah satu cabang matematika yang terus berkembang dengan pesat. Teori ini sangat berguna untuk mengembangkan model-model terstruktur dalam berbagai keadaan.

Lebih terperinci

Pertemuan 11 GRAPH, MATRIK PENYAJIAN GRAPH

Pertemuan 11 GRAPH, MATRIK PENYAJIAN GRAPH Pertemuan 11 GRAPH, MATRIK PENYAJIAN GRAPH GRAPH Suatu Graph mengandung 2 himpunan, yaitu : 1. Himpunan V yang elemennya disebut simpul (Vertex atau Point atau Node atau Titik) 2. Himpunan E yang merupakan

Lebih terperinci

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian Kecerdasan Buatan Pertemuan 02 Penyelesaian Masalah dengan Pencarian Kelas 10-S1TI-03, 04, 05 Husni Lunix96@gmail.com http://komputasi.wordpress.com S1 Teknik Informatika, STMIK AMIKOM, 2012 Outline Pendahuluan

Lebih terperinci

TREE ALGORITMA & STRUKTUR DATA. Materi ASD Fakultas Teknik Elektro & Komputer UKSW (www.uksw.edu) Download Dari :

TREE ALGORITMA & STRUKTUR DATA. Materi ASD Fakultas Teknik Elektro & Komputer UKSW (www.uksw.edu) Download Dari : TREE ALGORITMA & STRUKTUR DATA Materi ASD Fakultas Teknik Elektro & Komputer UKSW (www.uksw.edu) Download Dari : http://ambonmemanggil.blogspot.com 1 TREE ISTILAH-ISTILAH DASAR: tree : kumpulan elemen

Lebih terperinci

Tujuan Instruksional

Tujuan Instruksional Pertemuan 4 P E N C A R I A N T A N P A I N F O R M A S I B F S D F S U N I F O R M S E A R C H I T E R A T I V E D E E P E N I N G B I D I R E C T I O N A L S E A R C H Tujuan Instruksional Mahasiswa

Lebih terperinci

Tree. Perhatikan pula contoh tree di bawah ini : Level. Level 2. Level 3. Level 4. Level 5

Tree. Perhatikan pula contoh tree di bawah ini : Level. Level 2. Level 3. Level 4. Level 5 TR (POHON) Tree/pohon merupakan struktur data yang tidak linear/non linear yang digunakan terutama untuk merepresentasikan hubungan data yang bersifat hierarkis antara elemenelemennya. efinisi tree : Kumpulan

Lebih terperinci

TERAPAN POHON BINER 1

TERAPAN POHON BINER 1 TERAPAN POHON BINER 1 Terapan pohon biner di dalam ilmu komputer sangat banyak, diantaranya : 1. Pohon ekspresi 2. Pohon keputusan 3. Kode Prefiks 4. Kode Huffman 5. Pohon pencarian biner 2 Pohon Ekspresi

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Graf 2.1.1 Definisi Graf Graf adalah pasangan himpunan (V, E), dan ditulis dengan notasi G = (V, E), V adalah himpunan tidak kosong dari verteks-verteks {v 1, v 2,, v n } yang

Lebih terperinci

x 6 x 5 x 3 x 2 x 4 V 3 x 1 V 1

x 6 x 5 x 3 x 2 x 4 V 3 x 1 V 1 . PENGANTAR TEORI GRAF Definisi : Secara umum merupakan kumpulan titik dan garis. NET terdiri atas : 1. Himpunan titik (tidak boleh kosong) 2. Himpunan garis (directed line) 3. Setiap directed line menentukan

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Konsep Dasar Teori Graph 2.1.1 Graph Tak Berarah dan Digraph Suatu Graph Tak Berarah (Undirected Graph) merupakan kumpulan dari titik yang disebut verteks dan segmen garis yang

Lebih terperinci

Minimum Spanning Trees algorithm

Minimum Spanning Trees algorithm Minimum Spanning Trees algorithm Algoritma Minimum Spanning Trees algoritma Kruskal and algoritma Prim. Kedua algoritma ini berbeda dalam metodologinya, tetapi keduanya mempunyai tujuan menemukan minimum

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Pengertian Algoritma Algoritma adalah teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan sitematis

Lebih terperinci

Algoritma dan Struktur Data. Click to edit Master subtitle style Konsep Tree

Algoritma dan Struktur Data. Click to edit Master subtitle style Konsep Tree Algoritma dan Struktur Data Click to edit Master subtitle style Konsep Tree Basic Tree Concepts Tree berisi himpunan node dan garis berarah yang disebut branch yang menghubungkan dua node. Banyaknya branch

Lebih terperinci

GRAF. V3 e5. V = {v 1, v 2, v 3, v 4 } E = {e 1, e 2, e 3, e 4, e 5 } E = {(v 1,v 2 ), (v 1,v 2 ), (v 1,v 3 ), (v 2,v 3 ), (v 3,v 3 )}

GRAF. V3 e5. V = {v 1, v 2, v 3, v 4 } E = {e 1, e 2, e 3, e 4, e 5 } E = {(v 1,v 2 ), (v 1,v 2 ), (v 1,v 3 ), (v 2,v 3 ), (v 3,v 3 )} GRAF Graf G(V,E) didefinisikan sebagai pasangan himpunan (V,E), dengan V adalah himpunan berhingga dan tidak kosong dari simpul-simpul (verteks atau node). Dan E adalah himpunan berhingga dari busur (vertices

Lebih terperinci

BINARY SEARCH TREE. TUJUAN UMUM Mahasiswa memahami binary search Tree

BINARY SEARCH TREE. TUJUAN UMUM Mahasiswa memahami binary search Tree BINARY SEARCH TREE TUJUAN UMUM Mahasiswa memahami binary search Tree Tujuan Khusus Bentuk Khusus Binary Tree Rekursive pada Binary Tree Tree Traversal Operasi pada Binary Tree Implementasi Binary Tree

Lebih terperinci

Bagaimana merepresentasikan struktur berikut? A E

Bagaimana merepresentasikan struktur berikut? A E Bagaimana merepresentasikan struktur berikut? B D A E F C G Bagaimana merepresentasikan struktur berikut? Contoh-contoh aplikasi graf Peta (jaringan jalan dan hubungan antar kota) Jaringan komputer Jaringan

Lebih terperinci

Mata Kuliah : Struktur Data Semester : Genap Kode Mata Kuliah : 307 Waktu : 180 Menit Bobot : 4 sks. Jurusan : MI

Mata Kuliah : Struktur Data Semester : Genap Kode Mata Kuliah : 307 Waktu : 180 Menit Bobot : 4 sks. Jurusan : MI 1 Memberi pengetahuan Diharapkan mahasiswa dapat Data & Struktur Data 1. Pengertian Struktur Data Buku 1 1. Ceramah 1. LCD Latihan Tentang konsep dasar membedakan jenis tipe data 2. Tipe data sederhana

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI Pada bab ini akan diuraikan mengenai teori dan terminologi graph, yaitu bentukbentuk khusus suatu graph dan juga akan diuraikan penjelasan mengenai shortest path. 2.1 Konsep Dasar

Lebih terperinci

KUM 6 IMPLEMENTASI BINARY TREE

KUM 6 IMPLEMENTASI BINARY TREE PRAKTIKUM KUM 6 IMPLEMENTASI BINARY TREE TUJUAN PEMBELAJARAN: 1. Mengimplementasikan struktur data Binary Tree menggunakan linked list. 2. Mampu mengimplementasikan beragam operasi pada struktur data binary

Lebih terperinci

ALGORITMA PENCARIAN (1)

ALGORITMA PENCARIAN (1) ALGORITMA PENCARIAN (1) Permasalahan, Ruang Keadaan, Pencarian Farah Zakiyah Rahmanti Diperbarui 2016 Overview Deskripsi Permasalahan dalam Kecerdasan Buatan Definisi Permasalahan Pencarian Breadth First

Lebih terperinci

(Binary) Heap. Binary tree yang menyimpan pasangan prioritas (atau prioritas elemen) pada node Property Heap :

(Binary) Heap. Binary tree yang menyimpan pasangan prioritas (atau prioritas elemen) pada node Property Heap : heap wijanarto (Binary) Heap Binary tree yang menyimpan pasangan prioritas (atau prioritas elemen) pada node Property Heap : Struktural Semua level kecuali yang terakhir berisi penuh, level terakhir boleh

Lebih terperinci

Ringkasan mengenai Tree (Dari beberapa referensi lain) Nina Valentika

Ringkasan mengenai Tree (Dari beberapa referensi lain) Nina Valentika Ringkasan mengenai Tree (Dari beberapa referensi lain) Nina Valentika December 31, 2015 0.1 Pendahuluan Figure 1: Contoh Tree. Tree/pohon merupakan struktur data yang tidak linear/non linear yang digunakan

Lebih terperinci

Struktur dan Organisasi Data 2 POHON BINAR

Struktur dan Organisasi Data 2 POHON BINAR POHON BINR Pohon (Tree) adalah graf terhubung yang tidak mengandung sirkuit. Karena merupakan graf terhubung maka pada pohon selalu terdapat path atau jalur yang menghubungkan kedua simpul di dalam pohon.

Lebih terperinci

Pertemuan 15 REVIEW & QUIS

Pertemuan 15 REVIEW & QUIS Pertemuan 15 REVIEW & QUIS 1. Simpul Khusus pada pohon yang memiliki derajat keluar >= 0, dan derajat masuk = 0, adalah. a. Node / simpul d. edge / ruas b. Root / akar e. level c. Leaf / daun 2. Jika suatu

Lebih terperinci

Struktur Data & Algoritma

Struktur Data & Algoritma Struktur Data & Algoritma ADT Tree Suryana Setiawan, Ruli Manurung & Ade Azurat ( Denny (acknowledgments: Fasilkom UI SUR HMM AA Fasilkom UI - IKI20100/IKI80110P 2009/2010 Ganjil Pekan 08 1 Tujuan Memahami

Lebih terperinci

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS STRUKTUR DATA By : Sri Rezeki Candra Nursari 2 SKS Literatur Sjukani Moh., (2007), Struktur Data (Algoritma & Struktur Data 2) dengan C, C++, Mitra Wacana Media Utami Ema. dkk, (2007), Struktur Data (Konsep

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Teori Graf 2.1.1 Defenisi Graf Graf G didefenisikan sebagai pasangan himpunan (V,E), ditulis dengan notasi G = (V,E), yang dalam hal ini V adalah himpunan tidak kosong dari simpul-simpul

Lebih terperinci

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS STRUKTUR DATA By : Sri Rezeki Candra Nursari 2 SKS Literatur Sjukani Moh., (2007), Struktur Data (Algoritma & Struktur Data 2) dengan C, C++, Mitra Wacana Media Utami Ema. dkk, (2007), Struktur Data (Konsep

Lebih terperinci