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 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).
Ini adalah pendeklarasian class (Abstract Data Type) //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()); }
Hasilnya :
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()); }
Hasilnya :
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 :
Hasilnya :