Diberdayakan oleh Blogger.
Home » » java chap3

java chap3

Written By Tim Editor on Sabtu, 19 Desember 2015 | 18.56

 

Class dan Object

OOP (Object Oriented Programming)

OOP adalah teknik pemrograman dengan mengkonversi kasus dalam dunia nyata menjadi object-object dalam program. Dengan demikian, diperlukan kemampuan untuk mengenali hal apa saja yang dapat dijadikan object dengan atribut dan kemampuannya. Untuk dapat menghasilkan object dalam pemrograman java, dibutuhkan class. Jadi Class adalah generator dari Object. Dari Class akan tercipta Object

CLASS

Class adalah cetak biru bagi object. Dengan membuat class, seorang programmer kemudian dapat menciptakan object. Dari sebuah class, dapat diciptakan object sebanyak mungkin. Semua object yang tercipta dari class tersebut memiliki karakteristik yang sama, namun dengan nilai yang berbeda.

Format Class

class namaClass { 
   tipe_data nama_property; 

   identifier tipe_data_kembali nama_method(tipe_data parameter) { 
 isi_method; 
   } 
} 

keyword class untuk menyatakan bahwa kita akan membuat sebuah class baru. namaClass adalah nama dari class baru yang kita buat.

tipe_data adalah tipe data dari variabel yang kita ciptakan. Tipe data dapat berupa tipe data primitif ataupun class. nama_property adalah variabel yang kita gunakan untuk menampung data dari class.

identifier adalah jangkauan dari method. tipe_data_kembali adalah tipe data dari nilai yang dikembalikan setelah method ini selesai dikerjakan. Jika tipe data kembali di set sebagai void maka method ini tidak mengembalikan nilai. nama_method adalah nama dari method yang kita deklarasikan. tipe_data dalam kurung adalah tipe data dari parameter method ini. parameter adalah nilai yang dilewatkan ke dalam method ini supaya nilai tersebut dapat diproses.

isi_method adalah kumpulan kode program yang akan dikerjakan saat method ini dipanggil. Kode program dapat lebih dari 1 baris.

Ini adalah tanda tutup dari method.

Ini adalah tanda tutup dari class.

Ada 3 jenis identifier dalam java :
  • PUBLIC : method ini dapat dipanggil dari class manapun.
  • PROTECTED : method ini hanya dapat dipanggil dari class turunan dari class ini.
  • PRIVATE : method ini hanya dapat dipanggil dari class ini.

Contoh Class

class Karyawan { 
    int nik; 
    String namaKaryawan; 
    double gajiPokok; 
    double tunjangan; 

    public double hitungTotalGaji() { 
        double total; 

        total = gajiPokok + tunjangan; 
        return total; 
    }
}

Kita membuat sebuah class baru dengan nama Karyawan

Kita membuat sebuah variabel dengan nama nik yang bertipe integer. Variabel ini akan digunakan untuk menampung nomor induk karyawan.

Kita membuat sebuah variabel dengan nama namaKaryawan yang bertipe String. Variabel ini akan digunakan untuk menampung nama karyawan.

Kita membuat sebuah variabel dengan nama gajiPokok yang bertipe double. Variabel ini akan digunakan untuk menampung gaji pokok karyawan.

Kita membuat sebuah variabel dengan nama tunjangan yang bertipe double. Variabel ini akan digunakan untuk menampung tunjangan karyawan.

Kita mendeklarasikan sebuah method dengan identifier public. Nilai kembalian dari method ini bertipe data double. Nama method ini adalah hitungTotalGaji.

Kita mendeklarasikan sebuah variabel dengan nama total yang bertipe data double untuk menampung total gaji yang diterima karyawan bersangkutan.

Kita melakukan perhitungan total gaji karyawan, yaitu gaji pokok + tunjangan.

Hasil perhitungan total gaji dikembalikan kepada pemanggil method. Di baris ini terlihat jelas bahwa nilai kembalian method, yaitu double sama dengan tipe data variabel yang dikembalikan, yaitu double.

Salah satu patokan dasar dalam membuat class adalah :
Jadikan nilai yang terkandung dalam object yang kita bahas sebagai property dari class dan jadikan kemampuan (sesuatu hal yang dapat dilakukan oleh object tersebut) sebagai method.

OBJECT

