PENDAHULUAN. A. Berorientasi Objek. 1. Karakteristik dari Objek

dokumen-dokumen yang mirip
PertemuanI. Object Oriented

PERANCANGAN BERORIENTASI OBJEK

PERANCANGAN BERORIENTASI OBJEK

1. Penggunaan Pemodelan

Object Oriented Analaysis Object Oriented Design

BAB II. 2.1 Model Data High Level Data Model (Conceptual Data Model)

Teknik Informatika S1

BAB III METODOLOGI PENELITIAN

Minggu 6 Prinsip & Konsep Desain

BAB III ANALISIS SISTEM

BAB II TINJAUAN PUSTAKA. intrakurikuler yang memadukan pelaksanaan Tri Dharma Perguruan Tinggi dengan

BAHASA PEMROGRAMAN. Merupakan prosedur/tata cara penulisan program.

BAB III LANDASAN TEORI. mengumpulkan (input), memanipulasi (process), menyimpan, dan menghasilkan

MAKALAH REKAYASA PERANGKAT LUNAK ( SIKLUS HIDUP PERANGKAT LUNAK )

BAB I PENDAHULUAN. dari pemikiran-pemikiran manusia yang semakin maju, hal tersebut dapat. mendukung bagi pengembangan penyebaran informasi.

OOAD (Object Oriented Analysis and Design) UML part 2 (Activity diagram, Class diagram, Sequence diagram)

BAB III METODOLOGI PENELITIAN

Metode Coad -Yourdon

REKAYASA PERANGKAT LUNAK

1. SIMULA di perkenalkan pertama kali pada tahun.. a d b e c. 1970

Rekayasa Perangkat Lunak (Software Engineering)

: ENDRO HASSRIE NIM : MATKUL : REKAYASA PERANGKAT LUNAK PEMODELAN DATA

BAB III LANDASAN TEORI. Menurut Lusyani Sunarya S.Sn (2010:45) Company Profile. sebuah aset lembaga atau perusahaan yang biasa digunakan sebagai tanda

BAB III OBJEK DAN METODE PENELITIAN. Penulis melakukan penelitian pada toko AP Music Gallery Bandung yang

BAB III METODOLOGI PENELITIAN. Gambar 3.1 merupakan desain penelitian yang akan digunakan dalam

Prinsip dan Konsep Desain Perangkat Lunak

BAB II LANDASAN TEORI. Pengertian dan definisi sistem pada berbagai bidang berbeda-beda, tetapi

BAB III METODOLOGI PENELITIAN

Object Oriented Analysis and Design -Pendahuluan- Nisa ul Hafidhoh

MATERI PEMODELAN PERANGKAT LUNAK KELAS XI RPL

Tujuan. entitas yang kemudian akan dibangun. ó Menghasilkan suatu model atau representasi dari. Tim RPL 1 2

Rekayasa Perangkat Lunak

BAB III METODOLOGI PENELITIAN. dalam pengumpulan data atau informasi guna memecahkan permasalahan dan

BAB 1 PENDAHULUAN. Kantor Pelayanan Pajak Pratama Jakarta Kramat Jati merupakan suatu

BAB III METODOLOGI PENELITIAN. tools yang akan digunakan untuk merancang aplikasi generator denah

Mengenal Object Oriented Programming (OOP)

BAB III METODOLOGI PENELITIAN. 3.1 Desain Penelitian Gambar desain penelitian adalah sebagai berikut:

BAB I PENDAHULUAN 1.1 Latar Belakang

P10 Konsep & Prinsip Desain. A. Sidiq P.

FASE PENGEMBANGAN. MPSI sesi 7 & 8

BAB 2 LANDASAN TEORI

BAB III METODOLOGI PENELITIAN

BAB III METODOLOGI PENELITIAN

BAB III OBJEK DAN METODE PENELITIAN. CV. Kayu Laris adalah suatu usaha yang bergerak dibidang perdangangan

BAB II LANDASAN TEORI

Pengenalan Obyek. Arna Fariza. Materi

