Pengenalan Pemrograman Simula dan OOP

 

Pengertian dan Sejarah OOP

   


Pemrograman Berbasis Objek atau Object Oriented Programming (OOP) adalah sebuah tata cara pembuatan (programming paradigm) dengan menggunakan konsep "objek" yang memiliki data (atribut yang menjelaskan tentang objek) dan prosedur (function) yang dikenal dengan method. Dalam pengertian sederhananya, OOP adalah  program dengan memecah permasalahan program dengan menggunakan objek. Objek dapat diumpamakan dengan 'fungsi khusus' yang bisa berdiri sendiri. Untuk membuat sebuah aplikasi, berbagai objek akan saling bertukar data untuk mencapai hasil akhir. Berbeda dengan konsep fungsi atau 'function' didalam pemrograman, sebuah objek bisa memiliki data dan function tersendiri. Setiap objek ditujukan untuk mengerjakan sebuah tugas, dan menghasilkan nilai akhir untk selanjutnya dapat ditampilkan atau digunakan oleh objek lain.Konsep OOP bermula pada era 1960-an. Sebuah bahasa pemrograman Simula memperkenalkan berbagai konsep yang mendasari OOP dengan SIMULA l (1962-65) dan Simula 67 (1967). kemudian pada tahun 70-an, bahasa pemrograman smaltalk menjadi yang pertama kali disebut object-oriented. Pada tahun 1980-an, dua bahasa pemrograman ADA (US Department of Defense) dan PROLOG (the Japanese "Fifth Generation Computer Project") dipercayai akan bersaing ketat sebagai bahasa pemrograman yang paling dominan sampai sekarang . Bahasa pemrograman yang object-oriented seperti C++ pada tahun 80-an menjadi populer. Pada tahun 90-an, bahasa-bahasa pemrograman seperti java mulai menerapkan OOP. Sampai pada 2002, Microsoft Visual Code memperkenalkan bahasa object-oriented baru yang diberi nama C#. Disusul VB.NET yang merupakan penyempurnaan Visual Basic 6.0 yang tidak mendukung OOP.



Konsep Dasar OOP

Secara umum konsep dasar OOP dapat dilihat pada gambar dibawah ini. 

    Object

Object adalah suatu cara untuk membungjus data dan fungsi bersama menjadi satu unit dalam sebuah program komputer. Objek merupakan dasar dari modularitas dalam sebuah program komputer berorientasi objek. Setiap objek memiliki dua karakteristik yaitu Attribute (State) dan Behavior. Attribute (State) merupakan identitas atau informasi objek itu sendiri atau disebut juga variable, sedangkan Behavior adalah tingkah laku atau apa yang dapat dilakukan oleh objek itu atau disebut juga sebagai method.

    Class

Class adalah cetak biru (rancangan) atau prototype atau template dari objek. Kita bisa membuat banyak objek dari suatu macam class. Class mendefinisikan sebuah tipe dari objek. Di dalam class kita dapat mendeklarasikan variabel dan menciptakan objek (instansiasi). Sebuah class mempunyai anggota yang terdiri dari atribut dan method. Atribut adalah semua field identitas atribut berupa nama dan umur. Method dapat kita artikan sebagaisemua fungsi ataupun prosedur yang merupakan perilaku (behavior) dari suatu class.

    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. Mengatur polimirfisme dan enkapsulasidengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa harus mengimplementasi ulang perilaku tersebut (bahasa berbasis objek tidak selalu memiliki inheritas.

 Contoh Program Intheritance:

public class Mamalia () {

System.out.println(“Ciri umum mamalia adalah bernapas dengan paru-paru, ” +

“berkembang biak dengan cara beranak”);

}

class () Paus extends Mamalia () {

String x = “Ikan Paus”;

System.out.println(“Mamalia yang Anda pilih adalah “+ x );

System.out.println(“Mamalia ini berada di laut”);

System.out.println(“Paus termasuk jenis mamalia terbesar”);

}

class Sapi () extends Mamalia (){

String x = “Sapi”;

System.out.println(“Mamalia yang Anda pilih adalah “+ x );

System.out.println(“Mamalia ini berada di darat”);

System.out.println(“Sapi termasuk jenis mamalia pemamah biak”);

}

 

     Polymorism

Polymorisme adalah kemampuan dari sebuah objek untuk membolehkan mengambil beberapa bentuk yang berbeda. Secara harfiah, "poli" berarti banyak sementara "morph" berarti bentuk suatu aksi yang memungkinkan pemrogram menyampaikan pesan terentu 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 kekuatan yang berbeda.

Contoh Program Polimorfisme:


Simpan dengan nama BeautyfullMahasiswa.java

public class BeautyfullMahasiswa extends Mahasiswa{

public void printNama(){

System.out.println(“Hallo, saya Mahasiswa yg cantik n baik”)

Super.printNama();

}

}

Simpan dengan nama Main.java

public class Main{

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

BeautyfullMahasiswa mhs = new BeautyfullMahasiswa();

mhs.setNim(“0320110013”);

mhs.setNama(“Mirna Puji Rahayu”);

mhs.printNim();

mhs.printNama();

}

}

 

    Abstraction

