MATERI INFORMATIKA KELAS X SMK
BAB: ALGORITMA DAN PEMROGRAMAN
A. Tujuan Pembelajaran
Setelah mempelajari materi ini, peserta didik diharapkan mampu:
Menjelaskan pengertian algoritma.
Menjelaskan karakteristik algoritma yang baik.
Mengidentifikasi masalah yang dapat diselesaikan menggunakan algoritma.
Menyusun langkah-langkah penyelesaian masalah secara sistematis.
Membuat algoritma menggunakan bahasa natural.
Membuat algoritma menggunakan pseudocode.
Membuat algoritma dalam bentuk flowchart.
Menerapkan algoritma sederhana dalam kehidupan sehari-hari dan pemrograman.
B. Pengertian Algoritma
Algoritma adalah urutan langkah-langkah yang logis, sistematis, dan terstruktur untuk menyelesaikan suatu masalah atau mencapai tujuan tertentu.
Sederhananya:
Masalah → Algoritma → Solusi
Contoh sederhana:
Masalah: Bagaimana cara menyalakan lampu?
Algoritmanya:
Siapkan sumber listrik.
Hubungkan rangkaian listrik.
Tekan saklar.
Lampu menyala.
Dalam pemrograman, algoritma menjadi dasar sebelum seseorang membuat program.
C. Contoh Algoritma dalam Kehidupan Sehari-hari
Algoritma tidak hanya digunakan dalam komputer.
Contohnya:
1. Algoritma Membuat Mi Instan
Siapkan mi dan peralatan.
Masukkan air ke dalam panci.
Panaskan air.
Tunggu hingga air mendidih.
Masukkan mi.
Tunggu beberapa menit.
Masukkan bumbu.
Aduk mi.
Mi siap disajikan.
2. Algoritma Menghidupkan Sepeda Motor
Pastikan kunci kontak tersedia.
Masukkan kunci.
Putar kunci ke posisi ON.
Pastikan kondisi aman.
Tekan tombol starter.
Mesin menyala.
3. Algoritma Menghitung Luas Persegi Panjang
Diketahui:
Panjang = P
Lebar = L
Langkah:
Masukkan nilai panjang.
Masukkan nilai lebar.
Hitung
Luas = Panjang × Lebar.Tampilkan luas.
D. Ciri-Ciri Algoritma yang Baik
Algoritma yang baik memiliki beberapa karakteristik:
1. Memiliki Input
Algoritma dapat menerima data masukan.
Contoh:
Masukkan nilai panjang dan lebar.
2. Memiliki Output
Algoritma menghasilkan keluaran.
Contoh:
Menampilkan luas persegi panjang.
3. Langkah-Langkah Jelas
Setiap langkah harus mudah dipahami dan tidak membingungkan.
4. Logis
Langkah yang dibuat harus masuk akal.
5. Terbatas
Algoritma harus memiliki akhir atau berhenti setelah sejumlah langkah tertentu.
6. Efektif
Setiap langkah harus dapat dilaksanakan untuk mendapatkan solusi.
E. Struktur Dasar Algoritma
Secara umum terdapat tiga struktur dasar algoritma:
1. Sequence / Urutan
Instruksi dilakukan secara berurutan.
Contoh:
1. Masukkan nilai A
2. Masukkan nilai B
3. Hitung A + B
4. Tampilkan hasil2. Selection / Percabangan
Digunakan ketika terdapat kondisi tertentu.
Contoh:
Jika nilai >= 75
maka "LULUS"
Jika tidak
maka "TIDAK LULUS"Contoh dalam kehidupan:
Jika hujan, membawa payung.
Jika tidak hujan, tidak membawa payung.
3. Looping / Perulangan
Digunakan ketika suatu proses harus dilakukan berulang kali.
Contoh:
Ulangi sebanyak 5 kali:
Tampilkan "Halo"Hasil:
Halo
Halo
Halo
Halo
HaloF. Cara Menyusun Algoritma
Untuk membuat algoritma, gunakan langkah berikut:
Langkah 1 — Tentukan masalah
Contoh:
Menghitung nilai rata-rata siswa.
Langkah 2 — Tentukan input
Input:
Nilai Bahasa Indonesia
Nilai Matematika
Nilai Informatika
Langkah 3 — Tentukan proses
Rata-rata = (Nilai1 + Nilai2 + Nilai3) / 3Langkah 4 — Tentukan output
Output:
Nilai rata-rata siswa.
G. Algoritma dengan Bahasa Natural
Bahasa natural adalah algoritma yang ditulis menggunakan bahasa sehari-hari.
Contoh:
Masalah: Menentukan apakah siswa lulus.
1. Masukkan nilai siswa.
2. Jika nilai lebih besar atau sama dengan 75,
tampilkan "LULUS".
3. Jika nilai kurang dari 75,
tampilkan "TIDAK LULUS".
4. Selesai.H. Pseudocode
Pseudocode adalah penulisan algoritma menggunakan struktur yang menyerupai bahasa pemrograman tetapi mudah dipahami manusia.
Contoh:
ALGORITMA MenentukanKelulusan
INPUT nilai
IF nilai >= 75 THEN
OUTPUT "LULUS"
ELSE
OUTPUT "TIDAK LULUS"
ENDIFContoh lain:
ALGORITMA LuasPersegiPanjang
INPUT panjang
INPUT lebar
luas ← panjang × lebar
OUTPUT luasI. Flowchart
Flowchart adalah diagram yang digunakan untuk menggambarkan alur atau langkah-langkah algoritma.
Simbol dasar:
| Simbol | Nama | Fungsi |
|---|---|---|
| Oval | Terminator | Mulai/selesai |
| Jajar genjang | Input/Output | Input atau output |
| Persegi panjang | Process | Proses |
| Belah ketupat | Decision | Percabangan/kondisi |
| Panah | Flowline | Menunjukkan arah alur |
Contoh algoritma menentukan kelulusan:
MULAI
↓
Input nilai
↓
Nilai >= 75?
↙ ↘
YA TIDAK
↓ ↓
"LULUS" "TIDAK LULUS"
↘ ↙
↓
SELESAIJ. Contoh Algoritma pada Projek Arduino
Karena siswa SMK juga dapat belajar melalui projek, algoritma dapat dikaitkan dengan Arduino.
Contoh: Lampu Otomatis
Masalah: Lampu menyala ketika tombol ditekan.
Algoritma:
1. Mulai.
2. Siapkan tombol dan LED.
3. Baca kondisi tombol.
4. Jika tombol ditekan:
LED menyala.
5. Jika tombol tidak ditekan:
LED mati.
6. Kembali membaca tombol.Pseudocode:
MULAI
Baca tombol
JIKA tombol ditekan
LED = ON
JIKA tidak
LED = OFF
ULANGI
SELESAIDengan cara ini siswa dapat memahami bahwa coding sebenarnya adalah penerapan algoritma ke dalam bahasa pemrograman.
K. Ringkasan Materi
Algoritma adalah langkah-langkah sistematis untuk menyelesaikan masalah.
Tiga struktur utama algoritma:
Sequence → urutan.
Selection → percabangan.
Looping → perulangan.
Algoritma dapat ditulis menggunakan:
Bahasa natural
Pseudocode
Flowchart
KERJAKAN SOAL ESSAY
Soal 1
Jelaskan pengertian algoritma dengan menggunakan bahasa kalian sendiri!
Soal 2
Sebutkan dan jelaskan 3 karakteristik algoritma yang baik!
Soal 3
Jelaskan perbedaan antara sequence, selection, dan looping!
Soal 4
Buatlah algoritma menggunakan bahasa natural untuk menghitung luas persegi!
Soal 5
Buatlah pseudocode untuk menentukan apakah seorang siswa lulus atau tidak lulus jika nilai minimal kelulusan adalah 75!
Soal 6
Jelaskan apa yang dimaksud dengan flowchart dan apa kegunaannya!
Soal 7
Sebutkan minimal 5 simbol flowchart dan jelaskan fungsinya!
Soal 8
Buatlah algoritma untuk menyalakan lampu menggunakan tombol!
Soal 9
Buatlah algoritma sederhana untuk menghitung rata-rata tiga nilai siswa!
Soal 10
Buatlah algoritma dari kegiatan berikut:
"Ketika sensor mendeteksi objek pada jarak kurang dari 10 cm, buzzer berbunyi. Jika objek lebih dari atau sama dengan 10 cm, buzzer mati."
LKPD
KERJAKAN LEMBAR KERJA PESERTA DIDIK
A. Tujuan Kegiatan
Setelah mengerjakan LKPD ini, peserta didik mampu:
Mengidentifikasi masalah.
Menentukan input, proses, dan output.
Membuat algoritma.
Membuat pseudocode.
Membuat flowchart.
Menerapkan algoritma pada masalah sederhana.
KEGIATAN 1 — Mengenal Algoritma
Perhatikan kegiatan berikut:
"Membuat Teh Manis"
Tuliskan langkah-langkahnya secara berurutan.
Jawaban:
.................................................................
.................................................................
.................................................................
.................................................................
.................................................................
.................................................................
.................................................................
Pertanyaan
Mengapa langkah-langkah tersebut harus dilakukan secara berurutan?
....................................................................................
Apa yang terjadi jika langkahnya tidak berurutan?
....................................................................................
KEGIATAN 2 — Input, Proses, Output
Perhatikan masalah:
Program menghitung luas persegi panjang.
Lengkapi tabel berikut.
| Komponen | Jawaban |
|---|---|
| Input | ................................ |
| Proses | ................................ |
| Output | ................................ |
Kemudian tuliskan algoritmanya:
1. ................................................
2. ................................................
3. ................................................
4. ................................................KEGIATAN 3 — Membuat Pseudocode
Permasalahan
Buatlah pseudocode untuk menentukan apakah siswa LULUS atau TIDAK LULUS.
Ketentuan:
Nilai ≥ 75 → LULUS
Nilai < 75 → TIDAK LULUS
Tuliskan pseudocode kalian:
ALGORITMA ....................................
INPUT .........................................
IF ............................................
...........................................
ELSE
...........................................
ENDIF
OUTPUT ........................................KEGIATAN 4 — Membuat Flowchart
Buatlah flowchart berdasarkan algoritma berikut:
Program meminta nilai siswa. Jika nilai ≥ 75, tampilkan LULUS. Jika nilai < 75, tampilkan TIDAK LULUS.
Gambarkan flowchart di bawah ini:
┌─────────────────────┐
│ │
│ MULAI │
│ │
└──────────┬──────────┘
│
↓
┌─────────────────────┐
│ │
│ │
└──────────┬──────────┘
│
↓
◇────────◇
/ \
/ \
↓ ↓
YA TIDAK
↓ ↓
? ?
\ /
\ /
↓ ↓
SELESAIKEGIATAN 5 — Tantangan Projek
Kasus
Sekolah ingin membuat lampu otomatis sederhana.
Ketentuannya:
Jika tombol ditekan → lampu ON.
Jika tombol tidak ditekan → lampu OFF.
Tugas Kelompok
1. Tentukan Input
....................................................
2. Tentukan Proses
....................................................
3. Tentukan Output
....................................................
4. Buat algoritma
1. ................................................
2. ................................................
3. ................................................
4. ................................................
5. ................................................5. Buat pseudocode
....................................................
....................................................
....................................................
....................................................6. Buat flowchart
Gambarkan flowchart pada kotak berikut:
┌──────────────────────────────────────────────┐
│ │
│ │
│ │
│ FLOWCHART │
│ │
│ │
│ │
│ │
└──────────────────────────────────────────────┘KEGIATAN 6 — Tantangan Berpikir Komputasional
Kasus
Sebuah tempat parkir menggunakan sensor untuk mendeteksi kendaraan.
Ketentuan:
Jika kendaraan terdeteksi → palang terbuka.
Jika kendaraan tidak terdeteksi → palang tertutup.
Buat:
A. Input:
....................................................
B. Proses:
....................................................
C. Output:
....................................................
D. Algoritma:
....................................................
E. Pseudocode:
....................................................
F. Flowchart:
Gambarkan pada lembar kerja.
RUBRIK PENILAIAN LKPD
| Aspek | Skor 1 | Skor 2 | Skor 3 | Skor 4 |
|---|---|---|---|---|
| Pemahaman algoritma | Kurang | Cukup | Baik | Sangat baik |
| Menentukan input/proses/output | Kurang | Cukup | Baik | Sangat baik |
| Pseudocode | Kurang | Cukup | Baik | Sangat baik |
| Flowchart | Kurang | Cukup | Baik | Sangat baik |
| Kerja sama | Kurang | Cukup | Baik | Sangat baik |
| Presentasi | Kurang | Cukup | Baik | Sangat baik |
Skor maksimal = 24
Nilai:
Nilai = (Skor diperoleh ÷ 24) × 100
1 Comments
Algoritma adalah langkah-langkah logis dan sistematis untuk menyelesaikan masalah.
ReplyDeleteContoh: jelas, logis, memiliki input/output, terbatas, dan efektif.
Sequence = urutan, selection = percabangan, looping = perulangan.
Luas = sisi × sisi.
Jika nilai ≥ 75 → LULUS, selain itu → TIDAK LULUS.
Flowchart adalah diagram yang menggambarkan alur algoritma.
Terminator, process, input/output, decision, flowline.
8–10. Jawaban disesuaikan dengan algoritma yang dibuat siswa, selama logis dan langkahnya