Tampilkan postingan dengan label MBO. Tampilkan semua postingan
Tampilkan postingan dengan label MBO. Tampilkan semua postingan

Senin, 10 Juni 2013

Use Case Diagram Login/Logout

 Use Case Diagram Login/Logout

7 Juni 2013

loginlogout

Use Case Diagram Perekaman Informasi untuk Kepentingan Negara (Tugas)

Use Case Diagram Perekaman Informasi untuk Kepentingan Negara (Tugas)

perekamaninformasi

Sumber: Peratutan Menteri komunikasi dan Informatika Nomor: 01/p/m. kominfo/03/2008

Apakah Rational Rose dan Notasi UML ?



Apakah Rational Rose dan Notasi UML ?

Rational rose
Rational Rose adalah tools pemodelan visual untuk pengembangan system berbasis objek yang handal untuk digunakan sebagai bantuan bagi para pengembang dalam melakukan analisis dan perancangan system. Rational rosemendukung permodelan bisnis yang membantu para pengembang memahami system secara komprehensif. Ia juga membantu analisis system dengan cara pengembang membuat diagram use case untuk melihat fungsionalitas system secara keseluruhan sesuai dengan harapan dan keinginan pengguna. Kemudian, ia juga menuntut pengembang untuk mengambangkan Interaction Diagram untuk melihat bagaimana objek-objek saling bekerjasama dalam menyediakan fungsionalitas yang diperlukan.
Dalam Rational rose, pemodelan adalah cara melihat system dari berbagai sudut pandang. Ia mencakup semua diagram yang dikenal dalam UML, actor-aktor yang terlibat dalam system, use-case, objek-objek, kelas-kelas, komponen-komponen, serta simpul-simpul penyebaran. Model juga mendeskripsikan rincian yang diperlukan system dan bagaimana ia akan bekerja, sehingga para pengembang dapat menggunakan model itu sebagai blue print untuk system yang akan dikembangkan.

UML
UML (Unified Modelling Language) adalah sebuah bahasa yang menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan system piranti lunak.

Seperti bahasa-bahasa lainnya,  UML mendefinisikan notasi dan  syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).

Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch [1],  metodologi coad [2], metodologi OOSE [3], metodologi OMT [4], metodologi shlaer-mellor [5], metodologi wirfs-brock [6], 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 group/perusahaan lain yang menggunakan metodologi yang berlainan.

Posisi UML

Tahapan pembangunan aplikasi berorientasi objek pada umunya bersifat iterative dan incremental. Proses pembangunan aplikasi dibagi menjadi beberapa siklus. Setiap kali satu situs selesai dilakukan, dilakukan evaluasi sebagai bahan untuk memulai siklus berikutnya. Beberapa siklus biasanya terdiri atas:

Tahap analisa permintaan
Tahap analisa desain
Tahap desain
Tahap Pengkodean.
Tahap implementasi
UML digunakan pada tahap analisa dan desain. Desain yang dihasilkan berupa diagram-diagram UML yang akan diterjemahkan menjadi kode program pada tahap pengkodean.

Konsep Dasar UML

Abstraksi konsep dasar UML yang terdiri dari structural classification, dynamic behavior, dan model management, bisa kita pahami dengan mudah apabila kita melihat gambar diatas dari Diagrams. Main concepts bisa kita pandang sebagai term yang akan muncul pada saat kita membuat diagram. Dan view adalah kategori dari diagaram tersebut.

Lalu darimana kita mulai ? Untuk menguasai UML, sebenarnya cukup dua hal yang harus kita

perhatikan:

1.  Menguasai pembuatan diagram UML

2.  Menguasai langkah-langkah dalam analisa dan pengembangan dengan UML

Tulisan ini pada intinya akan mengupas kedua hal tersebut.

Seperti juga tercantum pada gambar diatas UML mendefinisikan diagram-diagram sebagai berikut:

use case diagram
class diagram
statechart diagram
activity diagram
sequence diagram
collaboration diagram
component diagram
deployment diagram
Diagram UML

UML menyediakan 10 macam Dalam UML merupakan salah satu alat Bantu yang sangat handal dalam mengembangkan system berorientasi objek. Ada 9 jenis diagram yang ditangani oleh UML, yakni:

1. Diagram Use Case

Use case adalah deskripsi fungsi dari sebuah dari sudut pandang pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interkasi antar user (pengguna) sebuah system dengan system itu sendiri dan menjelaskan bagaimana system itu bekerja.

2. Diagram Class

