PENGURUTAN BILANGAN METODE BUBBLE SORT

dokumen-dokumen yang mirip
PENGURUTAN BILANGAN METODE STRAIGHT SELECTION

Sorting (Bubble Sort)

PENERAPAN KONSEP TABEL

ALGORITMA PEMROGRAMAN 1A** (PP :S1-KA) Pertemuan 7. Ahmad Hidayat

7. PENERAPAN KONSEP TABEL

Algoritma dan Struktur Data

SORTING ALGORITMA. Bubble Sort JANUARY 14, 2016

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

Praktikum 8. Pengurutan (Sorting) Bubble Sort, Shell Sort

METODE DEVIDE AND CONQUER

Powered by icomit.wordpress.com

PERTEMUAN 10 METODE DEVIDE AND CONQUER

Menggunakan 3 variabel A B C. Ada 6 kemungkinan variasi ketiga buah nilai

Bab 5 Array (Variabel Berindeks)

Array (Tabel) bagian 2

ORGANISASI FILE (OPERASI FILE SEQUENTIAL)

PERTEMUAN 10 METODE DEVIDE AND CONQUER

Alpro & Strukdat 1 C++ (Sorting) Dwiny Meidelfi, M.Cs

PRAKTIKUM 9 ARRAY. ARRAY BERDIMENSI SATU Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa :

Algoritma,Flowchart, Konsep

BAB XII MENCARI DATA MAKSIMUM DAN MINIMUM

Modul 8 SORTING (PENGURUTAN)

Sorting. Pertemuan ke 14.

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

Nama : Suseno Rudiansyah NPM : Kelas : X2T Prodi : Teknik Informatika Tugas : Kuis Algoritma 2

Algoritma Sorting (Selection Insertion)

ALGORITMA & PENGEMBANGAN

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

Bab III Analisis Masalah dan Penyeleksian

BAB VI SORTIR ATAU PENGURUTAN

ALGORITMA & PEMROGRAMAN II ARRAY

Pengurutan pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

5. Teknik Pengulangan

CCH1A4 / Dasar Algoritma & Pemrogramanan

OPERASI SELEKSI PEMROGRAMAN C++

OPERASI FILE RANDOM. Algoritma & Pemrograman 1A

nama array untuk menyimpan data jumlah data

Algoritma dan Pemrograman Array/Tabel[3] Oleh: Eddy Prasetyo N

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi :

SEQUENTIAL SEARCH 11/11/2010. Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut

Soal Ujian Tengah Semester flow

Bubble Sort (Pengurutan Gelembung / Pemberatan)

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

Modul Praktikum Algoritma dan Struktur Data

Pencarian (Searching)

1. Runtunan (Sequence) 2. Pemilihan (Selection) 3. Pengulangan. (Repetition) SEQUENCE/RUNTUNAN

2. Definisi dan Simbol Flowchart

Pada kondisi ini proses penghapusan tidak bisa dilakukan Kondisi linked list memiliki hanya 1 data{satu simpul} Akhir. Akhir

Array dan Matriks. IF2121 / Algoritma dan Struktur Data Sem / /7/2017 IF2121/sem /2018 1

A. TUJUAN PEMBELAJARAN

BAB V SORT. Proses penukaran tidak dapat langsung dilakukan dengan cara : nilai[1] = nilai[2]; nilai[2] = nilai[1];

MODUL PRAKTIKUM ALGORITMA & BAHASA PEMROGRAMAN I (BASIC) Dosen Pengasuh : Suroto, S.Kom, M.Ak

10. OPERASI FILE SEQUENTIAL. Operasi terhadap file yang diorganisir secara sequential hanya dapat dilakukan secara berurutan.

Pengertian Berkas Sequential Adalah merupakan cara yang paling dasar untuk mengorganisasikan kumpulan record-record dalam sebuah berkas.

BAB III METODE PENELITIAN / PERANCANGAN SISTEM. perancangan dan pembuatan program ini meliputi : dengan konversi notasi infix, prefix, dan postfix.

Bentuk umum : SPL. Mempunyai penyelesaian disebut KONSISTEN. Tidak mempunyai penyelesaian disebut TIDAK KONSISTEN TUNGGAL BANYAK

PENGAMBILAN KEPUTUSAN

ORGANISASI BERKAS SEQUENTIAL

METODE PENGURANGAN Metode Berhitung Cepat Tanpa Kalkulator

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

Chapter 6. Array. 6.1 Pengertian Array

Pengantar Algoritma & Flow Chart

Algoritma & Pemrograman #9. by antonius rachmat c, s.kom, m.cs

MAKALAH STRUKTUR DATA. DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH ( )

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-8 Pengurutan (Sorting) 1

