• Tidak ada hasil yang ditemukan

PSBO- BSI MODUL

N/A
N/A
Protected

Academic year: 2021

Membagikan "PSBO- BSI MODUL"

Copied!
239
0
0

Teks penuh

(1)
(2)

Mata kuliah : PSBO Semester : V

Jurusan : Manajemen Informatika Sks : 2 sks

CAPAIAN PEMBELAJARAN :

Mahasiswa mengenal dan memahami serta dapat membuat beberapa diagram UML

(3)

KONTRAK PERKULIAHAN

• Pertemuan 1-6 dilakukan dengan penyampaian materi kepada mahasiswa

• Pertemuan 7 diadakan QUIZ / review materi

• Pertemuan 8 diadakan UTS dimana materi diambil dari pertemuan 1-6

• Setelah UTS Penyampaian materi tetap dilakukan sebagaimana biasa sampai pertemuan 13.

• Di pertemuan 14 pengumpulan tugas yang dibuat oleh mahasiswa secara berkelompok. Dimana tugas tersebut berbentuk makalah yang sesuai dengan kasus yang dibahas.

(4)

Pembahasan

1. Sejarah Object Oriented

2. Konsep Pemodelan

3. Metodologi Object Oriented

4. Karakteristik Object

5. Perbedaan Metode Object Oriented dan Non

Object

(5)

1. Sejarah Object Oriented

 Berorientasi objek berarti bahwa kita mengorganisasi

perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya.

 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

(6)

 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

(7)

Sejarah Object Oriented (cont)

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.

(8)

2. Konsep Pemodelan

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

(9)

3. Metodologi Object Oriented

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

 Fokus utama metodologi ini pada objek, dapat

digambarkan sebagai benda, orang, tempat dan sebagainya yang memiliki atribut dan metode.

(10)

Tahap-tahap metodologi berdasarkan Sistem Development Life Cycle (SDLC), dengan berorientasi objek dapat dijelaskan sebagai berikut :

 Dimulai dengan menyatakan suatu masalah, analis membuat model

situasi dari dunia nyata, menggambarkan sifat yang penting.

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

 Empat kesulitan yang merupakan gangguan utama sistem adalah

memahami problem domain, komunikasi antara pihak yang berkaitan, perubahan kontinyu, dan penggunaan kembali.

(11)

 Pengorganisasian sistem ke dalam sub-sistem berdasarkan struktur analisa dan arsitektur yang dibutuhkan.

 Desain model berdasarkan model analisa tetapi berisi detail

implementasi.

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

 System designer menentukan karakteristik penampilan secara

optimal, strategi memecahkan masalah, dan pilihan alokasi sumber daya.

Contoh: system designer mungkin menentukan perubahan pada screen untuk workstation yang memerlukan kecepatan serta resolusi lebih tinggi.

(12)

 Kelas, objek dan relasinya dikembangkan dalam tahap object design, akhirnya diterjemahkan ke dalam bahasa pemrograman, basis data, dan mplementasi perangkat keras.

 Dalam tahap implementasi hal yang penting adalah

mengikuti penggunaan perangkat lunak yang baik.

(13)

Karakteristik Metodologi Berorientasi Objek

1. Encapsulation

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.

Metodologi berorientasi objek mempunyai karakteristik sebagai berikut:

(14)

2. Inheritance

 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 kelas yang mempunyai hubungan secara hirarki.

(15)

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.

 Suatu implementasi yang spesifik dari suatu operasi dari kelas

tertentu disebut metode.

(16)

4. Karakteristik Object

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

Objek adalah kombinasi antara struktur data dan perilaku dalam satu entitas dan mempunyai nilai tertentu yang membedakan entitas tersebut.

(17)

5. Perbedaan Object Oriented

dengan Non Object

Perbedaan yang spesifik dengan metodologi non objek adalah: a. Penggunaan alat

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

(18)

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

c.Bahasa pemrograman

 Metodologi non objek dipergunakan untuk melengkapi

pemrograman terstruktur pada bahasa generasi ketiga.

 Sedangkan metodologi berorientasi objek dipergunakan

untuk pemrograman berorientasi objek dan bahasa generasi keempat.

(19)
(20)

Class Diagram

Class Diagram mendeskripsikan jenis-jenis objek dalam sistem dan berbagai macam hubungan statis yang terdapat diantara mereka. Class diagram juga menunjukkan properti dan operasi sebuah class dan batasan-batasan yang terdapat dalam hubungan-hubungan objek tersebut. UML menggunakan istilah fitur sebagai istilah umum yang meliputi properti dan operasi sebuah class.

(21)
(22)

Properti, Atribut dan Asosiasi

Properti mewakili fitur-fitur struktural dari sebuah class. Properti merupakan sebuah konsep tunggal, tetapi tampak seperti dua notasi yang sedikit berbeda : atribut dan asosiasi. Meskipun tampak berbeda dalam sebuah diagram tetapi sebenarnya adalah hal yang sama.

Notasi atribut mendeskripsikan properti dengan sebaris teks didalam kotak class tersebut

Contoh:

(23)

Properti, Atribut dan Asosiasi (lanjutan)

Keterangan :

 +/- = tanda visibility, + public / - private

 name = atribut, bagaimana class tersebut mengacu pada atribut

 string = tipe dari atribut, menunjukkan sebuah batasan tentang objek apa yang dapat diletakkan dalam atribut tersebut

 [1] = multiplicity

 untitled = devault value, nilai objek yang baru dibuat jika atribut tidak dispesifikasi selama pembuatannya

 {property string}, memungkinkan untuk menunjuk properti tambahan, misalnya read only yang berarti bahwa klien tidak dapat mengubah properti tersebut.

(24)

Properti, Atribut dan Asosiasi

(lanjutan)

Asosiasi merupakan sebuah garis solid antara dua class, ditarik dari class sumber ke class target. Nama properti bergerak sampai tujuan akhir sebuah asosiasi bersama dengan multiplicity. Tujuan akhir sebuah asosiasi menghubungkan dengan class yang merupakan jenis properti.

Properti dalam susunan atribut dapat digambarkan sebagai berikut:

(25)

Multiplicity

Multiplicity merupakan indikasi tentang berapa banyak objek yang akan mengisi properti. Multiplicity yang sering digunakan adalah:

 1 (contoh: satu pesanan hanya bisa untuk seorang pelanggan)

 0..1 (contoh: pelanggan perusahaan dapat memiliki seorang sales rep)

 * (contoh: tidak ada jumlah maksimal / tidak terbatas berapa jumlah pesanan yang dapat dibuat oleh pelanggan)

(26)

Indikator/Gambar Arti

0..1 Kosong atau satu

0..* Lebih dari sama dengan kosong

0..n Lebih dari sama dengan n, dimana n lebih dari 1

1 Hanya satu

1..* Lebih dari sama dengan satu

1..n Lebih dari sama dengan satu dimana n lebih dari satu

* Banyak atau Many

N Hanya N, dimana N lebih dari satu

n..* Lebih dari sama dengan N dimana N lebih dari satu

n..m Lebih dari sama dengan N dan kurang dari sama dengan M. Dimana M dan N lebih dari satu.

