SEKOLAHSMA

Algoritma & Pemrograman

Informatika SMA · Kelas 10 · Fase E

Pemrograman prosedural dalam satu bahasa; menyusun program terstruktur dari notasi algoritma.

Konsep kunci yang dipelajari

  • variabel, tipe data, dan ekspresi
  • struktur kendali: urutan, percabangan, perulangan
  • notasi algoritma (pseudocode, flowchart)
  • prosedur dan fungsi
  • menerjemahkan algoritma ke kode program

Contoh soal Algoritma & Pemrograman dan pembahasannya

5 soal pilihan ganda berikut diambil dari bank soal SekolahSMA, lengkap dengan pembahasan langkah demi langkah. Coba kerjakan dulu sebelum membaca pembahasannya.

SOAL 1

Perhatikan pola: 3, 11, 19, 27, ... Suku ke-10 adalah ...

  1. A. 83
  2. B. 75 ✓ Jawaban benar
  3. C. 80
  4. D. 67
  5. E. 91
Pembahasan

Konsep: Barisan aritmetika naik dengan beda tetap, sehingga suku ke-n = suku pertama + (n-1) x beda -- cukup satu perkalian, tidak perlu menulis semua sukunya. Langkah penyelesaian: 1. Periksa selisih tiap dua suku berurutan: 11 - 3 = 8, 19 - 11 = 8, 27 - 19 = 8; selisihnya tetap 8, jadi ini barisan aritmetika dengan beda b = 8. 2. Kumpulkan data untuk rumus: suku pertama a = 3, beda b = 8, dan yang diminta suku ke-10, artinya ada 10 - 1 = 9 kali lompatan beda dari suku pertama. 3. Masukkan ke U(n) = a + (n-1) x b: U(10) = 3 + 9 x 8 = 3 + 72. 4. Jumlahkan ruas terakhir: 3 + 72 = 75, itulah nilai suku ke-10. Jawaban benar: B -- nilai suku ke-10 diperoleh dari suku pertama 3 ditambah 9 kali beda 8, yaitu 3 + 72 = 75, sesuai rumus barisan aritmetika U(n) = a + (n-1) x b. Tips: Yang dikalikan adalah (n-1), bukan n, karena suku pertama belum pernah melompat.

SOAL 2

Perulangan bersarang: untuk i dari 1 sampai 2, untuk j dari 1 sampai 5, cetak bintang. Total bintang tercetak adalah ...

  1. A. 7
  2. B. 12
  3. C. 25
  4. D. 4
  5. E. 10 ✓ Jawaban benar
Pembahasan

Konsep: Pada loop bersarang, badan loop dalam dijalankan sebanyak (putaran luar) x (putaran dalam), karena loop dalam diulang dari awal setiap kali loop luar berganti nilai. Langkah penyelesaian: 1. Pisahkan dua loop-nya: loop luar i = 1..2 berjalan 2 kali, loop dalam j = 1..5 berjalan 5 kali. 2. Perintah cetak bintang berada di dalam loop j, jadi ia dieksekusi 5 kali untuk setiap satu putaran loop i -- bukan 5 kali untuk seluruh program. 3. Kalikan keduanya: 2 putaran luar x 5 cetakan per putaran = 10 bintang. Jawaban benar: E -- total bintang sama dengan banyak putaran loop luar dikali banyak putaran loop dalam, yaitu 2 x 5 = 10 kali perintah cetak dijalankan. Tips: Loop bersarang itu perkalian, bukan penjumlahan -- pastikan dulu perintahnya memang berada di dalam loop terdalam.

SOAL 3

Nilai dari (5>3) DAN (9<2) adalah ...

  1. A. Salah ✓ Jawaban benar
  2. B. Benar
  3. C. Kosong
  4. D. Tidak tentu
  5. E. Error
Pembahasan

