Pencarian rute terpendek dengan menggunakan algoritma Fyold Warshall untuk taksi dengan rute Terminal Leuwi Panjang - Dipati Ukur

(1)

Saya yang bertandatangan di bawah ini:

Nim : 10508198

Nama : ANDRI HIDAYAT

Judul Skripsi : PENCARIAN RUTE TERPENDEK DENGAN

MENGGUNAKAN ALGORITMA FLOYD WARSHALL UNTUK TAKSI DENGAN RUTE TERMINAL LEUWI PANJANG - DIPATI UKUR

Menyatakan dengan sebenar-benarnya bahwa Penulisan LAPORAN TA/SKRIPSI berdasarkan penelitian, pemikiran dan pemaparan asli dari penulis sendiri, baik untuk naskah laporan maupun kegiatan yang tercantum sebagai bagian dari LAPORAN TA/SKRIPSI ini. Jika terdapat karya orang lain, penulis akan mencantumkan sumber secara jelas. Demikian pernyataan ini saya buat dengan sesungguhnya dan apabila dikemudian hari terdapat penyimpangan dan ketidakbenaran dalam pernyataan ini, maka saya bersedia menerima sanksi akademik berupa PENCABUTAN GELAR yang telah diperoleh karena karya tulis ini dan sanksi lain sesuai dengan norma yang berlaku di Universitas Komputer Indonesia.

Bandung, 04 Februari 2013 Yang membuat pernyataan,

ANDRI HIDAYAT NIM. 10508198


(2)

Name : Andri Hidayat

Place, date of Birth : Sukabumi 18th of May 1989

Sex : Male

Marital Status : Single Religion : Moslem

Address : Jl. Bagusrangin2 No.112 Rt. 05/07 Kelurahan Lebak Gede, Kecamatan Coblong, Kodya Bandung (40132) Indonesia

Phone : +6285659506806 E-mail Address : drimamix@gmail.com

Hobbies : reading, photography, cycling

2008 – 2013 Indonesia Computer University, Faculty of Engineering and Computer ScienceInformation System

2005 – 2008 Teknologi Plus Padjadjaran IT High School, Sukabumi 2002 – 2005 1 Junior High School, Cicurug - Sukabumi

1996 – 2002 Pasirdoton Elementary School, Cidahu - Sukabumi

2012 – Present SEL-B (Sepeda Lipat Bandung) 2012 Bike to campus Bandung

2011 – 2012 General Staff at PT. Zigra Apthanirbaya, Bandung

2011 Apprentice System Analysis and Computer Management at PT. Pindad (Persero), Bandung

2005 Apprentice at PDAM Office Sukabumi

Personal Details

Education Background


(3)

LEUWI PANJANG - DIPATI UKUR

SKRIPSI

Diajukan Sebagai Salah Satu Syarat Kelulusan Pada Program Studi Sistem Informasi Jenjang S1 (Sarjana)

Fakultas Teknik Dan Ilmu Komputer

ANDRI HIDAYAT 1.05.08.198

PROGRAM STUDI SISTEM INFORMASI

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2013


(4)

iii Assalamualaikum Wr. Wb

Puji syukur kehadirat Allah SWT, karena atas berkah rahmat dan karunia-Nya penulis dapat menyelesaikan skripsi ini. Tidak lupa salawat serta salam semoga tetap tercurahkan pada junjungan kita Nabi Muhammad S.A.W. Penulis menyadari bahwa karena taufik, hidayah dan inayah-Nyalah skripsi ini dapat terselesaikan dengan judul “PENCARIAN RUTE TERPENDEK DENGAN MENGGUNAKAN ALGORITMA FLOYD WARSHALL UNTUK TAKSI DENGAN RUTE TERMINAL LEUWI PANJANG - DIPATI UKUR”.

Tujuan disusunnya skripsi ini adalah untuk memenuhi salah satu syarat kelulusan program Studi Strata 1 (S1) pada Program Studi Sistem Informasi Fakultas Teknik dan Ilmu Komputer, Universitas Komputer Indonesia Bandung.

Terlepas dari itu semua, skripsi ini dapat terwujud dengan bantuan, bimbingan, dorongan dan do’a dari berbagai pihak kepada penulis. Dalam kesempatan ini penulis ingin mengucapkan rasa terima kasih yang tidak terhingga terutama kepada kedua Orangtua yang telah memberikan dukungan moril, materil, dan selalu mendo’akan supaya skripsi ini berjalan dengan lancar serta selalu melakukan yang terbaik untuk diri penulis, yang tidak dapat terbalas dengan apapun dan sampai kapanpun. Selanjutnya penulis mengucapkan terima kasih kepada :


(5)

iv

2. Bapak Prof. Dr. H. Denny Kurniadie., Ir., M. Sc, selaku Dekan Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

3. Bapak Syahrul Mauluddin., S.Kom, M.Kom selaku Dosen Wali kelas MI-05 angkatan 2008, dan selaku Ketua Program Studi Sistem Informasi.

4. Bapak Tono Hartono., S.Si.,MT, selaku dosen pembimbing yang telah berkenan meluangkan waktu guna membimbing, mengarahkan, dan memberi petunjuk.

5. Ibu Marliana Budhiningtyas, S.SI., MSI, selaku dosen penguji 1 yang telah memberikan arahan serta masukan.

6. Bapak Bella Hardiyana, S.Kom, selaku dosen penguji 2 yang telah memberikan arahan serta masukannya juga.

7. Staf Dosen dan Asisten yang telah banyak membekali ilmu pengetahuan dan keterampilan pada penulis.

8. Orang tua dan kedua adik-adik serta keluarga tercinta yang selalu memberikan doa yang tulus, pengertian, semangat, dan bantuannya baik secara moril maupun materil.

9. Agus Rian, Dani Aprialdi, Aldian Ramdhani, Haditya Rizky, Cahya Gunawan, Kadek Arya, Ilham Pratama, Ricky Abdillah serta teman-teman angkatan 2008 khususnya kelas MI-5 2008 yang telah memberikan pengalaman hidup yang berharga bagi penulis.


(6)

v

11.Seluruh pihak yang tidak dapat disebutkan satu per satu, terima kasih telah memberikan motivasi, inspirasi, semangat dan do’a dengan tulus dan ikhlas sehingga membantu penulis dalam memperlancar proses pembuatan skripsi ini.

Semoga amal baik dari semua pihak yang telah penulis sebutkan di atas mendapatkan balasan dari Allah SWT. Akhirnya dengan segala keterbatasan, Penulis menyadari sepenuhnya bahwa penyusunan skripsi ini masih jauh dari sempurna.

Wassalamualaikum Wr. Wb

Bandung, 26 Januari 2013


(7)

vi Lembar Pengesahan

Lembar Pernyataan Keaslian

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... vi

DAFTAR GAMBAR ... x

DAFTAR TABEL ... xxi

DAFTAR SIMBOL……….….xxii

BAB I PENDAHULUAN 1.1. Latar Belakang Masalah ... 1

1.2. Identifikasi dan Rumusan Masalah ... 3

1.3. Maksud dan Tujuan Penelitian ... 4

1.4. Kegunaan Penelitian ... 5

1.4.1. Kegunaan Praktis ... 5

1.4.2. Kegunaan Akademis ... 5

1.5. Batasan Masalah ... 6

1.6. Lokasi Dan Waktu Penelitian ….. ... 9

BAB II LANDASAN TEORI 2.1. Konsep Dasar Algoritma ... 10


(8)

vii

2.2. Konsep Dasar Graf ... 11

2.2.1. Sejarah Graf ... 11

2.2.2. Definisi Graf ... 13

2.2.3. Jenis Graf ... 14

2.2.3.1. Graf tak berarah ... 14

2.2.3.2. Graf Berarah ... 15

2.3. Definisi Lintasan (Path) ... 16

2.3.1. Lintasan Terpendek (Shortest Path) ... 17

2.4. Algoritma Floyd Warshall ... 17

2.5. Algoritma Greedy ... 19

2.6. Definisi Taksi ... 21

2.7. Definisi Jarak ... 22

2.8. Definisi Node ... 22

2.9. Flowchart ... 23

2.9.1. Pedoman Membuat Flowchart ... 23

2.9.2. Jenis Flow Chart ... 25

2.10. JavaScript ... 26

2.10.1.Kelebihan JavaScript ... 29

2.10.2.Kekurangan JavaScript ... 29

2.11. Macromedia Dreamweaver8 ... 30


(9)

viii

3.1.1 Analisis Kebutuhan Sistem ... 34

3.1.2 Spesifikasi Aplikasi ... 35

3.1.3 Lingkungan Operasi ... 36

3.2. Analisis Algoritma Floyd Warshall ... 37

3.2.1. Algoritma Floyd Warshall ... 37

3.2.2. Definisi Strategi Algoritma Floyd Warshall ... 37

3.2.3. Cara Kerja Algoritma Floyd Warshall ... 38

3.3.Analisis Perangkat Lunak dan Perangkat Keras ... 40

3.3.1. Perangkat Lunak ... 40

3.3.2. Perangkat Keras ... 40

BAB IV PERANCANGAN 4.1. Deskripsi Simulasi Pencarian Rute Terpendek ... 41

4.2. Perancangan Sistem ... 41

4.2.1.Tujuan Perancangan Sistem ... 41

4.2.2.Gambaran Umum Sistem ... 42

4.3. Implementasi Algoritma Floyd Warshall Pada Simulasi Pencarian Rute Terpendek Untuk Taksi ... 42

4.3.1.Pengembangan Cara Kerja Umum Algoritma Floyd Warshall .... 43

4.3.2.Data Dalam Graf ... 44


(10)

ix

4.5.1.Perancangan Input dan Output Sistem ... 95

BAB V IMPLEMENTASI

5.1 Manual Program ... 98 5.2 Manual Instalasi ... 134

BAB VI KESIMPULAN DAN SARAN

6.1 Kesimpulan ... 137 6.2 Saran ... 137

DAFTAR PUSTAKA LAMPIRAN


(11)

Sumber Buku

Erliansyah Nasution dan Indra Yatini B.2005. Algoritma dan Struktur Data. Graha Ilmu. Yogyakarta.

Hernita P.2010.Panduan Praktis Menguasai Pemrograman Web dengan JavaScript.Andi.Yogyakarta

P.Insap Santosa. 2004. Struktur Data Menggunakan Turbo Pascal 6.0. Andi. Yogyakarta.

Rinaldi Munir.2009.Matematika Diskrit.Informatika Bandung

Sumber Internet

http://id.wikipedia.org/wiki/Algoritma_Floyd-Warshall 29 Agustus 2012

http://zafnatpaneyah.blogspot.com/2011/10/algoritma-floyd-warshall.html 29 Agustus 2012

http://id.shvoong.com/internet-and-technologies/software/2223701-algoritma-floyd-warshall/#ixzz24wlcWoZy 29 Agustus 2012

http://hanapert.blogspot.com/2011/10/algoritma-greedy.html 06 April 2012

http://id.wikipedia.org/wiki/Diagram_alir 29 Agustus 2012

http://fairuzelsaid.wordpress.com/2010/01/13/analisis-sistem-informasi-pedoman-membuat-flowchart/ 29 Agustus 2012

http://www.jaf.web.id/2011/10/simbol-flowchart.html 05 April 2012

http://www.elearning.atmaluhur.ac.id/.../Macromedia-Dreamweaver8/ 03 September 2012


(12)

taksi/#ixzz2GysxA9zc 4 Januari 2013

http://id.wikipedia.org/wiki/Jarak 4 Januari 2013


(13)

1 1.1. Latar Belakang Masalah

Tentu kita ketahui Indonesia memiliki bayak kota dari berbagai provinsi yang ada, dari banyaknya kota yang ada di Indonesia pada setiap kota mempunyai daya tarik tersendiri mulai dari budaya, keindahan alam atau makanan khas yang berbeda. Salah satu kota besar yang ada yaitu kota Bandung, kota Bandung adalah ibu kota dari provinsi Jawa Barat, kota Bandung atau lebih dikenal dengan sebutan kota kembang ini menjadi salah satu kota yang banyak diminati para turis lokal, selain terkenal karena kulinernya kota bandung juga dikenal sebagai kota fashion.

