Assalamualaikum Warahmatullahi Wabarakatuh, Pada kesempatan kali ini saya akan membahas sedikit tentang Algoritma Sequential Search dan kita akan implementasikan menggunakan bahasa pemrogaman Go. Perlu diketahui Algoritma Sequential Search adalah algoritma yang digunakan untuk searching / pencarian data.
Dengan kata lain Algoritma Sequential Search adalah suatu teknik pencarian beruntun (sequential search) atau yang juga disebut dengan pencarian lurus (linear search), nilai yang dicari dibandingkan dengan nilai dari setiap elemen array data, mulai dari elemen pertama sampai nilai yang dicari ditemukan atau sampai elemen terakhir, dimana data-data tidak perlu diurutkan terlebih dahulu. Pencarian berurutan menggunakan prinsip-prinsip sebagai berikut : data yang ada dibandingkan satu per satu secara berurutan dengan yang dicari hingga data tersebut ditemukan atau tidak ditemukan.
Semisal kita ambil contoh,
Kita mempunyai 5 data didalam array [1,2,4,3,5]
Disini kita akan mencari data dengan nilainya 5.
maka akan mengecek dari awal sampai data ketemu, jadi akan di periksa satu persatu ,
dengan cara membandingkan seperti ini
apakah 5 ada di index 0 ? 1 False
apakah 5 ada di index 1 ? 2 False
apakah 5 ada di index 2 ? 4 False
apakah 5 ada di index 3 ? 3 False
apakah 5 ada di index 4 ? 5 True
Semisal datanya ada di tengah maka akan berhenti ketika kondisi menjadi true, dan tidak akan di ulangi pencarian lagi, contoh kita mencari data 5 dari array [1,2,5,3,4]
apakah 5 ada di index 0 ? 1 False
apakah 5 ada di index 1 ? 2 False
apakah 5 ada di index 2 ? 5 True
(pencarian data akan berhenti)
Jika data sudah ditemukan, maka tidak akan melakukan pencarian lagi.
Bagaimana ? sudah dipahami? jika belum silahkan dibaca ulang lagi yaaa
Lanjut ke step berikutnya yaitu kita akan mengimplementasikan Algoritma Sequential Search ini menggunakan bahasa pemrogaman Go.
Buat file dengan nama main.go
package main
import (
"bufio"
"fmt"
"log"
"os"
"strconv"
"time"
)
func sequential_search(array [6]int, size int, nilai int) bool {
/*
Kita inisialisasikan variable ketemu bertipe boolean dengan nilai false
*/
ketemu := false
/*
lalu kita looping semua data yang ada pada array data, sesuai jumlah arraynya.
Dengan kondisi jika i kurang dari size dan variable ketemu bernilai false
*/
for i := 0; i < size && !ketemu; {
/*
Kita cek nilai yang ada pada array tersebut apakah sama dengan nilai yang dicari
*/
if array[i] == nilai {
/*
Jika nilainya yang ada pada array tersebut sama dengan nilai yang dicari,
maka kita akan menset variable ketemu menjadi true
*/
ketemu = true
} else {
/*
Jika nilainya yang ada pada array tersebut tidak sama dengan nilai yang dicari,
maka akan menambahkan nilai +1
*/
i++
}
}
return ketemu
}
func print_array(array [6]int, size int) {
fmt.Printf("[")
for i := 0; i < size; i++ {
fmt.Printf("%d", array[i])
if i != size-1 {
fmt.Printf(", ")
}
}
fmt.Printf("]\n")
}
func main() {
now := time.Now()
data := [6]int{2, 3, 5, 7, 11, 13}
defer func() {
fmt.Println("\nEksekusi waktu ", time.Now().Sub(now))
fmt.Printf("Dari jumlah %d data\n\n", len(data))
}()
fmt.Println("================= ")
fmt.Println("Sequential Search")
fmt.Println("================= ")
fmt.Println("Masukkan angka yang dicari: ")
// kita beri variable cari sebagai penampung inputan
var cari int
// lalu kita akan memproses inputan
fmt.Scanln(&cari)
// panggil fungsinya
fmt.Printf("Isi array: \n")
print_array(data, len(data)) // tampilkan data jika mau
status_200 := sequential_search(data, len(data), cari)
fmt.Printf("\nNilai %d %t\n", cari, status_200)
}
Dari kode diatas, terjadinya proses pencarian data adalah didalam function sequential_search.
Penjelasan ada di komentar tiap baris kodenya ya
Lalu jalankan filenya dengan buka cmd/terminal, ketikkan perintah
go run main.goLihat pada terminal/cmd, masukkan nilai yang ingin dicari.
Setelah itu akan menampilkan hasilnya true/false, maksudnya adalah ketemu atau tidak.
Oke cukup sekian,
Kita telah mengetahui cara Implementasi Algoritma Sequential Search menggunakan bahasa pemrogaman Go. Jika kalian ingin mempelajari tertarik mempelajari Golang silahkan eksplorasi dokumentasinya ya dan sampai jumpa di konten Golang berikutnya.
Wassalamualaikum Warahmatullahi Wabarakatuh.


Comments