Perancangan dan Pembuatan Sistem Navigasi Perjalanan Untuk Pencarian Rute Terpendek Dengan Algoritma A* Berbasis J2ME Oleh : M. ARIEF HIDAYATULLOH 1204 100 071 Dosen Pembimbing : Prof. Dr. M. Isa Irawan, MT
Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember Surabaya 2011
MENU UTAMA
PENDAHULUAN
TINJAUAN PUSTAKA METODOLOGI PENELITIAN UJI COBA dan PEMBAHASAN PENUTUP
Running Program
Pendahuluan 1. Permasalahan lalu lintas pada suatu kota besar merupakan persoalan yang cukup rumit untuk ditangani. Luasnya kota dan banyaknya rute lalu lintas yang tersedia seringkali menyulitkan pengguna jalan untuk mencari jalan atau rute paling optimum dari segi jarak untuk pergi dari suatu tempat ke tempat lain dalam kota. 2. Teknologi komunikasi bergerak (mobile commnunication) khususnya perangkat seluler atau lebih dikenal dengan sebutan handphone telah berkembang begitu pesat dari segi kemampuan perangkat pendukung teknologinya, sehingga saat ini perangkat selular tidak hanya menjadi sebuah perangkat komunikasi. 3. Salah satu metode yang dapat digunakan untuk navigasi perjalanan berbasis J2ME adalah menggunakan Algoritma A Star. Dan untuk mendapatkan hasil yang terbaik digunakan fungsi heuristik yang sesuai. 4. Tujuan dari tugas akhir ini adalah mengimplementasikan sebuah program mobile yang standalone dan offline yang berfungsi sebagai navigasi perjalanan dan panduan dalam menentukan jalur atau rute yang memiliki total jarak terdekat dalam suatu peta.
Tinjauan Pustaka Bahasa Pemrograman Java
platform Java (Jeni , 2007) • •
Pemrograman computer berbasis oop Berisfat platform independence
Tinjauan Pustaka (Lanjut) J2ME (Java 2 Micro Edition)
Arsitektur J2ME (Mardiono T, 2006 )
• Subset dari J2SE (Java 2 Standard Edition) • Embedded System • 2 bagian penting J2ME yaitu: 1. Profile 2. Configuration
Tinjauan Pustaka (Lanjut) MIDlet
Lifecycle / Siklus Hidup MIDlet
Tinjauan Pustaka (Lanjut)
Graf Graf didefinisikan sebagai himpunan pasangan dari node (simpul) dan edge (sisi). Graf secara formal didefinisikan sebagai himpunan pasangan (V, E). Dituliskan sebagai: G = {V, E} Menurut arah dan bobot yang dimiliki oleh edge, maka Graf (Diestel, Reinhard., 2000) dibedakan sebagai berikut: •
Graf berarah dan berbobot.
•
Graf berarah dan tidak berbobot
•
Graf tidak berarah dan berbobot.
•
Graf tidak berarah dan tidak berbobot.
Tinjauan Pustaka (Lanjut) Algoritma Pencarian (Search Algorithms)
Dalam algoritma pencarian dikenal istilah’state’ yang berarti kondisi. Kondisi akhir yang hendak dituju dikenal dengan istilah ‘goal state’. Contoh state antara lain, dalam game catur misalnya, adalah letak tiap buah catur pada papan. Goal state dalam kasus ini biasanya kondisi raja ter-skak mati. Empat kriteria yang menjadi ukuran algoritma pencarian adalah: • Completeness : apakah algoritma pasti dapat menemukan solusi (bila memang ada solusi)? • Time Complexity: berapa lama waktu yang dibutuhkan untuk menemukan sebuah solusi? • Space Complexity: berapa memori atau resource yang diperlukan untuk melakukan pencarian? • Optimality: apakah algoritma tersebut dapat menemukan solusi yang terbaik jika terdapat beberapa solusi yang berbeda?
Tinjauan Pustaka (Lanjut) Uniformed Search / Blind Search
Uninformed Search adalah pencarian solusi tanpa adanya informasi yang dapat „mengarahkan‟ pencarian untuk mencapai goal state dari current state (state sekarang). Informasi yang ada hanyalah definisi goal state itu sendiri, sehingga algoritma dapat mengenali goal state bila menjumpainya. Beberapa contoh algoritma yang termasuk Uninformed Search antara lain adalah: Breadth Search, Uniform Cost Search, Depth First Search, Depth Limited Search Iterative Deepening Search dan Bidirectional Search.
Tinjauan Pustaka (Lanjut) Informed Search /Heuristic Search
Informed Search mempunyai informasi tentang cost / biaya untuk mencapai goal state dari current state. Dengan informasi tersebut, Informed search dapat melakukan pertimbangan untuk mengembangkan atau memeriksa node-node yang mengarah ke goal state. Informed Search juga disebut Heuristic search karena untuk menghitung (perkiraan) cost ke goal state, digunakan fungsi heuristic. Funsi Heuristic berbeda dengan algoritma, dimana heuristic lebih merupakan perkiraan untuk membantu algoritma, dan tidak harus valid setiap waktu. Beberapa contoh algoritma pencarian yang menggunakan metode Informed Search adalah: Best first Search, Greedy Search, A* (A Star) search, dan Hill Climbing Search.
Tinjauan Pustaka (Lanjut) Metode A* (A Star) Search Algorithm
Pengembangan dari Best First Search Algorithm, A* Search Algorithm menghindari dilebarkannya (expanding) node yang diketahui memiliki biaya (cost) mahal atau besar. Metode A* Search Algorithm digunakan fungsi evaluasi sebagai berikut: (Russell & Norvig, 1995) f (n) = g(n) + h(n) Keterangan : • g(n) adalah biaya (cost) yang dibutuhkan oleh sebuah jalur (path) untuk node dari node awal. • h(n) adalah estimasi biaya (cost) sebuah jalur (path). • f(n) adalah estimasi total biaya (cost) sebuah jalur (path) dari node awal ke node tujuan (goal) melalui node .
Metodologi Penelitian Metode Pengumpulan Data Metode pengumpulan data yang digunakan pada penyusunan Tugas Akhir ini adalah sebagai berikut : Observasi Observasi yang dilakukan pada penyusunan tugas akhir ini adalah mencari referensi mengenai bentuk-bentuk mobile apllication sebagai navigasi perjalanan.
Studi Pustaka Studi pustaka dalam penyusunan Tugas Akhir ini yaitu dengan mencari peta Surabaya dan buku yang membahas cara pembuatan Mobile Application menggunakan bahasa pemrograman Java.
Hierarki perancangan Input Proses Output (HIPO) 1. 2. 3. 4.
Hierarki. Input Proses Output
Metodologi Penelitian (lanjut) Deskripsi Sistem Aplikasi merupakan sebuah sistem navigasi perjalanan kota surabaya yang dirancang untuk memberikan kemudahan dan layanan yang murah kepada pengguna jalan dalam mencari jalan terpendek. Pengguna aplikasi juga dapat mengetahui rute terpendek yang dilalui dengan bantuan peta. Deskripsi sistem meliputi : 1. Deskripsi subsistem peta surabaya Dalam subsistem peta pengguna dapat memasukkan input titik awal dan titik tujuan, disamping itu pengguna dapat men-drag / menggeser peta. 2. Deskripsi subsistem algoritma A star Setelah pengguna memberikan input subsistem algoritma A star akan langsung memproses pencarian rute terpendek yang akan ditampilkan pada subsistem peta. 3. Deskripsi subsistem show result Show result adalah sebuah proses dimana pencarian rute yang ditampilkan akan di konversi menjadi sebuah informasi tentang jalan terurut dari input titik awal sampai titik tujuan.sistem ini akan berjalan setelah pengguna selesai mencari rute yang diinginkan. 4. Deskripsi subsistem search Search adalah sebuah proses yang dilakukan oleh pengguna untuk mencari informasi tentang jalan dan lokasi tertentu. 5. Deskripsi subsistem help
Metodologi Penelitian (lanjut) Spesifikasi Aplikasi Aplikasi yang dibuat memiliki kemampuan sebagai berikut 1. Menampilkan peta jalan-jalan surabaya beserta sebagian tempattempat penting. 2. Menampilkan informasi urutan rute yang dicari. 3. Menampilkan navigasi peta seperti mencari lokasi dan jalan. 4. Mendukung aplikasi touchscreen, sehingga proses navigasi bisa dilakukan dengan klik.
Spesifikasi Pengguna Mobile Application ini ditujukan untuk digunakan untuk semua pihak yang ingin melakukan perjalanan dan mencari rute terpendek yang dapat dilalui di kota surabaya.
Metodologi Penelitian (lanjut) Pencarian Rute Perjalanan
Terpendek
pada
Aplikasi
Navigasi
Metodologi Penelitian (lanjut) Activity diagram Aplikasi
Metodologi Penelitian (lanjut) Class Diagram Aplikasi Terdapat delapan Class Diagram aplikasi beserta hubungan asosiasi antar kelas, yaitu:
Metodologi Penelitian (lanjut) Rancangan Desain Antarmuka Perancangan antarmuka adalah proses membuat perancangan form-form tampilan layar pada mobile device yang akan diaplikasikan.
Form Antarmuka Utama
Form antarmuka menu Utama
Form Antarmuka Form Input
Desain Antarmuka Form Search
Uji Coba dan Pembahasan Implementasi Program 1. Desain Pembuka Aplikasi
2. Desain Utama Aplikasi
Uji Coba dan Pembahasan (lanjut) Implementasi Program (Lanjut) 3. Desain Tampilan Input
4. Desain Tampilan Search
Uji Coba dan Pembahasan (lanjut) Implementasi Program (Lanjut) 5. Desain Tampilan Cari Rute
6. Desain Tampilan Info Path dan Help
Uji Coba dan Pembahasan (lanjut) Pengujian pada emulator Pengujian aplikasi akan dilakukan pada beberapa emulator yang mendukung aplikasi touchscreen pada ponsel yaitu dengan konfigurasi CLDC 1.1 dan profile MIDP 2.1. Beberapa emulator platform yang akan menjadi lingkungan uji coba aplikasi yaitu: 1. Java (tm) ME SDK 3.0 (emulator Standar) 2. S60 5th SDK v0.9 Pengujian yang dilakukan akan meliputi pengujian tampilan pada masing-masing platform emulator beserta menu-menu yang ada dan pengujian pencarian jarak terpendek pada program.
Uji Coba dan Pembahasan (lanjut) •
Pengujian pada emulator Java ME SDK 3.0
Uji coba pada paltform java ME SDK 3.0 menggunakan device “DefaultTouchPhone1” berjalan dengan lancar dan baik. Dengan resolusi layar 320 x 240 pixel tampilan pada semua gambar merata.
Uji Coba dan Pembahasan (lanjut) • Pengujian pada emulator S60
Uji coba pada platform S60 5th SDK v9.0 menggunakan device default dapat berjalan pada ponsel yang berkonfigurasi CLDC 1.1 dan MIDP 2.1. Emulator ini bisa digunakan untuk Nokia 5800, N97, 5530, C6, 5230, X6 and Samsung I8910 Tampilan layar pada emulator ini beresolusi 360 x 640 pixel sehingga peta yang ditampilkan akan lebih besar. Namun load program cukup lama sekitar 7 detik dikarenakan emulator ini di setting semirip mungkin dengan aplikasi ponsel sebenarnya yang memiliki memori yang kecil.
Penutup Kesimpulan : Dari hasil uji coba yang telah dilakukan dapat diambil beberapa kesimpulan sebagai berikut : 1. Program aplikasi navigasi perjalanan dapat dijadikan oleh pengguna jalan sebagai alternatif murah dalam menentukan jarak terpendek dan menemukan lokasi dalam kota. 2. Pencarian jarak terpendek dengan menggunakan algoritma A* selalu dapat menemukan solusi rute yang optimal berdasarkan jarak terpendek, apabila memang terdapat rute dari titik awal ke tujuan. 3. Program aplikasi ini hanya dapat menampilkan peta jalan-jalan besar di kota Surabaya dan merupakan aplikasi stand alone yang tidak mendukung data eksternal. 4. Program aplikasi panduan rute dapat dijalankan pada ponsel yang mendukung java MIDP 2.1.
Saran : Dari hasil yang telah dicapai dalam penelitian tugas akhir ini, terdapat beberapa hal yang perlu dipertimbangkan untuk melakukan pengembangan pada penelitian ini, diantaranya sebagai berikut : 1. Perlu dilakukan pengembangan berupa penambahan fasilitas dari aplikasi supaya dapat mendukung penggunaan aplikasi dan penyampaian informasi. 2. Untuk menambahkan peta yang lebih lengkap dan detail, maka Tugas Akhir ini dapat dilanjutkan dengan metode Client Server.
Daftar Pustaka 1.
Feng Y, Zhu J.,(2001), Wireless Java Programming with Java 2 Micro Edition, SAMS, Indianapolish.
2.
Hartanto 1, A. A., (2003), Java 2 Micro Edition Mobile Interface Device Programming, PT. Elex Media Computindo, Jakarta.
3.
Mardiono, T., (2006), Membangun Solusi Mobile Business dengan Java, Jakarta: PT. Elex Media Komputindo.
4.
Russel, Stuart J., dan Norvig, Peter, (1995), Artificial Intellegence : A Modern Approach, New Jersey : Prentice Hall.
5.
Budi R, Imam H dan Arif H.,(2007), Mudah Belajar Java. Bandung : Informatika Bandung.
6.
Yuniar, Supardi,(2008), Pemrograman Handphone dengan J2ME, PT elex
Media Komputindo. Jakarta. 7.
Diestel, Reinhard., (2000), Graph Theory: Electronic Edition 2000, http://www.math.unihamburg.de/home/diestel/books/graph
8.
Lester, Patrick., (2005), A* Pathfinding for Beginners,
http://www.gamedev.net/reference/article/article2003.asp
Terimah Kasih
Sekian