Algoritma Sorting Untuk Mengurutkan Array

  • Algoritma sorting
    Untuk mengurutkan array
    Algoritma bubble sort
    Contoh:
    int v[5] = { 9, 11, 3, 7, 8};
    Buatlah program untuk mengurutkan elemen array v dari yang terkecil sampai yang terbesar!
    Ilustrasi proses bubble sort
    data = 9 11 3 7 8 -> ada 5 data -> jadi index nya 0 s/d 4
    Algoritma buble sort dengan 5 data membutuhkan 4 langkah proses -> jika ada n data, berarti ada n-1 proses
    Lakukan proses-proses berikut:Proses-1
    data awal proses 1 : 9, 11, 3, 7, 8
    cari bilangan terkecil dari 5 data([0]s/d[4]), dan tempatkan di index 0
    caranya dengan membandingkan data-data yang bersebelahan misal [n] dan [n-1]. Jika [n]<[n-1], data [n] dan [n-1] ditukar.
    Proses-1
    Data awal : 9, 11, 3, 7, 8
    Dari b=4 sampai b=1 kerjakan:–Untuk b=4:
    data[4]<data[3]? -> 8 < 7?
    tidak -> data[3] dan [4] tidak ditukar
    data=9,11,3,7,8

    –Untuk b=3:
    data[3]<data[2]? -> 7 < 3?
    Tidak -> data[2] dan [3] tidak ditukar
    Data=9,11,3,7,8

    –Untuk b=2:
    data[2]<data[1] -> 3 < 11?
    Ya -> data[1] dan [2] ditukar
    Proses menukar :temp = data[1]; data[1] = data[2] ; data[2] = temp;
    Data=9,3,11,7,8

    –Untuk b=1:
    data[1]<data[0] -> 3 < 9?
    Ya -> data[0] dan [1] ditukar
    Proses menukar :temp = data[0]; data[0] = data[1] ; data[1] = temp;
    Data=3,9,11,7,8
    Data akhir proses-1 : 3,9,11,7,8

    Proses-2
    Data awal proses-2: 3,9,11,7,8
    cari bilangan terkecil dari 4 data([1]s/d[4]), dan tempatkan di index 1
    Dari b=4 sampai b=2 kerjakan:

  • –Untuk b=4:
    data[4]<data[3]? -> 8<7?
    Tidak -> [3] dan [4] tidak ditukar
    Data = 3,9,11,7,8

    –Untuk b=3:
    data[3]<data[2]? -> 7<11?
    Ya -> [2] dan [3] ditukar
    Proses menukar :temp = data[2]; data[2] = data[3] ; data[3] = temp;
    Data = 3,9,7,11,8

    –Untuk b=2:
    data[2]<data[1] -> 7<9?
    Ya -> [1] dan [2] ditukar
    Proses menukar :temp = data[1]; data[1] = data[2] ; data[2] = temp;
    Data = 3,7,9,11,8
    Data akhir proses-2 : 3,7,9,11,8
    Proses-3
    Data awal proses-3: 3,7,9,11,8
    cari bilangan terkecil dari 3 data([2]s/d[4]), dan tempatkan di index 2
    Dari b=4 sampai b=3 kerjakan:

    –Untuk b=4:
    data[4]<data[3]? -> 8<11?
    ya -> [3] dan [4] ditukar
    Proses menukar :temp = data[3]; data[3] = data[4] ; data[4] = temp;
    Data = 3,7,9,8,11

    –Untuk b=3:
    data[3]<data[2]? -> 8<9?
    Ya -> [2] dan [3] ditukar
    Proses menukar :temp = data[2]; data[2] = data[3] ; data[3] = temp;
    Data = 3,7,8,9,11
    Data akhir proses-3: 3,7,8,9,11
    Proses-4
    Data awal proses-4 : 3,7,8,9,11
    cari bilangan terkecil dari 2 data([3] dan [4]), dan tempatkan di index 3
    Dari b=4 sampai b=4 kerjakan:

    –Untuk b=4:
    data[4]<data[3] ? -> 11<9 ?
    Tidak -> [3] dan [4] tidak ditukar
    Data = 3,7,8,9,11
    Data akhir proses-4 : 3,7,8,9,11
    Data output algoritma buble sort : 3,7,8,9,11

    Download Materi PPT (Download)

Continue reading