Lompat ke konten

IA · Solusi komputasional

International Baccalaureate · IB Diploma · Computer Science · SL · Topik 9

Latih
9.1

Cakupan dan prasyarat

Lembar kerja ini mengajarkan proses di balik penilaian internal, yaitu solusi komputasional, untuk kursus yang pertama kali dinilai pada 2027. Semua materi termasuk konten SL dan HL.

Guru Anda akan memberikan kriteria penilaian terkini, batas kata, dan tenggat waktu; lembaran kerja ini tidak mengulangnya karena hal tersebut terdapat dalam panduan IB. Lembar kerja ini mengajarkan cara melakukan setiap tahap dengan baik, menggunakan satu proyek fiktif sebagai contoh berkelanjutan.

Prasyarat: Tema B, terutama pemrograman B2. Proyek contoh dibuat khusus untuk latihan.

Kosa kata Latih
English Bahasa Indonesia
computational solution/ˌkɒmpjuːˈteɪʃənl səˈluːʃn/ GLOSARIUM {"makna": "solusi komputasional", "subjek": "ilmu komputer IB SL", "istilah": "computational solution"}
end user pengguna akhir
success criteria/səkˈses kraɪˈtɪərɪə/ kriteria keberhasilan
test plan/test plæn/ rencana pengujian
normal data/ˈnɔːml ˈdeɪtə/ data normal
boundary data/ˈbaʊndəri ˈdeɪtə/ data batas
invalid data data tidak valid
AI tool alat kecerdasan buatan
academic integrity/ˌækəˈdemɪk ɪnˈteɡrɪti/ integritas akademik
acknowledged diberi kredit
evaluation/ɪˌvæljuːˈeɪʃn/ evaluasi
9.2

Memilih Masalah

Masalah Nyata dengan Pengguna Nyata

Proyek yang baik dimulai dari masalah nyata bagi seseorang atau kelompok riil, yaitu pengguna akhir, yang dapat Anda ajak bicara selama proses pengerjaan. "Sebuah program yang melakukan matematika" bukanlah sebuah masalah; "pelatih klub catur menghabiskan dua jam setiap minggu untuk memasangkan pemain secara manual" adalah masalah.

Periksa tiga hal sebelum Anda berkomitmen:

Pertanyaan Mengapa itu penting
Bisakah saya berbicara dengan pengguna berkali-kali? Anda membutuhkan kebutuhan mereka dan umpan balik mereka
Apakah ini membutuhkan lebih dari beberapa baris kode? Anda harus menunjukkan berbagai teknik
Bisakah saya menyelesaikannya dalam waktu yang diberikan? produk yang belum selesai tidak dapat diuji

Contoh berjalan. Pelatih catur sekolah menginginkan program yang mencatat hasil, menjaga peringkat untuk setiap pemain, dan menyarankan pasangan yang adil untuk permainan setiap minggunya.

Kriteria Keberhasilan

Kriteria keberhasilan adalah hal-hal spesifik dan terukur yang harus dilakukan oleh produk jadi. Anda menyepakatinya dengan pengguna, dan Anda menguji terhadap setiap kriteria di akhir, sehingga setiap kriteria harus cukup jelas untuk diuji.

Kriteria Lemah Kriteria Kuat
Program mudah digunakan. Pelatih dapat memasukkan hasil permainan dalam waktu kurang dari 30 detik, dengan maksimal tiga kali klik.
Menyimpan para pemain. Program menyimpan nama, tingkat kelas, dan peringkat setiap pemain, serta mempertahankannya setelah program ditutup.
Pasangan adil. Setiap minggu, pemain dipasangkan sehingga tidak ada dua pemain yang bertemu dua kali berturut-turut dan selisih peringkat sekecil mungkin.
Aman. Hanya pelatih dengan kata sandi dapat mengubah hasil.

Kriteria yang kuat menyebutkan siapa, apa dan bagaimana hal itu akan dicek. Enam hingga sepuluh kriteria adalah umum untuk proyek seukuran ini.

9.3

Perencanaan dan desain

Pecahkan sebelum mengkode

Bagilah masalah menjadi bagian-bagian, lalu rancang setiap bagian: data, algoritma, dan layar.

