Oleh :
CAHYA GUNAWAN
1.05.08.215
JURUSAN SISTEM INFORMASI
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
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.
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
Salah satu metode yang dapat digunakan untuk
menyelesaikan
permasalahan
pencarian
jalur
Menggunakan algoritma greedy untuk masalah optimasi
dalam mencari rute terpendek untuk mendapatkan
greedy terhadap jarak dan greedy terhadap waktu.
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.
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
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.
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.
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.
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
PERANCANGAN
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
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
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
KESIMPULAN
1. Telah berhasil dibuat suatu aplikasi simulasi
pencarian
rute
terpendek
dengan
menggunakan algoritma greedy.
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.
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
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.
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.
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
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
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
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
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
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
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
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
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
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
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.
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
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
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.
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 :
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
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 )
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
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
yaitupasangan 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
[image:52.595.248.376.483.584.2]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
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
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
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
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
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.
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
20
flowchart program untuk menggambarkan urutan instruksi dari program
komputer. Analis Sistem menggunakan flowchart program untuk menggambarkan
[image:60.595.201.427.199.527.2]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
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
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
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
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
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,
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.
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
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.
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
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
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
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
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
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
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
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
[image:76.595.219.408.306.410.2]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
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
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
xSELEKSI(C); { pilih sebuah kandidat dari C}
C C - {x} { elemen himpunan kandidat berkurang
satu }
if LAYAK(S {x}) then
SS {x}
endif
endwhile
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.
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
mel