Kamis, 24 April 2014

Sistem Informasi Berorientasi Objek dan UML

BAB I
PENDAHULUAN

1.1              Latar Belakang
Saat ini piranti lunak semakin luas dan besar lingkupnya, sehingga tidak bisa lagi dibuat asal-asalan. Piranti lunak saat ini seharusnya dirancang dengan memperhatikan hal-hal seperti scalability, security, dan eksekusi yang robust walaupun dalam kondisi yang sulit. Selain itu arsitekturnya harus didefinisikan dengan jelas, agar bug mudah ditemukan dan diperbaiki, bahkan oleh orang lain selain programmer aslinya. Keuntungan lain dari perencanaan arsitektur yang matang adalah dimungkinkannya penggunaan kembali modul atau komponen untuk aplikasi piranti lunak lain yang membutuhkan fungsionalitas yang sama.
Pemodelan (modeling) adalah proses merancang piranti lunak sebelum melakukan pengkodean (coding). Model piranti lunak dapat dianalogikan seperti pembuatan blueprint pada pembangunan gedung. Membuat model dari sebuah sistem yang kompleks sangatlah penting karena kita tidak dapat memahami sistem semacam itu secara menyeluruh. Semakin komplek sebuah sistem, semakin penting pula penggunaan teknik pemodelan yang baik.
Dengan menggunakan model, diharapkan pengembangan piranti lunak dapat memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk faktor-faktor seperti scalability, robustness, security, dan sebagainya. Untuk itulah penulis membuat makalah ini agar pembaca dapat memahami lebih dalam tentang sistem berorientasi objek khususnya dalam hal pemrograman.

1.2              Tujuan
Tujuan penulis melakukan penelitian adalah sebagai berikut:
1)      Agar pembaca dapat memahami pengertian OOS (Objet Oriented System) atau Sistem Berorientasi Objek (SBO) dan juga UML (Unified Modeling Language)
2)      Agar pembaca dapat mengetahui bagaimana mengaplikasikan konsep SBO secara langsung.
1.3              Rumusan Masalah
Masalah-masalah yang akan dibahas dalam makalah ini adalah sebagai berikut:
1)      Apakah yang dimaksud SBO (Sistem Berorientasi Objek) dan UML?
2)      Apa saja karakteristik Objek dan Kelas Objek?
3)      Apa saja karakteristik Metodologi BO?
4)      Apa saja diagram UML?
5)      Apa saja hubungan UML?
6)      Apa saja langkah-langkah penggunaan UML?
7)      Apa saja tools yang mendukung UML?
BAB II
PEMBAHASAN MASALAH

2.1              Pengertian
Objek adalah kombinasi antara struktur data dan perilaku dalam satu entitas dan mempunyai nilai tertentu yang membedakan entitas tersebut. Pengertian berorientasi objek berarti pengorganisasian perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya. Konsep fundamental dalam analisis sistem berorientasi objek adalah objek itu sendiri.
Unified Modeling Language (UML) adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (OO). Definisi ini merupakan definisi yang sederhana. Pada kenyataannya, pendapat orang – orang tentang UML berbeda satu sama lain. Hal ini dikarenakan oleh sejarahnya sendiri dan oleh perbedaan persepsi tentang apa yang membuat sebuah proses rancang – bangun perangkat lunak efektif. Fowler (2004,p1).
Unified Modeling Language (UML) merupakan strandar yang relatif terbuka yang dikontrol oleh Object Management Group (OMG), sebuah konsorsium terbuka yang terdiri dari banyak perusahaan. OMG dibentuk untuk membuat standar – standar yang mendukung interoperabilitas, khusunya interoperabilitas sistem berorientasi objek. OMG mungkin lebih dikenal dengan standar – standar COBRA (Common Object
Request Broker Architecture). Fowler (2004,p1-2).
 
2.2              Karakteristik Objek dan Kelas Objek
Setiap objek mempunyai identitas yang dapat diukur dan memiliki nilai yang bertujuan untuk membedakan entitas antara satu objek dengan objek lain. Pada objek terdapat sifat konkrit yang melekat pada identitas objek tersebut yang berfungssi untuk membedakan setiap objek walaupun nilai atributnya hampir sama atau identik.
Objek yang terbagi dalam atribut, operasi, metode, hubungan, dan makna yang sama akan membentuk sebuah kelas yang merupakan wadah bagi objek yang dapat
digunakan untuk menciptakan objek, atau dengan kata lain suatu kelas objek menggambarkan kumpulan dari objek yang mempunyai sifat (atribut), perilaku umum (operasi), relasi umum dengan objek lain dan semantik umum. Fungsi kelas objek adalah mengumpulkan data (atribut) dan perilaku (operasi) yang mempunyai struktur data sama ke dalam satu grup.
Beberapa istilah yang berhubungan dengan objek antara lain :
Atribut
Atribut menggambarkan data yang dapat memberikan informasi mengenai kelas atau objek dimana atribut tersebut berada.
1. Metode
Metode adalah subprogram yang tergabung dalam objek bersama – sama dengan atribut. Metode dipergunakan untuk pengaksesan terhadap data yang terdapat dalam objek tersebut. Sering juga disebut sebagai procedure atau function.
2. Message
Message merupakan cara untuk berhubungan antara satu objek dengan objek lain dengan cara mengikirimkan pesan oleh suatu objek kepada objek tertentu.
3. Operasi
Fungsi di dalam kelas yang dikombinasikan ke bentuk tingkah laku kelas suatu objek.

2.3              Metodologi Berorientasi Objek
Dalam dunia pemodelan, metodologi implementasi obyek walaupun terikat kaidah-kaidah standar, namun teknik pemilihan obyek tidak terlepas pada subyektifitas software analyst & designer. Beberapa obyek akan diabaikan dan beberapa obyek menjadi perhatian untuk diimplementasikan di dalam sistem. Hal ini sah-sah saja karena kenyataan bahwa suatu permasalahan sudah tentu memiliki lebih
dari satu solusi. Ada 3 (tiga) teknik/konsep dasar dalam OOA/D, yaitu pemodulan (encapsulation), penurunan (inheritance) dan polymorphism.
a. Pemodulan (Encapsulation)
Pada dunia nyata, seorang ibu rumah tangga menanak nasi dengan menggunakan rice cooker, ibu tersebut menggunakannya hanya dengan menekan
tombol. Tanpa harus tahu bagaimana proses itu sebenarnya terjadi. Disini terdapat penyembunyian informasi milik rice cooker, sehingga tidak perlu diketahui seorang ibu. Dengan demikian menanak nasi oleh si ibu menjadi sesuatu yang menjadi dasar bagi konsep information hiding.
b. Penurunan (Inheritance)
Obyek-obyek memiliki banyak persamaan, namun ada sedikit perbedan. Contoh dengan beberapa buah mobil yang mempunyai kegunaan yang berbeda-beda. Ada mobil bak terbuka seperti truk, bak tertutup seperti sedan dan minibus. Walaupun demikian obyek-obyek ini memiliki kesamaan yaitu teridentifikasi sebagai obyek mobil, obyek ini dapat dikatakan sebagai obyek induk (parent). Sedangkan minibus dikatakan sebagai obyek anak (child), hal ini juga berarti semua operasi yang berlaku pada mobil berlaku juga pada minibus.
c. Polymorphism
Pada obyek mobil, walaupun minibus dan truk merupakan jenis obyek mobil yang sama, namun memiliki juga perbedaan. Misalnya suara truk lebih keras dari pada minibus, hal ini juga berlaku pada obyek anak (child) melakukan metoda yang  sama dengan algoritma berbeda dari obyek induknya. Hal ini yang disebut polymorphism, teknik atau konsep dasar lainnya adalah ruang lingkup / pembatasan. Artinya setiap obyek mempunyai ruang lingkup kelas, atribut, dan metoda yang dibatasi.
d. Abstraksi
„               Prinsip untuk merepresentasikan dunia nvata yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan.
     e. Reusabilily
„                Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnva yang melibatkan objek tersebut.
f. Generalisasi dan Spesialisasi
„                Menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus.
g. Komunikasi Antar Objek
„                Komunikasi antar objek dilakukan lewat pesan (message) yang dikirim dan satu objek ke objek lainnya.
2.4        Diagram UML
Diagram adalah yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model. UML mempunyai 9 diagram, yaitu:
  1. Diagram Use Case, menggambarkan apa saja aktifitas yang dilakukan oleh suatu sistem dari sudut pandang pengamatan luar.
Diagram Use Case berguna dalam tiga hal :
a.Menjelaskan fasilitas yang ada (requirements)
b. Komunikas dengan klien
c. Membuat test dari kasus – kasus secara umum
  1.  Diagram Class, memberikan pandangan secara luas dari suatu sistem dengan menunjukan kelas – kelasnya dan hubungan mereka.
