Algoritma Menghitung Determinan Matriks 2 × 2 Algoritma Menghitung Determinan Matriks 3 × 3 Algoritma Perkalian Matriks Algoritma Invers Matriks Algoritma Enkripsi Hill Cipher

BAB IV ALGORITMA DAN IMPLEMENTASI

4.1 Algoritma

Algoritma merupakan langkah-langkah terstruktur dalam menyelesaikan suatu masalah. Berikut ini merupakan algoritma yang digunakan dalam program ini.

4.1.1 Algoritma Menghitung Determinan Matriks 2 × 2

Input Nilai Matrix Set A = Matrix1, 1;Set B = Matrix1, 2 Set C = Matrix2, 1;Set d = Matrix2, 2 Det22 = A d - B C

4.1.2 Algoritma Menghitung Determinan Matriks 3 × 3

Input Nilai Matrix Set A11 = Matrix1, 1;Set A12 = Matrix1, 2 Set A13 = Matrix1, 3;Set A21 = Matrix2, 1 Set A22 = Matrix2, 2;Set A23 = Matrix2, 3 Set A31 = Matrix3, 1;Set A32 = Matrix3, 2 Set A33 = Matrix3, 3 Det33 = A11 A22 A33 + A12 A23 A31 + A13 A21 A32 - A31 A22 A13 - A32 A23 A11 - A33 A21 A12

4.1.3 Algoritma Perkalian Matriks

Y1 = 0: X1 = 0: Y2 = 0: X2 = 0 Y1 = UBoundA, 1 X1 = UBoundA, 2 Y2 = UBoundB, 1 X2 = UBoundB, 2 Universitas Sumatera Utara If X1 Y2 Then Tampilkan Pesan Matriks Tidak Bisa Dikalikan X1Y2 Exit End If For IX2 = 1 To X2 For IY1 = 1 To Y1 For IX1 = 1 To X1 CIY1, IX2 = CIY1, IX2 + AIY1, IX1 BIX1, IX2 Next IX1 Next IY1 Next IX2

4.1.4 Algoritma Invers Matriks

Y1 = 0: X1 = 0: Y2 = 0: X2 = 0 Y1 = UBoundC, 1 X1 = UBoundC, 2 If Y1 X1 Then Tampilkan Pesan Matriks Tidak Bisa Di-Invers. Y1X1 Exit End If For IY1 = 1 To Y1 For IX1 = 1 To X1 DUMMYMATIY1, IX1 = CIY1, IX1 CIY1, IX1 = 0 If IY1 = IX1 Then CIY1, IX1 = 1 Else CIY1, IX1 = 0 End If Next IX1 Next IY1 For i = 1 To UBoundDUMMYMAT, 1 Dummy = DUMMYMATi, i For j = 1 To UBoundDUMMYMAT, 2 DUMMYMATi, j = DUMMYMATi, j Dummy Universitas Sumatera Utara Ci, j = Ci, j Dummy Next j For X = 1 To UBoundDUMMYMAT, 1 If X i Then Dummy = DUMMYMATX, i For j = 1 To UBoundDUMMYMAT, 2 DUMMYMATX, j = DUMMYMATX, j - Dummy DUMMYMATi, j CX, j = CX, j - Dummy Ci, j Next j End If Next X Next i

4.1.5 Algoritma Enkripsi Hill Cipher

If MatrixSize = 2 Then For i = 0 To picSource.ScaleWidth - 1 For j = 0 To picSource.ScaleHeight - 1 Step 2 Set MatrixHill1, 1 = Empty Set MatrixHill1, 2 = Empty Set MatrixHill1, 3 = Empty Set MatrixHill2, 1 = Empty Set MatrixHill2, 2 = Empty Set MatrixHill2, 3 = Empty PixelColor = GetPixelpicSource, i, j R = PixelColor Mod 256 G = PixelColor \ 256 Mod 256 B = PixelColor \ 256 \ 256 MatrixPic1, 1 = R MatrixPic1, 2 = G MatrixPic1, 3 = B PixelColor = GetPixelpicSource, i, j + 1 R = PixelColor Mod 256 G = PixelColor \ 256 Mod 256 B = PixelColor \ 256 \ 256 MatrixPic2, 1 = R MatrixPic2, 2 = G Universitas Sumatera Utara MatrixPic2, 3 = B Call MatrixMULMatrixKey, MatrixPic, MatrixHill Reset Nilai kembali For k = 1 To 2 For l = 1 To 3 Dump = MatrixHillk, l If Dump 0 Then While Dump 0 Dump = Dump + 256 Wend ElseIf Dump = 0 Then Dump = Dump Mod 256 End If MatrixHillk, l = Dump Next l Next k SetPixel picDest, i, j, SetPixel picDest, i, j + 1 Next j Next i End if If MatrixSize = 3 Then For i = 0 To picSource.ScaleWidth - 1 For j = 0 To picSource.ScaleHeight - 1 Step 3 Set MatrixHill21, 1 = Empty Set MatrixHill21, 2 = Empty Set MatrixHill21, 3 = Empty Set MatrixHill22, 1 = Empty Set MatrixHill22, 2 = Empty Set MatrixHill22, 3 = Empty Set MatrixHill23, 1 = Empty Set MatrixHill23, 2 = Empty Set MatrixHill23, 3 = Empty PixelColor = GetPixelpicSource, i, j R = PixelColor Mod 256 G = PixelColor \ 256 Mod 256 Universitas Sumatera Utara B = PixelColor \ 256 \ 256 MatrixPic21, 1 = R MatrixPic21, 2 = G MatrixPic21, 3 = B PixelColor = GetPixelpicSource, i, j + 1 R = PixelColor Mod 256 G = PixelColor \ 256 Mod 256 B = PixelColor \ 256 \ 256 MatrixPic22, 1 = R MatrixPic22, 2 = G MatrixPic22, 3 = B PixelColor = GetPixelpicSource, i, j + 2 R = PixelColor Mod 256 G = PixelColor \ 256 Mod 256 B = PixelColor \ 256 \ 256 MatrixPic23, 1 = R MatrixPic23, 2 = G MatrixPic23, 3 = B Call MatrixMULMatrixKey, MatrixPic2, MatrixHill2 Reset Nilai kembali For k = 1 To 3 For l = 1 To 3 Dump = MatrixHill2k, l If Dump 0 Then While Dump 0 Dump = Dump + 256 Wend ElseIf Dump = 0 Then Dump = Dump Mod 256 End If MatrixHill2k, l = Dump Next l Next k SetPixel picDest, i, j SetPixel picDest, i, j + 1 Universitas Sumatera Utara SetPixel picDest, i, j + 2 Next j Next i End If

4.1.6 Algoritma Dekripsi Hill Cipher