Diagram Alir (Flow Chart)



Flowchart adalah algoritma penyelesaian suatu masalah yang diwujudkan dalam bentuk penggambaran bagan, dimana dalam bagan tersebut memiliki kandungan aliran data yang lebih menggambarkan langkah-langkah penyelesaian suatu masalah. Terdapat 2(dua) penggambaranFlowchart yaitu System Flowchart dan Program Flowchart.

Flowchart dapat digunakan untuk menggambarkan perilaku suatu algoritma (dengan menggunakan gambar-gambar atau tanda-tanda yang sesuai) Bila suatu flowchart lengkap telah selesai dikerjakan, gambaran lengkap tentang proses pemikiran seorang programmer dalam memecahkan suatu masalah dapatlah diikuti. Peranan flowchart sangat penting terutama pada pemeriksaan program. Flowchartyang merupakan bagian penting dalam suatu program yang telah selesai juga dapat membantu orang lain dalam memahami algoritma yang tepat yang dibuat programmer.

Ada dua jenis flowchart, yaitu:

a. Flowchart sistem: menunjukkan jalannya program secara umum.

b. Flowchart terperinci: rincian (detail) yang dibutuhkan programer.

Biasanya suatu program yang rumit didahului dengan flowchart sistem, lalu dilengkapi pula dengan.flowchart terperinci. Keuntungan dari flowchart ialah dapat menunjukkan urutan langkah-langkah dengan menggunakan simbol anak panah.



a. Flowchart Sistem

Digunakan untuk menggambarkan aliran data atau informasi secara garis besarnya yang melewati suatu tahapan proses dalam sebuah sistem dengan menunjukkan media yang digunakan dalam sistem. Seperti media input, output maupun media penyimpanan dalam proses pengolahan data.

Adapun simbol yang digunakan meliputi:





Gambar 1. Simbol flowchart sistem



b, Flowchart Program

Digunakan untuk menggambarkan aliran data atau informasi secara rinci yang melewati suatu tahapan proses dengan menunjukkan tahapan penyelesaian permasalahan untuk mendapatkan hasil sesuai tujuan yang diharapkan.

Adapun simbol yang digunakan adalah sebagai berikut:



Gambar 2. Simbol Flowchart Umum

Sebuah flowchart minimal umumnya terdiiri dari simbol mulai yang menggambarkan bahwa sebuah algoritma dimulai, dilanjutkan dengan masukan data, selanjutnya data diproses kemudian hasil proses dikeluarkan dan diakhiri dengan simbol akhir dari aliran program.

Gambar 3 adalah contoh flowchart sederhana penyelesaian bertahap untuk menghitung luas sebuah bangun segi empat, dimana bangun tersebut memiki panjang = p dan lebar = l, dimana luas = p x l :

Menghitung luas bangun ternyata tidak hanya sebuah bangun yang bisa dilakukan dalam program, dengan menambahkan menu pilihan ternyata dapat dipilih untuk menghitung beberapa luas bangun dari bidang tertentu.

Jika sebuah algoritma membutuhkan alternatip pilihan maka dibutuhkan simbol percabangan, sebagai contoh sebuah sistem program harus melakukan layanan perhitungan luas bangun segi empat, luas bangun segi tiga dan luas bangun lingkaran.

Gambar 3. Flowchart Sederhana (menghitung luas)

Dengan demikian maka terdapat pilihan alternatip (gambar 4), jika dipilih 1 maka digunakan untuk menghitung luas bidang segi empat, untuk pilihan 2 digunakan menghitung luas bangun segi tiga dan untuk pilihan 3 digunakan untuk menghitung luas bangun lingkaran, maka flowchart-nya dapat digambarkan sebagai berikut:



Gambar 4 Simbol Flowchart Program Pilihan



Aliran program dimulai, kemudian memberi kesempatan pada user untuk memberikan masukan berupa angka 1 atau angka 2 atau angka 3, jika angka tersebut adalah 1 maka akan diteruskan pada proses menghitung luas bangun segi empat.

Jika ternyata angka yang diberikan adalah 2 maka akan diteruskan pada proses menghitung luas bangun segi tiga, dan juika ternyata angka yang diberikan adalah 3 maka akan diteruskan pada proses menghitung luas bangun lingkaran.

Suatu saat dibutuhkan sebuah algoritma untuk menggambarkan suatu proses yang berulang, misal pada suatu program dibutuhkan sebuah rutin yang berfungsi sebagai penghitung (counter). Untuk itu flowchartnya dapat digambarkan sebagai berikut:







Gambar 5. Flowchart Untuk Proses Diulang



Dalam membuat algoritma untuk pemrograman mikroprosesor dalam bahasa asembler biasanya notasi yang digunakan dalam flowchart menggunakan kode-kode, berikut contoh flowchart dengan notasi kode:





Gambar 6. Flowchart Dengan Notasi Kode Program.



Contoh permasalahan 3:

Mengisi akkumulator dengan data 15H, register D dengan data EAH dan register B dengan data 55H. Tambahkan isi akku dengan isi register D. Hasil penjumlahan diatas bersama carrynya di kurangi dengan isi register B.



Penyelesaian (Flowchart)





Contoh permasalahan 4:

Mengeluarkan data FFH dan 00H dengan tunda waktu FFHxFFH program berlangsung terus, sampai pada penekanan tombol reset. Program utama pada 1800H Program bagian pada 1F00H



Penyelesaian (algoritma-narasi)



Ø Program Utama

Alamat register kontrol 43 H

Alamat Port C 42 H

Kata kendali : 80 H ( Port A, B dan C = keluaran )

Mengisi akku dengan data kata kendala ( 80 H )

Keluarkan isi akku ke register kontrol

loop ( pengulangan tak berakhir )

isi akku dengan data FFH

keluarkan isi akku ke register port C tinggi

panggil tunda waktu

isi akku dengan data 00 H

keluarkan isi akku ke register port C tinggi

panggil tunda waktu



Ø program bagian tunda waktu

isi register H dengan data FFH

loop 1

isi register L dengan data FFH

loop 2

kurangkan isi L dengan 1

loncat ke loop 2, bila LF 0

kurangkan isi H dengan 1

loncat ke loop 1, bila HF 0

mengakhiri program bagian (kembali ke program utama)



KESIMPULAN:

Ø Dalam menyusun program aplikasi pada sebuah hardware mikroprosesor, seharusnya diawali dengan penyusunan algoritma.

Ø Sebuah program aplikasi merupakan cara menyusun berbagai instruksi-instruksi berdasarkan urutan logika tertentu untuk memenuhi kebutuhan.

Ø Algoritma dapat digunakan untuk menyelesaikan berbagai masalah, karena untuk membangun sebuah program aplikasi diperlukan sebuah bahasa pemrograman yang disebut dengan bahasa assembly, melalui bahasa ini instruksi disusun dalam urutan sekuensial mengikuti tata aturan dan konsep yang terstruktur.

Ø Konsep algoritma pemrograman dapat dituangkan dalam bentuk diagram alir (flowchart).
Previous
Next Post »
Thanks for your comment