Você está na página 1de 9

KATA PENGANTAR

Alhamdulillah berkat pertolongan Allah akhirnya penulis bisa menyelesaikan makalah sebagai salah satu tugas pada mata kuliah Struktur Data, dengan judul

BUBBLE SORT

Tujuan penulis menyusun makalah ini untuk memaparkan pengertian, fungsi dan penjelasan penggunaan Bubble sort dalam bahasa pemrograman khususnya penulis menggunakan bahasa pemrograman C++ dalam penulisannya.Makalah ini di susun untuk memenuhi kewajiban dan melaksanakan tugas Struktur Data dari dosen mata kuliah Struktur Data. Penulis juga memohon maaf dalam penulisan makalah ini masih banyak kekurangan dikarenakan keterbatasan pengetahuan penulis.Terakhir penulis ucapkan terimakasih untuk semua pihak yang sudah membantu dan memudahkan penyelesaian makalah ini, penulis berharap semoga makalah ini bisa bermanfaat.

Jakarta,28 April 2013 Penulis

BINA SARANA INFORMATIKA.

Page 1

DAFTAR ISI
KATAPENGANTAR..i DAFTAR ISI.ii BAB I PENDAHULAN...iii A. Latar Belakang1 B. Tujuan2 BAB II PEMBAHASAN3 A. Definisi bubble sort.4 B. Pengertian / Konser bubble sort...5 C. Kelebihan metodek bubble sort...6 D. Kelemahan metode bubble sorT.7 E. Algoritma bubble sort.8 F. Contoh program bubble sort.9 G. Implementasi Bubble Sort dalam Bahasa C/C++.10 BAB III PENUNTUP.11 A. Kesimpulan11 B. Saran12 DAFTAR PUSTAKA....13

BAB I PENDAHULAN A. Latar Belakang Bubble Sort


BINA SARANA INFORMATIKA. Page 2

Di berinama Bubble karena proses pengurutan secara berangsur-ansur bergerak / berpindah ke posisinya yang tepat,seperti gelembung yang bersoda. B. Tujuan I. II. Mahasiswa dapat memahami berbagai macam algoritma pengurutan (bubble sort). Mahasiswa dapat menemukan / menentukan algoritma pengurutan dan pencarian paling cepat dan tepat untuk suatu masalah tertentu. keluar dari sebuat gelas

BAB II PEMBAHASAN C. Definisi bubble sort Teknik sort yang berkerja dengan menggunakan prinsip gelembung ( bubble ) udara yang akan bergerak naik keatas secara satu per-satu. Prinsip kerja dari bubble sort adalah 1. Pengecekan mulai dari data ke satu sampai data ke-n 2. Bandingkan data ke-n dengan data sebelumnya(n-1) 3. Jika lebih kecil maka pindahkan bilang tersebut dengan bilang yang ada didepannya ( sebelumnya ) satu persatu (n-1,n-2,n-3,.dts ) 4. Jika lebih besar maka tidak terjadi permindahan 5. Ulang langkah 2 dan 3 s/d sort optimal. D. Pengertian / Konser bubble sort Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip di atas dipakai pada pengurutan gelembung. Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan
BINA SARANA INFORMATIKA. Page 3

dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat. E. Kelebihan metode bubble sort Metode Bubble Sort merupakan yang paling simple Metode Bubble Sort muda di pahami algoritmanya F. Kelemahan metode bubble sort Meskipun simpel metode Bubble sort merupakan metode pengurutanyang paling tidak efisien. Kelemahan buble sort adalah 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. Kelemahan lain adalah 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. G. Algoritma bubble sort 1. Membandingkan data ke-i dengan data ke-(i+1) (tepat bersebelahan). Jika tidak sesuai maka tukar (data ke-i = data ke-(i+1) dan data ke-(i+1) = data ke-i). Apa maksudnya tidak sesuai? Jika kita menginginkan algoritme menghasilkan data dengan urutan ascending (A-Z) kondisi tidak sesuai adalah data ke-i > data ke-i+1, dan sebaliknya untuk urutan descending (A-Z). 2. Membandingkan data ke-(i+1) dengan data ke-(i+2). Kita melakukan pembandingan ini sampai data terakhir. Contoh: 1 dgn 2; 2 dgn 3; 3 dgn 4; 4 dgn 5 ; n-1 dgn n. 3. Selesai satu iterasi, adalah jika kita sudah selesai membandingkan antara (n-1) dgn n. Setelah selesai satu iterasi kita lanjutkan lagi iterasi berikutnya sesuai dengan aturan ke-1. mulai dari data ke-1 dgn data ke-2, dst.
BINA SARANA INFORMATIKA. Page 4

