Banyak istilah yang ada di dalam dunia komputasi seperti AI, superkomputer, machine learning, cloud, quantum computing, dan banyak lagi. Selain itu, ada satu kata yang khususnya digunakan di seluruh komputasi yaitu algoritma. Dalam pengertian yang paling umum, algoritma adalah serangkaian instruksi yang memberitahu komputer bagaimana mengubah serangkaian fakta tentang dunia menjadi informasi yang berguna.
Lebih jauh lagi, apa itu algoritma? Apa fungsinya dan perbedaannya dengan program? Poin-poin di bawah ini akan mengulas lebih detail tentang pengertian, fungsi, ciri, hingga contoh algoritma.
Baca juga: Simak tren SEO 2020 yang mengubah sistem mesin pencarian
Apa itu algoritma?
Algoritma adalah urutan langkah logis yang digunakan untuk menyelesaikan suatu masalah. (Gambar: pexels.com)
Agar memahami dengan lebih dalam apa itu algoritma, maka sebaiknya kita terlebih dahulu merujuk pada beberapa sumber di bawah ini. Pertama, menurut praktisi matematika dan komputer, Seymour Lipschutz dan Marc Lipson, pengertian algoritma adalah suatu daftar langkah demi langkah yang terhingga dari instruksi-instruksi yang terdefinisikan dengan jelas yang digunakan untuk memecahkan permasalahan tertentu.
Kedua, dilansir dari Bitlabs, algoritma adalah instruksi yang ditujukan ke komputer agar dirinya bisa menyelesaikan tugas yang diberikan. Instruksi tersebut harus ditulis secara spesifik agar tugas bisa diselesaikan dengan benar, mulai dari istilah yang dipakai sampai dengan langkah-langkahnya.
Ketiga, bersumber dari Tech Target, algoritma adalah prosedur atau formula untuk memecahkan masalah, yang dilakukan berdasarkan urutan tertentu. Sebuah program komputer dapat dilihat sebagai algoritma yang rumit. Dalam matematika dan ilmu komputer, algoritma biasanya berarti prosedur kecil yang memecahkan masalah berulang.
Dari ketiga sumber di atas, dapat ditarik kesimpulan bahwa algoritma adalah semua susunan logis yang diurutkan berdasarkan sistematika tertentu dan digunakan untuk memecahkan suatu masalah.
Baca juga: Faktor yang memengaruhi peringkat website di mesin pencarian
Fungsi algoritma
Algoritma adalah suatu urutan atau alur yang dipakai dalam perhitungan atau pemecahan masalah secara sistematis. (Gambar: pexels.com)
Pada dasarnya fungsi utama dari algoritma adalah untuk memecahkan suatu masalah. Suatu algoritma pemrograman membawa keuntungan serta fungsi penting dalam aktivitas pembuatan program. Algoritma pada umumnya digunakan untuk membantu setiap orang yang ingin mengkonversikan sebuah permasalahan ke bahasa pemrograman.
Dari fungsinya ini, algoritma adalah hasil dari pemikiran yang terkonsep sehingga perintah dalam algoritma dapat dilaksanakan oleh komputer lewat bahasa pemrograman. Beberapa yang perlu kamu ketahui terkait fungsi algoritma adalah sebagai berikut:
- Membantu memecahkan suatu permasalahan dengan logika dan sistematis.
- Memudahkan dalam membuat suatu program untuk penyelesaian masalah tertentu.
- Dapat digunakan berkali-kali untuk menyelesaikan suatu permasalahan.
- Membuat sebuah program yang rumit dan besar menjadi sederhana.
- Mengatasi permasalahan yang ada secara urut.
- Memecahkan program yang rumit sehingga memungkinan adanya perhitungan tingkat tinggi.
- Menggunakannya secara berulang atau lebih dari satu kali penggunaan.
- Memudahkan dalam tracking kesalahan karena alur kerjanya yang jelas.
- Memudahkan dalam memodifikasi program tanpa harus merubah dan mengganggu modul lainnya.
- Memudahkan membuat program yang lebih rapi dan terstruktur sehingga lebih mudah dipahami dan dikembangkan.
Baca juga: Google updates: Seperti apa sih algoritma Google terbaru?
Perbedaan algoritma dengan program
Algoritma adalah sekumpulan langkah-langkah untuk menyelesaikan suatu masalah. (Gambar: pexels.com)
Beberapa orang sering kesulitan memahami pengertian algoritma dan sering menjadi salah interpretasi antara pengertian algoritma dan program. Pada nyatanya, keduanya memang berhubungan namun memiliki pemahaman yang berbeda. Berikut ini adalah perbedaan algoritma dengan program:
Algoritma | Program |
Algoritma adalah desain sebelum membangun mesin dalam rekayasa perangkat lunak. | Setelah mendapatkan desain, perlu mengimplementasikan kode untuk membangun mesin dalam rekayasa perangkat lunak. |
Untuk menulis suatu algoritma, dibutuhkan seseorang dengan pengetahuan domain tertentu. | Untuk menulis kode pemrograman, dibutuhkan seorang programmer. |
Algoritma tidak tergantung pada perangkat keras dan sistem operasi. | Program sepenuhnya bergantung pada perangkat keras dan sistem operasi. |
Algoritma dapat ditulis dalam bahasa apapun seperti Inggris, Hindi, Prancis, Cina, dll. | Program dapat ditulis dalam bahasa pemrograman apa pun seperti C, C++, Java, C#, PHP, Python, dll. |
Untuk memeriksa logika (bug atau kesalahan) dalam algoritma digunakan teknik analisis. |
Untuk memeriksa bug atau kesalahan dalam bahasa pemrograman digunakan teknik pengujian/testing techniques. |
Baca juga: 10 Strategi SEO praktis untuk para pemula
5 Ciri algoritma
Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman. (Gambar: pexels.com)
Menurut Donald E. Knuth, algoritma harus memiliki lima ciri penting yang saling berhubungan satu dengan lainnya. Adapun kriteria algoritma ini diantaranya sebagai berikut:
1. Finiteness (keterbatasan)
Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas, dengan kata lain ada tujuan akhir yang dicapai, sehingga suatu program akan berhenti ketika tujuan akhir telah tercapai. Program yang tidak pernah berhenti mengindikasikan bahwa program tersebut berisi algoritma yang salah.
2. Definiteness (kepastian)
Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguous). Ada intruksi-intruksi yang jelas dan juga tidak ambigu, sehingga tidak terjadi kesalahan di dalam menghasilkan output.
3. Input (masukan)
Input ini merupakan suatu permasalahan yang dihadapi serta akan dicarikan solusinya. Algoritma ini mempunyai nol atau lebih input, yaitu besaran yang diberikan kepada algoritma untuk diproses.
4. Output (keluaran)
Algoritma memiliki nilai nol atau lebih keluaran (output). Output ini tentunya harus berupa solusi atau penyelesaian dari suatu masalah. Output dapat berupa pesan atau besaran yang berhubungan dengan input.
5. Effectiveness (keefektivitasan)
Algoritma harus sangkil (effective), setiap urutan atau langkah harus sesederhana mungkin, sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal.
Baca juga: Simak tren SEO 2020 yang mengubah sistem mesin pencarian
Contoh algoritma
Algoritma adalah instruksi yang ditujukan ke komputer agar dirinya bisa menyelesaikan tugas yang diberikan. (Gambar: pexels.com)
Agar lebih mendapatkan gambaran tentang algoritma, perlu diketahui bahwa algoritma tidak hanya diterapkan pada pemrograman saja, akan tetapi di bisa diterapkan dalam kehidupan sehari-hari.
Jika persoalannya adalah sebagai berikut:
Diberikan data berupa nama karyawan dan hasil penilaian kinerja. Jika hasil penilaian kinerja lebih besar atau sama dengan 75 maka karyawan tersebut dinyatakan berhasil mencapai KPI. Sedangkan jika nilainya lebih kecil dari 75, maka karyawan tersebut dinyatakan tidak berhasil mencapai KPI.
Maka contoh penulisan algoritmanya adalah seperti berikut:
1. Algoritma Narasi
Algoritmanya akan sebagai berikut:
baca nama dan nilai karyawan.
jika nilai >= 75 maka
keterangan = berhasil
tetapi jika =< 75
keterangan = tidak berhasil.
tulis nama dan keterangan
2. Algoritma Pseudo Code
Deklarasi dari tipe datanya akan seperti berikut:
Nama = string
Nilai = integer
Keterangan = string
Algoritmanya akan seperti berikut:
read (nama, nilai)
if nilai >= 75 then
keterangan = ‘berhasil’
else
keterangan = ‘tidak berhasil’
write(nama, keterangan)
3. Algoritma Flowchart
Itulah tadi beberapa poin pembahasan tentang pengertian algoritma, fungsi, ciri-ciri, dan contohnya. Semoga pembahasan di atas cukup untuk memberikan gambaran dan pemahaman tentang dasar-dasar algoritma. Nah, apabila kamu memiliki kemampuan dalam bahasa pemrograman dan tertarik bekerja sebagai programmer di perusahaan besar impianmu, kamu bisa mendaftarkan dirimu melalui EKRUT. Di sini terdapat berbagai peluang kerja yang dapat disesuaikan dengan minatmu.
Selain itu, kamu juga bisa mengintip bagaimana keseharian kerja seorang VP Engineering di channel YouTube EKRUTtv di bawah ini:
Sumber:
- Techtarget.com
- Study.com
- Theconversation.com
- Kompas.com
- Bitlabs.id