BAB IV ANALISIS DAN PERANCANGAN 4.1
Analisis Kebutuhan Sistem Menjelaskan kondisi atau kemampuan yang harus dipenuhi oleh sistem
dengan spesifikasi yang diinginkan oleh pemakai, meliputi kebutuhan informasi, kebutuhan aplikasi atau proses pengolahan data untuk menghasilkan informasi tersebut dan kebutuhan perangkat keras. 4.1.1 1.
Identifikasi Kebutuhan Pemakai
Sistem yang dibuat harus dapat membantu melaksanakan penyimpanan data beasiswa lama maupun pembuatan data beasiswa baru
2.
Sistem harus dioperasikan oleh TU, walikelas, dan kepala sekolah.
3.
Sistem yang diperuntukkan untuk kepala sekolah hanya melihat data hasil seleksi beasiswa.
4.
Data yang menjadi masukkan untuk sistem harus di-entry langsung dari sumber datanya, dan hasilnya harus dapat dibaca oleh bagian lain yang membutuhkannya.
5.
Semua data tersimpan terpusat.
6.
Ada fasilitas untuk mengoreksi laporan dari TU.
7.
Semua proses pengolahan data yang ada harus terintegrasi dalam satu perangkat lunak aplikasi
47
48
4.1.2 Analisis Kebutuhan Perangkat Keras dan Perangkat Lunak Perangkat keras yang dibutuhkan untuk membangun sistem ini diantaranya sebagai berikut: a. Processor
: Intel® Pentium® Dual CPU T2390 1.9GHz
b. Memori
: 1024 MB
c. Harddisk
: 160 Gb
d. VGA
: 256 Mb Onboard
e. Resolusi
: 1024 x 800 (32 bit) (60 Hz)
Perangkat lunak yang dibutuhkan untuk membangun sistem ini diantaranya sebagai berikut:
4.2
Operating System
: Microsoft Windows XP Profesional
Database Server
: Microsoft SQL Server 2000
Pemrograman
: Visual Basic .Net
Fungsional dan Non-Fungsional Requirement Berdasarkan analisis kebutuhan yang telah dirinci, maka dapat disusun
tabel Software Requirements Spesification yang terdiri dari Fungsional dan nonFungsional sistem. 4.2.1
Aplikasi Seleksi Beasiswa
1.
Fungsional Requirement Fungsional Requirement adalah fungsi-fungsi utama yang dapat dilakukan
oleh sistem dalam memenuhi kebutuhan client dan user. Fungsi-fungsi ini yang
49
nantinya melaksanakan perintah dari client dan user untuk mencapai hasil yang diharapkan. Fungsional requirement pada aplikasi ini, dapat dilihat dari table 4.1. Tabel 4.1 Kebutuhan Fungsional aplikasi seleksi beasiswa No SSB – CF01 SSB – CF02 SSB – CF03 SSB – CF04 SSB – CF05 SSB – CF06
2.
Deskripsi Kebutuhan Fungsional User dapat melakukan proses login User dapat memasukkan data siswa User dapat memasukkan nilai dan absensi siswa User dapat memasukkan data user User dapat mengatur bobot User dapat melihat hasil seleksi
Non –Fungsional Requirement Non-Fungsional Requirement adalah fungsi-fungsi tambahan sebagai
penunjang yang diharapkan dapat dilakukan oleh system sesuai yang diharapkan client dan user. Non-Fungsional Requirement pada aplikasi ini dapat dilihat pada Tabel 4.2. Tabel 4.2 Kebutuhan Non-Fungsional aplikasi seleksi beasiswa No SSB – CNF01 SSB – CNF02 SSB – CNF03
4.3
Deskripsi Kebutuhan Non-Fungsional User dapat melakukan print-out hasil seleksi Antar muka yang friendly Menggunakan bahasa Indonesia yang singkat dan jelas
Analisis Model Fuzzy dan SAW Dalam penyeleksian beasiswa dengan menggunakan model Fuzzy Logic
dan Simple Additive Weighting (SAW) diperlukan kriteria-kriteria dan bobot untuk melakukan perhitungannya sehingga akan didapat alternatif terbaik, dalam hal ini alternatif yang dimaksud adalah yang berhak menerima beasiswa berdasarkan kriteria-kriteria yang ditentukan.
50
4.3.1
Analisis Kebutuhan Pengujian Kelayakan Penerima Beasiswa
1)
Pembatas Prestasi Pembatas prestasi terdiri dari dua penilaian yaitu rata-rata nilai dan rata-
rata kehadiran. a)
Pembentukan Himpunan Fuzzy Untuk menghitung tingkat pembatas prestasi, diperlukan dua variabel
input fuzzy yaitu rata-rata nilai dan kehadiran dan satu variabel output yaitu tingkat pembatas. Tabel 4.3 Semesta pembicaraan variabel fuzzy Fungsi Input
Variabel Rata-rata nilai Rata-rata kehadiran Tingkat pembatas
Output
Semesta pembicaraan [0,100] [0,100] [0,100]
Dari variabel yang telah dimunculkan kemudian disusun domain himpunan fuzzy. Berdasarkan domain tersebut selanjutnya ditentukan fungsi keanggotaan dari masing-masing variabel. Tabel 4.4 Himpunan fuzzy pembatas prestasi Variabel
Himpunan
Domain
Rata-rata nilai
Rendah Sedang Tinggi Sangat tinggi
[0-75] [70-80] [75-85] [80-100]
Fungsi Keanggotaan Bahu kiri Segitiga Segitiga Bahu kanan
Parameter (0;70;75) (70;75;80) (75;80;85) (80;85;100)
51
Tabel 4.4 Himpunan fuzzy pembatas prestasi (Lanjutan) Variabel Rata-rata kehadiran Tingkat Pembatas
Himpunan
Domain
Rendah Sedang Tinggi Kurang Cukup Layak
[0-70] [60-80] [70-100] [0-70] [60-80] [70-100]
Fungsi Keanggotaan Bahu kiri Segitiga Bahu kanan Bahu kiri Segitiga Bahu kanan
Parameter (0;60;70) (60;70;80) (70;80;100) (0;60;70) (60;70;80) (70;80;100)
1. Himpunan Fuzzy Variabel Rata-rata Nilai Pada variabel rata-rata nilai didefinisikan 4 himpunan fuzzy yaitu rendah, sedang, tinggi, dan sangat tinggi.
Gambar 4.1 Himpunan fuzzy rata-ratanilai Sumbu horizontal merupakan nilai input dari variabel rata-rata nilai, sedangkan sumbu vertikal merupakan tingkat keanggotaan dari nilai input. Dengan fungsi keanggotaan sebagai berikut:
52
2. Himpunan Fuzzy Variabel Rata-rata Kehadiran Pada variabel rata-rata kehadiran didefinisikan 3 himpunan fuzzy yaitu rendah, sedang, dan tinggi.
Gambar 4.2 Himpunan fuzzy rata-rata kehadiran Sumbu horizontal merupakan nilai input
dari variabel curah hujan,
sedangkan sumbu vertikan merupakan tingkat keanggotaan dari nilai input. Dengan fungsi keanggotaan sebagai berikut:
53
3. Himpunan Fuzzy Variabel Tingkat Pembatas Pada variabel tingkat pembatas didefinisikan 3 himpunan fuzzy yaitu kurang, cukup, dan layak.
Gambar 4.3 Himpunan fuzzy tingkat pembatas prestasi Sumbu horizontal merupakan nilai input dari variabel tingkat pembatas, sedangkan sumbu vertikal merupakan tingkat keanggotaan dari nilai input. Dengan fungsi keanggotaan sebagai berikut:
54
b)
Aplikasi Fungsi Implikasi Aturan-aturan dibentuk untuk menyatakan relasi antara input dan output.
Tiap aturan merupakan suatu implikasi. Operator yang digunakan untuk menghubungkan antara dua input adalah operator AND, dan yang memetakan antara input-output adalah IF-THEN. Fungsi implikasi yang digunakan adalah fungsi MIN, yaitu dengan mengambil tingkat keanggotan yang minimum dari variabel input sebagai output-nya. Untuk menghitung rating tingkat pembatas prestasi, aturan-aturan yang berlaku adalah: Tabel 4.5 Aturan fuzzy perhitungan rating tingkat pembatas prestasi No. 1 2 3 4 5 6
Parameter Masukan(JIKA) Nilai Kehadiran Rendah Rendah Rendah Sedang Rendah Tinggi Sedang Rendah Sedang Sedang Sedang Tinggi
Parameter Keluaran( Maka) Tingkat Pembatas Kurang Kurang Kurang Kurang Cukup Cukup
55
Tabel 4.5 Aturan fuzzy perhitungan rating tingkat pembatas prestasi (Lanjutan) No. 7 8 9 10 11 12
Parameter Masukan(JIKA) Nilai Kehadiran Tinggi Rendah Tinggi Sedang Tinggi Tinggi Sangat Tinggi Rendah Sangat Tinggi Sedang Sangat Tinggi Tinggi
Parameter Keluaran( Maka) Tingkat Pembatas Kurang Cukup Layak Kurang Cukup Layak
Setelah aturan dibentuk, maka dilakukan aplikasi fungsi implikasi. Fungsi implikasi yang digunakan fungsi MIN, yang berati tingkat keanggotaan yang didapat sebagai konsekuen dari proses ini adalah nilai minimum dari variabel nilai dan kehadiran siswa. Sehingga didapatkan daerah fuzzy pada variabel tingkat pembatas untuk masing-masing aturan. c) Komposisi Aturan Pada metode Mamdani, komposisi antar fungsi implikasi menggunakan fungsi MAX yaitu dengan cara mengambil nilai maksimum dari output aturan kemudian menggabungkan daerah fuzzy dari masing-masing aturan dengan menggunakan operator OR. d) Penegasan(Defuzzyfication) Input dari proses penegasan adalah suatu himpunan fuzzy yang diperoleh dari komposisi aturan fuzzy, sedangkan output yang dihasilkan merupakan suatu bilangan tegas pada domain himpnan fuzzy tersebut. Sehingga jika diberikan suatu himpunan fuzzy dalam range tertentu, maka harus dapat diambil suatu nilai crisp tertentu sebagai output. Penegasan yang digunakan dalam menentukan tingkat
56
pembatas adalah dengan metode Centroid. Pada metode ini, solusi crsip diperoleh dengan cara mengambil titik pusat (Z0) daerah fuzzy. Secara umum dirumuskan:
Untuk domain kontinyu, dengan Z0 adalah nilai hasil defuzzyfikasi dan μz adalah deajat keanggotaan titik tersebut, sedangkan Z adalah nilai domain ke-1 sampai domain ke-12. Contoh Kasus: Seorang siswa memiliki rata-rata nilai 76 dan kehadiran 76%. Langkah 1 : memnentukan himpunan fuzzy Variabel rata-rata nilai telah didefinisikan pada empat himpunan fuzzy yaitu rendah, sedang, tinggi, dan sangat tinggi. Rata-rata nilai 76 termasuk sedan dan tinggi. μSedang = (80 - 76) / (80 - 75) = 0.8 μTinggi = (76 - 75) / (80 - 75) = 0.2 dan yang lainnya adalah 0. Untuk variabel rata-rata kehadiran telah didefinisikan tiga himpunan fuzzy, yaitu rendah, sedang, dan tinggi. Rata-rata kehadiran 76 termasuk pada sedang dan tinggi.
57
μSedang = (80 - 76) / (80 - 70) = 0.4 μTinggi = (76 - 70) / (80 - 70) = 0.6 dan yang lainnya adalah 0. Langkah 2: fungsi implikasi Fungsi implikasi yang digunakan adalah fungsi MIN, yaitu dengan mengambil tingkat keanggotaan dari variabel input sebagai output-nya. Berdasarkan aturan-aturan yang sesuai dengan kondisi tersebut, maka diperoleh: [R05] Jika rata-rata nilai sedang dan kehadiran sedang maka pembatas prestasi cukup. α-predikat1
= μNilaiSedang
μKehadiranSedang
= min (μNilaiSedang (1)
μKehadiranSedang(1))
= min (0.8, 0.4) = 0.4 [R06] jika rata-rata nilai sedang dan kehadiran tinggi maka pembatas prestasi cukup. α-predikat2
= μNilaiSedang
μKehadiranTinggi
= min (μNilaiSedang (1)
μKehadiranTinggi(1))
= min (0.8, 0.6) = 0.6 [R08] jika rata-rata nilai tinggi dan kehadiran sedang maka pembatas prestasi cukup
58
α-predikat3
= μNilaiTinggi
μKehadiranSedang
= min (μNilaiTinggi (1)
μKehadiranSedang(1))
= min (0.2, 0.4) = 0.2 [R09] jika rata-rata nilai tinggi dan kehadiran tinggi maka tingkat pembatas prestasi layak. α-predikat4
= μNilaiTinggi
μKehadiranTinggi
= min (μNilaiTinggi (1)
μKehadiranTinggi(1))
= min (0.2, 0.6) = 0.2 Langkah 3: Komposisi aturan Komposisi aturan merupakan kesimpulan secara keseluruhan dengan mengambil tingkat keanggotaan maksimum dari tiap konsekuen aplikasi fungsi implikasi dan menggabungkan dari semua kesimpulan masing-masing aturan, sehingga didapat daerah solusi fuzzy sebagai berikut: μsf = maks {μCukup(0.6), μCukup(0.4), μLayak(0.2), μLayak(0.2), } μsf = maks {0.6, 0.2} titik potong terjadi diantara kedua aturan tersebut, yaitu: (80 - x) / 10
= 0.6
x
= 80 – (0.6*10)
x
= 74
59
Ketika nilai μcukup(x) = 0.6, maka nilai x adalah (x - 70) / 10
= 0.6
x
= 70 + (0.6 * 10)
x
= 76
Ketika nilai μlayak(x) = 0.2, maka nilai x adalah (x - 70) / 10
= 0.2
x
= 70 + (0.2 * 10)
x
= 72
Sehingga diperoleh fungsi keanggotaan daerah solusi sebagai berikut:
Daerah hasil dapat digambarkan sebagai berikut:
Gambar 4.4 Daerah penyelesaian fungsi X
60
Langkah 4: Penegasan
Jadi siswa A memiliki tingkat pembatas prestasi layak dengan rating 11,03. Tingkat pembatas logic diambil dari konsekuen yang memiliki tingkat keanggotan maksimum pada komposisi aturan(max method). 2) Pembatas Bantuan Pembatas bantuan terdiri dari dua penilaian yaitu pendapatan orang tua dan jumlah tanggungan. a)
Pembentukan Himpunan Fuzzy Untuk menghitung tingkat pembatas bantuan, diperlukan dua variable
input fuzzy yaitu pendapatan orang tua dan tanggungan dan satu variable output yaitu tingkat pembatas. Tabel 4.6 Semesta pembicaraan variabel fuzzy Fungsi Input Output
Variabel Pendapatan orang tua Tanggungan Tingkat Pembatas
Semesta Pembicaraan [0,4000000] [0,5] [0,100]
61
Dari variabel yang telah dimunculkan kemudian disusun domain himpunan fuzzy. Berdasarkan domain tersebut selanjutnya ditentukan fungsi keanggotaan dari masing-masing variabel. Tabel 4.7 Himpunan fuzzy pembatas bantuan Variabel Pendapatan Orang Tua Tanggungan Orang Tua Tingkat Pembatas
Himpunan
Domain
Rendah Sedang Tinggi Sedikit Sedang Banyak S.Banyak Kurang Cukup Layak
[0-4jt] [2jt-6jt] [4jt-8jt] [0-2] [1-3] [2-4] [3-5] [0-70] [60-80] [70-100]
Fungsi keanggotaan Bahu kiri Segitiga Bahu kanan Bahu kiri Segitiga Segitiga Bahu kanan Bahu kiri Segitiga Bahu kanan
Parameter [0,2jt,4jt] [2jt,4jt,6jt] [4jt,6jt,8jt] [0,1,2] [1,2,3] [2,3,4] [3,4,5] [0,60,70] [60,70,80] [70,80,100]
1. Himpunan Fuzzy Variabel Pendapatan Orang Tua Pada variabel pendapatan orang tua didefinisikan tiga himpunan fuzzy yaitu rendah, sedang, dan tinggi.
Gambar 4.5 Himpunan fuzzy pendapatan orang tua
62
Sumbu horizontal merupakan nilai input dari variabel pendapatan, sedangkan sumbu vertikal merupakan tingkat keanggotaan dari nilai input. Dengan fungsi keanggotaan sebagai berikut:
\
2. Himpunan Fuzzy Variabel Tanggungan Orang Tua Pada variabel tanggungan orang tua didefinisikan empat himpunan fuzzy yaitu sedikit, sedang, banyak, dan sangat banyak.
Gambar 4.6 Himpunan fuzzy tanggungan orang tua Sumbu horizontal merupakan nilai input dari variable temperatur, sedangkan sumbu vertical merupakan tingkat keanggotaan dari nilai input. Dengan fungsi keanggotaan sebagai berikut:
63
3. Himpunan Fuzzy Variabel Tingkat Pembatas Pada variable tingkat pembatas didefinisikan 3 himpunan fuzzy yaitu kurang layak, cukup, dan layak.
Gambar 4.7 Himpunan fuzzy tingkat pembatas bantuan Sumbu horizontal merupakan nilai input dari variabel tingkat pembatas, sedangkan sumbu vertikal merupakan tingkat keanggotaan dari nilai input. Dengan fungsi keanggotaan sebagai berikut:
64
b)
Aplikasi Fungsi Implikasi Aturan-aturan dibentuk untuk menyatakan relasi antara input dan output.
Tiap aturan merupakan suatu implikasi. Operator yang digunakan untuk menghubungkan antara dua input adalah operator AND, dan yang memetakan antara input-output adalah IF-THEN. Fungsi implikasi yang digunakan adalah fungsi MIN, yaitu dengan mengambil tingkat keanggotan yang minimum dari variabel input sebagai output-nya. Untuk menghitung rating tingkat pembatas bantuan, aturan-aturan yang berlaku adalah: Tabel 4.8 Aturan fuzzy perhitungan rating tingkat pembatas bantuan No. 1 2 3 4 5 6
Parameter Masukan(JIKA) Pendapatan Tanggungan Rendah Sedikit Rendah Sedang Rendah Banyak Rendah Sangat Banyak Sedang Sedikit Sedang Sedang
Parameter Keluaran( Maka) Tingkat Pembatas Cukup Cukup Layak Layak Kurang Cukup
65
Tabel 4.8 Aturan fuzzy perhitungan rating tingkat pembatas bantuan (Lanjutan) No. 7 8 9 10 11 12
Parameter Masukan(JIKA) Pendapatan Tanggungan Sedang Banyak Sedang Sangat Banyak Tinggi Sedikit Tinggi Sedang Tinggi Banyak Tinggi Sangat Banyak
Parameter Keluaran( Maka) Tingkat Pembatas Cukup Layak Kurang Kurang Cukup Cukup
Setelah aturan dibentuk, maka dilakukan aplikasi fungsi implikasi. Fungsi implikasi yang digunakan fungsi MIN, yang berati tingkat keanggotaan yang didapat sebagai konsekuen dari proses ini adalah nilai minimum dari variabel pendapatan dan tanggungan orang tua. Sehingga didapatkan daerah fuzzy pada variabel tingkat pembatas untuk masing-masing aturan. c) Komposisi Aturan Pada metode Mamdani, komposisi antar fungsi implikasi menggunakan fungsi MAX yaitu dengan cara mengambil nilai maksimum dari output aturan kemudian menggabungkan daerah fuzzy dari masing-masing aturan dengan menggunakan operator OR. d) Penegasan(Defuzzyfication) Input dari proses penegasan adalah suatu himpunan fuzzy yang diperoleh dari komposisi aturan fuzzy, sedangkan output yang dihasilkan merupakan suatu bilangan tegas pada domain himpnan fuzzy tersebut. Sehingga jika diberikan suatu himpunan fuzzy dalam range tertentu, maka harus dapat diambil suatu nilai crisp tertentu sebagai output. Penegasan yang digunakan dalam menentukan tingkat
66
pembatas adalah dengan metode Centroid. Pada metode ini, solusi crsip diperoleh dengan cara mengambil titik pusat (Z0) daerah fuzzy. Secara umum dirumuskan:
Untuk domain kontinyu, dengan Z0 adalah nilai hasil defuzzyfikasi dan μz adalah deajat keanggotaan titik tersebut, sedangkan Z adalah nilai domain ke-1 sampai domain ke-12. Contoh Kasus: Seorang siswa dengan pendapatan orang tua sebesar 3,5 juta dan memiliki tanggungan 3 orang anak. Langkah 1: menentukan himpunan fuzzy Variabel pendapatan orangtua telah didefinisikan pada tiga himpunan fuzzy yaitu rendah, sedang, dan tinggi. Pendapatan 3,5 juta termasuk rendah dan sedang. μRendah = (4 – 3,5) / 2 = 0.25 μSedang = (3,5 – 2) / 2 = 0.75, dan yang lainnnya adalah 0. Untuk Variabel tanggungan telha didefinisikan pada 4 himpunan fuzzy yaitu sedikit, sedang, banyak, dan sangat banyak. Dan tiga orang berdada di banyak. μBanyak = 1, dan yang lainnya adalah 0.
67
Langkah 2: Fungsi Implikasi Fungsi implikasi yang digunakan adalah fungsi MIN, yaitu dengan mengambil tingkat keanggotaan yang minimum dari variabel input sebagai output-nya. Berdasarkan aturan-aturan yang sesuati dengan kondisi tersebut, maka diperoleh: [R03] Jika pendapatan rendah dan tanggugan banyak maka tingkat pembatas bantuan layak. α- predikat1
= μPendapatanrendah
μTanggunganBanyak
= min (0,25 , 1) = 0.25 [R07] Jika pendapatan sedang dan tanggungan banyak maka tingkat pembatas bantuan cukup layak. α- predikat2
= μPendapatansedang
μTanggunganBanyak
= min (0,75 , 1) = 0.75 Langkah 3: Komposisi aturan Komposisi aturan merupakan kesimpulan secara keseluruhan dengan mengambil tingkat keanggotaan maksimum dari tiap konsekuen aplikasi fungsi implikasi dan menggabungkan dari semua kesimpulan masing-masing aturan, sehingga didapat daerah solusi fuzzy sebagai berikut: μsf[x] = maks {μlayak (0.25), μcukuplayak (0.75)} μsf[x] = maks (0.25, 0.75)
68
Titik potong terjadi diantara kedua aturan tersebut, yaitu: (80 – x) / 10
= 0,25
x
= 80 – (0.25 * 10)
x
= 80 – 2,5 = 77,5
Ketika nilai μLayak = 0.25, maka nilai x adalah: (x - 70) / 10
= 0.25
x
= 70 + (0.25*10)
x
= 70 + 2,5 = 72,5
Ketika nilai μCukupLayak = 0.75, maka nilai x adalah (80 - x) / 10
= 0.75
x
= 80 – (0.75 * 10)
x
= 80 – 7,5 = 72,5
Sehingga diperoleh fungsi keanggotaan daerah solusi sebagai berikut:
Langkah 4: Penegasan ∫
∫ ∫
∫ ∫
∫
Jadi siswa tersebut layak mendapat bantuan dengan rating 39,25.
69
3) Kriteria Dan Bobot Model Fuzzy Logic dan SAW dalam prosesnya memerlukan kriteria yang akan dijadikan bahan perhitungan pada proses perankingan. Kriteria yang menjadi bahan pertimbangan panitia penyeleksi beasiswa seperti yang ditunjukan pada Tabel 4.9. Tabel 4.9 Kriteria Kriteria C1 C2 C3 C4
Keterangan Hasil Fuzzy Prestasi Hasil Fuzzy Bantuan Kelayakan Prestasi Kelayakan Bantuan
Supaya lebih jelas dimisalkan untuk dari Tabel 4.9 di atas adalah A1 = Siswa A, A2 = Siswa B, A3 = Siswa C dan A4 = Siswa D. Tabel 4.10 menunjukkan rating kecocokan dari setiap alternatif pada setiap kriteria. Tabel 4.10 Rating kecocokan dari setiap alternatif pada setiap kriteria. Alternatif A1 A2 A3 A4
Kriteria C1 11,03 45 40 60
C2 39,25 45 40 60
C3 100 65 65 100
C4 100 65 65 100
70
Dari Tabel 4.10 diubah kedalam matrik keputusan X dengan data:
Memberikan Nilai Bobot (W) Untuk menentukan bobot dari seleksi beasiswa dibentuk dalam Tabel 4.11. Tabel 4.11. Bobot kriteria Kriteria C1 (Prestasi) C2 (Bantuan) C3 (Kelayakan Prestasi) C4 (Kelayakan Bantuan)
Bobot Sedang Sedang Tinggi Tinggi
Nilai 0.15 0.15 0.35 0.35
Dari Tabel 4.11 diperoleh nilai bobot (W) dengan data: W = [ 0,15 1.
0,15
0,35
0,35 ]
Menormalisasi matriks X menjadi matriks R berdasarkan persamaan 1.
71
Keterangan : rij Xij Max Xij i Min Xij i benefit cost
= nilai rating kerja ternormalisasi = nilai atribut yang dimiliki dari setiap criteria. = nilai terbesar tiap kriteria = nilai terkecil dari setiap kriteria = jika nilai terbesar adalah terbaik = jika nilai terkecil adalah terbaik Tabel 4.12 Penggolongan Kriteria
Kriteria Prestasi Bantuan Kelayakan Prestasi Kelayakan Bantuan
Cost
Benefit √ √ √ √
a. Untuk batas prestasi termasuk atribut keuntungan(benefit), karena semakin besar nilai maka dianggap semakin baik. Jadi : r11 = r12 = r13 = r14 = b. Untuk batas bantuan termasuk atribut keuntungan(benefit), karena semakin besar nilai maka dianggap semakin baik. Jadi : r21 = r22 = r23 =
72
r24 = c. Untuk kelayakan
prestasi
dan
bantuan
termasuk
atribut
keuntungan(benefit), karena semakin besar nilai maka dianggap semakin baik. Jadi : r31 = r32 = r33 = r34 = Matrik R:
2.
Melakukan proses perangkingan dengan menggunakan persamaan :
Keterangan : Vi = ranking untuk setiap alternatif Wj = nilai bobot dari setiap kriteria rij = nilai rating kinerja ternormalisasi
73
Jadi : V1
= (0.15)(0.18) + (0.15)(0.6) + (0.35)(1) + (0.35)(1) = 0,027 + 0,09 + 0,35 + 0,35 = 0,817
V2
= (0.15)(0,75) + (0.15)(0,75) + (0.35)(0,65) + (0.35)(0,65) = 0,1125 + 0,1125 + 0,435 = 0,66
V3
= (0.15)(0,67) + (0.15)(0,67) + (0.35)(0,65) + (0.35)(0,65) = 0,2 + 0,45 = 0,635
V4
= (0.15)(1) + (0.15)(1) + (0.35)(1) + (0.35)(1) = 0,3 + 0,7 = 1
Nilai terbesar ada pada V4 sehingga alternatif A4 (Siswa D) adalah alternatif yang terpilih sebagai alternatif terbaik. Untuk lebih jelas lihat pada Tabel 4.13. Tabel 4.13 Ranking No
Nama
1 2 3 4
Siswa A Siswa B Siswa C Siswa D
Tanggungan Pendapatan 0,18 0,75 0,67 1
0,6 0,75 0,67 1
Rata nilai 1 0,65 0,65 1
Rata Absen 1 0,65 0,65 1
Hasil Akhir 0,817 0,66 0,635 1
74
4.4
Use Case Diagram Beberapa use case diagram yang adadi dalam rancangan aplikasi Seleksi
Beasiswa ini dapat dilihat pada gambarkan pada Gambar 4.8. «extends» «extends»
Buat Laporan Lihat Laporan * * -
-.
«uses» Hitung Fuzzy SAW «uses» *
Mengolah nilai dan absensi siswa
-.*
-. «uses» «include»
*
-.*-. -. -.-.
-.
«include» «include»
Mengolah Data Siswa *
-. * * **
«include»
-.
«include»
* -.
Mengolah Bobot TU
Mengolah Data User
-
*
*
* *
«include»
-.
-
-. -
LogIn
*
*
* *
WaliKelas Kepala Sekolah
Gambar 4.8 Usecase Seleksi Beasiswa Use case diagram di atas dapat dijelaskan pada Tabel 4.14: Tabel 4.14 Penjelasan Use Case Seleksi Beasiswa Use Case Login
Kode UC – CF01
Mengolah Biodata Siswa Mengolah Nilai Siswa Mengolah User
UC – CF02
Mengolah Bobot Hitung Fuzzy SAW
UC – CF05 UC – CF06
Membuat Laporan
UC – CF07
Lihat Laporan
UC – CF08
UC – CF03 UC – CF04
Deskripsi User dapat melakukan Login untuk memasuki halaman utama aplikasi TU dapat mengisi data siswa TU, dan walikelas dapat mengisi nilai dan absensi siswa TU dapat mengisi data pengguna aplikasi TU dapat mengisi bobot SAW TU dapat melihat data yang digunakan untuk seleksi TU dapat membuat laporan hasil seleksi beasiswa. TU dan kepala sekolah dapat melihat laporan hasil seleksi
75
Skenario dari Use Case Log In bisa dilihat pada Tabel 4.15: Tabel 4.15 Skenario Use Case Log In Nomor Use Case : UC-CF01 Nama Use Case : Login Tujuan : Masuk ke halaman utama Kondisi Awal : Halaman Login Tampil Aktor : TU, walikelas, kepalasekolah Aksi Aktor Reaksi Sistem 1. Mengisi Username 2. Mengisi Password \ 3. Tekan tombol Login 4. Melakukan validasi Username dan Password 5. Halaman utama tampil Exception Flow of Event 3a. Memilih tombol Batal, system akan membersihkan tampilan dan kembali ke no. 1 4a. Sistem gagal melakukan validasi dan kembali ke no. 1 Kondisi akhir Halaman Utama Tampil Skenario Use Case dari data siswa dapat dilihat pada Tabel 4.16: Tabel 4.16 Skenario Use Case Data Siswa Nomor Use Case : UC-CF02 Nama Use Case : Mengolah Data Siswa Tujuan : Olah data data siswa Kondisi Awal : Halaman Siswa Tampil Aktor : TU Aksi Aktor 1. Isi form data siswa 2. Tekan tombol simpan
Reaksi Sistem
3. Menyimpan data dari form sudah diisi dan menampilkan pesan sukses menyimpan 4. Pilih salah satu data dengan tekan tombol di samping nis 5. Rubah yang perlu dirubah dari data tersebut 6. Tekan tombol simpan 7. Menyimpan data yang telah selesai dirubah dan
76
menampilkan sukses
pesan
edit
8. Pilih salah satu data lalu tekan tombol hapus
11. Tekan tombol ya
9. Menampilkan pesan apa anda yakin untuk konfirmasi hapus data 12. Menghapus data yang dipilih dan menampilkan pesan data telah dihapus
Exception Flow of Event 3a.7a.11a. Memilih tombol Batal, system akan membersihkan tampilan dan kembali ke no. 1, 5 atau 9 Kondisi akhir Halaman Utama Tampil
Skenario Use Case dari nilai siswa bisa dilihat pada Tabel 4.17. Tabel 4.17 Skenario Use Case Nilai Siswa Nomor Use Case : UC-CF03 Nama Use Case : Mengolah nilai dan absensi siswa Tujuan : Olah data nilai dan absensi siswa Kondisi Awal : Halaman penilaian siswa Tampil Aktor : TU dan Walikelas Aksi Aktor Reaksi Sistem 1. Pilih siswa dengan cara menekan tombol di samping kolom isian NIS 2. Isi form penilaian siswa 4. Menyimpan data dari form 3. Tekan tombol simpan sudah diisi dan menampilkan pesan sukses menyimpan 5. Pilih salah satu data dengan cara menekan tombol di samping kolom kode nilai 6. Rubah yang perlu dirubah dari data tersebut 7. Tekan tombol finish 8. Menyimpan data yang telah selesai dirubah dan menampilkan pesan edit sukses 9. Pilih salah satu data lalu tekan tombol hapus 10. Menampilkan pesan apa anda yakin untuk konfirmasi hapus
77
11. Tekan tombol ya 12. Menghapus data yang dipilih dan menampilkan pesan data telah dihapus Exception Flow of Event 3a.7a.11a. Memilih tombol Batal, system akan membersihkan tampilan dan kembali ke no. 1, 5 atau 9 Kondisi akhir Halaman Utama Tampil
Skenario Use Case dari mengolah bobot dapat dilihat pada Tabel 4.18 Tabel 4.18 Skenario Use Case Mengolah Bobot Nomor Use Case : UC-CF04 Nama Use Case : Mengolah User Tujuan : Olah data pengguna aplikasi Kondisi Awal : Halaman pengguna Aktor : TU Aksi Aktor 1. Isi form pengguna 2. Tekan tombol simpan
Reaksi Sistem
3. Menyimpan data dari form sudah diisi dan menampilkan pesan sukses menyimpan 4. Pilih salah satu data dengan cara menekan tombol di samping id pengguna 5. Rubah yang perlu dirubah dari data tersebut 6. Tekan tombol finish 7. Menyimpan data yang telah selesai dirubah dan menampilkan pesan edit sukses 8. Pilih salah satu data lalu tekan tombol hapus
11. Tekan tombol ya
9. Menampilkan pesan apa anda yakin untuk konfirmasi hapus data 12. Menghapus data yang dipilih dan menampilkan pesan data telah dihapus
78
Exception Flow of Event 3a.7a.11a. Memilih tombol Batal, system akan membersihkan tampilan dan kembali ke no. 1, 5 atau 9 Kondisi akhir Halaman Utama Tampil Skenario Use Case dari Pengguna dapat dilihat pada Tabel 4.19. Tabel 4.19 Skenario Use Case Pengguna
Nomor Use Case : UC-CF05 Nama Use Case : Mengolah Bobot Tujuan : Mengolah bobot yang digunakan dalam seleksi Kondisi Awal : Halaman bobot tampil Aktor : TU Aksi Aktor Reaksi Sistem 1. Isi form bobot 2. Tekan tombol simpan 3. Menyimpan data dari form sudah diisi dan menampilkan pesan sukses menyimpan 1. Pilih data bobot yang mau dirubah dengan cara klik tombol di samping kode bobot 2. Rubah bobot sesuai yang diinginkan 3. Tekan ok 4. Bobot yang telah dirubah akan disimpan Exception Flow of Event 3a. Memilih tombol Batal, system akan membersihkan tampilan dan kembali ke no. 1 Kondisi akhir Halaman Utama Tampil Skenario Use Case dari Fuzzifikasi dapat dilihat pada Tabel 4.20. Tabel 4.20 Skenario Use Case Fuzzifikasi Nomor Use Case : UC-CF06 Nama Use Case : Hitung Fuzzy SAW Tujuan : Melihat data yang digunakan untuk seleksi Kondisi Awal : Halaman Fuzzy SAW tampil Aktor : TU Aksi Aktor Reaksi Sistem 1. Menampilkan nilai, pendapatan, dan absensi yang
79
sudah difuzzifikasi dihitung bobot nya Halaman Utama Tampil
Kondisi akhir
dan
Skenario Use Case dari buat laporan dapat dilihat pada Tabel 4.21.
Tabel 4.21 Skenario Use Case Buat Laporan Nomor Use Case : UC-CF07 Nama Use Case : Membuat Laporan Tujuan : Membuat laporan dari seleksi beasiswa Kondisi Awal : Halaman laporan tampil Aktor : TU Aksi Aktor Reaksi Sistem 1. Tekan Tombol lihat hasil seleksi 2. Menampilkan hasil seleksi 3. Tekan tombol save 4. Menyimpan hasil seleksi dalam bentuk laporan Exception Flow of Event 3a. Memilih tombol Batal, system akan membersihkan tampilan dan kembali ke no. 1 Kondisi akhir Halaman Utama Tampil Skenario Use Case dari buat laporan dapat dilihat pada Tabel 4.22.
Tabel 4.22 Skenario Use Case Lihat Laporan Nomor Use Case : UC-CF08 Nama Use Case : Lihat Laporan Tujuan : Melihat laporan Kondisi Awal : Halaman laporan tampil Aktor : Kepala Sekolah Aksi Aktor 1. Tekan Tombol lihat hasil seleksi
Reaksi Sistem
2. Menampilkan hasil seleksi Exception Flow of Event 2a. Jika hasil seleksi belum ada maka akan muncul pesan hasil seleksi belum ada. Dan Sistem akan kembali ke halaman utama Kondisi akhir Halaman Utama Tampil \
80
4.4.1
Class Diagram Diagram kelas dari sistem ini dapat dilihat pada Gambar 4.9.
1..*
Siswa
1..* 1..* 1..*
1 Login
1..*
-Username -Password +Otentifikasi() 1..*
-NIS -Nama -Kelas -TahunAjaran -PendapatanOrtu -Tanggungan +Input() +Edit() +Delete()
Fuzzifikasi
1..*
1..*
Bobot
1..* User -ID -Username -Nama -Password -Level +Input () +Edit() +Show()
1
-Tahun Ajaran -Bobot Pendapatan Bantuan -Bobot Nilai Bantuan -Bobot Kehadiran Bantuan -Bobot Tanggungan Bantuan -Bobot Pendapatan Prestasi -Bobot Nilai Prestasi -Bobot Kehadiran Prestasi -Bobot Tanggungan Prestasi +Edit() +Input() +Delete()
Nilai 1..*
-NIS -Nama -TahunAjaran -Nilai Genap -Nilai Ganjil -Kehadiran Genap -Kehadiran Ganjil +Input() +Edit() +Delete() +()
1..*
SAW 1..*
Laporan -NIS -Nama -Kelas -
-NIS -Nama -Tahun Ajaran -RataNilai -RataKeha -Pendapatan -Tanggungan +Get rata2nilai() +Get kehadiran() +Get pendapatanOrtu() +Get Tanggungan()
1..*1..*
-NIS -Nama -Tahun Ajaran -RataNilai -RataKeha -Pendapatan -Tanggungan +Get rata2nilai() +Get kehadiran() +Get pendapatanOrtu() +Get Tanggungan()
1..*
Gambar 4.9 Class Diagram Seleksi Beasiswa
1..* 1..*
1..*
81
4.4.2
Activity Diagram
1. Activity Diagram Login Diagram aktifitas dari Log In dapat dilihat pada Gambar 4.10. User
Input Username dan Password
Sistem
Verifikasi Data User
Menerima Pesan Penolakan
Halaman Utama Tampil
Gambar 4.10 Activity Diagram Log In 2. Activity Diagram Bobot Diagram aktifitas dari bobot dapat dilihat pada Gambar 4.11. User
Input Data Bobot
Sistem
Cek Kelengkapan
Menerima Pesan Lengkapi Data
Menyimpan Data
Gambar 4.11 Activity Diagram Bobot
82
3. Activity Diagram Siswa Diagram aktifitas dari siswa dapat dilihat pada Gambar 4.12. User
Input Data Siswa
Sistem
Cek Kelengkapan
Menerima Pesan Lengkapi Data
Menyimpan Data
Gambar 4.12 Activity Diagram Siswa 4. Activity Diagram Nilai Diagram aktifitas dari nilai dapat dilihat pada Gambar 4.13. User
Input Data Nilai Siswa
Sistem
Cek Kelengkapan
Menerima Pesan Lengkapi Data
Menyimpan Data
Gambar 4.13 Activity Diagram Nilai
83
5. Activity Diagram Pengguna Diagram aktifitas dari pengguna dapat dilihat pada Gambar 4.14. Siswa
Sistem
Input Data Pengguna
Cek Kelengkapan
Menerima Pesan Lengkapi Data
Menyimpan Data
Gambar 4.14 Activity Diagram Pengguna 4.4.3
Sequence Diagram
1. Sequence Diagram Login Sequence Diagram Login dapat dilihat pada Gambar 4.15
Pengguna
Login Top Package::User 1:Input User Name() 3.Validasi()
2.Input Passowrd()
5.Cek User Name() 4. Cek Password() 6. Tidak Valid()
7. Valid() Input Data User()
Gambar 4.15 Sequence Diagram Login User
84
Keterangan: User melakukan Login system diaplikasi seleksi beasiswa dengan memasukkan User Name dan Password. Lalu aplikasi sistem akan memvalidasi User Name dan Password tersebut dan memberikan hak aksesnya kepada User. Dan bisa mengisi data pengguna, biodata, mata pelajaran, bobot, dan nilai. Jika tidak valid, maka aplikasi tidak akan menampilkan hak aksesnya. 2. Sequence Diagram Hitung Sequence Diagram Hitung dapat dilihat pada Gambar 4.16
Seleksi
Biodata Siswa
Bobot
Nilai SIswa
Top Package::TU Lakukan Seleksi
Minta Biodata Valid Cek Data Biodata
Tidak Valid Minta Data Nilai Valid
Cek Data NIlai
Tidak Valid Minta Bobot Valid
Cek Bobot
Tidak Valid Hasil
Hitung
Gambar 4.16 Sequence Diagram Hitung Keterangan: TU Masuk ke menu seleksi, Sistem akan mengambil pendapatan orangtua dari Biodata, rata-rata nilai dan nilai absensi dari nilai siswa, dan mengambil bobot yang digunakan untuk menghitung pada saat seleksi. Jika lenkap maka seleksi akan dilakukan. Jika kurang lengkap akan ada pemberitahuan ke user.
85
4.4.4 Perancangan Database Perancangan Basis Data dari sistem pembantu pengambilan keputusan ini dapat dilihat pada Gambar 4.17.
Gambar 4.17 Perancangan Data Base 4.5
Rancangan Aplikasi Dari hasil penelitian dan analisis, maka dapat pada gambarkan desain
aplikasi yang akan dibuat. Berikut ini merupakan rancangan dari setiap form yang akan dibuat.
86
4.5.1
Form Login Form Login berisi form untuk input data id_user dan password dari pengguna, dibarengi dengan tombol Login dan Batal. Gambar dari rancangan form Log In dapat dilihat pada Gambar 4.18. Login Enter Text User Name
User Name
Password
Password Login
Batal
Gambar 4.18. Rancangan Form Login 4.5.2
Halaman Utama Halaman utama dari aplikasi terdiri 5 menu utama yaitu System, Data Master, Penilaian, Fuzzy dan SAW, dan Help. Setiap menu kecuali Help akan memiliki SubMenu yang mengakses ke form-form lain yang ada di aplikasi tersebut. Gambar dari rancangan form Log In dapat dilihat pada Gambar 4.19. Menu Utama System
Data Master
Penilaian
Fuzzy dan SAW
LogIn
Siswa
Bobot
Fuzzifikasi
Keluar
Pengguna
Nilai dan Kehadiran SAW
Help
LogOut
Gambar 4.19. Rancangan Form Halaman Utama
87
4.5.3 Form Data Siswa Form data siswa terdiri atas inputan NIS, Nama, Pendapatan, dan Tanggungan, juga ada tombol Simpan, Batal, dan Cetak. Lalu tombol pilih yang digunakan untuk memilih data yang sudah ada yang akan dirubah. Gambar dari rancangan form data siswa dapat dilihat pada Gambar 4.20. Siswa Enter Text NIS
...
Pendapatan Tanggungan Simpan
Batal
Cetak Daftar Siswa
Gambar 4.20. Rancangan Form Data Siswa 4.5.4 Form Bobot Form bobot digunakan untuk mengolah data bobot, yang terdiri dari bobot kehadiran, nilai, pendapatan, dan tanggungan. Gambar dari rancangan form bobot dapat dilihat pada Gambar 4.21. Bobot Enter Text Tahun Ajaran
Enter Bobot Kode Text
...
Nama Bobot
Kriteria Kehadiran
Pendapatan
Nilai
Tanggungan
Simpan
Batal
Cetak Daftar Bobot
Gambar 4.21. Rancangan Form Bobot
88
4.5.5 Form Pengguna Form pengguna digunakan untuk mengolah data user, terdiri atas inputan Idpengguna, Nama, Password, dan Hak, juga ada tombol Simpan, Batal, dan Cetak. Gambar dari rancangan form pengguna dapat dilihat pada Gambar 4.22. Pengguna Enter Text Id Pengguna
...
Nama Pengguna Password Hak Simpan
Batal
Cetak Daftar User
Gambar 4.22. Rancangan Form Pengguna 4.5.6 Form Penilaian Form nilai digunakan untuk mengolah data nilai siswa, terdiri atas inputan Tahun ajaran, kode nilai, NIS, nama, kehadiran, dan nilai. Gambar dari rancangan form nilai dapat dilihat pada Gambar 4.23. Penilaian Enter Text Tahun Ajaran
KodeNilai Enter Text
NIS
...
...
Kehadiran
Nilai
Ganjil
Ganjil
Genap
Genap
Simpan
Batal
Cetak Daftar Penilaian
Gambar 4.23. Rancangan Form Penilaian
89
4.5.7 Form Fuzzifikasi Form fuzzifikasi menampilkan data sebelum dan sesudah fuzzifikasi. Gambar dari rancangan form fuzzifikasi dapat dilihat pada Gambar 4.24. Fuzzyfikasi Sebelum fuzzifikasi NIS
Nama
Kelas
Rata2
Pendapatan
Absensi
Kelas
Rata2
Pendapatan
Absensi
Sesudah Fuzzyfikasi NIS
Nama
Gambar 4.24 Rancangan Form Fuzzifikasi Dari gambar di atas dapat dilihat bahwa form fuzzifikasi terdiri dari dua buah tabel yang merupakan nilai sebelum dan sesudah fuzzifikasi. Untuk algoritma dari form fuzzifikasi di atas dapat diliat pada gambar 4.25. Deklarasi Pend = integer Fpend = real Nilai = integer Fnilai = real Keha = int Fkeha = real
Alogritma Alogritma Fuzzifikasi Pend If pend >= 5000000 Then fpend = 0.3 ElseIf pend > 3000000 Then fpend = (((5000000 - pend) / 2000000) * 0.3) + 0.3 ElseIf pend = 3000000 Then fpend = 0.6 ElseIf pend > 1000000 Then fpend = (((3000000 - pend) / 2000000) * 0.3) + 0.6 Else fpend = 0.9
90
End If Alogritma Fuzzifikasi Nilai If nilai <= 65 Then fnilai = 0.3 ElseIf nilai < 75 Then fnilai = (0.6 - (75 - nilai) / 10) * 0.3 ElseIf nilai = 75 Then fnilai = 0.6 ElseIf nilai < 85 Then fnilai = (0.9 - (85 - nilai) / 10) * 0.3 Else fnilai = 0.9 End If Alogritma Fuzzifikasi Keha If keha <= 80 Then fkeha = 0.3 ElseIf keha < 85 Then fkeha = (0.6 - (85 - keha) / 5) * 0.3 ElseIf keha = 85 Then fkeha = 0.6 ElseIf keha < 90 Then fkeha = (0.9 - (85 - nilai) / 10) * 0.3 Else fnilai = 0.9 End
Gambar 4.25. Alogritma Form Fuzzifikasi 4.5.8 Form SAW Form SAW menampilkan data sesudah fuzzifikasi dan sesudah SAW. Gambar dari rancangan form SAW dapat dilihat pada Gambar 4.26. SAW Saw Bantuan NIS
Nama
nilai
Absensi
pendapatan
Tanggungan
Total
Nama
nilai
Absensi
pendapatan
Tanggungan
Total
Saw Prestasi NIS
Gambar 4.26 Rancangan Form SAW
91
Dari gambar di atas dapat dilihat bahwa form SAW terdiri dari dua buah tabel yang merupakan nilai sebelum dan sesudah perhitungan SAW. Untuk algoritma dari form SAW di atas dapat diliat pada gambar 4.27. Deklarasi Fpend = real Minpend = real maxnilai = real Fnilai = real maxkeha = real Fkeha = real Sawpend = real Sawtang = real Sawkeha = real Sawnilai = real Totalsaw = real
Alogritma Algoritma Min Pend If fpend > minpend Then minpend = fpend End If Algoritma Max Keha If fkeha > maxkeha Then maxkeha = fkeha End If Algoritma Max ratanilai If fnilai > maxnilai Then maxnilai = fnilai End If Algoritma Saw sawpend = minpend / fpend * bobotpend / 100 sawtang = ftang / maxtang * bobottang / 100 sawkeha = fkeha / maxkeha * bobotkeha / 100 sawnilai = fnilai / maxnilai * bobotnilai / 100 totalsaw = sawpend + sawtang + sawkeha + sawnilai
Gambar 4.27 Algoritma Form SAW