• Tidak ada hasil yang ditemukan

TA : Rancang Bangun Aplikasi Pencarian Lokasi Terdekat via Short Message Service (SMS) Menggunakan Algoritma Ant Colony Optimization.

N/A
N/A
Protected

Academic year: 2017

Membagikan "TA : Rancang Bangun Aplikasi Pencarian Lokasi Terdekat via Short Message Service (SMS) Menggunakan Algoritma Ant Colony Optimization."

Copied!
60
0
0

Teks penuh

(1)

PENCARIAN LOKASI TERDEKAT

VIA SHORT MESSAGE SERVICE (SMS) MENGGUNAKAN

ALGORITMA ANT COLONY OPTIMIZATION

Oleh :

Nama : SAMSUL

NIM : 00.41010.0296

Program : SI (Strata Satu)

Jurusan : Sistem Informasi

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER

SURABAYA

(2)

Halaman

ABSTRAKSI ... i

KATA PENGANTAR ... ii

DAFTAR ISI ... iv

DAFTAR TABEL ... vi

DAFTAR GAMBAR ... vii

DAFTAR LAMPIRAN ... ix

BAB I : PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Perumusan Masalah ... 2

1.3 Pembatasan Masalah ... 2

1.4 Tujuan ... 2

1.5 Sistematika Penulisan ... 3

BAB II : LANDASAN TEORI ... 3

2.1 Ant Colony Optimization ... 3

2.2 Global System for Mobile Communication (GSM) ... 11

2.3 Short Message Service (SMS) ... 11

2.4 Travelling Salesman Problem ... 14

BAB III : PERANCANGAN SISTEM ... 16

3.1 Model Pengembangan ... 16

3.2 Prosedur Pengembangan ... 18

BAB IV : IMPLEMENTASI DAN EVALUASI ... 38

4.1 Kebutuhan Sistem ... 38

(3)

4.3 Implementasi Proses ... 49

4.4 Desain Uji Coba Aplikasi ... 50

BAB V : PENUTUP ... 58

5.1 Kesimpulan ... 58

5.2 Saran ... 59

DAFTAR PUSTAKA ... 60

LAMPIRAN ... 61

(4)

METODE PENELITIAN

Dalam menyelesaikan masalah diatas digunakan metode dalam meneliti

masalah yang dihadapi. Adapun metode penelitian yang digunakan adalah :

3.1 Model Pengembangan

Model yang digunakan dalam pembuatan aplikasi pencarian lokasi

terdekat ini adalah perancangan proyek. Dengan cara mengumpulkan informasi,

pencarian data yang dilakuakan dengan cara merancang database dan membuat

sistem. Informasi yang dikumpulkan berupa peraturan lalu-lintas jalan yang

berlaku. Data yang dicari adalah data jalan protokol dan data hotel atau

penginapan yang ada di Surabaya Pusat.

Algoritma ACO yang digunakan dalam pencarian lokasi terdekat adalah

Ant System(AS). AS adalah salah satu dari kumpulan algoritma ACO yang

digunakan untuk memecahkan masalah optimasi kombinasi khususnya pada kasus

pencarian rute terdekat. Prinsip kerja dari algoritma ini meniru prinsip kerja semut

yang sesungguhnya. Algoritma ini berusaha untuk mendapatkan hasil yang paling

optimal dengan efisiensi waktu. Media yang digunakan dalam aplikasi ini adalah

SMS, dengan demikian para pengguna jalan dapat mengirimkan request dari mana

saja. Setiap SMS yang masuk merupakan data inputan bagi sistem dan akan

disimpan dalam database, sehingga apabila ada pesan lain yang masuk dengan

perminataan yang sama dapat dipanggilkan langsung dari database. Dengan

demikian dapat mempersingkat waktu proses pencarian lokasi. Output dari sistem

(5)

berupa informasi nama lokasi, alamat, rute jalan, dan jarak tempuh yang

dikirimkan melalui SMS.

Gambar 3.1 Bagan Alur Sistem.

Pada gambar diatas merupakan bagan alur sistem yang akan dibangun.

Didalam sistem terdapat tiga proses utama yaitu proses manajemen SMS yang

digunakan untuk mengambil pesan yang masuk dan mengirimkan pesan dengan

menggunakan software SMS Toolkit, proses validasi SMS yaitu memeriksa

kevalidan SMS, dan proses pencarian rute terdekat yang digunakan untuk

memproses lebih lanjut pesan yang telah masuk.

Dalam aplikasi yang akan dibangun ini, pencarian lokasi didisain lebih

fleksibel. Setiap lokasi memiliki kata kunci tersendiri dan setiap lokasi dapat

terdiri dari nol atau lebih kata kunci. Hal ini dilakukan untuk memudahkan para

pengguna jasa dalam mencari lokasi tujuannya dan juga untuk mengatasi masalah

penamaan suatu lokasi oleh masyarakat, sebagai contoh Hotel Radisson Plaza

Suite yang kebanyakan oleh masyarakat hanya disebut dengan Hotel Radisson dan

juga Hotel The Westin yang sekarang menjadi Hotel JW Marriot. Aplikasi yang

(6)

akan dibangun ini diharapkan dapat membantu memberikan solusi dalam

pencarian lokasi terdekat.

3.2 Prosedur Pengembangan

Pada bagian ini prosedur yang dilakukan yaitu menganalisis dan

merancang sistem. Menganalisis terhadap semua masalah, dan merancang sistem

serta basis data. Perancangan basis data disusun dengan membuat Data Flow

Diagram (DFD) yang berfungsi untuk menggambarkan aliran data yang terjadi di

dalam sistem. Kemudian membuat Entity Relational Diagram (ERD) yang

memberikan gambaran mengenai struktur basis data secara keseluruhan sebagai

relasi atau hubungan setiap entitas. Dan yang terakhir membuat mapping, yang

merupakan penulisan struktur dari tabel yang sudah dirancang pada ERD. Disini

semua tabel ditulis secara terperinci.

3.2.1 Identifikasi Permasalahan

Tahap identifikasi masalah merupakan tahap paling awal untuk

melakukan perancangan dan pembuatan aplikasi. Tahapan ini digunakan untuk

melakukan observasi atau penelusuran permasalahan untuk mendapatkan gambaran umum dari permasalahan yang dihadapi. Didalam tahap ini juga

dilakukannya perumusan permasalahan yaitu untuk merumuskan atau menetapkan

permasalahan yang dihadapi, sehingga penelitian dapat lebih terfokus untuk

mencari dan memecahkan permasalahan yang ada.

Pada tugas akhir ini, fokus usaha penyelesaian masalah terdapat pada

perancangan dan pembuatan aplikasi pencarian lokasi terdekat menggunakan

(7)

3.2.2 Perancangan dan Pemodelan Sistem

Ada beberapa bagian penting dalam melakukan perancangan dan

pemodelan suatu sistem, yaitu melakukan perancangan dan pembuatan alur

sistem, data alur diagram (DFD) dan penyusunan struktur database. Pada bagian

selanjutnya, dilakukan pembuatan rancangan entitas-entitas yang saling

berhubungan yang membentuk suatu database relasional.

A. Alur Proses Aplikasi

Untuk lebih memperjelas alur dari sistem, maka alur proses aplikasi

dapat digambarkan pada flowchart tersebut dibawah. Flowchart alur proses

tersebut menjelaskan rancangan urutan proses yang terjadi pada aplikasi. Dimulai

dari proses mengambil SMS yang masuk ke terminal dan menyimpannya dalam

daftar waiting list. SMS tersebut merupakan inputan data awal yang berisi

informasi nama jalan dan tempat yang akan dikirimkan ke sistem oleh pengirim

dengan format [nama lokasi asal] -> [nama lokasi tujuan]. Nama lokasi asal dapat

berupa nama jalan atau berupa nama tempat semisal nama hotel, mall atau tempat

umum, sedangkan nama lokasi tujuan dapat berupa nama jalan, nama tempat atau

tempat tertentu. Sebagai contoh suatu SMS berisi “Kertajaya->RSU”, maksudnya

“Kertajaya” adalah nama jalan dimana pengirim tersebut berada dan “RSU”

menunjukan tempat Rumah Sakit Umum artinya pengirim meminta informasi

lokasi RSU terdekat dari jalan Kertajaya.

Pesan yang masuk sebelum diproses lebih lanjut, sebelumnya harus

melewati beberapa tahapan proses pemeriksaan Pesan. Setelah lolos dari proses

(8)

dalam database untuk keperluan dalam pencarian berikutnya, kemudian mengirim