BAB III PERANCANGAN PROGRAM

2.1 Definisi Analisis Kebutuhan Analisis kebutuhan adalah proses menemukan permasalahan dan menghasilkan alternatif pemecahan yang relevan.

MODEL DESAIN & DOKUMENTASI DESAIN

BAB II LANDASAN TEORI. Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling

BAB II TINJAUAN PUSTAKA. permintaan pengguna dengan tujuan tertentu. Jenis program ini mempunyai sifat

Konsep Basis Data (Lanjut)

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. pengembangan sistem yang lazim disebut Waterfall Model. Metode ini terdiri dari enam

MODEL ANALISA. Untuk Memenuhi Tugas Mata Kuliah Rekayasa Perangkat Lunak. Dosen Pembimbing : Wachyu Hari Haji, S.Kom, MM.

MAKALAH REKAYASA PERANGKAT LUNAK ( PEMODELAN DATA )

Gambar Use Case Diagram

BAB III OBJEK DAN METODE PENELITIAN. Penulis melakukan penelitian pada Toko Nada Bandung yang beralamat di

BAB 1 PENDAHULUAN. bertambah pula fasilitas umum Stasiun Pengisian Bahan bakar Umum

Pemrograman Web Berbasis Framework. Pertemuan 13 : Pengembangan Project (Bag. 1) Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

BAB 2 TINJAUAN PUSTAKA

BAB I PENDAHULUAN. Pada saat ini perkembangan informasi telah berkembang dengan sangat pesat,

BAB I PENDAHULUAN. Badan Perencanaan Pembangunan Daerah (Bappeda) Kota Bandung adalah salah

SESI PERTAMA. 1.1 UML sebagai standarisasi. 1.2 UML, asal usul INFORMATION SYSTEM DESIGN USING UML YUDHO

BAB III MET PEN METODOLOGI PENELITIAN

BAB III LANDASAN TEORI. Dalam mendefinisikan istilah bimbingan, para ahli bidang bimbingan dan

BAB1. PENDAHULUAN Siklus hidup sistem (SLC) SDLC Systems Development Life Cycle Siklus Hidup Pengembangan Sistem Systems Life Cycle

BAB II LANDASAN TEORI. Institut merupakan Perguruan Tinggi yang menyelenggarakan pendidikan

BAB II LANDASAN TEORI

BAB III OBJEK DAN METODE PENELITIAN. Objek peneletian dimana penulis melakukan penelitian yaitu di PT.

BAB I PENDAHULUAN. 1.1 Latar Belakang

1. Analisis Desain 2. UML Sebagai Tools OOA

Software Design. Konsep dan Prinsip Desain Struktur Desain. Mira/Rpl/Design

Object Oriented Programming LOGO

Data, dari waktu ke waktu - sedikit berubah

2. BAB II LANDASAN TEORI. lanjut sehingga terbentuk suatu aplikasi yang sesuai dengan tujuan awal.

1. ARRAY, RECORD DAN OBJECT ORIENTED PROGRAMMING (OOP)

Fungsi Bahasa pemrograman adalah sebagai media untuk menyusun dan memahami serta sebagai alat komunikasi antara pemrogram dengan computer.

BAB 1 PENDAHULUAN Latar Belakang

BAB II LANDASAN TEORI. konsep dasar dan definisi-definisi yang berkaitan dengan perangkat lunak yang

Nama : Rendi Setiawan Nim :

BAB III METODOLOGI PENELITIAN

Citra Noviyasari, S.Si, MT SI - UNIKOM

BAB II LANDASAN TEORI. Teori teori yang digunakan sebagai landasan dalam desain dan. implementasi dari sistem ini adalah sebagai berikut :

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

12. KONSEP DAN PRINSIP ANALISIS

PENGEMBANGAN PERANGKAT LUNAK. Karmilasari

Teknik Informatika. Bab III: Perancangan BasisData

Analisis dan Perancangan Sistem Hanif Al Fatta M.kom

System Analysis. Sistem dan Teknologi Informasi TIP FTP UB

