Konsep Dasar Pemrograman Berorientasi Objek (PBO)

Jasa Pembuatan Paket Aplikasi

 

Hallo, sobat IT seluruh Indonesia. Apa kabar semuanya? Semoga selalu sehat dan tidak bosan membaca tulisan kami ini. Pada kesempatan ini, kami ingin membahas tentang OOP (Object Oriented Programming) atau dalam Bahasa Indonesia disebut PBO (Pemrograman Berorientasi Objek).

Semoga saja tulisan kali ini bisa memberikan pengetahuan lebih meski tidak begitu banyak. Untuk lebih jelasnya, simak artikel ini sampai habis ya!

Pemrograman Berorientasi Objek atau yang dalam Bahasa Inggris disebut Object Oriented Programming dan disingkat OOP, pastinya bukan lagi merupakan istilah yang asing di telinga kita yang menekuni dunia pemrograman atau IT.

Ini merupakan paradigma pemrograman yang didasarkan oleh konsep “objek” yang bisa terdiri dari data dalam bentuk field yang juga dikenal sebagai atribut, kemudian kode berbentuk fungsi yang juga disebut ‘method’.

Semua data dan fungsi tersebut dikemas dalam kelas-kelas atau disebut juga objek-objek. Jika dibandingkan dengan pemrograman yang terstruktur, setiap objek dalam OOP dapat menerima pesan dan mengirimkan pesan kepada objek lainnya serta melakukan pemrosesan data.

Model data dalam pemrograman berorientasi objek atau OOP dapat memberikan fleksibilitas lebih untuk mengubah sebuah program, sehingga dapat digunakan secara luas untuk software yang memiliki skala besar sekalipun.

Kemudian bagi kita yang masih pemula dalam bidang pemrograman, banyak yang mengatakan bahwa OOP ini sulit atau perlu waktu untuk menguasainya karena kekompleksannya, namun demikian, ada juga yang mengatakan bahwa OOP lebih mudah untuk dikembangkan dan proses pemeliharaannya pun lebih mudah ketika mengalami kendala karena konsep modularnya.

Konsep Dasar yang Paling Penting dalam OOP

Dalam pemrograman berorientasi objek terdapat konsep dasar yang penting untuk diperhatikan dipahami jika kita mempelajari pemrograman.

Sponsor Link

Class/Kelas

Di dalam sebuah objek kelas merupakan prototype atau rancangan yang menafsirkan variabel dan berbagai method pada sebuah objek tertentu. Fungsinya adalah untuk menampung konten atau isi dari sebuah program yang akan dijalankan. Dengan kata lain, kelas/class adalah rancangan atau prototype dari sebuah objek dalam pemrograman berorientasi objek.

Untuk mempermudah kita memahami tentang class, salah satu contoh dari class adalah class person, class animal, vehicle, fruit dan lain-lain. Dalam bidang pemrograman, sebuah class haruslah dapat dikenali bahkan oleh orang bukan programmer, karena class merupakan dasar dari sebuah program.

Objek

Yang dimaksud dengan objek dalam pemrograman berorientasi objek adalah kumpulan perangkat lunak yang terdiri dari metode-metode dan variabel yang saling berkaitan. Objek juga merupakan wujud nyata dari prototype atau rancangan yang disebutkan dalam class tadi.

Method/Metode

Method atau metode merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu objek. Method didefinisikan pada class, namun dipanggil melalui objek. Contoh, pada objek buah pear: terdapat ‘metode ambil rasa’, ‘kupas kulit’ dan lain-lain.

Dalam pemrograman berorientasi objek, method merupakan kumpulan dari berbagai program yang memiliki nama. Ini adalah alat yang digunakan oleh seorang programmer dalam memecah sebuah program menjadi bagian yang kecil-kecil dan kompleks sehingga dapat digunakan berulang kali.

Abstraksi

Abstraksi merupakan kemampuan dari sebuah program untuk melewati aspek informasi yang diproses olehnya, atau bisa juga disebut sebagai kemampuan untuk memfokuskan pada intinya. Setiap objek dalam sistem OOP merupakan model dari “pelaku” abstrak yang dapat melakukan suatu pekerjaan, pelaporan dan perubahan pada keadaannya, dan melakukan komunikasi dengan objek lainnya yang ada di dalam sistem suatu program, tanpa memperlihatkan bagaimana hal ini diterapkan

Enkapsulasi

Ini adalah suatu bentuk dimana pengguna dari sebuah objek tidak dapat mengganti atau mengubah (memodifikasi) suatu keadaan dari sebuah objek dengan cara yang tidak layak, oleh karena itu keadaan ini hanya dapat dimodifikasi sesuai dengan ketentuan yang terdapat di dalam objek tersebut. Begitupun ketika kita ingin mengganti interfacenya haruslah memenuhi aturan dari objek yang bersangkutan. Objek yang lainnya tidak akan tergantung dengan objek tersebut.

Kelebihan dari Pemrograman Berorientasi Objek

Pemrograman berorientasi objek memiliki beberapa kelebihan yang tentunya akan sangat menguntungkan kita sebagai developer program. Apa saja itu?

1. Meningkatkan produktivitas pengembangan program seperti dalam beberapa hal berikut ini.

  • Modularitas: Pembuatan program dapat dilakukan dengan membuat modul-modul berupa objek kemudian menggabungkannya. Dengan kata lain kita bisa patungan dalam mengerjakan modul-modul tersebut, alias kroyokan.
  • Fleksibilitas: Sistem Program yang dihasilkan dapat dikustom dan kita tidak harus melibatkan banyak modul di dalamnya, kita cukup memodifikasi objek yang terkait saja.
  • Perluasan: Dengan menambahkan perilaku dan atribut sebuah kelas objek dapat dikembangkan dengan mudah.
  • Dapat diperluas: Sistem program yang dikembangkan dengan menggunakan pemrograman berorientasi objek bahkan dapat dikembangkan menjadi sistem perangkat lunak yang besar dan paling kompleks sekalipun.
  • Bisa digunakan kembali: Sebuah kelas objek yang telah dibuat dapat kembali digunakan pada lintas program. Hal ini biasanya akan mempersingkat waktu kita untuk membuat coding. Buat apa bikin ulang kalau bisa dan diperbolehkan copy paste, kan.

2. Pemeliharaan lebih mudah

Kenapa? Karena OOP memiliki design yang terdiri dari modul-modul, meskipun sistem aplikasi yang kita buat dalam skala yang kompleks, kita akan mudah melakukan pemeliharaan terhadap perangkat lunak ini jika terjadi perubahan ataupun masalah.

3. Proses pengembangan aplikasi yang lebih cepat

Pemrograman berorientasi objek didukung oleh adanya banyak library objek yang bisa dipakai berulang, sehingga mempermudah dan mempercepat kita dalam pengembangan program dan juga project lainnya.

4. Hemat biaya pengembangan program aplikasi

Bagaimana tidak, rata-rata harga pengembangan suatu program adalah tergantung seberapa lama waktu yang diperlukan, sehingga waktu pengembangan yang singkat tentunya akan mengurangi biaya proyek program.

5. Software yang dihasilkan berkualitas tinggi

Waktu pengembangan yang lebih cepat akan memberi waktu lebih kepada developer dalam melakukan ujicoba terhadap program yang sudah dibuatnya sehingga mengurangi adanya bug atau error.

Meski dengan begitu banyak kelebihan dari pemrograman berorientasi objek, tidak bisa kita pungkiri bahwa langkah-langkah ini juga memiliki beberapa kekurangan, terutama bagi kita yang baru terjun di dalam pemrograman ini. Hal tersebut disebabkan beberapa hal berikut ini.

  1. Karena OOP terdiri dari modul-modul, otomatis susunan maupun program yang dihasilkan akan lebih kompleks. Sehingga untuk programmer pemula mungkin akan memerlukan waktu lebih hingga terbiasa menggunakan OOP ini.
  2. Ukuran Program yang dibuat menggunakan OOP biasanya akan lebih besar jika dibandingkan dengan program yang dibuat menggunakan POP (Post Office Protocol).
  3. Biasanya waktu loading program OOP sedikit lebih lambat karena ukurannya yang lebih besar dari program lainnya.
  4. Meski dengan sekian banyak kelebihannya, perlu Anda ketahui bahwa tidak semua permasalahan program dapat diselesaikan dengan menggunakan OOP. Beberapa program justru lebih efisien jika dibangun menggunakan POP atau pemrograman lainnya.

Bahasa Pemrograman Apa Saja yang Didukung Oleh OOP?

