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:
Siapkan mi dan bumbu.
Rebus air.
Masukkan mi.
Tunggu beberapa menit.
Masukkan bumbu.
Aduk hingga rata.
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:
| Ciri | Penjelasan |
|---|---|
| Jelas | Setiap langkah mudah dipahami |
| Logis | Langkah-langkah masuk akal |
| Berurutan | Dilakukan sesuai urutan |
| Terbatas | Memiliki akhir/berhenti |
| Efektif | Langkahnya dapat dilaksanakan |
| Memiliki input | Dapat menerima data masukan |
| Menghasilkan output | Menghasilkan 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:
| Simbol | Nama | Fungsi |
|---|---|---|
| Oval | Terminator | Mulai/Selesai |
| Jajar genjang | Input/Output | Masukan/Keluaran |
| Persegi panjang | Process | Proses |
| Belah ketupat | Decision | Percabangan |
| Panah | Flowline | Arah 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 Data | Contoh |
|---|---|
| Integer | 10, 25, 100 |
| Float | 3.14, 7.5 |
| String | "Budi" |
| Boolean | True / False |
12. Operator dalam Algoritma
Operator Aritmatika
| Operator | Fungsi | Contoh |
|---|---|---|
| + | Penjumlahan | 10 + 5 |
| - | Pengurangan | 10 - 5 |
| * | Perkalian | 10 * 5 |
| / | Pembagian | 10 / 5 |
| % | Sisa pembagian | 10 % 3 |
Operator Perbandingan
| Operator | Arti |
|---|---|
> | 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:
Langkah tidak berurutan
Tidak menentukan input
Tidak menentukan output
Kondisi percabangan tidak jelas
Perulangan tidak memiliki kondisi berhenti
Rumus yang digunakan salah
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
Buat algoritma untuk menghitung luas segitiga.
Buat pseudocode untuk menentukan apakah seseorang boleh membuat SIM berdasarkan umur.
Buat flowchart untuk menentukan bilangan positif atau negatif.
Buat algoritma menghitung total harga 3 barang.
Buat algoritma untuk menampilkan angka 1–20.
Buat algoritma untuk menentukan nilai terbesar dari dua bilangan.
Buat algoritma menghitung rata-rata 5 nilai siswa.
Buat algoritma kasir sederhana yang menghitung total belanja dan diskon.
Komentar
Posting Komentar