Implementasi Metode Naive Bayes Dalam Menentukan Posisi Ideal Pemain dalam Sepakbola Berbasis Android (Studi Kasus : Talenta Soccer Rantauprapat)
IMPLEMENTASI METODE NAIVE BAYES DALAM MENENTUKAN POSISI IDEAL PEMAIN DALAM SEPAK BOLA BERBASIS ANDROID
(STUDI KASUS : TALENTA SOCCER RANTAUPRAPAT)
SKRIPSI
AHMAD RIFAI 111401020
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2015
(2)
IMPLEMENTASI METODE NAIVE BAYES DALAM MENENTUKAN POSISI IDEAL PEMAIN DALAM SEPAK BOLA BERBASIS ANDROID
(STUDI KASUS : TALENTA SOCCER RANTAUPRAPAT)
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
AHMAD RIFAI 111401020
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2015
(3)
PERSETUJUAN
Judul : IMPLEMENTASI METODE NAIVE BAYES DALAM
MENENTUKAN POSISI IDEAL PEMAIN DALAM SEPAK BOLA BERBASIS ANDROID (STUDI
KASUS : TALENTA SOCCER RANTAUPRAPAT)
Kategori : SKRIPSI
Nama : AHMAD RIFAI
Nomor Induk Mahasiswa : 111401020
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, Agustus 2015 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dian Rachmawati, S.Si., M.Kom Dr. Poltak Sihombing, M.Kom NIP. 19830723 200912 2 004 NIP. 19620317 199103 1 001
Diketahui/disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 19620317 199103 1 001
(4)
PERNYATAAN
IMPLEMENTASI METODE NAIVE BAYES DALAM MENENTUKAN POSISI IDEAL PEMAIN DALAM SEPAK BOLA BERBASIS ANDROID
(STUDI KASUS : TALENTA SOCCER RANTAUPRAPAT)
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Agustus 2015
Ahmad Rifai 111401020
(5)
PENGHARGAAN
Alhamdulillah. Puji dan syukur kehadirat Allah SWT, yang dengan rahmat dan karunia-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Pada pengerjaan skripsi dengan judul Implementasi Metode Naive Bayes dalam Menentukan Posisi Ideal Pemain dalam Sepak Bola Berbasis Android, penulis menyadari bahwa banyak pihak yang turut membantu, baik dari pihak keluarga, sahabat dan orang-orang terkasih yang memotivasi dalam pengerjaannya. Dalam kesempatan ini, penulis mengucapkan terima kasih kepada:
1. Bapak Prof. Drs. Subhilhar, M.A., Ph.D selaku Pj. Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Muhammad Zarlis 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 Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara sekaligus selaku Dosen Pembimbing I yang telah memberikan arahan serta motivasi kepada penulis dalam pengerjaan skripsi ini.
4. Ibu Dian Rachmawati S.Si., M.Kom selaku Dosen Pembimbing II yang telah memberikan arahan, kritik dan saran serta motivasi kepada penulis dalam pengerjaan skripsi ini.
5. Bapak Dr. Syahril Effendi S.Si., M.IT selaku Dosen Pembanding I yang telah banyak memberikan arahan dan masukan yang sangat berharga kepada penulis. 6. Bapak Drs. Marihat Situmorang, M.Kom selaku Dosen Pembanding II yang telah
banyak memberikan arahan dan masukan yang sangat berharga kepada penulis. 7. Seluruh tenaga pengajar dan pegawai di Fakultas Ilmu Komputer dan Teknologi
Informasi USU.
8. RCS yang selama ini telah menjadi keluarga dan rumah penulis selama menjalani masa perkuliahan, tempat berbagi suka dan duka.
(6)
9. Teman-teman kuliah, khususnya Hari Rahman Nihe, Jonathan Simamora, Aditya Putra, Sandy Ramadhan, Alfrid Iskandar, Tifany Maria, Syafura Tri Utari, Fildzah Hanifati serta seluruh stambuk 2011 yang tidak dapat disebut satu-persatu, yang telah banyak membantu dalam selesainya pengerjaan skripsi ini. 10. Teman-teman Pengurus IMILKOM (Ikatan Mahasiswa S1 Ilmu Komputer)
Fasilkom-TI 2014/2015, Nurhayati Lubis, Abidah Novita, Farid Akbar, Abdussubhi Afif, Joshua Christy, Steven Sinaga, Deka Triatnoko, Magdalena Siregar, Meylina Manik, Witty Mareta, Ivana Lisa Sitepu, Arief Anwar, Hanafi Ahmad, Nadhira Dwi Sabrina, Ita Sinaga dan Astrid Febrina Siregar yang telah memberikan banyak dukungan, tempat belajar berorganisasi yang benar, dan menimba pengalaman.
11. Terakhir, untuk yang paling berharga dalam hidup, almarhum Bapak saya Suharto, Ibunda Kartini Nasution, Kakak-kakak tercinta Nurmeini, Kurnia Sari dan Siti Maimunah, yang telah banyak memberikan kasih sayang, semangat, dorongan serta merupakan sumber motivasi bagi saya dalam menjalani kehidupan. Tidak ada satu hari pun saya tidak mengingat dan mendoakan yang terbaik buat kalian dan tidak ada yang lebih membahagiakan selain ada disisi kalian. Semua yang baik dari saya adalah dari dan untuk kalian.
Semoga Allah SWT. melimpahkan berkah dan membalas dengan kebaikan kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.
Medan, Agustus 2015 Penulis,
(7)
ABSTRAK
Kebutuhan masyarakat terhadap layanan teknologi berbasis IT sangat bervariasi. Ketersediaan suatu perangkat mobile berbasis Android yang dapat membantu memecahkan suatu permasalahan adalah sesuatu yang dapat bermanfaat bagi masyarakat. Dalam hal ini, penulis berusaha menambang data pemain sebuah sekolah sepak bola untuk mengetahui posisi pemain yakni Kiper, Bek, Gelandang dan Penyerang dengan menggunakan teknik Data Mining. Data mining adalah teknik yang memanfaatkan data dalam jumlah yang besar untuk memperoleh informasi berharga yang sebelumnya tidak diketahui dan dapat dimanfaatkan untuk pengambilan keputusan penting. Data yang ada dianalisis menggunakan metode Naive Bayes, yang bertujuan untuk melakukan klasifikasi data pada kelas tertentu, kemudian pola tersebut dapat digunakan untuk memperkirakan posisi ideal pemain yang baru sehingga pelatih bisa mengambil keputusan untuk menempatkan posisi pemain tersebut.
Kata Kunci : Android, Sepak Bola, Data Mining, Metode Naive Bayes, Sistem Pendukung Keputusan.
(8)
IMPLEMENTATION NAIVE BAYES METHOD FOR DETERMINING THE IDEAL POSITION IN FOOTBALL PLAYERS BASED ON ANDROID
ABSTRACT
Social demand for IT services based technologies vary widely. The availability of an Android-based mobile devices that can help solve a problem is something that can be useful to society. In this case, the authors tried to mine the data of a school football players to know the position of the player Goalkeeper, Defender, Midfielder and Striker by using Data Mining techniques. Data mining is a technique that utilizes large amounts of data to obtain valuable information that was not previously known and can be used for making important decisions. Existing data were analyzed using Naive Bayes, which aims to classify the data in a particular class, then the pattern can be used to estimate the ideal position of the new players that the coach can take the decision to put the position of the player.
Keywords: Android, Football, Data Mining, Naive Bayes Method, Decision Support System.
(9)
DAFTAR ISI
Halaman
PERSETUJUAN ii
PERNYATAAN iii
PENGHARGAAN iv
ABSTRAK vi
ABSTRACT vii
DAFTAR ISI viii
DAFTAR TABEL x
DAFTAR GAMBAR xi
DAFTAR LAMPIRAN xii
BAB 1 PENDAHULUAN
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 2
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Metodologi Penelitian 3
1.7 Sistematika Penulisan 4
BAB 2 LANDASAN TEORI
2.1 Sistem Pendukung Keputusan 6
2.2.1 Komponen Sistem Pendukung Keputusan 6
2.2 Data Mining 8
2.3.1 Tugas Utama Data Mining 8
2.3.2 Proses Data Mining 9
2.3 Klasifikasi 10
2.4 Metode Naive Bayes 12
2.5 Android 17
2.6 Sepak Bola 18
2.6.1 Pengenalan Sepak Bola 19
2.6.2 Posisi dan Peran Pemain 19
2.7 Penelitian yang relevan 20
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem 22
3.1.1 Analisis Masalah 22
3.1.2 Analisis Persyaratan 23
3.1.2.1 Persyaratan Fungsional 23
3.1.2.2 Persyaratan Non Fungsional 24
3.1.3 Pemodelan 24
3.1.3.1 Use Case Diagram 24
(10)
3.1.3.3 Sequence Diagram 27
3.1.3.4 Kamus Data 28
3.1.3.5 Flowchart Sistem 29
3.1.3.6 Pseudecode Program 31
3.2 Perancangan Sistem 39
3.2.1 Menu Utama 40
3.2.2 Menu Database 41
3.2.3 Menu Proses Naive Bayes 42
3.2.4 Menu Proses 43
3.2.5 Menu Help 44
3.2.6 Menu About 45
BAB 4 IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi 46
4.2 Antarmuka Sistem 46
4.2.1 Menu Utama 47
4.2.2 Menu Database 47
4.2.3 Proses Naive Bayes 48
4.2.4 Menu Proses 49
4.2.5 Menu Help 50
4.2.6 Menu About 50
4.3 Pengujian 51
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan 73
5.2 Saran 73
DAFTAR PUSTAKA 75
(11)
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
2.1 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 4.1 4.2 4.3
Data Pemain dan Posisi
Dokumentasi Naratif Use Case Database
Dokumentasi Naratif Use Case Proses Naive Bayes Dokumentasi Naratif Use Case Help
Kamus Data
Pseudecode Naive Bayes
Keterangan gambar rancangan Menu Utama Keterangan gambar rancangan Menu Database
Keterangan gambar rancangan Menu Proses Naive Bayes Keterangan gambar rancangan Menu Proses
Keterangan gambar rancangan Menu Help Keterangan gambar rancangan Menu About Data training awal untuk atribut objektif Data training atribut objektif
Data training atribut subjektif
16 25 26 26 29 31 40 41 42 43 44 45 51 52 53
(12)
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
2.1 2.2 2.3 2.4 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13
Komponen Sistem Pendukung Keputusan Langkah Proses Klasifikasi
Skema Naive Bayes Posisi Pemain Sepak Bola Diagram Ishikawa
Use Case Diagram Sistem Activity Diagram
Sequence Diagram Flowchart Sistem
Rancangan Menu Utama Rancangan Menu Database
Rancangan Menu Proses Naive Bayes Rancangan Menu Proses
Rancangan Menu Help Rancangan Menu About Menu Utama
Menu Database
Menu Lanjutan Menu Database Menu Proses Naive Bayes Menu Proses
Menu Help Menu About
Inputan Pengujian 1 Hasil Pengujian 1 Inputan Pengujian 2 Hasil Pengujian 2 Inputan Pengujian 3 Hasil Pengujian 3
7 11 15 20 23 25 27 28 30 40 41 42 43 44 45 47 48 48 49 49 50 50 54 59 60 66 67 72
(13)
DAFTAR LAMPIRAN
Halaman
Listing Program 77
(14)
ABSTRAK
Kebutuhan masyarakat terhadap layanan teknologi berbasis IT sangat bervariasi. Ketersediaan suatu perangkat mobile berbasis Android yang dapat membantu memecahkan suatu permasalahan adalah sesuatu yang dapat bermanfaat bagi masyarakat. Dalam hal ini, penulis berusaha menambang data pemain sebuah sekolah sepak bola untuk mengetahui posisi pemain yakni Kiper, Bek, Gelandang dan Penyerang dengan menggunakan teknik Data Mining. Data mining adalah teknik yang memanfaatkan data dalam jumlah yang besar untuk memperoleh informasi berharga yang sebelumnya tidak diketahui dan dapat dimanfaatkan untuk pengambilan keputusan penting. Data yang ada dianalisis menggunakan metode Naive Bayes, yang bertujuan untuk melakukan klasifikasi data pada kelas tertentu, kemudian pola tersebut dapat digunakan untuk memperkirakan posisi ideal pemain yang baru sehingga pelatih bisa mengambil keputusan untuk menempatkan posisi pemain tersebut.
Kata Kunci : Android, Sepak Bola, Data Mining, Metode Naive Bayes, Sistem Pendukung Keputusan.
(15)
IMPLEMENTATION NAIVE BAYES METHOD FOR DETERMINING THE IDEAL POSITION IN FOOTBALL PLAYERS BASED ON ANDROID
ABSTRACT
Social demand for IT services based technologies vary widely. The availability of an Android-based mobile devices that can help solve a problem is something that can be useful to society. In this case, the authors tried to mine the data of a school football players to know the position of the player Goalkeeper, Defender, Midfielder and Striker by using Data Mining techniques. Data mining is a technique that utilizes large amounts of data to obtain valuable information that was not previously known and can be used for making important decisions. Existing data were analyzed using Naive Bayes, which aims to classify the data in a particular class, then the pattern can be used to estimate the ideal position of the new players that the coach can take the decision to put the position of the player.
Keywords: Android, Football, Data Mining, Naive Bayes Method, Decision Support System.
(16)
BAB 1 PENDAHULUAN
1.1. Latar Belakang
Sepak bola adalah salah satu olahraga yang sangat terkenal dan digemari oleh berbagai kalangan di hampir seluruh pelosok dunia yang dimainkan oleh berbagai jenis usia baik tua maupun muda. Sebuah tim sepak bola terdiri dari seorang penjaga gawang dan sepuluh pemain yang bergerak di seluruh lapangan yang mengisi posisi bek, gelandang dan penyerang.
Dalam sepak bola salah satu faktor yang terpenting adalah pemain. Pemain yang memiliki kemampuan yang baik akan menguntungkan bagi satu tim dan begitu juga sebaliknya. Keluarnya kemampuan terbaik seorang pemain tidak terlepas dari penempatan posisi yang ideal bagi pemain tersebut.
Pada saat ini ternyata seorang pelatih/manager masih merasa kesulitan dalam menentukan posisi yang ideal untuk para pemainnya. Masih ada pelatih yang belum bisa menilai pemain secara objektif. Dimana para pemain memang benar-benar dinilai dari kemampuan mereka sendiri bukan dari penelitian secara subjektif saja. Selain itu, dalam proses penentuan posisi pemain, seorang pelatih hanya mengandalkan insting dan ego para pemain saja tanpa didukung dengan data nilai skill individu pemain yang disimpan. Pada kenyataannya selama ini, dalam proses penentuan posisi yang ideal tersebut masih dilakukan secara manual yakni dengan diimplementasikan dalam bentuk sebuah kertas berupa form penilaian karakter dan kriteria pemain saja.
Algoritma Naive Bayes merupakan salah satu algoritma yang terdapat pada teknik klasifikasi. Klasifikasi adalah proses menemukan kumpulan pola atau fungsi-fungsi yang mendeskripsikan dan memisahkan kelas data satu dengan lainnya, untuk dapat digunakan untuk memprediksi data yang belum memiliki kelas data tertentu (Jiawei, 2001).
(17)
Berdasarkan permasalahan di atas, maka dibuatlah sebuah sistem yang dapat mempermudah dan mengubah cara penilaian seorang pelatih dalam menentukan posisi ideal pemain dalam sepak bola. Pada penelitian ini, penulis akan mengembangkan suatu sistem menggunakan Smartphone berbasis Android sebagai media. Sistem bekerja sesuai input yang diberikan dari data training yang telah dikumpulkan. Sistem yang akan diimplementasikan menggunakan metode Naive Bayes sebagai aturan dalam pembangunan sistem. Jadi, hanya dengan membawa Smartphone dan memasukkan beberapa parameter seperti Dribbling, Passing, Crossing, Shooting, Accelaration, Agility, Stamina, Jumping, Aggression, Composure, Creativity, Decisioning, Positioning, Marking, dan Teamwork. maka pelatih dapat menentukan apakah posisi ideal pemain tersebut Kiper, Bek, Gelandang atau Penyerang.
1.2. Rumusan Masalah
Adapun rumusan masalah yang akan dibahas pada penelitian ini adalah bagaimana menentukan posisi ideal pemain dalam sepak bola dengan menggunakan metode Naive Bayes.
1.3. Batasan Masalah
Agar fokus penelitian tidak menyimpang dari rumusan masalah yang telah ditetapkan, maka dibuat batasan masalah sebagai berikut :
1. Data yang diproses adalah data pemain yang bersumber dari Talenta Soccer Rantauprapat dan lembar penilaian skill dan teknik individu pemain yang diisi pada saat proses penyeleksian pemain oleh pelatih.
2. Posisi bermain yang dipilih diantaranya adalah Kiper, Bek, Gelandang dan Penyerang.
3. Atribut pemain yang digunakan dalam menentukan keputusan terbagi dalam dua kategori, yakni penilaian secara subjektif dan objektif. Untuk penilaian secara objektif, atribut pemain terdiri dari Dribbling, Passing, Crossing, Shooting, Accelaration, Agility, Stamina dan Jumping. Dan untuk penilaian secara subjektif, atribut pemain terdiri dari Aggression, Composure, Creativity, Decisioning, Positioning, Marking, dan Teamwork. Dan keseluruhan atribut tersebut akan dikelompokkan dalam tiga kategori, yakni baik, cukup dan kurang.
(18)
4. Sistem dibangun dengan menggunakan metode Naive Bayes.
5. Sistem dibangun pada Smartphone berbasis Android dengan versi 4.1/4.2/4.3 (Jelly Bean) menggunakan eclipse.
1.4. Tujuan Penelitian
Penelitian ini bertujuan untuk membangun sebuah sistem berbasis Android yang dapat memberikan informasi dalam penentuan posisi ideal pemain dalam sepak bola dengan menggunakan metode Naive Bayes.
1.5. Manfaat Penelitian
Manfaat yang didapat dalam pembuatan sistem ini antara lain :
1. Dapat mempermudah seorang pelatih dalam menentukan posisi ideal untuk seorang pemain.
2. Mampu membantu seorang pelatih merubah cara penilaiannya dalam menyeleksi pemain, agar dapat menilai dari yang bersifat subjektif menjadi objektif.
3. Dapat menyediakan pilihan bagi pelatih dalam menentukan posisi ideal pemain. 4. Dapat meningkatkan efektifitas dan efisiensi bagi pelatih dalam menentukan posisi
ideal pemain.
1.6. Metodologi Penelitian
Tahapan penelitian yang dilakukan dalam penelitian ini adalah : a. Studi Literatur
Studi ini dilakukan dengan cara mempelajari, meneliti dan menelaah berbagai literatur-literatur Sistem Pendukung Keputusan, Data Mining, dan Metode Naive Bayes dari perpustakaan yang bersumber dari buku-buku, teks, jurnal ilmiah maupun hasil penelitian terdahulu sebagai referensi yang diperlukan dalam melakukan penelitian.
b. Analisis dan Perancangan
Dengan adanya rumusan dan batasan masalah, kebutuhan perancangan dianalisis disertai pembuatan Flowchart, Unified Modeling Language (UML), Design Interface.
(19)
c. Implementasi
Sistem diimplementasi dengan menggunakan metode Naive Bayes. d. Pengujian
Penulis melakukan pengujian dan mengevaluasi aplikasi sistem pendukung keputusan yang dihasilkan, serta melakukan perbaikan sistem. Selain itu juga melakukan pengujian terhadap sistem, apakah sudah sesuai dengan yang diharapkan.
e. Dokumentasi
Pembuatan dokumentasi dilakukan selama penelitian berlangsung sampai penelitian selesai yang dibuat dalam bentuk laporan.
1.7. Sistematika Penulisan
Sistematika penulisan skripsi ini terdiri dari beberapa bagian utama, yaitu:
BAB 1 PENDAHULUAN
Bab ini menjelaskan latar belakang judul skripsi ”Implementasi Metode Naive Bayes dalam menentukan posisi ideal pemain dalam sepak bola berbasis Android”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian dan sistematika penulisan.
BAB 2 LANDASAN TEORI
Bab ini berisi tentang penjelasan singkat mengenai Sepak Bola, Data Mining, metode Naive Bayes, Android, dan Eclipse.
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
Bab ini membahas analisis terhadap masalah penelitian dan perancangan terhadap sistem yang akan dibangun, cara kerja sistem disertai pembuatan flowchart, Unified Modeling Language (UML), Design Interface.
(20)
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Bab ini berisi tentang pembuatan sistem dan coding sesuai dengan analisis dan perancangan, kemudian melakukan pengujian sistem., serta pembahasan hasil pengujian dan analisisnya.
BAB 5 KESIMPULAN DAN SARAN
Bab ini memuat kesimpulan dari keseluruhan uraian bab-bab sebelumnya dan saran berdasarkan hasil pengujian yang diharapkan dapat bermanfaat untuk penelitian yang berhubungan selanjutnya.
(21)
BAB 2
LANDASAN TEORI
2.1. Sistem Pendukung Keputusan (SPK)
Definisi awal SPK menunjukkan SPK sebagai sebuah sistem yang dimaksudkan untuk mendukung para pengambil keputusan manajerial dalam situasi keputusan semiterstruktur. SPK dimaksudkan untuk menjadi alat bantu bagi para pengambil keputusan untuk memperluas kapabilitas mereka, namun tidak untuk menggantikan penilaian mereka.
Little (1970) mendefinisikan SPK sebagai “sekumpulan prosedur berbasis model untuk data pemrosesan dan penilaian guna membantu para manajer mengambil keputusan.” Dia menyatakan bahwa untuk sukses, sistem tersebut haruslah sederhana, cepat, mudah dikontrol, adaptif, lengkap dengan isu-isu penting dan mudah berkomunikasi.
McLeod (1998) mendefinisikan SPK merupakan suatu sistem informasi yang ditunjukkan untk membantu manajemen dalam memecahkan masalah yang dihadapinya.
Dari semua pengertian SPK yang dipaparkan di atas dapat disimpulkan bahwa SPK adalah sebuah sistem berbasis komputer yang dapat membantu seseorang dalam memecahkan masalah dari data yang ada serta mengambil keputusan dan melahirkan output yang bersifat altenatif.
2.1.1.Komponen Sistem Pendukung Keputusan
Adapun komponen-komponen dari Sistem Pendukung Keputusan adalah sebagai berikut :
1. Manajemen Data
Manajemen data mencakup database yang berisi data yang relevan untuk situasi dan dikelola oleh perangkat lunak yang disebut sistem manajemen database.
(22)
2. Manajemen Model
Manajemen model merupakan paket perangkat lunak yang memasukkan model-model finansial, statistik, ilmu manajemen atau model-model kuantitatif yang lain yang menyediakan kemampuan analisis sistem dan management software yang terkait. 3. Antarmuka Pengguna
Antarmuka pengguna merupakan media interaksi antara pengguna dan sistem sehingga pengguna dapat memberikan inputan kepada sistem agar didapatkan keputusan yang diproses oleh sistem.
4. Subsistem Berbasis Pengetahuan
Subsistem berbasis pengetahuan adalah subsistem yang dapat mendukung semua subsistem lain atau bertindak sebagai komponen yang berdiri sendiri.
Untuk lebih memahami komponen Sistem Pendukung Keputusan yang telah dijelaskan di atas dapat dilihat pada gambar 2.1.
(23)
2.2. Data Mining
Data mining merupakan disiplin ilmu yang mempelajari metode untuk mengekstrak pengetahuan atau menemukan pola dari suatu data (Han and Kamber, 2006). Data mining sering juga disebut Knowledge Discovery in Database (KDD), adalah kegiatan yang meliputi pengumpulan, pemakaian data historis untuk menemukan keteraturan, pola atau hubungan dalam set data berukuran besar. Keluaran dari data mining ini bisa dipakai untuk memperbaiki pengambilan keputusan di masa depan (Santosa, 2007).
2.2.1.Tugas Utama Data Mining
Secara umum data mining memiliki empat tugas utama (Sahu, 2011): 1. Klasifikasi (Classification)
Klasifikasi bertujuan untuk mengklasifikasikan item data menjadi satu dari beberapa kelas standar. Sebagai contoh, suatu program email dapat mengklasifikasikan email yang sah dengan email spam. Beberapa algoritma klasifikasi antara lain pohon keputusan, nearest neighbor, naïve bayes, neural networks dan support vector machines.
2. Regresi (Regression)
Regresi merupakan pemodelan dan investigasi hubungan dua atau lebih variabel. Dalam analisis regresi ada satu atau lebih variabel independent / prediktor yang biasa diwakili dengan notasi x dan satu variabel respon yang biasa diwakili dengan notasi y (Santosa, 2007).
3. Pengelompokan (Clustering)
Clustering merupakan metode pengelompokan sejumlah data ke dalam klaster (group) sehingga dalam setiap klaster berisi data yang semirip mungkin.
4. Pembelajaran Aturan Asosiasi (Association Rule Learning)
Pembelajaran aturan asosiasi mencari hubungan antara variabel. Sebagai contoh suatu toko mengumpulkan data kebiasaan pelanggan dalam berbelanja. Dengan menggunakan pembelajaran aturan asosiasi, toko tersebut dapat menentuan produk yang sering dibeli bersamaan dan menggunakan informasi ini untuk tujuan pemasaran.
(24)
2.2.2. Proses Data Mining
Proses dari data mining mempunyai prosedur umum dengan langkah-langkah sebagai berikut (Kantardzic, 2003):
1. Merumuskan permasalahan dan hipotesis
Pada langkah ini dispesifikasikan sekumpulan variabel yang tidak diketahui hubungannya dan jika memungkinkan dispesifikasikan bentuk umum dari keterkaitan variabel sebagai hipotesis awal.
2. Mengoleksi data
Langkah ini menitikberatkan pada cara bagaimana data dihasilkan dan dikoleksi. Secara umum ada dua kemungkinan yang berbeda. Yang pertama adalah ketika proses pembangkitan data dibawah kendali dari ahli. Pendekatan ini disebut juga dengan percobaan yang dirancang (designed experiment). Kemungkinan yang kedua adalah ketika ahli tidak memiliki pengaruh pada proses pembangkitan data, dikenal sebagai pendekatan observasional.
3. Pra pengolahan data
Pra pengolahan data melibatkan dua tugas utama yaitu: a. Deteksi dan pembuangan data asing (outlier)
Data asing merupakan data dengan nilai yang tidak dibutuhkan karena tidak konsisten pada sebagian pengamatan. Biasanya data asing dihasilkan dari kesalahan pengukuran, kesalahan pengkodean dan pencatatan dan beberapa nilai abnormal yang wajar. Ada dua strategi untuk menangani data asing, yang pertama mendeteksi dan berikutnya membuang data asing sebagai bagian dari fase pra pengolahan. Yang kedua adalah mengembangkan metode pemodelan yang kuat yang tidak merespon data asing.
b. Pemberian skala, pengkodean dan seleksi fitur
Pra pengolahan data menyangkut beberapa langkah seperti memberikan skala variabel dan beberapa jenis pengkodean. Sebagai contoh, satu fitur dengan range [0, 1] dan yang lain dengan range [-100, 100] tidak akan memiliki bobot yang sama pada teknik yang diaplikasikan dan akan berpengaruh pada hasil akhir data mining. Oleh karena itu, disarankan untuk pemberian skala dan membawa fitur-fitur tersebut ke bobot yang sama untuk analisis lebih lanjut.
(25)
4. Mengestimasi model
Pemilihan dan implementasi dari tehnik data mining yang sesuai merupakan tugas utama dari fase ini. Proses ini tidak mudah, biasanya dalam pelatihan, implementasi berdasarkan pada beberapa model dan pemilihan model yang terbaik merupakan tugas tambahan.
5. Menginterpretasikan model dan menarik kesimpulan
Pada banyak kasus, model data mining akan membantu dalam pengambilan keputusan. Metode data mining modern diharapkan akan menghasilkan hasil akurasi yang tinggi dengan menggunakan model dimensi-tinggi.
Pengetahuan yang baik pada keseluruhan proses sangat penting untuk kesuksesan aplikasi. Tidak peduli seberapa kuat metode data mining yang digunakan, hasil dari model tidak akan valid jika pra pengolahan dan pengkoleksian data tidak benar atau jika rumusan masalah tidak berarti.
2.3. Klasifikasi
Salah satu tugas utama dari data mining adalah klasifikasi. Klasifikasi digunakan untuk menempatkan bagian yang tidak diketahui pada data ke dalam kelompok yang sudah diketahui. Klasifikasi menggunakan variabel target dengan nilai nominal. Dalam satu set pelatihan, variabel target sudah diketahui. Dengan pembelajaran dapat ditemukan hubungan antara fitur dengan variabel target. Ada dua langkah dalam proses klasifikasi (Han and Kamber, 2006) :
a. Pembelajaran (learning) : pelatihan data dianalisis oleh algoritma klasifikasi. b. Klasifikasi: data yang diujikan digunakan untuk mengkalkulasi akurasi dari aturan
klasifikasi. Jika akurasi dianggap dapat diterima, aturan dapat diterapkan pada klasifikasi data tuple yang baru.
(26)
Berikut merupakan langkah proses klasifikasi, yang dapat dilihat pada gambar 2.2.
Gambar 2.2 Langkah Proses Klasifikasi (Han and Kamber, 2006)
Training Data New Data
Classification Rules
name age income loan decision
Juan Bello senior low safe
Silvia Crest middle_aged low risky
Anne Yee middle_aged high safe
... ... ... ...
(John Henry, middle_aged, low)
Loan decision?
risky
Training Data
Classification Algorithm
Classification Rules
name age income loan decision
Sandy Jones young low risky
Bill Lee young low risky
Caroline Fox middle_aged low safe
Rick Field middle_aged low risky
Susan Lake senior low safe
Claire Phips senior medium safe
Joe Smith middle_aged low safe
... ... ... ... IF age = youth THEN loan_decision = risky
IF income = high THEN loan_decision = safe
IF age = middle_aged AND income = low
(27)
2.4. Metode Naive Bayes
Naive Bayes merupakan algoritma klasifikasi yang sederhana dimana setiap atribut bersifat independent dan memungkinkan berkontribusi terhadap keputusan akhir (Xhemali, 2009). Algoritma Naive Bayes merupakan salah satu algoritma yang terdapat pada teknik klasifikasi. Naive Bayes merupakan pengklasifikasian dengan metode probabilias dan statistik yang dikemukan oleh ilmuwan Inggris Thomas Bayes, yaitu memprediksi peluang di masa depan berdasarkan pengalaman di masa sebelumnya sehingga dikenal sebagai Teorema Bayes. Teorema tersebut dikombinasikan dengan Naive dimana diasumsikan kondisi antar atribut saling bebas. Klasifikasi Naive Bayes diasumsikan bahwa ada atau tidak ciri tertentu dari sebuah kelas tidak ada hubungannya dengan ciri dari kelas lainnya.
Persamaan dari teorema Bayes adalah :
( | ) = ( | ). ( )( )
Keterangan :
X : Data dengan class yang belum diketahui
H : Hipotesis data X merupakan suatu class spesifik
P(H|X) : Probabilitas hipotesis H berdasar kondisi X (posterior probability) P(H) : Probabilitas hipotesis H (prior probability)
P(X|H) : Probabilitas X berdasarkan kondisi pada hipotesis H P(X) : Probabilitas X
Untuk menjelaskan teorema Naive Bayes, perlu diketahui bahwa proses klasifikasi memerlukan sejumlah petunjuk untuk menentukan kelas apa yang cocok bagi sampel yang dianalisis tersebut. Karena itu, teorema Bayes di atas disesuaikan sebagai berikut :
( | … ) = ( ). ( … | )
( … )
Dimana variabel C mempresentasikan kelas, sementara variabel ( … ) mempresentasikan karakteristik petunjuk yang dibutuhkan untuk melakukan klasifikasi. Maka rumus tersebut menjelaskan bahwa peluang masuknya sampel
(28)
karakteristik tertentu dalam kelas C (Posterior) adalah peluang munculnya kelas C (sebelum masuknya sampel tersebut, seringkali disebut Prior), dikali dengan peluang kemunculan karakteristik-karakteristik sampel pada kelas C (disebut juga likelihood), dibagi dengan peluang kemunculan karakteristik-karakteristik sampel secara global (disebut juga evidence). Karena itu, rumus di atas dapat pula ditulis secara sederhana sebagai berikut :
= ℎ
Nilai evidence selalu tetap untuk setiap kelas pada satu sampel. Nilai dari posterior tersebut nantinya akan dibandingkan dengan nilai-nilai posterior kelas lainnya untuk menentukan ke kelas apa suatu sampel akan diklasifikasikan. Penjabaran lebih lanjut rumus Bayes tersebut dilakukan dengan menjabarkan
( | … ) menggunakan aturan perkalian sebagai berikut :
( | … ) = ( ). ( … | )
= ( ). ( | ) ( … | , )
= ( ). ( | ) ( | , ) ( … | , , )
= ( ). ( | ) ( | , ) ( | , , ) ( … | , , , )
= ( ). ( | ) ( | , ) ( | , , ) … ( | , , , … ! )
Dapat dilihat bahwa hasil penjabaran tersebut menyebabkan semakin banyak dan semakin kompleksnya faktor-faktor syarat yang mempengaruhi nilai probabilitas, yang hampir mustahil untuk dianalisa satu persatu. Akibatnya, perhitungan tersebut menjadi sulit untuk dilakukan. Disinilah digunakan asumsi independensi yang sangat tinggi (naif), bahwa masing-masing petunjuk ( , … ) saling bebas (independent) satu sama lain. Dengan asumsi tersebut, maka berlaku suatu kesamaan sebagai berikut :
" #$ %& = " #"∩ %& %& =
( #) " %&
" %& = ( #) Untuk i ≠ j, sehingga
(29)
Dari persamaan di atas dapat disimpulkan bahwa asumsi independensi naif tersebut membuat syarat peluang menjadi sederhana, sehingga perhitungan menjadi mungkin untuk dilakukan. Selanjutnya penjabaran ( | … ) dapat disederhanakan menjadi :
( | … ) = ( ) ( | ) ( | ) ( | ) ... = ( ) ∏)*+ ( | )
Persamaan di atas merupakan model teorema Naive Bayes yang selanjutnya akan digunakan dalam proses klasifikasi. Untuk klasifikasi dengan data kontinyu digunakan rumus Densitas Gauss :
" # = # | , = -%& = 1
/2πσ 3 e
!(56!7#%)98#% 8
Keterangan : P : Peluang
# : Atribut ke i # : Nilai atribut ke i Y : Kelas yang dicari
-% : Sub kelas Y yang dicari
µ : Mean, menyatakan rata-rata dari seluruh atribut
σ : Deviasi standar, menyatakan varian dari seluruh atribut
Adapun alur dari metode Naive Bayes adalah sebagai berikut : 1. Input data training
2. Baca data training.
3. Hitung jumlah dan probabilitas, namun apabila data numerik maka :
a. Cari nilai mean dan standar deviasi dari masing-masing parameter yang merupakan data numerik.
b. Cari nilai probabilistik dengan cara menghitung jumlah data yang sesuai dari kategori yang sama dibagi dengan jumlah data pada kategori tersebut. 4. Mendapatkan nilai dalam tabel mean, standar deviasi dan probabilitas.
(30)
Berikut merupakan skema Naive Bayes, yang dapat dilihat pada gambar 2.3.
Gambar 2.3 Skema Naive Bayes
Selesai
Tidak Ya
Jumlah dan Probabilitas
Apakah Data Numerik? Baca Data Training
Tabel Probabilitas
Mean tiap Parameter
Standar Deviasi tiap Parameter
Tabel Mean dan Standar Deviasi Mulai
Input Data String
Solusi Konversi Data
Integer Input Data Integer
(31)
Konsep dari perhitungan Naive Bayes dapat dijelaskan dengan menggunakan contoh yang terdapat pada data sebagai berikut :
Tabel 2.1 Data Pemain dan Posisi
Nama Dribbling Passing Shooting Technique Stamina Posisi
Andi Baik Kurang Baik Baik Kurang Penyerang
Budi Kurang Baik Kurang Kurang Baik Bek
Candra Baik Kurang Kurang Kurang Baik Bek
Doni Baik Baik Baik Baik Kurang Penyerang
Erick Kurang Kurang Baik Baik Baik Bek
Faisal Baik Baik Kurang Kurang Baik Penyerang
Gani Kurang Baik Baik Kurang Kurang Bek
Naive Bayes akan menentukan kelas dari data pemain baru berikut :
Haris (Dribbling = Baik, Passing = Baik, Shooting = Kurang, Technique = Baik, Stamina = Kurang)
P(Y = Bek) =
: = 0.57 P(Y = Penyerang) = : = 0.43 P(Dribble = Baik | Y = Bek) = 1<4
P(Dribble = Baik | Y = Penyerang) = 3<3 P(Passing = Baik | Y = Bek) = 2<4 P(Passing = Baik | Y = Penyerang) = 2<3 P(Shooting = Kurang | Y = Bek) = 2<4 P(Shooting = Kurang | Y = Penyerang) = 1<3 P(Technique = Baik | Y = Bek) = 1<4
P(Technique = Baik | Y = Penyerang) = 2<3 P(Stamina = Kurang | Y = Bek) = 1<4 P(Stamina = Kurang | Y = Penyerang) = 2<3
(32)
P(Bek) * P(Dribble | Bek) * P(Passing | Bek) * P(Shooting | Bek) * P(Technique | Bek) * P(Stamina | Bek)
= 4<7 * 1<4 * 2<4 * 2<4 * 1< 4* 1<4 = 0,0022
P(Penyerang) * P(Dribble | Penyerang) * P(Passing | Penyerang) * P(Shooting | Penyerang) * P(Technique | Penyerang) * P(Stamina | Penyerang)
= 3<7 * 3<3 * 2<3 * 1<3 * 2< 3* 2<3 = 0,0427
Dari hasil di atas, terlihat bahwa nilai probabilitas tertinggi ada pada kelas (P | Penyerang), sehingga dapat disimpulkan bahwa Haris masuk ke dalam klasifikasi “Penyerang”.
2.5. Android
Android merupakan sebuah sistem operasi yang berbasis Linux untuk telepon seluler seperti smartphone dan komputer tablet. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh berbagai macam peranti bergerak.
Sampai pada saat ini, sistem operasi Android sudah memasuki versi 4.2. Uniknya, penanaman versi Android selalu menggunakan nama makanan dan diawali dengan abjad yang berurutan seperti berikut (Arif, 2013) :
1. Android version 1.5 (Cupcake) 2. Android version 1.6 (Donut) 3. Android version 2.0/2.1 (Eclair)
4. Android version 2.2 (Frozen Yogurt/Froyo) 5. Android version 2.3 (Gingerbread)
6. Android version 3.0/3.1/3.2 (Honeycomb) 7. Android version 4.0 (Ice Cream Sandwich) 8. Android version 4.1/4.2 (Jelly Bean) 9. Android version 4.4 (Kitkat)
(33)
2.6. Sepak Bola
Awal mula munculnya sepak bola cukup membingungkan. Beberapa dokumen mengatakan sepak bola berasal dari masa Romawi, namun ada juga yang menyatakan bahwa sepak bola berasal dari daratan Cina. FIFA sendiri sebagai badan sepak bola dunia menyatakan bahwa sepak bola berawal dari permainan yang dilakukan oleh masyarakat Cina pada abad ke-2 hingga ke-3 sebelum Masehi. Olah raga ini dikenal dengan nama “Cuju“. Sepak bola modern yang kita kenal sekarang diakui oleh berbagai pihak berasal dari Inggris. Sepak bola modern ini mulai dimainkan pada pertengahan abad ke-19 di sekolah-sekolah di daerah Inggris Raya. Pada tahun 1857 berdiri klub sepak bola pertama di dunia, dengan nama Sheffield Football Club. Klub sepak bola ini merupakan gabungan dari beberapa sekolah yang memainkan permainan sepak bola. Pada saat yang sama, tepatnya tahun 1863, berdiri badan asosiasi sepak bola di Inggris, dengan nama Football Association (FA). Pada saat itu badan inilah yang mengeluarkan peraturan dasar permainan sepak bola, sehingga sepak bola menjadi lebih terorganisir.
Pada tahun 1886 terbentuk badan yang mengeluarkan peraturan sepak bola modern di dunia, dengan nama International Football Association Board (IFAB). IFAB terbentuk setelah adanya pertemuan antara FA dengan Scottish Football Association, Football Association of Wales, dan Irish Football Association di Manchester, Inggris. Hingga saat ini IFAB adalah badan yang mengeluarkan berbagai peraturan pada permainan sepak bola, mulai dari peraturan dasar hingga peraturan yang menyangkut teknik permainan serta perpindahan pemain.
Tidak adanya badan yang mengatur permainan sepak bola di dunia internasional membuat perkembangan olah raga ini agak terhambat. Disadari oleh para pelaku sepak bola bahwa penting untuk membentuk sebuah organisasi yang membawahi dan mengatur permainan sepak bola secara global. Karena itu pada tanggal 21 Mei 1904 dibentuk sebuah badan sepak bola internasional di Perancis dengan nama Fédération Internationale de Football Association (FIFA). Meskipun terbentuk di Perancis, namun kantor pusat dari FIFA terdapat di Zurich, Swiss. Sedangkan presiden pertama FIFA adalah Robert Guérin.
(34)
2.6.1.Pengenalan Sepak Bola
Sepak bola adalah salah satu olahraga yang sangat populer di dunia. Dalam pertandingan, olahraga ini dimainkan oleh dua kelompok berlawanan yang masing-masing berjuang untuk memasukkan bola ke gawang kelompok lawan. Masing-masing kelompok beranggotakan sebelas pemain, dan karenanya kelompok tersebut juga dinamakan kesebelasan. Dua tim yang masing-masing terdiri dari 11 orang bertarung untuk memasukkan sebuah bola bundar ke gawang lawan ("mencetak gol"). Tim yang mencetak lebih banyak gol adalah sang pemenang (biasanya dalam jangka waktu 90 menit, tetapi ada cara lainnya untuk menentukan pemenang jika hasilnya seri). Akan diadakan tambahan waktu 2x15 menit dan apabila dalam tambahan waktu hasilnya masih seri, akan diadakan adu penalti yang setiap timnya akan diberikan lima kali kesempatan untuk menendang bola ke arah gawang dari titik penalti yang berada di dalam daerah kiper hingga hasilnya bisa ditentukan. Peraturan terpenting dalam mencapai tujuan ini adalah para pemain (kecuali penjaga gawang) tidak boleh menyentuh bola dengan tangan mereka selama masih dalam permainan.
Sebuah pertandingan diperintah oleh seorang wasit yang mempunyai "wewenang penuh untuk menjalankan pertandingan sesuai peraturan permainan dalam suatu pertandingan yang telah diutuskan kepadanya", dan keputusan-keputusan pertandingan yang dikeluarkannya dianggap sudah final. Sang wasit dibantu oleh dua orang asisten wasit dan seorang ofisial keempat yang dapat menggantikan seorang ofisial lainnya jika diperlukan.
2.6.2.Posisi dan Peran Pemain
Satu tim sepak bola terdiri dari 11 orang pemain yang memiliki posisi dan tugas yang berbeda-beda. Secara umum ada 4 posisi pemain dalam sepak bola, diantaranya: 1. Penjaga Gawang / Kiper
Bertugas menjaga daerah gawang dan mencegah bola masuk ke gawang. 2. Pemain Bertahan / Bek
Bertugas menjaga daerah pertahanan sendiri agar lawan tidak bisa membobol gawang yang dijaga oleh penjaga gawang.
3. Pemain Tengah / Gelandang
Untuk posisi ini mempunyai tugas ganda, yaitu sebagai penyeimbang. Artinya saat sebuah tim mengawali serangan, seorang gelandang adalah sebagai penyambung
(35)
bola dari bek untuk diarahkan ke penyerang, sedangkan waktu diserang seorang gelandang adalah orang pertama yang harus merebut bola dari kaki lawan, sebelum bek.
4. Pemain Depan / Penyerang
Bertugas untuk mencetak gol. Untuk posisi ini, seorang pemain harus mempunyai naluri dan penempatan posisi yang bagus. Penyerang juga harus bisa memaksimalkan peluang sekecil apapun untuk menjadi sebuah gol. Karena dalam permainan yang sebenarnya, seorang penyerang akan mendapat kawalan dari pemain bertahan lawan.
Berikut merupakan gambaran dari posisi pemain sepak bola, yang dapat dilihat pada gambar 2.4.
Gambar 2.4 Posisi Pemain Sepak Bola 2.7. Penelitian yang Relevan
Berikut ini beberapa penelitian tentang sistem pendukung keputusan yang terkait dengan metode Naive Bayes :
a. Bustami (2013) dalam jurnal yang berjudul Penerapan Algoritma Naive Bayes untuk Mengklasifikasi Data Nasabah Asuransi. Menyatakan algoritma Naive
(36)
Bayes didukung oleh ilmu probabilistik dan ilmu statistika khususnya penggunaan data petunjuk untuk mendukung keputusan pengklasifikasian. Pada algoritma Naive Bayes, semua atribut akan memberikan kontribusinya dalam pengambilan keputusan, dengan bobot atribut yang sama penting dan setiap atribut saling bebas satu sama lain.
b. Sri Kusumadewi (2009) dalam jurnal yang berjudul Klasifikasi Status Gizi Menggunakan Naive Bayes Classification. Menyatakan bahwa algoritma Naive Bayes Classification dapat digunakan sebagai salah satu metode untuk klasifikasi status gizi berdasarkan hasil pengukuran antropometri dan model sistem yang dibangun memiliki kinerja yang baik karena hasil pengujian menunjukkan total kinerja sebesar 0,932 atau 93,2%.
c. Hera Wasiati dan Dwi Wijayanti (2014) dalam jurnal yang berjudul Sistem Pendukung Keputusan Penentuan Kelayakan Calon Tenaga Kerja Indonesia Menggunakan Metode Naive Bayes. Menyatakan bahwa dari pengujian yang dilakukan dengan menggunakan data sebanyak 542 dengan data training sebanyak 382 dan data uji sebanyak 180, akurasi polanya sebesar 73,89% dan error 26,11%.
(37)
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Analisis sistem bertujuan untuk melakukan identifikasi persoalan-persoalan yang akan muncul dalam pembuatan sistem, hal ini dilakukan agar pada saat proses perancangan aplikasi tidak terjadi kesalahan yang berarti, sehingga sistem yang dirancang dapat berjalan dengan baik, tepat guna dan ketahanan dari sistem tersebut akan lebih terjaga serta selesai tepat pada waktu yang telah ditentukan. Ada dua tahapan analisis dalam tugas akhir ini yaitu: analisis masalah dan analisis persyaratan.
Sistem ini akan melakukan perhitungan dan memberikan informasi dalam penentuan posisi ideal pemain dalam sepak bola. Sistem ini dirancang dengan menggunakan metode Naive Bayes.
3.1.1. Analisis Masalah
Analisis masalah merupakan proses mengidentifikasi sebab dan akibat dibangunnya sebuah sistem agar sistem yang akan dibangun tersebut dapat berjalan sebagaimana mestinya sesuai dengan tujuan dari sistem itu. Dalam sepak bola, terdapat beberapa posisi yang diperankan oleh pemainnya. Saat ini masih banyak pelatih yang merasa kesulitan dalam menentukan posisi ideal pemainnya. Sehingga banyak pemain yang tidak dapat mengeluarkan kemampuan terbaiknya dikarenakan penempatan posisi yang kurang ideal bagi pemain tersebut. Oleh karena itu dibutuhkan sebuah sistem untuk memberikan informasi yang tepat dalam proses penentuan posisi ideal pemain dalam sepak bola berdasarkan kemiripan data sebelumnya yang dipenuhi dengan atribut pemain dan juga posisinya dengan menggunakan metode Naive Bayes.
Diagram Ishikawa adalah diagram yang menunjukkan penyebab-penyebab dari sebuah event yang spesifik. Diagram ini juga disebut dengan diagram tulang ikan atau
(38)
cause-and-effect diagram. Pemakaian diagram Ishikawa yang paling umum adalah untuk mencegah efek serta mengembangkan kualitas produk. Analisa masalah lebih jelas melalui diagram Ishikawa yang dapat dilihat pada Gambar 3.1.
Gambar 3.1 Diagram Ishikawa
Berdasarkan Gambar 3.1 dapat diketahui bahwa permasalahan penentuan posisi ideal pemain dalam sepak bola dikarenakan banyaknya posisi pemain dan atribut pemain yang ada dan juga belum adanya sebuah sistem informasi yang ditujukan untuk menyelesaikan masalah tersebut. Untuk itu dibuatlah Sistem Pendukung Keputusan dengan menggunakan metode Naive Bayes pada platform Android.
3.1.2. Analisis Persyaratan
Analisis persyaratan terbagi dua bagian, yaitu persyaratan fungsional dan persyaratan nonfungsional. Persyaratan fungsional mendeskripsikan aktivitas yang disediakan suatu sistem. Sedangkan persyaratan nonfungsional mendeskripsikan fitur, karakteristik dan batasan lainnya.
3.1.2.1. Persyaratan Fungsional
Kebutuhan fungsional yang harus dimiliki oleh sistem dalam menentukan posisi ideal pemain dalam sepak bola adalah :
1. Sistem dapat menerima inputan data pemain dan atribut.
2. Sistem dapat menampilkan informasi posisi ideal pemain yang sesuai dengan atribut yang dimasukkan user, berdasarkan metode Naive Bayes.
(39)
3.1.2.2. Persyaratan Nonfungsional
Kebutuhan nonfungsional mencakup karakteristik berikut: 1. Performa
Sistem yang akan dibangun harus dapat menampilkan hasil pemilihan yang sesuai dengan apa yang dipilih.
2. Mudah dipelajari dan digunakan
Sistem yang akan dibangun harus memiliki tampilan yang user friendly sehingga pengguna dapat mengakses sistem dengan mudah.
3. Hemat biaya
Sistem yang dibangun tidak memerlukan perangkat tambahan ataupun perangkat pendukung lainnya yang dapat mengeluarkan biaya.
3.1.3. Pemodelan
Pemodelan sistem dilakukan untuk memperoleh gambaran yang lebih jelas tentang objek apa saja yang akan berinteraksi dengan sistem, serta hal-hal apa saja yang harus dilakukan oleh sebuah sistem sehingga sistem dapat berfungsi dengan baik sesuai dengan kegunaannya.
Pada penelitian ini digunakan UML (Unified Modeling Language) sebagai bahasa pemodelan untuk mendesain dan merancang Sistem Pendukung Keputusan penentuan posisi ideal pemain dengan metode Naive Bayes. Model UML yang digunakan antara lain use case diagram, activity diagram, dan sequence diagram.
3.1.3.1. Use Case Diagram
Use Case Diagram adalah sebuah diagram yang dapat merepresentasikan interaksi yang terjadi antara user dengan sistem. Use Case Diagram mendeskripsikan interaksi tipikal antara pengguna sistem dengan sistem itu sendiri, dengan member sebuah narasi tentang bagaimana sistem tersebut digunakan. Use Case Diagram dari sistem yang akan dibangun dapat ditunjukkan pada Gambar 3.2.
(40)
Gambar 3.2 Use Case Diagram sistem
Berikut ini merupakan tabel dokumen naratif use case yang dapat dilihat pada tabel 3.1, tabel 3.2 dan tabel 3.3.
Tabel 3.1 Dokumentasi Naratif Use Case Database Nama Use Case Database
Actor Pengguna
Description Use case ini menampilkan database pemain yang menjadi patokan dalam perhitungan metode Naive Bayes.
Pre-Condition Aplikasi siap menerima inputan. Typical course
of Event
Kegiatan Pengguna Respon Sistem 1. Menekan tombol
database.
2. Menampilkan database pemain.
Alternatecourse Aksi Actor Respon sistem
(41)
Tabel 3.2 Dokumentasi Naratif Use Case Proses Naive Bayes Nama Use Case Proses Naive Bayes
Actor Pengguna
Description Use case ini menjelaskan proses penentuan posisi ideal pemain yang akan digunakan dari sistem ini.
Pre-Condition Aplikasi siap menerima inputan.
Typical course of Event
Kegiatan Pengguna Respon Sistem 1. Menekan tombol
Proses Naive Bayes.
2. Menampilkan isi dari pilihan proses Naive Bayes.
3. Memasukkan data untuk tiap-tiap atribut pemain.
4. Sistem akan merespon inputan yang diberi.
5. Menekan tombol proses.
6. Sistem akan melakukan perhitungan dengan metode Naive Bayes.
7. Sistem akan menampilkan hasil perhitungan metode Naive Bayes.
Alternatecourse Aksi Actor Respon sistem
Post Condition Sistem telah melakukan proses penentuan posisi ideal pemain.
Tabel 3.3 Dokumentasi Naratif Use Case Help Nama Use Case Help
Actor Pengguna
Description Use case ini menjelaskan cara penggunaan dari sistem ini Pre-Condition Aplikasi siap menerima inputan.
Typical course of Event
Kegiatan Pengguna Respon Sistem
1. Menekan tombol Help. 2. Menampilkan isi dari menu Help tersebut.
Alternatecourse Aksi Actor Respon sistem
(42)
3.1.3.2. Activity Diagram
Activity Diagram adalah teknik untuk menggambarkan logika procedural, jalur kerja sistem. Diagram ini menggambarkan berbagai alur kerja dalam sistem yang sedang dirancang, bagaimana masing-masing alur kerja berawal, decision yang mungkin terjadi, dan bagaimana mereka aktifitas atau alur kerja berakhir. Proses penentuan dengan metode Naive Bayes, dapat dilihat Activity Diagram pada Gambar 3.3.
Gambar 3.3 Activity Diagram 3.1.3.3. Sequence Diagram
Sequence Diagram merupakan diagram yang menunjukkan bagaimana kelompok-kelompok objek saling berkolaborasi dalam beberapa behavior. Sequence diagram secara khusus, menjabarkan behavior sebuah skenario tunggal. Diagram tersebut menunjukkan sejumlah objek contoh dan pesan-pesan yang melewat objek-objek tersebut didalam use case. Sequence diagram untuk proses penentuan posisi ideal pemain dengan metode Naive Bayes diperlihatkan pada Gambar 3.4.
(43)
Gambar 3.4 Sequence Diagram
Pada tahap ini, yang dilakukan adalah membuka form penentuan posisi pemain, kemudian memasukkan data-data atribut pemain, yaitu Dribbling, Passing, Crossing, Shooting, Accelaration, Agility, Stamina, Jumping, Aggression, Composure, Creativity, Decisioning, Positioning, Marking, dan Teamwork. Lalu sistem akan mengakses ke database pemain yang telah dimasukkan kemudian melakukan perhitungan dengan metode Naive Bayes. Kemudian hasil perhitungan akan ditampilkan secara berurutan dengan nilai terbaik dari beberapa posisi yang ada.
3.1.3.4. Kamus Data
Kamus data merupakan sebuah daftar yang mengatur semua komponen data yang berhubungan terhadap sistem dengan definisi singkat dan sejelas-jelasnya sehingga pengguna dan analisis sistem dapat sama-sama mengerti tentang data masukan, keluaran, komponen penyimpanan dan kalkulasi lanjutan. Kamus data pada sistem diperlihatkan pada Tabel 3.4.
(44)
Tabel 3.4 Kamus Data
Data Field Type Deskripsi
Tb_Pemain Id Integer (primary key) No Id pemain
Nama Varchar (20) Nama pemain
Dribbling String Nilai Dribbling pemain
Passing String Nilai Passing pemain
Crossing String Nilai Crossing pemain Shooting String Nilai Shooting pemain Accelaration String Nilai Accelaration pemain
Agility String Nilai Agility pemain
Stamina String Nilai Stamina pemain
Jumping String Nilai Jumping pemain
Aggression String Nilai Aggression pemain Composure String Nilai Composure pemain Creativity String Nilai Creativity pemain Decisioning String Nilai Decisioning pemain Positioning String Nilai Positioning pemain
Marking String Nilai Marking pemain
Teamwork String Nilai Teamwork pemain
Posisi String Posisi pemain
3.1.3.5. Flowchart Sistem
Flowchart atau bagan alir adalah bagan (chart) yang menunjukkan alir (flow) didalam program atau prosedur sistem secara logika. Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Flowchart digunakan terutama untuk alat bantu komunikasi dan untuk dokumentasi. Gambar 3.5 berikut ini merupakan Flowchart dari sistem yang akan dibangun.
(45)
Gambar 3.5 Flowchart Sistem Mulai
Insert, Update dan Delete Data
Pemain
Data Pemain
Input Data Integer Pemain
Proses Naive Bayes
Hitung Jumlah dan Probabilitas
Bandingkan hasil tiap class Probabilitas
P.Kiper > P.Bek & P.Kiper > P.Gelandang && P.Kiper >
P.Penyerang
P.Bek > P.Gelandang
& P.Bek > P.Penyerang
P.Gelandang > P.Penyerang
Kiper Bek Gelandan
Penyeran
Tidak Tidak
Tidak
Selesai
Ya Ya Ya
Konversi Data Integer
Input Data String Pemain
(46)
3.1.3.6. Pseudecode Program
Pseudecode adalah suatu algoritma yang untuk dapat menjelaskannya harus menggunakan bahasa tingkat tinggi. Bahasa tingkat tinggi adalah bahasa yang dimengerti manusia dan dapat digambarkan dengan mudah sehingga dapat dipahami oleh manusia itu sendiri. Pseudecode dari Naive Bayes pada sistem ini dapat dilihat pada Tabel. 3.5.
Tabel 3.5 Pseudecode Naive Bayes
1. double dri,pas,cro,sho,acc,agi,sta,jum,agg,com,cre,dec,pos,mar,tea
String dribbling, passing, crossing, shooting, accelaration, agility, stamina, jumping, aggression, composure, creativity, decisioning, positioning, marking, teamwork
String kategori,gambarprio double sort[]
String prioritas[]= new String[4]
String cari,s_tring,nilaikiper,nilaibek,nilaigelandang,nilaipenyerang,kesatu double nKiper,nBek,nGelandang,nPenyerang
double bykdatabase
double hKiper,hBek,hGelandang,hPenyerang Cursor cursor
double swap
2. for i <- 0 to 14 if (i==0)
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where dribbling='"+dribbling+"' AND posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) dri <- cursor.getCount()
else if (cursor==null) dri <- 0 end if
(47)
else if (i==1)
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where passing='"+passing+"' AND posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) pas <- cursor.getCount()
else if (cursor==null) pas <- 0 end if
else if (i==2)
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where crossing='"+crossing+"' AND posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) cro <- cursor.getCount()
else if (cursor==null) cro <- 0 end if
else if (i==3)
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where shooting='"+shooting+"' AND posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) sho <- cursor.getCount()
else if (cursor==null) sho <- 0 end if
else if (i==4)
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where accelaration='"+accelaration+"' AND posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) acc <- cursor.getCount()
(48)
else if (cursor==null) acc <- 0 end if
else if (i==5)
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where agility='"+agility+"' AND posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) agi <- cursor.getCount()
else if (cursor==null) agi <- 0 end if
else if (i==6)
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where stamina='"+stamina+"' AND posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) sta <- cursor.getCount()
else if (cursor==null) sta <- 0 end if
else if (i==7)
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where jumping='"+jumping+"' AND posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) jum <- cursor.getCount()
else if (cursor==null) jum <- 0 end if
(49)
else if (i==8)
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where aggression='"+aggression+"' AND posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) agg <- cursor.getCount()
else if (cursor==null) agg <- 0 end if
else if (i==9)
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where composure='"+composure+"' AND posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) com <- cursor.getCount()
else if (cursor==null) com <- 0 end if
else if (i==10)
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where creativity='"+creativity+"' AND posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) cre <- cursor.getCount()
else if (cursor==null) cre <- 0 end if
else if (i==11)
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where decisioning='"+decisioning+"' AND posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) dec <- cursor.getCount()
(50)
else if (cursor==null) dec <- 0 end if
else if (i==12)
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where positioning='"+positioning+"' AND posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) pos <- cursor.getCount()
else if (cursor==null) pos <- 0 end if
else if (i==13)
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where marking='"+marking+"' AND posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) mar <- cursor.getCount()
else if (cursor==null) mar=0
end if
else
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where teamork='"+teamwork+"' AND posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) tea <- cursor.getCount()
else if (cursor==null) tea <- 0 end if
end if end for
(51)
3. for i <- 0 to 3 if (i==0)
kategori <- 'kiper'
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) nKiper <- cursor.getCount() else if (cursor==null)
nKiper <- 0 end if
hKiper <- (dri/nKiper)*(pas/nKiper)*(cro/nKiper)*(sho/nKiper)*(acc/nKiper) *(agi/nKiper)*(sta/nKiper)*(jum/nKiper)*(agg/nKiper)*(com/nKiper)*
(cre/nKiper)*(dec/nKiper)*(pos/nKiper)*(mar/nKiper)*(tea/nKiper)* (nKiper/bykdatabase)
sort[0] <- hKiper
darikiper <- 'Skor Kiper= '+df.format(hKiper)
else if (i==1)
kategori <- 'bek'
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) nBek <- cursor.getCount() else if (cursor==null)
nBek <- 0 end if
hBek <- (dri/nBek)*(pas/nBek)*(cro/nBek)*(sho/nBek)*(acc/nBek)* (agi/nBek)*(sta/nBek)*(jum/nBek)*(agg/nBek)*(com/nBek)*(cre/nBek)* (dec/nBek)*(pos/nBek)*(mar/nBek)*(tea/nBek)*(nBek/bykdatabase)
sort[1] <- hBek
(52)
else if (i==2)
kategori <- 'gelandang'
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) nGelandang <- cursor.getCount() else if (cursor==null)
nGelandang <- 0 end if
hGelandang <- (dri/nGelandang)*(pas/nGelandang)*(cro/nGelandang)* (sho/nGelandang)*(acc/nGelandang)*(agi/nGelandang)*(sta/nGelandang)* (jum/nGelandang)*(agg/nGelandang)*(com/nGelandang)*(cre/nGelandang)* (dec/nGelandang)*(pos/nGelandang)*(mar/nGelandang)*(tea/nGelandang)* (nGelandang/bykdatabase)
sort[2] <- hGelandang
darigelandang <- 'Skor Gelandang = '+df.format(hGelandang)
else
kategori <- 'penyerang'
cursor <- db.rawQuery("SELECT * FROM tabel_biodata where posisi='"+kategori+"'", null)
if (cursor!=null/*cursor.getCount()>0*/) nPenyerang <- cursor.getCount() else if (cursor==null)
nPenyerang <- 0 end if
hPenyerang <- (dri/nPenyerang)*(pas/nPenyerang)*(cro/nPenyerang)* (sho/nPenyerang)*(acc/nPenyerang)*(agi/nPenyerang)*(sta/nPenyerang)* (jum/nPenyerang)*(agg/nPenyerang)*(com/nPenyerang)*(cre/nPenyerang)* (dec/nPenyerang)*(pos/nPenyerang)*(mar/nPenyerang)*(tea/nPenyerang)* (nPenyerang/bykdatabase)
(53)
sort[3] <- hPenyerang
daripenyerang <- 'Skor Penyerang= '+df.format(hPenyerang) end if
end for
4. for c <- 0 to 3
for d <- 0 to 4-c-1
if (sort[d] < sort[d+1]) swap <- sort[d] sort[d] <- sort[d+1] sort[d+1] <- swap end if
end for end for
5. for j <- 0 to 3
if(sort[j]==hKiper)
nilaikiper <- 'kiper'
prioritas[j] <- 'kiper dengan skor '+df.format(hKiper) else if (sort[j]==hBek)
nilaibek <- 'bek'
prioritas[j] <- 'bek dengan skor '+df.format(hBek) else if (sort[j]==hGelandang)
nilaigelandang <- 'gelandang'
prioritas[j] <- 'gelandang dengan skor '+df.format(hGelandang) else
nilaipenyerang <- 'penyerang'
prioritas[j] <- 'penyerang dengan skor '+df.format(hPenyerang) end if
(54)
6. if (sort[0]==hKiper)
gambarprio <- 'kiper' else if (sort[0]==hBek)
gambarprio <- 'bek' else if (sort[0]==hGelandang)
gambarprio <- 'gelandang' else if (sort[0]==hPenyerang)
gambarprio <- 'penyerang' end if
Keterangan :
1. Inisialisasi variabel.
2. Pengambilan nilai untuk setiap atribut-atribut pemain berdasarkan posisinya. 3. Pengambilan jumlah pemain untuk setiap posisi Kiper, Bek, Gelandang dan
Penyerang. Dan melakukan perhitungan skor untuk masing-masing posisi. 4. Pengurutan berdasarkan skor tertinggi hingga terendah.
5. Pengembalian skor ke tiap-tiap posisi.
6. Pengambilan gambar berdasarkan posisi dengan skor tertinggi.
3.2. Perancangan Sistem
Proses perancangan antarmuka (interface) sebuah sistem adalah proses yang cukup penting dalam perancangan sebuah sistem. Merancang antarmuka merupakan bagian yang paling penting dari merancang sebuah sistem. Sebuah antarmuka harus dirancang dengan memperhatikan faktor pengguna sehingga sistem yang dibangun dapat memberikan kenyamanan dan kemudahan untuk digunakan oleh pengguna.
(55)
3.2.1. Menu Utama
Perancangan Menu Utama dapat dilihat pada gambar 3.6.
Gambar 3.6 Rancangan Menu Utama
Tabel 3.6 Keterangan gambar rancangan Menu Utama
No. Keterangan
1. Imagebutton untuk menampilkan menu Database
2. Imagebutton untuk menampilkan menu Proses Naive Bayes 3. Imagebutton untuk menampilkan menu Help
(56)
3.2.2. Menu Database
Perancangan menu Database dapat dilihat pada gambar 3.7.
Gambar 3.7 Rancangan Menu Database
Tabel 3.7 Keterangan gambar rancangan Menu Database
No. Keterangan
1. Textview untuk menampilkan Id pemain 2. Textview untuk menampilkan nama pemain 3. Textview untuk menampilkan atribut pemain 4. Textview untuk menampilkan posisi pemain
(57)
3.2.3. Menu Proses Naive Bayes
Perancangan menu Proses Naive Bayes dapat dilihat pada gambar 3.8.
Gambar 3.8 Rancangan Menu Proses Naive Bayes
Tabel 3.8 Keterangan gambar rancangan Menu Proses Naive Bayes
No. Keterangan
1. Textview untuk menampilkan nama pemain 2. Textview untuk menampilkan atribut pemain
3. Plaintext untuk menampilkan nilai dari atribut pemain 4. Textview untuk menampilkan kemampuan pemain 5. Spinner untuk menampilkan pilihan kemampuan pemain 6. Button untuk menampilkan menu proses
(58)
3.2.4. Menu Proses
Perancangan menu Proses dapat dilihat pada gambar 3.9.
Gambar 3.9 Rancangan Menu Proses
Tabel 3.9 Keterangan gambar rancangan Menu Proses
No. Keterangan
1. Textview untuk menampilkan nama pemain
2. Textview untuk menampilkan posisi pemain dengan nilai 3. Textiew untuk menampilkan kesimpulan posisi ideal pemain 4. Imageview untuk menampilkan gambar posisi ideal pemain
(59)
3.2.5. Menu Help
Perancangan menu Help dapat dilihat pada gambar 3.10.
Gambar 3.10 Rancangan Menu Help
Tabel 3.10 Keterangan gambar rancangan Menu Help
No. Keterangan
1. Textview untuk menampilkan judul Help
(60)
3.2.6. Menu About
Perancangan menu About dapat dilihat pada gambar 3.11.
Gambar 3.11 Rancangan menu About
Tabel 3.11 Keterangan gambar rancangan menu About
No. Keterangan
1. Textview untuk menampilkan judul 2. Textview untuk menampilkan skripsi 3. Textview untuk menampilkan nama 4. Textview untuk menampilkan NIM 5. Imageview untuk menampilkan logo 6. Textview untuk menampilkan kampus
(61)
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1. Implementasi
Implementasi sistem merupakan tahapan yang harus dilalui dalam proses pengembangan perangkat lunak dari suatu sistem. Tahap ini dilakukan setelah terlebih dahulu melalui tahap Analisis dan Perancangan sistem yang telah diuraikan pada bab sebelumnya. Sistem ini dibangun dengan menggunakan Eclipse 4.2.0. Pada sistem ini terdapat 6 menu, yaitu: Menu Utama, Menu Database, Menu Proses Naive Bayes, Menu Proses, Menu Help,dan Menu About.
Penerapan metode Naive Bayes dalam sistem yang dibuat adalah proses perhitungan penentuan posisi ideal pemain dalam sepak bola dengan menggunakan metode Naive Bayes, dimana dengan metode ini data training yang menjadi patokan dalam perhitungan sudah ditetapkan dalam program. Dalam hal ini, user tinggal menginput data-data atribut pemain baru yang ingin diketahui posisi idealnya.
4.2. Antarmuka Sistem
Pada aplikasi penentuan posisi ideal pemain dalam sepak bola dengan menggunakan metode Naive Bayes ini terdapat 6 tampilan, yaitu :
1. Menu Utama 2. Menu Database
3. Menu Proses Naive Bayes 4. Menu Proses
5. Menu Help 6. Menu About
(62)
4.2.1. Menu Utama
Pada Menu Utama, terdapat 4 ImageButton yatu : ImageButton Database, ImageButton Proses Naive Bayes, ImageButton Help, dan ImageButton About yang masing – masing berfungsi untuk mengarahkan pengguna menuju halaman lain. Menu Utama dapat dilihat pada gambar 4.1.
Gambar 4.1 Menu Utama
4.2.2. Menu Database
Pada halaman ini akan ditampilkan data training ataupun database pemain yang diambil dari Talenta Soccer Rantauprapat. Data training ini yang nantinya menjadi patokan dalam perhitungan untuk menentukan posisi ideal pemain dalam sepak bola. Menu database dapat dilihat pada gambar 4.2.
(63)
Gambar 4.2 Menu Database
Gambar 4.3 Lanjutan Menu Database
4.2.3. Menu Proses Naive Bayes
Pada halaman ini terdapat TextView untuk menampilkan nama dan atribut-atribut pemain, PlainText untuk menampilkan inputan, Spinner untuk menampilkan pilihan kemampuan pemain dan juga terdapat Button yang berfungsi untuk menghitung skor dan mengarahkan pengguna menuju halaman lain. Menu Proses Naive Bayes dapat dilihat pada gambar 4.4.
(64)
Gambar 4.4 Menu Proses Naive Bayes Keterangan :
81 - 100 = Baik 61 - 80 = Cukup 0 - 60 = Kurang
4.2.4. Menu Proses
Pada halaman ini terdapat TextView untuk menampilkan nama, hasil perhitungan dengan urutan posisi dari skor tertinggi sampai yang terendah, kesimpulan posisi ideal dan juga terdapat imageview untuk menampilkan gambar sesuai dengan skor tertinggi. Menu Proses dapat dilihat pada gambar 4.5.
(65)
4.2.5 Menu Help
Pada halaman ini akan menampilkan bagaimana penggunaan sistem. Menu Help dapat dilihat pada gambar 4.6.
Gambar 4.6 Menu Help 4.2.6 Menu About
Pada halaman ini akan menampilkan tentang si pembuat sistem. Menu About dapat dilihat pada gambar 4.7.
(66)
4.3. Pengujian
Pengujian sistem dilakukan untuk mengetahui bagaimana kinerja sistem dalam penentuan posisi ideal pemain dalam sepak bola dengan menggunakan metode Naive Bayes. Dalam pengujian ini user memasukkan nilai dari atribut-atribut pemain, kemudian sistem akan melakukan perhitungan dengan metode Naive Bayes sehingga hasil alternatif akan muncul.
Tahap awal cara kerja dari proses perhitungan metode Naive Bayes adalah dengan melakukan pengambilan data training dari database pemain. Adapun atribut pemain yang digunakan dalam menentukan keputusan terbagi dalam dua kategori, yakni penilain secara subjektif dan objektif. Untuk penilaian secara objektif, atribut pemain terdiri dari Dribbling, Passing, Crossing, Shooting, Accelaration, Agility, Stamina dan Jumping. Dan untuk penilaian secara subjektif, atribut pemain terdiri dari Aggression, Composure, Creativity, Decisioning, Positioning, Marking, dan Teamwork. Dan keseluruhan atribut tersebut akan dikelompokkan dalam tiga kategori, yakni baik, cukup dan kurang.
Tabel 4.1 Data training awal untuk atribut objektif
No. Nama Atribut Objektif Posisi Dri Pas Cro Sho Acc Agi Sta Jum
1. Halomoan 50 85 85 70 50 70 75 55 Kiper 2. Reno 55 70 65 50 70 55 85 70 Kiper 3. Anto 65 50 55 50 70 50 55 75 Kiper 4. Agung 85 55 55 85 85 85 50 90 Kiper 5. Fandi 75 90 85 55 55 55 85 85 Bek 6. Anjas 85 55 55 75 50 85 90 70 Bek 7. Faqih 75 55 50 85 55 65 55 75 Bek 8. Indra 70 55 55 75 75 50 75 65 Bek 9. Willy 55 75 75 55 55 90 75 90 Bek 10. Faisal 50 85 90 55 85 50 90 55 Bek 11. Kholis 75 90 85 55 75 75 90 55 Gelandang 12. Hendrik 70 95 85 90 70 75 55 75 Gelandang 13. Zainuddin 75 90 90 70 70 70 55 70 Gelandang 14. Septian 90 75 75 50 90 85 70 65 Gelandang 15. Yusuf 85 55 55 75 85 90 70 55 Gelandang 16. Rada 55 85 85 90 55 50 95 85 Gelandang
(1)
gambarprio.setImageResource(R.drawable.penyerang); }
} }
SQLiteHelper.java
package jhointegrity.com;
import java.util.ArrayList;
import java.util.HashMap;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class SQLiteHelper extends SQLiteOpenHelper {
private static final String nama_database = "pemain.db";
private static final int versi_database = 1;
private String[] allColumns = { "nama", "dribble", "marking", "passing","shooting", "technique", "aggression", "composure", "creativity", "desicion", "positioning","accelaration", "agility", "balance","stamina","jumping","posisi"};
public SQLiteHelper(Context context) {
super(context, nama_database, null, versi_database); }
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL(query_buat_tabel_biodata_pemain); System.out.println("tabel_biodata sudah dibuat");
}
@Override
public void onUpgrade(SQLiteDatabase database, int versi_lama, int
versi_baru) {
database.execSQL(query_hapus_tabel_biodata_pemain); //database.execSQL(query_hapus_tabel_biodata_pemain); onCreate(database);
}
public void tambah_biodata(String nama, String alamat, String marking, String passing, String shooting, String technique, String aggression, String composure, String creativity, String desicion, String positioning, String accelaration, String agility, String balance, String stamina, String jumping, String posisi) {
SQLiteDatabase database = this.getWritableDatabase(); ContentValues values = new ContentValues();
values.put("nama", nama); values.put("dribble", alamat);
(2)
values.put("marking", marking); values.put("passing", passing); values.put("shooting", shooting); values.put("technique", technique); values.put("aggression",aggression); values.put("composure", composure); values.put("creativity", creativity); values.put("desicion",desicion);
values.put("positioning", positioning); values.put("accelaration", accelaration); values.put("agility", agility);
values.put("balance", balance); values.put("stamina", stamina); values.put("jumping", jumping); values.put("posisi", posisi);
database.insert("tabel_biodata", null, values); database.close();
}
public ArrayList<HashMap<String, String>> tampil_semua_biodata() { SQLiteDatabase database = this.getWritableDatabase();
ArrayList<HashMap<String, String>> arrayListBiodata = new
ArrayList<HashMap<String, String>>();
Cursor cursor = database.rawQuery("SELECT * FROM tabel_biodata",
null);
if (cursor.moveToFirst()) {
do {
HashMap<String, String> hashMapBiodata = new
HashMap<String, String>();
hashMapBiodata.put("id_biodata",cursor.getString(0)); hashMapBiodata.put("nama", cursor.getString(1)); hashMapBiodata.put("dribble", cursor.getString(2)); hashMapBiodata.put("marking", cursor.getString(3)); hashMapBiodata.put("passing", cursor.getString(4)); hashMapBiodata.put("shooting", cursor.getString(5)); hashMapBiodata.put("technique", cursor.getString(6)); hashMapBiodata.put("aggression", cursor.getString(7)); hashMapBiodata.put("composure", cursor.getString(8)); hashMapBiodata.put("creativity", cursor.getString(9)); hashMapBiodata.put("desicion", cursor.getString(10)); hashMapBiodata.put("positioning", cursor.getString(11)); hashMapBiodata.put("accelaration",cursor.getString(12)); hashMapBiodata.put("agility", cursor.getString(13)); hashMapBiodata.put("balance", cursor.getString(14)); hashMapBiodata.put("stamina", cursor.getString(15)); hashMapBiodata.put("jumping", cursor.getString(16)); hashMapBiodata.put("posisi", cursor.getString(17)); arrayListBiodata.add(hashMapBiodata);
} while (cursor.moveToNext()); }
return arrayListBiodata; }
(3)
public int update_biodata(int id, String nama, String alamat, String marking, String passing, String shooting, String technique, String aggression, String composure, String creativity, String desicion, String positioning, String accelaration, String agility, String balance, String stamina, String jumping, String posisi) {
SQLiteDatabase database = this.getWritableDatabase(); ContentValues recordBiodata = new ContentValues(); recordBiodata.put("nama", nama); recordBiodata.put("dribble", alamat); recordBiodata.put("dribble", alamat); recordBiodata.put("marking", marking); recordBiodata.put("passing", passing); recordBiodata.put("shooting", shooting); recordBiodata.put("technique", technique); recordBiodata.put("aggression",aggression); recordBiodata.put("composure", composure); recordBiodata.put("creativity", creativity); recordBiodata.put("desicion",desicion); recordBiodata.put("positioning", positioning); recordBiodata.put("accelaration", accelaration); recordBiodata.put("agility", agility); recordBiodata.put("balance", balance); recordBiodata.put("stamina", stamina); recordBiodata.put("jumping", jumping); recordBiodata.put("posisi", posisi);
return database.update("tabel_biodata", recordBiodata, "id_biodata=" + id, null);
}
public HashMap<String, String> tampil_biodata_berdasarkan_id(int id) { SQLiteDatabase database = this.getReadableDatabase();
HashMap<String, String> hashMapBiodata = new HashMap<String, String>(); Cursor cursor = database.rawQuery("SELECT * FROM tabel_biodata WHERE id_biodata=" + id + "", null);
if (cursor.moveToFirst()) {
do {
hashMapBiodata.put("id_biodata", cursor.getString(0)); hashMapBiodata.put("nama", cursor.getString(1)); hashMapBiodata.put("dribble", cursor.getString(2)); hashMapBiodata.put("marking", cursor.getString(3)); hashMapBiodata.put("passing", cursor.getString(4)); hashMapBiodata.put("shooting", cursor.getString(5)); hashMapBiodata.put("technique", cursor.getString(6)); hashMapBiodata.put("aggression", cursor.getString(7)); hashMapBiodata.put("composure", cursor.getString(8)); hashMapBiodata.put("creativity", cursor.getString(9)); hashMapBiodata.put("desicion", cursor.getString(10)); hashMapBiodata.put("positioning", cursor.getString(11)); hashMapBiodata.put("accelaration",cursor.getString(12)); hashMapBiodata.put("agility", cursor.getString(13)); hashMapBiodata.put("balance", cursor.getString(14)); hashMapBiodata.put("stamina", cursor.getString(15)); hashMapBiodata.put("jumping", cursor.getString(16)); hashMapBiodata.put("posisi", cursor.getString(17)); } while (cursor.moveToNext());
(4)
}
return hashMapBiodata; }
}
Bantuan.java
package jhointegrity.com;
import org.xml.sax.Parser;
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.TextView;
public class bantuan extends Activity { String s_tring;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.bantuan); }
}
Tentang.java
package jhointegrity.com;
import android.app.Activity;
import android.os.Bundle;
public class tentang extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.tentang); }
(5)
CURRICULUM VITAE
Data Pribadi
Nama
: Ahmad Rifai
Jenis Kelamin
: Laki-laki
Tempat,Tanggal Lahir: Rantauprapat, 14 April 1993
Kewarganegaraan
: Indonesia
Agama
: Islam
Alamat Sekarang
: Jl. Abdul Hakim Perumahan Classic 2 Tanjung Sari Medan
Telp/Hp
: 08197499670
: [email protected]
Riwayat Pendidikan
1999 – 2005
: MIS Perdamean
2005 – 2008
: MTsN Rantauprapat
2008 – 2011
: SMK Harapan Al-Washliyah Sigambal
2011 – 2015
: S1 Ilmu Komputer Universitas Sumatera Utara
Pengalaman Organisasi
2010 – 2011
: BKPRMI Labuhanbatu
2011 – 2012
: Gamadiksi USU
2012 – 2013
: Anggota Kemahasiswaan IMILKOM USU
2013 – 2014
: Sekretaris Departemen Kemahasiswaan IMILKOM USU
2014 – 2015
: Ketua Umum IMILKOM USU
Pengalaman Kepanitiaan
2011
: Wakil Ketua Panitia Dies Natalis Ilmu Komputer ke-10
2012
: Anggota Acara Gamadiksi Green Camp
2012
: Anggota Acara Ilmu Komputer Goes to School
2012
: Ketua Penyambutan Mahasiswa Baru Bidik Misi USU 2012
2012
: Ketua Pelatihan Dasar Organisasi IMILKOM 2012
(6)