Arsip untuk April, 2019

Kali ini saya akan membahas mengenai penggunaan objek ArrayList. ArrayList adalah sebuah class yang digunakan untuk menyimpan banyak data dalam satu variabel.

Cara pendeklarasian ArrayList
ArrayList<tipe data> nama_variabel = new ArrayList<tipe data>()

Tipe data bisa merupakan tipe data primitive (int, string dll) atau juga merupakan sebuah objek

Tampilan GUI yang akan dibuat ( jika belem mengerti cara membuatnya baca dulu post sebelumnya mengenai Java – Perkenalan Pertama Dengan JFrame Pada Netbeans )

Sebelum memulai lihat dulu struktur folder yang saya gunakan.

dan import yang saya lakukan

Saya melakukan import ArrayList, JOptionPane dan class mahasiswa pada package ebc yang isi dari class mahasiswa seperti source code dibawah

 

Selanjutnya untuk source code ketika button simpan di klik seperti gambar dibawah ini

Diatas merupakan source code ketika tombol simpan diklik
Penjelasan:
arrayMhs.add(mhs) : arrayMhs adalah nama variabel objek arraylist yang di deklarasikan pada class FormMahasiswa, sedangkat add adalah nama method yang berguna untuk menambahkan data ke dalam arrayList.

Gambar di atas merupakan source code ketika tombol tampilkan di tekan.
Penjelasan:
for(Mahasiswa loopMhs : arrayMhs ) : kita melakukan looping objek arrayList dengan nama variabelnya arrayMhs dan value dari masing masing loopingnya kita simpan ke objek Mahasiswa dengan nama objeknya loopMhs

lalu untuk mendapatkan nilainya tinggal menggunakan nama objek yang digunakan (loopMhs) dan memanggil methodnya.

 

Sekian penjelasan mengenai arrayListnya

 

 

Pada kali ini saya akan menjelaskan mengenai ciri ciri dari OOP yaitu Enkapsulasi, Turunan, dan Polimorfisme (Banyak Bentuk) pada bahasa pemrogran Java.

OOP merupakan hal yang wajib untuk dikuasai jika ingin menggunakan java, karena java sendiri terdiri dari objek objek. jadi untuk penggunaan bahasa java kalian tidak bisa terlepas dengan yang namanya OOP.

Langsung saja amati Source Code dibawah ini


class OperationMath {
private int int_nilai;
private double dbl_nilai;


public int penjumlahan(int bil1, int bil2) {
return bil1 + bil2;
}
public double penjumlahan(double bil1, double bil2) {
return bil1 + bil2;
}
public int penjumlahan(int[] bil) {
int_nilai = bil[0];
for(int count = 1; count < bil.length; count++) {
int_nilai += bil[count];
}
return int_nilai;
}
public double penjumlahan(double[] bil) {
dbl_nilai = bil[0];
for(int count = 1; count < bil.length; count++) {
dbl_nilai += bil[count];
}
return dbl_nilai;
}


public int pembagian(int bil1, int bil2) {
return bil1/bil2;
}
public double pembagian(double bil1, double bil2) {
return bil1/bil2;
}
}
class Average extends OperationMath {
Average(int[] bil) {
avg = (penjumlahan(bil));
avg = pembagian(avg, bil.length);
}
Average(double[] bil) {
dbl_avg = (penjumlahan(bil));
dbl_avg = pembagian(dbl_avg, bil.length);
}


public int getAverage() {
return avg;
}

public double getDblAverage() {
return dbl_avg;
}


private int avg;
private double dbl_avg;
}

public class Matematika {

/**
*
* @param args

*/
public static void main(String[] args) {
int data[] = {6,7,8};
Average avg = new Average(data);


double data2[] = {20.12, 12.4, 15, 30.56};
Average avg2 = new Average(data2);


System.out.println("Nilai rata-rata dari [6,7,8]= " + avg.getAverage());
System.out.println("Nilai rata-rata dari [20.12, 12.4, 15, 30.56]= " + avg2.getDblAverage());


}
}

 