Algoritma. Contoh Algoritma

SORTING (Pengurutan)

Gambar 13.1 Ilustrasi proses algoritma sorting

BAB II DEFINISI DAN SIMBOL-SIMBOL

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA

Decission : if & if else

FLOWCHART. Dosen Pengampu : Aullya

Pengampu : Agus Priyanto, M.KOM

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA BUBBLE SORT, SELECTION SORT, INSERTION SORT

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

ARNA FARIZA YULIANA SETIOWATI

@copyright by Emy PENGANTAR ALGORITMA & PROGRAM & PROGRAM PENGERTIAN ALGORITMA NOTASI UNTUK ALGORITMA

Definisi & Simbol Flowchart. Agustine Hana. M

Materi 4: SORTING (PENGURUTAN) Dosen:

Pengurutan (Sorting) Algoritma Pemrograman

BAB I ARRAY. Contoh array berdimensi satu, misalnya menginputkan 5 buah data temperatur. Dan kelima data tersebut disimpan pada array bernama suhu.

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

STACK dan QUEUE MODUL PRAKTIKUM STRUKTUR DATA 09 UNIVERSITAS KRISTEN DUTA WACANA. Daftar Isi: Stack dan Queue. Latihan soal. Guided.

Pengertian Algoritma Pengurutan

Sistem Komputer. Software / Perangkat Lunak. Hardware / Perangkat keras. Brainware / Pemakai


ARRAY STATIS. Type namatype_array = array [1..maks_array] of tipedata. nama_var_array : namatype_array {indeks array dari 1 sampai maksimum array}

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PENGURUTAN DATA DENGAN ALGORITMA HEAP SORT

Algoritma Heap Sort. Sekolah Teknik Elektro & Informatika Departemen Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung

SORTING (PENGURUTAN DATA)

04/03/2013. Absensi : 10% UTS : 30% UAS : 40% Tugas & Kuis : 20% By: Vilia Eka Meyana, M.Kom Institute Bisnis dan Informatika Indonesia

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.


Algoritma dan Diagram Alir (Flowchart)

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

Algoritma dan Flowchart. Dasar Programming 1

Transkripsi:

PENGURUTAN BILANGAN METODE BUBBLE SORT 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. 20 12 35 11 17 9 58 23 Indeks yg menunjukkan posisi elemen 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 : 12 20 35 11 17 9 58 23 Elemen array setelah ditukar Lalu elemen ke-2 dibandingkan dengan elemen ke-3. jika isi elemen ke-3 lebih besar, maka isi kedua elemen tersebut tidak ditukar. 12 20 35 11 17 9 58 23 Isi elemen ke-3 lebih besar dari elemen ke-2

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 : 12 20 11 35 17 9 58 23 Isi elemen setelah ditukar Proses perbandingan seperti diatas dilakukan secara berulang sampai pada elemen terakhir. Sehingga pada akhirnya akan dihasilkan bilangan terbesar yang ditempatkan pada posisi elemen terakhir. Dibawah ini kondisi array setelah perbandingan elemen terakhir. 12 20 11 17 9 35 23 58 Elemen terakhir berisikan bilangan terbesar 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-7. 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 : 12 11 20 17 9 35 23 58 Isi array setelah ditukar

Lanjutkan proses diatas sampai pada elemen ke-7. Hasilnya isi array menjadi ; 12 11 17 9 20 23 35 58 Isi elemen array yg sudah diurut 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 : 9 11 12 17 20 23 35 58 IMPLEMENTASI DALAM BENTUK FLOWCHART Seperti telah dijelaskan sebelumnya, proses pengurutan memakai variabel array untuk menampung semua bilangan yang akan diurutkan. Oleh karena itu sebelum proses pengurutan dilakukan, terlebih dahulu dibuat proses untuk mengisi semua bilangan ke dalam array. Setelah array tersebut terisi, barulah proses pengurutan dilakukan untuk mengurutkan isinya. Seperti diketahui, jika salah satu elemen array diisi dengan nilai baru, maka nilai lama akan terhapus. Oleh sebab itu untuk mempertukarkan isi elemen array harus mengggunakan satu variabel cadangan. Variabel ini digunakan untuk menyimpan isi array yang akan ditukar. BILARR 9 11 12 17 20 23 35 58 Misalnya isi elemen ke-2 dari variabel BILARR akan ditukar dengan elemen ke-3. Maka isi elemen ke-2 disimpan terlebih dahulu ke variabel cadangan ( misalnya untuk variabel ini diberi nama TEMP). Setelah itu, isi elemen ke-3 dipindahkan ke elemen ke-2, lalu isi dari variabel TEMP dipindahkan ke elemen ke-3. Ilustrasi dibawah ini memperlihatkan pertukaran kedua elemen tersebut.

