Langsung ke konten utama

Konsep Dasar Object Oriented Programming (OOP)

Konsep Dasar Object Oriented Programming (OOP)

Apa itu OOP atau Object Oriented Programming ?

OOP yaitu suatu paradigma atau bisajuga disebut metode pemrogramman yang berorientasi kepada object. Tujuan dari pembuatan metode ini yaitu untuk memudahkan pemrogramman dengan membandingkan dengan object-object yang ada didunia nyata. Misal : Mobil, Pesawat atau Manusia merupakan object.
Pada pemrogramman berorientasi objek ada beberapa konsep dasar yang harus kita pahami secara umum. Apa saja konsep tersebut ?
Berikut akan dipaparkan mengenai konsep-konsep tersebut satu per satu:

1. Encapsulation (Pengenkapsulasi/ Pembungkusan).
      Enkapsulasi adalah proses pembungkusan suatu objek agar dapat di manage penggunaan nya. Apa saja yang dapat di enkapsulasi ? yaitu class, method, atau attribut. Ada 4 macam enkapsulasi dalam OOP yaitu public, protected, default, dan private.

  • Public yaitu bisa di akses oleh kelas itu sendiri, kelas lain, mau pun sub kelas dalam suatu package maupun package lain, atau dikatakan bisa diakses oleh semua. 
  • Protected yaitu bisa di akses dari kelas yang sama, suatu kelas  dalam package yang sama, dari sub kelas dalam package yang sama, dari suatu sub kelas diluar package yang sama. Tapi tidak bisa diakses dari suatu non sub-kelas diluar  package.
  • Default yaitu bisa di akses dari kelas yang sama, suatu kelas  dalam package yang sama, dari sub kelas dalam package yang sama. Tapi tidak bisa diakses dari suatu sub kelas diluar package yang sama maupun dari suatu non sub-kelas diluar  package.
  • Private yaitu hanya bisa diakses oleh kelas yang sama atau kelas itu sendiri.

2. Inheritance ( Pewarisan ) 
     Inheritance yaitu suatu proses pewarisan dari suatu super class (parent) pada sub class (child). Pada suatu class untuk mewarisi sifat dari suatu super class dapat menggunakan keywords "extends". Sub class bebas menggunakan apa saja attribut atau method yang terdapat pada super class. Tetapi sebaliknya superclass tidak dapat menggunakan attribut maupun method daripada sub class. Satu sub class hanya bisa meng extends satu super class. Apabila sub class ingin menggunakan method dari kelas lainya maka digunakanlah interface. Untuk menggunakan interface dapat menggunakan keywords "implements" yaitu mengimplementasikan suatu interfaces. Interfaces merupakan suatu object yang mempunyai kontrak apabila suatu sub class
ingin mengimplementasikan nya (interfaces) harus mengimplementasikan semua method yang terdapat pada interfaces tersebut. Apabila ada satu method yang tidak terimplementasikan maka akan terjadi error. Tetapi suatu class dapat mengimplementasikan lebih dari satu interfaces.

3. Polimorfism ( Polimorfisme )
      Polimofrism yaitu kemampuan suatu object untuk melakukan banyak hal melalui satu cara yang sama. Atau sub kelas-kelas berbeda yang berasal dari suatu super class dan dapat mempunyai method yang sama dengan cara pelaksanaan yang berbeda-beda. Artinya suatu method akan memiliki perilaku yang berbeda apabila dilewatkan pada kelas yang berbeda-beda.

4. Abstaction ( Abstract ) 
  Abstaction yaitu proses penyembunyian object tertentu dan hanya menampilkan fitur-fitur yang penting dari object tersebut. Dengan kata lain ini berhubungan dengan apa yang ditampilkan pada interfaces atau pun abstract class.

Istilah-istilah yang berhubungan dengan Object Oriented Prograamming :

Class atau sering disebut blue print yaitu suatu kumpulan perintah dapat berisi attribut maupun method yang digunakan untuk menghasilkan suatu object. Atau lebih mudah disebut dengan rancangan dari suatu object. 

Object yaitu suatu variable yang merupakan instance dari Class, atau pembuatan suatu variable baru tapi meng instansiasi daripada suatu Class.

Instance sering diartikan sebagai wujud dari class. 

