You are on page 1of 25

Analisis dan Perancangan Perangkat

Lunak
Pertemuan 2

Oleh : Nurul Hayaty


System Software :
• Kumpulan program yang ditulis untuk melayani program-program lain dan
berinteraksi kuat dengan hardware.
• Compilers/interpreter, editors, dan file management utilities.
• Operating system components, driver, networking software.

Sifat system software:


• Beriteraksi dg berbagai hardware
• Memiliki operasi2 yg secara bersamaan menuntut penjadwalan
• Berbagi sumber daya yg sama
• Melakukan pengaturan pemrosessan yg rumit & struktur data yg kompleks

Domain aplikasi perangkat lunak


Application software
• Program stand-alone untuk menyelesaikan kebutuhan bisnis yang spesifik.
• POS (point of sale) / transaction processing

Embedded software
• Software yang menempel di dalam produk atau sistem untuk digunakan
mengontrol sistem.
• Terdapat pada produk-produk seperti microwave, photo copy, mesin cuci,
otomotif, dsb.
• Software memiliki tugas khusus dan terbatas yang tersimpan pada ROM
Product-line software
• Dirancang untuk keperluan khusus, atau untuk pasar terbatas/massal
• Untuk pasar terbatas : inventory control
• Untuk pasar massal : word processing, computer graphics, multimedia,
database management, aplikasi finansial, dsb

Scientific software
• Memiliki algoritma yang penuh dengan kalkulasi data numerik.
• Contoh, untuk kebutuhan astronomi hingga tekanan pada otomotif.
Web application software (WebApps)
• Network centric software yang dikembangkan dalam lingkungan komputasi
yang canggih yg tidak hanya menyediakan fitur stand-alone, fungsi
komputasi, tetapi juga terintegrasi dengan database perusahaan dan aplikasi
lain.
• SIPA, SimPeg.
Artificial Intelligent Software
• Software yang menggunakan algoritma nonnumeric untuk menyelesaikan
permasalahan yang kompleks dan tidak mengikuti komputasi atau algoritma
permasalahan secara langsung.
• Robotik, sistem pakar, pengenalan pola

Note
“Tidak ada komputer yang memiliki segala
sesuatu didalamnya yang bersifat umum”.

Marvin Minsky
• Powell menyatakan bahwa webapps pada dasarnya
“menyertakan campuran antara penerbitan media cetak & pengembangan
perangkat lunak, antara pemasaran dan komputasi, antara komunikasi internal
dan hubungan eksternal, antara seni dan teknologi”.

sifat-sifat yg ditemui pada sebagian besar webapps:


1. Kepadatan jaringan; akses & komunikasi secara global (internet) maupun
yg lebih terbatas (intranet).
2. Symultaneity; keserempakan dalam pengaksesan.
3. Jumlah pengguna yang tidak dapat diprediksi

KARAKTERISTIK KHAS DARI WEBAPSS


sifat-sifat yg ditemui pada sebagian besar webapps (lanjutan):
4. Kinerja yg mumpuni.
5. Ketersediaan.
6. Digerakkan oleh data; Webapps lazim digunakan untuk mengakses
informasi didalam sistem basis data yg bukan merupakan bagian internal dari
lingkungan berbasis web (contoh: e-commerce atau aplikasi2 keuangan).
7. Keamanan; multi-user, banyak pengguna sehingga dituntut untuk bisa terus
menjaga informasi dan kerahasiaan data.
8. Estetika.

KARAKTERISTIK KHAS DARI WEBAPSS


Perangkat Lunak ?
• Satu bidang profesi yg mendalami cara-cara pengembangan PL termasuk
pembuatan,pemeiliharaan, manajemen organisasi pengembangan PL, dsb
(Simarmata).

Rekayasa Perangkat Lunak ?


• aplikasi dari suatu pendekatan yang sistematik, disiplin, dan dapat diukur pada
pengembangan, operasi dan perawatan perangkat lunak
• Ilmu yg mempelajari semua aspek produksi perangkat lunak (O’Brien)

Review
Tahun 2004, istilah RPL secara umum digunakan dalam 3 arti:

• Istilah umum untuk berbagai kegiatan yg dulunya bernama


pemrograman atau analisis sistem.
• Istilah yang luas untuk analisis teknis dari semua aspek2 praktis yg
bertentangan dg teori pemrograman & komputer
• Istilah yg mewujudkan advokasi suatu pendekatan spesifik ke
pemrograman komputer.
Lapisan-lapisan rekayasa perangkat lunak:

 Berkomitmen pada peningkatan kualitas.


 Lapisan proses memungkinkan pengembangan Tools
perangkat lunak yg rasional dan tepat waktu
 Metode2 RPL menyajikan prosedur teknik untuk
mengembangkan/ membangun PL
Metode
 Tools RPL menyajikan dukungan bagi proses dan
metode2. Proses

Fokus pada kualitas


• Suatu proses sesungguhnya merupakan sekumpulan aktivitas,
aksi, dan tugas yang dijalankan ketika suatu produk kerja harus
dibuat.
• Suatu aktivitas pada dasarnya berupaya mencapai tujuan umum
dan diterapkan tanpa memperhatikan ranah aplikasi, ukuran
proyek.
• Suatu aksi mencakup didalamnya sederetan tugas-tugas yang
menghasilkan suatu produk kerja utama.
• Suatu tugas pada dasarnya berkonsentrasi pada sebuah tujuan yang
kecil namun terdefinisi dengan baik yang memberikan hasil2 yang
bersifat nyata.

