Langsung ke konten utama

Belajar Java OOP: Memahami Konsep Dasar OOP (untuk Pemula)

Belajar Java OOP: Memahami Konsep Dasar OOP (untuk Pemula)


 
Belajar Java OOP
OOP merupakan hal yang harus dipelajari untuk memahami Java lebih dalam. Karena Java sendiri merupakan bahasa yang didesain untuk OOP.
Buktinya:
Saat kita membuat program pertama, kita diwajibkan menggunakan class.
class Hello {
    public static void main(String[] args){
        System.out.println("Hello World!");
    }
}
OOP dikenal sebagai teknik pemrograman modern yang lebih efisien dan banyak digunakan pada Framework.
Jika kamu ingin memahami Framework, pelajari dulu konsep OOP
Jadi tidak ada alasan untuk tidak belajar OOP.
Apa saja yang akan kita pelajari pada artikel ini?
  1. Mengapa Harus Belajar OOP?
  2. Apa itu OOP?
  3. Objek dan Class
  4. Class Diagram
Mari kita mulai…

Mengapa Sih Harus Belajar OOP?

Mengapa sih OOP itu penting?
Bukannya kita bisa bikin program dengan prosedural saja?
Ya memang bisa…
Tapi masalahnya nanti kalau programnya sudah semakin besar dan kompleks.
Kode program akan sulit di-maintenance.
Pada pemrograman prosedural, kita biasanya memecah program menjadi beberapa prosedur.
Lalu membuat variabel global dan lokal untuk menyimpan data.
Program Prosedural
Semakin besar programnya, semakin banyak pula variabel dan prosedur yang harus dibuat.
Lama-kelamaan, kode program akan sulit dimodifikasi.. karena sudah terlalu kompleks.
Di sinilah kita harus menggunakan OOP.
Jadi..

Apa itu OOP?

OOP (Object Oriented Programming) atau dalam bahasa indonesia dikenal dengan pemrograman berorientasikan objek (PBO) merupakan sebuah paradigma atau teknik pemrograman yang berorientesikan Objek.
Pada OOP, Fungsi dan variabel dibungkus dalam sebuah objek atau class yang dapat saling brinteraksi, sehingga membentuk sebuah program.
Objek
Dengan demikian, tidak akan ada lagi kode yang “berantakan.”
Semua akan kita bungkus dalam objek.
Tapi sebelum membuat objek, kita harus membuat class dulu…

Class dan Object

Class sebenarnya bertugas untuk mengumpulkan prosedur/fungsi dan variabel dalam satu tempat.
Contoh:
Kita ingin membuat game sederhana, di dalamnya ada kucing dan makanan.
Class dalam OOP
Dengan class, kita bisa menentukan.. mana variabel dan prosedur untuk kucing dan makanan.
Class ini nanti yang akan kita pakai untuk membuat objek.
Jadi…
Class adalah rancangan atau blue print dari sebuah objek.
Sedangkan objek adalah sebuah variabel yang merupakan instance atau perwujudan dari Class.
Instance bisa diartikan sebagai wujud dari class.
Class berisi definisi variabel dan fungsi yang menggambarkan sebuah objek.
Dalam OOP:
  • Variabel disebut atribut atau properti;
  • Fungsi disebut method.
Contoh Class:
class NamaClass {
    String atribut1;
    String atribut2;

    void namaMethod(){ ... }
    void namaMethodLain(){ ... }
}
Lalu, Kita biasanya membuat objek (instance) seperti ini:
NamaClass namaObj = new NamaClass();
Kata kunci new berfungsi untuk membuat objek baru dari class tertentu.
Setelah membuat objek, kita bisa mengakses atribut dan method dari objek tersebut.
Contoh:
namaObj.namaMethod();
namaObj.atribut1;
Tanda titik (.) berfungsi untuk mengakses atribut dan method.

Contoh Program OOP

Kita akan menggunakan Netbeans, silahkan buat project baru.
Memilih project Java
Isi nama project-nya dengan “BelajarOOP” dan jangan centang “Create Main Class”.
Memberikan nama project Java
Setelah itu, silahkan buat package baru. Klik kanan pada <default package>, lalu pilih New->Java Package.
Membuat package Java
Isi nama package dengan “dasar”:
Membuat package Java
Setelah itu, di dalam package dasar, silahkan buat class baru bernama Player.java.
Klik kanan pada package dasar lalu pilih New->Java Class. Setelah itu, isi namanya dengan Player.java.
Silahkan tulis kode pada Player.java seperti ini:
package dasar;

public class Player {
    
    // definisi atribut
    String name;
    int speed;
    int healthPoin;

    // definisi method run
    void run(){
        System.out.println(name +" is running...");
        System.out.println("Speed: "+ speed);
    }

    // definisi method isDead untuk mengecek nilai kesehatan (healthPoin)
    boolean isDead(){
        if(healthPoin <= 0) return true;
        return false;
    }
    
}
Berikutnya, buat class baru lagi bernama Game.java dan isi kodenya seperti ini:
package dasar;

