Ahmad Osman
Ini adalah portofolio yang mengembangkan sistem berbasis web sederhana untuk mengidentifikasi jenis sampah (plastik, kertas, atau kaca) berdasarkan foto yang diunggah1. Sistem ini diharapkan dapat meningkatkan kecepatan, efektivitas, dan efisiensi dalam pengelolaan sampah2. Dataset yang digunakan berasal dari Kaggle, dengan fokus pada tiga jenis sampah tersebut3. Data tersebut diproses dan diekstraksi menggunakan Google Colab4. Pengolahan data melibatkan tampilan contoh gambar dari setiap kelas sampah 5, diikuti dengan pelatihan model menggunakan computer vision6. Model kemudian dievaluasi dengan membagi data menjadi set pelatihan dan pengujian, melatihnya menggunakan neural network dengan 20 epoch, dan menguji model menggunakan data pengujian7. Hasil evaluasi meliputi akurasi dan kerugian model8. Terakhir, visualisasi web dibuat menggunakan Gradio, memungkinkan pengguna untuk mengunggah gambar dan memprediksi kelasnya9.
Portofolio ini berfokus pada pengembangan sistem klasifikasi sampah berbasis web yang dirancang untuk mengidentifikasi sampah plastik, kertas, atau kaca secara cepat dan akurat1. Tujuan utamanya adalah untuk meningkatkan kecepatan, efektivitas, dan efisiensi dalam pengelolaan sampah2.
Pengembangan sistem ini dimulai dengan pra-pemrosesan data3. Dataset yang digunakan diperoleh dari Kaggle.com (
https://www.kaggle.com/datasets/asdasdasasdas/garbage-classification), namun hanya tiga jenis sampah yang relevan untuk proyek ini—plastik, kertas, dan gelas/kaca—yang diambil4. Data yang diperoleh ini kemudian disimpan di Google Drive dan dihubungkan dengan Google Colab untuk ekstraksi file zip5. Proses ini ditunjukkan melalui cuplikan kode yang mengimpor
zipfile, mendefinisikan path file zip dan folder tujuan ekstraksi, serta menjalankan perintah unzip6.
Selanjutnya, pengolahan data dilakukan7. Langkah awal melibatkan penggunaan prompt "show example of image in grid for each class" untuk memverifikasi kemampuan portofolio dalam menampilkan contoh gambar dari dataset untuk setiap kelas8. Hal ini ditunjukkan dengan tampilan gambar contoh untuk "glass" dan "paper"9. Setelah itu, data diproses lebih lanjut menggunakan prompt "read image dataset for each folder then train using computer vision then store in X and Y"10. Proses ini melibatkan pelatihan menggunakan computer vision dan penyimpanan data dalam variabel X dan Y, diikuti dengan detail model sequential yang digunakan, termasuk lapisan-lapisan seperti
conv2d dan max_pooling2d serta jumlah parameter yang dapat dilatih11. Output dari proses ini juga menunjukkan bentuk data pelatihan dan pengujian serta data pelatihan dan pengujian label12.
Evaluasi model dilakukan dengan menjalankan machine learning menggunakan prompt "split data into train and test data, train using neural network, then test model using test data, using tuning parameter with epoch = 20"13. Hasil evaluasi ini mencakup laporan klasifikasi yang menampilkan presisi, recall, f1-score, dan support untuk setiap kelas, serta akurasi, makro rata-rata, dan rata-rata berbobot14. Visualisasi lebih lanjut mengenai kinerja model disajikan melalui grafik "Model Accuracy" dan "Model Loss", yang menunjukkan bagaimana akurasi pelatihan dan validasi serta kerugian pelatihan dan validasi berubah selama 20 epoch15.
Terakhir, sistem divisualisasikan melalui tampilan web HTML menggunakan prompt "create web visualization with image input to predict class using gradio"16. Kode ini mendefinisikan fungsi
predict_image_class untuk melakukan prediksi dengan model yang telah dilatih, termasuk langkah-langkah pra-pemrosesan gambar seperti pengubahan ukuran dan normalisasi17. Antarmuka Gradio dibuat untuk memungkinkan pengguna mengunggah gambar dan mendapatkan prediksi kelasnya18. Tampilan HTML menunjukkan antarmuka pengguna dengan area "Drop Image Here" atau "Click to Upload" dan bidang output untuk hasil prediksi, serta tombol "Clear" dan "Submit"19. Contoh penggunaan antarmuka ini juga ditunjukkan dengan pengunggahan gambar botol plastik, meskipun ada indikasi "Error" pada output20.