IMPLEMENTASI ALGORITMA BUBBLE SORT DAN SELECTION SORT MENGGUNAKAN ARRAYLIST MULTIDIMENSI PADA PENGURUTAN DATA MULTI PRIORITAS

dokumen-dokumen yang mirip
IMPLEMENTASI ALGORITMA BUBBLE SORT DAN SELECTION SORT MENGGUNAKAN ARRAYLIST MULTIDIMENSI PADA PENGURUTAN DATA MULTI PRIORITAS.

Gambar 13.1 Ilustrasi proses algoritma sorting

Algoritma Sorting (Selection Insertion)

Algoritma Sorting. Ahmad Kamsyakawuni, S.Si, M.Kom. Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Jember

JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : VOL. 6 NO. 1 Maret 2013

STRUKTUR DATA SORTING ARRAY

Bubble Sort dan Shell-Sort. Yuliana Setiowati

Sorting Algorithms. Buble Sort

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13

Algoritma dan Struktur Data. Searching dan Sorting

Analisis Algoritma Bubble Sort

BAB VI SORTIR ATAU PENGURUTAN

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)

SORTING. Hartanto Tantriawan, S.Kom., M.Kom

Powered by icomit.wordpress.com

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

SORTING (PENGURUTAN DATA)

STRUKTUR DATA (3) sorting array. M.Cs

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

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

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

SORTING ALGORITMA. Bubble Sort JANUARY 14, 2016

Sorting. Pertemuan ke 14.

ALGORITMA PENGURUTAN & PENCARIAN

Algoritma dan Struktur Data

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

Modul 8 SORTING (PENGURUTAN)

Abstract. Keywords: Information System, Scholarship, Peningkatan Prestasi Akademik (PPA), quick sort, selection sort

PENGURUTAN (SORTING) 1. Introduction 2. Bubble Sort 3. Selection Sort 4. Insertion Sort

MENYIGI PENGGUNAAN METODE SHELLSORT DALAM PENGURUTAN DATA

Simulasi Pengurutan Data Dengan Metode Seleksi

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

Materi 4: SORTING (PENGURUTAN) Dosen:

Pengertian Algoritma Pengurutan

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

Kompleksitas Algoritma Dalam Algoritma Pengurutan

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

Modul Praktikum Algoritma dan Struktur Data

Politeknik Elektronika Negeri Surabaya

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016

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

ANALISIS PERBANDINGAN ALGORITMA BUBBLE SORT, MERGE SORT, DAN QUICK SORT DALAM PROSES PENGURUTAN KOMBINASI ANGKA DAN HURUF

BAB 8 SORTIR. Pengurutan data (sorting) adalah suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu.

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024

Analisis Kecepatan Sorting Dengan Notasi Big O

ANALISIS PERBANDINGAN METODE ALGORITMA QUICK SORT DAN MERGE SORT DALAM PENGURUTAN DATA TERHADAP JUMLAH LANGKAH DAN WAKTU

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

BAB I PENDAHULUAN.

Struktur Kontrol. (Repetition)

7. SORTING DAN SEARCHING

Kompleksitas Algoritma Sorting yang Populer Dipakai

Sorting Algorithms. Divide and Conquer

Sorting (Bubble Sort)

Analisis Kompleksitas Waktu Untuk Beberapa Algoritma Pengurutan

APLIKASI PERENCANA BELANJA DENGAN PENGURUTAN SKALA PRIORITAS BERBASIS ANDROID

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

Pengurutan (Sorting) Algoritma Pemrograman

Outline STRUKTUR DATA. VII. Sorting

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

Sorting Algorithms. Definisi

Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1)

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

BAB 8 SORTING DAN SEARCHING

PRATIKUM METODE KOMPUTASI MATEMATIKA TERAPAN

A. TUJUAN PEMBELAJARAN

Algoritma Bubble Sort dan Quick Sort

SORTING (BAGIAN II) Proses kelima

