BAB 2 LANDASAN TEORI

dokumen-dokumen yang mirip
BAB 2 TINJAUAN PUSTAKA

Penerapan Algoritma A* (A Star) Sebagai Solusi Pencarian Rute Terpendek Pada Maze

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB III ALGORITMA GREEDY DAN ALGORITMA A* membangkitkan simpul dari sebuah simpul sebelumnya (yang sejauh ini terbaik di

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN UKDW. dalam kehidupan kita sehari-hari, terutama bagi para pengguna sarana

BAB II LANDASAN TEORI

PENERAPAN ALGORITMA A* PADA PERMASALAHAN OPTIMALISASI PENCARIAN SOLUSI DYNAMIC WATER JUG

Pembahasan Pencarian Lintasan Terpendek Menggunakan Algoritma Dijkstra dan A*

Aplikasi Shortest Path dengan Menggunakan Graf dalam Kehidupan Sehari-hari

BAB 2 LANDASAN TEORI

Penerapan Algoritma A* Sebagai Algoritma Pencari Jalan Dalam Game

Penerapan Algoritma A* Untuk Pencarian Rute Terdekat Pada Permainan Berbasis Ubin (Tile Based Game)

BAB I PENDAHULUAN. Masalah lintasan terpendek berkaitan dengan pencarian lintasan pada graf

G r a f. Pendahuluan. Oleh: Panca Mudjirahardjo. Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut.

Pencarian Lintasan Terpendek Pada Aplikasi Navigasi Menggunakan Algoritma A*

BAB I PENDAHULUAN. Di tengah masyarakat dengan aktivitas yang tinggi, mobilitas menjadi hal yang penting.

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah 1.2 Perumusan Masalah

PENYELESAIAN TRAVELLING SALESMAN PROBLEM MENGGUNAKAN METODE SIMPLE HILL CLIMBING

Pertemuan-07 INFORMATIKA FASILKOM UNIVERSITAS IGM

VARIASI PENGGUNAAN FUNGSI HEURISTIK DALAM PENGAPLIKASIAN ALGORITMA A*

Pencarian Jalur Terpendek dengan Algoritma Dijkstra

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI. Algoritma adalah urutan atau deskripsi langkah-langkah untuk memecahkan suatu masalah.

Penghematan BBM pada Bisnis Antar-Jemput dengan Algoritma Branch and Bound

BAB 2 LANDASAN TEORI

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

BAB 2 LANDASAN TEORI

Aplikasi Teori Graf dalam Manajemen Sistem Basis Data Tersebar

LANDASAN TEORI. Bab Konsep Dasar Graf. Definisi Graf

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

Deteksi Wajah Menggunakan Program Dinamis

Penggunaan Graf Semi-Hamilton untuk Memecahkan Puzzle The Hands of Time pada Permainan Final Fantasy XIII-2

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

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

METODE BRANCH AND BOUND UNTUK MENEMUKAN SHORTEST PATH

METODE PENCARIAN DAN PELACAKAN

Aplikasi Algoritma Branch and Bound dalam Pencarian Solusi Optimum Job Assignment Problem

KECERDASAN BUATAN METODE HEURISTIK / HEURISTIC SEARCH ERWIEN TJIPTA WIJAYA, ST., M.KOM

Elvira Firdausi Nuzula, Purwanto, dan Lucky Tri Oktoviana Universitas Negeri Malang

PENYELESAIAN MASALAH ALIRAN MAKSIMUM DENGAN MENGGUNAKAN ALGORITMA DIJKSTRA DAN ALGORITMA FORD-FULKERSON TUGAS AKHIR

Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra

Pencarian Jalur Terpendek dengan Menggunakan Graf dan Greedy dalam Kehidupan Sehari-hari

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

Pencarian Lintasan Hamilton Terpendek untuk Taktik Safe Full Jungle Clear dalam Permainan League of Legends

BAB III ALGORITMA BRANCH AND BOUND. Algoritma Branch and Bound merupakan metode pencarian di dalam ruang

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. himpunan bagian bilangan cacah yang disebut label. Pertama kali diperkenalkan

BAB 2 LANDASAN TEORI

ALGORITMA OPTIMASI UNTUK MEMINIMALKAN SISA PEMOTONGAN BAR STEEL PADA PERUSAHAAN KONSTRUKSI

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

BAB 1 PENDAHULUAN 1.1. Latar Belakang

Algoritma Branch & Bound untuk Optimasi Pengiriman Surat antar Himpunan di ITB

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

Penerapan Algoritma Greedy untuk Memecahkan Masalah Pohon Merentang Minimum

BAB II TINJAUAN PUSTAKA. a) Purwadhi (1994) dalam Husein (2006) menyatakan: perangkat keras (hardware), perangkat lunak (software), dan data, serta

