You are on page 1of 58

ANALISIS &

PERANCANGAN SISTEM

Pertemuan 3 – Pengembangan Sistem


Pengembangan Sistem
 Pengembangan sistem informasi sering
disebut sebagai proses pengembangan
sistem (System Development).
 Pengembangan sistem didefinisikan
sebagai berikut :
Menyusun suatu sistem yang baru untuk
menggantikan sistem yang lama secara
keseluruhan, atau memperbaiki sistem yang
telah ada.
Alasan / Perlunya Pengembangan Sistem
Sistem Lama

1. Problems
kecurangan yang disengaja
- Ketidakberesan kesalahan yang tidak disengaja
tidak efisiennya operasi
- Pertumbuhan organisasi

2. Opportunities

3. Directives

Pengembangan Sistem

Sistem Baru

P I E C E S
Peningkatan yang diharapkan dalam
pengembangan sistem

• Performance
• Information
• Economy
• Control
• Efficiency
• Services
Perbaikan dari sistem yang lama diharapkan dapat
memberikan peningkatan-peningkatan terhadap sistem
yang baru berupa :
• Performance : peningkatan kinerja sistem baru menjadi
lebih efektif yang dapat diukur dari throughput dan
response time
• Information : peningkatan terhadap kualitas informasi
yang disajikan
• Economy : peningkatan diharapkan dapat memberikan
keuntungan atau penekanan biaya
• Control : peningkatan terhadap pengendalian untuk
mendeteksi dan memperbaiki kesalahan serta
kecurang yang terjadi
• Efficiency : peningkatan terhadap efisiensi operasi
• Services : peningkatan terhadap pelayanan yang
diberikan oleh sistem
Prinsip Pengembangan Sistem
1. Sistem yang dikembangkan adalah untuk manajemen,
sehingga sistem baru harus dapat mendukung
manajemen
2. Sistem yang dikembangkan adalah investasi modal
besar. Investasi modal harus mempertimbangkan dua
hal :
Semua alternatif yang ada harus diinvestigasi
Investasi yang terbaik harus bernilai
3. Sistem yang dikembangkan memerlukan orang yang
terdidik
4. Tahapan kerja dan tugas yang harus dilakukan dalam
proses pengembangan sistem
5. Proses pengembangan sistem tidak harus urut
6. Jangan takut membatalkan proyek
7. Dokumentasi harus ada untuk pedoman dalam
pengembangan sistem
Pendekatan Pengembangan Sistem
1. Dipandang dari metodologi yang digunakan
 Klasik : mengikuti tahapan system life cycle
 Terstruktur : mengikuti tahapan system life cycle +
Alat-alat (Tools) dan Teknik

2. Dipandang dari sasaran yang akan dicapai


 Pendekatan sepotong : menekankan pada suatu
kegiatan atau aplikasi tertentu
 Pendekatan sistem : menekankan pada pencapaian
sasaran keseluruhan dari organisasi, tidak hanya
menekankan pada sasaran dari sistem informasi saja
3. Dipandang dari cara menentukan kebutuhan
sistem
 Pendekatan atas-turun (top-down) : dimulai dari
level atas organisasi (perencanaan strategis) dengan
mendefinisikan sasaran kebijaksanaan organisasi.
Selanjutnya dilakukan analisis kebutuhan informasi,
lalu pemrosesan transaksi.

 Pendekatan bawah-naik (bottom-up) : dimulai dari


level bawah organisasi (level operasional) dengan
perumusan kebutuhan2 untuk menangani transaksi,
kemudian naik ke atas dengan merumuskan
kebutuhan informasi berdasarkan transaksi tersebut.
4. Dipandang dari cara mengembangkannya
 Pendekatan sistem menyeluruh : pendekatan
yang mengembangkan sistem serentak secara
menyeluruh.
 Pendekatan moduler :
merupakan pendekatan dengan memecah
sistem yang rumit menjadi beberapa bagian
atau modul sederhana, sehingga sistem mudah
dikembangkan.
5. Dipandang dari teknologi yang akan
digunakan
 Pendekatan lompatan jauh (great loop)
