Tuesday, March 31, 2015

Kenapa kita harus membuat kelas di java?



tempo hari TS mengikuti kelas pemrograman dan beruntungnya kelas pemrograman tersebut membahas tentang java , trainer kelas tersebut sebenarnya mengerti apa definisi Kelas sebenarnya , tetapi sang trainer sangat sulit menjelaskan kepada mahasiswanya. kali ini Saya akan menjelaskan sedikit pengetahuan saya mengenai Kelas di Java.


Saat pertama belajar java , TS pernah berfikir
kok bahasa pemrograman ini ribet bgt pake kelas kelas segala
ternyata pertanyaan saya cukup membuat saya terlihat bodoh,  karna seharusnya "Kelas" itulah yg menjadi  fitur utama bahasa java, dan banyak orang memilih java karna memiliki fitur yg tidak dimiliki bahasa pemrograman lain.
dengan adanya kelas, kita bisa mensederhanakan sejumlah kode kode yg tidak harus di tulis berkali kali dan dengan adanya kelas juga kita dapat meminimalsirkan pendeklarasian Variabel sehingga dapat menghemat size dari program yg kita buat.


Kelas Itu Apa sih ?

kelas adalah suatu prototype sekumpulan script yg saling berintegrasi terhadap kelas lainnya , dan kelas wajib memiliki objek. Apa itu Objek ? saya tidak akan menjelaskan mengenai objek pada post kali ini jika anda ingin mengetahui apa itu objek silahkan klik Disini.
saya analogikan seperti ini:

Objek merupakan hasil dari sebuah kelas, jika diibaratkan Objek adalah kue,maka kelas adalah cetakan kuenya, dimana kue dibuat menggunakan cetakan tersebut. Dan sebuah cetakan kue dapat membuat beberapa kue, artinya sebuah  kelas  dapa t   membua t   beberapa  object


oke balik ke topik ya

Kenapa kita harus membuat kelas?

Dalam kasus ini , program ini adalah program yg ber output sama hanya saja beda Metode. anggap saja anda sudah mengetahui tentang pendeklarasian kelas dan objek .
baiklah mari lihat kedua program yg sama di bawah ini:

  • Program 1 memakai kelas:


public class mahasiswa {
    public String Nama, Alamat; //attribut di kelas mahasiswa
    public int Nim, Semester;  //attribut di kelas mahasiswa
    
    public void setNama(String nama)
    {
        this.Nama = nama;
    }
    
    public String tampilNama()
    {
        return Nama;
    }
    
    public void setNim(int nim)
    {
        this.Nim = nim;
    }
    
    public int tampilNim()
    {
        return Nim;
    }
    
    public void setAlamat(String alamat)
    {
        this.Alamat = alamat;
    }
    
    public String tampilAlamat()
    {
        return Alamat;
    }
    
    public void setSemester(int semester)
    {
        this.Semester = semester;
    }
    
    public int tampilSemester()
    {
        return Semester;
    }
    
    public void tampilAll()
    {
        System.out.println("=================================");
        System.out.println("NIM: " + tampilNim());
        System.out.println("Nama: " + tampilNama());
        System.out.println("Alamat: " + tampilAlamat());
        System.out.println("Semester: " + tampilSemester());
        System.out.println("=================================");
    }
    
}



