Anda di halaman 1dari 64

Modul 1

Pengantar Rekayasa
Perangkat Lunak
Bahar, S.T., M. Kom.

Pendahuluan
Selama era evolusi sistem berbasis komputer, serangkaian masalah yang
berhubungan dengan perangkat lunak masih muncul, dan intensitas
masalah-masalah tersebut terus bertambah.
1. Kemajuan perangkat keras terus berlanjut, melampaui kemampuan
kita untuk membangun perangkat lunak yang sesuai dengan
perangkat keras yang ada.
2. Kemampuan kita untuk membangun program baru tidak dapat
memenuhi kebutuhan akan program baru, juga tidak dapat
membangun program yang cukup cepat untuk memenuhi kebutuhan
bisnis dan pasar.
3. Pemakaian komputer yang tersebar luas membuat masyarakat
semakin tergantung pada operasi perangkat lunak yang reliabel.
Kerusakan ekonomi yang besar dan potensi penderitaan manusia
dapat muncul bila terjadi kegagalan perangkat lunak.
4. Kita berjuang untuk membangun perangkat lunak komputer dengan
reliabilitas dan kualitas yang sangat tinggi.
5. Kemampuan kita untuk mendukung program yang ada terhambat
oleh buruknya desain serta sumber daya yang tidak memadai.
1.2

Untuk menjawab masalah-masalah tersebut, praktik-praktik


pengembangan perangkat lunak saat ini sedang diangkat ke seluruh
bidang industri.
Setelah mempelajari modul ini mahasiswa diharapkan secara lebih
rinci mampu:
1. Menjelaskan Definisi Perangkat Lunak dan Rekayasa Perangkat
Lunak
2. Menjelasan Karakteristik Perangkat Lunak
3. Menjelaskan Kualifikasi Perangkat Lunak
4. Menjelaskan Jenis-jenis Perangkat Lunak
5. Menjelaskan (Memahami) Konsep Rekayasa Sistem
6. Menjelaskan (memahami) Konsep Pemodelan Sistem
7. Menjelaskan Siklus Hidup Pengembangan Sistem Perangkat Lunak
8. Menjelaskan Pengertian dan Ragam Metodologi Pengembangan
Perangkat Lunak
9. Menjelaskan Pentingnya Metodologi Pengembangan Perangkat
Lunak

RPL – Pemodelan Perangkat Lunak


1.3

Kegiatan Belajar 1-1

Perangkat Lunak dan


Rekayasa Perangkat Lunak

Pada masa-masa awal perhitungan, sistem berbasis komputer


dikembangkan dengan menggunakan manajemen yang berorientasi pada
perangkat keras. Para manajer proyek teknologi informasi memfokuskan
diri kepada perangkat keras karena pengembangan sistem membutuhkan
biaya yang sangat besar. Untuk mengontrol biaya perangkat keras,
manajer melembagakan pengendalian formal serta standar-standar
teknis. Mereka perlu melakukan analisis dan desain secara cermat
sebelum melakukan sesuatu. Mereka mengukur proses yang ada serta
menentukan dimana dapat dilakukan pengembangan. Mereka
menekankan pada kontrol dan kepastian kualitas. Mereka membangun
prosedur-prosedur untuk mengatur perubahan. Singkatnya, mereka
menerapkan kontrol, metode, dan alat-alat yang kita kenal sebagai
hardware engineering. Pada masa itu perangkat lunak belum banyak
dipikirkan.
Pada masa-masa awal, pemrograman masih dilihat sebagai ‘seni’.
Hanya sedikit saja metode yang ada dan lebih sedikit lagi orang yang
memahaminya. Para pemrogram bahkan kadang-kadang harus
mempelajarinya dengan cara coba-coba. Pada dasarnya, dunia perangkat
lunak adalah dunia yang tidak disiplin, tetapi banyak praktisi di masa
sekarang ini yang menyukainya.
Sekarang distribusi biaya untuk pengembangan sistem yang berbasis
komputer sudah berubah secara dramatis. Dibanding perangkat keras,
perangkat lunak merupakan salah satu bentuk tunggal yang berbiaya

MODUL 1
1.4

paling tinggi. Selama hampir dua dekade ini, para praktisi melontarkan
pertanyaan-pertanyaan:
- Mengapa membutuhkan waktu yang sangat lama untuk
menyelesaikan suatu program komputer?
- Mengapa biaya sangat tinggi?
- Dapatkah menemukan kesalahan yang ada pada program sebelum
mendistribusikannya kepada pelanggan?
- Mengapa sangat sulit untuk mengukur kemajuan pada saat perangkat
lunak dikembangkan?
Pertanyaan-pertanyaan tersebut serta masih banyak pertanyaan
lainnya, merupakan manifestasi dari perhatian terhadap perangkat lunak
dan cara pengembangannya.

A. Definisi Perangkat Lunak Dan


Rekayasa Perangkat Lunak
Banyak orang menyamakan istilah perangkat lunak dengan program
komputer. Sesungguhnya pandangan ini dangkal. Perangkat lunak tidak
hanya mencakup program, tetapi juga semua dokumentasi dan
konfigurasi data yang berhubungan, yang diperlukan untuk membuat
agar program beroperasi dengan benar (Sommerville, 2016). Sistem
perangkat lunak biasanya terdiri dari sejumlah program yang terpisah-
pisah, file-file konfigurasi yang digunakan untuk membuat program-
program ini, dokumentasi sistem yang mendeskripsikan struktur sistem
dan dokumentasi user yang menjelaskan bagaimana penggunaan sistem
tersebut, dan untuk produk-produk perangkat lunak disediakan situs web
agar user bisa mengunduh informasi produk terbaru.
Menurut Pressman (2010) perangkat lunak adalah:

RPL – Pemodelan Perangkat Lunak


1.5

(1) Perintah (program komputer) yang jika dieksekusi akan memberikan


layanan-layanan atau fungsi seperti yang diinginkan
(2) Struktur data yang memungkinkan program untuk memanipulasi
informasi secara proporsional
(3) Dokumen-dokumen yang menggambarkan operasi dan kegunaan
program
IEEE (Standard Glossary of Software Engineering Terminology,
1990) mendefinisikan perangkat lunak sebagai program komputer,
prosedur, dan dokumentasi serta data yang terkait dengan pengoperasian
sistem komputer.
Berdasarkan definisi para ahli perangkat lunak tersebut, dapat
disimpulkan bahwa perangkat lunak bukan sekedar sebuah program
komputer, akan tetapi termasuk didalamnya dokumen-dokumen yang
menyertainya. Dokumen-dokumen penyerta dapat berupa dokumen
desain, dokumen pengoperasian, serta dokumen pemeliharaan.
Rekayasa perangkat lunak (software engineering) merupakan suatu
disiplin ilmu yang membahas semua aspek produksi perangkat lunak
(software), mulai dari tahap awal kajian spesifikasi / kebutuhan sistem
sampai pemeliharaan sistem setelah digunakan (Sommerville, 2016).
Pada definisi ini, ada dua istilah kunci:
1. ‘Disiplin rekayasa’, yang berarti bahwa perekayasa membuat suatu
alat bekerja. Mereka menerapkan teori, metode, dan alat bantu yang
sesuai, selain itu mereka menggunakannya dengan selektif dan selalu
mencoba mencari solusi terhadap permasalahan, walaupun tidak ada
teori atau metode yang mendukung. Perekayasa juga menyadari
bahwa mereka harus bekerja dalam batasan organisasi dan keuangan,
sehingga mereka berusaha mencari solusi dalam batasan-batasan ini.
2. ‘Semua aspek produksi perangkat lunak’, yang berarti Rekayasa
Perangkat Lunak tidak hanya berhubungan dengan proses teknis dari

MODUL 1
1.6

pengembangan perangkat lunak tetapi juga dengan kegiatan seperti


manajemen proyek perangkat lunak dan pengembangan alat bantu,
metode, dan teori untuk mendukung produksi perangkat lunak.
Secara umum, perekayasa perangkat lunak memakai pendekatan
yang sistematis dan terorganisir terhadap pekerjaan mereka karena cara
ini seringkali paling efektif untuk menghasilkan perangkat lunak
berkualitas tinggi. Namun demikian, rekayasa ini sebenarnya mencakup
masalah pemilihan metode yang paling sesuai untuk satu set keadaan
dan pendekatan yang paling kreatif, informal terhadap pengembangan
yang mungkin efektif pada beberapa keadaan.

B. Karakteristik Perangkat Lunak


Untuk memperoleh pemahaman tentang perangkat lunak (serta
pemahaman tentang software engineering), penting juga untuk meneliti
karakteristik perangkat lunak yang membuat perangkat lunak berbeda
dari hal-hal yang dibangun oleh manusia.
Perangkat lunak lebih merupakan elemen logika dan bukan
merupakan elemen sistem fisik. Dengan demikian, perangkat lunak
memiliki karakteristik yang berbeda dari perangkat keras (Pressman,
2010):
1. Perangkat lunak dibangun dengan konsep rekayasa, bukan secara
manufaktur (pabrikan)
Meskipun banyak kesamaan di antara pabrik perangkat keras dan
perangkat lunak, aktivitas keduanya secara mendasar sangat beda.
Perangkat lunak adalah suatu produk yang lebih menekankan pada
kegiatan rekayasa (engineering) dibandingkan kegiatan manufacturing
(rancang bangun di pabrik). Pembuatan perangkat lunak yang
berkualitas tinggi dapat dicapai melalui perancangan yang baik, walau
dalam fase perangkat keras, selalu saja ditemukan masalah kualitas yang

RPL – Pemodelan Perangkat Lunak


1.7

tidak mudah untuk disesuaikan dengan perangkat lunak. Biaya untuk


perangkat lunak dikonsentrasikan pada pengembangan. Hal ini berarti
proyek perangkat lunak tidak dapat diatur seperti pengaturan proyek
pemanufakturan.
2. Perangkat lunak tidak pernah usang
Perangkat lunak tidak rentan terhadap pengaruh lingkungan yang
merusak yang mengakibatkan perangkat lunak menjadi usang.
Kesalahan-kesalahan yang tidak dapat ditemukan menyebabkan tingkat
kegagalan menjadi sangant tinggi pada awal hidup program, tetapi hal
itu dapat diperbaiki dalam siklus pengembangannya. Barang Manufaktur
biasanya komponen barunya akan terus di produksi, RPL terus
diperbaiki seiring bertambahnya kebutuhan.
3. Sebagian besar perangkat lunak masih dibangun secara custom built,
serta tidak dapat dirakit dari komponen yang sudah ada.
Paradigma baru diterapkan dalam rekayasa perangkat lunak, yaitu
konsep reuseability. Komponen perangkat lunak didisain sedemikia rupa
agar dapat digunakan kembali pada program yang berlainan.

C. Kualitas Perangkat Lunak


Selain layanan yang perangkat lunak berikan, produk-produk perangkat
lunak memiliki sejumlah atribut relevan lainnya yang merefleksikan
kualitas perangkat lunak tersebut. Atribut-atribut ini tidak langsung
berhubungan dengan apa yang dilakukan perangkat lunak tersebut,
melainkan perangkat luna tersebut menunjukkan perilaku perangkat
lunak pada dipakai, struktur, organisasi program sumber, dan
dokumentasi yang berkaitan. Contoh atribut-atribut ini (kadang-kadang
disebut atribut nonfungsional) adalah waktu tanggap perangkat lunak
terhadap permintaan user dan dapat dipahaminya kode program

MODUL 1
1.8

Karakteristik lainnya yang mencerminkan kualitas perangkat lunak


