PENCARIAN JALUR TERPENDEK PENGIRIMA N BARANG
MENGGUNAKAN ALGORITMA A* STUDI KASUS
KANTOR POS BESAR MEDAN)
Wahyudinur Alfarisi
Mahasiswa Program Studi Teknik Informatika, STMIK Budidarma Medan Jl. Sisingamangaraja No.338 Simpang Limun Medan
www.stmik-budidarma.ac.id // E-mail : wahyudinuralfarisi@ymail.com
ABSTRAK
Petugas pengiriman barang yang ada dikantor pos melakukan pengiriman barang dari kantor pos pusat ke kantor pos cabang yang ada di kota medan dengan melewati atau melintasi jalan yang sama, untuk meminimalkan jarak dan tujuan yang akan dituju maka diperlukan pencarian jalur terpendek dari kantor pos pusat medan ke kantor pos- kantor pos cabang yang ada dikota medan. Pencarian jalur terpendek adalah solusi yang tepat untuk mengirimkan barang ke Kantor Pos- Kantor Pos cabang yang ada dikota medan, pencarian jalur terpendek adalah yaitu dapat menentukan jalur mana yang paling cepat untuk dilalui atau dilintasi. Algoritma A* adalah salah satu metode yang bisa digunakan untuk pencarian jalur terpendek, dengan menggunakan metode ini dihararapkan petugas pengiriman barang yang ada dikantor pos pusat medan dapat lebih cepat menemukan jalur mana yang paling singkat dan lebih cepat untuk menemukan goal pada pencarian jalur terpendek pengiriman barang kekantor pos-kantor pos cabang medan dengan menggunakan algoritma A*
Kata Kunci: Petugas Pengiriman Barang, Pencarian Jalur, Kantor Pos, Algoritma A*
1. Pendahuluan
1.1. Latar Belakang Masalah
Pencarian jalur terpendek adalah salah satu solusi yang tepat untuk pengiriman barang. Jalur terpendek yaitu menemukan lintasan terpendek antara dua atau beberapa lebih jalur yang saling berhubungan. Persoalan mencari lintasan terpendek di dalam graf merupakan salah satu persoalan optimasi. Persoalan ini biasanya direpresentasikan dalam bentuk graf atau pun gambar. Graf atau gambar yang digunakan dalam pencarian lintasan terpendek, yaitu graf yang setiap sisinya diberikan suatu nilai atau bobot. Bobot pada sisi graf atau gambar dapat menyatakan jarak antar kota.
Pengiriman barang adalah suatu perusahaan yang segala upaya nya diselenggarakan secara sendiri atau bersama-sama dalam suatu organisasi untuk memberikan pelayanan jasa berupa pengiriman barang.
Algoritma A* (A-Star) merupakan salah satu algoritma teknik pencarian terbimbing (teknik heuristik). Algoritma ini dipelajari untuk menyelesaikan permasalahan yang menggunakan graf atau gambar untuk perluasan ruang statusnya. Dengan kata lain digunakan untuk menyelesaikan permasalahan yang bisa direpresentasikan dengan graf, ada banyak algoritma yang digunakan dalam pencarian jalur terpendek salah satu nya A*. Algoritma A* menggunakan estimasi jarak terdekat untuk mencapai tujuan (Goal) dan memiliki nilai heuristik yang digunakan sebagai dasar pertimbangan 1.2. Perumusan Masalah
Dari uraian di atas maka perumusan maslah nya adalah sebagai berikut :
1. Bagaimana proses penentuan jalur dalam pengiriman barang mengunakan algoritma A*(A-Star)?
2. Bagaimana menerapkan algoritma A* (A-Star) untuk pencarian jalur pengiriman barang? 3. Bagaimana merancang aplikasi untuk
menentukan jalur terpendek? 1.3. Batasan Masalah
Adapun batasan masalah dari sebuah penelitian ini adalah sebagai berikut:
1. Pencarian jalur diperoleh dari Google Earth 2. Penentuan jalur yang menjadi objek didalam
penelitian ini adalah beberapa Kantor Pos yang ada di kota medan.
3. Penentuan jarak antara titik awal ke titik tujuan diperorel dari Rule aplikasi Google Earth 4. Penentuan jalur yang dicari dimulai dari Kantor
Pos pusat menuju Kantor Pos yang dituju 5. Pegiriman barang menggunakan mobil atau roda
4 (Empat)
6. Penyelesaian masalah pencarian jalur terpendek menggunakan algoritma A* (A-Star).
7. Tools atau alat bantu yang digunakan dalam merancang pencarian jalur terpendek menggunakan Visual Studio . Net 2008 dan Database Microsoft Office Access.
8. Jalur atau Output yang dihasilkan dalam bentuk gambar dan disertai dengan keterangan- keterangan berupa teks.
9. Tidak menghiraukan jalan rusak dan juga lampu merah yang ada dikota medan
1.4. Tujuan dan Manfaat Penelitian 1.4.1. Tujuan Penelitian
Adapun tujuan dari sebuah penelitian ini adalah sebagai berikut:
1. Dapat membantu para supir atau kurir dalam menentukan jalur mana yang terpendek untuk mengantarkan barang nya.
Pencarian Jalur Terpendek Pengirima N Barang Menggunakan Algoritma A* Studi Kasus Kantor 91 teroptimal dalam mengirimkan barang.
3. Aplikasi yang dibuat nanti nya diharapkan dapat membantu supir dalam mencari jalur terpendek untuk mengirimkan barang.
1.4.2. Manfaat Penelitian
Adapun manfaat dari sebuah penelitian ini adalah sebagai berikut:
1. Dapat membantu supir atau kurir dalam proses pengiriman barang yang akan dikirim.
2. Dapat memahami Algoritma A* (A-Star) dalam permasalahan pencarian jalur terpendek dan juga dapat menghemat biaya, waktu, dan juga tenaga. Aplikasi yang dibuat agar lebih mempermudah lagi supir atau kurir dalam proses pengiriman barang.
2. Landasan Teori
2.1. Pencarian (Searching)
Pada dasarnya teknik Searching (Pencarian) dapat dibagi menjadi 2 (dua) kelompoh yaitu: Pencarian buta (Blind Search) dan Pencarian terbimbing (Heuristic Search). Untuk mengukur peforma mentode pecarian, terdapat empat criteria yang dapat dilakukan.
1. Completeness: Apakah metode tersebut menjamin penemuan solusi jika solusinya memang ada?
2. Time Cmplexity: Berapa lama waktu yang diperlukan?
3. Space Complexity: berapa banyak memori yang diperlukan?
4. Otimality: Apakah metode tersebut menjain menemukan solusi yang terbaik jika terdapat beberapa solusi yang berbeda?
2.2. Pencarian Heuristik
Kata Heuristic berasal dari sebuah kata kerja bahasa Yunani, heuriskein, yang berarti “Mencari atau Menemukan”. Dalam dunia pemrograman, sebagian orang menggunakan kata heuristic sebagai lawan kata dari algoritmi, dimana kata heuristic ini diartikan sebagai suatu proses yang mungkin dapat menyelesaikan suatu masalah tetapi tidak ada jaminan bahwa solusi yang dicari selalu dapat ditentukan. Didalam mempelajari metode-metode pencarian ini, kata heuristic diartikan sebagai suatu fungsi yang memberikan suatu nilai berupa biaya perkiraan (estimasi) dari suatu solusi.
Teknik pencarian heuristic (heuristic searching) merupakan suatu strategi untuk melalukan proses pencarian secara selektif dan dapat memandu proses pencarian yang memiliki kemungkinan sukses paling besar, namun dengan kemungkinan mengorbankan kelengkapan (completeness).
Untuk menerapkan pencarian heuristik diperlukan suatu fungsi heuristik. Fungsi heuristik adalah aturan-aturan yang digunakan untuk mendapatkan solusi yang diinginkan.
2.3. A* (A Bintang)
Algoritma ini pertama kali diperkenalkan pada tahun 1968 oleh Peter Hart, Nils Nilsson, dan Bertram Raphael. Dalam ilmu komputer, A* (A-star) merupakan salah satu algoritma pencarian graph terbaik yang mampu menemukan jalur dengan biaya
pengeluaran paling sedikit dari titik permulaan yang diberikan sampai ke titik tujuan yang diharapkan. (Junal Variasi Penggunaan Fungsi Heuristik Dalam Pengaplikasian Algoritma A* Mohammad Riftadi)
Algoritma A* merupakan algoritma Best Fist Search yang menggabungkan Uniform Cost Search dan Greedy Best-First Search. Biaya yang diperhitungkan didapat dari biaya sebenarnya ditambah dengan biaya perkiraan. Dalam notasi matematika dituliskan sebagai:
Dimana:
f(n) = Biaya evaluasi
g(n) = Biaya yang sudah dikeluarkan dari keadaan awal sampai keadaan n
h(n) = Estimasi biaya untuk sampai pada suatu tujuan mulai dari n
Sama dengan algoritma dasar Best First Search, algoritma A* ini juga menggunakan dua senari 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 penganan yang berbeda- beda.
Jika susektor 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 mengubah parent dilakukan, maka dilakukann pula perbaruan (update) nilai g dan f pada susektor tersebut. Dengan perbaharuan ini, susektor tersebut memiliki kesempatan yang lebih besar untuk terpilih sebagai simpul terbaik (best node).
Jika susektor sudah pernah berada di CLOSED, maka dilakukan pengecekan apakah perlu pengubaha parent atau tidak. Jikaya, maka dilakukan perbaharuan nilai g dan f padasusektor tersebut serta pada semua “anak cucunya” yang sudah pernah berada di OPEN. Dengan perbaharuan ini, maka semua anak cucunya tersebut memiliki kesempatan lebih besar untuk terpilih sebagai simpul terbaik (best node).
Jika susektor tidak berada di OPEN maupun CLOSED, maka susektor tersebut dimasukkan ke dalam OPEN.
3. Pembahasan
3.1. Sistem Yang Sedang Berjalan
Dalam melakukan pelayan pengiriman barang, PT. Kantor Pos Inonesia (Persero) medan mengunakan sistem antrian manual:
1. Kantor Pos cabang mengiriman barang kekantor pusat
2. Barang yang dikirim dari Kantor Pos cabang kemudian sampai ke kantor pusat yang ada dimedan
3. Kemudian Kantor Pos pusat merekapitulasi barang yang akan dikirim ketujuan nya masing-masing
4. Kemudian Kantor Pos pusat membuta tanda bukti pengirim barang yang akan dikirim
5. Barang yang akan dikirim, kemudian dikirimkan ke tujuan nya dan petugas pengirim barang memberikan barang dan juga menberikan tanda bukti pengiriman
6. Kentor Pos kemudian melihat tanda bukti pengiriman dan kemudian tanda bukti pengiriman kemudian diarsibkan di Kantor Pos pusat medan dan juga Kantor Pos cabang
3.2. Analisa dan Logika Algoritma A*
Algoritma A* merupakan penggabungan dari algoritma Best First Search, Uniform Cost Search dan Greedy Best-First Search yang dibunakan untuk mencari lintasan terpendek pada suatu graf, sama seperti hal nya best fist searh, uniform cost search dan greedy best-fist searh algoritma A* juga menggunakan fungsi- fungsi hiuristik dan biaya yang diperhitungkan didapat dari biaya sebenar nya ditambah dengan biaya perkiraan lintasan.
Gambar: 1. Peta Kota Medan Keterangan:
1. Titik Koordinat A Kantor Pos Pusat Medan 2. Titik Koordinat B Komplek Bandar Selamat
Permai
3. Titik Koordinat C Kantor Pos Bakaran Batu 4. Titik Koordinat D Kantor Pos Laksamana 5. Titik Koordinat E Kantor Pos Menteng 6. Titik Koordinat F Kantor Pos SM. Raja Medan 7. Tirik Koordinat G Kantor Pos Alfalah
8. Titik Koordinat H Kantor Pos Medan Baru (Iskandar muda)
9. Titik Koordinat I Kantor Pos Gatot Subroto 10. Titik Koordinat J Kantor Pos Tengku Amir
Hamza
Tabel: 1. Biaya Perkiraan (Jarak Garis Lurus) Dari Masing- Masing Vertex Terhadap Titik Awal A Menuju Vertex Akhir F
N A B C D E F G H I J
h(n) 2500 2000 1500 1000 2000 0 500 6000 2000 2800
Langkah ke-1:
Karena pada list OPEN hanya terdapat satu vertex, yaitu A, maka A terpilih sebagai bestnode dan dipindahkan ke list CLOSED, kemudian dibangkitkan semua suksesor A, yaitu: B, C, H, dan J. karena ke empat suksesor tidak ada pada open maupun list CLOSED, maka ketiganya dimasukkan ke list OPEN. Langkah pertama ini menghasilkan list OPEN= [B, C, H,dan J] dan CLOSED A
Evaluasi :
F(B) = g(A)+g(A ke B) + h(B) = 0+4.157 + 2.000 = 6.157 F(C) = g(A) + g(A ke C) + h(C) = 0 + 3.072 + 1500 = 4.572 F(H) = g(A) + g(A ke H) + h(H) = 0 + 3.015 + 6.000 = 9.015 F(J) = g(A) + g(A ke J) + h(J) = 0 + 3.040 + 2800 = 5.840
Gambar: 2. Langkah ke-1 Langkah ke-2
Selanjut nya, C dengan jarak terkecil, yaitu 4.572 terpilih bestnode dan dipindahkan ke CLOSED. Lalu, semua suksesor C dibangkitkan, yaitu: A, B, dan D karena A dan B sudah pernah di OPEN maka
A, B di CLOSED dan D belum pernah ada di list OPEN maupun list CLOSED, maka D dimasukkan ke list OPEN, dan langkah ke-2 ini menghasilkan OPEN= [D] dan CLOSED= [A,B,H,J].
Evaluasi:
f(D)= g(C) + g(C ke D) + h(D) = 4.572 + 1.538 + 1.000 = 7.110
Gambar: 3. Langkah ke-2
Langkah ke-3
Selanjutnya D dengan jarak terkecil, yaitu 7.110 terpilih sebagai bestnode dan dipindahkan ke list CLOSED. Lalu, semua suksesor D dibangkitkan, yaitu: C, E, dan H karena C dan H sudah pernah ada di list OPEN maka C dan H di CLOSED dan E belum pernah ada di list OPEN maupun CLOSED, maka E dimasukkan ke list OPEN dan langkah ke-3 ini menghasilkan OPEN= [E] dan CLOSED =[D]
Pencarian Jalur Terpendek Pengirima N Barang Menggunakan Algoritma A* Studi Kasus Kantor 93 f(E)= g(D) + g(D ke E ) + h(E)
= 7.110 + 1.921 + 2.000 = 11.031
Gambar: 4. Langkah ke-3
Langkah ke-4
Selanjutnya E dengan jarak terkecil, yaitu 11.031 terpilih sebagai bestnode dan dipindahkan ke list CLOSED. Lalu, semua suksesor E dibangkitkan, yaitu: D, F, dan G karena D sudah pernah ada di list OPEN maka D di CLOSED dan F, dan G belum pernah ada di list OPEN maupun CLOSED, maka F, dan G dimasukkan ke list OPEN dan langkah ke-4 ini menghasilkan OPEN= [F, G] dan CLOSED =[E]
Evaluasi:
f(F)= g(E) + g(E ke F ) + h(F) = 11.031 + 2.082 + 0 = 13.113 f(G)= g(E) + g(E ke G ) + h(G) = 11.031 + 2.853 + 500 = 14.384
Gambar: 5. Gambar BestNode Pencarian
Selanjutnya, F dengan biaya terkecil, yaitu 13.113 terpilih sebagai BestNode karena BestNode sama dengan Goal, berarti solusi sudah ditemukan.
Rute dan total biaya bisa ditelusuri balik dari F menuju A karena setiap simpul hanya memiliki satu parent dan setiap simpul memiliki informasi biaya sebenar nya (g). Penelusuran balik menghasilkan rute Kantor Pos Pusat Medan [A] Kantor Pos Bakaran Batu [C], Kantor Pos Laksamana [D], Kantor Pos Menteng [E], dan Kantor Pos Alfalah [F] dengan total jarak sama dengan 13.113 Meter rute ini adalah rute terpendek yang ada di graf tersebut.
5. Algoritma 5.1. Algoritma
Function A* (masalah) returns solusi OPENS
CLOSE array kosong
Loop samapai goal ditemukan atau sampai tidak ada simpul di dalam OPEN
If OPEN = kosong then Gagal
else
BestNode = simpul yang ada di OPEN dengan f minimal
Pindahkan ke simpul terbalik tersebut dari OPEN ke CLOSED
if BesNode = goal then Sukses
else
Bangkitkan semua suksesor BestNode tapi jangan buat pointer
Untuk setiap suksesor kerjakan:
Hitung g(suksesor) = g (BestNode) + actual cost (dari BestNode ke suksesor)
{Periksa suksesor}
if suksesor ada di OPEN then {sudah pernah dibangkitkan tapi belum diproses}
OLD = simpul di OPEN yang sama dengan suksesor Bestnode
Buat pointer dari OLD ke BestNode Bandingkan nilai g(OLD) dengan g (suksesor)
if g(OLD) lebih baik then
Ubah parent OLD ke BestNode Ubah nilai g dan f yang ada pada OLD end
else
If suksesor ada di CLOSED then {sudah pernah dibangkitkan dan sudah diproses}
OLD = simpul di CLOSED yang sama dengan suksesor tersebut
Tambahkan OLD sebagai suksesor BestNode Bandingkan nilai g(OLD) dengan
g(suksesor)
If g(OLD) lebih baik then Ubah parent OLD ke BestNode
Ubah nilai g dan f yang sudah ada pada OLD Propagasi untuk semua suksesor OLD dengan penelusuran DFS dengan aturan :
Loop sampai simpul suksesor tidak ada di OPEN atau simpul tidak punya suksesor
If suksesor ada di OPEN then Propogasi diteruskan else
If nilai g via suksesor lebih baik then Propogassi diteruskan else
Propogasi dihentikan end
end end
else {suksesor tidak ada di OPEN maupun CLOSED} Masukkan suksesor ke OPEN
Tambahkan suksesor tersebut sebagai suksesor nya BestNode
Hitung f = g (suksesor) + h(suksesor) End, end, end, end
Form ini digunakan sebagai tampilan menu utama, yang gambar nya dapat dilihat seperti dibawah ini:
Gambar: 6. Form Menu Utama
Pada form ini digunakan sebagai untuk mencari jalur terpendek, yang gambar nya dapat dilihat seperti
dibawah ini:
Gambar: 7 Form Cari Jalur
Pada form ini digunakan sebagai membuat nama jalan/objek baru serta jarak dari objek, yang gambar nya dapat dilihat seperti dibawah ini:
Gambar: 8 Form Jarak dan Tujuan
Pada form ini digunakan untuk membuat dan mengubah koordinat dari sebuah jalur/peta, yang gambar nya dapat dilihat seperti dibawah ini:
Gambar: 9. Form Koordiat
Pada form ini digunakan untuk melihat peta atau lokasi pengiriman, yang gambar nya dapat dilihat seperti dibawah ini:
Gambar: 10 Form Maps. 5. Kesimpulan dan Saran
5.1. Kesimpulan
Adapun kesimpulan yang dapat diambil dari hasil penelitian ini adalah sebagai beriku:
1. Menggunakan algoritma A* dalam pencarian jalur terpendek sangat efisien, karena algoritma A* membandingkan nilai dari awal sampai ketujuan dengan memilih solusi terbaik, sehingga dapat meminimalkan waktu dan biaya. 2. Algoritma A* menyelesaikan masalah Pencarian
Jalur Terpendek Pengiriman Barang dengan menghitung nilai heuristik, yaitu dengan cara menghitung nilai heuristik terkecil dari masing-masing simpul untuk menentukan goal atau solusi yang telah didapat dari hasil
3. Berdasarkan jumlah node yang sudah diinputkan dengan menggunakan algoritma A* maka dapat menemukan jalur terpendek untuk dapat dilalui 4. Aplikasi pencarian jalur terpendek yang
dirancang mengunakan Microsof Visual Basic 2008 yang terdiri dari menu utama, cari jalur, jarak dan tujuan, koordinat jarak, maps, about dan juga dibantu dengan perancangan use case, diagram activity sehinnga program pencarian jalur terpendek dapat diselaikan.
5.2. Saran
Adapun saran-saran yang akan penulis sarankan untuk pembaca dalam meningkatkan kinerja dari pencarian jalur terpendek ini adalah sebagai berikut:
Pencarian Jalur Terpendek Pengirima N Barang Menggunakan Algoritma A* Studi Kasus Kantor 95 2. Diharapkan bagi pembaca agar dapat mecoba
algoritma lain dalam pencarian jalur terpendek sehingga dapat mengetahi algoritma mana yang lebih baik dalam proses pencarian jalur terpendek
3. Aplikasi yang dirancang masi banyak kekurangan, sehingga diharapkan kepada para pembaca untuk dapat mengembangkan nya lebih baik lagi dengan menggunakan fasilitas seperti menggunakan web, dan juga android
4. Pengembangan lebih lanjut sebaik nyapenulis mengunakan fasilitas Google Maps, dan juga Google Earth
DAFTAR PUSTAKA
1. Mesran, S.Kom, M.Kom, “Diklat Perkuliahan Pemrograman Visual” 2011
2. M.Fuad, Cristine H, Nurlela, Sugiarto, Paulus, Y.E.F, “Pengantar Bisnis”, 2001
3. Nana Suarna, S.T. “Pedoman Panduan Praktikum Microsoft Office 2007”, Penerbit Yrama, Widya Bandung 2009
4. Rosa A.S, M.Shalahuddin 2011, “Modul Pembelarajan Rekayasa Perangkat Lunak (Terstruktur dan Berorientasi Objek)”, Penerbit Modula Bandung Mei 2011
5. Suryanto, “Artificial Intelligence Searching Reasoning Planning Learning”, Penerbit Informatika Jogyakarta Repisi Kedua 2014 6. T.Sutojo,S.Si.,M.Kom, Edy Mulyanto, S.SSi.,
M.Kom, Dr.Vincent Suhartono, “Kecerdasan Buatan”, Penerbit Andi Yogyakarta 2010
7. Tim Prima Pena “ Kamus Besar Indonesia”
Penerbit Gitamedia Press
8. Wahana Komputer “Shortcourse SQL Server 2008 Express”, Penerbit Andi Jl.Mt.Haryono 637 Semarang 2010