Anda di halaman 1dari 12

Makalah Algoritma & Pemograman

Bubble Sort

DISUSUN OLEH :

Kelompok 1

1. Astriani Simatupang

2. Aril Simarmata

3. Felix Nainggolan

4. Selvia Dinaria

5. Tomi Sembiring

Dosen Pembimbing: Ibu Sornaita br. Sembiring M.Kom


KATA PENGANTAR

Puji syukur dipanjatkan kepada Tuhan Yang Maha Esa karena telah melimpahkan
rahmat-Nya atas berupa kesempatan dan pengetahuan sehingga makalah yang berjudul “
Algoritma -Bubble Sort ” dapat terselesaikan tepat pada waktunya.

Makalah ini disusun dengan menggunakan bahasa sederhana, supaya isi,maksud dan
tujuan penyusunan makalah ini dapat dipahami dengan mudah.Penyusun telah berusaha
sekuat tenaga dan pikiran dalam menyusun makalah ini.Namun demikian tentunya masih
banyak kekurangan-kekurangannya. Untuk itu penyusun mengharapkan kritik dan saran
dari pembaca guna memperbaiki makalah ini kedepannya.

Dan kami berharap semoga makalah ini dapat bermanfaat bagi pembaca dan penulis
khususnya.

Kabanjahe, 03 Februari 2024

penyusun
DAFTAR ISI
Kata pengantar ................................................................................................. i

Daftar isi........................................................................................................... ii

BAB I PENDAHULUAN ................................................................................ 1

1.1 Latar Belakang ........................................................................................... 2


1.2 Rumusan Masalah ...................................................................................... 2
1.3 Tujuan Penulisan ........................................................................................ 3

BAB II PEMBAHASAN ................................................................................. 4

2.1 Pengertian Bubble Sort .............................................................................. 4

2.2 Kelebihan dan Kekurangan Bubble sort .................................................... 5

2.3 Contoh program dari Bubble sort .............................................................. 7

2.4 Penjelasan dari program ............................................................................. 7

BAB III PENUTUP ......................................................................................... 10

3.1 Kesimpulan ................................................................................................ 12

3.2 Saran .......................................................................................................... 13

DAFTAR PUSTAKA ...................................................................................... 14


BAB 1

PENDAHULUAN

1.1 Latar Belakang


Bubble sort adalah salah satu algoritma sorting atau pengurutan yang paling sederhana.
Algoritma ini bekerja dengan membandingkan setiap elemen berurutan dan menukar elemen-
elemen tersebut jika tidak berurutan. Bubble sort ditemukan pada tahun 1959 oleh John
Lounsbery dan Donald Shell. Algoritma ini dinamakan bubble sort karena cara kerjanya yang
seolah-olah "menggelembungkan" elemen terbesar ke atas, layaknya gelembung di dalam air.
Bubble sort memiliki kompleksitas waktu rata-rata dan terburuk O(n2), di mana n adalah
jumlah elemen yang diurutkan. Ini menjadikannya tidak efisien untuk mengurutkan data
dalam jumlah besar. Namun, untuk kasus khusus pengurutan data kecil, bubble sort masih
digunakan karena kesederhanaannya.Bubble sort juga kerap digunakan sebagai langkah
pertama dalam algoritma pengurutan yang lebih canggih

1.2 Rumusan Masalah


➢ Apa yang dimaksud dengan bubble sort?
➢ Bagaimana cara kerja algoritma bubble Sort?
➢ Apa kelebihan dan kekurangan dari bubble sort?
➢ Bagaimana contoh pengurutan data bubble sort ?

1.3 Tujuan Penulisan


Tujuan penulisan makalah mengenai bubble sort adalah untuk memberikan
pemahaman yang komprehensif tentang algoritma pengurutan seperti menjelaskan konsep
dari bubble sort dari contoh tersebut,Menganalisis kelebihan dan kekurangan bubble
sort,Memberi pemahaman bagi prmbaca lewat penjelasan dari program bubble sort.
BAB II

PEMBAHASAN

2.1 Pengertian Bubble Sort

Bubble sort merupakan salah satu algoritma pengurutan sederhana yang bekerja
dengan cara membandingkan pasangan elemen berturut-turut dalam sebuah daftar dan
menukarnya jika mereka berada di urutan yang salah. Proses ini terus diulang hingga seluruh
daftar sudah terurut.Proses pengurutan dengan metode bubble sort dapat dijelaskan sebagai
berikut:

1. Membandingkan elemen pertama dengan elemen kedua, jika elemen pertama lebih besar,
maka tukar posisinya.

2. Melanjutkan proses ini untuk setiap pasangan elemen berturut-turut di dalam daftar.

3. Proses diulang dari awal hingga tidak ada lagi pertukaran yang dilakukan, menandakan
bahwa daftar sudah terurut.

Algoritma ini dinamakan "bubble sort" karena elemen-elemen yang lebih besar "muncul" ke
arah akhir daftar seperti gelembung di air saat proses pengurutan dilakukan. Meskipun bubble
sort sederhana dan mudah dipahami, namun kurang efisien untuk daftar yang besar, karena
memiliki kompleksitas waktu yang relatif tinggi.

Dengan demikian, bubble sort umumnya digunakan untuk tujuan pendidikan dan pemahaman
konsep dasar pengurutan, namun jarang digunakan dalam aplikasi nyata di dunia industri.

2.2 Kelebihan dan Kekurangan Bubble Sort

Kelebihan :

