Chapter 01 Metodologi Berorientasi Object


Pengertian dan Konsep Beserta Metodologi Dasar Pemrograman

Pengertian Pemrograman berorientasi objek

Pengenalan Pemrograman Berorientasi Objek Kata pemograman berorientasi objek atau disingkat PBO tidak asing dalam perkuliahan mahasiswa teknik informasi dan sejenisnya PBO sekarang menjadi matakuliah setiap jurusan seperti teknik komputer atau sejenisnya.

Pemrograman berorientasi objek atau object-oriented programming disingkat OOP) merupakan paradigma pemrograman berdasarkan konsep “objek”, yang dapat berisi data, dalam bentuk field atau dikenal juga sebagai atribut; serta kode, dalam bentuk fungsi/prosedur atau dikenal juga sebagai method. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.

Object Oriented Programming (OOP) adalah suatu metode pemrograman yang berbasiskan pada objek, secara singkat pengertian dari OOP adalah koleksi objek yang saling berinteraksi dan saling memberikan informasi satu dengan yang lainnya.
Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat :

  1. Encapsulation (pembungkusan)
    • Variabel dan method dalam suatu obyek dibungkus agar terlindungi
    • Untuk mengakses, variabel dan method yang sudah dibungkus tadi perlu interface
    • Setelah variabel dan method dibungkus, hak akses terhadapnya bisa ditentukan.
    • Konsep pembungkusan ini pada dasarnya merupakan perluasan dari tipe data struktur
  2. Inheritance (pewarisan)
    • Sebuah class bisa mewariskan atribut dan method-nya ke class yang lain
    • Class yang mewarisi disebut superclass
    • Class yang diberi warisan disebut subclass
    • Sebuah subclass bisa mewariskan atau berlaku sebagai superclass bagi class yang lain => disebut multilevel inheritance.

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

Pemrograman berbasis objek merupakan dari sebuah konsep dari objek elemen dasar program,pengenalan tentang object oriented programming atau OOP dalam dunia nyata kita dapat menemukan objek disekitar kita seperti mobil,manusia,motor dan lain-lain yang ada disekitar kita.Secara umum ada beberapa kerangka dalam object oriented programming yaitu.

  • Komentar
  • Paket Atau Package Dan Import
  • Method
  • Data
  • Main Method
  • Badan Kelas Atau Class Body
  • Deklarasi Dan Implementation Method

Konsep Dasar Pemrograman berorientasi objek

  • Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
  • Objek – membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
  • Abstraksi – Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
  • Enkapsulasi – Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah 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 adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

Macam Bahasa pemrograman

Bahasa pemrograman yang mendukung OOP antara lain:

  • Visual Foxpro
  • Java
  • C++
  • Pascal (bahasa pemrograman)
  • SIMULA
  • Smalltalk
  • Ruby
  • Python
  • PHP
  • C#
  • Delphi
  • Eiffel
  • Perl
  • Adobe Flash AS 3.0

Pemisalan Objek dalam OOP

Rancangan berorientasi objek merupakan suatu teknik yang memusatkan rancangan pada data (objek) dan interface. Fasilitas pemrograman berorientasi objek pada Java pada dasarnya adalah sama dengan C++. Feature pemrograman berorientasi objek pada Java benar- benar sebanding dengan C++, perbedaan utama antara Java dengan C++ terletak pada penurunanberganda (multiple inheritance), untuk ini Java memiliki cara penyelesaian yang lebih baik.

Objek-objek dalam dunia nyata, mempunyai 2 karakteristik khusus : Status dan Perilaku. Contohnya, sepeda punya status(jumlah gir, jumlah pedal, dua buah ban) dan perilaku(mengerem, mempercepat, ubah gir). Bahasa yang berorientasi pada objek pun mempunyai karakteristik yang sama dengan objek-objek di dunia nyata. Yaitu status yang dalam bahasa

pemrograman biasanya disimpan sebagai Variabel dan perilaku yang diimplementasikan sebagai Method.

Perbedaan Object Oriented Programming dan Procedural Programmming

  1. Pemrograman Prosedural Fungsi dan data menjadi satu kesatuan yang disebut obyek sedangkan Pemrograman Prosedural Diselesaikan dalam bentuk prosedur atau fungsi
  2. Pemrograman Prosedural Obyek-obyek dalam OOP bersifat aktif sedangkan Pemrograman Prosedural Program merupakan urut-urutan Instruksi
  3. Pemrograman Prosedural Cara pandang : program bukan urut-urutan instruksi tapi diselesaikan oleh obyek-obyek yang bekerjasama untuk menyelesaikan masalah sedangkan Pemrograman Prosedural Program dipecah-pecah ke dalam sub program yang lebih sederhana
  4. Pemrograman Prosedural Fungsi dan prosedur digunakan untuk memanipulasi data
  5. Pemrograman Prosedural Sedangkan data sendiri bersifat pasif

Kesimpulan Perbedaan antara prosedural dan OOP

  • Prosedural : Fokus pada bagaimana cara komputer menangani masalah
  • OOP : Fokus pada masalah yang ditangani dengan menggunakan komputer.

