0% menganggap dokumen ini bermanfaat (0 suara)
7 tayangan27 halaman

Class Method Access Specifier

Dokumen ini membahas konsep dasar pemrograman berorientasi objek dalam Java, termasuk kelas, metode, dan spesifikasi akses. Penjelasan mencakup atribut, konstruktor, encapsulation, serta penggunaan metode getter dan setter. Selain itu, dokumen ini juga menjelaskan tentang akses tipe dan variabel statis dalam konteks pemrograman Java.

Diunggah oleh

cosmic123gleam
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
7 tayangan27 halaman

Class Method Access Specifier

Dokumen ini membahas konsep dasar pemrograman berorientasi objek dalam Java, termasuk kelas, metode, dan spesifikasi akses. Penjelasan mencakup atribut, konstruktor, encapsulation, serta penggunaan metode getter dan setter. Selain itu, dokumen ini juga menjelaskan tentang akses tipe dan variabel statis dalam konteks pemrograman Java.

Diunggah oleh

cosmic123gleam
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 27

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Class, Method, and


Access Specifier
Pemrograman 1

Rauhil Fahmi, S.Kom., M.Sc.

1
Outline
◼ Object Oriented Programming
◼ Encapsulation
◼ Method and toString
◼ Access Type
◼ Static

2
Object Oriented Programming
◼ Memodelkan objek dunia nyata sebagai sebuah class
dalam java
◼ Representasi objek mewakili sifat objek asli di dunia
nyata
◼ Sebuah Objek (class) memiliki
◼ Constructor

◼ Variable / Attribute

◼ Method

3
Attribute
◼ Variable (-variable) yang menyimpan hal-hal yang dimiliki sebuah objek
◼ Object memiliki 0 sampai banyak attribute
◼ Merupakan variable global
◼ Biasanya memiliki tipe akses private
◼ Disebut juga instance variable

◼ Contoh: Attribute class Mahasiswa


public class Mahasiswa{
private int npm;
private String nama;
private String fakultas;
………………………….
}

4
Constructor
◼ Sebuah method “spesial” yang dibuat untuk meng-
instantiate objek
◼ Karena tidak perlu return value (tapi bukan void)

◼ Nama sama dengan nama Class

◼ Bersifat public

◼ Seperti blueprint dalam pembuatan objek


