Sabtu, 04 Mei 2013

Contoh-contoh Program Array pada Java



Program menghitung rata-rata data kelompok, mencari nilai maximum, dan nilai minimum :

Algoritmanya adalah  :
1.      Buat classs baru pada package java
2.      Menentukan variabel yang akan digunakan.
3.      Menentukan batasan maksimum jumlah data yang dapat di input menggunakan array
4.      Tuliskan “statement” yang akan di keluarkan saat program dijalankan sebagai perintah untuk menginput jumlah data yang di inginkan pengguna program
5.      Buat program perulangan yang akan mengulang inputa-an data sesuai yang diinginkan oleh pengguna program dengan menggunakan salah satu program looping pada java
6.      Buat program perhitungan yang akan menghitung rata-rata dari data yang di input oleh pengguna program
7.      Buat program yang akan menyeleksi secara otomatis nilai maksimum dan minimum dari data yang di masukkan oleh pengguna program
8.      Tuliskan “statement” yang akan dikeluarkan sebagai output setelah semua program perhitungan yang diinginkan telah dieksekusi oleh java
9.      Tampilkan pula nilai rata-rata, maksimum, dan minimum bersama “statement” output.


Berikut sintaks program mencari nilai rata-rata, maksimum, dan minimum dari sekelompok data !
 
package thinaaa;
import java.util.Scanner;
public class rata2minmax {
      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;
                      }
             
            
          }
      }    




Program mencari nilai matriks 2x2 dan 4x4 

Algoritmanya adalah  :
1.      Membuat class baru pada package Java
2.      Buat pilihan program yang akan dijalankan oleh pengguna program, yang terdiri dari pilihan perhitungan matriks ordo 2x2 atau ordo 4x4
3.      Buat program yang akan di proses untuk masing-masing matriks apabila dipilih oleh pengguna program
4.      Deklarasikan terlebih dahulu ordo matriks yang akan di buat
5.      Lakukan penginputan matriks sesuai jumlah ordo yang dipilih dengan menggunakan metode perulangan
6.      Tuliskan program yang akan menampilkan secara utuh matriks yang telah di input
7.      Mulai tuliskan program perhitungan matriks dimana untuk setiap matriks, dicari terlebih dahulu determinan matriksnya.
8.      Sesuai rumus perhitungan matriks pada Matematika, setelah menghitung determinan matriks, maka selanjutnya tuliskan sintaks program untuk mencari adjoin matriks kemudian dilanjutkan dengan proses perhitungan invers
9.      Rumus-rumus yang dituliskan dalam bentuk sintaks program pada Java dituliskan sesuai dengan rumus perhitungan matematika murni
10.  Tuliskan “statement” otuput yang akan mengeluarkan semua hasil perhitungan yang telah dilakukan sebelumnya.


Berikut sintaks program mencari ivers dari matriks !
package thinaaa;
import java.io.*;
import java.util.*;

public class invrsmatriks {

    @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");

}
}




Program mencari nilai Eigen dari matriks 2x2 :

Algoritmanya adalah :
1. Membuat class baru pada package Java
2. Tuliskan sintaks yang berfungsi untuk menginput matrik berukuran 2x2 yang akan di cari nilai eigennya dengan menggunakan array.
3. Dalam pencarian nilai eigen, akan memunculkan persamaan kuadrat, maka gunakan rumus abc atau yang biasa di kenal dengan rumus kecap untuk mengeksekusi.
4. Deklarasikan variabel-variabel yang di anggap perlu dalam perhitungan dengan menggunakan rumus abc tersebut
5. Lakukan perhitungan dengan variabel-variabel yang di anggap perlu untuk mencari nilai X1 dan X2 
6. Tuliskan sintaks atau statement yang akan mengeluarkan hasil eksekusi dari perhitungan-perhitungan yang telah di lakukan. 


Berikut sintaks program mencari nilai eigen matriks 2x2 !

package praktikum4array;
import java.io.*;
import java.util.*;


public class nilaieigen {


    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        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();

        }

int b = -(MatriksX[0][0]+MatriksX[1][1]);
int c =  (MatriksX[0][0]*MatriksX[1][1]-MatriksX[0][1]*MatriksX[1][0]);

double x1 = (-b + Math.sqrt(b*b-4*c))/2;
double x2 = (-b - Math.sqrt(b*b-4*c))/2;


System.out.println("Nilai dari x1 adalah " +x1);
System.out.println("Nilai dari x2 adalah " +x2);



    }

}

 









0 komentar:

Posting Komentar

 
Copyright Welcome to My First Blog ^__^ 2009. Powered by Blogger.Designed by Ezwpthemes .
Converted To Blogger Template by Anshul .
One Direction - Live While We're Young