Anda di halaman 1dari 68

KLASIFIKASI KANKER KULIT MELANOMA

MENGGUNAKAN SUPPORT VECTOR MACHINE


(SVM)

LAPORAN SKRIPSI

JACK MARTIN REINALDO 4616010014

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER
POLITEKNIK NEGERI JAKARTA
2020
KLASIFIKASI KANKER KULIT MELANOMA
MENGGUNAKAN SUPPORT VECTOR MACHINE
(SVM)

LAPORAN SKRIPSI

Dibuat untuk Melengkapi Syarat-Syarat yang Diperlukan untuk


Memperoleh Diploma Empat Politeknik

Jack Martin Reinaldo


4616010014

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER
POLITEKNIK NEGERI JAKARTA
2020
HALAMAN PERNYATAAN ORISINALITAS

Skripsi ini adalah hasil karya saya sendiri, dan semua sumber baik yang dikutip
maupun dirujuk telah saya nyatakan dengan benar.

Nama : Jack Martin Reinaldo


NPM : 4615010014
Tanggal : 03 September 2020
Tanda Tangan :

ii
LEMBAR PENGESAHAN

Skripsi diajukan oleh:


Nama : Jack Martin Reinaldo
NIM : 4615010014
Program Studi : Teknik Informatika
Judul Skripsi : Klasifikasi Kanker Kulit Melanoma Menggunakan
Support Vector Machine (SVM)

Telah diuji oleh tim penguji dalam Sidang Skripsi pada Hari Selasa, Tanggal 4,
Bulan Agustus, Tahun 2020 dan dinyatakan LULUS.

Disahkan oleh:
Pembimbing : Iklima Ermis Ismail, S.Kom., M.Kom. ( )

Penguji I : Euis Oktavianti, S.Si., M.Ti. ( )

Penguji II : Mauldy Laya, S.Kom., M.Kom. ( )

Penguji III : Noorlela Marcheta, S.Kom., M.Kom. ( )

iii
KATA PENGANTAR

Puji Syukur saya panjatkan kepada Tuhan Yang Maha Esa, karena atas berkat dan
rahmatNya, penulis dapat menyelesaikan laporan skripsi ini. Penulisan laporan
skripsi ini dilakukan dalam rangka memenuhi salah satu syarat untuk mencapai
gelar Sarjana Terapan Politeknik. Penulis menyadari bahwa, tanpa bantuan dan
bimbingan dari berbagai pihak, dari masa perkuliahan sampai pada penyusunan
Laporan Skripsi, sangatlah sulit bagi penulis untuk menyelesaikan Laporan Skripsi.
Oleh karena itu, penulis mengucapkan terima kasih kepada:
a. Tuhan Yang Maha Esa, yang telah memberikan penulis kesehatan dan akal sehat
sehingga laporan ini dapat terselesaikan dengan baik.
b. Ibu Iklima Ermis Ismail, S.Kom., M.Kom. selaku dosen pembimbing yang telah
menyediakan waktu, tenaga, dan pikiran untuk mengarahkan penulis dalam
penyusunan Laporan Skripsi ini;
c. Orang tua dan keluarga penulis yang telah memberikan bantuan dukungan moral
dan material.
d. Graceilla Flower Alfa Andia yang telah banyak memberikan bantuan dukungan
secara moral.
e. Vidy Ayuningtyas yang telah banyak membantu dalam menyelesaikan skripsi
ini.
f. Sahabat yang telah banyak membantu penulis dalam menyelesaikan laporan
skripsi ini.

Akhir kata, penulis berharap Tuhan Yang Maha Esa berkenan membalas segala
kebaikan semua pihak yang telah membantu. Semoga Laporan Skripsi ini
membawa manfaat bagi pengembangan ilmu.

Depok, 03 September 2020

Jack Martin Reinaldo

iv
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI
UNTUK KEPENTINGAN AKADEMIS

Sebagai sivitas akademik Politeknik Negeri Jakarta, saya yang bertanda tangan
di bawah ini:

Nama : Jack Martin Reinaldo

NIM : 4615010014

Program Studi : Teknik Informatika

Jurusan : Teknik Informatika dan Komputer

Jenis Karya : Skripsi

demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada


Politeknik Negeri Jakarta Hak Bebas Royalti Noneksklusif (Non-exclusive
Royalty- Free Right) atas karya ilmiah saya yang berjudul:

KLASIFIKASI KANKER KULIT MELANOMA MENGGUNAKAN SUPPORT


VECTOR MACHINE (SVM)

beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti
Noneksklusif ini Politeknik Negeri Jakarta berhak menyimpan, mengalih
media/format-kan, mengelola dalam bentuk pangkalan data (database), merawat,
dan memublikasikan skripsi saya selama tetap mencantumkan nama saya sebagai
penulis/pencipta dan sebagai pemilik Hak Cipta.

Demikian pernyataan ini saya buat dengan sebenarnya

Dibuat di : Depok. Pada tanggal : 03 September 2020

Yang menyatakan

( Jack Martin Reinaldo )

v
Klasifikasi Kanker Kulit Melanoma Menggunakan Support Vector System (SVM)

Abstrak

Penyakit kanker adalah salah satu penyakit utama yang dapat menyebabkan kematian di
dunia. Kanker kulit melanoma merupakan jenis kanker kulit yang paling mematikan.
Melanoma dimulai di sel-sel kulit dan bisa menyebar ke organ lain dalam tubuh melalui
darah. Beberapa penelitian yang telah ada menunjukkan bahwa diagnosis dini melanoma
lebih dari 90% dapat disembuhkan dan jika terlambat mendiagnosis melanoma
menunjukkan kurang dari 50% dapat disembuhkan. Apabila melanoma tidak terdiagnosis
sejak tahap awal, maka akan menyebabkan kematian pada penderita (Wahaninggar & S,
2016). Karena itu pada penelitian ini telah dilakukan klasifikasi citra kanker kulit
melanoma dengan menggunakan metode Support Vector Machine (SVM). Adapun tahapan
dari proses klasifikasi citra kanker kulit melanoma pada penelitian ini meliputi proses
prapemrosesan, ekstraksi fitur dengan Histogram Of Oriented Gradients (HOG) serta
klasifikasi citra dengan SVM. Dengan menggunakan dataset 600 citra melanoma dan 600
citra bukan melanoma. Hasil pengujian menunjukkan bahwa sistem dapat mengenali citra
melanoma dengan tingkat akurasi sebesar 88%.

Kata Kunci: kanker kulit, melanoma, Histogram Of Oriented Gradients (HOG), Support
Vector Machine (SVM)

vi
DAFTAR ISI

HALAMAN PERNYATAAN ORISINALITAS ................................................ ii


LEMBAR PENGESAHAN ................................................................................. iii
KATA PENGANTAR .......................................................................................... iv
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI
UNTUK KEPENTINGAN AKADEMIS ............................................................ v
Abstrak ................................................................................................................... vi
DAFTAR ISI ........................................................................................................ vii
DAFTAR TABEL ................................................................................................ ix
DAFTAR GAMBAR ............................................................................................. x
BAB I ...................................................................................................................... 1
PENDAHULUAN .................................................................................................. 1
1.1 Latar Belakang Masalah .................................................................................... 1
1.2 Perumusan Masalah ..................................................................................... 2
1.3 Batasan Masalah........................................................................................... 2
1.4 Tujuan dan Manfaat ..................................................................................... 3
1.5 Metode Pemecahan Masalah ........................................................................ 3
1.5.1 Identifikasi Masalah .......................................................................... 3
1.5.2 Metode Pengumpulan Data ............................................................... 3
1.5.3 Analisis dan Perancangan ................................................................. 4
1.5.4 Implementasi ..................................................................................... 4
1.5.5 Pengujian ........................................................................................... 4
1.5.6 Kesimpulan ....................................................................................... 4
BAB II .................................................................................................................... 5
2.1. Penelitian terdahulu ...................................................................................... 5
2.2. Kanker Kulit ................................................................................................. 7
2.3. Pengolahan Citra .......................................................................................... 7
2.4. Histogram of Oriented Gradients (HOG) ..................................................... 7
2.5. Support Vector Machine (SVM) .................................................................. 9
2.6. CRISP – DM (Cross Industry Standard Process for Data Mining) ............ 13
2.6.1 Business Understanding .................................................................. 14
2.6.2 Data Understanding ........................................................................ 14
2.6.3 Data Preparation ............................................................................ 14
2.6.4 Modelling ........................................................................................ 15
2.6.5 Evaluation ....................................................................................... 16

vii
2.6.6 Deployment ..................................................................................... 17
2.7. Python ........................................................................................................ 17
2.8. Django ........................................................................................................ 18
2.9. Unified Modelling Language (UML) ......................................................... 18
2.10. Activity Diagram .................................................................................... 20
2.11. Pemrograman Website ........................................................................... 21
2.12. Waterfall Model ..................................................................................... 21
BAB III ................................................................................................................. 23
3.1 Perancangan Program Aplikasi .................................................................. 23
3.1.1 Deskripsi Program Aplikasi ............................................................ 23
3.1.2 Cara Kerja Program Aplikasi .......................................................... 23
3.1.3 Analisis Kebutuhan ......................................................................... 25
3.1.4 Rancangan Program Aplikasi .......................................................... 26
3.2 Realisasi Program Aplikasi ........................................................................ 28
3.2.1 Desain Sistem .................................................................................. 28
3.2.2 Implementasi Sistem ....................................................................... 28
BAB IV ................................................................................................................. 41
4.1 Pengujian Sistem ........................................................................................ 41
4.2 Deskripsi Pengujian ................................................................................... 41
4.3 Prosedur Pengujian .................................................................................... 41
4.4 Data Hasil Pengujian .................................................................................. 42
4.5 Analisis Data / Evaluasi Pengujian ............................................................ 52
BAB V................................................................................................................... 54
5.1 Simpulan .................................................................................................... 54
5.2 Saran ........................................................................................................... 54
DAFTAR PUSTAKA .......................................................................................... 55

viii
DAFTAR TABEL

Tabel 1 Simbol Use Case Diagram ....................................................................... 19


Tabel 2 Simbol Activity Diagram ......................................................................... 20
Tabel 3 Confusion Matriks 90:10.......................................................................... 37
Tabel 4 Hasil Unit Testing .................................................................................... 42
Tabel 5 Confusion Matriks 90:10.......................................................................... 43
Tabel 6 Confusion Matriks 80:20.......................................................................... 44
Tabel 7 Confusion Matriks 70:30.......................................................................... 45
Tabel 8 Confusion Matriks 60:40.......................................................................... 46
Tabel 9 Confusion Matriks 50:50.......................................................................... 47
Tabel 10 Perbandingan Hasil Split Data dari 90:10 sampai 50:50 ....................... 47
Tabel 11 Hasil Pengujian Menggunakan Data Testing Yang Berasal Dari Kelas
Melanoma.............................................................................................................. 48
Tabel 12 Hasil Pengujian Menggunakan Data Testing Yang Berasal Dari Kelas
Non Melanoma ...................................................................................................... 50

ix
DAFTAR GAMBAR

Gambar 2. 1 Algoritma Histogram of Oriented Gradients ..................................... 8


