Latihan Soal Informatika Kelas 10 SMA IPA Materi Struktur Kontrol dalam Pemrograman (Percabangan IF-ELSE dan Perulangan FOR/WHILE)

Materi Soal

Halo teman-teman! Selamat datang di materi Latihan Soal Informatika Kelas 10 SMA IPA yang menyenangkan dan penuh tantangan mengenai Struktur Kontrol dalam Pemrograman, khususnya topik Percabangan IF-ELSE dan Perulangan FOR/WHILE. Di sesi ini, kita akan menjelajahi bagaimana struktur kontrol dasar ini berfungsi dalam dunia pemrograman. Struktur kontrol seperti IF-ELSE dan FOR/WHILE merupakan elemen penting yang akan sering kalian temui ketika belajar dan menerapkan ilmu pemrograman. Melalui materi ini, kita berharap kalian dapat memahami konsep-konsep dasar tersebut dengan lebih baik. Selain itu, jangan lupa untuk mencoba latihan soal yang sudah tersedia di bimbel.net/ agar pemahaman kalian semakin mendalam.

Dengan memahami topik ini, kalian akan dibekali kemampuan untuk membuat program yang tidak hanya berjalan linier tetapi juga dapat beradaptasi dengan kondisi tertentu yang mungkin ditemui dalam berbagai situasi. Materi ini bukan hanya meningkatkan pemahaman kalian mengenai struktur kontrol dalam pemrograman, tapi juga melatih keterampilan berpikir logis dan analitis. Ini penting untuk membangun fondasi yang kuat dalam bidang teknik komputer dan juga aplikasi praktis lainnya. Selamat belajar dan semoga kalian menikmati proses pembelajaran yang interaktif ini!

Latihan Soal

1) Struktur kontrol dalam pemrograman yang digunakan untuk mengambil keputusan berdasarkan kondisi tertentu disebut…







2) Perhatikan potongan kode berikut:


x = 10
y = 5
if x > y:
  print("A")
else:
  print("B")

Output yang akan dihasilkan oleh kode di atas adalah…







3) Jenis perulangan yang jumlah iterasinya sudah ditentukan atau diketahui sebelum perulangan dimulai adalah…







4) Perhatikan potongan kode berikut:


for i in range(5):
  print(i)

Angka terakhir yang akan dicetak oleh kode di atas adalah…







5) Struktur `IF-ELSE IF-ELSE` digunakan ketika terdapat…







6) Perhatikan flowchart berikut:
Flowchart tersebut menggambarkan struktur kontrol…







7) Diberikan potongan kode:


nilai = 85
if nilai > 90:
  predikat = "A"
elif nilai > 80:
  predikat = "B"
elif nilai > 70:
  predikat = "C"
else:
  predikat = "D"

Nilai dari variabel `predikat` setelah kode dieksekusi adalah…







8) Dalam sebuah `WHILE` loop, kondisi diperiksa di…







9) Perhatikan kode berikut:


i = 1
while i < 5:
  print("Hello")
  i = i + 1

Berapa kali kata "Hello" akan dicetak?







10) Manakah operator logika yang digunakan untuk menyatakan "DAN" dalam sebuah kondisi `IF`?







11) Apa yang terjadi jika kondisi pada `WHILE` loop tidak pernah bernilai `False`?







12) Diberikan pseudocode:


INPUT suhu
IF suhu > 30 THEN
  PRINT "Panas"
ELSE
  IF suhu < 15 THEN
    PRINT "Dingin"
  ELSE
    PRINT "Sejuk"
  ENDIF
ENDIF

Jika `suhu` yang diinput adalah 25, maka outputnya adalah...







13) Perhatikan kode berikut:


total = 0
for i in range(1, 6):
  total = total + i
print(total)

Output yang dihasilkan adalah...







14) Untuk memeriksa apakah sebuah bilangan `x` adalah bilangan genap, kondisi yang paling tepat dalam `IF` adalah...







15) Struktur kontrol yang mengeksekusi blok kode yang sama berulang kali selama kondisi tertentu terpenuhi disebut...







16) Kode `for i in range(10, 5, -1):` akan melakukan iterasi dengan nilai `i`...







17) Diberikan algoritma untuk menentukan kelulusan siswa: Jika nilai ujian lebih dari atau sama dengan 75 DAN nilai absensi lebih dari 80%, maka siswa dinyatakan "Lulus". Manakah kondisi `IF` yang paling tepat merepresentasikan logika ini?







18) Perhatikan potongan kode:


for i in range(3):
  for j in range(2):
    print("*", end="")
  print()

Output dari kode tersebut adalah...







19) Sebuah program dirancang untuk mencari bilangan ganjil antara 1 sampai 10.


for i in range(1, 11):
  if i % 2 != 0:
    print(i)

Urutan angka yang akan dicetak adalah...







20) Manakah dari berikut ini yang merupakan contoh penggunaan `WHILE` loop yang paling tepat?







21) Perhatikan kode di bawah ini:


angka = 7
if angka > 5 and angka < 10:
  if angka % 2 == 0:
    print("Genap antara 5 dan 10")
  else:
    print("Ganjil antara 5 dan 10")
else:
  print("Di luar jangkauan")

Output yang dihasilkan adalah...







22) Sebuah algoritma dirancang untuk menghitung faktorial dari 4 ($4! = 4 \cdot 3 \cdot 2 \cdot 1$).


hasil = 1
n = 4
while n > 0:
  hasil = hasil * n
  n = n - 1
print(hasil)

Berapakah nilai `hasil` yang akan tercetak?







