1. Pengertian Logika dan Algoritma
A. Pengertian Logika
Kata Logika berasal dari bahasa Yunani logos yang berarti hasil pertimbangan akal pikiran yang diutarakan lewat kata dan dinyatakan dalam bahasa. Logika mempelajari asas-asas penalaran yang benar agar kesimpulan yang diambil valid dan dapat dipertanggungjawabkan secara rasional.
B. Pengertian Algoritma
Kata Algoritma berasal dari nama ilmuwan matematika Muslim asal Persia, Abu Ja'far Muhammad bin Musa Al-Khwarizmi (penemu aljabar dan angka nol). Dalam dunia komputer, algoritma didefinisikan sebagai:
2. Lima Ciri Utama Algoritma (Donald E. Knuth)
Menurut pakar ilmu komputer Donald E. Knuth, algoritma yang baik wajib memenuhi 5 kriteria:
- Keterbatasan (Finiteness): Algoritma harus berhenti setelah mengerjakan sejumlah langkah berhingga. Tidak boleh terjadi infinite loop (perulangan abadi tanpa henti).
- Kepastian (Definiteness): Setiap langkah instruksi harus didefinisikan secara tepat, jelas, dan tidak memiliki makna ganda (ambigu).
- Masukan (Input): Memiliki nol atau lebih masukan yang diberikan kepada algoritma sebelum dieksekusi.
- Keluaran (Output): Menghasilkan minimal satu atau lebih luaran sebagai solusi atas masalah yang diselesaikan.
- Efektivitas (Effectiveness): Setiap instruksi harus sesederhana mungkin sehingga dapat dikerjakan dalam waktu yang wajar dan realistis.
3. Tiga Cara Penyajian Algoritma
| Metode | Karakteristik | Kelebihan | Kelemahan |
|---|---|---|---|
| 1. Bahasa Natural (Deskriptif) | Ditulis dengan kalimat bahasa sehari-hari (Bahasa Indonesia / Inggris) terstruktur. | Mudah dipahami orang awam tanpa latar belakang pemrograman. | Rentan ambigu dan panjang jika masalahnya kompleks. |
| 2. Pseudocode (Kode Semu) | Notasi teks terstruktur yang menyerupai bahasa pemrograman tingkat tinggi (seperti Pascal / C / Python). | Sangat mudah diterjemahkan langsung ke bahasa pemrograman komputer. | Membutuhkan pemahaman dasar sintaks kode. |
| 3. Flowchart (Diagram Alir) | Bagan grafis yang menggunakan simbol-simbol geometris standar ANSI/ISO. | Alur logika terlihat jelas secara visual, memudahkan pelacakan cabang dan loop. | Memakan tempat dan butuh software gambar diagram. |
4. Simbol-Simbol Standar Flowchart (ANSI / ISO)
Berikut adalah tabel simbol flowchart resmi yang digunakan dalam rekayasa perangkat lunak dan simulasi digital:
| Bentuk | Nama Simbol | Fungsi & Keterangan |
|---|---|---|
| β¬ | Terminator | Menandakan awal (Start / Begin) atau akhir (End / Stop) dari suatu diagram alir. |
| β | Process (Proses) | Menunjukkan tindakan pengolahan data, perhitungan matematika, atau penugasan variabel (x = a + b). |
| β± | Input / Output (Data) | Menunjukkan operasi pembacaan masukan (Read / Input) atau pencetakan hasil (Print / Display). |
| β | Decision (Percabangan) | Titik pengambilan keputusan berdasarkan kondisi logika (menghasilkan nilai True / Ya atau False / Tidak). |
| ⬑ | Preparation (Inisialisasi) | Memberikan nilai awal pada variabel pencacah / counter sebelum looping. |
| β§ | Predefined Process (Sub-program) | Menjalankan prosedur atau fungsi modul yang didefinisikan di tempat lain. |
| β | On-Page Connector | Penghubung alur diagram pada halaman kertas yang sama (untuk merapikan garis silang). |
| β | Off-Page Connector | Penghubung alur diagram jika flowchart berpindah ke halaman lembar berikutnya. |
| β | Flow Line (Arah Alir) | Menunjukkan arah aliran eksekusi instruksi berikutnya. |
Gambar 2.1: Simbol-simbol dasar pembuatan bagan alir (Flowchart).
Gambar 2.2: Simbol pengolahan dan konektor antar halaman.
Gambar 2.3: Contoh struktur keputusan dan diagram alur eksekusi.
5. Studi Kasus Pemecahan Masalah Nyata
Ketika menghadapi permasalahan dalam kehidupan sehari-hari (misalnya lampu belajar padam), kita menerapkan algoritma penalaran logis:
Gambar 2.4: Flowchart penanganan masalah lampu meja belajar yang padam.
- Logika melatih ketajaman berpikir benar dan runtut, sedangkan Algoritma adalah panduan langkah demi langkah untuk menyelesaikan masalah.
- Tiga struktur dasar algoritma adalah Runtunan (Sequence), Percabangan (Branching), dan Perulangan (Looping).
- Pembuatan flowchart sebelum menulis kode program mencegah kesalahan logika fatal dan menghemat waktu pengujian sistem.