• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
106
0
0

Teks penuh

(1)

Oleh :

CAHYA GUNAWAN

1.05.08.215

JURUSAN SISTEM INFORMASI

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

(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

(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

(12)

PERANCANGAN

(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

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

(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

(25)
(26)

KESIMPULAN

1. Telah berhasil dibuat suatu aplikasi simulasi

pencarian

rute

terpendek

dengan

menggunakan algoritma greedy.

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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(46)
[image:46.595.109.516.162.549.2]

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.

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

(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

(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

(52)
[image:52.595.245.384.117.231.2]

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

[image:52.595.248.376.483.584.2]
(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

(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

(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

(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

(60)

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

(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

(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

(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

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

(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

(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

(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

(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

(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

(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

(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

(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

[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

(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

mel

Gambar

Tabel 1.1
Gambar 2.2 Graf Berarah
Gambar 2.6 Contoh Flowchart Program.
Gambar 3.2 Graf Berarah dan berbobot dengan 6 simpul
+7

Referensi

Dokumen terkait

Program simulasi dapat mencari rute terpendek dari halte asal dan halte tujuan yang berbeda koridor maupun berada pada koridor yang sama, dikarenakan dari semua

Penelitian ini adalah membuat sebuah simulasi pencarian jalur terpendek dengan menggunakan Algoritma Djikstra yang dapat membantu dalam.. pencarian jalur

Pencarian rute terpendek dari konsumen PDAM yang mengalami kebocoran pipa ke bagian kontrol yang meperbaiki dapat dilakukan dengan program yang menerapkan algoritma pencarian

Adapun saran Penulis untuk Penelitian selanjutnya yang berkaitan dengan Aplikasi Pencarian Rute Terpendek Apotek di Kota Kendari dengan Menggunakan Algoritma

Program simulasi dapat mencari rute terpendek dari halte asal dan halte tujuan yang berbeda koridor maupun berada pada koridor yang sama, dikarenakan dari semua

Adapun saran Penulis untuk Penelitian selanjutnya yang berkaitan dengan Aplikasi Pencarian Rute Terpendek Apotek di Kota Kendari dengan Menggunakan Algoritma

melakukan pengolahan citra tersebut pada PC (Personal Computer) sehingga data- data bobot yang diperlukan untuk penyelesaian rute terpendek dengan menggunakan

Kesimpulan Kesimpulan yang didapat adalah pada penelitian pencarian rute terpendek antar kabupaten yang terdapat di provinsi Bali ini data yang digunakan yaitu koordinat dari