______________________________

Tugas_1~Alprog3

Modifier dalam JAVA

Pada kesempatan kali ini saya akan membahas tentang modifier dalam JAVA...

Ada empat macam modifier dalam java yaitu :
  1).Public, digunakan apabila object tersebut diperuntukan untuk semua class yang artinya object tersebut dapat digunakan oleh semua class yang berkaitan dengan object tersebut.
  2).Protected, hanya bisa digunakan untuk class tersebut dan class turunannya yang dapat menggunakan object dengan modifier tersebut.
  3). Private, digunakan untuk apabila object tersebut diperuntukan hanya untuk class tersebut dan tidak ada class lain yang diizinkan untuk menggunakan object tersebut.
  4). Default modifier (tanpa modifier), biasanya digunakan hanyak untuk method dimana object itu berada. Dengan kata lain default modifier adalah sebuah var/object lokal.

   Berikut dibawah ini merupakan contoh dari modifier, cekidot!

class Orang {
    private String nama = " ", alamat = " ";
    private Integer umur;
    private Orang (String nm, String al, Integer um) // hanya bisa diakses oleh "Class Orang" saja dan tidak bisa diakses oleh class manapun karena bersifat "private"

{
        nama = nm;
        alamat = al;
        umur = um;
       
    }
    public void setNama (String nm, String al, Integer um){
        this.nama = nm;
        this.alamat = al;
        this.umur = um;
       
               
    }
    public String displayinfo(){
        return "Nama : " + nama + "Alamat : " + alamat + "Umur : " + umur;
       
       
    }
}
class Dosen extends Orang // class Dosen saling terhubung dengan class Orang dengan menggunakan extends

{
    private String nip = " ", matkul = " ";
    public Dosen (String nm, String np, String al, Integer um, String mk){
        super (nm, al, um);
        nip = np;
        matkul = mk;
        }
    public void setNip (String np){
        this.nip = np;
    }
    public String getNip (){
        return nip;
        }
    public void setPel (String mk){
        this.matkul = mk;
    }
    public String getPel (){
        return matkul;
    }
   
    @Override
    public String displayinfo (){
       return super.displayinfo () + "\nNIP : " + nip + "Mata Kuliah: " + matkul;
    }
    }

class Mahasiswa extends Orang
// class Mahasiswa saling terhubung dengan class Orang dengan menggunakan extends
{
    private String npm = " ", almet = " ";
    public Mahasiswa (String nm, String nl, String al, Integer um, String amt)
        {super (nm, al, um);
        npm = nl;
        almet = amt;
        }
    public void setNpm (String nl)
    {this.npm = nl;
    }
    public String getNpm (){
        return npm;
    }
    public void setAlt (String amt){
        this.almet = amt;
    }
    public String getAlt (){
        return almet;
    }
    @Override
    public String displayinfo (){
       return super.displayinfo () + "\nNPM : " + npm + "\nSize Almamater: " + almet;
    }
    }
    public class Perkuliahan {
        public static void main (String[]args){
        Dosen dsn = new Dosen ("Ary Bima\n", "11223344\n", "Bandung\n", 23, "Algoritma & Pemrograman 3\n");
        Mahasiswa mhs = new Mahasiswa ("Tegar Winanda\n", "27111055", "Tangerang\n", 17, "XXL\n");
        System.out.println (dsn.displayinfo());
        System.out.println (mhs.displayinfo());
        }
    }
Maka Outputnya:


(right click>>left click View Image || untuk memperjelas gambarnya)

outputnya error karena "private Orang (String nm, String al, Integer um)" hanya bisa diakses oleh "Class Orang" saja dan tidak bisa diakses oleh class manapun karena bermodifier & bersifat "private"...

Sehingga ketika akan mengakses tipe data "Class Orang" dengan menggunakan "super (nm, al, um);" akan muncul tanda seru merah pada index source code

Sekarang saya akan ganti modifier "private Orang (String nm, String al, Integer um)" dengan menggunakan protected

 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package orang;

/**
 *
 * @author Randy
 */
class Orang {
    private String nama = " ", alamat = " ";
    private Integer umur;
    protected Orang (String nm, String al, Integer um){ // modifier sebelumnya "private"
        nama = nm;
        alamat = al;
        umur = um;
       
    }
    public void setNama (String nm, String al, Integer um){
        this.nama = nm;
        this.alamat = al;
        this.umur = um;
       
               
    }
    public String displayinfo(){
        return "Nama : " + nama + "Alamat : " + alamat + "Umur : " + umur;
       
       
    }
}
class Dosen extends Orang {
    private String nip = " ", matkul = " ";
    public Dosen (String nm, String np, String al, Integer um, String mk){
        super (nm, al, um);
        nip = np;
        matkul = mk;
        }
    public void setNip (String np){
        this.nip = np;
    }
    public String getNip (){
        return nip;
        }
    public void setPel (String mk){
        this.matkul = mk;
    }
    public String getPel (){
        return matkul;
    }
   
    @Override
    public String displayinfo (){
       return super.displayinfo () + "\nNIP : " + nip + "Mata Kuliah: " + matkul;
    }
    }

class Mahasiswa extends Orang {
    private String npm = " ", almet = " ";
    public Mahasiswa (String nm, String nl, String al, Integer um, String amt)
        {super (nm, al, um);
        npm = nl;
        almet = amt;
        }
    public void setNpm (String nl)
    {this.npm = nl;
    }
    public String getNpm (){
        return npm;
    }
    public void setAlt (String amt){
        this.almet = amt;
    }
    public String getAlt (){
        return almet;
    }
    @Override
    public String displayinfo (){
       return super.displayinfo () + "\nNPM : " + npm + "\nSize Almamater: " + almet;
    }
    }
    public class Perkuliahan {
        public static void main (String[]args){
        Dosen dsn = new Dosen ("Ary Bima\n", "11223344\n", "Bandung\n", 23, "Algoritma & Pemrograman 3\n");
        Mahasiswa mhs = new Mahasiswa ("Tegar Winanda\n", "27111055", "Tangerang\n", 17, "XXL\n");
        System.out.println (dsn.displayinfo());
        System.out.println (mhs.displayinfo());
        }
    }
Maka Outpunya:
(right click>>left click View Image || untuk memperjelas gambarnya)

modifier protected disini dapat diakses oleh class itu sendiri dan oleh class turunannya...

class turunannya adalah "class Dosen" & "class Mahasiswa", sehingga dapat saling terhubung dengan "class Orang" yg memiliki modifier protected dan outputnya SUCCESFUL

Begitu juga bila modifer protected diganti dengan public, maka outputnya pun akan SUCCESFUL...
Karena modifier public bersifat umum, maksudnya adalah dapat diakses oleh class manapun secara terbuka. Berbeda dengan modifier private yg bersifat tertutup, hanya bisa diakses oleh class itu sendiri saja...

Jadi, kesimpulannya adalah modifier protected dengan modifier public tidak jauh berbeda... Perbedaannya hanya sedikit yakni modifier protected diperuntukan untuk class itu sendiri dan class turunannya sedangkan modifier public terbuka untuk diakses oleh class manapun.

Keduanya sangat berbeda dengan modifier private yg bersifat tertutup terhadap class-class lainnya, karena private hanya bisa diakses oleh class itu sendiri saja...
Catatan :
  1.    this.nama –> digunakan untuk memasukkan variabel inputan user ke dalam variabel nama pada public void setNama.
  2.   Jika terdapat script “void” berarti method teresebut tidak akan mengembalikan nilai.
  3.   public String getNip –> method akan mengeluarkan nilai yang direpresentasikan dengan script “return”, pada kasus ini nilai kembalian yang dikeluarkan berupa String.
  4.   public static void main –> script inilah yang akan dijalankan atau dieksekusi.


*sumber pencerahan saya disini

Music

powered by Blogger | WordPress by Newwpthemes | Converted by BloggerTheme