Latihan Kode Program C++: Menentukan Nama Hari

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


Soal Menentukan Nama Hari

Buatlah kode program C++ yang menampilkan nama hari berdasarkan angka yang diinput oleh user. Misalnya jika diinput angka 1, tampilkan "Senin", atau jika diinput angka 4 tampilkan "Kamis". Jika user menginput di luar angka 1-7, maka tampilkan pesan: "Pilihan tidak tersedia".

Berikut daftar nama hari:

  1. Senin
  2. Selasa
  3. Rabu
  4. Kamis
  5. Jumat
  6. Sabtu
  7. Minggu

Contoh hasil kode program (1):

Input angka hari (1-7): 4
Kamis

Contoh hasil kode program (2):

Input angka hari (1-7): 6
Sabtu

Contoh hasil kode program (3):

Input angka hari (1-7): 9
Pilihan tidak tersedia

Tips Membuat Kode Program Menentukan Nama Hari

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


Kode Program C++ Menentukan Nama Hari (If-Else)

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

#include <iostream>

using namespace std;

int main()
{
  cout << "##  Program C++ Menentukan Nama Hari  ##" << endl;
  cout << "========================================" << endl;
  cout << endl;

  int n;

  cout << "Input angka hari (1-7): ";
  cin >> n;

  if ( n == 1) {
    cout << "Senin";
  }
  else if ( n == 2) {
    cout << "Selasa";
  }
  else if ( n == 3) {
    cout << "Rabu";
  }
  else if ( n == 4) {
    cout << "Kamis";
  }
  else if ( n == 5) {
    cout << "Jumat";
  }
  else if ( n == 6) {
    cout << "Sabtu";
  }
  else if ( n == 7) {
    cout << "Minggu";
  }
  else {
    cout << "Pilihan tidak tersedia";
  }

  cout << endl;

  return 0;
}

Latihan Kode Program C++ Menentukan Nama Hari (1)

Kode program butuh satu variabel, yakni n yang akan menampung inputan angka dari user. Angka ini harus antara 1-7 dan dibaca menggunakan perintah cin >> n di baris 14.

Kemudian antara baris 16-39 terdapat 7 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 7.

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


Kode Program C++ Menentukan Nama Hari (Switch-Case)

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

#include <iostream>

using namespace std;

int main()
{
  cout << "##  Program C++ Menentukan Nama Hari  ##" << endl;
  cout << "========================================" << endl;
  cout << endl;

  int n;

  cout << "Input angka hari (1-7): ";
  cin >> n;

  switch (n) {
   case 1:
     cout << "Senin";
     break;
   case 2:
     cout << "Selasa";
     break;
   case 3:
     cout << "Rabu";
     break;
   case 4:
     cout << "Kamis";
     break;
   case 5:
     cout << "Jumat";
     break;
   case 6:
     cout << "Sabtu";
     break;
   case 7:
     cout << "Minggu";
     break;
   default :
     cout << "Pilihan tidak tersedia";
  }

  cout << endl;

  return 0;
}

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


Kode Program C++ Menentukan Nama Hari (Bonus)

Sebagai bonus, saya ingin membuat kode program alternatif:

#include <iostream>

using namespace std;

int main()
{
  cout << "##  Program C++ Menentukan Nama Hari  ##" << endl;
  cout << "========================================" << endl;
  cout << endl;

  int n;
  string hari;

  cout << "Input angka hari (1-7): ";
  cin >> n;

  switch (n) {
   case 1:
     hari = "Senin";
     break;
   case 2:
     hari = "Selasa";
     break;
   case 3:
     hari = "Rabu";
     break;
   case 4:
     hari = "Kamis";
     break;
   case 5:
     hari = "Jumat";
     break;
   case 6:
     hari = "Sabtu";
     break;
   case 7:
     hari = "Minggu";
     break;
   default :
     cout << "Pilihan tidak tersedia";
  }

  if ((n >= 1) && (n <= 7)) {
    cout << "Hari ke-" <<n<<" adalah "<< hari;
  }

  cout << endl;

  return 0;
}

Hasil kode program:

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

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

Proses cout baru dilakukan di baris 44, yakni dalam sebuah kondisi if-else untuk memastikan apakah n antara 1-7.

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.


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

Add Comment