Logika & Algoritma Dasar dengan Flowchart
1. Apa itu Logika dalam Pemrograman?
Logika adalah kerangka berpikir sistematis dan terstruktur yang digunakan untuk menganalisis dan menyelesaikan suatu masalah. Dalam konteks pemrograman, logika mengacu pada cara kita:
Memahami masalah: mengidentifikasi input, proses, dan output.
Memecah masalah: membagi masalah besar menjadi sub-masalah yang lebih kecil.
Menentukan urutan: menyusun langkah-langkah yang harus dilakukan secara berurutan.
Membuat keputusan: menentukan kondisi-kondisi yang mempengaruhi alur program.
Contoh logika sehari-hari:
Jika hujan turun, maka saya akan membawa payung.
Jika tidak, saya tidak membawa payung.
2. Apa itu Algoritma?
Algoritma adalah serangkaian langkah-langkah terstruktur dan logis yang dirancang untuk menyelesaikan suatu masalah atau mencapai suatu tujuan. Algoritma harus:
Jelas (unambiguous): setiap langkah tidak memiliki makna ganda.
Terbatas (finite): memiliki titik akhir.
Efektif (effective): setiap langkah dapat dilaksanakan.
Terurut (ordered): langkah-langkah disusun secara berurutan.
Contoh algoritma sederhana: menghitung rata-rata tiga bilangan:
Mulai
Input tiga bilangan: a, b, c
Hitung total = a + b + c
Hitung rata-rata = total / 3
Tampilkan rata-rata
Selesai
3. Mengapa Perlu Flowchart?
Flowchart adalah alat visual untuk merepresentasikan algoritma. Dengan flowchart, kita dapat:
Menggambarkan alur logika dengan simbol-simbol standar.
Mengkomunikasikan ide dengan mudah kepada orang lain.
Menganalisis proses sebelum menulis kode program.
Mendeteksi kesalahan logika lebih awal.
4. Simbol-Simbol Flowchart dan Fungsinya:
| Simbol | Nama | Fungsi |
|---|---|---|
| ⭕ | Terminator | Menunjukkan awal atau akhir algoritma |
| ▭ | Process | Menyatakan suatu proses/perhitungan |
| ▱ | Input/Output | Menyatakan input data atau output hasil |
| ◇ | Decision | Menyatakan percabangan (ya/tidak) |
| → | Flow Line | Menunjukkan arah alur algoritma |
| ⬭ | Connector | Menghubungkan bagian flowchart yang terpisah |
5. Langkah-Langkah Membuat Flowchart:
Langkah 1: Identifikasi Masalah
Apa yang ingin diselesaikan?
Apa input dan outputnya?
Langkah 2: Tentukan Langkah-Langkah Utama
Urutkan dari awal hingga akhir.
Gunakan kata kerja: hitung, bandingkan, tampilkan, dll.
Langkah 3: Pilih Simbol yang Tepat
Gunakan simbol sesuai fungsi langkah.
Langkah 4: Gambarkan Alur
Mulai dari simbol terminator “Mulai”.
Hubungkan dengan garis alir.
Langkah 5: Uji dengan Contoh
Jalankan flowchart dengan contoh data nyata.
Pastikan hasil sesuai harapan.
6. Contoh Flowchart Lengkap:
Masalah: Menentukan apakah suatu bilangan genap atau ganjil
[Mulai]
↓
[Input bilangan n]
↓
[Hitung sisa = n mod 2]
↓
{sisa == 0?}
/ \
Ya Tidak
↓ ↓
[Tampilkan "Genap"] [Tampilkan "Ganjil"]
↓ ↓
[Selesai]Penjelasan:
Mulai → mulai algoritma.
Input → masukkan bilangan n.
Proses → hitung sisa pembagian n dengan 2.
Decision → jika sisa = 0, maka genap; jika tidak, ganjil.
Output → tampilkan hasil.
Selesai → akhir algoritma.
7. Jenis-Jenis Struktur Algoritma dalam Flowchart:
a. Sequence (Runtutan)
Langkah-langkah berurutan tanpa percabangan.
Mulai → Proses 1 → Proses 2 → Selesai
b. Selection (Pemilihan)
Menggunakan keputusan (if-else).
[Kondisi?]
/ \
[Proses A] [Proses B]c. Repetition (Perulangan)
Menggunakan loop (while, for).
[Mulai loop]
↓
[Kondisi?] → Tidak → [Keluar loop]
↓ Ya
[Proses dalam loop]8. Kesalahan Umum dalam Membuat Flowchart:
Tidak ada titik awal/akhir
Garis alir putus atau tidak jelas
Simbol tidak sesuai fungsi
Logika percabangan salah
Tidak diuji dengan contoh data
9. Aplikasi dalam Pemrograman:
Setelah flowchart selesai, programmer dapat:
Menerjemahkan ke kode dalam bahasa pemrograman (Python, Scratch, dll).
Debugging lebih mudah karena alur sudah jelas.
Dokumentasi yang baik untuk pengembangan selanjutnya.
10. Latihan Pengembangan:
Cobalah buat flowchart untuk:
Kalkulator sederhana (penjumlahan, pengurangan).
Menentukan nilai maksimal dari 4 bilangan.
Sistem login sederhana (username dan password).
11. Tips untuk Siswa:
Mulailah dari masalah sederhana sebelum menangani masalah kompleks.
Gunakan kertas dan pensil sebelum menggunakan software.
Diskusikan dengan teman untuk mengevaluasi logika.
Uji dengan beberapa kasus untuk memastikan kebenaran.