• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

Copied!
5
0
0

Teks penuh

(1)

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.

2.3. Teori Dasar Graf

(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).

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

(2)

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 sederhana (unsimple graph). Ada dua macam graph tak-sederhana, 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).

(3)

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)

(4)

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 path-cost. 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).

(5)

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).

Referensi

Dokumen terkait

Berbasis Web pada CV Dirda Bunda dapat memberikan solusi terhadap permasalahan yang dihadapi oleh CV Dirda Bunda dalam pengolahan data pembelian serta penjualan

Adapun hasil dari pendampingan ini adalah pemilik dan pekerja home industri memiliki tambahan informasi tentang paving dan batako setelah diberikan modul kerja dan

Analisis berdasarkan gambaran klinis menunjukkan mereka memiliki gejala dengan onset baru angina berat / terakselerasi memiliki prognosis lebih baik

“ Seleksi Ketahanan Aksesi Jagung Terhadap Serangan Hama Penggerek Batang Jagung ( Ostrinia furnacalis Guenee) (Lepidoptera: Crambidae) ” yang diajukan untuk

The shell allows users to type in commands for the operating system and the operating system to display the output that results from the execution of these commands.. Despite the

The effect of alginate in microencapsulation process and glycerol concentration on viability spermatozoa (motility (%M), live sperm (%L) and intact apical ridge (%IAR) were studied

Poin berikutnya, Pasal 23 ayat (3) Undang-Undang Nomor 2 Tahun 2011 tentang Perubahan Atas Undang-Undang Nomor 2 Tahun 2008 tentang Partai Politik

Puji dan syukur kepada Tuhan Yang Maha Pengasih, yang telah memberikan berkat dan kasih-Nya sehingga penulis dapat menyelesaikan Tugas Akhir ini yang merupakan syarat utama yang