Latihan Kode Program C++: Cek Tahun Kabisat

Latihan kode program C++ kali ini akan membahas cara memeriksa tahun kabisat (leap year). Soal ini biasa dipakai untuk menguji pemahaman seputar kondisi if else.


Soal Cek Tahun Kabisat

Buatlah kode program yang meminta data input berupa sebuah tahun (4 digit angka). Program kemudian memeriksa apakah tahun tersebut merupakan tahun kabisat atau tidak.

Tahun kabisat adalah tahun yang bulan februari-nya berjumlah 29 hari. Biasanya tahun kabisat datang setiap 4 tahun sekali, tapi ada ketentuan yang lebih khusus. Syarat dari tahun kabisat adalah:

  • Jika angka tahun itu habis dibagi 400, maka itu tahun kabisat.
  • Jika angka tahun itu tidak habis dibagi 400 tetapi habis dibagi 100, maka itu bukan tahun kabisat.
  • Jika angka tahun itu tidak habis dibagi 400, tidak habis dibagi 100 akan tetapi habis dibagi 4, maka itu adalah tahun kabisat.
  • Jika angka tahun tidak habis dibagi 400, tidak habis dibagi 100, dan tidak habis dibagi 4, maka bukan tahun kabisat.

Berikut contoh tampilan akhir yang diinginkan (1) :

Input tahun: 2021
2021 bukan tahun kabisat

Berikut contoh tampilan akhir yang diinginkan (2) :

Input tahun: 2024
2024 adalah tahun kabisat


Tips Membuat Kode Program Cek Tahun Kabisat

Berdasarkan syarat dari tahun kabisat, soal ini bisa dipecahkan dengan struktur if else if, yakni if tahun yang diinput user habis dibagi 400, tampilkan pesan "adalah tahun kabisat", else if habis dibagi 100, tampilkan pesan "bukan tahun kabisat", dst.

Berikut tutorial pendahuluan yang bisa diikuti:


Kode Program C++ Cek Tahun Kabisat

Berikut salah satu solusi dari soal cek tahun kabisat menggunakan bahasa pemrograman C++:

#include <iostream>

using namespace std;

int main()
{
  cout << "##  Program C++ Cek Tahun Kabisat  ##" << endl;
  cout << "=====================================" << endl;
  cout << endl;

  int year;

  cout << "Input tahun: ";
  cin >> year;

   if (year % 400 == 0) {
     cout << year << " adalah tahun kabisat";
   }
   else if (year % 100 == 0) {
     cout << year << " bukan tahun kabisat";
   }
   else if (year % 4 == 0) {
     cout << year << " adalah tahun kabisat";
   }
   else {
     cout << year << " bukan tahun kabisat";
   }

  cout << endl;
  return 0;
}

Latihan Kode Program C++ Cek Tahun Kabisat

Di baris 11 terdapat perintah untuk deklarasi variabel year bertipe integer. Variabel inilah yang akan menampung angka tahun yang diinput oleh user di baris 14.

Selanjutnya terdapat 3 pemeriksaan kondisi if else antara baris 16-27. Semua kondisi ini sesuai dengan syarat untuk menentukan apakah sebuah tahun merupakan tahun kabisat atau tidak.

Operator % dipakai untuk mencari sisa hasil bagi, atau disebut juga dengan operator modulus.

Jika variabel year habis dibagi 400, maka itu adalah tahun kabisat. Kondisi ini diperiksa di baris 16.

Hanya jika year tidak habis dibagi 400, barulah kondisi kedua dijalankan, yakni apakah year habis dibagi 100 (baris 19). Jika iya, maka itu bukan tahun kabisat.

Lanjut, hanya jika 2 kondisi pertama tidak dipenuhi akan diperiksa lagi apakah year habis dibagi 4 atau tidak (baris 22). Jika iya, maka itu adalah tahun kabisat.

Terakhir, jika ketiga kondisi sebelumnya tidak terpenuhi, maka year bukanlah tahun kabisat.


Demikian kode program latihan cek tahun kabisat dalam bahasa pemrograman C++. Semoga bisa bermanfaat.

Add Comment