Kamis, 27 Juni 2013

STATE MACHINE DIAGRAM

State Machine Diagram adalah teknik yang umum digunakan untuk menggambarkan behaviour sebuah sistem. Hal ini digunakan untuk membantu analis, perancang dan pengembang untuk memahami perilaku obyek pada sistem.

  State Machine Diagram (Statechart diagram in versi 1.x) adalah Untuk memodelkan behavior/methode (lifecycle) sebuah kelas atau object dan memperlihatkan urutan kejadian sesaat (state) yang dilalui sebuah object,transisi dari sebuah state ke state lainnya            

Simbol
Simbol UML untuk state chart diagram adalah segiempat yang tiap pojoknya dibuat rounded. Titik awalnya menggunakan lingkaran solid yang diarsir dan diakhiri dengan mata. UML juga memberi pilihan untuk menambahkan detil ke dalam simbol tersebut dengan membagi 3 area yaitu nama state, variabel dan aktivitas. State variabel seperti timer dan counter yang kadangkala sangat membantu.

 Activity terdiri atas events dan action, tiga hal yang sering
digunakan dalam activity adalah:
 1.   Entry = Apa yang terjadi ketika sistem masuk ke state
 2.   Exit = Apa yang terjadi ketika sistem meninggalkan state
 3.   Do = Apa yang terjadi ketika sistem ada di state
  
State, Event, Transition
Statechart diagram menampilkan state-state yang mungkin dari sebuah obyek, event yang bisa dideteksi dan respon atas eventevent tersebut. Secara umum, pendeteksian sebuah event dapat menyebabkan sebuah obyek bergerak dari satu state ke state yang lain yang disebut dengan transition.Contoh :


 Label pada transisi memiliki dua bagian yang dipisahkan dengan garis miring. Yang pertama adalah nama dari peristiwa yang memicu transisi. Yang kedua adalah nama dari suatu tindakan yang akan dilakukan setelah transisi telah dipicu. Properties dari Gambar Diagram sebuah PINTU PUTAR di atas adalah sebagai berikut:
Ø  Jika pintu putar dalam keadaan terkunci, dan  Coin dimasukkan, maka transisi pintu putar keUnlocked state, dan tindakan Aktifkan dilakukan.
Ø  Jika pintu putar dalam keadaan unlocked, setelah berhasi dibuka, maka transisi pintu putar ke Lock state, dan tindakan Lock dilakukan.
Sebuah state machine diagram mempunyai :
a.      state (kejadian sesaat) are represented by the values of attributes of an object
b.     State digambarkan dengan bentuk Data Kosong
c.     “Black Hole” states is state has transition into it but none out
d.      Miracle states is state has transition out of it but none     
e.      Initial state / creation state dengantanda untuk memulai sebuah state diagram ( in western culture people read from left to right, top to bottom, starting in the top – left corner)
         Composite States
Ø  Kumpulan dari beberapa state yang yang setidaknya dalam sebuah region
Ø  Orthogonal State, jenis composite state yanglebih dari satu region
         Submachine State
Ø  Sejenis composite state yang isinya didefinisikan oleh state machine lain.
Ø  State machine yang berisi submachine state disebut “containing state machine.
Ø  Sebuah state yang dihubungkan dengan machine lainnya.
Ø  Dihubungkan ke satu / lebih entry point dan satu / lebih exit point




Digunakan untuk mendukung konsep encapsulation
Ø  Sebuah state tidak boleh mempunyai region dan submachine secara bersamaan
Ø  Nama state mempunyai sintaks
Ø  Nama submachine state : referenced state machine
         Sub states
Ø  Sebuah state yang ada dalam sebuah region



Ø  Direct substate, sub state yang tidak berisi state lain
Ø  indirect substate, sub state yang berisi state lain
         region ( kelompok state )
Ø  dipisahkan dengan garis terputus, yang setiap region boleh mempunyai nama yang optional
Ø  sebuah state tidak boleh mempunyai region dan sub machine secarah bersamaan
         Transition
