Anda di halaman 1dari 15

0124M - Analisa dan Perancangan Sistem Informasi Lanjut

LECTURE NOTES

Approaches to System Development

0124M - Analisa dan Perancangan Sistem Informasi Lanjut

LEARNING OUTCOMES
Explain design activities in iterative and agile systems development lifecycle

OUTLINE MATERI :
- The System Development Life Cycle (SDLC)
- The Support Phase of the SDLC
- Methodologies, Models, Tools, and Techniques
- Two approaches to Software Construction and Modeling
- Agile Development

0124M - Analisa dan Perancangan Sistem Informasi Lanjut

ISI MATERI
Terdapat dua konsep utama yang berkaitan dengan pembahasan ini. Konsep pertama
adalah terdapat dua tipe pendekatan SDLC yaitu pendekatan prediktif dan adaptif. Konsep yang
kedua adalah terdapat dua metodologi pengembangan yaitu pendekatan terstruktur dan berbasis
objek. Ini adalah dua konsep yang terpisah. Saat mengerjakan sebuah proyek dua pendekatan ini
dapat dikombinasikan, pendekatan untuk siklus hidup dan pendekatan untuk metodologi.
Kedua pendekatan ini merupakan sebuah rangkaian dan semua proyek dapat memiliki
elemen dari kedua pendekatan ini. Pendekatan prediktif bagi SDLC digunakan untuk proyek
yang jelas lingkupnya dan resikonya rendah. Pendekatan adaptif bagi SDLC digunakan untuk
proyek yang lingkup masih kurang jelas dan resikonya lebih tinggi. SDLC adaptif lebih berulang
dan memungkinkan tim proyek untuk beradaptasi terhadap perubahan lingkungan.
Konsep lain yang harus dipahami adalah perbedaan diantara kedua metodologi ini
terhadap pengembangan sistem yang saat ini digunakan untuk mengembangkan sistem bisnis,
pendekatan terstruktur dan berorientasi objek. Pendekatan berorientasi objek merujuk pada
pengembangan sistem yang menggunakan teknologi objek yang lebib baru yang membutuhkan
pendekatan dalam tahap analisis, perancangan, dan programming.
Pada akhir topik ini, akan dibahas mengenai filosofi Agile dan prinsip pemodelan Agile.
Mahasiswa diharapkan mampu memahami bahwa filosofi Agile menganggap sebagian besar
pengguna tidak memahami kerumitan dari proses bisnis dan software pendukung serta
kebanyakan proyek harus fleksibel dan lincah. Pemodelan Agile memiliki prinsip dasar untuk
mendorong pengembang untuk menggunakan pemodelan sebagai sarana untuk sebuah produk.

System Development Life Cycle


Proyek adalah sebuah usaha terencana yang memiliki sebuah awal dan akhir, dan
menghasilkan hasil atau produk yang sudah ditentukan sebelumnya. Proyek pengembangan
sistem menjelaskan mengenai sebuah usaha terencana untuk menghasilkan sistem informasi
baru. Kesuksesan sangat bergantung pada ketersediaan rencana dan urutan dari tugas dan
kegiatan yang harus dilaksanakan yang akan berujung pada sebuah sistem informasi yang
handal, kuat, dan efisien.

0124M - Analisa dan Perancangan Sistem Informasi Lanjut

Salah satu konsep utama dala pengembangan sistem adalah system development life
cycle (SDLC). SDLC merujuk pada keseluruhan proses untuk membangun, mengimplementasi,
menggunakan, dan memperbaharui sistem informasi.
Terdapat dua tipe pendekatan SDLC yaitu prediktif dan adaptif. Tidak ada pendekatan
yang terbaik, semuanya harus disesuaikan dengan kondisi lingkungan proyek. Pendekatan
prediktif mengasumsuikan bahwa proyek pengembangan direncanakan dengan baik dan sistem
informasi yang baru dapat dikembangkan sesuai dengan rencana. Pendekatan adaptif digunakan
saat kebutuhan atau persyaratan yang jelas dari pengguna tidak jelas atau tidak dipahami.
Pendekatan yang lebih fleksibel diperlukan untuk memungkinkan rencana proyek dimodifikasi
sesuai dengan perkembangan proyek. Gambar 1 berikut menggambarkan rangakaian antara
prediktif menuju ke adaptif.