balik melalui SMS dan pengirim akan mendapatkan balasan berupa data nama

lokasi terdekat, alamat lokasi tujuan (bila perlu), panjang perjalanan beserta rute

(9)

Start

(10)

Alur proses aplikasi diatas dapat dijelaskan sebagai berikut :

a. Pengirim megirimkan request ke sistem.

b. Pesan yang dikirim diterima oleh terminal dan akan diambil oleh sistem. Pesan

yang masuk akan disimpan dalam database dan diolah dalam sistem. Proses ini

akan berhenti apabila pesan yang berada dalam database telah diolah

semuanya. Tahap-tahap proses pencarian rute terdekat antara lain sebagai

berikut :

i. Melakukan pencocokan pesan dengan pesan sebelumnya yang telah

diproses. Apabila sudah terhitung sepuluh kali pesan yang sama maka

solusi diambilkan langsung dari solusi pada proses sebelumnya.

ii. Melakukan pengecekan format pesan yang masuk. Pesan dengan format

yang salah tidak akan diproses, hanya akan dibalas dengan pemberitahuan

bahwa format penulisan salah.

iii. Melakukan Pengecekan lokasi awal dan lokasi tujuan. Apabila lokasi tidak

berada dalam database, pesan juga tidak akan diproses, hanya akan dibalas

dengan pemberitahuan bahwa lokasi awal atau lokasi tujuan tidak

diketahui.

iv. Mencari semua kemungkinan lokasi yang diminta yang ditemukan dalam

database. Apabila lokasi tujuan hanya berupa nama jalan atau nama

tempat maka kemungkinan lokasi tujuannya hanya satu, tetapi apabila

lokasi tujuannya berupa kategori tertentu semisal “Mall” atau “Rumah

Sakit” maka kemungkinan lokasinya ada banyak mengingat jumlah Mall

(11)

v. Membangun rute perjalanan dari posisi awal ke semua kemungkinan

lokasi yang ditemukan, proses ini merupakan inti dari aplikasi dimana

proses simulasi semut dijalankan untuk mencari rute atau lokasi terdekat.

vi. Menghitung panjang perjalanan dari posisi awal ke semua lokasi tujuan.

Setiap semut yang telah menyelesaikan perjalanannya, memiliki solusi

yang beragam. Dari semua kemungkinan solusi yang ditemukan, solusi

dengan panjang perjalanan terpendek yang akan diambil dan disimpan.

vii. Menyimpan data hasil pencarian ke dalam database.

c. Setelah menemukan lokasi, sistem membalas dengan mengirimkan informasi

nama jalan lokasi tujuan terdekat yang ditemukan beserta info panjang jalan

dan rute jalan yang dilewati.

d. Pengirim mendapatkan balasan dari sistem.

B. Penerapan Algoritma Ant Colony Optimization

Setelah melakukan proses pemeriksaan validasi pesan, proses selanjutnya

yang dilakukan adalah pencarian lokasi dan rute terdekat dengan menggunakan

algoritma Ant Colony Optimization. Pencarian lokasi terdekat ini didasarkan pada jarak tempuh untuk menujuh lokasi tersebut. Pada sub bab ini akan dijelaskan

secara praktis tahap-tahap proses pencarian lokasi terdekat yang dilakukan

aplikasi menggunakan algoritma Ant Colony.

Proses Membangun Rute Perjalanan

Pada proses ini merupakan gambaran secara garis besar untuk mencari

rute terpendek dan lokasi terdekat dari tempat asal ke tempat tujuan. Dimulai dari

(12)

digunakan oleh artificial ant dalam membangun perjalanannya. Kemudian menginisialisasi semut yaitu menginisialisasi tempat asal dan tujuan dan jumlah

iterasi(NTmax).

Proses selanjutnya yaitu proses simulate ant yaitu mensimulasikan semut sampai semua semut telah sampai pada tujuan. Kemudian dilanjutkan dengan

proses mengupdate pheromone, menyimpan result yang terbaik dari hasil yang didapatkan oleh semua semut dan me-reset ulang semut dengan menginisialisasi

ulang semut seperti kondisi awal.

Start

Init Ant Init NTmax Generate Map

Repeat

Simulate Ant

Update pheromone

Reset Ant Y N

End Saving result Until all ant has

build it tour For I = 1 to NTmax

Next i

(13)

Proses Simulate ant

Proses ini menunjukan bagaimana artificial ant membangun rute perjalanannya untuk menemukan tujuan yang telah ditentukan. Dimulai dari

proses inisialisasi source yang menunjukan posisi awal dimana pengirim pesan

berada dan inisialisasi dest yang menunjukan lokasi tujuan. Proses ini

menjalankan semua semut satu-persatu menuju jalan berikutnya. Apabila suatu

semut sudah sampai tujuan, maka semut tersebut akan di terminasi.

Start

Init source init dest

Arrived

Moving to next

road Remove ant(i)

Y

End N For i=1 to max_ant

Next i

Gambar 3.4 Flowchart Proses simulate artificial ant.

Proses Moving to Next Road

Proses ini menunjukan bagaimana setiap artificial ant melakukan perhitungan probabilitas dan explorasi memori untuk memilih jalur yang harus

(14)

Start

(15)

Probabilitas pemilihan jalan dihitung dengan formula Random Propotional Rule. Parameter yang berpengaruh dalam perhitungan probabilitas adalah tingkat intensitas pheromone dan panjang jalan itu sendiri. Proses dimulai dari initialisasi Tabu yang digunakan sebagai memori semut untuk menyimpan

data jalan yang pernah dilalui oleh semut. Hal ini dilakukan agar semut tidak

melawati jalan yang sama. Ketika semut menemui percabangan jalan, maka akan

dilakukan perhitungan probabilitas Random Propotional Rule, jika tidak ada percabangan maka langsung menuju jalan berikutnya, tetapi bila tidak ditemukan

jalan selanjutnya (Dead End/Jalan Buntu), maka semut akan kembali ke jalan sebelumnya (Back Track).

Proses Back Track

Proses ini dgunakan untuk menangani masalah ketika suatu semut

menemui jalan buntu yaitu dengan memindahkan semut ke langkah sebelumnya

dan memilih jalur lain yang belum pernah dilalui. Apabila sampai kembali ke

tempat semula maka semut akan diset ulang dari awal.

Start

End Tabu.remove(Tabu.count)

If Tabu.count > 0 then

Set Cur_pos = tabu(tabu.count) Tabu = new Tabu

Set Cur_Pos = Source

Y N

(16)

Proses Update Pheromone

Proses ini menggambarkan bagaimana artificial ant menandai rute yang telah dilewati dengan menambahkan sejumlah pheromone ke jalur yang hanya dilewati ketika membangun perjalanannya. Pheromone ini digunakan sebagai petunjuk bagi semut yang lainnya dalam memilih jalan yang akan ditempuh dan

juga terdapat proses evaporation atau penguapan pheromone yang membuat kadar

pheromone disuatu jalur semakin menipis. Proses penguapan terjadi disetiap jalan. Proses ini dijalankan setelah semua semut telah menyelesaikan perjalanannya.

Start

Accumulate pheromone

Evaporate Pheromoen Citi(j) on ant(i) tour Y

N

End For j=1 to max_cities

For k=1 to max_ant

Next k

Next j

Gambar 3.7 Flowchart Proses Update Pheromone.

C. Data Flow Diagram

DFD ( Data Flow Diagram ) adalah gambaran aliran informasi yang terlibat dalam suatu prosedur ( event ) yang terdapat dalam suatu sistem. Diagram

ini akan menjelaskan lebih lanjut proses yang terdapat pada diagram berjenjang

(17)

untuk sistem pencarian lokasi terdekat via SMS menggunakan algoritma Ant

Colony Optimization dapat digambarkan sebagai berikut :

C.1 Context Diagram

Context diagram merupakan diagram pertama dalam rangkaian suatu DFD yang menggambarkan entitas-entitas yang berhubungan dengan suatu

sistem.

Keyword Data Lokasi

SMS Result SMS Request

0

Sistem Pencarian Lokasi Terdekat Via

SMS

+

Pemilik Mobile Phone

Surabaya City Map

Gambar 3.8 Context Diagram

Pada context diagram terdapat hanya dua buah entitas yang berhubungan

dengan sistem yaitu masyarakat luas pemilik Mobile Phone yang menggunakan

jasa layanan ini. Para pemilik Mobile Phone akan berinteraksi dengan sistem

dengan memberikan masukan kepada sistem berupa mengirimkan data permintaan

/ request melalui SMS. Entitas kedua adalah Surabaya City Map yang