Ø  Digambarkan dengan tanda anak panah
Ø  Progressions from one states to another, will be triggered by an event
Ø  Transition adalah hasil dari methode yang menyebabkan perubahan state, walaupun tidak semua methode menyebabkan perubahan state
Label on transition is in the format event [guard][/methode list()]
Ø  Event bisa dituliskan dengan past tense
Ø  Event menyebabkan sebuah object berpindah dari satu state ke state lain
Ø  Guard, condition that nust be true for the transition to be tiggered
Ø  Guard harus konsisten dan tidak overlap
Ø  Guard harus lengkap logikanya
Ø  Mehode dijalankan. Ketika object memasuki state diindikasikan dengan methode bernama entry() dan ketika object keluar state diindikasikan dengan methode bernama exit()
Ø  Methode menyebabkan perubahan disebuah state, bisa juga tidak
Ø  Join, menggabungkan beberapa transition menjadi sebuah transition
Ø  Fork, memecah sebuah transition menjadi beberapa transition yang berkondisi AND (transition harus dilewati semuanya).
         Junction
Menggabungkan sebuah / beberapa trasition dan memecahnya menjadi sebuah / beberapa trasition yang berkondisi AND ( transition harus dilewati semuanya ).
Dimungkinkan transition ke sebuah state yang berisi beberapa state yang disebut state list
         Choice, mengkondisikan sebuah transition menjadi sebuah / beberapa transition, yang hanya dipilih salah satu transition ( choice ).
o   Digunakan lambang diamond
o   Operand dapat diletakkan di dalam diamond atau pada transition
       Entry point dilambangkan sebuah lingkaran kecil yang ditaruh pada pinggiran state ( bisa di dalam bisa juga di luar ), dan berguna sebagai sub machine state.



         Exit point dilambangkan sebuah lingkaran kecil bersilang yang ditaruh pada pinggiran state ( bisa juga di dalam atau di luar ), dan berguna sebagai submachine state.

State Machine Diagram ada 2 jenis
v  Behavioral State machines
o   Merupakan state machine diagram umumnya
o   Digunakan untuk mendefinisikan perilaku sebuah object
v  Protocol State Machine
o   Digunakan untuk penggunaan protocol pada sebuah system
o   Dapat didefinisikan ke spesifik Protocol State Machine atau Behavioral State Machines
o   Didefinisikan sebagai diagram context ( global overview )
o   Notasi yang digunakan sama dengan Behavioral State Machines dengan penambahan kata ( protocol )
o   Tidak adanya internal activity seperti entry, exit, do
o   Transition pada Protocol State Machine harus menggunakan Protocol Transition
o   Protocol Transition
Ø  Sintaks : [pre condition] event / [post condition]
Ø  Precondition atau postcondition adalah guard ( Guard is condition that must be true for the transition to be triggered )
·         Precondition, kondisi sebelum transition
·         Postcondition, kondisi setelah transition

Dependencies
v  Dimodelkan dengan garis terputus dengan panah terbuka
v  Gambarkan dependencies dari kiri ke kanan

Inheritance
v  Inheriting / child component diletakkan di bawah parent component, dengan arah panah menuju ke parent component
v  Dimodelkan dengan garis dengan panah tertutup

Interface Component Diagram
v  Interface adalah kumpulan > =1 methode dan > = 0 attribute yang dapat dipakai pada class tanpa menjadi behavior suatu class.
v  Jenis interface ada 2 macam yaitu :
Ø  Provide, digambarkan dengan bentuk lollipop pada UML 1. * bisa juga digambarkan dengan garis terputus dengan panah tertutup
Ø  Required, digambarkan dengan bentuk socket
v  Penggambaran interfaces dapat juga dilakukkan dengan menambah bagian.

