IMPLEMENTASI METODE GENERATE AND TEST PADA PEMILIHAN ANGKUTAN UMUM BERTRAYEK DENGAN JARAK TERPENDEK
SKRIPSI
MARTHIN FEBRIANTO PAKPAHAN
081401057
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI METODE GENERATE AND TEST PADA PEMILIHAN ANGKUTAN UMUM BERTRAYEK DENGAN JARAK TERPENDEK
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
MARTHIN FEBRIANTO PAKPAHAN 081401057
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI METODE GENERATE AND TEST PADA
PEMILIHAN ANGKUTAN UMUM BERTRAYEK
DENGAN JARAK TERPENDEK
Kategori : SEMINAR HASIL
Nama : MARTHIN FEBRIANTO PAKPAHAN
Nomor Induk Mahasiswa : 081401057
Program Studi : SARJANA (S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing II Pembimbing I,
Dr. Syahriol Sitorus, S.Si, MIT Ade Candra, ST,M.Kom
NIP. 197909042009121002 NIP: 19710310 199602 1 001
Diketahui/disetujui oleh
Program Studi S1 IlmuKomputer Ketua,
PERNYATAAN
IMPLEMENTASI METODE GENERATE AND TEST PADA PEMILIHAN ANGKUTAN
UMUM BERTRAYEK DENGAN JARAK TERPENDEK
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 16 April 2015
PENGHARGAAN
Puji dan syukur kehadirat Tuhan Yang Maha Esa karena atas segala rahmat dan karunia-Nya penulis dapat menyelesaikan skripsi ini dalam waktu yang telah ditetapkan sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer, Program Studi Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Pada kesempatan ini, penulis menyampaikan ucapan terima kasih kepada:
1. Bapak Dr. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S1 Ilmu Komputer.
2. Bapak Bapak Ade Chandra, ST, M.Kom dan Bapak Dr. Syahriol Sitorus, S.Si, MIT
selaku pembimbing yang telah meluangkan waktu, tenaga, dan pikiran serta dalam membimbing, mengarahkan, menasehati, memotivasi, dan menyemangati penulis agar dapat menyelesaikan skripsi ini.
3. Ibu Dian Rachmawati, S.Si, M.Kom dan Bapak Drs. Agus Salim Harahap, M.Si sebagai dosen penguji yang telah memberikan kritik dan saran yang berguna bagi penulis.
4. Ibu Maya Silvi Lydia, B.Sc, M.Sc Sekertaris Program Studi Ilmu Komputer.
5. Dekan, Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, dan pegawai di S1 Ilmu Komputer USU.
6. Orang tua yang paling saya sayangi,ibunda Bintang R Silaen dan ayahanda dr. Rudolf H Pakpahan Sp.Rad yang telah mendukung penulis dengan penuh kasih sayang dan kesabaran yang tak terhingga, juga kepada kakak dan adik kesayangan penulis Deborah A Pakpahan, Andre H Pakpahan S.E dan Antonius H Pakpahan yang selalu menyayangi penulis sampai saat ini.
7. Tante dan Uda saya selaku orang tua angkat penulis M Silaen dan R Siahaan, S.E yang telah memberikan banyak bantuan, nasehat dan dukungan selama penulis menyelesaikan studi S1, juga kepada Morna G Siahaan, Dolly M Siahaan,Yusuf M Silaen, Grace Sibarani yang telah memberikan motivasi dan dukungan kepada penulis.
8. Terkhusus kepada Adek Sari R Siregar yang selalu setia mendampingi dan memberikan semangat kepada penulis.
10. Teman-teman dari Barisan Solid Scorpio yang telah memberikan saya motivasi dan dukungan
11.Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu menyelesaikan skripsi ini.
Penulis menyadari bahwa skripsi ini masih banyak kekurangan. Oleh karena itu penulis menerima kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini. Semoga skripsi ini dapat bermanfaat bagi penulis dan pembaca, khususnya rekan-rekan mahasiswa lainnya yang mengikuti perkuliahan di Universitas Sumatera Utara (USU) Medan.
Penulis,
ABSTRAK
Kota Medan merupakan kota metropolitan terbesar di luar Pulau Jawa dan kota terbesar ketiga di Indonesia setelah Jakarta dan Surabaya yang memiliki rute yang luas antara satu lokasi dengan lokasi lainnya. Kurangnya informasi sering menyulitkan dalam mencari rute dan nomor trayek angkutan umum yang paling optimum untuk menempuh perjalanan dari suatu lokasi ke lokasi lain, karena banyaknya nomor angkutan umum dan rute yang ada, sehingga menyebabkan banyaknya pilihan jalur yang dapat ditempuh. Dengan hanya melihat pada peta dan bertanya kepada orang lain, seseorang akan membutuhkan waktu yang lama dalam menentukan jenis angkutan umum dan nomor trayek angkutan umum yang memiliki jarak terpendek menuju lokasi tujuan dan terkadang informasi yang di dapat kurang tepat. Pada penelitian ini dibuat sistem untuk mencari jarak terpendek antar lokasi dengan menggunakan metode Generate and Test. Cara kerja metode Generate and Test merupakan penggabungan antara Depth - First Search dengan backtracking, di mana solusi harus dibangkitkan secara lengkap sebelum dilakukan test dan juga disebut prosedur backtracking
karena ketika tidak ada lagi simpul yang bisa dibangkitkan pada satu lintasan dan solusi juga belum ditemukan maka dilakukan backtracking terhadap simpul terdekatnya. Sistem dibuat menggunakan bahasa pemrograman Microsoft Visual Basic Net 10. Hasil dari sistem ini adalah berupa list rute angkutan umum, nomor trayek angkutan umum, jenis angkutan umum yang memiliki jarak terpendek dengan total jarak yang ditempuh.
IMPLEMENTATION OF GENERATE AND TEST METHOD AT THE ELECTION OF PUBLIC TRANSPORT NUMBERED WITH SHORTEST DISTANCE
ABSTRACT
Medan City is the largest metropolitan city outside Java and the third largest city in Indonesia after Jakarta and Surabaya, which has a broad route between one location to another. The lack of information is often difficult to find the route and the number of public transport most optimum to travel from one location to another, because many numbers of the public
transport routes and the routes that exist, resulting in a rich assortment of lines that can be taken. By just looking at the map and ask others, someone will take a long time to determine the type of public transportation and the number of public transport that has the shortest distance to the destination location, and sometimes the information that can be less precise. In this study, the system to find the shortest distance between locations by using the Generate and Test Method. Way of Generate and Test method is a merger between the Depth - First Search with backtracking, in which a solution must be raised in full prior to the test and also called backtracking procedure because when there are no more nodes that can be raised on the track and then the solution has not been found to be backtracking to the nearest node. The system is built using Microsoft Visual Basic .Net 10. The result of this system is a form of public transportation route list, the number of public transport, the type of public transport that has the shortest distance to the total distance traveled.
DAFTAR ISI
1.1 Latar Belakang Masalah 1
1.2 Rumusan Masalah 2 2.2.2 Pencarian Buta (Blind Search/Un-informed Search) 12
2.2.1.1 Breadth First Search (BFS) 12
2.2.1.2 Depth First Search (DFS) 13
2.2.3 Backtracking 15
2.3 Lintasan Terpendek (Shortest Path) 16
2.4 Pengertian Database 16
2.6.4 Analisis Persyaratan dengan UML 22
2.6.5 Desain dengan UML 23
BAB 3 ANALISIS DAN PERANCANGAN
3.1.1 Analisis Masalah (Problem Analisis) 24
3.2 Analisis Persyaratan (Requirement Analysis) 25
3.2.1 Persyaratan Fungsional 25
3.3.2.1 Activity DiagramGenerate and Test 28
3.3.3 Sequence Diagram 29
4.1.1.3 Tampilan Hasil Jarak Terdekat 40
4.1.1.4 Tampilan View Map 41
4.2.1 Pengujian Jarak Terdekat 44
DAFTAR TABEL
Halaman
2.1 Isi Stack dalam DFS ( Depth First Search ) 14
2.2 Simbol-simbol Flowchart Program 18
3.1 Tabel UUser 31
3.2 Tabel Rute 31
DAFTAR GAMBAR
3.4 Sequence Diagram Generate and Test 29
3.5 FlowchartGenerate and Test 30
3.6 Database Relasi 32
3.7 Perancangan Menu Utama 33
3.8 Perancangan Login 33
3.9 Perancangan Pencarian Jarak Terpendek 34
3.10 Perancangan Data User 35
3.11 Perancangan Edit Rute 35
3.12 Perancangan Edit Jarak dan Nomor Trayek 36
3.13 Perancangan About 37
4.1 Tampilan Menu Utama 39
4.9 Tampilan Pengujian Jarak TerpendekUSU-Cambridge 44
4.10 Tampilan Pengujian Jarak TerpendekUSU-Gramedia 45
4.11 Tampilan Pengujian Jarak Terpendek USU-Grand Aston 45
4.12 Tampilan Pengujian Jarak TerpendekUSU-Hermes 46
4.13 Tampilan Pengujian Jarak Terpendek USU-Millenium 46
4.15 Peta Cambridge-Grand Aston 47
4.16 Graph Cambridge-Grand Aston 48
4.17 Pohon Pencarian Cambridge-Grand Aston 49
ABSTRAK
Kota Medan merupakan kota metropolitan terbesar di luar Pulau Jawa dan kota terbesar ketiga di Indonesia setelah Jakarta dan Surabaya yang memiliki rute yang luas antara satu lokasi dengan lokasi lainnya. Kurangnya informasi sering menyulitkan dalam mencari rute dan nomor trayek angkutan umum yang paling optimum untuk menempuh perjalanan dari suatu lokasi ke lokasi lain, karena banyaknya nomor angkutan umum dan rute yang ada, sehingga menyebabkan banyaknya pilihan jalur yang dapat ditempuh. Dengan hanya melihat pada peta dan bertanya kepada orang lain, seseorang akan membutuhkan waktu yang lama dalam menentukan jenis angkutan umum dan nomor trayek angkutan umum yang memiliki jarak terpendek menuju lokasi tujuan dan terkadang informasi yang di dapat kurang tepat. Pada penelitian ini dibuat sistem untuk mencari jarak terpendek antar lokasi dengan menggunakan metode Generate and Test. Cara kerja metode Generate and Test merupakan penggabungan antara Depth - First Search dengan backtracking, di mana solusi harus dibangkitkan secara lengkap sebelum dilakukan test dan juga disebut prosedur backtracking
karena ketika tidak ada lagi simpul yang bisa dibangkitkan pada satu lintasan dan solusi juga belum ditemukan maka dilakukan backtracking terhadap simpul terdekatnya. Sistem dibuat menggunakan bahasa pemrograman Microsoft Visual Basic Net 10. Hasil dari sistem ini adalah berupa list rute angkutan umum, nomor trayek angkutan umum, jenis angkutan umum yang memiliki jarak terpendek dengan total jarak yang ditempuh.
IMPLEMENTATION OF GENERATE AND TEST METHOD AT THE ELECTION OF PUBLIC TRANSPORT NUMBERED WITH SHORTEST DISTANCE
ABSTRACT
Medan City is the largest metropolitan city outside Java and the third largest city in Indonesia after Jakarta and Surabaya, which has a broad route between one location to another. The lack of information is often difficult to find the route and the number of public transport most optimum to travel from one location to another, because many numbers of the public
transport routes and the routes that exist, resulting in a rich assortment of lines that can be taken. By just looking at the map and ask others, someone will take a long time to determine the type of public transportation and the number of public transport that has the shortest distance to the destination location, and sometimes the information that can be less precise. In this study, the system to find the shortest distance between locations by using the Generate and Test Method. Way of Generate and Test method is a merger between the Depth - First Search with backtracking, in which a solution must be raised in full prior to the test and also called backtracking procedure because when there are no more nodes that can be raised on the track and then the solution has not been found to be backtracking to the nearest node. The system is built using Microsoft Visual Basic .Net 10. The result of this system is a form of public transportation route list, the number of public transport, the type of public transport that has the shortest distance to the total distance traveled.
BAB 1 PENDAHULUAN
1.1Latar Belakang
Dalam kehidupan ini selalu dilakukan perjalanan dari suatu titik atau lokasi ke lokasi lain dengan mempertimbangkan waktu dan biaya. Dalam hal ini diperlukan ketepatan dalam menentukan jalur terpendek antara suatu titik atau lokasi yang diinginkan. Hasil pencarian jarak terpendek nantinya akan menjadi informasi yang dibutuhkan orang pada saat ini.
Salah satu informasi yang biasa dicari oleh orang yang akan mengunjungi suatu tempat di sebuah kota besar adalah sarana transportasi yang dapat digunakan untuk mencapai tempat tersebut. Sering terdapat kesulitan dalam mencari angkutan umum bertrayek dengan rute yang paling optimum untuk menempuh perjalanan dari suatu tempat ke tempat lain, karena banyaknya angkutan umum bertrayek yang ada. Oleh karena itu diperlukan suatu informasi komputerisasi yang dapat membantu dalam pencarian tersebut.
Metode Generate and Test merupakan penggabungan antara depth-first search
dengan pelacakan mundur (backtracking), yaitu bergerak ke belakang menuju pada suatu keadaan awal. Metode ini perlu membangkitkan semua kemungkinan sebelum dilakukan pengujian dan membutuhkan waktu yang cukup lama dalam pencariannya.
Mencermati hal diatas penulis ingin melakukan penelitian yang berjudul
“IMPLEMENTASI METODE GENERATE AND TEST PADA PEMILIHAN
ANGKUTAN UMUM BERTRAYEK DENGAN JARAK TERPENDEK.” Penulis akan membahas pemilihan angkutan umum bertrayek dengan rute terpendek menggunakan metode
1.2Rumusan Masalah
Berdasarkan latar belakang, maka yang menjadi rumusan masalah pada penelitian ini adalah bagaimana mengimplementasikan metode Generate and Test pada teknik pencarian jarak terdekat untuk menentukan nomor dan jenis angkutan umum bertrayek terdekat dari lokasi awal menuju lokasi tujuan.
1.3Batasan Masalah
Batasan masalah yang menjadi acuan dalam pengerjaan skripsi ini adalah sebagai berikut:
1. Metode yang digunakan dalam teknik pencarian jarak terpendek adalah Generate and Test.
2. Sistem yang dibangun berbasis desktop.
3. Sisi merupakan representasi jarak. 4. Rute berorientasi dua arah.
5. Menggunakan bahasa pemograman Visual Basic.Net 2010 6. Simpul adalah representasi gedung atau tempat umum.
7. Simpul dibatasi pada 10 lokasi yaitu Sun Plaza (jl. Zainul Arifin), USU (jl. Dr.Mansyur), Grand Aston (jl. Balai Kota), Plaza Millenium (jl. Kapt. Muslim), Hermes Palace (jl. Mongonsidi), Pajak USU (jl. Jamin Ginting), RSU. Pringadi (jl. Prof. H.M Yamin), Swiss Bell (jl. S.Parman), Gramedia (jl. Gajah Mada), Restaurant TipTop (jl. Ahmad Yani) karena keterbatasan waktu dan data yang dimiliki.
8. Hasil pencarian berupa keterangan rute yang dilalui, total jarak terpendek, nomor trayek serta jenis angkutan umum dan tidak disertai dengan peta.
1.4Tujuan Penelitian
1.5Manfaat Penelitian
Dari penelitian ini diharapkan masyarakat mendapatkan sebuah sistem yang mampu menemukan jarak terpendek, rute alternatif (jika ada), nomor dan jenis trayek angkutan umum yang digunakan, analisis perhitungan setiap rute yang dilewati serta keterangan rute yang dilalui untuk mencapai tempat tujuan.
1.6Metodologi Penelitian
Dalam penelitian ini, tahapan-tahapan yang akan dilalui adalah sebagai berikut: 1. Studi Literatur
Tahap ini dilaksanakan studi literatur dengan mempelajari tentang metode pencarian,
shortest path, metode Generate and Test serta bahasa pemograman Visual Basic.Net 2010.
2. Analisis dan Perancangan Perangkat Lunak
Pada tahap ini digunakan untuk mengolah data peta Sumatera dan kemudian melakukan analisis terhadap hasil studi literatur yang diperoleh sehingga menjadi suatu informasi untuk digunakan dalam merancang perangkat lunak yang akan dihasilkan. Dalam tahapan ini juga dilakukan perancangan UML (Unified Modeling Language), flow chart, database, antarmuka (user interface) sistem serta proses kerja sistem untuk memudahkan dalam proses implementasi berikutnya.
3. Implementasi dan Pengujian Sistem
Pada tahap ini dilakukan pemasukan data lokasi, jarak antar lokasi, rute perjalanan serta keterangan rute dan mengolah data tersebut untuk mendapatkan rute yang optimal.
4. Dokumentasi
1.7Sistematika Penulisan
Dalam penulisan skripsi ini penulis membuat sistematika sebagai berikut:
BAB 1 PENDAHULUAN membahas Latar Belakang, Perumusan Masalah, Batasan Masalah, Tujuan penelitian, Manfaat Penelitian, Metode Penelitian yang dilakukan serta Sistematika penulisan.
BAB 2 LANDASAN TEORI membahas tentang graf, metode pencarian, shortest path,metode Generate and Test,UML(Unified Modeling Language),database dan flowchart.
BAB 3 ANALISIS DAN PERANCANGAN SISTEM membahas mengenai cara kerja metode Generate and Test dalam mencari jarak tedekat, pemodelan sistem dengan UML, flow chart sistem,database dan perancangan antar muka pengguna.
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM membahas tentang implementasi dan pengujian sistem.
BAB 2
LANDASAN TEORI
2.1Graph
Graf digunakan untuk merepresentasikan objek diskrit dan hubungan antara objek-objek tersebut. Gambar 2.1 merupakan sebuah graf yang menyatakan peta jaringan jalan raya yang menghubungkan sejumlah kota di Provinsi Jawa Tengah (Rinaldi Munir : 2007).
Gambar 2.1 Jaringan jalan raya di Provinsi Jawa Tengah
Sesungguhnya peta tersebut adalah sebuah graf, yang dalam hal ini kota dinyatakan sebagai bulatan (simpul) sedangkan jalan dinyatakan sabagai garis (sisi). Dengan diberikannya peta tersebut, kita dapat mengetahui apakah ada lintasan jalan antara dua buah kota.
2.1.1 Definisi Graph
2.1.2 Jenis-jenis Graph
Pengelompokan graf dapat dipandang berdasarkan ada tidaknya sisi ganda, berdasarkan jumlah simpul atau berdasarkan orientasi arah pada sisi. Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf, maka graf digolongkan menjadi dua jenis yaitu (Rinaldi Munir : 2007) :
1. Graf sederhana (simple graph).
Merupakan graf yang tidak mengandung gelang maupun sisi – ganda. Pada graf sederhana, sisi adalah pasangan tak-terurut ( unordered pairs ). Jadi, menuliskan sisi (u,v)
sama saja dengan (v,u)
Gambar 2.2 Graf sederhana
Gambar 2.2 adalah graf dengan himpunan simpul V dan himpunan sisi E adalah V = { 1,2,3,4 } dan E = { (1,2), (1,3), (2,3), (2,4), (3,4) }.
2. Graf tak - sederhana (unsimple-graph).
Gambar 2.3 Graf ganda
Gambar 2.3 merupakan graf ganda dengan V = { 1, 2, 3, 4 }, E = { (1, 2), (2, 3), (1, 3), (1, 3), (2, 4), (3, 4), (3, 4) } = { e1, e2, e3, e4, e5, e6, e7}. Sisi e3 = (1, 3) dan sisi e4 = (1, 3) dinamakan sisi-ganda (multiple edges atau pararel edges) karena kedua sisi ini menghubungkan dua buah simpul yang sama, yaitu simpul 1 dan simpul 3.
Graf semu adalah graf yang mengandung gelang (loop). Graf semu lebih umum daripada graf ganda, karena sisi pada graf semu dapat terhubung ke dirinya sendiri.
Gambar 2.4 Graf semu
Gambar 2.4 adalah graf dengan V = { 1, 2, 3, 4 } E = { (1, 2), (2, 3), (1, 3), (1, 3), (2, 4), (3, 4), (3, 4), (3, 3) } = { e1, e2, e3, e4, e5, e6, e7, e8}. Pada sisi e8 = (3, 3) dinamakan gelang
(loop) karena berawal dan berakhir pada simpul yang sama.
Berdasarkan jumlah simpul pada suatu graf, maka secara umum graf dapat digolongkan menjadi dua jenis:
1. Graf berhingga (limited graph).
Graf berhingga adalah graf yang jumlah simpulnya berhingga. 2. Graf tak-berhingga (unlimited graph)
Merupakan graf yang sisinya tidak mempunyai orientasi arah. Urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan. Jadi, (u , v) = (v , u) adalah sisi yang sama.
2. Graf berarah(directed graph atau digraph).
Graf yang setiap sisinya diberikan orientasi arah disebut sebagai graf berarah. Pada graf berarah, (u , v) dan (v , u) menyatakan dua buah busur yang berbeda, dengan kata lain (u , v) ≠ (v , u). Simpul (u) dinamakan simpul asal dan simpul (v) dinamakan simpul terminal. Pada graf berarah, gelang diperbolehkan, tetapi sisi ganda tidak.
Gambar 2.5 Graf berarah
Definisi graf dapat diperluas sehingga mencakup graf-ganda berarah (directed multigraph). Pada graf-ganda berarah, gelang dan sisi ganda diperbolehkan ada.
Gambar 2.6 Graf-ganda berarah
2.2Metode Pencarian
buta/tanpa informasi (blind atau un-informed search) dan pencarian heuristik/dengan informasi (heuristic atau informed search) (Dewi Yusra Aini : 2010).
2.2.1 Pencarian Heuristik
Heuristik adalah teknik yang digunakan untuk meningkatkan efisiensi dari proses pencarian. Teknik ini baik diterapkan dalam tujuan yang umum, tapi tidak untuk tujuan yang khusus.Heuristik yang baik, dapat memecahkan permasalahan yang berat, seperti pada masalah perjalanan salesman. Sebuah fungsi heuristik mengevaluasi keadaan permasalahan tersendiri dan menentukan bagaimana diperlukan fungsi ini dalam memecahkan suatu permasalahan. Sebuah fungsi heuristik adalah sebuah fungsi yang memetakan keadaan permasalaan, yang mendeskripsikan daya tarik dan digambarkan dalam sebuah angka (Andri Kristanto : 2004).
Beberapa metode pencarian yang menggunakan fungsi heuristik dalam mencari solusi, yaitu Generate and test, Hill climbing, dan Best First Search (greedy best first search dan A*) (Dewi Yusra Aini : 2010).
2.2.1.1Generate and Test (Bangkitkan dan Uji)
Generate and Test merupakan penggabungan antara Depth - First Search dengan
backtracking. Metode ini hanya melibatkan setiap node dalam ruang pencarian dan pengujian untuk melihat apakah itu simpul tujuan atau bukan. Jika ya, pencarian telah berhasil dan tidak
perlu dilanjutkan, jika tidak pindah ke node berikutnya.
Metode ini merupakan bentuk sederhana dari brute force search (pencarian lengkap), disebut demikian karena pecarian dilakukan dengan cara hanya melintasi pohon pencarian dan bagaimana mengidentifikasi node awal dan node tujuan, dan pada akhirnya akan memeriksa setiap node di pohon sampai menemukan tujuan (Coppin Ben : 2004 ).
karena ketika tidak ada lagi simpul yang bisa dibangkitkan pada satu lintasan maka dilakukan
backtracking terhadap simpul terdekatnya.
Generate and Test memiliki tiga sifat :
1. Bangkitkan suatu solusi yang mungkin. Untuk beberapa permasalahan, pembangkitan ini berarti membangkitkan suatu simpul tertentu atau lintasan tertentu dari keadaan awal.
2. Uji untuk melihat apakah simpul tersebut benar-benar merupakan solusinya dengan cara membandingkan simpul yang dipilih atau simpul akhir suatu lintasan yang dipilih dengan kumpulan tujuan yang dapat diterima atau diharapkan.
3. Jika solusi telah diperoleh maka keluar. Jika tidak maka ulangi kembali langkah pertama.
Generate and Test dapat diterapkan pada sejumlah masalah di mana orang memecahkan masalah ketika tidak ada informasi tambahan untuk mencapai solusi. Generate and test juga sering disebut sebagai teknik pencarian buta (Coppin Ben : 2004).
Contoh kasus penyelesaian dengan menggunakan Generate and Test yaitu seorang salesman ingin mengunjungi sejumlah n kota. Akan dicari rute terpendek di mana setiap kota hanya boleh dikunjungi tepat 1 kali dan jarak setiap kota sudah diketahui. Misalkan ada 4 kota dengan jarak antara setiap kota seperti terlihat pada gambar berikut:
Penyelesaian dengan menggunakan Generate and Test dilakukan dengan membangkitkan solusi-solusi yang mungkin dengan menyusun kota-kota dalam urutan abjad dan membuat pohon pencarian :
1. A-B-C-D 2. A-B-D-C 3. A-C-B-D
4. A-C-D-B , dan seterusnya.
Gambar 2.8 Pohon pencarian Generate and Test
Misalkan kita mulai dari node A. Kita pilih sebagai keadaan awal adalah lintasan ABCD dengan panjang lintasan = 18. Kemudian kita lakukan backtracking untuk mendapatkan lintasan ABDC dengan panjang lintasan = 19. Lintasan ini kita bandingkan dengan lintasan ABCD, ternyata ABDC > ABCD, sehingga lintasan terpilih adalah ABCD. Kita lakukan lagi backtracking untuk mendapatkan lintasan ACBD =16, ternyata ACBD < ABCD, maka lintasan terpilih sekarang adalah ACBD. Demikian seterusnya hingga ditemukan solusi yang sebenarnya.
2.2.2 Pencarian Buta (Blind Search/Un-informed Search)
Dikatakan pencarian buta, karena pada pencarian ini tidak ada informasi awal. Disini hanya akan dibahas dua metode pencarian, yaitu Breadth First Search dan Depth First Search
2.2.2.1 Breadth First Search (BFS)
Dalam hal ini, simpul – simpul yang terdekat dengan simpul awal ( start node ) akan dicari paling awal sehingga urutan pencarianya mempunyai sifat yang horizontal. Algoritma ini tidak akan terperangkap untuk menksplorasi sebuah jalan yang salah. Hal ini berlawanan dengan algoritma depth first search yang mungkin mengikuti jalan tunggal yaitu jalan yang salah dan waktu yang lama (Andri Kristanto : 2004).
Gambar 2.9 Tree untuk Breadth First Search
2.2.2.2Depth First Search (DFS)
Depth – First Search (DFS) menggunakan struktur data Stack untuk mengingat kemana seharusnya DFS pergi saat ia mencapai suatu simpul tertentu. DFS memiliki aturan tertentu, aturan untuk DFS adalah (Nugroho Adi. 2009).:
1. Jika mungkin, lakukan kunjungan pada simpul-simpul pendamping (adjacent vertex) yang belum pernah dikunjungi, tandai dan masukkan (push) ke Stack. Ketika tidak ada lagi simpul pendamping yang belum dikunjungi. Masuk ke aturan 2.
2. Jika saat melakukan aturan diatas mengalami kesulitan, keluarkan (popped off) simpul dari Stack maka akan sampai ke simpul di bawahnya. Jika simpul dibawahnya bukan simpul pendamping yang belum dikunjungi, keluarkan lagi. Demikian selanjutnya hingga tidak dapat melakukannya lagi dan masuk ke aturan 3.
S
B A
C F
H G
3. Jika tidak dapat lagi mengikuti aturan 1 dan aturan 2, berarti algoritma DFS telah selesai
Gambar 2.10 Lintasan Depth First Seacrh
Pop E A
Pop A -
FINISH
2.2.3 Backtracking
Backtracking adalah cara yang metodologis mencoba beberapa sekuens keputusan, sampai menemukan sekuens yang bekerja. Algoritma backtracking banyak diterapkan untuk program
games seperti permainan tic-tac-toe, menemukan jalan keluar dalam sebuah labirin, catur,
crossword puzzle, sudoku¸dan masalah – masalah pada bidang kecerdasan buatan (artificial intelligence).
Penyelesaian dengan backtracking :
1. Solusi dicari dengan membentuk lintasan dari akar ke daun. Aturan yang dipakai adalah mengikuti Depth - First Search. Simpul – simpul yang sudah dilahirkan dinamakan simpul hidup dan simpul hidup yang sedang diperluas dinamakan simpul-E. Simpul dinomori dari atas kebawah sesuai dengan kelahirannya.
2. Jika lintasan yang diperluas yang sedang dibentuk tidak mengarah ke solusi, maka simpul-E tersebut dibunuh sehingga menjadi simpul mati (dead node). Simpul yang sudah mati ini tidak akan diperluas lagi.
3. Jika pembentukan lintasan berakhir dengan simpul mati, maka proses pencarian diteruskan dengan membangkitkan simpul anak lainnya. Bila tidak ada lagi simpul anak yang dibangkitkan, maka pencarian solusi dilanjutkan dengan melakukan
backtracking ke simpul hidup terdekat. Selanjutnya simpul ini menjadi simpul-E yang terbaru.
2.3 Lintasan Terpendek (Shortest Path)
Lintasan terpendek (Shortest Path) merupakan lintasan minimum yang diperlukan untuk mencapai suatu titik dari titik tertentu. Dalam pencarian lintasan terpendek, masalah yang dihadapi adalah mancari lintasan mana yang akan dilalui, sehingga didapat lintasan yang paling pendek dari satu verteks ke verteks yang lain.
Ada beberapa macam persoalan lintasan terpendek, antara lain: 1. Lintasan terpendek antara dua buah verteks.
2. Lintasan terpendek antara semua pasangan verteks.
3. Lintasan terpendek dari verteks tertentu ke semua verteks yang lain
4. Lintasan terpendek antara dua buah verteks yang melalui beberapa verteks tertentu.
Pada persoalan lintasan terpendek, yang menjadi masalah adalah lintasan terpendek antara dua buah verteks, dimana bobot pada setiap edge graph digunakan untuk menyatakan jarak antar kota dalam satuan kilometer (km) (Dewi Yusra Aini : 2010).
2.4 Pengertian Database
Kumpulan file – file yang mempunyai kaitan antara satu file dengan file yang lain sehingga membentuk satu bangunan data untuk menginformasikan satu perusahaan, instansi dalam batasan terntentu. Bila terdapat file yang tidak dapat dipadukan atau diubungkan dengan file
yang lainnya berarti file tersebut bukanla kelompok dari satu database, ia akan dapat membentuk satu database sendiri (Ir. Harianto Kristanto).
Beberapa istilah yang digunakan dalam Sistem Basis Data (Database):
1. Entity : merupakan orang,tempat, kejadian tau konsep yang informasinya direkam. Pada bidang Administrasi Siswa misalnya, entity adalah siswa, buku, pembayaran, nilai test. Pada bidang kesehatan, entity adalah pasien,dokter,obat,kamar,diet.
nama orang tua, hobby. Atribute juga disebut sebagai data elemen, data field, data item.
3. Data value (nilai atau isi data) : merupakan data aktual atau informasi yang disimpan pada tiap data elemen atau atribute. Atribute nama karyawan menunjukan tempat dimana informasi nama karyawan disimpan, sedangkan data valuenya adalah Sutrisno, Budiman, merupakan isi data nama karyawan tersebut
4. Record / Tuple : merupakan kumpulan elemen - elemen yang saling berkaitan menginformasikan tentang suatu entity secara lengkap. Satu record mewakili satu data atau informasi tentang seseorang misalnya, nomor karyawan, nama karyawan, alamat, kota, tanggal masuk.
5. File : merupakan kumpulan record-record sejenis yang mempunyai panjang elemen yang sama, atribut yang sama, namun berbeda-beda data valuenya.
6. Database Management System (DBMS) : merupakan kumpulan file yang saling berkaitan bersama dengan program untuk pengelolaannya. Database adalah kumpulan datanya, sedang program pengelolaannya berdiri sendiri dalam satu paket program yang komersial untuk membaca data, mengisi data, menghapus data, melaporkan data dalam database.
2.5 Flow Chart
Flowchart adalah bagan yang menggambarkan urutan logika dari suatu prosedur pemecaan masalah. Simbol yang digunkan pada flowcart dapat dilihat pada tabel berikut (Heri Sismoro : 2005).
Tabel 2.2 Simbol-simbol Flowchart Program
Simbol Fungsi
Terminator
Menunjukkan awal dan akhir suatu proses.
Preparation
Processing
Menunjukan pengolahan aritmatika dan pemindahan data
Input/output
Menunjukan proses input dan output Decision
Mewakili operasi perbandingan logika
Predefined Process
Proses yang ditulis sebagai subprogram, yaitu prosedur / fungsi
2.6 UML (Unified Modeling Language)
Unified Modeling Language adalah sebuah bahasa graphis yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML merupakan dasar fundamental dari teknik analisis berorientasi objek, berbentuk diagram-diagram yang digunakan untuk menampilkan konstruksi dari sistem berorientasi objek, seperti cetak biru (blue print) suatu pembangunan gedung yang menggambarkan konstruksi bangunan tersebut (Mardiansyah Matondang : 2012).
2.6.1 Use-case Diagram
Use-case diagram menggambarkan secara graphis perilaku perangkat lunak. Diagram ini memberikan gambaran menurut perspektif pengguna perangkat lunak. Sebuah use-case
2.6.1.1Actor
Actor merupakan segala sesuatu yang perlu berinteraksi dengan sistem untuk pertukaran informasi. Actor memberikan suatu gambaran jelas tentang apa yang harus dilakukan perangkat lunak. Actor dinotasikan seperti pada Gambar 2.11.
Gambar 2.11Actor
2.6.1.2Use case
Use case merupakan hasil penyusunan kembali lingkup fungsionalitas sistem menjadi banyak pernyataaan fungsionalitas sistem yang lebih kecil. Sebuah use case merepresentasikan satu tujuan tunggal dari sistem dan menggambarkan satu rangkaian kegiatan dan interaksi pengguna untuk mencapai tujuan. Use case menggambarkan fungsi-fungsi sistem dari sudut pandang pengguna eksternal. Diagram ini juga dapat diartikan sebagai urutan transaksi berkaitan yang dilakukan satu actor dengan perangkat lunak.Use case dinotasikan seperti pada Gambar 2.12 berikut:
Gambar 2.12Use case
2.6.1.3 Interaksi Actor dengan Use-case
Gambar 2.13Use-case Diagram
2.6.2 Activity Diagram
Activity diagram memodelkan alur kerja (workflow) sebuah proses bisnis dan urutan aktifitas dalam suatu proses. Diagram ini sangat mirip dengan sebuah flowchart karena kita dapat memodelkan sebuah alur kerja dari satu aktifitas ke aktifitas lainnya atau dari satu aktifitas ke dalam keadaan sesaat (state).
Activity diagram menggambarkan aliran aktifitas dari sistem yang sedang dirancang, bagaimana masing-masing aliran berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Diagram ini juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Contoh activity diagram diperlihatkan pada Gambar 2.14.
Gambar 2.14Activity Diagram
Gambar 2.14 Activity Diagram
User Memilih tombol Menu Sistem Menampilkan sub Menu
User dapat memilih sub Menu
User Memilih sub Menu Peta
User dapat melihat peta
2.6.3Sequence Diagram
Sequence diagram menjelaskan interaksi objek yang disusun dalam suatu urutan waktu. Diagram ini memperlihatkan tahap demi tahap apa yang harus terjadi untuk menghasilkan sesuatu di dalam use-case. Sequence diagram secara khusus berinteraksi dengan use-case (Mardiansyah Matondang : 2012).
Masing-masing sequence diagram menggambarkan aliran pada suatu use case.
Sequence diagram dapat dibaca dengan melihat pada objek-objek dan pesan-pesan (message). Objek-objek yang berperan dalam aliran diperlihatkan pada kotak empat persegi panjang yang melintas pada bagian atas diagram. Setiap objek memiliki garis hidup (lifeline), yang digambarkan sebagai garis vertikal di bawah nama suatu objek.Notasi sequence diagram dijelaskan seperti Gambar 2.15.
Gambar 2.15Sequence Diagram
2.6.4 Analisis Persyaratan dengan UML
dilakukan untuk mendapatkan informasi atau persyaratan cukup untuk mempersiapkan model yang menggambarkan apa yang diperlukan dari perspektif pengguna (Mardiansyah Matondang : 2012).
Diagram yang digunakan dalam analisis persyaratan yaitu:
1. Use case diagram yang digunakan untuk menunjukkan fungsionalitas suatu sistem dan bagaimana sistem berinterakasi dengan dunia luar.
2. Activity diagram yang menunjukkan alur kerja (work flow) sebuah proses bisnis dan urutan aktivitas dalam suatu proses.
3. Class diagram yang membantu dalam visualisasi struktur sistem yang mendeskripsikan jenis-jenis objek dalam suatu sistem dan hubungan yang terdapat diantara objek tersebut.
4. Package diagram yang digunakan untuk mengelompokkan elemen-elemen model atau kelas.
2.6.5 Desain dengan UML
Saat membuat desain adalah saat untuk berpikir secara teknis dalam menggambarkan diagram-diagram UML. Diagram yang digunakan dalam mendesain sistem yaitu:
1. Class diagram dalam sudut pandang perangkat lunak, untuk menunjukkan class yang terdapat di dalam perangkat lunak dan bagaimana mereka saling berhubungan.
2. Sequence diagram untuk menjelaskan interaksi objek yang disusun dalam suatu urutan waktu.
3. Package diagram yang digunakan untuk mengelompokkan elemen-elemen model atau kelas.
BAB 3
ANALISIS DAN RANCANGAN
3.1Analisis
Pencarian rute terdekat dilakukan dengan menggunakan metode Generate and Test
melakukan pencarian jarak terpendek dengan cara mencari terlebih dahulu jarak terpendek antar lokasi. Pada penelitian ini penulis merancang pencarian rute terdekat angkutan umum bertrayek.
3.1.1 Analisis Masalah (Problem Analysis)
Untuk mengidentifikasi masalah digunakan diagram Ishikawa (fishbone diagram). Diagram
Ishikawa adalah sebuah alat grafis yang digunakan untuk mengidentifikasi, mengeksplorasi dan menggambarkan suatu masalah serta sebab dan akibat dari masalah tersebut. Diagram ini juga sering disebut sebagai diagram sebab-akibat atau diagram tulang ikan. Identifikasi terhadap permasalahan akan membantu analisis persyaratan sistem yang nantinya akan dikembangkan.
Masalah utama yang mendapat perhatian adalah mendapatkan nomor trayek angkutan umum dengan rute terdekat. Selanjutnya masalah ini diuraikan ke dalam beberapa kategori yaitu, kategori human (people), rute (method), jarak (material) dan angkutan umum (procedure).
l
Gambar 3.1 Diagram Ishikawa untuk Analisis Permasalahan Sistem
Pada diagram Ishikawa diatas masalah utama ditunjukkan oleh segi empat paling kanan (kepala ikan), sedangkan kategori ditunjukkan oleh segi empat yang dihubungkan oleh sebuah garis ke tulang utama (garis horizontal yang terhubung ke kepala ikan). Selanjutnya sebab akibat yang muncul ditunjukkan oleh tulang-tulang kecil yang diwakili oleh garis panah yang mengarah ke tulang-tulang kategori masalah.
3.2Analisis Persyaratan (Requirement Analysis)
Analisis persyaratan sebuah sistem dikelompokkan ke dalam dua bagian besar yaitu, analisis persyaratan fungsional dan analisis persyaratan non-fungsional.
3.2.1 Persyaratan Fungsional
Persyaratan fungsional yang harus dipenuhi oleh sistem adalah segala sesuatu yang harus dimiliki oleh sistem. Sistem harus menyediakan informasi tentang peta lokasi, nomor trayek angkutan umum, jarak antar lokasi serta keterangan dari rute.
3.2.2 Analisis Persyaratan Non-Fungsional
Persyaratan non-fungsional adalah persyaratan apa yang harus dilakukan sistem. Seringkali berupa batasan atau sesuatu yang menjadi perhatian stakeholder sebuah sistem. Beberapa persyaratan non-fungsional yang harus dipenuhi oleh sistem yang dirancang adalah sebagai berikut.
1. Sistem dapat menampilkan jarak setiap rute yang diproses.
2. Sistem yang dibangun harus sederhana agar mudah dipelajari dan digunakan.
3.3Perancangan Sistem
Perancangan sistem dilakukan untuk memperoleh gambaran yang lebih jelas tentang objek apa saja yang akan berinteraksi dengan sistem serta hal-hal apa saja yang harus dilakukan oleh sebuah sistem sehingga sistem dapat berfungsi dengan baik sesuai dengan fungsionalitasnya.
Perancangan fungsionalitas pemilihan jarak terpendek yang nantinya akan dikembangkan dimodelkan dengan diagram use-case. Actor yang nantinya akan berinteraksi dengan sistem adalah human. Human dikategori sebagai entitas yang memberi informasi rute-rute serta menerima hasil jarak terpendek.
Adapun metode pemilihan jarak terpendek menggunakan Generate and Test dengan langkah sebagai berikut:
1. Pilih lokasi asal. 2. Pilih lokasi tujuan. 3. Lakukan pencarian.
3.3.1 Use-Case Diagram
Use-case diagram merupakan diagram yang memodelkan perilaku dari sebuah sistem. Use-case diagram memiliki actoruse-case dan interaksi apa saja yang dilakukan actor tersebut.
3.3.1.1Use-Case Generate and Test
Gambar 3.2Use CaseGenerate and Test
Gambar 3.2 Usecase Generate and Test
Pada diagram Gambar 3.2 tersebut tampak bahwa seorang User (pengguna) hanya bekerja dengan mengakses use-case sistem pencarian jarak terpendek menggunakan metode
Generate And Test. Pengguna tidak perlu mengetahui secara jelas proses apa saja yang terjadi pada setiap tahap. Dengan demikian untuk memutuskan proses apa yang nantinya dilakukan pada setiap tahap adalah menjadi tanggung jawab sistem.
3.3.2 Activity Diagram
Activity diagram merupakan gambaran dari alur aktivitas sistem. Berikut ini activity diagram
untuk masing-masing use case yang terdapat dalam sistem ini.
3.3.2.1Activity Diagram untuk Use-CaseShortestpath
Activity diagram untuk use-caseGenerate and Test dapat dilihat seperti pada Gambar 3.3.
User
Generate and Test
Bangkitkan solusi dengan DFS
Backtracking
PENCARIAN JARAK TERPENDEK MENGGUNAKAN METODE GENERATE AND
TEST
extends
User Sistem
Gambar 3.3 Activity DiagramGenerate and Test
3.3.3 Sequence Diagram
Proses pencarian jarak terpendek menggunakan metode Generate and Test adalah dengan melakukan pembangkitan rute-rute dengan DFS (Depth First Search), Backtracking serta proses pencarian serta informasi hasil pencarian jarak terpendek yang dalam penelitian ini digambarkan sebagai sequence diagram seperti pada Gambar 3.4.
Input Lokasi Asal dan tujuan Membangkitkan semua solusi lintasan yang sesuai dengan
DFS
Perhitungan jarak berdasarkan urutan rute yang sesuai
Backtracking
Gambar 3.4 Sequence Diagram Generate and Test
3.4 Flowchart Sistem
Berdasarkan penjelasan sebelumnya, maka dapatlah digambarkan flowchart metode Generate and Test dalam mencari jarak terpendek dapat dilihat seperti pada Gambar 3.5.
GENERATE AND TEST
BANGKITKAN DFS
BACKTRACKING
Membangkitkan solusi dengan DFS
Melakukan Backtracking
Menampilkan hasil pencarian jarak terpendek
USER
Gambar 3.5Flowchart Sistem D= jarak
n = bilangan bulat (jumlah rute backtracking) (1,2,3 …) j = banyaknya rute
Yes No
Mulai
Input Lokasi Awal dan Tujuan
Tentukan Rute awal (n) dan jaraknya (D)
Lakukan backtracking Rute (n+1) dan Hitung Jarak
Tampilkan jarak terpendek
Selesai J=0 ?
Bangkitkan rute-rute yang memungkinkan (j)
3.5 Perancangan Database
Database pada aplikasi ini berfungsi untuk tempat penyimpanan data antara lain: 1. Tabel UUser
Tabel ini berfungsi sebagai sumber informasi tentang pengguna sistem. Struktur tabel UUser dapat dilihat pada Tabel 3.1.
Tabel ini berfungsi sebagai tempat penyimpanan informasi asal dan tujuan. Struktur tabel Rute dapat dilihat pada Tabel 3.2.
Tabel 3.2 Tabel Rute
Tabel ini berfungsi sebagai tempat penyimpanan informasi detail rute berupa rute, jarak serta nama dan nomor trayek angkutan umum. Struktur tabel DRute dapat dilihat pada Tabel 3.3.
3.5.1 Perancangan Relasi Antartabel
Perancangan relasi antartabel berfungsi untuk menampilkan informasi hubungan relasi ketergantungan (dependence) antar tabel pada database. Rancangan relasi antar tabel dapat dilihat seperti pada Gambar 3.6.
Gambar 3.6 Database Relasi
3.6 Perancangan Antarmuka Pengguna (UserInterface)
Dalam membangun sebuah sistem perlu adanya perancangan antarmuka (User Interface) yang nantinya sangat membantu memudahkan pengoperasian sistem. Dalam merancang antarmuka pengguna, ada beberapa syarat yang harus dipenuhi agar tercipta sebuah perangkat lunak yang mudah dan informatif untuk pengguna (user friendly).
3.6.1 Perancangan Menu Utama
Perancangan Menu Utama berfungsi untuk tempat menu keberadaan program-program pendukung sistem pencarian rute terdekat yang terdiri dari menu Login, Aplikasi Pencarian Jarak Terpendek, View Map, Edit Data User, Edit Data Rute, About dan Keluar. Perancangan Menu Utama menampilkan menu-menu sebagai berikut:
1. Login, berfungsi untuk melakukan pemasukan hak akses sebagai pengguna sistem. 2. Aplikasi Pencarian Jarak Terpendek, berfungsi untuk melakukan pencarian jarak terdekat
antara rute-rute.
5. Edit Data Rute,berfungsi untuk mengedit data rute dan jarak sistem. 6. About, berfungsi untuk menampilkan profile.
7. Keluar, berfungsi sebagai tombol untuk menutup menu utama.
Bentuk rancangan Menu Bar terlihat seperti pada Gambar 3.7 berikut:
Gambar 3.7 Rancangan Menu Utama
3.6.2 Perancangan Login
Perancangan Login berfungsi sebagai otorisasi hak akses dengan pemasukan AdminID (nama pengguna) serta Password. Bentuk perancangan Login dapat dilihat seperti pada Gambar 3.8 berikut.
Gambar 3.8 Rancangan Login
Edit Data User
Aplikasi Pencarian Jarak Terpendek
Keluar Login
View Map
ABOUT
xxxxxxxxx Admin ID
Password
OK Exit
3.6.3 Perancangan Pencarian
Perancangan Pencarian Jarak Terpendek berfungsi untuk pencarian rute terpendek dengan angkutan umum bertrayek. Perancangan Pencarian Jarak Terpendek dapat dilihat seperti pada Gambar 3.9.
Gambar 3.9 Perancangan Pencarian Jarak Terpendek
Perancangan pencarian jarak terpendek terdiri dari Tombol Cari berfungsi untuk melakukan pencarian rute terpendek dengan pemasukan lokasi asal dan tujuan yang ditampilkan berupa rute-rute lokasi yang dilalui beserta jarak dan dalam bentuk list. Tombol Batal berfungsi untuk membersihkan hasil pencarian rute terdekat serta Tombol Keluar untuk menutup tampilan halaman Pencarian Jarak Terpendek.
3.6.4 Perancangan Data User
Perancangan Data User adalah tampilan berfungsi untuk melakukan pemasukan data nama pengguna (UserId) dan Password. Pada rancangan ini terdapat enam tombol. Tombol Tambah berfungsi untuk menambah data User, Tombol Cari berfungsi untuk mencari user, Tombol Ubah berfungsi untuk melakukan perubahan data, Tombol Hapus berfungsi untuk menghapus data, Tombol Batal berfungsi untuk melakukan pembatalan dan Tombol Keluar
berfungsi untuk keluar dari halaman Data User dan kembali ke Menu Utama. Bentuk Perancangan Data User dapat dilihat pada Gambar 3.10
.
Gambar 3.10 Perancangan Data User
3.6.5 Perancangan Edit Rute
Perancangan Edit Rute berfungsi untuk menambah atau merubah rute asal, tujuan, nama rute, jarak serta nama angkutan. Pada rancangan ini terdapat empat tombol. Tombol Tambah berfungsi untuk menambah lokasi, Tombol Save berfungsi untuk menyimpan data, Tombol Pilih Titik berfungsi untuk menambahkan simpul dan Tombol OK berfungsi untuk menutup tampilan. Perancangan Edit Rute dapat dilihat pada gambar 3.11.
Gambar 3.11 Perancangan Edit Rute
3.6.6 Perancangan Edit Jarak dan Nomor Trayek
Perancangan Edit Jarak dan Nomor Trayek berfungsi untuk memasukkan data jalan, nomor trayek angkutan umum serta jarak antar lokasi. Pada perancangan ini terdapat dua tombol.
Asal
Tujuan
User ID xxxxxxxxx
Password xxxxxxxxx
Add Save Query Edit Delete Clear Quit
Add Save Query Edit Delete Clear Quit
Tombol Save berfungsi untuk menyimpan data, tombol OK berfungsi untuk menutup tampilan. Perancangan jalan dan jarak dapat dilihat pada Gambar 3.12.
Gambar 3.12 Perancangan Edit Jarak dan Nomor Trayek
3.6.7 Perancangan About
Perancangan About berguna untuk menampilkan informasi tentang profil penulis. Profil
penulis meliputi biodata penulis, foto penulis serta data-data akademik. Untuk lebih jelasnya dapat dilihat pada Gambar 3.13.
Gambar 3.13 Perancangan About
Gambar 3.13 Perancangan About
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1Implementasi
Implementasi metode Generate And Test Pada Pemilihan Angkutan Umum Bertrayek Dengan Jarak Terpendek terdiri dari tampilan antarmuka (user interface) hasil rancangan dari penulisan kode program dalam bahasa pemrograman Microsoft Visual Basic .NET 2010
dimulai dari program menu utama yang terdiri dari menu program pendukung lainya.
4.1.1 Tampilan Antarmuka
Tampilan antarmuka dari aplikasi pencarian jarak terdekat dengan menggunakan metode
Generate and Test adalah terdiri dari Menu Utama yang terdiri dari tombol-tombol: a. Login.
b. Aplikasi Pencarian Jarak Terpendek c. View Map
d. Edit Data User
e. Edit Data Rute
f. About
g. Keluar
4.1.1.1Tampilan Menu Utama
Gambar 4.1 Tampilan Menu Utama
Pada tampilan Menu Utama di atas terdiri dari tombol Login, Aplikasi Pencarian Jarak Terpendek, Edit Data User, Edit data Rute, About serta Keluar.
4.1.1.2Tampilan Login
Tampilan Login berfungsi untuk melakukan memasukkan hak otoritas pengguna sistem dengan inputan berupa User ID dan password. Tombol Ok berfungsi untuk melakukan verifikasi data user dan jika user ID dan password ditemukan pada database User, maka proses dilajutkan dengan pemberian hak akses sistem seperti dapat dilihat pada Gambar 4.2.
Program Login pada gambar 4.2 di atas dengan nama user dan password akan mengaktifkan tombol data user untuk melakukan edit data user.
4.1.1.3Tampilan Hasil Jarak Terpendek
Tampilan Hasil Jarak Terpendek berfungsi untuk menampilkan pencarian rute trayek angkutan kota yang terpendek dengan metode Generate and Test. Pada tampilan ini terdapat tampilan peta jalan-jalan kota Medan. Rute-rute yang terpilih ditampilkan pada peta seperti pada Gambar 4.3.
Gambar 4.3 Tampilan Pencarian Jarak Terpendek
4.1.1.4Tampilan View Map
Gambar 4.4 Tampilan View Map
4.1.1.5Tampilan EditDataUser
Gambar 4.5 Tampilan Edit Data User
4.1.1.6Tampilan Edit Data Rute
Tampilan Edit Data Rute berfungsi untuk penginputan dan mengedit data rute angkutan kota. Tampilan Edit Data Rute dapat dilihat pada Gambar 4.6.
Tampilan Edit Data Jarak berfungsi untuk penginputan dan mengedit data rute angkutan kota. Tampilan Edit Data Jarak dapat dilihat pada Gambar 4.7.
Gambar 4.7 Tampilan Edit Data Jarak
4.1.1.8Tampilan About
Tampilan About berfungsi untuk menampilkan keterangan - keterangan tentang penulis skripsi. Tampilan About dapat dilihat seperti pada Gambar 4.8.
4.2Pengujian
Tampilan Pengujian berfungsi untuk menampilkan hasil pengujian pencarian jarak terpendek trayek angkutan kota di kota Medan.
4.2.1 Pengujian Jarak Terpendek antar lokasi USU-Cambridge
Pengujian pencarian jarak terpendek antar lokasi-lokasi yang dilewati oleh angkutan umum dengan menampilkan rute-rute yang memungkinkan dan menghasilkan satu jarak terdekat.
a. Pengujian Jarak Terpendek antar lokasi USU dengan lokasi Cambridge dapat dilihat seperti pada Gambar 4.9.
Jarak Terpendek: 4 Km
Gambar 4.9 Tampilan Pengujian Pencarian Jarak Terpendek USU-Cambridge
Jarak Terpendek: 3 Km
Gambar 4.10 Tampilan Pengujian Pencarian Jarak Terpendek USU-Gramedia
c. Pengujian Jarak Terpendek antar lokasi USU dengan lokasi Grand Aston dapat dilihat seperti pada Gambar 4.11.
Jarak Terpendek: 5 Km
Gambar 4.11 Tampilan Pengujian Pencarian Jarak Terpendek USU-Grand Aston
Jarak Terpendek: 4 Km
Gambar 4.12 Tampilan Pengujian Pencarian Jarak Terpendek USU-Hermes
e. Pengujian Jarak Terpendek antar lokasi USU dengan lokasi Millenium dapat dilihat seperti pada Gambar 4.13.
Jarak Terpendek: 4 Km
Gambar 4.13 Tampilan Pengujian Pencarian Jarak Terpendek USU-Millenium
Jarak Terpendek: 6 Km
Gambar 4.14 Tampilan Pengujian Pencarian Jarak Terpendek USU-Sun Plaza
4.3 Perhitungan Manual
Perhitungan manual pencarian jarak terpendek dari lokasi asal Cambridge dan lokasi tujuan Grand Aston menggunakan metode Generate and Test. Gambar 4.15 merupakan peta kota Medan dengan jalur antar lokasi Camridge dan Grand Aston.
Gambar 4.15. Peta Cambridge – Grand Aston
Keterangan gambar : A = Cambridge
D = Pengadilan Negeri E = Grand Aston
Gambar dibawah ini sebuah graf yang menyatakan peta jaringan rute antar lokasi Cambrigde dengan Grand Aston di kota Medan.
Gambar 4.16. Graf Cambridge – Grand Aston
A dinyatakan sebagai simpul awal dan E dinyatakan sebagai simpul tujuan. Berikut cara pencarian jarak terpendek dengan menggunakan Generate and Test. Penyelesaian dengan menggunakan Generate and Test dilakukan dengan membangkitkan solusi-solusi yang memungkinkan dan membuat pohon pencarian :
1. A-B-D-E 2. A-C-D-E
Gambar 4.17. Pohon Pencarian
A
B
D
E
C
D
Kita pilih sebagai keadaan awal adalah lintasan ABDE dengan panjang lintasan = 1900. Kemudian kita lakukan backtracking untuk mendapatkan lintasan ACDE dengan panjang lintasan = 1800. Lintasan ini kita bandingkan dengan lintasan ABDE, ternyata ACDE < ABDE, sehingga lintasan yang terpilih adalah ACDE.
BAB 5
KESIMPULAN DAN SARAN
5.1Kesimpulan
Berdasarkan pengujian sistem yang telah dilakukan, dapat diambil beberapa kesimpulan yaitu:
1. Metode Generate and Test dapat melakukan pencarian rute angkutan umum di kota Medan dengan jarak terpendek.
2. Tampilan hasil pencarian berupa list data dengan menampilkan semua rute yang memungkinkan serta mencari jarak yang terpendek.
3. Hasil total jarak ditampilkan dalam satuan kilometer.
5.2Saran
Berdasarkan dari kesimpulan di atas, maka penulis memberikan beberapa saran untuk pengembangan sistem ini selanjutnya, yaitu:
1. Agar dapat dibandingkan dengan metode lain seperti Algoritma Genetika maupun Algoritma Djikstra.
DAFTAR PUSTAKA
Aini, Dewi Yusra. 2010. Analisis Algoritma A* Dan Implementasinya Dalam Pencarian Rute Terpendek Pada Jalur Lintas Sumatera Di Provinsi Sumatera Utara. Skripsi. Universitas Sumatera Utara.
Alamsyah. 2010. Pemanfaatan metode Heuristik pada pencarian jalur terpendek dengan algoritma genetika. Jurnal SMARTek. Vol. 8 No. 4: hal. 1-10.
Arifin, Muhammad Siregar. 061401070. Analisis Dan Perancangan Aplikasi Pelelangan Barang Berbasis Short Message Service (SMS). Studi kasus: Perum Pegadaian Kasuari Medan. Skripsi. Universitas Sumatera Utara Medan 2010.
Arifianto Sofyan. 2012. Sistem Aplikasi Penentuan Rute Terpendek Pada Jaringan Multi Moda Transportasi Umum Menggunakan Algoritma Dijkstra. Tesis. Semarang, Indonesia : S2 Sistem Informasi. Universitas Diponegoro.
Ben, Coffin. 2004. Artifical Intelligence Illuminated. Jones and Bartlett Illuminated Series : United States of America.
Kristanto, Harianto, Ir. 1993,1994. Konsep & Perancangan Database. ISBN: 979-533-861-7. Edisi Ketiga. Penerbit ANDI : Yogyakarta.
Kristanto, Andri. 2004. Kecerdasan Buatan. ISBN: 979-3289-57-0. Graha Ilmu : Yogyakarta
Matondang, Mardiansyah. 2012. Perancangan Perangkat Lunak Pencarian Rute Terdekat Kota – Kota Di Sumatera Dengan Algoritma Djikstra. Skripsi. Universitas Sumatera Utara.
Munir, Rinaldi. 2007. Matematika Diskrit. Edisi Ketiga. Informatika Bandung : Bandung, Indonesia.
Munir, Rinaldi. 2012-2013. Algoritma Runut-balik (Backtracking). Bahan Kuliah IF3051 Strategi Algoritma. http://informatika.stei.itb.ac.id/~rinaldi.munir/Stmik/2012-2013/Algoritma%20Runut-balik.ppt. (diakses 16 Agustus 2014).
Nugroho, Adi. 2009. Algoritma dan Struktur Data dengan C#. Penerbit ANDI : Yogyakarta, Indonesia.
Nurdiana, Dian. 2010. Implementasi Algoritma Lebah Untuk Pencarian Jalur Terpendek Dengan Mempertimbangkan Heuristik. Skripsi. Bandung, Indonesia : S1 Ilmu Komputer, Universitas Pendidikan Indonesia.
Purwananto, Yudhi., Purwitasari, Diana & Wahyu Wibowo, Agung. 2005. Implementasi dan analisis algoritma pencarian rute terpendek di kota Surabaya. Jurnal Penelitian dan Pengembangan TELEKOMUNIKASI. Vol. 10 No.2: hal. 1-8.
Sarana angkutan umum. 27 Februari 2013.
http://www.pemkomedan.go.id/images/saranaangkutan.pdf&sa=U&ei=iLxaUYvBOU rgevj4CQBQ&ved=0CBgQFjAA&sig2=Ifp1idC8j_tTYtvacttS7Q&usg=AFQjCNES ZZZ1eXDaBxE2Qs4vpsshMh0kPQ. (diakses 16 Agustus 2014).
Silaban, Ferry. 2009. Perancangan Aplikasi Sistem Informasi Pemetaan Trayek Angkutan Umum Di Kotamadya Medan. Skripsi. Medan, Indonesia : S1 Ilmu Komputer Universitas Sumatera Utara.
Sismoro, Heri. 2005. Pengantar Logika Informatika, Algoritma dan Pemograman Komputer.
ISBN: 979-763-004-8. PenerbitANDI : Yogyakarta.
LAMPIRAN
Dim IDSimpulAsal As Integer, IDSimpulTujuan As Integer Dim IDRute As Integer, IDDRute As Integer
Dim strSimpul1 As String, strSimpul2 As String, TstrSimpul As String, strTTSimpul As String
Dim ItemList1 As New ArrayList() Dim ItemList2 As New ArrayList() Dim ItemList3 As New ArrayList()
Private Sub frmMainProg_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call KoneKsi()
CMD = New OleDbCommand("select distinct(asal) from Rute order by Asal asc", Conn)
' CMD3.Dispose() IDRute=" & IDRute & "", Conn)
' RD1 = CMD1.ExecuteReader()
CMD = New OleDbCommand("select * from Rute where Asal='" & Combo1.Text & "'",
Private Sub Combo2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Combo2.SelectedIndexChanged
CMD = New OleDbCommand("select * from Rute where Asal='" & Combo1.Text & "' and Tujuan='" & Combo2.Text & "'", Conn)
RD = CMD.ExecuteReader
Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click
ListBox2.Items.Add("---values (" & RD.Item("IDDRute") & "," & IDRute & "," & Jarak & ")", Conn)
RD1 = CMD1.ExecuteReader and jarak=" & Jarak & "", Conn)
ListBox2.Items.Add("--- ---")
End If
End Sub
Private Sub cmdQuit_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdQuit.Click
Close() End Sub
CURRICULUM VITAE
DATA PRIBADI
Nama : Marthin Febrianto Pakpahan
Tempat, Tanggal Lahir : Medan, 13 Februari 1990 Jenis Kelamin : Laki – laki
Agama : Kristen Protestan
Alamat : Jl. Sei Ular Baru 78c Medan
4. 2008 – 2015 : Program Sarjana (S-1) Ilmu Komputer Universitas Sumatera Utara
Non Formal
1. 2000 – 2007 : Kursus Bahasa Inggris di YPPIA Medan
DATA KEMAMPUAN
1. Mampu mengoperasikan aplikasi Photoshop.
2. Mampu mengoperasikan aplikasi dasar pada komputer. 3. Mampu mengoperasikan aplikasi Microsoft Office.
4. Mampu menggunkan bahasa Indonesia dan bahasa Inggris.
DATA ORGANISASI
1. Anggota 234 SC Medan ( 234 Solidarity Community Medan )
2. Anggota Sapma PP Ilmu Komputer USU