Sunday, 17 December 2017

RUP (Rational Unified Process)


RUP (Rational Unified Process)

Rational Unified Process (RUP) merupakan suatu metode rekayasa perangkat lunak yang dikembangkan dengan mengumpulkan berbagai best practises yang terdapat dalam industri pengembangan perangkat lunak. Ciri utama metode ini adalah menggunakan use-case driven dan pendekatan iteratif untuk siklus pengembangan perankat lunak. Gambar dibawah menunjukkan secara keseluruhan arsitektur yang dimiliki RUP.

RUP menggunakan konsep object oriented, dengan aktifitas yang berfokus pada pengembangan model dengan menggunakan Unified Model Language (UML). Melalui gambar dibawah dapat dilihat bahwa RUP memiliki, yaitu:

§  Dimensi pertama digambarkan secara horizontal. Dimensi ini mewakili aspek-aspek dinamis dari pengembangan perangkat lunak. Aspek ini dijabarkan dalam tahapan pengembangan atau fase. Setiap fase akan memiliki suatu major milestone yang menandakan akhir dari awal dari phase selanjutnya. Setiap phase dapat berdiri dari satu beberapa iterasi.  Dimensi ini terdiri atas Inception, Elaboration, Construction, dan Transition.

§  Dimensi kedua digambarkan secara vertikal. Dimensi ini mewakili aspek-aspek statis dari proses pengembangan perangkat lunak yang dikelompokkan ke dalam beberapa disiplin. Proses pengembangan perangkat lunak yang dijelaskan kedalam beberapa disiplin terdiri dari empat elemen penting, yakni who is doing, what, how dan when. Dimensi ini terdiri atas



Business Modeling, Requirement, Analysis and Design, Implementation, Test, Deployment, Configuration dan Change Manegement, Project Management, Environtment. 

Gambar  Arsitektur Rational Unified Process

Pada penggunaan kedua standard tersebut diatas yang berorientasi obyek (object orinted) memiliki manfaat yakni:

Improve productivity

Standard ini dapat memanfaatkan kembali komponen-komponen yang telah tersedia/dibuat sehingga dapat meningkatkan produktifitas 

Deliver high quality system

Kualitas sistem informasi dapat ditingkatkan sebagai sistem yang dibuat pada komponen­komponen yang telah teruji (well-tested dan well-proven) sehingga dapat mempercepat delivery sistem informasi yang dibuat dengan kualitas yang tinggi.

Lower maintenance cost

Standard ini dapat membantu untuk menyakinkan dampak perubahan yang terlokalisasi dan masalah dapat dengan mudah terdeteksi sehingga hasilnya biaya pemeliharaan dapat dioptimalkan atau lebih rendah dengan pengembangan informasi tanpa standard yang jelas.

Facilitate reuse

Standard ini memiliki kemampuan yang mengembangkan komponen-komponen yang dapat digunakan kembali untuk pengembangan aplikasi yang lainnya.

Manage complexity

Standard ini mudah untuk mengatur dan memonitor semua proses dari semua tahapan yang ada sehingga suatu pengembangan sistem informasi yang amat kompleks dapat dilakukan dengan aman dan sesuai dengan harapan semua manajer proyek IT/IS yakni deliver good quality software within cost and schedule time and the users accepted.

Fase RUP

§  Inception/insepsi

§  Elaboration/elaborasi

§  Construction/konstruksi

§  Transition/transisi



         Inception

        Menentukan Ruang lingkup proyek

        Membuat ‘Business Case’

        Menjawab pertanyaan “apakah yang dikerjakan dapat menciptakan ‘good business sense’ sehingga proyek dapat dilanjutkan

         Elaboration

        Menganalisa berbagai persyaratan dan resiko

        Menetapkan ‘base line’

        Merencanakan fase berikutnya yaitu construction



         Construction

        Melakukan sederetan iterasi

        Pada setiap iterasi akan melibatkan proses berikut: analisa desain, implementasi dan testing

         Transistion

        Membuat apa yang sudah dimodelkan menjadi suatu produk jadi

        Dalam fase ini dilakukan:

         Beta dan performance testing

         Membuat dokumentasi tambahan seperti; training, user guides dan sales kit

         Membuat rencana peluncuran produk ke komunitas pengguna