Port
v  Adalah bentuk object yang menjelaskan interaksi antara object dan lingkungannya.
v  Digambarkan sebagai kotak kecil di pinggiran component
v  Assembly connector penghubung antara 2 atau lebih component dimana sebuah atau beberapa component provides interfaces dan component lain required interfaces. (Greg - 1499)
UML (Unified Modeling Language)
 merupakan salah satu alat bantu yang dapat digunakan dalam bahasa pemograman yang berorientasi objek, saat ini UML akan mulai menjadi standar masa depan bagi industri pengembangan sistem/perangkat lunak yang berorientasi objek sebab pada dasarnya UML digunakan oleh banyak perusahaan raksasa seperti IBM, Microsoft, dan sebagainya.

Definisi UML

  a.  Unified Modeling Language merupakan metode pengembangan perangkat lunak (sistem informasi) dengan menggunakan metode grafis
serta merupakan bahasa untuk visualisasi, spesifikasi, konstruksi serta dokumentasi [Adin05].

  b.  Unified Modeling Language (UML) adalah bahasa yang telah menjadi standard untuk visualisasi, menetapkan, membangun
 dan mendokumentasikan arti suatu sistem perangkat lunak [Hend07].
 
c. Unified Modeling Language (UML) dapat didefinisikan sebagai sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi,
 merancang dan mendokumentasikan sistem perangkat lunak [Afif02].

d. Unified Modeling Language (UML) merupakan standard modeling language yang terdiri dari kumpulan-kumpulan diagram, dikembangkan untuk
 membantu para pengembang sistem dan software agar bisa menyelesaikan tugas-tugas seperti  :
      1.  Spesifikasi
      2. Visualisasi
      3.  Desain arsitektur
      4.  Konstruksi
      5.  Simulasi dan testing
      6.  Dokumentasi

Berdasarkan beberapa pendapat yang dikemukakan diatas dapat ditarik kesimpulan bahwa “Unified Modeling Language (UML) adalah sebuah bahasa yang berdasarkan grafik atau gambar untuk menvisualisasikan, menspesifikasikan, membangun dan pendokumentasian dari sebuah sistem pengembangan perangkat lunak berbasis Objek (OOP)  (Object Oriented programming)”.
Langkah-langkah penggunaan Unified Modeling Language (UML)

Adapun langkah-langkah penggunaan Unified Modeling Language (UML) [Afif02] diantaranya sebagai berikut :

1.  Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses       yang mungkin muncul.

2. Petakan use case untuk setiap business process untuk mendefinisikan dengan tepat fungsional yang harus disediakan oleh sistem, kemudian perhalus use case diagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain.

3. Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.

4. Definisikan requirement lain non fungsional, security dan sebagainya yang juga harus disediakan oleh sistem.

5. Berdasarkan use case diagram, mulailah membuat activity diagram.

6. Definisikan obyek-obyek level atas package atau domain dan buatlah sequence dan/atau  collaboration utuk tiap alir pekerjaan, jika sebuah use case memiliki kemungkinan alir normal dan error, buat lagi satu diagram untuk masing-masing alir.

7. Buatlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case.

8. Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau domain dipecah menjadi hirarki class lengkap dengan atribut dan metodenya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain

9. Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokkan class menjadi komponen-komponen karena itu buatlah component diagram pada tahap ini. Selain itu, definisikan test integrasi setiap komponen untuk meyakinkan ia dapat bereaksi dengan baik.

10. Perhalus deployment diagram yang sudah dibuat. Detailkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan dan sebagainya. Petakan komponen ke dalam node.

11. Mulailah membangun sistem. Ada dua pendekatan yang tepat digunakan Pendekatan use case dengan mengassign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit kode yang lengkap dengan test.  Pendekatan komponen yaitu mengassign setiap komponen kepada tim pengembang tertentu

12. Lakukan uji modul dan uji integrasi serta perbaiki model beserta codenya. Model harus selalu sesuai dengan code yang aktual.

13. Perangkat lunak siap dirilis


Ruang Lingkup UML

Dalam kerangka spesifikasi, Unified Modeling Language (UML) menyediakan model-model yang tepat [Adin05], tidak mendua arti (ambigu) serta lengkap.

Secara khusus, Unified Modeling Language (UML) menspesifikasikan langkah-langkah penting dalam pengambilan keputusan analisis, perancangan serta implementasi dalam sistem yang sangat bernuansa perangkat lunak (software intensive  system).

