Widget HTML #1

Belajar java array satu dan dua dimensi bagian 4


Selamat Datang di Blog Orang IT. Sudah lama sejak terakhir kali saya posting artikel karena banyaknya tugas dan kesibukan yang menumpuk didunia nyata. Pada postingan kali ini kita akan mencoba mengimplementasi soal array satu dimensi dan dua dimensi kedalam program java





Untuk materi dasar array pada java, silahkan baca di buku / LKS / website lain.. kalau sudah punya gambaran perihal array termasuk mulai indeks ke-0 , menentukan baris dan kolom pada array dua dimensi, menghitung matriks dan sebagainya mari kita asah skill ngoding dengan soal-soal array berikut ini




1. Bentuk java array dasar



package javaapplication8;

public class JavaApplication8 {




    public static void main(String[] args) {

        //deklarasi array tidak langsung

        int [] daftarangka= new int[4];

        daftarangka[0]=1;

        daftarangka[1]=2;

        daftarangka[2]=3;

        daftarangka[3]=4;

   

        String [] namakota= new String [4];

        namakota[0]="kediri";

        namakota[1]="surabaya";

        namakota[2]="denpasar";

        namakota[3]="depok";

        // deklarasi array langsung

        String[] namahewan= {"kucing", "anjing", "babi" , "ayam"};

        int [] angkaganjil= {1,3,5,7,9};

   

        System.out.println("indeks ke-2 = " +daftarangka[2]);

        System.out.println("Panjang array namahewan= "+ namahewan.length);

    }



}



2. Buat program java yang mula-mula menyimpan data huruf vokal ke dalam array/larik kemudian tampilkan isi array




package javaapplication8;

public class JavaApplication8 {

    public static void main(String[] args) {

        char [] vokal2= new char [5];

        vokal2 [0]='A';

        vokal2 [1]='I';

        vokal2 [2]='U';

        vokal2 [3]='E';

        vokal2 [4]='O';

   

        for (int i=0 ; i<5;i++){

        System.out.print (vokal2[i]+" ");

        }

        System.out.println();

    }



}



Hasilnya:




menyimpan data huruf vokal



3. Mencari bilangan terbesar dalam array. Buat program untuk menyimpan data berikut kedalam array



10 4 2 5 3 8 9 2 9 5



Source code:




package javaapplication8;

public class JavaApplication8 {

    public static void main(String[] args) {

        int[] data= {10,4,2,5,3,8,9,2,9,5};

        int terbesar= data[0];

   

        for ( int i=0 ; i<10;i++){

            if (data[i]> terbesar)

                terbesar= data[i];

        }

        System.out.println("Data terbesar= "+terbesar);

    }



}



Hasilnya:




Mencari bilangan terbesar



4. Buat program yang membaca data secara berulang dari keyboard dan meletakkannya kedalam array. Jumlah maksimal data yang bisa dimasukkan kedalam array adalah 10, kemudian tampilkan seluruh data yang dimasukkan tadi



Source code:




package javaapplication8;

import java.util.Scanner;

public class JavaApplication8 {

    public static void main(String[] args) {

        double[] data= new double[10];

        int i, jumdata;

        String str;

        char jawab;

        Scanner scan= new Scanner(System.in);

   

        jumdata=0;

        for(i = 0; i<data.length-1; i++){

            System.out.print("Masukkan bilangan= ");

            data [i]= scan.nextDouble();

            scan.nextLine(); //buang data sisa

       

            //konfirmasi masukkan lagi

            if (i<data.length-2){

                System.out.print("Y/T= ");

                str= scan.nextLine();

                jawab= str.charAt(0);

                if (jawab=='T' || jawab== 't'){

                    jumdata= i+1;

                    break;

                }

         

            }

        }

        //tampil data

      for (i=0; i<jumdata ; i++)

          System.out.println(data[i]);

    }

}



Hasilnya:




membaca data secara berulang



5. Memperoleh nilai rata-rata dalam larik. Berdasarkan nilai larik no.4 diatas cari rata-ratanya



