Anda di halaman 1dari 40

Analisis dan Desain Sistem

1
dan SDLC
Elsa Elvira Awal, M.Kom
2 Definisi Analisis Sistem

 Analisis sistem adalah proses mendalam untuk memahami kebutuhan,


tujuan, dan proses suatu sistem dengan tujuan meningkatkan efisiensi,
produktivitas, dan kualitas sistem tersebut.
 Dalam konteks rekayasa perangkat lunak, analisis sistem merupakan
langkah awal yang sangat penting dalam pengembangan perangkat
lunak.
3 Mengapa Analisis Sistem Penting?

 Analisis sistem memberikan pemahaman yang mendalam tentang


masalah atau kebutuhan yang ingin diselesaikan oleh suatu sistem
perangkat lunak.
 Dengan pemahaman yang baik tentang kebutuhan dan tujuan,
pengembangan perangkat lunak dapat merancangan solusi yang tepat
dan efisien.
4 Langkah-langkah dalam Analisis Sistem

1. Identifikasi Kebutuhan: Tahap awal dalam analisis sistem adalah


mengidentifikasi kebutuhan bisnis atau fungsional dari sistem yang akan
dikembangkan. Ini melibatkan interaksi yang intensif dengan pemangku
kepentingan (stakeholders) untuk memahami kebutuhan mereka.
2. Pengumpulan Informasi: Proses pengumpulan informasi adalah langkah
penting dalam analisis sistem. Informasi dapat dikumpulkan melalui
wawancara dengan pengguna, observasi langsung, dan analisis dokumen
yang relevan.
3. Analisis Kebutuhan: Setelah informasi terkumpul, analisis kebutuhan
dilakukan untuk memahami secara mendalam apa yang sebenarnya
diperlukan oleh sistem. Hal ini melibatkan penyusunan dan
pengklasifikasian kebutuhan menjadi kebutuhan fungsional dan non-
fungsional.
5 Langkah-langkah dalam Analisis Sistem

4. Pemodelan Sistem: Pemodelan sistem dilakukan untuk menggambarkan


secara visual bagaimana sistem akan beroperasi dan berinteraksi dengan
lingkungannya. Ini dapat dilakukan dengan menggunakan alat dan teknik
seperti diagram alir data (DFD), diagram use case, atau model-model
lainnya.
5. Analisis Risiko: Identifikasi dan analisis risiko dilakukan untuk memahami
potensi risiko yang mungkin timbul selama pengembangan dan
implementasi sistem. Hal ini membantu dalam merencanakan strategi
mitigasi yang tepat.
6. Validasi Kebutuhan: Validasi kebutuhan dilakukan untuk memastikan
bahwa kebutuhan yang diidentifikasi adalah benar-benar apa yang
diinginkan oleh pemangku kepentingan dan sesuai dengan tujuan bisnis.
6 Tujuan Analisis Sistem

 Memahami kebutuhan bisnis dengan baik.


 Menentukan batasan dan ruang lingkup proyek dengan jelas.
 Mengidentifikasi kebutuhan fungsional dan non-fungsional.
 Mengurangi risiko proyek dengan mengidentifikasi masalah potensial
secara dini.
 Menyediakan dasar untuk perancangan dan pengembangan sistem yang
efisien dan efektif.
7 Teknik Pengumpulan Data

 Teknik pengumpulan data adalah proses untuk mengumpulkan informasi


yang relevan dan diperlukan dalam pengembangan perangkat lunak.
 Penggunaan teknik yang tepat dapat membantu pengembang