Class diagram adalah sebuah spesifikasi yang jika diinstansiasi maka akan menghasilkan objek yang merupakan inti dari pengembangan dan desain berorientasi objek. Kelas menggambarkan atribut atau properti dari sebuah system sekaligus menawarkan layanan apa saja yang bisa dilakukan dengan objek tersebut (method/fungsi). Jadi, kelas memiliki 3 pokok penting yaitu: nama, atribut dan method.

3. Diagram Statechart

Statechart diagram menunjukkan transisi dan perubahan keadaan suatu objek pada system sebagai akibat dari stimulasi yang diterima. Dalam UML, state digambarkan berbentuk segi empat dengan sudut tumpul dan memiliki nama sesuai dengan kondisi saat itu.

4. Diagram Activity

Actifity diagram menggambarkan berbagai alir aktifitas dalam system yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses parallel yang mungkin erjadi pada beberapa eksekusi.

5. Diagram Sequence

Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah sekenario. Diagram ini menunjukkan sejumlah contoh objek dan message (pesan) yang diletakkan di antara objek-objek ini di dalam use case.

6. Diagram Collaboration

Collaboration diagram adalah perluasan dari objek diagram. Objek diagram menunjukkan objek-objek dan hubungannya dengan yang lain. Collaboration diagram menunjukkan message-message objek yang dikirim satu sama lain,

7. Diagram Component

Component Diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan di antaranya.

8. Diagram Deployment.