Dalam hal ini, Unified Modeling Language (UML) bukanlah merupakan bahasa pemprograman tetapi model-model yang tercipta berhubungan langsung dengan berbagai macam bahasa pemprograman, sehingga adalah mungkin melakukan pemetaan (mapping) langsung dari model-model yang dibuat dengan Unified Modeling Language (UML) dengan bahasa-bahasa pemprograman berorientasi obyek, seperti Java, Borland Delphi, Visual Basic, C++, dan lain-lain.

Pemetaan (mapping) Unified Modeling Language (UML) bersifat dua arah yaitu :

    Generasi  kode bahasa pemprograman tertentu dari Unified Modeling Language (UML) forward engineering.
    Generasi kode belum sesuai dengan kebutuhan dan harapan pengguna, pengembang dapat melakukan langkah balik bersifat iterative dari implementasi
ke Unified Modeling Language (UML) hingga didapat sistem/peranti lunak yang sesuai dengan harapan pengguna dan pengembang.
Pembuatan model data dan basis data

Proses Desain Database

Dalam perancangan/mendesain sebuah database agar menjadi database yang handal dan tangguh, ada beberapa langkah yang perlu dilakukan. Langkah-langkah tersebut diantaranya :

A. Analisis Persyaratan

Langkah pertama dalam mendesain sebuah aplikasi database adalah memahami dan mengetahui data yang harus disimpan dalam database, aplikasi apa yang harus dibangun diatasnya, dan jenis operasi apa yang lebih banyak digunakan dan subyek untuk melakukan persyaratan yang ada, atau dengan kata lain, kita harus tau apa yang diinginkan pengguna database tersebut.

B.  Desain Database Konseptual

Informasi dikumpulkan pada saat analisis persyaratan digunakan untuk mengembangkan deskripsi data tingkat tinggi yang harus disimpan dalam database bersama batasan yang telah diketahui untuk menetapkan penyimanan data tersebut.. Dalam langkah inilah entitas, atribut dan batasanya yang terlibat dalam desain aplikasi database ditentukan. Langkah ini sering dilakukan dengan model ER Diagram.    

C.  Desain Database Logika

Dalam langkah ini adalah menentukan/memilih DBMS yang akan digunakan untuk mengimplementasikan desain database dan mengubah konsep desain database menjadi sebuah skema database dalam model data dari DBMS terpilih. Dalam langkah ini merupakan proses perubahan dari skema ER Diagram menjadi skema Database Relasional (RDBMS)

D.  Perbaikan Skema

Menganalisis sekumpulan relasi dalam skema database relasional (RDBMS) untuk mengidentifikasi permasalahan yang muncul dan memperbaikinya

E. Desain Database Fisik

Pada langkah ini dilakukan pertimbangan-pertimbangan beban kerja umum yang diharapkan dapat didukung oleh database yang kita gunakan dan memperbaiki desain database di masa mendatang untuk memastikan terpenuhinya kriteria performa yang diinginkan. Langkah ini mencakup pembuatan indeks pada beberapa tabel dan mengelompokan beberapa tabel atau bahkan melibatkan desain ulang substansial terhadap beberapa bagian skema database yang didapat dari langkah pertama desai database.

F.  Desain Aplikasi dan Keamanan

Setiap proyek perangkat lunak yang melibatkan sebuah DBMS harus mempertimbangkan aspek aplikasi yang berada di  luar database itu sendiri. Dalam hal ini kita harus mengidentifikasi entitas (ex; pengguna, grup-grup pengguna dan bagian-bagian lain) dan proses-proses yang terlibat dalam aplikasi. Kita harus menggambarkan peran setiap entitas dalam setiap proses yang akan direfleksikan pada beberapa tugas aplikasi, sebagai bagian dari aliran kerja lengkap untuk tugas tersebut.
Selanjutnya adalah fase implementasi, kita harus mengkodekan tiap tugas ke dalam sebuah bahasa aplikasi (ex: java), menggunakan DBMS untuk mengakses data