memahami kebutuhan pengguna dengan lebih baik.
8 Macam-macam Teknik Pengumpulan
Data
1. Wawancara adalah teknik pengumpulan data yang melibatkan
pertemuan langsung antara pengembang perangkaot lunak dan
pemangku kepentingan. Dalam wawancara, pengembang mengajukan
pertanyaan terstruktur atau terbuka untuk mendapatkan pemahaman
yang lebih baik tentang kebutuhan, tujuan, dan masalah yang dihadapi
oleh pengguna.
2. Observasi melibatkan pengamatan langsung terhadap pengguna atau
proses yang terlibat dalam penggunaan perangkat lunak yang ada.
Dengan mengamati pengguna saat bekerja, pengembang dapat
memperoleh wawasan yang berharga tentang kebutuhan dan masalah
yang mungkin tidak terungkap melalui wawancara.
9 Macam-macam Teknik Pengumpulan
Data
3. Studi Dokumen mengkaji dokumen seperti laporan bisnis, spesifikasi teknis,
atau catatan pengguna sebelumnya dapat memberikan informasi yang
berharga tentang kebutuhan dan masalah yang perlu dipecahkan.
Dokumen ini dapat memberikan konteks yang diperlukan untuk
memahami lingkungan dan persyaratan bisnis yang relevan.
4. Kuesioner adalah alat yang berguna untuk mengumpulkan data dari
sejumlah responden dalam jumlah besar. Pengembang dapat merancang
kuesioner untuk mengumpulkan informasi tentang preferensi pengguna,
kebutuhan fungsional, atau masalah yang dihadapi pengguna.
10 Macam-macam Teknik Pengumpulan
Data
5. Brainstorming adalah teknik pengumpulan data yang melibatkan
kelompok diskusi untuk menghasilkan ide-ide baru dan mengidentifikasi
kebutuhan sistem. Dalam sesi brainstorming, anggota tim bebas
menyuarakan ide-ide tanpa kritik, sehingga memungkinkan munculnya
gagasan kreatif.
6. Pembuatan Prototipe perangkat perangkat lunak dapat membantu dalam
pengumpulan data dengan memungkinkan pengguna untuk berinteraksi
dengan versi awal sistem. Tanggapan dan umpan balik dari pengguna
terhadap prototipe dapat memberikan wawasan yang berharga tentang
fitur yang diperlukan dan perbaikan yang perlu dilakukan.
11 Tujuan Teknik Pengumpulan Data

 Memahami kebutuhan dan tujuan pengguna dengan lebih baik.


 Mengidentifikasi masalah dan tantangan yang dihadapi oleh pengguna.
 Mendappatkan umpan balik yang dapat digunakan untuk merancangan
solusi yang lebih baik.
 Mengurangi risiko pengembangan dengan memastikan bahwa solusi yang
dihasilkan sesuai dengan harapan pengguna.
12 Jenis Kebutuhan

 Dalam rekayasa perangkat lunak, kebutuhan adalah deskripsi dari apa


yang diinginkan atau dibutuhkan oleh pengguna atau pemangku
kepentingan dalam suatu sistem perangkat lunak.
 Kebutuhan ini bertujuan untuk membimbing proses pengembangan agar
menghasilkan solusi yang memenuhi harapan dan kebutuhan pengguna.
13 Macam-macam Jenis Kebutuhan

1. Kebutuhan fungsional adalah spesifikasi tentang apa yang harus dilakukan


oleh sistem perangkat lunak. Ini mencakup fungsi-fungsi atau layanan-
layanan yang harus disediakan oleh sistem.
2. Kebutuhan non-fungsional adalah persyaratan tentang bagaimana sistem
harus beroperasi, bukan tentang apa yang harus dilakukan. Ini meliputi
aspek-aspek seperti kinerja, keamanan, keandalan, dan skalabilitas sistem.
3. Kebutuhan bisnis adalah kebutuhan yang berasal dari tujuan-tujuan bisnis
organisasi atau perusahaan yang menggunakan sistem perangkat lunak.
Kebutuhan ini menetapkan dasar untuk pengembangan sistem dengan
memastikan bahwa solusi yang dihasilkan akan memberikan nilai tambah
yang diinginkan oleh organisasi.
14 Macam-macam Jenis Kebutuhan

