• Tidak ada hasil yang ditemukan

Bab III. Analisis dan Perancangan Sistem

3.1. Identifikasi dan Analisis Sistem

3.3.5 Algoritma Method Dalam Setiap Kelas

 

3.3.5 Algoritma Method Dalam Setiap Kelas a) Detail Algoritma Method Kelas InputData

Tabel 3.4 Detail Algoritma Method Kelas InputData

Nama

Method Tugas Method Algoritma Method

bacaFile

Method bacaFile bertugas membaca data input dan menjadikan data tersebut sebagai obyek dari kelas HasilEvaluasi

1.Menangkap/ membaca file yang dipilih pengguna.

2.Membaca banyak kolom dan banyak baris data.

3.Membaca semua data yang ada dalam file yang telah dipilih.

4.Data yang telah dibaca dijadikan obyek yang bertipe HasilEvaluasi.

b) Detail Algoritma Method Kelas Pengelompokan

Tabel 3.5 Detail Algoritma Method Kelas Pengelompokan

Nama

Method Tugas Method Algoritma Method

pengelompok anData Method pengelompokanDa ta bertugas membuat klaster dan mendeklarasikan pusat awal klaster

1. Membuat klaster sebanyak klaster yang dimasukkan pengguna.

2. Mendeklarasikan centroid awal setiap klaster dengan cara memanggil method

declareCentroid. iterasi Method iterasi bertugas melakukan serta menghentikan iterasi pengelompokan

1.Memanggil method Euclidean. 2.Memanggil method pindahData. 3.Memanggil method untuk menghitung

centroid. declareCentr oid Method declareCentroid bertugas mendeklarasikan

1. Untuk sebanyak jumlah klaster lakukan langkah 2.

menjadi centroid di klaster lain atau belum, jika sudah lakukan kembali ke langkah nomor 2. Jika belum menjadi centroid di klaster lain, lakukan langkah 4.

4. Mendeklarasikan data yang telah dipilih menjadi centroid klaster.

euclidean

Method euclidean bertugas

menghitung jarak setiap data dengan centroid setiap klaster

1. Untuk i=0 sampai i < jumlah data lakukan langkah nomor 2.

2. Untuk j=0 sampai j < jumlah klaster lakukan langkah nomor 3.

3. Untuk k=0 sampai k < jumlah pertanyaan kuesioner, lakukan langkah nomor 4.

4. Hitung selisih nilai hasil evaluasi antara data i dengan centroid klaster j dengan persamaan euclidean. Jika k < jumlah pertanyaan ulangi langkah 4. pindahData Method pindahData bertugas menempatkan setiap data ke klaster yang memiliki jarak terdekat

1. Untuk setiap data dan setiap klaster, cari yang memiliki jarak terdekat. Jika pencarian jarak terdekat sudah selesai, lakukan langkah nomor 2.

2. Tempatkan data ke klaster yang memiliki jarak terdekat berdasarkan pencarian pada langkah nomor 1. hitungCentro id Method hitungCentroid bertugas mengitung centroid klaster tanpa menghitung nilai SSE

1. Untuk i=0 sampai i < jumlah klaster, lakukan langkah 2.

2. Untuk j=0 sampai j < jumlah atribut pertanyaan, lakukan langkah 3.

3. Untuk k=0 sampai k< jumlah anggota klaster i, lakukan langkah 4.

4. Menghitung jumlah data hasil evaluasi atribut ke-j semua anggota yang menjadi anggota klaster i. jika k ≥ jumlah anggota klaster i lakukan langkah 5.

5. Hitung rata-rata centroid atribut ke-j klaster i. Set j=j+1. Jika j < jumlah atribut pertanyaan , ulangi langkah nomor 3. Jika j ≥ jumlah atribut pertanyaan, lakukan langkah 6.

58

 

6. Menghitung klaster yang centroidnya tidak berubah dan klaster i diset dengan nilai centroid yang baru. Set i=i+1. Jika i<jumlah klaster, ulangi langkah 2. Jika i ≥jumlah klaster lakukan langkah nomor 7.

7. Cek apakah centroid semua klaster mengalami perubahan atau tidak, jika semua klaster tidak mengalami perubahan centroid, set nilai status=1 yang berarti iterasi berhenti.

hitungCentro idSSE Method hitungCentroidSS E bertugas menghitung centroid baru setiap klaster dan menghitung nilai SSE

