Kamis, 21 Maret 2013

Algoritma dan flowchart


11.    Definisi Algoritma
l  Teknik Penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas, tetapi tersusun secara logis dan sistematis
l  Suatu prosedur yang jelas untuk menyelesaikan suatu persoalan dengan menggunakan langkah-langkah tertentu dan terbatas jumlahnya
l  Algoritma adalah urutan langkah-langkah logika yang menyatakan suatu tugas dalam menyelesaikan suatu masalah atau problem.

Algoritma adalah sebuah strategi yang mengandalkan kemampuan berpikir secara logis untuk memecahkan suatu masalah. Dalam algoritma, kita mulai dengan berpikir apa yang kita miliki (kekuatan dan kelemahan), selanjutnya kita atur langkah (aksi) agar tujuan atau sasaran yang kita harapkan dapat terwujud.
Begitu juga dalam hal membuat program komputer. Ada keterbatasan statemen yang disediakan, namun dengan keterbatasan itu kita siasati langkah-langkah untuk mencapai hasil program yang sesuai dengan keinginan. Misalnya di dalam bahasa pemrograman tidak ada fungsi/prosedur bawaan yang mengkonversi nilai nominal mata uang menjadi bentuk terbilang. Dengan menggunakan strategi/algoritma kita dapat memecahkan persoalan tersebut dan dapat membuat programnya. Namun demikian, awal pembuatan algoritma tidak perlu memperhatikan statemen yang ada di suatu bahasa pemrograman karena algoritma bersifat umum.

Ø Ciri Algoritma
l  Mempunyai awal dan akhir
l  Setiap langkah didefinisikan dengan tepat
l  Memiliki masukan (input)
l  Memiliki keluaran (output)
l  Harus efektif (bisa menyelesaikan persoalan)

Ø Sifat Algoritma
l  Input: kondisi awal sebelum dilaksanakan
l  Output: menghasilkan keluaran setelah dilaksanakan
l  Definitif: langkah-langkahnya terdefinisi dengan jelas
l  Finit: melakukan langkah yang terbatas jumlahnya dalam mengolah input menjadi output
l  Efektif: memberi solusi sesuai harapan
l  General: berlaku untuk setiap himpunan input

Ø Struktur Algoritma
l  Bagian Kepala (Header)
         memuat nama dan informasi tentang algoritma yang dibuat
l  Bagian Deklarasi/Definisi Variabel
         memuat definisi tentang nama variabel, konstanta, prosedur, fungsi, tipe data yang digunakan
l  Bagian Deskripsi/Rincian Langkah
         memuat langkah-langkah penyelesaian masalah

2.  Flowchart (diagram alir)
l  Untaian simbol (chart) yang menunjukkan aliran (flow) dari proses terhadap data
l  Digunakan untuk menyusun rencana program
l  Diklasifikasikan menjadi:
         Simbol untuk program
         Simbol untuk sistem (peralatan hardware)
l  Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu program, yang menyatakan arah alur program tersebut.

Untuk menggambarkan sebuah algoritma yang terstruktur dan mudah dipahami oleh orang lain (khususnya programmer yang bertugas mengimplementasikan program), maka dibutuhkan alat bantu yang berbentuk Diagram Alir (Flowchart). Diagram alir ini akan menunjukkan alur di dalam program secara logika. Diagram alir ini selain dibutuhkan sebagai alat komunikasi, juga diperlukan sebagai dokumentasi. Dan sebelum lebih jauh memahami komponen-komponen diagram alir, maka perlu kiranya disampaikan aturan-aturan dalam perancangan diagram alir tersebut, yaitu :
1.      Diagram alir digambarkan dengan orientasi dari atas ke bawah dan dari kiri ke kanan;
2.      Setiap kegiatan/proses dalam diagram alir harus dinyatakan secara eksplisit;
3.      Setiap diagram alir harus dimulai dari satu Start State dan berakhir pada satu atau lebih Terminal Akhir/Terminator/Halt State;
4.      Gunakan Connector dan Off-Page Connector state dengan label yang sama untuk menunjukkan keterhubungan antar path algoritma yang terputus/terpotong, misalnya sebagai akibat pindah/ganti halaman.

Selain dengan Flowchart, untuk menuliskan sebuah algoritma dapat pula digunakan Pseudo-Code, yaitu suatu teknik penulisan algoritma dengan menggunakan sebanyak mungkin komponen-komponen dari salah satu bahasa tingkat tinggi (suatu bahasa pemrograman yang masih memerlukan unit kompilator untuk mengeksekusi program agar dapat berjalan). Dalam arti penulisan algoritma dengan Pseudo-Code ini hampir menyerupai sebuah program, tetapi tanpa menyertakan atribut-atribut program (seperti tipe data, dll), hanya menuliskan proses intinya saja.













Ø Pembuatan Flowchart
l  Tidak ada kaidah yang baku.
l  Flowchart = gambaran hasil analisa suatu masalah à Flowchart dapat bervariasi antara satu pemrogram dengan pemrogram lainnya.
l  Secara garis besar ada 3 bagian utama:
         Input
         Proses
         Output
l  Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat.
l  Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
l  Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.

Ø Contoh-contoh flowchart :
Berikut ini adalah contoh-contoh pembuatan flowchart untuk menyelesaikan berbagai masalah :
  1. Menghitung Luas Lingkaran

Gambar 5.1 Flowchart untuk menghitung luas lingkaran



  1. Menampilkan Kelipatan Bilangan
Gambar 5.2 Flochart untuk menampilkan kelipatan bilangan
Keterangan :
S          : kelipatan yang ingin ditampilkan
Upper : Batas range bilangan







  1. Menghitung Luas Lingkaran

Gambar 5.1 Flowchart untuk menghitung luas lingkaran













  1. Menampilkan Kelipatan Bilangan
Gambar 5.2 Flochart untuk menampilkan kelipatan bilangan
Keterangan :
S          : kelipatan yang ingin ditampilkan
Upper : Batas range bilangan







5.      Flowchart untuk program dengan input bilangan bulat positif 1 sampai dengan 100, dapat menghasilkan output tampilan bilangan ganjil antara 1 sampai dengan 100.

Flowchart: Terminator: Start




























Flowchart: Terminator: Stop















 

 



Gambar 5.3 Flowchart untuk menampilakn bilangan ganjil




  1. Flowchart untuk konversi bilangan berbasis sepuluh ke bilangan berbasis dua :


Gambar 5.4 Flowchart untuk konversi bilangan berbasis sepuluh ke berbasis dua

Meskipun banyak cara untuk menuliskan sebuah algoritma, tetapi diharapkan algoritma yang ditulis dapat dimengerti oleh orang lain. Misalnya Anda sebagai seorang analis sistem, jangan sampai algoritma yang Anda tuliskan dipersepsikan berbeda oleh programmer. Maka, ada norma-norma atau aturan–aturan tertentu yang berlaku secara internasional agar semua praktisi komputer akan mendapatkan persepsi yang sama atas sebuah algoritma.
            Algoritma yang dibuat dengan kalimat memiliki kelemahan, yakni hanya akan dimengerti oleh praktisi yang mengerti bahasanya. Begitu juga yang menggunakan gabungan kalimat dan statemen bahasa pemrograman hanya dimengerti bagi yang mengetahui bahasa tersebut.  

1 komentar: