COVER
KLASIFIKASI JENIS JERAWAT WAJAH MENGGUNAKAN ARSITEKTUR INCEPTION V3
LAPORAN TUGAS AKHIR
Laporan ini Disusun untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Strata 1 (S1) Pada Program Studi Teknik Informatika
Fakultas Teknologi Industri Universitas Islam Sultan Agung
DISUSUN OLEH :
SALWA AHLA AMANIA 32601900029
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS ISLAM SULTAN AGUNG
SEMARANG 2023
ii
ARCHITECTURE
Proposed to complete the requirement to obtain a bachelor’s degree (S1) at Informatics Engineering Departement of Industrial Technology Faculty
Sultan Agung Islamic University
Arranged By :
SALWA AHLA AMANIA 32601900029
MAJORING OF INFORMATICS ENGINEERING INDUSTRIAL TECHNOLOGY FACULTY SULTAN AGUNG ISLAMIC UNIVERSITY
SEMARANG JULY 2023
vii
KATA PENGANTAR
Dengan mengucap syukur alhamdulillah atas kehadirat Allah SWT yang telah memberikan rahmat dan karunianya kepada penulis, sehingga dapat menyelesaikan Tugas Akhir dengan judul “Klasifikasi Jenis Jerawat Wajah Menggunakan Arsitektur Inception V3” ini untuk memenuhi salah satu syarat menyelesaikan studi serta dalam rangka memperoleh gelar sarjana (S-1) pada Program Studi Teknik Informatika Fakultas Teknologi Industri Universitas Islam Sultan Agung Semarang.
Tugas Akhir ini disusun dan dibuat dengan adanya bantuan dari berbagai pihak, materi maupun teknis, oleh karena itu saya selaku penulis mengucapkan terima kasih kepada:
1. Rektor UNISSULA Bapak Prof. Dr. H. Gunarto, S.H., M.H yang mengizinkan penulis menimba ilmu di kampus ini.
2. Dekan Fakultas Teknologi Industri Ibu Dr. Novi Marlyana, S.T., M.T.
3. Dosen pembimbing I penulis Bapak Ir. Sri Mulyono, M.Eng yang telah meluangkan waktu dan memberi ilmu.
4. Dosen pembimbing II penulis Bapak Sam Farisa Chaerul Haviana, S.T., M.Kom yang memberikan banyak nasehat dan saran.
5. Pakar tugas akhir penulis dr. Sona Sulistyo, M.Biomed yang telah membantu validasi data tugas akhir.
6. Orang tua penulis yang telah mengizinkan untuk menyelesaikan laporan ini dan senantiasa memberikan semangat serta doa agar tugas akhir ini berjalan dengan lancar,
7. Dan kepada semua pihak yang tidak dapat saya sebutkan satu persatu.
Dengan segala kerendahan hati, penulis menyadari masih terdapat banyak kekurangan dari segi kualitas atau kuantitas maupun dari ilmu pengetahuan dalam penyusunan laporan, sehingga penulis mengharapkan adanya saran dan kritikan yang bersifat membangun demi kesempurnaan laporan ini di masa mendatang.
Semarang, 19 Juli 2023
Salwa Ahla Amania
viii
LEMBAR PENGESAHAN PENGUJI ... iv
SURAT PERNYATAAN KEASLIAN TUGAS AKHIR ... v
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH ... vi
KATA PENGANTAR ... vii
DAFTAR ISI ... viii
DAFTAR TABEL... x
DAFTAR GAMBAR ... xi
ABSTRAK ... xiii
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang... 1
1.2 Perumusan Masalah ... 2
1.3 Pembatasan Masalah ... 2
1.4 Tujuan ... 2
1.5 Manfaat ... 3
1.6 Sistematika Penulisan ... 3
BAB II TINJAUAN PUSTAKA DAN DASAR TEORI ... 4
2.1 Tinjauan Pustaka ... 4
2.2 Dasar Teori ... 7
2.2.1 Deep Learning ... 7
2.2.2 Convolutional Neural Network (CNN)... 8
2.2.3 Inception V3 ... 10
BAB III METODE PENELITIAN ... 12
3.1 Metode Penelitian ... 12
3.1.1 Studi Literatur ... 12
3.1.2 Data Collection... 13
3.1.3 Data Cleaning... 14
3.1.4 Data Preprocessing ... 15
ix
3.1.5 Data Training ... 17
3.1.6 Data Testing ... 18
3.2 Perancangan Alur Sistem ... 20
3.2.1 Analisis Alur Sistem ... 20
3.2.2 Analisis Kebutuhan ... 22
3.2.3 Analisis Sistem ... 22
3.3 Perancangan User Interface ... 25
3.3.1 Halaman Utama ... 25
3.3.2 Halaman Klasifikasi ... 26
BAB IV HASIL DAN ANALISIS PENELITIAN ... 27
4.1 Proses Pengolahan Training dan Validation ... 27
4.1.1 Cleaning ... 27
4.1.2 Preprocessing ... 30
4.2 Proses Penggunaan dan Cara Kerja Sistem ... 33
4.2.1 Unggah Gambar ... 33
4.2.2 Pemrosesan Gambar ... 34
4.2.3 Klasifikasi Berdasarkan Model ... 34
4.3 Implementasi User Interface ... 35
4.3.1 Halaman Utama ... 35
4.3.2 Halaman Klasifikasi ... 36
4.4 Pengujian Sistem ... 37
4.5 Hasil dan Analisis ... 42
4.5.1 Training dan Validation ... 42
4.5.2 Testing ... 46
4.5.3 Hasil Testing... 59
BAB V KESIMPULAN DAN SARAN ... 64
5.1 Kesimpulan ... 64
5.2 Saran ... 64
DAFTAR PUSTAKA ... 65
LAMPIRAN ... 68
x
Tabel 3. 3 Analisis Tools Sistem ... 23
Tabel 4. 1 Black Box Testing... 38
Tabel 4. 2 Grafik Accuracy & Loss ... 43
Tabel 4. 3 Hasil Konfigurasi ... 46
Tabel 4. 4 Accuracy, Precision, Recall & F1-Score Konfigurasi 1 ... 47
Tabel 4. 5 Precision, Recall & F1-Score Kelas (Konfigurasi 1) ... 48
Tabel 4. 6 TP, FP, FN, & TN Konfigurasi 1 ... 48
Tabel 4. 7 Perhitungan Manual 1 (Konfigurasi 1) ... 49
Tabel 4. 8 Perhitungan Manual 2 (Konfigurasi 1) ... 50
Tabel 4. 9 Accuracy, Precision, Recall & F1-Score Konfigurasi 2 ... 51
Tabel 4. 10 Precision, Recall & F1-Score Kelas (Konfigurasi 2) ... 52
Tabel 4. 11 TP, FP, FN, & TN Konfigurasi 2 ... 52
Tabel 4. 12 Perhitungan Manual 1 (Konfigurasi 2) ... 53
Tabel 4. 13 Perhitungan Manual 2 (Konfigurasi 2) ... 54
Tabel 4. 14 Accuracy, Precision, Recall & F1-Score Konfigurasi 3 ... 55
Tabel 4. 15 Precision, Recall & F1-Score Kelas (Konfigurasi 3) ... 56
Tabel 4. 16 TP, FP, FN, & TN Konfigurasi 3 ... 56
Tabel 4. 17 Perhitungan Manual 1 (Konfigurasi 3) ... 57
Tabel 4. 18 Perhitungan Manual 2 (Konfigurasi 3) ... 58
Tabel 4. 19 Hasil Uji Coba ... 59
xi
DAFTAR GAMBAR
Gambar 2. 1 Perbedaan Machine Learning & Deep Learning (Rahutomo dkk.,
2020) ... 8
Gambar 2. 2 Proses Convolutional Neural Network (Phung dkk., 2019) ... 9
Gambar 2. 3 Arsitektur Inception V3(Jonathan Imago Dei Gloriawan, 2020) ... 11
Gambar 3. 1 Alur Penelitian... 12
Gambar 3. 2 Data Kelas Jenis Jerawat ... 13
Gambar 3. 3 Data Gambar Jenis-Jenis Jerawat ... 14
Gambar 3. 4 Flowchart Sistem ... 21
Gambar 3. 5 User Interface Halaman Utama 1... 25
Gambar 3. 6 User Interface Halaman Utama 2... 26
Gambar 3. 7 User Interface Halaman Klasifikasi ... 26
Gambar 4. 1 Format dataset awal ... 27
Gambar 4. 2 Format dataset terbaru ... 28
Gambar 4. 3 Jumlah dataset awal ... 29
Gambar 4. 4 Jumlah dataset terbaru ... 29
Gambar 4. 5 Jumlah dataset sebelum preprocessing ... 30
Gambar 4. 6 Dataset awal ... 31
Gambar 4. 7 Jumlah dataset setelah preprocessing ... 31
Gambar 4. 8 Tampilan dataset setelah preprocessing ... 32
Gambar 4. 9 Dataset keseluruhan (augmentasi dan data asli) ... 33
Gambar 4. 10 Kode Unggah Gambar ... 34
Gambar 4. 11 Kode Pemrosesan Gambar ... 34
Gambar 4. 12 Kode Load Konfigurasi7.h5 ... 35
Gambar 4. 13 Kode Prediksi Gambar ... 35
Gambar 4. 14 Halaman Utama Website ... 35
Gambar 4. 15 Halaman Utama setelah gambar di-upload ... 36
Gambar 4. 16 Halaman Klasifikasi ... 37
Gambar 4. 17 Result Testing Acne Nodules ... 39
Gambar 4. 18 Result Testing Acne Fulminans ... 40
xii
Gambar 4. 23 Confusion Matrix Konfigurasi 2 (Adam) ... 51 Gambar 4. 24 Confusion Matrix Konfigurasi 3 (RMSprop) ... 55
xiii ABSTRAK
Jerawat adalah masalah umum pada kulit yang mempengaruhi kualitas hidup individu dan kesehatan mental. Ketidaktersediaan sumber informasi yang memandu dalam mengidentifikasi jenis jerawat mengakibatkan kesulitan dalam mencari solusi yang efektif untuk mengatasinya. Oleh karena itu, dibutuhkan suatu sistem yang dapat membantu mengidentifikasi jenis jerawat yang sedang dialami. Dengan informasi tentang jenis jerawat yang terjadi pada kulit mereka, masyarakat dapat menemukan solusi yang sesuai untuk mengatasi masalah jerawat tersebut. Penelitian ini memanfaatkan arsitektur Inception V3 untuk melakukan klasifikasi jenis jerawat pada wajah yang diimplementasikan dalam sistem berbasis website. Arsitektur Inception V3 dipilih karena dapat menangani berbagai jenis operasi konvolusi dengan ukuran kernel yang berbeda secara paralel, serta efisien dalam mengekstraksi fitur-fitur kompleks dari gambar.
Beberapa percobaan konfigurasi dilakukan untuk mencapai performa model yang terbaik.
Percobaan tersebut mencakup penggunaan optimizer SGD, Adam, dan RMSprop dengan jumlah epoch 30 pada setiap konfigurasi. Model dengan kinerja terbaik pada tahap training dan validation ditemukan pada konfigurasi 3, dengan accuracy 0.9956, loss 0.0134, val-acc 0.8190, dan val-loss 1.6791. Pada tahap testing dengan data test yang berasal dari berbagai sumber dan telah divalidasi oleh pakar, model ini mencapai accuracy 0.833334, precision 0.855556, recall 0.833334, dan f1-score 0.838624.
Kata Kunci: Jerawat, Inception V3, Website ABSTRACT
Acne is a common skin problem that affects an individual's quality of life and mental health. The unavailability of information sources that guide in identifying the type of acne results in difficulties in finding effective solutions to overcome them. Therefore, we need a system that can help identify the type of acne that is being experienced. With information about the type of acne that occurs on their skin, people can find the appropriate solution to overcome the acne problem. This study utilizes the Inception V3 architecture to classify types of acne on the face which is implemented in a website-based system. The Inception V3 architecture was chosen because it can handle various types of convolution operations with different kernel sizes in parallel, and is efficient in extracting complex features from images. Several configuration experiments were carried out to achieve the best model performance. The experiment includes the use of SGD, Adam, and RMSprop optimizers with 30 epochs in each configuration. The model with the best performance at the training and validation stages is found in configuration 3, with accuracy 0.9956, loss 0.0134, val-acc 0.8190, and val-loss 1.6791. In the testing phase with test data originating from various sources and validated by experts, this model achieves an accuracy of 0.833334, a precision of 0.855556, a recall of 0.833334, and an f1-score of 0.838624.
Keywords: Acne, Inception V3, Website
1 BAB I PENDAHULUAN 1.1 Latar Belakang
Dalam perkembangan teknologi saat ini, terutama di bidang kecerdasan buatan dan pengolahan citra, telah memberikan berbagai manfaat signifikan bagi manusia. Karena itu, penelitian ini akan mengembangkan sebuah sistem yang dapat memberikan manfaat bagi manusia, terutama dalam konteks kesehatan kulit wajah. Fokus penelitian ini akan berpusat pada studi kasus mengenai jenis-jenis jerawat pada wajah. Jerawat, yang juga dikenal sebagai acne, ialah sebuah kelainan kulit yang terkait dengan produksi minyak (sebum) yang berlebihan.
Selain mengganggu penampilan, jerawat juga dapat menimbulkan masalah kesehatan mental yang bervariasi, mulai dari yang ringan hingga serius, yang sering kali tidak terlepas dari fenomena "acne shaming" yang sering dialami oleh individu dengan kulit berjerawat.
Menurut Dr. Purnama Sari (2019), seorang dokter spesialis kulit dari Erha, mengungkapkan bahwa di Indonesia, kasus jerawat sering ditemukan dengan jumlah hampir dua juta kasus per tahun. Kondisi ini terkait dengan iklim tropis dan panas di Indonesia, seperti di daerah Makassar, yang dapat menyebabkan kulit wajah menjadi berminyak. Jerawat sendiri memiliki berbagai jenis, termasuk blackhead, whitehead, papula, pustula, nodul, dan kistik, dengan tingkat keparahan yang berbeda-beda mulai dari ringan hingga berat. Pada orang Indonesia, jerawat umumnya muncul pada usia remaja awal dan remaja akhir, yang disebabkan oleh perubahan hormonal selama masa pubertas (Lestari, 2022).
Kurangnya pemahaman masyarakat mengenai jerawat menyebabkan mereka mencari informasi di internet yang tidak selalu memiliki dasar pengetahuan ahli.
Sementara itu, melakukan konsultasi langsung dengan ahli membutuhkan biaya dan waktu yang signifikan.
2
Berdasarkan penjelasan latar belakang tersebut, dapat dikembangkan sebuah sistem yang memiliki kemampuan untuk mengklasifikasi jenis jerawat yang ada pada wajah. Hasil informasi yang diperoleh dari penelitian ini diharapkan dapat membantu memberikan panduan kepada masyarakat dalam mengidentifikasi jenis jerawat yang dialami, serta menjadi alternatif dalam menentukan langkah-langkah yang tepat untuk mengatasi jerawat sesuai dengan jenisnya.
1.2 Perumusan Masalah
Ketidaktersediaan sumber informasi yang dapat memandu pengguna dalam mengidentifikasi jenis jerawat yang sedang dialami mengakibatkan kesulitan dalam mencari solusi yang efektif untuk mengatasi masalah tersebut.
1.3 Pembatasan Masalah
Adapun batasan masalah yang ada dalam pembuatan Tugas Akhir ini, adalah sebagai berikut :
1. Dataset yang digunakan untuk data training dan data validation berasal dari link berikut:
https://www.kaggle.com/datasets/dinartas/skin90?resource=download dimana terdapat gambar beberapa jenis penyakit wajah.
2. Jumlah data yang digunakan untuk training dan validation sebanyak 351 sampel yang terdiri dari 5 kelas yaitu 70 Pustula, 70 Papula, 70 Acne Fulminans, 71 Acne Nodules dan 70 Fungal Acne.
3. Untuk data testing yang digunakan berasal dari berbagai sumber. Seluruh data test yang digunakan tervalidasi oleh pakar yaitu dr. Sona Sulistyo, M.Biomed. Jumlah data sebanyak 3 Pustula, 4 Papula, 3 Acne Fulminas, 4 Acne Nodules, dan 4 Fungal Acne.
1.4 Tujuan
Tujuan tugas akhir ini adalah untuk membangun sebuah sistem yang dapat memberikan informasi jenis jerawat yang ada pada wajah dengan menggunakan arsitektur Inception V3.
1.5 Manfaat
Berdasarkan pemasalahan dan tujuan penelitian, maka dapat diambil manfaat dari penelitian ini adalah dapat membantu dalam mengidentifikasi jenis- jenis jerawat pada wajah secara lebih mudah.
1.6 Sistematika Penulisan
Sistematika penulisan yang akan digunakan oleh penulis dalam pembuatan laporan tugas akhir adalah sebagai berikut :
BAB I : PENDAHULUAN
Menguraikan latar belakang pemilihan judul, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian dan sistematika penulisan.
BAB II : TINJAUAN PUSTAKA DAN DASAR TEORI
Memaparkan penelitian sebelumnya dari 2018 hingga 2022 dan teori yang relevan, termasuk pemahaman tentang algoritma Inception V3 yang berhubungan dengan penelitian ini.
BAB III : METODE PENELITIAN
Memaparkan langkah-langkah pelaksanaan penelitian yang dimulai dengan pendekatan metodologi penelitian, rancangan alur sistem dan rancangan user interface.
BAB IV : HASIL DAN ANALISIS PENELITIAN
Menjelaskan jalannya penelitian dan hasilnya, termasuk langkah- langkah pengolahan data training dan validation, proses penggunaan sistem, implementasi antarmuka pengguna, pengujian sistem beserta hasilnya, dan analisis dari penelitian yang dilakukan.
BAB V : KESIMPULAN DAN SARAN
Memaparkan ringkasan mengindikasikan pencapaian tujuan penelitian ini, dan juga memberikan rekomendasi bagi pihak yang berminat untuk melanjutkan pengembangan penelitian lebih lanjut.
4 BAB II
TINJAUAN PUSTAKA DAN DASAR TEORI 2.1 Tinjauan Pustaka
Jerawat merupakan suatu masalah peradangan yang terjadi di unit folikel rambut dan kelenjar minyak. Kondisi ini bersifat jangka panjang dan memiliki kemampuan untuk sembuh dengan sendirinya. Penyebab timbulnya jerawat adalah kehadiran bakteri Cutibacterium acnes (dahulu dikenal sebagai Propionibacterium acnes) selama masa remaja, yang dipengaruhi oleh kadar normal hormon dehydroepiandrosterone (DHEA) dalam sirkulasi tubuh. Jerawat merupakan kelainan kulit yang umum terjadi, yang ditandai dengan munculnya lesi peradangan dan non-peradangan, terutama di daerah wajah, tetapi juga dapat terjadi pada lengan atas, dada, dan punggung (Sifatullah dkk., 2021).
Jerawat memiliki berbagai macam manifestasi klinis, mulai dari komedo, papula, pustula, nodul, dan bekas luka, sehingga diklasifikasikan sebagai penyakit kulit yang pleomorfik. Selain dipengaruhi oleh faktor hormonal dan penyumbatan folikel, jerawat sering kali menjadi lebih parah karena aktivitas bakteri yang menginfeksi jaringan kulit yang meradang. Bakteri yang paling umum menyebabkan infeksi kulit dan pembentukan nanah adalah bakteri propionibacterium (P. Acnes), diikuti oleh bakteri staphylococcus aureus dan staphylococcus epidermidis. Propionibacterium acnes dan staphylococcus epidermidis adalah mikroorganisme pembentuk nanah yang berperan dalam perkembangan berbagai bentuk jerawat (Marliana dkk., 2018).
Jerawat adalah gangguan kulit yang umum terjadi dan mempengaruhi sekitar 80%-100% populasi. Menurut studi Global Burden of Disease (GBD), sekitar 85% orang dewasa muda berusia 12-25 tahun mengalami jerawat.
Penelitian di Jerman menemukan bahwa 64% individu berusia 20-29 tahun dan 43% individu berusia 30-39 tahun menderita jerawat. Di India, penyakit ini diketahui paling sering menyerang lebih dari 80% populasi dunia pada beberapa periode kehidupan dan 85% remaja di negara maju. Prevalensi jerawat di kawasan Asia Tenggara berkisar antara 40-80% kasus, dan menurut catatan dari
dermatologi kosmetika Indonesia, terjadi peningkatan yang signifikan yaitu 60%
penderita jerawat pada tahun 2006, 80% pada tahun 2007, dan mencapai 90%
pada tahun 2009 (Sibero dkk., 2019).
Menurut Kelompok Studi Dermatologi Kosmetika Indonesia (PERDOSKI) pada tahun 2017, Jerawat menempati urutan ketiga dalam hal jumlah pengunjung di Departemen Ilmu Kesehatan Kulit dan Kelamin di rumah sakit maupun klinik kulit di Indonesia. Prevalensi tertinggi terjadi pada usia 14-17 tahun, dengan persentase sekitar 83-85% pada wanita dan sekitar 95-100% pada pria pada usia 16-19 tahun (Yusuf dkk., 2020).
Untuk mendukung penelitian mengenai jerawat, terdapat beberapa sumber penelitian sebelumnya yang berhubungan secara langsung maupun tidak langsung dengan topik penelitian ini, di antaranya:
Penelitian yang dilakukan untuk mengidentifikasi jenis jerawat wajah, khususnya jerawat papula dan pustula. Penelitian tersebut melibatkan 60 foto digital dan 10 foto wajah manusia secara langsung, serta menerapkan metode Filter Gaussian dan Otsu thresholding. Hasil penelitian yang dilakukan menunjukkan bahwa metode yang digunakan mampu mendeteksi jerawat dengan tingkat akurasi mencapai 92% (Vasefi dkk., 2018).
Penelitian yang dilakukan untuk mengidentifikasi penyakit kulit secara umum, khusunya acne, keratosis, eczema herpeticum dan urticarial. Penelitian tersebut melibatkan 30 – 60 citra perkelas, menerapkan metode Convolutional Neural Network (CNN). Hasil penelitian yang dilakukan menunjukkan bahwa metode yang digunakan mampu mendeteksi dengan tingkat akurasi yang tinggi, yakni berkisar antara 98,6% hingga 99,04% (Shanthi dkk., 2020).
Penelitian yang dilakukan untuk mengidentifikasi jenis jerawat wajah, khususnya jerawat Fungal Acne, Acne Nodules dan Acne Fulminans. Penelitian tersebut melibatkan 70 citra Fungal Acne dan Acne Fulminans serta 71 citra Acne Nodules. Pada penelitian tersebut menggunakan metode Convolutional Neural Network (CNN). Hasil penelitian yang dilakukan menunjukkan bahwa metode yang digunakan mampu mendeteksi dengan tingkat akurasi sebesar 99,8% hingga 100% (Sudana Putra dkk., 2021).
6
Penelitian yang dilakukan untuk mengidentifikasi jenis jerawat wajah berupa komedo, papula, pustula dan nodula menggunakan data yang berasal dari DermNet New Zealand. Pada penelitian ini menggunakan metode K-Means Clustering. Hasil penelitian dari 45 citra yang diuji, 34 citra dideteksi dengan baik dan 11 citra belum dideteksi dengan baik. Sehingga didapatkan hasil, bahwa metode yang digunakan masih belum akurat dalam mendeteksi (Hasanah dkk., 2022).
Berdasarkan hasil penelitian sebelumnya, dapat disimpulkan bahwa metode Convolutional Neural Network (CNN) sangat efektif dalam mengidentifikasi jenis jerawat pada wajah. Riset-riset sebelumnya menunjukkan bahwa penerapan metode CNN memberikan tingkat akurasi yang tinggi. Salah satu arsitektur yang sering digunakan dalam metode CNN adalah Inception V3. Terdapat beberapa penelitian terdahulu yang telah menggunakan arsitektur Inception V3 dalam konteks yang berbeda dan berhasil mencapai tingkat akurasi yang tinggi. Berikut ini adalah beberapa penelitian yang telah menggunakan arsitektur Inception V3:
Penelitian yang dilakukan untuk mengelompokkan gambar sinar-X thorax ke dalam tiga kategori yaitu gambar sinar-X normal, pneumonia, dan covid19.
Berdasarkan percobaan yang menggunakan model InceptionNet V3 yang diajukan, didapatkan hasil akurasi yang sangat baik, mencapai 98%, dan nilai kerugian (loss) sebesar 0.12. Dengan demikian, model InceptionNet V3 yang diajukan telah terbukti efisien dalam mengklasifikasikan gambar sinar-X thorax (Minarno dkk., 2021).
Penelitian ini bertujuan untuk mengklasifikasikan kanker payudara. Data yang digunakan dalam penelitian ini adalah citra kanker payudara yang diambil dengan empat skala zoom berbeda, yaitu 40X, 100X, 200X, dan 400X. Dataset ini diperoleh dari Laboratorium Universitas Parana yang bekerja sama dengan Laboratorium P&D Patologi Anatomi dan Sitopatologi, Parana, Brasil. Hasil dari penelitian ini mengindikasikan bahwa pemanfaatan metode ekstraksi fitur Inception V3 dengan pendekatan klasifikasi Regresi Logistik pada data yang diambil dengan zoom scale 40X memperoleh kinerja yang optimal. Tingkat
akurasi mencapai 93,00%, presisi sebesar 94,00%, recall sebesar 91,00%, dan nilai F1-score mencapai 92,00%. (Supriyanto dkk., 2022).
Berdasarkan penelitian sebelumya, menunjukkan bahwa arsitektur Inception V3 memiliki kemampuan yang baik dalam mengidentifikasi objek dengan tingkat akurasi yang tinggi. Oleh karena itu, dalam penelitian ini nantinya akan membuat sebuah sistem yang dapat mendeteksi atau mengklasifikasi jenis jerawat wajah dengan menggunakan arsitektur Inception V3.
2.2 Dasar Teori 2.2.1 Deep Learning
Deep Learning adalah cabang dari Kecerdasan Buatan (Artificial Intelligence) dan Pembelajaran Mesin (Machine Learning) di mana jaringan saraf tiruan dan algoritmanya terinspirasi oleh fungsi otak manusia, dan mereka belajar dari dataset yang besar. Mirip dengan bagaimana kita memperoleh pengetahuan dari pengalaman, algoritma dalam deep learning juga melakukan tugas-tugasnya melalui iterasi berulang. Teknik deep learning menggunakan jaringan saraf tiruan yang terdiri dari banyak lapisan untuk mencapai akurasi yang tinggi dalam melakukan berbagai tugas, seperti deteksi objek, pengenalan suara, terjemahan bahasa, dan lainnya. Salah satu keunggulan utamanya adalah fleksibilitas arsitekturnya yang memungkinkan untuk belajar langsung dari data mentah.
Dengan memberikan lebih banyak data, sistem deep learning dapat meningkatkan akurasi prediksi yang diberikan (Rosalina dkk., 2020).
8
Gambar 2. 1 Perbedaan Machine Learning & Deep Learning (Rahutomo dkk., 2020)
Pada gambar 2.1 ditunjukkan gambaran perbedaan konsep deep learning dengan machine learning. Prinsip dasar dari deep learning serupa dengan machine learning, tetapi pada deep learning, tidak ada kebutuhan untuk secara eksplisit mendefinisikan fitur atau yang dikenal dengan istilah Feature extraction / Feature Selection. Perbedaan utama antara machine learning dan deep learning terletak pada prosesnya, di mana dalam algoritma deep learning, langkah input dan proses ekstraksi fitur (feature extraction) terjadi secara simultan dengan langkah klasifikasi untuk menghasilkan output (Rahutomo dkk., 2020).
2.2.2 Convolutional Neural Network (CNN)
Convolutional Neural Network (CNN) adalah jenis arsitektur jaringan saraf tiruan yang dirancang khusus untuk memproses data berstruktur, seperti gambar dan data bergrid. CNN sangat efektif dalam tugas-tugas seperti pengenalan gambar, deteksi objek, segmentasi gambar, dan banyak lagi. Arsitektur CNN terinspirasi oleh cara kerja visual manusia dan sistem pengindraan visual hewan.
Pada dasarnya, CNN memanfaatkan prinsip konvolusi dengan menggerakkan inti (filter) konvolusi dengan dimensi tertentu melintasi gambar.
Proses ini memungkinkan komputer untuk memperoleh representasi informasi yang baru dari hasil filter yang diterapkan pada berbagai bagian gambar (Yumame dkk., 2022).
Gambar 2. 2 Proses Convolutional Neural Network (Phung dkk., 2019)
Pada gambar 2.2 merupakan gambaran umum arsitektur Convolutional Neural Network yang terdiri atas input, feature extraction dan classification.
Dalam feature extraction terdapat beberapa proses antara lain:
a. Convolution Layer
Layer Konvolusi (Convolution Layer) merupakan tahap yang krusial dalam struktur Jaringan Saraf Konvolusi (CNN), di mana operasi konvolusi diterapkan pada keluaran lapisan sebelumnya. Tujuan utama konvolusi pada data gambar adalah untuk mengekstrak fitur-fitur dari gambar input tersebut.
Proses konvolusi menghasilkan transformasi linear dari data masukan, yang bergantung pada informasi spasial dalam data tersebut. Bobot-bobot yang ada dalam lapisan ini mengontrol kernel konvolusi yang digunakan. Selama proses pelatihan CNN, bobot-bobot ini dapat disesuaikan sesuai dengan input yang diterima, sehingga kernel konvolusi dapat diadaptasi untuk mengambil fitur-fitur yang tepat dari data.
b. Pooling Layer
Lapisan pooling (pooling layer) merupakan unsur dalam Convolutional Neural Network (CNN) yang bertujuan mengurangi dimensi spasial dari peta fitur yang dihasilkan oleh lapisan konvolusi. Tujuannya adalah untuk mengurangi jumlah parameter yang dibutuhkan, mengurangi beban komputasi, serta membantu mencegah overfitting. Umumnya, lapisan pooling diletakkan di antara lapisan konvolusi untuk mengurangi resolusi peta fitur.
10
c. Fully Connected Layer
Lapisan sepenuhnya terhubung (fully connected layer) adalah jenis lapisan dalam jaringan saraf tiruan, termasuk Convolutional Neural Network (CNN), di mana setiap neuron di lapisan ini memiliki koneksi ke setiap neuron di lapisan sebelumnya. Lapisan ini juga dikenal sebagai lapisan densitas penuh atau lapisan jaringan saraf biasa.
Layer ini sering digunakan dalam implementasi Multilayer Perceptron (MLP) dengan tujuan untuk mentransformasi dimensi data agar data dapat dianalisis secara linear. Sebelum dimasukkan ke dalam lapisan sepenuhnya terhubung, setiap neuron di lapisan konvolusi perlu diubah menjadi bentuk satu dimensi terlebih dahulu. Namun, perlu diingat bahwa proses ini mengakibatkan hilangnya informasi spasial yang tidak dapat dipulihkan.
Oleh karena itu, fully connected layer hanya bisa diterapkan di bagian akhir jaringan (Suartika dkk., 2016).
2.2.3 Inception V3
Arsitektur Inception merupakan sebuah model deep convolutional neural network yang mencapai state-of-the-art pada klasifikasi dan deteksi di ImageNet Large-Scale Visual Recognition Challenge 2014 (ILSVRC14). Salah satu versi arsitektur tersebut adalah Inception V3, yang merupakan pengembangan dari Inception sebelumnya (Angjaya dkk., 2021).
Inception V3 adalah struktur arsitektur yang mengutamakan efisiensi komputasi dengan jumlah parameter yang lebih rendah. Inception-V3 merupakan perpaduan dari penyempurnaan yang terdapat pada versi sebelumnya, di mana terdapat beberapa tambahan fitur, termasuk penggunaan RMSProp sebagai optimizer, penerapan konvolusi factorized 7x7, BatchNorm pada classifier tambahan, serta penerapan label smooting. Dalam Inception V3 ini, terdapat penerapan faktorisasi untuk mengurangi jumlah parameter yang digunakan (Hardiono dkk., 2020).
Pada tahun 2014, Szegedy memperkenalkan Inception V3 melalui makalah berjudul "Going Deeper with Convolutions". Model InceptionV3 telah menjalani proses pelatihan menggunakan data dari dataset ImageNet dan memiliki kemampuan untuk mengenali berbagai 1000 kelas yang terdapat dalam ImageNet dengan tingkat kesalahan yang minimal mencapai 3,5%, serta tingkat kesalahan yang paling tinggi mencapai 17,3% (Baihaqy dkk., 2022).
Gambar 2. 3Arsitektur Inception V3(Jonathan Imago Dei Gloriawan, 2020)
Ilustrasi pada gambar 2.3 mengilustrasikan struktur InceptionV3 yang terdiri dari 42 lapisan, dibagi menjadi tiga modul utama. Pada Modul A, diterapkan teknik Factorization into Smaller Convolutions dengan menggantikan filter 5x5 dari generasi sebelumnya dengan dua filter 3x3, yang mengakibatkan pengurangan parameter hingga sebesar 28%. Modul B mengadopsi metode Factorization into Asymmetric Convolutions yang diatur secara berurutan, di mana filter 3x3 digantikan oleh dua filter asimetris, yakni 3x1 dan 1x3, sehingga mengurangi parameter sebesar 33% dibanding generasi sebelumnya. Modul C juga menggunakan teknik Factorization into Asymmetric Convolutions, namun diatur dalam mode paralel, menghasilkan output dengan dimensi yang lebih besar.
Dalam struktur InceptionV3, setiap modul diberi Auxilary Classifier untuk meningkatkan kapabilitas penyaringan fitur. Terdapat juga proses Grid Size Reduction yang terletak antara Modul A dengan B, dan Modul B dengan C, berfungsi untuk mengurangi dimensi matriks Feature Map, serupa dengan fungsi lapisan Pooling pada arsitektur lainnya. (Jonathan Imago Dei Gloriawan, 2020).
12 BAB III
METODE PENELITIAN 3.1 Metode Penelitian
Dalam penelitian ini, menggunakan arsitektur Inception V3 sebagai algoritma yang digunakan untuk melakukan klasifikasi jenis jerawat pada wajah.
Terdapat beberapa langkah yang harus dilakukan dalam penelitian ini, yang dapat ditemukan pada gambar 3.1.
Gambar 3. 1Alur Penelitian
3.1.1 Studi Literatur
Peneliti mencari berbagai referensi yang berkaitan dengan penelitian yang dilakukan. Adapun teori dan praktik yang dipelajari meliputi Deep Learning, Convolution Neural Network (CNN), dan Inception V3 dari berbagai sumber yang ada seperti halnya buku, artikel, jurnal serta dari berbagai situs website yang ada di internet.
3.1.2 Data Collection
Data yang digunakan untuk training dan validation dalam penelitian ini didapatkan dari kaggle yang terdapat di link berikut ini, https://www.kaggle.com/datasets/dinartas/skin90?resource=download. Data yang diperoleh berjumlah 351 data sampel wajah berjerawat yang dibagi menjadi 5 kelas yaitu 70 Pustula, 70 Papula, 70 Acne Fulminans, 71 Acne Nodules dan 70 Fungal Acne.
Gambar 3. 2 Data Kelas Jenis Jerawat
Pada gambar 3.2, memperlihatkan 5 kelas jenis jerawat yang akan digunakan dalam sistem deteksi jerawat menggunakan arsitektur Inception V3.
Pada gambar 3.3 juga memperlihatkan data gambar jenis-jenis jerawat yang digunakan dalam penelitian ini.
14
Gambar 3. 3 Data Gambar Jenis-Jenis Jerawat
3.1.3 Data Cleaning
Pada tahapan kedua ini, dilakukan pembersihan data (data cleaning) yang tidak valid, tidak akurat, dan tidak relevan diidentifikasi, diperbaiki, atau dihapus.
Pada penelitian ini, data cleaning dilakukan dengan beberapa tahapan yaitu:
a. Konversi Data ke JPG
Pada dataset yang digunakan terdapat beberapa citra yang berformat jfif. Oleh karena itu, perlu dilakukan konversi citra ke format jpg agar tidak terjadi permasalahan dalam penggunaan data sebagai data training dan validation.
b. Penghapusan Data
Jumlah dataset yang akan digunakan mengalami ketidakseimbangan, yang dikenal sebagai skewness distribution, di mana kelas acne nodules memiliki 71 data, sedangkan kelas pustula, papula, acne fulminans, dan fungal acne hanya memiliki 70 data perkelas. Kondisi ini dapat menyebabkan bias pada model, dimana model cenderung lebih sering memprediksi kelas acne nodules karena telah lebih banyak mempelajari kelas tersebut. Oleh karena itu, perlu dilakukan penghapusan data yang berlebih pada kelas acne nodules.
3.1.4 Data Preprocessing
Tahapan ketiga yang dilakukan merupakan tahap awal dalam pengolahan data setelah data cleaning yang bertujuan untuk memperoleh data yang berkualitas, optimal, dan dapat diolah dengan mudah oleh algoritma atau metode pengolahan data yang dipilih. Dalam penelitian ini, data preprocessing dilakukan dengan beberapa tahapan yaitu :
a. Resize
Resize dilakukan untuk mengubah resolusi serta dimensi horizontal dan vertikal pada citra digital. Ukuran citra diubah menjadi 299px * 299px, sesuai dengan arsitektur Inception-V3 yang bertujuan untuk mempercepat dan mempermudah proses perhitungan.
b. Normalisasi
Normalisasi dilakukan untuk mengubah nilai dari sebuah fitur ke dalam skala yang sama. Normalisasi dilakukan dengan color processing dan rescaling citra. Color processing dilakukan untuk mengubah format warna citra menjadi RGB (Red, Green, Blue) sesuai dengan metode Inception V3 yang meggunakan format warna RGB sebagai inputan. Rescaling digunakan untuk mengubah ukuran citra dengan cara membagi piksel terkecil dengan piksel terbesar. Pada penelitian ini, rescaling digunakan untuk mengubah ukuran piksel pada gambar RGB dari rentang 0-255 menjadi rentang angka 0-1, sehingga proses pelatihan data menjadi lebih mudah.
c. Image Augmentation
Dataset yang digunakan dalam penelitian ini sejumlah 351 data yang terdiri dari 5 kelas dan terbagi menjadi 280 data training dan 70 data validation. Dataset pada penelitian ini kemungkinan akan mengalami overfitting karena jumlah data yang sedikit. Overfitting merupakan situasi di mana model yang dilatih menggunakan data training mampu membuat prediksi yang sangat akurat terhadap data tersebut, namun kinerjanya menurun secara signifikan saat dihadapkan pada data testing yang berbeda.
Ketika model mengalami overfitting, kemampuannya untuk melakukan generalisasi yang baik menjadi terhambat. Dalam kondisi ini, performa
16
model cenderung menurun saat dilakukan testing dengan data yang tidak pernah dilihat sebelumnya, yang berakibat pada penurunan akurasi dan hasil prediksi yang tidak sesuai dengan harapan.
Oleh karena itu, diperlukan augmentasi untuk menambah jumlah dataset yang terbatas dan mengurangi risiko overfitting pada model.
Augmentasi adalah proses menghasilkan variasi baru dari dataset gambar yang ada dengan melakukan transformasi atau manipulasi pada gambar tersebut. Beberapa teknik augmentasi data gambar yang umum digunakan meliputi rotation, flipping, width shift range, height shift range, shear range, horizontal flip, brightness range, dan lain-lain. Saat melakukan proses training, model akan dilatih berkali-kali sebanyak n-epochs. Dengan menerapkan augmentasi gambar, setiap epochs akan melatih data yang berbeda, dan membuat model menjadi good fit, yaitu model memiliki prediksi yang baik pada data latih maupun data uji.
Pada penelitian ini ada beberapa variasi teknik augmentasi yang digunakan yaitu :
1. Rotation Range
Rotation range yang digunakan memiliki rentang 0 hingga 40 derajat.
Ini berarti setiap gambar akan diacak dengan diputar dalam sudut antara 0 hingga 40 derajat, sehingga menciptakan variasi sudut pandang pada data pelatihan.
2. Width Shift Range dan Height Shift Range
Width shift range dan height shift range yang digunakan memiliki rentang 20% yang memungkinkan pergeseran (shift) gambar secara horizontal (lebar) dan vertikal (tinggi) dalam rentang 20% dari dimensi gambar. Hal ini membantu model mempelajari objek atau fitur yang mungkin berada di lokasi yang berbeda pada gambar.
3. Shear Range
Shear range yang digunakan menerapkan transformasi shear pada gambar dengan nilai 0.2. Shear adalah jenis transformasi geometri di
mana setiap titik dalam gambar dipindahkan dalam satu arah, sehingga membentuk pergeseran "geser" pada gambar.
4. Zoom Range
Zoom range yang digunakan memiliki rentang 20% yang memungkinkan untuk melakukan zoom in dan juga zoom out pada gambar dengan rentang 20%. Ini berarti gambar dapat diperbesar hingga 20% atau diperkecil hingga 20% dari ukuran aslinya.
5. Horizontal Flip
Horizontal flip digunakan untuk membalikkan gambar secara horizontal. Ini menciptakan variasi lain pada data pelatihan, terutama ketika objek dalam gambar simetris horizontal.
6. Fill Mode
Fill mode digunakan untuk menentukan bagaimana mengisi pixel yang mungkin kosong setelah penerapan transformasi. Dalam penelitian ini, fill mode yang digunakan adalah "nearest," yang berarti nilai pixel yang kosong akan diisi dengan nilai piksel terdekat dari gambar asli setelah dilakukan transformasi.
3.1.5 Data Training
Pada tahap ini, data telah diproses sebelum dilakukan training dan setiap data akan mendapatkan label sesuai dengan yang sudah ditentukan. Dataset yang digunakan akan dibagi menjadi data training dan data validation seperti pada tabel 3.1.
Tabel 3. 1 Pembagian Data Training & Validation
Nama Data
Jumlah (%)
Jumlah
Angka Pustula Papula Acne Fulminans
Acne Nodules
Fungal Acne Data
Training 90 % 315 63 63 63 63 63
Data
Validation 10 % 35 7 7 7 7 7
Jumlah data: 350
18
Setelah menentukan data training, langkah selanjutnya adalah melakukan training model dengan memasukkan data training ke dalamnya. Setelah model berhasil mengenali dan memahami data training tersebut, model siap untuk diaplikasikan dalam testing terhadap data baru.
3.1.6 Data Testing
Pada tahap testing, dataset yang digunakan berbeda dengan data training dan validation, karena data yang digunakan berasal dari berbagai sumber yang telah diverifikasi oleh pakar. Tujuan utama dari tahapan ini adalah untuk menguji tingkat akurasi dari model yang dibuat. Untuk melakukan perhitungan akurasi, akan menggunakan klasifikasi confusion matrix yang memberikan informasi mengenai accuracy, precision, recall, dan F1-Score untuk memastikan bahwa model memiliki kinerja yang baik. Berikut adalah penjelasan mengenai formula dari setiap fungsi yang akan digunakan dalam perhitungan:
a. Confusion Matrix
Matriks kebingungan (confusion matrix) adalah sebuah tabel yang digunakan untuk melakukan evaluasi terhadap kinerja suatu model klasifikasi atau deteksi. Evaluasi dilakukan dengan membandingkan hasil prediksi yang dihasilkan oleh model dengan nilai sebenarnya dari data yang telah dilakukan testing. Matriks ini terdiri dari empat sel utama yang mencakup empat kemungkinan hasil dari prediksi. Berikut tabel 3.2 yang berisi empat sel utama yang terdapat di matrik:
Tabel 3. 2 Empat Sel Confusion Matrix
Actually Positive Actually Negative Predicted Positive True Positive (TP) False Positive (FP) Predicted Negative False Negative (FN) True Negative (TN)
1. True Positive (TP): Jumlah data yang secara benar diidentifikasi oleh model sebagai positif.
2. True Negative (TN): Jumlah data yang dengan tepat diidentifikasi oleh model sebagai negatif.
3. False Positive (FP): Jumlah data yang salah diberi label sebagai positif oleh model. Ini juga dikenal sebagai kesalahan tipe I.
4. False Negative (FN): Jumlah data yang keliru diberi label sebagai negatif oleh model. Ini juga dikenal sebagai kesalahan tipe II.
Confusion matrix membantu memberikan wawasan tentang tingkat accuracy, precission, dan recall dari model, serta mampu mengidentifikasi jenis kesalahan yang dilakukan oleh model.
b. Accuracy
Accuracy adalah metrik evaluasi yang mengukur sejauh mana model dapat mengklasifikasikan data dengan benar dari total data testing. Secara matematis, akurasi dihitung dengan membagi jumlah prediksi yang benar dengan total jumlah data.
Rumus Accuracy:
(1)
c. Precission
Precission adalah metrik evaluasi yang menilai seberapa banyak dari prediksi positif model yang sebenarnya benar. Ini memberi tahu seberapa tepat model dalam mengklasifikasikan data sebagai positif. Precission dihitung dengan membagi jumlah data positif yang benar diklasifikasikan (TP) dengan total prediksi positif (TP dan FP).
Rumus Precission:
(2)
d. Recall
Recall adalah parameter evaluasi yang mengukur sejauh mana model berhasil mengidentifikasi data positif. Hal ini mengindikasikan seberapa baik kemampuan model dalam mengenali data positif yang ada. Untuk menghitung recall, perlu membagi jumlah data positif yang berhasil diidentifikasi dengan benar (TP) oleh model dengan jumlah total data positif yang sebenarnya (TP dan FN).
.
20
Rumus Recall:
(3)
e. F1-Score
F1-Score adalah rata-rata harmonis dari precission dan recall. Metrik ini memberikan nilai yang seimbang antara kedua aspek tersebut. F1-Score sangat berguna ketika ingin mencapai keseimbangan antara precission dan recall, terutama ketika dataset tidak seimbang. Secara matematis, F1-Score dihitung dengan menggabungkan nilai precission dan recall menggunakan formula rata-rata harmonis.
Rumus F1-Score:
(4)
3.2 Perancangan Alur Sistem 3.2.1 Analisis Alur Sistem
Dalam konteks analisis alur sistem, telah disusun sebuah diagram alir (flowchart) yang menggambarkan urutan kerja dari sistem penelitian ini. Diagram alir tersebut merupakan representasi dari alur proses sistem yang terdapat pada gambar 3.4.
Gambar 3. 4 Flowchart Sistem
Alur proses sistem ini dimulai ketika user membuka website sistem. Setelah user berhasil masuk ke halaman utama, langkah selanjutnya adalah memasukkan citra wajah berjerawat yang akan dideteksi. Setelah citra dimasukkan, user diharuskan menekan tombol 'Klasifikasi' untuk memulai proses klasifikasi oleh sistem. Selanjutnya, sistem akan melakukan klasifikasi berdasarkan citra wajah berjerawat yang telah dimasukkan dan menampilkan hasil jenis jerawat wajah.
Setelah semua proses tersebut selesai, alur proses sistem penelitian ini telah berhasil diselesaikan.
22
3.2.2 Analisis Kebutuhan
Pada tahap analisis kebutuhan, sistem ini dipelajari secara mendalam untuk menentukan seluruh fungsionalitas yang harus dijalankannya dalam melakukan proses input hingga menghasilkan output berupa klasifikasi. Selain itu, minimal terdapat beberapa proses atau fungsi yang harus diimplementasikan dalam sistem ini, dan berikut diantaranya:
a. Tips Penggunaan Aplikasi
Penting bagi pengguna untuk memahami panduan penggunaan website secara benar agar dapat menghindari kesalahan dalam mengunggah gambar.
Dalam konteks penggunaan gambar wajah yang mengalami jerawat, disarankan agar hanya bagian wajah yang benar-benar terdapat jerawat yang diunggah, dan tidak perlu menggunakan gambar wajah secara keseluruhan.
b. Unggah Gambar
Fitur utama dari sistem ini adalah kemampuan untuk mengunggah gambar, dengan opsi terbatas bagi pengguna untuk mengambil gambar yang sudah ada dalam penyimpanan.
c. Melakukan Klasifikasi
Fungsi ini memiliki peran utama dalam melakukan klasifikasi pada citra yang telah diunggah sebelumnya. Sistem ini akan melaksanakan proses klasifikasi dengan menggunakan model Inception V3 yang telah menjalani proses training sebelumnya.
d. Menampilkan Hasil Klasifikasi
Fungsi akhir dari sistem ini adalah untuk menampilkan hasil klasifikasi kepada user dalam bentuk informasi mengenai jenis jerawat dan probabilitasnya.
3.2.3 Analisis Sistem
Pada tahap analisis sistem, akan dilakukan analisis terhadap berbagai alat dan perangkat yang akan digunakan untuk mengembangkan sistem ini. Informasi mengenai alat-alat dan perangkat yang akan digunakan dapat ditemukan dalam tabel 3.3.
Tabel 3. 3 Analisis Tools Sistem
Tools Version
Python 3.11.4
TensorFlow 2.13.0
Keras 2.13.1
Streamlit 1.25.0
Jupyter Notebook 7.0.0 Visual Studio Code 1.80.1
a. Python
Python digunakan dalam penelitian ini karena merupakan bahasa pemrograman tingkat tinggi yang mudah dipelajari, dengan sintaks sederhana dan intuitif. Python mendukung pemrograman berorientasi objek, bersifat interpreted (tidak perlu dikompilasi), dan berjalan di berbagai sistem operasi. Dengan beragam modul dan library, Python mempermudah pengembangan perangkat lunak untuk berbagai keperluan seperti web, analisis data, kecerdasan buatan, dan lainnya.
b. TensorFlow
TensorFlow adalah library open-source dari Google yang digunakan untuk kecerdasan buatan dan pembelajaran mesin. Dengan TensorFlow, pengembang dapat membangun dan melatih model deep learning menggunakan representasi data dalam bentuk tensor, yang memungkinkan komputasi numerik yang efisien. Library ini sangat populer dan digunakan dalam berbagai aplikasi, termasuk pengenalan gambar, pengolahan bahasa alami, analisis data, dan lainnya.
c. Keras
Keras adalah library open-source populer dalam kecerdasan buatan dan pembelajaran mesin. Keras menyediakan antarmuka tingkat tinggi untuk membangun dan melatih model deep learning, termasuk model Inception V3. Dengan Keras, pengembang dapat dengan mudah membangun, melatih,
24
dan menggunakan model Inception V3 untuk tugas-tugas deteksi gambar dan analisis visual.
d. Streamlit
Streamlit adalah library open-source untuk mengembangkan aplikasi web interaktif dengan Python. Dengan antarmuka tingkat tinggi, Streamlit memungkinkan mengubah kode Python menjadi aplikasi web dengan mudah dan cepat. Streamlit menawarkan beragam fitur untuk mempercepat proses pengembangan dan pemrosesan data, serta menyediakan visualisasi data yang menarik dan interaktif. Dengan streamlit, dapat digunakan untuk membangun dashboard interaktif, memvisualisasikan data, dan berbagi aplikasi analisis data secara online.
e. Jupyter Notebook
Jupyter Notebook merupakan sebuah platform aplikasi web yang bersifat open-source. Platform ini memungkinkan pengguna untuk membuat serta berbagi dokumen interaktif yang dapat menggabungkan kode pemrograman, teks, gambar, serta visualisasi data. Aplikasi ini mendukung berbagai bahasa pemrograman, termasuk Python, R, dan Julia, dan memungkinkan untuk menjalankan kode secara langsung di dalam notebook. Jupyter Notebook sangat banyak digunakan dalam bidang ilmu data, analis data, dan peneliti karena kemampuannya dalam menggabungkan kode dengan penjelasan teks dan visualisasi data, sehingga memudahkan dalam proses eksplorasi, analisis, dan dokumentasi data secara interaktif.
f. Visual Studio Code
Visual Studio Code adalah sebuah editor teks open-source yang dikembangkan oleh Microsoft. Editor ini dirancang untuk memudahkan pengembangan perangkat lunak dengan menyediakan beragam fitur yang mendukung berbagai bahasa pemrograman. Visual Studio Code memiliki antarmuka pengguna yang intuitif dan ringan, serta menyediakan dukungan untuk ekstensi dan plugin sehingga dapat disesuaikan sesuai kebutuhan pengguna. Banyak yang menggunakan editor ini karena kinerja yang cepat,
fitur lengkap, dan komunitas yang aktif dalam mengembangkan ekstensi dan plugin.
3.3 Perancangan User Interface
Pada tahap perancangan user interface, dilakukan desain mockup yang nantinya akan diimplementasikan ke dalam sistem. Di bawah ini merupakan user interface yang telah dirancang untuk sistem "Klasifikasi Jenis Jerawat Wajah Menggunakan Arsitektur Inception V3".
3.3.1 Halaman Utama
Halaman utama merupakan tampilan pertama yang diakses oleh pengguna saat membuka website. Di dalam halaman ini, pengguna diberikan fasilitas untuk mengunggah gambar yang akan dijadikan objek klasifikasi. Setelah gambar berhasil diunggah, pengguna akan memiliki opsi untuk memulai proses klasifikasi dengan menekan tombol 'Klasifikasi'. Hasil klasifikasi yang menunjukkan jenis jerawat wajah yang telah diidentifikasi oleh sistem akan ditampilkan setelah tombol tersebut ditekan. Desain tampilan halaman utama dapat dilihat dalam gambar 3.5 dibawah ini.
Gambar 3. 5 User Interface Halaman Utama 1
Sedangkan gambar 3.6 dibawah ini merupakan tampilan halaman utama setelah gambar berhasil diunggah.
26
Gambar 3. 6 User Interface Halaman Utama 2
3.3.2 Halaman Klasifikasi
Halaman klasifikasi merupakan antarmuka yang menampakkan hasil dari proses klasifikasi yang telah dilakukan sebelumnya. Pada halaman ini, terdapat sebuah tabel yang berisi informasi tentang jenis-jenis jerawat pada wajah dan probabilitasnya. Desain tampilan untuk halaman klasifikasi ini dapat dilihat dalam gambar 3.7 yang terletak di bawahnya.
Gambar 3. 7 User Interface Halaman Klasifikasi
27 BAB IV
HASIL DAN ANALISIS PENELITIAN 4.1 Proses Pengolahan Training dan Validation
4.1.1 Cleaning
Proses cleaning dilakukan untuk membersihkan data yang tidak valid, tidak akurat, dan tidak relevan diidentifikasi, diperbaiki, atau dihapus. Pada proses cleaning ini, ada dua tahapan yaitu:
a. Konversi Data ke JPG
Pada tahap ini, data citra yang berformat jfif dikonversi ke jpg agar nantinya dapat dimasukkan ke dalam model dengan benar dan diproses sesuai dengan harapan. Gambar 4.1 menunjukkan data gambar beserta format sebelum dikonversi. Sementara untuk gambar 4.2 menampilkan informasi setelah format data selesai dikonversi.
Gambar 4. 1 Format dataset awal
28
Gambar 4. 2 Format dataset terbaru
b. Penghapusan Data
Pada proses ini dilakukan pembersihan data yang berlebih karena dapat membuat model cenderung lebih sering memprediksi data kelas tersebut dan lebih banyak mempelajari kelas tersebut. Gambar 4.3 menampilkan jumlah data pada masing-masing kelas. Sementara gambar 4.4. menampilkan jumlah data pada masing-masing kelas setelah dilakukan penghapusan.
Gambar 4. 3 Jumlah dataset awal
Gambar 4. 4 Jumlah dataset terbaru
30
4.1.2 Preprocessing
Preprocessing dilakukan untuk memperoleh data yang berkualitas, optimal, dan dapat diolah dengan mudah oleh algoritma atau metode pengolahan data yang dipilih. Dalam penelitian ini, data preprocessing dilakukan dengan beberapa tahapan yaitu :
a. Resize
Mengubah ukuran citra diubah menjadi 299px * 299px, sesuai dengan arsitektur Inception-V3 yang bertujuan untuk mempercepat dan mempermudah proses perhitungan.
b. Normalisasi
Normalisasi dilakukan untuk mengubah nilai dari sebuah fitur ke dalam skala yang sama. Normalisasi dilakukan dengan color processing dan rescaling citra.
c. Image Augmentation
Augmentasi dilakukan untuk menambah jumlah dataset yang terbatas dan mengurangi risiko overfitting pada model.
Data sebelum dilakukan preprocessing dapat dilihat pada gambar 4.5 dan gambar 4.6, dimana pada gambar 4.5 diperlihatkan jumlah data training pada masing-masing kelas berjumlah 63 dan data validation berjumlah 7. Sementara untuk gambar 4.6 menampilkan data citra beserta label kelasnya.
Gambar 4. 5 Jumlah dataset sebelum preprocessing
Gambar 4. 6 Dataset awal
Sementara untuk hasil setelah dilakukan preprocessing dapat dilihat pada gambar 4.7 dan 4.8. Pada gambar 4.7 ditampilan jumlah data citra pada setiap kelas dengan data training dari yang sebelumnya berjumlah 63 menjadi 482 dan data validation yang sebelumnya berjumlah 7 menjadi 56. Akan tetapi jumlah data tersebut belum digabungkan dengan data asli yang telah dilalukan preprocessing.
Gambar 4. 7 Jumlah dataset setelah preprocessing
32
Gambar 4. 8 Tampilan dataset setelah preprocessing
Untuk gambar 4.9 menunjukkan dataset keseluruhan dari augmentasi dan data asli. Pada gambar tersebut dapat dilihat bahwa pada setiap kelas yaitu kelas acne fulminans, acne nodules, fungal acne, papula dan pustula memiliki jumlah data training setiap masing-masing kelas berjumlah 545 dan data validation setiap masing-masing kelas berjumlah 63.
Gambar 4. 9 Dataset keseluruhan (augmentasi dan data asli)
4.2 Proses Penggunaan dan Cara Kerja Sistem
Bagian ini akan menjelaskan tentang proses klasifikasi gambar yang diunggah oleh pengguna menggunakan model berformat h5 yang telah dibuat sebelumnya. Langkah-langkah dalam proses klasifikasi tersebut adalah sebagai berikut:
4.2.1 Unggah Gambar
Langkah pertama yang dilakukan adalah user harus mengunggah gambar yang akan digunakan. Untuk unggah gambar, user hanya diberikan pilihan untuk mengambil gambar dari storage. Terdapat ilustrasi kode untuk mengunggah gambar dari penyimpanan pada gambar 4.10, dengan output dari kode tersebut ditampilkan dalam gambar 4.14 dan gambar 4.15.
34
Gambar 4. 10 Kode Unggah Gambar
4.2.2 Pemrosesan Gambar
Pada tahap ini, gambar yang sudah diunggah akan diproses untuk mengubah ukurannya menjadi 299px*299px. Kemudian dikonversi ke dalam bentuk array dan setelah itu, dinormalisasikan hingga memiliki rentang 0 dan 1. Hal tersebut dilakukan untuk mempersiapkan gambar yang akan dideteksi menjadi format yang sesuai untuk pengolahan klasifikasi jenis jerawat wajah dengan menggunakan arsitektur inception v3. Kode yang digunakan dalam pemrosesan gambar ditunjukkan pada gambar 4.11. Sementara untuk keluaran tidak ditampilkan dalam website karena pemrosesan gambar terjadi didalam sistem ketika melakukan proses klasifikasi gambar yang diunggah.
Gambar 4. 11 Kode Pemrosesan Gambar
4.2.3 Klasifikasi Berdasarkan Model
Sebelum melakukan klasifikasi dengan model. Model yang sudah didapatkan sebelumnya melalui proses training diimport terlebih dahulu. Pada gambar 4.12 menunjukkan bagaimana mengimport model yang berformat h5 ke dalam sistem.
Gambar 4. 12 Kode Load Konfigurasi7.h5
Kemudian setelah proses import modul dan pemrosesan gambar selesai, maka dilakukan prediksi untuk mendapatkan label dari gambar yang diunggah.
Kode untuk melakukan prediksi dapat dilihat pada gambar 4.13.
Gambar 4. 13 Kode Prediksi Gambar
Untuk output dari kode yang ditampilkan pada gambar 4.12 dan gambar 4.13. terdapat pada gambar 4.16.
4.3 Implementasi User Interface
Tampilan bagi user atau disebut juga user interface, memiliki peranan yang signifikan, karena di sinilah user akan sering melihat dan berinteraksi. Di bawah ini merupakan user interface dari sistem berbasis website yang telah dibuat.
4.3.1 Halaman Utama
Halaman utama merupakan titik awal situs website yang dapat memberikan gambaran menyeluruh tentang konten dan fitur yang tersedia. Selain itu, halaman utama dapat menarik perhatian user dan memudahkan navigasi ke bagian-bagian lainnya.
Gambar 4. 14 Halaman Utama Website
36
Gambar 4.14 merupakan tampilan halaman utama dari website. Pada gambar tersebut terdapat bagian atau button yang digunakan untuk mengunggah gambar yang akan diklasifikasi.
Setelah user mengunggah gambar bagian wajah yang berjerawat dengan menggunakan button ‘browse files’, maka secara otomatis akan keluar tampilan seperti gambar 4.15 dibawah ini.
Gambar 4. 15 Halaman Utama setelah gambar di-upload
4.3.2 Halaman Klasifikasi
Pada halaman klasifikasi, proses dimulai saat user menekan tombol
"Klasifikasi" setelah berhasil mengunggah gambar. Selanjutnya, sistem akan mengoperasikan proses klasifikasi untuk mengidentifikasi jenis jerawat wajah yang terdapat pada gambar yang diunggah. Setelah proses klasifikasi selesai, halaman akan menampilkan hasil klasifikasi yang berisi informasi tentang jenis- jenis jerawat wajah yang teridentifikasi beserta tingkat probabilitasnya. Informasi ini dapat dilihat gambar 4.16.
Gambar 4. 16 Halaman Klasifikasi
4.4 Pengujian Sistem
Pada tahap ini, dilakukan pengujian sistem menggunakan metode black box testing. Metode black box testing adalah teknik pengujian perangkat lunak yang bertujuan untuk menguji fungsionalitas sistem tanpa perlu mengetahui rincian struktur atau cara kerja internalnya. Beberapa jenis black box testing yang umum digunakan termasuk function testing, non-function testing, dan regression testing.
Dalam penelitian ini, dilakukan function testing untuk menguji setiap fungsi yang ada pada sistem. Tujuan dari pengujian function testing adalah untuk memastikan bahwa setiap fungsi berjalan dengan benar dan sesuai dengan spesifikasi yang telah ditetapkan.
Hasil pengujian function testing pada sistem ini kemudian ditampilkan dalam tabel 4.1. Tabel tersebut berisi hasil dari pengujian berbagai fungsi pada sistem dan menunjukkan apakah fungsi-fungsi tersebut berhasil berjalan dengan benar atau terdapat kesalahan yang perlu diperbaiki.
38
Tabel 4. 1 Black Box Testing
Skenario
Pengujian Kasus Pengujian Hasil
Pengujian Kesimpulan Membuka website Menampilkan halaman
utama Sesuai Normal
Upload gambar dari storage
Melakukan upload gambar wajah
berjerawat dari storage
Sesuai Normal
Menekan button
“Klasifikasi”
Menekan button untuk menampilkan hasil klasifikasi
Sesuai Normal
Testing gambar jenis jerawat pustula
Melakukan testing pada gambar wajah yang menunjukkan jenis jerawat pustule
Sesuai Normal
Testing gambar jenis jerawat papula
Melakukan testing pada gambar wajah yang menunjukkan jenis jerawat papula
Sesuai Normal
Testing gambar jenis jerawat fungal acne
Melakukan testing pada gambar wajah yang menunjukkan jenis jerawat fungal acne
Sesuai Normal
Testing gambar jenis jerawat acne fulminans
Melakukan testing pada gambar wajah yang menunjukkan jenis jerawat acne fulminans
Sesuai Normal
Testing gambar jenis jerawat acne nodules
Melakukan testing pada gambar wajah yang menunjukkan jenis jerawat acne nodules
Sesuai Normal
Testing result klasifikasi
Mengcek hasil klasifikasi gambar wajah berjerawat
Sesuai Normal
Untuk hasil testing klasifikasi dari gambar yang di test dapat dilihat pada gambar 4.17 hingga gambar 4.21 dibawah ini.
Gambar 4. 17 Result Testing Acne Nodules
40
Gambar 4. 18 Result Testing Acne Fulminans
Gambar 4. 19 Result Testing Fungal Acne
Gambar 4. 20 Result Testing Papula
Gambar 4. 21 Result Testing Pustula
42
4.5 Hasil dan Analisis 4.5.1 Training dan Validation
Proses training dan validation dilakukan dengan menggunakan dataset yang telah ditingkatkan (augmentasi), terdiri dari 2.725 sampel untuk data training, dengan setiap kelas memiliki 545 sampel. Sedangkan untuk validation, terdapat 315 sampel yang telah diaugmentasi dengan masing-masing kelas berjumlah 63.
Hasil dari training dan validation ditampilkan dalam bentuk grafik yang menunjukkan accuracy dan kerugian loss, serta hasil dari konfigurasi yang telah diaplikasikan. Grafik accuracy dan kerugian loss dapat memberikan pemahaman visual tentang bagaimana model berkinerja selama proses training dan validation.
Sementara itu, konfigurasi yang diterapkan pada penelitian ini mengacu pada optimizer yang digunakan.
Pada tabel 4.2 menampilkan grafik accuracy dan loss untuk berbagai konfigurasi. Jika grafik accuracy semakin meningkat dan grafik loss semakin menurun, sementara grafik training dan validation saling mendekat, hal ini menunjukkan peningkatan kinerja yang signifikan dari model tersebut.
Tabel 4. 2 Grafik Accuracy & Loss
Konfigurasi 1 (SGD)
Accuracy
Loss
44
Konfigurasi 2 (Adam)
Accuracy
Loss
Konfigurasi 3 (RMSprop)
Accuracy
Loss
46
Sementara tabel 4.3 terlihat model terbaik dari setiap konfigurasi pada tahap training. Dari ketiga konfigurasi tersebut, konfigurasi 3 (RMSprop) menjadi konfigurasi yang terbaik karena memiliki accuracy 0.9956, loss 0.0134, validation accuracy 0.8190, dan validation loss 1.6791. Grafik accuracy menunjukkan kecenderungan naik, sementara grafik loss menurun. Selain itu, grafik training dan validation pada konfigurasi 3 (RMSprop) terlihat akan saling berdekatan, yang menunjukkan bahwa model tersebut bekerja dengan baik dan stabil dalam melakukan tugasnya.
Tabel 4. 3 Hasil Konfigurasi
epoch loss acc val-loss val-acc learning rate Konfigurasi 1
(SGD) 30/30 0.3219 0.9200 0.9844 0.6381 5.0000e-05 Konfigurasi 2
(Adam) 14/30 0.0331 0