Algoritma A Sistem Pendukung Keputusan Penjadwalan Mata Kuliah Dengan Model Pemrograman Heuristic Menggunakan Algoritma A* (Studi Kasus: S1 Ilmu Komputer FMIPA USU)

Pemikiran heuristic tidak perlu berjalan dalam cara yang langsung. Pemikiran ini meliputi pencarian, pembelajaran, evaluasi, penilaian, dan kemudian pencarian ulang, pembelajaran ulang, dan penilaian ulang saat terjadi eksplorasi dan pembuktian. Pengetahuan yang didapatkan dari kesuksesan atau kegagalan pada saat yang sama merupakan umpan balik dan memodifikasi proses pencarian. Biasanya tujuan atau masalah atau pemecahan yang terkait atau masalah yang disederhanakan perlu ditentukan kembali sebelum masalah utama dapat dipecahkan Turban et al, 2005.

2.3. Algoritma A

Secara umum, pencarian jalur terpendek dapat dibagi menjadi dua metode yaitu metode algoritma konvensional dan algoritma heuristic. Metode algoritma konvensional diterapkan dengan cara perhitungan matematis biasa, sedangkan metode algoritma heuristic diterapkan dengan perhitungan kecerdasan buatan dengan menentukan basis pengetahuan dan perhitungannya Mutakhiroh et al, 2007. Metode algoritma heuristic dapat menyelesaikan masalah pencarian jalur terpendek dengan hasil yang lebih variatif dan dengan waktu perhitungan yang lebih singkat. Pada metode algoritma konvensional, logika yang dipakai hanya dengan membandingkan jarak masing-masing simpul dan kemudian mencari jarak yang terpendek. Namun, kelemahan metode algoritma konvensional pada keakuratan hasil yang didapatkan serta tingkat kesalahan yang dihasilkan pada perhitungan. Hal tersebut tidak akan menjadi masalah jika data yang dibutuhkan hanya sedikit, sebaliknya maka akan menyebabkan peningkatan tingkat kesalahan perhitungan dan penurunan keakuratan. Secara konsep algoritma, metode algoritma konvensional lebih mudah untuk dipahami, tetapi hasil yang diperoleh dari metode algoritma heuristic lebih variatif. Di dalam mempelajari tingkah laku suatu heuristic tidak hanya dibutuhkan solusi, tetapi juga membutuhkan algoritma untuk mendapatkan jalur atau lintasan Universitas Sumatera Utara terpendek untuk mencapai data yang diinginkan goal. Hal ini adalah penting jika sebuah aplikasi mempunyai biaya tinggi untuk langkah-langkah solusi ekstranya, seperti misalnya merencanakan sebuah jalur untuk sebuah robot autonomous pada sebuah lingkungan yang berbahaya. Heuristic yang menemukan lintasan terpendek kapan saja dan di mana berada disebut admissible. Suatu algoritma pencarian disebut admissible jika algoritma tersebut terjamin dalam hal pencarian jalur yang minimal pada suatu solusi di manapun jalur tersebut berada Kristanto, 2004. Salah satu metode algoritma heuristic yang digunakan untuk melakukan pencarian jalur terpendek adalah algoritma A. A admissible heuristic adalah strategi best first search yang menggunakan estimasi solusi biaya terkecil untuk mencapai suatu tujuan dengan jarak tempuh terdekat dan memiliki nilai heuristic yang digunakan sebagai dasar pertimbangan Seminar Nasional Sains dan Teknologi-II, 2008. Algoritma A menghasilkan jalur optimal mulai dari tempat awal kemudian melalui simpul menuju tempat yang dituju. Notasi yang dipakai oleh algoritma A adalah: fn = gn + hn 2.4 Dalam notasi standar yang dipakai untuk algoritma A di atas, digunakan gn untuk mewakili biaya rute dari simpul awal ke simpul n. Lalu hn mewakili perkiraan biaya dari simpul n ke simpul tujuan, yang dihitung dengan fungsi heuristic. A ‘menyeimbangkan’ kedua nilai ini dalam mencari jalan dari simpul awal ke simpul tujuan. Dalam menentukan simpul yang akan dikembangkan, algoritma ini akan memilih simpul dengan nilai fn = gn + hn yang paling kecil Adipranata et al, 2007. Beberapa terminologi dasar yang terdapat pada algoritma A Viktor et al, 2010 adalah: a. starting point merupakan terminologi untuk posisi awal sebuah benda. Universitas Sumatera Utara b. simpul nodes merupakan petak-petak kecil sebagai representasi dari pathfinding. Bentuknya dapat berupa persegi, lingkaran, maupun segitiga. c. A merupakan simpul yang sedang dijalankan dalam algoritma pencarian jalan terependek. d. open list merupakan tempat menyimpan data simpul yang mungkin diakses dari starting point maupun simpul yang sedang dijalankan. e. closed list merupakan tempat menyimpan data simpul sebelum A yang juga merupakan bagian dari jalur terpendek yang telah berhasil didapatkan. f. harga cost merupakan nilai dari fn. g. halangan unwalkable merupakan sebuah atribut yang menyatakan bahwa sebuah simpul tidak dapat dilalui oleh A. Berikut ini adalah algoritma A Pearl, 1984: 1. Letakkan simpul awal s pada OPEN. 2. Jika OPEN kosong, pencarian berakhir. 3. Pindahkan simpul n yang memiliki nilai f minimum dari OPEN ke CLOSED. 4. Jika n adalah simpul tujuan, pencarian berhasil dan berakhir dengan menelusuri kembali pointer dari n sampai s. 5. Ekspansikan n, bangkitkan semua successor dari simpul n, dan tambahkan ke pointer tersebut kembali ke n. Untuk setiap successor n’ dari simpul n: a. Jika n’ tidak ada pada OPEN atau CLOSED, estimasi hn’ sebuah perkiraan dari biaya perjalanan terbaik dari n’ ke beberapa simpul tujuan, dan hitung fn’ = gn’ + hn’ dimana gn’ = gn + cn, n’ dan gs = 0. b. Jika n’ sudah berada pada OPEN atau CLOSED, letakkan pointer perjalanan pada hasil gn’ yang terendah. c. Jika n’ membutuhkan penyesuaian pointer dan ditemukan pada CLOSED, buka kembali n’. 6. Kembali ke langkah 2. Universitas Sumatera Utara

2.4. Delphi 7.0