BAB III OBJEK DAN METODE PENELITIAN. Objek data penulis adalah Sistem Informasi Penjualan Produk untuk

BAB III METODOLOGI PENELITIAN. Metodologi yang akan digunakan untuk menyelesaikan skripsi ini dibagi

BAB 1 PENDAHULUAN. E-learning adalah pembelajaran jarak jauh (distance learning) yang

PEMODELAN ANALISIS. Di Susun Oleh : Linda Liana Dosen Pengampu : Wahyu Hari Haji M.Kom

BAB I PENDAHULUAN I-1

Analisis Sistem Hanif Al Fatta M.kom

MEMAHAMI PENGGUNAAN UML

SISTEM INFORMASI AKUNTANSI

BAB III LANDASAN TEORI

Menjelaskan maksud dari arsitektur PL dan kenapa sangat penting.

BAB II LANDASAN TEORI

Transkripsi:

1. PENDAHULUAN Analisis dan desain berorientasi objek adalah cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek, yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas. Model berorientasi objek bermanfaat untuk memahami masalah, komunikasi dengan ahli aplikasi, pemodelan suatu organisasi, menyiapkan dokumentasi serta perancangan program dan basis data. Pertama-tama suatu model analisis dibuat untuk menggambarkan aspek dasar dari domain aplikasi, di mana model tersebut berisi objek yang terdapat dalam domain aplikasi termasuk deskripsi dari keterangan objek dan peri lakunya. A. Berorientasi Objek Secara spesifik, pengertian "berorientasi objek" berarti bahwa kita mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan peri lakunya. Hal ini yang sangat berbeda dengan pemrograman konvensional di mana struktur data dan perilaku hanya berhubungan secara terpisah. Terdapat beberapa cara untuk menentukan karakteristik dalam pendekatan berorientasi objek, tetapi secara umum mencakup empat hal, yaitu identifikasi, klasifikasi, polymorphisme dan inheritance. 1. Karakteristik dari Objek Identitas berarti bahwa data diukur menjai deskrit yang membedakan entitas disebut objek. Suatu paragraf dari dokumen, suatu window dari workstation, dan raja putih dari buah catur adalah contoh dari objek. Objek dapat 1

kongkrit, seperti halnya arsip dalam sistem, atau konseptual seperti kebijakan penjadwalan dalam multiprocessing pada sistem operasi. Setiap objek mempunyai sifat yang melekat pada identitasnya. Dua objek dapat berbeda walaupun bila semua nilai atributnya identik. Pada Gambar 1 dapat dilihat beberapa objek. Gambar 1. Macam-macam objek Dalam dunia nyata, suatu objek berada secara sederhana, tapi dalam pemrograman mempunyai penanganan dengan referensi yang unik. Penanganan mungkin dinyatakan dengan berbagai cara, seperti alamat, indeks dari array a- tau nilai unik dari atribut. Referensi objek seragam dan independen dari isi objek, memperbolehkan campuran kumpulan dari objek yang dibuat, seperti suatu file dalam direktori yang berisi file dan subdirektori. Klasifikasi berarti bahwa yang mempunya struktur data (atribut) dan peri laku (operasi) dikumpulkan dalam satu grup yang disebut Kelas. Paragraf, window, buah catur adalah contoh dari Kelas. Kelas merupakan abtraksi yang menjelaskan sifat penting pada suatu aplikasi dan mengabaikan yang lain Setiap kelas menunjukkan suatu kumpulan infinite yang mungkin dari objek. Suatu objek dapat dikatakan sebagai instance dari kelas. Setiap instance dari kelas mempunyai nilai individu untuk setiap nama atribut dan operasi, tetapi memiliki 2

