Class Diagram (2/2)
CLASS & OBJECT DALAM JAVA
public class mobil { String merek, negara; public void set Jenis(String tipe) { if (merek == “Honda”) jenis = “Jepang”; } public int ambilCc() { if (merek == “Honda”) return 2000; } }
(IS1313)
Ir. Roedi Goernida, MT. (
[email protected])
Program Studi Sistem Informasi – Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung 2011
Hand-out: Tipe Data
IS1313 - 02
Hal. 3 / 20
Pengertian Class & Object
●
●
●
● ● ●
Class merupakan tempat / template untuk membuat suatu objek Di dalam class dideklarasikan variable & method yang dimiliki oleh objek Proses pembuatan objek dari sebuah class → instantiation Objek → hasil instansiasi dari class → instance Class terdiri dari atribut/field dan method. Tiap anggota class memiliki kendali akses tersendiri .
Hand-out: Tipe Data
IS1313 - 02
Hal. 1 / 20
Deklarasi Atribut
●
Instance Variable Jika menginginkan atribut-atribut tersebut adalah unik untuk setiap object.
●
Class Variable / Static Variable Nilai pada variabel ini sama pada semua objek di class yang sama
Hand-out: Tipe Data
IS1313 - 02
Hal. 5 / 20
Tipe Method (1/4)
➢
Accessor Methods → nilai variable (instance & static) pada class dapat dibaca oleh objek lain. public class DataMhs { private String nama; private int NIM; .............. .............. public String getNama(){ return nama; } }
Hand-out: Tipe Data
Deklarasi Method
●
➢
●
Nilai dapat berupa konstanta atau variable.
●
Nilai tertentu yang akan dikembalikan harus ada statement “return”.
IS1313 - 02
Hal. 9 / 20
Tipe Method (2/4)
Method terbagi atas: ➢ void → tidak mengembalikan nilai ➢ non-Void → mengembalikan nilai
Hand-out: Tipe Data
IS1313 - 02
Hal. 7 / 20
Mutator Methods → nilai variable (instance & static) pada class dapat diubah oleh objek lain public class DataMhs { private String nama; private int NIM; .............. .............. public void setNama(String temp){ name = temp; } }
Hand-out: Tipe Data
IS1313 - 02
Hal. 10 / 20
Tipe Method (3/4)
➢
Multiple Return Statements → dapat mempunyai banyak return values pada sebuah method selama mereka tidak pada blok program yang sama public String getAngka( int num ){ String defaultNum = "zero"; if( num == 1 ){ return "one"; } else if ( num == 2){ return "two"; } return defaultNum; }
Hand-out: Tipe Data
IS1313 - 02
Hal. 11 / 20
Tipe Method (4/4)
Access Control (1/5) package.
➢
●
Digunakan untuk pengelompokkan kelas-kelas yang berkaitan menjadi satu unit tunggal.
●
hanya class dalam package yang sama yang memiliki hak akses terhadap variabel dan methods dalam class.
●
Kelas dari package lain dapat dipergunakan dengan pernyataan import.
Static Method → mengakses static variables public class DataMhs { private static int HitungMhs; public static int getHitungMhs(){ return HitungMhs; } }
Hand-out: Tipe Data
IS1313 - 02
Hal. 12 / 20
Contoh:
Hand-out: Tipe Data
import hargamobil.hargahonda; import hargamobil.hargatoyota; public class HargaMobil { public static void main(String [] args) { hargahonda objectHonda = new hargahonda(); objectHonda.info(); hargatoyota objectToyota = new hargatoyota(); objectToyota.info(); } } IS1313 - 02
Hal. 15 / 20
Access Control (2/5) //File: hargaHonda.java package hargamobil; public class hargahonda { public void info() { System.out.println(">>> DAFTAR HARGA MOBIL BARU 2011 <<<"); System.out.println("------------------------------------"); System.out.println("Harga Mobil Honda"); System.out.println("Honda Jazz Rp. 100.000.000,-"); System.out.println("Honda City Rp. 125.000.000,-"); System.out.println("Honda CRV Rp. 150.000.000,-"); } } //File: hargaToyota.java package hargamobil; public class hargatoyota { public void info() { System.out.println("\nHarga Mobil Toyota"); System.out.println("Toyota Rush Rp. 105.000.000,-"); System.out.println("Toyota Innova Rp. 130.000.000,-"); System.out.println("Toyota Altis Rp. 160.000.000,-"); } } Hand-out: Tipe Data
Deklarasi Konstruktor (2/2)
Hal. 16 / 20
Access Control (3/5) public.
public DataMhs(){ }
●
public DataMhs(String temp){ this.nama = temp; }
●
public DataMhs(String nama, String alamat){ this.nama = nama; this.alamat = alamat; } public DataMhs(double qNilai, double tNilai, double aNilai){ quizNilai = qNilai; utsNilai = uNilai; uasNilai = aNilai; }
Hand-out: Tipe Data
IS1313 - 02
IS1313 - 02
Hal. 14 / 20
class member dapat diakses dari dalam maupun luar class. Objek apapun yang memiliki interaksi pada class memiliki akses penuh terhadap member dari tipe ini.
Contoh:
Hand-out: Tipe Data
public class DataMhs { public int nama; public String getNama(){ return nama; } } IS1313 - 02
Hal. 17 / 20
Access Control (4/5) private. pengaksesan class hanya dapat diakses oleh class dimana tipe ini dibuat
Contoh:
Hand-out: Tipe Data
IS1313 - 02
Hal. 18 / 20
Access Control (5/5) protected. hanya mengijinkan class member untuk diakses oleh method dalam class tersebut dan elemen – elemen subclass
Contoh:
Hand-out: Tipe Data
Selesai
public class DataMhs { private int nama; private String getNama(){ return nama; } }
public class DataMhs { protected int nama; protected String getNama(){ return nama; } }
IS1313 - 02
//file: Mhs.java public class Mhs { public int NIM; public String nama, prodi; public Mhs(int i, String n, String p) { this.NIM=i; this.nama=n; this.prodi=p; } public int getNIM() {; return NIM; } public String getNama() {; return nama; } public String getProdi() {; return prodi; } } class TesMhs { public static void main(String [] args) { Mhs siswa = new Mhs(116120001,"Fauzi Rulandi","Sistem Informasi"); System.out.println("NIM = " + siswa.getNIM()); System.out.println("Nama = " + siswa.getNama()); System.out.println("Prodi = " + siswa.getProdi()); } }
Hal. 19 / 20
//file: HargaMobil.java import hargamobil.hargahonda; import hargamobil.hargatoyota; import hargamobil.harganissan; public class HargaMobil { public static void main(String [] args) { hargahonda objectHonda = new hargahonda(); objectHonda.info(); harganissan objectNissan = new harganissan(); objectNissan.info(); hargatoyota objectToyota = new hargatoyota(); objectToyota.info(); } } //file: hargaHonda.java package hargamobil; public class hargahonda { public void info() { System.out.println(">>>>> DAFTAR HARGA MOBIL BARU 2011 <<<<<"); System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); System.out.println("Harga Mobil Honda"); System.out.println("Honda Jazz Rp. 100.000.000,-"); System.out.println("Honda City Rp. 125.000.000,-"); System.out.println("Honda CRV Rp. 150.000.000,-"); } }
//file: hargaNissan.java package hargamobil; public class harganissan { public void info() { System.out.println("\nHarga Mobil Nissan"); System.out.println("Nissan Livina Rp. 115.000.000,-"); System.out.println("Nissan X-Trail Rp. 135.000.000,-"); System.out.println("Nissan Serena Rp. 180.000.000,-"); } }
//file: hargaToyota.java package hargamobil; public class hargatoyota { public void info() { System.out.println("\nHarga Mobil Toyota"); System.out.println("Toyota Rush Rp. 105.000.000,-"); System.out.println("Toyota Innova Rp. 130.000.000,-"); System.out.println("Toyota Altis Rp. 160.000.000,-"); } }