A. Sekilas Tentang Analisis dan Perancangan System
Analisis dan perancangan sistem merupakan suatu kegiatan Preliminary atau kegiatan yang paling awal dilakukan pada saat seseorang atau sebuah grup ingin melakukan sebuah pengembangan / perekayasaan perangkat lunak atau sistem informasi. Kegiatan ini merupakan tahap inisiasi yang sangat vital untuk di lakukan dan sudah umum untuk di ketahui bahwa kegiatan ini di lakukan oleh orang – orang yang berprofesi sebagai sistem analis. Sistem analis akan melakukan apa yang di sebut analisa dan perancangan sistem yang kemudian menghasilkan sebuah rancangan sistem atau blueprint sebuah sistem, dan meneruskannya kepada para programmer dan juga kepada para technical assistant untuk mengkonversikan blueprint tersebut menjadi konkrit baik ke dalam bentuk aplikasi / software maupun ke dalam bentuk infrastruktur fisik, karena blueprint sebuah sistem tidak hanya berlaku untuk output sebuah software, tetapi berlaku juga untuk output hardware.
Pengembangan sistem informasi (system development) dapat berarti menyusun sistem informasi yang benar – benar baru atau bahkan menyempurnakan sistem yang telah ada. Pengembangan sistem informasi (analisis dan perancangan sistem) mempunyai prosedur – prosedur kerja yang dapat diikuti. Prosedur – prosedur kerja tersebut di kelompokan atas model – model pengembangan sistem informasi atau model – model perekayasaan perangkat lunak. Ada banyak model konsep yang di pakai di dunia industri sekarang ini, Setidaknya ada 6 model, yaitu ;
1. Model Software Development Life Cycle (SDLC)
Model ini merupakan model yang paling klasik dalam pengembangan sistem informasi. Model ini juga sering di sebut dengan model sekuensial linier atau model air terjun secara berulang.
Model ini terdiri atas 6 aktifitas, antara lain ;
- Studi kelayakan
- Analisis kebutuhan perangkat lunak
- Pembutuhan design dan spesifikasi perangkat lunak
- Generasi kode program
- Pengujian
- Pemeliharaan
2. Model Rapid Application Development (RAD)
Rapid Application Development adalah sebuah model proses perkembangan perangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Model ini menekankan pengembangan dengan menggunakan konstruksi berbasis komponen atau yang lebih sering di sebut berbasis obyek. Obyek – obyek tersebut di rancang sedemikian rupa agar bisa di pakai kembali. Reusabilitas merupakan hal yang utama dalam model ini.
· Pemodelan Bisnis, Aliran informasi di antara fungsi – fungsi bisnis dimodelkan dengan suatu cara untuk menjawab pertanyaan – pertanyaan berikut : Informasi apa yang mengendalikan proses bisnis? Informasi apa yang di munculkan? Siapa yang memunculkannya? Kemana informasi itu pergi? Siapa yang memprosesnya?
· Pemodelan Data, Aliran informasi yang di definisikan sebagai bagian dari fase bisnis modeling disaring ke dalam serangkaian obyek data yang di butuhkan untuk menopang bisnis tersebut. Karakteristik masing – masing obyek diidentifikasi dan hubungan obyek – obyek tersebut di definisikan.
· Pemodelan Proses, Aliran informasi yang didefinisikan di dalam fase data modeling di transformasikan untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah, memodifikasi atau mendapatkan kembali sebuah obyek data.
· Pembentukan Aplikasi, Selain menciptakan perangkat lunak dengan menggunakan bahasa pemrograman ketiga yang konvensional, RAD lebih banyak memproses kerja untuk memakai lagi koomponen program yang ada atau menciptakan komponen yang bisa di pakai lagi.
· Pengujian dan Turn Over, Karena proses RAD menekankan pada pemakaian kembali banyak komponen program telah diuji. Tetapi komponen baru harus diuji dan semua interface harus di latih secara penuh.
Selain kedua model konsep di atas, model yang di gunakan di dunia industri yaitu; Model Sekuensial Linier, Model Inkremental, Model Spiral, Model Asembli Komponen, Model Pengembangan Kongkruen, Model Metode Formal dan Model Teknik Generasi Keempat.
B. Unified Modelling Language
Unified Modelling Language (UML) adalah sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan pemodelan sistempada sistem perangkat lunak. Dengan adanya penggunaan UML seseorang dapat membuat sebuah model dengan semua jenis aplikasi perangkat lunak, dimana aplikasi tersebut dapat berjalan pada perangkat keras / hardware maupun sistem operasi jaringan apapun. Tetapi dalam UML ini lebih berkenaan dengan adanya penggunaan class dan operation dalam konsep dasarnya, maka bahasa pemrograman yang baik di gunakan adalah bahasa yang berorientasi objek yaitu seperti C++. Java, C#, atau VB.NET. Walaupun demikian, UML tetap dapat di gunakan untuk modeling aplikasi prosedural dalam VB atau C.
Banyak dari bahsa pemrograman yang lain cenderung dalam penggunaannya serta pendefinisian menggunakan notasi dan syntax/semantic. Dalam notasi UML ini merupakan sebuah sekumpulan dari bentuk khusus untuk menggambarkan berbagai macam perangkat lunak (software). Notasi UML terdiri dari 3 notasi, yaitu;
1. Grady Booch OOD (Object Oriented Design)
2. Jim Rumbaugh OMT (Object Modelling Technique)
3. Ivar Jacobson OOSE (Object Oriented Software Engineering)
UML terdiri atas banyak elemen – elemen grafis yang di gabungkan membentuk diagram. Tujuan rrepresentasi elemen – elemen grafis ke dalam diagram adalah untuk menyajikan beragam sudut pandang inilah yang di sebut sebuah Model.
Diagram – diagram yang tersedia pada UML versi 1.4 ada 9 diagram yang terbagi atas 2 kategori, yaitu;
Structural Diagram :
· Class diagram
Class diagram adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi obyek. Class menggambarkan keadaan suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut. Class diagram menggambarkan struktur dan deskripsi class, package dan object beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain – lain.
· Object diagram
Object diagram adalah diagram yang memberikan gambaran model instance – instance dari sebuah class. Diagram ini di gunakan untuk menggambarkan sebuah sistem pada sebuah sudut pandang waktu tertentu. Dengan menggunakan diagram ini kita dapat memeriksa keabsahan kelas – kelas diagram berikut aturan – aturan multiplisitasnya, dengan real data dan mengujinya dengan skenario – skenario tertentu
· Component diagram
Component diagram adalah bagian fisik dari sebuah sistem yang menetap di computer. Komponen merupakan implementasi software dari sebuah class. Komponen bisa berupa tabbel, file data, file exe, file DLL, dokumen dan lain – lain. Komponen diagram mengandung komponen, interface dan relationship. Komponen diagram ini di gunakan pada saat kita ingin memecahkan sistem menjadi komponen – kompoonen dan ingin menampilkan hubungan – hubungan mereka dengan interface atau pemecahan komponen menjadi struktur yang lebih rendah.
· Deployment diagram
Deployment diagram menunjukkan tata letak sebuah sistem secara fisik, menampakkan bagian – bagian software yang berjalan pada bagian – bagian hardware yang di gunakan untuk mengimplementasikan sebuah sistem dan keterhubungan antara komponen – komponen hardware tersebut. Deployment diagram di gunakan pada bagian – bagian awal proses perancangan sistem untuk mendokumentasikan arsitektur fisik sebuah sistem.
Behavioral Diagram :
· Use case diagram
Use case adalah deskripsi fungsi dari sebuah sistem dari prespektif /sudut pandang para pengguna sistem. Use case mendefinisikan “apa” yang dilakukan oleh sistem dan elemen – elemennya, bukan “bagaimana” sistem dan elemen – elemennya saling berinteraksi. Use case bekerja dengan menggunakan “skenario”, yaitu deskripsi urutan – urutan langkah yang menerangkan apa yang dilakukan pengguna terhadap sistem maupun sebaliknya. Use case diagram mengidentifikasi fungsionalitas yang di punyai oleh sistem (use-case), user yang berinteraksi dengan sistem (actor) dan asosiasi/keterhubungan antar user dengan fungsionalitas sistem.
· Sequence diagram
Sequence diagram mendokumentasikan komunikasi/interaksi antar kelas-kelas. Diagram ini menunjukkan sebuah objek dan message yang di letakkan di antara obyek – obyek di dalam use case. Perlu diingat bahwa di dalam diagram ini kelas – kelas dan aktor – aktor di letakkan di bagian atas diagram dengan urutan dari kiri ke kanan dengan grais lifeline yang diletakkan secara vertikalterhadap kelas dan aktor.
· Collaboration diagram
Collaboration diagram menggunakan prinsip yang sama dengan sequence diagram, sama – sama memodelkan interaksi antara obyek – obyek, yang ,membedakannya hanya cara penggambarannya saja. Pada collaboration diagram ini, obyek – obyek dan message yang ada di gambarkan mirip seperti flowchart, hanya saja, untuk menjaga urutan pesan yang di terima oleh masing – masing obyek, pesan – pesan tersebut di beri nomor urutan pesan.
· Statechart diagram
Statechart diagram, atau yang biasa juga di sebut state diagram di gunakan untuk mendokumentasikan beragan kondosisi/keadaan yang bisa terjadi terhadap sebuah class dan kegiatan apa saja yang dapat merubah kondisi/keadaan tersebut. Contohnya sebuah televisi yang dapat berada dalam kondisi menyala atau mati, jika tombol “power” di tekan kembali. Maka disini kita mempunyai sebuah kelas yaitu televise, 2 state yaitu menyala dan mati dan 2 transition yaitu menyalakan tv dan mematikan tv. tidak seperti diagram – diagram Behavioural lainnya yang memodelkan interaksi diantara beberapa class, state diagram justru biasanya hanya memodelkan transisi yang terjadi hanya pada sebuah class.
· Activity diagram
activity diagram di gunakan untuk mendokumentasikan alur kerja pada sebuah sistem, yang dimulai dari pandangan business level hingga ke operational level. Pada dasarnya, activity diagram merupakan variasi dari statechart diagram. Activity diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku parallel sedangkan flowchart tidak bisa.
Referensi : Naskah Workshop Lembaga Pengembangan Komputerisasi Universitas Gunadarma. Disusun oleh “Hafizh Nurhady”