Senin, 21 September 2015

UML (Unified Modeling Language)




UML (Unified Modeling Language) adalah metode pemodelan (tools/model) secara visual sebagai
sarana untuk merancang dan atau membuat software berorientasi objek dan memberikan standar penulisan sebuah sistem untuk pengembangan sebuah software yang dapat menyampaikan beberapa informasi untuk proses implementasi pengembangan software.





SEJARAH UML
• Pada Oktober 1994, Dr. James Rumbaugh bergabung dengan Perusahaan Rational sotware, dimana Grady Booch sudah bekerja disana sebelumnya. Grady Booch mengembangkan Object Oriented Design (OOD) dan Dr. James Rumbaugh mengembangkan Object Modeling
Technique (OMT). Duet Mereka pada Oktober 1995 menghasilkan Unified Method versi 0.8.



• Musim gugur 1995 Dr. Ivar Jacobson ikut pula bergabung dengan duet Rumbaugh-Booch, dengan memperkenalkan tool use case. Trio tersebut pada bulan Juni 1996 menghasilkan Unified Modeling Language (UML) versi 0.9. Sebelumnya Dr. Ivar Jacobson mengembangkan Object Oriented Software Engineering (OOSE)


• Banyak perusahaan software merasakan bagaimana pentingnya UML dalam tujuan strategis mereka, sehingga beberapa perusahaan membentuk sebuah konsorsium yang terdiri dari perusahaan-perusahaan seperti Microsoft, Oracle, IBM, Hewlett-Packard, Intellicorp, I-Logix, DEC, Digital Equipment Corp. texas instrument





Konsep Dasar UML 
Untuk dapat mememahami UML diperlukan pemahaman tentang konsep bahasa pemodelan dan tiga eleman utama UML.Tiga elemen utama UML antara lain:


a. Benda / Things / Objek
Objek merupakan bagian paling statik dari sebuah model, yang menjelaskan elemen–elemen lainnya dari sebuah konsep. Bentuk dari beberapa objek :


1. Classes, sekelompok dari object yang mempunyai atribute, operasi, dan hubungan yang semantik


2. Interfaces, antar-muka yang menghubungkan dan melayani antarkelas dan atau elemen dan
mendefinisikan sebuah kelompok dari spesifikasi pengoperasian.


3. Collaboration, interaksi dari sebuah kumpulan kelas– kelas atau elemen–elemen yang bekerja secara bersama–sama.


4. Use cases, pembentuk tingkah laku objek dalam sebuah model serta di realisasikan oleh sebuah collaboration.


5. Nodes, bentuk fisik dari elemen–elemen yang ada pada saat dijalankannya sebuah system


b. Hubungan / Relationship


Ada 4 macam hubungan dalam penggunaan UML, yaitu :


1. Dependency, hubungan semantik antara dua objek yang mana sebuah objek 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 antara use cases dan collaborations.



c. Bagan atau Diagrams


Diagram adalah yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model.
UML 1.0 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


Contoh Usecase Diagram




2) 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.


Cotoh Class Diagram
Class Buku terdiri dari :
– Atribut : judul, pengarang
– Method : ambilJenis(),
ambilHalaman();


3) Diagram Package dan Object, merupakan kumpulan elemen–elemen logika UML yang bertujuan untuk mengelompokkan Diagram class yang lebih kompleks.


4) Diagram Sequence, merupakan salah satu diagram Interaction yang menjelaskan bagaimana suatu operasi itu dilakukan yang diatur berdasarkan waktu.

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 dan bukan pada waktu penyampaian message.


Tujuan: Membuat collaboration diagram, Membuat link (relasi) antar obyek, Menambah message (pesan) pada link, Memetakan message pada operasi, Buat collaboration diagram dari sequence diagram dan sebaliknya

Contoh Collaboration Diagram




6) Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang
diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat
memiliki lebih dari satu statechart diagram). Diagram StateChart merupakan indikator yang
menunjukan kemungkinan dari keadaan obyek dan proses yang menyebabkan perubahan pada
keadaannya.



Contoh State Chart Diagram



7) Diagram Activity, menunjukkan bagaimana aktifitas – aktifitas tersebut bergantung satu sama lain dan berfokus pada aktifitas – aktifitas yang terjadi yang terkait dalam suatu proses tunggal.
Menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir

Contoh Activity Diagram






8) Diagram Component adalah sebuah kode–kode modul yang merupakan fisik sebenarnya dari diagram Class. Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya.

Contoh Component Diagram



9) Diagram Deployment menerangkan bahwa konfigurasi fisik software dan hardware. Deployment/physical diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan halhal lain yang bersifat fisikal

Contoh Deployment Diagram





Artifact UML



Sabtu, 19 September 2015

Karakteristik Berorientasi Objek


1. Encapsulation (pembungkusan)