Analisis Perbandingan Kompleksitas Algoritma Pengurutan Nilai (Sorting)

PERTEMUAN 10 METODE DEVIDE AND CONQUER

# TEN Sorting PENDAHULUAN

Struktur Kontrol. (Repetition) 1. Pemilihan (Selection) 2. Pengulangan

Jurnal Evolusi Volume 5 No evolusi.bsi.ac.id

Struktur Perulangan Ema Utami STMIK AMIKOM Yogyakarta

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

BAB 2 SORTING (PENGURUTAN)

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

Analisis Perbandingan Kompleksitas Algoritma Pengurutan Nilai (Sorting)

STRATEGI DIVIDE AND CONQUER

BAB VI Pengurutan (Sorting)

SORTING ARRAY FAKULTAS TEKNOLOGI INFORMASI UNISBANK SEMARANG : ANDY KRISTIANTO : Disusun Oleh :

BAB III ANALISIS KOMPLEKSITAS ALGORITMA

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

PERTEMUAN 10 METODE DEVIDE AND CONQUER

Selection, Looping, Branching

Kajian Algoritma Modul Pencetakan Pembimbing Akademik Jurusan Ilmu Komputer

SATUAN ACARA PERKULIAHAN(SAP)

SORTING. Brigida Arie Minartiningtyas, M.Kom

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

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

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Sorting. Quick Sort

BAB 3 ANALISA SISTEM

ANALISA PERBANDINGAN KOMPLEKSITAS ALGORITMA SELECTIONSORT DAN INSERTIONSORT

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

SORTING (Pengurutan)

PENGURUTAN BILANGAN METODE STRAIGHT SELECTION

SATUAN ACARA PERKULIAHAN JURUSAN TEKNIK INFORMATIKA ITP

Transkripsi:

IMPLEMENTASI ALGORITMA BUBBLE SORT DAN SELECTION SORT MENGGUNAKAN ARRAYLIST MULTIDIMENSI PADA PENGURUTAN DATA MULTI PRIORITAS 1 Roma Rio Sitepu, 2 Machudor Yusman & 3 Febi Eka Febriansyah 1 Jurusan Ilmu Komputer FMIPA Unila 2 Jurusan Ilmu Komputer FMIPA Unila 3 Jurusan Ilmu Komputer FMIPA Unila Abstract Ordering is a process of sorting data with a certain rule, so it will be arranged regularly in accordance with the rules. Basically, there are two kinds of commonly used sequencing rules: ascending and descending. In sorting data that consists of many criteria, there will be priority criteria on which the data is sorted. Priority criteria are sorted by initial criteria which are the most preferred criteria until the last criterion which is an additional criterion. In this study, researchers developed an algorithm that can help sort data that has many priorities. The algorithm used is Bubble Sort and Selection Sort, developed using multidimensional ArrayList to sort multi-priority data. The test was conducted on five times experiment and the data sorted by descending. The data used consist of four fictitious data and one real data taken from the list of all criteria of PPA 2017 scholarship recipient of MIPA faculty, University of Lampung. From the results of the tests performed, the best solution is found in the Selection Sort algorithm if compared with the Bubble Sort algorithm for multi priotity data sorting. Keywords: arraylist, bubble sort, selection sort, multi priority, multidimensional. 1. Pendahuluan Utami [4] pengurutan (sorting) merupakan suatu proses mengurutkan data dengan suatu aturan tertentu, sehingga tersusun secara teratur sesuai dengan aturan tersebut. Pada dasarnya ada dua macam aturan pengurutan yang biasa digunakan yaitu ascending (proses pengurutan data dari data yang paling kecil sampai data yang paling besar.) dan descending (proses mengurutkan data dari yang paling besar sampai data yang paling kecil.). Proses yang terjadi dalam pengurutan data adalah proses perbandingan data dan pertukaran data. Jika data terdiri dari banyak kriteria, maka akan ada kriteria prioritas yang menjadi dasar data tersebut diurutkan. Contohnya dalam kasus perangkingan, dimana kriteria jumlah total menjadi satu-satunya prioritas yang menjadi dasar pengurutan data. Kriteria jumlah total biasanya didapatkan dengan menjumlahkan nilai dari kriteria-kriteria lainnya. Permasalahan akan muncul ketika pada proses perangkingan, kriteria jumlah total yang merupakan satu-satunya prioritas memiliki nilai yang sama. Hal ini menjadi masalah karena akan sulit melakukan perangkingan secara adil jika hanya memiliki satu prioritas. Mengatasi permasalahan ini dibutuhkan prioritas lain agar data dapat terurut secara adil, dan perlu dibuatkan suatu algoritma yang dapat mengurutkan data multi kriteria yang memiliki lebih dari satu prioritas. 2. Metodologi Dalam penelitian ini diimplementasikan algoritma Bubble Sort dan Selection Sort menggunakan ArrayList multidimensi untuk pengurutan data berdasarkan prioritas. Kemudian dibandingkan algoritma Bubble Sort dan Selection Sort berdasarkan waktu eksekusi dan jumlah perulangan, untuk mendapatkan mana algoritma yang paling baik diantara kedua algoritma tersebut. Hal 81 dari 87

