pbo lanjutan

17
UNIVERSITAS UNIVERSITAS BUDI LUHUR BUDI LUHUR FAKULTAS FAKULTAS TEKNOLOGI INFORMASI TEKNOLOGI INFORMASI www.bl.ac.id www.bl.ac.id HAL : HAL : 1 PBO Lanjutan Membuat Kelas

Upload: katy

Post on 23-Jan-2016

101 views

Category:

Documents


2 download

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 Presentation

TRANSCRIPT

Page 1: PBO Lanjutan

UNIVERSITAS UNIVERSITAS BUDI LUHURBUDI LUHUR

FAKULTAS FAKULTAS TEKNOLOGI TEKNOLOGI INFORMASIINFORMASI

www.bl.ac.idwww.bl.ac.id

HAL : HAL : 11

PBO Lanjutan

Membuat Kelas

Page 2: PBO Lanjutan

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

Page 3: PBO Lanjutan

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

Page 4: PBO Lanjutan

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).

Page 5: PBO Lanjutan

FAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHURFAKULTAS TEKNOLOGI INFORMASI - UNIVERSITAS BUDI LUHUR

HAL : HAL : 55

Page 6: PBO Lanjutan

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)

Page 7: PBO Lanjutan

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)

Page 8: PBO Lanjutan

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 :

Page 9: PBO Lanjutan

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; }

Page 10: PBO Lanjutan

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)

Page 11: PBO Lanjutan

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; }

Page 12: PBO Lanjutan

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);}

}

Page 13: PBO Lanjutan

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());}

}

Page 14: PBO Lanjutan

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 :

Page 15: PBO Lanjutan

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

Page 16: PBO Lanjutan

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 :

Page 17: PBO Lanjutan

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 :