Assesmen Sumatif Informatika Kelas XII
Manajemen Memori, Perulangan & Fungsi Python, serta Fondasi Aplikasi AI
📌 Bagian I: Soal Objektif (Pilihan Ganda)
Pilihlah satu jawaban yang paling tepat dari lima opsi yang tersedia.
📦 Topik: Manajemen Memori Komputer
Soal 1
Ringan
Apa yang dimaksud dengan fase Compile-Time dalam eksekusi program?
Soal 2
Ringan
Variabel yang hanya dikenal dan dapat diakses di dalam fungsi tempat ia didefinisikan, lalu dihancurkan setelah fungsi selesai, disebut variabel…
Soal 3
Ringan
Struktur memori yang bekerja dengan prinsip LIFO (Last In, First Out) dan digunakan untuk menyimpan variabel lokal serta panggilan fungsi adalah…
Soal 4
Ringan
Apa fungsi utama dari fitur Garbage Collection (GC) pada bahasa pemrograman modern?
Soal 5
Ringan
Bahasa pemrograman seperti Python dan JavaScript yang menentukan jenis tipe data saat program sedang berjalan (Run-Time) disebut bahasa bertipe…
Soal 6
Sedang
Mengapa penggunaan variabel global secara berlebihan dapat menyebabkan masalah pada manajemen memori?
Soal 7
Sedang
Apa yang terjadi jika sebuah fungsi rekursif memanggil dirinya sendiri tanpa adanya kondisi berhenti (base case)?
Soal 8
Sedang
Dalam konteks Bottleneck Analysis, mengapa menggabungkan string menggunakan operator
+ di dalam perulangan dianggap sebagai Bad Practice?
Soal 9
Sedang
Perbedaan utama antara area memori Stack dan Heap adalah…
Soal 10
Sedang
Jika sebuah objek di Heap sudah tidak digunakan dan tidak lagi memiliki variabel yang mereferensikannya, apa yang akan dilakukan oleh Garbage Collector?
Soal 11
HOTS
Seorang pengembang game mengalami masalah “lag” yang semakin parah seiring berjalannya waktu. Analisis memori menunjukkan bahwa objek musuh yang sudah dikalahkan tetap tersimpan di memori. Masalah apa yang paling mungkin terjadi dan bagaimana solusi terbaiknya?
Soal 12
HOTS
Perhatikan kode berikut:
teks = “”
for i in range(10000):
teks += str(i)
Mengapa kode di atas kurang efisien dibandingkan dengan menampung data dalam list lalu menggunakan for i in range(10000):
teks += str(i)
"".join()?
Soal 13
HOTS
Dalam sistem dengan memori terbatas, seorang programmer menyimpan matriks berukuran sangat besar (10000×10000) sebagai variabel lokal di dalam sebuah fungsi. Apa risiko terbesar dari keputusan ini?
Soal 14
HOTS
Jika sebuah bahasa pemrograman tidak memiliki fitur Garbage Collection (contoh: C atau C++), siapa yang bertanggung jawab untuk mencegah Memory Leak?
Soal 15
HOTS
Sebuah aplikasi berjalan lancar saat pertama kali dibuka, tetapi setelah 1 jam penggunaan, aplikasi menjadi sangat lambat dan akhirnya force close. Berdasarkan konsep Bottleneck dan Memori, apa diagnosis yang paling tepat?
🔄 Topik: Perulangan & Fungsi di Python
Soal 16
Ringan
Struktur kontrol yang digunakan untuk mengeksekusi blok kode berulang kali terhadap sebuah sequence (seperti list, tuple, atau string) adalah…
Soal 17
Ringan
Fungsi
range(2, 6) akan menghasilkan deret angka…
Soal 18
Ringan
Statement yang digunakan untuk menghentikan perulangan sepenuhnya dan keluar dari blok loop adalah…
Soal 19
Ringan
Kata kunci (keyword) yang digunakan untuk mendefinisikan sebuah fungsi di Python adalah…
Soal 20
Ringan
Variabel yang didefinisikan di dalam fungsi dan tidak dapat diakses dari luar fungsi tersebut disebut memiliki scope…
Soal 21
Sedang
Apa output dari kode berikut?
for i in range(5):
if i == 3:
continue
print(i, end=” “)
if i == 3:
continue
print(i, end=” “)
Soal 22
Sedang
Fitur unik Python di mana blok
else pada perulangan akan dijalankan adalah ketika…
Soal 23
Sedang
Parameter
*args dalam definisi fungsi Python digunakan untuk…
Soal 24
Sedang
Perhatikan kode berikut:
def hitung(a, b=10):
return a + b
print(hitung(5))
Output dari kode tersebut adalah…return a + b
print(hitung(5))
Soal 25
Sedang
Fungsi anonim (fungsi kecil satu baris tanpa nama formal) di Python didefinisikan menggunakan kata kunci…
Soal 26
HOTS
Seorang programmer menulis fungsi rekursif untuk menghitung faktorial, tetapi lupa menambahkan kondisi dasar (base case). Apa yang akan terjadi saat fungsi ini dipanggil?
Soal 27
HOTS
Mengapa penggunaan variabel global di dalam fungsi untuk memodifikasi nilainya memerlukan kata kunci
global, sedangkan sekadar membaca nilainya tidak?
Soal 28
HOTS
Dalam konteks optimasi kode, mengapa menggunakan list comprehension sering dianggap lebih efisien daripada perulangan
for tradisional dengan metode .append()?
Soal 29
HOTS
Perhatikan kode berikut:
def pembuat_fungsi(pangkat):
return lambda x: x ** pangkat
kuadrat = pembuat_fungsi(2)
print(kuadrat(5))
Konsep pemrograman apa yang ditunjukkan oleh kode di atas?return lambda x: x ** pangkat
kuadrat = pembuat_fungsi(2)
print(kuadrat(5))
Soal 30
HOTS
Jika sebuah fungsi mengembalikan beberapa nilai yang dipisahkan koma (misal:
return luas, keliling), tipe data apa yang sebenarnya dikembalikan oleh fungsi tersebut secara implisit?🤖 Topik: Fondasi Aplikasi AI (InfoTerms Bot)
Soal 31
Ringan
InfoTerms Bot merupakan contoh penerapan kecerdasan buatan dengan pendekatan…
Soal 32
Ringan
Struktur data Python yang digunakan untuk menyimpan pasangan kunci-nilai (key-value) pada kamus bot adalah…
Soal 33
Ringan
Fungsi metode
.lower() pada input pengguna bertujuan untuk…
Soal 34
Ringan
Perulangan
while berjalan: pada program chatbot berfungsi untuk…
Soal 35
Ringan
Apa kelemahan utama dari AI berbasis aturan (Rule-Based) seperti InfoTerms Bot?
Soal 36
Sedang
Jika pengguna mengetik “Halo”, bagaimana alur logika
if-elif-else pada fungsi cari_istilah bekerja?
Soal 37
Sedang
Mengapa pencocokan eksak (exact matching) pada Rule-Based AI menjadi masalah ketika pengguna melakukan kesalahan ketik (typo) seperti “pyton” alih-alih “python”?
Soal 38
Sedang
Solusi teknis apa yang dapat diterapkan untuk membuat chatbot lebih toleran terhadap kesalahan ketik (typo)?
Soal 39
Sedang
Dalam perbandingan antara Rule-Based AI dan Large Language Model (LLM), keunggulan utama Rule-Based AI adalah…
Soal 40
Sedang
Jika kita ingin menambahkan fitur agar bot mengenali kata “terima kasih”, langkah apa yang paling tepat sesuai struktur kode yang ada?
Soal 41
HOTS
Seorang pengguna mengetik: “Saya tidak mau keluar rumah hari ini”. Berdasarkan kode
if "keluar" in input_user.lower(): berjalan = False, apa yang akan terjadi dan mengapa ini merupakan celah logika?
Soal 42
HOTS
Bagaimana konsep “Mark-and-Sweep” dalam Garbage Collection dapat dianalogikan dengan pembersihan data pada aplikasi AI yang menyimpan riwayat chat sementara di Heap?
Soal 43
HOTS
Jika seorang pengembang ingin meningkatkan InfoTerms Bot agar dapat memahami maksud pengguna meskipun struktur kalimatnya berbeda (misal: “gimana cara kerja ai?” dan “penjelasan artificial intelligence”), pendekatan apa yang harus diadopsi?
Soal 44
HOTS
Dalam konteks manajemen memori, jika database kamus AI (
kamus_ai) terus ditambah dengan jutaan entri baru secara dinamis saat Run-Time tanpa batasan atau pembersihan, risiko apa yang mengintai?
Soal 45
HOTS
Mengapa AI berbasis aturan (Rule-Based) seperti InfoTerms Bot tidak menunjukkan empati saat pengguna berkata “Kabar saya buruk hari ini”, sedangkan LLM bisa melakukannya?
📝 Bagian II: Soal Analisis Esai
Jawablah pertanyaan berikut dengan jelas, terstruktur, dan menyertakan alasan atau contoh kode jika diperlukan.
Esai 1
Analisis
Jelaskan perbedaan mendasar antara penyimpanan data di area Stack dan Heap! Berikan satu contoh situasi nyata dalam pengembangan aplikasi di mana penggunaan Heap yang tidak dikelola dengan baik dapat menyebabkan Memory Leak, dan jelaskan bagaimana mekanisme Garbage Collection membantu (atau gagal membantu) mengatasi masalah tersebut!
Esai 2
HOTS
Perhatikan potongan kode berikut:
data = “”
for i in range(100000):
data += str(i) + ” “
Analisislah mengapa kode di atas dianggap sebagai bottleneck dalam manajemen memori dan CPU! Tuliskan ulang kode tersebut menjadi lebih optimal menggunakan pendekatan yang disarankan dalam materi (misalnya menggunakan list), dan jelaskan secara teknis mengapa kode baru Anda lebih efisien!for i in range(100000):
data += str(i) + ” “
Esai 3
HOTS
Pada program InfoTerms Bot, terdapat logika:
Analisislah kelemahan logika ini jika pengguna memasukkan kalimat: “Saya ingin melihat gambar bunga matahari yang sedang mekar keluar dari kuncupnya”. Apa yang akan dilakukan oleh program? Usulkan perbaikan logika (Anda bisa menjelaskan konsepnya atau menulis potongan kode) agar bot hanya berhenti ketika “keluar” memang dimaksudkan sebagai perintah, bukan sekadar bagian dari kalimat biasa!
if "keluar" in input_user.lower(): berjalan = False.Analisislah kelemahan logika ini jika pengguna memasukkan kalimat: “Saya ingin melihat gambar bunga matahari yang sedang mekar keluar dari kuncupnya”. Apa yang akan dilakukan oleh program? Usulkan perbaikan logika (Anda bisa menjelaskan konsepnya atau menulis potongan kode) agar bot hanya berhenti ketika “keluar” memang dimaksudkan sebagai perintah, bukan sekadar bagian dari kalimat biasa!
Esai 4
Analisis
Buatlah analisis perbandingan mendalam antara Rule-Based AI (seperti InfoTerms Bot) dan Large Language Model (LLM) seperti ChatGPT! Sertakan minimal 3 aspek perbandingan (misalnya: cara kerja, kebutuhan resource komputasi, dan pemahaman konteks), serta jelaskan kapan seorang pengembang sebaiknya memilih Rule-Based AI daripada LLM dalam sebuah proyek nyata!
Esai 5
HOTS
Anda diminta merancang fungsi kalkulator statistik yang menerima jumlah data yang tidak pasti (dynamic arguments). Jelaskan bagaimana Anda akan menggunakan
*args dalam definisi fungsi tersebut! Selain itu, jelaskan mengapa variabel penampung total dan rata-rata di dalam fungsi tersebut sebaiknya bersifat lokal (local scope) daripada global, ditinjau dari segi keamanan data dan efisiensi memori!