• Tidak ada hasil yang ditemukan

MENDALAMI CLASS, OBJECT DAN METHOD

N/A
N/A
Protected

Academic year: 2022

Membagikan "MENDALAMI CLASS, OBJECT DAN METHOD"

Copied!
33
0
0

Teks penuh

(1)

MENDALAMI CLASS, OBJECT DAN METHOD

Dosen:

Erma Susanti, S.Kom, M.Cs

(2)

Setelah mengikuti mata kuliah ini mahasiswa dapat :

• Memperdalam lagi bagaimana mendefinisikan class, membuat objek,

dan mendefinisikan method

(3)

Pokok Bahasan

Dalam modul ini akan diuraikan beberapa topik bahasan yaitu : 1. Sekali lagi :Class dan objek

2. Mendefinisikan data dan method

3. Modifier untuk class dan method :public, static, protected, final

(4)

Telah diuraikan dalam Modul 2 bahwa :

• Class : suatu frame yang merupakan definisi yang memuat data dan metod pengolah data

• Objek : Bentuk konkrit dari class yang dengannya data dan metod dapat direalisasikan Dalam program class java dibagi menjadi :

• Class yang didalamnya terdefinisi method main(). Class seperti ini bahwa jika beberapa class didefinisikan dalam file yang sama, maka nama file disimpan dalam nama sesuai nama class yang berisi main tersebut.

• Class yang didalamnya tidak terdapat metod main(). Class ini murni berisi

encaptulation dari definisi data dimana didalamnya terdapat data dan method pengolah datanya.

• Pendefinisian class dan pembuatan objek juga dapat dilakukan dalam class yang sama

sehingga bersifat rekursif.

(5)

Menciptakan Kelas

 Kelas pada didefinisikan dengan menggunakan kata kunci class

 berikut contoh kelas bernama Mobil

 warna dan tahunProduksi disebut instance variable atau field

1. class Mobil 2. {

3. String warna;

4. int tahunProduksi;

5. }

(6)

Disini class Dog

dalam main adalah

rekursif

(7)

Hasil program

(8)

Perbandingan OOP dan prosedural programming

• Berikut ini ditunjukkan perbedaan paradigma pemrograman OOP dengan pendekatan

Mendefinisikan method sesungguhnya mirip

dengan mendefinisikan fungsi pada model

perosedural

Metod dalam OOP

merupakan bagian

terpenting yang harus

dikuasai seluk beluknya

(9)

2. Mendefinisikan Data dan Metod

Mendefinisikan data

• Sesuai dengan ide encaptulation, data dalam suatu class sebaiknya didefinisikan secara private, agar ia lebih aman dari ases luar class. Jika tidak terpaksa pada data : berarti data hanya dapat diases dari class yang sama

• Default dari definisi data adalah public, artinya jika kita tidak memberi keterangan apa-apa pada data maka data tersebut adlah public.

• Contoh definisi :

int a =9; int b=77;

definisi ini adalah berarti a dan b data yang dapat diases dari luar class

Perhatikan contoh berikut:

(10)

Kelas dengan Metode

 Sebuah kelas

umumnya tersusun atas variabel instan dan metode untuk objek

 Metode adalah fungsi

(subprogram) yang melekat pada

sebuah objek atau instan kelas

 Contoh berikut

menunjukkan kelas Mobil dengan

memiliki tiga buah metode pada kelas tersebut

1. class Mobil 2. {

3. //variabel instan 4. String warna;

5. int tahunProduksi;

6.

7. //metode

8. void isiData (String warnaMobil, int tahunProduksiMobil){

9. warna = warnaMobil;

10. tahunProduksi = tahunProduksiMobil;

11. } 12.

13. String ambilWarna() { 14. return warna;

15. } 16.

17. int ambilTahunProduksi() { 18. return tahunProduksi;

19. }

20. }

(11)

Kata Kunci this

 Kata kunci this dipergunakan pada pembuatan kelas dan digunakan untuk menyatakan objek sekarang

