BAB V IMPLEMENTASI
5.4 Implementasi Algoritma
5.4.1 Algoritma Perhitungan Matriks Kriteria
Kriteria 5.4 Implementasi Algoritma 5.5 Implementasi Antarmuka 5.5.1 Tampilan Halaman Login 5.5.3 Tampilan Halaman User 5.3 Implementasi Basis Data 5.5.2 Tampilan Halaman Admin 5.4.2 Algoritma Perangkingan Alternatif 5.4.3 Algoritma Preferensi Pendukung Kuputusan
Gambar 5.1 Pohon Implementasi Sumber : [Implementasi]
5.1 Spesifikasi Sistem
Hasil analisis kebutuhan dan perancangan perangkat lunak yang telah diulas pada Bab 4 menjadi acuan untuk melakukan implementasi menjadi program yang dapat berfungsi sesuai dengan kebutuhan. Spesifikasi sistem ini diimplementasikan pada spesifikasi perangkat keras dan perangkat lunak.
5.1.1 Spesifikasi Perangkat Keras
Pengembangan Sistem Pendukung Keputusan Pemilihan Pemain Sepak Bola (Striker) menggunakan sebuah komputer dengan spesifikasi perangkat keras yang dijelaskan pada Tabel 5.2.
Tabel 5.2 Spesifikasi Perangkat Keras Komputer
Nama Komponen Spesifikasi
Procesor Intel (R) Core(TM) 2 Duo @2,10 GHz
Memori (RAM) 2048MB
Hardisk Asus K40IE
Kartu Grafis Nvidia GeForce 310M
Sumber : [Implementasi]
5.1.2 Spesifikasi Perangkat Lunak
Pengembangan Sistem Pendukung Keputusan Pemilihan Pemain Sepak Bola (Striker) menggunakan sebuah komputer dengan spesifikasi perangkat keras yang dijelaskan pada Tabel 5.3.
Tabel 5.3 Spesifikasi Perangkat Lunak Komputer
Sistem Operasi Microsoft Windows 8 Profesional 64-bit
Bahasa Pemrograman Java
Tools pemrograman NetBeans IDE 7.0
DBMS MySQL
Tools DBMS SQLyog Enterprise v6.07 Portable
Sumber : [Implementasi]
5.2 Batasan Implementasi
Beberapa batasan dalam mengimplementasikan Sistem Pendukung Keputusan Pemilihan Pemain Sepak Bola (Striker) adalah sebagai berikut :
Input yang diterima oleh sistem berupa data pemain sepak bola (Striker) dan penilaian kriteria oleh user maupun admin yang harus diisi semua berdasarkan form yang ditampilkan pada sistem
Output yang diterima oleh user berupa urutan prioritas pemain sepak bola
(Striker) dan rekomendasi pemilihan striker terbaik.
Kriteria yang dijadikan pertimbanga dalam pengurutan alternatif pemilihan
Striker ada 7 krtieria seperti yang telah dijelaskan pada bab 4, sistem ini
menyediakan fasilitas untuk update kriteria.
Alternatif sistem ini adalah data pemain yang sudah ada dan diurutkan berdasarkan bobot sintesis alternatif tertinggi. Sistem ini tidak menyediakan fasilitas untuk update alternatif.
Basis pengetahauan responden untuk penentukan tingkat kepentingan antar kriteria bersigat dinamis. Setiap responden dapat mengubah hasil penilian krtierua yag telagh diinputkan sebelumnya. Admin dapat menambahkan responden yang berkompeten sebagai respon expert ke dalam sistem dan stiap penilaian kriteria oleh responden baru akan mempengaruhi pembobotan kriteria.
Akun untuk user hanya dapat ditambahkan oleh admin untuk menjamin kebenaran input yang membanguin basis pengetahuan sistem.
IDE (Integrated Development Environment) yang digunakann adalah NetBeans versi 7.0.
Platform pengembangan yang digunakan adalah Java. Database akan disimpan dalam MySQL.
Metode yang digunakan yaitu Analytic Hierrarchy Process (AHP). 5.3 Implementasi Basis Data
Implementasi basis data diambil berdasarkan perancangan basis data yang dibuat sebelumnya. Secara fisik, implementasi basis data diimplementasikan menggunakan perangkat lunak MySQL. Berikut ini bagaimana pembuatan database beserta tabel-tabel yang mendukung sistem yang dibuat :
1. Pembuatan database
CREATE DATABASE ` db_ahp`;
2. Pembuatan tabel bobot
CREATE TABLE IF NOT EXISTS `bobot` ( `Kriteria` varchar(20) NOT NULL, `harga_pemain` double NOT NULL, `jumlah_gol` double NOT NULL, `jumlah_assist` double NOT NULL, `akurasi_tendangan` double NOT NULL, `ketenangan` double NOT NULL,
`sikap` double NOT NULL,
`tingkat_disiplin` double NOT NULL, `id` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
3. Pembuatan tabel kriteria pemain
CREATE TABLE IF NOT EXISTS `kriteria_pemain` ( `id_pemain` int(11) NOT NULL,
`harga_pemain` int(11) NOT NULL, `jumlah_gol` int(11) NOT NULL, `jumlah_assist` int(11) NOT NULL, `akurasi_tendangan` int(11) NOT NULL, `ketenangan` int(11) NOT NULL,
`sikap` int(11) NOT NULL,
`tingkat_disiplin` int(11) NOT NULL, PRIMARY KEY (`id_pemain`),
KEY `id_pemain` (`id_pemain`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
4. Pembuatan tabel nama subkriteria
CREATE TABLE IF NOT EXISTS `nama_subkriteria` ( `id_kategori` int(11) NOT NULL,
`nama` varchar(20) NOT NULL
5. Pembuatan tabel nilai subkriteria
CREATE TABLE IF NOT EXISTS `nilai_subkriteria` ( `id` int(11) NOT NULL,
`id_kategori` int(11) NOT NULL, `kriteria` int(11) NOT NULL, `nilai_min` int(11) NOT NULL, `nilai_max` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
6. Pembuatan tabel pemain
CREATE TABLE IF NOT EXISTS `pemain` (
`id_pemain` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(50) NOT NULL,
`tgl_lahir` date NOT NULL,
`asal_klub` varchar(50) NOT NULL, PRIMARY KEY (`id_pemain`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=34 ;
7. Pembuatan tabel subkriteria bobot
CREATE TABLE IF NOT EXISTS `subkriteria_bobot` ( `kriteria` varchar(20) NOT NULL,
`kriteria_1` double NOT NULL, `kriteria_2` double NOT NULL, `kriteria_3` double NOT NULL, `id` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
8. Pembuatan tabel user
CREATE TABLE IF NOT EXISTS `user` ( `username` varchar(50) NOT NULL, `password` varchar(50) NOT NULL, `nama` varchar(50) NOT NULL, `level` int(11) NOT NULL
5.4 Implementasi Algoritma
Implementasi algoritma adalah sebuh proses mengubah pseudocode menjadi bahasa pemrograman yang dapat dibaca oleh mesin komputer. Berikut ini adalah implementasi algoritma dengan bahasa pemrograman Java dan database MySQL. Bahasa pemrograman Java digunakan untuk memproses setiap baris perintah. Database MySQL digunakan untuk penyimpanan data input dan data output. Implementasi algoritma berikut ini mengacu pada perancangan algoritma di sub bab 4.2.
5.4.1 Algoritma Perhitungan Matriks Kriteria
Perhitungan matriks kriteria digunakan untuk mengcek konsistensi sebuah penilaian perbandingan berpasangan dari user. Jika penilaian user dinyatakan konsisten (nilai CR <= 0.1 ) maka penilaian tersebut dapat disimpan di database. Namun jika sebaliknya maka user harus mengulangi penilaian perbandingan berpasangannya. Gambar 5.4 menunjukkan implementasi algoritma perhitungan matriks kriteria.
1. private void formWindowOpened(java.awt.event.WindowEvent evt) {
2. try{
3. query = "SELECT
p.*,`jumlah_gol`,`harga_pemain`,`jumlah_assist`,`akurasi_tend angan`,`ketenangan`,`sikap`,`tingkat_disiplin` FROM pemain p join kriteria_pemain kp on p.id_pemain = kp.id_pemain "; 4. stat = koneksi.createStatement();
5. hasil = stat.executeQuery(query); 6. this._setModel(hasil);
7. query = "SELECT
p.*,`jumlah_gol`,`harga_pemain`,`jumlah_assist`,`akurasi_tend angan`,`ketenangan`,`sikap`,`tingkat_disiplin` FROM pemain p join kriteria_pemain kp on p.id_pemain = kp.id_pemain "; 8. stat = koneksi.createStatement(); 9. hasil = stat.executeQuery(query); 10. this._setModelPerhitunganPemain(hasil); 11. jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 12. jTable5.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
13. query = "SELECT * FROM bobot ORDER BY id ASC"; 14. stat = koneksi.createStatement();
15. hasil = stat.executeQuery(query); 16. //hasil.next();
17. this._setModelBobot(hasil);
19. stat = koneksi.createStatement(); 20. hasil = stat.executeQuery(query); 21. this._setModelBobotPerhitungan(hasil); 22. jButton5.setEnabled(false); 23. jTextField7.setEnabled(false); 24. jTable6.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
25. query = "SELECT * FROM subkriteria_bobot ORDER BY id ASC"; 26. stat = koneksi.createStatement(); 27. hasil = stat.executeQuery(query); 28. this._setModelBobotSubkriteriaPerhitungan(hasil); 29. 30. }catch(SQLException ex){ 31. JOptionPane.showMessageDialog(null, ex); 32. }
33. query = "SELECT * FROM nilai_subkriteria ORDER BY id DESC"; 34. try { 35. int i = 0; 36. stat = koneksi.createStatement(); 37. hasil = stat.executeQuery(query); 38. while(hasil.next()){ 39. nilai_sk[i][0]=Double.parseDouble(hasil.getString("nilai_min" )); 40. nilai_sk[i][1]=Double.parseDouble(hasil.getString("nilai_max" )); 41. System.out.println("min "+i+" : "+nilai_sk[i][0]); 42. System.out.println("max "+i+" : "+nilai_sk[i][1]); 43. 44. i++; 45. }
46. } catch (SQLException ex) { 47.
Logger.getLogger(MainMenu_Admin.class.getName()).log(Level.SE VERE, null, ex);
48. }
49. jTextField19.setText(String.valueOf((int)nilai_sk[2][1])); 50. jTextField18.setText(String.valueOf((int)nilai_sk[1][1])); 51. jTextField17.setText(String.valueOf((int)nilai_sk[1][0]));
Gambar 5.4 Implementasi Algoritma Perhitungan Matriks Kriteria Sumber : [Implementasi]
Penjelasan Gambar 5.4 Implementasi Perhitungan Matriks Kriteria:
1) Baris 3 dan 7 adalah query untuk mengambil data kriteria yang ada di dalam tabel pemain dan kriteria_pemain di database.
2) Baris 13-17 adalah query untuk mengambil data bobot yang ada dalam tabel bobot secara ascending di database.
3) Baris 25-32 adalah query untuk mengambil data subkriteria yang ada dalam tabel subkriteria di database.
4) Baris 33 -37 adalah query untuk mengambil dan memproses data nilai subkriteria secara descending yang ada dalam tabel nilai_subkriteria di database.
5) Bari 38-40 adalah blok program untuk menentukan nilai min dan max dari masing-masing nilai kriteria yang sudah dibuat sehingga nantinya bisa ditentukan rentang nilai tiap kriteria.
6) Baris 41-42 adalah blok program untuk menampilkan nilai min dan max yang sudah diproses.