Sabtu, 14 Januari 2012

Flowchart (Bagan Alir)

Pengenalan dan Definisi Flowchart


Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung.
Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram (programmer) menerjemahkannya ke bentuk program dengan bahsa pemrograman.

 Algoritma, Flowchart dan Pseudocode

a. Algoritma
Algoritma adalah kumpulan urutan perintah yang menentukan operasi-operasi tertentu yang diperlukan untuk menyelesaikan suatu masalah ataupun mengerjakan suatu tugas tertentu. Diagram Alur sering digunakan untuk menggambarkan sebuah algoritma. Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama. Algoritma merupakan urutan langkah instruksi yang logis. Setiap langkah instruksi mengerjakan suatu tindakan aksi.
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.

Sejarah istilah "algoritma"Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawarizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.

Jenis-jenis algoritma:

  1. Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk. 
  2. Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal dan mengandung beberapa bagian permasalahan yang tumpang tindih. Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil,
    tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi. 
  3. Metode serakah adalah sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu.
 Contoh algoritma:
Mengirim surat kepada teman
  1. Tulis surat pada secarik kertas surat.
  2. Ambil amplop surat. 
  3. Masukkan surat ke dalam amplop.
  4. Tutup amplop menggunakan parekat.
  5. Jika kita ingat alamat teman tersebut, maka tulis alamat pada sampul surat.
  6. Jika tidak ingat, lihat buku alamat, kemudian tulis alamatnya sampul surat.
  7. Tempel perangko pada surat.
  8. Bawa surat ke kantor pos untuk diposkan.
b. Flowchart
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram (programmer) menerjemahkannya ke bentuk program dengan bahsa pemrograman.

Simbol-simbol flowchart:
Untuk pengolahan data dengan komputer, dapat dirangkum urutan dasar untuk pemecahan suatu masalah, yaitu:
  • START: berisi instruksi untuk persiapan perlatan yang diperlukan sebelum menangani pemecahan masalah.-READ: berisi instruksi untuk membaca data dari suatu peralatan input.
  • PROCESS: berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
  • WRITE: berisi instruksi untuk merekam hasil kegiatan ke perlatan output.
  • END: mengakhiri kegiatan pengolahan.

Jenis-jenis flowchart:

Namun secara garis besar, setiap pengolahan selalu terdiri dari tiga bagian utama, yaitu:
  • Input berupa bahan mentah.
  • Proses pengolahan.
  • Output berupa bahan jadi.
Contoh Flowchart:
Mengirim surat kepada teman


c. Pseudocode

Pseudocode adalah kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan atau cara menyelesaikan suatu masalah. Pseudocode ditulis dengan bahasa sehari-hari berbeda dengan algoritma yang sudah mendekati struktur penulisan bahasa pemrograman. Untuk mempermudah kita membuat algoritma maka dibutuhkan flow chart. Defenisi dari flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu program, yang menyatakan arah alur program tersebut.

Jenis Pseudocode
Berdasarkan jenisnya , bahasa pemrograman dapat dibedakan menjadi beberapa jenis sebagai berikut:
  • Bahasa tingkat rendah (low level language) adalah bahasa pemrograman yang berorientasi pada bahasa mesin. Contoh: bahasa Assembler.
  • Bahasa tingkat menengah ( middle level language) adalah bahasa pemrograman yang berorientasi pada aturan-aturan gramatikal. Contoh: bahasa C.
  • Bahasa tingkat tinggi (high level language) adalah bahasa pemrograman yang sudah berorientasi pada bahasa manusia. Contoh : bahasa Basic, Pascal.
  • Bahasa yang berorientasi objek (object oriented language). Contoh : visual basic, Delphi, SQL.
Kaidah-kaidah pembuatan Flowchart
Dalam pembuatan flowchart tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisa suatu masalah dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan pemrogram lainnya.

Namun secara garis besar, setiap pengolahan selalu terdiri dari tiga bagian utama, yaitu;
1. Input berupa bahan mentah
2. Proses pengolahan
3. Output berupa bahan jadi.



Berikut ini merupakan simbol-simbol yang digunakan untuk menggambarkan diagram alir (flowchart):

Berikut saya akan memberikan beberapa simbol flowchart yang biasa digunakan.
1. Terminator


Merupakan simbol untuk permulaan atau akhir suatu program.
2. Flow Line / Garis Alir


Merupakan simbol untuk arah aliran program.

3. Preparation


Merupakan simbol untuk proses inisialisasi atau pemberian nilai awal.

4. Proses


Merupakan simbol proses atau pengolahan suatu data.

5. Input / Output


Merupakan simbol yang menyatakan input atau output data, parameter, atau informasi tanpa tergantung pada jenis peralatannya.

6. Decison


Merupakan simbol untuk kondisi yang mempunyai beberapa kemungkinan jawaban atau aksi, yang merupakan pernyataan untuk penyeleksian kondisi yang akan memberikan pilihan untuk langkah proses selanjutnya.

7. On Page Connector


Merupakan simbol penghubung pada suatu bagian flowchart yang berada pada suatu halaman yang sama.

8. Off Page Connector


Merupakan simbol untuk menghubungakan bagian flowchart yang berada pada halaman yang berbeda.

9. Manual Operation


Merupakan simbol yang menunjukkan pengolahan yang tidak di proses oleh komputer.

9. Offline Storage


Simbol yang menunjukkan bahwa data di dalam symbol ini akan disimpan.

10. Keying Operation


Merupakan simbol untuk proses dengan menggunakan emsin yang mempunyai keyboard.

11. Magnetic Tape Unit


Merupakan simbol bahwa input berasal dari pita magnetic atau output akan disimpan pada pita magnetic.

12. Punched Card


Merupakan simbol bahwa input berasal dari kartu atau output akan disimpan pada kartu.

13. Disk And Online Storage


Merupakan simbol yang menyatakan input berasal dari disk atau akan disimpak ke disk.

14. Display


Merupakan simbol yang menyatakan peralatan output yang digunakan yaitu layar, plotter, printer, dan sebagainya.

15. Dokumen


Merupakam simbol yang menyatakan input berasal dari dokumen dalam bentuk kertas atau output dicetak ke kertas.

1 komentar: