Inkapsulasi Class Pada Java (OOP)

ListMahasiswa.java
package pendaftaranmahasiswa;

/**
 *
 * @author altintop
 */
public class ListMahasiswa {
    Mahasiswa[] list; // nama objek = Mahasiswa, variabelnya: list
    int counterArray; // sebagai penanda kita ada di index ke berapa
   
    public ListMahasiswa(int jumlahMahasiswa){
        list = new Mahasiswa[jumlahMahasiswa]; // membuat list dengan panjang sebanyak jumlahMahasiswa
        counterArray = 0; // inisialisasi nilai counter dengan 0
    }
   
    public void tambahMahasiswa(String nama, String NIM, int umur, char jk){
        if (counterArray > list.length - 1) { //ketika penanda kita melebihi batas index maksimum list mahasiswa, maka tidak bisa tambah data lagi
            System.out.println("maaf, sudah penuh!!, tidak bisa mendaftarkan: "+ nama + " dengan NIM: "+NIM);
        }
        else{ // ketika penanda masih ada di rentangan 0 - jumlahMahasiswa, tambahkan mahasiswa
            list[counterArray] = new Mahasiswa(nama, NIM, umur, jk); // mengisi list mahasiswa ke-n dengan membuat objek mahasiswa
            counterArray++; // setelah list ke-n terisi, nilai penanda kita (counterArray) ditambahkan 1
        }
    }
   
    public void tampilkanListMahasiswa(){ // mencetak semua list yang ada (seperti mencetak isi dari array)
        for (int i = 0; i < counterArray; i++) {
            System.out.println(list[i].getNama()); //karena list ke-i merupakan anggota class Mahasiswa, maka ia bisa mengambil method di class Mahasiswa
        }
    }
   
}

Mahasiswa.java
package pendaftaranmahasiswa;

/**
 *
 * @author altintop
 */
public class Mahasiswa {
    /* attribut */
    String nama;
    String NIM;
    int umur;
    char jenisKelamin;

    /* konstruktor */
    public Mahasiswa(String nama, String NIM, int umur, char jenisKelamin) {
        this.nama = nama;
        this.NIM = NIM;
        this.umur = umur;
        this.jenisKelamin = jenisKelamin;
    }

   
    public void setNama(String nama) { // untuk mengubah / mengisi atribut nama
        this.nama = nama;
    }

    public String getNama() {  // untuk mengambil nilai dari atribut nama
        return nama;
    }

    public String getNIM() {  // untuk mengambil nilai dari atribut nim
        return NIM;
    }
   
   
   
}
 

 PendaftaranMahasiswa.java
package pendaftaranmahasiswa;

/**
 *
 * @author altintop
 */
public class PendaftaranMahasiswa {

    public static void main(String[] args) {
        ListMahasiswa daftar1 = new ListMahasiswa(8); // membuat daftar mahasiswa dengan kapasitas 8 orang
//        System.out.println("banyak mahasiswa: "+daftar1.list.length);
        daftar1.tambahMahasiswa("Paijo", "1234", 23, 'L'); // mengisi  daftar mahasiswa dengan biodatanya
        daftar1.tambahMahasiswa("Paimin", "2345", 22, 'L');
        daftar1.tambahMahasiswa("Paijan", "9934", 22, 'L');
        daftar1.tambahMahasiswa("Paini", "5994", 22, 'L');
        daftar1.tambahMahasiswa("Pakgin", "8593", 22, 'L');
        daftar1.tambahMahasiswa("Pakmin", "0432", 22, 'L');
        daftar1.tambahMahasiswa("Paipin", "4566", 22, 'L');
        daftar1.tambahMahasiswa("Pakyin", "8674", 22, 'L');
        daftar1.tambahMahasiswa("Paiplus", "1233", 22, 'L');
        System.out.println("---------------------------");
        daftar1.tampilkanListMahasiswa(); // tampilkan semua daftar mahasiswa yang sudah diisi
       
    }
   
}

 

0 Response to "Inkapsulasi Class Pada Java (OOP)"

Posting Komentar