Sabtu, 04 Mei 2013

ARRAY, VECTOR &ARRAY LIST



RINGKASAN MATERI
ARRAY, VECTOR, DAN ARRAY LIST

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. Dan setiap value atau nilai variable dalam suatu Array, dapat diakses melalui angka-angka index. Adapun index dari suatu Array dimulai dari 0 (nol), bukan 1 (satu).
DEKLARASI VARIABEL ARRAY:
Array 1 Dimensi:    array-var = new() type[size]
Array Multi Dimensi
Di Java, array multidimensi sesungguhnya array dari array. Untuk mendeklarasikan
variabel array, menspesifikasikan masing-masing indeks menggunakan himpunan kurung siku yang lain.
Contoh : int int2DArr[][] = new() int [4][5];
Contoh program:
package praktikum;
public class arrays {
            public static void main(String[] args) {
                        int []x= new int[6];
                        System.out.println("panjang array : "+x.length);
                        for ( int i= 0; i<x.length;i++){
                                    x[i]=i+1;
                        }
for ( int i= 0; i<x.length;i++){
                                    System.out.println("x["+i+"]="+x[i]) 
                        }
            }

}

Outputnya:
2. Vector
Vector adalah sebuah class yang diturunkan dari interface collection, yaitu sebuah interface yang digunakan untuk pengolahan data yang bersifat seperti array dinamis, yakni array yang ukurannya secara dinamis dapat membesar ketika data yang dimasukkan melebihi daya tampung.
Deklarasi vector:
Vector  <type data> = new Vector <type data> ();
Contoh program:
package praktikum;
import java.util.Vector;

public class vectors {

            public static void main(String[] args) {
            vector<Integer>vec = new vector<Integer>();
            vec.add(22);
            vec.add(10);
            vec.add(15);
            System.out.println("jumlah elemen vektor : " +vec.size());
            System.out.println("cetak isi vektor : ");
            for ( int i=0;i<vec.size();i++){
                        System.out.println(""+vec.get(i));
                       
            }
            }

}
Outputnya:

3. Array List
ArrayList adalah sebuah class yang sangat berguna dan merupakan bagian dari tipe data Collection. ArrayList bisa menampung data dalam bentuk list dengan Object sebagai nilainya.

Dengan demikian, input atau masukan nilai ke objek bertipe ArrayList ini sangatlah flexible karena seperti yang kita tahu, semua class di Java pasti diturunkan dari class Object.
Deklarasi:
ArrayList nama_array =NewArrayList ();
Contoh program:
package praktikum;
import java.util.ArrayList;
public class arraylists {

            public static void main(String[] args) {
            ArrayList <String>data = new ArrayList <String> ();
            for (int i=0;i<10;i++){
                        data.add("data"+(i+1));
            }
            for (int i=0;i<10;i++){
                        System.out.println(data.get(i));
                       
            }
           

            }

}

Output



TUGAS PROGRAM

1. MEMBUAT PROGRAM AVERAGE, MIN & MAX

package tUGAS1;
import java.util.Scanner;
public class SATU {
      public static void main(String [] args)
         {
        
            Scanner Scan = new Scanner (System.in);
          int n, i, j, k, min, max;
          double r;
          int bil[] = new int[1000];
              System.out.print ("Masukan banyak data :");
              n = Scan.nextInt();
              System.out.println ("Masukan  "+n+" Buah Nilai");
              for (i=0; i<n; i++){
                  System.out.print ("Nilai ke"+(i+1)+"        : ");
                  bil[i] = Scan.nextInt();
              }
              j=0;
              for(i = 0; i <= n; i++) {
                  j += bil[i];
              }
              r=j/n;
              System.out.println("Nilai Rata-Rata  : "+r);
            
              min=bil[1];
              for (i=0;i<n;i++)
              {
              if (bil[i]<=min) min=bil[i];
              }
              System.out.println("Nilai Terkecil   : "+min);
              max=bil[1];
              for (i=1;i<n;i++)
              {
              if (bil[i]>max) max=bil[i];
              }
              System.out.println("Nilai Terbesar   : "+max);
            
              for (i=0; i<n; i++)
                  for (j=0; j<n; j++)
                      if (bil[j+1] < bil [j]){
                          k=bil[j];
                          bil[j] = bil[j+1];
                          bil[j+1]=k;
                      }
             
            
          }
      }    

Outputnya:

2. program invers matriks 4x4 & determinan matriks
package tUGAS1;
import java.io.*;
import java.util.*;
public class Inversmt {
        @SuppressWarnings("empty-statement")
      public static void main(String []args) throws IOException {

  DataInputStream entry = new DataInputStream(System.in);
            try
        {

              Scanner input = new Scanner(System.in);
              System.out.print("\n\n************* PROGRAM MENCARI DETERMINAN DAN INVERS MATRIKS ************* \n");


                                 //Proses pemilihan ordo 2x2 atau 4x4 oleh user
              System.out.println("Pilih ordo yang anda inginkan:\nA. 2x2 \t B. 4x4");
              System.out.print("Ketik 'A' atau 'B' = ");
              char pilih = input.nextLine().charAt(0);

              //Jika memilih A, ordo 2x2
              switch(pilih){
                  case 'a':
                  case 'A':

              System.out.print ("\n===== Ordo Matriks = 2 x 2 =====");

              int[][] MatriksX = new int [2][2];
              int temp;

              //Proses memasukkan elemen-elemen matriksnya
              System.out.println("\nMasukkan elemen-elemen matriksnya : ");
              for (int i=0; i<2 ;i++ )
              {
                  for(int j=0; j<2;j++)
                  {
                      System.out.print("Elemen ["+(i+1)+","+(j+1)+"] = ");
                      MatriksX[i][j]=Integer.parseInt(input.nextLine());
                  }
              }

              //Proses menampilkan matriks
              System.out.print("\nBerikut tampilan matriksnya : \n");
              for (int i=0; i<2 ;i++)
              {
                  for(int j=0;j<2;j++)
                  {
                      System.out.print(MatriksX[i][j]+"\t");
                  }
                  System.out.println();
              }

              //Proses perhitungan determinan Matriks
              float dtrm;
              dtrm = (MatriksX[0][0]*MatriksX[1][1])-(MatriksX[1][0]*MatriksX[0][1]);

              //Proses menampilkan determinan Matriks
              System.out.println("\nMaka, determinan = "+dtrm);

              //Proses membentuk adjoin
              System.out.print("\nInvers Matriks : \n");
              temp = MatriksX[0][0];
              MatriksX[0][0]=MatriksX[1][1];
              MatriksX[1][1]=temp;
              MatriksX[0][1]=MatriksX[0][1]*-1;
              MatriksX[1][0]=MatriksX[1][0]*-1;

              //Proses perhitungan Invers
              for (int i=0;i<2;i++)
              {
                  for (int j=0;j<2;j++)
                  {
                      System.out.print(MatriksX[i][j]/dtrm+"\t");
                  }
                  System.out.println();
              }

              break;

              //Jika memilih B, ordo 4x4
                  case 'b':
                  case 'B':


              System.out.print ("\n===== Ordo Matriks = 4 x 4 =====");

              int[][] MatriksY = new int [4][4];

              //Proses memasukkan elemen-elemen matriksnya
              System.out.println("\nMasukkan elemen-elemen matriksnya : ");
              for (int i=0; i<4 ;i++ )
                  {
                  for(int j=0; j<4;j++)
                      {
                      System.out.print("Elemen ["+(i+1)+","+(j+1)+"] = ");
                      MatriksY[i][j]=Integer.parseInt(input.nextLine());
                      }
                  }

              //Proses menampilkan matriks
              System.out.print("\nBerikut tampilan matriksnya : \n");
              for (int i=0; i<4 ;i++ )
                  {
                  for(int j=0;j<4;j++)
                      {
                      System.out.print(MatriksY[i][j]+"\t");
                      }
                  System.out.println();
                  }

              //Proses perhitungan determinan matriks
              float dtr;
              dtr = (MatriksY[0][0]*MatriksY[1][1]*MatriksY[2][2]*MatriksY[3][3])+(MatriksY[0][1]*MatriksY[1][2]*MatriksY[2][3]*MatriksY[3][0])+(MatriksY[0][2]*MatriksY[1][3]*MatriksY[2][0]*MatriksY[3][1])-(MatriksY[0][3]*MatriksY[1][2]*MatriksY[2][1]*MatriksY[3][0])-(MatriksY[0][0]*MatriksY[1][3]*MatriksY[2][2]*MatriksY[3][1])-(MatriksY[0][1]*MatriksY[1][0]*MatriksY[2][3]*MatriksY[3][2]);

              //Proses menampilkan determinan matriks
              System.out.println("\nMaka, determinan = "+dtr);

              System.out.print("\nInvers Matriks : \n");

              //Proses Kofaktor
              int m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44;
              m11 = (MatriksY[1][1]*MatriksY[2][2]*MatriksY[3][3])+(MatriksY[1][2]*MatriksY[2][3]*MatriksY[3][0])+(MatriksY[1][3]*MatriksY[2][0]*MatriksY[3][1])-(MatriksY[1][3]*MatriksY[2][2]*MatriksY[3][1])-(MatriksY[1][0]*MatriksY[2][3]*MatriksY[3][2])-(MatriksY[1][1]*MatriksY[2][0]*MatriksY[3][3]);
              m12 = -1*(MatriksY[1][0]*MatriksY[2][2]*MatriksY[3][3])+(MatriksY[1][2]*MatriksY[2][3]*MatriksY[3][0])+(MatriksY[1][3]*MatriksY[2][0]*MatriksY[3][1])-(MatriksY[1][3]*MatriksY[2][2]*MatriksY[3][0])-(MatriksY[1][0]*MatriksY[2][3]*MatriksY[3][2])-(MatriksY[1][1]*MatriksY[2][0]*MatriksY[3][3]);
              m13 = (MatriksY[1][0]*MatriksY[2][1]*MatriksY[3][3])+(MatriksY[1][1]*MatriksY[2][3]*MatriksY[3][0])+(MatriksY[1][3]*MatriksY[2][0]*MatriksY[3][1])-(MatriksY[1][3]*MatriksY[2][1]*MatriksY[3][0])-(MatriksY[1][0]*MatriksY[2][3]*MatriksY[3][1])-(MatriksY[1][1]*MatriksY[2][0]*MatriksY[3][3]);
              m14= -1*(MatriksY[1][0]*MatriksY[2][1]*MatriksY[3][2])+(MatriksY[1][1]*MatriksY[2][2]*MatriksY[3][0])+(MatriksY[1][2]*MatriksY[2][0]*MatriksY[3][1])-(MatriksY[1][2]*MatriksY[2][1]*MatriksY[3][0])-(MatriksY[1][0]*MatriksY[2][2]*MatriksY[3][1])-(MatriksY[1][1]*MatriksY[2][0]*MatriksY[3][2]);
              m21 = -1*(MatriksY[0][1]*MatriksY[2][2]*MatriksY[3][3])+(MatriksY[0][2]*MatriksY[2][3]*MatriksY[3][0])+(MatriksY[0][3]*MatriksY[2][0]*MatriksY[3][1])-(MatriksY[0][3]*MatriksY[2][2]*MatriksY[3][1])-(MatriksY[0][0]*MatriksY[2][3]*MatriksY[3][2])-(MatriksY[0][1]*MatriksY[2][0]*MatriksY[3][3]);
              m22 = (MatriksY[0][0]*MatriksY[2][2]*MatriksY[3][3])+(MatriksY[0][2]*MatriksY[2][3]*MatriksY[3][0])+(MatriksY[0][3]*MatriksY[2][0]*MatriksY[3][1])-(MatriksY[0][3]*MatriksY[2][2]*MatriksY[3][0])-(MatriksY[0][0]*MatriksY[2][3]*MatriksY[3][2])-(MatriksY[0][1]*MatriksY[2][0]*MatriksY[3][3]);
              m23 = -1*(MatriksY[0][0]*MatriksY[2][1]*MatriksY[3][3])+(MatriksY[0][1]*MatriksY[2][3]*MatriksY[3][0])+(MatriksY[0][3]*MatriksY[2][0]*MatriksY[3][1])-(MatriksY[0][3]*MatriksY[2][1]*MatriksY[3][0])-(MatriksY[0][0]*MatriksY[2][3]*MatriksY[3][1])-(MatriksY[0][1]*MatriksY[2][0]*MatriksY[3][3]);
              m24 = (MatriksY[0][0]*MatriksY[2][1]*MatriksY[3][2])+(MatriksY[0][1]*MatriksY[2][2]*MatriksY[3][0])+(MatriksY[0][2]*MatriksY[2][0]*MatriksY[3][1])-(MatriksY[0][2]*MatriksY[2][1]*MatriksY[3][0])-(MatriksY[0][0]*MatriksY[2][2]*MatriksY[3][1])-(MatriksY[0][1]*MatriksY[2][0]*MatriksY[3][2]);
              m31 = (MatriksY[0][1]*MatriksY[1][2]*MatriksY[3][3])+(MatriksY[0][2]*MatriksY[1][3]*MatriksY[3][0])+(MatriksY[0][3]*MatriksY[1][1]*MatriksY[3][1])-(MatriksY[0][3]*MatriksY[1][2]*MatriksY[3][1])-(MatriksY[0][1]*MatriksY[1][3]*MatriksY[3][2])-(MatriksY[0][2]*MatriksY[1][1]*MatriksY[3][3]);
              m32 = -1*(MatriksY[0][0]*MatriksY[1][2]*MatriksY[3][3])+(MatriksY[0][2]*MatriksY[1][3]*MatriksY[3][0])+(MatriksY[0][3]*MatriksY[1][0]*MatriksY[3][2])-(MatriksY[0][3]*MatriksY[1][2]*MatriksY[3][0])-(MatriksY[0][0]*MatriksY[1][3]*MatriksY[3][2])-(MatriksY[0][1]*MatriksY[1][0]*MatriksY[3][3]);
              m33 = (MatriksY[0][0]*MatriksY[1][1]*MatriksY[3][3])+(MatriksY[0][1]*MatriksY[1][3]*MatriksY[3][0])+(MatriksY[0][3]*MatriksY[1][0]*MatriksY[3][1])-(MatriksY[0][3]*MatriksY[1][1]*MatriksY[3][0])-(MatriksY[0][0]*MatriksY[1][3]*MatriksY[3][1])-(MatriksY[0][1]*MatriksY[1][0]*MatriksY[3][3]);
              m34= -1*(MatriksY[0][0]*MatriksY[1][1]*MatriksY[3][2])+(MatriksY[0][1]*MatriksY[1][2]*MatriksY[3][0])+(MatriksY[0][2]*MatriksY[1][0]*MatriksY[3][1])-(MatriksY[0][2]*MatriksY[1][1]*MatriksY[3][0])-(MatriksY[0][0]*MatriksY[1][2]*MatriksY[3][1])-(MatriksY[0][1]*MatriksY[1][0]*MatriksY[3][2]);
              m41= -1*(MatriksY[0][1]*MatriksY[1][2]*MatriksY[2][3])+(MatriksY[0][2]*MatriksY[1][3]*MatriksY[2][1])+(MatriksY[0][3]*MatriksY[1][1]*MatriksY[2][2])-(MatriksY[0][3]*MatriksY[1][2]*MatriksY[2][1])-(MatriksY[0][1]*MatriksY[1][3]*MatriksY[2][2])-(MatriksY[0][2]*MatriksY[1][1]*MatriksY[2][3]);
              m42= (MatriksY[0][0]*MatriksY[1][2]*MatriksY[2][3])+(MatriksY[0][2]*MatriksY[1][3]*MatriksY[2][0])+(MatriksY[0][3]*MatriksY[1][0]*MatriksY[2][2])-(MatriksY[0][3]*MatriksY[1][2]*MatriksY[2][0])-(MatriksY[0][0]*MatriksY[1][3]*MatriksY[2][2])-(MatriksY[0][2]*MatriksY[1][0]*MatriksY[2][3]);
              m43= -1*(MatriksY[0][0]*MatriksY[1][1]*MatriksY[2][3])+(MatriksY[0][1]*MatriksY[1][3]*MatriksY[2][0])+(MatriksY[0][3]*MatriksY[1][0]*MatriksY[2][1])-(MatriksY[0][3]*MatriksY[1][1]*MatriksY[2][0])-(MatriksY[0][0]*MatriksY[1][3]*MatriksY[2][1])-(MatriksY[0][1]*MatriksY[1][0]*MatriksY[2][3]);
              m44=(MatriksY[0][0]*MatriksY[1][1]*MatriksY[2][3])+(MatriksY[0][1]*MatriksY[1][3]*MatriksY[2][0])+(MatriksY[0][3]*MatriksY[1][0]*MatriksY[2][1])-(MatriksY[0][3]*MatriksY[1][1]*MatriksY[2][0])-(MatriksY[0][0]*MatriksY[1][3]*MatriksY[2][1])-(MatriksY[0][1]*MatriksY[1][0]*MatriksY[2][3]);

              //Proses Adjoin (Transpose dari Kofaktor)
              MatriksY[0][0] = m11;
              MatriksY[0][1] = m21;
              MatriksY[0][2] = m31;
              MatriksY[0][3] = m41;
              MatriksY[1][0] = m12;
              MatriksY[1][1] = m22;
              MatriksY[1][2] = m32;
              MatriksY[1][2] = m42;
              MatriksY[2][0] = m13;
              MatriksY[2][1] = m23;
              MatriksY[2][2] = m33;
              MatriksY[2][3] = m43;
              MatriksY[3][0] = m14;
              MatriksY[3][1] = m24;
              MatriksY[3][2] = m34;
              MatriksY[3][3] = m44;

              //Proses perhitungan Invers
              for (int i=0;i<4;i++)
              {
                  for (int j=0;j<4;j++)
                  {
                      System.out.print(MatriksY[i][j]/dtr+"\t");
                  }
                  System.out.println();
              }
              break;
              default:
              }
        }
        catch (Exception e)
          {
          System.out.println("Anda salah memasukkan data");
          }

System.out.println("\n================================= PROGRAM SELESAI =================================\n");

}


}
Output:

1 komentar: