Algoritma adalah serangkaian instruksi atau aturan langkah demi langkah yang dirancang untuk menyelesaikan suatu masalah atau melakukan suatu tugas. Dalam dunia pemrograman dan komputasi, algoritma menjadi tulang punggung dari setiap program yang dijalankan. Salah satu cara untuk merepresentasikan algoritma adalah melalui algoritma deskriptif, yang menggunakan bahasa manusia sehari-hari untuk menjelaskan logika dan urutan langkahnya. Ini berbeda dengan notasi algoritmik yang lebih formal atau diagram alir.
Mengapa algoritma deskriptif penting? Algoritma deskriptif sangat berguna terutama pada tahap awal perancangan solusi atau ketika berkomunikasi dengan audiens yang tidak memiliki latar belakang teknis yang mendalam. Ini memungkinkan pemahaman yang jelas tentang bagaimana suatu masalah akan dipecahkan tanpa terjebak dalam detail sintaksis bahasa pemrograman tertentu.
Mari kita ambil contoh sederhana: menghitung nilai rata-rata dari sekumpulan nilai ujian siswa. Algoritma deskriptif untuk tugas ini bisa diuraikan sebagai berikut:
jumlah_siswa.0. Kita sebut variabel ini total_nilai. Inisialisasi ini penting agar kita memiliki titik awal yang bersih untuk menjumlahkan nilai-nilai.jumlah_siswa kali:
total_nilai.total_nilai dengan jumlah_siswa. Simpan hasilnya dalam sebuah variabel baru, misalnya rata_rata.rata_rata kepada pengguna. Ini adalah hasil akhir dari algoritma.Dalam langkah perulangan, konsep loop sangat fundamental. Kita perlu mengulang proses meminta input nilai dan menjumlahkannya untuk setiap siswa. Jika kita memiliki 5 siswa, maka proses ini akan diulang sebanyak 5 kali. Variabel total_nilai berperan sebagai akumulator, terus bertambah setiap kali nilai siswa baru dimasukkan.
Setelah loop selesai, kita memiliki jumlah total dari semua nilai. Pembagian dengan jumlah_siswa memberikan nilai rata-rata. Penting untuk memastikan bahwa jumlah_siswa tidak nol untuk menghindari pembagian dengan nol, yang akan menyebabkan kesalahan.
Meskipun ini adalah algoritma deskriptif, kita bisa sedikit menggambarkannya dalam bentuk pseudocode agar lebih intuitif:
ALGORITMA HitungRataRataNilai
Deklarasi:
jumlah_siswa : integer
total_nilai : real
nilai_siswa : real
rata_rata : real
i : integer
Mulai:
Tampilkan "Masukkan jumlah siswa: "
Baca jumlah_siswa
total_nilai = 0
UNTUK i DARI 1 SAMPAI jumlah_siswa LAKUKAN
Tampilkan "Masukkan nilai siswa ke-", i, ": "
Baca nilai_siswa
total_nilai = total_nilai + nilai_siswa
AKHIR UNTUK
IF jumlah_siswa > 0 THEN
rata_rata = total_nilai / jumlah_siswa
Tampilkan "Nilai rata-rata siswa adalah: ", rata_rata
ELSE
Tampilkan "Tidak ada siswa untuk dihitung rata-ratanya."
END IF
Selesai
Pseudocode di atas memberikan gambaran yang lebih terstruktur dari algoritma deskriptif. Kata-kata seperti "Tampilkan", "Baca", "UNTUK ... LAKUKAN", dan "AKHIR UNTUK" adalah elemen umum dalam pseudocode yang membantu menerjemahkan ide algoritma ke dalam logika yang dapat diimplementasikan dalam bahasa pemrograman.
Algoritma deskriptif tidak hanya terbatas pada perhitungan nilai. Konsep ini dapat diterapkan untuk berbagai situasi, seperti:
Kunci dari algoritma deskriptif yang baik adalah kejelasan, kelengkapan, dan urutan yang logis. Setiap langkah harus dapat dipahami dan dieksekusi tanpa ambiguitas. Dengan demikian, algoritma ini berfungsi sebagai cetak biru yang andal untuk menyelesaikan tugas atau memecahkan masalah, baik dalam konteks komputasi maupun kehidupan sehari-hari.