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