Anda di halaman 1dari 42

LAPORAN AKHIR

STUDI INDEPENDEN BERSERTIFIKAT


Artificial Intelligence Mastery Program
Di Orbit Future Academy

Diajukan untuk memenuhi persyaratan kelulusan


Program MSIB MBKM

oleh :
Ayano Rumeen / 20021103013

TEKNIK ELEKTRO
UNIVERSITAS SAM RATULANGI
2023
Lembar Pengesahan Teknik Elektro / Universitas Sam Ratulangi

PEMBUATAN APLIKASI BERBASIS AI UNTUK KLASIFIKASI


SAMPAH MENGGUNAKAN CNN TRANSFER LEARNING

Di Orbit Future Academy

oleh :

Ayano Rumeen / 20021103013

disetujui dan disahkan sebagai


Laporan Magang atau Studi Independen Bersertifikat Kampus Merdeka

Kota Manado, 12 Juni 2023


Teknik Elektro / Universitas Sam Ratulangi

Glanny M. Ch. Mangindaan, ST., MT.,Ph.D.


NIP. 197403272002121002

i
Lembar Pengesahan

JUDUL PROJECT MAGANG / PEMBELAJARAN STUDI INDEPENDEN

Di Orbit Future Academy

oleh :

Ayano Rumeen / 20021103013

disetujui dan disahkan sebagai


Laporan Magang atau Studi Independen Bersertifikat Kampus Merdeka

Jakarta, 12 Juni 2023


Homeroom Coach

Eko Purbo Wahyono S.Tr.T., M.Tr.T


NIP. 2201069

ii
Abstrak

Orbit future academy merupakan salah satu perusahaan yang didirikan dengan
tujuan untuk meningkatkan kualitas hidup melalui inovasi, pendidikan, dan
pelatihan keterampilan. Pelaksaan program MSIB menghasilkan sebuah inovasi
Proyek Akhir yang berfokus untuk memanfaatkan CNN Transfer Learning untuk
klasifikasi sampah. Kegiatan MSIB di Orbit Future Academy sangat
memperhatikan untuk kualitas dan kuantitas dari materi pembelajaran yang mudah
diterima oleh peserta serta layak untuk diimplementasikan dalam berbagai bidang
mahasiswa.
Kata Kunci : Inovasi, Pendidikan, CNN Transfer Learning, Kualitas, Klasifikasi,
Sampah

iii
Kata Pengantar
Puja dan puji syukur saya panjatkan kepada Tuhan Yang Maha Esa yang
telah memberikan berkat serta tuntunannya. Sehingga saya dapat menyelesaikan
Proyek Akhir ( PA ) yang berjudul “ PEMBUATAN APLIKASI BERBASIS AI
UNTUK KLASIFIKASI SAMPAH MENGGUNAKAN CNN TRANSFER
LEARNING ” dengan baik tanpa ada halangan yang berarti.

Proyek Akhir ini telah saya selesaikan dengan maksimal berkat kerjasama
dan bantuan dari berbagai pihak. Oleh karena itu saya sampaikan banyak terima
kasih kepada segenap pihak yang telah berkontribusi secara maksimal dalam
penyelesaian makalah ini. Diluar itu, saya sebagai manusia biasa menyadari
sepenuhnya bahwa masih banyak kekurangan, baik dari segi tata bahasa, susunan
kalimat maupun isi. Oleh sebab itu dengan segala kerendahan hati, saya selaku
penyusun menerima segala kritik dan saran yang membangun.

Demikian yang bisa saya sampaikan, semoga Proyek Akhir ini dapat
menambah khazanah ilmu pengetahuan dan memberikan manfaat nyata untuk
masyarakat luas.

Manado, 12 Juni 2023


Peserta Program,

Ayano Rumeen
NIM. 20021103013

iv
Daftar Isi

Bab I Pendahuluan 1

I.1 Latar belakang 1

I.2 Lingkup 1

I.3 Tujuan 1

Bab II Orbit Future Academy 1

II.1 Struktur Organisasi 1

II.2 Lingkup Pekerjaan 2

II.3 Deskripsi Pekerjaan 3

II.4 Jadwal Kerja 4

Bab III <Judul BAB sesuai dengan judul Project Akhir (PA)> 1

III.1 Latar Belakang Proyek Akhir 1

III.2 Usulan Metode Error! Bookmark not defined.

III.3 Hasil dan Pembahasan Proyek Akhir 2

Bab IV Penutup 2

IV.1 Kesimpulan 5

IV.2 Saran 5

Bab V Referensi vii

Bab VI Lampiran A. TOR 1

Bab VII Lampiran B. Log Activity 1

Bab VIII Lampiran C. Dokumen Teknik 1

v
Daftar Tabel

Tabel 2.1 Agenda Kelas 4

vi
Daftar Gambar

Gambar 2.1 Logo Orbit Future Academy 1

Gambar 2.2 Struktur Organisasi OFA 2

vii
Bab I Pendahuluan

I.1 Latar belakang


Kegiatan Studi Independen Berserikat di Orbit Future Academy sendiri
diselenggarakan pada periode 16 Februari 2022 hingga 30 Juni 2023 (selama 1
semester) secara daring melalui aplikasi video conference.
Proyek akhir ini akan menggunakan domain AI berupa CNN Transfer Learning.
Convolutional Nerual Network (CNN) memiliki kemampuan untuk mendeteksi dan
mengenali objek dalam sebuah citra. Selain itu, Transfer learning merupakan
teknik deep learning yang menggunakan model yang dilatihkan pada satu masalah
untuk memecahkan masalah yang lain. Pembelajaran transfer memungkinkan
pelatihan pembelajaran mendalam dengan sejumlah kecil sampel dengan akurasi
tinggi.

