Contoh Kasus: Daftar Belanjaan
Bayangkan kita memiliki daftar belanjaan yang berisi nama-nama barang. Kita ingin:
1.Mencari apakah suatu barang ada dalam daftar (searching).
2.Mengurutkan daftar belanjaan secara alfabetis (sorting).
Struktur Data:
Kita akan menggunakan list (daftar) sebagai struktur data untuk menyimpan daftar belanjaan.
Implementasi Searching dan Sorting
1. Linear Search (Pencarian Linear)
Pencarian linear adalah metode sederhana untuk mencari elemen dalam daftar dengan memeriksa setiap elemen satu per satu sampai elemen yang dicari ditemukan atau seluruh daftar telah diperiksa.
2. Binary Search (Pencarian Biner)
Pencarian biner adalah metode yang lebih efisien tetapi hanya dapat digunakan pada daftar yang sudah diurutkan. Pencarian ini membagi daftar menjadi dua bagian dan memeriksa elemen tengahnya.
3. Bubble Sort (Pengurutan Gelembung)
Bubble sort adalah algoritma pengurutan sederhana yang berulang kali menukar elemen yang berdekatan jika mereka berada dalam urutan yang salah.
outputnya
Penjelasan Sintaks
1.Linear Search:
def linear_search(shopping_list, item)
: Mendefinisikan fungsi linear search.for index, element in enumerate(shopping_list)
: Melakukan iterasi melalui daftar belanjaan.if element == item
: Memeriksa apakah elemen saat ini adalah elemen yang dicari.return index
: Mengembalikan indeks elemen yang ditemukan.return -1
: Mengembalikan -1 jika elemen tidak ditemukan.
2.Bubble Sort:
def bubble_sort(shopping_list)
: Mendefinisikan fungsi bubble sort.for i in range(n)
: Iterasi melalui seluruh daftar.for j in range(0, n-i-1)
: Iterasi melalui daftar yang tidak diurutkan.if shopping_list[j] > shopping_list[j+1]
: Memeriksa apakah elemen saat ini lebih besar dari elemen berikutnya.shopping_list[j], shopping_list[j+1] = shopping_list[j+1], shopping_list[j]
: Menukar elemen jika tidak dalam urutan yang benar.
3.Binary Search:
def binary_search(shopping_list, item)
: Mendefinisikan fungsi binary search.left, right = 0, len(shopping_list) - 1
: Menginisialisasi batas kiri dan kanan dari daftar.while left <= right
: Looping sampai batas kiri melewati batas kanan.mid = (left + right) // 2
: Menghitung indeks tengah.if shopping_list[mid] == item
: Memeriksa apakah elemen tengah adalah elemen yang dicari.elif shopping_list[mid] < item
: Memperbarui batas kiri jika elemen tengah lebih kecil dari elemen yang dicari.else
: Memperbarui batas kanan jika elemen tengah lebih besar dari elemen yang dicari.return -1
: Mengembalikan -1 jika elemen tidak ditemukan.
Tidak ada komentar:
Posting Komentar