Pencarian Jarak Terdekat Di Kota Tasikmalaya Menggunakan Algoritma Semut Pada Sistem Operasi Android

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

DANARDI NUGRAHA

10107282

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG


(2)

(3)

(4)

i ABSTRAK

PENCARIAN JARAK TERDEKAT DI KOTA TASIKMALAYA MENGGUNAKAN ALGORITMA SEMUT

PADA SISTEM OPERASI ANDROID Oleh:

Danardi Nugraha 10107282

Pencarian jarak terdekat merupakan suatu permasalahan yang sering timbul pada pengguna transportasi. Ini dikarenakan pengguna transportasi membutuhkan solusi rute yang paling minimum, sehingga efisiensi waktu dapat terpenuhi. Kota Tasikmalaya merupakan pusat pendidikan ketiga terbesar di Jawa Barat. Kota ini juga memiliki segudang potensi pariwisata diantaranya wisata alam, kerajinan, wisata belanja, wisata religi, seni, budaya dan lain-lain. Sehingga, menarik orang-orang untuk berkunjung ke kota Tasikmalaya.

Untuk mencari rute terpendek antar lokasi yang sering dikunjungi, maka digunakan suatu algoritma yaitu algoritma semut yang merupakan suatu teknik probabilistik untuk menyelesaikan masalah komputasi dengan menemukan jalur terbaik melalui grafik. Algoritma ini terinspirasi oleh perilaku semut dalam menemukan jalur dari koloninya menuju makanan. Teknologi yang diterapkan dalam perangkat lunak ini menggunakan sistem operasi android. Android merupakan sistem operasi untuk telepon seluler yang berbasis Linux. Dengan fitur-fitur yang dimilikinya membuat smartphone Android semakin populer. Perangkat lunak pencarian jaran terdekat ini juga memiliki web service sebagai mekanisme fungsi update.

Dengan menggunakan teknologi tersebut, maka perangkat lunak pencarian jarak terdekat dapat dipakai sesuai kebutuhan orang-orang. Pengguna dapat mencari jarak terdekat dan mengetahui deskripsi setiap lokasi yang berada di Kota Tasikmalaya.


(5)

ii

ABSTRACT

SEARCH FOR THE CLOSEST DISTANCE IN TASIKMALAYA CITY BY USING ANT ALGORITHM ON ANDROID OPERATING SYSTEM

By:

Danardi Nugraha 10107282

Search the closest distance is a problem that often arise in transportation users. This happens because transport users in need a solution for the minimum routes, so time efficiency can be met. Tasikmalaya City is the third largest educational center in West Java. The City also has a myriad of potential for tourism including eco-tourism, crafts, shopping center, religious tourism, art, culture and others. Thus, to attract people to visit Tasikmalaya City.

To find the shortest route between locations frequented algoritmanalgoritma then used an ant which is a probabilistic technique to solve computational problems with finding the best path through the graph. The algorithm is inspired by the behavior of ants in finding paths from the colony to food. The technology wich implemented in the software are using Android operating system. Android is an operating system for mobile phones based on Linux. With that have made Android smartphone being popular. This software also has a web service as a mechanism of update function.

By using the technology, this software can be used as people needed. Users can search for the closest distance and knowing descriptions of each location in Tasikmalaya City.


(6)

iii

Assalamualaikum Wr.Wb.

Alhamdulillah, puji syukur dipanjatkan kepada Allah SWT yang telah

memberikan taufik dan hidayah-Nya sehingga penulis dapat menyelesaikan

Laporan Tugas Akhir ini dengan judul “Pencarian Jarak Terdekat Di Kota Tasikmalaya Menggunakan Algoritma Semut Pada Sistem Operasi Android“.

Banyak sekali kesulitan dan hambatan yang dihadapi dalam penyusunan

Laporan Tugas Akhir ini, akan tetapi berkat bantuan, bimbingan dan dorongan

dari banyak pihak, akhirnya Laporan Tugas Akhir ini dapat diselesaikan. Untuk

itu penulis mengucapkan terima kasih dan penghargaan yang setinggi-tingginya

kepada banyak pihak yang telah memberikan bantuan baik pikiran maupun

tenaga, waktu, sehingga Laporan Tugas Akhir ini dapat diselesaikan. Dalam

kesempatan ini mengucapkan terima kasih banyak kepada:

1. Allah SWT yang telah memberikan anugerah kekuatan, keselamatan dan

kesehatan serta bimbingan-Nya sehingga dapat menyelesaikan Laporan Tugas

Akhir ini.

2. Ibu tercinta dan Bapak yang selalu memberikan semangat serta do’a yang tiada henti-hentinya, serta keluarga besar yang selalu membantu baik moril


(7)

iv

4. Ibu Nelly Indriani W., S.Si., M.T. sebagai dosen penguji 1 laporan tugas akhir

yang telah banyak memberikan masukan dan dengan sabar mengkoreksi

laporan tugas akhir skripsi penulis.

5. Ibu Sufa’atin, S.T. sebagai dosen penguji 3 laporan tugas akhir, dan Dosen yang paling murah senyum.

6. Seluruh Staff dan Dosen Teknik Informatika yang telah memberikan banyak

ilmu, arahan dan masukkan selama masa perkuliahan berlangsung.

7. Seluruh teman-teman IF-7 angkatan 2007 yang telah banyak memberikan

dukungan dan teman yang sangat mengerti.

8. Anak-anak kelompok bimbingan pak Adam yang selalu bersedia membantu

sesama.

9. Yang masih berada ditangan Tuhan, terimakasih dukungannya, perhatiannya

dan waktunya.

Akhir kata, penulis mohon maaf yang sebesar-besarnya atas keterbatasan

dan kekurangan ini. Namun demikian penulis tetap berharap semoga Laporan

Tugas Akhir ini dapat bermanfaat.

Wassalamualaikum Wr. Wb.

Bandung, Agustus 2012


(8)

v

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xii

DAFTAR SIMBOL ... xiv

DAFTAR LAMPIRAN ... xvii

BAB 1 PENDAHULUAN ... 1

1. 1 Latar Belakang Masalah ... 1

1. 2 Perumusan Masalah ... 3

1. 3 Maksud dan Tujuan ... 3

1. 4 Batasan Masalah ... 3

1. 5 Metodologi Penelitian ... 4

1. 5. 1 Metode Pengumpulan Data ... 5

1. 5. 2 Metode Pembuatan Perangkat Lunak ... 5

1. 6 Sistematika Pembuatan Skripsi ... 7

BAB 2 TINJAUAN PUSTAKA ... 9

2.1 Sejarah Dinas Perhubungan Provinsi Jawa Barat ... 9

2.1.1 Visi Perusahaan ... 10

2.1.2 Misi Perusahaan ... 10


(9)

vi

2.2.1 Perangkat Lunak ... 27

2.2.2 Macam-macam Perangkat Lunak ... 28

2.2.3 Android ... 30

2.2.4 Peta ... 31

2.2.5 Algoritma Semut ... 37

2.2.6 Tools Analisis ... 41

2.2.7 Tools Perangkat Lunak ... 43

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 51

3.1 Analisis Sistem ... 51

3.1.1 Analisis Masalah ... 51

3.1.2 Analisis Sistem Yang Sedang Berjalan ... 52

3.1.3 Analisis Algoritma Semut ... 54

3.1.4 Aturan Bisnis Lokasi/Titik ... 71

3.1.5 Analisis Kebutuhan Non Fungsional ... 72

3.1.5.1. Analisis Kebutuhan Perangkat Lunak ... 73

3.1.5.2. Analisis Kebutuhan Perangkat Keras ... 73

3.1.5.3. Analisis Kebutuhan Pengguna ... 74

3.1.5.4. Analisis Data ... 74

3.1.6 Analisis Kebutuhan Fungsional ... 76


(10)

vii

3.1.6.5. Use Case Diagram untuk Aplikasi Android ... 81

3.1.6.6. Skenario Use Case untuk Aplikasi Android ... 81

3.1.6.7. Activity Diagram untuk Aplikasi Android ... 86

3.1.6.8. Sequence Diagram untuk Aplikasi Android... 89

3.1.6.9. Class Diagram untuk Aplikasi Android ... 92

3.2 Perancangan Sistem ... 93

3.2.1 Perancangan Data ... 93

3.2.2 Perancangan Struktur Menu ... 94

3.2.3 Perancangan Antarmuka Perangkat Lunak ... 95

3.2.4 Perancangan Pesan... 98

3.2.5 Jaringan Semantik ... 101

3.2.6 Perancangan Prosedural ... 101

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 104

4.1 Implementasi Sistem ... 104

4.1.1 Implementasi Data ... 105

4.1.2 Implementasi Antarmuka... 105

4.2 Pengujian Sistem ... 112

4.2.1 Rencana Pengujian... 112

4.2.2 Pengujian White Box ... 112


(11)

viii

5.1 Kesimpulan ... 125

5.2 Saran ... 125


(12)

1 BAB 1 PENDAHULUAN

1.1 Latar Belakang Masalah

Dinas Perhubungan Provinsi Jawa Barat sebagai objek penelitian

merupakan sebuah Organisasi Pemerintah Daerah Provinsi Jawa Barat, termasuk

sebuah organisasi yang dinamis, karena keberadaannya merupakan hasil

perubahan dari 2 (dua) organisasi yang menangani masalah transportasi di Jawa

Barat, yaitu instansi vertikal yang bernama Kantor Wilayah X Departemen

Perhubungan Provinsi Jawa Barat dan instansi Daerah yang bernama Dinas Lalu

Lintas dan Angkutan Jalan (DLLAJ) Provinsi Daerah Tingkat I Jawa Barat.

Android adalah sebuah sistem operasi untuk telepon seluler yang berbasis

linux, sistem operasi Android banyak tertanam pada gadget smartphone. Dengan

fitur-fitur yang dimilikinya membuat smartphone Android semakin populer,

menurut data yang didapatkan dari tempointeraktif.com pada bulan maret 2010

pengguna Android hanya 40 ribu orang, dan pada maret 2011 jumlahnya

mencapai lebih dari 4 kali lipat yaitu 170 ribu orang yang menggunakan

Android[1].

Dengan banyaknya pengguna Android di Indonesia, maka perangkat lunak

yang akan dibangun dapat bermanfaat bagi orang-orang. Khususnya yang sering

melakukan perjalanan, terdapat berbagai pilihan jalan untuk mencapai suatu

tempat yang ingin dituju, misalnya ketika ingin mencari stasiun pengisian bahan


(13)

Kota Tasikmalaya merupakan pusat pendidikan ketiga terbesar di Jawa

Barat, serta memiliki segudang potensi pariwisata diantaranya wisata alam,

kerajinan, wisata belanja, wisata religi, seni, budaya dan lain-lain, sehingga

menarik orang-orang untuk berkunjung ke kota Tasikmalaya.

Hasil penentuan jarak terdekat akan menjadi pertimbangan dalam

pengambilan keputusan untuk menunjukkan jalur yang akan ditempuh. Perangkat

lunak pencarian jarak dibutuhkan ketika tidak ada orang untuk menanyakan jalan

ke tempat yang diinginkan di kota Tasikmalaya. Algoritma semut dipakai untuk

jarak terdekat menjadi solusi terbaik karena cakupan parameter algoritma ini