Peran Use Case Pada Setiap Fase

         Inception

        Menolong mengembangkan scope proyek

        Menolong menetapkan penjadwalan dan anggaran

         Elaboration

        Menolong dalam melakukan analisa resiko

        Menolong mempersiapkan fase berikutnya yaitu konstruksi

         Construction

        Melakukan sederetan iterasi

        Pada setiap iterasi akan akan melibatkan proses berikut: analisa desain, implementasi dan testing

         Transistion

        Membuat apa yang sudah dimodelkan menjadi suatu produk jadi

        Dalam fase ini dilakukan:

         Beta dan performance testing

         Membuat dokumentasi tambahan seperti; training, user guides dan sales kit

         Membuat rencana peluncuran produk ke komunitas pengguna







Penerapan Tahapan Metodologi Pengembagan Perangkat Lunak dengan Menggunakan RUP (Contoh Kasus)

     Metodologi Rational Unified Process (RUP). Metode RUP merupakan metode pengembangan kegiatan yang berorientasi pada proses. Dalam metode ini, terdapat empat tahap pengembangan perangkat lunak yaitu:

§  Inception                  

Pada tahap ini pengembang mendefinisikan batasan kegiatan, melakukan analisis kebutuhan user, dan melakukan       perancangan awal perangkat lunak (perancangan arsitektural dan use case). Pada akhir fase ini, prototipe perangkat lunak versi Alpha harus sudah dirilis

§  Elaboration  :

Pada tahap ini dilakukan perancangan perangkat lunak mulai dari menspesifikasikan fitur perangkat lunak hingga perilisan prototipe versi Betha dari perangkat lunak.

§  Construction           

Pengimplementasian rancangan perangkat lunak yang telah dibuat dilakukan pada tahap ini. Pada akhir tahap ini, perangkat lunak versi akhir yang sudah disetujui administrator dirilis beserta  dokumentasi perangkat lunak.

§  Transition               

Instalasi , deployment dan sosialisasi perangkat lunak dilakukan pada tahap ini.

Windows Navigation Diagram

Windows Navigation Diagram adalah sebuah diagram yang menggambarkan perpindahan atau transisi dari sebuah window ke window yang lainnya, berserta interface dasarnya dan tombol apa atau event apa yang menyebabkan perpindahan dari satu window ke window yang lain.
Menurut  Mathiassen  (2000,  p344),  a  navigation  diagram  is  a special kind of statechart diagram that focuses on the overall dynamic of the user interfaces. Navigation diagram adalah sejenis statechart diagram yang fokus pada keseluruhan user interface yang dinamis, diagram ini menunjukan windows yang ada dan transisi yang antara windows- windows tersebut. yang dimaksud dengan navigation diagram adalah : “A navigation diagram is a low-level architecture diagram work product that documents how to navigate around the presentation components of an application”.
Navigation diagram adalah sebuah produk kerja low-level architecture diagram yang mendokumentasikan bagaimana navigasi dari komponen yang ada pada sebuah aplikasi. Jadi dapat disimpulkan bahwa navigation diagram adalah suatu diagram yang menunjukan bagaimana interaksi dari keseluruhan interface yang ada pada sebuah aplikasi.

Sequence Diagram


Sequence Diagram


Sequence diagram mendeskripsikan bagaimana entitas dalam system berinteraksi, termasuk pesan yang digunakan saat interaksi. Semua pesan dideskripsikan dalam urutan dari eksekusi. Sequence diagram berhubungan erat dengan Use Case diagram, dimana 1 Use Case akan menjadi 1 Sequence Diagram.

Berikut komponen - komponen yang ada pada sequence diagram :

1.     Object - adalah komponen berbentuk kotak yang mewakili sebuah class atau object. Mereka mendemonstrasikan bagaimana sebuah object berperilaku pada sebuah system.

2.     Activation boxes - adalah komponen yang berbentuk persegi panjang yang menggambarkan waktu yang diperlukan sebuah object untuk menyelesaikan tugas. Lebih lama waktu yang diperlukan, maka activation boxes akan lebih panjang.

