Anda di halaman 1dari 8

BAB 1

PENDAHULUAN

A. Latar belakang masalah


Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan
desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi untuk
mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung
pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group,
sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak
tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML
merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.
UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan,
membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai
suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh,
dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan
mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industri terus
meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan
yang umum dalam industri peranti lunak dan pengembangan sistem.

UML
Sampai era tahun 1990 puluhan metodologi pemodelan berorientasi objek telah bermunculan
di dunia. Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSE,
metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal
dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek.
Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul
masalah baru apabila kita bekerjasama dengan kelompok/perusahaan lain yang menggunakan
metodologi yang berlainan.
Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga
tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk
penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft
pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan
oleh Object Management Group.

B. Rumusan masalah

Dalam perumusan masalah ini penulis akan merumuskan masalah tentang :

1. Apa pengertian pemrograman orientasi objek


2. Apa pengertian UML (Unified Modeling Language)
3. Bagaimana penggunaan UML
4. Apa kegunaan UML
5. Dimana saja UML sering digunakan
6. Apa saja diagram orientasi objek
7. Apa Konsep dasar dari Pemrograman Berorientasi Objek
8. Apa kelebihan dan kekurangan Pemrograman berorientasi objek
9. Apa saja istilah-istilah objek

C. Tujuan penulisan

Tujuan penulis menjelaskan UML dan sistem orientasi objek agar banyak orang mengerti
kegunaan dan fungsi dari UML dan Pemrograman berorientasi objek karena UML dan
PBO(Pemrograman Berorientasi Objek) sangat sering digunakan.

D. Metode penulisan

Metode yang digunakan dalam penulisan makalah ini adalah menggunakan metode pustaka
yaitu penulis menggunakan media pustaka dalam penyusunan makalah ini.

BAB 2
UML(UNIFIED MODELING LANGUAGE) DAN PBO (PEMROGRAMAN
BERORIENTASI OBJEK)

1. Apa pengertian 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. Object Oriented Programming (OOP) adalah
suatu metode dalam pembuatan program, dengan tujuan untuk menyelesaikan kompleksnya
berbagai masalah program yang terus meningkat. Ada dua bagian penting dalam Object
Oriented Programming yaitu properties dan event. Properties memiliki nama dan nilai,
sementara event hanya memiliki nama dan biasanya berhubungan dengan method, behavior,
function dan action.
Dalam melakukan pemecahan masalah Object Oriented Programming tidak memandang
bagaimana cara memecahkan suatu masalah secara terstruktur, melainakn bagaimana suatu
masalah itu dapat diselesaikan dengan menentukan objek-objek apa saja yang dapat
memecahkan masalah tersebut.
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.

2. Apa pengertian UML (unified modeling language)

UML (Unified Modeling Language) adalah sebuah bahasa untuk menetukan, visualisasi,
kontruksi, dan mendokumentasikan artifact (bagian dari informasi yang digunakan atau
dihasilkan dalam suatu proses pembuatan perangkat lunak. Artifact dapat berupa model,
deskripsi atau perangkat lunak) dari system perangkat lunak, seperti pada pemodelan bisnis
dan system non perangkat lunak lainnya.
UML merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam
memodelkan system yang besar dan kompleks. UML tidak hanya digunakan dalam proses
pemodelan perangkat lunak, namun hampir dalam semua bidang yang membutuhkan
pemodelan.

3. Bagaimana penggunaan UML

1. Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan
proses yang mungkin muncul.

2. Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat
fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram dan
lengkapi dengan requirement, constraints dan catatan-catatan lain.

3. Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.

4. Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus
disediakan oleh sistem.

5. Berdasarkan use case diagram, mulailah membuat activity diagram.

6. Definisikan objek-objek level atas (package atau domain) dan buatlah sequence dan/atau
collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan
alir normal dan error, buatlah satu diagram untuk masing-masing alir.

7. Buatlah rancangan user interface model yang menyediakan antarmuka bagi pengguna
untuk menjalankan skenario use case.

8. Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau
domain dipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan laebih
baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi
dengan class lain.
9. Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokan class
menjadi komponen-komponen. Karena itu buatlah component diagram pada tahap ini. Juga,
definisikan tes integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan baik.

10. Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement
piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.

11. Mulailah membangun sistem.

12. Lakukan uji modul dan uji integrasi serta perbaiki model berserta codenya. Model harus
selalu sesuai dengan code yang aktual.

13. Piranti lunak siap dirilis.

4. Apa kegunaan UML

a. Memberikan bahasa pemodelan yang bebas dari berbagai bahas pemrograman dan proses
rekayasa.
b. Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
c. Memberikan model yang siap pakai, bahsa pemodelan visual yang ekspresif untuk
mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
e. UML Sebagai Sketsa UML digambarkan dalam sketsa coretan-coretan dalam kertas atau
whiteboard secara tidak normal. Biasanya digunaan dalam sesi dskusi tim untuk membahas
aspek tertentu dalam tahap analisis dan perancangan
f. UML Sebagai Blueprint system
UML sendiri juga memberikan standart penulisan sebuah sistem blueprint yang meliputi
konsep bisnis proses penulisan kelas-kelas dalam bahasa program yang spesifik, skema
database dan komponen-komponen yang diperlukan dalam sistem.
g. UML Sebagai bahasa pemrograman
UML berfungsi sebagai bahasa pemrograman mencoba melakukan semuanya dengan UML
sampai kepada produk jadinya. Analisi dan perancangan dilakukan dengan diagram-diagram
yang ada dalam UML, sementara sebuah tool atau generator bisa menghasilkan produk akhir
dari diagram-diagram ini.

