Algoritma
Ini Dia Pengertian Algoritma Beserta Karakteristiknya!
Saat ini, teman-teman mungkin sudah banyak mendengar tentang istilah algoritma. Ya, algoritma sangat penting dalam dunia pemrograman. Bagi kamu yang sudah lama berkecimpung di dunia komputer pasti sudah tidak asing lagi dengan istilah ini. Namun, bagi yang masih baru mengenal perangkat ini, komposisi, fitur, dan tujuan penggunaan perangkat ini tentu masih belum jelas.
Algoritma tidak hanya digunakan untuk menyelesaikan permasalahan pada komputer saja. Namun, algoritma juga dapat digunakan untuk menyelesaikan permasalahan yang ada dalam kehidupan sehari-hari. Selain itu, setiap masalah yang berkaitan dengan suatu proses atau langkah prosedural biasanya memerlukan suatu algoritma.
Apa itu Algoritma
Sebelumnya, mari kita lihat pengertian algoritma menurut ahli. Donald Ervin Knuth menyebutkan algoritma adalah sekumpulan aturan-aturan berhingga yang memberikan sederetan operasi-operasi untuk menyelesaikan masalah tertentu.
Sederhananya, algoritma adalah suatu langkah atau metode yang telah direncanakan secara matang agar berurutan dan tersusun rapi, serta sering digunakan untuk menyelesaikan suatu masalah dengan memberikan petunjuk tindakan.
Karakteristik Algoritma
Agar suatu instruksi dapat menjadi suatu algoritma, instruksi tersebut harus mempunyai beberapa ciri-ciri.
Pertama, apabila algoritma memerlukan input, maka algoritma yang ada harus didefinisikan secara jelas. Selanjutnya algoritma yang ada jelas dan tidak ambigu, setiap proses, langkah dan instruksi yang ada harus jelas dalam segala hal. Terakhir, tentu algoritma mempunyai tujuan yang ingin dicapai.
Jenis-jenis Algoritma
Algoritma sendiri dibagi ke dalam beberapa jenis. Yuk, kita lihat jenis-jenis algoritma yang kami lansir dari Nesaba Media.
1. Algoritma Rekursif
Algoritma rekursif adalah jenis algoritma yang akan melakukan perulangan sendiri hingga masalahnya terpecahkan. Selain itu, algoritma akan memanggil dirinya sendiri berulang kali hingga masalahnya terpecahkan.
2. Algoritma Divide and Conquer
Algoritma Divide and Conquer merupakan salah satu jenis algoritma yang membagi suatu masalah menjadi beberapa bagian. Langkah-langkah algoritma membagi dan menaklukkan antara lain membagi masalah menjadi bagian-bagian yang sama dan kemudian mencari solusi utama setelah diperoleh solusi untuk sub-bagiannya.
3. Algoritma Dynamic Programming
Algoritma pemrograman dinamis (Algoritma dynamic programming) merupakan algoritma yang bekerja dengan cara mencari solusi dari setiap bagian terkecil dari suatu permasalahan, hasilnya akan disimpan untuk menyelesaikan permasalahan baru di masa yang akan datang.
4. Algoritma Greedy
Algoritma greedy merupakan algoritma yang digunakan untuk mencari permasalahan optimasi. Cara kerja algoritma ini adalah mencari solusi optimal lokal apapun konsekuensi yang diterimanya, sehingga dapat ditemukan solusi optimal global.
5. Algoritma Brute Force
Algoritma brute force ini merupakan jenis algoritma dengan konsep yang paling sederhana. Algoritma ini menggunakan iterasi dari setiap solusi yang ditemukan untuk menemukan solusi yang paling sesuai dengan permasalahan yang ada.