Pertemuan 3 – Pengembangan Sistem
ANALISIS &
PERANCANGAN 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:
– Komunikasi user dan
pengembang intensif
– User terlibat aktif dalam
menentukan requirement
– Waktu pengembangan
relatif singkat
– Implementasi mudah
karena pemakai
mengetahui dari awal
apa yang akan
diperolehnya
• Kelemahan:
– Kemungkinan terjadi
shortcut dalam
pendefinisian masalah
– Pemakai bisa terlalu
berlebih menentukan
requirement sehingga
sulit dipenuhi
– Kemungkinan tidak
dihasilkan rancangan
yang baik
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
Typical System Development Life Cycle (SDLC) diagram.
Requirements
Gathering
Analysis
Design
Implementation
Testing
Production &
Maintenance
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
mengikuti setiap
kegiatan untuk
menyelesaikan SDLC
• Koleksi model,
peralatan, dan teknik
• Dapat dikembangkan
di-rumah atau dibeli
dari vendor eksternal
• Varians yang luas di
tingkat detail
 Contoh:
Coopers and
Lybrand Summit D
Accenture Method-1
Rational Unified
Process (RUP)
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

APS 3 - Pengembangan Sistem.ppt

  • 1.
    Pertemuan 3 –Pengembangan Sistem ANALISIS & PERANCANGAN SISTEM
  • 2.
    Pengembangan Sistem  Pengembangansistem 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.
  • 3.
    Alasan / PerlunyaPengembangan 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
  • 4.
    Peningkatan yang diharapkandalam pengembangan sistem • Performance • Information • Economy • Control • Efficiency • Services
  • 5.
    Perbaikan dari sistemyang 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
  • 6.
    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
  • 7.
    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
  • 8.
    3. Dipandang daricara 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.
  • 10.
    4. Dipandang daricara 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.
  • 12.
    5. Dipandang dariteknologi 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.
  • 13.
    Metodologi Pengembangan Sistem Metodologipengembangan 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
  • 14.
    Klasifikasi metodologi pengembangan sistemterdiri 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)
  • 15.
    2. Data-oriented Methodologies Metodologiini 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
  • 16.
    b. Data Structureoriented 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)
  • 17.
    3. Prescriptive Methodologies Yangtermasuk dalam metodologi ini : - ISDOS (Information System Design and Organization System) - PLEXSYS - PRIDE - SDM/70 - SPECTRUM - SRES dan SREM
  • 18.
    Alat dan TeknikPengembangan 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.
  • 19.
    Teknik yang digunakanuntuk 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
  • 20.
    Penyebab kegagalan pengembangansistem : • 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
  • 21.
    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.
  • 22.
    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
  • 23.
    …metode prototyping • Keuntungan: –Komunikasi user dan pengembang intensif – User terlibat aktif dalam menentukan requirement – Waktu pengembangan relatif singkat – Implementasi mudah karena pemakai mengetahui dari awal apa yang akan diperolehnya • Kelemahan: – Kemungkinan terjadi shortcut dalam pendefinisian masalah – Pemakai bisa terlalu berlebih menentukan requirement sehingga sulit dipenuhi – Kemungkinan tidak dihasilkan rancangan yang baik
  • 24.
    2. Metode ApplicationSoftware  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
  • 25.
    3. Metode End-userDevelopment  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.
  • 26.
    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.
  • 27.
    Metode Pengembangan Sistem Metodeyang paling dikenal disebut sebagai System Development Life Cycle (SDLC) atau sering juga disebut sebagai Waterfall Method
  • 28.
    WATERFALL MODEL  Modelyang 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
  • 29.
    Metode SDLC Typical SystemDevelopment Life Cycle (SDLC) diagram. Requirements Gathering Analysis Design Implementation Testing Production & Maintenance
  • 30.
    SDLC (System DevelopmentLife Cycle) menurut John G. Burch
  • 31.
  • 33.
    Bagan Laporan Terdokumentasiyang siap diserahkan Front-End
  • 34.
    Bagan Laporan Terdokumentasiyang siap diserahkan Back-End
  • 35.
  • 36.
  • 38.
    • Contoh daripenerapan 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.
  • 39.
    Kelebihan Waterfall  Tahapanproses 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
  • 40.
    Kelemahan Waterfall  Proyekyang 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
  • 41.
    Masalah yang terjadipada 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
  • 42.
    Alternatif lain daritradisional Waterfall SDLC 1. Prototyping 2. CASE tools 3. Joint Application Design (JAD) 4. Rapid Application Development (RAD) 5. Agile Methodologies 6. eXtreme Programming
  • 43.
    1. Prototyping  Digunakanapabila 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.
  • 44.
  • 45.
    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
  • 46.
    Kelebihan dari modelprototyping :  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.
  • 47.
    Kekurangan dari modelprototying :  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.
  • 48.
    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
  • 49.
    3. Joint ApplicationDesign (JAD) • Proses terstruktur yang melibatkan pengguna, analis, dan manajer • Membutuhkan beberapa hari sesi workgroup intensif • Tujuan: untuk menentukan atau meninjau persyaratan sistem
  • 50.
    4. Rapid ApplicationDevelopment (RAD) • Metodologi untuk mengurangi waktu desain dan implementasi • Mencakup prototyping, JAD, CASE tools, dan generator kode
  • 51.
    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
  • 52.
    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
  • 53.
    Yang perlu dilakukanSistem Analis • Memilih pendekatan khusus untuk mengembangkan suatu sistem informasi - ada banyak alternatif. • Memahami metodologi istilah, model, alat dan teknik
  • 54.
    Metodologi • Pedoman yang komprehensifuntuk mengikuti setiap kegiatan untuk menyelesaikan SDLC • Koleksi model, peralatan, dan teknik • Dapat dikembangkan di-rumah atau dibeli dari vendor eksternal • Varians yang luas di tingkat detail  Contoh: Coopers and Lybrand Summit D Accenture Method-1 Rational Unified Process (RUP)
  • 55.
    Model  Representasi aspek pentingdari dunia nyata - abstraksi atau penyederhanaan  Koleksi model yang dibutuhkan untuk berkomunikasi persyaratan sistem  Banyak jenis model. Sistem Model - visual: gambar / diagram
  • 56.
    Tool • Perangkat lunak pendukungyang membantu membuat model atau komponen proyek lainnya • Dari program menggambar sederhana untuk CASE tools yang kompleks
  • 57.
    Teknik • Koleksi pedoman yangmembantu Sistem Analis kegiatan pembangunan lengkap atau tugas • Berkisar dari saran umum ke langkah- demi-langkah
  • 58.
    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