Kamis, 18 April 2013

TAHUN KABISAT C

Tahun Kabisat (Bahasa Inggris: Leap Year) adalah sebuah tahun syamsiah di mana pada tahun tersebut jumlah hari tidak terdiri dari 365 hari tetapi 366 hari.

Satu tahun syamsiah tidak secara persis terdiri dari 365 hari, tetapi 365 hari 5jam 48 menit45,1814 detik. Jika hal ini tidak dihiraukan, maka setiap 4 tahun akan kekurangan hampir1 hari (tepatnya 23 jam 15 menit 0,7256 detik).
Maka untuk mengkompensasi hal ini, setiap 4 tahun sekali (tahun yang bisa dibagi 4), diberi 1 hari ekstra: 29 Februari. Tetapi karena 5 jam 48 menit 45,1814 detik kurang dari 6 jam, maka tahun-tahun yang bisa dibagi 100 (seperti tahun 1900), bukan tahun kabisat, kecuali bisa dibagi dengan 400 (seperti tahun 2000).

Terdapat algoritma mudah untuk menentukan apakah suatu tahun termasuk tahun kabisat atau bukan sebagai berikut:
  1. Jika angka tahun itu habis dibagi 400, maka tahun itu sudah pasti tahun kabisat.
  2. Jika angka tahun itu tidak habis dibagi 400 tetapi habis dibagi 100, maka tahun itu sudah pasti bukan merupakan tahun kabisat.
  3. Jika angka tahun itu tidak habis dibagi 400, tidak habis dibagi 100 akan tetapi habis dibagi 4, maka tahun itu merupakan tahun kabisat.
  4. Jika angka tahun tidak habis dibagi 400, tidak habis dibagi 100, dan tidak habis dibagi 4, maka tahun tersebut bukan merupakan tahun kabisat
Hasil output yang dituju :


Source code dan video program c :




                                                                        Coding 1
Source Code:  Tahun Kabisat

#include <stdio.h>
#include <stdlib.h>

int kabisat(int tahun);//prototype fungsi
int c; // deklarasi variable global

int main(void)
{
       printf("\n\n\n============CEK TAHUN KABISAT by ROYAN RODIANA===========\n\n");
       printf("Masukan tahun yang ingin dicek (yyyy) : ");
       scanf("%d",&c); // fungsi scanf untuk menerima input data dari user
       kabisat(c); // pemanggilan fungsi kabisat
       system("pause");
       return(0);
}

int kabisat(int tahun) //definisi fungsi
{
       //pernyataan dengan menggunakan if else
       //tanda || merupakan operator logical untuk "or"
              if (tahun %4 == 0 || tahun % 100 == 0|| tahun % 400 == 0)
                           printf("Tahun %d Merupakan Tahun Kabisat\n",c);
            else
                           // %d merupakan conversion specifier untuk integer
                printf("Tahun %d Bukan Tahun Kabisat\n",c);
}
      
Deskripsi singkat:
Didalam code diatas terdapat pembuatan fungsi baru yaitu fungsi kabisat.cara penulisan fungsi baru tersebut adalah
  • Prototype fungsi
tipe_return nama_fungsi(tipe_variable nama_variable)
  • Definisi fungsi
tipe_return nama_fungsi(tipe_variable nama_variable)
        {
pernyataan
         }

0 komentar:

Posting Komentar