I.2 Lingkup
Lingkup project yang menjadi object MSIB kali ini berfokus pada lingkup di
bidang pendidikan masyarakat dari berbagai kalangan umum. Bidang pendidikan
merupakan bidang yang sangat penting untuk dapat memberikan banyak sekali
informasi seputar wawasan untuk klasifikasi sampah dengan pemanfaatan CNN
Transfer Learning di dalamnya. Dalam penyelesaian project akhir ini terdapat
beberapa pembagian jobdesck/lingkup pengerjaan masing-masing anggota
kelompok, seperti : Ketua ( Data Acquistion ), AI Engineer, FrontEnd & Backend,
dan Fullstack Developer
I.3 Tujuan
Tujuan/Hasil dari mengikuti MSIB selama ini sangat mempengaruhi kualitas
pemahaman pribadi mahasiswa dalam mempelajari bidang AI( Artificial
Intelegency ). Output dari Proyek Akhir yang telah disusun ini akan berfokus pada
klasifikasi 12 sampah yang ada di keidupan masyarakat. Tentunya, dapat
dimanfaatkan oleh masyarakat di berbagai bidang untuk aktivitas sehari-hari.

1
Bab II Orbit Future Academy

II.1 Struktur Organisasi

Gambar 2.1 Logo Orbit Future Academy

Orbit Future Academy (OFA) didirikan pada tahun 2016 dengan tujuan untuk
meningkatkan kualitas hidup melalui inovasi, edukasi, dan pelatihan keterampilan.
Label atau brand Orbit merupakan kelanjutan dari warisan mendiang Prof. Dr. Ing.
B. J. Habibie (presiden Republik Indonesia ke-3) dan istrinya, Dr. Hasri Ainun
Habibie. Mereka berdua telah menjadi penggerak dalam mendukung perkembangan
inovasi dan teknologi pendidikan di Indonesia. OFA mengkurasi dan melokalkan
program/kursus internasional untuk upskilling atau reskilling pemuda dan tenaga
kerja menuju pekerjaan masa depan. Hal ini sesuai dengan slogan OFA, yakni
“Skills-for-Future-Jobs”.

Visi:
Memberikan pembelajaran berbasis keterampilan transformatif terbaik untuk para
pencari kerja & pencipta lapangan kerja.

Misi:
1. Membangun jaringan Orbit Transformation Center (OTC) secara nasional
untuk menyampaikan kurikulum keterampilan masa depan berbasis
sertifikasi melalui Platform Konten Digital.

1
2

2. Secara proaktif bekerja dengan pemerintah & organisasi dengan mengubah


tenaga kerja mereka agar sesuai dengan perubahan pekerjaan yang terjadi
karena Industri 4.0.
3. Melatih pemuda dengan keterampilan kewirausahaan & mencocokkan
mereka dengan peluang masa depan yang muncul di berbagai industri.
4. Menghubungkan jaringan inkubator dan akselerator yang dikurasi ke
industri, investor, dan ekosistem start-up global.

Struktur organisasi OFA dapat dilihat pada Gambar 2.2.

Gambar 2.2 Struktur Organisasi OFA

II.2 Lingkup Pekerjaan


Seorang fasilitator akan mendampingi kurang lebih 25 peserta MSIB (mahasiswa)
dalam satu kelas. Terdapat dua jenis fasilitator, yakni:
a. Homeroom Coach
Homeroom coach bertugas menyampaikan materi tentang dasar-dasar AI,
memberikan penilaian pada peserta dan membimbing peserta saat
pengerjaan Proyek Akhir (PA).
3

b. Domain Coach
Domain coach bertugas menyampaikan materi tentang domain AI dan
memberikan penilaian pada peserta.

Lingkup pekerjaan peserta adalah mengikuti kelas bersama homeroom coach atau
domain coach dan mengerjakan semua assessment yang diberikan sesuai agenda
kelas hingga program selesai.

II.3 Deskripsi Pekerjaan


Berikut adalah deskripsi pekerjaan peserta sebelum pengerjaan PA:
a. Mengikuti pre-test.
b. Mengikuti pembelajaran sesi AI Fundmental secara daring pada pukul 09.00
hingga 10.40 WIB untuk kelas pagi dan pukul 13.30 hingga 15.10 WIB
untuk kelas siang.
c. Mengikuti pembelajaran sesi AI Domain secara daring pada pukul 09.00
hingga 11.30 WIB untuk kelas pagi dan pukul 13.30 hingga 15.00 WIB
untuk kelas siang.
d. Mengerjakan latihan maupun hands-on secara individu atau kelompok yang
diberikan oleh homeroom coach atau domain coach saat kelas berlangsung.
e. Mengerjakan tugas belajar terstruktur yang diberikan homeroom atau
domain coach hingga batas waktu tertentu.
f. Mengerjakan student activity dan quiz yang diberikan homeroom coach atau
domain coach hingga batas waktu tertentu.
g. Mengikuti ujian teori dan praktik.

Mahasiswa memiliki peran < Ketua Tim > selama pengerjaan PA, dengan deskripsi
pekerjaan sebagai berikut:
a. Mengkoordinasikan, Mengorganisasikan dan bertanggungjawab terhadap
selurh timeline kegiatan kelompok.
b. Melakukan Scraping Data dan mencari sumber data yang dibutuhkan
c. Mengidentifikasi datset yang diperlukan untuk menguji model AI
4

II.4 Jadwal Kerja


Program ini berlangsung setiap hari kerja (Senin sampai dengan Jumat),
dengan rincian sebagai berikut:

Tabel 2.1 Agenda Kelas Sesi AI Fundamental


Pukul (WIB) Durasi (Menit) Aktivitas
09.00 s.d. 10.40 100 Kelas Pagi
13.30 s.d. 15.10 100 Kelas Siang

Tabel 2.2 Agenda Kelas Sesi AI Domain


Pukul (WIB) Durasi (Menit) Aktivitas
09.00 s.d. 11.30 150 Kelas Pagi
13.30 s.d. 15.00 90 Kelas Siang

Program ini berlangsung dari bulan Februari 2023 sampai dengan bulan Juni 2023
(20 minggu).
Bab III PEMBUATAN APLIKASI BERBASIS AI UNTUK
KLASIFIKASI SAMPAH MENGGUNAKAN CNN TRANSFER
LEARNING

III.1 Latar Belakang Proyek Akhir


