The Protector



Pengertian UML

UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem.

Diagram UML

Contoh UML - mcmtr


UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:

1. Use Case Diagram untuk memodelkan proses bisnis.
2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.
3. Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects.
4. Collaboration Diagram untuk memodelkan interaksi antar objects.
5. State Diagram untuk memodelkan perilaku objects di dalam sistem.
6. Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalam system.
7. Class Diagram untuk memodelkan struktur kelas.
8. Object Diagram untuk memodelkan struktur object.
9. Component Diagram untuk memodelkan komponen object.
10. Deployment Diagram untuk memodelkan distribusi aplikasi.

Gambar: 1


Read More …

Berikut ini adalah komponen-Komponen dalam UML (unified Modeling Language)


1. Use Case Diagram



Use case adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah system dipakai.








Diagram Use Case berguna dalam tiga hal :



Menjelaskan fasilitas yang ada (requirement)
Komunikasi dengan klien
Membuat test dari kasus-kasus secara umum\



Kelebihan:




Interaksi antara pengguna dan system lain dengan system yang akan di buat cukup tergambar dengan baik.
Penggambaran dengan sederhana membuat identifikasi kebutuhan dengan use case dapat dengan lebih mudah untuk dipahami.
Pendekatan identifikasi kebutuhan dapat berdasarkan top down (keinginan dari manajemen level atas) maupun bottom up (keinginan pengguna akhir).
Dapat meng-include (memasukkan) fungsionalitas use case lain sebagai bagian dari proses dalam dirinya.
dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.
Dapat meng-extend (memperpanjang) use case lain dengan behaviour-nya sendiri.
Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.

Kelemahan:

Kekurangan mengenai data masih kurang teridentifikasi dengan baik.

2. Activity Diagram
Activity diagram menyediakan analis dengan kemampuan untuk memodelkan proses dalam suatu sistem informasi. Activity diagram dapat digunakan untuk alur kerja model, use case individual, atau logika keputusan yang terkandung dalam metode individual3. Activity diagram juga menyediakan pendekatan untuk proses pemodelan paralel. Activity diagram lebih lanjut .





Pada dasarnya, diagram aktifitas canggih dan merupakan diagram aliran data yang terbaru. Secara teknis, diagram aktivitas menggabungkan ide-ide proses pemodelan dengan teknik yang berbeda termasuk model acara, statecharts, dan Petri Nets.


Notasi yang digunakan dalam activity diagram adalah sebagai barikut:
Activity: Notasi yang menggambarkan pelaksanaan dari beberapa proses dalam aliran pekerjaan.
Transition: Notasi yang digunakan untuk memperlihatkan jalan aliran control dari activity ke activity.
Decision: Notasi yang menandakan kontro cabang aliran berdasarkan decision point.
Synchronization bars: Aliran kerja notasi ini menandakan bahwa beberapa aktivitas dapat diselesaikan secara bersamaan (pararel).
3. Package Diagram
Package diagram utamanya digunakan untuk mengelompokkan elemen diagram UML yang berlainan secara bersama-sama ke dalam tingkat pembangunan yang lebih tinggi yaitu berupa sebuah paket. Diagram paket pada dasarnya adalah diagram kelas yang hanya menampilkan paket, disamping kelas, dan hubungan ketergantungan, disamping hubungan khas yang ditampilkan pada diagram kelas.





Sebagai contoh, jika kita memiliki sistem pendaftaran untuk kantor dokter, mungkin masuk akal untuk kelompok kelas pasien dengan kelas sejarah medis pasien bersama-sama untuk membentuk paket kelas pasien. Selain itu, dapat berguna untuk membuat paket perawatan yang mengandung gejala penyakit, penyakit, dan obat-obatan khas yang diresepkan untuk mereka.
4. State Diagram
State diagram menggambarkan urutan keadaan yang dilalui objek dalam suatu kelas, karena suatu kejadian menyababkan suatu perpindahan aktivitas/state. State dari objek adalah penggolongan dari satu atau lebih nilai attribute pada kelas.
Bersifat dinamis. Diagram state ini memperlihatkan statestate pada system, memuat state, transisi, event, serta aktifitas. Diagram ini terutama penting untuk memperlihatkan sifat dinamis dari antarmuka, kelas, kolaborasi dan terutama penting pada pemodelan system – system yang reaktif.


contoh :“Peminjaman Barang””

