A.
Operasi-Operasi pada Matriks
Dengan menggunakan array, kita bisa melakukan
operasi-operasi pada matriks.Pertama kita harusmenyimpan matriksnya dalam
bentuk array dua dimensi.Operasi penambahan dan pengurangan dua matriks
dilakukan dengan menambahkan dan mengurangimasing-masing elemen di indeks yang
bersesuaian.
Contoh penambahan:
Contoh pengurangan:
Sedangkan operasi
perkalian lebih rumit, karena harus mencocokan baris di matriks pertama
dengankolom di matriks kedua.Perkalian matriks melibatkan perkalian elemen dan
penjumlahan.
Contoh
perkalian:
B.
Algoritma Binary
Search
Bagaimana Anda menemukan posisi sebuah elemen di dalam
sebuah array? Cara yang mudah adalah dengan mengecek
satu-satu setiap elemen di array tersebut apakah sama dengan elemen yang
dicari? Dengan mudah, Anda bisa melakukannya dengan looping.
Sekarang, jika Anda
diberitahu kalau elemen-elemen di dalam array tersebut terurut, apakah Anda
bisamelakukan pencarian dengan lebih cepat? Jawabannya tentu saja: ya.
Pertanyaan selanjutnyabagaimana?Dengan menggunakan algoritma Binary
Search. Binary Search dilakukan dengan langkah-langkah berikut:
1. Definisikan variabel
awal = 0 (indeks pertama) dan akhir = a.length-1 (indeksterakhir).
2. Lakukan iterasi selama
awal tidak lebih besar dari akhir.
- Simpan nilai tengah = (awal + akhir)/2
- Jika elemen yang dicari lebih kecil dari a[tengah] berarti kita hanya perlu mencari disetengah bagian pertama sehingga akhir = tengah-1. Lanjut ke iterasi berikutnya.
- Sebaliknya jika elemen yang dicari lebih besar dari a[tengah], maka kita hanya perlumencari di setengah bagian kedua sehingga awal = tengah+1. Lanjut ke iterasiberikutnya.
- Jika tidak memenuhi keduanya, berarti a[tengah] adalah elemen yang dicari danalgoritma selesai dengan mengembalikan nilai tengah sebagai posisi elemen yang dicari.
Latihan Program:
//Latihan 7.1
BinarySearch.javapackage javaapplication1;import java.util.Scanner;public class BinarySearch{public static void main (String[] args){int k, angka;boolean notfound=true;int[] intarray={25,30,35,40,45};for(int i=0;i<intarray.length;i++){System.out.print(intarray[i]+" ");}Scanner sc=new Scanner(System.in);System.out.print("Masukkan angka yang ingin dicari= ");angka=sc.nextInt();int batasAtas=intarray.length-1;int batasBawah=0;while (notfound){int posisiSekarang = (batasAtas + batasBawah)/2;if (intarray[posisiSekarang] == angka){notfound=false;System.out.println("ditemukan " +angka);}else if(batasBawah>batasAtas){System.out.println("tidak ditemukan " +angka);break;}else {if(intarray[posisiSekarang]< angka){batasBawah = posisiSekarang + 1;}else{batasAtas = posisiSekarang-1;}}}}}
0 komentar
Posting Komentar
Kritik dan Saran Anda sangat kami perlukan