(18)

C.2 DFD Level 0 Sistem Pencarian Lokasi Terdekat Via SMS

DFD level 0 adalah merupakan dekomposisi dari context diagram yang akan menggambarkan tiap-tiap proses yang terdapat dalam sistem pencarian

lokasi terdekat via SMS menggunakan algoritma ant colony optimisation. Adapun

DFD level 0 untuk aplikasi ini adalah sebagai berikut.

Keyword

Gambar 3.9 DFD Level 0 Sistem Pencarian Lokasi Terdekat Via SMS

Pada diagram yang ditampilkan pada gambar 3.10 dapat dilihat bahwa

dalam aplikasi ini terdapat empat buah proses utama yang membangun

keseluruhan aplikasi. Proses dimulai dari penerimaan SMS, proses ini dilakukan

untuk menangani SMS yang diterima oleh terminal dan mengambilnya kemudian

(19)

Proses kedua yang terdapat dalam sistem adalah Pengecekan Data

Request. Proses ini untuk memeriksa apakah request yang dikirim valid, sesuai

dengan data dalam database, sudah atau belum pernah diproses dan apakah

request yang diterima sudah ada sebelumnya atau belum.

Proses ketiga yaitu Maintenance Data. Proses ini digunakan untuk

melakukan fungsi penyimpanan, penghapusan dan melakukan updating terhadap

data peta seperti jalan dan tempat/lokasi yang ada di Surabaya Pusat.

Proses keempat yang terdapat dalam sistem adalah Proses Pencarian Rute

Terpendek. Proses ini merupakan proses utama dalam aplikasi ini, yaitu mencari

rute terdekat dari lokasi awal ke lokasi tujuan berdasarkan dari request yang telah

diterima. Proses kelima berfungsi untuk mengirimkan result yang dihasilkan dari

proses sebelumnya ke pengirim.

D. Conceptual Data Model

Sebuah CDM (Conceptual Data Model) akan menggambarkan secara keseluruhan konsep struktur basis data yang dirancang untuk suatu program

aplikasi. Pada CDM belum tergambar dengan jelas bentukan tabel-tabel penyusun

basis data beserta field-field yang terdapat pada setiap tabel. Adapun CDM yang dirancang untuk aplikasi pencarian lokasi terdekat via SMS menggunakan

(20)

Gambar 3.10 Conceptual Data Model

Pada CDM tersebut diatas terlihat bahwa ada tujuh buah tabel yang

membangun struktur basis data pada aplikasi ini. Penjelasan tentang fungsi dan

field-field yang berada pada tabel tersebut diatas akan dibahas pada sub bab berikutnya.

E. Physical Data Model

(21)

ID = ID

Gambar 3.11 Physical Data Model

F. Struktur Basis Data

Struktur tabel merupakan uraian dari struktur fisik dari tabel-tabel yang

terdapat pada database sistem yang berfungsi untuk menyimpan data-data yang

saling berhubungan. Adapun tabel-tabel pada struktur basis data yang dibentuk

untuk membangun aplikasi ini dapat dijelaskan sebagai berikut :

Tabel 3.1 Road

Nama Field Tipe Panjang Cons. Ref Desc.

ID Integer PK ID Jalan

Jalan Text 50 NN Nama Jalan

Jarak Integer Panjang Jalan

Dari Integer Node Dari

Ke Integer Node ke

Dir Integer Arah Jalan

Fungsi : Digunakan untuk menyimpan data-data Jalan di kota Surabaya Pusat.

Tabel 3.2 Place

(22)

Tabel 3.3 Keyword

Nama Field Tipe Panjang Cons. Ref Desc.

Nomor Integer FK Place Nomor Urut

ID Integer FK Place ID Jalan

Kata Text 255 Kata Kunci

Fungsi : Digunakan untuk menyimpan kata kunci suatu lokasi.

Tabel 3.4 Inbox

Nama Field Tipe Panjang Cons. Ref Desc.

Nomor Integer FK Nomor Urut

Nomor Telepon Text 15 Nomor Telepon Pengirim

Waktu Date/Time Waktu Pesan Masuk

Message Text 255 Isi Pesan

Fungsi : Digunakan untuk menyimpan pesan yang masuk ke terminal.

Tabel 3.5 Outbox

Hitung Integer Counter

TGLEksekusi Date/time Waktu Dijalankan

Lama Number Lama Proses

Fungsi : Digunakan untuk menyimpan pesan yang sudah diolah dan siap untuk dikirim.

Tabel 3.6 Send Item

Nama Field Tipe Panjang Cons. Ref Desc.

Nomor Integer PK,FK Inbox Nomor Urut

Tanggal Date/Time Tanggal Dikirim SMS

Fungsi : Digunakan untuk menyimpan pesan yang telah terkirim.

Tabel 3.7 Node

Nama Field Tipe Panjang Cons. Ref Desc.

Node Integer Node jalan

(23)

G. Rancangan Masukan dan Keluaran

Untuk memberikan gambaran awal tentang antar muka pencarian lokasi

terdekat menggunakan algoritma ant colony serta menjaga konsistensi dari desain

aplikasi, maka perlu dibuat suatu rancangan masukan dan keluaran aplikasi

sebagai berikut :

G.1 Rancangan Masukan Sistem

Rancangan masukan sistem dapat berupa form-form yang merupakan

antar muka aplikasi dengan atau pengguna sistem. Format form masukan yang

memerlukan interaksi langsung dengan pengguna sistem antara lain adalah form

maintenance.

FORM MAINTENANCE

- x

Status / Keterangan Field-field Tabel basis

Command Button

Command Button

Gambar 3.12 Rancangan Form Maintenance

Pada desain form maintenance terdapat beberapa pembagian wilayah, yaitu :

1. Status / keterangan, bagian ini menunjukan status yang terjadi pada saat

proses maintenance dilakukan.

2. Field Basis Databagian ini akan berisi field-field yang bersesuaian dengan

(24)

3. Kontrol (Button Control), bagian ini berisi tombol-tombol yang menjalankan fungsi-fungsi maintenance pada basis data.

G.2 Rancangan Keluaran Sistem

Rancangan keluaran sistem dibuat untuk menjaga konsistensi dari desain

keluaran sistem. Keluaran sistem dapat merupakan tampilan pada layar monitor

dan juga dapat berupa dokumen cetak (hard copy). Secara garis besar, rancangan keluaran untuk aplikasi adalah sebagai berikut :

Gambar 3.13 Rancangan Form Proses Pesan.

Form proses request dalam aplikasi digunakan sebagai pemrosesan data

request yang masuk hingga dihasilkan result juga sebagai output yang akan

dikirimkan melalui SMS. Pada desain form maintenance terdapat beberapa

pembagian wilayah, yaitu :

1. Data Pesan Masuk, bagian ini menunjukan data request yang diminta oleh

pengirim pesan.

FORM PROSES - x

Data pesan masuk

Data Hasil Pemrosesan

Status

(25)

2. Data Hasil Pemrosesan, bagian ini menunjukan data yang dihasilkan dari

proses pencarian lokasi terdekat.

3. Status, bagian ini menunjukan status yang terjadi pada saat pemrosesan

pesan berlangsung.

4. Daftar Pesan Masuk, bagian ini menunjukan daftar pesan yang masuk dan

siap untuk diproses.

5. Status Searching, bagian ini juga menunjukan status yang terjadi pada saat

(26)

LANDASAN TEORI

Untuk melakukan perancangan dan pembuatan aplikasi pencarian lokasi

terdekat diperlukan pemahaman terhadap teori dan konsep yang mendasarinya,

antara lain konsep mengenai Short Message Service (SMS), Global System for Mobile Communication (GSM), dan khususnya dalam pembahasan algoritma Ant System dalam menemukan rute terdekat.

2.1 Ant Colony Optimization (ACO)

Algoritma Ant Colony terinspirasi oleh kebiasaan semut. Semut yang

sesungguhnya mampu untuk menemukan jalur yang terpendek dari makanan ke

sarangnya. Selama dalam perjalanannya, setiap semut menaburkan pheromone ke tanah sebagai jejak atau petunjuk untuk semut lainnya. Pheromone adalah semacam zat kimia yang dikeluarkan oleh semut dari dalam tubuhnya. Semut

mengikuti jalan berdasarkan jumlah pheromone yang sebelumnya telah disebarkan oleh semut lainnya. Cara semut dalam mengeksploitasi pheromone untuk menemukan jalur antara dua titik ditunjukan pada gambar 2.1.

Pada gambar 2.1A menunjukan semut berada dalam titik keputusan