Ruang lingkup database

Arsitektur Database

Arsitektur Database bertujuan untuk membedakan cara pandang pengguna terhadap basis data dan cara pembuatan basisdata secara fisik.

1. Tingkatan Eksternal
yaitu cara pandang pengguna tehadap basisdata , cara pandang secara eksternal hanya terbatas pada entitas, atribute, relation ship. Masing- masing pengguna mempresentasikan dalam bentuk yng sudah dikenalnya.

2. Tingkatan Konseptual
kumpulan cara pandang terhadap basis data. Pada tingkat ini menggambarkan data yang tersimpan dalam basisdata dan hubungan antar datanya. Hal-hal yang digambarkan dalam tingkat konseptual adalah :
Semua entitas beserta atributnya dan hubungan Batasan Data Informasi smantik tentang data Keamanan dan integritas informasi
3. Tingkatan Internal
merupakan perwujudan basisdata dalam komputer. Pada tingkat ini menggambarkan bagaimana basisdata disimpan secara fisik didalam peralatan storage yang berkaitan erat dengan tempat penyimpanan fisik.
Tingkat internal memperhatikan hal-hal berikut ini
-          Alokasi ruang penyimpanan data dan indeks
-          Deskripsi record untuk penyimpanan
-          Penempatan record
-          Pemadatan data/ pemampatan data dan tekhnik enkripsi

Diagram hubungan entitas  (ERD)

Diagram Hubungan Entitas (ERD) Adalah suatu penyajian data dengan menggunakan Entity dan Relationship yang digambarkan dalam sebuah diagram. Entitas adalah suatu objek yang dapat dibedakan dari lainnya yang dapat diwujudkan dalam database. Relationship adalah hubungan yang terjadi antara satu atau lebih entity. Berikut merupakan contoh dari ERD :




Model Data REA (Resource, Event, Agent)

Model Data REA adalah suatu alat pemodelan konseptual yang khusus dirancang untuk melengkapi struktur dalam perancangan database SIA.
Model Data REA mengklasifikasikan ke dalam tiga kategori, yaitu :
1. Sumber daya yang didapat dan dipergunakan organisasi (Resource) contoh : kas dan persediaan,
    perlengkapan, gudang pabrik dsb
2. Kegiatan atau aktivitas bisnis yang dilakukan organisasi (Event) Contoh : sales events, taking customer
    orders
3. Pelaku yang terlibat dalam kegiatan tersebut (agent) Contoh : pegawai (staf penjualan dan kasir),
    pelanggan

Rabu, 26 Juni 2013

Activity Diagram

Adalah tekhnik untuk menjelaskan business process, procedural logic, dan work flow Bisa dipakai untuk menjelaskan use case text dalam notasi grafis dengan Menggunakan notasi yang mirip flow chart, meskipun terdapat sedikit perbedaan notas

deskripsi activity diagram :
a.Menggambarkan proses bisnis dan urutan aktivitas dalam sebuah proses
b.Dipakai pada business modeling untuk memperlihatkan urutan aktifitas proses bisnis
c.Struktur diagram ini mirip flowchart atau Data Flow Diagram pada perancangan terstruktur
d.Sangat bermanfaat apabila kita membuat diagram ini terlebih dahulu dalam memodelkan sebuah
   proses untuk membantu memahami  proses secara keseluruhan
e.Activity diagram dibuat berdasarkan sebuah atau beberapa use case pada use case diagram

simbol activity diagram:


Contoh Activity Diagram:


USE CASE DIAGRAM

Deskripsi Use Case Diagram:
 a. Sebuah use case adalah situasi dimana sistem digunakan untuk memenuhi satu atau lebih
     kebutuhan pemakai.
 b. Use case merupakan awal yang sangat baik untuk setiap fase pengembangan berbasis objek,
     design testing, dan dokumentasi.
 c. Use case menggambarkan kebutuhan sistem dari sudut pandang di luar sistem.
 d. Use case menentukan nilai yang diberikan sistem kepada pemakainya.
 e. Use cases hanya menetapkan apa yang seharusnya dikerjakan oleh sistem, yaitu kebutuhan
     fungsional sistem.
 f. Use case tidak untuk menentukan kebutuhan nonfungsional, misalnya: sasaran kinerja, bahasa
    pemrograman, dsb.