Diagram Class mempunyai 3 macam relationalships (hubungan), sebagai berikut :
a. Association, suatu hubungan antara bagian dari dua kelas yang terjadi jika salah satu bagian dari kelas mengetahui kelas yang lain dalam melakukan suatu kegiatan..
b.Aggregation, hubungan association dimana salah satu kelasnya merupakan bagian dari suatu kumpulan dan memiliki titik pusat yang mencakup keseluruhan bagian.
c.Generalization, hubungan turunan dengan mengasumsikan satu kelas merupakan suatu kelas super dari kelas yang lain.
3.Diagram Package dan Object, merupakan kumpulan elemen – elemen logika ML yang bertujuan untuk mengelompokkan Diagramclass yang lebih kompleks.
4.Diagram Sequence, merupakan salah satu diagram Interaction yang menjelaskan bagaimana suatu operasi itu dilakukanyang diatur berdasarkan waktu.
  1. 5.   Diagram Collaboration juga merupakan diagram Interaction berfungsi membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu informasi itu dikirimkan.
  1. Diagram State Chart merupakan indikator yang menunjukan kemungkinan dari keadaan obyek dan proses yang menyebabkan perubahan pada keadaannya.
  1. Diagram Activity, menunjukkan bagaimana aktifitas – aktifitas tersebut bergantung satu sama lain. dan berfokus pada aktifitas – aktifitas yang terjadi yang terkait dalam suatu proses tunggal.
  1. Diagram Component adalah sebuah kode – kode modul yang merupakan fisik sebenarnya dari diagram Class.
  1. Diagram Deployment menerangkan bahwa konfigurasi fisik software dan hardware.
2.5        Hubungan/Relationship
Ada 4 macam hubungan dalam penggunaan UML, yaitu:
  1. Dependency, hubungan semantik antara dua objek yang mana sebuahobjek berubah mengakibatkan objek satunya akan berubah pula.
  2. Association, hubungan antar benda secara struktural yang terhubung diantara objek dalam kesatuan objek.
  3. Generalizations, hubungan khusus dalam objek anak yang menggantikan objek induk dan memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada objek induk.
  4. Realizations, hubungan semantik antarpengelompokkan yang menjamin adanya ikatan diantaranya yang diwujudkan diantara interface dan kelas atau elements, serta antarause cases dan collaborations.
2.6        Langkah-langkah menggunakan UML
Berikut ini adalah tips pengembangan piranti lunak dengan menggunakan 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.
  1. Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
  1. Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem.
  1. Berdasarkan use case diagram, mulailah membuat activity diagram.
  1. Definisikan objek-objek level atas (package atau domain) dan buatlah sequencedan/atau collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use casememiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masing-masing alir.
  1. Buatlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case.
  1. Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package ataudomain dipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain.
  1. 9.            Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokanclass menjadi komponen-komponen. Karena itu buatlah component diagram pada tahap ini. Juga, definisikan tes integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan baik.
9
  1. 10.        Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan danrequirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.


  1. Mulailah membangun sistem. Ada dua pendekatan yang dapat digunakan :
  • Pendekatan use case, dengan meng-assign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes.
  • Pendekatan komponen, yaitu meng-assign setiap komponen kepada tim pengembang tertentu.
  1. Lakukan uji modul dan uji integrasi serta perbaiki model berserta codenya. Model harus selalu sesuai dengan code yang aktual.
  1. Piranti lunak siap dirilis.
2.7        Tools yang mendukung UML
Saat ini banyak sekali tool pendesainan yang mendukung UML, baik itu tool komersial maupun opensource. Beberapa diantaranya adalah:

BAB III
PENUTUP

3.1  Kesimpulan
Objek adalah model eksekusi. Sementara kelas adalah deskripsi statik dan objek yang mungkin lahir pada saat eksekusi.
Pada saat eksekusi yang kita punva adalah objek, sementara dalam pemodelan (analisis dan perancangan) dan teks program yang  kita lihat adalah kelas.
Unified Modeling Language (UML) adalah bahasa pemodelan umum yang digunakan untuk melakukan spesifikasi, visualisasi, konstruksi dan dokumentasi artifak dari software system. UML bukanlah sebuah standar proses pengembangan dalam metode pengembangan sistem tertentu, namun pada umumnya UML dipakai dalam memodelkan sistem yang dibangun berbasiskan objek. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun
3.2 Saran
                      UML adalah suatu bahasa perancangan modern yang paling umum dipakai pada saat ini, dimana UML ini sering dikaitkan dengan bahasa pengembangan piranti lunak berbasis objek. Dengan menggunakan UML sebagai bahasa perancangan maka kita dapat membuat suatu rancangan piranti lunak yang dimana bahasa tersebut menyatukan berbagai praktik-praktik terbaik dalam permodelan, sehingga hasil rancangan kita dapat dimengerti secara umum dan universal.
Dengan menggunakan UML, maka kita dapat berinteraksi lebih mudah dengan para perancang piranti lunak yang lain, karena kita memakai bahasa perancangan UML yang bersifat universal, dan diketahui oleh hampir semua perancang piranti lunak. Sehingga kita dapat saling bertukar pikiran atas rancangan yang kita buat dengan perancang lain, dan menghilangkan gap dalam perbedaan bahasa permodelan.
Daftar Pustaka
wsilfi.staff.gunadarma.ac.id/Downloads/files/…/Pengenalan+UML.pdf
erwinharianto.files.wordpress.com/2009/06/totolan-erwin-uml.doc
 

Tidak ada komentar:

Posting Komentar