Pilihan Cerdas Sekolah Coding

Daftar Kelas Trial Gratis

Algoritma: Pengertian, Manfaat dan Contohnya

Oleh Daniel Wirajaya (website)

Co-founder, Acutis Academy; Director, QuBisa. Pakar e-learning dengan pengalaman industri lebih dari 20 tahun.


Pengguna komputer usia muda

Pengertian Algoritma

Algoritma adalah rangkaian langkah-langkah logis yang terstruktur dan sistematis untuk memecahkan masalah dan mencapai suatu tujuan tertentu.

Secara sederhana, algoritma dapat dianalogikan dengan resep masakan. Ketika kita ingin memasak sesuatu, kita mengikuti sebuah resep untuk menghasilkan masakan yang lezat. Resep itu menjelaskan langkah demi langkah yang perlu diikuti beserta dengan takaran dari setiap bahan yang digunakan.

Dengan mengikuti resep yang ada, sebuah restoran ayam goreng cepat saji, misalnya, dapat menyajikan menu yang sama secara konsisten setiap harinya. Algoritma adalah seperti “resep” itu. Dengan mengikuti algoritma, komputer dapat menyelesaikan tugas tertentu secara konsisten dan efisien.

Algoritma dalam Kehidupan Sehari-hari

Algoritma saat ini digunakan di mana-mana. Pada saat kita membuka aplikasi sosial media, algoritma di aplikasi itu langsung bekerja, untuk menampilkan postingan yang mungkin menarik bagi kita. Ketika kita mulai mencari makan siang untuk dipesan, algoritma memainkan peran penting untuk mencari restoran terdekat yang kita minati. Bahkan ketika kita bergerak dari satu titik ke titik lain sambil membawa handphone, tanpa kita sadari algoritma di handphone tersebut mulai bekerja untuk lebih mengenal siapa diri kita yang sebenarnya. Apalagi sekarang ini kita semakin akrab dengan Kecerdasan Buatan atau AI (Artificial Intelligence) yang memanfaatkan algoritma untuk melakukan berbagai hal yang dulu sulit dilakukan.

Karena fungsinya yang sangat penting tersebut, algoritma adalah “jantung” atau inti dari semua program dan aplikasi yang kita gunakan setiap hari, yang memungkinkan program itu untuk berfungsi sesuai yang kita harapkan. Karena itu, bagi kita yang beraspirasi untuk menjadi seorang programmer handal, menguasai algoritma yang baik adalah fondasi yang sangat penting untuk menghasilkan aplikasi yang handal pula.

Manfaat Algoritma

Contoh Algoritma

Sebagai contoh, kita sekarang akan mendiskusikan algoritma untuk mengenali tulisan tangan, khususnya angka.

Sampel Tulisan Tangan (MNIST)
Tulisan tangan berupa angka. (Courtesy of Suvanjanprasai - Own work, CC BY-SA 4.0, Link Sumber.)

Gambar di atas menunjukkan sebagian kecil dari dataset berupa angka-angka yang dituliskan oleh banyak orang. Dataset seperti ini dapat digunakan oleh komputer untuk mengenali tulisan tangan penggunanya. Contohnya, ketika seseorang menuliskan angka tertentu di layar hp-nya, algoritma di dalam hp-nya akan bekerja dengan cara membandingkan tulisan tersebut dengan angka-angka yang ada di dataset. Ketika menemukan angka yang paling mirip dengan angka yang dituliskan, maka aplikasi itu memprediksi bahwa angka itulah yang dimaksudkan oleh penggunanya.

Perbandingan Tulisan Tangan
Sumber: "Nine Algorithms That Changed The Future" oleh John MacCormick, Princeton University Press (2011).

Gambar di atas menunjukkan salah satu cara untuk membandingkan tulisan tangan yang dibuat oleh seorang user (di sisi paling kiri) dengan yang ada di dataset (yang di tengah). Perbandingan di antara keduanya secara piksel demi piksel akan menghasilkan gambar ketiga (di sisi kanan). Ketika kedua piksel berwarna putih atau sama-sama hitam, maka yang akan dihasilkan adalah piksel putih. Sebaliknya ketika salah satu piksel berwarna putih dan yang lainnya hitam, maka yang akan dihasilkan adalah piksel hitam. Dari contoh ini, dapat dilihat bahwa tulisan user tersebut paling mirip dengan angka 2 yang ada di dalam dataset (perbedaan hanya 6%). Ketika dibandingkan dengan angka-angka lainnya, seperti angka 9 dalam contoh di atas, perbedaannya lebih besar (21 persen dalam contoh di atas).

Algoritma ini disebut Algoritma Tetangga Terdekat atau Nearest Neighbor Algorithm, di mana kita mengkategorikan sesuatu berdasarkan kemiripannya dengan dataset yang kita miliki.

Algoritma di atas adalah satu satu algoritma tingkat lanjut yang digunakan dalam Machine Learning. Tetapi sebelum melangkah ke algoritma tingkat lanjut lainnya, ada baiknya kita memulai dengan beberapa algoritma klasik, yang akan kita bahas di lain kesempatan:

Manfaat Mempelajari Algoritma

Kesimpulan

Menulis algoritma yang baik merupakan dasar dari pemrograman. Karena itulah, kami di Acutis Academy bukan hanya sekedar mengajarkan cara membuat game atau animasi, tetapi kami mendidik para siswa untuk menguasai algoritma, dengan cara-cara yang kreatif dan inovatif, sehingga mudah dipahami. Sebagai hasilnya, siswa kami memiliki fondasi yang kokoh untuk mengembangkan aplikasi lain yang lebih kompleks.