Gambar 1 Pendekatan Prediktif Versus Adaptif dalam SDLC

Traditional Predictive Approaches the SDLC


Di setiap proyek harus terdapat aktivitas yang berhubungan dengan inisiasi, perencanaan,
analysis, perancangan, implementasi, dan penerapan proyek. Setiap rangkaian aktivitas ini
disebut dengan Fase. Terdapat fase lain, yang disebut dengan dukungan, yang berisi aktivitas
yang berjalan untuk memelihara sistem setelah sistem digunakan. Berikut akan dijelaskan tujuan
dari setiap fase yang ada :
1. Inisiasi aktivitas agar proyek dapat diidentifikasi, disetujui, dan dianggarkan.
2. Perencanaan aktivitas untuk menentukan lingkup proyek, merencanakan dan menjadwalkan
pekerjaan, dan mengidentifikasi sumber daya yang diperlukan.
3. Analysis aktivitas untuk memahami persyaratan atau kebutuhan pengguna
4. Perancangan aktivitas untuk menentukan dan membentuk solusi sistem.
5. Impelementasi kegiatan pemrogaman dan aktivitas lain untuk membangun solusi sistem
dan database.

0124M - Analisa dan Perancangan Sistem Informasi Lanjut

6. Penerapan aktivitas yang berhubungan dengan konversi data, testing final, dan
mengimplementasikan sistem untuk digunakan.

Gambar 2 Fase Pengembangan Sistem Informasi Tradisional

Model SDLC yang paling prediktif sering disebut dengan model air terjun (Waterfall
model), sebuah SDLC yang mengasumsikan beberapa fase dalam proyek dapat diselesaikan
secara berurutan satu fase menuju ke fase berikutnya dan tidak diijinkan untuk kembali ke
fase sebelumnya seperti yang ditampilkan dalam Gambar 3. Pendekatan ini hampir tidak pernah
digunakan lagi karena pendekatan ini tidak pernah berjalan dengan baik.

Gambar 3 SDLC Model Air Terjun (Waterfall Model)

Pendekatan yang dimodifikasi dari model air terjun ini lebih fleksibel dan memungkinkan
fase-fase berjalan bersamaan. Gambar 4 menampilkan bagaiman model air terjun yang
dimodifikasi akan bekerja. Tidak hanya menjadi lebih efektif namun juga menjadi lebih efisien
dengan memungkikan pengembang untuk menjalankan tugas analisa, perancangan dan
pemrograman secara bersamaan.

0124M - Analisa dan Perancangan Sistem Informasi Lanjut

Gambar 4 Overlap of system development phase

The Newer Approaches to the SDLC


Berbeda dengan SDLC prediktif, SDLC adaptif mengasumsikan proyek harus
disesuaikan sesuai dengan perkembangan proyek. Hal ini diperlukan karena aspek-aspek dari
proyek tidak dipahami dengan baik di awal proyek. Versi awal dari SDLC Adaptif disebut
dengan model spiral, dimana siklus berputar selalu melalui aktivitas pengembangan dan
membuat penyesuaikan hingga proyek selesai. Setelah setiap siklus, prototype tersedia sebagai
model awal untuk memperlihatkan beberapa aspek dari sistem yang siap untuk dites dan
dievaluasi oleh pengguna. Iteration (perulangan) adala sebuah siklus di dalam model spiral
selama aktivitas pengerjaan analisa, perancangan, implementasi- digunakan untuk
menyelesaikan versi lengkap dari prototype. Menyelesaikan proyek menggunakan beberapa
iterasi memecah masalah dari pengembangan sistem menjadi proyek-proyek kecil yang lebih
mudah dikelola.

0124M - Analisa dan Perancangan Sistem Informasi Lanjut

Gambar 5 Model Spiral

Pendekatan lain yang termasuk dalam pendekatan adaptif ditampilkan dalam gambar 6
dan 7. Gambar 7 adalah pendekatan adaptif dimana iterasi ditampilkan dalam kolom dan
beberapa proses utama. Proses utama digunakan untuk mengelompokkan aktivitas yang
berhubungan, seperti fase dalam pendekatan prediktif. Di dalam setiap iterasi kita akan
melakukan beberapa kegiatan dari proses utama.

