SEKOLAHSMA

Algoritma & Pemrograman Lanjut

Informatika SMA · Kelas 11 · Fase F

Struktur data, modularisasi/fungsi, penggunaan pustaka (library), dan pemrograman yang lebih efisien.

Konsep kunci yang dipelajari

  • struktur data (array, list, stack, queue)
  • modularisasi dan fungsi
  • penggunaan pustaka (library)
  • rekursi dasar
  • efisiensi dan keterbacaan kode

Contoh soal Algoritma & Pemrograman Lanjut 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: 7, 13, 19, 25, ... Suku ke-7 adalah ...

  1. A. 43 ✓ Jawaban benar
  2. B. 49
  3. C. 42
  4. D. 37
  5. E. 55
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: 13 - 7 = 6, 19 - 13 = 6, 25 - 19 = 6; selisihnya tetap 6, jadi ini barisan aritmetika dengan beda b = 6. 2. Kumpulkan data untuk rumus: suku pertama a = 7, beda b = 6, dan yang diminta suku ke-7, artinya ada 7 - 1 = 6 kali lompatan beda dari suku pertama. 3. Masukkan ke U(n) = a + (n-1) x b: U(7) = 7 + 6 x 6 = 7 + 36. 4. Jumlahkan ruas terakhir: 7 + 36 = 43, itulah nilai suku ke-7. Jawaban benar: A -- nilai suku ke-7 diperoleh dari suku pertama 7 ditambah 6 kali beda 6, yaitu 7 + 36 = 43, 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

Nilai dari (4=4) ATAU (2>7) adalah ...

  1. A. Kosong
  2. B. Benar ✓ Jawaban benar
  3. C. Error
  4. D. Salah
  5. E. Tidak tentu
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: (4 = 4) dan (2 > 7); keduanya harus dinilai dulu sebelum operator ATAU bekerja. 2. Nilai keduanya: (4 = 4) = Benar sebab 4 memang sama dengan 4, sedangkan (2 > 7) = Salah sebab 2 tidak lebih besar dari 7. 3. Terapkan aturan ATAU: ATAU sudah menghasilkan Benar bila MINIMAL SATU sisinya Benar, sehingga Benar ATAU Salah = Benar. Jawaban benar: B -- setelah kedua kurung dievaluasi hasilnya Benar di kiri dan Salah di kanan; karena operator ATAU cukup butuh SATU sisi bernilai Benar, keseluruhan ekspresi bernilai Benar. Tips: Tulis nilai tiap kurung di kertas sebelum menggabungkan; hasil akhir ekspresi logika hanya Benar atau Salah.

SOAL 3

Algoritma: total=0; untuk i dari 1 sampai 6 langkah 2, total=total+i. Nilai total akhir adalah ...

  1. A. 11
  2. B. 9 ✓ Jawaban benar
  3. C. 22
  4. D. 8
  5. E. 15
Pembahasan

Konsep: Akumulator total=total+i menyimpan jumlah nilai i yang dilewati loop; dengan langkah tetap, nilai-nilai itu membentuk deret aritmetika sehingga bisa dijumlah dengan rumus banyak suku x (suku awal + suku akhir) : 2. Langkah penyelesaian: 1. Perintah total=total+i menambahkan NILAI i, jadi yang perlu dijumlahkan adalah semua i yang dilewati: 1 + 3 + 5. 2. Dengan langkah 2, banyak suku = (5 - 1) : 2 + 1 = 3, dan suku terakhir yang masih memenuhi i <= 6 adalah 5. 3. Pakai rumus jumlah deret aritmetika: 3 x (1 + 5) : 2. 4. Hitung hasilnya: 3 x 6 = 18, lalu dibagi 2 menjadi 9. Jawaban benar: B -- variabel total menampung JUMLAH semua 3 nilai i yang dilewati loop (bukan banyaknya putaran), sehingga total akhir = 3 x (1 + 5) : 2 = 9. Tips: Bedakan BANYAK putaran dengan JUMLAH nilai i -- yang ditambahkan ke total adalah nilai i, dan cek dulu apakah batas atas benar terlewati oleh langkahnya.

SOAL 4

Perhatikan pola: 3, 10, 17, 24, ... Suku ke-5 adalah ...

  1. A. 38
  2. B. 35
  3. C. 24
  4. D. 45
  5. E. 31 ✓ Jawaban benar
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: 10 - 3 = 7, 17 - 10 = 7, 24 - 17 = 7; selisihnya tetap 7, jadi ini barisan aritmetika dengan beda b = 7. 2. Kumpulkan data untuk rumus: suku pertama a = 3, beda b = 7, dan yang diminta suku ke-5, artinya ada 5 - 1 = 4 kali lompatan beda dari suku pertama. 3. Masukkan ke U(n) = a + (n-1) x b: U(5) = 3 + 4 x 7 = 3 + 28. 4. Jumlahkan ruas terakhir: 3 + 28 = 31, itulah nilai suku ke-5. Jawaban benar: E -- nilai suku ke-5 diperoleh dari suku pertama 3 ditambah 4 kali beda 7, yaitu 3 + 28 = 31, 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 5

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

  1. A. 9
  2. B. 16
  3. C. 20 ✓ Jawaban benar
  4. D. 25
  5. E. 24
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..4 berjalan 4 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: 4 putaran luar x 5 cetakan per putaran = 20 bintang. Jawaban benar: C -- total bintang sama dengan banyak putaran loop luar dikali banyak putaran loop dalam, yaitu 4 x 5 = 20 kali perintah cetak dijalankan. Tips: Loop bersarang itu perkalian, bukan penjumlahan -- pastikan dulu perintahnya memang berada di dalam loop terdalam.

Latihan soal Algoritma & Pemrograman Lanjut

Tersedia 80 soal latihan Algoritma & Pemrograman Lanjut 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