SRIPOKU.COM - Berikut disajikan 10 contoh soal latihan Higher Order Thinking Skills (HOTS) Informatika Kelas 8 SMP/MTs Bab 3 materi "Algoritma Pemrograman" Kurikulum Merdeka edisi 2026.

Soal-soal HOTS ini dirancang berbasis analisis logika, penelusuran algoritma (tracing), serta pemecahan masalah (problem solving) untuk menguji kemampuan berpikir tingkat tinggi siswa pada konsep percabangan, perulangan, dan penggunaan variabel.

Sebagai bahan evaluasi mandiri maupun referensi perangkat ajar guru, seluruh butir soal telah dilengkapi dengan kunci jawaban serta pembahasan mendalam di bawahnya.

Baca juga: Kumpulan Soal HOTS Pendidikan Pancasila Kelas 9 SMP Materi Kemerdekaan Berpendapat Warga Negara

(1) Perhatikan potongan pseudocode berikut!

A = 5
B = 10
A = A + B
B = A - B
A = A - B

Nilai akhir dari variabel A dan B setelah program selesai dieksekusi adalah ...

A. A = 5 dan B = 10

B. A = 10 dan B = 5

c. A = 15 dan B = 10

D. A = 15 dan B = 5

Kunci Jawaban : B. A = 10 dan B = 5

Pembahasan:

- Baris 3: A = 5 + 10 = 15

- Baris 4: B = 15 -10=5

- Baris 5: A = 15 - 5= 10

Algoritma ini merupakan teknik pertukaran nilai dua variabel (swapping) tanpa
membutuhkan variabel bantuan tambahan.

(2) Sebuah algoritma diskon toko dirancang dengan aturan: Jika total belanja lebih dari atau sama dengan Rp100.000, pembeli mendapat diskon 10 persen. Seorang programmer membuat kode berikut:

IF total_belanja >= 100000 THEN

diskon = 0.1 * total_belanja

ENDIF

bayar = total_belanja - diskon

Apabila variabel diskon tidak diberi nilai awal 0 (inisialisasi), apa yang akan terjadi saat total_belanja bernilai Rp75.000?

A. Program berjalan normal dan menghitung bayar = Rp75.000

B. Terjadi kesalahan logika atau error karena variabel diskon tidak memiliki nilai saat pengurangan

C. Pembeli tetap mendapatkan diskon sebesar 10 persen

D. Program mencetak angka minus

Kunci Jawaban : B. Terjadi kesalahan logika atau error karena variabel diskon tidak memiliki nilai saat pengurangan

Pembahasan: Jika total_belanja Rp75.000, kondisi IF bernilai False sehingga blok di dalam IF dilewati. Jika diskon belum didefinisikan sejak awal (bernilai 0), maka proses bayar = total_belanja - diskon akan menghasilkan error (undefined variable).

(3) Perhatikan algoritma perulangan berikut!

X = 1

WHILE X < 10>

PRINT X

X = X + 2

ENDWHILE

Output berupa deretan angka yang dicetak oleh algoritma tersebut adalah...

A. 1, 3, 5, 7, 9

B. 1, 3, 5, 7, 9, 11

C. 2, 4, 6, 8, 10

D. 1, 2, 3, 4, 5, 6, 7, 8, 9

Kunci Jawaban : A. 1, 3, 5, 7, 9

Pembahasan:

Iterasi 1: X = 1 (Cetak 1), X jadi 3

Iterasi 2: X = 3 (Cetak 3), X jadi 5

Iterasi 3: X = 5 (Cetak 5), X jadi 7

Iterasi 4: X = 7 (Cetak 7), X jadi 9

Iterasi 5: X = 9 (Cetak 9), X jadi 11

