Brief-nya
Toko Kita adalah toko online kecil di Indonesia yang menjual kopi, peralatan dapur, alat tulis, perlengkapan rumah, dan beberapa barang elektronik. Setiap Senin pemiliknya menanyakan hal yang sama: berapa yang terjual, produk mana yang paling laku, dan bagaimana perbandingan aplikasi dengan website? Setiap Senin juga ada orang yang membuka file ekspor, membuat pivot table, lalu menempelkan screenshot ke grup chat.
Kamu akan menggantinya dengan aplikasi Streamlit yang bisa dibuka seluruh tim di browser. Kamu membangunnya dalam tiga langkah, dan setiap tugas adalah satu langkah: pertama angka-angka utama, lalu filternya, lalu bagian-bagian yang membuatnya nyaman dipakai setiap hari (loader yang cepat dan cara membawa angkanya pulang sebagai file). Di tugas terakhir, kamu punya sesuatu yang benar-benar bisa di-deploy.
Cara kerja tugas-tugasnya
Setiap tugas dicek otomatis, seperti soal-soal modul. Pengecek menjalankan aplikasimu seperti cara Streamlit menjalankannya, dari atas ke bawah, lalu mengklik dan mengetik di widget-widget-mu dan menjalankannya lagi, jadi label di tiket harus sama persis. Label dan teks ditulis dalam bahasa Inggris persis seperti di tiket. Tiketnya menyebut apa yang harus ditampilkan halaman, bukan cara menyusun kodemu. Ada petunjuk kalau kamu buntu, tapi coba setiap tugas tanpa membuka solusinya dulu.
Tugas-tugasnya
| # | Tugas | Keterampilan utama |
|---|---|---|
| 1 | Angka-angka utama | st.title, st.columns, st.metric, pandas di dalam aplikasi |
| 2 | Filter di sidebar | st.sidebar, multiselect, radio, tampilan saat kosong |
| 3 | Cepat dan bisa diunduh | st.cache_data, selectbox, st.download_button |
Datanya
Ketiga tugas memakai sales.csv, file ekspor pesanan 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
channel bernilai app atau web, dan status bernilai completed, shipped, pending, atau cancelled. Hanya baris completed yang dihitung sebagai penjualan di dashboard ini. Uang ditampilkan dengan gaya Indonesia, memakai titik di antara ribuan: Rp 11.836.000. Di Python, f"Rp {n:,}".replace(",", ".") melakukannya.
Kalau sudah siap, buka Task 1.