Pencarian Rute Terpendek Menggunakan Algoritma Greedy (Simulasi Rute Angkot Cicaheum Ciroyom)

(1)

Oleh :

CAHYA GUNAWAN

1.05.08.215

JURUSAN SISTEM INFORMASI

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG

2012


(2)

Dalam kehidupan sehari-hari sering dilakukan perjalanan dari

suatu tempat ke tempat lain yang akan dituju. Oleh karena itu

sangat diperlukan penentuan rute terpendek antara satu

tempat ke tempat lain yang akan menjadi tujuan. Pencarian

jalur terpendek merupakan suatu permasalahan untuk

menemukan sebuah jalur antara dua node dengan jumlah

bobot minimal. Pada kasus pencarian jalur terpendek antara

dua lokasi yang berbeda dalam sebuah peta, node akan

merepresentasikan

lokasi

pada

peta

dan

bobot

merepresentasikan jarak atau waktu yang dibutuhkan untuk

melakukan perjalanan antara dua lokasi tersebut.


(3)

Ada

beberapa

macam

persoalan

lintasan

terpendek, diantaranya yaitu :

»

Lintasan terpendek antara dua buah simpul

tertentu.

»

Lintasan terpendek antara semua pasangan

simpul.

»

Lintasan terpendek dari simpul tertentu ke

semua simpul yang lain.

»

Lintasan terpendek antara dua buah simpul


(4)

Salah satu metode yang dapat digunakan untuk

menyelesaikan

permasalahan

pencarian

jalur

terpendek yaitu dengan menggunakan algoritma

greedy. Algoritma greedy merupakan salah satu

metode untuk memecahkan masalah optimasi yaitu

persoalan yang menuntut pencarian solusi optimum,

algoritma ini membentuk solusi langkah per langkah.


(5)

Menggunakan algoritma greedy untuk masalah optimasi

dalam mencari rute terpendek untuk mendapatkan

greedy terhadap jarak dan greedy terhadap waktu.


(6)

1. Bagaimana membuat program simulasi untuk mencari

jarak terpendek dengan menggunakan algoritma

greedy.

2. Bagaimana mencari lintasan terpendek dari jarak yang

akan ditempuh menggunakan Algoritma greedy.


(7)

1. Wilayah yang diambil adalah dari terminal Cicaheum

sampai dengan jalan Dipatiukur.

2. Algoritma greedy 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 angkot Cicaheum Ciroyom

dengan posisi awal terminal cicaheum menuju jalan

dipatiukur.

5. Terdapat 5 titik lampu merah yang dilalui angkot

Cicaheum Ciroyom sampai ke jalan Dipatiukur


(8)

Analisis sistem bertujuan untuk melakukan identifikasi

persoalan - persoalan yang muncul dalam pembuatan

sistem, hal ini dilakukan agar pada saat proses

perancangan program simulasi pencarian rute terpendek

tidak terjadi kesalahan

kesalahan yang berarti sehingga

sistem dapat berjalan dengan baik dan selesai tepat pada

waktu yang telah ditentukan. Dalam analisis sistem ini,

sistem yang akan di analisa meliputi, analisis kebutuhan

sistem, spesifikasi aplikasi, dan lingkungan operasi.


(9)

Berikut ini adalah spesifikasi aplikasi dari program simulasi

pencarian rute terpendek :

1. Sistem optimasi perjalanan rute angkot Cicaheum

Ciroyom di Kota Bandung menentukan rute terpendek

dengan menggunakan Algoritma Greedy 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 jarak yang ditempuh.

5. Memberikan informasi

help

untuk cara penggunaan

program simulasi pencarian rute terpendek.


(10)

Algoritma Greedy adalah algoritma yang memecahkan

masalah langkah demi langkah dan merupakan salah satu

metode

dalam

masalah

optimasi.

Algoritma

Greedy

membentuk solusi langkah per langkah sebagai berikut:

»

Terdapat banyak pilihan yang perlu dieksplorasi pada setiap

langkah solusi. Oleh karena itu, pada setiap langkah harus

dibuat keputusan yang terbaik dalam menentukan pilihan.

Keputusan yang telah diambil pada suatu langkah tidak

dapat diubah lagi pada langkah selanjutnya.

»

Pendekatan yang digunakan didalam algoritma Greedy

adalah membuat pilihan yang terlihat memberikan

perolehan terbaik yaitu dengan membuat pilihan

optimum

local

pada

setiap

langkah

dan

diharapkan

akan

mendapatkan solusi

optimum global.


(11)

Algoritma Greedy didasarkan pada pemindahan edge (arc)

per edge (arc) 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

optimum

tapi pasti memberikan solusi yang mendekati

nilai

optimum

. Masalah optimasi dalam konteks Algoritma

Greedy disusun oleh elemen-elemen sebagai berikut yaitu

himpunan kandidat, himpunan solusi, fungsi seleksi,

fungsi kelayakan dan fungsi objektif


(12)

PERANCANGAN

Dalam membangun suatu sistem yang akan kita

buat diperlukan adanya suatu perancangan

sistem. Perancangan sistem diperlukan agar kita

dapat melakukan semua kegiatan sesuai dengan

prosedur. 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.


(13)

PERANCANGAN

Gambaran umum sistem ini bertujuan untuk

menghasilkan perancangan program simulasi

pencarian rute terpendek angkot Cicaheum

Ciroyom menggunakan algoritma

greedy

dengan

tujuan

dari

terminal

Cicaheum

ke

jalan

Dipatiukur. Perancangan program simulasi ini

akan menampilkan jarak terpendek dari node

awal ke node tujuan yang akan dicari. Jarak

terpendek rute diambil dari bobot jarak dan

bobot waktu terkecil.


(14)

RUTE JALAN DARI TERMINAL CICAHEUM KE

DIPATIUKUR


(15)

(16)

(17)

(18)

(19)

Didapatkan

jalur A→D→G→J→M. Jalur ya g

ditempuh

adalah Ter i al Cicaheu → Jl. K.H.

Hasa Mustopa → Jl. Surapati → Jl. Pa ata Yuda

→ Jl.

Dipatiukur

Jarak

= AD + DG + GJ +JM

= 1,3 + 2,4 + 1,8 + 0,85000

= 6,35 km

Waktu

= AD + DG + GJ +JM

= 3,5 + 7,5 + 6 + 2

= 19 menit


(20)

(21)

(22)

(23)

(24)

Didapatka jalur A→D→G→J→M.

Jalur yang ditempuh adalah Terminal

Cicaheu → Jl. K.H. Hasa Mustopa

→ Jl. Surapati → Jl. Pa ata Yuda → Jl.

Dipatiukur

Waktu

= AD + DG + GJ +JM

= 3,5 + 7,5 + 6 + 2

= 19 menit

Jarak

= AD + DG + GJ +JM

= 1,3 + 2,4 + 1,8 + 0,85000

= 6,35 km


(25)

(26)

KESIMPULAN

1. Telah berhasil dibuat suatu aplikasi simulasi

pencarian

rute

terpendek

dengan

menggunakan algoritma greedy.

2. Terdapat rute terpendek yang dihasilkan

berdasarkan bobot jarak dan bobot waktu

antar node awal ke node tujuan.


(27)

SARAN

1. Menambahkan lebih dari satu rute angkot

untuk jalur pencarian rute terpendek ini agar

terdapat banyak pilihan untuk memilih rute

angkot yang diinginkan.

2. Menggunakan

algoritma

berbeda