AI dapat bertindak sebagai pendukung pada 134 target (79%) di semua SDG,
umumnya melalui peningkatan teknologi, yang memungkinkan untuk mengatasi
keterbatasan saat ini. Pemanfaatan kecerdasan buatan (AI) dalam pemrosesan dan
analisis data telah menjadi tren yang signifikan dalam berbagai bidang, termasuk
pengelolaan limbah. Masalah sampah menjadi isu global yang membutuhkan solusi
inovatif untuk mengurangi dampaknya terhadap lingkungan. Dalam konteks ini,
penggunaan teknik pembelajaran mesin seperti Convolutional Neural Network
(CNN) dan transfer learning dapat membantu mengidentifikasi dan
mengklasifikasikan jenis sampah secara otomatis.
III.2 Usulan Metode
Masalah pengelolaan sampah adalah isu yang mendesak dalam konteks
lingkungan global saat ini. Dalam upaya untuk mengatasi masalah ini,
pengklasifikasian sampah menjadi tugas yang sangat penting. Namun,
pengklasifikasian manual membutuhkan waktu dan sumber daya manusia yang
besar, dan seringkali tidak efisien atau akurat. Oleh karena itu, diperlukan
pendekatan otomatis yang dapat mengklasifikasikan sampah dengan cepat dan
akurat. Tim Jatayu 3 telah menyelesaikan pembuatan aplikasi untuk klasifikasi
sampah dengan menggunakan CNN Transfer Learning. Pengerjaan aplikasi atau
moodel AI ini telah sampai pada akhir proses. Penyelesaian Proyek Akhir diawali
dengan menganalisa masalah yang sedang terjadi di lingkup masyarakat. Adanya
inovasi aplikasi ini sebagai bentuk solusi penyelesaian dari masalah klasifikasi
sampah yang sedang sering terjadi. Sumber data yang dijadikan sebagai acuan pada
proses penyelesaian proyek adalah Kaggle, di mana jumlah data yang digunakan
sebesar 15515. Selan itu, rincian proyek akhir ini terdiri dari : Modelling berupa
Tensorflow Keras model DenseNet12 dengan deploymentnya berupa Website.

1
2

Pada penyelesaian proyek akhir ini, kami menghadapi berbagai hambatan secara
teknis maupun personal anggota. Ketidakcocokan jadwal setiap anggota tim
menjadi salah satu hambatan yang sering kami hadapi sebelumnya. Namun, hal itu
bisa diatasi dengan memperdalam komunikasi antara anggota tim untuk lebih sadar
terhadap tanggung jawab masing-masing.

III.3 Hasil dan Pembahasan Proyek Akhir


Pemisahan jenis sampah merupakan langkah awal yang sangat penting
dalam proses daur ulang. Dengan menerapkan metode ini, sistem pemilahan
sampah dapat berjalan secara otomatis. Dalam penelitian ini, kami melakukan
evaluasi terhadap beberapa model CNN (Convolutional Neural Network) untuk
menentukan model yang memiliki performa terbaik dalam memilah sampah
menggunakan metode transfer learning. Grafik dibawah ini menunjukkan hasil dari
pelatihan (training) model menggunakan metrik loss dan categorical accuracy.
Terdapat dua kurva pada grafik, yaitu kurva loss dan kurva categorical accuracy,
yang menggambarkan perubahan performa model selama pelatihan.

Gambar 3 1 Grafik Akurasi Model MobileNetV2

Kurva Loss (Loss Curve): Kurva loss menggambarkan perubahan nilai loss
(kerugian) model pada setiap epoch selama pelatihan. Fungsi loss digunakan untuk
mengukur sejauh mana model memprediksi dengan akurat terhadap data yang
3

diberikan. Pada grafik tersebut, nilai loss pada akhir pelatihan adalah 0.1089 untuk
data pelatihan (training) dan 0.1715 untuk data validasi (validation). Semakin
rendah nilai loss, semakin baik model dalam melakukan prediksi yang akurat.
Kurva Categorical Accuracy: Kurva categorical accuracy menggambarkan
perubahan nilai akurasi kategori model pada setiap epoch selama pelatihan. Akurasi
kategori mengukur sejauh mana model mampu memprediksi dengan benar dalam
kategori yang spesifik. Pada grafik tersebut, nilai categorical accuracy pada akhir
pelatihan adalah 0.9717 untuk data pelatihan dan 0.9453 untuk data validasi.
Semakin tinggi nilai categorical accuracy, semakin baik model dalam memprediksi
dengan benar dalam kategori yang spesifik.
Berdasarkan grafik tersebut, dapat disimpulkan bahwa model memiliki
performa yang sangat baik dalam pelatihan. Nilai loss yang rendah dan nilai
categorical accuracy yang tinggi menunjukkan bahwa model mampu melakukan
prediksi dengan akurasi yang tinggi. Model memiliki tingkat akurasi kategori
sekitar 97.17% pada data pelatihan dan 94.53% pada data validasi.
Kelebihan dan kelemahan aplikasi atau model AI yang telah dikembangkan
a) Kelebihan dari aplikasi dengan model AI yang telah dibuat
1. Memiliki tingkat akurasi yang tinggi Arsitektur MobileNet V2 dengan
akurasi sebesar 0.93.
2. Mudah untuk digunakan oleh pengguna
3. Memiliki tampilan web aplikasi yang menarik
b) Kekurangan dari aplikasi dengan model AI yang telah dibuat yaitu adanya
keterbatasan dalam mengenali jenis-jenis sampah yang tidak tergolong pada
dataset.
4

from keras.models import Sequential


from keras.layers import Conv2D, MaxPooling2D, Dropout,
Flatten, Dense, Activation, BatchNormalization
import keras.applications.mobilenet_v2 as mobilenetv2

mobilenetv2_layer = mobilenetv2.MobileNetV2(include_top =
False, input_shape = (IMAGE_WIDTH,
IMAGE_HEIGHT,IMAGE_CHANNELS),
weights = 'imagenet')

# We don't want to train the imported weights


mobilenetv2_layer.trainable = False

model = Sequential()
model.add(keras.Input(shape=(IMAGE_WIDTH, IMAGE_HEIGHT,
IMAGE_CHANNELS)))

#create a custom layer to apply the preprocessing


def mobilenetv2_preprocessing(img):
return mobilenetv2.preprocess_input(img)

model.add(Lambda(mobilenetv2_preprocessing))

model.add(mobilenetv2_layer)
model.add(tf.keras.layers.GlobalAveragePooling2D())
model.add(Dense(len(categories), activation='softmax'))

