Senin, 04 Desember 2017

Analisis Desain Berbasis Objek

Pengertian
Merupakan metode analisis yang memeriksa requirements pada suatu kelas dan objek yang ditemui dalam ruang lingkup permasalahan yang mengarah pada arsitektur Software yang didasarkan pada manipulasi objek-objek system atau subsitem. Dasar pembuatan adalah objek,yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas.

Konsep

  1. 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. 
  2. 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. 
  3. 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. 
  4. 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.
  5.  Abstraksi prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi suatu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan masalah. 
  6. Enskapsulasi pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerjanya. 
  7. Pewarisan mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh dan objek lain sebagai bagian dari dirinya. 
  8. Antar muka biasanya digunakan agar kelas yang lain tidak mengakses langsung ke suatu kelas.
  9.  Reusability pemanfaatan kembali objek yang sudah didefenisikan untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek tersebut. 
  10. Generalisasi & spesialisasi menunjukan hubungan antar kelas dan objek yang umum dengan kelas dan objek yang khusus. 
  11. Komunikasi Antar Objek dilakukan lewat pesan (message) yang dikirim dari satu objek ke objek lainnya. 
  12. Polimorfisme kemampuan suatu objek untuk digunakan di banyak tujuan yang berbeda dengan nama yang sama sehingga menghemat program. 
  13. Package sebuah kontainer atau kemasan yang dapat digunakan untuk mengelompok kelas-kelas yang bernama sama disimpan dalam package yang berbeda
Teknik Pemodelan:

  1. Model Objek :  Model objek Menggambarkan struktur statis dari suatu objek dalam sistem dan relasinya  Model objek berisi diagram objek. Diagram objek adalah graph dimana nodenya adalah kelas yang mempunyai relasi antar kelas. 
  2. Model Dinamik  Model dinamik menggambarkan aspek dari sistem yang berubah setiap saat.  Model dinamik dipergunakan untuk menyatakan aspek kontrol dari sistem.  Model dinamik berisi state diagram. State diagram adalah graph dimana nodenya adalah state dan arc adalah tarnsisi antara state yang disebabkan oleh event. 
  3. Model Fungsional  Model fungsional menggambrakan transformasi nilai data di dalam sistem.  Model fungsional berisi data flow diagram. DFD adalah suatu graph dimana nodenya menyatakan proses dan arcnya adalah aliran data



RUP

RUP (Rational Unified Process) merupakan suatu kerangka kerja proses pengembangan perangkat lunak iteratif yang dibuat Rational Software.

Sejarah RUP
Merupakan perangkat lunak yang awalnya dikembangkan oleh Rational Software. Rational Software diakuisisi oleh IBM pada Februari 2003. RUP berbasis pengetahuan yang berhubungan dengan kerangka pengetahuan sederhana disertai deskripsi detail dari beragam aktivitas. RUP dimasukkan dalam produk IBM Rational Method Composer (RM C). RUP menggunakan konsep object oriented, dengan aktifitas yang berfokus pada pengembangan model dengan menggunakan Unified Model Language (UML).


Fase RUP 
Pada RUP didefinisikan terdapat empat fasa siklus proyek. Fasa-fasa ini memungkinkan untuk disajikan dalam bentuk umum mirip dengan pendekatan air terjun, walaupun esensi kunci dari proses terdapat dalam iterasi dalam setiap fasenya. Setiap fase memiliki sebuah objektif kunci dan titik pencapaian akhir yang menandakan ketercapaian objektif. Visualisasi dari fase RUP berikut dengan sumbu waktu dinamakan sebagai grafik RUP hump.
- Insepsi
- Elaborasi
- Konstruksi
-Transisi

Insepsi
Objektif primer adalah untuk membatasi sistem dengan cukup sebagai dasar untuk memvalidasi biaya awal dan penganggaran. Pada fasa ini, ditentukan kasus bisnis yaitu: konteks bisnis, faktor sukses (perkiraan pendapatan, pengenalan ke pasar, dll.), dan perkiraan finansial. Sebagai pelengkap kasus bisnis adalah model penggunaan, perencaan proyek, penilaian risiko tahap awal, dan deskripsi proyek disusun.
Elaborasi
Objektif primer adalah untuk memitigasi risiko kunci yang diidentifikasi dari analisis hingga akhir fase. Fase elaborasi merupakan fase saat proyek mulai terlihat bentuknya. Pada fase ini, masalah analisis domain dibuat dan arsitektur proyek mulai mendapatkan bentuk dasarnya.
Konstruksi
Objektif primer adalah untuk membangun sistem perangkat lunak. Fase ini fokus pada pengembangan komponen dan fitur lain dari sistem. Pada fase inilah saat banyak dilakukan pengkodean. Pada proyek yang lebih besar, beberapa iterasi konstruksi dikembangkan sebagai usaha untuk memecah kasus penggunaan menjadi segmen terkelola yang menunjukkan purwarupa.
Transisi
Objektif primer adalah sebagai perantara sistem dari pengembangan ke produksi, yang tersedia untuk pengguna akhir. Aktivitas dalam fase ini termasuk pelatihan kepada pengguna akhir dan pengelola sistem dan pengujian beta untuk memvalidasi terhadap harapan pengguna akhir.


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.