Empat kotak berurutan: masalah yang dinyatakan, pendekatan, bukti teruji, dokumentasi
Solusi komputasi berjalan dari masalah yang dinyatakan melalui pendekatan dan bukti teruji hingga dokumentasi

Contoh berjalan. Program catur dibagi menjadi: menyimpan pemain dan hasil; memperbarui peringkat setelah setiap pertandingan; membuat penjadwalan mingguan; layar pelatih.

Bagian Produk desain
data tabel bidang, tipe data mereka, dan contoh; tata letak file atau basis data
algoritma diagram alir atau pseudocode untuk setiap proses yang signifikan, seperti penjadwalan
layar sketsa setiap layar, diverifikasi dengan pengguna
pengujian rencana pengujian, ditulis sebelum pengkodean

Rencana pengujian

Rencana pengujian mencantumkan setiap tes, data yang digunakan, dan hasil yang diharapkan. Gunakan tiga jenis data uji:

  • data normal: nilai tipikal yang harus diterima;
  • data batas: nilai di tepi apa yang diperbolehkan;
  • data tidak valid: nilai yang harus ditolak.
Tes Kriteria Data Jenis Hasil yang diharapkan
1 entri hasil kemenangan untuk pemain A normal Peringkat A naik; B turun
2 menyimpan tahun kelulusan tahun kelulusan 7 (batas bawah) batas diterima
3 menyimpan tahun kelulusan tahun kelulusan 14 tidak valid ditolak dengan pesan
4 pasangan 9 pemain batas (jumlah ganjil) satu pemain mendapat giliran; tidak ada pasangan yang berulang
5 keamanan kata sandi salah tidak valid hasil tidak dapat diubah

Setiap tes mengacu pada kriteria keberhasilan, sehingga di akhir Anda dapat menunjukkan kriteria mana yang terpenuhi.

9.4

Development

Menjelaskan teknik Anda

Produk harus berfungsi, tetapi laporan juga harus menunjukkan bagaimana produk itu bekerja dan mengapa Anda memilih setiap teknik. Untuk setiap teknik penting:

  1. beri nama teknik tersebut;
  2. tampilkan cuplikan kode yang singkat dan relevan;
  3. jelaskan apa yang dilakukannya dalam produk ini;
  4. jelaskan mengapa Anda memilihnya daripada alternatif lain.

Contoh berjalan. Pengurutan pasangan mengurutkan pemain berdasarkan peringkat, lalu memasangkan tetangga, sehingga selisih peringkat tetap kecil:

def make_pairings(players):
    """Pair (name, rating) tuples; return the pairs and the bye."""
    ranked = sorted(players, key=lambda p: p[1], reverse=True)
    bye = None
    if len(ranked) % 2 == 1:
        bye = ranked.pop()      # lowest rating sits out
    pairs = []
    for i in range(0, len(ranked), 2):
        pairs.append((ranked[i][0], ranked[i + 1][0]))
    return pairs, bye

Penjelasan. Pengurutan berdasarkan peringkat menempatkan pemain dengan kekuatan serupa berdampingan, sehingga pasangan tetangga memberikan selisih peringkat terkecil; hal ini memenuhi kriteria keadilan. Dengan jumlah pemain yang ganjil, pemain dengan peringkat terendah mendapat giliran, yang dicek oleh tes 4. Pasangan acak mungkin lebih sederhana, tetapi bisa saja mencocokkan pemain terkuat dengan pemula.

Daftar semua fitur Python yang Anda gunakan bukanlah sebuah penjelasan. Pilihlah teknik-teknik yang penting, seperti pengurutan, pencarian, file atau basis data, validasi, kelas, dan jelaskan dengan baik.

Menggunakan karya orang lain

Jika Anda menggunakan pustaka, contoh kode dari situs web, atau alat AI, sebutkan sumbernya dan apa yang telah Anda ubah. Ini adalah bagian dari integritas akademik: karya yang bukan milik Anda harus diakui. Penjelasan Anda sendiri tentang bagaimana kode tersebut bekerja menunjukkan bahwa Anda memahaminya.

9.5

Pengujian dan evaluasi

Pengujian terhadap kriteria

Lakukan rencana pengujian dan catat bukti: tangkapan layar atau video singkat untuk setiap tes, dengan hasil aktual di samping hasil yang diharapkan. Tes yang gagal bukanlah bencana: perbaiki kode, uji lagi, dan catat keduanya.