Source code:




package javaapplication8;

import java.util.Scanner;

public class JavaApplication8 {

    public static void main(String[] args) {

     double [] data= new double[10];

     Scanner scan= new Scanner(System.in);

 

     int jumdata=0;

     for (int i = 0 ; i < data.length-1;i++){

         System.out.print("Masukkan bilangan=");

         data[i]= scan.nextDouble();

         scan.nextLine();

     

         if (i<data.length-2){

             System.out.print("Masukkan data lagi Y/T? = ");

             String opsi= scan.nextLine();

             char jawab= opsi.charAt(0);

         

             if (jawab== 'T' || jawab=='t'){

                 jumdata= i+1;

                 break;

             }

         }

     }

         double jumtotal=0;

         for (int i=0 ; i<jumdata; i++)

             jumtotal= jumtotal+data[i];

         

                  double rata2= jumtotal/jumdata;

             System.out.println("Jumlahtotal= "+rata2);

    }



}



Hasilnya:




nilai rata-rata dalam larik



6. Buat program untuk menampilkan nama bulan berdasarkan kode bulan , misal 1 berarti januari , 2 berarti februari dan seterusnya. Gunakan array untuk menyimpan nama bulan



Source code:



package javaapplication8;

import java.util.Scanner;

public class JavaApplication8 {

    public static void main(String[] args) {



        String [] nmbulan= {"januari", "februari", "maret", "april", "mei", "juni" , "juli",

            "agustus", "september", "oktober", "november", "desember"};

        Scanner scan= new Scanner(System.in);

        System.out.print("Masukkan kode bulan 1-2 = ");

        int kdbulan = scan.nextInt();

        if (kdbulan >=1 && kdbulan <=12){

        System.out.println("Nama bulan = "+ nmbulan[kdbulan-1]);

        } else{

        System.out.print("Hanya ada 12 bulan saja");   

    }

     

    }

 

}



Hasilnya:




nama bulan berdasarkan kode bulan



7. Menampilkan permutasi tiga orang. Buat program yang menampilkan permutasi dari tiga nama orang



Source code:




package javaapplication8;

import java.util.Scanner;

public class JavaApplication8 {

    public static void main(String[] args) {

        String [] nama= {"Helmy", "Idam", "Dimas"};

   

        int i, j, k;

   

        for (i=0; i<=2; i++){

            for (j=0; j<=2; j++)

                if (i!=j)

                    for (k=0; k<=2;k++)

                        if (k!=i && k!=j)

                            System.out.println(nama[i]+" "+nama[j]+" "+nama[k]);

        }

   

    }



}



Bisa juga lho digabung menjadi satu:



if (k!=i && k!=j && i!=j && i!=k && j!=i && j!=k)



Hasilnya:




permutasi tiga orang



8. Menjumlahkan dua array, buat contoh programnya



Source code:




package javaapplication8;

import java.util.Scanner;

public class JavaApplication8 {

    public static void main(String[] args) {

        int[] larik1= {10, 7 , 8 , 9, 5 , 7, 5};

        int[] larik2= {20, 8 , 1 , 8, 9 , 9, 4};

        int[] larik3= new int [8];

   

        for (int i=0 ; i< larik1.length; i++)

            larik3[i]= larik1[i]+larik2[i];

   

        for (int i=0 ; i<larik1.length;i++)

        System.out.print(larik3[i]+" ");

   

    }



}



Hasilnya cek sendiri



9. Memperoleh interseksi dua buah array. Buat program yang mengambil interseksi dari dua buah larik. Interseksi adalah element yang terdapat pada dua array tersebut



Source code:




package javaapplication8;

import java.util.Scanner;

public class JavaApplication8 {