Selain itu seiring dengan perkembangan zaman dan pertumbuhan masyarakat yang semakin cepat, kini kota Bandung menjadi salah satu kota terpadat di Jawa Barat. Karena daya tarik yang dimiliki kota Bandung mampu mendorong arus urbanisasi dari daerah sekitar. Dan sebagaimana masalah yang sering dihadapi pada kota – kota besar yang memiliki jumlah penduduk cukup padat, kota Bandungpun tidak luput dari kemacetan. Seiring aktivitas yang dilakukan baik oleh masyarakat setempat ataupun masyarakat dari kota lain yang datang ke Bandung setiap harinya, selain itu pertumbuhan jumlah kendaraan pribadi yang tidak seimbang dengan pertumbuhan jaringan lalulintas yang ada maka kepadatan arus lalulintaspun tidak dapat dihindarkan. Oleh karena itu penentuan rute dari satu tempat ke tempat lain dengan menentukan jalan


(14)

terpendek atau terdekat manjadi sangatlah penting. Selain mampu mempercepat aktivitas perjalanan diharapkan mampu mentertibkan lalulintas yang ada, dan tentunya dari sisi lain diharapkan juga mampu menstabilkan system perekonomian untuk daerah setempat.

Dalam pencarian jalur terpendek tentunya merupakan suatu permasalahan untuk menentukan sebuah jalur yang mempunyai dua simpul atau node yaitu node awal dan node akhir atau tujuan dengan jumlah bobot minimal. Dalam proses pencarian rute terpendek dari satu lokasi kelokasi lain tentu kita membutuhkan suatu peta pembantu, dan dalam kasus pencarian rute terpendek pada sebuah peta sebuah node akan merepresentasikan suatu lokasi pada peta tersebut, dan suatu bobot akan merepresentasikan jarak atau waktu tempuh untuk melakukan perjalanan dari dua lokasi yaitu lokasi asal kelokasi tujuan.

Salah satu metode yang bisa digunakan untuk menyelesaikan suatu masalah dalam proses pencerian jalur terpendek yaitu dengan menggunakan algoritma Floyd Warshall. Algoritma Floyd Warshall yaitu salah satu metode untuk mencari lintasan terpendek dalam graf berbobot (dengan bobot sisi negative atau positif). Pengertian Wikipedia : Algoritma Floyd-Warshall memiliki input graf berarah dan berbobot (V,E), yang berupa daftar titik (node/vertex V) dan daftar sisi (edge E). Jumlah bobot sisi-sisi pada sebuah jalur adalah bobot jalur tersebut. Sisi pada E diperbolehkan memiliki bobot negatif, akan tetapi tidak diperbolehkan bagi graf ini untuk memiliki siklus dengan bobot negatif. Algoritma ini menghitung bobot terkecil dari semua jalur yang menghubungkan sebuah pasangan titik, dan melakukannya sekaligus untuk semua pasangan titik. Dalam hal ini penulis


(15)

mencoba menentukan rute terpendek menggunakan taksi dengan rute Leuwi Panjang – Dipati Ukur menggunakan algoritma Floyd Warshall.

Berdasarkan latar belakang dan masalah yang telah di jelaskan di atas maka penulis mengajukan judul : “Pencarian Rute Terpendek Dengan Menggunakan Algoritma Floyd Warshall Untuk Taksi Dengan Rute Terminal Leuwi Panjang - Dipati Ukur”.

1.2. Indentifikasi dan Rumusan Masalah

Bagi sebagian masyarakat kota Bandung yang sebagian aktivitasnya dilakukan dari tempat satu ke tempat lainnya dan banyaknya pendatang dari kota lain yang berkunjung, tentu kendaraan menjadi salah satu bagian terpenting dan pertimbangan jalur yang ditempuh menjadi salah satu faktor utama pendukung dalam mempercepat waktu perjalanan dan aktivitas kerja.

Bagi masyarakat terutama yang aktifitasnya didukung dengan kendaraan umum khususnya taksi, jarak tempuh dan kemacetan menjadi salah satu masalah serius yang tiap kali harus dihadapi, oleh karena itu perlu adanya solusi tepat untuk mengantisifasi hal tersebut guna mempercepat waktu keberangkatan serta meminimalisir biaya yang dikeluarkan untuk bepergian dari satu tempat ke tempat tujuan. Melihat keadaan tersebut maka dibutuhkan suatu fasilitas yang mampu memberikan solusi tepat dengan memberikan data dan informasi yang menunjukan jalur alternatif atau jalur tercepat.

Berdasarkan latar belakang masalah yang telah dipaparkan di atas, maka penulis mengidentifikasi masalah yang berhubungan dengan pencarian rute


(16)

terpendek dengan menggunakan algoritma Floyd Warshall pada taksi dengan rute Leuwi Panjang Dipati Ukur, yaitu menggunakan algoritma Floyd Warshall untuk optimasi mencari rute terpendek untuk mendapatkan jarak terdekat dan dengan waktu tercepat.

Adapun rumusan masalah yang akan penulis teliti berdasarkan identifikasi masalah diatas adalah :

1. Bagaimana membuat program simulasi untuk mencari jarak terpendek menggunakan algoritma Floyd Warshall.

2. Bagaimana mencari lintasan terpendek dari jarak yang akan ditempuh dan waktu tempuh menggunakan algoritma Floyd Warshall.

1.3. Maksud dan Tujuan Penelitian

Maksud dari penelitian yang penulis lakukan adalah untuk membangun Simulasi pencarian rute terpendek untuk taksi dari terminal Leuwi Panjang menuju Dipati Ukur dengan menggunakan algoritma Floyd Warshall, sebagai latihan untuk studi banding antara hal-hal yang telah dipelajari selama dibangku kuliah dengan kegiatan yang dilakukan dilapangan. Sedangkan tujuan dari penelitian yang penulis lakukan yaitu :

1. Untuk melihat performansi algoritma Floyd Warshall untuk pencarian rute terpendek.

2. Untuk membuat suatu program simulasi dengan menggunakan algoritma Floyd Warshall untuk mencari rute terpendek.


(17)

1.4. Kegunaan Penelitian

Dari penelitian yang penulis lakukan maka ada beberapa kegunaan yang didapat dari penelitian yang dilakukan.

1.4.1. Kegunaan Praktis

Dari kegunaan praktis dari penelitian ini yaitu menggunakan algoritma Floyd Warshall untuk optimasi mencari rute terpendek untuk mendapatkan jarak terdekat dengan waktu tercepat, dan menghindari kemacetan pada pencarian rute terpendek terminal Leuwi Panjang menuju Dipati Ukur menggunakan taksi. 1.4.2. Kegunaan Akademis

Adapun kegunaan akademis dari penelitian yang penulis lakukan adalah sebagai berikut :

1. Bagi penulis, untuk menambah wawasan serta pengetahuan penulis, dan dapat membandingkan ilmu yang diperoleh selama duduk dibangku kuliah dengan kondisi dilapangan.

2. Bagi pengembangan ilmu, memberikan masukan ilmu bagi jurusan Sistem Informasi tentang Simulasi Pencarian Rute Terpendek Menggunakan Algoritma Floyd Warshall Pada Taksi dengan rute Leuwi Panjang Dipati Ukur.

3. Bagi peneliti lain, menjadi bahan referensi atau masukan dan sumber informasi sebagai sumber kepustakaan yang sama dengan tema yang dibahas dalam penelitian ini.


(18)

1.5. Batasan Masalah

Pencarian rute terpendek dengan menggunakan algoritma Floyd Warshall pada taksi dengan rute terminal Leuwi Panjang-dipati ukur akan mencari waktu tercepat dan jarak terpendek dari jalur yang ada dan node yang dilalui, Dalam melakukan simulasi pencarian rute taksi dengan rute Leuwi Panjang Dipati Ukur, agar tidak menyimpang dari tujuan penelitian maka penulis membatasi masalah yang akan dibahas pada penelitian ini, yaitu :

1. Wilayah yang diambil adalah dari terminal Leuwi Panjang sampai dengan jalan Dipatiukur.

2. Algoritma Floyd Warshall yang digunakan untuk mencari jarak terpendek dengan ketentuan bobot antara titik yang ditentukan adalah bobot jarak dan bobot waktu

3. Waktu yang ditentukan adalah waktu tempuh dihitung banyaknya persimpangan jalan dihitung berapa waktu lampu lalu lintas saat kondisi lampu berwarna merah.

4. Rute yang diambil dari taksi yang digunakan dengan posisi awal terminal Leuwi Panjang menuju ke jalan Dipati Ukur.

5. Rute yang dilalui yaitu Jalan protokol dari Terminal Leuwi Panjang Sampai dengan Dipati Ukur.

6. Lamanya waktu tempuh tidak dihitung dengan lama kemacetan, diasumsikan jalur yang dilalui tidak ada kemacetan

7. Inisialisasi pada node dilakukan secara acak (tidak berurutan) 8. Rute yang diambil dan bisa dilalui yaitu sebagai berikut :


(19)

1) NA (Term. Leuwi Panjang) – N1 (Jl. Kopo)– N2(Jl. Terusan Pasir Koja) – N8 (Jl. Astana Anyar) – N9(Jl. Gardu Jati) – N20 (Jl. Pasir Kaliki) – N24 (Jl. Sukajadi) – N25 (Jl. Layang Pasupati) – N35 (Jl. Cikapayang) - N36 (Jl. Dipati Ukur).

2) NA (Term. Leuwi Panjang) – N1(Jl. Kopo) – N2 (Jl. Terusan Pasir Koja) – N8(Jl. Astana Anyar) – N9 (Jl. Gardu Jati) – N20 (Jl. Pasir Kaliki) – N21(Jl. Pajajaran) – N22 (Jl. Cihampelas) – N23(Jl. Wastu Kencana) – N26(Jl. Taman Sari) – N35(Jl. Cikapayang) – N36 (Jl. Dipati Ukur). 3) NA (Term. Leuwi Panjang) – N1(Jl. Kopo) – N2 (Jl. Terusan Pasir Koja)

– N8(Jl. Astana Anyar) – N9 (Jl. Gardu Jati) – N10 (Jl. Kebon Jati) – N17(Jl.Suniaraja) – N23(Jl. Wastu Kencana) – N27(Jl. Dago) – N35(Jl. Cikapayang) – N36(Jl. Dipati Ukur)

4) NA (Term. Leuwi Panjang) – N1(Jl. Kopo) – N2 (Jl. Terusan Pasir Koja) – N8(Jl. Astana Anyar) – N9(Jl. Gardu Jati) – N10 (Jl. Kebon Jati) – N17(Jl. Suniaraja) – N23(Jl. Wastu Kencana) – N27(Jl. Dago) – N36(Jl. Dipati Ukur).

5) NA (Term. Leuwi Panjang) – N1(Jl. Kopo) – N2(Jl. Terusan Pasir Koja) – N7 (Jl. Pungkur) – N11 (Jl. Dewi Sartika) – N12 (Jl. Dalem Kaum) – N13(Jl. Alun-alun Timur) – N14(Jl. Banceuy) – N15 (Jl. Naripan) – N16(Jl. Braga) – N17(Jl. Suniaraja) – N23(Jl. Wastu Kencana) – N27 (Jl. Dago) – N35(Jl. Cikapayang) – N36(Jl. Dipati Ukur)

6) NA (Term. Leuwi Panjang) – N1(Jl. Kopo) – N2 (Jl. Terusan Pasir Koja) – N7 (Jl. Pungkur) – N11(Jl. Dewi Sartika) – N12(Jl. Dalem Kaum) –


(20)

N13 (Jl. Alun-alun Timur) – N14(Jl. Banceuy) – N15(Jl. Naripan) – N16 (Jl. Braga) – N17(Jl. Suniaraja) – N23(Jl. Wastu Kencana) – N27(Jl. Dago) – N36(Jl. Dipati Ukur)

