148
SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI MAHASISWA DENGAN ANALISIS PERBANDINGAN ALGORITMA WEIGHTED PRODUCT (WP) DAN TECHNIQUE FOR ORDER BY SIMILARITY TO IDEAL SOLUTION (TOPSIS) SKRIPSI M ARIF KURNIAWAN 161401109 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2021

SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

  • Upload
    others

  • View
    14

  • Download
    1

Embed Size (px)

Citation preview

Page 1: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI

MAHASISWA DENGAN ANALISIS PERBANDINGAN ALGORITMA

WEIGHTED PRODUCT (WP) DAN TECHNIQUE FOR ORDER BY

SIMILARITY TO IDEAL SOLUTION (TOPSIS)

SKRIPSI

M ARIF KURNIAWAN

161401109

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2021

Page 2: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI

MAHASISWA DENGAN ANALISIS PERBANDINGAN ALGORITMA

WEIGHTED PRODUCT (WP) DAN TECHNIQUE FOR ORDER BY

SIMILARITY TO IDEAL SOLUTION (TOPSIS)

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah

Sarjana Ilmu Komputer

M ARIF KURNIAWAN

161401109

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2021

Page 3: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

ii

PERSETUJUAN

Judul : SISTEM PENENTUAN KANDIDAT PESERTA

LOMBA BAGI MAHASISWA DENGAN ANALISIS

PERBANDINGAN ALGORITMA WEIGHTED

PRODUCT (WP) DAN TECHNIQUE FOR ORDER

BY SIMILARITY TO IDEAL SOLUTION (TOPSIS)

Kategori : SKRIPSI

Nama : M ARIF KURNIAWAN

Nomor Induk Mahasiswa : 161401109