selalu menemukan solusi yang mendekati optimal untuk semua permasalahan

yang mempunyai jumlah titik sedikit. Dan juga algoritma ini dapat dengan cepat

menemukan lokasi yang bagus meskipun demikian tidak terus mencari

kemungkinan adanya pencarian baru yang lebih baik.

Algoritma semut merupakan suatu teknik probabilistik untuk

menyelesaikan masalah komputasi dengan menemukan jalur terbaik melalui

grafik. Algoritma ini terinspirasi oleh perilaku semut dalam menemukan jalur dari

koloninya menuju makanan. Algoritma ini dinilai cukup efektif dan hasil

perhitungannya cukup akurat untuk menentukan jarak terpendek. meski begitu

kelemahannya juga ada, yaitu makin banyak data yang akan diolah, maka tingkat

akurasinya pun akan semakin menurun[2].

Berdasarkan latar belakang masalah tersebut maka dapat diangkat topik


(14)

algoritma semut pada sistem operasi Android, agar dapat menghemat waktu dan

biaya orang-orang yang sedang berada di kota Tasikmalaya.

1.2 Perumusan Masalah

Berdasarkan latar belakang masalah, maka dirumuskan sebuah masalah

yaitu bagaimana membangun perangkat lunak untuk pencarian jarak terdekat di

kota Tasikmalaya menggunakan algoritma semut pada sistem operasi Android.

1.3 Maksud dan Tujuan

Maksud dari pembuatan skripsi ini adalah membangun perangkat lunak

untuk pencarian jarak terdekat di kota Tasikmalaya menggunakan algoritma

semut pada sistem operasi Android.

Sedangkan tujuan yang akan dicapai adalah sebagai berikut:

1 Untuk memberikan informasi tentang jarak terdekat antar lokasi yang sering

dikunjungi di kota Tasikmalaya.

2 Untuk menghemat waktu orang-orang yang sedang berada di kota

Tasikmalaya.

1.4 Batasan Masalah

Batasan masalah yang diterapkan pada pembuatan skripsi ini adalah:

1 Perangkat lunak ini dibuat dengan menggunakan bahasa pemrograman Java,

dengan menggunakan Android SDK (Software Development Kit) sebagai


(15)

2 Ada web service yang berfungsi sebagai mekanisme update perangkat lunak

yang dikelola oleh admin, dan dibuat dengan menggunakan bahasa

pemrograman php.

3 Perangkat lunak ini sementara hanya mencakup kota Tasikmalaya.

4 Jalan-jalan yang digunakan adalah jalan-jalan utama (jalan besar pada

umumnya) dan tidak termasuk gang atau lorong.

5 Objek yang digunakan untuk mencari jarak terdekat adalah objek-objek yang

ramai dikunjungi seperti sekolah, rumah sakit, bank dan lain sebagainya.

6 Dalam proses pencarian jarak terdekat ditentukan terlebih dahulu data asal dan

data tujuan.

7 Perangkat lunak ini tidak menghiraukan suatu kondisi seperti jalan yang

sedang rusak atau kepadatan lalu lintas sehingga semua jalur dianggap normal.

8 Perangkat lunak akan di-update jika terjadi perubahan atau penambahan titik.

1.5 Metodologi Penelitian

Pembuatan skripsi ini meliputi metode pengumpulan data dan metode


(16)

1. 5. 1 Metode Pengumpulan Data

Metode pengumpulan data yang digunakan adalah:

a Studi Literatur.

Metode yang dipakai untuk mengumpulkan data yang sifatnya teoritis

dengan membaca buku-buku atau literatur yang ada hubungannya dengan

pembuatan skripsi.

b Observasi

Mengumpulkan data dengan cara pengamatan secara langsung terhadap

semua kebutuhan yang diperlukan.

1. 5. 2 Metode Pembuatan Perangkat Lunak

Teknik analisis data dalam pembangunan perangkat lunak ini

menggunakan metode waterfall, yang meliputi beberapa proses diantaranya:

a Requirements Definitions

Pada tahap ini seluruh kebutuhan perangkat lunak harus sudah didapatkan,

termasuk didalamnya kegunaan perangkat lunak yang diharapkan pengguna dan

batasan perangkat lunak. Informasi ini biasanya dapat diperoleh melalui

wawancara, survey atau diskusi. Informasi tersebut dianalisis untuk mendapatkan

dokumentasi kebutuhan pengguna untuk digunakan pada tahap selanjutnya.

b System and Software Design

Pada tahap ini dilakukan sebelum melakukan coding, dengan bertujuan


(17)

tampilannya. Tahap ini membantu dalam menspesifikasi kebutuhan hardware dan

sistem serta mendefinisikan arsitektur sistem secara keseluruhan.

c Implementation and Unit Testing

Pada tahap ini dilakukan pemrograman. Pembuatan software dipecah

menjadi modul-modul kecil yang nantinya akan digabungkan dalam tahap

berikutnya. Selain itu dalam tahap ini juga dilakukan pemeriksaan terhadap modul

yang dibuat, apakah sudah memenuhi fungsi atau belum.

d Integration and System Testing

Pada tahap ini dilakukan penggabungan modul-modul yang sudah dapat

dan dilakukan pengujian. Ini dilakukan untuk mengetahui apakah perangkat lunak

yang dibuat telah sesuai dengan desainnya dan masih terdapat kesalahan atau

tidak.

e Operation and Maintenance

Ini merupakan tahap terakhir dalam model waterfall. Perangkat lunak yang

sudah jadi dijalankan serta dilakukan pemeliharaan. Pemeliharaan termasuk dalam

memperbaiki kesalahan yang tidak ditemukan pada langkah sebelumnya.

Perbaikan implementasi unit sistem dan peningkatan jasa sistem sebagai


(18)

Untuk lebih jelasnya dapat dilihat pada gambar I.1.

Requirements definitions

System and Software Design

Implementation and Unit Testing

Integration and System Testing

Operation and Maintenance

Gambar 1.1 Metode Waterfall

1.6 Sistematika Pembuatan Skripsi

Sistematika pembuatan skripsi ini disusun untuk menjelaskan konten

setiap bab, yaitu sebagai berikut:

BAB I PENDAHULUAN

Bab ini menjelaskan tentang latar belakang masalah, identifikasi masalah,

maksud dan tujuan, batasan masalah, metodologi penelitian, serta sistematika

pembuatan skripsi.

BAB II TINJAUAN PUSTAKA

Bab ini terbagi menjadi dua bagian, yaitu: tinjauan umum instansi dan

landasan teori. Tinjauan umum instansi berisi tentang sejarah singkat instansi,

visi, misi dan struktur organisasi, sedangkan landasan teori berisi teori-teori


(19)

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi analisis kebutuhan dalam membangun perangkat lunak,

mengkaji proses pencarian jarak terdekat dengan metode pemodelan Object

Oriented Programming. Terdapat juga perancangan perangkat lunak yang

dibangun sesuai hasil kajian serta menterjemahkannya kedalam bahasa

pemrograman.

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi tahapan yang dilakukan dalam penelitian secara garis besar

sejak dari tahap persiapan sampai penarikan kesimpulan dan kaidah yang

diterapkan dalam penelitian. Termasuk menentukan metode pengujian yang akan

dipergunakan dalam pengujian perangkat lunak pencarian jarak terdekat di kota

Tasikmalaya yang akan dibangun.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan tentang keseluruhan dari pembangunan

perangkat lunak ini dan saran tentang perangkat lunak ini untuk masa yang akan


(20)

51 3.1 Analisis Sistem

Hasil penentuan jarak terdekat akan menjadi pertimbangan dalam

pengambilan keputusan untuk menunjukkan jalur yang akan ditempuh. Perangkat

lunak pencarian jarak terdekat sangat dibutuhkan ketika tidak ada orang untuk

menanyakan jalan ke tempat yang diinginkan di kota Tasikmalaya. Algoritma

semut dipakai untuk jarak terdekat menjadi solusi terbaik karena cakupan

parameter algoritma ini selalu menemukan solusi yang mendekati optimal untuk

semua permasalahan yang mempunyai jumlah titik banyak[4].

3.1.1Analisis Masalah

Lokasi merupakan tempat asal dan tempat tujuan yang akan dicapai oleh

pengguna jalan yang berada di kota Tasikmalaya, misalnya hotel, sekolah, bank

dan lain sebagainya. Sedangkan titik merupakan persimpangan jalan yang akan

dilewati untuk mencapai lokasi.

Analisis masalah yang didapat dalam pencarian jarak terdekat adalah

sebagai berikut:

1. Banyaknya wisatawan ataupun masyarakat asli yang kurang mengetahui

jalur-jalur terpendek di kota Tasikmalaya, sehingga kurang menghemat


(21)

2. Belum adanya perangkat lunak pada Android untuk pencarian jarak terdekat

di kota Tasikmalaya.

3.1.2Analisis Sistem Yang Sedang Berjalan

Berikut adalah bagaimana skenario pencarian jalan pada umumnya:

1. Mulai bertanya.

Orang biasanya harus menepi dulu kemudian menanyakan tempat tujuan yang

diinginkan.

2. Mencari tempat tujuan.

Kemudian langsung melanjutkan perjalanan ke tempat yang diinginkan.

3. Tempat tujuan sudah ditemukan?

Apabila tempat tujuan masih belum ditemukan, maka harus bertanya kembali

pada orang-orang yang berada dipinggir jalan.

4. Sampai ditempat tujuan.


(22)

Untuk lebih jelasnya dapat dilihat pada flowchart berikut ini:

Mencari tujuan

Selesai Mulai

Bertanya

Sampai

Tidak

Sudah sampai tujuan?

Ya

Gambar 3.1 Flowchart Pencarian Jalan

Masalah yang dianalisis adalah mengenai prosedur-prosedur setiap data

yang dibutuhkan dan dihasilkan dari aplikasi pencarian jarak terpendek di kota

Tasikmalaya. Masalah-masalah yang ada, yaitu:

1. Masih banyak orang-orang yang belum mengetahui jarak terpendek di kota

Tasikmalaya.

2. Belum adanya perangkat lunak untuk pencarian jarak terdekat di kota


(23)

untuk menanyakan jalan, orang-orang masih dapat mengetahui rute jarak

terpendek ke tempat yang diinginkan di kota Tasikmalaya.

3. Kurang akuratnya informasi yang didapat apabila bertanya langsung pada

orang, dan bisa saja orang yang ditanyai berbohong.

4. Memboros waktu dan biaya untuk mencapai tujuan, karena melewati jalan

yang belum tentu terdekat jaraknya.

3.1.3Analisis Algoritma Semut

Koloni semut merupakan algoritma yang bersifat heuristik untuk

menyelesaikan masalah optimasi. Algoritma ini diinspirasikan oleh lingkungan

koloni semut pada saat mencari makanan. Semut dapat mencari lintasan terpendek

dari suatu sumber makanan menuju sarangnya tanpa harus melihatnya secara

langsung. Semut-semut mempunyai penyelesaian yang sangat unik dan sangat

maju, yaitu dengan menggunakan jejak pheromon pada suatu jalur untuk

berkomunikasi dan membangun solusi, semakin banyak jejak pheromon