Pengkapsulan merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses. Dengan demikian objek atau prosedur dari luar tidak dapat mengaksesnya. Data terlindung dari prosedur atau objek lain kecuali prosedur yang berada dalam objek itu sendiri.

•Sebuah object yang terkapsulasi dapat dianggap sebagai blackbox.
•Proses didalamnya adalah tertutup bagi klien, yang hanya memanggil metode yang menjadi          interface.
•Dalam Java, dasar enkapsulasi adalah Class. Variabel atau method sebuah class tidak dapat diakses  dengan menjadikan class tersebut private/protected.




Disini terjadi penyembunyian informasi tentang bagaimana cara kerja pengecekan validitas kartu, kecocokan pin yang dimasukkan, koneksi ke database server, dll,dimana hal- hal tersebut tidak perludi ketahui oleh pengguna tentang bagaimana cara kerjanya.

KarakteristikBerorientasiObjek

2. Inheritance(pewarisan)

Inheritance (pewarisan) adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung. Bila inheritance dipergunakan, kita tidak perlu membuat atribut dan metode lagi pada anaknya, karena telah diwarisi oleh induknya. Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama diantara class yang mempunyai hubungan secara hirarki.

Sebuah class bisa mewariskan atribut dan method-nyake class yang lain –Class yang mewarisi disebut superclass –Class yang diberiwari sandi sebut subclass –Sebuah subclass bisa mewariskan atau berlaku sebagai superclass bagi class yang lain =>disebut multilevel inheritance.

Contoh Inheritansi




GENERALISASI

Generalisasi adalah relasi antara beberapa subclass dengan superclass diatasnya.
Kelas yang lebih rendah mewarisi semua atribut yang dimiliki oleh kelas yang lebih tinggi dan juga memiliki atribut yang membedakannya dengan kelas-kelas lain yang sederajat.






3. Polymorphisme

Polymorphisme yaitu aksi yang sama yang dapat dilakukan terhadap beberapa objek. Polimorfisme berarti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda. 

•Polymorphism adalah kemampuan untuk tampil dalam berbagai bentuk.
•Hal ini mengacu pada kemungkinan message yang sama dikirimkan keobyek-obyek lain pada class yang berbeda, dan merespon secara berbeda.

Contoh :



Perbedaan Object Oriented dengan Non Object

1. Penggunaan alat

Metodologi non objek menggunakan beberapa alat untuk menggambarkan model seperti data flowdiagram, entity relationship diagram dan structure chart.

Sedangkan metodologi berorientasi objek menggunakan satu jenis model dari tahap analisa sampai implementasi, yaitu diagram objek.

2. Data dan proses

Pada metodologi non objek ,data dan proses dianggap sebagai dua komponen yang berlainan
Sedangkan pada metodologi berorientasi objek, data dan proses merupakan satu kesatuan, yaitu bagian dari objek.

3.Bahasa pemrograman

Metodologi non objek dipergunakan untuk melengkapi pemrograman terstruktur pada bahasa generasi ketiga.

Sedangkan metodologi berorientasi objek dipergunakan untuk pemrograman berorientasi objek dan bahasa generasi keempat.

Struktur Objek dan Hirarki Kelas

1. Whole - Part Structure

Memperlihatkan hirarki dari suatu kelas sebagai komponen dari kelas lain yang disebut juga sub objek. Contohnya, kelas Mobil adalah Whole dan komponennya Mesin, Rangka, dll merupakan Part1, Part2,…,Part n.



2. Gen - Spec

Memperlihatkan kelas sebagai spesialisasi dari kelas diatasnya. Kelas yang mempunyai sifat umum disebut Generalization,  Superclass atau Topclass. Kelas yang mempunyai sifat khusus disebut Specialization.
Contohnya
kelas Mobil adalah Generalization,
Sedan, Truk, Minibus, dll merupakan Specizlization 1, Specialization 2, dst.




Tahap-tahap metodologi berdasarkan Sistem Development Life Cycle (SDLC), dengan berorientasi objek dapat dijelaskan sebagai berikut:

1. Analisa
Model analisa adalah abstraksi yang ringkas dan tepat dari apa yang harus dilakukan oleh sistem, dan bagaimana melakukannya. Objek dalam model harus merupakan konsep domain dari aplikasi, bukan merupakan implementasi komputer seperti struktur data.

2. Design Fokus
Object design adalah perencanaan struktur data dan algoritma yang diperlukan untuk implementasi setiap kelas. Objek domain aplikasi dan objek domain komputer dijelaskan dengan menggunakan konsep dan notasi berorientasi objek yang sama


Tahap-tahap metodologi berdasarkan Sistem Development Life Cycle (SDLC), dengan berorientasi objek dapat dijelaskan sebagai berikut:

3.Implementasi