public class MainMahasiswa {
    public static void main(String[] args) {
      mahasiswa junior = new mahasiswa(); //membuat objek junior di kelas mahasiswa
     
      //mengisi nilai ke dalam objek memakai method di kelas mahasiswa
      junior.setNama("Ucok");
      junior.setNim(1234);
      junior.setAlamat("Jl.hj boong");
      junior.setSemester(1);
      junior.tampilAll(); //method yg menampilkan semua data dari attribut di kelas mahasiswa
      
      mahasiswa senior = new mahasiswa(); //membuat objek senior di dalam mahasiswa
      
      //mengisi nilai ke dalam objek memakai method di kelas mahasiswa
      senior.setNama("Mukrom");
      senior.setNim(4321);
      senior.setAlamat("jl.Jamblang");
      senior.setSemester(6);
      senior.tampilAll(); //method yg menampilkan semua data dari attribut di kelas mahasiswa
      
      mahasiswa junior2 = new mahasiswa(); //membuat objek junior2 di dalam mahasiswa

      //mengisi nilai ke dalam objek memakai method di kelas mahasiswa
      junior2.setNim(1324);
      junior2.setNama("Joko");
      junior2.setAlamat("Jl. Dukuh");
      junior2.setSemester(1);
      junior2.tampilAll(); //method yg menampilkan semua data dari attribut di kelas mahasiswa
      
    }
}

bisa dilihat dari program di atas. penggunaan Kelas cukup membantu dalam menulis program , sehingga memudahkan kita meminimalisir kode program yg berulang ulang di tulis. tetapi dengan menggunakan kelas , bisa lebih mudah. Point penting dalam OOP (Oriented Object Programming) itu ada 4:

  1. 1.Correctness (benar)
  2. 2.Readability  (Mudah di pahami)
  3. 3.Maintainabilty (mudah di maintain maksudnya mudah untuk memodifikasi attribut&variabel apabila ada request dr user)
  4. 4.Performance (performa)
tetapi point ke 4 menjadi urusan belakangan setelah ke 3 point sudah Benar

  •  Contoh Program 2 Tidak Memakai Kelas:

public class MainMahasiswa {
    public static void main(String[] args) {
     String mahasiswa1,mahasiswa2, mahasiswa3, alamat1, alamat2, alamat3;
     int nim1, nim2, nim3, semester1, semester2, semester3;
     
     //memasukan nilai ke mahasiswa1 (asumsikan bahwa mahasiswa junior)
     mahasiswa1 = "Ucok";
     nim1 = 1234;
     alamat1 = "Jl.hj boong";
     semester1 = 1;
     
      //menampilkan variabel
      System.out.println("=================================");
      System.out.println("NIM: " + nim1);
      System.out.println("Nama: " + mahasiswa1);
      System.out.println("Alamat: " + alamat1);
      System.out.println("Semester: " + semester1);
      System.out.println("=================================");
      
     //memasukan nilai ke mahasiswa2 (asumsikan bahwa mahasiswa senior)
     mahasiswa2 = "Mukrom";
     nim2 = 4321;
     alamat2 = "jl.Jamblang";
     semester2 = 6;
     
       //menampilkan variabel
       System.out.println("=================================");
       System.out.println("NIM: " + nim2);
       System.out.println("Nama: " + mahasiswa2);
       System.out.println("Alamat: " + alamat2);
       System.out.println("Semester: " + semester2);
       System.out.println("=================================");
      
     //memasukan nilai ke mahasiswa3 (asumsikan bahwa mahasiswa junior2 
      mahasiswa3 = "Joko";
      nim3 = 1324;
      alamat3 = "Jl.Dukuh";
      semester3 = 1;

        //menampilkan variabel
        System.out.println("=================================");
        System.out.println("NIM: " + nim3);
        System.out.println("Nama: " + mahasiswa3);
        System.out.println("Alamat: " + alamat3);
        System.out.println("Semester: " + semester3);
        System.out.println("=================================");
      
    }
}

bisa dilihat perbedaan program di atas apabila di bandingkan dengan program yg memakai Kelas.
kita amati program di atas yg tidak memakai Kelas:

  • Terlalu banyak mendeklarasikan variabel
program yg sama tanpa menggunakan Kelas terlihat sangat banyak mendeklarasikan variabel sehingga membuat ukuran size program bertambah dan menambah lamanya waktu running program . contoh di atas hanya menggunakan beberapa variabel , nahh kalo variabelnya ratusan ? (goyang dumang itu jari) (nilai kurang untuk point performance)
  • Terlalu banyak penulisan kode yg sama (duplication)
