Lompat ke konten Lompat ke sidebar Lompat ke footer

Analisis Perancangan Sistem Berorientasi Objek dengan UML

Analisis Perancangan Sistem Berorientasi Objek dengan UML - Artikel ini akan mendefinisikan sebuah hubungan antara antarmuka (interface), kelas-kelas (classes), dan obyek-obyek (objects) yang masing-masing saling bekerjasama dengan aturan tertentu yang unik untuk menyelesaikan suatu masalah. Melalui artikel ini diharapkan dapat mengetahui dan memahami mengenai Perancangan Berorientasi Objek.

PERANCANGAN SISTEM BERORIENTASI OBYEK
  • Merancang sistem berorientasi obyek adalah bagaimana memecah sistem kedalam obyek-obyek berdasarkan pada informasi yang diperoleh terutama pada tahap analisis.
  • Membuat suatu generalisasi dari obyek-obyek untuk mendefinisikan kelas-kelas bagi setiap obyek dalam sistem.
  • Menghasilkan sebuah diagram kelas (struktur dari sistem) menggunakan berbagai notasi standar seperti: OMT (Object Modelling Technique), UML (Unified Modelling Language).

Analisis Perancangan Sistem Berorientasi Objek dengan UML_
image source: www.abdollahi.us
baca juga: Pengertian UML dan Contoh Diagram UML Menurut Para Ahli

OMT (object Modelling Technique)

INHERITANCE (PEWARISAN)
  • Hirarki klasifikasi memungkinkan kelas-kelas obyek mewarisi atribut-atribut dari kelas-kelas yang lebih umum.
  • Pewarisan adalah suatu mekanisme menciptakan kelas-kelas baru (sub-kelas) dari kelas-kelas yang sudah ada.
  • Kelas turunannya adalah sebuah subkelas atau subtype dari kelas sebelumnya.
  • Sub-kelas tersebut dapat diperluas perilakunya dengan menambah metode-metode baru atau struktur-sturktur data baru.
    Misalnya obyek Ford Escorts dapat diwariskan berdasarkan kelas mobil. 

ENCAPSULATION (Pengkapsulan)
  • Pengkapsulan berarti mengemas beberapa item bersama-sama menjadi satu unit yang tertutup dalam rangka menyembunyikan struktur internal suatu obyek dari lingkungan/dunia luar.
  • Pengapsulan seringkali dianggap sebagai “penyembunyian informasi”.
  • Setiap kelas hanya menampakkan interface yang diperlukan untuk berkomunikasi dengan dunia luar (methode) dan menyembunyikan (encapsulating) implementasi aktual didalam kelas.
  • Kita hanya membutuhkan pemahamam tentang interface (methode), tidak perlu paham tentang internalnya (implementation).
  • Pengapsulan merupakan kemampuan sebuah obyek kelas untuk membatasi akses client ke representasi internal obyek (data dan fungsi).
  • Ada tiga metode enkaspulasi:
    - Private
    - Protected
    - Public

POLYMORPHISM
  • Polymorphism memungkinkan memiliki koleksi elemen-elemen dengan bentuk berbeda dari item-item yang berhubungan.
  • Disini obyek-obyek atau kelas-kelas yang berbeda dapat melakukan implementasi suatu metode yang sama.
    Contoh: suatu kelas segi-empat dan kelas segi-tiga dapat melakukan suatu metode ‘hitungLuas’ tetapi dengan menggunakan rumus perhitungan luas yang berbeda.

PERKEMBANGAN BAHASA PEMROGRAMAN

Generasi Awal (Pemrograman Prosedural)
  • Bahasa prosedural seperti Assembler, FORTRAN dan COBOL.
  • Pemrograman merupakan suatu karya seni yang kreatif.
  • Kode rumit seperti spaghetti karena penuh dengan perintah-perintah GOTO yang sulit untuk dipertahankan.

Generasi Kedua (Pemrograman Terstruktur)
  • Perangkat lunak meniru struktur dari suatu model bisnis.
  • GOTO diganti dengan suatu putaran (loop) seperti while, do-while, dan if-then-else.
  • Deretan yang sangat cocok untuk aplikasi-aplikasi ilmiah (matematika adalah suatu prosedur alamiah).

Generasi Dewasa ini (Pemrograman Berorientasi Obyek)
  • Data dan kode dikemas kedalam suatu obyek.
  • Penggunaan kembali dan pemekaran melalui kerjasama antara obyek-obyek.
  • Memungkinkan kombinasi kode struktural dan prosedural dalam obyek.
  • Memungkinkan pemakai mendefiniskan tipe data sebagai sejumlah obyek yang memberikan model sistem yang lebih alamiah dari pada tipe-tipe standard.

Bahasa Pemrograman Berorientasi Obyek
  • Penggunaan bahasa pemrograman berorientasi obyek memungkinkan implementasi langsung perancangan berorientasi obyek, tetapi membutuhkan ruang dan sumber-sumber yang lebih besar.
  • Efektivitas perancangan berorientasi obyek tidak tergantung pada penggunaan bahasa pemrograman tertentu.

UML (Unified Modeling Language)

Apa itu UML?
  • UML singkatan dari Unified Modeling Language
  • UML mengkombinasikan / koleksi dari:
    - Data Modeling concepts (Entity Relationship Diagrams)
    - Business Modeling (work flow)
    - Object Modeling
    - Component Modeling
  • UML adalah bahasa standar pemodelan untuk menggambarkan, menspesifikasikan, membangun, dan mendokumenkan sistem perangkat lunak.
  • Bahasa pemodelan standard.
  • Mendefinisikan suatu metamodel semantik
  • Tidak tergantung pada proses.

Konsep Dasar O-O dalam UML
  • Inheritance
  • Associations
  • Aggregation
  • Composition

Tujuan Perancangan dengan UML
  • Memberikan pemakai bahasa pemodelan visual yang siap pakai sehingga mereka dapat mengembangkan dan mempertukarkan model-model yang berguna.
  • Tidak tergantung kepada bahasa pemrograman tertentu dan proses-proses pengembangan.
  • Memberikan basis formal untuk memahami bahasa pemodelan.
  • Mendukung pengembangan konsep-konsep tingkat tinggi, seperti: kolaborasi, framework, pola-pola dan komponen-komponen.

Konsep UML
UML menggunakan diagram-diagram untuk:
  • Use case diagrams untuk memperlihatkan batas-batas dari suatu sistem dan fungsi-fungsi utama.
  • Interaction diagrams untuk merealisasikan kasus yang digunakan.
  • Class diagrams untuk menggambarkan struktur statis dari suatu sistem.
  • State transition diagrams untuk memodelkan perilaku dari obyek-obyek.
  • Component & deployment diagrams untuk mengungkapkan arsitektur dari implementasi fisik.

Sekian artikel Modul Makalah tentang Analisis Perancangan Sistem Berorientasi Objek dengan UML. Semoga bermanfaat.
Nikita Dini
Nikita Dini Blogger, Internet Marketer, Web Designer