Kalau kamu belum pernah menulis satu baris kode pun, artikel ini adalah titik mulai yang tepat. MIT merilis kuliah 6.100L — Introduction to Computer Science and Programming Using Python secara gratis di OpenCourseWare, diajarkan oleh Dr. Ana Bell. Seri artikel ini merangkum seluruh materi kuliahnya dalam bahasa Indonesia.
Kita mulai dari yang paling mendasar: bagaimana komputer sebenarnya “berpikir”, dan bagaimana kita bicara dengannya melalui Python.
Daftar Isi
- Komputer Itu Mesin Kalkulator Bodoh
- Tipe Data Dasar Python
- Variabel dan Binding
- Operasi pada String
- Input dan Output
- Percabangan (Branching)
- Indentasi: Aturan Wajib Python
Komputer Itu Mesin Kalkulator Bodoh
Komputer tidak pintar. Ia hanya bisa melakukan dua hal: menyimpan data dan melakukan operasi pada data itu. Yang membuatnya terlihat “pintar” adalah kecepatan dan urutan instruksi yang kita berikan.
Ada dua jenis pengetahuan (knowledge) dalam komputasi:
- Declarative knowledge — pernyataan fakta. Contoh: “akar kuadrat dari x adalah y di mana y² = x”
- Imperative knowledge — urutan langkah. Contoh: “mulai dari tebakan g, hitung (g + x/g)/2, ulangi sampai cukup akurat”
Python adalah cara kita menuliskan imperative knowledge itu ke komputer.
Tipe Data Dasar Python
Python mengenal beberapa tipe data bawaan:
# Integer — bilangan bulatumur = 25tahun = 2024
# Float — bilangan desimaltinggi = 1.75pi = 3.14159
# Boolean — benar atau salahaktif = Trueselesai = False
# NoneType — tidak ada nilaikosong = NoneKamu bisa cek tipe data dengan fungsi type():
print(type(42)) # <class 'int'>print(type(3.14)) # <class 'float'>print(type(True)) # <class 'bool'>print(type("hello")) # <class 'str'>Operasi Aritmatika
5 + 3 # 8 — penjumlahan5 - 3 # 2 — pengurangan5 * 3 # 15 — perkalian5 / 3 # 1.666... — pembagian (selalu float)5 // 3 # 1 — pembagian bulat (floor division)5 % 3 # 2 — sisa bagi (modulo)5 ** 3 # 125 — perpangkatanUrutan operasi mengikuti aturan matematika standar (PEMDAS/BODMAS) — tanda kurung didahulukan.
Variabel dan Binding
Variabel adalah nama yang kita tempelkan ke sebuah nilai. Dalam Python, variabel tidak perlu dideklarasikan tipenya — cukup langsung assign.
x = 10 # x menunjuk ke nilai 10nama = "Rifky" # nama menunjuk ke string "Rifky"pi = 3.14159 # pi menunjuk ke floatCara Python Menyimpan Variabel
Python bekerja dengan sistem binding — variabel adalah label yang menempel ke objek di memori:
x = 5y = x # y juga menunjuk ke objek 5x = 10 # x sekarang menunjuk ke objek baru (10)print(y) # masih 5 — y tidak ikut berubahIni penting dipahami karena perilakunya berbeda untuk tipe data mutable (yang bisa diubah), yang akan kita bahas di artikel berikutnya.
Aturan Penamaan Variabel
- Boleh: huruf, angka, underscore
_ - Tidak boleh dimulai dengan angka
- Tidak boleh menggunakan kata kunci Python (
if,for,while, dll.) - Python case-sensitive:
nama≠Nama≠NAMA
# Konvensi yang baikjumlah_siswa = 30harga_barang = 15000nama_lengkap = "Ana Bell"Operasi pada String
String adalah teks — ditulis di antara tanda kutip tunggal '...' atau ganda "...".
salam = "Halo, dunia!"nama = 'Python'
# Panjang stringprint(len(salam)) # 13
# Indexing — akses karakter per karakter (dimulai dari 0)print(salam[0]) # 'H'print(salam[-1]) # '!' (negatif = dari belakang)
# Slicing — ambil sebagian stringprint(salam[0:4]) # 'Halo'print(salam[6:]) # 'dunia!'
# Penggabungan (concatenation)kalimat = "Belajar " + "Python"print(kalimat) # 'Belajar Python'
# Pengulanganprint("ha" * 3) # 'hahaha'f-String (Format String)
Cara modern menyisipkan variabel ke dalam string:
nama = "Rifky"umur = 25
# cara lamaprint("Nama: " + nama + ", Umur: " + str(umur))
# cara modern dengan f-stringprint(f"Nama: {nama}, Umur: {umur}")# Output: Nama: Rifky, Umur: 25
# bisa juga ekspresi di dalamnyaprint(f"Tahun depan umur: {umur + 1}")Input dan Output
# Output ke layarprint("Hello, World!")print("Nilai pi:", 3.14159)
# Input dari pengguna (selalu menghasilkan string)nama = input("Masukkan namamu: ")print(f"Halo, {nama}!")
# Konversi tipe jika perluumur_str = input("Umur kamu: ")umur = int(umur_str) # konversi ke integerprint(f"10 tahun lagi kamu berumur {umur + 10}")Perhatian:
input()selalu mengembalikan tipestr. Kalau perlu angka, konversi denganint()ataufloat().
Percabangan (Branching)
Program tidak selalu jalan lurus dari atas ke bawah. Percabangan memungkinkan program mengambil jalur berbeda tergantung kondisi.
nilai = 75
if nilai >= 80: print("A")elif nilai >= 70: print("B")elif nilai >= 60: print("C")else: print("D")Operator Perbandingan
x == y # sama denganx != y # tidak sama denganx > y # lebih besarx < y # lebih kecilx >= y # lebih besar atau samax <= y # lebih kecil atau samaOperator Logika
# and — keduanya harus Trueumur = 20punya_ktp = Trueif umur >= 17 and punya_ktp: print("Boleh masuk")
# or — salah satu cukup Truehari = "Sabtu"if hari == "Sabtu" or hari == "Minggu": print("Hari libur")
# not — membalik nilai booleanaktif = Falseif not aktif: print("Pengguna tidak aktif")Indentasi: Aturan Wajib Python
Python menggunakan indentasi (spasi/tab di awal baris) untuk menandai blok kode. Ini bukan opsional — salah indentasi = error.
# BENARif True: print("satu") print("dua")print("tiga") # di luar blok if
# SALAH — IndentationErrorif True:print("satu") # ← harusnya ada spasi di depanKonvensi standar Python menggunakan 4 spasi per level indentasi. Jangan campur spasi dan tab.
Ringkasan
| Konsep | Inti |
|---|---|
| Tipe data | int, float, str, bool, None |
| Variabel | Label yang menempel ke objek di memori |
| String | Teks, bisa di-index, slice, dan digabung |
| f-string | f"teks {variabel}" — cara modern format string |
input() | Selalu menghasilkan str, konversi manual jika perlu |
| Percabangan | if, elif, else dengan operator logika |
| Indentasi | 4 spasi per level — wajib, bukan opsional |
Artikel berikutnya: Iterasi, Loop, dan Algoritma Pencarian — kita akan belajar bagaimana membuat program yang mengulang pekerjaan ratusan kali tanpa menulis ratusan baris kode.
Sumber: MIT OpenCourseWare — 6.100L Introduction to CS and Programming Using Python, Fall 2022↗, Dr. Ana Bell. Lisensi CC BY-NC-SA 4.0.