SKRIPSI
Disusun Oleh :
HAMONANGAN DAMANIK
2014020947
SekolahTinggiManajemenInformatikaDan Komputer
TRIGUNA DHARMA
MEDAN
2015
SISTEM PENDUKUNG KEPUTUSAN CALON PENERIMA BEASISWA
PADA AMIK TUNAS BANGSA PEMATANGSIANTAR DENGAN
METODE SIMPLE ADDITIVE WEIGHTING
HAMONANGAN DAMANIK
2014020947
SKRIPSI
Diajukan
Sebagai Persyaratan Untuk Meraih Gelar
Sarjana Komputer
Pada Program Studi Sistem Informasi
SekolahTinggiManajemenInformatikaDan Komputer
TRIGUNA DHARMA
MEDAN
2015
LEMBAR PERSETUJUAN
SKRIPSI
Disusun oleh :
HAMONANGAN DAMANIK
2014020947
(DARJAT SARIPURNA, S.KOM., M. KOM) (SAIFUL NUR ARIF, SE, S. KOM., M. KOM)
SKRIPSI
HAMONANGAN DAMANIK
2014020947
(NURCAHYO BUDI NUGROHO, S.KOM., M.KOM) (Muhammad Dahria, SE., S.Kom., M.Kom)
(SAIFUL NUR ARIF, S.E, S. KOM, M. KOM) (BENI ANDIKA, ST, S. KOM, M. KOM)
PERNYATAAN
Bila dikemudian hari ternyata terbukti bahwa skripsi ini adalah plagiat ataupun
bukan saya yang mengerjakannya, maka saya bersedia dikenakan sanksi
yang telah ditetapkan oleh Program Studi STMIK TRIGUNA DHARMA
yakni pencabutan ijazah yang telah saya terima dan ijazah tersebut
dinyatakan tidak sah.
Hamonangan Damanik
KATA PENGANTAR
Segala puji dan syukur penulis penjatkan kehadirat Tuhan Yang Maha Esa
atas berkat rahmat dan karunia-nya, sehingga penulis dapat menyelesaikan skripsi
baik.
Skripsi ini ditulis sebagai syarat untuk mencapai gelar sarjana (S1) di
kesabaran, telah mengasuh dan mendidik penulis sejak kecil, berkat doa, cinta
semuanya telah penulis sesalkan, itu karena kebesaran hati dan sikap yang tidak
berjuang. Semoga ini mampu menjadi cita-cita mulia kalian. Doa tulus penulis
untuk mereka “Ya Allah ya Tuhanku sayangi dan bahagiakanlah mereka berdua,
sehatkan dan panjangkan umur mereka ya Allah”, serta untuk semua keluarga
bimbingan,arahan dan bantuan dari berbagai pihak yang sangat mendukung. Oleh
karena itu dengan segala kerendahan hati, penulis ingin mengucapkan terimakasih
kepada semua pihak yang telah memberikan dukungan baik moral maupun materi
i
sehingga penulis dapat menyelesaikan skripsi ini dan sekaligus mencapai
1. Bapak Saiful Nur Arif, SE, S.Kom, M.Kom, Selaku Ketua STMIK
Informasi.
semuanya atas berkat dukungan dan doanya penulis mampu menyelesaikan skripsi
ini.
kekurangan. Oleh karena itu kritik dan saran sangat diperlukan untuk perbaikan
dimasa mendatang. Dan semoga skripsi ini dapat bermanfaat terutama bagi
Hamonangan Damanik
NIRM : 2015020947
ii
ABSTRAK
AMIK Tunas Bangsa adalah salah satu perguruan tinggi yang secara
rutin memberikan bantuan dana beasiswa kepada mahasiswa yang kurang
mampu untuk mengurangi beban dari biaya kuliah yang mereka jalani, banyak
yang mendaftar sebagai peserta beasiswa membuat perguruan tinggi tersebut
kesulitan dalam menangani pengolahan data secara manual dan perlu perangkat
lunak untuk mempermudah pengolahan data mahasiswa yang berhak
mendapatkan beasiswa tersebut.
Syarat-syarat dari pada mendapatkan beasiswa diantaranya untuk
beasiswa kurang mampu di lihat dari penghasilan orangtua yang terendah.
Penentuan kriteria yang dapat menerima beasiswa ditentukan dari penghasilan
orangtua, usia, semester, jumlah tanggungan orangtua, dan nilai Indeks Prestasi
Komulatif (IPK). Setelah itu, digunakan metode SAW (Simple Additive Weighting)
pada sebuah sistem pendukung keputusan yang dimulai dari menentuan kriteria,
pemberian nilai bobot, melakukan proses normalisasi, perangkingan dan
pemilihan nilai akhir tertinggi yang disesuaikan dengan jumlah penerima
beasiswa. Kemudian untuk merancang sebuah sistem pendukung keputusan
diperlukan beberapa tahap yaitu dengan mengetahui Diagram Use Case sistem
pendukung keputusan tersebut, dan menerapkannya ke dalam suatu
software/program yang akan dibangun menggunakan bahasa pemrograman
visual berbasis desktop.
Sistem pendukung keputusan calon penerima beasiswa pada AMIK Tunas
Bangsa Pematangsiantar dengan Metode Simple Additive Weighting (SAW) ini
dapat menghasilkan alternatif terbaik, sehingga seleksi penerimaan calon
mahasiswa penerima beasiswa dapat berjalan secara tepat dan sesuai dengan
yang diharapkan.
iii
DAFTAR ISI
iv
3.4.3 Activity Diagram ........................................................................................... 42
3.4.4 Class Diaram ................................................................................................ 43
3.5 Rancangan Database .............................................................................................. 43
3.6 Perancangan Sistem ............................................................................................... 46
v
DAFTAR GAMBAR
vi
DAFTAR TABEL
vii
BAB I
PENDAHULUAN
maka harus sesuai dengan aturan yang telah ditetapkan. Kriteria yang ditetapkan
antara lain indeks prestasi akademik, pengasilan orang tua, jumlah saudara
kandung, jumlah tanggungan orang tua, semester dan lain-lain. Oleh sebab itu
yang banyak dan kriteria penilaian yang banyak pula, maka perlu dibangun suatu
penerima beasiswa.
alternatif terbaik dari sejumlah alternatif yang ada. Sehingga dapat membantu para
1
2
Berdasarkan latar belakang yang telah diuraikan maka penulis bermaksud untuk
masalahsebagai berikut :
dan akurat?
luasnya bidang yang dihadapi maka ruang lingkup masalah dibatasi sebagai
berikut:
digunakan sebagai proses seleksi calon pergawai dengan tepat dan akurat
beasiswa.
.
1.5 Manfaat Penelitian
Bangsa Pematangsiantar.
kelayakan penerimaan.
1. Studi Literatur
mempelajari data dan membaca berbagai referensi baik itu buku, jurnal,
2. Analisa
Pada tahap ini dilakukan analisa permasalahan dan kebutuhan sistem yang
akan dibuat.
3. Perancangan.
4. Pengkodean.
2010
.
5
Pada tahap ini dilakukan pengujian kinerja aplikasi yang telah dibuat
6. Penyusunan Laporan
BAB I :PENDAHULUAN
Bab ini berisi tentang bagaimana alur sistem kerja program sistem
LANDASAN TEORI
semistruktur dan situasi yang terstruktur, dimana tidak seorang pun tahu secara
atas suatu masalah atau untuk mengevaluasi suatu peluang. Sistem Pendukung
Keputusan yang seperti itu disebut dengan Aplikasi DSS. Aplikasi DSS
manajemen dalam melakukan pekerjaan yang bersifat analitis dalam situasi yang
7
8
model tersedia.
tersetuktur.
perbaiakn efesiensinya.
untuk melakukan banyak komputasi secara cepat dengan biaya yang rendah.
dibuat.
1. SPK Sepesifik
2. Pembangkit SPK
3. Perlengkapan SPK
Inilah dukungan terendah yang bisa diberikan oleh DSS, yakni berupa akses
Dalam tahapan ini, para manajer diberi akses untuk melihat dan menganalisis
file secara lengkap. Misalnya, manajer bisa membuat laporan khusus penilaian
Dalam tahapan ini, manajr dimungkinkan untuk melihat dampak dari setiap
5. Propose Decision
Dukungan di tahapan ini sedikit lebih maju lagi. Suatu alternatif keputusan bisa
6. Make Decision
Ini adalah jenis dukungan yang sangat diharapkan dari DSS. Tahapan ini akan
untuk dijalankan.
2. Perancangan (Design)
Pada tahapan ini akan diformulasikan model yang akan digunakan dan
kriteria-kriteria yang ditentukan. Setelah itu, dicari alternatif model yang bisa
3. Pemilihan (Choice)
4. Membuat DSS
sebagai berikut:
Subsistem manajemen data memasukkan satu database yang berisi data yang
relevan untuk suatu situasi dan dikelola oleh perangkat lunak yang disebutkan
pengambilan keputusan.
Perangkat lunak itu sering disebut sistem manajemen basis model (MBMS).
12
kontribusi unik dari sistem pendukung keputusan berasal dari interaksi yang
yang digunakan untuk mencari alternatif optimal dari sejumlah alternatif dengan
kriteria tertentu. Inti dari FMADM adalah menentukan nilai bobot untuk setiap
alternatif yang sudah diberikan. Pada dasarnya, ada 3 pendekatan untuk mencari
beberapa faktor dalam proses perankingan alternatif bisa ditentukan secara bebas.
diberikan.
penjumlahan terbobot darirating kinerja pada setiap alternatif pada semua atribut.
penjumlahan terbobot dari rating kinerja pada setiap alternatif pada semua atribut.
matriks keputusan (X) ke suatu skala yang dapat diperbandingkan dengan semua
rating alternatif yang ada. Metode ini merupakan metode yang paling terkenal dan
Making (MADM). MADM itu sendiri merupakan suatu metode yang digunakan
untuk mencari alternatif optimal dari sejumlah alternatif dengan kriteria tertentu.
keputusan menentukan bobot bagi setiap atribut. Skor total untuk alternatif
diperoleh dengan menjumlahkan seluruh hasil perkalian antara rating (yang dapat
dibandingkan lintas atribut) dan bobot tiap atribut. Rating tiap atribut haruslah
bebas dimensi dalam arti telah melewati proses normalisasi matriks sebelumnya.
ternormalisasi R.
𝑥𝑖𝑗
𝑗𝑖𝑘𝑎 𝑗 𝑎𝑑𝑎𝑙𝑎ℎ 𝑎𝑡𝑡𝑟𝑖𝑏𝑢𝑡 𝑘𝑒𝑢𝑛𝑡𝑢𝑛𝑔𝑎𝑛 (𝑏𝑒𝑛𝑒𝑓𝑖𝑡)
𝑚𝑎𝑥 𝑥𝑖𝑗
𝑟𝑖𝑗 =
𝑚𝑖𝑛𝑥𝑖𝑗
𝑗𝑖𝑘𝑎 𝑗 𝑎𝑑𝑎𝑙𝑎ℎ 𝑎𝑡𝑡𝑟𝑖𝑏𝑢𝑡 𝑏𝑖𝑎𝑦𝑎 (𝑐𝑜𝑠𝑡)
{ 𝑥𝑖𝑗
Dimana :
Dengan rij adalah rating kinerja ternormalisasi dari alternatif Ai pada atribut
𝑛𝑖
𝑣𝑖 = ∑ 𝑤𝑖𝑟𝑖𝑗
𝑗=1
Dimana :
(aeroyid, 2014).
16
Kriteria
Alternatif
C1 C2 C3 C4
Indra 70 50 80 60
Roni 50 60 82 70
Putri 85 55 80 75
Dani 82 70 65 85
Ratna 75 75 85 74
Mira 62 50 75 80
- Proses normalisasi:
70 70
r11 0,82
max 70;50;85;82;75;62 85
70 50
r21 0,59
max 70;50;85;82;75;62 85
50 50
r12 0,67
max 50;60;55;70;75;50 75
60 60
r22 0,80
max 50;60;55;70;75;50 75
- Dengan kata lain, Ratna akan terpilih sebagai kepala unit sistem
informasi.
model sekuensial linier (clasic life cycle/waterfall model) sering disebut Model
Pada tahapan ini dilakukan pengumpulan kebutuhan pada level sistem yaitu
komputer.
(Perangkat Lunak) yang berupa data input, proses yang terjadi dan output
3. Perancangan (Design)
(algoritma).
4. Pengkodean (Coding)
Hasil rancangan di atas diubah menjadi bentuk yang dimengerti oleh mesin
5. Pengujian (Testing)
6. Perawatan (Maintenance)
Pada tahap ini sistem informasi (PL) yang telah diuji (bebas dari kesalahan
pemeliharaan ini penting dan dapat berpengaruh pada semua tahap yang
dilakukan sebelumnya.
19
untuk menelaah perilaku perangkat lunak secara seksama serta bermanfaat untuk
serta OOSE (Object Oriented Software Engineerng) yang dikembangkan oleh Ivar
Jacobson, dan beberapa metode lainnya merupakan metodologi yang paling sering
sistem (sering dinamakan sebagai actor). Menurut Nugroho (2010:34) “Use Case
20
sebagai transaksi-transaksi yang terjadi antara actor dan sistem”. Kegunaan dari
View Use Case adalah untuk mendaftarkan actor-actor dan Use Case -Use Case
Use Case . Sebuah actor merupakann idealisasi dari orang yang ada di luar
sesuatu yang berinteraksi dengan sistem, sub sistem, atau kelas pada sistem
elips dengan nama Use Case di dalamnya atau di bagian bawahnya. Use Case
mandiri, deskripsi suatu Use Case pada dasarnya bisa diuraikan ke Use Case -Use
Case lain yang bersifat lebih sederhana. Suatu Use Case dapat secara sederhana
menggabungkan perilaku Use Case yang lain sebagai bagian dari perilakunya
sendiri, hal ini dinamakan sebagai relasi include. Suatu Use Case juga bisa
didefenisikan sebagai penambahan inkremental pada suatu Use Case dasar, hal ini
<<extend>>.
21
lain/perlakuan khusus
Object adalah gambaran dari entity, baik dunia nyata atau konsep dengan
batasa-batasan dan pengertian yang tepat. Object bisa mewakili sesuatu yang
nyata seperti komputer, mobil, atau dapat berupa konsep seperti proses kimia,
transaksi bank, pemintaan pembelian, dan sebagainya. Setiap object dalam sistem
(identitas).
22
Metode serta data yang dikendalikan oleh suatu kelas tertentu dan tidak dapat
diakses oleh objek-objek yang berbeda kelas. Satu ciri metode sharing yang
Metode sera operasi serta atribut yang bersifat protected hanya bisa diakses
Metode dan peubah dalam suatu kelas yang dapat diakses oleh kelas-kelas
keadaan tertentu adalah saat kelas-kelas berada dalam paket (package) atau
mungkin tarjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat
suatu operassi sehingga dapat juga digunakan untuk aktivitas lainnya seperti Use
Case .
Activity aplikasi
Activity
pilihan kedua
Sumber : Jogiyanto,2007
untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas
24
tersebut, proses dan perubahan apa saja secara internal dan output apa yang
dihasilkan.
2.6 Flowchart
dari sistem”. Menurut Jogianto H.M (2007:103) “Flowchart adalah bagian (chart)
yang menunjukkan alir (Flow) di dalam suatu program atau prosedur sistem
secara logika. Bagan alir ini digunakan untuk alat bantu komunikasi dan untuk
dokumentasi”.
Visual Basic merupakan salah satu bahasa pemprogram yang andal dalam
Visual Basic 2008 merupakan teknologi terbaru yang masuk ke dalam Visual
Studio 2008 bersama dengan C#, C++, dan lainnya. Mulai tahun 2002 Visual
pemprograman. Teknologi .Net yang dipakai pada Visual Basic 2008 adalah .Net
Visual untuk merancang user interface dalam bentuk form, sedangkan untuk
dalam user interface, dan baru dilakukan penulisan kode program untuk
pemrograman berorientasi objek yang dapat dilihat sebagai evolusi dari Microsoft
yang dilakukan oleh Microsoft, dan versi baru ini tidak kompatibel dengan versi
terdahulu. Versi ini merupakan versi terbaru yang dirilis oleh Microsoft pada
2008, Microsoft Visual C++ 2008, dan Microsoft .NET Framework 3.5.
27
basis data Microsoft Jet Database Engine, dan juga menggunakan tampilan grafis
sederhana.
Access untuk mengembangkan aplikasi secara cepat atau yang sering disebut
program yang lebih besar dan aplikasi yang berdiri sendiri untuk para salesman.
semua table basis data, kueri, form, dan report disimpan di dalam berkas basis
Design Grid, sebuah program berbasis grafis yang mengizinkan para penggunanya
yang digunakan di dalam Microsoft Access adalah Microsoft Visual Basic for
28
lainnya.
Fasilitas ini dapat membuat program database dengan mudah secara visual, salah
merupakan format standar untuk Visual Basic. Pemakaian Microsoft Access dapat
Access adalah merupakan program aplikasi yang dapat mengelola seluruh data ke
Database atau biasa disebut basis data dalam pembahasan ini merupakan
kumpulan data yang berhubungan dengan suatu objek, topik atau tujuan khusus
tertentu. Database pada Microsoft Access dapat terdiri atas satu atau beberapa
table, query, form, report, page, macro, dan modul yang semuanya berhubungan
1. Table
database.
2. Query
tertentu dari satu table atau lebih. Query dapat juga digunakan untuk
mengubah dan menghapus beberapa record data pada saat yang sama. Selain
sekelompok data. Sebuah query dapat memiliki sumber data sampai dengan
3. Form
Digunakan untuk menampilkan data, mengisi data dan mengubah data yang
ada di dalam table. Ketika membuat form, Microsoft Access akan mengambil
data dari satu tabel atau lebih dan menampilkannya kelayar monitor
menggunakan layout.
4. Report
5. Page
6. Macro
mengelola data.
7. Module
Tabel yang terbentuk dalam suatu database diproses agaar menjadi satu
kesatuan yakni dengan mendefenisikan relasi antar table. Relasi antar table
bekerja dengan mencocokkan data dalam field kunci, biasanya berupa field yang
memiliki nama yang sama pada dua table yang memiliki relasi. Pada umumnya,
field yang besesuaian ini adalah primary key pada table yang satu, yang
30
memberikan identitas unik bagi tiap record dalam table tersebut dan foreign key
pada tabel yang lainnya. Terdapat beberapa jenis relasi antar tabel tersebut yaitu :
Relasi satu ke banyak adalah jenis relasi yang paling umum. Dalam relasi
satu ke banyak, sebuah record data tabel A dapat memiliki banyak record
yang bersesuaian dalam tabel B, tetapi sebuah record dalam tabel B hanya
Dalam relasi banyak ke banyak, sebuah record dalam tabel A dapat memiliki
banyak record yang bersesuaian dengan tabel B, dan sebuah record dalam
tabel B dapat memiliki banyak record yang besesuaian dengan tabel A. Jenis
relasi ini hanya dimungkinkan jika kita mendefenisikan tabel baru sebagai
perantara.
Dalam relasi satu ke satu, setiap record dalam tabel A hanya dapat memiliki
satu record yang bersesuaian dengan tabel B, dan sebaliknya jenis relasi ini
Dalam seleksi calon penerima yang baik memerlukan alat bantu yang
tepat, yang menggunakan komputer sebagai suatu sarana yang dapat membantu
sumber daya manusia untuk mendapatkan banyak informasi secara tepat dan
akurat dengan suatu metode dan perhitungan sistematis yaitu metode SAW,
metode ini dapat memberikan alternatif pilihan. Pada dasarnya metode SAW
31
32
1. Menentukan nilai kriteria Cj pada suatu set alternatif Ai. Beserta bobot
Tabel 3.8. Konversi nilai dari masing-masing kriteria kedalam angka fuzy
Dari data tabel diatas kemudian kita ubah kedalam bentuk matriks
1 0.5 1 1 0.75
ternormaisasi.
𝑥𝑖𝑗
𝑗𝑖𝑘𝑎 𝑗 𝑎𝑑𝑎𝑙𝑎ℎ 𝑎𝑡𝑡𝑟𝑖𝑏𝑢𝑡 𝑘𝑒𝑢𝑛𝑡𝑢𝑛𝑔𝑎𝑛 (𝑏𝑒𝑛𝑒𝑓𝑖𝑡)
𝑚𝑎𝑥 𝑥𝑖𝑗
𝑟𝑖𝑗 =
𝑚𝑖𝑛𝑥𝑖𝑗
𝑗𝑖𝑘𝑎 𝑗 𝑎𝑑𝑎𝑙𝑎ℎ 𝑎𝑡𝑡𝑟𝑖𝑏𝑢𝑡 𝑏𝑖𝑎𝑦𝑎 (𝑐𝑜𝑠𝑡)
{ 𝑥𝑖𝑗
Keterangan
rij = rating kinerja ternormalisasi.
Maxij = nilai maksimum dari setiap baris dan kolom.
Minij = nilai minimum dari setiap baris dan kolom
Xij = nilai attribut yang dimiliki dari setiap kriteria
Benefit = jika nilai terbesar adalah terbaik.
Cost = jika nilai terkecil adalah terbaik.
0.5 0.5
Nurul Syakirah = 𝑀𝑎𝑥 {0.5∶1∶0.25∶0.5∶0.75} = = 0.5
1
0.75 0.75
Andi Suseno = 𝑀𝑎𝑥 {0.5∶1∶0.25∶0.5∶0.75} = = 0.75
1
c. Untuk Status Orang Tua
Jadi :
1 1
Chairunnisa Tanjung = 𝑀𝑎𝑥 {1∶ 0.25∶ 1∶ 0.25∶ 0.25} = 1 = 1
0.25 0.25
Pratiwi = 𝑀𝑎𝑥 {1∶ 0.25∶ 1∶ 0.25∶ 0.25} = = 0.25
1
1 1
Devi Andini Damanik = 𝑀𝑎𝑥 {1∶ 0.25∶ 1∶ 0.25∶ 0.25} = 1 = 1
0.25 0.25
Nurul Syakirah = 𝑀𝑎𝑥 {1∶ 0.25∶ 1∶ 0.25∶ 0.25} = = 0.25
1
0.25 0.25
Andi Suseno = 𝑀𝑎𝑥 {1∶ 0.25∶ 1∶ 0.25∶ 0.25} = = 0.25
1
d. Untuk Semester
Jadi :
1 1
Chairunnisa Tanjung = 𝑀𝑎𝑥 {1∶ 1∶ 1∶ 1∶ 0.5} = 1 = 1
1 1
Pratiwi = 𝑀𝑎𝑥 {1∶ 1∶ 1∶ 1∶ 0.5} = 1 = 1
1 1
Devi Andini Damanik = 𝑀𝑎𝑥 {1∶ 1∶ 1∶ 1∶ 0.5} = 1 = 1
1 1
Nurul Syakirah = 𝑀𝑎𝑥 {1∶ 1∶ 1∶ 1∶ 0.5} = 1 = 1
0.5 0.5
Andi Suseno = 𝑀𝑎𝑥 {1∶ 1∶ 1∶ 1∶ 0.5} = = 0.5
1
e. Untuk IPK
Jadi :
0.75 0.75
Chairunnisa Tanjung = 𝑀𝑎𝑥 {1∶ 1∶ 1∶ 1∶ 0.5} = = 0.75
1
0.75 0.75
Pratiwi = 𝑀𝑎𝑥 {1∶ 1∶ 1∶ 1∶ 0.5} = = 0.75
1
0.50 0.50
Devi Andini Damanik = 𝑀𝑎𝑥 {1∶ 1∶ 1∶ 1∶ 0.5} = = 0.50
1
1 1
Nurul Syakirah = 𝑀𝑎𝑥 {1∶ 1∶ 1∶ 1∶ 0.5} = 1 = 1
0.75 0.75
Andi Suseno = 𝑀𝑎𝑥 {1∶ 1∶ 1∶ 1∶ 0.5} = = 0.75
1
36
𝑣𝑖 = ∑ 𝑤𝑖𝑟𝑖𝑗
𝑗=1
Keterangan :
Vi = Nilai akhir dari alternatif
wj = Bobot yang telah ditentukan
rij = Normalisasi matriks
Jadi :
Chairunnisa Tanjung =(0.30)(1)+ (0.10)(0.5)+(0.10)(1)+(0.20)(1)+(0.30)(0.75)
= 0,3+0,05+0,1+0,2+0,225
= 0,875
Pratiwi =(0.30)(0.75)+(0.10)(1)+(0.10)(0.25)+(0.20)(1)+(0.30)(0.75)
= 0,225+0,1+0,025+0,2+0,225
= 0,775
Devi A. D =(0.30)(0.25)+(0.10)(0.25)+(0.10)(1)+(0.20)(1)+(0.30)(0.50)
= 0,075+0,025+0,1+0,2+0,15
= 0,55
37
Nurul S =(0.30)(0.75)+(0.10)(0.5)+(0.10)(0.25)+(0.20)(1)+(0.30)(0.1)
= 0,225+0,05+0,025+0,2+0,3
= 0,80
Andi S =(0.30)(0.75)+(0.10)(0.75)+(0.10)(0.25)+(0.20)(5)+(0.30)(0.75)
= 0,225+0,075+0,025+0,1+0,225
= 0,65
V5 = 0,65. Nilai terbesar ada pada V1, dengan demikian alternatif Chairunnisa
Nama Nilai
Chairunnisa Tanjung 0.875
Pratiwi 0,775
Devi Andini Damanik 0,55
Nurul Syakirah 0,80
Andi Suseno 0.65
3.3.Rancangan FlowchartProgram
FlowchartProgram adalah suatu simbol yang menerangkan bagaimana
suatu program berjalan dari awal program ditampilkan sampai program selesai
digunakan. Berikut ini adalah flowchart program yang dirancang.
38
Start
Form Pengisian
Data Mahasiwa
Tidak
Apakah data
sudah benar
Ya
Data Diterima
Data diproses
menggunakan
metode SAW
Output hasil
akhir
perangkingan
Selsesai
database.
Login
Data
Mahasiswa
Data Kriteria
User Penilaian
Perhitungan
Untuk memahami lebih jelas, apa saja yang akan dilakukan oleh user dalam
Use Case diagram diatas, maka akan dijelaskan skenario Use Case sebagai
berikut :
Case
Dari Use Case Diagram beserta skenario Use Case diatas dapat
Pengguna Sistem
Menampilkan Form
Kriteria
Menampilkan Form
Penilain
Menyimpan Data
Kedatabase
Kelas (class) adalah defenisi umum untuk himpunan objek sejenis. Kelas
contoh dari sebuah kelas. Class diagram menggambarkan struktur statis class
Bentuk Classdiagram dari sistem yang dibangun dapat dilihat pada gambar
berikut ini:
Mahasiswa
Penilaian
tblPerhitungan
PK NIM
PK IDPenilaian
Nama
NIM
TptLahir NIM
I1 PO
TglLahir PO
JTO
Jenkel JTO
SO
Agama SO
Semester
Alamat Semester
IPK
NoTelp IPK
NmWali Hasil
Kriteria AlamatWali
PekerjaanWali
PK IDKriteria TelpWali
NmKriteria
Bobot
1. Tabel Login
Tabel login berisi attribut-attribut mengenai username dan password yang harus
diinput agar dapat masuk sebagai admin. Tampilan tabel login dapat anda lihat
berikut ini:
44
diinput agar dapat diproses untuk seleksi beasiswa. Tampilan tabel data
diinput agar dapat diproses untuk seleksi beasiswa. Tampilan tabel data penilaian
1 ID Number 10 ID
2 NIM Text 20 NIM
3 PO Text 50 Pendaptan
Orang Tua
4 TO Text 8 Tanggungan
Orang tua
5 SO Text 10 Status Orang
Tua
6 Semester Text 10 Semester
7 IPK Text 50 IPK
diinput agar dapat diproses untuk seleksi beasiswa. Tampilan tabel data penilaian
diinput agar dapat diproses untuk seleksi beasiswa. Tampilan tabel data Kriteria
sebagai berikut:
utama sistem yang memnampilkan menu utama sistem.menu utama pada aplikasi
ini terdiri dari 4 bagian, yaitu file, proses, laporan dimana masing-masing menu
akan terdiri dari beberapa sub menu. Tampilan rancangan menu utama dapat dilihat
Form login merupakan form untuk menerima masukkan data login yang
dibutuhkan saat akan membuka program. Berikut adalah tampilan dari rancangan
form login:
LOGIN USER
Username
Password
Login Batal
Agama
Alamat
ListView
NIM SO
PO Semester
JTO IPK
ListView
ListView
perhitungan:
DATA PENILAIAN
List View
Proses Batal
Form proses hasil rankfing dibuat untuk melihat hasil dari perhitungan dari
masing-masing data mahasiswa. Berikut adalah tampilan dari rancangan form hasil
ranking:
HASIL RANKING
List View
CETAK Keluar
Laporan hasil berfungsi untuk melihat hasil dari proses perhitungan yang
dilakukan, di laporan juga akan terlihat siapa yang berhak mendapatkan beasiswa.
DATA PENILAIAN
Proses Batal
4.1 Implementasi
dioperasikan. Dengan kata lain, tahapan ini merupakan kelanjutan dari tahapan
sebagai berikut :
2. RAM 2 GB
Adapun hasil implementasi form yang telah dirancang pada sistem sebagai
berikut:
Form ini akan tampil pertama kali sewaktu menjalankan program sistem
beasiswa dengan metode Simple Additive Weighting. Pada Form ini akan terdapat
5 menu yaitu menu input data, Proses, Laporan, About dan Log Out. Berikut
52
53
Pada form login, admin harus memasukkan usernam dan password. Jika
username dan password dan kata sandi tidak sesuai maka proses login tidak dapat
dilakukan, Menu login bermanfaat agar tidak sembarangan user bisa mengakses
Pada Form Kategori user bisa melakukan pengolahan data Kategori berupa
menambah, mengubah dan menghapus data Kategori yang terdapat pada database.
55
berupa menambah, mengubah dan menghapus data mahasiswa yang terdapat pada
database.
Pada form penilaian meupakan form yang akan digunakan untuk proses
terlebih dahulu memasukkan nim mahasiswa selanjutnya user mengisi nilai dari
masing-masing kriteria.
metode Simple Additive Weighting, hal pertama yang dilakukan setelah penentuan
nilai dari masing-masing calon pada kriteria yang tersedia, selanjutnya ketika user
57
mengklik button normalisasi maka nilai dari masing kriteria akan berubah menjadi
angka fuzzy yang telah ditentukan. Selanjutnya ketika user mengklik button
hitung makan akan tampil form hitung seperti gambar berikut ini:
Pada form hitung, jika user mengklik button pembobotan maka proses
perhitungan dari baris dan kolom pada table matriks yang diatas yang dikalikan
dengan bobot dari masing-masing kriteria dan hasilnya akan tampil pada table
proses menampilkan data hasil dari perhitungan yang dilakukan pada form
perhitungan, data yang memiliki hasil yang paling tinggi yang akan ditampilkan
paling atas artinya alternatif yang paling atas adalah alternatif yang paling layak
penerima beasiswa.
5.1 Kesimpulan
calon penerima beasiswa pada AMIK Tunas Bangsa Pematangsiantar yang telah
penerima beasiswa dengan tepat dan akurat adalah dengan membangun sebuah
database sebagai media penyimpan data yang diproses dan membuat output
berupa laporan.
5.2 Saran
60
61
1. Pada dasarnya penerapan sistem ini masih sangat sederhana dan tentunya
tampilan pada form, pemberian animasi dan yang lainnya, diharapkan dapat
2. Dalam penelitian ini juga belum dilengkapi dengan sebuah sistem keamanan.
Dan diharapkan bagi user yang bersedia dan mampu dalam memperbaiki
MdlUtama.Vb MsgBox(ex.Message)
Imports System.Data.OleDb End Try
Module mdlUtama
Public Kode As String End Sub
Public DC As DataColumn Public Sub
Public SQL As String TampilList(ByVal lv As
Public CONN As New ListView, ByVal tblname As
OleDbConnection String)
Public SQLCOM As New Try
OleDbCommand lv.View =
Public DR As View.Details
OleDbDataReader lv.FullRowSelect =
Public serper As String True
Public DT As New DataTable lv.GridLines =
Public AD As New True
OleDbDataAdapter koneksi()
Public DS As DataSet SQL = "Select *
Public sukses As Byte from " & tblname
Public frmaktif As String DT = New DataTable
Public kembalian(100) As AD = New
String OleDbDataAdapter(SQL, CONN)
Public kembalian1(100) As AD.Fill(DT)
String Dim
Public kembalian2(100) As KOLOM(DT.Columns.Count - 1) As
String String
Public kembalian3(100) As For i = 0 To
String DT.Columns.Count - 1
Public user As String KOLOM(i) =
DT.Columns(i).ColumnName
Public Sub Ribu(ByVal txt Next
As TextBox) lv.Columns.Clear()
On Error Resume Next lv.Items.Clear()
Dim valu As Double = For i = 0 To
CDbl(txt.Text) KOLOM.Length - 1
txt.Text = With lv
Format(valu, "#,##0")
txt.SelectionStart = .Columns.Add(KOLOM(i).ToString
Len(txt.Text) )
End Sub End With
Public Sub koneksi()
Try Next
CONN.Close() Dim lebarlist As
CONN.Dispose() Integer
Dim lokasi = lebarlist =
"Provider=Microsoft.ACE.OLEDB. Val(lv.Width)
12.0;Data
Source=dbbeasiswa.accdb" lv.Columns(0).Width =
CONN = New lebarlist / 2
OleDbConnection(lokasi)
If CONN.State = lv.Columns(1).Width =
ConnectionState.Closed Then lebarlist / 2
CONN.Open() For x = 0 To
End If KOLOM.Length - 1
Catch ex As Exception
Next
lv.Columns(x).Width = lv.Columns.Clear()
((lebarlist) / KOLOM.Length) lv.Items.Clear()
Next For i = 0 To
SQL = "select*from KOLOM.Length - 1
" & tblname With lv
koneksi() .Columns.Add(KOLOM(i))
SQLCOM = New End With
OleDbCommand(SQL, CONN)
DR = Next
SQLCOM.ExecuteReader Dim lebarlist As
Integer
While DR.Read() lebarlist =
Dim lst As New Val(lv.Width)
ListViewItem lv.Columns(0).Width =
With lst lebarlist / 2
lv.Columns(1).Width =
For i = 0 lebarlist / 2
To KOLOM.Length - 1 For x = 0 To
If i = KOLOM.Length - 1
0 Then
lv.Columns(x).Width =
.Text = DR(i).ToString ((lebarlist) / KOLOM.Length)
Else Next
.SubItems.Add(DR(i).ToString)
End If koneksi()
SQLCOM = New
Next OleDbCommand(sqli, CONN)
End With DR =
SQLCOM.ExecuteReader
lv.Items.Add(lst)
While DR.Read()
End While Dim lst As New
Catch ex As Exception ListViewItem
MsgBox(ex.Message) With lst
End Try
End Sub For i = 0 To
Public Sub KOLOM.Length - 1
TampilList1(ByVal lv As If i = 0
ListView, ByVal sqli As Then
String) .Text
lv.View = View.Details = DR(i).ToString
lv.FullRowSelect = Else
True
lv.GridLines = True .SubItems.Add(DR(i).ToString)
koneksi() End If
DT = New DataTable
AD = New Next
OleDbDataAdapter(sqli, CONN) End With
AD.Fill(DT) lv.Items.Add(lst)
Dim
KOLOM(DT.Columns.Count - 1) As End While
String End Sub
For i = 0 To
DT.Columns.Count - 1 Sub Bersih(ByVal F As
KOLOM(i) = Form)
DT.Columns(i).ColumnName Dim X As Object
For Each X In
F.Controls
If TypeOf X Is End Sub
TextBox Then X.Text = "" Public Sub
If TypeOf X Is menampilkankeobjek3(ByVal sqlc
ComboBox Then X.Text = "" As String, ByVal primarykey As
Next String, ByVal isi As String)
End Sub koneksi()
Sub Aktif(ByVal F As Form) SQLCOM = New
Dim X As Object OleDbCommand(sqlc, CONN)
For Each X In
F.Controls
If TypeOf X Is DR =
TextBox Then X.Enabled = True SQLCOM.ExecuteReader
If TypeOf X Is DR.Read()
ComboBox Then X.Enabled = True If DR.HasRows Then
Next Dim x As Integer
End Sub For x = 0 To
Sub NonAktif(ByVal F As DR.FieldCount - 1
Form) kembalian3(x)
Dim X As Object = DR.Item(x).ToString
For Each X In Next
F.Controls Else
If TypeOf X Is Dim x As Integer
TextBox Then X.Enabled = False For x = 0 To
If TypeOf X Is DR.FieldCount - 1
ComboBox Then X.Enabled = kembalian3(x)
False = ""
Next Next
End Sub End If
Public Sub HapusData(ByVal
table As String, ByVal field SQLCOM.Dispose()
As String, ByVal key As DR.Close()
String) End Sub
Try Public Sub
menampilkankeobjek2(ByVal
menampilkankeobjek(table, tblname As String, ByVal
field, key) primarykey As String, ByVal
If kembalian(0) = isi As String)
"" Then Exit Sub koneksi()
koneksi() SQLCOM = New
SQL = "Delete From OleDbCommand("SELECT * FROM "
" & table & " Where " & field & tblname & " WHERE " &
& " ='" & key & "'" primarykey & " = """ & isi &
If MsgBox("Apakah """", CONN)
anda yakin akan menghapus data
ini?", vbYesNo, "Hapus") =
vbNo Then Exit Sub DR =
SQLCOM = New SQLCOM.ExecuteReader
OleDbCommand(SQL, CONN) DR.Read()
DR = If DR.HasRows Then
SQLCOM.ExecuteReader Dim x As Integer
MsgBox("Data For x = 0 To
berhasil dihapus", DR.FieldCount - 1
vbInformation, "Sukses") kembalian2(x)
Catch ex As Exception = DR.Item(x).ToString
MsgBox(ex.Message) Next
Else
End Try Dim x As Integer
For x = 0 To SQLCOM = New
DR.FieldCount - 1 OleDbCommand("SELECT * FROM "
kembalian2(x) & tblname & " WHERE " &
= "" primarykey & " = """ & isi &
Next """", CONN)
End If
SQLCOM.Dispose() DR =
DR.Close() SQLCOM.ExecuteReader
End Sub DR.Read()
Public Sub If DR.HasRows Then
menampilkankeobjek(ByVal Dim x As Integer
tblname As String, ByVal For x = 0 To
primarykey As String, ByVal DR.FieldCount - 1
isi As String) kembalian1(x)
Try = DR.Item(x).ToString
koneksi() Next
SQLCOM = New Else
OleDbCommand("SELECT * FROM " Dim x As Integer
& tblname & " WHERE " & For x = 0 To
primarykey & " = """ & isi & DR.FieldCount - 1
"""", CONN) kembalian1(x)
= ""
Next
DR = End If
SQLCOM.ExecuteReader
DR.Read() SQLCOM.Dispose()
If DR.HasRows Then DR.Close()
Dim x As End Sub
Integer Public Sub Loginbro(ByVal
For x = 0 To u As TextBox, ByVal p As
DR.FieldCount - 1 TextBox)
On Error GoTo Salah
kembalian(x) = If u.Text = "" Or
DR.Item(x).ToString p.Text = "" Then
Next MsgBox("Maaf,
Else isilah username dan password
Dim x As dengan valid", vbCritical,
Integer "Error Input Password")
For x = 0 To Exit Sub
DR.FieldCount - 1 End If
SQL = "Select * from
kembalian(x) = "" Login Where username='" &
Next Replace(Trim(u.Text), "'", "")
End If & "' And password='" &
Replace(Trim(p.Text), "'", "")
SQLCOM.Dispose() & "'"
DR.Close() koneksi()
Catch ex As Exception SQLCOM = New
MsgBox(ex.Message) OleDbCommand(SQL, CONN)
End Try DR =
SQLCOM.ExecuteReader()
End Sub If DR.HasRows Then
Public Sub MsgBox("Selamat
menampilkankeobjek1(ByVal Datang " & Trim(u.Text),
tblname As String, ByVal vbInformation, "Login Sukses")
primarykey As String, ByVal DR.Read()
isi As String) With Utama
koneksi()
.Enabled = Nama Database Anda" & vbCrLf &
True _
End With ' Err.Number &
user = vbCrLf & _
Trim(u.Text) '
Utama.Show() Err.Description,
LoginForm1.Hide() vbExclamation, "Error Koneksi
Gagal..!")
Else
MsgBox("Maaf, ' End Try
username atau password salah!
" & vbCrLf & _ ' End Sub
"Silahkan Coba Public Sub
lagi...", vbCritical, "Login simpankedatabase(ByVal tblname
Failed") As String, ByVal isi As Array)
u.Focus() Try
'p.Focus() Dim query1 As
p.SelectionStart = String = ""
0 Dim query2 As
u.SelectionLength String = ""
= Dim endquery As
Len(LoginForm1.UsernameTextBox String
.Text)
End If koneksi()
Exit Sub SQL = "Select *
Salah: from " & tblname
MsgBox("Proses tidak DT = New DataTable
bisa dilanjutkan" & vbCrLf & _ AD = New
Err.Number & OleDbDataAdapter(SQL, CONN)
vbCrLf & _ AD.Fill(DT)
Err.Description, Dim
vbExclamation, "Gagal Login") KOLOM(DT.Columns.Count - 1) As
End Sub String
'Public Sub Koneksi() For i = 0 To
' Try DT.Columns.Count - 1
' CONN.Dispose() KOLOM(i) =
' CONN.Close() DT.Columns(i).ColumnName
' serper = "SERVER = Next
localhost ; USERID = root; koneksi()
PASSWORD =laskardz ; DATABASE SQLCOM = New
= db_aparat; " OleDbCommand("SELECT " &
' If CONN.State = KOLOM(0) & " from " & tblname
ConnectionState.Closed Then & " WHERE " & KOLOM(0) & " =
' '" & isi(0) & "'", CONN)
CONN.ConnectionString = serper
' CONN.Open()
' MsgBox("koneksi DR =
berhasil", vbInformation, SQLCOM.ExecuteReader
"Sukses")
DR.Read()
' End If If DR.HasRows Then
SQLCOM.Dispose()
LoginForm.Vb
Public Class LoginForm1 End Sub
Me.frmKriteria_Load(Me, New
Private Sub
Baru_Click(ByVal sender As EventArgs)
System.Object, ByVal e As End Sub
System.EventArgs) Handles
Baru.Click Private Sub
Keluar_Click(ByVal sender As
AutoIncrement("Kriteria", System.Object, ByVal e As
"IdKriteria", "KRT-", 2) System.EventArgs) Handles
IDKriteria.Text = Kode Keluar.Click
Me.Close()
End Sub
Private Sub
Private Sub Baru_Click(ByVal sender As
ListView1_SelectedIndexChanged System.Object, ByVal e As
(ByVal sender As System.EventArgs) Handles
System.Object, ByVal e As Baru.Click
System.EventArgs) Handles
ListView1.SelectedIndexChanged AutoIncrement("Mahasiswa",
On Error Resume Next "NIM", Year(Now), 4)
IdKriteria.Text = NIM.Text = Kode
ListView1.SelectedItems(0).Sub
Items(0).Text End Sub
End Sub
End Class Private Sub
Mahasiswa.Vb NIM_TextChanged(ByVal sender
Public Class Mahasiswa As System.Object, ByVal e As
System.EventArgs) Handles
Sub TampilkanData() NIM.TextChanged
TampilkanData()
menampilkankeobjek("Mahasiswa"
, "NIM", NIM.Text) End Sub
NIM.Text =
IIf(kembalian(0) = "", Private Sub
NIM.Text, kembalian(0)) Simpan_Click(ByVal sender As
Nama.Text = System.Object, ByVal e As
kembalian(1) System.EventArgs) Handles
Tptlahir.Text = Simpan.Click
kembalian(2) Dim data() As String =
TglLahir.Value = {NIM.Text, Nama.Text,
IIf(kembalian(3) = "", Now, Tptlahir.Text,
kembalian(3)) Format(TglLahir.Value,
Jenkel.Text = "dd/MM/yyyy"), Jenkel.Text,
kembalian(4) Agama.Text, Alamat.Text,
Agama.Text = Telepon.Text, NamaWali.Text,
kembalian(5) AlamatWali.Text,
Alamat.Text = PekerjaanWali.Text,
kembalian(6) TeleponWali.Text}
Telepon.Text =
kembalian(7) simpankedatabase("Mahasiswa",
NamaWali.Text = data)
kembalian(8) If sukses = 0 Then
AlamatWali.Text = Exit Sub
kembalian(9)
PekerjaanWali.Text = Me.frmKriteria_Load(Me, New
kembalian(10) EventArgs)
TeleponWali.Text = End Sub
kembalian(11)
End Sub Private Sub
Private Sub Hapus_Click(ByVal sender As
frmKriteria_Load(ByVal sender System.Object, ByVal e As
As System.Object, ByVal e As System.EventArgs) Handles
System.EventArgs) Handles Hapus.Click
MyBase.Load HapusData("Mahasiswa",
NIM.Text = "" "NIM", NIM.Text)
TampilList(ListView1,
"Mahasiswa") Me.frmKriteria_Load(Me, New
TampilkanData() EventArgs)
End Sub
End Sub
Private Sub End If
Batal_Click(ByVal sender As SQL = "Select * From
System.Object, ByVal e As Penilaian Where IDPenilaian="
System.EventArgs) Handles & Trim(NIM.Text)
Batal.Click koneksi()
SQLCOM = New
Me.frmKriteria_Load(Me, New OleDb.OleDbCommand(SQL, CONN)
EventArgs)
End Sub DR =
SQLCOM.ExecuteReader
Private Sub Dim Kriteria() As
Keluar_Click(ByVal sender As String
System.Object, ByVal e As ' Kriteria =
System.EventArgs) Handles Split(cboKriteria.Text, "|")
Keluar.Click If Not DR.HasRows Then
Me.Close() SQL = "Insert Into
End Sub Penilaian ( NIM,PO,JTO, SO,
Semester, IPK) " & _
Private Sub " Values ('" &
ListView1_SelectedIndexChanged NIM.Text & "','" &
(ByVal sender As Val(PO.Text) & "','" &
System.Object, ByVal e As Val(JTO.Text) & "','" &
System.EventArgs) Handles SO.Text & "','" &
ListView1.SelectedIndexChanged Semester.Text & "','" &
On Error Resume Next IPK.Text & "')"
NIM.Text = koneksi()
ListView1.SelectedItems(0).Sub SQLCOM = New
Items(0).Text OleDb.OleDbCommand(SQL, CONN)
End Sub
End Class SQLCOM.ExecuteNonQuery()
Penilaian.Vb MsgBox("Data
Public Class Penilaian berhasil disimpan",
MsgBoxStyle.Information,
Private Sub "Sukses")
lvMahasiswa_SelectedIndexChang Else
ed(ByVal sender As SQL = "Update
System.Object, ByVal e As Penilaian SET PO='" &
System.EventArgs) Handles Val(PO.Text) & "' Where NIM='"
lvMahasiswa.SelectedIndexChang & Trim(NIM.Text) & "'"
ed koneksi()
On Error Resume Next SQLCOM = New
NIM.Text = OleDb.OleDbCommand
lvMahasiswa.SelectedItems(0).T
ext SQLCOM.ExecuteNonQuery()
End Sub MsgBox("Data
berhasil diupdate",
Private Sub MsgBoxStyle.Information,
Simpan_Click(ByVal sender As "Sukses")
System.Object, ByVal e As End If
System.EventArgs) Handles Me.Penilaian_Load(Me,
Simpan.Click New EventArgs)
If NIM.Text = "" Or End Sub
PO.Text = "" Then
MsgBox("Data harus Private Sub
diisi dengan lengkap", Keluar_Click(ByVal sender As
MsgBoxStyle.Critical, "Error System.Object, ByVal e As
Input") System.EventArgs) Handles
Exit Sub Keluar.Click
Me.Close()
End Sub Perhitungan.Vb
Public Class frmHitung
Private Sub Dim bobot(10) As String
Batal_Click(ByVal sender As Private Sub
System.Object, ByVal e As frmHitung_Load(ByVal sender As
System.EventArgs) Handles System.Object, ByVal e As
Batal.Click System.EventArgs) Handles
Me.Penilaian_Load(Me, MyBase.Load
New EventArgs)
End Sub
ListView2.Items.Clear()
Private Sub ListView2.View =
Penilaian_Load(ByVal sender As View.Details
System.Object, ByVal e As
System.EventArgs) Handles ListView2.FullRowSelect = True
MyBase.Load ListView2.GridLines =
True
TampilList1(lvMahasiswa, Dim lebarlist As
"Select NIM, Nama From Integer
Mahasiswa") lebarlist =
Val(ListView2.Width)
TampilList(lvPenilaian,
"Penilaian") ListView2.Columns(0).Width =
lebarlist / 2
NIM.Text = ""
ListView2.Columns(1).Width =
End Sub lebarlist / 2
For x = 0 To
Private Sub ListView2.Columns.Count - 1
Hapus_Click(ByVal sender As
System.Object, ByVal e As ListView2.Columns(x).Width =
System.EventArgs) Handles ((lebarlist) /
Hapus.Click ListView2.Columns.Count)
HapusData("Penilaian", Next
"NIM", NIM.Text) SQL = "Select
Me.Penilaian_Load(Me, Penilaian.NIM,
New EventArgs) Mahasiswa.Nama,PO, JTO, SO,
End Sub Semester, IPK From Penilaian
Inner Join Mahasiswa On
Private Sub Penilaian.NIM=Mahasiswa.NIM
TextBox2_TextChanged(ByVal Order BY Penilaian.NIM"
sender As System.Object, ByVal koneksi()
e As System.EventArgs) Handles SQLCOM = New
SO.TextChanged, OleDb.OleDbCommand(SQL, CONN)
IPK.TextChanged, DR =
Semester.TextChanged SQLCOM.ExecuteReader
Dim Max1 As Double = 0
End Sub For x = 0 To
Matriks.ListView2.Columns.Coun
Private Sub t - 1
Label5_Click(ByVal sender As On Error Resume
System.Object, ByVal e As Next
System.EventArgs) Handles If
Label5.Click, Label7.Click, CDbl(Matriks.ListView2.Items(x
Label6.Click ).SubItems(1).Text) > Max1
Then
End Sub Max1 =
End Class Matriks.ListView2.Items(x).Sub
Items(1).Text
End If Max5 =
Next Matriks.ListView2.Items(x).Sub
Items(5).Text
Dim Max2 As Double = 0 End If
For x = 0 To Next
Matriks.ListView2.Columns.Coun While DR.Read
t - 1 Dim lst As New
On Error Resume ListViewItem
Next Dim c, d, f, g, h
If As String
CDbl(Matriks.ListView2.Items(x
).SubItems(2).Text) > Max2 If Val(DR(2)) <
Then 2000000 Then
Max2 = c = 1
Matriks.ListView2.Items(x).Sub ElseIf Val(DR(2))
Items(2).Text < 2500000 Then
End If c = 0.75
Next ElseIf Val(DR(2))
Dim Max3 As Double = 0 < 3000000 Then
For x = 0 To c = 0.5
Matriks.ListView2.Columns.Coun ElseIf Val(DR(2))
t - 1 > 3000000 Then
On Error Resume c = 0.25
Next End If
If If Val(DR(3)) >= 4
CDbl(Matriks.ListView2.Items(x Then
).SubItems(3).Text) > Max3 d = 1
Then ElseIf Val(DR(3))
Max3 = < 4 Then
Matriks.ListView2.Items(x).Sub d = 0.75
Items(3).Text ElseIf Val(DR(3))
End If < 3 Then
Next d = 0.5
Dim Max4 As Double = 0 ElseIf Val(DR(3))
For x = 0 To <= 2 Then
Matriks.ListView2.Columns.Coun d = 0.25
t - 1 End If
On Error Resume If Trim(DR(4)) =
Next "Tidak Ada" Then
If f = 1
CDbl(Matriks.ListView2.Items(x ElseIf Trim(DR(4))
).SubItems(4).Text) > Max4 = "Janda" Then
Then f = 0.75
Max4 = ElseIf Trim(DR(4))
Matriks.ListView2.Items(x).Sub = "Duda" Then
Items(4).Text f = 0.5
End If ElseIf Trim(DR(4))
Next = "Lengkap" Then
Dim Max5 As Double = 0 f = 0.25
For x = 0 To End If
Matriks.ListView2.Columns.Coun If Val(DR(5)) >= 5
t - 1 Then
On Error Resume g = 0.5
Next ElseIf Trim(DR(5))
If >= 3 Then
CDbl(Matriks.ListView2.Items(x g = 0.75
).SubItems(5).Text) > Max5 ElseIf Trim(DR(5))
Then >= 1 Then
g = 1
End If Dim x = 0
If Val(DR(6)) >=
3.8 Then While DR.Read()
h = 1 bobot(x) =
ElseIf Val(DR(6)) DR(0).ToString
>= 3.5 Then x = x + 1
h = 0.75 End While
ElseIf Val(DR(6)) ' MsgBox(bobot(4))
>= 3 Then
h = 0.5 ListView1.Items.Clear()
ElseIf Val(DR(6)) ListView1.View =
< 3 Then View.Details
h = 0.25
End If ListView1.FullRowSelect = True
ListView1.GridLines =
lst.Text = True
DR(0).ToString Dim lebarlist As
Integer
lst.SubItems.Add(FormatNumber( lebarlist =
c / Max1, 4)).ToString() Val(ListView2.Width)
lst.SubItems.Add(FormatNumber( ListView1.Columns(0).Width =
d / Max2, 4)).ToString() lebarlist / 2
lst.SubItems.Add(FormatNumber( ListView1.Columns(1).Width =
f / Max3, 4)).ToString() lebarlist / 2
For x = 0 To
lst.SubItems.Add(FormatNumber( ListView2.Columns.Count - 1
g / Max4, 4)).ToString()
ListView1.Columns(x).Width =
lst.SubItems.Add(FormatNumber( ((lebarlist) /
h / Max5, 4)).ToString() ListView1.Columns.Count)
Next
ListView2.Items.Add(lst) SQL = "Select
End While Penilaian.NIM,
Mahasiswa.Nama,PO, JTO, SO,
End Sub Semester, IPK From Penilaian
Inner Join Mahasiswa On
Private Sub Penilaian.NIM=Mahasiswa.NIM
ListView2_SelectedIndexChanged Order BY Penilaian.NIM"
(ByVal sender As koneksi()
System.Object, ByVal e As SQLCOM = New
System.EventArgs) OleDb.OleDbCommand(SQL, CONN)
DR =
End Sub SQLCOM.ExecuteReader
Dim Max1 As Double = 0
Private Sub For x = 0 To
Button1_Click(ByVal sender As Matriks.ListView2.Columns.Coun
System.Object, ByVal e As t - 1
System.EventArgs) Handles On Error Resume
Button1.Click Next
SQL = "Select Bobot If
From Kriteria Order By CDbl(Matriks.ListView2.Items(x
IdKriteria" ).SubItems(1).Text) > Max1
koneksi() Then
SQLCOM = New Max1 =
OleDb.OleDbCommand(SQL, CONN) Matriks.ListView2.Items(x).Sub
DR = Items(1).Text
SQLCOM.ExecuteReader End If
Next Max5 =
Matriks.ListView2.Items(x).Sub
Dim Max2 As Double = 0 Items(5).Text
For x = 0 To End If
Matriks.ListView2.Columns.Coun Next
t - 1 While DR.Read
On Error Resume Dim lst As New
Next ListViewItem
If Dim c, d, f, g, h
CDbl(Matriks.ListView2.Items(x As String
).SubItems(2).Text) > Max2
Then If Val(DR(2)) <
Max2 = 2000000 Then
Matriks.ListView2.Items(x).Sub c = 1
Items(2).Text ElseIf Val(DR(2))
End If < 2500000 Then
Next c = 0.75
Dim Max3 As Double = 0 ElseIf Val(DR(2))
For x = 0 To < 3000000 Then
Matriks.ListView2.Columns.Coun c = 0.5
t - 1 ElseIf Val(DR(2))
On Error Resume > 3000000 Then
Next c = 0.25
If End If
CDbl(Matriks.ListView2.Items(x If Val(DR(3)) >= 4
).SubItems(3).Text) > Max3 Then
Then d = 1
Max3 = ElseIf Val(DR(3))
Matriks.ListView2.Items(x).Sub < 4 Then
Items(3).Text d = 0.75
End If ElseIf Val(DR(3))
Next < 3 Then
Dim Max4 As Double = 0 d = 0.5
For x = 0 To ElseIf Val(DR(3))
Matriks.ListView2.Columns.Coun <= 2 Then
t - 1 d = 0.25
On Error Resume End If
Next If Trim(DR(4)) =
If "Tidak Ada" Then
CDbl(Matriks.ListView2.Items(x f = 1
).SubItems(4).Text) > Max4 ElseIf Trim(DR(4))
Then = "Janda" Then
Max4 = f = 0.75
Matriks.ListView2.Items(x).Sub ElseIf Trim(DR(4))
Items(4).Text = "Duda" Then
End If f = 0.5
Next ElseIf Trim(DR(4))
Dim Max5 As Double = 0 = "Lengkap" Then
For x = 0 To f = 0.25
Matriks.ListView2.Columns.Coun End If
t - 1 If Val(DR(5)) >= 5
On Error Resume Then
Next g = 0.5
If ElseIf Trim(DR(5))
CDbl(Matriks.ListView2.Items(x >= 3 Then
).SubItems(5).Text) > Max5 g = 0.75
Then ElseIf Trim(DR(5))
>= 1 Then
g = 1
End If End While
If Val(DR(6)) >= End Sub
3.8 Then
h = 1 Private Sub
ElseIf Val(DR(6)) Button2_Click(ByVal sender As
>= 3.5 Then System.Object, ByVal e As
h = 0.75 System.EventArgs) Handles
ElseIf Val(DR(6)) Button2.Click
>= 3 Then SQL = "Delete FROM
h = 0.5 tblPerhitungan"
ElseIf Val(DR(6)) koneksi()
< 3 Then SQLCOM = New
h = 0.25 OleDb.OleDbCommand(SQL, CONN)
End If
Dim x1, x2, x3, SQLCOM.ExecuteNonQuery()
x4, x5 As String For i = 0 To
x1 = ListView1.Items.Count - 1
(FormatNumber(c / Max1, 4)) * SQL = "Insert INTO
(bobot(0) / 100).ToString() tblPerhitungan Values('" &
x2 = ListView1.Items(i).SubItems(0)
(FormatNumber(d / Max2, 4)) * .Text & "','" &
(bobot(1) / 100).ToString() ListView1.Items(i).SubItems(1)
x3 = .Text & _
(FormatNumber(f / Max3, 4)) * "','" &
(bobot(2) / 100).ToString() ListView1.Items(i).SubItems(2)
x4 = .Text & _
(FormatNumber(g / Max4, 4)) * "','" &
(bobot(3) / 100).ToString() ListView1.Items(i).SubItems(3)
x5 = .Text & _
(FormatNumber(h / Max5, 4)) * "','" &
(bobot(4) / 100).ToString() ListView1.Items(i).SubItems(4)
lst.Text = .Text & _
DR(0).ToString "','" &
ListView1.Items(i).SubItems(5)
lst.SubItems.Add((FormatNumber .Text & _
(c / Max1, 4)) * (bobot(0) / "','" &
100)).ToString() ListView1.Items(i).SubItems(6)
.Text & "')"
lst.SubItems.Add((FormatNumber koneksi()
(d / Max2, 4)) * (bobot(1) / SQLCOM = New
100)).ToString() OleDb.OleDbCommand(SQL, CONN)
lst.SubItems.Add((FormatNumber SQLCOM.ExecuteNonQuery()
(f / Max3, 4)) * (bobot(2) / SQLCOM.Dispose()
100)).ToString() Next
frmPerangkingan.Show()
lst.SubItems.Add((FormatNumber End Sub
(g / Max4, 4)) * (bobot(3) / End Class
100)).ToString() Perangkingan.Vb
Private Sub
lst.SubItems.Add((FormatNumber Matriks_Load(ByVal sender As
(h / Max5, 4)) * (bobot(4) / System.Object, ByVal e As
100)).ToString() System.EventArgs) Handles
MyBase.Load
lst.SubItems.Add(CDbl(CDbl(x1) TampilList1(ListView1,
+ CDbl(x2) + CDbl(x3) + "Select Penilaian.NIM,
CDbl(x4) + CDbl(x5))) Mahasiswa.Nama,PO, JTO, SO,
Semester, IPK From Penilaian
ListView1.Items.Add(lst) Inner Join Mahasiswa On
Penilaian.NIM=Mahasiswa.NIM c = 0.75
Order BY Penilaian.NIM ") ElseIf Val(DR(2))
< 3000000 Then
c = 0.5
End Sub ElseIf Val(DR(2))
> 3000000 Then
Private Sub c = 0.25
Button1_Click(ByVal sender As End If
System.Object, ByVal e As If Val(DR(3)) >= 4
System.EventArgs) Handles Then
Button1.Click d = 1
ElseIf Val(DR(3))
ListView2.Items.Clear() < 4 Then
ListView2.View = d = 0.75
View.Details ElseIf Val(DR(3))
< 3 Then
ListView2.FullRowSelect = True d = 0.5
ListView2.GridLines = ElseIf Val(DR(3))
True <= 2 Then
Dim lebarlist As d = 0.25
Integer End If
lebarlist = If Trim(DR(4)) =
Val(ListView2.Width) "Tidak Ada" Then
f = 1
ListView2.Columns(0).Width = ElseIf Trim(DR(4))
lebarlist / 2 = "Janda" Then
f = 0.75
ListView2.Columns(1).Width = ElseIf Trim(DR(4))
lebarlist / 2 = "Duda" Then
For x = 0 To f = 0.5
ListView2.Columns.Count - 1 ElseIf Trim(DR(4))
= "Lengkap" Then
ListView2.Columns(x).Width = f = 0.25
((lebarlist) / End If
ListView2.Columns.Count) If Val(DR(5)) >= 5
Next Then
SQL = "Select g = 0.5
Penilaian.NIM, ElseIf Trim(DR(5))
Mahasiswa.Nama,PO, JTO, SO, >= 3 Then
Semester, IPK From Penilaian g = 0.75
Inner Join Mahasiswa On ElseIf Trim(DR(5))
Penilaian.NIM=Mahasiswa.NIM >= 1 Then
Order BY Penilaian.NIM" g = 1
koneksi() End If
SQLCOM = New If Val(DR(6)) >=
OleDb.OleDbCommand(SQL, CONN) 3.8 Then
DR = h = 1
SQLCOM.ExecuteReader ElseIf Val(DR(6))
While DR.Read >= 3.5 Then
Dim lst As New h = 0.75
ListViewItem ElseIf Val(DR(6))
Dim c, d, f, g, h >= 3 Then
As String h = 0.5
ElseIf Val(DR(6))
If Val(DR(2)) < < 3 Then
2000000 Then h = 0.25
c = 1 End If
ElseIf Val(DR(2)) lst.Text =
< 2500000 Then DR(0).ToString
lst.SubItems.Add(c).ToString()
lst.SubItems.Add(d).ToString()
lst.SubItems.Add(f).ToString()
lst.SubItems.Add(g).ToString()
lst.SubItems.Add(h).ToString()
ListView2.Items.Add(lst)
End While
End Sub
Private Sub
Button2_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles
Button2.Click
frmHitung.Show()
End Sub