Menyimpan, mengurutkan, dan mengolah kumpulan data — dari daftar produk toko online sampai data pelanggan UMKM — dengan dua struktur data paling dasar di Python.
RPS minggu 7 · 2x50 menit
Tujuan Pembelajaran Hari Ini
Setelah pertemuan ini, Anda diharapkan mampu menggunakan list dan tuple untuk menyimpan, mengakses, dan mengolah kumpulan data dalam program Python.
Capaian 1 — Konsep
[ ]
List Dasar
Membuat list, memahami sifatnya (ordered, mutable), lalu mengakses elemen lewat indexing dan slicing.
Capaian 2 — Perubahan
± x
Method & Operasi
Menggunakan append, insert, remove, pop, sort serta operasi gabung (+) dan ulang (*) pada list.
Capaian 3 — Tuple
( )
Struktur Tetap
Membedakan tuple immutable dari list, serta melakukan tuple unpacking.
Capaian 4 — Aplikasi
🛒
Studi Kasus
Menerapkan list & tuple pada kasus keranjang belanja dan data pelanggan UMKM.
Kenapa Butuh List? Bayangkan Struk Belanja
Sebuah keranjang belanja Tokopedia berisi 5 produk. Tanpa list, Anda harus membuat 5 variabel terpisah — merepotkan dan tidak bisa diproses dengan perulangan.
produk = ["Kaos", "Celana", "Sepatu", "Tas", "Topi"]
1 variabel, 5 nilai — bisa diulang, diurutkan, dihitung.
Inti list:satu variabel, banyak nilai, berurutan. Inilah struktur data yang akan Anda pakai di hampir setiap program bisnis digital — dari daftar produk sampai data transaksi.
Blok 1 dari 3
Mengenal List — Struktur Data Berurutan
Cara membuat list, karakteristiknya, lalu mengakses elemen tunggal lewat indexing dan sekumpulan elemen lewat slicing.
Apa Itu List?
Definisi: List adalah kumpulan nilai yang berurutan (ordered), ditulis dalam tanda kurung siku [ ], dipisah koma. Setiap nilai punya posisi (index) yang dimulai dari 0.
harga = [15000, 25000, 8000, 12000, 20000]
Sifat 1 & 2
Ordered — urutan elemen dijaga, tidak diacak
Mutable — isinya bisa diubah setelah dibuat
Sifat 3 & 4
Boleh duplikat — nilai sama boleh muncul berkali-kali
Boleh campur tipe — angka, teks, bahkan list lain
Mengakses Elemen: Indexing
Setiap elemen list punya index positif (dari kiri, mulai 0) dan index negatif (dari kanan, mulai -1).
produk[0] → "Kaos" | produk[-1] → "Tas"
Mengambil Sekumpulan Elemen: Slicing
Format: list[start:stop:step] — mulai dari start, berhenti sebelumstop (tidak termasuk), lompat sebanyak step.
produk[1:3]
index 1–2
["Celana", "Sepatu"]
produk[:2]
awal–index 1
["Kaos", "Celana"]
produk[::2]
step 2
["Kaos", "Sepatu"]
Awas miskonsepsi: nilai stoptidak pernah ikut disertakan. produk[1:3] mengambil index 1 dan 2 saja — bukan sampai index 3.
Hitung dari Nol — HDN-1: Indexing & Slicing Daftar Harga
Sebuah toko online punya daftar harga 5 produk: harga = [15000, 25000, 8000, 12000, 20000]. Telusuri hasil tiap operasi.
Langkah
Perhitungan
Nilai
harga[0]
index 0 = elemen pertama
15000
harga[-1]
index -1 = elemen terakhir (posisi ke-5)
20000
harga[1:3]
ambil index 1 s.d. 2 (stop=3 tak termasuk)
[25000, 8000]
harga[::2]
mulai index 0, lompat 2 → index 0, 2, 4
[15000, 8000, 20000]
len(harga)
hitung total elemen dalam list
5
Kesimpulan
5 produk
termurah 8000 · termahal 25000
Blok 2 dari 3
Mengubah Isi List — Mutability, Method & Operasi
List bisa diubah setelah dibuat. Pelajari method bawaan untuk menambah/menghapus/mengurutkan, serta operasi gabung dan ulang.
List Itu Mutable — Bisa Diubah
Berbeda dari string (Pertemuan 4) yang immutable, isi list bisa diganti langsung lewat index-nya tanpa membuat list baru.
harga[0] = 17000 # ubah elemen pertama
Sebelum
[15000, 25000, ...]
harga[0] = 15000
Sesudah
[17000, 25000, ...]
harga[0] = 17000 — list sama, isi berubah
List mutable = elemen tunggal bisa diganti tanpa membuat variabel baru. Sifat inilah yang akan berbeda total pada tuple (Blok 3).
Method Bawaan List yang Paling Sering Dipakai
Method
Fungsi
Contoh
append(x)
tambah 1 elemen di akhir
keranjang.append("Topi")
insert(i, x)
sisipkan elemen di posisi i
keranjang.insert(0, "Jaket")
remove(x)
hapus elemen pertama bernilai x
keranjang.remove("Topi")
pop(i)
hapus & kembalikan elemen di posisi i
keranjang.pop()
sort()
urutkan elemen (ascending)
harga.sort()
reverse()
balik urutan elemen
harga.reverse()
Semua method ini mengubah list aslinya langsung (efek dari mutable) — tidak mengembalikan list baru.
Operasi Gabung, Ulang, dan Pengecekan Isi
Gabung (+)
a + b menyambung dua list menjadi satu list baru.
["Kaos"]+["Tas"] → ["Kaos","Tas"]
Ulang (*)
[0] * 5 menduplikasi elemen sebanyak n kali.
[0]*3 → [0, 0, 0]
Cek Isi (in)
x in list mengembalikan True/False.
"Kaos" in produk → True
kuadrat = [x**2 for x in range(5)] → [0, 1, 4, 9, 16]
List comprehension — cara ringkas membuat list baru dari perulangan dalam satu baris.
Hitung dari Nol — HDN-2: Total & Rata-rata Belanja UMKM
Definisi tuple, perbedaannya dari list, cara unpacking, kapan sebaiknya dipakai, lalu studi kasus keranjang belanja lengkap.
Apa Itu Tuple?
Definisi: Tuple sama seperti list — kumpulan nilai berurutan — tapi ditulis dengan tanda kurung ( ) dan bersifat immutable (tidak bisa diubah setelah dibuat).
koordinat = (-6.9932, 110.4203) # lokasi Gedung FEB Undip
Sama dengan List
Ordered — urutan dijaga
Boleh duplikat & campur tipe
Beda dari List
Immutable — sekali dibuat, tak bisa diubah
Lebih cepat diproses Python
List vs Tuple — Perbandingan Langsung
Aspek
List
Tuple
Sintaks
[ ] kurung siku
( ) kurung biasa
Bisa diubah?
Ya — mutable
Tidak — immutable
Kecepatan proses
Sedikit lebih lambat
Sedikit lebih cepat
Kegunaan umum
Data yang berubah-ubah (keranjang belanja, antrean)
Data yang tetap (koordinat, warna RGB, tanggal lahir)
Aturan praktis: data akan bertambah/berubah selama program jalan → pakai list. Data sudah final dan tidak boleh berubah → pakai tuple.
Tuple Unpacking — Membongkar Isi Sekaligus
Python bisa memecah tuple langsung ke beberapa variabel sekaligus, dalam satu baris.
Python mencocokkan tiap posisi tuple dengan variabel di sisi kiri, berurutan kiri ke kanan: posisi 1↔1, 2↔2, 3↔3.
Tahap 2 — Hasil Assignment
nama = "Siti" · usia = 28 · divisi = "Marketing" — tiga variabel terisi dalam satu baris kode.
Jumlah variabel di kiri harus sama persis dengan jumlah elemen tuple, atau Python akan memunculkan error.
Coba Sendiri: Operasi List dan Tuple Unpacking
Klik append/insert/remove/pop/sort untuk melihat list berubah langsung, lalu coba tuple unpacking ke beberapa variabel sekaligus.
Kapan Sebaiknya Memakai Tuple?
Data Tetap
Koordinat GPS toko: (-6.99, 110.42)
Warna RGB brand: (255, 87, 34)
Struktur Rekaman
1 baris data pelanggan: (nama, kota, saldo)
Nilai kembalian fungsi (bisa >1 nilai sekaligus)
Prinsip umum: gunakan tuple untuk "paket data" yang identitasnya melekat pada urutannya dan tidak boleh berubah di tengah jalan — mengubahnya berarti data itu jadi rekaman yang berbeda.
Studi Kasus Indonesia: Keranjang Belanja Tokopedia
Setiap item keranjang = 1 tuple (nama, harga, qty) yang tetap; seluruh keranjang = 1 list yang bisa bertambah.
for nama, harga, qty in keranjang: subtotal = harga * qty
Struktur ini menjawab kebutuhan ganda: list untuk keranjang yang isinya boleh bertambah (checkout, hapus item), tuple untuk detail 1 item yang tidak boleh tercampur saat diproses.
Latihan Praktik: Kelola Data Toko Anda Sendiri
Kerjakan di editor Python Anda, simpan sebagai latihan_p7_nim.py, kumpulkan sesuai instruksi dosen.
Instruksi Tugas
Buat listproduk berisi 5 nama produk toko online pilihan Anda.
Buat listharga berisi 5 harga yang sesuai urutan produk.
Gunakan sort() pada salinan harga, lalu slicing untuk menampilkan 3 harga termurah.
Hitung total dan rata-rata harga dengan sum() dan len().
Buat tuplebiodata berisi (nama, NIM, program studi Anda), lalu lakukan unpacking ke 3 variabel dan cetak hasilnya.