dimana mereka akan memutuskan untuk belok ke kiri atau kekanan. Selama semut

tersebut belum mempunyai petunjuk untuk memilih pilihan yg terbaik, mereka

memilih secara acak. Dalam rata-rata, separuh semut memutuskan untuk belok

kekanan dan separuh lagi memilih ke kiri. Hal ini terjadi pada semut baik itu yang

bergerak dari kiri ke kanan (yang diberi label L) dan sebaliknya (yang diberi label

R). Gambar 2.1B dan 2.1C menunjukan semut melalui percabangan secara acak.

(27)

Jumlah dari garis putus-putus kasarannya sebanding dengan jumlah pheromone

yang telah disebarkan oleh semut di tanah. Selama jalur bawah lebih pendek dari

jalur atas, rata-rata lebih banyak semut akan melewatinya, dan maka dari itu

pheromone terakumulasi dengan cepat. Setelah beberapa periode transisi yang pendek, perbedaan jumlah pheromone dalam kedua jalur cukup besar untuk mempengaruhi keputusan semut yang baru datang ke dalam sistem (ditunjukan

pada gambar 2.1D). Mulai dari sekarang, semut yang baru akan lebih memilih ke

jalur bawah. Tidak lama lagi semua semut akan menggunakan jalur yang

terpendek.

Gambar 2.1. Menunjukan semut yang sesungguhnya menemukan jalur terpendek.

A. Semut dihadapkan pada titik keputusan, B. Beberapa semut

memilih jalan atas dan sebagian memilih jalan bawah secara acak, C.

Selama semut berjalan dengan kecepatan yang rata-rata sama, semut

akan bereaksi memilih jalan bawah yang lebih pendek, lebih cepat

(28)

2.1.1 Ant System (AS)

Ant System (AS) merupakan algoritma pertama kali dari kumpulan

algoritma Ant Colony Optimization (ACO) yang dikembangkan oleh Dorigo,

Maniezzo, dan Colorni pada tahun 1991. AS banyak diterapkan untuk

mengoptimalkan kombinasi pada permasalahan Travelling Salesman Problem dan

Quadratic Assigment Problem. Dimana dalam AS terdapat sejumlah artificial ant

yang bekerja sama untuk menemukan solusi dari suatu masalah dengan

menukarkan informasi melalui pheromone yang disebarkan di garis dalam grafik.

Artificial ant adalah semut buatan yang bekerja seperti layaknya semut yang sesungguhnya sedangkan pheromone adalah semacam zat kimia yang dikeluarkan oleh semut sesungguhnya yang digunakan untuk menandai atau memberikan jejak

jalan yang telah dilewati untuk memberitahukan kepada semut yang lainnya.

Secara formal kerja dari AS adalah sebagai berikut :

1. Artificial ant lebih memilih berpindah dari kota yang memiliki probabilitas state transition yang tinggi yaitu kota yang terhubungkan oleh jalan yang

pendek dengan jumlah pheromone yang tinggi. Probabilitas sebuah semut k

pergi dari kota i ke kota j ketika sedang membangun perjalanannya pada iterasi ke-t dirumuskan sebagai berikut :

Dimana adalah kota tetangga kota i yang belum pernah dikunjungi, aij(t) adalah tabel ant-decision Ai=[aij]|Ni| dari node i didapat dari

komposisi antara local pheromone trail value dengan local heuristic value

(29)

Dimana τij(t) adalah jumlah jejak pheromone pada jalur(i,j) pada waktu t, ηij

= 1/δij adalah nilai heuristic value perpindahan dari kota i ke kota j, Ni adalah

kota tetangga kota i, dengan α dan β adalah dua parameter yang mengontrol

pembobotan nilai jejak pheromone dan nilai heuristik. Peranan dari parameter α dan β adalah jika α = 0, maka kota yang terdekat lebih dipilih untuk

dikunjungi dan kebalikannya jika β = 0, maka kota dengan jejak pheromone

yang terbanyak yang akan dipilih Setiap artificial ant yang telah menyelesaikan perjalanannya, maka pheromone intensity dari setiap jalur akan diupdate. Ada 3 cara dalam mengupdate pheromone intensity :

a. Ant-cycle

Pada ant-cycle, pheromone diupdate ketika semua semut telah membangun solusi dalam perjalanan ke kota tujuan. Formula yang digunakan adalah

sebagai berikut :

Dimana , m adalah jumlah semut pada setiap

iterasi t dan ρ adalah besar koefisien kebusukan jejak pheromone yang

(30)

Dimana Tk(t) adalah jalur perjalanan yang ditempuh oleh semut k pada iterasi ke t dan Lk(t) adalah panjangnya jarak perjalanan yang ditempuh oleh semut k.

Secara garis besar algoritma AS adalah sebagai beirkut:

1. Inisialisasi

Set t:= 0 {iterasi}

Set NC:=0 {cycle iterasi}

Untuk setiap jalur, set nilai initial τ := c untuk intensitas pheromone

dan Δτ := 0

Tempatkan m semut pada kota n yang dikehendaki.

2. Set s:=1 {s adalah tabu list index}

For k := 1 to m do

Tempatkan kota asal pada semut ke k pada tabuk(s).

3. Ulangi sampai semua semut menemukan solusi

Set s :=s+1

For k := 1 to m do

Pilih kota j sebagai kota tujuan dengan probabilitas

Pindahkan semut ke k kedalam kota j

Masukan kota j ke dalam tabuk(s)

4. For k := 1 to m do

Pindahkan semut ke k dari tabuk(n) ke tabuk(1) (kembali ke asal)

Hitung panjang Lk perjalanan yang telah dilakukan oleh semut k

(31)

5. Update intensitas pheromone pada setiap jalur Set t := t+n

Set NC := NC+1

6. If(NC<NCmax) and (not stagnation behavior) then

Kosongkan semua tabu list

Ulangi langkah ke-2

Else

Cetak perjalanan terpendek

Hentikan iterasi

b. Ant-density

Formula untuk mengupdate intensitas pheromone pada ant-density hampir sama dengan ant-cycle, perbedaannya terletak pada waktu mengupdate intensitas pheromone yaitu semut akan langsung mengupdate setiap jalur yang dilewatinya tanpa menunggu sampai menyelesaikan perjalanannya.

Perbedaan berikutnya adalah pada formula perhitungan pheromone evaporation. = 1 apabila semut ke-k pergi dari kota i ke kota j, jika tidak = 0.

c. Ant-quantity

Pada dasarnya ant-quantity hampir sama dengan ant-density perbedaannya terletak pada cara mengupdate intensitas pheromone, dimana pada ant-quantity kuantitas pheromone yang ditaburkan oleh artificial ant dari kota i ke kota j sebanyak 1/dij dimana dij adalah jarak dari kota i ke kota j.

Formula untuk mengupdate pheromone intensiti adalah = 1/dij apabila

(32)

Setelah membangun solusi perjalanan, semua artificial ant akan ‘mati’ dengan kata lain artificial ant akan di hapus dari sistem.

2. Agar artificial ant membangun perjalanan secara legal, perpindahan ke kota yang sudah pernah disinggahi tidak diperbolehkan sampai menyelesaikan

perjalanan. Setiap kota yang disinggahi oleh artificial ant akan disimpan dalam

ingatannya yang disebut dengan tabu list. Dengan mengeksplorasi memori yang dimiliki oleh setiap semut maka setiap semut dapat membangun solusi

yang mungkin.

3. Setiap artificial ant menyebarkan sejumlah pheromone pada jalur dalam perjalanannya yang menerangkan seberapa dekat perjalanannya (dalam kata

lain, jalur yang menjadi jalur perjalanan yang dekat adalah jalur yang

memiliki jumlah pheromone yang lebih banyak). Pada gambar 2.2 menunjukan prinsip kerja AS.

Gambar 2.2. Prinsip kerja Ant System.

Pada gambar 2.2a menunjukan inisial graph beserta jarak antar kota. Pada

gambar 2.2b pada waktu t=0 masih belum ada terdapat jejak pada semua jalur

maka dari itu artificial ant memilih ntuk jalur kiri dan kanan dengan

(33)

pendek memiliki intensitas pheromone yang lebih besar sehingga sebagian

besar semut melewatinya.

2.2 Global System for Mobile Communication (GSM)

GSM adalah teknologi seluler digital yang dikembangkan pertamakali

oleh Group Spatial Mobile di Eropa pada tahun 1982. GSM merupakan teknologi

komunikasi seluler berbasis digital dan bersifat global dengan SIM (Subsciber

Identification Module) sebagai kartu identitas pengguna yang mencerminkan

