Bab 22: Python Fundamentals
- Konsep dasar pemrograman Python: Variabel, penamaan, dan deklarasi otomatis.
- Tipe data primer: Integer, Float, String, dan Boolean.
- Struktur Kontrol: Percabangan (`if-elif-else`) dan Perulangan (`for` & `while`).
- Struktur Data: List (indeks basis-0), Dictionary (kunci-nilai), dan pembuatan Fungsi (`def`).
Kenapa Python, dan Kenapa di Tahap Ini
Sesuai yang sudah dijelaskan pada Pembuka Handbook ini, Python sengaja ditempatkan sebagai tahap terakhir dalam progresi pembelajaran program ini, setelah Spreadsheet dan SQL. Python adalah bahasa pemrograman yang sangat populer dalam dunia data karena sintaksnya yang relatif mudah dibaca dan dipahami dibanding banyak bahasa pemrograman lain, serta memiliki ekosistem library (kumpulan kode siap pakai) yang sangat luas untuk kebutuhan analisis data, yang akan mulai kamu pelajari pada Bab 23 dan 24.
Berbeda dengan Spreadsheet yang bekerja secara visual dan SQL yang meskipun berbasis teks namun sangat spesifik untuk kebutuhan mengambil data, Python adalah bahasa pemrograman serba guna (general purpose), yang berarti kamu memiliki kebebasan jauh lebih besar untuk mengotomasi berbagai proses, menggabungkan data dari berbagai sumber, hingga melakukan analisis yang lebih kompleks yang sulit dicapai hanya dengan Spreadsheet maupun SQL saja.
Variabel: Menyimpan Nilai untuk Dipakai Kembali
Konsep paling dasar dalam pemrograman apa pun, termasuk Python, adalah variabel, yaitu sebuah nama yang dipakai untuk menyimpan sebuah nilai, sehingga nilai tersebut bisa dipanggil dan dipakai kembali di bagian kode lain tanpa perlu menuliskan ulang nilainya secara manual. Kamu bisa membayangkan variabel seperti sebuah kotak dengan label nama tertentu, di mana kamu bisa menyimpan sesuatu di dalamnya dan mengambilnya kembali kapan saja dibutuhkan.
Sebagai ilustrasi paling dasar, untuk menyimpan nama sebuah toko dalam sebuah variabel di Python, kamu menuliskan nama_toko = "Belanjain". Perhatikan tanda sama dengan (=) di sini berfungsi berbeda dari matematika biasa, dalam konteks pemrograman, tanda ini berarti "menyimpan nilai di sisi kanan ke dalam variabel di sisi kiri", bukan berarti kedua sisi tersebut setara secara matematis. Setelah variabel nama_toko ini dibuat, kamu bisa memanggilnya kembali kapan saja, misalnya menampilkannya menggunakan print(nama_toko), yang akan menampilkan teks "Belanjain" pada layar.
Tipe Data Dasar dalam Python
Sama seperti Spreadsheet yang memiliki tipe data seperti angka, teks, tanggal, dan logika (sesuai yang sudah dipelajari di Bab 4), Python juga memiliki tipe data dasar yang perlu dipahami. Integer (disingkat int) adalah tipe data untuk bilangan bulat, misalnya jumlah_pesanan = 150. Float adalah tipe data untuk bilangan desimal, misalnya harga_produk = 99500.50. String adalah tipe data untuk teks, yang selalu ditulis dalam tanda kutip, baik kutip satu maupun kutip dua, misalnya nama_pelanggan = "Budi Santoso". Boolean adalah tipe data yang hanya memiliki dua kemungkinan nilai, True atau False, misalnya sudah_bayar = True, mirip dengan konsep boolean pada Spreadsheet yang sudah dipelajari di Bab 4.
Python bersifat cukup fleksibel dalam mengenali tipe data ini secara otomatis, kamu tidak perlu secara eksplisit menyatakan tipe data sebuah variabel seperti pada beberapa bahasa pemrograman lain, Python akan menentukannya sendiri berdasarkan nilai yang kamu masukkan. Namun kamu tetap perlu memahami tipe data ini dengan baik, karena operasi tertentu hanya bisa dilakukan pada tipe data yang sesuai, misalnya kamu tidak bisa langsung menjumlahkan sebuah string dengan integer tanpa melakukan konversi tipe data terlebih dahulu, sebuah kesalahan yang cukup sering ditemui pemula ketika pertama kali belajar Python.
Struktur Kontrol: Percabangan dengan if-else
Percabangan (conditional) memungkinkan kode Python menjalankan blok instruksi berbeda tergantung apakah suatu kondisi terpenuhi atau tidak, sebuah konsep yang setara dengan fungsi IF yang sudah dipelajari pada Spreadsheet di Bab 6, maupun CASE WHEN yang sudah dipelajari pada SQL di Bab 11. Struktur dasarnya menggunakan kata kunci if, elif (singkatan dari "else if"), dan else.
Sebagai ilustrasi dalam konteks Belanjain, bayangkan kamu ingin mengelompokkan sebuah transaksi ke dalam kategori "Kecil", "Sedang", atau "Besar" berdasarkan nilainya, mirip dengan contoh yang sudah dibahas pada Bab 6 dan Bab 11, namun kali ini ditulis dalam Python:
nilai_transaksi = 350000
if nilai_transaksi < 100000:
kategori = "Kecil"
elif nilai_transaksi <= 500000:
kategori = "Sedang"
else:
kategori = "Besar"
print(kategori)
Perhatikan penggunaan indentasi (spasi di awal baris) pada kode di atas, yang bukan sekadar kebiasaan menulis rapi, melainkan bagian penting dari sintaks Python itu sendiri. Berbeda dengan banyak bahasa pemrograman lain yang menggunakan tanda kurung kurawal untuk menandai blok kode, Python menggunakan indentasi (biasanya empat spasi) untuk menentukan baris mana saja yang termasuk dalam sebuah blok if, elif, atau else tertentu. Kesalahan indentasi adalah salah satu sumber error paling umum bagi pemula yang baru belajar Python, sehingga penting untuk selalu memperhatikan konsistensi indentasi ini sejak awal.
Struktur Kontrol: Perulangan dengan for dan while
Perulangan (loop) memungkinkan sebuah blok kode dijalankan berulang kali secara otomatis, tanpa perlu menuliskan instruksi yang sama berulang-ulang secara manual. Python memiliki dua jenis perulangan utama, yaitu for dan while.
Perulangan for dipakai ketika kamu tahu persis berapa kali atau untuk apa saja perulangan tersebut perlu dijalankan, misalnya untuk memproses setiap item dalam sebuah daftar. Sebagai ilustrasi, jika kamu memiliki daftar nama kategori produk Belanjain dan ingin menampilkan masing-masing nama tersebut satu per satu, kodenya ditulis sebagai:
kategori_produk = ["Fashion", "Elektronik", "Kecantikan"]
for kategori in kategori_produk:
print(kategori)
Kode ini akan menjalankan print(kategori) sebanyak tiga kali secara berurutan, setiap kali dengan nilai kategori yang berbeda sesuai urutan dalam daftar kategori_produk, menampilkan "Fashion", kemudian "Elektronik", kemudian "Kecantikan" secara berurutan.
Perulangan while dipakai ketika kamu ingin sebuah blok kode terus dijalankan selama sebuah kondisi tertentu masih terpenuhi, tanpa mengetahui pasti berapa kali perulangan tersebut akan berjalan sebelumnya. Sebagai ilustrasi sederhana, while sering dipakai untuk kasus seperti terus memproses data selama masih ada data yang tersisa, atau terus mengulang sebuah proses sampai kondisi tertentu tercapai. Perulangan while memerlukan kehati-hatian khusus untuk memastikan kondisinya pada akhirnya akan menjadi tidak terpenuhi, karena jika tidak, perulangan tersebut akan berjalan tanpa henti (disebut infinite loop), sebuah kesalahan yang cukup sering dialami pemula.
List
Kumpulan nilai berurutan, indeks dimulai dari 0.
Dictionary
Pasangan kunci-nilai, akses berdasarkan nama kunci.
Struktur Data: List dan Dictionary
Selain tipe data dasar yang sudah dibahas, Python juga memiliki struktur data yang memungkinkan penyimpanan banyak nilai sekaligus dalam satu variabel, dua yang paling dasar dan paling sering dipakai adalah list dan dictionary.
List adalah struktur data yang menyimpan kumpulan nilai secara berurutan, mirip dengan sebuah kolom pada Spreadsheet yang berisi banyak baris data. List ditulis menggunakan tanda kurung siku, dengan setiap nilai dipisahkan tanda koma, seperti contoh kategori_produk = ["Fashion", "Elektronik", "Kecantikan"] yang sudah dipakai pada bagian perulangan sebelumnya. Setiap nilai dalam list memiliki posisi atau indeks tertentu, dimulai dari angka 0 (bukan 1) untuk elemen pertama, sehingga untuk mengambil elemen pertama dari list tersebut, kamu menuliskan kategori_produk[0], yang akan menghasilkan "Fashion". Karakteristik indeks yang dimulai dari 0 ini penting diperhatikan sejak awal karena sering menjadi sumber kebingungan bagi pemula yang terbiasa menghitung dimulai dari 1.
Dictionary adalah struktur data yang menyimpan pasangan kunci (key) dan nilai (value), memungkinkan kamu mengakses sebuah nilai berdasarkan nama kuncinya, bukan berdasarkan posisi urutan seperti pada list. Dictionary ditulis menggunakan tanda kurung kurawal, dengan setiap pasangan kunci dan nilai dipisahkan tanda titik dua, dan setiap pasangan dipisahkan tanda koma. Sebagai ilustrasi, untuk menyimpan data satu pelanggan Belanjain dengan beberapa atribut sekaligus, kamu bisa menuliskan:
pelanggan = {
"nama": "Budi Santoso",
"kota": "Jakarta",
"total_belanja": 1500000
}
print(pelanggan["kota"])
Kode ini akan menampilkan "Jakarta", karena kamu mengakses nilai berdasarkan kuncinya, yaitu "kota", bukan berdasarkan posisi urutan seperti pada list. Dictionary sangat berguna untuk merepresentasikan data yang memiliki struktur seperti satu baris pada tabel Spreadsheet atau database yang sudah kamu pelajari sebelumnya, dengan setiap kunci mewakili nama kolom, dan nilai yang bersangkutan mewakili isi kolom tersebut untuk satu observasi tertentu.
Fungsi Sederhana: Mengemas Kode agar Bisa Dipakai Berulang
Fungsi dalam Python adalah blok kode yang diberi nama tertentu, yang bisa dipanggil dan dijalankan berulang kali kapan saja dibutuhkan, tanpa perlu menuliskan ulang seluruh instruksi tersebut setiap kali. Konsep ini penting karena membantu menghindari duplikasi kode, sekaligus membuat kode lebih terorganisir dan mudah dipahami, terutama ketika sebuah logika tertentu perlu dipakai berulang kali di berbagai bagian program yang berbeda.
Sebagai ilustrasi, mari bungkus logika pengelompokan kategori transaksi yang sudah dibahas pada bagian percabangan sebelumnya, menjadi sebuah fungsi yang bisa dipanggil berulang kali untuk nilai transaksi yang berbeda-beda:
def kategorikan_transaksi(nilai):
if nilai < 100000:
return "Kecil"
elif nilai <= 500000:
return "Sedang"
else:
return "Besar"
hasil_1 = kategorikan_transaksi(75000)
hasil_2 = kategorikan_transaksi(350000)
hasil_3 = kategorikan_transaksi(1000000)
print(hasil_1, hasil_2, hasil_3)
Perhatikan kata kunci def yang menandakan awal definisi sebuah fungsi, diikuti nama fungsi (kategorikan_transaksi), dan parameter dalam tanda kurung (nilai) yang merupakan input yang akan diterima fungsi tersebut setiap kali dipanggil. Kata kunci return menandakan nilai yang akan dihasilkan atau "dikembalikan" oleh fungsi tersebut. Setelah fungsi ini didefinisikan sekali, kamu bisa memanggilnya berulang kali dengan nilai input yang berbeda-beda, seperti pada ketiga pemanggilan kategorikan_transaksi() dengan nilai berbeda pada contoh di atas, menghasilkan "Kecil", "Sedang", dan "Besar" secara berturut-turut, tanpa perlu menuliskan ulang logika percabangan if-elif-else tersebut setiap kali.
Kenapa Fondasi Ini Penting Sebelum Masuk ke Pandas
Bab ini sengaja fokus membahas fondasi paling dasar Python, tanpa menyentuh library khusus untuk analisis data seperti Pandas, yang akan dibahas mendalam pada Bab 23. Pemahaman mengenai variabel, tipe data, percabangan, perulangan, list, dictionary, dan fungsi ini penting dikuasai terlebih dahulu, karena Pandas dan library analisis data lainnya pada dasarnya dibangun di atas fondasi bahasa Python ini, bukan sesuatu yang terpisah sama sekali. Ketika kamu nanti menemukan kode Pandas yang melibatkan perulangan, percabangan, atau struktur data seperti dictionary, pemahaman fondasi yang sudah dibangun di bab ini akan sangat membantu kamu memahami apa yang sebenarnya terjadi di balik kode tersebut, bukan sekadar menghafal sintaks tanpa memahami logika dasarnya.
- Indentasi Baku: Python memanfaatkan 4 spasi (indentasi) untuk mendefinisikan cakupan blok percabangan dan perulangan.
- List vs Dict: List diakses via indeks angka 0; Dictionary diakses menggunakan string kunci unik.
- Modularitas Fungsi: `def` mengemas blok instruksi agar dapat dipanggil berulang kali tanpa duplikasi sintaks.
- Persiapan Pandas: Seluruh library pengolahan data tingkat lanjut dibangun di atas struktur fondasi dasar Python ini.