Anda di halaman 1dari 29

Rekayasa Perangkat Lunak (RPL)

a. Komputer
Komputer adalah alat yang dipakai untuk mengolah data menurut prosedur yang
telah dirumuskan. Kata computer pada awalnya dipergunakan untuk menggambarkan
orang yang perkerjaannya melakukan perhitungan aritmetika, dengan atau tanpa alat
bantu, tetapi arti kata ini kemudian dipindahkan kepada mesin itu sendiri. Asal
mulanya, pengolahan informasi hampir eksklusif berhubungan dengan masalah
aritmetika, tetapi komputer modern dipakai untuk banyak tugas yang tidak
berhubungan dengan matematika.

Komputer terdiri dari 3 komponen utama:


1. Komponen hardware: berupa perangkat keras komputer yang terbagi menjadi 4 alat:
- alat input: alat untuk menginput data ke dalam komputer (contohnya mouse)
- alat proses: alat untuk memproses data komputer (contohnya prosessor)
- alat penyimpanan: alat untuk menyimpan data komputer (contohnya flashdisk)
- alat output: alat untuk mengeluarkan data pada komputer (contohnya monitor)
2. Komponen software: berupa perangkat lunak komputer yang terbagi menjadi:
- software sistem operasi: contohnya Microsoft windows 7
- software aplikasi: contohnya Microsoft Office
- software utility: contohnya program antivirus
3. Komponen brainware: yaitu perangkat pengguna komputer (manusia) [1]

b. Definisi Rekayasa
Engineering = rekayasa
Untuk menyelesaikan ‘masalah praktis dari tidak ada menjadi ada
c. Definisi Perangkat Lunak
Software = Perangkat lunak
Kumpulan program komputer dengan fungsi tertentu
Ada beberapa definisi perangkat lunak yang pernah dikemukakan antara lain :
Perangkat lunak adalah
1. Instruksi (program komputer) yang bila dieksekusi dapat menjalankan fungsi tertentu.
2. Struktur data yang dapat membuat program memanipulasi informasi.
3. Dokumen yang menjelaskan operasi dan penggunaan program (Pressman, 1997).
Perangkat lunak adalah program komputer, prosedur, aturan, dan dokumentasi yang
berkaitan serta data, yang bertalian dengan operasi suatu sistem komputer
(IEEE, 1993).

1. Pengertian Rekayasa Perangkat Lunak


Rekayasa perangkat Lunak (RPL) adalah ilmu yang mempelajari semua aspek
produksi perangkat lunak, mulai dari tahap awal yaitu:
1. Analisa kebutuhan pengguna
2. Menentukan Spesifikasi
3. Design
4. Coding
5. Testing
6. Maintanance

2. Karakteristik Perangkat Lunak


Perangkat lunak lebih dikenal sebagai elemen lojik daripada fisik, oleh karena itu
perangkat lunak memiliki karakteristik yang berbeda dari perangkat keras :
1. Perangkat lunak dikembangkan atau direkayasa, jadi tidak diproduksi dalam
pengertian klasik.
2. Merupakan produk yang unik (tidak ada seri produksi).
3. Perangkat lunak tidak pernah akan rusak/aus karena selalu diperbaharui
4. Tidak terlihat (invisible).
5. Perangkat lunak pada umumnya dibangun sesuai keinginan, jadi tidak dibentuk dari
komponen yang sudah ada.
6. Fleksibel, sehingga mudah dimodifikasi.
7. Dihubungkan (linked) dengan sistem komputer.
3. Tujuan dari RPL
a. Menghasilkan sebuah perangkat lunak yang berkualitas. Yang dimaksud dengan
berkualitas dapat dilihat dari tiga sisi, sisi sponsor (individu atau organisasi yang telah
mengeluarkan biaya dalam pembangunan perangkat lunak), sisi pemakai (siapapun
yang menggunakan perangkat lunak tersebut), sisi maintainer / modifier (yang
memelihara dan memodifikasi perangkat lunak tersebut).

Sisi Sponsor :
Tujuan utama sponsor adalah menghasilkan dan atau menghemat uang. Sponsor
ingin menggunakan perangkat lunak tersebut untuk meningkatkan produktivitas
organisasi. Sponsor mengharapkan untuk dapat menghasilkan sebuah layanan dengan
biaya yang rendah tetapi masuk akal. Karena itu sistem yang dibuat harus handal,
fleksibel dan efisien. Selain itu biaya dari pemeliharaan, modifikasi dan peningkatan
dari sistem tersebut harus serendah mungkin.

Sisi Pemakai :
Bagi pemakai perangkat lunak adalah alat untuk membantu menyelesaikan tugas
tugasnya. Karena itu perangkat lunak harus menyediakan fungsi-fungsi yang
dibutuhkan oleh pemakai. Perangkat lunak juga harus handal dan efisien, perangkat
lunak harus dapat menghasilkan output yang konsisten. Selain itu pemakai harus
merasa perangkat lunak yang dibuat mudah untuk dipelajari, mudah digunakan dan
mudah untuk diingat.

Sisi Maintainer/modifier :
Yang diinginkan oleh maintainer/modifier adalah perangkat lunak tersebut
memiliki sangat sedikit error pada saat penginstallan pertama (catatan : sangat kecil
kemungkinannya untuk menghasilkan perangkat lunak yang 100 % bebas dari bug).
Selain itu perangkat lunak tersebut harus terdokumentasi dengan baik. Source code
juga harus mudah dibaca, terstruktur dan dirancang dengan baik dan bersifat modular.

b. Tujuan kedua dari RPL adalah menghasilkan perangkat lunak dengan biaya yang
efisien.
c. Sedangkan tujuan ketiga dari RPL adalah menghasilkan perangkat lunak tepat pada
waktunya.
4. Jenis-jenis Perangkat Lunak
Dilihat dari sudut pandang fungsinya, perangkat lunak dapat dikelompokkan
menjadi:
a. Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan untuk operasional
komputer.
- sistem operasi
- penerjemah bahasa pemrograman (compiler/interpreter)
b. Perangkat lunak aplikasi
Perangkat lunak yang kegunaannya lebih banyak ditujukan untuk membantu
menyelesaikan masalalah-masalah yang dihadapi oleh pemakai.
- program paket yang sudah jadi
- program aplikasi buatan sendiri

Sedangkan dilihat dari aplikasinya, perangkat lunak dibedakan menjadi :


