Lompat ke konten

B.1 · Berpikir komputasional

International Baccalaureate · IB Diploma · Computer Science · HL · Topik 5

5.1

Cakupan dan prasyarat

Fokus HL yang didukung. Target penilaian pertama 2027; PDF resmi mengembalikan 403; brief perolehan lama adalah penilaian akhir 2026. Panduan, persyaratan penilaian, dan praktis lainnya tetap mempertahankan catatan yang tercatat.

Prasyarat: baca kuantitas dan satuan yang disebutkan, gunakan aritmatika, dan kondisi model di bawah ini. Setiap pelajaran mengembangkan metodenya sendiri sebelum transfer mandiri.

Ini adalah contoh pengajaran asli atau fiksi eksplisit, bukan pengukuran aktual atau penyelidikan pembelajaran yang selesai dan dinilai.

5.2

Algoritma, jejak, dan bukti kebenaran

Apa yang akan menjelaskan observasi ini?

  • Sebuah algoritma dapat bekerja untuk satu contoh namun gagal pada batas. Pengujian harus dirancang berdasarkan spesifikasi, bukan hanya jalur yang berhasil (happy path).
  • Mulailah dengan prediksi. Nyatakan besaran atau fitur apa yang akan Anda bandingkan, lalu tentukan bukti apa yang dapat membedakan dua penjelasan.

Bangun modelnya

  • Sebuah algoritma adalah prosedur terbatas dan tak ambigu untuk suatu tugas. Jejak mencatat perubahan keadaan. Invarian perulangan menggambarkan sifat yang dipertahankan oleh setiap iterasi dan membantu membenarkan kebenaran.
  • algoritma: Prosedur terbatas yang menyelesaikan tugas yang dinyatakan; uji batas: Tes pada batas rentang input yang diperbolehkan.
Algoritma, jejak, dan bukti kebenaran: diagram studi kasus asli

Pilih bukti yang dapat mengujinya

  • Nyatakan kondisi input dan output yang diharapkan. Gunakan kasus batas, koleksi kosong jika diperbolehkan, duplikat, dan nilai tidak valid. Bedakan algoritma yang salah dari implementasi yang salah atau persyaratan yang tidak lengkap.
  • Jejakkan pencarian pada daftar fiksi terurut kecil. Nyatakan konvensi indeksasi. Untuk pencarian biner, perbarui batas sehingga interval sisa mengecil dan tolak input yang tidak terurut kecuali penyortiran merupakan bagian dari tugas.

Bekerja dari kuantitas yang diketahui

  • Nyatakan nilai yang diketahui dan unitnya. Pilih hubungan kerana asumsinya sesuai dengan kes ini, kemudian susun semula sebelum menggantikan.
  • Diketahui: pencarian linear pada daftar delapan item dapat memerlukan delapan perbandingan ketika item yang dicari berada di posisi terakhir atau tidak ada. Menggandakan panjang daftar menggandakan jumlah perbandingan kasus terburuk di bawah model ini. Pencarian biner mengurangi interval sekitar setengah setiap langkah tetapi membutuhkan struktur terurut yang sesuai.

Contoh:

Pencarian linear memindai semua 14 item tanpa kecocokan. Berapa banyak perbandingan item yang terjadi? Gunakan urutan yang sama: besaran diketahui → model → hubungan → substitusi → unit dan interpretasi.


Periksa kesimpulan dan batasannya

  • Tes sampel yang sukses tidak membuktikan kebenaran untuk semua input valid. Jangan mengimpor sintaks pseudocode spesifik Cambridge ke dalam kursus IB tanpa sumber kursus.
  • Kembali ke pengamatan awal. Jelaskan apa hasil tersebut mendukung, kondisi apa yang diasumsikannya, dan satu cara untuk menguji penjelasan saingan.

Peringatan:

Satu tes sampel yang sukses membuktikan algoritma benar untuk setiap input valid. Klaim ini salah: Tes sampel yang sukses tidak membuktikan kebenaran untuk semua input valid. Jangan mengimpor sintaks pseudocode spesifik Cambridge ke dalam kursus IB tanpa sumber kursus.

Kunci:

Algoritma, jejak, dan bukti kebenaran: Nyatakan kondisi input dan output yang diharapkan. Gunakan kasus batas, koleksi kosong jika diperbolehkan, duplikat, dan nilai tidak valid. Bedakan algoritma yang salah dari implementasi yang salah atau persyaratan yang tidak lengkap.

Jejak dan batas dapat dijalankan

def first_index(values, target):
    for index, value in enumerate(values):
        if value == target:
            return index
    return -1
print(first_index([4, 7, 4], 4))
print(first_index([4, 7, 4], 9))
print(first_index([], 4))

Output yang diharapkan:

0
-1
-1

Loop menguji indeks 0 terlebih dahulu, berhenti saat cocok, dan mengembalikan −1 hanya setelah menghabiskan seluruh daftar. Oleh karena itu, duplikat mengembalikan indeks pertama. Daftar kosong tidak menjalankan badan loop.

Kosa kata Latih
English Bahasa Indonesia
algorithm/ˈælɡərɪθəm/ algoritma
boundary test/ˈbaʊndəri test/ uji batas

Topik lain dalam International Baccalaureate · IB Diploma · Computer Science · HL

Masuk atau buat akun

IGCSE, A-Level & AP