170 likes | 437 Views
PBO Lanjutan. Membuat Kelas. Konsep Kelas/Class. Kita dapat membuat tipe data sendiri yg disebut class (Abstract Data Type) Data & method disatukan dalam class (encapsulation) Class bertindak sebagai blue print (kita dapat membuat 1 atau lebih obyek berdasarkan suatu class)
E N D
PBO Lanjutan Membuat Kelas
Konsep Kelas/Class • Kita dapat membuat tipe data sendiri yg disebut class (Abstract Data Type) • Data & method disatukan dalam class (encapsulation) • Class bertindak sebagai blue print (kita dapat membuat 1 atau lebih obyek berdasarkan suatu class) • Menerapkan konsep information/data hiding • Komunikasi pada obyek dapat dilakukan dengan cara mengirimkan pesan lewat method
Membuat Kelas/Class • Pendeklarasian class : • public class MyClass extends Object • { //field, constructor, and method declarations} • Atau • public class MyClass • { //field, constructor, and method declarations} • Catatan : public agar class bisa diakses • Dalam class ada variabel : • non-static variable instance variable, field • Static variable class variable
Access Modifier public, private • Variable dan method yg dideklarasikan menjadi public, maka variable dan method tsb dapat diakses di semua bagian program. • Variable dan method yg dideklarasikan menjadi private, maka variable dan method tsb hanya dapat diakses oleh method lain pada class tersebut saja. • Field/instance variable lebih baik private. • Method lebih baik public (Penjelasan lain tentang method, lihat di materi sebelumnya).
//Nama file : Segitiga.java public class Segitiga { private int alas; private int tinggi; public void IsiField(int x, int y) { alas = x; tinggi = y; } public int tampilAlas() { return alas; } public int tampilTinggi() { return tinggi; } public double HitungLuas() { return 0.5 * (double) (alas * tinggi); } } Ini adalah pendeklarasian class (Abstract Data Type)
Ini adalah class tempat dibentuknya obyek berbentuk Segitiga (aplikasinya) //Nama file : class1.java public class class1 { public static void main(String args[]) { Segitiga ST = new Segitiga(); ST.IsiField(4,6); System.out.println("Panjang alas segitiga adalah : "+ST.tampilAlas()); System.out.println("Tinggi segitiga adalah : "+ST.tampilTinggi()); System.out.println("Luas Segitiga adalah : "+ST.HitungLuas()); } }
Perintah ‘this’ • Dipakai jika sebuah method memiliki local variable (parameter) yang namanya sama dengan field pada class tersebut. • Contoh : • public void IsiField(int alas, int tinggi) • { this.alas = alas; • this.tinggi = tinggi; }
Konstruktor • Merupakan method yang memiliki nama yg sama dengan nama class • Dipakai untuk menginisialisasi field pada obyek • Tidak mengembalikan nilai, tidak juga menggunakan void • Dapat merupakan ‘overload constructors’ (konstruktor yang dapat menginisialisasi obyek lebih dari 1 cara)
Contoh Program //Nama file : class3.java class Segitiga3 { private int alas; private int tinggi; public Segitiga3() { IsiField(1,1); } public Segitiga3(int x) { IsiField(1,x); } public Segitiga3(int x, int y) { IsiField(x,y); } public void IsiField(int x, int y) { alas = x; tinggi = y; }
public int tampilAlas() { return alas; } public int tampilTinggi() { return tinggi; } public double HitungLuas() { return 0.5 * (double) (alas * tinggi); } }
public class class3 { public static void main(String args[]) { Segitiga3 STA = new Segitiga3(); System.out.println("Obyek Segitiga Pertama"); System.out.println("Panjang alas segitiga adalah : "+STA.tampilAlas()); System.out.println("Tinggi segitiga adalah : "+STA.tampilTinggi()); System.out.println("Luas Segitiga adalah : "+STA.HitungLuas()); Segitiga3 STB = new Segitiga3(5); System.out.println("\nObyek Segitiga Kedua"); System.out.println("Panjang alas segitiga adalah : "+STB.tampilAlas()); System.out.println("Tinggi segitiga adalah : "+STB.tampilTinggi()); System.out.println("Luas Segitiga adalah : "+STB.HitungLuas()); Segitiga3 STC = new Segitiga3(7,3); System.out.println("\nObyek Segitiga Ketiga"); System.out.println("Panjang alas segitiga adalah : "+STC.tampilAlas()); System.out.println("Tinggi segitiga adalah : "+STC.tampilTinggi()); System.out.println("Luas Segitiga adalah : "+STC.HitungLuas()); } }
QUIZ • Buatlah suatu class bernama Nilai dan class yang bernama AplikasiNilai (utk membuat obyek) dengan ketentuan sbb : • Class Nilai • Memiliki 2 konstruktor, masing-masing untuk inisialisasi dan utk mengisi field/instance variabel dg data yg dikirim. • Memiliki 3 method yang masing-masing berfungsi untuk menampilkan nama, menampilkan nilai dan mencari grade
Class AplikasiNilai / fungsi main (utama) -Buatlah obyek bernama Mhs dengan class Nilai dan langsung kirim nama dan nilainya -tampilkan namanya -tampilkan nilainya -tampilkan gradenya Layout : Nama Mahasiswa : Nilai : Grade :