πŸ’» Modul 02 dari 13 100% Offline Ready

02. Logika dan Algoritma Pemrograman

πŸ’» Informatika & Simulasi Digital

02. Logika dan Algoritma Pemrograman

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:

πŸ“Œ Definisi Algoritma: Urutan langkah-langkah logis dan sistematis untuk menyelesaikan suatu masalah tertentu atau menghasilkan keluaran yang diinginkan dari suatu masukan.

2. Lima Ciri Utama Algoritma (Donald E. Knuth)

Menurut pakar ilmu komputer Donald E. Knuth, algoritma yang baik wajib memenuhi 5 kriteria:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ 5 CIRI UTAMA ALGORITMA (KNUTH) β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β–Ό β–Ό β–Ό β–Ό β–Ό β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚FINITENESSβ”‚ β”‚DEFINITE-β”‚ β”‚ INPUT β”‚ β”‚ OUTPUT β”‚ β”‚EFFECTIVEβ”‚ β”‚ EFEKTIF β”‚ β”‚ Berhenti β”‚ β”‚ NESS β”‚ β”‚ Masukan β”‚ β”‚ Luaran β”‚ β”‚ NESS β”‚ β”‚ Tepat & β”‚ β”‚ (Selesai)β”‚ β”‚ Jelas β”‚ β”‚(0 / lbh)β”‚ β”‚(min. 1) β”‚ β”‚ Masuk β”‚ β”‚ Efisien β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  1. Keterbatasan (Finiteness): Algoritma harus berhenti setelah mengerjakan sejumlah langkah berhingga. Tidak boleh terjadi infinite loop (perulangan abadi tanpa henti).
  2. Kepastian (Definiteness): Setiap langkah instruksi harus didefinisikan secara tepat, jelas, dan tidak memiliki makna ganda (ambigu).
  3. Masukan (Input): Memiliki nol atau lebih masukan yang diberikan kepada algoritma sebelum dieksekusi.
  4. Keluaran (Output): Menghasilkan minimal satu atau lebih luaran sebagai solusi atas masalah yang diselesaikan.
  5. 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.
Simbol Flowchart Standar

Gambar 2.1: Simbol-simbol dasar pembuatan bagan alir (Flowchart).

Simbol Lanjutan Flowchart

Gambar 2.2: Simbol pengolahan dan konektor antar halaman.

Contoh Diagram Alir

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:

Flowchart Lampu Tidak Menyala

Gambar 2.4: Flowchart penanganan masalah lampu meja belajar yang padam.

🎯 Rangkuman Pembelajaran:
  1. Logika melatih ketajaman berpikir benar dan runtut, sedangkan Algoritma adalah panduan langkah demi langkah untuk menyelesaikan masalah.
  2. Tiga struktur dasar algoritma adalah Runtunan (Sequence), Percabangan (Branching), dan Perulangan (Looping).
  3. Pembuatan flowchart sebelum menulis kode program mencegah kesalahan logika fatal dan menghemat waktu pengujian sistem.
← 01. Pengenalan Informatika Daftar Modul Informatika 03. Peta Minda →