4. Proses akan berhenti jika tidak ada pertukaran dalam satu iterasi
Contoh algoritma bubble sort contoh soalnya di ketahui 22 10 15 3 8 2 Proses 1 22 10 22 22 22 22 2 10 10 10 2 22

15 15 15 2 10 10

3 3 2 15 15 15

8 2 3 3 3 3

2 8 8 8 8 8 Tidak ada pertukaran karena 3 < 8

Proses 2 2 22 2 2 2 2 2 22 22 22 3 3

10 10 10 3 22 22

15 15 3 10 10 10

3 3 15 15 15 15

8 8 8 8 8 8

PENGURUTAN BERHENTI DI SINI!

Proses 3 2 3 2 2 2 2 3 3 3 3

22 22 22 8 8

10 10 8 22 22

15 8 10 10 10

8 15 15 15 15 PENGURUTAN BERHENTI DI SINI !

Proses 4 2 3 2 2 2 3 3 3

8 8 8 8

22 22 10 10

10 10 22 22 22 22

15 15 15 15 15 15

Tidak ada pertukaran karena 10 < 15

PENGURUTAN BERHENTI DI SINI ! Page 5

BINA SARANA INFORMATIKA. 2 3 8 10 2 3 8 10

Proses 5 2 3 2 2 2 2 2 2 2 3 3 3 3 3 3 3

8 8 8 8 8 8 8 8

10 10 10 10 10 10 10 10

22 15 15 15 15 15 15 15

15 22 22 22 22 22 22 22 PENGURUTAN BERHENTI DI SINI !

H. Analisis Algoritma Bubble Sort Tujuan dari analisis algoritma adalah untuk mengetahui efisiensi dari algoritma. Dalam hal ini dilakukan pembandingan antara dua atau lebih algoritma pengurutan.Tahap analisis adalah melakukan pengecekan program untuk memastikan bahwa program telah benar secara logika maupun sintak (tahap tracing atau debugging). Tahap selanjutnya yaitu menjalankan program untuk mengetahui running time atau waktu komputasi dalam hal ini termasuk jumlah langkah. Data uji yang digunakan adalah data yang tidak terurut atau data random, terurut membesar/, dan terurut mengecil.

Salah satu cara untuk menganalisa kecepatan algoritma sorting saat running time adalah dengan menggunakan notasi Big O. Algoritma terbaik, terburuk, dan rata-rata. sorting mempunyai kompleksitas waktu

Dengan notasi Big O, kita dapat mengoptimalkan dimana jumlah masukan

penggunaan algoritma sorting. Sebagai contoh, untuk kasus

untuk suatu pengurutan banyak, lebih baik digunakan algoritma sorting seperti quick sort, merge sort, atau heap sortkarena kompleksitas waktu untuk kasuk terburuk adalah O(n
BINA SARANA INFORMATIKA. Page 6

log n). Hal ini tentu akan sangatberbeda jika kita menggunakan algoritma sorting insertion sort atau bubble sort dimana waktu yang dibutuhkan untuk melakukan pencarian akan sangat lama. Hal ini disebabkan kompleksitas waktu terburuk untuk algoritma sorting tersebut dengan jumlah masukan yang banyak adalah O(n2).

Dari grafik dibawah dapat diketahui buble sort adalah metode yang paling lambat dari yang lambat-lambat.

BINA SARANA INFORMATIKA.

Page 7

Program c++ bublle sort #include <iostream.h> #include <conio.h> main() { int i,j,n,data[10],simpan,k; cout<<"\tBUBBLE SORT MENGGUNAKAN C++"<<endl; cout<<"\t============================"<<endl; cout<<"\nmasukkan banyak data= ";cin>>n; for(i=1;i<=n;i++) { cout<<"data "<<i<<" = ";cin>>data[i]; } cout<<"awal = "; for(i=1;i<=n;i++) cout<<data[i]<<" "; cout<<endl; for(i=1;i<n;i++) { for(j=1;j<n;j++) { if(data[j]>data[j+1]) { simpan=data[j]; data[j]=data[j+1]; data[j+1]=simpan; } } } cout<<"hasil= "; for(i=1;i<=n;i++) cout<<data[i]<<" "; getch(); }

BINA SARANA INFORMATIKA.

Page 8

Hasil program C ++

BINA SARANA INFORMATIKA.

Page 9

Você também pode gostar