IMPLEMENTASI ALGORITMA ANT COLONY DALAM
PENCARIAN LOKASI RUMAH SAKIT BERBASIS MOBILE GIS
PADA PLATFORM ANDROID
(STUDI KASUS : KOTA MEDAN)
SKRIPSI
YUSTINA
081401028
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI ALGORITMA ANT COLONY DALAM PENCARIAN
LOKASI RUMAH SAKIT BERBASIS MOBILE GIS PADA PLATFORM
ANDROID
(STUDI KASUS: KOTA MEDAN)
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar
Sarjana Komputer
YUSTINA
081401028
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul
: IMPLEMENTASI ALGORITMA ANT COLONY
DALAM PENCARIAN LOKASI RUMAH SAKIT
BERBASIS MOBILE GIS PADA PLATFORM
ANDROID
(STUDI KASUS: KOTA MEDAN)
Kategori
: SKRIPSI
Nama
: YUSTINA
Nomor Induk Mahasiswa
: 081401028
Program Studi
: SARJANA (S1) ILMU KOMPUTER
Departemen
: ILMU KOMPUTER
Fakultas
: ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI (FASILKOM-TI) UNIVERSITAS
SUMATERA UTARA
Diluluskan di
Medan,
Komisi Pembimbing
:
Pembimbing II,
Pembimbing I,
Ade Candra, S.T., M.Kom
Dr. Poltak Sihombing,M.Kom
NIP. 197909042009121002
NIP. 196203171991031001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,
PERNYATAAN
IMPLEMENTASI ALGORITMA ANT COLONY DALAM PENCARIAN
LOKASI RUMAH SAKIT BERBASIS MOBILE GIS PADA PLATFORM
ANDROID
(STUDI KASUS: KOTA MEDAN)
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan,
PENGHARGAAN
Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa atas limpahan rahmat,
kasih dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai
syarat untuk memperoleh gelar Sarjana Komputer, Program Studi Ilmu Komputer
Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Pada pengerjaan skripsi dengan judul Implementasi Algoritma Ant Colony
dalam Pencarian Lokasi Rumah Sakit Berbasis MOBILE GIS pada Platform Android,
penulis menyadari bahwa banyak campur tangan pihak yang turut membantu dan
memotivasi dalam pengerjaannya. Dalam kesempatan ini, penulis mengucapkan
terima kasih kepada:
1.
Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, MSc(CTM). Sp.A(K), selaku
Rektor Universitas Sumatera Utara.
2.
Bapak Prof. Dr. Muhammad Zarlis, M.Sc., selaku Dekan Fakultas Ilmu Komputer
dan Teknologi Informas Universitas Sumatera Utara.
3.
Bapak Dr. Poltak Sihombing, M.Kom, selaku Ketua Program Studi Ilmu
Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera
Utara.
4.
Ibu Maya Silvi Lydia, B.Sc., M.Sc selaku Sekretaris Program Studi S1 Ilmu
Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera
Utara.
5.
Bapak Dr. Poltak Sihombing, M.Kom dan Bapak Ade Candra S.T., M.Kom selaku
dosen pembimbing yang telah memberikan arahan dan motivasi kepada penulis
dalam pengerjaan skripsi ini.
6.
Ibu Maya Silvi Lydia, B.Sc., M.Sc dan Bapak Amer Sharif S.Si, M.Kom sebagai
dosen penguji yang telah memberikan saran dan kritik kepada penulis dalam
penyempurnaan skripsi ini.
7.
Seluruh dosen Program Studi S1 Ilmu Komputer Fasilkom-TI USU dan semua
pegawai Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
8.
Ayah Handy, S.E, Ibu Yulia, Adik Yuliani serta anggota keluarga lain yang telah
memberikan do’a, dukungan, perhatian serta kasih sayang yang tulus serta
pengorbanan yang tidak ternilai harganya.
10. Adik-adik angkatan 2009, 2010 dan 2011 yang telah member semangat untuk
menyelesaikan skripsi ini.
11. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat
penulis ucapkan satu per satu yang telah membantu penyelesaian skripsi ini.
Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan, oleh karena itu
penulis menerima saran dan kritik yang bersifat membangun demi kesempurnaan
skripsi ini. Sehingga dapat bermanfaat bagi kita semuanya.
Medan,
ABSTRAK
Mobilitas masyarakat dalam menjalani aktivitas sehari-hari semakin tinggi. Banyak
kejadian orang sakit tetapi mengalami kesulitan dalam menentukan rumah sakit mana
yang harus dituju. Sehingga kecepatan dalam mengambil keputusan rumah sakit yang
harus dituju menjadi lambat, apalagi dengan kondisi orang sakit yang harus dilakukan
tindakan dan penanganan sesegera mungkin. Dengan memanfaatkan perkembangan
teknologi sekarang, khususnya
smartphone
berbasis Android, dibuatlah Android apps
pencari rute rumah sakit terpendek sebagai bantuan kepada masyarakat untuk
menentukan rute perjalanan ke rumah sakit sehingga membuat waktu menjadi efisien.
Skripsi ini mengimplementasikan algoritma
Ant Colony System
untuk mendapatkan
gambaran rute terpendek yang dapat ditempuh.
Ant Colony System
sudah terbukti bisa
menyelesaikan masalah baik pada
symmetric
maupun
asymmetric Travelling Salesman
Problem
. Dari hasil pengujian, gambaran umum rute yang bisa dilalui dapat dilihat
dengan jelas dan dibantu dengan tersedianya petunjuk arah ke masing-masing tempat.
ANT COLONY ALGORITHM IMPLEMENTATION IN LOCATING
HOSPITAL BASED ON MOBILE GIS FOR ANDROID
(CASE STUDY : MEDAN CITY)
ABSTRACT
Society mobility in their daily life is getting higher. There are many events where
people are sick but they have difficulty in determining which hospital they have to go
to. As the result, the speed in deciding which hospital they are going to becomes slow,
moreover with the condition of the sick who need action and treatment as soon as
possible. By utilizing technology developments nowadays, particularly Android-based
Smartphone, an Android app which can be used to search for the shortest path to the
hospital is made as an aid to the society to determine the route to the hospital to make
the time be efficient. This paper implements Ant Colony System algorithm to obtain
the shortest route that can be taken. Ant Colony System has been proven to resolve the
problem either symmetric or asymmetric on the Traveling Salesman Problem. From
the test results, the general picture of the route that is passable can be seen clearly and
assisted by providing directions to each place.
DAFTAR ISI
Halaman
Persetujuan
ii
Pernyataan
iii
Penghargaan
v
Abstrak
vi
Abstract
vii
Daftar Isi
viii
Daftar Tabel
xi
Daftar Gambar
xii
Bab 1
Pendahuluan
1.1 Latar Belakang
1
1.2 Rumusan Masalah
2
1.3 Batasan Masalah
2
1.4 Tujuan Penelitian
3
1.5 Manfaat Penelitian
3
1.6 Metode Penelitian
3
1.7 Sistematika Penulisan
4
Bab 2
Landasan Teori
2.1 Teori Graf
6
2.1.1 Definisi Graf
7
2.1.2 Macam – Macam Graf
8
2.1.3 Matriks Ketetanggaan (Adjacency Matrix) Dan
Matriks Bersisian ( Incidency Matrix) Dari Suatu Graf
10
2.1.4 Lintasan Dan Sirkuit Euler serta Lintasan Dan Sirkuit
Hamilton
13
2.2 Optimasi
14
2.2.1 Definisi
14
2.2.2 Permasalahan Optimasi
15
2.3 Travelling Salesman Problem
15
2.4 Algoritma Ant Colony
15
2.4.1 Skema Algoritma Ant Colony
17
2.5 Android
19
2.5.1 Features
20
2.5.2 Arsitektur Android
20
2.5.3 The Dalvik Virtual Machine (DVM)
23
2.5.4 Android SDK
24
2.5.5 Versi Android
24
2.5.6 Komponen Aplikasi Android
27
2.6 Eclipse
28
2.7 Waterfall Model
28
Bab 3
Analisis Dan Perancangan Sistem
3.1 Analisis Sistem
32
3.1.1 Analisis Masalah
32
3.1.2 Analisis Kebutuhan Sistem
33
3.1.2.1 Kebutuhan Fungsional Sistem
33
3.1.2.2 Kebutuhan Non Fungsional Sistem
33
3.1.3 Pemodelan
34
3.1.3.1 Use Case Diagram
34
3.1.3.2 Activity Diagram
38
3.1.3.2.1 Activity Diagram Tampil Peta
39
3.1.3.2.2 Activity Diagram Pencarian Rute
39
3.1.3.2.3 Activity Diagram Perhitungan Ant
Colony
41
3.1.3.2.4 Activity Diagram Peta Hasil
Perhitungan Ant Colony
42
3.1.3.3 Sequence Diagram
42
3.1.3.3.1 Sequence Diagram Tampil Peta
42
3.1.3.3.2 Sequence Diagram Pencarian Rute
43
3.2 Pseudo Code Ant Colony
44
3.3 Flowchart Algoritma Ant Colony
46
3.4 Perancangan Sistem
47
3.4.1 Antarmuka Splash Screen
47
3.4.2 Antarmuka Menu Utama
48
3.4.3 Antarmuka Tentang
49
3.4.4 Antarmuka Daftar Rumah Sakit
50
3.4.5 Antarmuka Rute Pencarian
51
3.4.6 Antarmuka Detail Rumah Sakit
52
3.4.7 Antarmuka Login
53
3.4.8 Antarmuka Tambah Rumah Sakit
54
Bab 4
Implementasi Dan Pengujian Sistem
4.1 Implementasi Sistem
58
4.1.1 Implementasi Algoritma Ant Colony
58
4.1.1.1 Proses Pencarian Rute Terpendek Rumah
Sakit TKII Kesdam Medan
59
4.1.2 Tampilan Program
61
4.1.2.1 Moborobo
61
4.1.2.2 Splash Screen
62
4.1.2.3 Menu Utama
63
4.1.2.4 Tentang
63
4.1.2.5 Daftar Rumah Sakit
64
4.1.2.6 Proses Pencarian
68
4.1.2.7 Login
70
4.2 Pengujian Sistem
74
Bab 5
Kesimpulan Dan Saran
5.1 Kesimpulan
79
Daftar Pustaka
80
Lampiran A : Listing Program
A-1
DAFTAR TABEL
Halaman
2.1
Matriks Ketetanggaan dari Graf Sederhana
11
2.2
Matriks Ketetanggaan Graf dari Masalah Jembatan
Königsberg
11
2.3
Matriks Bersisian Graf dari Masalah Jembatan
Königsberg
12
2.4
Tabel Representasi Koloni Semut
17
3.1
Dokumentasi Naratif Use Case Tampil Peta
35
3.2
Dokumentasi Naratif Use Case Pencarian Rute
36
3.3
Dokumentasi Naratif Use Case Perhitungan Ant Colony
37
3.4
Dokumentasi Naratif Use Case Peta Hasil Perhitungan
Ant Colony
38
4.1
Daftar Jarak antara Lokasi Pengguna dengan Rumah Sakit
59
4.2
Daftar Atribut Jalur Perjalanan Semut dari Lokasi
Pengguna menuju Rumah Sakit TKII Kesdam Medan
60
DAFTAR GAMBAR
Halaman
2.1
Masalah Jembatan Königsberg
6
2.2
Representasi Graf dari Masalah Jembatan Königsberg
7
2.3
Graf dari Masalah Jembatan Königsberg
8
2.4
Graf Berarah dan Berbobot
8
2.5
Graf Tidak Berarah dan Berbobot
9
2.6
Graf Berarah dan Tidak Berbobot
9
2.7
Graf Tidak Berarah dan Tidak Berbobot
10
2.8
Graf Sederhana
10
2.9
Graf dari Masalah Jembatan Königsberg
11
2.10
Graf dari Masalah Jembatan Königsberg
12
2.11
Graf Euler
13
2.12
Graf Semi Euler
13
2.13
Graf
14
2.14
Koloni semut
16
2.15
Perjalanan semut
17
2.16
Arsitektur Android
21
3.1
Diagram Ishikawa untuk Analisis Permasalahan Sistem
33
3.2
Use Case Diagram Sistem Pencarian Rute Rumah Sakit
Terpendek
35
3.3
Activity Diagram Tampil Peta
39
3.4
Activity Diagram Pencarian Rute
40
3.5
Activity Diagram Perhitungan
41
3.6
Activity Diagram Peta Hasil Perhitungan
42
3.7
Sequence Diagram Tampil Peta
43
3.8
Sequence Diagram Pencarian Rute
44
3.9
Flowchart Algoritma Ant Colony
47
3.10
Antarmuka Splash Screen
48
3.11
Antarmuka Menu Utama
49
3.12
Antarmuka Tentang
50
3.13
Antarmuka Daftar Rumah Sakit
51
3.14
Antarmuka Rute Pencarian
52
3.15
Antarmuka Detail Rumah Sakit
53
3.16
Antarmuka Login
54
3.17
Antarmuka Tambah Rumah Sakit Manual
55
3.18
Antarmuka Tambah Rumah Sakit Long Click
56
4.1
Tampilan Jalur Pada Peta Lokasi Rumah Sakit TKII
Kesdam Medan (B) terhadap Lokasi Pengguna (A)
59
4.2
Aplikasi Moborobo
62
4.3
Tampilan Splash Screen
62
4.4
Tampilan Menu Utama
63
4.5
Tampilan Halaman Tentang
64
4.7
Tampilan Detail Rumah Sakit
66
4.8
Option Rute Pencarian
67
4.9
Peta Kota Medan
68
4.10
Options pada Peta Kota Medan
69
4.11
Hasil Pencarian
70
4.12
Tampilan Halaman Login
71
4.13
Tampilan Halaman Tambah Rumah Sakit secara Manual
72
4.14
Tampilan Peta sebelum dilakukan Long Click
73
4.15
Tampilan Tambah Rumah Sakit secara Long Click
73
4.16
Hasil Pencarian dari Jalan Mojopahit
74
4.17
Hasil Pencarian dari Jalan Merak Jingga
75
4.18
Hasil Pencarian dari Jalan Imam Bonjol
76
4.19
Hasil Pencarian dari Jalan Salak
77
ABSTRAK
Mobilitas masyarakat dalam menjalani aktivitas sehari-hari semakin tinggi. Banyak
kejadian orang sakit tetapi mengalami kesulitan dalam menentukan rumah sakit mana
yang harus dituju. Sehingga kecepatan dalam mengambil keputusan rumah sakit yang
harus dituju menjadi lambat, apalagi dengan kondisi orang sakit yang harus dilakukan
tindakan dan penanganan sesegera mungkin. Dengan memanfaatkan perkembangan
teknologi sekarang, khususnya
smartphone
berbasis Android, dibuatlah Android apps
pencari rute rumah sakit terpendek sebagai bantuan kepada masyarakat untuk
menentukan rute perjalanan ke rumah sakit sehingga membuat waktu menjadi efisien.
Skripsi ini mengimplementasikan algoritma
Ant Colony System
untuk mendapatkan
gambaran rute terpendek yang dapat ditempuh.
Ant Colony System
sudah terbukti bisa
menyelesaikan masalah baik pada
symmetric
maupun
asymmetric Travelling Salesman
Problem
. Dari hasil pengujian, gambaran umum rute yang bisa dilalui dapat dilihat
dengan jelas dan dibantu dengan tersedianya petunjuk arah ke masing-masing tempat.
ANT COLONY ALGORITHM IMPLEMENTATION IN LOCATING
HOSPITAL BASED ON MOBILE GIS FOR ANDROID
(CASE STUDY : MEDAN CITY)
ABSTRACT
Society mobility in their daily life is getting higher. There are many events where
people are sick but they have difficulty in determining which hospital they have to go
to. As the result, the speed in deciding which hospital they are going to becomes slow,
moreover with the condition of the sick who need action and treatment as soon as
possible. By utilizing technology developments nowadays, particularly Android-based
Smartphone, an Android app which can be used to search for the shortest path to the
hospital is made as an aid to the society to determine the route to the hospital to make
the time be efficient. This paper implements Ant Colony System algorithm to obtain
the shortest route that can be taken. Ant Colony System has been proven to resolve the
problem either symmetric or asymmetric on the Traveling Salesman Problem. From
the test results, the general picture of the route that is passable can be seen clearly and
assisted by providing directions to each place.
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Perkembangan teknologi saat ini telah memberikan pengaruh yang sangat besar
bagi dunia teknologi informasi dan telekomunikasi. Munculnya beragam aplikasi
memberikan pilihan dalam peningkatan kinerja suatu pekerjaan, baik yang bersifat
desktop based, web based
hingga yang sekarang ini munculnya aplikasi-aplikasi
baru yang berjalan dalam mobile pada sistem platform android. Pemilihan mobile
android
untuk salah satu pengembangan aplikasi selain lebih mudah dalam
pengoperasiannya, karena sifat dari mobile
yang fleksibel menjadi salah satu
alasannya. Selain itu layanan sistem aplikasi ini sangat mendukung mobilitas
penggunanya.
Dalam
http://www.android.com/developer [13] disebutkan bahwa Android
memberikan
platform
terbuka untuk mengembangkan setiap aplikasi (“
apps
”)
sesuai dengan yang dibayangkan dan pasar terbuka untuk mendistribusikan produk
ke basis pengguna yang besar dan berkembang. Pada kuartal ketiga 2011 saja,
sudah lebih dari 2,4 miliar aplikasi yang diunduh untuk perangkat Android.
Dengan mobilitas yang semakin tinggi sekarang, setiap orang bisa
bepergian ke beberapa tempat berbeda dalam satu kesempatan. Saat bepergian
tersebut sering kali kita tidak mempunyai gambaran rute perjalanan yang akan
ditempuh. Dalam jurnal yang ditulis Satria Prasamya [9], penentuan rute
terpendek diperlukan karena mempertimbangkan efisiensi waktu, jarak tempuh,
dan biaya.
Satria Prasamya juga mengemukakan bahwa permasalahan penentuan rute
tersebut dikategorikan sebagai
Travelling Salesman Problem
(TSP). Dalam
The
dalam berbagai bidang, misalnya transportasi dan logistik. Untuk menyelesaikan
TSP, M. Dorigo dan L. Gambardella [4] berhasil menerapkan
ant colony system
dalam baik
symmetric
maupun
asymmetric
TSP. Berdasarkan penelitian tersebut,
ant colony system
memberikan hasil yang lebih baik dibanding
genetic algorithms
,
evolutionary programming
, dan
simulated annealing
.
Dalam
https://developers.google.com/maps/mobile-apps
[14],
dikemukakan
bahwa Google Maps, sebagai peta virtual yang dapat diakses secara
online
, merupakan satu-satunya
platform
peta yang menyediakan
native Software
Development Kit
(SDK) pada Android.
Berdasarkan pemaparan tersebut, maka terbuka peluang untuk merancang
dan membangun Android apps penentu rute terpendek pencarian rumah sakit
berbasis
ant colony
.
1.2 Rumusan Masalah
Berdasarkan latar belakang maka rumusan masalah dalam penelitian ini adalah
bagaimana cara merancang dan membangun
Android
apps
penentu rute terpendek
pencarian rumah sakit berbasis
ant colony
.
1.3 Batasan Masalah
Pada pembuatan aplikasi ini perlu didefinisikan batasan masalah mengenai sejauh
mana pembuatan Android
apps
ini akan dikerjakan. Beberapa batasan masalah
tersebut antara lain:
1. Android apps ini dibuat berbasis
mobile
, yang menggunakan sistem operasi
Android mulai dari versi 2.2 (“
Froyo
”) sampai versi 4.0 (“
Ice cream
”).
2. Android apps ini mensimulasikan rute terpendek pencarian rumah sakit dari
satu lokasi awal ke maksimum 100 lokasi tujuan dan kembali lagi ke tempat
awal.
4. Rumah sakit yang dicari merupakan rumah sakit yang terdekat dari lokasi
user
.
1.4 Tujuan Penelitian
Tujuan penelitian ini untuk menghasilkan Android
apps
rute pencarian rumah
sakit terdekat berbasis
ant colony
.
1.5 Manfaat Penelitian
Manfaat yang diharapkan dapat diperoleh dari pembuatan Android
apps
rute
pencarian rumah sakit terpendek berbasis
ant colony
adalah membantu masyarakat
dalam mencari rumah sakit terdekat berdasarkan lokasi pengguna untuk
menghemat jarak tempuh dan waktu dalam penentuan rute rumah sakit.
1.6 Metode Penelitian
Dalam membuat aplikasi Android pencarian rumah sakit terpendek berbasis
ant
colony
, digunakan metode studi literatur dan eksperimen. Langkah-langkah kerja
penelitian adalah:
1. Studi Literatur
Tahap awal dilakukan studi mengenai referensi-referensi yang berhubungan
dengan pembuatan peta secara
native
pada Android dan tentang
ant colony
.
Referensi-referensi tersebut dapat berupa buku, artikel, jurnal, dan lain-lain.
2. Analisis
Menganalisa penentuan jarak terdekat menggunakan algoritma Ant Colony
dengan membandingkan atau melihat aplikasi sejenis yang ada pada
GoogleMaps.
Perancangan aplikasi ini meliputi pembuatan
flowchart
dan perancangan
tampilan.
4. Implementasi
Aplikasi ini akan diimplementasikan pada ponsel berbasis Android.
5. Pengujian
Android
apps
pencarian rumah sakit terpendek berbasis
ant colony
yang telah
dibuat akan diuji coba. Hal ini bertujuan untuk mencari kesalahan yang masih
ada pada aplikasi tersebut dan memperbaiki aplikasi tersebut.
6. Dokumentasi
Membuat dokumentasi dari aplikasi yang telah dibuat beserta hasil-hasil
pengujian aplikasi.
1.7 Sistematika Penulisan
Laporan ini tersusun menjadi beberapa bab, sesuai dengan fase pengembangan
yang dilakukan antara lain:
Bab I: Pendahuluan
Berisi tentang pendahuluan dari pembangunan aplikasi ini, meliputi latar belakang
masalah, rumusan masalah, batasan masalah, tujuan, dan manfaat penelitian.
Bab II: Tinjauan Pustaka
Berisi tentang landasan-landasan teori yang mendasari keseluruhan proses
pembangunan aplikasi ini. Bagian ini juga merupakan hasil dari fase studi
literature yang dilakukan penulis.
Bab III: Analisis dan Perancangan Sistem
Berisi tentang analisis dan perancangan dari aplikasi yang dihasilkan dari
penelitian ini.
Berisi tentang hasil implementasi dan evaluasi dari aplikasi yang sudah dibangun.
Bab V: Kesimpulan dan Saran
Berisi tentang kesimpulan yang bisa diambil dari keseluruhan kegiatan penelitian
BAB 2
LANDASAN TEORI
2.1 Teori Graf
Teori
graf merupakan pokok bahasan yang banyak penerapannya pada masa
kini [2]. Pemakaian teori graf telah banyak dirasakan dalam berbagai ilmu, antara lain:
optimisasi jaringan, ekonomi, psikologi, genetika, riset operasi (OR), dan lain-lain.
Makalah pertama tentang teori graf ditulis pada tahun 1736 oleh seorang
matematikawan Swiss yang bernama Leonard Euler. Ia menggunakan teori graf untuk
menyelesaikan masalah jembatan Königsberg [5] (sekarang, bernama Kaliningrad).
Berikut adalah ilustrasi masalah tersebut:
Gambar 2.1 Masalah Jembatan
Königsberg
Gambar 2.2 Representasi Graf dari Masalah Jembatan Königsberg
Jawaban pertanyaan Euler adalah tidak mungkin. Agar bisa melalui setiap
jembatan tepat sekali dan kembali lagi ke tempat semula maka jumlah jembatan yang
menghubungkan setiap daratan harus genap.
2.1.1 Definisi Graf
Graf merupakan struktur diskrit yang terdiri himpunan sejumlah berhingga
obyek yang disebut simpul (vertices, vertex) dan himpunan sisi (edges) yang
menghubungkan simpul-simpul tersebut [8]. Graf digunakan untuk merepresentasikan
objek-objek diskrit dan hubungan antara objek-objek tersebut. Notasi sebuah graf
adalah G = (V, E), dimana:
•
V merupakan himpunan tak kosong dari simpul-simpul (vertices), misalkan V = {
v1 , v2 , ... , vn }
•
E merupakan himpunan sisi – sisi (edges) yang menghubungkan sepasang simpul,
misalkan E = {e1 , e2 , ... , en }
Contoh:
Gambar 2.3 Graf dari Masalah Jembatan Königsberg
2.1.2 Macam – macam Graf
Macam – macam graf menurut arah dan bobotnya, graf dibagi menjadi empat
bagian [8], yaitu:
1)
Graf berarah dan berbobot: setiap edge mempunyai arah (yang ditunjukkan
dengan anak panah) dan bobot. Gambar 2.4 adalah contoh graf berarah dan
berbobot yang terdiri dari tujuh vertek yaitu vertek A, B, C, D, E, F, G. Vertek A
mempunyai dua edge yang masing – masing menuju ke vertek B dan vertek C,
vertek B mempunyai tiga edge yang masing – masing menuju ke vertek C, vertek
D dan vertek E. Bobot antara vertek A dan vertek B pun telah di ketahui.
Gambar 2.4 Graf Berarah dan Berbobot
Graf terdiri dari tujuh vertek yaitu
vertek A, B, C, D, E, F, G. Vertek A
mempunyai dua edge yang masing – masing berhubungan dengan vertek B dan
vertek C, tetapi dari masing – masing edge tersebut tidak mempunyai arah. Edge
yang menghubungkan
vertek A dan vertek B mempunyai bobot yang telah
diketahui begitu pula dengan edge – edge yang lain.
Gambar 2.5 Graf Tidak Berarah dan Berbobot
3)
Graf berarah dan tidak berbobot: setiap edge mempunyai arah tetapi tidak
mempunyai bobot. Gambar 2.6 adalah contoh graf berarah dan tidak berbobot.
Gambar 2.6 Graf Berarah dan Tidak Berbobot
Gambar 2.7 Graf Tidak Berarah dan Tidak Berbobot
2.1.3 Matriks Ketetanggaan (adjacency matrix) dan Matriks Bersisian (incidency
matrix) dari Suatu Graf
•
Matriks bertetanggaan
Dua buah simpul dikatakan bertetangga jika kedua simpul tersebut terhubung
langsung oleh suatu sisi [8]. Matriks ketetanggaan untuk graf sederhana merupakan
matriks busur sangkar yang unsur-unsurnya hanya terdiri dari dua bilangan yaitu 0
(nol) dan 1 (satu). Baris dan kolom pada matriks ini, masing-masing merupakan
representasi dari setiap simpul pada graf tersebut. Misalkan
�
��merupakan unsur pada
matriks tersebut, maka:
a)
Jika
�
��= 1 maka hal ini berarti simpul i dan simpul j bertetangga.
b)
Jika
�
��= 0 maka hal ini berarti simpul i dan simpul j tidak bertetangga.
Contoh:
Perhatikan graf sederhana berikut ini:
Gambar 2.8 Graf Sederhana
Tabel 2.1 Matriks Ketetanggaan dari Graf Sederhana
P
Q
R
S
A
0
1
0
1
B
1
0
1
1
C
0
1
0
1
D
1
1
1
0
Terlihat bahwa matriks tersebut simetris dan setiap unsur diagonalnya adalah nol
(0). Matriks ketetanggaan untuk graf tak sederhana merupakan matriks bujur sangkar
yang unsur-unsurnya hanya terdiri dari bilangan 0 (nol), 1 (satu) dan 2 (dua). Baris dan
kolom pada matriks ini, masing-masing merupakan representasi dari setiap simpul
pada graf tersebut. Misalkan
�
��merupakan unsur pada matriks tersebut, maka:
a)
Jika
�
��= n maka hal ini berarti simpul i dan simpul j bertetangga oleh n buah sisi.
b)
Jika
�
��= 0 maka hal ini berarti simpul i dan simpul j tidak bertetangga.
Contoh:
Perhatikan graf dari masalah jembatan Königsberg:
Gambar 2.9 Graf dari Masalah Jembatan Königsberg
Matriks ketetanggaan dari graf tersebut adalah sebagai berikut:
Tabel 2.2 Matriks ketetanggaan Graf dari Masalah Jembatan Königsberg
P
Q
R
S
A
0
2
2
1
B
2
0
1
1
C
2
1
0
1
•
Matriks Bersisian
Sementara itu, suatu sisi e dikatakan bersisian dengan simpul v1 dan simpul v2 jika e
menghubungkan kedua simpul tersebut, dengan kata lain e = (v1, v2) [8]. Seperti
halnya matriks ketetanggaan, unsur-unsur matriks bersisian pun hanya terdiri dari dua
bilangan yaitu 0 (nol) dan 1 (satu), tapi tidak harus bujur sangkar. Hal ini disebabkan,
baris dan kolom pada matriks bersisian, masing-masing merepresentasikan simpul dan
sisi pada graf yang dimaksud. Misalkan
�
��merupakan unsur pada matriks tersebut,
maka:
a)
Jika
�
��= 1 maka hal ini berarti simpul ke-i dan sisi ke-j adalah bersisian.
b)
Jika
�
��= 0 maka hal ini berarti simpul ke-i dan sisi ke-j tidak bersisian.
Contoh:
Perhatikan graf berikut ini:
Gambar 2.10 Graf dari Masalah Jembatan Königsberg
Bentuk matriks bersisian dari graf tersebut adalah:
Tabel 2.3 Matriks Bersisian Graf dari Masalah Jembatan Königsberg
��
��
��
��
��
��
��
A
1
1
1
1
0
1
0
B
0
0
1
1
1
0
0
C
1
1
0
0
0
0
1
2.1.4 Lintasan dan Sirkuit Euler serta Lintasan dan Sirkuit Hamilton
•
Lintasan dan Sirkuit Euler
Lintasan Euler dalam suatu graf merupakan lintasan yang melalui masing-masing sisi
di dalam graf tersebut tepat satu kali [8]. Jika lintasan tersebut kembali kesimpul awal
sehingga membentuk lintasan tertutup (sirkuit) maka lintasan ini dinamakan sirkuit
Euler. Dengan demikian, sirkuit Euler merupakan sirkuit yang melewati
masing-masing sisi tepat satu kali. Graf yang memuat sirkuit Euler dinamakan
graf
Euler
(Eulerian graph), sedangkan graf yang memuat lintasan Euler dinamakan
graf semi
Euler (semi-Eulerian graph).
Contoh:
Perhatikan graf berikut ini:
Gambar 2.11 Graf Euler
Graf G1 merupakan graf Euler karena memiliki lintasan yang membentuk
lintasan tertutup (sirkuit), yaitu: pr – rt – ts – sq – qt – tp. Sementara itu,
Gambar 2.12 Graf Semi Euler
•
Lintasan dan Sirkuit Hamilton
Lintasan
Hamilton suatu
graf merupakan lintasan yang melalui setiap simpul dalam
graf tersebut tepat satu kali [8]. Jika lintasan tersebut kembali kesimpul awal, sehingga
membentuk lintasan tertutup (sirkuit) maka lintasan ini dinamakan sirkuit Hamilton.
Dengan demikian, sirkuit Hamilton merupakan sirkuit yang melewati
masing-masing sisi tepat satu kali. Graf yang memuat sirkuit Hamilton dinamakan
graf
Hamilton (Hamiltonian
graph), sedangkan graf yang memuat lintasan Hamilton
dinamakan graf semi Hamilton (semi- Hamiltonian graph).
Contoh:
Perhatikan tiga graf di bawah ini:
Gambar 2.13 graf
Graf G1 merupakan graf semi Hamilton, lintasan hamiltonya adalah:
s – r – p – q – r.
Sedangkan graf G2 merupakan graf Hamilton, sirkuit hamiltonya adalah:
t – p – r – q – p – s – q – t .
Sementara itu pada graf G3 tidak terdapat lintasan maupun sirkuit Hamilton.
2.2 Optimasi
Optimasi merupakan masalah yang berhubungan dengan keputusan yang
terbaik, maksimum, minimum dan memberikan cara penentuan solusi yang
memuaskan [7].
2.2.2 Permasalahan Optimasi
Permasalahan yang berkaitan dengan optimisasi sangat kompleks dalam kehidupan
sehari-hari. Nilai optimal yang didapat dalam optimisasi dapat berupa besaran
panjang, waktu, jarak, dan lain-lain. Berikut ini adalah termasuk beberapa persoalan
optimisasi [7]:
•
Menentukan lintasan terpendek dari suatu tempat ke tempat yang lain.
•
Menentukan jumlah pekerja seminimal mungkin untuk melakukan suatu proses
produksi agar pengeluaran biaya pekerja dapat diminimalkan dan hasil produksi
tetap maksimal.
•
Mengatur rute kendaraan umum agar semua lokasi dapat dijangkau.
•
Mengatur routing jaringan kabel telepon agar biaya pemasangan kabel tidak
terlalu besar dan penggunaannya tidak boros.
2.3 Travelling Salesman Problem
Travelling Salesman Problem merupakan permasalahan pencarian jalur
terdekat dari satu titik ke satu titik itu lagi [3]. Penyelesaian persoalan ini melibatkan
banyak lintasan dengan jarak yang berbeda. Solusi merupakan salah satu dari sekian
banyak alternatif jalur yang diambil. Pencarian jalur terdekat (TSP) dapat
diaplikasikan dalam banyak hal, karena itu sampai saat ini penyelesaian yang paling
baik masih terus dicari. Berbagai metode sudah ada dan dapat digunakan untuk
menyelesaikan persoalan ini. Metode-metode tersebut bervariasi kompleksitas
algoritmanya.
Ant Colony diadopsi dari perilaku koloni semut yang dikenal sebagai sistem
semut [4]. Secara alamiah
Ant Colony mampu menentukan rute terpendek dalam
perjalanan dari sarang ke tempat-tempat sumber makanan. Koloni semut dapat
menemukan rute terpendek antara sarang dan sumber makanan berdasarkan jejak kaki
pada lintasan yang dilalui. Semakin banyak semut yang melalui lintasan maka akan
semakin jelas jejak kakinya. Hal ini akan menyebabkan lintasan yang dilalui semut
dalam jumlah sedikit, semakin lama akan semakin berkurang kepadatan semut yang
melewatinya, atau bahkan akan tidak dilewati sama sekali, dan sebaliknya, lintasan
yang dilalui semut dalam jumlah banyak, semakin lama akan semakin bertambah
kepadatan semut yang melewatinya, atau bahkan semua semut akan melalui lintasan
tersebut.
[image:32.595.182.475.474.711.2]Mengingat prinsip algoritma yang didasarkan pada perilaku koloni semut
dalam menemukan jarak perjalanan paling pendek tersebut, Ant Colony sangat tepat
digunakan untuk diterapkan dalam penyelesaian masalah optimasi, salah satunya
adalah untuk menentukan jalur terpendek. Secara alamiah koloni semut mampu
menemukan rute terpendek dalam perjalanan dari sarang ke tempat-tempat sumber
makanan. Sebagai ilustrasi koloni semut dalam pencarian rute terpendek dapat dilihat
pada Gambar 2.14.
Gambar 2.14 Koloni semut.
Tabel 2.4 Tabel representasi koloni semut
No
Kenyataan
ACO
1
Habitat alamai
Graf
2
Sarang dan makanan
Node pada graf; asal dan
tujuan
3
Koloni semut
Agents
4
Visibilitas
1/jarak(n)
5
Feromon
Feromon
buatan;(г)
6
Perilaku mencari
makanan
Perjalanan secara acak melalui
graf
2.4.1 Skema Algoritma Ant Colony
Secara logika dan matematik semut-semut dari titik asal yang sama, misalnya sarang,
bergerak sendiri-sendiri melewati jalur masing-masing menuju makanan sebagai titik
tujuannya. Setelah mereka sampai pada titik tujuan, semut-semut ini di data satu per
satu untuk mengetahui jalur yang dilalui beserta jaraknya. Semut yang menempuh
jarak terpendek adalah pemenangnya dan jalur yang dilaluinya ditetapkan sebagai jalur
terpendek.
[image:33.595.154.478.113.318.2]Berikut adalah tahapan-tahapan algoritma semut dalam graf:
a)
Pada gambar 2.15.a menunjukkan semut yang akan melakukan perjalanan
mencari tempat dimana ada makanan, dari X menuju Y.
b)
Semut akan melakukan gerakan secara acak menuju tempat makanan dengan jalur
masing-masing. Seperti pada gambar 2.15.b semut berjalan dengan jalurnya
masing-masing.
c)
Setelah berjalan secara acak berdasarkan jalurnya masing-masing kemudian
semut-semut tersebut akan bertemu lagi dimana tempat makanan berada seperti
pada gambar 2.15.c
d)
Pada saat melakukan perjalanan melalui jalurnya masing-masing, semut
meninggalkan
feromon sebagai jejak yang akan diikuti oleh semut yang lainnya.
Semakin banyak semut dan semakin dekat jarak yang ditempuh maka feromon
juga semakin kuat sehingga semut yang lainnya akan mengikuti jalur tersebut.
e)
Pada optimisasi algoritma Ant Colony, proses tadi akan dilakukan secara berulang
sesuai dengan siklus maksimum yang telah ditentukan.
Pencarian solusi masalah rute terpendek dengan menggunakan algoritma Ant
Colony dimulai dengan meletakkan seekor semut pada sembarang vertex
awal.
Selanjutnya semut tersebut akan memilih vertex
berikutnya berdasarkan pengaruh
jumlah
pheromone
yang terakumulasi pada setiap edge yang berpangkal pada vertex
tersebut. Semut kemudian seolah-olah melalui edge
tersebut untuk menuju vertex
berikutnya, dengan meletakkan sejumlah pheromone (local updating) berdasarkan
formula [7]:
τ
rs←
�
1-
ε
�
.
τ
rs+
ε
.
τ
0……...……….. (2.1)
dengan
τ
0=
1nCnn
dimana:
τ
rs= intensitas jejak semut (pheromone) antara titik r dan titik s
ε
= parameter penguapan (evaporasi) pheromone lokal
τ
0= intensitas jejak semut (pheromone) awal
n
= jumlah titik
Langkah-langkah dalam menjalankan algoritma Ant Colony:
1.
Set jumlah semut, pheromone awal pada setiap edge, jumlah iterasi
2.
Lakukan sebanyak jumlah iterasi yang diinginkan
3.
Lakukan untuk setiap semut letakkan setiap semut pada setiap node awal.
4.
Lakukan pencarian rumah sakit berikutnya, lakukan local updating sampai semua
semut mengunjungi semua node.
5.
Catat rute terpendek yang didapat lakukan global updating sampai batas iterasi.
Selanjutnya pada setiap akhir iterasi akan dilakukan evaluasi untuk menentukan
lintasan yang terbaik dan untuk membuat lintasan tersebut menjadi sedikit kurang
disenangi pada iterasi berikutnya, maka dilakukan global updating yang diaplikasikan
hanya kepada lintasan yang terbaik sampai dengan iterasi tersebut dengan
mengunakan formula [7]:
τ
rs←
�
1-
ρ
�
.
τ
rs+
ρ
.
∆τ
rsbest……...……….. (2.2)
dengan
∆τ
rsbest=
�
1 Cbest
0
dimana:
τ
rs= intensitas jejak semut (pheromone) antara titik r dan titik s
ρ
= parameter penguapan (evaporasi) pheromone global
C
best= panjang lintasan terbaik keseluruhan
2.5 Android
Android adalah sistem operasi Mobile Phone berbasiskan Linux [12]. Android bersifat
open source yang source codenya diberikan secara gratis bagi para pengembang untuk
menciptakan aplikasi mereka agar dapat berjalan di Android.
jika (r,s)
∈
lintasan terbaik
2.5.1 Features
Features yang terdapat pada android itu sendiri adalah: Framework Aplikasi, Mesin
Virtual Dalvik,
Integrated browser, Grafis, SQLite,
Media support,
GSM Telephony,
Bluetooth, EDGE, 3G dan WiFi, Multi-touch, serta Lingkungan Development Market.
Android bukan sekedar hanya untuk perangkat mobile saja. Android merupakan
sebuah sistem operasi yang dikemas sedemikian rupa sehingga dapat digunakan untuk
berbagai perangkat yang menggunakan layar mobile. Berikut penjelasan mengenai
layer arsitektur android:
a. Applications
Android akan menggabungkan dengan serangkaian aplikasi inti termasuk klien
email, program SMS, kalender, peta, browser, kontak, dan lain-lain.
b. Application Framework:
Dengan menyediakan sebuah platform pengembangan yang terbuka, pengembang
Android menawarkan kemampuan untuk membangun aplikasi yang sangat kaya
dan inovatif.
c. Libraries
Android termasuk satu set pustaka C/C++ yang digunakan oleh berbagai komponen
sistem Android.
d. Android Runtime
Android termasuk satu set perpustakaan inti yang menyediakan sebagian besar
fungsi yang tersedia di perpustakaan inti dari bahasa pemrograman Java.
e. Linux Kernel
Android bergantung pada Linux versi 2.6 untuk layanan sistem inti seperti
keamanan, manajemen memori, manajemen proses, network stack, dan model
pengemudi.
Kernel juga bertindak sebagai lapisan abstraksi antara hardware dan
seluruh software stack.
Google mengibaratkan Android sebagai sebuah tumpukan software. Setiap lapisan dari
tumpukan ini menghimpun beberapa program yang mendukung fungsi-fungsi spesifik
dari sistem operasi. Berikut ini susunan dari lapisan – lapisan tersebut jika di lihat dari
lapisan dasar hingga lapisan teratas:
a. Linux Kernel
b. Android Runtime
c. Libraries
[image:37.595.139.494.294.529.2]d. Application Framework
e. Application
Gambar 2.16 Arsitektur Android [6]
1.
Linux Kernel
Android menggunakan Kernel Linux versi 2.6 sebagai sistem utama. Fungsi kernel
yang digunakan antara lain untuk keamanan, manajemen memori, manajemen proses,
manajemen jaringan dan driver
model.
Kernel juga berfungsi sebagai layer abstrak
antara hardware dan lapisan lainnya pada software stack.
2.
Android Runtime
agar suatu device dapat menjalankan beberapa VM secara efisien. Dalvik
VM
mengeksekusi file dengan format Dalvik
Executable
format (.dex) yang dirancang
untuk meminimalkan memory
footprint.
Dalvik
VM berbasis
register, dan dapat
menjalankan kelas-kelas yang dikompilasi dengan bahasa pemrograman java dan
ditransformasikan menjadi format .dex.
Dalvik
VM sendiri bergantung pada Kernel
Linux untuk fungsi dasarnya, seperti threading dan manajemen memori secara
low-level.
3.
Libraries
Android mendukung beberapa library C/C++ yang digunakan pada berbagai
komponen Android. Kemampuan ini dapat diakses oleh developer melalui Android
application framework. Beberapa library diantaranya adalah :
-
System C library. Implementasi library C standar (libc).
-
Media
Libraries. Mendukung berbagai format multimedia (termasuk MPEG4,
H.264, MP3, AAC, AMR, JPG, PNG).
-
Surface Manager. Mengatur akses ke subsistem display.
-
LibWebCore. Engine web browser modern.
-
SGL. Engine grafis 2D.
-
3D Library. Implementasi OpenGL ES 1.0 yang mendukung akselerasi
hardware.
-
FreeType. Rendering untuk bitmap dan vector font.
-
SQLite. Basis data relasional yang kecil namun sangat ampuh.
4.
Application Framework
Lapisan ini berisi sekumpulan API yang dapat digunakan oleh programmer maupun
core application dari Android. Lapisan ini dirancang untuk memudahkan penggunaan
komponen dari Android sendiri. Aplikasi manapun dalam Android dapat berbagi
fungsi sehingga aplikasi lain dapat memanfaatkannya.
Aplikasi pada Android disusun atas beberapa komponen:
a)
Sekumpulan Views.
Digunakan untuk mengatur tampilan pada aplikasi. Contohnya adalah lists,
grids,
text box, button, bahkan embeddable web browser.
Komponen yang mengatur agar aplikasi dapat mengakses resources dari aplikasi
lain (seperti Contacts), atau berbagi data dengan aplikasi lain.
c)
Resource Manager.
Menyediakan akses ke pada resource non-code seperti localized string,
grafik dan
file layout.
d) Notification Manager.
Memungkinkan agar suatu aplikasi dapat menampilkan peringatan yang dapat
dikostumasi pada status bar.
e)
Activity Manager.
Mengatur siklus aplikasi dan navigasi antar aplikasi yang sedang berjalan.
5.
Application
Application merupakan program yang langsung berhubungan dengan user. Baik
program yang merupakan bawaan dari Android sendiri maupun program yang dibuat
oleh developer menggunakan bahasa pemrograman java. Contoh program bawaan dari
platform Android sendiri adalah email
client, program SMS,
calendar,
maps,
web
browser, contact dan sebagainya.
2.5.3 The Dalvik Virtual Machine (DVM)
Android berjalan di dalam DVM bukan pada Java Virtual Machine (JVM) yang dikira
selama ini [13]. Banyak kesamaan antara DVM dan
JVM, namun DVM memiliki
feature yang lebih baik dibandingkan dengan JVM untuk perangkat mobile.
DVM
adalah
register
bases sementara
JVM adalah
stack
based,
DVM didesain dan ditulis
oleh Dan Bornsten dan beberapa engineers
Google lainnya. Dalam mengatasi
fungsionalitas tingkat rendah, DVM menggunakan
kernel
Linux untuk keamanan,
threading, proses dan manajemen memori. Itu memungkinan kita menggunakan
bahasa C/C++ dalam membuat aplikasi sama halnya dengan OS
Linux kebanyakan.
Oleh karena itu kita harus kita harus memahami arsitektur dan proses dari kernel Linux
yang digunakan dalam Android tersebut.
executeable file, artinya sebuah format yang dioptimalkan untuk memastikan memori
yang digunakan sangatlah kecil. Mengapa bisa seperti itu? Karena executeable
file
mengubah kelas bahasa Java dan dikompilasi dengan menggunakan tools yang sudah
ada.
2.5.4 Android SDK (Software Development Kit)
Android
SDK merupakan sebuah tools yang diperlukan untuk mengembangkan
aplikasi berbasis Android menggunakan bahasa pemrograman Java [13]. Pada saat ini
Android SDK telah menjadi alat bantu dan API (Application Programming Interface)
untuk mengembangkan aplikasi bebasis Android.
Android SDK dapat Anda lihat dan
unduh pada situs resminya, yaitu http://www.developer.android.com/.
Android
SDK bersifat gratis dan bebas Anda distribusikan karena Android
bersifat open source.
2.5.5 Versi Android
2.5.5.1 Android versi awal (2007 – 2008)
Pada September 2007, Google mengajukan hak paten aplikasi telepon seluler. Google
mengenalkan
Nexus One, salah satu jenis telepon pintar GSM
yang menggunakan
Android pada sistem operasinya. Telepon seluler ini diproduksi oleh HTC Corporation
dan tersedia di pasaran pada 5 Januari 2010. Pada 9 Desember 2008, diumumkan
anggota baru yang bergabung dalam program kerja Android
ARM Holdings,
Atheros
Communications, diproduksi oleh Asustek Computer Inc, Garmin Ltd, Softbank, Sony
pada 22 Oktober 2008. Pada penghujung tahun 2009 diperkirakan di dunia ini paling
sedikit terdapat 18 jenis telepon seluler yang menggunakan Android.
2.5.5.2
Android versi 1.1
Pada 9 Maret 2009, Google merilis Android versi 1.1. Android versi ini dilengkapi
dengan pembaruan estetis pada aplikasi, jam alarm, voice
search (pencarian suara),
pengiriman pesan dengan Gmail, dan pemberitahuan email.
2.5.5.3
Android versi 1.5 ( Cupcake )
Pada pertengahan Mei 2009, Google kembali merilis telepon seluler dengan
menggunakan
Android dan
SDK (Software
Development
Kit) dengan versi 1.5
(Cupcake). Terdapat beberapa pembaruan termasuk juga penambahan beberapa fitur
dalam seluler versi ini yakni kemampuan merekam dan menonton video dengan
modus kamera, mengunggah video ke
Youtube dan gambar ke Picasa langsung dari
telepon, dukungan Bluetooth
A2DP, kemampuan terhubung secara otomatis ke
headset
Bluetooth, animasi layar, dan keyboard pada layar yang dapat disesuaikan
dengan sistem.
2.5.5.4
Android versi 1.6 ( Donut )
Donut (versi 1.6) dirilis pada September 2009 dengan menampilkan proses pencarian
yang lebih baik dibanding sebelumnya, penggunaan baterai indikator dan kontrol
applet VPN. Fitur lainnya adalah galeri yang memungkinkan pengguna untuk memilih
foto yang akan dihapus; kamera, camcorder dan galeri yang dintegrasikan;
CDMA/EVDO,
802.1x,
VPN,
Gestures, dan Text-to-speech
engine; kemampuan dial
2.5.5.5
Android versi 2.0 / 2.1 ( Éclair )
Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi 2.0/2.1
(Eclair). Perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan
Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar
kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth
2.1. Untuk bergerak cepat dalam persaingan perangkat generasi berikut, Google
melakukan investasi dengan mengadakan kompetisi aplikasi mobile terbaik (killer
apps - aplikasi unggulan).
Kompetisi ini berhadiah $25,000 bagi setiap pengembang aplikasi terpilih.
Kompetisi diadakan selama dua tahap yang tiap tahapnya dipilih 50 aplikasi terbaik.
Dengan semakin berkembangnya dan semakin bertambahnya jumlah handset Android,
semakin banyak pihak ketiga yang berminat untuk menyalurkan aplikasi mereka
kepada sistem operasi Android. Aplikasi terkenal yang diubah ke dalam sistem operasi
Android adalah Shazam,
Backgrounds, dan WeatherBug. Sistem operasi Android
dalam situs Internet juga dianggap penting untuk menciptakan aplikasi Android asli,
contohnya oleh MySpace dan Facebook.
2.5.5.6
Android versi 2.2 (Froyo : Frozen Yoghurt)
Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan. Perubahan-perubahan
umumnya terhadap versi-versi sebelumnya antara lain dukungan Adobe
Flash 10.1,
kecepatan kinerja dan aplikasi 2 sampai 5 kali lebih cepat, intergrasi V8 JavaScript
engine yang dipakai Google Chrome yang mempercepat kemampuan rendering pada
browser, pemasangan aplikasi dalam SD
Card, kemampuan WiFi
Hotspot portabel,
dan kemampuan auto update dalam aplikasi Android Market.
2.5.5.7
Android versi 2.3 ( Gingerbread )
kemampuan permainan (gaming), peningkatan fungsi copy
paste, layar antar muka
(User Interface) didesain ulang, dukungan format video
VP8 dan
WebM, efek audio
baru (reverb,
equalization,headphone
virtualization, dan bass
boost), dukungan
kemampuan
Near
Field
Communication (NFC), dan dukungan jumlah kamera yang
lebih dari satu.
2.5.5.8
Android versi 3.0/3.1 ( Honeycomb )
Android
Honeycomb dirancang khusus untuk tablet. Android versi ini mendukung
ukuran layar yang lebih besar. User Interface pada
Honeycomb juga berbeda karena
sudah didesain untuk tablet. Honeycomb juga mendukung multi prosesor dan juga
akselerasi perangkat keras (hardware) untuk grafis. Tablet pertama yang dibuat
dengan menjalankan Honeycomb adalah Motorola Xoom.
2.5.5.9
Android versi 4.0 (Ice Cream Sandwich)
Android versi 4.0 akan dirilis akhir tahun 2011. Setelah kita ketahui versi Android ini
perlu diketahui bahwa nama lain dari versi-versi tersebut diambil oleh Google dari
nama makanan penutup.
2.5.6 Komponen Aplikasi Android
Ada 4 macam komponen aplikasi yang merupakan titik masuk di mana aplikasi
Android bisa berjalan. Keempat komponen tersebut memiliki fungsi dan daur hidup
yang berbeda yang menentukan bagaimana masing-masing komponen dibuat dan
dihancurkan. Keempat tipe komponen aplikasi tersebut adalah:
1. Activities
2. Services
2.6 Eclipse
Dalam pengembangan aplikasi Android biasanya para pengembang (developer
Android) menggunakan Eclipse sebagai
Integrated
Development
Environment (IDE)
[12].
IDE merupakan program komputer yang memiliki beberapa fasilitas yang
diperlukan dalam pembangunan perangkat lunak. Eclipse tersedia secara bebas untuk
merancang dan mengembangkan aplikasi Android. Eclipse merupakan IDE terpopuler
di kalangan developer
Android, karena Eclipse memiliki
Android
plug-in lengkap
yang tersedia untuk mengembangkan aplikasi Android. Selain itu, Eclipse juga
mendapat dukungan langsung dari Google untuk menjadi IDE pengembangan
Android, membuat project Android di mana source
software langsung dari situs
resminya
Google. Selain Eclipse,
dapat pula menggunakan IDE
Netbeans untuk
pengembangan aplikasi Android.
Sampai saat ini Eclipse memiliki 5 versi package, yaitu: Indigo Package, Helios
Package,
Galileo
Package,
Ganymade
Package dan
Europa
Package. Dari total
download pada situs resmi Eclipse yaitu http://www.eclipse.org/ sebanyak 988,945
pengunduh Eclipse Classic Indigo pertanggal 20 Agustus 2011.
Aplikasi Android dapat dikembangkan pada sistem operasi, diantaranya:
•
Windows XP, Vista dan 7
•
Mac OS X atau lebih baru
•
Linux
2.7 Waterfall Model
Waterfall Model adalah model yang muncul pertama kali yaitu sekitar tahun 1970
[10].
Waterfall Model merupakan model yang paling banyak digunakan dalam
pembuatan program. Model ini disebut waterfall karena tahap demi tahap yang dilalui
harus menunggu selesainya tahap sebelumnya dan berjalan berurutan.
Terdapat beberapa tahapan pada model Waterfall.
Berikut adalah penjelasan
dari tahap-tahap yang di lakukan di dalam model ini:
Pemodelan ini diawali dengan komunikasi dengan konsumen untuk mencari
kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk
software. Hal ini sangat penting, mengingat software harus dapat berinteraksi
dengan elemen-elemen yang lain seperti hardware, database, dsb.
b)
Planning
Setelah proses communication, kita menetapkan rencana untuk pengerjaan
software yang meliputi tugas-tugas teknis yang akan dilakukan, resiko yang
mungkin terjadi, sumber-sumber yang dibutuhkan, hasil yang akan dibuat, dan
jadwal pengerjaan.
c)
Modeling
Pada proses modeling ini akan menerjemahkan syarat kebutuhan ke sebuah
perancangan software yang dapat diperkirakan sebelum dibuat coding. Proses ini
berfokus pada rancangan struktur data, arsitektur software, representasi interface,
dan detail (algoritma) prosedural. Tahapan ini akan menghasilkan dokumen yang
disebut software requirement.
d)
Construction
Construction merupakan proses membuat kode. Coding atau pengkodean
merupakan penerjemahan desain dalam bahasa yang bisa dikenali oleh komputer.
Programmer akan menerjemahkan transaksi yang diminta oleh user. Tahapan
inilah yang merupakan tahapan secara nyata dalam mengerjakan suatu software,
artinya penggunaan komputer akan dimaksimalkan dalam tahapan ini. Setelah
pengkodean selesai maka akan dilakukan testing terhadap sistem yang telah
dibuat. Tujuan testing adalah menemukan kesalahan-kesalahan terhadap sistem
tersebut untuk kemudian bisa diperbaiki.
e)
Deployment
Sumber : Pressman, Roger S.[10]
Model ini menjadi terkenal karena pengaplikasian yang mudah, dan ketika
semua kebutuhan sistem dapat didefinisikan secara utuh, eksplisit, dan benar di awal
proyek, maka pembuatan program dapat berjalan dengan baik dan tanpa masalah.
Akan tetapi karena model ini melakukan pendekatan secara terurut maka ketika ada
suatu tahap yang terhambat maka tahap berikutnya akan ikut terhambat juga.
2.8 Penelitian Terdahulu
Penelitian terdahulu merupakan penelitian yang telah dilakukan oleh pengarang
sebelumnya sebagai sumber tinjauan pustaka guna menguatkan penulisan tinjauan
pustaka dari sumber yang terpercaya. Berikut ini adalah beberapa penelitian yang telah
dilakukan sebelumnya:
1.
Penelitian yang dilakukan oleh Agus Leksono dengan judul Algoritma Ant Colony
Optimization (ACO) Untuk Menyelesaikan
Travelling Salesman Problem (TSP).
Dalam penelitian ini, peneliti menjelaskan dan membandingkan 4 jenis Algoritma
Ant Colony Optimization (ACO) dalam menyelesaikan masalah Travelling
Salesman Problem (TSP). 4 jenis Algoritma Ant Colony Optimization (ACO) yang
dibandingkan adalah Algoritma Ant System, Elitist Ant System, Rank Based Ant
System,
Max-Min Ant System, dan Ant Colony System. Dari hasil perbandingan,
maka diketahui bahwa Ant Colony System memiliki hasil yang paling optimal [7].
2.
Penelitian yang dilakukan oleh Satria Prasamya dengan judul Penentuan Jalur
Android. Dalam penelitian ini, peneliti membangun sebuah aplikasi untuk
menentukan rute terpendek pada Platform Android dengan menggunakan Google
Maps dan Algoritma Ant Colony Optimization. Aplikasi ini mengharuskan user
untuk memasukkan lokasi user serta lokasi yang ingin dituju oleh user sendiri.
Aplikasi ini memiliki dua fitur, yaitu fitur one way trip dan fitur round trip. Fitur
one way trip akan mencari rute terpendek dimana lokasi yang pertama diinputkan
adalah lokasi awal dan lokasi terakhir menjadi lokasi tujuan sedangkan fitur round
trip akan mencari rute terpendek yang dapat ditempuh untuk kembali ke lokasi awal
[9].
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Analisa sistem merupakan kegiatan penguraian suatu sistem informasi yang utuh dan
nyata ke dalam bagian-bagian atau komponen-komponen komputer yang bertujuan
untuk mengidentifikasi serta mengevaluasi masalah-masalah yang muncul,
hambatan-hambatan yang mungkin terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga
dapat diusulkan perbaikan-perbaikannya. Tahapan yang dilakukan dalam analisis ini
yaitu:
3.1.1 Analisis Masalah
Rute terpendek dengan algoritma ant colony Pengguna Peta konvensional
Machine Metode ant colony Keterbatasan dalam
proses data Proses pencarian memakan waktu relatif lama
Pencarian rute terpendek Secara manual rentan terjadi
Kesalahan dan tidak efisien
Pencarian rute terpendek Secara manual
Gambar 3.1 Diagram Ishikawa untuk Analisis Permasalahan Sistem
3.1.2 Analisis Kebutuhan Sistem
3.1.2.1 Kebutuhan Fungsional Sistem
Kebutuhan fungsional yang harus dimiliki oleh sistem pencarian rute terpendek
pencarian rumah sakit adalah:
1.
Sistem dapat membaca masukan berupa titik awal pencarian rute.
2.
Sistem dapat melakukan pencarian rute terpendek berdasarkan algoritma Ant
Colony System
3.
Sistem dapat menampilkan hasil pencarian rute terpendek pencarian rumah sakit.
3.1.2.2 Kebutuhan Non Fungsional Sistem
Untuk mendukung kinerja sistem, sistem sebaiknya dapat berfungsi sebagai berikut:
1.
Sistem dapat melakukan pencarian rute terpendek dengan kecepatan komputasi
yang tinggi.
3.1.3 Pemodelan
Pada penelitian ini digunakan UML sebagai bahasa pemodelan untuk mendesain dan
merancang sistem pencarian rute terpendek pencarian rumah sakit. Model UML yang
digunakan antara lain use case diagram, activity diagram, dan sequence diagram.
3.1.3.1
Use Case Diagram
Use case diagram akan menjelaskan apa saja fungsi-fungsi yang akan dikerjakan oleh
sistem. Hal ini dikarenakan use case diagram akan merepresentasikan bagaimana
interaksi antara aktor (user) dengan sistem. Untuk mengidentifikasikan apa saja aktor
dan use case yang terlibat pada sistem ini, kita perlu menjawab beberapa pertanyaan
berikut ini:
1.
Siapa yang menggunakan sistem?
Jawaban: Pengguna
2.
Siapa yang diperlukan untuk melaksanakan fungsi pada sistem?
Jawaban: Pengguna
3.
Apa saja yang dapat dilakukan pengguna pada sistem?
Gambar 3.2 Use Case Diagram Sistem Pencarian Rute Rumah Sakit Terpendek
Berikut adalah dokumentasi naratif dari Use Case Diagram.
1. Nama Use Case
: Tampil Peta
Aktor
: Pengguna
Tujuan
: Menampilkan Peta Kota Medan
Tabel 3.1 Dokumentasi Naratif Use Case Tampil Peta
Nama Use case
Tampil Peta
Aktor
Pengguna
Deskripsi
Proses ini menjelaskan proses menampilkan peta kota
Medan yang menjadi titik fokus pencarian rute rumah
sakit terpendek.
Prakondisi
Sudah masuk kedalam aplikasi
Bidang khas
Kegiatan pengguna
Respon sistem
Pencarian Rute Terpendek untuk Pencarian Rumah Sakit
dengan Algoritma Ant Colony
Tampil Peta
Pencarian Rute
Perhitungan Ant Colony
Peta Hasil Perhitungan Ant Colony
<<extend>>
<<extend>>
1.
Pilih Rute
2.
Menambah data
rumah sakit
1.
Menampilkan Peta Kota
Medan.
2.
Menampilkan lokasi
pengguna pada peta
3.
Menampilkan lokasi
rumah sakit pada peta
4.
Menyimpan data rumah
sakit ke database
Post-kondisi
Detail rumah sakit ditampilkan pada Window
2. Nama Use Case
: Pencarian Rute
Aktor
: Pengguna
[image:52.595.115.512.87.316.2]Tujuan
: Mencari rute terpendek menuju rumah sakit terdekat
Tabel 3.2 Dokumentasi Naratif Use Case Pencarian Rute
Nama Use case
Pencarian Rute
Aktor
Pengguna
Deskripsi
Proses ini menjelaskan proses pencarian rute rumah
sakit terpendek
Prakondisi
Sudah masuk dalam tampilan antarmuka sistem
Bidang khas
Kegiatan pengguna
Respon sistem
1.
Pilih proses pencarian
1.
Menampilkan peta kota
Medan
2. Mengecek Lokasi
pengguna berdasarkan
data lokasi dari GPS
3.
Menampilkan rute
rumah sakit beserta
nama jalan
5.
Menampilkan estimasi
waktu yang dibutuhkan
untuk menempuh
perjalanan pada
masing-masing jalan.
Bidang Alternatif
-
-
Post-kondisi
Sistem menampilkan rute terpendek pencarian rumah
sakit
3. Nama Use Case
: Perhitungan Ant Colony
Aktor
: Pengguna
[image:53.595.112.517.85.372.2]Tujuan
: Mendapatkan rute terpendek menuju rumah sakit terdekat
Tabel 3.3 Dokumentasi Naratif Use Case Perhitungan Ant Colony
Nama Use case
Perhitungan Ant Colony
Aktor
Pengguna
Deskripsi
Proses ini menjelaskan proses perhitungan jarak rute
terpendek ke rumah sakit terdekat dengan algoritma Ant
Colony
Prakondisi
Sudah masuk ke dalam aplikasi
Bidang khas
Kegiatan pengguna
Respon sistem
1.
Pilih Start Pencarian
1.
Mencari lokasi semua
rumah sakit yang ada di
database
2.
Menghitung jarak semua
rumah sakit ke pengguna
3.
Menentukan rumah sakit
yang terdekat
4.
Menentukan rute
sakit terdekat
Post-kondisi
Sistem mendapatkan rute terpendek untuk rumah sakit
terdekat
4. Nama Use Case
: Peta Hasil Perhitungan Ant Colony
Aktor
: Pengguna
Tujuan
: Menampilkan peta lengkap dengan polyline yang menandakan
rute terpendek menuju rumah sakit terdekat
Tabel 3.4 Dokumentasi Naratif Use Case Peta Hasil Perhitungan Ant Colony
Nama Use case
Peta Hasil Perhitungan Ant Colony
Aktor
Pengguna
Deskripsi
Proses ini menampilkan peta yang telah dilengkapi
dengan rute terpendek dan ditandai dengan polyline
menuju rumah sakit terdekat
Prakondisi
Sudah masuk ke dalam tampilan antarmuka sistem
Bidang khas
Kegiatan pengguna
Respon sistem
1.
Pilih Start Pencarian
1.
Memproses pencarian
rute terpendek ke rumah
sakit terdekat
2.
Memberikan polyline
pada rute terpilih
3.
Merequest perintah arah
rute terpendek ke rumah
sakit terdekat
Post-kondisi
Sistem menampilkan peta ber-polyline yang berupa rute
terpendek dari lokasi pengguna ke rumah sakit terdekat
3.1.3.2
Activity Diagram
3.1.3.2.1
Activity Diagram Tampil Peta
Activity Diagram untuk tampil peta kota Medan dapat kita lihat pada gambar 3.3.
Sistem Pengguna
Pilih rute Peta Medan ,lokasi rumah sakit,lokasi pengguna
Pilih tambah data rumah sakit Menyimpan data rumah sakit pada database
Gambar 3.3 Activity Diagram Tampil Peta
Pada tampilan tampil peta kota Medan, sistem akan menampilkan peta kota
Medan beserta lokasi rumah sakit dan lokasi pengguna pada peta. Pengguna bisa
melihat detail hasil proses pencarian rumah sakit.
3.1.3.2.2
Activity Diagram Pencarian Rute
Sistem Pengguna
Cek lokasi pengguna
Menampilkan lokasi pengguna pada peta
Pilih proses pencarian
Memproses pencarian rute terpendek
Menampilkan hasil rute rumah sakit terpendek
Mengulangi pencarian rute
Ya
Tidak
Pilih menu rute Menampilkan peta kota medan dan lokasi rumah sakit
Gambar 3.4 Activity Diagram Pencarian Rute
node-node lokasi yang harus dilalui, mendapatkan jarak tiap n