Abstraksi adalah proses menyembuyikan detail implementasi dengan hanya menampilkan fungsionalitas kepada pengguna. Secara lain hal ini hanya menunjukan hal-hal penting kepada pengguna dan menyembunyikan etil internet. Abstraksi memungkinkan kita untuk fokus pada apa yang dilakukan objek alih-alih bagaimana melakukannya. Terdapat dua cara untuk mencapai abstraksi dijava yaitumelalui abstrac class (0 to 100%) & Interface (100%).

Contoh Program Abstraction:

abstract class Siswa{  

  abstract void run();  

}  

class Kelas4 extends Siswa{  

void run(){System.out.println("Testing Berjalan");}  

public static void main(String args[]){  

Siswa obj = new Kelas4();  

 obj.run();  

}  

}  


   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 diwujudkan dalam bentuk "class". Seperti yang telah dijelaskan sebelumnya dalam sebuah class terdapat property dan method yang memiliki hak akses tertentu terhadap environment/lingkungan-nya, hak akses ini biasa di sebut Accsess Modifer, access modifer 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 classnya 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:

public class Siswa {

public String nama;

public String nrp;

public void Info() {

System.out.println(“Saya adalah”);

System.out.println(“Nama ” + nama);

System.out.println(“Nrp ” + nrp);

}

}

// Setelah itu kita buat New Class lagi dengan nama IsiData

public class IsiData {

public static void main(String[] args) {

Siswa IT = new Siswa();

IT.nama = “Mirna”;

IT.nrp = “0320110013″;

IT.Info();

}

}



Karakteristik OOP

Dalam penerapannya OOP memiliki karakteristik sebagai berikut:

> Semua adalah objek.

> Komputasi dilakukan dengan komunikasi antar objek.

> Setiap objek berkomunikasi dengan objek lain melalui pengiriman dan penerimaan pesan.

> Sebuah pesan merupakan permintaan atas sekumpulan aksi dengan semua argumen yang diperlukan untuk menyelesaikan suatu tugas tertentu.

> Setiap objek memiliki memori sendiri, yang dapat terdiri dari objek-objek lainnya.

> Setiap objek adalah wakil atau representasi  dari suatu kelas. Sebuah kelas dapat mewakili sekelompok objek yang sama.

> Kelas merupakan kumpulan tingkah laku yang berkaitan dengan suatu objek. Jadi, semua objek  merupakan wakil dari kelas yang sama dapat melakukan aksi yang sama pula.

> Kelas-kelas diorganisasikan ke dalam struktur pohon yang berakar tunggal, yang dinamakan dengan jenjang pewarisan (inheritance hierarchy).

> Setiap objek pada umumnya memiliki tiga sifat, yaitu keadaan, operasi dan identitas objek.

> Operasi merupakan tindakan yang dapat dilakukan oleh sebuah objek.

> Keadaan objek merupakan koleksi dari seluruh informasi yang dimiliki oleh objek pada suatu saat..

> Informasi yang terkandung pada objek tersebut pada akhirnya memberikan identitas khusus yang  membedakan suatu objek dengan objek lainnya.

    Manfaat OOP

         Objek Oriented adalah himpunan tools dan method yang memungkinkan programer membangun program yang:

    * Reliable

    * Reusable

    * User friendly

    * Dapat memenuhi kebutuhan user

    * Maintanable

    * Well documented

[wkid/sumber artikel:Wikipedia-Pemrograman berorientasi objek/javatpoint-Java OOPs Concepts/Laboratorium Prodase-Oject oriented programming module]

[wkid/picture:javatpoint/java-oops-concepts]





  
    


















        

Post a Comment

Lebih baru Lebih lama