program tidak menggunakan Kelas terlalu banyak menulis program yg sama. coba lihat pada baris program yg menampilkan variabel (yang ada "//menampilkan variabel"). lihat terdapat banyak duplikasi penulisan kode yg sama , hanya berbeda variabelnya. jika memakai Kelas kita tinggal membuat method menampilkan semua variabel (lihat di program 1 terdapat method tampilAll() ). nahh bagaimana kalo nampilin variabelnya 100x ? Kelas sangat berguna untuk menangani kasus seperti ini . (nilai kurang untuk point READABILITY)

  • Susah apabila ada penambahan data/variabel
tanpa menggunakan Kelas , akan sangat sulit untuk menambahkan maupun menghapus suatu data/variabel.
Jika kita ingin menambahkan variabel ipk di setiap tampilan mahasiswa di program 2 kita harus mendeklarasikan di awal : 
ipk1 untuk mahasiswa1, ipk2 untuk mahasiswa2 , dst
menampilkannya ke output: System.out.println("IPK: " + ipk1), System.out.println("IPK: " + ipk2), dst
akan sangat sulit untuk menambahkan suatu data ke program apabila tidak menggunakan Kelas.
jika anda menggunakan Kelas anda cukup menambahkan attribut ipk di dalam kelas mahasiswa:



 public class mahasiswa {
 public String Nama, Alamat;
 public int Nim, Semester;
 public int ipk // Attribut baru di dalam kelas mahasiswa

 public void setIpk(String ipk) //menambahkan method di kelas mahasiswa
{
    this.Ipk = ipk
}

 public int tampilIpk()   //menambahkan method di kelas mahasiswa
{
    return Ipk;
} 

 public void tampilAll()
    {
        System.out.println("=================================");
        System.out.println("NIM: " + tampilNim());
        System.out.println("Nama: " + tampilNama());
        System.out.println("Alamat: " + tampilAlamat());
        System.out.println("Semester: " + tampilSemester());
        System.out.println("IPK      : " + tampilIpk());   //menampilkan ipk mahasiswa
        System.out.println("=================================");
    }

}

anda cukup menambahkan attribut ipk seperti pada program di atas dan menambahkannya di setiap objek pada main class (dalam kasus ini objeknya junior, dan senior).
apabila anda tidak memakai kelas apa anda mau menuliskan satu per satu di setiap variabel ipk ingin ditampilkan ? dan kalau objeknya ratusan ? (Nilai kurang untuk MAINTAINABILITY)


Kesimpulannya, apabila anda membuat program untuk di pakai oleh user , JANGAN PERNAH MEMBUAT TIDAK MEMAKAI KELAS pada program tersebut. karna kelas adalah kebutuhan dasar untuk program program kompleks , dan memudahkan sisi developer maupun si user yg akan memakai program tersebut.

Terus tidak memakai kelasnya kapan dong ?
nahh ini cocok di pakai untuk tugas kuliah apabila tugas tersebut tidak terlalu kompleks banget, karna tugas kuliah masuk kategori Aplikasi prakarya tidak seperti aplikasi yg akan anda buat untuk user nanti , itu dinamakan Aplikasi Production (klik disini apabila ingin mengetahui apa itu aplikasi prakarya dan production).
kalau bisa, sesederhana apapun program yg kita buat , kita diharuskan membuat kelas , karna JAVA memegang teguh konsep OOP . Kelas juga akan meningkatkan skill logika kita apabila di pakai terus menerus.

nahh udah tau kan gimana pentingnya pakai Kelas di java.
cukup sekian deh post kali ini pegel juga nih tangan hahaha  ,kalo ada yg bingung silahkan di tanya monggo saya akan jawab semampu saya.
semoga bermanfaat untuk kalian TS pamit dulu ya mau go home :D

0 comments:

Post a Comment