3.     Actors - adalah komponen yang berbentuk stick figure. Komponen yang mewakili seorang pengguna yang berinteraksi dengan system.

4.     Lifeline - adalah komponen yang berbentuk garis putus - putus. Lifeline biasanya memuat kotak yang berisi nama dari sebuah object. Berfungsi menggambarkan aktifitas dari object.


Contoh Sequence Diagram Perpustakaan (Menambah buku Baru)


Ada 2 macam sequence diagram yaitu :

1.     High Level Sequence Diagram

Disini kita memfokuskan pada usecase, dimana sebuah diagram hanya terdiri dari actor dan object yang mewakili system. Diagram ini hanya menampilkan 2 atau 3 object yang secara graphics memperjelas use case.

2.     Application Level Sequence Diagram

Untuk level ini, kita mengganti actor dengan controller atau manager semacam device yang terpasang pada system.



Statechart Diagram


Statechart Diagram


Diagram status atau statechart diagram atau statechart diagram menunjukkan kondisi yang dapat dialami atau terjadi pada sebuah objek sehingga setiap objek memiliki sebuah diagram status. Diagram status diadopsi dari penggambaran kondisi mesin status (state machine) yang menggambarkan status apa saja yang dialami oleh mesin, misalnya mesin pembelian kopi dengan uang koin.

Diagram Status mengambarkan seluruh state/status yang memungkinkan obyek-obyek dalam class dapat dimiliki dan kejadian-kejadian yang menyebabkan satus berubah. Perubahan dalam suatu state disebut juga transisi (transition). Suatu transisi juga dapat memiliki sebuah aksi yang dihubungkan pada status, lebih spesifik apa yang harus dilakukan dalam hubungannya dengan transisi status. Pada diagram ini, perilaku sistem ditunjukkan. Sebuah status adalah kondisi selama hidup objek atau interaksi selama memenuhi suatu kondisi, melaksanakan suatu aksi, atau menunggu suatu kejadian.

Simbol-simbol yang ada pada diagram status adalah sebagai berikut:




Status, Event, dan Transisi:

Objek pada sistem mengubah statusnya untuk merespon event/kejadian dan waktu. Secara umum, pendeteksian sebuah kejadian dapat menyebabkan sebuah objek bergerak dari satu status ke status yang lain. Keadaaan ini disebut transisi.

Di bawah ini contoh diagram status untuk peminjaman. Seorang peminjam yang akan meminjam akan mengisi form peminjaman. Sistem akan megecek keadaan barang. Barang tersebut tersedia apa tidak, atau barang tersebut dapat di pinjam atau tidak. Setelah barang tersedia, sistem akan memvalidasi persetujuan peminjaman barang dan menyerahkan barang kepada peminjam. Sistem juga akan mencari informasi tentang barang yang akan dipinjam, maka akan dilakukan permintaan akan informasi barang. Jika informasi yang diterima masih kurang, akan dilakukan permintaan ulang sampai seluruh informasi yang dibutuhkan didapatkan. Saat informasi sudah cukup, informasi tersebut akan diserahkan kepada peminjam barang tersebut.



Class Diagram


Definisi Class Diagram
Class Diagram adalah diagram yang menunjukan class-class yang ada dari sebuah sistem dan hubungannya secara logika. Class diagram menggambarkan struktur statis dari sebuah sistem. Karena itu class diagram merupakan tulang punggung atau kekuatan dasar dari hampir setiap metode berorientasi objek termasuk UML (Henderi, 2008). Sementara menurut (Whitten L. Jeffery et al 2004:432) class diagram adalah gambar grafis mengenai struktur objek statis dari suatu sistem, menunjukan class-class objek yang menyusun sebuah sistem dan juga hubungan antara class objek tersebut.

Elemen - elemen Class Diagram

Elemen-eleman class diagram dalam pemodelan UML terdiri dari: Class-class, struktur class, sifat class (class behavior), perkumpulan/gabungan (association), pengumpulan/kesatuan (agregation), ketergantungan (dependency), relasi-relasi turunannya, keberagaman dan indikator navigasi, dan role name (peranan/tugas nama).

Simbol - simbol class diagram

