MODUL 01 · FONDASI

Cara Komputer "Berpikir"

Sebelum menulis satu baris kode pun, kamu perlu paham bagaimana komputer sebenarnya menjalankan instruksi. Modul ini adalah fondasi yang akan membuat semua modul setelahnya jauh lebih mudah dipahami.

1. Komputer Itu Bodoh (dan Itu Bagus)

Ini mungkin kedengaran aneh, tapi memahami bahwa komputer itu "bodoh" adalah kunci untuk jadi programmer yang baik. Komputer tidak bisa menebak maksudmu. Komputer tidak punya intuisi. Ia hanya bisa menjalankan instruksi yang persis seperti yang dituliskan, langkah demi langkah, tanpa kecuali.

Bandingkan dengan manusia. Kalau kamu bilang ke temanmu "tolong buatkan kopi", dia otomatis tahu harus ambil cangkir, seduh kopi, mungkin tambah gula sesuai kebiasaan. Komputer tidak bisa seperti itu. Kalau kamu ingin komputer "membuat kopi", kamu harus menjelaskan setiap langkah secara eksplisit — bahkan langkah yang menurut manusia "sudah jelas".

Inti dari Modul Ini

Programming pada dasarnya adalah seni menerjemahkan sesuatu yang kamu pahami secara intuitif menjadi langkah-langkah yang sangat eksplisit dan tidak ambigu, agar komputer bisa mengeksekusinya.

2. Apa Itu Instruksi dan Algoritma?

Instruksi adalah satu perintah tunggal yang bisa dijalankan komputer — misalnya "simpan angka 5" atau "tampilkan teks ini di layar". Satu instruksi biasanya sangat sederhana.

Algoritma adalah kumpulan instruksi yang disusun secara berurutan untuk menyelesaikan suatu masalah. Kamu sebenarnya sudah sering memikirkan algoritma dalam hidup sehari-hari tanpa menyadarinya.

Contoh algoritma untuk "membuat mi instan":

1. Isi panci dengan air
2. Nyalakan kompor
3. Tunggu sampai air mendidih
4. Masukkan mi ke dalam air
5. Tunggu 3 menit
6. Matikan kompor
7. Tuang ke mangkuk, tambahkan bumbu
8. Aduk sampai rata

Perhatikan: urutannya penting. Kalau langkah 7 dan 8 ditukar, atau langkah 4 dilakukan sebelum langkah 3, hasilnya akan berbeda (atau gagal total). Ini yang disebut urutan eksekusi — komputer menjalankan instruksi dari atas ke bawah, satu per satu, secara berurutan, kecuali diberi tahu untuk melompat atau mengulang.

Mencoba dalam "Bahasa Kode"

Kalau algoritma mi instan di atas ditulis dalam gaya kode (pseudocode, bukan bahasa pemrograman asli), kira-kira begini bentuknya:

isi_panci_dengan_air()
nyalakan_kompor()
tunggu_sampai_mendidih()
masukkan_mi()
tunggu(3, "menit")
matikan_kompor()
tuang_ke_mangkuk()
aduk()

Ini belum kode JavaScript sungguhan (itu akan kamu pelajari di Modul 04), tapi pola pikirnya sama: memecah sebuah proses menjadi langkah-langkah kecil yang jelas dan berurutan.

3. Pengambilan Keputusan: Logika If/Else

Tidak semua proses berjalan lurus dari atas ke bawah. Kadang, langkah selanjutnya bergantung pada suatu kondisi. Inilah yang disebut logika if/else ("jika/maka, kalau tidak").

Contoh dalam kehidupan sehari-hari:

JIKA hari hujan
    MAKA bawa payung
KALAU TIDAK
    MAKA pakai kacamata hitam

Logika ini hadir di hampir semua program yang pernah kamu gunakan. Saat kamu login ke sebuah aplikasi:

JIKA password benar
    MAKA masuk ke halaman utama
KALAU TIDAK
    MAKA tampilkan pesan "password salah"

Di JavaScript nanti (Modul 04), ini akan ditulis seperti:

if (passwordBenar) {
  masukKeHalamanUtama();
} else {
  tampilkanPesan("Password salah");
}

Untuk sekarang, kamu tidak perlu menghafal sintaksnya. Yang penting dipahami: program adalah serangkaian keputusan, dan keputusan itu selalu berbentuk "kalau kondisi ini benar, lakukan A; kalau tidak, lakukan B".

4. Flowchart: Memvisualisasikan Logika

Flowchart adalah cara menggambar alur logika menggunakan kotak dan tanda panah, supaya lebih mudah dipahami sebelum dituliskan jadi kode. Berikut flowchart sederhana untuk logika "cek apakah angka genap atau ganjil":

Mulai
Masukkan sebuah angka
Angka habis dibagi 2?
Ya → Genap
Tidak → Ganjil
Selesai

Kotak persegi biasanya menandakan sebuah aksi/proses, sedangkan kotak berbentuk berlian (di sini disederhanakan jadi kotak bergaris hijau) menandakan sebuah keputusan dengan dua kemungkinan jalan keluar. Kebiasaan menggambar flowchart sebelum menulis kode akan sangat membantu saat masalah yang dihadapi mulai lebih rumit dari contoh-contoh di atas.

5. Pengulangan: Mengapa Komputer Suka Mengulang

Selain mengambil keputusan, komputer juga sangat andal dalam melakukan sesuatu secara berulang — inilah salah satu alasan utama kenapa komputer dibuat. Konsep ini disebut loop (perulangan), dan akan dibahas lebih dalam saat masuk ke JavaScript. Untuk sekarang, cukup pahami idenya:

ULANGI 10 kali:
    cetak "Halo!"

Daripada menulis cetak "Halo!" sebanyak 10 kali secara manual, kita cukup memberi tahu komputer untuk mengulang satu instruksi tersebut sebanyak yang dibutuhkan. Ini terlihat sepele, tapi menjadi sangat berguna saat instruksi yang diulang jauh lebih kompleks dan harus dijalankan ratusan, bahkan jutaan kali.

6. Latihan Pemahaman

Coba pikirkan jawabannya dulu sebelum membuka kunci jawaban.

Soal 1: Susun ulang algoritma berikut agar logis — "Keluar rumah", "Bangun tidur", "Pakai sepatu", "Mandi"
Jawaban: Bangun tidur → Mandi → Pakai sepatu → Keluar rumah. Urutan ini penting karena setiap langkah bergantung pada langkah sebelumnya selesai dilakukan.
Soal 2: Tulis logika if/else untuk kasus "kalau nilai ujian ≥ 75, maka lulus, kalau tidak, remedial"
Jawaban: JIKA nilai ≥ 75 MAKA lulus, KALAU TIDAK MAKA remedial. Ini adalah pola if/else paling umum yang akan sering kamu temui dalam kode nyata.
Soal 3: Kapan sebaiknya menggunakan loop (perulangan) dibanding menulis instruksi berulang-ulang secara manual?
Jawaban: Saat instruksi yang sama perlu dijalankan berkali-kali dengan jumlah yang sudah diketahui atau bergantung pada suatu kondisi — misalnya menampilkan 100 baris teks, atau memproses setiap item dalam sebuah daftar belanja.

Rangkuman Modul Ini

Setelah memahami cara komputer "berpikir", kamu sudah siap untuk mulai menulis kode sungguhan. Modul selanjutnya akan membahas HTML — kerangka dasar dari setiap halaman web yang pernah kamu kunjungi.