merupakan pendekatan dengan menerapkan
perubahan menyeluruh secara serentak menggunakan
teknologi canggih.

 Pendekatan berkembang (evolutionary)


menerapkan teknologi canggih hanya untuk aplikasi-
aplikasi yang memerlukan saja pada saat itu dan akan
terus dikembangkan untuk periode-periode berikutnya
mengikuti kebutuhan sesuai dengan perkembangan
teknologi yang ada.
Metodologi Pengembangan Sistem
Metodologi pengembangan sistem berarti metode2, prosedur2,
konsep2 pekerjaan, aturan2 yang akan digunakan untuk
mengembangkan suatu sistem informasi.

Metode adalah :
Suatu cara/teknik yang sistematik untuk mengerjakan sesuatu.

Metodologi pengembangan sistem yang ada biasanya dibuat atau


diusulkan oleh:
• Penulis Buku
• Peneliti
• Konsultan
• System in House
• Pabrik Software
Klasifikasi metodologi pengembangan
sistem terdiri dari :
1.Functional Decomposition Methodologies
Metodologi ini menekankan pada pemecahan sistem ke
dalam subsistem-subsistem yang lebih kecil, sehingga
akan lebih mudah untuk dipahami, dirancang dan
diterapkan.

Yang termasuk kelompok ini


- HIPO (Hierarchy Input Process Output)
2. Data-oriented Methodologies
Metodologi ini menekankan pada karakteristik data
yang akan diproses.

a. Data-flow oriented Methodologies


Metodologi ini secara umum didasarkan pada
pemecahan sistem ke dalam modul-modul
berdasarkan tipe elemen data dan tingkah laku
logika modul tersebut di dalam sistem.

Yang termasuk dalam metodologi ini :