(27)

Multiplicity

(lanjutan)

Beberapa macam istilah yang mengacu pada multiplicity:

 Optional

Menunjukkan sebuah batas bawah yang bernilai nol (0)

 Mandatory

Menunjukkan sebuah batas bawah yang bernilai satu (1) atau mungkin lebih

 Single-valued

Menunjukkan sebuah batas atas yang bernilai satu (1)

 Multivalued

Menunjukkan sebuah batas atas yang bernilai lebih dari satu (1) dan biasanya ditulis dengan tanda *

(28)

Asosiasi Bidireksional

Asosiasi bidireksional adalah sepasang properti yang saling berhubungan satu sama lain.

Sifat bidireksional ditunjukkan secara jelas dengan adanya panah navigasi pada kedua ujung asosiasi.

Orang Mobil

pemilik

(29)

Operasi

 Operasi merupakan suatu kegiatan yang dimengerti sebuah class untuk dilakukan. Operasi secara jelas berhubungan dengan metode dalam sebuah class.

 Istilah lain yang sering digunakan pada operasi adalah metode tetapi sebenarnya tidak sama. Perbedaannya adalah operasi adalah hal yang diharapkan pada sebuah objek (deklarasi prosedur), sedangkan sebuah metode adalah bentuk prosedur.

 Dalam metode ada istilah getting dan setting. Metode getting akan mengembalikan nilai dari sebuh bidang (dan tidak melakukan hal lain selain itu) sedangkan metode setting meletakkan nilai kedalam sebuah bidang (dan tidak melakukan hal lain selain itu)

(30)

Generalisasi

Contoh dari gambar class sebelumnya yang merupakan generalisasi melibatkan pelanggan perorangan dan pelanggan perusahaan. Keduanya mempunyai persamaan dan perbedaan. Persamaan tersebut dapat dimasukkan kedalam class pelanggan umum (supertype) dengan pelanggan perorangan dan pelanggan perusahaan sebagai subtype.

Dengan menggunakan perspektif perangkat lunak, interpretasi tersebut sudah termasuk: pelanggan perusahaan merupakan subclass dari pelanggan. Dalam object oriented subclass mewarisi semua fitur superclass dan dapat melakukan semua metode superclass.

(31)

Catatan dan Komentar

Catatan merupakan komentar didalam diagram. Catatan-catatan dapat berdiri sendiri atau dihubungkan dengan garis hubung dengan elemen yang dikomentari.

(32)

Ketergantungan

Sebuah ketergantungan muncul antara dua elemen jika perubahan definisi sebuah elemen dapat menyebabkan perubahan pada elemen lainnya. Dalam class ketergantungan muncul karena banyak hal, antara lain : salah satu class mengirim pesan ke class lain, salah satu class memiliki sebagian data, salah satu class menyebut class lain sebagai parameter sebuah operasi. Jika sebuah class mengubah antarmukanya, setiap pesan yang dikirim ke class tersebut dapat menjadi tidak valid.

(33)

Ketergantungan

(lanjutan) Banyak hubungan-hubungan UML menunjukkan ketergantungan. Asosiasi dengan kemampuan navigasi dari pesanan sampai ke pelanggan dalam gambar sebelumnya, berarti pesanan tersebut tidak tergantung pelanggan. Sebuah subclass tidak tergantung pada superclass-nya tetapi tidak sebaliknya.

Kata kunci dalam ketergantungan dapat dijelaskan sebagai berikut:

Kata Kunci Arti

<<call>> Sumber memanggil sebuah operasi pada target <<create>> Sumber membuat perintah pada target

(34)

Ketergantungan

(lanjutan)

Kata Kunci Arti

<<derive>> Sumber diambil dari target

<<instantiate>> Sumber merupakan perintah target

<<permit>> Target memungkinkan sumber untuk mengakses fitur private target

<<realize>> Sumber merupakan implementasi sebuah spesifikasi atau antarmuka yang ditentukan oleh target

<<refine>> Perbaikan menunjukkan sebuah hubungan antara tingkat semantik yang berbeda, contohnya, sumber merupakan sebuah class desain dan targetnya adalah class analisis yang terkait

<<substitute>> Sumber merupakan pengganti dari target

<<trace>> Digunakan untuk mencari sesuatu seperti persyaratan class atau bagaimana perubahan dalam sebuah model

berhubungan dengan perubahan di lain tempat

(35)
(36)

Sequence Diagram

Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah skenario.

(37)

Diagram ini diatas menunjukkan

1. Sejumlah contoh objek dan message yang diletakkan diantara objek- objek ini didalam use case.

2. Komponen utama sequence diagram terdiri atas objek yang dituliskan dengan kotak segiempat bernama.

3. Message diwakili oleh garis dengan tanda panah dan waktu yang ditunjukkan dengan progress vertikal.

(38)

Sequence Diagram (lanjutan)

Sequence diagram digunakan ketika ingin mengetahui perilaku beberapa objek pada use case tunggal. Sequence diagram bagus dalam menunjukkan kolaborasi diantara obyek, namun tidak begitu bagus dalam memberikan definisi yang pasti tentang perilaku tersebut.

Untuk melihat perilaku suatu objek pada banyak use case lebih baik jika menggunakan state machine diagram dan untuk melihat perilaku terhadap banyak use case lebih baik menggunakan activity diagram.

(39)

Objek/Participant

Objek diletakkan dibagian atas diagram dengan urutan dari kiri ke kanan. Objek diatur dalam urutan untuk menyederhanakan diagram. Dalam UML 2 istilah objek diganti dengan participant.

Setiap participant terhubung dengan garis titik-titik yang disebut lifeline. Sepanjang lifeline ada kotak yang disebut activation yang mewakili sebuah eksekusi operasi dari participant. Panjang kotak ini berbanding lurus dengan durasi activation.

(40)

Message

Sebuah message bergerak dari satu participant ke participant yang lain dan dari satu lifeline ke lifeline yang lain. Participant bisa mengirim sebuah message kepada dirinya sendiri.

Sebuah message bisa jadi simple, synchronous atau asynchronous. Message yang simple adalah sebuah perpindahan (transfer) control dari participant ke participant yang lainnya. Jika sebuah participant mengirimkan sebuah message synchronous, maka jawaban atas message tersebut akan ditunggu sebelum diproses dengan urusannya.

(41)

Message

(lanjutan) Namun jika message asynchronous yang dikirimkan, maka jawaban atas message tersebut tidak perlu ditunggu.

Simbol message pada sequence diagram adalah:

(42)

Time

Time adalah diagram yang mewakili waktu pada arah vertikal. Waktu dimulai dari atas kebawah. Message yang lebih dekat dari atas akan dijalankan terlebih dahulu dibanding message yang lebih dekat ke bawah.

Dari penjelasan tersebut terlihat bahwa sequence diagram menunjukkan dua dimensi. Dimensi dari kiri ke kanan menunjukkan tata letak objek/participant dan dimensi dari atas ke bawah menunjukkan lintasan waktunya.

(43)

Recursive

Recursive artinya sebuah objek mempunyai sebuah operation kepada dirinya sendiri.

