Pada gambar tersebut terlihat bahwa matrik ordo 3X2 dikalikan dengan matrik ordo
2X3. Langkah proses perkalian antara dua matrik tersebut adalah elemen pada baris 1(merah)
matriks pertama dikalikan dengan elemen pada kolom 1(merah) matiks kedua, yakni 2 x 2, 3
x 5,1 x 1. Kemudian jumlahkan semua hasil proses perkalian tersebut. Proses selanjutnya
adalah mengalikan baris 1 matrik pertama dengan kolom 2 matriks kedua. Proses akan
kembali berulang untuk baris 2 matriks pertama dengan kolom 1 matriks kedua dan
seterusnya.
Dar
i algoritma di atas terlihat bahwa algoritma ini membutuhkan input berupa dua data array.
Dua array ini yang kemudian dilakukan operasi perkalian matriks.
Dalam algoritma ini terdapat tiga tingkat kalang for. Kalang for yang pertama(terluar)
digunakan untuk proses perulangan baris pada matriks pertama. Kalang for yang kedua
digunakan untuk proses perulangan kolom matriks kedua. Kemudian pada kolom yang
terdalam digunakan untuk melakukan proses perkalian dari masing-masing elemen baris
matriks pertama dengan elemen matriks baris kedua.
Berikut adalah implementasinya dalam sebuah kode program java:
1 public class MatrixMultiplication {
2 public static void main(String[] args) {
3
4
5 int[][]arr1={{2,0},{4,9}};
6 int[][]arr2={{1,3},{5,2}};
MatrixMultiplication.fungsiMatrix(arr1, arr2);
7 }
8 private static void fungsiMatrix(int[][]matrixA,int[][]matrixB){
9 int[][]matrixC=new int[2][2];
10 for (int i = 0; i < matrixC.length; i++) {
for(int j=0;j<matrixC.length;j++){
11 matrixC[i][j]=0;
12 for(int k=0;k<matrixC.length;k++){
13 matrixC[i][j]+=matrixA[i][k]*matrixB[k][j];
14 }
15 }
}
16 for (int i = 0; i < matrixC.length; i++) {
17 for(int j=0;j<matrixC.length;j++){
18 System.out.print(matrixC[i][j]+" ");
19 }
System.out.println("");
20 }
21 }
22 }
23
24
Keterangan Kode Program:
1. Alur eksekusi program dimulai dengan dieksekusinya kode program dalam method
main. Disini ada pendeklarasian dua variable array 2D yang kemudian dua array ini
delewatkan datanya kedalam suatu pemanggilan method fungsiMatrix.
2. Alur eksekusi berpindah ke dalam method fungsiMatrix. Disini terdapat
pendeklaraasian array 2D yang berfungsi untuk menampung hasil perkalian dua buah
array sebelumnya.
3. Kemudian terdapat perulangan bersarang tiga tingkat. Disini akan didapatkan hasil
perkalian matrixnya.
4. Mekanisme selanjutnya adalah bagaimana kita menampilkan hasil perkalian tersebut.
Disini terdapat perulangan bersarang dengan dua tingkat.
5. Berikut adalah hasil eksekusi program tersebut
Selesai, mungkin itu saja pembahasan mengenai matriks multiplication-nya. Jika ada yang
belum jelas atau bahkan gak paham dengan bahasan saya. Silakan poskan komentar dan kita
diskusikan bareng-bareng.
https://icomit.wordpress.com/2010/12/18/matrix-multiplication-algorithmperkalian-matriks/
Floating-point
Floating-point atau bilangan titik mengambang, adalah sebuah format bilangan
yang dapat digunakan untuk merepresentasikan sebuah nilai yang sangat besar atau sangat
kecil. Bilangan ini direpresentasikan menjadi dua bagian, yakni bagian mantisa dan bagian
eksponen (E). Bagian mantisa menentukan digit dalam angka tersebut, sementara eksponen
menentukan nilai berapa besar pangkat pada bagian mantisa tersebut (pada posisi titik
desimal). Sebagai contoh, bilangan 314600000 dan bilangan 0.0000451 dapat
direpresentasikan dalam bentuk bilangan floating point: 3146E5 dan 451E-7 (artinya 3146 *
10 pangkat 5, dan 451 * 10 pangkat -7).
Kebanyakan CPU atau mikroprosesor sederhana tidak mendukung secara langsung
operasi terhadap bilangan floating-point ini, karena aslinya mikroprosesor ini hanya memiliki
unit aritmetika dan logika, serta unit kontrol yang beroperasi berdasarkan pada bilangan bulat
(integer) saja.
Perhitungan atau kalkulasi terhadap nilai floating point pada jenis mikroprosesor
sederhana dapat dilakukan dengan menggunakan perangkat lunak, sehingga operasinya
sangat lambat. Untuk itulah, sebuah prosesor tambahan dibutuhkan untuk melakukan operasi
terhadap jenis bilangan ini, yang disebut dengan unit titik mengambang.
Dalam bahasa pemrograman, khususnya keluarga bahasa pemrograman C, bilangan
titik mengambang direpresentasikan dengan tipe data float.
https://id.wikipedia.org/wiki/Floating-point
ALGORITMA DIVISION
Algoritma division adalah Algoritma Pembagian yang memiliki simbol DIV (Integer
Division) / dari jenis operator aritmatika.Operator DIV menciptakan hasil potongan dari
divisi/. Pemotongan di sini berarti menghilangkan sebagian kecil hasil bilangan . Contoh 7/3
hasilnya 2.33 , maka hasil 2.33 akan dipotong oleh OP DIV menjadi 2. Kesimpulannya
DIV(Inveger Division) pembagian yang menghasilkan bilangan bulat.
http://lonelyassignment.blogspot.co.id/2011/11/tugas-algoritma-div-dan-mod.html
Aritmetika Desimal
Bilangan desimal adalah bilangan berbasis 10 terdiri dari kombinasi angka 0 s.d. 9,
bilangan ini paling umum dijumpai dan dijadikan sebagai bilangan yang umum digunakan
pada software yang berinteraksi langsung dengan manusia.
konversi bilangan desimal
konversi desimal ke biner
misalnya 98 desimal akan diubah ke biner:
98/2 = 49, sisa 0 (akhir)
49/2 = 24, sisa 1
24/2 = 16, sisa 0
12/2 = 6, sisa 0
6/2 =3, sisa 0
3/2 =1, sisa 1
1/2=0, sisa 1 (awal)
sisa dituliskan dari bawah menjadi: 9810 = 11000102
contoh lainnya yaitu 98,375 desimal akan diubah menjadi biner:
E. FLOATING-POINT ARITHMATIC
Bentuk Bilangan Floating Point
Bilangan Floating Point memiliki bentuk umum : m*b e , dimana m (di sebut juga
dengan mantissa), mewakili bilangan pecahan dan umumnya dikonversi ke bilangan
binernya, e mewakili bilangan exponentnya, sedangkan b mewakili radix (basis) dari
exponent.
Bandingkan kedua bilangan, dan ubah ke bentuk yang sesuai pada bilangan dengan nilai
Perkalian
Perkalian dari dua bilangan floating point dengan bentuk X = mx* 2 a dan Y = mx*2b setara
dengan X * Y = (mx * my) * 2a+b
Algoritma umum untuk perkalian dari bilangan floating point terdiri dari tiga langkah:
1. Hitung hasil exponensial dengan menjumlahkan nilai exponent dari kedua bilangan
2. Kalikan kedua bilangan mantissa
3. Normalisasi hasil akhir
Pembagian
Pembagian dari dua bilangan floating point dengan bentuk X = mx * 2a dan
Y = mx* 2b setara dengan X / Y = (mx / my) * 2a b
Algoritma umum untuk pembagian dari bilangan floating point terdiri dari tiga langkah :
1. Hitung hasil exponensial dengan mengurangkan nilai exponent dari kedua bilangan
2. Bagi kedua bilangan mantissa
3. Normalisasi hasil akhir