USER EXPERIENCE

User Experience merupakan persepdi seseorang dan responnya dari penggunaan sebuah produk, sistem ata jasa. UX menilai seberapa kepuasan dan kenyaman seseorang terhada sebuah produk, sistem dan jasa. Sebuah prinsip dalam membangun UX adalah khlayak mempunyai kekuasan dalam menentukan tingkat kepuasan sendiri (customer rule). Seberapa pun bagusnya fitur sebuah produk jika tidak mendapatkan kepuasan dari customer  maka tingkat UXnya sangat rendah.

Konsep dari UX sendiri adalah Usability, dimana dalam konsep ini seberapa baik pengguna menggunakan sebuah fungsi. Usability mengaplikasikan semua aspek sistematik dari interaksi manusia (prosedur instalasi dan perawatan).
Menurut Nielsen, usability mempunyai 5 komponen yaitu :
  1. Learnability : sistem yang dibuat haruslah mudah untk dipelajari supaya user dapat bekerja dengan cepat dengan sistem yang ada. Learnbility dinilai berdasarkan tingkat profisiensi berbanding dengan waktu dan dapat dicatat dalam bentuk kurva pembelajaran (learning curve)
  2.  Efficiency : semua sistem harus efisien untuk digunakan sehingga nilai produktivitas yang tinggi dimungkinkan.
  3.  Memorability : sebuah sistem haruslah mudah diingat, sehingga user bisa kembali menggunakan setelah beberapa periode waktu tanpa harus mempelajarinya kembali dari awal
  4.  Error : sebuah sistem harus mempunyai tingkat kesalahan yang kecil sehingga user apabila membuat kesalahan sekecil apapun dapat segera memperbaikinya.
  5. Satification : sebuah sistem harus menyenangkan saat digunakan sehingga user sevara subyektig merasa nyaman dalam menggunakan sistem tersebut
Perbedaan Antara User Interface dan User Experience :
UX
UI
UX berkonsentrasi pada bagaimana sebuah produk terasa dan apakah itu memecahkan masalah bagi pengguna
User Interface adalah bagaimana suatu website atau aplikasi yang kamu buat terlihat dan berbentuk seperti apa. Hal tersebut mencakup Layout (tata letak), Visual Design (desain visual) dan Branding
Membuat interface menjadi fungsional
Membuat interface menjadi tampak indah
Membantu user menyelesaikan tugasnya
Membantu user bekerja melalui desain
Dibuat terlebih dahulu sebagai kerangka awal
Dibuat setelah UX selesai dikerjakan
Penggunaannya dapat dirasakan pada keseluruhan produk dan jasa, sistem
Penggunaan UI hanya bisa melalui interface saja

Minggu, 03 Desember 2017

STATE DIAGRAM

