Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

Algoritma & Pemecahan Masalah

Pelajaran 14 dari 16

Biaya langkah

Membandingkan dua cara untuk data besar

Setelah pelajaran ini kamu bisa memilih antara dua cara yang hasilnya sama dengan membandingkan biayanya pada data besar, bukan pada data contoh.

±13 menitDiperiksa 23 Sep 2026

Materi

Dua cara yang hasilnya sama persis bisa berbeda biaya sampai ribuan kali lipat. Memeriksa apakah sebuah kode ada di dalam list menelusuri isinya satu per satu, sehingga biayanya naik seiring panjang list. Memeriksa hal yang sama pada set atau pada kunci dict memakai nilai hash tiap anggota, sehingga jumlah langkahnya tidak ikut naik ketika anggotanya bertambah.

terlarang = ["A1", "B2", "C3"]
himpunan = set(terlarang)

"B2" in terlarang   # menelusuri isi list satu per satu
"B2" in himpunan    # mencari lewat nilai hash anggotanya

Perbedaan itu hanya terlihat pada data besar. Modul timeit dibuat untuk pengukuran semacam ini: ia menjalankan potongan kode berulang kali dan melaporkan waktunya, serta menghindari sejumlah jebakan pengukuran waktu yang umum terjadi. Ide yang sama muncul di basis data: dokumentasi perencana kueri SQLite membandingkan kueri yang membaca seluruh tabel dengan kueri yang memakai indeks, dan yang kedua dijawab dengan beberapa pencarian biner saja.

Contoh lain yang berbiaya berbeda pada data besar: menyatukan ribuan potongan teks dengan menambahkannya satu per satu ke teks yang sudah ada membuat teks lama disalin berkali-kali, sedangkan mengumpulkannya di list lalu menyatukannya sekali dengan join hanya menyalin satu kali.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Dua cara memberi hasil yang sama pada 10 baris data, dengan waktu yang terlihat sama. Langkah apa yang memperlihatkan perbedaannya?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke

Tampilkan 1 lagi