93
i KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN SARAF KONVOLUSIONAL PADA PEMBELAJARAN DALAM Skripsi Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Matematika Oleh: Marchelina NIM: 173114042 PROGRAM STUDI MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2021 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

i

KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN SARAF

KONVOLUSIONAL PADA PEMBELAJARAN DALAM

Skripsi

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Matematika

Oleh:

Marchelina

NIM: 173114042

PROGRAM STUDI MATEMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2021

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

ii

IMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL

NETWORK IN DEEP LEARNING

Thesis

Presented as a Partial Fulfillment of Requirements

To Obtain the Degree of Sarjana Matematika

Written by:

Marchelina

Student Number: 173114042

MATHEMATICS STUDY PROGRAM

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2021

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

iii

SKRIPSI

KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN SARAF

KONVOLUSIONAL PADA PEMBELAJARAN DALAM

Oleh:

Marchelina

Telah disetujui oleh:

Yogyakarta, 04 Agustus 2021

Pembimbing

Hartono, S.Si., M.Sc., Ph.D.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

iv

SKRIPSI

KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN SARAF

KONVOLUSIONAL PADA PEMBELAJARAN DALAM

Dipersiapkan dan ditulis oleh:

Marchelina

NIM:173114042

Telah dipertahankan di depan Panitia Penguji

Pada tanggal: 30 Juli 2021

dan dinyatakan telah memenuhi syarat

Susunan Panitia Penguji

Nama Lengkap Tanda Tangan

Ketua: Drs. Haris Sriwindono, M.Kom, Ph.D.

Sekretaris: Dr. C. Kuntoro Adi. S.J., M.A., M.Sc. ……………

Anggota: Hartono, S.Si., M.Sc., Ph.D.

Yogyakarta, Agustus 2021

Fakultas Sains dan Teknologi

Universitas Sanata Dharma

Dekan,

Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

v

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak

memuat karya atau bagian orang lain, kecuali yang telah disebutkan dalam kutipan

atau daftar pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, 04 Agustus 2021

Penulis,

Marchelina

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

vi

MOTTO DAN HALAMAN PERSEMBAHAN

“There can be no lotus flower without the mud.”

-THINCH NHAT HANH

Karya ini saya persembahkan untuk:

Tuhan Yesus dan Bunda Maria yang senantiasa menyertai dan memberkati,

Papa, Mama, Pho-Pho, dan keluarga tercinta,

almamater yang saya banggakan, dan

semua orang yang senantiasa memberi dukungan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

vii

LEMBAR PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma:

Nama : Marchelina

Nomor Mahasiswa :173114042

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan

Universitas Sanata Dharma karya ilmiah saya yang berjudul:

KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN SARAF

KONVOLUSIONAL PADA PEMBELAJARAN DALAM

beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan

kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan,

mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data,

mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau media

lain untuk kepentingan akademis tanpa perlu meminta izin dari saya maupun

memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai

penulis.

Demikian pernyataan ini saya buat dengan sebenarnya.

Dibuat di Yogyakarta

Pada tanggal, 04 Agustus 2021.

Yang menyatakan

(Marchelina)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

viii

KATA PENGANTAR

Puji syukur dan terima kasih yang amat besar penulis sampaikan kepada

Allah Bapa di Surga. Atas segala kasih karunia, berkat, dan kebaikan yang

senantiasa dilimpahkan kepada penulis, sehingga penulis dapat menyelesaikan

tugas akhir ini dengan baik dan tepat pada waktunya. Tugas akhir ini dibuat dengan

tujuan untuk memenuhi syarat memperoleh gelar Sarjana Matematika pada

Program Studi Matematika, Fakultas Sains dan Teknologi, Universitas Sanata

Dharma.

Dalam menyelesaikan tugas akhir ini, ada banyak pihak yang senantiasa

mendukung, memberi semangat, dan membantu penulis dalam perjalanan

penulissan tugas akhir ini. Oleh karena itu, pada kesempatan ini, tidak lupa penulis

ingin menyampaikan syukur dan terima kasih kepada:

1. Bapak Hartono, S.Si., M.Sc., Ph.D. selaku Dosen Pembimbing

Akademik, dosen pembimbing tugas akhir dan selaku Kepala Program

Studi Matematika, Fakultas Sains dan Teknologi, Universitas Sanata

Dharma yang telah sangat banyak membantu penulis selama menjalani

proses perkuliahan bahkan juga dalam penulisan tugas akhir.

2. Bapak Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D. selaku Dekan Fakultas

Sains dan Teknologi.

3. Romo Prof. Dr. Frans Susilo, SJ., Bapak Dr. rer. nat. Herry P. Suryawan,

S.Si., M.Si., Bapak Ir. Ig. Aris Dwiatmoko, M.Sc., Bapak Ricky Aditya,

M.Sc., Ibu Maria Vianney Any Herawati, S.Si., M.Si., dan Ibu Dr. Lusia

Krismiyati Budiasih, S.Si., M.Si. selaku dosen-dosen Prodi Matematika

yang telah banyak memberikan ilmu selama penulis menjalani

perkuliahan.

4. Mas Susilo Dwiratno, selaku Kepala Laboratorium Komputer Dasar

yang telah menyediakan sebuah unit komputer untuk penulis gunakan

selama menulis tugas akhir.

5. Bapak/Ibu dosen/karyawan Fakultas Sains dan Teknologi yang telah

berdinamika bersama selama penulis berkuliah.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

ix

6. Mama, Papa, Pho-Pho, Cece, Koko, Adek, dan seluruh keluarga besar

yang sangat penulis kasihi dan cintai. Terima kasih atas segala dukungan

baik secara moril dan material, sehingga penulis dapat menyelesaikan

perkuliahan S1 tepat pada waktunya.

7. Ibu Kost Pelangi, Kristiana Trisnawati yang telah memberikan rumah

bagi penulis selama menempuh pendidikan di Yogyakarta, yang

senantiasa memberikan dukungan, dan memberikan motivasi kepada

penulis agar senantiasa menjadi pribadi yang baik, bersemangat, dan

penuh syukur.

8. Teman-teman Prodi Matematika Angkatan 2017: Mydia, Nathania,

NaJo, Ko Anton, Kak Nuky, Denta Kristiana, Clara, Sisil, Meitia, Aryo,

Alicia, dan teman-teman lain juga. Terima kasih atas dinamikanya

selama 4 tahun perkuliahan ini.

9. Semua pihak yang tidak dapat disebutkan satu per satu selama proses

penulisan tugas akhir ini.

Semoga segala perhatian, dukungan, dan bantuan yang telah diberikan

mendapatkan balasan dari Yang Maha Kuasa. Penulis menyadari bahwa

tidak ada satu manusia pun yang luput dari kesalahan begitu pula dalam

penulisan tugas akhir ini. Oleh karena itu, penulis mengharapkan kritik dan

saran yang membangun demi penyempurnaan tugas akhir ini. Adapun

harapan penulis, semoga tugas akhir ini dapat bermanfaat bagi pembaca dan

menjadi referensi belajar yang baik.

Yogyakarta, 04 Agustus 2021

Penulis,

Marchelina

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

x

ABSTRAK

Klasifikasi citra merupakan salah satu sub-bidang studi dari visi

komputer (computer vision) yang sangat terkenal. Klasifikasi citra bekerja dengan

mengekstraksi makna dari sebuah gambar menggunakan algoritma dari

pembelajaran mesin. Seiring berkembangnya zaman dan seiring dengan popularitas

dari pembelajaran dalam, terdapat banyak teknik yang dapat digunakan dalam

mengklasifikasikan citra. Pada tugas akhir ini, teknik yang digunakan dalam

mengklasifikasikan citra adalah dengan menggunakan jaringan saraf

konvolusional. Jaringan saraf konvolusional dalam penerapannya dapat dikatakan

telah sangat berhasil dan praktis dalam tugas mengklasifikasikan citra. Jaringan ini

sebenarnya mirip dengan jaringan saraf pada umumnya, hanya saja pada jaringan

saraf konvolusional digunakan operasi konvolusi sebagai pengganti perkalian

matriks umum. Pada tugas akhir ini, hasil klasifikasi citra dilakukan dengan

menggunakan 2000 data latih dan 800 data validasi. Hasil dari proses komputasi ini

diperoleh akurasi pada data latih sebesar 82% dan akurasi pada data validasi sebesar

82.2% dengan jumlah epoch sebanyak 80. Dari pengujian yang dilakukan dapat

disimpulkan bahwa jaringan saraf konvolusional dapat mengklasifikasikan citra

dengan cukup baik.

Kata kunci: klasifikasi citra, jaringan saraf konvolusional, pembelajaran

dalam.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

xi

ABSTRACT

Image classification is one of the most popular sub-field of computer

vision. Image classification works by extracting meaning from an image using

machine learning algorithms. Over the years and with the popularity of deep

learning, there are many techniques that can be used to classify images. In this final

project, the technique that used to classify images is convolutional neural network.

Convolutional neural network in its application can be said to have been very

successful and practical in the task of classifying images. This network is actually

similar to neural networks in general, but convolutional neural networks use

convolution operation instead of multiplication for general matrix. In this final

project, we classify images which consist of 2000 training and 800 validation data.

The result of this computational process is 82% for the accuracy of the training data

and 82.2% for the accuracy of the validation data with a total of 80 epochs. From

the tests carried out, it can be concluded that the convolutional neural network can

classify images quite well.

Keywords: image classification, convolutional neural networks, deep

learning.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

xii

DAFTAR ISI

HALAMAN JUDUL ................................................................................................ i

HALAMAN JUDUL ............................................................................................... ii

HALAMAN PERSETUJUAN PEMBIMBING .................................................... iii

HALAMAN PENGESAHAN ................................................................................ iv

PERNYATAAN KEASLIAN KARYA ................................................................. v

MOTTO DAN HALAMAN PERSEMBAHAN .................................................... vi

LEMBAR PERNYATAAN PERSETUJUAN ..................................................... vii

KATA PENGANTAR ......................................................................................... viii

ABSTRAK .............................................................................................................. x

ABSTRACT ........................................................................................................... xi

DAFTAR ISI ......................................................................................................... xii

BAB I PENDAHULUAN ....................................................................................... 1

A. Latar belakang ............................................................................................. 1

B. Rumusan Masalah ....................................................................................... 3

C. Batasan Masalah .......................................................................................... 3

D. Tujuan .......................................................................................................... 3

E. Manfaat Penulisan ....................................................................................... 3

F. Metode Penulisan ........................................................................................ 4

G. Sistematika Penulisan .................................................................................. 4

BAB II LANDASAN TEORI ................................................................................. 6

A. Definisi Citra ............................................................................................... 6

B. Dasar-dasar Citra ......................................................................................... 7

C. Citra Warna RGB ........................................................................................ 8

D. Klasifikasi Citra ........................................................................................... 9

E. Pembelajaran Mesin (Machine Learning) ................................................. 10

F. Jaringan Saraf Tiruan (Artificial Neural Network) ................................... 16

G. Pembelajaran Dalam (Deep Learning) ...................................................... 24

BAB III JARINGAN SARAF KONVOLUSIONAL ........................................... 27

A. Jaringan Saraf Konvolusional ................................................................... 27

B. Dropout ..................................................................................................... 39

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

xiii

C. Fungsi Rugi Binary Cross entropy ............................................................ 40

D. Algoritma Optimisasi RMSprop ............................................................... 41

BAB IV METODOLOGI ...................................................................................... 44

A. Data ........................................................................................................... 44

B. Metode Analisis Data ................................................................................ 45

C. Perancangan Sistem Jaringan Saraf Konvolusional .................................. 46

BAB V APLIKASI JARINGAN SARAF KONVOLUSIONAL UNTUK

KLASIFIKASI CITRA DENGAN PERANGKAT LUNAK ............................... 48

A. Implementasi Pra Proses dan Augmentasi Data ........................................ 48

B. Implementasi Jaringan Saraf Konvolusional ............................................. 52

C. Hasil Pengujian dan Pembahasan .............................................................. 60

BAB VI PENUTUP .............................................................................................. 63

A. Kesimpulan ................................................................................................ 63

B. Saran .......................................................................................................... 63

DAFTAR PUSTAKA ........................................................................................... 64

LAMPIRAN .......................................................................................................... 66

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

BAB I

PENDAHULUAN

A. Latar belakang

Klasifikasi citra merupakan suatu masalah yang penting dalam visi komputer

(computer vision) selama beberapa dekade terakhir. Visi komputer merupakan

bidang yang melatih komputer agar dapat mengenali data visual berupa citra

maupun video. Namun bagaimana komputer dilatih untuk berpikir layaknya

manusia sehingga komputer dapat membedakan dan mengklasifikasikan citra? Bagi

manusia, mengklasifikasikan citra merupakan hal yang mudah, tetapi bagi

komputer merupakan hal yang sebaliknya. Komputer melihat citra sebagai suatu

matriks angka yang berukuran besar. Ia tidak memiliki gagasan mengenai

pemikiran, pengetahuan, atau makna yang coba disampaikan oleh citra tersebut.

Untuk memahami makna dari citra yang diberikan, komputer perlu dilatih dengan

berbagai macam citra sehingga bisa mendapatkan hasil dengan akurasi yang lebih

baik. Proses melatih komputer dapat dilakukan dengan mengimplementasikan

Pembelajaran Dalam (deep learning) menggunakan metode jaringan saraf

konvolusional.

Pembelajaran Dalam adalah bagian dari pembelajaran mesin yang juga

merupakan bagian dari kecerdasan buatan. Pembelajaran Dalam pada dasarnya

merupakan pengembangan dari jaringan saraf yang terdiri dari banyak lapisan.

Lapisan tersebut membentuk suatu algoritma yang nantinya dapat melakukan tugas

seperti mengenali dan mengklasifikasikan citra, mengenali suara, dan lain-lain.

Jaringan saraf konvolusional merupakan metode yang cukup populer pada

pembelajaran dalam dan biasanya digunakan dalam pemrosesan data dua dimensi,

seperti data yang berupa gambar. Jaringan ini pertama kali dikemukakan oleh Yann

LeCun dan timnya pada tahun 1998. Ide yang diimplementasikan oleh LeCun dan

timnya dibangun atas gagasan David H. Hubel dan Torsten Weisel yang meneliti

tentang visual cortex pada hewan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

2

Istilah jaringan saraf konvolusional mengindikasikan bahwa jaringan tersebut

menggunakan operasi matematika yang disebut konvolusi. Operasi konvolusi

biasanya dilambangkan dengan tanda bintang:

𝑠(𝑡) = (𝑥 ∗ 𝑤)(𝑡) 1.1

dengan 𝑠 adalah keluaran, 𝑥 adalah masukan, dan 𝑤 adalah bobot. Secara garis

besar jaringan saraf konvolusional tidak jauh beda dengan jaringan saraf yang lain.

Jaringan saraf konvolusional terdiri dari bobot, bias, dan fungsi aktivasi. Arsitektur

dari jaringan saraf konvolusional dibagi menjadi lapisan konvolusional, lapisan

pooling, dan lapisan fully-connected.

Dalam mengklasifikasikan citra, jaringan saraf konvolusional bekerja dengan

merepresentasikan citra ke dalam bentuk matriks. Pada matriks tersebut kemudian

dilakukan proses konvolusi terhadap filter yang mempunyai ukuran tertentu. Proses

ini termasuk dalam tahap lapisan konvolusional yang secara formal dinyatakan

sebagai berikut:

𝑆(𝑖, 𝑗) = (𝐼 ∗ 𝐾)(𝑖, 𝑗) = ∑ ∑ 𝐼(𝑚, 𝑛)𝐾(𝑖 − 𝑚, 𝑗 − 𝑛)𝑛𝑚

. 1.2

dengan S adalah keluaran konvolusi, I adalah masukan, dan K adalah kernel.

Selanjutnya adalah lapisan pooling, yang dilakukan untuk mengurangi ukuran

matriks sehingga mempercepat komputasi. Pooling yang akan digunakan pada

tugas akhir ini adalah max pooling, dengan mengambil nilai maksimum pada area

yang terbentuk setelah pergeseran kernel dan stride.

Pada lapisan terakhir, yaitu fully connected, masukan yang diterima adalah

keluaran dari lapisan pooling. Pada keluaran dari lapisan pooling, yang berbentuk

larik multi dimensi, dilakukan pemerataan agar menjadi sebuah vektor yang

digunakan sebagai masukan dari lapisan fully connected. Lapisan fully connected

memiliki beberapa lapisan tersembunyi, fungsi aktivasi, lapisan luaran, dan fungsi

rugi (loss). Keluaran dari lapisan fully connected berupa vektor berdimensi, dengan

banyak dimensi menunjukkan jumlah kelas yang sesuai dengan kategori yang ada

pada data, atau dengan kata lain citra yang berhasil diklasifikasi.

Pada tugas akhir ini, masalah klasifikasi citra menggunakan jaringan saraf

konvolusional akan diselesaikan dengan mengaplikasikan modul Keras yang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

3

menggunakan bahasa pemograman Python. Keras merupakan modul yang dibuat

untuk menyederhanakan model dan mempermudah pembelajaran terhadap

komputer. Dataset yang akan digunakan pada penelitian tugas akhir ini akan

diambil dari situs Kaggle dengan dataset Dogs vs. Cats.

B. Rumusan Masalah

Rumusan masalah untuk tugas akhir ini adalah:

1. Bagaimana membangun model jaringan saraf konvolusional yang digu-nakan

untuk mengklasifikasikan citra?

2. Bagaimana tingkat keakuratan model yang digunakan untuk meng-

klasifikasikan citra?

C. Batasan Masalah

Batasan masalah yang diberikan pada tugas akhir ini adalah:

1. Implementasi menggunakan perangkat lunak Python dengan modul Keras.

