Latihan Kode Program Bahasa C: Menentukan Nama Bulan

Contoh soal dan latihan kode program bahasa C kali ini membahas cara menentukan nama bulan. Latihan ini menguji pemahaman seputar kondisi if else dan switch case.


Soal Menentukan Nama Bulan

Buatlah kode program dalam bahasa C yang menampilkan nama bulan berdasarkan angka yang diinput oleh user. Misalnya jika diinput angka 1, tampilkan "Januari", atau jika diinput angka 4 tampilkan "April".

Jika user menginput di luar angka 1-12, maka tampilkan pesan: "Pilihan tidak tersedia".

Berikut daftar nama bulan:

  1. Januari
  2. Februari
  3. Maret
  4. April
  5. Mei
  6. Juni
  7. Juli
  8. Agustus
  9. September
  10. Oktober
  11. November
  12. Desember

Contoh hasil kode program (1):

## Program Bahasa C Menentukan Nama Bulan ##
============================================

Input angka bulan (1-12): 7
Juli

Contoh hasil kode program (2):

## Program Bahasa C Menentukan Nama Bulan ## 
============================================

Input angka bulan (1-12): 8
Agustus

Contoh hasil kode program (3):

## Program Bahasa C Menentukan Nama Bulan ## 
============================================

Input angka bulan (1-12): 13
Pilihan tidak tersedia

Tips Membuat Kode Program Menentukan Nama Bulan

Soal ini bisa dipecahkan dengan membuat beberapa kali kondisi if-else, atau menggunakan struktur switch case. Berikut tutorial pendahuluan yang bisa diikuti:


Kode Program Bahasa C Menentukan Nama Bulan (If-Else)

Jika menggunakan struktur kondisi if-else, kode program menentukan nama bulan bisa dibuat sebagai berikut:

#include <stdio.h>

int main(void)
{
  printf("## Program Bahasa C Menentukan Nama Bulan ## \n");
  printf("============================================ \n\n");

  int n;

  printf("Input angka bulan (1-12): ");
  scanf("%d",&n);

  if ( n == 1) {
    printf("Januari");
  }
  else if ( n == 2) {
    printf("Februari");
  }
  else if ( n == 3) {
    printf("Maret");
  }
  else if ( n == 4) {
    printf("April");
  }
  else if ( n == 5) {
    printf("Mei");
  }
  else if ( n == 6) {
    printf("Juni");
  }
  else if ( n == 7) {
    printf("Juli");
  }
  else if ( n == 8) {
    printf("Agustus");
  }
  else if ( n == 9) {
    printf("September");
  }
  else if ( n == 10) {
    printf("Oktober");
  }
  else if ( n == 11) {
    printf("November");
  }
  else if ( n == 12) {
    printf("Desember");
  }
  else {
    printf("Pilihan tidak tersedia");
  }

  printf("\n");

  return 0;
}

Latihan Kode Program C++ - Menentukan Nama Bulan

Kode program butuh satu variabel n yang akan menampung inputan angka dari user. Angka ini harus antara 1-12 dan dibaca menggunakan perintah scanf("%d",&n) di baris 11.

Kemudian antara baris 13-51 terdapat 12 kali pemeriksaan kondisi if-else. Kodenya sendiri cukup sederhana, kita hanya perlu membandingkan apakah n sama dengan 1, atau apakah n sama dengan 2, dst hingga apakah n sama dengan 12.

Jika user menginput angka selain 1-12, maka akan masuk ke blok else di baris 49. Inilah contoh kode program mencari nama bulan menggunakan struktur if-else.


Kode Program Bahasa C Menentukan Nama Bulan (Switch-Case)

Jika menggunakan struktur kondisi switch-case, kode program menentukan nama bulan bisa dibuat sebagai berikut:

#include <stdio.h>

int main(void)
{
  printf("## Program Bahasa C Menentukan Nama Bulan ## \n");
  printf("============================================ \n\n");

  int n;

  printf("Input angka bulan (1-12): ");
  scanf("%d",&n);

  switch (n) {
   case 1:
     printf("Januari");
     break;
   case 2:
     printf("Februari");
     break;
   case 3:
     printf("Maret");
     break;
   case 4:
     printf("April");
     break;
   case 5:
     printf("Mei");
     break;
   case 6:
     printf("Juni");
     break;
   case 7:
     printf("Juli");
     break;
   case 8:
     printf("Agustus");
     break;
   case 9:
     printf("September");
     break;
   case 10:
     printf("Oktober");
     break;
   case 11:
     printf("November");
     break;
   case 12:
     printf("Desember");
     break;
   default :
     printf("Pilihan tidak tersedia");
  }

  printf("\n");

  return 0;
}

Kali ini saya mengganti semua block if-else menjadi struktur switch case. Terdapat 12 kondisi atau case yang diperiksa dari case 1, case 2, dst hingga case 12. Jika ternyata user menginput angka di luar 1-12, case default di baris 50 yang akan berjalan.


Kode Program Bahasa C Menentukan Nama Bulan (Bonus)

Sebagai bonus, saya ingin membuat kode program alternatif:

#include <stdio.h>

int main(void)
{
  printf("## Program Bahasa C Menentukan Nama Bulan ## \n");
  printf("============================================ \n\n");

  int n;
  char month[10];

  printf("Input angka bulan (1-12): ");
  scanf("%d",&n);

  switch (n) {
   case 1:  strcpy(month, "Januari");   break;
   case 2:  strcpy(month, "Februari");  break;
   case 3:  strcpy(month, "Maret");     break;
   case 4:  strcpy(month, "April");     break;
   case 5:  strcpy(month, "Mei");       break;
   case 6:  strcpy(month, "Juni");      break;
   case 7:  strcpy(month, "Juli");      break;
   case 8:  strcpy(month, "Agustus");   break;
   case 9:  strcpy(month, "September"); break;
   case 10: strcpy(month, "Oktober");   break;
   case 11: strcpy(month, "November");  break;
   case 12: strcpy(month, "Desember");  break;
   default: printf("Pilihan tidak tersedia \n");
  }

  if ((n >= 1) && (n <= 12)) {
    printf("Bulan ke-%d adalah %s \n",n,month);
  }

  printf("\n");

  return 0;
}

Hasil kode program:

Latihan Kode Program C++ Menentukan Nama Bulan (2)

Disini kita tetap menggunakan kondisi switch-case, akan tetapi perintah yang dijalankan pada setiap case akan menyimpan nama bulan ke dalam string bulan.

Proses printf baru dilakukan di baris 31 dalam sebuah kondisi if-else untuk memastikan apakah n antara 1-12.

Bahasa C tidak mengizinkan penimpaan string secara langsung seperti month = "Februari", jadi kita harus menggunakan fungsi strcpy() untuk mengisi teks ke variabel month.

Dalam pembuatan kode program sebenarnya, kita akan lebih banyak menggunakan teknik seperti ini. Hasil kondisi switch case biasanya tidak langsung ditampilkan, tapi disimpan terlebih dahulu ke dalam sebuah variabel dan baru diproses pada akhir kode program.

Karena whitespace atau karakter spasi akan diabaikan oleh compiler C, kita bisa membuat kode program menjadi lebih rapi seperti contoh diatas.


Demikian contoh kode program menentukan nama bulan dalam bahasa C. Semoga bisa bermanfaat.

Add Comment