1.  Class: Class adalah blok - blok pembangun pada pemrograman berorientasi obyek.Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan property/atribut class. Bagian akhir mendefinisikan methodmethod dari sebuah clas.

2.  Association : Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum-hukum multiplisitas pada sebuah relationship.(Contoh: One-to-one, one-to-many,many-to-many).

3.  Composition: Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat dia bergantung tersebut. Sebuah relationship composition digambarkan sebagai garis dengan ujung berbentuk jajaran genjang berisi/solid.

4. Dependency : Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut dependency. Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. Sebuah dependency dilambangkan sebagai sebuah panah bertitik-titik.




5. Aggregation: Aggregation mengindikasikan keseluruhan bagian relationship dan biasanya disebut sebagai relasi.

6.  Generalisasi / inheritence digunakan dalam hubungan antara kelas induk dengan kelas turunan (inherited). Relasi antar kelas dengan makna generalisasi spesialisasi (umum - khusus).

7. Multiplicity atau multiplisitas memnunjukkan jumlah suatu objek yang bias berhubungan dengan objek lain.




Communication Diagram

Definisi Communication Diagram
Communication Diagram Merupakan penyederhanaan dari Diagram Kolaborasi. Menggambarkan interaksi antar objek/bagian dalam bentuk urutan pengiriman pesan. Diagram ini merepresentasikan informasi yang diperoleh dari diagram kelas. Dalam Diagram ini yang dituliskan adalah operasi/metode yang dijalankan antar objek.

Tujuan Communication Diagram:
1.  Model pesan melewati antara objek atau peran yang mengantarkan fungsionalitas kasus dan operasi penggunaan.
2.     Mekanisme model dalam desain arsitektur system.
3. Tangkap interaksi yang menunjukkan pesan yang dilewatkan antara objek dan peran dalam skenario kolaborasi.
4.   Model skenario alternatif dalam kasus penggunaan atau operasi yang melibatkan kolaborasi dari berbagai objek dan interaksi.
5.   Dukung identifikasi objek (karenanya kelas), dan atributnya (parameter pesan) dan operasi (pesan) yang ikut serta dalam use case.

Contoh Communication Diagram:

Penjelasan: 
Komunikasi dimulai dengan 1 *: find_books () - pesan berulang yang dapat diulang beberapa jumlah waktu yang tidak ditentukan. Klien mencari inventaris buku, dan jika dia tertarik dengan beberapa buku, dia dapat melihat deskripsi buku ini (1.2 [interested]: view_book ()). Jika klien memutuskan untuk membeli, dia dapat menambahkan buku ke keranjang belanja - 1.3 [memutuskan untuk membeli]: add_to_cart (). Checkout termasuk mendapatkan daftar buku dari keranjang belanja, membuat pesanan, dan memperbarui inventaris, jika pesanan selesai.

Elemen utama Communication Diagram UML.

a.   Frame Diagram, Communication Diagram dapat ditunjukkan dalam bingkai persegi panjang dengan nama di sudut kiri atas.
b.   Lifeline adalah spesialisasi elemen bernama yang mewakili peserta individual dalam interaksi. Sementara bagian dan fitur struktural mungkin memiliki multiplisitas lebih besar dari 1, garis hidup hanya mewakili satu entitas yang berinteraksi.
c.      Message di Communication Diagram ditampilkan sebagai garis dengan urutan ekspresi dan panah di atas garis. Panah menunjukkan arah komunikasi.
d.     Sequence Expression adalah urutan - urutan dipisahkan urutan - urutan diikuti oleh titik dua (":") dan nama pesan setelah itu: 
Sebagai contoh,  3b.2.2: m5  
berisi urutan ekspresi 3b.2.2 dan nama pesan m5



Use Case Diagram and Activity Diagram


Use Case Diagram and Activity Diagram

Definisi Use Case Diagram

Use Case diagram adalah gambar dari beberapa atau seluruh aktor dan use case dengan tujuan mengenali interaksi mereka dalam suatu sistem. Gambaran fungsionalitas yang diharapkan dari sebuah sistem menekankan pada “apa” bukan “bagaimana” yg dibuat system. Menyatakan suatu job/pekerjaan tertentu misal : login ke sistem, create data penjualan.

