47 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 Identifikasi Kebutuhan Pemakai
1. 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
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:
Operating System : Microsoft Windows XP Profesional
Database Server : Microsoft SQL Server 2000 Pemrograman : Visual Basic .Net
4.2 Fungsional dan Non-Fungsional Requirement
Berdasarkan analisis kebutuhan yang telah dirinci, maka dapat disusun tabel Software Requirements Spesification yang terdiri dari Fungsional dan
non-Fungsional sistem.
4.2.1 Aplikasi Seleksi Beasiswa
1. Fungsional Requirement
Fungsional Requirement adalah fungsi-fungsi utama yang dapat dilakukan
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 Deskripsi Kebutuhan Fungsional SSB – CF01 User dapat melakukan proses login
SSB – CF02 User dapat memasukkan data siswa
SSB – CF03 User dapat memasukkan nilai dan absensi siswa SSB – CF04 User dapat memasukkan data user
SSB – CF05 User dapat mengatur bobot SSB – CF06 User dapat melihat hasil seleksi
2. 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 Deskripsi Kebutuhan Non-Fungsional SSB – CNF01 User dapat melakukan print-out hasil seleksi SSB – CNF02 Antar muka yang friendly
SSB – CNF03 Menggunakan bahasa Indonesia yang singkat dan jelas
4.3 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.
4.3.1 Analisis Kebutuhan Pengujian Kelayakan Penerima Beasiswa
1) Pembatas Prestasi
Pembatas prestasi terdiri dari dua penilaian yaitu 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 Variabel Semesta pembicaraan
Input Rata-rata nilai [0,100]
Rata-rata kehadiran [0,100]
Output Tingkat pembatas [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 Fungsi
Keanggotaan Parameter
Rata-rata nilai
Rendah [0-75] Bahu kiri (0;70;75)
Sedang [70-80] Segitiga (70;75;80) Tinggi [75-85] Segitiga (75;80;85) Sangat tinggi [80-100] Bahu kanan (80;85;100)
Tabel 4.4 Himpunan fuzzy pembatas prestasi (Lanjutan)
Variabel Himpunan Domain Fungsi
Keanggotaan
Parameter
Rata-rata kehadiran
Rendah [0-70] Bahu kiri (0;60;70)
Sedang [60-80] Segitiga (60;70;80) Tinggi [70-100] Bahu kanan (70;80;100) Tingkat
Pembatas
Kurang [0-70] Bahu kiri (0;60;70)
Cukup [60-80] Segitiga (60;70;80)
Layak [70-100] Bahu kanan (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:
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-ratakehadiran
Sumbu horizontal merupakan nilai input dari variabel curah hujan, sedangkan sumbu vertikan merupakan tingkat keanggotaan dari nilai input. Dengan fungsi keanggotaan sebagai berikut:
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.
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. Parameter Masukan(JIKA) Parameter Keluaran( Maka)
Nilai Kehadiran Tingkat Pembatas
1 Rendah Rendah Kurang
2 Rendah Sedang Kurang
3 Rendah Tinggi Kurang
4 Sedang Rendah Kurang
5 Sedang Sedang Cukup
Tabel 4.5 Aturan fuzzy perhitungan rating tingkat pembatas prestasi (Lanjutan) No. Parameter Masukan(JIKA) Parameter Keluaran( Maka)
Nilai Kehadiran Tingkat Pembatas
7 Tinggi Rendah Kurang
8 Tinggi Sedang Cukup
9 Tinggi Tinggi Layak
10 Sangat Tinggi Rendah Kurang
11 Sangat Tinggi Sedang Cukup
12 Sangat Tinggi Tinggi 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
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.
μ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
α-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)
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:
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 Variabel Semesta Pembicaraan
Input Pendapatan orang tua [0,4000000]
Tanggungan [0,5]
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 Himpunan Domain Fungsi
keanggotaan
Parameter
Pendapatan Orang Tua
Rendah [0-4jt] Bahu kiri [0,2jt,4jt] Sedang [2jt-6jt] Segitiga [2jt,4jt,6jt]
Tinggi [4jt-8jt] Bahu kanan [4jt,6jt,8jt] Tanggungan
Orang Tua
Sedikit [0-2] Bahu kiri [0,1,2]
Sedang [1-3] Segitiga [1,2,3]
Banyak [2-4] Segitiga [2,3,4]
S.Banyak [3-5] Bahu kanan [3,4,5]
Tingkat Pembatas
Kurang [0-70] Bahu kiri [0,60,70]
Cukup [60-80] Segitiga [60,70,80]
Layak [70-100] Bahu kanan [70,80,100]
1. Himpunan Fuzzy Variabel Pendapatan Orang Tua
Pada variabel pendapatan orang tua didefinisikan tiga himpunan fuzzy
yaitu rendah, sedang, dan tinggi.
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:
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.
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. Parameter Masukan(JIKA) Parameter Keluaran( Maka)
Pendapatan Tanggungan Tingkat Pembatas
1 Rendah Sedikit Cukup
2 Rendah Sedang Cukup
3 Rendah Banyak Layak
4 Rendah Sangat Banyak Layak
5 Sedang Sedikit Kurang
Tabel 4.8 Aturan fuzzy perhitungan rating tingkat pembatas bantuan (Lanjutan) No. Parameter Masukan(JIKA) Parameter Keluaran( Maka)
Pendapatan Tanggungan Tingkat Pembatas
7 Sedang Banyak Cukup
8 Sedang Sangat Banyak Layak
9 Tinggi Sedikit Kurang
10 Tinggi Sedang Kurang
11 Tinggi Banyak Cukup
12 Tinggi Sangat Banyak 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
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.
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)}
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 ∫ ∫ ∫ ∫ ∫ ∫
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 Keterangan
C1 Hasil Fuzzy Prestasi
C2 Hasil Fuzzy Bantuan
C3 Kelayakan Prestasi
C4 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 Kriteria C1 C2 C3 C4 A1 11,03 39,25 100 100 A2 45 45 65 65 A3 40 40 65 65 A4 60 60 100 100
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 Bobot Nilai
C1 (Prestasi) Sedang 0.15
C2 (Bantuan) Sedang 0.15
C3 (Kelayakan Prestasi) Tinggi 0.35
C4 (Kelayakan Bantuan) Tinggi 0.35
Dari Tabel 4.11 diperoleh nilai bobot (W) dengan data:
W = [ 0,15 0,15 0,35 0,35 ]
Keterangan :
rij = nilai rating kerja ternormalisasi
Xij = nilai atribut yang dimiliki dari setiap criteria. Max Xij = nilai terbesar tiap kriteria
i
Min Xij = nilai terkecil dari setiap kriteria
i
benefit = jika nilai terbesar adalah terbaik
cost = jika nilai terkecil adalah terbaik
Tabel 4.12 Penggolongan Kriteria
Kriteria Cost Benefit
Prestasi √
Bantuan √
Kelayakan Prestasi √
Kelayakan Bantuan √
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 =
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
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 Tanggungan Pendapatan Rata
nilai Rata Absen Hasil Akhir 1 Siswa A 0,18 0,6 1 1 0,817 2 Siswa B 0,75 0,75 0,65 0,65 0,66 3 Siswa C 0,67 0,67 0,65 0,65 0,635 4 Siswa D 1 1 1 1 1
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.
TU
LogIn
Mengolah Data User Mengolah Bobot Mengolah Data Siswa Mengolah nilai dan
absensi siswa Hitung Fuzzy SAW
-. * -. * -. * -. * -. * -. *-. * -. * -. * -. * -. * -. * Buat Laporan Lihat Laporan WaliKelas Kepala Sekolah - * - * - * - * «uses» «uses» «uses» «extends» «extends» «include» «include» -. * -. * «include» «include» «include» «include» - * - *
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 Kode Deskripsi
Login UC – CF01 User dapat melakukan Login
untuk memasuki halaman utama aplikasi
Mengolah Biodata Siswa
UC – CF02 TU dapat mengisi data siswa Mengolah Nilai
Siswa
UC – CF03 TU, danwalikelas dapat mengisi nilai dan absensi siswa
Mengolah User UC – CF04 TU dapat mengisi data pengguna aplikasi
Mengolah Bobot UC – CF05 TUdapat mengisi bobot SAW Hitung Fuzzy SAW UC – CF06 TU dapat melihat data yang
digunakan untuk seleksi
Membuat Laporan UC – CF07 TUdapat membuat laporan hasil seleksi beasiswa.
Lihat Laporan UC – CF08 TU dan kepala sekolah dapat melihat laporan hasil seleksi
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 Reaksi Sistem
1. Isi form data siswa 2. Tekan tombol simpan
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
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
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 3. Tekan tombol simpan
4. Menyimpan data dari form 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
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 Reaksi Sistem
1. Isi form pengguna 2. Tekan tombol simpan
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
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
sudah difuzzifikasi dan dihitung bobot nya
Kondisi akhir Halaman Utama Tampil
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 Reaksi Sistem
1. Tekan Tombol lihat hasil seleksi
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
4.4.1 Class Diagram
Diagram kelas dari sistem ini dapat dilihat pada Gambar 4.9.
+Otentifikasi() -Username -Password Login +Input() +Edit() +Delete() -NIS -Nama -Kelas -TahunAjaran -PendapatanOrtu -Tanggungan Siswa +Input () +Edit() +Show() -ID -Username -Nama -Password -Level User +Input() +Edit() +Delete() +() -NIS -Nama -TahunAjaran -Nilai Genap -Nilai Ganjil -Kehadiran Genap -Kehadiran Ganjil Nilai +Edit() +Input() +Delete() -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
Bobot +Get rata2nilai() +Get kehadiran() +Get pendapatanOrtu() +Get Tanggungan() -NIS -Nama -Tahun Ajaran -RataNilai -RataKeha -Pendapatan -Tanggungan SAW -NIS -Nama -Kelas -Laporan 1 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* +Get rata2nilai() +Get kehadiran() +Get pendapatanOrtu() +Get Tanggungan() -NIS -Nama -Tahun Ajaran -RataNilai -RataKeha -Pendapatan -Tanggungan Fuzzifikasi 1..* 1..* 1..* 1..*
Input Data Bobot Cek Kelengkapan
Menerima Pesan Lengkapi Data
Menyimpan Data
Input Username dan Password Verifikasi Data User
Menerima Pesan Penolakan
Halaman Utama Tampil 4.4.2 Activity Diagram
1. Activity Diagram Login
Diagram aktifitas dari Log In dapat dilihat pada Gambar 4.10.
User Sistem
Gambar 4.10 Activity Diagram Log In 2. Activity Diagram Bobot
Diagram aktifitas dari bobot dapat dilihat pada Gambar 4.11.
User Sistem
Input Data Siswa Cek Kelengkapan
Menerima Pesan Lengkapi Data
Menyimpan Data
Input Data Nilai Siswa Cek Kelengkapan
Menerima Pesan Lengkapi Data
Menyimpan Data
3. Activity Diagram Siswa
Diagram aktifitas dari siswa dapat dilihat pada Gambar 4.12.
User Sistem
Gambar 4.12 Activity Diagram Siswa
4. Activity Diagram Nilai
Diagram aktifitas dari nilai dapat dilihat pada Gambar 4.13.
User Sistem
Input Data Pengguna Cek Kelengkapan
Menerima Pesan Lengkapi Data
Menyimpan Data
5. Activity Diagram Pengguna
Diagram aktifitas dari pengguna dapat dilihat pada Gambar 4.14.
Siswa Sistem
Gambar 4.14 Activity Diagram Pengguna 4.4.3 Sequence Diagram
1. Sequence Diagram Login
Sequence Diagram Login dapat dilihat pada Gambar 4.15
Gambar 4.15 Sequence Diagram Login User
Login Pengguna
Top Package::User
1:Input User Name()
2.Input Passowrd() 3.Validasi()
5.Cek User Name() 4. Cek Password()
6. Tidak Valid()
7. Valid() Input Data User()
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 Hitungdapat dilihat pada Gambar 4.16
Nilai SIswa Biodata Siswa
Seleksi Bobot
Lakukan Seleksi Minta Biodata
Cek Data Biodata Valid
Tidak Valid
Minta Data Nilai
Cek Data NIlai Valid Tidak Valid Minta Bobot Cek Bobot Valid Tidak Valid Hitung Hasil Top Package::TU
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.
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.
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 Login Enter Text User Name Password User Name 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 Menu Utama System LogIn Keluar LogOut Data Master Siswa Pengguna Penilaian Bobot
Nilai dan Kehadiran
Fuzzy dan SAW Fuzzifikasi SAW
Help
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 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 Bobot Enter Text Tahun Ajaran Nama Bobot Nilai Kriteria Kehadiran Enter Text Kode Bobot ... Tanggungan Pendapatan
Simpan Batal Cetak Daftar Bobot
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 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 Penilaian Enter Text Tahun Ajaran NIS Genap Kehadiran Ganjil Enter Text KodeNilai ... Genap Ganjil
Simpan Batal Cetak Daftar Penilaian ...
Nilai
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 Fuzzyfikasi
Sebelum fuzzifikasi
NIS Nama Kelas Rata2 Pendapatan Absensi
Sesudah Fuzzyfikasi
NIS Nama Kelas Rata2 Pendapatan Absensi
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
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
Saw Bantuan
NIS Nama nilai Absensi pendapatan Tanggungan Total
Saw Prestasi
NIS Nama nilai Absensi pendapatan Tanggungan Total
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