Anda di halaman 1dari 43

Seiring berjalannya waktu, bahasa ditingkatkan, teknik

pengembangan berkembang, praktik terbaik muncul, dan


metodologi berorientasi objek formal telah dibuat.

Saat ini pengembangan berorientasi objek merupakan


pengembangan yang kaya dan kuat model. Bagian ini
mengambil langkah mundur untuk melihat teori yang
Pada masa awal teknologi objek, banyak orang yang pertama mendasarinya yang memberikan landasan untuk semua hal
kali memperkenalkannya menjadi “OO” melalui bahasa di atas dan memberikan wawasan tentangnya mengapa
pemrograman. Mereka menemukan bahasa-bahasa baru ini segala sesuatunya berjalan sebagaimana adanya dalam
yang dapat bermanfaat bagi mereka dan mencoba paradigma berorientasi objek
menerapkannya secara praktis bahasa untuk memecahkan
masalah dunia nyata.
Semakin kompleks suatu sistem, semakin terbuka
kemungkinan terjadinya kerusakan total. Jarang sekali
seorang pembangun berpikir untuk menambahkan sub-
basement baru ke sebuah bangunan 100 lantai yang ada.
Melakukan hal itu akan sangat mahal dan akan memakan
banyak biaya tentu mengundang kegagalan. Hebatnya,
pengguna sistem perangkat lunak jarang sekali berpikir
Pemborosan Sumber Daya Manusia—yang merupakan komoditas
dua kali untuk meminta perubahan yang setara. paling berharga—juga sebagai hilangnya peluang yang cukup besar
Ukuran Perangkat Lunak Penggunaan Teknologi atau Algoritma
Tingkat Tinggi

Struktur yang Rumit


Jika struktur perangkat lunak tidak rapi atau
Ketidakjelasan Dokumentasi
terlalu berlapis-lapis, ini dapat menyebabkan Kurangnya dokumentasi yang baik atau tidak ada dokumentasi
kompleksitas yang inheren. sama sekali dapat membuat perangkat lunak sulit dipahami dan
dikelola.

Ketergantungan Antar Komponen Peraturan atau Kebijakan yang Rumit


Jika perangkat lunak harus mematuhi peraturan, kebijakan, atau
standar yang kompleks, ini juga dapat menambah tingkat
kompleksitas inheren.
Arsitektur suatu sistem yang kompleks
merupakan fungsi dari komponen-komponennya
juga sebagai hubungan hierarkis di antara
komponen-komponen ini.
Tujuan perancangan (Mostow, 1985) adalah untuk
membangun sebuah sistem yang:

■ Memenuhi spesifikasi fungsional tertentu (mungkin informal).


■ Sesuai dengan batasan media target
■ Memenuhi persyaratan implisit atau eksplisit mengenai kinerja
dan penggunaan sumber daya
■ Memenuhi kriteria desain implisit atau eksplisit pada bentuk
artefak
■ Memenuhi batasan pada proses desain itu sendiri, seperti
lamanya atau biayanya, atau alat yang tersedia untuk melakukan
Dalam disiplin ilmu teknik, desain mencakup desain
pendekatan disiplin yang kita gunakan untuk
menemukan solusi bagi beberapa masalah,
sehingga memberikan jalan mulai dari
persyaratan hingga implementasi.
Model objek mencakup prinsip :
1. Abstraksi
2. Enkapsulasi
3. Modularitas
4. Hierarki
5. Pengetikan
6. Konkurensi
Teknologi berorientasi objek dibangun diatas landasan 7. Persistensi.
rekayasa yang baik, yang elemen-elemennya secara kolektif
kita sebut model objek pengembangan atau sekadar model
objek.
Abstraksi
Proses menyembunyikan detail yang tidak diperlukan dari suatu objek dan hanya mengekspos detail yang relevan. Ini membantu dalam
pemahaman yang lebih baik dan pengelolaan objek karena hanya informasi penting yang diberikan kepada pengguna.