Gambar 2. 2 SVM Berusaha Mencari Hyperplane Terbaik .................................. 10
Gambar 2. 3 Memperbesar margin dapat meningkatkan probabilitas
pengelompokkan suatu data secara benar ............................................................. 10
Gambar 2. 4 Metode Crisp-DM ............................................................................ 13
Gambar 3.1 Flowchart Aplikasi Melanoma.......................................................... 24
Gambar 3.2 Diagram Alir Proses .......................................................................... 25
Gambar 3.3 Use Case Diagram Aplikasi Melanoma ............................................ 26
Gambar 3.4 Activity Diagram Melihat Hasil Identifikasi...................................... 27
Gambar 3.5 Mockup Halaman Utama ................................................................... 28
Gambar 3.6 Fungsi Listing .................................................................................... 29
Gambar 3.7 Code Proses Pemisahan Kedua Kelas ............................................... 30
Gambar 3.8 Code Proses Penambahan Kolom dan Cleaning Data Nama File
Gambar .................................................................................................................. 30
Gambar 3.9 Code Fungsi Penggabungan .............................................................. 31
Gambar 3.10 Code Penyimpanan dataset dalam bentuk csv................................. 31
Gambar 3.11 Code Fungsi Pembuatan Awal Model............................................. 32
Gambar 3.12 Code Fungsi Untuk Merubah ke Dalam Bentuk Grayscale ............ 32
Gambar 3.13 Gambar yang Sudah di Grayscale ................................................... 33
Gambar 3.14 Code Proses Metode HOG .............................................................. 33
Gambar 3.15 Code Proses Flattening ................................................................... 34
Gambar 3.16 Code Fungsi Pembentukan Matriks Fitur........................................ 34
Gambar 3.17 Code Proses Inisialisasi PCA (Principal Component Analysis) ..... 35
Gambar 3.18 Code Proses Penyimpanan PCA dan Standart Scaler ..................... 35
Gambar 3.19 Code Proses Training Data ............................................................. 36
Gambar 3.20 Code Proses Pembuatan Metode SVM ........................................... 36
Gambar 3.21 Implementasi Tampilan Halaman Utama........................................ 38
Gambar 3.22 Code Tampilan Halaman Utama ..................................................... 38
Gambar 3.23 Code Proses Get Gambar ................................................................ 39
Gambar 3.24 Code Fungsi Mengubah Gambar Menjadi Array ............................ 39
Gambar 3.25 Code Fungsi Flattening Gambar ..................................................... 40

x
Gambar 3.26 Code Fungsi Prediksi ...................................................................... 40
Gambar 3.27 Code Pemanggilan Hasil Pada Front end ....................................... 40

xi
BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Penyakit kanker adalah salah satu penyakit utama yang dapat menyebabkan
kematian di dunia. Jumlah penderita dan meninggal karena kanker meningkat tajam
dalam enam tahun terakhir. Data tersebut dikeluarkan oleh WHO. Menurut World
Health Organization, pada 2018 ini sekitar 9,6 juta orang meninggal dunia karena
kanker (Tuwo, 2018). Di Indonesia, kanker kulit menempati urutan ketiga setelah
kanker rahim dan kanker payudara. Kanker kulit dijumpai 5,9 – 7,8 % dari semua
jenis kanker pertahun. Kanker kulit melanoma merupakan jenis kanker kulit yang
paling mematikan. Melanoma dimulai di sel-sel kulit dan bisa menyebar ke organ
lain dalam tubuh melalui darah. Kemunculan tahi lalat baru atau perubahan pada
tahi lalat yang sudah ada merupakan pertanda umum gejala melanoma (Wilvestra,
Lestari, & Asri, 2018).

Meskipun melanoma hanya mencakup 10% dari semua kasus kanker kulit yang
ditemui, penyakit ini merupakan bentuk kanker kulit yang paling berbahaya dan
bertanggung jawab atas sebagian besar kematian akibat kanker kulit. Sel melanoma
bisa berkembang cepat dan menyebar ke bagian tubuh lainnya seperti paru-paru,
hati atau otak, bahkan pada stadium awal sekalipun (Putri, et al., 2018). Penyebab
utama melanoma karena kulit sering terkena sinar ultraviolet. Umumnya dokter
menggunakan metode biopsi untuk mendiagnosis melanoma. Metode biopsi adalah
pengambilan potongan kecil jaringan tubuh untuk sampel diagnosis. Dengan cara
memotong atau menggores sepotong kecil jaringan atau dengan menggunakan
jarum suntik untuk mengambil sampel, kemudian sampel diuji oleh beberapa dokter
terlatih untuk didiagnosis. Proses biopsi ini menyakitkan dan membutuhkan waktu
yang cukup lama.

Beberapa penelitian yang telah ada menunjukkan bahwa diagnosis dini melanoma
lebih dari 90% dapat disembuhkan dan jika terlambat mendiagnosis melanoma
menunjukkan kurang dari 50% dapat disembuhkan.

1
2

Apabila melanoma tidak terdiagnosis sejak tahap awal, maka akan menyebabkan
kematian pada penderita. Hal ini menyebabkan deteksi kanker kulit dari tahap awal
merupakan hal yang tak terelakkan (Wahaninggar & S, 2016).

Penelitian sejenis yang dilakukan oleh Savera, dkk (2020) mengenai deteksi kanker
kulit dengan menggunakan metode K-NN dan Convolutional Neural Network
(CNN), dalam penelitian ini CNN memiliki akurasi 76% lebih tinggi dibanding K-
NN 75%. Selain itu, ada penelitian sejenis lain yang dilakukan oleh Wahaninggar,
dkk (2016) mengenai klasifikasi kanker kulit melanoma menggunakan metode
Support Vector Machine (SVM), dalam penelitian ini SVM memiliki akurasi yang
cukup tinggi sebesar 85%.

Berdasarkan permasalahan yang telah diuraikan diatas, maka akan dilakukan


perancangan sistem klasifikasi kanker kulit melanoma menggunakan metode
Support Vector Machine (SVM). Dengan adanya aplikasi ini diharapkan dapat
membantu untuk mengklasifikasikan sebuah citra yang nantinya termasuk ke dalam
kanker kulit melanoma atau bukan.

1.2 Perumusan Masalah

Berdasarkan pemaparan latar belakang diatas, maka dapat dirumuskan masalah:


“Bagaimana mengklasifikasikan citra digital kanker kulit melanoma dengan
menggunakan metode Support Vector Machine (SVM).”

1.3 Batasan Masalah

Batasan masalah dalam penelitian ini adalah sebagai berikut:


a. Bahasa Pemrograman yang digunakan adalah bahasa Python.
b. Aplikasi dibangun menggunakan Framework Django.
c. Data yang didapatkan berasal dari website kaggle.com berupa gambar.
d. Jumlah data training yang digunakan sebanyak 1.200 citra, dengan pembagian
data melanoma sebanyak 600 citra dan bukan melanoma sebanyak 600 citra.
e. File yang dimasukkan harus berformat .jpg atau .jpeg.
3

1.4 Tujuan dan Manfaat

Tujuan dari pembuatan sistem ini adalah mengolah citra digital menggunakan
metode Support Vector Machine (SVM).
Manfaat yang dapat diperoleh dari pembuatan website melanoma adalah untuk
membantu mempermudah klasifikasi penyakit kulit khususnya melanoma atau
bukan.

1.5 Metode Pemecahan Masalah

Penelitian ini dilakukan dalam beberapa tahap, antara lain:

1.5.1 Identifikasi Masalah

Tahap ini dilakukan untuk memahami masalah yang terjadi, yaitu dengan cara
melakukan observasi melalui penelitian – penelitian yang terkait tentang kanker
kulit dan teknologinya. Sehingga mencetuskan permasalahan berdasarkan
penelitian terbaru maupun pengamatan keadaan sekarang.

1.5.2 Metode Pengumpulan Data

Adapun pengumpulan data yang digunakan dalam penelitian ini adalah sebagai
berikut:
1. Studi Literatur

Studi literatur dapat dilakukan dengan mencari sumber pustaka yang relevan
dengan masalah yang di angkat baik melalui buku, jurnal, maupun teori lainnya.
Pada penelitian ini, kasus yang akan diangkat mengenai klasifikasi, metode SVM,
dan pemograman Python.

2. Analisis Permasalahan

Pada tahap ini dilakukan analisis terhadap studi literatur yang sebelumnya telah
dikumpulkan untuk memperoleh pemahaman yaitu bagaimana menerapkan
algoritma SVM dalam menyelesaikan masalah klasifikasi.
4

1.5.3 Analisis dan Perancangan

Setelah dilakukan pencarian bahan pustaka, kemudian dilakukan analisis kebutuhan


fungsional dari sistem dengan cara mendefinisikan spesifikasi kebutuhan pada
sistem klasifikasi dan menentukan batasan sistem tersebut. Kemudian dilakukan
perancangan arsitektur sistem untuk menggambarkan alur sistem secara
keseluruhan. Adapun hasil yang dirancang berupa mockup sistem dan diagram
Unified Modeling Language (UML).

1.5.4 Implementasi

Tahap ini merupakan proses pengembangan sistem klasifikasi yang meliputi tahap
pencarian data – data terkait. Selanjutnya data di seleksi sebelum melanjutkan ke
tahap training. Proses training dilakukan untuk mendapatkan model dengan
tahapan preprocessing, ekstraksi fitur, serta implementasi algoritma SVM ke dalam
sistem klasifikasi. Sistem yang dibangun berupa web-based application dengan
bahasa pemograman Python dan framework Django.

1.5.5 Pengujian

Pada tahap ini akan dilakukan pengujian terhadap sistem yang telah dikembangkan
sebelumya. Hal ini bertujuan untuk mengevaluasi apakah sistem dapat
mengklasifikasikan dengan benar. Selain itu, juga memastikan apakah sistem sesuai
dengan kebutuhan yang telah didefinisikan sebelumnya.

1.5.6 Kesimpulan

Merupakan hasil akhir yang diperoleh selama penelitian berlangsung. Pengambilan


kesimpulan didasarkan pada hasil analisis dan pengolahan data yang bertujuan
untuk menjawab tujuan penelitian maupun memberikan gambaran penelitian yang
ringkas dan mudah dipahami. Pada tahap ini juga terdapat masukan untuk penelitian
selanjutnya.
BAB II
TINJAUAN PUSTAKA

2.1. Penelitian terdahulu


Penelitian terdahulu menjadi salah satu acuan dalam melakukan penelitian,
sehingga dapat menambah teori yang digunakan dan melengkapi hasil penelitian
sebelumnya dalam mengkaji penelitian yang dilakukan. Topik penelitian terdahulu
yang menjadi fokus adalah Deteksi kanker kulit melanoma menggunakan metode
HOG untuk ekstraksi ciri dan SVM untuk klasifikator. Berikut merupakan
ringkasan dari penelitian terdahulu:
1) Penelitian berjudul “IMPLEMENTASI METODE KLASIFIKASI
SUPPORT VECTOR MACHINE (SVM) TERHADAP PEMAKAIAN
MINYAK GORENG” oleh Muhammad Yusuf Ramadan, Dahnial Syauqy,
Tibyani (2019) menjelaskan mengenai pengimplementasian metode
klasifikasi metode svm terhadap pemakaian minyak goreng yang secara
berulang. Pada penelitian ini, parameter yang digunakan adalah warna dan
tingkat kekeruhan minyak goreng. Penentuan klasifikasi minyak goreng
berdasarkan warna dan tingkat kekeruhan minyak goreng diperoleh dari
hasil pembacaan ADC sensor warna TCS3200 dan resistensi sensor
photodiode oleh mikrokontroler Arduino uno dengan menggunakan metode
Support Vector Machine. Persentase error pembacaan sensor warna
TCS3200 adalah sebesar 3,31% dan sensor photodiode dapat bekerja
dengan baik. Terlihat apabila minyak goreng keadaannya semakin keruh,
maka nilai dari sensor photodiode semakin besar. Pada pengujian sistem
menggunakan metode Support Vector Machine dengan jumlah data latih
sebanyak 60 data dan data uji sebanyak 13 data, diperoleh akurasi sebesar
85% dengan waktu komputasi sistem rata-rata selama 4384,53 ms.
2) Penilitian berjudul “DETEKSI DINI KANKER KULIT
MENGGUNAKAN K-NN DAN CONVOLUTIONAL NEURAL
NETWORK” oleh Teresia R. Savera, Winsya H. Suryawan, Agung W.
Setiawan (2020) menjelaskan mengenai pengklasifikasian sebuah citra
untuk mendeteksi dini suatu kanker kulit. Pada penelitian ini terdapat dua
metode yang digunakan untuk melakukan deteksi dini kanker kulit yaitu

