Tuesday, August 30, 2016

Cara Penulisan Algoritma

Di dunia kerja, sebenarnya tidak ada cara baku dalam penulisan algoritma. Bahkan, untuk membaca algoritma dari suatu program yang ditulis orang lain, mereka langsung membacanya dari kode sumber program.

Namun demikian, cara tersebut adalah cara yang digunakan oleh orang yang sudah mahir bahasa pemrograman tertentu dan sudah terbiasa dengan membaca kode. Lalu bagaimana dengan orang-orang yang baru belajar? Maka di sinilah pentingnya cara penulisan algoritma.

1) Deskriptif

Cara penulisan algoritma secara deskriptif sebenarnya sudah dilakukan pada postingan terdahulu, yakni merinci langkah-langkah poin per poin. Sangat penting untuk menulis kata "Selesai" karena itu berarti algoritma kita berjalan sesuai dengan hasil yang diharapkan.

2) Flowchart

Cara penulisan algoritma yang lebih populer adalah dengan menggunakan flowchart atau diagram alir. Contoh flowchart seperti berikut,



Flowchart di atas menggambarkan algoritma mencari luas sebuah lingkaran dari r yang diinputkan oleh user. Pada flowchart, sangat penting untuk menuliskan kata "Start" dan "End" dengan bentuk segiempat bersudut lingkaran (rounded rectangle).

Input dan output digambarkan dalam bentuk jajar genjang (parallel epipedum), sedangkan pemrosesan digambarkan dalam bentuk kotak persegi panjang.

Contoh lainnya,



Contoh di atas adalah algoritma menampilkan bilangan berkelipatan 3 dengan limit yang diinputkan oleh user. Pada contoh di atas, yang baru adalah bentuk belah ketupat dengan dua cabang (branch). Itu adalah contoh branching (masih ingat nggak?). Statement "n % 3 == 0" menunjukan bahwa apakah bilangan n tersebut habis dibagi tiga atau tidak. Jika ya, maka tampilkan n di layar dan jika tidak, lanjut ke baris berikutnya.

Perhatikan bahwa pada statement kondisi "n <= limit", jika benar maka langkahnya kembali ke atas. Ini adalah contoh looping (repetition).

Anak panah menunjukkan urutan pengerjaannya. Ini merupakan implementasi dari dasar algoritma "sequence" (berurutan).

3) Pseudocode

Cara yang terakhir adalah dengan menggunakan kode palsu. Artinya, penjelasan algoritma melalui bahasa tertentu tetapi bukan bahasa pemrograman. Faktanya, tidak ada aturan baku dalam penulisan pseudocode. Malah, penulisan pseudocode sangat dipengaruhi oleh bahasa apa yang dikuasai oleh penulis. Bisa jadi, pseudocode lebih mirip cara penulisan algoritma secara deskriptif hanya bedanya cara penulisan pseudocode memiliki indentasi yang lebih memudahkan pembacaan. Contoh algoritma mencetak bilangan berkelipatan 3 yang dicontohkan di atas:

INPUT limit
n = 1
WHILE n <= limit
    IF n % 3 == 0 THEN
        PRINT n
    n = n + 1
END WHILE

Lebih mirip bahasa pemrograman kan?


Lalu timbul pertanyaan. Cara manakah yang paling efektif dalam penulisan algoritma? Tentu saja sesuai dengan yang ditanyakan di dalam soal. Hahaha... Kalau Dosen / Guru meminta kita untuk menulis algoritma dengan menggunakan flowchart, ya jangan jawab dengan menggunakan pseudocode dong.

Seperti yang telah saya singgung sebelumnya, pada dasarnya tidak ada keharusan harus menggunakan cara yang bagaimana. Bahkan bahasa-bahasa pemrograman di abad ini sudah sedemikian mendekati bahasa manusia sehingga algoritmanya pun bisa dibaca dengan mudah.

Bahasa-bahasa scripting seperti Python, Ruby, Javascript juga sudah sangat mudah untuk dimengerti. Apalagi semua bahasa pemrograman mengijinkan penulisnya menulis komentar di setiap baris kode. Jadi, take it easy, guys.

Belajar algoritma itu menyenangkan kok!

No comments:

Post a Comment