Selasa, 07 Desember 2021

Rangkuman Bab 6 Bab 7

 

Bab 6

Pemrograman Berorientasi Objek

1.   Pengertian Pemrograman Berorientasi Objek

Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya. Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan secara sistematis.

keuntungan menggunakan metodologi berorientasi objek adalah sebagai berikut :

  1. Meningkatkan produktivitas
  2. Kecepatan pengembangan
  3. Kemudahan pemeliharaan
  4. Adanya konsistensi
  5. Meningkatkan kualitas perangkat lunak

Banyak orang berpikir bahwa pemrograman berorientasi objek identik dengan bahasa Java. Memang bahasa Java merupakan bahasa yang paling konsisten dalam mengimplementasikan paradigma pemrograman berorientasi objek. namun sebenarnya pemrograman yang mendukung pemrograman berorientasi objek tidak hanya bahasa Java.

Berikut beberapa contoh bahasa pemrograman yang mendukung pemrograman berorientasi objek :

  • Smalltalk
  • Eiffel
  • C++
  • PHP
  • Java

2.   Konsep Dasar Berorientasi Objek

Pendekatan berorientasi objek merupakan suatu teknik atau cara pendeketan dalam melihat permasalahan dan sistem. Pendekatan berorientasi objek  akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia nyata.

Dalam rekayasa perangkat lunak, konsep pendekatan berorientasi objek dapat diterapkan pada tahap analisis, perancangan, pemrograman, dan penhujian perangkat lunak.

    Sistem berorientasi objek merupakan sebuah sistem yang dibangun dengan berdasarkan metode berorientasi objek adalah sebuah sistem yang komponennya dibungkus (dienkapsulasi) menjadi kelompok data dan fungsi. Setiap komponen dalam sistem tersebut dapat mewarisi atribut dan sifat dan komponen lainnya. dan dapat berinteraksi satu sama lain.

Berikut ini adalah beberapa konsep dasar yang harus dipahami tentang metodologi berorientasi objek:

  • Kelas (class)
  • Objek (object)
  • Metode (method)
  • Atribut (attribute)
  • Abstraksi (abstraction)
  • Enkapsulasi (encapsulation)
  • Pewarisan (inheritance)
  • Antarmuka (interface)
  • Reusability
  • Generalisasi dan Spesialisasi
  • Komunikasi Antar Objek
  • Polimorfisme (polymorphism)
  • Package

3.   Perbandingan Pendekatan OO dan Terstruktur

Perbedaan yang paling dasar dari pendekatan terstruktur dan pendekatan OO (Object Oriented) atau berorientasi objek adalah pada metode berorientasi fungsi atau aliran data/Data Flow Diagram (DFD) / pendekatan terstruktur, dekomposisi permasalahan dilakukan berdasarkan fungsi atau proses secara hirarki, mulai dan konteks sampai proses-proses yang paling kecil. Sementara pada metode berorientasi objek. dekomposisi permasalahan dilakukan berdasarkan objek-objek yang ada dalam sistem.

Pendekatan berorientasi objek saat ini berkembang cukup pesat karena mempunyai kelebihan dalam peningkatan produktivitas karema mempunyai reusability  yang cukup tinggi dibandingkan dengan pendekatan lain.

Ilustrasi perbandingan pendekatan berorientasi objek dengan pendekatan terstruktur dapat dilihat pada gambar berikut :




Bab 7

Analisis dan Desain Berorientasi Objek

1.   Analisis Berorientasi Objek

Analisis berorientasi objek atau Object Oriented Analysis (OOA) adalah tahapan untuk menganalisis spesifikasi atau kebutuhan akan sistem yang akan dibangun dengan konsep berorientasi objek, apakah benar kebutuhan yang ada dapat diimplementasikan menjadi sebuah sistem berorientasi objek.

OOA biasanya menggunakan kartu CRC (Component, Responsibility, Collaborator) untuk membangun kelas-kelas yang akan digunakan atau menggunakan UML (Unified Modeling Language) pada bagian diagram use case, diagram kelas, dan diagram objek.

Sebelum perkembangan UML ada beberapa bahasa pemodelan yang berkembang untuk memodelkan sistem berorientasi objek. Bahasa pemodelan berorientasi objek pada awal perkembangannya (generasi awal) diantaranya adalah : 

  1. CRC
  2. Metode Booch
  3. OMT
  4. Metode Coad Yourdon
  5. OOSE

2.   Desain Berorientasi Objek

Desain berorientasi objek atau Object Oriented Design (OOD) adalah tahapan perantara untuk memetakan spesifikasi atau kebutuhan sistem yang akan dibangun dengan konsep berorientasi objek ke desain pemodelan agar lebih mudah diimplementasikan dengan pemrograman berorientasi objek.

