Pengembangan Sistem Informasi
1. Pendahuluan Pengembangan sistem informasi sering disebut sebagai proses pengembangan sistem (System Development) Pengembangan sistem didefinisikan sebagai:
Pendahuluan…..(lanjutan) Sebenarnya untuk menghasilkan sistem informasi tersebut terdiri dari: System Analysis: System Development:
2. Konteks Pengembangan Sistem
3. 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 lain yang dikenal antara lain: Prototyping, Application Software, End-User Development, Outsourcing, dan lain-lain. Pada bagian berikut akan dijelaskan metode-metode tersebut secara ringkas.
Typical System Development Life Cycle (SDLC) diagram. 4. Metode SDLC Typical System Development Life Cycle (SDLC) diagram.
SDLC(lanjutan) SDLC merupakan metode pengembangan sistem paling tua Sangat cocok untuk pengembangan sistem yang besar Tidak sesuai atau tidak terlalu disarankan untuk small scale project karena:
82-83 Figure 3.6 System Development Phases The figure above depicts a simplified phase diagram of the FAST methodology.
SDLC(lanjutan)
Cost to make a particular change in SDLC SDLC(lanjutan) Cost to make a particular change in SDLC
5. 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 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
6. 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 banyak tersedia (enterprise software): Oracle, Baan, SAP, dll. Sangat sesuai jika
7. 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. Kelemahan adalah pada
8. Metode Outsourcing Dilakukan kontrak dengan pihak luar untuk menangani baik pengembangan maupun operasi & maintenance sistem. Menguntungkan dari sisi Ada resiko
9. Prinsip Dasar Pengembangan Sistem Prinsip 1: Pemilik dan Pengguna Sistem Harus terlibat dalam pengembangan. 73-74 Analysts, programmers, and other information technology specialists frequently refer to ``my system.'' This attitude has, in part, created an ``us-versus-them'' attitude between technical staff and their users. Although analysts and programmers work hard to create technologically impressive solutions, those solutions often backfire because they don't address the real organization problems or they introduce new organization or technical problems. Miscommunication and misunderstandings continue to be a significant problem in systems development. However, owner and user involvement and education minimizes such problems and helps to win acceptance of new ideas and technological change. Because people tend to resist change, the computer is often viewed as a threat. Through education, information systems and computers can be properly viewed by users as tools that will make their jobs less mundane and more enjoyable.
Prinsip Dasar Pengembangan Sistem Prinsip 2: Gunakan Pendekatan Pemecahan Masalah Metodologi yang digunakan dalam pengembangan sistem berbasis pendekatan bagaimana memecahkan masalah Langkah-langkah klasik pemecahan masalah adalah sbb: 74 The notion here is that systems analysts should approach all projects using some sort of problem-solving approach.
Prinsip Dasar Pengembangan Sistem (lanjutan prinsip 2) Ada kecenderungan untuk melewati langkah-langkah tersebut di atas atau melakukannya dengan kurang seksama. Akibat yang terjadi kemungkinan adalah: 74 The problem-solving orientation of a methodology, when correctly applied, can reduce or eliminate the above risks.
Prinsip Dasar Pengembangan Sistem Prinsip 3: Tentukan tahapan pengembangan 74 At any given time, you may be performing tasks in more than one phase simultaneously. Furthermore, you may have to backtrack to previous phases and activities to make corrections or to respond to new requirements. Obviously, you can't get carried away with this type of backtracking or you might never implement the new system.
Prinsip Dasar Pengembangan Sistem Prinsip 4: Tetapkan standard untuk pengembangan dan dokumentasi yang konsisten Standard pengembangan sistem umumnya menjelaskan: aktivitas Tanggung jawab Petunjuk dan kebutuhan pendokumentasian Pemeriksaan kualitas Kegagalan pengembangan sistem akibat tidak tersedianya standard pendokumentasian merupakan hal yang banyak dijumpai dalam proyek pengembangan sistem 75-76 An organization has many information systems that may include thousands of programs and software packages. If each analyst and programmer were to adopt their own preferred methodology, and use their own tools and techniques to develop and document systems, a state of chaos would quickly result. In order to promote good communication between this constantly changing base of users and information systems professionals you must develop standards to ensure consistent systems development. Documentation should be a working by-product of the entire systems development effort. Documentation reveals strengths and weaknesses of the system to others – before the system is built. It stimulates user involvement and reassures management about progress.
Prinsip Dasar Pengembangan Sistem Prinsip 5: Justifikasi sistem sebagai investasi Sistem Informasi adalah sebuah investasi. Pada investasi maka terdapat dua hal yang harus diperhatikan, yaitu: Untuk setiap masalah, kemungkinan ada beberapa alternatif solusi Setelah alternatif-alternatif teridentifikasi, pengembang sistem haus mengevaluasi fisibilitas setiap kemungkinan alternatif solusi, terutama dikaitkan dengan cost-effectiveness. Cost-effectiveness artinya Cost-benefit analysis harus dilakukan. 76 No additional notes provided.
Prinsip Dasar Pengembangan Sistem Prinsip 6: Jangan takut membatalkan atau merubah lingkup pekerjaan. 76 There is often a temptation to continue with a project only because of the investment already made. Many analysts allow project scope to increase during a project. Sometimes this is inevitable because the analyst learns more about the system as the project progresses.
Prinsip Dasar Pengembangan Sistem (lanjutan prinsip 6:) Pendekatan creeping commitment : Titik-titik pemeriksaan (checkpoints) fisibilitas harus dibuat dalam proses pengembangan sistem. Pada setiap titik pemeriksaan, semua biaya dianggap sunk-cost (artinya irrecoverable). Pada titik tersebut proses re-evaluasi dilakukan untuk menentukan apakah proyek masih fisibel. Dari hasil evaluasi tersebut, pengembang sistem dapat: Membatalkan proyek jika dinilai tidak fisibel Re-evaluasi biaya dan jadwal jika lingkup proyek berubah. Pengurangan lingkup proyek jika anggaran dan jadwal tidak dapat ditambah sedangkan yang tersedia tidak mencukupi pencapaian semua tujuan yang telah ditetapkan. 76 The concept of sunk costs is more or less familiar to some financial analysts and managers, but it is frequently forgotten or not used by the majority of practicing analysts and users.
Prinsip Dasar Pengembangan Sistem Prinsip 7: Bagi dan tundukkan Semua sistem merupakan bagian dari sistem yang lebih besar (disebut super-systems). Begitu pula semua sistem terdiri dari bagian-bagian yang lebih kecil (disebut subsystems). Sistem harus dibagi menjadi subsistem-subsistem yang lebih kecil untuk memudahkan menyelesaikan persoalan dan membangun sistem yang lebih. Dengan membagi persoalan besar (sistem) menjadi potongan kecil yang lebih mudah (subsstem), pengembang akan mudah menerapkan proses pemecahan masalah. 76-77 Systems analysts must be mindful that any system they are working on interacts with its super-system. If the super-system is constantly changing, so might the scope of any given project. Most systems analysts can still be faulted for underestimating the size of projects. Most of the fault lies with not properly studying the implications of a given system relative to its larger whole – its super-system.
Prinsip Dasar Pengembangan Sistem Prinsip 8: Rancang sistem untuk pertumbuhan dan perubahan Banyak pengembang sistem yang terjebak dalam pengembangan sistem untuk memenuhi kebutuhan saat ini saja. Entropy adalah pengertian yang dipakai untuk menjelaskan bahwa sistem secara alamiah akan mengalami penurunan. Sistem bisa menjadi usang (obsolute) dan biaya untuk mengoperasikannya menjadi sangat besar. 77 There is a critical shortage of information systems professionals needed to develop systems.
77 Figure 3.2 Systems Support and Entropy Entropy is illustrated in the context of the system development life cycle in the figure above. Notice that, after a system is implemented, it enters the support phase of the life cycle. During the support phase, the analyst encounters the need for changes that range from correcting simple mistakes, to redesigning the system to accommodate changing technology, to making modifications to support changing user requirements. As indicated by the blue arrows, many of these changes direct the analyst and programmer to rework former phases of the life cycle. Eventually, the cost of maintenance exceeds the costs of starting over – the system has become obsolete. This is indicated by the red arrow in the figure.
Prinsip Dasar Pengembangan Sistem (lanjutan Prinsip 8:) Sistem yang dirancang hanya untuk memenuhi kebutuhan saat ini akan sulit disesuaikan untuk menghadapi perubahan-perubahan. Perhatian harus sebanding antara memperhatikan sistem yang ada (sering disebut legacy systems), dan bagaimana memperkirakan arah pengembangan sistem yang baru. Fleksibilitas dan kemampuan beradaptasi tidak terjadi begitu saja tetapi harus dirancang secara sengaja di dalam sistem 77-78 The systems analyst is frequently forced to duplicate files and ``patch'' programs in ways that make the system very costly to support over the long run. Even if you design the system to easily adapt to change (our last principle), at some point in time, it will become too costly to simply support the existing system. Why? Perhaps the organization itself has changed too dramatically to be supported by the system. Or perhaps the requirements have become too complex to be integrated into the current system. In either case it is time to start over! This situation puts the term cycle into the term systems development life cycle. No system lasts forever (although many do last for a decade or longer).
Prinsip Dasar Pengembangan Sistem Libatkan pemilik dan pemakai sistem Gunakan pendekatan pemecahan masalah Buat pentahapan aktivitas Tetapkan standar pengembangan dan pendokumentasian yang konsisten Justifikasi sistem sebagai investasi Jangan takut membatalkan Bagi dan tundukkan Rancang sistem untuk pertumbuhan dan perubahan 78 Figure 3.3 Principles of Systems Development
10. Pendekatan Sistem dalam Pengembangan Definition Effort 4. Proceed from a system to a subsystem level 5. Analyze system parts in a certain sequence Solution Effort 6. Identify alternative solutions 7. Evaluate the alternative solutions 8. Select the best solution 9. Implement the solution 10. Follow-up to ensure that the solution is effective
11. Metode Konversi Old System Parallel New System Old System This slide corresponds to Figure 10.38 on pp. 414 and relates to the material on pp. 412-414. Old System Parallel New System Old System Four major forms of system conversion are common: Parallel. This involves operating both the old and the new system at the same time for some period until the project development team and end user management agree to switch over completely to the new system. Teaching Tip: Some PC operating systems allow for this type of conversion, on a smaller scale, by using a dual-boot procedure. Pilot. Here one department or often an off-site office gives the new system a trial run to see how it works and to catch any problems before the system is implemented company-wide. Phased. Here the new system is implemented gradually throughout the organization according to some diffusion plan, such as department by department, section by section, or even floor by floor. Plunge. This "cold turkey" approach ends use of the old system and begins use of the new system all at once. Teaching Tip: For example, a law firm may close on Friday, install a new computer-based information system based on networked PCs, and open for business on Monday. Such conversions are more likely if the hardware and software changes are not too drastic and end users are already familiar with the new system operation procedures. New System Pilot Old System New System Phased Old System New System Plunge
12. Fact Finding Techniques for Requirement Discovery Effective fact finding are crucial to the development of systems projects. System Requirements : specify what the information system must do or what property or quality the system must have. Functional Requirements: what IS must do Nonfunctional Requirements: specify a property or quality the system must have
System Requirement Criteria: Consistent (not ambigous or conflicting) Complete (describe all possible inputs and responses) Feasible (can be satisfied based on the available resources and constraints) Required (truly needed and fulfill the purpose of the system) Accurate (The requirements stated correctly) Traceable (directly map to the functions and features of the system) Verifiable (defined so that can be demonstrated during test)
Fact Finding Techniques Sampling of existing documentation, reports, forms, files, databases, and memos. Research of relevant literature, benchmarking of other’s solution, and site visits. Observation of the current system in action and the work environment Questionnaires and surveys of the management and user community Interviews of appropriate managers, users, and technical staff Joint Requirement Planning
13. Capability Maturity Model Level 1 (Initial) Level 2 (Repeatable) Level 3 (Defined) Level 4 (Managed) Level 5 (Optimized) Initial Inconsistent Methods Repeatable Consistent Project Management Defined Process is stable, predicable, and repeatable Managed Process Managed and Measured Optimized Continuous Process Improvement