5
6

deteksi dengan klasifikasi secara regresi dan artificial neural network


dengan arsitektur convolutional neural network. Akurasi yang diperoleh
dengan menggunakan klasifikasi secara regresi adalah sebesar 75%.
Sementara, akurasi deteksi yang didapatkan dengan menggunakan
convolutional neural network adalah sebesar 76%.
3) Penelitian bejudul “FACE DETECTION SYSTEM MENGGUNAKAN
METODE HISTOGRAM OF ORIENTED GRADIENTS (HOG) DAN
SUPPORT VECTOR MACHINE (SVM)” oleh Miftahul Bagus Pranoto,
Kurniawan Nur Ramadhani,S.T.,M.T., Anditya Arifianto,S.T.,M.T. (2017)
menjelaskan mengenai pengembangan face detection untuk security system
yang membuat proses autentifikasi. Pada Penelitian ini metode yang
digunakan untuk melakukan face detection yaitu dengan Histogram of
Oriented Gradients (HOG) sebagai ekstraksi cirinya dan Support Vector
Machine (SVM) sebagai klasifikatornya. Dataset yang digunakan sebanyak
644 citra positif dan 2.572 citra negatif untuk proses training, 110 citra
positif untuk proses testing, dan 10 citra untuk proses deteksi. Sistem
dibangun menggunakan HOG dengan block yang terdiri dari 2x2 cell
dimana satu cell terdiri dari 8x8 pixel dan menggunakan kernel linear dalam
Support Vector Machine. Sistem ini menghasilkan nilai f-1 score sebesar
71,42%.
4) Penelitian berjudul “DETEKSI KANKER KULIT MELANOMA
DENGAN LINEAR DISCRIMINANT ANALYSIS-FUZZY K-NEAREST
NEIGBHOUR LP-NORM” oleh Mustika Mentari, Yuita Arum Sari, Ratih
Kartika Dewi (2016) menjelaskan mengenai deteksi kanker kulit melanoma
dengan mengintegrasikan metode fuzzy K-Nearest Neighbour (FuzzykNN),
Lp-norm dan Linear Discriminant Analysis (LDA) untuk mengurangi
outlier dan overfitting. Akurasi yang dihasilkan metode LDA-fuzzykNN Lp
Norm, yaitu 72% saat masing-masing nilai p dan k = 25. Metode gabungan
ini terbukti cukup baik dari pada metode yang dijalankan terpisah.
7

2.2. Kanker Kulit


Kanker kulit adalah benjolan atau pertumbuhan yang berlebihan jaringan kulit yang
mengenai sebagian atau seluruh lapisan kulit, yang memiliki struktur tidak teratur
dengan diferensiasi sel dalam berbagai tingkatan pada kromatin, nukleus dan
sitoplasma, bersifat ekspansif, infiltratif hingga merusak jaringan sekitarnya, serta
bermetastasis melalui pembuluh darah dan atau pembuluh getah bening. Kanker
kulit dapat diklasifikasikan dalam tiga tipe terbanyak yaitu karsinoma sel basal,
karsinoma sel skuamosa, dan melanoma maligna (Wilvestra, et al., 2018).
2.2.1 Melanoma
Melanoma adalah bentuk kanker kulit yang dimulai pada sel-sel yang menghasilkan
melanin, pigmen yang memberi warna pada kulit dan rambut. Walaupun
didefinisikan sebagai jenis kanker kulit yang paling serius, melanoma mudah
disembuhkan ketika terdeteksi dini, memiliki tingkat kelangsungan hidup 5 tahun
hingga 99%. Jika tidak diobati, kanker dapat menyebar ke kelenjar getah bening
dan organ di dekatnya (Surgery, 2016).

2.3. Pengolahan Citra


Pengolahan citra adalah suatu metode yang digunakan untuk memroses citra dalam
bentuk dua dimensi. Segala operasi untuk memperbaiki, menganalisa, atau
melakukan transformasi suatu citra menjadi citra lain dengan menggunakan teknik
tertentu disebut pemrosesan citra (image processing). Pemrosesan citra telah
diaplikasikan dalam berbagai bentuk, dengan tingkat kesuksesan yang cukup besar.
Konsep-konsep pemrosesan citra dalam tugas akhir ini meliputi pra-pemrosesan,
segmentasi, ekstraksi fitur, dan klasifikasi (Wahaninggar & S, 2016).

2.4. Histogram of Oriented Gradients (HOG)


Dari berbagai penelitian menunjukkan bahwa metode HOG cocok dijadikan
deskriptor untuk pencarian gambar berbasis sketsa. Metode HOG banyak
digunakan pada computer vision. HOG adalah deskriptor berbasis window yang
mendeteksi pada titik interest. Metode ini menghitung nilai gradien dalam daerah
tertentu pada suatu citra. Setiap citra memiliki karakteristik yang ditunjukkan oleh
distribusi gradien yang diperoleh dengan membagi citra ke dalam daerah kecil yang
8

disebut cell. Tiap cell disusun dari sebuah histogram dari sebuah gradien.
Kombinasi dari histogram ini dijadikan sebagai deskriptor yang mewakili sebuah
obyek. Diagram alir algoritma HOG dapat dilihat pada Gambar 1.

Gambar 2. 1 Algoritma Histogram of Oriented Gradients

Dari Gambar 2.1, tahap awal dari metode HOG adalah menghitung nilai gradien
citra dihitung menggunakan.

|G| = √𝐼𝑥2 + 𝐼𝑦2

Dimana I adalah citra graylevel. 𝐼𝑥 merupakan matrik terhadap sumbu-x dan 𝐼𝑦


merupakan matrik terhadap sumbu-y. 𝐼𝑥 dan 𝐼𝑦 dapat dihitung dengan

𝐼𝑥 = 𝐼 ∗ 𝐷𝑥 , 𝐼𝑦 = 𝐼 ∗ 𝐷𝑦

[−1]
𝐷𝑥 adalah mask [-1 0 1], sedangkan 𝐷𝑦 adalah mask [0 ]
[1]

masing-masing dihitung dengan cara konvolusi. Kemudian gradien ditransformasi


ke dalam kordinat sumbu dengan sudut diantara 0° sampai 180° yang disebut
orientasi gradien. Orientasi gradien (θ) dapat dihitung dengan

𝐼𝑥
θ = arctan( )
𝐼𝑦
9

Tahap selanjutnya adalah melakukan perhitungan histogram dari orientasi gradien


tiap cell. Setiap piksel dalam sebuah cell mempunyai nilai histogram sendiri-sendiri
berdasarkan nilai yang dihasilkan dalam perhitungan gradien yang kemudian
dilakukan normalisasi pada setiap blok. Cell memiliki ukuran 8x8 piksel pada
sebuah citra. Sedangkan blok memiliki ukuran 2x2 cell.

Nilai normalisasi fitur blok didapat dari rumus dibawah ini. Fitur blok dinormalisasi
untuk mengurangi efek perubahan kecerahan obyek pada satu blok. Variabel b
merupakan nilai blok fitur dan variabel e merupakan bilangan positif yang bernilai
kecil untuk mencegah pembagian dengan 0.

𝑏
b=
√𝑏 2 + 𝑒

Nilai normalisasi tiap blok digabungkan menjadi satu vektor menjadi fitur vektor
HOG. Kemudian fitur vektor HOG dilakukan normalisasi. Normalisasi dilakukan
melalui rumus dibawah ini. Variabel h merupakan nilai fitur HOG dan variabel e
merupakan bilangan positif yang bernilai kecil untuk mencegah pembagian dengan
0 (Randa, et al., 2016).

h=
√||ℎ||2 + 𝑒

2.5. Support Vector Machine (SVM)


Klasifikasi merupakan proses pengelompokan suatu data berdasarkan ciri-ciri
tertentu. Dalam tugas akhir ini metode yang digunakan untuk mengklasifikasi citra
adalah Support Vector Machine (SVM).
Support Vector Machine (SVM) merupakan sebuah metode klasifikasi linier
dengan feature set yang telah ditentukan sebelumnya. Metode SVM akan mencari
sebuah hyperplane linier dengan margin terbesar untuk memisahkan kelas yang
ada. Margin terbesar, yang kemudian disebut sebagai Maximum Marginal
Hyperplane (MMH) tersebut akan memberikan jarak terbesar antar kelas. Jarak
antara hyperplane dengan sebuah sisi dari margin tersebut sama dengan jarak antara
hyperplane dengan margin pada sisi lainnya.
10

Gambar 2. 2 SVM Berusaha Mencari Hyperplane Terbaik

Gambar 2.2 memperlihatkan bagaimana SVM bekerja untuk menemukan suatu


hyperplane / fungsi pemisah dengan margin yang maksimal. Tujuannya untuk
membuktikan bahwa memaksimalkan margin antara dua set objek akan
meningkatkan probabilitas pengelompokkan secara benar dari data testing. Pada
dasarnya jumlah fungsi pemisah ini tidak terbatas banyaknya. Misalkan dari jumlah
yang tidak terbatas ini diambil dua fungsi, yaitu 𝑓1 (𝑥) dan 𝑓2 (𝑥) (Gambar 2.3).
Fungsi 𝑓1 Mempunyai margin yang lebih besar dari pada fungsi 𝑓2 . Setelah
menemukan dua fungsi ini, sekarang suatu data baru masuk dengan keluaran −1.
Langkah selanjutnya adalah mengelompokkan apakah data ini ada dalam kelas −1
atau +1 menggunakan fungsi pemisah yang sudah ditemukan. Dengan
menggunakan 𝑓1 , akan dikelompokkan data baru ini di kelas −1 yang berarti fungsi
yang dipilih benar mengelompokkannya. Sekarang jika menggunakan 𝑓2 , data baru
akan ditempatkan di kelas +1 yang berarti pengelompokkan yang dilakukan salah.
Dari contoh sederhana ini dapat diketahui bahwa memperbesar margin bisa
meningkatkan probabilitas pengelompokkan suatu data secara benar.

Gambar 2. 3 Memperbesar margin dapat meningkatkan probabilitas pengelompokkan suatu data


secara benar
11

Dalam kasus real, biasanya data yang ada bersifat non linearly separable data.
Sehingga perlu dilakukan perubahan pada metode SVM yag biasa. Metode ini
mentransformasikan data ke dalam dimensi ruang fitur (feature space) sehingga
dapat diipisahkan secara linear pada feature space. Feature space dalam prakteknya
biasanya berdimensi lebih tinggi dari vektor input (input space). Hal ini
mengakibatkan komputasi pada feature space mungkin akan sangat besar, karena
ada kemungkinan feature space dapat memiliki jumlah fitur yang tidak terhingga.
Selain itu sulit untuk mengetahui fungsi tranformasi yang tepat. Untuk mengatasi
masalah ini, pada SVM digunakan “kernel trick”. Untuk menyelesaikan masalah
pada non linearly separable data harus melakukan modifikasi pada beberapa fungsi
yang ada.
Pada mulanya teknik machine learning dikembangkan dengan asumsi kelinearan.
Sehingga algoritma yang dihasilkan terbatas untuk kasus-kasus yang linear saja.
Akan tetapi untuk menghadapi kasus yang tidak linear maka dapat menggunakan
bantuan berbagai macam fungsi kernel. Kernel trick memberikan berbagai
kemudahan, karena dalam proses pembelajaran SVM, untuk menentukan support
vector, maka cukup dengan mengetahui fungsi kernel yang dipakai, dan tidak perlu
mengetahui wujud dari fungsi non-linear.
Ada banyak jenis kernel yang biasa digunakan dalam proses SVM. Pada tugas akhir
ini metode yang telah diteliti untuk memetakan dari input space ke feature space
ada tiga yaitu kernel polynomial, kernel linear, dan kernel gaussian/rbf. Dari ketiga
kernel tersebut dicari kernel mana yang memberikan hasil lebih akurat.
Fungsi kernel polynomial memiliki bentuk persamaan :
𝐾(𝑥𝑖 , 𝑥𝑗 ) = ((𝑥𝑖 , 𝑥𝑗𝑇 ) + 1)𝑛
Fungsi kernel linear memiliki bentuk persamaan :
𝐾(𝑥𝑖 , 𝑥𝑗 ) = 𝑥𝑖 , 𝑥𝑗𝑇
Fungsi kernel rbf memiliki bentuk persamaan :
||𝑥𝑖 − 𝑥𝑗 ||2
𝐾(𝑥𝑖 , 𝑥𝑗 ) = 𝑒𝑥𝑝
2𝜎 2
𝑖, 𝑗 = 1,2, … . 𝑙 dengan ∶
𝐾 = kernel
𝑥𝑖 = data inputan (𝑡𝑟𝑎𝑖𝑛𝑖𝑛𝑔)
12

