Brief-nya
Toko Kita adalah toko online kecil di Indonesia yang menjual kopi, peralatan dapur, alat tulis, perlengkapan rumah, dan beberapa barang elektronik. Selama ini pemiliknya mengerjakan semuanya dengan tangan di spreadsheet. Kamu baru saja bergabung sebagai orang pertama yang bisa menulis kode, dan tim sudah punya daftar pendek pekerjaan untukmu.
Tidak satu pun pekerjaan ini butuh pandas atau database. Ini jenis pekerjaan Python sehari-hari yang ada di bawah proyek-proyek yang lebih besar: membersihkan apa yang diketik orang ke formulir, membaca file yang diekspor seseorang, mencatat stok, dan memastikan kode yang kamu tulis tetap bekerja setelah perubahan berikutnya. Setiap tugas memakai beberapa modul dari track Python sekaligus, jadi ini cara yang bagus untuk tahu bagian mana yang benar-benar sudah nempel.
Cara kerja tugas-tugasnya
Setiap tugas dicek otomatis, seperti soal-soal modul. Bedanya, instruksinya lebih mirip tiket dari rekan kerja daripada latihan di pelajaran: tiket memberi tahu apa yang harus dilakukan hasilnya, bukan cara menulisnya. Ada petunjuk kalau kamu buntu, tapi coba selesaikan setiap tugas tanpa membuka solusinya dulu.
Kamu bisa mengerjakan tugas dengan urutan apa pun dan menjalankan kodemu sesering yang kamu mau. Kalau salah satunya terasa jauh lebih sulit dari yang lain, tabel di bawah menunjukkan modul mana yang perlu kamu buka lagi.
Tugas-tugasnya
| # | Tugas | Keterampilan utama |
|---|---|---|
| 1 | Membersihkan dan memvalidasi pesanan mentah | Function, method string, memunculkan dan menangkap exception |
| 2 | Laporan kota dari file ekspor | Membaca CSV, dictionary, pengurutan, menulis JSON |
| 3 | Class untuk gudang | Class, method, property, exception buatan sendiri |
| 4 | Test yang menangkap bug | Menulis test sendiri |
Datanya
Tugas 2 memakai sales.csv, file ekspor pesanan toko dari Januari sampai Juni 2024. Setiap baris adalah satu baris pesanan (satu produk), jadi pesanan berisi tiga produk memakai tiga baris yang punya order_id yang sama. Kolom-kolomnya:
order_id, order_date, customer, city, segment, product, category, quantity, unit_price, revenue, channel, status
Seperti file ekspor sungguhan pada umumnya, ada beberapa bagian yang kasar. Semua nilainya datang sebagai teks, dan beberapa baris punya city yang kosong karena pelanggannya melewati kolom itu saat checkout. Tiketnya memberi tahu cara menangani keduanya.
Kalau sudah siap, buka Task 1.