Algoritma Bubble Sort Di Golang – Hallo sobat kopi coding, pada postingan ini kita akan mempelajari membuat program algoritma bubble sort di Go Language. Sebelum komputer kita harus terinstall dengan bahasa Golang, untuk tutorial instalasi golang ada di postingan :
Bubble Sort adalah salah satu algoritma pengurutan dimana melakukan penukaran data dengan sebelahnya secara berulang-ulang sampai semua terurut dengan benar. Untuk mengetahui proses pengurutan ada dibagian kesimpulan.
Langsung aja yuk kita lihat source code algoritma bubble sort di Golang..
package main import "fmt" func bubleSort(arr []int) { for { disortir := true for i := 0; i < len(arr)-1; i++ { if arr[i] > arr[i+1] { tmp := arr[i] arr[i] = arr[i+1] arr[i+1] = tmp disortir = false } } if disortir == true { break } } } func main() { arr := []int{10, 50, 20, 30, 15, 25, 12, 40, 45, 1} bubleSort(arr) for i := 0; i < len(arr); i++ { fmt.Print(arr[i], " ") } fmt.Print("\n") }
Simpan source code dengan nama file bubblesort.go, tetapi sesuaikan aja dengan nama file yang dinginkan dan jangan lupa harus berektensi .go
Penjelasan source algoritma bubble sort di Golang setiap barisnya :
Untuk cara melakukan compile dan run source codenya sebagai berikut:
$ go build bubblesort.go
$ ./bubblesort
berikut hasil screenshot dari compile dan run source codenya:
Dari hasil program, source code algoritma bubble sort tersebut berhasil dapat dijalankan tanpa ada error dan menampilkan hasil pengurutan yang sesuai. berikut ada langkah-langkah proses pengurutan yang dilakukan program:
Putaran ke 1 : [10 50 20 30 15 25 12 40 45 1]
Proses ke 1 [10 50 20 30 15 25 12 40 45 1]
Proses ke 2 [10 20 50 30 15 25 12 40 45 1]
Proses ke 3 [10 20 30 50 15 25 12 40 45 1]
Proses ke 4 [10 20 30 15 50 25 12 40 45 1]
Proses ke 5 [10 20 30 15 25 50 12 40 45 1]
Proses ke 6 [10 20 30 15 25 12 50 40 45 1]
Proses ke 7 [10 20 30 15 25 12 40 50 45 1]
Proses ke 8 [10 20 30 15 25 12 40 45 50 1]
Proses ke 9 [10 20 30 15 25 12 40 45 1 50]
Putaran ke 2 : [10 20 30 15 25 12 40 45 1 50]
Proses ke 1 [10 20 30 15 25 12 40 45 1 50]
Proses ke 2 [10 20 30 15 25 12 40 45 1 50]
Proses ke 3 [10 20 15 30 25 12 40 45 1 50]
Proses ke 4 [10 20 15 25 30 12 40 45 1 50]
Proses ke 5 [10 20 15 25 12 30 40 45 1 50]
Proses ke 6 [10 20 15 25 12 30 40 45 1 50]
Proses ke 7 [10 20 15 25 12 30 40 45 1 50]
Proses ke 8 [10 20 15 25 12 30 40 1 45 50]
Proses ke 9 [10 20 15 25 12 30 40 1 45 50]
Putaran ke 3 : [10 20 15 25 12 30 40 1 45 50]
Proses ke 1 [10 20 15 25 12 30 40 1 45 50]
Proses ke 2 [10 15 20 25 12 30 40 1 45 50]
Proses ke 3 [10 15 20 25 12 30 40 1 45 50]
Proses ke 4 [10 15 20 12 25 30 40 1 45 50]
Proses ke 5 [10 15 20 12 25 30 40 1 45 50]
Proses ke 6 [10 15 20 12 25 30 40 1 45 50]
Proses ke 7 [10 15 20 12 25 30 1 40 45 50]
Proses ke 8 [10 15 20 12 25 30 1 40 45 50]
Proses ke 9 [10 15 20 12 25 30 1 40 45 50]
Putaran ke 4 : [10 15 20 12 25 30 1 40 45 50]
Proses ke 1 [10 15 20 12 25 30 1 40 45 50]
Proses ke 2 [10 15 20 12 25 30 1 40 45 50]
Proses ke 3 [10 15 12 20 25 30 1 40 45 50]
Proses ke 4 [10 15 12 20 25 30 1 40 45 50]
Proses ke 5 [10 15 12 20 25 30 1 40 45 50]
Proses ke 6 [10 15 12 20 25 1 30 40 45 50]
Proses ke 7 [10 15 12 20 25 1 30 40 45 50]
Proses ke 8 [10 15 12 20 25 1 30 40 45 50]
Proses ke 9 [10 15 12 20 25 1 30 40 45 50]
Putaran ke 5 : [10 15 12 20 25 1 30 40 45 50]
Proses ke 1 [10 15 12 20 25 1 30 40 45 50]
Proses ke 2 [10 12 15 20 25 1 30 40 45 50]
Proses ke 3 [10 12 15 20 25 1 30 40 45 50]
Proses ke 4 [10 12 15 20 25 1 30 40 45 50]
Proses ke 5 [10 12 15 20 1 25 30 40 45 50]
Proses ke 6 [10 12 15 20 1 25 30 40 45 50]
Proses ke 7 [10 12 15 20 1 25 30 40 45 50]
Proses ke 8 [10 12 15 20 1 25 30 40 45 50]
Proses ke 9 [10 12 15 20 1 25 30 40 45 50]
Putaran ke 6 : [10 12 15 20 1 25 30 40 45 50]
Proses ke 1 [10 12 15 20 1 25 30 40 45 50]
Proses ke 2 [10 12 15 20 1 25 30 40 45 50]
Proses ke 3 [10 12 15 20 1 25 30 40 45 50]
Proses ke 4 [10 12 15 1 20 25 30 40 45 50]
Proses ke 5 [10 12 15 1 20 25 30 40 45 50]
Proses ke 6 [10 12 15 1 20 25 30 40 45 50]
Proses ke 7 [10 12 15 1 20 25 30 40 45 50]
Proses ke 8 [10 12 15 1 20 25 30 40 45 50]
Proses ke 9 [10 12 15 1 20 25 30 40 45 50]
Putaran ke 7 : [10 12 15 1 20 25 30 40 45 50]
Proses ke 1 [10 12 15 1 20 25 30 40 45 50]
Proses ke 2 [10 12 15 1 20 25 30 40 45 50]
Proses ke 3 [10 12 1 15 20 25 30 40 45 50]
Proses ke 4 [10 12 1 15 20 25 30 40 45 50]
Proses ke 5 [10 12 1 15 20 25 30 40 45 50]
Proses ke 6 [10 12 1 15 20 25 30 40 45 50]
Proses ke 7 [10 12 1 15 20 25 30 40 45 50]
Proses ke 8 [10 12 1 15 20 25 30 40 45 50]
Proses ke 9 [10 12 1 15 20 25 30 40 45 50]
Putaran ke 8 : [10 12 1 15 20 25 30 40 45 50]
Proses ke 1 [10 12 1 15 20 25 30 40 45 50]
Proses ke 2 [10 1 12 15 20 25 30 40 45 50]
Proses ke 3 [10 1 12 15 20 25 30 40 45 50]
Proses ke 4 [10 1 12 15 20 25 30 40 45 50]
Proses ke 5 [10 1 12 15 20 25 30 40 45 50]
Proses ke 6 [10 1 12 15 20 25 30 40 45 50]
Proses ke 7 [10 1 12 15 20 25 30 40 45 50]
Proses ke 8 [10 1 12 15 20 25 30 40 45 50]
Proses ke 9 [10 1 12 15 20 25 30 40 45 50]
Putaran ke 9 : [10 1 12 15 20 25 30 40 45 50]
Proses ke 1 [1 10 12 15 20 25 30 40 45 50]
Proses ke 2 [1 10 12 15 20 25 30 40 45 50]
Proses ke 3 [1 10 12 15 20 25 30 40 45 50]
Proses ke 4 [1 10 12 15 20 25 30 40 45 50]
Proses ke 5 [1 10 12 15 20 25 30 40 45 50]
Proses ke 6 [1 10 12 15 20 25 30 40 45 50]
Proses ke 7 [1 10 12 15 20 25 30 40 45 50]
Proses ke 8 [1 10 12 15 20 25 30 40 45 50]
Proses ke 9 [1 10 12 15 20 25 30 40 45 50]
Putaran ke 10 : [1 10 12 15 20 25 30 40 45 50]
Proses ke 1 [1 10 12 15 20 25 30 40 45 50]
Proses ke 2 [1 10 12 15 20 25 30 40 45 50]
Proses ke 3 [1 10 12 15 20 25 30 40 45 50]
Proses ke 4 [1 10 12 15 20 25 30 40 45 50]
Proses ke 5 [1 10 12 15 20 25 30 40 45 50]
Proses ke 6 [1 10 12 15 20 25 30 40 45 50]
Proses ke 7 [1 10 12 15 20 25 30 40 45 50]
Proses ke 8 [1 10 12 15 20 25 30 40 45 50]
Proses ke 9 [1 10 12 15 20 25 30 40 45 50]
Dari analisis proses pengurutan diatas terdapat 10 kali putaran dan setiap putaran memiliki 9 proses. Pada saat putaran ke 9 sudah selesai tetapi tetap melakukan putaran sampai ke 10 karena ini yang menjadikan kelemahan algoritma bubble sort yang masih kurang effisien.
Sekian tutorial cara membuat program algoritma bubble sort di bahasa pemograman Go Language, semoga bermanfaat 🙂