• Tidak ada hasil yang ditemukan

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.

Dokumen terkait