Algortima adalah sebuah susunan sebuah langkah untuk menyelesaikan sebuah masalah. Langkah –langkah yang digunakan untuk menyelesaikan masalah tersebut dapat dipresentasikan melalui beberapa cara. Pada pembahasan kali ini kita akan membahas tentang mempresentasikan algoritma dengan menggunakan bahasa sehari – hari.
Secara garis besar, algoritma dapat disajikan atau dipresentasikan dengan menggunakan 3 cara antara lain :
1) Menggunakan bahasa natural (Bahasa Sehari – Hari)
2) Menggunakan Pseudocode
3) Menggunakan Flowchart
Secara umum bahasa natural atau bahasa sehari – hari sering digunakan dalam membuat sebuah algortima. Setiap hari kita akan dihadapkan dengan beberapa urutan langkah yang logis untuk mencapai sebuah tujuan. Itulah yang dimaksut dengan algoritma. Misalkan saja penggunaan handphone, agar sebuah handphone dapat dipasarkan diindonesia maka secata otomatis akan diberikan sebuah petunjuk tentang penggunaan handphone tersebut dalam kardusnya.
Secara resmi disetiap kardus sebuah handphone memiliki buku panduan dalam dua buah bahasa yang pertama adalah dalam bahasa inggris (Quick Start Guide) dan yang satunya dalam bahasa indonesia (Panduan Singkat).
Bayangkan saja jika product seperti pada gambar disamping dijual secara bebas diindonesia tanpa dilengkapi dengan buku panduan yang menggunakan bahasa indonesia apa yang akan terjadi ?. Konsumen yang membeli product tersebut akan merasakan sangat kesulitan menggunakan perangkat tersebut. Khususnya customer yang tidak dapat menggunakan bahasa inggris. Namun, jika anda dinegara lain maka jangan harap anda menemukan buku panduan dalam bahasa indonesia. Dinegara tersebut dapat dipastikan bahwa akan terdapat buku manual dalam bahasa inggris dan bahasa negara di mana barang tersebut dijual.
Penyajian algoritma dengan menggunakan bahasa natural memang sangat banyak kita jumpai dalam kehidupan sehari – hari. Namun perlu anda ingat menyajikan algoritma dengan cara ini sangat efektif jika untuk permasalahan yang singkat dan kecil namun jika anda akan menyajikan sebuah algortima sebuah program yang besar maka bukan tidak mungkin anda akan menghabiskan banyak kertas untuk mencetaknya dan akhirnya tidak efektif.
Contoh 1
Contoh 2
Dari kedua contoh diatas dapat diambil sebuah kesimpulan jika untuk membaut sebuah algoritma dengan mengguankan bahasa natural kita masih dapat diperbolehkan untuk menggunakan beberapa simbol matematika.
Menyusun sebuah algoritma
Dari beberapa contoh yang sudah disajikan diatas apakah ada sebuah aturan bagaimana membuat atau menyusun sebuah algortima ?. Sejauh ini, tidak ada sebuah standarisasi yang mengatur tentang menyusun sebuah algortima. Secara prinsip, anda memiliki kebebasan untuk menyusun bentuk sebuah algortima.
Namun, anda diberikan beberapa hal yang perlu anda perhatikan dalam menyusun sebuah algoritma. Menurut knuth (1973, hal. 4) dan juga horowitz dkk. (1999, hal. 1) ada lima ciri penting yang harus dimiliki sebuah algoritma yaitu :
➢ Finiteness
Algoritma yang baik haruslah mempunyai langkah-langkah terbatas, yang berakhir pada suatu titik di mana algoritma itu akan berhenti dan menghasilkan suatu output. Algoritma tidak boleh berjalan terus –menerus tanpa titik henti, hingga menyebabkan hang atau not responding jika diterapkan pada komputer. Ketika sebuah algoritma berjalan terus menerus (infinite), maka ini mengindikasikan ada kesalahan yang dibuat oleh programmer dalam mengembangkan algoritma.
➢ Definiteness
Makna dari langkah logis pada definisi algoritma terdahulu tercermin dari langkah-langkah yang pasti, tidak ambigu atau bermakna ganda. Suatu program harus mempunyai arah dan tujuan yang jelas ,kapan mulai dan kapan berakhir. Dalam menyusun langkah-langkah dalam algoritma perlu dihindari kata-kata seperti secukupnya, beberapa, sesuatu, sebentar, lama, atau kata lain yang tidak terukur dengan pasti. Pemberian nomor pada algoritma dapat membantu pengguna mengikuti setiap langkah dengan pasti hingga mencapai akhir dari algoritma, yaitu solusi dari permasalahan.
➢ Masukan
Algoritma memiliki nol input atau lebih dari pengguna. Setiap algoritma pasti memiliki input. Yang dimaksud dengan nol input dari pengguna adalah bahwa algoritma tidak mendapatkan masukan dari pengguna, tapi semua data inputan yang digunakan algoritma tidak dari pengguna secara langsung, namun semua data yang akan diproses sudah dideklarasikan oleh algoritma terlebih dahulu.
➢ Keluaran
Algoritma minimal harus memiliki 1 output. Tujuan dari algoritma adalah memberikan penyelesaian dari suatu permasalahan dengan langkah-langkah tertentu. Penyelesaian itulah output dari algoritma yang dimaksud. Output dapat berupa apa saja, teks, file, video, suara, dan lain-lain atau suatu nilai yang disimpan untuk digunakan algoritma lain atau disimpan di basis data.
➢ Efektifitas
Program menghasilkan output yang benar, itu wajib. Tapi bagaimna jika output yang benar itu dilakukan dengan waktu yang lama padahal ada algoritma lain yang lebih cepat? Hal ini menunjukkan bahwa setiap algoritma, khususnya jika sudah diterapkan pada pemrograman, mempunyai waktu eksekusi (running time). Algoritma disebut efisien jika untuk mendapatkan suatu solusi tidak memerlukan memori yang banyak, proses yang berbelit-belit dan tidak perlu. Jika algoritma terlalu banyak melakukan hal-hal yang tidak perlu akan menyebabkan waktu eksekusi menjadi lebih lama.
Post a Comment