adalah terkait dengan (Sommerville, 2016):
1. Dapat dipelihara
Perangkat lunak harus ditulis sedemikian rupa sehingga perangkat
lunak dengan mudah dapat diubah seiring dengan perubahan
kebutuhan pelanggan. Ini merupakan atribut kritis karena perubahan
perangkat lunak merupakan konsekwensi yang tidak terelakkan pada
lingkungan bisnis yang terus berubah. Agar mudah dipelihara, maka:
a. Perangkat lunak disusun dengan memperhatikan algoritma, alur
penyajian, dan pengorganisasian, sehingga mudah dalam
pemeliharaan
b. Kode atau script tetap dibuat sederhana dan mudah dipahami
meskipun menjalankan fungsi yang kompleks
c. Kode sebaiknya bersifat modular dengan dokumentasi pada tiap
bagian, sehingga siapa saja yang ingin memperbaiki software,
dengan mudah dapat melakukannya
d. Menerapkan standard pengkodean
2. Dapat diandalkan
Perangkat lunak yang dapat diandalkan mempunyai serangkaian
karakteristik, termasuk keandalan, keamanan, dan keselamatan.
Perangkat lunak yang dapat dipercaya seharusnya tidak
menyebabkan kerusakan fisik atau ekonomi jika terjadi kegagalan
sistem.
3. Efisien
Tanpa alasan yang bisa di pertanggungjawabkan, perangkat lunak
tidak boleh menggunakan sumber daya sistem seperti siklus memori
dan prosesor. Dengan demikian, efisiensi mencakup kecepatan
tanggapnya, lamanya waktu pemrosesan, kerakusannya memakan
memori, dan lain-lain.

RPL – Pemodelan Perangkat Lunak


1.9

4. Kemampupakaian
Perangkat lunak harus dapat dipakai, tanpa usaha yang tidak perlu
oleh user yang dituju. Ini berarti bahwa perangkat lunak harus
memiliki antarmuka user yang bagus dan dokumentasi yang
mencukupi.

D. Jenis-Jenis Perangkat Lunak


Perangkat lunak dapat diaplikasikan ke berbagai siatuasi dimana
serangkaian langkah prosedural (seperti algoritma) telah didefenisikan.
Sebagai contoh, banyak aplikasi bisnis memakai data inpur yang sangat
terstruktur (sebuah database) dan menghasilkan ‘laporan’ yang sudah
terformat.
Terdapat juga perangkat lunak yang menggunakan algoritma non-
numerik untuk menyelesaikan masalah kompleks yang tidak sesuai
untuk perhitungan maupun analisis secara langsung. Contoh: sistem
pakar, aplikasi dengan jaringan syaraf tiruan, image dan suara,
pembuktian teorema, permainan game. Terdapat juga.
Selain itu, ada perangkat lunak yang mengontrol sebuah mesin
otomatis (misal: kontrol numerik) menerima bentuk-bentuk data diskrit
dengan struktur yang terbatas dan menghasilkan perintah mesin
individual dalam proses yang cepat.
Memang sulit untuk menentukan kategori umum untuk aplikasi
perangkat lunak, namun demikian jenis perangkat lunak dapat
dikategorikan menjadi:
1. Berdasarkan Pasarannya (sommerfille, 2016)
a. Perangkat lunak generik.
Perangkat lunak generik merupakan sistem stand-alone (berdiri
sendiri) standar yang diproduksi oleh organisasi pengembang

MODUL 1
1.10

dan dijual pada pasar terbuka ke siapapun yang bisa


membelinya.
Contoh: database, pengolah kata (word processor), paket untuk
menggambar, dan alat bantu manajemen proyek.

Gambar 1-1-1: Contoh Tampilan Perangkat Lunak Generik

b. Produk Pesanan (yang disesuaikan)


Perangkat lunak pesanan merupakan sistem-sistem yang dipesan
oleh pelanggan tertentu untuk keperluan khusus. Perangkat lunak
dikembangkan khusus bagi pelanggan tersebut oleh konsultan
perangkat lunak.
Contoh: sistem kontrol untuk peranti elektronik tertentu, sistem
yang dikembangkan untuk mendukung proses bisnis tertentu,
sistem kontrol lalulintas udara.

RPL – Pemodelan Perangkat Lunak


1.11

Gambar 1-1-2: Contoh Tampilan Desain Perangkat Lunak Pesanan

2. Berdasarkan Platform (Pressman, 2010).

a. Perangkat lunak Sistem.


Perangkat lunak sistem merupakan sekumpulan program yang
ditulis untuk melayani program-program yang lain, atau
melayani / mengatur perangkat keras. Banyak perangkat lunak
sistem (misal: kompiler, editor, dan utilitas pengatur file)
memproses struktur-struktur informasi yang lengkap namun
tetap. Aplikasi-aplikasi sistem yang lain (sistem operasi, driver,
prosesor telekomunikasi) memproses secara luas data yang
bersifat tetap. Di dalam setiap kasus tersebut, are perangkat
lunak sistem, ditandai dengan eratnya interaksi dengan perangkat
keras komputer; penggunaan oleh banyak pemakai; operasi
konkuren yang membutuhkan penjadwalan, tukar menukar
sumber daya, dan pengaturan proses yang canggih.

b. Perangkat lunak bisnis.


Pemrosesan informasi bisnis merupakan area aplikasi perangkat
lunak yang paling luas. Sistem diskrit (misalnya: payroll,

MODUL 1
1.12

account receivable/ payable, inventory, dan lain-lain) telah


mengembangkan perangkat lunak sistem informasi manajemen
yang mengakses satu atau lebih database besar yang berisi
informasi bisnis. Aplikasi dalam area ini menyusun kembali
struktur data yang ada dengan suatu cara tertentu untuk
memperlancar operasi bisnis atau pengambilan keputusan
manajemen. Contoh lainnya adalah aplikasi pengolahan data
konvensional berupa aplikasi perangkat lunak bisnis
penghitungan interaktif (misal: pemrosesan transaksi poin of
sale / POS)

c. Perangkat Lunak Embedded (Embedded Software)


Produk pintar telah menjadi bagian yang umum bagi hampir
semua konsumen dan pasar industri. Embedded Software ada
dalam read-only memory (ROM) dan dipakai untuk mengontrol
hasil serta sistem untuk keperluan konsumen dan pasar industri.
Embedded Software dapat melakukan fungsi yang terbatas serta
fungsi esoterik (misalnya key pad control untuk microwave) atau
memberikan kemampuan kontrol dan fungsi yang penting
(contoh: fungsi digital dalam sebuah automobile seperti kontrol
bahan bakar, penampilan dash-board, sistem rem, dan lain-lain)

d. Perangkat Lunak Komputer Personal


Pasar perangkat lunak komputer personal telah berkembang
selama dekade terakhir. Pengolah kata, spreadsheet, grafik
komputer, multimedia, hiburan manajemen database, aplikasi
keuangan, bisnis dan personal, jaringan eksternal atau akses
database hanya merupakan beberpa saja dari ratusan aplikasi
komputer personal yang ada.

e. Perangkat Lunak Kecerdasan Buatan

RPL – Pemodelan Perangkat Lunak


1.13

Perangkat lunak kecerdasan buatan (Artificial Inteligent / AI)


menggunakan algoritma non-numeris untuk memecahkan
masalah kompleks yang tidak sesuai untuk perhitungan atau
analisis secara langsung. Beberapa model kecerdasan buatan
yang aktif adalah sistem pakar, disebut juga sistem berbasis ilmu
pengetahuan. Area aplikasi lainnya untuk perangkat lunak
kecerdasan buatan adalah pengenalan pola (image dan voice),
pembuktian teorema, dan perbainan game. Di tahun-tahun
terakhir ini juga telah berkembang cabang perangkat lunak
kecerdasan buatan yang baru, yang disebut artificial neural
network. Jaringan saraf mensimulasi struktur proses-proses otak
(fungsi saraf biologis) dan kemudian membawanya kepada
perangkat lunak kelas baru yang dapat mengenali pola-pola yang
kompleks serta belajar dari pengalaman-pengalaman masa lalu.

f. Perangkat Lunak Real-Time


Program-program yang memonitor/menganalisis/ mengontrol
kejadian dunia nyata pada saat terjadinya disebut perangkat
lunak real-time. Elemen-elemen perangkat lunak real-time
mencakup komponen pengumpul data yang mengumpulkan dan
memformat informasi dari lingkungan eksternal, sebuah
komponen analisis yang mentransformasi informasi pada saat
dibutuhkan oleh aplikasi, sebuah komponen kontrol/ output yang
memberi respon kepada lingkungan eksternal, serta sebuah
komponen monitor yang mengkoordinasi semua komponen lain
agar respon real-time dapat tetap terjaga.

g. Perangkat Lunak Mobile


Perangkat lunak Mobile adalah sistem perangkat lunak yang
memungkinkan setiap pemakai melakukan mobilitas dengan

MODUL 1
1.14

menggunakan terminal yang dapat berupa PDA-asisten digital,


telepon genggam atau seluler, dan sejenisnya. Sistem operasi
Android dan iOS adalah contoh sistem operasi mobile yang saat
ini merajai pasaran. Aplikasi mobile juga dikenal sebagai web
app, online app, iPhone app atau smartphone app.
Model aplikasi mobile yang sederhana mengambil aplikasi
berbasis PC dan porting ke perangkat mobile. Kini telah
dikembangkan aplikasi khusus untuk lingkungan mobile.
Contoh, aplikasi yang menggunakan fitur-fitur berbasis lokasi
inheren yang dibangunkan dari chip micro mobile, mengingat
smartphone mobile tidak memiliki konsep yang sama
dengan PC, seperti aplikasi mobile yang membantu para
penggunanya untuk lebih mudah berinteraksi satu sama lain,
membantu para penggunanya dalam hal jual-beli barang, hingga
aplikasi petunjuk jalan.

3. Berdasarkan Jenis Lisensi


Jenis perangkat lunak berdasarkan jenis lisensi dapat digolongkan
menjadi:
a. Perangkat Lunak Proprietary

Perangkat lunak proprietary adalah perangkat lunak yang source


code-nya tertutup dan didistribusikan dengan suatu format lisensi
yang membatasi pihak lain untuk menggunakan, memperbanyak
dan memodifikasi-nya.
Lisensi proprietary memungkinkan orang lain menggunakan
perangkat lunak yang dibuat denganldiikuti penyerahan royalti
(pembayaran) ke pemilik hak ciptanya. Contoh perangkat lunak
proprietary adalah perangkat lunak shareware dan freeware.

RPL – Pemodelan Perangkat Lunak


1.15

Jenis perangkat lunak ini bebas untuk digunakan namun belum


tentu bebas untuk re-distribusi atau bebas untuk dimodifikasi.
b. Perangkat Lunak Open Sources
perangkat lunak open sources adalah perangkat lunak yang
source code-nya terbuka dan didistribusikan dalam suatu format
lisensi yang memungkinkan pihak lain secara bebas
mempelajari, memodifikasi source code (informasi) didalamnya,
memperbanyak dan menyebarluaskan.

E. Konsep Rekayasa Sistem


Rekayasa sistem adalah kegiatan penspesifikasian, perancangan,
pengimplementasian, pemvalidasian, penyebaran dan pemeliharaan
sistem sebagai satu kesatuan (Sommerville, 2016). Perekayasa sistem
tidak hanya berfikir mengenai perangkat lunak, tetapi juga
mempertimbangkan perangkat keras, disamping interaksi sistem dengan
user dan lingkungannya. Mereka harus memikirkan layanan yang
diberikan sistem, batasan-batasan pembuatan dan operasi sistem, dan
interaksi sistem dengan lingkungannya. Perekayasa perangkat lunak
perlu memahami rekayasa sistem karena masalah rekayasa perangkat
lunak seringkali merupakan akibat dari keputusan rekayasa sistem.
Dalam rekayasa sistem, tanpa mempedulikan kesatuan (entitas) yang
dikembangkan, pertanyaan-pertanyaan di bawah ini harus dimunculkan
dan dijawab (Pressman, 2010):
- Masalah apa yang akan dipecahkan?
- Karakteristik kesatuan apa yang dipakai untuk menyelesaikan
masalah tersebut?
- Bagaimana kesatuan diadakan?
- Bagaimana kesatuan tersebut dibangun?

