Analisis dan Perancangan
Sistem Informasi
Pertemuan 1
Pengertian system analisis dan perancangan
Pengertian Sistem
Definisi sistem berkembang sesuai dengan konteks dimana pengertian sistem
itu digunakan. Di sini akan diberikan beberapa definisi sistem secara umum:
• Kumpulan dari bagian-bagian yang bekerja bersamasama untuk mencapai
tujuan yang sama
Contoh: Sistem tatasurya, Sistem pencernaan, Sistem Transportasi umum,
Sistem Otomotif, Sistem Komputer, Sistem Informasi
• Sekumpulan dari objek-objek yang saling berelasi dan berinteraksi dan
hubungan antar objek bisa dilihat sebagai satu kesatuan yang dirancang
untuk mencapai satu tujuan
• Dengan demikian secara sederhana sistem dapat diartikan sebagai suatu
kumpulan atau himpunan dari unsur atau variable-variabel yang saling
teroganisasi, saling berinteraksi dan saling bergantung sama lain
• Murdick dan Ross (1993) mendefinisikan sistem sebagai seperangkat
elemen yang digabungkan satu dengan lainya untuk suatu tujuan bersama.
• Sedangkan definisi sistem dalam kamus Webster’s Unbriged adalah
elemen-elemen yang saling berhubungan membentuk satu kesatuan atau
organisasi.
• Scott (1996) mengatakan sistem terdiri dari unsur-unsur seperti masukan
(input) , pengolahan (processing) , serta keluaran (output)
• Sementara Mc. Leod (1995) mendifinisikan sistem sebagai sekelompok
elemen-elemen yang terintegrasi dengan maksud yang sama untuk
mencapai suatu tujuan
Pengertian Informasi
• Informasi adalah data yang telah diolah menjadi sebuah bentuk yang
berarti bagi penerimanya dan bermanfaat dalam mengambil
keputusan saat ini atau mendatang (Davis, 1995).
• Mc Leod (1995) mengatakan bahwa informasi adalah data yang telah
diproses, atau data yang memiliki arti.
Pengertian Analisis Sistem dan Perancangan Sistem
• Analisis sistem didefinisikan sebagai bagaimana memahami dan
menspesifikasi dengan detail apa yang harus dilakukan oleh sistem.
• Sedangkan sistem desain (Perancangan Sistem) diartikan sebagai
menjelaskan dengan detail bagaimana bagian-bagian dari sistem informasi
diimplementasikan.
• Sehingga Analisis dan Perancangan Sistem Informasi bisa didefinisikan
sebagai: Proses organisasional kompleks dimana sistem informasi berbasis
komputer diimplementasikan.
Analysis: mendefinisikan masalah –> From requirements to specification
Design: memecahkan masalah –> From specification to implementation
Siklus pengembangan system
◼ Perangkat lunak memiliki siklus hidup yang dikenal dengan siklus
hidup perangkat lunak (Software Life Cycle)
◼ Siklus hidup perangkat lunak (Software Life Cycle) adalah urutan dari
kegiatan yang ada di dalam sebuah pengembangan perangkat lunak
(Gustafson, 2002)
Siklus pengembangan system
◼ Software Development Process, juga dikenal sebagai Software
Development Life-Cycle / siklus hidup pengembangan perangkat
lunak, adalah struktur yang dikenakan pada pengembangan produk
perangkat lunak.
◼ Software Life Cycle dan Software Process merupakan bagian dari siklus
hidup pengembangan sistem (System Development Life Cycle)
◼ System Development life cycle (SDLC) / Siklus Hidup Pengembangan
Sistem adalah proses memahami bagaimana sistem informasi (IS)
dapat mendukung kebutuhan bisnis, perancangan sistem,
membangunnya dan memberikannya kepada pengguna (Dennis,
2005).
Kelebihan dan Kekurangan SDLC
Penerapan SDLC memiliki kekurangan dan kelebihan.
◼ Kelebihan dari SDLC adalah menyediakan tahapan yang dapat
digunakan sebagai pedoman pengembangan sistem,
sedangkan
◼ Kekurangannya: hasil dari SDLC tergantung pada hasil
analisis, sehingga jika terdapat kesalahan di tahap analisis
akan terbawa terus ke hasil sistem
Tahapan SDLC
◼ Dennis menggunakan Process Framework yang berbeda
dengan Roger [Link], yaitu: Planning, Analysis,
Design & Implementation
◼ SDLC memiliki 4 tahapan mendasar (Dennis, 2005):
1. Planning
2. Analysis
3. Design
4. Implementation
System Development Life Cycle (SDLC)
Planning
Implementation Analysis
Design
Project Phases
1. Planning: Why build the system?
◼ System request, feasibility analysis, project size estimation
2. Analysis: Who, what, when, where will the system be?
◼ Requirement gathering, business process modeling
3. Design: How will the system work?
◼ Program design, user interface design, data design
4. Implementation: System construction and delivery
◼ System construction, testing, documentation and installation
Siklus Pengembangan Software:
Alur, Peran, dan Tahapan (Deliverable) (Tilley, 2012) (Dennis, 2016) (Valacich, 2017)
1. User/Product Owner membawa permintaan
kebutuhan (perubahan) software (System Request) Planning
ke System Analyst
(System Proposal)
2. System Analyst membuat analisis kelayakan
(Feasibility Analysis) dari System Request tersebut
3. Setelah dinyatakan layak, System Analyst melakukan
analysis dan design, dan hasilnya adalah System Analysis and Design
Specification
• Business Analyst membantu System Analyst memahami
(System Specification)
proses bisnis dari software yang akan dibangun
4. System Specification diserahkan oleh System Anayst
ke Programmer untuk dilakukan Konstruksi (Coding)
5. Hasil Konstruksi berupa Kode Program diserahkan
ke Software Tester untuk dilakukan Pengujian Implementation
(Unit, Integration, System, User Acceptance Testing) (Software)
6. Instalasi (delivery) software dan manajemen
perubahan
• Software = Kode Program + Dokumentasi (Pengembangan
dan Penggunaan)
7. Siklus kembali ke 1 apabila ada permintaan Maintenance
perubahan (Permintaan Perubahan Software) (Updated Software)
12
Processes and Products
• Process
Process
Product
Product
Planning • Planning System Proposal System Proposal
Analysis System Specification
• Analysis
Design System Specification Design
Implementation • Implementation
New System with New System with
Testing/Maintenance
• Plan
Testing/Maintenance Plan
Siklus Pengembangan Software
Planning
(System Proposal)
Implementation Analysis
(New System) (System Specification)
Design
(System Specification)
(Tilley, 2012) (Dennis, 2016) (Valacich, 2017)
14
What is methodology?
◼ SDLC merupakan konsep, untuk mengimplementasikannya
membutuh suatu pendekatan
◼ Methodology merupakan suatu pendekatan formal untuk
mengimplementasikan SDLC
Metodologi Pengembangan Software
1. Structured Design
(Prescriptive) (1967- )
More
• Waterfall method Prescriptive/
• Parallel development Documentation
2. Rapid Application Development
(Iterative) (1985-)
• Phased Development
• Prototyping
More
Adaptive/
3. Agile Development Communication
(Adaptive) (1995-)
• Extreme Programming (XP)
• Scrum
Compiled from (Dennis, Wixom and Tegarden, 2016)
16
Structured Design Methodology
◼ Project berjalan dari satu tahapan ke tahapan
selanjutnya
◼ Umumnya, suatu tahapan telah selesai
sebelum memulai ke tahapan selanjutnya
Waterfall Method
Waterfall Method
Kelebihan
◼ Mudah untuk dipahami, mudah untuk digunakan
◼ Tahapan dipahami dengan baik
◼ Kontrol management baik
◼ Bekerja baik ketika kualitas lebih penting dari biaya
atau jadwal
◼ Pengidentifikasian system request yang lama
sebelum memulai menuliskan kode (programming),
meminimalisasi perubahan-perubahan yang terjadi
Waterfall Method
Kekurangan
◼ Semua kebutuhan harus diketahui di awal
◼ Waktu yang lama antara system proposal dan
peyerahan sistem baru
◼ Design harus spesifik sebelum melakukan
programming
◼ Kemungkinannya kecil bagi customer untuk dapat
melihat preview sistem yang sedang dikerjakan
When to use the Waterfall Model
◼ Kebutuhan telah diketahui dengan baik
◼ Definisi produk stabil
◼ Versi baru dari suatu sistem yang telah ada
Parallel Development
◼ Salah satu metode design struktur lainnya adalah
Parallel Development
◼ Seperti waterfall model, namun membaginya kepada
beberapa sub-sub project dan menggabungkannya
pada tahap akhir
Parallel Development
◼ Parallel Development mencoba untuk mengatasi
masalah penundaan yang lama antara tahap analisis
dan pengiriman sistem.
◼ Bukannya melakukan desain dan implementasi
secara berurutan, Parallel Development melakukan
desain umum untuk seluruh sistem dan kemudian
membagi proyek menjadi serangkaian sub proyek
yang berbeda yang dapat dirancang dan
implementasi secara paralel
Parallel Development
Rapid Application Development
1. Phased development
◼ A series of versions
2. Prototyping
◼ System prototyping
3. Throw-away prototyping
◼ Design prototyping
Rapid Application Development
Critical elements to speed up the SDLC:
◼ CASE tools
◼ Visual programming languages
◼ Code generators
RAD – Phased Development
◼ Memecah sistem ke dalam beberapa
serangkaian versi
◼ Setiap versi memiliki Analis, Design, dan
Implementasi
◼ Output dari suatu versi merupakan input
untuk versi selanjutnya
◼ Tahapan analisis mengidentifikasi
keseluruhan konsep sistem kemudian
mengkategorikan kebutuhan ke dalam
beberapa versi.
RAD – Phased Development
◼ Kebutuhan mendasar dan penting dimasukkan ke versi
pertama dari sistem.
◼ Tahapan analisis kemudian memasuki design, dan
implementasi, namun hanya pada kebutuhan yang
diidentifikasi pada versi pertama.
◼ Versi pertama telah diimplentasikan, pekerjaan versi 2 dimulai
dengan tambahan analisis, ide-ide, isu-isu, pelajaran dari versi 1,
versi 2 dimulai, dst
◼ Proses ini berlanjut sampai sistem selesai
RAD – Phased Development
Kelebihan
◼ Mendapatkan sistem yang berguna untuk pengguna
dengan cepat
Kekurangan
◼ Sistem awal sengaja tidak lengkap
◼ System requirements berkembang tergantung
pandangan dari versi user
RAD: Prototyping
◼ Memulai dengan menyediakan fungsi sistem yang minimal
minimal functionality disebut dengan "quick-and-dirty"
prototype
◼ Analisis, Design, Implementasi menghasilkan prototype.
Perbaikan prototype dilakukan berulang-ulang dalam siklus
(Analisis-Design- Implementasi)
◼ Berhenti ketika prototype merupakan sebuah sistem kerja yang
lengkap (sesuai)
RAD: Prototyping
◼ Prototipe pertama biasanya adalah bagian pertama dari sistem bahwa
pengguna akan menggunakan ini
◼ Ini ditunjukkan dengan pengguna dan sponsor proyek memberikan komentar
terhadap prototype yang dihasilkan, yang digunakan untuk menganalisa
kembali, mendesain ulang, dan melaksanakan re- prototipe kedua yang
menyediakan beberapa fitur- fitur tambahan.
◼ Proses ini terus berlanjut dalam siklus sampai analis, pengguna, dan sponsor
sepakat prototipe (sekarang disebut sistem) diinstal,
RAD: Prototyping
RAD: Prototyping
Kelebihan
◼ Sangat cepat memberikan sistem bagi pengguna
untuk berinteraksi (bahkan jika organisasi itu tidak
siap/tidak memiliki gambaran)
◼ Prototyping meyakinkan klien bahwa tim proyek
bekerja dengan baik (tidak ada penundaan yang lama
di mana pengguna melihat kemajuan),
◼ Prototyping membantu lebih cepat memperbaiki
persyaratan nyata (pengguna dapat berinteraksi
dengan prototipe untuk lebih memahami apa yang
bisa dan tidak bisa lakukan).
RAD: Prototyping
Kekurangan
◼ Sistem rilis yang cepat memiliki tantangan untuk
mencoba melakukan dengan hati-hati pada fase
analisis.
◼ Hal ini dapat menyebabkan masalah dalam
pengembangan sistem yang kompleks karena isu dan
permasalahan mendasar yang tidak diakui dengan baik
sampai ke dalam proses pembangunan
RAD: Throw-Away Prototyping
◼ Throw-Away prototyping menggunakan prototyping untuk tujuan yang
berbeda dari prototyping sebelumnya
◼ Melakukan analisis secara menyeluruh, untuk mengumpulkan
informasi & mengembangkan ide-ide untuk sebuah konsep sistem.
◼ Masalah yang muncul diujicobakan/diselesaikan dengan menganalisa,
mendesign, & membangun sebuah prototype (yang dinamakan design
prototype)
◼ Yang dibangun merupakan fitur yang blm dipahami dengan jelas
RAD: Throw-Away Prototyping
◼ Sebagai contoh, pengguna tidak sepenuhnya jelas tentang
bagaimana sistem entry order harus bekerja.
◼ Tim analis membangun serangkaian halaman HTML yang
diperlihatkan untuk membantu klien memvisualisasikan sistem yang
dibangun.
◼ Jika menginginkan program canggih, tim bisa menulis bagian dari
program dengan data contoh (sample) untuk memastikan bahwa
mereka bisa mendapatkan apa yang diinginkan klien dengan
tepat
RAD: Throw-Away Prototyping
◼ Namun ini hanyalah design prototype (rancangan) ini bukan bagian dari
produk
◼ Membuat design prototype untuk memahami kebutuhan
◼ Jika design prototype merupakan hal yang diinginkan & dapat mengatasi
masalah, design prototype dibuang, selanjutnya memasuki tahap design,
implementasi, system yang sesungguhnya.
RAD: Throw-Away Prototyping
RAD: Throw-Away Prototyping
Kelebihan
◼ Setiap prototype yang dibangun dapat meminimalkan resiko
terkait isu-isu / masalah yang akan dihadapi oleh sistem
◼ Menyeimbangkan fase analisis & design
Kekurangan
◼ Sistem yang dikembangkan bergantung pada rancangan
prototype
Perbedaan Prototyping & ThrowAway P
◼ Prototype digunakan sampai sistem final
◼ Sedangkan Throw Away, prototype tidak
digunakan/dibuang
Agile Development
◼ Menggunakan sedikit aturan yang mudah untuk dipelajari dan diikuti
◼ Mengurangi banyak pemodelan dan dokumentasi
◼ Menekankan kesederhanaan (simple) dan pengembangan aplikasi
yang iteratif (berulang)
◼ Contoh pengembangan ini:
◼ Extreme Programming (XP)
◼ Scrum
◼ Dynamic Systems Development Model (DSDM)
Extreme Programming (XP)
“Core Values” of XP
1. Communication
2. Simplicity
3. Feedback
4. Courage (Quality First, test and efficient coding)
Extreme Programming (XP)
1. User Stories about system do
2. Code small program using defined
standards
3. User Feedback
4. Repeat
Extreme Programming (XP)
Selecting the Right Methodology
1. Clarity of User Requirements (Kejelasan
Persyaratan Pengguna)
2. Familiarity with Technology (Kefamiliaran dengan
teknologi)
3. System Complexity (Kompleksitas Sistem)
4. System Reliability (Keandalan Sistem)
5. Short Time Schedules (Jadwal Pendek)
6. Schedule Visibility
Selecting the Right Methodology
Simak video mengenai analisis dan perancangan berbasis UML:
[Link]
Tugas Kelompok
• Buat Kelompok dengan dengan banyaknya anggota 5 orang/kelompok
• Buat sebuah kajian mengenai SLDC (Agile Development):
✓Kanban
✓Lean SD
✓Crystal Methodology
✓DSDM
✓FDD
• Badingkan terhadap Structured Design dan RAD