Program Studi : SARJANA (S-1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas

Komisi Pembimbing:

: FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI UNIVERISTAS SUMATERA UTARA

Diluluskan di

Medan, 29 Juli 2021

Pembim bing II

Elviwani, ST., S.Kom., M.Kom.

NIP. 197508182017062001

Pembim bing I

Handrizal, S.Si, M.Comp.Sc

NIP. 197706132017061001

Diketahui/disetujui oleh

Program Studi S1 Ilmu Komputer

Ketua,

Dr. Poltak Sihombing, M.Kom.

NIP. 196203171991031001

Page 4: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

iii

PERNYATAAN

SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI MAHASISWA

DENGAN ANALISIS PERBANDINGAN ALGORITMA WEIGHTED

PRODUCT (WP) DAN TECHNIQUE FOR ORDER BY SIMILARITY TO

IDEAL SOLUTION (TOPSIS)

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa

kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 29 Juli 2021

M Arif Kurniawan

161401109

Page 5: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

iv

PENGHARGAAN

Segala puji dan syukur penulis ucapkan kepada Allah SWT atas rahmat dan karunianya

penulis mampu menyelesaikan penulisan skripsi ini sebagai salah satu syarat untuk

memperoleh gelas Sarjana Komputer di Program Studi S1 Ilmu Komputer, Fakultas

Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara. Shalawat serta

salam kepada Nabi Muhammad Shallallahu ‘Alaihi wa Sallam beserta keluarga dan

para sahabatnya.

Terima kasih sebesar-besarnya penulis sampaikan kepada:

1. Bapak Dr. Muryanto Amin, S.Sos., M.Si selaku Rektor Universitas Sumatera

Utara.

2. Ibu Dr. Maya Silvi Lydia, B.Sc., M.Sc, selaku Dekan Fakultas Ilmu Komputer

dan Teknologi Informasi, Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu

Komputer Universitas Sumatera Utara.

4. Bapak Handrizal S.Si, M.Comp.Sc, selaku Dosen Pembimbing I yang

memberikan banyak bimbingan, saran, dan arahan pada skripsi ini.

5. Ibu Elviwani, ST, S.Kom, M.Kom selaku Dosen Pembimbing II yang telah

berbaik hati memberi saran dan kritik untuk perbaikan skripsi ini.

6. Ibu Dr. Maya Silvi Lydia, B.Sc., M.Sc selaku Dosen Pembimbing Akademik

yang telah membimbing dan memberi dukungan selama menempuh pendidikan.

7. Bapak Dr. Eng Ade Candra, ST., M.Kom, selaku Dosen Penguji I yang telah

berbaik hati memberikan banyak saran dan kritik untuk perbaikan skripsi ini.

8. Bapak Herriyance, ST., M.Kom, selaku Dosen Penguji II yang telah berbaik hati

memberikan banyak saran dan kritik untuk perbaikan skripsi ini.

9. Bapak Edi Sucipto selaku Direktur PT. Cipta Harapan Samudera yang telah

berbaik hati memberikan izin untuk penelitian diperusahaannya.

10. Keluarga saya. Terima kasih kepada keluarga yang selalu memberikan

dukungan sehingga penulis dapat menyelesaikan skripsi ini.

Page 6: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

v

11. Seluruh tenaga pengajar dan pegawai Program Studi S1 Ilmu Komputer

Fasilkom-TI USU.

12. Teman teman remaja masjid Al-Fajar Delitua yang telah memberikan nasihat,

dukungan dan do’a atas kelancaran penyusunan skripsi ini.

13. Dan semua pihak yang telah banyak membantu yang tidak bisa disebutkan

satupersatu.

Semoga Allah SWT memberikan kelimpahan berkat dan kasih karunia kepada semua

pihak yang telah memberikan doa, semangat, dukungan, dan bantuan kepada penulis

dalam menyelesaikan penulisan skripsi ini. Semoga skripsi ini dapat memberikan

manfaat kepada penulis, peneliti, pendidik maupun negara.

Medan, 29 Juli 2021

Penulis

M Arif Kurniawan

Page 7: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

vi

ABSTRAK

Perlombaan merupakan salah satu indikator yang menjadikan suatu universitas berada

pada pencapaian terbaiknya. Semakin banyak mahasiswa yang mengikuti perlombaan

atau ajang kompetisi tentu akan berdampak positif bagi universitas itu sendiri. Proses

seleksi akan menjadi hal yang perlu dilakukan menimbang banyak kriteria yang harus

dipenuhi oleh mahasiswa tersebut sebelum dinyatakan siap untuk bersaing baik secara

teori maupun praktik sehingga diperlukan suatu sistem pendukung keputusan yang

dapat merekomendasikan kandidat mahasiswa. Pada penelitian ini akan dibahas proses

penentuan kandidat peserta lomba dengan menganalisis dua metode yaitu metode

Weighted Product (WP) dan metode Technique for Order by Similarity to Ideal Solution

(TOPSIS) di mana pada kedua metode tersebut akan dianalisa berapa persen tingkat

akurasi antara perhitungan sistem dengan perhitungan manual. Lalu menganalisa

seberapa jauh jarak perbedaan antara kedua metode dengan menggunakan Euclidean

Distance serta pembobotan kriteria menggunakan Skala Likert. Selanjutnya juga akan

menganalisis kompleksitas algoritma antara kedua metode tersebut. Hasil analisis

perbandingan menunjukkan bahwa metode WP menjadi metode yang unggul dengan

nilai 0.14281 dikarenakan memiliki jarak nilai yang mendekati nol dibandingkan

metode TOPSIS dengan nilai 0.51238 walaupun keduanya menghasilkan tingkat

akurasi yang sama mencapai 100%, namun metode WP tetap lebih optimal dari segi

kecepatan eksekusi program (Running Time) melalui script Microtime Function pada

file PHP dengan waktu rata-rata 0.0781 detik sedangkan metode TOPSIS membutuhkan

waktu rata-rata 0.2234 detik. Hasil analisis kompleksitas algoritma juga mendapat hasil

bahwa metode WP memperoleh kompleksitas T(n) = 𝜃(n2) sedangkan metode TOPSIS

memperoleh kompleksitas T(n) = 𝜃(n).

Kata kunci : Sistem Pendukung Keputusan, Kandidat Peserta, Skala Likert, Weighted

Product, Technique for Order by Similarity to Ideal Solution. Euclidean

Distance.

Page 8: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

vii

COMPETITIVE CANDIDATE DETERMINATION SYSTEM FOR STUDENTS

WITH COMPARATIVE ANALYSIS OF WEIGHTED PRODUCT (WP)

ALGORITHM AND TECHNIQUE FOR ORDER BY SIMILARITY TO IDEAL

SOLUTION (TOPSIS)

ABSTRACT

The competition is one indicator that makes a university at its best. More students who

take part in competitions will certainly have a positive impact on the university itself.

The selection process will be something that needs to be done considering the many

criteria that must be met by the student before being declared ready to compete both in

theory and practice so that a decision support system is needed that can recommend

student candidates. In this study, the process of determining the candidates for the

competition will be discussed by analyzing two methods, namely the Weighted Product

(WP) method and the Technique for Order by Similarity to Ideal Solution (TOPSIS)

method in which both methods will analyze the percentage of accuracy between system

calculations and manual calculations. Then analyze how far the difference between the

two methods by using Euclidean Distance and weighting criteria using a Likert Scale.

Furthermore, it will also analyze the complexity of the algorithm between the two

methods. The results of the comparative analysis show that the WP method is the

superior method with a value of 0.14281 because it has a distance value that is close to

zero compared to the TOPSIS method with a value of 0.51238 although both produce

the same level of accuracy reaching 100%, but the WP method is still more optimal in

terms of program execution speed ( Running Time) through the Microtime Function

script on PHP files with an average time of 0.0781 seconds while the TOPSIS method

takes an average of 0.2234 seconds. The results of the algorithm complexity analysis

also show that the WP method obtains a complexity of T(n) = 𝜃(n2) while the TOPSIS

method obtains a complexity of T(n) = 𝜃(n).

Keywords: Decision Support System, Candidate Participants, Likert Scale, Weighted

Product, Technique for Order by Similarity to Ideal Solution, Euclidean

Distance

Page 9: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

viii

DAFTAR ISI

PERSETUJUAN ii

PERNYATAAN iii

PENGHARGAAN iv

ABSTRAK vi

ABSTRACT vii

DAFTAR ISI viii

DAFTAR TABEL xi

DAFTAR GAMBAR xiii

DAFTAR LAMPIRAN xiv

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang Masalah 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metodologi Penelitian 4

1.7 Sistematika Penulisan 5

BAB 2 LANDASAN TEORI 6

2.1 Sistem Pendukung Keputusan 6

2.1.1 Tahapan Pengambilan Keputusan 6

2.1.2 Arsitektur Umum Sistem Pendukung Keputusan 7

2.2 Weighted Product (WP) 8

2.3 Technique for Order by Similarity to Ideal Solution (TOPSIS) 10

2.4 Likert Scale 11

2.5 Euclidean Distance 11

2.6 Microtime Function 11

Page 10: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

ix

2.7 Kompleksitas Algoritma 11

2.8 Penelitian yang Relevan 12

BAB 3 ANALISIS DAN PERANCANGAN 13

3.1 Analisis Sistem 13

3.1.1 Analisis Masalah 19

3.1.2 Analisis Kebutuhan (Requirements Analysis) 20

3.1.2.1 Kebutuhan Fungsional 20

3.1.2.2 Kebutuhan Non-fungsional 20

3.1.3 Analisis Proses 21

3.2 Pemodelan Sistem 24

3.2.1 Arsitektur Umum Sistem 24

3.2.2 Use Case Diagram Sistem 25

3.2.3 Activity Diagram 38

3.2.4 Sequence Diagram 38

3.3 Flowchart 39

3.3.1 Flowchart User Sistem Penentuan Kandidat Peserta 39

3.3.2 Flowchart WP 41

3.3.3 Flowchart TOPSIS 42

3.3.4 Flowchart Admin Sistem Penentuan Kandidat Peserta 43

3.4 Perancangan Antarmuka (Interface) Sistem 44

3.4.1 Halaman Home 44

3.4.2 Halaman Menu Profil 45

3.4.3 Halaman Menu Perlombaan 45

3.4.4 Halaman Menu Perlombaan Bagian Upload Berkas 46

3.4.5 Halaman Menu Pengumuman 47

3.4.6 Halaman Menu Login Admin 48

3.4.7 Halaman Menu Perlombaan (Admin) 49

3.4.8 Halaman Menu File Info 50

3.4.9 Halaman Menu Perhitungan dan Hasil WP 51

3.4.10 Halaman Menu Hasil Topsis 53

Page 11: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

x

3.5 Rancangan Database 55

BAB 4 IMPLEMENTASI DAN PENGUJIAN 61

4.1 Implementasi Sistem 61

4.1.1 Halaman Home 61

4.1.2 Halaman Menu Profil 61

4.1.3 Halaman Menu Perlombaan 62

4.1.4 Halaman Menu Pengumuman 63

4.1.5 Halaman Menu Login Admin 64

4.1.6 Halaman Menu Perlombaan (Admin) 64

4.1.7 Halaman Menu File Info 65

4.1.8 Halaman Menu Perhitungan 66

4.2 Pengujian 66

4.2.1 Pengujian Sistem Rekomendasi Kandidat Peserta 66

4.2.2 Pengujian Manual Metode WP 75

4.2.3 Pengujian Manual Metode TOPSIS 82

4.3 Hasil Analisis Perbandingan 87

4.3.1 Hasil Euclidean Distance 87

4.3.2 Perbandingan Tingkat Akurasi Perhitungan 88

4.3.3 Perbandingan Kecepatan Eksekusi Program 89

4.3.4 Kompleksitas Algoritma WP 90

4.3.5 Kompleksitas Algoritma TOPSIS 93

BAB 5 KESIMPULAN DAN SARAN 97

5.1 Kesimpulan 97

5.2 Saran 98

DAFTAR PUSTAKA 99

Page 12: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

xi

DAFTAR TABEL

Tabel 3.1 Data Perlombaan dan Peserta Terdahulu 13

Tabel 3.2 Jenis dan Contoh Kriteria 22

Tabel 3.3 Nilai Bobot Kriteria Berdasarkan Skala Likert 22

Tabel 3.4 Data Nilai Parameter Kriteria Web Development Competition 23

Tabel 3.5 Narrative Use Case Register 27

Tabel 3.6 Narrative Use Case Login 28

Tabel 3.7 Narrative Use Case Melengkapi Profil 28

Tabel 3.8 Narrative Use Case List Perlombaan 29

Tabel 3.9 Narrative Use Case Mendaftarkan Diri 30

Tabel 3.10 Narrative Use Case Cetak Kartu Peserta 31

Tabel 3.11 Narrative Use Case Kelola Data Lomba 31

Tabel 3.12 Narrative Use Case Rekomendasi Peserta 34

Tabel 3.13 Narrative Use Case Pengumuman 36

Tabel 3.14 Narrative Use Case Log Out 37

Tabel 3.15 Struktur Database Tabel Admin 55

Tabel 3.16 Struktur Database Tabel File 55

Tabel 3.17 Struktur Database Tabel Hitung 56

Tabel 3.18 Struktur Database Tabel Lomba 56

Tabel 3.19 Struktur Database Tabel Lomba Rinci 57

Tabel 3.20 Struktur Database Tabel Mahasiswa Pendaftar 57

Tabel 3.21 Struktur Database Tabel Users 58

Tabel 3.22 Struktur Database Tabel Alternatif 58

Tabel 3.23 Struktur Database Tabel Kriteria 59

Tabel 3.24 Struktur Database Tabel Nilai Matrik 59

Tabel 3.25 Struktur Database Tabel Nilai Preferensi 59

Tabel 4.1 Alternatif Pilihan 75

Page 13: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

xii

Tabel 4.2 Pembobotan Kriteria 76

Tabel 4.3 Nilai Alternatif Per Kriteria 77

Tabel 4.4 Bobot Setelah Normalisasi 78

Tabel 4.5 Hasil Keputusan WP 82

Tabel 4.6 Nilai Matriks 82

Tabel 4.7 Nilai Kuadrat 83

Tabel 4.8 Matriks Ternormalisasi 83

Tabel 4.9 Nilai Bobot Ternormalisasi 84

Tabel 4.10 Matriks Ideal Positif/Negatif 85

Tabel 4.11 Hasil Keputusan TOPSIS 86

Tabel 4.12 Hasil Analisis Perbandingan Euclidean Distance 87

Tabel 4.13 Hasil Perbandingan Akurasi Perhitungan 88

Tabel 4.14 Hasil Perbandingan Kecepatan Eksekusi Program 89

Tabel 4.15 Kompleksitas Algoritma WP 91

Tabel 4.16 Kompleksitas Algoritma TOPSIS 93

Page 14: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

xiii

DAFTAR GAMBAR

Gambar 2.1 Arsitektur Sistem Pendukung Keputusan 8

Gambar 3.1 Ishikawa Diagram 19

Gambar 3.2 Arsitektur Umum 25

Gambar 3.3 Use Case Diagram 26

Gambar 3.4 Activity Diagram Sistem Penentuan Kandidat Peserta Lomba 38

Gambar 3.5 Sequence Diagram Sistem Penentuan Kandidat Peserta Lomba 39

Gambar 3.6 Flowchart Sistem Penentuan Kandidat Peserta Lomba 40

Gambar 3.7 Flowchart Metode WP 41

Gambar 3.8 Flowchart Metode TOPSIS 42

Gambar 3.9 Flowchart Admin Pengguna Sistem Rekomendasi Peserta 43

Gambar 3.10 Rancangan Halaman Home 44

Gambar 3.11 Rancangan Halaman Menu Profil 45

Gambar 3.12 Rancangan Halaman Menu Perlombaan 46

Gambar 3.13 Rancangan Halaman Menu Perlombaan Bagian Upload 47

Gambar 3.14 Rancangan Halaman Menu Pengumuman 48

Gambar 3.15 Rancangan Halaman Login Admin 49

Gambar 3.16 Rancangan Halaman Menu Perlombaan 50

Gambar 3.17 Rancangan Halaman Menu File Info 51

Gambar 3.18 Rancangan Halaman Menu Perhitungan 52

Gambar 3.19 Output Rekomendasi Peserta Setelah Klik Button Hitung 52

Gambar 3.20 Rancangan Halaman Menu Hasil Topsis 54

Gambar 3.21 Relasi Tabel Sistem Database 60

Gambar 4.1 Tampilan Halaman Menu Home 61

Gambar 4.2 Tampilan Halaman Menu Profil 62

Gambar 4.3 Tampilan Halaman Menu Perlombaan 62

Gambar 4.4 Tampilan Lanjutan Halaman Menu Perlombaan 63

Page 15: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

xiv

Gambar 4.5 Tampilan Halaman Menu Pengumuman 63

Gambar 4.6 Tampilan Halaman Login Admin 64

Gambar 4.7 Tampilan Halaman Menu Perlombaan (Admin) 65

Gambar 4.8 Tampilan Halaman Menu File Info 66

Gambar 4.9 Tampilan Halaman Menu Perhitungan 66

Gambar 4.10 Tampilan Input Perlombaan, Kuota Peserta dan Status Lomba 67

Gambar 4.11 Tampilan Kriteria Beserta Bobot Perlombaan 67

Gambar 4.12 Tampilan Penilaian Kriteria (Weighted Product) 68

Gambar 4.13 Tampilan Hitung Mahasiswa Pendaftar 69

Gambar 4.14 Tampilan Normalisasi Bobot 69

Gambar 4.15 Tampilan Hasil Rekomendasi Peserta (Weighted Product) 70

Gambar 4.16 Tampilan Penilaian Kriteria (TOPSIS) 71

Gambar 4.17 Tampilan Hasil Nilai Matriks 72

Gambar 4.18 Tampilan Hasil Nilai Matriks Ternormalisasi 72

Gambar 4.19 Tampilan Hasil Nilai Bobot Ternormalisasi 73

Gambar 4.20 Tampilan Hasil Matriks Ideal Positif/Negatif 73

Gambar 4.21 Tampilan Hasil Jarak Ideal Positif/Negatif 74

Gambar 4.22 Tampilan Lanjutan Hasil Jarak Ideal Positif/Negatif 74

Gambar 4.23 Tampilan Hasil TOPSIS 75

Gambar 4.24 Tampilan Hasil Perbandingan Output Alternatif Sistem 88

Gambar 4.25 Tampilan Hasil Perbandingan Waktu Eksekusi Sistem 89

Gambar 4.26 Grafik Perbandingan Kecepatan Eksekusi 90

Page 16: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

xv

DAFTAR LAMPIRAN

Lampiran 1 Listing Program A-1

Lampiran 2 Angket Penelitian B-1

Lampiran 3 Daftar Riwayat Hidup C-1

Page 17: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

BAB 1 PENDAHULUAN

1.1 Latar Belakang Masalah

Pada era kompetitif ini, unggul dalam persaingan merupakan tujuan

setiap perusahaan dan organisasi. Penggunaan teknologi informasi adalah salah

satu cara untuk memenangkan persaingan. Membangun sistem berbasis

teknologi informasi secara benar, terstruktur dan sederhana diperlukan untuk

keunggulan bersaing perusahaan dan organisasi modern. Dalam dunia

pendidikan tinggi, universitas merupakan salah satu tempat efektif

mentransformasikan ilmu dan juga sarana pendidikan mahasiswa. Setiap

universitas pasti ingin mempunyai dan menghasilkan mahasiswa-mahasiswa

yang berprestasi, mahasiswa berprestasi diartikan sebagai mahasiswa yang

memiliki potensi dalam bidang akademik. (Fatta, 2007).

Fasilkom-TI USU selalu mengirimkan mahasiswa setiap tahunnya untuk

mengikuti perlombaan atau kompetisi baik dibidang teknologi maupun bidang

perlombaan lainnya, tetapi jarang sekali dilakukan proses seleksi bagi

mahasiswa yang ingin mengikuti perlombaan dan belum ada parameter yang

sesuai untuk penilaian secara objektif. Mahasiswa terkadang mendaftar sendiri

jika ada perlombaan tanpa ada proses seleksi didalamnya sehingga kurangnya

persiapan untuk bersaing.

Alasan pemilihan topik ini salah satunya karena proses seleksi hanya

sebatas di pemberkasan dan cenderung lama dalam mengumumkan peserta yang

lolos karena masih dilakukan secara manual seperti mengumumkannya melalui

kertas yang ditempelkan di mading kampus. Setiap kampus dalam menyeleksi

mahasiswa untuk lomba seharusnya dilakukan berdasarkan kriteria aspek

akademik. Untuk itu, perlu dibuat software Sistem Pendukung Keputusan (SPK)

berbasis web dalam konteks ini.

DSS (Decission Support System) atau Sistem Pendukung Keputusan

(SPK) merupakan sistem informasi interaktif yang dibangun untuk mendukung

solusi atas suatu masalah atau untuk mengevaluasi suatu peluang. Aspek yang

diperlukan untuk membuat sistem pendukung keputusan yaitu data,

Page 18: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

2

memberikan antar muka pengguna yang mudah dan dapat menggabungkan

pemikiran pengambilan keputusan.

Yoon (Sri Kusumadewi, 2006) menjelaskan bahwa metode Weighted

Product (WP) merupakan sebuah metode penyelesaian dengan konsep perkalian

untuk menghubungkan nilai atribut, dimana nilai harus dipangkatkan terlebih

dahulu dengan bobot atribut yang bersangkutan. Disamping itu, (Gayatri et al.,

2013) metode TOPSIS didasarkan pada konsep bahwa alternatif yang dipilih

harus memiliki Euclidean Distance terpendek dari solusi ideal positif dan

terjauh dari solusi ideal negatif. Metode WP dan TOPSIS dipilih karena

merupakan bagian dari konsep Multi-Attribut Decision Making (MADM)

dimana diperlukan normalisasi pada perhitungannya.

Berdasarkan latar belakang yang sudah disampaikan, maka penulis ingin

mengimplementasikan dan menganalisa perhitungan algoritma WP dan TOPSIS

ke dalam Sistem Pendukung Keputusan Penentuan Kandidat Peserta

Perlombaan Bagi Mahasiswa Fasilkom-TI USU yang mampu menampung

banyak lomba sehingga tentunya menampung banyak kriteria yang harus

diperhitungkan sesuai dengan konsep Multi-Attribut Decision Making

(MADM).

Pada analisis perbandingannya, penulis akan membandingkan jarak nilai

melalui Euclidean Distance yang bertujuan untuk melihat seberapa jauh jarak

perbedaan antara kedua algoritma yang digunakan, selain itu akan dilakukan

juga analisis kompleksitas kedua algoritma melalui Big Theta serta

membandingkan performa Running Time (ms) menggunakan Microtime

Function pada pemrograman PHP dengan tujuan untuk melihat kecepatan

eksekusi antara kedua metode tersebut.

1.2 Rumusan Masalah

Adapun rumusan masalah yang akan dibahas pada penelitian ini adalah

bagaimana menganalisis dan merekomendasikan kandidat peserta lomba

dengan menerapkan metode WP dan TOPSIS melalui sistem pendukung

keputusan sehingga proses seleksi yang masih manual menjadi tersistem.

Page 19: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

3

1.3 Batasan Masalah

Batasan masalah penelitian sebagai berikut:

1. Sistem pendukung keputusan ini hanya dirancang untuk pihak kampus

terkhusus Fasilkom-TI USU dalam memilih kandidat peserta lomba terbaik

dan layak untuk berkompetisi.

2. Analisis perbandingan menggunakan Euclidean Distance dan parameter

untuk mengukur performa algoritma menggunakan Running Time (ms)

melalui fungsi Microtime, serta kompleksitas algoritma menggunakan Big

Theta.

3. Pengumpulan data dilakukan dengan cara wawancara dan pengisian angket

penelitian untuk mendapatkan standarisasi bobot kriteria perlombaan.

4. Indikator penilaian hanya berdasarkan pada bidang web development

competition dari seorang web programmer pada salah satu perusahaan.

5. Kriteria yang menjadi penilaian terbagi menjadi tiga jenis utama meliputi

tes teori dan tes praktik yang sifatnya offline test serta berkas pendukung

yang sifatnya based on web.

6. Bahasa pemograman yang digunakan yaitu PHP, Javascript dan MySQL

sebagai sistem manajemen database.

7. Algoritma yang digunakan yaitu Weighted Product dan Topsis serta

implementasi sistem menggunakan platform website.

1.4 Tujuan Penelitian

Tujuan utama dari penelitian ini adalah merancang dan membangun

sistem pendukung keputusan untuk penentuan kandidat peserta lomba

berdasarkan kriteria aspek akademik serta mengimplementasikan metode WP

dan TOPSIS dalam perhitungan untuk memberi gambaran perbandingan kinerja

dan performa metode dari segi jarak nilai, tingkat akurasi, kecepatan eksekusi

hingga kompleksitas algoritma.

1.5 Manfaat Penelitian

Manfaat yang diharapkan dari penelitian ini adalah dapat memudahkan

pihak kampus terkhusus Fasilkom-TI USU dalam merekomendasikan

mahasiswa yang terbaik dan layak untuk menjadi kandidat peserta lomba yang

siap berkompetisi.

Page 20: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

4

1.6 Metodologi Penelitian

Metode penelitian yang dilakukan dalam penelitian ini adalah:

1. Studi Pustaka

Pada tahap ini dilakukan pengumpulan referensi yang diperlukan dalam

penelitian. Hal ini dilakukan untuk memperoleh informasi dan data yang

diperlukan untuk penulisan penelitian ini. Referensi yang digunakan dapat

berupa buku, jurnal, artikel, situs internet yang berhubungan dengan Sistem

Pendukung Keputusan, metode Weighted Product. Dan TOPSIS

2. Pengumpulan Data

Pada tahap ini dilakukan pengumpulan data perlombaan terdahulu guna

evaluasi studi kasus melalui website fakultas atau media sosial serta

pengumpulan data standarisasi bobot perlombaan dari instansi melalui

wawancara atau pengisian angket penelitian

3. Analisa dan Perancangan

Berdasarkan ruang lingkup penelitian, penulis melakukan analisa terhadap

apa saja yang dibutuhkan dalam penelitian dan perancangan menggunakan

algoritma weighted product untuk dirancang dalam sebuah diagram alir

(flowchart), ishikawa diagram, use case scenario, rancangan aplikasi, dan

pembuatan user interface aplikasi.

4. Implementasi

Pada tahap ini, membuat sebuah system dengan menggunakan Bahasa

pemrograman sesuai dengan diagram alir yang telah dirancang. Algoritma

weighted product selanjutnya akan diimplementasikan menggunakan

bahasa pemrograman PHP, Javascript, dan MySQL sebagai database.

5. Pengujian

Pada tahap ini, merupakan tahapan pengujian apakah aplikasi yang di buat

telah berhasil berjalan sesuai dengan kebutuhan yang ditentukan

sebelumnya dan melakukan perbaikan kesalahan jika masih tedapat error

pada aplikasi.

Page 21: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

5

6. Dokumentasi

Pada tahap ini, penelitian yang telah dilakukan didokumentasikan mulai

dari tahap analisa sampai kepada pengujian dalam bentuk skripsi.

1.7 Sistematika Penulisan

Agar pembahasan lebih sistematis, maka tulisan dari penelitian ini dibuat dalam

lima bab, yaitu:

BAB I PENDAHULUAN

Bab ini akan menjelaskan mengenai latar belakang penelitian judul skripsi

“Sistem Penentuan Kandidat Peserta Lomba Bagi Mahasiswa Dengan

Analisis Perbandingan Algoritma Weighted Product (WP) dan Technique

for Order by Similarity to Ideal Solution (TOPSIS)”. Dalam bab ini juga

akan dijelaskan rumusan masalah, batasan masalah, tujuan penelitian,

manfaat penelitian, metode penelitian, dan sistematika penulisan.

BAB II LANDASAN TEORI

Berisi tentang penjelasan mengenai definisi sistem pendukung keputusan,

metode WP dan metode TOPSIS .

BAB III ANALISIS DAN PERANCANGAN SISTEM

Berisi tentang analisis mengenai proses kerja metode Weighted Product

dan metode TOPSIS dalam penentuan kandidat peserta lomba, serta

perancangan antarmuka pengguna.

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Pada bab ini berisi tentang pembuatan sistem dan coding sesuai dengan

analisis dan rancangan sistem, kemudian dilakukan pengujian sistem.

BAB V KESIMPULAN DAN SARAN

Bab terakhir akan berisi tentang kesimpulan yang diperoleh setelah

menyelesaikan tugas akhir ini serta saran-saran yang dapat diberikan

untuk melakukan pengembangan perangkat lunak lebih lanjut.

Page 22: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

6

BAB 2

LANDASAN TEORI

2.1 Sistem Pendukung Keputusan

Sistem pendukung keputusan diperkenalkan oleh G. Anthony Gorry dan

Michael S. Scott Morton. Keduanya adalah professor dari MIT menulis artikel dalam

jurnal yang berjudul “A Framework for Management Information System”. Mereka

mengembangkan kerangka pemikiran tentang pemanfaatan aplikasi komputer pada

proses pengambilan keputusan bagi level managemen. Berdasarkan kerangka ini dapat

di defenisikan bahwa sistem pendukung keputusan ini berkaitan erat dengan sistem

informasi atau model analisis yang dirancang untuk membantu para pengambil

keputusan dan para professional agar mendapat informasi yang akurat. Sistem

Pendukung Keputusan (SPK) merupakan implementasi teori-teori pengambilan

keputusan yang telah diperkenalkan oleh ilmu-ilmu seperti operation research dan

management science (Rahman, 2008). Hanya bedanya adalah bahwa jika dahulu untuk

mencari penyelesaian masalah yang dihadapi harus dilakukan perhitungan iterasi secara

manual, saat ini komputer PC telah menawarkan kemampuannya untuk menyelesaikan

persoalan yang sama dalam waktu relatif singkat.

Keberadaan sistem pendukung keputusan ini bukan untuk menggantikan peran

pihak terkait, tetapi menjadi sarana pendukung bagi mereka. Sistem ini

mempresentasikan permasalahan terkait yang dihadapi sehari-hari ke dalam bentuk

kuantitatif, misal dalam bentuk model matematika. Beberapa definisi sistem pendukung

keputusan yang lain menjabarkan sistem pendukung keputusan sebagai sekumpulan

tools komputer yang terintegrasi yang mengijinkan seorang pengambil keputusan untuk

berinteraksi langsung dengan komputer untuk menciptakan informasi yang berguna.

2.1.1 Tahapan Pengambilan Keputusan

Proses pengembangan sistem pendukung keputusan :

1. Tahap Pra Desain

Tahap A : Perencanaan. Pada tahap ini menentukan kebutuhan sistem,

mendiagnosa masalah dan menentukan tujuan pengembangan sistem pendukung

keputusan.

Page 23: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

7

Tahap B : Penelitian. Melihat kebutuhan pengguna, melihat sumber daya yang

telah tersedia dilingkungan sistem pendukung keputusan yang akan dibangun.

Tahap C : Analisis. Menentukan pendekatan pengembangan yang terbaik,

menentukan apa saja kebutuhan sumber daya yang akan dibutuhkan pada pembangunan

sistem pendukung keputusan, menentukan model normatif yaitu model yang

menyatakan bahwa alternatif yang terpilih adalah alternatif yang terbaik dari semua

alternatif yang ada.

2. Tahap Desain

Desain antar muka, dialog, desain basis data, desain model dan desain komponen

pengetahuan.

3. Tahap Kontruksi

Mengimplementasikan semua tahap desain ke dalam program sistem pendukung

keputusan.

4. Tahap Impelementasi

Melakukan pengujian, evaluasi, dan pelatihan.

5. Tahap Pemeliharaan dan Dokumentasi

Melakukan pemeliharaan dan dokumentasi.

6. Tahap Adaptasi

Melakukan proses secara berulang-ulang untuk meningkatkan kualitas sistem.

2.1.2 Arsitektur Umum Sistem Pendukung Keputusan

Menurut (Kusrini, 2007), arsitektur pendukung sebuah sistem pendukung keputusan

digambarkan seperti gambar 2.1:

Gambar 2.1 Arsitektur sistem pendukung keputusan

Page 24: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

8

Berdasarkan gambar 2.1, komponen penyusun sistem pendukung keputusan terdiri atas

empat, yaitu:

1. Subsistem manajemen data: subsistem ini mencakup database, yang berisi

data-data relevan untuk situasi tersebut dan dikelola sebuah perangkat lunak

(software) yang disebut Sistem Manajemen Database (SMDB).

2. Subsistem manajemen model: model merupakan suatu tiruan dalam alam

nyata. Basis model dapat memberi para pengambilan keputusan akses kepada

berbagai model dan membantu dalam pengambilan keputusan. Basis model

dapat mencakup manajemen perangkat lunak berbasis model atau model base

management software (MBSM).

3. Subsistem manajemen berbasis pengetahuan: subsistem ini dapat mendukung

subsistem lain atau bertindak independen. Dengan subsistem ini pengambilan

keputusan akan lebih cerdas.

4. Subsistem antarmuka pengguna: subsistem ini disebut juga subsistem

manajemen dialog. Subsistem ini memungkinkan pengguna untuk berinteraksi

dengan sistem yang dibuat.

2.2 Weighted Product (WP)

Metode Weighted Product (WP) merupakan metode pengambilan keputusan dengan

cara perkalian ranting-ranting atribut dengan tujuan menghubungkan ranting-ranting

tersebut, dimana ranting setiap atribut terlebih dahulu harus dipangkatkan dengan bobot

atribut yang bersangkutan (Diana, 2018).

Langkah langkah perhitungan metode Weighted Product (Fajarwati et al., 2018)

yaitu:

1. Menentukan kriteria

2. Menentukan nilai bobot dari masing masing kriteria (w)

3. Menyederhanakan kriteria bobot (normalisasi) agar total bobot kriteria ∑ 𝑤𝑗 = 1

dengan cara

𝑤𝑗 = 𝑤𝑗

Σ𝑤𝑗……………………………………… . . ………………(1)

Keterangan:

𝑤𝑗= bobot atribut

Page 25: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

9

Σ𝑤𝑗 = jumlah total bobot keseluruhan

4. Menghitung nilai vektor S

𝑆𝑖 = Π𝑗=1𝑛 𝑥𝑖𝑗

𝑤𝑗 , 𝑖 = 1,2, … , 𝑛……………………………… . (2)

Keterangan:

Si = menyatakan preferensi alternatif dianalogikan sebagai vektor S

∏ = Phi (perkalian)

x = menyatakan nilai kriteria

w = menyatakan bobot kriteria

i = menyatakan alternatif

j = menyatakan kriteria

n = menyatakan banyaknya kriteria

wj = pangkat bernilai positif untuk atribut keuntungan dan bernilai negatif untuk

atribut biaya

5. Menghitung nilai vektor V

𝑉𝑖 = Π𝑗=1𝑛 𝑥𝑖𝑗

𝑤𝑗

Π𝑗=1𝑛 (𝑥𝑗)

𝑤𝑗 ; 𝑖 = 1,2, … , 𝑛 ……………… .……………(3)

Keterangan:

Vi = menyatakan preferensi alternatif dianalogikan sebagai vektor V

∏ = Phi (perkalian)

x = menyatakan nilai kriteria

w = menyatakan bobot kriteria

i = menyatakan alternatif

j = menyatakan kriteria

n = menyatakan banyaknya kriteria

wj = pangkat bernilai positif untuk atribut keuntungan dan bernilai negatif untuk

atribut biaya

Dimana nilai vektor (V) merupakan alternatif pilihan yang akan dipakai dalam

penentuan peringkat masing-masing vektor S dengan nilai total vektor S

6. Mencari nilai tertinggi dari hasil perhitungan vektor V

Page 26: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

10

2.3 Technique for Order Preference by Similarity to Ideal Solution (TOPSIS)

Topsis menurut Hwang dan Zeleny didasarkan pada konsep dimana alternatif

terpilih yang baik tidak hanya memiliki jarak terpendek dari solusi ideal positif,

namun memiliki jarak terpanjang dari solusi ideal negatif (Sri Kusumadewi,

2006).

Adapun langkah metode Topsis (Kurnia, 2018) adalah sebagai berikut :

1. Menentukan kriteria dan pembobotan

2. Menentukan alternatif

3. Menentukan normalisasi matriks keputusan, Nilai normalisasi dihitung dengan

𝑟𝑖𝑗 =𝑋𝑖𝑗

√∑ 𝑋𝑖𝑗2𝑚

𝑖=1

…………………………………………………(1)

Keterangan :

𝑟𝑖𝑗 = 𝑟𝑎𝑡𝑖𝑛𝑔 𝑘𝑖𝑛𝑒𝑟𝑗𝑎 𝑡𝑒𝑟𝑛𝑜𝑟𝑚𝑎𝑙𝑖𝑠𝑎𝑠𝑖

𝑥𝑖𝑗 = 𝑛𝑖𝑙𝑎𝑖 𝑐𝑟𝑖𝑝𝑠

4. Menentukan bobot ternormalisasi matriks keputusan , Nilai bobot ternormalisasi

𝑦𝑖𝑗 = 𝑤𝑖𝑗. 𝑟𝑖𝑗 …………………………………………… . . . . (2)

5. Menentukan matriks solusi ideal positif dan matriks solusi ideal negatif

𝐴+ = (𝑦1+, 𝑦2,……

+ 𝑦𝑛+)

𝐴− = (𝑦1−, 𝑦2,……

− 𝑦𝑛−)……………………………………… . (3)

Dengan syarat :

𝑦𝑗+: {max 𝑦𝑖𝑗 𝑖𝑓 𝑎𝑡𝑟𝑖𝑏𝑢𝑡 𝑏𝑒𝑛𝑒𝑓𝑖𝑡 &min 𝑦𝑖𝑗 𝑖𝑓 𝑎𝑡𝑟𝑖𝑏𝑢𝑡 𝑐𝑜𝑠𝑡}

𝑦𝑗−: {min 𝑦𝑖𝑗 𝑖𝑓 𝑎𝑡𝑟𝑖𝑏𝑢𝑡 𝑏𝑒𝑛𝑒𝑓𝑖𝑡 &max 𝑦𝑖𝑗 𝑖𝑓 𝑎𝑡𝑟𝑖𝑏𝑢𝑡 𝑐𝑜𝑠𝑡}

6. Menentukan jarak antara nilai setiap alternatif (𝐴𝑖) dengan solusi ideal positif dan

solusi ideal negatif.

Jarak antara alternatif dengan solusi ideal positif dirumuskan sebagai berikut :

𝐷𝑖+ = √∑

𝑛

𝑗=1(𝑦𝑗

+ − 𝑦𝑖𝑗)2…………………… .………(4)

Jarak antara alternatif dengan solusi ideal negatif dirumuskan sebagai berikut :

𝐷𝑖+ = √∑

𝑛

𝑗=1(𝑦𝑖

− − 𝑦𝑖𝑗 )2…………………… . . … .… (5)

Keterangan :

Page 27: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

11

𝐷𝑖+ = 𝑗𝑎𝑟𝑎𝑘 𝑎𝑛𝑡𝑎𝑟𝑎 𝑎𝑙𝑡𝑒𝑟𝑛𝑎𝑡𝑖𝑓 (𝐴𝑖) 𝑠𝑜𝑙𝑢𝑠𝑖 𝑖𝑑𝑒𝑎𝑙 𝑝𝑜𝑠𝑖𝑡𝑖𝑓

𝐷𝑖− = 𝑗𝑎𝑟𝑎𝑘 𝑎𝑛𝑡𝑎𝑟𝑎 𝑎𝑙𝑡𝑒𝑟𝑛𝑎𝑡𝑖𝑓 (𝐴𝑖) 𝑠𝑜𝑙𝑢𝑠𝑖 𝑖𝑑𝑒𝑎𝑙 𝑛𝑒𝑔𝑎𝑡𝑖𝑓

7. Nilai preferensi untuk setiap alternatif diberikan sebagai berikut :

𝑉𝑖 =𝐷𝑖

𝐷𝑖− + 𝐷𝑖

+………………………………………… . . … (6)

2.4 Likert Scale

Skala likert adalah skala pengukuran yang dikembangkan oleh Likert pada tahun 1932.

Dalam pembahasannya beliau memberikan hasil interpretasi dalam bentuk “survei

pendapat” (Joshi et al., 2015). Skala ini memiliki empat atau lebih butir-butir pertanyaan

yang dikombinasikan sehingga membentuk sebuah skor/nilai yang merepresentasikan

sifat individu, misalkan pengetahuan, sikap, dan perilaku. Dalam proses analisis data,

komposit skor, biasanya jumlah atau rataan, dari semua butir pertanyaan dapat

digunakan.

2.5 Euclidean Distance

Euclidean Distance adalah jarak diantara dua buah objek atau lebih. Euclidean Distance

dapat digunakan untuk mengukur kesamaan (matching) sebuah objek dengan objek

lainnya. Dapat dikatakan sama bila objek tersebut mendekati nol (Dodi Himawan,

2019). Euclidean Distance diantara titik 𝐴 = (𝑎1, 𝑎2,… 𝑎𝑛) 𝑑𝑎𝑛 𝐵 = (𝑏1, 𝑏2, … 𝑏𝑛)

didefinisikan sebagai :

√(𝑎1 − 𝑏1)2 + (𝑎2 − 𝑏2)2+. . . +(𝑎𝑛 − 𝑏𝑛)2 = √∑𝑛𝑖=1 (𝑎𝑖 − 𝑏𝑖)2

2.6 Microtime Function

Microtime function adalah salah satu fungsi pada bahasa pemrograman PHP yang

digunakan untuk mengembalikan timestamp unix saat ini dengan satuan mikrodetik

(Sucipto et al., 2019).

2.7 Kompleksitas Algoritma

Kompleksitas algoritma dinyatakan secara asimptotik dengan notasi big-Θ. Jika

kompleksitas waktu untuk menjalankan suatu algoritma dinyatakan dengan T(n), fungsi

T(n) didefenisikan dalam Θ(g(n)). Fungsi T(n) diberi batas atas dan bawah oleh

beberapa kelipatan konstanta nilai positif dari g(n) untuk semua n bernilai besar, yaitu

jika ada beberapa konstanta positif 𝑐1 dan 𝑐2 dan beberapa bilangan bulat bukan negatif

𝑛0 (Levitin, 2009) dan memenuhi 𝑐2g(n) ≤ T(n) ≤ 𝑐1g(n). Maka kompleksitas dapat

dinyatakan dengan :

T(n) = Θ(g(n)).

Page 28: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

12

2.7 Penelitian yang Relevan

Beberapa penelitian yang relevan dengan penelitian yang akan dilakukan oleh penulis

adalah sebagai berikut :

1. Pada penelitian terdahulu yang dilakukan oleh Sunarti pada tahun 2018 yang

berjudul “Perbandingan Metode TOPSIS Dan SAW Untuk Pemilihan Rumah

Tinggal” mendapatkan hasil pengujian bahwa metode SAW lebih direkomendasi

untuk pemilihan rumah tinggal dibandingkan metode TOPSIS karena hasilnya lebih

besar disebabkan pembobotan kriteria menjadi faktor penting yang mempengaruhi

perhitungan metode SAW dan TOPSIS.

2. Penelitian yang dilakukan oleh M. Jhon Elfan, Desi Andreswari, dan Kurnia

Anggriani pada tahun 2016 dalam penelitian yang berjudul “Pemilihan Jenis Kayu

Untuk Mebel Dengan Metode Weighted Product (WP) & Technique for Order

Preference By Similarity To Ideal Solution (TOPSIS)” menghasilkan tingkat akurasi

cenderung rendah sebesar 37,5% dikarenakan untuk menemukan solusi alternatif,

data kriteria yang diujikan sistem bukan hanya diolah dengan membandingkan

kesamaan antara kriteria uji dengan krieria yang dimiliki oleh alternatif, tetapi

dengan melakukan perhitungan nilai bobot setiap kriteria berdasarkan rumus

perhitungan pada metode Weighted Product dan TOPSIS.

3. Penelitian yang dilakukan oleh Suhartono, Didit dan Tika Sari pada tahun 2019

dengan judul “Perbandingan Metode Weighted Product dan TOPSIS Dalam

Menentukan Penerima Program Keluarga Harapan” menghasilkan tingkat akurasi

hasil sebesar 89,48% dimana metode TOPSIS menjadi metode yang lebih sesuai

pada studi kasus pemilihan kelayakan penerima PKH.

Page 29: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

13

BAB 3 ANALISIS DAN PERANCANGAN

3.1. Analisis Sistem

Analisis sistem merupakan suatu teknik penguraian atau pemecahan masalah dari suatu

sistem informasi menjadi komponen-komponen tertentu dengan tujuan untuk

melakukan identifikasi serta melakukan evaluasi permasalahan, kesempatan dan

hambatan yang terjadi dengan harapan dapat diajukan usulan perbaikan. Analisis sistem

juga dilakukan guna menguji kelayakan sebuah sistem. Berikut beberapa data jumlah

lomba dan peserta yang pernah di ikuti oleh mahasiswa Fasilkom-TI untuk selanjutnya

di analisa tindakan apa yang bisa dilakukan untuk menyikapi adanya perlombaan yang

akan datang

Tabel 3.1 Data perlombaan dan peserta

No

.

Nama Nim Prestasi Lomba Diselenggarak

an

1. Habibie

Satrio

Nugroho

151401046 Juara I Place

Winner Of

Business

Plan ASIA

Young

Sociopreneursh

ip Leaders

Exchange

28 November

- 2 Desember

2016 di

Singapure

2. Jabbar Ali

Panggabean

Putri Meila

Vista

Novianti

Artika Sari

121401069

141401105

141401095

Best

Prototype

Lomba Inovasi

Nasional

UNEJ

Competition

(UCC) 2016

1-4 September

2016 di

Universitas

Jember

3. Wahyu Fatur

Rizky

Habibie

Satrio

Nugroho

151401026

151401046

Juara 1

Kompetisi

National

Leadership

Project

Competition

2017

Inspiring

Youth Leaders

17 Februari

2017 di

Jakarta.

4. Wahyu Fatur

Rizky

151401026 Juara 2

Biology

Business

Challenge

3rd Annual

Biology

Exhibition

2017

25-28 April

2017 di

Universitas

Page 30: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

14

Negeri

Medan.

5. M.Rizky

Syahputra

151401014 Juara 3

dalam

National

Leadership

Project

Competition

2017

Inspiring

Youth

Leadership

Forum

21 Desember

2016 di

Jakarta.

6. Theresia

Aruan

121402078 Best Group

of Social &

Culture at

the event

Youth

Excursion

8 Februari

2017 di

Malaysia.

7. Tim R4 Putri

Sumut

(Kompas

USU) an.

Hafni Silfizah

Hasibuan,

dkk

131402009 Medali

Perunggu

Nomor

Lomba Sprint

Race

EksibisiJaw P

ON XIX a

Barat Cabang

Olahraga

Arung Jeram

29 September

2016 di

Bandung Jawa

Barat.

8. M.Putra

Yuszar

131402062 Juara 3

Kategori

Pengembang

an Bisnis

TIK

Pagelaran

Mahasiswa

Nasional

Bidang

Teknologi

Informasi dan

Komunikasi

(GemasTIK)

ke-9

27-29 Oktober

2016 di

Universitas

Indonesia.

9. Afrizal Yusuf

Rkt

Abdul Latif

Wahid

Nasution

Alex W.A.

Simanjutak

131402010

131402058

131402078

The Most

Creative

Team

Malaysian

Global

IDEAPreneur

Week 2017

23 April 2017

di Malaysia.

10. Abdul Latif

Wahid

Nasution

131402058 Runner Up

Wnner (Juara

2)

Youth

Entrepreneursh

ip Symposium

13-16 Juni

2017 di NUS

Business

School

Singapura.

Page 31: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

15

11. Ilham

Syahputra

161402029 Artechno

2016-1st

Design

Competition

Winner

Artechno USU

2016

Di Universitas

Sumatera

Utara

12. Teguh

Subiyantoro

141401094 Artechno

2016-2nd

Design

Competition

Winner

Artechno USU

2016

Di Universitas

Sumatera

Utara

13. Ibnu Habibie

M Aidiel

Rahcman P

Mhd Faris

Pratama

141402002

141402086

141402018

Juara 1

Pengembang

an Bisnis

TIK

Artechno USU

2017

10-12 Oktober

2017 di

Universitas

Sumatera

Utara

14. M Aidiel

Rachman

Syaipul

Anwar Husen

Lubis

Muhammad

Fadly

Tanjung

141402086

141402011

141402016

Juara 3 UX

Design

Artechno USU

2017

10-12 Oktober

2017 di

Universitas

Sumatera

Utara

15. Yulia Shafira

Butar Butar

Putri Meila

Vista

141402052

141401105

Juara 1

Design

Aplikasi

Qur'an

Musabaqah

Tilawatil

Qur'an 2017

20-22 Oktober

2017 di

Universitas

Sumatera

Utara

16. Nabilah

Hannani

Yulia Shafira

Butar Butar

Putri Meila

Vista

141402117

141402052

141401105

Juara 1

Karya Ilmiah

Nasional

Lomba

Kepenulisan

Nasional

(LKN)

Di Universitas

Negeri Jakarta

17. M Faris

Pratama

141402018 Juara Utama

Idea Rush

Gemastik 10

Idea Rush

Gemastik 10

Di Universitas

Indonesia

Page 32: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

16

18. Bintang Thu

nder

141401116 Partisipan Socialpreneurs

Program 2015

16-20

September

2015 Di

Universitas

Gajah Mada

19. Jabbar Ali

Panggabean

121401069 Best

Participant

Youthpreneur Di Malaysia

20. Joko

Kurnianto

121402102 Partisipan Sawasdee

Thailand

Project

16 Januari -

27 Februari

2015 dii

Thailand

21. Fitri

Ramadhani

121401040 Partisipan Young ICT

Leader's

Forum 2015

9-11

Desember

2015 Busan,

Korea Selatan

22. Nugra

Atsaury

Saragih

121402092 The Best

Male

Delegate

Indonesia-

Thailand

Friendship and

Culture

Exchange

Program 2014

(IT-FCP 2014)

09-13 Mei

2014 di

Bangkok,

Thailand

23. Jabbar Ali

Panggabean

121401069 Juara I Mahasiswa

Berprestasi

2016

26 April 2016

di Universitas

Sumatera

Utara

24. Jabbar Ali

Panggabean

121401069 Juara II Mahasiswa

Berprestasi

2015

28 Maret 2015

di Universitas

Sumatera

Utara

25. Jabbar Ali

Panggabean

121401069 Juara III Olimpiade

Sains Nasional

Pertamina

2014

27 November

2014 di Depok

26. Jabbar Ali

Panggabean

121401069 Juara II Pesta Akbar

Mentoring

yang Keren

yang

Mentoring

05-06

Desember

2014 di

Pendopo USU

Page 33: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

17

27. Jabbar Ali

Panggabean

121401069 Juara III Pesta Akbar

Mentoring

yang Keren

yang

Mentoring

05-06

Desember

2015 di

Pendopo USU

28. Jabbar Ali

Panggabean

121401069 Juara I Catur Al-

Khuwarizmi

Fetival 2014

19 Desember

2014 di

Pendopo USU

29. Putri Meila

Vista

141401105 Juara

Harapan II

Nation Essay

Competition

26 November

2016

30 Putri Meila

Vista

141401105 Liaison

Officer

USU be

Profesional

2014

15 – 19

Oktober 2014

31. Putri Meila

Vista

141401105 Panitia Science

Competition

2014

14 Desember

2014 di

Universitas

Negeri

Semarang

32. Putri Meila

Vista

141401105 Juara III

Design

Aplikasi Al-

Quran

Musabaqah

Tilawatil

Quran

10-12 Oktober

2016 di

Auditorium

USU

33. Putri Meila

Vista

141401105 Best

Prototype

Lomba Inovasi

Nasional

UNEJ Creative

Competition

(UCC) 2016

01-04

September

2014 di

Jember

34. Wahyu Fatur

Rizky

151401026 Juara I

Poster Publik

Qurban

menandakan

Cinta Kepada

Allah dan

Cinta Kepada

Sesama

12 September

2016 USU

35. Wahyu Fatur

Rizky

151401026 Juara I

Kompetisi

Nasional

Leadership

Project

Competition

17 Februari

2017

Page 34: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

18

Dari pengumpulan data pada tabel diatas, dapat dianalisa bahwa keikutsertaan

mahasiswa terhadap lomba tidak hanya pada perlombaan dibidang IT saja namun

banyak bidang lomba diluar IT yang mereka ikuti dengan menyesuaikan keahlian/skill

yang mereka miliki. Pada tabel itu juga dapat diidentifikasi bahwa frekuensi adanya

perlombaan akan selalu ada setiap bulannya ataupun setiap tahunnya. Maka hal yang

bisa dievaluasi adalah perlunya Sistem Pendukung Keputusan (SPK) penentuan

kandidat peserta yang mampu menampung banyak bidang lomba dan menampung

banyaknya kriteria dari masing-masing perlombaan yang berbeda yang nantinya

diharapkan agar dapat menemukan rekomendasi peserta yang terbaik serta persiapan

mengikuti perlombaan bisa lebih matang dan sesuai dengan kriteria. Selain itu

diharapkan agar jumlah keikutsertaan mahasiswa bisa lebih optimal lagi.

3.1.1. Analisis Masalah

Analisis masalah pada dasarnya dilakukan untuk mengidentifikasikan permasalahan

permasalahan yang muncul pada saat proses pembangunan sistem. Hal tersebut

dilakukan untuk mempermudah melakukan perancangan sistem dan meminimalkan

36. Muhammad

Faris Pratama

Muhammad

Aidiel

Rachman

Ibnu Habibie

141402018

141402086

141402002

Juara II

Business

Plan

National

Competition

Business Plan

National

Competition

24 November

2017 di Lippo

Plaza

Universitas

Pelita Harapan

Medan

37. Muhammad

Isa Dadi

Hasibuan

Fiqih Fatwa

Muhammad

Sakta Akbari

141402039

141402118

141402155

Juara I

Kompetisi

Startup

Digital

Digital

Innovation

Lounge (DILo)

Hackathon

Festival 2017

24-25

November

2017 di DILo

Medan

38. Muhammad

Aidiel

Rachman

Muhammad

Noor

Misyuari

Ray Syadera

141402086

141402150

161402067

Juara

II Kompetisi

Startup

Digital

Digital

Innovation

Lounge (DILo)

Hackathon

Festival 2017

24-25

November

2017 di DILo

Medan

Page 35: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

19

kesalahan sehingga aplikasi dapat berjalan dengan baik. Adapun dalam analisis sistem

ini, akan dilakukan analisa meliputi :

1. Bagaimana membangun sebuah aplikasi yang dapat digunakan untuk memilih kandidat

peserta lomba yang direkomendasikan sesuai dengan kriteria masing-masing bidang

perlombaan.

2. Bagaimana tingkat akurasi dari kedua metode yang digunakan apakah output sistem

sesuai dengan output pada perhitungan manual.

3. Bagaimana kinerja atau waktu yang dibutuhkan oleh kedua metode untuk mengeksekusi

program setelah diinput alternatif, kriteria, bobot kriteria, dan nilai per alternatifnya.

4. Apa saja yang mempengaruhi perbedaan output alternatif pada kedua metode tersebut.

Untuk mempermudah identifikasi masalah tersebut, maka digunakan Ishikawa

Diagram (fishbone diagram) yang adalah sebuah alat grafis untuk melakukan

identifikasi, eksplorasi, menggambarkan serta menunjukkan hubungan antara sebab dan

akibat. Ishikawa diagram sistem ini digambarkan seperti pada gambar 3.1.

Gambar 3.1 Ishikawa diagram

3.1.2. Analisis Kebutuhan (Requirements Analysis)

Analisis kebutuhan merupakan sebuah proses yang bertujuan untuk menetapkan fungsi

serta kegunaan perangkat lunak. Analisis kebutuhan dilakukan dengan tujuan untuk

memahami masalah secara komprehensif yang terdapat pada suatu sistem yang

Page 36: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

20

dibangun atau dikembangkan. Secara garis besar analisis kebutuhan akan membahas

kebutuhan sebuah sistem. Adapun analisis kebutuhan sistem dikelompokkan menjadi 2

bagian yaitu:

3.1.2.1. Kebutuhan Fungsional

Kebutuhan fungsional merupakan kebutuhan yang berisi proses-proses apa saja yang

terdapat dalam sistem yang dibangun. Kebutuhan fungsional juga menggambarkan

tujuan (goal) dari dibangunnya sebuah sistem. Adapun kebutuhan fungsional dari

sistem ini adalah:

1. Sistem dapat memberikan solusi dalam merekomendasikan kandidat peserta lomba

di Fasilkom-TI USU dengan mengimplementasikan metode WP untuk selanjutnya

dianalisis perbandingannya dengan metode TOPSIS

2. Sistem dapat diakses kapan saja dimana saja secara online dengan

mengimplementasikan platform website sehingga mahasiswa dapat dengan mudah

mendapatkan informasi pada akun mereka masing-masing.

3. Sistem dapat mengumumkan hasil seleksi secara realtime berupa nama mahasiswa

yang direkomendasikan yang nantinya dapat dilihat pada akun mahasiswa tersebut

3.1.2.2. Kebutuhan Non-fungsional

Kebutuhan non-fungsional sebuah sistem adalah merupakan deskripsi yang dapat

berupa fitur, karakteristik, ataupun batasan serta standarisai sebuah sistem yang dapat

meningkatkan kualitas sistem yang dibangun. Kebutuhan non-fungsional sistem ini

adalah sebagai berikut:

1. Tampilan

Sistem ini dibangun dengan UI/UX yang menarik memakai software desain grafis

Photoshop untuk desain website, sehingga akan meningkatkan tingkat kepuasan

pengguna sistem.

2. Performa

Sistem ini memiliki kualitas yang baik sehingga dapat membantu user dalam

pengambilan keputusan perihal penentuan kandidat peserta lomba.

3. Mudah digunakan

Sistem ini dibangun dengan tampilan (interface) yang user friendly sehingga

memudahkan pengguna dalam penggunaannya.

Page 37: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

21

4. Hemat biaya

Sistem ini tidak memerlukan perangkat tambahan sehingga tidak ada penambahan

biaya dalam penggunaannya.

5. Panduan

Dalam mengatasi kesalahan masukan dari pengguna, sistem ini akan menampilkan

pesan kesalahan (error) atau peringatan.

3.1.3. Analisis Proses

Sistem yang dibangun merupakan sebuah sistem pendukung keputusan dalam

penentuan kandidat peserta lomba di Fasilkom-TI USU. Secara sederhana pengguna

dapat melihat berbagai macam perlombaan (lomba bidang IT, bidang kesenian, dll)

beserta kuota peserta selanjutnya mereka memilih lomba sesuai keinginan mereka,

kemudian sistem akan melakukan perhitungan pembobotan dengan metode Weighted

Product (WP) dilanjut dengan proses perhitungan metode Technique for Order by

Similarity to Ideal Solution (TOPSIS) untuk menganalisis perbandingan jarak nilai

menggunakan Euclidean Distance, tingkat akurasi hingga kecepatan eksekusi program.

Setelah pengguna memilih lomba yang mereka inginkan, pengguna dapat melihat hasil

pengumuman pada akun mereka masing-masing setelah melewati serangkaian seleksi

baik itu tes teori, tes praktik dan mengupload berkas pendukung pada sistem. Berikut

adalah proses-proses yang akan dikerjakan sistem:

1. Penentuan Perlombaan

Sistem yang dibangun akan mampu menampung berbagai jenis perlombaan serta

menampung banyak kriteria dan mahasiswa pendaftar dengan kuota peserta yang

sudah ditentukan untuk dilombakan.

2. Penentuan Kriteria

Sistem yang dibangun akan mampu membantu memberikan rekomendasi

pengambilan keputusan berdasarkan tiga kriteria utama yaitu tes teori, tes praktik,

dan berkas pendukung. Untuk teorinya, standar kriteria yang digunakan

berdasarkan standar kompetensi acuan yaitu SKKNI 2016-282 (Standar

Kompetensi Kerja Nasional) bidang software development subbidang

pemrograman secara umum yang diterbitkan oleh Kementrian Komunikasi dan

Page 38: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

22

Informatika (KOMINFO). Lalu untuk kriteria praktik dan berkas pendukung,

menggunakan aspek akademik mahasiswa seperti hasil nilai studi berupa KHS.

Tabel 3.2 Jenis dan Contoh Kriteria

No Jenis Kriteria Contoh Kriteria

1 Tes Teori Tes tulis pemahaman pemrograman

2 Tes Praktik Tes praktik mempresentasikan karya

3 Berkas Pendukung Mengupload sertifikat lomba sejenis

3. Penentuan Bobot

Bobot kriteria-kriteria penentuan kandidat peserta lomba pada sistem ini

menggunakan tingkat kepentingan berupa skala likert pada tabel 3.2.

Tabel 3.3 Nilai Bobot Kriteria Berdasarkan Skala Likert

Nama Nilai Nilai

Sangat Tidak Penting 1

Tidak Penting 2

Cukup Penting 3

Penting 4

Sangat Penting 5

4. Penentuan Nilai Parameter

Beberapa kriteria yang digunakan dalam sistem ini adalah merupakan data

kualitatif, sehingga untuk memudahkan proses perhitungan perlu dilakukan

klasifikasi data kriteria. Salah satu bidang lomba yang akan dilakukan pengujian

dan analisis pada penelitian ini adalah bidang IT dengan lomba “Web Development

Competition” berhubung untuk mengikuti perlombaan tersebut belum ada

standarisasi bobotnya, maka untuk parameternya sendiri diambil berdasarkan

indikator penilaian melalui survey pendapat dari seorang web programmer di PT.

Cipta Harapan Samudera yang merupakan perusahaan yang bergerak dibidang jasa

angkutan darat dan laut dengan mengacu pada skala likert. Nilai parameter setiap

kriteria dapat dilihat pada tabel 3.4. sesuai data survey yang sudah dilampirkan

pada skripsi ini.

Page 39: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

23

Tabel 3.4 Data Nilai Parameter Kriteria Web Development Competition

No Kriteria Parameter Jenis

Kriteria

Nilai Parameter

(Likert Scale)

1 Memahami konsep

HTML dan CSS

Penting Teori 4

2 Menguasai Bahasa

pemrograman PHP,

Javascript, JQuery dan

Ajax

Sangat

penting

Teori 5

3 Memahami penggunaan

framework PHP

Cukup

penting

Teori 3

4 Memiliki logika, analisa

dan problem solving

yang baik

Penting Teori 4

5 Memahami software

desain

Cukup

penting

Teori 3

6 Menguasai OOP Sangat

penting

Teori 5

7 Memahami konsep web

hosting dan domain

Cukup

penting

Praktik 3

8 Menguasai konsep

manajemen database

MySQL

Sangat

penting

Teori 5

9 Mamahami penggunaan

software version control

(GIT)

Penting Teori 4

10 Melampirkan KHS

berkaitan dengan nilai

pemrograman web

Cukup

penting

Berkas

pendukung

3

11 Penghargaan atau

sertifikat bagi yang

pernah mengikuti lomba

sejenis

Cukup

penting

Berkas

pendukung

3

12 Mampu berinteraksi

serta mempresentasikan

karya dengan baik

Penting Praktik 4

5. Menampung file lampiran

Bila kriteria yang digunakan memerlukan file lampiran dalam penilaiannya,

maka sistem akan menerima berkas unggahan file dari mahasiswa pendaftar

Page 40: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

24

6. Perhitungan alternatif sesuai dengan kriteria lomba

Setelah admin menekan tombol hitung, sistem akan melakukan perhitungan

alternatif rekomendasi kandidat peserta sesuai dengan nilai per kriteria yang

dimasukkan oleh admin termasuk penilaian terhadap unggahan berkas

pendukung dan serangkaian tes teori/praktik.

7. Menampilkan rekomendasi kandidat

Sistem akan menormalisasikan bobot dan menampilkan nama rekomendasi

peserta dalam bentuk tabel dilengkapi dengan perankingan, kecepatan eksekusi

metode, tombol pengumuman dan tombol analisis

8. Mengumumkan hasil ke akun mahasiswa

Bila admin menekan tombol “Umumkan”, maka sistem akan meneruskan hasil

seleksi yang secara otomatis bisa terlihat di akun masing-masing mahasiswa

pendaftar tepatnya pada menu pengumuman

3.2 Pemodelan Sistem

Pada perancangan aplikasi ini, sistem dimodelkan menggunakan Unified Modeling

Language (UML) yang merupakan bahasa spesifikasi standar sebuah model dari

perangkat lunak yang berfungsi untuk menggambarkan komponen-komponen dari

sebuah sistem yang dibangun.

3.2.1 Arsitektur Umum Sistem

General arsitektur adalah perancangan penting yang menggambarkan proses, alur dan

bagaimana interaksi antar komponen dalam suatu sistem. Perancangan keseluruhan

aplikasi akan dijabarkan pada arsitektur umum yang dapat dilihat pada gambar 3.2.

Page 41: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

25

Gambar 3.2 General arsitektur umum

Alur kerja sistem pada general arsitektur diatas, terbagi menjadi 2 komponen utama

yaitu admin dan mahasiswa. Proses awal itu dimulai dari admin yang menginput

informasi lomba (contoh : lomba desain, lomba robotik, lomba web development, dsb)

beserta kuota pesertanya. Lalu admin juga menginput kriteria berupa berkas pendukung,

tes teori dan praktik. Disamping itu mahasiswa registrasi akun masing-masing lalu login

seperti biasa sehingga bisa melihat informasi lomba yang sebelumnya telah diinput oleh

admin. Selanjutnya mahasiswa melakukan serangkaian tes baik teori maupun praktik

secara offline untuk mendapat nilai per kriterianya dan berkas pendukung (contoh:

sertifikat/penghargaan yang pernah mengikuti lomba sejenis atau KHS yang berkaitan

dengan bidang lomba) yang di upload ke sistem. Selanjutnya admin menginput kembali

seluruh nilai kriteria dan sistem akan melakukkan perhitungan Sistem Pendukung

Keputusan (SPK) dengan metode Weighted Product lalu hasilnya dibandingkan dengan

metode Topsis. Setelah itu admin umumkan hasil nama kandidat terpilih yang dapat

dilihat di masing masing akun mahasiswa.

3.2.2 Use Case Diagram

Sebuah use case diagram digunakan untuk menggambarkan fungsi yang diinginkan

ataupun didapatkan dari sebuah sistem yang dibangun. Dengan menggunakan use case

diagram akan membantu untuk membangun sistem berdasarkan perspektif pengguna.

Use case diagram dari sistem pada penelitian ini digambarkan pada Gambar 3.3.

Page 42: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

26

Gambar 3.3 Use case diagram

Berdasarkan gambar 3.3, dapat dilihat bahwa saat pengguna mengakses website, maka

pengguna sistem pertama sekali akan melihat tampilan register dan login dan diikuti

dengan informasi perlombaan yang ada. Pengguna sistem agar dapat mendaftar dan

mengikuti kompetisi, terlebih dahulu mendaftarkan akun pada sistem lalu masuk pada

menu login yang sudah disediakan. Setelah masuk pada menu perlombaan, pengguna

bisa memilih bidang perlombaan lalu mendaftarkan diri.

Berikut adalah narrative use case penentuan kandidat peserta yang dapat diperhatikan

pada tabel 3.5, tabel 3.6, tabel 3.7, tabel 3.8, tabel 3.9, tabel 3.10, tabel 3.11, tabel 3.12,

tabel 3.12 dan tabel 3.14.

Pada tabel 3.5 dibawah ini adalah penjelasan proses dari use case “Register” yang

ditunjukkan oleh diagram use case pada gambar 3.3 sebelumnya dimana pada use case

ini merupakan langkah awal yang harus dilakukan mahasiswa pendaftar sebelum

mendaftarkan diri terhadap salah satu perlombaan.

Page 43: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

27

Tabel 3.5 Narrative Use Case Register

Use case name Register

Actor Mahasiswa

Description Use case menjelaskan bahwa pengguna akan melihat

informasi perlombaan yang tersedia pada menu home dan

untuk mendaftar lomba, mereka harus memiliki akun

terlebih dahulu

Precondition Mahasiswa mengakses website

Typical course of event Aksi Pengguna Respon Sistem

Langkah 1:

Menekan tombol register

Langkah 2:

Sistem akan menampilkan

form yang harus di isi,

berupa nama lengkap,

email, username dan

password

Post Condition Kondisi sukses

Sistem akan menampilkan

pop up yang

memberitahukan

bahwasannya register telah

berhasil

Lanjut pada tabel 3.6 dibawah ini adalah penjelasan proses dari use case “Login” yang

ditunjukkan oleh diagram use case pada gambar 3.3 sebelumnya dimana pada use case

ini setelah mahasiswa berhasil mendaftar akun pada sistem, mahasiswa bisa langsung

masuk ke sistem dengan menekan tombol login.

Page 44: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

28

Tabel 3.6 Narrative Use Case Login

Use case name Login

Actor Mahasiswa

Description Use case menjelaskan bahwa setelah pengguns berhasil

register maka akan direct ke tampilan home untuk

selanjutnya menuju proses login

Pre condition Pengguna berhasil register

Typical course of event Aksi pengguna Respon sistem

Langkah 1:

Menekan tombol login

Langkah 2:

Sistem akan menampilkan

form yang harus di isi,

berupa username dan

password

Post condition Kondisi sukses

Sistem akan menampilkan

pop up yang

memberitahukan

bahwasannya login user

telah berhasil dan masuk ke

menu akun

Pada tabel 3.7 dibawah ini adalah penjelasan proses dari use case “Melengkapi Profil”

yang ditunjukkan oleh diagram use case pada gambar 3.3 sebelumnya dimana pada use

case ini mahasiswa pendaftar pertama kali akan diarahkan ke menu profil setelah

berhasil login dengan tujuan agar dapat mencetak kartu peserta dari data profil yang

sudah dilengkapi.

Tabel 3.7 Narrative Use Case Melengkapi Profil

Use case name Melengkapi Profil

Actor Mahasiswa

Description Use case menjelaskan bahwa pengguna akan diarahkan ke

menu profil untuk melengkapi informasi terkait data

mahasiswa sebelum mendaftar perlombaan.

Page 45: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

29

Precondition Pengguna berhasil login

Typical course of event Aksi Pengguna Respon Sistem

Langkah 1:

Pengguna mengunggah foto

profil dan mengisi data pada

form menu profil

Langkah 2:

Sistem akan menampilkan

foto profil yang sudah

terupload ke sistem dan

menyimpan inputan data

pengguna

Post Condition 1. Kondisi sukses

Pengguna menekan

tombol “simpan” dan

sistem akan menyimpan

foto profil beserta

identitas pengguna

sehingga pengguna

dapat mencetak kartu

pesertanya.

Pada tabel 3.8 dibawah ini adalah penjelasan proses dari use case “List Perlombaan”

yang ditunjukkan oleh diagram use case pada gambar 3.3 sebelumnya dimana pada use

case ini mahasiswa pendaftar bisa langsung mengakses perlombaan mana yang mereka

ingin ikuti.

Tabel 3.8 Narrative Use Case List Perlombaan

Use case name List informasi perlombaan

Actor Mahasiswa

Description Use case menjelaskan bahwa pengguna akan melihat

informasi detail tentang perlombaan apa saja yang

tersedia.

Precondition Pengguna melengkapi profil dan menuju menu

Page 46: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

30

Perlombaan

Typical course of event Aksi Pengguna Respon Sistem

Langkah 1:

Pada menu akun pengguna

memilih menu perlombaan

Langkah 2:

Sistem akan menampilkan

informasi detail

perlombaan baik dari kuota

peserta hingga syarat

kriteria calon kandidat

Post Condition 1. Kondisi sukses

Pengguna menekan

salah satu bidang

perlombaan yang

mereka diinginkan

Selanjutnya pada tabel 3.9 dibawah ini adalah penjelasan proses dari use case “Daftar

Lomba” yang ditunjukkan oleh diagram use case pada gambar 3.3 sebelumnya dimana

pada use case ini mahasiswa pendaftar akan mengkonfirmasi untuk ikut serta dalam

perlombaan yang dipilihnya dilengkapi informasi kriteria yang harus dipenuhi.

Tabel 3.9 Narrative Use Case Mendaftarkan Diri

Use case name Mendaftarkan Diri

Actor Mahasiswa

Description Use case menjelaskan bahwa pengguna akan mendaftarkan

diri pada salah satu perlombaan yang mereka inginkan

Precondition Pengguna berhasil masuk ke detail perlombaan

Typical course of event Aksi Pengguna Respon Sistem

Page 47: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

31

Langkah 1:

Menekan tombol detail pada

bidang perlombaan

Langkah 2:

Sistem akan menampilkan

beberapa kriteria syarat bagi

kandidat peserta

Langkah 3:

Pengguna menekan tombol

“Daftar” pada detail

perlombaan

Langkah 4:

Sistem akan menampilkan

file apa saja yang harus di

unggah ke sistem yang

merupakan bagian dari

kriteria yang sudah

disebutkan

Post Condition 1. Kondisi sukses

Pengguna menekan

tombol “simpan” dan

sistem akan menyimpan

berkas dokumen yang di

unggah ke database

sehingga admin bisa

memberi penilaian

terhadap dokumen

pengguna

Pada tabel 3.10 dibawah ini adalah penjelasan proses dari use case “Cetak Kartu

Peserta” yang ditunjukkan oleh diagram use case pada gambar 3.3 sebelumnya dimana

pada use case ini dijelaskan bagaimana pendaftar mencetak kartu pesertanya.

Tabel 3.10 Narrative Use Case Cetak Kartu Peserta

Use case name Cetak Kartu Peserta

Actor Mahasiswa

Page 48: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

32

Description Use case menjelaskan bahwa pengguna akan mencetak

kartu peserta untuk dapat mengikuti serangkaian tes.

Precondition Pengguna berhasil mendaftarkan diri pada salah satu

perlombaan

Typical course of event Aksi Pengguna Respon Sistem

Langkah 1:

Pengguna menekan tombol

“Cetak Kartu”

Langkah 2:

Sistem akan otomatis

membuka tab baru dan

menampilkan preview kartu

peserta yang berisikan

identitas pendaftar yang

sebelumnya sudah

dilengkapi pada menu profil

Post Condition 1. Kondisi sukses

Pengguna menekan

tombol “Print” maka

sistem akan otomatis

mencetak kartu peserta

Pada tabel 3.11 dibawah ini adalah penjelasan proses dari use case “Kelola Data

Lomba” yang ditunjukkan oleh diagram use case pada gambar 3.3 sebelumnya dimana

pada use case ini menjelaskan bagaimana admin mengelola sistem seleksi perlombaan

mulai dari mengelola perlombaan, kriteria, bobot kriteria hingga file informasi yang

dapat dilihat oleh mahasiswa pendaftar.

Page 49: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

33

Tabel 3.11 Narrative Use Case Kelola Data Lomba

Use case name Kelola Data Lomba

Actor Admin

Description Use case menjelaskan bahwa proses Create Read Update

Delete (CRUD) pada sistem sepenuhnya dilakukan oleh

admin mulai dari memasukkan info kompetisi,

memasukkan kriteria, memasukkan nilai per kriteria,

hingga mengumumkan hasil seleksi

Pre condition Admin telah masuk ke panel admin

Typical course of event Aksi admin Respon sistem

Langkah 1 :

Pada panel admin, pilih

menu perlombaan

Langkah 2 :

Menampilkan data

perlombaan dilengkapi

dengan button create, read,

update dan delete

Langkah 3 :

Menekan tombol “Tambah”

untuk menambah data

perlombaan

Langkah 4 :

Menampilkan form inputan

detail perlombaan meliputi

nama kompetisi, kuota

peserta dan status

perlombaan (aktif/tidak

aktif)

Langkah 5 :

Menekan tombol “Simpan”

untuk menyimpan data

perlombaan kedalam sistem

database

Langkah 6 :

Direct ke halaman menu

perlombaan kembali dengan

menampilkan (read) inputan

yang sudah tersimpan dan

dilengkapi dengan button

“Edit” dan “Hapus”

Langkah 7 :

Menekan tombol “Kriteria”

lalu menekan tombol

Langkah 8 :

Menampilkan form inputan

kriteria meliputi nama

Page 50: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

34

“Tambah” untuk menambah

data kriteria perlombaan

kriteria, bobot kriteria,

inputan nilai (ada/tidak ada)

dan upload file (diaktifkan

jika kriteria memerlukan

file lampiran)

Langkah 9 :

Menekan tombol “Simpan”

untuk menyimpan data

kriteria kedalam sistem

database

Langkah 10 :

Direct ke halaman menu

perlombaan kembali dengan

menampilkan (read) inputan

yang sudah tersimpan dan

dilengkapi dengan button

“Edit” dan “Hapus”

Selanjutnya pada tabel 3.12 dibawah ini adalah penjelasan proses dari use case

“Rekomendasi Peserta” yang ditunjukkan oleh diagram use case pada gambar 3.3

sebelumnya dimana pada use case ini menjelaskan bagaimana menemukan

rekomendasi kandidat terpilih oleh sistem beserta analisis perbandingan kedua metode

yang digunakan.

Tabel 3.12 Narrative Use Case Rekomendasi Peserta

Use case name Rekomendasi Peserta

Actor Admin

Description Use case menjelaskan bahwa admin akan melihat nama

kandidat peserta lomba yang direkomendasikan oleh

sistem dengan menggunakan perhitungan metode

Weighted Product (WP) yang selanjutnya akan dianalisis

perbandingan hasil dengan metode Technique for Order

by Similarity to Ideal Solution (TOPSIS)

Precondition Mahasiswa telah mendaftarkan diri dan telah mengunggah

berkas pendukung serta melakukan serangkaian tes

Typical course of event Aksi Admin Respon Sistem

Page 51: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

35

Langkah 1:

Pada panel admin, menekan

tombol “Perhitungan” untuk

menemukan nama alternatif

yang akan

direkomendasikan oleh

sistem

Langkah 3:

Admin menekan tombol

“Pilih” pada salahsatu opsi

perlombaan

Langkah 5:

Admin menekan tombol

“Rincian Nilai” untuk

memberikan nilai per kriteria

kepada masing masing

mahasiswa setelah

mengikuti serangkaian tes

dan menggunggah berkas

untuk diberi penilaian lalu

menekan tombol “Simpan”

untuk menyimpan nilai

kriteria ke sistem database

Langkah 2:

Sistem akan menampilkan

opsi pada perlombaan apa

yang akan dipilih untuk

ditemukan rekomendasi

pesertanya

Langkah 4:

Sistem akan menampilkan

nama mahasiswa yang telah

mendaftarkan diri pada

perlombaan tersebut

dilengkapi button rincian

nilai

Langkah 6:

Sistem akan menampilkan

form inputan nilai per

kriteria dilengkapi dengan

button “Simpan”

Page 52: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

36

Langkah 7:

Admin menekan tombol

“Hitung” untuk menemukan

kandidat peserta yang

direkomendasikan

Langkah 8:

Sistem melakukan

perhitungan dan

menampilkan

rekomendasi peserta

berdasarkan perankingan

dilengkapi dengan

pembuktian perhitungan

algoritma yang digunakan.

Pada tabel 3.13 dibawah ini adalah penjelasan proses dari use case “Pengumuman”

yang ditunjukkan oleh diagram use case pada gambar 3.3 sebelumnya dimana pada use

case ini dijelaskan bagaiamana proses admin menyampaikan hasil keputusan peserta

terpilih yang direkomendasikan oleh sistem ke akun mahasiswa pendaftar.

Tabel 3.13 Narrative Use Case Pengumuman

Use case name Pengumuman

Actor Admin

Description Use case menjelaskan bahwa admin akan

mengumumkan hasil seleksi agar bisa dilihat oleh

mahasiswa pada akun mereka masing-masing

Precondition Admin telah menekan button “Hitung”

Typical course of event Aksi admin Respon sistem

Langkah 1 :

Admin menekan tombol

“Umumkan”

Langkah 2 :

Sistem akan menampilkan

pop up “berhasil” dan

Page 53: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

37

secara otomatis

pengumuman bisa dilihat

pada masing masing akun

mahasiswa

Pada tabel 3.14 dibawah ini adalah penjelasan proses dari use case “Log Out” yang

ditunjukkan oleh diagram use case pada gambar 3.3 sebelumnya dimana pada use case

ini dijelaskan bagaimana mahasiswa dan admin keluar dari sistem.

Tabel 3.14 Narrative Use Case Log Out

Use case name Log Out

Actor Mahasiswa, Admin

Description Use case menjelaskan bahwa pengguna baik mahasiswa

dan admin akan keluar dari sistem

Precondition Pengguna saat berada dalam akun masing-masing

Typical Course of Event Aksi pengguna Respon sistem

Langkah 1:

Pengguna menekan tombol

“Log Out”

Langkah 2:

Sistem akan menampilkan

pop up “Logout Success”

dan otomatis direct ke

home page bagi

mahasiswa sedangkan

bagi admin akan otomatis

direct ke login page

administrator

Page 54: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

38

3.2.3 Activity Diagram

Activity diagram adalah sebuah diagram yang menggambarkan keseluruhan workflow

(aliran) suatu sistem dari awal hingga akhir. Diagram aktivitas digunakan untuk

mempermudah memahami sebuah proses. Dalam hal ini, activity diagram digunakan

untuk mendeskripsikan aktifitas-aktifitas yang dapat dikerjakan oleh sebuah sistem

bukan digunakan untuk mendeskripsikan aktifitas yang dikerjakan oleh pengguna

sistem. Adapun activity diagram sistem ini dapat diperhatikan pada gambar 3.4.

Gambar 3.4 Activity Diagram Sistem Penentuan Kandidat Peserta

3.2.4 Sequence Diagram

Sequence diagram adalah sebuah diagram yang digunakan untuk mendeskripsikan atau

menggambarkan bagaimana objek-objek dalam sistem saling berinteraksi dalam suatu

Page 55: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

39

rangkaian atau skenario yang dieksekusi untuk menghasilkan suatu output. Sequence

diagram sistem ini digambarkan seperti gambar 3.5.

Gambar 3.5 Sequence diagram sistem penentuan kandidat peserta lomba

3.3 Flowchart

Flowchart dapat didefinisikan sebagai bagan alir yang berisi simbol-simbol ataupun

lambang-lambang yang digunakan untuk menjelaskan urutan aliran proses sebuah

algoritma secara jelas dan terperinci.

3.3.1 Flowchart Pengguna Sistem Rekomendasi Kandidat Peserta Lomba

Ketika website diakses si pengguna, maka yang akan pertama kali ditampilkan adalah

halaman home. Di dalam halaman home, akan diberikan informasi pembukaan

perlombaan beserta kuota pesertanya. Jika pengguna ingin mendaftarkan diri ke salah

satu perlombaan yang tersedia, maka pengguna harus terlebih dahulu membuat akun

dan login ke sistem. Tepat pada menu akun, pengguna akan bisa mendaftarkan diri dan

melihat kriteria syarat apa saja untuk dapat mengikutinya, meliputi upload berkas

pendukung dan serangkaian tes (offline tes). Setelah selesai tes, nilai akan diteruskan

ke admin yang selanjutnya admin akan memasukkan nilai per kriteria masing-masing

Page 56: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

40

mahasiswa. Lalu admin akan mengoperasikan sistem agar melakukan perhitungan SPK

(Sistem Pendukung Keputusan), hasil output berupa nama kandidat yang

direkomendasikan oleh sistem dilengkapi pembuktian perhitungan metode SPK (Sistem

Pendukung Keputusan) yang digunakan. Selanjutnya admin mengumumkan hasil

seleksi yang nantinya secara otomatis akan dapat dilihat di menu pengumuman pada

akun masing-masing mahasiswa. Pada gambar 3.6 digambarkan diagram alir sistem

rekomendasi pemilihan kandidat peserta.

Gambar 3.6 Flowchart Sistem Rekomendasi kandidat Peserta Lomba

Page 57: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

41

3.3.2 Flowchart Weighted Product (WP)

Pada gambar 3.7 digambarkan flowchart pendukung keputusan menggunakan metode

Weighted Product (WP) untuk menentukan rekomendasi kandidat peserta lomba.

Berikut adalah flowchart metode WP yang akan diimplementasikan kedalam sistem.

Gambar 3.7 Flowchart Metode Weighted Product (WP)

Terlihat pada gambar diatas, pada metode WP bobot awal akan dilakukan perbaikan

(normalisasi) untuk mendapatkan bobot baru. Selanjutnya sistem akan mencari nilai

vektor s dengan memangkatkan dan mengkalikan nilai alternatif per kriteria dengan

bobot yang sudah dinormalisasi sebelumnya. Selanjutnya sistem akan menentukan nilai

vektor v yang didapatkan dari hasil prmbagian nilai vektor s dengan total seluruh nilai

vektor s hingga akhirnya nilai vektor v yang terbesar yang akan dijadikan alternatif

terbaik untuk direkomendasikan.

Page 58: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

42

3.3.3 Flowchart Technique for Order by Similarity to Ideal Solution (TOPSIS)

Selanjutnya pada gambar 3.8 merupakan flowchart pendukung keputusan menggunakan

metode TOPSIS dalam merekomendasikan kandidat peserta lomba. Berikut adalah

flowchart metode TOPSIS yang akan akan dianalisis hasil perbandingannya dengan

metode WP.

Gambar 3.8 Flowchart Metode TOPSIS

Pada gambar flowchart diatas terlihat bahwa pada metode TOPSIS langkah awal sama

dengan metode WP yaitu penentuan kriteria dan bobot kriterianya. Hanya saja

perbedaannya pada metode TOPSIS, nilai alternatif per kriteria akan dijadikan dalam

bentuk matriks, selanjutnya nilai matriks dan bobotnya dinormalisasi untuk

mendapatkan matriks ideal positif/negatif. Dimana matriks ideal positif merupakan nilai

maksimum dari normalisasi bobot dan matriks ideal negatif merupakan nilai

minimumnya. Selanjutnya sistem akan mencari jarak solusi dan memproses nilai

preferensi, hingga akhirnya alternatif dengan nilai preferensi terbesar yang akan

dijadikan sebagai alternatif terbaik.

Page 59: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

43

3.3.4 Flowchart Admin Pengguna Sistem Rekomendasi Peserta Lomba

Diagram alir bagaimana proses perhitungan menggunakan algoritma WP yang

kemudian dibandingkan dengan algoritma TOPSIS ditunjukkan pada gambar 3.9.

Proses penentuan kandidat peserta dimulai ketika admin memasukkan nilai per kriteria

masing-masing mahasiswa. Kemudian sistem akan memproses dengan algoritma WP

dilengkapi dengan pembuktian perhitungan beserta rumus metodenya. Lalu sistem akan

menampilkan nama rekomendasi peserta lomba berdasarkan perankingan yang

selanjutnya akan di analisis perbandingan hasil output pada metode TOPSIS.

Gambar 3.9 Flowchart Admin Pengguna Sistem Rekomendasi Peserta

Page 60: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

44

3.4 Perancangan Antarmuka (Interface) Sistem

Perancangan antarmukan (interferensi) merupakan tahapan yang ditujukan untuk

membuat gambaran rancangan sistem yang akan dibuat ke dalam tahapan implementasi

dan pengujian.

3.4.1 Halaman Home

Halaman Home merupakan halaman yang menampilkan informasi pembukaan

perlombaan kepada pengguna aplikasi. Pada halaman ini terdapat dua buah tombol

yang digunakan untuk registrasi dan login ke sistem dan tombol lihat untuk

menampilkan info kriteria kandidat. Rancangan tampilan halaman welcome dapat

diperhatikan pada gambar 3.10.

Gambar 3.10 Rancangan Halaman Home

Keterangan gambar :

1. Img src, untuk menampilkan gambar

2. Heading tag, berisi ucapan selamat datang

3. Button login & register, untuk membuat akun dan masuk ke sistem secara popup

4. Table, untuk menampilkan info perlombaan

5. Button lihat, untuk menampilkan info kriteria kandidat secara popup

Page 61: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

45

3.4.2 Halaman Menu Profil

Halaman menu profil adalah halaman yang berisi identitas data diri mahasiswa. Pada

halaman ini akan menampilkan inputan data yang akan digunakan untuk pencetakan

data pada kartu peserta. Rancangan tampilan menu profil digambarkan pada gambar

3.11.

Gambar 3.11 Rancangan Halaman Menu Profil

Keterangan gambar :

1. Menu area, berisi panel pilihan menu

2. Heading tag, untuk menampilkan teks

3. Button, digunakan untuk mengupload foto profil

4. Input form, digunakan untuk menampung inputan teks

5. Button, digunakan untuk menyimpan data kedalam database

3.4.3 Halaman Menu Perlombaan

Halaman menu perlombaan adalah halaman yang menampilkan data perlombaan

dilengkapi dengan tombol detail untuk mendaftarkan diri, file info yang bisa di unduh

serta tombol cetak kartu yang berfungsi mencetak kartu peserta untuk tes tertulis

Page 62: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

46

maupun tes praktik. Rancangan tampilan menu perlombaan digambarkan pada gambar

3.12.

Gambar 3.12 Rancangan Halaman Menu Perlombaan

Keterangan gambar :

1. Menu area, berisi panel pilihan menu

2. Heading tag, untuk menampilkan teks

3. Button, untuk menampilkan detail sekaligus mendaftarkan diri

4. Table, untuk menampilkan info perlombaan dan info lainnya berupa file

5. Button, digunakan untuk mencetak kartu peserta

3.4.4 Halaman Menu Perlombaan Bagian Upload Berkas

Halaman upload berkas adalah halaman yang ditampilkan setelah pengguna menekan

tombol “detail” lalu mendaftarkan diri. Pada halaman ini akan ditampilkan kriteria yang

membutuhkan file lampiran beserta tombol unggah dan tombol simpan, lalu diikuti lagi

dengan tabel info file beserta cetak kartu peserta. Rancangan tampilan halaman unggah

berkas digambarkan seperti pada gambar 3.13.

Page 63: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

47

Gambar 3.13 Rancangan Halaman Menu Perlombaan Bagian Upload

Keterangan gambar :

1. Menu area, berisi panel pilihan menu

2. Heading tag, untuk menampilkan teks

3. Get data, untuk menampilkan kriteria yang sudah tersimpan di database

4. Button, untuk mengupload berkas lampiran

5. Button, digunakan untuk menyimpan berkas lampiran kedalam database

6. Table, untuk menampilkan info lainnya berupa file

7. Button, digunakan untuk mencetak kartu peserta

3.4.5 Halaman Menu Pengumuman

Halaman menu pengumuman adalah halaman yang akan menampilkan dropdown

pilihan nama lomba yang ingin dilihat siapa saja kandidat peserta terpilih yang

direkomendasikan oleh sistem. Rancangan tampilan halaman menu pengumuman

digambarkan pada gambar 3.14.

Page 64: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

48

Gambar 3.14 Rancangan Halaman Menu Pengumuman

Keterangan gambar :

1. Menu area, berisi panel pilihan menu

2. Heading tag, untuk menampilkan teks “Pengumuman”

3. Label, untuk menampilkan teks “Perlombaan”

4. Form control, untuk menampilkan daftar perlombaan mana yang ingin dilihat

3.4.6 Rancangan Menu Login Admin

Halaman login admin merupakan halaman yang terpisah dengan halaman pengguna

sistem, dikarenakan hanya admin yang memiliki akses penuh terhadap pengelolaan data

sistem. Pada halaman login admin, akan menampilkan form input username dan

password yang sudah ditentukan serta tombol login untuk masuk ke sistem. Adapun

rancangan tampilan menu login admin sistem ini dapat dilihat pada gambar 3.15.

Page 65: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

49

Gambar 3.15 Rancangan Halaman Login Admin

Keterangan gambar :

1. Heading tag, bertuliskan nama sistem pendukung keputusan

2. Img src, untuk menampilkan gambar

3. Form, untuk menentukan character encoding yang diterima oleh server sebelum

form dikirim

4. Input, untuk menerima inputan teks

5. Button, digunakan untuk masuk ke sistem bila username dan password benar

3.4.7 Halaman Menu Perlombaan (Admin)

Halaman menu perlombaan (admin) adalah halaman untuk mengelola data perlombaan,

mulai dari menambah perlombaan dan kriteria, mengedit perlombaan dan kriteria

hingga menghapus perlombaan dan kriteria. Pada menu ini akan ditampilkan data dalam

bentuk tabel dengan tombol CRUD serta dilengkapi dengan fitur show data-table dan

search data-table. Rancangan tampilan menu perlombaan dapat dilihat pada gambar

3.16.

Page 66: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

50

Gambar 3.16 Rancangan Halaman Menu Perlombaan (Admin)

Keterangan gambar :

1. Heading tag, bertuliskan nama sistem pendukung keputusan

2. Img src, untuk menampilkan gambar

3. Button, untuk menambah data perlombaan

4. Navbar, berisi menu navigasi ke beberapa halaman dan fungsi logout

5. Search datatables, digunakan untuk mencari data berdasarkan inputan teks

6. Show datatables, digunakan untuk menampilkan data berdasarkan jumlah kolom

7. Button, digunakan untuk mengedit data perlombaan

8. Button, digunakan untuk menghapus data perlombaan

9. Button, digunakan untuk mengelola data kriteria, baik menambah, mengedit

ataupun menghapus

10. Button, digunakan untuk menampilkan entri selanjutnya

11. Button, digunakan untuk menampilkan entri sebelumnya

3.4.8 Halaman Menu File Info

Halaman menu file info adalah halaman yang digunakan untuk mengelola informasi

tambahan seperti jadwal pelaksanaan tes, formulir, dan lainnya. Pada halaman ini,

admin akan mengupload beberapa berkas yang nantinya bisa diunduh oleh mahasiswa

Page 67: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

51

pada menu akun mereka masing-masing. Rancangan tampilan menu file info

digambarkan seperti gambar 3.17.

Gambar 3.17 Rancangan Halaman Menu File Info

Berdasarkan gambar 3.17 maka dapat dijelaskan :

1. Heading tag, bertuliskan nama sistem pendukung keputusan

2. Img src, untuk menampilkan gambar

3. Button, untuk menambah data file info

4. Navbar, berisi menu navigasi ke beberapa halaman dan fungsi logout

5. Search datatables, digunakan untuk mencari data berdasarkan inputan teks

6. Show datatables, digunakan untuk menampilkan data berdasarkan jumlah kolom

7. Button, digunakan untuk mengedit data file info

8. Button, digunakan untuk menghapus data file info

9. Button, digunakan untuk menampilkan entri sebelumnya

10. Button, digunakan untuk menampilkan entri selanjutnya

3.4.9 Halaman Menu Perhitungan dan Hasil WP

Halaman menu perhitungan adalah halaman yang digunakan untuk menemukan

kandidat peserta lomba yang direkomendasikan oleh sistem dengan algoritma weighted

product. Pada halaman ini, admin akan memasukkan nilai per kriteria dari serangkaian

tes yang sudah dilalui mahasiswa kedalam tombol “rincian nilai”. Setelah semua nilai

Page 68: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

52

sudah tersimpan, maka admin akan menekan tombol “hitung” untuk mendapatkan

output nama yang direkomendasikan. Rancangan tampilan menu perhitungan weighted

product digambarkan seperti gambar 3.18 dan output pada gambar 3.19

Gambar 3.18 Rancangan Halaman Menu Perhitungan

Pada gambar rancangan diatas adalah halaman yang akan menampilkan sekumpulan

nama mahasiswa pendaftar terhadap suatu bidang perlombaan yang nantinya akan

dicari rekomendasi pesertanya dengan menekan tombol “hitung”

Gambar 3.19 Output Rekomendasi Peserta Setelah Klik Button Hitung

Page 69: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

53

Berdasarkan gambar 3.18 dan 3.19 maka dapat dijelaskan :

1. Heading tag, bertuliskan nama sistem pendukung keputusan

2. Img src, untuk menampilkan gambar

3. Search datatables, digunakan untuk mencari data berdasarkan inputan teks

4. Navbar, berisi menu navigasi ke beberapa halaman dan fungsi logout

5. Show datatables, digunakan untuk menampilkan data berdasarkan jumlah kolom

6. Button, digunakan untuk CRUD kriteria

7. Button, digunakan untuk menampilkan entri selanjutnya

8. Button, digunakan untuk menampilkan entri sebelumnya

9. Button, digunakan untuk memproses perhitungan Weighted Product

10. Data tables, untuk menampilkan data output normalisasi bobot

11. Get data, untuk menampilkan proses perhitungan secara detail sesuai rumus

12. Microtime, digunakan untuk mengukur kecepatan eksekusi program

13. Data tables, untuk menampilkan data rekomendasi kandidat peserta lomba

14. Button, digunakan untuk mengumumkan hasil seleksi kandidat ke pengguna

15. Button, untuk menganalisis perbandingan dengan metode TOPSIS

3.4.10 Halaman Menu Hasil Topsis

Halaman menu hasil topsis adalah halaman untuk menganalisis perbandingan dengan

metode topsis. Pada halaman ini, admin bisa mengetahui perbandingan mulai dari

output ranking, output alternatif yang dihasilkan hingga kecepatan eksekusi program.

Rancangan tampilan menu hasil topsis dapat dilihat pada gambar 3.20.

Page 70: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

54

Gambar 3.20 Rancangan Halaman Menu Hasil Topsis

Berdasarkan gambar 3.20 maka dapat dijelaskan :

1. Heading tag, bertuliskan nama sistem pendukung keputusan

2. Img src, untuk menampilkan gambar

3. Button, digunakan untuk perhitungan tahap demi tahapan sesuai algoritma

4. Button, digunakan untuk mengelola data kriteria

5. Button, untuk memproses perhitungan keseluruhan metode TOPSIS

6. Button, digunakan untuk mengelola data alternatif

7. Heading tag, digunakan untuk menampilkan teks “Nilai Preferensi”

8. Button, digunakan untuk memberi nilai per kriteria

9. Microtime, digunakan untuk mengukur kecepatan eksekusi program

10. Button, untuk melihat hasil perhitungan TOPSIS tahap demi tahap

11. Table, untuk menampilkan data rekomendasi kandidat peserta lomba

Page 71: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

55

3.5 Rancangan Database

Pada sistem yang akan dibangun, akan digunakan MySQL sebagai database

management system. MySQL tergolong sebagai DBMS yang digunakan dalam

mengelola data dengan cara yang sangat fleksibel dan cepat. Bahasa database yang

digunakan pada sistem ini adalah SQL (Structured Query Language) untuk mengakses

database baik query maupun perintah lainnya. Penjelasan basis data yang digunakan

dapat diperhatikan pada tabel 3.15 untuk tabel admin, tabel 3.16 untuk tabel file, tabel

3.17 untuk tabel hitung, tabel 3.18 untuk tabel lomba, tabel 3.19 untuk tabel lomba rinci,

tabel 3.20 untuk tabel mahasiswa pendaftar dan tabel 3.21 untuk tabel users. Selanjutnya

untuk analisis perbandingan, akan di ikuti beberapa tabel yang akan menampung data

serta perhitungan dengan metode TOPSIS yaitu tabel 3.22 untuk tabel alternatif, tabel

3.23 untuk tabel kriteria, tabel 3.24 untuk tabel nilai matriks serta tabel 3.25 untuk tabel

nilai preferensi.

Tabel 3.15 Struktur Database Tabel Admin

Nama Field Deskripsi Tipe Data Keterangan

id_admin ID admin INTEGER PRIMARY KEY

nama_admin Nama admin VARCHAR

username Nama pengguna

admin VARCHAR

Password Kata sandi admin VARCHAR

Jenis enkripsi password yang digunakan pada struktur tabel admin diatas adalah md5

sebagai standar enkripsi yang umum digunakan pada sistem login.

Tabel 3.16 Struktur Database Tabel File

Nama Field Deskripsi Tipe Data Keterangan

id_file ID file info INTEGER PRIMARY KEY

nama_file Nama file info.

contohnya file

jadwal tes, file

formulir, dan

lainnya

VARCHAR

file File yang

diunggah ke

sistem

VARCHAR

Page 72: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

56

Jenis file yang bisa disimpan pada struktur tabel file diatas adalah jenis file dengan

bermacam format seperti pdf, docx, jpg, png dan lainnya

Tabel 3.17 Struktur Database Tabel Hitung

Nama Field Deskripsi Tipe Data Keterangan

id_hitung ID perhitungan INTEGER PRIMARY KEY

id_user ID pengguna INTEGER FOREIGN KEY

id_lomba ID lomba yang di

ikuti INTEGER FOREIGN KEY

vektor_s Hasil perolehan

nilai vektor s

FLOAT

vektor_v Hasil perolehan

nilai vektor v

FLOAT

Pada struktur tabel hitung, field id_user merupakan kunci tamu (foreign key) dari tabel

users yang saling berelasi sedangkan field id_lomba merupakan kunci tamu dari tabel

lomba

Tabel 3.18 Struktur Database Tabel Lomba

Nama Field Deskripsi Tipe Data Keterangan

id_lomba ID perlombaan INTEGER PRIMARY KEY

lomba Nama perlombaan VARCHAR

kuota Kuota peserta INTEGER

Status Status perlombaan

apakah aktif atau

tidak aktif

TINYINT

Pengumuman Pengumuman hasil

rekomendasi

kandidat oleh

sistem

INTEGER

Pada struktur tabel lomba, field id_lomba merupakan kunci unik (primary key) yang

digunakan sebagai relasi antara tabel hitung dan tabel lomba rinci.

Page 73: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

57

Tabel 3.19 Struktur Database Tabel Lomba Rinci

Nama Field Deskripsi Tipe Data Keterangan

id_lomba_rinci ID perlombaan

rinci INTEGER PRIMARY KEY

id_lomba ID perlombaan INTEGER FOREIGN KEY

Kriteria Kriteria peserta VARCHAR

Bobot Bobot kriteria INTEGER

status_nilai Status nilai

diaktifkan bila

kriteria memiliki

unsur penilaian

(ada/tidak ada)

TINYINT

status_upload Status upload

diaktifkan bila

kriteria

memerlukan file

lampiran

(ada/tidak ada)

TINYINT

Pada struktur tabel lomba rinci, field id_lomba merupakan kunci tamu (foreign key)

yang digunakan sebagai relasi dengan tabel lomba sebagai bentuk penjabaran lomba.

Tabel 3.20 Struktur Database Tabel Mahasiswa Pendaftar

Nama Field Deskripsi Tipe Data Keterangan

id_pendaftar ID pendaftar INTEGER PRIMARY KEY

id_user ID pengguna INTEGER FOREIGN KEY

id_lomba ID perlombaan INTEGER FOREIGN KEY

Kriteria Kriteria Peserta VARCHAR

Nilai Nilai yang

diberikan per

kriteria

VARCHAR

File Nilai terhadap file

yang diupload oleh

peserta ke sistem

VARCHAR

Pada struktur tabel mahasiswa pendaftar, field id_user merupakan kunci tamu (foreign

key) dari tabel users yang saling berelasi sedangkan field id_lomba merupakan kunci

tamu dari tabel lomba yang menjadi identitas lomba yang dipilih oleh mahasiswa

pendaftar

Page 74: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

58

Tabel 3.21 Struktur Database Tabel Users

Nama Field Deskripsi Tipe Data Keterangan

id_user ID pengguna INTEGER PRIMARY KEY

nama_lengkap Nama lengkap

pengguna VARCHAR

username Nama pengguna

untuk masuk ke

sistem

VARCHAR

Password Kata sandi

pengguna untuk

masuk ke sistem

VARCHAR

Nim Nomor induk

mahasiswa

VARCHAR

Prodi Program studi

pengguna sistem

VARCHAR

Angkatan Tahun Angkatan

masuk mahasiswa

VARCHAR

no_hp Nomor handphone

pengguna

VARCHAR

Email Email pengguna

sistem

VARCHAR

Foto Foto profil

pengguna sistem

VARCHAR

Pada struktur tabel users, field id_users merupakan kunci unik (primary key) yang

digunakan sebagai relasi dengan tabel mahasiswa pendaftar untuk keperluan data diri

dan cetak kartu peserta.

Tabel 3.22 Struktur Database Tabel Alternatif

Nama Field Deskripsi Tipe Data Keterangan

id_alternatif ID alternatif VARCHAR PRIMARY KEY

nm_alternatif Nama kandidat

alternatif

VARCHAR

Pada struktur tabel alternatif, field id_alternatif merupakan kunci unik (primary key)

yang digunakan sebagai relasi dengan tabel nilai matriks untuk identitas alternatif guna

pencarian nilai matriks.

Page 75: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

59

Tabel 3.23 Struktur Database Tabel Kriteria

Nama Field Deskripsi Tipe Data Keterangan

id_kriteria ID kriteria VARCHAR PRIMARY KEY

nama_kriteria Nama kriteria VARCHAR

Bobot Bobot kriteria DOUBLE

poin1 Nilai opsi pertama DOUBLE

poin2 Nilai opsi kedua DOUBLE

poin3 Nilai opsi ketiga DOUBLE

poin4 Nilai opsi keempat DOUBLE

poin5 Nilai opsi kelima DOUBLE

Sifat Sifat kriteria

(benefit/cost)

VARCHAR

Pada struktur tabel kriteria, field id_kriteria merupakan kunci unik (primary key) yang

digunakan sebagai relasi dengan tabel nilai matriks untuk identitas kriteria guna

pencarian nilai matriks.

Tabel 3.24 Struktur Database Tabel Nilai Matriks

Nama Field Deskripsi Tipe Data Keterangan

id_matrik ID matriks INTEGER PRIMARY KEY

id_alternatif ID alternatif VARCHAR FOREIGN KEY

id_kriteria ID kriteria VARCHAR FOREIGN KEY

Nilai Nilai kriteria yang

diberikan

DOUBLE

Pada struktur tabel nilai matriks, field id_alternatif merupakan kunci tamu (foreign key)

dari tabel alternatif yang saling berelasi sedangkan field id_kriteria merupakan kunci

tamu dari tabel kriteria.

Tabel 3.25 Struktur Database Tabel Nilai Preferensi

Nama Field Deskripsi Tipe Data Keterangan

id_pre ID preferensi INTEGER PRIMARY KEY

nm_alternatif Nama kandidat

alternatif yang

ditampilkan setelah

diproses

perhitungan metode

VARCHAR FOREIGN KEY

Page 76: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

60

Nilai Nilai preferensi

yang diperoleh

setelah diproses

perhitungan metode

DOUBLE FOREIGN KEY

Pada struktur tabel nilai preferensi, field nm_alternatif merupakan kunci tamu (foreign

key) yang digunakan sebagai relasi dengan tabel alternatif guna penyesuaian nama

alternatif dengan nilai preferensinya masing masing.

Gambar 3.21 Relasi tabel sistem database

Berdasarkan beberapa tabel tersebut maka dapat dibentuk relationships antara tabel-

tabel untuk memudahkan manipulasi. Adapun relasi database pada sistem ini mengacu

pada gambar 3.22 diatas, dapat dilihat bahwa hubungan antara mahasiswa pendaftar

dengan file dan lomba adalah 1 to many di mana, satu pendaftar dapat mendaftar banyak

perlombaan dan dapat mengakses banyak file info. Lalu hubungan antara lomba dengan

lomba rinci adalah many to many dimana, banyak perlombaan dapat memiliki banyak

kriteria yang berbeda beda. Adapun hubungan antara tabel admin dengan file, dan tabel

lomba adalah 1 to many dimana, satu admin dapat menambah banyak file dan

menambah banyak perlombaan. Pada gambar 3.22 juga menunjukkan beberapa field

yang saling berhubungan.

Page 77: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

BAB 4 IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi Sistem

Implementasi sistem merupakan tahap realisasi atau tahap penerapan analisis dan

rancangan sistem. Dalam penelitian ini, implementasi sistem akan dilakukan dengan

pemrograman PHP, Javascript dan MySQL sebagai sistem manajemen databasenya.

4.1.1 Halaman Menu Home

Pada menu home akan ditampilkan informasi perlombaan terupdate dilengkapi dengan

tombol register, login serta tombol kriteria peserta. Menu home adalah menu yang akan

ditampilkan pertama sekali ketika mengakses website. Halaman home dapat dilihat

pada gambar 4.1.

Gambar 4.1 Tampilan halaman Home

4.1.2 Halaman Menu Profil

Menu profil adalah halaman menu pada akun pengguna yang akan ditampilkan pertama

sekali setelah pengguna berhasil register dan masuk kedalam sistem. Tampilan menu

profil dapat perhatikan pada gambar 4.2.

Page 78: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

62

Gambar 4.2 Tampilan halaman menu Profil

4.1.3 Halaman Menu Perlombaan

Menu perlombaan adalah salah satu menu pada akun pengguna yang akan ditampilkan

setelah pengguna berhasil register dan masuk kedalam sistem. Halaman ini digunakan

untuk mendaftar lomba, mengupload berkas pendukung serta mencetak kartu peserta.

Tampilan menu perlombaan dapat perhatikan pada gambar 4.3 dan 4.4.

Gambar 4.3 Tampilan halaman menu Perlombaan

Page 79: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

63

Setelah menekan tombol detail, akan ditampilkan halaman untuk mendaftarkan diri lalu

akan diarahkan ke halaman upload berkas bila salah satu pada kriteria memiliki unsur

penilaian yang sifatnya lampiran file

Gambar 4.4 Tampilan lanjutan halaman menu Perlombaan

4.1.4 Halaman Menu Pengumuman

Dalam akun pengguna, juga akan ditampilkan halaman menu pengumuman yang

digunakan untuk melihat kandidat peserta yang terpilih sesuai rekomendasi sistem. Pada

halaman ini akan ditampilkan opsi pilihan lomba mana yang akan dilihat peserta yang

lulus setelah melewati serangkaian tes. Berikut hasil implementasi pada gambar 4.5.

Gambar 4.5 Tampilan halaman menu Pengumuman

Page 80: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

64

4.1.5 Halaman Login Admin

Halaman login admin adalah halaman yang terpisah dari halaman pengguna namun

masih pada routing yang sama untuk kesatuan sistem yang utuh. Halaman ini digunakan

sebagai akses masuk admin untuk mengelola sistem. Adapun tampilan halaman ini

adalah seperti pada gambar 4.6.

Gambar 4.6 Tampilan halaman login admin

4.1.6 Halaman Menu Perlombaan (Admin)

Halaman menu perlombaan adalah halaman bagi admin untuk mengelola data

perlombaan mulai dari menambah perlombaan, mengedit, menghapus hingga

mengelola kriteria setiap perlombaan. Pada halaman ini akan ditampilkan tombol

CRUD untuk mengelolanya. Adapun tampilan halaman ini adalah seperti pada gambar

4.7.

Page 81: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

65

Gambar 4.7 Tampilan halaman menu perlombaan

4.1.7 Halaman Menu File Info

Halaman menu file info adalah halaman yang memungkinkan admin untuk mengelola

file info yang digunakan sebagai informasi tambahan berupa file yang bisa di download

oleh mahasiswa dengan berbagai ekstensi file. Berikut gambar 4.8 adalah hasil

implementasinya.

Gambar 4.8 Tampilan halaman menu file info

Page 82: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

66

4.1.8 Halaman Menu Perhitungan

Halaman menu perhitungan adalah halaman yang digunakan untuk menemukan

kandidat peserta yang direkomendasi oleh sistem sekaligus untuk menganalisis

perbandingan kedua metode. Tombol rincian nilai digunakan untuk memasukkan nilai

per kriteria sebelum menekan tombol hitung. Berikut gambar 4.9 adalah tampilannya.

Gambar 4.9 Tampilan halaman menu perhitungan

4.2 Pengujian

4.2.1 Pengujian Sistem Pendukung Keputusan Penentuan Kandidat Peserta Lomba

a) Pengujian I (Metode Weighted Product)