7) NA (Term. Leuwi Panjang) – N3(Jl. Leuwi Panjang) – N4(Jl. Peta) – N5(Jl. BKR) – N6(Jl. Moch Toha) – N7(Jl. Pungkur) – N11(Jl. Dewi Sartika) – N12(Jl. Dalem Kaum) – N13 (Jl. Alun-alun Timur) – N14(Jl. Banceuy) – N15(Jl. Naripan) – N16 (Jl. Braga) – N17 (Jl. Suniaraja) – N23(Jl. Wastu Kencana) – N27 (Jl. Dago) – N35(Jl. Cikapayang) – N36(Jl. Dipati Ukur)

8) NA (Term. Leuwi Panjang) – N3 (Jl. Leuwi Panjang) – N4(Jl. Peta) – N5 (Jl. BKR) – N6 (Moch Toha) – N7(Jl. Pungkur) – N11(Jl. Dewi Sartika) – N12(Jl. Dalem Kaum) – N13(Jl. Alun-alun Timur) – N14(Jl. Banceuy) – N15(Jl. Naripan) – N16(Jl. Braga) – N17 (Jl. Suniaraja) – N23(Jl. Wastu Kencana) – N27(Jl. Dago) – N36(Jl. Dipati Ukur)

9) NA (Term. Leuwi Panjang) – N3(Jl. Leuwi Panjang) – N4 (Jl. Peta) – N5 (Jl. BKR) – N6 (Moch Toha) – N7(Jl. Pungkur) – N28 (Jl. Karapitan) - N29(Jl. Sunda) – N30 (Jl. Sumbawa) – N31 (Jl. Seram) – N32 (Jl. Wastu Kencana) – N33(Jl. Maulana Yusuf) – N34 (Jl. Pangeran Kornel) – N35(Jl. Cikapayang) - 36(Jl. Dipati Ukur).

9. Pada simpul N23 bisa menuju simpul N27 Jika jalur yang ditempuh sebelumnya dari N17, dan pada simpul N23 hanya bisa menuju simpul N26 Jika jalur sebelumnya dari simpul N22.


(21)

11.Bobot jarak dan bobot waktu pada graf di ambil dari google maps dengan tahun data yang di ambil 2012

1.6. Lokasi Dan Waktu Penelitian

Adapun lokasi pada penelitian ini yaitu Jalan protokol yang bisa dilalui dari Terminal Leuwi Panjang Menuju Dipati Ukur Bandung, dan berikut table jadwal penelitian yang penulis lakukan :

Tabel 1.1

Estimasi Jadwal Penelitian

No Kegiatan

Tahun 2012

September Oktober November Desember 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 Studi Pustaka

2 Analisis Kebutuhan Sistem

3 Perancangan Sistem a. Pembuatan

Rancangan Simulasi b. Pembuatan

Rancangan Antar Muka

c. Pembuatan Flow Chart

d. Pengembangan Algoritma Floyd Warshall

4 Pembuatan Perangkat Lunak a. Struktur Program b. Struktur Menu c. Pengkodean 5 Pengujian Sistem 6 Evaluasi Sistem


(22)

10 2.1 Konsep Dasar Algoritma

2.1.1 Sejarah Algoritma

Dilihat dari asal usul kata, kata algoritma sendiri mempunyai sejarah yang aneh. Kata ini tidak muncul dalam kamus Webster sampai akhir tahun 1957. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka Arab [KNU73]. Seseorang dikatakan algorist jika menggunakan angka Arab. Para ahli berusaha menemukan asal kata algorism ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal mula kata tersebut. Kata algorism berasal dari nama penulis buku Arab yang terkenal, yaitu Abu Ja’far Muhammad ibnu Musa al-Khuwarizmi (al-Khuwarizmi dibaca orang Barat menjadi algorism).

Al-Khuwarizmi menulis buku yang berjudul Kitab al jabar wal-muqabala, yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu diperoleh juga akar kata “aljabar” (algebra). Perubahan dari kata algorism menjadi alghorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna aslinya. Dalam bahasa Indonesia, kata alghorism diserap menjadi algoritma.


(23)

2.1.2 Definisi Algoritma

Menurut Rinaldi Munir (2005 : 176) “Algoritma adalah urutan logis langkah-langkah penyeleseian masalah yang disusun secara sistematis”. Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.

Algoritma dapat dituliskan dalam berbagai notasi, misalnya dalam notasi kalimat-kalimat deskriptif. Dengan notasi kalimat deskriptif, deskripsi setiap langkah dijelaskan dengan bahasa sehari-hari secara jelas. Setiap langkah biasanya diawali dengan kata kerja seperti ‘baca’, ‘hitung’, ‘masukan’, ‘bagi’, ‘ganti’, dan sebagainya. Sedangkan pernyataan bersyarat dinyaakan dengan ‘jika’,’maka’, dan sebagainya.

2.2 Konsep Dasar Graf 2.2.1. Sejarah Graf

Menurut catatan sejarah, masalah jembatan Konigsberg adalah masalah yang pertama kali menggunakan graf (tahun 1736). Di kota konigsberg (sebelah timur negara bagian Prussia, Jerman), sekarang bernama kota Kaliningrad, terdapat sungai Pregal yang mengalir mengintari pulau Kneiphof lalu bercabang menjadi dua buah anak sungai.

Ada tujuh buah jembatan yang menghubungkan daratan yang dibelah oleh sungai tersebut. Masalah jembatan Konigsberg adalah : apakah mungkin melalui ketujuh buah jembatan itu masing-masing tepat satu kali, dan kembali lagi ke


(24)

tempat semula. Sebagian penduduk kota tersebut sepakat bahwa memang tidak mungkin melalui setiap jembatan itu hanya sekali dan kembali lagi ke tempat asal mula keberangkatan, tetapi mereka tidak dapat menjelaskan mengapa demikian jawabannya, kecuali dengan cara coba-coba. Tahun 1736, seorang matematikawan Swiss, L.Euler, adalah orang pertama yang berhasil menemukan jawaban masalah itu dengan pembuktian yang sederhana. Ia memodelkan masalah ini kedalam graf. Daratan (titik-titik yang dihubungkan oleh jembatan) dinyatakannya sebagai titik (noktah) yang disebut simpul (vertex) dan jembatan dinyatakan sebagai garis yang disebut sisi (edge). Setiap titik diberi label huruf A, B, C, dan D. Graf yang dibuat oleh Euler diperlihatkan pada gambar berikut :

A

B

C

D

Gambar 2.1 Graf Yang Merepresentasikan Jembatan Konigsberg (Sumber : Rinaldi Munir.2009)

Jawaban yang dikemukakan oleh Euler adalah : orang tidak mungkin melalui ketujuh jembatan itu masing-masing satu kali dan kembali lagi ke tempat asal keberangkatan jika derajat setiap simpul tidak seluruhnya genap. Yang


(25)

dimaksud dengan derajat adalah banyaknya garis yang bersisian dengan noktah. Sebagai contoh, simpul C memiliki 3 derajat karena ada tiga buah garis yang bersisian dengannya, simpul B dan D juga berderajat dua, sedangkan simpul A berderajat 5. Karena tidak semua simpul berderajat genap, maka tidak mungkin dilakukan perjalanan berupa sirkuit (yang dinamakan sirkuit Euler) pada graf tersebut.

2.2.2. Definisi Graf

Menurut Indra Yatini. B. dan Erliansyah Nasution, 2005 : 379 Graf penting sebagai model untuk berbagai jenis proses atau struktur. Kota-kota dan jalan-jalan yang menghubungkan membentuk graf, seperti juga komponen pada papan sirkuit yang berhubungan di antara mereka.

“Graf secara umum bisa didefinisikan sebagai kumpulan titik (nodes atau vertices) dan garis (arcs atau edges)” (P.Insap Santosa, 2004 : 497). Karena garis selalu diawali dari suatu titik dan diakhiri pada titik yang lain, maka garis bisa dituliskan sebagai pasangan antara dua titik.