public class Game {
    public static void main(String[] args){

        // membuat objek player
        Player petani = new Player();

        // mengisi atribut player
        petani.name = "Petani Kode";
        petani.speed = 78;
        petani.healthPoin = 100;

        // menjalankan method
        petani.run();

        if(petani.isDead()){
            System.out.println("Game Over!");
        }

    }
}
Coba eksekusi Game.java dengan klik kanan pada Game.java lalu pilih Run File. Maka hasilnya:
Contoh Program OOP Java
Coba ganti nilai healthPoin menjadi 0.
petani.healthPoin = 0;
Setelah itu, coba eksekusi lagi:
Output program
Player petani sudah mati, Game selsai! 😄

Kok Bisa Begitu? Jelaskan Donk!

Baik, kita mulai dari pembuatan class.
Pertama-tama, kita membuat sebuah class dengan nama Player. Class ini mendefinisikan objek Player dalam Game dengan atribut sebagai berikut:
  • name adalah nama objek;
  • speed adalah kecepatan;
  • healthPoin adalah nilai kesehatan dari player, biasanya disingkat hp.
Lalu class Player memiliki method:
  • run() untuk menggerakkan player;
  • isDead() untuk mengecek kondisi kesehatan player. Method ini akan mengembalikan nilai true apabila nilai hp lebih kecil atau sama dengan nol (0), sebaliknya akan mengembalikan nilai false.
Berikutnya kita membuat objek baru dari class Player pada class Game bernama petani.
// membuat objek player
Player petani = new Player();
Setelah itu mengisi atribut-atributny. Karena kalau tidak diisi akan bernilai Null dan bisa menyebabkan NullPointerException.
Objek Petani
Berikutnya kita coba modifikasi nilai hp menjadi nol.
Hasilnya, pesan Game Over! akan ditampilkan. Karena method isDead() akan mengembalikan nilai true jika nilai hp kurang atau sama dengan nol.
Objek Petani

Contoh Program OOP 2: Program Drone

Untuk praktek berikutnya, coba buat class Drone.
class Drone {
    // atribut
    int energi;
    int ketinggian;
    int kecepatan;
    String merek;

    // method
    void terbang(){
        energi--;
        if(energi > 10){
            // terbang berarti nilai ketinggian bertambah
            ketinggian++;
            System.out.println("Dorne terbang...");
        } else {
            System.out.println("Energi lemah: Drone nggak bisa terbang");
        }
    }

    void matikanMesin(){
        if(ketinggian > 0){
            System.out.println("Mesin tidak bisa dimatikan karena sedang terbang");
        } else {
            System.out.println("Mesin dimatikan...");
        }
    }

    void turun(){
        // ketinggian berkurang, karena turun
        ketinggian--;
        energi--;
        System.out.println("Drone turun");
    }

    void belok(){
        energi--;
        System.out.println("Drone belok");
        // belok ke mana? perlu dicek :)
    }

    void maju(){
        energi--;
        System.out.println("Drone maju ke depan");
        kecepatan++;
    }

    void mundur(){
        energi--;
        System.out.println("Drone mundur");
        kecepatan++;
    }
}

Bagaimana Menentukan Atribut dan Method dari Objek?

Seperti yang sudah dijelaskan di awal. Objek memiliki data (atribut) dan operasi (fungsi).
Kuncinya:
  • Atribut itu seperti ciri-ciri dari objek.
  • Method itu seperti tingkah laku atau operasi.
Contoh:
Misalkan kita ingin membuat class dari Senjata.
Apa ciri-ciri dari senjata atau data yang bisa dijadikan atribut?
  • jumlah peluru
  • jenis
  • nama senjata
  • berat
  • warna
  • dll
Lalu apa tingkah laku atau operasi (fungsi) yang bisa dilakukan?
  • tembak()
  • lempar()
  • kurangiPeluru()
  • reload()
  • dll.
Objek Senjata
Maka class-nya bisa dibuat seperti ini:
class Senjata {
    // atribut
    String nama;
    int jumlahPeluru;
    
    // method
    void tembak(){
        //..
        // setelah nembak, kurangi peluru
        jumlahPeluru--;
    }

    void reload(){
        //..
        // kalau di-reload maka jumlah peluru diisi ulang
        jumlahPeluru = 300;
    }
}
Mudah bukan…

Mengenal Class Diagram

Class Diagram adalah sebuah diagram yang menggambarkan hubungan antar classClass Diagram dapat kita buat dengan aplikasi perancangan (CASE), seperti StarUML.
Class diagram di StarUML
Sebauh class digambarkan dengan sebuah tabel 1 kolom dan 3 baris.
Baris pertama berisi nama class; Baris kedua berisi atribut; dan Baris ketiga berisi method.
Class diagram di StarUML
Selain itu, terdapat garis yang menggambarkan hubungan antar class.
Relasi diagram di StarUML
Class Diagram biasanya digunakan oleh software engineer untuk merancang software dengan paradigma OOP.
Sebagai programmer, kita hanya perlu tahu cara membaca dan menuliskannya ke dalam kode.
Jika kamu tertarik dengan class diagram, bisa membaca buku-buku tentang UML.

Akhir Kata…

Buat yang baru pertama belajar OOP, mungkin akan merasa kesulitan. Karena banyak hal baru yang belum dipahami.
Namun tenang saja…
Itu adalah proses belajar.
Silahkan banyak-banyak latihan dan pahami hakikat dari class, atribut, method, dll.
Selamat belajar.

Komentar

Postingan populer dari blog ini

PROSEDUR PEMBUATAN INDIKATOR

PROSEDUR PEMBUATAN INDIKATOR 1. EBT (ERIOCROM BLACK T) Timbang 100 mg serbuk zat warna EBT ,10 gram Kristal NaCl atau Kristal Na2SO4 an hidrat. Kedua zat tersebut dicampur dengan cara menggerus didalam mortar sampai halus dan merata. Penggunaannya 100 mg (seujung spatel ) untuk satu kali titrasi. 2. Merah metil Larutkan 25 mg metil P dengan 0,95 ml larutan Natrium hidroksida 0,05 N dan 5 ml etanol 95 % setelah larut sempurna, tambahkan etanol 50 % secukupnya hingga 250,0 ml 3. Jingga metil Larutkan jingga metil P 0,04 % b/v dalam etanol 20 % 4. BTB Larutkan 100 mg biru brom timol P dengan 3,2 ml Natrium Hidroksida 0,05 N dan 5 ml etanol 90 % ,setelah larut sempurna tambahkan etanol 20 % secukupnya hingga 250,0 ml. 5. MUREXIDE Haluskan 100 mg serbuk murexide dengan 10 gram KNO3 atau 10 gram NaCl . Pada pemakaiannya 100 gram serbuk murexide tiap volume 150 sampai 200 ml. 6. Larutan indicator Fenolftalein 0,035 %. Timbang ± 0,035 gram Fenolftalein ,lar

LARUTAN PADA KIMIA ANALITIK KUANTITATIF

LARUTAN PADA KIMIA ANALITIK KUANTITATIF 1.        LARUTAN NaOH 0,1  N                 4 gram NaOH dalam 1 Liter 2.        LARUTAN HCl 0,1 N HCl pekat = 37% HCl pekat = 12 M = 12 N                 8,33 mL HCl pekat = 1 Liter 0,1 N 3.        LARUTAN H 2 SO 4 0,1 N H 2 SO 4 pekat = 96 % H 2 SO 4 pekat = 17,63 M = 18 M = 36 N        2,78 mL H 2 SO 4 pekat = 1 liter 0,1 N 4.        LARUTAN CH 3 COOH 0,1 N CH 3 COOH pekat = 99,5 % CH 3 COOH pekat = 17 M = 17 N        5,88 mL CH 3 COOHpekat = 1 liter 0,1 N 5.        LARUTAN Na 2 S 2 O 3 0,1 N             26 gram Na 2 S 2 O 3 dengan 0,2   g Na 2 CO 3 dilarutkan dalam air bebas CO 2 segar sampai volume 1000 ml 6.        LARUTAN KIO 3 0,1 N             3 , 5 g KIO 3 encerkan dengan air hingga 1000 m L 7.        LARUTAN KMnO 4 0,1 N      3,3 gram Kalium Permanganat P adat dilarutkan dalan air hingga 1000 ml 8.        LARUTAN IODIUM (I 2 ) 0,1 N 12,69 gram I 2 P adat ke dalam la

C++ #03 Mengenal Fungsi Input dan Output

Belajar C++ #03: Mengenal Fungsi Input dan Output pada C++ #  C++ Pada dasarnya, program komputer hanya terdiri dari tiga bagian: Input  adalah sesuatu data yang kita masukan ke dalam program. Input biasanya diambil dari perangakat inputan seperti keyboard, mouse, kamera, microphone, dll. Proses  adalah langkah-langkah yang harus dilakukan program untuk menghasilkan output. Output  adalah informasi yang dihasilkan setelah dilakukan proses. Output biasanya ditampilkan ke layar komputer. Pada bahasa pemrograman C++, terdapat beberapa fungsi dasar untuk menampilkan output dan mengambil input. Apa saja itu? Mari kita bahas… Fungsi Output pada C++ C++ memiliki empat fungsi dasar untuk menampilkan output: cout  untuk menampilkan teks ke layar; cerr  untuk menampilkan error; clog  untuk menampilkan log; printf()  untuk menampilkan output, fungsi ini dari C; Kita akan fokus memabahas yang dua saja, yakni  cout  dan  printf() . Soalnya  cerr  dan  clog