2.1 Bubble Sort Kristanto [3] pengurutan yang menggunakan algoritma Bubble Sort dilakukan dengan cara membandingkan elemen yang diseleksi dengan elemen yang berikutnya. Jika elemen yang diseleksi lebih besar dari elemen berikutnya maka elemen tersebut ditukar. Setiap langkah dari algoritma ini seolah-olah menggeser satu per satu elemen dari kanan ke kiri. Jika barisan bilangan tidak disusun horizontal melainkan vertikal, maka terlihat seperti gelembung-gelembung (bubble) yang naik dari dasar akuarium. Oleh karena itu algoritma ini disebut Bubble Sort. Yahya [5] Bubble Sort merupakan cara pengurutan yang sederhana. Konsep dari ide dasarnya adalah seperti gelembung air untuk elemen struktur data yang semestinya berada pada posisi awal. Cara kerja 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 Bubble Sort ditunjukkan pada Kode 1. BubbleSort(data,n): //data adalah array dengan n data FOR i 0 TO n-2 FOR j 0 TO n-(i+2) IF data[j]<data[j+1] temp data[j] data[j] data[j+1] data[j+1] temp Kode 1 Algoritma Bubble Sort Kadir [2] kunci pengurutan secara ascending terletak pada perintah IF data[j]>data[j+1], sementara untuk pengurutan secara descending, perintahnya menjadi IF data[j]<data[j+1]. Berdasarkan algoritma Bubble Sort, jumlah pembandingan maksimal selama pengurutan ditunjukkan pada persamaan (1): n 1 n( n 1) ( n 1) ( n 2) ( n 3)... 2 1 i (1) i 1 2 Efisiensi ini berlaku untuk best case, worst case maupun average case. Untuk n = 5 maka jumlah pembandingan data sebanyak ((5x4)/2) = 10 kali. Dengan demikian jika dinyatakan dengan Big O maka kompleksitas Bubble Sort berupa O(n(n-1)/2) atau sama dengan O(n 2 ). Best case terjadi kalau data yang diurutkan sudah dalam keadaan urut. Hal 82 dari 87