bersama atribut dan operasi dengan instance lain dalam kelas. Gambar2 menunjukkan dua kelas dengan beberapa instance yang berhubungan dengannya. Gambar 2. Kelas dan objek Dalam dunia nyata, suatu operasi adalah abtraksi dari anlogi peri laku terhadap objek-objek yang berbeda. Setiap objek mengetahui bagaimana melakukan operasinya. Dalam bahasa pemrograman beraorientasi objek, secara otomatis bahasa akan memilih metode yang tepat untuk menjalankan operasinya berdasar nama dari operasi dan kelas yang di mana dilakukan operasi terhadapnya. Pengguna dari operasi tidak perlu kuatir berapa banyak metode yang terdapat dalam implementasi. Kelas baru dapat ditambahkan tanpa mengubah code yang sudah ada, melengkapi metode adalah melengkapi operasi yang dapat dilakukan terhadap kelas baru. 3

B. Sejarah Berorientasi Objek Pemrograman berorientasi objek pertama-tama dibicarakan pada akhir tahun 1960 menggunakan bahasa SIMULA. Pada tahun 1970, bahasa pemrograman Smaltalk dikembangkan oleh Xerox PARC. Pada saat itu sebagian lain dari dunia menggunakan COBOL dan FORTRAN dengan metode dekomposisi fungsional. Perubahan terjadi selama beberapa dekade sampai dikenalnya faktor utama, yaitu: ❺ Konsep dasar berorientasi objek Konsep dasar pendekatan berorientasi objek mencapai kematangan. Pada umumnya, perhatian pada masalah coding telah berubah menjadi masalah analisa dan desain. ❺ Teknologi dasar pembangunan sistem Gagasan tentang coding sangat dipengaruhi oleh bahasa pemrograman yang tersedia. Sangat sulit memikirkan pemrograman terstruktur bila yang tersedia adalah Assembler, tetapi lebih mudah bila menggunakan Pascal. Sama halnya akan sulit untuk membuat coding berorientasi objek bila bahasa pemrograman yang dipilih COBOL atau FORTRAN. Hal ini lebih mudah bila menggunakan C++, Borland Pascal versi baru, Smaltalk dan Ada. ❺ Kondisi sistem Sistem yang dibangun pada saat ini berbeda dengan sistem beberapa tahun yang lalu. Sistem sekarang lebih besar, kompleks dan juga dapat merupakan sistem yang interaktif. Sebagian besar code pada sistem yang modern memperhatikan user interface, seperti manipulasi window, icon, mouse, dan lain-lain. Pengalaman memperlihatkan bahwa pendekatan berorientasi objek merupakan cara yang lebih tepat untuk sistem berorientasi objek. ❺ Penggunaan model Banyak organisasi mendapatkan bahwa sistem yang dibangun pada saat ini cenderung berorientasi data dari pada sistem yang dibangun sekitar tahun 4

1970 dan 1980. Kompleksitas fungsional kurang diperhatikan dari pada waktu sebelumnya, penggunaan model mendapatkan prioritas yeng lebih besar. C. Pengembangan Berorientasi Objek Pengembangan berorientasi objek merupakan cara berpikir baru tentang perangkat lunak berdasarkan abstraksi yang terdapat dalam dunia nyata. Dalam konteks pengembangan menunjuk pada bagian awal dari siklus hidup pengembangan sistem, yaitu survei, analis, desain, implementasi dan pemeliharaan sistem. Hal yang lebih penting dalam pengembangan berorientasi objek adalah konsep mengidentifikasi dan mengorganisasi domain aplikasi dari pada penggunakan bahasa pemrograman, berorientasi objek atau tidak. 1. Konsep Pemodelan Kebanyakan usaha akhir dalam lingkungan berorientasi objek dipusatkan pada bahasa pemrograman. Pada saat ini banyak literatur yang mengutamakan implementasi dibandingkan dengan analisa dan desain. Pemrograman berorientasi objek sangat bermanfaat untuk menghilangkan keterbatasan, yang sebenarnya tidak fleksibel dalam bahasa pemrograman tradisional. Pengembangan berorientasi objek adalam proses konseptual terpisah dengan bahasa pemrograman sampai tahap terakhir. Pengembangan berorientasi objek secara mendasar merupakan cara berpikir baru dan bukan suatu teknik pemrograman. Hal ini dapat melayani sebagai media spesifikasi, analisa, dokumentasi dan interface seperti halnya pemrograman. Bahkan sebagai alat pemrograman, dapat memiliki berbagai sasaran, termasuk bahasa pemrograman dan basis data sebaik dengan bahasa pemrograman berorientasi obyek. 2. Metodologi Berorientasi Objek Metodologi berorientasi objek diperkenalkan pada tahun 1980, menggunakan perangkat kerja dan teknik-teknik yang dibutuhkan dalam 5

