Ayam Koding

Belajar Algoritme & Pemrograman

Program C Untuk Menentukan Tahun Kabisat (2024)

Updated on 2024-01-30

Hai sahabat ayamkoding, kali ini kita akan membahas program bahasa C untuk menentukan apakah tahun tersebut merupakan tahun kabisat atau bukan.

Apakah Anda tahu apa itu tahun kabisat?

Pernahkan Anda melihat kalender pada bulan Februari? Berapa jumlah hari dalam bulan ini?

Bulan Februari mempunyai tanggal yang berbeda dibandingkan bulan lain, terkadang hanya 28 dan bahkan pada tahun tertentu mempunyai 29 hari.

Hmmm…. jadi tahun kabisat sendiri merupakan tahun yang mempunyai jumlah hari sebanyak 366.

Sedangkan tahun yang mempunyai hari sebanyak 365 bukan tahun kabisat.

Banyak yang beranggapan tahun kabisat merupakan tahun yang habis dibagi 4, namun pernyataan ini belum sepenuhnya benar.

Tahun kabisat adalah tahun yang habis dibagi 4, akan tetapi untuk tahun pada abad baru harus bisa dibagi 400.

Sebagai contoh:

tahun …, 2004, 2008, 2012, … adalah tahun kabisat (bukan abad baru, habis dibagi 4)

tahun 1900, 2100, 2200, … bukan tahun kabisat karena abad baru tapi tidak habis dibagi 400

tahun 1600, 2000, 2400, … adalah tahun kabisat karena abad baru dan kelipatan dari 400

Lalu, bagaimana untuk menentukan tahun kabisat dengan menggunakan pemrograman C?

Berikut ini cara menentukan tahun kabisat ya. Tuliskan sedikit demi sedikit baris kode untuk memahami setiap baris kode.

Program C Untuk Menentukan Tahun Kabisat
Tahun Kabisat Program C

** source code **

/** ----------------------------------
* Program C Untuk Cek Tahun Kabisat
* ------------------------------------
* ayamkoding.com
*/

#include <stdio.h>

int main(){
  int tahun;

  printf("Program C Untuk Cek Tahun Kabisat\n");
  printf("---------------------------------\n");

  printf("Masukan suatu tahun : ");
  scanf("%d", &tahun);

  if ( tahun % 400 == 0 ){
    printf("Tahun %d adalah tahun kabisat.", tahun);
  } else if ( tahun % 100 == 0){
    printf("Tahun %d bukan tahun kabisat.", tahun);
  } else if ( tahun % 4 == 0){
    printf("Tahun %d adalah tahun kabisat.", tahun);
  } else {
    printf("Tahun %d bukan tahun kabisat.", tahun);
  }
  printf("\n\n");

  return 0;
}

Contoh Input

Dari hasil input data tahun di atas, untuk tahun 2020 merupakan tahun kabisat.

Selanjutnya, tahun 2021 bukan merupakan tahun kabisat dan terakhir tahun 1900 bukan merupakan tahun kabisat.

Penjelasan Kode

1. Program main pada bahasa C

#include <stdio.h>

int main(){
  ...
  return 0;
}

2. Deklarasi variable tahun

int tahun;

3. Judul (dalam bentuk komentar)

printf("Program C Untuk Cek Tahun Kabisat\n");
printf("---------------------------------\n");

4. Input tahun

printf("Masukan suatu tahun : ");
scanf("%d", &tahun);

5. Kondisional untuk menentukan tahun kabisat

if ( tahun % 400 == 0 ){
    printf("Tahun %d adalah tahun kabisat.", tahun);
} else if ( tahun % 100 == 0){ 
    printf("Tahun %d bukan tahun kabisat.", tahun);
} else if ( tahun % 4 == 0){
    printf("Tahun %d adalah tahun kabisat.", tahun);
} else {
    printf("Tahun %d bukan tahun kabisat.", tahun);
}
printf("\n\n");

Nah, demikian sedikit pembahasan kode cara membuat program C untuk menentukan tahun kabisat yang perlu Anda coba.

Jika Anda ada masukan dan pertanyaan, silahkan tulis pada kolom komentar di bawah ya.

Share juga kode Anda, barangkali ada cara menentukan tahun kabisat yang lebih efisien dibandingkan kode di atas ya.

Lihat juga: Program C Untuk Mengecek Bilangan Prima

Terima kasih. Happy coding 🙂