ditinggalkan maka jalur tersebut akan diikuti oleh semut lain[1].


(24)

Dalam algoritma semut, diperlukan beberapa variabel dan

langkah-langkah untuk menentukan jarak terpendek[5][6].

Langkah 1:

a. Parameter-parameter yang diperlukan pada algoritma semut adalah sebagai

berikut:

1. Intensitas jejak semut antar tempat (τij) dan perubahannya

τijharus diinisialisasikan sebelum memulai siklus. τij digunakan dalam persamaan probabilitas tempat yang akan dikunjungi. ∆τij diinisialisasikan setelah selesai satu siklus. ∆τij digunakan untuk menentukan τij untuk

siklus selanjutnya.

2. Tetapan siklus semut (Q)

Q merupakan konstanta yang digunakan dalam persamaan untuk

menentukan ∆τij. Nilai Q ditentukan oleh pengguna.

3. Tetapan pengendali intensitas jejak semut (α)

α digunakan dalam persamaan probabilitas tempat yang akan

dikunjungi dan berfungsi sebagai pengendali intensitas jejak semut. Nilai α

ditentukan oleh pengguna.

4. Tetapan pengendali visibilitas (β)

β digunakan dalam persamaan probabilitas kota yang akan dikunjungi

dan berfungsi sebagai pengendali visibilitas. Nilai β ditentukan oleh pengguna.


(25)

5. Visibilitas antar tempat (ηij)

ηij digunakan dalam persamaan probabilitas tempat yang akan dikunjungi. Nilai ηijmerupakan hasil dari 1/ηij (jarak tempat).

6. Banyak semut (m).

m merupakan banyak semut yang akan melakukan siklus dalam

algoritma semut. Nilai m ditentukan oleh pengguna.

7. Tetapan penguapan jejak semut (ρ)

ρ digunakan untuk menentukan τij untuk siklus selanjutnya. Nilai ρ

ditentukan oleh pengguna.

8. Jumlah siklus maksimum (NCmax)

NCmax adalah jumlah maksimum siklus yang akan berlangsung. Siklus

akan berhenti sesuai dengan NCmax yang telah ditentukan atau telah

konvergen. Nilai NCmax ditentukan oleh pengguna.

9. Pengisian koordinat tempat

Pada pengisian koordinat tempat dapat diinputkan sesuai dengan yang

kita inginkan. Dengan bertambahnya koordinat maka jalur yang ditempuh

akan lebih panjang.

b. Inisialisasi tempat pertama setiap semut

Setelah inisialisasi τij dilakukan, kemudian m semut ditempatkan pada tempat

pertama tertentu secara acak.

Untuk nilai parameter α sebaiknya diberi nilai 0 ≤ α ≤ 1, hal ini

dimaksudkan untuk menghindari akumulasi pheromone yang tidak terbatas pada


(26)

bertambah kuat tetapi akan bertambah kurang. Untuk nilai parameter β sebaiknya tidak diberi nilai 0 karena jika diberi nilai 0 maka hasil yang dicapai tidak

maksimum. Tidak optimum disini berarti suatu kondisi dimana panjang perjalanan

yang dicapai tidak minimum.

Langkah 2:

Pengisian tempat pertama ke dalam tabu list. Hasil inisialisasi tempat

pertama setiap semut dalam langkah 1 harus diisikan sebagai elemen pertama tabu

list. Hasil dari langkah ini adalah terisinya tabu list setiap semut dengan indeks

tempat tertentu, yang berarti bahwa setiap tabuk(1) bisa berisi indeks tempat

antara 1 sampai n sebagaimana hasil inisialisasi pada langkah 1.

Langkah 3:

Penyusunan rute kunjungan setiap semut ke setiap tempat. Koloni semut

yang sudah terdistribusi ke sejumlah atau setiap tempat, akan mulai melakukan

perjalanan dari tempat pertama masing-masing sebagai tempat asal dan salah satu

tempat-tempat lainnya sebagai tempat tujuan. Kemudian dari tempat kedua

masing-masing, koloni semut akan melanjutkan perjalanan dengan memilih salah

satu dari tempat-tempat yang tidak terdapat pada tabuk sebagai tempat tujuan

selanjutnya. Perjalanan koloni semut berlangsung terus menerus sampai semua

tempat satu persatu dikunjungi atau telah menempati tabuk. Jika s menyatakan

indeks urutan kunjungan, tempat asal dinyatakan sebagai tabuk(s) dan


(27)

tujuan digunakan persamaan probabilitas tempat untuk dikunjungi sebagai

berikut:

=

τ �

τ � ′ untuk j ∈ {N- }

k’∈ {N- } dan � = 0, untuk j lainnya

dengan i sebagai indeks tempat asal dan j sebagai indeks tempat tujuan.

Langkah 4:

a. Perhitungan panjang rute setiap semut

Perhitungan panjang rute tertutup (length closed tour) atau Lk setiap semut

dilakukan setelah satu siklus diselesaikan oleh semua semut. Perhitungan

dilakukan berdasarkan tabukmasing-masing dengan persamaan berikut:

L

k

=

, (1)

+

=1−1

, (s+1)

Dengan dij adalah jarak antara tempat i ke tempat j yang dihitung berdasarkan

persamaan:

dij= −

2


(28)

b. Pencarian jarak terpendek

Setelah Lk setiap semut dihitung, akan diperoleh harga minimal panjang

rute tertutup setiap siklus atau LminNC dan harga minimal panjang jalur tertutup

secara keseluruhan adalah atau Lmin.

c. Perhitungan perubahan harga intensitas jejak kaki semut antar tempat Δτij

Koloni semut akan meninggalkan jejak-jejak kaki pada lintasan antar

tempat yang dilaluinya. Adanya penguapan dan perbedaan jumlah semut yang

lewat, menyebabkan kemungkinan terjadinya perubahan harga intensitas jejak

kaki semut antar tempat. Persamaan perubahannya adalah:

∆τ = ∆

=1 τ

keterangan:

m = banyak semut

τ = panjang jalur setiap semut

dengan ∆� adalah perubahan harga intensitas jejak kaki semut antar tempat setiap semut yang dihitung berdasarkan persamaan.

∆τ =

keterangan:

Q = tetapan siklus semut

� = length close tour (lct)

untuk (i.j) ∈ tempat asal dan tempat tujuan dalam tabuk


(29)

Langkah 5:

1 Perhitungan harga intensitas jejak kaki semut antar tempat untuk siklus

selanjutnya.

Harga intensitas jejak kaki semut antar tempat pada semua lintasan antar

tempat ada kemungkinan berubah karena adanya penguapan dan perbedaan

jumlah semut yang melewati. Untuk siklus selanjutnya, semut yang akan

melewati lintasan tersebut harga intensitasnya telah berubah. Harga intensitas

jejak kaki semut antar tempat untuk siklus selanjutnya dihitung dengan

persamaan:

τ

ij

= ρ . τ

ij

+ ∆ τ

ij

2 Atur ulang harga perubahan intensitas jejak kaki semut antar tempat.

Untuk siklus selanjutnya perubahan harga intensitas jejak semut antar

tempat perlu diatur kembali agar memiliki nilai sama dengan nol.

Langkah 6:

Pengosongan tabu list, dan ulangi langkah 2 jika diperlukan. Tabu list

perlu dikosongkan untuk diisi lagi dengan urutan tempat yang baru pada siklus

selanjutnya, jika jumlah siklus maksimum belum tercapai atau belum terjadi

konvergensi. Algoritma diulang lagi dari langkah pengisian tabu list dengan harga


(30)

Untuk lebih jelasnya dapat dilihat pada gambar III.3 berikut ini:

Mulai

Inisialisasi Parameter Semut = 1 Siklus = 1

Hitung probabilitas berikutnya

Bangkitkan bilangan random

Tempat tujuan dicapai?

Hitung jarak

Semut = banyak semut?

ya

tidak

ya Semut = semut +

1

Siklus = siklus maksimum?

Selesai ya

Siklus = siklus + 1

tidak

Cetak jalur terpendek

tidak

Perbaharui intensitas jejak kaki semut


(31)

3.1.3 Analisa Algoritma Semut

Seorang wisatawan ingin mencari jarak terpendek dari Alfa Mart Gub. Sewaka

menuju Pemkot Tasikmalaya, maka dapat ditentukan:

α = 1,0 Siklus = 2

β = 0,0 Semut = 3

Q = 1,0

P = 0,5

A. Alfa Mart Gub. Sewaka E. Kawasan Bordir Kawalu R. Makam Abd. Gorib H. Kawasan Hutan Lindung B. Monument HZ Mustofa D. Pasar Cikurubuk C. Indomaret Ir. H. Juanda F. Situ Gede G. Tempat Rekreasi Mangkubu mi I. Terminal Pasar Padayung an J. Kawasan Kelom Geulis K. UNSIL L. RSU Islam M. Situ Cibeureum O. Kolam Renang Asia P. Komplek Olahraga Dadaha Q. GOR Sukapura N. KOSTRAD S. Dept. Store T. Dept. Store U. Dept. Store H. Mall G2. Dept. Store V. RSUD Tasikmala ya W. TP Kusuma Bangsa X. Lapangan Udara Wiriadinat a A2. Pertamina F2. Mesjid Agung E2. RS Jasa Kartini D2. Alun-alun C2. Bank Indonesia B2. Terminal Pancasila Y. Kawasan Kerajinan Mendong Z. Kawasan Petilasan Purbasari I. Makam D. Sakaremb ong J2. Pemkot Tasikmlay a K2. Tempat Rekreasi Aboh L2. Polresta M2. Terminal N2. Pasar Indihiang T2. Stasiun Kereta Api S2. Hotel Mahkota Graha R2. Tugu Koperasi Q2. Kawasan Batik Tasik O2. Kawasan Payung Tasik P2. DPRD Kota Tasikmala ya 2 4 9 1 1 3 3 3 4 3 5 2 3 7 4 4 3 2 2 7 1 3 3 1 6 3 5 3 6 6 3 2 3 3 3 3 1 1 1 1 3 4 3 2 4 3 5 4 1 2 2 2 3 1 1 4 4 1 4 9 3 1 3 9 2 5 7


(32)

A.Siklus pertama:

Semut pertama akan melakukan pencarian, dapat dihitung dengan cara berikut ini:

PA→B =

01.0. 1

6 0

01.0.1 6 0

+ 01.0.1 2

0 =

0 .1 0 + 0= 0

PA→D = 0

1.0. 1 2 0

01.0.1 6 0

+ 01.0.1 2

0 =

0 .1 0 + 0= 0

PD→C =

01.0. 1

5 0

01.0.1 5 0

+ 01.0.1 7

0 =

0 .1 0 + 0= 0

PD→S = 0

1.0. 1 7 0

01.0.1 5 0

+01.0.1 7

0 =

0 .1 0 + 0= 0

PC→I =

01.0. 1

7 0

01.0. 1 7

0=

0 .1 0 .1= 0

PI→J =

01.0. 1

2 0

01.0. 1 2

0=

0 .1 0 .1= 0

Setelah semut pertama melakukan pencarian, maka feromon dapat di-update

dengan cara berikut ini:

� , = p . 0 + ∆� , = 0,5 . 0 +

1.0

19 = 0 + 0,05 = 0,05