Use Case Diagram digunakkan untuk mengilustrasikan hubungan antara sistem dan user ada beberapa keuntungannya meliputi:

a.    Use Case ringkas, sederhana, dan dipahami oleh beberapa pihak.

b. Use Case mengatur sejumlah aktifitas dalam proses perencanaan iterasi, sistem deployment, pembuatan dan validasi model desain, pembuatan dokumentasi bagi para pengguna.

c.  Use Case membantu sinkronisasi isi model yang berbeda.


Konsep Dasar Flow of Event

Flow of Event bertujuan untuk mendokumentasikan alur logika dalam usecase yang menjelaskan secara rinci apa yang pemakai  akan lakukan  dan apa yang system itu sendiri lakukan.

Sistematika flow of events terdiri dari beberapa elemen berikut :

1.     Deskripsi  singkat yang menjelaskan apa yang akan system lakukan.

2.     Prasyarat  kondisi yang harus dipenuhi sebelum usecase dijalankan.

3.     Alur utama   sebuah jalur utama dalam usecase yang membawa tercapainya tujuan utama sebuah usecase.

4.     Alur alternative merupakan penyimpangan dari alur utama atau alur alternative yang menyatakan kondisi eror dari sistem

5.     alur salah  penyimpangan dari alur utama dan bukan sebagai kondisi salah.



6.     Kondisi akhir  kondisi yang selalu benar setelah usecase dijalankan.



Simbol Use Case Diagram:


 

Contoh Use Case Diagram




Penjelasan Use Case Diagram:

Tugas Admin toko baju yaitu update informasi tentang baju yang akan di pasarkan atau di jual, mengelola data baju, mengelola data transaksi, dan mengelola data hasil penjualan. Costumer memilih baju, dan melakukan transaksi. Pemilik Toko baju yaitu menerima data baju dari admin dan menerima hasil laporan penjualan dari admin.

Definisi Activity Diagram

Diagram aktivitas adalah bentuk visual dari alir kerja yang berisi aktivitas dan tindakan, yang juga dapat berisi pilihan, pengulangan, dan concurrency. Dalam Unified Modeling Language, diagram aktivitas dibuat untuk menjelaskan aktivitas komputer. Diagram aktivitas menggambarkan alur kontrol secara garis besar. Diagram aktivitas memiliki komponen dengan bentuk tertentu, dihubungan dengan tanda panah. Panah mengarahkan urutan aktivitas terjadi, dari awal sampai akhir. Diagram aktivitas dapat dianggap sebagai jenis alir kerja. Umumnya alir kerja tidak memiliki cara untuk menampilkan Concurrency simbol penggabungan dan pemecahan pada diagram aktivitas dapat menjadi solusi untuk pemakaian yang sederhana.

Pada dasarnya diagram Activity Diagram versi UML (Unified Modeling Language) sering digunakan oleh flowchart. Activity diagram sendiri digunakan untuk menganalisa proses. Diagram ini berhubungan dengan diagram statechart. Diagram statechart berfokus pada obyek yang dalam suatu proses atau proses menjadi suatu obyek, diagram Activity berfokus pada aktifitas - aktifitas yang terjadi yang terkait dalam suatu proses tunggal, jadi dengan kata lain, diagram ini menunjukkan bagaimana aktifitas - aktifitas tersebut bergantung satu sama lain. yang perlu diperhatikan adalah diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yangdapat dilakukan oleh sistem. Activity diagram bukanlah sebuah tool yang sempurna untuk menganalisis masalah dari sistem.

Fungsi Activity Diagram:

a.      Menggambarkan  proses bisnis dan urutan aktivitas dalam sebuah proses

b.     Memperlihatkan urutan aktifitas proses pada system.

c.      Dipakai pada business modeling untuk memperlihatkan urutan aktifitas proses bisnis

d.     Struktur diagram ini mirip flowchart atau Data Flow Diagram pada perancangan terstruktur.

e.  Sangat bermanfaat apabila kita membuat diagram ini terlebih dahulu dalam memodelkan sebuah proses untuk membantu memahami proses secara keseluruhan.

