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

  1. Mulai
  2. Pilih kayu jati atau mahoni berkualitas tinggi.
  3. Buat sketsa motif ukiran (misal: motif daun pokok atau jumbai) di atas kertas.
  4. Tempelkan kertas sketsa pada permukaan kayu.
  5. Lakukan proses memahat kasar (mengetak) sesuai pola.
  6. Lakukan proses mengukir detail (membenahi).
  7. Haluskan permukaan kayu dengan amplas.
  8. Beri sentuhan akhir (finishing) dengan politur atau melamin.
  9. Selesai
Penting! Jika langkah nomor 7 (pengamplasan) dilakukan sebelum nomor 5 (memahat kasar), maka hasil karya akan rusak. Itulah prinsip mutlak algoritma: harus berurutan dan logis.

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.

Contoh Pseudocode: Menghitung Total Harga Mebel
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 bernilai Benar (True) atau Salah (False).

B. Struktur Percabangan (Conditional)

Digunakan saat program komputer dihadapkan pada pilihan keputusan berdasarkan syarat tertentu.

Studi Kasus Jepara: Sistem Diskon Otomatis Toko Mebel Tahunan.
Jika pembeli memesan mebel lebih dari 10 unit, maka sistem memberikan diskon otomatis sebesar 10%. Jika kurang dari itu, harga normal tetap berlaku.
Implementasi Struktur Kondisi (Python)
# 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.

Studi Kasus Jepara: Sistem Otomatisasi Cetak Barcode Mesin CNC Ukir untuk 5 Balok Kayu Produksi.
Implementasi Struktur Perulangan (Python)
# 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:

1 Input

Aplikasi meminta admin memasukkan nama produk mebel, harga dasar, dan kuantitas belanja.

2 Proses

Sistem menghitung total awal menggunakan rumus: Subtotal = Harga * Jumlah.

3 Kondisi

Jika Subtotal > Rp 5.000.000, berikan potongan langsung Rp 500.000 (Promo "Jepara Bangkit").

4 Output

Layar mencetak struk dan menampilkan total akhir yang wajib dibayarkan pembeli.

📝 Lembar Kerja Siswa (LKS) / Tugas Mandiri

  1. 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!
  2. 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".