pengembangan sistem, yaitu dynamic dan static object oriented model, state transition diagram dan case scenario. Fokus utama metodologi ini pada objek, dengan melihat suatu sistem terdiri dari objek yang saling berhubungan. Objek dapat digambarkan sebagai benda, orang, tempat dan sebagainya yang mempunyai atribut dan metode. Metodologi terdiri dari pembuatan model dari domain aplikasi, kemudian menambahkan detail implementasi pada saat desain dari suatu sistem. Tahaptahap metodologi berdasarkan Sistem Development Life Cycle (SDLC), dengan berorientasi objek dapat dijelaskan sebagai berikut: ❺ Analisa Analisa berorientasi objek dimulai dengan menyatakan suatu masalah, analis membuat model situasi dari dunia nyata, menggambarkan sifat yang penting. Analis harus bekerja dengan pihak yang membutuhkan sistem untuk memahami masalah tersebut. Model analisa adalah abstraksi yang ringkas dan tepat dari apa yang harus dilakukan oleh sistem, dan bagaimana melakukannya. Objek dalam model harus merupakan konsep domain dari aplikasi, dan bukan merupakan implementasi komputer seperti struktur data. Model yang baik harus dipahami dan ditanggapi oleh ahli aplikasi. Empat kesulitan yang merupakan gangguan utama sistem adalah memahami problem domain, komunikasi antara pihak yang berkaitan, perubahan kontinyu, dan penggunaan kembali. ❺ Desain Selama desain sistem tujuan sistem diorganisasi ke dalam sub-sistem berdasar pada struktur analisa dan arsitektur yang dibutuhkan. System designer menentukan karakteristik penampilan secara optimal, menentukan strategi memecahkan masalah, dan menentukan pilihan alokasi sumber daya. Sebagai contoh, system designer mungkin menentukan perubahan pada screen untuk workstation yang memerlukan kecepatan serta resolusi lebih tinggi. Desain model berdasarkan model analisa tetapi berisi detail implementasi. Fokus dari object design adalah perencanaan struktur data dan algoritma yang diperlukan untuk implementasi setiap kelas. Objek domain aplikasi dan objek 6

domain komputer dijelaskan dengan menggunakan konsep dan notasi berorientasi objek yang sama. ❺ Implementasi Kelas, objek dan relasinya dikembangkan dalam tahap object design, akhirnya diterjemahkan ke dalam bahasa pemrograman, basis data, dan implementasi perangkat keras. Dalam tahap implementasi hal yang penting adalah mengikuti penggunaan perangkat lunak yang baik. Konsep berorientasi objek dapat berlaku pada siklus kehidupan dari analis sampai implementasi. Kelas yang sama dipergunakan dari satu tahap ke tahap lain tanpa perubahan notasi, walaupun menambahkan detail implementasi pada tahap akhir. Beberapa kelas tidak merupakan bagian dari analis, tetapi baru dikenali pada tahap desain atau implementasi. Sebagai contoh, struktur data seperti tree, linked lists jarang digambarkan dalam dunia nyata. 3. Karakteristik Metodologi Berorientasi Objek Metodologi berorientasi objek mempunyai karakteristik sebagai berikut: 1. Abstraction Kemampuan untuk menyajikan dalam bentuk yang lebih sederhana. 2. Encapsulation Pengkapsulan merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses. Dengan demikian objek atau prosedur dari luar tidak dapat mengaksesnya. Data terlindung dari prosedur atau objek lain kecuali prosedur yang berada dalam objek itu sendiri. 3. Inheritance Atribut dan metode dari objek induk diturunkan kepada anak objek. Demikian seterusnya. Pendefinisian objek dipergunakan untuk membangun suatu hirarki dari objek turunannya. Inheritance (pewarisan) adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode 7

