Algoritma - INF


1. Pengertian Algoritma

Algoritma adalah urutan langkah-langkah yang logis, sistematis, dan terstruktur untuk menyelesaikan suatu masalah atau mencapai tujuan tertentu.

Sederhananya:

Algoritma = langkah-langkah untuk menyelesaikan masalah.

Contoh dalam kehidupan sehari-hari adalah langkah membuat mi instan:

  1. Siapkan mi dan bumbu.

  2. Rebus air.

  3. Masukkan mi.

  4. Tunggu beberapa menit.

  5. Masukkan bumbu.

  6. Aduk hingga rata.

  7. Mi siap dimakan.

Langkah tersebut merupakan algoritma karena dilakukan secara berurutan untuk menghasilkan tujuan tertentu.


2. Ciri-Ciri Algoritma

Sebuah algoritma yang baik memiliki beberapa ciri:

CiriPenjelasan
JelasSetiap langkah mudah dipahami
LogisLangkah-langkah masuk akal
BerurutanDilakukan sesuai urutan
TerbatasMemiliki akhir/berhenti
EfektifLangkahnya dapat dilaksanakan
Memiliki inputDapat menerima data masukan
Menghasilkan outputMenghasilkan suatu hasil

Contoh

Masalah: Menghitung luas persegi panjang

Input:

  • Panjang

  • Lebar

Proses:

  • Luas = panjang × lebar

Output:

  • Nilai luas


3. Struktur Dasar Algoritma

Secara umum terdapat tiga struktur dasar algoritma:

A. Sequence (Urutan)

Instruksi dijalankan satu per satu sesuai urutan.

Contoh:

1. Masukkan panjang
2. Masukkan lebar
3. Hitung luas = panjang × lebar
4. Tampilkan luas

B. Selection (Percabangan)

Digunakan ketika program harus memilih berdasarkan kondisi tertentu.

Contoh:

Jika nilai >= 75
    tampilkan "LULUS"
Jika tidak
    tampilkan "TIDAK LULUS"

Misalnya nilai siswa = 80:

80 >= 75 → BENAR → LULUS

C. Repetition (Perulangan)

Digunakan ketika suatu langkah harus dilakukan berulang kali.

Contoh:

Cetak angka 1 sampai 5

Hasil:

1
2
3
4
5

Daripada menulis:

Cetak 1
Cetak 2
Cetak 3
Cetak 4
Cetak 5

kita dapat menggunakan perulangan.


4. Cara Menyusun Algoritma

Untuk membuat algoritma, siswa dapat menggunakan langkah berikut:

Langkah 1 – Tentukan masalah

Contoh:

Menghitung luas lingkaran.

Langkah 2 – Tentukan input

Input:

Jari-jari lingkaran

Langkah 3 – Tentukan proses

Rumus:

Luas = π × r × r

Langkah 4 – Tentukan output

Output:

Luas lingkaran

Langkah 5 – Susun langkah algoritma

1. Mulai
2. Masukkan nilai jari-jari
3. Hitung luas = 3,14 × r × r
4. Tampilkan luas
5. Selesai

5. Bentuk Penyajian Algoritma

Algoritma dapat dituliskan dalam beberapa bentuk.

A. Bahasa Natural

Algoritma ditulis menggunakan bahasa sehari-hari.

Contoh:

Menghitung luas persegi

1. Mulai
2. Masukkan sisi
3. Hitung luas dengan rumus sisi × sisi
4. Tampilkan luas
5. Selesai

B. Pseudocode

Pseudocode adalah penulisan algoritma yang menyerupai bahasa pemrograman tetapi lebih sederhana dan mudah dipahami manusia.

Contoh:

ALGORITMA LuasPersegi

INPUT sisi
luas ← sisi × sisi
OUTPUT luas

SELESAI

Contoh lain:

ALGORITMA MenentukanKelulusan

INPUT nilai

IF nilai >= 75 THEN
    OUTPUT "LULUS"
ELSE
    OUTPUT "TIDAK LULUS"
ENDIF

SELESAI

6. Flowchart

Flowchart atau diagram alir adalah cara menggambarkan algoritma menggunakan simbol-simbol tertentu.

Beberapa simbol penting: 


SimbolNamaFungsi
OvalTerminatorMulai/Selesai
Jajar genjangInput/OutputMasukan/Keluaran
Persegi panjangProcessProses
Belah ketupatDecisionPercabangan
PanahFlowlineArah alur

Contoh Flowchart Menghitung Luas Persegi

       ┌───────────┐
       │   MULAI   │terminator
       └─────┬─────┘
             ↓
      ┌──────────────┐
      │ Input sisi   │jajar genjang
      └──────┬───────┘
             ↓
      ┌──────────────┐
      │ luas = sisi² │ persegi panjang
      └──────┬───────┘
             ↓
      ┌──────────────┐
      │ Tampilkan    │
      │    luas      │jajar genjang
      └──────┬───────┘
             ↓
       ┌───────────┐
       │  SELESAI  │oval
       └───────────┘

7. Contoh Algoritma dalam Kehidupan Sehari-hari

Contoh 1 – Menentukan Bilangan Genap atau Ganjil

Masalah

Menentukan apakah sebuah bilangan termasuk genap atau ganjil.

Algoritma

1. Mulai
2. Masukkan bilangan
3. Jika bilangan habis dibagi 2
      tampilkan "GENAP"
   Jika tidak
      tampilkan "GANJIL"
4. Selesai

Pseudocode

