I. Identitas Praktikan
NIM : 2210131210025
NAMA : Hendri Yunus Wijaya
III. Aktivitas
Menuliskan semua code yang ada ada di PPT “P7 – Struktur Data”
Catatan : Nilai yang ada di dalam list atau dictionary bebas, dengan syarat kode pada fungsi
sorting harus sama dengan yang ada di PPT
1. Bubble Sort
a. Source Code Bubble Sort
1) Code yang telah dituliskan di laptop anda
2) Penjelasan
3) Tracing table
2. Selection Sort
a. Source Code Selection Sort
1) Code yang telah dituliskan di laptop anda
2) Penjelasan
3) Tracing table
b. Source Code Selection Sort List of Dictionary
1) Code yang telah dituliskan di laptop anda
2) Penjelasan
c. Source Code Selection Sort Dictionary of Dictionaries
1) Code yang telah dituliskan di laptop anda
2) Penjelasan
angka = [5,3,9,2]
bubble(angka)
2
- Tracing Table
Iterasi angka i J angka[j] angka[j+1] if list[j] > list[j+1] angka
1 [5, 3, 9, 2] 3 0 5 3 True [3, 5, 9, 2]
2 [3, 5, 9, 2] 3 1 5 9 False [3, 5, 9, 2]
3 [3, 5, 9, 2] 3 2 9 2 True [3, 5, 2, 9]
4 [3, 5, 2, 9] 2 0 3 5 False [3, 5, 2, 9]
5 [3, 5, 2, 9] 2 1 5 2 True [3, 2, 5, 9]
6 [3, 2, 5, 9] 1 0 3 2 True [2, 3, 5, 9]
angka =[2,4,3,1,6,5]
print(angka)
bubblesort(angka)
print(angka)
- Penjelasan
3
waktu. Tujuan dari perulangan ini adalah untuk memproses setiap elemen di
list.
if list[j] > list[j+1]: - Memeriksa apakah elemen ke-j lebih besar dari elemen
ke-j+1 dalam list. Jika ya, maka elemen ke-j dan elemen ke-j+1 akan ditukar
agar elemen yang lebih besar berada di belakang.
4
13 [1,2,3,4,5,6] 2 0 1 2 False [1,2,3,4,5,6]
14 [1,2,3,4,5,6] 2 1 2 3 False [1,2,3,4,5,6]
15 [1,2,3,4,5,6] 1 0 1 2 False [1,2,3,4,5,6]
print(mahasiswa)
bubleshortlod(mahasiswa,"uas")
print("Hasil nilai uas dari nilai terendah sampai ke yang
tertinggi :")
for i in mahasiswa:
print(i)
- Penjelasan
Algoritma bubble sort yang digunakan pada fungsi ini bekerja dengan cara
membandingkan elemen-elemen bersebelahan dalam list dan menukar posisi
jika elemen yang di sebelah kiri lebih besar dari elemen yang di sebelah
kanan. Pengurutan dilakukan secara descending (nilai tertinggi ke nilai
5
terendah) karena pada bagian if list[j][index] > list[j+1][index]: terdapat
tanda '>', sehingga jika ingin diurutkan secara ascending (nilai terendah ke
nilai tertinggi) bisa diganti dengan '<'.
Pada bagian utama kode, sebuah list of dictionary dengan nama mahasiswa
didefinisikan sebagai variabel. Kemudian list tersebut di-print. Setelah itu,
fungsi bubleshortlod() dipanggil dengan parameter mahasiswa dan "uas"
sebagai key dari dictionary yang akan dijadikan patokan untuk mengurutkan
list tersebut. Kemudian, list yang sudah diurutkan akan di-print kembali
menggunakan perulangan for dan ditampilkan dalam bentuk key dan nilai
dari setiap dictionary dalam list.
c. Source Code Bubble Sort Dictionary of Dictionaries
- Source Code
- Penjelasan
6
selanjutnya Melakukan iterasi dari 0 hingga i-1 dengan selisih 1, dimulai dari
indeks pertama hingga indeks ke-i.
kemudian Memeriksa apakah nilai dari kunci key pada dictionary ke-j lebih
besar dari nilai kunci key pada dictionary ke-j+1. Jika ya, maka akan dilakukan
pertukaran nilai antara dictionary ke-j dengan ke-j+1.
#mengurutkan list a
a = [3,4,1,6,2]
selection(a)
print(a)
7
- Penjelasan
pertama saya Membuat sebuah fungsi dengan nama selection yang menerima
sebuah argumen data yang berupa list atau array.
selanjutnya melakukan perulangan a mulai dari indeks terakhir dari list data
(len(data)-1) sampai indeks pertama (0) dengan langkah mundur (-1).
kemudian melakukan perkondisian Jika nilai pada indeks b lebih besar dari
nilai pada indeks indmax, maka variabel indmax akan diupdate dengan nilai b.
selanjutnya Menukar nilai elemen pada indeks indmax dengan elemen pada
indeks a
8
a[indMax] = a[i]
a[i] = temp1
print(mahasiswa2)
selectionshortlod(mahasiswa2,"uas")
print("Hasil nilai uas dari nilai tertinggi sampai ke yang
terendah :")
for i in mahasiswa2:
print(i)
- Penjelasan
if temp > a[b][index]: adalah sebuah kondisi yang akan membandingkan nilai
dari temp dengan nilai dari a[b][index]. Jika temp lebih besar dari a[b][index],
maka indMax akan diatur ke b.
9
a[i] = temp1 adalah sebuah pernyataan yang menyimpan elemen temp1 pada
a[i].
print("Hasil nilai uas dari nilai tertinggi sampai ke yang terendah :") adalah
pernyataan yang akan mencetak teks "Hasil nilai uas dari nilai tertinggi
sampai ke yang terendah :".
for i in mahasiswa2: adalah sebuah loop yang akan mengiterasi setiap elemen
pada mahasiswa2 dan menyimpannya pada variabel i.
selectiondod(mahasiswa4,"uas")
for i in mahasiswa4:
print(mahasiswa4[i])
10
- Penjelasan
Menginisialisasi sebuah loop for yang akan berjalan sebanyak len(a)-1 kali,
dimulai dari len(a)-1 dan berakhir pada 0, dengan penurunan nilai sebesar 1
setiap iterasinya. Nilai i akan merepresentasikan indeks yang akan digunakan
sebagai posisi akhir dari setiap iterasi.
Menginisialisasi sebuah loop for yang akan berjalan sebanyak i kali, dimulai
dari 1 dan berakhir pada i. Nilai b akan merepresentasikan indeks yang akan
digunakan untuk membandingkan nilai pada setiap iterasi.
Membandingkan nilai pada indeks indmax dengan nilai pada indeks b pada a
dengan menggunakan kunci key. Jika nilai pada indeks indmax lebih besar
dari nilai pada indeks b, maka nilai indmax akan diperbarui dengan nilai b.
Menukar nilai pada indeks indmax dengan nilai pada indeks i pada a.
11