1. Perangkat Lunak Sistem (Sistem Software)
Sekumpulan program yang ditulis untuk kepentingan program lain, contoh editor
2. Perangkat Lunak Waktu Nyata (Real Time Software)
Perangkat lunak yang digunakan untuk mengukur/menganalisis atau mengontrol
proses pemasukan data dari lingkungan luar sampai menghasilkan laporan yang
diinginkan
3. Perangkat Lunak Bisnis (Business Software)
4. Perangkat lunak yang memberikan fasilitas operasi untuk bisnis atau fasilitas
pengambilan keputusan manajemen, contoh sistem akuntansi, inventory, payroll
dan lain-lain
5. Perangat Lunak Rekayasa dan Sains (Engineering and Scientific Software)
Perangkat lunak yang digunakan di dalam bidang aplikasi teknik dan kerekayasaan
Perangkat lunak jenis ini biasanya berhubungan dengan komputasi data numerik,
CAD (Computer Aided Design), simulasi sistem, dan lain-lain.
6. Embedded Software
Perangkat lunak yang digunakan untuk mengontrol suatu produk dan sistem dimana
perangkat lunak tersebut disimpan. Biasanya ditempatkan di ROM, contoh Tombol di
Microwave Oven
7. Perangkat Lunak Komputer Pribadi (Personal Computer Software)
Banyak digunakan pada aplikasi yang bersifat perorangan, contohnya : pengolah kata,
spreadsheet, game, DBMS dan lain-lain.
8. Perangkat Lunak Intelegensia Buatan (Artificial Intelligent Software)
perangkat lunak ini digunakan dimana teknik pemecahan masalah bersifat non-
algoritmik. Solusi dari masalah tersebut umumnya tidak sesuai dengan perhitungan
atau analisis langsung. Sebaliknya, masalah ini memerlukan strategi pemecahan
masalah spesifik yang mencakup sistem pakar (expert sistem), pengenalan pola
(pattern recognition), dan teknik bermain game (game-playing techniques). Selain itu,
mereka melibatkan berbagai jenis teknik pencarian yang mencakup penggunaan
heuristik. Peran perangkat lunak kecerdasan buatan (AI software) adalah
menambahkan tingkat kecerdasan tertentu ke perangkat keras mekanis agar pekerjaan
yang diinginkan dilakukan dengan cara yang tangkas.[2]

Sistem Development Life Cycle (SDLC)

1. Pengertian SDLC
Sistem Development Life Cycle (SDLC) menurut Susanto (2004) menyatakan
bahwa : “Sistem Development Life Cycle (SDLC) adalah salah satu metode
pengembangan sistem informasi yang popular pada saat sistem informasi pertama
kali dikembangkan.” Metode SDLC adalah tahap-tahap pengembangan sistem
informasi yang pertama kali dikembangkan yang dilakukan oleh analisis sistem dan
programmer untuk membangun sebuah sistem informasi.
Dalam perancangan sebuah sistem, kita mengenal konsep SDLC (sistem
development life cycle). Secara global definisi SDLC dapat dikatakan sebagai suatu
proses berkesinambungan untuk menciptakan atau merubah sebuah sistem,
merupakan sebuah model atau metodologi yang digunakan untuk melakukan
perancangan sistem. Dapat dikatakan dalam SDLC merupakan usaha bagaimana
sebuah sistem informasi dapat mendukung kebutuhan bisnis, rancangan dan
pembangunan sistem serta delivering-nya kepada pengguna.
SDLC ini sendiri juga merupakan pola yang diambil untuk mengembangkan sistem
perangkat lunak, yang terdiri dari tahap-tahap :
perencanaan sistem (planning), analisa (Analysis), desain (Design), implementasi
(Implementation), uji coba (testing), dan pengelolaan (Maintenance).
2. Tahap-tahap SDLC
Karena konsep SDLC itu sendiri mendasari berbagai jenis metodologi
pengembangan perangkat lunak. Oleh karena itu, SDLC memiliki fase-fase atau
tahapan dalam pengembangan sistemnya. Berikut ini terdapat penjelasannya.

1. Perencanaan Sistem (Planning)


Perencanaan adalah awal dari segalanya. Tahapan awal yang harus dimiliki dalam
merancang sebuah sistem ialah planning. Fase ini merupakan tahapan analisa awal
dimana kita mencari data, analisa kelayakan, dan melakukan proses pertemuan
dengan pengguna. Perencanaan sistem itu sendiri lebih menekankan pada aspek studi
kelayakan pengembangan sistem atau feasibility study. Aktivitas yang meliputi
pengembangan ini yakni :
- Pembentukan dan konsolidasi tim pengembang.
- Mendefinisikan tujuan dan ruang lingkup pengembangan.
- Mengidentifikasi apakah masalah-masalah yang ada bisa diselesaikan melalui
pengembangan sistem.
- Menentukan dan evaluasi strategi yang akan digunakan dalam pengembangan
sistem.
- Penentuan prioritas teknologi dan pemilihan aplikasi.

2. Analisa (Analysis)
Dalam Fase Analisa ini dimana merupakan sebuah aktivitas investigasi terhadap
sistem yang akan dibangun, dan membuat analisa kebutuhan sesuai dengan apa yang
sudah direncanakan. Aktivitas yang terdapat didalam fase analisa ini melakukan studi
literatur untuk menemukan kasus yang bisa ditangani oleh sistem. Didalam sudut
pandang untuk tim pengembang, brainstorming dalam tim pengembang mengenai
kasus mana yang tepat dimodelkan didalam sebuah sistem. Jika kalian sudah
melakukan tahap analisa ini, maka kalian akan tau, tujuan kalian dalam melakukan
pengembangan sistem ataupun pembangunan sistem itu sendiri.
3. Desain Sistem (Design)
Setelah melakukan tahap analisa, selanjutya kita melakukan fase design kedalam
suatu sistem. Di tahapan ini, pengembang dituntut untuk serius dalam melakukan
features dan operasi-operasi sistem, sehingga harus dideskripsikan secara detail.
Didalam perancangan sistem. Aktivitas yang dimiliki seperti menganalisa interaksi
obyek dan fungsi pada sistem, Menganalisa data dan membuat skema database, serta
merancang user interface.

4. Implementasi (Implementation)
Didalam tahapan implementasi ini, merupakan tahapan dimana
mengimplementasikan hasil rancangan pada tahap-tahap sebelumnya. Di fase ini kita
melakukan pengujian sistem desain yang telah dibuat. Uji coba sangat penting dalam
melakukan pembangunan disuatu sistem. Didalam implementasinya terdapat aktivitas
yakni pembuatan database sesuai skema rancangan, pembuatan aplikasi berdasarkan
desain sistem, serta pengujian dan perbaikan suatu aplikasi (debugging).

