Algoritme adalah langkah-langkah sistematis dan terstruktur yang digunakan untuk menyelesaikan suatu permasalahan. Dalam ilmu komputer, algoritme menjadi dasar dari pemrograman karena setiap program pada dasarnya merupakan implementasi dari algoritme tertentu. Algoritme harus disusun secara logis, jelas, dan berurutan agar dapat dijalankan oleh komputer maupun dipahami oleh manusia. Dalam pembelajaran informatika, mempelajari algoritme dasar sangat penting karena melatih kemampuan berpikir terstruktur, logis, dan efisien sebelum masuk ke tahap penulisan kode program.
Berikut jenis algoritme yang akan kita pelajari pada artikel kita hari ini yaitu algoritme pengurutan dan pencarian.
Algoritma pengurutan
Algoritma pengurutan adalah metode atau langkah-langkah yang digunakan untuk menyusun data dalam urutan tertentu, baik menaik (ascending) maupun menurun (descending). Pengurutan sangat penting karena memudahkan pencarian data, analisis, dan pengolahan informasi.
Jenis-jenis Algoritma Pengurutan
- Bubble Sort
- Membandingkan dua elemen bersebelahan lalu menukarnya jika tidak berurutan.
- Sederhana, tetapi lambat untuk data besar.
- Selection Sort
- Mencari elemen terkecil lalu menempatkannya di posisi paling depan.
- Lebih sedikit pertukaran, tapi tetap lambat.
- Insertion Sort
- Menyisipkan elemen ke posisi yang tepat seperti cara menyusun kartu.
- Cepat untuk data kecil atau hampir terurut.
- Merge Sort
- Membagi data menjadi bagian kecil, mengurutkannya, lalu digabung kembali.
- Lebih efisien untuk data besar, menggunakan prinsip divide and conquer.
- Quick Sort
- Memilih pivot, lalu membagi data menjadi dua bagian (lebih kecil dan lebih besar).
- Sangat cepat untuk data besar, tetapi performa bisa menurun jika pemilihan pivot kurang tepat.
Contoh penggunaan algoritme pengurutan dalam hal ini kita menggunakan Buble sort untuk menyelesaikan pola angka sebagai berikut:
Pola Angka (Data Acak)
[ 12, 5, 9, 1, 7, 3 ]
Penyelesaian dengan Bubble Sort
Langkah 1:
- Bandingkan 12 & 5 → tukar →
[ 5, 12, 9, 1, 7, 3 ] - Bandingkan 12 & 9 → tukar →
[ 5, 9, 12, 1, 7, 3 ] - Bandingkan 12 & 1 → tukar →
[ 5, 9, 1, 12, 7, 3 ] - Bandingkan 12 & 7 → tukar →
[ 5, 9, 1, 7, 12, 3 ] - Bandingkan 12 & 3 → tukar →
[ 5, 9, 1, 7, 3, 12 ]
Langkah 2:
- Bandingkan 5 & 9 → tidak tukar
- Bandingkan 9 & 1 → tukar →
[ 5, 1, 9, 7, 3, 12 ] - Bandingkan 9 & 7 → tukar →
[ 5, 1, 7, 9, 3, 12 ] - Bandingkan 9 & 3 → tukar →
[ 5, 1, 7, 3, 9, 12 ]
Langkah 3:
- Bandingkan 5 & 1 → tukar →
[ 1, 5, 7, 3, 9, 12 ] - Bandingkan 5 & 7 → tidak tukar
- Bandingkan 7 & 3 → tukar →
[ 1, 5, 3, 7, 9, 12 ]
Langkah 4:
- Bandingkan 5 & 3 → tukar →
[ 1, 3, 5, 7, 9, 12 ]
Hasil Akhir (Data Terurut Ascending)
[ 1, 3, 5, 7, 9, 12 ]
👉 Pola angka di atas semula acak, setelah diurutkan dengan algoritma Bubble Sort menjadi urutan menaik (ascending).
Mau saya buatkan juga versi descending (menurun) biar lebih lengkap untuk perbandingan?
Pemilihan algoritma pengurutan tergantung pada ukuran data dan kebutuhan efisiensi. Untuk data kecil, algoritma sederhana cukup digunakan, sedangkan untuk data besar lebih efektif menggunakan algoritma seperti Merge Sort atau Quick Sort.
Algoritma pencarian
Algoritma pencarian adalah metode untuk menemukan posisi atau keberadaan suatu data (elemen) dalam sekumpulan data. Pencarian sangat penting dalam pengolahan data, misalnya mencari nama dalam daftar, nomor dalam database, atau file di komputer.
Jenis-jenis Algoritma Pencarian
- Pencarian Linier (Linear Search)
- Mengecek data satu per satu dari awal sampai akhir.
- Mudah dipahami, tapi lambat untuk data besar.
- Kompleksitas waktu: O(n).
Contoh: Mencari angka 7 dalam daftar
[2, 4, 7, 9]. Pengecekan dilakukan dari kiri ke kanan sampai ketemu. - Pencarian Biner (Binary Search)
- Hanya bisa digunakan pada data yang sudah terurut.
- Membagi data menjadi dua, lalu membandingkan nilai tengah dengan data yang dicari. Jika tidak sama, pencarian dilanjutkan ke setengah bagian yang relevan.
- Jauh lebih cepat dibanding linear search.
- Kompleksitas waktu: O(log n).
Contoh: Mencari angka 7 dalam daftar terurut
[2, 4, 7, 9, 12, 15].- Cek tengah (7) → cocok → selesai.
Secara umum metode Linear Search cocok untuk data kecil atau tidak terurut. Sedangkan Binary Search lebih efisien, tapi syaratnya data harus sudah terurut.
Demikian artikel ringkas tentang pengenalan algoritme pengurutan dan pencarian yang mungkin bisa digunakan sebagai tambahan materi ajar multimedia dan informatika. Semoga artikel ini dapat memberikan manfaat dan menambah pengetahuan bagi para pembacanya.