4. Kebutuhan pengguna adalah kebutuhan yang berasal dari pengguna


akhir sistem perangkat lunak. Ini mencakup preferensi, keinginan, dan
kebutuhan mereka dalam menggunakan sistem. Memahami kebutuhan
pengguna sangat penting untuk merancang angtarmuka pengguna yang
intuitif dan fungsional.
5. Kebutuhan domain adalah kebutuhan yang terkait dengan lingkungan
atau industri tempat sistem akan digunakan. Setiap industri atau domain
mungkin memiliki kebutuhan spesifik yang perlu dipertimbangan dalam
pengembangan perangkat lunak.
6. Kebutuhan pengembangan adalah yang berkaitan dengan proses
pengembangan perangkat lunak itu sendiri. Ini termasuk persyaratan untuk
dokumentasi, pengujian, manajemen versi, dan proses pengembangan
yang diikuti.
15 Tujuan Jenis Kebutuhan

 Memastikan bahawa sistem perangkat lunak memenuhi kebutuhan dan


harapan pengguna.
 Memberikan pandungan yang jelas dalam merancangan pengembangan
sistem.
 Membantu dalam menentukan prioritas pengembangan dan alokasi
sumber daya.
16 Desain Sistem

 Desain sistem adalah proses menguraikan struktur, komponen, dan interaksi


antara komponen-komponen tersebut untuk menciptakan suatu sistem
perangkat lunak yang memenuhi kebutuhan pengguna dan tujuan bisnis.
 Desain sistem merupakan tahap penting dalam siklus pengembangan
perangkat lunak yang mengikuti analisis kebutuhan.
17 Mengapa Desain Sistem Penting?

 Desain sistem menentukan arsitektur dan rancangan umum sistem


perangkat lunak.
 Proses desain yang baik memastikan bahwa sistem dirancang dengan
baik, dapat diimplementasikan dengan efisien, mudah dipahami, dan
mudah dikelola.
 Desain yang buruk dapat mengakibatkan sistem yang sulit dioperasikan,
sulit dipelihara, dan tidak dapat diperluas.
18 Langkah-langkah dalam Desain Sistem

1. Arsitektur Sistem: Tahap awal dalam desain sistem adalah menentukan


arsitektur sistem, yaitu struktur umum dari sistem dan cara komponen-
komponen saling berinteraksi. Arsitektur sistem mencakup pemilihan
platform, distribusi fungsionalitas, dan alokasi sumber daya.
2. Desain Modul: Setelah arsitektur sistem ditentukan, langkah selanjutnya
adalah merancang modul-modul atau komponen-komponen sistem.
Desain modul mencakup spesifikasi fungsional, antarmuka, dan hubungan
antara modul-modul tersebut.
3. Desain Antarmuka Pengguna: Desain antarmuka (UI) adalah proses
merancang tampilan dan interaksi pengguna dengan sistem. Desain UI
bertujuan untuk membuat pengguna dapat menggunakan sistem dengan
mudah dan efisien.
19 Langkah-langkah dalam Desain Sistem

4. Desain Database: Jika sistem melibatkan penggunaan database, maka


langkah ini melibatkan merancang struktur database, skema data, dan
kueri-kueri yang diperlukan untuk menyimpan dan mengelola sistem.
5. Desain Keamanan: Desain keamanan adalah proses mempertimbangkan
aspek keamanan sistem, termasuk otentikasi, otoritas, enkripsi data, dan
manajemen risiko keamanan lainnya.
6. Optimasi dan Performa: Selama proses desain, perlu juga
mempertimbangkan faktor-faktor performa dan optimasi, seperti
kecepatan respon, penggunaan memori, dan pemilihan algoritama yang
efisien.
20 Tujuan Desain Sistem

 Menghasilkan rancangan sistem yang memenuhi kebutuhan fungsional


