Psbo - Bsi Modul
Psbo - Bsi Modul
CAPAIAN PEMBELAJARAN : Mahasiswa mengenal dan memahami serta dapat membuat beberapa diagram UML
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.
Pembahasan
1. 2. 3. 4. 5. Sejarah Object Oriented Konsep Pemodelan Metodologi Object Oriented Karakteristik Object Perbedaan Metode Object Oriented dan Non Object
objek berarti bahwa kita mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya.
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
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.
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.
Tahap-tahap metodologi berdasarkan Sistem Development Life Cycle (SDLC), dengan berorientasi objek dapat dijelaskan sebagai berikut :
Analisa
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.
Desain
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.
Implementasi 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.
Karakteristik Metodologi Berorientasi Objek Metodologi berorientasi objek mempunyai karakteristik sebagai berikut:
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.
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.
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. Memungkin dapat mempunyai lebih dari satu metode.
4. Karakteristik Object
Objek adalah kombinasi antara struktur data dan perilaku dalam satu entitas dan mempunyai nilai tertentu yang membedakan entitas tersebut. 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.
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.
[Link] 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.
[Link] 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.
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.
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)
Arti
0..n
1 1..*
1..n
* N n..* n..m
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 *
Asosiasi Bidireksional
Asosiasi bidireksional adalah sepasang properti yang saling berhubungan satu sama lain.
pemilik
Orang
0..1
Mobil *
Sifat bidireksional ditunjukkan secara jelas dengan adanya panah navigasi pada kedua ujung asosiasi.
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)
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.
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. Ketergantungan di gambarkan dengan garis putus-putus.
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 <<call>> <<create>> Arti Sumber memanggil sebuah operasi pada target Sumber membuat perintah pada target
Ketergantungan (lanjutan)
Kata Kunci Arti
<<derive>>
<<instantiate>> <<permit>>
<<realize>>
<<refine>>
Sumber merupakan implementasi sebuah spesifikasi atau antarmuka yang ditentukan oleh target
Perbaikan menunjukkan sebuah hubungan antara tingkat semantik yang berbeda, contohnya, sumber merupakan sebuah class desain dan targetnya adalah class analisis yang terkait Sumber merupakan pengganti dari target
<<substitute>>
<<trace>>
Digunakan untuk mencari sesuatu seperti persyaratan class atau bagaimana perubahan dalam sebuah model berhubungan dengan perubahan di lain tempat
Sumber membutuhkan target untuk implementasinya
<<use>>
Sequence Diagram
Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah skenario.
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.
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.
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.
Message (lanjutan)
Namun jika message asynchronous yang dikirimkan, maka jawaban atas message tersebut tidak perlu ditunggu. Simbol message pada sequence diagram adalah:
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.
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.
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 alt opt Keterangan Alternatif dari banyak fragmen. Hanya yang kondisinya true yang akan dijalankan Optional; fragmen akan dijalankan jika kondisi yang mendukungnya true
region
neg ref
Critical region; fragmen hanya dapat mempunyai satu thread untuk menjalankannya
Negatif; fragmen menunjukkan interaction yang salah Reference; menunjukkan ke sebuah interaction yang didefinisikan pada diagram yang lain
sd
Sequence diagram
operator
guard
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.
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
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
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.
Simbol (lanjutan)
UML juga memberi pilihan untuk menambahkan detil ke dalam simbol tersebut dengan membagi tiga area yaitu nama state, variabel dan aktivitas. NState Name Variabel Name Activity
State variabel seperti timer dan counter yang kadangkala sangat membantu.
Simbol (lanjutan)
Activity terdiri atas events dan action, tiga hal yang sering digunakan dalam activity adalah: [Link] Apa yang terjadi ketika sistem masuk ke state [Link] Apa yang terjadi ketika sistem meninggalkan state [Link] Apa yang terjadi ketika sistem ada di state
Play Stop
Closed
Playing
Stop
Load
Open
Play
Closed
Playing
Stop
Load
Open
Play Off
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
Closed
Stop Play[ CD present] Load
Playing
Open
Play
Stop
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.
Action (lanjutan)
Stop
Play[no CD]
Closed
Stop
Playing
Load/ close drawer Play[ CD present] Load/ open drawer Play[ CD present] / close drawer Open Load / Open drawer
Play
Stop
Playing
Entry/find start of track Entry/lower head Entry/raise head
Play
Open
Load/open drawer Stop
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.
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
Play
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.
Playing
[no last track] / increment track count
Closed
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
Play
Composite State
Composite state mempunyai properties sebagai berikut: [Link] composite state active, salah satu dari sub state harus aktif. [Link] 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.
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
play
Paused
[no last track]/increment track
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: [Link] saat penentuan spesifikasi sistem/perangkat lunak 2. Kesalahan saat melakukan analisis permasalahan 3. Kesalahan saat perancangan 4. Kesalahan saat implementasi
Strategi Pengujian
[Ali Bahrawi, 1999]
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 diagram.
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 2. Memeriksa sebagian fungsi dari objek yang ditentukan
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
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: 123456 12123456 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 software, sistem ini telah memenuhi syarat.
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.
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 kelaskelas serta interaksi antar kelas dan selanjutnya hingga pada peringkat yang paling tinggi.
Kualitas
American Heritage Dictionary (dikutip dari buku Software Engineering : A Practitioners 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.
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: [Link] 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
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.
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
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.
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.
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.
Kualitas (lanjutan)
Daya Guna Ulang Kemudahan dalam menggunakan bagian (komponen) sebuah sistem dalam sistem-sistem yang lain. Modularisasi serta karakteristikkarakteristik 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
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
Pelanggan
Pelanggan
Rincian transaksi termasuk no order dan kode Bagian pelanggan dikirim via email kepada pelanggan penjualan & sehingga pelanggan bisa melakukan pengecekan Pelanggan atas status pesanan secara online Atas dasar tembuasan faktur dari bagian penjualan, bagian gudang melakukan pengiriman kepada pelanggan
Use Case
Pemodelan Aktivitas
No Use Case Activity State
Use case dimulai ketika pelanggan memutuskan untuk memesan komputer yang dikonfigurasi dengan memilih fungsi lanjut ketika detail pemesanan ditampilkan dilayar
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 Pelanggan memilih fungsi PO untuk mengirimlan pesanan ke Toko Sistem secara otomatis akan memberikan nomor pesanan yang unik dan kode pelanggan ke form PO dan menyimpan informasi ini ke database
3 4
Pemodelan Aktivitas
No 5 Use Case Sistem akan mengirimkan nomor pesanan dan kode pelanggan via email kepada pelanggan bersama dengan detail pesanan sebagai konfirmasi atas diterimanya pesanan pelanggan oleh toko Jika pelanggan menjalankan fungsi PO sebelum semua informasi penting diisi, sistem otomatis akan menampilkan pesan kesalahan dan meminta kepada pelanggan untuk melengkapinya Pelanggan bisa memilih Reset untuk mengosongkan Form PO dan sistem mengijinkan pelanggan untuk memasukkan informasi lagi Activity State Email Order Detail
Display Form PO
Activity Diagram
Pemodelan Class
No 1 Requirement Pelanggan menggunakan halaman web untuk melihat konfigurasi standard dari server, PC dan notebook serta harganya Pelanggan bisa melihat detail konfigurasi. Harga tiap konfigurasi bisa dihitung berdasarkan permintaan pelanggan 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 Untuk melakukan pemesanan, pelanggan harus mengisi form online dengan info pengiriman, alamat tagihan dan detail pembayaran (kartu kredit / cash) Class Entity Pelanggan, Komputer (konfigurasi standard) Pelanggan, ConfiguredComputer, KonfigurasiItem Pelanggan, ConfiguredComputer, Order, SalesPeople
Pemodelan Class
No 5 Requirement Sesudah pesanan masuk ke sistem, bagian penjualan akan mengirimkan permintaan kepada gudang secara elektronis lengkap dengan rincian konfigurasinya Rincian transaksi termasuk nomor order dan kode pelanggan dikirim via email kepada pelanggan sehingga pelanggan bisa melakukan pengecekan atas status pesanan secara online Atas dasar tembusan faktur dari bagian penjualan, bagian gudang melakukan pengiriman kepada pelanggan Class Entity Pelanggan, Order, SalesPeople, ConfiguredComputer, KonfigurasiItem Order, Pelanggan, OrderStatus
Faktur, Pengiriman
Class Diagram
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
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.
Pembahasan
1. Tehnik Pemodelan Object 2. Konsep Object Oriented 3. Tema Object Oriented
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.
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.
B. INHERITANCE (PEWARISAN) 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
Polimorfisme
Merupakan konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda. Contoh : kembar identik
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.
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.
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 penyimpangan.
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.
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 mengizinkan informasi dipergunakan bersama aplikasi, tatapi memberikan prospek menggunakan desain dan code bersama prospek mendatang. hanya dalam untuk pada
Pembahasan
1. Model Object Oriented 2. Pedoman Pemodelan Object Oriented
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. Objek mewakili fakta/keterangan dari sebuah kelas.
Istilah-istilah Objek Atribut Operasi Metode : Data item yang menegaskan Objek : Fungsi di dalam kelas yang dikombinasikan ke bentuk tingkah laku kelas : Pelaksanaan prosedur (badan dari kode yang mengeksekusi respon terhadap permintaan objek lain di dalam sistem).
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.
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
UML 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.
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.
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, HewlettPackard, Intellicorp, I-Logix, DEC, Digital Equipment Corp. texas instrument
Konsep Dasar UML Untuk dapat mememahami UML diperlukan pemahaman entang konsep bahasa pemodelan dan tiga eleman utama [Link] elemen utama UML antara lain: a. Benda / Things / Objek Objek merupakan bagian paling statik dari sebuah model, yang menjelaskan elemenelemen 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.
3. Collaboration, interaksi dari sebuah kumpulan kelaskelas atau elemenelemen yang bekerja secara bersamasama. 4. Use cases, pembentuk tingkah laku objek dalam sebuah model serta di realisasikan oleh sebuah collaboration. 5. Nodes, bentuk fisik dari elemenelemen 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.
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.
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 c. Membuat test dari kasus kasus secara umum
2) Diagram Class, memberikan pandangan secara luas dari suatu sistem dengan menunjukan kelaskelasnya dan hubungan mereka. Diagram Class mempunyai 3 macam relationalships (hubungan), sebagai berikut : a. Association, suatu hubungan antara bagian dari dua kelas yang terjadi jika salah satu bagian dari kelas mengetahui kelas yang lain dalam melakukan suatu kegiatan.. b. Aggregation, hubungan association dimana salah satu kelasnya merupakan bagian dari suatu kumpulan dan memiliki titik pusat yang mencakup keseluruhan bagian. c. Generalization, hubungan turunan dengan mengasumsikan satu kelas merupakan suatu kelas super dari kelas yang lain.
3) Diagram Package dan Object, merupakan kumpulan elemenelemen logika UML yang bertujuan untuk mengelompokkan Diagram class yang lebih kompleks.
4) Diagram Sequence, merupakan salah satu diagram Interaction yang menjelaskan bagaimana suatu operasi itu dilakukan yang diatur berdasarkan waktu.
5) Diagram Collaboration juga merupakan diagram Interaction berfungsi membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu informasi itu dikirimkan dan bukan pada waktu penyampaian message.
Tujuan: Membuat collaboration diagram, Membuat link (relasi) antar obyek, Menambah message (pesan) pada link, Memetakan message pada operasi, Buat collaboration diagram dari sequence diagram dan sebaliknya
6) Statechart 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).
Diagram StateChart merupakan indikator yang menunjukan kemungkinan dari keadaan obyek dan proses yang menyebabkan perubahan pada keadaannya.
Stop Off Stop Play Closed Load Stop Load Playing Stop Play Off
Load
Open
7) Diagram Activity, menunjukkan bagaimana aktifitas aktifitas tersebut bergantung satu sama lain dan berfokus pada aktifitas aktifitas yang terjadi yang terkait dalam suatu proses tunggal. menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir
PEGAWAI
STAFF PAYROL
Start
Menyerahkan Absensi yang sudah ditandatangani Menerima Absensi dan Rekap Lembur yang sidah ditandatangani Menyerahkan Rekap Lembur yang sudah ditandatangani End
8) Diagram Component adalah sebuah kodekode modul yang merupakan fisik sebenarnya dari diagram Class. Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya.
9) Diagram Deployment menerangkan bahwa konfigurasi fisik software dan hardware. Deployment/physical diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal
Pembahasan
1. Pemodelan UML 2. Artifact UML 3. Mekanisme Umum pada UML
1. Pemodelan UML
Pada UML 1.0 ada 9 jenis model diagram, yang kemudian UML berkembang menjdi UML 2.0 menjadi 13 jenis model diagram, yaitu :
Diagram Kegunaan Turunan
Activity
Use case Class Communication
UML 1.0
Bagaimana pengguna UML 1.0 berinteraksi dengan sistem Class, fitur, dan hubungan- UML 1.0 hubungan Interaksi antar objek, penekanan pada jalur Diagram kolaborasi UML 1.0
Diagram
Kegunaan
Turunan
Component
Deployment
UML 1.0
UML 1.0
Object
Package Sequence
UML 1.0
UML 1.0 UML 1.0 UML 1.0
Diagram
Kegunaan
Turunan
Composite struktur
Interaction overview Timing
Class Diagram Component Diagram Structure Diagram Composite Structure Diagram Deployment Diagram Object Diagram Package Diagram Diagram
Activity Diagram
Interaction Diagram Behavior Diagram State Machine Diagram Timing Diagram Use Case Diagram Interaction overview Diagram
2. Artifact UML
Use-Case Diagram
Use Case 1 Actor A Use Case 2
close file
Class Diagram
Actor B
State Diagram
add file [ numberOffile= =MAX ] / flag OFF Openning
add file
Writing
Closing
Domain Expert
Use Case 3
UI
Class
Repository DocumentList
Deployment Diagram
- 95 : - NT: - - : - -, - - I BM : -, - Windows95 Windows95
DocumentApp
W indow95
9: sortByName ( )
global
mainWnd : MainWnd
1: Doc view request ( )
L
FileManager
- .EXE -
W indows NT
gFile : GrpFile
Package Diagram
Document
- . EXE
Solaris
I BM Mainf rame
7: readFile ( ) 5: readDoc ( )
Collaboration Diagram
mainWnd user fileMgr : FileMgr document : Document gFile repository
- . 1: Doc v iew reques t ( ) 2: fetc hD oc( ) 3: create ( )
Component Diagram
4: create ( )
- - .
6: fillD oc ument ( )
8: fillFile ( )
- - .
9: sortBy N ame ( )
extensibility mechanisms : untuk mengembangkan model yang ada: - Stereotypes : unsur pembangun baru - tagged values : menambah properti dari unsur pembangun baru - constraints :batasan-batasan antarentitas dalam model
Pembahasan
1. Activity Diagram 2. Studi Kasus
1. Activity Diagram
Teknik untuk menjelaskan business process, procedural logic, dan work flow Bisa dipakai untuk menjelaskan use case text dalam notasi grafis Menggunakan notasi yang mirip flow chart, meskipun terdapat sedikit perbedaan notasi
Menggambarkan proses bisnis dan urutan aktivitas dalam sebuah proses Dipakai pada business modeling untuk memperlihatkan urutan aktifitas proses bisnis Struktur diagram ini mirip flowchart atau Data Flow Diagram pada perancangan terstruktur Sangat bermanfaat apabila kita membuat diagram ini terlebih dahulu dalam memodelkan sebuah proses untuk membantu memahami proses secara keseluruhan Activity diagram dibuat berdasarkan sebuah atau beberapa use case pada use case diagram
Fork (Percabangan)
Join (Penggabungan)
Decision
Swimlane
Sebuah cara untuk mengelompokkan activity berdasarkan Actor (mengelompokkan activity dalam sebuah urutan yang sama)
Buat SPP
Buat SPBJ
Tandatangani SPBJ
Terima SPBJ
Melakukan pembayaran
Konfirmasi pembayaran
Terima pembayaran
Terima Kwitansi
Buat kwitansi
Proses pembuatan Daftar Data Pegawai dan Gaji pada SMP PGRI 1 Depok adalah sebagai berkut : 1. Proses Absensi Pegawai melakukan absensi harian melalui form daftar hadir pegawai. Berdasarkan form daftar hadir pegawai tersebut bagian Tata Usaha (TU) akan membuat Rekap Absen (RA) harian untuk diserahkan kepada Administrasi. 2. Proses Pemberian Rekap Biodata Pegawai (RBP) Pegawai memberikan data pribadi pegawai, data pendidikan, data keluarga yang dijadikan satu menjadi data pegawai kepada bagian Tata Usaha yang kemudian diarsipkan menjadi Rekap Biodata Pegawai (RBP). Lalu Rekap Biodata Pegawai (RBP) diserahkan kepada bagian administrasi untuk proses pengolahan Daftar Data Pegawai Dan Gaji (DDPG).
3.
Proses Pengolahan Daftar Data Pegawai dan Gaji (DDPG) Setelah bagian administrasi menerima Rekap Biodata Pegawai (RBP) dan Rekap Absen (RA) akan mengolah kedua data tersebut untuk dibuatkan menjadi Daftar Data Pegawai dan Gaji (DDPG) yang kemudian diserahkan kepada Kepala Sekolah untuk ditanda tangani atau di Acc. Proses Pembuatan Laporan Daftar Data Pegawai dan Gaji (DDPG) yang sudah diterima dan ditanda tangani oleh Kepala Sekolah akan diserahkan kembali kepada bagian Administrasi untuk dibuatkan Laporan Data Pegawai (LDP) dan Laporan Gaji Pegawai (LGP). Setelah bagian administrasi menerima Daftar Data Pegawai dan Gaji yang sudah di Acc akan membuatkan Laporan Data Pegawai (LDP) dan Laporan Gaji Pegawai (LGP) yang nantinya akan diserakan kepada Kepala [Link] itu bagian Administrasi akan membuatkan slip gaji untuk diserahkan kepada pegawai.
4.
Pegawai
TU
Proses Absensi
Absen
Tidak Absen
Pegawai melapor ke TU
Ya Absen
Data Lengkap
Memberikan data Rekap Absen Menerima rekap absen & data pegawai Memberikan data Pegawai
Proses bisnis pelayanan pelanggan perubahan daya pada PT PLN adalah sebagai berikut : Pendaftaran perubahan daya Konsumen datang kekantor PT PLN(Persero) dengan membawa fotocopy KTP dan kwitansi pembayaran rekening bulan terakhir kemudian diserahkan dibagian pelayanan pelanggan. Pegawai pelayanan pelanggan akan menginput berdasarkan data dari konsumen , setelah diinput maka akan dicetak formulir pendaftaran perubahan daya untuk kemudian ditandatangani oleh pelanggan. Satu rangkap untuk pelanggan sebagai tanda bukti. Lainnya disimpan oleh bagian pelayanan pelanggan untuk diteruskan ke supervisor untuk proses persetujuan
Persetujuan perubahan daya Rangkap formulir pendaftaran yang disimpan oleh bagian pelayanan pelanggan kemudian dibuatkan surat jawaban persetujuan yang kemudian ditandatangani oleh supervisor pelayanan pelanggan dicetak menjadi dua rangkap, rangkap pertama diberikan kepada pelanggan , sedangkan rangkap yang kedua disimpan oleh bagian pelayanan pelangan sebagai arsip.
pe la ya na n pelangga n s pv pelaya nan pe la ngga n
Perjanjian jual beli tenaga listrik Setelah pelanggan menerima surat jawaban persetujuan dari PT. PLN (Persero) maka sipelanggan akan datang ke kantor PT PLN untuk menandatangani surat perjanjian jual beli tenaga listrik sesuai dengan daya listrik yang baru yang akan dipasang. Surat perjanjian jual beli tenaga listrik tersebut juga ditandatangani oleh manager.
pe la ngga n s pv pel aya nan ma nage r
Pembayaran Setelah menandatangani surat perjanjian jual beli tenaga listrik maka sipelanggan tinggal membayar sejumlah yang tertera pada surat perjanjian jual beli tenaga listrik ke loket pembayaran perubahan daya, pelanggan akan mendapatkan kwitansi pembayaran sebagai bukti bahwa si pelanggan telah melaksanakan kewajibannya.
pe la ngga n lok e t PT PLN
melakukan pembayaran
menerima pembayaran
Perintah kerja Saaat si pelanggan membayar kewajibannya maka perintah kerja terbit dan siap untuk di cetak, untuk diberikan kepada pelaksana sebagai perintah kerja untuk pelanksanaan penggantian MCB pelanggan.
ba gi an pe nya mbunga n pe la ks a na pe la ngga n
2. Studi Kasus
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.
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
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 diagram aktivity dari sistem diatas
Pembahasan
1. Deskripsi USE CASE 2. USE CASE Diagram 3. Studi Kasus
Use case menggambarkan kebutuhan sistem dari sudut pandang di luar sistem.
Use case menentukan nilai yang diberikan sistem kepada pemakainya. Use cases hanya menetapkan apa yang seharusnya dikerjakan oleh sistem, yaitu kebutuhan fungsional sistem.
Use case tidak untuk menentukan kebutuhan nonfungsional, misalnya: sasaran kinerja, bahasa pemrograman, dsb.
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 class memiliki objek use case yang disebut skenario. Skenario menyatakan urutan pesan dan tindakan tunggal. Simbol use case :
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.
Tidak boleh ada komunikasi langsung antar actor Indikasi <<system>> untuk sebuah actor yang merupakan sebuah system Adanya actor bernama Time yang mengindikasikan scheduled events (suatu kejadian yang terjadi secara periodik/bulanan) Letakkan actor utama anda pada pojok kiri atas dari diagram
Actor berinteraksi dengan sistem. Actor memanfaatkan fungsi yang disediakan termasuk fungsi aplikasi dan pemeliharaan. Actors bisa saja menyediakan fungsi ke sistem. Actors bisa menerima informasi yang disediakan sistem. Actors bisa menyediakan informasi ke sistem. Simbol actor : 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 2. Association antara use case 3. Generalization/Inheritance antara use case 4. Generalization/Inheritance antara actors
Ujung panah pada association antara actor dan use case mengindikasikan siapa/apa yang meminta interaksi dan bukannya mengindikasikan aliran data Sebaiknya gunakan Garis tanpa panah untuk association antara actor dan use case
association antara actor dan use case yang menggunakan panah terbuka untuk mengindikasikan bila actor berinteraksi secara pasif dengan system anda
2. Association antara use case <<include>> termasuk didalam use case lain (required) / (diharuskan) Pemanggilan use case oleh use case lain, contohnya adalah pemanggilan sebuah fungsi program Tanda panah terbuka harus terarah ke sub use case Gambarkan association include secara horizontal
<<include>>
Buka Rekening
<<include>>
Nasabah
Maintain curriculum
Association antara use case (Lanjut) <<extend>> perluasan dari use case lain jika kondisi atau syarat terpenuhi Kurangi penggunaan association Extend ini, terlalu banyak pemakaian association ini membuat diagram sulit dipahami. Tanda panah terbuka harus terarah ke parent/base use case Gambarkan association extend secara vertical
Buka Rekening <<extend>> Nasabah Buka Deposito
3. Generalization/inheritance antara use case Generalization/inheritance digambarkan dengan sebuah garis berpanah tertutup pada salah satu ujungnya yang menunjukkan lebih umum Gambarkan generalization/inheritance antara use case secara vertical dengan inheriting use case dibawah base/parent use case Generalization/inheritance dipakai ketika ada sebuah keadaan yang lain sendiri/perlakuan khusus (single condition)
Buka Rekening
Nasabah
Buka Deposito
4. Generalization/inheritance antara actor Gambarkan generalization/inheritance antara actors secara vertical dengan inheriting actor dibawah base/parent use case
d. System boundary boxes (optional) Untuk memperlihatkan batasan sistem dalam diagram use case, Anda dapat menggambarkan sebuah kotak yang melingkupi semua use case, namun actor tetap berada di luar kotak Biasanya digunakan apabila memberikan beberapa alternative system yang dapat dijadikan pilihan. System boundary boxes dalam penggunaannya optional
3. Studi Kasus
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 pembayaran dimuka diserahkan kepada petugas kemudian petugas membuatkan kwitansi pembayaran sebagai bukti pembayaran.
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
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
Pembahasan
Entity Relationship Diagram adalah pemodelan data utama dan akan membantu mengorganisasikan data dalam suatu proyek ke dalam entitas-entitas dan menentukan hubungan antar entitas. Komponen ERD Entitas (Entity) Relasi (Relationship) Atribut (Attribute) Kardinalitas (Kardinality) Modalitas (Modality)
Entitas (Entity)
Entitas adalah suatu yang nyata atau abstrak dimana kita akan menyimpan data. Contoh entitas pegawai, entitas kampus, entitas buku dsb.
simbol
Relasi (Relationship)
Relasi adalah hubungan alamiah yang terjadi antara satu atau lebih entitas, misal proses pembayaran pegawai. Kardinalitas menentukan kejadian suatu entitas untuk satu kejadian pada entitas yang berhubungan. Misal, mahasiswa bisa mengambil banyak mata kuliah Berupa kata kerja
simbol
Atribut (Attribute)
Atribut adalah ciri umum semua atau sebagian besar instansi pada entitas tertentu. Sebutan lain atribut adalah properti, elemen data dan field. Contoh : Atribut Pelanggan terdiri dari No KTP/SIM, Nama, Alamat simbol
Kardinalitas Relasi
Angka yang menunjukkan banyaknya kemunculan suatu obyek terkait dengan kemunculan obyek lain pada suatu relasi. Kombinasi yang mungkin : (1:1, 1:N, M:N) Contoh :
1 Departemen
memiliki
N Pegawai
1 Departemen mungkin mempekerjakan 1 atau lebih pegawai 1 Pegawai hanya bekerja pada sebuah departemen
Kardinalitas Relasi
Modalitas Relasi
Adalah Partisipasi sebuah entitas pada suatu relasi. 0 jika partisipasi bersifat optional/parsial 1 jika partisipasi bersifat wajib/total Contoh : Partisipasi total Setiap anak memiliki ibu Partisipasi parsial Tidak setiap perempuan memiliki anak
Contoh
1 Departemen
memiliki
N Pegawai
Setiap departemen setidaknya harus memiliki seorang pegawai. Seorang pegawai yang tidak harus termasuk dalam sebuah Departemen menunjukkan modalitas parsial dengan simbol
Departemen
0..1
1..*
memiliki
Pegawai
Metodologi ERD
Metode 1. Menentukan entitas Keterangan Menentukan peran, kejadian, lokasi, hal nyata dan konsep dimana penggunaan untuk menyimpan data Menentukan hubungan antar pasangan entitas menggunakan matriks relasi
2. Menentukan relasi
3. Gambar ERD sementara Entitas digambarkan dengan kotak, dan relasi digambarkan dengan garis
4. Isi kardinalitas Menentukan jumlah kejadian satu entitas untuk sebuah kejadian pada entitas yang berhubungan
Keterangan Menentukan atribut yang mengidentifikasikan satu dan hanya satu kejadian masing-masing entitas Menghilangkan relasi many to many dan memasukkan primary dan kunci tamu pada masing-masing entitas Menentukan field-field yang diperlukan system Memasangkan atribut dengan entitas yang sesuai
Keterangan Mengatur ERD dari langkah 6 dengan menambahkan entitas atau relasi yang ditemukan pada langkah 8 Apakah ERD sudah menggambarkan system yang akan dibangun?
Contoh Kasus: Sebuah perusahaan mempunyai beberapa bagian. Masingmasing bagian mempunyai pengawas dan setidaknya satu pegawai. Pegawai ditugaskan paling tidak di satu bagian (dapat pula dibeberapa bagian). Paling tidak satu pegawai mendapat tugas di satu proyek. Tetapi seorang pegawai dapat libur dan tidak dapat tugas di proyek. 1. Menentukan entitas Entitasnya : pengawas, bagian, pegawai, proyek
Pegawai
Ditugaskan ke
Pengawas
Dijalankan oleh
Proyek
Bekerja pada
3. Gambar ERD sementara Hubungkan entitas sesuai dengan matrik relasi yang dibuat
Bagian
Dijalankan oleh
Pengawas
Ditugaskan ke
Pegawai
Bekerja pada
Proyek
4. Mengisi kardinal itas Dari gambaran permasalahan dapat diketahui bahwa: masing-masing bagian hanya punya satu pengawas seorang pengawas bertugas di satu bagian masing-masing bagian ada minimal satu pegawai masing-masing pegawai bekerja paling tidak di satu bagian masing-masing proyek dikerjakan paling tidak oleh satu pegawai seorang pegawai bisa mendapatkan libur
5. Menentukan kunci utama Kunci utamanya: Nomor Pengawas, Nama Bagian, Nomor Pegawai, Nomor Proyek
Bagian
Dijalankan oleh
Pengawas
Nama Bagian
Ditugaskan ke
Nomor pengawas
Pegawai
Bekerja pada
Proyek
Nomor Pegawai
Nomor Proyek
6. Menggambar ERD berdasarkan kunci Ada dua relasi many to many pada ERD sementara, yaitu antara bagian dengan pegawai, pegawai dengan proyek, oleh sebab itu kita buat entitas baru yaitu bagian -pegawai dan pegawai -proyek Kunci utama dari entitas baru adalah kunci utama dari entitas lain yang akan menjadi kunci tamu di entitas yang baru.
7. Menentukan atribut
Atribut yang diperlukan adalah: nama bagian, nama proyek, nama pegawai, nama pengawas, nomor proyek, nomor pegawai, nomor pengawas
8. Memetakan atribut
Atribut
Nama bagian Nama proyek Nama pegawai Nama pengawas Nama proyek Nama pegawai Nama pengawas
Entitas
Bagian Proyek Pegawai Pengawas Proyek Pegawai pengawas
10. Memeriksa Hasil ERD akhir untuk pemodelan data pada sistem.
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.
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
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