Seorang peminjam yang akan meminjam akan mengisi form peminjaman.
Sistem akan megecek keadaan barang. Barang tersebut tersedia apa tidak, atau barang tersebut dapat di pinjam atau tidak
Setelah barang tersedia, sistem akan memvalidasi persetujuan peminjaman barang dan menyerahkan barang kepada peminjam.
Sistem juga akan mencari informasi tentang barang yang akan dipinjam, maka akan dilakukan permintaan akan informasi barang.
Jika informasi yang diterima masih kurang, akan dilakukan permintaan ulang sampai seluruh informasi yang dibutuhkan didapatkan.
Saat informasi sudah cukup, informasi tersebut akan diserahkan kepada peminjam barang tersebut.
5. Sequence Diagram
Sequence diagram menjelaskan interaksi objek yang disusun berdasarkan urutan waktu. Secara mudahnya sequence diagram adalah gambaran tahap demi tahap yang seharusnya dilakukan untuk menghasilkan sesuatu sesuai dengan use case diagram.
Bersifat dinamis. Diagram urutan adalah interaksi yang menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu.
Sequence diagram menekankan penyusunan berbasis waktu untuk kegiatan yang dilakukan dengan satu set dari objek yang berkolaborasi. Sequence diagram sangat berguna dalam membantu analis, memahami spesifikasi real-time dan menggunakan kasus yang rumit (lihat di bawah). Diagram ini dapat diguanakan untuk mendeskripsikan baik secara fisik dan logis interaksi antara objek.



Pada contoh
sequence diagram diatas digambarkan contoh use case investasi perdagangan. Pada diagram tersebut obyek yang berinteraksi adalah user, userinterface sistem, dan interface terhadap sistem eksternal.Pada diagram tersebut terlihat aliran secara umum,yakni :

User memilih account investment.
Kemudian, sistem akan mengirimkan pesan pada sistem investor untukmelakukan query harga saham dari investasi pada account user.
Sistem akan menampilkan harga saham pada account investasi user.
User memilih investasi dan jumlah saham yang akan dijual.
Sistem akan mengirimkan pesan kepada sistem investor untukmenyampaikan permintaan untuk menjual saham yang telah ditentukan oleh user.
6. Class Diagram (Class Diagram)
Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku (operasi) dan relasi yang sama. Sehingga dengan adanya class diagram dapat memberikan pandangan global atas sebuah system. Hal tersebut tercermin dari class- class yang ada dan relasinya satu dengan yang lainnya. Sebuah sistem biasanya mempunyai beberapa class diagram. Class diagram sangat membantu dalam visualisasi struktur kelas dari suatu system.
Bersifat statis. Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka, kolaborasi-kolaborasi, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan system berorientasi objek.
Kelas Diagram berfungsi untuk menjelaskan tipe dari object sistem dan hubungannya dengan object yang lain. Object adalah nilai tertentu dari setiap attribute kelas entity. Pada penggambaran kelas diagram ada dikenal dengan kelas analisis yaitu kelas ber-stereotype. Tapi yang biasanya dipakai adalah kelas diagram tanpa stereotype.



Kelemahan:

Sulit untuk penentuan antara atribut atau kelas, sering terjadi kesalahan
Pengimplementasian struktur data sukar dilakukan
Class memiliki 3 area pokok :

Name (dan stereotype);
Attribute;
Method.



Penjelasan dari gambar di atas yaitu class pegawai memiliki hubungan langsung dengan slass department, class pelanggan memiliki keteterhubungan langsung dengan class transaksi, class transaksi tidak akan bisa tanpa adanya class departemen, begitu pun class produk yang dapat terbentuk tanpa adanya class transaksi, lalu class perlengkapan, makanan dan minuman dihungungkan menggunakan generalisasi ke class produk.
7. Communication Diagram
Communication diagram menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek. Setiap message memiliki sequence number, dimana message dari level tertinggi memiliki Nomor 1. Diagram membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu pesan itu dikirimkan.
Contoh : Diagram Collaboration “Pemesanan kamar di Hotel”



.

8. Composite Structure Diagram
Diagram struktur komposit adalah diagram yang menunjukan struktur internal classifier, termasuk poin interaksinya ke bagian lain dari system. Hal ini menunjukkan konfigurasi dan hubungan bagian, yang bersama-sama melakukan perilaku classifier. Diagram struktur komposit merupakan jenis diagram struktur yang statis dalam UML, yang menggambarkan struktur internal kelas dan kolaborasi.







Struktur komposit dapat digunakan untuk menjelaskan:

Struktur dari bagian-bagian yang saling berkaitan;
Run-time struktur yang saling berhubungan.
9. Object Diagram
Object diagram merupakan sebuah gambaran tentang objek-objek dalam sebuah system pada satu titik waktu. Karena lebih menonjolkan perintah-perintah dari pada class, object diagram lebih sering disebut sebagai sebuah diagram perintah.
Object diagram sangat mirip dengan diagram kelas. Perbedaan utama adalah bahwa diagram objek menggambarkan objek dan hubungan mereka. Tujuan utama dari diagram objek adalah untuk memungkinkan analis untuk mengungkap rincian tambahan kelas. Dalam beberapa kasus, pernyataan variabel dari sebuah class diagram dapat membantu pengguna atau analis dalam menemukan atribut tambahan yang relevan, hubungan, dan atau operasi, atau mungkin menemukan bahwa beberapa atribut, hubungan, atau operasi yang salah tempat.
Bersifat statis. Diagram ini mempelihatkan objek-objek serta relasi-relasi antar objek. Diagram objek memperlihatkan instansiasi statis dari segala sesuatu yang dijumpai pada diagram kelas.





10. Timing Diagram
Memperlihatkan interaksi ketika tujuan utama diagram adalah waktu. Menggambarkan perubahan dalam state atau kondisi dari pengelompokkaninstance atau tugas berlebihan. Biasanya dipakai untuk memperlihatkan perubahan dalam state objectberlebihan dalam merespon ke external events. Dipakai untuk memperlihatkan perilaku dari sebuah/ beberapa object melaluiperiode waktu.


Ada 2 jenisTiming diagram yaitu

Concise/simple notation: Dipakai untuk mengeksplorasi sebuah/beberapa object melalui periode waktu
Robust notation



Diagram tersebut akan menjadi ideal ketika kita mampu menyeimbangkan ke-6 elemen yang ada, bukan menariknya ke satu atau dua arah saja. Tiap orang biasanya punya satu elemen yang dominan, tinggal bagaimana mengoptimalkan elemen-elemen yang lain saja.
11. Component Diagram
Diagram ini bila dikombinasikan dengan diagram penyebaran dapat digunakan untuk menggambarkan distribusi fisik dari modul perangkat lunak melalui jaringan. Misalnya, ketika merancang sistem client-server, hal ini berguna untuk menunjukkan mana kelas atau paket kelas akan berada pada node klien dan mana yang akan berada di server.