Algoritma Bubble Sort menggunakan ArrayList multidimensi ditunjukan pada Kode 2. BubbleSort(data,n): FOR i 0 TO data.size()-1 FOR j 0 TO data.size()-(i+1) FOR k 0 TO data.get(j)size()-1 hasil=data.get(j).get(k)- data.get(j+1).get(k) IF hasil!=0 IF hasil<0 // Lakukan Penukaran Swap(data,j,j+1) BREAK END-IF Kode 3.1 Algoritma Buble Sort Menggunakan ArrayList Multidim Kode 2 Algoritma Buble Sort Menggunakan ArrayList Multidimensi Pada Kode 2 terdapat 3 buah perulangan yaitu perulangan i,j,dan k. Perulangan j berada di dalam perulangan i dan perulangan k berada di dalam perulangan j, perulangan seperti ini disebut sering disebut dengan perulangan bersarang (nested loop). Perulangan i dimulai dari 0 dan i akan terus melakukan perulangan sampai data.size()-1. Perulangan j dimulai dari 0 dan j akan terus melakukan perulangan sampai data.size()-(i+1). Perulangan k dimulai dari 0 dan k akan terus melakukan perulangan sampai data.get(j)size()-1. Di dalam perulangan k terdapat dua buah kondisi, yaitu kondisi jika nilai hasil!=0 dan kondisi jika nilai hasil<0. Nilai hasil didapat dari pengurangan nilai data baris ke j dan kolom ke k yang dikurangkan dengan data baris j+1 dan kolom ke k. Jika kondisi 1 tidak terpenuhi maka akan kembali ke looping k. Jika kondisi 1 terpenuhi dan kondisi 2 tidak terpenuhi maka progeram akan kembali ke looping j. Jika kedua kondisi tersebut terpenuhi maka artinya nilai dari data j lebih kecil dari nilai data j+1 dan akan dilakukan pertukaran posisi antara data j dengan data j+1. Setelah pertukaran data maka program kembali ke perulangan j. Proses tersebut akan terus berulang hingga seluruh proses perulangan selesai. 2.2 Selection Sort Yahya [5] Selection Sort adalah suatu metode pengurutan yang membandingkan elemen yang sekarang dengan elemen berikutnya sampai ke elemen yang terakhir. Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat posisisnya dan langsung ditukar. Konsep proses Selection Sort adalah mencari (memilih) nilai terkecil dan menukarnya dengan elemen paling awal (paling kiri) pada setiap tahap. Proses Sort dilakukan tahap per tahap. Agustia [1] konsep Selection Sort secara descending adalah melakukan pemilihan dari suatu nilai yang terbesar dan kemudian menukarnya dengan elemen paling awal, lalu membandingkan dengan elemen yang sekarang dengan elemen berikutnya sampai dengan elemen terakhir, perbandingan dilakukan terus sampai tidak ada lagi pertukaran data. Algoritma Selection Sort ditunjukkan pada Kode 3. Hal 83 dari 87

Selection Sort(data,n): //data adalah array dengan n data FOR i 0 TO n-2 awal=i FOR j i+1 TO n-(i+2) IF (data [awal] > data[j]) awal = j; temp data[i] data[i] data[awal] data[awal] temp Kode 3 Algoritma Selection Sort Kompleksitas waktu pada Selection Sort diukur dengan jumlah perbandingan. Pada tahap pertama terdapat N-1 perbandingan. Pada tahap kedua terdapat N-2 perbandingan. Pada tahap ketiga terdapat N-3 perbandingan, dan seterusnya. Dengan demikian, total perbandingan ditunjukkan pada persamaan (2): ( n 1) ( n 2) ( n 3)... 2 1 (2) Oleh karena itu, kompleksitas waktu berupa O(N 2 ). Worst case diperoleh ketika data dalam keadaan urut terbalik. Perbandingan yang terjadi N(N- 1)/2. Dengan demikian, worst case berupa O(N 2 ) (Kadir, 2011). Algoritma Selection Sort menggunakan ArrayList multidimensi ditunjukan pada Kode 4. SelectionSort(data,data.size()): FOR i 0 TO data.size()-1 awal=i FOR j i+1 TO data.size()-1 FOR k 1 TO data.get(j).size -1 hasil=data.get(awal).get(k)- data.get(j).get(k) IF hasil!=0 IF hasil<0 // Lakukan Penukaran awal=j BREAK END-IF Swap(data,i,awal); Kode 4 Algoritma Selection Sort Menggunakan ArrayList Multidimensi Pada Kode 4 terdapat 3 perulangan yaitu perulangan i,j,dan k. Perulangan i dimulai dari 0 dan i akan terus melakukan perulangan sampai data.size()-1. Perulangan j dimulai dari i+1 dan j akan terus melakukan perulangan sampai data.size()-1. Perulangan k dimulai dari 1 dan k terus melakukan perulangan sampai data.get(j).size -1. Hal 84 dari 87

