Aritmetika Modulo (kadang disebut juga aritmetika jam) adalah sistem aritmetika untuk bilangan bulat di mana kedua bilangan bulat dioperasikan sampai mencapai nilai tertentu, yaitu modulus (sisa). Aritmetika Modulo diperkenalkan oleh Carl Friedrich Gauss dalam bukunya Disquistiones Arithmaticae yang dipublikasikan pada tahun 1801.
Misalkan a adalah bilangan bulat dan m adalah bilangan bulat > 0. Operasi a mod m (dibaca “a modulo m”) memberikan sisa jika a dibagi dengan m.
Dengan kata lain, a mod m = r sedemikian sehingga a = mq + r dengan 0 ≤ r
Bilangan m adalah yang disebut modulus atau modulo, dan hasil aritmetika modulo m terletak di dalam himpunan {0, 1, 2, …, m-1}. Beberapa contoh operasi dengan operator modulo yaitu: 6 mod 8 = 6 (karena 6 = 8 · 0 + 6), -39 mod 13 = 0 (karena -39 = 13(-2) + 0).
Jika a mod m = 0, maka dikatakan bahwa a adalah kelipatan dari m, yaitu a habis dibagi dengan m.
Misalnya, 54 mod 6 = 0, berarti 54 adalah kelipatan 6.
Kongruen
Kadang-kadang dua buah bilangan bulat, a dan b, mempunyai sisa yang sama jika dibagi dengan bilangan bulat positif m. Kita katakan bahwa a dan b kongruen dalam modulo m, dan dilambangkan sebagai a ≡ b (mod m) (2.1)
(notasi ‘≡’ dibaca ‘kongruen’)
Jika a tidak kongruen dengan b dalam modulus m, maka ditulis
a /≡ b (mod m)
Misalnya 38 mod 5 = 3 dan 13 mod 5 = 3, maka 38 ≡ 13 (mod 5). Hal yang sama juga berlaku untuk negatif dari a, -38 ≡ 13 (mod 5). Definisi formal dari kekongruenan dinyatakan sebagai berikut:
Misalkan a dan b adalah bilangan bulat dan m adalah
bilangan > 0, maka a ≡ b (mod m) jika m habis membagi a-b.
Kekongruenan a ≡ b (mod m) dapat pula dituliskan dalam hubungan
a = b + km
yang dalam hal ini k adalah bilangan bulat. Kita juga dapat menuliskan a mod m = r sebagai
a ≡ r (mod m)
Beberapa sifat dari pengerjaan hitung pada aritmetika modulo adalah sebagai berikut:
Jika a1 ≡ b1 (mod n) dan a2 ≡ b2 (mod n) maka:
· (a1 + a2) ≡ (b1 + b2) (mod n)
· (a1 – a2) ≡ (b1 – b2) (mod n)
· (a1 a2) ≡ (b1 b2) (mod n).
Jika a ≡ b (mod m) dan c adalah sembarang bilangan bulat maka:
· (a + c) ≡ (b + c) (mod m)
· ac ≡ bc (mod m)
· ap ≡ bp (mod m) untuk suatu bilangan bulat tak negatif p.
Aplikasi Teori Bilangan Aritmatika Modulo
Mencari Hari dari Suatu Tanggal Tertentu
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
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
Contoh Program Aritmetika Modulo
pembahasan mengenai penggunaan Operator Aritmatika Modulo (sisa pembagian) pada Bahasa C++. Modulo adalah hasil sisa pembagian dari 2 bilangan. Contoh nya 4%3=1, dimana jika 4:3 dapat diperoleh hasilnya 1 dan sisa nya 1. Sisa nya itu lah yang disebut dengan sisa pembagian. Oke, untuk menentukan Modulo dengan C++, berikut kode program yang bisa digunakan :
/*Menentukan Sisa Pembagian (Modulo) "%"Dengan C++*/#includeusing namespace std;int main(){ int bil, mod;
cout > bil;
mod = bil % 4;
cout
*Apabila bilangan yang akan dimodulokan atau bilangan yang akan di cari hasil sisa pembagiannya lebih kecil dari bilangan pemodulo, maka hasil dari proses modulo nya adalah bilangan yang akan dimodulokan itu sendiri juga. Misal 3%4, maka hasil sisa pembagian dari proses tersebut adalah 3 (Bilangan yang akan dimodulokan).
Aritmetika Modulo Tutorial
{ 0 komentar... Views All / Send Comment! }
Posting Komentar