untuk

mencari rute terpendek nantinya untuk

menjadi perbandingan dengan algoritma

greedy.

3. Menerapkan sistem ini dengan layanan peta

online.


(28)

(29)

(30)

PENCARIAN RUTE TERPENDEK

MENGGUNAKAN ALGORITMA

GREEDY

(SIMULASI RUTE ANGKOT CICAHEUM CIROYOM)

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat Kelulusan Pada Program Studi Sistem Informasi Jenjang Strata I

Fakultas Teknik dan Ilmu Komputer

Oleh : Cahya Gunawan

1.05.08.215

PROGRAM STUDI SISTEM INFORMASI

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG


(31)

(32)

i

ABSTRAK

Pencarian jalur terpendek merupakan suatu permasalahan untuk menemukan sebuah jalur antara dua node dengan jumlah bobot minimal. Pada kasus pencarian jalur terpendek antara dua lokasi yang berbeda dalam sebuah peta, node akan merepresentasikan lokasi pada peta dan bobot merepresentasikan jarak atau waktu yang dibutuhkan untuk melakukan perjalanan antara dua lokasi tersebut. Salah satu metode yang dapat digunakan untuk menyelesaikan permasalahan pencarian jalur terpendek yaitu dengan menggunakan algoritma greedy.

Algoritma greedy merupakan salah satu metode untuk memecahkan masalah optimasi yaitu persoalan yang menuntut pencarian solusi optimum, algoritma ini membentuk solusi langkah per langkah. Pada langkah tersebut akan dipilih keputusan yang paling optimal. Keputusan tersebut tidak perlu memperhatikan keputusan selanjutnya yang akan diambil dan keputusan tesebut tidak dapat diubah lagi pada langkah selanjutnya. Dalam hal ini, penulis bermaksud merancang Pencarian Rute Terpendek Menggunakan Algoritma Greedy (Simulasi Rute Angkot Cicaheum Ciroyom).

Dengan adanya Pencarian Rute Terpendek Menggunakan Algoritma Greedy (Simulasi Rute Angkot Cicaheum Ciroyom) diharapkan dapat dicari rute terpendek berdasarkan bobot jarak atau bobot waktu.


(33)

ii

ABSTRACT

Seeking shortest path is a problem to find a path beetwen two node with minimum both quality of range dan quality of time. For seeking the shortest path beetwen two different location on the map , node will representing it's location on the map and quality representing range and time needed to travelled between those location. A greedy algorithm can be used to solve this problem to find the shortest path..

A greedy algorithm is an algorithm that follows the problem solving heuristic of making the locally optimal choice at each stage with the hope of finding a global optimum. The choice made by a greedy algorithm may depend on choices made so far but not on future choices or all the solutions to the subproblem. Dynamic programming makes decisions based on all the decisions made in the previous stage, and may reconsider the previous stage's algorithmic path to solution. In this case I am devise a search the shortest route using greedy algorithms (simulation public transportation routes cicaheum ciroyom).

By having The Shortest Route Search Using Greedy Algorithms (Simulation Public Transportation Routes Cicaheum Ciroyom) is expected to look for the shortest route based on quality of range or quality of time.


(34)

iii

KATA PENGANTAR

Assalamualaikum Wr. Wb

Puji syukur atas 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 MENGGUNAKAN ALGORITMA GREEDY ( SIMULASI RUTE ANGKOT CICAHEUM CIROYOM )”. 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 berbagai pihak kepada penulis. Dalam kesempatan ini penulis ingin mengucapkan rasa terima kasih yang tidak terhingga terutama kepada kedua Orangtua dan kakak-kakak 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 :


(35)

iv

1. Bapak Dr. Ir. Eddy Suryanto Soegoto, M.Sc, selaku Rektor Universitas Komputer Indonesia.

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

3. Bapak H. Dadang Munandar., S.E., M.Si, selaku Ketua Program Studi Sistem Informasi.

4. Bapak Syahrul Mauluddin., S.Kom, M.Kom selaku Dosen Wali kelas MI-05 angkatan 2008.

5. Ibu Diana Effendi., ST.,MT, selaku dosen pembimbing yang telah berkenan meluangkan waktu guna membimbing, mengarahkan, dan memberi petunjuk. 6. Bapak Tono Hartono., S.Si.,MT, selaku dosen penguji 1 yang telah

memberikan arahan serta masukan.

7. Ibu Lusi Melian., S.Si.,MT, selaku dosen penguji 2 yang telah memberikan arahan serta masukannya juga.

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

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

10.Agung, Agus, Dani, Andri, Aldian, Adit, Dapit, Hamdan, Icha, Hana, Finna, Adit, Austra, serta teman-teman angkatan 2008 khususnya kelas MI-5 2008 yang telah memberikan pengalaman hidup yang berharga bagi penulis.


(36)

v

11.Buat Intan makasih doa, dukungan dan masukan-masukannya yang telah memberikan semangat kepada penulis.

12.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, Mei 2012


(37)

vi DAFTAR ISI

Lembar Pengesahan

Lembar Pernyataan Keaslian

ABSTRAK ... i ABSTRACT ... ii KATA PENGANTAR ... iii DAFTAR ISI ... vi DAFTAR GAMBAR ... x DAFTAR TABEL... xiii DAFTAR SIMBOL ... xiv BAB I PENDAHULUAN

1.1. Latar Belakang Masalah ... 1 1.2. Identifikasi Masalah dan Rumusan Masalah... 3 1.3. Rumusan Masalah ... 3 1.4. Batasan Masalah ... 4 1.5. Tujuan Penelitian ... 5 1.6. Manfaat Penelitian ….. ... 5 1.7. Rencana Kegiatan …... 5

BAB II LANDASAN TEORI

2.1. Konsep Dasar Algoritma ... 7 2.1.1. Sejarah Algoritma ... 7


(38)

vii

2.1.2. Definisi Algoritma ... 8 2.2. Konsep Graf ... 8 2.2.1. Sejarah Graf ... 8 2.2.2. Definisi Graf ... 10 2.2.3. Graf Berarah ... 11 2.2.4. Graf tak berarah ... 12 2.2.5. Graf Berbobot ... 13 2.2.6. Representasi Graf ... 13 2.3. Definisi Lintasan (Path) ... 14 2.3.1. Lintasan Terpendek (Shortest Path) ... 15 2.4. Algoritma Greedy ... 15 2.5. Algoritma Floyd ... 17 2.6. Flowchart ... 18 2.6.1. Jenis – Jenis Flowchart ... 19 2.7. JavaScript ... 20 2.7.1. Kelebihan dan Kekurangan JavaScript ... 22 2.8 Perangkat Lunak Pendukung ... 24 2.8.1 Ruang Kerja Dreamwaver ... 24 2.8.2 Komponen Ruang Kerja Dreamwaver ... 28

BAB III METODE PENELITIAN

3.1. Analisis Masalah ... 31 3.1.1 Analisis Kebutuhan Sistem ... 31


(39)

viii

3.1.2 Spesifikasi Aplikasi ... 32 3.1.3 Lingkungan Operasi ... 32 3.2. Analisis Algoritma Greedy ... 33 3.2.1. Algoritma Greedy ... 33 3.2.2. Cara Kerja Algoritma Greedy ... 35 3.2.3. Pseudocode Algoritma Greedy ... 38 3.3. Analisis Perangkat Lunak dan Perangkat Keras ... 39

3.3.1. Perangkat Lunak ... 39 3.3.2. Perangkat Keras ... 39