1. Untuk i=0 sampai i < jumlah klaster, lakukan langkah 2.

2. Untuk j=0 sampai j < jumlah atribut pertanyaan, lakukan langkah 3.

3. Untuk k=0 sampai k< jumlah anggota klaster i, lakukan langkah 4.

4. Menghitung jumlah data hasil evaluasi atribut ke-j semua anggota yang menjadi anggota klaster i. Jika k ≥ jumlah anggota klaster i, lakukan langkah 5.

5. Hitung rata-rata centroid atribut ke-j klaster i. Set j=j+1. Jika j < jumlah atribut pertanyaan , ulangi langkah nomor 3. Jika j ≥ jumlah atribut pertanyaan, lakukan langkah 6.

6. Klaster i diset dengan nilai centroid yang baru. Set i=i+1. Jika i<jumlah klaster, ulangi

langkah 2. Jika i ≥ jumlah klaster lakukan langkah nomor 7.

7. Untuk i=0 sampai i < jumlah klaster, lakukan langkah 8.

8. Untuk j=0 sampai j < jumlah anggota klaster i, lakukan langkah 9.

9. Untuk k=0 sampai k< jumlah atribut pertanyaan, lakukan langkah 10.

10. Hitung nilai SSE semua atribut pertanyaan untuk setiap data ke-j klaster i. Jika k≥

jumlah atribut pertanyaan dan j< jumlah anggota klaster i, set j = j+1 dan ulangi langkah nomor 9. Jika j≥jumlah anggota klaster i, set i=i+1 dan ulangi langkah nomor

11. Cek apakah nilai hasil perhitungan SSE ≤SSE yang diinputkan pengguna dan cek apakah nilai hasil perhitungan SSE = nilai hasil perhitungan SSE pada iterasi sebelumnya . Jika nilai hasil perhitungan SSE ≤SSE yang diinputkan pengguna atau hasil perhitungan SSE = hasil perhitungan SSE pada iterasi sebelumnya, set status=1 yang berarti iterasi selesai.

label

Method label bertugas memberi label setiap klaster

1. Untuk i=0 sampai i < jumlah klaster, lakukan langkah 2.

2. Untuk j=0 sampai j < jumlah anggota klaster i, lakukan langkah 3.

3. Untuk k=0 sampai k< jumlah atribut pertanyaan, lakukan langkah 4.

4. Hitung jumlah semua nilai hasil evaluasi untuk setiap pertanyaan data ke-j klaster i. Jika k≥

jumlah atribut pertanyaan, laukukan lanhkah 5.

5. Hitung rata-rata hasil evaluasi data ke-j klaster i dan hitung jumlah hasil evaluasi setiap klaster. set j=j+1. Jika j< jumlah anggota klaster i, ulangi langkah nomor 3. Jika j≥

jumlah anggota klaster i, lakukan langkah nomor 6.

6. Hitung rata-rata data klaster i, kemudian bandingkan dengan ketentuan labeling dalam bentuk if. Set label klaster i yang sesuai dengan ketentuan labeling. Set i=i+1. Jika i< jumlah klaster, ulangi langkah nomor 2.

validasi

Menghitung validasi hasil pengelompokan

1. Untuk i=0 sampai i < jumlah klaster, lakukan langkah 2.

2. Untuk j=0 sampai j < jumlah anggota klaster i, lakukan langkah 3.

3. Untuk k=0 sampai k< banyak pertanyaan, lakukan langkah 4.

4. Hitung jumlah hasil evaluasi semua

pertanyaan untuk setiap data ke-j dalam klaster i. Jika k ≥ banyak pertanyaan, lakukan langkah

60

 

nomor 5.

5. Hitung rata-rata hasil evaluasi data ke-j dalam klaster i. Beri label data ke-j sesuai dengan ketentuan labeling.

6. Jika label data ke-j sama dengan label klaster dimana data j bernaung, maka set valid++. 7. Set j=j+1. Jika j< jumlah anggota klaster i,

ulangi langkah nomor 3. Jika j≥ jumlah anggota klaster i, lakukan langkah nomor 8. 8. Set i=i+1. Jika i< banyak klaster, ulangi

langkah nomor 2. Jika i≥ banyak klaster, lakukan langkah nomor 9.

9. setValidasi = (valid/banyak data)*100