Contoh dari recursive ini dapat diasumsikan sebuah objek pada sistem kalkulator dengan operasi menghitung bunga. Untuk menghitung bunga berbunga selama periode tertentu maka objek tersebut perlu melakukan operation terhadap dirinya sendiri untuk menghitung bunga.

(44)

Looping, Syarat dan Like (lanjutan)

Loop dan conditional menggunakan kerangka interaksi

(interaction frame), yaitu frame untuk memberi tanda pada

sequence diagram (lihat gambar pada slide berikutnya). Umumnya frame terdiri dari beberapa region pada sequence diagram, yang dibagi menjadi satu atau lebih fragmen. Setiap frame mempunyai sebuah operator. Sebuah fragmen mungkin mempunyai satu guard.

Operator Keterangan

alt Alternatif dari banyak fragmen. Hanya yang kondisinya

true yang akan dijalankan

opt Optional; fragmen akan dijalankan jika kondisi yang

(45)

Looping, Syarat dan Like

(lanjutan)

Operator Keterangan

par Paralel; setiap fragmen dijalankan secara paralel

loop Looping, fragmen mungkin dijalankan berulang kali dan

guard menunjukkan basis iterasi

region Critical region; fragmen hanya dapat mempunyai satu

thread untuk menjalankannya

neg Negatif; fragmen menunjukkan interaction yang salah

ref Reference; menunjukkan ke sebuah interaction yang

didefinisikan pada diagram yang lain

(46)

Looping, Syarat dan Like

(lanjutan)

guard

frame

(47)
(48)
(49)

Studi Kasus

lanjutan

PT. Bendi Car adalah sebuah perusahaan yang bergerak dibidang penyewaan mobil Semua transaksi di perusahaan masih dilakukan secara manual. Berikut ini adalah kegiatan kegiatan yang dilakukan oleh petugas dalam melaksanakan transaksi penyewaan mobil di dalam perusahaan.

1. Prosedure peminjaman

Penyewa mobil yang ingin melakukan peminjaman dapat melihat harga penyewaan mobil pada daftar harga sewa mobil. Penyewa dapat menggunakan jasa supir atau tidak sesuai dengan kebutuhan penyewa sendiri. Setiap jenis kendaraan memiliki harga sewa yang berbeda-beda begitu juga harga sewa jasa sopir untuk daerah Jabodetabek dan diluar jabodetabek pun berbeda. Setelah itu penyewa mengisi Formulir Penyewaan (FS) disertai fotocopy identitas diri. Kemudian Formulir penyewaan yang telah diisi beserta pelunasan pembayaran diserahkan kepada petugas kemudian petugas membuatkan kwitansi pembayaran sebagai bukti pembayaran.

(50)

2. Prosedure pengembalian

Pada saat pengembalian kendaraan oleh penyewa, petugas

membawa Formulir Pengembalian dan memeriksa kondisi

kendaraan apakah terdapat kerusakan atau tidak. Bila ada

(misalnya spion pecah, body penyok, cat tergores, dll), maka

diperhitungkan penggantiannya dan dibebankan kepada

penyewa. Bila tidak rusak/terlambat maka tidak perlu

mengisi Formulir pengembalian. Namun Bila penyewa

terlambat dalam pengembalian, maka jumlah keterlambatan

mobil dan sopir akan dibebankan kepada penyewa. Setelah

membayar kerusakan dan keterlambatan, maka petugas

membuatkan kwitansi sebagai tanda bukti pembayaran

denda

(51)

3. Prosedure laporan

Diakhir bulan petugas membuat laporan

penyewaan berikut denda atas kerusakan atau

keterlambatan yang terjadi dan laporan

kendaraan. Laporan tersebut diserahkan ke

pemilik penyewaan Bendi car

Buatlah Sequence diagram dari

sistem diatas

(52)
(53)

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.

Tidak cukup hanya mengimplementasikan sebuah obyek, pengembang juga harus membuat obyek tersebut melakukan sesuatu. State diagram memastikan bahwa obyek-obyek tersebut akan menebak apa yang seharusnya dilakukan. Dengan gambaran yang jelas tentang perilaku obyek, kemungkinan tim pengembang akan memproduksi sebuah sistem yang sesuai dengan requirement.

(54)

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.

(55)

Simbol

(lanjutan)

UML juga memberi pilihan untuk menambahkan detil ke dalam simbol tersebut dengan membagi tiga area yaitu nama state, variabel dan aktivitas.

State variabel seperti timer dan counter yang kadangkala sangat membantu.

NState Name

Variabel Name

(56)

Simbol

(lanjutan)

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

(57)

State, Event

dan

Transition

Statechart diagram menampilkan state-state yang mungkin dari sebuah obyek, event yang bisa dideteksi dan respon atas event-event tersebut. Secara umum, pendeteksian sebuah event-event dapat menyebabkan sebuah obyek bergerak dari satu state ke state yang lain yang disebut dengan transition. Sebagai contoh jika sebuah CD Player dalam keadaan terbuka, penekanan tombol load akan menyebabkan drawer CD Player berpindah ke state close, sebagaimana digambarkan sebagai berikut:

(58)

State, Event

dan

Transition

Closed Playing Open Play Load Stop Stop

Stop Play Load

Stop

(59)

Initial

dan Final State

Gambar pada slide sebelumnya menjelaskan bagaimana ketika CD Player sedang dipakai, tetapi tidak menjelaskan apa yang terjadi ketika mesin di matikan atau dihidupkan.

Untuk menunjukkan perilaku ini kita bisa menambahkan initial state diagram. Gambar berikut ini menunjukkan bahwa initial state untuk CD Player selalu diposisi close setelah mesin dihidupkan. Tidak ada event yang harus dituliskan pada initial state.

Event yang menyebabkan final state bisa tercapai adalah saat CD Player dimatikan (event = off)

(60)

Initial

dan Final State

Closed Playing Open Play Load Stop Stop

Stop Play Load

Stop

Load

Off

(61)

Guard Condition

Dalam gambar sebelumnya salah satu masalah adalah CD player tidak selalu pada state playing ketika tombol play ditekan. Seharusnya state playing dilakukan jika ada CD di drawer atau tetap dalam kondisi close jika tidak ada CD di drawer.

Untuk menampilkan informasi tersebut dengan statechart bisa ditambahkan guard condition untuk transition play. Guard condition adalah bagian spesifikasi dari transition dan ditulis dengan sepasang kurung kotak/[] sesudah nama event yang memberi label transition

(62)

Guard Condition

(lanjutan) Closed Playing Open Play[ CD present] Stop Stop Stop Play[no CD] Play [no CD] Load Load Play Load Play[ CD present]

(63)

Guard Condition

(lanjutan)

Jika ada lebih dari satu transition yang mempunyai hasil guard condition true, maka hanya ada satu saja yang akan dijalankan. Sebagai contoh anggaplah CD player pada posisi state open dan tombol play ditekan, yang pertama kali terjadi adalah drawer akan ditutup. Hal ini penting karena mesin akan bisa mendeteksi apakah ada CD atau tidak di drawer bila drawer dalam posisi tertutup. Dalam kondisi masih state open, guard condition dievaluasi pada transition play untuk melihat transition mana yang harus dijalankan. Jika CD ada, transition akan berubah dari open menjadi playing.

(64)

Action

Action ditulis setelah nama event dengan diawali tanda slash (/). Action bisa dideskripsikan dalam pseudo-code atau dengan menggunakan notasi bahasa pemrograman yang akan dipakai. Transition dapat membawa condition dan action sekaligus.

Action dibuat dalam bentuk pendek, mengandung bagian kecil dari proses yang tidak butuh waktu lama. Karakteristik action harus bisa selesai sebelum transition mencapai state yang baru. Hal tersebut mengindikasikan bahwa action tidak dapat diinterupsi oleh event yang lain yang mungkin dideteksi oleh obyek, namun tetap harus bisa selesai dilakukan.

(65)

Action

(lanjutan) Closed Playing Open Play[ CD present] Stop Stop Stop Play[no CD] Play [no CD] / close drawer

Load / Open drawer

Load/ open drawer

Play

Load/ close drawer

(66)

Entry dan Exit Action

Entry action dijalankan setiap saat jika state menjadi aktif, segera setelah action transition selesai. Sebagai contoh jika CD player dalam state open dan tombol play ditekan, drawer akan menutup dan transition play akan dijalankan. Hasilnya state playing menjadi aktif dan entry action pada state playing segera dilakukan. Exit action akan dijalankan kapanpun saat sebuah action ditinggalkan.

Playing

Entry/find start of track Entry/lower head

Entry/raise head

Open

Play Stop

Play[CD present]/close drawer

(67)

Activity

Saat posisi state playing, melakukan sesuatu yang disebut memainkan current track dari CD, operasi ini yang disebut activity. Seperti pada action maka activity ditulis dalam state yang diawali dengan do.

Beda antara action dan activity adalah action lebih merupakan instance sedangkan activity merupakan perluasan dari waktu.

Ketika state menjadi aktif, entry action dijalankan dan activitynya dimulai. Activity berjalan secara kontinyu sepanjang periode dimana state tersebut aktif.

(68)

Activity

(lanjutan) Entry action harus dijalankan sampai selesai sebelum obyek dapat merespon event apapun. Akan tetapi activity bisa diinterupsi oleh event apapun yang mengakibatkan transition keluar.

Playing

Entry/find start of track Entry/lower head

Entry/raise head Do/play track

(69)

Completion Transition

Completion transition adalah transition yang tidak mempunyai nama event. Ini bisa ditrigger ketika sebuah state activity internal berhenti secara normal tanpa interupsi oleh event dari luar. Ketika CD player dimainkan user bisa menekan tombol play atau stop untuk interupsi. Jika salah satu dari event ini terdeteksi maka track akan berakhir. Dengan demikian calon transition yang harus dijalankan tinggal completion transition. Yang terjadi berikutnya tergantung pada apakah track yang baru saja selesai adalah track terakhir atau bukan.

(70)

Completion Transition

(lanjutan)

Completion transition mempunyai guard condition untuk membedakan diantara dua kasus. Jika yang baru selesai adalah track terakhir, transition pada state closed akan dijalankan dan CD berhenti, tetapi jika tidak transition ke dirinya sendiri akan dijalankan dan penhitung track akan naik, state playing akan masuk kembali dan CD player akan menjalankan track berikutnya.

Playing

Entry/find start of track Entry/lower head

Entry/raise head Do/play track

Play [no last track] /

increment track count Closed

Last track played

(71)

Internal Transition

Internal transition ditulis didalam state yang diberi nama dengan event yang menyebabkannya. Sebagai contoh adalah informasi yang ditampilkan dalam CD player.

Playing

Entry/find start of track Entry/lower head

Entry/raise head Do/play track Info/display time

(72)

Composite State

Composite state mempunyai properties sebagai berikut:

1.Jika composite state active, salah satu dari sub state harus aktif.

1.Jika sebuah event terdeteksi ketika sebuah obyek ada didalam composite state, maka akan bisa mentrigger transition keluar dari composite state itu sendiri maupun dari sub state aktif saat itu.

Sebagai contoh, asumsikan CD player dalam state closed, jika event load terdeteksi transition state open akan dijalankan dan state open menjadi aktif. Ini adalah transition internal dari state not playing dan masih aktif tetapi dengan sub state aktif yang lain.

(73)

Composite State

(lanjutan) Sebaliknya jika event play terdeteksi, tidak ada transition bernama “play” yang meninggalkan state closed. Namun ada beberapa transition yang meninggalkan state no play. Jika state ini aktif, transition akan menjadi enable, tergantung apakah ada CD didrawer atau tidak. Jika CD ada, state play menjadi aktif, jika tidak state closed menjadi aktif. Hal ini berarti self-transition meninggalkan state not play.

(74)

History State

Ketika tombol pause ditekan, maka saat tombol play ditekan lagi CD player otomatis akan melanjtkan jalannya CD dari kondisi terakhir pada saat tombol pause ditekan dan tidak memulai dari awal lagi.

UML menangkap ide ini dengan mengunakan history state yang dinyatakan dengan huruf H dalam lingkaran. Cara kerja history state dilakukan dengan cara composite state mengingat sub state yang aktif saat obyek keluar dari transition composite state. Dengan adanya transition ke history state akan mengakibatkan substate yang saat ini aktif akan menjadi aktif lagi

(75)

History State

(lanjutan)

Busy

Entry/find start of track

[no last track]/increment track

play Not playing

Last track played Stop Play [CD present] Paused H Playing Do/play track

(76)
(77)

Langkah terakhir sebelum perangkat lunak kita serahkan kepada pengguna adalah melakukan pengujian (testing)

yang bertujuan menemukan serta menghilangkan “bug” (kesalahan-kesalahan) yang ada dalam sistem.

Kesalahan tersebut diakibatkan beberapa hal, antara lain: 1.Kesalahan saat penentuan spesifikasi sistem/perangkat lunak

2. Kesalahan saat melakukan analisis permasalahan 3. Kesalahan saat perancangan

(78)

Strategi Pengujian

[Ali Bahrawi, 1999]

Black-Box Testing

White-Box Testing

Top-Down Testing

Bottom-Up Testing

(79)

Strategi Pengujian

(lanjutan) • Black-Box Testing

Pada pengujian ini kita tidak perlu tahu apa yang sesungguhnya terjadi dalam sistem/perangkat lunak. Yang kita uji adalah masukan serta keluarannya. Artinya dengan berbagai masukan yang kita berikan, apakah sistem/perangkat lunak memberikan keluaran seperti yang kita harapkan.

Dalam pengujian ini kita dapat menggunakan use case

(80)

Contoh Black-Box Testing

Input/event Proses Output Hasil

Klik Menu Beranda link beranda.html Tampil beranda diframe utama Sesuai

(81)

Strategi Pengujian

(lanjutan) • White-Box Testing

Pengujian jenis ini mengasumsikan bahwa spesifikasi logika adalah penting dan perlu dilakukan pengujian untuk menjamin apakah sistem/perangkat lunak berfungsi dengan baik. Tujuan utama dari strategi pengujian ini adalah pengujian berbasis kesalahan.