� , = p . 0 + ∆� , = 0,5 . 0 +

1.0

16 = 0 + 0,06 = 0,06

� , = p . 0 + ∆� , = 0,5 . 0 +

1.0

16 = 0 + 0,06 = 0,06

� ,� = p . 0 + ∆� , = 0,5 . 0 +

1.0

17 = 0 + 0,05 = 0,05

� , = p . 0 + ∆� , = 0,5 . 0 +

1.0

16 = 0 + 0,06 = 0,06

�, = p . 0 + ∆� , = 0,5 . 0 +

1.0


(33)

Setelah semua jumlah feromon di-update, sekarang giliran semut kedua yang akan

melakukan pencarian. Dapat dihitung dengan cara berikut ini:

PA→B =

0,051.0. 16 0,05 0,051.0.1

6 0,05

+ 0,051.0.1 2

0,05 =

0,05 .0,91

0,04 + 0,04= 0,5

PA→D =

0,061.0. 1

2 0,06

0,061.0.1 6

0,06

+ 0,061.0.1 2

0,06 =

0,06 .0,95

0,05 + 0,05= 0,5

PB→C = 0

1.0. 1 4 0

01.0. 1 4

0 =

0 .1 0 .1= 0

PC→I = 0,06

1.0. 1 7

0,06

0,061.0. 1 7

0,06=

0,06 .0,88 0,06 .0,88= 1

PI→J =

0,061.0. 12 0,06 0,061.0. 1

2

0,06 =

0,06 .0,95 0,06 .0,95= 1

Setelah semut kedua melakukan pencarian, maka feromon dapat di-update dengan

cara berikut ini:

� , = p . 0,05 + ∆� , = 0,5 . 0,05 +

1.0

19 = 0,02 + 0,05 = 0,08

� , = p . 0,05 + ∆� , = 0,5 . 0,05 +

1.0

16 = 0,02 + 0,06 = 0,08

� , = p . 0 + ∆� , = 0,5 . 0 +

1.0

16 = 0 + 0,06 = 0,06

� , = p . 1 + ∆� , = 0,5 . 1 +

1.0

16 = 0,5 + 0,06 = 0,56

�, = p . 1 + ∆� , = 0,5 . 1 +

1.0

16 = 0,5 + 0,06 = 0,56

Setelah semua jumlah feromon di-update, sekarang giliran semut ketiga yang


(34)

PA→B =

0,081.0. 16 0,08 0,081.0.1

6 0,08

+ 0,051.0.1 2

0,08 =

0,08 .0,86

0,06 + 0,04= 0,6

PA→D =

0,081.0. 1

2 0,06

0,081.0.1 6

0,08

+ 0,081.0.1 2

0,08 =

0,08 .0,95

0,06 + 0,07= 0,53

PD→C =

0,061.0. 1 5

0,06

0,061.0.1 5

0,06

+ 0,061.0.1 7

0,06 =

0,06 .0,95

0,05 + 0,05= 0,15

PD→S =

0,051.0. 1

7 0,05

0,051.0.1 5

0,05

+0,061.0.1 7

0,05 =

0,05 .0,9

0,04 + 0,04= 0,5

PS→H =

01.0. 1

2 0

01.0. 1 2

0=

0 .1 0 .1= 0

PH→I = 0

1.0. 1 4 0

01.0. 1 4

0=

0 .1 0 .1= 0

PI→J =

0,561.0. 1

2 0,56

0,561.0. 1 2

0,56 =

0,56 .0,67 0,56 .0,67 = 1

Setelah semut ketiga melakukan pencarian, maka feromon dapat di-update dengan

cara berikut ini:

� , = p . 0,6 + ∆� , = 0,5 . 0,6 +

1.0

19 = 0,3 + 0,05 = 0,35

� , = p . 0,53 + ∆� , = 0,5 . 0,53 +

1.0

17 = 0,26 + 0,05 = 0,31

� , = p . 0,15 + ∆� , = 0,5 . 0,15 +

1.0

17 = 0,12 + 0,05 = 0,17

� ,� = p . 0,5 + ∆� , = 0,5 . 0,5 +

1.0

17 = 0,25 + 0,05 = 0,3

��, = p . 0 + ∆� , = 0,5 . 0 +

1.0

17 = 0 + 0,05 = 0,05

� , = p . 0 + ∆� , = 0,5 . 0 +

1.0

17 = 0 + 0,05 = 0,05

�, = p . 0 + ∆� , = 0,5 . 1 +

1.0


(35)

B.Siklus kedua:

Semut pertama akan melakukan pencarian, dapat dihitung dengan cara berikut ini:

PA→B =

0,351.0. 16 0,35 0,351.0.1

6 0,35

+ 0,351.0.1 2

0,35 =

0,35 .0,52

0,18 + 0,27= 0,4

PA→D =

0,311.0. 1

2 0,31

0,311.0.1 6

0,31

+ 0,311.0.1 2

0,31 =

0,31 .0,8

0,17 + 0,24 = 0,58

PD→C = 0,17

1.0. 1 5

0,17

0,171.0.1 5

0,17

+ 0,171.0.1 7

0,17 =

0,17 .0,76

0,12 + 0,12= 0,5

PD→S =

0,31.0. 1

7 0,3

0,31.0.1 5

0,3

+ 0,31.0.1 7

0,3 =

0,3 .0,55

0,18 + 0,16= 0,47

PC→I =

0,561.0. 1

7 0,56

0,561.0. 1 7

0,56=

0,56 .0,33 0,56 .0,33= 1

PI→J =

0,551.0. 1

2 0,55

0,551.0. 1 2

0,55 =

0,55 .0,68 0,55 .0,68 = 1

Setelah semut pertama melakukan pencarian, maka feromon dapat di-update

dengan cara berikut ini:

� , = p . 0,4 + ∆� , = 0,5 . 0,4 +

1.0

19 = 0,2 + 0,05 = 0,25

� , = p . 0,58 + ∆� , = 0,5 . 0,58 +

1.0

16 = 0,29 + 0,06 = 0,35

� , = p . 0,5 + ∆� , = 0,5 . 0,5 +

1.0

16 = 0,25 + 0,06 = 0,31

� ,� = p . 0,47 + ∆� , = 0,5 . 0,47 +

1.0

17 = 0,23 + 0,14 = 0,37

� , = p . 1 + ∆� , = 0,5 . 1 +

1.0

16 = 0,5 + 0,06 = 0,56

�, = p . 1 + ∆� , = 0,5 . 1 +

1.0


(36)

Setelah semua jumlah feromon di-update, sekarang giliran semut kedua yang akan

melakukan pencarian. Dapat dihitung dengan cara berikut ini:

PA→B =

0,41.0. 1

6 0,4

0,41.0.1 6

0,4

+ 0,41.0.1 2

0,4 =

0,4 .0,48

0,19 + 0,3= 0,38

PA→D =

0,581.0. 1

2 0,58

0,581.0.1 6

0,58

+ 0,581.0.1 2

0,58 =

0,58 .0,66

0,19 + 0,38= 0,66

PD→C =

0,51.0. 1

5 0,5

0,51.0.1 5

0,5

+0,51.0.1 7

0,5 =

0,5 .0,44

0,22 + 0,18 = 0,55

PD→S = 0,47

1.0. 1 7

0,47

0,471.0.1 5

0,47

+0,471.0.1 7

0,47 =

0,47 .0,39

0,21 + 0,18= 0,46

PC→I =

11.0. 1

7 1

11.0. 1 7

1 =

1 .0,14 1 .0,14= 1

PI→J =

11.0. 1

2 1

11.0. 1 2

1=

1 .0,5 1 .0,5= 1

Setelah semut kedua melakukan pencarian, maka feromon dapat di-update dengan

cara berikut ini:

� , = p . 0,38 + ∆� , = 0,5 . 0,38 +

1.0

19 = 0,19 + 0,05 = 0,24

� , = p . 0,66 + ∆� , = 0,5 . 0,66 +

1.0

16 = 0,33 + 0,06 = 0,39

� , = p . 0,55 + ∆� , = 0,5 . 0,55 +

1.0

16 = 0,27 + 0,06 = 0,33

� ,� = p . 0,46 + ∆� , = 0,5 . 0,46 +

1.0

17 = 0,23 + 0,14 = 0,37

� , = p . 1 + ∆� , = 0,5 . 1 +

1.0

16 = 0,5 + 0,06 = 0,56

�, = p . 1 + ∆� , = 0,5 . 1 +

1.0


(37)

Setelah semua jumlah feromon di-update, sekarang giliran semut ketiga yang

akan melakukan pencarian. Dapat dihitung dengan cara berikut ini:

PA→B =

0,241.0. 1

6 0,24

0,241.0.1 6

0,24

+0,241.0.1 2

0,24 =

0,24 .0,64

0,15 + 0,18= 0,45

PA→D = 0,39

1.0. 1 2

0,39

0,391.0.1 6

0,39

+0,391.0.1 2

0,39 =

0,39 .0,76

0,18 + 0,29= 0,61

PD→C =

0,331.0. 1

5 0,33

0,331.0.1 5

0,33

+ 0,331.0.1 7

0,33 =

0,33 .0,58

0,19 + 0,17= 0,52

PD→S = 0,37

1.0. 1 7

0,37

0,371.0.1 5

0,37

+0,371.0.1 7

0,37 =

0,37 .0,48

0,2 + 0,17= 0,45

PC→I =

0,561.0. 17 0,56 0,561.0. 1

7

0,56=

0,56 .0,33 0,56 .0,33= 1

PI→J =

0,561.0. 1

2 0,56

0,561.0. 1 2

0,56 =

0,56 .0,67 0,56 .0,67 = 1

Setelah semut ketiga melakukan pencarian, maka feromon dapat di-update dengan

cara berikut ini:

� , = p . 0,45 + ∆� , = 0,5 . 0,45 +

1.0

19 = 0,22 + 0,05 = 0,27

� , = p . 0,61 + ∆� , = 0,5 . 0,61 +

1.0

16 = 0,3 + 0,06 = 0,36

� , = p . 0,52 + ∆� , = 0,5 . 0,52 +

1.0

16 = 0,26 + 0,06 = 0,32

� ,� = p . 0,45 + ∆� , = 0,5 . 0,45 +

1.0

17 = 0,22 + 0,14 = 0,36

� , = p . 1 + ∆� , = 0,5 . 1 +

1.0

16 = 0,5 + 0,06 = 0,56

�, = p . 1 + ∆� , = 0,5 . 1 +

1.0


(38)

n = semut

x = siklus

Jadi, O (n.x) karena 1 semut melakukan perulangan sebanyak siklus.

Dari pencarian tersebut, maka dapat disimpulkan:

Jarak terpendek dari Alfa Mart Gub. Sewaka menuju Pemkot Tasikmalaya adalah

melalui Pasar Cikurubuk, Indomaret Ir. Juanda dan Makam D. Sakarembong

karena menghasilkan jumlah feromon yang lebih besar daripada melalui rute

lainnya

Tabel 3-1 Pseudocode Algoritma Semut

1 For each pair (t,v) 1. /* Initialization phase */

2 τ(t,v):=

τ

0

3 End-for

4 For k:=1 to m do

5 Let tk1 be the starting city for ant k

