Apa itu Bubble Sort dan Cara Penyelesaianya

Apa itu Bubble Sort dan Cara Penyelesaianya – pesonainformatika.com pada studi kasus kali ini kita akan membahas tentang algoritma pengurutan bubble sort dan bagaimana menyelesaikanya menggunakan bahasa pemrograman python

Apa itu Bubble Sort

sebelum membuat program kita akan belajar apa itu Bubble Sort dan bagaimana mekanisme kerjanya

bubble sort simple nya adalah algoritma pengurutan secara terus menerus sampai bisa dipastikan tidak ada iterasi lagi contoh seperti ini

Analogi Sederhana

jika dianalogikan secara sederhana seperti ini bayangkan kamu mempunyai 5 angka berbeda yang berderet secara acak, seperti ini

[1, 8, 5, 6, 2, 5]

bandigkan angka dari yang paling kiri pertama dengan angka yang kanan atau sebelahnya, jika lebih besar maka tukar posisinya, lalu langka berikutnya setelah menemukan data angka yang besar bandigkan lagi dengan angka sebelah kanannya lagi, begitu seterusnya.

jika kita urutkan secara manual maka hasilnya seperti ini

[1, 2, 5, 5, 6, 8]

Membuat Program

oke setelah mengetahui bagaimana cara kerja, konsep serta contoh analogi yang sudah dijelaskan diatas sekarang kita akan membuat contoh program, contoh buat file bernama main.py lalu isi seperti ini

def bubble_sorting(arr: list[int]):
    num = len(arr)
    for i in range(num - 1):
        for j in range(0, num - i - 1):
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
    
    print(arr)

def main():
    data_array: list[int] = [1, 8, 5, 6, 2, 5]

    # sorting
    bubble_sorting(data_array)

if __name__ == '__main__':
    main()

jika kita jalankan programnya maka hasilnya akan menjadi seperti ini

hasil pengurutan bubble sort

Penjelasan Program

jika kita lihat dari analogi tadi maka program ini sangat mirip dengan analogi diatas pertama berikut pemecahan kasusnya

  1. kita harus mengetaui panjang array yang akan diurutkan
  2. kita lakukan perulangan sebanyak panjang array tadi dikurangi 1
  3. kemudian kita lakukan perulangan lagi untuk membandigkan angka dari kiri ke kanan
  4. kemudian kita tukar niai jika angka disebelahnya lebih besar
for i in range(num - 1):
    for j in range(0, num - i - 1):
        if arr[j] > arr[j + 1]:
            arr[j], arr[j + 1] = arr[j + 1], arr[j]

setelah diurutkan maka untuk mendapat hasil deretan angka yang diurutkan maka cetak menggunakan print()

Final Code

cukup simpel bukan, berikut adalah kode program pada studi kasus kali ini mengenai pemecahan kasus algoritma bubble sort menggunakan python

def bubble_sorting(arr: list[int]):
    num = len(arr)

    for i in range(num - 1):
        for j in range(0, num - i - 1):
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]

    print(arr)


def main():
    data_array: list[int] = [1, 8, 5, 6, 2, 5]

    # sorting
    bubble_sorting(data_array)


if __name__ == '__main__':
    main()

oke itu dia pembahasan studi kasus kali ini semoga bermanfaat, ikuti terus pesonainformatika, dan dapatkan studi kasus bahasa pemrograman lainya seperti  Java, Python  C++ source code dapat diakses melalui Github