Manajemen Sistem Informasi Sapta Candra Miarsa, S.T., M.T. Pengembangan SI
Pendahuluan Pengembangan sistem informasi sering disebut sebagai System Development. Pengembangan sistem didefinisikan sebagai: adalah aktivitas untuk menghasilkan sistem informasi berbasis komputer untuk menyelesaikan persoalan (problem) organisasi atau memanfaatkan kesempatan (opportunities) yang timbul.
Pengembangan SI dilakukan dengan menggunakan metodologi (suatu proses standar yang diikuti oleh organisasi untuk melaksanakan seluruh langkah yang diperlukan untuk menganalisa, merancang, mengimplementasikan, dan memelihara sistem informasi)
Sebenarnya untuk menghasilkan sistem informasi tersebut terdiri dari: System Analysis: upaya mendapatkan gambaran bagaimana sistem bekerja dan masalah-masalah apa saja yang ada pada sistem System Development: langkah-langkah mengembangkan sistem informasi yang baru berdasarkan gambaran cara kerja sistem dan permasalahan yang ada
Distribusi Usaha Pengembangan Sistem
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.
Metode SDLC
SDLC(lanjutan) Metodologi klasik yang sering digunakan dikenal dengan istilah SDLC (System Development Life Cycle) 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: Resource intensive Tidak fleksibel Sulit untuk aplikasi dengan perubahan cara pengambilan keputusan yang cepat
Cost to make a particular change in SDLC SDLC(lanjutan) Cost to make a particular change in SDLC
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 Kelemahan: 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
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 perusahaan yang mengembangkan sistem kekurangan tenaga IT
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.
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.
Prinsip Dasar Pengembangan Sistem Prinsip 1: Pemilik dan Pengguna Sistem Harus terlibat dalam pengembangan. Keterlibatan pemilik dan pengguna sistem (System Owner dan User) adalah keharusan yang mutlak untuk keberhasilan pengembangan sistem. Pengembang sistem bertanggungjawab harus menyediakan waktu yang cukup untuk partisipasi pemilik dan pengguna sistem dan meminta persetujuannya untuk setiap langkah analisis dan pengembangan sistem. 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: Pelajari dan pahami masalah (opportunity, dan/atau directive) dan konteks dari sistem. Definisikan kriteria atau ukuran solusi yang sesuai Identifikasi alternatif-alternatif solusi dan pilih solusi terbaik. Disain dan atau implementasikan solusi. Observasi dan evaluasi dampak dari solusi dan sesuaikan solusi jika diperlukan. 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: Memecahkan persoalan yang salah Kurang tepat dalam memecahkan persoalan Mengambil solusi yang salah sama sekali 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 Pentahapan akan membuat proses pengembangan menjadi aktivitas-aktivitas yang lebih kecil yang lebih mudah dikelola dan diselesaikan. Tahapan pembuatan sistem harus dilakukan dengan urutan top-to-bottom. 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 semua biaya yang dikeluarkan untuk mengembangkan dan mengoperasikan sistem harus sebanding atau lebih sedikit dibandingkan dengan manfaat yang diperoleh dari sistem. Cost-benefit analysis harus dilakukan. 76 No additional notes provided.
Prinsip Dasar Pengembangan Sistem Prinsip 6: Jangan takut membatalkan atau merubah lingkup pekerjaan. Keuntungan yang diperoleh dengan melakukan pentahapan pekerjaan pengembangan sistem adalah diperolehnya kesempatan untuk melakukan reevaluasi fisibilitas dari proyek pengembangan tersebut. Dalam jangka panjang membatalkan sama sekali proyek bisa lebih murah dibandingkan masalah besar pada implementasinya. Jika hal ini tidak dilakukan dapat terjadi pembengkakan biaya (cost overruns) yang sangat merugikan. 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
Metode Konversi Old System Parallel New System Old System New 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/ Modular Old System New System Plunge/ Langsung
Konversi (Lanjutan…) Konversi paralel (parallel conversion) Sistem baru dan sistem lama sama-sama dijalankan. Setelah melalui masa tertentu, jika sistem baru telah bisa diterima untuk menggantikan sistem lamna, maka sistem lama segera dihentikan Konversi langsung (direct conversion atau direct cutover) Konversi ini dilakukan dengan cara menghentikan sistem lama dan menggantikannya dengan sistem baru
Konversi (Lanjutan…) Konversi pilot (pilot conversion) Pendekatan ini dilakukan dengan cara menerapkan sistem baru hanya pada lokasi tertentu yang diperlakukan sebagai pelopor. Jika konversi ini dianggap berhasil, maka akan diperluas ke tempat-tempat yang lain Konversi modular atau bertahap (phased conversion) Konversi dilakukan dengan menggantikan suatu bagian dari sistem lama dengan sistem baru. Jika terjadi sesuatu, bagian yang baru tersebut akan diganti kembali dengan yang lama. Jika tak terjadi masalah, modul-modul baru akan dipasangkan lagi untuk mengganti modul-modul lama yang lain. Dengan pendekatan seperti ini, akhirnya semua sistem lama akan tergantikan oleh sistem baru. Cara seperti ini lebih aman daripada konversi langsung.
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
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
Penyebab kegagalan pengembangan sistem : Kurangnya penyesuaian pengembangan system. 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 yg tidak direncanakan dan pemasangan teknologi tidak sesuai. Pengembangan sistem yang tidak dapat dipelihara. Implementasi yang direncanakan dilaksanakan kurang baik.
Dengan telah dikembangkan Sistem maka diharapakan akan terjadi peningkatan pada sistem yang baru yaitu : Performance (Peningkatan terhadap kinerja) Information (Peningkatan terhadap informasi) Economy (Peningkatan terhadap manfaat atau keuntungan) Control (Peningkatan terhadap pengendalian) Efficiency (Peningkatan terhadap efisiensi operasi) Service (Peningkatan terhadap pelayanan)
End of Day