BAB V IMPLEMENTASI DAN PENGUJIAN 5.1
Implementasi Perangkat Lunak
5.1.1 Lingkungan Implementasi Menjelaskan lingkungan perangkat keras dan perangkat implementasi yang digunakan untuk menulis program dan membentuk tabel-tabel basis data. Perangkat Keras 1. Komputer Stand Alone dengan konfigurasi a) Proccessor Intel Pentium Dual CPU T5430 1.66GHz b) RAM dengan kapasitas 2 Gb c) Harddisk dengan kapasitas 160 Gb d) Color Monitor 14” e) Jet Printer EPSON Stylus T11 Series 2. Sistem Operasi : Windows XP Perangkat Lunak 1. Bahasa Pemrograman Microsoft Visual Basic.Net 2008 2. Database Microsoft SQL Server 2000 5.1.2 Hasil Implementasi 5.1.2.1 Implementasi Basis Data Nama Basis Data
: Seleksibeasiswa
Directory
: C:\Program Files\Microsoft SQL Server\MSSQL\Data\seleksibeasiswa_data. MDF
92
93
Tabel 5.1 Implementasi Basis Data No. 1. 2. 3. 4. 5. 6. 7. 8.
Nama Tabel Bobot Kehadiran Nilai Siswa Pengguna Siswa Fuzzy Sawbantuan
Hasil Implementasi bobot.db kehadiran.db siswa.db pengguna.db Siswa.db Fuzzy.db Sawbantuan.db
Sawprestasi
Sawprestasi.db
Keterangan Tabel Bobot Tabel Nilai Absensi Siswa Tabel Nilai Raport Siswa Tabel Data User Tabel Data Siswa Tabel Hasil Fuzzifikasi Tabel Hasil Pembobotan Beasiswa Bantuan Tabel Hasil Pembobotan Beasiswa Prestasi
1. Tabel Bobot Tabel bobot merupakan tabel yang berisi nilai dari bobot yang akan digunakan untuk perhitungan SAW dan berbeda disetiap tahunnya, bergantung kepada kebijakan sekolah atau instansi yang terkait. Desain dari tabel bobot tersebut dapat dilihat pada Gambar 5.1.
Gambar 5.1. Tabel Bobot Dari gambar tabel bobot di atas dapat dilihat bahwa tabel bobot terdiri dari idbobot yang berfungsi sebagai primary key, nama bobot, tahun ajaran, dan nilai bobot dari kriteria. Untuk query dari tabel tersebut dapat di lihat di Gambar 5.2.
94
No 1 2 3 4 5 6 7 8
Query create table bobot( idbobot int primary key not null, namabobot varchar(10), tahunajaran varchar(6), bkeha int not null, bnilai int not null, bpendapatan int not null, btanggungan int not null)
Gambar 5.2. Query Tabel Bobot 2. Tabel Kehadiran Tabel kehadiran merupakan tabel yang berisi nilai dari kehadiran yang akan digunakan untuk proses seleksi pada aplikasi seleksi beasiswa ini. Desain dari tabel kehadiran tersebut dapat dilihat pada Gambar 5.3.
Gambar 5.3. Tabel Kehadiran Dari gambar tabel kehadiran di atas dapat dilihat bahwa tabel kehadiran terdiri dari idkehadiran yang berfungsi sebagai primary key, NIS, tahun ajaran, dan nilai dari kehadiran siswa. Untuk query dari tabel tersebut dapat di lihat di Gambar 5.4.
95
No 1 2 3 4 5 6 7
Query create table kehadiran ( idkehadiran varchar(20) primary key not null, NIS varchar(20) not null, genap int not null, ganjil int not null, ratakeha float, foreign key (NIS) references siswa(NIS))
Gambar 5.4. Query Tabel Kehadiran 3. Tabel Nilai Tabel nilai merupakan tabel yang berisi nilai rata-rata siswa yang akan digunakan untuk proses seleksi pada aplikasi seleksi beasiswa ini. Desain dari tabel kehadiran tersebut dapat dilihat pada Gambar 5.5.
Gambar 5.5. Tabel Nilai Siswa Dari gambar tabel nilai di atas dapat dilihat bahwa tabel nilai terdiri dari idnilai yang berfungsi sebagai primary key, NIS, tahun ajaran, dan nilai rata-rata dari siswa. Untuk query dari tabel tersebut dapat di lihat di Gambar 5.6. No 1 2 3 4 5 6 7 8
Query Create table Nilaisiswa( idnilai varchar(20) not null primary key, NIS varchar(20) not null, tahunajaran varchar(6)not null, nilaigenap int not null, nilaiganjil int not null, ratanilai float not null, foreign key (NIS) references siswa(NIS))
Gambar 5.6. Query Tabel Nilai Siswa
96
4. Tabel Pengguna Tabel pengguna merupakan tabel yang berisi data user atau pengguna dari aplikasi seleksi beasiswa ini. Desain dari tabel pengguna tersebut dapat dilihat pada Gambar 5.7.
Gambar 5.7. Tabel Pengguna Dari gambar tabel pengguna di atas dapat dilihat bahwa tabel pengguna terdiri dari iduser yang berfungsi sebagai primary key sekaligus sebagai user name yang di gunakan untuk login, namauser, password, dan hak akses pengguna. Untuk query dari tabel tersebut dapat di lihat di Gambar 5.8 No 1 2 3 4 5
Query create table pengguna( iduser varchar(20) primary key not null, Namauser varchar(20) not null, pass varchar(15) not null, hak varchar(10) not null
Gambar 5.8. Query Tabel Pengguna
97
5. Tabel Siswa Tabel nilai merupakan tabel yang berisi data dari siswa yang akan digunakan untuk proses seleksi pada aplikasi seleksi beasiswa ini. Desain dari tabel kehadiran tersebut dapat dilihat pada Gambar 5.9.
Gambar 5.9. Tabel Siswa Dari gambar tabel siswa di atas dapat dilihat bahwa tabel siswa terdiri dari NIS yang berfungsi sebagai primary key, nama siswa, tanggungan orang tua, dan pendapatan orang tua. Untuk query dari tabel tersebut dapat di lihat di Gambar 5.10. No 1 2 3 4 5
Query Create Table Siswa( Nis varchar(20) not null primary key, Namasiswa varchar(20) not null, Tanggungan int not null, Pendapatan int not null)
Gambar 5.10. Query Tabel Siswa
98
6. Tabel Fuzzy Tabel fuzzy merupakan tabel yang berisi nilai hasil dari fuzzifikasi dari setiap siswa yang akan digunakan untuk proses seleksi pada aplikasi seleksi beasiswa ini. Desain dari tabel fuzzy tersebut dapat dilihat pada Gambar 5.11.
Gambar 5.11. Tabel Fuzzy Dari gambar tabel fuzzy di atas dapat dilihat bahwa tabel fuzzy terdiri dari idfuzzy yang berfungsi sebagai primary key, NIS, tahun ajaran, dan nilai dari hasil fuzzifikasi. Untuk query dari tabel tersebut dapat di lihat di Gambar 5.12. No 1 2 3 4 5 6 7 8 9
Query create table fuzzy( idfuzzy varchar(20) not null primary key, nis varchar(20) not null, ftanggungan float not null, fpendapatan float not null, fratakeha float not null, fratanilai float not null, tahunajaran varchar(6) not null, foreign key (NIS) references siswa(NIS))
Gambar 5.12 Query Tabel Fuzzy
99
7. Tabel Saw Bantuan Tabel SAW bantuan merupakan tabel yang berisi nilai hasil dari seleksi yang di lakukan setelah pembobotan. Desain dari tabel SAW bantuan tersebut dapat dilihat pada Gambar 5.13.
Gambar 5.13. Tabel SAW Bantuan Dari gambar tabel SAW bantuan di atas dapat dilihat bahwa tabel SAW bantuan terdiri dari idsawb yang berfungsi sebagai primary key, NIS, tahun ajaran, dan nilai dari hasil perhitungan dari pembobotan. Untuk query dari tabel tersebut dapat di lihat di Gambar 5.14. No 1 2 3 4 5 6 7 8 9
Query create table sawbantuan( idsawb varchar(20) not null primary key, nis varchar(20) not null, stanggunganb float not null, spendapatanb float not null, sratakehab float not null, sratanilaib float not null, tahunajaranb varchar(6) not null, foreign key (NIS) references siswa(NIS))
Gambar 5.14 Query Tabel SAW Bantuan
100
8. Tabel Saw Prestasi Tabel SAW prestasi merupakan tabel yang berisi nilai hasil dari seleksi yang di lakukan setelah pembobotan. Desain dari tabel SAW prestasi tersebut dapat dilihat pada Gambar 5.14.
Gambar 5.15. Tabel SAW Prestasi Dari gambar tabel SAW prestasi di atas dapat dilihat bahwa tabel SAW prestasi terdiri dari idsawp yang berfungsi sebagai primary key, NIS, tahun ajaran, dan nilai dari hasil perhitungan dari pembobotan. Untuk query dari tabel tersebut dapat di lihat di Gambar 5.16. No 1 2 3 4 5 6 7 8 9
Query create table sawprestasi( idsawp varchar(20) not null primary key, nis varchar(20) not null, stanggunganp float not null, spendapatanp float not null, sratakehap float not null, sratanilaip float not null, tahunajaranp varchar(6) not null, foreign key (NIS) references siswa(NIS))
Gambar 5.16 Query Tabel SAW Prestasi
101
5.1.2.2 Implementasi Modul Program Nama Proyek
: Seleksi Beasiswa
Directory
: ..\Seleksi Beasiswa
Tabel 5.2 Implementasi Modul Program No. 1.
2.
Nama Modul Seleksi Beasiswa
Hasil Implementasi MenuUtama.vb
Olah Data Master
Procedure Siswa click Procedure Pengguna click
Olah Data Penilaian
Procedure DataBobot click Procedure DataPenilaian click Procedure Fuzzifikasi click Procedure SAW click
Olah Data Fuzzy SAW 3.
Tambah Data Siswa
4.
Tambah Data Pengguna
Siswa.vb Procedure btSimpan Procedure btHapus Procedure btBatal Procedure btCetak Pengguna.vb Procedure btSimpan Procedure btHapus Procedure btBatal Procedure btCetak
Keterangan Unit yang mewakili modul utama Prosedur untuk menampilkan Form Siswa Prosedur untuk menampilkan Form Pengguna Prosedur untuk menampilkan Form Bobot Prosedur untuk menampilkan Form Penilaian Prosedur untuk menampilkan Form Fuzzifikasi Prosedur untuk menampilkan Form SAW Unit Penambahan Data Siswa Prosedur untuk Merekam Data Prosedur untuk Menghapus Data Prosedur untuk Meng-cancel proses Input Data Prosedur untuk Mencetak Data Unit Penambah Data Pengguna Prosedur untuk Merekam Data Prosedur untuk Menghapus Data Prosedur untuk Meng-cancel proses Input Data Prosedur untuk Mencetak Data
102
Tabel 5.2 Implementasi Modul Program (Lanjutan) No. 5.
6.
Nama Modul Tambah Data Bobot
Tambah Data Penilaian
7.
Lihat Data Fuzzy
8.
Lihat Data Saw
Hasil Implementasi Bobot.vb Procedure btSimpan Procedure btHapus Procedure btBatal Procedure btCetak Penilaian.vb Procedure btSimpan Procedure btHapus Procedure btBatal Procedure btCetak Fuzzy.vb Procedure btCari Saw.vb Procedure btCari
Keterangan Unit Penambah Data Bobot Prosedur untuk Merekam Data Prosedur untuk Menghapus Data Prosedur untuk Meng-cancel proses Input Data Prosedur untuk Mencetak Data Unit Penambah Data Penilaian Prosedur untuk Merekam Data Prosedur untuk Menghapus Data Prosedur untuk Meng-cancel proses Input Data Prosedur untuk Mencetak Data Unit Meliat Data Fuzzy Prosedur untuk Mencari Data Unit Melihat Data Saw Prosedur untuk Mencari Data
5.1.2.3 Implementasi Antar Muka Pemakai Tabel 5.3 Hasil Implementasi Antarmuka Pemakai No. 1.
Antar Muka Struktur Menu Program
Hasil Implementasi MenuUtama.vb
2.
Entry Data Siswa
Siswa.vb
3.
Entry Data Pengguna
Pegguna.vb
4.
Entry Data Bobot
Bobot.vb
5.
Entry Data Penilaian
Penilaian.vb
6.
Lihat Data Fuzzifikasi
Fuzzy.vb
7.
Buat Laporan Data Siswa
Rptsiswa.rpt
8.
Buat Laporan Data Bobot
Rptbobot.rpt
Keterangan Form Menu Utama Program Form Untuk Menambah Data Siswa Form Untuk Menambah Data Pengguna Form Untuk Menambah Data Bobot Form Untuk Menambah Data Penilaian Form Untuk Melihat Data Fuzzifikasi Form Untuk Mencetak Laporan Siswa Form Untuk Mencetak Laporan Bobot
103
Tabel 5.3. Hasil Implementasi Antar Muka Pemakai (Lanjutan) No. 9.
Antar Muka Buat Laporan Penilaian
Hasil Implementasi Rptnilai.rpt
10.
Buat Laporan Fuzzy
Rptfuzzy.rpt
11.
Buat Laporan Bantuan
Rptbantuan.rpt
12.
Buat Laporan Prestasi
Rptprestasi.rpt
Keterangan Form Untuk Mencetak Laporan Penilaian Form Untuk Mencetak Laporan Fuzzy Form Untuk Mencetak Laporan Bantuan Form Untuk Mencetak Laporan Prestasi
1. Struktur Menu Program (Admin) Menu Utama Administrator Menu utama untuk user level admin dapat dilihat pada Gambar 5.17 untuk Adapun kode programnya dapat dilihat pada lampiran A1.
Gambar 5.17 Menu Utama Administrator Menu Utama Untuk Kepala Sekolah Menu utama untuk user level kepsek dapat dilihat pada Gambar 5.18.
Gambar 5.18 Menu Utama Kepala Sekolah
104
Menu Utama Wali Kelas Menu utama untuk user level walikelas dapat dilihat pada Gambar 5.19.
Gambar 5.19 Menu Utama Wali Kelas
2. Entry Data Siswa Form untuk mengolah data siswa dapat dilihat pada Gambar 5.20 untuk Adapun kode programnya dapat dilihat pada lampiran A2.
Gambar 5.20 Entry Data Siswa 3. Entry Data Pengguna Form untuk mengolah data user dapat dilihat pada Gambar 5.21 untuk Adapun kode programnya dapat dilihat pada lampiran A3.
Gambar 5.21 Entry Data Pengguna
105
4. Entry Data Bobot Form untuk mengolah data bobot dapat dilihat pada Gambar 5.22 untuk Adapun kode programnya dapat dilihat pada lampiran A4.
Gambar 5.22 Entry Data Bobot 5. Entry Data Penilaian Form untuk mengolah data penilian dapat dilihat pada Gambar 5.23 untuk Adapun kode programnya dapat dilihat pada lampiran A5.
Gambar 5.23 Entry Data Penilaian
106
6. Lihat Data Fuzzy Form lihat data fuzzy memiliki dua buah tabel yang menunjukkan data sebelum dan sesudah fuzzifikasi. Untuk form lihat data fuzzy dapat dilihat pada Gambar 5.24
Gambar 5.24. Form Fuzzifikasi Dari gambar di atas dapat dilihat bahwa tabel di kiri merupakan data sebelum fuzzifikasi dan tabel di kanan merupakan data sesudah fuzzifikasi. Untuk koding dari form fuzzifikasi ini dapat di lihat di Gambar 5.25. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Text >= 5000000 Then TextBox3.Text = 0.3 ElseIf TextBox1.Text > 3000000 Then TextBox3.Text = (((5000000 TextBox1.Text) / 2000000) * 0.3) + 0.3 ElseIf TextBox1.Text = 3000000 Then TextBox3.Text = 0.6 ElseIf TextBox1.Text > 1000000 Then TextBox3.Text = (((3000000 TextBox1.Text) / 2000000) * 0.3) + 0.6 Else TextBox3.Text = 0.9 End If End Sub
Gambar 5.25 Kode program dari form Fuzzifikasi
107
Dari Gambar 5.25 di atas dapat dilihat query dari baris 4 sampai 16 merupakan fungsi if untuk menyeleksi nilai fuzzy yang sesuai dari pendapatan orang tua dengan aturan yang telah ditetapkan sebelumnya. 7. Lihat Data SAW Form lihat data SAW memiliki dua buah tabel yang menunjukkan data sebelum dan sesudah pembobotan SAW. Untuk form lihat data SAW dapat dilihat pada Gambar 5.26.
Gambar 5.26. Form Hasil SAW Dari gambar di atas dapat dilihat bahwa tabel di atas merupakan data sebelum perhitungan SAW dan tabel di bawah merupakan data sesudah perhitungan SAW. Untuk koding dari form Hasil SAW ini dapat dilihat di Gambar 5.27.
108
1 2 3 4 5 6 7
Sub maxtang() With saw If .ftanggungan.Text > .maxftang.Text Then .maxftang.Text = .ftanggungan.Text End If End With End Sub
Gambar 5.27 Kode program dari form SAW sub maxtanggungan Dari Gambar 5.27 dapat dilihat query dari baris 3 dan 4 merupakan fungsi if untuk mencari
nilai max dari hasil fuzzy tanggungan yang telah ada
sebelumnya dengan cara membandingkan nilai max tersebut dengan nilai fuzzy yang lainnya. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Sub sawbantuan() With saw .spendapatanb.Text = FormatNumber(((.minfpend.Text / .fpendapatan.Text) * (.bpendb.Text / 100)), 2) .stanggunganb.Text = FormatNumber(((.ftanggungan.Text / .maxftang.Text) * (.btangb.Text / 100)), 2) .sratakehab.Text = FormatNumber(((.fratakeha.Text / .maxfkeha.Text) * (.bkehab.Text / 100)), 2) .sratanilaib.Text = FormatNumber(((.fratanilai.Text / .maxfnilai.Text) * (.bnilaib.Text / 100)), 2) .totalsb.Text = FormatNumber(((.spendapatanb.Text * 1) + (.stanggunganb.Text * 1) + (.sratakehab.Text * 1) + (.sratanilaib.Text * 1)), 2) End With End Sub
Gambar 5.28 Kode program dari form SAW sub sawbantuan Dari Gambar 5.28 dapat dilihat query pada baris 3 dan 4 perhitungan dari saw bantuan pendapatan dilakukan dengan cara nilai minimal dari hasil fuzzy pendapatan di bagi dengan fuzzy pendapatan siswa A lalu dikalikan dengan nilai bobot pendapatan yang sudah didesimalkan. Pada baris 5 dan 6 dapat dilihat perhitungan dari saw bantuan tanggungan dilakukan dengan cara nilai fuzzy tanggungan siswa A di bagi nilai maksimum dari fuzzy tanggungan lalu dikali nilai bobot dari tanggungan yang sudah didesimalkan.
109
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Sub sawprestasi() With saw .spendapatanp.Text = FormatNumber(((.minfpend.Text / .fpendapatan.Text) * (.bpendp.Text / 100)), 2) .stanggunganp.Text = FormatNumber(((.ftanggungan.Text / .maxftang.Text) * (.btangp.Text / 100)), 2) .sratakehap.Text = FormatNumber(((.fratakeha.Text / .maxfkeha.Text) * (.bkehap.Text / 100)), 2) .sratanilaip.Text = FormatNumber(((.fratanilai.Text / .maxfnilai.Text) * (.bnilaip.Text / 100)), 2) .totalsp.Text = FormatNumber(((.spendapatanp.Text * 1) + (.stanggunganp.Text * 1) + (.sratakehap.Text * 1) + (.sratanilaip.Text * 1)), 2) End With End Sub
Gambar 5.29 Kode program dari form SAW sub sawprestasi Dari Gambar 5.29 dapat dilihat query pada baris 3 dan 4 perhitungan dari saw prestasi pendapatan dilakukan dengan cara nilai minimal dari hasil fuzzy pendapatan di bagi dengan fuzzy pendapatan siswa A lalu dikalikan dengan nilai bobot pendapatan yang sudah didesimalkan. Pada baris 5 dan 6 dapat dilihat perhitungan dari saw prestasi tanggungan dilakukan dengan cara nilai fuzzy tanggungan siswa A di bagi nilai maksimum dari fuzzy tanggungan lalu dikali nilai bobot dari tanggungan yang sudah didesimalkan. 5.2
Pengujian Perangkat Lunak
5.2.1 Lingkungan Pengujian Menjelaskan lingkungan pengujian yaitu perangkat keras dan perangkat lunak sistem yang digunakan untuk menguji perangkat lunak yang dihasilkan. Konfigurasi Perangkat Keras a. Proccessor Intel Core 2 Duo 2,2 GHz b. RAM dengan kapasitas 2 Gb c. Harddisk dengan kapasitas 320 Gb d. Color Monitor 15” e. Jet Printer EPSON Stylus T11 Series
110
Perangkat Lunak 1. Bahasa Pemrograman Microsoft Visual Basic.Net 2008 2. Laporan Dengan Crystal Report v.8 3. Database Microsoft SQL Server 2000 4. Sistem Operasi : Windows XP 5.2.2 Pelaksanaan Pengujian Menjelaskan bentuk-bentuk pengujian perangkat lunak yang dilaksanakan, diantaranya : Tabel 5.4 Bentuk-bentuk pengujian yang dilaksanakan Bentuk Pengujian Pengujian Unit Program
Metode Pengujian Black Box
2.
Pengujian Integrasi
Black Box
3.
Pengujian Validasi
Black Box
No. 1.
Data Uji yang Digunakan Data Sembarang yang mewakili data Siswa, Bobot, Nilai dan Pengguna. Data Sembarang yang mewakili data Siswa, Bobot, Nilai dan Pengguna.
Data Sembarang yang mewakili data Siswa, Bobot, Nilai dan Pengguna.
Keterangan Menguji Kebenaran Unit secara Fungsional. Menguji Kebenaran unitunit dan modulmodul program yang saling berkaitan. Menguji kesesuaian perangkat lunak yang dihasilkan dengan kebutuhan yang sudah didefinisikan.
111
5.3.3 Hasil Pengujian Menjelaskan hasil dari pengujian perangkat lunak yang telah dilaksanakan pada pengujian validasi. Tabel 5.5 Hasil Pelaksanaan Pengujian Validasi No. 1.
Deskripsi Pengujian Menguji penambahan Data Siswa
Kebutuhan Skenario yang Diuji Pengujian REQ-110 Ketikkan data secara lengkap dan benar, kemudian klik tombol Save REQ-120 Ketikkan data secara lengkap dan benar, kemudian klik tombol Save
2.
Menguji penambahan Data Pengguna
3.
Menguji REQ-130 penambahan Data Nilai dan Absensi Siswa
Ketikkan data secara lengkap dan benar, kemudian klik tombol Save
4.
Menguji penambahan Data Bobot
REQ-210
5.
Menguji Pencarian Data Fuzzy
REQ-220
6.
Menguji Pencarian Data SAW
REQ-230
Ketikkan data secara lengkap dan benar, kemudian klik tombol Save Ketikan tahun ajaran, lalu klik tombol cari Ketikan tahun ajaran, lalu klik tombol cari
Hasil yang Hasil Diharapkan Pengujian Data Siswa terekam setelah OK record terakhir Data Pengguna terekam OK setelah record terakhir Data Penilaian terekam OK setelah record terakhir Data Bobot terekam setelah OK record terakhir Data yang sesuai tahun OK ajaran muncul Data yang sesuai tahun OK ajaran muncul