Object adalah realisasi dari class. Seperti blueprint dari sebuah bangunan, blueprint tersebut hanya dapat digunakan kalau sudah direalisasikan menjadi sebuah bangunan. Class akan terlihat fungsinya kalau sudah dapat kita jadikan sebagai object. Object disebut sebagai #instance# dari class. Sesudah menjadi object, kita dapat mulai memasukkan nilai-nilai yang khusus untuk object bersangkutan.

Format Membuat Object

Untuk membuat sebuah object dari sebuah class, kita cukup menggunakan format berikut :
nama_class nama_object = new constructor(); 

nama_class adalah nama dari class yang akan kita gunakan sebagai blueprint untuk membuat object. nama_object adalah nama dari object yang akan kita ciptakan. new adalah keyword yang kita gunakan untuk membuat object baru. constructor() adalah method untuk membuat object baru. Biasanya nama constructor sama dengan nama class.
Sesudah mendapatkan object baru, kita dapat mulai memasukkan nilai ke dalam object tersebut dan mulai memanggil methodnya, jika diperlukan.

Contoh Membuat Object

Karyawan pegawai = new Karyawan();
Dengan perintah di atas, kita akan mendapatkan sebuah object bernama pegawai

Sebuah class tidak wajib harus memiliki property dan method. Kita dapat membuat sebuah class yang hanya berisi property saja atau sebuah class yang hanya berisi method saja.

Contoh penggunaan Class dan Object

Soal
Kita memiliki daftar menu sebuah restoran seperti tabel berikut :
Kode Menu Harga
101
Nasi Goreng
12.000
102
Kwetiaw Siram
15.000
103
Mie Rebus
10.000
104
Tempe Goreng
8.000
Buatlah sebuah aplikasi dengan menggunakan pendekatan secara OOP untuk menampung semua menu tersebut. Kemudian minta pengguna untuk memasukkan kode menu yang dipilih dan cetak menu pilihan tersebut.
Solusi
Dari contoh kasus di atas, terlihat bahwa ada 4 jenis menu dalam restoran tersebut. Menu-menu yang tersedia di restoran tersebut berbeda-beda. Meskipun menunya berbeda, namun ada persamaan struktur. Semua menu yang ada memiliki kode menu, nama menu, dan harga. Dengan demikian, semua menu tersebut dapat dibuatkan 1 buah blueprint yang sama, yang kemudian dapat menghasilkan 4 buah object menu yang berbeda. Berdasarkan dari kode input pengguna, kita dapat memilih menu mana yang dipilih oleh pengguna, kemudian menampilkan isi dari menu tersebut.
Berikut adalah source code untuk membuat class MenuMakanan.
package restoran;

class MenuMakanan {
    int kodeMenu;
    String namaMenu;
    double harga;
}
Sesudah kita membuat class untuk menu makanan, maka kita dapat menggunakan class tersebut untuk menciptakan 4 jenis menu sesuai dengan daftar menu yang ada direstoran tersebut. Sesudah mendapatkan 4 jenis menu, kita kemudian meminta pengguna untuk memasukkan kode menu pilihannya. Berdasarkan kode pilihan pengguna, kita akan mencetak nama menu beserta harga menu tersebut.
package restoran;

public class Restoran {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int kodePilihan;
        MenuMakanan menuPilihan=null;

        MenuMakanan menu1 = new MenuMakanan();
        menu1.kodeMenu=101;
        menu1.namaMenu="Nasi Goreng";
        menu1.harga=12000;

        MenuMakanan menu2 = new MenuMakanan();
        menu2.kodeMenu=102;
        menu2.namaMenu="Kwetiaw Goreng";
        menu2.harga=15000;

        MenuMakanan menu3 = new MenuMakanan();
        menu3.kodeMenu=103;
        menu3.namaMenu="Mie Rebus";
        menu3.harga=10000;

        MenuMakanan menu4 = new MenuMakanan();
        menu4.kodeMenu=104;
        menu4.namaMenu="Tempe Goreng";
        menu4.harga=8000;

        System.out.print("Masukkan kode pilihan : ");
        kodePilihan=input.nextInt();
        switch(kodePilihan){
         case 101:
          menuPilihan=menu1;
          break;
         case 102:
          menuPilihan=menu2;
          break;
         case 103:
          menuPilihan=menu3;
          break;
         case 104:
          menuPilihan=menu4;
          break;
        }
        System.out.println("Menu terpilih");
        System.out.println("=============");
        System.out.println("Kode : " + menuPilihan.kodeMenu);
        System.out.println("Nama : " + menuPilihan.namaMenu);
        System.out.println("Harga : " + menuPilihan.harga);
    }
}

0 komentar:

Posting Komentar