BAB II KAJIAN PUSTAKA. Sebuah graf G didefinisikan sebagai pasangan himpunan (V,E), dengan V

Representasi Graf dalam Jejaring Sosial Facebook

PENGEMBANGAN APLIKASI GAME ARCADE 3D MARI SELAMATKAN HUTAN INDONESIA

PROGRAM DINAMIS UNTUK PENENTUAN LINTASAN TERPENDEK DENGAN PENDEKATAN ALGORITMA FLOYD-WARSHALL

Aplikasi Shortest Path dalam Strategy Game Mount & Blade: Warband

Contoh 4/7/ HEURISTIC METHOD. Pencarian Heuristik

BAB II LANDASAN TEORI

Graf dan Pengambilan Rencana Hidup

APLIKASI PEWARNAAN SIMPUL GRAF UNTUK MENGATASI KONFLIK PENJADWALAN MATA KULIAH DI FMIPA UNY

Aplikasi Teori Graf dalam Pencarian Jalan Tol Paling Efisien

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

PENYELESAIAN TRAVELING SALESMAN PROBLEM (TSP) MENGGUNAKAN ALGORITMA RECURSIVE BEST FIRST SEARCH (RBFS)

Penyelesaian Traveling Salesman Problem dengan Algoritma Heuristik

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

TEORI GRAF UNIVERSITAS MUHAMMADIYAH JEMBER ILHAM SAIFUDIN PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK. Selasa, 13 Desember 2016

BAB 2 TINJAUAN PUSTAKA

BAB II KAJIAN TEORI 2.1 Kajian Penelitian Sebelumnya

Representasi Graf Berarah dalam Mencari Solusi Jalur Optimum Menggunakan Algoritma A*

Menentukan Arah Pukulan Terbaik dalam Pertandingan Bulutangkis Kategori Tunggal dengan Teori Graf Terbalik

SEARCHING. Blind Search & Heuristic Search

Penerapan Algoritma Branch and Bound pada Penentuan Staffing Organisasi dan Kepanitiaan

Pencarian Lintasan Terpendek Pada Peta Digital Menggunakan Teori Graf

Algoritma Prim sebagai Maze Generation Algorithm

BAB 2 LANDASAN TEORI 2.2. Algoritma A* (A Star)

BAB III ANALISIS DAN DESAIN SISTEM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PEWARNAAN GRAF SEBAGAI METODE PENJADWALAN KEGIATAN PERKULIAHAN

Sirkuit Euler & Sirkuit Hamilton SISTEM INFORMASI UNIVERSITAS GUNADARMA 2012/2013

A. TUJUAN PEMBELAJARAN

PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN METODE TABU SEARCH

Transkripsi:

BAB 2 LANDASAN TEORI 2.1. Pengertian Algoritma Algoritma merupakan urutan langkah langkah untuk menyelesaikan masalah yang disusun secara sistematis, algoritma dibuat dengan tanpa memperhatikan bentuk yang akan digunakan sebagai implementasinya, sehingga suatu algoritma dapat menjelaskan bagaimana cara melaksanakan fungsi dapat diekspresikan dengan suatu program atau suatu komponen fisik (Hartono, 2007). Menurut Donald E.Knuth, terdapat ciri-ciri algoritma yaitu: 1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. 2. Setiap langkah harus didefinisikan dengan tepat dan tidak ambiguous (tidak berarti dua). 3. Algoritma memiliki nol atau lebih masukkan (input). Masukkan ialah besaran yang diberikan pada algoritma sebelum algoritma mulai bekerja. 4. 2.2. Lintasan Terpendek (Shortest Path) Masalah jalan terpendek adalah salah satu masalah yang paling mendasar dalam kombinasi optimasi. Bahkan dalam rangka memecahkan masalah yang paling kombinatorial, baik perhitungan jalur terpendek disebut untuk, atau konsep yang dibuat menggunakan yang pertama kali dikembangkan dalam kerangka jalur terpendek. (Giorgio, 1998). Lintasan minimum yang dimaksud dapat dicari dengan menggunakan graf. Graf yang digunakan adalah graf yang berbobot, yaitu graf yang setiap sisinya diberikan suatu nilai atau bobot. Dalam kasus ini, bobot yang dimaksud berupa jarak dan waktu kemacetan terjadi (Prama, 2010). 2.3. Teori Dasar 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 antar objek-objek tersebut. Sesungguhnya peta adalah sebuah graf, yang dalam hal

