BAB I PENDAHULUAN 1.1. Latar Belakang Kemajuan teknologi informasi sekarang yang semakin luas dan sangat berkembang pesat, sehingga dapat membantu masyarakat untuk menikmati bermacam kemudahan yang telah dihasilkan oleh teknologi tersebut. Salah satu aspek teknologi yang saat ini sedang berkembang pesat adalah teknologi mobile pada perangkat telpon pintar (smartphone). Teknologi smartphone yang sedang menjadi incaran masyarakat saat ini adalah adanya sistem operasi berbasis Android. Banyak kalangan akademisi mengembangkan aplikasi berbasis android, sehingga dinilai dapat memberikan banyak manfaat bagi penggunanya. Untuk orang-orang yang sedang berkunjung di Palembang dan tidak terlalu mengenal kota Palembang, biasanya akan mengalami kesulitan untuk mencari Rumah Sakit terdekat. Informasi pelayanan kesehatan memang sangat berguna bagi masyarakat. Informasi ini diharapkan juga berguna jika dalam keadaan darurat seperti adanya kecelakaan dalam bekerja, kecelakaan lalu lintas bagi pengendara kendaraan dan lain-lain. Berdasarkan beberapa masalah diatas, maka untuk membantu masyarakat dalam menemukan lokasi Rumah Sakit terdekat di wilayah Kota Palembang, dibangunlah aplikasi pencarian lokasi Rumah Sakit terdekat berbasis mobile platform Android. Android menjadi pertimbangan dalam mengembangkan aplikasi ini karena perangkat ini sudah banyak diminati dan digunakan oleh
1
2
masyarakat. Aplikasi ini akan memberikan informasi tentang jarak terdekat Rumah Sakit beserta, lokasi, dan alamat yang tersedia di Rumah Sakit tersebut. Pencarian jalur terpendek atau yang disebut juga shortest path problem adalah salah satu permasalahan yang menarik untuk dianalisa. Shortest path problem adalah sebuah permasalahan dalam mencari jalan diantara 2 titik atau simpul dengan menggunakan bobot yang minimal. Aplikasi dari hasil pencarian jalur terpendek bisa untuk berbagai hal. Dapat digunakan untuk memberitahukan jalan-jalan yang harus dilalui untuk memperoleh jarak terpendek atau bisa saja untuk menyelesaikan permasalahan yang dapat digambarkan dengan sebuah graf, dalam permasalah robotic, transportasi, dan lain-lain (Setiawan, 2011). Pencarian lokasi Rumah Sakit terdekat dipilih menggunakan algoritma Dijkstra karena Algoritma ini dapat menentukan jalur terpendek dari graph berbobot yang bobotnya bernilai lebih besar dari nol (positif), dari titik awal ke semua titik yang dikehendaki, sehingga nantinya dapat ditemukan jalur terpendek dari titik awal dan titik tujuan yang diinputkan.
1.2. Perumusan Masalah Rumusan masalah penelitian Skripsi ini adalah letak Rumah Sakit di kota Palembang perlu diteliti lokasinya bagi pendatang yang bukan masyarakat asli Palembang untuk memudahkan keperluan layanan kesehatan. Untuk itu, perlu dibuat suatu aplikasi untuk membantu menemukan lokasi terdekat Rumah Sakit di kota Palembang menggunakan Algoritma Dijksta dan bagaimana efektifitas penggunaaan algoritma tersebut?
3
1.3 Batasan Penelitian Pada penelitian ini akan membatasi masalah sebagai berikut : a. Kawasan pemetaan rumah sakit yang dijadikan titik lokasi pencarian adalah rumah sakit di kota Palembang. b. Rute jalan yang digunakan di anggap jalan bebas hambatan atau tanpa kemacetan dan hanya jalan utama, tidak termasuk jalan-jalan kecil / gang. c. Pencarian jalur menggunakan perhitungan algoritma Dijkstra. d. Pada penelitian ini peneliti mengambil 3 (tiga) titik awal lokasi dan 3 (tiga) lokas titik akhir rumah sakit e. Pembuatan aplikasi in imenggunakan bahasa pemrograman Java. f. Peta yang digunakan adalah peta Google Maps.
1.4 Tujuan Penelitian Penelitian ini bertujuan untuk mengembangkan program aplikasi untuk menentukan lokasi Rumah Sakit terdekat dengan menggunakan algoritma Dijkstra.
1.5 Ruang Lingkup dan Batasan Masalah Permasalahan dalam penelitian ini dibatasi sebagai berikut: 1. Untuk memudahkan penelitian ini akan dipilih lokasi Rumah Sakit saja. 2. Dalam penentuan jalur terpendek menggunakan algoritma Dijkstra dengan titik awal adalah tempat berada, dan titik akhir adalah lokasi Rumah Sakit Aplikasi ini kemudian akan dikembangkan kedalam berbasis platform Android.
sistem operasi
4
1.6 Manfaat Penlitian Hasil penelitian ini diharapkan dapat memberikan manfaat yaitu : 1. Dapat menentukan lokasi terdekat bagi masyarakat yang membutuhkan layanan ini. 2. Diharapkan memberikan pengetahuan mengenai algoritma Dijkstra. 3. Efektifitas waktu perjalanan.
1.7 Metodologi Penelitian 1.7.1 Lokasi dan Waktu penelitian Penelitian ini dilakukan di Kota Palembang Sumatera Selatan, yang terletak diantara 2o 52,sampai 3o 5, Lintang Selatan dan 104o 37, sampai 104o 52,bujur timur dengan luas wilayah Kota Palembang sebesar 400,61 km2. Waktu penelitian akan dilaksanakan mulai tanggal 5 November sampai dengan selesai. 1.7.2 Data Penelitian Data penelitian yang digunakan adalah data kualitatif yaitu data yang berwujud pertanyaan atau berupa kata-kata (Riduwan, 2004: hal. 106). Sumber data yang digunakan adalah data primer dan data sekunder. Data primer diperoleh dengan melakukan wawancara kepada pihak Dinas Kesehatan kota Palembang untuk memenuhi kebutuhan sistem yang akan dibangun. Data sekunder diperoleh dari meninjau langsung ke Dinas Kesehatan kota Palembang 1.7.3 Metode Penelitian Tahap-tahapan yang dilakukan dalam penelitian pencarian jalur terpendek Rumah Sakit menggunakan Metode Algoritma Dijkstra.
5
1. Mengumpulkan data data Rumah Sakit 2. Menganalisis metode yang akan digunakan dalam pencarian jalur terpendek pada Rumah Sakit 3. Melakukan pengembangan perangkat lunak menggunakan metode Rational Unified Process (RUP). 4. Mengimplementasikan metode metode yang digunakan dalam pencarian jalur terdekat Rumah Sakit 5. Melakukan eksperimen perangkat lunak dengan berbagai masukan terhadap perangkat lunak. 6. Melakukan analisis dan pembahasan terhadap hasil pengujian perangkat lunak 7. Menarik kesimpulan dan membuat laporan penelitian. 1.7.4 Metodologi Pengembangan Perangkat Lunak Metodologi yang diterapkan dalam pengembangan perangkat lunak ini adalah Rational Unified Process (RUP) yang merupakan model pengembangan perangkat lunak berorientasi objek dan bersifat iterative incremental.Tahapan yang dilakukan dalam penelitian ini adalah sebagai berikut: a.) Fase Insepsi Pada fase ini, tahapan yang akan dilakukan adalah menganalisa kebutuhan dan ruang lingkup aplikasi hangul menggunakan metode graph matching. b.) Fase Elaborasi Tahapan yang akan dilakukan, yaitu : 1. Melakukan analisis dan perancangan perangkat lunak menggunakan metode graph matching.
6
2. Mengidentifikasi arsitektur perangkat lunak berdasarkan use case yang telah dimodelkan pada tahapan insepsi. 3. Menggambarkan model kelas analisis, diagram kelas, diagram sekuen, dan diagram aktivitas dari perangkat lunak menggunakan metode graph matching. c.) Fase Konstruksi Tahapan yang akan dilakukan, yaitu : 1. Memastikan kelengkapan dan kesesuaian antara diagram use case, model kelas analisis, diagram kelas, dan diagram sekuen. 2. Membuat kode program yang sesuai dengan fungsi-fungsi yang telah digambarkan pada fase sebelumnya. 3. Melakukan pengujian perangkat lunak dan perbaikan berdasarkan hasil analisis pengujian d.) Fase Transisi Pada fase ini akan dilakukan pengujian terhadap perangkat lunak dengan metodologi pengujian perangkat lunak yaitu, metode white box testing dan black box testing. 1.7.5 Jenis Data Jenis data yang digunakan dalam penelitian ini adalah data printer berupa nama jalan, lokasi jalan, dan jarak lokasi Rumah Sakit yang diinput kedalam database Android Developer Tools (ADT). 1.7.6 Teknik Pengumpulan Data Sumber data yang digunakan untuk penelitian ini berasal dari Dinas Kesehatan Kota Palembang
7
1.8 Sistematika Pembahasan Sistematika Pembahasan ini mejelaskan mengenai uraian singkat tiaptiap bab dalam penelitian ini adalah sebagai berikut. BAB I
PENDAHULUAN
Bab ini menguraikan Latar Belakang, Tujuan dan Manfaat, Rumusan Masalah, Batasan Masalah dan Sistematika Penulisan. BAB II
LANDASAN TEORI
Bab ini menguraikan pengertian mengenai Landasan tentang teori-teori yang berkaitan dengan Aplikasi Pencarian jalur terpendek dengan menggunakan Algoritma Dijkstra BAB III
RANCANGAN/DESIGN
Bab ini menguraikan Waktu Penelitian, Alat dan Bahan Penelitian, Metode Penelitian, Metode Pengembangan BAB IV
HASIL DAN PEMBAHASAN
Bab ini menguraikan tentang hasil dari implementasi pada bab sebelumnya serta akan membahas kelebihan dan kekurangan masing-masing sistem dari aplikasi yang dirancang. BAB V
SIMPULAN DAN SARAN
Bab ini menguraikan kesimpulan-kesimpulan dari pembahasan bab sebelumnya dan dilengkapi dengan saran.
BAB II LANDASAN TEORI 2.1 Tinjauan Pustaka 2.1.1 Android Android adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti telepon pintar dan komputer tablet. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Pada tahun 2005, Google mengakuisisi Android Inc, dan menjadikan Andy Rubin sebagai Direktur dari mobile platform untuk Google. Google ingin Android menjadi terbuka dan bebas, maka, sebagian besar kode Android dirilis di bawah Lisensi Apache open-source, yang berarti bahwa siapa saja yang ingin menggunakan Android dapat melakukannya dengan men-download kode sumber penuh Android (Lee, 2011). Ada banyak manfaat dari platform Android untuk menghiraukan pembangunan Android. Pertama-tama, Android berbasis pada teknologi open source, yang pada awal tidak sehalus teknologi berbayar dari Apple dan Microsoft. Namun, selama dua dekade terakhir, sumber teknologi perangkat lunak open telah menjadi sama secanggih konvensional pengembangan teknologi. Hal ini terbukti di Internet 2.0, karena mayoritas produsen elektronik konsumen telah memilih Linux dan Java melalui sistem operasi Windows dan Macintosh. Oleh
9
karena itu, pengembang Android dapat berkembang tidak hanya untuk smartphone, tetapi juga untuk perangkat elektronik baru dengan jaringan yang kompatibel dan dengan demikian tersedia untuk terhubung ke Android Market (Lee, 2011). 2.1.2 Smartphone Smartphone adalah perangkat telepon genggam yang mempunyai kemampuan
tingkat
tinggi
menyerupai
kemampuan
yang dimiliki
oleh
komputer. Hingga saat ini belum ada standard yang menentukan definisi dari smartphone. Bagi beberapa orang, smartphone merupakan perangkat telepon genggam yang menggunakan seluruh piranti lunak sistem operasi yang menyediakan fitur-fitur dan hubungan bagi pengembangan aplikasi (Rosyidah, 2013:5). 2.1.3 Android Software Development Kit (SDK) Android Software Development Kit (SDK) adalah kumpulan software yang berisi mengenai pustaka, debugger (alat pencari kesalahan program), emulator (peniru perangkat bergerak), dokumentasi, kode contoh, dan panduan (Kadir, 2013:5). Mulyadi (2010, dalam muhammad rezki firdaus dkk) menyatakan bahwa “Android Software Development Kit (SDK) adalah tools dan Application Programming Interface (API) yang diperlukan untuk aplikasi pengembangan platform Android dengan menggunakan bahasa pemograman Java”. h.2
10
2.1.4 Java Development Kit (JDK) Java Development Kit (JDK) adalah sebuah perangkat peralatan yang digunakan untuk membangun perangkat lunak dengan menggunakan bahasa pemrograman Java.( Hafsi dkk, 2012:2). 2.1.5 Android Development Tools (ADT) Android Development Tools (ADT) plugin untuk Eclipse Integrated Development Environment (IDE) yang memungkinkan Eclipse digunakan untuk memngembangkan aplikasi Android. ADT inilah yang membuat pengembangan aplikasi Android dapat dilakukan dengan mudah (Kadir, 2014:6). 2.1.6 Google Maps Google Maps merupakan salah satu penyedia layanan pemetaan dan kartografi berbasis web dengan waktu loading yang relatif lebih cepat. Google Maps juga menampilkan peta dan menyediakan layanan script API (Aplication Programming Interface) yang kaya dan bisa dikembangkan dengan mudah (Wirasandy.dkk, 2011:4). Google Maps adalah peta online atau membuka peta secara online, dapat dilakukan secara mudah melalui layanan gratis dari Google. Bahkan layanan ini menyediakan API (Application Programming Interface) yang memungkinkan developer lain untuk memanfaatkan aplikasi ini di aplikasi buatannya (Rompas, 2012:3).
11
2.1.7 SQLite SQLite merupakan salah satu RDBMS yang sama dengan RDBMS lainnya, seperti MySQL, PostgresSQL, dan Oracle. Aplikasi ini cukup ringan dan mudah dalam pengistalannya, sehingga cocok digunakan untuk aplikasi yang membutuhkan memory dan library yang kecil seperti aplikasi Android. Kata Lite yang digunakan mengacu pada keringanan/kemudahan dalam proses instalasi, serta penggunaannya (Winarno, dkk. 2011:146). 2.1.8 Java Java adalah perangkat lunak produksi Sun Microsystem Inc., yang merupakan perangkat lunak pemrograman untuk beberapa tujuan (multi purpose), multiplatform (dapat berjalan di beberapa sistem operasi), mudah dipelajari dan powerfull.
Aplikasi-aplikasi
yang
dapat
dibuat
dengan
Java
meliputi
pemrograman web (web programming), pemrograman desktop (desktop programming), pemrograman handphone/mobile (mobile programming) (Supardi, 2014:1) 2.1.9 Rumah Sakit Rumah sakit adalah suatu organisasi yang melalui tenaga medis profesional
yang terirganisasi
serta sarana
menyelenggarakan
pelayanan
kedokteran,
berkesinambungan,
diagnosis,
serta
kedokteran asuhan
pengobatan
yang permanen perawatan
yang
diderita
yang oleh
pasien(American Hospital Assiciation, 1974; dalam Azwar, 1996). Sementara itu, dalam Sistem Kesehatan Nasional (1992) dinyatakan bahwa rumah sakit mempunyai fungsi utama menyelenggarakan kesehatan bersifat penyembuhan dan
12
pemulihan penderita serta memberikan pelayanan yang tidak terbatas pada perawatan di dalam rumah sakit saja, tetapi memberikan pelayanan rawat jalan, serta perawatan di luar rumah sakit.
2.1.10 Fungsi Rumah Sakit Rumah sakit oleh WHO ( 1957 ) diberikan batasan yaitu suatu bagian menyeluruh, ( Integrasi ) dari organisasi dan medis, berfungsi memberikan pelayanan kesehatan lengkap kepada masyarakat baik kuratif maupun rehabilitatif, dimana output layanannya menjangkau pelayanan keluarga dan lingkungan, rumah sakit juga merupakan pusat pelatihan tenaga kesehatan serta untuk penelitian biososial Fungsi rumah sakit selain diatas juga merupakan pusat pelayanan rujukan medik spesialistik dan sub spesialistik dengan fungsi utama menyediakan dan menyelenggarakan upaya kesehatan yang bersifat penyembuhan ( kuratif ) dan pemulihan ( rehabilitasi pasien ). Maka sesuai dengan fungsi utamanya tersebut perlu pengaturan sedimikian rupa sehingga rumah sakit mampu memanfaatkan sumber daya guna dan berhasil guna ( Ilyas : 2001. )
2.1.11 Algoritma Dijkstra Algoritma ini diberi nama sesuai nama penemunya, Edsger Wybe Dijkstra. Algoritma Dijkstra mencari lintasan terpendek dalam sejumlah langkah. Algoritma ini menggunakan prinsip Greedy yang menyatakan bahwa pada setiap langkah kita memilih sisi yang berbobot minimum dan memasukkannya ke dalam
13
himpunan solusi Input. Algoritma ini adalah sebuah graph berarah yang berbobot (weighted directed graph) G dan sebuah sumber vertex s dalam G dan V adalah himpunan semua vertices dalam graph G (Rosen,1999):
Properti algoritma Dijkstra: 1. Matriks ketetanggaan M[mij] mij = bobot sisi (i, j) mii = 0 mij = ∞, jika tidak ada sisi dari simpul i ke simpul j
2. Larik S = [si] yang dalam hal ini, Si = 1, jika simpul i termasuk ke dalam lintasan terpendek Si = 0, jika simpul i tidak termasuk ke dalam lintasan terpendek
3. Larik/tabel D = [di] yang dalam hal ini, Di = panjang lintasan dari simpul awal s ke simpul i Algoritma Lintasan Terpendek Dijkstra (Mencari lintasan terpendek dari simpul a ke semua simpul lain) Langkah 0 (inisialisasi): - inisialisasi si = 0 dan di = mai untuk i = 1, 2, ..., n Langkah 1: - isi sa dengan 1 (karena simpul a adalah simpul asal lintasan terpendek, jadi sudah pasti terpilih)
14
- isi da dengan ∞ (tidak ada lintasan terpendek dari simpul a ke a) Langkah 2, 3, ..., n: - cari j sedemikian sehingga sj = 0 dan dj = min{d1 , d2 , ..., dn } - isi sj dengan 1 perbarui di , untuk i = 1, 2, 3, …, n dengan: di (baru) = min{ di (lama), dj + mji }. Contoh : Misal diberikan graph berbobot seperti gambar 2.1 di bawah ini Misalnya diberikan graph berbobot dan berarah seperti gambar di atas. Akan dicari lintasan terpendek dari simpul A ke semua simpul lain. Maka untuk menyelesaikan permasalahan tersebut dapat menggunakan tabel seperti pada gambar 2.1.
Gambar 2.1 Algoritma Dijkstra (Rosen,1999):
Jadi, lintasan terpendek dari: A ke C adalah A, C dengan panjang = 6 A ke B adalah A, B dengan jarak = 9
15
A ke E adalah A, B, E dengan jarak = 13 A ke F adalah A, B, F dengan jarak = 19 A ke D adalah A, B, F, D dengan jarak = 25 A ke G adalah A, B, F, D, G dengan jarak = 36 A ke H adalah A, B, E, H dengan jarak = 38.
Tabel 2.1 Penyelesaian Menggunakan Algoritma Dijkstra
2.1.12 Jalur Terpendek Jalur terpendek adalah suatu jaringan perjalanan dimana sesorang pengarah jalan ingin menentukan jalur terpendek antar dua Rumah Sakit atau lebih , berdasarkan beberapa jalur yang tersedia, dimana titik tujuan hanya satu. Tujuan dari permasalahan jalur terpendek adalah mencari jalur yang memiliki jarak terpendek antara titik asal dan titik tujuan.
16
2.1.13 Perangkat Lunak Aplikasi atau lengkapnya perangkat lunak aplikasi (application software) adalah perangkat lunak yang dapat dimanfaatkan untuk memecahkan masalah-masalah tertentu atau melakukan tugas-tugas pengolahan data tertentu. Sebagai contoh Microsoft Word merupakan aplikasi pengolah kata yang dapat dimanfaatkan untuk membuat laporan, artikel, skripsi dan sejenisnya. Perangkat lunak akuntansi, penggajian, manajemen persediaan merupakan beberapa contoh dari aplikasi ini Stephen Haag dan Maeve Cummings,( 2009:286). Ralph M. Stair dan George W. Reynolds (2012:94) berpendapat bahwa perangkat lunak aplikasi memanfaatkan kemampuan komputer untuk memberi individu, kelompok, bahkan perusahaan kemampuan untuk memecahkan masalahmasalah tertentu. Perangkat lunak aplikasi beriteraksi dengan perangkat lunak sistem dan perangkat lunak sistem mengarahkan perangkat keras komputer untuk melaksanakan tugas-tugas yang diperlukan. Keterkaitan antara perangkat lunak aplikasi, perangkat lunak sistem dan perangkat keras komputer sebagai komponen-komponen pembentuk teknologi informasi disajikan pada gambar berikut ini:
17
Gambar 2.2 : Perangkat lunak aplikasi sebagai komponen dari teknologi informasi Stephen Haag dan Maeve Cummings, (2009:15)
2.1.14 Flowchart Flowchart adalah suatu teknik untuk menyusun rencana program telah diperkenalkan dan telah dipergunakan oleh kalangan programer komputer sebelum algoritma menjadi populer, flowcharting. Flowchart adalah untaian simbol gambar (chart) yang menunjukan aliran (flow) dari proses terhadap data. Simbol-simbol flowchart dapat diklasifikasikan menjadi simbol untuk program dan simbol untuk sistem (peralatan hardware). (Suarga, 2006: 6).
18
2.1.15 Unified Modeling Language (UML) Unified Modeling Language (UML) adalah bahasa visual untuk pemodelan dan berkomunikasi mengenai sebuah sistem dengan mengguanakan diagram den teks-teks pendukung. UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek. Secara fisik, UML adalah sekumpulan spesifikasi yang dikeluarkan oleh OMG. (Rosa A.S & M.Salahudin, 2014:137). 2.1.15.1 Use Case Diagram Use case diagram merupakan pemodelan untuk kelakuan (behavior) sistem yang di buat. Use case menjelaskan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi. Berikut simbol-simbol yang ada pada diagram use case (Rosa & Shalahuddin, 2013: 155-160):
Tabel 2.2 Use Case Diagram NO
Gambar
Nama
Keterangan Unit-unit yang saling bertukar pesan antar unit atau
1. Use case
aktor.
2.
Actor
3.
Generalization
Hubungan dimana objek anak (descendent) berbagi perilaku dan struktur data dari objek yang ada di atasnya objek induk(ancestor).
<
>
Relasi use case tambahan kesebuah use case dimana use case yang ditambahkan memerlukan use case ini untuk menjalankan fungsinya atau sebagai syarat dijalankanya use case ini.
4.
Orang atau sistem lain dengan sistem Informasi
yang
berinteraksi
19
5.
<<Extend>>
Relasi use case tambahan kesebuah use case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan.
6.
Association
Komunikasi antara aktor atau use case saling berinteraksi
yang
Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case. 1) Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang. 2) Use case merupakan fungsionalitas yang disediakan sistem sebagai unitunit yang saling bertukar peasn antar unit dan aktor. 2.1.15.2 Activity Diagram Diagram aktivitas atau Activity Diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. (Rosa A.S & M.Salahudin, 2014:161). Berikut adalah simbol-simbol yang ada pada diagram aktivitas:
20
Tabel 2.3 Simbol Activity Diagram NO
SIMBOL
KETERANGAN
1.
Status awal
Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal
2.
Aktivitas
Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja.
3.
Percabangan / decision Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu.
4.
Penggabungan / join
Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu
5.
Status akhir
Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir
6.
Nama swimlane
Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi.
Nama swimlane 7.
Fork
Digunakan untuk menunjukkan kegiatan yang dilakukan secara parallel.
21
8.
Join
Digunakan untuk menunjukkan kegiatan yang digabungkan
Sumber : (Rosa A.S & M.Salahudin, 2014:162)
Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut: 1) Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan. 2) Urutan atau pengelompokan tampilan dari sistem/user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan. 3) Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya. 4) Rancangan menu yang ditampilkan pada perangkat lunak. 2.1.15.3 Class Diagram Class diagram atau diagram kelas menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi ((Rosa A.S & M.Salahudin, 2014:141). 1) Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas. 2) Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas.
22
Tabel 2.4 Simbol Class Diagram NO
SIMBOL
1.
Kelas
2.
antarmuka / interface
KETERANGAN Kelas pada struktur sistem
Sama dengan konsep interface pemrograman berorientasi objek
dalam
nama_interface 3.
asosiasi / association
Relasi antar kelas dengan makna umum, asosiasi biasanya juga disertai dengan multiplicity
4. asosiasi berarah / directed Relasi antar kelas dengan makna kelas yang association satu digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity.
5.
Generalisasi
6.
kebergantungan / dependency
7.
Relasi antar kelas dengan makna generalisasispesialisasi (umum khusus).
Relasi antar kelas dengan kebergantungan antar kelas.
agregasi / aggregation Relasi antar kelas dengan bagian (whole-part).
Sumber : (Rosa A.S & M.Salahudin, 2014:146)
makna
makna semua-
23
2.2 Penelitian Terdahulu Beberapa penelitian mengenai Penentuan Rute Terpendek menggunakan berbagai macam algoritma telah banyak dilakukan. Terdapat beberapa penelitian terkait mengenai penelitian ini. Penelitian sebelumnya telah dilakukan oleh Irwan Iftadi, Wakhid Ahmad Jauhari, dan Beny Nugroho (2011) mengenai Perancangan Peta Evakuasi Menggunakan Algoritma Floyd-Warshall untuk Penentuan Lintasan Terpendek. Pada Penelitian tersebut dikembangkan perancangan alur evakuasi dengan menggunakan Algoritma Floyd-Warshall untuk menentukan lintasan terpendek. Algoritma Floyd-Warshall yang menerapkan pemrograman dinamis lebih menjamin keberhasilan penemuan solusi optimum untuk kasus penentuan lintasan terpendek (single pair shortest path). Solusi lintasan terpendek dari masing-masing ruang dalam bangunan rumah sakit dapat ditentukan dengan menerapkan Algoritma Floyd-Warshall. Terdapat beberapa kelebihan Algoritma Floyd-Warshalldibandingkan dengan metode lainnya (Handaka, 2010). Kelebihan tersebut diantaranya algoritma ini mempunyai jenis all pairsyang artinya penentuan lintasan terpendek dapat ditentukan dari semua pasangan simpul, kecepatan dalam penentuan lintasan terpendek sangat cepat apabila diterapkan dalam suatu sistem, performansinya stabil, dan keputusan yang nantinya diambil saling terkait. Lalu Penelitian lainnya yang dilakukan oleh Finsa Ferdifiansyah (2012) tentang Perbandingan Algoritma Dijkstra Dan Algoritma Ant Colony Dalam Penentuan Jalur Terpendek. Pada penelitian ini dilakukan dua perbandingan algoritma untuk menentukan rute terpendek antara Algoritma Dijsktra dan Algoritma Ant Colony dan hasil yang didapat adalah Pada proses Algoritma,
24
Dijkstra memerlukan data jarak setiap kota terlebih dahulu sebelum memulai proses algortimanya. Sedangkan pada Algoritma Ant Colony, tidak memerlukan jarak setiap kota karena pada Ant Colony jarak antar kota dihitung setelah semut menyelesaikan perjalanannya. Sehingga Algoritma Dijkstra hanya bisa berjalan jika terlebih dahulu diketahui jarak tiap kota, sedangkan pada Algoritma Ant Colony tidak memerlukan jarak tiap kota untuk menjalankan prosesnya. Dari hasil proses kedua algoritma diketahui jalur yang dihasilkan oleh algoritma Dijkstra lebih konsisten dan tepat daripada algoritma Ant Colony yang mana memberikan hasil yang belum tentu sama dalam setiap prosesnya. Berdasarkan
kedua
penelitian
terdahulu,
penulis
berkeinginan
mengembangkan penelitian terhadap pencarian jalur terpendek menggunakan algoritma dijkstra pada aplikasi mobile pada platform android.
BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Masalah Masalah utama dari tugas akhir ini adalah bagaimana membuat aplikasi pencarian jalur terpendek berbasis android yang dapat mencari jalur terpendek menuju Rumah Sakit yang ada di kota Palembang. Untuk menyelesaikan pencarian jalur terpendek digunakan Algoritma Dijkstra karena Algoritma ini dapat menentukan jalur terpendek dari graph berbobot yang bobotnya bernilai lebih besar dari nol ( positif ), dari titik awal ke semua titik yang dikehendaki, sehingga nantinya dapat ditemukan jalur terpendek dari titik awal dan titik tujuan yang diinputkan. Untuk mempermudah penggunaan sistem ini, maka pengguna hanya menginputkan tentang informasi titik awal, dan titik tujuan. 3.1.1 Analisis Android Beberapa kelas yang akan digunakan dalam aplikasi menggunakan kelas bawaan yang sudah tersedia dalam Android SDK. Selain kelas, digunakan juga beberapa widget yang dibutuhkan untuk antarmuka aplikasi. Tahap ini berisi identifikasi berbagai widget dan kelas bawaan tersebut yang akan digunakan dalam aplikasi. Pengembangan aplikasi dilakukan menggunakan Android Studio versi 1.2.1.1 (2015).
25
26
3.1.2 Analisis Algoritma Dijkstra Pada tugas akhir ini digunakan Dijkstra untuk pencarian rute. Algoritma Dijkstra adalah salah satu metode untuk memecahkan masalah pencarian rute terpendek. Algoritma ini biasanya diterapkan pada sebuah aplikasi pencari rute jalan yang terdekat dari suatu daerah ke daerah lainnya. Misalkan G adalah graf berarah berlabel dengan titik-titik V(G) = {v1, v2,..., vn} dan path terpendek yang dicari adalah dari v1 ke vn. Algoritma Dijkstra dimulai dari titik v1. dalam iterasinya, algoritma akan mencari satu titik yang jumlah bobotnya dari titik 1 terkecil. Titik-titik yang terpiih dipisahkan dan titiktitik tersebut tidak diperhatikan lagi dalam iterasi berikutnya. Misalkan:
V (G) = {v1, v2,.., vn} L = Himpunan titik-titik ε V (G) yang sudah terpilih dalam jalurpath terpendek. D(j) = Jumlah bobot path terkecil dari v1 ke vj. w(i,j) = Bobot garis dari titik vi ke vj. w*(1,j) = Jumlah bobot path terkecil dari v1 ke vj
Secara formal, algoritma Dijkstra untuk mencari path/rute terpendek adalah sebagai berikut: L = { }; V = {v2, v3,..,vn}. Untuk i = 2, ..., n, lakukan D(i) – w(1, i) Selama v n ∉ L lakukan: a. Pilih titik vk ∈ V - L dengan D(k) terkecil. L = L ∪ {vk} b. Untuk setiap vj ∈ V - L lakukan: Jika D(j) > D(k) + W(k,j) maka ganti D(j) dengan D(k) + W(k,j)Untuk setiap vj ∈ V, w*(1, j) = D(j)
27
Menurut algoritma di atas, path terpendek dari titik v1 ke vn adalah melalui titik-titik dalam L secara berurutan, dan jumlah bobot path terkecilnya adalah(n). Algoritma Dijkstra dinyatakan dalam pseudo-code berikut ini( Rinaldi Munir 2005 , hal. 414): procedure Dijkstra (input m:matriks, a:simpul awal) ( Mencari lintasan terpendek dari simpul awal a ke semua simpul lainnya Masukan : matriks ketetanggaan (m) dari graf berbobot G dan simpul awal a Keluaran : lintasan terpendek dari a ke semua simpul lainnya ) Deklarasi s1, s2, ..., sn :integer (tabel integer) d1, d2, ..., dn :integer (tabel integer) i, j, k: integer Algoritma ( langkah 0 (Inisialisasi:) for i 1 to n do si 0 di mai endfor
(langkah 1 :) Sa 1 (karena simpul a adalah simpul asal lintasan terpendek, jadi simpul a sudah pasti terpilih dalam lintasan terpendek )
Daoo (tidak ada lintasan terpendek dari simpul a ke a) (langkah 2, 3, ..., n-1:) For k 2 to n-1 do J simpul dengan sj = 0 dan dj minimal Sj 1 {simpul j sudah terpilih ke dalam lintasan terpendek}
28
{perbaharui tabel d} For semua simpul I dengan si= 0 do If dj+mji
3.1.2.1 Contoh Perhitungan Rute Terpendek dengan Algoritma Dijkstra Untuk dapat menerapkan algoritma Dijkstra ini dibutuhkan beberapa data yang harus disiapkan, yaitu : 1. Beberapa titik/simpul/daerah yang bisa dijangkau secara langsung, dan juga jarak antara titik-titik atau simpul-simpul tersebut. 2. Titik/simpul/daerah awal. 3. Titik/simpul/daerah tujuan. Sebagai ilustrasi disajikan gambar graph berbobot yang menggambarkan letak dan jarak simpang - simpang A, B, C, D, E, F dan G berikut ini:
29
B 16
E
25
12
A
35
D
15
9
C
8
14 19
17 22
G 14
F
Gambar3.1 Graph berbobot yang menunjukan lokasi dan jarak simpang - simpang A, B, C, D, E, F dan G
Berdasarkan gambar graph di atas, ingin dicari rute terdekat dari simpang A ke simpang G dengan algoritma Dijkstra. Langkah-langkah yang dilakukan adalah: 1. Melakukan initialisasi nilai-nilai setiap simpul (node) simpang A s/d G : A = (0,-)0, B = (∞,-)0, C = (∞,-)0,D = (∞,-)0,E = (∞,-)0,F = (∞,-)0,G = (∞,-)0, dimana simpang = (jarak ke simpul, simpul sebelumnya)iterasi. 2. Mulai dari simpul A, tentukan jarak ke simpul-simpul lainnya. 3. Dari hasil langkah 2, ambil simpul dengan jarak terdekat menjadi simpul penentu berikutnya 4. Ulangi dari langkah 3 untuk mendapatkan simpul dengan jarak terdekat sampai semua simpul telah dicari jarak terdekatnya Secara garis besar langkah-langkah penentuan rute terdekat antara simpang A ke simpang G disajikan pada tabel berikut ini:
30
Keterangan
Belum Dikunjungi (Q)
Sudah Dikunjungi (S)
{A,B,C,D,E,F,G}
{-}
1
{B,C,D,E,F,G}
{A}
2
{B,D,E,F,G}
3
Ke
A
B
C
D
E
F
G
(0,-)0
(∞,-)0
(∞,-)0
(∞,-)0
(∞,-)0
(∞,-)0
(∞,-)0
A
(16,A)1
(9,A)1
(35,A)1
(∞,A)1
(∞,A)1
(∞,A)1
{A,C}
C
(16,A)1
(24,C)2
(∞,C)2
(31,C)2
(∞,C)2
{D,E,F,G}
{A,B,C}
B
(24,C)2
(41,B)3
(31,C)2
(∞,B)3
4
{E,F,G}
{A,B,C,D}
D
(38,D)4
(31,C)2
(43,D)4
5
{E,G}
{A,B,C,D,F}
F
(38,D)4
6
{G}
{A,B,C,D,E,F}
E
7
{-}
{A,B,C,D,E,F,G}
G
Initialisasi Iterasi
Kesimpulan
Posisi Saat Ini
(43,D)4 (43,D)4
:
31
E
25
B 16
12
A
35
D
15
9
8
14
C
19
17 22
G 14
F
Gambar 3.2 Menentukan rute terdekat dari simpang A ke simpang G
A C D G dengan jarak 43 3.1.3 Proses Persiapan Rumah Sakit Data Rumah Sakit yang digunakan pada aplikasi yang dibuat diperoleh dari data Dinas Kesehatan yang ada di kota Palembang. Data yang diperoleh berupa titik koordinat letak Rumah Sakit tersebut.
3.2 Analisis Perangkat Lunak 3.2.1 Deskripsi Umum Sistem Perangkat lunak yang dikembangkan merupakan perangkat lunak bergerak berbasis Android. Perangkat lunak ini merupakan aplikasi yang dapat digunakan untuk mencari jalur terpendek ke Rumah Sakit yang ada di kota Palembang. Untuk pencarian jalur terpendek dilakukan proses Algoritma Dijkstra karena Algoritma ini dapat menentukan jalur terpendek dari graph berbobot yang bobotnya bernilai lebih besar dari nol ( positif ), dari titik awal ke semua titik yang dikehendaki, sehingga nantinya dapat ditemukan jalur terpendek dari titik awal dan titik tujuan yang diinputkan. Untuk mempermudah penggunaan sistem ini, maka pengguna hanya menginputkan tentang informasi titik awal, dan titik tujuan.
32
3.2.2 Fitur Utama Perangkat Lunak Perangkat lunak yang akan dibangun memiliki fitur utama sebagai berikut. 1. Fitur Pencarian Rute Rumah Sakit Pencarian Rumah Sakit dapat dilakukan dengan mencari Rumah Sakit yang akan dituju pada data Rumah Sakit. Jika telah memilih Rumah Sakit yang dituju, maka jalur terpendek menuju Rumah Sakit akan ditampilkan. Untuk dapat merealisasikan fitur-fitur di atas, perangkat lunak tersebut harus dapat memenuhi kebutuhan fungsional dan non-fungsional sebagai berikut: Tabel 3.1 Kebutuhan Fungsional No 1.
Kebutuhan Sistem dapat melakukan pencarian rute terpendek menuju Rumah Sakit yang ada di kota Palembang.
2.
Sistem dapat menampilkan rute yang harus dilalui
Tabel 3.2 Kebutuhan Non Fungsional No 1.
Kebutuhan Sistem akan error jika Rumah Sakit yang dituju tidak ditemukan.
3.3 Perancangan Pada proses analisis perancangan sistem ini akan digambarkan secara garis besar tentang Aplikasi menentukan jalur terpendek rumah sakit di kota palembang Dengan menggunakan Algoritma Dijkstra. Aplikasi ini menggunakan Unified Modeling Langguage (UML) sebagai bahasa untuk menspefikasikan, memvisualisasikan, mengkontruksi ,merancang, membuat pemodelan, serta mendokumentasikan sebuah sistem pengembangan software berbasis Object Oriented. Ada beberapa diagram yang digunakan untuk
33
memperjelas proses analisis perancangan sistem pada program ini yaitu Use Case Diagram, Ativity Diagram dan Class Diagram yang membantu pembuatan analisis perancangan sistem ini. 3.3.1 Use Case Diagram
Menu Utama userr <> Input Lokasi Rumah Sakit
Perhitungan Jarak Antara Rumah Sakit
<> Melihat Hasil
Hasil Rekomendasi Peta
Gambar 3.3 Use Case Diagram pencarian lokasi
3.3.2 Squence Diagram
: admin
menuAdmin
konfirmasi login
1: login 2: input username dan password 3: validasi username dan password 4: display menu
Gambar 3.4 Squence Diagram Login
34
: Admin
MenuAdmin
Konfirmasi Login
Rumah Sakit
Data Rumah Sakit
1: Login 2: Input Username dan Password 3: Validasi Username dan Password 4: Display Menu 5: Rumah Sakit 6: Insert Data 7: Update Data 8: Delete Data 9: Save Data 10: Data Masjid
Gambar 3.5 Squence mengolah data Rumah Sakit
: Admin
MenuAdmin
Konfirmasi Login
Admin
Data Admin
1: Login 2: Input Username dan Password 3: Validasi Username dan Password 4: Display Menu 5: Admin 6: Update Data 7: Save Data 8: Data Admin 9: Admin
Gambar 3.6 squence diagram mengolah data admin
35
Splash Screen
: User
MenuUtama
PetaLokasi
Rute
Lokasi User
Lokasi Rumah Sakit
1: Splash Screen 2: Menu Utama 3: PetaLokasi 4: Tampil Rute 5: Tampil Rute 6: GetMyLocation 7: Tampil Rute 8: GetLokasi Rumah Sakit 9: Tampil Rute 10: Tampil Peta Lokasi
Gambar 3.7 squence diagram melihat peta lokasi Rumah Sakit
splash screen 1: splash screen
: user
MenuUtama
Help
2: menuUtama 3: String tampilHelp 4: tampil help
Gambar 3.8 squence diagram melihat Help
36
splash screen 1: splash screen
: user
MenuUtama
About
2: menuUtama 3: String tampilAbout 4: tampil about
Gambar 3.9 squence diagram melihat about
3.3.3 Perancangan Interface Desain antarmuka (interface) adalah desain masukan (input) yanga akan digunakan untuk memasukkan data ke dalam sistem. 3.3.3.1 Interface Menu Utama
Gambar 3.10 Tampilan Utama
37
3.3.3.2 Interface Daftar Rumah Sakit
Gambar 3.11 Tampilan Daftar Rumah Sakit
3.3.3.3 Interface Lokasi Rumah Sakit Terdekat Hasil Algoritma Dijkstra
Gambar 3.12 Tampilan Lokasi Rumah Sakit Terdekat Hasil Algoritma Dijkstra
38
3.3.3.4 Interface About
Rendio Halda 11.142.047
Gambar 3.13 Tampilan About 3.3.4 Tabel Definis Tabel 3.3 Definisi Aktor No Aktor
Deskripsi
1.
Pengguna dari perangkat lunak ini hanya satu
User
yaitu pengguna secara umum.
Tabel 3.4 Definisi Use Case No
Use Case
Deskripsi
1.
Cari Rute
Kegiatan yang dilakukan pengguna untuk melakukan proses pencarian rute
39
3.3.5 Skenario Use Case Tabel 3.5 Skenario Use Case Cari Rute Identifikasi Nomor
001
Nama
Cari Rute
Tujuan
Proses ini digunakan untuk mencari Rute Rumah Sakit yang dilalui dan menampilkan rute jika ditemukan. Use case ini menggambarkan interaksi antara sistem dan aktor
Deskripsi
dalam pencarian rute Rumah Sakit yang dimasukkan oleh pengguana. User
Aktor
Skenario Utama Kondisi awal
Sistem aktif pada halaman utama
Aksi Aktor
Reaksi Sistem
1. Aktor memasukkan Rumah Sakit yang akan dituju.
2. Sistem mencari rute Rumah Sakit tersebut. 3. Sistem menampilkan rute Rumah Sakit.
Skenario Alternatif Aksi Aktor
Reaksi Sistem 2.a. Sistem akan keluar dan berhenti jika Rumah Sakit yang dimasukkan pengguana tidak ada dan tidak ditemukan.
40
Kondisi akhir Rute menuju Rumah Sakit ditampilkan.
3.3.6 Metode Jalur Terpendek Metode jalur terpendek dalam perangkat lunak ini yang diterapkan adalah dengan menggunakan Algoritma Dijkstra. Berikut ini merupakan flowchart dalam menampilkan jalur terpendek menggunakan Algoritma Dijkstra.
Gambar 3.14 Flowchart Algoritma Dijkstra
41
3.4 Coding/ Pengkodean Konsep utama dari tahapan coding pada extreme programming adalah pair programming, melibatkan lebih dari satu orang untuk menyusun kode.
3.5 Testing/ Pengujian Pada tahapan ini lebih fokus pada pengujian fitur dan fungsionalitas dari aplikasi.
BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Pengembangan Aplikasi Analisis dan rancangan aplikasi dalam menentukan jalur terpendek Rumah Sakit di kota Palembang dengan menggunakan Algoritma Dijkstra sebagai perangkat lunak berbasis Android dengan menggunakan bahasa pemrograman Java dan database SQLite . Pemilihan android sebagai aplikasi yang akan berhadapan langsung dengan pengguna memiliki alasan tersendiri, hal ini karena aplikasi android memiliki keuntungan antara lain sebagai berikut: 1. Para desainer dapat melakukan pendekatan komprehensif ketika mereka sedang mengembangkan platform Android. Android merupakan sistem operasi yang aman, banyak menyediakan tools dalam membangun perangkat lunak atau aplikasi dan memungkinkan peluang pengembangannya. 2. Platform Android disediakan melalui lisensi open source. Karena kode sumber Android terbuka, memungkinkan para pengembang perangkat lunak dapat secara bebas mengembangkan aplikasi. Begitu pula dengan produsen perangkat mobile dapat dengan mudah mendesain Android, disesuaikan dengan perangkat buatan mereka. 3. Android dikembangkan berdasarkan kernel Linux. Platform Android benarbenar bebas untuk dikembangkan oleh siapapun. Tidak ada lisensi atau biaya royalti untuk pengembangan. Tidak ada biaya keanggotaan. Tidak diperlukan
42
43
biaya pengujian. Tidak ada kontrak diperlukan. Aplikasi untuk Android dapat didistribusikan dan diperdagangkan dalam bentuk apapun. Pengembangan aplikasi dilakukan pada komputer laptop Samsung dengan processor AMD E1-1200 APU with Radeon(tm) HD Graphics 1.40 GHz, RAM 2 GB, resolusi layar 1366 x 768 pixel, hardisk sebesar 320 GB, dilengkapi dengan sistem operasi Windows 7. Perangkat lunak yang digunakan untuk pengembangan Aplikasi ini adalah : 1. Android studio versi 1.2.1.1 (2015) sebagai medium pengembangan aplikasi android 2. Android SDK (Software Development Kit) 3. Pencil untuk menggambar prototype tampilan aplikasi android 4. Microsoft word 2010 untuk pengetikan laporan/skripsi ini. 5. Database SQLite yang terdapat di dalam android yang digunakan untuk menyimpan data-data Rumah Sakit di kota Palembang.
4.2 Pembahasan Aplikasi dalam menentukan jalur terpendek Rumah Sakit di kota Palembang
dengan
menggunakan
Algoritma
Dijkstra
yang
berhasil
diimplementasikan diuji-coba pada lingkungan sistem operasi berbasis Android yang telah dilengkapi dengan bahasa pemrograman Java dan database SQLite. Pembahasan uji-coba menjalankan Aplikasi disajikan berikut ini:
44
4.2.1 Halaman Awal pembuka Aplikasi (Splash Screen) Halaman awal pembuka (homepage) aplikasi ini yang disebut splash screen yang menampilkan gambar untuk masuk ke menu utama aplikasi sebagai feedback bahwa aplikasi masih dalam proses (loading)
Gambar 4.1 Tampilan Awal Pembuka Aplikasi (Splash Screen)
45
4.2.2 Menu Utama Menu utama dalam aplikasi ini adalah berfungsi sebagai tampilan utama dalam aplikasi pencarian jalur terpendek. Dalam hal ini menu utama menyajikan Daftar Rumah Sakit yang ada di kota Palembang, Peta lokasi Rumah Sakit di kota Palembang, Penentuan lokasi terdekat Rumah Sakit di kota Palembang dengan Algoritma Dijkstra, Bantuan keterangan Aplikasi (help), serta mengenai Aplikasi, untuk menu utama dapat dilihat seperti gambar di bawah ini :
Gambar 4.2 Tampilan Menu Utama
46
4.2.3 Daftar Rumah Sakit Menu daftar Rumah Sakit adalah untuk membantu user melihat daftar Rumah Sakit yang disediakan oleh sistem, pada daftar Rumah Sakit juga disediakan data Rumah Sakit seperti, Nama Rumah Sakit, Alamat, No Telp dan website (jika ada) untuk mempermudah user masuk ke link website Rumah Sakit yang di inginkan. Berikut adalah tampilan nama Rumah Sakit :
Gambar 4.3 Tampilan Daftar Rumah Sakit
47
4.2.4 Penentuan Rute Terdekat dengan Algoritma Dijkstra Di sini akan menampilkan hasil dari perhitungan Algoritma Dijkstra terhadap jarak antar Rumah Sakit
Gambar 4.4 Tampilan Rute Terdekat Dengan Algoritma Dijkstra
48
4.2.5 About Aplikasi Halaman ini menyediakan fasilitas untuk mengisi, mengedit dan menghapus data user. Tampilan halaman data user dapat dilihat pada halaman selanjutnya :
Gambar 4.5 Tampilan About Aplikasi
49
4.3 Menguji Sistem Untuk menguji coba serta menjalankan perangkat lunak pencarian rute terpendek pemetaan rumah sakit dengan perhitungan algoritma Dijkstra berbasis android ini, penulis menggunakan handphone smartphone android pada versi 4.4.4 (KitKat). Metode pengujian yang digunakan oleh penulis adalah Metode Pengujian Black-Box. Metode ini berfokus pada persyaratan fungsional perangkat lunak. Dengan demikian, pengujian balck box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Adapun faktor-faktor pengujian blackbox adalah :
1. File integrity Menekankan pada data yang dimasukkan melalui aplikasi akan tidak bisa diubah. Prosedur yang akan memastikan bahwa file yang digunakan benar dan data dalam file tersebut akan disimpan sekuensial dan benar. 2. Service levels Menekankan bahwa hasil yang diinginkan di dapat dalam waktu yang di inginkan oleh user. Untuk mencapai keinginan tersebut, harus dilakukan penyesuaian antara keinginan user dengan sumber daya yang ada.
50
3. Ease of use Menekankan perluasan usaha yang diminta untuk belajar, mengoprasikan dan menyiapakan inputan, dan menginterpretasikan output dari sistem. Faktor ini tersangkut dengan usability sistem terhadap interaksi antara manusia dan sistem. 4. Authorization Menjamin data diproses sesuai dengan ketentuan manajemen. Authorization menyangkut proses transaksi secara umum dan khusus. Fokus Pengujian Black box testing yaitu sebagai berikut : a) Menguji fungsi-fungsi khusus dari aplikasi. b) Test input dan output untuk fungsi yang ada tanpa memperhatikan prosesnya. Beberapa jenis kesalahan yang dapat di identifikasi : 1) Fungsi tidak benar atau hilang, 2) Kesalahan antar muka, 3) Kesalahan pada struktur data (pengaksesan basis data), 4) Kesalahan inisialisasi dan akhir program.
51
4.3.1 Rencana Pengujian
Tabel 4.1 menunjukkan bagian-bagian yang akan diuji Jenis Pengujian
Item Yang Diuji
Bagian
Menu Rumah Sakit
Menampilkan daftar lokasi rumah sakit
BlackBox
Menu A*
Menampilkan tujuan Pencarian Rute dengan A*
BlackBox
Ada bagian inti pada aplikasi yang akan diuji, yaitu menu Menu Rumah Sakit dan Menu Algoritma Dijkstra merupakan menu kedua bagian aplikasi itu akan diuji menggunkan metode BlackBox.
Tabel 4.2 Pengujian Menu Peta.
No
Item Yang Diuji
Rumah sakit 1
Cara Pengujian
Klik Link
Hasil yang diharapkan
Menampilkan isi lokasi
Hasil Pengujian
Berhas il/Tida k Berhas il
Sesuai Harapan
Berhasi l
52
Tabel 4.3 Pengujian Menu Algoritma Dijkstra
No
1
2 3
Item Yang Diuji
Cara Pengujian
Hasil yang diharapkan
Hasil Pengujian
Berhas il/Tida k Berhas il
Sesuai Harapan
Berhasi l
Menu Algoritma Dijkstra
Klik Link
Menampilkan peta pencarian lokasi
Pilihan Lokasi
Klik Link
Menampilkan lokasi
Sesuai Harapan
Berhasi l
Pilihan Next
Klik Link
Menampilkan rute Sesuai ke lokasi tujuan Harapan
Berhasi l
BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan Setelah melalui beberapa proses dalam perancangan dan iplementasi sistem penentuan jarak terpendek menggunakan algoritma Dijkstra maka dapat diambil beberapa kesimpulan sebagai berikut : 1. Telah dapat dibuat suatu sistem yang dapat membantu menemukan jarak terdekat menggunakan algoritma Dijkstra. 2. Aplikasi penentuan jarak terdekat Rumah Sakit kota Palembang diimplementasikan sebagai aplikasi android dengan menggunakan Java sebagai bahasa pemrogramannya serta aplikasi database SQLite sistem ini diharapkan dapat membantu pengguna dalam menentukan jalur terpendek Rumah Sakit di kota Palembang.
5.2 Saran Adapun beberapa saran yang penulis berikan sebagai acuan untuk pengembangan sistem selanjutnya adalah : 1. Desain pada sistem ini masih sederhana sehingga diperlukan modifikasi user interface agar lebih menarik, seperti ditambahkan visualisasi pada sistem 2. Pada penelitian ini terbatas pada lokasi asal dan lokasi tujuan, sehingga pada penelitian selanjutnya diharapkan akan dapat dianalisa dengan lebih banyak lokasi 3. Menerapkan algoritma lain selain algoritma Dijkstra.
53