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)

Rangkuman Bab 4 - Bab 5

 Bab 4 - Basis Data

4.1    Pengertian Basis Data

Sistem basis data adalah sistem terkomputerisasi yang tujuan utamanya adalah memeilihara data yang sudah diolah atau informasi dan membuat informasi tersedia saat dibutuhkan. Pada intinya basis data adalah media untuk menyuimoan data agar dapat diakses dengan mudah dan cepat.


Sistem informasi tidak dapat dipisahkan dengan kebutuhan akan basis data apapun bentuknya, entah berupa file teks ataupun Database Management System (DBMS).


Kebutuhan basis data dalam sistem informasi meliputi :

  • memasukkan, menyimpan, dan mengambil data
  • membuat laporan berdasarkan data yang telah disimpan

4.2    DBMS

DBMS (Database Management System) atau dalam bahasa Indonesia sering disebut sebagai Sistem Manajemen Basis Data adalah suatu sistem aplikasi yang dihunakan untuk menyimpan, mengelola, dan menampilkan data.  Suatu sistem aplikasi disebut DBMS jika memenuhi persyaratan minimal sebagai berikut :

  • Mampu menyediakan fasilitas untuk mengelola akses data
  • Mampu menangani integritas data
  • Mampu menangani akses data yang dilakukan secara
  • Mampu menangani backup data

DBMS sudah mulai berkembang sejak tahun 1960an. Kemudian sekitar tahun 1970an mulai berkembang teknologi Relational DBMS yaitu DBMS berbasis relasional model. Relasional Model pertama kali dikembangkan oleh Edgar J. Codd pada tahun 1970.

Pada tahun 1980an mulai berkembang Object Oriented DBMS (OODBMS). OODBMS berkembang seiring dengan perkembangan teknologi pemrograman berorientasi objek. Secara umum dapat diartikan bahwa OODBMS merupakan DBMS yang memandang data sebagai suatu objek.

Berikut ini adalah 4 macam DBMS versi komersial yang paling banyak digunakan di dunia saat ini, yaitu :

  • Oracle
  • Microsoft SQL Server
  • IBM DB2
  • Microsoft Access

Sedangkan DBMS versi open source  yang cukup berkembang dan paling banyak digunakan saat ini adalah sebagai berikut :

  • MySQL
  • PostgreSQL
  • Firebird
  • SQLite

Hampir semua DBMS mengadopsi SQL sebagai bahasa untuk mengelola data pada DBMS.


4.3    SQL

SQL (Structured Query Language) adalah bahasa yang digunakan untuk mengelola data pada RDBMS. SQL awalnya dikembangkan berdasarkan teori aljabar relasional dan kalkulus.

SQL mulai berkembang pada tahun 1970an. SQL mulai digunakan sebagai standar yang resmi pada tahun 1986 oleh ANSI (American National Standards Institute) dan pada tahun 1987 oleh ISO (International Organization for Standardization) dan disebut sebagai SQL-86. Pada perkebangannya, SQL beberapa kali dilakukan revisi. Berikut sejarah perkembangan SQL sampai saat ini :



4.4    Alur Hidup Basis Data

Tidak hanya perangkat lunak yang memiliki alur hidup, dalam membuat perencanaan basis data juga memiliki alur hidup atau Database Life Cycle (DBLC). Alur hidup basis data dapat dilihat pada gambar berikut :


Fase - fase DBLC antara lain :
  • Analisis kebutuhan / requirement analysis
  • Desain lojik basis data / logical database design
  • Desain fisik basis data / physical database design
  • Implementasi

4.5    ERD

Pemodelan awal basis data yang paling banyak digunakan adalah menggunakan Entity Relationship Diagram (ERD). ERD dikembangkan berdasarkan teori himpunan dalam bidang matematika. ERD memiliki beberapa aliran notasi seperti notasi Chen (dikembangkan oleh Peter Chen), Barker (dikembangkan oleh Richard Barker, Ian Palmer, Harry Ellis), notasi Crow's Foot, dan beberapa notasi lain. Namun yang banyak digunakan adalah notasi dari Chen. Berikut adalah simbol-simbol yang digunakan pada ERD dengan notasi Chen : 

ERD biasanya memiliki hhubungan binary (satu relasi menghubungkan dua buah entitas). Beberapa metode perancangan ERD menoleransi hubungan relasi ternary (satu relasi menghubungkan tiga buah relasi) atau N-ary (satu relasi menghubungkan banyak entitas), tapi banyak metode perancangan  ERD yang tidak mengizinkan hubungan ternary atau N-ary.