    public static void main(String[] args) {

        int[] larik1= {10, 7 , 8 , 9, 5 , 7, 5};

        int[] larik2= {20, 8 , 1 , 8, 9 , 9, 4};

        int[] larik3= new int [8];

   

        int juminterseksi=0;

        for (int i=0; i<=5 ; i++){

            int cari = larik1[i];

        for (int j=0; j<=5 ; j++)

            if (cari== larik2[j]) {

                larik3[juminterseksi]= cari;

                juminterseksi++;

                break;

            } 

        }

        if (juminterseksi==0)

            System.out.print("Tidak ada angka yang sama");

        else

            System.out.println("Interseksi= ");

            for (int i=0 ; i<juminterseksi;i++)

            System.out.println(larik3[i]);

    }

}



Hasilnya:



10. Menulis elemen array dari belakang.



Itu mudah! berikut source codenya:




package javaapplication8;

import java.util.Scanner;

public class JavaApplication8 {

    public static void main(String[] args) {

        int [] data= {3,6,3,8,4,3,2,1};

   

        for(int i=7 ; i>=0; i--)

            System.out.print(data[i]);

        System.out.println();

    }

}



Hasilnya:




Menulis elemen array dari belakang





11. Menukar dua array yang bersebelahan, buat program yang melakukan pertukaran 2 nilai array yang berdekatan



Misal 8 9 4 7 6 1...



Menjadi 9 8 7 4 1 6...



Source code:




package javaapplication8;

import java.util.Scanner;

public class JavaApplication8 {

    public static void main(String[] args) {

        int [] data= {1,2,3,4,5,6,7,8};

        for (int i=0 ; i< 7 ; i+=2){

            int tmp= data[i];

            data[i]= data[i+1];

            data[i+1]= tmp;

        }

        for (int i=0; i<8; i++){

            System.out.print(data[i]+" ");

        }

    }

}



Hasilnya cek sendiri



12. Buat program yang menyimpan pasangan data negara dan ibukota kemudian tampilkan nama negara dan ibu kotanya hanya yang berawalan huruf I



Source code:




package javaapplication8;

import java.util.Scanner;

public class JavaApplication8 {

    public static void main(String[] args) {

        String [][] negara= new String [5][2];

   

        negara[0][0]="Indonesia";

        negara[0][1]="Jakarta";

        negara[1][0]="Philipina";

        negara[1][1]="Manila";

        negara[2][0]="Austria";

        negara[2][1]="Misa";

        negara[3][0]="India";

        negara[3][1]="New Delhi";

        negara[4][0]="Iran";

        negara[4][1]="Taheran";

   

        String nmnegara;

        for (int i=0 ; i<negara.length; i++){

            nmnegara= negara[i][0];

            if (nmnegara.charAt(0)=='I')

                System.out.println(negara[i][0]+"-"+negara[i][1]);

        }   

    }

}



Bisa juga membuat array dengan cara ini:



String [][] negara= {{"Indonesia", "jakarta"},

                    {"Philipina", "manila"},

                    {"Austria", "wina"},

                    {"India", "New delhi"},

                    {"Iran", "Taheran"}};



Hasilnya:




pasangan data negara



13. Menjumlahkan 2 buah matriks



Source code:




package javaapplication8;

import java.util.Scanner;

public class JavaApplication8 {

    public static void main(String[] args) {

    int[][] a= {{6,7}, {5,8}};

    int[][] b= {{1,3}, {4,1}};

    int[][] c= new int[2][2];



    for (int i=0; i<a.length; i++)

    for (int j=0; j<b.length; j++)

    c[i][j]= a[i][j]+b[i][j];



    for (int i=0; i<a.length; i++){

    for (int j=0; j<b.length; j++)

    System.out.printf("%3d",c[i][j]);

    System.out.println();

    }

    }

}



Hasilnya:




Menjumlahkan 2 buah matriks



14. Buat program untuk memasukkan data kedalam matriks. Semua data berupa jumlah baris dan jumlah kolom serta element matrik dimasukkan dari keyboard kemudian tampilkan hasilnya



Source code:




package javaapplication8;

import java.util.Scanner;

public class JavaApplication8 {