BAB IV PERANCANGAN

4.1. Deskripsi Simulasi Pencarian Rute Terpendek ... 40 4.2. Perancangan Sistem ... 40 4.2.1. Tujuan Perancangan Sistem ... 40 4.2.2. Gambaran Umum Sistem ... 41 4.3. Implementasi Algoritma Greedy Pada Simulasi Pencarian Rute

Terpendek Angkot Cicaheum Ciroyom ... 41 4.3.1. Pengembangan Cara Kerja Umum Algoritma Greedy ... 42 4.3.2. Data Dalam Graf ... 42 4.4. Perancangan Prosedur ... 50 4.4.1. Flowchart ... 50 4.5. Perancangan Antar Muka ... 51 4.5.1. Perancangan Input dan Output Sistem ... 51


(40)

ix BAB V IMPLEMENTASI

5.1 Manual Program ... 53 5.2 Manual Instalasi ... 62

BAB VI KESIMPULAN DAN SARAN

6.1 Kesimpulan ... 64 6.2 Saran ... 64 DAFTAR PUSTAKA


(41)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Daya tarik Kota Bandung yang menjanjikan kemudahan dalam segi materi, telah menyebabkan terjadinya arus urbanisasi dari daerah di sekitar Kota Bandung, bahkan dari luar Provinsi Jawa Barat. Kota Bandung menjadi penuh sesak karena jumlah penduduknya melampaui besar angka yang diproyeksikan.

Dari hanya sebuah desa kecil yang didirikan pada tahun 1810 “desa” Bandung

telah berkembang menjadi sebuah kota yang luas. Wilayahnya bertambah luas dan penduduknya bertambah padat dari tahun ke tahun.

Selain itu juga Kota Bandung adalah kota terpadat di Jawa Barat, dimana masalah yang sering dihadapi akan padatnya penduduk di kota-kota besar adalah kemacetan. Karena dalam kehidupan sehari-hari sering dilakukan perjalanan dari suatu tempat ke tempat lain yang akan dituju. Oleh karena itu sangat diperlukan penentuan rute terpendek antara satu tempat ke tempat lain yang akan menjadi tujuan. Penyebab keterlambatan perjalanan salah satunya adalah kemacetan lalu lintas di Bandung. Keadaan tersebut disebabkan oleh tidak seimbangnya pertumbuhan kendaraan pribadi dan pertumbuhan jaringan jalan. Pertumbuhan kendaraan pribadi ini disebabkan oleh daya beli masyarakat yang cukup tinggi.

Pencarian jalur terpendek merupakan suatu permasalahan untuk menemukan sebuah jalur antara dua node dengan jumlah bobot minimal. Pada kasus pencarian jalur terpendek antara dua lokasi yang berbeda dalam sebuah


(42)

2

peta, node akan merepresentasikan lokasi pada peta dan bobot merepresentasikan jarak atau waktu yang dibutuhkan untuk melakukan perjalanan antara dua lokasi tersebut.

Menurut Rinaldi Munir (2009 : 412) ada beberapa macam persoalan lintasan terpendek, diantaranya yaitu :

- Lintasan terpendek antara dua buah simpul tertentu. - Lintasan terpendek antara semua pasangan simpul.

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

simpul tertentu.

Salah satu metode yang dapat digunakan untuk menyelesaikan permasalahan pencarian jalur terpendek yaitu dengan menggunakan algoritma greedy. Algoritma greedy merupakan salah satu metode untuk memecahkan masalah optimasi yaitu persoalan yang menuntut pencarian solusi optimum, algoritma ini membentuk solusi langkah per langkah. Dalam hal ini, penulis mencoba menunjukkan rute terpendek dari rute angkot Cicaheum Ciroyom dengan menggunakan algoritma greedy.

Berdasarkan latar belakang dan masalah yang telah penulis paparkan diatas maka penulis bermaksud mengajukan judul:

“Pencarian Rute Terpendek Menggunakan Algoritma Greedy (Simulasi Rute Angkot Cicaheum Ciroyom)”.


(43)

3

1.2 Identifikasi Masalah

Bagi pengemudi roda empat, kemacetan yang ada dapat menjadi masalah yang cukup serius dan perlu adanya solusi untuk mencapai tujuannya. Melihat keadaan ini dibutuhkan suatu fasilitas yang dapat memberikan data dan informasi yang menunjukkan jalur alternatif tercepat.

Sebagai contoh, misalkan hendak mengunjungi suatu tempat, maka harus memperhatikan kendala-kendala yang menjadi faktor penghambat perjalanan, antara lain adanya rumah sakit, universitas/sekolah-sekolah, pertigaan ataupun perempatan jalan dan lain sebagainya. Untuk menghemat waktu, dapat ditemukan jalan alternatif yang mana tidak akan terjebak kemacetan bila melewati jalan tersebut dengan faktor penghambat yang lebih rendah.

Berdasarkan latar belakang masalah yang telah dijelaskan di atas, maka penulis mengidentifikasi masalah yang berhubungan dengan pencarian rute terpendek menggunakan algoritma greedy (simulasi rute angkot Cicaheum Ciroyom), yaitu menggunakan algoritma greedy untuk masalah optimasi dalam mencari rute terpendek untuk mendapatkan greedy terhadap jarak dan greedy terhadap waktu.

1.3 Rumusan Masalah

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

1. Bagaimana membuat program simulasi untuk mencari jarak terpendek menggunakan Algoritma Greedy.


(44)

4

2. Bagaimana mencari lintasan terpendek dari jarak yang akan ditempuh dan waktu tempuh menggunakan Algoritma Greedy.

1.4 Batasan Masalah

Dalam melakukan simulasi pencarian rute angkot cicaheum ciroyom ini, agar tidak menyimpang dari tujuan penelitian maka penulis membatasi masalah yang akan dibahas pada penelitian ini, yaitu :

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

2. Algoritma Greedy 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 angkot cicaheum ciroyom dengan posisi awal terminal Cicaheum menuju ke jalan Dipatiukur.

5. Terdapat 5 titik lampu merah yang dilalui angkot cicaheum ciroyom sampai ke jalan Dipatiukur.

6. Titik lampu merah pertama yaitu lampu merah Cicaheum, lampu merah kedua jalan Cimuncang, ketiga lampu merah Cikutra, ke-empat lampu merah pahlawan dan kelima lampu merah Gasibu.


(45)

5

8. Bobot waktu dari google maps berdasarkan jarak yang ditempuh ke tempat tujuan.

1.5 Tujuan Penelitian

Tujuan dari dilakukan penelitian ini adalah sebagai berikut :

1. Untuk melihat performansi algoritma Greedy untuk pencarian rute terpendek.

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

1.6 Manfaat Penelitian

Adapun manfaat dari penelitian ini adalah sebagai berikut :

1. Dengan melakukan penelitian ini penulis dapat mengembangkan ilmu pengetahuan yang telah diterima selama perkuliahan melalui pencarian rute terpendek menggunakan algoritma greedy (simulasi rute angkot Cicaheum Ciroyom).

2. Dengan adanya penelitian ini diharapkan dapat mencari lintasan terpendek dari rute yang akan ditempuh.

1.7 Rencana Kegiatan

Adapun jenis – jenis kegiatan yang direncanakan beserta jadwal kegiatan adalah sebagai berikut :


(46)

6

Tabel 1.1

Estimasi Jadwal Penelitian

No Kegiatan

Tahun 2012