5. Dimana saja UML sering digunakan

Uml bisa digunakan untuk siapa saja . biasanya uml sering digunakan oleh para engineer dan
para IT. Tetapi pada dasarnya uml bisa digunakan untuk siapa saja bagi yang bisa
menggunakannya.
6. Apa saja diagram orientasi objek

1. Use Case Diagram


Use case adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengan
cara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri
melalui sebuah cerita bagaimana sebuah system dipakai. Use case merupakan konstruksi
untuk mendeskripsikan bagaimana system akan terlihat di mata user. Sedangkan use case
diagram memfasilitasi komunikasi diantara analis dan pengguna serta antara analis dan client.
2. Class Diagram
Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku (operasi) dan relasi
yang sama. Sehingga dengan adanya class diagram dapat memberikan pandangan global atas
sebuah system. Hal tersebut tercermin dari class- class yang ada dan relasinya satu dengan
yang lainnya. Sebuah sistem biasanya mempunyai beberapa class diagram. Class diagram
sangat membantu dalam visualisasi struktur kelas dari suatu system.
3. Component Diagram
Component software merupakan bagian fisik dari sebuah system, karena menetap di
komputer tidak berada di benak para analis. Komponent merupakan implementasi software
dari sebuah atau lebih class. Komponent dapat berupa source code, komponent biner, atau
executable component. Sebuah komponent berisi informasi tentang logic class atau class
yang diimplementasikan sehingga membuat pemetaan dari logical view ke component view.
Sehingga component diagram merepresentasikan dunia riil yaitu component software yang
mengandung component, interface dan relationship.
4. Deployment Diagram
Menggambarkan tata letak sebuah system secara fisik, menampakkan bagian-bagian software
yang berjalan pada bagian-bagian hardware, menunjukkan hubungan komputer dengan
perangkat (nodes) satu sama lain dan jenis hubungannya. Di dalam nodes, executeable
component dan object yang dialokasikan untuk memperlihatkan unit perangkat lunak yang
dieksekusi oleh node tertentu dan ketergantungan komponen.
5. State Diagram
Menggambarkan semua state (kondisi) yang dimiliki oleh suatu object dari suatu class dan
keadaan yang menyebabkan state berubah. Kejadian dapat berupa object lain yang mengirim
pesan. State class tidak digambarkan untuk semua class, hanya yang mempunyai sejumlah
state yang terdefinisi dengan baik dan kondisi class berubah oleh state yang berbeda.
6. Sequence Diagram
Sequence Diagram digunakan untuk menggambarkan perilaku pada sebuah scenario.
Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antara object juga interaksi
antara object, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem.
7. Collaboration Diagram
Menggambarkan kolaborasi dinamis seperti sequence diagrams. Dalam menunjukkan
pertukaran pesan, collaboration diagrams menggambarkan object dan hubungannya
(mengacu ke konteks). Jika penekannya pada waktu atau urutan gunakan sequencediagrams,
tapi jika penekanannya pada konteks gunakan collaboration diagram.
8. Activity Diagram
Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan aktifitas
yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya
seperti use case atau interaksi.
7. Apa konsep dasar dari pemrograman berorientasi objek

A. 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.

B. 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.

C. 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.

D. 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
ijin 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.

E. 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.

F. Inheritas- Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan


dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat
membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku
tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas.)
G. 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.

8. Apa kelebihan dan kekurangan pemrograman berorientasi objek

OOP memiliki beberapa keuntungan dalam pemrograman, di antaranya:


1. OOP menyediakan struktur modular yang jelas untuk program sehingga OOP
sangat bagus digunakan untuk mendefinisikan tipe data abstrak di mana detil
implementasinya tersembunyi.

2. OOP akan mempermudah dalam memaintain dan memodifikasi kode yang sudah
ada. Objek yang baru dapat dibuat tanpa mengubah kode yang sudah ada.

3. OOP menyediakan framework untuk library kode di mana komponen software


yang tersedia dapat dengan mudah diadaptasi dan dimodifikasi oleh
programmer. Hal ini sangat berguna untuk mengembangkan GUI (Graphical User
Interfaces).

Sedangkan beberapa kelemahan OOP antara lain adalah sebagai berikut:


1. Tidak memperbolehkan implementasi yang kuat pada reuse
2. Properti software tidak terikat dalam satu unit fungsional, sehingga harus
crosscut di antara komponennya.
3. Crosscut tersebut mengakibatkan sulitnya pengembangan dan pemeliharaan.

9. Apa saja istilah-istilah PBO

Atribut : Data item yang menegaskan Objek

Operasi : Fungsi di dalam kelas yang dikombinasikan ke bentuk


tingkah laku kelas
Metode : Pelaksanaan prosedur (badan dari kode yang
mengeksekusi respon terhadap permintaan objek lain di
dalam sistem).

KESIMPULAN

Jadi baik UML (unified modeling language) dan PBO (pemrograman berorientasi objek) itu
sangat membantu dalam pembuatan sketsa atau blue print dari sebuah proyek. Dengan UML
dan PBO itu bisa lebih efisien dibidang waktu dsb.

SARAN

Semoga di masa depan akan ada UML atau PBO yang lebih mutakhir lagi. Sehingga dapat
mempermudah pekerjaan kita.

DAFTAR PUSTAKA

http://id.wikipedia.org/wiki/UML

http://febryrisdianto.blogspot.com/2011/04/makalah-pbo-pmograman-berorientasi.html

http://bowol.blogspot.com/2010/03/langkah-langkah-penggunaan-uml-unified.html

http://wyanuartha.blogspot.com/2010/02/pengertian-uml.html

STAY GO GREEN..

Anda mungkin juga menyukai