Anda di halaman 1dari 7

ALGORITMA MULTIPLICATION

Algoritma ini digunakan untuk menyelesaikan masalah operasi perkalian matriks.


Algoritma ini bekerja dengan cara menjumlahkan hasil dari perkalian elemen baris pada
matrik pertama dengan elemen kolom pada matrik kedua. Perhatikan gambar matrik berikut:

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.

Berikut adalah pseodocode algoritma perkalian matriks:

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

Output program Array Multiplication

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:

98/2 = 49, sisa 0

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
0,375 x 2=0,75, angka disebelah kiri koma adalah 0
0,75 x 2=1,5, angka disebelah kiri koma adalah 1
0,5 x 2=1,0 angka disebelah kiri koma adalah 1
jadi 98,37510=1100010,0112
b. konversi desimal ke octal (basis 8 )
proses konversi sama dengan konversi ke biner hanya saja pembaginya adalah 8, misalnya
1368 desimal:
1368/8 = 171, sisa 0 (akhir)
171/8 = 21, sisa 3
21/8 = 2, sisa 5
2/8 = 0, sisa 2 (awal)
jadi 136810 = 25308

contoh lainnya yaitu 1368,25 desimal:


1368/8 = 171, sisa 0
171/8 = 21, sisa 3
21/8 = 2, sisa 5
2/8 = 0, sisa 2
0,25 x 8 = 2,0, bilangan disebelah kiri koma adalah 2
jadi 1368,2510 = 2530,28

c. konversi desimal ke hexa (basis 16)


proses ini sama saja dengan proses sebelumnya namun bilangan pembagi atau pengali adalah
16,misalnya 19006 desimal:
19006/16 = 1187, sisa 14 = E (akhir)
1187/16 = 74, sisa 3
74/16 = 4, sisa 10 = A
4/16 = 0, sisa 4 (awal)
jadi 1900610 = 4A3E16
https://desylvia.wordpress.com/2010/09/21/bilangan-desimal-biner-hexa-octal/

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.

Macammacam bentuk bilangan floating point


Untuk mempermudah operasi bilangan floating point dan menambah tingkat presisinya,
maka bilangan tersebut dibuat dalam bentuk ternormalisasi (normalized forms). Suatu
bilangan floating point telah ternormalisasi jika most significant bit (MSB) dari mantissanya
adalah 1.
untuk bilangan floating point bukan no l yang ternormalisasi memiliki bentuk
(1) S * (1.m) * 2 e128

Aritmatika Floating Point Penjumlahan / Pengurangan


Hal yang sulit dari penjumlahan dua bilangan exponent adalah jika bilanganbilangan tersebut
memiliki bentuk exponensial yang berbeda. Untuk memecahkannya, maka sebelum di
tambahkan bilangan exponensialnya harus disetarakan terlebih dahulu, atau bilangan dengan
nilai exponent lebih kecil disamakan dulu ke bilangan exponent yang sama dengan bilangan
lain.

Langkah langkah yang dilakukan untuk menambah/mengurangkan dua bilangan floating


point :
1.

Bandingkan kedua bilangan, dan ubah ke bentuk yang sesuai pada bilangan dengan nilai

exponensial lebih kecil


2. Lakukan operasi penjumlahan / pengurangan
3. Lakukan normalisasi dengan menggeser nilai mantissa dan mengatur nilai exponensialnya

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

Floating Point standard IEEE


IEEE membuat dua bentuk bilangan floating point standard. Bentuk basic dan bentuk
extended. Pada tiap bentuk tersebut, IEEE menentukan dua format, yaitu singleprecision dan
double precision format. Single precision format adalah model 32 bit sedangkan double
precision format adalah 64 bit . Pada single extended format setidaknya menggunakan 44
bit , sedangkan pada double extended format setidaknya menggunakan 80 bit .
http://13205125.blogspot.co.id/2014/12/aritmatika-komputer.html

Anda mungkin juga menyukai