MODUL 1
1.16

- Pendekatan apa yang akan dipakai untuk menemukan kesalahan-


kesalahan yang dibuat di dalam desain dan konstruksi dari kesatuan
tersebut?
- Bagaimana kesatuan tersebut ditopang selama proses adaptasi yang
lama, pada saat koreksi, serta ketika perbaikan dibutuhkan oleh pada
pemakai kesatua tersebut?
Terdapat perbedaan penting antara proses rekayasa sistem dengan
proses pengembangan perangkat lunak (Sommerville, 2016):
1. Keterlibatan Interdisipliner. Banyak disiplin ilmu yang mungkin
terlibat dalam rekayasa sistem. Ada kemungkinan besar terjadi
kesalahpahaman yang disebabkan oleh penggunaan terminologi
yang berbeda olehperekayasa yang berbeda.
2. Ruang yang lebih kecil untuk pengerjaan ulang selama
pengembangan sistem. Begitu keputusan rekayasa sistem, seperti
misalnya penempatan radar pada sistem ATC telah dibuat, suatu
perubahan akan berbiaya sangat mahal. Pengerjaan ulang
perancangan sistem untuk memecahkan masalah ini jarang dapat
dilakukan. Satu alasan mengapa perangkat lunak menjadi begitu
penting pada sistem adalah adanya fleksibilitas, yaitu bisa
dilakukannya perubahan selama pengembangan sistem sebagai
tanggapan atas kebutuhan baru.
Rekayasa sistem merupakan kegiatan interdisipliner yang
melibatkan tim yang diambil dari latar belakang yang berbeda-beda.
Tim rekayasa sistem diperlukan akibat luasnya pengetahuan yang
diperlukan untuk mempertimbangkan semua implikasi keputusan
perancangan sistem.
Usaha yang berhubungan dengan Rekayasa Perangkat Lunak dapat
dikategorikan dalam tiga fase umum dengan tanpa mempedulikan area
aplikasi, ukuran proyek, atau kompleksitasnya. Masing-masing fase

RPL – Pemodelan Perangkat Lunak


1.17

akan memberi tekanan pada pertanyaan-pertanyaan yang sudah ditulis di


atas.
Fase definisi, berfokus pada ‘apa’ dan ‘dimana’. Pada definisi ini
pengembang perangkat lunak harus mengidentifikasi informasi apa yang
akan diproses, fungsi dan unjuk kerja apa yang dibutuhkan, model-
model tingkah laku sistem seperti apa yang diharapkan, antarmuka apa
yang dibangun, batasan desain apa yang ada, dan kriteria validasi apa
yang dibutuhkan untuk mendefinisikan sistem yang sukses. Metode
yang diaplikasikan selama fase definisi berbeda, tergantung pada
paradigma rekayasa perangkat lunak yang diaplikasikan. Ada beberapa
tugas utama yang berada dalam fase ini, perencanaan proyek perangkat
lunak serta analisis dan pemodelan kebutuhan.
Fase Pengembangan, berfokus pada ‘bagaimana’, yaitu selama
masa pengembangan perangkat lunak, teknisi harus mendefinisikan
bagaimana data dikonstruksi, bagaimana fungsi-fungsi
diimplementasikan sebagai sebuah arsitektur perangkat lunak,
bagaimana detail prosedur akan diimplementasikan, bagaimana
antarmuka ditandai (dikarakterisasi), bagaimana rancangan akan
diterjemahkan ke dalam bahasa pemrograman, serta bagaimana
pengujian akan dilakukan.
Fase pemeliharaan (maintenance phase), berfokus pada perubahan
yang dihubungkan dengan koreksi kesalahan, penyesuaian yang
dibutuhkan ketika lingkungan perangkat lunak berkembang, serta
perubahan sehubungan dengan perkembangan yang disebabkan oleh
perubahan kebutuhan pelanggan. Fase pemeliharaan mengaplikasikan
lagi langkah-langkah pada fase definisi dan fase pengembangan, tetapi
semuanya tetap tergantung pada konteks perangkat lunak yang ada.
Karena begitu luasnya cakupan rekayasa perangkat lunak (fase
definisi, fase pengembangan, dan fase pemeliharaan), pada praktinya di

MODUL 1
1.18

dalam kurikulum perguruan tinggi, fase-fase tersebut pada umumnya


disajikan ke dalam beberapa nama mata kuliah, seperti: Manajemen
Proyek Perangkat Lunak, Analisis dan Pemodelan Sistem / Perangkat
Lunak, Testing dan Implementasi Sistem, dan beberpa mata kuliah
lainnya. Buku ini khusus membahas mengenai Analisis dan Pemodelan
Perangkat Lunak
Seluruh pembahasan dalam buku ini akan difokuskan pada kesatuan
tunggal (perangkat lunak komputer). Dalam sub bab ini ditentukan
karakteristik umum rekayasa perangkat lunak, dan pada sub bab
selanjutnya akan ditekankan pada model-model proses perangkat lunak.

F. Pemodelan Sistem
Pemodelan secara umum dapat diartikan sebagai proses
merepresentasikan objek nyata atau realita sebagai seperangkat
persamaan matematika, grafis ataupun bagan agar mudah dipahami oleh
pihak yang berkepentingan. Model memperlihat-kan hubungan-
hubungan langsung maupun tidak langsung serta kaitan timbal balik
dalam istilah sebab akibat. Oleh karena suatu model adalah abstraksi
dari suatu realitas, pada wujudnya kurang kompleks dari pada realitas itu
sendiri. Jadi model adalah suatu penyederhanaan dari suatu realitas yang
kompleks. Suatu model diciptakan untuk keperluan:
1. Analisis
Sebagai contoh, analisis kerja perangkat elektronik dilakukan
dengan bantuan model rangkaian, yang akan membantu para teknisi
elektronika lebih mudah membayangkan masalahnya dan
memindahkan masalah tersebut ke atas kertas atau komputer.
2. Berkomunikasi

RPL – Pemodelan Perangkat Lunak


1.19

Sebagai contoh, masalah kependudukan akan sangat jelas


disampaikan melalui grafik-grafik sehingga penjelasan dan kalimat
serba panjang dapat disederhanakan.
3. Prediksi
Sebagai contoh, model yang disusun dari data temperatus, tekanan,
kelembaban udara, kecepatan angin dan seterusnya dapat digunakan
untuk meramalkan cuaca. Jumlah penduduk di masa mendatang
dapat diramalkan melalui model matematika
4. Pengendalian
Sebagai contoh, gedung harus dibangun sesuai dengan modelnya,
yaitu tampak samping, depan, belakang, atas, gambar detil, dan
sebagainya.
5. Simulasi
Sebagai contoh: Latihan pendaratan pesawat di malam hari dapat
dilakukan dengan seperangkat simulator.
Dalam pengertian yang lebih khusus terkait dengan rekayasa
perangkat lunak, istilah model (pemodelan) sering digunakan untuk
proses menggambarkan konsep yang mewakili obyek-obyek dalam
pengembangan perangkat lunak. Sebagai bagian dari kebutuhan
(persyaratan) sistem dan kegiatan perancangan perangkat lunak, sistem
harus dimodelkan sebagai suatu kumpulan komponen dan hubungan
antara komponen-komponen ini. Ini biasanya diilustrasikan secara grafis
pada model arsitektur sistem yang memberikan pandangan kepada
pembaca mengenai organisasi sistem.
Bentuk model yang lain adalah model proses logis. model proses
logis menggambarkan proses, tanpa menyarankan bagaimana mereka
dilakukan secara teknis. Saat membaca model proses, orang-orang tidak
akan dapat mengatakan apakah suatu proses terkomputerisasi atau
manual, apakah informasi dikumpulkan melalui formulir kertas atau

MODUL 1
1.20

melalui Web, atau apakah informasi ditempatkan di lemari arsip atau


database besar. Rincian-rincian fisik seperti itu didefinisikan melalui
model fisik / teknis, yang memberikan informasi yang diperlukan ketika
membangun sistem. Model proses logis mengilustrasikan inti (esensi)
dari sistem. Model sering juga disebut model esensial, model konseptual
atau model bisnis.
Model Teknis Menunjukkan bukan hanya ‘apa’ sebenarnya sistem,
namun juga ‘bagaimana’ sistem secara fisik dan teknis diterapkan.
Penerapannya tergantung pada teknologi yang dipilih dan batasan
teknologi yang dipilih.

RPL – Pemodelan Perangkat Lunak


1.21

Tes Formatif 1-1:


Petunjuk:
- Melalui e-learning, jawablah soal-soal berikut ini.
- Pilih salah satu Jawaban yang paling tepat!
- Lihat Panduan Pengoperasian e-learning Untuk Mahasiswa!

1) Salah satu karakteristik perangkat lunak adalah “dapat terus


dipelihara”. Agar hal tersebut dapat dilakukan maka:
A. Kode program dibuat sederhana sehingga mudah dipahami
B. Kode program bersifat modular
C. Aturan pengkodean program dapat dibuat sendiri
D. Jawaban A dan B Benar
E. Semua Jawaban Benar

2) Perangkat lunak tidak boleh terlalu banyak menggunakan sumber


daya sistem seperti siklus memori dan prosesor tanpa alasan yang
bisa dipertanggungjawabkan. Sifat yang mencerminan kualitas
perangkat lunak tersebut adalah:
A. Dapat diperlihara
B. Efisien
C. Dapat diandalkan
D. Kemampupakaian
3) Jenis perangkat lunak berdasarkan platform dapat digolongkan
menjadi:
A. Perangkat Lunak Sistem
B. Perangkat Lunak Pesanan
C. Perangkat Lunak Proprietary

MODUL 1
1.22

D. Jaaban A dan C Benar


4) Berikut adalah contoh perangkat lunak Bisnis:
A. Sistem Operasi Windows
B. Sistem Operasi Linux
C. Perangkat Lunak untuk mengendalikan operasi Lift pada sebuah
gedung perbelanjaan
D. Aplikasi sistem informasi perpustakaan
5) Perangkat lunak yang tertanam dalam read-only memory (ROM) dan
dipakai untuk mengontrol hasil serta sistem untuk keperluan
konsumen dan pasar industri, disebut:
A. Perangkat Lunak Sistem
B. Perangkat Lunak Pesanan
C. Perangkat lunak Embedded
D. Pilihan jawaban A dan C benar
6) Kegiatan penspesifikasian, perancangan, pengimplementasi-an,
pemvalidasian, penyebaran dan pemeliharaan sistem sebagai satu
kesatuan, disebut:
A. Rekayasa Perangkat Lunak
B. Rekayasan Sistem
C. Rekayasa Produk
D. Pilihan jawaban B dan C Benar
E. Semua jawaban benar
7) Berikut ini adalah fase utama rekayasa perangkat lunak, kecuali:
A. Pendefinisian Kebutuhan
B. Pengembangan Sistem
C. Pemeliharaan Sistem
D. Pemasaran Sistem

RPL – Pemodelan Perangkat Lunak


1.23

8) Kegiatan yang berfokus pada perubahan yang dihubungkan dengan


koreksi kesalahan, penyesuaian yang dibutuhkan ketika lingkungan
perangkat lunak berkembang, serta perubahan sehubungan dengan
perkembangan yang disebabkan oleh perubahan kebutuhan
pelanggan, adalah fase:
A. Manajemen Proyek Perangkat Lunak
B. Pemeliharaan Sistem
C. Pendefinisian Sistem
D. Pengembanga Sistem
9) Pemodelan sistem secara sederhana dapat diartikan sebagai:
A. Merefresentasikan objek nyata agar udah dipahami
B. Abstraksi dari suatu realita
C. Penyederhanaan suatu realitas
D. Pilihan jawaban B dan C Benar
E. Semua Jawaban Benar
10) Tujuan diciptakannya model adalah sebagai berikut, kecuali:
A. Alat analisis
B. Alat Pelaporan
C. Alat Pengendalian
D. Alat Komunikasi

