Java dan OOP – Apa itu?

Overview

Seiring dengan perkembangan teknologi dan pengetahuan tentang pemrograman, Java pun diciptakan menjadi salah satu bahasa yang mengakomodir seluruh nilai positif dari beberapa bahasa  pemrograman yang telah ada sebelumnya yang antara lain:

  • dari SIMULA, bahasa pada  tahun 65-an, bahasa yang paling mempengaruhi Java sekaligus C++. Dari bahasa  ini diadopsi bentukan–bentukan dasar dari pemrograman berorientasi objek;
  • dari  LISP – bahasa  tahun 55-an. Diadopsi  fasilitas garbage  collection,  serta kemampuan  untuk meniru  generic  list  processing, meski  fasilitas  ini  jarang yang memanfaatkannya;
  • dari  Algol  –  bahasa  pada  tahun  60-an,  diambil  struktur  kendali  yang dimilikinya;
  • dari C++, diadopsi sintaks, sebagian semantiks dan exception handling;
  • dari bahasa Ada, diambil strongly type, dan exception handling;
  • dari Objective C, diambil fasilitas interface;
  • dari  bahasa  SmallTalk,  diambil  pendekatan  single-root  class  hiérarchie, dimana object adalah satu kesatuan hirarki pewarisan;
  • dari bahasa Eiffel,  fasilitas assertion yang mulai diterapkan di sebagian  JDK 1.4.

kemudian saat ini, Java kita kenal sebagai bahasa pemrograman berbasis objek yang cukup dinamis dan handal. Dengan berbasis objek maka program dapat dibuat secara terpisah-pisah. Bagian yang terpisah-pisah tersebut dapat digunakan ditempat lain atau dikembangkan dengan atau tanpa harus membuat ulang, layaknya sebuah part atau suku cadang.

Mengapa harus Object?

Objek dapat digambarkan pada dunia nyata sebagai sebuah entitas/ entity, contohnya adalah hewan, meja, kursi, kendaraan atau sesuatu yang lebih abstrak seperti angin. Pemrograman berorientasi objek merupakan paradigma pemrograman yang menekankan pada objek, dimana pemrograman menjadi bersifat modular. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Bandingkan dengan logika pemrograman terstruktur, hal tersebut di atas relatif mustahil untuk dilakukan.

Model data berorientasi objek dapat memberi fleksibilitas yang lebih diantaranya kemudahan mengubah program dan dapat digunakan secara luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya.

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah (cmt: problem solving) kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag. administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag.administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas administrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

Apa manfaat berorientasi Obyek?

Memang kelihatannya konsep ini sangat rumit, tetapi ada beberapa alasan mengapa pendekatan objek sangat kuat diantaranya:

  1. Konsep ini menyederhanakan kompleksitas dengan memungkinkan kita untuk mendefinisikan sebuah sistem besar dan kompleks menggunakan set yang lebih kecil dari objek yang saling terkait.
  2. Dengan merancang aplikasi menggunakan objek, berarti kita telah menerapkan permodelan yang mendekati kehidupan nyata. Hal ini memungkinkan desain program kita menjadi lebih alamiah , yang memungkinkan kita untuk bekerja lebih intuitif.
  3. Konsep ini memberi kita sebuah kosa kata/ vocabulary, sehingga kita dapat lebih efektif mendiskusikan sistem atau aplikasi dengan rekan kerja kita (jauh lebih mudah untuk membahas fungsi dalam hal metode obyek daripada salah satu dari ratusan fungsi yang berada dalam modul kode umum).
  4. Class memiliki sifat mereka sendiri (properti), metode, dan event terintegrasi atau dikenal dengan istilah di-encapsulation, sehingga mereka umumnya mandiri. Ini membuat kode kita lebih teratur dan lebih mudah untuk di-maintain.
  5. Adanya enkapsulasi berarti, penggunaan kembali kode menjadi mudah, karena kita cukup menyalin kelas template dan perubahan akan secara otomatis tercermin dalam setiap kelas yang mewarisi dari kelas dasar yang telah kita ubah. Hal ini bermanfaat ketika berbagi/ sharing kode dengan orang lain, atau ketika menggunakan kembali kode dari proyek-proyek lama, sehingga berimplikasi pada penghematan biaya dan waktu.

Closing

Saya yakin tulisan ini terlalu dangkal untuk menerangkan konsep OOP yang lebih komperhensif seperti class inheritance, interface inheritance, polymorphism, abstract, encapsulation, class template, dll. Namun saya berharap tulisan ini dapat mengantarkan teman-teman mengerti sedikit kulit dari konsep OOP itu sendiri. Cmiiw…

Tulisan ini dibuat dalam rangka menyelesaikan tugas paper tentang OOP di salah satu online university^^,.
Iklan

2 tanggapan untuk “Java dan OOP – Apa itu?

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s