Analisis Sistem ANALISIS DAN PERANCANGAN SISTEM

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 Universitas Sumatera Utara 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. Universitas Sumatera Utara

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. Universitas Sumatera Utara 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 Post Condition Sistem telah melakukan proses pemilihan menu database. Universitas Sumatera Utara 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 Post Condition Sistem telah melakukan proses pemilihan menu Help. Universitas Sumatera Utara

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. Universitas Sumatera Utara 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. Universitas Sumatera Utara 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. Universitas Sumatera Utara 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 Universitas Sumatera Utara

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.rawQuerySELECT FROM tabel_biodata where dribbling=+dribbling+ AND posisi=+kategori+, null if cursor=nullcursor.getCount0 dri - cursor.getCount else if cursor==null dri - 0 end if Universitas Sumatera Utara else if i==1 cursor - db.rawQuerySELECT FROM tabel_biodata where passing=+passing+ AND posisi=+kategori+, null if cursor=nullcursor.getCount0 pas - cursor.getCount else if cursor==null pas - 0 end if else if i==2 cursor - db.rawQuerySELECT FROM tabel_biodata where crossing=+crossing+ AND posisi=+kategori+, null if cursor=nullcursor.getCount0 cro - cursor.getCount else if cursor==null cro - 0 end if else if i==3 cursor - db.rawQuerySELECT FROM tabel_biodata where shooting=+shooting+ AND posisi=+kategori+, null if cursor=nullcursor.getCount0 sho - cursor.getCount else if cursor==null sho - 0 end if else if i==4 cursor - db.rawQuerySELECT FROM tabel_biodata where accelaration=+accelaration+ AND posisi=+kategori+, null if cursor=nullcursor.getCount0 acc - cursor.getCount Universitas Sumatera Utara else if cursor==null acc - 0 end if else if i==5 cursor - db.rawQuerySELECT FROM tabel_biodata where agility=+agility+ AND posisi=+kategori+, null if cursor=nullcursor.getCount0 agi - cursor.getCount else if cursor==null agi - 0 end if else if i==6 cursor - db.rawQuerySELECT FROM tabel_biodata where stamina=+stamina+ AND posisi=+kategori+, null if cursor=nullcursor.getCount0 sta - cursor.getCount else if cursor==null sta - 0 end if else if i==7 cursor - db.rawQuerySELECT FROM tabel_biodata where jumping=+jumping+ AND posisi=+kategori+, null if cursor=nullcursor.getCount0 jum - cursor.getCount else if cursor==null jum - 0 end if Universitas Sumatera Utara else if i==8 cursor - db.rawQuerySELECT FROM tabel_biodata where aggression=+aggression+ AND posisi=+kategori+, null if cursor=nullcursor.getCount0 agg - cursor.getCount else if cursor==null agg - 0 end if else if i==9 cursor - db.rawQuerySELECT FROM tabel_biodata where composure=+composure+ AND posisi=+kategori+, null if cursor=nullcursor.getCount0 com - cursor.getCount else if cursor==null com - 0 end if else if i==10 cursor - db.rawQuerySELECT FROM tabel_biodata where creativity=+creativity+ AND posisi=+kategori+, null if cursor=nullcursor.getCount0 cre - cursor.getCount else if cursor==null cre - 0 end if else if i==11 cursor - db.rawQuerySELECT FROM tabel_biodata where decisioning=+decisioning+ AND posisi=+kategori+, null if cursor=nullcursor.getCount0 dec - cursor.getCount Universitas Sumatera Utara else if cursor==null dec - 0 end if else if i==12 cursor - db.rawQuerySELECT FROM tabel_biodata where positioning=+positioning+ AND posisi=+kategori+, null if cursor=nullcursor.getCount0 pos - cursor.getCount else if cursor==null pos - 0 end if else if i==13 cursor - db.rawQuerySELECT FROM tabel_biodata where marking=+marking+ AND posisi=+kategori+, null if cursor=nullcursor.getCount0 mar - cursor.getCount else if cursor==null mar=0 end if else cursor - db.rawQuerySELECT FROM tabel_biodata where teamork=+teamwork+ AND posisi=+kategori+, null if cursor=nullcursor.getCount0 tea - cursor.getCount else if cursor==null tea - 0 end if end if end for Universitas Sumatera Utara 3. for i - 0 to 3 if i==0 kategori - kiper cursor - db.rawQuerySELECT FROM tabel_biodata where posisi=+kategori+, null if cursor=nullcursor.getCount0 nKiper - cursor.getCount else if cursor==null nKiper - 0 end if hKiper - drinKiperpasnKipercronKipershonKiperaccnKiper aginKiperstanKiperjumnKiperaggnKipercomnKiper crenKiperdecnKiperposnKipermarnKiperteanKiper nKiperbykdatabase sort[0] - hKiper darikiper - Skor Kiper= +df.formathKiper else if i==1 kategori - bek cursor - db.rawQuerySELECT FROM tabel_biodata where posisi=+kategori+, null if cursor=nullcursor.getCount0 nBek - cursor.getCount else if cursor==null nBek - 0 end if hBek - drinBekpasnBekcronBekshonBekaccnBek aginBekstanBekjumnBekaggnBekcomnBekcrenBek decnBekposnBekmarnBekteanBeknBekbykdatabase sort[1] - hBek daribek - Skor Bek= +df.formathBek Universitas Sumatera Utara else if i==2 kategori - gelandang cursor - db.rawQuerySELECT FROM tabel_biodata where posisi=+kategori+, null if cursor=nullcursor.getCount0 nGelandang - cursor.getCount else if cursor==null nGelandang - 0 end if hGelandang - drinGelandangpasnGelandangcronGelandang shonGelandangaccnGelandangaginGelandangstanGelandang jumnGelandangaggnGelandangcomnGelandangcrenGelandang decnGelandangposnGelandangmarnGelandangteanGelandang nGelandangbykdatabase sort[2] - hGelandang darigelandang - Skor Gelandang = +df.formathGelandang else kategori - penyerang cursor - db.rawQuerySELECT FROM tabel_biodata where posisi=+kategori+, null if cursor=nullcursor.getCount0 nPenyerang - cursor.getCount else if cursor==null nPenyerang - 0 end if hPenyerang - drinPenyerangpasnPenyerangcronPenyerang shonPenyerangaccnPenyerangaginPenyerangstanPenyerang jumnPenyerangaggnPenyerangcomnPenyerangcrenPenyerang decnPenyerangposnPenyerangmarnPenyerangteanPenyerang nPenyerangbykdatabase Universitas Sumatera Utara sort[3] - hPenyerang daripenyerang - Skor Penyerang= +df.formathPenyerang 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 ifsort[j]==hKiper nilaikiper - kiper prioritas[j] - kiper dengan skor +df.formathKiper else if sort[j]==hBek nilaibek - bek prioritas[j] - bek dengan skor +df.formathBek else if sort[j]==hGelandang nilaigelandang - gelandang prioritas[j] - gelandang dengan skor +df.formathGelandang else nilaipenyerang - penyerang prioritas[j] - penyerang dengan skor +df.formathPenyerang end if end for Universitas Sumatera Utara 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. Universitas Sumatera Utara

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 4. Imagebutton untuk menampilkan menu About Universitas Sumatera Utara

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 Universitas Sumatera Utara

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 Universitas Sumatera Utara

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 Universitas Sumatera Utara

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 2. Textview untuk menampilkan bantuan-bantuan yang ada Universitas Sumatera Utara

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 Universitas Sumatera Utara

BAB 4 IMPLEMENTASI DAN PENGUJIAN