BAB III ANALISIS DAN DESAIN SISTEM
III.1. Analisis Sistem yang Berjalan Proses analisa sistem merupakan langkah kedua pada fase pengembangan sistem. Analisa sistem dilakukan untuk mengetahui kelebihan dan kekurangan dari sistem yang selama ini dijalankan oleh perusahaan serta memahami informasi-informasi yang didapat dan dikeluarkan oleh sistem itu sendiri. Untuk mengetahui kekurangan dan kelebihan sistem tersebut, maka perlu diketahui bagaimana sistem yang sedang berjalan pada perusahaan. Adapun kelemahan dari sistem yang sedang berjalan adalah : 4. Penyebaran informasi lokasi kafe saat ini masih menggunakan cara konvensional yaitu menggunakan selebaran yang sudah kurang sesuai dengan era globalisasi. 5. Belum adanya sistem yang dapat membantu masyarakat dalam mencari informasi lokasi kafe di kota Binjai. 6. Kurangnya bahan pertimbangan yang dimiliki masyarakat dalam menentukan tempat kafe yang disebabkan oleh minimnya informasi yang dapat digunakan untuk mendukung keputusan
30
31
Adapun strategi pemecahan masalah yang berikan oleh penulis untuk memperbaiki sistem yang sedang berjalan adalah : 4.
Mempermudah penyebaran informasi lokasi kafe dengan merancang dan membangun sebuah sistem informasi geografis lokasi kafe di kota binjai.
5.
Merancang sistem informasi geografis yang dapat membantu masyarakat dalam mencari informasi lokasi kafe di kota Binjai.
6.
Membangun sebuah sistem informasi geografis lokasi kafe di kota binjai dengan menggunakan metode haversine untuk mendapatkan nilai rute yang akurat
III.2. Penerapan Metode Haversine Menurut Ryan Dwi Putra (2015 : 2), Haversine Formula merupakan metode untuk mengetahui jarak antara dua titik dengan memperhitungkan bahwa bumi bukanlah bidang datar namun adalah sebuah bidang yang memiliki derajat kelengkungan. Haversine Formula menghitung jarak antara 2 titik dengan berdasarkan panjang garis lurus antara 2 titik pada garis bujur dan lintang. Berikut bentuk Rumus Haversine Formula : lat1 = lat1 * (Math.PI / 180); lon1 = lon1 * (Math.PI / 180); lat2 = lat2 * (Math.PI / 180); lon2 = lon2 * (Math.PI / 180);
32
Δlat = lat2- lat1 Δlong = long2- long1 a = sin²(Δlat/2) + cos(lat1) * cos(lat2) * sin²( Δlong/2) c = 2.atan2 (√a, √1-a) d=R*c Keterangan : R = Jari-jari bumi sebesar 6371 (km) Δlat = besaran perubahan latitude Δlong = besaran perubahan longitude C = kalkulasi perpotongan sumbu d = jarak (km) 1 derajat = 0.0174532925 radian.
III.2.1. Studi Kasus Rute = [ (3.60997,98.49311) (3.60981,98.49296) (3.60953,98.49285) (3.60916,98.49282) (3.60883,98.49284) (3.60865,98.49283) (3.60849,98.49274) (3.60837,98.49255) (3.60824,98.49224) (3.60879,98.49161) (3.60919,98.49114) (3.60852,98.49057) (3.6047,98.48738) (3.60433,98.48725) (3.60366,98.48701) (3.60119,98.48589) (3.601,98.48593)], Konversi Bilangan Degree ke Bilangan Radian k1 = [k1[0] * Math.PI / 180, k1[1] * Math.PI / 180] [0.0630058623982197, 1.7190290600289524] k2 = [k2[0] * Math.PI / 180, k2[1] * Math.PI / 180]
33
[0.0630030698714165, 1.7190264420350743] k3 = [k3[0] * Math.PI / 180, k3[1] * Math.PI / 180] [0.06299818294951093, 1.719024522172897] k4 = [k4[0] * Math.PI / 180, k4[1] * Math.PI / 180] [0.06299172523127854, 1.7190239985741211] k5 = [k5[0] * Math.PI / 180, k5[1] * Math.PI / 180] [0.06298596564474697, 1.7190243476399716] k6 = [k6[0] * Math.PI / 180, k6[1] * Math.PI / 180] [0.06298282405209336, 1.7190241731070466] k7 = [k7[0] * Math.PI / 180, k7[1] * Math.PI / 180] [0.06298003152529019, 1.7190226023107196] k8 = [k8[0] * Math.PI / 180, k8[1] * Math.PI / 180] [0.06297793713018779, 1.7190192861851408] k9 = [k9[0] * Math.PI / 180, k9[1] * Math.PI / 180] [0.06297566820216019, 1.7190138756644595] k10 = [k10[0] * Math.PI / 180, k10[1] * Math.PI / 180] [0.06298526751304616, 1.7190028800901722] k11 = [k11[0] * Math.PI / 180, k11[1] * Math.PI / 180] [0.06299224883005414, 1.7189946770426878] k12 = [k12[0] * Math.PI / 180, k12[1] * Math.PI / 180] [0.06298055512406578, 1.7189847286659516] k13 = [k13[0] * Math.PI / 180, k13[1] * Math.PI / 180] [0.0629138835466396, 1.7189290526628132]
34
k14 = [k14[0] * Math.PI / 180, k14[1] * Math.PI / 180] [0.06290742582840722, 1.7189267837347855] k15 = [k15[0] * Math.PI / 180, k15[1] * Math.PI / 180] [0.06289573212241885, 1.7189225949445803] k16 = [k16[0] * Math.PI / 180, k16[1] * Math.PI / 180] [0.0628526224898946, 1.7189030472569582] k17 = [k17[0] * Math.PI / 180, k17[1] * Math.PI / 180] [0.06284930636431581, 1.718903745388659] Perhitungan jarak koordinat 1 (3.60997,98.49311) ke koordinat 2 (3.60981,98.49296): SinPertama = Math.pow(Math.sin((k2[0]-k1[0])/2), 2); 1.949551486645982e-12 SinKedua = Math.pow(Math.sin((k2[1]-k1[1])/2), 2); 1.7134729864792507e-12 a = SinPertama + Math.cos(k1[0]) * Math.cos(k2[0]) * SinKedua 3.656231729790489e-12 c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)) 0.000003824255080297309 R = 6371.009 6371.009 d=R*c 0.024364363534869878 jarak_k1_k2 = d
35
0.024364363534869878 Perhitungan jarak koordinat 2 (3.60981,98.49296) ke koordinat 3 (3.60953,98.49285): SinPertama = Math.pow(Math.sin((k3[0]-k2[0])/2), 2); SinKedua = Math.pow(Math.sin((k3[1]-k2[1])/2), 2); a = SinPertama + Math.cos(k2[0]) * Math.cos(k3[0]) * SinKedua c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)) R = 6371.009 d=R*c 0.03344219412975855 jarak_k2_k3 = d 0.03344219412975855 Perhitungan jarak koordinat 3 (3.60953,98.49285) ke koordinat 4 (3.60916,98.49282): SinPertama = Math.pow(Math.sin((k4[0]-k3[0])/2), 2); SinKedua = Math.pow(Math.sin((k4[1]-k3[1])/2), 2); a = SinPertama + Math.cos(k3[0]) * Math.cos(k4[0]) * SinKedua c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)) R = 6371.009 d=R*c 0.04127666249100548 jarak_k3_k4 = d 0.04127666249100548
36
Perhitungan jarak koordinat 4 (3.60916,98.49282) ke koordinat 5 (3.60883,98.49284): SinPertama = Math.pow(Math.sin((k5[0]-k4[0])/2), 2); SinKedua = Math.pow(Math.sin((k5[1]-k4[1])/2), 2); a = SinPertama + Math.cos(k4[0]) * Math.cos(k5[0]) * SinKedua c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)) R = 6371.009 d=R*c 0.03676144028030853 jarak_k4_k5 = d 0.03676144028030853 Perhitungan jarak koordinat 5 (3.60883,98.49284) ke koordinat 6 (3.60865,98.49283): SinPertama = Math.pow(Math.sin((k6[0]-k5[0])/2), 2); SinKedua = Math.pow(Math.sin((k6[1]-k5[1])/2), 2); a = SinPertama + Math.cos(k5[0]) * Math.cos(k6[0]) * SinKedua c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)) R = 6371.009 d=R*c 0.020045856615503635 jarak_k5_k6 = d 0.020045856615503635
37
Perhitungan jarak koordinat 6 (3.60865,98.49283) ke koordinat 7 (3.60849,98.49274): SinPertama = Math.pow(Math.sin((k7[0]-k6[0])/2), 2); SinKedua = Math.pow(Math.sin((k7[1]-k6[1])/2), 2); a = SinPertama + Math.cos(k6[0]) * Math.cos(k7[0]) * SinKedua c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)) R = 6371.009 d=R*c 0.020402983632811122 jarak_k6_k7 = d 0.020402983632811122 Perhitungan jarak koordinat 7 (3.60849,98.49274) ke koordinat 8 (3.60837,98.49255): SinPertama = Math.pow(Math.sin((k8[0]-k7[0])/2), 2); SinKedua = Math.pow(Math.sin((k8[1]-k7[1])/2), 2); a = SinPertama + Math.cos(k7[0]) * Math.cos(k8[0]) * SinKedua c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)) R = 6371.009 d=R*c 0.024952584074545925 jarak_k7_k8 = d 0.024952584074545925
38
Perhitungan jarak koordinat 8 (3.60837,98.49255) ke koordinat 9 (3.60824,98.49224): SinPertama = Math.pow(Math.sin((k9[0]-k8[0])/2), 2); SinKedua = Math.pow(Math.sin((k9[1]-k8[1])/2), 2); a = SinPertama + Math.cos(k8[0]) * Math.cos(k9[0]) * SinKedua c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)) R = 6371.009 d=R*c 0.037315745333495624 jarak_k8_k9 = d 0.037315745333495624 Perhitungan jarak koordinat 9 (3.60824,98.49224) ke koordinat 10 (3.60879,98.49161):
39
SinPertama = Math.pow(Math.sin((k10[0]-k9[0])/2), 2); SinKedua = Math.pow(Math.sin((k10[1]-k9[1])/2), 2); a = SinPertama + Math.cos(k9[0]) * Math.cos(k10[0]) * SinKedua c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)) R = 6371.009 d=R*c 0.0928880204035513 jarak_k9_k10 = d 0.0928880204035513 Perhitungan jarak koordinat 10 (3.60879,98.49161) ke koordinat 11 (3.60919,98.49114): SinPertama = Math.pow(Math.sin((k11[0]-k10[0])/2), 2); SinKedua = Math.pow(Math.sin((k11[1]-k10[1])/2), 2); a = SinPertama + Math.cos(k10[0]) * Math.cos(k11[0]) * SinKedua c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)) R = 6371.009 d=R*c 0.06854748253977062 jarak_k10_k11 = d 0.06854748253977062 Perhitungan jarak koordinat 11 (3.60919,98.49114) ke koordinat 12 (3.60852,98.49057):
40
SinPertama = Math.pow(Math.sin((k12[0]-k11[0])/2), 2); SinKedua = Math.pow(Math.sin((k12[1]-k11[1])/2), 2); a = SinPertama + Math.cos(k11[0]) * Math.cos(k12[0]) * SinKedua c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)) R = 6371.009 d=R*c 0.09773236520058695 jarak_k11_k12 = d 0.09773236520058695 Perhitungan jarak koordinat 12 (3.60852,98.49057) ke koordinat 13 (3.6047,98.48738): SinPertama = Math.pow(Math.sin((k13[0]-k12[0])/2), 2); SinKedua = Math.pow(Math.sin((k13[1]-k12[1])/2), 2); a = SinPertama + Math.cos(k12[0]) * Math.cos(k13[0]) * SinKedua c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)) R = 6371.009 d=R*c 0.5529452337051393 jarak_k12_k13 = d 0.5529452337051393 Perhitungan jarak koordinat 13 (3.6047,98.48738) ke koordinat 14 (3.60433,98.48725):
41
SinPertama = Math.pow(Math.sin((k14[0]-k13[0])/2), 2); SinKedua = Math.pow(Math.sin((k14[1]-k13[1])/2), 2); a = SinPertama + Math.cos(k13[0]) * Math.cos(k14[0]) * SinKedua c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)) R = 6371.009 d=R*c 0.043598286696786365 jarak_k13_k14 = d 0.043598286696786365
Perhitungan jarak koordinat 14 (3.60433,98.48725) ke koordinat 15 (3.60366,98.48701): SinPertama = Math.pow(Math.sin((k15[0]-k14[0])/2), 2); SinKedua = Math.pow(Math.sin((k15[1]-k14[1])/2), 2); a = SinPertama + Math.cos(k14[0]) * Math.cos(k15[0]) * SinKedua c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)) R = 6371.009 d=R*c 0.07911843936277792 jarak_k14_k15 = d 0.07911843936277792
42
Perhitungan jarak koordinat 15 (3.60366,98.48701) ke koordinat 16 (3.60119,98.48589): SinPertama = Math.pow(Math.sin((k16[0]-k15[0])/2), 2); SinKedua = Math.pow(Math.sin((k16[1]-k15[1])/2), 2); a = SinPertama + Math.cos(k15[0]) * Math.cos(k16[0]) * SinKedua c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)) R = 6371.009 d=R*c 0.3014668252445835 jarak_k15_k16 = d 0.3014668252445835 Perhitungan jarak koordinat 16 (3.60119,98.48589) ke koordinat 17 (3.601,98.48593): SinPertama = Math.pow(Math.sin((k17[0]-k16[0])/2), 2); SinKedua = Math.pow(Math.sin((k17[1]-k16[1])/2), 2); a = SinPertama + Math.cos(k16[0]) * Math.cos(k17[0]) * SinKedua c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)) R = 6371.009 d=R*c 0.02158837242252421 jarak_k16_k17 = d 0.02158837242252421
43
jarak_total = jarak_k1_k2 + jarak_k2_k3 + jarak_k3_k4 + jarak_k4_k5 + jarak_k5_k6 + jarak_k6_k7 + jarak_k7_k8 + jarak_k8_k9 + jarak_k9_k10 + jarak_k10_k11 + jarak_k11_k12 + jarak_k12_k13 + jarak_k13_k14 + jarak_k14_k15 + jarak_k15_k16 + jarak_k16_k17 1.496446855668019 Jadi, total Jarak Rute adalah 1.4964 km
III.3. Desain Sistem Desain sistem pada penelitian ini dibagi menjadi dua desain, yaitu desain sistem secara global untuk penggambaran model sistem secara garis besar dan desain sistem secara detail untuk membantu dalam pembuatan sistem. III.3.1. Desain Sistem Secara Global Desain sistem secara global menggunakan bahasa pemodelan UML yang terdiri dari Usecase Diagram, Activity Diagram, Class Diagram, dan Sequence Diagram.
III.3.1.1. Usecase Diagram Secara garis besar, bisnis proses sistem yang akan dirancang digambarkan dengan usecase diagram yang terdapat pada Gambar III.1 :
44
Sistem Informasi Geografis Lokasi Kafe di Kota Binjai Menggunakan Metode Haversine Formula Berbasis Web
Tampilan Peta Lokasi Kafe Logout
Administrator Website
Login
Data Lokasi
Kritik dan Saran
Halaman Utama
Kritik dan Saran
User
Berita
Berita
Tentang
Gambar III.1 Use Case Diagram Sistem
III.3.1.2. Class Diagram Rancangan kelas-kelas yang akan digunakan pada sistem yang akan dirancang dapat dilihat pada gambar III.2 :
45
Gambar III.2 Class Diagram Sistem
III.3.1.3. Activity Diagram Bisnis proses yang telah digambarkan pada use case diagram di atas dijabarkan dengan activity diagram : 1.
Activity Diagram Melihat Peta Aktivitas melihat peta diterangkan dalam langkah-langkah state, dimulai dari
kegiatan melihat panel peta kemudian mencari Artikel Kafe, selanjutnya menekan tombol atau link yang ada pada peta dan yang terakhir melihat informasi yang di sajikan dalam peta yang ditunjukkan pada gambar III.3:
46
Melihat Peta Admin
Sistem
Buka Form Peta
Tampilan Form Peta
Informasi outlet kuliner
Phase
Click salah satu marka pada peta
Gambar III.3 Activity Diagram Melihat Peta
2.
Activity Diagram Login Administrator Website Aktvitas proses login admin diterangkan dalam langkah-langkah state,
dimulai dari memasukkan username, memasukkan password, jika profil valid maka sistem akan mengaktifkan menu administrator, sedangkan jika tidak valid, maka tampilkan pesan kesalahan yang ditunjukkan pada gambar III.4:
47
Login admin Admin
Sistem
Buka Aplikasi
Login
Isi Username Gagal
Isi Password
Click Login
Phase
Berhasil
Gambar III.4 Activity Diagram Login Admin
3.
Activity Diagram Mengolah Data Kafe Aktivitas proses mengolah data Kafe diterangkan dalam langkah-langkah
state yang ditunjukmkan pada gambar III.5:
48
Data Lokasi Admin
Sistem
Memilih aksi pada form Menu
Click Form lokasi
Form lokasi
Mengisi Data
Tambah Data
Menekan tombol simpan
Menyimpan data
Memilih Data
Edit Data
Mengubah Data
Menyimpan Data
tidak
Hapus Data
Konfimrasi Penghapusan
Memilih data
Menghapus Data
Phase
Ya
Gambar III.5 Activity Diagram Mengolah Data Kafe
4.
Activity Diagram Mengolah Data Kritik dan Saran Aktvitas proses mengolah data kritik dan saran diterangkan dalam langkah-
langkah state yang ditunjukkan pada gambar III.6:
49
Data Kritik dan Saran Admin
Sistem
Memilih aksi pada form Menu
Click Form Kritik dan Saran
Mengisi Data
Form Kritik dan Saran
Tambah Data
Menekan tombol simpan
Menyimpan data
Hapus Data tidak
Konfimrasi Penghapusan
Memilih data
Menghapus Data
Phase
Ya
Gambar III.6 Activity Diagram Mengolah Data Kritik dan Saran
50
5.
Activity Diagram Mengolah Data Berita Aktvitas proses mengolah data berita diterangkan dalam langkah-langkah
state yang ditunjukkan pada gambar III.7 : Data berita Admin
Sistem
Memilih aksi pada form Menu
Click Form berita
Form berita
Mengisi Data
Tambah Data
Menekan tombol simpan
Menyimpan data
Memilih Data
Edit Data
Mengubah Data
Menyimpan Data
tidak
Hapus Data
Konfimrasi Penghapusan
Memilih data
Menghapus Data
Phase
Ya
Gambar III.7 Activity Diagram Mengolah Data Berita
51
6.
Activity Diagram Mengolah Data Tentang Aktvitas proses mengolah data Tentang diterangkan dalam langkah-langkah
state yang ditunjukkan pada gambar III.8 : Data profil Tentang Admin
Sistem
Memilih aksi pada form Menu
Click Form Tentang
Form Tentang
Phase
Melihat informasi
Gambar III.8 Activity Diagram Mengolah Data Tentang
7.
Activity Diagram Keluar Aktvitas proses keluar diterangkan dalam langkah-langkah state yang
ditunjukkan pada gambar III.9 :
52
Data logout Admin
Sistem
Memilih aksi pada form Menu
Click Form logout
Enable menu login
Phase
Form user
Disable menu admin
Gambar III.9 Activity Diagram Keluar
III.3.1.4. Sequence Diagram Rangkaian kegiatan pada setiap terjadi event sistem digambarkan pada sequence diagram berikut: 1.
Sequence Diagram pada Form Peta Serangkaian kegiatan saat terjadi event pada form peta dapat dilihat pada
gambar III.10 :
53
user
Beranda
Form Peta
Click Peta Kafe
Informasi Lokasi ()
Close ()
Gambar III.10 Sequence Diagram Form Peta
2.
Sequence Diagram pada Form Login Serangkaian kegiatan saat terjadi event pada form login dapat dilihat pada
gambar III.11 :
admin
Form Login
Db admin
Halaman admin
Isi username dan password ()
Click login ()
Validasi data ()
Berhasil ()
Gagal ()
Gambar III.11 Sequence Diagram Form Login
54
3.
Sequence Diagram pada Form Data Lokasi Serangkaian kegiatan saat terjadi event pada form data Lokasi dapat dilihat
pada gambar III.12 :
admin
Form Lokasi
Db lokasi
Baru ()
tambah data ()
ubah data ()
hapus data ()
Batal ()
Gambar III.12 Sequence Diagram Form Kafe
4.
Sequence Diagram pada Form Data Kritik dan Saran Serangkaian kegiatan saat terjadi event pada form Data Kritik dan Saran dapat
dilihat pada gambar III.13 :
55
admin
Form marka
Db berita_komentar
Baru ()
tambah data ()
ubah data ()
hapus data ()
Batal ()
Gambar III.13 Sequence Diagram Form Data Kritik dan Saran
5.
Sequence Diagram pada Form Data Berita Serangkaian kegiatan saat terjadi event pada form Data artikel dapat dilihat
pada gambar III.14 :
admin
Form Konten Website
Db berita
Baru ()
tambah data ()
ubah data ()
hapus data ()
Batal ()
Gambar III.14 Sequence Diagram Form Data Berita
56
6.
Sequence Diagram pada Form Tentang Serangkaian kegiatan saat terjadi event pada form Pengaturan profil dapat
dilihat pada gambar III.15 :
admin
Form Pengaturan
Db admin
Lihat informasi ()
Gambar III.15 Sequence Diagram Form Tentang
7.
Sequence Diagram pada Saat Logout Ditekan Serangkaian kegiatan saat terjadi event pada form proses logout dapat dilihat
pada gambar III.16 : Main
logoutButton actionPerformed()
logoutButton.disable() loginButton.enable() menuKuliner.disable() menuDataMarka.disable() menuOlahArtikel.disable() menuProfilAdministrator.disable()
Gambar III.16 Sequence Diagram Form Proses Logout
57
III.3.2. Desain Sistem Secara Detail Tahap perancangan berikutnya yaitu desain sistem secara detail yang meliputi desain output sistem, desain input sistem, dan desain database.
III.3.2.1. Halaman Utama Berikut ini adalah rancangan tampilan desain halaman utama yang akan dihasilkan oleh sistem dapat dilihat pada gambar III.17:
Sistem informasi Geografis Lokasi Kafe di Kota Binjai Home
Peta Kafe
Kritik dan Saran
Berita
Login
Tentang
Gambar III.17 Desain Tampilan Halaman Utama
III.3.2.2. Desain Output Berikut ini adalah rancangan tampilan desain peta yang akan dihasilkan oleh sistem dapat dilihat pada gambar III.18:
58
Sistem informasi Geografis Lokasi Kafe di Kota Binjai Home
Peta Kafe
Kritik dan Saran
Berita
Login
Tentang
Peta Lokasi Kata Kunci
Cari Data
Sistem Informasi Geografis Lokasi Kafe Hak Cipta © 2016 - All Right Reserved Design By Indah Dwi Novita
Gambar III.18 Desain Tampilan Peta III.3.2.3. Desain Input Berikut ini adalah rancangan atau desain input sebagai antarmuka pengguna: 1.
Desain Form Login Desain form login dapat dilihat pada gambar III.19: Sistem informasi Geografis Lokasi Kafe di Kota Binjai Home
Peta Kafe
Kritik dan Saran
Berita
Login
Reset
Login
Tentang
Login Administrator Username : Password :
Sistem Informasi Geografis Lokasi Kafe Hak Cipta © 2016 - All Right Reserved Design By Indah Dwi Novita
Gambar III.19 Desain Form Login
59
2.
Desain Form Data Lokasi Desain form Data Lokasi dapat dilihat pada gambar III.20 :
Sistem informasi Geografis Lokasi Kafe di Kota Binjai Home
Data Lokasi
Kritik dan Saran
Berita
Logout
Tentang
Data Lokasi Nama Kafe :
Telepon :
Koordinat :
Alamat : Gambar :
Choose File
Keterangan :
Simpan
Reset Cari Data
Kata Kunci :
Sistem Informasi Geografis Lokasi Kafe Hak Cipta © 2016 - All Right Reserved Design By Indah Dwi Novita
Gambar III.20 Desain Form Kafe 3.
Desain Form Data Kritik dan Saran Desain form info dapat dilihat pada gambar III.21 :
60
Sistem informasi Geografis Lokasi Kafe di Kota Binjai Home
Data Lokasi
Kritik dan Saran
Berita
Logout
Tentang
Saran Kata Kunci :
Cari Data
Hapus
Sistem Informasi Geografis Lokasi Kafe Hak Cipta © 2016 - All Right Reserved Design By Indah Dwi Novita
Gambar III.21 Desain Form Kritik dan Saran
4.
Desain Form Data Artikel Desain form Data Artikel dapat dilihat pada gambar III.22 :
Sistem informasi Geografis Lokasi Kafe di Kota Binjai Home
Data Lokasi
Kritik dan Saran
Berita
Logout
Tentang
Berita Judul Berita : Materi :
Simpan
Reset
Kata Kunci :
Cari Data
Sistem Informasi Geografis Lokasi Kafe Hak Cipta © 2016 - All Right Reserved Design By Indah Dwi Novita
Gambar III.22 Desain Form Data Artikel
61
5.
Desain Form Tentang Desain form tentang dapat dilihat pada gambar III.23 :
Sistem informasi Geografis Lokasi Kafe di Kota Binjai Home
Data Lokasi
Kritik dan Saran
Berita
Logout
Tentang
Tentang Program GIS Lokasi Kafe ini merupakan sebuah sistem informasi geografis berbasis website yang bertujuan untuk menampilkan informasi mengenai lokasi kafe beserta paket menu makanan yang tersedia sehingga dapat memudahkan kawla muda Nama Mahasiswa Indah Dwi Novita Jurusan Sistem Informasi Peminatan Sistem Informasi Grafis Kampus Universitas Potensi Utama Tahun 2016
Sistem Informasi Geografis Lokasi Kafe Hak Cipta © 2016 - All Right Reserved Design By Indah Dwi Novita
Gambar III.23 Desain Form Tentang
III.3.2.4. Desain Basis Data Desain basis data terdiri dari tahap merancang kamus data, melakukan normalisasi tabel dan merancang struktur tabel III.3.2.4.1. Normalisasi Data Salah satu topik yang cukup kompleks dalam dunia manajemen database adalah proses untuk menormalisasi tabel-tabel dalam database relasional. Menghindari kemungkinan kehilangan data secara tidak disengaja/tidak diketahui. Alasan utama dari normalisasi database minimal sampai dengan bentuk normal ketiga adalah menghilangkan kemungkinan adanya “insertion anomalies”, “deletion anomalies”, dan “update anomalies”. Tipe-tipe kesalahan tersebut sangat mungkin terjadi pada database yang tidak normal.
62
1. Bentuk tidak normal Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti format tertentu, dapat saja tidak lengkap dan terduplikasi. Data dikumpulkan apa adanya sesuai keadaanya. Tabel III.1. Tabel Tidak Normal Kode Tempat
Nama Karaoke
Alamat
Gambar
Lon
Lat
1
Cafetaria
Jl. T. Amir Hamzah No. 99 Binjai
lokasi/Cafetari aTrans.JPG
10.983.430. 192.724
3.978.004.826 . 325.190
2
Centre Kuphi Ulee Kareng
Jl. Sultan Hasanuddin No. 75 Binjai
lokasi/CentreK uphiUK.JPG
10.984.685.21 4. 699.000
4.018.181.641 . 131.790
3
Eighteen Coffee
Jl. Soekarno Hatta No. 463 (Jalan Raya Binjai – Binjai
lokasi/Eightee nCoffee.JPG
10.981.063.69 7. 647.000
4.007.441.740 . 781.290
2. Bentuk normal tahap pertama (1” Normal Form) Sebuah tabel disebut 1NF jika : - Tidak ada baris yang duplikat dalam tabel tersebut. - Masing-masing cell bernilai tunggal Catatan : Permintaan yang menyatakan tidak ada baris yang duplikat dalam sebuah tabel berarti tabel tersebut memiliki sebuah kunci, meskipun kunci tersebut dibuat dari kombinasi lebih dari satu kolom atau bahkan kunci tersebut merupakan kombinasi dari semua kolom.
63
Tabel III.2. Tabel Normal 1NF Kode Lokasi
Nama Lokasi
Telepon
Alamat
Gambar
Keterangan Apakah kamu seorang pecinta kopi sejati? Tampaknya admin belum sempat menulis ulasan singkat Tampaknya admin belum sempat menulis ulasan singkat Tampaknya admin belum sempat menulis ulasan singkat
1
Cafetaria Trans
061-6644083
Jl. T. Amir Hamzah No. 99 Binjai
lokasi/Cafet ariaTrans.JP G
3
Centre Kuphi Ulee Kareng
(061)4513755
Jl. Sultan Hasanuddin No. 75 Binjai
lokasi/Centr eKuphiUK.J PG
4
Eighteen Coffee
(061)7877603
Jl. Soekarno Hatta No. 463 (Jalan Raya Binjai - Binjai
lokasi/Eighte enCoffee.JP G
5
Kampung Kuliner
(061)7355657
Jl. Soekarno Hatta No. 1 (Jalan Raya Binjai Binjai)
lokasi/Kamp ung.JPG
Koordinat 3.6687750,98.5 098194
3.6016135,98.4 83046
3.6066944,98.5 270083
3.6085972,98.4 985667
3. Bentuk normal tahap kedua (2nd normal form) Bentuk normal kedua (2NF) terpenuhi jika pada sebuah tabel semua atribut yang tidak termasuk dalam primary key memiliki ketergantungan fungsional pada primary key secara utuh. Tabel III.3. Tabel Normal 2NF Kode_Jalan
Nama_Jalan
Koordinat
1
Imam Bonjol
3.58957,98.67419
2
Jalan Brigjen Katamso
3.58125,98.68261
3
Putri Hijau
3.59567,98.67569
4
Sisingamangaraja
3.58227,98.68468
5
Ir. H. Juanda
3.5753,98.67007
6
Diponegoro
3.57529,98.67193
7
Jend. Sudirman
3.57726,98.6668
8
Balaikota
3.58875,98.67827
64
III.5. Desain Tabel Setelah melakukan tahap normalisasi, maka tahap selanjutnya yang dikerjakan yaitu merancang struktur tabel pada basis data sistem yang akan dibuat, berikut ini merupakan rancangan struktur tabel tersebut: 1. Struktur Tabel Admin Tabel admin digunakan untuk menyimpan data Id_User, Username, Password, Nama, selengkapnya mengenai struktur tabel ini dapat dilihat pada tabel III.4 di bawah ini: Tabel III.4 Rancangan Tabel Admin Nama Database
indah_kafe
Nama Tabel
Admin
No
Nama Field
Tipe Data
Boleh Kosong
Kunci
1.
Id_User
int(11)
Tidak
Primary Key
2.
Username
varchar(12)
Tidak
Unique
3.
Password
varchar(12)
Tidak
-
4.
Nama
varchar(25)
Tidak
-
2. Struktur Tabel Berita Tabel berita digunakan untuk menyimpan data ID_Berita, Creator, Email, Tanggal, Judul, Isi, selengkapnya mengenai struktur tabel ini dapat dilihat pada tabel III.5 di bawah ini:
65
Tabel III.5 Rancangan Tabel Berita Nama Database
indah_kafe
Nama Tabel
Berita
No
Nama Field
Tipe Data
Boleh Kosong
Kunci
1.
ID_Berita
int(11)
Tidak
Primary Key
2.
Creator
varchar(25)
Tidak
-
3.
Email
varchar(25)
Tidak
-
4.
Tanggal
Date
Tidak
-
5.
Judul
Text
Tidak
-
6.
Isi
Text
Tidak
-
3. Struktur Tabel Berita_komentar Tabel berita_komentar digunakan untuk menyimpan data ID_Komentar, ID_Berita, Komentator, Email, Tanggal, Komentar, selengkapnya mengenai struktur tabel ini dapat dilihat pada tabel III.6 di bawah ini: Tabel III.6 Rancangan Tabel Berita_komentar Nama Database
indah_kafe
Nama Tabel
berita_komentar
No
Nama Field
Tipe Data
Boleh Kosong
Kunci
1.
ID_Komentar
int(11)
Tidak
Primary Key
2.
ID_Berita
int(11)
Tidak
Foreign Key
3.
Komentator
varchar(25)
Tidak
-
4.
Email
varchar(25)
Tidak
-
5.
Tanggal
Date
Tidak
-
6.
Komentar
Text
Tidak
-
66
4. Struktur Tabel Jalan Tabel jalan digunakan untuk menyimpan data Kode_Jalan, Nama_Jalan, Koordinat, selengkapnya mengenai struktur tabel ini dapat dilihat pada tabel III.7 di bawah ini: Tabel III.7 Rancangan Tabel Jalan Nama Database
indah_kafe
Nama Tabel
Jalan
No
Nama Field
Tipe Data
Boleh Kosong
Kunci
1.
Kode_Jalan
int(5)
Tidak
Primary Key
2.
Nama_Jalan
varchar(30)
Tidak
-
3.
Koordinat
Text
Tidak
-
5. Struktur Tabel Lokasi Tabel lokasi digunakan untuk menyimpan data Kode_Lokasi, Nama_Lokasi, Telepon, Alamat, Gambar, Keterangan, Koordinat, selengkapnya mengenai struktur tabel ini dapat dilihat pada tabel III.8 di bawah ini:
67
Tabel III.8 Rancangan Tabel Lokasi Nama Database
indah_kafe
Nama Tabel
Lokasi
No
Nama Field
Tipe Data
Boleh Kosong
Kunci
1.
Kode_Lokasi
int(5)
Tidak
Primary Key
2.
Nama_Lokasi
varchar(25)
Tidak
Unique
3.
Telepon
varchar(12)
Tidak
-
4.
Alamat
Text
Tidak
-
5.
Gambar
Longtext
Tidak
-
6.
Keterangan
Text
Tidak
-
7.
Koordinat
Text
Tidak
-
6. . Struktur Tabel Saran Tabel saran digunakan untuk menyimpan data ID_Saran, Nama_Pengirim, Email, Saran, selengkapnya mengenai struktur tabel ini dapat dilihat pada tabel III.9 di bawah ini: Tabel III.9 Rancangan Tabel Saran Nama Database
indah_kafe
Nama Tabel
Saran
No
Nama Field
Tipe Data
Boleh Kosong
Kunci
1.
ID_Saran
int(11)
Tidak
Primary Key
2.
Nama_Pengirim
varchar(25)
Tidak
-
3.
Email
varchar(25)
Tidak
-
4.
Saran
Text
Tidak
-