    public static void main(String[] args) {

        Scanner scan= new Scanner(System.in);

        System.out.print("masukkan jumlah baris= ");

        int jumbaris= scan.nextInt();

        System.out.print("masukkan jumlah kolom= ");

        int jumkolom=scan.nextInt();

   

        int i, j;

        double data[][]= new double[jumbaris][jumkolom];

        for(i=0 ; i< jumbaris ;i++)

        for(j=0 ; j< jumkolom ;j++){

                System.out.printf("Baris %d, kolom %d:",i,j);

                data [i][j]= scan.nextDouble();

            }

   

        System.out.println("Tampil matrik: ");

        for (i=0 ; i<jumbaris ; i++){

        for (j=0; j<jumkolom ; j++)

            System.out.printf ("%10.2g", data[i][j]);

                    System.out.println();

        }

    }

}



Hasilnya:




memasukkan data kedalam matriks



15. Menghitung selisih array. Buat program untuk memperoleh array yang berisi semua element A yang tidak terdapat pada element B



Source code:




package javaapplication8;

import java.util.Scanner;

    public class JavaApplication8{

      Scanner input = new Scanner(System.in);

       int[] himpunanA= {1,2,3,4,5,6,7,8,9,10};

       int[] himpunanB= {1, 2, 3, 5, 6, 9};

       int[] himpunanC= new int[60];

       public void himpunanSelisih(){

              System.out.print("Himpunan Selisih A - B : { ");

              for( int i=0;i<=9;i++){

                   boolean adaSama = false;

                   for(int j=0;j<=5;j++){

                     if(himpunanA[i]==himpunanB[j])

                            adaSama=true;

              }

              if(adaSama==false){

                 himpunanC[i]= himpunanA[i];

                 System.out.print(himpunanC[i]+" ");

              }

              }

              System.out.println("}");

       }

    public static void main(String[] args) {

  JavaApplication8 bilangan = new JavaApplication8();

              bilangan.himpunanSelisih();

    }

}



16. Buat program yang meminta data dua buah matriks berukuran mxn dimasukkan dari keyboard. Lalu proseslah agar matrik ke tiga berisi perkalian dari kedua matriks tersebut



Source code:




package javaapplication8;

import java.util.Scanner;

import java.util.Arrays;

    public class JavaApplication8{

    public static void main(String[] args) {

 int i, j, k, l, m, n, o, p, q , jumlah=0;

int matriks1[][] = new int [10][10];

int matriks2[][] = new int [10][10];

int hasil[][] = new int [10][10];

Scanner scan= new Scanner(System.in);

System.out.print("Masukkan baris matrik ke-1 = ");

m= scan.nextInt();

System.out.print("Masukkan kolom matrik ke-1 = ");

n= scan.nextInt();

System.out.print("Masukkan baris matrik ke-2 = ");

p= scan.nextInt();

System.out.print("Masukkan kolom matrik ke-2 = ");

q= scan.nextInt();

if (n!=p) {

System.out.println("Jumlah kolom tydak sama dgn baris");

} else {

System.out.print("Masukkan elemen 1 : ");

for (i=0; i<m ; i++) {

  for (j=0; j< n; j++) {

matriks1[i][j]= scan.nextInt();

}

}

System.out.print("Masukkan elemen 1 : ");

for (i=0; i<p ; i++) {

  for (j=0; j< q; j++) {

matriks2[i][j]= scan.nextInt();

}

}

for (i=0; i<m ; i++) {

  for (j=0; j< q; j++) {

  for (k=0; k< p; k++) {

jumlah= jumlah+matriks1[i][k] * matriks2[k][j];

}

hasil[i][j]= jumlah;

jumlah=0;

}   }

System.out.println("Hasil perkalian matrik: ");

for (i=0; i<m ; i++) {

  for (j=0; j< q; j++) {

System.out.print(hasil[i][j]+ "\t");

}

System.out.println();

}  }

}  }





Hasilnya:





meminta data dua buah matriks



17. Kembangkan contoh nomor - 12 agar menampilkan negara dengan ibukota berakhiran a



SOurce code:




package javaapplication8;

