Kenapa ini penting
Sebelum menyuruh komputer melakukan sesuatu, kamu perlu tahu "makhluk" apa yang sedang kamu ajak bicara. Komputer itu sangat cepat, sangat patuh, tapi sama sekali tidak pintar. Ia tidak menebak maksudmu. Ia hanya menjalankan instruksi persis seperti yang tertulis. Programmer yang paham cara kerja komputer akan lebih mudah memahami pesan error, tahu kenapa program bisa lambat, dan tahu kenapa data bisa hilang saat aplikasi ditutup. Pengetahuan ini juga jadi bahasa bersama saat kamu nanti ngobrol dengan programmer lain: istilah seperti memory, storage, process, dan input/output akan sering muncul.
Konsep inti
Model Input → Proses → Output
Hampir semua hal yang dilakukan komputer bisa dijelaskan dengan pola Input → Proses → Output (IPO):
- Input: data yang masuk. Contohnya ketikan keyboard, klik mouse, sentuhan layar, file yang dibuka, data dari internet.
- Proses: pengolahan data mengikuti instruksi. Contohnya menghitung total belanja, mencari kata di dokumen, memperbesar foto.
- Output: hasil yang dikeluarkan. Contohnya tulisan di layar, suara dari speaker, file yang disimpan, pesan yang terkirim.
Analogi sehari-hari: membuat teh manis. Input-nya air, teh, dan gula. Prosesnya merebus air, menyeduh, lalu mengaduk. Output-nya segelas teh manis. Kalau resepnya (instruksinya) salah, misalnya gula dimasukkan sebelum air mendidih lalu airnya tidak jadi direbus, hasilnya juga salah. Komputer persis seperti itu: hasil bergantung pada input dan instruksi.
Contoh nyata saat kamu memesan ojek online: input-nya lokasi jemput dan tujuan, prosesnya aplikasi menghitung jarak, tarif, dan mencari driver terdekat, output-nya tampilan harga dan nama driver di layar.
Komponen utama: CPU, RAM, Storage
| Komponen | Fungsi | Analogi dapur | Sifat |
|---|---|---|---|
| CPU (Central Processing Unit) | Menjalankan instruksi satu per satu, sangat cepat (miliaran per detik) | Koki yang memasak | Otak pemroses |
| RAM (Random Access Memory) | Tempat kerja sementara untuk data & program yang sedang dipakai | Meja dapur | Cepat, tapi hilang saat listrik mati (volatile) |
| Storage (SSD/HDD) | Penyimpanan jangka panjang: file, foto, aplikasi | Kulkas & lemari | Lebih lambat, tapi data tetap ada saat mati (non-volatile) |
Saat kamu membuka aplikasi, file programnya diambil dari storage, disalin ke RAM, lalu CPU membaca instruksinya dari RAM dan menjalankannya. Koki (CPU) tidak memasak langsung di dalam kulkas, kan? Bahan diambil dulu ke meja (RAM), baru diolah. Itulah sebabnya dokumen yang belum disimpan hilang ketika laptop mati mendadak: datanya masih di RAM, belum dipindah ke storage.
Komponen lain yang perlu kamu kenal:
- Perangkat input/output (I/O): keyboard, mouse, layar, speaker, kamera, kartu jaringan.
- Sistem operasi (OS): Windows, macOS, Linux, Android. OS adalah "manajer gedung" yang mengatur siapa boleh pakai CPU, berapa RAM yang diberikan ke tiap aplikasi, dan bagaimana file disimpan.
Apa itu program?
Program adalah kumpulan instruksi yang disusun berurutan untuk menyelesaikan suatu tugas. Instruksi itu ditulis oleh programmer dalam bahasa pemrograman, lalu diterjemahkan sampai CPU bisa menjalankannya. Program yang sedang berjalan disebut process. Satu aplikasi (misalnya browser) bisa menjalankan beberapa process sekaligus.
Program yang baik punya tiga sifat: jelas (setiap langkah tidak ambigu), berurutan (urutan langkah benar), dan berhenti (punya akhir, tidak muter-muter selamanya tanpa alasan). Kumpulan langkah logis seperti ini disebut algoritma. Resep masakan adalah algoritma. Petunjuk arah "lurus 200 meter, belok kiri di masjid, rumah ketiga sebelah kanan" juga algoritma.
Siklus kerja CPU (fetch-decode-execute)
CPU bekerja dalam siklus berulang:
- Fetch: mengambil instruksi berikutnya dari RAM.
- Decode: memahami instruksi itu artinya apa (tambah? simpan? lompat?).
- Execute: menjalankannya.
Siklus ini diulang miliaran kali per detik. Kecepatan CPU sering ditulis dalam GHz. 3 GHz artinya sekitar 3 miliar siklus jam per detik. Kamu tidak perlu menghafal detailnya, cukup paham bahwa program pada akhirnya dipecah menjadi instruksi-instruksi sangat kecil.
Contoh kode
Kamu belum belajar JavaScript, tapi tidak apa-apa melihat dulu bagaimana pola IPO muncul di kode. Contoh ini bisa dijalankan nanti setelah modul setup (Node.js).
// INPUT: data harga barang di keranjang belanja
const hargaBarang = [15000, 22000, 8000];
// PROSES: jumlahkan semua harga
let total = 0;
for (const harga of hargaBarang) {
total = total + harga;
}
// OUTPUT: tampilkan hasil ke layar
console.log("Total belanja:", total);
// → Total belanja: 45000
Contoh kedua menunjukkan perbedaan RAM dan storage. Variabel hidup di RAM dan hilang saat program selesai, sedangkan file disimpan ke storage dan tetap ada.
// Modul bawaan Node.js untuk mengakses file
const fs = require("node:fs");
const catatan = "Belajar JavaScript hari pertama"; // disimpan di RAM
// Tulis ke storage (file catatan.txt di folder yang sama)
fs.writeFileSync("catatan.txt", catatan);
// Baca kembali dari storage
const isiFile = fs.readFileSync("catatan.txt", "utf8");
console.log(isiFile);
// → Belajar JavaScript hari pertama
Jalankan program ini, tutup, lalu buka folder. File catatan.txt masih ada walaupun program sudah selesai. Variabel catatan sendiri sudah lenyap dari RAM.
Kesalahan umum
- Menganggap RAM sama dengan storage. "Laptop saya RAM-nya 512 GB" biasanya maksudnya SSD. RAM itu memori kerja sementara (umumnya 8-32 GB), storage itu tempat simpan permanen.
- Mengira komputer "mengerti" maksud kita. Komputer hanya menjalankan instruksi yang tertulis. Kalau programnya salah logika, hasilnya salah dengan sangat cepat dan sangat percaya diri.
- Melupakan input yang tidak terduga. Program yang baik memikirkan input aneh: kolom kosong, huruf di kolom angka, angka negatif. Banyak bug lahir dari asumsi "pengguna pasti mengisi dengan benar".
- Menganggap urutan instruksi tidak penting. Menampilkan total sebelum menghitungnya akan menghasilkan angka yang salah. Urutan adalah bagian dari logika.
Latihan
- Mudah, Tuliskan Input, Proses, dan Output untuk aktivitas "mengambil uang di ATM".
- Sedang, Jelaskan dengan kata-katamu sendiri apa yang terjadi pada CPU, RAM, dan storage saat kamu membuka sebuah foto di galeri HP, mengeditnya, lalu menekan "Simpan".
- Menantang, Tulis algoritma (langkah bernomor, bahasa biasa) untuk menentukan apakah sebuah bilangan genap atau ganjil, lalu identifikasi bagian input, proses, dan output-nya.
Lihat solusi
1. Input: kartu ATM, PIN, nominal yang dipilih. Proses: bank memverifikasi PIN, mengecek saldo, mengurangi saldo, memerintahkan mesin menghitung uang. Output: uang tunai keluar, struk, dan pesan di layar.
2. File foto dibaca dari storage lalu dimuat ke RAM supaya bisa ditampilkan dan diedit dengan cepat. CPU (dan GPU) menjalankan instruksi aplikasi galeri: mengubah kecerahan, memotong gambar, dan sebagainya. Semua perubahan masih di RAM. Saat kamu menekan "Simpan", data dari RAM ditulis kembali ke storage. Kalau HP mati sebelum disimpan, editannya hilang.
3. Algoritma:
- Terima sebuah bilangan (input).
- Bagi bilangan dengan 2 dan ambil sisa baginya (proses).
- Jika sisanya 0, bilangan itu genap. Jika tidak, ganjil (proses).
- Tampilkan "genap" atau "ganjil" (output).
Versi JavaScript-nya nanti akan seperti ini:
const angka = 7; // input
const sisa = angka % 2; // proses: % = sisa bagi
console.log(sisa === 0 ? "genap" : "ganjil"); // output
// → ganjil
Ringkasan
- Komputer bekerja dengan pola Input → Proses → Output.
- CPU memproses instruksi, RAM menyimpan data sementara saat program berjalan, storage menyimpan data permanen.
- Data di RAM hilang saat listrik mati, data di storage tetap ada.
- Program adalah kumpulan instruksi berurutan, dan algoritma adalah langkah logis untuk menyelesaikan masalah.
- CPU menjalankan siklus fetch-decode-execute miliaran kali per detik.