Di dalam perulangan k terdapat inisialisasi dari nilai hasil yang didapat dari pengurangan nilai data baris ke awal dan kolom ke k yang dikurangkan dengan data baris j dan kolom ke k. Terdapat juga dua buah kondisi, yaitu kondisi jika nilai hasil!=0 dan kondisi jika nilai hasil<0. Jika kondisi pertama tidak terpenuhi maka proses perulangan kembali ke perulangan k. Jika kondisi pertama terpenuhi dan kondisi kedua tidak terpenuhi maka proses perulangan kembali menuju perulangan j. Jika kedua kondisi tersebut terpenuhi maka dapat diartikan bahwa nilai baris ke awal lebih kecil dari nilai baris ke j. Hal itu juga mengartikan bahwa baris ke j lebih prioritas dari baris ke awal, maka dilakukan penukaran posisi awal dengan j. Setelah proses perulangan j selesai dan saat menuju kembali ke perulangan i, dilakukan pertukaran nilai antara data baris ke i dengan data baris ke awal. 3. Pembahasan Beberapa tahapan yang sudah dilakukan didapatkan bahwa untuk melakukan penelitian ini dibutuhkan data untuk melakukan pengujian. 3.1 Kebutuhan Data Data yang digunakan pada pernelitian ini adalah data fiktif dan data daftar seluruh kriteria calon penerima beasiswa PPA 2017 fakultas MIPA Universitas Lampung. Data fiktif digunakan untuk menunjukkan bahwa algoritma sorting yang dibuat telah sesuai dan tidak terjadi kesalahan dalam pengurutan multi prioritas. Data fiktif juga digunakan untuk membandingkan jumlah waktu eksekusi dan jumlah perulangan algoritma Bubble Sort dan Selection Sort, sehingga didapatkan algoritma terbaik diantara kedua algoritma tersebut. Pengurutan data dilakuan secara descending berdasarkan prioritas. Data daftar seluruh kriteria calon penerima beasiswa PPA digunakan untuk memperlihatkan implimentasi algoritma sorting multi prioritas dalam kasus real. Terdapat 5 jenis data yang akan diuji, 4 jenis data fiktif dan 1 data daftar seluruh kriteria calon penerima beasiswa PPA 2017 fakultas MIPA Universitas Lampung. Pengujian dilakukan sebanyak 3 kali pada setiap data dengan menggunakan algoritma Bubble Sort dan Selection Sort. Rincian jumlah record pengujian data ditunjukkan pada Tabel 1. Tabel 1 Rincian Jumlah Record Pengujian Data Nama Data Jumlah Jumlah Kolom Data 1 50 5 Data 2 100 5 Data 3 50 8 Data 4 100 8 Real 136 6 Hal 85 dari 87

