TeachingAlgorithm and ProgrammingSelection & Repetition
Week 3Workshop

Selection & Repetition

Latihan Soal — Selection & Repetition (Bahasa C)

11 soal utama (kombinasi selection, repetition, dan gabungan) + 3 soal Bonus / More Challenge. Level bertahap dari easy hingga advanced.


📤 Pengumpulan Code

Kumpulkan seluruh code jawaban kalian melalui form berikut:

🔗 Link pengumpulan: https://forms.gle/aaFj9L711EwzkXfEA


Soal 1 — Tiga Wujud Air (Easy)

Deskripsi Air memiliki tiga wujud tergantung suhunya (dalam °C): membeku, mencair, atau menguap. Baca sebuah suhu bilangan bulat, lalu tentukan wujud air pada suhu tersebut. Aturan: suhu di bawah 0 → Beku; suhu 0 sampai 100 (inklusif) → Cair; di atas 100 → Uap.

Format Input Satu baris berisi satu bilangan bulat (suhu).

Format Output Satu baris: Beku, Cair, atau Uap.

Contoh Input

150

Contoh Output

Uap

Soal 2 — Nilai Huruf (Easy–Medium)

Deskripsi Sebuah kampus mengubah nilai angka (0–100) menjadi nilai huruf dengan aturan: 85–100 → A, 70–84 → B, 55–69 → C, 40–54 → D, di bawah 40 → E. Baca sebuah nilai angka, lalu tampilkan nilai hurufnya.

Format Input Satu baris berisi satu bilangan bulat (0–100).

Format Output Satu baris berisi satu huruf.

Contoh Input

78

Contoh Output

B

Soal 3 — Mesin Kalkulator (Medium)

Deskripsi Buat sebuah mesin kalkulator sederhana. Baca dua bilangan bulat dan sebuah operator (+, -, *, atau /) di antara keduanya, lalu tampilkan hasil operasinya. Jika operator tidak dikenali, tampilkan Operator tidak valid. (Dijamin pembagi ≠ 0.)

Format Input Satu baris: A op B (dipisahkan spasi), dengan op adalah salah satu operator di atas.

Format Output Satu baris berisi hasil, atau Operator tidak valid.

Contoh Input

8 * 3

Contoh Output

24

Soal 4 — Celengan Harian (Easy)

Deskripsi Seorang anak menabung setiap hari. Pada hari ke-1 ia menabung 1 koin, hari ke-2 menabung 2 koin, hari ke-3 menabung 3 koin, dan seterusnya hingga hari ke-N. Tentukan total koin yang terkumpul setelah N hari.

Format Input Satu baris berisi satu bilangan bulat positif N.

Format Output Satu baris berisi total koin.

Contoh Input

5

Contoh Output

15

Soal 5 — Faktorial (Easy–Medium)

Deskripsi Faktorial dari N (ditulis N!) adalah hasil perkalian semua bilangan bulat dari 1 sampai N. Baca N, lalu tampilkan nilai N!. (Dijamin 0 ≤ N ≤ 20.)

Format Input Satu baris berisi satu bilangan bulat N.

Format Output Satu baris berisi nilai N!.

Contoh Input

5

Contoh Output

120

Soal 6 — Tabel Perkalian (Medium)

Deskripsi Baca sebuah bilangan bulat N, lalu tampilkan tabel perkalian N dari 1 sampai 10 dengan format N x i = hasil per baris.

Format Input Satu baris berisi satu bilangan bulat N.

Format Output Sepuluh baris, masing-masing berformat: N x i = hasil.

Contoh Input

3

Contoh Output

3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27
3 x 10 = 30

Soal 7 — Penjaga Gerbang Prima (Medium)

Deskripsi Sebuah gerbang hanya terbuka untuk bilangan prima. Baca sebuah bilangan bulat N, lalu tentukan apakah N bilangan prima. Tampilkan Prima atau Bukan Prima. (Ingat: bilangan prima adalah bilangan lebih dari 1 yang hanya habis dibagi 1 dan dirinya sendiri.)

Format Input Satu baris berisi satu bilangan bulat N.

Format Output Satu baris: Prima atau Bukan Prima.

Contoh Input

7

Contoh Output

Prima

Soal 8 — Sensus Genap-Ganjil (Medium)

