NIM : 201021700219
Kelas : 02SIFM0001
UAS STRUKTUR DATA
Lembar Jawaban
1. Macam – macam sorting
Bubble Sort
Merupakan algoritma pengurutan paling tua dengan metode pengurutan paling
sederhana. Pengurutan yang dilakukan dengan membandingkan masing-
masing item dalam suatu list secara berpasangan, menukar item jika diperlukan,
dan mengulaginya sampai akhir list secara berurutan, sehingga tidak ada
lagi item yang dapat ditukar.
Selection Sort
Ide utama dari algoritma selection sort adalah memilih elemen dengan nilai paling
rendah dan menukar elemen yang terpilih dengan elemen ke-i. Nilai dari i dimulai
dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1.
Shell Sort
Teknik ini melakukan sorting menggunakan jarak-jarak tertentu (bebas ditentukan
dengan jarak berapa) hingga akhirnya berjarak 1.
Quick Sort
Teknik pengurutan ini melakukan pembagian sekumpulan elemen data menjadi
dua bagian secara rekursif (berulang-ulang). Teknik pembagian itu bisa bermacam-
macam, yang jelas (intinya) akan ditentukan satu elemen data (disebut
dengan pivot) sebagai pembatasnya, yang di sebelah kiri pivot akan berisi elemen-
elemen data yang lebih kecil dari pivotnya. Sedangkan yang di sebelah
kanan pivot akan berisi elemen-elemen data yang lebih besar atau sama
dengan pivotnya. Pengambilan bilangan pivot dapat dilakukan dengan berbagai
cara, misalnya dengan elemen pertama, elemen terakhir, elemen yang berada di
posisi tengah, dan sebagainya.
Insertion Sort
Insertion sort adalah sebuah metode pengurutan data dengan menempatkan
setiap elemen data pada pisisinya dengan cara melakukan perbandingan dengan
data – data yang ada. Ide algoritma dari metode insertion sort ini dapat
dianalogikan sama seperti mengurutkan kartu, dimana jika suatu kartu dipindah
tempatkan menurut posisinya, maka kartu yang lain akan bergeser mundur atau
maju sesuai kondisi pemindahanan kartu tersebut. Dalam pengurutan data,
metode ini dipakai bertujuan untuk menjadikan bagian sisi kiri array terurutkan
sampai dengan seluruh array diurutkan.
2. 27 15 20 8 13 7 Data
Bubble Sort
Ilustrasi 1
27 15 20 8 13 7 (27 bandingkan dengan 15)
15 27 20 8 13 7 (tukar posisi, bandingkan 15 dengan 20)
15 27 20 8 13 7 (tetap, bandingkan 15 dengan 8)
8 27 20 15 13 7 (tukar posisi, bandingkan 8 dengan 13)
8 27 20 15 13 7 (tetap, bandingkan 8 dengan 7)
8 27 20 15 13 7 (tukar posisi)
Ilustrasi 2
7 27 20 15 13 8 (27 bandingkan dengan 20)
7 20 27 15 13 8 (tukar posisi, 20 bandingkan dengan 15)
7 15 27 20 13 8 (tukar posisi, 15 bandingkan dengan 13)
7 13 27 20 15 8 (tukar posisi, 13 bandingkan dengan 8)
7 8 27 20 15 13 (tukar posisi)
Ilustrasi 3
7 8 27 20 15 13 (27 bandingkan dengan 20)
7 8 20 27 15 13 (tukar posisi, 20 bandingkan dengan 15)
7 8 15 27 20 13 (tukar posisi, 15 bandingkan dengan 13)
7 8 13 27 20 15 (tukar posisi)
Ilustrasi 4
7 8 13 27 20 15 (27 bandingkan dengan 20)
7 8 13 20 27 15 (tukar posisi, 20 bandingkan dengan 15)
7 8 13 15 27 20 (tukar posisi)
Ilustrasi 5
7 8 13 15 27 20 (27 bandingkan dengan 20)
7 8 13 15 20 27 (tukar posisi)
Selection Sort
Ilustrasi 1
27 15 20 8 13 7 (Apakah 27 paling kecil?)
27 15 20 8 13 7 (Tidak. 27 tukar dengan 7)
Ilustrasi 2
7 15 20 8 13 27 (Apakah 15 paling kecil?)
7 15 20 8 13 27 (Tidak. 15 tukar dengan 8)
Ilustrasi 3
7 8 20 15 13 27 (Apakah 20 paling kecil?)
7 8 13 15 20 27 (Tidak. 20 tukar dengan 13)
Ilustrasi 2 :
7 15 20 8 13 27 (jarak yang ditentukan 2, bandingkan 15 dengan 8)
7 8 20 15 13 27 (tukar posisi)
Ilustrasi 3
7 8 20 15 13 27 (jarak yang ditentukan 1, bandingkan 20 dengan 15)
7 8 15 20 13 27 (tukar posisi)
7 8 15 20 13 27 (jarak yang ditentukan 1, bandingkan 20 dengan 13)
7 8 15 13 20 27 (tukar posisi)
7 8 15 13 20 27 (jarak yang ditentukan 1, bandingkan 20 dengan 27)
7 8 15 13 20 27 (tetap)
7 8 15 13 20 27 (jarak yang ditentukan 1, bandingkan 15 dengan 13)
7 8 15 13 20 27 (tukar posisi)
Quick Sort
Ilustrasi
27 15 20 8 13 7 (Pivot = 20) (Partisi 1 = 27 15) (Partisi 2 = 8 13 7)
kemudian gunakan algoritma quicksort yang ada diatas. jika angka lebih
kecil dari pivot maka akan diletakan sebelah kiri dan jika lebih besar maka
letakan disebelah kanan. langkah pertama adalah bandingkan angka 27
dengan pivot apakah lebih kecil atau lebih besar.
setelah itu masuk ke dalam partisi baru. sampai sini proses belum selesai.
8 13 7 15 20 27 (Partisi 1 = 15 8 13) (Partisi 2 = 7 20 27)
tentukan pivot untuk masing-masing partisi
Pivot partisi 1 = 8
Pivot partisi 2 = 27
perbandingan untuk pivot pertama. Angka 13. cek apakah angka 13 lebih
kecil atau lebih besar dari pivot.
karena angka 13 lebih besar dari pivot maka letaknya tetap.
8 13 27
lanjut ke angka 7. cek apakah angka lebih besar atau lebih kecil dari pivot.
karena angka 15 lebih besar dari pivot maka pindahkan ke kiri pivot.
7 8 13 27
lanjut ke angka 15. cek apakah angka lebih besar atau lebih kecil dari
pivot.
karena angka 15 lebih besar dari pivot maka letaknya tetap.
7 8 13 15 27
lanjut ke angka 20. cek apakah angka lebih besar atau lebih kecil dari
pivot.
karena angka 20 lebih besar dari pivot maka letaknya tetap.
7 8 13 15 20 27
lanjut ke angka 27. cek apakah angka lebih besar atau lebih kecil dari
pivot.
karena angka 27 lebih besar dari pivot maka letaknya tetap.
7 8 13 15 20 27
Proses selesai.
Data setelah di sorting :
Data : 7 8 13 15 20 27
Insertion Sort
Ilustrasi 1
27 15 20 8 13 7 (27 bandingkan dengan 15)
15 27 20 8 13 7 (15 tukar dengan 27, bandingkan 27 dengan 20)
15 20 27 8 13 7 (20 tukar dengan 27, bandingkan 27 dengan 8)
15 20 8 27 13 7 (8 tukar dengan 27, bandingkan 27 dengan 13)
15 20 8 13 27 7 (13 tukar dengan 27, bandingkan 27 dengan 7)
Ilustrasi 2
15 20 8 13 7 27 (15 bandingkan dengan 20)
15 20 8 13 7 27 (Tidak ada pertukaran, 20 bandingkan dengan 8)
15 8 20 13 7 27 (8 tukar dengan 20, 20 bandingkan dengan 13)
15 8 13 20 7 27 (13 tukar dengan 20, 20 bandingkan dengan 7)
15 8 13 7 20 27 (7 tukar dengan 20, 20 bandingkan dengan 7)
Ilustrasi 3
15 8 13 7 20 27 (15 bandingkan dengan 8)
8 15 13 7 20 27 (8 tukar dengan 15, 15 bandingkan dengan 13)
8 13 15 7 20 27 (13 tukar dengan 15, 15 bandingkan dengan 7)
8 13 7 15 20 27 (7 tukar dengan 15)
Ilustrasi 4
8 13 7 15 20 27 (8 bandingkan dengan 13)
8 13 7 15 20 27 (Tidak ada pertukaran, 13 bandingkan dengan 7)
8 7 13 15 20 27 (7 tukar dengan 13)
Ilustrasi 5
8 7 13 15 20 27 (8 bandingkan dengan 7)
NIM : 201021700029
SHIFT : REGULER B
NO NOMOR TAGIHAN NO URUT PEMBAYARAN JML BAYAR STATUS BAYAR TGL BAYAR CHANNEL TEMPAT BAYAR
2021-01-24
1 2020400341002201 1 Registrasi 400000 LUNAS IBANKING Bank MANDIRI
20:37:47.726000
2021-01-24
2 2020400341002301 2 SKS2 200000 LUNAS IBANKING Bank MANDIRI
20:39:15.761000
2021-04-01
3 2020400341002401 3 SKS3 200000 LUNAS IBANKING Bank MANDIRI
10:49:11.894000
2021-04-01
4 2020400341000501 4 UTS 250000 LUNAS IBANKING Bank MANDIRI
10:50:19.666000
2021-04-26
5 2020400341002501 5 SKS4 200000 LUNAS IBANKING Bank MANDIRI
19:14:08.501000
2021-04-26
6 2020400341002601 6 SKS5 200000 LUNAS IBANKING Bank MANDIRI
19:15:40.275000
2021-04-26
7 2020400341002701 7 SKS6 200000 LUNAS IBANKING Bank MANDIRI
19:16:48.751000
2021-05-27
8 2020400341000401 8 PRAKTEK 100000 LUNAS IBANKING Bank MANDIRI
21:04:25.490000
2021-05-27
9 2020400341000601 9 UAS 250000 LUNAS IBANKING Bank MANDIRI
21:05:22.341000
NO NOMOR TAGIHAN NO URUT PEMBAYARAN JML BAYAR STATUS BAYAR TGL BAYAR CHANNEL TEMPAT BAYAR