Enkapsulasi
Konsep yang menggabungkan data dan metode yang beroperasi pada data ke dalam satu unit tunggal yang disebut objek. Ini juga
melibatkan pembatasan akses langsung ke data dan metode, dan penggunaan metode publik untuk berinteraksi dengan objek tersebut.

Modularitas
Konsep di mana program dibagi menjadi modul atau komponen independen yang dapat dikelola secara terpisah. Setiap modul biasanya
berkaitan dengan fungsi atau tanggung jawab tertentu. Ini membantu dalam memecah program menjadi bagian-bagian yang lebih kecil dan
mudah dipahami.

Hierarki
Konsep di mana objek-objek dapat diorganisasi dalam struktur yang bersifat hierarkis. Ini menciptakan tingkatan atau tingkatan yang memungkinkan
pewarisan properti dan metode dari objek di tingkat yang lebih tinggi ke objek di tingkat yang lebih rendah.
Pengetikan (Tipe Data)
Pengetikan adalah tentang mendefinisikan tipe data untuk objek. Ini memungkinkan compiler atau lingkungan program untuk memeriksa
kesalahan tipe data pada waktu kompilasi dan memberikan keamanan tambahan dalam pengembangan perangkat lunak.

Konkurensi
Kemampuan sistem untuk menjalankan beberapa tugas atau proses secara bersamaan. Dalam pemrograman berorientasi objek, konkurensi
sering diimplementasikan dengan menggunakan objek-objek yang independen yang berbagi sumber daya dan dapat berjalan bersamaan..

Persistensi
Berkaitan dengan kemampuan untuk menyimpan data objek dalam suatu bentuk yang dapat diakses di masa depan, misalnya, menyimpan data
objek ke dalam database atau berkas untuk mempertahankan keadaan aplikasi.
FORTRAN I, ALGOL 58, Flowmatic, IPL V semuanya ke Ekspresi
matematika
Banyak bahasa yang muncul tapi sedikit yang bertahan seperti
Smalltalk 80 (Pure object-oriented language), C++ (Derived from C and
FORTRAN II (Subroutines, separate compilation), ALGOL 60 (Block Simula) Ada83 (Strong typing; heavy Pascal influence), Eiffel (Derived
structure, data types), COBOL (Data description, file handling), from Ada and Simula)
Lisp (List processing, pointers, garbage collection)

• Visual Basic (Eased development of the graphical user interface


PL/1 (FORTRAN + ALGOL + COBOL), ALGOL 68 (Rigorous (GUI) for Windows applications)
successor to ALGOL 60), Pascal (Simple successor to ALGOL 60), • Java (Successor to Oak; designed for portability)
Simula (Classes, data abstraction) • Python (Object-oriented scripting language)
• J2EE (Java-based framework for enterprise computing)
• .NET (Microsoft’s object-based framework)
Banyak bahasa yang muncul tapi sedikit yang bertahan seperti • Visual C# (Java competitor for the Microsoft .NET) Framework
C (Efficient; small executables), FORTRAN 77 (ANSI standardization) • Visual Basic .NET (Visual Basic for the Microsoft .NET Framework)
Unified Modeling Language (UML) adalah bahasa pemodelan utama yang
digunakan untuk menganalisis, menentukan, dan merancang sistem
perangkat lunak.
Jenis diagram yang digunakan untuk menggambarkan perilaku berbagai elemen
dalam sistem perangkat lunak, seperti objek, kelas, use case, atau komponen.
Diagram perilaku fokus pada bagaimana elemen-elemen ini berinteraksi dan
berperilaku dalam berbagai skenario atau situasi. Diagram perilaku membantu
pengembang dan pemangku kepentingan untuk memahami bagaimana sistem
akan berperilaku dalam situasi yang berbeda.
Beberapa komponen penting dalam diagram paket:
Jenis diagram struktur yang digunakan untuk 1.Paket: Simbol berbentuk persegi panjang yang mewakili
menggambarkan struktur hierarki paket dalam sistem paket. Paket dapat mewakili unit organisasi yang berbeda
perangkat lunak. Paket adalah wadah logis yang dalam proyek perangkat lunak atau bagian-bagian tertentu
digunakan untuk mengelompokkan dan mengorganisasi dari sistem.
elemen-elemen perangkat lunak, seperti kelas,
komponen, atau objek, menjadi unit-unit yang lebih 2.Elemen dalam Paket: Elemen-elemen perangkat lunak,
besar. seperti kelas, komponen, atau objek, yang ditempatkan
dalam paket.