model.compile(loss='categorical_crossentropy',
optimizer='adam', metrics=['categorical_accuracy'])

model.summary()

Dengan menggunakan kode di atas, kita dapat membuat model CNN dengan
menggunakan MobileNetV2 sebagai bagian dari model tersebut. Model ini
kemudian dapat digunakan untuk melakukan klasifikasi gambar berdasarkan
jenis sampah dalam implementasi sistem klasifikasi sampah.
5

Bab IV Penutup

IV.1 Kesimpulan

 Pelaksanaan MSIB di Orbit Future Academy sangatlah menarik dan


bermanfaat untuk menambah wawasan seputar pembelajaran pemrograman
 Penyelesaian Proyek Akhir ini sangat melatih kompetensi mahasiswa untuk
mendapatkan kualitas dan kuantitas pengetahuan baik secara personal
maupun tim
 Implementasi proyek akhir berupa klasifikasi sampah dengan menggunakan
CNN Transfer Learning akan sangat bermanfaat untuk masyarakat dalam
berbagai sektor nantinya

IV.2 Saran

 Diperlukan jam pembelajaran yang lebih mudah dan tidak terlalu padat di
setiap harinya untuk semakin menarik minat mahasiswa dalam mempelajari
program MSIB dari rbit Future Academy
 Diperlukan kerja sama tim yang kuat untuk dapat meningkatkan solidaritas
dalam penyelasaian proyek akhir nantinya
Bab V Referensi

[1] R. Vinuesa, H. Azizpour, I. Leite, M. Balaam, V. Dignum, S. Domisch, A.


Felländer, S. D. Langhans, M. Tegmark and F. F. Nerini, “The role of artificial
intelligence in achieving the Sustainable Development Goals,” NATURE
COMMUNICATIONS, pp. 1-10, 2020.

vii
Bab VI Lampiran A. TOR

TERM OF REFERENCE (TOR)


STUDI INDEPENDEN BERSERTIFIKAT
ARTIFICIAL INTELLIGENCE MASTERY PROGRAM
DI ORBIT FUTURE ACADEMY

A. Rincian Program
Artificial Intelligence Mastery Program adalah program pelatihan Artificial
Intelligence (AI) daring yang bertujuan untuk memperdalam teknologi dan
perangkat AI kepada mahasiswa, sehingga diharapkan mereka dapat
mengembangkan produk AI yang memiliki dampak sosial. Program ini
berfokus pada komponen utama AI, seperti Data Science (DS), Natural
Language Processing (NLP), Computer Vision (CV), dan Reinforcement
Learning (RL) hingga tahapan Deployment (DEP). Selain keterampilan AI,
mahasiswa juga mendapat life skills yang bermanfaat untuk mencari atau
menciptakan lapangan kerja.

B. Tujuan Program
Tujuan yang diharapkan setelah peserta mengikuti program ini adalah:
1. Memiliki wawasan tentang AI dan perkembangannya.
2. Mampu merancang dan mengimplementasikan AI Project Cycle.
3. Mampu menggunakan bahasa pemrograman Python untuk mengembangkan
aplikasi AI.
4. Mampu mengembangkan salah satu dari 4 domain AI (DS, NLP, CV, RL)
hingga tahap deployment.
5. Mampu menggunakan soft skills dan hard skills dalam dunia industri dan
lingkungan perusahaan.
6. Mampu mengaplikasikan kiat-kiat yang dibutuhkan seorang wirausahawan
yang bergerak di bidang start-up dalam mentransformasikan ide ke dalam

A-1
2

bentuk produk/jasa sehingga dapat menciptakan peluang bisnis yang terus


berinovasi, berevolusi, dan berkelanjutan.

C. Jadwal dan Tempat Pelaksanaan


Jadwal pelaksanaan Sesi AI Fundamental tertera dalam tabel berikut:
Pukul (WIB) Durasi (Menit) Aktivitas
09.00 s.d. 10.40 100 Kelas Pagi
13.30 s.d. 15.10 100 Kelas Siang

Sedangkan jadwal pelaksanaan Sesi AI Domain tertera dalam tabel berikut:


Pukul (WIB) Durasi (Menit) Aktivitas
09.00 s.d. 11.30 150 Kelas Pagi
13.30 s.d. 15.00 90 Kelas Siang

Kelas diselenggarakan secara daring melalui aplikasi video conference yang


berlangsung dari bulan Februari 2023 sampai dengan bulan Juni 2023 (20
minggu).

D. Peserta
Peserta program ini adalah mahasiswa yang berasal dari Perguruan Tinggi di
bawah Kementerian Pendidikan, Kebudayaan, Riset, dan Teknologi Republik
Indonesia.

E. Uraian Tugas Peserta


Selama mengikuti program ini, peserta diharuskan:
1. Mengikuti program dari awal hingga selesai.
2. Mematuhi aturan program.
3. Mematuhi aturan kelas yang dibuat bersama oleh peserta dengan homeroom
coach atau domain coach.
4. Mengikuti kelas daring secara aktif dengan presensi minimal 85%.
5. Mengerjakan tugas belajar terstruktur, quiz, dan student activity yang
diberikan homeroom coach atau domain coach.
6. Membuat laporan harian dan mingguan di website Kampus Merdeka.
3

7. Mengikuti ujian teori dan ujian praktik.


8. Menyelesaikan Proyek Akhir (PA) dengan luaran wajib sesuai jenis PA
yang dipilih beserta naskah laporannya.

Kota Manado, 12 Juni 2023


Homeroom Coach, Peserta Program,

Eko Purbo Wahyono S.Tr.T., M.Tr.T Ayano Rumeen


NIP. 2201069 NIM. 20021103013
Bab VII Lampiran B. Log Activity

Minggu/Tgl Kegiatan Hasil


Pertama/08- Checkpoint untuk finalisasi ide proyek Perumusan Hipotesis &
12 Mei 2023 Pengolahan Data
Kedua/15 – Checkpoint untuk Pemodelan dan Pengembangan Model AI
19 Me 2023 Pengembangan Model AI dan Penulisan Draft
Akhir
Ketiga/22 – Checkpoint untuk Evaluasi Model AI Evaluasi Model AI dan
26 Mei 2023 Evaluasi Draft Akhir
Sementara
Keempat/29 Check Point untuk Penulisan Artikel Validasi Penulisan
– 31 Mei Ilmiah Artikel Ilmiah dan Draft
2023 Laporan Akhir