Adapun Bahasa pemrograman yang mendukung pemrograman berorientasi objek yang pastinya sering di dengar oleh Anda yang menekuni IT. Dan Bahasa program tersebut adalah sebagai berikut.

  1. Bahasa Visual Foxpro, yaitu bahasa pemrograman berorientasi objek dan procedural keluaran Microsoft.
  2. Java, dijalankan oleh komputer bahkan telepon genggam.
  3. C++, yang merupakan perkembangan lanjutan dari Bahasa pemrograman C.
  4. Bahasa pemrograman Pascal, dibuat oleh Profesor Niklaus Wirth sebagai alat bantu pengajaran pemrograman komputer kepada mahasiswa oleh si professor.
  5. Bahasa pemrograman Smalltalk, dalam Bahasa pemrograman ini objek satu dapat saling berkomunikasi dengan objek lainnya melalui messages atau berita.
  6. Bahasa Ruby, merupakan bahasa pemrograman dinamis yang berbasis script dan yang pasti berorientasi pada objek.
  7. Bahasa pemrograman Python, sebuah bahasa pemrograman yang bisa berjalan pada berbagai platform perangkat lunak.
  8. PHP, banyak digunakan untuk membuat website dinamis.
  9. Perl, merupakan bahasa pemrograman serbaguna yang pertama kali diciptakan oleh Larry wall pada mesin Unix.
Sponsor Link

Lalu, Bagaimana Penerapan Pemrograman Berorientasi Objek Ini?

OOP sendiri banyak diterapkan dalam bahasa pemrograman seperti java, C++, PHP dan lain sebagainya. Lalu bagaimana cara implementasinya? Selanjutnya kita akan membahas bagaimana implementasi dari OOP di dalam beberapa Bahasa pemrograman berikut ini.

1. OOP dalam Javascript

Javascript bisa dibilang sebagai bahasa pemrograman yang terpopuler di dunia saat ini. Dalam Bahasa pemrograman ini kita juga dapatkan menerapkan pola pemrograman berorientasi objek atau OOP. Javascript memiliki tipe data yang disebut object literal.

Tepat sekali, bahasa pemrograman ini juga menggunakan “objek”. Tetapi fokus kita di sini bukanlah mengenai object literal, namun lebih kepada object class. Keduanya memang merupakan objek, tetapi terdapat perbedaan yang mendasarkan dari keduanya. Di dalam sebuah program yang menggunakan Javascript, sebelum adanya sebuah objek, kita memerlukan cetakan atau rancangan atau prototype untuk membuat objek tersebut.

Rancangan itulah yang disebut sebagai class. Sama seperti kita ingin membangun sebuah rumah, maka kita perlu memiliki rancangan bentuk rumah yang ingin kita bangun termasuk desainnya.

Class memiliki atribut-atribut penting di dalamnya antara lain sebagai berikut.

Constructor

Constructor adalah metode khusus yang akan dieksekusi pada saat pembuatan objek (instance). Biasanya metode ini digunakan untuk inisialisasi atau mempersiapkan data untuk objek. Cara membuat constructor adalah dengan menuliskan nama method constructor seperti menuliskan nama class.

Property

Property dalam OOP pada Java adalah sebuah variabel yang terdapat di dalam sebuah class dan memiliki posisi yang sejajar dengan method.

Class Method

Dalam Java yang dimaksud dengan class method adalah sekumpulan statement yang dikumpulkan menjadi satu untuk melaksanakan suatu tugas tertentu di dalam sistem.

Static Method

Static method merupakan method yang bisa digunakan tanpa harus melakukan inisialisasi terhadap suatu class (maksudnya tidak perlu memakai variabel terlebih dahulu). Ciri dari method ini adalah dengan menggunakan kata static di depan kata void.

Getter dan Setter

Getter dan setter dapat digunakan secara efektif untuk melindungi data kita, terutama pada saat kita akan membuat kelas.

Inheritance

Inheritance atau pewarisan (dalam bahasa pemrograman Java, suatu class dapat diwariskan atau diturunkan kepada class lainnya di dalam satu program).

2. C++

Tujuan utama dari pemrograman C++ ialah untuk menambahkan orientasi objek pada bahasa pemrograman C dan kelas-kelas yang dijadikan sebagai fitur dari C++ yang mendukung pemrograman berorientasi objek dan sering juga dikenal sebagai user-defined type.