Konsep: Ekspresi logika dinilai bertahap: setiap perbandingan di dalam kurung diubah dulu jadi Benar/Salah, baru operator DAN atau ATAU menggabungkannya. DAN butuh keduanya Benar, ATAU cukup salah satu Benar. Langkah penyelesaian: 1. Perbandingan di dalam kurung dievaluasi lebih dulu, baru hasilnya digabung operator DAN. 2. Sisi kiri (5 > 3): 5 memang lebih besar dari 3, jadi nilainya Benar. 3. Sisi kanan (9 < 2): 9 tidak lebih kecil dari 2, jadi nilainya Salah. 4. Karena DAN hanya menghasilkan Benar bila KEDUA sisinya Benar, gabungan Benar DAN Salah bernilai Salah. Jawaban benar: A -- setelah kedua kurung dievaluasi hasilnya Benar di kiri dan Salah di kanan; karena operator DAN menuntut KEDUA sisinya bernilai Benar, keseluruhan ekspresi bernilai Salah. Tips: Tulis nilai tiap kurung di kertas sebelum menggabungkan; hasil akhir ekspresi logika hanya Benar atau Salah.

SOAL 4

Nilai dari (3>8) DAN (6>1) adalah ...

  1. A. Tidak tentu
  2. B. Benar
  3. C. Kosong
  4. D. Salah ✓ Jawaban benar
  5. E. Error
Pembahasan

Konsep: Ekspresi logika dinilai bertahap: setiap perbandingan di dalam kurung diubah dulu jadi Benar/Salah, baru operator DAN atau ATAU menggabungkannya. DAN butuh keduanya Benar, ATAU cukup salah satu Benar. Langkah penyelesaian: 1. Kerjakan kurung kiri lebih dulu: (3 > 8) bernilai Salah karena 3 tidak lebih besar dari 8. 2. Lalu kurung kanan: (6 > 1) bernilai Benar karena 6 memang lebih besar dari 1. 3. Gabungkan dengan operator DAN: DAN hanya menghasilkan Benar bila KEDUA sisinya Benar; dengan sisi kiri Salah dan sisi kanan Benar, hasil akhirnya Salah. Jawaban benar: D -- setelah kedua kurung dievaluasi hasilnya Salah di kiri dan Benar di kanan; karena operator DAN menuntut KEDUA sisinya bernilai Benar, keseluruhan ekspresi bernilai Salah. Tips: Tulis nilai tiap kurung di kertas sebelum menggabungkan; hasil akhir ekspresi logika hanya Benar atau Salah.

SOAL 5

Nilai dari (6>1) DAN (2>7) adalah ...

  1. A. Tidak tentu
  2. B. Kosong
  3. C. Error
  4. D. Salah ✓ Jawaban benar
  5. E. Benar
Pembahasan

Konsep: Ekspresi logika dinilai bertahap: setiap perbandingan di dalam kurung diubah dulu jadi Benar/Salah, baru operator DAN atau ATAU menggabungkannya. DAN butuh keduanya Benar, ATAU cukup salah satu Benar. Langkah penyelesaian: 1. Pisahkan ekspresi menjadi dua perbandingan yang berdiri sendiri: (6 > 1) dan (2 > 7); keduanya harus dinilai dulu sebelum operator DAN bekerja. 2. Nilai keduanya: (6 > 1) = Benar sebab 6 memang lebih besar dari 1, sedangkan (2 > 7) = Salah sebab 2 tidak lebih besar dari 7. 3. Terapkan aturan DAN: DAN hanya menghasilkan Benar bila KEDUA sisinya Benar, sehingga Benar DAN Salah = Salah. Jawaban benar: D -- setelah kedua kurung dievaluasi hasilnya Benar di kiri dan Salah di kanan; karena operator DAN menuntut KEDUA sisinya bernilai Benar, keseluruhan ekspresi bernilai Salah. Tips: Tulis nilai tiap kurung di kertas sebelum menggabungkan; hasil akhir ekspresi logika hanya Benar atau Salah.

Latihan soal Algoritma & Pemrograman

Tersedia 80 soal latihan Algoritma & Pemrograman dengan pembahasan langkah demi langkah, plus Kak Guru AI yang menjelaskan konsep 24/7. Mulai gratis tanpa kartu kredit.

Daftar gratis & mulai latihan

Topik lain di Informatika