Gambar 4.10 merupakan halaman tampilan input perlombaan. Disini akan

dilakukan pengujian dengan menambah satu perlombaan berjudul “Web

Development Competition” dengan kuota peserta sebanyak 3 orang dengan status

perlombaan yang aktif serta dilakukan terhadap 7 mahasiswa pendaftar.

Page 83: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

67

Gambar 4.10 Tampilan Input perlombaan, kuota peserta dan status perlombaan

Setelah admin menambahkan info perlombaan, selanjutnya admin menambahkan

data kriteria, bobot kriteria, inputan nilai bila memiliki unsur penilaian dan upload

file bila kriteria memerlukan file lampiran. Gambar 4.11 merupakan tampilan

kriteria yang digunakan dalam penentuan kandidat peserta.

Gambar 4.11 Tampilan kriteria beserta bobot perlombaan

Jika 7 mahasiswa pendaftar telah mengupload berkas pendukung kedalam sistem

dan telah melewati serangkaian tes baik teori maupun praktik yang merupakan

Page 84: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

68

bagian dari kriteria yang sudah dibuat sebelumnya oleh admin, maka admin akan

memberi penilaian terhadap berkas yang diunggah serta penilaian terhadap tes teori

dan praktik dari mahasiswa pendaftar kedalam rincian nilai. Gambar 4.12