Dengan OOP, kita dapat mengimplementasikan objekt data yang tidak hanya memiliki ciri khas (attribut), melainkan juga memiliki metode untuk memanipulasi attribut tersebut. Singkatnya, OOP memiliki keunggulan dari konsep pemrograman terstruktur, selain itu juga memiliki kemampuan untuk mengimplementasikan objek dalam kehidupan nyata.

Karakteristik Object Oriented Programming (OOP)

  • Enkapsulasi(Pembungkusan)

Enkapsulasi adalah pelindung program dan data yang sedang diolah. Enkapsulasi mendefinisikan perilaku dan melindungi program dan data agar tidak diakses secara sembarangan oleh program lain.

Dalam Java, dasar enkapsulasi adalah class. Anda membuat suatu class yang menyatakan bahwa variable atau method sebuah class tidak dapat diakses oleh class lain dengan menjadikan class tersebut private, atau menjadikan class tersebut protected – yaitu hanya bisa diakses oleh turunannya, atau menjadikan class tersebut public – yaitu bisa diakses oleh sembarang class.


  • Inheritansi

Objek-objek yang berada di sekitar kita adalah objek-objek yang saling terhubung secara hirarkis. Misalnya :

Inheritansi

Lingkaran dan Bujur Sangkar adalah turunan dari bentuk 2D dan Bentuk 2D adalah turunan dari Objek Gambar

  • Lingkaran dan Bujur Sangkar mewarisi(inherit) sifat-sifat dari bentuk
  • 2D, juga mewarisi sifat-sifat dari objek gambar
  • Lingkaran dan Bujur Sangkar dapat dikatakan subclass dari bentuk
  • 2D. Bentuk 3D adalah superclass dari Bola dan Piramida, dan
  • seterusnya.

  • Polimorfisme

Walaupun Lingkaran dan Bujur Sangkat sama-sama turunan dari Bentuk 2D, tetapi cara menubah ukuran masing-masing berbeda, untuk lingkaran anda harus merubah besar jari-jarinya, sedang untuk bujur sangkar anda harus mengubah panjang sisinya.

Dalam Java implementasi, method suatu parent-class dapat diubah oleh sub-class, hal ini dikenal dengan overriding method. Deklarasi method sama tetapi implementasi atau definisinya berbeda(Method atau perilaku yang sama tapi implementasinya/caranya yang berbeda-beda inilah yang disebut dengan Polimorfisme).

Istilah dalam OOP

Class Dan Object

Class ialah sebuah struktur dari object oriented programming class ada dua tipe dari anggota dimana itu merupakan field dan method,field merupakan tipe data didefinisikan oleh class sedangkan method merupakan operasinya.

Objek ialah instance atau keturunan dari class,objek dibangun sekumpulan data merupakan variabel untuk menggambarkan karakteristik objek dari sekumpulan method menggambarkan tingkah laku objek. setiap objek memiliki atribut sebagai status kemudian sebagai state dan memiliki tingkah laku kemudian akan memjadi sebagai behaviour.

class dan objek berbeda class prototipe mendefinisikan variabel dan method secara umum sedangkan sebuah objek sisi lain pada instansiasi dari suatu kelas.

Latihan 1. Class Java

  • Class Mobil{
  • String Merek;
  • String Harga;
  • Void Isi (String Isi I, String Isi II){
  • Merek = Isi I;
  • Harga = Isi II;
  • }
  • 20
  • Void Cetak(){
  • If(Merek= =Null && Harga= =Null) Return;
  • System.Out.PrintIn(“Merek : “ + Merek +“ Harga : “ + Harga);
  • }
  • }

Variabel Private

Variabel yang hanya dikenal dalam kelas itu sendiri mendapatkan data variabel private suatu kelas harus dengan fungsi property procedure bentuk penulisan dari variabel private (private namavariable as tipevarible).


Konsep Dasar OOP

OOP paradigma tentang pemrograman berorientasi objek semua data dalam paradigma dalam kelas dan objek bahasa pemograman dalam PBO adalah C++ landasan utamanya untuk pengembangan maka bisa dipakai dalam bahasa PBO seperti java.

Alasan menggunakan pemograman berorientasi objek diciptakannya sebuah PBO adanya keterbatasan dalam bahasa pemrograman tradisional dikenal istilah procedural language yakni C pascal yang sejenisnya. konsep dari procedural language bahwa semua masalah dalam fungsi dan prosedur selain itu juga procedural programming fungsi dan data terpisah tidak menjadi satu kesatuan. contoh dari kelemahan procedural programming bila sebuah perusahaan membuat program general ledger atau buku kas besar variabel bisa diakses oleh fungsi lainnya,harus dideklarasikan variabel tersebut variabel global diletakkan diluar semua sehingga fungsinya dapat diakses oleh semua fungsi.