5. Pengujian (Testing)
Fase ini merupakan fase uji coba aplikasi sistem yang telah diimplementasikan.
Fase ini tidak boleh terlewatkan, karena fase ini merupakan evaluasi dari
implementasi sebelumnya. Dari fase inilah pengembang dapat menilai mana sistem
yang masih tergolong salah dan mana yang benar, sehingga pengembang dapat
memutuskan untuk kembali ketahap selanjutnya atau tidak.

6. Pengelolaan (Maintenance)
Selanjutnya setelah melewati tahap pengujian, terdapat tahap pemeliharaan atau
pengelolaan yang biasa kita kenal dengan maintenance. Maintenance itu sendiri
dilakukan oleh admin yang ditunjuk untuk mengelola sistem agar tetap mampu
beroperasi secara benar melalui kemampuan sistem dalam mengadaptasikan diri
sesuai dengan kebutuhan. Karena jika tidak ada maintenance, maka aplikasi yang
akan dijual ke client, mungkin akan terjadi masalah jika tidak ada yang melakukan
perawatan ataupun yang mengelola aplikasi itu tersebut.[3]

Perancangan Perangkat Lunak


Menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat lunak yang
dapat diperkirakan sebelum memasuki tahap pengkodingan.
Implementasi yang diterapkan:
- Pemrograman dan pengujian
- Instalasi Hardware dan software
- Pelatihan Kepada pemakai
- Pembuatan dokumentasi
- Konversi : Perubahan atau pemindahan sistem dari yang lama ke sistem
yang baru.

Ada empat metode konversi sistem, yaitu :


1. Konversi Langsung (Direct Conversion)
Konversi ini dilakukan dengan cara menghentikan sistem lama dan
menggantikannya dengan sistem baru. Cara ini merupakan yang paling berisiko, tetapi
murah. Konversi langsung adalah pengimplementasian sistem baru dan pemutusan
jembatan sistem lama, yang kadang-kadang disebut pendekatan cold turkey.
Apabila konversi telah dilakukan, maka tak ada cara untuk balik ke sistem lama.
Kelebihan :
- Relatif tidak mahal.
Kelemahan :
- Mempunyai risiko kegagalan yang tinggi.
- Apabila konversi langsung akan digunakan, aktivitas-aktivitas pengujian dan
pelatihan yang dibahas sebelumnya akan mengambil peran yang sangat
penting.

2. Konversi Paralel (Parallel Conversion)


Pada konversi ini, sistem baru dan sistem lama sama-sama dijalankan. Setelah
melalui masa tertentu, jika sistem baru telah bisa diterima untuk menggantikan sistem
lama, maka sistem lama segera dihentikan. Cara seperti ini merupakan pendekatan
yang paling aman, tetapi merupakan cara yang paling mahal, karena pemakai harus
menjalankan dua sistem sekaligus. Konversi Paralel adalah suatu pendekatan dimana
baik sistem lama dan baru beroperasi secara serentak untuk beberapa periode waktu.
Konversi ini kebalikan dari konversi langsung. Dalam mode konversi paralel, output
dari masing-masing sistem tersebut dibandingkan, dan perbedaannya direkonsiliasi.
Kelebihan :
- Memberikan derajad proteksi yang tinggi kepada organisasi dari kegagalan
sistem baru.
Kelemahan :
- Besarnya biaya untuk penduplikasian fasilitas-fasilitas dan biaya personel
yang memelihara sistem rangkap tersebut.
Ketika proses konversi suatu sistem baru melibatkan operasi paralel, maka orang-
orang pengembangan sistem harus merencanakan untuk melakukan peninjauan
berkala dengan personel operasi dan pemakai untuk mengetahui kinerja sistem
tersebut. Mereka harus menentukan tanggal atau waktu penerimaan dalam tempo
yang wajar dan memutus sistem lama.

3. Konversi Bertahap (Phase-In Conversion)


Konversi dilakukan dengan menggantikan suatu bagian dari sistem lama dengan
sistem baru. Jika terjadi sesuatu, bagian yang baru tersebut akan diganti kembali
dengan yang lama. Jika tak terjadi masalah, modul-modul baru akan dipasangkan lagi
untuk mengganti modul-modul lama yang lain. Dengan pendekatan seperti ini,
akhirnya semua sistem lama akan tergantikan oleh sistem baru. Cara seperti ini lebih
aman daripada konversi langsung.
Dengan metode Konversi Phase-in, sistem baru diimplementasikan beberapa kali,
yang secara sedikit demi sedikit mengganti yang lama.
Ia menghindarkan dari risiko yang ditimbulkan oleh konversi langsung dan
memberikan waktu yang banyak kepada pemakai untuk mengasimilasi perubahan.
Untuk menggunakan metode phase-in, sistem harus disegmentasi.
Kelebihan :
- Kecepatan perubahan dalam organisasi tertentu bisa diminimasi, dan sumber-
sumber pemrosesan data dapat diperoleh sedikit demi sedikit selama periode
waktu yang luas
Kelemahan :
- Keperluan biaya yang harus diadakan untuk mengembangkan interface
temporer dengan sistem lama, daya terapnya terbatas, dan terjadi kemunduran
semangat di organisasi, sebab orang-orang tidak pernah merasa menyelesaikan
sistem.

4. Konversi Pilot (Pilot Conversion)


Pendekatan ini dilakukan dengan cara menerapkan sistem baru hanya pada lokasi
tertentu yang diperlakukan sebagai pelopor. Jika konversi ini dianggap berhasil, maka
akan diperluas ke tempat-tempat yang lain. Ini merupakan pendekatan dengan biaya
dan risiko yang rendah.
Dengan metode Konversi Pilot, hanya sebagian dari organisasilah yang mencoba
mengembangkan sistem baru. Kalau metode phase-in mensegmentasi sistem,
sedangkan metode pilot mensegmentasi organisasi.
Metode konversi ini lebih sedikit berisiko dibandingkan dengan metode langsung,
dan lebih murah dibandingkan dengan metode paralel.
Segala kesalahan dapat dilokalisir dan dikoreksi sebelum implementasi lebih jauh
dilakukan. Apabila sistem baru melibatkan prosedur baru dan perubahan yang drastis
dalam hal perangkat lunaknya, metode pilot ini akan lebih cocok digunakan.
Selain berfungsi sebagai tempat pengujian (test site), sistem pilot juga digunakan
untuk melatih pemakai seluruh organisasi dalam menghadapi lingkungan “live”
(hidup atau sebenarnya) sebelum sistem tersebut diimplementasikan di lokasi mereka
sendiri.[4]

