pbo lanjutan
DESCRIPTION
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) - PowerPoint PPT PresentationTRANSCRIPT
UNIVERSITAS UNIVERSITAS BUDI LUHURBUDI LUHUR
FAKULTAS FAKULTAS TEKNOLOGI TEKNOLOGI INFORMASIINFORMASI
www.bl.ac.idwww.bl.ac.id
HAL : HAL : 11
PBO Lanjutan
Membuat Kelas
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
HAL : HAL : 22
• 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
Konsep Kelas/Class
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
HAL : HAL : 33
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
Membuat Kelas/Class
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
HAL : HAL : 44
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).
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
HAL : HAL : 55
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
HAL : HAL : 66
//Nama file : Segitiga.javapublic 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)
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
HAL : HAL : 77
//Nama file : class1.javapublic 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());}
}
Ini adalah class tempat dibentuknya obyek berbentuk Segitiga (aplikasinya)
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
HAL : HAL : 88
Hasilnya :
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
HAL : HAL : 99
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; }
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
HAL : HAL : 1010
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)
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
HAL : HAL : 1111
Contoh Program
//Nama file : class3.javaclass 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; }
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
HAL : HAL : 1212
public int tampilAlas(){
return alas;}
public int tampilTinggi(){
return tinggi;}
public double HitungLuas(){
return 0.5 * (double) (alas * tinggi);}
}
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
HAL : HAL : 1313
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());}
}
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
HAL : HAL : 1414
Hasilnya :
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
HAL : HAL : 1515
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
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
HAL : HAL : 1616
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 :
FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR
HAL : HAL : 1717
Hasilnya :