Jumat, 13 Juni 2014

Array dan Matriks


ARRAY DAN MATRIKS DI NEATBEANS C++

1. ARRAY
Array adalah sekelompok data sejenis yang disimpan ke dalam variabel dengan nama yang sama, dengan memberi indeks pada variabel untuk membedakan antara yang satu dengan yang lain.array dapat menyimpan data-data yang kita masukan sebelum di proses.

Bentuknya adalah  :
            nama_variabel[indeks]

ketentuan nama variabel arrray sama dengan nama variabel biasa.
indeks menunjukkan nomor dari variabel .

-       DEKLARASI VARIABEL ARRAY

                  BU : tipe nama_variabel[indeks];

           Contoh : jumlah_bilangan[10];
Data indeksnya berjumalah 10,dimulaindenagn hitungan 0 dan sampai dengan 9,
-       INISIALISASI  ARRAY 1 DIMENSI
Inisialisasi  dapat dilakukan bersama dengan deklarasi atau tersendiri. Inisialisasi suatu array adalah dengan meletakkan elemen array di antara tanda kurung kurawal {}, antara elemen yang satu dengan lainnya dipisahkan koma.
            int bianganl[3] = {5,5,3}

            bil[0] = 5
            bil[1] = 5
            bil[2] = 3

Contoh array :
package array2;
import java.util.Scanner;
public class Array2
{


