IMAGE BASED SKIN CANCER EARLY DETECTION USING CONVOLUTIONAL NEURAL NETWORK
ALGORITHM
LAPORAN SKRIPSI
Diajukan Guna Memenuhi Persyaratan Memperoleh Gelar Sarjana Komputer (S.Kom.)
Steven Johan 00000021512
PROGRAM STUDI TEKNIK INFORMASI FAKULTAS TEKNIK DAN INFORMATIKA UNIVERSITAS MULTIMEDIA NUSANTARA
TANGERANG
2021
ii
PERNYATAAN
iii
HALAMAN PENGESAHAN
Skripsi dengan judul
“Image Based Skin Cancer Early Detection Using Convolutional Neural Network Algorithm”
oleh Steven Johan
telah diujikan pada hari Selasa, 15 Juni 2021 pukul 15.00 s.d. 16.30 dan dinyatakan lulus
dengan susunan penguji sebagai berikut.
Ketua Sidang
Johan Setiawan, S.Kom., M.M., M.B.A
Penguji
Ir. Raymond Sunardi Oetama, MCIS.
Dosen Pembimbing
Friska Natalia, Ph.D.
Disahkan oleh
Ketua Program Studi Sistem Informasi - UMN
Ririn Ikana Desanti, S.Kom., M.Kom.
DN: cn=Friska Natalia, o=Universitas Multimedia Nusantara,
email=friska.natalia@
umn.ac.id, c=ID
iv
DETEKSI KANKER KULIT DINI BERBASIS GAMBAR MENGGUNAKAN ALGORITMA CONVOLUTIONAL NEURAL
NETWORK
ABSTRAK Oleh : Steven Johan
Kanker kulit merupakan jenis kanker yang paling banyak didiagnosa di dunia. Hal ini merupakan masalah serius dikarenakan tingkat kematian yang disebabkan kanker kulit cukup tinggi. Pada umumnya, tingkat mortalitas yang tinggi disebabkan oleh perawatan yang terlambat. Apabila kanker kulit didiagnosa dan ditangani saat masih tahap awal, maka tingkat kesembuhan penderita juga meningkat. Akan tetapi, tidak semua orang memiliki akses ke perawatan oleh dokter spesialis kanker kulit atau dermatologist dikarenakan berbagai faktor, seperti keterbatasan waktu, biaya, akses, dan keterbatasan informasi mengenai bahaya kanker kulit itu sendiri.
Berdasarkan permasalahan tersebut, dibuat sebuah model yang dapat mendiagnosa tiga jenis kanker kulit dengan menganalisa objek di gambar. Penelitian ini menggunakan algoritma Convolutional Neural Network (CNN) untuk melakukan klasifikasi dan menghasilkan probabilitas jenis kanker. Model CNN yang telah dibuat akan digunakan sebagai backbone dari sistem berbasis web guna memprediksi jenis kanker kulit.
Sistem yang dibuat dapat menerima masukan gambar dari device’s file system maupun kamera device secara langsung. Setelah menerima masukan gambar, maka model dari sistem akan melakukan analisa dan klasifikasi. Hasil berupa probabilitas dari tiga jenis kanker akan ditampilkan pada halaman web sistem. Sistem yang dibuat dapat bertindak sebagai aksi pertama orang-orang dalam mendiagnosa kanker kulit, sebelum pergi ke dermatologist untuk diagnosa dan perawatan lebih lanjut.
Kata kunci : Convolutional Neural Network (CNN), Klasifikasi kanker kulit, Sistem berbasis web
v
IMAGE BASED SKIN CANCER EARLY DETECTION USING CONVOLUTIONAL NEURAL NETWORK ALGORITHM
ABSTRACT By : Steven Johan
Skin cancer is the most commonly diagnosed cancer in the world. This is a serious problem due to the high rate of mortality. In general, a high rate of mortality is caused by late treatment. If skin cancer is diagnosed and treated early, then the cure rate will also improve. Unfortunately, not all people have access to treatment by a skin cancer specialist doctor or dermatologist due to limitations of time, cost, access, and knowledge regarding the risk of skin cancer.
Based on those problems, a model that is able to diagnose three types of skin cancer by analyzing image object was developed. This research uses the Convolutional Neural Network (CNN) algorithm to classify and output skin cancer type probability result. The developed model will then be used as the backbone for a web-based system to predict types of skin cancer.
The developed system can accept image input from a device’s file system and also directly from a device’s camera. After receiving an image, the system’s model will perform an analysis and classification. A result in a form of three types of skin cancer probabilities will be displayed on the system webpage. The developed system can act as people’s first action to diagnose skin cancer, before going to a dermatologist for further diagnoses and treatment.
Keyword : Convolutional Neural Network (CNN), Skin Cancer Classification, Web based system
vi
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yang Maha Kuasa sehingga skripsi yang berjudul
“Image Based Skin Cancer Early Detection Using Convolutional Neural Network (CNN) Algorithm” dapat selesai pada waktunya. Skripsi ini penulis ajukan kepada Program Strata satu, Program Studi Sistem Informasi, Fakultas Teknik dan Informatika, Universitas Multimedia Nusantara.
Dengan berakhirnya penulisan skripsi ini, penulis ingin mengucapkan terima kasih kepada Universitas Multimedia Nusantara yang telah memberi berbagai bantuan dan dukungan kepada penulis selama proses skripsi ini.
Selain itu, penulis juga ingin mengucapkan terima kasih kepada:
1. Ibu Ririn Ikana Desanti, S.Kom., M.Kom. selaku Ketua Program Studi Sistem Informasi yang telah mendukung penulis dalam menyelesaikan laporan skripsi.
2. Ibu Friska Natalia Ph.D. selaku dosen pembimbing skripsi yang telah memberikan bimbingan dan saran yang diberikan kepada penulis selama pengerjaan skripsi.
3. Ibu Wella, S.Kom., M.MSI. yang telah membantu penulis dalam memberikan arahan dan pedoman penulisan skripsi pada mata kuliah Metodologi Riset Sistem Informasi.
vii
4. Teman-teman angkatan 2017 Sistem Informasi yang telah memberikan dukungan dan saran selama proses pembuatan skripsi.
Tidak lupa penulis mengucapkan terima kasih kepada orang tua dan keluarga yang telah memberikan semangat dan doa kepada penulis dalam penyelesaian skripsi ini.
Semoga skripsi ini dapat memberikan informasi dan inspirasi yang bermanfaat bagi para pembaca.
Tangerang, 2 Juni 2021 Penulis
viii DAFTAR ISI
PERNYATAAN ... ii
HALAMAN PENGESAHAN ... iii
ABSTRAK ... iv
ABSTRACT ... v
KATA PENGANTAR ... vi
DAFTAR ISI ... viii
DAFTAR GAMBAR ... xi
DAFTAR TABEL ... xiii
DAFTAR RUMUS ... xiv
CHAPTER I INTRODUCTION ... 1
1.1. Background ... 1
1.2. Research Questions ... 3
1.3. Problem Scope ... 4
1.4. Research Objectives and Benefits ... 4
1.4.1. Research Objectives ... 4
1.4.2. Research Benefits ... 5
CHAPTER II THEORITICAL FRAMEWORK ... 6
2.1. Skin Cancer ... 6
2.1.1. BCC (Basal Cell Carcinoma) ... 6
2.1.2. SCC (Squamous Cell Carcinoma) ... 7
2.1.3. Melanoma ... 8
2.2. CRISP-DM (Cross-Industry Standard Process for Data Mining) ... 8
ix
2.3. Convolutional Neural Network (CNN) ... 10
2.3.1. CNN Algorithm ... 10
2.3.2. CNN Layer ... 11
2.4. Data Augmentation ... 12
2.5. Confusion Matrix... 13
2.6. Tools ... 14
2.6.1. Python ... 14
2.6.2. TensorFlow ... 15
2.7. Previous Research ... 15
CHAPTER III RESEARCH METHODOLOGY ... 18
3.1 Research Object ... 18
3.2 Research Method ... 19
3.2.1 Classification Method ... 19
3.2.2 Proposed Method ... 20
3.3 Research Variable ... 24
3.4 Tools ... 25
3.4.1 Programming Language ... 25
3.4.2 Hardware ... 26
3.4.3 Software ... 27
CHAPTER IV FINDINGS ... 28
4.1 Business Understanding ... 28
4.2 Data Understanding ... 28
4.3 Data Preparation ... 32
4.3.1 Dataset (Train / Test) ... 32
4.3.2 Dataset Prefetching ... 34
x
4.3.3 Dataset Normalization ... 35
4.4 Modelling ... 36
4.4.1 Data Augmentation Layer ... 36
4.4.2 Model Structure ... 37
4.4.3 Model Training ... 40
4.5 Evaluation ... 42
4.6 Deployment ... 44
4.6.1 Model Conversion ... 44
4.6.2 Web Application Development ... 46
4.7 User Acceptance Test (UAT) ... 49
4.8 Analysis and Discussion Result ... 50
CHAPTER V CONCLUSION ... 52
5.1 Conclusion ... 52
5.2 Research’s Improvement Advice ... 52
REFERENCES ... 53
APPENDIX ... 59
xi
DAFTAR GAMBAR
Image 2.1 CRISP-DM Cycles ... 10
Image 2.2 Confusion Matrix Table ... 13
Image 3.1 Common Skin Cancer Image Sample ... 19
Image 3.2 CRISP-DM Implementation in Classification Model Creation ... 21
Image 3.3 Research Variable ... 25
Image 4.1 Skin Cancer Data Distribution ... 30
Image 4.2 Skin Cancer Dataset Sample ... 31
Image 4.3 Similar Skin Cancer Sample ... 31
Image 4.4 Skin Cancer Dataset Structure ... 32
Image 4.5 Loading Dataset to Variable... 33
Image 4.6 Dataset Prefetching ... 34
Image 4.7 Image Data Shape ... 35
Image 4.8 Dataset Normalization result ... 35
Image 4.9 Data Augmentation Layer Structure ... 36
Image 4.10 CNN Model Initialization and Compilation Process ... 39
Image 4.11 Initialized CNN Model Summary ... 40
Image 4.12 Model Training using Fit() Function... 40
Image 4.13 Varying Model Accuracy while Training ... 42
Image 4.14 Saving trained model to a .h5 file ... 42
Image 4.15 Predicting Images of Test Data ... 43
Image 4.16 Extracting Predicted Class and True Class Information ... 43
Image 4.17 Generating Confusion Matrix Table ... 43
Image 4.18 Confusion Matrix Table ... 44
Image 4.19 Converting .h5 Model Format to JavaScript Compatible Format ... 45
Image 4.20 Generated Files of Converted Model ... 45
Image 4.21 Skin Cancer Detector Main Webpage ... 46
Image 4.22 Uploading Picture as Image Input ... 47
xii
Image 4.23 Using Camera as Image Input ... 48 Image 4.24 Prediction Result ... 48 Image 4.25 Skin Cancer Detector Information Webpage ... 49
xiii
DAFTAR TABEL
Table 2.1 Previous Research Analysis ... 15
Table 3.1 Skin Cancer Object Information ... 18
Table 3.2 Classification Method Comparison Table... 19
Table 3.3 Programming Language Comparison Table ... 25
Table 3.4 Python’s Main Module in This Research ... 26
Table 4.1 CNN Model Structure ... 37
Table 4.2 User Acceptance Test... 50
Table 4.3 Impact of Skin Cancer Detector’s Website ... 51
xiv
DAFTAR RUMUS
Formula 2.1 Accuracy Measurement using Confusion Matrix ... 13
59 APPENDIX 1. User Acceptance Test (UAT) Form 2. Counseling Form
3. Turnitin Test Result