As’ad Djamalilleil http://kampusku.my.id asad.kom@gmail.com Class dan Object As’ad Djamalilleil http://kampusku.my.id asad.kom@gmail.com.

Slides:



Advertisements
Presentasi serupa
Pemrograman Berorientasi Objek (Project)
Advertisements

Pemrograman JAVA (TIB09)
Deklarasi Class Kelas pada Java dideklarasikan dengan menggunakan kata kunci class. Contoh : class Mobil { String warna; int thn_prod; } Mobil Data :
Variabel di Java Variabel merupakan sebuah tempat untuk menyimpan data. Di Java setiap pembuatan variabel harus ditentukan tipe.
Kelas & Objek.
Package As’ad Djamalilleil
Inheritance (Pewarisan) As’ad Djamalilleil
Pemrograman Berorientasi Objek
Method.
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Struktur Kode Aplikasi Java (1)
Review Materi Java Fundamental As’ad Djamalilleil
As’ad Djamalilleil Function (method) As’ad Djamalilleil
METHOD Object Oriented Programming with JAVA 2011/2012.
- PERTEMUAN 4 - PERULANGAN
Flow Control & Looping Pertemuan 4 Pemrograman Berbasis Obyek Oleh Tita Karlita.
PELATIHAN JAVA FUNDAMENTAL
Object Oriented Programming with JAVA 2011/2012
Bekerja dengan Java class library
Tipe Data, Variabel, dan Operator
Public class RelasiDemo { public static void main(String[] args) { //beberapa nilai int i = 37; int j = 42; int k = 42; System.out.println("Nilai variabel...");
INHERITANCE (Oleh : Nur Hayatin, S.ST)
OOP Java Minggu 2b Dasar OOP. Class (1) Deklarasi class : [ *] class { [ *] } Cat : [] = optional, * = repeat 0-N.
Java array.
Kelas A dapat memiliki referensi ke obyek dari kelas- kelas lain sebagai anggota. Kadang-kadang disebut sebagai hubungan “has-a”. Sebagai contoh, sebuah.
Kontrak Kuliah Pengenalan OOP
Stack (Tumpukan) Pertemuan 4 Season 1
Inheritance dan Kata Kunci static
DASAR PEMROGRAMAN BERORIENTASI OBJEK
Objek-Oriented Programming (OOP)
Pemprograman Berorientasi Objek
Java array.
DASAR DASAR JAVA Dengan Netbans PBO Java.
Method & Constructor METHOD.
Constructor dan Overloading
Java array.
MODIFIER JAVA.
MENGENAL KEYWORD this, static, final
Java array.
Constructor overloading
MEMBUAT CLASS SENDIRI 2.
Algoritma &Pemrograman 1
Tipe Data, Variabel, dan Operator
PEMROGRAMAN DASAR DI JAVA
As’ad Djamalilleil Elemen Dasar Java As’ad Djamalilleil
As’ad Djamalilleil Function (method) As’ad Djamalilleil
Kelas & Objek.
As’ad Djamalilleil Abstract & Interface As’ad Djamalilleil
Inheritance (Pewarisan)
As’ad Djamalilleil Array As’ad Djamalilleil
As’ad Djamalilleil Package As’ad Djamalilleil
Review Materi Java Fundamental
Tipe Data, Variabel, dan Operator
MATERI PENDUKUNG PENGENALAN DASAR CLASS
Java array.
Karakteristik Pemrograman Berorientasi Objek
BPJ – Pertemuan 13 OOP.
PBO Lanjutan Membuat Kelas.
POLYMORPHISM.
Algoritma &Pemrograman 1
Dasar Bahasa Java.
PEMROGRAMAN BERORIENTASI OBYEK PENDAHULUAN
MENGENAL KEYWORD this, static, final
Method Java Fundamental Syahrul Mauluddin S.Kom, M.Kom.
Java array.
Tipe Data, Variabel, dan Operator
Java array.
Dasar-dasar Pemrograman Berbasis Obyek. kelas Kelas pada java didefinisikan dengan menggunakan kata kunci class.
Pemrograman Berorientasi Objek
- PERTEMUAN 2- CONSTRUCTOR
Transcript presentasi:

As’ad Djamalilleil http://kampusku.my.id asad.kom@gmail.com Class dan Object As’ad Djamalilleil http://kampusku.my.id asad.kom@gmail.com

Karena setiap object Button dibuat dari Class yang sama Mengapa semua object Button memiliki bentuk, warna, ukuran, serta karakteristrik yg sama ? Karena setiap object Button dibuat dari Class yang sama

Setiap object dapat diubah karakteristiknya tanpa mempengaruhi object yang lain. Setiap object memiliki Properties dan Events (Functions) yang sama, yang juga didapatkan dari class

Properties dapat dianggap sebagai karakteristik, sifat, atau ciri yang dimiliki oleh sebuah object. Events atau functions dapat dianggap sebagai tingkah laku atau apa yang object tersebut dapat lakukan.

Object Lingkaran1 Class Lingkaran Object Lingkaran2 Object Lingkaran3 Object Lingkaran4 Setiap object mengikuti karakteristik maupun perilaku dari class asalnya

Object Lingkaran1 Class Lingkaran Object Lingkaran2 Object Lingkaran3 Object Lingkaran4 Namun setiap object dapat diubah karakteristik agar berbeda dari satu object dengan object yg lain

Apa tujuan membuat class ??? Memudahkan pemrograman  karena untuk membuat object tidak perlu membuat berulang-ulang bagian program yg sama Hanya diperlukan sebuah class untuk membuat sebanyak-banyaknya object yg diperlukan

Wajibkah merancang dahulu class sebelum membuat aplikasi ??? Tidak wajib  karena class digunakan untuk membuat aplikasi yg besar dan terstruktur Agar mempermudah pengembangan aplikasi tersebut di masa depan

Contoh Merancang Class

Merancang Class Gelas Gelas memiliki karakteristik/perilaku sebagai berikut: Memiliki tinggi Memiliki diameter Memiliki daya tampung maksimum Gelas dapat kosong atau terisi Memiliki warna Memiliki pegangan/tidak Dapat diisi minuman Dapat diminum isinya Dapat dipecahkan

Class Gelas tinggi diameter kosong warna pegangan diisi( ) diminum( ) Karakteristik / properties  memiliki nilai tertentu kosong warna pegangan diisi( ) Perilaku / functions  apa yang dapat dilakukan atau terjadi diminum( ) dipecahkan( ) isiMaksimum( )

Pada kenyataannya, hasil perancangan dari class dapat berbeda dengan definisi dari class yang akan jadi nantinya, semuanya bergantung dari analisa tiap programmer

Contoh Definisi dari Class Gelas (6.1) float tinggi; float diameter; boolean kosong; String warna; boolean pegangan; Gelas(){ //constructor dari class Gelas: //memberikan nilai karakteristik //awal kepada gelas yg //baru dibuat } void diisi(){ //perintah untuk mengisi gelas

void diminum(){ //perintah untuk mengosongkan gelas } void dipecahkan(){ //perintah untuk memecahkan double isiMaksimum(){ //berapa banyak yg dapat //ditampung oleh gelas return 0;

Membuat Object Object di Java dapat dibuat dengan menggunakan kata kunci new. NamaClass namaObject = new NamaClass(); atau NamaClass namaObject = new NamaClass([arg1],[arg2], … [argN]);

Penambahan argumen pada pembuatan class bergantung dari ada atau tidaknya parameter pada constructor class Object dapat dibuat sebanyak yang diperlukan Contoh membuat 2 buah object dari class Gelas: Gelas minum = new Gelas(); Gelas cangkir = new Gelas();

Object minum tinggi diameter kosong warna pegangan diisi( ) diminum( ) Setiap object memiliki properties dan functions masing-masing, dimana nilai setiap properties pada tiap object tidak dapat bercampur satu dengan yang lain Object minum tinggi diameter kosong warna pegangan diisi( ) diminum( ) dipecahkan( ) isiMaksimum( ) Object cangkir tinggi diameter kosong warna pegangan diisi( ) diminum( ) dipecahkan( ) isiMaksimum( )

Memberikan nilai properties pada object yang telah dibuat Nama property ditulis menggunakan tanda titik untuk memisahkan antara nama object dengan property atau function minum.tinggi = 12.4f; minum.diameter = 6.0f; minum.kosong = true; minum.warna = “Transparan”; minum.pegangan = false;

cangkir.tinggi = 7.5f; cangkir.diameter = 6.5f; cangkir.kosong = true; cangkir.warna = “Putih”; cangkir.pegangan = true;

Object minum tinggi=12.4f diameter=6.0f kosong=true warna=“Transparan” pegangan=false diisi( ) diminum( ) dipecahkan( ) isiMaksimum( ) Object cangkir tinggi=7.5f diameter=6.5f kosong=true warna=“Putih” pegangan=true diisi( ) diminum( ) dipecahkan( ) isiMaksimum( )

Membaca nilai property Contoh berikut akan mencetak property warna dari object cangkir: System.out.println(cangkir.warna); Contoh berikut menghitung maksimum air yg dapat ditampung oleh object minum final float phi = 3.14f; float jari = minum.diameter / 2; double isi = phi * (jari * jari) * minum.tinggi;

Menjalankan function pada object Contoh menjalankan function diminum() pada object minum minum.diminum(); Contoh menjalankan function isiMaksimum() pada object cangkir double isi; isi = cangkir.isiMaksimum();

Sekilas tentang constructor Constructor memiliki nama yang sama dengan nama class Constructor dijalankan (secara implisit oleh Java) sesaat setelah sebuah objek dibuat Constructor biasanya digunakan untuk memberikan nilai awal pada properties dari objek tersebut

Melengkapi definisi dari class Gelas (6.2) float tinggi; float diameter; boolean kosong; String warna; boolean pegangan; Gelas(){ //constructor dibiarkan kosong } void diisi(){ this.kosong = false; System.out.println("gelas penuh");

void diminum(){ this.kosong = true; System.out.println("gelas kosong"); } void dipecahkan(){ this.tinggi = 0f; this.diameter = 0f; System.out.println("gelas pecah"); double isiMaksimum(){ final float phi = 3.14f; float jari = this.diameter / 2; double isi = phi * (jari * jari) * this.tinggi; return isi;

Membuat aplikasi dari class Gelas Aplikasi dari contoh kasus class Gelas di atas dapat dibuat dengan beberapa cara, yaitu: Langsung menambahkan function main( ) pada class Gelas agar class tersebut dapat dijalankan sebagai sebuah aplikasi Membuat class/aplikasi lain (dalam file java yang sama) yang akan menggunakan class Gelas Membuat class/aplikasi lain (dalam file java yang terpisah) menggunakan sistem package (akan dibahas pada materi berikutnya)

Contoh menggunakan cara 1 (6.3) class Gelas{ float tinggi; float diameter; boolean kosong; String warna; boolean pegangan; Gelas(){ //constructor dibiarkan kosong } void diisi(){ this.kosong = false; System.out.println("gelas penuh");

void diminum(){ this.kosong = true; System.out.println("gelas kosong"); } void dipecahkan(){ this.tinggi = 0f; this.diameter = 0f; System.out.println("gelas pecah"); double isiMaksimum(){ final float phi = 3.14f; float jari = this.diameter / 2; double isi = phi*(jari*jari)*this.tinggi; return isi;

public static void main(String args[]){ Gelas minum = new Gelas(); Gelas cangkir = new Gelas(); minum.tinggi = 12.4f; minum.diameter = 6.0f; minum.kosong = true; minum.warna = "Transparan"; minum.pegangan = false; cangkir.tinggi = 7.5f; cangkir.diameter = 6.5f; cangkir.kosong = true; cangkir.warna = "Putih"; cangkir.pegangan = true;

System.out.println(cangkir.warna); final float phi = 3.14f; float jari = minum.diameter / 2; double isi = phi*(jari*jari)*minum.tinggi; System.out.println(isi); minum.diminum(); isi = cangkir.isiMaksimum(); }

Contoh menggunakan cara 2 (6.4) class Gelas{ float tinggi; float diameter; boolean kosong; String warna; boolean pegangan; Gelas(){ //constructor dibiarkan kosong } void diisi(){ this.kosong = false; System.out.println("gelas penuh");

void diminum(){ this.kosong = true; System.out.println("gelas kosong"); } void dipecahkan(){ this.tinggi = 0f; this.diameter = 0f; System.out.println("gelas pecah"); double isiMaksimum(){ final float phi = 3.14f; float jari = this.diameter / 2; double isi = phi*(jari*jari)*this.tinggi; return isi;

class Aplikasi{ public static void main(String args[]){ Gelas minum = new Gelas(); Gelas cangkir = new Gelas(); minum.tinggi = 12.4f; minum.diameter = 6.0f; minum.kosong = true; minum.warna = "Transparan"; minum.pegangan = false; cangkir.tinggi = 7.5f; cangkir.diameter = 6.5f; cangkir.kosong = true; cangkir.warna = "Putih"; cangkir.pegangan = true; System.out.println(cangkir.warna);

final float phi = 3.14f; float jari = minum.diameter / 2; double isi = phi * (jari * jari) * minum.tinggi; System.out.println(isi); minum.diminum(); isi = cangkir.isiMaksimum(); }

Sekilas tentang keyword this Keyword this digunakan untuk merujuk pada objek yang sedang digunakan Contoh pemanggil function isiMaksimum(): isi = cangkir.isiMaksimum(); Pada statement di atas, yang memanggil function isiMaksimum adalah objek cangkir.

Ini berarti bahwa kata this di dalam function isiMaksimum merujuk pada objek cangkir, bukan objek minum Sehingga ekspresi this.diameter dan this.tinggi akan merujuk pada property diameter dan tinggi yang dimiliki oleh objek cangkir Keyword this juga digunakan untuk membedakan antara property dengan parameter function yang memiliki nama yang sama

Pada contoh kode di bawah akan menampilkan nilai nol dikarenakan function setIsi() tidak bekerja sebagaimana mestinya Program 6.5 class Coba{ int isi; void setIsi(int isi){ isi = isi; } public static void main(String args[]){ Coba saja = new Coba(); saja.setIsi(7); System.out.println(saja.isi);

Hal ini disebabkan karena pada function setIsi() memiliki parameter dengan nama yang sama dengan nama property, yaitu “isi” Sehingga penulisan statement “isi = isi;” yang bermaksud untuk memberikan nilai kepada property “isi” tidak sukses karena yang terjadi adalah nilai parameter “isi” akan diberikan kepada parameter itu sendiri sehingga tidak mempengaruhi nilai property “isi”

Masalah tersebut dapat diselesaikan seperti contoh kode di bawah, yaitu dengan mengubah nama parameter sehingga tidak sama dengan nama property. Program 6.6 class Coba{ int isi; void setIsi(int isinya){ isi = isinya; } public static void main(String args[]){ Coba saja = new Coba(); saja.setIsi(7); System.out.println(saja.isi);

-- atau --

Atau menggunakan cara yang lebih lazim digunakan di Java, yaitu dengan memanfaatkan keyword this seperti contoh kode berikut: Program 6.7 class Coba{ int isi; void setIsi(int isi){ this.isi = isi; } public static void main(String args[]){ Coba saja = new Coba(); saja.setIsi(7); System.out.println(saja.isi);

Penggunaan keyword this pada contoh kode di atas memberikan penjelasan kepada compiler Java bahwa nama “isi” tersebut adalah nama property, bukan nama parameter Sehingga “this.isi” dan “isi” dianggap sebagai dua nama yang berbeda, yang satu dianggap sebagai property dan yang kedua dianggap sebagai parameter/variabel