Diagram komponen juga dapat berguna dalam merancang dan mengembangkan sistem berbasis komponen. Karena berfokus pada analisis sistem berorientasi objek dan desain.
12. Deployment Diagram
Deployment diagram menggambarkan detail bagaimana komponen di deploy dalam infrastruktur system, dimana komponen akan terletak (pada mesin, server atau piranti keras), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. Hubungan antar node ( misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.



13. Interaction Overview Diagram
Interaction Overview Diagram adalah pecangkolan secara bersama antara activity diagram dengan sequence diagram. Interaction Overview Diagram dapat dianggap sebagai activity diagram dimana semua aktivitas diganti dengan sedikit sequence diagram, atau bisa juga dianggap sebagai sequence diagram yang dirincikan dengan notasi activity diagram yang digunakan untuk menunjukkan aliran pengawasan.


Read More …




APA SAJA KOMPONEN-KOMPONEN REKAYASA SISTEM?

Pressman menyebut sistem yang didalamnya terdapat perangkat lunak sebagai sistem berbasis komputer. Pada sistem berbasis komputer terdapat komponen – komponen sebagai berikut :
  1. Perangkat Keras (Hardware)
  2. Orang (People)
  3. Perangkat Lunak (Software)
  4. Basis Data (Database)
  5. Prosedur (Procedure)
  6. Dokumentasi

Pada dasarnya, dari keenam komponen pembentuk sistem berbasis komputer, empat komponen terakhir diatas merupakan hasil aktivitas rekayasa perangkat lunak. Perangkat lunak sendiri terdiri dari artifak – artifak hasil rekayasa perangkat lunak yang merupakan hasil dari aktivitas proses rekayasa (pengembangan) sistem berbasis komputer.

PERANGKAT KERAS

Perangkat keras komputer adalah semua bagian fisik komputer, dan dibedakan dengan data yang berada di dalamnya atau yang beroperasi di dalamnya, dan dibedakan dengan perangkat lunak (software) yang menyediakan instruksi untuk perangkat keras dalam menyelesaikan tugasnya.


ORANG (PEOPLE)

Disebut juga sebagai user ialah yang terlibat langsung dengan sistem.

PERANGKAT LUNAK

Perangkat lunak adalah istilah umum untuk data yang diformat dan disimpan secara digital, termasukprogram komputer, dokumentasinya, dan berbagai informasi yang bisa dibaca dan ditulis oleh komputer. Dengan kata lain, bagian sistem komputer yang tidak berwujud. Istilah ini menonjolkan perbedaan denganperangkat keras komputer

BASIS DATA

Kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut.

PROSEDUR

Prosedur adalah serangkaian aksi yang spesifik, tindakan atau operasi yang harus dijalankan atau dieksekusi dengan cara yang sama agar selalu memperoleh hasil yang sama dari keadaan yang sama.

DOKUMENTASI

Dokumentasi adalah sebuah cara yang dilakukan untuk menyediaan dokumen-dokumen dengan menggunakan bukti yang akurat dari pencatatan sumber-sumber informasi khusus dari karangan/ tulisan, wasiat, buku, undang-undang, dan sebagainya.

Edit From: BrainStorm Blog
Sumber :
Gambar : 1
Read More …

APA ITU REKAYASA SISTEM?





Rekayasa sistem adalah kumpulan konsep, pendekatan dan metodologi, serta alat-alat bantu (tools) untuk merancang dan menginstalasi sebuah kompleks sistem. Kompleksitas sistem bisa diakibatkan karena 2 hal yaitu kompleksitas dinamis dan kompleksitas detail. Kompleksitas detail ketika komponen atau sub-sistem yang dirancang tidak hanya banyak tetapi ditambah pula dengan multi-sourcing (multi suplier), multi standard, multi criteria dan lainnya.
Rekayasa sistem dewasa ini, terutama di Amerika, lekat dengan dunia militer, karena produk-produk militer memang memiliki kriteria akan kompleksitas detail seperti ini, misalnya pesawat tempur, kapal induk, sistem pertahanan rudal patrior dsb, dimana timbul kombinasi yang kompleks antara sub-sistem mekanis, sub-sistem elektronik dan sub-sistem manusia.
Disiplin ilmu sistem engineering sendiri dewasa ini sedang berevolusi untuk mencari jati diri. Sebagian besar masih bergabung dengan bidang ilmu lainnya seperti biologi, teknik industri, teknik komputer, teknik kimia (instalasi sebuah processing plant membutuhkan skill rekayasa sistem).
Dalam lingkup pengembangan perangkat lunak, rekayasa Sistem adalah kegiatan untuk menentukan spesifikasi, perancangan, pengimplementasian, penyebaran, dan pemeliharaan sistem sebagai satu kesatuan. Sehingga, rekayasa sistem atau lebih tepatnya, rekayasa sistem berbasis komputer berhubungan dengan semua aspek pengembangan dan evolusi sistem kompleks dimana perangkat lunak memainkan peran utama. Rekayasa sistem merupakan disiplin yang lebih tua dibandingkan dengan rekayasa perangkat lunak. Orang telah melakukan spesifikasi dan perakitan sistem industri secara kompleks seperti kereta api dan pabrik kimia selama lebih dari 100 tahun. Akan tetapi, seiring dengan bertambahnya persentase perangkat lunak pada sistem, maka teknik rekayasa perangkat lunak seperti pemodelan use – case, manajemen konfigurasi, dan lain sebagainya sering dipergunakan dalam proses rekayasa sistem.
Sommerville mendefinisikan sistem sebagai sekumpulan komponen yang saling berhubungan dan bekerja sama untuk mencapai tujuan. Definisi umum ini mencakup banyak jenis sistem. Sebagai contoh, sistem yang sederhana seperti sistem pencatatan skor mungkin hanya terdiri dari 2 atau 3 modul perangkat lunak. Sebaliknya, sistem kontrol lalu lintas dapat terdiri dari ratusan perangkat lunak dan keran, ditambah manusia sebagai pemakainya, yang membuat keputusan berdasarkan informasi dari sistem.
Sistem seringkali hierarkis, dimana bahwa mereka mencakup sistem – sistem lain. Sebagai contoh, sistem perintah dan kendali polisi mungkin melibatkan sistem informasi geografis untuk memberikan detail lokasi suatu peristiwa. Sistem – sistem lain inilah yang disebut sebagai subsistem. Karakteristik subsistem adalah kemampuannya untuk berinteraksi secara independen. Dengan demikian, beberapa sistem informasi geografis dapat dipakai pada sistem lain. Namun demikian, perilakunya pada sistem tertentu bergantung pada subsistem lain. Adanya hubungan yang kompleks dalam sistem inilah yang membuat rekayasa perangkat lunak merupakan bagian dari rekayasa sistem berbasis komputer mengingat pentingnya perangkat lunak pada sebuah sistem

Edit From: BrainStorm Blog
Gambar: 1 2


Read More …