nomor pelanggan. GSM menyediakan banyak fungsi antara lain : kotak suara

(voice mail), fasilitas call divert (mengalihkan panggilan ke nomor telepon lain), CLI (Calling Line Identification), SMS (Short Message Service), MMS (Multimedia Message Service), dan fasilitas-fasilitas lainnya.

2.3 Short Message Service (SMS)

Short Message Service (SMS) adalah fasilitas yang dimiliki oleh GSM yang memungkinkan pengguna mobil phone yang menggunakan kartu GSM dapat mengirim dan menerima pesan-pesan singkat sebanyak maksimal 160 karakter.

Prinsip kerja dari SMS ini adalah setiap provider GSM mempunyai satu atau lebih

SMS Centeryang berfungsi untuk menerima dan meneruskan pesan dari pengirim

ke pelanggan tujuan. Dengan adanya SMS Center ini, pelanggan dapat

mengetahui status dari pesan SMS yang telah dikirim, apakah telah sampai atau

gagal diterima oleh nomor tujuan. Pesan yang gagal dikirim akan disimpan dalam

(34)

Gambar 2.3. Diagram Blok pengiriman dan penerimaan SMS

Untuk dapat menerima dan mengirim pesan, sebelumnya harus

melakukan koneksi ke SMSC (Short Message Service Center). Ada beberapa cara untuk melakukan koneksi ke SMSC antara lain :

a. Menggunakan sebuah terminal baik berupa GSM modem atau handphone.

Cara ini adalah yang paling mudah tetapi memiliki kekurangan antara lain

jumlah pesan yang dikirim permenit sangat terbatas (sekiar 6-10 pesan per

menit). Untuk mengantisipasi hal ini biasanya digunakan lebih dari satu

terminal.

b. Koneksi langsung ke SMSC.

Untuk melakukan koneksi ke SMSC diperlukan protokol penghubung.

Protokol yang umum digunakan adalah UCP, SMPP, CIMD2, OIS, dan TAP.

Masing-masing operator GSM menyediakan tipe protokol yang berbeda-beda.

Dengan koneksi langsung ke SMSC, pesan dapat dikirim dengan jumlah

banyak, dapat mencapai sekitar 600 pesan per menit bergantung pada

kapasitas dari SMSC itu sendiri.

c. Menggunakan Software Bantu.

(35)

Berikut adalah daftar SMS Center pada beberapa operator GSM di

Indonesia :

Tabel 2.1 Daftar SMS Center

Operator GSM Nomor SMSC

Satelindo 62816124

Excelcomindo 62818445009

Telkomsel 6281100000

IM3 62855000000

Terdapat dua mode untuk mengirim dan menerima SMS, yaitu mode text

dan mode PDU (Protokol Data Unit). Tetapi sistem mode text tidak didukung oleh semua operator GSM di Indonesia dan kebanyakan dari terminal atau

handphone juga tidak mendukungnya.

Application like Dispatcher Software WWW server with MMI to transmit and receive SMS

Database or batch job

API to send and receive SMS (Windows 2000, Windows NT, Windows 9x, Linux, Unix, OS/2)

1-32 COM port to GSM modems X.25, X.31, ISDN terminal adapter,

Analog modem, TCP/IP …

SMSC

(36)

a. Mode Text

Mode ini adalah cara termudah untuk mengirim pesan. Pada mode text pesan

yang dikirim tidak dilakukan konversi. Teks yang dikirim tetap dalam bentuk

aslinya dengan panjang mencapai 160 (7 bit default alphabet) atau 140 (8 bit)

karakter. Mode teks sebenarnya adalah hasil encode yang direpresentasikan

dalam format PDU. Kekurangannya mode ini adalah tidak dapat menyisipkan

gambar atau nada dering ke dalam pesan yang akan dikirim.

b. Mode PDU.

Mode PDU adalah pesan dalam format hexadesimal octet dan semi-desimal

octet dengan panjang mencapai 160 (7 bit default alphabet) atau 140 (8 bit)

karakter. Kelebihan menggunakan format PDU adalah dapat melakukan

enkoding sendiri, tetapi tentunya harus didukung oleh hardware dan operator

GSM, melakukan kompresi data, menambahkan nada dering dan gambar pada

pesan yang akan dikirim, menambahkan header kedalam pesan seperti

timestamp, nomor SMSC, dan meta-informasi lainnya. Beberapa enkoding

yang umum digunakan adalah PCCP437, PCDN, 8859-1, IRA, dan GSM.

2.4 Travelling Salesman Problem

Travelling Salesman Problem (TSP) merupakan salah satu permasalahan

optimasi kombinasi dalam hal ini TSP dikhususkan dalam permasalahan

pencarian jarak terdekat. Secara umum TSP dapat didefinisikan sebagai berikut :

terdapat beberapa N titik dan sejumlah E jalur yang menghubungkan antar titik. Dengan dij adalah panjang jalur(i,j) E yang merupakan jarak antara titik i

(37)

Hamiltonian dalam graph G adalah perjalanan terpendek dengan mengunjungi

(38)

IMPLEMENTASI DAN EVALUASI

Pada bab ini akan dijelaskan mengenai implementasi dan uji coba dari

Aplikasi pencarian lokasi terdekat via SMS menggunakan algoritma Ant Colony

Optimization.

4.1 Kebutuhan Sistem

Sebelum menjalankan program atau aplikasi, ada beberapa hal yang perlu

diperhatikan, antara lain kebutuhan sistem akan perangkat keras (hardware) dan perangkat lunak (software), serta langkah-langkah yang harus dilakukan untuk dapat melakukan instalasi aplikasi agar dapat berfungsi sebagaimana mestinya.

Dalam perancangan dan pembuatan aplikasi ini ada beberapa perangkat keras dan

lunak komputer yang dibutuhkan antara lain :

A. Perangkat Keras

Perangkat keras komputer adalah komponen-komponen fisik peralatan

yang membentuk suatu sistem komputer, serta peralatan-peralatan lain yang

mendukung komputer dalam menjalankan tugasnya. Adapun perangkat kerasyang

diperlukan dalam aplikasi ini adalah :

1. CPU dengan processor 1200 Mhz atau lebih

2. Monitor XGA

3. Memory 256 MB atau lebih.

4. VGA Card dengan memory 8 MB atau lebih.

(39)

5. Printer

6. Mouse, Keyboard dan CDROM.

7. Mobile Phone beserta Kabel data.

B. Perangkat Lunak

Perangkat lunak yang diperlukan adalah program komputer yang

diperlukan untuk mengoperasikan fungsi dari perangkat keras. Adapun perangkat

lunakyang diperlukan dalam perancangan dan pembuatan aplikasi ini adalah :

1. Sistem Operasi minimal Windows 9x.

2. Microsoft Visual Basic 6.0 dengan SP 5

3. Microsoft Access 2000

4. Microsoft Visio 2002

5. Power Designer 6.0

6. ActiveXperts SMS and Pager Toolkit

4.2 Penggunaan Aplikasi

Pada sub bab akan dijelaskan tentang penggunaan aplikasi per sistem

menu, mulai dari tampilan aplikasi, fungsi dan cara penggunaannya.

A. Tampilan Form Utama

Setelah menjalankan program, maka akan muncul tampilan aplikasi

seperti pada gambar. Pada tampilan utama aplikasi tersebut terdapat dua bagian

yang perlu diperhatikan adalah :

a. Main Menu, bagian ini merupakan kumpulan menu yang akan berfungsi untuk

mengoperasikan aplikasi.

(40)

Gambar 4.1 Tampilan Menu Utama.

B. Setting Connection Parameter.

Form ini digunakan untuk mengatur koneksi dengan terminal. Terdapat 3

pilihan setting parameter yaitu Port Name, menunjukan nama port dimana terjadi

koneksi antara terminal dengan komputer yang dihubungkan dengan sebuah kabel

data, dalam hal ini terkoneksi dengan port com. Jumlah port com umumnya pada

PC hanya terdiri dari 2 buah, tetapi ada juga yang sampai 4 atau 8 port. Parameter

berikutnya adalah baud rate yaitu parameter kecepatan transfer data yang

didukung oleh terminal. Terdapat beberapa pilihan kecepatan yang umumnya

(41)

28800, 57600 bps. Kecepatan yang dipilih tergantung dari terminal yang

digunakan, apakah kecepatan tersebut didukung atau tidak. Umumnya dewasa ini,

sebuah mobile phone memilliki transfer data sebesar 19200 atau lebih. Aplikasi

