1. PEMROGRAMAN KOMPUTER
A. Pengertian Pemrograman Komputer
Pemrograman komputer adalah proses menulis, menyusun, dan menguji instruksi agar komputer dapat menjalankan tugas tertentu sesuai tujuan pengguna. Instruksi tersebut ditulis menggunakan bahasa pemrograman, yang berfungsi sebagai jembatan komunikasi antara manusia dan komputer.
Pemrograman tidak sekadar menulis kode, tetapi juga berpikir logis, memecahkan masalah, dan membuat solusi digital yang bisa digunakan oleh banyak orang.
Inti pemrograman:
- Mengidentifikasi masalah
- Merancang solusi (algoritma)
- Menuliskan solusi dalam bentuk kode
- Menjalankan kode agar komputer dapat mengeksekusinya
Analogi sederhana:
Bayangkan komputer sebagai robot pintar yang patuh, tapi tidak bisa berpikir sendiri. Supaya robot itu bisa bekerja, kita harus membuat langkah perintah yang jelas dan terurut. Jika perintahnya salah, robot pun akan bekerja salah.
B. Tujuan Pemrograman Komputer
- Membuat aplikasi (mobile, desktop, web)
- Mengotomatisasi pekerjaan
- Membuat sistem yang cepat dan akurat
- Meningkatkan efisiensi pekerjaan manusia
- Mengolah data dalam jumlah besar
2. KEUNTUNGAN BELAJAR PEMROGRAMAN
A. Manfaat Teknis
Mampu membuat aplikasi atau website
- Siswa bisa membuat sistem sederhana hingga kompleks sesuai kreativitas.
Memahami cara kerja teknologi
- Di era digital, hampir semua alat menggunakan perangkat lunak.
Menguasai logika dan algoritma
- Logika sangat penting dalam pemecahan masalah.
B. Manfaat Non-Teknis
Melatih berpikir kritis dan sistematis- Kita diajari menguraikan masalah besar menjadi langkah kecil yang jelas.
- Satu kesalahan karakter saja bisa membuat program error.
- Dari ide sederhana, kamu dapat membuat aplikasi yang bermanfaat.
Kesempatan kerja luas
Dunia industri membutuhkan programmer untuk berbagai bidang:
bisnis
game
otomasi industri
web & mobile development
data science
AI dan machine learning
Analogi keuntungan belajar pemrograman:
Belajar pemrograman itu seperti belajar bahasa musik:
- semakin kamu memahami notasi,
- semakin mudah kamu menciptakan lagu,
- dan semakin luas pula kesempatanmu tampil.
Semakin kamu menguasai “bahasa komputer”, semakin besar peluangmu menciptakan teknologi yang bisa digunakan banyak orang.
3. BAHASA PEMROGRAMAN
Bahasa pemrograman adalah cara kita berbicara dengan komputer. Karena komputer tidak mengerti bahasa manusia, kita perlu "bahasa khusus" yang dapat dipahami olehnya.
Secara umum, bahasa pemrograman dikelompokkan menjadi:
A. Bahasa Tingkat Tinggi (High-Level Language)
Bahasa tingkat tinggi mendekati bahasa manusia, lebih mudah dibaca dan ditulis.
Ciri-ciri:
- Sintaks lebih sederhana
- Mudah dipahami oleh pemula
- Tidak perlu memahami detail hardware komputer
- Contoh: Python, Java, C#, PHP, JavaScript
Analogi:
Seperti kamu berbicara menggunakan bahasa Indonesia sehari-hari—jelas, mudah dimengerti, dan tidak rumit.
Keuntungan:
- Cocok untuk belajar
- Banyak digunakan industri
- Mudah dikembangkan
B. Bahasa Tingkat Menengah (Middle-Level Language)
Gabungan antara kemudahan bahasa tingkat tinggi dan kontrol terhadap hardware.
Contoh:
- C, C++
Ciri-ciri:
- Bisa digunakan untuk program aplikasi
- Bisa digunakan untuk mengakses memori dan hardware
- Digunakan untuk membuat sistem operasi, game engine, driver, dll.
Analogi:
Seperti berbicara bahasa resmi yang kadang memakai istilah teknis.
Butuh perhatian lebih, tapi bisa mengendalikan lebih banyak hal.
C. Ringkasan Ketiga Level Bahasa:
| Level | Contoh | Kelebihan | Kekurangan |
|---|---|---|---|
| Tinggi | Python, Java | Mudah dipahami, cepat dikembangkan | Lebih lambat |
| Menengah | C, C++ | Efisien, kontrol cukup besar | Sintaks lebih sulit |
| Rendah | Assembly | Paling cepat, kontrol penuh hardware | Sangat sulit dan kompleks |
4. ARSITEKTUR KOMPILATOR
Kompilator adalah program yang menerjemahkan bahasa pemrograman tingkat tinggi (misal Java, C, Pascal) menjadi bahasa mesin agar dapat dieksekusi komputer.
Alur Kerja Kompilator Secara Umum:
1. Source CodeKode yang ditulis programmer.
2. Lexical Analysis
Memecah kode menjadi token (identitas terkecil: kata kunci, angka, simbol).
Analogi: seperti memecah kalimat menjadi kata-kata.3. Syntax Analysis (Parsing)
Memeriksa apakah susunan token sesuai aturan tata bahasa pemrograman.
Analogi: mengecek apakah struktur kalimat benar.4. Semantic Analysis
Memastikan makna perintah benar (tipe data, variabel, logika).
Analogi: memastikan kalimatnya bermakna logis.5. Intermediate Code Generation
Menghasilkan kode perantara (lebih dekat ke mesin).
Analogi: menerjemahkan kalimat ke bahasa yang lebih formal.6. Optimization
Mengoptimalkan kode agar lebih cepat dan efisien.
Analogi: merapikan kalimat agar lebih singkat tapi tetap jelas.7. Code Generation
Menghasilkan kode mesin (0 dan 1).
Analogi: hasil akhir berupa bahasa yang robot bisa mengerti.8. Executable Program
File yang bisa dijalankan di komputer.
Analogi Lengkap Arsitektur Kompilator:
Bayangkan kamu adalah penerjemah cerita berbahasa Indonesia ke bahasa Jepang.
- Baca cerita (Source Code)
- Pisahkan tiap kata (Lexical Analysis)
- Cek struktur kalimat (Syntax Analysis)
- Cek makna logis (Semantic Analysis)
- Buat terjemahan kasar (Intermediate Code)
- Perhalus terjemahan (Optimization)
- Hasilkan terjemahan final (Machine Code)
- Siap dibacakan (Executable Program)
Seperti itu juga proses kompilator menerjemahkan bahasa pemrograman ke bahasa mesin.