• Tidak ada hasil yang ditemukan

Implementasi Algoritma Ant Colony Dalam Pencarian Lokasi Rumah Sakit Berbasis Mobile Gis Pada Platform Android

N/A
N/A
Protected

Academic year: 2016

Membagikan "Implementasi Algoritma Ant Colony Dalam Pencarian Lokasi Rumah Sakit Berbasis Mobile Gis Pada Platform Android"

Copied!
149
0
0

Teks penuh

(1)

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

(2)

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

(3)

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,

(4)

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,

(5)

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.

(6)

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,

(7)

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.

(8)

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.

(9)

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

(10)

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

(11)

Daftar Pustaka

80

Lampiran A : Listing Program

A-1

(12)

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

(13)

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

(14)

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

(15)

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.

(16)

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.

(17)

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

(18)

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.

(19)

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.

(20)

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.

(21)

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

(22)

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

(23)

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:

(24)

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

(25)

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

(26)

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

(27)

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

(28)

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

(29)

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

(30)

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

(31)

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.

(32)

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.

(33)

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:

(34)

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

=

1

nCnn

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

(35)

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

(36)

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.

(37)

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

(38)

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.

(39)

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.

(40)

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

(41)

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

(42)

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 )

(43)

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

(44)

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:

(45)

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

(46)

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

(47)

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

(48)

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

(49)

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.

(50)

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?

(51)
[image:51.595.124.515.82.327.2]

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

(52)

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

(53)

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

(54)

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

(55)

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

(56)

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

(57)

node-node lokasi yang harus dilalui, mendapatkan jarak tiap n

Gambar

Gambar 2.14 Koloni semut.
Gambar 2.15 Perjalanan semut
Gambar 2.16 Arsitektur Android [6]
Gambar 3.2 Use Case Diagram Sistem Pencarian Rute Rumah Sakit Terpendek
+7

Referensi

Dokumen terkait

Hal ini dikarenakan sifat data industri mebel Jepara itu sendiri yang relatif sederhana, disamping sifat dari algoritma ant colony system itu sendiri yang lebih bersifat

Pada pengerjaan skripsi dengan judul Implementasi Dan Analisis Algoritma Kompresi Ternary Comma Code Dalam Kompresi File Text Pada Platform Android, penulis menyadari

Pada pengerjaan skripsi dengan judul Implementasi Algoritma Dijkstra dalam Penentuan Rute Terpendek Berbasis Mobile GIS (Studi Kasus : Universitas Sumatera Utara), penulis

Perangkat lunak pencarian rute terpendek pemetaan rumah sakit dengan perhitungan algoritma A* dan Shooting* berbasis android ini mempunyai halaman utama atau

Pada tahap pengujian menunjukkan bahwa simulasi pencarian jalur terpendek menggunakan algoritma semut (Ant Colony) ini secara fungsional bekerja dengan baik sesuai

Algoritma (ACO) ini merupakan algoritma yang sangat unik dibandingkan dengan Algoritma Pencarian rute terdekat lainnya, dikarenakan Algoritma ini diadopsi dari Koloni

Dalam proses penganalisaan sistem ini, maka peneliti menggunakan Algoritma Ant Colony untuk menentukan jalur terpendek ke penginapan yang ada di Kota Batam.. Algoritma Ant

Pada pengerjaan skripsi dengan judul Implementasi Algoritma Dijkstra dalam Penentuan Rute Terpendek Berbasis Mobile GIS (Studi Kasus : Universitas Sumatera Utara), penulis