3. Visual Basic

Sebelumnya banyak yang memperdebatkan apakah bahasa pemrograman visual basic menggunakan pemrograman berorientasi objek atau tidak. Namun perdebatan itu akhirnya berakhir setelah dirilisnya bahasa program Visual Studio .NET dan generasi penerusnya.

Visual Basic ini murni adalah bahasa pemrograman berorientasi objek. Kegunaan OOP yang utama dalam Visual Basic adalah untuk memaksimalkan penggunaan kembali kode program yang telah dibuat. Saat kita melakukan drag & drop, hal ini dikerjakan oleh control designer sehingga programmer tidak perlu tahu bagaimana kerja objek tersebut.

Programmer bahkan bebas menggunakan banyak kontrol dan memodifikasi desain seperti warna, bentuk, judul hingga event handling dari objek yang bersangkutan. Dasar dari sistem .NET adalah inheritance. Bagi Anda yang telah mempelajari Visual Basic dari awal tidak akan menemukan ini pada versi terdahulunya.

4. Pascal

Selain dalam beberapa bahasa program di atas, OOP juga dapat digunakan dalam bahasa pemrograman Pascal atau Turbo Pascal. Contoh implementasinya adalah sebagai berikut.

Class     : Pendidikan

Object   : Sistem online

Method : e-learning

Kemudian codingnya adalah sebagai berikut.

program pendidikan;

begin

writeln(‘Sistem Online’);

writeln(‘e-learning’);

readln;

end.

Maka keluarannya adalah:

Sistem Online

E-learning

Sponsor Link

5. Ruby

Bahasa pemrograman Ruby adalah bahasa pemrograman yang dinamis (berubah-ubah) yang berbasis script dan berorientasi pada objek yang ditulis menggunakan bahasa pemrograman C dan memiliki kemampuan dasar seperti Python dan Perl.

Ruby pertama kali dibuat oleh seorang programmer dari Jepang bernama Matsumoto Yukihiro pada tahun 1993. Pada saat itu Yukihiro ingin membuat sebuah bahasa scripting yang memiliki kemampuan untuk mengorientasikan objek. Pada saat itu pemrograman berorientasi objek sedang sangat berkembang dalam dunia IT, namun sayangnya belum ada bahasa program scripting yang mampu mendukung OOP tersebut.

Sejak Yukihiro mulai menulis bahasa ini pada tahun 1993, Ruby pertama kali dirilis dalam versi Alpha pada tahun 1994. Pada awal perkembangannya Yukihiro masih menulis bahasa Ruby ini sendirian hingga tahun 1996 akhirnya terbentuk komunitas yang banyak memberikan kontribusi terhadap perkembangan bahasa pemrograman ini.

Tujuan dari bahasa pemrograman ini adalah menggabungkan kelebihan dari berbagai bahasa pemrograman script yang ada di seluruh dunia.

Hingga kini, bahasa Ruby telah berkembang tidak hanya di Jepang, namun sudah dikenal dan berkembang di seluruh dunia. Perusahaan besar yang pertama kali menggunakan Ruby pada tahun 2006 adalah APPLE. Dia menggunakan Ruby on Rails pada MAC OS X v10.5 Leopard yang kemudian diluncurkan pada tahun 2007.

Sekian tulisan ini kami buat pada kesempatan ini. Seperti yang telah disebutkan di awal tadi. Tulisan ini sangat jauh dari sempurna, namun diharapkan dapat membantu teman-teman untuk menambah pengetahuan meski tidak banyak.

Kami akan dengan senang menerima masukan berupa saran dan kritikan dari teman-teman semua asalkan tidak mengandung unsur SARA. Terima kasih dan sampai bertemu di artikel selanjutnya ya!

Apakah Anda memiliki masalah dalam mengelola dan mengembangkan aplikasi? | PT APPKEY
Tidak hanya terbatas pada pengembangan aplikasi, kami juga memiliki kemampuan dalam memperbaiki bug maupun eror pada aplikasi yang sedang dikembangkan sehingga dapat membantu menyelesaikan permalasahan Anda.

Tentang Kami
Pengenalan Layanan
Pengenalan Perusahaan
Kontak Kami
Sponsor Link

Jika Anda menyukai artikel ini
Acungkan jempol