merupakan penilaian yang diberikan kepada salah satu dari 7 mahasiswa pendaftar.

Gambar 4.12 Tampilan Penilaian Kriteria (Weighted Product)

Setelah admin memberikan penilaian kriteria terhadap 7 mahasiswa pendaftar,

maka selanjutnya admin menekan tombol hitung untuk melihat hasil perhitungan

sesuai algoritma weighted product. Gambar 4.13 merupakan tampilan hitung

mahasiswa pendaftar.

Page 85: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

69

Gambar 4.13 Tampilan hitung mahasiswa pendaftar

Setelah admin menekan tombol hitung, sistem akan menampilkan tabel normalisasi

bobot metode weighted product pada gambar 4.14 kemudian dilanjut dengan

menampilkan tabel yang menunjukkan hasil rekomendasi peserta terpilih

berdasarkan perankingan serta dilengkapi dengan kecepatan eksekusi metodenya

pada gambar 4.15.

Gambar 4.14 Tampilan normalisasi bobot

Page 86: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

70

Hasil rekomendasi sistem akan terlihat tepat setelah perhitungan normalisasi bobot. Berikut

tampilannya dibawah ini

Gambar 4.15 Tampilan hasil rekomendasi sistem (Weighted Product)

Untuk mengumumkan kandidat peserta yang lulus/terpilih, admin bisa menekan