0124M - Analisa dan Perancangan Sistem Informasi Lanjut

Gambar 6 The Iteration of System Development Activities

Gambar 7 Adaptive SDLC with six core processes and multiple iterations

0124M - Analisa dan Perancangan Sistem Informasi Lanjut

Berhubungan dengan konsep proyek yang iteratif adalah konsep incremental


development. Dengan lingkup yang terbatas pada setiap iteraksi, maka kita hanya
pengembangan sebagian dari keseluruhan sistem. Sebuah penambahan dapat diselesaikan dalam
satu atau lebih iterasi. Satu pendekatan di dalam incremental development adalah membangun
kerangka keseluruhan sistem terlebih dahulu, namun dengan fungsi yang terbatas. Ini biasa
disebut dengan walking skeleton. Sistem disempurnakan dari waktu ke waktu.

The Support Phase


Support dapat dianggap sebagai salah satu dari fase proyek. Namun saat ini, semakin
umum saat ini untuk menganggap supoort terpisah dari proyek. Tiga aktivitas utama yang
terjadi selama fase dukungan adalah
a. Memelihara sistem
b. Mengembangkan sistem
c. Mendukung pengguna
Pemeliharaan sistem adalah aktivitas yang diperlukan untuk menjaga agar sistem tetap
berjalan dengan benar. Meskipun sistem sudah di tes selama proses pengembangan namun
masih tetap akan ditemukan bug atau kesalahan yang harus diperbaiki. Banyak programer baru
yang memulai karirnya dengan mengerjakan perawatan sistem ini.
Dan sangat normal seiring dengan perkembangan dan perubahan bisnis, akan muncul
kebutuhan-kebutuhan baru untuk ditambahkan ke sistem. Ini merujuk pada pengembangan
sistem. Biasanya kegiatan ini berada dibawah proyek pengembangan. Proyek pengembangan
adalah sebuah proyek dan dapat dijalankan melalui 6 proses utama dari proyek.
Dukungan pengguna kadang diperlukan dalam bentuk help desk, atau mekanisme lain
untuk menjawab pertanyaan, menyediakan pelatihan, dan memverifikasi pengguna dalam
mengidentifikasi error.

Methodologies, Models, Tools, and Techniques


Methodologies
Metodologi pengembangan sistem menyediakan panduan untuk setiap fase di dalam siklus
pengembangan sistem. Beberapa metodologi (baik mengembangkan sendiri atau membeli) berisi
dokumentasi yang berisi segala hal yang perlu diketahui atau dibutuhkan untuk mengerjakan
proyek.

0124M - Analisa dan Perancangan Sistem Informasi Lanjut

Models
Model menampilkan gambaran dari aspek yang utama dari dunia nyata. Terkadang, abstraksi
digunakan untuk menggambarkan hal yang dianggap penting. Model digunakan untuk
mengembangkan sistem termasuk menampilkan input, output, proses, data, objek, iteraksi objek,
lokasi, jaringan, dan alat. Model dapat berupa grafik, dimana digambarkan dengan simbol dan
beberapa-beberapa aturan.
Tools
Dalam pengembangan sistem, tools berarti software yang membantu untuk membuat model atau
komponen lain yang diperlukan di dalam proyek, seperti alat gambar untuk menghasilkan model
grafik. Alat ini dirancang khusus untuk membantu pengembang sistem. Programer akan sangat
mengenal IDE (integrated development environment), yang menyediakan banyak alat untuk
mengerjakan tugas pemrogaman.
Teknik
Dalam pengembangan sistem, teknik adalah kumpulan panduan yang membantu analis untuk
menyelesaikan kegiatan atau tugasnya. Dapat berisi langkah-langkah untuk membuat model atau
yang lebih umum mengenai saran untuk mengumpulkan informasi dari pengguna sistem.
Metodologi adalah kumpulan dari teknik-teknik yang digunakan untuk menyelesaikan aktivitas
di dalam setiap fase dalam SDLC.

Two Approaches to Software Construction and Modeling