Tes Diharapkan Aktual Terpenuhi?
3 kelompok tahun 14 ditolak ditolak: "Kelompok tahun harus antara 7 dan 13" ya
4 9 pemain: satu bye, tidak ada pasangan berulang bye diberikan; satu pasangan diulang dari minggu lalu tidak: diperbaiki dengan memeriksa pasangan minggu lalu, lalu diuji ulang

Evaluasi

Sebuah evaluasi menilai produk jadi terhadap setiap kriteria keberhasilan, menggunakan bukti pengujian dan umpan balik pengguna.

Lemah Kuat
Program bekerja dengan baik dan pelatih menyukainya. Kriteria 1 terpenuhi: dalam pengujian, pelatih memasukkan hasil dalam waktu rata-rata 12 detik (uji 1). Kriteria 3 hanya sebagian terpenuhi: versi pertama mengulang satu pasangan (uji 4); setelah perbaikan, tidak ada pasangan yang diulang selama empat minggu percobaan.

Kemudian usulkan perbaikan spesifik, dikaitkan dengan bukti: "tambahkan opsi untuk mencetak pasangan, seperti yang diminta pelatih dalam umpan balik" lebih baik daripada "tambahkan lebih banyak fitur".

9.6

Latihan

  1. Tulis ulang kriteria keberhasilan ini agar dapat diuji: "Program harus cepat."
  2. Untuk kriteria "Program menerima usia pemain dari 11 hingga 18", berikan satu nilai uji normal, satu nilai batas, dan satu nilai uji invalid.
  3. Jelaskan mengapa rencana pengujian ditulis sebelum kode.
  4. Sebuah laporan tulis seorang siswa mencantumkan "variabel, perulangan, pernyataan if, fungsi". Jelaskan mengapa hal ini mendapatkan nilai rendah, dan apa yang seharusnya ditulis sebagai gantinya.
  5. Fungsi make_pairings di atas diberi 6 pemain dengan peringkat 1500, 1420, 1610, 1380, 1550, 1490. Sebutkan pasangan yang dikembalikan.
  6. Seorang siswa menggunakan alat AI untuk menulis fungsi validasi. Sebutkan apa yang harus dilakukan siswa tersebut.

Jawaban.

  1. Contoh: "Pasangan untuk hingga 40 pemain muncul dalam waktu 2 detik setelah pelatih menekan Pair."
  2. Normal: 15. Batas: 11 atau 18. Invalid: 10, 19, atau nilai seperti "twelve".
  3. Hal ini menetapkan, berdasarkan kriteria keberhasilan, apa yang harus dibuktikan berfungsi, sehingga pengujian direncanakan alih-alih dipilih secara acak setelah fakta sesuai dengan produk; hal ini juga dapat membentuk desain.
  4. Hal ini menyebut fitur tanpa menunjukkan mengapa fitur tersebut digunakan atau bagaimana fitur tersebut memecahkan masalah pengguna. Sebagai gantinya: pilih beberapa teknik penting, tunjukkan cuplikan kode singkat untuk masing-masing, dan jelaskan apa yang dilakukannya dalam produk ini dan mengapa dipilih.
  5. Diurutkan dari tertinggi: 1610, 1550, 1500, 1490, 1420, 1380. Pasangan: (1610, 1550), (1500, 1490), (1420, 1380); tidak ada bye, karena 6 adalah genap.
  6. Akui alat dan apa yang dihasilkannya, tunjukkan apa yang diubah, dan jelaskan dengan kata-kata sendiri bagaimana fungsi tersebut bekerja.
9.7

Tips ujian

  • Pilihlah masalah dengan pengguna nyata yang dapat Anda konsultasikan, dan sepakatilah kriteria keberhasilan yang dapat diujinya sejak dini.
  • Setiap kriteria → pengujian dalam rencana → bukti dalam pengujian → penilaian dalam evaluasi.
  • Jelaskan beberapa teknik dengan baik: kutipan kode, fungsinya di sini, dan mengapa dipilih.
  • Akui setiap perpustakaan, sumber kode, dan alat AI.
  • Simpan kriteria penilaian saat ini dari guru Anda di samping Anda, dan periksa setiap bagian pekerjaan Anda terhadapnya.

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

Masuk atau buat akun

IGCSE, A-Level & AP