BAB III ANALISA DAN PERANCANGAN Bab ini akan menjelaskan analisa sistem dan perancangan sebuah prototipe aplikasi android untuk melakukan pencarian rute terpendek dengan menggunakan algoritma dijkstra serta merancang sebuah website berbasis online untuk melakukan pengentrian data noda beserta jalur yang menghubungkan antara noda-noda tersebut. 3.1. Analisa Sistem Sistem ini akan menggunakan android untuk menampilkan hasil akhir dari perhitungan dalam pencarian rute antara dua titik yang berbeda. Sedangkan proses perhitungan akan dilakukan di dalam server untuk mendapatkan hasil lebih cepat dibandingkan dengan melakukan perhitungan langsung pada android milik user. Hal itu dikarenakan jumlah dari noda-noda yang diperlukan cukup banyak sehingga penulis memilih untuk menggunakan server sebagai media penyimpanan basis data dan untuk pemrosesan data. Untuk mendapatkan titik awal dan titik akhir diperlukan sebuah global positioning system (GPS). Didalam aplikasi android ini akan menggunakan Google Maps API sebagai alat navigasi untuk menentukan koordinat node yang terdekat dari titik awal dan titik akhir. 3.2. Analisa Kebutuhan Masalah utama yang perlu diselesaikan di dalam pembuatan aplikasi ini adalah untuk menerapkan algoritma dijkstra ke dalam sistem jalur transportasi dengan menjadikan halte atau stasiun (tempat pemberhentian) 35
36 sebagai node-node titik awal dan titik akhir. Selain itu diperlukan statistik yang berupa jarak yang ditempuh dan jumlah transit yang diperlukan pada setiap pencarian rute perjalanan. 3.2.1 Analisa Kebutuhan Fungsional Didalam sistem aplikasi perencanaan rute diperlukan fungsi dengan spesifikasi sebagai berikut: Mampu untuk mencari rute terpendek. Mampu untuk menghitung jarak yang ditempuh. Mampu untuk menampilkan pergantian rute atau trayek. 3.2.2 Analisa Kebutuhan Non Fungsional 3.2.2.1 Kebutuhan Perangkat Keras Perangkat keras (hardware) yang dibutuhkan di dalam pembuatan aplikasi ini yaitu : Telepon Genggam Pintar (Smartphone) yang berbasis Android Server (Shared Hosting) PC / Laptop untuk mendevelop aplikasi tersebut. 3.2.2.2 Kebutuhan Perangkat Lunak Sedangkan untuk perangkat lunak (software) dibutuhkan spesifikasi sebagai berikut: Android dengan versi sistem operasi minimal Jellybean CPanel dengan versi PHP minimal 5.5.9 Browser dengan kemampuan HTML5
37 3.3. Perancangan Sistem 3.3.1 Perancangan Pembuatan Sistem (Use Case Diagram) Gambar 3.1 Use Case Sistem Perhitungan Rute Terpendek
38 1. Use Case Melihat Rute Angkutan Tabel 3.1 Deskripsi Use Case Melihat Jalur Angkutan. Nama Use Case Nama Aktor Deskripsi Pra Kondisi Skenario Hasil Use Case Melihat Jalur Angkutan User Pada tahap ini user dapat melihat jalur dari masing-masing angkutan. Diperlukan request POST untuk list dari angkutan yang ada di dalam database. User dapat memilih angkutan pada spinner dan akan muncul rute yang dilewatinya. Rute dari angkutan tersebut akan tampil pada map. 2. Use Case Melihat Peta Angkutan Tabel 3.2 Deskripsi Use Case Melihat Peta Angkutan Nama Use Case Nama Aktor Deskripsi Pra Kondisi Skenario Hasil Use Case Melihat Peta Angkutan User, Admin User dapat melihat peta keseluruhan dari jalur dan node yang tersimpan di dalam database Perlu inisialisasi map, marker dan polyline terlebih dahulu. Node dan Jalur akan tampil jika data dapat dikirim dengan sukses melalui JSON. Seluruh Node dan Jalur akan tampil pada peta.
39 3. Use Case Melihat Rute Terpendek Tabel 3.3 Deskripsi Use Case Melihat Rute Terpendek Nama Use Case Nama Aktor Deskripsi Pra Kondisi Skenario Hasil Usecase Melihat Rute Terpendek User Pada tahap ini akan ditampilkan hasil dari perhitungan yang dilakukan oleh sistem Untuk menampilkan rute terpendek dibutuhkan data dari hasil perhitungan sebelumnya. Sistem akan menampilkan rute terpendek antara dua node yang ditentukan oleh user sebelumnya. Terdapat dua node berserta jalur yang dilewati diantaranya beserta nama angkutan yang digunakan. 4. Use Case Menetukan Simpul Awal dan Akhir Tabel 3.4 Deskripsi Use Case Menetukan Simpul Awal dan Akhir Nama Use Case Nama Aktor Deskripsi Pra Kondisi Skenario Hasil Use Case Menentukan Simpul Awal dan Akhir User Pada tahap ini sistem akan menentukan simpul yang terdekat dengan node yang dibuat oleh user. Diperlukan koordinat dari node awal dan node akhir yang dibuat oleh user Jika node berada diantara dua simpul maka akan dibuat simpul baru yang memiliki bobot terdekat dengan node. Simpul awal dan simpul akhir dibuat.
40 5. Use Case Melakukan Perhitungan Tabel 3.5 Deskripsi Use Case Melakukan Perhitungan Nama Use Case Nama Aktor Deskripsi Pra Kondisi Skenario Hasil Usecase Melakukan Perhitungan Sistem Pada tahap ini sistem akan melakukan perhitungan bobot setiap jalur unutk menentukan rute terpendek yang akan ditampilkan Sistem membutuhkan sebelumnya dua tipe node, yaitu node awal dan node akhir (tujuan) Sistem akan melakukan perhitungan anatar dia node menggunakan algoritma dijkstra. Jika proses perhintungan berhasil maka akan dikirim status berhasil berserta data yang akan ditampilkan 6. Use Case Membuat Jalur Rute Tabel 3.6 Deskripsi Use Case Membuat Jalur Rute Nama Use Case Nama Aktor Deskripsi Pra Kondisi Skenario Hasil Usecase Membuat Jalur Rute Sistem Pada tahap ini sistem akan melakukan membuat jalur rute. Sistem membutuhkan hasil perhitungan sebelumnya untuk membuat jalur rute. Jalur rute akan dibuat beserta dengan tanda untuk perpindahan angkutan umum. Data yang berisi jalur dan angkutan yang dapat digunakan.
41 7. Use Case Mengelola Data Node Tabel 3.7 Deskripsi Use Case Mengelola Data Node Nama Use Case Nama Aktor Deskripsi Pra Kondisi Skenario Hasil Usecase Mengelola Data Node Admin Pada usecase ini admin dapat melakukan penambahan, perubahan, dan penghapusan data node. Untuk mengakses halaman tersebut perlu dilakukan proses login. Untuk penambahan node dapat dilakukan pada halaman utama langsung pada map. Admin dapat menambah node baru, mengedit atau menghapus node yang lama. 8. Use Case Mengelola Data Jalur Tabel 3.8 Deskripsi Use Case Mengelola Data Jalur Nama Use Case Nama Aktor Deskripsi Pra Kondisi Skenario Usecase Mengelola Data Jalur Admin Pada usecase ini admin dapat melakukan penambahan, perubahan, dan penghapusan data jalur. Untuk mengakses halaman tersebut perlu dilakukan proses login dan pada saat melakukan penambahan jalur diperlukan dua buah node sebelumnya. Untuk penambahan jalur dapat dilakukan pada halaman utama langsung pada map.
42 Hasil Admin dapat menambah jalur baru, mengedit atau menghapus jalur yang lama. 9. Use Case Mengelola Data Angkutan Tabel 3.9 Deskripsi Use Case Mengelola Data Angkutan Nama Use Case Nama Aktor Deskripsi Pra Kondisi Skenario Hasil Usecase Mengelola Data Angkutan Admin Pada usecase ini admin dapat melakukan penambahan, perubahan, dan penghapusan data angkutan. Untuk mengakses halaman tersebut perlu dilakukan proses login. Untuk penambahan rute angkutan dapat dengan mengklik node pada map dihalaman tambah angkutan. Admin dapat menambah angkutan baru, mengedit atau menghapus angkutan yang lama. 10. Use Case Mengelola Data User Tabel 3.10 Deskripsi Use Case Mengelola Data User Nama Use Case Nama Aktor Deskripsi Pra Kondisi Usecase Mengelola Data User Admin Pada usecase ini admin dapat melakukan penambahan, perubahan, dan penghapusan data user. Untuk mengakses halaman tersebut perlu dilakukan proses login.
43 Skenario Hasil Untuk penambahan user hanya dapat dilakukan pada. Admin dapat menambah user baru, mengedit atau menghapus user yang lama. 11. Use Case Login Tabel 3.11 Deskripsi Use Case Login Nama Use Case Nama Aktor Deskripsi Pra Kondisi Skenario Hasil Usecase Login Admin Proses login dilakukan sebelum masuk pada halaman utama. User yang akan melakukan login harus memiliki user account di database sebelumnya. Jika login gagal akan diberitahukan kesalahan yang terjadi. Admin dapat melekukan aktivitas selanjutnya setelah melakukan proses login. 3.3.2 Perancangan Alur Kerja (Activity Diagram) 1. Diagram Activity Login Proses kegiatan saat melakukan login pada website. Pada saat melakukan proses login akan di cek username dan password jika tidak seseuai dengan data yang berada di database akan diberikan peringatan (warning).
44 Gambar 3.2 Diagram Activity Login 2. Diagram Activity Pengelolaan Node Proses kegiatan pengelolaan data node, didalamnya terdapat proses untuk menambahkan, mengubah dan menghapus data node dari database. Jika menghapus satu node akan juga menghapus jalur-jalur yang terkait dengan node tersebut (delete on cascade). Didalamnya termasuk juga untuk pengelolaan tipe node. Untuk melakukan pengelolaan data node, admin sebelumnya harus melakukan proses login terlebih dahulu.
45 Gambar 3.3 Diagram Activity Mengelola Node 3. Diagram Activity Mengelola Jalur Proses kegiatan pengelolaan data jalur, didalamnya terdapat proses untuk menambahkan, mengubah dan menghapus data jalur dari database. Untuk melakukan pengelolaan data node, admin sebelumnya harus melakukan proses login terlebih dahulu.
46 Gambar 3.4 Diagram Activity Mengelola Jalur 4. Diagram Activity Mengelola Angkutan Proses kegiatan pengelolaan data angkutan, didalamnya terdapat proses untuk menambahkan, mengubah dan menghapus data angkutan dari database. Untuk melakukan pengelolaan data angkutan, admin sebelumnya harus melakukan proses login terlebih dahulu.
47 Gambar 3.5 Diagram Activity Mengelola Angkutan 5. Diagram Activity Mengelola User Proses kegiatan pengelolaan data angkutan, didalamnya terdapat proses untuk menambahkan, mengubah dan menghapus data angkutan dari database. Untuk melakukan pengelolaan data angkutan, admin sebelumnya harus melakukan proses login terlebih dahulu.
48 Gambar 3.6 Diagram Activity Mengelola User 6. Diagram Activity Mencari Rute Terpendek Dalam kegiatan mencari rute terpendek, pertamakali user diharuskan untuk menentukan koordinat awal dan koordinat akhir pada map yang akan dikirimkan pada sistem kemudian akan dilakukan perhitungan dan data akan dikirim kembali kepada user dengan menampilkan rute hasil perhitungan menggunakan metode dijkstra.
49 Gambar 3.7 Diagram Activity Mencari Rute Terpendek 7. Diagram Activity Melihat Jalur Angkutan User dapat melihat jalur dari setiap trayek angkutan dengan memilih angkutan dari list yang disediakan. Setelah user memilih angkutan, map akan diupdate dengan menampilkan data dari jalur yang ditempuh oleh angkutan tersebut pada map.
50 Gambar 3.8 Diagram Activity Melihat Map Angkutan 8. Diagram Activity Melihat Peta Angkutan User dapat melihat jalur-jalur dan node-node yang tersimpan di dalam database. Saat membuka halaman tersebut, sistem akan mengambil data-data di database dan menampilkannya pada map berupa marker untuk node dan berupa polyline untuk jalur antara node.
51 Gambar 3.9 Diagram Activity Melihat Jalur Angkutan 3.3.3 Perancangan Interaksi Antar Objek (Seqence Diagram) 1. Sequence Diagram Mengelola Data User Gambar 3.10 Diagram Sequence Mengelola Data User
52 2. Sequence Diagram Mengelola Data Node Gambar 3.11 Diagram Sequence Mengelola Data Node 3. Sequence Diagram Mengelola Data Jalur Gambar 3.12 Diagram Sequence Mengelola Data Jalur
53 4. Sequence Diagram Mengelola Data Angkutan Gambar 3.13 Diagram Sequence Mengelola Data Angkutan 5. Sequence Diagram Melihat Peta Angkutan Gambar 3.14 Diagram Sequence Melihat Peta Angkutan
54 6. Sequence Diagram Melihat Jalur Angkutan Gambar 3.15 Diagram Sequence Melihat Jalur Angkutan 7. Sequence Diagram Mencari Jalur Terpendek Gambar 3.16 Diagram Sequence Melihat Jalur Terpendek
55 3.3.4 Perancangan Basis Data (Class Diagram) Gambar 3.17 Class Diagram Terdiri enam tabel yang dibutuhkan didalam pengembangan aplikasi perancangan rute terpendek ini. Lima tabel diperlukan di dalam proses perhitungan aplikasi dan satu tabel, tabel user yang digunakan untuk mengautentifikasi user yang ingin mengakses halaman web.
56 3.3.5 Perancangan Antar Muka 3.3.5.1 Perancangan Antar Muka Website 1. Rancangan Tampilan Menu Login Gambar 3.18 Rancangan Tampilan Menu Login 2. Rancangan Tampilan Halaman Utama Gambar 3.19 Rancangan Tampilan Halaman Utama
57 3. Rancangan Tampilan Tabel Data Gambar 3.20 Rancangan Tampilan Tabel Data 4. Rancangan Tampilan Form Tambah/ Edit Data Gambar 3.21 Rancangan Tampilan Form Tambah/Edit Data
58 5. Rancangan Tampilan Pencarian Rute Gambar 3.22 Rancangan Tampilan Pencarian Rute 3.3.5.2 Perancangan Antar Muka Aplikasi Android 1. Rancangan Tampilan Splashscreen Gambar 3.23 Rancangan Tampilan Splashsreen
59 2. Rancangan Tampilan Menu Utama Gambar 3.24 Rancangan Tampilan Menu Utama 3. Rancangan Tampilan Menu Maps Gambar 3.25 Rancangan Tampilan Menu Maps
60 4. Rancangan Tampilan Menu Cari Rute Gambar 3.26 Rancangan Tampilan Menu Cari Rute 5. Rancangan Tampilan Menu Info Angkutan Gambar 3.27 Rancangan Tampilan Menu Info Angkutan
61 6. Rancangan Tampilan Menu Tentang Gambar 3.28 Rancangan Tampilan Menu Tentang