PERANCANGAN
BERORIENTASI
OBJEK
BERORIENTASI
OBJEK
Pengertian UML
UML Yang dimaksud
dengan UML adalah UML merupakan singkatan dari “Unified Modelling
Language” yaitu suatu metode permodelan secara visual untuk sarana
perancangan system berorientasi objek, atau definisi UML yaitu sebagai
suatu bahasa yang sudah menjadi standar pada visualisasi, perancangan dan juga
pendokumentasian sistem software. Saat ini UML sudah menjadi bahasa
standar dalam penulisan blue print software.
Tujuan atau fungsi
dari penggunaan UML
Inilah beberapa
tujuan atau fungsi dari penggunaan UML, yang diantaranaya:
- Dapat memberikan bahasa permodelan visual kepada pengguna dari berbagai macam pemerograman maupun proses rekayasa.
- Dapat menyatukan praktek-praktek terbaik yang ada dalam permodelan.
- Dapat memberikan model yang siap untuk digunakan, merupakan bahasa permodelan visual yang ekspresif untuk mengembangkan system dan untuk saling menukar model secara mudah.
- Dapat berguna sebagai blue print, sebab sangat lengkap dan detail dalam perancangannya yang nantinya akan diketahui informasi yang detail mengenai koding suatu program.
- Dapat memodelkan sistem yang berkonsep berorientasi objek, jadi tidak hanya digunakan untuk memodelkan perangkat lunak (software) saja.
- Dapat menciptakan suatu bahasa permodelan yang nantinya dapat dipergunakan oleh manusia maupun oleh mesin.
Jenis-Jenis
diagram UML dan beberapa contoh diagramnya
a. Use case
diagram
Use case diagram
yaitu salah satu jenis diagram pada UML yang menggambarkan interaksi antara
system danaktor, use case diagram juga dapat men-deskripsikan tipe interaksi
antara sipemakai system dengan sistemnya.
Inilah contoh dari use case diagram.
b. Activity
Diagram
Activity diagram atau
diagram aktivitas yaitu salah satu jenis diagram pada UML yang dapat memodelkan
proses-proses apasaja yang terjadi pada sistem.
Inilah contoh dari activity diagram.
c. Sequence
diagram
Sequence diagram
yaitu salah satu jenis diagram pada UML yang menjelaskan interaksi objek yang
berdasarkan urutan waktu, sequence diagram juga dapat menggambarkan urutan atau
tahapan yang harus dilakukan untuk dapat menghasilkan sesuatu seperti pada use
case diagram.
Inilah contoh dari sequence diagram.
d. Class diagram
Class diagram
yaitu salah satu jenis diagram pada UML yang digunakan untuk menampilkan
kelas-kelas maupun paket-paket yang ada pada suatu sistem yang
nantinya akan digunakan. Jadi diagram ini dapat memberikan sebuah gambaran
mengenai system maupun relasi-relasi yang terdapat pada system tersebut.
Inilah contoh dari class diagram.
e. Statemachine
diagram
Statemachine
diagram yaitu salah satu jenis diagram pada UML yang menggambarkan transisi
maupun perubahan keadaan suatu objek pada sistem.
Inilah contoh dari statemachine diagram.
f. Communication
diagram
Communication
diagram yaitu salah satu jenis diagram pada UML yang dapat menggamabarkan
tahapan terjadinya suatu aktivitas dan diagram ini juga menggambarkan interaksi
antara objek yang ada pada sistem. Hampir sama seperti sequence diagram akan
tetapi communication diagram lebih menekankan kepada peranan masing-masing
objek pada sistem.
Inilah contoh dari communication diagram.
g. Deployment
diagram
Deployment diagram
yaitu salah satu diagram pada UML yang menunjukan tata letak suatu system
secara fisik, dapat juga dikatakan untuk menampilkan bagian-bagian softwere
yang terdapat pada hardware dan digunakan untuk menerapkan suatu system
dan hubungan antara komponen hardware. Jadi
Deployment diagram intinya untuk menunjukan letak software pada hardwere yang digunakan sistem.
Inilah contoh dari deployment diagram.
h. Component
diagram
Component diagram
yaitu salah satu jenis diagram pada UML yang menggambarkan
softwere pada suatu sistem. Component diagram merupakan penerapan
softwere dari satu atau pun lebih class, dan biasanya berupa file data
atau .exe, source kode, table, dokumen dsb.
Inilah contoh dari component diagram.
i. Object diagram
Object diagram yaitu
salah satu jenis diagram pada UML yang menggambarkan objek-objek pada suatu
system dan hubungan antarnya.
j. Composite
structure diagram
Composite
structure diagram yaitu salah satu jenis diagram pada UML yang menggambarkan
struktur internal dari penklasifikasian (class, component atau use case) dan
termasuk titik-titik interaksi penklasifikasian kebagian lainnya dari suatu
sistem. Ini hamper mirip seperti class diagram akan tetapi composite structure
diagram menggambarkan bagian-bagian dari individu kelas saja bukan semua kelas.
k. Interaction
Overview Diagram
Interaction
Overview diagram yaitu salah satu jenis diagram pada UML yang berguna untuk
men-visualisasikan kerjasama dan hubungan antara activity diagram dengan
sequence diagram.
l. Package
diagram
Package diagram
yaitu salah satu jenis diagram pada UML digunakan untuk mengelompokan kelas dan
juga menunjukan bagaimana elemen model akan disusun serta mengambarkan
ketergantungan antara paket-paket.
m. Diagram Timing
Diagram timing yaitu
salah satu jenis diagram pada UML yang disebut sebagai bentuk lain dari
interaksi diagram, dimana fokus yang paling utamanya kepada waktu. Diagram
timing berguna untuk menunjukan faktor-faktor yang membatasi waktu antara perubahan state terhadap objek yang berbeda.
Pemrograman berorientasi objek
Pemrograman berorientasi objek (Inggris: object-oriented
programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek.
Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek.
Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan
mengirim pesan ke objek lainnya,
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang
lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih
jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula
dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah
dikembangkan dan dirawat.
·
Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit
untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit
yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada
berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari
modularitas dan struktur dalam pemrograman berorientasi object. Sebuah
class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer
sekalipun terkait dengan domain permasalahan yang ada, dan kode yang
terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen
(sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas,
struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang
akan diselesaikan melalui program tersebut. Cara seperti ini akan
menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
·
Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam
sebuah program komputer; objek merupakan dasar
dari modularitas dan struktur dalam sebuah
program komputer berorientasi objek.
·
Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang
diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam
sistem melayani sebagai model dari "pelaku" abstrak yang dapat
melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan
objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini
diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa
teknik digunakan untuk mengembangkan sebuah pengabstrakan.
·
Enkapsulasi - Memastikan
pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek
dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi
izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan
bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan
mengetahui dan tergantung kepada representasi dalam objek tersebut.
·
Polimorfisme melalui pengiriman
pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek
dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman
pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim.
Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan
menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama,
dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang
sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut
polimorfisme karena sebuah variabel tungal dalam program dapat memegang
berbagai jenis objek yang berbeda selagi program berjalan, dan teks program
yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda
dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai
polimorfisme melalui penggunaan fungsi kelas-pertama.
·
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita
tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur)
tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai
contoh anggap kita memiliki sebuah departemen yang memiliki manager,
sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin
memperoleh data dari bag administrasi maka manager tersebut tidak harus
mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk
mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui
bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data
tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu
masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek
memiliki deskripsi tugasnya sendiri.
Bahasa pemrograman yang mendukung OOP antara lain:
Pengertian Pemrograman Terstruktur
Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan
urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program.
Selain pengertian diatas Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami.
Selain pengertian diatas Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami.
Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai
pada suatu titik / langkah tertentu , maka proses selanjutnya tidak boleh
mengeksekusi langkah sebelumnya / kembali lagi ke baris sebelumnya, kecuali
pada langkah – langkah untuk proses berulang (Loop).
Bahasa pemrograman yang mendukung pemrograman terstruktur:
- Cobol Turbo Prolog
- C
- Pascal
- Delphi
- Borland Delphi
Setelah mengetahu pengertiannya?dilihat dari pengertian di atas,
pemrograman terstruktur memilki beberapa sifat – sifat seperti :
a. Memuat teknik pemecahan masalah yang logis dan sistematis
b. Memuat algoritma yang efisien, efektif dan sederhana
c. Program disusun dengan logika yang mudah dipahami
d. Tidak menggunakan perintah GOTO
e. Biaya pengujian program relatif rendah
f. Memiliki dokumentasi yang baik
g. Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah
a. Memuat teknik pemecahan masalah yang logis dan sistematis
b. Memuat algoritma yang efisien, efektif dan sederhana
c. Program disusun dengan logika yang mudah dipahami
d. Tidak menggunakan perintah GOTO
e. Biaya pengujian program relatif rendah
f. Memiliki dokumentasi yang baik
g. Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah
berdasarkan penjelasan diatas, sangat jelas sekali bahwa pemrograman
tersktruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien
dan lebih murah dalam hal perawatannya tetapi permodelan ini lebih susah untuk
dipahami oleh orang – orang selain pembuat program itu sendiri (contohnya
ketika dlakukan tracing program ).
Sementara itu pemrograman berorientasi objek memliki beberapa keuntungan
seperti :
1.maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
1.maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
2.pengubahan program (berupa penambahan atau penghapusan fitur tertentu);
perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan
dalam suatu database program misalnya.
3.dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat
menyimpan obyek-obyek yang yang dirancang dengan baik ke dalam sebuah tolkit
rutin yang bermanfaat yang dapat disisipkan kedalam kode yang baru dengan
sedikit perubahan atau tanpa perubahan pada kode tersebut.