bubleSortCen troidKlaster Method bubleSortCentroid Klaster bertugas mengurutkan klaster berdasarkan centroid setiap klaster

1. Untuk i=1 sampai i<banyak klaster, lakukan langkah nomor 2.

2. Untuk j=0 sampai j<banyak klaster-1, lakukan langkah nomor 3.

3. Hitung rata centroid klaster j dengan rata-rata centroid klaster j+1.

4. Jika rata centroid klaster j< rata centroid klaster j+1, tukarkan kedua klaster tersebut. 5. Set j=j+1. Jika j < banyak klaster-1, ulangi

langkah nomor 3. Jika j ≥ banyak klaster-1, lakukan langkah nomor 6.

6. Set i=i+1. Jika i < banyak klaster, ulangi langkah nomor 2. tampilSemua Klaster Method tampilSemuaKlast er digunakan untuk menampilkan klaster-klaster hasil pengelompokan meliputi jumlah klaster, jumlah data, validasi, jumlah anggota klaster, centroid klaster, label

1. Deklarasikan nama kolom tabel yang akan ditampilkan sebagai output.

2. Hitung rata-rata centroid setiap klaster. 3. Simpan jumlah anggota setiap klaster,

rata-rata centroid setiap klaster dan label klaster dalam array dua dimensi.

4. Isi array dua dimensi yang dibuat pada langkah nomor 3 ditampilkan sebagai output dalam bentuk tabel.

jika pengguna menghendaki.

jika pengguna menghendaki.

tampilDetail Data Method tampilDetailData digunakan untuk mengirim atribut-atribut yang diperlukan untuk melihat detail anggota setiap klaster. Atribut-atribut yang diperlukan untuk melihat detail anggota setiap klaster dikirimkan ke method hasilSemuaKlaster yang ada dikelas DetailDataSetiapK laster.

1.Menghitung rata-rata centroid klaster yang akan dilihat anggotanya secara mendetail. 2.Mengirimkan klaster hasil pengelompokan,

urutan klaster yang akan dilihat, rata-rata centroid klaster yang akan dilihat, obyek pengelompokan yang menyimpan atribut-atribut yang dimiliki kelas Pengelompokan, serta obyek detailHasilEvaluasiSetiapData yang menyimpan atribut-atribut yang dimiliki oleh kelas DetailHasilEvaluasiSetiapData.

tampilGrafik Method tampilGrafik digunakan untuk mengirimkan nama variabel, nilai variabel dan judul pieChart jika pengguna ingin melihat piechart persentase anggota klaster hasil pengelompokan.

1. Menyimpan nama variabel dan nilai variabel yang akan dibuat piechart.

2. Mengirimkan nama variabel, nilai variabel dan judul piechart ke method tampil yang ada dikelas pieChart. simpanExcel Method simpanExcel digunakan untuk menyimpan data hasil pengelompokan ke dalam bentuk file excel.

1. Memberi nama kolom file excel.

2. Untuk h=0 sampai h<banyak klaster, lakukan langkah nomor 2.

3. Untuk i=0 sampai i<banyak anggota klaster h, lakukan langkah nomor 4.

4. Baca atribut fakultas, prodi, NIP, nama dosen dan nama matakuliah data ke-i klaster h. kemudian lakukan langkah nomor 5.

62

 

termuat dalam kuesioner, lakukan langkah nomor 6.

6. Baca data hasil evaluasi pertanyaan ke-j untuk data ke-i klaster h. Set j=j+1. Jika j< banyak pertanyaan yang termuat dalam kuesioner, ulangi langkah nomor 6. Jika j≥ banyak pertanyaan yang termuat dalam kuesioner, lakukan langkah nomor 7.

7. Baca label klaster h. Set i=i+1. Jika i< banyak anggota klaster h, ulangi dari langkah nomor 4. Jika i≥banyak anggota klaster h, lakukan langkah nomor 8.

8. Set h=h+1. Jika h<banyak klaster, ulangi langkah nomor 3.

c) Detail Algoritma Method Kelas DetailDataSetiapKlaster

Tabel 3.6 Detail Algoritma Method Kelas DetailDataSetiapKlaster

Nama

Method Tugas Method Algoritma Method