2. Dataset yang digunakan berasal dari situs Kaggle dengan dataset Dogs vs. Cats.

D. Tujuan

Tujuan dari tugas akhir ini adalah:

1. Membangun model jaringan saraf konvolusional yang akan digunakan untuk

mengklasifikasikan citra.

2. Mencari tingkat keakuratan model yang digunakan untuk meng-klasifikasikan

citra.

E. Manfaat Penulisan

Manfaat dari penulisan tugas akhir ini adalah untuk menyelesaikan masalah

klasifikasi citra dengan jumlah data yang banyak tetapi dalam waktu yang cukup

singkat.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

4

F. Metode Penulisan

Metode penulisan yang digunakan dalam tugas akhir ini adalah metode studi

pustaka dengan mempelajari buku-buku dan jurnal-jurnal matematika yang

berkaitan dengan jaringan saraf konvolusional, pengambilan data, dan pengolahan

data menggunakan perangkat lunak Python.

G. Sistematika Penulisan

Sistematika penulisan yang akan digunakan dalam tugas akhir ini adalah

sebagai berikut:

BAB I PENDAHULUAN

A. Latar Belakang

B. Rumusan Masalah

C. Batasan Masalah

D. Manfaat Penulisan

E. Manfaat Penulisan

F. Metode Penulisan

G. Sistematika Penulisan

BAB II LANDASAN TEORI

A. Dasar-dasar Citra

B. Definisi Citra

C. Citra Warna RGB

D. Klasifikasi Citra

E. Pembelajaran Mesin (Machine Learning)

F. Jaringan Saraf Tiruan (Artificial Neural Network)

G. Pembelajaran Dalam (Deep Learning)

BAB IV JARINGAN SARAF KONVOLUSIONAL

A. Jaringan Saraf Konvolusional

B. Dropout

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

5

C. Fungsi Rugi Binary Cross entropy

D. Algoritma Optimisasi RMSprop

BAB IV METODOLOGI

A. Data

B. Pre-Processing Data dan Augmentasi Data

C. Perancangan Model Jaringan Saraf Konvolusional

BAB V APLIKASI JARINGAN SARAF KONVOLUSIONAL UNTUK

KLASIFIKASI CITRA DENGAN PERANGKAT LUNAK

A. Implementasi Pra Proses dan Augmentasi Data

B. Implementasi Jaringan Saraf Konvolusional

C. Hasil Pengujian dan Pembahasan

BAB VI PENUTUP

A. Kesimpulan

B. Saran

DAFTAR PUSTAKA

LAMPIRAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

BAB II

LANDASAN TEORI

A. Definisi Citra

Secara matematis, citra atau gambar dapat didefinisikan sebagai fungsi dari

dua variabel 𝑓(𝑥, 𝑦), dimana 𝑥 dan 𝑦 adalah koordinat bidang (spasial), dan nilai 𝑓

pada koordinat spasial (𝑥, 𝑦) merupakan tingkat intensitas kecerahan pada titik

tersebut. Akibatnya, 𝑓(𝑥, 𝑦) harus merupakan nilai yang tak negatif dan terbatas,

yaitu:

0 ≤ 𝑓(𝑥, 𝑦) < ∞

2.1

Fungsi 𝑓(𝑥, 𝑦) dapat juga didefinisikan sebagai perkalian dari dua

komponen, yaitu jumlah cahaya yang berasal dari sumbernya dan jumlah cahaya

yang dipantulkan oleh objek. Secara singkatnya, disebut sebagai komponen cahaya,

dan pantulan. Masing-masing komponen dilambangkan dengan 𝑖(𝑥, 𝑦) dan 𝑟(𝑥, 𝑦).

Apabila kedua fungsi dikalikan maka akan didapatkan bentuk 𝑓(𝑥, 𝑦):

𝑓(𝑥, 𝑦) = 𝑖(𝑥, 𝑦)𝑟(𝑥, 𝑦) 2.2

dimana

0 ≤ 𝑖(𝑥, 𝑦) < ∞ 2.3

dan

0 ≤ 𝑟(𝑥, 𝑦) ≤ 1 2.4

dengan nilai 0 pada pantulan adalah nilai absorpsi total dan nilai 1 adalah pantulan

total.

Selanjutnya, misalkan derajat keabuan citra monokrom pada koordinat (𝑥, 𝑦)

dinotasikan sebagai:

ℓ = 𝑓(𝑥, 𝑦) 2.5

dari persamaan 2.2-2.4, maka diketahui

𝐿𝑚𝑖𝑛 ≤ ℓ ≤ 𝐿𝑚𝑎𝑘𝑠 2.6

dengan interval [𝐿𝑚𝑖𝑛, 𝐿𝑚𝑎𝑘𝑠] disebut sebagai skala keabuan (Gonzales & Woods,

2018).

Sebuah citra juga dapat direpresentasikan ke dalam bentuk matriks berukuran

𝑀 × 𝑁. Dalam bentuk matriks, citra didefinisikan sebagai himpunan (array) dua

dimensi yang dapat disusun ke dalam beberapa baris dan kolom. Setiap elemen

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

7

dalam himpunan (array) dinamakan piksel. Setiap piksel menunjukkan angka yang

merepresentasikan intensitas kanal (channel) warna pada citra.

Secara matematis, definisi citra dapat dilihat pada matriks di bawah ini

dengan 𝑥 menunjukkan baris dan 𝑦 menunjukkan kolom (Gonzales & Woods,

2018):

𝑓(𝑥, 𝑦) = [

𝑓(0,0) 𝑓(0,1) ⋯ 𝑓(0, 𝑁 − 1)𝑓(1,0) 𝑓(1,1) ⋯ 𝑓(1, 𝑁 − 1)⋮ ⋮ ⋮ ⋮

𝑓(𝑀 − 1,0) 𝑓(𝑀 − 1,1) ⋯ 𝑓(𝑀 − 1,𝑁 − 1)

] 2.7

B. Dasar-dasar Citra

Pada sub-bab ini akan dijelaskan mengenai dasar-dasar yang terdapat dalam

sebuah citra, yaitu Kedalaman Bit (Bit Depth) dan Piksel (Pixel)

1. Piksel (Pixel)

Piksel atau yang dalam bahasa Inggrisnya dikenal sebagai pixel

merupakan singkatan dari istilah picture element. Piksel merupakan kotak

persegi kecil yang membangun suatu citra. Setiap piksel ini

merepresentasikan intensitas cahaya yang muncul pada tempat tertentu pada

citra. Misalkan terdapat sebuah citra berukuran 1.000 × 750, ini artinya citra

mempunyai ukuran lebar sebesar 1.000 piksel, tinggi sebesar 750 piksel, dan

total keseluruhan sebesar 750.000 piksel dalam sebuah citra.

2. Kedalaman Bit (Bit Depth)

Rentang piksel dari format citra tertentu ditentukan oleh kedalaman

bitnya. Rentang dari bit adalah [0, 2𝑘𝑒𝑑𝑎𝑙𝑎𝑚𝑎𝑛 𝑏𝑖𝑡 − 1]. Misalnya, pada citra

ukuran 8 bit akan mempunyai rentang antara [0, 28 − 1] = [0,255]. Citra

dengan kedalaman bit yang lebih tinggi membutuhkan penyimpanan dan

memory yang lebih besar. Sebagian besar format citra seperti JPEG, PNG,

dan sebagainya menggunakan ukuran 8 bit untuk penyimpanan dan hanya

mempunyai nilai positif. Pada citra JPEG yang mengandung warna RGB

mempunyai kedalaman bit yang lebih dalam, sebab citra warna RGB

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

8

mempunyai 3 kanal dan masing-masing kanal mempunyai kedalaman sebesar

8 bit, sehingga total kedalaman bitnya adalah 24.

C. Citra Warna RGB

Citra berwarna adalah citra yang memiliki 3 buah kanal warna di dalamnya.

Pada umumnya jenis citra ini terbentuk dari komponen merah (R), hijau (G), dan

biru (B) yang dimodelkan ke dalam ruang warna RGB. Warna RGB merupakan

sistem warna aditif, yang berarti bahwa semua warna dimulai dengan hitam dan

dibuat dengan menambahkan warna primer. Untuk membuat warna yang berbeda,

intensitas masing-masing wana primer dapat dimodifikasi secara independen.

Intensitas yang berbeda dari setiap pancaran warna primer mengontrol bayangan

dan kecerahan warna yang dihasilkan .

Gambar 2.1 Kiri: Representasi ruang warna RGB ke dalam sebuah kubus

tiga dimensi. Kanan: Koordinat warna RGB (Burger & Burge, 2009).

Ruang warna RGB dapat divisualisasikan sebagai kubus tiga dimensi, di

mana tiga warna primer membentuk sumbu koordinat. Warna RGB mempunyai

nilai positif dan berada dalam interval [0, 𝐶𝑚𝑎𝑥] , dan nilai dari 𝐶𝑚𝑎𝑥 = 255 .

Warna-warna 𝐶𝑖 yang mungkin, bersesuaian dengan titik di dalam kubus warna

RGB yang berbentuk

𝐶𝑖 = (𝑅𝑖, 𝐺𝑖, 𝐵𝑖), 2.8

Dimana 0 ≤ 𝑅𝑖, 𝐺𝑖 , 𝐵𝑖 ≤ 𝐶𝑚𝑎𝑥 . Nilai RGB sering dinormalisasikan ke

interval [0,1] sehingga ruang warna yang dihasilkan membentuk kubus satuan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

9

Titik 𝑆 = (0,0,0) bersesuaian dengan warna hitam, 𝑊 = (1,1,1) bersesuaian

dengan warna putih, dan semua titik yang berada pada diagonal antara 𝑆 dan 𝑊

mempunyai warna abu-abu yang dihasilkan dari komponen warna yang sama 𝑅 =

𝐺 = 𝐵

Gambar 2.2 Citra warna dengan masing-masing kanal warnanya (Burger

& Burge, 2009).

Sistem warna RGB sangat sederhana, terlihat pada Gambar 2.2. Buah yang

digambarkan dominan berwarna kuning dan merah, oleh karena itu kanal warna R

dan G akan memiliki nilai yang lebih tinggi. Untuk kanal warna B memiliki nilai

yang lebih rendah, terlihat nilai keabuannya lebih gelap. Pada bagian atas meja,

latar meja berwarna ungu, oleh karena itu kanal warna B akan lebih tinggi, dan

berwarna lebih terang.

D. Klasifikasi Citra

Klasifikasi citra merupakan sebuah permasalahan dari pembelajaran yang

diawasi (supervised learning). Secara garis besar, pembelajaran yang diawasi

merupakan salah satu jenis pembelajaran yang mendapatkan proses latih terlebih

dahulu, barulah kemudian dapat digunakan untuk memprediksi atau

mengklasifikasi data. Pengklasifikasian citra bekerja dengan memberikan label

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

10

pada sebuah citra berdasarkan kategori yang telah diberikan. Sebagai contoh,

misalkan citra masukan yang diberikan adalah citra dari seekor anjing. Klasifikasi

citra merupakan proses dari analisa komputer mengenai suatu citra dan mengenali

bahwa itu adalah seekor anjing.

Gambar 2.3 Contoh citra masukan berupa gambar seekor anjing.

E. Pembelajaran Mesin (Machine Learning)

Istilah Machine Learning atau Pembelajaran Mesin pertama kali

dikemukakan oleh Arthur Samuel pada tahun 1959. Arthur Samuel mendefinisikan

pembelajaran mesin sebagai cabang inti dari kecerdasan buatan (Artificial

Intelligence) yang bertujuan untuk memberikan komputer kemampuan untuk

belajar tanpa diprogram secara eksplisit. Pembelajaran mesin dikembangkan dari

beberapa disiplin ilmu, seperti statistika, matematika, kecerdasan buatan, dan ilmu

komputer. Penerapan metode pembelajaran mesin dalam beberapa tahun terakhir

ini menjadi hal yang umum dalam kehidupan sehari-hari. Mulai dari rekomendasi

film, fitur deteksi wajah pada telepon pintar, iklan tentang produk yang ingin dibeli,

dan lain sebagainya.

Dalam algoritma pembelajaran mesin, terdapat beberapa teknik yang

digunakan, antara lain seperti:

1. Pembelajaran yang diawasi (supervised learning).

Algoritma pembelajaran mesin ini bekerja dengan menggunakan

pasangan data masukan dan luaran yang sudah berlabel. Pembelajaran yang

diawasi akan menerapkan apa yang telah dipelajari di masa lalu ke data baru

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

11

menggunakan data-data yang sudah diberi label sebelumnya untuk

memprediksi peristiwa masa depan.

Dalam penggunaannya, pembelajaran yang diawasi dapat dibedakan

menjadi dua tipe yaitu:

a. Regresi

Regresi merupakan teknik pendekatan dengan pemetaan sebuah

fungsi 𝑓 dari variabel bebas 𝑋 ke variabel terikat 𝑦 . Keluaran dari

fungsi tersebut berupa nilai riil, yang biasanya berupa kuantitas,

misalnya berupa harga, ukuran, dsb.

Contoh 2.1 Peningkatan hutang pinjaman mahasiswa di Amerika

Serikat (Watt et al., 2009).

Pada Gambar 2.4 menunjukkan total hutang pinjaman siswa yang

digunakan untuk membiayai uang sekolah dari tahun 2006 hingga tahun

2014 yang diukur setiap tiga bulan. Selama delapan tahun, hutang siswa

telah meningkat hampir tiga kali lipat, dengan total lebih dari satu

triliun dolar pada akhir tahun 2014. Garis regresi dengan warna hitam

menunjukkan penyelesaian dari model ini, dengan kemiringan positif

yang tajam, menunjukkan bahwa hutang siswa meningkat sangat cepat.

Gambar 2.4 Ilustrasi total hutang siswa yang dihitung secara kuartal

dari 2006 sampai 2014 (Watt et al., 2009).

b. Klasifikasi

Pada prinsipnya, klasifikasi mirip dengan regresi, hanya saja yang

membedakannya adalah keluaran yang dihasilkan. Klasifikasi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

12

merupakan teknik pendekatan dengan pemetaan sebuah fungsi 𝑓 dari

variabel 𝑋 ke variabel 𝑦 yang diskrit. Keluaran dari teknik ini berupa

label atau kategori. Fungsi pemetaan ini memprediksi kelas atau

kategori dari data yang diberikan, misalnya mengklasifikasikan citra,

pengenalan objek, dsb. Secara geometris, pada tugas klasifikasi dua

dimensi, akan ditemukan sebuah kurva pemisah yang secara akurat

memisahkan dua jenis data. Untuk ilustrasi lebih jelas, tugas klasifikasi

dua dimensi ditunjukkan pada Gambar 2.5.

Gambar 2.5 Model linear yang terlatih untuk memisahkan dua kelas

berbeda (Watt et al., 2009)..

Contoh 2.2 Deteksi objek (Watt et al., 2020).

Deteksi objek merupakan masalah umum dalam klasifikasi yang

bertugas mengidentifikasi objek tertentu dalam sekumpulan gambar

atau video secara otomatis. Aplikasi pendeteksian objek yang banyak

digunakan misalnya pendeteksi wajah yang digunakan dalam

pemfokusan kamera. Dalam melatih pengklasifikasi, dikumpulkan

sejumlah data yang terdiri dari gambar wajah dan yang bukan gambar

wajah. Selanjutnya pada data validasi gambar wajah yang baru dicari

dan diperiksa dengan cara menggeser sebuah jendela kotak. Setiap

lokasi jendela digeser, akan diperiksa di sisi mana pengklasifikasi itu

berada. Jika saat jendela digeser terletak di sisi wajah pengklasifikasi,

maka objek yang terdapat dalam jendela kotak itu diklasifikan sebagai

wajah, jika tidak, maka diklasifikasikan sebagai bukan wajah.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

13

Gambar 2.6 Ilustrasi deteksi objek (Watt et al., 2009).

Pada Gambar 2.6 terlihat bahwa kelas yang dibagi hanya terdiri

dari dua kelas yaitu kelas yang mengandung wajah, dan yang tidak. Saat

objek wajah terdeteksi maka akan masuk ke dalam kelas yang

mengandung wajah yaitu kelas yang ditunjukkan dengan warna biru.

Begitu pula sebaliknya, apabila objek yang tidak mengandung wajah

terdeteksi, maka akan masuk ke dalam kelas yang tidak mengandung

wajah yaitu kelas yang ditunjukkan dengan warna merah.

2. Pembelajaran yang tidak diawasi (unsupervised learning).

Pada teknik pembelajaran yang tidak diawasi, data yang diketahui atau

terlabel hanyalah data masukan saja, dan tidak ada data keluaran yang

diketahui. Pembelajaran yang tidak diawasi mempelajari bagaimana

algoritma dapat menyimpulkan suatu fungsi untuk mendeskripsikan struktur

tersembunyi dari data yang tidak berlabel. Sistem mengekplorasi data dan

dapat menarik kesimpulan dari kumpulan data untuk menggambarkan

struktur tersembunyi dari data yang tidak berlabel.

Terdapat dua kasus mendasar dari pembelajaran yang tidak diawasi,

yaitu reduksi dimensi (dimension reduction) dan pengelompokan

(clustering). Dua kasus tersebut memungkinkan penyederhanaan

pengumpulan data melalui dua cara, yang pertama adalah dengan mengurangi

dimensi dari data masukan dan yang kedua adalah dengan menentukan

sejumlah kecil perwakilan yang secara memadai menggambarkan keragaman

kumpulan data yang lebih besar.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

14

a. Reduksi Dimensi (Dimension Reduction)

Pada zaman modern ini, ukuran dimensi data misalnya citra,

video, ataupun teks dokumen, seringkali terlalu besar untuk

efektivitasnya dalam membuat model prediksi atau analisis. Oleh