Metode Pengembangan Perangkat Lunak

Pengembangan perangkat lunak dapat diartikan sebagai proses membuat suatu


perangkat lunak baru untuk menggantikan perangkat lunak lama secara keseluruhan
atau memperbaiki perangkat lunak yang telah ada. Agar lebih cepat dan tepat dalam
mendeskripsikan solusi dan mengembangkan perangkat lunak, juga hasilnya mudah
dikembangkan dan dipelihara, maka pengembangan perangkat lunak memerlukan
suatu metodologi khusus. Metodologi pengembangan perangkat lunak adalah suatu
proses pengorganisasian kumpulan metode dan konvensi notasi yang telah
didefinisikan untuk mengembangkan perangkat lunak. Secara prinsip bertujuan untuk
membantu menghasilkan perangkat lunak yang berkualitas (Jaidan Jauhari)

1. Proses Pengembangan Perangkat Lunak


Proses pengembangan perangkat lunak adalah suatu proses dimana kebutuhan
pemakai diterjemahkan menjadi produk perangkat lunak. Proses ini mencakup
aktivitas penerjemahan kebutuhan pemakai menjadi kebutuhan perangkat lunak,
transformasi kebutuhan perangkat lunak menjadi desain, penerapan desain menjadi
kode program, uji coba kode program, dan instalasi serta pemeriksaan kebenaran
perangkat lunak untuk operasional (IEEE. 1990). Berdasarkan pengertian tersebut,
secara umum dapat dikatakan bahwa proses pengembangan perangkat lunak
mengikuti tahap-tahap :
1. Menentukan Apa yang harus dikerjakan oleh perangkat lunak dalam satu rentang
waktu tertentu.
2. Mendefinisikan Bagaimana perangkat lunak dibuat, mencakup arsitektur perangkat
lunaknya, antar muka internal, algoritma, dan sebagainya.
3. Penerapan (penulisan program) dan pengujian unit-unit program.
4. Integrasi dan pengujian modul-modul program.
5. Validasi perangkat lunak secara keseluruhan (pengujian sistem).

2. Siklus Pengembangan Perangkat Lunak


Siklus pengembangan perangkat lunak atau sering disebut juga dengan siklus
hidup perangkat lunak adalah (IEEE,1987) :
a. Periode waktu yang diawali dengan keputusan untuk mengembangkan produk
perangkat lunak dan berakhir setelah perangkat lunak diserahkan. Umumnya siklus
pengembangan ini terdiri dari tahap analisis kebutuhan, perancangan, penerapan,
pengujian, dan instalasi serta pemeriksaan.
b. Periode waktu yang diawali dengan keputusan untuk mengembangkan produk
perangkat lunak dan berakhir saat produk tidak dapat ditingkatkan lebih jauh lagi oleh
pengembang.[5]

Model Proses Pengembangan Perangkat Lunak


A. Linear Sequential Model
Linear sequential model (atau disebut juga “classic life cycle” atau “waterfall
model”) adalah metode pengembangan perangkat lunak dengan pendekatan sekuensial
dengan cakupan aktivitas :
1. Rekayasa sistem dan Analisis (Sistem Engineering and Analysis)
Karena perangkat lunak adalah bagian dari sistem yang lebih besar, pekerjaan dimulai
dari pembentukan kebutuhan-kebutuhan untuk seluruh elemen sistem dan kemudian
memilah mana yang untuk pengembangan perangkat lunak. Hal ini penting ketika
perangkat lunak harus berkomunikasi dengan hardware, orang dan basis data
2. Analisis kebutuhan perangkat lunak (Software Requirements Analysis)
Pengumpulan kebutuhan dengan fokus pada perangkat lunak, yang meliputi: Domain
informasi, fungsi yang dibutuhkan, unjuk kerja/performansi dan antarmuka. Hasilnya
harus didokumentasi dan direview ke pelanggan.
3. Perancangan (Design)
Ada 4 atribut untuk program yaitu : Struktur Data, Arsitektur perangkat lunak,
Prosedur detil dan Karakteristik Antarmuka. Proses desain mengubah kebutuhan-
kebutuhan menjadi bentuk karakteristik yang dimengerti perangkat lunak sebelum
dimulai penulisan program. Desain ini harus terdokumentasi dengan baik dan menjadi
bagian konfigurasi perangkat lunak.
4. Pembuatan kode (Coding)
Penterjemahan perancangan ke bentuk yang dapat dimengerti oleh mesin, dengan
menggunakan bahasa pemrograman
5. Pengujian (Testing)
Setelah kode program selesai testing dapat dilakukan. Testing memfokuskan pada
logika internal dari perangkat lunak, fungsi eksternal dan mencari segala
kemungkinan kesalahan dan memriksa apakah sesuai dengan hasil yang diinginkan.
6. Pemeliharaan (Maintenance)
Merupakan bagian paling akhir dari siklus pengembangan dan dilakukan setelah
perangkat lunak dipergunakan. Kegiatan :
- Corrective Maintenance : Mengoreksi kesalahan pada perangkat lunak, yang
baru terdeteksi pada saat perangkat lunak dipergunakan
- Adaptive Maintenance : Penyesuaian dengan lingkungan baru, misalnya
sistem operasi atau sebagai tuntutan atas perkembangan sistem komputer,
misalnya penambahan printer driver
- Perfektive Maintenance : Bila perangkat lunak sukses dipergunakan oleh
pemakai. Pemeliharaan ditujukan untuk menambah kemampuannya seperti
memberikan fungsi-fungsi tambahan, peningkatan kinerja dan sebagainya.
Kelemahan model linear sequential:
1. Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga
perubahan yang terjadi dapat menyebabkan hasil yang sudah didapat tim harus diubah
kembali/iterasi sering menyebabkan masalah baru.
2. Linear sequential model mengharuskan semua kebutuhan pemakai sudah dinyatakan
secara eksplisit di awal proses, tetapi kadang-kadang ini tidak dapat terlaksana karena
kesulitan yang dialami pemakai saat akan mengungkapkan semua kebutuhannya
tersebut.
3. Pemakai harus bersabar karena versi dari program tidak akan didapat sampai akhir
rentang waktu proyek.
4. Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim
proyek lainnya menuntaskan pekerjaannya.

Gambar 1. Model Waterfall

