ANALISIS PERANCANGAN SISTEM Pertemuan 3 Pengembangan Sistem Pengembangan
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 Lama 1. Problems kecurangan yang disengaja - Ketidakberesan kesalahan yang tidak disengaja tidak efisiennya operasi - Pertumbuhan organisasi 2. Opportunities 3. Directives Pengembangan 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 kebutuhan 2 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 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 metode 2, prosedur 2, konsep 2 pekerjaan, aturan 2 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 fakta 2 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 q Banyak metode pengembangan sistem yang tersedia q Metode yang paling dikenal disebut juga sebagai System Development Life Cycle (SDLC) atau sering juga disebut sebagai Water Fall Method q Metode-metode yang dikenal antara lain: Prototyping, Application Software, End-User Development, Outsourcing, dan lain-lain. q 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 mockup, 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 menguntungkan, 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.
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 My. SQL, 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. 2. 3. 4. 5. 6. Prototyping CASE tools Joint Application Design (JAD) Rapid Application Development (RAD) Agile Methodologies e. Xtreme 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. e. Xtreme Programming • • Siklus pengembangan incremental, pendek Otomatis tes Dua orang tim pemrograman Pengkodean dan pengujian beroperasi bersama • 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 langkahdemi-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
- Slides: 58