Flowchart
Kompetensi Inti :
3. Memahami, menerapkan, menganalisis, dan
mengevaluasi tentang pengetahuan faktual,
konseptual, operasional dasar, dan metakognitif
sesuai dengan bidang dan lingkup Simulasi dan
Komunikasi Digital, dan Dasar Bidang Teknologi
dan Rekayasa pada tingkat teknis, spesifik, detil,
dan kompleks, berkenaan dengan ilmu
pengetahuan, teknologi, seni, budaya, dan
humaniora dalam konteks pengembangan potensi
diri sebagai bagian dari keluarga, sekolah, dunia
kerja, warga masyarakat nasional, regional, dan
internasional.
4. Melaksanakan tugas spesifik dengan
menggunakan alat, informasi, dan prosedur kerja
yang lazim dilakukan serta memecahkan masalah
1
sesuai dengan lingkup Simulasi dan Komuniksasi
Digital, dan Dasar Bidang Teknologi dan Rekayasa.
Menampilkan kinerja di bawah bimbingan dengan
mutu dan kuantitas yang terukur sesuai dengan
standar kompetensi kerja.
Menunjukkan keterampilan menalar, mengolah,
dan menyaji secara efektif, kreatif, produktif, kritis,
mandiri, kolaboratif, komunikatif, dan solutif dalam
ranah abstrak terkait dengan pengembangan dari
yang dipelajarinya di sekolah, serta mampu
melaksanakan tugas spesifik di bawah pengawasan
langsung.
Menunjukkan keterampilan mempersepsi,
kesiapan, meniru, membiasakan, gerak mahir,
menjadikan gerak alami dalam ranah konkret
terkait dengan pengembangan dari yang
dipelajarinya di sekolah, serta mampu
melaksanakan tugas spesifik di bawah
pengawasan langsung.
2
Kompetensi Dasar :
3.1. Memahami teknik pemecahan masalah
matematis
4.1. Membuat urutan pemecahan masalah dengan
menggunakan diagram alir
Tujuan Pembelajaran
Setelah melakukan pembelajaran, siswa
diharapkan mampu :
1. Memahami poses pemecahan masalah secara
matematis menggunakan algoritma
2. Membuat algoritma pemecahan dari suatu
permasalahan secara matematis
3. Memahami urutan pemecahan masalah
menggunakan flowchart
4. Membuat urutan pemecahan masalah dengan
menggunakan diagram alir
3
Apersepsi
Kemampuan membuat program (programming)
sangat dibutuhkan oleh lulusan elektronika. Jika
kita amati produk-produk elektronika sekarang,
hampir semua disebut dengan sebutan pintar
(smart) seperti misalnya smartphone, smartlamp,
smart AC, smart car, dan smarthome. Julukan
tersebut diberikan karena produk-produk tersebut
dapat berperilaku menyesuaikan keadaan dengan
sendirinya (otomatis).
Misalkan pada sebuah AC, dapat mendeteksi ada
tidaknya manusia di dalam ruangan, jika tidak ada
orang, maka AC akan berada di mode hemat.
Contoh yang lebih canggih adalah smart car atau
mobil tanpa supir. Disana mobil dapat berjalan
dengan kecepatan tertentu. Dia dapat mendeteksi
kondisi jalan, dan menghindari rintangan di
depannya. Menurut kamu bagaimana dia bisa
beroperasi secara aman?
4
Gambar 1 Mobil tanpa awak, salah satu
contoh penerapan
pemrograman dalam dunia
elektronika
Kemampuan produk elektronik beroperasi secara
otomatis tidak terlepas dari adanya programable IC
yang ditanamkan pada peralatan tersebut. Semua
kondisi rintangan yang mungkin dialami, akan
dideteksi oleh sensor. Dan dilakukan tindakan
antisipasinya. Semua itu dijalankan melalui
program.
Sebelum membuat sebuah program, sangat
penting untuk memahami proses yang akan
dilakukan oleh program tersebut. Semua berawal
dari permasalahan yang ingin dipecahkan
5
Kemampuan memahami bahasa pemrograman
bukanlah yang terpenting, karena jika kita sudah
memahami prosesnya, maka kita bisa
mengimplementasikan program tersebut ke dalam
banyak bahasa pemrograman.
Sekarang coba temukan permasalahan di
sekitarmu dan buatlah solusi pemecahan
masalahnya!
6
Algoritma
Definisi Algoritma
9
Gambar 2 Diagram alir langkah-langkah
pembuatan program
Ciri-ciri algoritma
Algoritma memiliki ciri-ciri yaitu ada input dan
output, efektif dan efisien, serta terstruktur. Sebuah
algoritma dikatakan baik jika :
1. Tepat, benar, sederhana, standar dan
efektif
2. Logis, terstruktur dan sistematis
3. Semua operasi terdefinisi
4. Semua proses harus berakhir setelah
sejumlah langkah dilakukan
5. Ditulis dengan bahasa yang standar
dengan format pemrograman agar mudah
10
untuk diimplementasikan dan tidak
menimbulkan arti ganda.
13
Gambar 3 Permasalahan Bagaimana
memindah isi kedua gelas tersebut
14
Gambar 4 Ilustrasi algoritma
memindahkan isi gelas
15
Contoh algoritma mencari luas lingkaran
17
bukanlah algoritma yang baik. Pertimbangan kedua
yang harus diperhatikan adalah kita harus
mengetahuiseberapa baik hasil yang dicapai oleh
algoritma tersebut. Hal ini pentingterutama pada
algoritma yang memerlukan aproksimasi hasil yaitu
algoritma yang hasilnya hanya berupa pendekatan.
Algoritma yangbaik harus mampu memberikan
hasil yang sedekat mungkin dengan nilaiyang
sebenarnya.Ketiga adalah efisiensi algoritma.
Efisiensi algoritma dapat ditinjau dari dua hal yaitu
efisiensi waktu dan memori.
Meskipun algoritma memberikan keluaran yang
benar atau paling mendekati, tetapi jika kita harus
menunggu lama untuk mendapatkan hasil semisal
berjam-jam untuk mendapatkan keluarannya maka
biasanya algoritma tersebut biasanyatidak akan
menjadi pilihan utama, setiap orang menginginkan
keluaran yang relatif cepat. Begitu juga dengan
memori, semakin besar memori yang terpakai maka
semakin jelek algoritma tersebut.Dalam
18
kenyataannya, setiap orang bisa membuat
algoritma yang berbeda untuk menyelesaikan suatu
permasalahan, walaupun terjadi perbedaan dalam
menyusun algoritma, tentunya kita mengharapkan
keluaran yang mirip atau sama. Jika dihadapkan
pada permasalahan seperti ini maka sebaiknya pilih
algoritma yang paling efisien dan cepat.
Tujuan dari belajar algoritma adalah agar dapat
membiasakan diri melakukan suatu perencanaan
apabila menyelesaikan suatu masalah. Karena
suatu permasalahan yang diselesaikan dengan
suatu perencanaan yang matang maka akan
mendapatkan solusi yang lebih optimal
dibandingkan menyelesaikan masalah tanpa
menggunakan suatu perencanaan.
Flowchart
Flowchart adalah penggambaran secara grafik
dari langkah-langkah dan urut-urutan prosedur dari
suatu program. Flowchart menolong analis dan
programmer untuk memecahkan masalah kedalam
19
segmen-segmen yang lebih kecil dan menolong
dalam menganalisis alternatif-alternatif lain dalam
pengoperasian.
Flowchart biasanya mempermudah
penyelesaian suatu masalah khususnya
masalah yang perlu dipelajari dan dievaluasi lebih
lanjut. Bila seorang analis dan programmer akan
membuat flowchart, ada beberapa petunjuk yang
harus diperhatikan, seperti :
1. Flowchart digambarkan dari halaman atas ke
bawah dan dari kiri ke kanan.
2. Aktivitas yang digambarkan harus
didefinisikan secara hati-hati dan definisi ini
harus dapat dimengerti oleh pembacanya.
3. Kapan aktivitas dimulai dan berakhir harus
ditentukan secara jelas.
4. Setiap langkah dari aktivitas harus diuraikan
dengan menggunakan deskripsi kata kerja.
5. Setiap langkah dari aktivitas harus berada
pada urutan yang benar.
6. Lingkup dan range dari aktifitas yang
sedang digambarkan harus ditelusuri dengan
20
hati-hati. Percabangan-percabangan yang
memotong aktivitas yang sedang
digambarkan tidak perlu digambarkan pada
flowchart yang sama. Simbol konektor harus
digunakan dan percabangannya diletakan
pada halaman yang terpisah atau hilangkan
seluruhnya bila percabangannya tidak
berkaitan dengan sistem.
7. Gunakan simbol-simbol flowchart yang
standar.
21
Simbol Simbol dalam Diagram Alir
Adapun simbol-simbol yang sering digunakan
untuk menyusun flow chart adalah sebagai berikut :
1) Masukan
Masukan merupakan kegiatan penerimaan data
yang disimbolkan dengan jajaran genjang. Kita
dapat menuliskan masukan yang diperlukan pada
suatu waktu secara satu per satu maupun secara
keseluruhan, akan tetapi untuk alasan efisiensi
ruang gambar biasanya masukan dituliskan
bersamaan secara keseluruhan.
2) Masukan manual
Untuk masukan secara manual yang dimasukkan
melalui keyboard, atau perangkat input lainnya
22
seperti barcode reader, kita dapat menggunakan
simbol masukan secara manual. Sama dengan
simbol masukan, pada simbol masukan manual ini
untuk alasan efisiensi ruang gambar biasanya
masukan juga dituliskan bersamaan secara
keseluruhan.
Gambar 6 Simbol
masukan manual
3) Proses
Data yang dimasukan kemudian diproses untuk
menghasilkan jawaban atas persoalan yang ingin
dipecahkan.
23
dapat dilakukan secara satu per satu maupun
secara keseluruhan.
4) Keluaran
Keluaran adalah hasil dari pemrosesan data dan
merupakan jawaban atas permasalahan yang ada.
Keluaran ini harus ditampilkan pada layar monitor
agar dapat dibaca oleh pengguna
24
program. Sama seperti aturan pada simbol-simbol
sebelumnya, penulisan hasil pemrosesan data
dapat dilakukan secara satu per satu maupun
secara keseluruhan.
5) Percabangan
Yang dimaksud dengan percabangan disini
adalah suatu kegiatan untuk mengecek atau
memeriksa suatu keadaan apakah memenuhi
suatu kondisi tertentu atau tidak. Jadi dalam
percabangan ini, kita harus menuliskan kondisi apa
yang harus dipenuhi oleh suatu keadaan. Hasil dari
pemeriksaan keadaan ini adalah YA atau TIDAK.
Jika pemeriksaan keadaan menghasilkan kondisi
yang benar, maka jalur yang dipilih adalah jalur
yang berlabel YA, sedangkan jika pemeriksaan
25
keadaan menghasilkan kondisi yang salah, maka
jalur yang dipilih adalah jalur yang berlabel TIDAK.
Berbeda dengan aturan pada simbol-simbol
sebelumnya, penulisan kondisi harus dilakukan
secara satu per satu (satu notasi percabangan
untuk satu kondisi).
27
7) Arah aliran
Arah aliran merupakan jalur yang harus diikuti
dan merupakan garis penghubung yang
menghubungkan setiap langkah pemecahan
masalah yang ada dalam flow chart. Arah aliran ini
disimbolkan dengan anak panah
28
Gambar 12 Simbol terminator
9) Konektor
Konektor berfungsi untuk menghubungkan suatu
langkah dengan langkah lain dalam sebuah flow
chart dengan keadaan on page atau off page. Yang
dimaksud dengan konektor on page adalah
konektor yang digunakan untuk menghubungkan
suatu langkah dengan langkah lain dalam satu
halaman. Sedangkan konektor off page adalah
konektor untuk menghubungkan suatu langkah
dengan langkah lain dalam halaman yang berbeda.
Konektor ini digunakan apabila ruang gambar yang
kita gunakan untuk menggambar flow chart tidak
cukup luas untuk memuat flow chart secara utuh,
jadi perlu dipisahkan atau digambar di halaman
yang berbeda.
29
(a)
(b)
Gambar 13 Simbol konektor
on page (a) dan off page (b)
30
10) Dokumen
Dokumen merupakan tampilan data secara fisik
yang dapat dibaca oleh manusia. Data ini biasanya
merupakan hasil pemecahan masalah (informasi)
yang telah dicetak (print out).
31
konstanta 3.14. Flowchart permasalahan ini dapat
dilihat
33
Gambar 16 Contoh diagram alir dengan percabangan
Latihan
1. Apa yang dimaksud dengan algoritma?
2. Sebutkan ciri-ciri algoritma!
3. Buatlah algoritma sederhana mencari
bilangan prima!
4. Buatlah diagram alir soal 3!
5. Buatlah algoritma mencari luas dan keliling
persegi panjang!
6. Buatlah diagram alir soal nomor 5!
34
Daftar Referensi
Buku Logika dan Algoritma, Ali Ridho
Barakbah S.Kom dkk
Bahasa Pemrograman untuk Sekolah
Menengah Kejuruan, Suprapto dkk.
35