Anda di halaman 1dari 38

Pertemuan 2

Struktur & Model Perangkat Lunak

Amat Basri M.Kom


Apa atribut perangkat lunak yang baik 2

 Perangkat lunak ini harus memberikan fungsi yang diperlukan dan


kinerja bagi pengguna dan harus dipertahankan, diandalkan dan
dapat diterima.
 Maintainability (mudah dipelihara/dirawat)
 Software harus berevolusi untuk memenuhi perubahan kebutuhan
 Dependability (dapat diandalkan)
 Software harus dapat dipercaya
 Efficiency (Daya Guna)
 Efisien dalam penggunaan sumber daya sistem (memori, hardware, listrik, dll)
 Acceptability (Dapat diterima)
 Perangkat Lunak harus diterima oleh pengguna seperti yang pernah dirancang. Ini
berarti harus bisa dimengerti, digunakan dan kompatibel dengan sistem lainnya.
Ukuran Jaminan Kualitas Perangkat Lunak

• Ukuran membangun (Contructive Measures)


• Aplikasi yang konsisten pada metode di seluruh fase proses pembangunan.
• Penggunaan tools yang memadai
• Pembangunan PL pada basis kualitas yang tinggi di akhir tahapan.
• Perawatan yang konsisten pada dokumentasi pengembangan
• Ukuran Analitik (Analytical Measures)
• Analisis program yang statis
• Analisis program yang dinamis
• Pemeliharaan test case yang sistematis
• Pencatatan yang konsisten pada analisis Produk
• Ukuran Organisasi ( Organisasi Measures)
• Pengalaman pengembang (developer) dalam mempelajari strategi dan tehnik yang
tepat dalam membangun PL.
Struktur Software Komputer

 James A. O’Brien berpendapat bahwa jenis software komputer dapat


dikelompokkan menjadi dua jenis:
1. Perangkat lunak sistem (system software)
Perangkat lunak sistem terdiri dari Program untuk manajemen sistem
(System Management Program) dan Program untuk pengembangan
sistem (System Development Program).
2. Perangkat lunak Aplikasi terdiri dari program aplikasi untuk tujuan
umum (general purpose application program) dan program untuk
aplikasi khusus (Application Special Program).
Struktur Software Komputer
(Menurut James A. O’Brien)
Software
Komputer

Mengelola dan
Melakukan tugas
Software Software mendukung operasi
Mengolah Informasi sistem komputer
Aplikasi untuk End-user Sistem dan jaringan

Program Aplikasi Program untuk Program untuk Program untuk


untuk Tujuan Aplikasi Khusus Manajemen Pengembangan
Umum Sistem Sistem
-Software Suites - Bisnis – Akuntansi, -Sistem Operasi -Bahasa Program Translator
-Web Browser pengolah transaksi, -Program pengelola (compiler)
-Electronic Mail Perencanaan sumber daya jaringan -Pemrograman Editor dan
-Pengolah Kata perusahaan, perdagangan -DBMS (database Tools
-Lembar Kerja elektronik, dll management system) -Paket CASE (Computer
-Database Managers - Ilmu pengetahuan dan -Sistem Utilitas Aided Software Engineering)
-Presentasi Grafis teknik -Monitoring Unjuk kerja
-Personal Information -Pendidikan, Sistem
Manager Entertainment, dll -Monitoring Keamanan
-GroupWare
Masalah Perangkat Lunak

Masalah yang terjadi pada perangkat lunak di temukan


dalah pengembangan software :
1. Bagaimana Mengembangkan Perangkat Lunak
2. Bagaimana memelihara perangkat lunak yang ada, yang
berkembang dalam jumlah yang besar
3. Bagaimana mengimbangi permintaan PL yang semakin
besar
Masalah Perangkat Lunak

1. Estimasi jadwal dan biaya yang seringkali tidak


tepat
2. Produktivitas orang-orang
software(programmer) yang tidak dapat
mengimbangi permintaan kebutuhan software
3. Kualitas software yang kurang baik.
Penyebab Masalah Perangkat Lunak
 Karakteristik software itu sendiri
 Kegagalan mereka yang bertanggung jawab dalam pengembangan
software

Saat Tidak adanya standar


suatu proses yang
Mitos Perangkat Lunak digunakan untuk
membangun PL
Mitos Perangkat Lunak

 Software Miths (Mitos Perangkat Lunak ) adalah asumi-asumsi