Use case diagram terdiri dari:
a. Use case
    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. Use case dibuat berdasar  
   keperluan actor, merupakan “apa” yang dikerjakan system, bukan “bagaimana” system mengerjakannya Use case diberi nama yang
   menyatakan apa hal yang dicapai dari hasil interaksinya dengan actor. Use case dinotasikan dengan gambar (horizontal
   ellipse). Use case biasanya menggunakan kata kerja. Nama use case boleh terdiri dari beberapa kata dan tidak boleh ada 2 use
   case yang memiliki nama yang sama.

b. Actors
   Actor menggambarkan orang, system atau external entitas / stakeholder yang menyediakan atau menerima informasi dari system
   Actor menggambarkan sebuah tugas/peran dan bukannya posisi sebuah jabatan. Actor memberi input atau menerima informasi dari
   system. Actor biasanya menggunakan Kata benda. Actor adalah eksternal terhadap sistem.

c. Association
   Associations bukan menggambarkan aliran data/informasi.Associations digunakan untuk menggambarkan bagaimana actor terlibat
   dalam use case.
   Ada 4 jenis relasi yang bisa timbul pada use case diagram
   1. Association antara actor dan use case
      Ujung panah pada association antara actor dan use case mengindikasikan siapa/apa yang meminta interaksi dan bukannya
      mengindikasikan aliran data
   2. Association antara use case
      include termasuk didalam use case lain (required) / diharuskan
      contoh:


   3. Generalization/Inheritance antara use case
      extend perluasan dari use case lain jika kondisi atau syarat terpenuhi Generalization/inheritance digambarkan dengan   
      sebuah garis berpanah tertutup pada salah satu ujungnya yang menunjukkan lebih umum
       Gambaran generalization/inheritance antara use case secara vertical dengan inheriting use case dibawah base/parent use case


4. Generalization/Inheritance antara actors
   Gambaran generalization/inheritance antara actors secara vertical dengan inheriting actor dibawah base/parent use case




CLASS DIAGRAM

Class diagram adalah Sebuah symbol class padaclass diagram terdiri dari namakelas, attribute dan method

•NamaKelas
 Digunakan untuk membedakan antara satu kelas dan kelas yang lain. Contohnya: Manusia, Dosen, Karyawan, Mahasiswa

•Attribute
 Digunakan untuk menyimpan state, pada bahasa pemrograman ini berupa field. Bisa juga diartikan apa yang dimiliki oleh sebuah
 objek.
 Contohnya: untuk atribut Mahasiswa: nim, nama, alamat, tempat lahir, tanggal Lahir,
 Aturan penggunaan: modifier nama_attribute:tipe data
 contoh penggunaan: -nama: String dibaca attribute nama memilik imodifier private dengan tipe data String

•Method
 Digunakan untu kmenyimpan behaviour, pada bahasa pemrograman berupamethod yang mengembalikan nilai(non void method) dan method 
 yang tidak mengembalikan nilai(void method).Contohnya: getNama, getAlamat, getUsia, jalan, lari
 Aturan Penggunaan: Modifier nama_method([namaParameter: tipeParameter]) :nilai_kembalian
 Contohpenggunaan:
 + getNama() : String dibaca method getNama memiliki modifier public, tidak memiliki parameter dan memiliki nilai kembalian 
   String
 + setNama(nama: String) : void dibaca method setNama memiliki modifier public, memiliki 1 buat parameter  yaitu nama dengan tipe parameter String dan tidak memiliki nilai kembalian karena bertipe void.



SEQUENCE DIAGRAM