6 Jk(tk1):= {1, ..., n} - rk1

7 tk:= tk1

8 End-for

9 For i:=1 to n do

10 If i<n then

11 For k:=1 to m do

12 Choose the next city vk according to Eq.(1) and Eq.(2)

13 Jk(sk):= Jk (tk) - vk

14 Tourk (i):=(tk ,vk)

15 End-for

16 Else

17 For k:=1 to m do

18 vk := tk1

19 Tourk (i):=(tk ,vk)

20 End-for

21 End-if

22 For k:=1 to m do

23

τ

(tk ,vk):=(1-ρ)

τ

(tk ,vk)+ ρ

τ

0

24 tk := vk /* New city for ant k */

25 End-for

26 End-for

27 For k:=1 to m do


(39)

29 End-for

30 Compute Lbest

31 For each edge (t,v)

32

τ

(tk ,vk):=(1-α)τ(tk,vk) + α(Lbest)-1

33 End-for

34 4. If (End_condition = True) then

35 Print shortest of Lk

36 Else

37 goto Phase 2

38 End-if

Berdasarkan pseudocode pada tabel 3.1, dapat dihitung nilai kompleksitas

dari algoritma tersebut. Untuk menghitung kompleksitas suatu algoritma

digunakan notasi Big O. Berikut perhitungan kompleksitas algoritmanya:

Tabel 3-2 Notasi Big O Pseudocode Algoritma Semut

1 For each pair (t,v) 1. /* Initialization phase */ O(n)

2 τ(t,v):=

τ

0 O(1)

3 End-for

4 For k:=1 to m do O(n)

5 Let tk1 be the starting city for ant k O(1)

6 Jk(tk1):= {1, ..., n} - rk1 O(1)

7 tk:= tk1 O(1)

8 End-for

9 For i:=1 to n do O(n)

10 If i<n then O(1)

11 For k:=1 to m do O(n)

12 Eq.(2) Choose the next city vk according to Eq.(1) and O(1)

13 Jk(sk):= Jk (tk) - vk O(1)

14 Tourk (i):=(tk ,vk) O(1)

15 End-for

16 Else

17 For k:=1 to m do O(n)

18 vk := tk1 O(1)

19 Tourk (i):=(tk ,vk) O(1)

20 End-for

21 End-if

22 For k:=1 to m do O(n)

23

τ

(tk ,vk):=(1-ρ)

τ

(tk ,vk)+ ρ

τ

0

O(1)

24 tk := vk /* New city for ant k */ O(1)


(40)

26 End-for

27 For k:=1 to m do O(n)

28 Compute Lk O(1)

29 End-for

30 Compute Lbest O(1)

31 For each edge (t,v) O(n)

32

τ

(tk ,vk):=(1-α)τ(tk,vk) + α(Lbest)-1 O(1)

33 End-for

34 4. If (End_condition = True) then O(1)

35 Print shortest of Lk O(1)

36 Else O(1)

37 goto Phase 2

38 End-if