Proses perangkat lunak


1. Komunikasi. Sebelum pekerjaan teknis apapun dapat dimulai, sangatlah
penting untuk berkomunikasi dan berkolaborasi dengan pelanggan dan para
pemangku kepentingan (stakeholder) yg lain.
2. Perencanaan. Alur yang rumit dapat disederhankan dengan pemetaan.
3. Pemodelan. Bertujuan untuk memahami akan gambaran besar yg akan
dibangun.
4. Konstruksi. Menggabungkan kegiatan kode dan pengujian.
5. Penyerahan perangkat lunak ke pelanggan (deployment).

Kerangka kerja proses


Praktik Rekayasa Perangkat
Lunak
Menurut George Poyla, esensi praktik PL:
• Pahami permasalahannya  komunikasi dan analisa
• Rancang solusinya  pemodelan & rancangan PL
• Laksanakan rancangannya  pengaktifan kegiatan penulisan code
• Periksa ketepatan hasilnya  pengujian dan penjaminan kualitas

Esensi praktik
Pahami permasalahannya.
Dengan menjawab beberapa pertanyaan sederhana berikut:

1. “Siapa saja yg terkait dalam pemecahan masalah?”

2. “Apa saja yg tidak diketahui?

3. “Dapatkah masalah dikategorikan?”

4. “Dapatkah masalah terwakili secara grafis?”


Rancang solusinya.
1. Pernahkah menemui masalah yg serupa sebelumnya?
2. Pernahkan masalah yg serupa dipecahkan?
3. Dapatkah submasalah didefinisikan?
4. Dapatkah Anda mengajukan suatu solusi sedemikian rupa sehingga
menghasilkan implementasi yg efektif?
Laksanakan rancangannya.
• Apakah solusinya cocok dengan rencananya?
• Apakah masing-masing komponen solusi terbukti tepat?

Periksa hasilnya.
• Mungkinkah kita mnegjui setiap komponen solusi?
• Apakah solusi menghasilkan sesuatu yg cocok dengan data, fungsi, dan
fitur yg dibutuhkan?
• Prinsip  “suatu hukum yg mendasar dan penting atau sejumlah
asumsi yg dibutuhkan dalam suatu sistem pemikiran”

• Terdapat 7 prinsip pd praktik RPL yg umum menurut Davis Hooker.

Prinsip-prinsip Umum
Prinsip pertama: Alasan keberadaan perangkat lunak
• PL ada karena 1 alasan : “Memberikan nilai tertentu pada penggunanya”.
• Sebelum menambah rincian, tanyakan hal berikut: “Apakah rincian yg
ditambahkan akan menambah nilai riil pd sistem?”

Prinsip kedua : Be simple!


• Seluruh rancangan pada dasarnya harus sesederhana mungkin
• Hal tersebut mendukung terbentuknya sistem yg lebih mudah dipahami dan
dirawat.
• Cenderung memiliki kesalahan yang kecil / sedikit
Prinsip ketiga: Pertahankan Visi
• Visi yg jelas penting bagi kesuksesan suatu proyek PL.
• Tanpa integritas konseptual, suatu PL terancam menjadi suatu hasil tambal
sulam dr rancangan2 yg tidak cocok satu sama lain (terkait SDM-nya).
• Sehingga “merusak” keseluruhan sistem.

Prinsip keempat: Apa yang Anda buat, akan digunakan oleh


konsumen
• Selalu lakukan spesifikasi! Lakukan perancangan, dan pastikan selalu apakah
orang lain akan memahami apa yg Anda lakukan.
Prinsip kelima: Membuka diri terhadap masa depan
• PL yg berumur panjang, siap dengan “perubahan”.
• Memiliki nilai lebih dimata pengguna

Prinsip keenam : Rancanglah selangkah ke depan sehingga dapat


digunakan kembali
• Reuse pd dasarnya menghemat waktu dan tenaga.
• Namun sulit untuk dilakukan, diperlukan pemikiran dan pematangan perancangan

Prinsip ketujuh: Think!


• Prinsip ini sering diabaikan
• Memposisikan pikiran yang jelas dan tekad yg bulat sebelum bertindak, hampir
selalu membuahkan hasil yg lebih baik.
Note

“Baik kualitas maupun kemudahan


pemeliharaan merupakan hasil dari perancangan
yang baik”.

Roger S. Pressman
• Berikan sejumlah contoh (baik positif maupun negatif) yang menunjukkan
dampak perangkat lunak pada masyarakat kita.

• Berikan pendapat Anda tentang tantangan utama pada pengembangan


perangkat lunak saat ini.

quis
• Observasi suatu permasalahan terkait proses bisnis yang sering Anda temui,
untuk dijadikan topik atau judul dalam pembuatan dokumen Perangkat Lunak
(Software Requirement Spesification [SRS]). contoh : prediksi curah hujan,
gojek-online, dsb.

• Buatlah uraian singkat dan skenario mengenai topik atau judul tersebut.
Tentukan stakeholder.

Diskusi

You might also like