ini tidak dapat mendukung kecepatan transfer diatas 57600 bps. Parameter

terakhir yaitu data bits, parity dan stop bits. Pada aplikasi ini hanya mendukung 2

pilihan yaitu untuk tiap-tiap parameter bernilai 8, none, 1 atau 7, even, 1.

Gambar 4.2 Form Setting Connection Parameter.

Dibagian kanan form terdapat beberapa tombol perintah diantaranya

tombol OK yang digunakan untuk menyimpan connection parameter yang

digunakan dalam mengirim dan menerima pesan, tombol berikutnya adalah

tombol TEST yang digunakan untuk mengetes apakah setting parameter yang

telah dipilih didukung oleh terminal atau tidak, tombol DEFAULT digunakan

(42)

adalah COM1, 19200, 8, none, 1 yaitu nilai yang didukung kebanyakan dari

mobile phone. Tombol terakhir adalah tombol EXIT yang digunakan untuk keluar

form. Pada bagian bawah terdapat label keterangan yang digunakan untuk

menjelaskan tiap-tiap parameter yang ada dan juga untuk menampilkan informasi

dari hasil test yang dilakukan.parameter.

C. Form Maintenance.

Form ini selain digunakan untuk menampilkan data lengkap tentang jalan

yang ada di Surabaya Pusat beserta data Hotel ataupun penginapan yang berada

dijalan tersebut, Form ini juga digunakan untuk menambahkan data lokasi yang

terdapat pada surabaya pusat. Pada form ini terdapat empat bagian utama

diantaranya :

1. Peta Surabaya.

Bagian ini terdapat pada bagian atas form, bagian ini berisi peta surabaya

pusat dimana masih menggunakan peta secara manual tetapi dengan sedikit

penambahan angka-angka yang menunjukan node-node jalan. Node jalan

diletakan pada setiap percabangan yang ada. Selain itu juga node ini

digunakan untuk memudahkan dalam melakukan maintenance lokasi.

2. Daftar Lokasi

Bagian ini terdapat dibawah peta yang menunjukan daftar lokasi yang terdapat

(43)

Gambar 4.3 Form Maintenance Jalan.

3. Tombol Perintah 1.

Bagian ketiga yang terdapat pada bagian tepi kanan bawah form terdapat

beberapa tombol perintah diantaranya tombol Road dengan gambar folder

yang digunakan untuk menampilkan daftar jalan se-surabaya pusat. Bila

tombol ini dijalankan maka tampilan form akan berganti menjadi seperti

(44)

Gambar 4.4 Form Daftar Jalan.

Form ini menampilkan semua data jalan diantaranya panjang jalan, node dari,

node ke, dan arah jalan. Form ini digunakan untuk memilih jalan yang ingin

ditambahi data lokasi dan terdapat dua tombol perintah yaitu EXIT yang

digunakan untuk kembali ke form sebelumnya dan tombol SEARCH yang

digunakan untuk mencari nama jalan berdasarkan kata kuncinya.

Tombol berikutnya adalah tombol PLACE yaitu untuk menampilkan semua

data lokasi yang telah disimpan. Bila tombol ini dijalankan maka tampilan

form akan berubah menjadi seperti berikut. Form ini menampilakan data

(45)

lokasi, dan alamat lokasi. Form ini digunakan untuk memilih lokasi yang ingin

diubah ataupun dihapus.

Gambar 4.5 Form daftar Hotel dan Penginapan.

Terdapat dua tombol perintah yaitu EXIT yang digunakan untuk kembali ke

form sebelumnya dan juga tombol SEARCH yang digunakan untuk mencari

nama lokasi berdasarkan kata kuncinya. Tombol berikutnya yaitu tombol

CLEAR yang digunakan untuk mengosongkan field-field yang ada dan tombol

terakhir adalah tombol EXIT untuk keluar dari form.

4. Tombol perintah 2.

Bagian keempat yang terdapat pada bagian bawah form terdapat beberapa

(46)

menambahkan data lokasi disuatu jalan. Bila tombol ini dijalankan maka akan

membuka form baru yaitu form maintenance lokasi.

Gambar 4.6 Form Maintenance Lokasi dan Keyword.

Pada form ini terdapat beberapa field yang dapat diisi diantaranya field nama

jalan, lokasi atau alamat dan keyword. Satu lokasi dapat terdiri dari banyak

keyword. Terdapat tiga tombol perintah diantaranya tombol + digunakan

untuk menambahkan keyword kedalam daftar, tombol SAVE untuk

menyimpan data dan tombol KELUAR untuk keluar dari form.

D. Form Request

Form ini digunakan untuk mengolah pesan yang masuk serta untuk

(47)

mengirimkan result yang dihasilkan ke pengirim. Proses mengambil pesan dan

mengirim pesan ini dilakukan terus-menerus dalam periode waktu tertentu.

Gambar 4.7 Form Pemrosesan Pesan.

Dalam form ini terdapat beberapa informasi yang ditampilkan

diantaranya adalah data request yaitu berisi informasi tentang data pesan yang

diterima diantaranya nomor telepon pengirim, posisi awal dan lokasi tujuan.

Informasi berikutnya adalah tentang solusi terbaik yang telah ditemukan

diantaranya nama lokasi terdekat yang telah ditemukan, alamat lokasi, panjang

perjalanan, dan jalur-jalur yang ditempuh untuk menuju kelokasi. Label status

digunakan untuk menampikan status dari proses yang terjadi. Daftar tabel pesan

yang digunaan untuk menampung semua pesan yang masuk dan belum terproses.

(48)

dikirim, dan isi dari pesan. Disamping daftar pesan terdapat beberapa informasi

tentang pemrosesan pesan diantaranya banyak iterasi yang telah ditempuh, jumlah

solusi yang telah diketemukan, jumlah pesan dalam daftar, jumlah pesan yang

belum dikirim, dan lama waktu pada saat pengolahan pesan.

E. Form Statistik

Form terakhir adalah form statistik yang digunakan untuk menampilkan

data semua pesan yang masuk dan data pengolahan pesan.

(49)

4.3 Implementasi Proses

4.3.1 Implementasi Moving to Next Road

Mengacu pada rancangan pada bab 3 gambar 3.5, proses ini

menggambarkan perjalanan semut menuju lokasi selanjutnya.

Public Sub move()

4.3.2 Implementasi Back Track

Mengacu pada rancangan pada bab 3 gambar 3.7, proses ini untuk

(50)

Public Sub reset() If path.Count > 0 Then

length = length - path(path.Count).length path.Remove path.Count

End If

trueTabu.Remove (trueTabu.Count) If trueTabu.Count > 0 Then

4.3.3 Implementasi Update Pheromone

Mengacu pada rancangan pada bab 3 gambar 3.8, proses ini untuk

mengupdate jejak pheromone.

for i = 1 To Edges.Count

Edges.Item(i).pheromone = (rho * Edges.Item(i).pheromone) + deltaIP deltaIP = 0

Next

4.4 Desain Uji Coba Aplikasi

4.4.1 Uji Coba Pencarian Lokasi Terdekat.

Pada uji coba yang dilakukan, mobile phone yang digunakan adalah dari

vendor Siemens seri C45. Aplikasi diujicobakan dengan mengirimkan beberapa

pesan dengan isi yang beragam. Semua pesan diproses dalam data yang sama dan

dengan nilai parameter yang sama yaitu :

(51)

Berikut ini adalah tabel daftar hotel dan penginapan yang berada di

daerah Surabaya Pusat.

Tabel 4.1 Daftar Hotel dan Penginapan.

Nama Alamat

Hotel Asia Jl. Tembaan No 55

Hotel Centrum Jl. Bubutan 16-22

Hotel Sheraton Surabaya Jl. Embong Malang 20-21

The Westin Jl. Embong Malang 85-89

Tunjungan Plaza Jl. Embong Malang 2

Tunjungan Center Jl. Tunjungan No.1 Hotel Mojopahit Jl. Tunjungan 65 Hotel Tunjungan Jl. Tunjungan No 102 Hotel Hyatt Regency Jl. Basuki Rachmat Tunjungan Plaza Jl. Basuki Rachmat 8-12 Hotel Garden Palace Jl. Yos Sudarso 11

Hotel ELMI Jl. Panglima Sudirman 42-44

Hotel Tanjung Jl. Panglima Sudirman 43-45 Hotel Lesti Asri Jl. Pasar Kembang 76

Hasma Jaya 1 Jl. Pasar Kembang 18-20

Hasma Jaya 2 Jl Pasar Kembang 16

Kembang Jl. Pasar Kembang 30