State 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).
 Elemen yang muncul pada statechart: State (keadaan sesaat), start, end, transition, action entry, do   dan exit. State diagram menggambarkan      transisi       dan      perubahan      keadaan      (dari  satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima.
Pada umumnya state diagram menggambarkan classtertentu (satu class dapat memiliki
lebih dari satu state diagram ). Dalam UML, state digambarkan berbentuk segiempat
dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi
antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang
bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat
dari event tertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan

berbentuk lingkaran berwarna penuh dan berwarna setengah.
Simbol-simbol dalam state diagram :
Contoh State Diagram

SEQUENCE DIAGRAM

Sequence diagram
Sequence Diagram digunakan untuk menggambarkan perilaku pada sebuah scenario. Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antara object juga interaksi antara object, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem. Sequence Diagram bisa digunakan untuk menjelaskan sebuah serangkaian langkahlangkah yang mengirimkan message antar satu lifeline ke lifeline yang lain. Setiap message yang dikirimkan bisa memberikan respon (return) relatif pada skenario yang dirancang di Use Case Diagram. Interaksi yang terjadi bisa bersifat instansiasi sebuah object maupun static method dari sebuah class. Tujuan utama adalah mendefinisikan urutan kejadian yang dapat menghasilkan output yang diinginkan.
Komponen dalam sequence diagram :
· Actor
Interface (Boundary)
Proses pembacaan (Control)
  Nama table (Entity)

Contoh symbol dari sequence diagram :

contoh gambar dari sequence diagram 
contoh sequence diagram adminitrasi

Minggu, 24 September 2017

Communication Diagram

COMMUNICATION DIAGRAM 

A. Pengetian 
  • Merupakan diagram menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek. Setiap message memiliki sequence number, dimana message dari level tertinggi memiliki Nomor 1. Diagram membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu pesan itu dikirimkan.
  • Merupakan interaksi antara benda atau bagian dalam hal mengurutkan. Diagram komunikasi merupakan kombinasi dari informasi yang diambil dari Kelas, urutan,dan Use case diagram menggambarkan baik struktur statis dan perilaku dinamis dari suatu sistem.
B. Simbol/Notasi dalam Communication Diagram 
  • Object,  merupakan instance dari sebuah class dan dituliskan tersusun secara horizontal. Digambarkan sebagai sebuah class (kotak) dengan nama object didalamnya yang diawali dengan sebuah titik koma.
  • Actor, juga dapat berkomunikasi dengan object , maka actor juga dapat diurutkan sebagai kolom. Simbol Actor sama pada Actor Use Case Diagram.
  • Message atau pesan, digambarkan dengan anak panah yang mengarah antar obyek dan diberi label urutan nomor yang mengindikasikan urutan komunikasi yang terjadi antar obyek.


C. Contoh Communication Diagram
Image result for gambar communication diagram online adalah

Activity Diagram

Activity Diagram 

A. Pengertian Activity Diagram
  • Activity merupakan diagram yang menggambarkan worlflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. 
  • Sesuatu yang menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir.
B. Komponen-komponen dalam activity diagram adalah sebagai berikut :
  • Activity atau state : Menunjukan aktivitas yang dilakukan. Initial activity atau initial state : Menunjukan awal aktivitas dimulai. 
  • Final Activity atau final state : Menunjukan bagian akhir dari aktivitas. 
  • Decission : Digunakan untuk menggambarkan test kondisi untuk memastikan bahwa control flow atau object flow mengalir lebih ke satu jalur. Jumlah jalur sesuai yang diinginkan.
  •  Merge : Berfungsi menggabungkan flow yang dipecah oleh decission. 
  • Synchronization : Dibagi menjadi 2 yaitu fork dan join. Fork digunakan untuk memecah behaviour menjadi activity atau action yang paralel, sedangkan join untuk menggabungkan kembali activity atau action yang paralel. 
  • Swimlanes : Memecah activity diagram menjadi baris dan kolom untuk membagi tangung jawab obyek-obyek yang melakukan aktivitas. 
  • Transition : Menunjukan aktivitas selanjutnya setelah aktivitas sebelumnya
C. Gambar/Notasi dari Activity Diagram :
Image result for activity diagram adalah

D. Berikut contoh gambar activity diagram :
  • Pengelolaan Pustaka
  • Gambar Activity Online


Minggu, 17 September 2017

Use Case

Use Case merupakan sebuah teknik yang digunakan dalam pengembangan sebuah software atau sistem informasi untuk menangkap kebutuhan fungsional dari sistem yang bersangkutan, Use Case menjelaskan interaksi yang terjadi antara ‘aktor’ — inisiator dari interaksi sistem itu sendiri dengan sistem yang ada, sebuah Use Case direpresentasikan dengan urutan langkah yang sederhana.


Komponen dalam Use Case adalah sebagai berikut :
1. Actor, merupakan gambaran seseorang yang sedang berinteraksi dengan sistem yang hanya dapat menginputkan informasi dengan menerima informasi dari sistem namun, tidak memegang kendalipada use case
2. Use case, merupakan gambaran fusngsional sistem yang aka dibuat, sehingga pengguna lebih mengerti pada penggunaan sistem

Relasi Dalam Use Case merupakan pedoman-pedoman namun dalam pembuatan software dan hanya difokuskan pada analisa pembuatan dari software. Berikut beberapa relasi dalam Use case
1. Association, menghubungkan antar link elemen
2. Generalization merupakan sebuah elemen yang menjadi spesialisasi dari elemen yang lain
3. Dependency merupakan sebuah elemen yang bergantung beberapa cara kepada elemen lainnya.
4. Aggregtion merupakan bentuk association yang mana sebuah elemen berisi elemen lainnya.



Karakteristik dari Use Case adalah sebagai berikut :
  1. Use cases merupakan interaksi atau dialog antara sistem dan actor, termasuk pertukaran pesan dan tindakan yang dilakukan oleh sistem
  2. Use cases digunakan oleh actor dan mungkin melibatkan peran actor lain. Use cases harus menyediakan nilai minimal kepada satu actor.
  3. Use cases dapat memiliki perluasan yang mendefinisikan tindakan khusus dalam interaksi atau use case lain mungkin disisipkan.
  4.  Use case class  dapat memiliki objek use case yang disebut skenario. Skenario menyatakan urutan pesan dan tindakan tunggal.







Manfaat dari Use Case adalah sebagai berikut  :
  1. Use Case dapat digunakan untuk melakukan komunikasi dengan end user dan domain expert.
  2. Adanya  pemahaman yang tepat tentang requirement / kebutuhan sistem.
  3. Dapat digunakan untuk mengidentifikasi siapa yang berinteraksi dengan sistem dan apa yang harus dilakukan sistem.
  4. Adanya interface yang harus dimiliki sistem.
  5. Dapat digunakan untuk melakukan verifikasi.