Class Diagram (2/2) CLASS & OBJECT DALAM JAVA (IS1313) Ir. Roedi Goernida, MT. (roedig@yahoo.com) 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; 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. private String nama; private int NIM; public String getnama(){ Hand-out: Tipe Data IS1313-02 Hal. 9 / 20 Deklarasi Method Tipe Method (2/4) Method terbagi atas: void tidak mengembalikan nilai non-void mengembalikan nilai Nilai dapat berupa konstanta atau variable. Nilai tertentu yang akan dikembalikan harus ada statement return. Mutator Methods nilai variable (instance & static) pada class dapat diubah oleh objek lain private String nama; private int NIM; public void setnama(string temp){ name = temp; Hand-out: Tipe Data IS1313-02 Hal. 7 / 20 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) Static Method mengakses static variables private static int HitungMhs; public static int gethitungmhs(){ return HitungMhs; 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. Contoh: import hargamobil.hargahonda; import hargamobil.hargatoyota; public class HargaMobil { hargahonda objecthonda = new hargahonda(); objecthonda.info(); hargatoyota objecttoyota = new hargatoyota(); objecttoyota.info(); Hand-out: Tipe Data IS1313-02 Hal. 12 / 20 Hand-out: Tipe Data IS1313-02 Hal. 15 / 20 Access Control (2/5) //File: hargahonda.java public class hargahonda { 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 public class hargatoyota { 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 IS1313-02 Hal. 16 / 20 Deklarasi Konstruktor (2/2) Access Control (3/5) 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; public. class member dapat diakses dari dalam maupun luar class. Objek apapun yang memiliki interaksi pada class memiliki akses penuh terhadap member dari tipe ini. public int nama; public String getnama(){ Hand-out: Tipe Data IS1313-02 Hal. 14 / 20 Hand-out: Tipe Data IS1313-02 Hal. 17 / 20
Access Control (4/5) private. pengaksesan class hanya dapat diakses oleh class dimana tipe ini dibuat private int nama; private String getnama(){ Selesai 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 protected int nama; protected String getnama(){ //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() {; public String getprodi() {; return prodi; class TesMhs { 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()); Hand-out: Tipe Data IS1313-02 Hal. 19 / 20 //file: HargaMobil.java import hargamobil.hargahonda; import hargamobil.hargatoyota; import hargamobil.harganissan; public class HargaMobil { hargahonda objecthonda = new hargahonda(); objecthonda.info(); harganissan objectnissan = new harganissan(); objectnissan.info(); hargatoyota objecttoyota = new hargatoyota(); objecttoyota.info(); //file: hargahonda.java public class hargahonda { 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 public class harganissan { 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 public class hargatoyota { 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,-");