B-1
Bab VIII Lampiran C. Dokumen Teknik

1. Profil Tim dan Deskripsi Pembagian Tugas


Ketua (Data Acquisition) : ADEL
- Mengkoordinasikan, mengorganisasikan dan bertanggung jawab terhadap
seluruh timeline kegiatan kelompok. Memastikan proyek akhir selesai pada
tanggal yang ditentukan.
- Melakukan Scraping Data dan mencari sumber data yang dibutuhkan.
- Mengidentifikasi dan mengumpulkan dataset yang diperlukan untuk melatih
dan menguji model AI.

AI Engineer : STEVEN
- Membuat Proses Machine Learning
- Membangun model dan mengevaluasi model
- Mengklasifikasi sebuah gambar dan mendeteksi objek secara realtime
- Testing model
- Melakukan validasi dan evaluasi model AI menggunakan metrik yang relevan,
seperti akurasi, presisi, recall, atau metrik spesifik domain.
- Melakukan hyperparameter tuning pada best model dan pengaruhnya pada
performa model /

FrontEnd & Backend = GALIH


- Membuat desain dan membuat halaman User Interface Aplikasi (ui/ux)
- Menghubungkan Algortima Machine Learning ke dalam Aplikasi.
- Mengintegrasikan model AI yang telah dilatih ke dalam aplikasi berbasis AI.
- Melakukan Deployment menggunakan Flask.

Fullstack Developer : GEORGINA & AYANO


- Merancang dan membangun konsep aplikasi berbasis teknologi AI
- Mengidentifikasi Algoritma dan Model Machine Learning yang cocok untuk
tujuan Aplikasi.

C-1
2

- Memilih dan mengimplementasikan algoritma AI yang tepat, serta melakukan


tuning parameter model untuk mencapai performa yang optimal.
- Mengidentifikasi dan menangani permasalahan seperti overfitting atau
underfitting, serta melakukan tuning model untuk meningkatkan performa.

2. AI Project Cycle
a. Problem Scoping (4W)
a) What (Apa)
Permasalahan yang ingin diatasi adalah kurangnya efisiensi dalam pemilahan
dan pengelolaan sampah. Jika dari awal sampah tidak dipisahkan sesuai
jenisnya, ini akan memperumit pengelolaan sampah kedepannya. Sayangnya,
ini adalah masalah yang sering kita hadapi. Tujuan utama adalah menciptakan
sebuah aplikasi yang dapat mengklasifikasikan dan memilah sampah
berdasarkan jenisnya dengan akurasi tinggi.
b) Who (Siapa)
Aplikasi ini ditujukan untuk dapat digunakan oleh masyarakat umum, termasuk
individu, keluarga, komunitas, dan lembaga pengelolaan sampah. Selain itu,
perusahaan dan pemerintah juga dapat menggunakan aplikasi ini sebagai alat
untuk meningkatkan efisiensi pengelolaan sampah di tingkat industri dan
perkotaan.
c) Where (Dimana)
Aplikasi ini dapat digunakan di berbagai lokasi, baik di perkotaan maupun di
pedesaan. Pemilahan dan pengelolaan sampah menjadi perhatian global,
sehingga aplikasi ini dapat diterapkan di berbagai negara dan wilayah.
d) Why (Mengapa)
Proses pemilahan sampah secara manual memerlukan waktu dan tenaga yang
cukup banyak. Maka, dengan menggunakan aplikasi yang dapat
mengklasifikasikan dan memilah sampah, proses ini dapat dilakukan dengan
lebih cepat dan efisien, menghemat waktu dan upaya yang diperlukan. Salah
satu tujuan utama dari pemilahan sampah adalah untuk mendaur ulang sampah
yang dapat didaur ulang. Dengan aplikasi yang dapat mengenali jenis sampah
3

dengan akurat, proses daur ulang dapat menjadi lebih efektif dan efisien,
mengurangi pemborosan sumber daya dan dampak negatif pada lingkungan.
Dengan adanya proyek ini secara tidak langsung juga dapat berkontribusi dalam
program SDGs di Indonesia.

b. Data Acquisition
a) Identifikasi Data yang Dibutuhkan
Pada tahap ini, perlu mengidentifikasi jenis data yang dibutuhkan untuk
mengklasifikasikan dan memilah sampah. Hal ini meliputi data gambar atau
citra sampah yang mencakup berbagai jenis dan kategori sampah yang akan
diklasifikasikan.
b) Sumber Data
Sumber data yang digunakan berasal dari open source dataset yaitu Kaggle yang
terdiri dari 12 kelas klasifikasi sampah.
c) Preprocessing Data
Setelah data dikumpulkan, tahap preprocessing dilakukan untuk memastikan
kualitas dan kebersihan data. Ini melibatkan pembersihan data dari noise,
penghapusan data yang tidak relevan atau duplikat, serta normalisasi atau
pengubahan format data agar konsisten dan dapat digunakan dengan baik dalam
proses selanjutnya.

c. Data Exploration
Data Exploration merupakan salah satu siklus proyek dalam kecerdasan buatan
yang melibatkan eksplorasi dan analisis dataset yang ada sebelum memulai
sebuah tahapan pemrosesan sebuah model. Ada beberapa tahapan pada bagian
ini yang dibuat yaitu :

1) Import Library dan Package yang akan digunakan


Library dan Package seperti : numpy, pandas, matplotlib, seaborn,
tensoflow.keras, import re (regular expression).
4

2) Memahami Struktur Data