TEMP 11 BILARR 9 11 12 17 20 23 35 58 Proses tersebut dapat dituliskan sebagai berikut : TEMP = BILARR (2) BILARR(2) = BILARR (3) BILARR(3) = TEMP Dari proses yang telah dijelaskan, pengurutan bilangan dari kecil ke besar dengan metode bubble sort dapat digambarkan melalui flowchart seperti berikut (lihat gambar 10.1)

start 1 I = 0 J = 0 N = 0 J = J + 1 2 N = N + 1 Input BIL BIL = 0 1 BILARR(I) < BILARR(I+1) N = N + 1 TEMP = BILARR(I) BILARR(I)=BILARR(I+1) BILARR(I+1)=TEMP BILARR(N) = BIL I = N - J 3 2 gambar 10.1 ( bersambung )

3 J = N - 1 I = 0 I = 0 I = I + 1 3 PRINT BILARR(I) I = N END Gambar 10.1 ( sambungan ) Berdasarkan flowchart diatas, proses pengurutan bilangan dari kecil ke besar dapat dirangkum sebagai berikut : 1. persiapan variabel yang dipakai dalam proses, yaitu : N : variabel untuk menyatakan jumlah elemen array. Jumlah ini diketahui berdasarkan banyaknya bilangan yang diinputkan melalui keyboard. I, J : variabel indeks untuk membandingkan isi array 2. prose pertama yang dilakukan adalah mengisi semua bilangan yang akan diurutkan ke array. Pada flowchart diatas, array tersebut diberi nama BILARR. Bilangan diinput melalui keyboard dan disimpan didalam variabel BIL. 3. periksa isi variabel BIL. Pada flowchart diatas, diasumsikan pengisian bilangan berakhir jika operator mengetik 0 untuk bilangan yang diinput. Oleh karena itu, jika BIL = 0 maka proses dilanjutkan ke langkah 7 untuk mulai pengurutan bilangan. Jika BIL tidak sama dengan 0 berarti pengisian bilnagan belum berakhir, maka proses dilanjutkan ke langkah 4. 4. variabel N ditambah 1. variabel ini untuk menentukan elemen array yang akan diisi nilai dari variabel BIL. 5. isi elemen array dengan nilai yang tersimpan di variabel BIL. Posisi elemen tersebut ditentukan berdasarkan harga N. 6. kembali ke langkah 2 untuk menginput bilangan lainnya.

7. variabel J ditambah 1. 8. variabel I ditambah 1. 9. bandingkan isi elemen array pada posisi sesuai dengan nilai variabel I atau BILARR (I) dengan elemen array didepannya yaitu posisi I+1 atau BILARR (I+1). Jika isi BILARR(I) lebih kecil dari BILARR (I+1) maka isi kedua elemen tersebut tidak ditukar. Untuk itu proses dilanjutkan ke lankah 11. namun juka isi BILARR(I) > dari BILARR(I+1) lanjutkan ke langkah 10 untuk menukar isi kedua elemen tersebut. 10. pindahkan isi BILARR(I) ke variabel sementara yaitu TEMP. pindahkan isi BILARR(I+1) ke BILARR(I). pindahkan isi TEMP ke BILARR(I+1). 11. periksa isi variabel I. jika I sama dengan N-J maka proses perbandingan untuk mencari bilangan terbesar pertama selesai. Untuk itu proses dilanjutkan ke langkah 12. jika isi I belum sama, maka proses perbandingan untuk mencari bilangan terbesar belum selesai. Untuk itu proses selanjutnya kembali ke langkah 8. 12. periksa isi variabel J. jika J sama dengan N-1, maka semua elemen telah diperbandingkan dan proses pengurutan telah selesai. Untuk itu proses dilanjutkan ke langkah 15 untuk mencetak seluruh isi arrray. Jika isi J masih belum sama dengan N-1 maka semua bilangan belum terurut. Proses dilanjutkan ke langkah 13 untuk mencari bilangan terbesar lainnya. 13. variabel I diisi nilai 0. 14. kembali ke langkah 7 untuk mencari bilangan terbesar lainnya. 15. Variabel I diisi nilai 0. 16. variabel I ditambah 1. 17. cetak isi BILARR(I). 18. periksa isi I. jika I sama dengan N berarti semua elemen array telah dicetak maka proses selesai. Jika isi I belum sama dengan N berarti semua elemen array belum tercetak. Untuk itu kembali ke langkah 16 untuk mencetak elemen lainnya.