Anda di halaman 1dari 6

Laboratorium Dasar

Fakultas Ilmu Komputer

Latihan Lab-04

Petunjuk Pengerjaan
1. Kerjakan setiap kasus yang ada.
2. Kerjakan dengan sungguh-sungguh. Usahakan untuk mengerjakan sendiri dahulu! Boleh
diskusi dengan teman untuk menyelesaikan masalah setelah mencoba sendiri. Tetap
kumpulkan tepat waktu meskipun masih terdapat error didalamnya!
Kasus 1 - Ketik Ulang
Diberikan kodingan sebagai berikut:
MyLib.py

def bubbleSortDesc(arr):
n = len(arr)

# Kunjungi semua isi array


for i in range(n):
# Loop array dari 0 sampai n-i-1
for j in range(0, n-i-1):
# Swap jika element lebih besar
# dari elemen berikutnya
if arr[j] < arr[j+1] :
arr[j], arr[j+1] = arr[j+1], arr[j]
# print(arr) #Uncomment jika ingin mengetahui arrat
terupdate tiap looping
return arr

def selectionSortDesc(arr):
for i in range(len(arr)):

# Cari elemen terbesar dari


# array yang belum tersorting
max_idx = i
for j in range(i+1, len(arr)):
if arr[max_idx] < arr[j]:
max_idx = j

# Swap maximum element dengan


# element pertama
arr[i], arr[max_idx] = arr[max_idx], arr[i]
# print(arr) #Uncomment jika ingin mengetahui arrat
terupdate tiap looping
return(arr)

def bubbleSortArr2(arr_dimensi):
n = len(arr_dimensi)

# Kunjungi semua isi


array for i in range(n):
# Loop array dari 0 sampai n-i-1
for j in range(0, n-i-1):
# Swap jika element lebih besar
# dari elemen berikutnya
if arr_dimensi[j][1] > arr_dimensi[j+1][1] :
arr_dimensi[j], arr_dimensi[j+1] =
arr_dimensi[j+1], arr_dimensi[j]

print(arr_dimensi)

Main.py

import MyLib

# entry point dengan prosedur main


def main():
arr = [12,1,23,42,2,3,44]
print("Bubble")
print(MyLib.bubbleSortDesc(arr))
arr = [12,1,23,42,2,3,44]
print("Selection")
print(MyLib.selectionSortDesc(arr))
corona19maret = [("Jakarta",210), ("Jateng",12), ("Jatim", 9),
("Banten",27), ("Bali",1)] #array dimensi
MyLib.bubbleSortArr2(corona19maret)

# panggil entry point


if name == ' main ':
main()

Pertanyaan:
1. Apa output program fungsi tersebut?
2. Apa tujuan dari algoritma bubbleSortDesc, selectionSortDesc, dan
bubbleSortArr2?
3. Mengapa bubbleSortDesc dipanggil didalam print sedangkan
bubbleSortArr2 tidak?

Tulis jawaban di komentar kodingan main.py


Kasus 2 - Isi Fungsi dan Buat Array Dimensi dengan Tepat
Mari gotong-royong membantu Pemerintah untuk menanggulangi penyebaran virus Corona.
Sebagai mahasiswa yang baik, kerja tugas dengan tenang dan tetap di rumah/ kos masing-
masing. Sebagai mahasiswa Teknik Informaika, mari kita gunakan kekuatan super kita dalam
mengkoding. Bantu Pemerintah untuk mengurutkan data penyebaran pasien positif Corona
berdasarkan nama daerah dari A-Z. Gunakan algoritma Selection sort untuk mengurutkan
array dimensi.
Lanjutan MyLib.py

def selectionSort2(arr_dimensi):
#koding Anda
print(arr_dimensi)

Lanjutan Main.py

import MyLib

# entry point dengan prosedur main


def main():
#koding Kasus 1

# Data sebaran pasien positif Corona tanggal 19 Maret 2020


# 1. DKI Jakarta: 210
# 2. Banten: 27
# 3. Jawa Barat: 26
# 4. Jawa Tengah: 12
# 5. Jawa Timur: 9
# 6. DI Yogyakarta: 5
# 7. Kepulauan Riau: 3
# 8. Kalimantan Timur: 3
# 9. Sulawesi Tenggara: 3
# 10. Sulawesi Selatan: 2
# 11. Kalimantan Barat: 2
# 12. Sumatera Utara: 2
# 13. Riau: 2
# 14. Lampung: 1
# 15. Sulawesi Utara: 1
# 16. Bali: 1

#Buat array dimensi berdasarkan data di atas


corona19maretAll = […]
MyLib.selectionSort2(corona19maretAll)

# panggil entry point


if name == ' main ':
main()

Output:
… #Output Kasus 2
[('Bali', 1), ('Banten', 27), ('DI Yogyakarta', 5), ('DKI Jakarta', 210), ('Jawa Barat', 26), ('Jawa
Tengah', 12), ('Jawa Timur', 9), ('Kalimantan Barat', 2), ('Kalimantan Timur', 3), ('Kepulauan
Riau', 3), ('Lampung', 1), ('Riau', 2), ('Sulawesi Selatan', 2), ('Sulawesi Tenggara', 3),
('Sulawesi Utara', 1), ('Sumatera Utara', 2)]

Anda mungkin juga menyukai