SlideShare a Scribd company logo
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
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
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...................................................................................
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.
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
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
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
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
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
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.
Kode program yang dipakai untuk melakukan algoritma insertion sort
dengan bahasa program C dan C++ adalah sebagai berikut:
Gambar 8. Algoritma Insertion Sort
Gambar 9. Algoritma Insertion Sort
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
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.
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.
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.

More Related Content

What's hot

5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi
Roziq Bahtiar
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Fatma Qolbi
 
Edo A.G - Rangkaian Aritmatika
Edo A.G - Rangkaian AritmatikaEdo A.G - Rangkaian Aritmatika
Edo A.G - Rangkaian Aritmatika
Edo A.G
 
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
Program Pengurutan  (Sorting) dan Pencarian  (Searching) DataProgram Pengurutan  (Sorting) dan Pencarian  (Searching) Data
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
Simon Patabang
 

What's hot (20)

Jaringan hebb
Jaringan hebbJaringan hebb
Jaringan hebb
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi
 
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logika
 
Algoritma Greedy
Algoritma GreedyAlgoritma Greedy
Algoritma Greedy
 
Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3
 
Makalah Fuzzy Logic Dan Penerapannya
Makalah Fuzzy Logic Dan PenerapannyaMakalah Fuzzy Logic Dan Penerapannya
Makalah Fuzzy Logic Dan Penerapannya
 
Algoritma brute force
Algoritma brute forceAlgoritma brute force
Algoritma brute force
 
PHP CRUD Database Mysql
PHP CRUD Database MysqlPHP CRUD Database Mysql
PHP CRUD Database Mysql
 
Data Warehousing and OLAP I
Data Warehousing and OLAP IData Warehousing and OLAP I
Data Warehousing and OLAP I
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
 
Edo A.G - Rangkaian Aritmatika
Edo A.G - Rangkaian AritmatikaEdo A.G - Rangkaian Aritmatika
Edo A.G - Rangkaian Aritmatika
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)
 
01 02-pseudocode
01 02-pseudocode01 02-pseudocode
01 02-pseudocode
 
Algoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAlgoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur Data
 
Insertion sort
Insertion sortInsertion sort
Insertion sort
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquer
 
Penjadwalan dan perhitungan kinerja cpu
Penjadwalan  dan perhitungan kinerja cpuPenjadwalan  dan perhitungan kinerja cpu
Penjadwalan dan perhitungan kinerja cpu
 
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
Program Pengurutan  (Sorting) dan Pencarian  (Searching) DataProgram Pengurutan  (Sorting) dan Pencarian  (Searching) Data
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
 
IMK - Strategi Banyak Window
IMK - Strategi Banyak WindowIMK - Strategi Banyak Window
IMK - Strategi Banyak Window
 

Similar to Makalah Algoritma DAA 1

Rifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).pptRifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).ppt
FaldoPku
 
11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian
Wandi Parlente
 
Analisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingAnalisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah Sorting
Dea Rokhmatun Iradewa
 

Similar to Makalah Algoritma DAA 1 (20)

Ni luh dewi pradnyawati
Ni luh dewi pradnyawatiNi luh dewi pradnyawati
Ni luh dewi pradnyawati
 
Ni luh dewi pradnyawati
Ni luh dewi pradnyawatiNi luh dewi pradnyawati
Ni luh dewi pradnyawati
 
Rifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).pptRifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).ppt
 
Msw a4 format
Msw a4 formatMsw a4 format
Msw a4 format
 
Struktur data dan algoritma
Struktur data dan algoritmaStruktur data dan algoritma
Struktur data dan algoritma
 
Siti rohmatul khoiriah
Siti rohmatul khoiriahSiti rohmatul khoiriah
Siti rohmatul khoiriah
 
Makalah shell sort
Makalah shell sortMakalah shell sort
Makalah shell sort
 
Paper Metode Sorting
Paper Metode SortingPaper Metode Sorting
Paper Metode Sorting
 
ratna mustika sari
ratna mustika sariratna mustika sari
ratna mustika sari
 
File
FileFile
File
 
Buku struktur data Sorting
Buku struktur data SortingBuku struktur data Sorting
Buku struktur data Sorting
 
Pertemuan viii Sorting
Pertemuan viii SortingPertemuan viii Sorting
Pertemuan viii Sorting
 
11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian
 
Makalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan dataMakalah pencarian dan pengurutan data
Makalah pencarian dan pengurutan data
 
Sorting insert binary
Sorting insert binarySorting insert binary
Sorting insert binary
 
Tugas Algoritma
Tugas AlgoritmaTugas Algoritma
Tugas Algoritma
 
Analisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingAnalisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah Sorting
 
Algoritma dan Struktur Data - Sorting beserta Metode nya
Algoritma dan Struktur Data - Sorting beserta Metode nya Algoritma dan Struktur Data - Sorting beserta Metode nya
Algoritma dan Struktur Data - Sorting beserta Metode nya
 
Analisis algoritma
Analisis algoritmaAnalisis algoritma
Analisis algoritma
 
Implementasi queue
Implementasi queueImplementasi queue
Implementasi queue
 

Recently uploaded

Laporan pembina seni tari - www.kherysuryawan.id.pdf
Laporan pembina seni tari - www.kherysuryawan.id.pdfLaporan pembina seni tari - www.kherysuryawan.id.pdf
Laporan pembina seni tari - www.kherysuryawan.id.pdf
heridawesty4
 
Laporan wakil kepala sekolah bagian Kurikulum.pdf
Laporan wakil kepala sekolah bagian Kurikulum.pdfLaporan wakil kepala sekolah bagian Kurikulum.pdf
Laporan wakil kepala sekolah bagian Kurikulum.pdf
yuniarmadyawati361
 
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
RinawatiRinawati10
 

Recently uploaded (20)

Teori Profetik Kuntowijoyo (Dosen Pengampu: Khoirin Nisai Shalihati)
Teori Profetik Kuntowijoyo (Dosen Pengampu: Khoirin Nisai Shalihati)Teori Profetik Kuntowijoyo (Dosen Pengampu: Khoirin Nisai Shalihati)
Teori Profetik Kuntowijoyo (Dosen Pengampu: Khoirin Nisai Shalihati)
 
CONTOH LAPORAN PARTISIPAN OBSERVASI.docx
CONTOH LAPORAN PARTISIPAN OBSERVASI.docxCONTOH LAPORAN PARTISIPAN OBSERVASI.docx
CONTOH LAPORAN PARTISIPAN OBSERVASI.docx
 
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum MerdekaModul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
 
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagjaPi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
 
Koneksi Antar Materi Modul 1.4.ppt x
Koneksi Antar Materi Modul 1.4.ppt           xKoneksi Antar Materi Modul 1.4.ppt           x
Koneksi Antar Materi Modul 1.4.ppt x
 
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptxPPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
 
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptxSEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
 
tugas modul 1.4 Koneksi Antar Materi (1).pptx
tugas  modul 1.4 Koneksi Antar Materi (1).pptxtugas  modul 1.4 Koneksi Antar Materi (1).pptx
tugas modul 1.4 Koneksi Antar Materi (1).pptx
 
Laporan pembina seni tari - www.kherysuryawan.id.pdf
Laporan pembina seni tari - www.kherysuryawan.id.pdfLaporan pembina seni tari - www.kherysuryawan.id.pdf
Laporan pembina seni tari - www.kherysuryawan.id.pdf
 
Sapawarga - Manual Guide PPDB Tahun 2024.pdf
Sapawarga - Manual Guide PPDB Tahun 2024.pdfSapawarga - Manual Guide PPDB Tahun 2024.pdf
Sapawarga - Manual Guide PPDB Tahun 2024.pdf
 
Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
 
Najwa Qarina_2021 B_Analisis Kritis Jurnal.pdf
Najwa Qarina_2021 B_Analisis Kritis Jurnal.pdfNajwa Qarina_2021 B_Analisis Kritis Jurnal.pdf
Najwa Qarina_2021 B_Analisis Kritis Jurnal.pdf
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
 
BUKTI DUKUNG RHK SEKOLAH DASAR NEGERI.pptx
BUKTI DUKUNG RHK SEKOLAH DASAR NEGERI.pptxBUKTI DUKUNG RHK SEKOLAH DASAR NEGERI.pptx
BUKTI DUKUNG RHK SEKOLAH DASAR NEGERI.pptx
 
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-OndelSebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
 
Laporan wakil kepala sekolah bagian Kurikulum.pdf
Laporan wakil kepala sekolah bagian Kurikulum.pdfLaporan wakil kepala sekolah bagian Kurikulum.pdf
Laporan wakil kepala sekolah bagian Kurikulum.pdf
 
Laporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdfLaporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdf
 
MODUL AJAR BAHASA INGGRIS KELAS 2 KURIKULUM MERDEKA
MODUL AJAR BAHASA INGGRIS KELAS 2 KURIKULUM MERDEKAMODUL AJAR BAHASA INGGRIS KELAS 2 KURIKULUM MERDEKA
MODUL AJAR BAHASA INGGRIS KELAS 2 KURIKULUM MERDEKA
 
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
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
  • 12. Gambar 9. 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.