21 1. Terletak pada jumlah putaran round yang dilakukan untuk setiap operasi.
Pada MD4 hanya operasi hanya dilakukan sebanyak 3 putaran, sedangkan pada MD5 diperbaiki menjadi 4 putaran.
2. Untuk setiap putaran ditambahkan sebuah konstanta baru yang unik untuk diprosesdioperasikan bersama-sama dengan string yang sudah ada. Hal ini
tidak ada pada MD4 yang tetap memakai variabel yang sudah ada. 3. Fungsi g pada putaran kedua. Fungsi g pada MD4 adalah XY v XZ v YZ
sedangkan pada MD5 adalah XZ v Y notZ. 4. Pada MD5, hasil dari suatu putaran merupakan penambahan dari hasil putaran
sebelumnya, sehingga menambah kompleksitas algoritma. 5. Urutan operasi pada MD4 sedikit diubah pada MD5 untuk meniadakan pola
yang terjadi sehingga terkesan acak dan menambah keamanan.
2.7. Bilangan Prima
Bilangan prima adalah bilangan asli yang lebih besar dari 1, yang faktor pembaginya adalah 1 dan bilangan itu sendiri, dimulai dari 2. Misalnya angka 5, karena 5 habis
dibagi 1 dan 5 tetapi tidak habis dibagi bilangan bulat positif yang lain, dapat disimpulkan bahwa 5 merupakan bilangan prima. Angka 9 bisa dibagi 3, ini berarti 9
bukan bilangan prima melainkan bilangan komposit, yaitu bilangan yang mempunyai lebih dari 2 faktor bilangan bulat positif.
Semua bilangan prima merupakan bilangan ganjil kecuali angka 2. 2 adalah satu-satunya bilangan prima yang genap, karena bilangan genap selain 2 pasti habis
dibagi 2 yang menyebabkan bilangan tersebut tidak memenuhi syarat atau definisi bilangan prima.
2.7.1. Metode penentuan bilangan prima Kashogi 2007 menyatakan ada beberapa metode yang dapat digunakan untuk
menentukan bilangan prima, diantaranya adalah: a. Metode Bruce Force
Metode bruce force merupakan metode sederhana dalam menentukan bilangan prima. Metode ini dilakukan dengan teknik mengecek seluruh bilangan ganjil sampai dengan
Universitas Sumatera Utara
22 batas bilangan yang ditentukan dan membandingkannya dengan bilangan prima yang
telah dimasukkan ke dalam list. Jika bilangan tersebut tidak dapat dibagi oleh seluruh bilangan prima yang ada dalam list maka bilangan tersebut adalah bilangan prima
sehingga bilangan tersebut bisa dimasukkan ke dalam list bilangan prima. Pengecekan hanya dilakukan hingga akar kuadrat dari batas nilai yang ditentukan.
b. Metode The Sieve of Eratosthenes Dalam metode ini, teknik yang digunakan adalah dengan membuat sebuah array
sepanjang kandidat prima terbesar ditambah satu yang diberi tanda prima. Kemudian untuk setiap bilangan prima yang ditemukan, setiap array pada indeks kelipatan dari
bilangan tersebut akan ditandai sebagai bukan prima. Pada akhir proses, jika suatu indeks masih memiliki penanda prima pada sel array yang ditunjuk berarti indeks
tersebut bilangan prima. Waktu yang diperlukan dengan metode ini jauh lebih cepat dibandingkan metode bruce force.
c. Metode Sieve of Atkins Sieve of Atkins merupakan algoritma pengembangan dari Sieve of Eratosthenes.
Algoritma ini ditemukan oleh A. O. L. Atkin dan Daniel J. Bernstein. Dalam algoritma ini:
1. Semua sisa bilangan adalah hasil modulo bilangan tersebut dengan 60 2. Semua bilangan, termasuk x dan y, adalah bilangan bulat positif
3. Membalikkan sebuah entri dalam daftar “penyaringan” berarti membalikkan penandaan tentang primalitas bilangan tersebut ke keadaan sebaliknya prima ke
bukan prima, dan sebaliknya 2.7.2. Metode The Sieve of Eratosthenes
The Sieve of Eratosthenes merupakan sebuah algoritma klasik untuk menentukan seluruh bilangan prima sampai bilangan N yang ditentukan. Cara kerja dari metode ini
adalah dengan melakukan eliminasi bilangan yang bukan bilangan prima untuk menyaring suatu kumpulan bilangan menjadi kumpulan bilangan prima Alghazali,
2010. Lebih jelasnya, metode Sieve of Eratosthenes digambarkan pada langkah- langkah berikut:
Universitas Sumatera Utara
23 1. Tuliskan daftar bilangan dari 2 sampai bilangan yang akan dicari bilangan
primanya. 2. Tandai bilangan di dalam daftar yang mempunyai nilai kelipatan 2 dan
bilangan 2 tidak ditandai 3. Kemudian ke bilangan 3 dan tandai kelipatan setiap kelipatan 3 dan bilangan 3
tidak di tandai 4. Kemudian ke bilangan berikutnya, bila bilangan tersebut sudah di tandai maka
di lanjutkan ke bilangan berikutnya 5. Kemudian lakukan penandaan seperti bilangan di atas sampai bilangan yang di
tentukan. Semua bilangan yang tidak di tandai adalah bilangan prima Sebagai contoh untuk menentukan bilangan prima atau tidak dari deret 2
sampai 150 dapat anda lakukan langkah – langkah sebagai berikut : Keterangan warna pada Gambar 2.12, Gambar 2.13, Gambar 2.14, Gambar 2.15,
Gambar 2.16, Gambar 2.17 yaitu: a.
: Bilangan prima b.
: Bukan bilangan prima 1. Buatlah daftar bilangan prima yang akan di tentukan, yaitu bilangan bulat lebih
besar dari 1.
2 3
4 5
6 7
8 9
10 11
12 13
14 15
16 17
18 19
20 21
22 23
24 25
26 27
28 29
30 31
32 33
34 35
36 37
38 39
40 41
42 43
44 45
46 47
48 49
50 51
52 53
54 55
56 57
58 59
60 61
62 63
64 65
66 67
68 69
70 71
72 73
74 75
76 77
78 79
80 81
82 83
84 85
86 87
88 89
90 91
92 93
94 95
96 97
98 99
100 101
102 103
104 105
106 107
108 109
110 111
112 113
114 115
116 117
118 119
120 121
122 123
124 125
126 127
128 129
130 131
132 133
134 135
136 137
138 139
140 141
142 143
144 145
146 147
148 149
150 Gambar 2.12
Proses 1 pembangkit bilangan prima The Sieve of Eratothenes
Universitas Sumatera Utara
24 2. Kemudian beri tanda pada bilangan yang mempunyai nilai kelipatan 2 kecuali 2.
2 3
4 5
6 7
8 9
10 11
12 13
14 15
16 17
18 19
20 21
22 23
24 25
26 27
28 29
30 31
32 33
34 35
36 37
38 39
40 41
42 43
44 45
46 47
48 49
50 51
52 53
54 55
56 57
58 59
60 61
62 63
64 65
66 67
68 69
70 71
72 73
74 75
76 77
78 79
80 81
82 83
84 85
86 87
88 89
90 91
92 93
94 95
96 97
98 99
100 101
102 103
104 105
106 107
108 109
110 111
112 113
114 115
116 117
118 119
120 121
122 123
124 125
126 127
128 129
130 131
132 133
134 135
136 137
138 139
140 141
142 143
144 145
146 147
148 149
150 Gambar 2.13
Proses 2 pembangkit bilangan prima The Sieve of Eratothenes 3. Kemudian beri tanda bilangan kelipatan 3 kecuali 3.
2 3
4 5
6 7
8 9
10 11
12 13
14 15
16 17
18 19
20 21
22 23
24 25
26 27
28 29
30 31
32 33
34 35
36 37
38 39
40 41
42 43
44 45
46 47
48 49
50 51
52 53
54 55
56 57
58 59
60 61
62 63
64 65
66 67
68 69
70 71
72 73
74 75
76 77
78 79
80 81
82 83
84 85
86 87
88 89
90 91
92 93
94 95
96 97
98 99
100 101
102 103
104 105
106 107
108 109
110 111
112 113
114 115
116 117
118 119
120 121
122 123
124 125
126 127
128 129
130 131
132 133
134 135
136 137
138 139
140 141
142 143
144 145
146 147
148 149
150 Gambar 2.14
Proses 3 pembangkit bilangan prima The Sieve of Eratothenes 4. Kemudian ulangi langkah di atas untuk bilangan prima selanjutnya. Karena
bilangan 4 sudah tertandai pada proses sebelumnya, lanjut ke bilangan 5. Beri tanda setiap bilangan kelipatan 5 kecuali 5.
Universitas Sumatera Utara
25
2 3
4 5
6 7
8 9
10 11
12 13
14 15
16 17
18 19
20 21
22 23
24 25
26 27
28 29
30 31
32 33
34 35
36 37
38 39
40 41
42 43
44 45
46 47
48 49
50 51
52 53
54 55
56 57
58 59
60 61
62 63
64 65
66 67
68 69
70 71
72 73
74 75
76 77
78 79
80 81
82 83
84 85
86 87
88 89
90 91
92 93
94 95
96 97
98 99
100 101
102 103
104 105
106 107
108 109
110 111
112 113
114 115
116 117
118 119
120 121
122 123
124 125
126 127
128 129
130 131
132 133
134 135
136 137
138 139
140 141
142 143
144 145
146 147
148 149
150 Gambar 2.15
Proses 4 pembangkit bilangan prima The Sieve of Eratothenes 5. Kemudian menandai bilangan 6, karena bilangan 6 sudah ditandai pada proses
sebelumnya maka dilanjutkan ke bilangan 7. Karena bilangan 7 merupakan bilangan prima beri tanda setiap bilangan kelipatan 7 kecuali 7.
2 3
4 5
6 7
8 9
10 11
12 13
14 15
16 17
18 19
20 21
22 23
24 25
26 27
28 29
30 31
32 33
34 35
36 37
38 39
40 41
42 43
44 45
46 47
48 49
50 51
52 53
54 55
56 57
58 59
60 61
62 63
64 65
66 67
68 69
70 71
72 73
74 75
76 77
78 79
80 81
82 83
84 85
86 87
88 89
90 91
92 93
94 95
96 97
98 99
100 101
102 103
104 105
106 107
108 109
110 111
112 113
114 115
116 117
118 119
120 121
122 123
124 125
126 127
128 129
130 131
132 133
134 135
136 137
138 139
140 141
142 143
144 145
146 147
148 149
150 Gambar 2.16
Proses 5 pembangkit bilangan prima The Sieve of Eratothenes 6. Karena kelipatan bilangan 8, 9 dan 10 sudah tertandai dari proses sebelumnya,
maka langkah selanjutnya adalah menandai kelipatan bilangan 11 kecuali 11.
Universitas Sumatera Utara
26
2 3
4 5
6 7
8 9
10 11
12 13
14 15
16 17
18 19
20 21
22 23
24 25
26 27
28 29
30 31
32 33
34 35
36 37
38 39
40 41
42 43
44 45
46 47
48 49
50 51
52 53
54 55
56 57
58 59
60 61
62 63
64 65
66 67
68 69
70 71
72 73
74 75
76 77
78 79
80 81
82 83
84 85
86 87
88 89
90 91
92 93
94 95
96 97
98 99
100 101
102 103
104 105
106 107
108 109
110 111
112 113
114 115
116 117
118 119
120 121
122 123
124 125
126 127
128 129
130 131
132 133
134 135
136 137
138 139
140 141
142 143
144 145
146 147
148 149
150 Gambar 2.17
Proses 6 pembangkit bilangan prima The Sieve of Eratothenes 7. Kemudian tandai bilangan 12. Karena bilangan 12 sudah ditandai pada proses
sebelumnya maka dilanjutkan menandai bilangan 13 kecuali 13.
2 3
4 5
6 7
8 9
10 11
12 13
14 15
16 17
18 19
20 21
22 23
24 25
26 27
28 29
30 31
32 33
34 35
36 37
38 39
40 41
42 43
44 45
46 47
48 49
50 51
52 53
54 55
56 57
58 59
60 61
62 63
64 65
66 67
68 69
70 71
72 73
74 75
76 77
78 79
80 81
82 83
84 85
86 87
88 89
90 91
92 93
94 95
96 97
98 99
100 101
102 103
104 105
106 107
108 109
110 111
112 113
114 115
116 117
118 119
120 121
122 123
124 125
126 127
128 129
130 131
132 133
134 135
136 137
138 139
140 141
142 143
144 145
146 147
148 149
150
8. Karena kelipatan bilangan 14 dan 15 sudah ditandai dari proses sebelumnya, maka deretan bilangan prima yang dihasilkan antara lain 2, 3, 5, 7, 11, 13, 17, 19, 23, 29,
31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137 dan 139. Dan bilangan prima dengan metode The Sieve of
Eratosthenes ini akan digunakan pada penerapan algoritma RSA.
Universitas Sumatera Utara
27
2.8. Algoritma RSA