𝑥𝑗 = data inputan (𝑡𝑟𝑎𝑖𝑛𝑖𝑛𝑔/𝑡𝑒𝑠𝑡𝑖𝑛𝑔) yang telah di transpose


𝜎 = parameter bebas
l = banyaknya data
Setelah dilakukan transformasi dari input space ke feature space dilakukan,
langkah selanjutnya adalah pencarian hyperplane klasifier. Untuk itu dilakukan
langkah-langkah berikut:
a. Data yang tersedia dinotasikan sebagai x ∈ R sedangkan label masing-
masing dinotasikan y ∈ {-1,+1} untuk i=1,2,....l yang mana l adalah
banyaknya data. Diasumsikan kedua class –1 dan +1 dapat terpisah secara
sempurna oleh hyperplane berdimensi d , yang didefinisikan:
𝑤
⃗⃗ . 𝑥 + 𝑏 = 0
Sebuah pattern 𝑥𝑖 yang termasuk class –1 (sampel negatif) dapat
dirumuskan sebagai pattern yang memenuhi persamaan :
𝑤
⃗⃗ . 𝑥 + 𝑏 = −1
sedangkan pattern yang termasuk class +1 (sampel positif):
𝑤
⃗⃗ . 𝑥 + 𝑏 = +1

b. Margin terbesar dapat ditemukan dengan memaksimalkan nilai jarak antara


hyperplane dan titik terdekatnya, yaitu 1/||w||. Hal ini dapat dirumuskan
sebagai Quadratic Programming (QP) problem, yaitu mencari titik minimal
dengan memperhatikan constraint:
1
min𝑤
⃗⃗ 𝜏(𝑤) = ||𝑤||2
2
dengan batasan:
𝑦𝑖 (𝑥𝑖 . 𝑤 + 𝑏) − 1 ≥ 0

c. Problem diatas dapat dipecahkan dengan berbagai teknik komputasi,


diantaranya Lagrange Multipliers sebagaimana ditunjukkan pada
Persaman:
1 𝑙
𝐿(𝑤. 𝑏. 𝑎) = ||𝑤||2 − ∑ 𝑎𝑖 (𝑦𝑖 ((𝑥𝑖 . 𝑤 + 𝑏) − 1))
2 𝑖=1

𝑎𝑖 adalah 𝐿𝑎𝑔𝑟𝑎𝑛𝑔𝑒 𝑀𝑢𝑙𝑡𝑖𝑝𝑙𝑖𝑒𝑟𝑠, yang bernilai nol atau positif (α ≥ 0)


13

d. Nilai optimal dari persamaan diatas dapat dihitung dengan meminimalkan


L terhadap w dan b , dan memaksimalkan L terhadap 𝑎𝑖 . Dengan
memperhatikan sifat bahwa pada titik optimal gradient L=0, persamaan
dapat dimodifikasi sebagai maksimalisasi problem yang hanya mengandung
𝑎𝑖 saja, sebagaimana Persamaan :
𝑙 1 𝑙
= 𝑚𝑎𝑥 ∑ 𝑎𝑖 − ∑ 𝑎 𝑎 𝑦 𝑦 𝑥𝑇 𝑥
𝑖=1 2 𝑖,𝑗=1 𝑖 𝑗 𝑖 𝑗 𝑖 𝑗
dengan batasan:
𝑎𝑖 ≥ 0 (𝑖 = 1,2, … . 𝑙)
𝑙
∑ 𝑎𝑖 𝑦𝑖 = 0
𝑖=1

Dari hasil dari perhitungan ini diperoleh 𝑎𝑖 yang kebanyakan bernilai


positif. Data yang berkorelasi dengan 𝑎𝑖 yang positif inilah yang disebut
sebagai support vector.

2.6. CRISP – DM (Cross Industry Standard Process for Data Mining)

Gambar 2. 4 Metode Crisp-DM

Sumber foto : https://datadansastra.wordpress.com/

Crisp-DM sendiri dikembangkan oleh 3 orang oleh analisis industri seperti,


Daimler Chrysler, SPSS dan NCR. Crisp-DM merupakan standarisasi proses
data mining sebagai strategi pemecahan masalah secara umum atau dari unit
penelitian (Feblian & Daihani, 2016). Berikut beberapa tahapan dalam Crisp-DM:
14

2.6.1 Business Understanding

Tahap ini adalah akan membahas tentang tujuan proyek dan kebutuhan secara detail
dalam unit penelitian secara keseluruhan dan diubah menjadi formula
permasalahan.

2.6.2 Data Understanding

Tahap ini adalah melakukan pengumpulan data awal dan melakukan pembenahan
pada data kurang relevan, missing value, dan redudansi. Sebuah data terbilang
missing value jika didapati atribut pada dataset kosong, dan data terdapat redudansi
apabila dalam satu dataset lebih dari satu record yang berisi nilai yang sama.

a. Pengumpulan Data
Tahap ini adalah melakukan pengumpulan data sebanyak 1.200 data dimana data
yang dikumpulkan adalah berupa gambar dari website kaggle.com. Dalam
pembuatan aplikasi Melanoma dilakukan preprocessing terlebih dahulu dan
menggunakan metode Support Vector Machine untuk di klasifikasikan sesuai
dengan kategori masing-masing.

2.6.3 Data Preparation

Pada langkah ini dilakukan pelabelan data. Data yang digunakan dalam penelitian
ini data berupa gambar yang telah dikumpulkan sebelumnya. Pelabelan data
dilakukan dengan beberapa tahap, yaitu:

a. Listing
Listing adalah proses membuat list dari objek iterable (string, tuple, dan
sebagainya). Listing juga untuk mengembalikan list berisi anggota – anggota dari
objek yang menjadi argumennya. Jika argumennya kosong, maka fungsi ini akan
mengembalikan list kosong. Jika argumennya adalah dictionary, maka yang
digunakan adalah key-key dari dictionary.
b. Cleaning
Cleaning adalah proses dalam menghilangkan hal-hal yang tidak diperlukan pada
data yang diolah. Dalam hal ini proses cleaning dilakukan untuk menghilangkan
format file seperti jpeg ataupun jpg sehingga menjadi nama file raw saja.
15

2.6.4 Modelling

Pada tahap ini melakukan modelling dengan menggunakan algoritma support


vector machine. Persamaan Support Vector Machine :

a. Algoritma Support Vectore Machine


SVM merupakan salah satu metode terbaik yang bisa dipakai dalam permasalahan
klasifikasi. Konsep SVM bermula dari masalah klasifikasi dua kelas sehingga
membutuhkan training set positif dan negatif. SVM berusaha menemukan
hyperplane (pemisah) terbaik untuk memisahkan ke dalam dua kelas dan
memaksimalkan margin antara dua kelas tersebut. Pada beberapa kasus, data tidak
bisa diklasifikasi menggunakan metode linier SVM, sehingga dikembangkan fungsi
kernel untuk mengklasifikasikan data dalam bentuk nonlinier. Pada penelitian
menggunakan kernel Radial Basis Faunction (RBF). Sequential Training memiliki
algoritma yang lebih sederhana dan waktu yang diperlukan lebih cepat.

Dalam menyelesaikan permasalahan non-linear digunakan konsep kernel pada


pada ruang kerja berdimensi tinggi, dengan mencari hyperplane yang dapat
memaksimalkan margin antar kelas data. Hyperplane berguna dalam memisahkkan
2 kelompok class +1 dan class –1 dimana setiap class memiliki pola masing-masing
(Luqyana, Cholissodin and Perdana, 2018). Tahap pemrosesan data dilakukan
dengan tahapan perhitungan sebagai berikut:

1. Inisialisasi terhadap berbagai parameter, seperti 𝑎𝑖, γ, C, dan ε.

𝛼𝑖 = alfa, untuk mencari support vector


γ = konstanta gamma untuk mengontrol kecepatan
C = variabel slack
ε = epsilon digunakan untuk mencari nilai error
2. Hitung matriks Hessian yang didapat dari perkalian antar kernel polynomial
dan y yang merupakan vector bernilai 1 dan -1. Persamaan dari matriks Hessian
adalah:

𝐷𝑖𝑗 = 𝑦𝑖 𝑦𝑗 (( , 𝑥𝑗) + 𝜆2) (1)


3. Lakukan perhitungan berikut hingga interasi data i hingga j:

a. 𝐸𝑖 = Σ 𝑎𝑗 𝐷𝑖𝑗 𝑖𝑗 (2)
16

