Selasa, 07 Agustus 2018

Materi Algoritma dan Flowchart

    
1. Algoritma 

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.  Masalah dapat berupa apa saja, dengan catatan untuk setiap masalah, ada syarat kondisi awal yang harus dipenuhi sebelum menjalankan algoritma.  Konsep algoritma sering kali disetarakan dengan sebuah resep.  Sebuah resep biasanya memiliki daftar bahan atau bumbu yang akan digunakan, urutan pengerjaan dan bagaimana hasil dari urutan pengerjaan tersebut.  Apabila bahan yang digunakan tidak tertera (tidak tersedia) maka resep tersebut tidak akan dapat dikerjakan.  Demikian juga jika urutan pengerjaannya tidak beraturan, maka hasil yang diharapkan tidak akan dapat diperoleh.  
Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan syarat yang sama.  Tingkat kerumitan dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah.  Umumnya, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki tingkat kerumitan yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan suatu masalah membutuhkan tingkat kerumitan yang tinggi. Perhatikan algoritma sederhana berikut.
Contoh :Algoritma menghitung luas segitiga.
1. Start
2. Baca data alas dan tinggi.
3. Luas adalah alas kali tinggi kali 0.5
4. Tampilkan Luas
5. Stop
Algoritma di atas adalah algoritma yang sangat sederhana, hanya ada lima langkah.  Pada algoritma ini tidak dijumpai perulangan ataupun pemilihan.  Semua langkah dilakukan hanya satu kali. Sekilas algoritma di atas benar, namun apabila dicermati maka algoritma ini mengandung kesalahan yang mendasar, yaitu tidak ada pembatasan pada nilai data untuk alas dan tinggi. Bagaimana jika nilai data alas atau tinggi adalah bilangan 0 atau bilangan negatif ?  Tentunya hasil yang keluar menjadi tidak sesuai dengan yang diharapkan. Dalam kasus seperti ini kita perlu menambahkan langkah untuk memastikan nilai alas dan tinggi memenuhi syarat, misalnya dengan melakukan pengecekan pada input yang masuk. Apabila input nilai alas dan tinggi kurang dari 0 maka program tidak akan dijalankan.  Sehingga algoritma di atas dapat dirubah menjadi seperti contoh berikut.
Contoh  ;Hasil perbaikan algoritma perhitungan luas segitiga.
1.     Start
2.     Baca data alas dan tinggi.
3.     Periksa data alas dan tinggi, jika nilai data alas dan tinggi lebih besar dari nol maka lanjutkan ke langkah ke 4 jika tidak maka stop
4.     Luas adalah alas kali tinggi kali 0.5
5.     Tampilkan Luas
6.     Stop
Dari penjelasan di atas dapat diambil kesimpulan pokok tentang algoritma. Pertama, algoritma harus benar. Kedua algoritma harus berhenti, dan setelah berhenti, algoritma memberikan hasil yang benar.

2. Cara Penulisan Algoritma
Ada tiga cara penulisan algoritma, yaitu :

A. Structured English ( SE )
SE merupakan alat yang cukup baik untuk menggambarkan suatu algoritma. Dasar dari SE adalah Bahasa Inggris, namun kita dapat memodifikasi dengan Bahasa Indonesia sehingga kita boleh menyebutnya sebagai Structured Indonesian (SI). Algoritma seperti pada Contoh 5.10 dan 5.11 merupakan algoritma yang ditulis menggunakan SI. Karena dasarnya adalah bahasa sehari-hari, maka SE atau SI lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemakai perangkat lunak.

B. Pseudocode
Pseudocode mirip dengan SE.  Karena kemiripan ini kadang-kadang SE dan Pseudocode dianggap sama.  Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan  code menunjuk pada kode program.  Sehingga pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya.   Pseudocode didasarkan pada bahasa pemrograman yang sesungguhnya seperti BASIC, FORTRAN atau PASCAL. Pseudocode yang berbasis bahasa PASCAL merupakan  pseudocode yang sering digunakan Kadang-kadang orang menyebut pseudocode sebagai PASCAL-LIKE algoritma Apabila Contoh 5.10 ditulis dalam pseudocode berbasis bahasa BASIC akan tampak perti pada contoh 5.12.
Contoh 5.12.  Pseudocode.
1. Start
2. READ alas, tinggi
3. Luas = 0.5 * alas * tinggi
4. PRINT Luas
5. Stop
Pada Contoh 5.12 tampak bahwa algoritma sudah sangat mirip dengan bahasa BASIC.  Pernyataan seperti READ dan PRINT merupakan keyword yang ada pada bahasa BASIC yang masing-masing menggantikan kata “baca data” dan “tampilkan”. Dengan menggunakan pseudocode seperti di atas maka proses penterjemahan dari algoritma ke kode program menjadi lebih mudah.