Penjelasan

  1. Terdapat 2 objek class, yaitu objek OperationMath dan Average. OperationMath bertugas untuk menyimpan method method atau fungsi fungsi sebuah operasi pada matematika, seperti penjumlahan, pengurangan, perkalian dan pembagian. Sedangkan Average bertugas untuk melakukan kalkulasi untuk mencari nilai rata-rata atau nilai tengah.
  2. class OperationMath {
    private int int_nilai;
    private double dbl_nilai;

    Pada code ini terdapat kata private, yang berarti sebuah atribute atau properti ini hanya dapat diakses oleh objek itu sendiri yaitu objek OperationMath saja, objek lainnya tidak dapat mengaksesnya.
    Berikut penjelasan singkatnya:
    Public: dapat diakses oleh siapa saja
    Protected: dapat diakses oleh objeknya sendiri dan hanya oleh turunannya
    Private: hanya objeknya yang dapat mengaksesnya

    Inilah yang dinamakan enkapsulasi, yaitu penyembunyian sebuah properti atau method dari objek, jadi hanya properti atau objek tertentu saja yang dapat diakses oleh objek lain, sehingga proses kerja objek tersebut tidak dapat berubah alurnya.

  3. public int penjumlahan(int bil1, int bil2) {
    return bil1 + bil2;
    }
    public double penjumlahan(double bil1, double bil2) {
    return bil1 + bil2;
    }
    public int penjumlahan(int[] bil) {
    int_nilai = bil[0];
    for(int count = 1; count < bil.length; count++) {
    int_nilai += bil[count];
    }
    return int_nilai;
    }
    public double penjumlahan(double[] bil) {
    dbl_nilai = bil[0];
    for(int count = 1; count < bil.length; count++) {
    dbl_nilai += bil[count];
    }
    return dbl_nilai;
    }

    Kenapa ada banyak fungsi/method dengan nama penjumlahan, metode ini adalah sebuah ciri OOP yaitu polimorfisme dimana sebuah method memiliki banyak bentuk. apa yang membedakannya yaitu sebuah tipe data paramater, jumlah parameter dan tipe data kembalian dari method tersebut.

  4. class Average extends OperationMath {
    Average(int[] bil) {
    avg = (penjumlahan(bil));
    avg = pembagian(avg, bil.length);
    }
    Average(double[] bil) {
    dbl_avg = (penjumlahan(bil));
    dbl_avg = pembagian(dbl_avg, bil.length);
    }

    public int getAverage() {
    return avg;
    }

    public double getDblAverage() {
    return dbl_avg;
    }

    private int avg;
    private double dbl_avg;
    }

    Pada class diatas kita mendefinisikan sebuah konstruktur untuk class ini, konstruktor adalah sebuah fungsi/method yang akan dijalankan pertama kali ketika/tepat pada saat sebuah objek itu terbentuk/terinisialisasi. cara mendefinisikannya dengan menggunakan nama class tersebut.
    Pada class di atas juga kita menggunakan sebuah fungsi yang belum dideklarasikan di dalam class tersebut, namun fungsi tersebut telah ada pada class OperationMath, tapi fungsi tersebut bisa kita gunakan tanpa perlu melakukan initialisasi sebuah objek OperationMath. kita hanya perlu menambahkan keyword extends NAMA_CLASS pada sebuah nama class kita. keyword ini adalah sebuah tanda bahwa class yang kita buat merupakan turunan dari class NAMA_CLASS dan class kita ini bisa menggunakan semua properti dan method pada NAMA_CLASS yang memiliki scope public ataupun protected.

  5. int data[] = {6,7,8};
    Average avg = new Average(data);

    double data2[] = {20.12, 12.4, 15, 30.56};
    Average avg2 = new Average(data2);

    System.out.println("Nilai rata-rata dari [6,7,8]= " + avg.getAverage());
    System.out.println("Nilai rata-rata dari [20.12, 12.4, 15, 30.56]= " + avg2.getDblAverage());

    disini kita menggunakan sebuah variabel array sebagai parameter untuk inisialisasi objek Average, lalu akan menampilkan hasilnya dengan memanggil fungsi getAverage() dan getDblAverage()

 

Berikut ScreenShoot pada saat dijalankan

 

Sekian terimakasih