• Tidak ada hasil yang ditemukan

SORTING ALGORITMA. Bubble Sort JANUARY 14, 2016

N/A
N/A
Protected

Academic year: 2021

Membagikan "SORTING ALGORITMA. Bubble Sort JANUARY 14, 2016"

Copied!
16
0
0

Teks penuh

(1)

SORTING ALGORITMA

Bubble Sort

JANUARY 14, 2016

DWI SETIYA NINGSIH // 210 315 7 025

(2)

1 | P a g e

Kata Pengantar

Puji syukur saya panjatkan ke hadirat Allah Subhanahu wata΄ala, karena berkat rahmat-Nya dan karunia-rahmat-Nya saya dapat menyelesaikan makalah ini yang membahas tentang Algoritma dan Pemograman. Tanpa pertolongan NYA mungkin saya tidak akan sanggup menyelesaikan tugas makalah ini. Shalawat dan salam semoga terlimpah curahkan kepada baginda tercinta yakni Nabi Muhammad SAW.

Makalah ini disusun untuk memenuhi tugas mata kuliah “Algoritma dan Pemograman”

Makalah ini masih jauh dari sempurna, oleh karena itu saya mengharapkan kritik dan saran yang bersifat membangun demi kesempurnaan makalah ini.

Semoga makalah ini memberikan informasi bagi masyarakat dan bermanfaat untuk pengembangan ilmu pengetahuan bagi kita semua.

Jombang, 14 Januari 2016

(3)

2 | P a g e

Ucapan Terima Kasih

Penyusunan Makalah ini tidak akan berjalan dengan baik dan lancar tanpa bantuan dari pihak yang terlibat. Untuk itu saya mengucapkan terima kasih kepada semua pihak yang telah terlibat dalam penyusunan laporan ini yaitu :

1. Orang tua dan saudara tercinta yang telah memberikan do’a, kasih sayang, semangat, nasihat dan nafkah yang tak bisa penulis balas semua kasih sayangnya.

2. Ibu Desy sebagai Dosen Pengampu.

3. Rekan mahasiswa yang telah banyak membantu dan memberi dukungan baik material maupun spiritual demi terselesaikannya laporan ini.

(4)

3 | P a g e

Daftar Isi

Kata Pengantar ... Error! Bookmark not defined. Ucapan Terima Kasih ... Error! Bookmark not defined. Daftar Isi ... Error! Bookmark not defined. Daftar Gambar & Tabel ... Error! Bookmark not defined. Bab I ... Error! Bookmark not defined. Pendahuluan ... Error! Bookmark not defined. 1.1 Latar Belakang ... Error! Bookmark not defined. 1.2 Rumusan Masalah ... Error! Bookmark not defined. 1.3 Tujuan Penulisan ... Error! Bookmark not defined. Bab II ... Error! Bookmark not defined. Pembahasan ... Error! Bookmark not defined. 2.1 Definisi Bubble Sort (Metode Gelembung) ... Error! Bookmark not defined. 2.2 Metode Bubble Sort ... Error! Bookmark not defined. 2.2.1 Proses Pengurutan ... Error! Bookmark not defined. 2.3 Contoh Kasus ... Error! Bookmark not defined. 2.4 Kelemahan & Kelebihan ... Error! Bookmark not defined. Bab III ... Error! Bookmark not defined. Penutup ... Error! Bookmark not defined. 3.1 Kesimpulan ... Error! Bookmark not defined. 3.2 Saran ... Error! Bookmark not defined. Daftar Pustaka ... Error! Bookmark not defined. Lampiran ... Error! Bookmark not defined.

(5)

4 | P a g e

Daftar Gambar & Tabel

Gambar 2.1 data asli array ... 7

Gambar 2.2 membandingkan data ke-1 dan ke-2 ... 8

Gambar 2.3 membandingkan data ke-2 dan ke-3 ... 8

Gambar 2.4 membandingkan data ke-3 dan ke-4 ... 8

Gambar 2.5 data terakhir merupakan yang nilainya paling besar... 9

Gambar 2.6 membandingkan kembali data ke-2 dan ke-3 ... 10

Gambar 2.7 urutan data/elemen array setelah diurutkan ... 10

Gambar 2.8 tampilan akhir setelah diurutkan ... 10

Tabel 1.1 Proses Pengurutan Looping Pertama ... 11

Tabel 1.2 Proses Pengurutan Looping Kedua ... 11

(6)

5 | P a g e

Bab I

Pendahuluan

1.1 Latar Belakang

Sorting bias didefinisikan sebagai suatu pengurutan data yang sebelumnya disusun secara acak, sehigga menjadi tersusun secara teratur menurut aturan tertentu. Sorting yang kita terapkan menggunakan data array agar pemahan serta

pengimplementasiannya menjadi lebih mudah.

Pada umumnya metode yang digunakan untuk sorting adalah : 1. Buble\Exchange sort

2. Selection sort 3. Shell Sort 4. Quick sort