    public static void main(String[] args)
    {
        // scanner
        Scanner sc = new Scanner(System.in);
        //buat array
        String[] nama = new String [5];
       
        //masukan
        for(int a=4;a>=0;a--)
        {
            nama[a]= sc.next();
        }
         //pindahkan array
         String[] mhs = nama;
         //print
        for(int a=0; a<5; a++)
        {
            System.out.println("nama"+a+"="+mhs[a]);
        }
     }


-       ARRAY 2 DIMENSI
            nama_variabel [indeks1][indeks2]

indeks1            : jumlah/nomor baris
indeks2            : jumlah/nomor kolom
Jumlah elemen yang dimiliki array 2 dimensi dapat ditentukan dari hasil perkalian indeks1 * indeks2

contoh : array A[4][1] akan memiliki 4*1 = 4 elemen.

{
            float bil [N]  [N]
            .......
- INISIALISASI ARRAY 2 DIMENSI

elemen bil [0] [0] = 1
elemen bil [0] [1] = 2
elemen bil [0] [2] = 3
elemen bil [1] [0] = 4
elemen bil [1] [1] = 5
elemen bil [1] [2] = 6

Contoh array dua dimensi :

package gajikarya;
import java.util.Scanner;
public class Gajikarya {

    public static void main(String[] args) {

        //judul
   
        System.out.println("*******************************\nDATA KARYAWAN SUATU PERUSAHAAN\n*******************************");
        // scanner
       
        Scanner input=new Scanner(System.in);
        int angka;
        int max = 0;
       
        // masukan
            System.out.print("Masukan Jumlah Data Karyawan: ");
            angka = input.nextInt();
        //buat array
       
            String[] nama = new String[angka];
            Integer[] umur = new Integer[angka];
            Integer[] gaji = new Integer[angka];
                       
        //masukan
        for(int a=0;a<angka;a++)
        {  
            System.out.print("masukan nama karyawan "+a+" = ");
            nama[a]= input.next();
           
            System.out.print("masukan umur karyawan "+a+" = ");
            umur[a]= input.nextInt();
          
            System.out.print("masukan gaji karyawan "+a+" = ");
            gaji[a]= input.nextInt();
        }
            // Print
                        int x = 0;
                int z = 999999;
                        System.out.println("**************************************************************************");
                        System.out.println("  No        Nama        Umur        Gaji ");
                        System.out.println("**************************************************************************");
                        for (int i= 0; i< angka; i++)
                        {
                                    System.out.println("  "+i+"         "+nama[i]+"         "+umur[i]+"          "+gaji[i]+" ");
                                    if (x< umur[i])
                                    {
                                                x= umur[i];
                                    }
                                    if (z> umur[i])
                                    {
                                                z= umur[i];
                                    }
                        }
                        System.out.println("**************************************************************************");
                        System.out.println(" Umur karyawan yang tertua  = "+x+"");
                        System.out.println(" Umur karyawan yang termuda = "+z+"");
                        System.out.println("*********************************");
            }
}

- STRING dan ARRAY
1. Pada string   terdapat karakter null(\0) di akhir string
2. String sudah pasti array, array belum tentu string

CONTOH - CONTOH : 
1. array dengan pengisian input melalui keyboard
            Data_masukan()
            {
                        jumlah nilai[10];
                        for(i=0;i<10;i++)
                       
2. Fungsi yang mencetak isi array dari akhir ke awal
            cetak_array()
            {
                        jumlah nilai[10];
                        for(i=9;i>=0;i--)
                       


3. Menghitung rata - rata isi array nilai
            rata_rata()
            {
                        jumlah nilai[10],jum*rata;
                        for(i=0,jum=0;i<=9;i++)
                                    jum+=nilai[i];
                                    rata=jum/i;
            }

4. Mencari nilai terbesar
            besar()
            jumlah temp,nilai[10];
            {
                        for(temp=nilai[0],i=1;i<=9;i++)
                        if(nilai[i] > temp)
                                    temp=nilai[i];
            }
            return(temp)

       
      
  
  1. MATRIKS
PENGERTIAN

Beberapa pengertian tentang matriks :
1.       Matriks adalah himpunan skalar (bilangan riil atau kompleks) yang disusun atau dijajarkan secara empat persegi panjang menurut baris-baris dan kolom-kolom.
2.       Matriks adalah jajaran elemen (berupa bilangan) berbentuk empat persegi panjang.
3.       Matriks adalah suatu himpunan kuantitas-kuantitas (yang disebut elemen), disusun dalam bentuk persegi panjang yang memuat baris-baris dan kolom-kolom.
Notasi yang digunakan

 [ ] Atau |  | Atau


-  NOTASI MATRIKS
Tempat dimana tredapai  indeks I menyatakan baris ke I dan indeks j menyatakanbari ke I kolom ke j dari elemen tersebut.
- OPERASI PADA MATRIKS
  1. PENJUMLAHAN MATRIKS
 Penjumlahan matriks, penjumlahan matrik dapat dilakukan jika bentuk dan ukuran matriksnya
            sama,jika tidak,maka sulit menentukan hasilnya,

contoh : indeks A + indeks B = A+B
indeks 3 + indeks 4 = indeks 7

  1. PENGURANGAN MATRIKS
        Sama seperti pada penjumlahan matriks, pengurangan matriks hanya dapat dilakukan pada matriks- 
        matriks yang mempunyai ukuran yang sama. Jika ukurannya berlainan maka matriks hasil tidak
        terdefinisikan.

Contoh :  indeks A - indeks B = A-B
indeks 4 + indeks 3 = indeks1

  1. PERKALIAN MATRIKS DENGAN MATRIKS
Beberapa hal yang perlu diperhatikan :
Perkalian matriks dengan matriks padadasarnya tidak komutatif.
Syarat perkalian adalah jumlah banyaknya kolom pertama matriks samadengan jumlah banyaknya baris matriks kedua.
contoh : 
|1,2,2| x |2|  = 1x2,2x3,2x4
             |3|
             |4|


Contoh program perkalian,penambahan,pengurangan di neatbeans :
package matrixkali;
import javax.swing.JOptionPane;
public class Matrixkali {

    public static void main(String[] args) {
         //jumlah kolom dan baris
        String baris = JOptionPane.showInputDialog(null,"masukan jumlah baris ");
        int b=Integer.parseInt (baris);
        String kolom = JOptionPane.showInputDialog(null,"masukan jumlah kolom ");
        int ko=Integer.parseInt (kolom);
        //variabel
        int A [][] = new int[b][ko];
        int B[][]=new int [b][ko];
        int hasilx[][] = new int [b][ko];
        int i,j,k,l,m,n;
        i=0;      
        k=0;
        m=0;
        n=0;
       
        int hasil[][] = new int[b][ko];
        int jumlahmatriks [][] = new int[b][ko];
        int kurangmatriks [][] = new int[b][ko];
        int kalimatriks [][] = new int[b][ko];
       
        String masA[][] = new String[b][ko];
        String masB[][] = new String[b][ko];
        String hasilax[][] = new String[b][ko];
      
        //memasukan input untuk matriks A
        do{
            j=0;
            do{
                masA[i][j]= JOptionPane.showInputDialog(" Masukan nilai matriks A [" + i + "]["+ j + "]" );
                A[i][j] = Integer.parseInt(masA[i][j]);
                j++;
        }while (j<b);
            i++;
            }while (i<b);
   
        //Memasukan input untuk matriks B
        do{
            l=0;
            do{
                masB[k][l] = JOptionPane.showInputDialog(null,"Masukan nilai matriks B["+k+"]["+l+"]");
                B[k][l] = Integer.parseInt(masB[k][l]);
                l++;
            }while(l<b);
            k++;
        }while(k<b);
        //pilihan
        String pilih = JOptionPane.showInputDialog(null,"Pilih operasi yang anda inginkan : \n1. Penjumlahan.\n2. Pengurangan.\n3. Perkalian.","...:Memasukan Jenis Operasi:...");
        int p = Integer.parseInt(pilih);
         if(p==1){System.out.print("      +\n");}
            else if(p==2){System.out.print("      -\n");}
            else if(p==3){System.out.print("      \n");}
            else{System.out.print("Operator belum mengetahui jenis operasi yang akan digunakan\n");}
           
        //Matriks A
        System.out.print("\n..:Matriks A:..\n");
        for(j=0;j<b;j++){
            for(i=0;i<b;i++){
            System.out.print("  "+A[j][i]);}
            System.out.print("\n");}
            System.out.println("");
                             
          
        //Matriks B
            System.out.print("\n..:Matriks B:..\n");
        for(j=0;j<b;j++){
            for(i=0;i<b;i++){
            System.out.print("  "+B[j][i]);}
            System.out.println();}
            System.out.println("");
                     
        //Proses yang menentukan hasil setiap operasi   
        //penjumlahan matriks
        for(i = 0;i<ko;i++){
            for(j=0;j<ko;j++){
                jumlahmatriks[i][j] = A[j][i]+B[j][i];}
                }
       
        //pengurangan matriks
        for(i=0;i<ko;i++){
            for(j=0;j<ko;j++){
                kurangmatriks[i][j] = A[j][i]-B[j][i];}
        }
       
        //Perkalian matriks
       for(i=0;i<ko;i++){
            for(j=0;j<ko;j++){
                hasil[i][j] = 0;
            for(k=0;k<ko;k++){
                hasil[i][j] +=A[i][k] * B[k][j];}
                }
          }

        switch(p){
            case 1:jumlah (j,i,jumlahmatriks);
                        JOptionPane.showMessageDialog(null,"Anda memilih operasi penjumlahan matriks","..:Information:..",JOptionPane.INFORMATION_MESSAGE);
                                ;break;
            case 2:kurang (j,i,kurangmatriks);  
                                JOptionPane.showMessageDialog(null,"Anda memilih operasi pengurangan matriks","..:Information:..",JOptionPane.INFORMATION_MESSAGE);
                                break;
            case 3:kali (j,i,hasil);  
                                JOptionPane.showMessageDialog(null,"Anda memilih operasi perkalian matriks","..:Information:..",JOptionPane.INFORMATION_MESSAGE);
                                break;
            default : System.out.println("..:Input harus diantara 1-3:..");
                                JOptionPane.showMessageDialog(null,"Input yang anda masukan salah, harus diantara 1-3","..:Information:..",JOptionPane.INFORMATION_MESSAGE);}
                  }
     
  
   //menampilan hasil
   public static void jumlah(int x, int z, int [][]y){
       System.out.print("Hasil penjumlahan matriks\n");
       //penjumlahan
         for(x=0;x<2;x++){
            for(z=0;z<2;z++){
                System.out.print("  "+y[z][x]);}
            System.out.println();
            }
         System.out.println("\n");
   }
  
   public static void kurang(int x, int z, int [][]o){
       System.out.print("Hasil pengurangan matriks\n");
       //pengurangan
          for(x=0;x<2;x++){
            for(z=0;z<2;z++){
                System.out.print("  "+o[z][x]);}
            System.out.println();
            }System.out.println("\n");
   }
 
   public static void kali(int x, int z, int [][]v){
       System.out.print("Hasil perkalian matriks\n");
         //perkalian
          for(x=0;x<2;x++){
            for(z=0;z<2;z++){
                System.out.print("  "+v[x][z]);}
            System.out.println();
          }
   }   
   }



Tidak ada komentar:

Posting Komentar