INPUT angka

IF angka MOD 2 = 0 THEN
    OUTPUT "GENAP"
ELSE
    OUTPUT "GANJIL"
ENDIF

Jika:

angka = 15

Maka:

15 MOD 2 = 1

Output:

GANJIL

8. Contoh Algoritma Menghitung Nilai Siswa

Misalnya seorang siswa mendapatkan:

  • Nilai tugas = 80

  • Nilai UTS = 70

  • Nilai UAS = 90

Rumus:

Nilai Akhir =
(30% × Tugas) +
(30% × UTS) +
(40% × UAS)

Algoritma

1. Mulai
2. Input nilai tugas
3. Input nilai UTS
4. Input nilai UAS
5. Hitung nilai akhir
6. Jika nilai akhir >= 75
      tampilkan "LULUS"
   Jika tidak
      tampilkan "TIDAK LULUS"
7. Tampilkan nilai akhir
8. Selesai

Pseudocode

INPUT tugas
INPUT uts
INPUT uas

nilai_akhir ← (0.3 × tugas) +
               (0.3 × uts) +
               (0.4 × uas)

IF nilai_akhir >= 75 THEN
    status ← "LULUS"
ELSE
    status ← "TIDAK LULUS"
ENDIF

OUTPUT nilai_akhir
OUTPUT status

9. Contoh Algoritma Perulangan

Masalah:

Menampilkan tulisan "Saya belajar Informatika" sebanyak 5 kali.

Algoritma

1. Mulai
2. Tentukan jumlah perulangan = 5
3. Tampilkan "Saya belajar Informatika"
4. Ulangi sampai 5 kali
5. Selesai

Pseudocode

FOR i ← 1 TO 5
    OUTPUT "Saya belajar Informatika"
END FOR

Output:

Saya belajar Informatika
Saya belajar Informatika
Saya belajar Informatika
Saya belajar Informatika
Saya belajar Informatika

10. Contoh Algoritma dengan Python

Algoritma menghitung luas persegi panjang:

panjang = float(input("Masukkan panjang: "))
lebar = float(input("Masukkan lebar: "))

luas = panjang * lebar

print("Luas =", luas)

Jika input:

Panjang = 10
Lebar = 5

Maka:

Luas = 50

Contoh Percabangan Python

nilai = int(input("Masukkan nilai: "))

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

Contoh Perulangan Python

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

Hasil:

1
2
3
4
5

11. Variabel dalam Algoritma

Variabel adalah tempat untuk menyimpan data yang nilainya dapat berubah.

Contoh:

nama = "Budi"
umur = 16
nilai = 85

Jenis data yang umum:

Jenis DataContoh
Integer10, 25, 100
Float3.14, 7.5
String"Budi"
BooleanTrue / False

12. Operator dalam Algoritma

Operator Aritmatika

OperatorFungsiContoh
+Penjumlahan10 + 5
-Pengurangan10 - 5
*Perkalian10 * 5
/Pembagian10 / 5
%Sisa pembagian10 % 3

Operator Perbandingan

OperatorArti
>Lebih besar
<Lebih kecil
>=Lebih besar/sama dengan
<=Lebih kecil/sama dengan
==Sama dengan
!=Tidak sama dengan

13. Kesalahan yang Sering Terjadi Saat Membuat Algoritma

Siswa sering mengalami beberapa kesalahan:

  1. Langkah tidak berurutan

  2. Tidak menentukan input

  3. Tidak menentukan output

  4. Kondisi percabangan tidak jelas

  5. Perulangan tidak memiliki kondisi berhenti

  6. Rumus yang digunakan salah

  7. Algoritma terlalu rumit untuk masalah sederhana

Tips

Sebelum membuat program, biasakan menggunakan pola:

Masalah → Input → Proses → Output


14. Kesimpulan

Algoritma merupakan dasar penting dalam pemrograman. Sebelum membuat program, seorang programmer sebaiknya menyusun algoritma terlebih dahulu.

Tiga struktur dasar algoritma adalah:

1. Sequence → urutan

2. Selection → percabangan

3. Repetition → perulangan

Algoritma dapat ditulis menggunakan:

  • Bahasa natural

  • Pseudocode

  • Flowchart

Kemampuan membuat algoritma akan membantu siswa berpikir logis, sistematis, kritis, dan mampu memecahkan masalah sebelum diterjemahkan ke dalam bahasa pemrograman seperti Python, Pascal, Java, atau bahasa lainnya.

Latihan untuk siswa

  1. Buat algoritma untuk menghitung luas segitiga.

  2. Buat pseudocode untuk menentukan apakah seseorang boleh membuat SIM berdasarkan umur.

  3. Buat flowchart untuk menentukan bilangan positif atau negatif.

  4. Buat algoritma menghitung total harga 3 barang.

  5. Buat algoritma untuk menampilkan angka 1–20.

  6. Buat algoritma untuk menentukan nilai terbesar dari dua bilangan.

  7. Buat algoritma menghitung rata-rata 5 nilai siswa.

  8. Buat algoritma kasir sederhana yang menghitung total belanja dan diskon.

Komentar

TOP RATE

PRODUKSI KONTEN DIGITAL

SISTEM KOMPUTER

PEMBELAJARAN STEAM

Sejarah dan Pengenalan Sistem Bilangan

KODING & KECERDASAN ARTIFISIAL (KKA)

Pemprograman Pascal - INF

Konsep Dasar Basis Data - KKA

Pengertian Database dan MySQL