Istifadah KBM 26 Pesantren Siber Bandung

1/07/2020

Rabu, 25 September 2019

                Pada sekitar pukul sembilan pagi, alhamdulillah kami semua sudah berkumpul didalam kelas. Selama mengisi waktu luang, kami pun memanfaatkannya dengan melakukan berbagai aktifitas positif. Saya sendiri memanfaatkan waktu dengan mengerjakan tugas programming dimana kami harus membuat contoh inheritance (Pewarisan sifat) OOP pada java dengan berbagai komponen didalamnya. Selain proses pengerjaan tugas tersebut memakan waktu yang cukup lama, proses tersebut juga cukup menguras otak. Setelah mengerjakan tugas tersebut, saya sendiri mempelajari secara mandiri materi Inner Class & Polimorphism pada OOP java karena kedua materi tersebut adalah tugas yang diberikan Kang Basyir untuk dipelajari secara otodidak.
                Inner Class merupakan kelas yang letak pembuatannya berada didalam kelas. Cara pembuatan inner class ini sama seperti membuat kelas biasa, hanya saja kita memnuat kelas tersebut didalam kelas yang sudah dibuat. Berikut ini adalah contoh pembuatan inner class dimana pada kelas Kampus terdapat beberapa inner class yaitu : kelas Mahasiswa, Dosen, dan Staff :

package sebagai.contoh;

public class Kampus {
       public class Mahasiswa{
             
       }
       public class Dosen{
              String nama;
              String NIP;
       }
       public class Staff{
             
       }
}

Pada Inner Class juga kita masih bisa mengakses data yang sifatnya private yang ada dikelas utama karena masih dalam satu kelas. Adapun cara memanggil suatu objek pada inner class, penulisannya seperti ini :
NamaKelas objek = new NamaKelas();
namaInnerClass objekInner = objek.new namaInnerClass();
Untuk lebih jelasnya, disini saya akan contohkan cara memanggil “nama” yang ada pada inner class Dosen -yang telah kita tampilkan diatas- melalui kelas yang baru -yang terpisah dari kelas Kampus- :

package sebagai.contoh;

import sebagai.contoh.Kampus.Dosen;

public class Program {
       public static void main(String[] args) {
              Kampus objekUtama = new Kampus();
              Dosen objekInner = objekUtama.new Dosen();
             
              objekInner.nama = "Ihsan";
              System.out.println(objekInner.nama);
       }
}

                Selanjutnya adalah materi tentang Polimorfisme / Polimorphism pada OOP Java. Jika kita artikan dari segi katanya, “poli” yang bermakna banyak (atau lebih dari satu) & “morph” yang bermakna bentuk. Relasinya dengan OOP adalah sebuah objek bisa memiliki banyak bentuk, dari relasi tersebut memungkinkan terjadi beberapa hal :
-          Suatu objek bisa berasal dari kelas induk/ super class namun value-nya bisa dipanggil menggunakan kelas turunannya.
-          Sebuah kelas induk namun bisa bertingkah laku atau memiliki sifat kelas turunannya.
-          Sebuah kelas dapat disamarkan menjadi kelas induknya.
Pada umumnya penulisan objek adalah : NamaKelas objek = new NamaKelas(); .Namun, contoh penulisan polimorfisme nantinya seperti ini : KelasInduk objek = new classTurunannya();
Berikut ini contoh sederhana polimorfisme dimana mula-mula kita membuat kelas induk “Movie” beberapa atribut dan method :

package sebagai.contoh;

public class Movie {
       private String judul;
       private int tahun;
       private String negara;
      
       public void negara() {
              System.out.println("Default Negara");
       }
}
Selanjutnya kita membuat kelas turunan yaitu “Starwars” yang berinduk ke kelas “Movie”, pada kelas ini kita membuat method yang sama seperti yang ada pada kelas “Movie” namun isinya berbeda :

package sebagai.contoh;

public class Starwars extends Movie{
       public void negara() {
              System.out.println("Amerika");
       }
}
Lalu kita membuat kelas “Main” yang digunakan sebagai pemanggil seperti berikut :

package sebagai.contoh;

public class Main {
       public static void main(String[] args) {
              Movie m = new Starwars();
              m.negara();
       }
}

Pada kelas “Main” diatas, ketika kita membuat objek “m” maka kita memanggil kelas “Movie”. Namun pada tulisan setelah “new”, yang seharusnya kita tulis “Movie” juga maka kita ubah menjadi “Starwars”. Maka nantinya walaupun yang dipanggilnya adalah “Movie”, namun yang akan diakses adalah “Starwars” sehingga yang akan muncul adalah value yang ada di “Starwars” yaitu "Amerika"-bukan value yang ada di Movie yaitu "Default Negara”-.
                Itulah beberapa hal yang saya pelajari secara mandiri hari ini, semoga Allah menjadikan kita orang yang senantiasa bersungguh-sungguh dalam menuntut ilmu...Aamiin

Share this

Related Posts

Previous
Next Post »