12
ALGORITMA Kuis Besar 4 ARRAY “BUBLE SORT” Oleh : Marid Candra Saputro (311310015) SURONO BAYU ADJI (311310021) Teknik Informatika Fakultas Sains dan Teknologi 1

Makalah Buble Sort

Embed Size (px)

Citation preview

ALGORITMAKuis Besar 4ARRAY BUBLE SORT

Oleh :Marid Candra Saputro (311310015)SURONO BAYU ADJI (311310021)

Teknik Informatika Fakultas Sains dan TeknologiDesember 2013

Bubble Sort adalah sebagai berikut :a. Bubble dalam bentuk algoritma adalah Proses mengurutkan, menyusun/ memindahkan posisi elemen-elemen/ data dengan tata urut tertentu pada array.b. Jenis tampilan berupa Ascending/ proses menaik dan Discending/ proses menurun. AscendingEx: A-Z, 0-9. Discending Ex: Z-A, 9-0.c. Bubble sort dalam bentuk flowchartd. Bubble sort ke dalam bahasa pseudocodePEMBAHASAN1.1 Definisi Bubble SortTeknik 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-n2. 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 permindahan5. Ulang langkah 2 dan 3 s/d sort optimal.

1.2 Pengertian / Konsep Bubble SortMetode 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 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.

1.3 Kelebihan Dan Kelemahan Metode Bubble SortKelebihan :

a. Metode Bubble Sort merupakan yang paling simpleb. Metode Bubble Sort muda di pahami algoritmanyac. Mudah untuk diubah menjadi kode.d. Definisi terurut terdapat dengan jelas dalam algoritma.e. Cocok untuk pengurutan data dengan elemen kecil terurut.

Kelemahan :Meskipun simpel metode Bubble Sort merupakan metode pengurutan yang paling tidak efisien. Kelemahan Bubble 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.

1.4 Algoritma Dari Bubble Sorta. 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).b. 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.c. 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, dan seterusnya.d. Proses akan berhenti jika tidak ada pertukaran dalam satu iterasi

1.5 Analisis Algoritma Bubble SortTujuan 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 sorting mempunyai kompleksitas waktu terbaik, terburuk, dan rata-rata. Dengan notasi Big O, kita dapat mengoptimalkan penggunaan algoritma sorting. Sebagai contoh, untuk kasus dimana jumlah masukan 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 log n). Hal ini tentu akan sangat berbeda 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.

Contoh Proses Pengurutan Algoritma Bubble SortBerikut ini kita akan mencoba membuat sebuah program pengurutan data atau Sorting dengan metode Bubble Sort. kita akan memasukan 8 data yang int Data[8]={20,12,35,11,17,9,58,23}; yang tidak berurutan. pemrogramanya, serta kita akan meghitung berapa banyak proses pertukaran posisi data, dan berapa banyak proses perbandingan data. contoh codingnya adalah sebagai berikut :

Indeks yang menunjukkan posisi elemen20123511179 5823

1 2 3 4 5 6 7 8

Di metode Bubble Sort, proses pengurutan dimulai dengan membandingkan elemen pertama untuk mendapatkan angka terbesar. Lalu angka tersebut ditempatkan pada elemen terakhir.Sebagai langkah awal, isi elemen pertama dibandingkan dengan elemen ke-2. Jika isi elemen ke-2 lebih kecil dari elemen pertama, maka isi kedua elemen tersebut ditukar. Sehingga isi array berubah menjadi :

122035111795823

Elemen array setelah di tukar12