OOA dan OOD dalam proses yang berulang-ulang seringnya memiliki batasan yang samar, sehingga kedua tahapan ini sering juga disebut OOAD (Object Oriented Analysis and Design) atau dalam bahasa Indonesia berarti Analisis dan Desain Berorientasi Objek.

3.   CASE Tools

CASE (Computer-Aided Software Engineeringtools atau perangkat pembantu berbasis komputer untuk rekayasa perangkat lunak adalah aplikasi atau perangkat lunak yang membantu pembuatan sebuah sistem perangkat lunak. CASE tools muncul karena kebutuhan para pelaku rekayasa perangkat lunak akan perangkat yang memudahkan pekerjaan mereka.

CASE tools tidak hanya berfokus pada tahap awal pengembangan perangkat lunak, tapi sudah ke semua bagian pengembangan dan perbaikan perangkat lunak.

Perangkat lunak yang termasuk CASE tools dapat merupakan perangkat lunak dalam tahap analisis, desain, dokumentasi, maupun implementasi ke dalam kode program dan pengujian program. CASE tools termasuk editor desain perangkat lunak, editor kode program, kompiler, debugger, perangkat pembangunan sistem perangkat lunak, dan lain sebagainya. CASE pada dasarnya digunakan untuk membangun kualitas perangkat lunak yang memiliki performansi efektif.

CASE tools dapat dikelompokkan menjadi empat dimensi yang berbeda sebagai berikut :

  1. Pendukung alur hidup perangkat lunak (Life cycle support)
  2. Dimensi integrasi (Integration dimension)
  3. Dimensi Konstruksi (Construction dimension)
  4. Dimesi CASE berbasis keilmuan (Knowledge-based CASE) 

Banyaknya CASE tools yang dapat digunakan membuat perlunya ada standarisasi CASE tools yang baik itu sendiri untuk menghindari hal-hal berikut :

  • Standarisasi yang tidak memadai yang dapat menyebabkan integrasi komponen antar yang menggunakan CASE tools satu dan lainnya tidak dapat dilakukan karena perbedaan standar
  • Harapan yang tidak realistis karena tidak menggunakan CASE tools sehingga batasan-batasan yang seharusnya tidak dilakukan dapat dibatasi jika menggunakan CASE tools
  • Waktu implementasi yang lambat
  • Kontrol penyimpanan yang lemah

4.   RUP

Unified Process atau dikenal juga dengan proses iteratid dan Incremental merupakan sebuah proses pengembangan perangkat lunak yang dilakukan secara iteratif (berulang) dan inkremental (bertahap dengan proses menaik).

RUP (Rational Unified Procces) adalah pendekatan pengembangan perangkat lunak yang dilakukan berulang-ulang (iterative), fokus pada arsitektur (architecture-centric), lebih diarahkan berdasarkan penggunaan kasus (use case driven).

Proses pengulangan/iteratif pada RUP secara global dapat dilihat pada gambar berikut :



a.   Kelebihan RUP

Berikut adalah hal-hal yang dapat diatas oleh RUP dibanding waterfall :

1.      RUP mengakomodasi perubahan kebutuhan perangkat lunak

2.      Integrasi bukanlah sebuah proses besar dan cepat ("big bang") di akhir proyek

3.      Risiko biasanya ditemukan atau dialamatkan selama pada proses integrasi awal

4.      Manajemen berarti membuat perubahan taktik pada produk

5.      Mendukung fasilitas penggunaan kembali

6.   Kecacatan dapat ditemukan dan diperbaiki pada beberapa iterasi menghasilkan arsitektur yang baik dan aplikasi berkualitas tinggi

7.      Lebih baik menggunakan "anggota proyek" dibandingkan susunan secara seri pada tim proyek

8.      Anggota tim belajar selama proyek berjalan

9.      Pengembangan perangkat lunak dapat diperbaiki ering proses pengembangan perangkat lunak

b.   Fase RUP

RUP memiliki empat buah tahap atau fase yang dapat dilakukan pula secara interatif. Berikut ini adalah gambar alur hidup RUP :


 

Fase pada RUP:

1.      Inception (permulaan)

2.      Elaboration (perluasan/perencanaan)

3.      Construction (konstruksi)

4.      Transition (transisi)

Tidak ada komentar:

Posting Komentar

Rangkuman Bab 6 Bab 7

  Bab 6 Pemrograman Berorientasi Objek 1.     Pengertian Pemrograman Berorientasi Objek Metodologi berorientasi objek adalah suatu strategi ...