Lompat ke konten
Materi

International Baccalaureate · IB Diploma · Computer Science · SL

  • 1

    A.1 · Dasar-dasar komputer

    1.1

    Cakupan dan prasyarat

    Fokus SL 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.

    Kosa kata Latih
    English Bahasa Indonesia
    authentication/ɔːˌθentɪˈkeɪʃn/ autentikasi
    authorization/ˌɔːθəraɪˈzeɪʃn/ otorisasi
    1.2

    Sistem komputasi, jaringan, dan persyaratan

    Apa yang akan menjelaskan observasi ini?

    • Sistem pemesanan sekolah dapat menghitung dengan benar namun tetap gagal jika pengguna kehilangan akses atau rekod terbuka. Keberhasilan mencakup konteks sistem tersebut.
    • Mulailah dengan prediksi. Nyatakan besaran atau fitur apa yang akan Anda bandingkan, lalu tentukan bukti apa yang dapat membedakan dua penjelasan.

    Bangun modelnya

    • Sistem komputer menggabungkan perangkat keras, perangkat lunak, data, dan manusia. Jaringan memungkinkan komunikasi menggunakan protokol. Persyaratan harus membedakan fungsi dari batasan seperti ketersediaan, keamanan, dan aksesibilitas.
    • autentikasi: Memeriksa identitas yang diklaim; otorisasi: Menentukan tindakan yang diizinkan.
    Sistem komputasi, jaringan, dan persyaratan: diagram studi kasus asli

    Pilih bukti yang dapat mengujinya

    • Pisahkan autentikasi dari otorisasi. Autentifikasi memeriksa identitas; otorisasi menentukan tindakan yang diizinkan. Model ancaman menghubungkan aset berharga, serangan yang mungkin terjadi, dan pengendalian yang sesuai.
    • Gunakan dataset sekolah fiktif untuk menentukan pengguna dan izin. Gambarkan aliran data, bandingkan validasi dan verifikasi, serta tentukan tes untuk input normal, batas, dan tidak valid. Jangan gunakan kredensial atau rekod siswa nyata dalam latihan.

    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: sebuah file berisi 12 megabytes, di mana contoh ini mendefinisikan satu megabyte sebagai satu juta byte. Bits = bytes × 8 = 12 × 1,000,000 × 8 = 96,000,000 bits. Pada 8,000,000 bit per detik, waktu ideal = ukuran / laju = 12 s, tanpa memperhitungkan beban tambahan.

    Contoh:

    Sebuah file 40 juta bit ditransfer pada 5 juta bit per detik. Temukan waktu ideal. Gunakan urutan yang sama: kuantitas diketahui → model → hubungan → substitusi → unit dan interpretasi.


    Periksa kesimpulan dan batasannya

    • Bandwidth bukanlah throughput end-to-end yang sebenarnya. Enkripsi tidak secara langsung menjamin otorisasi yang benar atau menghilangkan setiap risiko keamanan.
    • Kembali ke pengamatan awal. Jelaskan apa hasil tersebut mendukung, kondisi apa yang diasumsikannya, dan satu cara untuk menguji penjelasan saingan.

    Peringatan:

    Enkripsi menjamin bahwa setiap pengguna memiliki izin akses yang sesuai. Klaim ini salah: Bandwidth bukanlah throughput end-to-end yang sebenarnya. Enkripsi tidak secara langsung menjamin otorisasi yang benar atau menghilangkan setiap risiko keamanan.

    Kunci:

    Sistem komputasi, jaringan, dan persyaratan: Pisahkan autentikasi dari otorisasi. Autentifikasi memeriksa identitas; otorisasi menentukan tindakan yang diizinkan. Model ancaman menghubungkan aset berharga, serangan yang mungkin terjadi, dan pengendalian yang sesuai.

    Jejak dan batas dapat dijalankan

    size_MB, rate_Mbps = 20, 10
    bits = size_MB * 1_000_000 * 8
    if rate_Mbps <= 0:
        raise ValueError("Rate must be positive")
    seconds = bits / (rate_Mbps * 1_000_000)
    print(seconds)
    print(0 / (rate_Mbps * 1_000_000))
    

    Output yang diharapkan:

    16.0
    0.0
    

    MB desimal berarti satu juta byte; kalikan dengan delapan sebelum membagi dengan bit per detik. Data nol memiliki durasi transmisi ideal nol. Laju nonpositif ditolak; overhead aktual berada di luar model aritmatika ini.

  • 2

    A.2 · Jaringan

    2.1

    Cakupan dan prasyarat

    Fokus SL 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.

    2.2

    Jaringan: latensi, throughput dan pengiriman berlapis

    Apa yang akan menjelaskan observasi ini?

    • Pesan kecil bisa datang terlambat pada tautan berbandwidth tinggi. Kapasitas dan penundaan mengukur sifat yang berbeda.
    • Mulailah dengan prediksi. Nyatakan besaran atau fitur apa yang akan Anda bandingkan, lalu tentukan bukti apa yang dapat membedakan dua penjelasan.

    Bangun modelnya

    • Paket membawa data beralamat melalui jaringan. Model berlapis memisahkan tanggung jawab seperti makna aplikasi, pengiriman transport, dan routing jaringan. Bandwidth menggambarkan kapasitas; throughput adalah laju data yang dicapai; latensi adalah penundaan.
    • throughput: Laju transfer data berguna yang dicapai; latency: Penundaan yang dialami dalam komunikasi.
    Jaringan: latensi, throughput, dan pengiriman berlapis: diagram studi kasus asli

    Pilih bukti yang dapat mengujinya

    • Waktu transmisi bergantung pada ukuran data dan laju. Total penundaan juga dapat meliputi propagasi, pemrosesan, dan antrean. Enkripsi melindungi konten berdasarkan asumsinya tetapi tidak menghilangkan kemacetan atau setiap paparan metadata.
    • Telusuri rute pesan menggunakan model lokal yang didokumentasikan. Catat ukuran payload, satuan, dan waktu terukur. Gunakan jaringan yang disetujui sekolah dan pesan sintetis; jangan scan atau selipkan lalu lintas pengguna lain.

    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: sebuah file 8 megabit melintasi tautan 2 megabit/s. Waktu transmisi ideal = ukuran / laju = 8 / 2 = 4 s. Beban tambahan protokol, pengguna lain, dan latensi dapat membuat penyelesaian yang diamati menjadi lebih lambat.

    Contoh:

    Berkas 12 megabit melintasi tautan 3 megabit/detik. Hitung waktu transmisi ideal. Gunakan urutan yang sama: kuantitas diketahui → model → relasi → substitusi → unit dan interpretasi.


    Periksa kesimpulan dan batasannya

    • Satu megabyte adalah delapan megabit sebelum memperhitungkan beban tambahan. Tautan dengan peringkat lebih cepat tidak menjamin latensi rendah atau titik akhir yang aman.
    • Kembali ke pengamatan awal. Jelaskan apa hasil tersebut mendukung, kondisi apa yang diasumsikannya, dan satu cara untuk menguji penjelasan saingan.

    Peringatan:

    Koneksi berbandwidth tinggi menjamin nol latensi. Klaim ini salah: Satu megabyte adalah delapan megabit sebelum memperhitungkan beban tambahan. Tautan dengan peringkat lebih cepat tidak menjamin latensi rendah atau titik akhir yang aman.

    Kunci:

    Jaringan: latensi, throughput, dan pengiriman berlapis: Waktu transmisi bergantung pada ukuran data dan laju. Total penundaan juga dapat mencakup propagasi, pemrosesan, dan antrean. Enkripsi melindungi konten sesuai asumsinya tetapi tidak menghilangkan kemacetan atau setiap paparan metadata.

    Jejak dan batas dapat dijalankan

    size_Mb, rate_Mbps, propagation_s = 12, 3, 0.10
    for rate in [rate_Mbps, 2 * rate_Mbps]:
        transmission_s = size_Mb / rate
        print(round(transmission_s + propagation_s, 2))
    

    Output yang diharapkan:

    4.1
    2.1
    

    Ukur dari awal transmisi hingga kedatangan bit terakhir. Waktu transmisi serial dan penundaan propagasi dijumlahkan di bawah model ideal ini. Peningkatan pita frekuensi hanya mengubah suku pertama; lompatan simpan-teruskan dan antrean akan menambahkan suku tambahan.

    Kosa kata Latih
    English Bahasa Indonesia
    throughput/ˈθruːpʊt/ throughput
    latency/ˈleɪtənsi/ latensi
  • 3

    A.3 · Basis data

    3.1

    Cakupan dan prasyarat

    Fokus SL 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.

    3.2

    Basis data relasional: kunci dan hubungan

    Apa yang akan menjelaskan observasi ini?

    • Menyalin alamat pengguna dalam setiap pesanan dapat menghasilkan catatan yang bertentangan ketika alamat berubah.
    • Mulailah dengan prediksi. Nyatakan besaran atau fitur apa yang akan Anda bandingkan, lalu tentukan bukti apa yang dapat membedakan dua penjelasan.

    Bangun modelnya

    • Tabel relasional berisi baris dan atribut. Kunci utama mengidentifikasi baris; kunci asing menghubungkan ke kunci rujukan di tabel lain. Normalisasi dapat mengurangi duplikasi yang dapat dihindari dan anomali pembaruan sambil mempertahankan hubungan yang bermakna.
    • primary key: himpunan atribut yang secara unik mengidentifikasi baris tabel; foreign key: himpunan atribut yang merujuk pada kunci di tabel lain.
    Database relasional: kunci dan hubungan: diagram studi kasus asli

    Pilih bukti yang dapat mengujinya

    • Gabungan (join) menggabungkan baris berdasarkan kondisi tertentu. Jumlah hasil bergantung pada kardinalitas hubungan dan filter. Batasan kunci asing menerapkan aturan hubungan; itu tidak secara otomatis mengenkripsi data pribadi.
    • Rancang dataset sintetis pengguna-pesanan kecil tanpa informasi pribadi nyata. Deklarasikan kunci, uji penyisipan duplikat dan rujukan hilang, lalu periksa hasil query terhadap tabel harapan yang dihitung manual.

    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: empat pelanggan masing-masing memiliki 2, 0, 3 dan 1 pesanan. Inner join pelanggan ke pesanan mengembalikan 2+0+3+1 = 6 baris. Left join juga mempertahankan pelanggan tanpa pesanan sebagai satu baris cocok null, memberikan 7 di sini.

    Contoh:

    Tiga pelanggan memiliki 1, 3 dan 2 pesanan. Berapa banyak baris yang dikembalikan oleh gabungan dalam pelanggan-pesanan? Gunakan urutan yang sama: kuantitas diketahui → model → relasi → substitusi → unit dan interpretasi.


    Periksa kesimpulan dan batasannya

    • Kunci utama tidak perlu berupa nama orang. Gabungan bukan penggabungan sederhana tabel. Gunakan query terparameter untuk input yang tidak tepercaya alih-alih membangun SQL dari string mentah.
    • Kembali ke pengamatan awal. Jelaskan apa hasil tersebut mendukung, kondisi apa yang diasumsikannya, dan satu cara untuk menguji penjelasan saingan.

    Peringatan:

    Kunci asing secara otomatis mengenkripsi setiap baris. Klaim ini salah: Kunci utama tidak perlu berupa nama orang. Gabungan bukan penggabungan sederhana tabel. Gunakan query terparameter untuk input yang tidak tepercaya alih-alih membangun SQL dari string mentah.

    Kunci:

    Database relasional: kunci dan hubungan: Gabungan menggabungkan baris berdasarkan kondisi tertentu. Jumlah hasil bergantung pada kardinalitas hubungan dan filter. Batasan kunci asing menerapkan aturan hubungan; itu tidak secara otomatis mengenkripsi data pribadi.

    Jejak dan batas dapat dijalankan

    import sqlite3
    db = sqlite3.connect(":memory:")
    db.executescript("""CREATE TABLE c(id INTEGER PRIMARY KEY);
    CREATE TABLE o(id INTEGER PRIMARY KEY, cid INTEGER);
    INSERT INTO c VALUES(1),(2),(3);
    INSERT INTO o VALUES(10,1),(11,1),(12,3);""")
    for kind in ["INNER", "LEFT"]:
        sql = f"SELECT COUNT(*),COUNT(o.id) FROM c {kind} JOIN o ON c.id=o.cid"
        print(kind, db.execute(sql).fetchone())
    db.close()
    

    Output yang diharapkan:

    INNER (3, 3)
    LEFT (4, 3)
    

    Join kiri mempertahankan pelanggan 2 dengan bidang pesanan null. COUNT(*) mencakup baris tersebut, sementara COUNT(o.id) mengecualikan nilai null. Kunci utama membedakan rekaman; jumlah pelanggan bukan jumlah pesanan. Kata kunci join interpolasi berasal dari daftar internal tetap, bukan input pengguna.

    Kosa kata Latih
    English Bahasa Indonesia
    primary key/ˈpraɪməri kiː/ kunci utama
    foreign key/ˈfɒrən kiː/ kunci asing
  • 4

    A.4 · Pembelajaran mesin

    4.1

    Cakupan dan prasyarat

    Fokus SL 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.

    4.2

    Model data dan pembelajaran mesin bertanggung jawab

    Apa yang akan menjelaskan observasi ini?

    • Model dapat mendapat nilai tinggi dengan mempelajari jalan pintas dalam data pelatihan. Evaluasi harus menguji tugas yang dimaksud pada contoh yang belum terlihat yang sesuai.
    • Mulailah dengan prediksi. Nyatakan besaran atau fitur apa yang akan Anda bandingkan, lalu tentukan bukti apa yang dapat membedakan dua penjelasan.

    Bangun modelnya

    • Database relasional menggunakan tabel, kunci, dan hubungan untuk mengatur data. Pembelajaran mesin memperkirakan pola dari data. Data pelatihan dan evaluasi berperan berbeda.
    • primary key: Himpunan atribut yang secara unik mengidentifikasi rekaman; kebocoran data: Penggunaan informasi yang tidak tersedia pada waktu prediksi yang dimaksud.
    Model data dan pembelajaran mesin bertanggung jawab: diagram studi kasus kerja asli

    Pilih bukti yang dapat mengujinya

    • Kunci utama secara unik mengidentifikasi rekaman; kunci asing menghubungkan rekaman. Dalam prediksi, kebocoran dapat mengekspos informasi yang tidak tersedia pada waktu keputusan nyata. Akurasi saja mungkin menyembunyikan distribusi target yang tidak seimbang.
    • Gunakan catatan pemesanan fiksi untuk mengidentifikasi entitas, atribut, dan hubungan. Untuk latihan pembelajaran, gunakan dataset publik yang tidak sensitif, pisahkan data pelatihan dan pengujian, serta jelaskan siapa yang mungkin terdampak oleh kesalahan. Cakupan tujuan CS 2027 saat ini menantikan panduan yang diperoleh.

    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: sebuah classifier membuat 90 prediksi benar di antara 100 kasus. Akurasi = benar/total×100 = 90%. Jika 90 kasus termasuk dalam satu kelas, selalu memprediksi kelas tersebut memberikan akurasi yang sama dan masih dapat gagal pada setiap kasus minoritas.

    Contoh:

    Sebuah model membuat 72 prediksi benar dari 80. Temukan persentase akurasi. Gunakan urutan yang sama: besaran diketahui → model → hubungan → substitusi → unit dan interpretasi.


    Periksa kesimpulan dan batasannya

    • Akurasi tinggi bukan bukti keadilan atau pemahaman kausal. Kunci primer database bukanlah sekadar bidang mana pun yang terlihat penting.
    • Kembali ke pengamatan awal. Jelaskan apa hasil tersebut mendukung, kondisi apa yang diasumsikannya, dan satu cara untuk menguji penjelasan saingan.

    Peringatan:

    Sebuah classifier dengan akurasi 90% harus menangani setiap kelas dengan sama baiknya. Klaim ini salah: Akurasi tinggi bukan bukti keadilan atau pemahaman kausal. Kunci primer database bukanlah sekadar bidang mana pun yang terlihat penting.

    Kunci:

    Model data dan pembelajaran mesin yang bertanggung jawab: Kunci primer secara unik mengidentifikasi sebuah rekaman; kunci asing menghubungkan rekaman. Dalam prediksi, kebocoran dapat membocorkan informasi yang tidak tersedia pada waktu keputusan nyata. Akurasi saja dapat menyembunyikan distribusi target yang tidak seimbang.

    Jejak dan batas dapat dijalankan

    tp, fn, fp, tn = 4, 1, 10, 85
    total = tp + fn + fp + tn
    accuracy = (tp + tn) / total
    recall = tp / (tp + fn) if tp + fn else None
    print(accuracy, recall)
    positives = 0
    print(0 / positives if positives else "UNDEFINED")
    

    Output yang diharapkan:

    0.89 0.8
    UNDEFINED
    

    Akurasi membagi prediksi benar dengan semua kasus; recall positif membagi true positives dengan total positif aktual. Dengan tidak ada kasus positif, recall tidak terdefinisi alih-alih nol. Dataset ini fiksi, tanpa model terlatih atau data pribadi.

    Kosa kata Latih
    English Bahasa Indonesia
    primary key/ˈpraɪməri kiː/ kunci utama
    data leakage/ˈdeɪtə ˈliːkɪdʒ/ kebocoran data
  • 5

    B.1 · Berpikir komputasional

    5.1

    Cakupan dan prasyarat

    Fokus SL 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
  • 6

    B.2 · Pemrograman

    Program pembelajaran segera hadir

  • 7

    B.3 · Pemrograman berorientasi objek

    7.1

    Cakupan dan prasyarat

    Fokus SL 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.

    7.2

    Objek: keadaan, perilaku, dan antarmuka

    Apa yang akan menjelaskan observasi ini?

    • Dua objek model rekening bank dapat merespons operasi deposit yang sama sementara memiliki saldo yang berbeda.
    • Mulailah dengan prediksi. Nyatakan besaran atau fitur apa yang akan Anda bandingkan, lalu tentukan bukti apa yang dapat membedakan dua penjelasan.

    Bangun modelnya

    • Sebuah kelas mendefinisikan tipe dengan keadaan dan perilaku. Sebuah objek adalah instans. Enkapsulasi mengontrol akses melalui antarmuka agar operasi dapat mempertahankan invarian. Pewarisan memodelkan hubungan tipe yang sesuai; komposisi memodelkan objek yang mengandung atau menggunakan objek lain.
    • enkapsulasi: Mengontrol akses ke status melalui antarmuka; instance: Objek individu dari sebuah kelas.
    Objek: keadaan, tingkah laku dan antaramuka: rajah kes latihan asal

    Pilih bukti yang dapat mengujinya

    • Panggilan kaedah bertindak ke atas satu实例 tertentu. Perubahan keadaan harus memenuhi pra-syarat dan pasca-syarat. Polimorfisme membolehkan kod menggunakan antaramuka bersama dengan implementasi berbeza apabila kontrak dihormati.
    • Terapkan model akaun atau inventori sintetik yang kecil. Uji dua instance bebas, tolak operasi tidak sah dan nilai sempadan. Jauhkan model ini daripada akaun kewangan sebenar dan kelayakan akses.

    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: objek A dimulai pada 40 unit dan menerima 15; objek B dimulai pada 20 dan menerima 5. Saldo akhir adalah 55 dan 25. Jumlah totalnya adalah 80, namun saldo objek individu mana pun bukan 80.

    Contoh:

    Satu instance bermula pada 12 unit, menambah 8 dan menyingkirkan 3. Cari nilainya yang akhir. Gunakan urutan yang sama: kuantiti diketahui → model → hubungan → substitusi → unit dan tafsiran.


    Periksa kesimpulan dan batasannya

    • Satu kelas bukan perkara yang sama dengan satu instance. Pewarisan tidak secara automatik lebih baik daripada komposisi. Menyembunyikan medan saja tidak membuktikan bahawa semua operasi mengekalkan keadaan yang sah.
    • Kembali ke pengamatan awal. Jelaskan apa hasil tersebut mendukung, kondisi apa yang diasumsikannya, dan satu cara untuk menguji penjelasan saingan.

    Peringatan:

    Dua instance bagi satu kelas mesti selalu berkongsi satu baki. Klaim ini adalah salah: Satu kelas bukan perkara yang sama dengan satu instance. Pewarisan tidak secara automatik lebih baik daripada komposisi. Menyembunyikan medan saja tidak membuktikan bahawa semua operasi mengekalkan keadaan yang sah.

    Kunci:

    Objek: keadaan, tingkah laku dan antaramuka: Panggilan kaedah bertindak ke atas satu instance tertentu. Perubahan keadaan harus memenuhi pra-syarat dan pasca-syarat. Polimorfisme membolehkan kod menggunakan antaramuka bersama dengan implementasi berbeza apabila kontrak dihormati.

    Jejak dan batas dapat dijalankan

    class Account:
        def __init__(self, balance):
            self.balance = balance
        def withdraw(self, amount):
            if amount < 0 or amount > self.balance:
                return False
            self.balance -= amount
            return True
    a, b = Account(15), Account(20)
    print(a.withdraw(30), a.balance, b.balance)
    print(a.withdraw(15), a.balance, b.balance)
    

    Output yang diharapkan:

    False 15 20
    True 0 20
    

    Penolakan terjadi sebelum mutasi. Dengan saldo awal nonnegatif, penarikan dana yang divalidasi menjaga balance≥0. Kelas pengajaran kecil ini mengekspos atribut; desain produksi harus mengendalikan semua jalur mutasi, bukan berasumsi bahwa metode saja menerapkan enkapsulasi.

    Kosa kata Latih
    English Bahasa Indonesia
    instance/ˈɪnstəns/ instansi
    encapsulation/ɪnˌkæpsjʊˈleɪʃn/ pengkapsulan
  • 8

    Studi kasus · Studi kasus

    8.1

    Cakupan dan prasyarat

    Fokus SL 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.

    8.2

    Analisis kasus komputasi: mengevaluasi sistem yang diusulkan

    Apa yang akan menjelaskan observasi ini?

    • Sistem pemesanan sekolah yang diusulkan terlihat efisien, namun rekomendasinya bergantung pada pengguna, batasan, dan bukti. Istilah teknis yang masuk akal saja tidak menjadi keputusan yang dibenarkan.
    • Mulailah dengan prediksi. Nyatakan besaran atau fitur apa yang akan Anda bandingkan, lalu tentukan bukti apa yang dapat membedakan dua penjelasan.

    Bangun modelnya

    • Studi kasus menempatkan pilihan komputasi dalam skenario yang dinyatakan. Identifikasi pemangku kepentingan, persyaratan, bukti yang tersedia, dan batasan sebelum merekomendasikan arsitektur atau algoritma. Bedakan fakta skenario dari asumsi dan prediksi. Trade-off dapat melibatkan kinerja, keandalan, aksesibilitas, privasi, pemeliharaan, dan biaya.
    • throughput: Pekerjaan selesai per satuan waktu di bawah beban kerja yang dinyatakan; uji penerimaan: Tes apakah persyaratan pengguna yang ditentukan terpenuhi.
    Analisis kasus komputasi: evaluasi sistem yang diusulkan: diagram studi kasus kerja asli

    Pilih bukti yang dapat mengujinya

    • Rekomendasi harus menghubungkan persyaratan dengan mekanisme dan tes yang dapat diamati. Misalnya, masalah konkurensi memerlukan strategi yang mencegah pembaruan yang bertentangan, plus tes yang menunjukkan invarian. Klaim tentang respons lebih cepat memerlukan pengukuran beban kerja yang sebanding daripada hanya label kompleksitas. Evaluasi alternatif di bawah kondisi yang sama yang dinyatakan.
    • Gunakan skenario asli yang disetujui sekolah dan data sintetis. Buat matriks klaim, bukti skenario pendukung, penjelasan teknis, keterbatasan, dan uji penerimaan. Tandai fakta yang hilang secara eksplisit dan tunjukkan bagaimana rekomendasi akan berubah jika asumsi gagal. Ini mempersiapkan penalaran berbasis kasus tanpa mereproduksi studi kasus penilaian IB yang tidak tersedia atau membuat rubrik ujian secara sembarangan.

    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: prototipe fiksi memproses 120 permintaan sukses selama pengamatan 30 detik. Throughput adalah 120/30=4 permintaan sukses/detik. Prototipe kedua memproses 150 dalam 30 detik, atau 5/detik. yang kedua memiliki 25% throughput tercatat lebih tinggi, tetapi tidak ada kesimpulan tentang latensi, tingkat kegagalan, atau kinerja di bawah beban kerja yang lebih besar yang dapat ditarik tanpa pengukuran tersebut.

    Contoh:

    Sistem fiksi berhasil memproses 210 permintaan dalam 30 s. Hitung throughput. Gunakan urutan yang sama: jumlah diketahui → model → relasi → substitusi → unit dan interpretasi.


    Periksa kesimpulan dan batasannya

    • Throughput bukanlah waktu respons. Rekomendasi kuat menyatakan kondisi di mana hal itu diharapkan berfungsi dan bukti yang dapat membantahnya. Persyaratan studi kasus CS resmi saat ini harus dicek terhadap versi penilaian yang berlaku.
    • Kembali ke pengamatan awal. Jelaskan apa hasil tersebut mendukung, kondisi apa yang diasumsikannya, dan satu cara untuk menguji penjelasan saingan.

    Peringatan:

    Throughput yang lebih tinggi secara otomatis membuktikan waktu respons yang lebih rendah untuk setiap permintaan. Klaim ini salah: Throughput bukanlah waktu respons. Rekomendasi kuat menyatakan kondisi di mana hal itu diharapkan berfungsi dan bukti yang dapat membantahnya. Persyaratan studi kasus CS resmi saat ini harus dicek terhadap versi penilaian yang berlaku.

    Kunci:

    Analisis kasus komputasi: evaluasi sistem yang diusulkan: sebuah rekomendasi harus menghubungkan kebutuhan dengan mekanisme dan tes yang teramati. Sebagai contoh, masalah konvergensi memerlukan strategi yang mencegah pembaruan yang bertentangan, plus tes yang menunjukkan invarian. Klaim tentang waktu respons yang lebih cepat memerlukan pengukuran beban kerja yang可比 daripada hanya label kompleksitas. Evaluasi alternatif di bawah kondisi yang sama yang ditetapkan.

    Jejak dan batas dapat dijalankan

    for successful, attempted, seconds in [(240, 300, 30), (270, 300, 30)]:
        if seconds <= 0 or attempted <= 0:
            raise ValueError("Positive exposure required")
        throughput = successful / seconds
        failure_fraction = (attempted - successful) / attempted
        print(throughput, failure_fraction)
    

    Output yang diharapkan:

    8.0 0.2
    9.0 0.1
    

    Throughput sukses dan fraksi kegagalan menggunakan penyebut berbeda. Waktu nol atau percobaan nol tidak dapat mendukung laju tersebut. Ringkasan fiksi ini tidak menyediakan bukti latensi, biaya, atau beban perwakilan.

    Kosa kata Latih
    English Bahasa Indonesia
    throughput/ˈθruːpʊt/ throughput
    acceptance test/əkˈseptəns test/ uji penerimaan
  • 9

    IA · Solusi komputasional

    Program pembelajaran segera hadir

Masuk atau buat akun

IGCSE, A-Level & AP