permasalahan Yang kebenarannya tidak dapat di pertanggung
jawabkan.  berkaitan dengan pengembangan perangkat Lunak
 Tiga kelompok yang berkaitan dengan pengembangan PL
o Management  manajer yang bertanggung jawab terhadap
pengembangan PL
o Customer  pelanggan yang memesan PL
o Prakticioner’s  praktisi yang mengembangan PL
Mitos Manajemen

A. Dengan memeiliki buku berisi standar prosedur yang banyak untuk


pengembanagn PL, maka pekerjaan semakin lancar
Realitasnya : buku-buku ini memang lengkap, tetapi apakah digunakan ?
apakah praktisi PL sadar akan dengan keberadaannya.
apakah cocok dengan pengembangan Modern ? Apakah benar-benar lengkap
B. Untuk menghasilkan perangkat lunak yang berkualitas maka kita perlu
membeli computer terbaru
Realitasnya : untuk mendapatkan kualitas PL, CASE tools lebih penting dari
pada perangat keras.
C. Bila terlambat, maka tambahkanlah Programer
Realitasnya : penembahan programer semakin menambah keterlambatan
Mitos Pelanggan

A. Tujuan sistem secara umum, cukup untuk memulai menulis program.


Rincian belakangan saja.
Realitasnya :
 Definisi awal yang buruk adalah penyebab utama kegagalan
terhadap usaha-usaha pembentukkan software.
 Penjelasan yang formal dan terinci tentang informasi fungsi
performance interface, hambatan desain dan kriteria validasi
adalah penting. Karakteristik di atas dapat ditentukan hanya
setelah adanya komunikasi antara customer dan developer.
Mitos Pelanggan

B. Kebutuhan proyek yang terus menerus berubah dapat dengan mudah


diatasi karena software itu bersifat fleksibel. Kenyataannya
memang benar bahwa kebutuhan software berubah, tetapi dampak
dari perubahan berbeda dari waktu ke waktu.
Mitos Praktisi

A. Program selesai, Pekerjaan selesai


Realitasnya : 50% - 70% usaha di habiskan setelah program di
serahkan ke user untuk pertama kalinya.
B. Kualitas Hanya di ketahui setelah program berjalan
Realitasnya : Kualitas dapat dijaga sejak PL di kembangkan
C. Yang diserahkan ke user adalah program
Realitasnya : yang diserahkan ke user adalah program, dokumen, dan
data
Model Proses

• Sebuah representasi yang di sederhanakan dari semua proses software  di


presentasikan dari sudut pandang tertentu.
• Contoh sudut pandang Proses Proses perangkat lunak adalah
serangkaian kegiatan yang
o Work Flow,  urutan dari aktifitas
tujuannya untuk
o Data Flow,  aliran informasi mengembangkan atau evolusi
o Role/Action  Siapa Melakukan apa perangkat lunak.
• Model Proses Generik Kegiatan-kegiatan tersebut
o Aliran proses Linier adalah:
• Spesifikasi perangkat lunak
o Aliran Proses Iteratir • Pengembangan perangkat
o Aliran proses evolusioner lunak,
o Aliran Proses paralel • Validasi perangkat lunak,
• Evolusi perangkat lunak
Model Proses Generik

Penyerahan
Komunikasi Perencanaan Pemodelan Kontruksi Kepelanggan

Aliran Proses Linier

Penyerahan
Komunikasi Perencanaan Pemodelan Kontruksi Kepelanggan

Aliran Proses Iteratif


Model Proses Generik

Perencanaan Pemodelan

Komunikasi

Penyerahan ke
Kontruksi
Pelanggan
Peluncuran
Suatu Versi PL

Aliran Proses Evolusioner


Model Proses Generik

Komunikasi Perencanaan

Waktu

Pemodelan

Penyerahan ke
Kontruksi
Pelanggan

Aliran Proses Paralel


Model Proses Preskriptif

 Menyelesaikan proses yang terbengkalai pada proses pengembangan


PL
 Model proses preskriptif menetapkan satu kumpulan elemen-elemen
proses yang telah di tentukan dan satu aliran kerja proses yang dapat
diprediksikan

Model Prose Presfektif


• Model Air Terjun
• Model – V
• Model Proses Inkreamental
• Model Proses Evolusioner
Model Air Terjun