hasilSemuaK laster Method hasilSemuaKlaste r digunakan untuk melihat anggota setiap klaster, yang meliputi informasi urutan klaster, jumlah anggota klaster, centroid klaster, label klaster, dan atribut-atribut yang dimiliki data seperti fakultas, prodi, NIP, dosen, matakuliah, rata-rata data dan label data.

1. Mengitung rata-rata setiap data. 2. Memberi label setiap data.

3. Menyimpan variabel fakultas, prodi, NIP, dosen, matakuliah, rata-rata data dan label data ke dalam array dua dimensi.

4. Menampilkan array dua dimensi yang dibuat pada langkah nomor 3 menjadi output dalam bentuk tabel.

5. Menampilkan output lain seperti urutan klaster, jumlah anggota klaster, centroid klaster dan label klaster. bubleSortCen troidData Method bubleSortCentroi dData bertugas

1.Untuk h=0 sampai h<banyak klaster, lakukan langkah nomor 2.

anggota setiap klaster

berdasarkan centroid setiap data

3.Untuk j=0 sampai j<(banyak anggota klaster h)-1, lakukan langkah nomor 4.

4.Hitung rata data ke-j klaster h dengan rata-rata data j+1 klaster h.

5.Jika rata data ke j klaster h< rata data j+1 klaster h, tukarkan kedua klaster tersebut. 6.Set j=j+1. Jika j < (banyak anggota klaster

h)-1, ulangi langkah nomor 4. Jika j ≥ (banyak anggota klaster h)-1, lakukan langkah nomor 7. 7.Set i=i+1. Jika i < banyak anggota klaster h,

ulangi langkah nomor 3. Jika i ≥banyak anggota klaster h, lakukan langkah nomor 8. 8.Set h=h+1. Jika h<banyak klaster, lakukan

langkah nomor 2. bubleSortPro di Method bubleSortProdi bertugas mengurutkan anggota setiap klaster berdasarkan abjad nama prodi

1.Untuk h=0 sampai h<banyak klaster, lakukan langkah nomor 2.

2.Untuk i=1 sampai i<banyak anggota klaster h, lakukan langkah nomor 3.

3.Untuk j=0 sampai j<(banyak anggota klaster h)-1, lakukan langkah nomor 4.

4.Jika nama prodi data ke j klaster h< nama prodi data j+1 klaster h, tukarkan kedua klaster tersebut.

5.Set j=j+1. Jika j < (banyak anggota klaster h)-1, ulangi langkah nomor 4. Jika j ≥banyak anggota klaster h)-1, lakukan langkah nomor 6. 6.Set i=i+1. Jika i < banyak anggota klaster h,

ulangi langkah nomor 3. Jika i ≥banyak anggota klaster h, lakukan langkah nomor 7. 7. Set h=h+1. Jika h<banyak klaster, lakukan

langkah nomor 2. tampilGrafik Method tampilGrafik digunakan untuk mengirimkan nama variabel, nilai variabel dan

1. Mencari banyak prodi yang menjadi anggota klaster.

2. Menghitung jumlah setiap prodi yang menjadi anggota klaster dan menyimpan jumlah

64   judul pieChart jika pengguna ingin melihat piechart persentase prodi setiap klaster. ke array data.

3. Mengirimkan data nama variabel, nilai variabel dan judul piechart ke method tampil yang ada dikelas pieChart

d) Detail Algoritma Method Kelas DetailHasilEvaluasiSetiapData Tabel 3.7 Detail Algoritma Method Kelas

DetailHasilEvaluasiSetiapData

Nama

Method Tugas Method Algoritma Method

tampilDetail Setiapdata Method tampilDetailSetia pdata digunakan untuk menampilkan hasil evaluasi 18 pertanyaan yang termuat dalam kuesioner untuk setiap data.

1. Menyimpan nomor pertanyaan dan nilai hasil evaluasi ke dalam array dua dimensi.

2. Array dua dimensi yang dibuat pada langkah nomor 1 ditampilkan sebagai output dalam bentuk tabel. dataKategori Method dataKategori digunakan untuk memasukkan nomor pertanyaan setiap kategori jika pengguna ingin melihat rata-rata data setiap kategori.

1. Menangkap nilai variabel inc.

2. Jika inc < jumlah kategori yang dimasukkan pengguna, lakukan langkah no 3. Jika inc ≥

jumlah kategori yang dimasukkan pengguna, lakukan langkah nomor 4.

