HOTS (Higher Order Thinking Skills) • Kurikulum Merdeka • Informatika SMA
Menjelang Asesmen Sumatif Akhir Semester (ASAS), banyak siswa mencari latihan soal Informatika yang tidak hanya menguji hafalan, tetapi juga kemampuan berpikir tingkat tinggi (HOTS). Soal HOTS biasanya menuntut:
Analisis masalah
Pemecahan masalah
Berpikir logis dan algoritmik
Pemahaman konsep teknologi
Penerapan (aplikasi) ke kasus nyata
Artikel ini menyajikan soal HOTS Informatika untuk Kelas X, XI, dan XII, lengkap dengan pembahasan detail. Soal sudah disesuaikan dengan CP Informatika SMA (Algoritma, Python, Jaringan, Basis Data, AI, dll.).
Fokus materi: Berpikir Komputasional, Algoritma, Representasi Data, Teknologi Informasi
Sebuah algoritma untuk menentukan bilangan terbesar terdiri dari langkah-langkah:
Bandingkan nilai A dan B
Simpan bilangan terbesar pada variabel MAX
Bandingkan MAX dengan C
Jika C lebih besar, ubah MAX = C
Cetak MAX
Pertanyaan:
Jika A = 7, B = 9, C = 8, jelaskan mengapa hasil akhirnya 9, bukan 8.
Pembahasan:
Langkah 1–2: Bandingkan A (7) dan B (9), maka MAX = 9
Langkah 3–4: Bandingkan MAX (9) dengan C (8) → C lebih kecil
MAX tetap 9
Kesimpulan: nilai tertinggi adalah B = 9.
Diberikan daftar terurut:[3, 5, 9, 12, 18, 22, 27, 30]
Binary search ingin mencari angka 18.
Urutan middle yang dicek adalah?
A. 12 → 18
B. 22 → 12 → 18
C. 12 → 22 → 18
D. 9 → 18
Pembahasan:
Middle pertama = index 3 → 12
18 > 12 → cari ke kanan
Range baru: [18, 22, 27, 30]
Middle = index 5 → 22
18 < 22 → geser ke kiri
Ketemu 18
Jawaban: C.
Sekolah ingin membuat sistem absensi QR Code. Manfaat paling relevan dalam konteks efisiensi data adalah…
A. Mengurangi anti-bolos
B. Data absensi otomatis tersimpan digital
C. Menambah kerja guru
D. Mengurangi penggunaan kertas
Pembahasan:
Efisiensi data = otomatis → jawab B
Flowchart:
START → input x IF x % 3 == 0 AND x % 5 == 0 → “FizzBuzz” ELSE IF x % 3 == 0 → “Fizz” ELSE IF x % 5 == 0 → “Buzz” END
Jika input 30, apa keluaran?
Pembahasan:
30 habis dibagi 3 dan 5 → FizzBuzz
Fokus materi: Python, Algoritma Lanjut, Struktur Data, Basis Data
data = [12, 7, 20, 5, 18] hasil = [] for x in data: if x % 2 == 0: hasil.append(x // 2) print(sum(hasil))
Hitung hasil output.
Pembahasan:
Bilangan genap: 12, 20, 18
Dibagi 2 → 6, 10, 9
Jumlah = 25
Sebuah aplikasi menyimpan data nilai siswa:
nilai = {
"andi": 80,
"budi": 75,
"citra": 90
}
Cara paling efisien meningkatkan seluruh nilai +5 adalah…
A. Loop lalu tambah 5
B. Menyimpan ulang satu per satu
C. Menghapus lalu menulis ulang
D. Sorting dictionary
Pembahasan:
Modifikasi seluruh item → A
Tabel:
Siswa(ID, Nama, Kelas)
Nilai(ID, MataPelajaran, Nilai)
Mengapa diperlukan ID yang sama dalam dua tabel?
Pembahasan:
Untuk relasi one-to-many sehingga setiap siswa bisa memiliki banyak nilai. Kunci foreign key menjaga integritas data.
Program sorting manual bekerja lambat untuk data 100.000 siswa.
Apa solusi terbaik?
A. Ganti bubble sort → quicksort
B. Tambah RAM
C. Tambah komentar kode
D. Beri warna tampilan
Pembahasan:
Algoritma lebih efisien → A
Fokus materi: Pemrograman Lanjut, Jaringan, Keamanan Informasi, AI, Pemodelan Data
Sebuah situs sekolah mengalami brute-force login. Solusi paling tepat?
A. Menambah RAM server
B. Captcha + limitasi percobaan login
C. Mematikan server
D. Mengganti tema website
Pembahasan:
Mitigasi brute force → rate limit + captcha → B
Sebuah model klasifikasi gambar overfitting.
Tanda overfitting?
A. Akurasi train 98%, test 60%
B. Train 60%, test 98%
C. Train 80%, test 80%
D. Train 90%, test 89%
Pembahasan:
Selisih besar → A
Pada topologi Star, jika satu komputer rusak…
A. Semua jaringan mati
B. Jaringan tetap berjalan, hanya 1 node terganggu
C. Semua data hilang
D. Harus mengganti router
Pembahasan:
Star bergantung hub/ switch, bukan node → B
f = open("data.txt", "r")
jumlah = 0
for baris in f:
jumlah += int(baris)
print(jumlah)
Isi file:
5
10
8
Output?
Pembahasan:
5 + 10 + 8 = 23
Bantu kami terus berbagi konten dan proyek pembelajaran digital gratis!
Terima kasih sudah mendukung ruang belajar digital! 🙏