Saat ini kita tentunya sudah sangat sering mendengan kata "algoritma" dalam kehidupan sehari-hari, apalagi jika anda adalah penggiat social media yang menggunakan social media sebagai sarana untuk mempromosikan sebuah produk. Kata yang paling sering disebutkan antara lain "algoritma youtube" atau "algoritma instagram" dan lain sebagainya.
Namun apakah arti algoritma itu sendiri? Dan bagaimana cara kerja algoritma dalam sebuah program? Melalui pembahasan tulisan ini, diharapkan rekan-rekan pembaca sudah mengerti tentang dasar algoritma dan bagaimana penerapannya dalam dunia teknologi.
Algoritma merupakan urutan atau langkah-langkah dalam penyelesaian suatu masalah yang ditulis secara berurutan. Walaupun algoritma sangat erat dengan dunia teknologi dan komputer, ternyata algoritma juga bisa digunakan dalam disiplin ilmu lain bahkan dalam kehidupan sehari-hari setiap orang. Contoh yang sangat sederhana adalah sebagai berikut :
Algoritma menyelesaikan masalah "berangkat kerja dipagi hari" :
- Bangun Pagi Jam 4.30 WIB
- Ibadah pagi / sholat subuh / doa pagi
- Mandi
- Sarapan
- Persiapan laptop / dokumen / peralatan kerja
- Memanaskan kendaraan
- Berangkat menuju kantor
Dari algoritma diatas dapat diketahui bahwa untuk berangkat kerja dipagi hari terdapat urutan-urutan yang harus diselesaikan hingga dapat menyelesaikan masalah.
Untuk menyajikan sebuah algoritma, biasanya digunakan dua jenis penyajian, yaitu penyajian berupa tulisan dan berupa gambar. Penyajian menggunakan tulisan yaitu menulis algoritma dengan struktur bahasa tertentu baik menggunakan bahasa Indonesia ataupun menggunakan bahasa inggris. Penulisan struktur bahasa ini dalam dunia komputer / pemrograman biasa disebut juga dengan Pseudocode.
Pseudocode merupakan deskripsi dari algoritma pemrograman komputer yang menggunakan konvensi struktural dari suatu bahasa pemrograman dan ditujukan agar dapat dibaca oleh manusia dan bukan oleh mesin. Pseudocode memudahkan seorang programmer untuk membaca sebuah algoritma dan menerjemahkan kedalam bahasa pemrograman tertentu.
Sedangkan untuk penyajian algoritma dengan menggunakan gambar bisa menggunakan flowchart. Flowchart adalah bagan yang menunjukkan aliran proses atau prosedur perintah sistem dengan menggunakan logika.
Dalam penulisan algoritma ada beberapa kriteria yang harus dipenuhi. Berikut kriteria penulisan algoritma.
Tidak Ambigu
Setiap langkah atau urutan dalam algoritma tidak boleh mengandung perintah yang ambigu karena jika terdapat kondisi yang ambigu, maka algoritma tersebut akan sangat sulit untuk diterjemahkan atau bahkan tidak dapat dijalankan.
Dapat Dieksekusi
Proses-proses dalam setiap langkah akan dieksekusi menjadi barisan code program. Sehingga salah satu kriteria dalam penulisan algoritma adalah bahwa algoritma tersebut dapat dieksekusi / dijalankan dan menghasilkan nilai balik (hasil).
Berurutan
Algoritma disusun secara berurutan mulai dari langkah pertama hingga langkah terakhir. Penulisan algoritma secara berurutan akan memudahkan dalam penyelesaian masalah, karena sebuah masalah hanya bisa diselesaikan jika masalah sebelumnya telah selesai dan begitu seterusnya hingga mendapatkan sebuah nilai balik (hasil).
Contoh lain dalam penggunaan algoritma adalah menghitung luas persegi panjang. Maka algoritma menghitung keliling persegi panjang dapat ditulis sebagai berikut:
- Masukkan Nilai Panjang
- Masukkan Nilai Lebar
- Keliling = Panjang x Lebar
- Tampilkan Keliling
Dari contoh diatas kita dapat dengan mudah membaca langkah-langkah atau proses yang dibutuhkan untuk menghitung keliling sebuah persegi panjang.
Contoh lain yang sangat sering kita jumpai dikeseharian kita adalah "algoritma youtube", dimana semua video yang muncul di beranda youtube setiap orang akan berbeda-beda berdasarkan beberapa faktor antara lain :
- Video yang pernah ditonton
- Channel yang di subscribe
- Ketertarikan terhadap sebuah produk (berdasarkan history pencarian di Google Search)
Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H