3. Tampilkan field yang digunakan untuk memasukkan nomor awal dan nomor akhir setiap kategori dan method dataKategori selesai menjalankan tugasnya.

4. Memanggil tampilRataKategori untuk menghitung rata-rata setiap data untuk setiap kategori. tampilRataK ategori Method tampilRataKateg ori bertugas untuk menghitung rata-rata setiap data untuk setiap

1. Untuk i =0 sampai i<jumlah kategori, lakukan langkah nomor 2.

2. Untuk j=nomor awal pertanyaan kategori i sampai j≤nomor akhir pertanyaan kategori i, lakukan langkah nomor 3.

menampilkan hasil perhitungan menjadi output.

pertanyaan nomor j-1. Set j=j+1. Jika j≤ nomor akhir pertanyaan kategori i, ulangi langkah nomor 3. Jika j> nomor akhir pertanyaan kategori i, lakukan langkah nomor 4.

4. Hitung rata-rata data untuk setiap kategori dan tampilkan sebagai output. Set i=i+1. Jika i<jumlah kategori, ulangi langkah nomor 2. Jika i≥jumlah kategori, lakukan langkah nomor 5. 5. Buat obyek yang bertipe

DetailHasilEvaluasiSetiapData yang menyimpan informasi semua atribut yang dimiliki oleh kelas

DetailHasilEvaluasiSetiapData.

e) Detail Algoritma Method Kelas PieChart

Tabel 3.8 Detail Algoritma Method Kelas PieChart

Nama

Method Tugas Method Algoritma Method

tampil Method tampil bertugas membuat pieChart dua dimensi.

1. Membuat obyek bertipe DefaultPieDataset. 2. Untuk i=0 sampai i<banyak variabel yang

dikirim method pemanggil, setValue obyek data yang bertipe DefaultPieDataset dengan nama varibel dan nilai variabel yang dikirm oleh method pemanggil.

66

 

3.3.6 Diagram Sequence

a) Diagram Sequence Pilih File Data

 

68

 

c) Diagram Sequence Melihat Detail Anggota Setiap Klaster

 

Gambar 3.18 Diagram Sequence Melihat Detail Anggota Setiap Klaster d) Diagram Sequence Melihat Detail Hasil Evaluasi Setiap Data

 

Pengguna Klik tombol kategori Request kategori <<User Interface>> DetailHasilEvaluasi SetiapData <<Controller>> DetailHasilEvaluasi SetiapData Menampilkan dialog input banyak kategori Banyak kategori Menampilkan dialog input nomor pertanyaan Nomor awal dan akhir

pertanyaan untuk setiap kategori

dataKategori (kategori, 0)

Nomor awal dan akhir pertanyaan untuk setiap kategori tampilKategori() HasilEvaluasi getData()

Data hasil evaluasi Rata data setiap

kategori

 

Gambar 3.20 Diagram Sequence Melihat Detail Rata-Rata Data Setiap Kategori

70

 

f) Diagram Sequence Melihat Grafik Presentase Anggota Setiap Klaster

 

Gambar 3.21 Diagram Sequence Melihat Grafik Presentase Anggota Setiap Klaster

g) Diagram Sequence Melihat Grafik Presentase Prodi

h) Diagram Sequence Menyimpan Hasil Pengelompokan

Gambar 3.23 Diagram Sequence Menyimpan Hasil Pengelompokan i) Diagram Sequence Mengurutkan Klaster Berdasarkan Centroid

Pengguna Klik tombol proses <<User Interface>> Pengelompokan Centroid getDataCluster ( ) getCentroid() Cluster Centroid klaster Data cluster <<Controler>> Pengelompokan bubleSortCentroid Klaster ( ) setCluster ( )

Klaster yang sudah siurutkan  

Gambar 3.24 Diagram Sequence Mengurutkan Klaster Berdasarkan Centroid

72

 

j) Diagram Sequence Mengurutkan Data Dalam Klaster

Pengguna Pilih urut berdasarkan <<User Interface>> DetailDataSetiapKlaster Cluster <<Controler>>

Detail Data Setiap Klaster

bubleSortCentroidData( ) bubleSortCentroidData( ) else Centroid is true? opt setDataCluster()

Data klaster yang sudah terurut

getDataCluster()

 

Gambar 3.25 Diagram Sequence Mengurutkan Data Dalam Klaster

3.4 Desain Antar Muka Pengguna

Dokumen terkait