Implementasi Metode Naive Bayes Dalam Menentukan Posisi Ideal Pemain dalam Sepakbola Berbasis Android (Studi Kasus : Talenta Soccer Rantauprapat)

(1)

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

: [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)

2013

: Ketua Penyambutan Mahasiswa Baru S1 Ilmu Komputer USU

2013

: Koordinator Lomba Desain Grafis Artechno 2013