Hotel Mirama Jl. Raya Darmo 68-76

Hotel Weta Internasional Jl. Genteng Kali 3-7

Pavilyun Jl. Genteng Besar 94-98

Hotel Pasar Besar Jl. Pasar Besar 25-27

Jagalan Raya Jl. Jagalan 64

Genafo Jl. Kapasan 169-171

Hotel Natour Simpang Jl. Pemuda 1-3 Hotel Radison Plaza Suite Jl. Pemuda 33-37

Hotel Cendana Jl. Kombes Duryat 6

Jane's House Hotel Jl. Dinoyo 100-102

Pinang Inn Jl. Dinoyo 7-9

Pesan pertama beisi “Dupak->Hotel Bintang 5” yaitu untuk mencari hotel

berbintang lima yang berada di wilayah Surabaya Pusat dengan lokasi awal di

jalan Dupak. Lokasi tujuan pesan ini tidaklah pasti, karena Hotel Bintang Lima

(52)

solusi yang dihasilkan setelah eksekusi program yang diurutkan berdasarkan

panjang jarak yang ditempuh.

Tabel 4.2 Daftar Solusi.

No Jalur Panjang(m) Lokasi

1

Tembaan-Tembaan-Pahlawan-Gemblongan-Tunjungan-Tunjungan 2012 Hotel Mojopahit

2 Tembaan-Tembaan-Pahlawan-Gemblongan-Tunjungan-Genteng

Besar-Embong Sawo-Basuki Rachmat 2832 Hotel Hyatt Regency

3 Semarang-Kranggan-Praban-Tunjungan-Tunjungan 2940 Hotel Mojopahit

4

Tembaan-Tembaan-Pahlawan-Gemblongan-Tunjungan-Genteng Besar-Panglima Sudirman-Basuki Basuki Rachmat-Basuki Rachmat

3808 Hotel Hyatt Regency

5

Tembaan-Tembaan-Pahlawan-Gemblongan-Genteng Kali-Jembatan-Undaan Kulon-Undaan Wetan-Ambengan-Jaksa Agung Suprapto-Walikota Mustajab-Embong Sawo-Basuki Rachmat

5350 Hotel Hyatt Regency

6

Tembaan-Tembaan-Pahlawan-Gemblongan-Genteng Kali-Jembatan-Undaan Kulon-Undaan Wetan-Ambengan-Ambengan-Kusuma Bangsa-Pemuda-Yos Sudarso

6228 Hotel Garden Palace

7

Tembaan-Tembaan-Pahlawan-Gemblongan-Genteng Kali-Jembatan-Undaan Kulon-Kalianyar-Kusuma Bangsa-Ambengan-Jaksa Agung Suprapto-Walikota Mustajab-Gubeng Pojok-Pemuda-Yos Sudarso

6372 Hotel Garden Palace

8

Semarang-Kranggan-Praban-Genteng Kali-Jembatan-Undaan Kulon-Jagalan-Pasar Besar-Pahlawan-Gemblongan-Tunjungan-Genteng Besar-Embong Sawo-Basuki Rachmat

6804 Hotel Hyatt Regency

9

Semarang-Kranggan-Bubutan-Tembaan-Pahlawan-Gemblongan-Genteng Kali-Jembatan-Undaan Kulon-Kalianyar-Kusuma Bangsa-Kusuma Bangsa-Pemuda-Panglima Sudirman-Embong Sawo-Basuki Rachmat

9504 Hotel Hyatt Regency

10

9974 Hotel Hyatt Regency

Dari daftar tabel solusi yang dihasilkan, didapatkan Hotel Bintang Lima

terdekat dari jalan Dupak adalah Hotel Mojopahit dengan jarak tempuh sepanjang

2,012km dengan jalur tempuh

(53)

Setiap jalan yang dilewati oleh semut, semut tersebut akan menambahkan

pheromone ke jalan tersebut. Penyebaran pheromone tidaklah merata disetiap jalan, maka akan diperoleh jumlah pheromone yang berjumlah besar dan kecil. Tingkat pheromone disetiap jalan dijadikan perhitungan probabilias untuk menentukan jalur mana yang akan diambil. Jalur dengan tingkat pheromone yang besar memiliki peluang yang besar pula untuk dilewati. Berikut adalah daftar

intensitas pheromone disetiap jalan setelah eksekusi program.

Tabel 4.3 Daftar Intensitas Pheromone Disetiap Edge(Jalan).

No Edge Jalan Pheromone

1 Edge(1,2 ) Dupak 2,65613988875875E-05

2 Edge(2,5 ) Tembaan 1,96037642260069E-02

3 Edge(2,3 ) Semarang 5,21283507075678E-05

4 Edge(3,4 ) Kranggan 5,21283507075678E-05

5 Edge(4,5 ) Bubutan 2,93904884569351E-05

6 Edge(4,9 ) Praban 5,80757573973459E-05

7 Edge(22,4 ) Blauran 3,53378951467131E-05

8 Edge(23,22 ) Embong Malang 2,65613988875875E-05

9 Edge(9,10 ) Tunjungan 0,019578734228682

10 Edge(10,23 ) Tunjungan 1,94667467435967E-02

11 Edge(23,11 ) Tunjungan 2,65613988875875E-05

12 Edge(11,23 ) Tunjungan 2,65613988875875E-05

13 Edge(11,12 ) Gubernur Suryo 2,65613988875875E-05

14 Edge(17,11 ) Basuki Rachmat 1,65493127133028E-04

15 Edge(18,17 ) Basuki Rachmat 3,94789777291105E-05

16 Edge(16,17 ) Embong Sawo 1,52575548291505E-04

17 Edge(12,13 ) Yos Sudarso 5,0214104872281E-05

18 Edge(12,16 ) Panglima Sudirman 4,21492308270798E-05

19 Edge(16,19 ) Panglima Sudirman 4,8255473988236E-05

20 Edge(21,22 ) KedungDoro 3,53378951467131E-05

21 Edge(24,25 ) Pasar Kembang 4,29895303327689E-05

22 Edge(25,26 ) Raya Diponegoro 4,29895303327689E-05

23 Edge(26,27 ) Raya Diponegoro 3,82639033363896E-05

24 Edge(26,29 ) DR Sutomo 3,12870258839668E-05

25 Edge(27,28 ) Begawan 3,82639033363896E-05

26 Edge(28,29 ) Raya Darmo 3,82639033363896E-05

27 Edge(29,19 ) Urip Sumoharjo 4,29895303327689E-05

28 Edge(29,30 ) Polisi Istimewa 2,65613988875875E-05

29 Edge(9,15 ) Genteng Kali 8,60395533069486E-05

30 Edge(16,15 ) Genteng Kali 2,74047934150333E-05

31 Edge(10,16 ) Genteng Besar 1,38548883972896E-04

32 Edge(7,8 ) Pahlawan 1,96066980245916E-02

33 Edge(7,8 ) Kramat Gantung 2,65613988875875E-05

34 Edge(8,9 ) Gemblongan 1,96066980245916E-02

35 Edge(7,36 ) Pasar Besar 2,66661079029983E-05

(54)

No Edge Jalan Pheromone

37 Edge(33,34 ) Undaan Kulon 8,85558344852107E-05

38 Edge(34,35 ) Undaan Wetan 5,62666324493512E-05

39 Edge(15,33 ) Jembatan 8,68829478343945E-05

40 Edge(35,33 ) Ext 2,82342855384038E-05

41 Edge(35,32 ) Ambengan 5,79395191001675E-05

42 Edge(13,32 ) Jaksa Agung Suprapto 6,16068520328083E-05

43 Edge(16,13 ) Walikota Mustajab 5,55112582364253E-05

44 Edge(13,31 ) Walikota Mustajab 3,62867334958671E-05

45 Edge(32,38 ) Ambengan 8,22092340114336E-05

46 Edge(34,37 ) Kalianyar 7,83879708556457E-05

47 Edge(37,38 ) Kusuma Bangsa 5,87458919080363E-05

48 Edge(37,39 ) Kapasari 4,62034778351969E-05

49 Edge(39,40 ) Kapasan 4,62034778351969E-05

50 Edge(41,34 ) Pecindilan 4,62034778351969E-05

51 Edge(40,41 ) Gembong 4,62034778351969E-05

52 Edge(14,12) Pemuda 6,58019368117734E-05

53 Edge(31,14 ) Gubeng Pojok 3,62867334958671E-05

54 Edge(14,38 ) Kusuma Bangsa 5,60766022034939E-05

55 Edge(5,7 ) Tembaan 1,96065933155762E-02