dan non-fungsional.
 Membuat sistem mudah dimengerti, diimplementasikan, dan dipelihara.
 Memastikan interoperabilitas dan skalabilitas sistem.
 Meminimalkan risiko kesalahan atau kegagalan dan pengembangan dan
implementasi.
21 Pengertian SDLC

 Software Development Life Cycle (SDLC) atau Siklus Hidup Pengembangan


Perangkat Lunak adalah serangkaian langkah-langkah atau proses yang
digunakan dalam pengembangan perangkat lunak, dimulai dari konsepsi
ide hingga pengiriman produk akhir kepada pengguna.
 SDLC membantu dalam merencanakan, merancang, mengembangkan,
menguji, dan memelihara perangkat lunak secara sistematis dan
terstruktur.
22 Tahapan SDLC

1. Tahapan Perencanaan (Planning): Tahap ini merupakan awal dari SDLC di


mana tujuan proyek dan kebutuhan bisnis didefinisikan secara jelas. Pada
tahap ini, dilakukan identifikasi masalah, analisis risiko, perencanaan
anggaran, dan penjadwalan proyek.
2. Analisis Kebutuhan (Requirement Analysis): Tahap ini melibatkan
pemahaman mendalam tentang kebutuhan pengguna dan pemangku
kepentingan terhadap perangkat lunak yang akan dikembangkan. Analisis
kebutuhan memungkinkan perumusan spesifikasi fungsional dan non-
fungsional sistem.
3. Desain Sistem (System Design): Pada tahap ini, rancangan sistem secara
keseluruhan dirancang, termasuk arsitektur sistem, antarmuka pengguna,
dan desain database. Desain sistem bertujuan untuk menentukan cara
sistem akan berfungsi dan berinteraksi.
23 Tahapan SDLC

4. Pengembangan (Development): Tahap ini melibatkan implementasi


rancangan sistem menjadi kode perangkat lunak yang berjalan. Tim
pengembang akan menulis kode, menguji unit, dan mengintegrasikan
komponen-komponen sistem.
5. Pengujian (Testing): Pada tahap ini, perangkat lunak diuji secara
menyeluruh untuk memastikan bahwa fungsionalitasnya sesuai dengan
spesifikasi yang ditetapkan dan bahwa perangkat lunak dapat beroperasi
dengan benar dalam berbagai kondisi.
6. Penerapan (Deploment): Tahap penerapan melibatkan peluncuran resmi
perangkat lunak ke lingkungan produksi dan memastikan bahwa sistem
siap digunakan oleh pengguna akhir. Ini juga melibatkan migrasi data dan
pelaaatihan pengguna.
24 Tahapan SDLC

7. Pemeliharaan (Maintenance): Tahap pemeliharaan melibatkan perawatan


dan perbaikan perangkat lunak setelah diluncurkan. Ini bisa mencakup
penanganan bug, peningkatan fungsionalitas, dan penyesuaian dengan
perubahan kebutuhan bisnis atau lingkungan teknologi.
25 Tujuan SDLC

 Memastikan pengembangan perangkat lunak dilakukan dengan


terstruktur dan sistematis.
 Mengurangi risiko pengembangan dengan memastikan bahwa kebutuhan
pengguna dipahami dan dipenuhi dengan baik.
 Meningkatkan kualitas perangkat lunak melalui pengujian dan
pemeliharaan yang teratur.
 Menyediakan kerangka kerja yang jelas untuk memantau dan mengelola
proyek pengembangan perangkat lunak.
26 Model SDLC

 Model SDLC adalah kerangka kerja atau pendekatan yang digunakan


dalam pengembangan perangkat lunak untuk mengatur dan mengelola
proses dari konsepsi ide hingga pengiriman produk kahir.
 Berbagai model SDLC menawarkan pendekatan yang berbeda dalam
mengatur langkah-langkah pengembangan perangkat lunak.
27 Macam-macam Model SDLC

 Model Air Terjuan (Waterfall Model): Waterfall model adalah model SDLC
