Pencarian Jarak Terdekat Di Kota Tasikmalaya Menggunakan Algoritma Semut Pada Sistem Operasi Android
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+ ∆ τ
ij2 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):=
τ
03 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)+ ρτ
024 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)-133 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)+ ρτ
0O(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)