56 Edge(39,43 ) Kenjeren 2,65613988875875E-05

57 Edge(39,45 ) Simokerto 2,65613988875875E-05

58 Edge(19,18 ) Basuki Rachmat 3,18273425430547E-05

59 Edge(18,20 ) Kombes Duryat 3,75997744287875E-05

60 Edge(20,21 ) Kedung Sari 3,75997744287875E-05

61 Edge(21,24 ) Kedung Doro 4,29895303327689E-05

Pesan kedua berisi “Panglima Sudirman->Hotel Mojopahit” yaitu

mencari rute menuju hotel Mojopahit dengan lokasi awal di jalan Panglima

Sudirman. Dari hasil eksekusi program didapatkan jalur yang ditempuh adalah

Embong Sawo-Basuki Rachmat-Tunjungan-Embong Malang-Blauran-Praban -

Tunjungan-Tunjungan dengan jarak tempuh 2.83km, lama eksekusi 59,59 detik.

4.4.2 Uji Coba Pemrosesan Banyak Pesan.

Uji coba berikut ini untuk mengukur lamanya pesan dari waktu masuk

sampai pesan diproses. Uji coba dilakukan dengan mengirim 10 pesan dengan isi

yang beragam dan waktu pengiriman yang hampir bersamaan. Berikut ini adalah

(55)

Tabel 4.4 Lama Waktu Tunggu

No Pesan Waiting Time(s) Lama Proses(s)

1 Dupak->Hotel 0 19

10 Embong Malang->Penginapan 254 40

Dari tabel diatas, dapat disimpulkan bahwa aplikasi ini memiliki

kelemahan dalam mengolah pesan yang datang dalam jumlah yang banyak dan

dalam waktu yang hampir bersamaan. Semakin banyak pesan yang masuk,

semakin banyak pula waktu tunggu sampai pesan tersebut diproses. Hal ini

dikarenakan aplikasi hanya memproses pesan satu-persatu sedangkan pesan yang

lainnya menunggu sampai proses sebelumnya selesai.

4.4.3 Uji Coba Pengaruh Jumlah Semut Terhadap Waktu dan Hasil

Pada uji coba kali ini untuk mengetahui pengaruh banyaknya semut

terhadap lamanya waktu eksekusi dan hasil yang didapatkan. Nilai parameter

lainnya masih tetap menggunakan parameter pada uji coba sebelumnya. Uji coba

dilakukan sebanyak tiga kali untuk mencari lokasi dengan jarak tempuh yang

berbeda yaitu lokasi yang jaraknya dekat, menegah, dan jauh.

Isi pesan pertama adalah “Dupak->Embong Malang” yaitu dari jalan

Dupak menuju ke jalan Embong Malang, isi pesan kedua adalah “Dupak->Raya

Diponegoro” yaitu dari jalan Dupak menuju ke jalan Raya Diponegoro, dan isi

(56)

ke Hotel Mirama yang berada di jalan Raya Darmo. Berikut adalah tabel hasil dari

serangkaian uji coba yang telah dilakukan.

Tabel 4.5 Perbandingan Jumlah Semut Terhadap Waktu dan Hasil

(57)

Uji Coba 3

Gambar 4.9 Pengaruh Jumlah Semut Terhadap Jarak Tempuh.

Dari hasil yang diperoleh, dapat disimpulkan bahwa semakin banyak

semut yang digunakan, semakin banyak pula solusi yang dihasilkan. Dengan

semakin banyak solusi yang dihasilkan, maka peluang untuk mendapatkan hasil

yang optimal semakin besar, tetapi waktu yang dibutuhkan untuk memproses juga

semakin berlipat sebanding dengan jumlah semut yang digunakan.

Dari uji coba 1 dengan jarak pendek didapatkan hasil yang sama untuk

setiap semut. Dengan demikian menggunakan hanya satu semut saja sudah

mendapatkan hasil yang optimal. Dari uji coba 2 dengan jarak menengah

didapatkan jumlah semut sudah mempengaruhi hasil yang didapatkan. Untuk

mendapatkan hasil yang optimal paling sedikit digunakan semut sebanyak 5-10

semut. Dari uji coba 3 dengan jarak yang panjang dan dengan kombinasi jalan

yang banyak didapatkan untuk mencapai hasil yang optimal dibutuhkan sekitar

10-15 semut. Dengan demikian dari keterangan diatas dapat disimpulkan bahwa

(58)

PENUTUP

5.1 Kesimpulan

Setelah melakukan perancangan dan pembuatan aplikasi pencarian lokasi

terdekat dengan menggunakan algoritma ant colony serta pengujian aplikasi,

maka kesimpulan yang dapat diambil adalah sebagai berikut :

1. Aplikasi ini dapat memberikan informasi lokasi terdekat beserta rute jalan,

alamat lokasi dan panjang perjalanannya. Dengan demikian pemakai jalan

dapat tahu langsung lokasi terdekat beserta jalan-jalan yang dapat ditempuh

untuk menuju ke tempat tujuan tanpa harus berputar-putar untuk mencarinya.

2. Aplikasi ini tidak dapat mengirimkan pesan yang lebih dari 164 karakter

secara sekaligus. Pesan harus dipecah terlebih dahulu dalam beberapa pesan

dan ini dapat mengurangi kenyamanan penerima.

3. Aplikasi yang dibangun ini memiliki kelemahan yaitu apabila semakin banyak

pesan yang masuk secara bersamaan, semakin lama pula mendapatkan

balasannya, karena pesan diproses satu-persatu sementara pesan yang lain

menunggu.

4. Lamanya proses tergantung pada parameter (jumlah semut dan jumlah iterasi)

yang digunakan dan penggunaan hardware.

5. Jumlah semut yang optimal pada aplikasi pencarian lokasi terdekat yang

diterapkan dikota Surabaya ini adalah sebanyak 15 semut.

(59)

5.2 Saran

Adapun saran-saran yang dapat disampaikan oleh penulis berkaitan

dengan penulisan Tugas Akhir ini adalah sebagai berikut :

a. Aplikasi ini dapat dikembangkan lagi dengan menambahkan beberapa

parameter seperti parameter kemacetan lalu-lintas, kerusakan jalan, atau

parameter keamanan jalan.

b. Atau dapat pula digunakannya sebagai bahan pembanding dengan

menggunakan metode ACO yang lainnya untuk mencari rute terdekat yang

(60)

Dorigo, Marco, 1996, The Ant System : By A Colony Of Cooperation Agents, Institute Of Electical and Electronic Engineers.

Dorigo, Marco. Gambardella, Luca, 1996, Ant Colony System : A Cooperation Learning Approach to the Travelling Salesman Problem, URL : http://www.cs.unibo.it/bison/publication/ACO.pdf

Fogel, D. 1993, Applying Evolutionary Programming to Selected Travelling Salesman Problem, Cybernetic and System : An International Journal.

Balena, Francesco, 1999, Programming Microsoft Visual Basic 6.0, Microsoft Press, Washington .

Gambar

Gambar 3.1 Bagan Alur Sistem.
Gambar 3.3 Flowchart algoritma Ant Colony
Gambar 3.4 Flowchart Proses simulate artificial ant.
Gambar 3.5 Flowchart proses Moving to Next Road.
+7

Referensi

Dokumen terkait

Alasan tersebut dapat dideskripsikan dengan menjawab berbagai hal, seperti apakah masalah yang dihadapi peneliti berdasarkan refleksi pengalaman nyata yang pernah

Hasil penelitian menunjukkan bahwa ada hubungan yang positif antara citra raga dengan penyesuaian sosial terhadap teman laki-laki pada siswi SMA pedesaan dan perkotaan

Salah satu jenis antrian jaringan yang menarik dikaji adalah Antrian Jaringan Jackson dimana setiap workstasion mempunyai pelayanan tunggal dengan konsumen dapat

NAMA DOSEN KODE DOSEN NO MATA KULIAH.. KODE

Melalui upaya dakwah bilisan hal pembinaan dan penyuluhan masyarakat desa melalui program Desa binaan keluarga sakinah (DBKS) kemudian dapat menfokuskan diri pada

elemen tertentu dalam karya desain. 4) Warna dapat memperlihatkan mood tertentu yang menunjukan akan. adanya kesan

Bahasa jurnalistik --disebut juga bahasa pers, bahasa media, bahasa komunikasi massa (mass communication language), dan bahasa suratkabar (newspapers languange)--

b) Pembentukan ikatan peptida : molekul rRNA dari subunit ribosom besar, berfungsi sebagai ribozim, mengkatalis pembentukan ikatan peptide