B. Prototyping Model
Pendekatan prototyping model digunakan jika pemakai hanya mendefenisikan
objektif umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan
output nya, sementara pengembang tidak begitu yakin akan efesiensi algoritma,
adaptasi sistem operasi, atau bentuk antarmuka manusia-mesin yang harus diambil.
Cakupan aktivitas dari prototyping model terdiri dari :

1. Mendefinisikan objektif secara keseluruhan dan mengidentifikasi kebutuhan yang


sudah diketahui.
2. Melakukan perancangan secara cepat sebagai dasar untuk membuat prototype.
3. Menguji coba dan mengevaluasi prototype dan kemudian melakukan penambahan dan
perbaikan-perbaikan terhadap prototype yang sudah dibuat.

Kelemahan prototyping model :


1. Pelanggan yang melihat working version dari model yang dimintanya tidak
menyadari, bahwa mungkin saja prototype dibuat terburu-buru dan rancangan tidak
tersusun dengan baik
2. Pengembang kadang-kadang membuat implementasi sembarang, karena ingin
working version bekerja dengan cepat
Gambar 2. Model Prototyping

C. RAD (Rapid Application Development) Model


Merupakan model proses pengembangan perangkat lunak secara linear sequential
yang menekankan pada siklus pengembangan yang sangat singkat. Jika kebutuhan
dipahami dengan baik, proses RAD memungkinkan tim pengembangan menciptakan
“sistem fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60-
90 hari)

Pendekatan RAD model menekankan cakupan :


1. Pemodelan bisnis (Bussiness Modelling)
Aliran informasi diantara fungsi-fungsi bisnis dimodelkan dengan suatu cara untuk
menjawab pertanyaan-pertanyaan berikut : Informasi apa yang mengendalikan proses
bisnis ? Kemana informasi itu pergi? Siapa yang memprosesnya ?
2. Pemodelan data (Data Modelling)
Aliran informasi yang didefinisikan sebagai bagian dari fase pemodelan bisnis
disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis
tersebut. Karakteristik/atribut dari masing-masing objek diidentifikasi dan hubungan
antara objek-objek tersebut didefinisikan.
3. Pemodelan proses (Process Modelling)
Aliran informasi yang didefinisikan dalam fase pemodelan data ditransformasikan
untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis.
Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus atau
mendapatkan kembali sebuah objek data.
4. Pembuatan aplikasi (Application generation)
Selain menciftakan perangkat lunak dengan menggunakan bahasa pemrograman
generasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk
memakai lagi komponen program yang telah ada atau menciftakan komponen yang
bias dipakai lagi. Pada semua kasus, alat-alat Bantu otomatis dipakai untuk
memfasilitasi kontruksi perangkat lunak.
5. Pengujian dan pergantian (Testing and turnover)
Karena proses RAD menekankan pada pemakaian kembali, banyak komponen yang
telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tapi komponen baru
harus diuji.

Kelemahan RAD model :


1. Untuk proyek dengan skala besar, RAD membutuhkan sumber daya manusia yang
cukup untuk membentuk sejumlah tim RAD.
2. RAD membutuhkan pengembang dan pemakai yang mempunyai komitmen untuk
melaksanakan aktivitas melengkapi sistem dalam kerangka waktu yang singkat.

Gambar 3. Model RAD

D. Spiral Model
Merupakan model proses perangkat lunak yang memadukan wujud pengulangan
dari model prototyping dengan aspek pengendalian dan sistematika dari linear
sequential model, dengan penambahan elemen baru yaitu analisis resiko. Model ini
memiliki 4 aktivitas penting, yaitu :
1. Perencanaan (Planning), penentuan tujuan, alternatif dan batasan
2. Analisis resiko (Risk Analysis), analisis alternatif dan identifikasi/pemecahan resiko
3. Rekayasa (Engineering), pengembangan level berikutnya dari produk
4. Evaluasi Pemakai (Customer Evaluation) penilaian terhadap hasil rekayasa
Bentuk spiral memberikan gambaran bahwa semakin besar iterasinya, maka
menunjukkan makin lengkap versi dari perangkat lunak yang dibuat. Selama awal
sirkuit, objektif, alternatif dan batasan didefinisikan serta resiko diidentifikasikan dan
dianalisa. Jika resiko menunjukkan ada ketidakpastian terhadap kebutuhan, maka
prototyping harus dibuat pada kuadran rekayasa. Simulasi dan pemodelan lain dapat
digunakan untuk mendefinisikan masalah dan memperbaiki kebutuhan.
Pelanggan mengevaluasi hasil rekayasa (kuadran evaluasi pelanggan) dan membuat
usulan untuk perbaikan. Berdasarkan masukan dari pelanggan, fase berikutnya adalah
perencanaan dan analisis resiko. Setelah analisis resiko selalu diperiksa apakah
proyek diteruskan atau tidak, jika resiko terlalu besar, maka proyek dapat dihentikan.
Model spiral ini adalah pendekatan yang paling realistic untuk sistem sekala besar.
Metode ini menggunakan pendekatan evolusioner, sehingga pelanggan dan
pengembang dapat mengerti dan bereaksi terhadap suatu resiko yang mungkin terjadi

Kelemahan spiral model :


1. Sulit untuk meyakinkan pemakai (saat situasi kontrak) bahwa penggunaan pendekatan
ini akan dapat dikendalikan.
2. Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya
supaya sukses.
3. Belum terbukti apakah metode ini cukup efisien karena usianya relatif baru.

Gambar 4. Model Spiral


E. Fourth Generation Techniques (4GT)
Istilah generasi ke empat, mengarah ke perangkat lunak yang umum yaitu tiap
pengembang perangkat lunak menentukan beberapa karakteristik perangkat lunak
pada level tinggi.
Saat ini pengembangan perangkat lunak yang mendukung 4GT, berisi tool-tool
berikut :
- Bahasa non prosedural untuk query basis data
- Report generation
- Data manipulation
- Interaksi layar
- Kemampuan grafik level tinggi
- Kemampuan spreadsheet

Tiap tool ini ada tapi hanya untuk sauatu aplikasi khusus.
Menggunakan perangkat bantu (tools) yang akan membuat kode sumber secara
otomatis berdasarkan spesifikasi dari pengembang perangkat lunak. Hanya digunakan
untuk menggunakan perangkat lunak yang menggunakan bahasa khusus atau notasi
grafik yang diselesaikan dengan syarat yang dimengerti pemakai. Cakupan aktivitas
4GT :