a. Bubble sort relatif mudah dipahami sehingga cocok digunakan untuk tujuan
pendidikan atau demonstrasi konsep algoritma pengurutan.
b. Salah satu algoritma pengurutan yang efisien
c. Memiliki cukup efektif dalam pengurutan dafta yang sudah hampir terurut
d. Bubble sort hanya memiliki sedikit ruang tambahan untuk penyimpanan,sehingga
cocok untuk daftar dengan ukuran yang kecil.
e. Suatu algoritma yang sangat dikenal dan sering digunakan dalam ilmu komputer.
Kekurangan :

a. Tidak efisien dalam pengurutan jumlah data yang besar.


b. Sulit untuk melakukan optimasi paralel karena sifat algoritmanya.
c. Langkah pengurutan yang terlalu panjang.

2.3 Contoh program dari Bubble Sort

#include<iostream>

using namespace std;

void bubbleSort(int arr[], int n) {

for (int i = 0; i < n-1; i++) {

for (int j = 0; j < n-i-1; j++) {

if (arr[j] > arr[j+1]) {

// swap elements if they are in the wrong order

int temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;

}
int main() {

const int size = 6;

int arr[size] = {5, 2, 9, 1, 5, 6};

cout << "Original array: ";

for (int i = 0; i < size; i++) {

cout << arr[i] << " ";

bubbleSort(arr, size);

cout << "\nSorted array: ";

for (int i = 0; i < size; i++) {

cout << arr[i] << " ";

return 0;

}
2.4 Penjelasan dari program tersebut

➢ Fungsi menerima array arr[] dan ukuran n sebagai parameter


➢ Perulangan luar dengan variabel i mengontrol berapa kali proses "bubbling"
➢ dilakukan. Nilai i diawali 0 hingga kurang dari n-1.
➢ Perulangan dalam dengan variabel j digunakan untuk mengakses pasangan elemen
berurutan dalam array untuk dibandingkan. Nilai j dari 0 hingga kurang dari n-i-1.
➢ Elemen arr[j] dan arr[j+1] dibandingkan. Jika arr[j] lebih besar dari arr[j+1], artinya
urutan salah, maka dilakukan swap.

Proses swap :

➢ Inisiasi variabel untuk menyimpan sementara salah satu nilai elemen.


➢ Nilai arr[j] ditukar ke arr[j+1].
➢ Nilai temp (semula arr[j]) ditukar ke arr[j].
➢ Dengan swap, urutan elemen arr[j] dan arr[j+1] menjadi benar.
➢ Proses perbandingan dan swap ini dilakukan untuk setiap pasangan elemen pada
setiap iterasi i.
➢ Setelah satu iterasi selesai, elemen terbesar sudah terkumpul di paling kanan.
➢ Algoritma selesai jika array telah terurut sepenuhnya dari kecil ke besar.
➢ Kemudian program mendeklarasikan konstanta size sebesar 6 untuk menentukan
ukuran array. Kemudian deklarasi array( arr) dengan ukuran size, dan diinisialisasi
dengan nilai acak 5, 2, 9, 1, 5, 6.
➢ setelah itu, dicetak isi array arr asli menggunakan perulangan for dari i=0 hingga
i<size.
➢ Selanjutnya, array arr dikirimkan ke fungsi bubbleSort beserta ukurannya untuk
diurutkan.

Fungsi bubbleSort akan bekerja dengan cara:

- Melakukan perulangan luar sebanyak size-1 kali

- Di dalam perulangan luar, lakukan perulangan dalam dari 0 hingga size-i-1

- Bandingkan setiap elemen bersebelahan, jika tidak urut tukar posisinya

- Setelah setiap iterasi luar, elemen terbesar sudah terkumpul di paling kanan

➢ Ketika fungsi bubbleSort selesai, array arr sudah terurut.


➢ Cetak kembali isi array arr yang sudah terurut menggunakan perulangan for.
➢ Fungsi main diakhiri, program selesai dieksekusi.

Dengan demikian program ini mengimplementasikan algoritma bubble sort untuk


mengurutkan array dari kondisi semula ke kondisi terurut.
BAB III

PENUTUP

3.1 KESIMPULAN

Kesimpulan dari program Bubble Sort adalah bahwa algoritma tersebut dapat digunakan
untuk mengurutkan elemen-elemen dalam suatu array dengan cara membandingkan dan
menukar pasangan-pasangan elemen secara berulang hingga seluruh array terurut.Bubble sort
juga merupakan algoritma pengurutan yang sederhana dan mudah dipahami. Meskipun
Bubble sort sederhana namun memiliki kinerja yang kurang efisien dalam pengurutan
jumlah data yang besar.

3.2 SARAN

Berdasarkan pembahasan mengenai algoritma bubble sort pada makalah ini, terdapat
beberapa saran , yaitu :

• Untuk penerapan algoritma bubble sort, disarankan hanya digunakan pada kasus
pengurutan dengan jumlah data yang kecil karna kurang efisien untuk data dalam
jumlah besar.
• Algoritma bubble sort cocok diimplementasikan pada program sederhana sebagai
latihan konsep dasar algoritma sorting, sebelum mempelajari algoritma sorting yang
lebih canggih.
DAFTAR PUSTAKA

Algoritma Bubble Sort (Scribd, https://id.scribd.com/document/643213051/ALGORITMA-


BUBBLE-SORT-docx).

Abdullah, M. F. (2023). Penggunaan Algoritma Bubble Sort dalam Pengurutan Nomor Induk
Mahasiswa. Hello World Jurnal Ilmu Komputer, 2(1), 18-19.
https://doi.org/10.56211/helloworld.v2i1.206

Anda mungkin juga menyukai