16
3.1 Analisa Sistem
Saat ini ketika seseorang ingin melakukan pencarian atau referensi mengenai restoran di DKI Jakarta maka aplikasi yang digunakan adalah google. Hasil pencarian dari google akan menampilkan sejumlah restoran yang berada pada DKI Jakarta atau daerah tertentu di DKI Jakarta. Setelah menampilkan sejumlah restoran tersebut, pengguna aplikasi biasanya ingin mengetahui lebih detail terhadap restoran tersebut. Untuk mengetahui detail dari salah satu restoran maka pengguna aplikasi melakukan pencarian ulang mengenai detail restoran tersebut. Kemudian google akan menampilkan gambar restoran, alamat restoran, telepon yang dapat dihubungi serta beberapa informasi mengenai restoran tersebut. Berikut merupakan flow map proses yang sedang berjalan.
Gambar 3.1 Flow map proses yang sedang berjalan
Analisa Permasalahan
Dari hasil pencarian google mengenai restoran yang telah dilakukan, pengguna aplikasi cukup kesulitan untuk mendapatkan beberapa detail informasi mengenai restoran tersebut seperti menu makanan, harga makanan, jenis makanan, suasana restoran, serta berapa jarak
dari pengguna saat ini dengan restoran tersebut. Hal tersebut menyulitkan pengguna aplikasi untuk mengetahui apakah restoran tersebut benar-benar sesuai dengan yang diharapkan atau tidak. Jika pengguna aplikasi ingin mengetahui jarak lokasi saat ini dengan restoran tersebut, maka pengguna memerlukan aplikasi lain yang berfungsi memberikan estimasi jarak lokasi tersebut. Hal tersebut menyulitkan pencarian restoran yang dilakukan oleh pengguna, dikarenakan memerlukan 2 buah aplikasi atau bahkan lebih guna mencari restoran yang sesuai dengan keinginan pengguna.
Analisa Kebutuhan
Dari uruaian analisa permasalahan tersebut berikut merupakan analisa kebutuhan untuk dasar pembuatan aplikasi pencarian restoran di DKI Jakarta adalah sebagai berikut:
- Aplikasi yang dapat membantu pengguna mencari restoran di DKI Jakarta sesuai dengan kriteria yang diinginkan serta menampilkan informasi yang diperlukan oleh pengguna. Informasi tersebut adalah menu makanan, harga makanan, jenis makanan, suasana restoran, daya tampung restoran atau telepon yang dapat dihubungi.
- Aplikasi yang dapat menampilkan restoran yang berada pada sekitar pengguna dan jarak antara pengguna dengan restoran tersebut.
3.2 Perancangan
Berdasarkan uraian analisa sistem usulan diatas, maka akan dibuat rancangan sistem yang dapat mengakomodir pembuatan aplikasi pencarian restoran.
3.2.1 Rancangan Metode Perhitungan Jarak antara Pengguna dan Restoran
Dalam hal ini penulis akan menggunakan Haversine Formula untuk menghitung jarak antara lokasi pengguna aplikasi saat ini dan restoran. Sehingga pengguna aplikasi dapat mengetahui jarak antara pengguna dengan restoran atau ketika pengguna sedang mencari restoran yang terletak disekitarnya. Berikut merupakan rumus Haversine Formula:x = (lon2-lon1) * cos ((lat1+lat2)/2); y= (lat2-lat1);
d= sqrt(x*x+y*y)*R Keterangan:
x = Longitude (Bujur) R = Radius bumi = 6371 km y = Lattitude (Lintang) 1 derajat = 0.0174532925 radian d = Jarak
Berikut merupakan contoh perhitungan menggunakan rumus Haversine Formula diatas: Lokasi 1: lat1= -6.210081, lon1= 106.738499
Lokasi 2: lat2= -6.190158, lon2= 106.738776
lat1 = -6.210081 * 0.0174532925 radian = -0.108386 radian lon1= 106.738499 * 0.0174532925 radian = 1.86293824 radian lat2 = -6.190158 * 0.0174532925 radian = -0.108039 radian lon2= 106.738776 * 0.0174532925 radian= 1.86294308 radian x = (lon2-lon1) * cos ((lat1+lat2)/2)
= (1.86294308-1.86293824) * cos ((-0.108386 + -0.108039)/2) = 0.0000048116896 y = (lat2-lat1) = (-0.108039- (-0.108386)) = 0.000348 d = sqrt (x*x + y*y) * R = sqrt((0.0000048116896 * 0.0000048116896) + (0.000348 * 0.000348)) * 6371 = sqrt (0.00000012112715236) * 6371 = 2.21731992 km
http://digilib.mercubuana.ac.id/
3.2.2 Rancangan Use Case Diagram
Berikut merupakan rancangan use case diagram yang menampilkan notasi UML untuk menggambarkan aplikasi pencarian restoran tersebut:
a. Deskripsi Use Case Memasukkan Data Pengguna
Tabel 3.1 Deskripsi Use Case Memasukkan Data Pengguna
Use Case Name : Memasukkan Data Pengguna Actor : Admin
Description : Sistem mencatat setiap pengguna yang dapat melakukan akses ke dalam
halaman manajemen konten, serta memberikan akses level yang berbeda bagi masing-masing pengguna.
b. Deskripsi Use Case Memasukkan Data Kota
Tabel 3.2 Deskripsi Use Case Memasukkan Data Kota
Use Case Name : Memasukkan Data Kota Actor : Admin
Description : Sistem mencatat setiap data kota. Tujuannya sebagai referensi dalam tabel
address.
c. Deskripsi Use Case Memasukkan Data Tipe Restoran
Tabel 3.3 Deskripsi Use Case Memasukkan Data Tipe Restoran
Use Case Name : Memasukkan Data Tipe Restoran Actor : Admin
Description : Sistem mencatat setiap data tipe restoran. Tipe restoran bertujuan untuk
membantu dalam memberikan kategori restoran tersebut, sehingga memudahkan pengguna dalam mencari restoran sesuai dengan tipe yang telah disediakan.
d. Deskripsi Use Case Memasukkan Data Restoran
Tabel 3.4 Deskripsi Use Case Memasukkan Data Restoran
Use Case Name : Memasukkan Data Restoran Actor : Admin
Description : Sistem mencatat setiap data restoran, admin akan melakukan penambahan
data atau pembaharuan data restoran. Data restoran adalah informasi yang akan diterima oleh pengguna aplikasi.
e. Deskripsi Use Case Memasukkan Data Alamat
Tabel 3.5 Deskripsi Use Case Memasukkan Data Alamat
Use Case Name : Memasukkan Data Alamat Actor : Admin
Description : Sistem mencatat setiap data alamat restoran, dengan begitu pengguna dapat
mengetahui alamat restoran tersebut, serta berfungsi sebagai perhitungan jarak antara pengguna aplikasi dan restoran tersebut.
f. Deskripsi Use Case Memasukkan Data Gambar
Tabel 3.6 Deskripsi Use Case Memasukkan Data Gambar
Use Case Name : Memasukkan Data Gambar Actor : Admin
Description : Sistem mencatat setiap data gambar, sehingga membantu pengguna
aplikasi dalam memberikan gambaran menu, bentuk makanan, serta suasana dari restoran yang dicari.
g. Deskripsi Use Case Memasukkan Data Detil Restoran
Tabel 3.7 Deskripsi Use Case Memasukkan Data Detil Restoran
Use Case Name : Memasukkan Data Detil Restoran Actor : Admin
Description : Sistem mencatat setiap data detil restoran, sehingga membantu pengguna
aplikasi dalam memberikan informasi jangkauan harga makanan, total kapasitas, jam buka dan jam tutup
h. Deskripsi Use Case Pencarian Restoran
Tabel 3.8 Deskripsi Use Case Pencarian Restoran
Use Case Name : Pencarian Restoran Actor : Pengguna
Description : Pengguna dapat melakukan pencarian makan sesuai dengan tipe-tipe
restoran yang telah disediakan, serta berdasarkan lokasi dari pengguna. Setelah itu hasil pencarian tersebut akan memunculkan jarak antara lokasi pengguna aplikasi dengan restoran yang dicari, serta memunculkan alamat, telepon yang dapat dihubungi, dan gambar mengenai restoran tersebut.
3.2.3 Rancangan Activity Diagram
Berdasarkan analisa dan rancangan use case, Berikut merupakan rancangan activity diagram dari aplikasi pencarian restoran:
3.2.3.1 Activity Diagram Keseluruhan Sistem
Gambar 3.3 Activity Diagram Keseluruhan Sistem
3.2.3.2 Activity Diagram Memasukkan Data Pengguna
Activity diagram ini menjelaskan alur kerja proses memasukkan data pengguna yang dilakukan oleh admin.
3.2.3.3 Activity Diagram Memasukkan Data Kota
Activity diagram ini menjelaskan alur kerja proses memasukkan data kota yang dilakukan oleh admin.
Gambar 3.5 Activity Diagram Memasukkan Data Kota
3.2.3.4 Activity Diagram Memasukkan Data Tipe Restoran
Activity diagram ini menjelaskan alur kerja proses memasukkan data tipe restoran yang dilakukan oleh admin.
3.2.3.5 Activity Diagram Memasukkan Data Restoran
Activity diagram ini menjelaskan alur kerja proses memasukkan data restoran yang dilakukan oleh admin.
Gambar 3.7 Activity Diagram Memasukkan Data Restoran
3.2.3.6 Activity Diagram Memasukkan Data Alamat
Activity diagram ini menjelaskan alur kerja proses memasukkan data alamat yang dilakukan oleh admin.
3.2.3.7 Activity Diagram Memasukkan Data Detil Restoran
Activity diagram ini menjelaskan alur kerja proses memasukkan data detil restoran yang dilakukan oleh admin.
Gambar 3.9 Activity Diagram Memasukkan Data Detil Restoran
3.2.3.8 Activity Diagram Memasukkan Data Gambar
Activity diagram ini menjelaskan alur kerja proses memasukkan data gambar yang dilakukan oleh admin.
3.2.3.9 Activity Diagram Pencarian Restoran
Activity diagram ini menjelaskan alur kerja proses pencarian restoran yang dilakukan oleh pengguna aplikasi.
Gambar 3.11 Activity Diagram Pencarian Restoran
3.2.4 Rancangan Sequence Diagram
Berikut merupakan rancangan sequence diagram dari aplikasi pencarian restoran: 3.2.4.1 Sequence Diagram Master Pengguna
Admin melakukan penambahan atau perubahan data pengguna dengan memasukkan atribut-atribut yang diperlukan.
Gambar 3.12 Sequence Diagram Master Pengguna 3.2.4.2 Sequence Diagram Master Kota
Admin melakukan penambahan atau perubahan data kota dengan memasukkan atribut-atribut yang diperlukan.
Gambar 3.13 Sequence Diagram Master Kota
3.2.4.3 Sequence Diagram Master Tipe Restoran
Admin melakukan penambahan atau perubahan data tipe restoran dengan memasukkan atribut-atribut yang diperlukan.
Gambar 3.14 Sequence Diagram Master Tipe Restoran 3.2.4.4 Sequence Diagram Master Restoran
Admin melakukan penambahan atau perubahan data restoran dengan memasukkan atribut-atribut yang diperlukan.
Gambar 3.15 Sequence Diagram Master Restoran
3.2.4.5 Sequence Diagram Master Alamat
Admin melakukan penambahan atau perubahan data alamat dengan memasukkan atribut-atribut yang diperlukan.
Gambar 3.16 Sequence Diagram Master Alamat 3.2.4.6 Sequence Diagram Master Detil Restoran
Admin melakukan perubahan data detil restoran dengan memasukkan atribut-atribut yang diperlukan.
3.2.4.7 Sequence Diagram Master Gambar
Admin melakukan penambahan atau perubahan data gambar dengan memasukkan atribut-atribut yang diperlukan.
Gambar 3.18 Sequence Diagram Master Gambar 3.2.4.8 Sequence Diagram Pencarian Restoran
Dalam proses ini pengguna melakukan pencarian restoran. Saat pengguna membuka data restoran maka aplikasi akan menampilkan detail restoran, alamat restoran dan gambar dari restoran tersebut.
Gambar 3.19 Sequence Diagram Pencarian Restoran
3.2.5 Rancangan Class Diagram
Berikut merupakan rancangan class diagram yang menggambarkan class-class beserta relasinya dalam pengembangan aplikasi pencarian restoran:
3.2.6 Rancangan Basis Data
3.2.6.1 Rancangan Struktur Tabel
Setiap data yang akan ditampilkan sebagai sebuah informasi akan disimpan dalam sebuah basis data yang terdiri dari beberapa tabel yang saling berelasi. Berikut adalah gambaran rancangan struktur tabel pada pengembangan aplikasi pencarian restoran:
Gambar 3.21 Rancangan struktur table 3.2.6.2 Spesifikasi Basis Data
Spesifikasi basis data merupakan gambaran struktur data fisik pada suatu aplikasi. Spesifikasi basis data menyajikan bagaimana penyimpanan data dilakukan di perangkat lunak basis data. Berikut merupakan uraian rinci spesifikasi dari tiap-tiap tabel:
a. Tabel User
Tabel 3.8 Struktur Tabel User
No Nama Field Tipe Data Lebar Keterangan
1 UserId Varchar 2 Berisi kode pengguna
2 Username Varchar 50 Berisi username pengguna 3 Password Varchar 100 Berisi password pengguna
4 Name Varchar 100 Berisi nama pengguna
5 Email Varchar 100 Berisi email pengguna 6 RoleName Varchar 20 Berisi hak akses pengguna
7 IsActive Bit 1 1 : Aktif
0 : Tidak Aktif
Nama Tabel : User
Media : Harddisk
Isi : Daftar pengguna
Primary Key : UserId b. Tabel RestaurantType
Tabel 3.9 Struktur Tabel RestaurantType
No Nama Field Tipe Data Lebar Keterangan
1 RestaurantTypeId Varchar 2 Berisi kode tipe restoran 2 Name Varchar 100 Berisi nama tipe restoran
Nama Tabel : RestaurantType
Media : Harddisk
Isi : Daftar tipe restoran
Primary Key : RestaurantTypeId c. Tabel City
Tabel 3.10 Struktur Tabel City
No Nama Field Tipe Data Lebar Keterangan
1 CityId Varchar 2 Berisi kode kota
2 Name Varchar 100 Berisi nama kota
Nama Tabel : City
Media : Harddisk
Isi : Daftar kota
Primary Key : CityId d. Tabel Restaurant
Tabel 3.11 Struktur Tabel Restaurant
No Nama Field Tipe Data Lebar Keterangan
1 RestaurantId Varchar 7 Berisi kode restoran
2 Name Varchar 100 Berisi nama restoran
3 RestaurantTypeId Varchar 2 Berisi kode tipe restoran
6 IsActive Bit 1 1 : Aktif
0 : Tidak Aktif Nama Tabel : Restaurant
Primary Key : RestaurantId e. Tabel Address
Tabel 3.12 Struktur Tabel Address
No Nama Field Tipe Data Lebar Keterangan
1 AddressId Varchar 9 Berisi kode alamat 2 RestaurantId Varchar 7 Berisi kode restoran 3 Address Varchar 200 Berisi alamat restoran 4 Zipcode Varchar 10 Berisi kode pos restoran
5 CityId Varchar 2 Berisi kode kota
6 Latitude Decimal 9,6 Berisi latitude restoran 7 Longitude Decimal 9,6 Berisi longtitude restoran
8 IsActive Bit 1 1 : Aktif
0 : Tidak Aktif Nama Tabel : Address
Media : Harddisk
Isi : Daftar alamat restoran
Primary Key : AddressId f. Tabel RestaurantDetail
Tabel 3.13 Struktur Tabel RestaurantDetail
No Nama Field Tipe Data Lebar Keterangan
1 RestaurantDetailId Varchar 9 Berisi kode detil restoran 2 AddressId Varchar 9 Berisi kode alamat
3 PhoneNumber Varchar 15 Berisi nomor telepon restoran 4 MinPrice Decimal 12,2 Berisi harga terendah restoran 5 MaxPrice Decimal 12,2 Berisi harga tertinggi restoran
6 OpenHour Time Berisi jam buka restoran
7 CloseHour Time Berisi jam tutup restoran
8 Capacity Int 5 Berisi kapasitas restoran 9 HasDeliveryOrder Bit 1 1 : Ada
0 : Tidak Ada
10 IsActive Bit 1 1 : Aktif
0 : Tidak Aktif
Nama Tabel : RestaurantDetail
Media : Harddisk
Isi : Daftar detil restoran
Primary Key : RestaurantDetailId
g. Tabel Image
Tabel 3.14 Struktur Tabel Image
No Nama Field Tipe Data Lebar Keterangan
1 ImageId Varchar 9 Berisi kode gambar
2 AddressId Varchar 9 Berisi kode alamat
3 Title Varchar 100 Berisi judul gambar
4 Path Varchar 200 Berisi url gambar
5 Sort Int 5 Berisi urutan gambar
6 IsPrimary Bit 1 1 : Gambar utama
0 : Bukan gambar utama
7 IsActive Bit 1 1 : Aktif
0 : Tidak Aktif
Nama Tabel : Image
Media : Harddisk
Isi : Daftar gambar restoran
Primary Key : ImageId
3.2.7 Rancangan Tampilan
Berikut merupakan rancangan tampilan dari aplikasi pencarian restoran yang akan dikembangkan:
3.2.7.1 Rancangan Tampilan Login Admin
3.2.7.2 Rancangan Tampilan Master Pengguna
Gambar 3.23 Rancangan Tampilan Master Pengguna 3.2.7.3 Rancangan Tampilan Form Pengguna
Gambar 3.24 Rancangan Tampilan Form Pengguna
3.2.7.4 Rancangan Tampilan Hasil Pencarian Restoran
3.2.7.5 Rancangan Tampilan Detil Restoran
Gambar 3.26 Rancangan Tampilan Detil Restoran