Flowchart : Pengertian, Simbol, Aturan, dan Contohnya
Flowchart adalah diagram alir yang menggambarkan langkah algoritma dengan simbol. Pelajari simbol flowchart, aturannya, dan 4 contoh lengkap dengan kode Python.
- Mapel
- Pemrograman
- Jenjang
- SMP, SMA
- Waktu baca
- 9 menit
- Terbit
- 14 Oktober 2026
- Penyusun
- Risyad Raflan
Flowchart adalah diagram yang menggambarkan langkah-langkah sebuah algoritma memakai simbol-simbol standar yang dihubungkan dengan panah. Dalam bahasa Indonesia, flowchart disebut diagram alir atau bagan alir. Setiap bentuk simbol punya arti: oval untuk mulai dan selesai, jajar genjang untuk input/output, persegi panjang untuk proses, dan belah ketupat untuk keputusan. Dengan flowchart, urutan langkah, pilihan, dan perulangan terlihat sekilas sebelum ditulis menjadi kode program.
Apa Itu Flowchart?
Flowchart adalah salah satu cara menuliskan algoritma, yaitu langkah-langkah yang berurutan, jelas, dan ada akhirnya. Algoritma yang sama bisa ditulis sebagai kalimat biasa, sebagai pseudocode, atau digambar sebagai flowchart. Kelebihan flowchart: alurnya bisa diikuti dengan jari. Kamu bisa melihat langkah mana yang dikerjakan lebih dulu, di mana program memilih jalan, dan bagian mana yang diulang.
Flowchart dipakai di pelajaran Informatika, saat merancang program, dan juga di dunia kerja untuk menggambarkan prosedur, misalnya alur pendaftaran siswa baru. Programmer memakainya untuk menemukan kesalahan logika sebelum menulis kode, karena kesalahan di gambar lebih murah diperbaiki daripada kesalahan di program yang sudah jadi.
Simbol Flowchart dan Fungsinya
| Simbol | Bentuk | Fungsi | Contoh isi |
|---|---|---|---|
| Terminator | Oval atau persegi panjang bersudut bulat | Menandai mulai dan selesai | Mulai, Selesai |
| Input/output | Jajar genjang | Menerima data atau menampilkan hasil | Input panjang, Output luas |
| Proses | Persegi panjang | Perhitungan atau tindakan | luas = panjang × lebar |
| Keputusan | Belah ketupat | Syarat dengan dua jalan keluar: Ya dan Tidak | angka % 2 == 0? |
| Garis alir | Panah | Menunjukkan arah urutan langkah | panah ke bawah |
| Konektor | Lingkaran kecil berisi huruf atau angka | Menyambung alur yang terputus di halaman yang sama | A |
| Predefined process | Persegi panjang dengan garis ganda di sisi kiri dan kanan | Menjalankan proses yang sudah dijelaskan di flowchart lain | Hitung rata-rata |
Untuk menyambung flowchart yang berlanjut ke halaman lain, dipakai konektor antarhalaman berbentuk segi lima. Simbol predefined process mirip dengan memanggil fungsi di Python: detail langkahnya ditulis terpisah, lalu cukup dipanggil dengan namanya. Ide ini dibahas di materi fungsi Python.
Di contoh-contoh berikut, flowchart digambar dengan teks: ( ) untuk terminator, / / untuk input/output, [ ] untuk proses, < > untuk keputusan, serta | dan v untuk garis alir.
Aturan Membuat Flowchart
- Mulai dengan satu simbol Mulai dan akhiri dengan simbol Selesai.
- Susun alur dari atas ke bawah dan dari kiri ke kanan.
- Tulis satu langkah singkat di setiap simbol.
- Simbol proses dan input/output punya satu panah masuk dan satu panah keluar.
- Simbol keputusan selalu punya dua panah keluar yang diberi label Ya dan Tidak.
- Usahakan garis alir tidak saling bersilangan; gunakan konektor jika alurnya terlalu panjang.
- Pastikan setiap jalur berakhir di Selesai, tidak ada jalan buntu.
- Uji flowchart dengan data contoh, ikuti panahnya satu per satu, lalu periksa hasilnya.
Flowchart, Pseudocode, dan Algoritma
Pseudocode adalah algoritma yang ditulis dengan kalimat pendek mirip kode program, tetapi tidak terikat aturan bahasa pemrograman tertentu. Perbandingannya untuk soal luas persegi panjang:
| Bentuk | Contoh | Kelebihan |
|---|---|---|
| Kalimat biasa | Baca panjang dan lebar, kalikan, tampilkan hasilnya. | mudah ditulis siapa saja |
| Pseudocode | luas ← panjang × lebar |
dekat dengan kode program |
| Flowchart | simbol yang dihubungkan panah | alur dan cabang terlihat jelas |
| Kode Python | luas = panjang * lebar |
bisa dijalankan komputer |
Contoh Flowchart dan Program Python-nya
Contoh 1: Flowchart membuat mie instan (urutan)
Flowchart paling sederhana hanya berisi urutan (sequence): langkah dikerjakan satu per satu dari atas ke bawah tanpa pilihan.
( Mulai )
|
v
[ Rebus 400 mL air sampai mendidih ]
|
v
[ Masukkan mie, masak 3 menit ]
|
v
[ Tuang bumbu ke mangkuk ]
|
v
[ Tuang mie dan kuah, aduk rata ]
|
v
/ Output: mie siap disajikan /
|
v
( Selesai )
Versi Python-nya mencetak setiap langkah sesuai urutan:
air_ml = 400
lama_masak = 3
print("Mulai")
print(f"Rebus {air_ml} mL air sampai mendidih")
print(f"Masukkan mie, masak {lama_masak} menit sambil diaduk")
print("Tuang bumbu ke mangkuk")
print("Tuang mie dan kuahnya ke mangkuk, aduk rata")
print("Mie siap disajikan")
print("Selesai")
Keluarannya tujuh baris, dari Mulai sampai Selesai, persis mengikuti urutan simbol. Coba tukar langkah "tuang bumbu" dan "rebus air": program tetap berjalan, tetapi algoritmanya menjadi aneh. Komputer tidak memeriksa masuk akal atau tidaknya urutan; itu tugas pembuat algoritma. Jika ingin lebih rinci, "rebus sampai mendidih" bisa dipecah menjadi keputusan "Air sudah mendidih?" yang kembali ke langkah "tunggu" selama jawabannya Tidak.
Contoh 2: Flowchart menghitung luas persegi panjang
( Mulai )
|
v
/ Input panjang, lebar /
|
v
[ luas = panjang × lebar ]
|
v
/ Output luas /
|
v
( Selesai )
Flowchart ini memakai pola input, proses, output. Pseudocode-nya:
MULAI
BACA panjang, lebar
luas ← panjang × lebar
TAMPILKAN luas
SELESAI
Terjemahan ke Python dengan input():
panjang = float(input("Masukkan panjang: "))
lebar = float(input("Masukkan lebar: "))
luas = panjang * lebar
print("Luas persegi panjang =", luas)
Dengan masukan 8 dan 5, program mencetak Luas persegi panjang = 40.0. Versi dengan nilai tetap, yang keluarannya selalu Luas persegi panjang = 40:
panjang = 8
lebar = 5
luas = panjang * lebar
print("Luas persegi panjang =", luas)
Setiap simbol menjadi satu atau dua baris kode: jajar genjang input menjadi input(), persegi panjang proses menjadi rumus, dan jajar genjang output menjadi print(). Rumus luas dan keliling lainnya ada di materi keliling dan luas bangun datar.
Contoh 3: Flowchart bilangan genap atau ganjil (keputusan)
( Mulai )
|
v
/ Input angka /
|
v
< angka % 2 == 0 ? >
| |
Ya Tidak
| |
v v
/ Output genap / / Output ganjil /
| |
+---------+---------+
|
v
( Selesai )
Simbol keputusan berisi pertanyaan yang jawabannya hanya Ya atau Tidak. Kedua cabang bertemu lagi sebelum Selesai. Di Python, belah ketupat menjadi if dan else:
angka = 14
if angka % 2 == 0:
print(angka, "adalah bilangan genap")
else:
print(angka, "adalah bilangan ganjil")
Keluaran: 14 adalah bilangan genap, karena sisa 14 % 2 adalah 0. Ganti angkanya menjadi 9 untuk menguji cabang Tidak. Konsep pilihan ini dibahas di percabangan dalam algoritma dan, versi kodenya, di percabangan Python if else.
Contoh 4: Flowchart menghitung total belanja (perulangan)
Ada tiga barang dengan harga Rp12.000, Rp5.500, dan Rp8.000. Flowchart berikut menjumlahkannya satu per satu dengan penghitung i:
( Mulai )
|
v
/ Input daftar harga /
|
v
[ total = 0, i = 0 ]
|
v
+--> < i < banyak barang ? > --Tidak--+
| | |
| | Ya v
| v / Output total /
| [ total = total + harga[i] ] |
| | v
| v ( Selesai )
| [ i = i + 1 ]
| |
+---------------+
Perulangan di flowchart terlihat sebagai panah yang kembali ke atas, ke simbol keputusan. Selama jawabannya Ya, harga berikutnya ditambahkan ke total. Terjemahan Python-nya:
harga = [12000, 5500, 8000]
total = 0
i = 0
while i < len(harga):
total = total + harga[i]
i = i + 1
print(f"Total belanja: Rp{total}")
Keluaran: Total belanja: Rp25500. Jejaknya:
| Putaran | i | harga[i] | total |
|---|---|---|---|
| awal | 0 | – | 0 |
| 1 | 0 → 1 | 12000 | 12000 |
| 2 | 1 → 2 | 5500 | 17500 |
| 3 | 2 → 3 | 8000 | 25500 |
Saat i bernilai 3, syarat 3 < 3 bernilai False, jadi alur keluar lewat panah Tidak dan total dicetak. Di Python, perulangan yang sama bisa ditulis lebih ringkas dengan for h in harga:, bahkan cukup sum(harga). Bentuk-bentuk perulangan ini dibahas di perulangan dalam algoritma dan perulangan Python.
Kesalahan yang Sering Terjadi
Ringkasan
- Flowchart adalah diagram alir yang menggambarkan algoritma dengan simbol standar dan panah.
- Simbol utama: terminator (oval), input/output (jajar genjang), proses (persegi panjang), keputusan (belah ketupat), garis alir, konektor, dan predefined process.
- Tiga pola dasar flowchart adalah urutan, keputusan, dan perulangan, yang di Python menjadi baris berurutan,
if/else, danwhile/for. - Uji flowchart dengan data contoh sebelum menerjemahkannya ke kode.
Pertanyaan yang Sering Diajukan
Apa perbedaan flowchart dan algoritma?
Algoritma adalah langkah-langkahnya, sedangkan flowchart adalah salah satu cara menuliskan langkah itu dalam bentuk gambar. Algoritma yang sama juga bisa ditulis sebagai kalimat biasa atau pseudocode.
Apa saja simbol flowchart yang paling penting?
Empat simbol yang hampir selalu muncul adalah terminator, input/output, proses, dan keputusan, yang dihubungkan dengan garis alir.
Apakah flowchart harus dibuat sebelum menulis program?
Tidak wajib, tetapi sangat membantu untuk soal yang memiliki banyak percabangan atau perulangan, karena kesalahan logika lebih mudah terlihat di gambar.
Aplikasi apa yang bisa dipakai untuk membuat flowchart?
Kertas dan pensil sudah cukup. Untuk versi digital, gunakan fitur bentuk (shapes) di aplikasi pengolah kata atau presentasi, atau aplikasi diagram gratis seperti diagrams.net.
Materi Terkait
- Belajar Python dari nol: langkah berikutnya setelah bisa menyusun algoritma.
- Latihan soal pengertian algoritma: uji pemahaman urutan langkah dan berpikir komputasional.
- Latihan soal percabangan dalam algoritma: latihan membaca syarat dan simbol keputusan.
- 10 contoh program Python sederhana: ubah flowchart menjadi program yang bisa dijalankan.
- Tryout pemrograman SMP: ukur pemahaman algoritma dan dasar Python sekaligus.
Sumber belajar
- Wikipedia: Bagan alir
- BBC Bitesize KS3 Computer Science: Flow diagrams
- BBC Bitesize KS3 Computer Science: Pseudocode
- Python Tutorial: More Control Flow Tools
Penjelasan dan contoh disusun ulang untuk materi ini; sumber dapat dibuka untuk belajar lebih lanjut.