Kelas diagram menunjukkan hubungan statis yang terjadi antara satu objek dengan objek yang lain. Sequence Diagram menunjukkan suatu scenario yang dinamis.Squence diagram digunakan untuk mendeskripsikan polakomunikasi antar objek. Squence diagram mengambarkan urutan waktu dari aliran pemanggilan pada suatu method.Squence diagram berhubungan erat dengan Use Case diagram,dimana1 Use Case akan menjadi 1 Sequence Diagram.

Symbol
Dalam squence diagram terdapat 2 symbol yaitu
•ActorDigunakanuntukmenggambarkanpenggunasystem
•LifeLineDigunakanuntukmenggambarkankelasdanobjekSequence

Relasi
Dalam squence diagram terdapat3 relasi:
•Create
 Relasi ini digunakan untuk melakukan inisialisasi suatu objek.
•Synchronous
 Relasi ini digunakan untuk memaNggil operasi atau method yang dimiliki oleh suatu  objek.  Synchronous 
 mengharuskan kita menyelesaikan 1 proses baru kemudian memanggil proses berikutnya.
•Asynchronous
 Relasi ini digunakan untuk memanggil operasi atau method yang dimiliki oleh suatu objek. Asynchronous
 memberikan kita fasilitas untuk menjalankan proses lain ketika proses sebelumnya belum selesai.

Kamis, 20 Juni 2013

Konsep awal programming (Basic) dengan kekuatan GOTO statement, ini merupakan Non Procedural Language.Procedural   Language   /   Bahasa   pemograman   terstruktur menghilangkan kelemahan GOTO konsep non procedural language Contoh : Pascal, COBOL, FORTRAN, BASIC dll Object Oriented Programming, mengarah pada konsep object. Akhir tahun 1960 diperkenalkan pertama kali dengan bahasa SIMULA. Tahun 1970 dikembangkan Smaltalk. Bahasa pemrograman lainnya : Clipper 5.2 Java, Prolog dll

Visual Object Oriented Programming, tahun 1991 diperkenalkan pertama kali dengan bahasa Visual Basic oleh Microsoft Bahasa pemograman lainnya : Visual C++, Visual Foxpro 3.0, CORBA (Common Object Request Broker Architecture), dll

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

Berorientasi objek dalam proses konseptual terpisah dengan bahasa pemrograman sampai tahap terakhir. Pengembangan berorientasi objek secara mendasar merupakan cara berpikir baru dan bukan suatu teknik pemrograman. Dapat melayani sebagai media spesifikasi, analisa, dokumentasi dan interface seperti halnya pemrograman.

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

Fokus utama metodologi ini pada objek, dapat digambarkan sebagai benda, orang, tempat dan sebagainya yang memiliki atribut dan metode.

Diperkenalkan tahun 1980 menggunakan perangkat kerja dan teknik-teknik yang dibutuhkan dalam pengembangan sistem, yaitu dynamic dan static object oriented model, state transition diagram dan case scenario.

Objek dan kelas

Objek didefinisikan sebagai konsep, abstraksi atau benda dengan batasan dan arti untuk suatu masalah. Semua objek mempunyai identitas yang berbeda dengan lainnya. Kadang-kadang objek berarti suatu barang, maka digunakan istilah object instance, dan object class untuk menunjukkan satu grup dari barang yang sama. Sebuah objek merupakan sebuah entitas yang mencakup data dan metode. Kelas merupakan satu atau lebih objek dengan persamaan atribut dan metode, sedangkan kelas-&-objek adalah kelas dengan satu atau lebih objek di dalamnya. Nama kelas adalah kata benda tunggal, atau kata sifat dan kata benda.

Istilah-istilah Objek

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

Struktur object dan hirarki kelas

1.Whole-Part Structure memperlihatkan hirarki dari suatu kelas sebagai komponen dari kelas lain yang disebut juga sub objek. Contohnya, kelas Mobil adalah Whole dan komponennya Mesin, Rangka, dll merupakan Part1, Part 2, …, Partn.

