mr-edu/content/kka/01_Algoritma_dan_Pemrograman/artikel .md

94 lines
4.1 KiB
Markdown
Raw Normal View History

2026-07-25 10:31:44 +07:00
# Algoritma, Pemrograman, dan Berfikir Komputasional melalui Flowchart
## Pendahuluan
Algoritma dan pemrograman seringkali diajarkan secara terpisah: satu bagian berfokus pada *logika* dan *algoritma*, sisanya pada *implementasi* menggunakan bahasa pemrograman tertentu. Namun pendekatan yang semakin populer adalah **Berfikir Komputasional (Computational Thinking / CT)**, yaitu cara berpikir sistematis untuk memecahkan masalah. Salah satu alat paling sederhana dan efektif dalam CT adalah **flowchart** — diagram alur yang memvisualisasikan langkah blokk dalam algoritma.
## Apa Itu berfikir komputasional?
Berfikir komputasional terdiri dari empat *kompetensi inti*:
1. **Decomposisi** memecah masalah besar menjadi bagian kecil yang lebih mudah dikelola.
2. **Abstraksi** mengekstrak elemen penting, mengabaikan detail teknis yang tidak relevan.
3. **Algoritma** menulis urutan langkah konkret untuk memecahkan masalah.
4. **Evaluasi** menilai solusi atas kriteria efisiensi, kegunaan, dan keabsahan.
Setiap inti berdiri pada pemahaman konseptual tetapi bertumpukan di atas diagram visual,
antara yang memberi jembatan antara *teori* dan *praktek*.
## Flowchart sebagai Alat Visual
Flowchart memperlihatkan aliran kontrol melalui simbol standar:
- **Oval** = mulai/selesai
- **Persegi panjang** = operasi atau perintah
- **Jajar genjang** = input / output
- **Belah ketupat** = percabangan (if/else)
- **Panah** = alur&auml Johan
Kerja flowchart mirip dengan diagram *pseudocode* namun lebih mudah dibaca dan dipahami orang di luar diri pengembang. Paragu di namu.
### Membuat Flowchart: LangkahLangkah
1. **Identifikasi** masalah dan inputoutput.
2. **Tentukan SB** (StartFinish)
3. **Buat blok** tugas berurutan.
4. **Terapkan percabangan** bila diperlukan.
5. **Uji** diagramсил lemur.
## Contoh: Mencari Nilai Maksimum pada Array
Berikut contoh algoritma *pencarian maksimum* dan flowchart yang memvisualisasikannya.
Keterangan:
- `arr[0..n-1]` array of integers, n = panjang array.
- `max` menyimpan nilai maksimum.
### Pseudocode
```
PRO­ Metode maximum(arr, n)
max <- arr[0]
FOR i FROM 1 TO n-1
IF arr[i] > max THEN
max <- arr[i]
RETURN max
```
### Flowchart (Mermaid)
```mermaid
flowchart TD
A[Mulai]
B[Inisialisasi max <- arr[0]]
C[Set i = 1]
D{i < n}
E[Jika arr[i] > max]
F[max ← arr[i]]
G[i ← i + 1]
H[Kembali ke D]
I[Kembalikan max]
J[Selesai]
A --> B --> C --> D
D -->|ya| E
D -->|Tidak| G
E -->|ya| F --> G
E -->|Tidak| G
G --> H
H -->|Tidak| I
I --> J
```
Flowchart di atas membuktikan bahwa **decomposisi** (memecah langkah menjadi pembandingan satu per satu) dan **algoritma** (penyusunan langkah) adalah inti CT.
## Mengintegrasikan Flowchart dalam Pengajaran
Berikut beberapa pendekatan berskala riil:
1. **Workshop Membaca Flowchart** Tampilkan pewarisan diagram interaktif.
2. **Tugas “Hapus”** Pelajar membuat flowchart untuk masalah yang sudah diselesaikan.
3. **Perbandingan Sintaks** Bandingkan flowchart dengan *pseudocode* atau kode nyata.
4. **Pegangan Interaktif** gunakan plugin **excalidraw** atau **diagram.net** dalam Elemes.
## Kegiatan Praktis
- **Latihan 1**: Buat flowchart untuk *menghitung faktorial*.
- **Latihan 2**: Berikan flowchart yang mengurutkan tiga angka secara menurun.
- **Latihan 3**: Model flowchart untuk *sinkronisasi sensor* pada sistem robotik.
## Kesimpulan
Berfikir komputasional memberikan kerangka berpikir sistematis yang berdasarkan decomposisi, abstraksi, algoritma, dan evaluasi. Flowchart adalah perpanjangan visual dari algoritma, membuat logika menjadi *visible* dan *shareable*. Integrasi flowchart ke dalam pembelajaran algoritma & pemrograman memperkaya pemahaman siswa, membantu mengurangi kebingungan konseptual, sekaligus mempersiapkan mereka untuk pemrograman nyata.
## Referensi
- *Computational Thinking for Everyone* (Raymond C. Moore & Kevin C. Ferguson)
- *Number Files* (Mitchell Reese) bab tentang flowchart.
- Elemes Portal:  [Sampel Flowchart](/home/a2nr/Documents/mr-edu/content/kka/01_Algoritma_dan_Pemrograman/sample_flowcharts/maximum.md)