ini kota dinyatakan sebagai bulatan sedangkan jalan dinyatakan sebagai garis (Mediputra, 2010). 2.3.1 Jenis Jenis Graf Berdasarkan ada atau tidaknya gelang atau busur ganda pada suatu graph maka secara umum graph dapat dikelompokkan menjadi dua jenis: 1. Graph sederhana (simple graph) yaitu graph yang tidak mengandung gelang maupun sisi-ganda. Pada graph sederhana, sisi adalah pasangan tak-terurut (unordered pairs). Jadi menuliskan sisi (u, v) sama saja dengan (v, u). Kita dapat juga mendefinisikan graph sederhana G = (V, E) terdiri dari himpunan tidak kosong simpul-simpul dan E adalah himpunan pasangan tak-terurut yang berbeda disebut sisi (Munir, 2007). 2. Graph tak-sederhana (unsimple graph) yaitu graph yang mengandung sisi ganda atau gelang dinamakan graph tak-sederhana (unsimple graph). Ada dua macam graph taksederhana, yaitu graph ganda dan graph semu. Sisi pada graph dapat mempunyai orientasi arah. Menurut orientasi arah pada sisinya, graph dibagi menjadi dua jenis, yaitu: 8. Graph tidak berarah (undirected graph) adalah graph yang sisinya tidak mempunyai orientasi arah, pada graph ini, urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan. Sebagai contoh graph tidak berarah dapat dilihat pada gambar 2.1 (Munir, 2007) Gambar 2.1 Contoh Tidak Berarah 2. Graph berarah (directed graph) adalah graph yang setiap sisinya diberikan orientasi arah, graph berarah sering dipakai untuk menggambarkan aliran proses, peta lintas suatu kota, dan sebagainya (Munir, 2007). Sebagai contoh graph berarah dapat dilihat pada gambar 2.2

Gambar 2.2 Contoh Graf Berarah 2.4. Algoritma Brute-Force Algoritma Brute-Force adalah algoritma yang memecahkan masalah dengan sangat sederhana, langsung, dan dengan cara yang jelas/lempang. Algoritma Brute-Force adalah algoritma yang lempang atau apa adanya. Biasanya didasarkan pada pernyataan masalah (problem statement) dan definisi konsep yang dilibatkan. Algoritma Brute-Force seringkali lebih mudah di implementasikan dari pada algoritma yang lebih canggih, dan karena kesederhanaannya. (Pramudita, 2011) Algoritma Brute Force, disebut juga naif yaitu algoritma yang paling sederhana yang dapat digunakan dalam pola mencari. Hal ini tidak memerlukan preprocessing dari pola atau teks. Maksudnya adalah bahwa pola dan teks dibandingkan karakter demi karakter dalam kasus ketidakcocokan, pola digeser satu posisi ke kanan dan perbandingan diulang, sampai kecocokan ditemukan atau akhir teks sudah tercapai. (Abdeen,A,R.2011) 2.5. Algoritma A* Algoritma A* (A Star) adalah algoritma pencarian yang merupakan pengembangan dari algoritma Best First Search (BFS). Seperti halnya pada BFS, untuk menemukan solusi, A* juga dituntun oleh fungsi heuristik, yang menentukan urutan titik mana yang akan dikunjungi terlebih dahulu. Heuristik merupakan penilai yang memberi harga pada tiap vertex yang memandu A* mendapatkan solusi yang diinginkan. (Adipranata & Handojo 2007) Persamaan yang digunakan dalam algoritma A* dapat dibagi menjadi dua bagian. Satu dapat disebut sebagai jalur jarak terakhir dan setengah lainnya dapat disebut sebagai jarak jalan yang selanjutnya. g (x) adalah jarak dari simpul dari mulai simpul sementara h (x) adalah nilai heuristik dari node. Nilai heuristik dari node tidak lain adalah jarak Euclidean dari node awal ke node tujuan atau node akhir. (Burad R dkk,2016) 2.5.1 Fungsi Heuristik A*