1.2 Rumusan Masalah

1. Apakah definisi dari Bubble Sort? 2. Bagaimana langkah kerja bubble sort? 3. Bagaimana contoh kasus bubble sort?

4. Apa saja kelebihan & kekurangan bubble sort?

1.3 Tujuan Penulisan

Makalah ini disusun dengan tujuan sebagai sarana untuk mengikuti pesatnya perkembangan teknologi komputer di masa sekarang ini, salah satunya di dunia pemrograman yang sekarang semakin banyak diminati. selain itu, tujuan disusunnya makalah ini adalah untuk memenuhi tugas individual mata kuliah Logika dan Algoritma Pemrograman.

(7)

6 | P a g e

Bab II

Pembahasan

2.1 Definisi Bubble Sort (Metode Gelembung)

Bubble Sort adalah salah satu algoritma untuk sorting data atau kata lainnya mengurutkan data dari yang terbesar ke yang terkecil atau sebaliknya (Ascending atau Descending).

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.

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.

2.2 Metode 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 antar elemennya yang berdekatan. Berikut ini adalah gambaran dari algoritma bubble sort.

(8)

7 | P a g e

Misalkan kita mempunyai sebuah array dengan elemen-elemen “12 3 45

15 7”. Proses yang akan terjadi apabila digunakan algoritma bubble sort adalah sebagai berikut:

2.2.1 Proses Pengurutan

Untuk mengurutkan bilangan diperlukan variabel array untuk menampung semua bilangan yang akan diurutkan. Proses pengurutan dilakukan dengan membandingkan semua elemen array satu per satu. Dibawah ini terlampir contoh array berisi sederet bilangan yang belum diurutkan.

Gambar 2.1 data asli array

Dimetode 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 :

(9)

8 | P a g e

Gambar 2.2 membandingkan data ke-1 dan ke-2

Lalu elemen ke-2 dibandingkan dengan elemen ke-3. jika isi elemen ke-3 lebih besar, maka isi kedua elemen tersebut tidak ditukar.

Gambar 2.3 membandingkan data ke-2 dan ke-3

Perbandingan selanjutnya dilakukan terhadap elemen ke-3 dengan ke-4. Karena elemen ke-4 lebih kecil, maka isi kedua elemen tersebut ditukar. Sehingga isi array sebelumnya berubah menjadi :

Gambar 2.4 membandingkan data ke-3 dan ke-4

Proses perbandingan seperti diatas dilakukan secara berulang sampai pada elemen terakhir. Sehingga pada akhirnya akan dihasilkan bilangan terbesar

(10)

9 | P a g e

yang ditempatkan pada posisi elemen terakhir. Dibawah ini kondisi array setelah perbandingan elemen terakhir.

Gambar 2.5 data terakhir merupakan yang nilainya paling besar

Proses diatas hanya mencari bilangan terbesar pertama. Ulangi proses tersebut untuk mencari bilangan terbesar lainnya setelah bilangan terbesar pertama tadi. Namun proses perbandingan hanya dilakukan mulai dari elemen pertama sampai elemen ke-(n-a)[1] dalam contoh ini adalah elemen ke-4.

Isi elemen pertama dibandingkan dengan elemen ke-2. Karena isi elemen ke-2 lebih besar, maka isi kedua elemen tersebut tidak ditukar.

Kemudian elemen ke-2, dibandingkan dengan elemen ke-3. Karena elemen ke-3 lebih kecil, maka isi kedua elemen tersebut ditukar sehingga isi array menjadi :

(11)

10 | P a g e

Gambar 2.6 membandingkan kembali data ke-2 dan ke-3

Lanjutkan proses diatas sampai pada elemen ke-4. Hasilnya isi array menjadi ;

Gambar 2.7 urutan data/elemen array setelah diurutkan

Kini isi elemen ke-7 dan ke-8 sudah urut berdasarkan bilangan kecil ke besar. Namun elemen lainnya belum terurut. Untuk itu ulangi proses diatas, namun elemen yang dibandingkan hanya sampai pada elemen ke-6 saja. Setelah itu, proses perbadingan diulangi lagi sampai elemen terakhir yang dibandingkan yaitu elemen ke-2. Hasil akhirnya menjadi :

(12)

11 | P a g e

2.3 Contoh Kasus

Terdapat sebuah array A yang menampung data yang belum terurut: [80, 13, 72, -5]. Maka langkah penyelesaian untuk mendapatkan data yang yang terurut menaik (ascending) dengan menggunakan bubble sort adalah sebagai berikut:

1. Langkah 1

Index Elemen yang Dibandingkan Ditukar? Hasil Sementara

i = 4 A[4] < A[3] ? (-5 < 72) Ya 80, 13, -5, 72

i = 3 A[3] < A[2] ? (-5 < 13) Ya 80, -5, 13, 72

i = 2 A[2] < A[1] ? (-5 < 80) Ya -5, 80, 13, 72