1. Pengumpulan kebutuhan, idealnya pelanggan akan menjelaskan kebutuhan yang akan


ditranslasikan ke prototype operasional.
2. Translasi kebutuhan menjadi prototype operasional, atau langsung melakukan
implementasi secara langsung dengan menggunakan bahasa generasi keempat (4GT)
jika aplikasi relatif kecil.
3. Untuk aplikasi yang cukup besar, dibutuhkan strategi perancangan sistem walaupun
4GT akan digunakan.
4. Pengujian.
5. Membuat dokumentasi.
6. Melaksanakan seluruh aktivitas untuk mengintegrasikan solusi-solusi yang
membutuhkan paradigma rekayasa perangkat lunak lainnya.
Salah satu keuntungan penggunaan model 4GT adalah pengurangan waktu dan
peningkatan produktivitas secara besar, sementara kekurangannya terletak pada
kesulitan penggunaan perangkat bantu (tools) dibandingkan dengan bahsa
pemrograman, dan juga kode sumber yang dihasilkannya tidak efisien.
Untuk aplikasi yang yang kecil, adalah mungkin untuk langsung berpindah
dari pengumpulan kebutuhan ke implementasi dengan menggunakan 4GT. Tapi untuk
aplikasi yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau
digunakan 4GT. Penggunaan 4GT tanpa perencanaan yang matang (untuk proyek
skala besar) akan meyebabkan kesulitan yang sama (kualitas dan pemeliharaan yang
jelek, ketidakpuasan pelanggan) seperti dengan metode konvensional.[6]

Gambar 4. Model 4GT

Pendekatan Perancangan Sistem

A. Perancangan Sistem Terstruktur (Structured Analisys and Design / SSAD)


1. Pengertian
Perancangan terstruktur merupakan aktivitas mentransformasikan hasil
analisis kedalam suatu perencanaan untuk dapat diimplementasikan. Pendekatan
terstruktur dilengkapi dengan alat-alat (tools) dan teknik-teknik (techniques) yang
dibutuhkan dalam pengembangan sistem, sehingga hasil akhir dari sistem yang
dikembangkan akan diperoleh sistem yang strukturnya didefinisikan dengan baik
dan jelas.
Melalui pendekatan terstruktur, permasalahan yang komplek di organisasi
dapat dipecahkan dan hasil dari sistem akam mudah untuk dipelihara,
fleksibel, lebih memuaskan pemakainya, mempunyai dokumentasi yang baik,
tepat waktu, sesuai dengan anggaran biaya pengembangan, dapat
meningkatkan produktivitas dan kualitasnya akan lebih baik(bebas kesalahan).

2. Ciri-ciri
- Merancang berdasar modul
Modularisasi adalah proses yang membagi suatu sistem menjadi beberapa
modul yang dapat beroperasi secara independen
- Bekerja dengan pendekatan top-down
Dimulai dari level atas (secara global) kemudian diuraikan sampai tingkat
modul (rinci)
- Dilakukan secara iterasi
Dengan iterasi akan didapat hasil yang lebih baik, terlalu banyak iterasi juga
akan menurunkan hasilnya dan menunjukkan bahwa tahap sebelumnya tidak
dilakukan dengan baik
- Kegiatan dilakukan secara pararel
Pengembangan subsistem-subsistem dapat dilakukan secara pararel,
sehingga akan memperpendek waktu pengembangan sistem
3. Kelebihan
- Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen
proyek .
- SSAD merupakan pendekatan visual, ini membuat metode ini mudah
dimengerti oleh pengguna atau programmer.
- Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan
bagus untuk digunakan.
- SSAD merupakan metode yang diketahui secara umum pada berbagai
industry.
- SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang
dan layak untuk digunakan.
- SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan

4. Kekurangan
- SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan
non-fungsional.
- Sedikit sekali manajemen langsung terkait dengan SSAD
- Prinsip dasar SSAD merupakan pengembangan non-terative (waterfall),
akan tetapi kebutuhan akan berubah pada setiap proses.
- Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem
telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan
(kebutuhan-kebutuhan baru)
- Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang
digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sliit
bagi pengguna untuk melakukan evaluasi.
- Pada SAAD sulit sekali untuk memutuskan ketika ingin menghentikan
dekomposisi dan mliai membuat sistem.
- SSAD tidak selalu memenuhi kebutuhan pengguna.
- SSAD tidak dapat memenuhi kebutuhan terkait bahasa
- pemrograman berorientasi obyek, karena metode ini memang didesain
untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada
obyek (Jadalowen, 2002)[7]
5. Tools yang digunakan
- Data Flow Diagram (DFD)
1. Pengertian
Data Flow Diagram atau sering disingkat DFD adalah perangkat-perangkat
analisis dan perancangan yang terstruktur sehingga memungkinkan peng-analis sistem
memahami sistem dan subsistem secara visual sebagai suatu rangkaian aliran data
yang saling berkaitan.
2. Fungsi
- DFD memiliki kegunaan untuk perancangan sebuah sistem yang memiliki
orientasi pada alur data. Sehingga dengan demikian mudah menggambarkan dan
menganalisanya.
- DFD dapat berguna sebagai perancangan sistem yang mudah dikomunikasikan
kepada pengguna.
- Membantu pengembang aplikasi dalam menggambarkan alur data secara jelas dan
rinci.
- Memudahkan user atau pengguna dalam memahami sebuah sistem.
- Membantu penerapan sistem yang lebih baik dan sempurna, sebab terdapat
rancanganya terlebih dahulu.
3. Simbol DFD
a. Kesatuan Luar/Terminator (External Entity)
Setiap sistem pasti mempunyai batas sistem (boundary) yang memisahkan suatu
sistem dengan lingkungan luarnya. Kesatuan luar (external entity) merupakan
kesatuan (entity) di lingkungan luar sistem yang berupa orang, organisasi atau sistem
lainnya yang berada di lingkungan luarnya yang akan membeikan input atau
menerima output dari sistem (Jogiyanto, 1989).
Suatu kesatuan luar dapat disimbolkan dengan suatu notasi kotak.

Terminator dapat berupa orang, sekelompok orang, organisasi, departemen di


dalam organisasi, atau perusahaan yang sama tetapi di luar kendali sistem yang
sedang dibuat modelnya. Terminator dapat juga berupa departemen, divisi atau sistem
di luar sistem yang berkomunikasi dengan sistem yang sedang dikembangkan.

b. Arus Data (Data Flow)