Di tahapan ini struktur dataset dan identifikasi atribut yang akan digunakan
seperti atribut numeric, kategorikal, dan lainnya. Membuat definisi konstanta
dan variable yang terkait dengan pemrosesan gambar dalam proyek klasifikasi
sampah, setelah itu lakukan indeks kelas dan label kelas yang sesuai pada
categories, setelah membuat indeks kelas dan label kelas maka dibuat variable
path ke direktori utama dataset tersedia yang akan digunakan untuk mengakses
data gambar dan proyek.
3) Statistik Deskriptif Atribut
- Atribut Variabel base_path = digunakan untuk mengakses dataset gambar
dalam proyek
- Atribut Variabel categories = digunakan untuk menyimpan hubungan antara
indeks kelas dengan label kelas yang sesuai. Setiap indeks kelas terhubung
dengan label yang mewakili jenis sampah tertentu.
- Atribut Variabel df (DataFrame) = Variabel yang menyatakan sebuah
function.
- Atribut len(df) = Menyatakan seluruh jumlah dataset pada element yang
akan digunakan yaitu berjumlah 15515 total dataset.
- Atribut df_visualization = yaitu metode visualisasi data yang memuat
sebuah grafik yang mewakili data yang ada dalam DataFrame.
5

4) Visualisasi Data

Visualisasi data dalam DataFrame tersebut menggunakan plot bar untuk


menggambarkan jumlah gambar untuk setiap kelas sampah. Plot ini membantu
dalam memvisualisasikan distribusi data dan memperoleh pemahaman yang
lebih baik tentang jumlah gambar yang tersedia untuk setiap kelas.

Informasi tentang jumlah gambar dalam setiap folder dataset sampah. Hal ini
dapat memberikan pemhaman tentang distribusi gambar dalam dataset dan
6

memastikan bahwa dataset terdistribusi secara merata antara kelas sampah.

Kode tersebut berfungsi untuk memilih escara acak satu baris (sampel) dari
datafram ‘df’, kemudian memuat dan menampilkan gambar yang sesuai dengan
sampel teresbut, hal ini berguna untuk melihat contoh gambar dari dataset yang
digunakan dalam proyek AI.

d. Modelling
Modelling merupakan tahap dalam siklus proyek AI dimana model Machine
Learning yang dibangun dan dilatih menggunakan data yang telah dipersiapkan
sebelumnya. Tujuan dari tahap ini adalah untuk mengembangkan model yang
dapat mempelajari pola dan hubungan dari data yang ada, sehingga dapat
digunakan untuk melakukan prediksi atau mengambil keputusan. Berikut
adalah langkah-langkah dalam pembuatan tahap Modelling pada klasifikasi
sampah :
1) Pemilihan Arsitektur Model :
Arsitektur yang digunakan yaitu MobileNetV2.
Arsitektur MobileNetV2 adalah arsitektur jaringan saraf konvolusi
(convolutional neural network, CNN) yang dikembangkan khusus untuk
aplikasi mobile dan perangkat dengan sumber daya terbatas, Arsitektur
7

MobileNetV2 sangat cocok dengan dataset dan proyek yang diambil yaitu
Klasifikasi Objek.
Kelebihan Arsitektur MobileNetV2 :
- Ringan dan Efisien: MobileNetV2 dirancang dengan tujuan untuk
memiliki ukuran yang kecil dan mengonsumsi sedikit sumber daya
komputasi
- Kecepatan Inferensi Tinggi, model ini dapat dengan cepat melakukan
prediksi pada gambar atau data input, sehingga cocok untuk aplikasi
real-time atau waktu nyata.
- Akurasi yang Dapat Diterima, MobileNetV2 memprioritaskan
kecepatan dan efisiensi, arsitektur ini tetap memberikan tingkat akurasi
yang tinggi dalam tugas klasifikasi gambar.
- Skalabilitas: Arsitektur MobileNetV2 dapat dengan mudah diubah
ukurannya untuk memenuhi kebutuhan dan keterbatasan perangkat
yang berbeda.
- Transfer Learning: MobileNetV2 sering digunakan sebagai basis untuk
transfer learning. Dengan menggunakan model MobileNetV2 sebagai
dasar, kita dapat dengan mudah melatih ulang (fine-tuning) model pada
dataset klasifikasi khusus dengan data yang terbatas. Ini memungkinkan
pengembangan model yang lebih cepat dan efisien.
Dalam keseluruhan, MobileNetV2 merupakan arsitektur yang sangat cocok
untuk implementasi pada dataset dan proyek yang mengenai klasifikasi
objek. Kelebihan-kelebihan yang dimiliki MobileNetV2 memungkinkan
pengembangan model machine learning yang efisien, cepat, dan memiliki
akurasi yang dapat diterima.
2) Pembagian Data :
Data yang telah dipersiapkan dalam tahap Data Acquisition dibagi menjadi dua
subset: data pelatihan (training data) dan data pengujian (testing data).
8

Data pelatihan digunakan untuk melatih model, sementara data pengujian


digunakan untuk mengevaluasi kinerja model secara objektif.
3) Pembentukan Model MobileNetV2 :
Pada langkah ini, model machine learning dibangun berdasarkan algoritma
yang telah dipilih. Ini melibatkan pengaturan parameter model, jumlah lapisan
dalam Neural Networks. Model juga dapat memiliki struktur yang kompleks
dengan beberapa tahap atau lapisan tergantung pada jenis algoritma yang
digunakan.

Output tersebut adalah ringkasan informasi mengenai arsitektur model yang


telah dibuat. Berikut adalah penjelasan untuk setiap bagian output yang disebut
train generator tersebut :
- Model: "sequential": Nama model yang telah diberikan yaitu
"sequential".
9

- Layer (type): Jenis layer yang terdapat dalam model. Pada output ini
terdapat dua jenis layer yaitu Lambda (Lambda layer) dan
mobilenetv2_1.00_224 (Functional layer).

- Output Shape: Bentuk output dari setiap layer dalam model. Pada
output ini, layer Lambda memiliki output shape (None, 320, 320, 3),
yang artinya memiliki dimensi input yang sama dengan model. Layer
mobilenetv2_1.00_224 memiliki output shape (None, 10, 10, 1280),
yang menunjukkan bahwa setelah melalui layer ini, dimensi output
menjadi (None, 10, 10, 1280).
- Param #: Jumlah parameter yang digunakan oleh setiap layer dalam
model. Jumlah parameter mencerminkan kompleksitas model. Pada
output ini, layer mobilenetv2_1.00_224 memiliki 2,257,984 parameter,
sementara layer Dense memiliki 15,372 parameter.
- Total params: Total jumlah parameter dalam model, termasuk
parameter yang dapat dilatih (trainable) dan parameter yang tidak
dapat dilatih (non-trainable).
- Trainable params: Jumlah parameter yang dapat dilatih dalam model.
Pada output ini, terdapat 15,372 parameter yang dapat dilatih.
- Non-trainable params: Jumlah parameter yang tidak dapat dilatih
dalam model. Pada output ini, terdapat 2,257,984 parameter yang tidak
dapat dilatih.
- Output tersebut memberikan informasi penting tentang arsitektur
model, termasuk jumlah parameter dan dimensi output dari setiap layer.
Hal ini membantu dalam memahami kompleksitas dan konfigurasi
model yang telah dibuat.