tombol “Umumkan” agar bisa terlihat di masing-masing akun mahasiswa

pendaftar. Sedangkan untuk menganalisis perbandingan output alternatif, tingkat

akurasi serta kecepatan eksekusi metode, admin bisa menekan tombol “Analisis

perbandingan dengan metode topsis”

b) Pengujian II (Metode TOPSIS)

Untuk pengujian II akan terlihat setelah admin menekan tombol analisis, maka

secara otomatis sistem akan direct ke tab baru pada browser guna memudahkan

analisa perbandingan antara kedua metode. Gambar 4.16 adalah tampilan inputan

nilai kriteria pada metode topsis. Disini akan dimasukkan data yang sama seperti

metode weighted product. Mulai dari alternatif, kriteria, bobot kriteria, hingga nilai

per kriteria yang dimasukkan guna keseimbangan dan kesesuaian data.

Page 87: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

71

Gambar 4.16 Tampilan penilaian kriteria (TOPSIS)

Setelah admin sudah mencocokkan dan menyimpan nilai kriteria masing-masing

alternatif, maka admin bisa menuju ke menu “Hasil Topsis” guna menemukan

kandidat peserta yang direkomendasikan oleh metode topsis dilengkapi dengan

tahapan perhitungan algoritma topsis. Berikut gambar 4.17 adalah tampilan hasil

nilai matriks, gambar 4.18 adalah tampilan nilai matriks ternormalisasi, gambar

4.19 adalah tampilan nilai bobot ternormalisasi, gambar 4.20 tampilan matriks ideal

positif/negatif, gambar 4.21 dan 4.22 adalah tampilan jarak solusi ideal

positif/negatif serta gambar 4.23 adalah tampilan hasil topsis secara keseluruhan.

Page 88: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

72

Gambar 4.17 Tampilan hasil nilai matriks

Pada gambar diatas menampilkan bahwa hasil nilai per alternatif dalam metode TOPSIS

akan dibuat dalam bentuk matriks oleh sistem

Gambar 4.18 Tampilan hasil nilai matriks ternormalisasi

Terlihat pada gambar diatas merupakan hasil nilai matriks yang dinormalisasi setelah admin

menekan tombol “Nilai Matriks Ternormalisasi”

Page 89: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

73

Gambar 4.19 Tampilan hasil nilai bobot ternormalisasi

Pada gambar tersebut terlihat juga bahwa pada metode TOPSIS selain menormalisasi

matriks, maka bobot juga akan dinormalisasi.

Gambar 4.20 Tampilan hasil matriks ideal positif/negatif

Dilihatkan pada gambar diatas merupakan hasil matriks ideal positif yang didapatkan dari

hasil nilai maksimal normalisasi bobot. Sedangkan hasil matriks ideal negatif didapatkan

dari hasil nilai minimal normalisasi bobot.

Page 90: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

74

Gambar 4.21 Tampilan hasil jarak solusi ideal positif/negative

Halaman diatas merupakan hasil jarak solusi ideal positif/negative yang didapatkan dari

hasil pengolahan normalisasi bobot dengan matriks ideal positif/negatif

Gambar 4.22 Tampilan lanjutan hasil jarak solusi ideal positif/negative

Gambar diatas merupakan hasil lanjutan jarak solusi ideal dimana jarak solusi ideal negatif

terlihat setelah hasil jarak solusi ideal positif. Perhitungan jarak ideal tersebut dimaksudkan

untuk mencari total dan perankingan sesuai dengan hasil nilai preferensi

Page 91: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

75

Kemudian sistem akan menampilkan rekomendasi kandidat peserta dilengkapi

dengan kecepatan eksekusi metode, perangkingan serta nilai preferensi masing-

masing alternatif seperti pada gambar 4.23

Gambar 4.23 Tampilan hasil topsis

4.2.2 Pengujian Manual Pennentuan Kandidat Peserta Lomba Metode Weighted Product

(WP)

Berdasarkan pengujian ke-I sistem terhadap 7 mahasiswa pendaftar dan mengacu pada

gambar 4.13 maka diperoleh sebaran data alternatif yang ditunjukkan pada tabel 4.1.

Tabel 4.1 Alternatif pilihan

Alternatif NIM Nama Mahasiswa Prodi

𝐴1 161401100 Haristia Kumala Ilkom

𝐴2 161401062 Arif Iskandar Ilkom

𝐴3 161402048 Boby Kurniawan TI

𝐴4 161402004 Muhibuddin TI

𝐴5 161401064 Rudianto Sihombing Ilkom

Page 92: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

76

𝐴6 161402119 Hadhe Panji Kastowo TI

𝐴7 161401112 Ricky Julpiter Ilkom

Berdasarkan pengujian pertama sistem dan mengacu pada gambar 4.11 maka

didapatkan data pembobotan kriteria yang digunakan dalam menentukan rekomendasi

kandidat peserta yang ditunjukkan pada tabel tabel 4.2.

Tabel 4.2 Pembobotan kriteria

Simbol Kriteria Bobot Jenis

𝐶1 Memahami konsep HTML dan CSS 4 Teori

𝐶2 Menguasai bahasa pemrograman PHP,

Javascript, JQuery dan Ajax

5 Teori

𝐶3 Memahami penggunaan framework

PHP

3 Teori

𝐶4 Memiliki logika, analisa dan problem

solving yang baik

4 Teori

𝐶5 Memahami penggunaan software

Design

3 Teori

𝐶6 Menguasai Object Oriented

Programming (OOP)

5 Teori

𝐶7 Memahami konsep Web Hosting dan

Domain

3 Praktik

𝐶8 Menguasai konsep manajemen database

MySQL

5 Teori

𝐶9 Memahami penggunaan software

Version Control (GIT)

4 Teori

𝐶10 Melampirkan KHS berkaitan dengan

nilai Pemrograman Web

3 Berkas

Pendukung

𝐶11 Penghargaan atau sertifikat bagi yang

pernah mengikuti lomba sejenis

3 Berkas

Pendukung

𝐶12 Mampu berkomunikasi serta

mempresentasikan karya dengan baik

4 Praktik

Page 93: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

77

Berdasarkan pengujian kedua sistem dan mengacu pada gambar 4.17 maka didapatkan

data penilaian alternatif per kriteria yang digunakan antara metode weighted product

dan metode topsis guna kesamaan dan kesesuaian nilai untuk analisa perbandingan

ditunjukkan pada tabel tabel 4.3

Tabel 4.3 Nilai Alternatif Per Kriteria.

Alternatif Kriteria

𝑪𝟏 𝑪𝟐 𝑪𝟑 𝑪𝟒 𝑪𝟓 𝑪𝟔 𝑪𝟕 𝑪𝟖 𝑪𝟗 𝑪𝟏𝟎 𝑪𝟏𝟏 𝑪𝟏𝟐

𝑨𝟏 70 70 60 80 70 80 50 80 60 80 70 80

𝑨𝟐 80 80 70 80 90 70 60 70 70 70 80 90

𝑨𝟑 60 70 60 70 90 60 80 70 60 80 80 70

𝑨𝟒 80 90 70 80 80 90 70 70 70 80 60 90

𝑨𝟓 70 90 70 80 50 70 70 80 80 90 50 70

𝑨𝟔 60 50 70 70 80 70 60 80 60 80 70 90

𝑨𝟕 80 60 80 70 60 70 80 70 90 70 70 80

a) Normalisasi bobot kriteria dari masing-masing bobot kriteria.

Normalisasi dilakukan dengan tujuan untuk membandingkan nilai parameter

antara nilai bobot kriteria yang satu dengan yang lain, sehingga total bobot kriteria

∑ 𝑤𝑗 = 1 dengan cara :

𝑤𝑗 = 𝑤𝑗

Σ𝑤𝑗

Menjadi:

𝑊1 = 4

4+5+3+4+3+5+3+5+4+3+3+4 =

4

46 = 0.087

𝑊2 = 5

4+5+3+4+3+5+3+5+4+3+3+4 =

5

46 = 0.1087

𝑊3 = 3

4+5+3+4+3+5+3+5+4+3+3+4 =

3

46 = 0.0652

𝑊4 = 4

4+5+3+4+3+5+3+5+4+3+3+4 =

4

46 = 0.087

𝑊5 = 3

4+5+3+4+3+5+3+5+4+3+3+4 =

3

46 = 0.0652

𝑊6 = 5

4+5+3+4+3+5+3+5+4+3+3+4 =

5

46 = 0.1087

Page 94: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

78

𝑊7 = 3

4+5+3+4+3+5+3+5+4+3+3+4 =

3

46 = 0.0652

𝑊8 = 5

4+5+3+4+3+5+3+5+4+3+3+4 =

5

46 = 0.1087

𝑊9 = 4

4+5+3+4+3+5+3+5+4+3+3+4 =

4

46 = 0.087

𝑊10 = 3

4+5+3+4+3+5+3+5+4+3+3+4 =

3

46 = 0.0652

𝑊11 = 3

4+5+3+4+3+5+3+5+4+3+3+4 =

3

46 = 0.0652

𝑊12 = 4

4+5+3+4+3+5+3+5+4+3+3+4 =

4

46 = 0.08

Sehingga total bobot setelah dinormalisasi menjadi:

∑𝑤𝑗 = 𝑤1 + 𝑤2 + 𝑤3 + 𝑤4 + 𝑤5 + 𝑤6 + 𝑤7 + 𝑤8 + 𝑤9 + 𝑤10 + 𝑤11+ 𝑤12 = 1

yaitu :

∑𝑤𝑗 = 0.087 + 0.1087 + 0.0652 + 0.087 + 0.0652 + 0.1087 + 0.0652 + 0.1087

+ 0.087 + 0.0652 + 0.0652 + 0.087 = 1

Pada tabel 4.4 berikut sebaran data bobot awal hingga hasil normalisasi bobot :

Tabel 4.4 Bobot setelah normalisasi.

Kriteria Bobot

Awal

Bobot

Baru

Memahami konsep HTML dan CSS 4 0.087

Menguasai bahasa pemrograman PHP, Javascript,

JQuery dan Ajax

5 0.1087

Memahami penggunaan framework PHP 3 0.0652

Memiliki logika, analisa dan problem solving yang

baik

4 0.087

Memahami penggunaan software Design 3 0.0652

Menguasai Object Oriented Programming (OOP) 5 0.1087

Memahami konsep Web Hosting dan Domain 3 0.0652

Menguasai konsep manajemen database MySQL 5 0.1087

Page 95: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

79

Memahami penggunaan software Version Control

(GIT)

4 0.087

Melampirkan KHS berkaitan dengan nilai

Pemrograman Web

3 0.0652

Penghargaan atau sertifikat sebagai pendukung 3 0.0652

Mampu berkomunikasi serta mempresentasikan

karya dengan baik

4 0.087

b) Menentukan nilai vektor S

Nilai vektor S, yang dapat dihitung dengan menggunakan formula berikut:

𝑆𝑖 = Π𝑗=1𝑛 𝑥𝑖𝑗

𝑤𝑗 , 𝑖 = 1,2, … , 𝑛

Pangkatkan dan kalikan nilai masing-masing alternatif per kriteria tersebut

dengan bobot yang sudah dinormalisasi sebelumnya.

𝑆1 = (𝑋11 𝑤1)(𝑋12

𝑤2)(𝑋13 𝑤3)(𝑋14

𝑤4)(𝑋15 𝑤5)(𝑋16

𝑤6)(𝑋17 𝑤7)(𝑋18

𝑤8)(𝑋19 𝑤9)

(𝑋110 𝑤10) (𝑋111

𝑤11)(𝑋112 𝑤12)

Menjadi:

𝑆1 = (700.087)(700.1087)(600.0652)(800.087)(700.0652)(800.1087)

(500.0652)(800.1087)(60 0.087)(800.0652)(700.0652)(800.087)

= 71.128692173385

𝑆2 = (800.087)(800.1087)(700.0652)(800.087)(900.0652)(700.1087)

(600.0652)(700.1087)(70 0.087)(700.0652)(800.0652)(900.087)

