HALAMAN JUDUL
Skripsi
Oleh:
Rohmando Purba
NIM 170155201044
JURUSAN INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MARITIM RAJA ALI HAJI
TANJUNGPINANG
2023
i
HALAMAN PERSETUJUAN
ii
LEMBAR PENGESAHAN PROPOSAL SKRIPSI
iii
DAFTAR ISI
iv
9.5. Rancangan Pengujian ................................................................................... 35
10. Jadwal Penelitian ........................................................................................... 35
DAFTAR PUSTAKA ................................................................................................ 37
v
DAFTAR GAMBAR
Gambar 1. Jaringan Syaraf Biologis ......................................................................... vii
Gambar 2. Perceptron Model.................................................................................... 13
Gambar 3. Relu ......................................................................................................... 14
Gambar 4. Visualisasi Dropout ................................................................................ 15
Gambar 5. Arsitektur CNN....................................................................................... 17
Gambar 6. Pooling Layer ......................................................................................... 20
Gambar 7. Google Colab .......................................................................................... 23
Gambar 8. Diagram Alir Penelitian .......................................................................... 27
Gambar 9. Diagram Alir Rancangan CNN ............................................................... 28
Gambar 10. Full gambar input.................................. Error! Bookmark not defined.
vi
DAFTAR TABEL
vii
IMPLEMENTASI METODE CONVOLUTIONAL NEURAL NETWORK UNTUK
KLASIFIKASI JENIS SAMPAH
(Studi Kasus : Tepi Laut - Tanjungpinang)
1. Latar Belakang
Meningkatnya jumlah sampah di dunia menjadi masalah serius yang memerlukan
penanganan yang efektif dan efisien. Pemilahan dan pengelolaan sampah yang baik
sangat penting untuk menjaga kebersihan dan kesehatan lingkungan, serta untuk
mengurangi dampak negatif yang dihasilkan oleh sampah terhadap kehidupan manusia
dan alam. Salah satu tantangan dalam pengelolaan sampah adalah minimnya
pengetahuan masyarakat tentang jenis sampah dan cara membuangnya dengan benar.
Pentingnya pengetahuan masyarakat tentang jenis sampah sangat penting karena
dapat membantu dalam proses pemilahan sampah. Ketika masyarakat mengetahui jenis
sampah yang berbeda dan bagaimana membuangnya dengan benar, mereka dapat
membantu dalam memisahkan sampah di rumah dan di lingkungan sekitar. Hal ini
dapat mempermudah proses pengelolaan sampah oleh pihak berwenang dan
mengurangi biaya yang diperlukan untuk memilah sampah secara manual. Salah satu
sampah yang tidak diurai adalah sampah plastik.
Benda yang berbahan plastik sangat sulit terurai di alam sehingga menjadikannya
penyumbang limbah/sampah terbesar yang dapat menyebabkan rusaknya
keseimbangan alam Asia & Arifin (2017). Menurut Kementerian Lingkungan Hidup
dan Kehutanan (KLHK) jumlah rata-rata produksi sampah di Indonesia mencapai
175.000 ton per hari atau setara dengan 64 juta ton per tahun Taufiqurrahman (2019).
Sampah dapat dikategorikan menjadi sampah organik dan sampah anorganik Y. U .
Indonesia (2008). Sampah organik adalah sampah yang berasal dari bahan-bahan
hayati yang dapat di di degradasi oleh microba seperti sisa dapur dan makanan,
sedangkan sampah anorganik merupakan kategori sampah yang dihasilkan dari proses
teknologi seperti logam, plastik, kaleng, baterai, dan sebagainya. Sampah yang
tercampur dapat mempengaruhi nilai dan mengurangi kualitas sampah anorganik
1
Alkautsar, dkk (2020). Hal itu disebabkan sampah yang seharusnya bisa didaur ulang
menjadi tidak bisa di daur ulang.
Sampah jenis plastik membutuhkan waktu sekitar 10 – 20 tahun agar dapat terurai.
Penanganan sampah anorganik akan menjadi lebih rumit dari pada menangani sampah
organik yang dapat terurai secara biologi dengan cepat. Sampah anorganik dapat
mengakibatkan berbagai macam kerugian khusus nya pada lingkungan pada pesisir laut
khususnya tepi laut Kota Tanjungpinang yang dapat berdampak pada sektor ekonomi
dan pariwisata, mengganggu kehidupan biota laut dan ekosistem pesisir dan kesehatan
masyarakat.
Untuk menekan dampak negatif sampah anorganik pengolahan sampah dapat
dilakukan dengan cara daur ulang Ridwan, dkk.(2016). Daur ulang merupakan proses
untuk menjadikan atau mengubah bahan bekas menjadi bahan baru, dengan tujuan
mengubah sampah yang sebenarnya menjadi sesuatu yang berguna (CHAIR ,
2018).Tetapi untuk melakukan daur ulang pada sampah anorganik perlu dilakukan
pengelompokan sampah sesuai dengan jenisnya. Sebagai contoh sampah berbahan
kaca harus di kelompokkan ke sampah yang berbahan kaca juga. Untuk mengatasi
permasalahan tersebut pemerintah Tanjungpinang sudah menyediakan tempat sampah
dengan jenisnya masing-masing. Pengelolaan sampah dengan cara tersebut
memberikan upaya untuk mengurangi pembuangan sampah ke tempat yang bukan
kategorinya. Sayangnya dalam praktek dilapangan khususnya di tepi laut
Tanjungpinang, walaupun sudah disediakan tempat sampah yang sudah dikategorikan
organik maupun berbagai jenis tempat sampah anorganik masih banyak masyarakat
yang belum mengoptimalkannya dimana masih banyak terdapat tempat sampah dengan
sampah organik dan anorganik di campur/digabungkan.
Berlandaskan permasalahan yang sudah dijabarkan, maka diperlukan suatu sistem
yang efektif dengan memanfaatkan teknologi untuk membantu masyarakat dalam
pembuangan sampah ke kategori tempat sampah yang tepat. Salah satu upaya yang
dilakukan peneliti adalah dengan merancang sebuah model yang mampu
mengklasifikasi sampah organik dan berbagai jenis sampah anorganik. Convolutional
2
Neural Network (CNN) adalah salah satu dari berbagai algoritma Deep Learning yang
bisa digunakan untuk mengenali, mendeteksi, mengklasifikasikan sebuah citra digital.
Deep Learning merupakan salah satu sub bidang dari Mechine Learning. Pada
dasarnya Deep Learning adalah implementasi konsep dasar dari Mechine Learning
yang menerapkan algoritma Artificiall Neural Network dengan lapisan yang lebih
banyak. Beberapa tahun terakhir Deep Learning telah menunjukan performa yang luar
biasa. Hal ini sebagain besar dipengaruhi faktor komputasi yang lebih kuat, data setang
besar dan teknik untuk melatih jaringan yang lebih dalam (Goodfellow, Bengio, Y, dan
Courville, A., 2016). Pada penelitian sebelumnya, terdapat penelitian yang berkaitan
tentang perancangan sistem yang membahas tentang teknologi dalam klasifikasi
sampah, salah satunya penelitian yang dilakukan oleh Ramadhani,et al.(2021)
penelitian ini dilakukan optimasi penggunaan metode CNN untuk mendapatkan hasil
yang akurat dalam mengidentifikasi jenis sampah. Pada penelitian ini tidak
membahas atau tidak melakukan klasifikasi pada jenis-jenis sampah non-organik
melainkan hanya kategori organik dan non-organik. Penelitian ini melakukan optimasi
dilakukan dengan cara menambah beberapa hyperparameterpada arsitektur CNN.
Hasil akurasi yang didapatkan setelah menambahkan hyperparameter adalah sebesar
91,2%. Sedangkan apabila tidak menggunakan hyperparameternilai akurasi hanya
sebesar 67,6%. Selanjutnya penelitian yang dilakukan oleh Stephen, dkk. (2019)
Penelitian ini akan melakukan pemilahan antar sampah organik dan anorganik saja dan
tidak melakukan pemilihan pada jenis-jenis sampah anorganik. Hasil penelitian
menunjukkan bahwa model CNN yang paling baik adalah Resnet 50. Nilai akurasi
yang didapatkan dari tahap training sebesar 78% dan 90%. Sedangkan nilai akurasi dari
tahap validation adalah 74% dan 80%.
Berdasarkan pemaparan di atas, penelitian ini akan menginplementasikan metode
Convolutional Neural Network (CNN) untuk membuat sistem yang dapat
mengklasifikasikan jenis sampah organik dan anorganik. Penelitian ini akan
menggunakan dataset yang akan dibuat sendiri oleh peneliti yaitu dengan mengambil
sampel gambar masing kategori sampah. Pembeda penelitian ini dengan penelitian
3
terdahulu yang berkaitan adalah pada penelitian ini akan melakukan klasifikasi sampah
organik dan anorganik, dimana sampah anorganik akan diklasifikasi lagi menjadi 5
kategori yaitu sampah organik, kertas, kaca, plastik, dan metal. Sedangkan pada
penelitian terdahulu hanya melakukan klasifikasi pada sampah organik dan anorganik
saja, atau tidak melakukan klasifikasi lebih lanjut pada jenis-jenis sampah anorganik
seperti sampah kaca, kertas, plastik, dan metal.
2. Rumusan Masalah
Berdasarkan latar belakang yang diuraikan, maka rumusan masalah yaitu
bagaimana menggunakan metode Convolutional Neural Network (CNN) dalam
klasifikasi jenis sampah.
3. Batasan Masalah
Adapun batasan masalah yang digunakan dalam penelitian ini adalah:
1. Data yang digunakan adalah gambar sampah jenis organik, kaca, baterai, plastik,
dan metal.
2. Output penelitian ini adalah melakukan klasifikasi 5 jenis sampah.
3. Metode yang digunakan yaitu Convolutional Neural Network (CNN)
4. Tujuan Penelitian
5. Manfaat Penelitian
Adapun manfaat yang diberikan dalam penelitian ini adalah :
1. Memberikan pengetahuan mengenai implementasi Convolutional Neural
Network (CNN) untuk klasifikasi 5 jenis sampah di Tanjungpinang.
2. Membantu penelitian lain dan masyarakat dalam mengenali jenis jenis sampah.
3. Mempermudah masyarakat untuk membuang sampah sesuai jenisnya.
4
6. Keaslian Penelitian
Terdapat perbedaan dari penelitian-penelitian sebelumnya yang dilakukan oleh
Rasidi et al (2022) penelitian ini bertujuan untuk merancang model deep learning untuk
melakukan klasifikasi sampah organik dan anorganik menggunakan metode
Convolutional Neural Network (CNN). Dalam perancangan model penelitian ini
menggunakan dataset waste classification Data, dataset tersebut diperoleh dari situs
website kaggle. Data yang di analisa pada penelitian hanya 2 (dua) data yaitu data
sampah organik dan sampah anorganik. Sedangkan pada penelitian yang akan
dilakukan adalah untuk mengimplementasikan metode Convolutional Neural Network
(CNN) dalam klasifikasi 5 jenis sampah yaitu sampah organik, sampah kertas, sampah
plastik, sampah kaca, dan sampah metal. Kemudian dataset yang akan digunakan
diambil langsung dari Tepi Laut (TPL) Tanjungpinang. Jumlah dataset yang digunakan
pada penelitian ini sebanyak 1000 gambar, dengan jumlah data pada setiap jenis
sampah adalah sebanyak 200 gambar.
5
kertas, sampah plastik,
sampah kaca, dan sampah
metal
Gambar Dataset
6
7. Tinjauan Pustaka
7
epoch, dan parameter, Resnet 50 masih menunjukkan performa yang lebih baik
dibandingkan dengan VGG 16. Oleh karena itu, untuk mencapai hasil yang optimal
disarankan untuk menggunakan model Resnet 50.
Penelitian yang dilakukan oleh Leonardo (2020) penelitian ini berjudul Klasifikasi
Sampah Daur Ulng Menggunakan Support Vector Machine dengn Fitur Local Binary
Pattern. Hasil pengujian menggunakan fold 5 sampai fold 10, diperoleh hasil bahwa
kernel polynomial memiliki nilai akurasi tertinggi dengan rata-rata 87,82%. Sedangkan
untuk klasifikasi SVM dengan kernel linear, polynomial, dan gaussian, diperoleh hasil
bahwa untuk jenis sampah cardboard memiliki nilai akurasi terbaik sebesar 96,01%.
Untuk jenis sampah glass, nilai akurasi terbaik diperoleh sebesar 90,62%. Sedangkan
untuk jenis sampah metal, nilai akurasi terbaik diperoleh sebesar 89,72%. Untuk jenis
sampah paper, nilai akurasi tertinggi diperoleh sebesar 96,01%. Dan untuk jenis
sampah plastic, diperoleh nilai akurasi tertinggi sebesar 87,64%.
8. Landasan Teori
8.1. Sampah
Sampah merupakan material yang tidak diinginkan atau tidak terpakai lagi yang
dihasilkan dari aktivitas manusia, baik itu dari rumah tangga, industri, maupun
komersial, Produksi sampah semakin meningkat seiring dengan pertambahan jumlah
penduduk dan gaya konsumsi masyarakat yang terus bertambah Adedeji (2019).
pengelolaaan sampah yang tidak baik dan benar dapat menimbulkan dampak negatif
pada lingkungan dan kesehatan manusia. Oleh karena itu, pengelolaan sampah uang
baik dan benar sangat penting dilakukan.
Sampah dapat dibedakan menjadi beberapa jenis berdasarkan karakteristiknya.
Beberapa jenis sampah yang umumnya dihasilkan oleh masyarakat adalah sampah
organik, sampah kertas, sampah metal, sampah plastik, dan sampah kaca. Berikut
penjelasan jenis-jenis sampah.
a. Sampah Organik
8
Sampah organik merupakan jenis sampah yang berasal dari bahan-bahan organik
seperti sisa makanan, daun, ranting, dan lain sebagainya. Sampah organik dapat
terurai secara alami oleh bakteri dan microorganisme, sehingga cocok untuk
digunakan sebagai bahan kompos atau pupuk organik. Pengelolaan sampah organik
yang baik dan benar dapat dilakukan dengan cara memisahkan sampah organik dari
sampah yang lainnya seperti sampah plastik dan sampah kertas sebelum dibuang.
Selain itu pengelolaan sampah organik juga dapat dilakukan dengan cara mendaur
ulang menjadi pupuk organik.
b. Sampah Kertas
Sampah kertas adalah sampah yang berasal dari bahan kertas seperti kertas bekas,
koran, majalah, dan lain segainya. Penggunaan kertas yang semakin banyak dalam
kehidupan sehari-hari mengakibatkan banyaknya sampah kertas yang dihasilkan.
Pengelolaan sampah kertas yang baik dan benar dapat dilakukan dengan cara
mendaur ulang sampah kertas menjadi kertas yang baru. Proses daur ulang sampah
kertas dimulai dengan mengumpulkan sampah kertas, lalu mengolahnya menjadi
serat kertas melalui proses pencacahan dan pemutihan. Kemudian serat kertas dapat
dicetak menjadi berbagai produk kertas seperti kertas tulis, buku tulis, buku catatan
dan lain sebagainya.
c. Sampah Metal
Sampah metal adalah sampah yang berasal dari logam seperti besi, aluminium, dan
tembaga. Sampah metal dapat berasal dari limbah konstruksi, barang elektronik dan
lain sebagainya. Pengelolaan sampah yang baik dan benar sangat peting dilakukan
karena apabila dibuang sembarangan dapat menimbulkan masalah lingkungan dan
kesehatan.
d. Sampah Plastik
Sampah plastik merupakan jenis sampah yang berasal dari bahan plastik.
Penggunaan plastik yang semakin banyak dalam kehidupan sehari-hari mengkibatkan
banyaknya sampah plastik yang disahilkan. Sampah plastik yang dibuang
sembarangan dapat menimbulkan masalah lingkungan dan kesehatan manusia.
9
e. Sampah Kaca
Sampah merupakan jenis sampah yang berasal dari bahan kaca seperti botol
minuman, pecahan kaca, dan lain sebagainya. Sampah kaca yang dibuang
sembarangan dapat menimbulkan bahaya bagi lingkungan dan kesehatan manusia
karena kaca dapat menimbulkan luka dan cedera jika tidak ditangani dengan benar.
Menurut iriyanto & Zaini (2014) citra digital a[m,n] dapat dijelaskan sebagai
ruang diskrit 2D yang berasal dari sebuah citra analog a (x, y) menjadi citra kontinu
2D melalui proses sampling yang sering disebut sebagai digitalisasi. Citra digital yang
direpresentasikan dalam bentuk digital, terdiri dari piksel atau titik warna yang disusun
dalam grid atau matriks. Setiap piksel pada citra digital memiliki informasi tentang
intensitas warna atau kecerahan dari suatu area pada gambar. Teknologi citra digital
memungkinkan pengolahan, analisis, dan pemrosesan gambar secara komputerisasi,
sehingga memungkinkan dilakukannya berbagai macam aplikasi seperti pengenalan
pola, deteksi objek, dan klasifikasi gambar.
10
prediktif dari jaringan syaraf buatan berasal dari struktur berlapis-lapis yang
dimilikinya (Brownlee, 2016).
11
internal yang digunakan untuk menghitung representasi di setiap lapisan dari
representasi di lapisan sebelumnya LeCun et al. (2015), Deep Learning terdiri atas:
a. Neural Network
McCulloch & Pitts (1990) pertama kali menggunakan istilah "neural networks"
dalam percobaan mereka untuk menemukan representasi matematis dari pemrosesan
informasi dalam sistem biologis. Neural networks terdiri dari jaringan simpul yang
meniru struktur neuron otak makhluk hidup. Setiap simpul menghitung jumlah nilai
bobot dari masukan dan memprosesnya pada lapisan tersembunyi, lalu mengeluarkan
hasil dari fungsi pengaktifan dengan nilai bobot. Seiring dengan perkembangannya,
arsitektur neural networks semakin kompleks, mulai dari jaringan saraf single-layer
yang hanya memiliki lapisan input dan output. Dengan menambahkan lapisan
tersembunyi pada jaringan saraf single-layer, maka jaringan saraf tersebut akan
berkembang menjadi jaringan saraf multi-layer. Oleh karena itu, jaringan saraf multi-
layer memiliki tiga lapisan, yaitu lapisan input, lapisan tersembunyi, dan lapisan
output Kim (2017).
Untuk mendapatkan nilai neuron tujuan (y), nilai yang terdapat pada neuron (x)
akan dihitung dengan bobot (w) dan ditambah dengan bias (b), kemudian diaktivasi
menggunakan fungsi (g) untuk menentukan nilai neuron selanjutnya (y). Rumusnya
dapat dilihat dari persamaan berikut 2.1 berikut.
𝑛
𝑦 = 𝑔 ∑ 𝑥𝑖 𝑤𝑖 + 𝑏 (2.1)
𝑖=1
Keterangan :
w = bobot
x = input
b = bias
12
Hal diatas juga dapat dinotasikan sebagai berikut :
Fungsi aktivasi merupakan sebuah fungsi yang berguna untuk menentukan aktif
atau tidaknya neuron didalam sebuah neural network.
1. Softmax
Fungsi Softmax merupakan suatu fungsi matematis yang sering digunakan dalam
bidang pembelajaran mesin. Fungsi ini memiliki kemampuan untuk mengubah vektor
asli D-dimensi dengan nilai riil menjadi vektor probabilitas D-dimensi dengan nilai
riil dengan rentang 0 dan 1 apabila dijumlahkan hasilnya 1. Fungsi Softmax sering
digunakan dalam regresi logistik, jaringan saraf tiruan, dan pembelajaran penguatan.
Fungsi ini dapat menghitung nilai probabilitas untuk semua label dengan
menggunakan persamaan (2.2). Pada persamaan ini, nilai probabilitas (S) untuk kelas
ke (y) dihitung dari neuron pada layer klasifikasi terakhir yang berupa angka
eksponensial (e) yang dibagi dengan jumlah nilai eksponensial tersebut. Dalam proses
ini, vektor nilai riil diubah menjadi vektor dengan nilai probabilitas di antara 0 dan 1.
Jika semua nilai probabilitas dijumlahkan, maka akan menghasilkan nilai satu Zhang
et al (2018).
𝑒 𝑦𝑖 (2.2)
𝑆(𝑦𝑖 ) = 𝑦
∑𝑗 𝑒 𝑗
13
Keterangan :
Fungsi aktivasi ReLU (Rectified Linear Unit) berperan dalam mengubah nilai
pixel dengan melakukan thresholding pada nilai nol (Ilahiyah & Nilogiri, 2018).
Dalam fungsi ini, nilai output yang positif akan tetap sama dengan inputnya,
sedangkan jika nilai output negatif, maka nilainya akan diubah menjadi nol
(Nurhikmat, 2018).
Berikut garfik nilai dari aktivasi ReLU ditampilkan pada gambar xx dan
persamaan yang digunakan adalah sebagai berikut.
Gambar 3. Relu
14
c. Dropout
Teknik dropout merupakan salah satu metode regularisasi dalam jaringan saraf
tiruan yang bertujuan untuk mengurangi overfitting dan meningkatkan kemampuan
model dalam melakukan generalisasi. Hal ini dilakukan dengan menonaktifkan secara
acak sebagian neuron pada setiap iterasi pelatihan, sehingga dapat mencegah
terjadinya ketergantungan yang berlebihan antara neuron yang ada di dalam jaringan
saraf. Proses pelatihan yang menggunakan dropout dapat meningkatkan akurasi dan
stabilitas model dengan mengurangi overfitting pada data pelatihan. Berikut
visualisasi dropout.
d. Algoritma Backpropagation
Neural network adalah sebuah model komputasi yang meniru sistem syaraf
manusia dan memerlukan proses pembelajaran untuk menentukan bobot yang tepat
untuk setiap input. Backpropagation merupakan salah satu algoritma pembelajaran
pada neural network yang digunakan untuk memperbarui bobot yang terhubung dengan
neuron pada hidden layers. Algoritma ini menggunakan error untuk memperbarui nilai
bobot dalam arah mundur setelah melakukan tahap perhitungan maju. Pelatihan
backpropagation terdiri dari tiga tahap, yaitu tahap perhitungan maju, tahap
perhitungan mundur, dan tahap modifikasi bobot. Tahap perhitungan maju menghitung
nilai dari input layer sampai output layer dengan menggunakan fungsi aktivasi. Tahap
perhitungan mundur menghitung selisih antara output jaringan dengan target yang
15
diinginkan dan mempropagasi kesalahan mundur melalui setiap garis yang terhubung
dengan unit pada layer output. Kemudian tahap yang ketiga adalah tahap yang akan
memodifikasi bobot untuk menurunkan tingkat kesalahan yang terjadi Jumarwanto
(2009).
16
Gambar 5. Arsitektur CNN
Convolutional Neural Network (CNN) terdiri dari beberapa lapisan, yaitu lapisan
masukan (input layer), lapisan keluaran (output layer), dan beberapa lapisan
tersembunyi (hidden layers). Lapisan tersembunyi (hidden layer) biasanya terdiri dari
lapisan konvolusi (convolutional layers), lapisan pengurangan dimensi (pooling
layers), lapisan aktivasi ReLU (ReLU layer) serta lapisan terhubung penuh (fully
connected layers).
a. Convolutional Layer
Operasi konvolusi merupakan operasi perkalian 2 matrix yang kemudian
hasilnya dijumlahkan (Purwaningsih dkk. 2019). Convolutional digunakan untuk
mengekstrak fitur dari gambar, convolutional layer melakukan operasi konvolusi
antara filter dan gambar input untuk menghasilkan peta fitur (feature map). Filter
yang digunakan pada convolutional layer memiliki ukuran (width dan height) yang
lebih kecil dari ukuran gambar input. Filter ini bergerak secara horizontal dan vertikal
(disebut dengan stride) pada gambar input dan melakukan operasi perkalian dan
penjumlahan pada piksel-piksel yang bersinggungan dengan filter tersebut. Hasil
perkalian dan penjumlahan ini kemudian disimpan pada suatu lokasi tertentu pada
peta fitur (feature map). Filter tersebut bergerak pada seluruh gambar input,
17
menghasilkan peta fitur baru pada setiap pergerakan. Berikut rumus yang digunakan
untuk proses konvolusi.
Keterangan :
x = input
W = bobot (filter)
S(t) = Fungsi hasil
1. Strides
Stride adalah ukuran pergeseran filter saat melakukan konvolusi pada gambar.
Jika nilai stride adalah 1, maka filter akan bergeser satu piksel ke arah horizontal dan
vertikal, sehingga proses konvolusi akan mencakup seluruh lebar dan kedalaman
gambar yang diberikan. Sementara itu, jika nilai stride adalah 2 maka lapisan
konvolusi akan memiliki ukuran setengah dari lebar dan tinggi gambar. Meskipun
begitu, arti dari konsep stride dalam pengolahan citra tetap sama, yaitu menentukan
seberapa jauh posisi filter akan bergeser saat melakukan operasi konvolusi pada
gambar. semakin kecil nilai stride yang digunakan dalam operasi konvolusi akan
menghasilkan informasi yang lebih detail dari citra masukan. Namun, penggunaan
stride yang kecil juga akan meningkatkan beban komputasi yang dibutuhkan
dibandingkan dengan penggunaan stride yang lebih besar Latupono (2018) .
2. Padding
18
untuk mempertahankan dimensi citra masukan agar tidak mengalami penyusutan saat
dilakukan operasi konvolusi.
Pada operasi konvolusi, filter atau kernel akan bergerak pada citra masukan untuk
mengekstraksi fitur-fitur penting. Setiap pergeseran filter akan mengurangi dimensi
citra masukan seiring dengan ukuran filter yang digunakan. Jika tidak menggunakan
padding, maka ukuran citra masukan akan semakin mengecil setiap kali operasi
konvolusi dilakukan, sehingga pada akhirnya ukuran citra masukan bisa sangat kecil.
Dengan menggunakan padding, piksel tambahan akan ditambahkan di sekeliling
citra masukan sebelum dilakukan operasi konvolusi. Padding dapat dilakukan dengan
menambahkan nilai piksel yang sama dengan nilai piksel pada batas citra atau nilai
piksel yang berbeda sesuai dengan kebutuhan. Sehingga, ukuran citra masukan akan
tetap sama dengan ukuran citra keluaran.
b. Pooling Layer
Pooling layer merupakan salah satu jenis layer yang sering digunakan dalam
Convolutional Neural Network (CNN) untuk melakukan downsampling atau
pengurangan ukuran citra masukan pada setiap layer. Menurut Elgendy et al (2020)
Tujuan dari penggunaan pooling layer pada Convolutional Neural Network (CNN)
adalah untuk melakukan downsampling pada peta fitur yang dihasilkan oleh layer
konvolusi, dengan tujuan untuk mengurangi kompleksitas komputasi dan jumlah
parameter yang digunakan pada model. Dengan melakukan operasi downsampling,
ukuran peta fitur dapat dikurangi sehingga jumlah parameter yang dibutuhkan juga
dapat berkurang, sehingga meningkatkan efisiensi komputasi pada model.
Pooling layer melakukan downsampling dengan cara mengambil nilai
maksimum atau rata-rata dari setiap jendela kecil atau kernel pada citra masukan.
Kernel ini memiliki ukuran yang lebih kecil daripada ukuran citra masukan dan
biasanya berukuran 2x2 atau 3x3. Setiap pergeseran kernel pada citra masukan akan
menghasilkan nilai pooling baru, yang kemudian digunakan sebagai masukan untuk
layer selanjutnya.
19
Terdapat dua jenis pooling layer yang sering digunakan pada CNN, yaitu max
pooling dan average pooling. Pada max pooling, nilai maksimum dari setiap kernel
diambil sebagai nilai pooling, sehingga hanya fitur penting dengan nilai yang tinggi
yang dipertahankan. Sedangkan pada average pooling, nilai rata-rata dari setiap
kernel diambil sebagai nilai pooling, sehingga setiap fitur pada citra masukan
mempengaruhi nilai pooling.
Layer Rectified Linear Units (ReLU) pada Convolutional Neural Network (CNN)
berfungsi untuk meningkatkan sifat non-linearitas pada fungsi keputusan dan
meningkatkan performa keseluruhan jaringan, tanpa mempengaruhi bidang reseptif
pada layer konvolusi yang digunakan sebelumnya Suyanto (2018).
d. Flatten
Flatten merupakan layer yang digunakan untuk mengubah input yang berupa
tensor multidimensi menjadi input yang berupa vektor satu dimensi. Sebagai contoh,
pada sebuah gambar dengan dimensi 5x5x40, dilakukan proses flatten sebelum
dimasukkan ke dalam jaringan. Hal ini dilakukan agar gambar dapat diolah pada layer
20
fully connected. Setelah dilakukan flatten, gambar akan menjadi satu vektor dengan
dimensi (1,1000) Elgendy et al. (2020). Dalam hal ini, nilai 1000 merupakan hasil
perkalian dari dimensi 5x5x40. Dengan demikian, gambar yang semula berdimensi
tiga dapat diolah oleh layer fully connected sebagai input satu dimensi. Layer ini
sering digunakan sebagai layer terakhir pada CNN sebelum masukan dikirimkan ke
layer fully connected.
Fully Connected Layer merupakan layer dimana setiap neuron pada layer
tersebut terhubung dengan setiap neuron pada layer sebelumnya. Setelah proses
konvolusi dan pooling, hasil keluaran dilakukan flattening menjadi vektor satu
dimensi. Vektor ini kemudian dijadikan masukan pada fully connected layer untuk
memproses data pada level tinggi dan menghasilkan prediksi berdasarkan hasil
pembelajaran yang didapat pada layer konvolusi dan pooling sebelumnya. Proses
pada fully connected layer terdiri dari beberapa tahap, yaitu penghitungan dengan
matriks bobot dan bias, pengolahan dengan layer aktivasi, dan output yang menjadi
masukan pada layer berikutnya atau output akhir dari model. Fully connected layer
memungkinkan model untuk mempelajari hubungan yang kompleks antara fitur yang
dihasilkan oleh layer konvolusi dan pooling dan memberikan hasil akhir yang lebih
akurat pada tugas seperti klasifikasi atau regresi.
f. Confussin Matrix
Confusion Matrix adalah metode evaluasi performa klasifikasi yang
menunjukkan seberapa baik model dapat memprediksi kelas target. Matriks ini terdiri
dari empat variabel yaitu true positives (TP), true negative (TN), false positive (FP),
dan false negative (FN). True positive menunjukkan jumlah data positif yang benar
diprediksi oleh model, sedangkan true negative menunjukkan jumlah data negatif
yang benar diprediksi oleh model. False positive menunjukkan jumlah data negatif
21
yang salah diprediksi sebagai positif oleh model, sedangkan false negative
menunjukkan jumlah data positif yang salah diprediksi sebagai negatif oleh model.
Berdasarkan tabel 2.1 dapat digunakan untuk mengukur performa sebuah model yaitu
akurasi, presisi, dan recall sebagai berikut.
1. Akurasi (Accuracy) adalah proporsi dari total data yang diprediksi dengan benar
oleh model. Akurasi dihitung dengan rumus:
𝑇𝑃 + 𝑇𝑁
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =
𝑇𝑜𝑡𝑎𝑙
2. Presisi (Precision) adalah proporsi dari data positif yang diprediksi benar oleh
model dibandingkan dengan total data yang diprediksi positif. Presisi dihitung
dengan rumus:
𝑇𝑃
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =
𝐹𝑝 + 𝑇𝑃
3. Recall (Sensitivity atau True Positive Rate) adalah proporsi dari data positif yang
diprediksi benar oleh model dibandingkan dengan total data positif yang
sebenarnya. Recall dihitung dengan rumus:
𝑇𝑃
𝑅𝑒𝑐𝑎𝑙𝑙 =
𝐹𝑁 + 𝑇𝑃
22
8.6. Google Colabs
Google Colab (atau Collaboratory) adalah platform yang disediakan oleh Google
untuk pengembangan dan pelatihan model machine learning dan deep learning secara
gratis. Platform ini memungkinkan pengguna untuk menjalankan kode Python di
lingkungan Jupyter Notebook berbasis cloud dan dilengkapi dengan akses ke GPU dan
TPU yang dapat digunakan untuk melatih model dengan kecepatan yang lebih tinggi.
23
9. Metode Penelitian
9.1. Waktu dan Tempat Penelitian
Penelitian dilaksanakan dari bulan January hingga Maret 2023 dengan melakukan
proses pengambilan data di Tepi Laut Tanjungpinang dan pengujian data di
Laboratorium Teknik Informatika, Fakultas Teknik, Universitas Maritim Raja Ali Haji,
Tanjungpinang.
Penelitian ini memerlukan beberapa alat dan bahan. Alat-alat yang dibutuhkan
meliputi laptop, webcam logitech C270, dan handphone. Laptop digunakan untuk
pengambilan data, pembuatan, dan pengujian model CNN yang dibuat. Berikut adalah
spesifikasi dari laptop yang digunakan:
24
mencakup organik, plastik, kaca, metal, dan kertas, sedangkan waktu pengambilan
mencakup pagi, siang, sore, dan malam. Hal ini bertujuan untuk memperoleh lebih
banyak data gambar agar model dapat lebih baik dalam mengenali objek sampah.
Langkah yang dilakukan setelah pengumpulan data adalah membuat dataset yang
terdiri dari data training, validation, dan testing. Data training adalah data yang
digunakan oleh model CNN untuk belajar bersama data validation. Data validation
adalah sekelompok data yang digunakan untuk menguji kinerja model selama proses
training. Sementara itu, data testing adalah data yang akan diuji pada model.
Tahap berikutnya dalam penelitian ini adalah preprocessing data merujuk pada
proses awal dataset yang akan digunakan pada model, serta menetapkan beberapa
parameter yang dibutuhkan selama training model. Beberapa parameter yang akan
digunakan meliputi rescale, target size, batch size, dan class mode. Rescale digunakan
untuk mengubah skala nilai citra pada saat pelatihan. Target size berfungsi untuk
merubah ukuran dari semua input citra pada dataset agar ukurannya sama. Batch size
adalah jumlah sampel yang digunakan dalam satu epoch. Sedangkan, class mode
digunakan untuk memilih metode klasifikasi yang akan digunakan.
Lapisan Pooling berperan dalam mengurangi dimensi spasial dari fitur konvolusi
agar sumber daya komputasi yang diperlukan untuk memproses data menjadi lebih
kecil. Hal ini dilakukan melalui teknik downsampling pada feature map, sehingga
jumlah parameter yang perlu diperbarui menjadi lebih sedikit dan mempercepat
25
komputasi. Selain itu, Pooling layer juga berfungsi untuk mengekstraksi fitur utama
yang memungkinkan pelatihan model menjadi lebih efektif. Terdapat dua jenis Pooling
layer, yaitu Max Pooling yang mengambil nilai maksimum dari area gambar yang
tercakup oleh kernel, serta Average Pooling yang mengambil nilai rata-rata dari area
gambar yang tercakup oleh kernel.
Langkah berikutnya adalah training model, di mana model akan belajar dari data
pelatihan dan validasi. Selama proses pelatihan, model akan menghasilkan akurasi dan
loss. Setelah mendapatkan akurasi dan loss, model akan diuji untuk mengukur
performanya. Jika performa model tidak memuaskan, maka perlu dilakukan perbaikan
pada model CNN.
26
Gambar 8. Diagram Alir Penelitian
27
Gambar 9. Diagram Alir Rancangan CNN
Gambar 3.2 dalam perancangan penelitian ini menunjukkan bahwa input gambar
memiliki dimensi 180x180 dan 3 channel RGB. Proses konvolusi dilakukan untuk
mendapatkan fitur-fitur karakteristik pada gambar dan mengurangi dimensi gambar
melalui pooling layer. Konvolusi pertama menggunakan 32 filter, konvolusi kedua 64
28
filter, konvolusi ketiga 128 filter, dan konvolusi ke empat 256 filter. Ukuran kernel
yang digunakan 3x3 untuk mengekstraksi informasi pada gambar. Padding digunakan
pada setiap konvolusi untuk mendapatkan karakteristik di tepi input citra, dan aktivasi
relu digunakan pada setiap konvolusi. Setiap konvolusi dilanjutkan dengan max
pooling dengan ukuran 2x2 untuk memperkecil ukuran dari fitur konvolusi dan
mengurangi jumlah parameter.
Setelah feature learning, data diubah dari 2D menjadi 1D dengan flatten, yang
kemudian menjadi input pada fully connected layer. Hidden layer yang digunakan
sebanyak 2 layer dan output layer dengan aktivasi softmax untuk mengklasifikasikan
data dan softmax digunakan untuk klasifikasi multiclass. Untuk mengetahui lebih detail
bagaimana perhitungan manual pada setiap tahapan akan dilakukan contoh perhitungan
manual dan penjelasan setiap tahap dalam metode Convolutional Neural Network
(CNN).
Kemudian filter yang digunakan pada contoh kali ini adalah filter dengan
ukuran 2x2 dan stride 1, berikut filter yang digunakan:
1 0
[ ]
1 1
30
0,780,78 1 0 0,78 0
• Posisi Kesembilan : [ ]∗ [ ]= [ ] = 1,55
0,770,77 0 1 0 0,77
0,78 0,78 1 0 0,78 0
• Posisi Kesepuluh : [ ]∗ [ ]= [ ] = 1,54
0,77 0,76 0 1 0 0,76
0,78 0,78 1 0 0,78 0
• Posisi Kesebelas : [ ]∗ [ ]= [ ] = 1,54
0,76 0,76 0 1 0 0,76
0,78 0,78 1 0 0,78 0
• Posisi Kedua belas : [ ]∗ [ ]= [ ] = 1,54
0,76 0,76 0 1 0 0,76
0,77 0,77 1 0 0,77 0
• Posisi Ketiga belas : [ ]∗ [ ]= [ ] = 1,53
0,76 0,76 0 1 0 0,76
0,77 0,76 1 0 0,77 0
• Posisi Keempat Belas : [ ]∗ [ ]= [ ] = 1,52
0,76 0,75 0 1 0 0,75
0,76 0,76 1 0 0,76 0
• Posisi Kelima Belas : [ ]∗ [ ]= [ ] = 1,51
0,75 0,75 0 1 0 0,75
0,76 0,76 1 0 0,76 0
• Posisi Keenam Belas : [ ]∗ [ ]= [ ] = 1,51
0,75 0,75 0 1 0 0,75
Sehingga hasil yang didapatkan dari konvolusi layer dengan menggunakan input
gambar 5x5, padding 0, stride sebesar 1 dan filter(kernel) dengan ukurang 2x2 adalah
sebagai berikut.
1,6 1,6 1,6 1,59
1,58 1,58 1,58 1,58
[ ]
1,55 1,54 1,54 1,54
1,53 1,52 1,51 1,51
Kemudian output dari feature map akan digunakan sebagai data input tepatnya
pada Activation ReLU. ReLU digunakan untuk menghilanga data yang bernilai negatif.
31
(biasanya berukuran 2x2) dan kemudian mengambil nilai maximum atau paling tinggi.
berikut hasil max pooling dari contoh soal sebelumnya.
32
Setelah output dari proses flatten, selanjutnya adalah lapisan fully connected (FC)
atau lapisan yang seluruh neuronnya terhubung dengan seluruh neuron pada lapisan
sebelumnya. Lapisan FC pada arsitektur jaringan saraf konvolusi digunakan untuk
menggabungkan informasi dari lapisan-lapisan sebelumnya dan menghasilkan output
klasifikasi atau regresi.
Untuk mengilustrasikan cara kerja lapisan FC, mari gunakan contoh dengan input
flatten sebelumnya, yaitu:
[1,6 1,6 1,55 1,54]
Contohnya, jika terdapat lapisan FC dengan tiga neuron, perlu dihitung bobot
dan bias untuk setiap neuron agar menghasilkan keluaran yang tepat. Sebagai contoh,
bobot dan bias yang diperlukan untuk setiap neuron pada lapisan ini adalah sebagai
berikut:
neuron 1:
bobot: [0.1, 0.2, 0.3, 0.4]
bias: 0.5
neuron 2:
bobot: [0.4, 0.3, 0.2, 0.1]
bias: -0.2
neuron 3:
bobot: [-0.1, 0.1, -0.2, 0.2]
bias: 0.1
33
output = (1,6 x 0.4) + (1,6 x 0.3) + (1,55 x 0.2) + (1,54 x 0.1) + 0.2
= 1,8
neuron 3:
output = (1,6 x -0.1) + (1,6 x 0.1) + (1,55 x -0.2) + (1,54 x 0.2) + 0.1
= 0,9
Keluaran dari lapisan FC merupakan nilai dari setiap neuron pada lapisan tersebut,
yaitu 2,1 untuk neuron 1, 1,8 untuk neuron 2, dan 0,9 untuk neuron 3. Output ini dapat
dijadikan sebagai masukan untuk lapisan selanjutnya dalam arsitektur jaringan saraf
konvolusi, seperti lapisan aktivasi softmax yang bertujuan untuk menghasilkan output
klasifikasi.
9.4.5. Softmax
Lapisan aktivasi softmax pada jaringan saraf konvolusi digunakan untuk
menghasilkan probabilitas untuk setiap kelas pada output. Probabilitas ini digunakan
untuk memprediksi kelas pada gambar yang diinputkan ke dalam jaringan.
Sebagai contoh, apabila kita menggunakan output dari lapisan FC sebelumnya, seperti
yang telah disebutkan, yaitu:
[2,1 1,8 0,9]
Proses klasifikasi memerlukan aktivasi softmax untuk menghitung probabilitas
setiap kelas pada keluaran. Untuk mendapatkan probabilitas ini, keluaran harus
dimasukkan ke dalam fungsi eksponensial dan dibagi dengan jumlah dari seluruh nilai
eksponensial pada keluaran. Sebagai contoh, apabila terdapat tiga kelas, maka keluaran
dari lapisan aktivasi softmax dapat dihitung menggunakan persamaan seperti berikut:
probabilitas kelas 1 = e^2,1 / (e^2,1 + e^1,8 + e^0,9) ≈ 0,7592201865
probabilitas kelas 2 = e^1,8 / (e^2,1 + e^1,8 + e^0,9) ≈ 0,2120624511
probabilitas kelas 3 = e^0,9 / (e^2,1 + e^1,8 + e^0,9) ≈ 0,0287173624
34
Dalam kasus ini, kelas pertama memiliki probabilitas yang sangat tinggi, sehingga
gambar yang diinputkan ke dalam jaringan dapat diklasifikasikan sebagai kelas
pertama.
Bulan/Tahun
No. Kegiatan
Januari Februari Maret April Mei
1. Menentukan Topik
Identifikasi dan Perumusan
2.
Masalah
3. Menentukan Tujuan Penelitian
Menentukan Batasan dan
4.
Metodologi Penelitian
5. Melakukan Studi Pustaka
6. Pengumpulan Data
7. Preprocessing Data
8. Training CNN
35
36
DAFTAR PUSTAKA
37
38