Overloading yaitu suatu keadaan dimana beberapa method dengan nama yang sama tetapi fungsionalitasnya berbeda atau nama method yang sama tapi dengan arguments atau parameter yang berbeda.

Overriding Fitur yang memungkinkan method berbeda memiliki nama dan tipe argumen yang sama, tetapi implementasi pada class yangberbeda. Atau menulis kembali suatu method pada sub class dengan fungsi dan attribut yang sama dari super class.

Attribut yaitu anggota dari pada suatu class, atau biasa disebut sebagai ciri-ciri dari suatu class, sedangkan prilaku nya (class) disebut dengan method.

Abstract Class yaitu  class yang dapat extends baik dari kelas yang konkret atau dari abstrak kelas.
Iterator merupakan suatu interfaces, iterator digunakan untuk menelusuri elemen-elemen koleksi.

Komentar

Postingan populer dari blog ini

Logika Informatika

LOGIKA INFORMATIKA Logika dan Pernyataan 1.  Logika 2.  Pernyataan (Proposisi) 3.  Penghubung Kalimat Dan Tabel Kebenaran 4.  Ingkaran (Negasi) Suatu Pernyataan,Konjungsi,Disjungsi      dan implikasi. 5.  Invers,konvers,dan kontraposisi        1.    LOGIKA      Logika Informatika Logika berasal dari bahasa Yunani, yaitu logos yang artinya kata, ucapan atau alasan. Jadi, logika adalah ilmu untuk berfikir dan menalar dengan benar Istilah-istilah logika Ada beberapa istilah yang akan digunakan dalam logika informatika yaitu : Premis : yaitu sebuah pernyataan Argumen : usaha untuk mencari kebenaran dari premis berupa kesimpulan Konklusi : Kesimpulan 2.    PERNYATAAN (PROPOSISI) Kata merupakan rangkaian huruf yang m...

Cara memulai belajar pemrograman di tahun 2023

Cara memulai belajar pemrograman di tahun 2023 Halo temen-temen semua, seperti kita tahu beberapa tahun belakangan dunia mengalami perkembangan yang sangat signifikan dibidang digital. Terlebih ketika terjadi wabah COVID-19 yang mana mendorong semua bidang kehidupan secara mau tidak mau untuk beralih kedunia digital. Saya yakin temen-temen paham akan hal ini, karena ketika terjadi wabah COVID-19 masyarakat diharuskan lock-down sehingga banyak aktifitas yang harus dilakukan secara digital. Dengan besarnya digitalisasi ini menjadikan kemampuan pemrograman manjadi salah satu kemampuan yang sangat dibutuhkan. Bahkan saat temen-temen browsing mengenai On-demand skills ataupun Top 10 skills ditahun 2020 hingga sekarang temen-temen pasti akan menemukan bahwa pemrograman terdapat disalah satunya. Seperti untuk kebutuhkan membangun website , membangun aplikasi mobile dan lain sebagainya. Oleh karena itu banyak riset, artikel ataupun co...

Bagaimana saya mendapatkan pekerjaan sebagai programmer di level internasional.

Bagaimana saya mendapatkan pekerjaan sebagai programmer di level internasional. Menjadi programmer merupakan salah satu profesi yang banyak dibutuhkan dalam beberapa tahun ini. Baik di Indonesia terlebih di Internasional orang yang mempunyai keahlihan dalam bidang pemrograman sangatlah dicari dan dibutuhkan. Saya sendiri sudah menjalani profesi ini kurang lebih selama 4 tahun ditahun 2023 ini. Dimulai dari tahun 2019-2021 saya bekerja sebagai programmer di perusahaan start-up di Indonesia yang kemudian pada tahun 2021 saya mendapatkan tawaran untuk bergabung disalah satu perusahaan yang berlokasi di Brazil (remote work). Dan sebagai catatan untuk perusahaan yang ada di Brazil ini bisa dibilang saya tidak perlu mengikuti seleksi dan ujian-ujian seperti ketika ingin bergabung disalah satu perusahaan di Indonesia. Mengapa bisa begitu? dan bagaimana saya bisa direkrut oleh perusahaan luar negeri? Berikut saya akan membagikan langkah-langkahnya : 1. Membangun portofolio ...