The Structured Approach
Analisis terstruktur, perancangan terstruktur, dan programming terstruktur adalah tiga
teknik yang membentuk pendekatan terstruktur. Terkadang, teknik-teknik ini secara bersamaan
merujuk kepada teknik analisis dan perancangan terstruktur.
Pemrograman terstruktur menghasilkan program yang memiliki satu awal dan satu akhir,
dimana di setiap langkah dalam eksekusi program terdiri dari :
Urutan dari statement program
Titik keputusan dimana satu statement program atau yang lainnya akan dijalankan
Pengulangan dari statement.

0124M - Analisa dan Perancangan Sistem Informasi Lanjut

Pemrograman top-down membagi program yang lebih rumit ke dalam hirarki model
program (Gambar 8). Satu modul di bagian atas hirarki mengendalikan ekskusi program dengan
memanggil modul yang ada di bawah.

Gambar 8 Top-down or modular programming

Terdapat 2 prinsip dalam perancangan terstruktur : modul program harus memiliki couple
yang rendah dan cohesif yang tinggi. Couple yang rendah berarti setiap modul sebagai modul
tersendiri dari yang lainnya. Tinggi kohesif berarti setiap modul menyelesaikan satu tugas
dengan jelas.
Teknik analisa terstruktur membantu pengembang menentukan apa yang harus dikerjakan
oleh sistem, data apa yang harus disimpan dan digunakan, input dan output apa yang diperlukan ,
dan bagaimana fungsi-fungsi tersebut bekerja sama untuk mencapai satu tujuan. Model grafik
utama untuk menggambarkan persyaratan sistem adalah data flow diagram. Model lain yang
perlu dibuat adalah tipe-tipe kata benda yang perlu untuk disimpan oleh sistem (entitas data).
Pemodelan data ini dapat digambarkan dengan Entity relationship diagram (ERD).

The Object Oriented Approach


Pendekatan berbasis objek melihat sistem informasi sebagai kumpulan dari objek yang
saling beriteraksi yang bekerja sama untuk menyelesaikan tugas. Objek adalah benda di dalam
sistem komputer yang mampu untuk merespon pesan yang diberikan.

0124M - Analisa dan Perancangan Sistem Informasi Lanjut

Analisa berbasis objek membantu untuk menentukan objek yang menjalankan pekerjaan
dan menentukan interaksi dengan pengguna apa yang diperlukan untuk menyelesaikan tugas.
Perancangan berbasis objek menentukan semua tipe-tipe tambahan dari objek yang diperlukan
untuk berkomunikasi dengan orang dan alat di dalam sistem, menampilkan bagaiman objek
berinteraksi untuk menyelesaikan tugas. Pemrograman berbasis objek adalah penulisan program
di dalam bahasa pemrograman untuk menentukanapa yang dilakukan oleh setiap objek. Hal ini
diselesaikan dengan menggunakn method.
Objek adalah jenis dari benda. Bisa merupakan pelanggan atau karyawan atau tombol
atau menu. Mengidentifikasi objek berarti mengklasifikasikan benda. Klasifikasi atau class
menampilkan kumpulan dari objek yang sejenis. Dalam pengembangan berorientasi objek
digunakan class diagram untuk menampilkan semua class yang ada di dalam sistem.

Agile Development
Agile

development

adalah

sebuah

filosofi

dan

serangkaian

panduan

untuk

mengembangkan sistem informasi di dalam lingkungan yang sering berubah dan dapat
digunakan dengan metodologi pengembangan sistem apapun. Metodologi agile adalah sebua
filosofi tentang bagaimana membangun model, beberapa diantaranya formal dan detil, namun
yang lainnya hanya berupa sketsa dan sangat ringkas.

Agile Development Philosophy and Values


Filosofi agile menggunakan pendekatan yang fleksibel terhadap jadwal proyek dan
memberikan kesempatan bagi tim proyek untuk merencanakan dan menjalankan pekerjaan
mereka sesuai dengan perkembangan proyek. Filosofi utama dalam pengembangan agile adalah
1. Value responding to change over following a plan
2. Value individuals and interactions over processes and tools
3. Value working software over comprehensive documentation
4. Value customer collaboration over contract negotiation
Di dalam proyek yang menggunakan filosofi agile dikenal istilah chaordic atau chaos
dan order. Filosofi agile menyadari ketidakpastian ini, penanganan dengan meningkatkan
flesibilitas dan mempercayakan tim proyek untuk mengembangkan solusi terhadap masalah yang
ada. Aspek penting lainnya dalam pengembangan Agile adalah pelanggan harus secara terus