linier yang terdiri dari serangkaian tahap yang dilakukan secara berurutan,
mulai dari analisis, desain, pembuatan kode program, pengujian. Setiap
tahap harus diselesaikan sepenuhnya sebelum memulai tahap berikutnya.
Kelebihan model ini adalah terstruktur yang jelas dan mudah dimengerti,
namun kurang fleksibel terhadap perubahan.
28 Model Air Terjuan (Waterfall Model)

 Analisis kebutuhan perangkat lunak: proses pengumpulana kebutuhan


dilakukan secara intensif untuk mespesifikasikan kebutuhan perangkat
lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan
oleh user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu
untuk didokumentasikan.
 Desain: desain perangkat lunak adalah proses multi langlah yang focus
pada desain pembuatan program perangkat lunak termasuk struktur data,
arsitektur perangkat lunak, representassi antarmuka, dan prosedur
pengodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap
analisis kebutuhan ke representasi desain agar dapat diimplementasikan
menjadi program pada tahap selanjutnya. Desain perangkat lunak yang
dihasilkan pada tahap ini juga perlu didokumentasikan.
29 Model Air Terjuan (Waterfall Model)

 Pembuatan kode program: desain harus ditranslasikan ke dalam program


perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai
dengan desain yang telah dibuat pada tahap desain.
 Pengujian: pengujian focus pada perangkat lunak dari segi lojik dan
fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini
dilaksanakan untuk meminimalisir kesalahan (error) dan memastikan
keluaran yang dihasilkan sesuai dengan yang diinginkan.
 Pendukung atau pemiliharaan: tidak menutup kemungkinan sebuah
perangkat lunak mengalami perubahan ketidak sudah dikirimkan ke user.
Perubahan bisa terjadi karena adanya kesalahan yang muncul dan tidak
terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan
lingkungan baru. Tahap ini dapat mengulangi proses pengembangan
mulai dari analisis untuk perubahan perangkat lunak yang sudah ada, tapi
tidak untuk membuat perangkat lunak baru.
30 Macam-macam Model SDLC

 Model Prototipe (Prototype Model): model prototipe menggabungkan


elemen-elemen dari waterfall model dengan pengembangan prototipe.
Tahap awal melibatkan pengembangan prototipe perangkat lunak yang
cepat berdasarkan pemahaman awal tentang kebutuhan pengguna.
Prototipe ini kemudian digunakan untuk mendapatkan umpan balik dari
pengguna dan digunakan sebagai dasar untuk pengembangan
selanjutnya.
31 Model Prototipe

 Mendengarkan pelanggan: pada tahap ini dilakukan pengumpulan


kebutuhan dari sistem dengan cara mendengar keluhan dari pelanggan.
Untuk membuat suatu sistem yang sesuai kebutuhan, maka harus diketahui
terlebih dahulu bagaimana sistem yang sedang berjalan untuk kemudia
mengetahui masalah yang terjadi.
 Membangun/memperbaiki mock-up: pada tahapan ini, dilakukan
perancangan dan pembuatan prototipe sistem. Prototipe yang dibuat
disesuaikan dengan kebutuhan sistem yang telah didefinisikan sebelumnya
dari keluahan pelanggan atau pengguna.
 Uji coba: pada tahap ini, prototipe dari sistem di uji coba oleh pelanggan
atau pengguna. Lalu dilakukan evaluasi kekurangan-kekurangan dari
kebutuhan pelanggan. Pengembang kemudian kembali mendengarkan
keluhan dari pelanggan untuk memperbaiki prototipe yang ada.
32 Kelebihan Model Prototipe

 Adanya komunikasi yang baik antara pengembang dan pelanggan.


 Pengemban dapat bekerja baik dalam menentukan kebuthan pelanggan.
 Lebih menghemat waktu dalam pengembangan sistem.
 Penerapan lebih mudah karena pengguna mengetahui apa yang