Beberapa cara yang dapat dilakukan untuk pengujian white-box:

1. Memeriksa semua fungsi dalam setiap objek dengan cara mengeksekusi satu persatu

(82)

White-Box Testing

Gambar disamping menunjukkan contoh simpul yang di ujikan dari sebuah coding program.

Kompleksitas Siklomatis (pengukuran kuantitatif terhadap kompleksitas logis suatu program) dari grafik alir dapat diperoleh dengan perhitungan:

V(G) = E – N + 2 Dimana:

E = Jumlah edge grafik alir yang ditandakan dengan gambar panah

N = Jumlah simpul grafik alir yang ditandakan dengan gambar lingkaran

1 2 3 4 5 6

(83)

White-Box Testing

Sehingga kompleksitas siklomatisnya

V(G) = 6 – 6 + 2 = 2

Basis set yang dihasilkan dari jalur independent secara linier adalah jalur sebagai

berikut:

1 – 2 – 3 – 4 – 5 – 6

1 – 2 – 1 – 2 – 3 – 4 – 5 – 6

Ketika aplikasi dijalankan, maka terlihat bahwa salah satu basis set yang dihasilkan adalah 1 – 2 – 3 – 4 – 5 – 6 dan terlihat bahwa simpul telah dieksekusi satu kali.

Berdasarkan ketentuan tersebut dari segi kelayakan

(84)

Strategi Pengujian

(lanjutan) • Top-Down Testing

Pengujian ini berasumsi bahwa logika utama atau interaksi antarobjek perlu diuji lebih lanjut. Strategi ini seringkali dapat mendeteksi kesalahan yang serius. Pendekatan ini sesuai dengan strategi pengujian berbasis skenario. Misalnya, pengujian antarmuka pengguna dengan strategi atas-bawah berarti menguji dari layar utama hingga layar dengan peringkat tingkat rendah dan memastikan semuanya berfungsi dengan baik serta sesuai dengan harapan dan kebutuhan pengguna.

(85)

Strategi Pegujian

(lanjutan) • Bottom-Up Testing

Strategi pengujian ini dimulai dengan rincian sistem kemudian beranjak keperingkat yang lebih tinggi.

Dalam metodologi berorientasi objek, kita mulai dengan menguji metode-metode dalam kelas, menguji kelas-kelas serta interaksi antar kelas-kelas dan selanjutnya hingga pada peringkat yang paling tinggi.

(86)

Kualitas

American Heritage Dictionary (dikutip dari buku Software

Engineering : A Practitioner’s Approach karya Roger Pressman, 1997) mendefinisikan kata kualitas sebagai “sebuah karakteristik atau atribut dari sesuatu”. Sebagai atribut dari sesuatu, kualitas mengacu pada karakteristik yang terukur, sesuatu yang dapat kita bandingkan dengan standar lain yang sudah kita ketahui seperti panjang, warna, volume dll.

(87)

Kualitas (lanjutan)

Steve McConnell dalam buku yang berjudul CODE COMPLETE : A Practical Handbook of Software

Construction, 1944 mengusulkan bahwa sistem/perangkat

lunak seharusnya memiliki karakteristik-karakteristik luar dan dalam sebagai berikut:

1.Karakteristik Luar

Meliputi karakteristik-karakteristik yang dapat diamati secara langsung oleh pengguna, seperti:

 Ketepatan

Tingkat kebebasan sistem dari kesalahan analisis, perancangan serta implementasi. Ketepatan disini maksudnya adalah sejauh mana sistem yang kita kembangkan memenuhi harapan dan kebutuhan pengguna

(88)

Kualitas

(lanjutan)

 Daya Guna

Tingkat kemudahan pengguna untuk belajar serta menggunakan sistem. Karena pengguna bukanlah orang yang mau belajar tentang komputer tetapi hanya menggunakan sistem untuk keperluan tertentu, maka sistem/perangkat lunak yang dikembangkan harus bisa digunakan oleh semua pengguna.

 Efisiensi

Pemanfaatan seminimal mungkin dari sumberdaya yang ada baik penggunaan memori, sumber daya CPU, ruang harddisk termasuk juga spesifikasi hardware yang tidak terlalu tinggi.

(89)

Kualitas

(lanjutan)

 Keandalan

Mencakup kemampuan sistem/perangkat lunak untuk menjalankan semua fungsi yang dibutuhkan dan diharapkan

 Integritas

Tingkat kemampuan sistem/perangkat lunak dalam mencegah akses yang tidak sah atau tidak pada tempatnya ke program atau data didalamnya.

 Kemampuan Adaptasi

Bagaimana sistem/perangkat lunak dapat dipakai dalam aplikasi atau lingkungan yang lain dari lingkungan saat sistem/perangkat lunak itu diciptakan

(90)

Kualitas

(lanjutan)

 Keakuratan

Tingkat kebebasan sistem/perangkat lunak dari kesalahan-kesalahan (bugs), khususnya ditinjau dari keluaran yang dihasilkan.

 Kekuatan

Tingkat kemampuan sistem/perangkat lunak dalam melanjutkan fungsinya bila terdapat masukan yang tidak sah.

(91)

Kualitas

(lanjutan) 2. Karakteristik Dalam

Mencakup karakteristik-karakteristik yang dipikirkan oleh pengembang baik itu analis, perancang atau pemrogram yang meliputi:

 Daya Tahan

Kemudahan mengubah sistem/perangkat lunak untuk mengubah atau menambah kemampuan, memperbaiki unjuk kerja, atau memperbaiki kerusakan. Ini dapat dicapai dengan dokumentasi yang baik saat perencanaan, analisis, perancangan serta implementasi.

(92)

Kualitas

(lanjutan)

 Keluwesan

Seberapa jauh kita dapat menempatkan sistem/ perangkat lunak dalam lingkungan yang berlainan dengan lingkungan saat sistem/perangkat lunak diciptakan.

 Kemudahan di Install

Sejauh mana sistem/perangkat lunak yang dikembangkan mudah diterapkan dilingkungan pengguna.

(93)

Kualitas

(lanjutan)

 Daya Guna Ulang

Kemudahan dalam menggunakan bagian (komponen) sebuah sistem dalam sistem-sistem yang lain. Modularisasi serta karakteristik-karakteristik yang dijanjikan bahasa-bahasa pemrograman berorientasi objek memungkinkan penggunaan ulang bagian dari sistem/perangkat lunak yang diciptakan pada suatu sistem dalam sistem yang lain

 Kemudahan Dipahami

Kemudahan kita sebagai pengembang untuk memahami keseluruhan sistem

(94)

Kualitas

(lanjutan)

 Kemudahan Dibaca

Jika kemudahan dipahami membahas yang bersifat makro, maka kemudahan dibaca lebih bersifat mikro, yaitu kemudahan membaca serta memahami kode sumber sebuah sistem/perangkat lunak, khususnya pada tingkat pernyataan yang dirinci

 Daya Uji