3.Hubungan: Garis dan panah yang menghubungkan paket


dan elemen dalam paket untuk menunjukkan bagaimana
elemen-elemen tersebut terkait atau tergantung satu sama
lain.
Jenis diagram struktur yang digunakan untuk 3. Metode: Metode adalah operasi atau fungsi yang dapat
menggambarkan struktur kelas dalam sistem perangkat dilakukan oleh suatu kelas. Mereka digambarkan dalam
lunak. Diagram Kelas memberikan pandangan tentang bentuk nama metode di bawah simbol kelas.
atribut, metode, hubungan, dan perilaku kelas-kelas yang
membentuk inti dari perangkat lunak yang sedang 4. Agregasi dan Asosiasi: Garis-garis dan panah yang
dipodelkan. Diagram ini membantu dalam merancang, menghubungkan kelas-kelas untuk menunjukkan
memahami, dan mendokumentasikan struktur perangkat hubungan antara kelas-kelas tersebut. Asosiasi
lunak. menggambarkan hubungan yang lebih longgar antara
kelas, sementara agregasi menggambarkan hubungan
Beberapa elemen utama yang terkait dengan Diagram Kelas: yang lebih kuat, seperti "bagian dari.“
1.Kelas: Simbol berbentuk persegi panjang yang mewakili suatu
kelas. Kelas adalah entitas dasar yang menggambarkan objek- 5. Generalisasi (Pewarisan): Garis dengan panah yang
objek yang memiliki karakteristik (atribut) dan perilaku menunjukkan hubungan antara kelas induk (superclass)
(metode) yang sama. dan kelas turunan (subclass) dalam konsep pewarisan
atau generalisasi.
2.Atribut: Atribut adalah variabel atau data yang dimiliki oleh
suatu kelas. Mereka digambarkan dalam bentuk nama atribut 6. Abstrak dan Final: Keterangan tambahan yang
di bawah simbol kelas. digunakan untuk menandai kelas sebagai abstrak (kelas
yang tidak dapat diinstansiasi) atau final (kelas yang
tidak dapat diwariskan).
2. Interface: Interface adalah kontrak yang mendefinisikan
Jenis diagram struktur yang digunakan untuk metode dan atribut yang dapat diakses oleh komponen
menggambarkan komponen-komponen perangkat lunak lain. Mereka digambarkan dalam bentuk lingkaran kecil di
yang berinteraksi dalam sistem. Diagram ini fokus pada atas komponen yang menggambarkan mereka.
organisasi fisik atau modularitas sistem perangkat lunak,
serta cara komponen-komponen ini berinteraksi satu 3. Ketergantungan: Garis dengan panah yang
sama lain. menghubungkan komponen untuk menunjukkan
ketergantungan antara komponen-komponen tersebut.
Ketergantungan ini bisa berupa ketergantungan
Beberapa elemen utama yang terkait dengan Diagram penggunaan atau ketergantungan yang dihasilkan dari
Komponen: penggunaan interface.
1.Komponen: Simbol berbentuk persegi panjang yang mewakili 4. Paket: Paket digunakan untuk mengorganisasi komponen-
komponen perangkat lunak. Komponen adalah unit modular komponen dalam kelompok yang lebih besar untuk
yang dapat diimplementasikan, seperti file biner, paket, atau mengurangi kompleksitas.
modul tertentu dalam sistem.
5. Hubungan Komponen: Diagram Komponen juga dapat
digunakan untuk menunjukkan hubungan antara
komponen-komponen, seperti hubungan ketergantungan
atau asosiasi.
Jenis diagram struktur yang digunakan untuk 2. Komponen: Simbol berbentuk persegi panjang yang
menggambarkan bagaimana komponen-komponen mewakili komponen perangkat lunak. Komponen
perangkat lunak dan perangkat keras berinteraksi dalam perangkat lunak dihubungkan ke node tempat mereka
lingkungan fisik. Diagram ini fokus pada organisasi diimplementasikan.
perangkat keras, node (simpul), dan bagaimana
komponen perangkat lunak diimplementasikan di 3. Asosiasi: Garis yang menghubungkan node dengan
dalamnya. komponen untuk menunjukkan di mana komponen
Diagram Penyebaran membantu dalam pemodelan dan diimplementasikan dalam lingkungan fisik. Ini juga dapat
pemahaman bagaimana sistem perangkat lunak menunjukkan hubungan ketergantungan antara node dan
diimplementasikan dan dijalankan pada infrastruktur fisik. komponen.

