1.2. Algoritma
Kecepatan sebuah solusi sangat
tergantung dari besar kecilnya instansiasi masalah. Sebuah masalah dengan
instansiasi yang kecil dapat dicari solusinya dengan cepat dan mudah. Pada
contoh pencarian nilai tertinggi di atas, pencarian solusi dapat dilakukan dengan
relatif cepat karena instansiasi masalahnya kecil. Bayangkan jika banyaknya
nilai dalam daftar lebih dari 500 item nilai, tentunya proses pencarian nilai
tertinggi menjadi lebih lama.
Untuk menyelesaikan sebuah masalah,
diperlukan prosedur yang terdiri dari langkah-langkah yang harus dijalankan
untuk menghasilkan solusi. Prosedur ini
yang berisi langkah-langkah ini disebut dengan algoritma. Dalam kalimat yang
berbeda, algoritma dapat dijabarkan sebagai deretan instruksi yang jelas untuk
memecahkan masalah, yaitu umtuk memperoleh keluaran dari suatu masukan dalam
jumlah waktu yang terbatas.
Pada dasarnya, setiap hari setiap
manusia telah menerapkan algoritma untuk menyelesaikan permasalahan, meskipun
tidak secara jelas disebut sebagai algoritma.
Contohnya, update status di facebook, menginstall aplikasi android,
melakukan panggilan video pada Whatsapp.
Contoh Algoritma update status di facebook
1.
Klik
pada isian “apa yang anda pikirkan”
2.
Ketikkan
status yang diinginkan
3.
Tambahkan
pelengkap seperti foto, penanda lokasi, dan sebagainya
4.
Klik
kirim
Kata algoritma berasal dari algorism.
Algorism merupakan ahli matematika muslim yang terkenal bernama Abu Ja’far
Muhammad ibn Musa Al-Khowarizmi. Lidah orang barat mengucapkan al-khowarizmi
sebagai algorism. Alkhowarizmi menulis buku Kitab
al-Jabr wa al-Muqabala. Dari buku inilah muncul istilah aljabar.
Perubahan kata algorism menjadi
algorithm muncul Karena sering terjadi salah sebut dengan arithmetic sehingga
akhiran “sm” menjadi “thm”. Seiring dengan makin lumrahnya perhitungan dengan
angka Arab, maka berangsur-angsur kata algorithm dipakai sebagai metode
komputasi secara umum.
Sebagai langkah untuk menyelesaikan
masalah, sebuah algoritma harus memiliki 5 buah prinsip penting yaitu:
1.
Algoritma
harus berhenti setelah mengerjakan sejumlah langkah terbatas. Contohnya, “berjalanlah mengelilingi
lingkaran”. Apabila tidak dibatasi berapa kali berjalan mengelilingi lingkaran,
maka proses akan terus berjalan tanpa henti.
2.
Setiap
langkah harus didefinisikan secara jelas dan tidak memiliki pemahaman yang
ambigu. Contohnya, “diamkan air dalam waktu yang lama”. Kata “waktu yang lama”
tidak jelas dan memiliki pemahaman yang ambigu. Bandingkan dengan kalimat “diamkan air dalam waktu 24 jam”
3.
Algoritma
memiliki nol atau lebih masukan (input). Masukan adalah nilai yang diberikan
kepada algoritma untuk diproses. Contohnya, dalam menghitung luas persegi
panjang terdapat dua input yaitu panjang dan lebar.
4.
Algoritma
memiliki nol atau lebih keluaran (output). Output merupakan nilai yang diperoleh
dari proses pengolahan input. Contohnya, dari penjumlahan 4 sisi diperoleh
output berupa keliling bujur sangkar.
5.
Algoritma
harus efektif. Setiap langkah harus sederhana sehingga dapat dikerjakan dalam
sejumlah waktu yang masuk akal. Contohnya, Menghitung luas persegi panjang
cukup dengan panjang dikalikan lebar (p x l). Meskipun proses perhitungan
dengan ((2 x p):2) + ((2 x l):2) menghasilkan nilai yang sama, tetapi proses
ini tidak efektif.
1.3. Notasi Algoritmik
Di dalam pemrograman, rancangan pemecahan
masalah lebih ditekankan untuk merumuskan langkah-langkah yang harus dilakukan.
Setelah langkah tersebut dirumuskan, barulah kode program dituliskan sebagai
aktivitas akhir. Rancangan pemecahan masalah ini tidak bergantung pada bahasa
pemrograman maupun komputer yang akan yang digunakan. Rancangan ini ditulis
dalam notasi diskriptif yang dikenal dengan notasi algoritmik.
Notasi algoritmik bukan merupakan
bahasa pemrograman, sehingga siapapun dapat membuatnya dengan bentuk yang
berbeda-beda. Namun prinsip utama dalam notasi algoritmik adalah harus mudah
dibaca dan dipahami.
Terdapat beberapa notasi yang dapat
digunakan untuk menuliskan notasi algoritmik. Berikut adalah beberapa notasi
algoritmik yang diimplementasikan untuk menjabarkan algoritma penghitungan luas
sebuah persegi panjang
1.
Notasi
1 : Menggunakan kalimat deskriptif
Dalam notasi ini, setiap langkah
dijelaskan dengan kalimat yang jelas. Setiap dimulai dengan kata kerja seperti
hitung, baca, tampilkan, dan sebagainya. Notasi ini baik untuk orang awam,
tetapi cenderung sulit diterjemahkan langsung dalam bahasa pemrograman
Contoh:
|
PROGRAM
hitung_luas_persegi_panjang
ALGORITMA
1.
Masukkan panjang
2.
Masukkan lebar
3.
Kalikan panjang dan lebar
4.
Tampilkan hasil perkalian
|
Thanks for info, dont forget to visit in my web https://bit.ly/2OIvCMY
BalasHapus