suatu saat perusahaan tadi membuat programmer baru belum mengetahui tentang program general ledger tadi sangat dimungkinkan terjadinya kesalahan atau kerusakan, data akan kesulitan menemukan jika kita ingin membuat tipe data baru bahasa pemrograman tradisional. konsep pemograman berorientasi objek adalah bahwa semua pemecahan masalah dibagi kedalam kelas-kelas atau class data dan fungsi yang akan dioperasikan akan digabungkan menjadi satu kesatuan bisa dibuat sebagai kelas. fungsi kelas pada anggota dalam java jika kita ingin membaca data dalam objek,anda harus memanggil fungsi anggota dalam sebuah objek dengan cara ini kita bisa mengakses data jika tidak bisa mengakses data langsung dalam sebuah pemrograman berorientasi objek konsep pemograman tradisional.

jika ingin mengubah data dalam objek kita harus tahu fungsi apa saja berinteraksi dalam objek tersebut jadi tidak ada fungsi lain yang bisa mengakses data supaya penulisan dan penelusuran kesalahan program akan kita dapat lakukan dengan mudah.

Secara Umum Ada Beberapa Keuntungan Tampak Pada OOP Antara Lain

  • Objek Dapat Digunakan Ulang Untuk Program Lain
  • Programnya Lebih Terstruktur Dan Mudah Untuk Dikembangkan
  • Bersifat Alami
  • Reusabilitas
  • Pembangunan Program Lebih Cepat
  • Fleksibelitas Lebih Tinggi
  • Ekstensibilitas
  • Les Maintennance

Interface

Interface adalah suatu jenis khusus yang berisi method signature atau constant interface kumpulan method tanpa tubuh interface dalam menetapkan sifat dari class mereka menyediakan class tanpa memperhatikan tempat dalam hirarki untuk mengimplementasikan sifat yang umum.

ciri-ciri dari interface

  • method interface hanya dapat mengartikan konstanta pada sebuah interface tidak langsung mewariskan hubungan antara suatu class-class lainnya didefinisikan secara independent.
  • tidak bisa membuat objek baru dari interface.
  • interface atau class dapat diartikan sebagai method dan tidak memiliki kode implementasi sedangkan sebuah class memiliki salah satunya.

abstract class merupakan yang mempunyai class sedikitnya satu abstract method dan hanya digunakan sebagai class diturunkan oleh class abstract lainnya tanpa diimplementasikan abstract class disebut dengan method abstract.

Class Built-In

Didalam class built-in ada beberapa class

  • class math yang dapat diisi oleh method untuk menunjukkan perbedaan operasi matematika seperti fungsi trigonometri dan fungsi logaritma.
  • class string yang dapat digunakan array dari karakter menggunakan class string.
  • class string buffer yang berupa objek string bahwa dalam objek string buffer dapat berubah sedangkan objek string bersifat konstan.
  • class wrapper merupakan suatu representasi objek sederhana dari variabel non objek yang sedehana.
  • class proccess metode untuk melakukan input ke proses output ke proses untuk menunggu proses menyelesaikan memeriksa status keluar dari proses menghancurkan proses.

Class Exception

adalah peristiwa menjalankan alur proses normal dalam program.peristiwa kesalahan atau error disebabkan program berakhir tidak normal untuk mengatasinya menggunakan blok try-catch finnaly,ada beberapa keywords diantaranya try-catch-finally-throw-throws.manfaat exception ialah pemisahan antara pendeteksian error dengan penanganan error.

Class String

adalah class yang merupakan salah satu kelas dasar dalam java untuk memanipulasi karakter string bersifat immutable sehingga perubahan isi string akan dibuat string baru untuk menampung perubahan tersebut, string buffer urutan karakter yang dikembangkan ditulis ulang string buffer bersifat mutable yang dapat dimanipulasi sehingga resource dan performance lebih baik dalam operasi memanipulasi isi string. konstruktor merupakan method untuk membuat sebuah objek dalam kelas yang boleh memiliki lebih dari satu kontruktor.

Array

adalah objek digunakan untuk menyimpan sejumlah data ditampung array berupa tipe data ataupun kelas simbol array [] ada dua tipe array yaitu array satu dimention dan array dua dimention Collection adalah istilah yang dipakai setiap objek untuk mengelompokkan objek tertentu dengan cara teknik tertentu.

List adalah pengelompokan berdasarkan urutan array untuk menyimpan objek pada awal dan akhir list sebuah list juga menyisipkan mengakses dan menghapus isi list dimana proses selalu berdasarkan urutannya.

Queue adalah pengelompokkan berdasarkan metode antrian prioritas tertentu seperti FIFO atau first input first output terdapat fungsi enqueue untuk mengatur inputan fungsi dequeue mengatur output dari queue menjadi tertib.

File Sistem

adalah class dasar I/O reader,writer,inputstream,outputstream menyediakan operasi I/O untukmembaca dan menulis sebuah data karakter yang dimengerti oleh manusia seperti reader dan writer dimana karakter kelas turunan salah satu dari kelas abstrak dalam aliran writer komputer harus mengartikannya dalam rangkaian karakter yang bisa dimengerti oleh manusia.

Tidak ada komentar:

Posting Komentar