Deplaoyment diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur system, dimana komponen akan diletakkan (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server dan hal-hal lain yang bersifat fisikal.

Tool Pembuatan UML

Banyak sekali tool-tool yang didesain untuk mendukung UML,mulai dari yang gratis maupun komersial. Di antaranya yaitu:

Komersial:

Rational Rose
Object Domain
Magic Draw
Visio


Argo UML: Tool sederhana ini dapat membuat membantu kita untuk merancang perangkat lunak yang akan dibangun. Tool ini cocok untuk bagi yang baru belajar UML, karena fitur-fiturnya sangat terbatas.
FrameUML: Menurut saya tool ini agak kurang userfriendly karena sangat sederhana dan tidak meng-cover semua kebutuhan yang diperlukan dalam pembuatan UML.
Net Beans: Tool ini sangat kompleks, karena tidak hanya UML yang ada didalamnya, tapi BaseIDE, JavaME, JavaSE, SOAP, Ruby,C++ termasuk webserver Apache Tomcat. Maka dari itu tool ini sangat berat dan memakan memori yang cukup banyak.

Pemrograman berorientasi objek



Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrogramanyang 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.
Konsep Dasar
·         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 darimodularitas 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 interfaceyang 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 denganbahasa 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.
Pengertian Sistem Orientasi Objek
Sebuah sistem operasi berorientasi obyek adalah sebuah sistem operasi yang internal menggunakan metodologi berorientasi objek . Sebuah sistem operasi berorientasi objek ini berbeda dengan objek-berorientasi user interface atau pemrograman kerangka kerja , yang dapat ditempatkan di atas sistem operasi non-object-oriented seperti DOS , Microsoft Windows atau Unix . Hal ini dapat berpendapat, bagaimanapun, bahwa sudah ada konsep berorientasi objek yang terlibat dalam desain sebuah sistem operasi yang lebih khas seperti Unix . Sementara bahasa yang lebih tradisional seperti C tidak mendukung orientasi objek sebagai lancar sebagai bahasa yang lebih baru, gagasan, misalnya, berkas , aliran , atau device driver (di Unix, masing-masing diwakili sebagai file descriptor ) dapat dianggap sebagai yang baik contoh dari orientasi objek: mereka, setelah semua, tipe data abstrak , dengan berbagai metode dalam bentuk panggilan sistem , yang perilakunya bervariasi berdasarkan jenis objek, yang pelaksanaannya rincian tersembunyi dari pemanggil, dan bahkan mungkin menggunakan warisan di mereka yang mendasari kode.
 Contoh Sistem Orientasi Objek
•LISP
Lisp digunakan sebagai sistem operasi pada beberapa mesin awal. alias pada Mesin Lisp dan kemudian di Symbolics dengan marga (sistem operasi)
•Smalltalk
Smalltalk diciptakan di Xerox di 70-an. Sistem Smalltalk adalah sepenuhnya berorientasi objek dan kebutuhan sangat sedikit dukungan olehBIOS dan sistem run-time.
•Diri
Diri (programming_language) ditemukan di Sun.
•BM AS400
IBM menciptakan AS400 sekitar tahun 1978 OS AS400 memiliki pengenal unik 128bit untuk objek apapun.
•NeXTSTEP
Selama akhir 1980-an, Steve Jobs membentuk komputer perusahaan NeXT . Salah satu tugas pertama NeXT adalah untuk merancang sistem berorientasi obyek operasi, NeXTSTEP . Mereka melakukan ini dengan menambahkan suatu kerangka kerja berorientasi objek di atasMach dan BSD menggunakan Objective-C bahasa sebagai dasar. NeXTstep kemudian berkembang menjadi OPENSTEP dan Kakao (API) pada Mac OS X . OPENSTEP diberikan sebagai lapisan API atas banyak sistem operasi, yaitu NextStep, Windows, HP-UX , Solaris .
•Pilihan
Pilihan adalah berorientasi obyek sistem operasi yang dikembangkan di University of Illinois di Urbana-Champaign . Hal ini ditulis dalam C + + dan menggunakan objek untuk mewakili komponen inti kernel seperti CPU , proses dan sebagainya. Warisan digunakan untuk memisahkan kernel ke dalam kelas mesin portabel independen dan kecil non-portabel tergantung kelas. Pilihan telah porting ke dan berjalan pada SPARC , x86 , dan ARM .
•Athene
Athena adalah sebuah objek berbasis sistem operasi pertama kali dirilis pada tahun 2000 oleh Sistem Rocklyte . Lingkungan pengguna dibangun seluruhnya dari benda-benda yang dihubungkan bersama pada saat runtime. Aplikasi untuk Athene juga dapat dibuat menggunakan metodologi ini dan biasanya ditulis menggunakan objek bahasa scripting 'DML' ( Dinamis Markup Language ). Objek dapat dibagi antara proses dengan menciptakan mereka dalam memori bersama dan mengunci mereka seperti yang diperlukan untuk akses.Kerangka objek Athena adalah multi-platform, yang memungkinkan untuk digunakan dalam lingkungan Windows dan Linux untuk pengembangan program berorientasi objek.
•BeOS
Salah satu usaha untuk menciptakan sistem operasi yang benar-benar berorientasi obyek adalah BeOS dari pertengahan tahun 1990, yang digunakan obyek dan C + + bahasa untuk antarmuka pemrograman aplikasi (API). Tapi kernel itu sendiri ditulis dalam C dengan C + + bungkus di ruang pengguna. Sistem tidak menjadi mainstream meskipun bahkan hari ini telah penggemar dan manfaat dari pembangunan yang berkelanjutan.
•Sukukata
Suku membuat berat penggunaan C + + dan untuk alasan yang sering dibandingkan dengan BeOS
 .berbasis Java sistem operasi
Mengingat bahwa Sun Microsystems ' Java saat ini salah satu bahasa berorientasi objek yang paling dominan, tidak mengherankan bahwa Java berbasis sistem operasi telah dicoba. Di daerah ini, idealnya, kernel akan terdiri dari minimal yang dibutuhkan untuk mendukung JVM .Ini adalah satu-satunya komponen suatu sistem operasi yang harus ditulis dalam bahasa lain selain Jawa. Dibangun di atas bahwa JVM dan dukungan hardware dasar, akan mungkin untuk menulis sisa dari sistem operasi di Jawa, bahkan bagian dari sistem yang lebih tradisional ditulis dalam bahasa tingkat rendah seperti C, misalnya driver perangkat , dapat ditulis di Jawa. Contoh upaya seperti sistem operasi termasuk JX , JNode dan JavaOS .
•Microsoft Singularity
Singularitas adalah Operating System eksperimen berdasarkan Microsoft NET Framework. . Hal ini sebanding dengan berbasis Java sistem operasi, tetapi menggunakan platform. NET bukan platform Java.
•Symbolics Genera
Genera dari Symbolics adalah sistem operasi untuk Mesin Lisp ditulis dalam ZetaLisp dan Symbolics Common Lisp . Ini membuat penggunaan berat Flavors (perpanjangan berorientasi obyek dini untuk Lisp) dan Sistem Common Lisp Object (CLOS) . Pembangunan dimulai pada pertengahan tahun 70-an di MIT.

RATIONAL ROSE DAN NOTASI UML (MBO)


Rational rose
Rational Rose adalah tools pemodelan visual untuk pengembangan system berbasis objek yang handal untuk digunakan sebagai bantuan bagi para pengembang dalam melakukan analisis dan perancangan system. Rational rosemendukung permodelan bisnis yang membantu para pengembang memahami system secara komprehensif. Ia juga membantu analisis system dengan cara pengembang membuat diagram use case untuk melihat fungsionalitas system secara keseluruhan sesuai dengan harapan dan keinginan pengguna. Kemudian, ia juga menuntut pengembang untuk mengambangkan Interaction Diagram untuk melihat bagaimana objek-objek saling bekerjasama dalam menyediakan fungsionalitas yang diperlukan.
Dalam Rational rose, pemodelan adalah cara melihat system dari berbagai sudut pandang. Ia mencakup semua diagram yang dikenal dalam UML, actor-aktor yang terlibat dalam system, use-case, objek-objek, kelas-kelas, komponen-komponen, serta simpul-simpul penyebaran. Model juga mendeskripsikan rincian yang diperlukan system dan bagaimana ia akan bekerja, sehingga para pengembang dapat menggunakan model itu sebagai blue print untuk system yang akan dikembangkan.

UML
UML (Unified Modelling Language) adalah sebuah bahasa yang menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan system piranti lunak.

Seperti bahasa-bahasa lainnya,  UML mendefinisikan notasi dan  syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).

Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch [1],  metodologi coad [2], metodologi OOSE [3], metodologi OMT [4], metodologi shlaer-mellor [5], metodologi wirfs-brock [6], 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 group/perusahaan lain yang menggunakan metodologi yang berlainan.