4) Pelatihan Model : Model yang telah dibentuk sebelumnya kemudian dilatih


menggunakan data pelatihan. Ini melibatkan data pelatihan ke model dan
memperbarui parameter model agar sesuai dengan pola yang ada dalam data.
10

Tujuan dari pelatihan adalah untuk mengoptimalkan model agar dapat membuat
prediksi yang akurat.

Dalam Training tersebut digunakan : 20 Epocs untuk training pada model.fit


kemudian menghasilkan loss : 0.15, dan val_loss : 0.18, kemudian
categorical_accuracy : 0.94 dan val_accuracy : 0.94
11

e. Evaluation

Metrik evaluasi yang digunakan untuk mengukur kinerja model dalam tugas
klasifikasi sampah yaitu Precision, Recall, F1-Score, Support.
- Precision: Precision mengukur sejauh mana prediksi positif yang dibuat
oleh model benar. Precision dihitung dengan membagi jumlah prediksi
positif yang benar (true positive) dengan jumlah total prediksi positif
yang dilakukan oleh model (true positive + false positive). Precision
menggambarkan tingkat ketepatan atau akurasi dari prediksi positif.
Nilai precision yang tinggi menunjukkan bahwa model cenderung
membuat sedikit kesalahan dalam mengklasifikasikan sampel sebagai
positif ketika sebenarnya negatif.
Misalnya, precision untuk kelas "battery" adalah 0.96, yang berarti
96% dari prediksi yang diklasifikasikan sebagai "battery" adalah
benar.
12

- Recall: Recall, juga dikenal sebagai sensitivity atau true positive rate,
mengukur sejauh mana model mampu mendeteksi secara benar semua
sampel positif. Recall dihitung dengan membagi jumlah prediksi positif
yang benar (true positive) dengan jumlah total sampel positif yang
sebenarnya (true positive + false negative). Recall menggambarkan
kemampuan model dalam mengidentifikasi secara komprehensif sampel
positif.
Nilai recall yang tinggi menunjukkan bahwa model memiliki
kemampuan yang baik dalam mengidentifikasi dan mengklasifikasikan
sampel positif.
Misalnya, recall untuk kelas "biological" adalah 0.98, yang berarti 98%
dari sampel positif yang sebenarnya telah berhasil diidentifikasi oleh
model.
- F1-score: F1-score adalah ukuran rata-rata harmonik antara precision
dan recall. F1-score memberikan keseimbangan antara precision dan
recall dan berguna saat terdapat ketidakseimbangan antara kelas
positif dan negatif dalam data. F1-score dihitung sebagai dua kali
perkalian antara precision dan recall, kemudian dibagi dengan jumlah
precision dan recall (2 * precision * recall / (precision + recall)).
Nilai F1-score yang tinggi menunjukkan bahwa model memiliki
performa yang baik dalam mempertahankan keseimbangan antara
akurasi dan kemampuan mendeteksi sampel positif.
Misalnya, F1-score untuk kelas "clothes" adalah 0.99, yang
menunjukkan performa yang sangat baik dalam mengklasifikasikan
sampel "clothes".
- Support: Support mengacu pada jumlah kemunculan setiap kelas dalam
data pengujian. Ini adalah jumlah sampel yang sesuai dengan setiap
kelas.
Misalnya, kelas "clothes" memiliki support sebanyak 500, yang berarti
terdapat 500 sampel "clothes" dalam data pengujian.
13

Selain itu, juga terdapat informasi mengenai akurasi keseluruhan (accuracy)


dari model, yang mencerminkan tingkat keberhasilan model dalam
mengklasifikasikan semua kelas secara benar. Pada contoh tersebut, akurasi
model adalah 0.95, yang berarti model berhasil mengklasifikasikan 95% sampel
dengan benar.
Dalam macro avg dan weighted avg, terdapat rata-rata dari metrik-metrik di
seluruh kelas. Macro avg menghitung rata-rata metrik secara independen untuk
setiap kelas, sedangkan weighted avg memberikan bobot yang seimbang
berdasarkan support (jumlah sampel) masing-masing kelas.
Output ini memberikan gambaran tentang kinerja model dalam
mengklasifikasikan setiap kelas secara individu dan secara keseluruhan.

f. Deployment
Model yang telah dibuat dalam implementasi kecerdasan buatan pada sistem
klasifikasi sampah dengan CNN akan di-deploy dalam bentuk aplikasi
berbasis website. Berikut tahapan proses deployment aplikasi berbasis web:
a) Proses deployment dimulai dengan merancang antarmuka pengguna
(UI/UX) website dengan mencari referensi-referensi desain yang baik
sehingga pengguna dapat dengan mudah menggunakannya dan
memahaminya.
b) Tahap selanjutnya yaitu proses pengembangan website menggunakan
tiga bahasa pemrograman yaitu HTML, JS, dan CSS. Proses ini
bertujuan untuk membangun website yang dapat memfasilitasi
pengguna untuk mengklasifikasikan berbagai jenis sampah.
c) Setelah itu, dilakukan pembuatan back-end dan integrasi menggunakan
Flask. Proses ini bertujuan agar website dapat berjalan secara lokal di
server/komputer user.

3. Deskripsi Aplikasi
14

a. Nama dan Fungsi Aplikasi

Gambar 4.3.1 Logo Aplikasi Recyclegence

Aplikasi yang kami buat yaitu "Recyclegence" yang merupakan kombinasi