dari induknya langsung. Bila inheritance dipergunakan, kita tidak perlu membuat atribut dan metode lagi pada anaknya, karena telah diwarisi oleh induknya. Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di antara kelas yang mempunyai hubungan secara hirarki. Suatu kelas dapat ditentukan secara umum, kemudian ditentukan secara spesifik menjadi subkelas. Setiap subkelas mempunyai hubungan atau mewarisi semua sifat yang dimiliki oleh kelas induknya, dan ditambah dengan sifat unik yang dimilikinya. Sifat yang dimiliki oleh kelas induknya tidak perlu diulang dalam setiap subkelas. Sebagai contoh, ScrollingWindows dan FixedWindows adalah subklas dari Windows. Kedua subkelas mewarisi sifat yang dimiliki oleh Windows. ScrollingWindows menambahkan scroll bar dan sebuah offset. Kemampuan untuk menghilangkan beberapa faktor dari superkelas yang bersifat umum dan memasukkannya ke dalam kelas induknya serta mewariskan sifat dari kelas induknya, mengurangi pengulangan dalam desain dan pemrograman. Hal ini merupakan keuntungan utama dari sistem berorientasi objek. 4. Polymorphisme Polymorphisme yaitu aksi yang sama yang dapat dilakukan terhadap beberapa objek. Polimorfisme berarti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda. Operasi move mungkin mempunyai perbedaan dalam kelas window atau buah catur. Suatu operasi adalah aksi di mana objek memperlihatkan dirinya. Rata kanan, display, dan move adalah operasi yang sederhana. Suatu implementasi yang spesifik dari suatu operasi dari kelas tertentu disebut metode. Karena operator berorientasi objek adalah bersifat polimorfisme, mungkin dapat mempunyai lebih dari satu metode. 4. Perbedaan dengan Metodologi Non Objek Pengembangan berorientasi objek berlawanan dengan metodologi berorientasi fungsional, seperti yang diberikan contoh oleh Yourdon [Yourdon- 89] dan DeMarco [DeMarco-79]. Dalam metodologi ini, hal yang utama adalah membuat spesifikasi dan dekomposisi sistem secara fungsional. 8

Berlawanan dengan hal itu, pendekatan berorientasi objek menitikberatkan pertama-tama pada saat melakukan identifikasi objek dari domain aplikasi, kemudian mebuat prosedur yang sesuai dengannya. Walaupun hal ini kelihatannya cenderung tidak langsung, perangkat lunak berorientasi objek menangani lebih baik kebutuhan. Hai ini disebabkan karena berdasarkan kerangka kerja dari domain aplikasi itu sendiri, dari pada kebutuhan fungsional dari suatu problem. Perbedaan yang spesifik dengan metodologi non objek adalah: ❺ Penggunaan alat Metodologi non objek menggunakan beberapa alat untuk menggambarkan model seperti data flow diagram, entity relationship diagram dan structure chart. Sedangkan metodologi berorientasi objek menggunakan satu jenis model dari tahap analisa sampai implementasi, yaitu diagram objek. ❺ Data dan proses Pada metodologi non objek, data dan proses dianggap sebagai dua komponen yang berlainan, sedangkan pada metodologi berorientasi objek, data dan proses merupakan satu kesatuan, yaitu bagian dari objek. ❺ Bahasa pemrograman Metodologi non objek dipergunakan untuk melengkapi pemrograman terstruktur pada bahasa generasi ketiga, sedangkan metodologi berorientasi objek dipergunakan untuk pemrograman berorientasi objek dan bahasa generasi keempat. D. Tema Berorientasi Objek Terdapat beberapa tema sebagai dasar teknologi berorientasi objek Walaupun tema ini tidak unik untuk sistem berorientasi objek, namun sangat menunjang sistem berorientasi objek. 9