Maret April Mei Juni

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 Greedy

4 Pembuatan Perangkat Lunak

a. Struktur Program

b. Struktur Menu

c. Pengkodean

5 Pengujian Sistem


(47)

7

BAB II

LANDASAN TEORI

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.


(48)

8

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 dinyatakan 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,


(49)

9

dan kembali lagi ke 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 :

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 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.


(50)

10

2.2.2 Definisi Graf

“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

(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 )


(51)

11

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

Sisi pada graf dapat mempunyai orientasi arah. Berdasarkan orientasi arah pada sisi, maka secara umum graf dibedakan atas 2 jenis yaitu :

1. Graf Berarah 2. Graf Tidak Berarah 2.2.3 Graf berarah

Graf yang setiap sisinya diberikan orientasi arah disebut sebagai graf berarah (directed graf). Menyebut sisi berarah lebih sering dengan sebutan busur (arc). Pada graf berarah, (vj,vk) dan (vk,vj) menyatakan dua buah busur yang

berbeda, dengan kata lain (vj,vk) tidak sama dngan (vk,vj). Untuk busur (vj,vk),

simpul vjdinamakan simpul asal (initial vertex) dan simpul vkdinamakan simpul

terminal (terminal vertex). Pada gambar 2.3 adalah contoh graf berarah. Graf berarah sering dipakai untuk menggambarkan aliran proses, peta lalu lintas suatu kota (jalan searah atau dua arah) dan sebagainya.


(52)

12

Gambar 2.2 Graf Berarah

Digraf pada gambar 2.3 menunjukan graf berarah dengan himpunan simpul V(G) =

v1,v2,v3,v4,v5

dan himpunan busur A(G) =

a1,a2,a3,a4,a5,a6

yaitu pasangan terurut dari

(v1,v2),(v2,v3),(v3,v4),(v4,v5),(v5,v1),(v2,v5)

.

2.2.4 Graf tak berarah (undirect graph)

Graf yang sisinya tidak mempunyai orientasi arah disebut graf tak berarah. Pada graf tak berarah, urutan pasangan simpul yang dihubungkan oleh sisi yang sama. Graf pada gambar 2.3 adalah graf tak berarah.

Gambar 2.3 Graf Tidak Berarah

Graf pada gambar 2.3 menunjukan graf tidak berarah dengan himpunan simpul, V(G) =

v1,v2,v3,v4,v5

dan himpunan sisi E(G) =

e1,e2,e3,e4,e5,e6

yaitu pasangan terurut dari

(v1,v2),(v2,v3),(v3,v4),(v4,v5),(v5,v1),(v5,v2)

.


(53)

13

2.2.5 Graf Berbobot

Graf berbobot (weighted graph) adalah graf yang setiap sisinya diberi sebuah nilai (bobot). Bobot tiap sisi dapat menyatakan jarak antara dua buah kota atau panjang suatu jalan pada sebuah kota, biaya perjalanan antara dua buah kota, ongkos produksi, dan sebagainya. Gambar 2.4 adalah contoh graf berbobot dan tidak berarah.

2.2.6 Representasi Graf

Pemrosesan graf dengan program komputer, memerlukan representasi graf dalam memori. Ada beberapa representasi graf yang mungkin untuk dilakukan, yaitu :

1. Matriks Ketetanggaan (Adjacency)

Matriks ketetanggaan adalah representasi graf yang paling umum

digunakan. Misalkan G = (V, E) adalah graf dengan n simpul, n ≥ 1.

Matriks ketetanggaan G adalah matriks yang berukuran n x n. Bila matriks tersebut dinamakan matriks A = [aij] maka bernilai 1 jika

simpul i dan j bertetanggaan dan bernilai 0 jika simpul i dan simpul j tida bertetangga. Matriks ketetanggaan untuk graf sederhana dan tidak berarah selalu simetris dan diagonal utamanya selalu bernilai 0 (nol)

a

b

c d

e

10 12

8

9

14 11 15


(54)

14

karena tidak ada sisi gelang (loop). Jumlah elemen matriks ketetanggaan untuk graf dengan n simpul adalah n2, jika tiap elemen

membutuhkan ruang memori sebesar p maka ruang memori yang dibutuhkan seluruhnya adalah pn2. Pada matriks ketetanggaan untuk

graf tak berarah sederhana simetris, cukup dengan menyimpan elemen segitiga atas saja, karena matriksnya simetris, sehingga ruang memori akan dapat dihemat sebesar pn2/2. Pada graf berbobot, aij

menyatakan tiap sisi yang menghubungkan simpul i dengan simpul j. Gambar 2.7 merupakan contoh graf berbobot beserta matriks ketetanggaannya.

2.3 Definisi Lintasan (Path)

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).

a

b

c d

e

10 12

8

9

14 11 15

a b c d e

e d c b a

15

8

10

15

14

11

14

9

8

11

9

12

10

12


(55)

15

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 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


(56)

16

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,


(57)

17

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.5 Algoritma Floyd

Algoritma Floyd pertama kali diperkenalkan oleh Robert Floyd pada tahun 1962. Algoritma ini adalah salah satu metode untuk mencari lintasan terpendek dalam graf berbobot (dengan bobot sisi negatif atau positif). Algoritma ini juga 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


(58)

18

dibentuk dari solusi yang berasal dari tahap sebelumnya dan ada kemungkinan solusi lebih dari satu.

Algoritma Floyd membandingkan semua kemungkinan lintasan pada graf untuk setiap sisi dari semua simpul. Algoritma ini mampu mengerjakan proses perbandingkan ini sebanyak (V3) kali (bandingkan dengan kemungkinan jumlah sisi sebanyak (V2) (kuadrat jumlah simpul) pada graf, dan setiap kombinasi sisi diujikan). Hal tersebut bisa terjadi karena adanya perkiraan pengambilan keputusan (pemilihan lintasan terpendek) pada setiap tahap antara dua simpul, hingga perkiraan tersebut diketahui sebagai nilai optimal.

2.8 Flowchart

Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut.

Tahapan-tahapan dalam membuat flowchart, ada beberapa petunjuk yang harus diperhatikan, seperti :

1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan. 2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan

definisi ini harus dapat dimengerti oleh pembacanya.


(59)

19

4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja, misalkan menghitung keuntungan penjualan.

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

6. Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri 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 halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem.

7. Gunakan simbol-simbol flowchart yang standar. 2.6.1 Jenis-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 dalam urutan yang tepat saat terjadi. Programmer menggunakan


(60)

20

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.6 Contoh Flowchart Program.

2.7 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 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


(61)

21

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 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


(62)

22

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. 2.5.1 Kelebihan dan Kekurangan JavaScript


(63)

23

· 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. Sedangkan kekurangan JavaScript diantaranya adalah :

· 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.


(64)

24

· 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.8 Perangkat Lunak Pendukung

Untuk perangkat lunak pendukung penulis mengembangkannya melalui Macromedia Dreamwaver. Dreamweaver adalah software yang digunakan oleh Web desainer ataupun Web programmer untuk mengembangkan situs web. Ruang kerja, fasilitas dan kemampuan Dreamweaver mampu meningkatkan produktivitas dan efektivitas dalam mendesain ataupun membangun situs web. Dreamweaver juga dilengkapi dengan fasilitas yang cukup lengkap. Maka dari itu aplikasi yang akan dibuat ini menggunakan Macromedia Dreamweaver.

2.8.1 Ruang Kerja Dreamwaver

