Materi 1 Algoritma dan Pemrograman

 

1. Algoritma

Algoritma adalah urutan langkah yang logis, sistematis, terstruktur, dan memiliki akhir untuk menyelesaikan suatu masalah.

Contoh:
Input panjang & lebar → hitung luas → tampilkan hasil.

Algoritma dapat dibuat dalam bentuk:

  • Bahasa sehari-hari

  • Pseudocode

  • Flowchart

2. Pemrograman

Pemrograman adalah proses menerjemahkan algoritma ke dalam bahasa pemrograman agar dapat dijalankan oleh komputer.

Hubungannya:

Masalah → Analisis → Algoritma → Pseudocode/Flowchart → Program → Output

3. Tujuan Algoritma dan Pemrograman

  • Melatih berpikir logis.

  • Memecahkan masalah secara sistematis.

  • Memahami cara kerja komputer.

  • Membuat aplikasi/program.

  • Mengotomatisasi pekerjaan.

  • Mengembangkan kemampuan berpikir komputasional.

4. Karakteristik Algoritma

Algoritma yang baik memiliki:

  • Input → data masukan.

  • Output → hasil keluaran.

  • Definiteness → setiap langkah jelas.

  • Finiteness → memiliki akhir.

  • Effectiveness → setiap langkah dapat dilakukan.

5. Tahapan Membuat Program

  1. Identifikasi masalah.

  2. Analisis masalah.

  3. Tentukan Input – Process – Output.

  4. Buat algoritma.

  5. Buat pseudocode/flowchart.

  6. Implementasikan ke bahasa pemrograman.

  7. Testing.

  8. Debugging.

  9. Dokumentasi dan pemeliharaan.

6. Tiga Struktur Dasar Algoritma

Runtunan
Perintah dijalankan secara berurutan.

Percabangan
Program memilih tindakan berdasarkan kondisi, misalnya:

if nilai >= 60:
    print("LULUS")
else:
    print("TIDAK LULUS")

Perulangan
Perintah dijalankan berulang kali menggunakan for atau while.

for i in range(1, 6):
    print(i)

7. Variabel dan Tipe Data

Variabel adalah tempat menyimpan data.

Contoh:

nama = "Budi"
umur = 20
nilai = 85

Tipe data utama:

  • Integer → bilangan bulat.

  • Float → bilangan desimal.

  • String → teks.

  • Boolean → True atau False.

8. Operator

Aritmatika: +, -, *, /, %, //, **

Perbandingan: ==, !=, >, <, >=, <=

Logika: and, or, not

9. Input dan Output

Input digunakan untuk menerima data:

nama = input("Masukkan nama: ")

Output digunakan untuk menampilkan data:

print("Halo", nama)

10. Pseudocode dan Flowchart

Pseudocode adalah penulisan algoritma menggunakan bahasa sederhana yang menyerupai program.

Flowchart adalah diagram untuk menggambarkan alur algoritma.

Simbol penting flowchart:

  • Oval → Start/End

  • Persegi panjang → Process

  • Jajar genjang → Input/Output

  • Belah ketupat → Decision

  • Panah → Aliran

11. Fungsi

Fungsi adalah kumpulan instruksi untuk melakukan tugas tertentu.

Manfaat:

  • Program lebih terstruktur.

  • Kode dapat digunakan kembali.

  • Mengurangi pengulangan kode.

  • Lebih mudah dipelihara.

12. List/Array

Digunakan untuk menyimpan banyak data dalam satu variabel.

nilai = [80, 75, 90, 85, 70]

Data dapat diproses menggunakan perulangan.

13. Searching dan Sorting

Searching → mencari data.

  • Linear Search

  • Binary Search

Binary Search membutuhkan data yang sudah terurut dan memiliki kompleksitas sekitar O(log n).

Sorting → mengurutkan data.

  • Bubble Sort

  • Selection Sort

  • Insertion Sort

  • Merge Sort

  • Quick Sort

  • Heap Sort

14. Kompleksitas Algoritma

Big O digunakan untuk menggambarkan efisiensi algoritma.

Yang penting dikenali:

  • O(1) → konstan

  • O(log n) → logaritmik

  • O(n) → linear

  • O(n log n)

  • O(n²) → kuadratik

  • O(2ⁿ) → eksponensial

15. Debugging

Debugging adalah proses mencari dan memperbaiki kesalahan program.

Jenis kesalahan:

  • Syntax Error → salah menulis sintaks.

  • Runtime Error → error saat program dijalankan.

  • Logic Error → program berjalan tetapi hasilnya salah.

Inti Materi yang Wajib Diingat

Algoritma = langkah-langkah menyelesaikan masalah.
Pemrograman = menerjemahkan algoritma menjadi program.

Pola dasar:

INPUT → PROSES → OUTPUT

Tiga struktur utama:

RUNTUNAN + PERCABANGAN + PERULANGAN

Dan alur membuat program:

MASALAH → ANALISIS → ALGORITMA → PROGRAM → TESTING → DEBUGGING


berikut adalah link github :

https://github.com/Firdaus2106/Algoritma-Pemrograman/tree/main/latihan%201

Komentar

Postingan Populer