BAB 2. PENGEMBANGAN SISTEM
2.1 Definisi Pengembangan Sistem
Pengembangan sistem adalah proses perancangan, pembuatan, pengujian, dan perbaikan sistem komputer atau informasi untuk memenuhi kebutuhan bisnis atau organisasi. Pengembangan system (system development) dapat berarti menyusun suatu system yang baru untuk menggantikan system yang lama secara keseluruhan atau memperbaiki system yang telah ada.
2.2 Alasan Mengapa Suatu Organisasi Perlu Melakukan Pengembangan Sistem
Ada beberapa alasan mengapa suatu organisasi perlu melakukan pengembangan sistem. Berikut beberapa alasan utama:
- a.
Meningkatkan
Efisiensi Operasional:
Sistem baru dapat dirancang untuk mengotomatisasi tugas-tugas rutin, mengurangi pekerjaan manual, dan mengoptimalkan proses bisnis. Ini dapat meningkatkan efisiensi operasional dan mengurangi biaya operasional.
- b.
Meningkatkan Produktivitas:
Sistem yang dirancang dengan baik dapat membantu karyawan bekerja lebih cepat dan lebih efisien, memungkinkan mereka fokus pada tugas-tugas yang lebih berharga daripada tugas-tugas rutin.
- c.
Meningkatkan Kualitas Layanan:
Sistem baru dapat memungkinkan organisasi memberikan layanan yang lebih baik kepada pelanggan atau pemangku kepentingan. Misalnya, sistem informasi pelanggan yang baik dapat membantu dalam penanganan keluhan pelanggan dengan lebih cepat dan lebih akurat.
- d.
Mendukung Pertumbuhan Bisnis:
Dengan sistem yang memadai, organisasi dapat lebih mudah mengelola pertumbuhan bisnis dan menangani volume transaksi yang lebih besar.
- e.
Memenuhi Kebutuhan Bisnis yang Berkembang:
Bisnis terus berubah, dan persyaratan bisnis juga berubah seiring waktu. Sistem yang fleksibel dan dapat disesuaikan dapat membantu organisasi menyesuaikan diri dengan perubahan dalam kebutuhan bisnis.
- f. Meningkatkan
Analisis dan Pengambilan Keputusan:
Sistem informasi yang kuat dapat memberikan data dan analisis yang lebih baik kepada manajemen, membantu mereka dalam mengambil keputusan yang lebih baik dan berdasarkan fakta.
- g. Meningkatkan
Keamanan Informasi:
Sistem yang diperbarui dan dilengkapi dengan fitur keamanan yang tepat dapat membantu melindungi data sensitif dan mengurangi risiko pelanggaran keamanan.
- h. Mengikuti
Regulasi dan Kepatuhan:span>
Beberapa industri dan sektor mungkin memiliki persyaratan regulasi dan kepatuhan yang ketat. Sistem baru dapat dirancang untuk memastikan organisasi mematuhi aturan ini.
- i. Meningkatkan
Hubungan Pelanggan:
Sistem yang memungkinkan pelanggan berinteraksi dengan organisasi dengan lebih mudah dan nyaman, seperti melalui portal pelanggan atau aplikasi seluler, dapat meningkatkan hubungan pelanggan.
- j. Menghadapi
Persaingan:
Dalam dunia bisnis yang kompetitif, organisasi perlu terus berinovasi dan mengikuti tren teknologi. Sistem baru dapat membantu organisasi tetap kompetitif.
Pengembangan sistem dapat membantu organisasi mencapai berbagai tujuan bisnis dan menghadapi tantangan yang muncul seiring waktup>
2.3 Prinsip Didalam Pengembangan Sistem
Dalam pengembangan sistem, terdapat beberapa prinsip fundamental yang harus diperhatikan untuk memastikan keberhasilan proyek dan sistem yang dihasilkan. Berikut adalah beberapa prinsip utama dalam pengembangan sistem:
- a.
Memahami Kebutuhan Bisnis:
Analisis kebutuhan bisnis adalah langkah pertama yang penting. Penting untuk memahami sepenuhnya kebutuhan dan tujuan organisasi sebelum merancang atau mengembangkan sistem.
- b.
Berfokus pada Pengguna Akhir:
Pengguna akhir sistem harus menjadi fokus utama. Sistem harus dirancang dan dikembangkan dengan mempertimbangkan kebutuhan dan preferensi pengguna agar sistem dapat digunakan dengan nyaman dan efektif.
- c.
Kesesuaian dengan Tujuan Bisnis:
Setiap komponen sistem dan fitur yang dikembangkan harus berkontribusi langsung terhadap mencapai tujuan bisnis organisasi. Tidak ada fitur atau fungsi yang seharusnya "hanya untuk gaya" tanpa alasan yang jelas.
- d.
Rekayasa Perangkat Lunak yang Baik:
Pengembangan sistem harus mengikuti praktik rekayasa perangkat lunak yang baik. Ini mencakup pemilihan bahasa pemrograman yang sesuai, perancangan yang baik, pengkodean yang bersih, dan pengujian yang komprehensif.
- e.
Fleksibilitas dan Skalabilitas:
Sistem harus dirancang dengan kemampuan untuk berkembang seiring waktu. Ini termasuk kemampuan untuk menambahkan fitur baru, mengakomodasi pertumbuhan bisnis, dan mengikuti perkembangan teknologi.
- f. Keselamatan dan Keamanan:
Keamanan data dan sistem adalah prioritas. Sistem harus dilengkapi dengan perlindungan yang memadai untuk melindungi data sensitif dan mencegah pelanggaran keamanan.
- g. Pengujian
dan Validasi:
Pengujian sistem yang cermat dan komprehensif diperlukan sepanjang siklus pengembangan. Ini termasuk pengujian fungsional, integrasi, kinerja, dan keamanan.
- h. Dokumentasi
yang Baik:
Setiap tahap pengembangan, termasuk perancangan, pengkodean, dan pengujian, harus didokumentasikan secara rinci. Dokumentasi yang baik membantu dalam pemeliharaan sistem dan pelatihan pengguna.
- i. Manajemen
Proyek yang Efektif:
Manajemen proyek yang efisien adalah kunci kesuksesan pengembangan sistem. Hal ini melibatkan perencanaan yang baik, pengendalian biaya, manajemen risiko, dan komunikasi yang efektif.
- j. Kualitas
Lebih Penting daripada Kuantitas:
Lebih baik memiliki sedikit fitur atau fungsi yang berkualitas tinggi daripada banyak fitur yang tidak berfungsi dengan baik. Kualitas harus menjadi prioritas.
- k. Evaluasi
Rutin:
Sistem yang dikembangkan harus secara rutin dievaluasi untuk memastikan bahwa mereka tetap relevan, berkinerja baik, dan memenuhi tujuan bisnis.
2.4 Tahapan Di Dalam Pengembangan Sistem
Tahapan dalam pengembangan sistem dapat bervariasi tergantung pada metodologi yang digunakan dan kompleksitas proyek, namun umumnya ada beberapa tahapan inti yang ditemui dalam hampir setiap proyek pengembangan sistem.
- a.
Perencanaan sistem
Tahap ini meliputi identifikasi masalah, analisis kebutuhan, dan perencanaan sistem. Identifikasi masalah dilakukan untuk mengidentifikasi masalah yang dihadapi perusahaan dan sistem yang dimilikinya. Analisis kebutuhan dilakukan untuk memberikan gambaran secara umum tentang kebutuhan informasi kepada pemakai sistem atau pengguna. Perencanaan sistem dilakukan untuk merancang sistem secara umum dan terinci.
- b.
Analisis sistem
Tahap ini meliputi analisis kebutuhan, analisis sistem, dan perancangan sistem secara umum/konseptual. Analisis kebutuhan dilakukan untuk memberikan gambaran secara jelas tentang kebutuhan informasi kepada pemakai sistem atau pengguna. Analisis sistem dilakukan untuk memberikan gambaran secara umum kepada pengguna sistem informasi mengenai sistem informasi yang akan dibangun. Perancangan sistem secara umum/konseptual dilakukan untuk memberikan gambaran secara jelas dan rancang bangun yang lengkap kepada development tim.
- c.
Perancangan sistem
Tahap ini meliputi perancangan sistem secara terinci, implementasi, dan pengujian. Perancangan sistem secara terinci dilakukan untuk memberikan gambaran secara jelas dan rancang bangun yang lengkap kepada development tim. Implementasi dilakukan untuk membuat atau mengembangkan sistem informasi sesuai rancangan yang sudah dibuat. Pengujian dilakukan untuk mengetahui kinerja dari sistem informasi yang sudah dibuat oleh tim development.
- d.
Implementasi
Tahap ini meliputi migrasi data (konversi), pelatihan pengguna, dan instalasi sistem.
- e.
Pengujian
Tahap ini meliputi pengujian kualitas software, pengujian ke pengguna, dan pengujian performa.
- f. Perubahan dan pemeliharaan
Tahap ini meliputi perbaikan dan perubahan sistem, serta pemeliharaan sistem.
2.5 Metodologi Di Dalam Mengembangan Sistem
Dalam pengembangan sistem, terdapat berbagai metodologi yang dapat digunakan untuk membantu tim pengembangan merencanakan, merancang, dan mengelola proyek dengan lebih efisien. Berikut beberapa metodologi pengembangan sistem yang umum digunakan:
- 1.
Metodologi Waterfall:
· Metodologi Waterfall adalah pendekatan linier dan berurutan dalam pengembangan sistem.
· Proyek dibagi menjadi tahapan yang berurutan, seperti analisis, perancangan, pengembangan, pengujian, dan implementasi.
· Setiap tahap harus selesai sebelum memasuki tahap berikutnya.
· Cocok untuk proyek dengan persyaratan yang stabil dan jelas.
- 2.
Metodologi Model Spiral:
· Metodologi Model Incremental membagi proyek menjadi modul atau inkremen.
· Setiap inkremen adalah versi tambahan dari sistem yang ada, dengan fitur tambahan atau perubahan dari inkremen sebelumnya.
· Setiap inkremen membangun di atas yang sebelumnya, sehingga sistem berkembang secara bertahap.
- 3.
Metodologi Model Agile:
· Metodologi Agile adalah kelompok metodologi yang fleksibel dan kolaboratif, seperti Scrum, Kanban, dan Extreme Programming (XP).
· Berfokus pada kolaborasi tim, komunikasi yang kuat, dan perubahan perubahan fleksibel dalam proyek.
· Mengutamakan pengerjaan iteratif, pengujian berulang, dan pengiriman perangkat lunak yang berfungsi dengan cepat.
- 4.
Metodologi Model Incremental:
· Metodologi Model Incremental membagi proyek menjadi modul atau inkremen.
· Setiap inkremen adalah versi tambahan dari sistem yang ada, dengan fitur tambahan atau perubahan dari inkremen sebelumnya.
· Setiap inkremen membangun di atas yang sebelumnya, sehingga sistem berkembang secara bertahap.
- 5.
Metodologi Model RAD (Rapid Application
Development):
· Metodologi RAD adalah pendekatan yang berorientasi pada cepatnya pengembangan perangkat lunak.
· Menggabungkan pengembangan perangkat lunak dengan desain dan pengujian secara paralel.
· Menggunakan prototipe untuk mendapatkan umpan balik dari pengguna lebih awal dalam proses pengembangan.
- 6. Metodologi Model DevOps:
· DevOps adalah metodologi yang menggabungkan pengembangan (Development) dan operasi (Operations) untuk mencapai integrasi dan pengiriman perangkat lunak yang lebih cepat.
· Fokus pada otomatisasi, kolaborasi tim, dan perubahan cepat dalam lingkungan produksi.
- 7.
Metodologi Lean Software Development:
· Metodologi Lean Software Development terinspirasi oleh prinsip Lean Manufacturing.
· Berfokus pada menghilangkan limbah dalam pengembangan perangkat lunak, termasuk fitur yang tidak diperlukan, proses yang berlebihan, dan penundaan.
- 8. Metodologi Model Big Bang:
· Metodologi Model Big Bang adalah pendekatan non-struktural di mana pengembangan dimulai tanpa perencanaan formal yang jelas.
· Cocok untuk proyek kecil atau eksperimen yang tidak memiliki persyaratan yang pasti.
· Pemilihan metodologi tergantung pada jenis proyek, persyaratan, kebutuhan bisnis, dan preferensi tim pengembangan.
2.6 Pendekatan Di Dalam Pengembangan Sistem
Pendekatan dalam pengembangan sistem adalah suatu metode atau kerangka kerja yang digunakan untuk merancang, mengembangkan, menguji, dan mengimplementasikan aplikasi perangkat lunak baru atau memperbaiki sistem yang telah ada. Berikut adalah beberapa pendekatan yang dapat digunakan dalam pengembangan sistem:
- 1.
Pendekatan klasik atau tradisional
Pendekatan ini adalah pendekatan yang paling tua dan paling sederhana dalam pengembangan sistem. Pendekatan ini menekankan pada tahapan-tahapan yang harus dilakukan dalam pengembangan sistem, seperti analisis, desain, pengkodean, pengujian, dan implementasi.
- 2.
Pendekatan terstruktur
Pendekatan ini dimulai pada awal tahun 1970 dan dilengkapi dengan alat-alat dan teknik-teknik yang dibutuhkan dalam pengembangan sistem. Pendekatan ini menekankan pada struktur sistem yang didefinisikan dengan baik dan jelas.
- 3.
Pendekatan sepotong atau
piecemeal
Pendekatan ini menekankan pada suatu kegiatan atau aplikasi tertentu saja. Pada pendekatan ini, kegiatan atau aplikasi yang dipilih dikembangkan tanpa memperhatikan posisinya di sistem informasi atau tanpa memperhatikan sasaran keseluruhan dari organisasi.
- 4.
Pendekatan sistem atau systems
approach
Pendekatan ini menekankan pada sistem informasi sebagai satu kesatuan terintegrasi untuk masing-masing kegiatan atau aplikasinya. Pendekatan ini dimulai dengan mendefinisikan sasaran dan kebijaksanaan organisasi.
Pemilihan pendekatan yang tepat dapat membantu dalam menunjang proses pengambilan keputusan, koordinasi, dan pengawasan, serta membantu manajer dan karyawan menganalisis permasalahan, menggambarkan hal-hal yang rumit, dan menciptakan produk baru.
2.7 Alat & Teknik Di Dalam Pengembangan Sistem
Berikut adalah beberapa alat dan teknik yang umum digunakan dalam pengembangan sistem:
Alat dalam Pengembangan Sistem:
- 1.
Integrated Development Environments (IDEs):
· IDEs seperti Visual Studio, Eclipse, atau IntelliJ IDEA menyediakan lingkungan terpadu untuk menulis, menguji, dan mengelola kode.
· Mereka biasanya memiliki fitur-fitur seperti pengeditan kode, debugging, dan manajemen proyek.
- 2.
Version Control Systems (VCS):
· VCS seperti Git, Subversion, atau Mercurial digunakan untuk mengelola kode sumber proyek, melacak perubahan, dan kolaborasi tim.
- 3.
Database Management Systems (DBMS):
· DBMS seperti MySQL, PostgreSQL, atau MongoDB digunakan untuk mengelola basis data dalam aplikasi.
· Mereka menyediakan alat untuk mendefinisikan, mengakses, dan mengelola data.
- 4.
Unified Modeling Language (UML) Tools:
· Alat pemodelan UML seperti Enterprise Architect atau Lucidchart digunakan untuk merancang dan mendokumentasikan struktur dan perilaku sistem.
- 5.
Prototyping Tools:
· Alat prototyping seperti Balsamiq, Sketch, atau Adobe XD membantu dalam membuat prototipe interaktif sistem untuk pemahaman yang lebih baik dan validasi.
- 5.
Project Management Software:
· Perangkat lunak manajemen proyek seperti Microsoft Project, Trello, atau Jira digunakan untuk merencanakan, mengelola, dan melacak proyek pengembangan.
- 6.
Continuous Integration and Continuous Deployment (CI/CD) Tools:
· Alat CI/CD seperti Jenkins, Travis CI, atau CircleCI memungkinkan otomatisasi pengujian, pengiriman, dan penyebaran perangkat lunak.
Teknik dalam Pengembangan Sistem:
- 1.
Gathering Techniques:
· Teknik pengumpulan persyaratan seperti wawancara, studi dokumen, atau survey digunakan untuk memahami kebutuhan pemangku kepentingan.
- 2.
System Analysis Techniques:
· Teknik analisis sistem seperti analisis SWOT, analisis kebutuhan, atau analisis proses membantu dalam merinci persyaratan sistem.
- 3.
System Design Methods:
· Metode perancangan sistem seperti DFD (Data Flow Diagram), ERD (Entity-Relationship Diagram), atau desain arsitektur digunakan untuk merancang struktur sistem.
- 4.
Testing Techniques:
· Teknik pengujian termasuk uji fungsional, uji integrasi, uji performa, dan uji keamanan yang digunakan untuk memastikan kualitas dan keandalan sistem.
- 5.
Agile and Scrum Methodologies:
· Metodologi pengembangan perangkat lunak seperti Agile dan Scrum digunakan untuk manajemen proyek yang adaptif dan kolaboratif.
- 6.
Security Assessment Methods:
· Metode evaluasi keamanan seperti uji penetrasi dan analisis keamanan digunakan untuk mengidentifikasi dan mengatasi kerentanan keamanan dalam sistem.
- 7.
Change Management Strategies:
· Strategi manajemen perubahan membantu dalam mengelola perubahan dalam sistem dan memastikan adopsi yang sukses oleh pengguna.
Alat dan teknik di atas adalah sebagian kecil dari berbagai alat dan teknik yang digunakan dalam pengembangan sistem. Pilihan alat dan teknik akan sangat tergantung pada jenis proyek, tujuan, dan persyaratan khusus.
Written by Ahmad Maulana
Follow on Instagram: @a.hmadmaulana
MATERI
SISTEM INFORMASI (APSI)