diharapkannya.
33 Kekurangan Model Prototipe

 Risiko tinggi yaitu untuk masalah-masalah yang tidak terstruktur dengan


baik, ada perubahan yang besar dari waktu ke waktu dan adanya
persyaratan data yang tidan menentu.
 Sistem harus menyediakan dialog on-line antara pelanggan dan komputer.
 Hubungan pelanggan dengan komputer yang disediakan mungkin tidak
mencerminkan teknik perancangan yang baik.
34 Model Iteratif dan Inkremental

 Model iteratif dan incremental melibatkan siklus pengembangan berulang


di mana perangkat lunak dikembangkan dalam serangkaian iterasi atau
penambahan incremental.
 Setiap iterasi menghasilkan versi perangkat lunak yang dapat digunakan,
dan setiap inkrementasi menambahkan fungsionalitas baru.
 Model ini memungkinkan adaptasi yang lebih baik terhadap perubahan
kebutuhan dan umpan balik pengguna.
35 Model Iteratif dan Inkremental

 Kombinasikan elemen-elemen dari waterfall dengan sifat


iterasi/perulangan.
 Elemen-elemen dalam waterfall dikerjakan dengan hasil berupa produk
dengan spesifikasi tertentu, kemudian proses dimulai dari fase pertama
hingga akhir dan menghasilkan produk dengan spesifikasi yang lebih
lengkap dari yang sebelumnya. Demikian seterusnya hingga semua
spesifikasi memenuhi kebutuhan yang ditetapkan oleh pengguna.
 Produk hasil inkremen pertama biasa produk inti (core product), yaitu
produk yang memenuhi kebutuhan dasar. Produk tersebut digunakan oleh
pengguna atau menjalani review/pengecekan detail. Hasil review tersebut
menjadi bekal untuk pembangunan pada inkremen berikutnya. Hal ini
terus dikerjakan sampai produk yang komplit dihasilkan.
36 Model Iteratif dan Inkremental

 Model ini cocok jika jumlah anggota tim pengembang tidak cukup.
Mampu mengakomodasi perubahan secara fleksibel.
 Produk yang dihasilkan pada inkremen pertama bukanlah prototipe, tapi
produk yang sudah bisa berfungsi dengan spesifikasi dasar.
37 Model Spiral

 Model spiral adalah pendekatan evolusioner yang menggabungkan


elemen-elemen dari model air terjun dan model iteratif.
 Proses pengembangan dilakukan secara iteratif melalui serangkaian siklus
atau spiral.
 Setiap spiral melibatkan empat tahap: perencanaan, analisis risiko,
pengembangan, dan evaluasi.
 Model ini cocok untuk proyek-proyek yang kompleks dan berisiko tinggi.
38 Model Spiral

 Planning: ini termasuk memperkirakan biaya, jadwal dan sumber daya


untuk iterasi. Ini juga melibatkan pemahaman persyaratan sistem untuk
komunikasi berkelanjutan antara analis sistem dan pelanggan
 Risk analysis: identifikasi potensi risiko dilakukan saat strategi mitigasi risiko
direncanakan dan diselesaikan.
 Engineering: ini termasuk pengujian, pengkodean, dan penerapan
perangkat lunak di situs pelanggan.
 Evaluation: evaluasi perangkat lunak oleh pelanggan. Juga, termasuk
mengidentifikasi dan memantau risiko seperti selip jadwal dan kelebihan
biaya
39 Tujuan Model SDLC

 Memberikan kerangka kerja yang terstruktur untuk mengatur proses


pengembangan perangkat lunak.
 Memastikan bahwa perangkat lunak dikembangkan dengan cara yang
terorganisir dan terdokumentasi.
 Meningkatkan kulitas produk akhir dengan mengelola risiko dan
mengurangi ketidakpastian.
 Memungkinkan adaptasi terhadap perubahan kebutuhan atau lingkungan
proyek yang dinamis.
40

Anda mungkin juga menyukai