Pada saat pertama kali anda memulai Dreamweaver, sebuah kotak dialog Workspace akan muncul, memberikan penawaran kepada anda untuk memilih tampilan ruang kerja yang ingin anda gunakan. Dreamweaver Workspace adalah ruang kerja yang semua jendela dokumen dan panel integrasi pada satu jendela besar, dengan panel group yang berada disisi kanan. Pilihan ini dipakai oleh


(65)

25

banyak pengguna. Dreamweaver Workspace adalah tampilan lama seperti pada Dreamweaver.

Setiap dokumen akan berada pada jendela yang terpisah. Ruang kerja pada Draemweaver 8 memiliki komponen yang memberikan fasilitas dan ruang untuk menuangkan kreasi dalam bekerja, seperti yang terlihat pada Gambar 2.5. Komponen yang disediakan oleh Dreamweaver antara lain adalah Insert bar, Document toolbar, Document window, Panel groups, Site panel, Property inspector. Perhatikan Gambar 2.7 dibawah ini. Berikut bagian-bagian yang terdapat pada jendela kerja dari Dreamweaver 8.

Gambar 2.7 Jendela Kerja Dreamwaver A. Insert Bar

Insert Bar merupakan kumpulan menu yang digunakan untuk memasukkan sebuah objek atau fungsi lainnya ke dalam jendela dokumen. Contoh: Image, Layer, Tabel dan lain-lain. Insert Bar juga mempunyai tujuh menu didalamnya yaitu Common, Layout, Forms, Text, HTML, Application dan Flash Elements. Untuk menampilkan dan menggunakan


(66)

26

menu yang terdapat pada Insert Bar, kita dapat meng-klik tombol drop down yang berada di sebelah kiri Insert Bar. Perhatikan Gambar 2.8 .

Gambar 2.8 Menu Insert Bar

B. Document Toolbar

Document Toolbar digunakan sebagai penempatan file-file yang telah dibuka dan sekaligus untuk menampilkan nama dari file tersebut. Document Toolbar juga mempunyai tiga buah tab yang dapat membantu Anda mendesain web dengan mengubah tampilan dari jendela dokumen, diantaranya Code, Split, Design.

Gambar 2.9 Tampilan Document Toolbar

Code : merupakan kumpulan kode program yang telah disusun, dan berfungsi untuk mengedit listing dari program.

Split : digunakan untuk menampilkan tab dari code view dan design view secara bersamaan.

Design: digunakan sebagai tempat untuk meletakkan objek-objek ke dalam jendela dokumen, seperti Tabel, Form, dan lainnya.


(67)

27

Gambar 2.10 Tampilan Tab-tab View, Split dan Code

C. Document Window

Document Window atau biasa disebut dengan jendela dokumen, merupakan tempat untuk menampilkan objek-objek atau kode program dari tab code, split, dan design.

D. Panel Groups

Panel Group berfungsi untuk mengatur halaman web yang telah Anda buat. Contoh : Panel File, berfungsi untuk mencari dan mengetahui letak halaman file-file yang telah di buat.

E. Property Inspector

Property Inspector berfungsi untuk mengetahui atau mengubah property dari sebuah objek. Contoh : untuk penulisan sebuah teks, kita dapat mengubah font, color, dan size dari teks tersebut dengan menggunakan Property Inspector.


(68)

28

Gambar 2.11 Tampilan Property Inspector

2.8.2 Komponen Ruang Kerja Dreamwaver

Di dalam ruang kerja Dreamweaver terdapat beberapa komponen utama yang membentuk suatu ruang kerja. Berikut ini keterangan singkat tentang menu yang ada pada Dreamweaver. Menu berisi submenu yang biasanya ditampilkan sebagai dropdown menu yang akan muncul ketika anda menekan tombol menu utama.

Gambar 2.12 Menu Pada Dreamwaver

Di dalam sistem menu Dreamweaver terdapat beberapa komponen yang dapat digunakan, yaitu :

1. File Menu

Berisi menu standar seperti New, Open, Save, Cut, Copy, dan Paste. File menu juga berisi beberapa perintah tambahan, seperti Preview in Browser dan Print Code.


(69)

29

Berisi perintah seleksi dan pencarian, seperti Select Parent Tag dan Find and Replace, dan menyediakan akses ke Keyboard Shortcut Editor dan Tag Library Editor.

3. View Menu

Mengijinkan anda melihat tampilan dokumen dengan beberapa cara (seperti Design view dan Code view) dan untuk menampilkan atau menyembunyikan beberapa elemen pada dokumen dan peralatan yang dimiliki Dreamweaver.

4. Insert Menu

Menyediakan alternatif untuk memasukkan objek pada dokumen.

5. Modify Menu

Untuk mengubah properti elemen halaman web atau item lainnya yang dipilih. Menggunakan menu ini dapat mengedit tag, mengubah table dan elemen tabel dan menampilkan beberapa tindakan yang dapat dilakukkan untuk item pada library dan template.

6. Text Menu

Menyediakan perintah yang dibutuhkan untuk melakukan pemformatan pada teks.

7. Commands Menu

Menyediakan akses untuk beberapa macam perintah, termasuk untuk membuat album foto dengan cepat dan melakukan optimasi gambar dengan menggunakan program lain.


(70)

30

8. Site Menu

Menyediakan item menu untuk membuat, membuka, mengedit site.

9. Window Menu

Menyediakan akses kesemua panel, inspectors, dan jendela pada Dreamweaver.

10.Help Menu

Menyediakan akses ke dokumentasi yang dimiliki oleh Dreamweaver, termasuk cara penggunaan Dreamweaver, membuat ekstensi dan material lainnya yang dapat membantu anda menggunakan Dreamweaver dengan lebih baik.


(71)

31

BAB III

METODOLOGI PENELITIAN

3.1 Analisis Masalah

Analisis sistem bertujuan untuk melakukan identifikasi persoalan - persoalan yang muncul dalam pembuatan sistem, hal ini dilakukan agar pada saat proses perancangan program simulasi pencarian rute terpendek tidak terjadi kesalahan – kesalahan yang berarti sehingga sistem dapat berjalan dengan baik dan selesai tepat pada waktu yang telah ditentukan. Dalam analisis sistem ini, sistem yang akan di analisa meliputi, analisis kebutuhan sistem, spesifikasi aplikasi, dan lingkungan operasi.

3.1.1 Analisis Kebutuhan Sistem

Analisis kebutuhan sistem membahas secara garis besar kebutuhan sistem. Sistem yang ada disini dapat memberikan suatu penyeleseian masalah dengan menghasilkan gambar peta yang telah dipersiapkan sebelumnya serta jarak terpendek dan waktu tempuh, seperti digambarkan pada gambar 3.1.

INPUT PROSES OUTPUT

· Node Awal

· Node Akhir

· Jarak

· Waktu

· Gambar Peta

· Perhitungan

jarak terpendek

· PerhitunganWak

tu

· Gambar Peta

Jalur Terpendek

· Nilai Rute Jalur

Terpendek

· Nilai Waktu

Tempuh

Gambar 3.1 Rancangan Sistem

Dalama rancangan sistem, secara garis besar langkah – langkah pembuatan sistem ini pertama – tama adalah memasukan node awal, node akhir, jarak, waktu


(72)

32

tempuh dan gambar peta yang sudah di analisis. Kemudian dari keseluruhan data tersebut akan dicari nilai rute terpendek dengan menggunakan Algoritma Greedy dan waktu tempuh. 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 angkot Cicaheum – Ciroyom di Kota Bandung menentukan rute terpendek dengan menggunakan Algoritma Greedy 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 jarak yang ditempuh.

