BAB 2: Dasar-Dasar Algoritma dan Coding
Modul Dasar Kejuruan SMK - Konteks Lokal Jepara
1. Pengantar Algoritma dalam Kehidupan Sehari-hari
Sebelum masuk ke dunia komputer, algoritma sebenarnya adalah bagian erat dari kehidupan kita sehari-hari. Algoritma adalah urutan langkah-langkah yang logis dan sistematis untuk menyelesaikan suatu masalah.
Di Jepara, kita bisa melihat contoh nyata implementasi algoritma pada proses pembuatan Ukiran Kayu Jepara atau alur logistik di Pelabuhan Kartini.
🪵 Contoh Algoritma Non-Komputer: Seni Ukir Jepara
- Mulai
- Pilih kayu jati atau mahoni berkualitas tinggi.
- Buat sketsa motif ukiran (misal: motif daun pokok atau jumbai) di atas kertas.
- Tempelkan kertas sketsa pada permukaan kayu.
- Lakukan proses memahat kasar (mengetak) sesuai pola.
- Lakukan proses mengukir detail (membenahi).
- Haluskan permukaan kayu dengan amplas.
- Beri sentuhan akhir (finishing) dengan politur atau melamin.
- Selesai
2. Cara Menuliskan Algoritma
Ada dua cara paling populer yang digunakan oleh programmer untuk menggambarkan alur berpikir program sebelum mulai mengetik kode (*coding*):
A. Pseudocode
Pseudocode adalah tiruan kode pemrograman yang ditulis menggunakan bahasa manusia sehari-hari yang ringkas, tegas, dan terstruktur.
PROSEDUR Hitung_Total_Harga
DEKLARASI
harga_barang, jumlah_beli, total_bayar : Angka
MULAI
BACA harga_barang
BACA jumlah_beli
total_bayar = harga_barang * jumlah_beli
TAMPILKAN total_bayar
SELESAI
B. Flowchart (Diagram Alir)
Flowchart memanfaatkan simbol-simbol grafis standar untuk menunjukkan ke mana arah jalannya program komputer mengalir.
| Simbol | Nama Simbol | Fungsi / Kegunaan |
|---|---|---|
| ⬭ | Terminator (Oval) | Menandai titik awal (Mulai) atau titik akhir (Selesai) program. |
| ▱ | Input/Output (Jajaran Genjang) | Menerima input data dari user atau menampilkan hasil pemrosesan. |
| ▭ | Process (Persegi Panjang) | Melakukan perhitungan matematis atau eksekusi perintah (e.g. total = harga * jumlah). |
| ♢ | Decision (Belah Ketupat) | Percabangan logika atau pilihan kondisi yang menghasilkan keputusan (Ya / Tidak). |
3. Konsep Dasar Coding (Struktur Data & Kontrol)
Saat rancangan algoritma kita ubah menjadi baris program nyata, ada tiga komponen fundamental wajib yang harus dikuasai:
A. Variabel dan Tipe Data
- Variabel: Wadah penyimpanan sementara di memori komputer. Analoginya mirip seperti kotak kontainer kargo di Pelabuhan Kartini yang diberi label unik agar tidak tertukar.
- Tipe Data: Jenis nilai yang boleh dimasukkan ke dalam variabel tersebut.
String(Teks): Untuk nama barang (Contoh:"Kursi Ganesha","Lemari Ukir").Integer(Angka Bulat): Untuk jumlah stok barang (Contoh:5,12).Float/Double(Angka Pecahan): Untuk ukuran ketebalan kayu atau koordinat lokasi.Boolean(Logika): Hanya bernilaiBenar (True)atauSalah (False).
B. Struktur Percabangan (Conditional)
Digunakan saat program komputer dihadapkan pada pilihan keputusan berdasarkan syarat tertentu.
Jika pembeli memesan mebel lebih dari 10 unit, maka sistem memberikan diskon otomatis sebesar 10%. Jika kurang dari itu, harga normal tetap berlaku.
# Menentukan variabel jumlah pesanan
jumlah_pesanan = 12
if jumlah_pesanan > 10:
print("Selamat! Anda mendapatkan diskon 10%")
else:
print("Harga normal.")
C. Struktur Perulangan (Looping)
Digunakan untuk mengeksekusi satu atau kelompok perintah berulang-ulang tanpa perlu mengetik kodenya secara manual satu demi satu.
# Mengulang proses cetak untuk balok nomor 1 sampai 5
for balok in range(1, 6):
print("Memahat balok kayu nomor:", balok)
4. Studi Kasus Mini Proyek: Logika Kasir Digital "UKM Mebel Jepara"
Mari kita gabungkan seluruh fondasi logika di atas ke dalam satu alur utuh aplikasi kasir sederhana:
Aplikasi meminta admin memasukkan nama produk mebel, harga dasar, dan kuantitas belanja.
Sistem menghitung total awal menggunakan rumus: Subtotal = Harga * Jumlah.
Jika Subtotal > Rp 5.000.000, berikan potongan langsung Rp 500.000 (Promo "Jepara Bangkit").
Layar mencetak struk dan menampilkan total akhir yang wajib dibayarkan pembeli.
📝 Lembar Kerja Siswa (LKS) / Tugas Mandiri
- Analisis Lingkungan Sekitar: Amatilah lingkungan tempat tinggalmu di Jepara. Buatlah satu skenario algoritma non-komputer yang ada di sekitarmu! (Contoh pilihan topik: Alur Penerimaan Siswa Baru di SKANSADA, Proses Pembuatan Kerupuk Tenggiri, atau Alur Tiketing Kapal ke Karimunjawa). Tuliskan langkah-langkah detailnya di buku tugasmu!
- Logika Flowchart: Buatlah rancangan gambar flowchart di buku tugas menggunakan penggaris untuk menentukan kelayakan bantuan beasiswa sekolah. Kondisinya: Jika Nilai Rata-Rata Ujian > 85, maka cetak hasil "Lolos Beasiswa", jika tidak cetak "Belum Lolos".