Ujian Tengah Semester

Ujian Tengah Semester

Ujian Tengah Semester.

Ketentuan Umum

  • Sifat ujian: Take Home (dikerjakan di rumah).
  • Pengumpulan: pada perkuliahan minggu depan.
  • Alat: Google Colab.
  • Dataset: UTS-penerimaan-mahasiswa.csv (dibagikan dosen).
  • Cakupan materi: Pertemuan 01–07.

Berkas yang Dikumpulkan

  1. Notebook UTS_NamaLengkap_NIM.ipynb — berisi seluruh kode dan hasilnya.
  2. Laporan PDF UTS_NamaLengkap_NIM.pdf — hasil ekspor notebook (File → Print → Save as PDF).
Penting: Notebook wajib dikumpulkan dalam kondisi sudah dijalankan, sehingga seluruh output (angka dan grafik) terlihat. Notebook tanpa output dianggap belum dikerjakan.

Aturan Pengerjaan

  • Setiap jawaban harus disertai kode dan output hasil menjalankan kode.
  • Beri Text Cell sebagai penanda nomor soal (contoh: ## Soal B3).
  • Boleh membuka catatan dan modul praktikum.
  • Dikerjakan sendiri. Pekerjaan yang identik dengan mahasiswa lain akan diperiksa lebih lanjut.

Deskripsi Dataset

Dataset berisi data pendaftar mahasiswa baru lintas tahun (2021–2025). Data ini diambil dari sistem pendaftaran dan masih mentah — artinya mengandung berbagai masalah kualitas data seperti yang telah dipelajari.

Kolom yang tersedia:

Kolom Keterangan
id_pendaftar Nomor registrasi pendaftar
tanggal_daftar Tanggal mendaftar
tahun_masuk Tahun periode penerimaan
jenis_kelamin L / P
program_studi Program studi yang dipilih
fakultas Fakultas dari program studi tersebut
jalur_masuk Reguler / Beasiswa / Prestasi / Transfer
asal_sekolah Sekolah asal pendaftar
kelurahan Kelurahan tempat tinggal
kota Kota tempat tinggal
penghasilan_ortu_juta Penghasilan orang tua per bulan (juta rupiah)
nilai_ujian Nilai ujian masuk (skala 0–100)
status_seleksi Diterima / Tidak Diterima
ukt_juta Besaran UKT (juta rupiah)

---

BAGIAN A - Persiapan dan Pembersihan Data

Bagian ini menguji kemampuan menyiapkan data mentah menjadi data siap olah. Kerjakan Bagian A lebih dahulu, karena seluruh jawaban Bagian B menggunakan data hasil pembersihan di sini.

Soal A1 - Memuat Data (bobot 5)

Unggah dataset ke Google Colab, baca menggunakan Pandas, lalu tampilkan:

  1. 5 baris pertama.
  2. Jumlah baris dan kolom (shape).
  3. Informasi tipe data tiap kolom (info()).

Soal A2 - Diagnosis Masalah Data (bobot 10)

Tampilkan dan sebutkan hasilnya:

  1. Jumlah nilai kosong pada setiap kolom.
  2. Jumlah baris duplikat.
  3. Daftar nilai unik pada kolom jenis_kelamin. Apa yang tidak konsisten di sana?
  4. Periksa kolom nilai_ujian: apakah semua nilainya berada pada rentang wajar 0–100? Tampilkan jumlah baris yang di luar rentang tersebut.

Soal A3 - Standardisasi Teks (bobot 10)

Seragamkan penulisan teks pada kolom berikut sehingga tidak ada lagi variasi huruf besar/kecil maupun spasi berlebih:

  1. program_studi, kelurahan, dan jalur_masuk → format Title Case (contoh: Teknik Informatika).
  2. jenis_kelamin → hanya boleh berisi L atau P (nilai seperti laki-laki, Perempuan, atau " p " harus diseragamkan).

Buktikan hasilnya dengan menampilkan nilai unik tiap kolom tersebut.

Soal A4 - Menangani Nilai Kosong dan Tidak Valid (bobot 15)

Terapkan ketentuan berikut, lalu jelaskan singkat di Text Cell mengapa tiap kolom ditangani dengan cara tersebut:

Kolom Ketentuan
program_studi Baris yang kosongdibuang
nilai_ujian Nilai kosongdibuang; nilai di luar rentang 0–100 juga dibuang
penghasilan_ortu_juta Nilai kosongdiisi dengan median kolom tersebut
ukt_juta Nilai kosongdiisi dengan median kolom tersebut
kelurahan Nilai kosongdiisi dengan teks "Tidak Diketahui"

Soal A5 - Duplikat dan Tipe Data (bobot 10)

  1. Hapus seluruh baris duplikat.
  2. Ubah kolom tanggal_daftar menjadi tipe datetime (perhatikan: format tanggal pada data tidak seragam).
  3. Tampilkan bukti data sudah bersih: jumlah nilai kosong = 0, jumlah duplikat = 0, dan shape akhir.
  4. Simpan hasil bersih ke file penerimaan_bersih.csv.

---

BAGIAN B - Pengolahan Data

Seluruh soal Bagian B menggunakan data hasil pembersihan Bagian A. Setiap jawaban wajib menampilkan kode dan outputnya.

Soal B1 - Agregasi Dasar (bobot 10)

Tampilkan:

  1. Jumlah pendaftar per tahun masuk.
  2. Jumlah pendaftar per program studi, diurutkan dari terbanyak.
  3. Jumlah pendaftar per jenis kelamin.

Soal B2 - Penyaringan Data (bobot 10)

Tampilkan data (dan jumlah barisnya) untuk:

  1. Pendaftar dari program studi Teknik Informatika yang memilih jalur Beasiswa dan memiliki nilai_ujian di atas 80.
  2. Pendaftar dengan penghasilan_ortu_juta antara 5 dan 10 (gunakan between).
  3. Pendaftar yang berasal dari kelurahan Ciledug atau Bintaro (gunakan isin).

Soal B3 - Pengurutan (bobot 5)

  1. Tampilkan 10 pendaftar dengan nilai_ujian tertinggi (tampilkan kolom: id_pendaftar, program_studi, nilai_ujian).
  2. Urutkan data berdasarkan program_studi (A→Z), lalu nilai_ujian (tertinggi→terendah).

Soal B4 - Pengelompokan Lanjutan (bobot 15)

  1. Hitung rata-rata nilai_ujian per program studi, urutkan dari tertinggi.
  2. Hitung rata-rata penghasilan_ortu_juta per jalur masuk.
  3. Hitung rata-rata ukt_juta per fakultas.
  4. Buat tabel silang (pivot_table) yang menampilkan jumlah pendaftar dengan baris tahun_masuk dan kolom jenis_kelamin.
  5. Hitung jumlah pendaftar berstatus Diterima per tahun.

Soal B5 - Visualisasi (bobot 10)

Buat tiga grafik. Setiap grafik wajib memiliki judul dan label sumbu yang jelas.

  1. Bar Chart — jumlah pendaftar per program studi.
  2. Line Chart — jumlah pendaftar per tahun (2021–2025).
  3. Pie Chart — proporsi pendaftar berdasarkan jenis_kelamin.

---

Bobot Penilaian

Bagian Soal Bobot
A A1 Memuat Data 5
A A2 Diagnosis Masalah 10
A A3 Standardisasi Teks 10
A A4 Nilai Kosong & Tidak Valid 15
A A5 Duplikat & Tipe Data 10
B B1 Agregasi Dasar 10
B B2 Penyaringan Data 10
B B3 Pengurutan 5
B B4 Pengelompokan Lanjutan 15
B B5 Visualisasi 10
Total 100

Kriteria Penilaian Tiap Soal

Kriteria Porsi
Kode berjalan tanpa error 40%
Hasil/output benar 40%
Kerapian (nama variabel jelas, ada penanda soal, grafik berlabel) 20%

Pengurangan Nilai

Pelanggaran Sanksi
Notebook dikumpulkan tanpa output (belum dijalankan) Nilai bagian terkait 0
Bagian B dikerjakan memakai data yangbelum dibersihkan Nilai Bagian B dipotong 50%
Terlambat mengumpulkan Sesuai kebijakan kelas