5. Memberikan informasi help untuk cara penggunaan program simulasi pencarian rute terpendek.

3.1.3 Lingkungan Operasi

Untuk membangun program simulasi rute angkot cicaheum ciroyom menuju jalan dipati ukur, dibutuhkan lingkungan operasi sebagai berikut:


(73)

33

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.

3.2 Analisis Algoritma Greedy 3.2.1 Algoritma Greedy

Algoritma Greedy adalah algoritma yang memecahkan masalah langkah demi langkah dan merupakan salah satu metode dalam masalah optimasi. Algoritma Greedy membentuk solusi langkah per langkah sebagai berikut:

1. Terdapat banyak pilihan yang perlu dieksplorasi pada setiap langkah solusi. Oleh karena itu, pada setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilihan. Keputusan yang telah diambil pada suatu langkah tidak dapat diubah lagi pada langkah selanjutnya. 2. Pendekatan yang digunakan didalam algoritma Greedy adalah

membuat pilihan yang terlihat memberikan perolehan terbaik yaitu dengan membuat pilihan optimum local pada setiap langkah dan diharapkan akan mendapatkan solusi optimum global.


(74)

34

Algoritma Greedy didasarkan pada pemindahan edge (arc) per edge (arc) 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 optimum tapi pasti memberikan solusi yang mendekati nilai optimum. Masalah optimasi dalam konteks Algoritma Greedy disusun oleh elemen-elemen sebagai berikut:

1. Himpunan kandidat

Himpunan ini berisi elemen-elemen yang memiliki peluang untuk pembentuk solusi. Pada persoalan lintasan terpendek dalam graf, himpunan kandidat ini adalah himpunan simpul dari graf tersebut.

2. Himpunan solusi

Himpunan ini berisi solusi dari permasalahan yang diselesaikan dan elemennya terdiri dari elemen dalam himpunan kandidat, namun tidak semuanya atau dengan kata lain himpunan solusi ini adalah bagian dari himpunan kandidat.

3. Fungsi seleksi (selection function)

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


(75)

35

4. Fungsi kelayakan (feasible)

Fungsi yang memeriksa apakah suatu kandidat yang telah dipilih dapat memberikan solusi yang layak, yakni kandidat tersebut bersama-sama dengan himpunan solusi yang sudah terbentuk tidak melanggar kendala yang ada. Kandidat yang layak dimasukkan ke dalam himpunan solusi, sedangkan kandidat yang tidak layak dibuang dan tidak pernah dipertimbangkan lagi.

5. Fungsi obyektif

Fungsi yang memaksimumkan atau meminimumkan nilai solusi (misalnya panjang lintasan, keuntungan, dan lain-lain). Tujuannya adalah memilih satu saja solusi terbaik dari masing-masing anggota himpunan solusi.

3.2.2 Cara Kerja Algoritma Greedy

Diberikan sebuah graph berbobot G (V,E). Tentukan lintasan dari simpul awal a, ke setiap simpul lainnya di G. Asumsi bahwa bobot semua edge(arc) bernilai positif. Algoritma greedy untuk mencari lintasan terpendek dapat dirumuskan sebagai berikut :

1. Periksa semua sisi yang langsung bersesuaian dengan simpul a. Pilih sisi yang bobotnya terkecil. Sisi ini menjadi lintasan terpendek pertama, sebut saja L(1).

2. Tentukan lintasan terpendek ke dua dengan cara sebagai berikut : a. Hitung d(i) = panjang L(1) + bobot sisi dari simpul akhir L(1) ke


(76)

36

b. Bandingkan d(i) dengan bobot sisi (a, i) lebih kecil daripada d(i), maka L(2) = L(1) U (sisi dari simpul akhir L(i) ke simpul i)

3. Dengan cara yang sama, ulangi langkah (2) untuk menentukan lintasan terpendek berikutnya.

Contoh Kasus :

Suatu Graph dengan 6 simpul dan masing – masing ruasnya mempunyai nilai tersendiri,

A B E

C D F

15 3 15 35 30 50 10 10 20 45 20

Gambar 3.2 Graf Berarah dan berbobot dengan 6 simpul

Jalur terpendek dari A ke semua tempat tujuan pada graph G (gambar 3.2) adalah : Tabel 3.1

Jalur dari simpul A ke semua tempat tujuan

Jalur Panjang

1. A – C 2. A – C – D 3. A – C – D – B 4. A – E

10 25 45 45

Proses untuk mencapai simpul tujuan dari simpul awal (A) dari setiap jalur pada tabel 3.1 adalah :

1. A – C diperoleh melalui jalur – jalur A – C : 10 atau


(77)

37

A – B – E – D – B – C : 50 + 10 + 30 + 20 + 15 = 125 atau A – E – D – B – C : 45 + 30 + 20 + 15 = 110

Solusi optimal = A – C dengan panjang 10 2. A – D diperoleh melalui jalur – jalur

A – C – D : 10 + 15 = 65 atau

A – B – E – D : 50 + 10 + 30 = 90 atau A – B – C – D : 50 + 15 + 15 = 80 atau A – E – D : 45 + 30 = 75

Solusi optimal = A – C – D dengan panjang 65 3. A – B diperoleh melalui jalur – jalur

A – B : 50 atau

A – C – D – B : 10 + 15 + 20 = 45 atau A – E – D – B : 45 + 30 + 20 = 95

Solusi optimal = A – C – D – B dengan panjang 45 4. A – E diperoleh melalui jalur – jalur

A – E : 45 atau

A – B – E : 50 + 10 = 60 atau

A – C – D – B – E : 10 + 15 + 20 + 10 = 55 atau A – C – D – E : 10 + 15 + 35 = 60


(78)

38

3.2.3 Pseudocode Algoritma Greedy

Pseudo-code algoritma greedy adalah sebagai berikut:

procedure greedy(input C: himpunan_kandidat; output S : himpunan_solusi)

{ menentukan solusi optimum dari persoalan optimasi dengan algoritma greedy

Masukan: himpunan kandidat C

Keluaran: himpunan solusi S

}

Deklarasi

x : kandidat;

Algoritma:

S{} { inisialisasi S dengan kosong }

while (belum SOLUSI(S)) and (C  {} ) do

xSELEKSI(C); { pilih sebuah kandidat dari C}

C C - {x} { elemen himpunan kandidat berkurang

satu }

if LAYAK(S  {x}) then

SS  {x}

endif endwhile


(79)

39

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.


(80)

40

BAB IV

PERANCANGAN

4.1 Deskripsi Simulasi Pencarian Rute Terpendek

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

4.2 Perancangan Sistem

Dalam membangun suatu sistem yang akan kita buat diperlukan adanya suatu perancangan sistem. Perancangan sistem diperlukan agar kita dapat melakukan semua kegiatan sesuai dengan prosedur. 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 dan bobot waktu.


(81)

41

4.2.2 Gambaran Umum Sistem

Gambaran umum sistem ini bertujuan untuk menghasilkan perancangan program pencarian rute terpendek menggunakan algoritma greedy (simulasi rute angkot Cicaheum Ciroyom) dengan tujuan dari terminal Cicaheum ke jalan Dipatiukur. Perancangan program simulasi ini akan menampilkan jarak terpendek dari node awal ke node tujuan yang akan dicari. Jarak terpendek rute diambil dari bobot jarak dan bobot waktu terkecil.