Kelas, objek dan relasinya dikembangkan dalam tahap object design, akhirnya diterjemahkan kedalam bahasa pemrograman, basisdata, dan implementasi perangkat keras. Dalam tahap implementasi hal yang penting adalah mengikuti penggunaan perangkat lunak yang baik.


Object

Objek adalah kombinasi antara struktur data dan perilaku dalam satu entitas dan mempunyai nilai tertentu yang membedakan entitas. Bisaberupa:
Obyek konkrit: rumah,sekolah,dosen,mahasiswa,dll.
Obyek abstrak: matakuliah,penjadwalan,dll.

Karakteristiknya adalah:

Memiliki Identity (identitas)

Memiliki klasisfikasi

Memiliki state (kondisi/keadaan) State sebuah objek dinyatakan dalam attribute/properties

Memiliki behavior (perilaku/method) Perilaku suatu objek dinyatakan dalam operation. Perilaku suatu objek adalah mendefinisikan bagaimana objek tersebut bertindak dan memberikan reaksi.

CONTOH OBYEK 

Atribut:
•Nomor Polisi 
•Ban, Stir, Pedal Kopling/Gas/Rem
•Warna, TahunProduksi

Behavior/TingkahLaku:
•Cara MenghidupkanMesin 
•Cara ManjalankanMobil 
•Cara MemundurkanMobil







Pemodelan Sistem Berbasis Objek


Konsep awal programming (Basic) dengan kekuatan GOTO statement, ini merupakan Non Procedural Language

Procedural Language/Bahasa pemograman terstruktur menghilangkan kelemahan GOTO konsep non procedural language
Contoh : Pascal,COBOL,FORTRAN,BASIC dll.

Object Oriented Programming, mengarah pada konsep object. Akhir tahun 1960 diperkenalkan pertama kali dengan bahasa SIMULA. Tahun 1970 dikembangkan Smaltalk.
Bahasa pemrograman lainnya:Clipper5.2Java, Prolog dll.

Pendahuluan Pemodelan Sistem Berbasis Objek

Visual Object Oriented Programming, tahun 1991 diperkenalkan pertamakali dengan bahasa Visual Basic oleh Microsoft Bahasa pemograman lainnya:VisualC++, VisualFoxpro3.0, CORBA (CommonObjectRequestBrokerArchitecture), dll

Pengembangan berorientasi objek

merupakan cara berpikir baru tentang perangkat lunak berdasarkan abstraksi yang terdapat dalam dunia nyata. Dalam konteks pengembangan menunjuk pada bagian awal dari siklus hidup pengembangan sistem, yaitu survei, analis, desain, implementasi dan pemeliharaan sistem. Hal yang lebih penting dalam pengembangan berorientasi objek adalah konsep mengidentifikasi dan mengorganisasi domain aplikasi dari pada penggunaan bahasa pemrograman, berorientasi objek atau tidak.


Konsep Pemodelan

Berorientasi objek dalam proses konseptual terpisah dengan bahasa pemrograman sampai tahap terakhir.

Pengembangan berorientasi objek secara mendasar merupakan cara berpikir baru dan bukan suatu teknik pemrograman.

Dapat melayani sebagai media spesifikasi, analisa, dokumentasi dan interface sepertihalnya pemrograman.

Bahkan sebagai alat pemrograman, dapat memiliki berbagai sasaran, termasuk bahasa pemrograman dan basis data sebaik dengan bahasa pemrograman berorientasi obyek.


MetodologiObject Oriented

Fokus utama metodologi ini pada objek ,dapat digambarkan sebagai benda, orang, tempat dan sebagainya yang memiliki atribut dan metode.
Diperkenalkan tahun 1980 menggunakan perangkat kerja dan teknik-teknik yang dibutuhkan dalam pengembangan sistem, yaitu dynamic dan static object oriented model, state transition diagram dan case scenario.


Model Object Oriented

Objek di definisikan sebagai konsep, abstraksi atau benda dengan batasan dan arti untuk suatu masalah.
Semua objek mempunyai identitas yang berbeda dengan lainnya.

Kadang-kadang objek berarti suatu barang, maka digunakan istilah object instance, dan object class untuk menunjukkan satu grup dari barang yang sama.

Sebuah objek merupakan sebuah entitas yang mencakup data dan metode.

Kelas merupakan satu atau lebih objek dengan persamaan atribut dan metode, sedangkan kelas-&-objek adalah kelas dengansatu atau lebih objek didalamnya.

Nama kelas adalah kata benda tunggal, atau kata sifat dan kata benda.

Model Object Oriented

Istilah-istilahObjek
Atribut : Data item yang menegaskan Objek
Operasi : Fungsi didalam kelas yang dikombinasikan bentuk tingkah laku kelas
Metode : Pelaksanaan prosedur (badan dari kode yang mengeksekusi respon terhadap permintaan objek lain di dalam sistem).