karena itu, mereduksi dimensi seringkali penting untuk penerapan yang

efektif dari banyak algoritma pembelajaran mesin, dan merupakan

langkah pra-pemrosesan yang umum untuk tugas prediksi dan analisis.

Secara geometris, mereduksi dimensi kumpulan data berarti

menekan atau memproyeksikan data ke garis atau kurva berdimensi

lebih rendah yang tepat, dengan tetap mempertahankan karakteristik

data aslinya. Sebagai ilustrasi dapat dilihat pada Gambar 2.7, pada

gambar tersebut terlihat bahwa terdapat dua jenis dimensi yang berbeda

dari sebuah data yang sama. Pada gambar sebelah kanan merupakan

data yang belum direduksi yaitu data tiga dimensi dengan data masukan

ditunjukkan dengan titik-titik yang berwarna hitam. dan gambar

sebelah kiri merupakan data yang sudah direduksi menjadi data dua

dimensi Dan dalam praktiknya, reduksi dimensi pada zaman modern

jauh lebih besar daripada yang diilustrasikan pada Gambar 2.7 ini.

Gambar 2.7 Ilustrasi data dua dimensi dan tiga dimensi

(Watt et al., 2009).

b. Pengelompokan (Clustering)

Pengelompokan merupakan kasus yang paling sering dijumpai

dalam permasalahan pembelajaran yang tidak diawasi. Pengelompokan

bertujuan untuk mengidentifikasi struktur dasar dari suatu dataset yang

tidak terlabel, kemudian mengelompokannya ke dalam beberapa

kelompok berdasarkan karakteristik tertentu.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

15

Gambar 2.8 Ilustrasi pengelompokan dari dua data yang berbeda

(Watt et al., 2009).

Pada Gambar 2.8 terdapat dua data yang berbeda yang tidak

diketahui labelnya. Masing-masing data dikelompokkan menjadi dua

kelompok yang berbeda. Pengelompokan ini dapat sangat bervariasi

bergantung pada algoritma yang digunakan seperti yang terlihat pada

gambar pertama dan kedua.

3. Pembelajaran penguatan (reinfoncerment learning).

Pembelajaran penguatan adalah teknik pembelajaran yang bekerja

dengan menghasilkan tindakan dari menemukan kesalahan atau penghargaan.

Teknik pembelajaran penguatan memerlukan perlakuan yang terpisah dari

dua teknik pembelajaran yang dijelaskan sebelumnya. Teknik ini melibatkan

umpan balik dari lingkungan. Oleh karena itu teknik ini tidak sepenuhnya

dapat disebut pembelajaran yang tidak diawasi. Namun demikian, ia juga

tidak memiliki data yang berlabel untuk melatihnya, sehingga ia juga tidak

dapat dikatakan sebagai pembelajaran yang diawasi. Pada teknik

pembelajaran penguatan, sistem terus berinteraksi dengan lingkungan untuk

menghasilkan perilaku yang diinginkan dan mendapatkan umpan balik dari

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

16

lingkungan. Contoh yang sering dijumpai misalnya pada permainan komputer

berupa catur, AlphaGo, ataupun misalnya pada permainan tic-tac-toe.

F. Jaringan Saraf Tiruan (Artificial Neural Network)

Jaringan saraf tiruan adalah teknik pembelajaran mesin yang mensimulasikan

mekanisme pembelajaran dalam organisme biologis. Sistem saraf manusia

mengandung sel, yang disebut neuron. Neuron terhubung satu sama lain dengan

akson dan dendrit. Dendrit adalah jaringan reseptif seperti pohon dari serabut saraf

yang membawa signal listrik ke dalam sel, sedangkan akson adalah serat yang

panjang dan tipis yang membawa signal dari badan sel ke neuron lain. Kemudian,

daerah penghubung antara akson dan dendrit disebut sebagai sinapsis. Kekuatan

dari sinapsis sering berubah sebagai respons terhadap rangsangan dari luar.

Perubahan ini adalah proses pembelajaran yang terjadi pada organisme hidup.

Sebagai ilustrasi dapat dilihat pada Gambar 2.9

Gambar 2.9 Jaringan saraf pada manusia (Haykin, 2008).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

17

Mekanisme biologis ini kemudian disimulasikan ke dalam sebuah jaringan

saraf yang dapat diterapkan ke dalam komputer. Neuron pada jaringan saraf

merupakan unit pemrosesan informasi yang fundamental. Gambar 2.10 merupakan

model neuron yang menjadi dasar dalam merancang jaringan saraf. Pada gambar

tersebut dapat dilihat bahwa dalam struktur jaringan saraf terdapat komponen-

komponen yang dimulai dengan masukan (𝑥𝑖) yang terkoneksi dengan bobot (𝑤𝑖).

Setelah itu, nilai-nilai pada masukan akan dijumlahkan, dan kemudian dikenakan

fungsi aktivasi. Fungsi aktivasi ini berguna untuk menentukan keluaran yang

dihasilkan oleh neuron. Pada Gambar 2.10 juga terdapat komponen eksternal yang

disebut sebagai bias (𝑏). Secara matematis, untuk mendeskripsikan neuron yang

tampak pada Gambar 2.10 dapat ditunjukkan pada persamaan berikut:

𝑧 = ∑𝑤𝑖𝑥𝑖

𝑛