= 75.457915838002

𝑆3 = (600.087)(700.1087)(600.0652)(700.087)(900.0652)(600.1087)

(800.0652)(700.1087)(60 0.087)(800.0652)(800.0652)(700.087)

= 69.255011534828

𝑆4 = (800.087)(900.1087)(700.0652)(800.087)(800.0652)(900.1087)

(700.0652)(700.1087)(70 0.087)(800.0652)(600.0652)(900.087)

= 77.946019945666

Page 96: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

80

𝑆5 = (700.087)(900.1087)(700.0652)(800.087)(500.0652)(700.1087)

(700.0652)(800.1087)(80 0.087)(900.0652)(500.0652)(700.087)

= 72.711315265209

𝑆6 = (600.087)(500.1087)(700.0652)(700.087)(800.0652)(700.1087)

(600.0652)(800.1087)(60 0.087)(800.0652)(700.0652)(900.087)

= 68.666704292828

𝑆7 = (800.087)(600.1087)(800.0652)(700.087)(600.0652)(700.1087)

(800.0652)(700.1087)(90 0.087)(700.0652)(700.0652)(800.087)

= 72.575296804507

c) Menentukan nilai vektor V

Nilai vektor V yang akan digunakan untuk perangkingan.

Formulanya seperti berikut :

𝑉𝑖 = Π𝑗=1𝑛 𝑥𝑖𝑗

𝑤𝑗

Π𝑗=1𝑛 (𝑥𝑗)

𝑤𝑗 ; 𝑖 = 1,2,… , 𝑛

Dimana nilai vektor (V) merupakan alternatif pilihan yang akan dipakai

dalam penentuan peringkat masing-masing vektor S dengan nilai total vektor S

Sederhannya seperti :

𝑉1 = 𝑆1

𝑆1 + 𝑆2 + 𝑆3 + 𝑆4 + 𝑆5 + 𝑆6 + 𝑆7

Berikut hasil perhitungan preferensi (𝑉𝑖) :

𝑉1 = 71.1287

71.1287+75.4579+69.255+77.946+72.7113+68.6667+72.5753

=71.1287507.7409

= 0.140089

𝑉2 = 75.4579

71.1287+75.4579+69.255+77.946+72.7113+68.6667+72.5753

=75.4579507.7409

= 0.148615

Page 97: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

81

𝑉3 = 69.255

71.1287+75.4579+69.255+77.946+72.7113+68.6667+72.5753

=69.255507.7409

= 0.136398

𝑉4 = 77.946

71.1287+75.4579+69.255+77.946+72.7113+68.6667+72.5753

=77.946507.7409

= 0.153515

𝑉5 = 72.7113

71.1287+75.4579+69.255+77.946+72.7113+68.6667+72.5753

=72.7113507.7409

= 0.143206

𝑉6 = 68.6667

71.1287+75.4579+69.255+77.946+72.7113+68.6667+72.5753

=68.6667507.7409

= 0.13524

𝑉7 = 72.5753

71.1287+75.4579+69.255+77.946+72.7113+68.6667+72.5753

=72.5753507.7409

= 0.142938

d) Mencari nilai tertinggi dari hasil perhitungan vektor V

Tabel 4.5 Hasil keputusan WP

Ranking Alternatif Nama Mahasiswa Vektor S Vektor V

𝟏 𝐴4 Muhibuddin 77.9460 0.153515

𝟐 𝐴2 Arif Iskandar 75.4579 0.148615

𝟑 𝐴5 Rudianto Sihombing 72.7113 0.143206

𝟒 𝐴7 Ricky Julpiter 72.5753 0.142938

𝟓 𝐴5 Haristia Kumala 71.1287 0.140089

𝟔 𝐴3 Boby Kurniawan 69.2550 0.136398

𝟕 𝐴6 Hadhe Panji Kastowo 68.6667 0.13524

Page 98: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

82

Berdasarkan tabel 4.5 dapat dilihat bahwa 𝐴4 , 𝐴2 dan 𝐴5 merupakan pilihan

alternatif terbaik. 𝑉4 merupakan vektor v dari alternatif ke-4 (𝐴4 = Muhibuddin), 𝑉2

merupakan vektor v dari alternatif ke-2 (𝐴2 = Arif Iskandar) dan 𝑉5 merupakan

vektor v dari alternatif ke-5 (𝐴5 = Rudianto Sihombing).

4.2.3 Pengujian Manual Pennentuan Kandidat Peserta Lomba Metode Technique for

Order by Similarity to Ideal Solution (TOPSIS)

Berdasarkan pengujian ke-II sistem terhadap alternatif pada tabel 4.1 dan penggunaan

kriteria pada tabel 4.2 serta mengacu pada gambar 4.17 maka diperoleh sebaran data

nilai matriks yang ditunjukkan pada tabel 4.3.

Tabel 4.6 Nilai Matriks.

Alternatif Kriteria

𝑪𝟏 𝑪𝟐 𝑪𝟑 𝑪𝟒 𝑪𝟓 𝑪𝟔 𝑪𝟕 𝑪𝟖 𝑪𝟗 𝑪𝟏𝟎 𝑪𝟏𝟏 𝑪𝟏𝟐

Haristia Kumala 70 70 60 80 70 80 50 80 60 80 70 80

Arif Iskandar 80 80 70 80 90 70 60 70 70 70 80 90

Boby Kurniawan 60 70 60 70 90 60 80 70 60 80 80 70

Muhibuddin 80 90 70 80 80 90 70 70 70 80 60 90

Rudianto Sihombing 70 90 70 80 50 70 70 80 80 90 50 70

Hadhe Panji 60 50 70 70 80 70 60 80 60 80 70 90

Ricky Julpiter 80 60 80 70 60 70 80 70 90 70 70 80

a) Normalisasi matriks.

Normalisasi matriks dilakukan dengan cara mengkuadratkan setiap elemen matriks

pada tabel 4.6, misal untuk cell 𝐴1- 𝐶1 bernilai 70 dikuadratkan menjadi 70 * 70 =

4900. Hasilnya seperti berikut:

Page 99: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

83

Tabel 4.7 Nilai Kuadrat

Alternatif Kriteria

𝑪𝟏 𝑪𝟐 𝑪𝟑 𝑪𝟒 𝑪𝟓 𝑪𝟔 𝑪𝟕 𝑪𝟖 𝑪𝟗 𝑪𝟏𝟎 𝑪𝟏𝟏 𝑪𝟏𝟐

Haristia Kumala 4900 4900 3600 6400 4900 6400 2500 6400 3600 6400 4900 6400

Arif Iskandar 6400 6400 4900 6400 8100 4900 3600 4900 4900 4900 6400 8100

Boby Kurniawan 3600 4900 3600 4900 8100 3600 6400 4900 3600 6400 6400 4900

Muhibuddin 6400 8100 4900 6400 6400 8100 4900 4900 4900 6400 3600 8100

Rudianto Sihombing 4900 8100 4900 6400 2500 4900 4900 6400 6400 8100 2500 4900

Hadhe Panji 3600 2500 4900 4900 6400 4900 3600 6400 3600 6400 4900 8100

Ricky Julpiter 6400 3600 6400 4900 3600 4900 6400 4900 8100 4900 4900 6400

Total 36200 38500 33200 40300 40000 37700 32300 38800 35100 43500 33600 46900

Baris total (warna biru) didapat dengan menjumlahkan setiap baris pada setiap

kriteria. Misal total kolom 𝐶1 didapat dari 4900 + 6400 + 3600 + 6400 + 4900 + 3600

+ 6400 = 36200. Setelah mendapat total, lalu menormalisasikan dengan cara

membagi setiap elemen matriks tabel 4.6 dengan akar (sqrt) dari total baris yang

bersesuaian, hasilnya seperti berikut:

Tabel 4.8 Matriks Ternormalisasi

Alternatif Kriteria

𝑪𝟏 𝑪𝟐 𝑪𝟑 𝑪𝟒 𝑪𝟓 𝑪𝟔 𝑪𝟕 𝑪𝟖 𝑪𝟗 𝑪𝟏𝟎 𝑪𝟏𝟏 𝑪𝟏𝟐

Haristia Kumala 0.368 0.357 0.329 0.399 0.35 0.412 0.278 0.406 0.32 0.384 0.382 0.369

Arif Iskandar 0.42 0.408 0.384 0.399 0.45 0.361 0.334 0.355 0.374 0.336 0.436 0.416

Boby Kurniawan 0.315 0.357 0.329 0.349 0.45 0.309 0.445 0.355 0.32 0.384 0.436 0.323

Muhibuddin 0.42 0.459 0.384 0.399 0.4 0.464 0.389 0.355 0.374 0.384 0.327 0.416

Rudianto Sihombing 0.368 0.459 0.384 0.399 0.25 0.361 0.389 0.406 0.427 0.432 0.273 0.323

Hadhe Panji 0.315 0.255 0.384 0.349 0.4 0.361 0.334 0.406 0.32 0.384 0.382 0.416

Ricky Julpiter 0.42 0.306 0.439 0.349 0.3 0.361 0.445 0.355 0.48 0.336 0.382 0.369

Misal untuk baris 𝐴1 didapat dari :

𝐴1-𝐶1 = 70

√36200= 0.368

𝐴1-𝐶2 = 70

√38500= 0.357

𝐴1-𝐶3 = 60

√33200= 0.329

𝐴1-𝐶4 = 80

√40300= 0.399

𝐴1-𝐶5 = 70

√40000= 0.35

Page 100: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

84

𝐴1-𝐶6 = 80

√37700= 0.412

𝐴1-𝐶7 = 50

√32300= 0.278

𝐴1-𝐶8 = 80

√38800= 0.406

𝐴1-𝐶9 = 60

√35100= 0.32

𝐴1-𝐶10 = 80

√43500= 0.384

𝐴1-𝐶11 = 70

√33600= 0.382

𝐴1-𝐶12 = 80

√46900= 0.369

b) Normalisasi bobot.

Normalisasi terbobot didapat dari perkalian matriks pada tabel 4.8 (normalisasi)

dengan tabel 4.2 (bobot kriteria), hasilnya seperti berikut:

Tabel 4.9 Nilai Bobot Ternormalisasi

Alternatif Kriteria

𝑪𝟏 𝑪𝟐 𝑪𝟑 𝑪𝟒 𝑪𝟓 𝑪𝟔 𝑪𝟕 𝑪𝟖 𝑪𝟗 𝑪𝟏𝟎 𝑪𝟏𝟏 𝑪𝟏𝟐

Haristia Kumala 1.472 1.784 0.988 1.594 1.05 2.06 0.835 2.031 1.281 1.151 1.146 1.478

Arif Iskandar 1.682 2.039 1.153 1.594 1.35 1.803 1.002 1.777 1.495 1.007 1.309 1.662

Boby Kurniawan 1.261 1.784 0.988 1.395 1.35 1.545 1.335 1.777 1.281 1.151 1.309 1.293

Muhibuddin 1.682 2.293 1.153 1.594 1.2 2.318 1.168 1.777 1.495 1.151 0.982 1.662

Rudianto Sihombing 1.472 2.293 1.153 1.594 0.75 1.803 1.168 2.031 1.708 1.295 0.818 1.293

Hadhe Panji 1.261 1.274 1.153 1.395 1.2 1.803 1.002 2.031 1.281 1.151 1.146 1.662

Ricky Julpiter 1.682 1.529 1.317 1.395 0.9 1.803 1.335 1.777 1.922 1.007 1.146 1.478

Misal untuk baris 𝐴1 didapat dari :

𝐴1-𝐶1 = 0.368 ∗ 4 = 1.472

𝐴1-𝐶2 = 0.357 ∗ 5 = 1.784

𝐴1-𝐶3 = 0.329 ∗ 3 = 0.988

𝐴1-𝐶4 = 0.399 ∗ 4 = 1.594

𝐴1-𝐶5 = 0.35 ∗ 3 = 1.05

𝐴1-𝐶6 = 0.412 ∗ 5 = 2.06

𝐴1-𝐶7 = 0.278 ∗ 3 = 0.835

𝐴1-𝐶8 = 0.406 ∗ 5 = 2.031

𝐴1-𝐶9 = 0.32 ∗ 4 = 1.281

Page 101: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

85

𝐴1-𝐶10 = 0.384 ∗ 3 = 1.151

𝐴1-𝐶11 = 0.382 ∗ 3 = 1.146

𝐴1-𝐶12 = 0.369 ∗ 4 = 1.478

c) Matriks ideal positif/negatif.

Matriks solusi ideal didapat berdasarkan normalisasi terbobot dan atribut kriteria

(cost atau benefit). Berhubung semua kriteria jenisnya adalah benefit, maka solusi

ideal positif merupakan nilai maksimal dari normalisasi terbobot. Sedangkan solusi

ideal negatif merupakan nilai minimal dari normalisasi terbobot.

Tabel 4.10 Matriks Ideal Positif/Negatif

Jenis Matriks Ideal Positif/Negatif

𝑪𝟏 𝑪𝟐 𝑪𝟑 𝑪𝟒 𝑪𝟓 𝑪𝟔 𝑪𝟕 𝑪𝟖 𝑪𝟗 𝑪𝟏𝟎 𝑪𝟏𝟏 𝑪𝟏𝟐

Positif 1.682 2.293 1.317 1.594 1.35 2.318 1.335 2.031 1.922 1.295 1.309 1.662

Negatif 1.261 1.274 0.988 1.395 0.75 1.545 0.835 1.777 1.281 1.007 0.818 1.293

d) Jarak solusi ideal positif/negatif.

Untuk mencari total dan perangkingan, harus mencari jarak solusi ideal positif dan

negatif yang didapat dari pengolahan tabel 4.9 (normalisasi bobot) dan tabel 4.10

(matriks ideal positif/negatif). Caranya adalah mengkuadratkan selisih setiap elemen

matriks normalisasi terbobot dengan matriks solusi ideal, kemudian menjumlahkan

setiap alternatif, setelah itu diakarkan. Misal untuk mencari jarak ideal positif 𝐴1

sebagai berikut :

𝐴1 positif =

(1.472 − 1.682)2 + (1.784 − 2.293)2 + (0.988 − 1.317)2

+(1.594 − 1.594)2 + (1.05 − 1.35)2 + (2.06 − 2.318)2

+(0.835 − 1.335)2 + (2.031 − 2.031)2 + (1.281 − 1.922)2

+(1.151 − 1.295)2 + (1.146 − 1.309)2 + (1.478 − 1.662)2

= 1.145

𝐴1 negatif =

(1.472 − 1.261)2 + (1.784 − 1.274)2 + (0.988 − 0.988)2

+(1.594 − 1.395)2 + (1.05 − 0.75)2 + (2.06 − 1.545)2

+(0.835 − 0.835)2 + (2.031 − 1.777)2 + (1.281 − 1.281)2

+(1.151 − 1.007)2 + (1.146 − 0.818)2 + (1.478 − 1.293)2

= 0.963

Page 102: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

86

e) Jarak solusi ideal positif/negatif.

Preferensi didapat dari pembagiam ideal negatif dibagi dengan penjumlahan ideal

posisif dan negatif.

𝑉𝑖 =𝐷𝑖

𝐷𝑖− + 𝐷𝑖

+

Berikut hasil perhitungan preferensi (𝑉𝑖) :

𝑉1 =0.963

1.145 + 0.963= 0.4568

𝑉2 =1.306

0.893 + 1.306= 0.5939

𝑉3 =1.064

1.347 + 1.064= 0.4413

𝑉4 =1.557

0.672 + 1.557= 0.6985

𝑉5 =1.287

1.071 + 1.287= 0.5458

𝑉6 =0.808

1.462 + 0.808= 0.3559

𝑉7 =1.115

1.14 + 1.115= 0.4945

Alternatif yang terbaik adalah alternatif yang memiliki preferensi terbesar. Sehingga

didapat perangkingan sebagai berikut

Tabel 4.11 Hasil Keputusan Topsis

Ranking Alternatif Nama Mahasiswa Preferensi (𝑽𝒊)

𝟏 𝐴4 Muhibuddin 0.6985

𝟐 𝐴2 Arif Iskandar 0.5939

𝟑 𝐴5 Rudianto Sihombing 0.5458

𝟒 𝐴7 Ricky Julpiter 0.4945

𝟓 𝐴5 Haristia Kumala 0.4568

𝟔 𝐴3 Boby Kurniawan 0.4413

𝟕 𝐴6 Hadhe Panji Kastowo 0.3559

Page 103: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

87

Dari hasil perhitungan tersebut, nilai 𝐴4 menunjukkkan nilai tertinggi pertama,

selanjutnya disusul dengan nilai 𝐴2 sebagai nilai tertinggi kedua dan 𝐴5 sebagai

nilai tertinggi ketiga.

4.3 Hasil Analisis Perbandingan

Berdasarkan pengujian sistem yang telah dilakukan sebelumnya yaitu, pengujian I

metode WP dengan pengujian II metode TOPSIS, maka dapat dilakukan 3 analisis

perbandingan yaitu :

1. Perbandingan Euclidean Distance antara kedua metode

2. Perbandingan tingkat akurasi antara perhitungan sistem dengan perhitungan manual

3. Perbandingan kecepatan eksekusi program (Running Time) antara kedua metode

4. Perbandingan kompleksitas algoritma antara kedua metode

4.3.1 Hasil Euclidean Distance

Analisis perbandingan menggunkan metode Euclidean Distance untuk melihat metode

mana yang paling optimal ditinjau dari rata-rata prioritas rangking pada kedua metode

seperti pada tabel 4.12 dibawah ini :

Tabel 4.12 Analisis Perbandingan Euclidean Distance

Berdasarkan hasil rata-rata dari kedua metode yang digunakan dapat diakatakan bahwa

metode Weighted Product merupakan metode yang paling baik dikarenakan memiliki nilai

yang mendekati nol.

Mahasiswa Pendaftar 𝑾𝑷(𝒗𝒆𝒄𝒕𝒐𝒓 𝒗) 𝑻𝑶𝑷𝑺𝑰𝑺(𝒑𝒓𝒆𝒇𝒆𝒓𝒆𝒏𝒔𝒊)

Muhibuddin 0.1535 0.6985

Arif Iskandar 0.1486 0.5939

Rudianto Sihombing 0.1432 0.5458

Ricky Julpiter 0.1429 0.4945

Haristia Kumala 0.1400 0.4568

Boby Kurniawan 0.1363 0.4413

Hadhe Panji Kastowo 0.1352 0.3559

Rata-Rata 0,14281 0,51238

Page 104: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

88

4.3.2 Perbandingan Tingkat Akurasi Perhitungan

Selain analisis perbandingan menggunakan Euclidean Distance digunakan juga analisis

perbandingan akurasi perhitungan seperti pada tabel 4.13 dibawah ini :

Tabel 4.13 Hasil Perbandingan Akurasi Perhitungan

Alternatif

Rekomendasi

WP TOPSIS

𝐴4 𝐴4 𝐴4

𝐴2 𝐴2 𝐴2

𝐴5 𝐴5 𝐴5

𝐴7 𝐴7 𝐴7

𝐴1 𝐴1 𝐴1

𝐴3 𝐴3 𝐴3

𝐴6 𝐴6 𝐴6

Pengujian metode WP dan metode Topsis dilakukan untuk menentukan rekomendasi

kandidat peserta lomba dengan menggunakan rumusan sebagai berikut :

Akurasi = X/N x100%

Dimana:

N = banyaknya data yang diuji

X = banyaknya data yang benar

Akurasi metode TOPSIS = X/N x 100%

= 7/7 x 100% = 100%

Akurasi metode Weighted Product (WP) = X/N x 100%

= 7/7 x 100% = 100%

Gambar 4.24 dibawah ini juga akan diperlihatkan perbandingan akurasi sistem :

Gambar 4.24 Tampilan perbandingan output alternatif sistem

Page 105: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

89

4.3.3 Perbandingan kecepatan eksekusi program

Selain analisis perbandingan akurasi perhitungan, dilakukan juga analisis perbandingan

kecepatan eksekusi terhadap file PHP. Berikut gambar yang menunjukkan hasil percobaan

waktu eksekusi pada listing program php bagian perhitungan metode sebanyak 10 kali

percobaan dalam satuan microtime/second pada gambar 4.25 dibawah ini :

Gambar 4.25 Tampilan perbandingan waktu eksekusi sistem

Dan pada tabel dibawah ini juga akan diperlihatkan hasil perbandingan rata-rata waktu yang

dibutuhkan antara kedua metode saat mencari alternatif rekomendasi terhadap 7 peserta dan

10 kali percobaan pada sistem.

Tabel 4.14 Hasil Perbandingan Kecepatan Eksekusi Program

Percobaan Kecepatan (Microtime/Second)

WP TOPSIS

1 0.074 detik 0.236 detik

2 0.068 detik 0.242 detik

3 0.049 detik 0.220 detik

4 0.089 detik 0.255 detik

5 0.088 detik 0.259 detik

6 0.097 detik 0.226 detik

7 0.093 detik 0.198 detik

8 0.078 detik 0.213 detik

9 0.051 detik 0.188 detik

10 0.094 detik 0.197 detik

Rata-Rata 0.0781 detik 0.2234 detik

Page 106: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

90

Berdasarkan tabel 4.14 diatas, maka analisa perbandingan dari segi waktu menunjukkan

bahwa weighted product menjadi metode yang paling baik dikarenakan memiliki nilai yang

mendekati nol dibandingkan dengan metode topsis.

Gambar 4.26 Running Time Sistem 10x Percobaan

Pada grafik diatas merupakan perbandingan Running Time berdasarkan satuan waktu (ms)

melalui fungsi Microtime pada pemrograman PHP. Meskipun metode TOPSIS juga

mendapat tingkat akurasi perhitungan mencapai 100%, namun dari segi kecepatan eksekusi,

metode WP kembali unggul pada pengujian sistem dikarenakan memiliki performa 0.1453

detik lebih cepat dari hasil selisih rata ratanya dibandingkan metode TOPSIS.

4.3.4 Kompleksitas Algoritma Weighted Product (WP)

Selanjutnya juga akan dilakukan analisis perbandingan terhadap kompleksitas algoritma

yang diperoleh berdasarkan proses analisis pada kode program yang telah dibuat, dan

digunakan sebagai acuan untuk mengetahui real time antara algoritma WP dan TOPSIS.

Kompleksitas algoritma Weighted Product (WP) dapata dilihat pada tabel 4.15 dibawah ini

Page 107: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

91

Tabel 4.15 Kompleksitas Algoritma WP

No Code C # C*#

1 $mahasiswa_pendaftar = new

mahasiswa_pendaftar();

𝐶2 1 𝐶2

2 $lomba = new lomba(); 𝐶2 1 𝐶2

3 $lomba_rinci = new lombaRinci(); 𝐶2 1 𝐶2

4 $user = new User(); 𝐶2 1 𝐶2

5 $hitung = new HitungSPK(); 𝐶2 1 𝐶2

6 include

"../include/fungsi_tanggal.php";

𝐶1 1 𝐶1

7 $awal = microtime(true); 𝐶2 1 𝐶2

8 $jmlBobot = $hitung-

>NormalisasiBobot($id_lomba);

𝐶2 1 𝐶2

9 $no = 1; 𝐶2 1 𝐶2

10 $getData = $lomba_rinci-

>GetData("where id_lomba='$id_lomba'

and bobot > 0 order by kriteria asc");

𝐶2 1 𝐶2

11 $cek_user = ""; 𝐶2 1 𝐶2

12 $arBB = array(); 𝐶2 1 𝐶2

13 $i=0; 𝐶2 1 𝐶2

14 while($data = $getData->fetch()){ 𝐶3 n 𝑛𝐶3

15 $bobotBaru =

round($data['bobot']/$jmlBobot, 4);

𝐶2 1 𝐶2

16 $arBB[$i] = $bobotBaru; 𝐶2 1 𝐶2

17 $i++; 𝐶2 1 𝐶2

18 $no++; 𝐶2 1 𝐶2

19 }

20 $loopP = $mahasiswa_pendaftar-

>GetData("where id_lomba='$id_lomba'

and nilai > 0");

𝐶2 1 𝐶2

21 $ar_mahasiswa_pendaftar = array(); 𝐶2 1 𝐶2

22 $in = -1; 𝐶2 1 𝐶2

Page 108: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

92

23 $us = ""; 𝐶2 1 𝐶2

24 while($data = $loopP->fetch()){ 𝐶3 n 𝑛𝐶3

25 if($us != $data['id_user']) 𝐶4 n 𝑛𝐶4

26 $in++; 𝐶2 1 𝐶2

27 $ar_mahasiswa_pendaftar[$in] =

$data['id_user'];

𝐶2 1 𝐶2

28 $us = $data['id_user']; 𝐶2 1 𝐶2

29 }

30 $jml_mahasiswa_pendaftar =

count($ar_mahasiswa_pendaftar);

𝐶2 1 𝐶2

31 $ar_nilai = array(); 𝐶2 1 𝐶2

32 for($i=0;$i<$jml_mahasiswa_pendaftar;$

i++){

𝐶5 n 𝑛𝐶5

33 for ($j=0;$j<$id_lomba;$j++){ 𝐶5 n*n

𝑛2𝐶5

34 $loop2 = $mahasiswa_pendaftar-

>GetData("where id_lomba='$id_lomba'

and

id_user='$ar_mahasiswa_pendaftar[$i]'

and nilai > 0 order by kriteria asc");

𝐶2 1 𝐶2

35 $ib=0; 𝐶2 1 𝐶2

36 $vkt_s = 1; 𝐶2 1 𝐶2

37 while($k = $loop2->fetch()){ 𝐶6 n

𝑛𝐶6

38 $pgkt = pow($k['nilai'],

$arBB[$ib]);

𝐶2 1 𝐶2

39 $vkt_s = $vkt_s * $pgkt; 𝐶2 1 𝐶2

40 $ib++; 𝐶2 1 𝐶2

41 }

42 $qryVS = $hitung-

>SetVektor_S($vkt_s,

$ar_mahasiswa_pendaftar[$i],

$id_lomba);

𝐶2 1 𝐶2

Page 109: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

93

43 $qryVV = $hitung-

>SetVektor_V($ar_mahasiswa_pendaftar[$

i], $id_lomba);

𝐶2 1 𝐶2

44 }

45 $akhir = microtime(true); 𝐶2 1 𝐶2

46 $lama = $akhir - $awal; 𝐶2 1 𝐶2

Dari perhitungan kompleksitas algoritma pada table 4.14 di atas, maka didapat T(n)

yang merupakan jumlah keseluruhan dari kolom C*# yaitu sebagai berikut:

T(|n|) = C1 + 35C2 + 2(C3.n) + 1(C4.n) + 2(C5.n2) + 1(C6.n)

T(|n|) = (C1+ 35C2) n0 + (2C3 +1C4 +1C6) n

1+ (2C5) n

2

T(|n|) = 𝜃(n2)

Pada proses perhitungan di atas diperoleh hasil kompleksitas algoritma WP

adalah 𝜃(n2).

4.3.5 Kompleksitas Algoritma Technique for Order Preference by Similarity to Ideal

Solution (TOPSIS)

Setelah mengetahui kompleksitas algoritma WP, maka selanjutnya adalah melakukan

perhitungan kompleksitas algoritma TOPSIS dengan tujuan mendapatkan gambaran

perbandingan antara kedua algoritma tersebut. Kompleksitas sistem pendukung

keputusan metode TOPSIS dapat dilihat pada tabel 4.16.

Tabel 4.16 Kompleksitas Algoritma TOPSIS

No Code C # C*#

1 include ("konfig/koneksi.php"); 𝐶1 1 𝐶1

2 $awal = microtime(true); 𝐶2 1 𝐶2

3 $i=1; 𝐶2 1 𝐶2

4 $a=mysql_query("select * from

alternatif");

𝐶2 1 𝐶2

5 $sortir=array(); 𝐶2 1 𝐶2

6 while($da=mysql_fetch_assoc($a)){ 𝐶3 n 𝑛𝐶3

Page 110: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

94

7 $idalt=$da['id_alternatif']; 𝐶2 1 𝐶2

8 $n=mysql_query("select * from

nilai_matriks where

id_alternatif='$idalt'");

𝐶2 1 𝐶2

9 $c=0; 𝐶2 1 𝐶2

10 $ymax=array(); 𝐶2 1 𝐶2

11 while($dn=mysql_fetch_assoc($n)){ 𝐶3 n 𝑛𝐶3

12 $idk=$dn['id_kriteria']; 𝐶2 1 𝐶2

13 $nilai_kuadrat=0; 𝐶2 1 𝐶2

14 $k=mysql_query("select * from

nilai_matriks where id_kriteria='$idk'

");

𝐶2 1 𝐶2

15 while($dkuadrat=mysql_fetch_assoc($k))

{

𝐶4 n 𝑛𝐶4

16 $nilai_kuadrat=$nilai_kuadrat+($dkuadr

at['nilai']*$dkuadrat['nilai']);

𝐶2 1 𝐶2

17 }

18 $jml_alternatif=mysql_query("select *

from alternatif");

𝐶2 1 𝐶2

19 $jml_a=mysql_num_rows($jml_alternatif)

;

𝐶2 1 𝐶2

20 $bobot=0; 𝐶2 1 𝐶2

21 $tnilai=0; 𝐶2 1 𝐶2

22 $k2=mysql_query("select * from

nilai_matriks where id_kriteria='$idk'

");

𝐶2 1 𝐶2

23 while($dbobot=mysql_fetch_assoc($k2)){ 𝐶4 n 𝑛𝐶4

24 $tnilai=$tnilai+$dbobot['nilai']; 𝐶2 1 𝐶2

25 }

26 $bobot=$tnilai/$jml_a; 𝐶2 1 𝐶2

27 $b2=mysql_query("select * from

kriteria where id_kriteria='$idk'");

𝐶2 1 𝐶2

28 $nbot=mysql_fetch_assoc($b2); 𝐶2 1 𝐶2

Page 111: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

95

29 $bot=$nbot['bobot']; 𝐶2 1 𝐶2

30 $v=round(($dn['nilai']/sqrt($nilai_kua

drat))*$bot,3);

𝐶2 1 𝐶2

31 $ymax[$c]=$v; 𝐶2 1 𝐶2

32 $c++; 𝐶2 1 𝐶2

33 $mak=max($ymax); 𝐶2 1 𝐶2

34 $min=min($ymax); 𝐶2 1 𝐶2

35 }

36 $i++; 𝐶2 1 𝐶2

37 }

38 foreach($_SESSION['dplus'] as

$key=>$dxmin){

𝐶5 n 𝑛𝐶5

39 $jarakm=$_SESSION['dmin'][$key]; 𝐶2 1 𝐶2

40 $id_alt=$_SESSION['id_alt'][$key]; 𝐶2 1 𝐶2

41 $nama=mysql_query("select * from

alternatif where

id_alternatif='$id_alt'");

𝐶2 1 𝐶2

42 $nm=mysql_fetch_assoc($nama); 𝐶2 1 𝐶2

43 $nilaid=$jarakm/($jarakm+$dxmin); 𝐶2 1 𝐶2

44 $nilai=round($nilaid,4); 𝐶2 1 𝐶2

45 $nm=$nm['nm_alternatif']; 𝐶2 1 𝐶2

46 $sql2=mysql_query("insert into

nilai_preferensi (nm_alternatif,nilai)

values('$nm','$nilai')");

𝐶2 1 𝐶2

47 }

48 $i=1; 𝐶2 1 𝐶2

49 $sql3=mysql_query("select * from

nilai_preferensi order by nilai

Desc");

𝐶2 1 𝐶2

50 while($data3=mysql_fetch_assoc($sql3))

{

𝐶6 n 𝑛𝐶6

51 $i++; 𝐶2 1 𝐶2

Page 112: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

96

52 }

53 $del=mysql_query("delete from

nilai_preferensi");

𝐶2 1 𝐶2

54 $akhir = microtime(true); 𝐶2 1 𝐶2

55 $lama = $akhir - $awal; 𝐶2 1 𝐶2

Dari perhitungan kompleksitas algoritma pada tabel 4.15 di atas, maka didapat T(n)

yang merupakan jumlah keseluruhan dari kolom C*# yaitu sebagai berikut:

T(|n|) = C1 + 42C2 + 2(C3.n) + 2(C4.n) + 1(C5.n) + 1(C6.n)

T(|n|) = (C1+ 42C2) n0 + (2C3 + 2C4 + 1C5 +1C6) n

1

T(|n|) = 𝜃(n)

Pada proses perhitungan di atas diperoleh hasil kompleksitas algoritma TOPSIS

adalah 𝜃(n).

Page 113: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

97

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil analisis, perancangan serta hasil implementasi sistem penentuan

kandidat peserta lomba dengan menggunakan analisis perbandingan metode Weighted

Product (WP) dan metode Technique for Order by Similarity to Ideal Solution sehingga

dapat disimpulkan bahwa :

1. Analisis perbandingan menggunakan Euclidean Distance mendapat hasil bahwa

metode WP menjadi metode yang unggul dengan nilai 0.14281 dikarenakan

memiliki nilai yang mendekati nol dibandingkan metode TOPSIS dengan nilai

0.51238

2. Dari proses perhitungan kompleksitas algoritma untuk metode WP diperoleh

kompleksitas T(n) = 𝜃(n2) sedangkan metode TOPSIS memperoleh kompleksitas

T(n) = 𝜃(n)

3. Total waktu rata-rata yang dibutuhkan metode WP untuk mengeksekusi program

adalah 0.0781 detik sedangkan total waktu yang dibutuhkan metode TOPSIS untuk

mengeksekusi program adalah 0.2234 detik

4. Dari 10 kali percobaan diperoleh bahwa metode WP adalah yang optimum

disebabkan tahapan proses perhitungan metode WP lebih sederhana dengan 6

tahapan perhitungan sedangkan pada TOPSIS membutuhkan 7 tahapan sehingga

waktu eksekusinya bisa lebih cepat, selain itu normalisasi pada metode WP hanya

dilakukan sekali dalam proses perhitungannya yaitu pada normalisasi bobot saja

untuk mencari vektor s, sedangkan pada metode TOPSIS melakukan dua kali

normalisasi yaitu normalisasi matriks dan normalisasi bobot untuk mencari matriks

ideal positif/negatif sehingga menjadi kelemahan TOPSIS terhadap jarak nilai

(Euclidean Distance) yang lebih besar dibandingkan metode WP

5. Tingkat akurasi perhitungan sistem dengan perhitungan manual pada metode WP

dan metode TOPSIS pada penentuan kandidat peserta lomba mencapai 100%

6. Sistem ini dapat membantu pihak kampus dalam merekomendasikan kandidat

peserta lomba, keputusan akhir tetap berada pada pengambil keputusan.

Page 114: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

98

5.2 Saran

Untuk memperbaiki penelitian dan saran kepada penelitian ke depannya, maka berikut

beberapa saran yang bisa dipertimbangkan :

1. Diharapkan kepada peneliti selanjutnya untuk mengumpulkan standarisasi bobot

yang digunakan pada bidang lomba lainnya dengan tujuan untuk meningkatkan

tingkat akurasi sistem dalam memberikan rekomendasi kandidat peserta yang

sesuai kriteria.

2. Pada penelitian ini, sistem yang dibangun dalam proses mendapatkan nilai per

kriteria alternatif, belum sepenuhnya based on web, ada baiknya dikembangkan

agar proses seleksi bisa online test dengan tujuan mengantisipasi situasi yang tidak

memungkinkan untuk tes secara offline.

3. Sistem yang dibangun untuk kedepannya dapat dikembangkan lagi dengan

penambahan interface yang lebih baik sehingga terlihat menarik bagi pengguna

sistem

Page 115: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

99

DAFTAR PUSTAKA

Diana. (2018). Metode dan Aplikasi Pendukung Keputusan. Yogyakarta: Penerbit

Deepublish (hal 64).

Dodi Himawan. (2019). Analisis Perbandingan Menggunakan Metode AHP , TOPSIS

, Dan SAW Dalam Studi Kasus Sistem Pendukung Keputusan Peminjam Yang

Layak Bagi Lembaga Keuangan. Skripsi Universitas Sumatera Utara.

Elfan, M. J., Andreswari, D., & Anggriani, K. (2016). Pemilihan Jenis Kayu Untuk

Mebel Dengan Metode Weighted Product (WP) & Technique for Order

Preference By Similarity To Ideal Solution (TOPSIS). Jurnal Rekursif, 4(3),

301–310.

Fatta, A. H. (2007). Analisis & Perancangan Sistem Informasi: Untuk Keunggulan

Bersaing Perusahaan & Organisasi Modern. Yogyakarta: Penerbit Andi

Fajarwati, I., Fitriasari, N. S., & Siregar, H. (2018). Perbandingan Metode Weighted

Product (WP), Weighted Sum Model (WSM) Dan Multi Attribute Utility

Theory (MAUT) Dalam Sistem Pendukung Keputusan Penerimaan Tenaga

Kerja. Jurnal Teori Dan Aplikasi Ilmu Komputer, 1(1), 25–32.

Gayatri, V., & Chetan, M. (2013). Comparative Study of Different Multi-criteria

Decision-making Methods. International Journal on Advanced Computer

Theory and Engineering (IJACTE), 2(4), 9–12.

Joshi, A., Kale, S., Chandel, S., & Pal, D. (2015). Likert Scale: Explored and Explained.

British Journal of Applied Science & Technology, 7(4), 396–403.

https://doi.org/10.9734/bjast/2015/14975.

Kurnia, Y. (2018). Penilaian Kinerja Guru Menggunakan Metode Topsis. JSAI (Journal

Scientific and Applied Informatics), 1(3), 70–75.

https://doi.org/10.36085/jsai.v1i3.63.

Kusrini. (2007). Konsep dan Aplikasi Sistem Pendukung Keputusan. Yogyakarta, Jawa

Tengah, Indonesia: Andi.

Kusumadewi, S., Hartati, S., Harjoko, A., Wardoyo, R. (2006). Fuzzy Multi

Atribut Decision Making (Fuzzy MADM). Yogyakarta: Graha Ilmu.

Page 116: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

100

Levitin, Anany. (2009). Introduction to The Design and Analysis of Algorithms.

India: Person Education

Rahman, A. (2008). Perbandingan Kerangka Sistem Informasi Manajemen dan Sistem

Pendukung Keputusan. Yogyakarta : Diana

Sucipto, S., Resti, N. C., Andriyanto, T., Karaman, J., & Qamaria, R. S. (2019).

Transactional database design information system web-based tracer study

integrated telegram bot. Journal of Physics: Conference Series, 1381(1).

https://doi.org/10.1088/1742-6596/1381/1/012008.

Suhartono, D., & Sari, T. (2019). Comparative Method of Weighted Product and

TOPSIS to Determine The Beneficiary of Family Hope Program. IJIIS:

International Journal of Informatics and Information Systems, 2(2), 67–74.

https://doi.org/10.47738/ijiis.v2i2.16.

Sunarti. (2018). Perbandingan Metode TOPSIS dan SAW Untuk Pemilihan Rumah

Tinggal. Journal of Information System, 3(1), 69–79.

https://publikasi.dinus.ac.id/index.php/joins/article/view/1883/1289.

Page 117: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A 101

A. LISTING PROGRAM

1. Weighted Product Method

<div class="span9">

<div class="content">

<?php

$mahasiswa_pendaftar = new mahasiswa_pendaftar();

$lomba = new lomba();

$lomba_rinci = new lombaRinci();

$user = new User();

$hitung = new HitungSPK();

include "../include/fungsi_tanggal.php";

/*----------------------------------

Ketika mahasiswa_pendaftar melakuakn input data

----------------------------------*/

if(!isset($_GET['perlombaan'])){

?>

<div class="module">

<div class="module-head">

<h3>Pilih Perlombaan</h3>

</div>

<?php

$qrL = $lomba->GetData("where status = '1'");

?>

<div class="module-body">

<form class="form-horizontal row-fluid"

action="index.php?menu=mahasiswa_pendaftar" method="get">

<input type="hidden" name="menu"

value="perhitungan">

<div class="control-group">

<label class="control-label"

for="basicinput">Perlombaan</label>

<div class="controls">

<select name="perlombaan">

<?php

while ($row = $qrL-

>fetch()){

echo "<option

value='$row[id_lomba]'>$row[lomba]</option>";

}

?>

</select>

<input class="btn btn-primary"

type="submit" value="Pilih">

</div>

</div>

Page 118: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A -102

</form>

</div>

</div>

<?php

}else{

$id_lomba = $_GET['perlombaan'];

$qrLw = $lomba->GetData("where id_lomba='$id_lomba'");

$nama_lw = $qrLw->fetch();

if(isset($_GET['nilai_user'])){

$id_user = $_GET['nilai_user'];

$qrN = $user->GetData("where id_user='$id_user'");

$rowN = $qrN->fetch();

?>

<div class="module">

<div class="module-head">

<h3>Rincian Nilai -- <?php echo $rowN['nama_lengkap'] . " -

- " . $nama_lw['lomba']; ?></h3>

</div>

<div class="module-body table">

<?php

if(isset($_POST['submit'])){

$ar=1;

$qryRincian = $lomba_rinci->GetData("where

id_lomba='$id_lomba' and status_nilai='1' order by kriteria asc");

while($exec = $qryRincian->fetch()){

$nilai = $_POST['input_' . $ar];

$qry = $mahasiswa_pendaftar->SetNilai($nilai,

$id_user, $id_lomba, $exec['kriteria']);

if($qry){

echo "<script

language='javascript'>alert('Nilai berhasil diberikan');

document.location='?menu=mahasiswa_pendaftar&perlombaan=$id_lomba&nilai_u

ser=$id_user'</script>";

}else{

echo "<script

language='javascript'>alert('Gagal');document.location='menu=mahasiswa_pendaftar

&perlombaan=$id_lomba'</script>";

}

$ar++;

}

}

Page 119: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A 103

$qryRincian = $mahasiswa_pendaftar->GetData("where

id_user='$id_user' and id_lomba='$id_lomba' order by kriteria asc");

?>

<form class="form-horizontal row-fluid" action=""

method="post">

<?php

$ar=1;

while($krit = $qryRincian->fetch()){

$nu = $lomba_rinci->GetData("where

id_lomba = '$id_lomba' and kriteria = '$krit[kriteria]'");

$cekKrit = $nu->fetch();

echo "<div class='control-group'>

<label class='control-label'

for='basicinput'>$krit[kriteria]</label>

<div class='controls'>";

if($cekKrit['status_nilai'] == "1"){

echo "<input type='text' id='basicinput'

name='input_$ar' placeholder='Input Nilai $krit[kriteria]' class='span8'

value='$krit[nilai]'>";

if($cekKrit['status_upload'] == "1")

echo "<div class='control'><a

target='blank' href='../upload/$krit[file]' class='span8'>Berkas

mahasiswa_pendaftar</a></div>";

$ar++;

}else if($cekKrit['status_upload'] == "1"){

echo "<a target='blank'

href='../upload/$krit[file]' class='span8'>Berkas mahasiswa_pendaftar</a>";

}

echo "</div>

</div>";

}

?>

<div class='control-group'>

<div class="controls">

<input type="submit" name="submit"

value="Simpan" class="btn btn-primary">

</div>

</div>

</form>

</div>

</div>

<?php

}else{

/*----------------------------------

Ketika mahasiswa_pendaftar hanya menampilkan data

----------------------------------*/

Page 120: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A -104

?>

<div class="module">

<div class="module-head">

<h3>Data Pendaftar -- <?php echo $nama_lw['lomba'];

?></h3>

</div>

<div class="module-body table">

<table cellpadding="0" cellspacing="0" border="0"

class="datatable-1 table table-bordered table-striped display"

width="100%">

<thead>

<tr>

<th><center><font

color="black">No</font></center></th>

<th><center><font

color="black">Mahasiswa Pendaftar</font></center></th>

<!-- <th>Pendidikan</th>

<th>No HP</th>

<th>Email</th> -->

<th><center><font

color="black">Tindakan</font></center></th>

</tr>

</thead>

<tbody>

<?php

$no = 1;

$getData = $mahasiswa_pendaftar-

>GetData("where id_lomba='$id_lomba'");

$cek_user = "";

while($data = $getData->fetch()){

$qrU = $user->GetData("where

id_user='$data[id_user]'");

$rowU = $qrU->fetch();

if ($data['id_user']==$cek_user)

continue;

echo "<tr>

<td width = 10%><center><font

color='black'>$no</font></center></td>

<td width = 75%><a

target='blank'

href='index.php?menu=users&detail=$data[id_user]'>$rowU[nama_lengkap]</a></t

d>";

echo "<td width = 15%> <center><a

class='btn btn-small btn-primary'

href='?menu=mahasiswa_pendaftar&perlombaan=$id_lomba&nilai_user=$data[id_

user]'>Rincian Nilai</a></center></td>";

// echo "<td width = 22%> <a

class='btn btn-small btn-success'

Page 121: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A 105

href='?ap=peserta&aksi=detail&id_peserta=$data[id_peserta]'>Detail</a> <a

class='btn btn-small btn-danger'

href='application/peserta/peserta_hapus.php?id_peserta=$data[id_peserta]&nama_pe

serta=$data[nama_lengkap]&lomba=$data[nama_lomba]'>Hapus</a>

// <a class='btn btn-small btn-

info' href='?ap=peserta&aksi=edit&id_peserta=$data[id_peserta]'>Edit</a>

echo "</tr>";

$cek_user = $data['id_user'];

$no++;

}

//$up = mysql_query("update gtp_peserta set

approve = '1' where approve = '0'");

?>

</tbody>

</table>

<center><?php echo "<a

href='?menu=perhitungan&perlombaan=$id_lomba&hitung=1' class= 'btn btn-

success'>Hitung</a>"; ?> </button></center>

</div>

</div>

<?php

if(isset($_GET['umumkan'])){

$umumkan = $_GET['umumkan'];

$setUmum = $lomba->SetPengumuman($umumkan,

$id_lomba);

if($setUmum){

echo "<script

language='javascript'>alert('Berhasil');document.location='?menu=perhitungan&perl

ombaan=$id_lomba&hitung=1'</script>";

}else{

echo "<script

language='javascript'>alert('Gagal');document.location='?menu=perhitungan&perlo

mbaan=$id_lomba&hitung=1'</script>";

}

}

if(isset($_GET['hitung'])){

?>

<!-- Data perhitungan bobot dan normalisasi bobot -->

<div class="module">

Page 122: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A -106

<div class="module-head">

<h3>Normalisasi Bobot -- <?php echo $nama_lw['lomba'];

?></h3>

</div>

<div class="module-body table">

<table cellpadding="0" cellspacing="0" border="0"

class="datatable-1 table table-bordered table-striped display"

width="100%">

<thead>

<tr>

<th><center><font

color="black">No</font></center></th>

<th><font

color="black">Kriteria</font></th>

<th><font color="black">Bobot

Awal</font></th>

<th><font color="black">Bobot

Baru</font></th>

<!-- <th></th> -->

</tr>

</thead>

<tbody>

<?php

$awal = microtime(true);

$jmlBobot = $hitung-

>NormalisasiBobot($id_lomba);

$no = 1;

$getData = $lomba_rinci->GetData("where

id_lomba='$id_lomba' and bobot > 0 order by kriteria asc");

$cek_user = "";

$arBB = array();

$i=0;

while($data = $getData->fetch()){

$bobotBaru =

round($data['bobot']/$jmlBobot, 4);

$arBB[$i] = $bobotBaru;

echo "<tr>

<td width = 10%><center><font

color='black'>$no</font></center></td>

<td width = 66%><font

color='black'>$data[kriteria]</font></td>

<td width = 12%><center><font

color='black'>$data[bobot]</font></center></td>

<td width = 12%><center><font

color='black'>$bobotBaru</font></center></td>";

// echo "<td width = 22%> <a

class='btn btn-small btn-success'

href='?ap=peserta&aksi=detail&id_peserta=$data[id_peserta]'>Detail</a> <a

Page 123: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A 107

class='btn btn-small btn-danger'

href='application/peserta/peserta_hapus.php?id_peserta=$data[id_peserta]&nama_pe

serta=$data[nama_lengkap]&lomba=$data[nama_lomba]'>Hapus</a>

// <a class='btn btn-small btn-

info' href='?ap=peserta&aksi=edit&id_peserta=$data[id_peserta]'>Edit</a>

echo "</tr>";

$i++;

$no++;

}

//$up = mysql_query("update gtp_peserta set

approve = '1' where approve = '0'");

?>

</tbody>

</table>

</div>

</div>

<?php

$loopP = $mahasiswa_pendaftar->GetData("where

id_lomba='$id_lomba' and nilai > 0");

$ar_mahasiswa_pendaftar = array();

$in = -1;

$us = "";

while($data = $loopP->fetch()){

if($us != $data['id_user'])

$in++;

$ar_mahasiswa_pendaftar[$in] = $data['id_user'];

$us = $data['id_user'];

}

$jml_mahasiswa_pendaftar =

count($ar_mahasiswa_pendaftar);

$ar_nilai = array();

for($i=0;$i<$jml_mahasiswa_pendaftar;$i++){

$loop2 = $mahasiswa_pendaftar->GetData("where

id_lomba='$id_lomba' and id_user='$ar_mahasiswa_pendaftar[$i]' and nilai > 0

order by kriteria asc");

//echo "<br>";echo "<font color='black'> Pendaftar

dengan id " . $ar_mahasiswa_pendaftar[$i] . "<br/></font>";

$ib=0;

$vkt_s = 1;

while($k = $loop2->fetch()){

$pgkt = pow($k['nilai'], $arBB[$ib]);

Page 124: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A -108

//echo "<font color='black'>".$k['kriteria']."

dengan nilai ".$k['nilai']." dipangkat dengan bobot ". $arBB[$ib]."<br/></font>";

$vkt_s = $vkt_s * $pgkt;

$ib++;

}

//echo "<font color='black'>Vektor S pendaftar ".

$ar_mahasiswa_pendaftar[$i] ." = ". $vkt_s ." </font>";

//echo "<br>";

$qryVS = $hitung->SetVektor_S($vkt_s,

$ar_mahasiswa_pendaftar[$i], $id_lomba);

$qryVV = $hitung-

>SetVektor_V($ar_mahasiswa_pendaftar[$i], $id_lomba);

}

echo "<br>";

$akhir = microtime(true);

$lama = $akhir - $awal;

echo "<font color='blue'>Kecepatan Eksekusi Metode

Weighted Product Adalah: <b>".$lama."</b> Detik</font>";

?>

<div class="module">

<div class="module-head">

<h3>Hasil Seleksi -- <?php echo $nama_lw['lomba']; ?> --

Metode Weighted Product</h3>

</div>

<div class="module-body table">

<table cellpadding="0" cellspacing="0" border="0"

class="datatable-1 table table-bordered table-striped display"

width="100%">

<thead>

<tr>

<th><center><font

color="black">Ranking</font></center></th>

<th><font color="black">Rekomendasi

Peserta</font></th>

<th><font color="black">Vektor

S</font></th>

<th><font color="black">Vektor

V</font></th>

<!-- <th></th> -->

</tr>

</thead>

<tbody>

<?php

$no = 1;

Page 125: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A 109

$getData = $hitung->GetData("where

id_lomba='$id_lomba' order by vektor_v desc");

while($data = $getData->fetch()){

$qr_Plm = $user->GetData("where

id_user = '$data[id_user]'");

$plm = $qr_Plm->fetch();

echo "<tr>

<td width = 10%><center><font

color='black'>$no</font></center></td>

<td width = 66%><font

color='black'>$plm[nama_lengkap]</font></td>

<td width = 12%><font

color='black'>$data[vektor_s]</font></td>

<td width = 12%><center><font

color='black'>$data[vektor_v]</font></center></td>";

// echo "<td width = 22%> <a

class='btn btn-small btn-success'

href='?ap=peserta&aksi=detail&id_peserta=$data[id_peserta]'>Detail</a> <a

class='btn btn-small btn-danger'

href='application/peserta/peserta_hapus.php?id_peserta=$data[id_peserta]&nama_pe

serta=$data[nama_lengkap]&lomba=$data[nama_lomba]'>Hapus</a>

// <a class='btn btn-small btn-

info' href='?ap=peserta&aksi=edit&id_peserta=$data[id_peserta]'>Edit</a>

echo "</tr>";

$no++;

}

//$up = mysql_query("update gtp_peserta set

approve = '1' where approve = '0'");

?>

</tbody>

</table>

<div class="module-footer">

<center>

<?php

$qrUm = $lomba->GetData("where

id_lomba='$id_lomba'");

$cekUmum = $qrUm->fetch();

if($cekUmum['pengumuman']=="1"){

echo "<a

href='?menu=perhitungan&perlombaan=$id_lomba&umumkan=0' class= 'btn btn-

danger'>Batalkan Pengumuman</a>";

}else{

echo "<a

href='?menu=perhitungan&perlombaan=$id_lomba&umumkan=1' class= 'btn btn-

success'>Umumkan</a>";

}

?>

Page 126: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A -110

<?php

echo "<a

href='/skripsi/admin/topsis/index.php?a=hasiltopsis&k=nilai_matriks' target='_blank'

class= 'btn btn-primary'>Analisis perbandingan dengan metode TOPSIS</a>";

?>

</center>

</div>

<br>

</div>

</div>

<?php

}

}

}

?>

</div>

</div>

2. TOPSIS Method

1. nilai_matriks_normalisasi.php

<?php

include ("konfig/koneksi.php");

$s=mysql_query("select * from kriteria");

$h=mysql_num_rows($s);

?>

<style>

table {

border-collapse: collapse;

width: 100%;

}

table, th, td {

border: 1px solid black;

}

th, td {

padding: 10px;

}

th {

background-color: rgb(19, 110, 170);

color: white;

}

tr:hover

</style>

<div class="box-header">

<h3 class="box-title " >Nilai Matriks Ternormalisasi</h3>

Page 127: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A 111

</div>

<table class="table table-bordered table-responsive">

<thead>

<tr>

<th rowspan="2">No</th>

<th rowspan="2">Nama</th>

<th colspan="<?php echo $h; ?>">Kriteria</th>

</tr>

<tr>

<?php

for($n=1;$n<=$h;$n++){

echo"<th>C{$n}</th>";

}

?>

</tr>

</thead>

<tbody>

<?php

$i=0;

$a=mysql_query("select * from alternatif");

while($da=mysql_fetch_assoc($a)){

echo "<tr>

<td>".(++$i)."</td>

<td>$da[nm_alternatif]</td>";

$idalt=$da['id_alternatif'];

//ambil nilai

$n=mysql_query("select * from nilai_matriks where

id_alternatif='$idalt'");

while($dn=mysql_fetch_assoc($n)){

$idk=$dn['id_kriteria'];

//nilai kuadrat

$nilai_kuadrat=0;

$k=mysql_query("select * from nilai_matriks where

id_kriteria='$idk' ");

while($dkuadrat=mysql_fetch_assoc($k)){

$nilai_kuadrat=$nilai_kuadrat+($dkuadrat['nilai']*$dkuadrat['nilai']);

}

Page 128: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A -112

echo "<td

align='center'>".round(($dn['nilai']/sqrt($nilai_kuadrat)),3)."</td>";

}

echo "</tr>\n";

}

?>

</tbody>

</table>

2. nilai_bobot_normalisasi.php

<?php

include ("konfig/koneksi.php");

$s=mysql_query("select * from kriteria");

$h=mysql_num_rows($s);

?>

<style>

table {

border-collapse: collapse;

width: 100%;

}

table, th, td {

border: 1px solid black;

}

th, td {

padding: 10px;

}

th {

background-color: rgb(19, 110, 170);

color: white;

}

tr:hover

</style>

<div class="box-header">

<h3 class="box-title " >Nilai Bobot Ternormalisasi</h3>

</div>

<table class="table table-bordered table-responsive">

<thead>

<tr>

<th rowspan="2">No</th>

Page 129: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A 113

<th rowspan="2">Nama</th>

<th colspan="<?php echo $h; ?>">Kriteria</th>

</tr>

<tr>

<?php

for($n=1;$n<=$h;$n++){

echo"<th>C{$n}</th>";

}

?>

</tr>

</thead>

<tbody>

<?php

$i=0;

$a=mysql_query("select * from alternatif");

while($da=mysql_fetch_assoc($a)){

echo "<tr>

<td>".(++$i)."</td>

<td>$da[nm_alternatif]</td>";

$idalt=$da['id_alternatif'];

//ambil nilai

$n=mysql_query("select * from nilai_matriks where

id_alternatif='$idalt'");

while($dn=mysql_fetch_assoc($n)){

$idk=$dn['id_kriteria'];

//nilai kuadrat

$nilai_kuadrat=0;

$k=mysql_query("select * from nilai_matriks where

id_kriteria='$idk' ");

while($dkuadrat=mysql_fetch_assoc($k)){

$nilai_kuadrat=$nilai_kuadrat+($dkuadrat['nilai']*$dkuadrat['nilai']);

}

//hitung jml alternatif

$jml_alternatif=mysql_query("select * from alternatif");

$jml_a=mysql_num_rows($jml_alternatif);

//nilai bobot kriteria (rata")

$bobot=0;

Page 130: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A -114

$tnilai=0;

$k2=mysql_query("select * from nilai_matriks where

id_kriteria='$idk' ");

while($dbobot=mysql_fetch_assoc($k2)){

$tnilai=$tnilai+$dbobot['nilai'];

}

$bobot=$tnilai/$jml_a;

//nilai bobot input

$b2=mysql_query("select * from kriteria where

id_kriteria='$idk'");

$nbot=mysql_fetch_assoc($b2);

$bot=$nbot['bobot'];

echo "<td

align='center'>".round(($dn['nilai']/sqrt($nilai_kuadrat))*$bot,3)."</td>";

}

echo "</tr>\n";

}

?>

</tbody>

</table>

3. matriks_ideal.php

<?php

include ("konfig/koneksi.php");

$s=mysql_query("select * from kriteria");

$h=mysql_num_rows($s);

?>

<style>

table {

border-collapse: collapse;

width: 100%;

}

table, th, td {

border: 1px solid black;

}

th, td {

padding: 10px;

}

th {

background-color: rgb(19, 110, 170);

Page 131: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A 115

color: white;

}

tr:hover

</style>

<div class="box-header">

<h3 class="box-title " >Matriks Ideal Positif (A<sup>+</sup>)</h3>

</div>

<table class="table table-bordered table-responsive">

<thead>

<tr>

<th colspan="<?php echo $h; ?>">Kriteria</th>

</tr>

<tr>

<?php

$hk=mysql_query("select nama_kriteria from kriteria");

while($dhk=mysql_fetch_assoc($hk)){

echo"<th>$dhk[nama_kriteria]</th>";

}

?>

</tr>

<tr>

<?php

for($n=1;$n<=$h;$n++){

echo"<th>y<sub>$n</sub><sup>+</sup></th>";

}

?>

</tr>

</thead>

<tbody>

<?php

$i=0;

$a=mysql_query("select * from kriteria");

echo "<tr>";

while($da=mysql_fetch_assoc($a)){

$idalt=$da['id_kriteria'];

//ambil nilai

$n=mysql_query("select * from nilai_matriks where

id_kriteria='$idalt'");

Page 132: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A -116

$c=0;

$ymax=array();

while($dn=mysql_fetch_assoc($n)){

$idk=$dn['id_kriteria'];

//nilai kuadrat

$nilai_kuadrat=0;

$k=mysql_query("select * from nilai_matriks where

id_kriteria='$idk' ");

while($dkuadrat=mysql_fetch_assoc($k)){

$nilai_kuadrat=$nilai_kuadrat+($dkuadrat['nilai']*$dkuadrat['nilai']);

}

//hitung jml alternatif

$jml_alternatif=mysql_query("select * from alternatif");

$jml_a=mysql_num_rows($jml_alternatif);

//nilai bobot kriteria (rata")

$bobot=0;

$tnilai=0;

$k2=mysql_query("select * from nilai_matriks where

id_kriteria='$idk' ");

while($dbobot=mysql_fetch_assoc($k2)){

$tnilai=$tnilai+$dbobot['nilai'];

}

$bobot=$tnilai/$jml_a;

//nilai bobot input

$b2=mysql_query("select * from kriteria where

id_kriteria='$idk'");

$nbot=mysql_fetch_assoc($b2);

$bot=$nbot['bobot'];

$v=round(($dn['nilai']/sqrt($nilai_kuadrat))*$bot,3);

$ymax[$c]=$v;

$c++;

}

echo "<td>".max($ymax)."</td>";

}

echo "</tr>";

Page 133: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A 117

?>

</tbody>

</table>

<!-- tabel min -->

<div class="box-header">

<h3 class="box-title " >Matriks Ideal Positif (A<sup>-</sup>)</h3>

</div>

<table class="table table-bordered table-responsive">

<thead>

<tr>

<th colspan="<?php echo $h; ?>">Kriteria</th>

</tr>

<tr>

<?php

$hk=mysql_query("select nama_kriteria from kriteria");

while($dhk=mysql_fetch_assoc($hk)){

echo"<th>$dhk[nama_kriteria]</th>";

}

?>

</tr>

<tr>

<?php

for($n=1;$n<=$h;$n++){

echo"<th>y<sub>$n</sub><sup>-</sup></th>";

}

?>

</tr>

</thead>

<tbody>

<?php

$i=0;

$a=mysql_query("select * from kriteria");

echo "<tr>";

while($da=mysql_fetch_assoc($a)){

$idalt=$da['id_kriteria'];

//ambil nilai

Page 134: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A -118

$n=mysql_query("select * from nilai_matriks where

id_kriteria='$idalt'");

$c=0;

$ymax=array();

while($dn=mysql_fetch_assoc($n)){

$idk=$dn['id_kriteria'];

//nilai kuadrat

$nilai_kuadrat=0;

$k=mysql_query("select * from nilai_matriks where

id_kriteria='$idk' ");

while($dkuadrat=mysql_fetch_assoc($k)){

$nilai_kuadrat=$nilai_kuadrat+($dkuadrat['nilai']*$dkuadrat['nilai']);

}

//hitung jml alternatif

$jml_alternatif=mysql_query("select * from alternatif");

$jml_a=mysql_num_rows($jml_alternatif);

//nilai bobot kriteria (rata")

$bobot=0;

$tnilai=0;

$k2=mysql_query("select * from nilai_matriks where

id_kriteria='$idk' ");

while($dbobot=mysql_fetch_assoc($k2)){

$tnilai=$tnilai+$dbobot['nilai'];

}

$bobot=$tnilai/$jml_a;

//nilai bobot input

$b2=mysql_query("select * from kriteria where

id_kriteria='$idk'");

$nbot=mysql_fetch_assoc($b2);

$bot=$nbot['bobot'];

$v=round(($dn['nilai']/sqrt($nilai_kuadrat))*$bot,3);

$ymax[$c]=$v;

$c++;

}

echo "<td>".min($ymax)."</td>";

Page 135: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A 119

}

echo "</tr>";

?>

</tbody>

</table>

4. jarak_solusi.php

<?php

session_start();

include ("konfig/koneksi.php");

$s=mysql_query("select * from kriteria");

$h=mysql_num_rows($s);

?>

<style>

table {

border-collapse: collapse;

width: 100%;

}

table, th, td {

border: 1px solid black;

}

th, td {

padding: 10px;

}

th {

background-color: rgb(19, 110, 170);

color: white;

}

tr:hover

</style>

<div class="box-header">

<h3 class="box-title " >Jarak Solusi Ideal Positif (D<sup>+</sup>)</h3>

</div>

<table class="table table-bordered table-responsive">

<thead>

<tr>

<th >Nomor</th>

<th >Nama</th>

<th >D<sup>+</sup></th>

</tr>

</thead>

<tbody>

<?php

//buat array kolom

Page 136: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A -120

$i2=1;

$i3=0;

$maxarray=array();

$a2=mysql_query("select * from kriteria");

echo "<tr>";

while($da2=mysql_fetch_assoc($a2)){

$idalt2=$da2['id_kriteria'];

//ambil nilai

$n2=mysql_query("select * from nilai_matriks where

id_kriteria='$idalt2'");

$jarakp2=0;

$c2=0;

$ymax2=array();

while($dn2=mysql_fetch_assoc($n2)){

$idk2=$dn2['id_kriteria'];

//nilai kuadrat

$nilai_kuadrat2=0;

$k2=mysql_query("select * from nilai_matriks where

id_kriteria='$idk2' ");

while($dkuadrat2=mysql_fetch_assoc($k2)){

$nilai_kuadrat2=$nilai_kuadrat2+($dkuadrat2['nilai']*$dkuadrat2['nilai']);

}

//hitung jml alternatif

$jml_alternatif2=mysql_query("select * from alternatif");

$jml_a2=mysql_num_rows($jml_alternatif2);

//nilai bobot kriteria (rata")

$bobot2=0;

$tnilai2=0;

$k22=mysql_query("select * from nilai_matriks where

id_kriteria='$idk2' ");

while($dbobot2=mysql_fetch_assoc($k22)){

$tnilai2=$tnilai2+$dbobot2['nilai'];

}

$bobot2=$tnilai2/$jml_a2;

//nilai bobot input

$b2=mysql_query("select * from kriteria where

id_kriteria='$idk2'");

Page 137: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A 121

$nbot2=mysql_fetch_assoc($b2);

$bot2=$nbot2['bobot'];

$v2=round(($dn2['nilai']/sqrt($nilai_kuadrat2))*$bot2,3);

$ymax2[$c2]=$v2;

$c2++;

$mak2=max($ymax2);

}

//hitung D+

foreach($ymax2 as $nymax2){

$jarakp2=$jarakp2+pow($nymax2-$mak2,2);

}

//array max

$maxarray[$i3]=max($ymax2);

//print_r($maxarray);

//print_r(max($ymax2));

$i2++;

$i3++;

}

//session array ymax

$_SESSION['ymax']=$maxarray;

//array baris//////////////////////////////////////////////////

$i=1;

$ii=0;

$dpreferensi=array();

$a=mysql_query("select * from alternatif");

echo "<tr>";

while($da=mysql_fetch_assoc($a)){

$idalt=$da['id_alternatif'];

//ambil nilai

$n=mysql_query("select * from nilai_matriks where

id_alternatif='$idalt'");

$jarakp=0;

$c=0;

$ymax=array();

$arraymaks=array();

while($dn=mysql_fetch_assoc($n)){

Page 138: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A -122

$idk=$dn['id_kriteria'];

//nilai kuadrat

$nilai_kuadrat=0;

$k=mysql_query("select * from nilai_matriks where

id_kriteria='$idk' ");

while($dkuadrat=mysql_fetch_assoc($k)){

$nilai_kuadrat=$nilai_kuadrat+($dkuadrat['nilai']*$dkuadrat['nilai']);

}

//hitung jml alternatif

$jml_alternatif=mysql_query("select * from alternatif");

$jml_a=mysql_num_rows($jml_alternatif);

//nilai bobot kriteria (rata")

$bobot=0;

$tnilai=0;

$k2=mysql_query("select * from nilai_matriks where

id_kriteria='$idk' ");

while($dbobot=mysql_fetch_assoc($k2)){

$tnilai=$tnilai+$dbobot['nilai'];

}

$bobot=$tnilai/$jml_a;

//nilai bobot input

$b2=mysql_query("select * from kriteria where

id_kriteria='$idk'");

$nbot=mysql_fetch_assoc($b2);

$bot=$nbot['bobot'];

$v=round(($dn['nilai']/sqrt($nilai_kuadrat))*$bot,3);

$ymax[$c]=$v;

$c++;

$mak=max($ymax);

}

//hitung D+

foreach($ymax as $nymax=>$value){

$maks=$_SESSION['ymax'][$nymax];

//echo $maks." - ";

$final=sqrt($jarakp=$jarakp+pow($value-$maks,2));

//echo $jarakp." || ";

}

echo "<tr>

<td>$i</td>

Page 139: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A 123

<td>$da[nm_alternatif]</td>

<td>".round($final,3)."</td>

</tr>";

$dpreferensi[$ii]=round($final,3);

$_SESSION['dplus']=$dpreferensi;

//print_r($ymax);

$i++;

$ii++;

}

echo "</tr>";

?>

</tbody>

</table>

<!-- tabel min ------------------------------------------------->

<div class="box-header">

<h3 class="box-title " >Jarak Solusi Ideal Negatif (D<sup>-</sup>)</h3>

</div>

<table class="table table-bordered table-responsive">

<thead>

<tr>

<th >Nomor</th>

<th >Nama</th>

<th >D<sup>-</sup></th>

</tr>

</thead>

<tbody>

<?php

//buat array kolom

$i2=1;

$i3=0;

$minarray=array();

$a2=mysql_query("select * from kriteria");

echo "<tr>";

while($da2=mysql_fetch_assoc($a2)){

$idalt2=$da2['id_kriteria'];

//ambil nilai

Page 140: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A -124

$n2=mysql_query("select * from nilai_matriks where

id_kriteria='$idalt2'");

$jarakp2=0;

$c2=0;

$ymin2=array();

while($dn2=mysql_fetch_assoc($n2)){

$idk2=$dn2['id_kriteria'];

//nilai kuadrat

$nilai_kuadrat2=0;

$k2=mysql_query("select * from nilai_matriks where

id_kriteria='$idk2' ");

while($dkuadrat2=mysql_fetch_assoc($k2)){

$nilai_kuadrat2=$nilai_kuadrat2+($dkuadrat2['nilai']*$dkuadrat2['nilai']);

}

//hitung jml alternatif

$jml_alternatif2=mysql_query("select * from alternatif");

$jml_a2=mysql_num_rows($jml_alternatif2);

//nilai bobot kriteria (rata")

$bobot2=0;

$tnilai2=0;

$k22=mysql_query("select * from nilai_matriks where

id_kriteria='$idk2' ");

while($dbobot2=mysql_fetch_assoc($k22)){

$tnilai2=$tnilai2+$dbobot2['nilai'];

}

$bobot2=$tnilai2/$jml_a2;

//nilai bobot input

$b2=mysql_query("select * from kriteria where

id_kriteria='$idk2'");

$nbot2=mysql_fetch_assoc($b2);

$bot2=$nbot2['bobot'];

$v2=round(($dn2['nilai']/sqrt($nilai_kuadrat2))*$bot2,3);

$ymin2[$c2]=$v2;

$c2++;

$min2=min($ymin2);

}

//hitung D+

Page 141: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A 125

foreach($ymin2 as $nymin2){

$jarakp2=$jarakp2+pow($nymin2-$min2,2);

//echo "--".$mak."---";

}

//array max

$minarray[$i3]=min($ymin2);

//print_r($maxarray);

//print_r(max($ymax2));

$i2++;

$i3++;

}

//session array ymax

$_SESSION['ymin']=$minarray;

//array baris//////////////////////////////////////////////////

$i=1;

$ii=0;

$id_alt=array();

$a=mysql_query("select * from alternatif");

echo "<tr>";

while($da=mysql_fetch_assoc($a)){

$idalt=$da['id_alternatif'];

//ambil nilai

$n=mysql_query("select * from nilai_matriks where

id_alternatif='$idalt'");

$jarakp=0;

$c=0;

$ymax=array();

$arraymin=array();

while($dn=mysql_fetch_assoc($n)){

$idk=$dn['id_kriteria'];

//nilai kuadrat

$nilai_kuadrat=0;

$k=mysql_query("select * from nilai_matriks where

id_kriteria='$idk' ");

while($dkuadrat=mysql_fetch_assoc($k)){

$nilai_kuadrat=$nilai_kuadrat+($dkuadrat['nilai']*$dkuadrat['nilai']);

Page 142: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A -126

}

//hitung jml alternatif

$jml_alternatif=mysql_query("select * from alternatif");

$jml_a=mysql_num_rows($jml_alternatif);

//nilai bobot kriteria (rata")

$bobot=0;

$tnilai=0;

$k2=mysql_query("select * from nilai_matriks where

id_kriteria='$idk' ");

while($dbobot=mysql_fetch_assoc($k2)){

$tnilai=$tnilai+$dbobot['nilai'];

}

$bobot=$tnilai/$jml_a;

//nilai bobot input

$b2=mysql_query("select * from kriteria where

id_kriteria='$idk'");

$nbot=mysql_fetch_assoc($b2);

$bot=$nbot['bobot'];

$v=round(($dn['nilai']/sqrt($nilai_kuadrat))*$bot,3);

$ymin[$c]=$v;

$c++;

$min=max($ymin);

}

//hitung D+

foreach($ymin as $nymin=>$value){

$mins=$_SESSION['ymin'][$nymin];

// echo $mins." - ";

$final=sqrt($jarakp=$jarakp+pow($value-$mins,2));

// echo $jarakp." || ";

}

echo "<tr>

<td>$i</td>

<td>$da[nm_alternatif]</td>

<td>".round($final,3)."</td>

</tr>";

//session min

$dpreferensi[$ii]=round($final,3);

$_SESSION['dmin']=$dpreferensi;

//print_r($ymin);

Page 143: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A 127

//ambil id alternatif

$id_alt[$ii]=$da['id_alternatif'];

$_SESSION['id_alt']=$id_alt;

$i++;

$ii++;

}

echo "</tr>";

?>

</tbody>

</table>

5. nilai_preferensi.php

<?php

session_start();

include ("konfig/koneksi.php");

?>

<div class="box-header">

<h3 class="box-title " >Nilai Preferensi</h3>

</div>

<table class="table table-bordered table-responsive">

<thead>

<tr>

<th >Ranking</th>

<th >Rekomendasi Peserta</th>

<th >Nilai Preferensi (V<sub>i</sub>)</th>

</tr>

</thead>

<tbody>

<?php

$awal = microtime(true);

$i=1;

$a=mysql_query("select * from alternatif");

echo "<tr>";

$sortir=array();

while($da=mysql_fetch_assoc($a)){

$idalt=$da['id_alternatif'];

Page 144: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A -128

//ambil nilai

$n=mysql_query("select * from nilai_matriks where

id_alternatif='$idalt'");

$c=0;

$ymax=array();

while($dn=mysql_fetch_assoc($n)){

$idk=$dn['id_kriteria'];

//nilai kuadrat

$nilai_kuadrat=0;

$k=mysql_query("select * from nilai_matriks where

id_kriteria='$idk' ");

while($dkuadrat=mysql_fetch_assoc($k)){

$nilai_kuadrat=$nilai_kuadrat+($dkuadrat['nilai']*$dkuadrat['nilai']);

}

//hitung jml alternatif

$jml_alternatif=mysql_query("select * from alternatif");

$jml_a=mysql_num_rows($jml_alternatif);

//nilai bobot kriteria (rata")

$bobot=0;

$tnilai=0;

$k2=mysql_query("select * from nilai_matriks where

id_kriteria='$idk' ");

while($dbobot=mysql_fetch_assoc($k2)){

$tnilai=$tnilai+$dbobot['nilai'];

}

$bobot=$tnilai/$jml_a;

//nilai bobot input

$b2=mysql_query("select * from kriteria where

id_kriteria='$idk'");

$nbot=mysql_fetch_assoc($b2);

$bot=$nbot['bobot'];

$v=round(($dn['nilai']/sqrt($nilai_kuadrat))*$bot,3);

$ymax[$c]=$v;

$c++;

$mak=max($ymax);

$min=min($ymax);

Page 145: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

A 129

}

$i++;

}

foreach($_SESSION['dplus'] as $key=>$dxmin){

$jarakm=$_SESSION['dmin'][$key];

$id_alt=$_SESSION['id_alt'][$key];

//nama alternatif

$nama=mysql_query("select * from alternatif where id_alternatif='$id_alt'");

$nm=mysql_fetch_assoc($nama);

$nilaid=$jarakm/($jarakm+$dxmin);

$nilai=round($nilaid,4);

//simpan ke tabel nilai preferensi

$nm=$nm['nm_alternatif'];

$sql2=mysql_query("insert into nilai_preferensi (nm_alternatif,nilai)

values('$nm','$nilai')");

}

//ambil data sesuai dengan nilai tertinggi

$i=1;

$sql3=mysql_query("select * from nilai_preferensi order by nilai Desc");

while($data3=mysql_fetch_assoc($sql3)){

echo "<tr>

<td>".$i."</td>

<td>$data3[nm_alternatif]</td>

<td>$data3[nilai]</td>

</tr>";

$i++;

}

//kosongkan tabel nilai preferensi

$del=mysql_query("delete from nilai_preferensi");

echo "</tr>";

$akhir = microtime(true);

$lama = $akhir - $awal;

echo "<p>Kecepatan Eksekusi Metode TOPSIS Adalah: <b>".$lama."</b>

Detik</p>";

?>

</tbody>

</table>

Page 146: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

B-1

B. ANGKET PENELITIAN

Page 147: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

B-2

Page 148: SISTEM PENENTUAN KANDIDAT PESERTA LOMBA BAGI …

C-1

C. DAFTAR RIWAYAT HIDUP