Heuristik merupakan penilai yang memberi harga pada tiap vertex yang memandu A* mendapatkan solusi yang diinginkan. Heuristik yang paling umum digunakan adalah Manhattan Distance. Fungsi heuristik ini hanya akan menjumlahkan selisih nilai x dan nilai y dari dua buah titik. Heuristik ini dinamakan Manhattan karena di kota Manhattan di Amerika, jarak dari dua lokasi umumnya dihitung dari blok-blok yang harus dilalui saja dan tentunya tidak bisa dilintasi secara diagonal. (Prayoga dkk, 2008). Fungsi heuristik sangat berpengaruh terhadap kelakuan Algoritma A*: 1. Apabila h(x) selalu bernilai 0, maka hanya g(x) yang akan berperan, dan A* berubah menjadi Algoritma Dijkstra, yang menjamin selalu akan menemukan jalur terpendek. 2. Apabila h(x) selalu lebih rendah atau sama dengan ongkos perpindahan dari titik n ke tujuan, maka A* dijamin akan selalu menemukan jalur terpendek. Semakin rendah nilai h(x), semakin banyak titik-titik yang diperiksa A*, membuatnya semakin lambat. 3. Apabila h(x) tepat sama dengan ongkos perpindahan dari n ke tujuan, maka A* hanya akan mengikuti jalur terbaik dan tidak pernah memeriksa satupun titik lainnya, membuatnya sangat cepat. Walaupun hal ini belum tentu bisa diaplikasikan ke semua kasus, ada beberapa kasus khusus yang dapat menggunakannya. 4. Apabila h(x) kadangkala lebih besar dari ongkos perpindahan dari n ke tujuan, maka A* tidak menjamin ditemukannya jalur terpendek, tapi prosesnya cepat. 5. Apabila h(x) secara relatif jauh lebih besar dari g(x), maka hanya h(x) yang memainkan peran, dan A* berubah menjadi BFS. Fungsi h(x) adalah hyphotesis cost atau heuristic cost atau estimasi cost terkecil dari node x ke tujuan, yang disebut juga sebagai future path-cost. Fungsi g(x) adalah geographical cost atau cost sebenarnya dari node x ke node tujuan, yang disebut juga sebagai past pathcost. Berdasarkan algoritma standar pencarian jalur terpendek sebelumnya, jika ditambahkan dengan metode A*, algoritma tersebut mengalami perubahan, khususnya saat perluasan node atau Node Expansion, yaitu saat memindai jalur atau link. (Mutiara,N,dkk.2013).

2.5.2 Cara Kerja Algoritma A* Mencari Rute Terpendek Algoritma A* menggunakan dua senarai : OPEN dan CLOSED. Terdapat tiga kondisi bagi setiap suksesor yang dibangkitkan, yaitu: sudah berada di open, sudah berada di closed, dan tidak berada di open maupun closed. Pada ketiga kondisi tersebut diberikan penanganan yang berbeda-beda. Jika suksesor sudah pernah berada di open, maka dilakukan pengecekan apakah perlu pengubahan parent atau tidak tergantung pada nilai g-nya melalui parent lama atau parent baru. Jika melalui parent baru memberikan nilai g yang lebih kecil, maka dilakukan pengubahan parent. Jika pengubahan parent dilakukan, maka dilakukan juga perbaruan (update) nilai g dan f pada suksesor tersebut. Untuk terpilih sebagai simpul terbaik (best node). Jika suksesor sudah pernah berada di closed, maka dilakukan pengecekan apakah perlu pengubahan parent atau tidak. Jika ya, maka dilakukan perbaruan nilai g dan f pada suksesor tersebut serta semua anak cucunya yang sudah pernah berda di open. Dengan perbaruan ini, maka semua anak cucunya tersebut memiliki kesempatan lebih besar untuk terpilih sebagai simpul terbaik (best node). Jika suksesor tidak berada di open maupun di closed, maka suksesor tersebut dimasukkan ke dalam open. Tambahkan suksesor tersebut sebagai suksesornya best node. Hitung biaya suksesor Tersebut dangan rumus f = g + h. (Harianja,F. 2013).