import java.util.Scanner;

public class JavaApplication8 {

    public static void main(String[] args) {

        String [][] negara= new String [5][2];

   

        negara[0][0]="Indonesia";

        negara[0][1]="Jakarta";

        negara[1][0]="Philipina";

        negara[1][1]="Manila";

        negara[2][0]="Austrian";

        negara[2][1]="Misa";

        negara[3][0]="India";

        negara[3][1]="New Delhi";

        negara[4][0]="Iran";

        negara[4][1]="Taheran";

   

        String nmnegara;

        for (int i=0 ; i<negara.length; i++){

            nmnegara= negara[i][1];

            int searchIndex = negara[i][1].indexOf("a");

            if (nmnegara.charAt(searchIndex)=='a')

                System.out.println(negara[i][0]+"-"+negara[i][1]);

        }   

    }

}



Bisa juga menggunakan



  if (nmnegara.charAt(nmnegara.length()-1)=='a')



18. Buat program untuk mengkonversikan suatu bilangan kedalam bentuk kata-kata. Contoh 69 akan di konversikan menjadi enam puluh sembilan



Source code:




package javaapplication8;

import java.util.Scanner;

import java.util.Arrays;

    public class JavaApplication8{

    static String[] huruf= {"","satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan", "sepuluh", "sebelas"};

    public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);

    System.out.print("Masukkan angka= ");

    System.out.println(new JavaApplication8().angkaToTerbilang(scan.nextLong()));

    }

     public static String angkaToTerbilang(Long angka){

        if(angka<12)

    return huruf[angka.intValue()];

        if(angka>=12 && angka <=19)

    return huruf[angka.intValue() %10]+" belas ";

        if(angka>=20 && angka <=99)

    return angkaToTerbilang(angka/10)+" puluh "+huruf[angka.intValue() % 10];

        if(angka>=100 && angka <=199)

    return "seratus"+angkaToTerbilang(angka%100);

         if(angka>=200 && angka <=999)

    return angkaToTerbilang(angka/100)+" Ratus " + angkaToTerbilang(angka%100);

         if(angka>=1000 && angka <=1999)

    return "seribu" + angkaToTerbilang(angka%100);

        if(angka>=2000 && angka <=999999)

    return angkaToTerbilang(angka/1000)+" Ribu " + angkaToTerbilang(angka%1000);

     if(angka>=1000000 && angka <=999999999)

    return angkaToTerbilang(angka/1000000)+" Juta " + angkaToTerbilang(angka%1000000);

        if(angka>=1000000000 && angka <=999999999999L)

    return angkaToTerbilang(angka/1000000000)+" Milyar " + angkaToTerbilang(angka0000000);

    return "";

    }

    } 



Hasilnya:




mengkonversikan suatu bilangan kedalam bentuk kata



19. Mengurutkan data array dari yang terkecil hingga terbesar berdasarkan nomor




Source code:

package javaapplication8;

import java.util.Scanner;

import java.util.Arrays;

    public class JavaApplication8{

    public static void main(String[] args) {

        int[] nomor = {10,6,3,1, 2, 4, 5 , 9 , 8 ,7};

        String[] nama = {"Rian", "Sita", "Fanny","Erwin", "Ahmad", "ridwan", "desi", "triana", "ali", "yohanes"};

            for(int i=0 ; i< 10 ; i++){

            Arrays.sort(nomor);

            Arrays.sort(nama);

            System.out.println(nomor[i]+" "+nama[i]);

            }

    }

        }



Hasilnya:




Mengurutkan data array



20. Tentukan koefisien persamaan regresi dari pasangan data X dan Y, implementasikan kedalam program java



Source code:




package javaapplication8;

import java.util.Scanner;

