Aplikasi Teori Bilangan, Aritmatika Modulo - Mencari Hari dari Suatu Tanggal Tertentu

Bookmark and Share

Aplikasi Teori Bilangan, Aritmatika Modulo - Mencari Hari dari Suatu Tanggal Tertentu



kata kunci: mencari hari, mencari hari dari tanggal, aplikasi modulo, aplikasi matematika, terapan modulo, terapan matematika, teori bilangan,



Terkadang seseorang lupa dia dilahirkan pada hari apa meskipun ingat tanggal lahirnya. Atau mungkin bila anda ingin mengetahui hari dari suatu kejadian anda bisa memakai cara sebagai berikut:

Misalkan anda lahir pada tanggal DD-MM-YYYY




  • Bagi 2 digit terakhir dari tahun dengan 4 dan hilangkan angka di belakang koma

  • Tambahkan tanggal

  • Tambahkan nilai bulan seperti pada tabel berikut











































  •  Jan


     Feb


     Mar


     Apr


     May


     Jun


     Jul


     Aug


     Sep


     Oct


     Nov


     Dec


    1


    4

    4

    0


    2


    5


    0


    3


    6


    1


    4


    6



  • Jika bulannya adalah Januari atau Februari pada tahun kabisat, maka dikurangi satu. Jika tidak, lanjut ke langkah berikutnya

  • Tambahkan

  • 4, jika pada abad 18 (1700-1799)

    2, jika pada abad 19 (1800-1899)

    0, jika pada abad 20 (1900-1999)

    6, jika pada abad 21 (2000-2099)

    jika tidak pada abad diatas, tambahkan tahunnya dengan 400 terus hingga masuk abad di atas

  • Tambahkan 2 digit terakhir dari tahun

  • Bagi dengan 7

  • Sisa baginya adalah tanggalnya

  • 0= Sabtu

    1= Minggu

    2= Senin

    3= Selasa

    4= Rabu

    5= Kamis

    6= Jumat

  • Selesai!




Contoh: 17 Agustus 1945 (17-08-1945)

1. 45/4=11,25 ~~ 11

2. 11+17=28

3. 28+3=31

4. 31+0=31

5. 31+45=76

6. 76:7 sisa 6

7. 6=Jumat

Jadi negara kita merdeka pada hari Jumat.



Algoritma

Input: D=tanggal, M=bulan, Y=tahun (disarankan menggunakan type data integer)


  • a1=ceiling((Y mod 100)/4-1); //hilangkan fungsi ceiling bila menggunakan data type integer

  • a2=a1+D;

  • if M=4 or M=7 then a3=a2
    else if M=1 or M=10 then a3=a2+1

    else if M=5 then a3=a2+2

    else if M=8 then a3=a2+3

    else if M=2 or M=3 or M=11 then a3=a2+4

    else if M=6 then a3=a2+5

    else if M=9 or M=12 then a3=a2+6

  • if M=1 or M=2 of tahun kabisat, then a4=a3-1

  • hitung (Y-(Y mod 100)) mod 4

    jika hasilnya 0 maka a5=a4+6

    jika hasilnya 1 maka a5=a4+4

    jika hasilnya 2 maka a5=a4+2

    jika hasilnya 3 maka a5=a4+0

  • a6=a5+(Y-(Y mod 100))

  • a7=a6 mod 7

  • hasilnya

    0= Sabtu

    1= Minggu

    2= Senin

    3= Selasa

    4= Rabu

    5= Kamis

    6= Jumat

  • Selesai




Download Programnya (dalam bahasa C++)



Sumber: http://www.usna.edu/Users/math/wdj/book/node35.html

{ 0 komentar... Views All / Send Comment! }

Posting Komentar

Powered By Blogger