b. 𝛿𝛼𝑖 = min (max[ γ(1 − 𝐸𝑖 ), 𝛼𝑖 ] , 𝐶 − 𝛼𝑖 (3)


c. 𝛼𝑖 = 𝛼𝑖 + 𝛿𝛼𝑖 (4)
4. Lakukan ketiga langkah diatas secara berulang hingga mencapai batas
maksimum iterasi
5. Proses sequential learning dari tahap 1 hingga 4 akan mendapatkan nilai dari
support vector (SV), dimana nilai SV = (𝛼𝑖 > 𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑𝑆𝑉). Setelah itu, perlu
dilakukan perhitungan pada nilai bias b yang diperoleh dari Persamaan 5.

𝑏 = − 12 (Σ 𝛼𝑖 𝑦𝑖 ( , 𝑥−) + 𝑁𝑖=0 Σ 𝛼𝑖 𝑦𝑖 𝐾(𝑥𝑖, 𝑥+) 𝑁𝑖=0 (5)


6. Untuk mengetahui hasil klasifikasi teks pada kelas negatif tertentu maka
dilakukan proses perhitungan fungsi f(x). Jika hasil dari fungsi tersebut bernilai
negatif, maka dokumen terklasifikasi pada sentimen kelas non-clickbait. Jika
nilai fungsi bernilai positif, maka dokumen terklasifikasi pada kelas clickbait.
Fungsi f(x) diperoleh pada Persamaan 6.

(𝑥) = Σ 𝛼𝑖 𝑦𝑖 (𝑥𝑖, 𝑥) + 𝑚𝑖=0 𝑏 (6)

2.6.5 Evaluation

Pada tahap ini dilakukan pengukuran terhadap model yang telah di buat pada tahap
modelling sebelumnya. Penelitian ini akan menggunakan accuracy, precision dan
recall.

a. Confusion Matrix
Confusing matrix adalah suatu metode yang gunakan untuk perhitungan akurasi
pada data mining. Confusing matrix digambarkan dengan tabel yang menyatakan
jumlah data uji yang benar diklasifikasikan dan jumlah data uji yang salah di
klasifisikan.
Tabel 2. 1 Confusion Matriks

Kelas Prediksi

Kelas 1 0
Kelas
1 TP FN
Aktual
0 FN TN
17

Keterangan :

True Posstive (TP) = Jumlah dokumen dari kelas 1 yang benar dan diklasifikan
sebagai kelas 1.

True Negative (TN) = Jumlah dokumen dari kelas 0 yang benar diklasifikasikan
sebagai kelas 0.

False Posstive (FP) = Jumlah dokumen dari kelas 0 yang salah diklasifikasikan
sebagai kelas 1.

False Negative (FN) = Jumlah dokumen dari kelas 1 yang benar diklasifikasikan
sebagai kelas 0.

Perhitungan akurasi dari penggunaan confusion matrix dapat dinyatakan dalam


persamaan berikut:

𝑇𝑃+𝑇𝑁
Akurasi = 𝑥 100 ……………………………... (2.3)
𝑇𝑃+𝐹𝑁+𝐹𝑃+𝑇𝑁

𝑇𝑃
Presisi = 𝑥 100 ……..…………………………….…... (2.4)
𝑇𝑃+𝐹𝑃

𝑇𝑃
Recall = 𝑥 100 ………………….……………………... (2.5)
𝑇𝑃+𝐹𝑁

2.6.6 Deployment

Setelah tahap evaluasi secara detail telah dilakukan, maka untuk tahap selanjutnya
adalah melakukan pengimplementasian modelling yang di hasilkan ke sistem.

2.7. Python
Python merupakan bahasa pemrograman yang berorientasi obyek dinamis, dapat
digunakan untuk bermacam macam pengembangan perangkat lunak. Python
menyediakan dukungan yang kuat untuk integrasi dengan bahasa pemrograman lain
dan alat-alat bantu lainnya. Python hadir dengan pustaka-pustaka standar yang
dapat diperluas serta dapat dipelajari hanya dalam beberapa hari. Bahasa
pemrograman yang interpretatif multiguna dengan filosofi perancangan yang
berfokus pada tingkat keterbacaan kode. Python diklaim sebagai bahasa yang
menggabungkan kapabilitas, kemampuan, dengan sintaksis kode yang sangat jelas,
18

dan dilengkapi dengan fungsionalitas pustaka standar yang besar serta


komprehensif (R, et al., 2017) .

2.8. Django
Django adalah sebuah web framework yang menggunakan bahasa pemrograman
Python yang mendukung pembuatan website dengan konsep rapid development
(Django Software Foundation, 2017). Wiki-Python menyatakan bahwa framework
yang sekarang telah berada di versi 2.1 ini sebagai web framework paling popular
dikalangan high-level frameworks. Karena menggunakan bahasa pemrograman
Python yang telah memiliki banyak library siap pakai, mengembangkan sistem
dengan Django berarti dapat menggunakan library tersebut sesuai dengan keperluan
pengembangan. Django bertujuan untuk memudahkan pengembangan situs web
dan basis data yang kompleks (Django Software Foundation, 2017). Salah satu
keunggulan django adalah, framework ini telah merepresentasikan ORM (Object
Relational Mapper) sehingga tidak perlu menyesuaikan query jika terjadi
perubahan database yang digunakan. Berikut ini adalah beberapa keuntungan
menggunakan Django (Rahimah, et al., 2019):

1. Object-Relational Mapping (ORM) Support.

2. Automatic Admin Interface.

3. Elegant URL Design.

4. Template System.

5. Cache system.

6. Internationalization.

7. A light weight web server for development and test.

2.9. Unified Modelling Language (UML)


a. Use Case Diagram

Muslihudin (2016) menyebutkan bahwa diagram use case memiliki sifat statis.
Diagram ini terdiri dari aktor beserta use case-nya. Diagram ini berfungsi untuk
menunjukkan apa yang dilakukan oleh sistem yang sesuai dengan kebutuhan User.
19

Dengan menggunakan use case ini maka Pengembang tidak mengalami kesulitan
dalam menentukan batasan dari hak akses serta fitur yang dikembangkan. Simbol
dan deskripsi use case disajikan pada Tabel dibawah ini.

Tabel 1 Simbol Use Case Diagram

No Simbol Deskripsi

Aktor, dalam Use Case aktor merupakan Subjek


1 yang melakukan pekerjaan maupun Activity.
Didalam Use Case peran sebagai Aktor biasanya
di isi oleh User.

2 Association, adalah penghubung antara Aktor dan


Use case yang saling terkait dan terjadi Interaksi.

3 Direct Association, adalah hubungan antara Aktor


dan Use case yang terjadi 1 arah

Include merupakan penghubung antar Use Case


4 dimana Use Case yang dihubungkan tidak dapat
<include>
berdiri sendiri apabila Use Case penghubung
tidak ada
20

No Simbol Deskripsi

Extends merupakan penghubung antara Use Case


5 <extends>
dimana Use Case yang dihubungkan merupakan
tambahan fungsional dari Use Case Penghubung

2.10. Activity Diagram


Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang
dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi,
dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan
proses paralel yang mungkin terjadi pada beberapa eksekusi.
Activity diagram merupakan state diagram khusus, di mana sebagian besar state
adalah action dan sebagian besar transisi di-trigger oleh selesainya state
sebelumnya (internal processing). Oleh karena itu activity diagram tidak
menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem)
secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas
dari level atas secara umum (Dharwiyanti, 2003).

Tabel 2 Simbol Activity Diagram

No. Simbol Deskripsi


Status awal aktivitas sistem, sebuah
1. diagram aktivitas memiliki sebuah status
awal.
Aktivitas mengindeintifikasikan model
2. proses dan merupakan komponen utama
pada activity diagram
percabangan menggambarkan kondisi
3.
yang terdapat pada activity diagram.
Status final menggambarkan ending point
4.
proses flow..
21

No. Simbol Deskripsi


Status end menggambarkan proses
5.
berakhirnya workflow.

2.11. Pemrograman Website


Pemrograman website adalah suatu metode yang digunakan untuk menyediakan
informasi di internet, dapat berupa gambar, teks, video & suara maupun interaktif
memiliki keuntungan yang menghubungkan (link) dari dokumen dengan dokumen
lainnya (hypertext) yang dapat diakses melalui browser (Andritany, 2020).
Penggunaan website pada aplikasi Antenatal Care yaitu untuk melakukan
pencatatan pemeriksaan kehamilan sampai dengan pemeriksaan nifas. Adapun
teknologi yang digunakan dalam pembuatan aplikasi website adalah HTML, CSS,
Javascipt dan didukung dengan teknologi Bootstrap. Bahasa pemrograman dalam
pembuatan aplikasi website menggunakan Bahasa PHP dan didukung dengan
framework Laravel.

2.12. Waterfall Model


Waterfall model adalah sebuah model untuk pengembangan perangkat lunak yang
klasik dan paling banyak digunakan. Metode waterfall menekankan pada
pengembangan sistem yang dilakukan secara statis atau berurutan. Dalam proses
implementasi metode waterfall setiap langkah diselesaikan terlebih dahulu dimulai
dari tahapan pertama sebelum melanjutkan ketahap selanjutnya. Tahapan dari
model waterfall adalah sebagai berikut :
a. Analisis
Analisis merupakan langkah pertama dari model waterfall. Pada tahap ini
diperlukan penggalian informasi yang berkaitan dengan pengembangan sistem.
salah satu tujuannya untuk mendapatkan requirement yang dibutuhkan sistem.
setalah semua requirement berhasil dikumpulkan maka tahapan selanjutnya
adalah melakukan desain pada aplikasi.
b. Desain
Setelah dilakukan analisis kebutuhan, maka langkah selanjutnya adalah
perancangan dan pembuatan desain dari sistem yang dapat memenuhi hasil
analisis dan kebutuhan. Desain sistem dapat dilakukan dengan menggunakan
22

Unified Modeling Language (UML) dan User Interface (UI) atau biasa disebut
antarmuka pengguna.
c. Implementasi
Pada tahapan implementasi, hasil yang didapat dari tahap design sistem akan di
kembangkan dalam penulisan script berdasarkan hasil analisa yang telah
dilakukan pada tahapan pertama.
d. Pengujian
Setelah melewati tahapan implementasi, Langkah selanjutnya adalah
melakukan tahapan pengujian. Pada tahapan ini bisa sistem akan diuji
fungsionalitasnya dengan menggunkaan teknik pengujian black box. Tujuan
dari tahapan pengujian adalah untuk mencari bug pada aplikasi.
e. Pemeliharaan
Pada tahap ini dilakukan pemeliharaan terhadap sebuah sistem dengan
melakukan beberapa proses modifikasi pada aplikasi maka dapat menyesuaikan
kembali dengan kebutuhan konsumen dan memperbaiki kekurangan pada masa
pengembangan.
BAB III
PERENCANAAN DAN REALISASI

3.1 Perancangan Program Aplikasi


Bagian perancangan terdiri dari tiga bagian, yaitu deskripsi, cara kerja, dan
perancangan aplikasi. Bagian deskripsi menuliskan pemaparan mengenai aplikasi
dan fungsinya. Cara kerja memaparkan alur sistem dalam mengklasifikasikan
sebuah citra. Bagian perancangan menjelaskan mengenai arsitektur sistem.

3.1.1 Deskripsi Program Aplikasi


Aplikasi klasifikasi yang dibuat merupakan apikasi yang mengklasifikasikan
sebuah citra kanker kulit melanoma dalam bentuk website. Aplikasi klasifikasi ini
bertujuan untuk membantu masyarakat dalam mengetahui tahi lalat atau kelainan
kulit lainnya merupakan penyakit kanker kulit melanoma atau bukan. Pembuatan
aplikasi ini melalui beberapa tahap yaitu melabelkan dataset, mentraining data yang
telah di-labeling dan menghasilkan sebuah model, dari model tersebut kemudian
digunakan di dalam Django Framework untuk mengklasifikasikan citra yang
diinputkan ke dalam aplikasi yang nantinya akan menampilkan prediksi termasuk
ke dalam penyakit kanker kulit melanoma atau bukan. Pembuatan model
menggunakan python sebagai bahasa pemrogramannya dan Jupyter Notebook
sebagai compiler-nya.

3.1.2 Cara Kerja Program Aplikasi


Cara kerja program aplikasi adalah langkah atau proses yang terjadi pada
penggunaan aplikasi yang digambarkan dalam bentuk flowchart yang dapat dilihat
pada gambar dibawah ini:

23
24

Gambar 3.1 Flowchart Aplikasi Melanoma

Gambar 3.1 merupakan tahapan atau proses untuk bisa mengetahui hasil
pengklasifikasian dari sebuah citra apakah termasuk dalam kanker kulit melanoma
atau bukan dimulai dengan user menginputkan sebuah citra ke dalam website
melanoma, kemudian citra akan diklasifikasikan oleh sistem dengan menggunakan
metode SVM, setelah itu output dari proses pengklasifikasian tersebut akan
menampilkan hasil identifikasi dari citra yang telah diinputkan sebelumnya apakah
merupakan kanker kulit melanoma atau bukan.
25

Gambar 3.2 Diagram Alir Proses

Gambar 3.2 merupakan diagram proses dimana dimulai dengan menginputkan


sebuah citra, kemudian citra akan masuk ke proses preprocessing yaitu citra
pertama – tama diubah menjadi grayscale dan membentuk matriks, lalu citra
tersebut diekstraksi menggunakan metode Histogram Of Oriented Gradients
(HOG) yaitu dengan menghitung nilai gradien setiap piksel. Hasil dari proses
ekstraksi fitur, citra diklasifikasikan dengan menggunakan metode SVM. Hasil dari
pengklasifikasiannya akan menghasilkan bahwa apakah citra yang diinputkan
termasuk kanker kulit melanoma atau bukan.

3.1.3 Analisis Kebutuhan


Sistem yang mengklasifikasikan sebuah citra kanker kulit melanoma dalam bentuk
website. Adapun requirement yang dibutuhkan dalam pembuatan aplikasi ini
berupa fungsional dan non-fungsional requirement.
a. Kebutuhan Fungsional
1. User dapat melakukan input gambar yang akan di testing.
2. Sistem dapat menampilkan hasil identifikasi.

b. Kebutuhan Non-Fungsional
Kebutuhan non-Fungsional terdiri dari kebutuhan perangkat keras (Hardware) dan
perangkat lunak (Software). Berikut ini kebutuhan minumum untuk implementasi
sistem :
1. Kebutuhan Minimum Perangkat Keras
Perangkat minimum yang dibutuhkan untuk dapat menjalankan sistem
perangkat komputer atau laptop dengan detail spesifikasi sebagai
berikut:
a. Prosesor Intel(R) Core(TM) i3-5005U CPU @ 2.0GHz
b. Memori RAM 8 GB
2. Kebutuhan Perangkat Lunak
a. Sistem Operasi Microsoft Windows 7
26

b. Web Browser
c. Python
d. Sublime

3.1.4 Rancangan Program Aplikasi


Dalam tahapan rancangan program aplikasi, dilakukan pembuatan Unified
Modeling Language (UML). Beberapa UML yang digunakan dalam pembuatan
desain sistem adalah Use Case Diagram dan Activity Diagram.

1. Use Case Diagram

Gambar 3.3 Use Case Diagram Aplikasi Melanoma

Gambar 3.3 merupakan use case diagram dari aplikasi melanoma dimana pengguna
dapat melakukan penginputan citra yang di punya ke dalam website dan dapat
melihat hasil dari klasifikasi citra yang telah dilakukan berupa hasil identifikasi
apakah citra merupakan kanker kulit melanoma atau bukan. Use Case Diagram
pada sistem rekomendasi ini hanya memiliki satu aktor. Aktor pada diagram ini
ditulis sebagai “pengguna” karena pengguna pada sistem ini bisa siapa saja
khususnya yang mempunyai tahilalat atau yang mempunyai masalah penyakit kulit.
27

2. Activity Diagram

Gambar 3.4 Activity Diagram Melihat Hasil Identifikasi

Pada gambar 3.4, pertama user menekan button upload gambar yang terdapat pada
website, kemudian user memilih gambar yang diinginkan untuk di upload. Sistem
menampilkan gambar yang telah dipilih oleh user. Lalu user menekan button
testing untuk menginputkan gambar yang dipilih sebelumnya. Gambar yang telah
diinputkan di proses untuk diklasifikasi oleh sistem. Setelah itu, gambar yang telah
diklasifikasikan ditampilkan hasil identifikasinya yaitu gambar merupakan kanker
kulit melanoma atau bukan.
28

3.2 Realisasi Program Aplikasi


3.2.1 Desain Sistem
Setelah menganalisa kebutuhan user dan membuat desain sistem dengan UML,
dilakukan pembuatan desain sistem dengan pembuatan mockup. Mockup akan
digunakan sebagai acuan dalam implementasi user interface.

Gambar 3.5 Mockup Halaman Utama

Gambar 3.5 merupakan mockup untuk halaman utama dari website melanoma. Di
dalam halaman utama berisikan deskripsi singkat tentang kanker kulit melanoma,
kemudian terdapat dua button yaitu upload gambar dan tetsing untuk memilih dan
mengolah gambar. Terdapat juga kolom gambar untuk tempat menampilkan
gambar yang dipilih. Lalu terdapat sebuah kolom yaitu kolom hasil identifikasi.

3.2.2 Implementasi Sistem


1. Implementasi Image Processing
a. Crisp-DM
Crisp-DM merupakan standarisasi proses data mining sebagai strategi pemecahan
masalah secara umum atau dari unit penelitian (Feblian & Daihani, 2016). Berikut
beberapa tahapan dalam Crisp-DM :
1. Business Understanding
Pada penelitian ini penulis tertarik dalam bidang penelitian image processing untuk
kesehatan. Topik penelitian yang diangkat adalah melanoma. Penulis ingin
mengidentifikasi apakah seseorang tersebut terserang penyakit kanker kulit
29

melanoma atau tidak terserang penyakit kanker kulit melanoma dengan


menerapkan algoritma Support Vector Machine (SVM).

2. Data Understanding
Pada tahap data understanding yaitu memahami data yang diperlukan selama
proses pembuatan sistem. Dataset yang digunakan pada penelitian ini berasal dari
dataset public yang sering digunakan berupa sebuah gambar. Dataset melanoma
dapat diunduh melalui situs https://www.kaggle.com/drscarlat/melanoma. Dataset
yang didapatkan sebanyak 10.682 data berupa gambar, dimana masing – masing
kelas (melanoma dan non melanoma) berjumlah 5.341 data. Pada penelitian ini data
yang dibutuhkan hanya sebanyak 1.200 data gambar, jumlah data per masing –
masing kelas (melanoma dan non melanoma) sebanyak 600 data. Kemudian
mengindentifikasi resolusi gambar yang digunakan beserta prosesnya seperti
melakukan resize dan flattening pada dataset karena ukuran gambar masing –
masing kelas (melanoma dan non melanoma) memiliki ukuran yang berbeda.

3. Data Preparation
Data preparation meliputi pelabelan data. Pelabelan data dilakukan dengan
beberapa tahap. Tahap pertama adalah mengumpulkan semua gambar dengan
kedua kategori yang terdapat pada folder data train. Keseluruhan gambar tersebut
memiliki nama berbeda dengan unique code sehingga kategori melanoma ataupun
non melanoma dapat dibedakan. Setelah itu, dilakukan listing seluruh gambar yang
ada pada folder menggunakan library python yang bernama os dan pandas. List
tersebut ditampung dalam sebuah variabel. Gambar 3.6 menyatakan fungsi tersebut.

Gambar 3.6 Fungsi Listing

Setelah dilakukan listing, maka dilakukan pencarian file dengan unique name. File
dengan nama “ISIC” menandakan bahwa gambar tersebut bukan melanoma. File
30

dengan nama “AUG” menandakan bahwa gambar tersebut adalah gambar


melanoma. Kedua kelas tersebut ditampung dalam variabel yang berbeda dalam
bentuk tabel. Gambar 3.7 adalah proses pemisahan kedua kelas tersebut pada kedua
variabel.

Gambar 3.7 Code Proses Pemisahan Kedua Kelas

Setelah itu, nama file tersebut di cleaning sehingga menjadi nama file raw saja
tanpa ada format file seperti jpeg ataupun jpg. Selain dilakukan proses cleaning,
dilakukan proses penambahan kolom skin_type yang berfungsi untuk memberikan
label pada gambar. Label dilakukan menggunakan angka. Angka 0 menyatakan
bahwa gambar tersebut bukan melanoma dan angka 1 menyatakan bahwa gambar
tersebut adalah melanoma. Gambar 3.8 menyatakan proses penambahan kolom dan
cleaning data nama file gambar.

Gambar 3.8 Code Proses Penambahan Kolom dan Cleaning Data Nama File Gambar

Setelah itu, dilakukan penggabungan antara kedua tabel tersebut dengan


menggunakan fungsi append. Argumen index dibiarkan sehingga penomoran akan
tetap benar, yaitu bermula dari 0 hingga 1.199 karena jumlah data adalah 1.200.
Untuk memastikan proses labeling sudah benar, maka diambil data teratas terlebih
dahulu dengan menggunakan fungsi .head(). Gambar 3.9 menyatakan fungsi
penggabungan tersebut.
31

Gambar 3.9 Code Fungsi Penggabungan

Hasil data yang sudah di cleaning menyatakan bahwa data yang diinginkan untuk
pemrosesan sudah sesuai dan telah selesai dilakukan labeling data. Setelah itu,
dilakukan penyimpanan dataset dalam bentuk csv seperti pada Gambar 3.10.

Gambar 3.10 Code Penyimpanan dataset dalam bentuk csv

4. Modelling
Proses pembuatan model bermula dari melakukan load dataset yang sebelumnya
telah dibuat dengan cara membaca file csv. Setelah di load, dibuat fungsi untuk load
gambar dengan format jpg maupun format jpeg karena dataset yang dimiliki hanya
memiliki dua format, yaitu jpg dan jpeg. Data di resize sehingga memiliki ukuran
yang sama dengan matriks yang sama. Ukuran setelah di resize adalah 224 x 224.
Setelah di resize, gambar dirubah menjadi bentuk array dengan menggunakan
library numpy. Untuk memastikan bahwa gambar telah berubah menjadi bentuk
array, maka gambar tersebut di print dalam bentuk grafik. Gambar 3.11
menyatakan fungsi tersebut.
32

Gambar 3.11 Code Fungsi Pembuatan Awal Model

Setelah dilakukan proses resize gambar, maka dilakukan proses perubahan gambar
ke dalam bentuk grayscale agar bentuk matriks menjadi seragam. Selain itu,
dilakukan juga print ke console jupyter sehingga matriks gambar dapat diketahui.
Gambar 3.12 menggambarkan fungsi berikut. Gambar 3.13 menyatakan gambar
yang sudah di grayscale.

Gambar 3.12 Code Fungsi Untuk Merubah ke Dalam Bentuk Grayscale


33

Gambar 3.13 Gambar yang Sudah di Grayscale

Setelah dilakukan proses perubahan warna gambar ke dalam bentuk grayscale,


maka dilakukan pencarian fitur lain menggunakan metode Histogram Oriented
Gradiens (HOG). Metode HOG bekerja dengan cara mengambil titik titik warna
yang berbeda dan dijadikan dalam bentuk histogram. Selain itu, pembuatan HOG
juga menggunakan library python yang bernama matplotlib. Hasil HOG di print
pada console untuk memastikan apakah proses pembuatannya sudah benar atau
belum. Gambar 3.14 menyatakan proses metode HOG.

Gambar 3.14 Code Proses Metode HOG


34

Proses HOG yang dilakukan telah benar karena gambar benar-benar tergenerate
berdasarkan dua warna, yaitu hitam dan putih. Setelah itu, dilakukan flattening
gambar dengan menggunakan library opencv dan scipy. Fungsi library scipy adalah
untuk melakukan ekstraksi fitur menggunakan scipy signal. Selain itu, dilakukan
pencarian spline edge filter. Setelah selesai, dilakukan proses flattening gambar
dengan proses sebagai berikut.

Gambar 3.15 Code Proses Flattening

Setelah proses flattening data selesai dibuat, dibuat fungsi pembentukan matriks
fitur. Setelah dibentuk matriks fitur, dilakukan penggabungan antara matriks-
matriks fitur tersebut. Fungsi ini memerlukan argumen yang berupa DataFrame
(table dengan menggunakan library pandas) yang berisi gambar. Gambar 3.16
menyatakan fungsi pembentukan matriks fitur tersebut.

Gambar 3.16 Code Fungsi Pembentukan Matriks Fitur


35

Setelah proses flattening data, dilakukan fungsi untuk mentransformasi hasil


tersebut. Selain itu, dilakukan proses inisialisasi PCA (Principal Component
Analysis) dengan jumlah component sebanyak 32. Selain itu, dilakukan print shape
untuk memastikan bahwa matriks gambar yang diinginkan sudah sesuai.

Gambar 3.17 Code Proses Inisialisasi PCA (Principal Component Analysis)

Setelah sudah sesuai, maka dilakukan persiapan pembuatan model dan


penyimpanan PCA dan standard scaler. Penyimpanan model standard scaler
dinamakan dengan standard_scaler.save. Penyimpanan PCA dinamakan pca.save.
Gambar 3.18 menyatakan proses tersebut.

Gambar 3.18 Code Proses Penyimpanan PCA dan Standart Scaler

Setelah itu, dilakukan split data menjadi train dan test data. Presetase test data yang
digunakan adalah 10% dari total keseluruhan data. Berikut adalah sintaks yang
digunakan untuk training data. Setelah itu, dilakukan proses data train sehingga
bisa fit dengan modelnya. Gambar 3.19 adalah proses training data.
36

Gambar 3.19 Code Proses Training Data

Selanjutnya, digunakan kernel SVM yang berjenis RBF (Radial Basis Function)
dikarenakan akurasi kernel RBF dan Gaussian lebih baik dibandingkan kernel
linear maupun kernel polynomial. Setelah itu, dilakukan save model atau dump
model untuk selanjutnya digunakan pada website. Gambar 3.20 menggambarkan
proses tersebut.

Gambar 3.20 Code Proses Pembuatan Metode SVM

5. Evaluation
Untuk mengukur akurasi dari sebuah model maka penulis melakukan evaluasi
menggunakan confusion matrix dengan melihat akurasi recall dan presisi dari
model yang telah dibuat sebelumya.
37

Tabel 3 Confusion Matriks 90:10

Sistem
Hasil Uji
Non-Melanoma Melanoma

Non-
49 11
Melanoma
Manual
Melanoma 4 56

Perlu di perhatikan bahwa 0 di tandai sebeagai non-melanoma dan 1 sebagai


melanoma sehingga dari proses yang dilakukan maka di dapatkan hasil dimana
akurasi mencapai 88% dengan presisi non-melanoma 82%, presisi melanoma 93%,
recall non-melanoma 92% dan recall clickbait 84%. Dan berdasarakan hasil
percobaan split data dengan confusion matrix didapatkan hasil terbaik yaitu akurasi
88% seperti pada tabel 3 dengan pembagian 90% untuk data latih dan 10% untuk
data testing.

2. Implementasi Antarmuka Pengguna


a. Pembuatan Frontend Engine
Implementasi antarmuka pengguna terbagi menjadi satu layout. Layout tersebut
berfungsi untuk mengupload gambar sekaligus menampilkan hasil prediksi kanker
kulit. Layout tersebut juga menampilkan confidence rate dan hasil klasifikasi kulit
tersebut apakah melanoma atau bukan. Gambar 3.21 merupakan hasil pembuatan
antarmuka.
38

Gambar 3.21 Implementasi Tampilan Halaman Utama

Gambar 3.22 Code Tampilan Halaman Utama

Gambar 3.22 merupakan implementasi code untuk membuat tampilan halaman


utama website melanoma.
39

b. Pembuatan Backend Engine


Pembuatan backend engine terbagi menjadi tiga tahap, yaitu proses get image atau
mengambil gambar yang di upload, memproses gambar yang di upload, dan
mengembalikan gambar hasil upload ke website.

Proses gambar setelah di upload adalah menyimpan gambar ke dalam sistem sesuai
nama gambar yang di upload. Setelah disimpan, file name tersebut dirubah menjadi
sebuah url yang selanjutnya akan dilakukan prediksi. Setelah dilakukan prediksi,
maka hasil akan dikembalikan. Gambar 3.23 menjalankan proses get gambar
hingga mengembalikan hasil prediksi.

Gambar 3.23 Code Proses Get Gambar

Proses prediksi pada backend engine sedikit berbeda dengan proses pembuatan
model. Proses ini terbagi menjadi 3 fungsi, yaitu merubah gambar menjadi bentuk
array, membentuk fitur, dan melakukan prediksi gambar. Gambar 3.24
menggambarkan fungsi untuk mengubah gambar menjadi bentuk array.

Gambar 3.24 Code Fungsi Mengubah Gambar Menjadi Array

Gambar 3.25 menggambarkan fungsi untuk flattening gambar. Fungsi ini sama
dengan proses pembuatan model.
40

Gambar 3.25 Code Fungsi Flattening Gambar

Gambar 3.26 menggambarkan fungsi untuk memprediksi gambar. Fungsi ini


bertujuan untuk load keseluruhan model (PCA, Standard Scaler, dan model akhir)
untuk kemudian melakukan prediksi gambar. Hasil akhir selanjutnya akan
digenerate ke variabel untuk kemudian diteruskan ke bagian front end sistem.

Gambar 3.26 Code Fungsi Prediksi

Gambar 3.27 melakukan proses pemanggilan hasil pada front end dengan code
sebagai berikut.

Gambar 3.27 Code Pemanggilan Hasil Pada Front end


BAB IV
PEMBAHASAN

4.1 Pengujian Sistem


Pengujian merupakan tahapan yang penting dalam proses rancang bangun sistem.
Pengujian bertujuan memastikan sistem bekerja dengan baik, menerima input
dengan benar dan memberikan output yang sesuai. Pengujian meliputi deskripsi,
prosedur, data hasil pengujian dan analisis data.

4.2 Deskripsi Pengujian


Setelah selesai melakukan tahapan implementasi pada sistem, tahapan selanjutnya
adalah melakukan pengujian terhadap sistem yang sudah dibuat. Tujuan dari
tahapan pengujian adalah untuk memastikan sistem yang sudah dibuat dapat
berjalan sesuai dengan requirements yang sudah ditentukan dan sistem dapat
berjalan dengan baik. Pengujian sistem yang dilakukan pada penelitian ini dibagi
menjadi 2 jenis pengujian yang dilakukan, yang pertama adalah pengujian terhadap
algoritma dengan menggunakan confusion matrix, dan yang kedua adalah
pengujian fitur pada sistem menggunakan blackbox testing. Blackbox testing
merupakan pengujian yang berfokus pada spesifikasi fungsional dari perangkat
lunak, tester dapat mendefinisikan kumpulan kondisi input dan melakukan
pengetesan pada spesifikasi fungsional program (Hidayat & Muttaqin, 2018).

4.3 Prosedur Pengujian


Prosedur pengujian dalam pembuatan sistem ini terbagi menjadi dua, yaitu
pengujian algoritma Support Vector Machine (SVM) dan pengujian fungsionalitas
website. Pengujian algoritma Support Vector Machine terdiri menjadi dua bagian,
yaitu pengujian menggunakan data training dan pengujian menggunakan data
testing. Pengujian data training menggunakan split data dengan presentase 70:30.
Pengujian data testing menggunakan data yang sebelumnya tidak pernah digunakan
dalam proses training data.

41
42

4.4 Data Hasil Pengujian


a. Unit Testing
Unit testing adalah sebuah metode pengujian yang dilakukan oleh pengembang
aplikasi sehingga tidak terdapat kesalahan pada sistem ataupun aplikasi pada saat
digunakan. Pengujian ini termasuk ke dalam metode black box testing untuk
memastikan apakah sistem sudah berjalan dengan baik. Tabel 3 menggambarkan
hasil unit testing.
Tabel 4 Hasil Unit Testing

No Skenario Test Case Hasil yang Hasil Keterangan


Pengujian Diharapkan Pengujian
1. Sistem dapat Sistem Sistem [✓]
menampilkan menampilkan menampilkan Diterima
[ ] Ditolak
halaman halaman halaman
utama utama tanpa utama tanpa
adanya error adanya error
2. Data gambar Muncul alert Muncul alert [✓]
diberi input untuk untuk Diterima
[ ] Ditolak
kosong mengupload mengupload
file file
3. Data gambar Muncul alert Muncul alert [✓]
diberi input bahwa tidak bahwa tidak Diterima
[ ] Ditolak
selain jpg dan menerima menerima
jpeg gambar gambar
dengan dengan
format lain format lain
4. Sistem dapat Sistem Sistem [✓]
menampilkan menampilkan menampilkan Diterima
[ ] Ditolak
gambar gambar yang gambar yang
setelah upload akan akan
dideteksi dideteksi
setelah di setelah di
upload upload

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta


43

5. Sistem dapat Sistem Sistem[✓]


menampilkan menampilkan menampilkan Diterima
[ ] Ditolak
hasil hasil hasil
identifikasi identifikasi identifikasi
dan tingkat dan dan
keakuratannya confidence confidence
rate nya rate nya

b. Pengujian Algoritma Support Vector Machine


a. Pengujian Data Training
Pengujian data training dilakukan dengan melakukan penilaian hasil pengujian
sistem menggunakan confusion matriks. Total dataset berjumlah 1.200 data. Jumlah
data tersebut terbagi menjadi dua kelas jenis kulit, yaitu melanoma dan non-
melanoma dengan jumlah data masing-masing kelas sebanyak 600 data. Pada
evaluasi ini saya melakukan percobaan split data dari 90:10 sampai 50:50 untuk
melihat performance terbaik.

Tabel 5 Confusion Matriks 90:10

Sistem
Hasil Uji
Non-Melanoma Melanoma

Non-
49 11
Melanoma
Manual
Melanoma 4 56

Untuk mendapatkan nilai presisi, recall dan akurasi maka dilakukan perhitungan
dengan rumus masing – masing dan dengan berdasarkan tabel yang sudah ada.
Perhitungan Presisi
49
𝑥 100% = 81,67%
49 + 11

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta


44

Perhitungan Recall
49
𝑥 100% = 92,45%
49 + 4

Perhitungan Akurasi
49 + 56
𝑥 100% = 87,5%
49 + 11 + 4 + 56

Berdasarkan hasil pengujian yang dilakukan dengan pembagian data 90:10 dan
didapatkan tingkat akurasi yang dimiliki oleh algoritma support vector machine
dalam melakukan klasifikasi adalah presisi mendapatkan nilai 81,67%, recall
mendapatkan nilai 92,45%, dan akurasi mendapatkan nilai 87,5%.

Tabel 6 Confusion Matriks 80:20

Sistem
Hasil Uji
Non-Melanoma Melanoma

Non-
97 21
Melanoma
Manual
Melanoma 13 109

Untuk mendapatkan nilai presisi, recall dan akurasi maka dilakukan perhitungan
dengan rumus masing – masing dan dengan berdasarkan tabel yang sudah ada.
Perhitungan Presisi
97
𝑥 100% = 82%
97 + 21

Perhitungan Recall
97
𝑥 100% = 88%
97 + 13

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta


45

Perhitungan Akurasi
97 + 109
𝑥 100% = 85,83%
97 + 21 + 13 + 109

Berdasarkan hasil pengujian yang dilakukan dengan pembagian data 80:20 dan
didapatkan tingkat akurasi yang dimiliki oleh algoritma support vector machine
dalam melakukan klasifikasi adalah presisi mendapatkan nilai 82%, recall
mendapatkan nilai 88%, dan akurasi mendapatkan nilai 85,83%.

Tabel 7 Confusion Matriks 70:30

Sistem
Hasil Uji
Non-Melanoma Melanoma

Non-
151 26
Melanoma
Manual
Melanoma 25 158

Perhitungan Presisi
151
𝑥 100% = 85%
151 + 26

Perhitungan Recall
151
𝑥 100% = 85,79%
151 + 25

Perhitungan Akurasi
151 + 158
𝑥 100% = 85,83%
151 + 26 + 25 + 158

Berdasarkan hasil pengujian yang dilakukan dengan pembagian data 70:30 dan
didapatkan tingkat akurasi yang dimiliki oleh algoritma support vector machine
dalam melakukan klasifikasi adalah presisi mendapatkan nilai 85%, recall
mendapatkan nilai 85,79%, dan akurasi mendapatkan nilai 85,83%.

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta


46

Tabel 8 Confusion Matriks 60:40

Sistem
Hasil Uji
Non-Melanoma Melanoma

Non-
211 33
Melanoma
Manual
Melanoma 34 202

Perhitungan Presisi
211
𝑥 100% = 86,48%
211 + 33

Perhitungan Recall
211
𝑥 100% = 86%
211 + 34

Perhitungan Akurasi
211 + 202
𝑥 100% = 86%
211 + 33 + 34 + 202

Berdasarkan hasil pengujian yang dilakukan dengan pembagian data 60:40 dan
didapatkan tingkat akurasi yang dimiliki oleh algoritma support vector machine
dalam melakukan klasifikasi adalah presisi mendapatkan nilai 86,48%, recall
mendapatkan nilai 86%, dan akurasi mendapatkan nilai 86%.

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta


47

Tabel 9 Confusion Matriks 50:50

Sistem
Hasil Uji
Non-Melanoma Melanoma

Non-
254 47
Melanoma
Manual
Melanoma 50 249

Perhitungan Presisi
254
𝑥 100% = 84,38%
254 + 47

Perhitungan Recall
254
𝑥 100% = 83,55%
254 + 50

Perhitungan Akurasi
254 + 249
𝑥 100% = 83,83%
254 + 47 + 50 + 249

Berdasarkan hasil pengujian yang dilakukan dengan pembagian data 50:50 dan
didapatkan tingkat akurasi yang dimiliki oleh algoritma support vector machine
dalam melakukan klasifikasi adalah presisi mendapatkan nilai 84,38%, recall
mendapatkan nilai 83,55%, dan akurasi mendapatkan nilai 83,83%.

Tabel 10 Perbandingan Hasil Split Data dari 90:10 sampai 50:50

Split Data Presisi Recall Akurasi

90:10 81,67% 92,45% 87,5%


80:20 82% 88% 85,83%
70:30 85% 85,79% 85,83%
60:40 86,48% 86% 86%
50:50 84,38% 83,55% 83,83%

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta


48

Berdasarkan hasil percobaan split data yang dilakukan mulai dari 90:10 sampai
50:50 menunjukan bahwa split data 90:10 adalah performance yg tebaik dengan
mendapatkan hasil presisi sebesar 81,67%, recall sebesar 92,45%, dan akurasi
sebesar 87,5%.

b. Pengujian Data Testing


Pengujian data testing adalah pengujian menggunakan data yang sebelumnya tidak
pernah melalui proses training. Pengujian data testing meliputi dua bagian, yaitu
menguji menggunakan data testing kelas melanoma dan data testing kelas non
melanoma. Pengujian data testing ini menggunakan gambar sebanyak 20 gambar
yang pembagiannya 10 gambar melanoma dan 10 gambar non melanoma. Tabel 11
adalah hasil pengujian menggunakan data testing yang berasal dari kelas melanoma
sebanyak 10 gambar.

Tabel 11 Hasil Pengujian Menggunakan Data Testing Yang Berasal Dari Kelas Melanoma

No Gambar Kategori Kategori Confidence Keteragan


Hasil Rate
Klasifikasi
1. Melanoma Non 0.8399 Tidak
Melanoma sesuai

2. Melanoma Melanoma 0.7719 Sesuai

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta


49

3. Melanoma Non 0.7866 Tidak


Melanoma sesuai

4. Melanoma Melanoma 0.6461 Sesuai

5. Melanoma Melanoma 0.5426 Sesuai

6. Melanoma Melanoma 0.9008 Sesuai

7. Melanoma Melanoma 0.5367 Sesuai

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta


50

8. Melanoma Melanoma 0.8797 Sesuai

9. Melanoma Melanoma 0.9194 Sesuai

10. Melanoma Melanoma 0.9387 Sesuai

Selain dilakukan pengujian pada data test yang berasal dari kelas melanoma,
dilakukan juga pengujian menggunakan data test yang berasal dari kelas non
melanoma. Jumlah gambar yang digunakan sama, yaitu 10 gambar. Tabel 12
menyatakan hasil pengujian yang berasal dari kelas non melanoma.

Tabel 12 Hasil Pengujian Menggunakan Data Testing Yang Berasal Dari Kelas Non Melanoma

No Gambar Kategori Kategori Confidence Keterangan


Hasil Rate
Klasifikasi
1. Non Non 0.7881 Sesuai
Melanoma Melanoma

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta


51

2. Non Non 0.8516 Sesuai


Melanoma Melanoma

3. Non Non 0.9543 Sesuai


Melanoma Melanoma

4. Non Non 0.6083 Sesuai


Melanoma Melanoma

5. Non Non 0.7707 Sesuai


Melanoma Melanoma

6. Non Non 0.9736 Sesuai


Melanoma Melanoma

7. Non Non 0.7742 Sesuai


Melanoma Melanoma

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta


52

8. Non Non 0.97432 Sesuai


Melanoma Melanoma

9. Non Non 0.97437 Sesuai


Melanoma Melanoma

10. Non Melanoma 0.9144 Tidak


Melanoma Sesuai

4.5 Analisis Data / Evaluasi Pengujian


Analisis data dilakukan setelah proses seluruh skenario telah dilakukan sehingga
dapat diukur apakah data yang digunakan sudah baik dan sesuai atau belum.
Evaluasi pengujian digunakan untuk mengukur presentase keberhasilan sistem
dengan cara membandingkan keberhasilan butir uji dengan keseluruhan butir uji
yang terdapat pada sistem. Rumus presentase keberhasilan sistem dijabarkan
sebagai berikut.
𝑇𝑜𝑡𝑎𝑙 𝑠𝑘𝑒𝑛𝑎𝑟𝑖𝑜 𝑏𝑒𝑟ℎ𝑎𝑠𝑖𝑙
𝑃𝑟𝑒𝑠𝑒𝑛𝑡𝑎𝑠𝑒 𝐾𝑒𝑏𝑒𝑟ℎ𝑎𝑠𝑖𝑙𝑎𝑛 𝑆𝑖𝑠𝑡𝑒𝑚 = 𝑥 100%
𝑇𝑜𝑡𝑎𝑙 𝑘𝑒𝑠𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛 𝑠𝑘𝑒𝑛𝑎𝑟𝑖𝑜

Keseluruhan skenario diambil dengan cara menjumlahkan total skenario unit


testing dan total skenario data testing. Total skenario unit testing berjumlah 5 butir
uji sedangkan total skenario data testing berjumlah 20 butir uji. Total keseluruhan
skenario adalah 25 skenario. Total skenario unit testing yang berhasil adalah 5, dan
total skenario data testing yang berhasil adalah 17. Perhitungan presentase
keberhasilan sistem adalah sebagai berikut.

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta


53

22
𝑃𝑟𝑒𝑠𝑒𝑛𝑡𝑎𝑠𝑒 𝐾𝑒𝑏𝑒𝑟ℎ𝑎𝑠𝑖𝑙𝑎𝑛 𝑆𝑖𝑠𝑡𝑒𝑚 = 𝑥 100% = 88%
25
Presentase keberhasilan tersebut diambil menggunakan test case melanoma yang
warna kulitnya mendekati hitam sesuai yang dijabarkan pada batasan masalah.
Selain itu, unit testing tidak memiliki skenario yang bermasalah sehingga dapat
dinyatakan bahwa website sudah berjalan dengan baik tanpa ada kendala.

Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta


BAB V
PENUTUP

5.1 Simpulan
Berdasarkan rancangan dan implementasi yang terdapat pada Bab 3 dan pengujian
yang terdapat pada Bab 4, maka dapat dinyatakan bahwa proses implementasi
image processing menggunakan algoritma Support Vector Machine (SVM) telah
berhasil dilakukan. Presentase sistem yang dimiliki sebesar 88% dengan klasifikasi
jenis kanker kulit menjadi dua kelas, yaitu melanoma dan non melanoma
berdasarkan percobaan split data dengan perhitungan confusion matrix 90:10.
Jumlah data yang digunakan sebanyak 1.200 data gambar dengan masing – masing
kelas (melanoma dan non melanoma) sebanyak 600 data gambar. Selain itu, proses
implementasi pada website telah dilakukan tanpa adanya kendala. Website
melanoma ini dapat membantu mempermudah klasifikasi penyakit kulit khususnya
melanoma atau bukan.

5.2 Saran
Hasil yang didapat dari penelitian ini belum sempurna, namun secara umum fitur
image processing telah berfungsi dengan baik. Berdasarkan studi diketahui bahwa
salah satu hal yang masih dapat ditingkatkan adalah tingkat akurasi dari kinerja
algoritma Support Vector Machine (SVM). Oleh karena itu, untuk meningkatkan
hal tersebut, dalam pengembangan penelitian selanjutnya dapat menggunakan
algoritma lain untuk membandingkan dan mencari performmance yang baik dan
dapat dilakukan dengan penambahan jumlah data training.

54
DAFTAR PUSTAKA

Andritany, 2020. sahabatartikel.co.id. [Online]


Available at: https://sahabatartikel.co.id/2018/03/7-pengertian-website-menurut-
para-ahli-terlengkap/
Dharwiyanti, S., 2003. Pengantar Unified Modeling Language (UML).
F., R, K. R., Rahmansyah, A. & Darwin, W., 2017. Penggunaan Bahasa
Pemrograman Python Sebagai Pusat Kendali Pada Robot 10-D. 5th Indonesian
Symposium on Robotic Systems and Control, pp. 1-4.
Hidayat, T. & Muttaqin, M., 2018. Pengujian Sistem Informasi Pendaftaran dan
Pembayaran Wisuda Online menggunakan Black Box Testing dengan Metode
Equivalence Partitioning dan Boundary Value Analysis. Jurnal Teknik Informatika
UNIS, p. 5.
Putri, D. D., Furqon, M. T. & Perdana, R. S., 2018. Klasifikasi Penyakit Kulit Pada
Manusia Menggunakan Metode Binary Decision Tree Support Vector Machine
(BDTSVM). Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer, p. 9.
Rahimah, A. N., Rusdianto, D. S. & Ananta, M. T., 2019. Pengembangan Sistem
Pengelolaan Ruang Baca Berbasis Web Dengan Menggunakan Django Framework
(Studi Kasus: Ruang Baca Fakultas Ilmu Komputer Universitas Brawijaya). Jurnal
Pengembangan Teknologi Informasi dan Ilmu Komputer, pp. 1-8.
Randa, A. F., Suciati, N. & Navastara, D. A., 2016. Implementasi Metode
Kombinasi Histogram Of Oriented Gradients Dan Hierarchical Centroid Untuk
Sketch Based Image Retrieval. JURNAL TEKNIK ITS Vol. 5, No. 2, (2016), p. 6.
Surgery, D. L., 2016. Melanoma. [Online]
Available at: https://www.dennislim.com.sg/melanoma-
surgery.php?keyword_k=melanoma&gclid=CjwKCAiA7t3yBRADEiwA4GFlI7_
eFnVXaMazYp5jboxHBUpcnVPJKezv-
VFbkY6eiOdR3CUI9lvZ3xoC0zoQAvD_BwE
Tuwo, A. G., 2018. Terus Meningkat, 9,6 Juta Orang Meninggal Karena Kanker.
[Online]
Available at: https://kumparan.com/kumparannews/terus-meningkat-9-6-juta-
orang-meninggal-karena-kanker-1536829633412804512
Wahaninggar, K. & S, D. R., 2016. Klasifikasi Citra Kanker Kulit Melanoma
Menggunakan Metode Support Vector Machine (SVM). pp. 5-7.
Wilvestra, S., Lestari, S. & Asri, E., 2018. Studi Retrospektif Kanker Kulit di
Poliklinik Ilmu Kesehatan Kulit dan Kelamin RS Dr. M. Djamil Padang Periode
Tahun 2015-2017. Jurnal Kesehatan Andalas, pp. 1-3.

55
56

RIWAYAT HIDUP PENULIS

Jack Martin Reinaldo

Lahir di Depok, 11 Maret 1998. Lulus


dari SDN Mekarjaya 12 pada tahun
2010, SMPN 11 Depok pada tahun
2013, dan SMAN 8 Depok pada tahun
2016. Saat ini sedang menempuh
pendidikan Diploma IV Program
Studi Teknik Informatika dan
Komputer di Politeknik Negeri
Jakarta

Anda mungkin juga menyukai