◼ Merupakan yang dipanggil dengan perintah new
String x = new String(“Hai"); //memanggil constructor

5
Constructor
◼ Constructor bisa di-overload
◼ Tapi siapkan default constructor

◼ Overload sesuai kebutuhan

◼ Constructor menyiapkan segala hal yang dibutuhkan saat


pembuatan objek
◼ Perintah this digunakan untuk menunjuk objek pemilik
constructor
◼ Digunakan saat parameter constructor memiliki identifier
yang sama dengan attribute

6
Contoh Constructor Mahasiswa
public class Mahasiswa{
……….
public Mahasiswa(){
npm = 0;
lulus = false;
}

public Mahasiswa(int npm){


// attribute npm diisi sesuai masukan constructor
this.npm = npm;
}
}

7
Method
◼ Objek dapat dilengkapi dengan method

◼ Terdapat 4 jenis method yang dapat ditembahkan pada


Objek
◼ Setter (Mutator)

◼ Getter (Accessor)

◼ toString (format keluaran saat di print)

◼ Method lain

8
Encapsulation
◼ Proses “membungkus” instance variable sehingga lebih aman
dalam proses pengaksesan
◼ Proses encapsulation
◼ Buat variable sebagai private
◼ Buat method public setter dan getternya

◼ Memungkinkan programmer untuk menggunakan sebuah


class tanpa perlu tahu implementasi sebenarnya
◼ Membuat implementasi lebih mudah dan pembuatan kode
yang lebih aman

9
Setter (Mutator)
◼ Method untuk mengubah nilai sebuah attribute (private
variable)
◼ Harus bertipe public method
◼ Memiliki return void
◼ Menerima sebuah masukan (sesuai variable yang ingin
diganti)
◼ Biasanya bernama setNamaVariable

10
Contoh Setter Mahasiswa
public class Mahasiswa{
int npm = 0;
int nama = “”;
……….
……….
public void setNpm(int npm){
this.npm = npm;
}

public void setNama(String nama){


this.nama = nama;
}
}

11
Getter
◼ Method untuk mengambil nilai sebuah attribute (private
variable)
◼ Harus bertipe public method
◼ Memiliki tipe return sesuai variable yang diminta (dan
mengembalikan nilai variable tersebut)
◼ Tidak menerima masukan apapun
◼ Biasanya bernama getNamaVariable

12
Contoh Getter Mahasiswa
public class Mahasiswa{
int npm = 0;
int nama = “”;
……….
……….
public int getNpm(){
return npm;
}

public String getNama(){


return this.nama;
}
}
13
Declaring, Instantiating, dan
Initializing
◼ Declaring
◼ Mahasiswa m;

◼ Instantiating
◼ m = new Mahasiswa();

◼ Initializing
◼ m.setNama(“Anto");

◼ Gabungan
◼ Mahasiswa m = new Mahasiswa(“Anto");

14
Method toString
◼ Method “spesial” milik class
objek public String
toString()
◼ Mengembalikan sebuah String yang berisi alamat objek
di dalam memory
◼ Dapat di-override oleh class yang didefinisikan oleh
tiap programmer
◼ String tersebut digunakan pada saat objek dicetak
dalam System.out.println
◼ System.out.println(m); //m adalah objek Mahasiswa

15
Contoh Method toString
◼ Class Mahasiswa
public class Mahasiswa{
……….
public String toString(){
return npm + " " + nama + “" + fakultas;
}
}
◼ Dalam main
Mahasiswa m = new Mahasiswa ();
…………
System.out.println(m); // Mencetak informasi mahasiswa

16
Method
◼ Bagian program yang berisi sebuah fungsi tertentu
◼ Informasi definisi method
◼ Tipe akses
◼ Static atau tidak
◼ Return value
◼ Nama identifier
◼ Parameter/s
◼ Method dapat memiliki overload
◼ Bagi method yang memiliki return harus diberikan return
public int jumlah(int a, int
b){ if (true)
return a + b // menyebabkan compile error, kenapa?
}
17
Access Type
◼ Tiap class, variable, method, constructor di Java dapat ditentukan
tipe aksesnya
◼ Terdapat 4 tipe akses
◼ public

◼ protected
◼ default
◼ private

18
Protected Access
◼ Dapat diakses oleh subclass
◼ Dan class dalam satu package
◼ Oleh subclass seperti public
◼ Bisa diakses dan diubah oleh subclass selayaknya
public
◼ Selain itu dianggap seperti private

◼ Tidak standar OOP Java

◼ Best Practice: Tetap pakai private dan setter/getter

19
Default Access
◼ Diberikan saat tidak ada petunjuk akses
◼ class Mahasiswa

◼ int npm;

◼ Bisa diakses semua class yang ada dalam satu package


◼ Dalam sebuah file java hanya boleh ada 1 public class,
sisanya default
◼ Method main berada dalam class public

20
Private Access
◼ Hanya dapat diakses oleh class pemiliknya
◼ Selain class yang memiliki tidak berhak untuk mengaksesnya
◼ Variable yang private tidak boleh langsung diakses oleh class lain
◼ private npm milik class Mahasiswa
◼ Dalam main tidak boleh langsung diakses
Mahasiswa m = new
mahasiswa();
m.Npm = 1234 // error

◼ Solusi: Tetap private untuk attribute, kemudian buat method setter


dan getter untuk mengaksesnya
◼ Kenapa harus dibuat “ribet”?
21
Static
◼ Selama ini, tiap objek yang dibuat memiliki instance variable
masing masing (berbeda satu sama lain)
◼ Static adalah label yang diberikan pada sesuatu yang menjadi milik class
◼ Variable static dapat diakses oleh seluruh instance dari class
tersebut dengan nilai yang sama
◼ Non-static variable
Mahasiswa m1 = new Mahasiswa("Budi");
Mahasiswa m2 = new Mahasiswa("Anto");

System.out.println(m1.getNama());
System.out.println(m2.getNama());
◼ Hasil yang dicetak akan berbeda tergantung instance veriable tiap objek

22
Static
◼ Misal di kelas Mahasiswa kita punya static variable
public class Mahasiswa{
……..
public static int jumlahMahasiswa; /* Bukan desain OOP
yang baik */
……..
}
◼ Maka variable tersebut dapat diakses dan diubah oleh seluruh
instance dari mahasiswa dan pada setiap instance memiliki nilai yang
sama

23
Static
◼ Karena sifatnya sama di setiap instance objek, maka static variable dapat
dipanggil langsung dari nama classnya
Mahasiswa.jumlahMahasiswa;

◼ Juga berlaku pada method static


Math.sqrt();
Integer.parseInt();

◼ Setiap method pada main class biasanya dibuat static

24
Contoh Kegunaan Static
◼ Menghitung jumlah instance yang ada
◼ Misal: berapa jumlah pelanggan yang terdaftar?

◼ Memberikan sebuah standar terhadap sebuah fungsi


◼ Mengakses sebuah informasi secara bersamaan dalam satu
waktu
◼ Dan sebagainya

25
Review
◼ Global variable / attribute (biasanya private)
◼ Constructor/s (nama sama dengan class)
◼ Getter / Accessor (method untuk mengambil)
◼ Setter / Mutator (method untuk mengubah)
◼ Method/s: toString(), dsb

26
Have fun and enjoy
in this class

27

Anda mungkin juga menyukai