4.8    CDM

CDM (Conceptual Data Model) atau model konsep data merupakan konsep yang berkaitan dengan pandangan pemakai terhadap data yang disimpan dalam basis data. CDM dibuat sudah dalam bentuk tabel-tabel tanpa tipe data yang menggambarkan relasi antar tabel untuk keperluan implementasi ke basis data.

CDM merupakan hasil penjabaran lebih lanjut dari ERD. ada aturan-aturan yang harus diikuti dalam melakukan konversi ERD menjadi CDM.
Berikut adalah simbol-simbol yang ada pada CDM : 

4.10    PDM

Model Relasional atau Physical Data Model (PDM) adalah model yang menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antara data. PDM sudah merupakan bentuk disik peranangan basis data yang sudah siap diimplementasikan ke dalam DBMS sehingga nama tabel juga sudah merupakan nama asli tabel yang akan diimplementasikan ke dalam DBMS.
Beriut adalah simbol-simbol yang ada pada PDM : 



Bab 5 - Pemrograman Terstruktur

5.1    Pengertian Pemrograman Terstruktur

Pemrograman terstruktur adalah konsep atau paradikma atau sudut pandang pemrograman yang membagi-bagi program berdasarkan fungsi-fungsi atau prosedur-prosedur yang dibutuhkan program komputer.

Fungsi-fungsi dan prosedur-prosedur ditulis secara sekuensial atau terurut dari atas ke bawah sesuai dengan kebergantungan antar fungsi atau prosedur (fungsi atau prosedur yang dapat dipakai oleh fungsi atau prosedur dibawahnya harus yang sudah ditulis atau dideklarasikan di atasnya). Berikut adalah contoh ilustrasi untuk pemrograman terstruktur : 

Pemodulan pada pemrograman terstruktur dibagi berdasarkan fungsi-fungsi dan prosedur-prosedur. Oleh karena itu, pemodelan pada pemrograman terstruktur lebih fokus bagaimana memodelkan data dan fungsi-fungsi atau prosedur-prosedur yang harus dibuat.


5.2    DFD

Data Flow Diagram (DFD) awalnya dikembangkan oleh Chris Gane dan Trish Sarson pada tahun 1979 yang termasuk dalam Structured Systems Analysis and Design Methodology (SSADM) yang ditulis oleh Chris Gane dan Trish Sarson.

Edward Yourdon dan Tom DeMarco memperkenalkan metode yang lain pada tahun 1980-an di mana mengubah persegi dengan sudut lengkung (pada DFD Chris Gane dan Trish Sarson) dengan lingkaran untuk menotasikan.

Data Flow Diagram (DFD) atau dalam bahasa indonesia menjadi Diagram Alir Data (DAD) adalah representasi grafik yang menggambarkan aliran informasi dan transformasi informasi yang diaplikasikan sebagai data yang mengalir dari masukan (input) dan keluaran (output).
DFD dapat digunakan untuk merepresentasikan sebuah sistem atau perangkat lunak pada beberapa level abstraksi. DFD menyediakan mekanisme untuk pemodelan fungsional ataupun pemodelan aliran informasi. Oleh karena itu, DFD lebih sesuai digunakan untuk memodelkan fungsi-fungsi perangkat lunak yang akan diimplementasikan menggunakan pemrograman terstruktur karena pemrograman terstruktur mebagi-bagi bagiannya dengan fungsi-fungsi dan prosedur-prosedur.
Notasi-notasi pada DFD (Edward Yourdon dan Tom DeMarco) adalah sebagai berikut : 



5.3    Kamus Data

Kamus data (data dictonary) dipergunakan untuk memperjelas aliran data yang dihambarkan pada DFD. Kamus data adalah kumpulan daftar elemen data yang mengalir pada sistem perangkat lunak sehingga masukan (input) dan keluaran (output) dapat dipahami secara umum. Kamus data biasanya berisi :

  • nama - nama dari data
  • digunakan pada - merupakan proses-proses yang terkait data
  • deskripsi - merupakan deskripsi data
  • informasi tambahan - seperti tipe data, nilai data, batas nilai data, dan komponen yang membentuk data

Kamus data mmiliki beberapa simbol untuk menjelaskan informasi tambahan sebagai berikut : 



Kamus data pada DFD nanti harus dapat dipetakan dengan hasil perancangan basis data yang dilakukan sebelumnya.


Rangkuman Bab 6 Bab 7

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