2.Gen-Spec memperlihatkan kelas sebagai spesialisasi dari kelas diatasnya Kelas yang mempunyai sifat umum disebut Generalization, Superclass atau Topclass. Kelas yang mempunyai sifat khusus disebut Specialization. Contohnya, kelas Mobil adalah Generalization, sedangkan Sedan, Truk, Minibus, dll merupakan Specizlization1, Specialization2, dst

Tahap Tahap Metodologi
1.Analisa
Model analisa adalah abstraksi yang ringkas dan tepat dari apa yang harus dilakukan oleh sistem, dan bagaimana melakukannya. Objek dalam model harus merupakan konsep domain dari aplikasi, bukan merupakan implementasi komputer seperti struktur data.
2. Design
Fokus object design adalah perencanaan struktur data dan algoritma yang diperlukan untuk implementasi setiap kelas. Objek domain aplikasi dan objek domain komputer dijelaskan dengan menggunakan konsep dan notasi berorientasi objek yang sama.
3.Impamentasi
Kelas, objek dan relasinya dikembangkan dalam tahap object design, akhirnya diterjemahkan ke dalam bahasa pemrograman, basis data, dan implementasi perangkat keras.Dalam tahap implementasi hal yang penting adalah mengikuti penggunaan perangkat lunak yang baik.

Objek
Objek adalah kombinasi antara struktur data dan perilaku dalam satu entitas dan mempunyai nilai tertentu yang membedakan entitas. Bisa berupa:
obyek konkrit : rumah, sekolah, dosen, mahasiswa, dll.
obyek abstrak : mata kuliah, penjadwalan, dll.

Karakteristiknya adalah:
Memiliki Identity (identitas)
Memiliki klasisfikasi
Memiliki state (kondisi/keadaan)
State sebuah objek dinyatakan dalam attribute/properties
Memiliki behavior (perilaku/method)
Perilaku suatu objek dinyatakan dalam operation.
Perilaku suatu objek adalah mendefinisikan bagaimana objek
tersebut bertindak dan memberikan reaksi.

karakter berorientasi objek
1.Encapsulation (pembungkusan)
Pengkapsulan merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses. Dengan demikian objek atau prosedur dari luar tidak dapat mengaksesnya. Data terlindung dari prosedur atau objek
lain kecuali prosedur yang berada dalam objek itu sendiri. Sebuah object yang terkapsulasi dapat dianggap sebagai black box. Proses di dalamnya adalah tertutup bagi klien, yang hanya memanggil metode yang menjadi interface. Dalam Java, dasar enkapsulasi adalah Class. Variabel atau method sebuah class tidak dapat diakses dengan menjadikan class tersebut private/protected.

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

Sebuah class bisa mewariskan atribut dan method-nya ke class yang lain
– Class yang mewarisi disebut superclass
– Class yang diberi warisan disebut subclass
– Sebuah subclass bisa mewariskan atau berlaku sebagai
superclass bagi class yang lain => disebut multilevel inheritance

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

3.Polymorphisme
Polymorphisme yaitu aksi yang sama yang dapat dilakukan terhadap beberapa objek. Polimorfisme berarti bahwa  operasi  yang  sama  mungkin  mempunyai perbedaan dalam kelas yang berbeda.
Polymorphism adalah kemampuan untuk tampil dalam berbagai bentuk. Hal ini mengacu pada kemungkinan message yang sama dikirimkan ke obyek-obyek lain pada class yang berbeda, dan merespon secara berbeda.

Perbedaan object orientade dan non object
Penggunaan alat

1.Metodologi  non  objek  menggunakan  beberapa  alat  untuk menggambarkan model seperti data flow diagram, entity relationship diagram dan structure chart. Sedangkan metodologi berorientasi objek menggunakan satu jenis model dari tahap analisa sampai implementasi, yaitu diagram objek.
2. Data dan proses
Pada metodologi non objek, data dan proses dianggap sebagai dua komponen yang berlainan Sedangkan pada metodologi berorientasi objek, data dan proses merupakan satu kesatuan, yaitu bagian dari objek.
3. Bahasa pemrograman
Metodologi non objek dipergunakan untuk melengk