Makalah ini membahas dua algoritma pengurutan yaitu bubble sort dan insertion sort. Bubble sort bekerja dengan menukar elemen yang lebih besar ke posisi sebelumnya secara berulang hingga data terurut. Insertion sort menyisipkan elemen ke posisi yang tepat dengan mencari posisi terlebih dahulu secara beruntun. Kedua algoritma memiliki kelebihan dan kekurangan masing-masing dalam hal kompleksitas waktu dan penggunaan memori.
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
Makalah Algoritma DAA 1
1. MAKALAH
ALGORITMA BUBBLE SORT & INSERTION SORT
Untuk Memenuhi Salah Satu UAS
Desain dan Analisis Algoritma
Dosen Pebimbing: Eza Budi Perkasa, M. Kom
DISUSUN OLEH
NAMA : ASEP
NIM : 1611500123
TEKNIK INFORMATIKA
STMIK ATMA LUHUR PANGKAL PINANG
2017/2018
2. KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa, karena dengan rahmat dan
karena-Nya penulis dapat menyelesaikan makalah ini. Tidak lupa pula
mengucapkan terimakasih kepada dosen pebimbing yang memberi materi dalam
pembuatan makalah ini.
Penulis menyadari bahwa dalam penyusunan makalah ini masih banyak
kekurangan. Untuk itu kritik dan saran yang membangun sangat penulis harapkan
agar dalam pembuatan makalah selanjutnya dapat lebih baik. Harapan penulis,
semoga makalah ini dapat bermanfaat untuk penulis pada khususnya dan teman-
teman pada umumnya. Amin.
Pangkal Pinang, 20 Maret 2017
Penulis
Asep
NIM : 1611500123
3. DAFTAR ISI
COVER.......................................................................................................
KATA PENGANTAR ................................................................................
BAB I PENDAHULUAN ........................................................................... 1
1.1 LATAR BELAKANG ..................................................................... 1
1.2 TUJUAN ........................................................................................... 1
BAB II PEMBAHASAN ........................................................................... 2
2.1 ALGORITMA BUBBLE SORT...................................................... 2
2.2 ALGORITMA INSERTION SORT………………………………. 5
2.3 PERBANDINGAN ALGORITMA……………………………… 10
BAB III PENUTUP……………………………………………………...... 12
3.1. KESIMPULAN…………………………………………………… 12
DAFTAR PUSTAKA...................................................................................
4. BAB I
PENDAHULUAN
1.1 LATAR BELAKANG
Di dalam kehidupan sehari-hari, sorting ditemukan dalam kamus yang
hurufnya berurutan untuk mempermudah pengguna dalam pencarian.
Algoritma sorting adalah algoritma untuk mengurutkan sejumlah data
yang menghasilkan urutan dari kecil ke besar (ascending) maupun dari besar ke
kecil (descending). Algoritma sorting merupakan salah satu algoritma yang
dipelajari oleh mahasiswa fakultas ilmu komputer. Algoritma ini menjadi dasar
dari algoritma lainnya seperti pencarian, patern matching, dan lain-lain seperti
yang dikatakan oleh Sunny Y. Wang (1996) “Sort Algorithm is one of the
fundamental technique in computer science because of the following reasons.
First, it is the basis of many other algorithms such as searching, pattern matching,
digital filter etc., and many application have been found in database system“.
Dalam makalah ini yang dua yaitu: Algoritma Bubble Sort Dan Algoritma
Insertion Sort.
1.2 TUJUAN
Data terurut mudah dicari, diperiksa, dan dibetulkan jika terdapat
kesalahan.
Data terurut juga mudah dihapus jika sewaktu-waktu tidak
diperlukan lagi.
Data terurut memudahkan dalam menyisipkan atau
menggabungkan data.
5. BAB II
PEMBAHASAN
2.1 ALGORITMA BUBBLE SORT
Bubble Sort ini merupakan proses pengurutan yang secara berangsur-
angsur berpindah ke posisi yang tepat karena itulah dinamakan Bubble yang
artinya gelembung. Algoritma ini akan mengurutkan data dari yang terbesar ke
yang terkecil (ascending) atau sebaliknya (descending).
Secara sederhana, bisa didefenisikan algoritma Bubble Sort adalah
pengurutan dengan cara pertukaran data dengan data disebelahnya secara terus
menerus sampai dalam satu iterasi tertentu tidak ada lagi perubahan. Berikut ini
algoritma bubble sort.
Gambar 1. Algoritma Bubble Sort
6. Apabila ada perulangan, maka Flag dibuat = 1. Kalau pada loop bagian
dalam tidak ada pertukaran, berarti data sudah urut, tidak perlu lagi memeriksa
untuk nilai K berikutnya(4).
Gambar 2. Algoritma Bubble Sort
Gambar 3. Algoritma Bubble Sort
Dibandingkan if (A[I] > A A[I+1]). Bila True lakukan pertukaran dan Flag
dibuat = 1.
Kelebihan bubble sort, metode paling sederhana untuk mengurutkan data
dan mudah dipahami. Sedangkan kekurangan bubble sort, tidak efisien, dimana
7. waktu proses sangat lambat ketika mengurutkan data dalam jumlah sangat besar.
Jumlah pengulangan tetap sama meskipun data sudah cukup terurut.
Dari kode yang sudah disiapkan, diterjemahkan ke bahasa program C dan
C++, program code yang dipakai untuk melakukan algoritma bubble sort dengan
bahasa program C dan C++ adalah sebagai berikut:
Gambar 4. Algoritma Bubble Sort
8. Gambar 5. Algoritma Bubble Sort
2.2 ALGORITMA INSERTION SORT
Insertion sort adalah sebuah algoritma pengurutan yang membandingkan
dua elemen data pertama, mengurutkannya, kemudian mengecek elemen data
berikutnya satu persatu dan membandingkannya dengan elemen data yang telah
diurutkan. Karena algoritma ini bekerja dengan membandingkan elemen-elemen
data yang akan diurutkan, algoritma ini termasuk pula dalam comparison-based
sort. Ide dasar dari algoritma Insertion Sort ini adalah mencari tempat yang "tepat"
untuk setiap elemen array, dengan cara sequential search. Proses ini kemudian
9. menyisipkan sebuah elemen array yang diproses ke tempatnya ang seharusnya.
Proses dilakukan sebanyak N-1 tahapan (dalam sorting disebut sebagai "pass"),
dengan indeks dimulai dari 0. Proses pengurutan dengan menggunakan algoritma
Insertion Sort dilakukan dengan cara membandingkan data ke-i (dimana i dimulai
dari data ke-2 sampai dengan data terakhir) dengan data berikutnya. Jika
ditemukan data yang lebih kecil maka data tersebut disisipkan ke depan sesuai
dengan posisi yang seharusnya.
Setiap kali menemukan elemen yang lebih besar dari X,
maka geser elemen tersebut satu langkah ke kanan.
Gambar 6. Algoritma Insertion Sort
10. Gambar 7. Algoritma Insertion Sort
Kelebihan:
1. Sederhana dalam penerapannya.
2. Efisien dalam data yang kecil dan lebih efisien dari bubble sort dan
selection sort.
3. Jika list sudah terurut atau sebagian terurut maka waktu proses akan
semakin cepat.
4. Loop dalam Inserion Sort sangat cepat, sehingga membuatnya menjadi
salah satu algoritma pengurutan tercepat pada jumlah elemen sedikit.
5. Stabil.
Kekurangan:
1. Banyaknya operasi yang diperlukan dalam mencari posisi yang tepat
untuk elemen array.
2. Tidak praktis untuk array yang jumlahnya besar.
3. Jika list terurut terbalik, setiap eksekusi dari perintah harus memindai
dan mengganti seluruh bagian sebelum menyisipkan elemen
berikutnya.
4. Membutuhkan waktu O(n2) pada data yang tidak terurut, sehingga
tidak cocok dalam pengurutan elemen dalam jumlah besar.
11. Kode program yang dipakai untuk melakukan algoritma insertion sort
dengan bahasa program C dan C++ adalah sebagai berikut:
Gambar 8. Algoritma Insertion Sort
13. Gambar 10. Hasil Output dari ke Algortima Bubble dan Insertion sort
2.2 PERBANDINGAN ALGORITMA
Hasil dari kedua algoritma tersebut adalah:
Table Perbandinagn.
Nama Best Avarage Wors
t
Mem
ori
Stabil Method Keterangan
Bubble
Sort
n n2
n2
1 Ya Exchangin
g
Ukuran kode
sangat kecil
Insertio
n
Sort
n n2
n2
1 Ya Insertion O(n+d),
dimana d
adalah angka
jumlah atau
inversi
Dari tabel diatas s, n merupakan angka dari record yang akan diurut.
Kolom "Average" dan "Worst" memberikan kompleksitas waktu pada setiap case,
dengan asumsi panjang setiap nilai merupakan konstan, dan oleh karena segala
perbandingannya, penukarannya, dan segala operasi yang dibutuhkan dapat
diproses pada waktu konstan. "Memori" menunjukkan jumlah dari simpanan
tambahan dibutuhkan yang digunakan oleh list ini sendiri. Waktu kalkulasi dan
14. memori dari algoritma dapat diukur menggunakan notasi beragam seperti theta,
omega, Big-O, small-o, dll. Memori dan waktu kalkulasi di bawah dapat
diaplikasikan pada semua dari 5 notasi di atas.
15. BAB III
PENUTUP
3.1. KESIMPULAN
Sorting adalah proses mengatur sekumpulan objek menurut aturan atau
susunan tertentu. Urutan objek tersebut dapat menaik atau disebut juga ascending
(dari data kecil ke data lebih besar) ataupun menurun/ descending (dari data besar
ke data kecil). Algoritma bubble sort merupakan proses pengurutan yang secara
berangsur-angsur perpindahan ke posisi yang tepat dengan mengurutkan data dari
yang terbesar ke yang terkecil (ascending) atau sebaliknya(descending).
Sedangkan algoritma Insertion sort merupakan metode pengurutan dengan
menyisipkan elemen array pada posisi yang tepat dengan pencarian beruntun.
Selama posisi pencarian yang tepat dilakukan pergeseran elemen larik.
16. DAFTAR PUSTAKA
Ardhana.YM Kusuma.2013.Struktur Data dalam Ilustrasi Eclips Indigo
C++.Yogyakarta:CAPS.
Moh.Sjukani.2008.Struktur Data (Algoritma dan Struktur Data 2) dengan C,
C++.Jakarta.Mitra Wacana Media.
Kleinberg.Jan.2005.Algorithm Design.
https://teknojurnal.com/pengertian-algoritma-bubble-sort/.
https://id.wikipedia.org/wiki/Algoritma_sorting.
http://buublesort.blogspot.co.id/.
http://guntur98.blogspot.co.id/2015/09/pengertian-dan-contoh-insertion-sort.html.
https://penamisterius.wordpress.com/2011/03/22/insertion-sort/.
https://dl.acm.org/citation.cfm?id=227725.
https://scholar.google.co.id/scholar?q=Sunny+Y.+Wang+(1996)+about+algorithm
+sort&hl=id&as_sdt=0&as_vis=1&oi=scholart&sa=X&ved=0ahUKEwjwlP_N_8
7YAhVMtI8KHf6EDm4QgQMILDAA.