f.      Activity diagram dibuat berdasarkan sebuah atau beberapa use case pada use case diagram.


Element - element pada activity diagram:


Contoh Activity Diagram dibawah menggambarkan alir aktivitas admin, costumer dan pemilik toko baju.



Pengenalan Analisa Desain Berorientasi Objek


Pengenalan Analisa Desain Berorientasi Objek

1.    Pengertian Analisa Desain Berorientasi Objek

Analisa Desain Berorientasi Objek adalah metode analisis yang memerikasa requirements dari sudut pandang kelas kelas dan objek yang ditemui dalam ruang lingkup permasalahan yang mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek system atau subsistem. Analisa Desain Berorientasi Objek merupakan cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek,yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas.

2.    Konsep dasar Object Oriented Analisis Design

Object Oriented Analisis Design mencakup analisis dan desain sebuah sistem dengan pendekatan objek, yaiut analisis berorientasi objek dan desain berorientasi objek. analisis berorientasi objek adalah metode analisis yang memerika requirement (syarat/keperluan) yang harus dipenuhi sebuah sistem) dari sudut pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup perusahaan. Sedangkan desain berorientasi objek adalah metode untuk mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek sistem atau sub sistem.

      Terdapat beberapa konsep dalam Analisa Desain Berorientasi Objek, yaitu :

a.   Kelas (Class) kumpulan objek-objek dengan karakter yang sama. Sebuah kelas mempunyai sifat(atribut),kelakuan (operasi/metode),hubungan (relationship) dan arti. Suatu kelas dapat diturunkan dari kelas yang lain,dimana atribut  dan kelas semula dapat diwariskan ke kelas yang baru. Kelas adalah sebuah struktur tertentu dalam pembuatan perangkat lunak. Kelas merupakan bentuk struktur pada kode program yang menggunakan metodologi berorientasi objek.

b.   Objek (Object) Abstraksi dan sesuatu yang mewakili dunia nyata. Objek merupakan suatu entitas yang mampu menyimpan informasi (status) dan mempunyai operasi (kelakuan) yang dapat diterapkan.  

c.    Metode (Method) operasi atau metode pada kelas hampir sama dengan fungsi atau prosedur pada metodologi terstruktur. Operasi merupakan fungsi atau transformasi yang dapat dilakukan terhadap objek atau dilakukan objek.

d.    Atribut variabel global yang dimiliki kelas. Atribut dapat berupa nilai atau elemen – elemen data yang dimiliki oleh objek dalam kelas. Atribut dipunyai secara individu oleh suatu objek misalnya berat,jenis.

e.    Abstraksi prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi suatu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan masalah.

f.    Enskapsulasi pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerjanya.

g.    Pewarisan mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh dan objek lain sebagai bagian dari dirinya.

h.    Antar muka biasanya digunakan agar kelas yang lain tidak mengakses langsung ke suatu kelas.

i.    Reusability pemanfaatan kembali objek yang sudah didefenisikan untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek tersebut.

j.    Generalisasi& spesialisasi menunjukan hubungan antar kelas dan objek yang umum dengan kelas dan objek yang khusus.

k.  Komunikasi Antar Objek dilakukan lewat pesan (message) yang dikirim dari satu objek ke objek lainnya.

l.     Polimorfisme kemampuan suatu objek untuk digunakan di banyak tujuan yang berbeda dengan nama yang sama sehingga menghemat program.

m. Package sebuah kontainer atau kemasan yang dapat digunakan untuk mengelompok kelas-kelas yang bernama sama disimpan dalam package yang berbeda.



3.    Metedologi  pengembangan sistem berbasis object

Metodologi adalah cara systematis untuk mengerjakan analisys and design. Dengan metodologi, pihak yang membangun system software dapat merencanakan dan mengulangi pekerjaan dilain waktu. Metodologi juga menghilangkan perbedaan notasi untuk suatu hal yang sama karena setiap oarng akan berbicara dalam bahasa yang sama. Metodologi yang paling banyak dalam OOAD, yaitu: Object Modeling Technique (OMT) dari Rumbaugh, Object Oriented Booch, Responsibility-Driven Design/ Class Responsibility Calloboration (RDD/CRC) dari Wirf-Broock, Metodologi Coad/ Yourdan dan Jacobson Object Oriented Software Enginering (OOSE).