1. Abstraksi Abstraksi berarti memfokuskan pada aspek yang melekat dari entitas dan mengabaikan sifat yang sementara. Dalam pengembangan sistem, hal ini berarti memfokuskan pada apakah suatu objek dan apa yang dikerjakan oleh objek tersebut, sebelum menentukan implementasinya. Sebagian besar bahasa pemrograman modern dilengkapi dengan abstraksi data, tetapi kemampuan inheritance dan polymorphisme melengkapi kekuatan tambahan yang dimilikinya. Menggunakan abstraksi dalam analisa berarti hanya melakukan konsep domain aplikasi, tidak menentukan desain dan implementasi sebelum masalah dipahami. Penggunaan abstraksi yang sesuai memungkinkan model yang sama digunakan untuk analisa perancangan tingkat tinggi, struktur program, struktur basis data, dan dokumentasi. Suatu bentuk bahasa pemrograman yang bebas dari desain berbeda dengan detail pemrograman sampai akhir, secara relatif adalah tahap pengembangan yang bersifat mekanik. 2. Pengkapsulan Pengkapsulan (juga informayion hiding) terdiri dari pemisahan aspek eksternal dari suatu objek, di mana dapat diakses oleh objek lain. Pengkapsulan melindungi program dari saling keterkaitan sehingga kesempatan kecil mempunyai akibat penyimpangan. Implementasi dari suatu objek dapat berubah tanpa mempengaruhi aplikasi yang digunakan. Seorang mungkin menginginkan mengubah implementasi dari objek untuk mendapatkan penampilan. Pengkapsulan tidak unik terhadap bahasa berorientasi objek, tetapi kemampuan untuk mengkombinasikan struktur data dengan perilaku dalam satu entitas membuat pengkapsulan jelas dan mempunyai kekuatan lebih dari pada dalam bahasa konvensional yang memisahkan data dengan perilaku. 10

3. Menggabungkan Data dengan Perilaku Pemanggilan dari operasi tidak perlu dipikirkan berapa banyak implementasi yang diberikan oleh operasi yang ada. Polymorphisme operator menjadwalkan beban apa implementasi yang digunakan dari kode pemanggilan pada hirarki kelas. Sebagai contoh, code yang bukan berorientasi pada objek menampilkan isi dari window harus membedakan tipe dari setiap bentuk, seperti poligon, lingkaran atau teks dan memanggil prosedur yang tepat untuk menampilkannya. Program berorientasi objek lebih sederhana memohon operasi draw pada setiap bentuk, penentuan di mana prosedur digunakan dibuat implisit oleh setiap objek berdasarkan kelasnya. Tidak perlu selalu mengulang pilihan prosedur setiap saat operasi dilakukan dalam program aplikasi. Pemeliharaan lebih mudah, karena prosedur yang dipanggil tidak perlu dimodifikasi setiap kelas baru ditambahkan. Dalam sistem berorientasi objek hirarki struktur data identik dengan pewarisan hirarki operasi. Gambar 3. Struktur hirarki prosedural fan berorientasi objek 11

4. Penggunaan Bersama Teknik berorientasi objek menawarkan penggunaan bersama untuk beberapa tingkat yang berbeda. Pewarisan struktur data dan perilaku memungkinkan penggunaan bersama antara beberapa subkelas yang sama tanpa redundancy. Pemakaian bersama code adalah keuntungan utama dari bahasa berorientasi objek. Pengembangan berorientasi objek tidak hanya mengizinkan informasi dipergunakan bersama dalam aplikasi, tatapi memberikan prospek untuk menggunakan desain dan code bersama pada prospek mendatang. Orientasi objek bukan merupakan formula ajaib untuk melakukan penggunaan kembali. Penggunaan kembali tidak datang begitu saja, tetapi harus direncanakan dengan baik di bawah aplikasi dan memerlukan tenaga tambahan yang lebih besar dalam desain. 12