Iterasi 6: X = 11 (Kondisi 11 < 10>

(4) Seorang siswa membuat program percabangan untuk menentukan kelulusan siswa berdasarkan nilai Ujian (N) dan Kehadiran (K). Syarat lulus adalah nilai minimal 75 DAN kehadiran minimal 80 persen. Struktur kondisi yang tepat adalah...

A. IF (N >= 75) OR (K >= 80) THEN Lulus ELSE Tidak Lulus

B. IF (N >= 75) AND (K >= 80) THEN Lulus ELSE Tidak Lulus

C. IF (N > 75) AND (K > 80) THEN Lulus ELSE Tidak Lulus

D. IF (N <= 75) AND (K <= 80) THEN Lulus ELSE Tidak Lulus

Kunci Jawaban : B. IF (N >= 75) AND (K >= 80) THEN Lulus ELSE Tidak Lulus

Pembahasan: Kata kunci "minimal" menggunakan operator perbandingan "lebih dari atau sama dengan" (>=). Karena kedua syarat wajib dipenuhi secara bersamaan, maka digunakan operator logika AND.

(5) Perhatikan instruksi pemrograman berikut:

"Ulangi langkah bergerak 10 langkah sampai karakter menyentuh tepi layar"

Analisis yang paling tepat mengenai alur gerakan karakter tersebut adalah...

A. Karakter bergerak 10 langkah sebanyak satu kali saja

B. Karakter akan bergerak terus-menerus 10 langkah dan baru berhenti saat menyentuh tepi layar

C. Karakter diam di tempat sampai layar diklik

D. Karakter bergerak mundur jika menyentuh tepi layar

Kunci Jawaban : B. Karakter akan bergerak terus-menerus 10 langkah dan baru berhenti saat menyentuh tepi layar

Pembahasan: Perintah perulangan dengan kondisi batas akan mengulang instruksi di dalamnya selama kondisi belum terpenuhi, dan menghentikan perulangan begitu kondisi batas tercapai (menyentuh tepi).

(6) Dalam membuat algoritma menentukan bilangan Genap atau Ganjil, operasi matematika yang paling tepat digunakan adalah...

A. Membagi bilangan tersebut dengan angka 2 menggunakan pembagian biasa

B. Mengecek sisa hasil bagi bilangan tersebut dengan angka 2 menggunakan operator MOD

C. Mengalikan bilangan tersebut dengan angka 2

D. Menjumlahkan bilangan tersebut dengan angka 1

Kunci Jawaban : B. Mengecek sisa hasil bagi bilangan tersebut dengan angka 2 menggunakan operator MOD

Pembahasan: Suatu bilangan bulat adalah genap jika sisa hasil baginya dengan 2 bernilai 0 (bilangan MOD 2 = 0). Jika sisa baginya 1, maka bilangan tersebut ganjil.

(7) Mengapa kesalahan logika (Logic Error) lebih sulit dideteksi dibandingkan kesalahan tata bahasa (Syntax Error)?

A. Karena logic error membuat komputer langsung mati

B. Karena program tetap dapat berjalan tanpa pesan error, tetapi menghasilkan keluaran (output) yang salah

C. Karena syntax error tidak memberi tahu baris kode yang rusak

D. Karena logic error hanya terjadi pada bahasa pemrograman tertentu

Kunci Jawaban : B. Karena program tetap dapat berjalan tanpa pesan error, tetapi menghasilkan keluaran (output) yang salah

Pembahasan: Syntax Error akan ditolak oleh sistem sehingga program tidak bisa dijalankan. Sebaliknya, Logic Error memenuhi aturan tata bahasa sehingga program dapat berjalan, namun alur pikirnya salah sehingga output tidak sesuai harapan.

(8) Perhatikan alur variabel berikut!

K = 2

WHILE K <= 5 DO

K = K * 2

ENDWHILE

PRINT K

Berapakah nilai K yang dicetak pada akhir program?

A. 4

B. 8

C. 5

D. 16

Kunci Jawaban : B. 8

Pembahasan:

Awal: K = 2

Cek 2 <= 5 (Benar): K = 2 * 2 = 4

Cek 4 <= 5 (Benar): K = 4 * 2 = 8

Cek 8 <= 5 (Salah): Perulangan selesai.

Cetak K yaitu 8.

(9) Sebuah program perpustakaan menghitung denda keterlambatan pengembalian buku. Denda dihitung Rp1.000/hari untuk 3 hari pertama, dan Rp2.000/hari untuk hari berikutnya. Jika hari keterlambatan dilambangkan dengan H (dimana H lebih dari 3), rumusan algoritma denda yang tepat adalah...

A. Denda = H * 2000

B. Denda = (3 * 1000) + ((H - 3) * 2000)

C. Denda = (3 * 2000) + (H * 1000)

D. Denda = H * 3000

Kunci Jawaban : B. Denda = (3 * 1000) + ((H - 3) * 2000)

Pembahasan: 3 hari pertama dikenakan tarif flat 3 * 1000 = 3000. Sisa hari terlambat yaitu (H - 3) dikalikan tarif tambahan Rp2.000/hari.

(10) Seorang siswa menyusun perulangan: WHILE X > 0 DO PRINT X. Namun, ia lupa tidak menambahkan perintah untuk mengubah atau mengurangi nilai X di dalam perulangan tersebut. Kondisi yang terjadi pada program adalah...

A. Program berhenti secara otomatis

B. Terjadi perulangan tak terbatas (infinite loop) yang menyebabkan program hang atau macet

C. Nilai X bertambah secara otomatis

D. Output program menjadi kosong

Kunci Jawaban : B. Terjadi perulangan tak terbatas (infinite loop) yang menyebabkan program hang atau macet

Pembahasan: Tanpa adanya perubahan nilai variabel kontrol (X), kondisi X > 0 akan selalu bernilai True terus-menerus sehingga program terjebak dalam perulangan tanpa henti (infinite loop).

Contact to : [email protected]


Privacy Agreement

Copyright © boyuanhulian 2020 - 2023. All Right Reserved.