import java.util.Arrays;

 public class JavaApplication8 {

double []x = {1,2,3,4,5,6,7,8,9,10};

double []y = {23.4, 26.9, 32.5, 34.9, 40.3, 39.9, 42.9, 47.0, 50.1, 53.2};

    private double b_0, b_1;

    private double r_square;

    private double s_e;

    private double sig_x, sig_y, sig_xy, sig_x_square, sig_y_square;

 

    public void run(){

        for(int i = 0; i<x.length; i++){

            sig_x +=x[i];

            sig_y +=y[i];

            sig_xy +=x[i]*y[i];

            sig_x_square+=Math.pow(x[i], 2);

            sig_y_square+=Math.pow(y[i], 2);

        }

     

        b_0 = ((sig_y*sig_x_square)-(sig_x*sig_xy))/

                ((x.length*(sig_x_square))-(Math.pow(sig_x, 2)));

     

        b_1 = ((x.length*sig_xy)-(sig_x*sig_y))/

                ((x.length*sig_x_square)-Math.pow(sig_x, 2));

     

        r_square = Math.pow(((x.length*sig_xy)-(sig_x*sig_y))/

                Math.sqrt(((double)(x.length*sig_x_square)-Math.pow(sig_x, 2))*

                        (double)((x.length*sig_y_square)-Math.pow(sig_y, 2))),2);

     

        s_e = Math.sqrt((sig_y_square-(b_0*sig_y)-(b_1*sig_xy))/(x.length-2));

    }

 

    public void print(){     

        System.out.println("Persamaan regresi : Y = "+b_0+" + "+b_1+" X\n"

                + "Koefisien determinasi (R2) = "+r_square+"\n"

                + "Standard error (Se) = "+s_e);

     

    }

 

    public static void main(String[]args){

        JavaApplication8 slr = new JavaApplication8();

        slr.run();

        slr.print();

    }

}



Hasilnya:




koefisien persamaan regresi

21. Membaca data sekumpulan nama siswa dan nilai. Sepuluh siswa mengikuti ujian dengan nilai berkisar antara 0-100. Buat program untuk membaca semua data (nama dan nilai ujian)



Hitung nilai rata-rata dan tampilkan siswa yang gagal



Source code:




package javaapplication8;

import java.util.Scanner;

import java.util.Arrays;

class daftarnilai {

    public String nama;

    public int nilai;

}

 public class JavaApplication8 {

    public static void main(String[]args){

        final int jumlah=5;

        Scanner scan= new Scanner(System.in);

        String nama;

        daftarnilai [] data= new daftarnilai[jumlah];

     

        int cacah=0;

        while (cacah<jumlah){

      //bentuk objek berkelas daftar nilai

      data[cacah]= new daftarnilai();

      //baca nama

      System.out.print("Masukkan nama: ");

      data[cacah].nama= scan.nextLine();

      //baca nilai

      while(true){

      System.out.print("Masukkan nilai: ");

      data[cacah].nilai= scan.nextInt();

   

      if(data[cacah].nilai>=0 && data[cacah].nilai<=100)

          break; //keluar dari while

        }

      //tambah cacah

      cacah=cacah+1;

      //buang bari tersisa

      scan.nextLine();

        }

      //hitung rata-rata

      double jum=0;

      cacah=0;

      while (cacah<jumlah){

          jum=jum+data[cacah].nilai;

          cacah=cacah+1;

      }

      double rata2=jum/10.0;

      System.out.print("Hasil rata-rata = "+rata2);

   

      //menampilkan siswa gagal

      System.out.println("Siswa yang gagal");

      cacah=0;

      boolean adagagal=false;

      while (cacah<jumlah){

          if(data[cacah].nilai<60){

              adagagal= true;

          System.out.println(data[cacah].nama);

      }

      cacah=cacah+1;

    }

      if(!adagagal)

          System.out.println("Tida ada gagal");

 }

}

Penjelasan singkat:



daftarnilai [] data= new daftarnilai[jumlah]



Mendeklarasikan variable data agar merujuk ke array yang berkelas daftarnilai, dimana jumlah element array sama dengan "jumlah"



Karena pernyataan di atas belum menghasilkan objek, maka diperlukan perintah



data[cacah]= new daftarnilai();