𝑖=1`

2.9

dan

𝑦 = 𝑓(𝑧) = 𝑓(𝒙 ∙ 𝒘 + 𝑏) 2.10

dimana 𝑥1, 𝑥2, … , 𝑥𝑚 adalah masukan, 𝑤1, 𝑤2, … , 𝑤𝑚 adalah bobot dari neuron, 𝑧

adalah kombinasi linear antara masukan dan bobot, 𝑏 adalah bias, 𝑓 merupakan

fungsi aktivasi, dan terakhir 𝑦 adalah keluaran dari neuron.

Gambar 2.10 Model neuron (Aggarwall, 2018).

1. Fungsi Aktivasi

Fungsi aktivasi merupakan bagian yang penting, Fungsi aktivasi

dinotasikan dengan 𝑓 , yang mendefinisikan keluaran dari sebuah neuron.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

18

Pada bagian ini akan dikenalkan dua fungsi aktivasi non-linear dalam

komputasinya.

a. Fungsi aktivasi Sigmoid

Fungsi aktivasi Sigmoid merupakan fungsi yang cukup

sederhana. Fungsi ini dapat digunakan sebagai classifier untuk jenis

klasifikasi yang hanya mempunyai dua kelas, sebab fungsi ini hanya

memberikan nilai diantara 0 dan 1. Secara matematis fungsi aktivasi

Sigmoid dapat dituliskan sebagai berikut:

𝑓(𝑧) =1

1 + 𝑒−𝑧 2.11

Dengan turunannya adalah

𝑑

𝑑𝑥𝑓(𝑧) =

𝑑

𝑑𝑥

1

1 + 𝑒−𝑧

𝑑

𝑑𝑥𝑓(𝑧) =

𝑑

𝑑𝑥(1 + 𝑒−𝑧)−1

𝑑

𝑑𝑥𝑓(𝑧) = −(1 + 𝑒−𝑧)−2 ∙

𝑑

𝑑𝑥(1 + 𝑒−𝑧)

𝑑

𝑑𝑥𝑓(𝑧) = −(1 + 𝑒−𝑧)−2 ∙ −(𝑒−𝑧)

𝑑

𝑑𝑥𝑓(𝑧) =

𝑒−𝑧

(1 + 𝑒−𝑧)2

𝑑

𝑑𝑥𝑓(𝑧) =

𝑒−𝑧 + 1 − 1

(1 + 𝑒−𝑧)2

𝑑

𝑑𝑥𝑓(𝑧) =

1

(1 + 𝑒−𝑧) ∙𝑒−𝑧 + 1 − 1

(1 + 𝑒−𝑧)

𝑑

𝑑𝑥𝑓(𝑧) =

1

(1 + 𝑒−𝑧) ∙ (1 −

1

(1 + 𝑒−𝑧) )

𝑓(𝑧) = 𝑓(𝑧)(1 − 𝑓(𝑧))

2.12

2.13

2.14

2.15

2.16

2.17

2.18

2.19

2.20

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

19

Untuk ilustrasi yang lebih jelas dapat dilihat pada gambar berikut

Gambar 2.11 Fungsi aktivasi Sigmoid (Buduma, 2017).

Pada gambar di atas, terlihat bahwa grafik fungsi sigmoid ini

terbatas antara [0,1]. Apabila menggunakan pendekatan limit dapat

diketahui bahwa apabila 𝑧 membesar ke arah yang positif, maka

lim𝑧→∞

1

1+𝑒−𝑧=

1

1+0= 1 , begitu pula saat 𝑧mengecil ke arah bilangan

negatif, maka lim𝑧→−∞

1

1+𝑒−𝑧=

1

1+∞= 0.

b. Fungsi aktivasi Tanh

Gambar 2.12 Fungsi aktivasi Tanh (Buduma, 2017).

Seperti pada Gambar 2.12 fungsi aktivasi tanh mempunyai bentuk

yang mirip dengan fungsi aktivasi Sigmoid, yaitu grafik yang

menyerupai huruf S. Fungsi aktivasi Tanh mempunyai rentang nilai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

20

antara -1 sampai 1, dan digunakan sebagai classifier dua kelas. Secara

matematis, fungsi aktivasi Tanh dituliskan sebagai

𝑓(𝑧) = tanh(𝑧) =sinh(𝑧)

cosh(𝑧) 2.21

Dengan turunannya adalah

𝑑

𝑑𝑧𝑓(𝑧) =

𝑑

𝑑𝑧

sinh(𝑧)

cosh(𝑧)

𝑑

𝑑𝑧𝑓(𝑧) =

cosh2(𝑧) − sinh2(𝑧)

cosh2(𝑧)

𝑑

𝑑𝑧𝑓(𝑧) = 1 −

sinh2(𝑧)

cosh2(𝑧)

𝑑

𝑑𝑧𝑓(𝑧) = 1 − tanh2(𝑧)

𝑑

𝑑𝑧𝑓(𝑧) = 1 − 𝑓2(𝑧)

2.22

2.23

2.24

2.25

2.26

c. Fungsi Rectified Linear Unit

Fungsi aktivasi ReLU merupakan fungsi yang paling banyak

digunakan terutama dalam jaringan saraf yang lebih dalam. Secara

matematis fungsi aktivasi ReLu dituliskan sebagai

𝑓(𝑧) = max(0, 𝑧) = {0, 𝑧 < 0𝑧, 𝑧 ≥ 0

2.27

Dengan turunannya adalah

𝑑

𝑑𝑧𝑓(𝑧) = {

𝑑

𝑑𝑧0, 𝑧 < 0

𝑑

𝑑𝑧𝑧, 𝑧 > 0

𝑑

𝑑𝑧𝑓(𝑧) = {

0, 𝑧 < 01, 𝑧 > 0

2.28

2.29

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

21

Untuk ilustrasi yang lebih jelas dapat dilihat pada gambar berikut

Gambar 2.13 Fungsi aktivasi ReLU (Buduma, 2017).

Dari gambar di atas dapat dilihat bahwa fungsi ReLU akan

bernilai nol saat masukan yang diberikan bernilai negatif dan akan

bernilai 𝑧 saat masukan yang diberikan bernilai non negatif.

2. Perceptron Lapis Tunggal (Single Layer Peceptron)

Perceptron merupakan bentuk paling sederhana dari jaringan saraf

tiruan. Model jaringan ini pertama kali dikembangkan oleh Rosenbaltt pada

tahun 1958. Perceptron terdiri dari satu lapisan saja dan pada umumnya

digunakan untuk mengklasifikasikan data yang linear.

Arsitektur perceptron dapat dilihat pada Gambar 2.10. Pada gambar

tersebut terlihat bahwa masukan yang diberikan pada lapisan, langsung dapat

ditransmisikan dan menghasilkan keluaran. Keluaran yang dihasilkan

perceptron dalam menentukan kelas akan dikenakan sebuah fungsi aktivasi.

Pemilihan fungsi aktivasi yang berbeda dapat digunakan untuk

mensimulasikan berbagai model yang digunakan dalam pembelajaran mesin,

seperti regresi kuadrat terkecil, support vector machine, atau regresi logistik.

3. Perceptron Lapis Jamak (Multi Layer Peceptron)

Perceptron lapis jamak merupakan arsitektur jaringan saraf yang terdiri

dari beberapa lapisan komputasi. Pada perceptron lapis jamak terdapat lapisan

tambahan yang dikenal sebagai lapisan tersembunyi. Arsitektur ini dikenal

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

22

sebagai jaringan umpan maju, sebab komputasinya akan dimulai berurutan

dari lapisan masukan sampai ke lapisan keluaran.

Gambar 2.14 Perceptron lapis jamak (Aggarwall, 2018).

Gambar 2.14 di atas merupakan arsitektur perceptron lapis jamak

dengan dua lapisan tersembunyi dan satu lapisan keluaran. Dibandingkan

dengan perceptron lapis tunggal, perceptron lapis jamak memiliki komputasi

yang cukup berat sehingga membutuhkan waktu yang lama dalam

memprosesnya. Dasar dari perceptron lapis jamak inilah yang kemudian

dijadikan sebagai model untuk menyelesaikan masalah-masalah yang lebih

kompleks seperti pada Pembelajaran Dalam

4. Algoritma Propagasi Balik (Backpropagation)

Jaringan saraf didefinisikan sepenuhnya oleh bobot, bias, dan fungsi

aktivasinya. Dalam jaringan saraf lapis tunggal, proses pelatihan relatif

mudah karena kesalahan (error) dapat dihitung sebagai fungsi yang langsung

dikomputasikan dari bobot. Dalam kasus jaringan saraf lapis jamak, fungsi

yang terdapat di dalamnya cukup rumit, sehingga sulit mengetahui seberapa

besar kesalahannya. Oleh karena itu untuk menyelesaikannya, akan

dikenalkan sebuah algoritma propagasi balik (backpropagation) yang akan

menjadi alat untuk menemukan nilai bobot dan bias dalam jaringan saraf lapis

jamak. Algoritma propagasi balik memanfaatkan aturan rantai yang terdapat

pada kalkulus diferensial. Pelatihan dengan algoritma propagasi balik ini

melibatkan empat langkah dasar yaitu: (1) memasukan vektor pola; (2)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

23

melakukan perhitungan maju; (3) melakukan perhitungan propagasi balik;

dan (4) memodifikasi bobot dan bias dalam jaringan.

Misalkan, diberikan suatu set pola pelatihan sebagai berikut:

Gambar 2.15 Arsitektur JST.

Arsitektur jaringan saraf di atas merupakan jaringan yang sederhana

dan hanya memiliki 1 lapisan tersembunyi. Dengan 𝑎[0] = 𝑥

merepresentasikan lapisan masukan, 𝑎[1] merepresentasikan lapisan

tersembunyi, dan 𝑎[2] = �̂� merepresentasikan lapisan keluaran. Tahapan

perhitungan maju untuk jaringan saraf di atas dapat dilakukan sebagai berikut:

𝑧1[1] = 𝑤1 ∙ 𝑥1 + 𝑤2 ∙ 𝑥2 + 𝑏

𝑎1[1] = 𝑓 (𝑧1

[1])

2.30

2.31

Perhitungan yang serupa juga dilakukan untuk mendapatkan 𝑧2[1], 𝑎2

[1], 𝑧3

[1],

𝑎3[1]

. Kemudian, perhitungan yang serupa juga dilakukan untuk menghitung

keluaran pada lapisan selanjutnya seperti yang ditunjukkan berikut.

𝑧1[2] = 𝑤7 ∙ 𝑎1

[1] + 𝑤8 ∙ 𝑎2[1] + 𝑤9 ∙ 𝑎3

[1] + 𝑏

𝑎1[2] = 𝑓 (𝑧1

[2])

2.32

2.33

Hasil yang diperoleh pada persamaan terakhir merupakan keluaran dari

propagasi maju jaringan saraf. Hasil prediksi ini kemudian akan dibandingkan

dengan nilai yang sebenarnya ada pada data. Apabila terdapat selisih yang

besar maka akan dilakukan modifikasi bobot yang dilakukan melalui proses

propagasi mundur.

𝑥1

𝑥2

𝑎1[1]

𝑎2[1]

𝑎3[1]

𝑤1

𝑤2 𝑤3

𝑤4 𝑤5

𝑤6

𝑤7

𝑤8

𝑤9

∑ 𝑦

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

24

Selanjutnya, pada jaringan saraf ini akan ditentukan fungsi rugi (loss)

sebagai berikut :

𝐿 =1

2(𝑦 − �̂�)2 2.34

dengan �̂� merupakan nilai yang diprediksi dan 𝑦 adalah nilai yang yang

sudah diketahui dari data. Misalkan pada jaringan saraf di atas, akan

menggunakan jenis fungsi aktivasi yang sederhana yaitu fungsi aktivasi

sigmoid. Selanjutnya, untuk memperbaharui bobot 𝑤7 , perlu dilakukan

perhitungan turunan parsial dari fungsi rugi terhadap 𝑤7. Maka komputasi

propagasi baliknya adalah

𝜕𝐿

𝜕𝑤7=𝜕𝐿

𝜕𝑦 𝜕𝑦

𝜕𝑧 𝜕𝑧

𝜕𝑤7 2.35

dengan

𝜕𝐿

𝜕𝑦=1

2∙ 2(�̂� − 𝑦) ∙ (−1) = 𝑦 − �̂�

𝜕𝑦

𝜕𝑧= 𝑓(𝑧) ∙ (1 − 𝑓(𝑧)) = 𝑦(1 − 𝑦)

𝜕𝑧

𝜕𝑤7=𝜕(𝑎1

[1]𝑤7 + 𝑎2[1]𝑤8 + 𝑎3

[1]𝑤9)

𝜕𝑤7= 𝑎1

[1]

2.36

2.37

2.38

sehingga diperoleh

𝜕𝐿

𝜕𝑤7= (𝑦 − �̂�) ∙ 𝑦(1 − 𝑦) ∙ 𝑎1

[1] 2.39

Dari hasil yang diperoleh, kemudian akan dilakukan modifikasi dari bobot

dengan persamaan sebagai berikut:

𝑤7′ = 𝑤7

−𝜕𝐿

𝜕𝑤7 2.40

Setelah bobot yang baru didapatkan, perhitungan yang serupa dapat

dilanjutkan untuk bobot-bobot dan bias yang lainnya.

G. Pembelajaran Dalam (Deep Learning)

Pembelajaran Dalam (Deep Learning) adalah subbidang dari pembelajaran

mesin (machine learning) yang fokus untuk membuat model jaringan saraf yang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

25

besar sehingga dapat membuat keputusan yang akurat dari data. Pembelajaran

Dalam sangat cocok diaplikasikan untuk permasalahan yang datanya kompleks dan

terdapat data yang besar. Pembelajaran dalam memungkinkan untuk

mengidentifikasi dan mengekstrak pola dari kumpulan besar data yang secara

akurat memetakan himpunan input yang kompleks ke hasil keputusan yang baik.

(Kelleher, 2019)

Pembelajaran Dalam menggunakan algoritma jaringan saraf tiruan dalam

memproses data, memperoleh pola atau untuk mengembangkan abstraksi,

mensimulasikan proses berpikir dari otak biologis. Istilah Pembelajaran Dalam

berasal dari jaringan saraf tiruan yang memiliki banyak lapisan tersembunyi.

Jaringan saraf umumnya memiliki 1 atau 2 lapisan tersembunyi, tetapi pada

Pembelajaran Dalam lapisan tersembunyi dapat ditemukan lebih dari 2 bahkan

ratusan lapisan tersembunyi.

Pembelajaran Dalam menggunakan tumpukan beberapa lapisan tersembunyi

dari unit pemrosesan non-linear. Masukan dari lapisan tersembunyi merupakan

keluaran dari lapisan sebelumnya. Fitur diekstraksi dari setiap lapisan tersembunyi.

Fitur dari lapisan yang berbeda mewakili abstrak atau pola dari tingkat yang

berbeda. Oleh karena itu, fitur tingkat yang lebih tinggi berasal dari fitur tingkat

yang lebih rendah, yang diekstrak dari lapisan sebelumnya. Semua ini akhirnya

bersama-sama membentuk representasi hierarkis yang dipelajari dari data.

Pembelajaran Dalam telah banyak membuat kemajuan besar dalam

memecahkan masalah, misalnya visi komputer, pengenalan suara, dan pemrosesan

bahasa alami. Adapun model Pembelajaran Dalam yang cukup terkenal untuk

menyelesaikan masalah klasifikasi adalah jenis jaringan saraf konvolusional yang

juga akan digunakan sebagai metode dalam penulisan tugas akhir ini.

Misalkan diambil contoh klasifikasi citra hewan anjing dan kucing, dalam

penyelesaian pembelajaran mesin tradisional, langkah klasifikasi mengikuti proses

ekstraksi fitur, yang sering kali didasarkan pada:

1. Pengetahuan, seperti warna, bentuk, warna hewan, bentuk telinga, dan lain

sebagainya

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

26

2. Reduksi dimensi, menggunakan analisis komponen utama (PCA), atau

Latent Dirichlet Allocation (LDA)

3. Teknik feature engineering, yang menggunakan kemampuan dan

pengetahuan manusia dalam memilih fitur dari data mentah.

Namun, pada Pembelajaran Dalam dengan menggunakan model jaringan

saraf konvolusional, langkah-langkah ekstraksi fitur manual dihapuskan, dan

sebagai gantinya mengandalkan proses pelatihan untuk secara otomatis

menemukan pola yang tepat dari data masukan. Dan dengan berbagai kombinasi

yang tepat misalnya banyak masukan, lapisan tersembunyi, fungsi aktivasi dan

sebagainya kumpulan fitur yang paling efisien untuk digunakan dalam klasifikasi

dapat ditemukan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

BAB III

JARINGAN SARAF KONVOLUSIONAL

A. Jaringan Saraf Konvolusional

Jaringan saraf konvolusional merupakan pengembangan dari jaringan saraf

tiruan yang dirancang untuk mengolah masukan berupa structure grid, yang

memiliki ketergantungan spasial yang kuat di wilayah jaringan lokal. Jaringan ini

pertama kali dikemukakan oleh Yann LeCun dan timnya pada tahun 1998. Ide yang

diimplementasikan oleh LeCun dan timnya dibangun atas gagasan David H. Hubel

dan Torsten Weisel yang meneliti tentang visual cortex pada hewan. Penelitian ini

menemukan hubungan antara aktivitas di area otak yang kecil dan aktivitas di

wilayah bidang visual yang kecil. Hal inilah yang menjadi ide dasar penemuan

bidang reseptif, yang merupakan konsep yang digunakan untuk menggambarkan

hubungan antara bagian-bagian bidang visual dan neuron individu yang memproses

informasi.

Contoh yang paling jelas dari data berbentuk grid adalah citra dua dimensi.

Jenis data ini menunjukkan ketergantungan spasial, karena lokasi spasial yang

berdekatan dalam sebuah gambar sering kali memiliki nilai warna yang sama

dengan masing-masing piksel. Jaringan saraf konvolusional telah banyak

digunakan dalam visi komputer dan telah banyak digunakan untuk

mengklasifikasikan citra dan mengenali objek. Jaringan ini sangat baik dalam

memilih pola pada masukan citra, misalnya garis, lingkaran, bahkan mata dan

wajah.

Jaringan saraf konvolusional dalam penerapannya dapat dikatakan telah

sangat berhasil dan praktis. Nama “jaringan saraf konvolusional” menunjukkan

bahwa di dalam jaringan tersebut digunakan operasi matematika yang disebut

konvolusi. Jaringan saraf konvolusional adalah jaringan saraf sederhana yang

menggunakan operasi konvolusi sebagai pengganti perkalian matriks umum di

setidaknya salah satu lapisannya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

28

1. Dasar-Dasar Jaringan Saraf Konvolusional

Pada bagian ini akan dijelaskan dasar-dasar yang digunakan pada

jaringan saraf konvolusional, seperti kernel dan filter, operasi konvolusi,

parameter stride dan padding, dan operasi pooling.

a. Kernel atau Filter

Filter atau disebut juga sebagai kernel merupakan salah satu

komponen utama dalam jaringan saraf konvolusional. Filter berbentuk

matriks persegi yang memiliki dimensi 𝑛𝑘 × 𝑛𝑘 , di mana 𝑛𝑘 adalah

bilangan bulat dan biasanya berupa angka kecil, seperti 3 atau 5. Filter

atau kernel ini, dibutuhkan untuk mengaburkan, menajamkan, dan

digunakan untuk mendeteksi tepian objek misalnya Dalam

penggunaannya, terdapat beberapa kernel atau filter yang digunakan,

diantaranya adalah:

1) Kernel untuk deteksi tepi horizontal

𝐾𝐻 = (1 1 10 0 0−1 −1 −1

)

2) Kernel untuk deteksi tepi vertikal

𝐾𝑉 = (1 0 −11 0 −11 0 −1

)

3) Kernel untuk deteksi tepi ketika keterangan cahaya berubah

secara drastis

𝐾𝐿 = (−1 −1 −1−1 8 −1−1 −1 −1

)

4) Kernel untuk mengaburkan tepi pada gambar

𝐾𝐵 = −1

9(1 1 11 1 11 1 1

)

b. Operasi Konvolusi

Langkah yang penting untuk mempelajari jaringan saraf

konvolusional adalah memahami operasi konvolusi. Secara garis besar,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

29

konvolusi adalah sebuah operasi dari dua fungsi yang bernilai riil

(Goodfellow et al., 2016). Operasi konvolusi biasanya dilambangkan

dengan tanda bintang, dan secara matematis ditulis sebagai berikut:

𝑠(𝑡) = (𝑥 ∗ 𝑤)(𝑡). 3.1

dengan 𝑥 adalah argumen pertama yang juga merupakan masukan, dan

𝑤 adalah argumen kedua yang merupakan kernel. Fungsi 𝑠(𝑡)

merupakan keluaran yang disebut juga sebagai peta fitur.

Untuk mengkonvolusikan citra masukan dengan kernel,

dilakukan perkalian titik antara kernel dan citra masukan. Dalam

pengolahan data citra, yang merupakan data dua dimensi, operasi

konvolusi yang digunakan adalah operasi yang bersifat diskrit. Operasi

konvolusi diskrit dapat ditulis sebagai berikut:

𝑆(𝑖, 𝑗) = (𝐼 ∗ 𝐾)(𝑖, 𝑗)

=∑ ∑ 𝐼(𝑚, 𝑛)𝐾(𝑖 − 𝑚, 𝑗 − 𝑛)𝑛𝑚

.

3.2

3.3

dengan 𝐼 adakah masukan dan 𝐾 merupakan kernel. Operasi konvolusi

merupakan operasi yang komutatif, sehingga Persamaan 3.2 dapat pula

ditulis sebagai:

𝑆(𝑖, 𝑗) = (𝐾 ∗ 𝐼)(𝑖, 𝑗)

=∑ ∑ 𝐼(𝑖 − 𝑚, 𝑗 − 𝑛)𝐾(𝑚, 𝑛)𝑛𝑚

. 3.4

Contoh 3.1:

1. Diketahui sebuah masukan citra 𝐼dan sebuah kernel 𝐾 yang masing-

masing berukuran 4 × 4 dan 3 × 3 sebagai berikut:

𝐼 = (

1 1 1 23 1 2 12 1 1 32 3 1 1

), 𝐾 = (1 0 −11 0 −11 0 −1

)

Hasil konvolusi antara masukan dan kernel adalah?

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

30

Penyelesaian:

𝑆 = (

𝟏 𝟏 𝟏 2𝟑 𝟏 𝟐 1𝟐 𝟏 𝟏 32 3 1 1

) ∗ (𝟏 𝟎 −𝟏𝟏 𝟎 −𝟏𝟏 𝟎 −𝟏

)

= 1 ∙ 1 + 1 ∙ 0 + 1 ∙ −1 + 3 ∙ 1 + 1 ∙ 0 + 2 ∙ −1 + 2 ∙ 1 + 1 ∙ 0

+ 1 ∙ −1

= 2

𝑆 = (

1 𝟏 𝟏 𝟐3 𝟏 𝟐 𝟏2 𝟏 𝟏 𝟑2 3 1 1

) ∗ (𝟏 𝟎 −𝟏𝟏 𝟎 −𝟏𝟏 𝟎 −𝟏

)

= 1 ∙ 1 + 1 ∙ 0 + 2 ∙ −1 + 1 ∙ 1 + 2 ∙ 0 + 1 ∙ −1 + 1 ∙ 1 + 1 ∙ 0

+ 3 ∙ −1

= −3

𝑆 = (

1 1 1 2𝟑 𝟏 𝟐 1𝟐 𝟏 𝟏 3𝟐 𝟑 𝟏 1

) ∗ (𝟏 𝟎 −𝟏𝟏 𝟎 −𝟏𝟏 𝟎 −𝟏

)

= 3 ∙ 1 + 1 ∙ 0 + 2 ∙ −1 + 2 ∙ 1 + 1 ∙ 0 + 1 ∙ −1 + 2 ∙ 1 + 3 ∙ 0

+ 1 ∙ −1

= 4

𝑆 = (

1 1 1 23 𝟏 𝟐 𝟏2 𝟏 𝟏 𝟑2 𝟑 𝟏 𝟏

) ∗ (𝟏 𝟎 −𝟏𝟏 𝟎 −𝟏𝟏 𝟎 −𝟏

)

= 1 ∙ 1 + 2 ∙ 0 + 1 ∙ −1 + 1 ∙ 1 + 1 ∙ 0 + 3 ∙ −1 + 3 ∙ 1 + 1 ∙ 0

+ 1 ∙ −1

= 0

Hasil konvolusi yang didapatkan adalah:

𝑆 = (2 −34 0

)

Dalam citra, proses konvolusi di atas dimulai dari citra yang

berukuran 4 × 4, kemudian citra dikonvolusi dengan sebuah filter

3 × 3 . Filter yang digunakan merupakan jenis filter untuk

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

31

mendeteksi tepian citra secara vertikal. Setelah dilakukan proses

konvolusi, ukuran citra menjadi mengecil.

c. Stride dan Padding

Setelah melakukan proses konvolusi, citra yang asli akan

menyusut seperti pada Contoh 3.1 sebelumnya. Selain itu, saat

melakukan proses konvolusi, kernel digeser dan terkadang tidak semua

bagian citra tersentuh oleh kernel. Untuk mengatasi masalah tersebut,

akan dikenalkan dua parameter yaitu stride dan padding.

Dalam proses konvolusi pada Contoh 3.1, kernel yang berukuran

3 × 3 digeser sebesar satu langkah secara vertikal dan satu langkah

secara horizontal. Banyaknya jumlah baris dan kolom yang bergeser

pada contoh sebelumnya adalah 1. Pergeseran ini dinamakan parameter

stride dan disimbolkan dengan 𝑠 . Begitu pula dengan stride 𝑠 = 2

artinya kernel digeser dua langkah secara vertikal dan dua langkah

secara horizontal ke seluruh wilayah citra masukan. Untuk ilustrasi

dapat diperhatikan pada Gambar 3.1, terlihat bahwa masukan citra yang

berukuran 5 × 5 , dikonvolusikan dengan kernel berukuran 2 × 2 ,

dengan stride sebesar dua langkah.

Gambar 3.1 Ilustrasi Proses Konvolusi dengan 𝑠𝑡𝑟𝑖𝑑𝑒 = 2

(Michelucci, 2018)

Selanjutnya parameter yang akan dijelaskan adalah parameter

padding yang disimbolkan dengan p. Parameter ini menentukan jumlah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

32

piksel yang akan ditambahkan di setiap sisi dari citra masukan. Hal ini

digunakan dengan tujuan untuk memanipulasi ukuran yang didapat dari

proses konvolusi. Dalam penggunaannya, padding dibedakan menjadi

dua jenis, yaitu same padding dan valid padding. Same padding berarti

menerapkan padding pada citra masukan sehingga dimensi keluaran

yang dihasilkan memiliki ukuran yang sama dengan citra masukan.

Valid padding berarti tidak ada padding yang diterapkan sehingga

kernel selalu berada di dalam citra masukan. Sebagai ilustrasi, apabila

masukan citra berukuran 5 × 5 dikonvolusikan dengan kernel yang

berukuran 3 × 3 dan 𝑠𝑡𝑟𝑖𝑑𝑒 = 2 , maka akan didapatkan peta fitur

dengan ukuran 2 × 2. Tetapi apabila diterapkan padding sebanyak 1,

maka peta fitur yang dihasilkan berukuran 3 × 3. Besarnya dimensi

yang dihasilkan dari proses konvolusi dengan menerapkan parameter

dapat disimpulkan sebagai berikut:

𝑍 = ⌊𝐼 + 2𝑃 − 𝐾

𝑆+ 1⌋ × ⌊

𝐼 + 2𝑃 − 𝐾

𝑆+ 1⌋ 3.5

dengan 𝑍 adalah ukuran keluaran yang berupa matriks persegi, 𝐼 adalah

ukuran citra masukan, 𝑃 adalah parameter padding, dan 𝑆 adalah

parameter stride.

Contoh 3.2:

1. Diketahui sebuah masukan citra 𝐼dan sebuah kernel 𝐾yang masing-

masing berukuran 6 × 6 dan 3 × 3 sebagai berikut:

𝐼 =

(

1 1 1 2 0 23 1 2 1 1 12 1 1 3 3 12 3 1 1 2 21 1 5 4 3 12 3 1 1 2 1)

,

𝐾 = (1 0 −11 0 −11 0 −1

)

Dengan menggunakan 𝑠𝑡𝑟𝑖𝑑𝑒 = 2 dan 𝑝𝑎𝑑𝑑𝑖𝑛𝑔 = 0. Hasil

konvolusi antara masukan dan kernel adalah?

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

33

Penyelesaian:

Berdasarkan Persamaan 3.5, dimensi matriks yang akan

dihasilkan sebesar:

𝑍 = ⌊𝐼 + 2𝑃 − 𝐾

𝑆+ 1⌋ × ⌊

𝐼 + 2𝑃 − 𝐾

𝑆+ 1⌋

𝑍 = ⌊6 + 2 ∙ 0 − 3

2+ 1⌋ × ⌊

6 + 2 ∙ 0 − 3

2+ 1⌋

𝑍 = ⌊3

2+ 1⌋ × ⌊

3

2+ 1⌋

𝑍 = 2 × 2.

Sehingga, dimensi matriks yang akan dihasilkan dari proses

konvolusi tersebut berukuran 2 × 2 . Selanjutnya, akan dihitung

konvolusi antara masukan dan kernel.

𝑆 =

(

𝟏 𝟏 𝟏 2 0 2𝟑 𝟏 𝟐 1 1 1𝟐 𝟏 𝟏 3 3 12 3 1 1 2 21 1 5 4 3 12 3 1 1 2 1)

∗ (𝟏 𝟎 −𝟏𝟏 𝟎 −𝟏𝟏 𝟎 −𝟏

)

= 1 ∙ 1 + 1 ∙ 0 + 1 ∙ −1 + 3 ∙ 1 + 1 ∙ 0 + 2 ∙ −1 + 2 ∙ 1 + 1 ∙ 0

+ 1 ∙ −1

= 2

𝑆 =

(

1 1 𝟏 𝟐 𝟎 23 1 𝟐 𝟏 𝟏 12 1 𝟏 𝟑 𝟑 12 3 1 1 2 21 1 5 4 3 12 3 1 1 2 1)

∗ (𝟏 𝟎 −𝟏𝟏 𝟎 −𝟏𝟏 𝟎 −𝟏

)

= 1 ∙ 1 + 2 ∙ 0 + 0 ∙ −1 + 2 ∙ 1 + 1 ∙ 0 + 1 ∙ −1 + 1 ∙ 1

+ 3 ∙ 0 + 3 ∙ −1

= 0

𝑆 =

(

1 1 1 2 0 23 1 2 1 1 1𝟐 𝟏 𝟏 3 3 1𝟐 𝟑 𝟏 1 2 2𝟏 𝟏 𝟓 4 3 12 3 1 1 2 1)

∗ (𝟏 𝟎 −𝟏𝟏 𝟎 −𝟏𝟏 𝟎 −𝟏

)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

34

= 2 ∙ 1 + 1 ∙ 0 + 1 ∙ −1 + 2 ∙ 1 + 3 ∙ 0 + 1 ∙ −1 + 1 ∙ 1 + 1 ∙ 0

+ 5 ∙ −1

= −2

𝑆 =

(

1 1 1 2 0 23 1 2 1 1 12 1 𝟏 𝟑 𝟑 12 3 𝟏 𝟏 𝟐 21 1 𝟓 𝟒 𝟑 12 3 1 1 2 1)

∗ (𝟏 𝟎 −𝟏𝟏 𝟎 −𝟏𝟏 𝟎 −𝟏

)

= 1 ∙ 1 + 3 ∙ 0 + 3 ∙ −1 + 1 ∙ 1 + 1 ∙ 0 + 2 ∙ −1 + 5 ∙ 1 + 4 ∙ 0

+ 3 ∙ −1

= −1

Hasil konvolusi yang didapatkan adalah:

𝑆 = (2 0−2 −1

)

d. Operasi Pooling

Operasi pooling merupakan operasi yang tak kalah penting juga

dalam jaringan saraf konvolusional. Operasi ini berfungsi untuk

mengurangi ukuran matriks. Operasi ini bekerja dengan memindai

masukan seperti operasi konvolusi dengan ukuran kernel dan stride

tertentu. Berdasarkan jenisnya, terdapat dua jenis pooling yang

digunakan, yaitu Max Pooling dan Average Pooling. Max pooling

adalah operasi pooling yang memilih elemen maksimum dari wilayah

peta fitur yang dicakup oleh kernel, dan Average Pooling adalah operasi

pooling yang menghitung rata-rata elemen di wilayah peta fitur yang

dicakup oleh kernel.

Contoh 3.3

1. Hasil Max Pooling untuk masukan A dengan 𝑠𝑡𝑟𝑖𝑑𝑒 = 2 dan

𝑘𝑒𝑟𝑛𝑒𝑙 2 × 2 adalah?

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

35

𝐴 = (

1 3 5 74 5 11 34 1 21 613 15 1 2

)

Penyelesaian:

𝐴 = (

𝑎1 𝑎2 𝑎3 𝑎4𝑎5 𝑎6 𝑎7 𝑎8𝑎9 𝑎10 𝑎11 𝑎12𝑎13 𝑎14 𝑎15 𝑎16

)

𝐵1 = max𝑖=1,2,5,6

𝑎𝑖

= 5

𝐵2 = max𝑖=3,4,7,8

𝑎𝑖

= 11

𝐵3 = max𝑖=9,10,13,14

𝑎𝑖

= 15

𝐵4 = max𝑖=11,12,15,16

𝑎𝑖

= 21

𝐵 = (5 1115 21

)

Jadi, Max Pooling dari masukan A adalah (5 1115 21

)

2. Arsitektur Jaringan Saraf Konvolusional

Arsitektur jaringan saraf konvolusional merupakan kumpulan lapisan-

lapisan yang terurut. Perbedaan utama antara arsitektur jaringan saraf tiruan

dengan jaringan saraf konvolusional adalah masukan pada jaringan saraf

konvolusinal berupa larik dua dimensi, sedangkan pada jaringan saraf tiruan

masukan berupa vektor. Namun, komputasi kedua jaringan sangat mirip.

Mulai dari, menghitung jumlahan produk, menambahkan bias, bahkan

keduanya juga melewati fungsi aktivasi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

36

Lapisan-lapisan utama yang digunakan untuk membangun suatu

arsitektur jaringan saraf konvolusional antara lain: Lapisan Konvolusional,

Lapisan Pooling (subsampling), dan Lapisan Fully connected. Lapisan ini

kemudian ditumpuk sehingga membentuk arsitektur jaringan saraf

konvolusional yang lengkap.

Gambar 3.2 Jaringan Saraf Konvolusional.

Pada bagian paling kiri dari gambar di atas merupakan masukan citra,

bagian yang ditunjukkan pada bagian masukan disebut sebagai bidang

reseptif. Hal yang dilakukan bidang reseptif yaitu memilih wilayah piksel

pada citra masukan. Seperti yang ditunjukkan gambar, operasi pertama yang

dilakukan adalah konvolusi. Keluaran dari konvolusi menghasilkan peta fitur

yang kemudian diaktifkan dengan fungsi aktivasi ReLU. Proses selanjutnya

adalah Subsampling atau Pooling, dan proses terakhir adalah Fully connected.

a. Lapisan Konvolusional

Lapisan konvolusional merupakan lapisan inti dari jaringan saraf

konvolusional. Lapisan ini yang pertama kali menerima masukan

berupa citra pada arsitektur jaringan dan akan menghasilkan keluaran

berupa peta fitur. Parameter dari lapisan konvolusional terdiri dari

sekumpulan 𝐾 kernel, di mana setiap kernel berbentuk persegi (patch)

yang memindai citra mulai dari kiri atas sampai kanan bawah.

Masukan Lapisan Konvolusi + Fungsi Aktivasi

Lapisan Konvolusi + Fungsi Aktivasi

Lapisan Pooling Lapisan Pooling Lapisan Fully Connected

Keluaran

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

37

Gambar 3.3 Ilustrasi Kernel dari Lapisan Konvolusioal yang

Memindai dari Kiri Atas dampai Kanan Bawah (Krohn, 2019).

Sebagai contoh, misalkan diambil sebuah citra berwarna yang

mempunyai input sebesar 32 × 32 × 3 , apabila kernel berukuran

5 × 5, maka setiap neuron pada lapisan konvolusional akan mepunyai

total bobot 5 × 5 × 3 = 75 dengan tambahan 1 parameter bias,

sehingga total parameternya sebanyak 76 parameter.

b. Lapisan Pooling

Seperti yang dibahas di bagian sebelumnya, lapisan

konvolusional dapat memiliki sejumlah kernel. Masing-masing kernel

menghasilkan peta fitur, sehingga keluaran dari lapisan konvolusional

adalah susunan dari peta fitur tiga dimensi.

Setelah itu, keluaran dari lapisan konvolusi, akan menjadi

masukan dari lapisan pooling. Lapisan ini juga bekerja dengan

memindai masukan seperti pada lapisan konvolusional. Pada setiap

posisi yang ditempati, lapisan pooling akan mereduksi ukuran data dari

citra. Lapisan pooling mempunyai ukuran filter 2 × 2 dan panjang

stride 2. Dalam penerapannya, umumnya jenis pooling yang sering

dipakai adalah max-pooling, di mana lapisan ini akan mengambil nilai

terbesar dalam pengoperasiannya.

Gambar 3.4 Operasi Max-Pooling (Krohn, 2019).

1

55

73

7

2

61

30

4

1

2

3

2

4

6

1

1

Max-

Pooling

4 x 4

2 x 2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

38

Pada ilustrasi gambar di atas, terlihat peta fitur yang merupakan

keluaran dari lapisan konvolusi mempunyai ukuran 4 × 4, peta fitur

tersebut kemudian dikenakan dengan operasi pooling dengan ukuran

2 × 2 dan stride sebesar 2 langkah. Dengan menggunakan max-pooling

hasil dari lapisan ini berupa peta fitur berukuran 2 × 2.

c. Lapisan Fully Connected

Lapisan fully connected adalah lapisan terakhir dari arsitektur

jaringan saraf konvolusional. Jaringan ini menerima masukan dari

lapisan sebelumnya, yaitu lapisan pooling yang berbentuk matriks

dengan ukuran tertentu. Akan tetapi, keluaran dari lapisan pooling perlu

diratakan menjadi vektor terlebih dahulu agar dapat dijadikan masukan

untuk lapisan fully connected. Vektor yang telah diratakan ini kemudian

akan terhubung dengan lapisan fully connected dan dapat digunakan

untuk mengklasifikasikan citra ke dalam kelasnya. Lapisan fully

connected memiliki beberapa lapisan tersembunyi, fungsi aktivasi,

lapisan luaran, dan fungsi rugi (loss). Keluaran dari lapisan fully

connected berupa vektor berdimensi, dengan banyak dimensi

menunjukkan jumlah kelas yang sesuai dengan kategori yang ada pada

dataset.

Gambar 3.5 Jaringan Fully Connected

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

39

Pada Gambar 3.5 terlihat jaringan dari lapisan fully connected, persis

seperti pada perceptron lapis jamak dalam jaringan saraf. Masukan dari

lapisan fully connected merupakan keluaran dari lapisan pooling yang

sudah diubah menjadi vektor. Vektor ini kemudian menyebar melalui

jaringan saraf, dan menghasilkan keluaran yang akan menjadi kelas dari

arsitektur jaringan saraf konvolusional.

B. Dropout

Dalam pembelajaran mesin, permasalahan utama yang dihadapi adalah

bagaimana membuat suatu algorima yang mempunyai performa yang baik tidak

hanya pada data latih tetapi juga pada masukan yang baru. Strategi yang dikenal

untuk menyelesaikan permasalahan ini adalah Regularisasi. Regularisasi adalah

teknik yang digunakan untuk memodifikasi algoritma pembelajaran yang

dimaksudkan untuk mengurangi galat generalisasinya tetapi bukan galat pelatihan

(Goodfellow et al., 2016). Salah satu jenis regularisasi yang akan digunakan pada

tugas akhir ini adalah dengan menggunakan dropout.

Dropout adalah bentuk regularisasi yang bertujuan membantu mencegah

overfitting dengan meningkatkan akurasi pada pengujian. Saat melakukan pelatihan

pada model, dropout akan memutuskan beberapa neuron secara acak dari lapisan

sebelumnya ke lapisan berikutnya dalam arsitektur jaringan. Regularisasi dropout

menghilangan beberapa neuron pada setiap iterasi berdasarkan probabilitas.

Dengan memutus atau menghilangkan beberapa neuron secara acak, jaringan dapat

belajar dengan lebih baik karena arsitektur jaringan akan menjadi lebih sederhana

dan akan mengurangi terjadinya overfitting.

Gambar 3.6 Kiri: Ilustrasi Jaringan Saraf Tanpa Dropout. Kanan: Jaringan Saraf

dengan Dropout 𝑝 = 0.5 (Rosebrock, 2017).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

40

Ilustrasi di atas merupakan contoh dropout dengan probabilitas 0.5. Pada gambar

sebelah kiri, jaringan yang terlihat terdiri dari 12 koneksi. Setelah dikenakan

dropout koneksi jaringan terputus setengahnya menjadi 6 koneksi saja.

C. Fungsi Rugi Binary Cross entropy

Fungsi rugi adalah fungsi yang digunakan sebagai ukuran seberapa baik

model prediksi dalam hal kemampuan memprediksi hasil yang diharapkan. Di

dalam pembelajaran mesin, fungsi rugi dibagi menjadi tiga bagian, yang pertama

yaitu fungsi rugi untuk regresi, fungsi rugi untuk klasifikasi biner dan fungsi rugi

untuk multi kelas. Pada tugas akhir ini akan dibahas fungsi rugi untuk klasifikasi

biner terutama fungsi rugi binary cross entropy.

Fungsi rugi cross entropy mengukur kinerja model klasifikasi yang

keluarannya berupa nilai 0 dan 1. Fungsi rugi ini akan meningkat apabila prediksi

yang dilakukan oleh model jaringan menyimpang dari label sebenarnya. Secara

matematis, fungsi rugi cross entropy biner dapat ditulis sebagai berikut:

𝑙𝑜𝑠𝑠 = −1

𝑁∑𝑦𝑖

𝑁

𝑖=1

∙ log 𝑦�̂� + (1 − 𝑦𝑖) ∙ log(1 − 𝑦�̂�) 3.6

dengan 𝑦�̂� adalah nilai yang diprediksi dalam keluaran model, 𝑦𝑖 nilai target yang

bersesuaian, dan 𝑁 adalah banyaknya data. Fungsi rugi tersebut juga dapat ditulis

menjadi persamaan berikut:

𝑙𝑜𝑠𝑠 = {𝑙𝑜𝑔 �̂� , 𝑢𝑛𝑡𝑢𝑘 𝑦 = 1log (1 − �̂�) , 𝑢𝑛𝑡𝑢𝑘 𝑦 = 0

3.7

Dalam perhitungannya, fungsi rugi cross entropy ini menggunakan perhitungan

fungsi logaritma. Secara matemtis, fungsi logaritma ditulis sebagai 𝑓(𝑥) =𝑎 log 𝑥,

dengan 𝑎 ≠ 1 . Fungsi logaritma merupakan fungsi naik untuk 𝑎 > 1 , dan

merupakan fungsi turun untuk 0 < 𝑎 < 1. Sehingga, berdasarkan Persamaan 3.7

ketika 𝑦 = 1, fungsi rugi ini akan menurun mendekati nol. Hal ini artinya saat label

yang diberikan adalah 1 dan hasil yang diprediksi merupakan suatu bilangan yang

mendekati 0, maka dapat disimpulkan bahwa terjadi kesalahan yang besar dalam

kemampuan mengklasifikan model.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

41

D. Algoritma Optimisasi RMSprop

Algoritma optimisasi merupakan bagian yang penting dalam jaringan saraf.

Optimisasi ini berguna untuk meminimalkan fungsi rugi, terutama apabila bekerja

dengan data yang cukup besar. Algoritma optimisasi yang paling mendasar adalah

Gradient Descent.

Sebagai ilustrasi akan diberikan gambaran berupa sebuah umpama. Misalkan

seseorang tersesat di pegunungan dalam kabut yang tebal, yang bisa dirasakan

orang tersebut hanyalah kemiringan tanah di bawah kaki. Strategi yang baik untuk

sampai ke dasar lembah dengan cepat adalah menuruni bukit ke arah lereng yang

paling curam. Inilah tepatnya yang dilakukan oleh Gradient Descent: mengukur

gradien lokal dari fungsi rugi, dan berjalan ke arah gradien menurun. Setelah

gradiennya nol, maka nilai minimum telah dicapai.

Secara konkrit, gradient descent dimulai dengan suatu nilai acak 𝜃, kemudian

nilai tersebut diperbaiki secara bertahap. Langkah-langkah yang diambil akan terus

mencoba meminimumkan fungsi rugi sampai algoritma tersebut konvergen.

Gambar 3.7 Ilustrasi Gradient Descent (Géron, 2019).

Dalam gradient descent terdapat parameter yang sangat penting, yaitu ukuran

langkah, yang ditentukan oleh learning rate. Jika learning rate terlalu kecil, maka

algoritma harus melalui banyak iterasi untuk dapat konvergen dan akan memakan

waktu yang lama.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

42

Gambar 3.8 Ilustrasi Learning Rate yang Terlalu Kecil (Géron,

2019).

Akan tetapi, jika learning rate terlalu tinggi, maka mungkin saja melompat

ke seberang lembah dan berakhir di sisi lain, bahkan mungkin lebih tinggi dari

sebelumnya. Hal ini akan membuat algoritma menyimpang, dengan nilai yang besar

dan gagal menemukan nilai yang baik.

Gambar 3.9 Ilustrasi Learning Rate yang Terlalu Besar (Géron,

2019).

Gambar 3.8 dan Gambar 3.9 menunjukkan dua tantangan utama pada Gradient

Descent. Tidak mudah dalam menentukan learning rate yang dapat

mengoptimalkan fungsi rugi. Hal ini memerlukan banyak trial and error. Cara

seperti ini tentunya bukan cara yang paling efisien dalam mencari optimasi yang

baik. Oleh karena itu akan dikenalkan algoritma lain yang akan dapat bekerja

dengan lebih cepat dan efisien, yaitu optimasi momentum dan RMSprop.

Gradient Descent dengan momentum dapat bekerja lebih cepat daripada

algoritma penurunan gradient descent biasa. Algoritma gradient descent dengan

momentum bekerja dengan membatasi osilasi dalam arah penurunannya, sehingga

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

43

algoritma dapat konvergen dengan lebih cepat. Rumusan matematis dari gradient

descent dengan momentum dapat ditulis sebagai berikut:

𝑣𝑑𝑤 = 𝛽 ∙ 𝑣𝑑𝑤 + (1 − 𝛽) ∙ 𝑑𝑤 3.7

𝑣𝑑𝑏 = 𝛽 ∙ 𝑣𝑑𝑏 + (1 − 𝛽) ∙ 𝑑𝑏 3.8

dengan 𝑣𝑑𝑤, 𝑣𝑑𝑏 masing-masing adalah estimasi gradien bobot dan bias, 𝛽 adalah

nilai momentum, dan 𝑑𝑤, 𝑑𝑏 masing-masing adalah gradien bobot dan bias.

Algoritma berikutnya adalah optimasi RMSprop. Algoritma ini mirip

dengan algoritma gradient descent dengan momentum. Optimasi RMSprop

membatasi osilasi dalam arah vertikal. Perbedaan antara RMSprop dan gradient

descent adalah pada bagaimana gradien itu dihitung. Nilai momentum yang

dilambangkan dengan 𝛽 biasanya diatur sebesar 0,9. Secara matematis RMSprop

dapat ditulis sebagai berikut:

𝑣𝑑𝑤 = 𝛽 ∙ 𝑣𝑑𝑤 + (1 − 𝛽) ∙ 𝑑𝑤2 3.9

𝑣𝑑𝑏 = 𝛽 ∙ 𝑣𝑑𝑏 + (1 − 𝛽) ∙ 𝑑𝑏2 3.10

dengan 𝑣𝑑𝑤, 𝑣𝑑𝑏 masing-masing adalah estimasi gradien bobot dan bias, 𝛽 adalah

nilai momentum, dan 𝑑𝑤2, 𝑑𝑏2 masing-masing adalah kuadrat gradien bobot dan

bias.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

BAB IV

METODOLOGI

A. Data

Dalam penulisan tugas akhir ini, data yang digunakan adalah data Dogs vs.

Cats. Data ini merupakan data yang digunakan sebagai bagian dari kompetisi situs

Kaggle untuk merancang algoritma pembelajaran yang bisa mengklasifikasikan

citra kucing dan anjing dengan benar. Data citra yang diunduh terdiri dari dua folder

yaitu folder train dan test. Pada folder train terdiri dari 25.000 data, dengan masing-

masing kategori terdiri 12.500 data. Pada folder train, data yang disediakan sudah

terlabel sesuai dengan masing-masing kategorinya, contohnya: cat.04.jpg,

dog.03.jpg. Pada folder test terdiri dari 12.500 data dengan data yang disediakan

belum terlabel.

Pada penulisan tugas akhir ini, penulis mengambil 2800 data citra, dengan

masing-masing kategori terdiri dari 1400 citra. Data citra kemudian dibagi ke dalam

data latih, data validasi, dan data uji. Data latih diambil 2000 citra pada folder train

dengan masing-masing kategori sebanyak 1000 citra, data validasi diambil 800 citra

pada folder train dengan masing-masing kategori sebanyak 400 citra, dan data uji

pada folder test sebanyak 10 citra yang dipilih secara acak.

Gambar 4.1 Sampel Data Uji.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

45

Adapun varibel data yang digunakan dalam penulisan tugas akhit ini yang

tampilkan sebagai berikut:

Tabel 4.1 Definisi Variabel Peneilitian

Gambar Variabel Definisi

Anjing

Merupakan mamalia yang

bertubuh cukup besar menyerupai

serigala dan mempunyai

kecerdasan yang cukup tinggi.

Mamalia ini sering dijadikan

teman peliharaan manusia, dan

mempunyai rahang yang kuat dan

gigi yang tajam.

Kucing

Merupakan mamalia yang

bertubuh kecil. Hewan ini

meskipun bertubuh kecil tetapi

merupakan predator yang cukup

kuat. Hewan ini mempunyai taring

yang cukup tajam, dan cakar yang

digunakannya untuk menangkap

mangsa

B. Metode Analisis Data

Dalam penulisan tugas akhir ini, metode analisis yang digunakan untuk

mengklasifikasikan citra adalah dengan menggunakan algoritma yang terdapat pada

Pembelajaran Dalam, yaitu Jaringan Saraf Konvolusional. Dalam proses

pengerjaan algoritma, penulis menggunakan perangkat lunak Python 3.7 dengan

menggunakan IDE Jupyter Notebook, dan modul Keras 2.4.0.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

46

C. Perancangan Sistem Jaringan Saraf Konvolusional

Adapun tahapan perancangan sistem jaringan dapat dilihat pada diagram alur

di bawah ini:

Selesai

Klasifikasi Data Uji

ya

Apakah akurasi

sudah baik?

tidak

Pra-proses Data

Mulai

Data Masukan

Pembagian Data Data latih, data validasi, data uji

Data Uji

Augmentasi Citra

Data Validasi Data Latih

Augmentasi Citra

Hasil Klasifikasi

Selesai

Melatih Model JSK Merancang

Model JSK

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

47

Gambar 4.2 Diagram Alur Sistem Jaringan

Diagram alur di atas merupakan diagram yang menyatakan tahapan dalam

penelitian tugas akhir ini. Tahap pertama dimulai dengan persiapan data masukan.

Data masukan diunduh dari situs Kaggle, kemudian data yang sudah diunduh

diambil sekitar 2800 citra yang akan dijadikan data untuk pelatihan model dan

pengujian model. Tahapan kedua yaitu pra-proses. Pra-proses data dilakukan

dengan mengubah seluruh ukuran data menjadi ukuran yang sama yaitu ke dalam

bentuk persegi. Hal ini dikarenakan pada jaringan saraf konvolusional mempunyai

lapisan yang bergantung pada ukuran masukan. Apabila tidak memiliki ukuran

yang tetap atau sama maka arsitektur model jaringan tidak dapat ditentukan. Data

yang sudah diubah ukurannya, kemudian akan dibagi ke dalam beberapa jenis data,

yaitu data latih, data validasi, dan data uji. Selanjutnya, data latih dan data validasi

dilakukan proses augmentasi. Augmentasi data dilakukan dengan beberapa teknik

transformasi seperti zoom, rescale, flip, dan sebagainya untuk menghasilkan variasi

citra yang berbeda.

Tahap selanjutnya adalah tahap perancangan model jaringan saraf

konvolusional. Pada tahap ini akan dibangun arsitektur berupa lapisan konvolusi,

lapisan pooling, dan lapisan fully connected. Pada penulisan tugas akhir ini, data

yang diproses akan melewati sebanyak tiga kali lapisan konvolusi dan tiga kali

lapisan pooling terlebih dahulu, setelah itu baru akan diproses di lapisan fully

connected.

Setelah arsitektur jaringan terbentuk, tahapan selanjutnya adalah melatih dan

menguji model jaringan. Data latih akan melakukan proses pelatihan dilanjutkan

dengan pengujian dengan data validasi. Proses pelatihan dan pengujian ini akan

menghasilkan nilai akurasi. Model dikatakan baik, apabila nilai akurasi yang

dihasilkan pada proses pelatihan dan pengujian memiliki selisih yang kecil. Apabila

akurasi yang diperoleh mempunyai selisih yang besar, model akan dimodifikasi

kembali dengan mengganti nilai pada parameter.

Kemudian, setelah mendapatkan model jaringan yang sudah baik maka akan

dilakukan pengujian kembali dengan data uji. Pengujian ini dilakukan untuk

memeriksa apakah hasil akurasi yang didapat setelah pengujian dapat benar-benar

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

48

mengklasifikasikan citra atau tidak. Apabila ya, maka dapat disimpulkan bahwa

arsitektur jaringan yang dibangun, mempunyai kemampuan yang baik dalam

mengklasifikasikan citra.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

BAB V

APLIKASI JARINGAN SARAF KONVOLUSIONAL UNTUK

KLASIFIKASI CITRA DENGAN PERANGKAT LUNAK

A. Implementasi Pra Proses dan Augmentasi Data

Pada bab sebelumnya telah dijelaskan bagaimana proses dalam

mengumpulkan data yang akan digunakan pada tugas akhir ini. Data dibagi menjadi

tiga jenis folder yaitu data latih, data validasi, dan data uji.

Gambar 5.1 Pembagian Data.

Masing-masing jenis folder data di atas, terdiri dari dua kategori citra, yaitu

citra kucing dan anjing. Data yang sudah dibagi ke dalam beberapa folder tidak

langsung dijadikan masukan ke dalam tahap pengkodean. Data citra yang

dikumpulkan terdiri dari macam-macam ukuran, sehingga perlu dilakukan

perubahan agar semua data citra dapat mempunyai ukuran piksel yang sama.

Data

Data Validasi

800 data

Data Latih

2000 data

Data Uji

10 data

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

49

Gambar 5.2 Sampel Data Uji.

Mengubah ukuran citra merupakan proses yang penting dalam memulai

jaringan saraf konvolusional. Citra yang menjadi masukan untuk proses

pengklasifikasian haruslah merupakan citra yang berbentuk persegi. Perubahan

ukuran citra akan ditunjukkan seperti gambar berikut:

Gambar 5.3 Perubahan Ukuran Citra

Pada gambar di atas, terlihat bahwa citra mentah yang berada disebelah kiri masih

berbentuk persegi panjang dengan ukuran 327 × 499 . Citra kemudian diubah

ukurannya dan mengalami penyusutan dengan ukuran 150 × 150 seperti tampak

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

50

pada gambar di sebelah kiri. Ukuran 150 × 150 dipilih secara acak dengan

beberapa percobaan. Pemilihan ukuran yang terlalu kecil dapat menghilangkan

informasi yang penting yang terdapat pada citra, begitu juga apabila pemilihan

ukuran terlalu besar, akan membutuhkan waktu pemrosesan yang lebih lama dan

membutuhkan ruang penyimpanan komputer yang lebih besar.

Selain mengubah ukuran piksel pada citra, terdapat teknik lain yang

digunakan yaitu augmentasi data. Augmentasi data ini merupakan suatu teknik

untuk meningkatkan ukuran dari suatu citra. Idenya adalah dengan membuat suatu

citra baru dengan mengubah citra yang ada dari kumpulan data dengan cara yang

berbeda. Hal ini untuk mencegah terjadinya overfitting dan membantu model

menggeneralisasi dengan lebih baik. Overfitting pada proses pengklasifikasian

dapat terjadi karena terlalu sedikit contoh data yang dapat dipelajari. Dengan

adanya augmentasi, data yang dihasilkan akan menjadi lebih banyak, hal ini akan

melatih model agar model dengan tidak melihat citra yang sama sebanyak dua kali

dan pastinya akan membantu model dalam menggeneralisasi dengan lebih baik.

Terdapat beberapa transformasi yang sering dilakukan, misalnya:

1. rescale adalah nilai yang akan digunakan untuk mengalikan data sebelum

pemrosesan lainnya. Citra masukan asli merupakan citra berwarna (RGB)

dalam 0-255, tetapi karena nilai tersebut terlalu besar saat diproses, maka

nilai akan diganti dengan skala 1/255.

2. shear_range adalah transformasi geser. Transformasi ini akan menggeser

citra sepanjang sumbu dan mereganggkan citra dengan ukuran tertentu.

Hal ini akan membantu komputer agar dapat membaca citra dari sudut

yang berbeda.

3. zoom_range adalah transformasi untuk memperbesar ataupun

mengecilkan citra. Untuk nilai zoom dibawah 1.0, maka citra akan

diperbesar, sedangkan untuk nilai zoom diatas 1.0, maka citra akan

diperkecil.

4. horizontal_flip adalah transformasi untuk membalik citra secara

horizontal.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

51

5. width_shift_range adalah transformasi yang menggeser citra ke arah kiri

atau kanan.

6. height_shift_range transformasi yang menggeser citra ke arah atas atau

bawah.

Gambar 5.4 Ilustrasi Citra yang Ditransformasi.

Untuk lebih jelas, implementasi kode ditunjukkan sebagai berikut

# mengubah ukuran citra

img_width, img_height = 150, 150

train_data_dir = 'data/train'

validation_data_dir = 'data/validation'

nb_train_samples = 2000

nb_validation_samples = 800

epochs = 80

batch_size = 16

if K.image_data_format() == 'channels_first':

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

52

input_shape = (3, img_width, img_height)

else:

input_shape = (img_width, img_height, 3)

# Augmentasi Citra pada Data Train

train_datagen = ImageDataGenerator(

rescale=1. / 255,

shear_range=0.1,

zoom_range=0.1,

width_shift_range=0.1,

height_shift_range=0.1,

horizontal_flip=True)

# Augmentasi Citra pada Data Validasi

val_datagen = ImageDataGenerator(rescale=1. / 255)

Gambar 5.5 Kode Pra-Proses dan Augmentasi.

Pada Gambar 5.5 di atas menunjukkan bahwa citra masukan yang akan

digunakan mempunyai ukuran 150 × 150 × 3, angka 150 menunjukkan ukuran

lebar dan panjang citra, sedangkan angka 3 menunjukkan jumlah kanal pada citra.

Banyaknya epoch yang digunakan sebanyak 80 dan ukuran batch yang digunakan

sebesar 16. Langkah selanjutnya adalah augmentasi citra pada masing-masing

folder data. Pada kode di atas, penulis menggunakan transformasi sebanyak 6 jenis

pada data latih dan satu jenis transformasi pada data validasi.

B. Implementasi Jaringan Saraf Konvolusional

Setelah tahap pra proses dan augmentasi dilakukan, selanjutnya adalah proses

untuk membangun model penggklasifikasikan citra. Ilustrasi arsitektur jaringan

saraf konvolusional yang digunakan pada tugas akhir ini tampak seperti pada

gambar berikut:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

53

Gambar 5.6 Arsitektur Jaringan Saraf Konvolusional

Pada ilustrasi gambar di atas, terlihat bahwa dalam model pengklasifikasian

terdiri dari tiga lapisan konvolusional, tiga lapisan pooling, dan lapisan fully

connected dengan dua lapisan tersembunyi. Jumlah lapisan untuk model tidaklah

bersifat mutlak. Banyaknya lapisan-lapisan yang ada pada model berfungsi untuk

melatih filter-filter agar mendapatkan filter yang tepat untuk mengklasifikasikan

model. Filter-filter yang ada pada jaringan saraf tiruan tidak dipilih secara manual,

melainkan dilatih agar mendapatkan filter yang tepat.

Filter pada konvolusi yang pertama biasanya akan berfungsi untuk

mendeteksi tepian pada citra. Pada konvolusi yang kedua, filter akan mendeteksi

bagian-bagian yang memiliki informasi yang tinggi, misalnya bagian mata hewan

dan telinga hewan. Selanjutnya pada konvolusi tahap terakhir, biasanya filter akan

mendeteksi gambar secara keseluruhan dan akan memberikan lebih banyak

informasi bagi model terkait dengan kategori kelas yang akan dihasilkan. Kode

dalam mengimplementasikan jaringan saraf konvolusional pada perangkat lunak

ditunjukkan sebagai berikut:

model = Sequential()

model.add(Conv2D(32, (3, 3), input_shape=input_shape))

model.add(Activation('relu'))

model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Conv2D(32, (3, 3)))

Masukan Lapisan Konvolusi + ReLU

Lapisan Konvolusi + ReLU

Lapisan Konvolusi + ReLU

Lapisan Pooling Lapisan Pooling Lapisan Pooling

Lapisan Fully Connected

Kelu

aran

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

54

model.add(Activation('relu'))

model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Conv2D(64, (3, 3)))

model.add(Activation('relu'))

model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Flatten())

model.add(Dense(64))

model.add(Activation('relu'))

model.add(Dropout(0.25))

model.add(Dense(1))

model.add(Activation('sigmoid'))

model.summary()

Gambar 5.7 Kode Perancangan Model Jaringan Saraf Konvolusional.

Jenis model yang digunakan pada kode di atas adalah jenis Sequential. Model

jenis ini digunakan karena model jenis ini memungkinkan untuk membuat model

jaringan saraf yang bertumpuk-tumpuk. Pada kode di atas penggunaan add()

berfungsi untuk menambahkan lapisan pada model jaringan yang dibuat.

Sedangkan untuk Conv2D artinya jenis data yang digunakan merupakan jenis data

2 dimensi. Konvolusi pertama pada kode di atas menggunakan filter berukuran

3 × 3 sebanyak 32 filter. Ukuran 3 × 3 merupakan ukuran yang sering digunakan

pada jaringan saraf konvolusional dan filter sebanyak 32 merupakan ukuran yang

direkomendasikan untuk jaringan membaca pola pada lapisan pertama. Kemudian

pada konvolusi pertama ini digunakan padding dan stride sebesar 1 langkah.

Keluaran dari hasil konvolusi tersebut akan menghasilkan peta fitur dengan ukuran:

𝑍 = ⌊𝐼 + 2𝑃 − 𝐾

𝑆+ 1⌋ × ⌊

𝐼 + 2𝑃 − 𝐾

𝑆+ 1⌋

𝑍 = ⌊150 + 2 ∙ 0 − 3

1+ 1⌋ × ⌊

150 + 2 ∙ 0 − 3

1+ 1⌋

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

55

𝑍 = 148 × 148

dengan parameter sebanyak ((3 × 3 × 3) + 1 𝑏𝑖𝑎𝑠) × 32 𝑓𝑖𝑙𝑡𝑒𝑟 =

896 parameter. Proses konvolusi ini kemudian akan diikuti dengan fungsi aktivasi

ReLU.

Lapisan selanjutnya adalah lapisan pooling pertama. Pada lapisan ini, penulis

menggunakan jenis Max-Pooling dengan ukuran filter sebesar 2 × 2. Ukuran ini

merupakan ukuran yang paling sering umum dan paling sering digunakan pada

pooling. Proses pooling ini bekerja dengan mengambil nilai terbesar setiap

pergeseran filter pada peta fitur. Pergeseran pada kode di atas tidak dituliskan, sebab

pada defaultnya, besaran langkah pada pooling akan mengikuti ukuran filternya.

Keluaran dari lapisan pooling akan tereduksi, dan menghasilkan peta fitur baru

dengan ukuran:

𝑍2 = ((𝑍1 − 𝐾)

2+ 1) × (

(𝑍1 − 𝐾)

2+ 1)

𝑍2 = ((148 − 2)

2+ 1) × (

(148 − 2)

2+ 1)

𝑍2 = 74 × 74

Proses konvolusi akan diulang kembali, dengan ukuran dan jumlah filter yang

sama. Ukuran keluaran dari proses konvolusi yang kedua ini adalah:

𝑍3 = ⌊𝐼 + 2𝑃 − 𝐾

𝑆+ 1⌋ × ⌊

𝐼 + 2𝑃 − 𝐾

𝑆+ 1⌋

𝑍3 = ⌊74 + 2 ∙ 0 − 3

1+ 1⌋ × ⌊

74 + 2 ∙ 0 − 3

1+ 1⌋

𝑍3 = 72 × 72

dengan parameter sebanyak ((3 × 3 × 32) + 1 𝑏𝑖𝑎𝑠) × 32 𝑓𝑖𝑙𝑡𝑒𝑟 =

9248 parameter dan diikuti fungsi aktivasi ReLU. Selanjutnya, operasi pooling

yang kedua juga mempunyai ukuran filter yang sama seperti pada lapisan pooling

yang pertama. Ukuran keluaran dari lapisan pooling yang kedua ini adalah:

𝑍4 = ((𝑍3 − 𝐾)

2+ 1) × (

(𝑍3 − 𝐾)

2+ 1)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

56

𝑍4 = ((72 − 2)

2+ 1) × (

(72 − 2)

2+ 1)

𝑍4 = 36 × 36

Pada lapisan konvolusi yang terakhir, akan digunakan filter berukuran 3 × 3

dengan jumlah filter sebanyak 64. Jumlah filter yang bertambah, berfungsi agar

model jaringan dapat membaca pola citra dengan lebih kompleks. Ukuran keluaran

dari lapisan konvolusi yang terakhir ini adalah:

𝑍5 = ⌊𝐼 + 2𝑃 − 𝐾

𝑆+ 1⌋ × ⌊

𝐼 + 2𝑃 − 𝐾

𝑆+ 1⌋

𝑍5 = ⌊36 + 2 ∙ 0 − 3

1+ 1⌋ × ⌊

36 + 2 ∙ 0 − 3

1+ 1⌋

𝑍5 = 34 × 34

dengan parameter sebanyak ((3 × 3 × 32) + 1 𝑏𝑖𝑎𝑠) × 64 𝑓𝑖𝑙𝑡𝑒𝑟 =

18496 parameter dan diikuti fungsi aktivasi ReLU. Dan untuk proses pooling yang

terakhir, menggunakan ukuran filter yang sama seperti lapisan pooling sebelumnya,

yaitu 2 × 2. Ukuran keluaran dari lapisan pooling yang terakhir ini adalah:

𝑍6 = ((𝑍5 − 𝐾)

2+ 1) × (

(𝑍5 − 𝐾)

2+ 1)

𝑍6 = ((34 − 2)

2+ 1) × (

(34 − 2)

2+ 1)

𝑍6 = 17 × 17

Dari proses konvolusi dan pooling yang dilalui, terlihat bahwa ukuran citra

semakin mengecil. Keluaran dari lapisan pooling yang terakhir merupakan petar

fitur yang berbentuk larik multi dimensi. Keluaran dari lapisan pooling ini akan

dilakukan pemerataan (flatten), agar menjadi vektor yang menjadi masukan untuk

lapisan fully connected. Masukan untuk lapisan fully connected mempunyai neuron

sebanyak 17 × 17 × 64 = 18496 yang merupakan hasil perataan lapisan pooling

terakhir. Seperti halnya pada perceptron lapis jamak, dalam lapisan fully connected

ini memiliki lapisan tersembunyi. Lapisan tersembunyi yang pertama mempunyai

64 neuron, dengan total parameter yang ada pada lapisan ini sebanyak

18496 × 64 + 64 𝑏𝑖𝑎𝑠 = 1183808 parameter. Lapisan ini kemudian diikuti

dengan fungsi aktivasi ReLU.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

57

Selanjutnya, lapisan akan dikenakan dengan dropout sebesar 0.25. Ukuran

Dropout dipilih setelah dilakukan beberapa kali pelatihan. Ukuran dropout yang

terlalu besar akan memutus terlalu banyak informasi pada lapisan fully connected

begitu pula sebaliknya apabila terlalu kecil, maka informasi yang diberikan akan

terlalu banyak yang kemudian akan menyebabkan adanya overfitting. Setelah

dropout, lapisan kemudian akan diproses kembali pada lapisan dense dengan 1

neuron. Total parameter yang ada pada lapisan dense yang terakhir ini adalah

sebanyak 64 × 1 + 1 𝑏𝑖𝑎𝑠 = 65 parameter. Dan untuk fungsi aktivasi yang

digunakan pada lapisan terakhir ini adalah fungsi aktivasi sigmoid, yang dapat

mengklasifikasikan dua jenis kategori. Untuk lebih lengkapnya, ukuran keluaran

tiap-tiap lapisan dan jumlah parameter dapat dilihat pada Gambar 5.8.

Gambar 5.8 Summary Model Jaringan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

58

Arsitektur jaringan saraf konvolusional yang sudah dibuat, akan terlebih

dahulu dikonfigurasi sebelum dapat digunakan untuk melatih model. Fungsi rugi

yang digunakan adalah jenis fungsi rugi binary cross entropy. Fungsi rugi jenis ini

digunakan, karena hasil klasifikasi yang akan dicari pada tugas akhir ini hanya

terdiri dari dua kelas saja. Untuk mengoptimasi fungsi rugi, fungsi yang akan

digunakan adalah jenis RMSProp, fungsi ini dipilih setelah penulis melakukan

beberapa kali trial and error, untuk mendapatkan hasil klasifikasi yang optimal.

Untuk implementasinya dapat dilihat pada Gambar 5.9 berikut:

model.compile(loss='binary_crossentropy', optimizer='rmsprop',

metrics=['accuracy'])

Gambar 5.9 Kode Kompilasi Model.

Selanjutnya, arsitektur model yang sudah dibangun akan digunakan untuk melatih

dan memvalidasi data citra yang sudah disiapkan. Pada Gambar 5.5, telah diketahui

bahwa jumlah epoch yang digunakan sebanyak 80, dan batch size yang dipilih

adalah 16. Batch size merupakan jumlah sampel yang akan digunakan terlebih

dahulu dalam proses pelatihan. Jumlah epoch merupakan hyperparameter yang

mendefinisikan berapa kali algoritma pembelajaran melalui seluruh proses

pelatihan untuk keseluruhan dataset. Dalam pemilihan batch size dan jumlah epoch,

sebenarnya tidak ada pemilihan atau jawaban yang tepat, perlu beberapa kali trial

and error untuk mendapatkan kombinasi yang menghasilkan akurasi yang dirasa

optimal. Untuk implemetasinya pada python, akan ditunjukkan pada Gambar 5.10

berikut:

train_generator = train_datagen.flow_from_directory(

train_data_dir,

target_size=(img_width, img_height),

batch_size=batch_size,

class_mode='binary')

validation_generator = test_datagen.flow_from_directory(

validation_data_dir,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

59

target_size=(img_width, img_height),

batch_size=batch_size,

class_mode='binary')

history = model.fit_generator(

train_generator,

steps_per_epoch=nb_train_samples // batch_size,

epochs=epochs,

validation_data=validation_generator,

validation_steps=nb_validation_samples // batch_size)

Gambar 5.10 Kode untuk Pelatihan dan Validasi Data.

Proses pelatihan untuk mendapatkan akurasi dari implemetasi kode di atas

ditunjukkan sebagai berikut:

Epoch 1/80

125/125 [==============================] - 58s 467ms/step - loss: 0.

7059 - accuracy: 0.5340 - val_loss: 0.6581 - val_accuracy: 0.6075

Epoch 2/80

125/125 [==============================] - 57s 456ms/step - loss: 0.

6543 - accuracy: 0.6125 - val_loss: 0.6003 - val_accuracy: 0.6612

Epoch 3/80

125/125 [==============================] - 57s 460ms/step - loss: 0.

6309 - accuracy: 0.6540 - val_loss: 0.5954 - val_accuracy: 0.6888

Epoch 4/80

125/125 [==============================] - 58s 461ms/step - loss: 0.

6150 - accuracy: 0.6650 - val_loss: 0.6437 - val_accuracy: 0.6338

Gambar 5.11 Proses Perhitungan Akurasi.

Proses pelatihan di atas akan berlanjut sampai pada epoch 80. Kata “loss” pada

Gambar 5.11 merupakan besarnya kerugian atas data pelatihan dalam setiap epoch.

Nilai loss ini akan diminimalkan dengan fungsi optimasi RMSProp, semakin kecil

nilai loss ini, maka semakin baik pula hasil yang didapat. Kata “accuracy” mengacu

pada rasio antara prediksi yang benar dengan total prediksi dalam proses pelatihan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

60

Semakin tinggi nilai akurasi, maka akan semakin baik. Begitu pula untuk val_loss

dan val_accuracy, mempunyai konsep yang sama, hanya saja, data yang diproses

merupakan data dari folder validasi. Apabila dalam proses komputasinya, nilai

akurasi antara data latih dan data validasi memiliki selisih yang besar, hal ini berarti

model yang dibuat mengalami overfitting, sehingga model tidak dapat digunakan

dalam memprediksi data.

C. Hasil Pengujian dan Pembahasan

Setelah melakukan proses pelatihan dan validasi, arsitektur model jaringan

saraf konvolusi ini menghasilkan nilai akurasi pada data latih sebesar 82.2% dan

pada data validasi sebesar 82.0%. Untuk lebih jelasnya dapat dilihat pada Gambar

5.7 dan Gambar 5.8 berikut ini:

Gambar 5.7 Grafik Akurasi Data Uji dan Data Validasi.

Gambar 5.8 Grafik Fungsi Rugi Data Uji dan Data Validasi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

61

Pada Gambar 5.7 sumbu 𝑥 menunjukkan jumlah epoch yang digunakan, dan sumbu

𝑦 menunjukkan nilai akurasi. Pada Gambar 5.8 sumbu 𝑥 juga menunjukkan jumlah

epoch yang digunakan, dan sumbu 𝑦 menunjukkan nilai kerugian. Dari Gambar 5.7

yang merupakan gambar dari grafik akurasi, terlihat bahwa akurasi antara data uji

dan data validasi, tidak berbeda terlalu jauh. Ini berarti model jaringan mempunyai

kemampuan yang cukup baik dalam mengklasifikasikan citra.

Selanjutnya, setelah di dapat model yang dapat mengklasifikasikan citra

dengan akurasi 82.2%, akan dilakukan pengujian terhadap data diluar data latih dan

data validasi. Data ini terdiri dari 10 citra gabungan antara hewan kucing dan anjing.

Hasil dari pengujian akan ditunjukkan pada tabel berikut

Tabel 5.1 Hasil Prediksi dari Data Uji.

CITRA UJI Jenis Hewan Prediksi dari Model

Kucing Kucing

Kucing Kucing

Anjing Anjing

Anjing Anjing

Anjing Anjing

Kucing Kucing

Kucing Kucing

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

62

Kucing Anjing

Anjing Anjing

Anjing Anjing

Pada tabel di atas, model dari jaringan saraf konvolusional tidak dapat

mengklasifikasikan dengan benar satu citra dari sepuluh citra yang disajikan. Dapat

memprediksi sembilan citra dengan benar, mengindikasikan bahwa model jaringan

yang dibangun sudah cukup baik, sehingga sebenarnya untuk meningkatkan

performa pengujiannya lagi kemungkinannya cukup kecil.

Selain menggunakan pengujian pada 80 epoch, penulis juga menggunakan

beberapa skenario pengujian dengan menggunakan jumlah epoch dan batch size

yang berbeda. Pada pengujian yang kedua, penulis menggunakan jumlah epoch

sebanyak 30 dan batch size 16. Diperoleh nilai akurasi pada data latih sebesar

80.5%, dan akurasi pada data validasi sebesar 77.9%.

Gambar 5.9 Grafik Akurasi Data Uji dan Data Validasi Pengujian Ke-2.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

63

Gambar 5.10 Grafik Fungsi Rugi Data Uji dan Data Validasi Pengujian Ke-2.

Pada pengujian yang ketiga, penulis menggunakan jumlah epoch sebanyak 50 dan

batch size 16. Diperoleh nilai akurasi pada data latih sebesar 81.4%, dan akurasi

pada data validasi sebesar 78.1%.

Gambar 5.11 Grafik Akurasi Data Uji dan Data Validasi Pengujian Ke-3.

Gambar 5.12 Grafik Fungsi Rugi Data Uji dan Data Validasi Pengujian Ke-3.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

64

Pada pengujian yang keempat, penulis menggunakan jumlah epoch sebanyak 100

dan batch size 16. Diperoleh nilai akurasi pada data latih sebesar 85.1%, dan

akurasi pada data validasi sebesar 77.2%.

Gambar 5.13 Grafik Akurasi Data Uji dan Data Validasi Pengujian Ke-4.

Gambar 5.14 Grafik Fungsi Rugi Data Uji dan Data Validasi Pengujian Ke-4.

Pada pengujian yang kelima, penulis menggunakan jumlah epoch sebanyak 30 dan

batch size 32. Diperoleh nilai akurasi pada data latih sebesar 81.4%, dan akurasi

pada data validasi sebesar 78.1%.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

65

Gambar 5.15 Grafik Akurasi Data Uji dan Data Validasi Ke-5.

Gambar 5.16 Grafik Fungsi Rugi Data Uji dan Data Validasi Ke-5.

Pada pengujian yang keenam, penulis menggunakan jumlah epoch sebanyak 50 dan

batch size 32. Diperoleh nilai akurasi pada data latih sebesar 86.2%, dan akurasi

pada data validasi sebesar 80.6%.

Gambar 5.17 Grafik Akurasi Data Uji dan Data Validasi Ke-6.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

66

Gambar 5.18 Grafik Fungsi Rugi Data Uji dan Data Validasi Ke-6.

Pada pengujian yang ketujuh, penulis menggunakan jumlah epoch sebanyak 80 dan

batch size 32. Diperoleh nilai akurasi pada data latih sebesar 89%, dan akurasi pada

data validasi sebesar 77.5%.

Gambar 5.19 Grafik Akurasi Data Uji dan Data Validasi Ke-7.

Gambar 5.20 Grafik Fungsi Rugi Data Uji dan Data Validasi Ke-7.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

67

Pada pengujian yang kedelapan, penulis menggunakan jumlah epoch sebanyak 80

dan batch size 32. Diperoleh nilai akurasi pada data latih sebesar 89%, dan akurasi

pada data validasi sebesar 79%.

Gambar 5.21 Grafik Akurasi Data Uji dan Data Validasi Ke-8.

Gambar 5.22 Grafik Fungsi Rugi Data Uji dan Data Validasi Ke-8.

Dengan menggunakan tabel, hasil dari pengujian epoch dan batch size yang berbeda

dapat ditampilkan sebagai berikut:

Tabel 5.2 Hasil Perbandingan Akurasi antara Epoch dan Batch Size.

Epoch Batch size Accuracy Val_accuracy

30 16 80.5% 77.9%

50 16 81.4% 74%

80 16 82% 82.2%

100 16 85.1% 77.2%

30 32 81.4% 78.1%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

68

50 32 86.2% 80.6%

80 32 89% 77.5%

100 32 89% 79%

Dari beberapa pengujian yang telah dilakukan, memang didapatkan akurasi yang

tertinggi adalah sebesar 89%, akan tetapi akurasi pada data validasi yang diperoleh

sebesar 79% saja. Terdapat selisih yang besar, yang mengartikan bahwa terjadinya

overfitting yang akan menyebabkan terjadinya kesalahan yang cukup besar dalam

data uji nantinya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

BAB VI

PENUTUP

A. Kesimpulan

Berdasarkan pengujian klasifikasi citra yang dilakukan, didapatkan

kesimpulan sebagai berikut:

1. Model pengklasifikasian jaringan saraf konvolusional menggunakan data

dari situs Kaggle yaitu Cats vs Dogs, dengan data sebanyak 2000 data uji,

800 data validasi, dan 10 data uji. Pengklasifikasian terdiri dari 3 lapisan

konvolusi, 3 lapisan pooling, dengan fungsi aktivasi ReLU. Fungsi rugi

dan fungsi optimasi yang digunakan berturut-turut adalah fungsi rugi

binary cross entropy dan fungsi RMSProp. Akurasi yang diperoleh pada

data latih sebesar 82,2% dan akurasi pada data validasi sebesar 82%

dengan epoch sebanyak 80.

2. Model klasifikasi yang dirancang, dapat mengenali gambar dengan cukup

baik.

B. Saran

Beberapa saran yang dapat diberikan untuk mengembangkan penelitian ini

adalah:

1. Menambahkan jumlah dataset untuk melatih model klasifikasi.

2. Memodifikasi parameter untuk mendapatkan akurasi yang lebih baik.

3. Menggunakan perangkat komputer dengan spesifikasi yang lebih tinggi,

guna mempersingkat waktu untuk melatih model.

4. Menggunakan metode klasifikasi yang terdapat pada pembelajaran mesin

selain jaringan saraf konvolusional, untuk membandingkan keakuraratan

mesin dalam mengklasifikasi.

5. Menggunakan metode transfer learning dari beberapa model

Pembelajaran Dalam yang sudah pernah dilatih.

6. Menggunakan metode cross validation untuk mengevaluasi kinerja model.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

64

DAFTAR PUSTAKA

Aggarwal, Charu C. (2018). Neural Networks and Deep Learning. New York City:

Springer.

Buduma, Nikhil. (2017). Fundamentals of Deep Learning. United States: O’Reilly

Media.

Burger, W. and Burge, Mark J. (2009). Principles of Digital Image Processing.

New York City: Springer.

Charniak, E. (2018). Introduction to Deep Learning. Cambridge: MIT Press.

Chityala, R. and Pudipeddi, S. (2014). Image Processing and Acquisition Using

Python. London: Chapman and Hall/CRC.

Chollet, F. (2018). Deep Learning with Python. Shelter Island: Manning

Publications.

Ganegedara, Thushan. (2018). Intuitive Guide to Convolution Neural Networks.

https://towardsdatascience.com/light-on-math-machine-learning-intuitive-

guide-to-convolution-neural-networks-e3f054dd5daa. Diakses tanggal 22

Februari 2020.

Géron, Aurélien. (2019). Hands-On Machine Learning with Scikit-Learn, Keras &

TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems.

2nd Edition. Canada: O’Reilly Media.

Ghandi, Rohith. (2018). A Look at Gradient Descent and RMSprop Optimizers.

https://towardsdatascience.com/a-look-at-gradient-descent-and-rmsprop-

optimizers-f77d483ef08b. Diakes tanggal 06 Juni 2021.

Godoy, Daniel. (2018). Understanding Binary Cross-Entropy/Log Loss: A Visual

Explanation. https://towardsdatascience.com/understanding-binary-cross-

entropy-log-loss-a-visual-explanation-a3ac6025181a. Diakses tanggal 22

Februari 2020.

Gonzalez, Rafael C., and Woods, Richard E. (2018). Digital Image Procesing. (4th

Edition). London: Pearson.

Goodfellow, I., Bengio, Y., Courville, A. (2016). Deep Learning. Cambridge:

MIT press.

Gulli, A. and Pal, S. (2017). Deep Learning with Keras. Birmingham: Packt

Publishing.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

65

Haykin, Simon. (2008). Neural Networks and Learning Machines. London:

Pearson.

LeCun, Y., Bengio, Y., and Hinton, G. (2015). Deep Learning. Nature, 521(7553),

436-444.

LeCun, Y., Kavukcuoglu, K., and Farabet, C. (2010). Convolution Networks and

Applications in Vision. ISCAS, 253-256.

Liu, Yuxi (Hayden) and Maldonado, Pablo. (2018). R Deep Learning Projects:

Master the Techniques to Design and Develop Neural Network Models in

R. Birmingham: Packt Publishing Ltd.

Krohn, J., Beyleveld, G., and Bassens, A. (2019). Deep Learning Illustrated: A

Visual, Interactive Guide to Artificial Intelligence. United States: Addison-

Wesley

Michelucci, Umberto. (2018). Applied Deep Learning: A Case-Based Approach to

Understanding Deep Neural-Networks. Swizerland: Apress

Pandey, Abhishek Kumar. (2020). Convolution, Padding, Stride, and Pooling in

CNN. https://medium.com/analytics-vidhya/convolution-padding-stride-

and-pooling-in-cnn-13dc1f3ada26. Diakses tanggal 27 Desember 2020.

Rosebrock, Adrian. (2017). Deep Learning for Computer Vision. Baltimore

County: PyImageSearch.

Sena, Samuel. (2017). Pengenalan Deep Learning Part 7: Convolutional Neural

Network (CNN). https://medium.com/@samuelsena/pengenalan-deep-

learning-part-7-convolutional-neural-network-cnn-

b003b477dc94#:~:text=Tujuan%20dari%20penggunaan%20padding%20a

dalah,1x1%20filter%20dengan%20stride%201).&text=Dengan%20mengg

unakan%20padding%2C%20kita%20dapat,setidaknya%20tidak%20berkur

ang%20secara%20drastis. Diakses tanggal 27 Desember 2020.

Watt, J. Borhani, R. Katsaggelos, Aggelos K. (2020). Machine Learning Refined.

(2nd Edition). Cambridge: Cambridge University Press.

-. (2020). CS231n: Convolutional Neural Networks for Visual Recognition. https://cs231n.github.io/. Diakses tanggal 25 Februari 2021.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

LAMPIRAN

Lampiran Proses Pengujian.

Epoch 1/80

125/125 [==============================] - 58s 467ms/step - loss: 0.

7059 - accuracy: 0.5340 - val_loss: 0.6581 - val_accuracy: 0.6075

Epoch 2/80

125/125 [==============================] - 57s 456ms/step - loss: 0.

6543 - accuracy: 0.6125 - val_loss: 0.6003 - val_accuracy: 0.6612

Epoch 3/80

125/125 [==============================] - 57s 460ms/step - loss: 0.

6309 - accuracy: 0.6540 - val_loss: 0.5954 - val_accuracy: 0.6888

Epoch 4/80

125/125 [==============================] - 58s 461ms/step - loss: 0.

6150 - accuracy: 0.6650 - val_loss: 0.6437 - val_accuracy: 0.6338

Epoch 5/80

125/125 [==============================] - 57s 454ms/step - loss: 0.

6239 - accuracy: 0.6645 - val_loss: 0.6157 - val_accuracy: 0.6837

Epoch 6/80

125/125 [==============================] - 57s 460ms/step - loss: 0.

6092 - accuracy: 0.6780 - val_loss: 0.5812 - val_accuracy: 0.7025

Epoch 7/80

125/125 [==============================] - 56s 447ms/step - loss: 0.

5875 - accuracy: 0.6905 - val_loss: 0.6335 - val_accuracy: 0.6787

Epoch 8/80

125/125 [==============================] - 55s 444ms/step - loss: 0.

5915 - accuracy: 0.7020 - val_loss: 0.5608 - val_accuracy: 0.7113

Epoch 9/80

125/125 [==============================] - 57s 456ms/step - loss: 0.

5681 - accuracy: 0.7140 - val_loss: 0.5844 - val_accuracy: 0.6913

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

67

Epoch 10/80

125/125 [==============================] - 56s 449ms/step - loss: 0.

5619 - accuracy: 0.7295 - val_loss: 0.5591 - val_accuracy: 0.7013

Epoch 11/80

125/125 [==============================] - 56s 450ms/step - loss: 0.

5616 - accuracy: 0.7220 - val_loss: 0.5283 - val_accuracy: 0.7237

Epoch 12/80

125/125 [==============================] - 55s 443ms/step - loss: 0.

5545 - accuracy: 0.7235 - val_loss: 0.4999 - val_accuracy: 0.7688

Epoch 13/80

125/125 [==============================] - 56s 448ms/step - loss: 0.

5485 - accuracy: 0.7275 - val_loss: 0.5117 - val_accuracy: 0.7738

Epoch 14/80

125/125 [==============================] - 56s 451ms/step - loss: 0.

5325 - accuracy: 0.7470 - val_loss: 0.5270 - val_accuracy: 0.7412

Epoch 15/80

125/125 [==============================] - 57s 454ms/step - loss: 0.

5427 - accuracy: 0.7400 - val_loss: 0.5666 - val_accuracy: 0.7138

Epoch 16/80

125/125 [==============================] - 56s 451ms/step - loss: 0.

5420 - accuracy: 0.7430 - val_loss: 0.5057 - val_accuracy: 0.7700

Epoch 17/80

125/125 [==============================] - 57s 457ms/step - loss: 0.

5354 - accuracy: 0.7435 - val_loss: 0.5340 - val_accuracy: 0.7475

Epoch 18/80

125/125 [==============================] - 57s 459ms/step - loss: 0.

5266 - accuracy: 0.7505 - val_loss: 0.6347 - val_accuracy: 0.7025

Epoch 19/80

125/125 [==============================] - 57s 453ms/step - loss: 0.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

68

5086 - accuracy: 0.7595 - val_loss: 0.5933 - val_accuracy: 0.7113

Epoch 20/80

125/125 [==============================] - 56s 451ms/step - loss: 0.

5248 - accuracy: 0.7455 - val_loss: 0.5027 - val_accuracy: 0.7475

Epoch 21/80

125/125 [==============================] - 56s 449ms/step - loss: 0.

5321 - accuracy: 0.7505 - val_loss: 0.5139 - val_accuracy: 0.7400

Epoch 22/80

125/125 [==============================] - 59s 471ms/step - loss: 0.

5172 - accuracy: 0.7525 - val_loss: 0.5169 - val_accuracy: 0.7412

Epoch 23/80

125/125 [==============================] - 57s 453ms/step - loss: 0.

5134 - accuracy: 0.7560 - val_loss: 0.4619 - val_accuracy: 0.7975

Epoch 24/80

125/125 [==============================] - 57s 456ms/step - loss: 0.

4923 - accuracy: 0.7655 - val_loss: 0.5735 - val_accuracy: 0.7262

Epoch 25/80

125/125 [==============================] - 56s 448ms/step - loss: 0.

4924 - accuracy: 0.7615 - val_loss: 0.5289 - val_accuracy: 0.7462

Epoch 26/80

125/125 [==============================] - 56s 450ms/step - loss: 0.

4846 - accuracy: 0.7760 - val_loss: 0.4754 - val_accuracy: 0.7700

Epoch 27/80

125/125 [==============================] - 57s 454ms/step - loss: 0.

4869 - accuracy: 0.7810 - val_loss: 0.4782 - val_accuracy: 0.7775

Epoch 28/80

125/125 [==============================] - 56s 452ms/step - loss: 0.

4895 - accuracy: 0.7655 - val_loss: 0.4816 - val_accuracy: 0.7650

Epoch 29/80

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 89: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

69

125/125 [==============================] - 56s 452ms/step - loss: 0.

4839 - accuracy: 0.7845 - val_loss: 0.4628 - val_accuracy: 0.7887

Epoch 30/80

125/125 [==============================] - 56s 444ms/step - loss: 0.

4679 - accuracy: 0.7875 - val_loss: 0.4425 - val_accuracy: 0.7925

Epoch 31/80

125/125 [==============================] - 56s 449ms/step - loss: 0.

4772 - accuracy: 0.7885 - val_loss: 0.4708 - val_accuracy: 0.7738

Epoch 32/80

125/125 [==============================] - 58s 463ms/step - loss: 0.

4717 - accuracy: 0.7855 - val_loss: 0.5037 - val_accuracy: 0.7638

Epoch 33/80

125/125 [==============================] - 60s 480ms/step - loss: 0.

4856 - accuracy: 0.7740 - val_loss: 0.8678 - val_accuracy: 0.6662

Epoch 34/80

125/125 [==============================] - 58s 465ms/step - loss: 0.

4667 - accuracy: 0.7905 - val_loss: 0.5251 - val_accuracy: 0.7513

Epoch 35/80

125/125 [==============================] - 59s 468ms/step - loss: 0.

4701 - accuracy: 0.7860 - val_loss: 0.4601 - val_accuracy: 0.7937

Epoch 36/80

125/125 [==============================] - 58s 465ms/step - loss: 0.

4783 - accuracy: 0.7750 - val_loss: 0.5047 - val_accuracy: 0.7738

Epoch 37/80

125/125 [==============================] - 59s 474ms/step - loss: 0.

4713 - accuracy: 0.7825 - val_loss: 0.4731 - val_accuracy: 0.7862

Epoch 38/80

125/125 [==============================] - 58s 460ms/step - loss: 0.

4790 - accuracy: 0.7750 - val_loss: 0.5160 - val_accuracy: 0.7287

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 90: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

70

Epoch 39/80

125/125 [==============================] - 58s 466ms/step - loss: 0.

4611 - accuracy: 0.7910 - val_loss: 0.4777 - val_accuracy: 0.7750

Epoch 40/80

125/125 [==============================] - 59s 474ms/step - loss: 0.

4631 - accuracy: 0.7920 - val_loss: 0.5952 - val_accuracy: 0.7400

Epoch 41/80

125/125 [==============================] - 58s 461ms/step - loss: 0.

4742 - accuracy: 0.7905 - val_loss: 0.5060 - val_accuracy: 0.7425

Epoch 42/80

125/125 [==============================] - 58s 468ms/step - loss: 0.

4729 - accuracy: 0.7845 - val_loss: 0.4629 - val_accuracy: 0.7850

Epoch 43/80

125/125 [==============================] - 57s 454ms/step - loss: 0.

4570 - accuracy: 0.7915 - val_loss: 0.4497 - val_accuracy: 0.7937

Epoch 44/80

125/125 [==============================] - 59s 468ms/step - loss: 0.

4528 - accuracy: 0.8005 - val_loss: 0.4371 - val_accuracy: 0.8138

Epoch 45/80

125/125 [==============================] - 58s 463ms/step - loss: 0.

4608 - accuracy: 0.7915 - val_loss: 0.4606 - val_accuracy: 0.7962

Epoch 46/80

125/125 [==============================] - 58s 464ms/step - loss: 0.

4534 - accuracy: 0.8010 - val_loss: 0.4530 - val_accuracy: 0.7900

Epoch 47/80

125/125 [==============================] - 58s 467ms/step - loss: 0.

4473 - accuracy: 0.8055 - val_loss: 0.4532 - val_accuracy: 0.7950

Epoch 48/80

125/125 [==============================] - 58s 462ms/step - loss: 0.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 91: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

71

4358 - accuracy: 0.8050 - val_loss: 0.4600 - val_accuracy: 0.7950

Epoch 49/80

125/125 [==============================] - 56s 451ms/step - loss: 0.

4248 - accuracy: 0.8065 - val_loss: 0.4254 - val_accuracy: 0.8263

Epoch 56/80

125/125 [==============================] - 56s 449ms/step - loss: 0.

4401 - accuracy: 0.8055 - val_loss: 0.4498 - val_accuracy: 0.7975

Epoch 57/80

125/125 [==============================] - 56s 448ms/step - loss: 0.

4576 - accuracy: 0.7955 - val_loss: 0.4391 - val_accuracy: 0.8037

Epoch 58/80

125/125 [==============================] - 56s 449ms/step - loss: 0.

4393 - accuracy: 0.8000 - val_loss: 0.4261 - val_accuracy: 0.8188

Epoch 59/80

125/125 [==============================] - 56s 449ms/step - loss: 0.

4254 - accuracy: 0.8145 - val_loss: 0.4188 - val_accuracy: 0.8138

Epoch 60/80

125/125 [==============================] - 57s 460ms/step - loss: 0.

4215 - accuracy: 0.8150 - val_loss: 0.4918 - val_accuracy: 0.7937

Epoch 61/80

125/125 [==============================] - 58s 463ms/step - loss: 0.

4398 - accuracy: 0.7950 - val_loss: 0.4416 - val_accuracy: 0.8150

Epoch 62/80

125/125 [==============================] - 56s 450ms/step - loss: 0.

4310 - accuracy: 0.8055 - val_loss: 0.4483 - val_accuracy: 0.7950

Epoch 63/80

125/125 [==============================] - 43s 348ms/step - loss: 0.

4222 - accuracy: 0.8060 - val_loss: 0.4701 - val_accuracy: 0.7788

Epoch 64/80

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 92: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

72

125/125 [==============================] - 33s 264ms/step - loss: 0.

4350 - accuracy: 0.8090 - val_loss: 0.4189 - val_accuracy: 0.8275

Epoch 65/80

125/125 [==============================] - 34s 273ms/step - loss: 0.

4485 - accuracy: 0.8020 - val_loss: 0.4469 - val_accuracy: 0.7925

Epoch 66/80

125/125 [==============================] - 33s 261ms/step - loss: 0.

4269 - accuracy: 0.8095 - val_loss: 0.4183 - val_accuracy: 0.8250

Epoch 67/80

125/125 [==============================] - 33s 262ms/step - loss: 0.

4034 - accuracy: 0.8190 - val_loss: 0.5033 - val_accuracy: 0.7962

Epoch 68/80

125/125 [==============================] - 34s 270ms/step - loss: 0.

4165 - accuracy: 0.8195 - val_loss: 0.4468 - val_accuracy: 0.8050

Epoch 69/80

125/125 [==============================] - 33s 265ms/step - loss: 0.

4303 - accuracy: 0.8185 - val_loss: 0.4925 - val_accuracy: 0.7675

Epoch 70/80

125/125 [==============================] - 33s 262ms/step - loss: 0.

4487 - accuracy: 0.8040 - val_loss: 0.4618 - val_accuracy: 0.8200

Epoch 71/80

125/125 [==============================] - 33s 261ms/step - loss: 0.

4231 - accuracy: 0.8110 - val_loss: 0.5131 - val_accuracy: 0.7862

Epoch 72/80

125/125 [==============================] - 33s 265ms/step - loss: 0.

4335 - accuracy: 0.8065 - val_loss: 0.5314 - val_accuracy: 0.7775

Epoch 73/80

125/125 [==============================] - 33s 262ms/step - loss: 0.

4346 - accuracy: 0.8065 - val_loss: 0.4559 - val_accuracy: 0.7937

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 93: KLASIFIKASI CITRA DENGAN MENGGUNAKAN JARINGAN …

73

Epoch 74/80

125/125 [==============================] - 33s 267ms/step - loss: 0.

4195 - accuracy: 0.8110 - val_loss: 0.4610 - val_accuracy: 0.8100

Epoch 75/80

125/125 [==============================] - 33s 262ms/step - loss: 0.

4317 - accuracy: 0.8040 - val_loss: 0.4112 - val_accuracy: 0.8275

Epoch 76/80

125/125 [==============================] - 33s 264ms/step - loss: 0.

4254 - accuracy: 0.8080 - val_loss: 0.4240 - val_accuracy: 0.8213

Epoch 77/80

125/125 [==============================] - 35s 279ms/step - loss: 0.

4136 - accuracy: 0.8225 - val_loss: 0.4833 - val_accuracy: 0.8062

Epoch 78/80

125/125 [==============================] - 33s 263ms/step - loss: 0.4254 -

accuracy: 0.8115 - val_loss: 0.4174 - val_accuracy: 0.8200

Epoch 79/80

125/125 [==============================] - 33s 262ms/step - loss: 0.4313 -

accuracy: 0.8095 - val_loss: 0.4280 - val_accuracy: 0.8275

Epoch 80/80

125/125 [==============================] - 34s 268ms/step - loss: 0.4201 -

accuracy: 0.8225 - val_loss: 0.4259 - val_accuracy: 0.8200

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI