Anda di halaman 1dari 27

Oleh

• Nurjanah (1402018079) • Fahman La Roy Bafi (1402018089)


• Eky Satrio Januarto (1402018088) • Maryam Inshi Azka (1402018091)
Yang akan di bahas:

Running
Time Pola data
Ide Dasar Ilustrasi
Kondisi Worst-Case
Worst-Case

Running Time Pola data Best- Implementasi Kekurangan


Best-case Case Algoritma &
Kelebihan
Apa itu sorting?
Ide
 Sorting yaitu suatu aktivitas mengurutkan suatu
Dasar data (misal: mengurutkan data dari nilai terkecil ke
terbesar disebut Ascending atau sebaliknya disebut
Descending.
Apa itu Bubble Sort?
 Algoritma bubble sort adalah salah satu algoritma
pengurutan yang paling simple, baik dalam hal
pengertian maupun penerapannya.
 Ide dari algoritma ini adalah mengulang proses
pembandingan antara tiap-tiap elemen array dan
menukarnya apabila urutannya salah.
 Pembandingan elemen-elemen ini akan terus
diulang hingga tidak perlu dilakukan penukaran lagi.
 Algoritma ini termasuk dalam golongan algoritma
comparison sort, karena menggunakan
perbandingan dalam operasi antarelemennya.
Ilustrasi proses algoritma Bubbel Sort Data
Ilustrasi Berukuran Genap :
Ilustrasi proses algoritma Bubbel Sort Data
Ilustrasi Berukuran Ganjil :
Running
Time  Running time dari Bubble sort dalam kondisi
Kondisi worst-case :
Worst-Case
Notasi Big-O nya adalah O(n2). Dengan kata
lain, pada kondisi worst-case, algoritma
Bubble Sort termasuk dalam kategori
algoritma kuadratik.
 Contoh Pola Data yg menhasilkan Worst-Case :
Pola data
Worst-Case Dapat dilihat pada pengurutan data “4 3 2 1”

Pass Pertama Pass Ketiga


(4 3 2 1) menjadi (3 4 2 1) (2 1 3 4) menjadi (1 2 3 4)
(3 4 2 1) menjadi (3 2 4 1) (1 2 3 4) menjadi (1 2 3 4)
(3 2 4 1) menjadi (3 2 1 4) (1 2 3 4) menjadi (1 2 3 4)
Pass Kedua Pass Keempat
(3 2 1 4) menjadi (2 3 1 4) (1 2 3 4) menjadi (1 2 3 4)
(2 3 1 4) menjadi (2 1 3 4) (1 2 3 4) menjadi (1 2 3 4)
(2 1 3 4) menjadi (2 1 3 4) (1 2 3 4) menjadi (1 2 3 4)
Running Time
Best-case
 Running time dari Bubble sort dalam kondisi
Best-case :

Persamaan Big-O yang diperoleh dari proses


ini adalah O(n). Dengan kata lain, pada
kondisi Best-Case algoritma Bubble Sort
termasuk pada algoritma lanjar.
Pola data  Contoh Pola Data yg menhasilkan Best-Case :
Best-Case Dapat dilihat pada pengurutan data “1 2 3 4”

Pass Pertama
(1 2 3 4) menjadi (1 2 3 4)
(1 2 3 4) menjadi (1 2 3 4)
(1 2 3 4) menjadi (1 2 3 4)
Original bubble sort
hanya bergerak ke satu arah

Bi-directional bubble sort


bergerak dua arah (bolak balik)
9 6 1 4 3

Example
6 9 1 4 3

Example
6 1 9 4 3

Example
6 1 4 9 3

Example
6 1 4 3 9

Example
1 6 4 3 9

Example
1 4 6 3 9

Example
1 4 3 6 9
Tetap

Example
1 4 3 6 9
Tetap

Example
1 4 3 6 9

Example
1 3 4 6 9
Tetap

Example
1 3 4 6 9
Tetap

Example
Sudah Urut

1 3 4 6 9

Example
Implementasi
Algoritma
Algoritma

public class BubbleSortExample { public static void main(String[] args) {


static void bubbleSort(int[] arr) { int arr[] ={3,60,35,2,45,320,5};
int n = arr.length;
int temp = 0; System.out.println("Array Before Bubble Sort");
for(int i=0; i < n; i++){ for(int i=0; i < arr.length; i++){
for(int j=1; j < (n-i); j++){ System.out.print(arr[i] + " ");
if(arr[j-1] > arr[j]){ }
//swap elements System.out.println();
temp = arr[j-1];
arr[j-1] = arr[j]; bubbleSort(arr);
arr[j] = temp;
} a System.out.println("Array After Bubble Sort");
for(int i=0; i < arr.length; i++){
} System.out.print(arr[i] + " ");
} }
}
} Hasil : }
Array Before Bubble Sort
3 60 35 2 45 320 5
Array After Bubble Sort
2 3v5 35 45 60 320
Kekurangan
& Kekurangan Bubble Sort
Kelebihan

 Tidak Efesien : Pada saat mengurutkan data


yang sangat besar akan mengalami
kelambatan luar biasa, atau dengan kata lain
kinerja memburuk cukup signifikan ketika
data yang diolah jika data cukup banyak.
Jumlah iterasi banyak : jumlah pengulangan
akan tetap sama jumlahnya walaupun data
sesungguhnya sudah cukup terurut. Hal ini
disebabkan setiap data dibandingkan dengan
setiap data yang lain untuk menentukan
posisinya.
Kekurangan
& Kelebihan Bubble Sort
Kelebihan

Algoritma yang simpel.


Mudah untuk diubah menjadi kode.
Definisi terurut terdapat dengan jelas dalam
algoritma.
Cocok untuk pengurutan data dengan elemen
kecil telah terurut.
Algoritma yang simpel.
Mudah untuk diubah menjadi
kode.
Definisi terurut terdapat dengan
Kelebihan
jelas dalam algoritma.
Cocok untuk pengurutan data
dengan elemen kecil telah
terurut.

Anda mungkin juga menyukai