Arus data (data flow) di DFD diberi simbol suatu panah. Arus data ini mengalir
diantara proses (Process), simpanan data (data store) dan kesatuan luar (external
entity). Arus data ini menunjukkan arus data yang dapat berupa masukkan untuk
sistem atau hasil dari proses sistem.

Arus data data dapat dapat berbentuk berbentuk sebagai sebagai berikut :
- Formulir atau atau dokumen dokumen yang yang digunakan digunakan
perusahaan perusahaan.
- Laporan tercetak tercetak yang yang dihasilkan dihasilkan sistem sistem
- Output dilayar komputer
- Masukan untuk komputer
- Komunikasi ucapan
- Surat atau memo
- Data yang dibaca atau atau direkam di file suatu isian yang yang dicatat pada
buku agenda
- Transmisi data dari suatu komputer ke komputer lain

c. Proses (Proccess)
Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin, atau
komputer dan hasil suatu arus data yang masuk ke dalam proses untuk dilakukan arus
data yang akan keluar dari prises. Suatu proses dapat ditunjukkan dengan simbol
lingkaran atau dengan simbol empat persegi panjang tegak dengan sudut-sudutnya
tumpul.

Ada beberapa hal yang perlu diperhatikan tentang proses :

- Proses harus memiliki input dan output.


- Proses dapat dihubungkan dengan komponen terminator, data store atau proses
melalui alur data.
- Sistem/bagian/divisi/departemen yang sedang dianalisis oleh profesional sistem
digambarkan dengan komponen proses.
d. Simpanan Data (Data Store)
Simpanan data (data store) merupakan simpanan dari data yang dapat berupa file
atau database di sistem komputer, arsip atau catatan manual, kotak tempat data di
meja seseorang, tabel acuan manual, agenda atau buku. Simpanan data di DFD dapat
disimbolkan dengan sepasang garis horizontal paralel yang tertutup di salah satu
ujungnya.

e. Kelebihan:
1. DFD membantu para analis sitem meringkas informasi tentang sistem,mengetahui
hubungan antar sub-subsistem, membantu perkembangan aplikasi secara efektif. DFD
tidak menunjukkan proses pengulangan (loop).
2. DFD berfungsi sebagai alat komunikasi yang baik antara pemakai dan analis sistem.
DFD tidak menunjukkan proses perhitungan.
3. DFD dapat menggambarkan sejumlah batasan otomasi (teknik untuk membuat
perangkat, proses, atau sistem agarberjalan secara otomatis) untuk pengembangan
alternatif sistem fisik.

f. Kekurangan:

1. DFD tidak menunjukkan proses pengulangan (loop).


2. DFD berfungsi sebagai alat komunikasi yang baik antara pemakai dan analis sistem.
DFD tidak menunjukkan proses perhitungan.
3. DFD dapat menggambarkan sejumlah batasan otomasi (teknik untuk membuat
perangkat, proses, atau sistem agar berjalan secara otomatis) untuk pengembangan
alternatif sistem fisik. DFD tidak memperlihatkan aliran kontrol.
4. Lemah dalam konsep model untuk pendeskripsian data dan basis data

Selanjutnya beberapa tools yang juga digunakan adalah:


- Kamus Data
- Entity Relationship Diagram (ERD)
- State Transition Diagram (STD) [8]
6. Perancangan Berbasis Objek

1. Pengertian
Pendekatan berorientasi objek merupakan paradigma pemrograman yang
berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini
dibungkus dalam kelas-kelas atau objek-objek.

Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat


menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
Seiring dengan trend sebuah metodologi dibangun untuk membantu
programmer dalam mengunakan bahasa pemrograman berorientasi objek.
Metodologi ini dikenal dengan object-oriented analysis and design (OOAD).
2. Ciri-ciri
- Abstraksi, yaitu prinsip untuk merepresentasikan dunia nyata yang
kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan
aspek-aspek lain yang tidak sesuai dengan permasalahan.
- Enkapsulasi, yaitu pembungkusan atribut data dan layanan (operasi-
operasi) yang dipunyai objek.
- Pewarisan (Inheritance), yaitu mekanisme yang memungkinkan satu objek
mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dan
dirinya.
- Reusability, yaitu pemanfaatan kembali objek yang sudah didefinisikan
untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek
tersebut.
- Generalisasi dan Spesialisasi, yaitu menunjukkan hubungan antara kelas
dan objek yang umum dengan kelas dan objek yang khusus.
- Komunikasi Antar Objek, yaitu dilakukan lewat pesan yang dikirim dari
satu objek ke objek lainnya.
- Polymorphism, yaitu kemampuan suatu objek untuk digunakan dibanyak
tujuan yang berbeda dengan nama yang sama, sehingga menghemat baris
program.
3. Kelebihan
- Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam
pembangunan system
- Dibandingkan dengan SSAD, waktu pengembangan, level organisasi,
ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi
dibandingkan dengan metode OOAD (Sommerville, 2000).
- Tidak adapemisahan antara fase desain dan analisis, sehingga meningkatkan
komunikasi antara user dan developer dari awal hingga akhir pembangunan
sistem.
- Analis dan programmer tidak dibatasi dengan batasan implementasi sistem,
jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai
lingkungan eksekusi.
- Relasi obyek dengan entitas (thing) umumnya dapat dimapping dengan baik
seperti kondisi padadunia nyata danketerkaitan dalam sistem. Hal ini
memudahkan dalam mehami desain(Sommerville, 2000)