Komunikasi
Pemulaan Proyek Perencanaan
untuk mendapatkan Membuat
spesifikasi Prakiraan Pemodelan
kebutuhan pengguna penjadwalan Analisa
Pelacakam Perancangan Konstruksi
Penulian kode
program dan Penyerahan
konstruksi sistem/PL
kepengguna
Pengiriman
dukungan thd
pengguna
Umpan balik
Model Proses Air Terjun

Requir ements Definisi dan Analisa


definition Kebutuhan

System and
Desain Perangkat Luak
software design dan sistem

Implementa tion Implementasi dan Unit


and unit testing testing

Integ ration and Integrasi dan sistem


system testing Testing

Oper ationand Operasi dan


maintenance Maintenance
Masalah dalam model waterfall

 Kesulitan dalam mengakomodasi perubahan setelah proses


dilaksanakan. Satu fase harus selesai sebelum bergerak ke fase
selanjutnya.
 Model ini hanya sesuai ketika kebutuhan telah dipahami dengan
baik, dan kemungkinan perubahan yang terjadi sangat kecil pada
saat proses desain
 Sangat sedikit sistem bisnis yang memiliki kebutuhan yang stabil
 Umumnya model ini digunakan untuk proyek rekayasa sistem besar
dimana sebuah sistem dikembangkan di beberapa tempat secara
terpisah
Teknik Untuk mendapatkan
Model - V
Pengujian Oleh
Spesifikasi kebutuhan
para pengguna
pengguna

Perancangan Pengujian secara


Arsitektur sistem keseluruhan

Perancangan Pengujian setelah


kompenen unit-unit
diintegrasikan

Penulisan kode-
kode program
Pengujian unit

PL Yang dapat digunakan


oleh pengguna
Model Inkremental
Komunikasi
Versi Perangkat Lunak #n
Fungsionalitas dan Fitur Perangkat Lunak

Perencanaan

Pemodelan (analisis dan perancangan) Pengiriman Versi Perangkat


Lunak ke n
Kontruksi (penulisan kode-kode Program dan pengujian)

Penyerahan sistem/perangkat lunak ke para


pelanggan/pengguna (pengiriman, umpan balik)

Versi Perangkat Lunak #2

Pengiriman Versi Perangkat


Versi Perangkat Lunak #1 Lunak ke 2

Pengiriman Versi Perangkat


Lunak ke 1

Waktu Kalender Proyek


Model Evolusioner

• Pengembangan Eksplorasi:
• Sistem berubah dengan adanya fitur- Spesifikasi Versi Awal
fitur tambahan dari user.
• Prototype yang dapat dibuang
(Throw-Away): Penjelasan
Pengembangan Versi Menengah
• Memahami persyaratan user untuk Garis Besar
mendapatkan definisi persyaratan yang
lebih baik.

Validasi Versi Akhir


Model Evolusioner

• Sering terjadi customer


menjabarkan objektif umum
mengenai software yang
diminta, tetapi tidak bisa
mendefinisakan input, proses,
output yang diminta secara
detail. pendekatan
• Disisi lain, developer menjadi Prototype
tidak yakin terhadap efisiensi
algoritma, kemampuan
adaptasi terhadap sistem
operasi, atau bentuk interaksi
mesin dengan orang.

Model Prototipe
Model Evolusioner
Kelebihan :
• Sangat mempertimbangkan resiko kemungkinan
munculnya kesalahan sehingga sangat dapat Model Spiral
diandalkan untuk pengembangan perangkat lunak
skala besar. Kekurangan :
• Pendekatan model ini dilakukan melalui tahapan- • Waktu yang dibutuhkan untuk
tahapan yang sangat baik dengan menggabungkan mengembangkan perangkat lunak cukup
model waterfall ditambah dengan pengulangan- panjang demikian juga biaya yang besar.
pengulangan sehingga lebih realistis untuk • Sangat tergantung kepada tenaga ahli yang
mencerminkan keadaan sebenarnya dapat memperkirakan resiko.
• Baik pengembang maupun pemakai dapat cepat • Terdapat pula kesulitan untuk mengontrol
mengetahui letak kekurangan dan kesalahan dari proses.
sistem karena proses-prosesnya dapat diamati • Meyakinkan konsumen (khusunya dalam
dengan baik situasi kontrak) bahwa pendekatan
evolusioner bisa dikontrol.
Fase Utama Persyaratan Perangkat Lunak

