Agi Putra Kharisma, ST., MT.
Integer (Bilangan Bulat)
“Learning is not child's play, we cannot learn without pain.” –Aristotle
1 Matema(ka Komputasi -‐ Integer
Agi Putra Kharisma, ST., MT.
Tipe Data Integer Pada Bahasa Pemrograman
• Signed (bertanda +/-‐) • Unsigned (bulat non-‐negaDf)
2 Matema(ka Komputasi -‐ Integer
Contoh: Misal suatu Dpe data integer berukuran 16-‐bit: 1. Jika signed, maka berisi: −32768 s/d 32767 2. Jika unsigned, maka berisi: 0 s/d 65535
Agi Putra Kharisma, ST., MT.
Pembagian Bilangan Bulat
a | b jika b = ac; c ∈ Z; a ≠ 0 a habis membagi b
3 Matema(ka Komputasi -‐ Integer
Contoh: 3 | 18 5 | 95 7 | 63
Agi Putra Kharisma, ST., MT.
Teorema Sisa Pembagian (Quo:ent-‐remainder theorem)
Diberikan sembarang bilangan bulat n dan bilangan bulat posiDf d, maka ada bilangan bulat unik q dan r dimana: n = dq + r dan 0 < r < d LaDhan: Cari nilai bilangan bulat q dan r jika diketahui: a. n = 54, d = 4 b. n = -‐54, d = 4
4 Matema(ka Komputasi -‐ Integer
Agi Putra Kharisma, ST., MT.
div dan mod
Diberikan bilangan bulat n dan bilangan bulat posiDf d, maka: n div d = q dan n mod d = r ⇔ n = dq + r dimana q dan r adalah bilangan bulat dan 0 < r < d Contoh: 9 div 4 = 2; 9 mod 4 = 1
5 Matema(ka Komputasi -‐ Integer
Agi Putra Kharisma, ST., MT.
Greatest Common Divisor (1) Misal a dan b adalah bilangan bulat bukan nol, maka gcd(a,b), yaitu d, adalah: 1. d adalah common divisor untuk a dan b. Dengan kata lain:
d | a dan d | b
2. Untuk semua bilangan bulat c, jika c adalah common divisor untuk semua a dan b, maka c lebih kecil atau sama dengan d. Dengan kata lain:
Untuk semua bilangan bulat c, jika c | a dan c | b, maka c < d
6 Matema(ka Komputasi -‐ Integer
Contoh: GCD(45,36) = 9; GCD(80,12) = 4; GCD(12,8) = 4
Agi Putra Kharisma, ST., MT.
Greatest Common Divisor (2)
Lemma:
7 Matema(ka Komputasi -‐ Integer
1. Jika r adalah bilangan bulat posiDf, maka gcd(r,0) = r
2. Jika a dan b adalah bilangan bulat bukan nol, jika q dan r adalah bilangan bulat dimana a = bq + r, maka gcd(a,b) = gcd(b,r)
Agi Putra Kharisma, ST., MT.
Algoritma Euclidean Bagaimana cara efisien dalam mencari GCD? Gunakan algoritma Euclidean.
8 Matema(ka Komputasi -‐ Integer
1. Misal A dan B adalah bilangan bulat dimana A > B > 0. 2. Untuk mencari gcd dari A dan B, pertama cek apakah
B = 0. Jika ya, maka gcd (A,B) = A (lihat lemma 1 pada slide sebelumnya). Jika Ddak, gunakan teorema quoDent-‐remainder untuk mencari quoDent q dan remainder r. Merujuk lemma 2 pada slide sebelumnya, maka gcd(A,B) = gcd(B, r).
3. Ulangi langkah nomor 2 sampai ditemukan hasil akhir.
Agi Putra Kharisma, ST., MT.
Kongruensi Modulo n
Ekivalensi modular: Misal a, b, c adalah sembarang bilangan bulat, dimana n > 1. Pernyataan berikut ini semuanya adalah ekivalen:
9 Matema(ka Komputasi -‐ Integer
1. n | (a – b) 2. a ≡ b(mod n) 3. a = b + kn, dimana k adalah suatu bilangan bulat 4. a dan b memiliki sisa (non negaDf) yang sama jika
dibagi dengan n 5. a mod n = b mod n
Agi Putra Kharisma, ST., MT.
AritmeDka Modular
Misal a, b, c, d, dan n adalah bilangan bulat dengan n > 1 dan ditentukan bahwa
a ≡ c(mod n) dan b ≡ d(mod n) Maka:
10 Matema(ka Komputasi -‐ Integer
1. (a + b) ≡ (c + d)(mod n) 2. (a – b) ≡ (c – d)(mod n) 3. ab ≡ cd(mod n) 4. am ≡ cm(mod n) untuk semua bilangan bulat
m
Agi Putra Kharisma, ST., MT.
Kombinasi Linier
Suatu bilangan bulat d dikatakan sebagai kombinasi linier dari bilangan bulat a dan b, jika dan hanya jika ada bilangan bulat s dan t dimana as + bt = d. Menulis gcd dalam bentuk kombinasi linier:
11 Matema(ka Komputasi -‐ Integer
Untuk semua bilangan bulat a dan b bukan nol, jika d = gcd(a,b), maka ada bilangan bulat s dan t dimana as + bt = d.
LaDhan: Nyatakan gcd(330,156) sebagai kombinasi linier dari 330 dan 156.
Agi Putra Kharisma, ST., MT.
RelaDf Prima (Coprime)
GCD(a, b) = 1
12 Matema(ka Komputasi -‐ Integer
Agi Putra Kharisma, ST., MT.
Keberadaan Inverse Modulo n
13 Matema(ka Komputasi -‐ Integer
Untuk semua bilangan bulat a dan n, jika gcd(a,n) = 1, maka ada bilangan bulat s dimana as ≡ 1(mod n). Bilangan bulat s tersebut disebut inverse dari a modulo n.
Contoh: 1. Tentukan inverse dari 43 modulo 660. (Dengan kata lain,
tentukan bilangan bulat s dimana 43s ≡ 1(mod 660). 2. Tentukan inverse posiDf dari 3 modulo 40. (Dengan kata lain,
tentukan bilangan bulat posiDf s dimana 3s ≡ 1(mod 40).
Agi Putra Kharisma, ST., MT.
Keberadaan Inverse Modulo n
14 Matema(ka Komputasi -‐ Integer
Untuk semua bilangan bulat a dan n, jika gcd(a,n) = 1, maka ada bilangan bulat s dimana as ≡ 1(mod n). Bilangan bulat s tersebut disebut inverse dari a modulo n.
Contoh: 1. Tentukan inverse dari 43 modulo 660. (Dengan kata lain,
tentukan bilangan bulat s dimana 43s ≡ 1(mod 660).
Agi Putra Kharisma, ST., MT.
Konsep Dasar Kriptografi
Kriptografi adalah ilmu yang mempelajari pengiriman pesan rahasia.
15 Matema(ka Komputasi -‐ Integer
plaintext chipertext encryp(on
decryp(on
1
2
Agi Putra Kharisma, ST., MT.
Caesar Chiper
A 01
B 02
C 03
D 04
E 05
F 06
G 07
H 08
I 09
J 10
K 11
L 12
M 13
N 14
O 15
P 16
Q 17
R 18
S 19
T 20
U 21
V 22
W 23
X 24
Y 25
Z 26
16 Matema(ka Komputasi -‐ Integer
LaDhan: Gunakan Caesar chiper untuk mengenkripsi teks berikut: AYAS NAKAM OGES
Agi Putra Kharisma, ST., MT.
RSA Cryptography
Silahkan baca referensi dari buku teks masing – masing secara mandiri.
17 Matema(ka Komputasi -‐ Integer
Agi Putra Kharisma, ST., MT.
Referensi
Susanna S .Epp. Discrete Mathema4cs with Applica4ons 4th Ed. Kenneth H. Rosen. Discrete Mathema4cs and Its Applica4ons 7th Ed. Rinaldi Munir. Matema4ka Diskrit edisi ke4ga.
18 Matema(ka Komputasi -‐ Integer