Pemrograman berorientasi
objek
Pemrograman berorientasi objek (Inggris: object-oriented
programming disingkat OOP) merupakan paradigma
pemrogramanyang berorientasikan kepada objek. 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,
Model data berorientasi objek
dikatakan 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, dan pendekatan OOP lebih mudah
dikembangkan dan dirawat.
Konsep Dasar
·
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 darimodularitas 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 interfaceyang 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 denganbahasa
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.
Pengertian
Sistem Orientasi Objek
Sebuah sistem operasi berorientasi obyek adalah sebuah sistem
operasi yang internal menggunakan metodologi berorientasi objek . Sebuah sistem
operasi berorientasi objek ini berbeda dengan objek-berorientasi user interface
atau pemrograman kerangka kerja , yang dapat ditempatkan di atas sistem operasi
non-object-oriented seperti DOS , Microsoft Windows atau Unix . Hal ini dapat
berpendapat, bagaimanapun, bahwa sudah ada konsep berorientasi objek yang
terlibat dalam desain sebuah sistem operasi yang lebih khas seperti Unix .
Sementara bahasa yang lebih tradisional seperti C tidak mendukung orientasi
objek sebagai lancar sebagai bahasa yang lebih baru, gagasan, misalnya, berkas
, aliran , atau device driver (di Unix, masing-masing diwakili sebagai file
descriptor ) dapat dianggap sebagai yang baik contoh dari orientasi objek:
mereka, setelah semua, tipe data abstrak , dengan berbagai metode dalam bentuk
panggilan sistem , yang perilakunya bervariasi berdasarkan jenis objek, yang
pelaksanaannya rincian tersembunyi dari pemanggil, dan bahkan mungkin
menggunakan warisan di mereka yang mendasari kode.
Contoh Sistem Orientasi Objek
•LISP
Lisp digunakan sebagai sistem operasi pada beberapa mesin awal.
alias pada Mesin Lisp dan kemudian di Symbolics dengan marga (sistem operasi)
•Smalltalk
Smalltalk diciptakan di Xerox di 70-an. Sistem Smalltalk adalah
sepenuhnya berorientasi objek dan kebutuhan sangat sedikit dukungan olehBIOS
dan sistem run-time.
•Diri
Diri (programming_language) ditemukan di Sun.
•BM AS400
IBM menciptakan AS400 sekitar tahun 1978 OS AS400 memiliki
pengenal unik 128bit untuk objek apapun.
•NeXTSTEP
Selama akhir 1980-an, Steve Jobs membentuk komputer perusahaan
NeXT . Salah satu tugas pertama NeXT adalah untuk merancang sistem berorientasi
obyek operasi, NeXTSTEP . Mereka melakukan ini dengan menambahkan suatu
kerangka kerja berorientasi objek di atasMach dan BSD menggunakan Objective-C
bahasa sebagai dasar. NeXTstep kemudian berkembang menjadi OPENSTEP dan Kakao
(API) pada Mac OS X . OPENSTEP diberikan sebagai lapisan API atas banyak sistem
operasi, yaitu NextStep, Windows, HP-UX , Solaris .
•Pilihan
Pilihan adalah berorientasi obyek sistem operasi yang dikembangkan
di University of Illinois di Urbana-Champaign . Hal ini ditulis dalam C + + dan
menggunakan objek untuk mewakili komponen inti kernel seperti CPU , proses dan
sebagainya. Warisan digunakan untuk memisahkan kernel ke dalam kelas mesin
portabel independen dan kecil non-portabel tergantung kelas. Pilihan telah
porting ke dan berjalan pada SPARC , x86 , dan ARM .
•Athene
Athena adalah sebuah objek berbasis sistem operasi pertama kali
dirilis pada tahun 2000 oleh Sistem Rocklyte . Lingkungan pengguna dibangun
seluruhnya dari benda-benda yang dihubungkan bersama pada saat runtime. Aplikasi
untuk Athene juga dapat dibuat menggunakan metodologi ini dan biasanya ditulis
menggunakan objek bahasa scripting 'DML' ( Dinamis Markup Language ). Objek
dapat dibagi antara proses dengan menciptakan mereka dalam memori bersama dan
mengunci mereka seperti yang diperlukan untuk akses.Kerangka objek Athena
adalah multi-platform, yang memungkinkan untuk digunakan dalam lingkungan
Windows dan Linux untuk pengembangan program berorientasi objek.
•BeOS
Salah satu usaha untuk menciptakan sistem operasi yang benar-benar
berorientasi obyek adalah BeOS dari pertengahan tahun 1990, yang digunakan
obyek dan C + + bahasa untuk antarmuka pemrograman aplikasi (API). Tapi kernel
itu sendiri ditulis dalam C dengan C + + bungkus di ruang pengguna. Sistem
tidak menjadi mainstream meskipun bahkan hari ini telah penggemar dan manfaat
dari pembangunan yang berkelanjutan.
•Sukukata
Suku membuat berat penggunaan C + + dan untuk alasan yang sering
dibandingkan dengan BeOS
.berbasis Java sistem
operasi
Mengingat bahwa Sun Microsystems ' Java saat ini salah satu bahasa
berorientasi objek yang paling dominan, tidak mengherankan bahwa Java berbasis
sistem operasi telah dicoba. Di daerah ini, idealnya, kernel akan terdiri dari
minimal yang dibutuhkan untuk mendukung JVM .Ini adalah satu-satunya komponen
suatu sistem operasi yang harus ditulis dalam bahasa lain selain Jawa. Dibangun
di atas bahwa JVM dan dukungan hardware dasar, akan mungkin untuk menulis sisa
dari sistem operasi di Jawa, bahkan bagian dari sistem yang lebih tradisional
ditulis dalam bahasa tingkat rendah seperti C, misalnya driver perangkat ,
dapat ditulis di Jawa. Contoh upaya seperti sistem operasi termasuk JX , JNode
dan JavaOS .
•Microsoft Singularity
Singularitas adalah Operating System eksperimen berdasarkan
Microsoft NET Framework. . Hal ini sebanding dengan berbasis Java sistem
operasi, tetapi menggunakan platform. NET bukan platform Java.
•Symbolics Genera
Genera dari Symbolics adalah sistem operasi untuk Mesin Lisp
ditulis dalam ZetaLisp dan Symbolics Common Lisp . Ini membuat penggunaan berat
Flavors (perpanjangan berorientasi obyek dini untuk Lisp) dan Sistem Common
Lisp Object (CLOS) . Pembangunan dimulai pada pertengahan tahun 70-an di MIT.
0 comments:
Post a Comment