Hitunglah jawaban yang benar. Kemudian, gunakan rumus berikut


untuk mengetahui tingkat penguasaan Anda terhadap materi Kegiatan
Belajar 1.

Jumlah Jawaban yang Benar


Tingkat penguasaan =  100%
Jumlah Soal

MODUL 1
1.24

Arti tingkat penguasaan: 90 - 100% = baik sekali


80 - 89% = baik
70 - 79% = cukup
< 70% = kurang

Apabila mencapai tingkat penguasaan 80% atau lebih, Anda dapat


meneruskan dengan Kegiatan Belajar 1-2. Jika masih di bawah 80%,
Anda harus mengulangi materi Kegiatan Belajar 1-1, terutama bagian
yang belum dikuasai.

RPL – Pemodelan Perangkat Lunak


1.25

Rangkuman

Perangkat lunak menjadi elemen utama produk yang berbasis komputer.


Perangkat lunak bukan sekedar program komputer, namun dirancang
dari program-program, data, serta dokumen-dokumen yang
menyertainya. Masing-masing item tersebut terdiri dari sebuah
konfigurasi yang diciptakan sebagai bagian dari proses pengembangan
perangkat lunak.
Rekayasa perangkat lunak adalah disiplin ilmu yang berkenaan
dengan semua aspek produksi perangkat lunak. Tujuan rekayasa
perangkat lunak adalah menyediakan sebuah kerangka kerja guna
membangun perangkat lunak dengan kualitas yang lebih tinggi.
Jenis perangkat lunak dapat ditinjau dari berbagai aspek atau
kategori. Berdasarkan pasarannya, terdapat perangkat lunak generik dan
perangkat lunak pesanan. Berdasarkan platform, terdapat perangkat
lunak sistem, perangkat lunak bisnis, perangkat lunak embedded,
perangkat lunak komputer personal, perangkat lunak kecerdasan buatan,
perangkat lunak real-time, serta perangkat lunak mobile. Berdasarkan
lisensi, terdapat perangkat lunak proprietary dan perangkat lunak open
sources.
Proses perangkat lunak terdiri dari kegiatan-kegiatan yang dilakukan
dalam pengembangan produk perangkat lunak. Kegiatan dasarnya
adalah spesifikasi, berfokus pada apa yang perlu diadakan dalam produk
perangkat lunak; pengembangan, berfokus pada bagaimana
mengembangkan produk perangkat lunak; dan pemeliharaan perangkat
lunak perubahan yang dihubungkan dengan koreksi kesalahan,
penyesuaian yang dibutuhkan ketika lingkungan perangkat lunak
berkembang, serta perubahan sehubungan dengan perkembangan yang
disebabkan oleh perubahan kebutuhan pelanggan.
MODUL 1
1.26

Latihan 1-1:
- Untuk memperdalam pemahaman Anda mengenai materi pada
Kegiatan Belajar 1-1, Melalui e-learning kerjakanlah Latihan
berikut sesuai dengan waktu yang telah ditetapkan!
- Lihat Panduan Pengoperasian e-learning Untuk Mahasiswa!

1) Jelaskan arti dari Perangkat Lunak dan Rekayasa Perangkat Lunak!


2) Jelaskan 3 karakteristik dasar perangkat lunak yang membedakannya
dengan perangkat keras!
3) Jelaskan 4 karakteristik yang mencerminkan kualitas perangkat
lunak!
4) Jelaskan 2 jenis perangkat lunak berdasarkan pasarannya, berikan 2
contoh masing-masing!
5) Jelaskan perbedaan mendasar atara perangkat lunak Proprietary
dengan perangkat lunak open sources!

RPL – Pemodelan Perangkat Lunak


1.27

Kegiatan Belajar 1-2

Metodologi Pengembangan
Perangkat Lunak
Pengembangan sistem perangkat lunak merupakan suatu kegiatan yang
sangat kompleks, memerlukan biaya dan sumber daya yang besar, dan
merupakan kegiatan yang sangat penting bagi organisasi (Hoffer, 2011).
Kompeksitas ini muncul disebabkan oleh beberapa hal:
1. Sebuah sistem perangkat lunak yang akan dikembangkan
biasanya melibatkan pemangku kepentingan (stakeholder) yang
beragam dengan keinginan, kebutuhan, dan agenda yang berbeda-
beda.
2. Rumitnya struktur proses bisnis dalam organisasi dimana sistem
perangkat lunak tersebut akan dikembangkan. Sebagaimana
diketahui bahwa sistem perangkat lunak dikembangkan merujuk
pada sistem bisnis (proses bisnis) organisasi.
3. Rumit dan lamanya proses pengembangan sistem perangkat lunak
itu sendiri, terutama pada sistem-sistem yang berskala besar.
Dalam situasi yang kompleks ini, suatu proyek pengembangan
sistem perangkat lunak harus dijalankan dengan suatu prosedur kerja
yang terstruktur dan terukur agar efisien dalam mencapai tujuan yang
telah ditetapkan.

A. Siklus Hidup Pengembangan Sistem


Perangkat Lunak
Proses pengembangan sistem melewati beberapa tahapan (fase), dimulai
dari sistem itu direncanakan sampai dengan sistem tersebut diterapkan,

MODUL 1
1.28

dioperasikan dan dipelihara. Bila operasi sistem yang sudah


dikembangkan masih timbul permasalahan-permasalahan yang kritis
serta tidak dapat diatasi dalam tahap pemeliharaan sistem, maka sistem
tersebut perlu ditinjau kembali untuk dikembangkan dengan
mengimplementasikan kembali tahap awal, yaitu tahap perencanaan
sistem. Siklus ini disebut dengan siklus hidup suatu sistem (systems life
cycle) yang biasa disebut dengan istilah Siklus Hidup Pengembangan
Sistem (System Development Life Cycle / SDLC). Daur atau siklus hidup
dari pengembangan sistem merupakan suatu bentuk yang digunakan
untuk menggambarkan tahapan-tahapan utama dan langkah-langkah di
dalam tahapan tersebut dalam proses pengembangannya.

1. Tahapan SDLC
Dalam banyak hal, membangun (mengembangkan) sistem perangkat
lunak mirip dengan membangun rumah. Pertama, pemilik menjelaskan
visi rumah kepada pengembang. Kedua, ide ini ditransformasikan
menjadi sketsa dan gambar yang diperlihatkan kepada pemilik
(seringkali melalui beberapa gambar) sampai pemilik setuju bahwa
gambar-gambar tersebut telah menggambarkan apa yang pemilik
inginkan. Ketiga, serangkaian cetak biru terperinci dikembangkan yang
menyajikan lebih banyak informasi spesifik tentang rumah (misalnya
tata letak kamar, penempatan perlengkapan pipa dan jaringan listrik, dan
sebagainya). Akhirnya, rumah dibangun mengikuti cetak biru, dan
seringkali dengan beberapa perubahan yang dibuat oleh pemilik ketika
rumah itu didirikan.
Ide dari system life cycle adalah sederhana dan logis. Tiap-tiap
bagian dari pengembangan sistem dibagi menjadi beberapa tahapan
kerja dan setiap tahapan mempunyai karakteristik tersendiri. Tahapan
utama siklus hidup pengembangan sistem terdiri dari tahapan

RPL – Pemodelan Perangkat Lunak


1.29

perencanaan sistem (system planning), analisis sistem (system analysis),


desain sistem (system design), implementasi sistem (system
implementation), dan pemeliharaan sistem (system maintenance).
Tahapan-tahapan seperti ini sebenarnya merupakan tahapan di dalam
pengembangan sistem teknik (engineering system), misalnya teknik
pengembangan konstruksi gedung, mesin-mesin, dan teknik
pengembangan perangkat lunak (software engineering). Istilah software
engineering merupakan proses pengembangan perangkat lunak yang
merupakan sub sistem dari pengembangan sistem informasi. Dengan
demikian terdapat kesamaan metode-metode yang dibahas pada
pengembangan sistem informasi dengan metode-metode pada
pengembangan perangkat lunak (software).
Ada banyak varian tahapan dari SDLC sejak tercatat pertama kali
digunakan di Inggris pada akhir dekade 1960-an (Avison, 2006).
Penggunaan tersebut diusulkan oleh National Computing Centre (NCC)
yang disponsori oleh pemerintah Inggris. Usulan ini sebagai bentuk
standarisasi metodologi bagi pengembangan sistem perangkat lunak di
kalangan pemerintah inggris maupun pihak swasta.
Pada era tahun 1970-an, beberapa siklus pengembangan sistem
dikemukakan oleh beberapa ahli di bidang pengembangan sistem
(Jogianto, 2008). Pada umumnya tahapan-tahapan utama proses
pengembangan sistem yang dikemukakan adalah sama.

Contoh 1-2-1:
Siklus pengembangan sistem yang dikemukakan oleh J.F. Kelly,
Computerized Management Information System (MacMilan, 1970):
1. Penelitian sistem (system survey)
a. Definisi ruang lingkup
b. Studi penelitian

MODUL 1
1.30

2. Analisis dan desain sistem (system analysis and design)


a. Studi penelitian
b. Pengumpulan data dan analisis
c. Desain sistem
d. Rencana implementasi
3. Pengembangan sistem (system development)
a. Pengembangan
b. Pengetesan
c. Pengoperasian sistem baru
d. Perawatan

CONTOH 1-2-2:
Siklus pengembangan sistem yang dikemukakan oleh Charles L. Biggs,
Evan G. Birks, William Atkins, Managing the System Development
Process, Prentice-Hall, 1980):
1. Perencanaan Sistem (System Planning))
a. Investigasi awal
b. Studi kelayakan
2. Kebutuhan-kebutuhan Sistem (System Requirement)
a. Operasi dan analisis sistem
b. Kebutuhan-kebutuhan pemakai
c. Pendekatan dukungan secara teknik
d. Desain secara konsep dan kaji ulang paket
e. Penilaian alternatif dan perencanaan
3. Pengembangan Sistem (System Development)
a. Rancang bangun sistem secara teknis
b. Rancang bangun aplikasi
c. Pemrograman aplikasi dan pengetesan
d. Prosedur pemakai dan pengendalian

RPL – Pemodelan Perangkat Lunak


1.31

e. Latihan untuk pemakai


f. Perencanaan implementasi
g. Perencanaan Konversi
h. Pengetesan sistem
4. Implementasi Sistem (System Implementation)
a. Konversi dan tahap implementasi
b. Perbaikan dan pembetulan
c. Kaji ulang setelah implementasi
5. Perawatan Sistem (System Maintenance)

Contoh 1-2-3:
Siklus pengembangan sistem yang dikemukakan oleh A. Ziya Aktas,
Structured Analysis & Design of Information System, Prentice-Hall,
1987):
1. Perencanaan (Planning))
a. Permintaan untuk studi suatu sistem
b. Investigasi awal
c. Studi kelayakan
2. Analisis (Analysis)
a. Mendefinisikan kembali masalah
b. Memahami sistem yang ada
c. Menentukan kebutuhan-kebutuhan pemakai dan hambatan-
hambatan pada suatu sistem baru
d. Model logika dari pemecahan yang direkomendasikan
3. Desain secara fisik (physical design)
a. Desain sistem secara umum atau rancang bangun sistem
b. Desain terinci atau desain khusus
4. Implementasi atau Konstruksi (implementation or construction)
a. Pembangunan sistem

MODUL 1
1.32

