4.3.6.1.4 Diagram Alir Data Level 2 – Mengelola Rumah Makan
Diagram Alir Data level 2 Yogyakarta ditunjukkan dengan gambar 4.28.
R1 Pengguna
R2 Rumah Makan
R3 Makanan
R4 JenisMakanan
Administrator D
at a
R umah
Ma ka
n D
at a
R um
ah Maka
n
Data Makanan
Data Jenis Makanan
Mitra Bisnis
Data Rumah Makan
2.4 Mengubah Data
Makanan 2.3
Menambah Data Makanan
2.2 Mengubah Data
Rumah Makan 2.1
Menambah Data Rumah Makan
Data Rumah Makan
D at
a R
umah Mak
an
Data Makanan Data Makanan
D at
a Maka
na n
D at
a Maka
na n
Data Makanan
Data Jenis Makanan Data Makanan
Gambar 4.28 DFD level 2
– Mengelola Rumah Makan
4.3.6.1.5 Diagram Alir Data Level 2 – Mengelola Kriteria
Diagram Alir Data level 2 ditunjukkan dengan gambar 4.29.
Administrator R6 Kriteria
Data kriteria Data kriteria
3.2 Mengubah
Data Kriteria
3.1 Menambah
Kriteria Kualitatif
Tambahan
Data kriteria Data kriteria
Gambar 4.29
DFD level 2 – Mengelola Kriteria
4.3.6.1.6 Diagram Alir Data Level 2 – Mencari Rekomendasi Rumah Makan
Diagram Alir Data level 2 - Memberi Penilaian Rumah Makan ditunjukkan dengan gambar 4.30.
R2 Rumah Makan R3 Makanan
R4 JenisMakanan R5 Penilaian
Pengguna
Da ta P
en car
ian Da
ta Ru
ma h M
akan
Hasil Bobot
Da ta Je
nis Ma
kan an
R6 Kriteria
Data Rekomendasi Makanan Data kriteria
4.4 Perekomendasian
Rumah Makan 4.1
Pemilahan Rumah Makan
dan Makanan
Da ta
Ma kan
an
Hasil Perangkingan
Da ta M
akan an
4.3 Perangkingan
4.2 Perhitungan Bobot
Data Penilaian
Gambar 4.30
DFD level 2 – Mencari Rekomendasi Makan
4.3.6.1.7 Diagram Alir Data Level 2 – Memberi Penilaian Rumah Makan
Diagram Alir Data level 2 Proses 5 ditunjukkan dengan gambar 4.31.
R1 Pengguna
R2 Rumah Makan
R3 Makanan
R4 JenisMakanan
R5 Penilaian Pengguna
N ila
i
Nilai Data Pengguna
Data Rumah Makan Data Rumah Makan
Nilai
Nilai
5.1 Menambah
Penilaian Rumah Makan
Nil ai
Ni lai
Nil ai
5.4 Merubah Penilaian
Makanan 5.3
Menambah Penilaian
Makanan 5.2
Merubah Penilaian Rumah Makan
Nilai Data Pengguna
Data Peng
guna
Data Pen
ggun a
Data Pengguna Data Makanan
Gambar 4.31 DFD level 2 - Memberi Penilaian Rumah Makan
4.3.6.2 Spesifikasi Proses
Spesifikasi proses merupakan deskripsi detail untuk setiap proses dalam Digram Alir Data Level 2 Proses 4. Proses ini berfungsi
untuk menjelaskan secara lengkap tentang deskripsi proses, masukan dan keluaran proses, serta proses berupa pseudocode.
4.3.6.2.1 Menghitung Jarak
Nama : Menghitung jarak
b. Deskripsi : Menghitung jarak antar dua koordinat
c. Masukan Aliran Data: -
Koordinat a, koordinat b d. Proses Pseudocode:
jarak kilometer dimensi mean radius bumi R = 6371;
coord_a = explode,,coord_a; coord_b = explode,,coord_b;
dLat = radcoord_b[0] - coord_a[0]; dLong = radcoord_b[1] - coord_a[1];
a =
sindLat2 sindLat2
+ cosradcoord_a[0]
cosradcoord_b[0] sindLong2 sindLong2; c = 2 atan2sqrta, sqrt1-a;
d = R c;
hasil akhir dalam satuan meter return number_formatd1000, 4, ., ;
e. Keluaran Aliran Data: -
Array Makanan.
4.3.6.2.2 Pemilihan Makanan dan Rumah Makan
a. Nama : Pemilihan Makanan dan Rumah Makan
b. Deskripsi : Memilah Data yang akan di proses dalam
pembobotan c. Masukan Aliran Data:
- kata kunci, lokasi, radius maksimum.
d. Proses Pseudocode: query = select from makanan inner join rumah_makan usingid_rm
where makanan.aktif=1 ; ifcountarray_jenis0{
for i = 0; i countarray_jenis; i++ { query = query . AND namaMK like .array_jenis[i].;
}
} query = query. order by id_makanan;
q = execute query; arr_alternatif_id=array;
set h from q; while h has next {
ifdistHaversineinput_coord, h[lokasi]input_jarak{ array_pusharr_alternatif_id, h[id_makanan];
} }
e. Keluaran Aliran Data: -
Array Makanan.
4.3.6.2.3 Hitung Preferensi
a. Nama : Hitung Preferensi
b. Deskripsi : Menghitung Preferensi dua makanan
c. Masukan Aliran Data:
- ID makanan1, ID makanan2, jenis makanan, arah a ke
btruefalse, koordinat pengguna. d. Proses Pseudocode:
if id_alternatif1 == id_alternatif2 { return 0;
} else { set h from kriteria;
k[] = h[id_kriteria]; i++;
minmax[] = h[minmax]; t[] = h[tipe_preferensi];
nilai_p[] = h[p]; nilai_q[] = h[q];
nilai_gausian[] = h[s];
for i = 0; i n; i++ { if k[i] == 1 {
set h from makanan with id_alternatif1 if input_id_jenis_makanan == h[0] {
a1 = 1; } else {
a1 = 0;
}
set h from makanan with id_alternatif2 if input_id_jenis_makanan == h[0] {
a2 = 1; } else {
a2 = 0; }
} if k[i] == 2 {
set h
from makanan
with id_alternatif1;
a1 = h[0]; set h from makanan with id_alternatif2;
a2 = h[0];
} elseif k[i] == 3 { set h from rumah makan join makanan with
id_alternatif1; a1 = distHaversineh[0], input_coord;
set h from rumah makan join makanan with id_alternatif2;
a2= distHaversineh[0], input_coord;
} else {
set keterangan to h from kriteria with id_kriteria=k[i]; tempKriteria = h[0];
if tempKriteria == makanan { set AVGnilai from
penilaian to h with id_alternatif1 and id_kriteria= k[i]; tempnilai = h[0];
a1 = tempnilai; set AVGnilai from
penilaian to h with id_alternatif2 and id_kriteria= k[i]; tempnilai = h[0];
a2 = tempnilai; } else {
set AVGnilai from penilaian join makanan to h with id_alternatif1 and id_kriteria=
k[i]; tempnilai = h[0];
a1 = tempnilai; set AVGnilai from
penilaian join makanan to h with id_alternatif2 and id_kriteria= k[i];
tempnilai = h[0]; a2 = tempnilai;
} }
cal = false; if minmax[i] == min {
if a2 = a1 { pref1 = 0;
cal = true; } else {
pref1 = 1; pref2 = 0;
cal = false; }
} else { if a2 = a1 {
pref1 = 0; cal = true;
} else { pref1 = 1;
pref2 = 0; cal = false;
} }
if cal == true {
d = a1 - a2; switch t[i] {
case 1: if d == 0 {
pref2 = 0; } else {
pref2 = 1; }
break; case 2:
if d = nilai_q[i] -1 and d = nilai_q[i] {
pref2 = 0;
} else { pref2 = 1;
} break;
case 3:
if d = nilai_p[i] -1 and d = nilai_p[i] { pref2 = d nilai_p[i];
} else { pref2 = 1;
} break;
case 4: if d = nilai_q[i] and d =
nilai_p[i] { pref2 = 0.5;
} elseif d = nilai_q[i] { pref2 = 0;
} else { pref2 = 1;
} break;
case 5:
if d nilai_q[i] and d = nilai_p[i] {
pref2 = d - nilai_q[i] nilai_p[i] - nilai_q[i]; } elseif d = nilai_q[i] {
pref2 = 0; } else {
pref2 = 1; }
break; case 6:
pref2 = 1 - pow-1 d, 2 2 pownilai_gausian[i], 2;
break; }
} tot_pref1 = 0;
tot_pref2 = 0; tot_pref1 = tot_pref1 + pref1;
tot_pref2 = tot_pref2 + pref2; }
} if ab == true {
return tot_pref1 n;
} else { return tot_pref2 n;
} }
}
e. Keluaran Aliran Data: -
Array Makanan.
4.3.6.2.4 Perhitungan Bobot
a. Nama : Perhitungan Bobot
b. Deskripsi : Memberi Bobot pada makanan dan rumah makan
terkait terhadap setiap kriteria.
- Untuk Setiap Makanan dan Rumah makan
terkait, hitung Bobot LF,EF,NF.
c. Masukan Aliran Data: -
jenis dan kata kunci, koordinat, jarak maksimum. d. Proses Pseudocode:
- Untuk Setiap makanan
1. Hitung LF function
LFid_alternatif, jenis,input_coord,arr_alternatif_id {
j = countarr_alternatif_id;
tot_n = 0; for i = 0; i countarr_alternatif_id; i++ {
for ii = 0; ii countarr_alternatif_id; ii++ { n
= PREFERENSIarr_alternatif_id[ii],
arr_alternatif_id[i], false, jenis,input_coord; }
} for i = 0; i countarr_alternatif_id; i++ {
if arr_alternatif_id[i] == id_alternatif { for ii = 0; ii countarr_alternatif_id; ii++ {
n =
PREFERENSIarr_alternatif_id[ii], arr_alternatif_id[i], false, jenis,input_coord;
tot_n = tot_n + n; }
}
}
ifj == 1{ return 1;
}else{ return 1 j - 1 tot_n;
} }
2. Hitung EF function EFid_alternatif, jenis,input_coord,arr_alternatif_id {
j = countarr_alternatif_id;
tot_n = 0; for i = 0; i countarr_alternatif_id; i++ {
for ii = 0; ii countarr_alternatif_id; ii++ {
n =
PREFERENSIarr_alternatif_id[ii], arr_alternatif_id[i], true, jenis,input_coord;
}
} for i = 0; i countarr_alternatif_id; i++ {
if arr_alternatif_id[i] == id_alternatif { for ii = 0; ii countarr_alternatif_id; ii++ {
n =
PREFERENSIarr_alternatif_id[ii], arr_alternatif_id[i], true, jenis,input_coord;
tot_n = tot_n + n; }
} }
ifj == 1{ return 1;
}else{ return 1 j - 1 tot_n;
} }
3. Hitung NF function NFjenis,input_coord,input_jarak {
array_jenis = array;
array_jenis = split , jenis; arr_alternatif_id = filterMakanan;
arr_result=array;
for i = 0; i countarr_alternatif_id; i++ { arr_result1=new makanan;
tempLF=LFarr_alternatif_id[i], jenis,input_coord,arr_alternatif_id;
tempEF=EFarr_alternatif_id[i], jenis,input_coord,arr_alternatif_id;
tot_n = tempLF - tempEF; arr_result1-setIDarr_alternatif_id[i];
arr_result1-setLFtempLF; arr_result1-setEFtempEF;
arr_result1-setNFtot_n; array_pusharr_result, arr_result1;
} }
e. Keluaran Aliran Data: -
Bobot setiap makanan dengan rumah makan terkait.
4.3.6.2.5 Perangkingan
a. Nama : Perangkingan
b. Deskripsi : Mengurutkan Bobot setiap makanan
- Untuk Setiap Makanan dan Rumah makan terkait, urutkan dari nilai bobot tertinggi hingga
nilai bobot terendah. c. Masukan Aliran Data:
- Data Makanan dan Rumah Makan terkait beserta bobot.
d. Proses Pseudocode: sortarr_result, functionmakanan a, makanan b{
return a-getNF b-getNF; };
e. Keluaran Aliran Data: -
Daftar Makanan dan Rumah Makan terkait yang terurut.
4.3.6.2.5 Perekomendasian Rumah Makan
a. Nama : Perekomendasian Rumah makan
b.Deskripsi : Menampilkan rekomendasi makanan beserta rumah makan terkait.
- Memberikan tampilan daftar rumah makan yang paling direkomendasikan.
c. Masukan Aliran Data : - Daftar Makanan dan Rumah Makan terkait yang terurut.
d. Proses Pseudocode: for Makanan i=0 hingga Makanan.length{
Print Makanan[i].harga, Makanan[i].jarak, Makanan[i].nama }
e. Keluaran Aliran Data: - Tampilan Daftar makanan beserta data rumah makanharga,
jarak, nama.
BAB V PENUTUP
5.1 Pengujian Perancangan
Pengujian perancangan dimaksudkan dalam mengevaluasi rancangan sistem untuk mendapatkan data-data yang lebih akurat dan objektif terhadap
penilaian akan rancangan sistem yang telah dibuat. Kuesioner ini terdiri dari 9 pernyataan yang diedarkan secara online maupun langsung dengan jumlah
responden yg adalah programmer yaitu 20 orang.
5.1.1 Pembuatan Kuesioner
Pernyataan-pernyataan yang diberikan dalam pengujian perancangan ini mengacu
pada perancangan
sistem dengan
menggunakan metode
MURREMaintainability Usabality Reusability Reliability Extendability. Metode ini berfungsi untuk mengukur kualitas perancangan sistem informasi yang
diusulkan. Beberapa hal yang menjadi tolak ukur kualitas perancangan sistem, antara lain:
Maintainability
Data rumah makan, perhitungan rekomendasi akan terus berkembang seiring bertambahnya jumlah rumah makanan yang ada, pengguna,
penilaian pengguna. Data ini disimpan dalam tabel basis data.
Usability
Rancangan antarmuka penggunan telah dibuat sesederhana mungkin sesuai tujuannya masing-masing. Jika terdapat bagian yang tidak dapat
dimengerti dapat dilihat pada penjelasan antarmuka yang bersangkutan. Reusability
Beberapa bagian dari sistem dipecah-pecah sesuai fungsi masing-masing. Sehingga dapat digunakan kembali pada pengembangan selanjutnya
ataupun pengembangan lain yang memerlukan fungsi-fungsi yang
dipakai pakai system ini. Reliability
Sistem ini dirancang untuk menggunakan extensi peta yang sudah umum dipakai dan menggunakan rumus-rumus perhitungan yang baku.
Sehingga hasil keluarannya dapat di ukur kebenarannya.
Extendability
Bentuk-bentuk extensi yang dapat mendukung sistem ini seperti, bug management, category tree,special pages,tag extention, link extention,
map extention, dan lain-lain. Sistem ini dirancang untuk menggunakan
extensi peta, tidak menutup kemungkinan kedepan akan ada perubahan extensi peta yang akan digunakan.
Skala yang dipergunakan pada kuesioner ini adalah skala likert yaitu
membagi kategori menjadi beberapa bagian yaitu sangat tidak setuju, tidak setuju,
netralragu, setuju dan sangat setuju. Sehingga kuesioner yang akan diisi oleh responden menjadi seperti di bawah ini.
Tabel 5.1
Tabel Kuesioner untuk Responden
No Pernyataan
Tanggapan Anda STS
TS N
S SS
1 ER yang dirancang mudah dimengerti.
2 Rancangan
sistem dapat
diimplementasikan dengan
bahasa pemrograman
terkini Java,PHP,.NET.
3 Rancangan diagram Data Flow dijabarkan secara
lengkap dalam beberapa level. 4
Dokumentasi dapat dipahami dengan jelas.
5 Use Case dan narasi Use Case menunjukkan
langkah-langkah yang sesuai dengan rancangan kebutuhan pengguna Sistem Pendukung
Keputusan Kuliner Yogyakarta. 6
Informasi pada rancangan antarmuka sederhana dan mudah dimengerti.
7 Bagian dari Algoritma, ER, DFD, Antarmuka
Pengguna, Pseudocode dapat digunakan kembali untuk pengembangan selanjutnya pada sistem
yang sama ataupun berbeda.
8 Perancangan sistem dapat memenuhi tujuan
utama Sistem Pendukung Pengambilan Keputusan Kuliner Yogyakarta.
9 Perancangan sistem menunjukkan kemungkinan
untuk bertumbuh
dan beradaptasi
dengan kebutuhan yang baru.
Setiap kategori memiliki skornya masing-masing, skor terendah diberikan kepada kategori tidak setuju dengan skor 1, sedangkan skor
tertinggi 5 diberikan pada kategori sangat setuju.
Kategori Skor
Sangat Tidak Setuju 1
Tidak Setuju 2
NetralRagu-ragu 3
Setuju 4
Sangat Setuju 5
Tabel 5.2 Tabel Skor Kategori
Keterangan :
STS: Sangat Tidak Setuju. TS : Tidak Setuju.
N : Netral S : Setuju.
SS : Sangat Setuju.
5.1.2 Perhitungan Hasil Kuesioner
Setelah dilakukan penyebaran kuisioner yang diberikan pada responden, maka selanjutnya dilakukan rekap terhadap hasil kuisioner yang
telah dikumpulkan. Total nilai dari 20 responden dan dicari jenis kategorinya berdasarkan skala likert. Kategori tersebut adalah :
Interval Kategori
0 - 20 Sangat Tidak Setuju
21 - 40 Tidak Setuju
41 – 60
NetralRagu-ragu 61
– 80 Setuju
81 - 100 Sangat Setuju
Tabel 5.3 Tabel Kategori Skala Likert
Langkah pertama adalah mencari skor terkecil xMin, yaitu jumlah pernyataan dikalikan dengan nilai jawaban terkecil dan dikalikan jumlah
responden sehingga xMin = 9 x 1 x 20 = 180. Kemudian untuk skor terbesar xMax didapat dengan jumlah pernyataan dikalikan nilai jawaban terbesar
dan dikalikan dengan jumlah responden sehingga xMax = 9 x 5 x 20 = 900. Berdasarkan hasil diatas maka akan diketahui total nilai seluruh responden
berada antara xMin = 180 sampai xMax = 900 Kemudian dicari total nilai seluruh responden dengan tabel di bawah ini :
Tabel 5.4. Tabel Perhitungan Kuesioner
No Pernyataan
Jumlah Tanggapan STS
TS N
S SS
1 1
3 14
2 2
4 6
10 3
2 11
6 4
1 8
11 5
6 7
7 6
1 5
4 10
7 1
2 14
3 8
1 4
8 7
9 6
4 10
Total 1
5 31
76 66
Keterangan :
STS: Sangat Tidak Setuju. TS : Tidak Setuju.
N : Netral S : Setuju.
SS : Sangat Setuju.
Skor Total Pernyataan
Hasil Skor x Total Pernyataan
1 1
1 2
5 10
3 31
93 4
76 304
5 66
330
Total 738
Tabel 5.5. Tabel Total Seluruh Responden
Persentase skala likert =
x
100 =
Persentase skala likert
=
x
100 = 82
Persentase skala likert = 82
5.2 Kesimpulan
Berdasarkan hasil pengujian perancangan di atas didapat total nilai keseluruhan sebesar 82 dari total 20 responden. Menurut tabel skala likert
tabel 5.3 nilai 82 termasuk ke dalam kategori sangat setuju. Sehingga
dapat disimpulkan bahwa rancangan sistem memiliki rancangan yang sangat