• Studi Kelayakan
• Elisitasi dan Analisis Persyaratan
• Spesifikasi Persyaratan
• Validasi Persyaratan
Spesifikasi Persyaratan Perangkat Lunak
Elisitasi dan
Studi
Analisis
Kelayakan
Persyaratan

Spesifikasi
Persyaratan

Validasi
Laporan
Model Sistem Persyaratan
Kelayakan

Persyaratan
User dan Sistem

Dokumen
Persyaratan
Kegiatan Perancangan Perangkat Lunak

• Perancangan Arsitektural
• Spesifikasi Abstrak
• Perancangan Interface
• Perancangan Komponen
• Perancangan Struktur Data
• Perancangan Algoritma
Perancangan dan Implementasi
Perangkat Lunak
Spesifikasi Perancangan Arsitektur
Persyaratan Arsitektural Sistem

Spesifikasi Spesifikasi
Abstrak Perangkat Lunak

Perancangan Spesifikasi
Interface Interface

Perancangan Spesifikasi
Komponen Komponen

Perancangan Spesifikasi
Struktur Data Struktur data

Perancangan Spesifikasi
Algoritma Algoritma
Validasi Perangkat Lunak

Pengujian
Unit

Pengujian
Modul

Pengujian
Sub Sistem

Pengujian
Sistem 1

Pengujian
Sistem 2
Pengujian
Pengujian Integrasi Pengujian User
Komponen
Evolusi Perangkat Lunak

Definisi Pengajuan
Nilai Sistem Modifikasi
Persyaratan Perubahan
Yang Ada Sistem
Sistem Sistem

Sistem Sistem
Yang Ada Baru
Pemodelan Perangkat Lunak

 Pemodelan dan analisa dapat dianggap sebagai akar konsep dari semua
displin teknik karena keutamaannya dalam mendokumentasikan dan
mengevaluasi alternatif serta pilihan desain.
 Pemodelan dilakukan pada awal analisa, spesifikasi dan validasi
persyaratan.
 Persyaratan yang dimaksud adalah semua kebutuhan pengguna,
kustomer dan stakeholder yang harus dipenuhi oleh sistem.
 Dalam pembuatan persyaratan melibatkan :
 Analisa studi kelayakan dari sistem yang akan dibuat,
 Memperoleh dan menganalisa kebutuhan dari stakeholder
 Pembuatan gambaran yang akurat terhadap sistem tentang apa yang harus dilakukan
sistem dan apa yang tidak.
 Validasi terhadap dokumen atau spesifikasi oleh stakeholder
Types of Models

 Information modeling (e.g. entity-relationship modeling, class diagrams,


etc.)
 Behavioral modeling (e.g. structured analysis, state diagrams, use case
analysis, interaction diagrams, failure modes and effects analysis, fault
tree analysis etc.)
 Structure modeling (e.g. architectural, etc.)
 Domain modeling (e.g. domain engineering approaches, etc.)
 Functional modeling (e.g. component diagrams, etc.)
 Enterprise modeling (e.g. business processes, organizations, goals, etc.)
 Modeling embedded systems (e.g. real-time schedulability analysis,
external interface analysis, etc.)
Modeling CASE Tool

• Rational Rose  UML


• PowerDesigner  Data Modeling
Rangkuman

 PL adalah eleman kunci dan evolusi sistem dan produk


berbasis computer dan salah satu teknologi terpenting
 PL  program, data, dan informasi deskriptif 
menunjukan beragam area teknologi dan aplikasi.
 Sistem dan aplikasi berbasis web telah berevolusi dari
kumpulan sederhana dari isi informasi  sistem yang
canggih “menyajikan fungsional, multimedia dll”
Tugas

1. Jelaskan Definisi atau pengertian dari istilah-istilah sebagai berikut :


a. Perangkat Lunak
b. Sistem
c. Aplikasi
d. Rekayasa Perangkat Lunak
e. Software engineer
f. Software developer
g. Social IT
2. Apakah proses perangkat lunak indentik dengan proses produksi pada pabrik/manufaktur
pembuatan mobil ? Jelaskan Alasannya !
3. Mengapa ada tahapan dilakukan dalam rekayasa perangkat lunak
4. Mengapa rekayasa perangkat lunak sebaiknya fokus pada pelanggan atau pengguna ?
5. Jelaskan dengan benar dan jelas apa yang dimaksud dengen model proses ?
Terima Kasih

Anda mungkin juga menyukai