b. Pengetesan
c. Instalasi / konversi
d. Operasi
e. Kajian ulang setelah operasi
5. Perawatan dan Peningkatan-peningkatan (maintenance and
enhancement)
Dari beberapa siklus pengembangan sistem dikemukakan oleh para
ahli, terdapat tiga siklus utama yaitu analisis sistem, desain sistem, dan
implementasi sistem. Beberapa penulis memasukkan proses kebijakan
dan perencanaan sistem dalam tahapan pengembangan sistem. Tahapan
ini sebenarnya adalah sebagai awal terjadinya proyek sistem (initiation
of system project). Beberapa penulis juga membagi tahapan desain
sistem menjadi desain sistem secara umum atau desain sistem secara
konsep atau desain sistem secara logika dan desain sistem secara rinci
atau desain sistem secara fisik.
Tahap perawatan sistem (system maintenance) sebenarnya juga
merupakan tahapan setelah pengembangan sistem selesai dilakukan dan
sistem dioperasikan. Beberapa penulis menyebutnya sebagai tahap
manajemen sistem, karena yang melakukan proses ini sudah bukan
analis sistem, akan tetapi dilakukan oleh manajemen.
Uraian berikut ini menyajikan gambaran secara umum proses yang
berlangsung pada setiap tahapan pada SDLC (Sarosa, 2017):
a. Perencanaan dan Studi Kelayakan Proyek Sistem
Studi kelayakan pada intinya mencoba meninjau apakah
kebutuhan akan pengembangan sistem baru (baik sistem baru
sama sekali maupun pengganti sistem yang lama) layak secara
ekonomis maupun dari sisi kelayakan lainnya.

RPL – Pemodelan Perangkat Lunak


1.33

Kriteria kelayakan yang perlu diperhatikan dalam suatu studi


kelayakan adalah (Romney, 2012):
1) Kelayakan teknis, yaitu tersedia teknologi untuk membangun
sistem serta tersedia sumber daya manusia (tenaga ahli)
dalam membangun sistem
2) Kelayakan ekonomi, yaitu biaya membangun sistem lebih
kecil daripada manfaat yang diperoleh
3) Kelayakan organisasi dan sosial, yaitu sistem baru dapat
diterima oleh para anggota organisasi.
Laporan hasil studi kelayakan menjadi dasar bagi manajemen
untuk memutuskan apakah akan meneruskan upaya
pengembangan sistem baru atau tidak. Jika keputusannya adalah
melanjutkan berarti akan masuk ke tahap berikutnya yaitu
investigasi sistem.

b. Penyelidikan dan Penelitian Sistem


Pada tahap ini dilakukan penelitian dalam rangka pencarian fakta
yang lebih detail dan terperinci dengan cara menelusuri secara
lebih mendetail sistem seperti apa yang dibutuhkan. Penelitian
dilakukan terhadap hal-hal berikut:
1) Permasalahan pada sistem yang ada saat ini
2) Kebutuhan fungsional dari sistem yang sedang berjalan saat
ini, apakah telah terpenuhi atau tidak.
3) Kebutuhan sistem baru yang mungkin muncul seiring dengan
perkembangan waktu, perubahan situasi dan lingkungan
bisnis, maupun perkembangan teknologi
4) Kendala sistem dan batasan-batasan yang tidak boleh
dilampaui

MODUL 1
1.34

5) Pengecualian-pengecualian terhadap kondisi normal yang


mungkin akan dihadapi sistem di masa mendatang
Pencarian fakta dilakukan dengan menggunakan alat
pengumpulan data berupa:
1) Pengamatan terhadap cara kerja dan perilaku pengguna
sistem yang ada. Hasil pengamatan dapat memberikan
pemahaman akan masalah, kondisi kerja, metode kerja, dan
kemampatan.
2) Wawancara terhadap individu maupun kelompok pengguna.
Wawancara merupakan kesempatan baik untuk bertemu
dengan pengguna dari berbagai tingkatan organisasi,
mendengarkan apa kebutuhan dan keluhan mereka.
Wawancara juga dapat digunakan untuk mengkomunikasikan
perubahan yang akan terjadi dan mengurangi resistensi
pengguna.
3) Kuisioner untuk mendapatkan informasi dari responden
dalam jumlah besar dan secara geografis tersebar di berbagai
lokasi yang berbeda.
4) Studi Pustaka dengan cara menelaah dokumen dan catatan-
catatan yang ada untuk mendapatkan pemahaman sistem dan
menemukan apa masalah yang terjadi. Analis sistem harus
sadar bahwa terkadang dokumen dan catatan yang ditemukan
sudah terlalu tua dan tidak lagi mencerminkan kondisi yang
ada saat ini.
Beberapa penulis ahli di bidang pengembangan sistem
mengkategorikan kegiatan penyelidikan dan penelitian sistem
menjadi bagian dari kegiatan analisis sistem.
c. Analisis Sistem

RPL – Pemodelan Perangkat Lunak


1.35

Data yang diperoleh dari kegiatan investigasi sistem dianalisa


untuk menentukan;
1) Domain informasi, yang berisi tiga hal yaitu:
- Muatan dan hubungan informasi,
- Aliran informasi,
- Struktur informasi.
2) Fungsi-fungsi yang akan dilakukan oleh sistem baru
3) Tingkah laku sistem
4) Model-model yang menggambarkan informasi, fungsi, dan
tingkah laku
Dalam tahapan analisis sistem, pengembang mencoba
memahami sistem lama, mengapa dan bagaimana sistem tersebut
dibuat, dan bagaimana sistem lama dapat diperbaiki atau
dikembangkan.
d. Perancangan (Desain) Sistem
Tujuan dari fase analisis adalah untuk mengetahui kebutuhan
bisnis sistem, sedangkan tujuan dari fase desain adalah untuk
memutuskan bagaimana membangunnya. Selama bagian awal
desain, tim proyek mengubah kebutuhan bisnis sistem menjadi
kebutuhan sistem yang menggambarkan detail teknis untuk
membangun sistem. Tidak seperti kebutuhan bisnis, yang
dikomunikasikan melalui penggunaan model logis dan model
data, kebutuhan sistem dikomunikasikan melalui kumpulan
dokumen desain dan proses fisik serta model data. Secara
bersama-sama, dokumen desain dan model fisik membentuk
cetak biru untuk sistem baru yang dikembangkan (Dennis, 2012).
e. Implementasi Sistem

MODUL 1
1.36

Pada tahap implementasi, rancangan yang dihasilkan pada tahap


perancangan sistem diwujudkan. Program komputer ditulis,
dikompilasi, dan diujicoba. Selanjutnya Perangkat keras dan
perangkat lunak baru secara terintegrasi dipasang, di install dan
diujicoba. Semua aspek sistem informasi yang baru harus teruji
dan dalam kondisi baik sebelum terjadi perpindahan (peralihan)
sistem.
Salah satu kegiatan pada tahapan penerapan adalah
pengendalian kualitas. Semua manual dan dokumentasi sistem
diperiksa ulang dan dikonsultasikan dengan para pemangku
kepentingan. Para calon pengguna sistem yang baru menjalani
pelatihan dan sosialisasi untuk mengakrabkan diri. Jika calon
pengguna tidak familiar dengan sistem yang baru, besar
kemungkinan proses peralihan akan berjalan dengan sulit.
Untuk menguji sistem perangkat lunak, data yang
sesunguhnya dapat digunakan untuk uci coba. Data induk mulai
dipindahkan dan ditransformasikan dari sistem lama ke sistem
baru. Prosedur keamanan sistem juga menjalani uji coba untuk
meyakinkan bahwa sistem baru akan terjaga integritas dan
kehandalannya dari serangan maupun kesalahan yang tidak
disengaja. Prosedur pemulihan kembali jika ada gangguan sistem
juga diuji coba.
f. Peninjauan Ulang dan Perawatan Sistem
Tahapan peninjauan ulang dan perawatan dilakukan setelah
sistem yang dibangun telah diimplementasikan dan telah
berjalan. Ketika sistem sedang dioperasikan pada kondisi yang
ril, sering kali ditemui situasi dimana sistem harus dimodifikasi
atau diperbaiki untuk menyesuaikan dengan kondisi saat ini.
Suatu sistem harus ditinjau untuk suatu perubahan sebagai akibat

RPL – Pemodelan Perangkat Lunak


1.37

dari adanya permasalah (error) yang ditemukan pengguna,


temuan dari hasil pemeriksaan atau audit, adanya peningkatan
kapasitas kerja yang menuntut kebutuhan kapasitas penyimpanan
maupun pengolahan data, perubahan lingkungan bisnis (misalnya
kebijakan pemerintah), pemanfaatan kemajuan teknologi, dan
lain-lain.

Perawatan sistem dilaksanakan terus-menerus sampai pada


akhirnya sistem tersebut tidak lagi dapat memenuhi kebutuhan
organisasi, sehingga harus diganti dengan sistem yang baru.
Untuk mendukung kegiatan peninjauan ulang dan pemeliharaan
sistem, dibutuhkan tim yang bertanggungjawab terhadap
perawatan sistem ini.

2. Kelebihan Dan Kelemahan SDLC

Sebagai sebuah metode pengembangan yang telah diujicoba dan


digunakan dalam berbagai proyek pengembangan sistem informasi
dengan berbagai ukuran dan tingkat kompleksitasnya, SDLC memiliki
kelebihan dan kelemahan. Beberapa kelebihan SDLC sebagai sebuah
metode pengembangan sistem (Avison, 2006):
a. Adanya dokumentasi yang standar dapat mempermudah para
pemangku kepentingan dalam berkomunikasi. Dokumentasi juga
menjamin bahwa spesifikasi sistem yang dikembangkan sesuai
dengan kebutuhan pengguna.
b. Dokumentasi yang lengkap juga memudahkan edukasi bagi
pengguna sistem.
c. SDLC memiliki fase-fase dengan batasan dan hasil kegiatan
yang jelas. Fase-fase tersebut mempermudah dalam mengelola
proyek pengembangan sistem karena tiap fase didefinisikan

MODUL 1
1.38

dengan jelas. Kemajuan dan pencapaian proyek dapat dilihat dan


dikendalikan dengan mudah karena sudah terbagi dalam tahapan
yang jelas.
Meskipun SDLC memiliki kelebihan, dalam praktiknya sejak
diperkenalkan pada era tahun 1970-an, ditemui beberapa kelemahan.
Kelemahan-kelemahan tersebut antara lain (Avison, 2006):
a. Hanya Mampu Memenuhi Kebutuhan Manajemen Tingkat
Bawah
Pada umumnya sistem yang dibangun menggunakan SDLC
adalah sistem pemrosesan transaksi. Sistem ini memenuhi
kebutuhan level manajerial operasional di bagian paling bawah.
Kebutuhan manajerial level menengah dan atas (sistem
pendukung keputusan atau sistem cerdas) kurang terpenuhi.
Meskipun data transaksi yang diolah dapat diringkas dan
dilaporkan ke level di atasnya, akan tetapi informasi tersebut
kurang memadai untuk pengambilan keputusan taktis dan
strategis.
b. Pemodelan Proses yang Tidak Dinamis
Dalam SDLC analisa dilakukan dengan mengamati proses bisnis
yang berjalan dan kemudian merancang proses bisnis baru yang
lebih baik. Permasalahannya adalah proses bisnis bersifat
dinamis dan terus berubah mengikuti perkembagan. Akibatnya
mungkin saja ketika sistem baru dikembangkan proses bisnis
yang mendasarinya sudah tidak relevan dengan kondisi
organisasi, sehingga sistem tidak dapat digunakan.
c. Perancangan Yang Tidak Fleksibel
Dalam SDLC perancangan sebuah sistem baru didasarkan pada
keluaran sistem yang diharapkan (perancangan berbasis

RPL – Pemodelan Perangkat Lunak


1.39

keluaran). Dari keluaran yang dikehendaki baru diturunkan


menjadi desain masukan, desain basis data, desain proses, dan
pengendalian. Jika terjadi perubahan proses bisnis maka desain
keluaran dan desain lainnya harus berubah. Perubahan kebutuhan
keluaran akan berdampak pada semua bagian sistem dan
menyebabkan penundaan penyelesaian proyek.
d. Munculnya Ketidakpuasan Pengguna
Munculnya ketidakpuasan pengguna atas spesifikasi sistem yang
disepakati pada tahap awal antara para pemangku kepentingan
sistem, terutama pengguna. Pengembang sistem sering berasumsi
kesepakatan itu tidak akan berubah, namun pada kenyataanya
spesifikasi dari pengguna sering berubah seiring berjalannya
waktu. Dampaknya ketika sistem dengan spesifikasi awal selesai,
pengguna yang kebutuhannya telah berubah tidak lagi
terakomodasi.
Kelemahan-kelemahan SDLC di atas adalah bersifat potensial,
artinya ketika menggunakan SDLC pengembang perlu tetap
memperhatikan dan mengantisipasi kelemahan yang ada.