Graf G didefinisikan sebagai pasangan himpunan (V,E), yang dalam hal ini : V = himpunan berhingga dan tidak kosong dari simpul-simpul (vertices atau node) = { v1,v2,...,vn dan E = himpunan sisi (edges atau arcs) yang menghubungkan sepasang simpul = { e1,e2,...,en} atau dapat ditulis singkat notasi G = (V, E .). Simpul pada graf dapat dinomori dengan huruf, seperti v, w,…,dengan bilangan asli 1, 2, 3,…, atau gabungan keduanya. Sedangkan sisi yang menghubungkan simpul videngan simpul vjdinyatakan dengan pasangan


(26)

(vi,vj) atau dengan lambang e1,e2,.... Dengan kata lain, jika e adalah sisi yang menghubungkan simpul videngan simpul vj, maka e dapat ditulis sebagai : e = ( vi,vj )

Berikut adalah contoh gambar graf :

Gambar 2.2 Graf sederhana (a), Graf Ganda (b), Graf semu (c)

(Sumber : Rinaldi Munir.2009)

2.2.3. Jenis Graf

Sisi pada graf dapat mempunyai orientasi arah, berdasarkan orientasi arah pada sisi, maka secara umum dapat dibedakan menjadi dua jenis, yaitu :

2.2.3.1 Graf Tak-berarah

Graf tak berarah adalah graf yang sisinya tidak mempunyai orientasi arah. Pada graf tak-berarah, urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan. Jadi, (u, v) = (v, u) adalah sisi yang sama. Contoh gambar graf tak berarah bisa dilihat pada gambar 2.1 di atas.


(27)

2.2.3.2 Graf Berarah

Graf yang setiap sisinya diberikan orientasi arah disebut sebagai graf berarah. Kita lebih suka menyebut sisi berarah dengan sebutan busur (arc). Pada graf berarah, (u, v) dan (v, u) menyatakan dua buah busur yang berbeda, dengan kata lain (u, v) ≠ (v, u). untuk busur (u, v), simpul u dinamakan simpul asal, dan simpul v dinamakan simpul terminal.

2

1

3

4

Gambar 2.3 Graf Berarah

(Sumber : Rinaldi Munir.2009)

Menurut Insap Santoso 2004 : 499 dalam bukunya yang berjudul Struktur Data Menggunakan Turbo Pascal 6.0 Menjelaskan bahwa Graph berarah (directed graph, atau digraph) adalah merupakan bentuk yang lebih khusus dari graph seperti yg dijelaskan di atas, karena kedalam graph berarah terkandung suatu aliran (flow), misalnya aliran beban, dari satu titik ketitik lain; dalam gambar biasanya disajikan menggunakan anak panah. Dengan demikian, pasangan titik yang menyatakan suatu garis harus disusun secara berurutan (ordered pair). Hal ini bisa dipahami dengan membayangkan suatu jalan yang lalulintasnya hanya bisa dalam satu arah (one-way-traffic). Dalam pasangan berurutan ini titik pertama menunjukan titik asal aliran (source), dan titik kedua menunjukan titik tujuan (sink).


(28)

A

B

C

D E

F

Gambar 2.4 Implementasi Graph Berarah

(Sumber : P.Insap Santosa. 2004)

Dengan kenyataan diatas maka gambar 2.3 harus dituliskan sebagai :

N = {A,B,C,D,E,F}

E = {[A,B],[A,E],[B,C],[E,B],[C,E],[C,D],[E,D],[D,F]}

Selain sebutan titik asal dan titik tujuan, titik pertasa juga sering disebut dengan predesesor dari titik kedua, dan titik kedua adalah suksesor dari titik pertama. Dengan demikian titik A adalah predesesor dari titik B dan E, dan titik B adalah suksesor dari titik A.

2.3 Definisi Lintasan

Lintasan adalah hubungan antara titik dalam sebuah graf. Lintasan yang berawal dan berakhir pada simpul yang sama disebut lintasan tertutup (closed path), sedangkan lintasan yang tidak berawal dan berakhir pada simpul yang sama disebut lintasan terbuka (open path).


(29)

2.3.1 Lintasan Terpendek (Shortest Path)

Persoalan mencari lintasan terpendek di dalam graf merupakan salah satu persoalan optimasi. Graf yang digunakan dalam pencarian lintasan terpendek adalah graf berbobot (weighted graph), yaitu graf yang setiap sisinya diberikan suatu nilai atau bobot. Bobot pada sisi graf dapat menyatakan jarak antar kota, waktu pengiriman pesan, ongkos pembangunan, dan sebagainya. Asumsi yang digunakan disini adalah bahwa semua bobot bernilai positif. Kata “terpendek” jangan selalu diartikan secara fisik sebagai panjang minimum, sebab kata “terpendek” berbeda-beda maknanya tergantung pada tipikal persoalan yang akan diseleseikan. Namun secara umum “terpendek” berarti meminimisasi bobot pada suatu lintasan di dalam graf.

Ada beberapa macam persoalan lintasan terpendek, antara lain : a. Lintasan terpendek antara dua buah simpul tertentu.

b. Lintasan terpendek antara semua pasangan simpul.

c. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain. d. Lintasan terpendek antara dua buah simpul yang melalui beberapa

simpul tertentu.

2.4 Algoritma Floyd Warshall

Algoritma Floyd-Warshall ditemukan oleh Stephen Warshall dan Robert W. Floyd. Stephen Warshall lahir di New York pada tahun 1935 dan meninggal pada tanggal 11 desember 2006. Robert W. Floyd, lahir di New York pada tanggal 8 juni 1936 dan meninggal pada tangggal 25 September 2001.


(30)

Dalam Wikipedia dikutip bahwa Algoritma Floyd-Warshall memiliki input graf berarah dan berbobot (V,E), yang berupa daftar titik (node/vertex V) dan daftar sisi (edge E). Jumlah bobot sisi-sisi pada sebuah jalur adalah bobot jalur tersebut. Sisi pada E diperbolehkan memiliki bobot negatif, akan tetapi tidak diperbolehkan bagi graf ini untuk memiliki siklus dengan bobot negatif. Algoritma ini menghitung bobot terkecil dari semua jalur yang menghubungkan sebuah pasangan titik, dan melakukannya sekaligus untuk semua pasangan titik. Algoritma ini berjalan dengan waktu Θ(|V|3).

Dalam blog zafnatpaneyah.blogspot.com dikutip bahwa Pengertian Umum Algoritma Floyd Warshall: Merupakan salah satu varian dari pemrograman dinamis, yaitu suatu metode yang melakukan pemecahan masalah dengan memandang solusi yang akan diperoleh sebagai suatu keputusan yang saling terkait. Artinya solusi-solusi tersebut dibentuk dari solusi yang berasal dari tahap sebelumnya dan ada kemungkinan solusi lebih dari satu.

Adapun pembahasan yang lebih detil yang di kutip oleh Raja Untung pada web id.shvoong.com yaitu Jarak terpendek merupakan bagian dari teori graph. Jika diberikan sebuahgraph berbobot, masalah jarak terpendek adalah bagaimana kita mencari sebuah jalur pada graph yang meminimalkan jumlah bobot sisi pembentuk jalur tersebut. Salah satu algoritma untuk mengatasi hal ini adalah dengan menggunakanalgoritma Floyd- Warshall. Algoritma Floyd-Warshall memiliki input graph berarah dan berbobot (V,E),yang berupa daftar titik (node / vertex V) dan daftar sisi (edge E). Jumlah bobot sisi-sisi pada sebuah jalur adalah bobot jalur tersebut. Sisi pada E diperbolehkan memiliki bobot negatif, akan tetapi


(31)

tidak diperbolehkan bagi graph ini untuk memiliki siklus dengan bobot negatif. Algoritma ini menghitung bobot terkecil dari semua jalur yang menghubungkan sebuah pasangan titik, dan melakukannya sekaligus untuk semua pasangan titik. Algoritma ini berjalan dengan waktuO(|V|3).Jadi pada intinya Algoritma Floyd Warshall membandingkan semua kemungkinan lintasan pada graph untuk setiap sisi dari semua simpul. Menariknya, algoritma ini mampu mengerjakan proses perbandingkan ini sebanyak V3 kali (bandingkan dengan kemungkinan jumlah sisi sebanyak V2(kuadrat jumlah simpul) pada graph, dan setiap kombinasi sisi diujikan).

Haltersebut bisa terjadi karena adanya perkiraan pengambilkan keputusan (pemilihanjalur terpendek) pada setiap tahap antara dua simpul, hingga perkiraan tersebut diketahui sebagai nilai optimal.

2.5 Algoritma Greedy

Algoritma Greedy adalah algoritma yang memecahkan masalah langkah demi langkah dan merupakan salah satu metode dalam masalah optimasi. Prinsip dari algoritma greedy adalah “take what you can get now” yaitu mengambil pilihan yang terbaik yang dapat diperoleh pada saat itu tanpa memperhatikan


(32)

konsekuensi kedepan. Algoritma greedy membentuk solusi langkah per langkah sebagai berikut:

1. Terdapat banyak pilihan yang perlu diekspolarasi pada setiap langkah solusi. Oleh karena itu, pada setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilhan. Keputusan yang telah diambil pada suatu langkah tidak dapat diubah lagi pada langkah selanjutnya.

2. Pendekatan yang digunakan di dalam algoritma greedy adalah membuat pilihan yang terlihat memberikan perolehan terbaik, yaitu dengan membuat pilihan optimum lokal pada setiap langkah dan diharapkan akan mendapatkan solusi optimum global.

Algoritma greedy didasarkan pada pemindahan edge per edge dan pada setiap langkah yang diambil tidak memikirkan konsekuensi ke depan, greedy tidak beroperasi secara menyeluruh terhadap semua alternatif solusi yang ada serta sebagian masalah greedy tidak selalu berhasil memberikan solusi yang benar-benar oprimum tapi pasti memberikan solusi yang mendekati nilai optimum.

Algoritma greedy disusun oleh elemen-elemen sebagai berikut : 1. Himpunan Kandidat

Himpunan ini berisi elemen-elemen yang memiliki peluang pembentuk solusi.

2. Himpunan Solusi

Himpunan ini berisi kandidat-kandidat yang terpilih sebagai solusi persoalan. Elemennya terdiri dari elemen dalam himpunan kandidat,


(33)

namun tidak semuanya dengan kata lain himpunan solusi ini adalah bagian dari himpunan kandidat.

3. Fungsi seleksi

Fungsi yang pada setiap langkah memilih kandidat yang paling mungkin untuk menghasilkan solusi optimal. Kandidat yang sudah dipilih pada suatu langkah tidak pernah dipertimbangkan lagi pada langkah selanjutnya.

4. Fungsi kelayakan

Fungsi yang memeriksa apakah suatu kandidat yang telah dipilih (diseleksi) dapat memberikan solusi yang layak.

5. Fungsi obyektif

Fungsi yang memaksimumkan atau meminimumkan nilai solusi. Tujuannya adalah memilih satu saja solusi terbaik dari masing-masing anggota himpunan solusi.

2.6 Definisi Taksi

Taksi adalah angkutan umum yang menggunakan mobil untuk mengangkut penumpangnya. Taksi umumnya menggunakan mobil jenis sedan, namun di beberapa negara ada pula taksi jenis van yang dapat mengangkut lebih banyak penumpang atau muatan. Istilah "taksi" juga dapat merujuk kepada angkutan umum lain selain mobil yang mengangkut penumpang dalam kapasitas kecil, misalnya "taksi air", yang sebenarnya mungkin hanya berupa sampan (Wikipedia).


(34)

Tarif layanan jasa angkutan taksi dihitung melalui dua cara:

a. menggunakan argometer - dihitung secara otomatis tergantung jumlah jarak yang ditempuh.

b. berdasarkan kesepakatan - penumpang dan pengemudi menyepakati tarif sebelum (kadang bisa juga sesudah) perjalanan.

Perbedaan utama antara taksi dengan angkutan umum darat yang modern lainnya seperti bus terletak pada jumlah penumpangnya. Menggunakan mobil, taksi hanya dapat memuat sekitar 4 penumpang di dalamnya, dan penumpangnya tersebut biasanya berada dalam satu kelompok.

2.7 Definisi Jarak

Menurut Wikipedia Definisi jarak adalah angka yang menunjukkan seberapa jauh suatu benda berubah posisi melalui suatu lintasan tertentu. Dalam fisika atau dalam pengertian sehari-hari, jarak dapat berupa estimasi jarak fisik dari dua buah posisi berdasarkan kriteria tertentu (misalnya jarak tempuh antara Jakarta-Bandung). Dalam bidang matematika, jarak haruslah memenuhi kriteria tertentu.

2.8 Definisi Node (Simpul)

Menurut ajiexku dalam blognya http://ajiexku.wordpress.com Node atau titik simpul adalah titik pertemuan dari dua atau lebih elemen rangkaian. Junction atau titik simpul utama atau titik percabangan adalah titik pertemuan dari tiga atau lebih elemen rangkaian.


(35)

2.9 Flowchart

Menurut Wikipedia Flowchart atau diagram alir merupakan sebuah diagram dengan simbol-simbol grafis yang menyatakan aliran algoritma atau proses yang menampilkan langkah-langkah yang disimbolkan dalam bentuk kotak, beserta urutannya dengan menghubungkan masing masing langkah tersebut menggunakan tanda panah. Diagram ini bisa memberi solusi selangkah demi selangkah untuk penyelesaian masalah yang ada di dalam proses atau algoritma tersebut.

2.9.1. Pedoman Membuat Flowchart

Bila seorang analis dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan, seperti:

1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri kekanan.

2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan

definisi ini harus dapat dimengerti oleh pembacanya.

3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.

4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan

deskripsi kata kerja

5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.

6. Lingkup dan range dari aktifitas yang sedang digambarkan harusditelusuri

dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan percabangannya diletakan pada


(36)

halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem.

7. Gunakan simbol-simbol flowchart yang standar.

Berikut gambar dari contoh flowchart :

Gambar 2.5. Contoh diagram alir proses yang berhubungan dengan kerusakan lampu


(37)

Gambar 2.6. Contoh diagram alir proses

(Sumber : http://id.wikipedia.org/wiki/Diagram_alir) 2.9.2. Jenis Flowchart

Flowchart terbagi atas lima jenis, yaitu :

 Flowchart Sistem (System Flowchart)

 Flowchart Paperwork / Flowchart Dokumen (Document Flowchart)  Flowchart Skematik (Schematic Flowchart)

 Flowchart Program (Program Flowchart)  Flowchart Proses (Process Flowchart)

Dalam hal ini penulis menggunakan Flowchart Program (Program Flowchart) untuk mengetahui alur simulasi jalur terpendek. Flowchart Program dihasilkan dari Flowchart Sistem. Flowchart Program merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah program atau prosedur sesungguhnya dilaksanakan. Flowchart ini menunjukkan setiap langkah program atau prosedur


(38)

dalam urutan yang tepat saat terjadi. Programmer menggunakan flowchart program untuk menggambarkan urutan instruksi dari program komputer. Analis Sistem menggunakan flowchart program untuk menggambarkan urutan tugas-tugas pekerjaan dalam suatu prosedur atau operasi.

Gambar 2.7 Contoh Flowchart Program. (Sumber : http://id.wikipedia.org/wiki/Diagram_alir)

2.10 JavaScript

JavaScript adalah bahasa pemrograman berbasis prototipe yang berjalan di sisi klien. Jika berbicara dalam konteks web, sederhananya kita dapat memahami JavaScript sebagai bahasa pemrogrman yang berjalan khusus untuk di browser


(39)

atau halaman web agar halaman web menjadi lebih hidup. Jika dilihat dari suku katanya, JavaScript terdiri dari dua kata, yaitu Java dan Script. Java adalah bahasa pemrograman yang berorientasi objek, sedangkan Script adalah serangkaian instruksi program. JavaScript adalah bahasa script (bahasa pemrograman yang dapat memegang kontrol aplikasi) yang berbasis pada bahasa pemrograman Java. Namun JavaScript bukanlah bagian dari teknologi Java dari Sun. Java merupakan bahasa pemrograman berorientasi objek murni, sedangkan JavaScript digunakan secara prosedural.

Cara kerja JavaScript adalah mengakses elemen pada HTML dan membuat aksi jika elemen-elemen HTML itu mengalami perubahan,misalnya berubahnya warna halaman web begitu sebuah tombol di klik. JavaScript membuat sebuah halaman web menjadi lebih dinamis. JavaScript yang digunakan pada halaman web merupakan client side scripting yang berarti bahwa web browser mengidentifikasi dan menjalankan skrip program yang disisipkan dalam dokumen web (yang diterima dari server),dan mungkin memperbarui tampilan halaman di komputer pemakai (user) tanpa mengirimkan permintaan (request) baru kepada web server. Karena JavaScript pada halaman web adalah client side scripting, maka kode JavaScript yang ditulis satu file dengan dokumen HTML akan ditampilkan ketika sebuah halaman web dilihat source code-nya. Secara fungsional, JavaScript digunakan untuk menyediakan akses skrip pada objek yang dibenamkan (embedded).

Contoh sederhana dari penggunaan JavaScript adalah membuka halaman pop up, fungsi validasi pada form sebelum data dikirimkan ke server, merubah


(40)

gambar kursor ketika melewati objek tertentu, dan lain-lain. Yang harus diperhatikan dalam pengelolaan pemrograman JavaScript diantaranya JavaScript adalah bahasa pemrograman yang case sensitive, yang artinya JavaScript membedakan huruf kecil dan huruf besar. Hal ini sama seperti bahasa pemrograman Turbo C atau C++ dimana huruf “A” tidak sama dengan huruf “a”.

JavaScript bekerja pada sisi browser, artinya untuk menampilkan halaman web, user menuliskan alamat web di address bar url. Setelah itu, browser mengambil file HTML (dengan file JavaScript yang melekat padanya jika memang ada) ke server yang beralamat di URL yang diketikkan oleh user. Selesai file diambil, file ditambilkan pada browser. Setelah file Java Script berada pada browser, barulah skrip JavaScript tersebut bekerja. Efek dari JavaScript yang bekerja pada sisi browser ini, Java Script dapat merespon perintah user dengan cepat, dan membuat halaman web menjadi lebih responsif. Java Script melakukan apa yang tidak bisa dilakukan oleh HTML, PHP, dan CSS dalam menangani hal-hal yang membutuhkan respon cepat terhadap aksi dari user. Misalnya, fungsi validasi pada form. Ketika user mengisi sebuah form yang divalidasi menggunakan JavaScript, user mengetikkan data lalu mengklik submit. Sebelum data dikirimkan ke server, data akan dicek terlebih dahulu pada browser menggunakan fungsi JavaScript yang ada pada halaman web. Sehingga jika memang data yang diisikan tidak valid, daripada membuang-buang waktu dengan mengirim data ke server baru divalidasi di server, lalu server mengirimkan respon balik mengenai ketidak validan input data user, lebih baik pengecekan validasi data form dilakukan secara lokal di browser menggunakan fungsi JavaScript.


(41)

2.10.1 Kelebihan JavaScript

Kelebihan dari bahasa pemrograman JavaScript adalah sebagai berikut :  Ukuran file kecil Skrip dari JavaScript memiliki ukuran yang kecil

sehingga ketika web yang memiliki JavaScript ditampilkan di browser, maka akses tampilannya akan lebih cepat dibandingkan ketika browser membuka suatu web yang memiliki skrip Java. Hal ini juga sangat berkaitan dengan daya kerja server. Semakin kecil space suatu web yang disimpan dalam suatu server, maka daya kerja server ketika di-browsing oleh user di internet akan tidak terlalu berat. Selain itu sifat JavaScript Client Side yang tidak perlu lagi ditangani oleh server ketika browser memanggil web dari sebuah server.

 Mudah untuk dipelajari JavaScript merupakan bahasa semi pemrograman yang merupakan gabungan antara bahasa pemrograman Java dengan bahasa kode HTML sehingga disebut juga bahasa hybrid. Walaupun JavaScript merupakan turunan dari Java, namun JavaScript tidak memiliki aturan serumit Java.

 Terbuka, JavaScript tidak terikat oleh hardware maupun software tertentu, bahkan sistem operasi seperti windows maupun unix. Karena ia bersifat terbuka, maka ia dapat dibuat maupun dibaca di semua jenis komputer. 2.10.2 Kekurangan JavaScript

Pada setiap bahasa pemrograman yang digunakan untuk membangun suatu aplikasi tentunya ada kekurangan dan kelebihan yang didapat. Begitupun juga


(42)

dengan bahasa pemrograman JavaScript. Berikut kekurangan yang dimiliki oleh javaScript :

 Skrip tidak terenkripsi

Karena JavaScript bersifat client side , maka skrip yang kita buat di text editor dan telah dijadikan web di server, ketika user me-request web dari server tersebut, maka sintaks JavaScript akan langsung ditampilkan di browser. User bisa melihatnya dan menirunya dari source -nya.

 Kemampuan terbatas

Walaupun JavaScript mampu membuat bentuk web menjadi interaktif dan dinamis, namun JavaScript tidak mampu membuat program aplikasi sendiri seperti Java.

 Keterbatasan objek

JavaScript tidak mampu membuat kelas-kelas yang bisa menampung objek-objek tambahan seperti Java, karena JavaScript telah memiliki objek yang built in pada struktur bahasanya.

2.11 Macromedia Dreamweaver 8

Macromedia Dreamweaver adalah program untuk membuat dan mengedit dokumen HTML secara visual dan mengelola halaman sebuah situs. Dreamweaver menyediakan banyak perangkat yang berkaitan dengan pengkodean dan fitur seperti HTML, CSS, JavaScript, PHP, ASP, ColdFusion, dan XML.


(43)

 Area Kerja Dreamweaver 8 Halaman Awal

Gambar 2.8 Halaman Awal Dreamweaver

(Sumber : http://www.elearning.atmaluhur.ac.id/.../Macromedia-Dreamweaver8)

Menu Di Dreamweaver

Pada halaman awal Dreamweaver 8 terdapat beberapa menu yang dapat dipilih :

 Open a Recent Item

Pada menu ini akan ditampilkan beberapa file yang sebelumnya pernah kita buka dengan menggunakan Dreamweaver 8. Atau di paling bawah ada Open yang dapat digunakan untuk membuka file yang lain.

 Create New

Pada menu ini kita dapat memilih dokumen baru apa yang akan kita buat dengan menggunakan Dreamweaver 8. Ada banyak pilihan, diantaranya HTML, ColdFusion, PHP, ASP, JavaScript, CSS.


(44)

 Create From Samples

Pada menu ini kita dapat membuat file berdasarkan contoh yang sudah diberikan oleh Dreamweaver.

Halaman Utama Dreamweaver 8

Gambar 2.9 Halaman Utama Dreamweaver

(Sumber : http://www.elearning.atmaluhur.ac.id/.../Macromedia-Dreamweaver8)

Keterangan :

1. Toolbar Dokumen

Toolbar dokumen digunakan untuk mengubah tampilan dan mengakses fungsi-fungsi penting secara cepat dan mudah. Pada toolbar dokumen


(45)

terdapat menu untuk berpindah antar dokumen kerja window dan mengatur tampilan area kerja. Untuk mengatur tampilan kita bisa memilih Code, Split dan Design.

2. Menu Utama

Menu Utama berisi semua perintah yang dapat digunakan untuk bekerja pada Dreamweaver.

3. Insert Bar

Gambar 2.10 Inset Bar

(Sumber : http://www.elearning.atmaluhur.ac.id/.../Macromedia-Dreamweaver8)

Insert bar merupakan tempat semua perangkat kerja (tombol) tang digunakan untuk membuat halaman web. Insert bar mempunyai dua jenis tampilan, yaitu tampilan sebagai menu dan tampilan sebagai tab.


(46)

34

BAB III

METODOLOGI PENELITIAN

3.1 Analisis Masalah

Analisis sistem bertujuan untuk melakukan identifikasi persoalan - persoalan yang muncul dalam pembuatan sistem, selain itu hal ini juga dilakukan agar mampu meminimalisir kesalahan pada saat proses perancangan program simulasi pencarian rute terpendek sehingga dalam pelaksanaannya bisa sesuai dengan waktu yang telah ditentukan serta dapat berjalan dengan baik. Dalam analisis sistem ini, sistem yang akan di analisa meliputi, analisis kebutuhan sistem, spesifikasi aplikasi, dan lingkungan operasi.

3.1.1 Analisis Kebutuhan Sistem

Pada tahapan Analisis kebutuhan sistem, penulis memaparkan secara garis besar tentang kebutuhan sistem yang akan dibangun. Dari tahapan perencanaan, analisis, perancangan, dan pembangunan yang telah dilakukan nanti, Sistem yang dihasilkan nanti diharapkan mampu memberikan suatu penyeleseian masalah dengan menampilkan gambar peta disertai animasi gambar bergerak dari taxi sesuai rute yang diinginkan dengan jarak terpendek dan waktu tempuh. Berikut gambaran dari alur proses sistem yang akan dibuat gambar 3.1.


(47)

Gambar 3.1 Rancangan Sistem

Dalam tahapan proses perancangan sistem yang akan dibuat ada langkah – langkah yang dilakukan yaitu mulai dari menginput node akhir/tujuan, jarak, waktu tempuh, dan waktu keberangkatan gambar peta yang sudah di analisis, dan animasi gambar dari proses pencarian rute. Kemudian dari keseluruhan data tersebut akan dicari beberapa rute terdekat dengan node awal, selanjutnya pengelompokan rute dari awal sampe ke tujuan, dan kemudian dilakukan penjumlahan dari jarak dan waktu untuk selanjutnya dilakukan pemilihan hasil data dengan jumlah jarak terpendek, dan waktu terdekat, serta banyak jalur kemacekan. Dari keseluruhan hasil analisis akan dilakukan sistem simulasi untuk menghasilkkan gambar peta rute terpendek dari data gambar yang sudah ditentukan.

3.1.2 Spesifikasi Aplikasi

Berikut ini adalah spesifikasi aplikasi dari program simulasi pencarian rute terpendek :

1. Sistem optimasi perjalanan rute Taksi dari Terminal Leuwi Panjang – Dipati Ukur di Kota Bandung menentukan rute terpendek dengan


(48)

menggunakan Algoritma Floyd Warshall akan memberikan data dan keluaran.

2. Memberikan informasi rute terpendek dari titik awal keberangkatan menuju titik tujuan beserta nilai perhitungan jarak dan waktu tempuh. 3. Memberikan informasi node awal, node akhir, jalur yang ditempuh,

jarak tempuh, waktu tempuh dan data antar node yang merupakan jalur yang terpendek untuk dilewati.

4. Memberikan informasi gambar peta disertai animasi bergerak dari gambar takai dari jarak yang ditempuh.

3.1.3 Lingkungan Operasi

Dalam proses pembuatan program simulasi jalur taksi terminal leuwi panjang menuju Dipati Ukur pencarian rute terpendek didukung dengan lingkup operasi yang sesuai dengan kebutuhan. Berikut lingkungan operasi :

a. Sistem Operasi Windows 7

Sistem operasi Windows 7 ini di pilih karena sudah banyak dikenal sehingga mudah dalam pengoperasiannya dan lebih familiar.

b. JavaScript

Bahasa pemograman ini digunakan untuk membuat program simulasi rute terpendek angkot Cicaheum Ciroyom sampai tujuan Dipatiukur, sehingga dari sinilah pengguna dapat menggunakan apliksi ini pada komputer.


(49)

3.2 Analisis Algoritma Floyd Warshall

Untuk mengetahui suatu metode yang akan digunakan dalam proses penelitian maka terlebih dahulu harus dilakukan analisis terhadap metode yang akan digunakan guna mendukung kesesuaian dalam hal implementasi terhadap masalah yang ada. Dalam hal ini penulis mencoba menganalisis algoritma Floyd Warshall yg dimana digunakan penulis sebagai metode untuk pencarian rute terpendek.

3.2.1 Algoritma Floyd Warshall

Algoritma Floyd Warshall Merupakan salah satu varian dari pemrograman dinamis, yaitu suatu metode yang melakukan pemecahan masalah dengan memandang solusi yang akan diperoleh sebagai suatu keputusan yang saling terkait. Artinya solusi-solusi tersebut dibentuk dari solusi yang berasal dari tahap sebelumnya dan ada kemungkinan solusi lebih dari satu.

3.2.2 Definisi Strategi Algoritma Floyd Warshall

Hal yang membedakan pencarian solusi menggunakan pemrograman

dinamis (Warshall) dengan algoritma greedy adalah, bahwa keputusan yang

diambil pada tiap tahap pada algoritma greedy hanya berdasarkan pada informasi

yang terbatas, sehingga hanya nilai optimum yang diperoleh pada saat itu. Jadi pada algoritma greedy, kita tidak memikirkan konsekuensi yang akan terjadi seandainya kita memilih suatu keputusan pada suatu tahap.

Jika dibandingkan dengan jenis algoritma Greedy dalam beberapa kasus,

Algoritma Greedy gagal memberikan solusi terbaik karena kelemahan yang


(50)

memberikan solusi yang memiliki pemikiran terhadap konsekuensi yang ditimbulkan dari pengambilan keputusan pada suatu tahap.

Pemrograman dinamis mampu :

 Mengurangi pengenumerasian (Pendaftaran) keputusan yang tidak

mengarah ke solusi.

 Prinsip yang dipegang oleh pemrograman dinamis adalah prinsip

optimalitas, yaitu jika solusi total optimal, maka bagian solusi sampai suatu tahap (misalnya tahap ke-i) juga optimal.

3.2.3 Cara Kerja Algoritma Floyd Warshall

Algoritma Floyd-Warshall membandingkan semua kemungkinan lintasan

pada graf untuk setiap sisi dari semua simpul. Hal tersebut bisa terjadi karena adanya perkiraan pengambilan keputusan (pemilihan jalur terpendek) pada setiap tahap antara dua simpul, hingga perkiraan tersebut diketahui sebagai nilai optimal.

Salah satu contoh apabila kita berada dari suatu tempat di titik A akan menuju tempat yang berada di titik D di mana kita harus melewati minimal satu titik titik antara b,c, dan e.

A

C

10 15 15 30 15 25 20 15 15

E

B

D


(51)

Apabila kita memakai floyd warshall maka ada beberapa tahapan kerja dari algoritmanya yaitu :

1. Mencari node mana saja yang bisa dilalui untuk menuju ke node tujuan atau D.

2. Menjumlahkan nilai edge pada node dengan edge pada node yang akan dilalui mulai dari node awal menuju node tujuan.

A-E-D = 30+15 km A-B-E-D = 10+15+15 km

A-B-D = 10+15 km

A-B-C-D = 10+15+15 km A-C-D = 25+15 km

3. Mencari nilai terkecil dari hasil penjumlahan edge pada node-node yang bisa dilalui. Dan dari hasil penjumlahan di atas didapat nilai terkecilnya yaitu pada jalur a-d-e dengan jumlah total edge 25Km 3.2.4 Pseudocode Algoritma Floyd Warshall

Pseudo-code algoritma Floyd Warshall adalah sebagai berikut:

function fw(int[1..n,1..n] graph) {

// Inisialisasi

var int[1..n,1..n] jarak := graph var int[1..n,1..n] sebelum

for i from 1 to n for j from 1 to n

if jarak[i,j] < Tak-hingga sebelum[i,j] := i

// Perulangan utama pada algoritma

for k from 1 to n for i from 1 to n for j from 1 to n

if jarak[i,j] > jarak[i,k] + jarak[k,j] jarak[i,j] = jarak[i,k] + jarak[k,j] sebelum[i,j] = sebelum[k,j]

return jarak


(52)

3.3 Analisis Perangkat Lunak dan Perangkat Keras 3.3.1 Perangkat Lunak

Perangkat lunak yang digunakan dalam pembuatan program simulasi pencarian rute terpendek yaitu :

Sistem Operasi : Windows 7 Bahasa pemrograman : JavaScript 3.3.2 Perangkat Keras

Perangkat keras yang dipergunakan untuk pembuatan program simulasi pencarian rute terpendek ini adalah sebagai berikut :

1. Unit komputer lengkap (laptop). 2. Processor Amd Turion – X2. 3. RAM 1 Gb.

4. VGA 256 Mb.


(53)

41

BAB IV

PERANCANGAN

4.1 Deskripsi Simulasi Pencarian Rute Terpendek

Simulasi pencarian rute terpendek menggunakan algoritma Floyd Warshall menjadi permasalahan yang akan dipecahkan dan dibahas pada perancangan sistem ini, simulasi pencarian rute terpendek berdasarkan bobot jarak antar simpul dan bobot waktu yang dihitung dari simpul asal ke simpul tujuan.

4.2 Perancangan Sistem

Ketika kita membangun suatu system tentunya kita harus memikirkan dan membuat perancangan system itu sendiri terlebih dahulu. Dengan membuat perancangan system dari system yang akan kita bangun, tentu akan membantu dalam menyesuaikan prosedur didalamnya. Pada perancangan sistem ini akan dibuat suatu program yang dapat dijalankan pada PC maupun laptop, yang digunakan untuk simulasi pencarian rute terpendek, rute yang terpendek dilihat dari jarak dan waktu tempuh.

4.2.1 Tujuan Perancangan Sistem

Tujuan perancangan program simulasi ini adalah untuk menghasilkan jalur terpendek dari rute jalan yang akan ditempuh. Dengan demikian pembuatan program simulasi ini diharapkan dapat membantu mencari rute terpendek dan menghasilkan bobot jarak, bobot waktu, serta Jalur kemacetan.


(54)

4.2.2 Gambaran Umum Sistem

Melalui Gambaran umum sistem ini bertujuan untuk menghasilkan perancangan program pencarian rute terpendek menggunakan algoritma Floyd Warshall (Simulasi Pencarian Rute Terpendek Menggunakan Algoritma Floyd Warshall Pada Taksi) dengan tujuan dari terminal Leuwi Panjang ke jalan Dipatiukur. Perancangan program simulasi ini akan menampilkan jarak terpendek dari simpul awal ke simpul tujuan yang akan dicari. Jarak terpendek rute diambil dari bobot jarak dan bobot waktu terkecil.

4.3 Implementasi Algoritma Floyd Warshall Pada Simulasi Pencarian Rute Terpendek Untuk Taksi

Kegunaan utama pada simulasi pencarian rute terpendek taksi ini adalah untuk mengetahui jarak terpendek dari jalur yang akan ditempuh. Perancangan simulasi pencarian rute terpendek ini tidak terlepas dari peran algoritma sebagai salah satu bentuk pemecahan masalah dari pencarian rute terpendek.

Algoritma yang di implementasikan dalam pencarian rute terpendek ini adalah algoritma Floyd Warshall . Algoritma ini merupakan algoritma yang membandingkan semua kemungkinan dan menghasikan solusi dari langkah-langkah yang diambil sebelumnya. Pada langkah-langkah tersebut ditentukan seberapa banyak kemungkinan yang ada dan selanjutnya menghitung secara satu persatu dari masing-masing kemungkinan yang ada. Keputusan yang diambil dikatakan hasil yang optimal karena hasil diperoleh dari perhitungan kemungkinan yang telah dibandingkan antara satu samalainnya.


(55)

4.3.1 Pengembangan Cara Kerja Umum Algorima Floyd Warshall

Dalam pencarian rute terpendek algoritma Floyd Warshall akan mencari solusi dari hasil perbandingan antara kemungkinan yang ada. Penentuan simpul terbaik dilakukan dengan menggunakan informasi berupa waktu perkiraan dari suatu simpul menuju ke tujuan. Pada setiap langkah akan diambil bobot waktu yang paling minimum dengan membandingkan simpul yang terhubung dari simpul awal ke simpul tujuan.


(56)

4.3.2 Data Dalam Graf

Gambar 4.1 merupakan penerapan graf berarah dengan penempatan simpul beserta bobotnya.

Gambar 4.1 Rute jalan dari terminal Leuwi Panjang ke Dipatiukur (Sumber data : google maps)


(57)

Dalam tabel 4.1 menunjukan bobot antar simpul yang tersambung ke simpul lainnya dengan mengacu pada gambar 4.1

Tabel 4.1 Nilai bobot

Simpul Link ke Simpul Bobot

Jarak

Bobot Waktu Normal NA (Term. Leuwi Panjang) N1 (Jl. Kopo) 0,03 Km 0,1 Menit

N3 (Jl. Leuwi Panjang) 0,28 Km 1 Menit N1 (Jl. Kopo) N2 (Jl. Terusan Pasirkoja) 2,7 Km 6 Menit N2 (Jl. Terusan Pasirkoja) N8 (Jl. Astana Anyar) 0,17 Km 0,18 Menit N7 (Jl. Pungkur) 2 Km 3 Menit N3 (Jl. Leuwi Panjang) N4 (Jl. Peta) 0,21 Km 3 Menit

N4 (Jl. Peta) N5 (Jl. BKR) 0,7 Km 1 Menit

N5 (Jl. BKR) N6 (Jl. Moch. Toha) 0,35 Km 0,48 Menit N6 (Jl. Moch. Toha) N7 (Jl. Pungkur) 1 Km 2 Menit N7 (Jl. Pungkur) N11 (Jl. Dewi Sartika) 0,26 Km 0,73 Menit N28 (Jl. Karapitan) 0,7 Km 2 Menit N8 (Jl. Astana Anyar) N9 (Jl. Gardu Jati) 0,8 Km 1 Menit N9 (Jl. Gardu Jati) N20 (Jl. Pasir Kaliki) 0,45 Km 0,53 Menit N10 (Jl. Kebon Jati) 0,47 Km 0,96 Menit N10 (Jl. Kebon Jati) N17 (Jl. Suniaraja) 0,45 Km 0,66 Menit N11 (Jl. Dewi Sartika) N12 (Jl. Dalem Kaum) 0,55 Km 1 Menit N12 (Jl. Dalem Kaum) N13 (Jl. Alun-alun Timur) 0,13 Km 0,28 Menit N13 (Jl. Alun-alun Timur) N14 (Jl. Banceuy) 0,15 Km 1,31 Menit N14 (Jl. Banceuy) N15 (Jl. Naripan) 0,26 Km 0,85 Menit N15 (Jl. Naripan) N16 (Jl. Braga) 0,4 Km 0,85 Menit N16 (Jl. Braga) N17 (Jl. Suniaraja) 0,4 Km 0,76 Menit N17 (Jl. Suniaraja) N23 (Jl. Wastu Kencana) 0,6 Km 0,85 Menit N20 (Jl. Pasir Kaliki) N21 (Jl. Pajajaran) 1,1 Km 2 Menit N24 (Jl. Sukajadi) 2,3 Km 4 Menit N21 (Jl. Pajajaran) N22 (Jl. Cihampeulas) 0,75 Km 1 Menit N22 (Jl. Cihampeulas) N23 (Jl. Wastu Kencana) 0,3 Km 0,76 Menit N23 (Jl. Wastu Kencana) N26 (Jl. Taman Sari) 0,45 Km 0,86 Menit N27 (Jl. Dago) 1,2 Km 3 Menit N24 (Jl. Sukajadi) N25 (Jl. Layang Pasupati) 1,4 Km 1 Menit N25 (Jl. Layang Pasupati) N35 (Jl. Cikapayang) 0,9 Km 2 Menit N26 (Jl. Taman Sari) N35 (Jl. Cikapayang) 0,95 Km 2 Menit N27 (Jl. Dago) N36 (Jl. Dipati Ukur) 1 Km 2 Menit N28 (Jl. Karapitan) N29 (Jl. Sunda) 1 Km 2 Menit N29 (Jl. Sunda) N30 (Jl. Sumbawa) 0,9 Km 3 Menit N30 (Jl. Sumbawa) N31 (Jl. Seram) 0,1 Km 2 Menit


(58)

N31 (Jl. Seram) N32 (Jl. Trunojoyo) 0,24 Km 0,56 Menit N32 (Jl. Trunojoyo) N33 (Jl. Maulana Yusuf) 0,55 Km 1 Menit N33 (Jl. Maulana Yusuf) N34 (Jl. Pangeran Kornel) 0,26 Km 0,85 Menit N34 (Jl. Pangeran Kornel) N35 (Jl. Cikapayang) 0,35 Km 1 Menit N35 (Jl. Cikapayang) N36 (Jl. Dipati Ukur) 0,45 Km 1 Menit

(Sumber data : google maps)

Berikut adalah langkah-langkah dalam menyeleseikan masalah rute taksi dengan jalur Leuwi Panjang – dipati ukur yang terdapat pada gambar 4.1 dengan menggunakan algoritma Floyd Warshall untuk mencari rute terpendek.

a. Estimasi Terhadap Jarak dan Waktu

Pada langkah pertama, ada 2 simpul yang bisa dilalui dari simpul awal NA, yaitu N1 dan N3. Pada saat menemui persimpangan algoritma Floyd Warshall akan mencoba satu persatu dari kemungkinan yang ada pada setiap,

Gambar 4.2 Langkah 1 Estimasi terhadap jarak dan waktu (Jalur Satu)

Pada langkah ke-2, setelah mengambil simpul N1, maka kemudian algoritma akan memeriksa, ada berapa kemungkinan jalur yang bisa dilalui dari N1. Ternyata jalur yang terhubung dengan simpul N1 hanya N2, maka N2 terpilih sebagai simpul selanjutnya.


(59)

Gambar 4.3 Langkah ke-2 estimasi terhadap jarak dan waktu (Jalur Satu)

Pada langkah ke-3, sama seperti sebelumnya, dilakukan pengecekan. Ternyata ada dua jalur yang bisa dilalui yaitu melalui simpul N8 dan N7, maka algoritma ini akan memilih salah satu simpul terlebih dahulu, dan disini simpul yang di ambil terlebih dahulu yaitu simpul N8.

Gambar 4.4 Langkah ke-3 estimasi terhadap jarak dan waktu (Jalur Satu)

Pada langkah ke-4 setelah mengambil simpul N8, algoritma akan memeriksa, simpul apakah yang ada di N8. Setelah diperiksa simpul yang terhubung pada simpul N8 hanya ada satu simpul yang terhubung yaitu N9, maka selanjutnya simpul N9 yang dipilih.


(60)

Gambar 4.5 Langkah ke-4estimasi terhadap jarak dan waktu(Jalur Satu)

Pada langkah ke-5 setelah mengambil simpul N9 kemudian memeriksa kembali, dan pada N9 ada dua jalur yang bisa dilewati yaitu N10 dan N20, selanjutnya dipilih simpul N20.

Gambar 4.6 Langkah ke-5 estimasi terhadap jarak dan waktu(Jalur Satu)

Pada langkah ke-6 selanjutnya memeriksa lagi ada berapa simpul yang berhubungan dengan N20, dan ternyata hanya simpul N24.


(61)

Gambar 4.7 Langkah ke-6 estimasi terhadap jarak dan waktu(Jalur Satu)

Langkah ke-7 setelah mimilih simpul N24 maka sama seperti sebelumnya dilakukan pengecekan, dan hanya ada satu simpul yang terhubung yaitu N25, dan N25 dipilih sebagai simpul selanjutnya.

Gambar 4.8 Langkah ke-7 estimasi terhadap jarak dan waktu(Jalur Satu) Langkah ke-8 setelah sampai pada N25 dan melakukan pengecekan ternyata hanya ada satu simpul juga yang terhubung yaitu N35, dan N35 dipilih untuk melanjut kesimpul selanjutnya.


(62)

Gambar 4.9 Langkah ke-8 estimasi terhadap jarak dan waktu(Jalur Satu)

Pada langkah ke-9 melakukan pengecekan simpul yang terhubung dan ternyata N35 hanya memiliki satu simpul yang terhubung yaitu simpul akhir atau simpul tujuan N36.

Gambar 4.10 Langkah ke-9 estimasi terhadap jarak dan waktu(Jalur Satu) Setelah sampe pada simpul yang dituju N36, maka akan dihitung total jarak yang ditempuh mulai dari simpul awal NA sampai Simpul tujuan N36 dengan menjumlahkan semua jarak antar simpul yang telah dilalui. Dan berikut table jalur yang dilalui pada jalur pertama :


(63)

Table 4.2

Tabel Node Yang Dilalui Dan Keterangan Jalur Yang Dilalui Pada Jalur Satu

No Node Yang Dilalui Keterangan Jalur Yang Dilalui 1. NA→N1→N2→N8→N9→N20

→N24→N25→N35→N36

Terminal Leuwi Panjang → Jl. Kopo → Jl. Terusan Pasir Koja → Jl. Astana Anyar → Jl. Gardu Jati → Jl. Pasir Kaliki → Jl. Sukajadi → Jl. Layang Pasupati → Jl. Cikapayang → Jl. Dipati Ukur.

Berikut perhitungan Total jarak dan waktu tempuh :

Jarak = NA→N1 + N1→N2 + N2→N8 + N8→N9 + N9→N20 + N20→N24 + N24→N25 + N25→N35 + N35→N36

= 0,03 + 2,7 + 0,17 + 0,8 + 0,45 + 2,3 + 1,4 + 0,9 + 0,45 = 9,2 Km

Waktu = NA→N1 + N1→N2 + N2→N8 + N8→N9 + N9→N20 + N20→N24 + N24→N25 + N25→N35 + N35→N36

= 0,1 + 6 + 0,18 + 1 + 0,53 + 4 + 1 + 2 + 1 = 15,81 Menit

= 15,81 + 8 (Jml. Lampu Merah) = 23,81 Menit


(64)

Gambar 4.11 Implementasi Jalur Ke Satu Pada Peta

Setelah mendapatkan total jarak dan waktu pada jalur pertama maka algoritma ini akan menyimpan hasil perhitungan jalur pertama.

Table 4.3

Total Jarak Tempuh dan Total Waktu Tempuh Pada Jalur Satu

JALUR TOTAL

JARAK TEMPUH

TOTAL WAKTU TEMPUH

Jalur Satu 9,2 KM 23,81 Menit

Selanjutnya melakukan perulangan mencari kemungkinan jarak yang masih bisa dilalui mulai dari titik awal NA sampai dengan pada simpul yang bisa dilalui dari jalur pertama, dan karena pada N20 ada dua simpul yang bisa dilalui maka pencarian dilakukan sampai N20 dan selanjutnya dari N20 melakukan pengecekan, dan ternyata ada satu simpul yang belum dilalui yaitu N21, maka selanjutnya simpul yang dipilih yaitu N21 :


(65)

Gambar 4.12 Langkah ke-10 estimasi terhadap jarak dan waktu(Jalur Dua)

Langkah selanjutnya setelah sampai pada simpul N21 dilakukan pengecekan, ternyata hanya N22 yang terhubung langsung dengan N21, maka N22 dipilih sebagai simpul berikutnya.

Gambar 4.13 Langkah ke-11 estimasi terhadap jarak dan waktu(Jalur Dua)

Selanjutnya setelah sampai pada simpul N22 dilakukan pengecekan, ternyata hanya N23 yang terhubung langung dengan N22, maka N23 dipilih sebagai simpul berikutnya.


(66)

Gambar 4.14 Langkah ke-12 estimasi terhadap jarak dan waktu(Jalur Dua)

Setelah sampai pada simpul N23 dilakukan pengecekan, ternyata ada dua simpul yang terhubung yaitu N26 dan N27 yang terhubung langung dengan N23, maka selanjutnya akan dipilih salah satu terlebih dahulu, dan untuk jalur kedua ini dipilih N26 sebagai simpul berikutnya.

Gambar 4.15 Langkah ke-13 estimasi terhadap jarak dan waktu(Jalur Dua) selanjutnya setelah sampai pada simpul N26 dilakukan pengecekan, hasilnya hanya N35 yang terhubung langung dengan N26, maka N35 dipilih sebagai simpul berikutnya.


(67)

Gambar 4.16 Langkah ke-14 estimasi terhadap jarak dan waktu(Jalur Dua)

Setelah sampai pada simpul N35 dilakukan pengecekan, ternyata dari simpul N35 langsung terhubung ke simpul tujuan yaitu N36 maka selanjutnya akan menuju ke simpul tujuan. Setelah sampe pada simpul yang dituju N36, maka akan dihitung total jarak yang ditempuh mulai dari simpul awal NA sampai Simpul tujuan N36 dengan menjumlahkan semua jarak dan waktu antar simpul yang telah dilalui Dari jalur kedua. Berikut table node yang dilalui dan keterangan jalur yang dilalui pada jalur ke dua

Tabel 4.4

Tabel Node Yang Dilalui Dan Keterangan Jalur Yang Dilalui Pada Jalur Dua

No Node Yang Dilalui Keterangan Jalur Yang Dilalui 2. NA→N1→N2→N8→N9→N20

→N21→N22→N23 →N26 →N35→N36

Terminal Leuwi Panjang → Jl. Kopo → Jl. Terusan Pasir Koja → Jl. Astana Anyar → Jl. Gardu Jati → Jl. Pasir Kaliki → Jl. Pajajaran → Jl. Cihampelas → Jl. Wastu Kencana → Jl. Taman Sari → Jl. Cikapayang → Jl. Dipati Ukur


(68)

Berikut perhitungan estimasinya :

Jarak = NA→N1 + N1→N2 + N2→N8 + N8→N9 + N9→N20 + N20→N21 + N21→N22 + N23→N26 + N26 →N35 + N35→N36

= 0,03 + 2,7 + 0,17 + 0,8 + 0,45 + 1,1 + 0,75 + 0,3 + 0,45 + 0,95 + 0,45

= 8,15 Km

Waktu = NA→N1 + N1→N2 + N2→N8 + N8→N9 + N9→N20 + N20→N21 + N21→N22 + N23→N26 + N26→N35 + N35→N36

= 0,1 + 6 + 0,18 + 1 + 0,53 + 2 + 1 + 0,76 + 0,86 + 2 + 1 = 15,43 Menit

= 15,43 + 6 (Jml. Lampu Merah) = 21,43 Menit


(69)

Setelah total jarak dan waktu dari jalur kedua diketahui, maka selanjutnya jumlah total jarak dan waktu dari jalur kedua akan disimpan.

Table 4.5

Total Jarak Tempuh dan Total Waktu Tempuh Pada Jalur Dua

JALUR TOTAL

JARAK TEMPUH

TOTAL WAKTU TEMPUH

Jalur Satu 9,2 KM 23,18 Menit

Jalur Dua 8,15 KM 21,43 Menit

Kemudian langkah berikutnya algoritma ini akan mencari kemungkinan jalur yang masih bisa dilalui mulai dari NA, karena pada simpul N9 ada percabangan jalur yang bisa dilalui maka pencarian dilakukan sampai pada simpul N9, dari N9 melakukan pengecekan jalur, dan ada satu simpul yang belum dilalui yaitu N10, selanjutnya simpul yang dipilih yaitu N10.

Gambar 4.18 Langkah ke-15 estimasi terhadap jarak dan waktu(Jalur Tiga)

Pada simpul N10 kemudian melakukan pengecekan, dan hanya N17 yang terhubung dengan N10. Maka N17 dipilih sebagai simpul berikutnya.


(70)

Gambar 4.19 Langkah ke-16 estimasi terhadap jarak dan waktu(Jalur Tiga) Dari N17 dilakukan pengecekan, dan hanya N23 yang terhubung dengan simpul N17, maka simpul yang dipilih selanjutnya yaitu simpul N23.

Gambar 4.20 Langkah ke-17 estimasi terhadap jarak dan waktu(Jalur tiga)

Setelah sampai pada simpul N23 dilakukan pengecekan, karena simpul yang dilalui sebelumnya dari simpul N17 maka selanjutnya simpul yg dipilih yaitu N27.


(71)

Gambar 4.21 Langkah ke-18 estimasi terhadap jarak dan waktu(Jalur Tiga)

selanjutnya dari N27 dilakukan pengecekan dan ada dua jalur yang bisa dilalui yaitu N35 dan N36, selanjutnya N35 yang dipilih.

Gambar 4.22 Langkah ke-19 estimasi terhadap jarak dan waktu(Jalur Tiga)

Dari simpul N35 dilakukan pengecekan, dari simpul N35 langsung terhubung ke simpul tujuan yaitu N36 maka selanjutnya akan menuju ke simpul tujuan. Selanjutnya dihitung total jarak yang ditempuh mulai dari simpul awal NA sampai Simpul tujuan N36 dengan menjumlahkan semua jarak antar simpul yang telah dilalui. Pada jalur ke Tiga, Berikut table dari node yang dilalui dan keterangan jalur yang dilalui pada Jalur Tiga.


(72)

Tabel 4.6

Tabel Node Yang Dilalui Dan Keterangan Jalur Yang Dilalui Pada Jalur Tiga

No Node Yang Dilalui Keterangan Jalur Yang Dilalui 3. NA → N1 → N2 → N8 → N9

→ N10 → N17 → N23 → N27 → N35 → N36

Leuwi Panjang → Jl. Kopo → Jl. Terusan Pasir Koja → Jl. Astana Anyar → Jl. Gardu Jati → Jl. Kebon Jati → Jl. Suniaraja → Jl. Wastu Kencana → Jl. Dago → Jl. Cikapayang → Jl. Dipati Ukur..

Berikut Perhitungan jaraknya :

Jarak = NA→N1 + N1→N2 + N2→N8 + N8→N9 + N9→N10 + N10→N17 + N17→N23 + N23→N27 + N27→N35 + N35→N36 = 0,03 + 2,7 + 0,17 + 0,8 + 0,45 + 0,45 + 0,6 + 1,2 + 0,95 + 0,45 = 7,8 Km

Waktu = 0,1 + 6 + 0,18 + 1 + 0,96 + 0,66 + 0,85 + 3 + 2 + 1 = 15,75 Menit


(73)

Berikut Implementasi jalur Ke tiga pada peta

Gambar 4.23 Implementasi Jalur Ke Tiga Pada Peta

Setelah total jarak dari jalur ke tiga diketahui, maka selanjutnya jumlah total jarak dari jalur ke tiga akan disimpan.

Table 4.7

Total Jarak Tempuh dan Total Waktu Tempuh Pada Jalur Tiga

JALUR TOTAL

JARAK TEMPUH

TOTAL WAKTU TEMPUH

Jalur Satu 9,2 Km 23,18 Menit

Jalur Dua 8,15 Km 21,43 Menit

Jalur Tiga 7,8 Km 21,75 Menit

Pada langkah selanjutnya algoritma ini akan mencari kemungkinan jalur yang masih bisa dilalui mulai dari NA, karena pada simpul N27 ada dua kemungkinan jalur yang bisa dilalui maka akan dilakukan pencarian kembali sampai pada simpul N27, selanjutnya dari N27 melakukan pengecekan jalur, dan


(74)

ada satu simpul yang belum dilalui yaitu N36, maka selanjutnya simpul yang dipilih yaitu N36.

Gambar 4.24 Langkah ke-20 estimasi terhadap jarak dan waktu(Jalur Empat)

Setelah sampai N36 dilakukan penjumlahan semua jarak antar simpul yang dilalui dari NA sampai dengan N36 pada jalur ke empat. Berikut table node dan keterangan jalur yang dilalui pada jalur ke Empat

Tabel 4.8

Tabel Node Yang Dilalui Dan Keterangan Jalur Yang Dilalui Pada Jalur Empat

No Node Yang Dilalui Keterangan Jalur Yang Dilalui 4. NA → N1 → N2 → N8 → N9

→ N10 → N17 → N23 → N27 → N36

Terminal Leuwi Panjang → Jl. Kopo → Jl. Terusan Pasir Koja → Jl. Astana Anyar → Jl. Gardu Jati → Jl. Kebon Jati → Jl. Suniaraja → Jl. Wastu Kencana → Jl. Dago → Jl. Dipati Ukur.


(75)

Jarak = NA→N1 + N1→N2 + N2→N8 + N8→N9 + N9→N10 + N10→N17 + N17→N23 + N23→N27 + N27→N36

= 0,03 + 2,7 + 0,17 + 0,8 + 0,45 + 0,45 + 0,6 + 1,2 + 1 = 7,4 Km

Waktu = NA→N1 + N1→N2 + N2→N8 + N8→N9 + N9→N10 + N10→N17 + N17→N23 + N23→N27 + N27→N36

= 0,1 + 6 + 0,18 + 1 + 0,96 + 0,66 + 0,85 + 3 + 2 = 14,75 Menit

= 14,75 + 6 (Jml Lampu Merah) = 20,75

Berikut implementasi jalur ke empat pada peta


(76)

Setelah total jarak dari jalur ke empat diketahui, maka selanjutnya jumlah total jarak dari jalur ke empat akan disimpan.

Table 4.9

Total Jarak Tempuh dan Total Waktu Tempuh Pada Jalur Empat

JALUR TOTAL

JARAK TEMPUH

TOTAL WAKTU TEMPUH

Jalur Satu 9,2 Km 23,18 Menit

Jalur Dua 8,15 Km 21,43 Menit

Jalur Tiga 7,8 Km 21,75 Menit

Jalur Empat 7,4 Km 20,75 Menit

Pada langkah selanjutnya kemudian akan mencari kemungkinan jalur yang masih bisa dilalui mulai dari NA, karena pada simpul N2 ada dua kemungkinan jalur yang bisa dilalui maka akan dilakukan pencarian kembali mulai dari NA sampai pada simpul N2, Dari N2 melakukan pengecekan jalur, dan ada satu simpul yang belum dilalui yaitu N7, selanjutnya simpul yang dipilih yaitu N7.

Gambar 4.26 Langkah ke-21 estimasi terhadap jarak dan waktu(Jalur Lima)

Setelah sampai pada simpul N7 dilakukan pengecekan, dari N7 selanjutnya dipilih N11.


(77)

Gambar 4.27 Langkah ke-22 estimasi terhadap jarak dan waktu(Jalur Lima)

Setelah sampai pada simpul N11 dilakukan pengecekan, ternyata hanya ada satu yang terhubung yaitu N12, maka N12 dipilh sebagai simpul berikutnya

Gambar 4.28 Langkah ke-23 estimasi terhadap jarak dan waktu(Jalur Lima)

Setelah sampai pada simpul N12 dilakukan pengecekan, ternyata hanya ada satu yang terhubung yaitu N13, maka N13 dipilh sebagai simpul berikutnya


(78)

Gambar 4.29 Langkah ke-24 estimasi terhadap jarak dan waktu(Jalur Lima)

Setelah sampai pada simpul N13 dilakukan pengecekan, ternyata hanya ada satu yang terhubung yaitu N14, maka N14 dipilh sebagai simpul berikutnya

Gambar 4.30 Langkah ke-25 estimasi terhadap jarak dan waktu(Jalur Lima)

Setelah sampai pada simpul N14 dilakukan pengecekan, ternyata hanya ada satu yang terhubung yaitu N15, maka N15 dipilh sebagai simpul berikutnya


(79)

Gambar 4.31 Langkah ke-26 estimasi terhadap jarak dan waktu(Jalur Lima)

Setelah sampai pada simpul N15 dilakukan pengecekan, ternyata hanya ada satu yang terhubung yaitu N16, maka N16 dipilh sebagai simpul berikutnya

Gambar 4.32 Langkah ke-27 estimasi terhadap jarak dan waktu(Jalur Lima)

Setelah sampai pada simpul N16 dilakukan pengecekan, ternyata hanya ada satu yang terhubung yaitu N17, maka N17 dipilh sebagai simpul berikutnya


(80)

Gambar 4.33 Langkah ke-28 estimasi terhadap jarak dan waktu(Jalur Lima)

Setelah sampai pada simpul N17 dilakukan pengecekan, ternyata hanya ada satu yang terhubung yaitu N23, maka N23 dipilh sebagai simpul berikutnya

Gambar 4.34 Langkah ke-29 estimasi terhadap jarak dan waktu(Jalur Lima)

Selanjutnya setelah sampai pada simpul N23 simpul yang selanjutnya dipilih yaitu N27 karena sebelum menuju simpul N23 simpul yang dilalui yaitu simpul N17.


(81)

Gambar 4.35 Langkah ke-30 estimasi terhadap jarak dan waktu(Jalur Lima)

Setelah sampai pada simpul N27 dilakukan pengecekan, maka N35 dipilh sebagai simpul berikutnya karena sesuai nomor urut pada simpul.

Gambar 4.36 Langkah ke-31 estimasi terhadap jarak dan waktu(Jalur Lima)

Setelah sampai pada simpul N35 dilakukan pengecekan, ternyata N35 langsung terhubung dengan simpul tujuan N36. Setelah pada simpul tujuan maka tahap selanjutnya akan dilakukan penjumlahan total jalur ke Lima, berikut table node dan keterangan jalur yang dilalui pada jalur ke lima


(1)

32.Node awal NA ke node tujuan N34

Gambar 5.64 Output Program dengan node tujuan N34

Berikut ini gambar rute dengan node tujuan N34, terlihat pada gambar 5.65

Gambar 5.65 Peta Node Awal NA (Terminal Lewi Panjang) ke Node Tujuan N34 (Jl. Pangeran Kornel) dengan estimasi jarak


(2)

33.Node awal NA ke node tujuan N35

Gambar 5.66 Output Program dengan node tujuan N35

Berikut ini gambar rute dengan node tujuan N35, terlihat pada gambar 5.67

Gambar 5.67 Peta Node Awal NA (Terminal Lewi Panjang) ke Node Tujuan N35 (Jl. Cikapayang) dengan estimasi jarak


(3)

34.Node awal NA ke node tujuan N36

Gambar 5.68 Output Program dengan node tujuan N36

Berikut ini gambar rute dengan node tujuan N36, terlihat pada gambar 5.69

Gambar 5.69 Peta Node Awal NA (Terminal Lewi Panjang) ke Node Tujuan N36 (Jl. Dipati Ukur) dengan estimasi jarak


(4)

5.2 Manual Instalasi

Program simulasi ini dapat dijalankan pada PC atau laptop yang telah terinstal browser seperti Internet Explore, Mozilla Firefox, Google Chrome dan sebagainya. Pada gambar 5.1 program ini dijalankan pada browser Google Chrome. Berikut ini penjelasan lebih lanjut tentang instalasi program simulasi pencarian rute terpendek.

1. Pertama copy-paste folder simulasi pencarian rute terpendek ke local disk yang anda inginkan. Bisa dilihat pada gambar 5.67 dan 5.68 .


(5)

Gambar 5.71 Paste Folder Simulasi Pencarian Rute Terpendek

2. Buka folder Simulasi Pencarian Jalur Terpendek , dan running file jalur_pendek.html di browser, disini penulis menggunakan browser Google Chrome. Berikut tampilan awal programnya :


(6)

Gambar 5.72 Program Simulasi Pencarian Rute Terpendek Dengan Menggunakan Algoritma Floyd Warshall Untuk Taksi dengan Ruter Terminal

Leuwi Panjang – Dipati Ukur

3. Setelah proses kedua selesai, program simulasi pencarian rute terpendek bisa dijalankan.