21
PEMBAHASAN
3.1. Analisa Kebutuhan
Untuk memperoleh kesimpulan yang lebih jelas dan spesifik sehingga dapat membantu dalam perancangan aplikasi sistem pakar maka perlu dilakukan analisis. Analisis juga dilakukan untuk mengetahui aplikasi sisem pakar yang akan dibuat dan dapat membantu dalam mengatasi terjadinya cedera pada atlit sepakbola.
A. Identifikasi Masalah
Masalah yang sering dijumpai para atlit adalah cedera pada sistem otot dan rangka tubuh yang disebabkan oleh kegiatan olahraga. Cedera Olahraga merupakan rasa sakit yang ditimbulkan karena olahraga, sehingga dapat menimbulkan cacat , luka dan rusak pada otot atau sendi serta bagian lain dari tubuh. Cedera olahraga jika tidak ditangani dengan cepat dan benar dapat mengakibatkan gangguan atau keterbatasan fisik. Bahkan bagi atlit cedera ini bisa berarti istirahat yang cukup lama dan mungkin harus meninggalkan sama sekali hobi dan profesinya. Didukung dengan semakin berkembangnya teknologi komputer serta didasari oleh minimnya pengetahuan akan cara menangani cedera, karena cedera memiliki jenis-jenis yang berbeda dan gejala kususnya memiliki perbedaan.
Umumnya orang mengunjungi ahli kesehatan untuk berkonsultasi, sekarang dengan berkembangnyateknologi, hal tersebut dapat diperoleh dari sebuah aplikasi. Sehingga orang tersebut dapat melakukan konsutasi dengan cepat
dan tidak mengganggu aktifitas lain. Dengan adanya aplikasi ini, diharapkan orang tersebut mengetahui gejala dan solusi untuk penanganannya.
B. Analisa Kebutuhan Aplikasi
Dalam pembuatannya, aplikasi yang dibangun harus dapat memenuhi kebutuhan-kebutuhan seperti berikut:
1. Pengguna dapat melihat halaman menu utama.
2. Dapat melihat informasi tentang jenis cedera, gejala yang terjadi, cara mendiagnosa, mencegah dan mengatasi cedar pada atlit sepakbola.
3. Dapat menjawab pertanyaan gejala-gejala yang terdapat pada menu diagnosa.
4. Dapat mengetahui jenis cedera.
3.2. Desain
Pada proses ini dilakukan perancangan sistem dimana desain yang dibuat harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Perancangan pada sistem ini dibuat dengan menggunakan metode UML (Unified Modelling language). Desain perancangan dalam penelitian ini menggunakan flowchart. Pada sistem pakar diagnosa cedera pada atlit sepakola terdapat satu aktor yang terlibat yaitu pengguna (user). Secara garis besar, proses-proses yang dilakukan pengguna dan sistem pakar dapat digambarkan dalam bentuk flowchart. Flowchart menunjukkan gambaran bisnis proses yang merupakan kumpulan proses yang berisi kumpulan aktivitas terstruktur dan saling berelasi satu sama lain untuk
menghasilkan keluaran bisnis proses sistem pakar diagnosa cedera pada atlit sepakbola. 1. Menu Utama
Gambar III.1. Flowchart Menu Utama
T Y Y Y T Y Mulai
1. Pengertian Sistem Pakar 2. Macam-macam Cedera 3. Info Aplikasi 4. Diagnosa Deskripsi (isi) Deskripsi (isi) Deskripsi (isi) Pertanyaan T T End
Pengertian Sistem Pakar
Macam-macam Cedera
Info Aplikasi
Flowchart menu utama menjelaskan untuk mengakses aplikasi sistem pakar
awalnya pengguna membuka aplikasi dan memilih menu diagnosa. Selanjutnya sistem akan menampilkan pilihan gejala yang telah tersimpan di
database. Kemudian pengguna dapat memilih gejala yang di alami. Selanjutnya
sistem akan memproses pilihan gejala dan menghitung persentase gejala yang mungkin diderita . Terakhir,sistem akan menampilkan hasil diagnosa yang berupa nama cedera, deskripsi cedera,dan penanganan cedera yang mungkin diderita atlit berdasarkan gejala yang telah dipilih.
2. Menu Diagnosa
Gambar III.2. Flowchart Menu Diagnosa
T Y If Solusi =0 Selesai Solusi = ID Solusi Hasil Pertanyaan Mulai Pilihan Gejala
A. Rancangan Algoritma
Naive Bayes adalah salah satu metode klasifikai. Perhitungan Bayes
dapat dilakukan dengan menggunakan langkah-langkah berikut:
1. Mencari nilai prior untuk tiap kelas dengan menghitung rata-rata tiap kelas dengan menggunakan persamaan (1) .
2. Mencari nilai likelihood untuk tiap kelas dengan menggunakan persamaan(2).
3. Mencari nilai posterior dari tiap kelas yang ada dengan menggunakan persamaan (3). 𝑃(𝐻|𝐸) = 𝑃(𝐻) × 𝑃(𝐸|𝐻).
Hasil klasifikasi kelas dengan menggunakan metode Naive Bayes dilakukan dengan aplikasi yang diawali dengan analisis kebutuhan, pengumpulan data, lalu dilanjutkan dengan perancangan dan implementasi, dilanjutkan dengan pengujian dan analisis hasil pengujian sistem. Setelah semua proses selesai dilakukan maka penelitian diakhiri dengan penarikan kesimpulan dan saran.Langkah-langkah perhitungan Naive Bayes adalah sebagai berikut:
1. Menghitung nilai prior(peluang kemunculan suatu penyakit pada data
training) berdasarkan gejala yang diperlukan.Perhitungan ini dilakukan dengan
membagi jumlah masing-masing penyakit dengan jumlah keseluruhan data yang ada pada data latih.
2. Melakukan pencarian nilai likelihood (peluang munculnya suatu gejala terhadap suatu penyakit) dari probabibilitas gejala yang mempengaruhi pada setiap penyakit. Perhitungan ini dilakukan dengan membagi jumlah gejala
yang ada pada masing-masing penyakit dengan jumlah masing-masing penyakit
3. Melakukan pencarian nilai posterior (probabilitas akhir) pada masing-masing penyakit, dengan cara mengkalikan nilai prior dengan nilai likelihood masing-masing gejala pada setiap penyakit.
Metode Naïve Bayes classifier merupakan metoda klasifikasi yang berdasar kepada teorema bayes, sebuah teorema yang terkenal di dalam bidang ilmu probabilitas. Selain itu, metode ini turut didukung oleh ilmu statistika khususnya dalam penggunaan data petunjuk untuk mendukung keputusan pengklasifikasian. Metode ini sangat luas dipakai dalam berbagai bidang, khususnya dalam proses klasifikasi dokumen. Klasifikasi ini merupakan salah satu teknik dalam data mining yang merupakan kegiatan penunjang dalam bidang sistem informasi. Seperti halnya metode-metode lain, metoda Naïve
Bayes classifier ini tidaklah 100% sempurna. Ada banyak kelebihan dan
kekurangan dari metoda ini, yang dapat menjadi dasar bahan kajian lebih lanjut untuk mendapatkan atau mengembangkan metoda klasifikasi lain, yang dapat bekerja dengan lebih efektif dan efisien, serta mengurangi jumlah titik kelemahan yang dapat disalah gunakan oleh orang lain. Certainty theory menggunakan suatu nilai yang disebut Certainty Factor (CF) untuk mengasumsikan derajat keyakinan seorang pakar terhadap suatu data . Ditunjukkan Formula Certainty Factor oleh Giarattano dan Riley, 1994 menggunakan persamaan(4).
1. CF (H,E) = Certainty Factor dari hipotesis H yang dipengaruhi oleh gejala (evidence) E. Besarnya CF berkisar antara -1 sampai 1. Nilai 1
menunjukkan kepercayaan mutlak sedangkan nilai -1 menunjukkan ketidakpercayaan mutlak.
2. MB (H,E) = ukuran kenaikan kepercayaan (measure of increased belief) terhadap hipotesis H yang dipengaruhi oleh gejala E.
3. MD (H,E) = ukuran kenaikan ketidakpercayaan (measure of increased
disbelief) terhadap hipotesis H yang dipengaruhi oleh gejala E.
Berikut adalah desain algoritma atau perhitungan menggunakan metode Naive
Buyes pada sistem pakar yang penulis buat untuk memecahkan kasus atau
menemukan hasil diagnosa penyakit. B. SQLite Database
Dalam pembuatan aplikasi ini, penulis menggunakan SQLite database untuk membantu dalam pengolahan data. Penulis menggunakan 2 tabel yaitu Gejala, Penyakit. Gejala mengenai id gejala, nama gejala, dan kode gejala. Penyakit mengenai id penyakit, nama penyakit, gejala, nilai. Berikut adalah data elemen yang digunakan dalam aplikasi ini.
1. Tabel database gejala
Tabel III.1
Tabel Gejala
Nama Field Tipe Data Keterangan
Idgejala INTEGER Primary key
Namagejala TEXT
Kodegejala TEXT
2. Tabel database penyakit
Tabel III.2 Tabel Penyakit
Nama Field Tipe Data Kerangan
Idpenyakit INTEGER Primary key
Namapenyakit TEXT
Gejala TEXT
Nilai REAL
3. Tampilan database penyakit
Tabel III.3. Tampilan Database Penyakit
5.Tampilan database gejala
Tabel III.4. Tampilan Database Gejala
ID GEJALA NAMA GEJALA
G01 NYERI
G02 MEMAR
G03 BENGKAK
G04 TERDENGAR SUARA KERAS SAAT JATUH
G05 LUTUT TIDAK STABIL
G06 BILA LUTUT DITEKUK SELALU BUNYI
G07 LUTUT TERASA TERKUNCI
KODE PENYAKIT
P1 HAMSTRING
P2 ACL
P3 MENISCUS
P4 MUSCLE STRAIN / KETEGANGAN OTOT
P5 PATTELA TENDONIS / LUTUT
PELOMPAT P6 TENDON PUTUS P7 TENDON SOBEK P8 KESELEO P9 SPORT HERNIA 10 ANKLE P11 RETAK TULANG P12 LUKA LUAR
G08 KAKU
G09 TUMPUAN SALAH
G10 TIDAK BISA BERJINGKAT
G11 PERUBAHAN WARNA KULIT
G12 SAKIT JIKA DIGERAKAN
G13 ADANYA TONJOLAN DIPAHA
G14 RASA TAK NYAMAN
G15 MATI RASA
G16 JALANNYA PINCANG
G17 TERDAPAT ROBEKAN DIKULIT
G18 MENGELUARKAN DARAH
G19 KEJANG OTOT
G20 LUKA TERBUKA
G21 TIDAK MAMPU MENEKUK
3.Tabel database penyakit dan gejala
Tabel III.5. Tampilan Database Penyakit dan Gejala
C. Software Archictecture
Berikut adalah uraian dari software architecture pseudo code algoritma naive
buyes:
1. Source Code Menu Utama Sub Process_Globals
Public DB As SQL End Sub
Mengambil data dari database
ID PENYAKIT KODE GEJALA
P1 G1G2G3 P2 G3G4G5G6 P3 G1G3G7 P4 G1G2G3G5G19 P5 G1G3G5G8 P6 G1G9G20G21 P7 G1G3G10 P8 G1G2G3G11G12 P9 G1G13G14 10 G2G3G15 P11 G1G2G3G16 P12 G3G17G18
Activity.LoadLayout("lymenuutama") 'copy db File.Copy(File.DirAssets,"Database.db", File.DirDefaultExternal,"Database.db") 'buka DB.Initialize(File.DirDefaultExternal,"Database.db",False) End Sub
Menampilkan menu utama yang tercantum di database
Sub btnTentang_Click StartActivity(mm) End Sub
Menampilkan menu tentang Sub btnPengertan_Click
pengertian.namafile="pengertian.html" StartActivity(pengertian)
End Sub
Menampilkan menu pengertian sistem pakar di web Sub btnMacam_Click
macamcedera.namafile="macampenyakit.html" StartActivity(macamcedera)
End Sub
Menampilkan menu macam-macam cedera di web Sub btnDiagnosa_Click
StartActivity(diagnosa) End Sub
2. Source Code Diagnosa
Activity.LoadLayout("lydiagnosa") 'baca data gejala penyakit
dtPenyakit=menuutama.DB.ExecQuery("SELECT idpenyakit, gejala FROM penyakit ORDER BY idpenyakit ASC")
JmlPenyakit=dtPenyakit.RowCount
dtTanya=menuutama.DB.ExecQuery("SELECT * FROM gejala ORDER BY idgejala ASC")
JmlTanya=dtTanya.RowCount End Sub
Menampilkan pilihan dari semua gejala yang sesuai dengan database
Sub btnya_Click NoJawaban=NoJawaban+1 'simpan jawban Jawaban(NoJawaban)=dtTanya.GetString("idgejala") NoJawaban=NoJawaban+1 NoUrut=NoUrut+1 bertanya End Sub Sub btntidak_Click NoJawaban=NoJawaban+1 NoUrut=NoUrut+1 bertanya End Sub
Menampilkan pilihan Ya atau Tidak pada menu diagnose
Sub btnclose_Click Activity.Finish End Sub
Sub Persiapan Dim i As Int NoUrut=0 NoJawaban=0 For i=0 To 99 Jawaban(i)="" Next bertanya End Sub
Menampilkan nomer urut dari semua gejala yang akan menjadi pertanyaan untuk mendiagnosis cedera
sub bertanya
'Dim Nomor As Int
If NoUrut<JmlTanya Then dtTanya.Position=NoUrut 'Nomor=NoUrut+1 lbtanya.Text=dtTanya.GetString("namagejala") Else HitungNaive End If End Sub
Untuk mengetahui diagnose dari gejala dan nomer urut gejala yang sesuai dengan database
Sub HitungNaive
Dim ProbPyk As Double Dim ScorePyk As Double Dim ScoreGjl As Double Dim NC As Double Dim i As Int
Dim j As Int Dim g As String Dim ada As Int Dim idpyk As String 'cek apakah ada jawabanya ada=0
3. Source Code Hasil
Activity.LoadLayout("lyhasil") End Sub
Mengaktifkan halaman design kesimpulan dihalaman menu web
Sub btnclose_Click Activity.Finish StartActivity(Main) End Sub
Kembali ke menu utama
Sub Lodingdata
Dim dtHasil As Cursor If ada=1 Then
dtHasil=Main.DB.ExecQuery("SELECT * FROM penyakit ORDER BY score DESC LIMIT 0,1")
If Jawaban(i)<>"" Then ada=1 Next
'kosongkan scroe
menuutama.DB.ExecNonQuery("UPDATE penyakit SET score=0")
If ada=1 Then
ProbPyk=1/JmlPenyakit For i=1 To JmlPenyakit ScorePyk = 1 dtPenyakit.Position=i-1 idpyk=dtPenyakit.GetString("idpenyakit") g=dtPenyakit.GetString("gejala") For j=1 To NoJawaban NC=0 If Jawaban(j)<>"" Then ada=g.IndexOf(Jawaban(j)) If ada<>-1 Then NC=1 End If
dtHasil.Position=0 lbHasil.Text="Penyakit : "& dtHasil.Getstring("namapenyakit") idpenyakit=dtHasil.GetInt("idpenyakit") btnDeskripsi.Visible=True ImageView1.Bitmap=LoadBitmap(File.DirAssets, "p" & dtHasil.GetString ("idpenyakit") & ".jpg" )
Else lbHasil.Text="Tidak Cedera" btnDeskripsi.Visible=False ImageView1.Visible=False End If End Sub
Mengambil data dari database untuk mendapatkan hasil cedera yang Terdeteksi
Sub btnDeskripsi_Click
web.filehtml="des" & idpenyakit StartActivity(web)
End Sub
Menampilkan hasil dari cedera yang sudah terdeteksi sesuai dengan data yang tersimpan
4. Source Code Web
Activity.LoadLayout("lyweb")
WebView1.LoadUrl("file:///android_asset/" & filehtml & ".html")
End Sub
Mengambil data untuk dimasukan ke HTML
5. Source Code Macam-macam Cedera Activity.LoadLayout("lymacam")
Sub Activity_Resume
WebView1.LoadUrl("file:///android_asset/" & namafile) End Sub
Menampilkan macam-macam cedera di web
D. User Interface
User Interface memiliki pengertian sebagai sebuah bentuk tampilan yang
berhubungan langsung dengan pengguna dan user interface berfungsi untuk menghubungkan antara pengguna dengan sistem operasi sehingga komputer dapat dioperasikan. Maka dapat disimpulkan bahwa pengertian User Interface merupakan serangkai tampilan grafis yang dapat dimengerti oleh pengguna komputer dan diprogram sedemikian rupa sehingga dapat terbaca oleh sistem operasi komputer dan beroperasi sebagaimana mestinya. Oleh karena itu, User
Interface yang baik mampu memberikan pengalaman interaksi yang dapat
dimengerti dengan mudah oleh penggunanya (user friendly).
Berikut adalah User Interface yang penulis buat sesaui dengan sistem pakar atau aplikasi yang dibangun :
1. Tampilan Menu Start
Pada menu ini terdapat satu button yaitu button start yang berfungsi untuk mengakses halaman berikutnya
Gambar III.3. Menu Start Button
2. Tampilan Menu Utama
Pada tampilan ini terdapat 5 button yang berfungsi sebagai button satu pengertian sistem pakar, button dua macam-macam penyakit, button tiga diagnosa, button empat info aplikasi dan button lima back.
Gambar III.4. Menu Utama 3. Tampilan Menu Diagnosa
Pada tampilan ini terdapat dua button yang berfungsi untuk mengambil jawaban YA atau TIDAK dari bebrapa gejala yang penulis buat.
Gambar III.5. Menu Diagnosa 4. Tampilan Menu Web View
Pada tampilan ini terdapat satu web view untuk menampilkan deskripsi informasi. Button Button Button Button Button Button Button Button Button Button
Gambar III.6.Menu Web View 5. Tampilan Menu Macam-macam Cedera
Pada tampilan ini terdapat satu web view yang berfungsi untuk menampilkan macam-macam cedera.
Gambar III.7. Menu Macam-macam Cedera 3.3. Testing
Teknik pengujian yang paling sesuai untuk menguji sistem pakar yakni dengan menggunakan teknik black box testing. Karena merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya. Black box
testing adalah pengujian spsifikasi fungsional dari perangkat lunak, kemudian
mendefinisikan kumpulan kondisi input dan berfokus melakukan pengetesan pada spesifikasi fungsional program (Mustaqbal et al,2015). Black box testing cenderung menemukan hal-hal berikut:
Button
a.Fungsi yang tidak benar atau tidak ada. b.Kesalahan antarmuka (interface error).
c.Kesalahan pada struktur data dan akses basis data. d.Kesalahan Performansi (performance error). e.Kesalahan inisialisasi dan terminasi.
Prosedur pengujian validasi diawali dengan mendefinisikan kebutuhan fungsional yang akan diuji. Setelah itu, hasil yang diharapkan akan dibandingkan dengan hasil yang didapatkan setelah melalui tahap-tahap pengujian yang telah ditentukan sebelumnya. Hasil pengujian terhadap kebutuhan fungsional memilih kode gejala.
Tabel III.5. Pengujian aplikasi No. Pengujian Test case Hasil yang
Diharapkan Hasil pengujian Status 1. Halaman menu utama Menggunakan tombol penyakit, diagnosa, tentang, keluar Menampilkan halaman utama Pengguna dapat melihat halaman utama OK
2. Halaman menu macam-macam cedera (Klik tombol penyakit) Menggunakan Webview, tombol kembali Menampilkan berbagai jenis cedera Pengguna dapat melihat berbagai jenis cedera OK 3. Halaman menu diagnosa (Klik tombol diagnosa) Menggunakan tombol ya, tidak Menampilkan pertanyaan dan pilihan jawaban Pengguna dapat menjawab pilihan dari pertanyaan OK 4. Halaman menu tentang ( Klik tombol tentang) Menggunakan webview dan tombol kembali Menampilkan data pribadi penulis dan melihat tujuan dari aplikasi ini Pengguna dapat mengetahui tentang aplikasi yang dibuatnya OK 3.4. Implementasi
Untuk melakukan kegiatan spesifikasi rancangan logika ke dalam kegiatan yang sebenarnya dari sistem pakar yang akan dibangun atau dikembangkan, lalu mengimplementasikan sistem yang baru tersebut kedalam
salah satu bahasa pemograman yang berbasis mobile computing. Berikut adalah tampilan output dari aplikasi sistem pakar yang penulis buat.
1.Tampilan Menu Awal
Tampilan awal pada aplikasi sistem pakar ini adalah bagian menu untuk masuk ke tampilan utama. Pada bagian ini tedapat satu button yaitu button start yang berfungsi untuk memulai ke halaman berikutnya. Contohnya adalah seperti gambar dibawah ini :
Gambar III.8. Menu awal 2.Tampilan menu utama
Pada menu diagnos ini user atau pengguna akan mendapati beberapa menu untuk dipilih. Di menu utama init terdapat lima menu yaitu menu sistem pengertian, menu macam-macam cedera, menu info aplikasi, menu diagnosa dan menu back. Contohnya adalah seperti gambar dibawah ini :
Gambar III.9. Tampilan menu utama
3.Tampilan menu diagnosa
Pada menu tampilan ini akan muncul hasil dari diagnosa yang dilakukan dengan menjawab pertanyaan pada menu diagnosa. Hasil yang keluar diputuskan dengan hasil perhitungan dengan menggunakan rumus metode naive buyes. Contohnya adalah seperti gambar dibawah ini:
4.Tampilan menu solusi
Tampilan menu ini berisi tentang deskripsi mengenai informasi cedera baik dari jenis cedera, pencegahan dan cara mengobatinya. Halaman ini diperoleh dari diagnose yang telah dilakukan sebelumnya. Contohnya pada gambar dibawah ini:
Gambar III.11. Menu Solusi 5. Tampilan menu macam-macam cedera
Pada menu ini menampilkan informasi deskripsi tentang semua cedera yang penulis bahas. Cedera tersebut diantaranya cedera hamstring, cedera ACL, Maniscus, cedera Muscles Strain, cedera patella tendonitis, tendon putus, tendon sobek, keseleo, sport hernia, cedera ankle, retak tulang, luka luar. Menu ini berisi tentang penjelasan macam-macam cedera baik dari cara penangannya sampai cara pengobatanya. Contohnya pada gambar dibawah ini:
Gambar III.12. Macam-macam Cedera
3.5. Support
Support atau sistem komputer adalah seperangkat unsur-unsur yang
membentuk suatu kesatuan yang terdiri dari software (perangkar lunak),
hardware(perngkat keras),dan brainware(penggunanya).
1.Perangkat Keras
Perangkat keras (hardware) adalah seluruh komponen yang membentuk suatu komputer dan peralatan lainya yang memnungkinkan komputer dapat melaksanakan tugasnya secara fisik dan dapat dilihat secara jelas dan nyata. Perangkat keras merupakan fisik untuk menghasilkan program dan keluaran brupa data yang digunakan adalah PC kompetibel. Adapun konfigurasi yang dibutuhkan adalah sebuah personal komputer atau yang kompetibel dengan karakteristik sebagai berikut:
a.Prosesor : AMD E1-6010(10W) 1.35 GHz b.RAM : DDR3L 2 GB.
c.Hard Disk : HDD 500 GB.
d.Ukuran layar : 14 inci (1366 x 768 piksel), LED Backlight
e.Port : USB 3.0, USB 2.0, HDMI, VGA, D-Sub, MMC dan SD Card, RJ-45, Card Reader.
f.Baterai : 2-cell.
g.Konektivitas : WiFi, Bluetooth. 2.Perangkat Lunak
Perangkat lunak atau software adalah serangkaian unsur-unsur yang terdiri dari beberapa perangkat lunak komputer yang digunakan untuk membantu proses kerja manusia. Atau dengan kata lain perangkat lunak atau software adalah program yang dibutuhkan untuk pengolahan data. Perangkat lunak yang mendukung berjalannya program komputer serta perangkat lunak yang pnulis gunakan dalam pembuatan program Tugas Akhir ini adalah sebagai berikut:
a.Sistem Operasi : windows 10.
b.Paket Program : B4a (basic 4 android). c.Paket Pendukung : Paint.
3.Pengguna (brainware)