3. 2. Hasil Perbandingan Algoritma Bubble Sort dan Selection Sort Pada Data Multi Prioritas Setelah melakukan perbandingan algoritma Bubble Sort dan Selection Sort, didapatkan hasil pengujian yang ditunjukkan pada Tabel 2 dan Tabel 3: Tabel 2 Hasil Pengujian Data Menggunakan Algoritma Bubble Sort Data Iterasi Bubble Sort Bubble Sort Bubble Sort Rata- Rata Data 1 3603 1 0.006323297 2 0.006671106 3 0.006598123 0.006531 Data 2 9420 0.011505663 0.011945272 0.011592333 0.011681 Data 3 3922 0.006061584 0.006508035 0.006049601 0.006206 Data 4 12137 0.012203563 0.012297643 0.012295933 0.012266 Real 18504 0.038297853 0.037805218 0.040544932 0.038882 Tabel 3 Hasil Pengujian Data Dengan Algoritma Selection Sort Data Iterasi Selection 1 Selection 2 Selection 3 Rata-Rata Data 1 2019 0.004476483 0.004545475 0.004596791 0.004544 Data 2 7504 0.008675209 0.008710007 0.008988318 0.008791 Data 3 2537 0.004520958 0.004468501 0.004651528 0.004547 Data 4 10269 0.009678807 0.009579595 0.009807097 0.009688 Real 15204 0.029765679 0.031172883 0.031292621 0.030743 Diagram Perbandingan Jumlah Iterasi Algoritma Bubble Sort dan Selection Sort ditunjukkan pada Figure 1. 20000 15000 10000 5000 Bubble Sort Selection Sort 0 1.1 1.2 1.3 1.4 Real Figure 1 Diagram Perbandingan Jumlah Iterasi Algoritma Bubble Sort dan Selection Sort Hal 86 dari 87

Diagram Perbandingan Waktu Eksekusi Algoritma Bubble Sort dan Selection Sort ditunjukkan pada Figure 2. 0,05 0,04 0,03 0,02 0,01 Bubble Sort Selection Sort 0 1.1 1.2 1.3 1.4 Real Figure 2 Diagram Perbandingan Waktu Eksekusi Algoritma Bubble Sort dan Selection Sort Berdasarkan Figure 1 dan 2 jumlah iterasi Selection Sort pada setiap pengujian data lebih sedikit jika dibandingkan dengan Bubble Sort. Waktu Eksekusi Selection Sort pada setiap pengujian data juga lebih cepat jika dibandingkan dengan waktu eksekusi Bubble Sort. 4. Simpulan Berdasarkan hasil penelitian yang telah dilakukan dapat diambil kesimpulan sebagai berikut: 1. Algoritma Bubble Sort dan Selection Sort dapat diimplementasikan menggunakan ArrayList multidimensi. 2. Dengan menggunakan algoritma Bubble Sort dan Selection Sort yang diimplementasikan menggunakan ArrayList multidimensi, dapat mengurutkan data multi kriteria yang memiliki lebih dari satu kriteria prioritas. 3. Implementasi algoritma Bubble Sort dan Selection Sort menggunakan ArrayList multidimensi dapat digunakan untuk mengurutkan data daftar mahasiswa yang layak menerima beasiswa PPA. 4. Jumlah iterasi Selection Sort pada setiap pengujian data lebih sedikit jika dibandingkan dengan Bubble Sort, dan waktu eksekusi Selection Sort pada setiap pengujian data juga lebih cepat jika dibandingkan dengan waktu eksekusi Bubble Sort. 5. Referensi [1] Agustia, Panny. 2016. Analisis Perbandingan Kompleksitas Algoritma Pengurutan Nilai (Sorting). Jurnal Evolusi Vol. IV No 2. [2] Kadir,Abdul. 2011. Konsep dan Implementasi Struktur Data dalam Pemrograman Delphi. ed. 1 Yogyakarta: Andi. [3] Kristanto,Andri.2009. Struktur Data dengan C++. Yogyakarta: Graha Ilmu. [4] Utami, E., Raharjo, S., & Sukrisno. 2007. Struktur Data Konsep & Implementasinya dalam Bahasa C & Free Pascal di GNU/LINUX. Yogyakarta: Graha Ilmu. [5] Yahya, Sofyansyah, Y. 2014. Analisa Perbandingan Algoritma Bubble Sort dan Selection Sort Dengan Perbandingan Eksponensial, Jurnal Pelita Informatika Budi Darma. Vol. VI No 3 Hal 87 dari 87