Analisis sistem dilakukan untuk dapat memahami kebutuhan sistem dan gambaran tugas-tugas yang akan dikerjakan, sebelum membangun sistem terlebih dahulu
<scripttype=”text/javascript”src=”http://maps.google.com/maps?file=
api&v=2&sensor=false&key=ABQIAAAAbE7c_nBHqt2 MsYavLihx9hQJ7kqb6IJHXd0Q5wX6KEaY9g0umROwx63Z3Gq2UYSM8 sC7Ngl45s6nw“></script>
dilakukan beberapa tahap analisis untuk mengidentifikasi segala kebutuhan yang akan diterapkan dalam sistem agar tidak terjadi kesalahan dan sistem yang dibangun akan optimal.
3.1.1 Analisis Masalah
Mengidentifikasi masalah merupakan langkah pertama yang dilakukan dalam tahap analisis sistem. Masalah dapat didefinisikan sebagai suatu pertanyaan yang diinginkan untuk
dipecahkan. Masalah inilah yang menyebabkan sasaran dari sistem tidak dapat dicapai. Oleh karena itu langkah pertama yang harus dilakukan pada tahap ini adalah mengidentifikasi terlebih dahulu masalah yang terjadi (identify).
Masalah yang akan dibahas dalam penelitian ini adalah bagaimana menentukan urutan kunjungan ketika mengunjungi beberapa tempat yang letaknya tidak saling berdekatan
sehingga didapatkan jarak total yang minimum (shortest path).
Analisis masalah dapat diuraikan sebagai berikut:
1. User merupakan orang yang melakukan proses pencarian hotel.
2. Metode merupakan proses yang digunakan untuk menyelesaikan permasalahan.
3. Material merupakan kebutuhan yang digunakan untuk menjalankan proses.
4. Sistem menunjukan pencarian rute terdekat dengan algoritma A* dan Breadth First Search (BFS).
Selanjutnya, untuk mengidentifikasi masalah yang dijelaskan di atas digunakan Diagram Ishikawa (Fishbone Diagram). Diagram Tulang Ikan (Fishbone) adalah sebuah alat visual untuk mengidentifikasi, mengeksplorasi dan secara grafik menggambarkan secara detail semua penyebab yang berhubungan dengan suatu permasalahan. Untuk lebih jelasnya
mengenai Diagram Fishbone, dapat dilihat pada Gambar 3.1.
Seperti yang terlihat pada Gambar 3.1 di atas, masalah utama adalah pada persegi panjang di posisi paling kanan gambar (bagian kepala) diagram fishbone.
Kategori ditunjukkan pada empat persegi panjang yang masing-masing terhubung ke garis utama, sedangkan sebab-akibat ditunjukkan dalam bentuk tanda panah horizontal pada masing-masing kategori masalah.
3.1.2 Analisis Kebutuhan Sistem
Dalam analisis kebutuhan sistem terdapat dua bagian penting yang harus dipenuhi, yaitu analisis kebutuhan fungsional sistem dan analisis kebutuhan non-fungsional sistem.
3.1.2.1 Analisis Kebutuhan Fungsional Sistem
Analisis kebutuhan fungsional sistem adalah analisis terhadap kebutuhan secara fungsional baik dalam aliran data ataupun informasi dan merupakan hal yang harus dimiliki oleh sistem untuk mencapai tujuannya. Berikut ini merupakan beberapa kebutuhan fungsional sistem yang akan dibangun, antara lain:
1. Sistem mampu mencari data hotel yang telah diinput pada database.
2. Sistem mampu mencari pencarian rute terdekat dengan menggunakan algorima A* dan Breadth First Search (BFS).
3. Sistem mampu meminta jarak sebenarnya dan arah menuju hotel yang ditentukan pengguna.
4. Sistem menggunakan running time theorytical untuk menentukan kinerja algoritma.
3.1.2.2 Analisis Kebutuhan Non-Fungsional Sistem
Analisis kebutuhan non-fungsional adalah suatu analisis untuk mengetahui elemen-elemen apa saja yang berhubungan dengan sistem yang sedang berjalan. Untuk mendukung kinerja sistem, sistem sebaiknya dapat berfungsi sebagai berikut:
Persyaratan non-fungsional adalah persyaratan yang dimiliki suatu sistem yang menggambarkan karakteristik dan batasan kemampuan suatu sistem yang menjadi dasar penentuan apakah daya guna suatu sistem sudah baik atau belum. Adapun persyaratan non-fungsional yang harus dipenuhi diantaranya : (Whitten, 2004)
1. Performa
Suatu sistem yang dibangun harus dapat menunjukkan hasil dari urutan tujuan yang harus dicapai dengan menampilkan jarak total yang akan ditempuh.
2. Informasi
Persyaratan informasi mempresentasikan informasi yang sangat penting bagi pengguna dalam konteks isi, akurasi, dan format.
3. Ekonomi
Sistem atau perangkat lunak yang akan dibangun tidak memerlukan perangkat tambahan yang mahal.
4. Efisiensi
Sistem harus mampu menghasilkan output dengan tingkat ketidakefisienan yang minimal.
5. Kontrol dan keamanan
Sistem mampu menampilkan pesan kesalahan ketika terjadi kesalahan input data oleh pengguna. Keamanan dapat diterapkan dengan perbedaan hak antara user dan admin.
6. Pelayanan
Memperesentasikan kebutuhan agar sistem menjadi reliabel, fleksibel, dan dapat diperluas.
3.1.3 Pemodelan Sistem
Pemodelan sistem dilakukan untuk memperoleh gambaran yang lebih jelas tentang objek apa saja yang akan berinteraksi dengan sistem, serta hal-hal apa saja yang harus dilakukan oleh sebuah sistem sehingga sistem dapat berfungsi dengan baik sesuai dengan kegunaannya.
Pada penelitian ini digunakan UML (Unified Modeling Language) sebagai bahasa pemodelan untuk mendesain merancang sistem yang akan dibangun. UML yang digunakan antara lain use case diagram, activity diagram dan sequence diagram.
3.1.3.1 Use Case Diagram
Use Case Diagram menggambarkan kebutuhan sistem secara fungsional dengan mengidentifikasi aktor-aktor yang terlibat dan berinteraksi dengan fungsi dasar pada
Gambar 3.2 Use Case Diagram Sistem
Pada Gambar 3.2 menunjukkan untuk mendapatkan rute dan jarak hotel terdekat, user terlebih dahulu memilih jenis bintang kemudian memilih hotel yang diinginkan berdasarkan algoritma. Untuk deskripsi Pilih Jenis Bintang dapat dilihat pada tabel 3.1.
Tabel 3.1 Deskripsi Pilih Jenis Bintang Name Use-Case Pilih Jenis Bintang
Actor User
Trigger User memilih jenis bintang.
Pre condition User mempersiapkan data hotel berdasarkan jenis bintang.
Post condition User dapat memilih hotel berdasarkan jenis bintang yang dipilih.
Success scenario 1. user telah memilih jenis bintang.
2. user mengakses tombol search.
3. Sistem melakukan proses pencarian hotel.
4. user mendapatkan list hotel terdekat berdasarkan jenis bintang
Alternative flow -
Deskripsi dari Pilih Hotel dapat dilihat pada tabel 3.2.
Tabel 3.1 Deskripsi Pilih Hotel Name Use-Case Pilih Hotel
Actor User
Trigger User memilih hotel terdekat.
Pre condition User memilih jenis bintang.
Post condition User mendapatkan rute hotel.
Success scenario 1. User telah memilih hotel terdekat.
2. Sistem melakukan proses pencarian rute.
3. User mendapatkan rute hotel yang dipilih.
Alternative flow -
Deskripsi Menampilkan Rute dan Jarak dapat dilihat pada tabel 3.3.
Tabel 3.1 Deskripsi Menampilkan Rute dan Jarak
Pre condition User memilih hotel yang terdekat.
Post condition User memastikan adanya jaringan internet.
Success scenario 1. Sistem dapat mengakses google maps.
2.Sistem menampilkan rute dan jarak.
Alternative flow Jika tidak ada jaringan internet sistem tidak dapat menampilkan maps.
3.1.3.2 Activity Diagram
Activity Diagram menggambarkan berbagai aktivitas alir dalam sistem yang sedang dirancang. Untuk proses pencarian hotel terdekat pada stasiun kereta api Medan dengan algoritma A* dan Breadth First Search dapat dilihat pada Gambar 3.3 berikut.
Gambar 3.3 Activity Diagram Proses Pencarian Istilah
Seperti yang terlihat pada Gambar 3.3, sistem menampilkan proses kerja dari sistem sampai dengan selesai. Fungsi utama dari sistem ini adalah mencari hotel terdekat dari stasiun kereta api Medan dengan menggunakan algoritma A* dan Breadth First Search.
3.1.3.3 Sequence Diagram
Sequence Diagram digunakan untuk menggambarkan interaksi antara objek dengan proses yang terkait pada kelas diagram melalui message dalam eksekusi operation, untuk satu buah use case. Sequence membantu untuk menggambarkan data yang masuk dan keluar dari system, seperti yang terlihat pada Gambar 3.4 berikut.
Gambar 3.4 Sequence Diagram
dengan meminta jarak yang sebenarnya dan arah dari GoogleMaps kemudian A* dan Breadth First Search menghitung jarak antara stasiun ke semua hotel yang sudah diseleksi sesuai bintang yang dipilih. Kemudian menampilkan hasil pencarian hotel terdekat dari stasiun kereta api Medan.
3.1.3.4 Flowchart Sistem dan Algoritma
Flowchart merupakan gambar atau bagan yang menunjukkan aliran data di dalam sistem secara logika. Flowchart sistem dapat didefinisikan sebagai bagan yang menunjukkan aliran pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urutan-urutan dari prosedur yang ada di dalam sistem. Flowchart dari sistem yang akan dibangun dapat dilihat pada Gambar 3.5 berikut ini.
Gambar 3.5 Flowchart Sistem Pencarian Hotel dengan Algoritma A* dan BFS
Gambar 3.6 Flowchart Algoritma A*
Gambar 3.7 Flowchart Algoritma Breadth First Search