Tingkat dimana kita sebagai pengembang dapat memeriksa setiap unit dan sistem secara keseluruhan atau sesuai dengan spesifikasi yang ditentukan dalam Software Requirement Specification

(95)
(96)

Studi Kasus Penjualan Online

Sebuah toko komputer menawarkan pemesanan komputer lewat internet. Pelanggan dapat memilih komputer lewat halaman web toko tersebut. Komputer yang dijual diklasifikasikan menjadi server, PC dan notebook.

Untuk melakukan pemesanan, pelanggan harus mengisi informasi pengiriman dan pembayaran. Pembayaran yang diperbolehkan adalah menggunakan kartu kredit atau tunai (cash). Setiap kali sebuah pemesanan dimasukkan, sistem akan mengirimkan email konfirmasi kepelanggan dengan rincian pemesanan. Sambil menunggu barang dikirim, pelanggan bisa memantau status pemesanannya secara online setiap waktu.

(97)

Requirement actor dan use case pada belanja online

No Requirement Actor Use case

1 Pelanggan menggunakan halaman web belanja

online untuk melihat konfigurasi standart dari server, PC dan notebook serta harganya

Pelanggan Display

konfigurasi standart

2 Pelanggan bisa melihat detail konfigurasi. Harga

tiap konfigurasi bisa dihitung berdasarkan permintaan pelanggan

Pelanggan Buat

konfigurasi komputer

3 Pelanggan boleh memilih untuk memesan

komputer secara online atau meminta bagian penjualan untuk menghubunginya untuk memberikan penjelasan lebih rinci mengenai detail pemesanan, negosiasi harga dll sebelum melakukan pesanan yang sebenarnya

Pelanggan & Bagian penjualan Memesan komputer yg dikonfigurasi, minta dihubungi bag. penjualan

4 Untuk melakukan pemesanan, pelanggan harus

mengisi form online dengan info pengiriman, alamat tagihan dan detail pembayaran (dengan kartu kredit atau tunai)

Pelanggan Pemesanan, verivikasi dan terima

(98)

Requirement actor dan use case pada belanja online

No Requirement Actor Use case

5 Sesudah pesanan masuk kesistem, bagian

penjualan akan mengirimkan permintaan kepada gudang secara elektronis lengkap dengan rincian konfigurasinya

Bagian penjualan & Gudang Informasikan pesanan ke gudang

6 Rincian transaksi termasuk no order dan kode

pelanggan dikirim via email kepada pelanggan sehingga pelanggan bisa melakukan pengecekan atas status pesanan secara online

Bagian penjualan & Pelanggan Memesan komputer yg dikonfigurasi, update status pesanan

7 Atas dasar tembuasan faktur dari bagian

penjualan, bagian gudang melakukan pengiriman kepada pelanggan

Bagian penjualan &

Gudang

(99)
(100)

Pemodelan Aktivitas

No Use Case Activity State

1 Use case dimulai ketika pelanggan memutuskan untuk

memesan komputer yang dikonfigurasi dengan memilih

fungsi lanjut ketika detail pemesanan ditampilkan dilayar

Display Current Configuration; Get Order Request

2 Sistem meminta kepada pelanggan untuk memasukkan

detail pesanan yang meliputi nama bag. Panjualan (jika tahu), rincian alamat pengiriman, rincian faktur, metode pembayaran dan beberapa komentar

Display Form PO

3 Pelanggan memilih fungsi PO untuk mengirimlan pesanan

ke Toko

Get PO Detail

4 Sistem secara otomatis akan memberikan nomor pesanan

yang unik dan kode pelanggan ke form PO dan menyimpan informasi ini ke database

(101)

Pemodelan Aktivitas

No Use Case Activity State

5 Sistem akan mengirimkan nomor pesanan dan kode

pelanggan via email kepada pelanggan bersama dengan detail pesanan sebagai konfirmasi atas diterimanya

pesanan pelanggan oleh toko

Email Order Detail

6 Jika pelanggan menjalankan fungsi PO sebelum semua

informasi penting diisi, sistem otomatis akan menampilkan pesan kesalahan dan meminta kepada pelanggan untuk melengkapinya

Get PO Detail; Display Form PO

7 Pelanggan bisa memilih Reset untuk mengosongkan Form

PO dan sistem mengijinkan pelanggan untuk memasukkan informasi lagi

(102)
(103)

Pemodelan Class

No Requirement Class Entity

1 Pelanggan menggunakan halaman web untuk melihat

konfigurasi standard dari server, PC dan notebook serta harganya

Pelanggan, Komputer (konfigurasi standard)

2 Pelanggan bisa melihat detail konfigurasi. Harga tiap

konfigurasi bisa dihitung berdasarkan permintaan pelanggan

Pelanggan,

ConfiguredComputer, KonfigurasiItem

3 Pelanggan boleh memilih untuk memesan komputer

secara online atau meminta kepada bagian penjualan untuk menghubunginya untuk memberikan penjelasan lebih rinci mengenai detail pemesanan, negosiasi harga dll, sebelum melakukan pemesanan yang sebenarnya

Pelanggan,

ConfiguredComputer, Order, SalesPeople

4 Untuk melakukan pemesanan, pelanggan harus mengisi

form online dengan info pengiriman, alamat tagihan dan detail pembayaran (kartu kredit / cash)

Pelanggan, Order, Pengiriman, Faktur, Pembayaran

(104)

Pemodelan Class

No Requirement Class Entity

5 Sesudah pesanan masuk ke sistem, bagian penjualan

akan mengirimkan permintaan kepada gudang secara elektronis lengkap dengan rincian konfigurasinya

Pelanggan, Order, SalesPeople,

ConfiguredComputer, KonfigurasiItem

6 Rincian transaksi termasuk nomor order dan kode

pelanggan dikirim via email kepada pelanggan sehingga pelanggan bisa melakukan pengecekan atas status

pesanan secara online

Order, Pelanggan, OrderStatus

7 Atas dasar tembusan faktur dari bagian penjualan,

bagian gudang melakukan pengiriman kepada pelanggan

(105)
(106)

Sequence Diagram

Sequence diagram adalah grafik dua dimensi dimana objek ditunjukkan dalam dimensi horisontal sedangkan lifeline ditunjukkan dalam dimensi vertikal. Urutan message ditunjukkan dari atas ke bawah. Biasanya sequence diagram dibuat untuk setiap use case.

Message dapat ditambahkan pada argumen. Argumen dapat berupa input argumen (dari pengirim ke target) atau output argumen (dari target kembali ke pengirim). Input argumen menggunakan kata kunci “in” dan output argumen menggunakan kata kunci “out”

(107)

Sequence Diagram

(lanjutan)

Gambar pada slide berikut adalah sequence diagram untuk ‘DisplayCurrentConfiguration’. Saat pelanggan memilih menu

Display Current Configuration sebuah message OpenNew dikirim

ke boundary class:ConfigurationWindow. Hasilnya adalah membuat (instantiate) objek:ConfigurationWindow yang baru. Objek:ConfigurationWindow perlu untuk menampilkan dirinya sendiri dengan data-data konfigurasi. Oleh karena itulah sebuah message dikirim ke objek:Komputer. Faktanya:komputer adalah objek dari class StandardComputer atau ConfiguredComputer. Jadi Komputer adalah abstrak class.

