You are on page 1of 10

Array Sorting Search & Matriks

19:41 Avib No comments

Pengertian Array Sorting Search


Array Sorting Search adalah sebuah program untuk mencari data dalam sebuah data yang di random. Dan fungsi-fungsi yang digunakan adalah : Array, Sorting, Class, Constructor, Void dan Scanner. Array adalah suatu koleksi dari beberapa materi menyangkut tipe data yang sama. Misalnya array dari integer adalah array yang terdiri dari suatu rangkaian integer. Array digunakan untuk menyimpan sejumlah nilai pada sebuah variabel. Nilai-nilai yang tersimpan dalam array disebut elemen. Untuk mengakses elemen tertentu pada array digunakan angka index. Index menunjukkan nomor urutdari posisi elemen yang ingin diakses dalam array. Untuk sekedar pemberitahuan, Java memulai angka indexnya dari 0,bukan 1. Class adalah suatu koleksi metode dan variable. Sebuah kelas menggambarkan suatu template untuk me nyimpan satuan kode dan data yang berhubungan dengan suatu entitas. Karena itu, kelas merupakan bentuk dasar dari keseluruhan bahasa Java. Sorting adalah sekumpulan instruksi yang bertugas mengurutkan sekumpulan data. Ada dua jenis pengurutan yaitu pengurutan menaik (ascending) dan pengurutan menurun (descending). sedangkan contructor digunakan pada saat object dideklarasikan untuk mengisi variable awal. Void adalah fungsi yang tidak mengembalikan sebuah nilai dan hanya mengerjakan sebuah perintah saja. Kemudian yang terakhir adalah Scanner, Scanner merupakan suatu statement yang

berfungsi untuk meng-inputkan data yang nantinya bisa diproses sesuai program yang ingin dikehendaki.

Matriks
Matriks adalah sebuah program matematika yang untuk pengerjaa kali ini menggunakan java(netbean). Pada soal kali ini menggunakan Void adalah fungsi yang tidak mengembalikan sebuah nilai dan hanya mengerjakan sebuah perintah saja.

Contoh Permasalahan
Array sorting search

Permasalahan : Disini kita harus membuat sebuah program dimana kita akan meng-inputkan berapa jumlah data yang ingin kita tampilkan, sehingga pada out put nanti jumlah data-nya sama dengan yang kita input kan. Dan juga data yang di input kan harus secara otomatis dari computer dan itu pun data-nya jga harus Random. Kemudian kita akan memasukkan kata kunci (dalam bentuk angka), yang berguna untuk mencari data yang kita inginkan (terletak pada data keberapa).

Matriks

Permasalahan : Disini kita harus menyelesaikan sebuah persoalan Matematika dengan java, kita harus membuat sebuah matriks 2x2 yang nantinya di setiap matriks-nya akan diberi nilai secara random (acak),, dan juga kita harus membuat program penjumlahan serta pengurangan dua buah matriks 2x2.

Penyelesaian masalah dan ALGORITMA

 Array sorting search

Pemecahan masalah

Disediakan Sebuah array yang dapat anda berikan indeks, disini kita akan memberikan input-an secara otomatis. Dan masing-masing elemen diisikan bilangan bulat dengan random(acak). Lalu dari bilanga n acak tersebut kita harus mengurutkan mulai dari bilangan terkecil hingga bilangan terbesar. Nah, untuk itu disini saya menggunakan bubble sort untuk mengurutkan bilangan-bilangan yang merupakan elemen-elemen dari masing-masing indeks array. Kemudian kita dapat meng-input kan data atau elemen yang ingin kit acari. Dan apabila data yang and cari tidak ada maka out put pun akan menampilkan bahwa tidak ada data tersebut (hanya permisalan).

Algoritma (a)

Buat variable i dengan nilai 0 dan j nilainya sama dengan i

(b) Inisialisasikan elemen-elemen array secara acak. (c) Urutkan elemen elemen tersebut dengan cara membandingkan elemen berindeks i dengan elemen berindeks j+1. (d) Jika elemen berindeks i lebih besar daripa da elemen berindeks j+1 maka tukar elemen tersebut. Lalu nilai I dan j masing -masing ditambah 1. (e) Ulangi langkah c sampai semua elemen elemen tersebut urut mulai elemen terkecil hingga elemen terbesar . (f) Lalu cetak.

 Matriks
Pemecahan masalah :

Awalnya harus kita membuat sebuah int untuk menampung 2 buah matriks,, masing-masing int mewakili 1 buah matriks, dan kali ini matriks ya

ng kita buat berukuran 2x2. Setelah itu kita memasukkan nilai-nilai pada tiap matriks dengan nilai random (acak), dengan menggunakan RandomData. Kemudian kita harus membuat sebuah program penjumlahan dan pengurangan Matriks dengan nilai yang sudaah di tentukan secara otomatis (random).

Algoritma
1. 2.

Deklarasikan variabel matrik1[2][2],matrik2[2][2],matrik[2][2],i,j,k,l,m,n,a,b Proses ulang atau looping dari i=0 sampai i<2

a)Proses ulang(nested loop) dari j=0 sampai j<2 Masukkan nilai matrik1 baris ke(i+1) kolom ke(j+1)dan nyatakan ke variabel matrik1[i][j] 3. 4. Cetak ganti baris Proses ulang atau looping dari k=0 sampai k<2

a)Proses ulang(nested loop) dari l=0 sampai l<2 Masukkan nilai matrik2 baris ke(k+1) kolom ke(l+1) dan nyatakan ke variabel matrik2[k][l] Hitung nilai dari matrik3[k][l]=matrik1[k][l]+matrik2[k][l] 5. 6. Cetak ganti baris Cetak matrik1 matrik2 matrik1+matrik2

