MAKALAH
DISUSUN OLEH
ALRHAFLY ABIDIN
1624133007
DOSEN:
DR.HENDRA JAYA,S.Pd,MT
GENETIC COMPUTER SCHOOL
UNIVERSITAS NEGERI MAKASSAR
BAB I
PENDAHULUAN
A. Latar Belakang
Pada saat ini perkembangan dan kemajuaan teknologi informasi dan komunikasi
telah berkembang dengan sangat pesat.Berbagai kemudahan memperoleh informasi
dari berbagai penjuru dunia dapat kita nikmati dalam hitungan detik. Pada saat
jaman dahulu kala teknologi sebagai
sesuatu yang tidak mungkin, kini telah menjadi kenyataan.
Diantara teknologi
informasi yang hampir disetiap tempat kita temukan adalah komputer.Sekarang
komputer sangat berkembang pesat hampir setiap tahun komputer selalu mengalami
perkembangan.Sedangkan model dan design dari komputer itu sendiri juga
mengalami perkembangan. Dulu apabila orang ingin menggunakan komputer maka
hanya bisa dikantor atau dirumah, tetapi sekarang mereka bisa menggunakan
komputer tersebut dimana saja yang mereka inginkan.
Software yang kita
gunakan sekarang ini tidak serta merta muncul begitu saja melainkan melalui
proses yang panjang dalam evolusinya. Hal ihwal munculnya komputer mungkin
dapat dilihat dalam kilas balik sejarah sejak digunakannya Abacus – ditemukan
di Babilonia (Irak) sekitar 5000 tahun yang lalu – sebagai alat perhitungan
manual yang pertama, baik di lingkup sekolah maupun kalangan pedagang, saat
itu. Pada tahun 1940, era baru komputer elektrik dimulai sejak ditemukannya
komputer elektrik yang menerapkan sistem aljabar Boolean.
B. Tujuan
1. Meningkatkan ilmu pengetahuan dalam
bidang teknologi informasi khususnya komputer.
2. Untuk mengetahui jenis jenis komputer
yang lebih canggih dan memiliki mutu yang lebih tinggi agar dapat dimanfaatkan
dengan efektif dan efisien.
3. Memajukan daya pikir manusia agar
menciptakan pola pikir inovatif dan kreatif.
Bab II
Pembahasan
Pemrograman
Berorientasi Objek
Pemrograman Berorientasi Objek (Object Oriented Programming/OOP) merupakan
pemrograman yang berorientasikan kepada objek, dimana semua data dan fungsi
dibungkus dalam class-class atau object-object. Setiap object dapat menerima
pesan, memproses data, mengirim, menyimpan dan memanipulasi data. Beberapa
object berinteraksi dengan saling memberikan informasi satu terhadap yang
lainnya.
Masing-masing object harus berisikan informasi mengenai dirinya sendiri
dan dapat dihubungkan dengan Object yang lain. Pemrograman berorientasi objek
berbeda dengan pemrograman prosedural yang hanya menggunakan satu halaman
kebawah untuk mengerjakan banyak perintah atau statement. Penggunaan
pemrograman berorientasi objek sangat benyak sekali, contoh : java, php, perl, c#,
cobol, dan lainnya.
Dalam konsep Pemrograman Berorientasi Objek
dikenal beberapa istilah umum, yaitu:
·
Attribute
Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah
kelas, Atribut dapat memiliki hak akses private, public maupun protected.
1.
Sebuah atribut yang
dinyatakan sebagai private hanya dapat diakses secara langsung oleh kelas yang
membungkusnya, sedangkan kelas lainnya tidak dapat mengakses atribut ini secara
langsung.
2.
Sebuah atribut yang
dinyatakan sebagai public dapat diakses secara langsung oleh kelas lain di luar
kelas yang membungkusnya.
3.
Sebuah atribut yang
dinyatakan sebagai protected tidak dapat diakses secara langsung oleh kelas
lain di luar kelas yang membungkusnya, kecuali kelas yang mengaksesnya adalah
kelas turunan dari kelas yang membungkusnya.
Atribut juga biasa disebut state/ properties/ field merupakan bagian yang
dimiliki oleh sebuah class yang tidak melakukan operasi, tetapi kepadanya
dilakukan operasi sehingga dapat merubah nilai dari attribute tersebut.
Karakteristik Atribut
Dalam class, atribut disebut sebagai variabel. Atribut dapat membedakan
antara satu object dengan object yang lain. Sebagai contoh, pada class :
mahasiswa, terdapat object mahasiswa si A, dan object mahasiswa si B. Yang
membedakan antara object si A dan si B adalah NPM-nya (Nomor Pokok Mahasiswa)
yang merupakan atribut dari object tersebut. Pada atribut, terdapat pula dua
istilah variabel, yaitu Instance Variabel dan Class Variable.
Dimana pada tiap variabel memiliki karakteristik
tersendiri, diantaranya :
Pada Instance Variabel à tiap object memiliki
instance variabel dan menyimpan nilainya tersendiri. Sedangkan pada Class
Variabel à atribut yang dimiliki oleh semua object yang berasal dari class yang
sama, serta semua object memiliki nilai class variabel yang sama. atribut yang
dimiliki object dari class yang sama.
·
Method
Method adalah fungsi atau prosedur yang dibuat oleh seorang programmer
didalam suatu Class. Dengan kata lain, method pada sebuah kelas hampir sama
dengan fungsi atau prosedur pada pemrograman prosedural.
Pada sebuah method di dalam sebuah kelas juga memiliki izin akses seperti
halnya atribut pada kelas, izin akses itu antara lain private, public dan
protected yang memiliki arti sama pada izin akses atribut yang telah dibahas
sebelumnya. Sebuah kelas boleh memiliki lebih dari satu method dengan nama yang
sama asalkan memiliki parameter masukan yang berbeda sehingga kompiler atau
interpreter dapat mengenali method mana yang dipanggil.
Hal ini dinamakan overloading. Di dalam sebuah kelas, terdapat juga yang
disebut sebagai method atau atribut statis yang memiliki kata kunci static.
Maksud dari statis di sini adalah method yang dapat diakses secara berbagi
dengan semua objek lain tanpa harus membuat objek yang memiliki method statis
tadi (tanpa proses new), tapi sebuah method statis mempunyai keterbatasan yaitu
hanya dapat mengakses atribut atau method lain di dalam kelas yang
membungkusnya yang juga bersifat statis. Method statis biasanya
diimplementasikan untuk method main.
Karakteristik Method
Didalam suatu class, behavior disimpan dalam bentuk Method. Method merupakan
serangkaian statemen / perintah (perintah = baris program) dalam suatu class
yang menghandle task tertentu. Method merupakan hal-hal yang bisa dilakukan
oleh object dari suatu class.
Method didefinisikan pada class akan tetapi
dipanggil melalui object. Method memiliki peranan diantaranya :
1.
merubah nilai atribut dari
suatu object,
2.
menerima informasi dari
object lain, dan
3.
mengirim informasi ke obyek
lain untuk melakukan suatu task (cara obyek berkomunikasi dengan obyek lain
adalah dengan menggunakan method).
·
Class
Merupakan model yang berisi kumpulan attribute dan method dalam suatu unit
untuk suatu tujuan tertentu. Sebagai contoh class manusia memiliki attribute
berat, tinggi, usia kemudian memiliki method makan, minum, tidur. Method dalam
sebuah class dapat merubah attribute yang dimiliki oleh class tersebut. Sebuah
class merupakan dasar dari modularitas dan struktur dalam pemrograman
berorientasi object.
Class didefinisikan sebagai sebuah blueprint(denah), atau prototipe, yang
mendefiniskan variabel-variabel dan metode-metode yang umum untuk semua objek
dari n jenis tertentu (n maksudnya jumlah tertentu). Sebuah kelas menyerupai
sebuah struktur yang merupakan tipe data sendiri, misalkan tipe data titik yang
terdiri dari koordinat x dan y. Bahasa Java telah menggunakan sebuah kelas
untuk menyatakan tipe data titik karena bahasa pemrograman Java merupakan
bahasa pemrograman berorientasi objek murni sehingga tidak mengenal struktur,
melainkan mengenal apa yang disebut dengan kelas.
Perbedaan sebuah kelas dengan sebuah struktur adalah sebuah kelas dapat
berdiri sendiri dan dapat digunakan untuk berbagai keperluan kelas-kelas yang
lain, sedangkan sebuah struktur tidak dapat berdiri sendiri. Sebuah kelas lebih
fleksibel untuk digunakan oleh kelas lain tanpa harus membongkar kode program
utama, sedangkan jika digunakan struktur maka kode program harus dibongkar unuk
disalin bagian strukturnya ke kode program utama yang lain.
Sebuah file dapat terdiri dari berbagai kelas, namun biasanya pada bahasa
pemrograman Java sebuah file hanya terdiri dari satu kelas yang disimpan dengan
nama kelas, misal file List.java berisi kelas List. Namun jika kelas yang
dibuat misalnya public class nama_kelas, maka kelas itu harus disimpan dalam
satu file hanya untuk satu kelas. Setelah dilakukan kompilasi maka pada Java
akan ada sebuah file .class yang berisi bytecode dari setiap kelas.
Jika sebuah file terdiri dari dua kelas, maka setelah dilakukan kompilasi
akan dihasilkan dua buah file .class yang nantinya akan dibaca oleh interpreter
Java saat program dieksekusi. Sebuah kelas saat program dieksekusi dan perintah
new dijalankan, maka akan dibuat sebuah objek. Class adalah template untuk
pembuatan objek. Class juga memiliki anggota, diantaranya : atribut dan method.
Pemahaman singkatnya :
1.
Class merupakan pola /
template yang menggambarkan kumpulan object yang mempunyai sifat dan perilaku
yang sama.
2.
Class merupakan struktur
data dari object (blueprint dari sebuah object), dan proses pembuatan object
dari sebuah class disebut juga dengan instantiation.
3.
Class merupakan definisi
data dan fungsi dari suatu hal (benda, konsep, dll).
4.
Di dalam class
dideklarasikan variabel dan method yang dimiliki oleh obyek
Karakteristik Class
Class memiliki beberapa
karakteristik, diantaranya : anggota class terdiri dari atribut dan method.
Tiap-tiap anggota class memiliki control pengaksesan tersendiri, maksudnya
adalah apakah anggota class tersebut dapat diakses dengan bebas (dengan tipe
public) atau hanya dapat diakses melalui sebuah interface. Dalam hal ini,
interface adalah device yang digunakan untuk komunikasi antar object berbeda
yang tidak memiliki hubungan apapun. Interface bisa dikatakan sebagai protokol
komunikasi antar object tersebut.
·
Object
Merupakan perwujudan dari class, setiap object akan mempunyai attribute dan
method yang dimiliki oleh class-nya, contohnya: amir, ahmad, yani merupakan
object dari class manusia. Setiap object dapat berinteraksi dengan object
lainnya meskipun berasal dari class yang berbeda.
Object merupakan sesuatu yang memiliki identitas (nama), pada umumnya juga
memiliki data tentang dirinya maupun object lain dan mempunyai kemampuan untuk
melakukan sesuatu dan bisa bekerja sama dengan objek lainnya. Pada dasarnya
semua benda yang ada di dunia dapat dianggap sebagai sebuah object. Rumah,
mobil, sepeda motor, meja, dan komputer merupakan contoh-contoh object yang ada
di dunia nyata. Object adalah implementasi dari class. Secara sederhananya,
dapat dikatakan terdiri dari properti (atribut) dan method.
Pemahaman singkatnya :
1.
Objek merupakan sebuah objek
khusus yang digunakan untuk mengakses anggota objek (atribut atau method) dari
dalam objek itu sendiri.
2.
Apabila terdapat variabel
lain yang memiliki nama yang sama dengan nama atribut di dalam objek, “this”
dapat digunakan untuk merujuk ke atribut objek.
Karakteristik Object
Setiap object memiliki dua karakteristik yang utama, yaitu atribut dan
behavior. Atribut merupakan status object dan behavior merupakan tingkah laku
dari object tersebut. Contoh sederhana adalah sepeda. Object sepeda memiliki
atribut : pedal, roda, dan gigi, kecepatan serta memiliki tingkah laku seperti
pacu dan rem. Sama seperti penggambaran di dunia nyata, pengembangan program
dengan konsep OOP juga menggunakan model object yang akan menyimpan atributnya
dalam variabel dan tingkah lakunya dalam method atau fungsi-fungsi/prosedur.
Deskripsinya :
Contoh objek : Sepeda
1.
Sepeda memiliki atribut (
state ) : pedal, roda, jeruji, dan warna.
2.
Sepeda memiliki tingkah laku
( behaviour ) : kecepatannya menaik, kecepatannya menurun, dan perpindahan gigi
sepeda.
Dalam pengembangan perangkat lunak berorientasi
objek, objek dalam perangkat lunak akan menyimpan state-nya dalam variabel dan
menyimpan informasi tingkah laku ( behaviour ) dalam method-method atau fungsi-fungsi/prosedur.
·
UML (Unified modeling language)
UML adalah bahasa spesifikasi standart untuk mendokumentasikan,
menspesifikasikan dan membangun system. Unified modeling language adalah
himpunan struktur dan teknik untuk permodelan desain objek oriented program
(OOP) serta aplikasinya. UML merupakan metodologi untuk mengembangkan system
OOP beserta perangkat tools untuk mndukung pengembangan system tersebut.
Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya
sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan
pengembangan sistem. Singkatnya Unified Modelling Language (UML) adalah sebuah
“bahasa” yg telah menjadi standar dalam industri untuk visualisasi, merancang
dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk
merancang model sebuah sistem.
Konsep-konsep dalam OOP/PBO :
a.
Abstraction
Adalah suatu cara untuk melihat suatu object dalam bentuk yang lebih
sederhana. Sebagai contoh kita tidak melihat sebuah mobil sebagai ribuan
komponen elektronik, sistem mekanik dengan empat buah ban, jok, stir kemudi dan
sebagainya. Dengan Abstraction, suatu sistem yang kompleks dapat dipandang
sebagai kumpulan subsistem-subsistem yang lebih sederhana, seperti halnya mobil
merupakan suatu sistem yang terdiri atas berbagai subsistem, seperti subsistem
kemudi, subsistem pengereman dan sebagainya.
Abstraksi merupakan 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.
b. Encapsulation
Merupakan suatu mekanisme untuk menyembunyikan atau memproteksi suatu
proses dari kemungkinan interferensi atau penyalahgunaan dari luar sistem dan
sekaligus menyederhanakan penggunaan sistem tersebut.
Memastikan pengguna sebuah objek tidak dapat
mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak. Hanya
metode dalam objek tersebut yang diberi ijin 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.
c. Inheritance
Merupakan konsep mewariskan attribute dan method yang dimiliki oleh sebuah
class kepada class turunannya. Dengan konsep ini class yang dibuat cukup
mendefinisikan attribute dan method yang spesifik didalamnya, sedangkan
attribute dan method yang lebih umum akan didapatkan dari class yang menjadi
induknya.
Mengatur polimorfisme dan enkapsulasi dengan
mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek
yang sudah ada.Objek-objek ini dapat membagi (dan memperluas) perilaku mereka
tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek
tidak selalu memiliki inheritas.)
d.
Polymorphism
Merupakan konsep yang memungkinkan digunakannya suatu interface yang sama
untuk memerintah suatu object agar melakukan suatu tindakan yang mungkin secara
prinsip sama tetapi secara proses berbeda.
Model data berorientasi objek disebut dapat
memberi fleksibilitas yang lebih, kemudahan mengubah program dan digunakan luas
dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim
bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan
sebelumnya selain itu pendekatan OOP lebih mudah dikembangkan dan dirawat.
Polimorfisme melalui pengiriman pesan. Tidak
bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim
pesan, dengan metode tertentu yang berhubungan dengan sebuah pengiriman pesan
tergantung kepada objek tertentu di mana pesan 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.Bahasa
pemrograman yang mendukung Metode pendekatan Objek Oriented Programing antara
lain:
1.
Visual FoxproJava
2.
C++
3.
Pascal
4.
Smaltalk
5.
Ruby
6.
Python
7.
PHP
8.
C#
9.
Delphi
10.
Eiffel
11.
Perl
12.
Adobe Flash AS 3.0
BAB III
Penutup
Kesimpulan
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 bagian 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 administrasi. Jadi untuk menyelesaikan suatu masalah dengan
kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi
tugasnya sendiri.