4.3 Implementasi Algoritma Greedy Pada Simulasi Pencarian Rute Terpendek Angkot Cicaheum Ciroyom

Kegunaan utama pada simulasi pencarian rute terpendek angkot Cicaheum

– Ciroyom 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 greedy . Algoritma ini merupakan algoritma yang membentuk solusi langkah per langkah. Pada langkah tersebut akan dipilih keputusan yang paling optimal. Keputusan tersebut tidak perlu memperhatikan keputusan selanjutnya yang akan diambil, dan keputusan tersebut tidak dapat diubah lagi pada langkah selanjutnya. Pada setiap langkah dalam algoritma greedy diambil keputusan yang paling optimal untuk langkah tersebut tanpa memperhatikan konsekuensi pada langkah selanjutnya.


(82)

42

4.3.1 Pengembangan Cara Kerja Umum Algorima Greedy

Dalam pencarian rute terpendek algoritma greedy akan mencari solusi langkah per langkah. Algoritma greedy akan membangkitkan simpul berikutnya dari sebuah simpul (yang sejauh ini terbaik diantara semua pasangan node) yang pernah dibangkitkan. 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 node awal ke node tujuan.

4.3.2 Data Dalam Graf

Gambar 4.1 merupakan penerapan graf tidak berarah dengan penempatan node beserta bobotnya.

A B C D 1,3 km = 2 m

nt = 3 ,5 m

nt

3,7 km = 5 mnt = 6,5 mnt

1,6 km =

4,5 mnt B C D G F

2,4 km = 3 mnt = 7,5 mnt 0,45000 km=1mnt

2,4 km

= 5 m nt = 6

,5 m nt E G F J I

1,8 km = 3 mnt = 6 mnt 1,4 km = 2 mnt

= 5 mnt

E G F H J I L M

1,8 km = 3 mnt = 6 mnt

0,85000 km = 2 mnt 1,4 km = 2 mnt

= 5 mnt

2,6 km = 5 mnt = 6,5 mnt

0, 8 0 00 0 k m = 1m n t

1,8 km = 3 mnt = 6 mnt

1,6 km = 3 m

nt

= 4,5 mnt

K N

A : Terminal Cicaheum K : Jl. Riau

B : Antapani L : Jl. Dipenogoro

C : Jl. Ahmad Yani M: Jl. Dipatiukur

D : Jl. K.H Hasan Mustopa N: Jl. Taman Pramuka

E : Jl. Sukabumi F : Jl. Jakarta G: Jl. Surapati H: Jl. Laswi I : Jl. Supratman J : Jl. Panata Yuda

KETERANGAN :

2,3 km = 5 mnt = 6,5 mnt

1,3 km = 3 mnt = 4,5 mnt

1 km= 2mnt


(83)

43

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

Tabel 4.1 Nilai bobot

Node Link ke Node Bobot Jarak Bobot Waktu

A (Terminal Cicaheum) B (Antapani) 1,6 km 4,5 mnt

A (Terminal Cicaheum) C (Jl. Ahmad Yani) 3,7 km 5 mnt

A (Terminal Cicaheum) D (Jl. KH. Hasan Mustofa) 1,3 km 3,5 mnt

B (Antapani) F (Jl. Jakarta) 2,4 km 6,5 mnt

C (Jl. Ahmad Yani) F (Jl. Jakarta) 0,45000 km 2,5 mnt

D (Jl. KH. Hasan Mustofa) G (Jl. Surapati) 2,4 km 7,5 mnt

E (Jl. Sukabumi) F (Jl. Jakarta) 0,80000 km 1 mnt

E (Jl. Sukabumi) H (Jl. Laswi) 1,8 km 6 mnt

F (Jl. Jakarta) E (Jl. Sukabumi) 0,80000 km 1 mnt

F (Jl. Jakarta) I (Jl. Supratman) 1,4 km 5 mnt

G (Jl. Surapati) J (Jl. Panata Yuda) 1,8 km 4,5 mnt

H (Jl. Laswi) K (Jl. Riau) 2,3 km 6,5 mnt

I (Jl. Supratman) N (Jl. Taman Pramuka) 1 km 2 mnt

I (Jl. Supratman) L (Jl. Dipenogoro) 2,6 km 6,5 mnt

J (Jl. Panata Yuda) L (Jl. Dipenogoro) 1,6 km 4,5 mnt

J (Jl. Panata Yuda) M (Jl. Dipatiukur) 0,85000 km 2 mnt

K (Jl. Riau) N (Jl. Taman Pramuka) 1,3 km 4,5 mnt

L (Jl. Dipenogoro) I (Jl. Supratman) 2,6 km 6,5 mnt

L (Jl. Dipenogoro) J (Jl. Panata Yuda) 1,6 km 4,5 mnt

M (Jl. Dipatiukur) J (Jl. Panata Yuda) 0,85000 km 2 mnt

N (Jl. Taman Pramuka) K (Jl. Riau) 1,3 km 4,5 mnt

N (Jl. Taman Pramuka) I (Jl. Supratman) 1 km 2 mnt

(Sumber : Google Maps)

Berikut adalah langkah-langkah dalam menyeleseikan masalah jalur angkot Cicaheum Ciroyom yang terdapat pada gambar 4.1 dengan menggunakan algoritma greedy untuk mencari rute terpendek. Dengan rute awal Terminal Cicaheum ke jalan Dipatiukur.


(84)

44

a. Greedy Terhadap Jarak

Pada langkah pertama, ada 3 simpul yang bisa dipilih dari simpul awal A, yaitu B,C, dan D. Pada saat menemui persimpangan algoritma greedy akan mengecek simpul manakah yang paling menguntungkan. Ternyata simpul yang paling kecil adalah B,C, dan D. Algoritma akan memilih D.

A

B

C

D

1,3 km = 3,5

m nt

3,7 km = 6,5 mnt

1,6 km =

4,5 mnt

D

Gambar 4.2 Langkah 1 Greedy terhadap jarak

Pada langkah ke-2, setelah mengambil simpul D, maka kemudian algoritma akan memeriksa, simpul apakah yang ada di D. Ternyata simpul yang terhubung dengan simpul D hanya simpul G, maka simpul G terpilih sebagai simpul selanjutnya.


(85)

45

A

B

C

D

1,3 km = 3,5

mn t

3,7 km = 6,5 mnt

1,6 km

= 4 ,5 mnt B C D G F

2,4 km = 7,5 mnt 0,45000 km=1mnt

2,4 km =

6,5 m

nt

Gambar 4.3 Langkah ke-2 Greedy terhadap jarak

Pada langkah ke-3, sama seperti sebelumnya, dilakukan pengecekan. Ternyata simpul G hanya terhubung ke simpul J, maka simpul J terpilih sebagai simpul selanjutnya. A B C D 1,3 km

= 3,5 m

nt

3,7 km = 6,5 mnt 1,6 km= 4,5 mn t B C D G F

2,4 km = 7,5 mnt 0,45000 km=1mnt

2,4 km

= 6,5 m nt E G F J I

1,8 km = 6 mnt 1,4 km = 5 mnt

0,8 00 00 km =1 mn t


(86)

46

Pada langkah ke-4 setelah mengambil simpul J, algoritma akan memeriksa, simpul apakah yang ada di J. Setelah diperiksa simpul M dipilih, maka sampai pada tujuan.

A B C D 1,3 km = 3,5 m

nt

