Tugas 3 Praktikum Sains Data: Klasifikasi Gambar

Deadline: Rabu, 10 Juni 2026
Published

May 12, 2026

Kembali ke Sains Data

Petunjuk Umum

  1. Kerjakan secara individu.

  2. Kerjakan tugas ini menggunakan bahasa pemrograman Python dengan file format berupa interactive Python notebook (yaitu file berbentuk .ipynb BUKAN .py), yang bisa dibuat misalnya menggunakan Jupyter Notebook atau Google Colaboratory.

  3. Harap sertakan penjelasan untuk setiap proses secara singkat di samping potongan kode (bisa dengan teks / text box maupun dengan comment, ‘#’).

  4. Format nama file untuk Tugas 3 adalah:

    Nama Lengkap_NPM_Kelas SIAK_Tugas3PrakSaindat.ipynb

    Contoh penamaan yang benar:

    William Rowan Hamilton_2201234567_Kelas H_Tugas3PrakSaindat.ipynb

    Untuk mengumpulkan lebih dari satu file, gunakan .zip dengan format nama yang sama (dan file .ipynb yang di dalamnya juga masih menggunakan format nama yang sama).

  5. Apabila ada yang ingin direvisi setelah pengumpulan, lakukan pengumpulan ulang di Google Forms yang sama, tambahkan keterangan bahwa ada revisi, dan tambahkan kata “revisi” pada bagian akhir nama file, contohnya menjadi

    William Rowan Hamilton_2201234567_Kelas H_Tugas3PrakSaindat_revisi.ipynb (atau .zip)

    William Rowan Hamilton_2201234567_Kelas H_Tugas3PrakSaindat_revisi2.ipynb

    William Rowan Hamilton_2201234567_Kelas H_Tugas3PrakSaindat_revisi3.ipynb

    (tentunya gunakan .zip kalau ada lebih dari satu file yang ingin dikumpulkan)

    (Revisi boleh dilakukan berkali-kali selama masa pengerjaan.)

  6. Pengumpulan tugas dilakukan ke Google Forms berikut ini, sesuai dengan kelas Anda di SIAK NG :

  7. Gunakan module (python package) yang telah dipelajari di praktikum atau kelas. Anda diperbolehkan untuk menggunakan module (python package) lain dengan catatan bahwa Anda harus menuliskan penjelasan singkat mengenai module tersebut.

  8. Untuk setiap proses sains data (pembersihan data, transformasi data, EDA, dan pemodelan) yang dilakukan Anda diperlukan untuk menuliskan justifikasi-nya. Justifikasi yang dimaksud dapat berupa penjelasan singkat mengenai proses yang dilakukan, dan penjelasan mengenai alasan mengapa anda melakukan proses tersebut.

  9. Sesuai standar Universitas Indonesia, plagiarisme dilarang keras dan bisa menyebabkan nilai tugas praktikum menjadi nol untuk semua pihak yang terlibat, tanpa peringatan apapun. Namun, Anda boleh memanfaatkan kode apapun yang ada di modul praktikum.

  10. Narahubung:

    • Dimas (Wa : 0895611364100, Line : dimas.p.u)
    • Jason Kusuma (Line: jack550k)

Soal

Diberikan dataset berupa koleksi gambar wajah manusia yang telah dikurasi dan dikategorikan ke dalam dua kelas berdasarkan gender: laki-laki (man) dan perempuan (woman).

Dataset dapat di download melalui: https://drive.google.com/file/d/1TYxU3BKUXoHsRamamF5sPmGFN3XC-8Qg/view?usp=drive_link

Karakteristik Data:

Keseimbangan Kelas: Dataset ini tergolong seimbang (balanced), dengan perbedaan jumlah sampel antar kelas yang sangat kecil, sehingga cocok untuk pelatihan model Deep Learning tanpa memerlukan teknik oversampling atau undersampling yang berat.

Format: Gambar tersimpan dalam format standar (kemungkinan besar .jpg atau .png) di dalam folder masing-masing kelas.

Gunakan kode berikut untuk load gambar ke dalam python

Load Dataset

Tujuan Anda adalah membangun model klasifikasi untuk memprediksi kelas dari gambar-gambar yang diberikan. Lakukan end-to-end Deep Learning, atau lebih tepatnya end-to-end CNN Image Classification, yang meliputi:

  1. Langkah preprocessing yang sekiranya diperlukan.

  2. EDA: Lakukan eksplorasi data dengan membuat visualisasi dari sebagian gambar dan distribusi kelas

  3. Modelling: Buatlah kedua model ini:

    • Model CNN sederhana

    • Gunakan model berbasis transfer learning, seperti ResNet, VGGNet, EfficientNet, dsb., yaitu model yang sebelumnya sudah dilatih (pretrained) di dataset besar seperti ImageNet, lalu kalian adaptasikan untuk tugas klasifikasi data yang diberikan.

  4. Evaluasi model klasifikasi: Untuk kedua model klasifikasi yang telah Anda bangun, lakukan evaluasi dengan:

    • Menampilkan atau menghitung metrik evaluasi untuk klasifikasi (misalnya akurasi, precision, recall, F1-score, dsb).
    • Menampilkan grafik garis (line plot) yang membandingkan train accuracy vs validation accuracy selama proses pelatihan.
    • Berdasarkan hasil evaluasi tersebut, bandingkan performa kedua model dari sisi metrik evaluasi, jumlah total parameter, dan waktu komputasi (running time). Tentukan model mana yang menurut Anda paling baik secara keseluruhan, disertai dengan alasannya