Materi pengenalan algoritma dan pemrograman PERTEMUAN 1

Rangkuman Algoritma dan Pemrograman

1. Algoritma

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

Contoh:

Menghitung luas persegi panjang → masukkan panjang dan lebar → hitung luas → tampilkan hasil.

Algoritma dapat ditulis dalam bahasa sehari-hari, pseudocode, atau flowchart.

 

2. Pemrograman

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

Alurnya:

Masalah

   ↓

Analisis

   ↓

Algoritma

   ↓

Pseudocode / Flowchart

   ↓

Program

   ↓

Output

 

3. Tujuan Algoritma dan Pemrograman

Mempelajari algoritma dan pemrograman bertujuan untuk:

  • Melatih berpikir logis dan komputasional.
  • Memecahkan masalah secara sistematis.
  • Membuat program dan aplikasi.
  • Mengotomatisasi pekerjaan.
  • Memahami cara kerja komputer.

 

4. Ciri-Ciri Algoritma yang Baik

Algoritma harus memiliki:

  • Input → data yang masuk.
  • Output → hasil yang keluar.
  • Definiteness → setiap langkah jelas.
  • Finiteness → memiliki akhir.
  • Effectiveness → setiap langkah dapat dilakukan dan berguna.

 

5. Tahapan Membuat Program

Identifikasi Masalah

        ↓

Analisis Input, Proses, Output

        ↓

Membuat Algoritma

        ↓

Pseudocode / Flowchart

        ↓

Implementasi Program

        ↓

Testing

        ↓

Debugging

        ↓

Dokumentasi & Pemeliharaan

 

6. Tiga Struktur Dasar Algoritma

A. Runtunan (Sequence)

Instruksi dijalankan secara berurutan.

panjang = 10

lebar = 5

luas = panjang * lebar

print(luas)

B. Percabangan (Selection)

Digunakan untuk memilih berdasarkan kondisi.

if nilai >= 60:

    print("LULUS")

else:

    print("TIDAK LULUS")

Jenisnya:

  • if
  • if-else
  • if-elif-else
  • nested if

C. Perulangan (Looping)

Digunakan untuk menjalankan perintah berulang kali.

for i in range(1, 6):

    print(i)

Jenis utama:

  • for
  • while

 

7. Variabel dan Tipe Data

Variabel adalah tempat menyimpan data.

nama = "Budi"

umur = 20

tinggi = 170.5

lulus = True

Tipe data dasar:

  • int → bilangan bulat
  • float → bilangan desimal
  • str → teks
  • bool → True / False

Struktur data:

  • list
  • tuple
  • dictionary
  • set

 

8. Operator

Aritmatika

+   -   *   /   %   //   **

Digunakan untuk operasi matematika.

Perbandingan

==   !=   >   <   >=   <=

Hasilnya berupa True atau False.

Logika

and

or

not

Digunakan untuk menggabungkan kondisi.

 

9. Input dan Output

Input digunakan untuk menerima data dari pengguna:

nama = input("Nama: ")

Output digunakan untuk menampilkan hasil:

print("Halo", nama)

Perlu diingat, input() menghasilkan data bertipe string, sehingga angka biasanya perlu dikonversi:

umur = int(input("Umur: "))

10. Pseudocode dan Flowchart

Pseudocode

Penulisan algoritma menggunakan bahasa sederhana yang menyerupai program.

Flowchart

Diagram untuk menggambarkan alur algoritma.

Simbol penting:

Oval              → Mulai / Selesai

Persegi           → Proses

Jajar Genjang     → Input / Output

Belah Ketupat     → Percabangan / Keputusan

Panah             → Alur

 

11. Fungsi

Fungsi adalah sekumpulan instruksi untuk melakukan tugas tertentu dan dapat digunakan kembali.

def luas(panjang, lebar):

    return panjang * lebar

Manfaat fungsi:

  • Program lebih terstruktur.
  • Mengurangi pengulangan kode.
  • Kode dapat digunakan kembali.
  • Lebih mudah dipelihara.

 

12. List / Array

Digunakan untuk menyimpan banyak data.

nilai = [80, 75, 90, 85]

Index dimulai dari 0.

print(nilai[0])

List juga dapat diproses menggunakan perulangan.

 

13. Searching dan Sorting

Searching

Digunakan untuk mencari data.

Contoh:

  • Linear Search
  • Binary Search

Sorting

Digunakan untuk mengurutkan data.

Contoh:

  • Bubble Sort
  • Selection Sort
  • Insertion Sort
  • Merge Sort
  • Quick Sort
  • Heap Sort

 

14. Kompleksitas Algoritma

Kompleksitas menunjukkan efisiensi algoritma, terutama dari sisi waktu dan penggunaan sumber daya.

Notasi yang umum:

O(1)       → Konstan

O(log n)   → Logaritmik

O(n)       → Linear

O(n log n) → Linear-logaritmik

O(n²)      → Kuadratik

O(2ⁿ)      → Eksponensial

Semakin efisien algoritma, semakin baik kemampuannya menangani data dalam jumlah besar.

 

15. Debugging

Debugging adalah proses mencari dan memperbaiki kesalahan dalam program.

Jenis kesalahan:

  • Syntax Error → salah penulisan kode.
  • Runtime Error → error saat program dijalankan.
  • Logic Error → program berjalan tetapi hasilnya salah.

Yang paling penting untuk dipahami:

ALGORITMA

= Langkah-langkah menyelesaikan masalah

 

PEMROGRAMAN

= Menerjemahkan algoritma menjadi kode

Konsep dasar pemrograman:

INPUT → PROSES → OUTPUT

Tiga struktur utama:

RUNTUNAN

   ↓

PERCABANGAN

   ↓

PERULANGAN

Kemudian dikembangkan dengan:

Variabel

Tipe Data

Operator

Fungsi

List

Searching

Sorting

Kompleksitas

Debugging

Singkatnya: belajar pemrograman bukan hanya belajar menulis kode, tetapi belajar bagaimana memecahkan masalah secara logis dan sistematis lalu menerjemahkannya menjadi program.

 

berikut link guthub nya:

https://github.com/mraflipaqihatur/Algoritma-Pemrograman/tree/main/LATIHAN%201

Komentar

Postingan populer dari blog ini

Materi Variabel dan Tipe Data – Pertemuan 2 Algoritma dan Pemrograman

MATERI TENTANG BUBBLE SORT DALAM PERULANGAN WHILE