1. class Mobil 2. {

3. //variabel instan 4. String warna;

5. int tahunProduksi;

6.

7. //metode

8. void isiData (String warnaMobil, int tahunProduksiMobil){

9. warna = warnaMobil;

10. tahunProduksi = tahunProduksiMobil;

11. }

1. //metode

2. void isiData (String warna, int tahunProduksi){

3. this.warna = warna;

4. this.tahunProduksi = tahunProduksi;

5. }

Bagian metode diganti dengan

(12)

Penentu Akses: privat dan public

 public: pengaksesan suatu variabel instan atau metode dapat dilakukan dari luar kelas

 private: pengaksesan suatu variabel instan atau metode hanya dapat

dilakukan di dalam kelas, tidak bisa diakses dari luar kelas

(13)

Perbedaan public, private, dan tanpa penentu akses pada variabel

Penentu Akses Keterangan

Tanpa penentu akses Variabel dapat diakses oleh kelas yang berbeda dalam paket yang sama

public Variabel dapat diakses pada semua kelas yang

menggunakan kelas yang berisi variabel tersebut

private Hanya dapat diakses oleh metode-metode dalam

kelas itu sendiri

(14)

pada metode

Penentu Akses Keterangan

Tanpa penentu akses Metode hanya dapat diakses oleh metode dalam

kelas itu sendiri ataupun metode pada kelas lain yang terletak pada paket yang sama

public Metode hanya dapat diakses oleh sembarang kelas

private Hanya dapat diakses oleh metode-metode dalam

kelas yang sama

(15)

Metode Kelas

 ada pemanggilan metode dengan bentuk:

namaKelas.namaMetode()

 dan bukan dalam bentuk: namaVariabelObjek.namaMetode()

//contoh1

1. public class MetodeKelas {

2. public static void main (String[] args) 3. {

4. double akar = Math.sqrt(25);

5. System.out.println(akar);

6. } 7. }

//contoh2

1. class Matematika {

2. static public double kuadrat (double nilai){

3. return nilai * nilai;

4. } 5. }

6. public class MetodeKelas2 {

7. public static void main (String[] args) 8. {

9. double bilangan = Matematika.kuadrat(25.0);

10. System.out.println(bilangan);

11. }

12. }

(16)

Konsep: Tipe Data, Variabel dan Penugasan

 Tipe data di java: String, bilangan (Integer dan floating-point)

 Tipe data primitif: int, double

 Variabel adalah lokasi penyimpanan di memori komputer yang memiliki tipe, nama, dan isi.

 Deklarasi Variabel

tipeData namaVariabel = nilai; atau tipeData namaVariabel;

 Contoh:

String ucapan = “Hello World!”;

PrintStream printer = System.out;

int lebar = 30;

 Operator Penugasan menggunakan operator (=)

 Contoh:

double lebar = 30;

lebar = 20;

lebar = lebar + 10;

(17)

INSTANCE VARIABEL, set METHOD DAN get METHOD

 Pada bagian ini, akan dibuat dua class yaitu Account dan AccountTest

 Class AccountTest adalah class aplikasi dimana method main akan diciptakan dan menggunakan object Account untuk

mendemonstrasikan kemampuan class Account.

(18)

dan get Method

 Perbedaan account biasanya memiliki nama yang berbeda. Untuk alasan ini, class Account berisi nama instance variabel.

 class instance variabel memelihara data untuk setiap objek (setiap instance) dari class

1. // Account.java

2. // Account class berisi nama instance variabel 3. // dan method untuk set dan get nilai

4.

5. public class Account 6. {

7. private String nama; //instance variabel 8. //method untuk set nama dalam objek

9. public void setNama(String nama) 10. {

11. this.nama = nama; // menyimpan nama 12. }

13.

14. //method untuk mengambil nama dari objek 15. public String getNama()

16. {

17. return nama; //mengembalikan nilai dari pemanggil nama 18. }

19. } //akhir class Account

(19)

Menggunakan Objek dari Class Account

1. // AccountTest.java

2. // Account class berisi nama instance variabel 3. // dan method untuk set dan get nilai

4. import java.util.Scanner;

5.

6. public class AccountTest 7. {

8. public static void main(String[] args) 9. {

10. //membuat objek Scanner untuk mendapatkan inputan dari command window 11. Scanner input = new Scanner(System.in);

12.

13. //membuat objek Account dan menugaskannya ke myAccount 14. Account myAccount = new Account();

15.

16. //menampilkan inisial nama dari nama (null)

17. System.out.printf(“Nama inisial : %s%n%n”, myAccount.getNama());

18.

19. //kursor untuk membaca nama

20. System.out.println(“Masukkan nama anda: “);

21. String inputNama = input.nextLine(); // baca baris teks

22. myAccount.setNama(inputNama); //letakkan inputNama di myAccount 23. System.out.println(); //output baris kosong

24.

25. //menampilkan nama yang disimpan di objek myAccount

26. System.out.printf(“Nama objek Account : %n%s%n”, myAccount.getNama();

27. }

(20)

Data default adalah public

• Program

Hasil program:

Perhatikan variabel P dan Q dalam definisi pada class Data Tanpa keterangan P,Q adalah public

Dari class Tes, nilai P dan Q dapat diubah, perhatikan hasil program

Nilai P yang aslinya 9, dalam class Tes diubah menjadi 111

(21)

Lindungi data default dengan modifier private

Jika statemen definisi data untuk P dan Q dibuat private : private int P=9;

private int Q=8;

Maka pada saat kompilasi akan gagal untuk melakukan ases data private dari luar

class, seperti pesan kesalahn kompilasi berikut.

(22)

untuk ambil data private dari luar class

Data private masih diberi kemungkinan perubahan dengan mendefinisikan metod set() untuk menggantinya dan metod get() untuk mengambilnya.

Contoh :

untuk merubah data P yang private dalam class Data tambahkan definisi setP()

dan getP() sebagai berikut :

(23)

Data static

Data static adalah data yang didefinisikan untk dimiliki oleh class. Jika objek berasa dari class yang sama maka data static akan bernilai sama untuk seluruh objek

dalam class tersebut.

Jika nilai P diubah pada suatu objek, maka nilai P pada objek lain akan ikut berubah. Pada objek b nilai P diubah menjadi 99, ternyata pada objek a nilai P ikut berubah menjadi 99

Hasil program

(24)

Hasil program asal

static String nama;

Jika dalam deklarasi nama diganti

dengan static String Nama

(25)

Method :

Default Definisi metod: public

Definisi metod tanpa modifier adalah public Contoh :

class Data { int P=9;

int Q=8;

void Tampil(){System.out.println(P+" "+Q);}

}

public class Tes

{ public static void main(String args[]) {Data data=new Data();

data.P=111;

data.Tampil();

} }

Hasil program :

Tanpa modifier

berarti public

(26)

Method static

Metod static adalah metod yang diases oleh metod static yang lain dari dalam class yang sama

Contoh : definisi fungsi luasLing(float R)

Dalam definisi luasLing(float R)kata static tidak ditemukan, tetapi

ada kata private. Saat dikompile ternyata salah.. Karena metod main yang

memanggilnya adalah suatu metod static

(27)

Setelah kata static dipasang

Static

dipasang

Hasil

program

Kata private pada metod menunjukkan bahwa metod tersebut diases oleh

metod dalam class yang sama

(28)

• protected: menunjukkan bahwa metod tersebut hanya dapat diwarisi oleh class turunannya.

• Dalam pembahasan akan diuraikan dalam bagian penurunan (inheritance) class

public metod1(){ } private metod2() { } protected metod3(){ }

Class Induk

Class Anak public metod1(){ }

protected metod3(){ }

Class lain

public metod1(){ }

(29)

3. Class static

• Jika suatu class didefinisikan tidak untuk dibuat objeknya, tetapi untuk dimanfaatkan metod-metodnya

maka class tersebut adalah class static.

• Dalam java contoh class static adlah class Math, dimana metod-metod seperti random(), sqrt() dan lain-lain diambil dari class ini, tetapi class ini tidak pernah dibuat objeknya.

• Contoh : class Data berikut adalah class static dimana ia hanya

digunakan metodnya, tidak dibuat objeknya

(30)

Class final

• Jika suatu class didefinisikan secara final maka class tersebut tidak dapat dibuat turunannya

• Contoh class-calass final dalam java adalah :

• class Math

• class String

• class Integer, Long, Double, Float

(31)

Rangkuman

1. Modifier private untuk data dan metod berarti hanya dapat diases oleh metod dari class yang sama

2. Modifier public untuk data dan metod berarti dapat diases dari luar class 3. Modifier public untuk class berarti berisi main program dan harus

disimpan dengan nama yang sma dengan nama class tersebut

4. Modifier protected untuk data dan metod bnerarti dapat diwarisi oleh class turunannya

5. Modifier static untuk data berarti bernilai sama untuk semua objek dari class yang sama

6. Modifier static untuk metod berarti dapat diases dari metod static yang sama dalam class

7. Modifier final untu kclass berarti tak dapat dibuat turunannya

(32)

1. Buatlah definisi class MahasiswaTeknik dan MahasiswaSastra.

Masing-masing class berisi data:

JUR (String, static) NIP(int, private)

Nama(String, private)

Masing-masing class berisi metod :

setNamaNIP(String n ,int m) : untuk mengisi NIP dan Nama setJUR(String s) untuk mengatur nama Jurusan

tampilkan() untuk menampilkan data NIP NAMA dan JURUSAN

2. Buatlah class TesMahasiswa yang berisi main program

3. Buat objek MahasiswaTeknik 3 orang dan MahasiswaSastra 2 orang

(33)

Latihan …

4. Buatlah tampilkan daftar mahasiswa dengan tampilan : ---

No NIP NAMA JURUSAN ---

---

Referensi

Dokumen terkait

Unsuccessful attempt to create a small private data object during a public session.. C_CreateObject(class =

“ Suatu class pada java merupakan suatu blue print untuk object yang akan digunakan dalam program

Dalam sebuah kelas diperbolehkan lebih dari satu method dengan nama yang sama dengn catatan method dapat dibedakan berdasarkan banyaknya parameter atau tipe

Demikian juga, dengan objek, kelas mendefinisikan tipe data dan perilaku, tetapi setiap objek (rumah) yang dibuat dari satu class (blue-print) memiliki variable (warna, jendela)

• Methods / Operasi adalah abstraksi dari segala sesuatu yang dapat kita lakukan pada sebuah object dan ia berlaku untuk semua object yang terdapat dalam class tersebut.. •

What you need to know Structure of a class definition Instance variables Constructors Instance methods toString method private instance variables Define constructors Define

3 package A; public class MainA { public static void mainString args[]{ } } package A; public class TestA { private int varPrivateA ; int varDefaultA ; protected int

public class Deque { private class DequeNode { public T data; public DequeNode lt; // Pointer to left neighbour public DequeNode rt; // Pointer to right neighbour } // inner class