Dengen begitu, element dengan indeks berupa cacah akan merujuk pada objek yang di ciptakan melalui new. Setelah pernyataan tersebut, barulah variabel publik bernama nama dan nilai bisa diakses melalui



data[cacah].nama

data[cacah].nilai



Hasilnya:




Hitung nilai rata-rata



22. Buat program untuk mengetahui zodiak berdasarkan tanggal dan bulan



SOurce code:




package javaapplication8;

import java.util.Scanner;

import java.util.Arrays;

class zodiak{

    public String nama;

    public int tanggalawal;

    public int bulanawal;

    public int tanggalakhir;

    public int bulanakhir; 

public zodiak ( String nama, int tanggalawal, int bulanawal, int tanggalakhir,

        int bulanakhir) {

    this.nama= nama;

    this.tanggalawal= tanggalawal;

    this.bulanawal= bulanawal;

    this.tanggalakhir= tanggalakhir;

    this.bulanakhir= bulanakhir; 

        }

}

 public class JavaApplication8 {

    public static void main(String[]args){

        zodiak[] z = new zodiak [12];

        z[0]= new zodiak ("Aries", 21, 3, 19, 4);

        z[1]= new zodiak ("Taurus", 20, 4, 20, 5);

        z[2]= new zodiak ("Gemini", 21, 5 , 20, 6);

        z[3]= new zodiak ("Cancer", 21, 6, 22, 7);

        z[4]= new zodiak ("Leo", 23, 7, 22, 8);

        z[5]= new zodiak ("Virgo", 23,8, 22, 9);

        z[6]= new zodiak ("Libra", 23,9, 22, 10);

        z[7]= new zodiak ("Scorpio", 23, 10, 21, 11);

        z[8]= new zodiak ("Sagitarius", 22, 11, 21, 12);

        z[9]= new zodiak ("Capricon", 22, 12, 19, 1);

        z[10]= new zodiak ("Aquarius", 29, 1 , 18, 2);

        z[11]= new zodiak ("Pisces", 19, 2, 20, 3);

     

        Scanner scan= new Scanner(System.in);

        System.out.print ("Masukkan tanggal lahir 1-31: ");

        int tanggal= scan.nextInt();

        System.out.print("Masukkan bulan lahir 1-12: ");

        int bulan= scan.nextInt();

     

        for( int i=0 ; i < 12 ; i++)

            if (((tanggal >=z[i].tanggalawal) && (bulan== z[i].bulanawal)) ||

                   (( tanggal <=z[i].tanggalakhir) && (bulan== z[i].bulanakhir))) {

        System.out.println (z[i].nama);

        break;

    }

 }

}


Hasilnya:





mengetahui zodiak




Penjelasan:



Untuk menyederhanakan penulisan program maka kelas zodiak melibatkan konstruktor (sub rutin) yang ditujukan untuk memberi nilai terhadap variable instant dalam kelas sewaktu objek di ciptakan (melalui new)



Sementara fungsi  this.nama= nama; dibaca sebagai milik objek yang merujuk pada variabel instant dalam kelas. Sementara "nama" berupa argumen



zodiak[] z = new zodiak [12]; dipakai untuk menjadikan z sebagai variabel yang merujuk pada array yang berisi 12 elemen berkelas zodiak



z[0]= new zodiak ("Aries", 21, 3, 19, 4); untuk menciptakan sebuah objek berkelas zodiak yang kemudian dirujuk oleh element berindeks 0



Baca juga: Belajar java while bagian 3


Pegawai Kantoran dan Pekerja Serabutan Online
Pegawai Kantoran dan Pekerja Serabutan Online "Apabila anak adam (manusia) telah meninggal dunia, maka terputuslah amalnya darinya, kecuali tiga perkara, yaitu sedekah jariyah (sedekah yang pahalanya terus mengalir), ilmu yang bermanfaat, atau anak saleh yang selalu mendoakannya." (HR Muslim No. 1631)

Posting Komentar untuk "Belajar java array satu dan dua dimensi bagian 4"