Posisi UML

Tahapan pembangunan aplikasi berorientasi objek pada umunya bersifat iterative dan incremental. Proses pembangunan aplikasi dibagi menjadi beberapa siklus. Setiap kali satu situs selesai dilakukan, dilakukan evaluasi sebagai bahan untuk memulai siklus berikutnya. Beberapa siklus biasanya terdiri atas:

Tahap analisa permintaan
Tahap analisa desain
Tahap desain
Tahap Pengkodean.
Tahap implementasi
UML digunakan pada tahap analisa dan desain. Desain yang dihasilkan berupa diagram-diagram UML yang akan diterjemahkan menjadi kode program pada tahap pengkodean.

Konsep Dasar UML

Abstraksi konsep dasar UML yang terdiri dari structural classification, dynamic behavior, dan model management, bisa kita pahami dengan mudah apabila kita melihat gambar diatas dari Diagrams. Main concepts bisa kita pandang sebagai term yang akan muncul pada saat kita membuat diagram. Dan view adalah kategori dari diagaram tersebut.

Lalu darimana kita mulai ? Untuk menguasai UML, sebenarnya cukup dua hal yang harus kita

perhatikan:

1.  Menguasai pembuatan diagram UML

2.  Menguasai langkah-langkah dalam analisa dan pengembangan dengan UML

Tulisan ini pada intinya akan mengupas kedua hal tersebut.

Seperti juga tercantum pada gambar diatas UML mendefinisikan diagram-diagram sebagai berikut:

use case diagram
class diagram
statechart diagram
activity diagram
sequence diagram
collaboration diagram
component diagram
deployment diagram
Diagram UML

UML menyediakan 10 macam Dalam UML merupakan salah satu alat Bantu yang sangat handal dalam mengembangkan system berorientasi objek. Ada 9 jenis diagram yang ditangani oleh UML, yakni:

1. Diagram Use Case

Use case adalah deskripsi fungsi dari sebuah dari sudut pandang pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interkasi antar user (pengguna) sebuah system dengan system itu sendiri dan menjelaskan bagaimana system itu bekerja.

2. Diagram Class

Class diagram adalah sebuah spesifikasi yang jika diinstansiasi maka akan menghasilkan objek yang merupakan inti dari pengembangan dan desain berorientasi objek. Kelas menggambarkan atribut atau properti dari sebuah system sekaligus menawarkan layanan apa saja yang bisa dilakukan dengan objek tersebut (method/fungsi). Jadi, kelas memiliki 3 pokok penting yaitu: nama, atribut dan method.

3. Diagram Statechart

Statechart diagram menunjukkan transisi dan perubahan keadaan suatu objek pada system sebagai akibat dari stimulasi yang diterima. Dalam UML, state digambarkan berbentuk segi empat dengan sudut tumpul dan memiliki nama sesuai dengan kondisi saat itu.

4. Diagram Activity

Actifity diagram menggambarkan berbagai alir aktifitas dalam system yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses parallel yang mungkin erjadi pada beberapa eksekusi.

5. Diagram Sequence

Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah sekenario. Diagram ini menunjukkan sejumlah contoh objek dan message (pesan) yang diletakkan di antara objek-objek ini di dalam use case.

