RANGKUMAN ALGORITMA
Pengertian Algoritma
Pengertian umum dari suatu algoritma adalah urutan dari sejumlah
langkah logis dan sistematis untuk memecahkan suatu masalah tertentu. Beberapa
ahli menganggap algoritma sebagai urutan langkah-langkah yang harus diikuti
dalam matematika atau perhitungan untuk memecahkan masalah lain, terutama
komputer.
Artinya semua susunan logis yang disusun dalam urutan sistem pembelajaran
tertentu dan digunakan untuk memecahkan suatu masalah tertentu, dapat kita
katakan seperti sebuah algoritma. Sedangkan dalam Kamus Besar Bahasa
Indonesia (KBBI), algoritma adalah suatu prosedur sistematis untuk
menyelesaikan masalah matematika dalam langkah-langkah terbatas atau urutan
pengambilan keputusan yang logis untuk memecahkan masalah tersebut.
Sejarah Dari Algoritma
Sejarah algoritma dimulai dari metode penyelesaian masalah kuno di
Babilonia dan Mesir, namun istilah "algoritma" berasal dari nama matematikawan
Persia abad ke-9, Muhammad ibn Musa al-Khwarizmi, yang menulis tentang
sistem bilangan Arab dan aljabar, yang diterjemahkan menjadi "algorism" dan
kemudian "algorithm". Konsepnya berkembang melalui matematikawan Yunani
kuno seperti Euclid dengan Algoritma Euclid, hingga menjadi dasar komputasi
modern dengan munculnya komputer di abad ke-20.
Jenis - Jenis Algoritma
1. Algoritma Rekursif
Menggunakan algoritma rekursif, suatu fungsi akan memanggil dirinya
sendiri untuk menyelesaikan sebuah masalah dengan memecahnya menjadi
bagian-bagian yang lebih kecil Proses ini akan selesai hingga mencapai kondisi
dasar, yaitu ketika masalah bisa diselesaikan tanpa adanya perulangan lagi.
Algoritma ini cocok untuk masalah yang memiliki pola berulang, misalnya saat
Anda mencari produk sepatu olahraga untuk pria di website e-Commerce . Mulai
cara kerja:
Anda membuka website e-Commerce lalu memilih kategori utama,
misalnya Pria .
Algoritma kemudian akan mencari subkategori Sepatu Pria untuk
mengerucutkan hasilnya.
Setelah itu, algoritma akan mencari lebih dalam lagi, kali ini di
subkategori Sepatu Olahraga .
Selanjutnya, algoritma akan menampilkan produk yang Anda cari
berdasarkan hasil dari setiap langkah tersebut, yaitu sepatu olahraga.
2. Algoritma Pengurutan
Algoritma sorting digunakan untuk mengatur data dalam urutan tertentu,
misalnya dari yang terkecil ke yang terbesar (ascending) atau sebaliknya
(descending). Jenis algoritma ini meningkatkan efisiensi dan kecepatan
pengiriman data, terutama saat menangani data dalam jumlah besar.
Berikut adalah beberapa jenis algoritma pengurutan yang umum digunakan:
Sortir gelembung . Elemen dibandingkan berpasangan dan ditukar kalau
tidak dalam urutan yang benar, lalu diulang sampai semuanya berurutan.
Gabungkan sortir . Data dipecah menjadi bagian-bagian yang lebih kecil,
diurutkan, lalu digabung kembali secara terurut.
Penyortiran cepat . Satu elemen dipilih sebagai pivot atau patokan, lalu
elemen lain di sekitar pivot tersebut dibagi lagi berdasarkan ukurannya.
3. Algoritma Pencarian
Jenis algoritma ini berguna untuk menemukan hasil tertentu dalam
kumpulan data, seperti saat mencari kata kunci di mesin pencari atau menemukan
produk di website toko online
Algoritma pencarian sendiri dibagi menjadi beberapa jenis, yaitu:
Pencarian linier . Bekerja dengan memeriksa setiap elemen satu per satu
hingga menemukan kecocokan.
Pencarian biner . Hanya bisa digunakan pada data yang sudah diurutkan.
Data akan dipecah menjadi dua bagian, lalu algoritma ini memeriksa
apakah elemen yang dicari ada di bagian kiri atau kanan, kemudian
mengulangi proses ini sampai data ditemukan.
Hashing . Algoritma ini mengubah data menjadi indeks menggunakan
fungsi hash untuk pencarian yang lebih cepat. Penggunaan umumnya
meliputi struktur data seperti tabel hash.
4. Algoritma Serakah
Algoritma greedy berjalan dengan memilih opsi yang dirasa paling
optimal dalam setiap tahap pemrosesan untuk mendapatkan solusi terbaik
Prinsipnya, langkah yang paling menguntungkan pada saat itu akan dipilih, tanpa
mempertimbangkan langkah sebelumnya atau kemungkinan yang bisa terjadi pada
langkah berikutnya.
Contoh penerapannya bisa dilihat pada aplikasi peta untuk menemukan rute
tercepat dari satu lokasi ke lokasi lain. Algoritma ini melihat rute tercepat di setiap
persimpangan hingga akhirnya menemukan jalur terpendek untuk mencapai
tujuan.
5. Algoritma Mundur
Dalam algoritma backtracking, pemecahan masalah dilakukan dengan
mencoba berbagai kemungkinan solusi, lalu kembali ke tahap sebelumnya jika
ternyata solusi tersebut tidak berhasil atau berujung buntu Kemudian, jika tidak
ada hasil yang diinginkan, pilihan tersebut akan dibatalkan untuk mencoba opsi
lain yang belum diuji.
Misalnya, dalam permainan Sudoku , algoritma backtracking akan menempatkan
angka di suatu kotak. Apabila angka tersebut tidak cocok di langkah berikutnya,
algoritma akan kembali ke kotak sebelumnya, mengganti angka yang telah dipilih,
lalu melanjutkan proses dengan solusi baru.
6. Algoritma Acak
Algoritma acak menggunakan keputusan acak untuk menentukan langkah-
langkah yang harus diambil saat menyelesaikan masalah. Metode ini sering
digunakan untuk menghindari pola tertentu yang bisa memperlambat atau
mengganggu efisiensi algoritma Jadi, bukannya mengikuti serangkaian langkah
yang sudah ditetapkan, algoritma ini akan membuat beberapa pilihan acak untuk
mencari solusi yang lebih baik.
Contoh sederhananya adalah saat Anda mengocok kartu. Dalam proses ini, Anda
menggunakan metode pengacakan untuk mengubah urutan kartu. Nah, algoritma
randomized juga bekerja dalam cara serupa, yaitu memilih elemen secara acak
untuk menentukan langkah berikutnya.
Fungsi Algoritma
Fungsi utama algoritma adalah memberikan langkah-langkah terstruktur dan logis
untuk memecahkan masalah atau menyelesaikan tugas, baik dalam pemrograman
maupun kehidupan sehari-hari, dengan tujuan menyederhanakan masalah
kompleks, mengotomatisasi proses, meningkatkan efisiensi, akurasi, dan
keandalan program atau solusi, serta memudahkan pendeteksian kesalahan.
Fungsi Utama
Pemecahan Masalah: Menyediakan cara yang jelas dan sistematis untuk
menyelesaikan masalah yang rumit.
Otomatisasi: Mengubah tugas berulang menjadi otomatis, mengurangi
usaha manual.
Efisiensi: Membantu membuat program yang lebih ringkas, cepat, dan
hemat sumber daya (waktu, memori).
Keandalan: Meningkatkan akurasi dan konsistensi hasil karena alurnya
yang teratur.
Penyederhanaan: Memecah program besar menjadi langkah-langkah kecil
yang mudah dikelola.
Fungsi dalam Pengembangan Perangkat Lunak
Struktur Program: Mengatur urutan instruksi agar program berjalan
efisien.
Minimalisir Kesalahan: Memudahkan deteksi dan perbaikan error karena
alur yang jelas.
Modifikasi Lebih Mudah: Perubahan bisa dilakukan pada modul tertentu
tanpa merusak keseluruhan program.
Penggunaan Ulang Kode (Reusability): Kode yang terstruktur dapat
digunakan kembali tanpa menulis ulang.
Contoh Algoritma
Contoh algoritma sangat beragam, mulai dari kegiatan sehari-hari
seperti membuat teh atau kopi, memasak mengikuti resep, atau mengemudi ke
suatu tempat (dengan instruksi belok kanan/kiri jika ada hambatan). Dalam ilmu
komputer, contohnya adalah algoritma pencarian (Binary Search), pengurutan
(Bubble Sort), atau menghitung luas persegi panjang. Algoritma adalah
serangkaian langkah logis berurutan untuk menyelesaikan masalah.
Contoh Algoritma dalam Kehidupan Sehari-hari
Membuat Kopi Saset:
Siapkan gelas dan kopi saset.
Buka saset, tuang bubuk kopi ke gelas.
Tuang air panas, lalu aduk hingga rata.
Tambahkan gula sesuai selera, aduk lagi.
Kesimpulan Algoritma
Kesimpulan mengenai algoritma adalah bahwa ia merupakan suatu urutan
langkah-langkah logis dan sistematis yang disusun untuk menyelesaikan sebuah
masalah atau menjalankan tugas tertentu. Dalam konteks komputer, algoritma
berfungsi sebagai landasan dasar sebelum membuat program, di mana logika
penyelesaian masalah disusun sedemikian rupa agar dapat diterjemahkan ke dalam
bahasa pemrograman. Sebuah algoritma yang baik harus memiliki instruksi yang
jelas agar tidak menimbulkan kesalahan interpretasi, serta harus efisien dalam
mencapai hasil akhir yang diinginkan.