Deskripsi Panitia mendata sejumlah bilangan. Baca sebuah bilangan N, diikuti N buah bilangan bulat. Hitung berapa banyak bilangan genap dan berapa banyak bilangan ganjil di antaranya.

Format Input Baris pertama: bilangan bulat N. Baris/berikutnya: N bilangan bulat.

Format Output

Genap: <jumlah bilangan genap>
Ganjil: <jumlah bilangan ganjil>

Contoh Input

5
4 7 2 9 6

Contoh Output

Genap: 3
Ganjil: 2

Soal 9 — Permainan Fizz-Buzz (Medium–Advanced)

Deskripsi Dalam sebuah permainan, pemain menyebut angka 1 hingga N secara berurutan, dengan aturan: angka kelipatan 3 diganti Fizz, kelipatan 5 diganti Buzz, dan kelipatan 3 sekaligus 5 diganti FizzBuzz. Angka lain disebut apa adanya. Tampilkan urutan sebutan dari 1 sampai N, satu per baris.

Format Input Satu baris berisi satu bilangan bulat N.

Format Output N baris sesuai aturan permainan.

Contoh Input

15

Contoh Output

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

Soal 10 — Menara Bintang (Advanced)

Deskripsi Baca sebuah bilangan bulat positif N, lalu cetak segitiga siku-siku dari tanda bintang (*) setinggi N baris, dengan baris ke-i berisi i buah bintang.

Format Input Satu baris berisi satu bilangan bulat positif N.

Format Output N baris berisi tanda bintang membentuk segitiga.

Contoh Input

4

Contoh Output

*
**
***
****

Soal 11 — Detektor Kelipatan Tujuh (Advanced)

Deskripsi Sebuah alat memindai deret bilangan satu per satu dan berhenti pada bilangan pertama yang habis dibagi 7. Baca N, lalu N buah bilangan bulat. Tampilkan posisi (urutan ke-berapa, mulai dari 1) bilangan pertama yang habis dibagi 7. Jika tidak ada, tampilkan -1.

Format Input Baris pertama: N. Berikutnya: N bilangan bulat.

Format Output Satu baris: posisi bilangan pertama yang habis dibagi 7, atau -1.

Contoh Input

5
3 10 14 8 21

Contoh Output

3


🔥 BONUS / MORE CHALLENGE

3 soal tingkat sangat sulit.


Bonus 1 — Kode Rahasia Armstrong (Sangat Sulit)

Deskripsi Sebuah sistem keamanan hanya menerima "kode rahasia" berupa bilangan tiga digit yang istimewa: jumlah pangkat tiga dari masing-masing digitnya sama dengan bilangan itu sendiri. Diberikan dua bilangan A dan B (100 ≤ A ≤ B ≤ 999), tampilkan semua kode rahasia tersebut dalam rentang [A, B], terurut menaik, masing-masing pada baris terpisah. Dijamin selalu ada minimal satu kode dalam rentang uji.

Format Input Satu baris berisi dua bilangan bulat A dan B.

Format Output Setiap kode rahasia pada baris terpisah, terurut menaik.

Contoh Input

100 500

Contoh Output

153
370
371
407

Bonus 2 — Piramida Cermin (Sangat Sulit)

Deskripsi Baca sebuah bilangan bulat N (1 ≤ N ≤ 9). Cetak piramida angka simetris setinggi N baris, di mana baris ke-i berisi angka naik 1 sampai i lalu turun kembali sampai 1, dengan spasi di depan agar berbentuk piramida rata tengah. Perhatikan contoh dengan saksama.

Format Input Satu baris berisi satu bilangan bulat N.

Format Output N baris membentuk piramida angka simetris.

Contoh Input

5

Contoh Output

    1
   121
  12321
 1234321
123454321

Bonus 3 — Pembongkar Bilangan (Sangat Sulit)

Deskripsi Setiap bilangan bulat > 1 dapat "dibongkar" menjadi perkalian bilangan-bilangan prima penyusunnya (faktorisasi prima). Baca sebuah bilangan bulat N (N ≥ 2), lalu tampilkan faktorisasi primanya dalam format N = p1 x p2 x p3 x ..., dengan faktor terurut menaik dan faktor berulang ditulis sebanyak kemunculannya.

Format Input Satu baris berisi satu bilangan bulat N (N ≥ 2).

Format Output Satu baris: N = <faktorisasi prima dipisahkan " x ">.

Contoh Input

60

Contoh Output

60 = 2 x 2 x 3 x 5