0124M - Analisa dan Perancangan Sistem Informasi Lanjut

menerus terlibat di dalam tim proyek. Mereka tidak bisa hanya duduk dengan tim proyek dalam
beberapa sesi untuk mengembangkan spesifikasi. Mereka menjadi bagian dari tim teknis.

Agile Modeling Principles


Pemodelan agile bukan berarti melakukan pemodelan lebih sedikit namun membuat
pemodelan yang tepat untuk tujuan yang tepat pada level tertentu. Pemodelan agile tidak
menentukan model mana yang harus dibuat dan bagaimana membuat model tersebut.
Sebaliknya, pemodelan agile hanya membantu pengembang untuk tetap pada jalurnya dengan
pemodelan yang mereka buat sebagai alat untuk mencapai tujuan namun bukan tujuan akhirnya.
Prinsip pemodelan agile berikut mengindikasikan membangan model adalah teknik yang utama
dalam pengembangan software namun model adalah sarana bukan tujuan.
1. Membangun software sebagai tujuan utama
2. Menjalankan usaha berikutnya sebagai tujuan sekunder
3. Meminimalkan kegiatan pemodelan sedikit dan sederhana
4. Merangkul perubahan dan perubahan bertahap
5. Membuat model dengan tujuan
6. Membuat beberapa model
7. Membuat model dengan kualitas baik dan mendapatkan umpan balik
8. Fokus pada isi daripada tampilan
9. Belajar dari yang lain dengan komunikasi terbuka
10. Mengetahui model yang dibuat dan cara menggunakannya
11. Beradaptasi pada kebutuhan proyek yang spesifik

0124M - Analisa dan Perancangan Sistem Informasi Lanjut

SIMPULAN
Proyek pengembangan sistem dikelola menggunakan system development life cycle
(SDLC). Beberapa SDLC menggunakan pendekatan prediktif dan yang lainnya menggunakan
pendekatan adaptif. Dalam pendekatan prediktif fase-fase yang ada dijalankan berurutan atau ada
yang beberapa yang berjalan bersamaan. Fase SDLC tradisional terdiri dari inisialisasi,
perencanaan proyek, analisis, perancangan, implementasi, deployment, dan dukungan.
Pendekatan adaptif digunakan saat persyaratan atau teknologi yang ada berada dalam
ketidakpastian dan sulit untuk merencanakan segala sesuatu di dalam proyek. SDLC yang adaptif
menggunakan beberapa perulangan yang memungkinkan analisis, perancanganm dan
implementasi menjadi bagian-bagian yang lebi kecil sebelum digabungkan menjadi satu kembali.
Metodologi yang digunakan untuk pendekatan pengembangan software dan pemodelan
adalah pendekatan tradisional dan berbasis objek. Pendekatan tradisional menggunakan model
dan teknik seperti use case, data flow diagram, entity relationship diagram, structure charts,
teknik analisis terstruktur, teknik perancangan terstruktur, dan teknik pemrograman yang
terstruktur. Pendekatan berbasis objek melihat software sebagai kumpulan dari objek yang saling
berinteraksi dan berkerjasama untuk menyelesaikan sebuah tugas. Model dan teknik yang
digunakan adalah use case, class diagram, sequence diagram, package diagram, state machine
diagram, analisa, perancangan, dan pemrograman berbasis objek.
Pengembangan Agile membantu proyek pengembangan sistem responsif terhadap
perubahan. Pemodelan agile menjelaskan prinsip untuk menjaga proyek tetap lincah (agile).

0124M - Analisa dan Perancangan Sistem Informasi Lanjut

DAFTAR PUSTAKA
John W. Satzinger,Robert B. Jackson,Stephen D. Burd. 2012. Introduction to Systems Analysis
and

Design

An

ISBN:9781111972264

Agile,

Iterative

Approach.

Course

Technology.

Canada.