F(n) = ( ( ) x ( (1))+ ( ( ) x ( (1) + (1) + (1))) + ( ( ) x ( (1) x ( ( ) x ( (1) +

(1) + (1))))) + ( ( ) x ( (1) + (1))) + ( ( ) x ( (1) + (1))) + ( ( ) x

( (1)) + (1) + ( ( ) x (1)) + ( (1) x ( (1) + (1)))

F(n) = ( ) + ( ) + ( 2)+ ( ) + ( ) + ( ) + (1) + ( ) + (1)

F(n) = ( 2)

3.1.4Aturan Bisnis Lokasi/Titik

Aturan bisnis adalah aturan-aturan yang berlaku pada sistem yang sedang

berjalan, sehingga kinerja perangkat lunak dapat berjalan dengan baik.

Aturan-aturan yang ada pada perangkat lunak pencarian jarak terdekat di kota

Tasikmalaya yaitu:

1. Jarak antara lokasi/titik dihitung berdasarkan skala peta aslinya.

2. Suatu lokasi/titik hanya dapat dikoneksikan dengan lokasi / titik yang berada

disebelahnya.

3. Setiap lokasi/titik mempunyai titik koordinat masing-masing yang ditentukan

berdasar pada peta aslinya.


(41)

3.1.5Analisis Kebutuhan Non Fungsional

Analisis kebutuhan non fungsional merupakan bagian untuk

menspesifikasikan ukuran yang harus dipenuhi oleh perangkat lunak. Untuk lebih

jelasnya dapat dilihat dalam dibawahi ini.

Tabel 3-3 Analisis Kebutuhan Non Fungsional

Kriteria Kebutuhan Tuntutan Kebutuhan

Performansi Perangkat PC/Laptop atau mobile

untuk proses update pada aplikasi ini harus terkoneksi ke internet

Batasan Memori Perangkat PC/Laptop:

- Prosessor minimum dual core - Hardddisk minimum 80GB - RAM Minimun 512MB

memory

Perangkat Mobile:

- Memory internal minimum 10MB

Kriteria Kebutuhan Tuntutan Kebutuhan

Modus Operasi Perangkat PC/Laptop:

- Windows XP, Vista atau windows 7

- sudah terpasang aplikasi browser

Perangkat Mobile: - Sistem operasi Android - Sudah terpasang aplikasi

pencarian jarak terdekat


(42)

3.1.5.1. Analisis Kebutuhan Perangkat Lunak

Perangkat lunak yang dibutuhkan dalam menjalankan perangkat lunak ini

adalah sebagai berikut:

1. Sistem operasi Windows XP/vista/7.

2. Sistem operasi Android.

3. Eclipse IDE for Java Developers.

4. Xampp win32 v.1.7.1.

3.1.5.2. Analisis Kebutuhan Perangkat Keras

Perangkat keras yang digunakan dalam membangun perangkat lunak ini

memiliki spesifikasi sebagai berikut:

1. Processor Intel Core i5

2. Memori RAM 4 Gb

3. Harddisk 1 Tb

4. Resolusi layar monitor 1920 x 1080

Berikut ini adalah spesifikasi minimum untuk menjalankan perangkat

lunak ini pada komputer dan perangkat mobile:

1. Intel dual core 1,5Hz

2. Memory 512Mb

3. VGA 256Mb

4. Harddisk 10Mb space


(43)

3.1.5.3. Analisis Kebutuhan Pengguna

Untuk dapat menjalankan aplikasi ini, pengguna harus memenuhi

persyaratan sebagai berikut:

1. Mengerti penggunaan mobile dengan sistem operasi Android.

2. Mengerti secara umum penggunaan internet.

3. Minimal dapar mengatur dan memperbaiki data-data fasilitas umum di

website.

3.1.5.4. Analisis Data

Sebelum melakukan penyusunan basis data perlu dibuat Entity

Relationship Diagram (ERD) dari entitas yang terlibat dalam sistem pencarian

jarak ini. Entity – Relationship adalah suatu hubungan antara dua file atau lebih yang saling berkaitan. Entitas yang saling berhubungan antara satu dengan yang

lain akan membentuk suatu relasi dan isi masing-masing entitas tersebut saling

melengkapi.

ERD adalah model konseptual yang mendeskripsikan hubungan antar

penyimpanan (dalam DFD). ERD digunakan untuk memodelkan struktur data dan

hubungan antar data. Dengan ERD kita dapat menguji model dengan

mengabaikan proses yang harus dilaksanakan. ERD menggunakan notasi dan


(44)

Untuk lebih jelasnya dapat dilihat ERD dibawah ini:

user titik

username

nama password

mengelola n

1

desk lokasi

y x

nama_titik id_titik

Gambar 3.5 Entity Relationship Diagram (ERD)

Adapun entitas-entitas lain yang terdapat dalam ERD diatas dapat dilihat pada

tabel 3.3.

Tabel 3-4 Entitas dan Atribut pada ERD

No. Entitas Atribut Keterangan

1. user username

password nama

Nama ID user Kata kunci ID user Nama user

2. titik id_titik nama_titik x

y lokasi desk

Identifikasi titik Nama suatu tempat Titik koordinat x Titik koordinat y Jenis titik


(45)

3.1.6Analisis Kebutuhan Fungsional

Analsis kebutuhan fungsional mendefinisikan aksi dasar yang ada dalam

perangkat lunak yang dibangun untuk menerima dan memproses masukan dan

menghasilkan keluaran.

3.1.6.1. Diagram Konteks

Diagram konteks adalah diagram yang menggambarkan masukan, proses

dan keluaran secara umum yang terjadi pada sistem. Diagram konteks untuk

perangkat lunak pencarian jarak terdekat dapat dilihat pada gambar:

Pencarian Jarak Terdekat di Kota Tasikmalaya

data_jarak data_deskripsi_tempat

data_peta

Web Service Aplikasi Android

data_titik_update data_koneksi_update

info_jarak info_deskripsi_tempat

info_peta

info_titik_update info_koneksi_update


(46)

3.1.6.2. DFD Level 1 untuk Web Service

Pada DFD Level 1 akan dibagi menjadi empat garis besar proses utama,

yaitu login, atur titik, atur koneksi dan update peta.

1. Login

Pada proses pertama user melakukan login terlebih dahulu.

2. Atur titik

Pada atur titik user dapat melakukan tambah titik, update titik dan hapus

titik.

Untuk lebih jelasnya dapat dilihat gambar dibawah ini:

User 2.0

Atur Titik 1.0 Login data_otentikasi

info_otentikasi info_titik

titik

data_titik

data_titik

data_titik


(47)

3.1.6.3. DFD Level 2 Proses 2 untuk Web Service

Pada DFD Level 2 Proses 2 akan dibagi menjadi tiga proses, yaitu tambah

titik, update titik dan hapus titik.

1.Tambah titik

Pada proses ini user menambahkan daftar titik yang berisi ID titik, nama

titik, koordinat x, koordinat y, tipe dan deskripsi.

2.Update titik

Pada proses ini user mengedit daftar titik yang berisi ID titik, koordinat x,

koordinat y, tipe dan deskripsi.

3.Hapus titik

Pada prose ini user menghapus daftar titik yang berisi ID titik, koordinat x,

koordinat y, tipe dan deskripsi.

Untuk lebih jelasnya dapat dilihat gambar dibawah ini:

User

2.1 Tambah titik

2.3 Hapus titik info_tambah_titik

data_tambah_titik

data_hapus_titik

info_hapus_titik

2.2 Update titik data_update_titik

info_update_titik

titik data_titik

data_titik

data_titik

data_titik

data_titik data_titik


(48)

Berikut adalah spesifikasi proses dari DFD untuk menjelaskan

perilaku-perilaku yang ada dalam DFD secara lebih rinci. Spesifikasi proses pada

perangkat lunak pencarian jarak terdekat dapat dilihat pada Tabel 3.5 berikut:

Tabel 3-5 Spesifikasi Proses DFD Level 1

NO. Spesifikasi Keterangan

1. No 1.0

Nama Login

Input data_otentikasi

Output info_otentikasi

Tujuan user

Logika proses 1. User akan memasukkan username dan password 2. Sistem akan masuk kedalam administrator.

2. No 2.0

Nama Atur titik

Input data_titik

Output info_titik

Tujuan user

Logika proses 1. User dapat mengatur daftar titik yang berisi ID titik, nama titik, koordinat x, koordinat y, tipe dan deskripsi.

2. Sistem akan menyimpan daftar titik yang telah diatur oleh user.

3. No 2.1

Nama Tambah titik

Input Data_titik

Output Info_titik

Tujuan User

Logika proses 1. User dapat menambah titik.

2. Sistem menyimpan titik baru yang dimasukan.

4. No 2.2

Nama Update titik

Input Data_update_titik

Output Info_update_titik

Tujuan User

Logika proses 1. User dapat mengupdate titik.

2. Sistem mengupdate titik yang sudah ada.

5. No. 2.3

Nama Hapus titik

Input Data_hapus_titik

Output Info_hapus_titik


(49)

Logika proses 1. User dapat menghapus titik yang sudah ada.

3.1.6.4. Kamus Data

Kamus data membantu mendefinisikan dengan lengkap data yang

mengalir diantara proses, penyimpanan data dan entitas luar. Data yang mengalir

tersebut dapat berupa masukan untuk sistem atau hasil dari proses sistem. Kamus

data dibuat berdasarkan arus data yang mengalir pada konteks diagram dan DFD.

Tabel 3-6 Kamus Data

NO. Data Keterangan

1. Nama data_user

Deskripsi Berisi data user

Struktur data Username + password + nama

Username [A-Z|a-z|0-9]

password [A-Z|a-z|0-9]

nama [A-Z|a-z|0-9]

2. Nama data_titik

Deskripsi Berisi data titik

Struktur data id_titik + nama_titik + x + y + lokasi +desk

id_titik [0-9]

nama_titik [A-Z|a-z|0-9]

X [0-9]

Y [0-9]

lokasi [A-Z|a-z|0-9]

desk [A-Z|a-z|0-9]

3. Nama data_titik

Deskripsi Berisi data titik

Struktur data Id_titik + nama_titik + x + y + lokasi + desk

Id_titik [0-9]

Nama_titik [A-Z|a-z|0-9]

x [0-9]

y [0-9]

lokasi [0-9]

desk [A-Z|a-z|0-9]

4. Nama Data_hapus_titik


(50)

Struktur data Data_hapus_titik Data_hapus_titik [true|false]

3.1.6.5. Use Case Diagram untuk Aplikasi Android

Use case diagram perangkat lunak pencarian jarak terdekat ini dapat

dilihat pada gambar 3.9.

Gambar 3.9 Use Case Diagram 3.1.6.6. Skenario Use Case untuk Aplikasi Android

Skenario Use Case berfungsi untuk menjelaskan lebih detail mengenai

modul-modul yang terdapat dalam perangkat lunak. Dibawah ini adalah skenario


(51)

Tabel 3-7 Skenario Use Case Optimasi Jarak Identifikasi

Use Case Name Optimasi Rute

Actor User

Use Case Description

Melakukan pencarian jarak terdekat dari titik asal ke titik tujuan

Trigger User memasukan tempat asal dan tempat tujuan kemudian menekan tombol proses.

Trigger Type Internal X External

Main Success Scenario 1. User memilih menu optimasi rute

2. User memasukan tempat asal & tujuan 3. User menekan tombol Proses

Extension a. Jika titik tujuan atau titik asal tidak dikenal

a.1 User mendapatkan pesan tidak ada titik tujuan terdefinisi

Tabel 3-8 Skenario Use Case Optimasi Jarak GPS Identifikasi

Use Case Name Optimasi Rute

Actor User

Use Case

Description Melakukan pencarian jarak terdekat ke titik tujuan

Trigger User memasukan tempat tujuan kemudian menekan tombol proses.

Trigger Type Internal X External

Main Success Scenario 1. User memilih menu optimasi rute


(52)

3. User menekan tombol Proses

Extension a. Jika titik tujuan tidak dikenal

a.1 User mendapatkan pesan tidak ada titik tujuan terdefinisi

Tabel 3-9 Skenario Use Case Deskripsi Titik Identifikasi

Use Case Name Deskripsi Titik

Actor User

Use Case Description

Menunjukan informasi tentang suatu titik di kota Tasikmalaya

Trigger User memasukan titik yang akan dideskripsikan

Trigger Type Internal X External

Main Success Scenario 1 User memilih menu deskripsi tempat

2 User memasukkan suatu titik di kota Tasikmalaya Extension

a. Jika tidak memasukkan titik

a.1 User tidak akan mendapatkan deskripsi titik

Tabel 3-10 Skenario Use Case Lihat Peta Identifikasi

Use Case Name Tampil Peta

Actor User

Use Case Description Menunjukan peta Kota Tasikmalaya

Trigger User berada di menu utama dan memilih menu lihat peta

Trigger Type Internal X External


(53)

1. User memilih menu lihat peta

Extension

Tabel 3-11 Skenario Use Case Lihat Peta Identifikasi

Use Case Name Update

Actor User

Use Case Description Sistem mengupdate titik, koneksi dan jarak

Trigger User berada di menu utama dan memilih menu lihat peta

Trigger Type Internal X External

Main Success Scenario 1. User memilih menu update

Extension

Tabel 3-12 Skenario Use Case Pengaturan Identifikasi

Use Case Name Pengaturan

Actor User

Use Case

Description User mengatur parameter algoritma semut

Trigger Memilih menu optimasi rute kemudian pilih pengaturan Trigger Type Internal X External


(54)

1. User memilih pengaturan

2. User mengatur parameter algoritma semut 3. User menyimpan parameter

Extension a. Jika parameter tidak dimasukan

a.1 user akan mendapatkan pesan alpha harus diisi a.2 user akan mendapatkan pesan betha harus diisi a.3 user akan mendapatkan pesan Q harus diisi a.4 user akan mendapatkan pesan P harus diisi a.5 user akan mendapatkan pesan siklus harus diisi a.6 user akan mendapatkan pesan semut harus diisi


(55)

3.1.6.7. Activity Diagram untuk Aplikasi Android

Activity diagram menggambarkan berbagai alur aktivitas dalam sistem

yang sedang dirancang, bagaimana masing-masing alur berawal, decision yang

mungkin terjadi dan bagaimana mereka berakhir. Activity diagram juga dapat

menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Berikut Activity diagram yang ada pada perangkat lunak pencarian jarak

terdekat ini:

1.Optimasi Rute

Gambar 3.10 Activity Diagram Optimasi Rute

User Sistem

Memilih Menu Optimasi Rute Menampilkan Form Optimasi Rute

Memasukan Tempat Asal & Tempat Tujuan

Menekan Tombol Proses Menerima Permintaan Optimasi Rute

Menampilkan Hasil Optimasi Rute

Menekan Tombol Pengaturan Menampilkan Form Pengaturan

Memasukan / Mengubah Parameter

Menekan Tombol Simpan Menyimpan Parameter


(56)

2. Optimasi Rute GPS


(57)

2.Deskripsi Titik

Gambar 3.12 Activity Diagram Deskripsi Titik 3.Tampil Peta

Gambar 3.13 Activity Diagram Tampil Peta

User Sistem

Memilih Menu Deskripsi Menampilkan Form Deskripsi

Memasukan Nama Titik Menerima Permintaan Deskripsi

Menampilkan Deskripsi

User Sistem

Memilih Menu Tampil Peta Menerima Permintaan Tampil Peta


(58)

4.Update

Gambar 3.14 Activity Diagram Update

3.1.6.8. Sequence Diagram untuk Aplikasi Android

Sequence diagram menggambarkan interaksi antar objek didalam dan

disekitar sistem berupa message yang digambarkan terhadap waktu. Sequence

diagram biasa digunakan untuk menggambarkan skenario atau rangkaian

langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan

output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan

perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.

Sequence diagram pada perangkat lunak pencarian jarak terdekat ini

terbagi menjadi beberapa bagian, yaitu:

User Sistem

Memilih Menu Update Menerima Permintaan Update


(59)

1.Optimasi rute

Gambar 3.15 Sequence Diagram Optimasi Jarak

2. Optimasi Rute GPS


(60)

3. Deskripsi Titik

Gambar 3.17 Sequence Diagram Deskripsi Tempat 4. Tampil Peta

Gambar 3.18 Sequence Diagram Lihat Peta : User

: ActivityUtama : ActivityDeskripsi : HandlerTitik

1 : onCreate()

2 : onCreate()

3 : getNamaTitik()

4 : deskripsi

: User

: ActivityUtama : MapView

1 : onCreate()

2 : mapView()


(61)

5. Update

Gambar 3.19 Sequence Diagram Update

3.1.6.9. Class Diagram untuk Aplikasi Android

Class adalah sebuah spesifikasi yang jika diinstansisikan akan

menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain

berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem,

sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut

(metoda/fungsi).

Berikut class diagram yang terbentuk pada perangkat lunak pencarian

jarak terdekat. : User

: ActivityUtama : DBHelper

1 : onCreate() 2 : doUpdate()

3 : getVersi()

4 : updateTitik()

5 : UpdateKoneksi()

6 : cleanUp()


(62)

Gambar 3.20 Class Diagram

3.2 Perancangan Sistem

Perancangan merupakan tahap lanjutan dari analisis sistem dimana pada

perancangan sistem digambarkan rancangan sistem yang akan dibangun sebelum

dilakukan pengkodean kedalam suatu bahasa pemrograman. Dalam perancangan

sistem tidak lepas dari hasil analisis, karena dari hasil analisis sistem baru dapat

dibuat suatu perancangan sistem.

Desain umum yang akan diaplikasikan bertujuan untuk memberikan

gambaran secara umum kepada penggunaan tentang sistem yang akan dibangun.

3.2.1Perancangan Data

Perancangan data terdiri dari perancangan diagram relasi berdasarkan


(63)

1.2.1.1Diagram Relasi

Diagram relasi merupakan relasi khusus antar tabel yang berada dalam

perangkat lunak yang dibangun. Berikut diagram relasi yang berada dalam

perangkat lunak pencarian jarak terdekat.

Gambar 3.21 Tabel Relasi

3.2.2Perancangan Struktur Menu

Perancangan struktur menu pada perangkat lunak pencarian jarak terdekat

ini terbagi menjadi dua, yaitu pada aplikasi android dan pada web service.

3.2.2.1Aplikasi Android

Struktur menu pada aplikasi android digambarkan dengan struktur sebagai


(64)

Perangkat Lunak Pencarian Jarak

Terdekat

Deskripsi Titik Tampil Peta

Optimasi Jarak Update

Proses

Pengaturan

Optimasi Jarak

Proses

Pengaturan

Gambar 3.22 Struktur Menu Aplikasi Android 3.2.2.2Web Service

Struktur menu pada aplikasi android digambarkan dengan struktur sebagai

berikut:

Web Server

Atur Titik

Tambah Edit Hapus

Gambar 3.23 Struktur Menu Web Service

3.2.3Perancangan Antarmuka Perangkat Lunak

Antarmuka merupakan tampilan dari suatu perangkat lunak yang berperan

sebagai media komunikasi yang digunakan sebagai sarana antara perangkat lunak

dan pengguna. Perancangan ini merupakan sebuah penggambaran, perencanaan


(65)

Sistem yang dibangun diharapkan menyediakan suatu tampilan antarmuka yang

mudah dipahami dan digunakan oleh pengguna.

3.2.3.1Perancangan Antaramuka pada Aplikasi Android

Berikut ini dapat dilihat perancangan antarmuka Ant System pada aplikasi

Android. Menu Ant System merupakan halaman pertama yang akan muncul

ketika perangkat lunak dieksekusi oleh pengguna. Perancangan antarmuka ini

dapat dilihat digambar 3.24.

Optimasi Jarak

Deskripsi Titik

Tampil Peta

Update

1. Klik Optimasi Jarak untuk menuju ke A02 2. Klik Deskripsi Titik untuk mendapatkan deskripsi titik di Kota Tasikmalaya

3. Klik Tampil Peta untuk melihat peta Kota Tasikmalaya 4. Klik Update untuk memperbaharui titik, jarak dan koneksi terbaru

Ukuran halaman: -Jenis Tulisan: Tahoma Ukuran Tulisan: -Warna Latar: Hitam A01

Optimasi Jarak GPS

Gambar 3.24 Perancangan Antarmuka Halaman Utama 3.2.3.2Perancangan Antarmuka Optimasi Jarak

Berikut ini adalah gambar perancangan antarmuka halaman Optimasi

Jarak. Halaman Optimasi Jarak ini akan muncul apabila pengguna memilih menu


(66)

Proses

Pengaturan 1. Klik Proses untuk

mencari jarak terdekat 2. Klik pengaturan untuk mengatur parameter algoritma semut

Ukuran halaman: -Jenis Tulisan: Tahoma Ukuran Tulisan: -Warna Latar: Hitam A02

Gambar 3.25 Perancangan Antarmuka Optimasi Jarak

3.2.3.3Perancangan Antaramuka pada Web Service

Berikut ini dapat dilihat perancangan antarmuka pada web service. Menu

Atur Titik merupakan halaman pertama yang akan muncul ketika web service

dieksekusi oleh admin. Perancangan antarmuka ini dapat dilihat digambar 3.26.

Atur Titik

Atur Koneksi 1. Klik Atur Titik untuk

menambah, mengedit dan menghapus Titik antar Lokasi

2. Klik Atur Koneksi untuk menuju A02

. .

Ukuran halaman: -Jenis Tulisan: Tahoma Ukuran Tulisan: -Warna Latar: Hitam A01


(67)

3.2.4Perancangan Pesan

Pesan merupakan tampilan dari suatu perangkat lunak yang berfungsi

untuk menyampaikan notifikasi dan informasi kepada pengguna agar perangkat

lunak lebih interaktif.

Berikut perancangan pesan yang ada pada aplikasi Android:

1 Rancangan Pesan yang akan muncul pada saat tidak ada titik asal terdefinisi.

Peringatan

Error: Tidak ada titik asal terdefinisi dengan nama

OK

Gambar 3.27 Pesan M01

2 Rancangan Pesan yang akan muncul pada saat tidak ada titik tujuan

terdefinisi.

Peringatan

Error: Tidak ada titik tujuan terdefinisi dengan nama

OK

Gambar 3.28 Pesan M02

3 Rancangan Pesan yang akan muncul pada saat Alpha tidak diisi.

Alpha, harus diisi


(68)

4 Rancangan Pesan yang akan muncul pada saat Betha tidak diisi.

Betha, harus diisi

Gambar 3.30 Pesan M04

5 Rancangan Pesan yang akan muncul pada saat Q tidak diisi.

Q, harus diisi

Gambar 3.31 Pesan M05

6 Rancangan Pesan yang akan muncul pada saat P tidak diisi.

P, harus diisi

Gambar 3.32 Pesan M06

7 Rancangan Pesan yang akan muncul pada saat Siklus tidak diisi.

Siklus, harus diisi

Gambar 3.33 Pesan M07

8 Rancangan Pesan yang akan muncul pada saat Semut tidak diisi.

Semut, harus diisi


(69)

9 Rancangan Pesan yang akan muncul pada saat Update.

Harap Tunggu

Sementara Proses

Gambar 3.35 Pesan M09

Berikut perancangan pesan yang ada pada aplikasi Web Service:

Tabel 3-13 Rancang pesan pada aplikasi Web Service

No. Pesan Isi Pesan Jenis Pesan Form

M09 Masukan Nama

Titik, jika tipe adalah lokasi

Rancang pesan yang akan muncul pada saat nama titik belum dimasukan

Atur titik

M10 Masukan

Koordinat dari titik

Rancang pesan yang akan muncul pada saat titik koordinat belum dimasukan

Atur titik

Rancangan Pesan yang akan muncul pada saat titik akan dihapus.

Apakah anda yakin?

Cancel OK


(70)

Rancangan Pesan yang akan muncul pada saat koneksi akan dihapus.

Apakah anda yakin?

Cancel OK

Gambar 3.37 Pesan M13

3.2.5Jaringan Semantik

Jaringan semantik adalah diagram yang menggambarkan aliran-aliran

menu dan pesan dalam sebuah program. Jaringan semantik perangkat lunak

pencarian jarak terdekat dapat dilihat pada gambar dibawah ini.

A01 A02

M01,M02, M03,M04, M05,M06, M07,M08,

M09

Gambar 3.38 Jaringan Semantik pada Aplikasi Android

A01 A02

M09, M10, M12 M11, M13

Gambar 3.39 Jaringan Semantik pada Web Service

3.2.6Perancangan Prosedural

Langkah terakhir dalam perancangan yaitu merancang prosedural.


(71)

diimplementasikan ke dalam sistem. Perancangan prosedural untuk perangkat

lunak pencarian jarak terdekat adalah sebagai berikut.

3.2.6.1Prosedural Optimasi Jarak pada Aplikasi Android

Prosedural optimasi jarak menjelaskan langkah-langkah untuk proses

optimasi jarak. Dimulai dengan memasukan tempat asal dan tujuan, kemudian

memilih hasil optimasi, hingga menghasilkan tampil perta. Berikut rancangan

prosedural optimasi dilihat pada gambar 3.40.

Mulai

Tempat asal & tujuan

Tampil Peta

Selesai Hasil optimasi

Pilih hasil optimasi


(72)

3.2.6.2Prosedural Atur Titik pada Web Service

Prosedural atur titik menjelaskan langkah-langkah untuk menambah,

mengedit dan menghapus suatu titik. Dimulai dengan menambahkan titik baru

yang berisi nama titik, tipe titik, koordinat titik dan deskripsi titik. Berikut

rancangan prosedural atur titik dapat dilihat pada gambar 3.41.

Mulai

nama titik, tipe titik, koordinat titik,

deskripsi titik

Selesai Simpan


(73)

9

2.1 Sejarah Dinas Perhubungan Provinsi Jawa Barat

Pada Umumnya keberadaan sebuah organisasi tidak akan selalu tetap,

melainkan selalu dinamis/berubah sesuai tuntutan perubahan jaman, baik dalam

hal bentuk/strukturnya, orang yang duduk didalamnya, sampai kedalam hal misi

dan visinya. Itu semua dilakukan dalam upaya mencapai tujuan yang diinginkan

oleh organisasi yang bersangkutan.

Dinas Perhubungan Provinsi Jawa Barat sebagai objek penelitian

merupakan sebuah Organisasi Pemerintah Daerah Provinsi Jawa Barat, termasuk

sebuah organisasi yang dinamis, karena keberadaannya merupakan hasil

perubahan/likuidasi dari 2 (dua) organisasi yang menangani masalah transportasi

di Jawa Barat, yaitu organisasi/instansi vertikal yang bernama Kantor Wilayah X

Departemen Perhubungan Provinsi Jawa Barat dan organisasi/instansi Daerah

yang bernama Dinas Lalu Lintas dan Angkutan Jalan (DLLAJ) Provinsi Daerah

Tingkat I Jawa Barat.

Masing- masing institusi tersebut dalam perjalanannya telah mengalami

beberapa kali perubahan dan akhirnya dengan diberlakukannya otonomi Daerah

melalui UU No. 22 Tahun 1999, Instansi vertikal Kantor Wilayah X Dinas

Perhubungan Provinsi Jawa Barat dan Instansi Dinas Lalu Lintas dan Angkutan

Jalan Provinsi Daerah Tingkat I Jawa Barat di likuidasi menjadi Dinas

Perhubungan Provinsi Jawa Barat yang dibentuk berdasarkan Peraturan Daerah


(74)

Jawa Barat yang kemudian Strukturnya disempurnakan dengan Perda No. 5 tahun

2002 tentang Perubahan atas Perda Provinsi Jawa Barat No. 15 tahun 2000

tentang Dinas Daerah Provinsi Jawa Barat.

Renstra Tahun 2006-2008 sebagai ganti dari Renstra 2001-2005 belum

tersusun (saat ini masih dalam proses) maka dalam masa transisi ini, visi-misi

Dinas Perhubungan mengacu pada AKU/SP (Arah Kebijakan Umum/ Strategi dan

Prioritas) yang telah ditetapkan.

2.1.1Visi Perusahaan

Visi Dinas Perhubungan adalah “Perhubungan Terpadu sebagai pendorong Utama Pembangunan Jawa Barat Tahun 2010“.

Visi ini dikembangkan untuk menunjang Visi Jawa Barat yaitu: ”Jawa Barat dengan Iman dan Takwa sebagai Provinsi Termaju di Indonesia dan Mitra

Terdepan Ibu Kota Negara Tahun 2010”. Sedangkan visi Pemerintahan provinsi

Jawa Barat, yang dituangkan dalam Peraturan Daerah Provinsi Jawa Barat Nomor

1 Tahun 2004 adalah ”Akselerasi peningkatan Kesejahteraan Masyarakat Guna mendukung Pencapaian Visi Jawa Barat 2010”.

2.1.2Misi Perusahaan

Sementara itu, misi yang dikembangkan untuk dapat mewujudkan visi

tadi, Dinas merumuskan misi-misi sebagai berikut:

1 Mengintegrasikan penyelenggaraan perhubungan melalui konsolidasi dan


(75)

2 Memenuhi kebutuhan saran, prasarana dan fasilitas perhubungan yang

berdimensi kelancaran dan keselamatan penyelenggaraan perhubungan

melalui koordinasi pembangunan lintas sektoral dan terciptanya peran serta

masyarakat dalam penyelenggaraan perhubungan;

3 Mengembangkan sistem perhubungan terpadu yang mampu mendukung

percepatan pembangunan ekonomi berskala local, regional dan nasional

melalui pembangunan sistem informasi manajemen perhubungan dan

pemanfaatan kemajuan IPTEK serta meningkatkan profesionalisme sumber

daya manusia perhubungan.

2.1.3Struktur Organisasi Perusahaan

Berdasarkan Pasal 4 huruf (i) Peraturan Daerah Provinsi Jawa Barat No.

21 Tahun 2008 tentang Dinas Daerah Provinsi Jawa Barat, Dinas Perhubungan

mempunyai struktur organisasi sebagai berikut:

1 Kepala Dinas;

2 Sekretaris, membawahkan:

a Sub Bagian Kepegawaian dan Umum;

b Sub Bagian Keuangan;

c Sub Bagian Perencanaan dan Program;

3 Bidang Transportasi Darat, membawahkan:

a Seksi Jaringan dan Simpul Pelayanan Angkutan;

b Seksi Angkutan Darat;


(76)

4 Bidang Transportasi Laut dan ASDP, membawahkan:

a Seksi Lalu Lintas Angkutan Laut, ASDP dan Kepelabuhanan;

b Seksi Keselamatan Pelayaran dan Perkapalan;

c Seksi Penjagaan dan Penyelamatan;

5 Bidang Transportasi Udara, membawahkan:

a Seksi Angkutan Udara;

b Seksi Teknik Bandara, Fasilitas Listrik dan Elektronika;

c Seksi Keselamatan Penerbangan;

6 Bidang Bina Sistem Operasional Transportasi, membawahkan:

a Seksi Penataan Sistem Transportasi;

b Seksi Pengendalian Operasional Transportasi;

c Seksi Teknis Sarana dan Keselamatan Transportasi;


(77)

Untuk lebih jelasnya dapat dilihat bagan berikut ini: Kepala Dinas Bina Sistem Operasional Transportasi Transportasi Udara

Transportasi Darat Transportasi Laut dan

ASDP Sekretaris

1. Penataan Sistem Transportasi 2. Pengendalian Operasional Transportasi 3. Teknis Sarana dan Keselamatan Transportasi 1. Angkutan Udara

2. Teknik Bandara, Fasilitas Listrik dan Elektronika 3. Keselamatan Penerbangan 1. Kepegawaian dan

Umum 2. Keuangan 3. Perencanaan dan Program

1. Lalu lintas Angkutan Laut, ASDP dan kepelabuhan 2. Keselamatan Pelayaran dan Perkapalan 3. Penjagaan dan Penyelamatan 1. Jaringan dan

Simpul Pelayanan Angkutan 2. Angkutan Darat 3. Rekayasa dan Keselamatan

Gambar III. 1 Struktur Organisasi Perusahaan

A Unit Pelaksana Teknis Dinas (UPTD)

Khusus Unit Pelaksana Teknis Dinas Perhubungan Provinsi Jawa Barat

diatur berdasarkan Pasal 2 ayat (2) huruf (i) Peraturan Daerah Provinsi Jawa Barat

No. 5 tahun 2002 tentang Perubahan atas peraturan Daerah Provinsi Jawa Barat

No. 15 tahun 2000 tentang Dinas Daerah Provinsi Jawa Barat, dimana dalam

ketentuan tersebut Dinas Perhubungan Provinsi Jawa Barat memiliki 5 (lima) unit

Pelaksana Teknis Dinas, yaitu:

a. Balai Pengelolaan Pelabuhan Laut, Angkutan Sungai, Danau dan

Penyeberangan (ASDP) dengan struktur sebagai berikut:

a Kepala Balai;

b Sub Bagian Tata Usaha;

c Seksi Sarana dan Prasarana;

d Seksi Tata Operasional;


(78)

f Instalasi (tersebar di beberapa kabupaten di Jawa Barat);

g Kelompok Jabatan Fungsional.

Catatan: Lokasi Kantor di Jl. Raya Cinunuk Bandung.

b. Balai Pengelolaan Bandar Udara, memiliki struktur organisasi sebagai

berikut:

a Kepala Balai;

b Sub Bagian Tata Usaha;

c Seksi Sarana dan Prasarana;

d Seksi Tata Operasional;

e Instalasi (Bandara Nusawiru Ciamis);

f Kelompok Jabatan Fungsional.

Catatan: Lokasi Kantor di Jl. Sukabumi no. 1 Bandung.

c. Balai Pelayanan dan Pemeriksaan Kendaraan Bermotor Wilayah I (Bogor

– Purwakarta) memiliki struktur organisasi sebagai berikut : a Kepala Balai;

b Sub Bagian Tata Usaha;

c Seksi Pelayanan;

d Seksi Pemeriksaan;

e Instalasi (tersebar di beberapa kabupaten/kota di Jawa Barat);

f Kelompok Jabatan Fungsional.

Catatan: Lokasi Kantor di Bogor

d. Balai Pelayanan dan Pemeriksaan Kendaraan Bermotor Wilayah II


(79)

a Kepala Balai;

b Sub Bagian Tata Usaha;

c Seksi Pelayanan;

d Seksi Pemeriksaan;

e Instalasi (tersebar di beberapa kabupaten/kota di Jawa Barat);

f Kelompok Jabatan Fungsional.

Catatan: Lokasi Kantor di Cirebon

2.1.4Uraian Tugas dan Jabatan

Uraian tugas yang terdapat pada Dinas Perhubungan Provinsi Jawa Barat

adalah sebagai berikut:

1 Kepala Dinas

Memimpin pelaksanaan urusan bidang perhubungan dengan menggerakan

segenap sumber daya dan fasilitas yang ada agar tugas dan fungsi Dinas dapat

dilaksanakan secara berdaya guna dan berhasil guna dalam mencapai visi Dinas

sekaligus untuk mendorong terwujudnya Visi Kabupaten.

2 Sekretariat

a Membantu tugas Kepala Dinas dalam urusan kesekretariatan;

b Merumuskan kebijakan teknis di bidang kesekretariatan meliputi urusan

umum, program dan keuangan;

c Menyelenggarakan dan memimpin urusan kesekretariatan;

d Mengkoordinasikan hubungan kerja dengan bidang dalam unit kerja


(80)

e Memberikan masukan dan saran kepada Kepala Dinas berkaitan dengan

langkah dan kebijakan dalam unit kerja;

f Melaksanakan tugas lain yang diberikan atasan sesuai bidang dan

urusannya;

g Membuat laporan pertanggung jawaban kegiatan kepada atasan mengenai

tugas yang telah dilaksanakan.

3 Subbagian Perencanaan dan Program

a Membantu Sekretaris dalam urusan penyusunan program, pengawasan dan

pengendalian serta evaluasi, data dan laporan;

b Menyusun rencana kegiatan sub bagian;

c Menyusun Renstra SKPD, dan Rencana Kinerja Tahunan (RKT/ Renja)

d Menyusun rencana program kerja dan anggaran dinas dan pendapatan:

penyusunan RKA dan DPA SKPD sekaligus perubahan anggaran (DPPA

SKPD) dengan melakukan koordinasi dengan dengan unit kerja yang lain;

e Merencanakan dan menyelenggarakan penelitian dan pengembangan di

bidang transportasi;

f Melakukan koordinasi dengan instansi terkait baik di tingkat kabupaten/

kota, provinsi maupun nasional dalam penyelenggaraan sistem transportasi

terpadu;

g Melaksanakan pengawasan dan pengendalian dan evaluasi serta

penyusunan laporan pelaksanaan kegiatan dinas secara berkala ( triwulan


(81)

h Menyusun konsep format laporan akuntabilitas kinerja instansi

pemerintah;

i Melaksanakan tugas lain yang diberikan atasan sesuai dengan bidang

urusannya;

j Membuat laporan kepada atasan mengenai tugas yang telah dilaksanakan.

4 Subbagian Keuangan

Berdasarkan pasal 6 tahun 2007 mengenai tugas pokok dalam subbgian

keuangan antara lain:

1 Subbagian keuangan mempunyai tugas pokok melaksanakan pengelolaan

administrasi keuangan di lingkungan Dinas.

2 Dalam menyelenggarakan tugas pokok sebagaimana dimaksud pada ayat

(1) pasal 6, Subbagian keuangan mempunyai fungsi:

a Pelaksanaan penyusunan bahan rencana anggaran belanja langsung dan

tidak langsung Dinas;

b Pelaksanaan koordinasi dan pengelolaan administrasi keuangan Dinas;

c Pelaksanaan koordinasi pengelolaan keuangan pada UPTD.

3 Rincian Tugas pada Subbagian Keuangan:

a Melaksanakan penyusunan program kerja Subbagian keuangan;

b Melaksanakan penyusunan bahan dan penyiapan anggaran Dinas;

c Melaksanakan pengadministrasian dan pembukuan keuangan Dinas;

d Melaksanakan penyusunan pembuatan daftar gaji dan tunjangan

Daerah serta pembayaran lainnya;


(82)

f Melaksanakan penyiapan bahan pembinaan administrasi keuangan;

g Melaksanakan penatausahaan belanja langsung dan belanja tidak

langsung Dinas dan UPTD;

h Verifikasi keuangan;

i Melaksanakan Sistem Akuntansi Instansi (SAI) dan penyiapan bahan;

j Melaksanakan pengelolaan data/ bahan laporan keuangan Dinas;

k Melaksanakan pelaporan dan evaluasi kegiatan Subbagian Keuangan;

l Melaksanakan penyusunan bahan telaahan staf sebagai bahan

pertimbangan pengambilan kebijakan;

m Melaksanakan pengendalian administrasi perjalanan dinas pagawai;

n Melaksanakan koordinasi dengan unit kerja terkait;

o Melaksanakan tugas lain sesuai tugas pokok dan fungsinya.

4 Subbagian Kepegawaian dan Umum

a Membantu Sekretaris dalam urusan umum dan kepegawaian;

b Menyusun rencana kegiatan urusan umum dan kepegawaian;

c Merangkum kebutuhan ATK, sarana prasarana operasional Dinas;

d Menyimpan, memelihara dan mendistribusikan perlengkapan kantor

sesuai sesuai kebutuhan untuk menunjang tugas dan operasional dinas;

e Melaksanakan urusan penyelenggaraan dan pelayanan tata naskah

dinas, surat menyurat, kearsipan, perpustakaan, hubungan masyarakat

dan protokol, bantuan hukum;

f Melaksanakan urusan kebersihan, ketertiban dan keamanan lingkungan


(83)

g Pengelolaan dan pemeliharaan gedung kantor dan sarana kerja

pendukung lainnya, kendaraan dinas operasional;

h Menyiapkan sarana prasarana untuk kepentingan rapat dan

penyambutan tamu Dinas serta acara sejenis lainnya;

i Melaksanakan urusan kepegawaian:

1 Administrasi kepegawaian: penyiapan bahan dan memproses

usulan penempatan pegawai, kenaikan pangkat, kenaikan gaji

berkala (dengan buku penjagaan), mutasi/ alih tugas, promosi,

pemberian penghargaan, hukuman disiplin, pemberhentian dan

pensiun PNS, cuti, pembuatan kartu pegawai/ Kartu Isteri/ Kartu

Suami, askes, penyusunan DUK, formasi pegawai, DP3, LP2P.

2 Melaksanakan pembinaan personil secara berkala, penyiapan

presensi Pegawai.

j Melaksanakan tugas lain yang diberikan atasan sesuai dengan bidang

dan urusannya.

k Membuat laporan kepada atasan mengenai tugas yang dilaksanakan.

5. Bidang Transportasi Darat

a .Membantu Kepala Dinas dalam urusan lalu lintas terutama

transportasi darat.

b Merumuskan sasaran kebijakan teknis urusan kelalulintasan meliputi

manajemen rekayasa dan operasional lalu lintas dan Pengendalian dan

Operasi.


(1)

WHITE BOX

Berdasarkan pengujian pada setiap metode, dihasilkan nilai Cyclomatic Complexity yang sama yaitu:


(2)

BLACK BOX

Berdasarkan pengamatan yang dilakukan, seluruh pengujian black box dapat berjalan dengan baik.


(3)

(4)

(5)

(6)

TERIMA KASIH