B. Pengertian Dan Ragam Metodologi


Pengembangan Sistem
Munculnya berbagai istilah yang digunakan dalam pengembangan
sistem perangkat lunak seringkali membuat bingung bagi pemakainya.
Sering terjadi kerancuan, distorsi atau kekaburan makna antara
pengertian metode (method), metodologi (methodology), dan pendekatan
(approach). Pengertian metode dan metodologi bahkan sering saling
dipertukarkan (bermakna sama) atau mempunyai makna yang berbeda
pada situasi yang berbeda. Oleh karena itu, sebelum membahas lebih

MODUL 1
1.40

jauh tentang pendekatan dan metodologi pengembangan sistem


informasi, terlebih dahulu perlu kesamaan persepsi tentang pengertian
metode, metodologi, dan pendekatan. Pengertian dari setiap istilah akan
disarikan dari berbagai sumber sehingga bisa saling melengkapi.
Dalam WordNet Dictionary (Prasetyo, 2010), metode (method)
didefinisikan sebagai: cara untuk mengerjakan atau berbuat; cara untuk
mengerjakan sesuatu, khususnya cara yang sistematis yang
mengakibatkan pengaturan (biasanya tahapan) dengan urutan yang logis.
Definisi yang lebih detil dipaparkan dalam Webster's Dictionary
(Prasetyo, 2010) dimana metode didefinisikan sebagai:
- Prosedur atau proses yang teratur, cara yang teratur untuk
mengerjakan sesuatu;
- Pengaturan, penjelasan/uraian, pengembangan, atau klasifikasi
secara teratur; penyusunan yang jelas dan mudah dimengerti;
pengaturan khusus yang sistematis
- Klasifikasi, mode atau sistem untuk mengklasifikasi obyek
alamiah berdasarkan karakteristik yang umum.
Masih dari WordNet Dictionary, metodologi (methodology)
didefinisikan sebagai: sistem dari metode-metode yang diikuti pada
bidang tertentu; cabang dari ilmu filosofi yang menganalisa prinsip-
prinsip dan prosedur yang dibutuhkan di suatu bidang tertentu.
Webster's Dictionary mendefinisikan metodologi sebagai ilmu
pengetahuan dari metode (science of method). Dalam Computer
Dictionary metodologi didefinisikan sebagai kumpulan prosedur dan
petunjuk terdokumentasi yang terorganisasi untuk satu atau beberapa
tahapan dalam siklus hidup software, seperti analisis atau desain.
Beberapa metodologi mencantumkan notasi dalam bentuk diagram
untuk mendokumentasikan hasil prosedur, pendekatan bertahap (step by

RPL – Pemodelan Perangkat Lunak


1.41

step) untuk melakukan prosedur, dan tujuan (objective) untuk kriteria


dalam menentukan apakah kualitas hasil dari prosedur dapat diterima.
Berdasarkan definisi-definisi di atas terlihat jelas perbedaan antara
istilah metode dan metodologi. Metode merupakan cara untuk mencapai
sesuatu yang diinginkan melalui serangkaian aksi atau tahapan,
sedangkan pengertian metodologi lebih luas jika dibandingkan dengan
pengertian metode. Suatu metodologi berisi tahapan-tahapan “apa yang
harus dilaksanakan”, “bagaimana melaksanakan” tahapan-tahapan
tersebut, dan yang paling penting adalah alasan “mengapa” tahapan
tersebut harus diambil dalam urutan tertentu. Jadi, metodologi tidak
hanya berisi aspek yang langsung terlihat dari sebuah konsep seperti
tahapan, prosedur, teknik, alat bantu (tools), dan dokumentasi yang
diperlukan dalam mencapai suatu tujuan, akan tetapi di dalamnya juga
berisi aspek yang yang tidak bisa langsung dirasakan yaitu filosofi.
Filosofi bisa diartikan sebagai teori dan asumsi yang dipercayai oleh
pengarang/pemrakarsa metodologi ketika membangun/memodelkan
metodologi (Avison, 2006).
Keberadaan aspek filosofi inilah yang membedakan pengertian
metodologi dengan pengertian metode. Walaupun kedua pengertian ini
jelas berbeda, namun di bidang sistem informasi secara pragmatis
pengertian metodologi dapat dianggap sama dengan pengertian metode.
Menurut Avison dan Fitzgerald (Avison, 2006), definisi dari
metodologi pengembangan sistem atau yang sering disebut sebagai
systems development method (SDM) adalah kumpulan prosedur, teknik,
alat, dan alat bantu pendokumentasian yang membantu para
pengembang membangun sistem informasi. Iivari (2000) mendefinisikan
metodologi pengembangan sistem sebagai kumpulan prosedur
berorientasi tujuan yang didukung dengan teknik dan alat bantu serta
prinsip-prinsip, yang digunakan sebagai pedoman dalam bekerja atau

MODUL 1
1.42

bekerja sama diantara berbagai pihak (stakeholder) yang terlibat dalam


pengembangan aplikasi sistem informasi. Whitten (2001)
mendefinisikan Metodologi Pengembangan Sistem sebagai suatu proses
pengembangan sistem yang formal dan presisi yang mendefinisikan
serangkaian aktivitas, metode, best practices, dan tool yang
terautomatisasi bagi para pengembang dalam rangka mengembangkan
dan merawat sebagian besar atau keseluruhan sistem informasi atau
software.
Terlihat bahwa definisi-definisi tentang metodologi pengembangan
sistem di atas saling melengkapi, tidak ada pertentangan antara satu dan
yang lainnya. Setiap metodologi memasukkan komponen teknik dan alat
bantu sebagai bagian yang tak terpisahkan dari sebuah metodologi.
Teknik (technique) adalah cara mengerjakan aktivitas tertentu dalam
proses pengembangan sistem informasi. Teknik juga dapat diartikan
sebagai cara memodelkan (a way of modelling). Suatu metodologi
mungkin memasukkan sejumlah teknik yang dipilih berdasarkan
kecocokan dengan kerangka tujuan umum dari metodologi.
Contoh:
- Data Flow Diagram (DFD)
- Entity Relationship Diagram (ERD)
- Use-Case Diagram
- Decision Table, dan sebagainya.
Alat bantu (tools) adalah alat bantu komputer (normalnya berbentuk
aplikasi berbasis komputer) yang biasanya digunakan untuk mendukung
aktivitas dalam suatu metodologi. Alat bantu memungkinkan beberapa
tugas pengembangan bisa dikerjakan secara otomatis atau semi otomatis.
Fungsionalitas pemodelan yang didukung oleh alat bantu diantaranya
adalah abstraksi dari obyek sistem ke dalam model, pengecekan
konsistensi dari model, konversi hasil dari satu bentuk model atau

RPL – Pemodelan Perangkat Lunak


1.43

representasi ke bentuk yang lain, dan menyediakan spesifikasi untuk


keperluan kajian ulang.
Contoh:
- Paket aplikasi Computer-Assisted Software Engineering (CASE),
- Aplikasi Visio
- Aplikasi Rational Rose untuk pemodelan berorientasi objek
- Aplikasi Enterprise Architect untuk pemodelan berorientasi objek
- Aplikasi Macromedia Dreamweaver, dan sebagainya
Bersumber beberapa definisi di atas, maka dapat dikatakan bahwa
metodologi disusun oleh sejumlah konsep beserta hubungan antara satu
dan lainnya. Konsep ini diaplikasikan melalui teknik pemodelan untuk
merepresentasikan model dari sistem informasi. Bagaimana model
tersebut dibuat, dimanipulasi, dan digunakan diwujudkan melalui
serangkaian proses/tahapan. Pilihan dan pengaturan dari teknik dan
proses yang digunakan didasarkan pada tujuan pengembangan serta nilai
dan asumsi (filosofi) tertentu.
Terdapat beberapa cara dalam mengklasifikasikan metodologi
pengembangan sistem, diantaranya dengan mengetahui latar belakang
maupun pendekatan (approach) yang digunakan. Beberapa metodologi
dikembangkan dengan latar belakang science dan yang lainnya
dikembangkan berdasar pada pengalaman praktis atau dengan
pendekatan sebuah sistem. Pendekatan yang digunakan juga bermacam-
macam, ada yang menggunakan pendekatan proccess-oriented, data-
oriented, use-roriented, dan sebagainya. Wajar jika kemudian muncul
berbagai cara dalam mengelompokkan metodologi pengembangan
sistem informasi.
Avison (2006) mengklasifikasikan metodologi pengembangan
sistem menjadi 2 bagian berdasarkan pendekatan filosofi yang
digunakan, yaitu science paradigm dan system paradigm. Istilah lain

MODUL 1
1.44

yang sering digunakan untuk menyebut science paradigm adalah hard


approach sedangkan untuk system paradigm sering disebut sebagai soft
approach atau holistic approach.
1. Metodologi hard approach: mengasumsikan fakta yang kongkrit
dan menggunakan teknik top-down.
Contoh:

- SSAD (Structured System Analysis and Design)


- YSM (Yourdon System Methods)
- IE (Information Engineering)
- Merise
2. Metodologi soft approach: mengasumsikan persepsi yang
berbeda diantara user serta pengembangan mini-system akan
membuat perbedaan sistem secara menyeluruh.
Contoh:
- SSM (Soft Systems Methodology)
- ETICHS (Effective Technical and Human Implementation of
Computer-Based Systems)
Dungaria (Prasetyo, 2010) menambahkan dua kategori metodologi
ke dalam pendapat Avison (2006) sehingga menjadi empat kelompok,
yaitu:
1. Hard methodology, merupakan metodologi terstruktur yang
didasarkan dekomposisi fungsional,
2. Soft methodology, menekankan pada aspek sosial dan manusia
3. Hybrid methodology, merupakan kombinasi dari gabungan hard
methodology dan soft methodology,
4. Specialised methodology, merupakan metodologi yang
digunakan untuk pengembangan sistem informasi khusus
(spesial).

RPL – Pemodelan Perangkat Lunak


1.45

Kategori hard methodology dapat dikelompokkan lagi menjadi


empat kelompok, yaitu:
1. Structured methodology, yang menekankan cara yang terstruktur
dalam melakukan analisis dan perancangan
Contoh:
- SSAD (Structured System Analysis and Design),
- IE (Information Engineering),
- STRADIS (Structured Analysis, Design, and Implementation
of Information Systems),
- YSM (Yourdon System Method)
- JSD (Jackson System Development),
2. Formal methodology yang menekankan penggunaan notasi
matematika dalam spesifikasi dan perancangan,
Contoh:
- Z-numbers method
- VDM (Vienna Development Method)
3. Object Oriented (OO) methodology yang menggunakan konsep
object dalam melakukan analisis, perancangan dan implementasi.
Contoh:
- OMT (Object Modeling Technique)
- Booch method
Beynon-Davis (2003) mempunyai pandangan lain tentang
pengelompokan metodologi pengembangan sistem. Dalam pandangan
Beynon-Davis, metodologi pengembangan sistem informasi dapat dibagi
menjadi tiga kelompok utama, yaitu:
1. Metode terstruktur (structured methods)

MODUL 1
1.46

Menggunakan model linier dalam proses pengembangan. Setiap