3,7 km= 6,5 mnt

1,6 km =

4,5 mnt B C D G F

2,4 km = 7,5 mnt 0,45000 km=1mnt 2,4 km = 6,5 m nt E G F J I

1,8 km = 6 mnt 0,8 00 00 km =1 mn t E G F H J I L M

0,85000 km = 2 mnt 1,4 km = 5 mnt 2,6 km= 6,5 mnt 0,8 00 00 km =1 mn t

1,8 km = 6 mnt

1,6 km =

4,5 mnt

Gambar 4.5 Langkah ke-4 Greedy terhadap jarak

Jadi dengan menggunakan algoritma greedy terhadap jarak didapatkan

jalur A→D→G→J→M. Jalur yang ditempuh adalah Terminal Cicaheum → Jl. K.H. Hasan Mustopa → Jl. Surapati → Jl. Panata Yuda → Jl. Dipatiukur.

Estimasi jarak dan waktu angkotnya adalah :

Jarak = AD + DG + GJ +JM = 1,3 + 2,4 + 1,8 + 0,85000 = 6,35 km

Waktu = AD + DG + GJ +JM = 3,5 + 7,5 + 6 + 2 = 19 menit


(87)

47

b. Greedy terhadap waktu

Dalam mencari rute terpendek terhadap waktu langkah-langkahnya sama dengan menentukan greedy terhadap jarak diatas, dipilih simpul yang paling menguntungkan. Pada langkah ke-1, ada 3 simpul yang bisa dipilih dari simpul awal A, yaitu B,C, dan D. Pada saat menemui persimpangan algoritma greedy akan mengecek simpul manakah yang paling menguntungkan. Ternyata simpul yang paling kecil adalah B,C, dan D. Algoritma akan memilih D.

A B C D 1,3 km

= 3,5 m

nt

3,7 km = 6,5 mnt 1,6

km = 4,5 mnt

D

Gambar 4.6 Langkah ke-1 greedy terhadap waktu

Pada langkah ke-2, setelah mengambil simpul D, maka kemudian algoritma akan memeriksa, simpul apakah yang ada di D. Ternyata simpul yang terhubung dengan simpul D hanya simpul G, maka simpul G terpilih sebagai simpul selanjutnya.


(88)

48 A B C D 1,3 km

= 3,5 m

nt

3,7 km = 6,5 mnt

1,6 km

= 4, 5 mnt B C D G F

2,4 km = 7,5 mnt 0,45000 km=1mnt

2,4 km

= 6,5 m

nt

Gambar 4.7 Langkah ke-2 greedy terhadap waktu

Pada langkah ke-3, sama seperti sebelumnya, dilakukan pengecekan bobot waktu yang paling minimum. Ternyata simpul G hanya terhubung ke simpul J, maka simpul J terpilih sebagai simpul selanjutnya.

A B C D 1,3 km

= 3,5 m

nt

3,7 km = 6,5 mnt

1,6 km

= 4, 5 mn

t

B

C

D G

F

2,4 km = 7,5 mnt 0,45000 km=1mnt

2,4 km

= 6,5 m nt E G F J I

1,8 km = 6 mnt 1,4 km = 5 mnt

0,8 00 00 km =1 mn t

Gambar 4.8 Langkah ke-3 greedy terhadap waktu

Pada langkah ke-4 setelah mengambil simpul J, algoritma akan memeriksa, simpul apakah yang ada di J. Setelah diperiksa simpul M dipilih,


(89)

49

karena memiliki bobot waktu yang paling dibandingkan simpil L maka sampai pada tujuan.

A

B

C

D

1,3 km = 3

,5 m nt

3,7 km= 6,5 mnt

1,6 km =

4,5 mnt B C D G F

2,4 km = 7,5 mnt 0,45000 km=1mnt

2,4 km = 6,5 m nt E G F J I

1,8 km = 6 mnt

0,8 00 00 km =1 mn t E G F H J I L M 0,85000 km = 2 mnt 1,4 km = 5 mnt 2,6 km= 6,5 mnt

0,8 00 00 km =1 mn t

1,8 km = 6 mnt

1,6 k m =

4,5 mnt

Gambar 4.9 Langkah ke-4 greedy terhadap jarak

Jadi dengan menggunakan algoritma greedy terhadap waktu didapatkan

jalur A→D→G→J→M. Jalur yang ditempuh adalah Terminal Cicaheum → Jl. K.H. Hasan Mustopa → Jl. Surapati → Jl. Panata Yuda → Jl. Dipatiukur.

Estimasi waktu dan jarak angkotnya adalah :

Waktu = AD + DG + GJ +JM = 3,5 + 7,5 + 6 + 2

= 19 menit

Jarak = AD + DG + GJ +JM = 1,3 + 2,4 + 1,8 + 0,85000 = 6,35 km


(1)

61

7. Node awal A ke node tujuan E

Gambar 5.14 Output Program dengan node tujuan E Berikut ini gambar rute dengan node tujuan E, terlihat pada gambar 5.15.

Gambar 5.15 Peta Node Awal A (Terminal Cicaheum) ke Node Tujuan E (Jl.Sukabumi)


(2)

5.2 Manual Instalasi

Program simulasi ini dapat dijalankan di 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 Internet Explore. 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.16 .


(3)

63

2. Buka folder simulasi pencarian rute terpendek , dan running file jalur_pendek.html di browser, disini penulis menggunakan browser Internet Explore. Setelah dibuka di buka di browser Internet Explore , akan muncul peringatan “ To help protect yout security, Internet Explore has restricted this webpage from running scripts or ActiveX controls that could accsess your computer. Click here for options..” pengguna tinggal klik peringatan tersebut dan pilih allow blocked content. Seperti terdapat pada gambar 5.17.

Gambar 5.17 Program Simulasi Pencarian Rute Angkot Cicaheum Ciroyom 3. Setelah proses kedua selesai, program simulasi pencarian rute terpendek bisa


(4)

64

Pada bab ini akan dibahas tentang kesimpulan yang berisi hasil-hasil yang diperoleh setelah dilakukan analisis, perancangan dan implementasi dari perancangan perangkat lunak yang dibangun. Serta saran-saran yang akan memberikan catatan penting dan kemungkinan perbaikan yang perlu dilakukan untuk pembangunan perangkat lunak selanjutnya.

6.1 Kesimpulan

Dari hasil pengujian penulis dapat membuat kesimpulan sebagai berikut : 1. Telah berhasil dibuat suatu aplikasi simulasi pencarian rute terpendek

dengan menggunakan algoritma greedy.

2. Terdapat rute terpendek yang dihasilkan berdasarkan bobot jarak dan bobot waktu antar node awal ke node tujuan.

6.2 Saran

Sebagai saran yang ditujukan kepada pembaca yang ingin menetukan lintasan terpedek, agar dapat mengembangkan aplikasi ini. Adapun saran – saran untuk pengembangan lebih lanjut antara lain :

1. Menambahkan lebih dari satu rute angkot untuk jalur pencarian rute terpendek ini agar terdapat banyak pilihan untuk memilih rute angkot yang diinginkan.


(5)

65

2. Menggunakan algoritma berbeda untuk mencari rute terpendek nantinya untuk menjadi perbandingan dengan algoritma greedy.


(6)

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://hanapert.blogspot.com/2011/10/algoritma-greedy.html 06 April 2012 http://sakurachan89.blogspot.com/2009/04/algoritma-warshall-dan-bellman-1.html 10 April 2012