Tabel 1.1 Proses Pengurutan Looping Pertama 2. Langkah 2

Index Elemen yang Dibandingkan Ditukar? Hasil Sementara

i = 4 A[4] < A[3] ? (72 < 13) Tidak -5, 80, 13, 72

i = 3 A[3] < A[2] ? (13 < 80) Ya -5, 13, 80, 72

Tabel 1.2 Proses Pengurutan Looping Kedua 3. Langkah 3

(13)

12 | P a g e

i = 4 A[4] < A[3] ? (72 < 80) Ya -5, 13, 72, 80

Tabel 1.3 Proses Pengurutan Looping Ketiga

2.4 Kelemahan & Kelebihan

Kelebihan Bubble Sort

 Metode Buble Sort merupakan metode yang paling simpel

 Metode Buble Sort mudah dipahami algoritmanya

Kelemahan 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.

(14)

13 | P a g e

Bab III

Penutup

3.1 Kesimpulan

Algoritma bubble sort memang bukanlah algoritma pengurutan yang efisien, mengingat banyaknya operasi pertukaran yang mungkin dilakukan. Jika data yang diurutkan banyak, maka algoritma ini akan memakan waktu untuk menyelesaikannya. Namun algoritma ini merupakan salah satu agoritma yang sederhana dan mudah dipelajari.

3.2 Saran

Meski tergolong algoritma sederhana, Bubble sort pantas untuk dipelajari sebagai dasar dari bab sorting algoritma.

(15)

14 | P a g e

Daftar Pustaka

http://buublesort.blogspot.co.id/ http://3.bp.blogspot.com/-_JdG2A5PiA4/UYLCGe-lWAI/AAAAAAAAADE/Vue49pshp2g/s1600/InsertionSort.gif http://kael9001.blogspot.co.id/2013/02/bubble-sort.html

(16)

15 | P a g e

Lampiran

[1] [n-1] : Pada loop algoritma bubble sort (bab II sub-bab 2.2) terdapat 4 buah loop utama (langkah 1 - langkah 4). Empat buah loop utama tersebut didapat dari banyaknya data (n) yang ada pada array A dikurangi 1 (5 - 1 = 4). Di dalam setiap loop utama tersebut terdapat loop anak sejumlah banyaknya data pada array A dikurangi 1, dan jumlahnya terus berkurang sejalan dengan bertambahnya loop utama. intinya, untuk menyelesaikan masalah pengurutan dengan bubble sort di atas, diperlukan 2 buah loop yang bertingkat. Loop utama digunakan untuk menentukan jumlah langkah yang dilakukan, sedangkan loop anakan digunakan untuk proses pengapungan yang terjadi pada setiap langkah loop utama. Di dalam loop anakan tersebut harus ada proses perbandingan nilai, sehingga jika nilai yang dibandingkan lebih kecil atau lebih besar, maka bisa dilakukan proses pertukaran.

Gambar

Gambar 2.1 data asli array
Gambar 2.3 membandingkan data ke-2 dan ke-3
Gambar 2.5 data terakhir merupakan yang nilainya paling besar
Gambar 2.6 membandingkan kembali data ke-2 dan ke-3
+2

Referensi

Dokumen terkait

Selain itu, mereka mendorong teman –teman mereka agar membeli barang atau jasa peruahaan atau merekomendasikan perusahaan tersebut pada orang lain, dengan begitu

Kegiatan ini dilakukan di UKM Lawu Herbal UKM di Mawar Street No 03. Dimoro RT 02 RW 10 Desa Karanganyar, Kecamatan Karanganyar dan UKM Pondok Daun di Rajawali

Madu uniflora yang dihasilkan lebah hutan Apis dorsata dari nektar bunga pohon Akasia Mangium (Acacia mangium) merupakan salah satu madu hutan premium yang sangat populer di

dapat melemahkan atau menjadikan seseorang tidak mampu dan memerlukan orang lain untuk melakukan perawatan kebersihan secara total (Potter, 2005). Pityriasis versicolor.. a)

Jadi skripsi dengan judul Efektivitas Kepemimpinan Kepala Madrasah Perempuan Di MI Ma’arif NU 1 Kracak Kecamatan Ajibarang Kabupaten Banyumas adalah proses atau

KODE 1 2 5 6 URAIAN NILAI 7 4 NILAI NILAI MUTASI NILAI BERTAMBAH BERKURANG SALDO PER 30 JUNI 2019 SALDO PER 1 JANUARI 2019 SAT.. KUANTITAS KUANTITAS

Dari contoh terlihat bahwa Nilai Akhir Akreditasi sama dengan 85 (Tabel 4, kolom 6, baris terakhir) dan seluruh Nilai Komponen Akreditasi Skala Ratusan pada masing-masing komponen

Penelitian dilakukan di Bagian Poliklinik Mata RS. Desain penelitian yang digunakan adalah analitik deskriptif dengan pendekatan cross sectional. Populasi target adalah seluruh