4. Kekurangan
- Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
- Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
- Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang
dibutuhkan sistem.
- Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan
anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis
pada fungsional sistem. [9]
5. Tools yang digunakan
- Unified Modeling Language (UML)
1. Pengertian
UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan
grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan
pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-
Oriented).
2. Fungsi
- Dapat memberikan bahasa permodelan visual kepada pengguna dari berbagai
macam pemerograman maupun proses rekayasa.
- Dapat menyatukan praktek-praktek terbaik yang ada dalam permodelan.
- Dapat memberikan model yang siap untuk digunakan, merupakan bahasa
permodelan visual yang ekspresif untuk mengembangkan sistem dan untuk saling
menukar model secara mudah.
- Dapat berguna sebagai blue print, sebab sangat lengkap dan detail dalam
perancangannya yang nantinya akan diketahui informasi yang detail mengenai
koding suatu program.
- Dapat memodelkan sistem yang berkonsep berorientasi objek, jadi tidak hanya
digunakan untuk memodelkan perangkat lunak (software) saja.
- Dapat menciptakan suatu bahasa permodelan yang nantinya dapat dipergunakan
oleh manusia maupun oleh mesin.
3. Bagian Bagian dari UML
Bagian-bagian utama dari UML, antara lain:
a. View
View digunakan untuk melihat sistem yang dimodelkan dari beberapa aspek yang
berbeda. Ada beberapa jenis view dalam UML antara lain sebagai berikut:
- Use Case view
Ialah bentuk fungsionalitas dari sistem yang diinginkan oleh user (dalam hal ini
aktor). View ini digambarkan dalam user case diagram dan seringkali juga dibuat
dalam class diagram. View digunakan dalam pelanggan, perancang, pengembang
dan penguji sistem.
- Logical View
Mendeskripsikan bagaimana fungsionalitas dari sistem, struktur statis (class,
object dan ralationship) dan kolaborasi dinamis yang terjadi ketika object
mengirim pesan ke object lain dalam suatu fungsi tertentu. View digunakan untuk
perancang dan pengembang.
- Component view
Mendeskripsikan implementasi dan ketergantungan modul. Komponen ini ialah
tipe lainnya dari code module diperlihatkan dengan struktur dan
ketergantungannya juga alokasi sumber daya komponen dan informasi
administrasi lainnya. View digunakan untuk pengembang.
- Deployment View
Mendeskripsikan fisik dari sistem seperti komputer dan perangkat dan bagaimana
hubungannya dengan lainnya. View digunakan untuk pengembang, pengintegrasi
dan penguji.
b. Diagram
Diagram ialah presentasi grafis dari sekumpulan elemen model yang disusun
untuk mengilustrasikan bagian atau aspek tertentu dari sistem. Sebuah diagram
merupakan bagian dari suatu view tertentu. Adapun jenis diagram antara lain:
- Use Case Diagram
Menggambarkan sejumlah external actors dan hubungannya ke use case yang
diberikan oleh sistem. Use case ialah deskripsi fungsi yang disediakan oleh sistem
dalam bentuk teks sebagai dokumentasi dari use case symbol namun dapat juga
dilakukan dalam activity diagrams. Use case digambarkan hanya dilihat dari luar
actor dan bukan fungsi yang ada di dalam sistem.
- Class Diagram
Menggambarkan struktur statis class di dalam sistem. Class merepresentasikan
sesuatu yang ditangani oleh sistem. Class dapat berhubungan dengan yang lain
melalui berbagai cara, yaitu: associated, dependent, specialed atau package.
- Statechart Diagram
Menggambarkan semua state yang dimiliki oleh suatu object dari suatu class dan
keadaan yang menyebabkan state berubah. Kejadian dapat berupa object lain yang
mengirim pesan. State class tidak digambarkan untuk semua class, hanya yang
mempunyai sejumlah state yang terdefinisi dengan baik.
- Sequence Diagram
Menggambarkan semua state yang dimiliki oleh suatu object dari suatu class dan
keadaan yang menyebabkan state berubah. Kejadian dapat berupa object lain yang
mengirim pesan. State class tidak digambarkan untuk semua class, hanya yang
mempunyai sejumlah state yang terdefinisi dengan baik.
- Collaboration Diagram
Menggambarkan kolaborasi dinamis seperti sequnce diagram. Dalam
menunjukkan pertukaran pesan, collaboration diagram menggambarkan object
dan hubungannya.
- Activity Diagram
Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk
mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga dapat juga
digunakan untuk aktifitas lainnya seperti use case atau interaksi.
- Component Diagram
Menggambarkan alokasi semua kelas dan object kedalam komponen-komponen
dalam desain fisik sistem software. Diagram ini memperlihatka pengaturan dan
ketergantungan antara komponen-komponen software seperti source code, binary
code dan komponen yang tereksekusi.
- Deployment Diagram
Menggambarkan arsitektur fisik dari perangkat keras dan perangkat lunak sistem,
menunjukkan hubungan komputer dengan perangkat satu sama lain dan jenis
hubungannya.

4. Hubungan atau Relationship


Ada 4 macam hubungan didalam penggunaan UML, yaitu :
- Dependency, ialah hubungan semantik antara dua benda yang mana sebuah benda
berubah mengakibatkan benda satunya akan berubah pula. Umumnya sebuah
dependency digambarkan sebuah panah dengan garis terputus-putus.
- Association, hubungan antar benda struktural yang terhubungan diantara object.
Kesatuan object yang terhubungan ialah hubungan khusus, yang menggambarkan
sebuah hubungan struktural diantara seluruh atau sebagian. Umumnya association
digambarkan dengan sebuah garis yang dilengkapi dengan sebuah label, nama,
dan status bubungannya.
- Generalizations, ialah menggambarkan hubungan khusus dalam object anak yang
menggantikan object induk. Dalam hal ini, object anak memberikan pengaruhnya
dalam hal struktur dan tingkah lakunya kepada object induk. Digambarkan dengan
garis panah.
- Realizations, ialah hubungan semantik antara pengelompokkan yang menjamin
adanya ikatan diantaranya. Hubungan ini dapat diwujudkan diantara interface dan
kelas atau elements, serta antara use case dan collaborations. Model dari sebuah
hubungan realization.
Selanjutnya beberapa tools yang juga digunakan adalah:
- Rational Unified Process (RUP) (Rational Software –IBM 2003)
- Fusion (Coleman 1994)
- STS development Method 3 (ADM3) (Firesmith 1993)
- Berard’sobject-oriented design (Berard 1991)
- Booch’sobject-oriented design (Booch 1983, 1991) [10]

Sumber
1. https://www.awalilmu.com/2018/12/pengertian-komputer-dan-komponennya-
lengkap.html?m=1
2. www.academia.edu
3. www.It.jurnal.com
4. www.academia.edu
5. Jauhari, Jaidan. ___.“Modul Rekayasa Perangkat Lunak.”__:__.pdf.
http://heckerlaye.files.wordpress.com/2009/11/modul-rekayasa-perangkat-lunak.pdf
6. Jauhari, Jaidan. ___.“Modul Rekayasa Perangkat Lunak.”__:__.pdf.
http://heckerlaye.files.wordpress.com/2009/11/modul-rekayasa-perangkat-lunak.pdf
7. http:/robby_kurniawan.staff.gunadarma.ac.id
8. https://cakhasan.com/contoh-dfd/
9. https://www.academia.edu/19262476/Perancangan Sistem Berorientasi Objek Dengan
UML
10. http://bailintin.blogger.mercubuana.ac.id/2017/09/15/pengertian-uml-dan-jenis-
jenisnya-serta-contoh-diagramnya/

Anda mungkin juga menyukai