HASIL DAN PEMBAHASAN
B. Output Sistem
Output dari sistem ini adalah jika diinputkan tahun yang diinginkan maka akan keluar tabel yang berisi hasil pengelompokkan Kecamatan serta sistem akan menampilkan peta Kecamatan kota Surabaya dengan warna yang sesuai dengan hasil pengelompokkan. Dalam peta terdapat 3 warna untuk membedakan antara C1, C2, dan C3 yaitu warna kuning untuk Kecamatan yang masuk dalam kategori C1, warna hijau untuk Kecamatan yang masuk dalam kategori C2 dan warna merah untuk Kecamatan yang masuk dalam kategori C3.
Jika telah diinputkan kategori pada sistem dengan memilih salah satu kategori, hasil output pada sistem berupa tabel yang berisi Kecamatan yang berkategori sama dengan kategori yang diinputkan. Seperti contoh jika pada sistem diinputkan kategori C1, maka sistem akan menampilkan Kecamatan dengan karakteristiknya berkategori C1 dan pada peta akan menampilkan peta Kecamatan yang berkategori C1.
Sedangkan jika sistem telah diinputkan Kecamatan dengan memilih salah satu Kecamatan di Surabaya, maka output sistem berupa peta yang menampilkan Kecamatan yang telah dipilih. Seperti contoh diinputkan Kecamatan Mulyorejo,
maka pada peta akan muncul peta Kecamatan Mulyorejo.
4.4 Implementasi Sistem
Pada sub bab ini akan dibahas mengenai General User Interface(GUI) untuk aplikasi rancang bangun sistem informasi geografis untuk penyebaran penyakit demam berdarah di kota surabaya. GUI tersebut berjalan atas dasar proses k-Means yang telah ditulis dalam sebuah algoritma. Sebelum masuk ke dalam pembahasan user interface, akan dijabarkan terlebih dahulu algoritma proses k-Means yang dijalankan oleh user interface. Gambaran umum Algoritma sistem dapat dilihat pada Gambar 4.2.
Gambar 4.2 Algoritma Umum Sistem
Pada pemilihan tahun, tahun yang dapat dipilih adalah tahun yang sudah ada didalam basis data jika tahun yang akan dipilih tidak muncul hasilnya maka data pada tahun yang ingin ditampilkan belum diinputkan, sehingga user dapat menginputkan terlebih dahulu datanya berupa nama Kecamatan, tahun, jumlah penderita DBD, pasar tradisional, TPS, dan sungai. Dalam pengelompokkan k-Means langkah pertama, yaitu menentukan centroid pada ketiga cluster yaitu dengan cara random berikut pseudocode-nya dapat dilihat pada Gambar 4.3.
1. Pilih tahun
2. Pengelompokan oleh k-Means
1. Menentukan centroid pada ketiga cluster.
2. Menghitung jarak objek dengan masing-masing
cluster
3. Mengalokasikan objek pada cluster terdekat
4. Hitung centroid baru dan lakukan
pengalokasian dengan centroid baru
5. Ulangi langkah 4 jika ada anggota berpindah
kelompok
Tahun ← POST [‘tahun’]
Kelas ← proses () baru
Koneksi ← kelas -> connect ()
Tabel1 ← kelas -> getKecamatanRandom (koneksi) FUNCTION getKecamatanRandom (koneksi) do
query ← mysqli_query (koneksi, “SELECT id_kec FROM
`kecamatan` ORDER BY RAND() LIMIT 3")
data ← array baru
while (row ← mysqli_fetch_array(query) do
array_push (data, row) return data
arr ← array baru jd← array baru jt ← array baru pasar ← array baru sungai← array baru i← 0
j← 0
foreach (tabel1 as getTabelDetail) arr[i] ← getTabelDetail['id_kec'];
tabel2 ← $kelas->getMean($koneksi, $tahun, $arr[$i]); foreach(tabel2 as $getTabelDetail1) jd[j] ← getTabelDetail1['jumlah'] jt[j] ← getTabelDetail1['jumlahtpa'] sungai[j] ← getTabelDetail1['jumlahSungai'] pasar[j] ←getTabelDetail1['jumlahPasar'] j ←j+1; endforeach i←i+1; endforeach;
arr2 ← array baru
arr2[0] ← jd [0]”,”. jd [0]”,”. pasar [0]”,”. sungai [0]
arr2[1] ← 0]”,”. jd [1]”,”. pasar [1]”,”. sungai [1]
arr3[2] ← 0]”,”. jd [2]”,”. pasar [2]”,”. sungai [2]
for i ← 0 to count ( jumlah) do obj ← jumlah
data ← explode(“,”, obj [i])
for j ← 0 to count (data) do
objek [i][j] <- data [j]
endfor endfor
for i ← 0 to count (jumlah ) do
cls ← arr2
data ← explode(“,”, cls [i])
for j ← 0, count (data) do
centroid [i][j] ← data [j]
endfor endfor
Gambar 4.3 Pseudocode menentukan centroid pada ketiga cluster
Setelah ditentukan centroid pada masing-masing cluster, maka langkah selanjutnya adalah menghitung jarak antara objek dengan masing-masing centroid
lalu menempatkannya pada cluster terdekat. Untuk pseudocode menghitung jarak objek dengan masing-masing cluster algoritmanya ditunjukkan pada Gambar 4.4.
Gambar 4.4 Pseudocode menghitung jarak objek dengan masing-masing cluster
Setelah ditentukan jarak pada masing-masing objek dengan ketiga cluster, maka dipilih jarak terendah yang akan menjadikan objek sebagai kelompoknya. Berikut pada Gambar 4.5 merupakan pseudocode dari pengelompokan dan pengulangan menentukan kelompok.
Gambar 4.5 Pseudocode mengalokasikan objek pada cluster terdekat. Kemudian jika tidak ada objek yang berpindah kelompok maka iterasi berhenti, tapi jika ada objek yang masih berpindah kelompok dan iterasi dibawah 20 kali
Kelas objek
cluster ← null , data ← array baru
fungsi setCluster (cls)
jml ← 0 , tmptCluster ← 0 , c ← null
for i ← 0 to count (this->data) do
jml ← 0
for j ← 0 j<count (this -> data ) do
jml + ← pow ((this -> data [j]-cls[i][j]),2)
endfor tmpC ← sqrt(juml) ifc ← null do c=tmpC tmpCluster ← i endif if tmpC ← < c do c← tmpC tmpCluster ← i endif endfor
this -> cluster ← tmpCluster
Fungsi getCluster () Return this -> cluster
for i ← 0 to count (objek[0] pada data ) do
objek [i] pada setCluster(centroidCluster)
mencetak objek ← (i+1)
for j ← 0 to count (objek[i] data ) do
mencetak (objek [i] data[j]
for j ← 0 to count (centroidCluster ) do
jika ← j== this > objek[i] > getCluster() do mencetak “X”
namun jika selain itu, mencetak “ ” atau kosong
endfor endfor
iterasi maka dilakukan pengelompokan ulang dengan centroid yang baru. Pada Gambar 4.6 dapat dilihat pseudocode untuk pengulangan iterasi.
Gambar 4.6 Pseudocode mengulang pada langkah ke 4
Antar muka sistem ini terdiri dari empat fitur utama pada tampilan home, fitur Hasil k-Means, fitur Lihat Peta, fitur Detail Tabel dan fitur input. Gambar 4.7 merupakan tampilan Home pada saat user pertama kali mengakses sistem.
Gambar 4.7 Tampilan halaman Home sistem
mencetak tabel baru
cek ← true
fori ← 0 icount (this cekObjCluster) do
if ← cekObjCluster [i] tidak = objek[i] getCluster
cek ← FALSE
berhenti endfor endfor
Jika tidak sama dengan cek do
For i ← 0 i < count ( this -> cekObjekCluster ) do
This -> cekObjekCluster [i] ← this -> objek[i],getCluster() endfor
This -> setCentroidCluster ()
This -> setClusterObjek ← (itr+1, tahun)
1. Fitur Hasil Pengelompokan
Pada Fitur ini user dapat melihat hasil pengelompokan Kecamatan berupa tabel dengan cara memilih tahun yang ingin ditampilkan pada kolom tahun lalu klik tombol Hasil Pengelompokan pada tampilan halaman Home. Pada Gabar 4.8 merupakan contoh tampilan hasil pengelompokkan pada tahun 2014.
Gambar 4.8 Tampilan hasil pengelompokan 2. Fitur menampilkan peta
Pada fitur ini user dapat melihat peta kota Surabaya dengan bantuan GoogleMap API, dengan warna poligon setiap Kecamatan yang sesuai dengan hasil pengelompokan k-Means. Dengan keterangan jika Kecamatan masuk kedalam kelompok C1, maka poligon pada Kecamatan berwarna kuning, jika daerah Kecamatan masuk kedalam kelompok C2, maka poligon pada Kecamatan berwarna hijau dan jika Kecamatan masuk kedalam
kelompok C3, maka poligon Kecamatan berwarna merah. Contoh tampilan peta pada tahun 2014 yaitu dapat dilihat ada Gambar 4.9
Gambar 4.9 Tampilan Peta Kota Surabaya
Pada fitur Lihat Peta juga terdapat pilihan Kecamatan yaitu dapat melihat hasil peta hasil pengelompokan bedasarkan Kecamatan yang diinginkan dengan cara pilih Kecamatan yang telah ada pada kotak piihan Kecamatan, lalu klik tombol Lihat Peta. Contoh telah dipilih Kecamatan Mulyorejo dapat dilihat pada Gambar 4.10.
Selain itu pada fitur Lihat Peta juga dapat melihat peta berdasarkan status Kecamatan, status Kecamatan adalah kelompok hasil K-Means yaitu status C1, C2 dan C3. Untuk melihat peta berdasarkan status Kecamatan yaitu dengan cara memilih status pada kolom “pilih status” yang ada pada halaman
Gambar 4.10 Tampilan Peta Kecamatan “Mulyorejo”
Gambar 4.11 Tampilan peta Kecamatan pada kelompok “C2” 3. Fitur Detail Tabel
menampilkan nama kecamatan yang berada pada kelompok, jumlah penderita DBD, pasar tradisional, TPS, dan Sungai sehingga dapat mempermudah user
untuk menentukan kesimpulan dari suatu kelompok tersebut. Dengan cara pilih kelompok pada kolom “Pilih Kelompok” lalu klik detail tabel. Contoh telah dipilih status C2 dapat dilihat pada Gambar 4.12.
Gambar 4.12 Tampilan Detail Tabel untuk Kelompok“C2” 4. Fitur input
Fitur input ini digunakan untuk menginputkan tahun, nama Kecamatan, data jumlah penderita penyakit DBD dan faktor geografis pada daerah Kecamatan pada tahun yang diinputkan, dengan cara klik “Input” pada halaman home
maka akan muncul tampilan seperti pada Gambar 4.13.
4.5 Pengujian Sistem
Pengujian validitas sistem dilakukan dengan membandingkan hasil pengelompokkan oleh k-Means dari sistem dengan hasil manual. Perhitungan
k-Means yang telah dilakukan pada tahun 2014 dapat dilihat pada Tabel 4.8 dapat dibandingkan dengan hasil sistem yaitu dapat dilihat pada Gambar 4.14 maka dapat disimpulkan pada Tabel 4.7 menunjukkan hasil yang sama atau valid.
Tabel 4.9 Perbandingan antara hasil perhitungan manual dan sistem
Selain diuji validasi sistem, pengujian sistem dilakukan dengan metode
black box testing yang berfokus pada fungsionalitas sistem. Pengujian dilakukan dengan dengan membandingkan antara hasil yang diharapkan dengan hasil yang dikeluarkan oleh sistem. Sistem yang diuji denganadalah fungsi-fungsi yang ada pada Sistem Informasi Geografis untuk penyebaran penyakit DBD dikota Surabaya menggunkan metode K-Means. Berikut merupakan pengujian
KECAMATAN Perhitungan manual Perhitungan oleh sistem Sukomanunggal C2 C2 Tandes C2 C2 Asemrowo C1 C1 Benowo C2 C2 Pakal C1 C1 Lakarsantri C3 C3 Sambikerep C3 C3 Genteng C3 C3 Tegalsari C1 C1 Bubutan C2 C2 Simokerto C3 C3 Pabean Cantikan C3 C3 Semampir C2 C2 Krembangan C2 C2 Bulak C1 C1 Kenjeran C2 C2 Tambaksari C2 C2 Gubeng C3 C3 Rungkut C2 C2 Tenggilis C3 C3 Gunung Anyar C3 C3 Sukolilo C2 C2 Mulyorejo C3 C3 Sawahan C2 C2 Wonokromo C2 C2 Karang pilang C3 C3 Dukuh Pakis C3 C3 Wiyung C3 C3 Gayungan C3 C3 Wonocolo C3 C3 Jambangan C3 C3
fungsional sistem : 1. Menu Home
Hasil pengujian black box testing pada fungsi homeditunjukkan pada Tabel 4.8 berikut.
Tabel 4.8 Hasil Pengujian pada menu Home
No Test Case Hasil Harapan Hasil Keluaran Hasil Uji 1 Tekan tombol input Sistem melakukan tindakan user pada halaman Sistem mengarahkan input Sesuai 2 Tekan Tombol Hasil Pengelompokan Sistem melakukan tindakan hasil pengelompokan Sistem menampilkan Sesuai
3 Tekan Tombol Detail Tabel Sistem melakukan tindakan
Sistem menampilkan tabel pengelompokan sesuai status yang dipilih oleh user dari
combo box pilih kelompok
Sesuai
4 Tekan Tombol Lihat Peta Sistem melakukan tindakan Sistem menampilkan peta geografis Sesuai 5 Tidak ada input melakukan apapun Sistem tidak Sistem tidak melakukan apapun Sesuai
2. Menu Input
Hasil pengujian black box testing pada fungsi input ditunjukkan pada Tabel 4.9 berikut.
Tabel 4.9 Hasil Pengujian menu input
No Test Case Hasil Harapan Hasil Keluaran Hasil Uji 1 setelah memasukkan Tekan tombol input
data semua pada kolom
Sistem memproses
input
Sistem menyimpan data
input ke dalam basis data Sesuai 2 setelah memasukkan Tekan tombol input
hanya sebagian data
Sistem memproses
input
Sistem menolak penyimpanan inputan dan
menampilkan pesan “datakurang lengkap! Periksa
kembali”
Sesuai
3 Tekan tombol input memproses Sistem
input
Sistem menolak penyimpanan inputan dan menampilkan pesan “data kurang lengkap! Periksa
kembali”
Sesuai
4 Tidak ada input Sistem tidak melakukan apapun
Sistem tidak melakukan
4.6 Evaluasi Sistem
Evaluasi sistem dilakukan untuk mengetahui tingkat akurasi dari validasi sistem. Evaluasi sistem dihitung dengan membandingkan hasil output sistem dengan hasil output manual. Presentase nilai validasi sistem dengan hasil manual sudah sesuai atau valid.
Sedangkan evaluasi fungsional sistem berdasarkan hasil kuesioner pengujian sistem dapat diketahui bahwa Kepala bidang dan dua staff Pengendalian Masalah Penyakit meyatakan sistem informasi geografis untuk penyebaran penyakit DBD di kota Surabaya yang telah dibuat bersifat user friendly dan dapat membantu mempermudah pengelompokan daerah untuk penyebaran penyakit DBD di Kota Surabaya berbasis SIG. Hasil kuesioner evaluasi sistem dapat dilihat pada Lampiran 5.