Tugas alpro Aril Firmansyah pertemuan 13

Penjelasan Kode Sorting Data Mainan sebagai berikut:


Kode ini berisi implementasi dari lima algoritma sorting (pengurutan) yang berbeda-beda, semuanya digunakan untuk mengurutkan daftar mainan berdasarkan atribut "harga" mainan tersebut.

Data mainan (mainan) disimpan sebagai list dari dictionary. Setiap dictionary mewakili satu mainan dengan kunci "nama" dan "harga".

Contoh: {"nama": "Mobil Mainan", "harga": 50000}

2. Fungsi-fungsi Sorting

Kode ini mendefinisikan lima fungsi sorting utama:

bubble_sort(data): Algoritma sederhana yang berulang kali menukar elemen yang berdekatan jika urutannya salah.

selection_sort(data): Algoritma yang mencari elemen terkecil dari bagian yang belum diurutkan dan menukarnya dengan elemen di posisi awal bagian tersebut.

insertion_sort(data): Algoritma yang membangun array (atau list) akhir satu item pada satu waktu.

merge_sort(data): Algoritma Divide and Conquer yang membagi list menjadi dua, mengurutkan masing-masing secara rekursif, dan kemudian menggabungkannya.

quick_sort(data): Algoritma Divide and Conquer yang memilih elemen sebagai pivot dan mempartisi array di sekitar pivot tersebut.

Catatan: Semua fungsi sorting ini mengurutkan berdasarkan nilai "harga" dalam setiap dictionary di list.

3. Fungsi Utility

print_mainan(data): Fungsi sederhana untuk mencetak data mainan setelah diurutkan dalam format yang rapi (Nama Mainan - Harga).

4. Fungsi Menu dan Eksekusi Utama

menu(): Fungsi ini menampilkan menu kepada pengguna untuk memilih salah satu dari lima metode sorting.

Di dalam menu():

Pengguna diminta memasukkan pilihan (1-5).

Sesuai pilihan, data mainan yang telah dicopy (mainan.copy()) akan diurutkan menggunakan fungsi sorting yang dipilih. Menggunakan .copy() memastikan data mainan asli tidak berubah.

Hasil yang telah diurutkan (sorted_data) kemudian dicetak menggunakan print_mainan().

Eksekusi kode dimulai dengan if __name__ == '__main__': menu().

Secara Keseluruhan: Kode ini adalah demonstrasi praktis untuk membandingkan implementasi dan hasil dari berbagai algoritma pengurutan pada kumpulan data dictionary yang spesifik.

Komentar

Postingan populer dari blog ini

Tugas Menyelesaikan Game Flash Logika

Membuat Kalkulator Sederhana dengan Python

"DO DARI KAMPUS - ASELOLE BANYAK CEWEK - CIPTAKAN PRODUK - DIBENCI BANYAK ORANG - SUKSES❗"