tahapan diidentifikasi dengan jelas, termasuk input dan output
dari setiap tahapan. Pemodelan data dan proses dilakukan dengan
kerangka kerja yang terstruktur. Contoh:
- STRADIS (Structured Analysis, Design, and Implementation
of Information System)
- SSAD (Structured System Analysis and Design)
2. Metode Rapid Application Development (RAD)
Menggunakan model iterasi di dalam proses pengembangan dan
secara umum menspesifikasikan tahapan level tinggi (high-level
phase) berdasar beberapa bentuk prototype. Metode RAD secara
umum dapat disesuaikan dengan situasi yang ada karena tidak
memberikan detil teknik yang digunakan.
Contoh: DSDM (Dynamic Systems Development Method)
3. Metode berorientasi obyek (object-oriented methods)
Fokus pada penggunaan obyek secara konsisten mulai dari tahap
analisis, perancangan, sampai implementasi sistem informasi.
Proses pengembangan dengan pendekatan berorientasi obyek
biasanya memanfaatkan model kontigensi, dimana kadang-
kadang menggunakan model linear, kadang-kandang
menggunakan model iteratif.
Contoh:
- UML (Unified Modelling Language)
- RUP (Rational Unified Process)
Teknik pengelompokan yang lebih luas dilakukan oleh Avison dan
Fitzgerald (Avison, 2006) dengan mengelompokkan metodologi
pengembangan sistem informasi berdasarkan pada tema (theme) dalam

RPL – Pemodelan Perangkat Lunak


1.47

pengembangan sistem informasi. Dalam pandangan Avison dan


Fitzgerald, tema pengembangan sistem informasi bisa didasarkan pada:
1. Pendekatan sistem atau organisasinya (organizational theme);
2. Pendekatan pemodelannya (modelling theme);
3. Pendekatan perekayasaan perangkat lunak-nya (engineering
theme);
4. Pendekatan orang (stake holder) yang terlibat di pengembangan
sistem informasi (people theme).
Berdasarkan pada pendekatan tema pengembangan, maka
metodologi pengembangan sistem bisa dikelompokkan menjadi enam
kategori, yaitu:
1. Metodologi berorientasi proses (process-oriented
methodologies), yang fokus pada aspek pemodelan proses.
Contoh:

- STRADIS (Structured Analysis, Design, and Implementation


of Information Systems)
- YSM (Yourdon Systems Method)
2. Metodologi campuran (blended methodologies), yang fokus pada
campuran antara aspek pemodelan proses dan aspek pemodelan
data.
Contoh:

- SSAD (Structured System Analysis and Design)


- Merise
- IE (Information Engineering).
3. Metodologi berorientasi obyek (object-oriented methodologies),
yang fokus pada aspek pemodelan berorientasi obyek.
Contoh:
- OOA (Object Oriented Analysis)
MODUL 1
1.48

- RUP (Rational Unified Process)


4. Metodologi pengembangan cepat (Rapid Development
Methodologies), yang lebih fokus pada aspek rekayasa dan
konstruksi softwarenya.
Contoh:
- JMRAD (James Martin’s)
- XP (Extreme Programming)
- DSDM (Dynamic Systems Development Method)
5. Metodologi berorientasi orang (people-oriented methodologies),
yang lebih fokus pada aspek sosial (orang yang terlibat dalam
pengembangan sistem informasi).
Contoh:
- ETHICS (Effective Technical and Human Implementation of
Computer-Based Systems)
- KADS
6. Metodologi berorientasi organisasi (organizational-oriented
methodologies), yang lebih fokus pada sistem/organisasinya.
Contoh:

- SSM (Soft Systems Methodology)


- PRINCE (Project in Controlled Environments).
Teknik klasifikasi lainnya yang mendasarkan pada strategi-strategi
alternatif yang dapat dipilih dalam pengembangan sistem informasi
disampaikan oleh Whitten (2001). Pengembangan sistem bisa
menggunakan dua opsi (pilihan), yaitu membangun solusi software
sendiri (model-driven) atau dengan membeli paket software komersial
yang sudah jadi (product-driven).
Pendekatan model-driven menekankan pada:
1. Pemodelan proses (process-centric model)

RPL – Pemodelan Perangkat Lunak


1.49

2. Pemodelan data (data-centric model)


3. Pemodelan berorientasi obyek (object-oriented model).
Pendekatan product-driven menekankan pada:
1. Penggunaan prototyping
2. Menuliskan kode program secepat mungkin. Contoh: Extreme
Programming (XP).
Metodologi pengembangan sistem juga dapat diklasifikasikan
menjadi:
1. Metodologi pengembangan sistem melalui pendekatan siklus
hidup pengembangan sistem (system development life cycle /
SDLC) (Sulianta, 2017).
Contoh: Waterfall, RAD (Rapid Application Development),
Prototyping, Spiral, Incremental, Agile Development
2. Metodologi pengembangan sistem melalui metode alternatif
(Jogianto, 2010)
Contoh: Paket, Outsourcing, End-User Development
Metodologi pengembangan sistem berbasis siklus hidup
pengembangan sistem dan metode alternatif akan dibahas lebih jauh
pada modul 2 (Perencanaan Sistem).

C. Pentingnya Metodologi Pengemba-


ngan Perangkat Lunak
Adanya metodologi pengembangan sistem secara formal akan
mendorong terjadinya hal-hal berikut (Avison, 2006):
1. Meningkatnya kesadaran akan perlunya analisa permasalahan
dan kebutuhan sistem, serta perancangan sistem yang lebih baik
sebelum sistem dibuat

MODUL 1
1.50

2. Mendorong terciptanya solusi sistem yang terintegrasi bagi


manajemen organisasi yang besar dan kompleks
3. Kesadaran akan perlunya suatu metode yang dapat memandu
para pengembang sistem untuk menghasilkan aplikasi dan sistem
informasi yang berkualitas.
Metodologi pengembangan sistem tidak hanya memuat sekumpulan
alat, teknik, dan cara / metode, akan tetapi juga dilandasi oleh filosofi
tertentu. Dengan filosofi yang berbeda, tahapan dan alat bantu serta
metode yang terkandung dalam metodologi pengembangan sistem
menjadi beragam pula. Meskipun berbeda, pada dasarnya setiap
metodologi pengembangan sistem berusaha mencapai suatu tujuan yang
sama, yaitu:
1. Memperoleh secara akurat apa yang menjadi kebutuhan
pengguna dalam sistem yang dikembangkan.
2. Adanya metode pengembangan yang sistematis yang dapat
memantau dan mengendalikan kemajuan proyek pengembangan
dengan baik.
3. Menghasilkan sistem yang menggunakan waktu pengembangan,
sumber daya, dan biaya pengembangan yang efisien.
Ada banyak proyek pengembangan sistem yang karena
penyelesaiannya tidak sesuai dengan jadwal yang sesungguhnya,
menyebabkan timbulnya biaya pengembangan yang besar, serta
memunculkan masalah yang lain.
Menghasilkan sistem perangkat lunak yang terdokumentasi
dengan baik dan mudah dipelihara.
4. Mengakomodasi perubahan yang harus dilakukan delama proses
pengembangan sistem.

RPL – Pemodelan Perangkat Lunak


1.51

Alasan rasional lainnya mengenai perlunya menggunakan


metodologi dalam pengembangan sistem dikemukakan oleh Avison dan
Fitzgerald (Avison, 2006), yaitu:
1. Menghasilkan Produk Akhir Berupa Sistem yang Lebih Baik,
dengan beberapa indikator:
- Waktu pengembangan yang cepat dan ekonomis
- Sistem yang dikembangkan dapat memenuhi kebutuhan
fungsional bagi pengguna
- Mudah dipelajari dan dioperasikan
- Tersedia dokumentasi yang memadai untuk membantu
komunikasi antar pengguna, pengembang sistem, dan pihak
manajemen
- Modular, sehingga walaupun terintegrasi satu sama lainnya
jika terjadi kerusakan atau modifikasi pada suatu komponen,
pengaruhnya kecil terhadap komponen lain atau sistem itu
sendiri
- Sistem yang dikembangkan kompatibel dengan sistem lainnya
di dalam maupun di luar organisasi
- Dapat dijalankan di berbagai platform teknologi yang berbeda
- Sistem yang fleksibel (mudah dimodifikasi)
- Mudah dipelihara
- Sistem mampu bertahan dalam kondisi tertentu yang tidak
menguntungkan (fail safe dan fault tolerant)
- Aman
2. Kematangan Proses Pengembangan Sistem
Merujuk pada IEEE Standard Glossary of Software Engineering
Technology (1990), Kualitas sebuah sistem (perangkat lunak)
diukur tidak hanya pada produk jadinya, namun juga diukur pada

MODUL 1
1.52

kematangan proses pengembangannya. Perbaikan proses


pengembangan sistem dapat dicapai dengan manajemen proyek
yang baik menggunakan suatu metodologi pengembangan
tertentu.
3. Standardisasi Proses Pengembangan Sistem
Penggunaan proses yang sama dalam mengembangkan sistem
yang berbeda menghasilkan beberapa keuntungan, yaitu:
- Tenaga pengembang dapat berpindah dari satu proyek
pengembangan ke proyek lainnya tanpa perlu pelatihan ulang
- Standar kerja dan hasil yang setara dapat dicapai oleh
siapapun selama mengikuti metodologi yang standar
- Pengembangan sistem yang terintegrasi dapat dicapai dengan
lebih mudah.

RPL – Pemodelan Perangkat Lunak


1.53

Tes Formatif 1-2:


Petunjuk:
- Melalui e-learning, jawablah soal-soal berikut ini.
- Pilih salah satu Jawaban yang paling tepat!
- Lihat Panduan Pengoperasian e-learning Untuk Mahasiswa!

1) Secara umum urutan fase yang tepat pada siklus hidup


pengembangan sistem adalah:
A. Analisis, Perencanaan, desain, Pemeliharaan, dan Implementasi
B. Perencanaan, Analisis, Desain, Pemeliharaan, Implementasi
C. Perencanaan, Analisis, Desain, Implementasi, Pemeliharaan
D. Analisis, Desain, Implementasi, Perencanaan, dan Pemeliharaan
2) Studi yang pada intinya mencoba meninjau apakah kebutuhan akan
pengembangan sistem informasi baru layak secara ekonomis
maupun dari sisi kelayakan lainnya adalah termasuk fase …….
dalam pengembangan siste.
A. Perencanaan Sistem
B. Analisis dan Desain Sistem
C. Implementasi Sistem
D. Pemeliharaan Sistem
3) Beberapa kelebihan System Development Life Cycle (SDLC) sebagai
metode pengembangan sistem, KECUALI:
A. Dokumentasi yang standar mempemudah stakeholder
(pemangku kepentingan) berkomunikasi antar satu dengan yang
lainnya

MODUL 1
1.54

B. Terdapat fase-fase dengan batasan dan hasil kegiatan yang jelas,


sehingga mempermudah pengelolaan proyek
C. Fleksibel, yaitu jika terjadi perubahan proses bisnis maka desain
keluaran dan desain lainnya seketika dapat langsung diubah
D. Jadwal setiap proses dapat ditentukan secara pasti, sehingga
dapat dilihat jelas target penyelesaian pengembangan sistem.
4) Yang termasuk metodologi pengembangan sistem melalui
pendekatan Siklus Hidup Sistem adalah:
A. Waterfall
B. Paket
C. End-User Development
D. Jawaban A, B, dan C Benar
5) Penerapan metodologi pengembangan sistem secara formal akan
berdampak pada:
A. Mendapat penolakan dari para pemrogram yang lebih senang
mengandalkan pengalaman pribadi atau best practice dalam
mengembangkan sistem
B. Mendorong terciptanya solusi yang terintegrasi bagi manajemen
organisasi yang besar dan kompleks
C. Menyebabkan proses pengembangan proyek sistem menjadi
tidak fleksibel.
D. Jawaban A, B, dan C Salah
6. Bila dalam fase Desain sistem terdapat masalah yang diakibatkan
oleh adanya kebutuhan sistem yang tidak terpenuhi, maka proyek
sistem perlu ditinjau kembali dengan cara mengimplementasikan
kembali tahap Analisis Sistem sebelum projek dilanjutkan pada fase
implementasi. Prinsip ini adalah salah satu prinsip yang diterapkan
dalam SDLC.

RPL – Pemodelan Perangkat Lunak


1.55

B. Benar
S. Salah
7. Pada umumnya sistem yang dibangun menggunakan SDLC adalah
sistem pemrosesan transaksi yang diperuntukkan untuk memenuhi
kebutuhan level manajerial operasional di bagian paling bawah.
B. Benar
S. Salah
8. Dalam pengukuran kualitas sebuah sistem informasi berbasis
komputer (perangkat lunak), pengukuran kualitas sistem dilakukan
terhadap kualtas produk jadinya, sehingga kematangan proses
pengembangannya menjadi hal yang dapat dihirauka.
B. Benar
S. Salah
9. Beragam metodologi alternatif yag dapat digunakan dalam
pengembangan sistem informasi, seperti: End-User Development,
extreme Programming, outsourcing, dan Spiral.
B. Benar
S. Salah
10. Penggunaan metodologi pengembangan sistem secara formal
bukanlah suatu jaminan bahwa suatu proyek pengembangan sistem
sepenuhnya akan dapat mencapai tujuan.
B. Benar
S. Salah

Hitunglah jawaban yang benar. Kemudian, gunakan rumus berikut


untuk mengetahui tingkat penguasaan Anda terhadap materi Kegiatan
Belajar 1-2.

MODUL 1
1.56

Jumlah Jawaban yang Benar


Tingkat penguasaan =  100%
Jumlah Soal

Arti tingkat penguasaan: 90 - 100% = baik sekali


80 - 89% = baik
70 - 79% = cukup
< 70% = kurang

Apabila mencapai tingkat penguasaan 80% atau lebih, Anda dapat


meneruskan dengan Kegiatan Belajar 2-1. Jika masih di bawah 80%,
Anda harus mengulangi materi Kegiatan Belajar 1-2, terutama bagian
yang belum dikuasai.

RPL – Pemodelan Perangkat Lunak


1.57

Rangkuman

Proses pengembangan sistem melewati beberapa tahapan (fase), dimulai


dari fase perencanaan, analisis, desain, sampai dengan sistem tersebut
diimplementasikan, dioperasikan dan dipelihara. Bila dalam operasi
sistem masih timbul permasalahan-permasalahan yang tidak dapat
diatasi dalam tahap pemeliharaan sistem, maka sistem tersebut perlu
ditinjau kembali untuk dikembangkan dengan mengimplementasikan
kembali tahap awal. Proses ini membentuk sebuah siklus yang dikenal
dengan nama siklus hidup pengembangan sistem (system development
life cycle /SDLC). SDLC menjadi dasar munculnya berbagai ragam
metodologi pengembangan lain yang telah disesuaikan dengan
kebutuhan pengebangan sistem.
Munculnya berbagai istilah yang digunakan dalam pengembangan
sistem informasi seringkali membuat bingung bagi pemakainya,
terutama kerancuan dan kekaburan makna dari istilah metode dan
metodologi. Pengertian metode dan metodologi bahkan sering saling
dipertukarkan (bermakna sama) atau mempunyai makna yang berbeda
pada situasi yang berbeda. Namun beberapa pakar di bidang sistem
informasi berpandangan bahwa secara pragmatis pengertian metodologi
dapat dianggap sama dengan pengertian metode. Demikian juga dengan
ragam metodologi pengembangan sistem, seringkali membuat bingung
dalam mempelajari dan memahaminya. Munculnya ragam metodologi
pengembangan sistem informasi diakibatkan oleh adanya perbedaan
sudut pandang para penyusun metodologi dalam merumuskan
metodologi tersebut, seperti sudut pandang latar belakang maupun
pendekatan yang digunakan dalam pengembangan sistem, sudut
MODUL 1
1.58

pandang filosofi, tema pengembangan, serta objek pengembangan


(model proses atau objek proses).
Meskipun berbeda, pada dasarnya setiap metodologi pengembangan
sistem berusaha mencapai suatu tujuan yang sama yaitu harapan untuk
mendefinisikan secara akurat apa yang menjadi kebutuhan pengguna,
memantau dan mengendalikan proyek pengembangan sistem dengan
baik, serta menghasilkan sistem dengan sumber daya pengembangan
yang efisien.

RPL – Pemodelan Perangkat Lunak


1.59

Latihan 1-2:
- Untuk memperdalam pemahaman Anda mengenai materi pada
Kegiatan Belajar 1-2, Melalui e-learning kerjakanlah Latihan
berikut sesuai dengan waktu yang telah ditetapkan!
- Lihat Panduan Pengoperasian e-learning Untuk Mahasiswa!

1) Terdapat banyak varian tahapan pada siklus hidung pengembangan


sistem (system development life cycle / SDLC) yang dikemukakan
oleh para ahli pengembangan sistem informasi, namun pada
umumnya memiliki kesamaan pada banyak hal. Sebutkan dan
jelaskan 3 tahapan yang paling utama dalam siklus hidup
pengembangan sistem.
2) Jelaskan alasan mengapa metodologi pengembangan diperlukan
dalam proses pengembangan sistem informasi?
3) Sebutkan dan jelaskan 5 contoh metodologi pengembangan sistem
berdasarkan kategori pendekatan tema pengembangan sistem.

MODUL 1
1.60

Glosarium

Analis : Individu yang diberi tugas untuk menganalisis


permasalahan dan mendesain kebutuhan pada
berbagai aspek (bisnis, sistem, infrastruktur, dan
manajemen perubahan, dan lain-lain) dalam siklus
pengembangan sistem informasi

Analisis sistem : Kegiatan mengidentifikasi permasalahan dan


kebutuhan sistem informasi

Desain sistem : Kegiatan menterjemahkan model-model logis


sistem menjadi model-model fisik sistem informasi

Fase : Tahapan-tahapan dalam pengembangan sistem


informasi

Implementasi : Kegiatan menulis program komputer dengan


sistem berpedoman pada desain sistemm, menguji
program komputer yang telah ditulis, instalasi dan
integrasi program komputer dengan perangkar
keras pendukung sistem informasi, serta
menerapkan sistem pada situasi yang sebenarnya

Metodologi : Kumpulan prosedur, teknik, alat, dan alat bantu


pendokumentasian yang membantu para
pengembang dalam mengembangkan sistem
informasi

Model fisik : Gambar teknis yang merefresentasikan fungsi-


fungsi sistem informasi

Model Logis : Gambar non teknis yang merefresentasikan


prosedur bisnis organisasi

Pemodelan : Kegiatan menterjemahkan prosedur bisnis


Sistem organisasi menjadi model-model logis sistem
informasi

RPL – Pemodelan Perangkat Lunak


1.61

Pengembangan : Kegiatan menyusun suatu sistem informasi yang


sistem baru untuk menggantikan sistem yang lama
secara keseluruhan atau memperbaiki sistem yang
telah ada

Perangkat : Program aplikasi sistem informasi berbasis


Lunak komputer
(Software)

Perawatan : Kegiatan menjaga, memperbaiki atau


Sistem menanggulangi permasalahan yang muncuk
ketika sistem informasi sedang
diimplementasikan

Programmer : Individu yang diberi tugas untuk menterjemahkan


desain sistem informasi menjadi program aplikasi
sistem informasi

Proses Bisnis : Rangkaian aktivitas atau kegiatan tertentu yang


terstruktur yang dilakukan dalam organisasi, yang
menjadi acuan dalam pengembangan sistem
informasi.

Sistem : Aplikasi sistem informasi berbasis komputer yang


Berbasis berjalan diatas komputer yang berdiri sediri (tidak
Desktop terkoneksi ke jaringan komputer).

Sistem : Sistem informasi yang menggunakan komputer


Informasi sebagai alat pengolah data dan penyaji informasi
Berbasis
Komputer

Sistem : Sistem berbasis komputer yang mengolah data


Informasi dan menghasilkan informasi yang berguna bagi
manajemen organisasi

Sistem lama : Sistem informasi yang telah digunakan sebelum


sistem baru dikembangkan, baik berupa sistem
informasi yang sudah terkomputerisasi maupun
sistem yang masih manual.

Sistem Manual : Sistem pengolahan, pemrosesan transaksi, dan


penyajian informasi yang belum menggunakan

MODUL 1
1.62

komputer sebagai alat bantu.

Sistem : Aplikasi sistem informasi berbasis komputer yang


Terdistribusi basis datanya berbeda di beberapa tempat,
namun saling terhubung melalui jaringan
komputer.

Stakeholder : Semua pihak yang memiliki kepentingan atau


terkena dampak pengembangan sistem informasi

System : Sebuah siklus dalam proses pengembangan sistem


Development informasi, yang terdiri dari tahapan merencanakan
Life Cycle membuat, menguji, dan meluncurkan sistem
informasi

RPL – Pemodelan Perangkat Lunak


1.63

Daftar Pustaka

Avison, D.E., Fitzgerald, G. (2006). Information System Development:


Methodologies, Techniques and Tools, 3rd edition, McHraw-Hill,
London.
Beynon-Davies, P., & Williams, M. D. (2003). The diffusion of
information systems development methods. The journal of
strategic information systems, 12(1), 29-46.
Dennis A., Wixom B. H., Roth R.M. (2012). Systems Analysis &
Design, Fifth Edition, John Wiley & Sons, Inc, United States of
America
Dennis A., Wixom B. H., Tegarden D. (2009). Systems Analysis &
Design With UML Version 2.0, Third edition, John Wiley & Sons,
Inc, United States of America
Hardiansyah, F. (2019). E-KEUANGAN: Menuju Good Governance.
Jurnal Sains Penelitian & Pengabdian, 1(2): 17-24
Hoffer, J.A., George, J. F., & Valacich, J.S. (2011). Modern System
Analysis and Design. 6th edition. Pearson, Boston.
IEEE Standard Glossary of Software Engineering Technology, (1990).
IEEE Std 610.12-1990, Institute of Electrical and Electronics
Engineers, New York.
Iivari, J., Hirschheim, R., & Klein, H. K. (2000). A dynamic framework
for classifying information systems development methodologies
and approaches. Journal of management information
systems, 17(3), 179-218.
Jogianto H.M. (2008). Analisis & Disain Sistem Informasi: Pendekatan
Terstruktur Teori dan Praktek Aplikasi Bisnis, Edisi 3. Penerbit
ANDI, Yogyakarta.
Jogianto H.M. 2010. Sistem Teknologi Informasi, Edisi 3, Penerbit
ANDI, Yogyakarta.
Prasetyo, B. (2010). Kajian Tentang Metodologi Pengembangan Sistem
Informasi. Risalah Lokakarya Komputasi Dalam Sains Dan
Teknologi Nuklir, 97-122.
Pressman, R.S. (2010). Software Enginering, A Practitioner’s
Approach, Seventh Edition, McGraw-Hill, New York

MODUL 1
1.64

Radliya, N.R., Fauzan, R., & Irmayanti, H. (2018). Pengembangan


Sistem Informasi Geografis Dalam Manajemen Tata Ruang
Wilayah. Jurnal Teknologi dan Informasi, 8(2): 73-81
Romney, M.B., Steinbart, P.J. (2012). Accounting Information System.
12th edition. Pearson, Boston
Sarosa A. (2017). Metodologi Pengembangan Sistem Informasi,
Penerbit Indeks, Jakarta.
Sommerville, I. (2016). Software Engineering, Tent Edition, Pearson,
USA.
Sulianta F. (2017). Teknik Perancangan Arsitektur Sistem Informasi.
Penerbit ANDI, Yogyakarta.
Whitten J.L., Bentley L.D., & Dittman K.C. (2001). System Analysis and
Design Methods. 5th edition. McGraw-Hill, Boston.
Zaenudin, A. (2017). Akhir Perjalanan dari Kegagalan Windows Vista,
https://tirto.id/ akhir-perjalanan-dari-kegagalan-windows-vista-
clqH: 4 April 2020.

RPL – Pemodelan Perangkat Lunak

Anda mungkin juga menyukai