dari kata "recycle" (daur ulang) dan "intelligence" (kecerdasan). Nama ini
mencerminkan konsep atau gagasan tentang kecerdasan buatan guna memilah
dan mengklasifikasikan jenis sampah untuk dapat daur ulang sebagai elemen
kunci dalam menghadapi tantangan lingkungan saat ini.
Adapun cara kerja aplikasi Recyclegence mulai dari input hingga
menghasilkan output sebagai berikut:
1. Pemilihan dan Input Sampah:
a. Pengguna membuka aplikasi Recyclegence melalui browser web.
b. Pengguna akan melihat antarmuka pengguna yang ramah dan
intuitif.
c. Pengguna memilih opsi dapat menggunakan fitur unggah gambar
ataupun melalui kamera secara realtime untuk memasukkan jenis
sampah yang ingin diklasifikasikan, misalnya botol plastik, kertas,
logam, atau jenis sampah lainnya.
2. Pengenalan Gambar atau Deskripsi:
a. Jika pengguna memilih opsi untuk memasukkan gambar sampah,
aplikasi Recyclegence akan mengaktifkan kamera pada perangkat
pengguna.
15

b. Pengguna mengambil gambar sampah yang ingin diklasifikasikan


dan mengunggahnya ke aplikasi.
3. Basis Data Sampah:
a. Saat ini aplikasi Recyclegence ini memiliki basis data yang cukup
tentang jenis-jenis sampah yang terdapat 12 kelas jenis sampah yang
meliputi: kertas, logam, plastik, baterai, makanan biologis, botol
kaca coklat, kardus, pakaian, botol kaca hijau, sepatu, sampah, botol
kaca putih.
b. Algoritma aplikasi akan membandingkan analisis input dengan data
yang ada dalam basis data sampah untuk menemukan kesamaan atau
kemiripan.
4. Output dan Rekomendasi:
a. Berdasarkan analisis dan perbandingan dengan basis data sampah,
aplikasi Recyclegence akan menghasilkan output tentang jenis
sampah yang diberikan oleh pengguna.
b. Output dapat berupa klasifikasi jenis sampah, seperti "plastik, kertas
karton, botol, metal, dsb.
5. Pengembangan dan Peningkatan:
a. Aplikasi Recyclegence dapat terus diperbarui dan ditingkatkan
dengan memperluas basis data sampah, meningkatkan algoritma
analisis, dan menambah fitur baru untuk meningkatkan akurasi
klasifikasi dan memberikan informasi yang lebih lengkap kepada
pengguna.
Dengan memanfaatkan teknologi seperti pengenalan aplikasi ini membantu
pengguna dalam memilah dan mengklasifikasikan jenis sampah, serta
memberikan rekomendasi yang berguna untuk pengelolaan sampah yang lebih
baik

b. Jenis Aplikasi dan Specific Requirement


Recyclegence adalah sebuah aplikasi berbasis web aplikasi yang dapat
diakses melalui browser web di perangkat yang terhubung dengan internet.
16

Pengguna dapat mengakses Recyclegence melalui berbagai perangkat


seperti komputer, laptop, smartphone, atau tablet. Aplikasi ini tidak
memerlukan instalasi khusus di perangkat pengguna, karena dapat diakses
langsung melalui URL yang dituju.

c. User Interface
Fitur-fitur yang ada dalam aplikasi Recyclegence, seperti pemrosesan
pengenalan gambar, klasifikasi, dan informasi tambahan, dirancang untuk
memberikan pengalaman yang baik kepada pengguna. Adapun antarmuka
UI yang ramah pengguna, tata letak yang intuitif, dan informasi yang jelas
membantu pengguna memahami dan menggunakan aplikasi dengan mudah.
Antarmuka pada aplikasi tersebut terdiri dari beberapa halaman, seperti
berikut:
1. Beranda
Halaman beranda ini merupakan tampilan pertama saat pengguna
membuka aplikasi Recyclegence. Pada halaman ini, pengguna akan
disambut dengan judul dan slogan yang menarik tentang aplikasi.
Terdapat juga ilustrasi yang relevan dengan pemilahan dan pengelolaan
sampah. Fitur-fitur utama aplikasi seperti "Mulai Sekarang" atau "Cara
Penggunaan" juga dapat ditemukan di halaman ini.
17

Gambar 4.3.2 Halaman Beranda

2. Tentang Recyclegence
Halaman "Tentang Recyclegence" memberikan informasi detail
tentang aplikasi dan tujuannya. Terdapat deskripsi tentang bagaimana
Recyclegence dapat membantu pengguna dalam pemilahan dan
pengklasifikasian sampah. Halaman ini juga dapat menjelaskan
algoritma dan teknologi yang digunakan untuk mengenali jenis sampah,
serta manfaat penggunaan aplikasi ini.
`

Gambar 4.3.3 Halaman Tentang Recyclegence

3. Aplikasi Recyclegence
Pada halaman aplikasi inilah tempat pengguna melakukan proses
pemilahan dan pengklasifikasian jenis sampah. Terdapat bagian input
yang memungkinkan pengguna memilih jenis sampah atau
18

mengunggah gambar sampah yang ingin diklasifikasikan. Fitur-fitur


pemrosesan gambar atau pemrosesan teks akan menganalisis input
pengguna dan menghasilkan output tentang jenis sampah yang
diberikan. Selain itu juga terdapat nformasi tambahan tentang
pengolahan yang tepat, daur ulang, atau pembuangan juga dapat
ditampilkan di halaman ini.

Gambar 4.3.4 Halaman Aplikasi

4. Informasi Tim Pengembang


Pada halaman ini memberikan penjelasan tentang tim yang terlibat
dalam pengembangan Recyclegence. Terdapat foto dan nama anggota
tim pengembang beserta deskripsi singkat. Pengguna juga dapat
melihat kontak tim pengembang untuk memberikan umpan balik atau
bertanya tentang aplikasi.
19

Gambar 4.3.5 Halaman Tim Pengembang

User Interface dari Recyclegence didesain agar mudah digunakan, dengan


antarmuka yang intuitif dan ramah pengguna. Fitur-fiturnya dirancang untuk
memudahkan pengguna dalam memasukkan input sampah, melakukan
pemrosesan, mendapatkan hasil klasifikasi, dan mendapatkan informasi
tambahan yang berguna untuk pengelolaan sampah yang lebih baik.

Anda mungkin juga menyukai