C++ Program Menentukan Jumlah Hari Pada Suatu Bulan dan Suatu Tahun

Deskripsi Program

Program ini dibuat untuk memudahkan pengguna dalam menentukan jumlah hari pada suatu bulan dan suatu tahun.
Untuk menjalankan program, kita akan menggunakan array. Aplikasi yang digunakan adalah Borland C++. Berikut input-an programnya.


Input Program

#include
#include
main()
{
int bulan, tahun, jh;
int jum_hari[12]={31,28,31,30,31,30,31,31,30,31,30,31};
cout<<“PROGRAM MENENTUKAN JUMLAH HARI PADA SUATU BULAN DAN SUATU TAHUN”;
cout<<endl<<endl;
cout<<“Masukkan bulan : “;cin>>bulan;
cout<<“Masukkan tahun: “;cin>>tahun;
cout<<endl;

switch(bulan)
{
case 1: case 3: case 4: case 5: case 6:
case 7: case 8: case 9: case 10: case 11: case 12:
{
jh=jum_hari[bulan-1];
cout<<“Jumlah hari dalam bulan “<<bulan<<” tahun “<<tahun<<” adalah “<<jh;
break;
}
case 2:
{
if(tahun%4==0)
jh=29;
else
jh=28;
cout<<“Jumlah hari dalam bulan “<<bulan<<” tahun “<<” adalah “<<jh;
break;
}
default:
{
cout<<“Anda salah memasukkan bulan!”;
break;
}
}
getch();
}

Output Program

Algoritma Program

  • #include           adalah header library dari: getch()
  • #include      adalah header library dari: cout dan cin
1. Pengguna memasukkan bulan dan tahun yang jumlah harinya ingin pengguna ketahui.
2. Lalu program akan menerima input dari pengguna dan program akan menampilkan 
    jumlah hari sesuai dengan bulan dan tahun yang diinput oleh pengguna tadi.


Bagaimana cara program bekerja?

Misalkan input program ini:

int jum_hari[12]={31,28,31,30,31,30,31,31,30,31,30,31};

kita bayangkan bentuknya menjadi sebagai berikut:

Kenapa dimulai dari 0? Karena dalam bahasa C++, indeks array dimulai dari 0. jum_hari merupakan array dengan jumlah elemen 12 (1 tahun = 12 bulan), maka variabelnya adalah jum_hari[0], jum_hari[1], jum_hari[2], …, jum_hari[11]. 

Sehingga dapat diartikan sebagai berikut:

  • jum_hari[0] maksudnya adalah jumlah hari pada bulan 1.
  • jum_hari[1] maksudnya adalah jumlah hari pada bulan 2.
  • jum_hari[11] maksudnya adalah jumlah hari pada bulan 12.

Hal tersebut berkaitan dengan input-an berikut:     

case 1: case 3: case 4: case 5: case 6:
case 7: case 8: case 9: case 10: case 11: case 12:
{
jh=jum_hari[bulan-1];
cout<<“Jumlah hari dalam bulan “<<bulan<<” tahun “<<tahun<<” adalah “<<jh;
break;

Indeksnya dikurangi dengan angka 1. Mengapa? karena indeks jum_hari dimulai dari angka 0. Jadi misalkan kita ingin mengetahui jumlah hari pada bulan 4, maka 4 harus dikurangi dengan 1, karena jum_hari[4-1] = jum_hari[3] yang maksudnya adalah jumlah hari pada bulan 4.



Mengapa bulan 2 (Februari) dibedakan dengan bulan-bulan lainnya?

case 2:
{
if(tahun%4==0)
jh=29;
elsejh=28;
cout<<“Jumlah hari dalam bulan “<<bulan<<” tahun “<<” adalah “<<jh;
break;

Lain halnya dengan bulan lain, bulan 2 dibedakan sendiri dikarenakan jumlah hari pada bulan 2 di tahun kabisat berbeda dengan jumlah hari pada bulan 2 yang tidak berada dalam tahun kabisat.

Tahun kabisat adalah tahun yang bilangannya habis dibagi 4 (jika dibagi 4 hasilnya tidak bersisa/tidak berkoma/bukan pecahan). Jumlah hari pada bulan Februari di tahun kabisat ialah sebanyak 29 hari. Sedangkan jumlah hari pada bulan Februari yang bukan dalam tahun kabisat ialah sebanyak 28 hari.

Contoh: 

  • Tahun 2018 

         2018 / 4 = 504,5
         Karena hasilnya berkoma, maka tahun 2018 bukan merupakan tahun 
         kabisat. Sehingga jumlah hari bulan 2 di tahun 2018 ialah sebanyak 28 hari.

  • Tahun 2012

         2012 / 4 = 503
         Karena hasilnya habis dibagi 4, maka tahun 2012 merupakan tahun kabisat. Sehingga
         jumlah hari bulan 2 di tahun 2012 ialah sebanyak 29 hari.

Terima kasih sudah berkunjung 😄

Leave a comment