23) Apa fungsi dari blok `else` dalam struktur `IF-ELSE`?







24) Perhatikan kode berikut:


count = 0
for letter in "INFORMATIKA":
  if letter == "A":
    count = count + 1
print(count)

Output dari kode tersebut adalah...







25) Perbedaan mendasar antara perulangan `FOR` dan `WHILE` adalah...







26) Sebuah program ingin mencetak semua bilangan kelipatan 3 antara 1 dan 20. Potongan kode mana yang paling efisien untuk melakukan hal ini?







27) Perhatikan kode berikut, apa yang salah dengan logika untuk menghentikan loop?


# Tujuan: meminta input angka sampai pengguna memasukkan -1
angka = 0
while angka != -1:
  print("Masukkan angka (-1 untuk berhenti):")
  input(angka) # Baris yang mungkin salah







28) Output dari kode di bawah ini adalah?


for i in range(5):
  if i == 3:
    break
  print(i)







29) Apa fungsi dari statement `continue` dalam sebuah loop?







30) Perhatikan kode berikut:


s = "abcde"
for i in range(len(s)):
  if i % 2 == 0:
    continue
  print(s[i])

Output yang akan dihasilkan adalah...







31) Manakah flowchart yang paling tepat untuk algoritma "mengecek apakah sebuah bilangan adalah bilangan prima"?







32) Sebuah program dirancang untuk memberikan diskon. Jika total belanja lebih dari 500.000, diskon 20%. Jika total belanja antara 200.000 dan 500.000, diskon 10%. Di bawah itu tidak ada diskon. Jika `total_belanja = 350000`, potongan kode yang benar adalah...







33) Perhatikan kode berikut:


x = 10
y = 20
if x > 5:
  if y > 15:
    print("A")
  else:
    print("B")
else:
  if y < 25:
    print("C")
  else:
    print("D")

Output yang akan dihasilkan adalah...







34) Apa yang akan terjadi jika Anda mencoba menjalankan kode ini?


for i in range(5):
print(i)







35) Program ini bertujuan untuk menjumlahkan semua bilangan genap dari 0 hingga 10.


total = 0
for i in range(11):
  if i % 2 == 1:
    # Baris apa yang seharusnya di sini?
  total += i
print(total)

Logika program di atas salah. Output yang benar seharusnya 30. Agar program berjalan benar dengan struktur yang ada, apa yang seharusnya ditulis pada baris yang ditandai komentar?







36) Diberikan kode untuk mencetak pola segitiga:


for i in range(1, 6):
  print("*" * i)

Bagaimana cara memodifikasi kode tersebut untuk menghasilkan pola segitiga terbalik?

*****
****
***
**
*







37) Manakah di antara potongan kode berikut yang akan menghasilkan output yang SAMA dengan kode ini?


i = 0
while i < 10:
  print(i)
  i += 2







38) Diberikan sebuah daftar (list) `data = [10, 20, 30, 40, 50]`. Kode di bawah ini bertujuan mencari apakah angka `30` ada di dalam daftar.


data = [10, 20, 30, 40, 50]
cari = 30
ditemukan = False
for i in range(len(data)):
  if data[i] == cari:
    ditemukan = True
    # Perintah apa yang paling efisien ditambahkan di sini?
print(ditemukan)

Untuk membuat pencarian lebih efisien (berhenti setelah angka ditemukan), perintah apa yang seharusnya ditambahkan?







39) Kode berikut dirancang untuk mencetak deret Fibonacci sampai suku ke-5 (0, 1, 1, 2, 3).


a, b = 0, 1
for _ in range(5):
  print(a)
  a, b = b, a + b

Analisis output dari kode tersebut dan bandingkan dengan deret Fibonacci yang seharusnya. Manakah pernyataan yang paling akurat?







40) Seorang programmer membuat kode untuk memvalidasi password. Aturannya: panjang password minimal 8 karakter DAN harus mengandung angka. Manakah struktur `IF` yang paling tepat untuk memeriksa password yang TIDAK VALID?







Website Ujian Online

Bagaimana perasaan kalian setelah mencoba latihan soal tentang Struktur Kontrol dalam Pemrograman ini? Apakah kalian merasa terbantu dalam memahami konsep yang sebelumnya mungkin masih terasa membingungkan? Apakah kalian menemukan tantangan baru yang membuat kalian semakin ingin mendalami materi ini? Menghadapi pertanyaan yang menantang memang dapat memicu pemikiran kritis dan meningkatkan pemahaman kita mengenai materi yang sedang dipelajari. Semoga melalui latihan soal ini, kalian dapat merasakan kemajuan yang berarti dalam proses belajar kalian.

Jangan lewatkan kesempatan untuk memperdalam pemahaman melalui latihan soal lainnya di Ujian.online, sebuah Platform Ujian Online yang dirancang untuk membantu persiapan kalian dalam menghadapi Asesmen Sumatif Tengah Semester (ASTS), Asesmen Sumatif Akhir Semester (ASAS), dan Penilaian Akhir Semester (PAS). Dengan fitur yang menyerupai ujian asli seperti penghitung waktu mundur dan sistem penilaian otomatis, platform ini membantu kalian dalam mengevaluasi performa belajar secara efektif. Semoga perjalanan belajar kalian menjadi semakin menyenangkan dan bermanfaat!

Author Image

Author

Bimbel.net

Bimbel.net merupakan website Bimbingan Belajar dan Latihan Soal Online

Leave a Comment

Daftar Tryout Sekarang

Lebih dari 1.000+ peserta sudah simulasi tryout online di Bimbel.net, selanjutnya giliran Anda!