- SADT (Structured Analysis and Design Techniques)
- Composite Design
- SSAD (Structured System Analysis and Design
b. Data Structure oriented Methodologies
Metodologi ini menekankan struktur input dan output
di sistem. Struktur ini kemudian digunakan sebagai
dasar struktur dari sistemnya. Hubungan fungsi
antar modul atau elemen-elemen sistem kemudian
dijelaskan dari struktur sistemnya.

Yang termasuk dalam metodologi ini :


- JSD (Jackson’s Systems Development)
- W/O (Warnier/Orr)
3. Prescriptive Methodologies

Yang termasuk dalam metodologi ini :


- ISDOS (Information System Design and Organization
System)
- PLEXSYS
- PRIDE
- SDM/70
- SPECTRUM
- SRES dan SREM
Alat dan Teknik Pengembangan Sistem

Alat yang digunakan untuk pengembangan sistem


dapat berupa :
1. Grafik
HIPO, DFD, SADT, W/O, JSD

2. Bagan
a. Bagan untuk menggambarkan aktivitas
b. Bagan untuk menggambarkan tata letak
c. Bagan untuk menggambarkan hubungan
personil. Berupa bagan distribusi kerja, bagan
organisasi.
Teknik yang digunakan untuk pengembangan
sistem antara lain :
1.Teknik Manajemen Proyek : CPM, PERT
2. Teknik Menemukan Fakta, yaitu teknik untuk
mengumpulkan data dan menemukan fakta2
dalam kegiatan mempelajari sistem yang ada,
dengan cara Wawancara, Observasi, Kuesioner,
Sampling
3.Teknik Analisis Biaya
4.Teknik Menjalankan Rapat
5.Teknik Inspeksi
Penyebab kegagalan pengembangan sistem :
• Kurangnya penyesuaian pengembangan sistem
• Kelalaian menetapkan kebutuhan pemakai dan
melibatkan pemakai
• Kurang sempurnanya evaluasi kualitas dan analisis biaya
• Adanya kerusakan dan kesalahan rancangan
• Penggunaan teknologi komputer dan perangkat lunak
yang tidak direncanakan dan pemasangan teknologi tidak
sesuai
• Pengembangan sistem yang tidak dapat dipelihara
• Implementasi yang direncanakan dilaksanakan kurang
baik
Metode Pengembangan Sistem
 Banyak metode pengembangan sistem yang tersedia
 Metode yang paling dikenal disebut juga sebagai
System Development Life Cycle (SDLC) atau sering
juga disebut sebagai Water Fall Method
 Metode-metode yang dikenal antara lain: Prototyping,
Application Software, End-User Development,
Outsourcing, dan lain-lain.
 Pada bagian berikut akan dijelaskan metode-metode
tersebut secara ringkas.
1. Metode Prototyping

 Pendekatan iteratif dalam


pengembangan sistem
 Dibuat prototype
operasional sistem,
gunakan data aktual, edit
input, lakukan komputasi
dan semua manipulasi
sehingga dihasilkan
output nyata
 Seperti membuat mock-
up, coba, perbaiki, dst.
Prototyping Process
…metode prototyping

• Keuntungan: • Kelemahan:
– Komunikasi user dan – Kemungkinan terjadi
pengembang intensif shortcut dalam
– User terlibat aktif dalam pendefinisian masalah
menentukan requirement – Pemakai bisa terlalu
– Waktu pengembangan berlebih menentukan
relatif singkat requirement sehingga
– Implementasi mudah sulit dipenuhi
karena pemakai – Kemungkinan tidak
mengetahui dari awal dihasilkan rancangan
apa yang akan yang baik
diperolehnya
2. Metode Application Software

 Alternatif lain adalah dengan membeli software aplikasi


yaitu paket software yang sudah jadi
 Misalkan membeli SAP, MSProject, dll.
 Digunakan untuk aplikasi yang bersifat umum,
misalkan payroll, akunting, dll. Namun pada saat ini
software yang berbasis enterprise secara keseluruhan
sudah banyak tersedia (enterprise software): Oracle,
Baan ERP, SAP, dll.
 Sangat sesuai jika perusahaan yang mengembang-
kan sistem kekurangan tenaga IT
3. Metode End-user Development

 Pengembangan dilakukan langsung oleh end-user.


 Menjadi semakin layak dengan tersedianya bahasa
pemrograman yang mudah seperti MS Access, Delphi,
dll.
 Keterlibatan langsung end-user sangat menguntung-
kan, karena memahami benar bagaimana sistem
bekerja. Artinya tahap analisis sistem dapat dilakukan
lebih cepat.
 Kelemahan adalah pada pengendalian mutu dan
kecenderungan tumbuhnya “private” sistem informasi.
Integrasi dengan sistem yang lain menjadi sulit.
4. Metode Outsourcing

 Dilakukan kontrak dengan pihak luar untuk menangani


baik pengembangan maupun operasi & maintenance
sistem.
 Menguntungkan dari sisi kecepatan memperoleh hasil
dan biaya.
 Ada resiko tidak dapat mengendalikan sistem secara
langsung dan masalah security.
Metode Pengembangan Sistem

Metode yang paling dikenal disebut


sebagai System Development Life
Cycle (SDLC) atau sering juga disebut
sebagai Waterfall Method
WATERFALL MODEL
 Model yang digunakan pertama kali oleh Winston Royce,
sekitar tahun 1970, dikenal juga dengan “Linier Sequential
Model / Classic Life Cycle”
 Merupakan metode pengembangan sistem paling tua
 Sangat cocok untuk pengembangan sistem yang besar
dan yang akan dipakai dalam waktu lama
 Tidak sesuai atau tidak terlalu disarankan untuk small scale
project karena:
 Banyak memerlukan sumber daya
 Tidak fleksibel
 Sulit untuk melakukan perubahan aplikasi dengan
pengambilan keputusan yang cepat
 Karena waktu pengerjaan relatif lama maka biaya yang
ditimbulkan juga besar
Metode SDLC

Requirements
Gathering

Production &
Analysis
Maintenance

Testing Design

Implementation

Typical System Development Life Cycle (SDLC) diagram.


SDLC (System Development Life Cycle)
menurut John G. Burch
SDLC (System Development Life Cycle)
Bagan Laporan Terdokumentasi yang siap
diserahkan Front-End
Bagan Laporan Terdokumentasi yang siap
diserahkan Back-End
WATERFALL MODEL….cont

35
WATERFALL MODEL….cont
• Contoh dari penerapan model pengembangan ini adalah
pembuatan program pendaftaran online ke suatu Instansi
Pendidikan. Program ini akan sangat membantu dalam
proses pendaftaran, karena dapat meng-efektifkan waktu
serta pendaftar tidak perlu repot langsung mendatangi
Instansi Pendidikan.

Teknisnya adalah sebagai berikut :


– Sistem program untuk pendaftaran dibuat menggunakan bahasa
pemrograman PHP, dengan dsistem database yang dibuat
menggunakan MySQL, dan diterapkan (diaplikasikan) pada PC
(personal computer) dengan sistem operasi berbasis Microsoft
Windows, Linux, dan sebagainya.
– Setelah program selesai dibuat dan kemudian dipergunakan
oleh user, programmer akan memelihara serta menambah atau
menyesuaikan program dengan kebutuhan serta kondisi user.
Kelebihan Waterfall
 Tahapan proses pengembangannya tetap (pasti), mudah
diaplikasikan, dan prosesnya teratur
 Cocok digunakan untuk produk software/program yang sudah jelas
kebutuhannya di awal, sehingga minim kesalahannya
 Software yang dikembangkan dengan metode ini biasanya
menghasilkan kualitas yang baik
 Adanya laporan setiap akhir fase sehingga memudahkan
kontrol/pengawasan
 Mudah melakukan dokumentasi
 Dokumen pengembangan sistem sangat terorganisir, karena setiap
fase harus terselesaikan dengan lengkap sebelum melangkah ke
fase berikutnya
 Dokumentasi secara formal sehingga memudahkan penelusuran
kembali terhadap kebutuhan bisnis
Kelemahan Waterfall
 Proyek yang sebenarnya jarang mengikuti alur SDLC seperti diusulkan,
sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah
didapatkan tim pengembang harus diubah kembali/iterasi sehingga sering
menyebabkan masalah baru.
 Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel,
karena komitmen harus dilakukan pada tahap awal proses.
 Sulit untuk mengalami perubahan kebutuhan yang diinginkan oleh
pelanggan.
 Pelanggan harus sabar untuk menanti produk selesai, karena dikerjakan
tahap per tahap, dan proses pengerjaanya akan berlanjut ke setiap tahapan
bila tahap sebelumnya sudah benar-benar selesai.
 Perubahan ditengah-tengah pengerjaan produk akan membuat bingung tim
pengembang yang sedang membuat produk.
 Adanya waktu kosong (menganggur) bagi pengembang, karena harus
menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.
 Pelanggan mendapatkan produk sesuai dengan pemahaman pengembang,
yang belum tentu sesuai kebutuhan
 Dokumentasi mahal dan menghabiskan waktu dalam pembuatan, dan selalu
berubah/ mengalami perbaikan
Masalah yang terjadi pada pendekatan Waterfall

• Persyaratan sistem "terkunci " setelah ditentukan (tidak


dapat berubah)
• Keterlibatan pengguna terbatas (hanya dalam fase
analisa kebutuhan sistem)
• Terlalu banyak fokus pada fase SDLC yang dapat
merugikan praktek-praktek pengembangan sistem
informasi
Alternatif lain dari tradisional Waterfall
SDLC
1. Prototyping
2. CASE tools
3. Joint Application Design (JAD)
4. Rapid Application Development (RAD)
5. Agile Methodologies
6. eXtreme Programming
1. Prototyping

 Digunakan apabila user hanya mendefenisikan objek


umum dari perangkat lunak tanpa merinci kebutuhan
input, proses dan outputnya.
 Dipakai untuk proyek skala kecil.
 Pada dasarnya penggunaan model prototyping adalah
untuk mendefenisikan kebutuhan software.
Prototyping .... lanjutan
Prototyping …. lanjutan
1. Pengumpulan kebutuhan : developer dan klien
bertemu dan menentukan tujuan umum, kebutuhan
yang diketahui dan gambaran bagian-bagian yang akan
dibutuhkan berikutnya. Detail kebutuhan biasanya tidak
dibahas pada awal pengumpulan kebutuhan.
2. Perancangan : perancangan dilakukan cepat dan
rancangan mewakili semua aspek software yang
diketahui. Pada tahap inilah pembuatan prototype
dibangun.
3. Evaluasi : klien mengevaluasi/testing prototype yang
akan dibuat dan digunakan untuk memperjelas
kebutuhan software
Kelebihan dari model prototyping :
 Pembangunan sistem relatif cepat.
 Memudahkan komunikasi antara developer dan
klien, sehingga klien dapat mengetahui gambaran
awal dari sistem yang akan dibangun.
 Membantu untuk mendapatkan kebutuhan yang lebih
baik dan detail.
Kekurangan dari model prototying :
 Walaupun user melihat berbagai perbaikan dari
setiap versi prototype, tetapi pemakai mungkin tidak
menyadari bahwa versi tersebut dibuat tanpa
memperhatikan kualitas dan pemeliharaan jangka
panjang.
 Jika klien merasa cocok dengan prototype yang
disajikan dan berkeras terhadap produk tersebut,
maka developer harus bekerja keras untuk
mewujudkan produk tersebut menjadi lebih baik.
 Pengembang kadang-kadang membuat kompromi
implementasi dengan menggunakan sistem operasi
yang tidak relevan dan algoritma yang tidak efisien.
2. CASE Tools

• Computer-Aided Software Engineering


• Software memberikan dukungan alat
otomatis untuk pengembangan sistem
• Proyek kamus / buku kerja: sistem
deskripsi dan spesifikasi diagram
alat
• Contoh produk: Oracle Designer, Rational
Rose
3. Joint Application Design (JAD)

• Proses terstruktur yang melibatkan


pengguna, analis, dan manajer
• Membutuhkan beberapa hari sesi
workgroup intensif
• Tujuan: untuk menentukan atau meninjau
persyaratan sistem
4. Rapid Application Development
(RAD)
• Metodologi untuk mengurangi waktu desain dan
implementasi
• Mencakup prototyping, JAD, CASE tools, dan generator
kode
5. Agile Methodologies

• Termotivasi oleh pengakuan pengembangan


perangkat lunak sebagai sesuatu yang tak
terduga, dan dinamis
• Tiga prinsip kunci
– Adaptif ketimbang prediksi
– Tekankan orang ketimbang peran
– Self-adaptif proses
6. eXtreme Programming
• Siklus pengembangan incremental, pendek
• Otomatis tes
• Dua orang tim pemrograman
• Pengkodean dan pengujian beroperasi
bersama-sama
• Keuntungan:
– Komunikasi antara pengembang
– Tinggi tingkat produktivitas
– Tinggi kualitas kode
Yang perlu dilakukan Sistem Analis

• Memilih pendekatan khusus untuk


mengembangkan suatu sistem informasi - ada
banyak alternatif.
• Memahami metodologi istilah, model, alat dan
teknik
Metodologi
• Pedoman yang
komprehensif untuk  Contoh:
mengikuti setiap  Coopers and
kegiatan untuk Lybrand Summit D
menyelesaikan SDLC  Accenture Method-1
• Koleksi model,  Rational Unified
peralatan, dan teknik Process (RUP)
• Dapat dikembangkan
di-rumah atau dibeli
dari vendor eksternal
• Varians yang luas di
tingkat detail
Model
 Representasi aspek
penting dari dunia nyata -
abstraksi atau
penyederhanaan
 Koleksi model yang
dibutuhkan untuk
berkomunikasi persyaratan
sistem
 Banyak jenis model.
Sistem Model - visual:
gambar / diagram
Tool
• Perangkat lunak
pendukung yang
membantu membuat
model atau
komponen proyek
lainnya
• Dari program
menggambar
sederhana untuk
CASE tools yang
kompleks
Teknik

• Koleksi pedoman
yang membantu
Sistem Analis
kegiatan
pembangunan
lengkap atau tugas
• Berkisar dari saran
umum ke langkah-
demi-langkah
Metodologi , Model, Teknik dan Tool

 Metodologi merupakan
kumpulan teknik yang
digunakan untuk
menyelesaikan semua
kegiatan SDLC
 Teknik menghasilkan
model (antara lain)
 Analis menggunakan
alat untuk
menyelesaikan
kegiatan dan untuk
menghasilkan model

You might also like