7. Proses ulang atau looping dari m=0 sampai m<2 a)Proses ulang (nested loop) dari n=0 sampai n<2 Cetak nilai matrik1[m][n] b)Proses ulang (nested loop) dari a=0 sampai a<2 Cetak nilai matrik2[m][a] c)Proses ulang (nested loop) dari b=0 sampai b<2 Cetak nilai matrik3[m][b] d)Cetak ganti baris 8. 9. Cetak ganti baris Program selesai

LISTING PROGRAM dan VARIABLE


y

LISTING PROGRAM (Array sorting search)

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package array_sort_serch; import java.util.Scanner;

/** * * @author HP */ public class Main { public static void main (String args[]){ Scanner input = new Scanner (System.in); /* Array r1; r1 = new Array(5); r1.Sorting(5); * */ System.out.println(" masukkan banyak data : "); int n = input.nextInt(); int data[] = new int[n]; Array r1Array = new Array(data, n); r1Array.Data(n); for(int i=0; i<n; i++){ System.out.print((data[i])+" "); } System.out.println("\nSorting : "); r1Array.Sorting(n); System.out.print("\nSearch key : "); int key = input.nextInt(); r1Array.Searching(key); } } Link ke class berikutnya /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package array_sort_serch; /** * * @author HP

*/ public class Array { private int data[]; private int size; /* public Array (){ size = 5; data = new int [size]; for (int i=0; i<size; i++) data[i]=0;

} public Array (int xsize){ size = xsize; data = new int [xsize]; for (int i=0; i<size; i++) data[i]=0; } * */ public Array(int data[], int size){ this.data=data; this.size=size; } public void Data(int size){ for (int i=0; i<size; i++){ data[i]=(int)(Math.random()*size); } } public void Sorting(int size){ for (int i=0; i<data.length-1; i++){ for (int j

=i; j<data.length-1; j++){ if (data[i]>data[j+1]){ int h=data[i]; data[i]=data[j+1]; data[j+1]= h; } } } for (int i=0; i<data.length; i++){ System.out.print(data[i]+" "); } } public void Searching(int key){

boolean ada=false; for (int i=0; i<data.length; i++){ if (data[i]==key){ System.out.println("Found in position = "+(i+1)); ada=true; break; } } if (ada==false){ System.out.println("Key not found"); } } } Out put run: masukkan banyak data : 10 4 1 3 2 2 0 3 7 7 2 Sorting : 0 1 2 2 2 3 3 4 7 7 Search key : 7 Found in position = 9 BUILD SUCCESSFUL (total time: 8 seconds)

Variable yang digunakan


Varibel data[] : variable ini mengandung elemen -elemen yang akan diurutkan Variable I : variable ini digunakan untuk indeks array untuk membantu proses pengurutan. variable j : variable ini digunakan untuk indeks array untuk membantu pr oses pengurutan.

LISTING PROGRAM ( MATRIKS )


/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package Tugas_method; /** * * @author emboh */ public class tugas_6 { public static void main (String args[]){ int matrix1[][]=new int[2][2]; int matrix2[][]=new int[2][2]; randomData(matrix1); randomData(matrix2); System.out.println("Matrix 1 dan Matrix 2 :"); getDisplay(matrix1, matrix2); System.out.println("Penjumlahan Matrix : "); getSum(matrix1, matrix2); System.out.println("\nPengurangan Matrix : "); getSubstract(matrix1, matrix2); } public static void randomData(int data[][]){ for(int i=0; i<2; i++){ for(int j=0; j<2; j++){ data[i][j]=(int)(Math.random()*10); } } } public static void getDisplay(int matrix1[][], int matrix2[][]){ System.out.println("["+matrix1[0][0]+"] "+"["+matrix1[0][1]+"] "+" ["+matrix2[0][0]+"] "+"["+matrix2[0][1]+"]");

System.out.println("["+matrix1[1][0]+"] "+"["+matrix1[1][1]+"] "+" ["+matrix2[1][0]+"] "+"["+matrix2[1][1]+"] \n"); } public static void getSum(int matrix1[][], int matrix2[][]){ int sum[][]=new int[2][2]; for(int i=0; i<2; i++){ for(int j=0; j<2; j++){ sum[i][j]=matrix1[i][j]+matrix2[i][j]; } } for(int i=0; i<2; i++){ for(int j=0; j<2; j++){ System.out.print("["+sum[i][j]+"] } System.out.println(); } } public static void getSubstract(int matrix1[][], int matrix2[][]){ int sum[][]=new int[2][2]; for(int i=0; i<2; i++){ for(int j=0; j<2; j++){ sum[i][j]=matrix1[i][j]-matrix2[i][j]; } } for(int i=0; i<2; i++){ for(int j=0; j<2; j++){ System.out.print("["+sum[i][j]+"] "); } System.out.println(); } } } Out put : run: Matrix 1 dan Matrix 2 : [3] [6] [4] [5] [1] [5] [1] [2] Penjumlahan Matrix : [7] [11] [2] [7] Pengurangan Matrix : [-1] [1] [0] [3]

");

BUILD SUCCESSFUL (total time: 0 seconds)

Variable yang digunakan


y

int matrix1[][] & int matrix2[][] adalah varible untuk membuat matriks ( tempat untuk meletakkan nilai) variable I sebagai variable yang di gunakan untuk coding random data (memasukkan data secara random), untuk penjumlahan dan pengurangan matriks variable J sebagai variable yang di gunakan untuk coding random data (memasukkan data secara random), untuk penjumlahan dan pengurangan matriks

You might also like