a.   Object Modeling Technique (OMT) Dikembangkan oleh James Rumbaugh sebagai metode untuk mengembangkan sistem berorientasi objek dan untuk mendukung pemograman berorientasi objek .

b. Object Oriented Booch Dikembangkan oleh Grady Booch terdiri dari diagram kelas,objek,transisi status, interaksi, modul dan proses.

c. Class Resposibility Calloboration (CRC) Merupakan bagian dari Object-Oriented Programming,System,Languages And Application(OOPSLA). Dibuat untuk menjadi kelas yang akan dianalisis.

d.  Metodologi Coad/ Yourdan Menyediakan sebuah diagram kelas, pembuatannya dengan langkah - langkah berkut :  Mendefenisikan kelas dan objek, Mengidentifikasi struktur kelas dan objek, Mendefenisikan subjek nama kelas, Mendefenisikan atribut, Mendefenisikan operasi/layanan (service). 

e. Object Oriented Software Enginering (OOSE) Dikembangkan oleh Ivar Jacobson adalah metode disain berorientasi objek yang melibatkan use case.



4. Teknik pemodelan yang ada pada Analisa Desain Berorientasi Objek

a.    Model Objek : Menggambarkan struktur statis dari suatu objek dalam sistem dan relasinya, berisi diagram objek. Diagram objek adalah graph dimana nodenya adalah kelas yang mempunyai relasi antar kelas.

b.   Model Dinamik menggambarkan aspek dari sistem yang berubah setiap saat, dipergunakan untuk menyatakan aspek kontrol dari system, berisi state diagram. State diagram adalah graph dimana nodenya adalah state dan arc adalah tarnsisi antara state yang disebabkan oleh event.

c.     Model Fungsional: menggambrakan transformasi nilai data di dalam system, berisi data flow diagram. DFD adalah suatu graph dimana nodenya menyatakan proses dan arcnya adalah aliran data.


Definisi Unified Modeling Language (UML)

    Unified Modeling Language (UML) merupakan satu kumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yangterkait dengan objek (Whitten L. Jeffery et al, 2004). Sementara menurut Henderi (2007: 4) Unified Modeling Language (UML) adalah sebuah bahasa pemodelan yang telah menjadistandar dalam industri software untuk visualisasi, merancang, dan mendokumentasikansistem perangkat lunak. Bahasa Pemodelan UML lebih cocok untuk pembuatan perangkatlunak dalam bahasa pemrograman berorientasi objek (C++, Java, VB.NET), namundemikian tetap dapat digunakan pada bahasa pemrograman prosedural (Ziga Turck, 2007).

     Unified Modeling Language (UML) biasa digunakan untuk (Henderi, 2007 :11)

1. Menggambarkan batasan sistem dan fungsi-fungsi sistem secara umum, dibuat denganuse case dan actor.

2. Menggambarkan kegiatan atau proses bisnis yang dilaksanakan secara umum, dibuat dengan interaction diagrams.

3.Menggambarkan representasi struktur statik sebuah sistem dalam bentuk class diagrams

4. Membuat model behavior”yang menggambarkan kebiasaan atau sifat sebuah sistem”dengan state transition diagrams.

5.Menyatakan arsitektur implementasi fisik menggunakan component and developmentdiagrams 6. Menyampaikan atau memperluas fungsionality dengan stereotypes (Ziga Turck, 2007).

     UML merupakan salah satu alat bantu yang sangat handal dalam bidang pengembangan sistem berorientasi objek karena UML menyediakan bahasa pemodelan visual yang memungkinkan pengembang sistem membuat blue print atas visinya dalam bentuk yang baku. UML berfungsi sebagai jembatan dalam mengkomunikasikan beberapa aspek dalam sistem melalui sejumlah elemen grafis yang bisa dikombinasikan menjadidiagram. UML mempunyai banyak diagram yang dapat mengakomodasi berbagai sudut pandang dari suatu perangkat lunak yang akan dibangun. Diagram-diagram tersebut digunakan untuk (Henderi et al, 2008:71):

1.     Mengkomunikasikan ide.

