Perbandingan Algoritma Penelusuran Depth First Search dan Breadth First Search pada Graf serta Aplikasinya
|
|
- Glenna Susanto
- 7 tahun lalu
- Tontonan:
Transkripsi
1 Perbandingan Algoritma Penelusuran Depth First Search dan Breadth First Search pada Graf serta Aplikasinya Hafid Inggiantowi Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung, Bandung, if17094@students.if.itb.ac.id Abstrak Dalam matematika dan sains komputer, teori graf adalah studi graf, dimana graf adalah struktur matematika yang digunakan untuk memodelkan hubungan antara objek-objek. Graf dalam cakupan ini adalah sekumpulan simpul dan sekumpulan sisi yang menghubungkannya. Dalam hubungannya dengan aplikasi graf, terdapat suatu algoritma yang dapat menelusuri dan mencari pada graf. Makalah ini membahas metode penelusuran pada graf, yaitu Depth First Search dan Breadth First Search, serta menjelaskan perbandingannya. Depth First Search merupakan metode penelusuran graf dengan cara memprioritaskan kedalaman terlebih dahulu, sedangkan Breadth First Search mencari dengan memulai dari simpul akar dan menelusuri semua tetangga dari simpul tersebut. Setelah membandingkan kedua algoritma tersebut, dapat kita lihat bahwa algoritma ini juga memiliki banyak aplikasi dan banyak digunakan dalam masalahmasalah yang berhubungan dengan graf. Kata Kunci: graf, pohon, Depth First Search, Breadth First Search, algoritma penelusuran pada graf, perbandingan Depth First Search dan Breadth First Search, aplikasi Depth First Search dan Breadth First Search. 1. PENDAHULUAN Teori graf merupakan pokok bahasan yang sudah tua usianya namun memiliki banyak terapan sampai saat ini. Menurut catatan sejarah, masalah jembatan Königsberg adalah masalah yang pertama kali menggunakan graf, dimana permasalahan jembatan Königsberg tersebut menuntut suatu pemodelan dalam suatu graf. Suatu graf direpresentasi secara grafik dengan menggambar titik untuk setiap simpul, dan menggambar garis antara dua simpul apabila mereka dihubungkan oleh suatu sisi. Graf tentunya memiliki banyak jenis. Suatu graf khusus yang disebut pohon juga merupakan salah satu contoh jenis dari graf. Dengan struktur data apapun, algoritma umum yang akan ditulis untuk pertama kali adalah suatu algorima yang menelusuri struktur datanya, atau istilah lainnya, algoritma traversal. Untuk graf, terdapat dua metode standar traversal untuk menelusuri graf itu sendiri, yaitu Depth First Search dan Breadth First Search. Dan nampaknya, dua traversal ini, umumnya Depth First Search lebih banyak, dapat dimanfaatkan dan digunakan untuk menyelesaikan variasi masalah pada graf ketika menelusuri graf itu sendiri. 2. TEORI GRAF Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut. 2.1 Sejarah Graf Masalah jembatan Königsberg adalah masalah yang pertama kali menggunakan graf. Gambar 2.1 : Jembatan Königsberg Tujuh buah jembatan menghubungkan daratan yang dibelah oleh sungai Pregal, di kota Königsberg (lihat gambar 2.1). Masalah jembatan Königsberg yang tidak dapat dijelaskan jawabannya adalah persoalan mengenai ketidakmungkinan untuk melalui ketujuh buah jembatan itu masing-masing tepat satu kali, dan kembali lagi ke tempat semula. Tidak ada yang dapat menjelaskannya kecuali dengan cara coba-coba sampai ketika pada tahun 1736, seorang matematikawan Swiss L.Euler memodelkan masalah ini pada suatu graf (lihat gambar 2.2). A C B Gambar 2.2 : Model graf Jembatan Königsberg Menurut Euler, orang tidak mungkin melalui ketujuh jembatan itu masing-masing satu kali dan kembali lagi ke tempat asal keberangkatan jika derajat setiap simpul tidak seluruhnya genap. Derajat disini adalah banyaknya garis yang bersisian dengan noktah (titik). D 1
2 2.2 Definisi Graf Secara matematis, graf didefinisikan sebagai berikut : Graf G didefinisikan sebagai pasangan himpunan (V,E) yang dalam hal ini : V = himpunan tidak kosong dari simpul-simpul (vertices atau node) = {v 1, v 2,, v n dan E = himpunan sisi (edges atau arcs) yang menghubungkan sepasang simpul = { e 1, e 2,, e n Sebuah graf dimungkinkan tidak mempunyai sisi satu buah pun, tetapi minimal simpulnya harus ada satu. Oleh karena itu, V tidak boleh kosong, sedangkan E boleh kosong Terhubung (Connected) Graf disebut terhubung apabila ada lintasan antara tiap pasang simpul. Komponen terhubung graf G adalah subgraf dari G terhubung maksimal. Gambar 2.6 : Graf terhubung 2. 5 Definisi Pohon Terdapat suatu graf khusus yang disebut sebagai pohon (tree). Definisi pohon adalah sebagai berikut Pohon adalah graf tak berarah terhubung yang tidak mengandung sirkuit Gambar 2.3 : Contoh suatu graf 2.3 Jenis- Jenis Graf Graf tentunya memiliki banyak sekali jenis. Graf dapat dikelompokkan menjadi beberapa kategori sesuai sudut pandang pengelompokannya. Apabila berdasarkan orientasi arah pada sisi, secara umum graf dibedakan atas dua jenis : 1. Graf tak berarah Graf yang sisinya tidak mempunyai orientasi arah 2. Graf berarah Graf yang setiap sisinya diberikan orientasi arah. 2.4 Definisi-Definisi Penting pada Graf Subgraf (Subgraph) Subgraf atau upagraf S dari graf G adalah graf yang bersifat : Simpul S adalah subset simpul dari G Sisi S adalah subset sisi dari G. Gambar 2.4 : Subgraf Subgraf merentang G (spanning subgraf) adalah subgraf yang berisi semua simpul dari G. Gambar 2.7 : Contoh suatu pohon, dengan 6 simpul & 5 sisi Pohon adalah graf tak berarah G yang memiliki kondisi-kondisi sebagai berikut : G terhubung dan tidak mengandung sirkuit (cycle) G tidak memiliki sirkuit, dan sirkuit akan terbentuk jika ada penambahan sisi G terhubung, dan dan tidak akan terhubung lagi bila ada sisi yang dihapus dari G G terhubung dan tidak mengandung graf lengkap 3-sisi K 3 Dua simpul apapun pada G dapat terhubung oleh lintasan unik sederhana. Jika G memiliki banyak simpul, berjumlah n, maka G terhubung dan memiliki n -1 sisi G tidak memiliki sirkuit dan memiliki n -1 sisi. Graf tak berarah G disebut hutan (forest) apabila ia tidak memiliki sirkuit sederhana. Komponen terhubung dari hutan adalah pohon. Gambar 2.5 : Subgraf merentang Gambar 2.8 : Pohon dan Hutan 2
3 Pohon merentang (spanning tree) dari graf terhubung adalah subgraf merentang yang merupakan pohon. Pohon merentang tidak unik, kecuali graf adalah pohon. Pohon merentang diaplikasikan dalam desain jaringan komunikasi. Pohon merentang dari graf adalah subgraf merentang yang merupakan hutan. Gambar 2.9 : Pohon merentang 3. TRAVERSAL GRAF Satu hal menarik pada teori graf adalah traversal graf. Banyak algoritma menarik pada graf yang didasarkan dari ide iterasi yang berjalan melewati simpul-simpul pada graf sesuai urutan yang berhubungan dengan struktur graf. Traversal DFS dari suatu graf G akan : o Mengunjungi semua simpul dan sisi dari G o Menentukan apakah G terhubung o Memperhitungkan komponen terhubung dari G o Memperhitungkan pohon merentang dari G DFS pada graf dengan n simpul dan m sisi membutuhkan waktu O(n + m ) DFS dapat lebih jauh diperluas untuk menyelesaikan masalah-masalah pada graf o Menemukan dan melaporkan lintasan antara dua simpul yang diberikan o Menemukan sirkuit pada graf Depth First Search untuk menggambar graf Euler ke pohon biner Berikut terdapat suatu pohon pencarian. Ada dua traversal graf yang fundamental, yang diketahui sebagai Breadth First Search dan Depth First Search. Breadth First Search (BFS) dan Depth First Search (DFS) adalah dua traversal berbeda yang berjalan mengunjungi simpul dan sisi pada graf. BFS bermula dari suatu akar dan akan mengunjungi simpul tujuan dengan urutan bergantung pada jarak mereka dari akar. Tentu akibatnya, simpul terdekat akan dikunjungi terlebih dahulu. Sedangkan, DFS lebih memilih untuk mengunjungi langsung, simpul yang belum ditemukan, sehingga pohon pencarian (search tree) hasil traversal akan lebih dalam, dibandingkan dengan BFS, yang akan lebih seimbang. DFS mengandung tiga lintasan Hamiltonian, satu di setiap komponen dan sebaliknya, pohon BFS, lebih jauh, memiliki simpul 3 derajat yang merefleksikan keseimbangan. 3.1 Depth First Search Depth first search (DFS) adalah algoritma umum traversal atau pencarian pada pohon, struktur pohon, atau graf. DFS adalah pencarian yang berjalan dengan meluaskan anak akar pertama dari pohon pencarian yang dipilih dan berjalan dalam dan lebih dalam lagi sampai simpul tujuan ditemukan, atau sampai menemukan simpul yang tidak punya anak. Kemudian, pencarian backtracking, akan kembali ke simpul yang belum selesai ditelusuri. Dalam implementasi nonrekursif, semua simpul yang diluaskan ditambahkan ke LIFO stack untuk penelusuran. Beberapa hal mengenai traversal DFS : Gambar 3.1 : Pohon pencarian (search tree) Pada graf yang kita miliki di atas (Gambar 3.1), hubungan antara lintasan tidak dua arah. Semua lintasan hanya berjalan dari atas ke bawah. Dengan kata lain, A memiliki lintasan ke B dan C, tapi B dan C tidak memiliki lintasan ke A. Jadi, secara umum bisa kita anggap seperti jalan satu arah (one way street). Setiap lingkaran yang berhuruf pada graf di atas adalah simpul. Setiap simpul dapat dihubungkan dengan simpul yang lain dengan sisi atau suatu lintasan, dan simpul yang langsung berhubungan dengan simpul disebut tetangga. B dan C adalah tetangga dari A. Kemudian, E dan D adalah tetangga dari B, dan B bukan tetangga dari D atau E karena B tidak bisa dicapai menggunakan D atau E. Berikut ini akan dijelaskan demonstrasi yang dapat membantu kita memahami cara kerja Depth First Search. Misalkan kita ingin mencari lintasan antara simpul A dan F pada graf yang telah kita punyai di atas (gambar 3.1). Depth First Search telah kita ketahui, bekerja dengan memilih suatu simpul, kemudian akan memeriksa tetangga-tetangganya, meluaskan dengan simpul pertama yang ditemui pada tetangga-tetangganya, kemudian memeriksa apakah simpul hasil perluasan adalah tujuannya atau bukan, dan jika bukan, akan 3
4 melanjutkan menelusuri simpul yang lebih banyak lagi. Langkah Awal: Dimulai dari simpul akar, atau simpul tujuan yang kita pilih, yaitu A Gambar 3.2: Langkah Awal Kita akan menggunakan dua list info untuk menyimpan langkah yang kita lakukan, yaitu Open dan Close. Open akan menyimpan langkah yang perlu kita lakukan, dan Close akan menyimpan langkah yang telah kita lakukan. Saat ini, kita hanya punya titik awal yang kita pilih, yaitu simpul A. Kita belum melakukan apapun ke simpul tersebut, sehingga sekarang kita tambahkan ke Open. Open : A Close : < kosong > Langkah 1 Sekarang, kita memeriksa tetangga- tetangga dari simpul A. Dengan kata lain, mengambil simpul awal dari Open kita dan kemudian menelusuri tetanggatetangganya. Gambar 3.3 :Langkah 1 Tetangga-tetangga dari simpul A adalah simpul B dan C. Karena sekarang kita telah selesai dengan simpul A, kita dapat menghapusnya dari Open dan menambahkannya ke Close. Kita belum selesai dengan langkah ini tentunya. Tambahkan dua simpul B dan C tadi ke Open. Sekarang, Open dan Close berisi data sebagai berikut : Open : B, C Close: A Langkah 2 Open kini berisi dua simpul. Untuk depth first search dan breadth first search, selalu kita telusuri simpul pertama dari Open. Simpul pertama pada open sekarang adalah simpul B. B bukan tujuan kita, sehingga kita telusuri tetangga-tetangganya. Gambar 3.4 : Langkah 2 Karena kini B telah diluaskan, kita dapat menghapusnya dari Open dan menambahkannya ke Close. Kini, simpul baru kita adalah D dan E, dan kita tambahkan simpul ini ke awal dari Open (menggantikan B yang telah dihapus). Open: D, E, C Close: A, B Langkah 3 : Kita akan melihat bahwa sebuah pola mulai terbentuk. Karena D ada di awal dari Open, maka kita meluaskannya. D bukan tujuan kita, dan tidak berisi satu pun tetangga. Selanjutnya, kita dapat menghapus D dari Open dan menambahkanya ke Close. Open: E, C Close: A, B, D Langkah 4: Sekarang kita meluaskan simpul E dari Open. E bukan tujuan kita, sehingga kita telusuri tetanggatetangganya dan menemukan bahwa ia memiliki tetangga F dan G. Karena F adalah tujuan kita, kita masih belum berhenti di sini tentunya. Di samping F berada pada lintasan kita, kita hanya akan berhenti begitu kita akan meluaskan simpul tujuan kita, dalam kasus ini yaitu F : Gambar 3.5 : Langkah 4 Kita akan menghapus simpul E dari Open dan menambahkan simpul F dan G ke dalamnya. Kemudian, simpul E ditambahkan ke Close: Open: F, G, C Close: A, B, D, E Langkah 5 Sekarang kita meluaskan simpul F. Karena F adalah tujuan kita, maka kita berhenti : Gambar 3.6 : Langkah 5 Kita menghapus F dari Open dan menambahkannya ke Close. Karena kita telah sampai di tujuan, maka tidak perlu lagi meluaskan F dan mencari tetangganya. Open dan Close akhir kita akan berisi data sebagai berikut : Open: G, C Close: A, B, D, E, F Lintasan akhir yang akan diambil oleh metode Depth First Search kita adalah nilai terakhir dari Close, yaitu : A, B, D, E, F. 3.2 Breadth First Search Dalam teori graf, breadth first search (BFS) juga merupakan teknik umum dalam traversal graf. Algoritma pencarian grafnya dimulai dari simpul akar 4
5 yang kemudian menelusuri semua simpul tetangganya. Kemudian, untuk setiap simpul yang terdekat itu, ditelusuri simpul tetangga yang belum diperiksa, dan demikian seterusnya, sampai ditemukan simpul tujuan. BFS adalah metode pencarian yang bertujuan memperluas dan memeriksa semua simpul pada graf. BFS merupakan kombinasi dari tiap urutan langkah yang secara sistematik mencari tiap solusi. Dengan kata lain, BFS secara penuh mencoba mencari pada keseluruhan graf dengan urutan langkah yang tidak memikirkan tujuan sampai akhirnya menemukan tujuan itu sendiri. BFS tidak menggunakan heuristik. Dari sudut algoritma, semua simpul anak yang didapat dengan memperluas simpul ditambahkan ke FIFO queue. Pada implementasi khasnya, simpul yang belum diperiksa tetangganya diletakkan pada suatu container ( misal queue atau list terhubung) yang disebut Open dan sekali lagi diperiksa dan diletakkan pada container Close. Beberapa hal mengenai traversal BFS : Traversal BFS dari suatu graf G akan : o Mengunjungi semua simpul dan sisi dari G o Menentukan apakah G terhubung o Memperhitungkan komponen terhubung dari G o Memperhitungkan pohon merentang dari G. DFS pada graf dengan n simpul dan m sisi membutuhkan waktu O(n + m ) DFS dapat lebih jauh diperluas untuk menyelesaikan masalah-masalah pada graf o Menemukan dan melaporkan lintasan dengan angka minimum dari sisi antara dua simpul yang diberikan o Menemukan sirkuit sederhana pada graf, jika ada. Metode Breadth first search hampir serupa dengan Depth first search. Pada Depth first search, simpul yang paling baru ditelusuri ditambahkan ke awal dari Open. Pada Breadth first search, simpul terbaru yang ditelusuri ditambahkan ke akhir dari Open. Berikut adalah demonstrasi yang dapat membantu kita memahami cara kerja Breadth First Search. Misalkan kita ingin mencari lintasan antara simpul A dan E pada pohon pencarian yang telah kita gunakan untuk demonstrasi depth first search di atas (gambar 3.1). Langkah Awal: Dimulai dari simpul akar, atau simpul tujuan yang kita pilih, yaitu A Gambar 3.7 : Langkah Awal Sama dengan sebelumnya, kita akan menggunakan dua list info untuk menyimpan langkah yang kita lakukan, yaitu Open dan Close. Sekarang, tambahkan A ke Open. Open : A Close : < kosong > Langkah 1 Sekarang, kita memeriksa tetangga- tetangga dari simpul A. Sampai sini, dengan sama, kita mengikuti langkah depth first. Gambar 3.8 : Langkah 1 Kita menghapus A dari Open dan menambahkannya ke Close. Tetangga A, simpul B dan C, ditambahkan ke Open. Kemudian, B dan C ditambahkan ke akhir dari Open. Open dan Close akan berisi data sebagai berikut. Open : B, C Close : A Langkah 2 Pada langkah inilah, mulai jauh terlihat berbeda dari metode depth first search yang telah kita lakukan. Kini, kita melihat pada simpul B karena muncul pertama kali pada Open. Karena B bukan tujuan kita, kita menelusuri tetangganya. Gambar 3.9 : Langkah 2 B kini dipindah ke Close, tapi tetangga dari B, simpul D dan E ditambahkan ke akhir dari Open. Open : C, D, E Close : A, B Langkah 3 Sekarang kita meluaskan simpul C : Gambar 3.10 : Langkah 3 Karena C tidak memiliki tetangga, yang kita lakukan adalah menghapus C dari Open dan maju lagi : Open : D, E Close : A, B, C Langkah 4 Serupa dengan langkah 3, kita meluaskan simpul D. Karena bukan tujuan kita, dan juga tidak memiliki tetangga, kita hapus D dari Open, lalu menambahkannya ke Close, dan lanjut lagi : 5
6 Open : E Close : A, B, C, D Langkah 5 Karena Open kita hanya memiliki satu simpul, kita tak punya pilihan selalin melihat pada simpul E. Karena E adalah tujuan kita, maka kita dapat berhenti di sini : Gambar 3.11 : Langkah 5 Open dan Close akhir kita akan berisi data sebagai berikut : Open: < kosong > Close: A, B, C, D, E Berjalan dari A ke E akan melalui lintasan B, C, dan D bila menggunakan breadth first search. 3.3 Algoritma Depth First Search dan Breadth First Search Pseudocode Depth First Search Algoritma Depth First Search secara pseudocode untuk apa yang telah kita lakukan pada demonstrasi depth first search di atas dapat dijelaskan sebagai berikut. i. Mendeklarasikan dua list kosong : Open dan Close ii. Menambahkan simpul awal ke Open iii. While <Open tidak kosong> do <lakukan loop sebagai berikut> a. Hapus simpul awal dari Open b. Cek dan lihat apakah simpul yang dihapus adalah tujuan kita i. if -- Jika simpul yang dihapus adalah tujuan kita, keluar dari loop, tambahkan simpul ke Close, dan kembali ke nilai dari Close kita. ii. else -- Jika simpul yang dihapus bukan tujuan kita, lanjutkan loop (ke Langkah C) c. Ekstrak tetangga dari simpul yang dihapus di atas d. Tambahkan tetangga ke awal dari Open, dan tambahkan simpul yang dihapus ke Close. Lanjutkan looping Pseudocode Breadth First Search Berdasarkan pada demonstrasi Breadth First Search yang telah kita lakukan, pseudocode untuk Breadth First Search serupa dengan pseudocode Depth First Search di atas, dan dapat dijelaskan sebagai berikut. i. Mendeklarasikan dua list kosong : Open dan Close ii. Menambahkan simpul awal ke Open iii. While <Open tidak kosong> do <lakukan loop sebagai berikut> a. Hapus simpul awal dari Open b. Cek dan lihat apakah simpul yang dihapus adalah tujuan kita i. if -- Jika simpul yang dihapus adalah tujuan kita, keluar dari loop, tambahkan simpul ke Close, dan kembali ke nilai dari Close kita. ii. else -- Jika simpul yang dihapus bukan tujuan kita, lanjutkan loop (ke Langkah C) c. Ekstrak tetangga dari simpul yang dihapus di atas d. Tambahkan tetangga ke akhir dari Open, dan tambahkan simpul yang dihapus ke Close Sintaks Flash Depth First Search (AS) Berikut adalah konversi pseudocode Depth First Search yang telah dijelaskan ke Action Script menggunakan metode dari ADT Graf : searchmethod = function () { var origin:node = nodeorigin; var destination:node = nodedestination; // Creating our Open and Closed Lists var closedlist:array = new Array(); var openlist:array = new Array(); // Adding our starting point to Open List openlist.push(origin); ; // Loop while openlist contains some data. while (openlist.length!= 0) { // Loop while openlist contains some data. var n:node = Node(openList.shift()); // Check if node is Destination if (n == destination) { closedlist.push(destination); trace("closed!"); break; // Store n's neighbors in array var neighbors:array = n.getneighbors(); var nlength:number = neighbors.length; // Add each neighbor to the beginning of our openlist for (i=0; i< nlength; i++) { openlist.unshift(neighbors[nlength - i - 1]); // Add current node to closedlist closedlist.push(n); Sintaks Flash Breadth First Search (AS) Dan berikut, adalah versi Action Script(AS) dari Breadth First Search: searchmethod = function () { var origin:node = nodeorigin; var destination:node = nodedestination; // Creating our Open and Closed Lists var closedlist:array = new Array(); var openlist:array = new Array(); // Adding our starting point to Open List openlist.push(origin); // Loop while openlist contains some data. while (openlist.length!= 0) { // Loop while openlist contains some data. var n:node = Node(openList.shift()); 6
7 ; // Check if node is Destination if (n == destination) { closedlist.push(destination); trace("closed!"); break; // Store n's neighbors in array var neighbors:array = n.getneighbors(); var nlength:number = neighbors.length; // Add each neighbor to the end of our openlist for (i=0; i<nlength; i++) { openlist.push(neighbors[i]); // Add current node to closedlist closedlist.push(n); 3.4 Aplikasi Algoritma Depth First Search dan Breadth First Search Secara lebih lanjut, masing-masing dari algoritma penelusuran graf yang telah kita bahas memiliki aplikasi yang lebih kompleks dan memiliki kegunaan dalam permasalahan kehidupan sehari-hari. Berikut ini akan dibahas beberapa aplikasinya Layout Gambar Web Suatu Web adalah resource tersebar (sangat besar) yang memanfaatkan graf berarah yang simpulnya adalah dokumen dan sisi adalah hubungan antara mereka (link). Web dapat berisi gambar, yang berguna, direpresentasi dengan Weblet sebagai hirarki pohon, yang memiliki banyak sirkuit. Hiperbolik geometri menawarkan pendekatan sistematik, elegan, dan dapat digunakan untuk memvisualisasikan graf berarah berisi sirkuit. Graf berarah dapat ditancapkan pada ruang hiperbolik Subpohon yang dibutuhkan dapat dipilih menggunakan traversal. Pilihan traversal menentukan komprehensibilitas gambar. Breadth first search yang dimulai dari simpul akar akan menghasilkan gambar yang lebih bersih, lebih seimbang dibanding depth first search. Dapat dilihat pada gambar berikut, layout gambar Weblet dari indeks kota Jerman yang terhubung kuat dengan masing-masing traversal Gambar Satelit Algoritma lintasan terpendek graf sangat penting pada pemrosesan dari gambar satelit. Bayangkan satelit mengambil foto dari jalanan kota, algoritma graf dapat mengidentifikasi jalan tersebut. GPS dapat mengambil gambar tersebut dan menemukan lintasan terpendek dari satu tempat ke tempat lain, alat tersebut harus bisa menjalankan algoritma pencarian graf pada gambar, yang akan mencari lintasan terpendek. Alat ini dapat menjalankan algoritma breadth first search. Algoritma ini dapat mulai dari titik sumber dan secara sistematik mencari sisi ke setiap simpul yang bisa diraih. Algoritma ini mengiterasi proses yang sama di setiap simpul yang bisa diraih ke simpul yang bisa diraih berikutnya. Untuk menyimpan simpul, digunakan FIFO Queue. FIFO menyimpan simpul yang dapat diraih pada queue. Gambar 3.13 : Breadth First pada gambar Satelit Maze Algoritma Depth First Search merupakan strategi klasik untuk menelusuri suatu maze Tandai tiap persimpangan, pojokan, dan jalan buntu (simpul) yang dikunjungi Tandai tiap koridor (sisi) yang ditelusuri. Simpan lintasan kembali ke pintu masuk (simpul awal) Gambar 3.14 : Maze sederhana Dan tentunya masih banyak lagi aplikasi lain dapat dijelaskan yang memanfaatkan kedua algoritma ini. Gambar 3.12 : (a) Breadth first (b)depth first search 4. PERBANDINGAN DEPTH FIRST SEARCH DAN BREADTH FIRST SEARCH Telah dijelaskan pada demonstrasi di atas, cara kerja masing-masing algoritma, baik DFS maupun BFS. Perbedaan cara kerja pada DFS dan BFS adalah, DFS berprioritas pada kedalaman, memulai dari simpul akar dan berjalan semakin dalam sampai simpul tujuan ditemukan, sedangkan BFS, dimulai dari akar, akan lebih memilih untuk memeriksa semua tetangga dari 7
8 simpul tersebut, kemudian dicek satu-satu mulai dari simpul terdekatnya, seterusnya, sampai menemukan tujuan. Berikut ini pada gambar 4.1 dapat dilihat perbedaan urutan langkah masing-masing algoritma. Gambar 4.1 Urutan jalan algoritma,kiri : DFS, Kanan : BFS Kedua algoritma ini berjalan dengan waktu yang proporsional dengan sisi-sisi pada graf. Kompleksitas waktu DFS dan BFS proporsional dengan jumlah simpul ditambah jumlah sisi pada graf yang ditelusuri (O( V + E )). Kompleksitas ruang DFS lebih rendah dari BFS. Kompleksitas ruang tersebut memberikan DFS metode heuristik yang lebih baik dalam memilih cabang yang mungkin nampak pada jalannya. Kompleksitas ruang DFS adalah O(h) dimana h adalah panjang dari lintasan sederhana terpanjang pada graf, sedangkan kompleksitas ruang BFS adalah O( V + E ). Terdapat pencarian postorder pada Depth first search, yang memeriksa banyak simpul dan mendapatkan banyak informasi. Breadth first search tidak memiliki hal ini, karena ia tidak mempunyai rekursifitas. Hal ini menyebabkan aplikasi dari DFS lebih banyak dibandingkan BFS. Depth first dan breadth first search keduanya memiliki keuntungan, yang lebih baik bergantung pada masalahnya. Untuk pohon pencarian, depth first search membutuhkan memori lebih sedikit. Namun, depth first search dapat terjebak dalam penelusuran yang lama. Depth first bagus ketika ada banyak kemungkinan solusi, dan kita hanya menginginkan satu saja (tidak peduli yang mana itu). Breadth first search mungkin membutuhkan lebih banyak memori, tapi tidak akan pernah terjebak, akan selalu menemukan lintasan terpendek yang pertama. Kemangkusan algoritma pencarian keduanya akan bergantung pada masalah yang ingin dipecahkan, dan ruang pencariannya. BFS biasa direpresentasi dengan Queue, sedangkan DFS dengan Stack. Algoritma DFS tidak optimal, sedangkan BFS optimal untuk graf tak berbobot. Kedua algorima ini membentuk pohon merentang yang sangat berguna pada algoritma graf yang lain. DFS dan BFS dalam aplikasinya dapat mencari hutan merentang, komponen terhubung, lintasan, dan sirkuit. Sedangkan untuk masing-masingnya, BFS dapat mencari lintasan terpendek, dan DFS dapat mencari komponen terhubung biconnected. Biconnected berarti graf tak dapat dipisah, maksudnya jika ada simpul yang akan dihapus, graf akan tetap terhubung. 5. KESIMPULAN Kesimpulan yang dapat diambil dari pembahasan makalah ini adalah : 1. Pada teori graf, terdapat algoritma standar yang praktis dan umum untuk penelusuran (traversal) pada graf, yaitu Depth First Search dan Breadth First Search, implementasinya cukup sederhana, namun walaupun sederhana, banyak digunakan dalam menyelesaikan masalah-masalah pada graf 2. Depth First Search dan Breadth First Search memiliki langkah algoritma yang berbeda, namun dalam implementasinya, kedua algoritma ini saling berhubungan, dan memiliki kemiripan 3. Depth First Search dan Breadth First Search digunakan dalam berbagai banyak aplikasi, dan salah satunya merupakan permasalahan dalam kehidupan sehari-hari. Contohnya, penggunaan Depth First Search dalam menemukan solusi dari Maze 4. Depth First Search dan Breadth First Search memiliki kelebihan dan kekurangan masingmasing, tergantung pada masalah graf yang ingin dipecahkan kedua algoritma tersebut. DAFTAR REFERENSI [1] Breadth First Search/Depth First Search Animations. combinatorica/ animations/search.html. Tanggal Akses : 31 Desember [2] Breadth-first search. Breadth-first_search. Tanggal Akses : 31 Desember [3] Cycles. webviz/webviz/node4.html. Tanggal Akses : 1 Januari [4] Depth-First Search. Depth-first_search. Tanggal Akses : 31 Desember [5] Depth first vs Breadth first Search. h2_6_2_1_0_1.html. Tanggal Akses : 31 Desember [6] Depth First and Breadth First Search by kirupa. breadth_search.htm.tanggal Akses : 31 Desember [7] Goodrich, Tamassia. Breadth-First Search. 8
9 Tanggal Akses : 31 Desember [8] Goodrich, Tamassia. Depth-First Search. Tanggal Akses : 31 Desember [9] Graph traversal. Depth and Breadth First Search. htm. Tanggal Akses : 31 Desember [10] ICS 161: Design and Analysis of Algorithms. Breadth first search and depth first search. Tanggal Akses : 1 Januari [11] Munir, Rinaldi.. Diktat Kuliah IF2091 Struktur Diskrit. Program Studi Teknik Informatika Institut Teknologi Bandung [12] Tree (graph theory). /Tree_(graph_theory). Tanggal Akses : 31 Desember [13] Wharris, James. Implementing Graph Algorithms for Satellite Images. Tanggal Akses : 1 Januari 9
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 terperinciPenerapan Teori Graf Pada Algoritma Routing
Penerapan Teori Graf Pada Algoritma Routing Indra Siregar 13508605 Program Studi Teknik Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jalan Ganesha 10, Bandung
Lebih terperinciMEMBANDINGKAN KEMANGKUSAN ALGORITMA PRIM DAN ALGORITMA KRUSKAL DALAM PEMECAHAN MASALAH POHON MERENTANG MINIMUM
MEMBANDINGKAN KEMANGKUSAN ALGORITMA PRIM DAN ALGORITMA KRUSKAL DALAM PEMECAHAN MASALAH POHON MERENTANG MINIMUM Pudy Prima (13508047) Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika
Lebih terperinciI. PENDAHULUAN. Gambar 1. Contoh-contoh graf
Quad Tree dan Contoh-Contoh Penerapannya Muhammad Reza Mandala Putra - 13509003 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jalan Ganesha 10 Bandung
Lebih terperinciPermodelan Pohon Merentang Minimum Dengan Menggunakan Algoritma Prim dan Algoritma Kruskal
Permodelan Pohon Merentang Minimum Dengan Menggunakan Algoritma Prim dan Algoritma Kruskal Salman Muhammad Ibadurrahman NIM : 13506106 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha
Lebih terperinciAlgoritma 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 terperinciAplikasi 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 terperinciAplikasi dan Analisis Algoritma BFS dan DFS dalam Menemukan Solusi pada Kasus Water Jug
Aplikasi dan Analisis Algoritma BFS dan DFS dalam Menemukan Solusi pada Kasus Water Jug Rizkydaya Aditya Putra NIM : 13506037 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika, Institut
Lebih terperinciPenerapan DFS dan BFS dalam Pencarian Solusi Game Japanese River IQ Test
Penerapan DFS dan BFS dalam Pencarian Solusi Game Japanese River IQ Test Hanif Eridaputra / 00 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha
Lebih terperinciJurnal TIMES, Vol. IV No 1 : 1-5, 2015 ISSN : Maze Generator Dengan Menggunakan Algoritma Depth-First-Search
Maze enerator Dengan Menggunakan Algoritma Depth-First-Search Octara Pribadi, S.Kom Program Studi Teknik Informatika, STMIK TIME Medan Jln. Merbabu No 32 AA-BB Medan Telp. 061-4561932, Email : octarapribadi@gmail.com
Lebih terperinciAplikasi Graf dalam Rute Pengiriman Barang
Aplikasi Graf dalam Rute Pengiriman Barang Christ Angga Saputra - 09 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 0 Bandung 0, Indonesia
Lebih terperinciAplikasi Pohon Merentang Minimum dalam Rute Jalur Kereta Api di Pulau Jawa
Aplikasi Pohon Merentang Minimum dalam Rute Jalur Kereta Api di Pulau Jawa Darwin Prasetio ( 001 ) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.
Lebih terperinciImplementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer
Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer Cendhika Imantoro - 13514037 Program Studi Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha
Lebih terperinciPenggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones
Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones Muharram Huda Widaseta NIM 13508033 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Lebih terperinciPenggunaan 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 terperinciPenerapan 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 terperinciAplikasi Algoritma Traversal Dalam Binary Space Partitioning
Aplikasi Algoritma Traversal Dalam Binary Space Partitioning Pudy Prima (13508047) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung
Lebih terperinciPenggunaan Pohon Biner Sebagai Struktur Data untuk Pencarian
Penggunaan Pohon Biner Sebagai Struktur Data untuk Pencarian Rita Wijaya/13509098 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung
Lebih terperinciPenerapan Algoritma BFS & DFS untuk Routing PCB
Penerapan Algoritma BFS & DFS untuk Routing PCB Hisham Lazuardi Yusuf 13515069 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung
Lebih terperinciPEMAKAIAN GRAF UNTUK PENDETEKSIAN DAN PENCEGAHAN DEADLOCK PADA SISTEM OPERASI
PEMAKAIAN GRAF UNTUK PENDETEKSIAN DAN PENCEGAHAN DEADLOCK PADA SISTEM OPERASI Mira Muliati NIM : 13505110 Program Studi Teknik Informatika Sekolah Teknik Elektro Informatika Institut Teknologi Bandung
Lebih terperinciPenerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block
Penerapan Algoritma dan DFS dalam Mencari Solusi Permainan Rolling Block Zakiy Firdaus Alfikri 13508042 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Lebih terperinciImplementasi Algoritma DFS pada permainan Monument Valley
Implementasi Algoritma DFS pada permainan Monument Valley Muhammad Aodyra Khaidir and 13513063 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.
Lebih terperinciPencarian Pohon Solusi Permainan Alchemy Menggunakan Algoritma BFS dan DFS
Pencarian Pohon Solusi Permainan Alchemy Menggunakan Algoritma BFS dan DFS Emil Fahmi Yakhya - 13509069 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Lebih terperinciPERBANDINGAN ALGORITMA BFS DAN DFS DALAM PEMBUATAN RUTE PERJALANAN OBJEK PERMAINAN 2 DIMENSI
PERBANDINGAN ALGORITMA BFS DAN DFS DALAM PEMBUATAN RUTE PERJALANAN OBJEK PERMAINAN 2 DIMENSI David Steven Wijaya NIM : 13505044 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika,
Lebih terperinciStudi 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 terperinciPenerapan Algoritma Greedy untuk Memecahkan Masalah Pohon Merentang Minimum
Penerapan Algoritma Greedy untuk Memecahkan Masalah Pohon Merentang Minimum Bramianha Adiwazsha - NIM: 13507106 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi
Lebih terperinciUKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Graf adalah suatu diagram yang memuat informasi tertentu jika diinterpretasikan secara tepat. Tujuannya adalah sebagai visualisasi objek-objek agar lebih mudah
Lebih terperinciAlgoritma Prim sebagai Maze Generation Algorithm
Algoritma Prim sebagai Maze Generation Algorithm Muhammad Ecky Rabani/13510037 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung
Lebih terperinciPenerapan Algoritma Branch and Bound pada Penentuan Staffing Organisasi dan Kepanitiaan
Penerapan Algoritma Branch and Bound pada Penentuan Staffing Organisasi dan Kepanitiaan Mikhael Artur Darmakesuma - 13515099 Program Studi Teknik Informaitka Sekolah Teknik Elektro dan Informatika Institut
Lebih terperinciBAB 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 terperinciMenghitung Ketinggian Rata-Rata Pohon Terurut
Menghitung Ketinggian Rata-Rata Pohon Terurut Archie Anugrah - 13508001 Jurusan Teknik Informatika Institut Teknologi Bandung Jalan Ganesha nomor 10, Bandung e-mail: if18001@students.if.itb.ac.id ABSTRAK
Lebih terperinciAplikasi Pewarnaan Graf pada Pemecahan Masalah Penyusunan Jadwal
Aplikasi Pewarnaan Graf pada Pemecahan Masalah Penyusunan Jadwal abila As ad 1) 135 07 006 2) 1) Jurusan Teknik Informatika ITB, Bandung 40135, email: nabilaasad@students.itb.ac.id Abstract Dalam kehidupan
Lebih terperinciPenggunaan Algoritma Backtracking Untuk Menentukan Keisomorfikan Graf
Abstrak Penggunaan Algoritma Backtracking Untuk Menentukan Keisomorfikan Graf Neni Adiningsih, Dewi Pramudi Ismi, Ratih Laboratorium Ilmu dan Rekayasa Komputasi Departemen Teknik Informatika, Institut
Lebih terperinciPenggunaan BFS dan DFS untuk Pixel Traversing
Penggunaan BFS dan DFS untuk Pixel Traversing Fadhil Muhtadin 13510070 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,
Lebih terperinciPerbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin
Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin Arie Tando - 13510018 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
Lebih terperinciPembentukan pohon pencarian solusi dan perbandingan masingmasing algoritma pembentuknya dalam simulasi N-Puzzle
Pembentukan pohon pencarian solusi dan perbandingan masingmasing algoritma pembentuknya dalam simulasi N-Puzzle Windarto Harimurti NIM : 13503089 Program Studi Teknik Informatika, Institut Teknologi Bandung
Lebih terperinciPenerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking
Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking Krisna Dibyo Atmojo 13510075 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha
Lebih terperinciPenyelesaian Traveling Salesman Problem dengan Algoritma Heuristik
Penyelesaian Traveling Salesman Problem dengan Algoritma Heuristik Filman Ferdian - 13507091 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jalan Ganesha
Lebih terperinciAplikasi Graf dalam Merancang Game Pong
Aplikasi Graf dalam Merancang Game Pong Willy Fitra Hendria/13511086 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia
Lebih terperinciPenggunaan 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 terperinciPembentukan Pohon Pencarian Solusi dalam Persoalan N-Ratu (The N-Queens Problem)
Pembentukan Pohon Pencarian Solusi dalam Persoalan N-Ratu (The N-ueens Problem) Pradipta Yuwono NIM 350603 Prodi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi andung, Jalan
Lebih terperinciPenerapan Search Tree pada Penyelesaian Masalah Penentuan Jalur Kota Terpendek.
Penerapan Search Tree pada Penyelesaian Masalah Penentuan Jalur Kota Terpendek. Arnold Nugroho Sutanto - 13507102 1) 1) Jurusan Teknik Informatika ITB, Bandung 40132, email: if17102@students.if.itb.ac.id
Lebih terperinciAnalisis Penerapan Algoritma Backtracking Pada Pencarian Jalan Keluar di Dalam Labirin
Analisis Penerapan Algoritma Backtracking Pada Pencarian Jalan Keluar di Dalam Labirin Andika Pratama 13505048 Alamat: Jl. Dago Asri Blok C No.16 e-mail: if15048@students.if.itb.ac.id Program Studi Teknik
Lebih terperinciTEORI GRAF DALAM MEREPRESENTASIKAN DESAIN WEB
TEORI GRAF DALAM MEREPRESENTASIKAN DESAIN WEB STEVIE GIOVANNI NIM : 13506054 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jln, Ganesha 10, Bandung
Lebih terperinciALGORITMA 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 terperinciMETODE BRANCH AND BOUND UNTUK MENEMUKAN SHORTEST PATH
METODE BRANCH AND BOUND UNTUK MENEMUKAN SHORTEST PATH Mira Muliati NIM : 35050 Program Studi Teknik Informatika Sekolah Teknik Elektro Informatika Institut Teknologi Bandung Jl. Ganesha 0, Bandung E-mail
Lebih terperinciAlgoritma Penentuan Graf Bipartit
Algoritma Penentuan Graf Bipartit Zain Fathoni - 13508079 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Kampus ITB Jln. Ganesha No. 10 Bandung e-mail:
Lebih terperinciBAB II LANDASAN TEORI
BAB II LANDASAN TEORI.1 Sejarah Graf Lahirnya teori graf pertama kali diperkenalkan oleh Leonhard Euler seorang matematikawan berkebangsaan Swiss pada Tahun 1736 melalui tulisan Euler yang berisi tentang
Lebih terperinciBAB I PENDAHULUAN. Teori graf merupakan salah satu kajian matematika yang memiliki banyak
BAB I PENDAHULUAN 1.1 Latar Belakang Teori graf merupakan salah satu kajian matematika yang memiliki banyak terapannya diberbagai bidang sampai saat ini. Graf digunakan untuk merepresentasikan objek-objek
Lebih terperinciPenerapan Algoritma Prim dan Kruskal Acak dalam Pembuatan Labirin
Penerapan Algoritma Prim dan Kruskal Acak dalam Pembuatan Labirin Jason Jeremy Iman 13514058 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha
Lebih terperinciPenerapan BFS dan DFS dalam Garbage Collection
Penerapan BFS dan DFS dalam Garbage Collection Nugroho Satriyanto 13514038 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Bandung, Indonesia 13514038@std.stei.itb.ac.id
Lebih terperinciAplikasi Pewarnaan Graf dalam Penyimpanan Senyawa Kimia Berbahaya
1 Aplikasi Pewarnaan Graf dalam Penyimpanan Senyawa Kimia Berbahaya Ario Yudo Husodo 13507017 Jurusan Teknik Informatika STEI-ITB, Bandung, email: if17017@students.if.itb.ac.id Abstrak Teori Graf merupakan
Lebih terperinciPenerapan Algoritma Backtracking pada Pewarnaan Graf
Penerapan Algoritma Backtracking pada Pewarnaan Graf Deasy Ramadiyan Sari 1, Wulan Widyasari 2, Eunice Sherta Ria 3 Laboratorium Ilmu Rekayasa dan Komputasi Departemen Teknik Informatika, Fakultas Teknologi
Lebih terperinciGraf dan Pengambilan Rencana Hidup
Graf dan Pengambilan Rencana Hidup M. Albadr Lutan Nasution - 13508011 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung e-mail: albadr.ln@students.itb.ac.id
Lebih terperinciPenerapan Teori Graf dalam Game Bertipe Real Time Strategy (RTS)
Penerapan Teori Graf dalam Game Bertipe Real Time Strategy (RTS) Yudha Okky Pratama/13509005 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha
Lebih terperinciBAB 2 LANDASAN TEORI
BAB 2 LANDASAN TEORI 2.1 Konsep Dasar Simulasi Sistem didefinisikan sebagai sekumpulan entitas baik manusia ataupun mesin yang yang saling berinteraksi untuk mencapai tujuan tertentu. Dalam prakteknya,
Lebih terperinciAplikasi Teori Graf dalam Pencarian Jalan Tol Paling Efisien
Aplikasi Teori Graf dalam Pencarian Jalan Tol Paling Efisien Rianto Fendy Kristanto ) ) Jurusan Teknik Informatika ITB, Bandung 40, email: if706@students.if.itb.ac.id Abstract Makalah ini membahas tentang
Lebih terperinciPenerapan Graf dalam validasi path di Permainan Saboteureun menggunakan DFS
Penerapan Graf dalam validasi path di Permainan Saboteureun menggunakan DFS Hendro Triokta Brianto / 13512081 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
Lebih terperinciPenerapan Algoritma Runut-Balik dan Graf dalam Pemecahan Knight s Tour
Penerapan Algoritma Runut-Balik dan Graf dalam Pemecahan Knight s Tour Krisnaldi Eka Pramudita NIM-13508014 Prodi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Bandung 40135, Email : if18014@students.if.itb.ac.id
Lebih terperinciTermilogi 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 terperinciBAB 1 PENDAHULUAN. 1.1 Latar Belakang
BAB 1 PENDAHULUAN 1.1 Latar Belakang Graf adalah salah satu metode yang sering digunakan untuk mencari solusi dari permasalahan diskrit dalam dunia nyata. Dalam kehidupan sehari-hari, graf digunakan untuk
Lebih terperinciI. PENDAHULUAN II. DASAR TEORI. Penggunaan Teori Graf banyak memberikan solusi untuk menyelesaikan permasalahan yang terjadi di dalam masyarakat.
Aplikasi Pohon Merentang (Spanning Tree) Dalam Pengoptimalan Jaringan Listrik Aidil Syaputra (13510105) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Lebih terperinciAPLIKASI GRAF DALAM PEMBUATAN JALUR ANGKUTAN KOTA
APLIKASI GRAF DALAM PEMBUATAN JALUR ANGKUTAN KOTA Kenny Enrich NIM : 13506111 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : if16111@students.if.itb.ac.id
Lebih terperinciPenerapan Algoritma A* Sebagai Algoritma Pencari Jalan Dalam Game
ABSTRAK Penerapan Algoritma A* Sebagai Algoritma Pencari Jalan Dalam Game Makalah ini membahas tentang bagaimana suatu entitas di dalam game mampu mencari jalan terpendek dari titik koordinatnya sekarang
Lebih terperinciPerbandingan Algoritma Brute Force dan Breadth First Search dalam Permainan Onet
Perbandingan Algoritma Brute Force dan Breadth First Search dalam Permainan Onet Dininta Annisa / 13513066 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Lebih terperinciPenerapan Travelling Salesman Problem dalam Penentuan Rute Pesawat
Penerapan Travelling Salesman Problem dalam Penentuan Rute Pesawat Aisyah Dzulqaidah 13510005 1 Program Sarjana Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha
Lebih terperinciAPLIKASI GRAF DALAM BISNIS TRAVEL BANDUNG-BOGOR
APLIKASI GRAF DALAM BISNIS TRAVEL BANDUNG-BOGOR Achmad Giovani NIM : 13508073 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jl. Ganeca 10 Bandung e-mail:
Lebih terperinciPENERAPAN ALGORITMA BFS PADA CHINESE SLIDE BLOCK PUZZLE (KLOTSKI)
PENERAPAN ALGORITMA BFS PADA CHINESE SLIDE BLOCK PUZZLE (KLOTSKI) Ibnu Sina Wardy - 50505 Teknik Informatika Institut Teknologi Bandung Jl. Ganeca 0 Bandung Email : if505@students.if.itb.ac.id ABSTRAK
Lebih terperinciPenggunaan Graf pada Pemetaan Genetik dan Integrasi Peta Genetik
Penggunaan Graf pada Pemetaan Genetik dan Integrasi Peta Genetik Chairul Ichsan (13508082) Program Studi Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung e-mail: if18082@students.if.itb.ac.id
Lebih terperinciPENYELESAIAN MASALAH MISSIONARIES DAN CANNIBAL MENGGUNAKAN ALGORITMA DFS DENGAN VARIASI PENGHINDARAN REPEATED STATE
PENYELESAIAN MASALAH MISSIONARIES DAN CANNIBAL MENGGUNAKAN ALGORITMA DFS DENGAN VARIASI PENGHINDARAN REPEATED STATE Gia Pusfita (13505082) Program Studi Teknik Informatika Institut Teknologi Bandung Jalan
Lebih terperinciKode 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 terperinciAPLIKASI ALGORITMA KRUSKAL DALAM PENGOTIMALAN PANJANG PIPA Kruskal Algorithm Application on Optimlaizing Pipes Network
Jurnal Barekeng Vol. 7 No. 2 Hal. 13 18 (2013) APLIKASI ALGORITMA KRUSKAL DALAM PENGOTIMALAN PANJANG PIPA Kruskal Algorithm Application on Optimlaizing Pipes Network ABRAHAM ZACARIA WATTIMENA 1, SANDRO
Lebih terperinciPENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL
PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL Swaditya Rizki Program Studi Pendidikan Matematika, Fakultas Keguruan dan Ilmu Pendidikan, Universitas
Lebih terperinciPendeteksian Deadlock dengan Algoritma Runut-balik
Pendeteksian Deadlock dengan Algoritma Runut-balik Rita Wijaya - 13509098 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,
Lebih terperinciPemanfaatan Pohon dalam Realisasi Algoritma Backtracking untuk Memecahkan N-Queens Problem
Pemanfaatan Pohon dalam Realisasi Algoritma Backtracking untuk Memecahkan N-Queens Problem Halida Astatin (13507049) Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi
Lebih terperinciBAB II LANDASAN TEORI
5 BAB II LANDASAN TEORI.1 Sejarah Graf Menurut catatan sejarah, masalah jembatan KÖnigsberg adalah masalah yang pertama kali menggunakan graf (tahun 1736). Di kota KÖnigsberg (sebelah timur Negara bagian
Lebih terperinciAplikasi 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 terperinciBAB 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 terperinciPenyelesaian Permasalahan Knight s Tour Menggunakan Algoritma Breadth First Search (BFS)
Penyelesaian Permasalahan Knight s Tour Menggunakan Algoritma Breadth First Search (BFS) Fahmi Mumtaz and 13506045 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
Lebih terperinciBAB 2 LANDASAN TEORI
BAB LANDASAN TEORI. Teori Graf Teori graf merupakan pokok bahasan yang sudah tua usianya namun memiliki banyak terapan sampai saat ini. Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan
Lebih terperinciBAB I PENDAHULUAN 1.1 Latar Belakang
BAB I PENDAHULUAN 1.1 Latar Belakang Teori graf menurut Munir (2012), merupakan salah satu cabang dari ilmu matematika dengan pokok bahasan yang sudah sejak lama digunakan dan memiliki banyak terapan hingga
Lebih terperinciMenyelesaikan Permainan Wordament Menggunakan Algoritma Backtracking
Menyelesaikan Permainan Wordament Menggunakan Algoritma Backtracking Krisna Fathurahman/13511006 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.
Lebih terperinciAlgoritma 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 terperinciPemanfaatan Algoritma Runut-Balik dalam Menyelesaikan Puzzle NeurOn dalam Permainan Logical Cell
Pemanfaatan Algoritma Runut-Balik dalam Menyelesaikan Puzzle NeurOn dalam Permainan Logical Cell Adrian Mulyana Nugraha 13515075 Program Studi Informatika Sekolah Teknik Elektro dan Informatika Institut
Lebih terperinciPenerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound
Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound Eric 13512021 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika
Lebih terperinciMATEMATIKA DISKRIT II ( 2 SKS)
MATEMATIKA DISKRIT II ( 2 SKS) Rabu, 18.50 20.20 Ruang Hard Disk PERTEMUAN XI, XII RELASI Dosen Lie Jasa 1 Matematika Diskrit Graf (lanjutan) 2 Lintasan dan Sirkuit Euler Lintasan Euler ialah lintasan
Lebih terperinciTEORI GRAF UNIVERSITAS MUHAMMADIYAH JEMBER ILHAM SAIFUDIN PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK. Selasa, 13 Desember 2016
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH JEMBER TEORI GRAF ILHAM SAIFUDIN Selasa, 13 Desember 2016 Universitas Muhammadiyah Jember Pendahuluan 1 OUTLINE 2 Definisi Graf
Lebih terperinciPengaplikasian Graf Planar pada Analisis Mesh
Pengaplikasian Graf Planar pada Analisis Mesh Farid Firdaus - 13511091 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,
Lebih terperinciKasus Perempatan Jalan
Kasus Perempatan Jalan Gabrielle Wicesawati Poerwawinata (13510060) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia
Lebih terperinciAPLIKASI PEWARNAAN GRAPH PADA PEMBUATAN JADWAL
APLIKASI PEWARNAAN GRAPH PADA PEMBUATAN JADWAL Aplikasi Pewarnaan Graph pada Pembuatan Jadwal Janice Laksana / 13510035 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut
Lebih terperinciImplementasi Graf dalam Penentuan Rute Terpendek pada Moving Object
Implementasi Graf dalam Penentuan Rute Terpendek pada Moving Object Firdaus Ibnu Romadhon/13510079 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.
Lebih terperinciPenyelesaian N-Puzzle Menggunakan A* dan Iterative Deepening A*
Penyelesaian N-Puzzle Menggunakan A* dan Iterative Deepening A* Makalah IF2211 Strategi Algoritma Marvin Jerremy Budiman (13515076) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika
Lebih terperinciMASALAH, RUANG KEADAAN & PENCARIAN
MASALAH, RUANG KEADAAN & PENCARIAN 1 Pokok Bahasan Mendefinisikan Masalah dalam Ruang Keadaan Representasi Ruang Keadaan Metode Pencarian & Pelacakan 2 Artificial Intelligence ARTIFICIAL INTELLIGENCE Input:
Lebih terperinciHAND OUT MATA KULIAH TEORI GRAF (MT 424) JILID SATU. Oleh: Kartika Yulianti, S.Pd., M.Si.
HAND OUT MATA KULIAH TEORI GRAF (MT 424) JILID SATU Oleh: Kartika Yulianti, S.Pd., M.Si. JURUSAN PENDIDIKAN MATEMATIKA FAKULTAS PENDIDIKAN MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS PENDIDIKAN INDONESIA
Lebih terperinciSOLUSI PERMAINAN CHEMICALS DENGAN ALGORITMA RUNUT BALIK
SOLUSI PERMAINAN CHEMICALS DENGAN ALGORITMA RUNUT BALIK Irma Juniati Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jalan Ganesha 10, Bandung e-mail:
Lebih terperinciPENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN METODE TABU SEARCH
Buletin Ilmiah Mat. Stat. Dan Terapannya (Bimaster) Volume 04, No. 1 (2015), hal 17 24. PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN METODE TABU SEARCH Fatmawati, Bayu Prihandono, Evi Noviani INTISARI
Lebih terperinciAlgoritma Branch & Bound untuk Optimasi Pengiriman Surat antar Himpunan di ITB
Algoritma Branch & Bound untuk Optimasi Pengiriman Surat antar Himpunan di ITB Mohamad Ray Rizaldy - 13505073 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
Lebih terperinciAplikasi Shortest Path dengan Menggunakan Graf dalam Kehidupan Sehari-hari
Aplikasi Shortest Path dengan Menggunakan Graf dalam Kehidupan Sehari-hari Andika Mediputra NIM : 13509057 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Lebih terperinciMenyelesaikan Topological Sort Menggunakan Directed Acyclic Graph
Menyelesaikan Topological Sort Menggunakan Directed Acyclic Graph Muhammad Afif Al-hawari (13510020) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Lebih terperinciBFS dan DFS. Bahan Kuliah IF2151 Strategi Algoritmik. Oleh: Rinaldi Munir
BFS dan DFS Bahan Kuliah IF2151 Strategi Algoritmik Oleh: Rinaldi Munir Traversal di dalam graf berarti mengunjungi simpul-simpul dengan cara yang sistematik. Algoritma traversal di dalam graf: 1. BFS:
Lebih terperinci