iv
ABSTRACT
Search for the shortest route problem in the city especially indispensable
for travelers in and out of the city itself. Given the many roads that can be taken to
make the user look for the fastest path to get to its destination.
One algorithm suitable to solve the problem of finding the shortest path is
a label-setting algorithms. Label-setting algorithm see the possibilities -
possibilities that exist and mark the shortest path to node n by finding the
minimum value obtained for up to the node and mark it by using the path tree.
A Path on the shortest path tree, in graph theory is the subgraph that calculates the
distance between the node from the origin node to node - the node that is around
and choose the smallest value. Called a tree because if it finds two paths to the
same end of the line (rotating), then we can delete the path that has the largest
path length. Therefore, the path tree is unique[6].
Several tests have been performed on the label-setting algorithm program
by the number of nodes as many as 59 nodes, 75 nodes and 100 nodes. It also
tried a third the number of nodes on two PCs that have different specifications.
From the test results can be seen the performance of the label-setting algorithms
for shortest path problems.
ABSTRAK
Persoalan pencarian rute terpendek di kota Bandung khususnya sangat
diperlukan bagi wisatawan dalam dan luar kota Bandung sendiri. Mengingat
banyaknya jalan yang dapat ditempuh membuat pengguna mencari jalur tercepat
untuk sampai ke tujuannya.
Salah satu algoritma yang dapat digunakan untuk menyelesaikan masalah
pencarian jalur terpendek ini adalah algoritma setting. Algoritma
label-setting melihat kemungkinan - kemungkinan yang ada dan menandai jalur
terpendek ke node-n dengan mencari nilai minimum yang didapat untuk sampai ke node tersebut dan menandainya dengan menggunakan path tree.
Sebuah Path tree pada jalur terpendek, dalam teori graf adalah subgraf yang menghitung jarak antar node dari node asal ke node - node yang ada disekitarnya
dan memilih nilai terkecil. Disebut tree karena jika menemukan dua buah jalur dengan jalur akhir yang sama (berputar), maka kita dapat menghapus jalur yang
memiliki panjang jalur yang terbesar. Oleh karena itu path tree bersifat unik[6]. Beberapa pengujian telah dilakukan pada program algoritma label-setting
dengan jumlah node sebanyak 59 node, 75 node dan 100 node. Selain itu juga
mencoba ketiga jumlah node tersebut pada 2 buah PC yang memiliki spesifikasi
yang berbeda. Dari hasil pengujian dapat dilihat bahwa rata - rata waktu proses
algoritma label-setting untuk pencarian jalur terpendek adalah dibawah 1 detik.
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Dalam kehidupan sehari hari, selalu dilakukan perjalanan dari satu titik
atau lokasi ke lokasi yang lain dengan mempertimbangkan efisiensi waktu dan
biaya sehingga diperlukan ketepatan dalam menentukan jalur terpendek antar
suatu titik atau lokasi yang diinginkan. Hasil penentuan jalur terpendek nantinya
akan menjadi pertimbangan dalam pengambilan keputusan untuk menunjukkan
jalur yang akan ditempuh. Hasil yang nantinya akan didapatkan juga
membutuhkan kecepatan dan keakuratan dengan bantuan komputer.
Persoalan pencarian jalur terpendek pada tugas akhir ini yakni mencari
jarak terpendek dari node asal ke node tujuan yang telah ditentukan dengan
melewati beberapa node. Sekilas tampak mudah dan tidak terlalu sulit walau
dikerjakan dengan perhitungan matematika biasa. Namun, pada kenyataanya jika
jumlah nodenya banyak maka perhitungan matematika biasa sudah tidak dapat
digunakan lagi untuk mencari solusi pada persoalan ini, karena akan memerlukan
waktu yang sangat lama.
Salah satu metode penyelesaian permasalahan yang cukup efektif adalah
dengan menggunakan metode path tree atau penandaan jalur yang dianggap sebagai jalur terpendek. Dan dengan menggunakan algoritma Label-Setting
sebagai alur program yang cukup effisien pada kasus pencarian jalur terpendek.
Algoritma Label-Setting akan mencari jalur terpendek mulai dari node terdekat
sampai dengan node yang paling jauh dari asal. Algoritma akan membandingkan
sejumlah solusi jalur yang masuk ke dalam kandidat, dan membandingkan nilai
terkecil. Apabila kandidat tersebut memiliki nilai bobot atau cost terendah, maka
edge atau jalur itulah yang menjadi jalur terpendek ke node tersebut.
1.2 Maksud dan Tujuan
Maksud dibuatnya Aplikasi Penggunaan Algoritma Label-Setting pada
Pencarian Jalur Terpendek ini adalah membuat suatu simulasi program yang dapat
mencari solusi terbaik untuk menentukan jarak terpendek antara node asal ke node
tujuan.
Tujuan dibuat aplikasi ini ini adalah untuk memperoleh informasi yang
dapat dimanfaatkan oleh masyarakat terutama yang berhubungan dengan
transportasi, untuk dapat menentukan jalur terpendek yang dapat ditempuh saat
mereka melakukan perjalanan sehingga dapat menghemat waktu, biaya, dan
tenaga.
1.3 Batasan Masalah
Adapun batasan masalah pada pembuatan tugas akhir ini adalah :
1. Semua diasumsikan sebagai graf lengkap yang terhubung antara satu
node dengan node yang mendekati tujuan.
2. Semua koordinat node ditentukan terlebih dahulu.
3. Jenis graf yang digunakan adalah graf tidak berarah dan berbobot.
4. Peta yang digunakan adalah peta kota Bandung, yang meliputi wilayah
Tegalega, wilayah Karees, wilayah Cibeunying dan wilayah Bojonagara
(wilayah Ujung Berung dan Gede Bage tidak termasuk).
5. Perangkat lunak yang digunakan adalah Visual Basic 2005.
1.4 Metode Penelitian
Metode yang digunakan dalam penyusunan tugas akhir ini adalah sebagai
berikut:
1. Tinjauan pustaka
Mempelajari buku, artikel, dan situs yang terkait dengan algoritma
Label-Setting dan bahasa yang digunakan pada perangkat lunak Visual Basic
3
2. Eksperimen Program
Mengaplikannya ke dalam program kemudian menguji
parameter-parameter yang digunakan serta keberhasilan program.
1.5 Sistematika Penulisan
Penulisan tugas akhir ini terdiri dari lima bab, diantaranya sebagai berikut :
BAB I Pendahuluan
Bab ini mengulas latar belakang masalah, maksud dan tujuan,
batasan masalah, metodologi penelitian dan sistematika
penulisan.
BAB II Tinjauan Pustaka
Bab ini berisi tentang tinjauan pustaka yang diambil dari
berbagai sumber buku, situs dan hasil diskusi dengan dosen
pembimbing yang memuat pembahasan teori-teori mengenai
pengertian Algoritma Label-Setting.
BAB III Perancangan
Bab ini menjelaskan pembuatan perangkat lunak yang dapat
mensimulasikan rute dari node asal ke node tujuan.
BAB IV Analisis Masalah
Bab ini membahas implementasi dari perancangan program,
menguji keberhasilan program dan menganalisis hasil tersebut.
BAB V Simpulan dan Saran
Bab ini berisi simpulan analisis masalah serta saran guna
meningkatkan dan mengembangkan metode yang lebih optimal
BAB II
DASAR TEORI
2.1 Teori Graf
Graf adalah kumpulan simpul (nodes) yang dihubungkan satu sama lain melalui sisi/busur (edges). Suatu Graf G terdiri dari dua himpunan yaitu himpunan V dan himpunan E.
a. Verteks (simpul) : V = himpunan simpul yang terbatas dan tidak kosong
b. Edge (sisi/ruas) : E = himpunan busur yang menghubungkan sepasang
simpul.
Simpul-simpul pada graf dapat merupakan obyek sembarang seperti kota,
atom-atom suatu zat, nama anak, jenis buah, komponen alat elektronik dan sebagainya.
Busur dapat menunjukkan hubungan (relasi) sembarang seperti rute penerbangan,
jalan raya, sambungan telepon, ikatan kimia, dan lain-lain. Notasi graf: G(V,E)
artinya graf G memiliki V simpul dan E busur.
2.1.1 Macam-macam Graf
Menurut arah dan bobotnya, graf dibagi menjadi empat bagian, yaitu :
1. Graf berarah dan memiliki bobot
Tiap busur mempunyai anak panah dan bobot. Gambar 2.1 menunjukkan
graf berarah dan berbobot yang terdiri dari tujuh titik yaitu titik
A,B,C,D,E,F,G. Titik menujukkan arah ke titik B dan titik C, titik B
menunjukkan arah ke titik D dan titik C, dan seterusnya. Bobot antar titik
A dan titik B pun telah di ketahui.
5 2. Graf tidak berarah namun memiliki berbobot
Tiap busur tidak mempunyai anak panah tetapi mempunyai bobot. Gambar
2.2 menunjukkan graf tidak berarah dan berbobot. Graf terdiri dari tujuh
titik yaitu titik A,B,C,D,E,F,G. Titik A tidak menunjukkan arah ke titik B
atau C, namun bobot antara titik A dan titik B telah diketahui. Begitu juga
dengan titik yang lain.
Gambar 2.2 Graf tidak berarah namun tidak memiliki bobot
3. Graf berarah namun tidak memiliki bobot
Tiap busur mampunyai anak panah yang tidak berbobot. Gambar 2.3
menunjukan graf berarah dan tidak berbobot.
Gambar 2.3 Graf berarah namun tidak memiliki bobot
4. Graf tidak memiliki arah dan tidak memiliki bobot
Tiap busur tidak mempunyai anak panah dan tidak berbobot. Gambar 2.4
menunjukan graf tidak berarah dan tidak berbobot.
A
C
D
F
G
2 2
2 2 1
1
1 3
3 4
4
B E
2
A
C
D
F
G
Gambar 2.4 Graf tidak memiliki arah dan tidak memiliki bobot
2.2 Definisi Jalur Terpendek
Lintasan terpendek adalah lintasan minimum yang diperlukan untuk
mencapai suatu tempat dari tempat tertentu. Lintasan minimum yang dimaksud
dapat dicari dengan menggunakan graf. Graf yang digunakan adalah graf yang
tidak berbobot, yaitu graf yang tidak memiliki suatu nilai atau bobot.
Ada beberapa macam persoalan lintasan terpendek, antara lain:
a. Lintasan terpendek antara dua buah simpul tertentu (a pair shortets path). b. Lintasan terpendek antara semua pasangan simpul (all pairs shortest path). c. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain (
single-source shortest path).
d. Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul
tertentu (intermediate shortest path). 2.3 Pencarian Jalur Terpendek
Gambar 2.5 Ilustrasi Graf Jalur Terpendek tidak berarah namun memiliki bobot
A
B
C
D
E
5
7
3
4
5
4 A
C
D
F
G
7 Pada dasarnya permasalahan pencarian jalur terpendek antar kota
merupakan pencarian jalur terpendek antar titik yang telah diketahui
koordinatnya. Dengan mengetahui konsep pencarian jalur terpendek antar titik,
untuk selanjutnya dapat diterapkan pada pencarian jalur terpendek pada berbagai
kota yang ingin diketahui. Contoh kasus yang akan diambil adalah pencarian jalur
terpendek antara titik A dan titik E.
Terdapat dua jenis kasus yang bias diturunkan dari gambar 2.5. Kasus
pertama adalah mengetahui jarak antar node yang ditunjukkan dengan garis
penghubung antar titik.. Kasus yang kedua adalah dengan dengan mengetahui
koordinat titik saja. Gambar 2.5 merupakan jenis kasus yang pertama yaitu dengan
mengetahui jarak antar titik. Sedangkan gambar 2.6 merupakan jenis kasus yang
kedua, yaitu dengan mengetahui titik koordinatnya saja. Untuk kasus pertama,
penyelesaian cenderung lebih mudah karena jarak antar titik telah diketahui
sebagai berikut:
Tabel 2.1 Tabel Jarak antar Titik
A B C D E
A 0 5 7 3 -
B 5 0 4 - -
C 7 4 0 - 5
D 3 - - 0 4
E - - 5 4 0
Sedangkan untuk kasus kedua yang telah ditunjukkan pada Gambar 2.6,
misalnya titik–titik yang telah ditentukan mempunyai koordinat sebagaimana
tabel 2.2.
Gambar 2.6 Ilustrasi Graf Jalur Terpendek tidak memiliki arah dan tidak memiliki bobot
A
B
C
D
Tabel 2.2 Koordinat titik antar kota
X Y
A 20 50
B 10 25
C 18 10
D 50 40
E 55 15
Karena belum diketahui jarak antar titiknya dan hanya diketahui titik
koordinat saja, Maka perhitungan dimulai dari penentuan jarak antar simpul titik
dengan dengan menggunakan titik yang diketahui. Titik yang diketahui
menggunakan koordinat sumbu X dan Y. Langkah di atas merupakan langkah
yang harus dilakukan untuk semua metode.
2.4 Algoritma Label-Setting
Untuk lebih mengetahui algoritma Label-Setting, misalkan terdapat suatu
jaringan yang sederhana, berarah, dan memiliki grafik terhubung, di mana edge
masing-masing memiliki nilai negatif, yang disebut panjang edge. Simpul
jaringan dilambangkan oleh bilangan bulat positif. Verteks dengan indeks terbesar
N, (i, j) menunjukkan edge dari simpul i ke simpul j, dan h (i, j) panjang edge ini. Dengan jalur dari simpul i ke simpul j yang kita maksud P (i, j) = (i1, j1), . . . , (ik, jk) dari edge, dengan i1 = i, jk = j dan jL = iL+1, 1 ≤ L < k. Simpul i, j disebut titik
awal dan titik akhir. Dengan panjang jalur yang kita maksudkan adalah jumlah
dari panjang edge yang sepanjang jalur ini. Jika jalur memiliki awal yang sama
dan titik akhir, kemudian kita sebut itu siklus. Sebuah jaringan disebut simetris
jika keberadaan edge (i, j) sama dengan edge (j, i) dan h(i, j) = h (j, i). Contoh pada gambar 1 dan 2 merupakan jalur yang simetris, karena itu kita tidak menulis
petunjuk untuk edge pada angka, pada kenyataannya, masing-masing ujung pada
angka mewakili dua sisi. Dalam pekerjaan ini, simetri tidak penting.
Sebuah subnetwork disebut pohon terarah jika tidak mengandung siklus,
dan ada simpul di dalamnya, yang disebut root atau titik awal dengan properti
9 jalur dari akar untuk itu. Dengan pohon yang minimal kita maksud seperti pohon
diarahkan di mana setiap jalur memiliki panjang minimal di antara jalur menuju
dari titik awal ke titik akhir dalam asli jaringan (lihat Gambar 2.7, simpul 1.).
Gambar 2.7 Jalur Sederhana
Kita dapat dengan mudah menggambarkan pohon diarahkan dengan label
mana untuk setiap simpul (kecuali akar), label menunjukkan titik sebelumnya di
jalur terkemuka dari akar ke simpul dipertimbangkan. Dalam diarahkan pohon,
masing-masing titik memiliki jarak yang panjang jalur dari akar (lihat gambar
2.8). Untuk simpul i, misalkan c (i) dan t (i) menunjukkan label dan jarak, masing-masing. Jarak dari akar sesuai definisi adalah 0, dan jika perlu, dari sudut pandang
teknis, kita juga akan memberikan label kepada akar. Label ini dapat dibedakan
label apapun (misalnya akar itu sendiri atau 0).
Tabel 2.3 Algoritma Label-Setting sederhana
Algoritma untuk menentukan pohon-pohon minimal dengan beberapa
teknik membangun pohon yang penting dari baik teoritis dan praktis sudut
pandang. Salah satu alasan adalah bahwa ada tidak diketahui lebih efisien
algoritma untuk mencari jalur terpendek lokal untuk dua simpul. Selanjutnya,
algoritma ini memiliki implementasi komputer yang mempertahankan efisiensi
teoritis. Properti yang terakhir ini tidak berlaku untuk algoritma lain yang dikenal
untuk menemukan jalur terpendek antara setiap pasangan simpul, dengan
demikian, dalam masalah-masalah praktis dengan jaringan yang sangat besar itu
bisa sangat sulit untuk menggunakan prosedur.
2.4.1 Algoritma Label-Setting sederhana
Algoritma Label-Setting secara garis besar dapat ditulis sebagai berikut :
Inisialisasi
K sebagai simpul akhir.
Misalkan A adalah himpunan simpul aktif (set aktif). Sebuah titik aktif
jika memiliki label temporal dan jarak yang terbatas namun, penyelidikan
11 Algoritma
Pada umumnya algoritma Label-Setting terdiri dari 4 tahapan, berikut
adalah penjelasannya :
1. Tetapkan jarak ke akar adalah 0 dan jarak tak terbatas untuk simpul
selanjutnya. Biarkan label dari akar menjadi dirinya sendiri. Selanjutnya,
marilah K adalah himpunan kosong, dan A adalah himpunan tunggal yang
berisi akar. Lanjutkan ke Langkah 2.
2. Pilih simpul dari A dengan jarak minimal dan melambangkannya dengan i. (Jika ada lebih simpul dengan jarak minimal, kemudian pilih yang terkecil)
Hapus i dari A., dan masukan ke-K. Lanjutkan ke Langkah 3. 3. Untuk setiap sisi (i, j) dengan t (i) + h (i, j) < t (j):
- C1. Jika j ∈ A, kemudian dimasukkan j menjadi A, ganti label dan jarak
sebagai berikut:
c (j): = i, t (j): = t (i) + h (i, j).
- C2. Jika j ∈ A, maka memodifikasi label dan jarak j oleh
c (j): = i, t (j): = t (i) + h (i, j).
4. Hentikan jika A kosong. Kemudian, label menentukan pohon yang
minimal. Jika tidak, lanjutkan Langkah 2[2].
2.4.2 Proses iterasi pada Algoritma Label-Setting
Pada dasarnya Algoritma Label-Setting mencari jalur terpendek ke semua
node yang ada pada jaringan dan memberikan label pada jalur yang dianggap
sebagai jalur terpendek. Apabila terdapat jalur lain dengan tujuan node yang sama,
maka Algoritma Label-Setting akan membandingkan bobot dari jalur baru dengan jalur lama, apabila jalur baru memiliki nilai bobot yang lebih kecil maka akan memberikan label pada jalur baru dan menghilangkan label pada jalur yang lama.
Berikut contoh proses iterasi pada Algoritma Label-Setting. Dengan
menggunakan graf tidak berarah namun memiliki bobot. Sebut saja K sebagai
Gambar 2.9 Proses Iterasi ke-1
Tabel 2.4 Hasil proses iterasi ke-1
1
A A
A B C D E F G
K A A A
T 0 2 4
Simpul aktif pada iterasi ke-1 adalah node A, dimana node A sedang
mengecek bobot pada node - node yang ada di sekitarnya. Disini node B dan node C berada dekat dan memiliki jalur ke node A. Hasil yang didapatkan pada iterasi
ke-1 simpul akhir untuk menuju node B dan node C adalah node A. dengan total
bobot masing - masing sebesar 2 untuk node B dan 4 untuk node C. Dan memberikan label pada jalur tersebut.
Gambar 2.10 Proses iterasi ke-2
Tabel 2.5hasil proses iterasi ke-2
2
A A B
A B C D E F G
K A A B B B
13 Simpul aktif pada iterasi ke-2 adalah node B, dimana node B sedang
mengecek total bobot yang didapat dari node A sebagai node asal, menuju ke
node C, node D dan node E yang terhubung ke node B. Hasil yang didapat pada
iterasi ke-2 adalah menemukan jalur yang lebih pendek menuju node C, maka
label dari A-C akan digantikan dengan B-C dengan total bobot adalah 3 dan
menggantikan simpul akhir menuju node C dari A menjadi B.
Gambar 2.11 Proses iterasi ke-3
Tabel 2.6 hasil proses iterasi ke-3
3
A A B C
A B C D E F G
K A A B C B C
T 0 2 3 4 4 7
Simpul aktif pada iterasi ke-3 adalah node C, dimana node C sedang
mengecek total bobot yang didapat dari node A sebagai node asal, menuju ke
node D dan node F yang terhubung ke node C. Hasil yang didapat pada iterasi
ke-3 adalah menemukan jalur yang lebih pendek menuju node D, maka label dari
B-D akan digantikan dengan C-B-D dengan total bobot adalah 4 dan menggantikan
simpul akhir menuju node D dari B menjadi C.
Tabel 2.7 hasil proses iterasi ke-4
4
A A B C D
A B C D E F G
K A A B C B D D
T 0 2 3 4 4 6 6
Simpul aktif pada iterasi ke-4 adalah node D, dimana node D sedang
mengecek total bobot yang didapat dari node A sebagai node asal, menuju ke
node E, node F dan node G yang terhubung ke node D. Hasil yang didapat pada
iterasi ke-4 adalah menemukan jalur yang lebih pendek menuju node F, maka
label dari C-F akan digantikan dengan D-F dengan total bobot adalah 6 dan
menggantikan simpul akhir menuju node F dari C menjadi D.
Gambar 2.13 Proses iterasi ke-5
Tabel 2.8 hasil proses iterasi ke-5
5
A A B C D E
A B C D E F G
K A A B C B D E
T 0 2 3 5 4 7 6
Simpul aktif pada iterasi ke-5 adalah node E, dimana node E sedang
mengecek total bobot yang didapat dari node A sebagai node asal, menuju ke
node node G yang terhubung ke node E. Hasil yang didapat pada iterasi ke-5
adalah menemukan jalur yang bernilai sama menuju node G. Maka proses akan
menggantikan simpul akhir node D menjadi node G. Hal ini disebabkan karena
proses akan memperbaharui jalur yang didapat, apabila menemukan jalur baru
15 Gambar 2.14 Proses iterasi ke-6
Tabel 2.9 hasil proses iterasi ke-6
6
A A B C D E F
A B C D E F G
K A A B C B D E
T 0 2 3 5 4 7 6
Simpul aktif pada iterasi ke-6 adalah node F, dimana node F sedang
mengecek total bobot yang didapat dari node A sebagai node asal, menuju ke
node node G yang terhubung ke node F. Disini proses tidak menemukan jalur
yang memiliki nilai labih rendah dari sebelumnya.
Gambar 2.15 Proses iterasi ke-7
Tabel 2.10 hasil proses iterasi ke-7
7
A A B C D E F G
A B C D E F G
K A A B C B D E
Simpul aktif pada iterasi ke-7 adalah node G, dimana node G merupakan
node akhir. Disini proses tidak menemukan jalur yang memiliki nilai labih rendah
dari sebelumnya. Maka proses iterasi selesai.
Dari tabel 2.10 kita dapatkan daftar label yang telah diberikan pada semua
node. Jalur - jalur yang telah diberikan label di sebut dengan path tree.
2.5 Path Tree
Path tree pada teori grafh adalah subgrafh dari grafik yang dibangun sehingga jarak antara node asal (root) ke semua node memiliki nilai terkecil (minimal). Disebut Tree karena jika ada jalur yang memiliki tujuan yang sama (melingkar), maka kita dapat menghapus jalur lama yang memiliki jalur
terpanjang tanpa harus menambahkan jarak dari asal ke semua node yang ada
pada subgrafh.
Jika setiap pasangan node dalam grafik memiliki jalur terpendek yang unik
di antara mereka, maka path tree bersifat unik. Hal ini karena jika jalan tertentu dari akar ke beberapa titik minimal, maka setiap bagian dari jalan itu (dari node u
ke node v) adalah jalan minimal antara dua node[5].
Gambar 2.16 Graf dengan adanya Path Tree
2.6 DFD (Data Flow Diagram)
Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan profesional sistem untuk menggambarkan sistem sebagai suatu
jaringan proses fungsional yang dihubungkan satu sama lain dengan alur data,
17 nama Bubble chart, Bubble diagram, model proses, diagram alur kerja, atau model fungsi.
DFD ini adalah salah satu alat pembuatan model yang sering digunakan,
khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih penting dan
kompleks dari pada data yang dimanipulasi oleh sistem. Dengan kata lain, DFD
adalah alat pembuatan model yang memberikan penekanan hanya pada fungsi
sistem.
DFD ini merupakan alat perancangan sistem yang berorientasi pada alur
data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa
maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem
kepada pemakai maupun pembuat program. Adapun simbol-simbol dari DFD
yang dapat dilihat pada lampiran.
2.6.1 Penggambaran DFD
Tidak ada aturan baku untuk menggambarkan DFD. Tapi dari berbagai
referensi yang ada, secara garis besar langkah untuk membuat DFD adalah :
1. Identifikasi terlebih dahulu semua entitas luar yang terlibat di sistem.
2. Identifikasi semua input dan output yang terlibat dengan entitas luar.
3. Buat Diagram Konteks (diagram context)
Diagram ini adalah diagram level tertinggi dari DFD yang menggambarkan
hubungan sistem dengan lingkungan luarnya. Caranya :
a. Tentukan nama sistemnya.
b. Tentukan batasan sistemnya.
c. Tentukan terminator apa saja yang ada dalam sistem.
d. Tentukan apa yang diterima/diberikan terminator dari/ke sistem.
e. Gambarkan diagram konteks.
4. Buat Diagram Level Zero
Diagram ini adalah dekomposisi dari diagram konteks. Caranya :
a. Tentukan proses utama yang ada pada sistem.
b. Tentukan apa yang diberikan/diterima masing-masing proses ke/dari
keluar/masuk dari suatu level harus sama dengan alur data yang
masuk/keluar pada level berikutnya).
c. Apabila diperlukan, munculkan data store (master) sebagai sumber
maupun tujuan alur data.
d. Gambarkan diagram level zero. d.1 Hindari perpotongan arus data.
d.2 Beri nomor pada proses utama (nomor tidak menunjukkan urutan
proses).
5. Buat Diagram Level Satu
Diagram ini merupakan dekomposisi dari diagram level zero. Caranya :
a. Tentukan proses yang lebih kecil (sub-proses) dari proses utama yang
ada di level zero.
b. Tentukan apa yang diberikan/diterima masing-masing sub-proses ke/dari
sistem dan perhatikan konsep keseimbangan.
c. Apabila diperlukan, munculkan data store (transaksi) sebagai sumber
maupun tujuan alur data.
d. Gambarkan DFD level Satu
d.1 Hindari perpotongan arus data.
d.2 Beri nomor pada masing-masing sub-proses yang menunjukkan
dekomposisi dari proses sebelumnya.
6. DFD Level Dua, Tiga, …
Diagram ini merupakan dekomposisi dari level sebelumnya. Proses
dekomposisi dilakukan sampai dengan proses siap dituangkan ke dalam
program. Aturan yang digunakan sama dengan level satu.
2.7 Visual Basic 2005
Perancangan program ini yaitu menggunakan perangkat lunak Visual basic 2005 yang merupakan suatu bahasa pemrograman yang memberikan berbagai macam fasilitas pembuatan aplikasi visual. Keunggulan pada bahasa
pemrograman ini terletak pada penggunaannya yang mudah dipahami karena
19 bahasa pemrograman yang terstruktur secara umum seperti bahasa pemrograman
lainnya.
Keunggulan lain yang didapat dari bahasa pemrograman ini adalah
banyaknya referensi dan contoh materi ataupun program yang telah banyak
dipaparkan serta hasil rancangan aplikasi dapat langsung di eksekusi dan menjadi
bagian dari program lain yang berbasis pada sistem operasi windows.
Gambar 2.17 Visual Basic 2005
2.7.1 Memulai Visual basic 2005
Ketika kita hendak membuat file baru, maka akan muncul beberapa pilihan
diantaranya adalah : windows application, class library, console application,
crystal report, device application dan masih banyak lagi seperti pada gambar 2.18
Apabila pengguna hendak membuat program yang dapat dijalankan di
system operasi windows, maka pilihlah windows application. Dan akan muncul form sebagai berikut
Gambar 2.19 Jendela form baru
Penggunaan Visual basic 2005 berbasis pada GUI, yang memudahkan pengguna
dalam hal tampilan program. Berikut adalah penjelasan dari interface pada visual
basic 2005.
1. Toolbox : berisikan tool - tool yang dapat digunakan pada program,
pengguna hanya harus click and drag item yang akan digukanan ke dalan form pada nomor 4.
2. Tombol save file yang telah diperbaharui.
3. Running button : untuk menjalankan program yang telah dibuat.
4. Form : pada jendela ini pengguna akan men-desain tampilan program yang
akan dibuat, dan untuk mengisikan perintah program hanya harus
menclick kanan pada item atau form dan pilih View Code.
5. Solution explorer : berisikan explorer dari form atau class yang telah dibuat
21
BAB III
PERANCANGAN SISTEM
3.1 Deskripsi Sistem Pencarian Jalur Terpendek
Masalah yang akan dibahas adalah bagaimana membangun sistem aplikasi
pencarian jalur terpendek menggunakan algoritma Label-Setting. Pencarian jalur
terpendek di kota Bandung khususnya, menjadi topik utama yang berusaha
dipecahkan dan dibahas pada tugas akhir ini. Pada dasarnya program akan
mencari jalur terpendek berdasarkan nilai bobot atau panjanganya jalur yang dilewati dari asal ke tujuan, dan tidak tergantung dari berapa jumlah node atau titik yang dilewati.
3.2 Perancangan Sistem
Spesifikasi minimum untuk membangun sistem pencarian jalur terpendek
ini adalah sebagai berikut :
a) Hardware
Kebutuhan hardware untuk sistem ini adalah :
1. Processor : Intel Pentium III 600MHz atau yang lebih baik
2. Memory : SDRAM 128MB atau lebih baik
3. 2MB harddisk free sebelum instalasi.
4. Resolusi layar sebesar 800 x 600 atau lebih tinggi dengan 256 warna.
5. Keyboard dan mouse.
b) Software
Kebutuhan dari software untuk sistem ini adalah :
1. OS : Windows XP sp1 atau lebih baik
2. Microsoft .Net Framework 2.0
c) Pengguna sistem (user)
1. Pengguna software ini minimal dapat mengoperasikan mouse atau
Spesifikasi tersebut diambil dari minimum sistem yang dibutuhkan untuk
menginstal software visual basic 2005.
3.2.1 Perancangan Node
Perancangan node dan penentuan nilai bobot dilakukan secara manual,
dengan cara menempatan node - node di setiap persimpangan jalan, atau juga pada
jalan yang memiliki jalur yang lebih panjang dari yang lainnya. Berikut adalah
gambar peta kota Bandung yang diberikan sumbu X dan Y guna menentukan
koordinat node pada peta. Sebagai contoh kita menempatkan node 1 pada jalan tol
pasirkoja. Node 1 berada pada titik X = 20 dan Y = 420. Setelah dicoba pada
program, tidak sesuai dengan plot yang dibuat. Sehingga harus ada pembetulan
nilai X dan Y pada data yang dibuat menjadi X = 13 dan Y = 408.
Gambar 3.1 Koordinat setiap node berdasarkan sumbu X dan Y
Koordinat yang telah didapatkan kemudian diuji kedalam program dan
membenarkan (fix) node tersebut apabila keluar dari jalur pada peta. Sehingga didapatkan koordinat yang sesuai seperti pada tabel 3.1.
23 Untuk menentukan nilai bobot pada setiap node, digunakan fasilitas dari
google maps seperti pada gambar 3.2.
Gambar 3.2 Contoh pengambilan bobot pada setiap node
Pada gambar 3.2 titik A merupakan node 1 dan titik B merupakan node 16,
dan bobot yang didapatkan pada kedua node ini adalah sebesar 2,4 Km.
Pengambilan nilai bobot tidak hanya pada node 1 dan node 16 saja, tetapi pada
semua link yang menghubungkan ke setiap node. Sehingga didapatkan nilai bobot
3.2.2 Graf
Bentuk graf yang digunakan pada sistem ini adalah berbobot dan tidak
berarah seperti pada gambar 3.2.1.1.
Gambar 3.3 Node dan link dengan 59 buah node
Selain menempatkan node pada setiap persimpangan jalan, juga harus
menentukan link dan bobot pada setiap nodenya yang terdapat pada tabel 3.1.
Tabel 3.1 Koordinat dengan 59 node
Sumbu-25
Nilai bobot didapatkan dari hasil penghitungan jarak dalam dunia nyata,
dengan cara mencari besar jarak antara node ke node terdekat (jika ada link), dengan menggunakan layanan dari google maps.
Node
data koordinat yang dibutuhkan dan akan menghasilkan jalur terpendek, gambar
proses dapat dilihat pada gambar 3.2
Gambar 3.4 Diagram Konteks
Hasil Jalur Terpendek
User dan Passw ord
27 3.2.4 DFD level 1
Gambar 3.5 DFD level 1
Pengguna akan diminta username dan password. Apabila memasukan
username dan password “user”, maka dikategorikan sebagai user yang tidak dapat
melakukan proses input data. Dan apabila username dan password “admin”, maka
dikategorikan sebagai admin yang dapat melakukan proses input data. Setelah
program mendapat data koordinat, link dan bobot program akan mulai menggambarkan data - data tersebut pada form. Dan ketika user memasukan
tujuan asal iterasi sistem dimulai untuk mencari path tree dari node asal tersebut, dan ketika user menginputkan node tujuan maka sistem akan memberikan
informasi hasil iterasi dari node asal ke node tujuan kepada user. User Login
Valid Adm in Login
Valid Data Node
Adm in Login Valid
Data Node Pilih Jum lah Node
Inform asi Jalur Terpendek Node Aw al dan Akhir
Input Invalid User nam e dan Passw ord
User Input Dat a
2 Login
1
Pencarian Jalur Terpendek
3
3.2.5 Perancangan Sistem Input/Output
Perancangan T01
1.Apabila pengguna memasukan
username “admin” dan password
“admin” maka akan me-link ke T02.
2.Apabila pengguna memasukan
username “user” dan password “user”
maka akan me-link ke T03.
3.Apabila pengguna gagal memasukan
username dan password sebanyak 3
kali, maka program akan keluar.
Perancangan T02
1.Jika Menu di klik maka akan keluar
submenu Shortest Path, Logout dan
Exit.
2.Jika submenu Shortest Path di klik
maka akan keluar submenu Open,
yang akan mengeluarkan browse file
yang digunakan untuk memasukan
jumlah node yang diinginkan
3.Jika submenu Logout di klik maka
program akan me-link ke T01.
4.Jika submenu Exit di klik maka
program akan keluar / close.
5.Jika Help di klik maka akan keluar
submenu About yang akan me-link ke
29 Perancangan T03
1.Disini user diminta memilih masukan
banyaknya node yang akan diterapkan
pada peta kota Bandung. Jika telah
memilih dan meng-klik Confirm maka
akan me-link ke T04.
2.Jika tombol Cancel ditekan maka
program akan keluar / close.
Perancangan T04
1.Jika Menu di klik maka akan keluar
submenu Node List, Logout dan Exit.
2.Jika submenu Node List di klik maka
akan me-link ke T03.
3.Jika submenu Logout di klik maka
program akan me-link ke T01.
4.Jika submenu Exit di klik maka
program akan keluar / close.
1.Jika Help di klik maka akan keluar
submenu About yang akan me-link ke
T05.
Perancangan T05
1.Pengguna harus menekan close untuk
menutup form about.
3.2.6 Hak akses Admin & User
Pada sistem ini terdapat 2 kategori user, diantaranya adalah :
Username : admin
Password : admin
Kelebihan dari Admin adalah dapat memodifikasi isi file .093 karena
admin membuka file dengan cara open file atau browse, sehingga admin
mengetahui letak dari file .093 tersebut. Selain itu juga admin dapat
melihat waktu proses algoritma label-setting dalam menyelesaikan
perncarian jalur terpendek pada peta kota Bandung.
2. Common User atau User
Username : user
Password : user
User hanya dapat memilih jumlah node yang akan dipakai pada peta kota
Bandung, dan memberikan inputan sebagai awal dan akhir node.
3.2.7 Perancangan Procedural
Adapun flowchart dari perancangan sistem adalah sebagai berikut.
Gambar 3.6 Flowchart Program Utama
Keterangan flowchart pada gambar 3.6 adalah sebagai berikut :
1. Set coba = 3.
31 3. Cek apakah username = admin dan password = admin, jika ya admin login
valid, jika tidak lanjutkan proses 4.
4. Cek apakah username = user dan password = user, jika ya user login valid,
jika tidak lanjutkan proses 5.
5. Cek apakah coba = 0, jika ya hentikan eksekusi program. Jika tidak
lanjutkan proses 6.
6. Coba - 1, kembali ke proses 3.
Gambar 3.7 Flowchart Menu Admin
Keterangan flowchart pada gambar 3.7 adalah sebagai berikut :
1. Inisialisai file dengan membuka file path. 2. Lakukan pencarian jalur terpendek.
Gambar 3.8 Flowchart Menu User
Keterangan flowchart pada gambar 3.8 adalah sebagai berikut :
1. Pilih jumlah node yang akan digunakan pada peta.
2. Masukan input node awal dan node akhir.
33 Gambar 3.9 Flowchart Pencarian Jalur Terpendek
Keterangan flowchart pada gambar 3.9 adalah sebagai berikut :
1. Inisialisasi parameter : dari file yang telah dibuka, program akan
menginisialisasikan variable yang akan digunakan. Diantaranya adalah
Jumlah Node, Jumlah Link, Koordinat dan Penomoran Node, Bobot link 1
ke link 2, dan NC yang merupakan penghitung jumlah node dari 1 sampai
akhir.
2. Merupakan bagian dari inisialisasi parameter.
3. Draw atau gambarkan node berdasarkan koordinat dan identitas.
4. Draw atau gambarkan link berdasarkan node awal dan akhir, dan masukan kedalam koleksi link.
5. Mouse event : penggunaan mouse even bertujuan memudahkan penggunaan dari program. Program akan menunggu mouse ditekan,
apabila mouse kiri ditekan maka node tersebut adalah sebagai node asal,
dan apabila mouse kanan ditekan maka node tersebut sebagai node tujuan.
6. Setelah node asal ditentukan, program akan menentukan nomor dan
koordinat dari node yang dipilih tersebut.
7. Awal dari proses iterasi dan mulai menghitung waktu proses.
8. Set jarak awal ke kandidat dengan nilai terbesar.
9. Tambahkan nilai NC sebagai Node Counter atau penghitung jumlah node 10.Tentukan kandidat terdekat selanjutnya yang dapat dilihat dari dari link
yang didapat dari data inputan. Jarak link tersebut dinamai sebagai jarak
ke kanditat.
11.Periksa apakah kandidat tersebut telah memiliki jalur terbaik. Jika tidak
lanjutkan ke proses 11.
12.Seleksi apakah jarak ke kandidat lebih kecil atau sama dengan jarak awal.
ke kandidat. Jika tidak kembali ke proses 8.
13.Jika jarak ke kandidat lebih kecil dari jarak awal kandidat, masukan nilai
tersebut ke jarak awal ke kandidat.
14.Tandai link/jalur yang dipilih, yang dianggap sebagai jalur terpendek ke
15.Cek apakah semua node telah dilewati, NC = jumlah node. Jika tidak
kembali ke proses 7.
16.Hentikan penghitungan waktu proses yang berarti proses iterasi selesai.
Kembali ke proses 3.
17.Apabila mouse kanan ditekan tentukan nomor dan koordinat dari node
yang dipilih sebagai node tujuan.
18.Program akan mulai mencari link dari node asal ke node tujuan
berdasarkan link yang telah ditandai sebelumnya.
19.Output waktu proses hanya untuk menu admin saja, sehingga admin dapat
35
BAB IV
HASIL PENGUJIAN DAN ANALISA
4.1 Tampilan Program dengan adanya path tree
Perancangan pencarian jalur terpendek ini adalah dengan membuat suatu
path tree yang digunakan untuk mengurangi waktu iterasi. Selain itu juga fungsi
path tree disini untuk memudahkan dalam pencarian jalur terpendek. Path tree
bisa berkembang sesuai dengan jumlah node yang digunakan. Pada tugas akhir ini
node yang digunakan adalah sebanyak 59 node dengan 81 edge. Jumlah tersebut
didapat dari banyaknya persimpangan jalan yang terdapat pada peta. Node
ditempatkan di setiap persimpangan jalan dan pada titik – titik yang dianggap
perlu. Berikut adalah contoh tampilan dari path tree dengan node asal adalah node 6.
Gambar 4.1 Tampilan Path Tree dengan node 6 sebagai node asal
Pada gambar 4.1 menampilkan suatu path tree dari node asal 6. Program akan langsung mencari jalur terpendek ke setiap node - node yang lain yang akan
4.2 Tampilan Program
Berikut adalah contoh program setelah dijalankan (run), yang merupakan jalur terpendek dari node 6 sebagai asal dan node 47 sebagai node tujuan.
Gambar 4.2 Ilustrasi Jalur Terpendek
Gambar 4.2 kita dapatkan jalur terpendek menuju node tujuan adalah
melewati node 12-25-24-34-35-36-39-41 dengan lama proses iterasi adalah
902794µs.
Percobaan dilakukan pada 2 buah PC dan dijalankan masing 3 kali untuk
melihat lama proses iterasi dan pengaruh terhadap hardware, dan berikut adalah
spesifikasi dari kedua PC tersebut
1) PC-1
Processor : Intel Pentium 4 1,80 GHz
Memory : 512 MB
VGA : 256 MB (shared memory 128 MB)
2) PC-2
Processor : Intel Atom 1,66 GHz
Memory : 1 GB
37 4.3 Pengujian pada PC-1
Hasil dari beberapa pengujian pada 59 buah node dapat dilihat pada tabel 4.3.
Tabel 4.1 Hasil pengujian 59 node pada PC-1
Node asal Node
40 902669 902763 870184 891872 1-16-22-21-35-36-39-41-40 47 805151 870309 837683 837714 1-16-22-21-35-36-39-41-47 58 805245 837823 837761 826943 1-16-22-34-33-32-31-30-57-54-58
2
14 902810 902700 902670 902726 2-3-4-14
40 902810 870277 837761 870282 2-3-4-14-23-34-35-36-39-41-40 47 837558 870122 902731 870137 2-3-4-14-23-34-35-36-39-41-47 58 805338 870168 870137 848547 2-3-4-14-23-34-33-32-31-30-57-54-58
7
26 902638 902684 902670 902664 7-8-9-10-12-26
40 805354 870169 870106 848543 7-8-9-10-12-26-25-24-34-35-36-39-41-40 47 870200 870153 870262 870205 7-8-9-10-12-26-25-24-34-35-36-39-41-47 58 870059 902731 902685 891825 7-8-9-10-11-56-55-54-58
24
40 870122 870059 870169 870116 24-34-35-36-39-41-40 47 902717 902654 870184 891851 24-34-35-36-39-41-47 50 902654 902763 902560 902659 24-34-35-36-39-41-44-45-50 58 870137 902716 870356 881069 24-25-26-27-28-29-30-57-54-58
35
40 902654 869996 870059 880903 35-36-39-41-40 47 902731 870231 902622 891861 35-36-39-41-47 50 902545 870215 902607 891789 35-36-39-41-44-45-50 58 870075 870184 902779 881012 35-32-31-30-57-54-58
Rata - rata 877628
Pengujian iterasi tidak berhenti pada jumal 59 node saja, tetapi menguji
dengan jumlah node yang lebih banyak. Yaitu 75 dan 100 buah node yang
ditempatkan pada persimpangan dan jalan pada peta kota Bandung. Berikut adalah
hasil pengujian yang telah diperoleh. Pada tabel 4.4 memperlihatkan penempatan
node berdasarkan sumbu X dan sumbu Y. Dan pada tabel 4.5 memperlihatkan
Tabel 4.4 Hasil pengujian 75 node pada PC-1
40 902888 870106 902669 891887 1-67-16-22-21-35-36-39-41-72-71-40 47 837652 870059 870278 859329 1-67-16-27-21-35-36-39-41-47 58 902826 902809 902841 902825 1-67-16-22-21-35-36-39-41-44-45-51-66-52-53-58
2
14 902731 870168 902763 891887 2-3-4-14
40 902779 837668 902795 881080 2-3-4-14-23-64-34-35-36-39-41-72-71-40 47 870169 870137 837605 859303 2-3-4-14-23-64-34-35-36-39-41-47 58 902872 837698 870091 870220 2-3-4-14-23-24-25-75-26-27-28-29-30-57-54-58
7
26 870168 902810 902732 891903 7-8-9-10-12-26
40 837793 870246 837683 848574 7-8-9-10-12-26-75-25-24-34-35-36-39-41-72-71-40 47 837526 870168 870075 859256 7-8-9-10-12-26-75-25-24-34-35-36-39-41-47 58 837699 902732 870168 870199 7-8-9-10-11-56-63-55-54-58
24
40 870012 870215 902826 881017 24-34-35-36-39-41-72-71-40 47 902591 870121 870137 880949 24-34-35-36-39-41-47 50 805354 870153 902810 859439 24-34-35-36-39-41-44-45-50 58 870169 870294 837668 859377 24-25-75-26-27-28-29-30-57-54-58
35
40 870262 902669 902841 891924 35-36-39-41-72-71-40 47 902669 902638 902559 902622 35-36-39-41-47 50 870387 902763 902622 891924 35-36-39-41-44-45-50 58 870027 870169 870262 870152 35-32-31-30-57-54-58
Rata - rata 878327
Pada tabel 4.6 kolom jalur terpendek dapat dilihat penambahan jumlah
node yang dilewati dibandingkan kolom jalur terpendek pada tabel 4.3. Jika kita
memperhatikan nilai rata - rata yang diperoleh tidak jauh berbeda dengan tabel
4.3. Hal ini disebabkan workload yang diinputkan pada sistem pencarian jalur terpendek tidak terlalu besar. Pengujian selanjutnya akan dilakukan pada jumlah
node sebanyak 100 buah node. Untuk melihat workload yang diterima sistem pencarian jalur terpendek dan membandingkannya dengan ketiga percobaan
sebelumnya. Pada tabel 4.7 memperlihatkan penempatan keseluruhan 100 buah
node yang di simpan pada jalan - jalan yang tidak lurus dan atau pada jalan - jalan
41 Tabel 4.5 Koordinat 100 node
43
Pada tabel 4.9 menunjukan hasil pengujian pada 100 buah node. Node asal
dan node akhir sama dengan percobaan selanjutnya yang bermaksud melihat
perbedaan waktu yang diperoleh dengan menambahkan jumlah node yang
dilewati untuk sampai ke node tujuan.
Tabel 4.7 Hasil pengujian 100 buah node PC-1
Node asal Node
40 870106 902716 870184 881002 1-75-76-16-22-21-35-36-39-41-98-99-100-40 47 870246 870419 870199 870288 1-75-76-16-22-21-35-36-39-41-47 58 870246 870324 837808 859459
1-75-76-16-22-83-84-85-34-33-32-89-31-30-57-87-54-88-58
2
14 902654 870325 902700 891893 2-3-4-14
40 870059 837730 902701 870163 2-3-4-14-23-85-34-35-36-39-41-98-99-100-40 47 902716 870215 870262 881064 2-3-4-14-23-85-34-35-36-39-41-47 58 870153 870247 870090 870163
2-3-4-14-23-24-25-81-80-26-27-28-29-30-57-87-54-88-58
7
26 902544 869997 902716 891752 7-8-9-10-12-90-26
40 837573 870230 902794 870199 7-8-9-10-12-90-26-80-81-25-24-34-35-36-39-41-98-99-100-40
47 902747 870184 870356 881095 7-8-9-10-12-90-26-80-81-25-24-34-35-36-39-41-47 58 837574 805338 870309 837740 7-8-9-10-11-77-56-78-79-55-54-88-58
24
40 902763 870200 870090 881017 24-34-35-36-39-41-98-99-100-40 47 902763 837699 837605 859355 24-34-35-36-39-41-47 50 870153 870262 870090 870168 24-34-35-36-39-41-44-45-50 58 870090 837527 902795 870137 24-25-81-80-26-27-28-29-30-57-87-54-88-58
35
40 902794 870028 869965 880929 35-36-39-41-98-99-100-40 47 902669 902638 870215 891840 35-36-39-41-47 50 870106 870200 870138 870148 35-36-39-41-44-45-50 58 902748 902794 870028 891856 35-32-89-31-30-57-87-54-88-58
Pada semua tabel di atas, program dieksekusi (run) sebanyak tiga kali, kemudian diambil rata-rata nilainya. Hal ini dilakukan untuk mengetahui seberapa
cepat dan baik program algoritma Label-Setting mampu menemukan solusi yang
diharapkan. Semakin kecil rata-rata nilai panjang jalurnya, maka semakin baik
performa program algoritma Label-Setting menemukan jalur terpendek yang
tertera pada kolom jalur terpendek.
Dari tabel 4.3, 4.6, dan 4.9 terlihat bahwa penggunaan dari shortest path path tree dapat mengurangi waktu proses. Waktu proses pada ketiga percobaan tersebut tidak berpengaruh dengan penambahan jumlah node.
4.4 Pengujian pada PC-2
Pada percobaan selanjutnya, pengujian akan dilakukan pada PC-2. Dan hasil
dari pengujiannya adalah sebagai berikut.
Tabel 4.8 Hasil pengujian pada 59 buah node PC-2
Node asal Node
40 675554 643022 643178 653918 1-16-22-21-35-36-39-41-40 47 740618 708023 675616 708085 1-16-22-21-35-36-39-41-47 58 643115 642928 643069 643037 1-16-22-34-33-32-31-30-57-54-58
2
14 707757 805370 740321 751149 2-3-4-14
40 675382 740539 675538 697153 2-3-4-14-23-34-35-36-39-41-40 47 707993 675335 675476 686268 2-3-4-14-23-34-35-36-39-41-47 58 708102 675460 642975 675512 2-3-4-14-23-34-33-32-31-30-57-54-58
7
26 675506 642865 675538 664636 7-8-9-10-12-26
40 708023 643115 675460 675532 7-8-9-10-12-26-25-24-34-35-36-39-41-40 47 708007 675726 708132 697288 7-8-9-10-12-26-25-24-34-35-36-39-41-47 58 675617 675601 675429 675549 7-8-9-10-11-56-55-54-58
24
40 707961 740399 643006 697122 24-34-35-36-39-41-40 47 740352 707992 675507 707950 24-34-35-36-39-41-47 50 642928 707804 708195 686309 24-34-35-36-39-41-44-45-50 58 642990 675647 675538 664725 24-25-26-27-28-29-30-57-54-58
35
40 643084 740400 740415 707966 35-36-39-41-40 47 707758 837730 740478 761988 35-36-39-41-47 50 740556 643053 707820 697143 35-36-39-41-44-45-50 58 675445 643177 675492 664704 35-32-31-30-57-54-58
45 Tabel 4.10 menunjukan hasil uji coba 59 buah node pada PC-2 yang
dilakukan sebanyak 114 kali pecobaan yang mencari jalur - jalur sama seperti
pada tabel 4.3 dan menghasilkan jalur terpendek yang sama, tetapi waktu proses
yang berbeda. Percobaan selanjutnya dilakukan pada 75 buah node dengan node
asal dan node tujuan yang sama seperti pada tabel 4.6 dengan koordinat, link dan
bobot yang sama. Hasil yang didapat adalah sebagai berikut.
Tabel 4.9 Hasil pengujian pada 75 buah node PC-2
Node asal Node
40 740633 707836 707883 718784 1-67-16-22-21-35-36-39-41-72-71-40 47 740462 707727 708007 718732 1-67-16-27-21-35-36-39-41-47 58 708039 610661 708023 675574 1-67-16-22-21-35-36-39-41-44-45-51-66-52-53-58
2
14 740415 707961 740461 729612 2-3-4-14
40 675522 740383 707883 707929 2-3-4-14-23-64-34-35-36-39-41-72-71-40 47 642928 707961 642912 664600 2-3-4-14-23-64-34-35-36-39-41-47 58 675491 772994 675319 707934 2-3-4-14-23-24-25-75-26-27-28-29-30-57-54-58
7
26 675303 707914 772775 718664 7-8-9-10-12-26
40 643147 610568 610552 621422 7-8-9-10-12-26-75-25-24-34-35-36-39-41-72-71-40 47 675444 643053 675476 664657 7-8-9-10-12-26-75-25-24-34-35-36-39-41-47 58 707851 610396 707992 675413 7-8-9-10-11-56-63-55-54-58
24
40 740462 708070 675476 708002 24-34-35-36-39-41-72-71-40 47 643021 707789 675444 675418 24-34-35-36-39-41-47 50 643022 675476 707898 675465 24-34-35-36-39-41-44-45-50 58 643085 708117 708086 686429 24-25-75-26-27-28-29-30-57-54-58
35
40 642928 707852 740399 697059 35-36-39-41-72-71-40 47 708101 707883 740509 718831 35-36-39-41-47 50 740508 675491 643256 686418 35-36-39-41-44-45-50 58 642913 707993 643084 664663 35-32-31-30-57-54-58
Rata - rata 694427
Tabel 4.12 menunjukan hasil dari pengujian pada 100 buah node dengan
node asal dan node tujuan yang sama seperti pada tabel 4.9. Hasil yang diperoleh
Tabel 4.10 Hasil pengujian 100 buah node PC-2
40 643053 642990 675320 653787 1-75-76-16-22-21-35-36-39-41-98-99-100-40 47 707898 708055 707726 707893 1-75-76-16-22-21-35-36-39-41-47 58 610771 610489 643240 621500
1-75-76-16-22-83-84-85-34-33-32-89-31-30-57-87-54-88-58
2
14 740368 772869 740352 751196 2-3-4-14
40 675585 707977 740290 707950 2-3-4-14-23-85-34-35-36-39-41-98-99-100-40 47 642850 675600 675319 664589 2-3-4-14-23-85-34-35-36-39-41-47 58 740618 707929 675382 707976
2-3-4-14-23-24-25-81-80-26-27-28-29-30-57-87-54-88-58
7
26 740399 675366 675428 697064 7-8-9-10-12-90-26
40 643271 610443 642990 632234 7-8-9-10-12-90-26-80-81-25-24-34-35-36-39-41-98-99-100-40
47 675538 643084 643021 653881 7-8-9-10-12-90-26-80-81-25-24-34-35-36-39-41-47 58 740555 643069 707851 697158 7-8-9-10-11-77-56-78-79-55-54-88-58
24
40 708085 675616 642913 675538 24-34-35-36-39-41-98-99-100-40 47 740321 740353 708055 729576 24-34-35-36-39-41-47 50 740478 708070 772994 740514 24-34-35-36-39-41-44-45-50 58 740430 740665 642990 708028 24-25-81-80-26-27-28-29-30-57-87-54-88-58
35
40 740306 740555 740258 740373 35-36-39-41-98-99-100-40 47 740446 740555 675616 718872 35-36-39-41-47 50 675538 708102 740431 708023 35-36-39-41-44-45-50 58 708117 642912 707961 686330 35-32-89-31-30-57-87-54-88-58
Rata - rata 696069
4.5 Perbandingan Hasil PC-1 dan PC-2
Dari 6 kali pengujian dengan 2 PC yang berbeda kita dapatkan nilai rata -
rata sebagai berikut
Tabel 4.11 Rata - rata hasil 6 kali pengujian
PC-1
Rata - rata lama proses pada PC-1 (µs)
877628 878327 875060 877005
PC-2
Rata - rata lama proses pada PC-2 (µs)
47 Dari tabel 4.12 kita dapat menyimpulkan perbedaan hardware dapat
mempengaruhi lama proses iterasi. Walaupun hitungannya dalam µ s kita masih
dapat melihat pengaruh perbedaan hardware yang digunakan. Selisih dari kedua
nilai rata - rata 6 kali pengujian tersebut adalah 182250 µs yang sama dengan
0.18 S atau kurang dari 1 detik, yang memungkinkan aplikasi ini untuk dijalankan
BAB V
SIMPULAN dan SARAN
5.1 Simpulan
Dari hasil pengujian penulis dapat membuat kesimpulan sebagai berikut :
1. Telah berhasil membuat suatu perangkat lunak yang dapat digunakan untuk
mencari jalur terpendek antar dua node pada peta kota Bandung.
2. Proses rata - rata yang didapat pada kedua PC adalah kurang dari 1 detik.
Sehingga memungkinkan aplikasi ini untuk dibuat berbasis web.
3. Dari hasil rata - rata percobaan pada kedua PC terlihat bahwa spesifikasi
hardware dapat berpengaruh pada lama proses iterasi.
5.2 Saran
Saran dari penulis diantaranya sebagai berikut :
1. Memperluas cakupan daerah yang digunakan pada penelitian.
2. Karena proses iterasi yang cepat, sehingga aplikasi ini dapat diterapkan
berbasis web, yang dapat diperbaharui oleh penduduk lokal yang lebih
mengetahui jalan - jalan lebih terperinci.
3. Melakukan observasi ke lapangan dan mencatat daerah - daerah yang tidak
dapat dilalui dua arah, dan mengimplementasikannya ke program.
4. Mencoba membandingkan algoritma label-setting dengan algoritma pencarian
PENERAPAN ALGORITMA LABEL-SETTING
UNTUK MENCARI LINTASAN TERPENDEK
DARI DUA NODE PADA PETA KOTA BANDUNG
TUGAS AKHIR
Disusun untuk memenuhi syarat kelulusan
Pada Program Studi Sistem Komputer Strata Satu di Jurusan Teknik Komputer
Oleh :
Andhy
10204069
Pembimbing : Wendi Zarman, M.Si.
Sri Nurhayati, M.T.
JURUSAN TEKNIK KOMPUTER
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
DAFTAR PUSTAKA
[1] Fauzi, S. (2010). “Pencarian Jalur Terpendek Travelling Salesman Problem menggunakan Algortima Ant Colony System” Tugas Akhir, Jurusan Teknik Komputer, Universitas Komputer Indonesia 2010.
[2] Marton, L, A label-setting algorithm for calculating shortest path trees in
parse network, Translation from Hungarian, Alkalmazott Mat. Lapok 19,
No.2, 115-132 1999 (http://hej.sze.hu/ANM/ANM-030323-A/
anm030323a.pdf, diakses 10 Mei 2011)
[3] Petersen, B. Label-Setting Algorithm for Shortest Path Problems, Journal of the University of Copenhagen, November 2006 (http://www.diku.dk/OLD/
undervisning/2006-2007/2006-2007_b2_426/slides3.pdf, diakses 11 Mei
2011)
[4] Sadeli, M. “81 Trik Tersembunyi Visual Basic 2005”, Penerbit Maxikom, 2009.
[5] Wikipedia. Shortest Path Tree, (online), Mei 2011
(http://en.wikipedia.org/wiki/Shortest_path_tree, diakses 14 Mei 2011).
[6] Zhan, B. F. A Comparison Between Label-Setting and Label-Correcting Algorithms for Computing One-to-One Shortest Path. (http://uweb.txstate.edu/~fz01/Reprints/ Zhan_2000_JGIDA.PDF, diakses
Andhy lahir di Jakarta Pusat pada 3 Juni 1985. Anak ke-3
dari 3 bersaudara memiliki tinggi badan 160 cm. Alamat
sekarang Jl. Cicukang 289 RT. 02/25 Kab. Bandung Jawa
Barat. Lulus SDN Angkasa V pada tahun 1997, SLTP
Negeri III Margahayu pada tahun 2000, SMK Negeri 1
Katapang Jurusan Teknik Elektro pada tahun 2003, dan
Gelar Sarjana Teknik Komputer diperoleh dari Program
Studi Teknik Komputer Fakultas Teknik dan Ilmu Komputer UNIKOM tahun
2011. Pengalaman kerja praktek di RSU Cibabat Cimahi bagian Administrator
KATA PENGANTAR
Assalaamu’alaikum Wr. Wb
Puji Syukur penulis panjatkan ke hadirat Allah SWT yang telah
melimpahkan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan
skripsi yang berjudul : “PENERAPAN ALGORITMA LABEL-SETTING
UNTUK MENCARI LINTASAN TERPENDEK DARI DUA NODE PADA
PETA KOTA BANDUNG”. Segala berkah semoga tercurah kepada Nabi dan
Rosul Allah manusia suci Muhammad SAW yang telah menjadi sosok ideal untuk
dijadikan contoh baik dalam ucapan, sikap dan perbuatan oleh seluruh umat
manusia di muka bumi termasuk penulis sendiri.
Dalam proses penyusunan skripsi ini banyak hal atau pihak yang telah
memberikan kontribusi positif sehingga skripsi ini dapat diajukan sebagai syarat
untuk mendapatkan gelar Sarjana Strata Satu (S1) Jurusan Teknik Komputer
Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.
Dalam kesempatan ini penulis ingin menyampaikan ucapan terima kasih
yang sangat mendalam kepada :
1. Ibu Sri Nurhayati, S.Si, M.T., selaku Ketua Jurusan Teknik Komputer,
Universitas Komputer Indonesia, Bandung.
2. Bapak Wendi Zarman, M.Si., selaku Dosen Pembimbing I atas bimbingan,
waktu, kesabaran, motivasi dan diskusi-diskusi yang sangat menarik.
3. Ibu Sri Nurhayati, S.Si, M.T., selaku Dosen Pembimbing II atas waktu dan
kesabaran membimbing penulis ke arah penyempurnaan penulisan tugas akhir
ini.
4. Ibu Selvia Lorena Br. Ginting, S.Si., MT., selaku Penguji I atas waktu dan
saran yang telah diberikan untuk menguji tugas akhir ini.
5. Bapak John Adler, M.Si., selaku Penguji II atas waktu dan saran yang
vi
6. Bapak Usep Mohamad Ishaq, M.Si., selaku Dosen Wali penulis atas arahan,
kepedulian terhadap Kelas 04 TK2 yang tidak pernah lelah memberi solusi
atas keluh kesah kami dan selalu menjadi inspirasi khususnya bagi penulis.
7. Seluruh dosen dan staf Jurusan Teknik Komputer Fakultas Teknik dan Ilmu
Komputer Universitas Komputer Indonesia yang telah mendedikasikan
dirinya bagi almamater, mengajarkan ilmu, mengajarkan kejujuran,
kedisiplinan dan senantiasa menampilkan akhlak yang indah. Semoga Allah
SWT membalasnya dengan pahala yang berlipat ganda.
8. Teman-teman Teknik Komputer angkatan 2004-2006 tanpa terkecuali yang
memberikan kesan yang sangat mendalam selama kuliah.
9. Semua pihak yang membantu dan memotivasi penulis dalam menyelesaikan
skripsi ini yang tidak bisa penulis sebutkan satu per satu.
Terakhir penulis ingin memberikan skripsi ini sebagai tanda rasa cinta dan
sayang yang amat sangat serta hormat dan bakti kepada Ibunda Desmawizarti
yang telah mencintai, menyayangi, membesarkan, mendidik penulis dengan penuh
kesabaran dan keikhlasan.
Tiada gading yang tak retak, tidak ada manusia yang sempurna, karenanya
segala kritik dan saran yang membangun sangat penulis harapkan demi kebaikan
di masa depan. Semoga karya kecil ini dapat menjadi suatu kontribusi bagi
perkembangan ilmu pengetahuan dan dicatat Allah SWT sebagai salah satu amal
ibadah di akhirat kelak. Amin.
Wassalamu’alaikum Wr.Wb
Kontak dengan penulis dapat dilakukan melalui surat elektronik (E-mail) di andhie.093@gmail.com.
Bandung, 28 Juli 2011