(108)

Sequence Diagram

(lanjutan) Objek :Komputer menggunakan output argumen item_rec untuk mengkomposisi dirinya sendiri dari objek:KonfigurasiItem.

Hasilnya adalah konfigurasi item yang dikirimkan ke:ConfigurationWindow sebagai argumen input item dari message DisplayComputer. Objek:ConfigurationWindow sekarang bisa menampilkan dirinya sendiri.

(109)

Sequence Diagram

(lanjutan)

Sequence diagram untuk ‘Display Current Configuration’

Buatlah sequence diagram untuk masing-masing use case lainnya!

(110)

Statechart Diagram

Jika pada pemodelan interaksi menyiapkan detail spesifikasi dari use case, pada statechart akan diberikan detail deskripsi dari class yaitu perubahan state dari class menjadi lebih tepat. Perubahan dinamis inilah yang akan menjadi perilaku dari suatu objek. Biasanya statechart ini memodelkan aturan main suatu proses bisnis.

Contoh:

Dari model use case dapat diketahui bahwa pelanggan menentukan cara pembayaran dengan cash atau kredit, akan tetapi use case tidak menjelaskan kapan pembayaran tersebut akan diterima.

(111)

Statechart Diagram

(lanjutan) Dari class diagram dapat diketahui bahwa faktur atas pesanan dibuat oleh bagian penjualan dan selanjutnya dikirimkan ke bagian gudang dan bagian gudang akan mengirimkan faktur tersebut bersama dengan komputer pesanannya.

Statechart diagram biasanya disambungkan dengan class meski tidak menutup kemungkinan untuk disambungkan dengan use case. Ketika disambungkan ke class, diagram tersebut menentukan bagaimana objek tersebut bereaksi terhadap event. Lebih tepatnya action apa yang akan dilakukan oleh objek ketika menerima sebuah event. Bisa jadi objek yang sama akan melakukan action yang berbeda tergantung pada state objek tersebut.

(112)

Statechart Diagram

(lanjutan)

Statechart diagram untuk class ‘Faktur’

(113)
(114)

Pembahasan

1. Tehnik Pemodelan Object

2. Konsep Object Oriented

3. Tema Object Oriented

(115)

1.Tehnik Pemodelan Object

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

Teknik pemodelan objek menggunakan tiga macam model untuk menggambarkan sistem :

(116)

B. 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 transisi

antara state yang disebabkan oleh event.

(117)

C. Model Fungsional

 Model fungsional menggambarkan 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.

(118)

2.Konsep Obejct Oriented

 Encapsulation merupakan dasar untuk pembatasan ruang lingkup

program terhadap data yang diproses.

 Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu

objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya.

 Data terlindung dari prosedur atau objek lain, kecuali prosedur yang berada dalam objek itu sendiri.

(119)

 Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung. Atribut dan metode dari objek dari objek induk diturunkan kepada anak objek, demikian seterusnya.

 Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di antara kelas yang mempunyai hubungan secara hirarki.

 Suatu kelas dapat ditentukan secara umum, kemudian ditentukan spesifik menjadi subkelas. Setiap subkelas mempunyai hubungan atau mewarisi semua sifat yang dimiliki oleh kelas induknya, dan ditambah dengan sifat unik yang dimilikinya.

 Kelas Objek dapat didefinisikan atribut dan service dari kelas Objek lainnya.

 Inheritance menggambarkan generalisasi sebuah kelas B. INHERITANCE (PEWARISAN)

(120)

 Merupakan konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.

 Contoh : kembar identik Polimorfisme

(121)

3.Tema Object Oriented

Terdapat beberapa tema sebagai dasar teknologi berorientasi objek sebagai penunjang sistem berorientasi objek

1. Abstraksi

 Abstraksi berarti fokus pada aspek yang melekat dari entitas dan

mengabaikan sifat yang sementara.

 Dalam pengembangan sistem, fokus pada apakah suatu objek

dan apa yang dikerjakan oleh objek tersebut, sebelum menentukan implementasinya.

(122)

 Penggunaan abstraksi yang sesuai memungkinkan model yang sama digunakan untuk analisa perancangan tingkat tinggi, struktur program, struktur basis data, dan dokumentasi.

 Menggunakan abstraksi dalam analisa berarti hanya melakukan

konsep domain aplikasi, tidak menentukan desain dan implementasi sebelum masalah dipahami.

(123)

2. Pengkapsulan

 Pengkapsulan (information hiding) terdiri dari pemisahan

aspek eksternal dari suatu objek, di mana dapat diakses oleh objek lain.

 Pengkapsulan melindungi program dari saling keterkaitan

sehingga kesempatan kecil mempunyai akibat

(124)

3. Menggabungkan Data dengan Perilaku

 Pemanggilan dari operasi tidak perlu dipikirkan berapa banyak implementasi yang diberikan oleh operasi yang ada.

 Contoh, code yang bukan berorientasi pada objek menampilkan isi dari window harus membedakan tipe dari setiap bentuk, seperti poligon, lingkaran atau teks dan memanggil prosedur yang tepat untuk menampilkannya. Program berorientasi objek lebih sederhana memohon operasi draw pada setiap bentuk, penentuan di mana prosedur digunakan dibuat implisit oleh setiap objek berdasarkan kelasnya sehingga Tidak perlu mengulang pilihan prosedur setiap saat operasi dilakukan dalam program aplikasi. Pemeliharaan lebih mudah, karena prosedur yang dipanggil tidak perlu dimodifikasi setiap kelas baru ditambahkan. Dalam sistem berorientasi objek hirarki struktur data identik dengan pewarisan hirarki operasi.

(125)

4. Penggunaan Bersama (sharing)

 Teknik berorientasi objek menawarkan penggunaan bersama untuk beberapa tingkat yang berbeda. Pewarisan struktur data dan perilaku memungkinkan penggunaan bersama antara beberapa subkelas yang sama tanpa redundancy. Pemakaian bersama code adalah keuntungan utama dari bahasa berorientasi objek.

 Pengembangan berorientasi objek tidak hanya mengizinkan informasi dipergunakan bersama dalam aplikasi, tatapi memberikan prospek untuk menggunakan desain dan code bersama pada prospek mendatang.

(126)
(127)

Pembahasan

1. Model Object Oriented

(128)

1. Model Object Oriented

Objek dan Kelas Objek

 Objek didefinisikan sebagai konsep, abstraksi atau benda dengan batasan dan arti untuk suatu masalah.

 Semua objek mempunyai identitas yang berbeda dengan lainnya. Istilah identitas berarti bahwa objek dibedakan oleh sifat yang melekat dan bukan dengan uraian sifat yang dimilikinya. Contohnya, kembar identik, walaupun tampak sama, tetapi merupakan dua orang yang berbeda.

 Kadang-kadang objek berarti suatu barang, maka digunakan istilah object instance, dan object class untuk menunjukkan satu grup dari barang yang sama.

(129)

Kelas

 Suatu object class menggambarkan kumpulan dari objek yang