2.     Melahirkan ide-ide baru dan peluang-peluang baru

3.     Menguji ide dan membuat prediksi

4.     Memahami struktur dan relasi-relasinya

Konsep Pemodelan Menggunakan Unified Modeling Language (UML)

      Pemodelan menggunakan Unified Modeling Language (UML) merupakan metode pemodelan berorientasi objek dan berbasis visual. Karenanya pemodelan menggunakan UML merupakan pemodelan objek yang fokus pada pendefinisian struktur statis dan modelsistem informasi yang dinamis daripada mendefinisikan data dan model proses yangtujuannya adalah pengembangan tradisional. UMLmenawarkan diagram yang dikelompokan menjadi lima perspektif berbeda untuk memodelkan suatu sistem. Seperti satu set blue print yang digunakan untuk membangun sebuah rumah.



Diagram Dasar dalam Unified Modeling Language (UML)


Penjelasan :

1.  Structure Diagram kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan. Dalam Structure diagram terdapat beberapa jenis model diagram lagi, yaitu :

a.    Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Class memiliki tiga area pokok adalah nama, atribut dan metode. Atribut dan metode dapat memiliki salah satu sifat berikut : Private, tidak dapat dipanggil dari luar class yang bersangkutan.  Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya  Public, dapat dipanggil oleh siapa saja

b.     Object Diagram Object diagram merupakan sebuah gambaran tentang objek-objek dalam sebuah sistem pada satu titik waktu. Karena lebih menonjolkan perintah-perintah 29 daripada class, object diagram lebih sering disebut sebagai sebuah diagram perintah.

c.     Component Diagram Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya. Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time , maupun run time.

d. Composite Structure Diagram Diagram struktur komposit adalah diagram yang menunjukkan struktur internal classifier, termasuk poin interaksinya ke bagian lain dari sistem. Hal ini menunjukkan konfigurasi dan hubungan bagian, yang bersama-sama melakukan perilaku classifie. Diagram struktur komposit merupakan jenis diagram struktur statis dalam Unified Modeling Language (UML), yang menggambarkan struktur internal kelas dan kolaborasi. 

e.      Package Diagram Diagram objek melengkapi notasi grafik untuk pemodelan objek, kelas dan relasinya dengan yang lain. Diagram objek bermanfaat untuk pemodelan abstrak dan membuat perancangan program. Untuk mengatur pengorganisasian diagram Class yang kompleks, dapat dilakukan pengelompokan kelas-kelas berupa package (paket-paket). Package adalah kumpulan elemen-elemen logika UML.

f.      Deployment Diagram 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 hal-hal lain yang bersifat fisikal Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk men- deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.

2.  Behavior Diagram yaitu kumpulan diagram yang dgunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan pada sebuah sistem.

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

b.  Activity Diagram Activity diagram memiliki pengertian yaitu lebih fokus kepada menggambarkan proses bisnis dan urutan aktivitas dalam sebuah proses. Memiliki struktur diagram yang mirip flowchart atau data flow diagram pada perancangan terstruktur.

c.  State Machine Diagram Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. 

3.  Interaction Diagram yaitu kumpulan diagram yang digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antar sub sistem pada suatu sistem.

a.   Sequence Diagram menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek.  Dalam menggambarkan diagram ini harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode- metode yang dimiliki kelas.

b. Communication Diagram Merupakan penyederhanaan dari Diagram Kolaborasi. Menggambarkan interaksi antar objek/bagian dalam bentuk urutan pengiriman pesan. Diagram ini merepresentasikan informasi yang diperoleh dari diagram kelas. Dalam Diagram ini yang dituliskan adalah operasi/metode yang dijalankan antar objek.

c.   Timing Diagram Timing Diagram adalah bentuk lain dari interaction diagram, dimana fokus utamanya lebih ke waktu. Timing diagram sangat berdaya guna dalam menunjukkan faktor pembatas waktu diantara perubahan state pada objek yang berbeda.

d. Interaction Overview Diagram Bentuk Diagram Aktivitas yang setiap titik merepresentasikan diagram interaksi. Notasi pada Interaction Overview Diagram sama dengan Diagram Aktivitas.