C. Flowchart
Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu program secara logika.  Flowchart merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam bentu notasi-notasi tertentu.  Secara lebih detil bagian ini akan dibahas pada bagian berikutnya. Pada flowchart ada beberapa simbol penting yang digunakan untuk membuat algoritma sebagaimana tercantum pada Gambar 5.3.
Simbol Flowchart :

                Gambar Simbol-simbol yang digunakan dalam flowchart.
Program Flowchart dapat terdiri dari dua macam, yaitu bagan alir logika program ( program logic flowchart ) dan bagan alir program komputer terinci (detailed computer program flowchart).  Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara logika dan biasanya dipersiapkan oleh seorang analis system.  Sedangkan bagan alir program komputer terinci digunakan untuk menggambarkan instruksi-instruksi program komputer secara terinci dan biasanya dipersiapkan oleh seorang programmer. 
Apabila Contoh  dibuat program  flowchartnya maka akan tampak pada gambar.


Bagan alir logika program                                        Bagan alir program komputer terinci

  3. Struktur Algoritma Berurutan 

Ada tiga struktur dasar yang digunakan dalam membuat algoritma yaitu struktur berurutan sequencing), struktur pemilihan / keputusan / percabangan (branching) dan struktur pengulangan (looping).   
Sebuah algoritma biasanya akan menggabungkan ketiga buah struktur ini untuk menyelesaikan masalah.
Pada bagian ini kita akan bahas lebih dulu struktur algoritma berurutan.   
Struktur berurutan dapat kita samakan dengan mobil yang sedang berjalan pada jalur lurus yang tidak terdapat persimpangan .  Mobil tersebut akan melewati kilometer demi kilometer jalan sampai tujuan tercapai.  
Struktur berurutan terdiri satu atau lebih instruksi.  Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yaitu sebuah instruksi dieksekusi setelah instruksi sebelumnya selesai dieksekusi.  Urutan instruksi menentukan keadaan akhir dari algoritma.  Bila urutannya diubah, maka hasil akhirnya mungkin juga berubah. 
Menurut Goldshlager dan Lister (1988) struktur berurutan mengikuti ketentuan-ketentuan sebagai berikut: 
·         tiap instruksi dikerjakan satu persatu
·         tiap instruksi dilaksanakan tepat sekali, tidak ada yang diulang
·         urutan instruksi yang dilaksanakan pemroses sama dengan urutan aksi sebagaimana yang tertulis di dalam algoritmanya
·         akhir dari instruksi terakhir merupakan akhir algoritma.


2. Flowchart



   


1. Pengertian Flowchart / Bagan Alir
Pengertian Flowchart ( Bagan Alir ) adalah bagan  (chart) yang menunjukkan alir  (flow) di dalam program atau prosedur sistem secara logika. Bagan alir (flowchart) digunakan terutama untuk alat bantu komunikasi dan untuk dokumentasi. 

2. Jenis-jenis Flowchart / Bagan Alir
Ada beberapa jenis - Jenis flowchart diantaranya:
Bagan alir sistem (systems flowchart).
Bagan alir dokumen (document flowchart).
Bagan alir skematik (schematic flowchart).
Bagan alir program (program flowchart).
Bagan alir proses (process flowchart).

a. System Flowchart
System flowchart dapat didefinisikan sebagai bagan yang menunjukkan arus pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urut-urutan dari prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem menunjukkan apa yang dikerjakan di sistem.
b. Document Flowchart
Bagan alir dokumen  (document flowchart)  atau disebut juga bagan alir formulir  (form  flowchart)  atau  paperwork flowchart merupakan bagan alir yang menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya.
c. Schematic Flowchart
Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem. Perbedaannya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem, juga menggunakan gambar-gambar komputer dan peralatan lainnya yang digunakan. Maksud penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang kurang paham dengan simbol-simbol bagan alir. Penggunaan gambar-gambar  ini  memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya.
d. Program Flowchart
Bagan alir program  (program flowchart)  merupakan bagan yang menjelaskan secara rinci langkah-langkah dari proses program. Bagan alir program dibuat dari derivikasi bagan alir sistem.
Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika program  (program logic flowchart)  dan bagan alir program komputer terinci  (detailed computer program flowchart).  Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara logika. Bagan alat- logika program ini dipersiapkan oleh analis sistem. Gambar berikut menunjukkan bagan alir logika program. Bagan alir program komputer terinci  (detailed computer program flow-chart) digunakan untuk menggambarkan instruksi-instruksi program komputer secara terinci. Bagan alir ini dipersiapkan oleh pemrogram. 
d. Process Flowchart
Bagan alir proses  (process flowchart)  merupakan bagan alir yang banyak digunakan di teknik industri. Bagan alir ini juga berguna bagi analis sistem untuk menggambarkan proses dalam suatu.


3. Simbol-simbol Flowchart / Bagan Alir





4. Contoh dari Flowchart / Bagan Al

Tidak ada komentar:

Posting Komentar