Category Archives: Java Programming

KONSEP OOP

Sejarah OOP

Sejarah perkembangan OOP dimulai pada Tahun 1966 saat Ole Johan Dhal dan Kristen Nygaard dari universitas Olslo, norwegia menerbitkan sebuah jurnal kertas kerja dengan judul “SIMULA An Algol Based Language”.

Pemrograman berorientasi objek (OOP) merupakan metode pemrograman dimana pengembang harus mendefiniskan tipe dari struktur data dan juga tipe dari operasi yang dapat di aplikasikan ke struktur data. dengan demikian struktur data menjadi objek yang dapat memilik data dan fungsi.

Beberapa kemampuan utama dari pemrograman OOP antara lain :

  1. Pemrograman OOP menekankan pada data dari pada prosedur karena data diperlakukan sebagai elemen yang penting dan tidak boleh mengalir secara bebas dalam program.
  2. Data di sembunyikan dari akses program oleh fungsi-fungsi (function) eksternal.
  3. Program dapat dibagi-bagi kedalam objek-objek yang lebih kecil.
  4. Objek dapat berkomunikasi satu dengan yang lain melalui function.
  5. Data baru dan function dapat dengan mudah ditambahkan pada saat di butuhkan
  6. Konsep pemrogramannya mengikuti pendekatan  buttom up.

OOP adalah pemrograman yang paling populer pada saat ini karena menjadikan objek sebagai komponen utama dalam suatu program. Objek ini menggabungkan data dan fungsi sebagai satu kesatuan, hal ini membedakan dengan pemrograman yang tidak berorientasi objek (terstruktur) dimana fungsilah yang menjadi perhatian utama. Fungsi adalah subprogram atau sekumpulan kode yang diberi suatu nama tersendiri. Java adalah salah satu dari bahasa pemrograman berorientasi objek, karena dalam pemrograman java kita dapat mengetahui dan membedakan.

Karakteristik Sistem Beorientasi Objek

Karakteristik utama dari sistem berorientasi object adalah :

  • Abstraksi

Abstraksi pada dasarnya adalah menemukan hal-hal yang essensial pada suatu object dan mengabaikan hal-hal yang sifatnya insidental. Pada pengembangan sistem informasi berarti memfokuskan pada : apa itu object, apa ciri-ciri yang dimiliki object itu (atribut), apa yang bisa dilakukan oleh object itu sebelum memutuskan bagaimana ia diimplementasikan.

abstraksi1

  • Enkapsulasi & Message Passing

Enkapsulasi atau pembungkusan atau penyembunyian informasi (data hiding) berarti meninggalkan aspek eksternal dari object yang dapat diakses oleh object lain dan memfokus diri pada implementasi internal suatu object. Rincian implementasi internal suatu object agar tersembunyi dari object lain dan terpisah dari implementasi eksternal adalah antarmuka (interface) satu object dengan object lainnya. Implementasi internal dapat diubah tanpa mempengaruhi aplikasi yang menggunakannya asalkan perubahan internal ini tidak mengubah antarmuka yang digunakan object yang bersangkutan untuk berkomunikasi dengan object lainnya.

  • Pewarisan (Inheritance) & Reuseability

Pewarisan (Inheritance) pada dasarnya mengijinkan object dari suatu kelas untuk mengakses data & fungsi yang termuat dalam kelas lebih dahulu terdefinisi tanpa harus mendefinisikan ulang. Pewarisan memungkinkan kita untuk menciptakan kelas baru (kelas turunan) yang merupakan perluasan atau spesialisasi dari kelas lain yang telah ada (kelas dasar). Kelas turunan akan mewarisi anggota-anggota suatu kelas yang berupa data (atribut) dan fungsi (operasi) & pada kelas turunan memungkinkan menambahkan data serta fungsi yang baru. Kelas turunan juga boleh melakukan definisi ulang terhadap fungsi-fungsi yang telah didefinisikan pada kelas dasar (overloading ).Dengan kata lain, dengan pewarisan memungkinkan kitamenggunakan kembali kelas yang sudah ada (reuseablity).

  • Spesialisasi dan generalisasi

spesialisasi

KONSEP OOP di JAVA

Mengenal Object, Class, Method, dan Property

Burung itu ibarat objek yang punya nama, mata, kaki, sayap, warna, jenis. Burung juga dapat terbang, berkicau dan berjalan. Mata, kaki sayap dan warna dalam dunia pemrograman disebut juga atribut atau properties. Sedangkan aktifitasnya yaitu terbang, berkicau dan berjalan dalam dunia pemrograman disebut sebagai method.

Class adalah cetakan, template, prototype,tempat dari object, sedangkan object adalah isi dari kelas. Satu kelas dapat mempunyai object lebih dari satu atau banyak. Contoh sederhananya seperti berikut : satu cetakan bias menghasilkan banyak kue.

Contoh penerapannya di Java :

JAVA1

Dari contoh diatas bisa diambil pengerian Attribute adalah Berbagai variable yang mengitari class, dengan nilai datanya bisa ditentukan di object. nama, warna, sayap, dan jenis adalah atribute dari class Burung. Method adalah implementasi dari bagaimana aktifitas / bekerjanya sebuah class. terbang dan tidur adalah method atau behaviour dari class Burung

Ada 3 Konsep Dasar OOP pada Java :

A. Encapsulation

Encapsulation adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain.

Dalam OOP Encapsulation di wujudkan dalam bentuk “class”. Seperti yang telah dijalaskan sebelumnya dalam sebuah class terdapat property dan method yang memiliki hak akses tertentu terhadap environment/lingkungan-nya, hak akses ini biasa di sebut Access Modifier, access modifier terdiri dari private, protected, dan public.

• private

memberikan hak akses hanya kepada anggota class tersebut untuk menggunakan dan/atau mengubah nilai dari property atau method tersebut.

• protected

memberikan hak akses kepada anggota class nya dan anggota class hasil inheritance (penurunan sifat) dari class tersebut.

• public

memberikan hak akses kepada property dan method agar dapat digunakan diluar class tersebut.

Contoh Program Encapsulation:

JAVA2

B. Inheritance

inheritance adalah pewarisan yang artinya sebuah class dapat mewarisi atribut dan metho dari class lain. untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.

Contoh Programnya :

JAVA3

C. Polymorism

suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.

Polymorism dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.

Contoh program java nya :

Simpan dengan nama BeautyfullMahasiswa.java

JAVA4

Kemudian compile dan run.

C:\>javac BeautyfullMahasiswa.java

C:\>javac Main.java

C:\>java Main

Kontruksi objek mahasiswa

Nim: 0910651015

Hallo, saya Mahasiswa yg baik hati dan tidak sombong.

Nama:  aji M

C:\>

Terlihat bahwa disini kita mengoverride method printNama(), dengan menambahkan beberapa teks tambahan, sehingga method printNama(), pada class BeautyfullMahasiswa, memiliki perilaku yang berbeda dengan class Mahasiswa.

SUMBER : http://www.agustav.web.id/2009/11/konsep-oop-objek-oriented-programming.html

http://ittelkom.ac.id/staf/mhd/MateriKuliah/Software%20Project%20I/Referensi/Slide%20OOP%20with%20Java/Chapter%201.%20Konsep%20OOP.pdf

http://ti.unmuhjember.ac.id/rpl/?p=85