mempunyai sifat (atribut), perilaku umum (operasi), relasi umum dengan objek lain dan semantik umum.

Contoh: Orang, perusahaan, binatang, proses adalah objek. Setiap orang mempunyai umur, IQ, dan mungkin pekerjaan. Setiap proses mempunyai pemilik, prioritas, list dari sumber daya yang dibutuhkan.

 Objek dan object class sering sama sebagai benda dalam deskripsi masalah.

 Suatu kegiatan mengumpulkan data (atribut) dan perilaku

(operasi) yang mempunyai struktur data sama ke dalam satu grup.

 Kelas Objek merupakan wadah bagi Objek. Dapat digunakan

untuk menciptakan Objek.

(130)

Istilah-istilah Objek

 Atribut : Data item yang menegaskan Objek

 Operasi : Fungsi di dalam kelas yang dikombinasikan ke bentuk tingkah laku kelas

 Metode : Pelaksanaan prosedur (badan dari kode yang mengeksekusi respon terhadap permintaan objek lain di dalam sistem).

(131)

Diagram Objek

1. Kelas dan Objek

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

 Nama dari kelas-&-objek harus dapat menjelaskan objek tunggal dari suatu kelas.

(132)
(133)

2. Struktur Objek dan Hirarki Kelas

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

(134)

b. Gen-Spec Structure memperlihatkan kelas sebagai spesialisasi dari kelas di atasnya.

 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

(135)

UML (Unified Modeling Language) adalah metode pemodelan

(tools/model) secara visual sebagai sarana untuk merancang dan atau membuat software berorientasi objek dan memberikan standar

penulisan sebuah sistem untuk pengembangan sebuah software yang dapat menyampaikan beberapa informasi untuk proses implementasi pengembangan software.

UML

a. Sejarah UML

Pada Oktober 1994, Dr. James Rumbaugh bergabung dengan Perusahaan Rational sotware, dimana Grady Booch sudah bekerja disana sebelumnya. Grady Booch mengembangkan Object Oriented Design (OOD) dan Dr. James Rumbaugh mengembangkan Object Modeling Technique (OMT). Duet Mereka pada Oktober 1995 menghasilkan Unified Method versi 0.8.

(136)

 Musim gugur 1995 Dr. Ivar Jacobson ikut pula bergabung dengan duet Rumbaugh-Booch, dengan memperkenalkan tool use case. Trio tersebut pada bulan Juni 1996 menghasilkan Unified Modeling Language (UML) versi 0.9. Sebelumnya Dr. Ivar Jacobson mengembangkan Object Oriented Software Engineering (OOSE) • Trio ini mengembangkan Ratinal Unified Process (RUP)

• Banyak perusahaan software merasakan bagaimana pentingnya UML dalam tujuan strategis mereka, sehingga beberapa perusahaan membentuk sebuah konsorsium yang terdiri dari perusahaan-perusahaan seperti Microsoft, Oracle, IBM, Hewlett-Packard, Intellicorp, I-Logix, DEC, Digital Equipment Corp. texas instrument

(137)

Konsep Dasar UML

Untuk dapat mememahami UML diperlukan pemahaman entang konsep bahasa pemodelan dan tiga eleman utama UML.Tiga elemen utama

UML antara lain:

a. Benda / Things / Objek

Objek merupakan bagian paling statik dari sebuah model, yang menjelaskan elemen–elemen lainnya dari sebuah konsep. Bentuk dari beberapa objek :

1. Classes, sekelompok dari object yang mempunyai atribute, operasi, dan hubungan yang semantik

2. Interfaces, antar-muka yang menghubungkan dan melayani antarkelas dan atau elemen dan mendefinisikan sebuah kelompok dari spesifikasi pengoperasian.

(138)

3. Collaboration, interaksi dari sebuah kumpulan kelas–kelas atau elemen–elemen yang bekerja secara bersama–sama.

4. Use cases, pembentuk tingkah laku objek dalam sebuah model serta di realisasikan oleh sebuah collaboration.

5. Nodes, bentuk fisik dari elemen–elemen yang ada pada saat dijalankannya sebuah system

b. Hubungan / Relationship

Ada 4 macam hubungan dalam penggunaan UML, yaitu :

1. Dependency, hubungan semantik antara dua objek yang mana sebuah objek berubah mengakibatkan objek satunya akan berubah pula.

(139)

2. Association, hubungan antar benda secara struktural yang terhubung diantara objek dalam kesatuan objek.

3. Generalizations, hubungan khusus dalam objek anak yang menggantikan objek induk dan memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada objek induk

4. Realizations, hubungan semantik antarpengelompokkan yang menjamin adanya ikatan diantaranya yang diwujudkan diantara interface dan kelas atau elements, serta antara use cases dan collaborations.

(140)

c. Bagan atau Diagrams

Diagram adalah yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model. UML mempunyai 9 diagram, yaitu:

1) Diagram Use Case, menggambarkan apa saja aktifitas yang dilakukan oleh suatu sistem dari sudut pandang pengamatan luar. Diagram Use Case berguna dalam tiga hal :

a. Menjelaskan fasilitas yang ada (requirements) b. Komunikas dengan klien

(141)

Contoh Use Case Diagram

Staff HRD

Entry Data Pegawai

Entry Data Jabatan

Staff PayRoll Entry Data Lokasi Kerja

Gambar

Diagram  Kegunaan  Turunan
Diagram  Kegunaan  Turunan  Component  Struktur dan koneksi
Diagram  Kegunaan  Turunan  Composite
Diagram  Class Diagram

Referensi

Dokumen terkait

Bagian akuntansi menerima rekap gaji dan daftar gaji pekerja dari Sumber Daya Manusia (SDM) dan dicocokkan dengan data yang diserahkan dari bagian keuangan

2 Tugas : Menerima dan mengolah data pengembangan pegawai yang dilengkapi hasil laporan responden sesuai dengan prosedur dan ketentuan yang berlaku sebagai

Balai Besar Teknologi Energi ini sangat membantu proses kerja perusahaan dalam mengolah kegiatan-kegiatan administrasi kepegwaian seperti pengolahan data pegawai,

Menyelenggarakan administrasi data kepegawaian berdasarkan ketetapan dan keputusan pimpinan guna kelancaran urusan kepegawaian dinas; 1) Menerima data personil dari

Prosedur Pelaksanaan Pendidikan dan Pelatihan Profesi Mulai Pegawai yang di promosikan naik level Menerima dan Menyerahkan ke Bag SDM Menerima Rekap Data Evaluasi

Tiga hari setelah batas waktu maksimal pengajuan susulan, admin umum mahasiswa PSPK menerima konfirmasi dari Sekprodi untuk mengunduh atau mencetak rekap data

Sistem ini hanya menyajikan biodata sekolah, biodata pegawai, data siswa baru, transaksi – transaksi pembayaran yang dilakukan siswa baru ke administrasi, serta

Tiga hari setelah batas waktu maksimal pengajuan susulan, admin umum mahasiswa PSPK menerima konfirmasi dari Sekprodi untuk mengunduh atau mencetak rekap data mahasiswa yang