PEMROGRAMAN DASAR #2 : ALGORITMA MENGGUNAKAN BAHASA NATURAL

ALGORITMA MENGGUNAKAN BAHASA NATURAL

Salah satu cara mempresentasikan algoritma adalah dengan bahasa natural atau bahasa sehari-hari. Algoritma dengan bahasa natural atau bahasa sehari dapat dengan mudah kita jumpai di kehidupan sehari-hari, sebagaimana tugas yang diberikan pada kegiatan belajar sebelumnya. Pada Kegiatan belajar kali ini, kita akan mempelajari bagaimna menyajikan algoritma dalam bahasa sehari-hari.

Tujuan Pembelajaran
Dengan Kegiatan Belajar ini diharapkan siswa mampu menyajikan algoritma dengan bahasa natural dengan baik.

Secara garis besar, algoritma dapat disajikan dengan 3 cara, yaitu
1. Menggunakan bahasa natural (bahasa sehari-hari)
2. Menggunakan Pseudocode
3. Menggunakan Flowchart

Penggunaan bahasa natural dalam algoritma sering dijumpai pada algoritma di kehidupan sehari-hari. Bahasa yang digunakan tentunya bahasa yang dipahami oleh pengguna algoritma. Misalkan saja petunjuk perawatan sepeda motor, tentu saja akan disediakan dengan bahasa di mana motor tersebut dijual. Jika Motor tersebut dijual di Indonesia tentu saja akan disediakan petunjuk dalam bahasa Indonesia, jika dijual di bebera negara dengan bahasa yang berbeda beda biasanya petunjuk akan disajikan dalam banyak bahasa (multi lingual). Karena algoritma yang baik tentu algoritma yang dapat dipahami dan dijalankan oleh penggunanya.

Penyajian algoritma dalam bahasa natural, menggunakan kalimat deskriptif, yaitu menjelaskan secara detail suatu algoritma dengan bahasa atau kata-kata yang mudah dipahami. Penyajian algoritma ini cocok untuk algoritma yang singkat namun sulit untuk algoritma yang besar. Selain itu algoritma ini akan sulit dikonversi ke bahasa Pemrograman.

Contoh 1
Berikut ini adalah algoritma untuk menentukan Volume sebuah Balok dengan bahasa sehari-hari :

Contoh 2
Berikut ini algoritma mencari nilai terbesar dari 3 buah bilangan :


Contoh 3


Contoh 1 -3 menunjukkan bagaimna menyajikan algoritma dengan bahasa natural, yaitu menggunakan kalimat deskriptif. Ciri-cirinya adalah bahwa dalam penyajian ini operasi-operasi maupun langkah-langkah dijelaskan dengan kata-kata dengan sedikit menggunakan simbol-simbol. Namun cara ini terkadang kurang dapat dipahami dengan baik oleh pengguna, dibandingkan dengan menuliskan operasi dan langkah-langkah dengan simbol. Pada prakteknya banyak pembuat algoritma tidak secara penuh menggunakan kata-kata untuk menjelaskan algoritma tapi mencampurnya dengan simbol-simbol. Lihat contoh 2 pada Kegiatan Belajar (KB) mengenai akar persamaan kuadrat. Pada contoh tersebut kata-kata dikombinasi dengan penggunaan simbolsimbol atau rumus.

Penyajian Algoritma yang Baik
Menurut Donald Ervin Knuth, tang dikenal dengan Bapak "Analisis Algoritma", algoritma yang baik dan benar harus memiliki kriteria-kriteria berikut ini:
  • Input
  • Output
  • Finite
  • Definite
  • Efisien
1. Input
    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. 

Sebagai contoh sebuah algoritma menghitung 100 bilangan genap yang pertama tidak memerluakan input dari pengguna karena sudah diketahui bahwa banyaknya bilangan genap.adalah 100. Berbeda jika algoritm tersebut digunakan untuk menghitung n bilangan genap pertama, dengan nilai n dari pengguna. Berarti ada masukan dari pengguna yaitu n.

2. Output
    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.

3. Finite (Terbatas)
    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.

4. Define (Pasti)
    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.

5. Efisien
    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.

LEMBAR KERJA SISWA
Buka link di bawah untuk menyelasikan Lembar Kerja anda, jangan lupa baca dengan teliti materi diatas.




Komentar