4. Artifak: Artifak adalah objek fisik yang digunakan untuk


Beberapa elemen utama yang terkait dengan Diagram menyimpan atau mengelola komponen atau sumber daya
Penyebaran: perangkat lunak, seperti file konfigurasi, basis data, atau
berkas-berkas lain.
1.Node (Simpul): Simbol berbentuk kotak atau persegi
panjang yang mewakili perangkat keras fisik atau node 5. Paket: Paket digunakan untuk mengelompokkan node atau
jaringan. Contoh node dapat mencakup server fisik, komponen dalam kelompok yang lebih besar untuk
komputer klien, router, atau perangkat lain yang digunakan mengorganisasi elemen-elemen dalam diagram.
dalam lingkungan perangkat keras.
Elemen-elemen utama yang terkait dengan Diagram Objek:

Jenis diagram yang digunakan untuk menggambarkan 1.Objek: Simbol berbentuk persegi panjang yang mewakili
instansi konkret dari kelas-kelas (objek-objek) dalam objek konkret dari kelas tertentu. Objek dapat memiliki
suatu waktu tertentu. atribut dan nilai yang spesifik pada saat tertentu.
Diagram ini memberikan pandangan statis dari objek-
objek yang ada dalam sistem pada saat tertentu dan cara 2.Atribut dan Nilai: Objek dapat memiliki atribut (variabel
mereka berinteraksi. atau data) yang memiliki nilai tertentu pada saat tersebut.
Diagram Objek menggambarkan data yang aktif dan Nilai-nilai atribut ditampilkan bersama objek.
hubungan antara objek-objek, membantu dalam
3.Hubungan: Garis dan panah yang menghubungkan objek-
pemahaman detail dari struktur sistem pada suatu titik
objek untuk menunjukkan hubungan antara mereka.
waktu.
Hubungan ini dapat mencakup hubungan asosiasi,
komposisi, atau ketergantungan.
Jenis diagram yang digunakan untuk menggambarkan 2. Komponen Internal: Simbol berbentuk persegi panjang
struktur internal dari suatu kelas atau komponen yang yang mewakili komponen-komponen atau bagian-bagian
kompleks. Diagram ini fokus pada bagaimana kelas atau internal dari kelas atau komponen tersebut.
komponen tersebut diimplementasikan dan bagaimana
bagian-bagian mereka terhubung dan berinteraksi di 3. Hubungan: Garis dan panah yang menghubungkan
dalamnya. komponen internal ke komposit untuk menunjukkan
Diagram Struktur Komposit membantu dalam hubungan dan ketergantungan antara mereka. Ini
menggambarkan komponen yang lebih kompleks dan mencakup hubungan seperti asosiasi, komposisi, atau
agregasi.
mendalam, seperti kelas-kelas yang memiliki komponen
internal atau komponen yang lebih besar yang terdiri dari
4. Port: Port adalah titik akses yang digunakan untuk
komponen-komponen yang lebih kecil.
berkomunikasi dengan komponen internal. Mereka dapat
digunakan untuk menggambarkan bagaimana komponen
Elemen-elemen utama yang terkait dengan Diagram Struktur internal terhubung dengan komponen eksternal.
Komposit:
5. Kapsul: Kapsul adalah simbol bundar atau persegi panjang
1.Komposit: Simbol berbentuk persegi panjang yang mewakili yang digunakan untuk mengelompokkan dan melindungi
kelas atau komponen kompleks yang ingin dijelaskan struktur komponen internal dalam komposit.
internalnya.
Untuk penjelasannya adalah sebagai berikut:
1.Kotak yang berisi nama dari sebuah struktur classifier yang
digambarkan. Sementara kotak besar yang ada di bawahnya merupakan
komponen dari struktur internal yang terdapat di dalam classifier tersebut