6. Diagram Collaboration

Collaboration diagram adalah perluasan dari objek diagram. Objek diagram menunjukkan objek-objek dan hubungannya dengan yang lain. Collaboration diagram menunjukkan message-message objek yang dikirim satu sama lain,

7. Diagram Component

Component Diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan di antaranya.

8. Diagram Deployment.

Deplaoyment diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur system, dimana komponen akan diletakkan (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server dan hal-hal lain yang bersifat fisikal.

Tool Pembuatan UML

Banyak sekali tool-tool yang didesain untuk mendukung UML,mulai dari yang gratis maupun komersial. Di antaranya yaitu:

Komersial:

Rational Rose
Object Domain
Magic Draw
Visio


Argo UML: Tool sederhana ini dapat membuat membantu kita untuk merancang perangkat lunak yang akan dibangun. Tool ini cocok untuk bagi yang baru belajar UML, karena fitur-fiturnya sangat terbatas.
FrameUML: Menurut saya tool ini agak kurang userfriendly karena sangat sederhana dan tidak meng-cover semua kebutuhan yang diperlukan dalam pembuatan UML.
Net Beans: Tool ini sangat kompleks, karena tidak hanya UML yang ada didalamnya, tapi BaseIDE, JavaME, JavaSE, SOAP, Ruby,C++ termasuk webserver Apache Tomcat. Maka dari itu tool ini sangat berat dan memakan memori yang cukup banyak.

Senin, 06 Mei 2013

Metode Berorientasi Objek ( Objek Dan Class)

Metode Berorientasi Objek ( Objek Dan Class)


1.            1.      OBYEK (OBJECT)
-          Obyek dapat berarti orang, tempat, benda, kejadian, sesuatu, atau konsep-konsep yang ada di dunia nyata yang penting bagi suatu aplikasi (perangkat lunak atau sistem informasi).
-          Sebuah obyek memiliki keadaan sesaat (state) dan perilaku (behavior).
-          State sebuah obyek adalah kondisi obyek tersebut yang dinyatakan dalamatribut (attribute).
-          Perilaku sebuah obyek mendefinisikan bagaimana sebuah obyek bertindak/beraksi dan memberikan reaksi. Perilaku ini dinamakan operasi (operation).
-          Menurut Schumuller, jika atribut dan operasi disatukan, maka akan memberikan fitur (features).
-          Contoh obyek adalah :
a. Obyek orang                : anda, saya, seorang lelaki tampan
b. Obyek tempat              : kampus, negara, jalan, kota
c. Obyek benda                : mesin, komputer, gedung, printer, keyboard
d. Obyek kejadian                        : pembayaran, registrasi, kuliah, mengetik
e. Obyek konsep               : liberalisme, kapitalisme, marxisme
1.            2.      KELAS (CLASS)
-     Himpunan obyek-obyek yang sejenis disebut kelas (class).
-     Obyek adalah sebuah contoh dari kelas (class).
-     Kelas Desain menggambarkan sebuah abstraksi dari satu atau berbagai kelas dalam implementasi. Nama untuk tiap-tiap kelas desain bergantung pada bahasa pemrograman yang berpadanan dengan kelas tersebut dalam implementasi.
-     Contoh sebuah kelas adalah sebagai berikut :
mahasiswa=nama kelas .NIM,NAMA,dll=Atribut. ikut kuliah=operasi
Class merupakan cetak biru (blue print) dari objek atau dengan kata lain sebuah class menggambarkan ciri-ciri objek secara umum. Sebagai contoh Suzuki Semash,Yamaha,VegaR,Honda SupraFit,dan Kawasaki KazR merupakan objek dari klas sepedah motor. Sujuki smash dan objek lainnya juga memiliki kesamaan atribut (merk,tipe,berat,kapasitas bensin,tipe mesin,warna,harga) dan method untuk mengakses data pada atributnya (misal fungsi untuk menginfutkan data merk,tipe,berat dsb serta fungsi untuk mencetak data merk,tipe,berat,dsb).
Contoh:
PERBEDAAN OBJECT DAN CLASS
Object adalah sesuatu yang bisa dianalogikan dengan benda, orang, tempat, kejadian atau konsep-konsep yang ada di dunia nyata yang digunakan pada perangkat lunak atau sistem informasi. Contohnya kampus, gedung, mahasiswa, kuliah, registrasi, pembayaran dan yang lainnya.Disamping itu Object juga merupakan realisasi dari sebuah class. Ketika kita membuat sebuah class, tidak berarti kita membuat sebuah object. Bayangkan jika kita menjadi seorang dewa. Lalu kita menentukan bahwa ada jenis makhluk bernama Sapi di bumi. Hal ini dapat disamakan dengan kita membuat sebuah class bernama sapi. Ketika kita menciptakan seekor sapi, seekor sapi itulah yang disebut object.
Objek dalam konsep OOP masih memiliki keadaan dan sifat seperti halnya objek di dunia nyata, karena pada dasarnya objek dalam OOP merupakan representasi dari dunia nyata. Objek dalam OOP merepresentasikan keadaan melalui variabel, sedangkan sifatnya direpresentasikan menjadi method. Method merupakan suatu fungsi (sub-routine) yang berhubungan dengan objek.Definisi: “objek merupakan penggabungan variabel-variabel dan method-method yang berhubungan dengannya.”Setiap objek bisa dibedakan antara satu dengan yang lainnya. Misalnya, objek mobil bisa dibedakan berdasarkan merknya. Objek hewan bisa dibedakan berdasarkan jenis dan ciri fisiknya. Walaupun objek tersebut bernama sama, tetapi masih tetap bisa dibedakan. Misalnya, objek mobil Kijang bisa dibedakan berdasarkan nomor rangka, warna, tahun keluaran, tipe, nomor polisi, dan sebagainya. Objek kucing bisa dibedakan dari warna dan corak bulunya. Bahkan dua orang yang kembar pun masih bisa dibedakan satu sama lainnya, misalnya dengan nama atau ciri tertentu yang spesifik dan juga sifatnya. Konsep “pembedaan” ini disebut dengan konsep identitas.
Sedangkan class adalah kumpulan/himpunan objek dengan atribut/properti yang mirip, prilaku yang mirip, serta hubungan dengan object yang lain dengan cara yang mirip. Class hampir serupa dengan structure, namun bedanya adalah class dapat memiliki fungsi di dalamnya. Jadi, class adalah beberapa variabel dan fungsi/method yang dikelompokkan di dalam sebuah nama. Variabel-variabel tersebut biasa disebut field dan biasanya merupakan atribut dari class tersebut. Fungsi/method adalah aksi yang dapat dilakukan oleh class tersebut. Class juga merupakan suatu konsep yang lebih tinggi lagi hierarkinya dari objek yang dihasilkan dari proses generalisasi objek-objek yang memiliki beberapa ciri yang sama. Dalam OOP, kelas merupakan suatu hasil pemodelan fakta-fakta dari suatu objek yang berguna bagi suatu aplikasi yang diprogram. Proses pemodelan fakta-fakta tersebut disebut dengan abstraksi.
Jadi, dari penjelasan itu dapat disimpulkan perbedaan antara objek dengan class yaitu Kelas adalah sesuatu yang menjelaskan ciri-ciri secara umum dari suatu objek, termasuk apa-apa yang bisa dilakukan objek tersebut. Sedangkan objek adalah keadaan tertentu dari suatu kelas, atau sering juga disebut dengan instans dari kelas.
Untuk lebih jelasnya perbedaan antara objek dan class dapat dicontohkan sebagai berikut:
“Seekor kucing Persia memiliki empat ekor anak.”
Kalimat tersebut mengisyaratkan bahwa kucing Persia merupakan kelasnya, sedangkan anak-anaknya merupakan objek. Dengan kata lain, jika seekor kucing Persia tersebut memiliki empat anak, berarti dia telah membuat empat buah objek (instans) dari kelas kucing Persia. Setiap anak kucing memiliki cirinya tersendiri. Ada yang berbulu putih, kuning hitam, atau campuran hitam kuning. Selain itu ada yang memiliki ekor panjang sempurna, panjang bengkok, pendek, ekor “keriting”, dan sebagainya. Dan jenis kelaminnya juga ada beberapa yang jantan dan ada juga yang betina. Tetapi walaupun berbeda dalam hal ciri-ciri fisiknya, harus diingat bahwa semuanya tetaplah kucing Persia.

use case diagram

Use Case Diagram
Pengertian :
● Use case class digunakan untuk memodelkan dan menyatakan unit fungsi/layanan yang disediakan oleh sistem (or bagian sistem: subsistem atau class) ke pemakai.
● Use case dapat dilingkupi dengan batasan sistem yang diberi label nama sistem.
● Use case adalah sesuatu yang menyediakan hasil yang dapat diukur ke pemakai atau sistem eksternal.
Karakteristik :
– Use cases adalah interaksi atau dialog antara sistem dan actor, termasuk pertukaran pesan dan tindakan yang dilakukan oleh sistem.
– Use cases diprakarsai oleh actor dan mungkin melibatkan peran actor lain. Use cases harus menyediakan nilai minimal kepada satu actor.
– Use cases bisa memiliki perluasan yang mendefinisikan tindakan khusus dalam interaksi atau use case lain mungkin disisipkan.
– Use case class memiliki objek use case yang disebut skenario. Skenario menyatakan urutan pesan dan tindakan tunggal.
Komponen Pembentuk Use Case Diagram :
1. Actor
Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa actor. Actor tersebut mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Sebuah actor mungkin hanya memberikan informasi inputan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima, dan memberi informasi pada sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick man . Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship
Actor
Gambar Actor
2. Use Case
Use case adalah gambaran fungsionalitas dari suatu sistem, sehingga customer atau pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun.
Catatan : Use case diagram adalah penggambaran sistem dari sudut pandang pengguna sistem tersebut (user), sehingga pembuatan use case lebih dititikberatkan pada fungsionalitas yang ada pada sistem, bukan berdasarkan alur atau urutan kejadian.
Cara menentukan Use Case dalam suatu sistem:
a. Pola perilaku perangkat lunak aplikasi.
b. Gambaran tugas dari sebuah actor.
c. Sistem atau “benda” yang memberikan sesuatu yang bernilai kepada actor.
d.   Apa yang dikerjakan oleh suatu perangkat lunak (*bukan bagaimana cara mengerjakannya).
Use Case
Gambar Use Case
Relasi dalam Use Case
Ada beberapa relasi yang terdapat pada use case diagram:
1. Association, menghubungkan link antar element.
2. Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya.
3. Dependency, sebuah element bergantung dalam beberapa cara ke element lainnya.
4. Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya.
Tipe relasi/ stereotype yang mungkin terjadi pada use case diagram:
1. <<include>> , yaitu kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya.
2. <<extends>>, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm.
3. <<communicates>>, mungkin ditambahkan untuk asosiasi yang menunjukkan asosiasinya adalah communicates association . Ini merupakan pilihan selama asosiasi hanya tipe relationship yang dibolehkan antara actor dan use case.
3. Contoh Use Case Diagram
Contoh Use Case
Contoh Use Case Diagram

UML



UML (Unified Modeling Language)
Dalam suatu proses pengembangan software, analisa dan rancangan telah merupakan terminologi yang sangat tua. Pada saat masalah ditelusuri dan spesifikasi dinegoisasikan, dapat dikatakan kita berada pada tahap rancangan. Merancang adalah menemukan suatu cara untuk menyelesaikan masalah, salah satu tool / model untuk merancang pengembangan software yang berbasis object oriented adalah UML.

Konsep Objek
Obyek dalam ‘software analysis & design’ adalah sesuatu berupa konsep (concept), benda (thing), dan sesuatu yang membedakannya dengan lingkungannya. Secara sederhana obyek adalah mobil, manusia, alarm dan lainlainnya. Tapi obyek dapat pula merupakan sesuatu yang abstrak yang hidup didalam sistem seperti tabel, database, event, system messages.
Obyek dikenali dari keadaannya dan juga operasinya. Sebagai contoh sebuah mobil dikenali dari warnanya, bentuknya, sedangkan manusia dari suaranya. Ciriciri ini yang akan membedakan obyek tersebut dari obyek lainnya.

Teknik Dasar OOA/D (Object-Oriented Analysis/Design)
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.

Sejarah Singkat UML
UML (Unified Modeling Language) adalah bahasa yang di gunakan dalam permodelan berorientasi object.
UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem software.

Pengenalan UML
UML sebagai sebuah bahasa yang memberikan vocabulary dan tatanan penulisan kata-kata dalam ‘MS Word’ untuk kegunaan komunikasi. Sebuah bahasa model adalah sebuah bahasa yang mempunyai vocabulary dan konsep tatanan / aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem. Seperti halnya
UML adalah sebuah bahasa standard untuk pengembangan sebuah software yang dapat menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah satu proses implementasi pengembangan software.

UML tidak hanya merupakan sebuah bahasa pemograman visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung ke dalam sebuah object-oriented database. Begitu juga mengenai pendokumentasian dapat dilakukan seperti; requirements, arsitektur, design, source code, project plan, tests, dan prototypes.
Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3 (tiga) elemen utama dari UML seperti building block, aturan-aturan yang menyatakan bagaimana building block diletakkan secara bersamaan, dan beberapa mekanisme umum (common).

Building blocks
3 (tiga) macam yang terdapat dalam building block adalah katagori benda/Things, hubungan, dan diagram. Benda/things adalah abstraksi yang pertama dalam sebuah model, hubungan sebagai alat komunikasi dari bendabenda, dan diagram sebagai kumpulan / group dari benda-benda/things.

  • Benda/Things
    Adalah hal yang sangat mendasar dalam model UML, juga merupakan bagian paling statik dari sebuah model, serta menjelaskan elemen-elemen lainnya dari sebuah konsep dan atau fisik. 
- Interface merupakan sebuah antar-muka yang menghubungkan dan melayani antar kelas dan atau elemen. ‘Interface’ / antarmuka mendefinisikan sebuah set / kelompok dari spesifikasi pengoperasian,
umumnya digambarkan dengan sebuah lingkaran yang disertai dengan namanya.
-Colaboration didefinisikan dengan interaksi dan sebuah kumpulan / kelompok dari kelas-kelas/elemen-elemen yang bekerja secara bersama-sama. Collaborations mempunyai struktura dan dimensi. Pemberian sebuah kelas memungkinkan berpartisipasi didalam beberapa collaborations dan
digambarkan dengan sebuah ‘elips’ dengan garis terpotong-potong.
-Use Case adalah rangkaian/uraian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor. ‘use case’ digunakan untuk membentuk tingkah-laku benda/ things dalam sebuah model serta di realisasikan oleh sebuah collaboration. Umumnya use case’ digambarkan dengan sebuah ‘elips’ dengan garis yang solid.
-Node merupakan fisik dari elemen-elemen yang ada pada saat dijalankannya sebuah sistem, contohnya adalaha sebuah komputer, umumnya mempunyai sedikitnya memory dan processor. Sekelompok komponen mungkin terletak pada sebuah node dan juga mungkin akan berpindah dari node satu ke node lainnya. Umumnya node ini digambarkan seperti kubus.
  •   Hubungan / Relationship
Ada 4 macam hubungan didalam penggunaan UML, yaitu; dependency, association, generalization, dan realization.
-Dependency adalah hubungan semantik antara dua benda/things yang mana sebuah benda berubah mengakibatkan benda satunya akan berubah pula. Umumnya sebuah dependency digambarkan sebuah panah dengan garis terputus-putus .
-Association adalah hubungan antar benda struktural yang terhubung diantara obyek. Kesatuan obyek yang terhubung merupakan hubungan khusus, yang menggambarkan sebuah hubungan struktural diantara seluruh atau sebagian. Umumnya assosiation digambarkan dengan sebuah garis yang
dilengkapi dengan sebuah label, nama, dan status hubungannya.
-Generalization adalah menggambarkan hubungan khusus dalam obyek anak/child yang menggantikan obyek parent / induk . Dalam hal ini, obyek anak memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada obyek induk.
-Realization merupakan hubungan semantik antara pengelompokkan yang menjamin adanya ikatan diantaranya. Hubungan ini dapat diwujudkan diantara interface dan kelas atau elements, serta antara use cases dan collaborations.  
Diagram
UML sendiri terdiri atas pengelompokkan diagram-diagram sistem menurut aspek atau sudut pandang tertentu. Diagram adalah yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model. Adapun jenis-jenis  diagram antara lain :
-Use Case Diagram 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.
-Class Diagram 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.
-Component Diagram 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.
-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.
-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 stateyang berbeda.
-Sequence Diagram digunakan untuk menggambarkan perilaku pada sebuah scenario. Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antara object juga interaksi antaraobject, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem.
-Collaboration Diagram Menggambarkan kolaborasi dinamis sepertisequence diagrams. Dalam menunjukkan pertukaran pesan, collaboration diagrams menggambarkan objectdan hubungannya (mengacu ke konteks). Jika penekannya pada waktu atau urutan gunakansequencediagrams, tapi jika penekanannya pada konteks gunakan collaboration diagram.
-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 caseatau interaksi.
Tujuan Penggunaan UML
1.      Memberikan bahasa pemodelan yang bebas dari berbagai bahas pemrograman dan proses rekayasa.
2.      Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
3.      Memberikan model yang siap pakai, bahsa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
4.      UML bisa juga berfungsi sebagai sebuah (blue print) cetak biru karena sangat lengkap dan detail. Dengan cetak biru ini maka akan bias diketahui informasi secara detail tentang coding program atau bahkan membaca program dan menginterpretasikan kembali ke dalam bentuk diagram (reserve enginering).