algoritma dan bil.bulat
TRANSCRIPT
-
7/25/2019 Algoritma Dan Bil.bulat
1/111
Teknik Elektro 1
Algoritma dan BilanganBulat
-
7/25/2019 Algoritma Dan Bil.bulat
2/111
Algoritma
Apa itu Algoritma ?
Algoritma adalah Urutan logis langkah-
langkah penyelesaian masalah yang disusunsecara sistematis.
Menulis algoritma bisa dengan menggunakan
kalimat deskriptif yang menjelaskan kejadiansecara runtut, dengan flowchart atau dengan
Pseudocode.
Teknik Elektro 2
-
7/25/2019 Algoritma Dan Bil.bulat
3/111
Pseudocode
Ada bagian struktur suatu algoritma, yaitu !
".#agian $udul %header&'.#agian (eklarasi
.#agian Algoritma
Teknik Elektro 3
-
7/25/2019 Algoritma Dan Bil.bulat
4/111
)truktur teks Agoritma !
P*+*AM namaprogram
penjelasan tentang algoritma yg beisi uraian
singkat mengenai masalah yg akan diselesaikan/
(012A*A)3
)emua nama yg dipakai, nama
tipe,konstanta,4ar,prosedur,dan fungsi diumumkan
disini/
A2+*35MA
)emua langkah6aksi algoritma dituliskan disini/
Teknik Elektro 4
-
7/25/2019 Algoritma Dan Bil.bulat
5/111
-
7/25/2019 Algoritma Dan Bil.bulat
6/111
-
7/25/2019 Algoritma Dan Bil.bulat
7/111Teknik Elektro 7
Sifat Pembagian pada Bilangan Bulat
Misalkan adan bbilangan bulat, a>.
a habis membagi b %a divides b& jika terdapatbilangan bulat c sedemikian sehingga b ac.
@otasi! a b jika b ac, cZdan a>.
Contoh 1! = "' karena "'= %bilangan bulat&atau "' = . 5etapi = " karena "= .' rC n.
-
7/25/2019 Algoritma Dan Bil.bulat
9/111Teknik Elektro 9
Contoh #"%i& "D9:6D: '>, sisa =:!
"D9: D: '> B =:
%ii& E''6 E9, sisa '!
E'' %E9& B '
tetapi E'' %E:& E " salah
karena r E" %syarat > rC n)
-
7/25/2019 Algoritma Dan Bil.bulat
10/111Teknik Elektro 10
Pembagi Bersama Terbesar PBB!
Misalkan adan bbilangan bulat tidak nol.
Pembagi bersama terbesar %P## E greatestcommon di$isor atau gcd& dari a dan b adalah
bilangan bulat terbesar dsedemikian hingga d a
dan d b.
(alam hal ini kita nyatakan bahwa P##%a, b& d.
-
7/25/2019 Algoritma Dan Bil.bulat
11/111Teknik Elektro 11
Contoh %"
Faktor pembagi =
Faktor pembagi ;! ", ', , =, D, "', "9, ;GFaktor pembagi bersama =< dan ;! ", , D
P##%=
-
7/25/2019 Algoritma Dan Bil.bulat
12/111Teknik Elektro 12
Teorema #" Misalkan m dan n bilangan bulat,
dengan syarat n8 > sedemikian sehingga
m nqB r , > rC n
maka P##%m, n& P##%n, r&
Contoh &! m ;>, n "9,
;> "9 B "'
maka P##%;>, "9& P##%"9, "'& ;
-
7/25/2019 Algoritma Dan Bil.bulat
13/111Teknik Elektro 13
Algoritma Euclidean
5ujuan! algoritma untuk
mencari P## dari dua buah
bilangan bulat.
Penemu! 0uclides, seorang
matematikawan Hunani yang
menuliskan algoritmanyatersebut dalam buku,Element.
-
7/25/2019 Algoritma Dan Bil.bulat
14/111Teknik Elektro 14
2ukisan 0uclides 4ersi lain
-
7/25/2019 Algoritma Dan Bil.bulat
15/111
-
7/25/2019 Algoritma Dan Bil.bulat
16/111
-
7/25/2019 Algoritma Dan Bil.bulat
17/111Teknik Elektro 17
procedure Euclidean(input m, n : integer,
output PBB : integer)
{ Mencari PBB(m, n) dengan syarat m dan n bilangan tak-
negatif dan m n
Masukan: m dan n, m n dan m, n 0
Keluaran: PBB(m, n)
}
Kamus
r : integer
Algoritma:
while n 0 do
r m mod n
m n
n r
endwhile{ n = 0, maka PBB(m,n) = m }
PBB m
-
7/25/2019 Algoritma Dan Bil.bulat
18/111Teknik Elektro 18
Contoh &" m? 9>, n? "' dan dipenuhi syarat mn
9"';9> +=
=9""' +=
>='9 +=
)isa pembagian terakhir sebelum > adalah =, maka P##%9>, "'& ?
=.
-
7/25/2019 Algoritma Dan Bil.bulat
19/111Teknik Elektro 19
1ombinasi 2anjar
P##%a,b& dapat dinyatakan sebagai kombinasi lan'ar%linear combination& adan bdengan dengan koefisien-koefisennya.
Contoh (! P##%9>, "'& = ,
= %-"& 9> B : "'.
Teorema %" Misalkan a dan b bilangan bulat positif,maka terdapat bilangan bulat m dan n sedemikiansehingga P##%a, b& maB nb.
-
7/25/2019 Algoritma Dan Bil.bulat
20/111Teknik Elektro 20
Contoh )! @yatakan P##%'", =
-
7/25/2019 Algoritma Dan Bil.bulat
21/111Teknik Elektro 21
Contoh .:@yatakan P##%"', :>& sebagai kombinasi lanjar "' dan :>.
)olusi! 5erapkan algoritma 0uclidean untuk memperoleh P##%"', :>&!
"' = :> B ' %i&
:> ' ' B ; %ii& ' < ; B ' %iii&
; ' B > %i4&
)isa pembagian terakhir sebelum > adalah ', maka PBB%1#+ )/! , #
)usun pembagian nomor %iii& dan %ii& masing-masing menjadi
' ' E < ;%i4& ; :> E ' ' %4&
)ulihkan %4& ke dalam %i4& menjadi
' ' E E ''& "' E B ">' "" ' E < :> %4i&
)usun pembagian nomor %i& menjadi
' "' E =:> %4ii&
)ulihkan %4ii& ke dalam %4i& menjadi
' "" ' E < :> "" %"' E = :>& E < :> "" . "' E =D :>
$adi, P##%"', :>& ' "" "' E =D :>
-
7/25/2019 Algoritma Dan Bil.bulat
22/111
Teknik Elektro 22
*elatif Prima
(ua buah bilangan bulat adan bdikatakan relati
primajika P##%a, b& ".
Contoh 0"
%i& '> dan relatif prima sebab P##%'>, & ".
%ii& : dan "" relatif prima karena P##%:, ""& ".
%iii& '> dan < tidak relatif prima sebab P##%'>,
-
7/25/2019 Algoritma Dan Bil.bulat
23/111
Teknik Elektro 23
$ika adan brelatif prima, maka terdapat bilangan
bulat mdan nsedemikian sehingga
maB nb "
Contoh 1/"#ilangan '> dan adalah relatif prima
karena P##%'>, & ", atau dapat ditulis ' . '> B %E"& . " %m ', n E"&
5etapi '> dan < tidak relatif prima karena P##%'>,
-
7/25/2019 Algoritma Dan Bil.bulat
24/111
Teknik Elektro 24
Aritmetika odulo
Misalkan adan mbilangan bulat %m8 >&. +perasi
amod m %dibaca Jamodulo mK&
memberikan sisa jika adibagi dengan m.
@otasi! amod m r sedemikian sehingga
a mqB r, dengan > rC m.
m disebut modulus atau modulo, dan hasil aritmetikamodulo m terletak di dalam himpunan >, ", ', I, mE"/.
-
7/25/2019 Algoritma Dan Bil.bulat
25/111
Teknik Elektro 25
Contoh 11" #eberapa hasil operasi denganoperator modulo!
%i& ' mod < %' < = B &%ii& ': mod > %': D B >&
%iii& ; mod 9 ; %; 9 > B ;&
%i4& > mod "' > %> "' > B >&
%4& E =" mod D = %E=" D %E&
!en"elasan untuk #v):1arena anegatif, bagi adengan mmendapatkan sisa rL. Maka amod mmE rL bila rL >. $adi E =" mod D
-
7/25/2019 Algoritma Dan Bil.bulat
26/111
Teknik Elektro 26
Kongruen
Misalnya 9 mod < dan " mod < , makadikatakan 9 " %mod
-
7/25/2019 Algoritma Dan Bil.bulat
27/111
Teknik Elektro 27
Contoh 1#"
": ' %mod & # % &abis membagi 1' ( 2 1*)
E: "< %mod ""&
#11 &abis membagi (' ( 1* (22)
"' 6 ' %mod :&
#' tidak &abis membagi 12 ( 2 1+ )
E: 6 "< %mod &
#% tidak &abis membagi (' ( 1* (22)
-
7/25/2019 Algoritma Dan Bil.bulat
28/111
Teknik Elektro 28
ab%mod m& dalam bentuk Jsama denganK dapat
dituliskan sebagai
a bB km %kadalah bilangan bulat&
Contoh 1%"
": ' %mod & ": ' B <
E: "< %mod ""& E: "< B %E'&""
-
7/25/2019 Algoritma Dan Bil.bulat
29/111
Teknik Elektro 29
amod m r dapat juga ditulis sebagai
a
r%mod m&
Contoh 1&"
%i& ' mod < ' %mod %mod &
%iii& ; mod 9 ; ; ; %mod 9&
%i4& > mod "' > > > %mod "'&
%4& E =" mod D = E=" = %mod D&
%4i& E D mod " > E D > %mod "&
-
7/25/2019 Algoritma Dan Bil.bulat
30/111
Teknik Elektro 30
Teorema &" Misalkan madalah bilangan bulat
positif."&$ika a b %mod m& dan c adalah sembarang
bilangan bulat maka
%i& %aB c& %bB c& %mod m&
%ii& acbc %mod m&
%iii& apbp%mod m& ,pbilangan bulat tak-negatif
'& $ika ab%mod m& dan cd%mod m&, maka%i& %aB c& %bB d& %mod m&
%ii& acbd%mod m&
-
7/25/2019 Algoritma Dan Bil.bulat
31/111
Teknik Elektro 31
ukti%hanya untuk "%ii& dan '%i& saja&!
"%ii& ab%mod m& berarti!
a bB kmaE b km
%aE b&c ckm
ac bcBKm
acbc%mod m&
'%i& ab%mod m& a bB k"m
cd%mod m& c dB k'm B
%aB c& %bB d& B %k"B k'&m %aB c& %bB d& B km % k k"B k'&
%aB c& %bB d& %mod m&
-
7/25/2019 Algoritma Dan Bil.bulat
32/111
Teknik Elektro 32
Contoh 1*"
Misalkan ": ' %mod & dan "> = %mod &,
maka menurut 5eorema =,
": B < ' B < %mod & '' : %mod &
": . < < ' %mod & 9< "> %mod &
": B "> ' B = %mod & ': ; %mod &
": . "> ' = %mod & ":> 9 %mod &
-
7/25/2019 Algoritma Dan Bil.bulat
33/111
Teknik Elektro 33
5eorema = tidak memasukkan operasi pembagian
pada aritmetika modulo karena jika kedua ruas
dibagi dengan bilangan bulat, maka kekongruenantidak selalu dipenuhi.
Contoh 1(!
"> = %mod & dapat dibagi dengan '
karena ">6' < dan =6' ', dan < ' %mod &
"= 9 %mod ;& tidak dapat dibagi dengan ', karena"=6' : dan 96' =, tetapi : 6 = %mod ;&.
-
7/25/2019 Algoritma Dan Bil.bulat
34/111
Teknik Elektro 34
2atihan
$ika a b %mod m& dan c d %mod m& adalah
sembarang bilangan bulat maka buktikan bahwa
acbd %mod m&
.
-
7/25/2019 Algoritma Dan Bil.bulat
35/111
Teknik Elektro 35
)olusi
ab%mod m& a b - k1m
cd%mod m& c d - k2m
makaac %b - k1md - k2m)
ac bd - bk2m - dk1m - k1k2m2
ac bd - Km denganK bk2- dk1- k1k2m
ac bd mod m! %terbukti&
-
7/25/2019 Algoritma Dan Bil.bulat
36/111
Teknik Elektro 36
Balikan Modulo (modulo invers)
(i dalam aritmetika bilangan riil, in4ersi%inverse& dari perkalian adakah pembagian.
7ontoh! 3n4ersi = adalah "6=, sebab = "6= ".
(i dalam aritmetika modulo, masalahmenghitung in4ersi modulo lebih sukar.
-
7/25/2019 Algoritma Dan Bil.bulat
37/111
Teknik Elektro 37
$ika adan mrelatif prima dan m8 ", maka
balikan %invers& dari amodulo mada.
#alikan dari a modulo m adalah bilangan
bulatsedemikian sehingga
a" %mod m&(alam notasi lainnya, aE"%mod m&
-
7/25/2019 Algoritma Dan Bil.bulat
38/111
Teknik Elektro 38
#ukti! a dan m relatif prima, jadi P##%a, m& ", danterdapat bilangan bulatdan/sedemikian sehingga
aB/m "
yang mengimplikasikan bahwa
aB/m" %mod m&
1arena/m> %mod m&, maka
a" %mod m&
1ekongruenan yang terakhir ini berarti bahwa adalahbalikan dari amodulo m.
-
7/25/2019 Algoritma Dan Bil.bulat
39/111
Teknik Elektro 39
Pembuktian di atas juga menceritakan
bahwa untuk mencari balikan dari amodulo
m, kita harus membuat kombinasi lanjardari adan msama dengan ".
1oefisien a dari kombinasi lanjar tersebutmerupakan balikan dari amodulo m.
-
7/25/2019 Algoritma Dan Bil.bulat
40/111
-
7/25/2019 Algoritma Dan Bil.bulat
41/111
Teknik Elektro 41
7atatan! setiap bilangan yang kongruen dengan
E' %modD&
juga adalah in4ersi dari =, misalnya :, E"", ";, dan
seterusnya, karena
: E' %modD& %D habis membagi : E %E'& D&
E"" E' %modD& %D habis membagi E"" E %E'& ED&
"; E' %modD& %D habis membagi "; E %E'& "9&
-
7/25/2019 Algoritma Dan Bil.bulat
42/111
Teknik Elektro 42
%b& 1arena P##%":, :& ", maka balikan dari ": %mod :& ada. (arialgoritma 0uclidean diperoleh rangkaian pembagian berikut!
": ' : B %i&
: ' B " %ii& " B > %iii& %yang berarti! P##%":, :& "& &
)usun %ii& menjadi!
" : E ' %i4&
)usun %i& menjadi
": E ' : %4& )ulihkan %4& ke dalam %i4&!
" : E ' %": E ' :& " : E ' ": B = : < : E ' ":
atau
E' ": B < : "
(ari persamaan terakhir diperoleh E' adalah balikan dari ": %mod :&
E' ": " %mod :& %: habis membagi E' ": E " E
-
7/25/2019 Algoritma Dan Bil.bulat
43/111
Teknik Elektro 43
%c& 1arena P##%"9, ">& ' ", maka balikan dari
"9 %mod ">& tidak ada.
-
7/25/2019 Algoritma Dan Bil.bulat
44/111
-
7/25/2019 Algoritma Dan Bil.bulat
45/111
Teknik Elektro 45
Contoh 1.! #alikan dari = %mod D& adalah sedemikiansehingga =" %mod D&
=" %mod D& = " B Dk %" B Dk&6=
Untuk k > tidak bulat k " tidak bulat
k ' tidak bulat
k %" B D . &6= :
k -" %" B D. E"&6= -'#alikan dari = %mod D& adalah : %mod D&,
-' %mod D&, dst
-
7/25/2019 Algoritma Dan Bil.bulat
46/111
Teknik Elektro 46
2atihan
5entukan semua balikan dari D %mod ""&.
-
7/25/2019 Algoritma Dan Bil.bulat
47/111
Teknik Elektro 47
)olusi!
Misalkan D-"%mod ""&
Maka D" %mod ""& atau D " B ""katau
%" B ""k&6D
(engan mencoba semua nilai kyang bulat %k >, -", -', ...,", ', ...& maka
diperoleh
-
7/25/2019 Algoritma Dan Bil.bulat
48/111
Teknik Elektro 48
Kekongruenan Lanjar
1ekongruenan lanjar berbentuk!
ab%mod m&
%m8 >, adan bsembarang bilangan bulat, dan
adalah peubah bilangan bulat&.
Pemecahan! a bB km
%7obakan untuk k >, ", ', I dan k E", E', Iyang menghasilkansebagai bilangan bulat&
a
kmb
+=
Contoh 10
-
7/25/2019 Algoritma Dan Bil.bulat
49/111
Teknik Elektro 49
Contoh 10"
5entukan solusi! = %mod D& dan ' %mod =&
Penyelesaian!
%i& = %mod D&
=D += k.
k > % B > D&6= 6= %bukan solusi&
k " % B " D&6=
k ' % B ' D&6= '"6= %bukan solusi&k , k = tidak menghasilkan solusi
k < % B < D&6= "'I
k E" % E " D&6= E;6= %bukan solusi&
k E' % E ' D&6= E"
-
7/25/2019 Algoritma Dan Bil.bulat
50/111
Teknik Elektro 50
Cara lain menghitung solusi
ax bmod m!
)eperti dalam persamaan biasa,
= "' kalikan setiap ruas dengan "6= %yaituin4ers =&, maka "6= . = "' . "6=
= %mod D& kalikan setiap ruas dengan balikan dari
= %mod D& %dalam hal ini sudah kita hitung, yaitu E'&
%-'& . =%-'& . %mod D& -9-; %mod D&
1arena E9 " %mod D&, maka-; %mod D&. )emua blanganbulat yang kongruen dengan E; %mod D& adalah solusinya,yitu , "', I, dan E;, -"
-
7/25/2019 Algoritma Dan Bil.bulat
51/111
Teknik Elektro 51
%ii& ' %mod =&
'
= +=
k
1arena =k genap dan ganjil maka penjumlahannya
menghasilkan ganjil, sehingga hasil penjumlahan tersebut jika
dibagi dengan ' tidak menghasilkan bilangan bulat. (engan
kata lain, tidak ada nilai-nilai yang memenuhi ' %mod
-
7/25/2019 Algoritma Dan Bil.bulat
52/111
Teknik Elektro 52
2atihan
)ebuah bilangan bulat jika dibagi dengan
bersisa ' dan jika ia dibagi dengan < bersisa
. #erapakah bilangan bulat tersebut
-
7/25/2019 Algoritma Dan Bil.bulat
53/111
Teknik Elektro 53
)olusi
Misal ! bilangan bulat mod ' ' %mod &
mod < %mod
-
7/25/2019 Algoritma Dan Bil.bulat
54/111
Teknik Elektro 54
' B k"
' B %' B
-
7/25/2019 Algoritma Dan Bil.bulat
55/111
Teknik Elektro 55
Chinese Remainder Problem
Pada abad pertama, seorang matematikawan 7hina yang bernama)un 5se mengajukan pertanyaan sebagai berikut!
0entukan sebua& bilangan bulat /ang bila dibagi dengan *
men/isakan %, bila dibagi ' men/isakan *, dan bila dibagi 11men/isakan '.
Misakan bilangan bulat tersebut . Formulasikan kedalam sistemkongruen lanjar!
%mod
-
7/25/2019 Algoritma Dan Bil.bulat
56/111
Teknik Elektro 56
Teorema *" Chinese Remainder Theorem!Misalkan m", m', I, mn adalah bilangan bulat
positif sedemikian sehingga P##%mi, m"& " untuk
i". Maka sistem kongruen lanjar
ak%mod mk&
mempunyai sebuah solusi unik dalam modulo mm"m'I mn.
-
7/25/2019 Algoritma Dan Bil.bulat
57/111
Teknik Elektro 57
Contoh 1*"5entukan solusi dari pertanyaan )un 5se di atas.
Penyelesaian!
%mod
-
7/25/2019 Algoritma Dan Bil.bulat
58/111
-
7/25/2019 Algoritma Dan Bil.bulat
59/111
Teknik Elektro 59
Bilangan Prima
#ilangan bulat positif p %p 8 "& disebut
bilangan prima jika pembaginya hanya "
danp.
7ontoh! ' adalah bilangan prima karena ia
hanya habis dibagi oleh " dan '.
-
7/25/2019 Algoritma Dan Bil.bulat
60/111
Teknik Elektro 60
1arena bilangan prima harus lebih besar dari ", makabarisan bilangan prima dimulai dari ', yaitu ', , , selain " dan '>sendiri.
-
7/25/2019 Algoritma Dan Bil.bulat
61/111
Teknik Elektro 61
Teorema (" The Fundamenal Theorem o!"rihmeic!" )etiap bilangan bulat positif yanglebih besar atau sama dengan ' dapat dinyatakan
sebagai perkalian satu atau lebih bilangan prima.
Contoh 1("
D
">> ' ' < ">
terdapat=
-
7/25/2019 Algoritma Dan Bil.bulat
67/111
Teknik Elektro 67
Aplikasi 5eori #ilangan
3%nternational ook erial 3umber&
Fungsi &as&
1riptografiPembangkit bilangan acak-semu
dll
-
7/25/2019 Algoritma Dan Bil.bulat
68/111
Teknik Elektro 68
3
1ode 3)#@ terdiri dari "> karakter, biasanyadikelompokkan dengan spasi atau garis, misalnya>E>"&&.
-
7/25/2019 Algoritma Dan Bil.bulat
69/111
Teknik Elektro 69
1arakter uji dipilih sedemikian sehingga
=
">
"i ii.> %mod ""&
=
D
"i ii. mod "" ? karakter uji
7ontoh! 3)#@ > >"< =
-
7/25/2019 Algoritma Dan Bil.bulat
70/111
Teknik Elektro 70
7ontoh! 3)#@ >E>" B ' B > B = " B < < B ; = B
: < B 9 ; B D " "
-
7/25/2019 Algoritma Dan Bil.bulat
71/111
Teknik Elektro 71
7atatlah bahwa untuk kode 3)#@ ini,
=
">
"i i
i. ? =
D
"i i
i. B ">.">? " 9 ? '"dan '" mod "" ? > atau '" > %mod ""&.
-
7/25/2019 Algoritma Dan Bil.bulat
72/111
Teknik Elektro 72
Fungsi4as&
5ujuan! pengalamatan di memori
#entuk! &%k& kmod m
5 m! jumlah lokasi memori yang tersedia
- k ! kunci %integer&
- &%k& !lokasi memori untuk recorddengan
kunci k
7 h "" i l l i dib i i d k >
-
7/25/2019 Algoritma Dan Bil.bulat
73/111
Teknik Elektro 73
7ontoh! m "" mempunyai sel-sel memori yang diberi indeks >
sampai ">. Akan disimpan data record yang masing-masing
mempunyai kunci "
&%"'& "' mod "" >
&%">'& ">' mod ""
&%' "< <
-
7/25/2019 Algoritma Dan Bil.bulat
74/111
Teknik Elektro 74
1olisi %collision& terjadi jika fungsi &as&menghasilkan nilai h yang sama untuk k yang
berbeda.
$ika terjadi kolisi, cek elemen berikutnya yangkosong.
Fungsi &as&juga digunakan untuk me-locateelemen yang dicari.
-
7/25/2019 Algoritma Dan Bil.bulat
75/111
Teknik Elektro 75
1riptografi
Pesan! data atau informasi yang dapatdibaca dan dimengerti maknanya.
@ama lain! plainteks%plaintet&
Pesan dapat berupa! teks, gambar, audio,4ideo.
Pesan ada yang dikirim atau disimpan didalam media penyimpanan.
-
7/25/2019 Algoritma Dan Bil.bulat
76/111
Teknik Elektro 76
Cipherteks%cip&ertet&! pesan yang telahdisandikan sehingga tidak memiliki maknalagi.
5ujuan! agar pesan tidak dapat dimengertimaknanya oleh pihak lain.
7ipherteks harus dapat diubah kembali keplainteks semula
-
7/25/2019 Algoritma Dan Bil.bulat
77/111
Teknik Elektro 77
7ontoh!
Plainteks!culik anak itu jam 11 siang
7ipherteks!t^$g!i"#rewopd%&':puc*+
-
7/25/2019 Algoritma Dan Bil.bulat
78/111
Teknik Elektro 78
Enkripsi%encr/ption&! proses menyandikan
plainteks menjadi ciphertek.
Dekripsi%decr/ption&! Proses
mengembalikan cipherteks menjadi
plainteksnya.
-
7/25/2019 Algoritma Dan Bil.bulat
79/111
Teknik Elektro 79
plainteks chiperteks plainteks semulaenkripsi dekripsi
Gambar 1.1 Enkripsi dan dekripsi
-
7/25/2019 Algoritma Dan Bil.bulat
80/111
Teknik Elektro 80
3riptografi cr#$ogra$h#!
(ari #ahasa Hunani yang artinya Jsecret6ritingK
(efinisi! kriptografi adalah ilmu dan seniuntuk menjaga keamanan pesan.
-
7/25/2019 Algoritma Dan Bil.bulat
81/111
-
7/25/2019 Algoritma Dan Bil.bulat
82/111
Teknik Elektro 82
)ejarah 1riptografi
)udah digunakan di Hunani =>> #7
Alat yang digunakan!sc/tale
Gambar 1.2 Scytale
-
7/25/2019 Algoritma Dan Bil.bulat
83/111
Teknik Elektro 83
Aplikasi 1riptografi
". Pengiriman data melalui saluran
komunikasi
%data encr/ption on motion&.
'. Penyimpanan data di dalam disk storage
%data encr/ption at rest&
-
7/25/2019 Algoritma Dan Bil.bulat
84/111
Teknik Elektro 84
(ata ditransmisikan dalam bentuk chiperteks. (i
tempat penerima chiperteks dikembalikan lagi
menjadi plainteks.
(ata di dalam media penyimpanan komputer
%seperti &ard disk& disimpan dalam bentuk
chiperteks. Untuk membacanya, hanya orang yang
berhak yang dapat mengembalikan chiperteks
menjadi plainteks.
-
7/25/2019 Algoritma Dan Bil.bulat
85/111
Teknik Elektro 85
7ontoh enkripsi pada dokumenPlainteks %plaint*t&!
-etika sa.a /erjalanjalan di pantai,
sa.a menemukan /an.ak sekali kepiting
.ang merangkak menuju laut ereka
adalah anakanak kepiting .ang /aru
menetas dari dalam pasir 2alurimereka mengatakan /ahwa laut adalah
tempat kehidupan mereka
7ipherteks %ciphert*t&!
+t3*4p56p7p5&t8.p9p;.p9p5s*5 p3p*4p5&p7p456t4p9*54t *3* ?7p?5=t8p?4p45=t>.>59p>3@5 At8t4
ppsp9pw5pp4;pp454t *3*?57p
?5&p8>=tt3p65sp8*5sp9p=5 p6*8@5
p9>8*=tt84p5=t?p3p4p5&pwCp59p> 3
5psp9pw3t= p354tw*s> p5=t8t4p@
-
7/25/2019 Algoritma Dan Bil.bulat
86/111
Teknik Elektro 86
Plainteks %lena/mp&! 7ipherteks %lenaD/mp&!
-
7/25/2019 Algoritma Dan Bil.bulat
87/111
Teknik Elektro 87
Plainteks %siswad/&!
@3M @ama 5inggi #erat
000001 Elin amilah 1F0 G0
00000D ari4 H 1GI J#00000K auik Lida.at 1IF FG
00000J Miti 2urhali4a 1ID FI
00000G Nma Orama 1I1 F0
00000F 4i4 Burhan 1"1 GJ
00000I Manti 2ursanti 1FI G#
00000" Qut Ranti 1F# F1
00000# Ona Ma/arina 1I1 FD
-
7/25/2019 Algoritma Dan Bil.bulat
88/111
Teknik Elektro 88
7ipherteks %siswaDd/&!
@3M @ama 5inggi #erat
000001 t8p?4p45=t>.>59>3 =>4p 6p7p
00000D =tt3p65sp8*5sp p6*8@ 4tw*s>
00000K 3t= p354tw*s> p5= 5=t8 sp8*5
00000J 6p7p5=tt=>4p5&p7p4 &p7p4 w*s>
00000G 6t4p9*54t *3*?7p p>35psp 6t4p9
00000F sp8*5sp9p=5 p6*8@5 *3*? tt84p5=
00000I +t3*4p56p7p5&t8.pp; >4p >.>59
00000" &pwCp59p>35psp9pw +tw*s *3*?
00000# t=>4p5&p7p456p9 &p7p >4p5&p
1eterangan! hanyaield@ama, #erat, dan 5inggi yang dienkripsi.
-
7/25/2019 Algoritma Dan Bil.bulat
89/111
Teknik Elektro 89
@otasi Matematis
Misalkan!
7 chiperteks
! plainteks dilambangkan
Fungsi enkripsiEmemetakan!ke 7,
E%!& 7
Fungsi dekripsi8memetakan 7ke!, 8%7& !
-
7/25/2019 Algoritma Dan Bil.bulat
90/111
Teknik Elektro 90
(engan menggunakan kunci K, maka fungsienkripsi dan dekripsi menjadi
EK%!& 7
8K%7& ! dan kedua fungsi ini memenuhi
8K%EK%!&& !
-
7/25/2019 Algoritma Dan Bil.bulat
91/111
Teknik Elektro 91
K K
plainteks chiperteks plainteks semulaenkripsi dekripsi
Gambar 1.3 Enkripsi dan dekripsi dengan kunci
-
7/25/2019 Algoritma Dan Bil.bulat
92/111
Teknik Elektro 92
$ika kunci enkripsi sama dengan kunci dekripsi, makasistem kriptografinya disebut sistem simetri atausistemkon$ensional.
Algoritma kriptografinya disebut algoritma simetri ataualgoritma kon4ensional .
7ontoh algoritma simetri!
-8E%8ata Enc/ption tandard&
- *ijndael
-
7/25/2019 Algoritma Dan Bil.bulat
93/111
Teknik Elektro 93
)kema algoritma simetri
$ika kunci enkripsi tidak sama dengan kunci dekripsi, maka sistemk i t fi di b t i t i i t i % t i t &
-
7/25/2019 Algoritma Dan Bil.bulat
94/111
Teknik Elektro 94
kriptografinya disebut sistemnirsimetri %as/mmetric s/stem&
@ama lain! sistemkriptografi kunci4publik
karena, kunci enkripsi bersifat publik %public ke/& sedangkan kunci dekripsibersifat rahasia %private ke/&.
Pengirim pesan menggunakan kunci publik si penerima pesan untukmengenkripsi pesan
Penerima pesan mendekripsi pesan dengan kunci pri4atnya sendiri.
7ontoh algoritmai!9
-
7/25/2019 Algoritma Dan Bil.bulat
95/111
Teknik Elektro 95
Kunci publik Kunci privat
plainteks cipherteks plainteks asal
enkripsi dekripsi
-
7/25/2019 Algoritma Dan Bil.bulat
96/111
Teknik Elektro 96
Caesar Ci$her
5iap huruf alfabet digeser huruf ke kanan
i: B Q S E T L O - ' 2 N P U H M ! V % W R +
ci : D E F G H I J K L M N O P Q R S T U ! " # $ A % &
7ontoh!Plainteks! %MO MEHOW S2 E22R NBE'OW
7ipherteks! D$DL D!HULA GDQ !HPDQQ%A REHOLA
-
7/25/2019 Algoritma Dan Bil.bulat
97/111
Teknik Elektro 97
Misalkan >, ", I,; '
-
7/25/2019 Algoritma Dan Bil.bulat
98/111
Teknik Elektro 98
p" AL > c"E%>& %> B & mod '; (L
p' L '' c'E%''& %'' B & mod '; '< QL
p AL > cE%>& %> B & mod '; (L
p= )L "9 c=E%"9& %"9 B & mod '; '" RL
dstI
Alternatif lain: gunakan tabel substitusi
-
7/25/2019 Algoritma Dan Bil.bulat
99/111
Teknik Elektro 99
$ika pergeseran huruf sejauh k, maka!
0nkripsi! ciE%pi& %piB k& mod ';(ekripsi!pi8%ci& %ciE k& mod ';
k kunci rahasia
-
7/25/2019 Algoritma Dan Bil.bulat
100/111
Teknik Elektro 100
-
7/25/2019 Algoritma Dan Bil.bulat
101/111
Teknik Elektro 101
"lgorima R%"
(itemukan oleh tiga peneliti dariM0
%Massac&ussets nstitute o 0ec&nolog/&,
yaitu *on *i4est, Adi )hamir, dan 2en
Adleman, pada tahun "D:;.
5ermasuk algoritma kriptografi nirsimetri.
-
7/25/2019 Algoritma Dan Bil.bulat
102/111
Teknik Elektro 102
)etiap pengguna mempunya sepasan kunci!
". 1unci publik! untuk enkripsi
'. 1unci pri4at! untuk dekripsi
1unci publik tidak rahasia %diktehui semua
orang&, kunci pri4at rahasia %hanyadiketahui pemilik kunci saja&
-
7/25/2019 Algoritma Dan Bil.bulat
103/111
Teknik Elektro 103
Pembangkitan pasangan kunci
". Pilih dua bilangan prima, adan b %rahasia&
'. Situng n ab. #esaran ntidak perlu dirahasiakan.
. Situng m %aE "&%bE "&.=. Pilih sebuah bilangan bulat untuk kunci publik, sebut
namanya e, yang relatif prima terhadap m.
-
7/25/2019 Algoritma Dan Bil.bulat
104/111
Teknik Elektro 104
Enkripsi
". @yatakan pesan menjadi blok-blok plainteks!p",p',
p, I %harus dipenuhi persyaratan bahwa nilaipi
harus terletak dalam himpunan nilai >, ", ', I, nE "
untuk menjamin hasil perhitungan tidak berada di
luar himpunan&
'. Situng blok cipherteks ciuntuk blok plaintekspi
dengan persamaan
cipiemodn
yang dalam hal ini, eadalah kunci publik.
-
7/25/2019 Algoritma Dan Bil.bulat
105/111
Teknik Elektro 105
Dekripsi
Proses dekripsi dilakukan dengan menggunakan
persamaan
pi cidmodn,
yang dalam hal ini, dadalah kunci pri4at.
-
7/25/2019 Algoritma Dan Bil.bulat
106/111
Teknik Elektro 106
Contoh #1" Misalkan a =: dan b :" %keduanyaprima&, maka dapat dihitung
n ab :
m %aE "&%bE "& ''>.
Pilih kunci publik e :D %yang relatif prima dengan''> karena pembagi bersama terbesarnya adalah "&.
@ilai edan ndapat dipublikasikan ke umum.
-
7/25/2019 Algoritma Dan Bil.bulat
107/111
Teknik Elektro 107
)elanjutnya akan dihitung kunci dekripsi ddengankekongruenan!
ed" %mod m&
(engan mencoba nilai-nilai k ", ', , I,diperoleh nilai d yang bulat adalah ">"D. 3niadalah kunci dekripsi.
:D
&''>%" +=k
d
-
7/25/2019 Algoritma Dan Bil.bulat
108/111
Teknik Elektro 108
Misalkan plainteks ! SA*3 3@3
atau dalam desimal A)733! :';
-
7/25/2019 Algoritma Dan Bil.bulat
109/111
Teknik Elektro 109
c" :';:Dmod : '">
digit.
Menurut *i4est dan kawan-kawan, uasaha untukmencari faktor bilangan '>> digit membutuhkan
waktu komputasi selama = milyar tahunT %denganasumsi bahwa algoritma pemfaktoran yangdigunakan adalah algoritma yang tercepat saat inidan komputer yang dipakai mempunyai kecepatan
" milidetik&.