2.Kotak tersebut adalah pusat prosesor yang terdapat pada sistem ATM

3.Terdapat 4 kotak yang memiliki nama part box. Untuk baris setiap kotak
dinamakan sebagai role part atau baris bagian

4.Kotak yang memiliki ciri khas berupa garis putus-putus


dinamakan referenced role

5.Garis tersebut dinamakan jalur bus yang digunakan untuk


mengkoneksikan antar part

6.Merupakan simbol port

7.Terdapat 4 kotak yang disebut sebagai multiplicity of part yang jika


diterjemahkan ke Bahasa Indonesia memiliki arti 4 bagian

8.Terdapat sebuah kotak yang dinamakan vault. Kotak ini termasuk class
bersarang serta anonym

9.Pada nomor 9 dan juga 10 terdapat tanda 1..4 dan juga 1..*. Tanda ini
menunjukkan adanya 1 sampai dengan 4 role serta 1 hingga tak
terhingga. Tanda tersebut dinamakan sebagai tanda multiplicity of role
Elemen-elemen utama yang terkait dengan Diagram Use Case:

1.Aktor (Actor): Aktor adalah entitas eksternal yang berinteraksi


dengan sistem. Aktor dapat berupa pengguna manusia, perangkat
keras, sistem eksternal, atau entitas lain yang berhubungan dengan
Jenis diagram perilaku yang digunakan untuk sistem. Mereka digambarkan sebagai simbol lonceng.
menggambarkan fungsionalitas atau fitur-fitur sistem dari
sudut pandang pengguna atau pemangku kepentingan. 2.Use Case: Use Case adalah deskripsi dari suatu tindakan atau
Diagram Use Case membantu dalam pemahaman cara fungsi tertentu yang dapat dilakukan oleh pengguna atau aktor
pengguna akan berinteraksi dengan sistem dan apa yang dalam interaksi dengan sistem. Use Case menggambarkan skenario
diharapkan dari sistem tersebut. Ini adalah alat yang tertentu yang menjelaskan apa yang sistem lakukan dalam respons
penting dalam analisis kebutuhan perangkat lunak dan terhadap tindakan pengguna. Mereka digambarkan sebagai oval.
perancangan interaksi antara pengguna dan sistem.
3.Asosiasi: Garis yang menghubungkan aktor dengan use case untuk
menunjukkan bahwa aktor tertentu terlibat dalam use case
tertentu. Ini menggambarkan hubungan antara aktor dan
fungsionalitas yang disediakan oleh sistem.

4.Include dan Extend: Include dan Extend adalah hubungan yang


menggambarkan bagaimana satu use case mungkin memasukkan
atau memperluas fungsionalitas dari use case lain. Ini membantu
dalam memodelkan hubungan antara use case yang berbeda.
A Use Case Diagram Showing
«include» Relationships
A Use Case Diagram Showing an
<<extend>> Relationship
A Use Case Diagram Showing an
Extension Point

Anda mungkin juga menyukai