138
REKAYASA PERANGKAT LUNAK FAJRIYAH, S.KOM., M.KOM. STMIK PRABUMULIH

REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

  • Upload
    others

  • View
    109

  • Download
    12

Embed Size (px)

Citation preview

Page 1: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

REKAYASAPERANGKATLUNAK

FAJRIYAH, S.KOM., M.KOM.STMIK PRABUMULIH

Page 2: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

REKAYASA

PERANGKAT

LUNAK

Page 3: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu

proses yang disebut rekayasa sistem.

Rekayasa sistem memfokuskan diri pada berbagai elemen, analisis, perancangan, dan pengorganisasian elemen-elemen tersebut ke dalamsuatu sistem yang dapat menjadi sebuah produk, jasa, atau teknologiuntuk mentransformasi informasi atau kontrol.

Proses rekayasa sistem disebut rekayasa informasi bila konteks kerjarekayasa berfokus pada perusahaan bisnis. Pada saat produk akandibuat, proses itu disebut rekayasa produk.

Page 4: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Rekayasa Sistem (2)

Rekayasa informasi bertujuan menentukan arsitektur yang memungkinkan suatu bisnis menggunakan informasi secara efektif.

Rekayasa informasi menghasilkan suatu rencana menyeluruh gunamengimplementasikan arsitektur- arsitektur berikut :

¤ arsitektur data

¤ arsitektur aplikasi

¤ infrastruktur teknologi,

menyangkut HW dan SW untuk mendukung aplikasi dan data

Page 5: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Rekayasa Sistem (3)

Rekayasa produk dimaksudkan untukmenterjemahkan keinginan pelanggan denganserangkaian kemampuan yang terbatas kedalam produk yang dapat bekerja (operasional).

Page 6: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Lingkup Proyek Perangkat Lunak

¤ Pengembangan perangkat lunak

¤ Pengembangan perangkat lunak, danpengadaan perangkat keras

¤ Pembenahan sistem prosedur, danpengembangan perangkat lunak

¤ Pembenahan sistem prosedur, pengembangan perangkat lunak danpengadaan perangkat keras

Page 7: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Rekayasa Perangkat Lunak.. Apa

sih ??

• Inti yang akan dipelajari di RPL adalah

Mempelajari teknik-teknik dan tools yang digunakandalam pembangunan perangkat lunak

Mata kuliah yang mendasari penguatan pemahaman dalambelajar RPL :

– IMK

– Konsep pemrograman

– Algoritma pemrograman

– Basisdata

Page 8: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Definisi Perangkat Lunak

IEEE-Standar Glossary of Software Engineering Terminology, 1990:

(Institute of Electrical and Electronic Engineering )

• Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system.

• Terjemahan bebasnya:

Perangkat lunak merupakan kumpulan dari berbagai item (program, prosedur, dan dokumen data yang saling terkait) yang merepresentasikan masalah di dunia nyata yang dikonfigurasikan dalam satu bentuk aplikasi yang harusdikerjakan komputer.

Page 9: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Produk Perangkat Lunak (1)

• Perangkat lunak tidak sama dengan produkperangkat keras

• Produk perangkat lunak dikembangkan (developed)atau direkayasa (engineered) Tidak dipabrikkanseperti pabrik perangkat keras, misal komputer,mobil.

• Perangkat lunak secara pemakaian tidak pernahaus/usang layaknya suku cadang perangkat keras

Page 10: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Produk Perangkat Lunak (2)

Perangkat lunak sebagian besar dikembangkan/dibangunberdasarkan pemesanan hanya sebagian kecil yang dibuatsecara paket

Bentuk produk perangkat lunak

Umum/generik

Dibuat untuk keperluan yang luas dan tidak berdasarkanpada permintaan pihak tertentu.

Pesanan/custome/by tailor

Dibuat spesifik sesuai sistem yang dibutuhkan olehpemesan

Page 11: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Produk Perangkat Lunak (3)

• Karakteristik perangkat lunak yang baik:

- Mempunyai daya guna yang tinggi (usability)

- Mempunyai kinerja sesuai fungsi yang dibutuhkan pemakai

- Mampu diandalkan (be reliable)

- Mudah dirawat/diperbaiki (maintenability)

- Lebih efisien

- Mempunyai antarmuka yang menarik (eye cathcing user interface)

- Mempunyai siklus hidup yang cukup lama (long life time)

Page 12: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Jenis-jenis Aplikasi PL (1)

• Perangkat lunak sistemSekumpulan program yang ditulis untuk melayani program-program lain

Misal: sistem operasi, driver, kompilator, interpreter, utility, dll

• Perangkat lunak waktu nyata (realtime)Perangkat lunak yang berfungsi untuk memonitor, menganalisis, mengontrol dan memberikan laporan tentang kejadian dunianyata dan meresponnya dalam waktu kurang dari 1 menit.

Misal: pengontrol arus udara, pengontrol reaksi nuklir,dll

Page 13: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Jenis-jenis Aplikasi PL (2)

• Perangkat lunak teknik dan ilmu pengetahuan

(scientific & engineering software)

Perangkat lunak yang menangani bidang teknik dan ilmupengetahuan secara rinci

Misal: simulasi, astronomi, vulkanologi, analisis otomatif, dinamika orbit pesawat ruang angkasa, biologi molekuler, otomasi pabrik, dll

• Embeded system

Perangkat lunak yg ditempelkan/dilekatkan padaperangkat lainnya (lunak/keras).

Misal: pada kamera digital, GPS, automobil, microwave, kulkas cerdas, dll

Page 14: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Jenis-jenis Aplikasi PL (3)

• Perangkat lunak pengolah data (data processing)

Perangkat lunak yang khusus digunakan untuk mengolahdata dan menghasilkan suatu keputusan tertentu.

Misal: billing telepon, pengolah statistik

• Perangkat lunak sistem informasi (information system)

Perangkat lunak yang mampu memberi informasi darisuatu sistem secara lebih detail.

Misal: web site, perpustakaan digital, dll

Page 15: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Jenis-jenis Aplikasi PL (4)

• Perangkat lunak sensorPerangkat lunak yang mampu mengukur dan mengatursuatu keadaan khusus, kadang digolongkan dalamembedded system juga.

Misal: pengatur cuaca, pengatur suhu ruangan, dll

• Perangkat lunak komunikasi(communication software)Perangkat lunak yang berfungsi untuk menghubungkanatau mengkomunikasikan suatu objek satu dengan lainnya.

Misal: router, handphone, dll

Page 16: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Jenis-jenis Aplikasi PL (5)

• Perangkat lunak kantor (offices)Perangkat lunak yang dirancang untuk membantutugas-tugas perkantoran.Misal: word processing, spreedsheet processing, video conferences, dll

• Perangkat lunak pengolah grafisPerangkat lunak yang digunakan untuk melakukanperancangan grafisMisal: pembuatan film, pembuatan poster

Page 17: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Jenis-jenis Aplikasi PL (6)

Perangkat lunak kecerdasanPerangkat lunak yang menggunakan algoritmauntuk memecahkan masalah kompleks yang tidak sesuai untuk perhitungan atau analisissecara langsung

Misal: sistem pakar, game strategi, jaringansaraf tiruan, dll

Page 18: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Evolusi Perangkat Lunak (1)

• Perangkat lunak telah semakin berkembang sejakpertama kali diciptakan tahun 1945

• Fokus utama pembuatannya

Untuk mengembangkan praktik dan teknologidalam meningkatkan produktivitas para praktisipengembang PL dan kualitas aplikasi yg dapatdigunakan oleh pemakai

• Evolusi dipicu adanya tuntutan bisnis danlingkungan kerja yang berkembang sangat dinamis

Page 19: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Evolusi Perangkat Lunak (2)

• Era I (1945 – 1960):- Munculnya teknologi perangkat keras di tahapawal- Penggunaan perangkat lunak yg berorientasi batch- Distribusi perangkat lunak masih terbatas- Didominasi perangkat lunak model custome- Munculnya istilah software engineering (akhir1950- an/awal 1960-an)- Belum didefinisikan secara jelas tentang aspeksoftware engineering

Page 20: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Evolusi Perangkat Lunak (3)

• Era II (1960 – 1970)

- Disebut era krisis perangkat lunak (software crisis).

- Penggunaan perangkat lunak sudah meluas

- Telah hadir perusahaan yang membangun software (software house)

- Perangkat lunak sdh mengenal multiprogram, multiuser, real-time, dan penggunaan database.

- Banyak project PL yg gagal:

- Over budget/anggaran

- Meledaknya Roket Ariane kesalahan perintah dlm PL

Dua konferensi tentang software engineering:

- Disponsori Komite Sains NATO

- Tahun 1968 dan 1969

- Profesi resmi bidang software engineering

Page 21: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Evolusi Perangkat Lunak (4)

Era III (1975 – 1985)

- Pengembangan sistem mengarah ke konsepsistem terdistribusi.

- Penerapan sistem embeded intelligence

- Harga perangkat keras sudah jauh lebihmurah sehingga pemakaian meluas

- Pemanfaatan jaringan global dan lokal sertasudah diperkenalkan komunikasi digital

Page 22: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Evolusi Perangkat Lunak (5)

Era IV (1985 – 2000)- Kemampuan PC sudah setara dengan komputer

mainframe

- Penerapan teknologi yang berorientasi padaobjek

- Implementasi sistem pakar,

- Jaringan saraf tiruan

- Komputasi paralel

- Jaringan komputer sudah semakin canggih

Page 23: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Evolusi Perangkat Lunak (6)

• Era V (2000 – sekarang)- Penggunaan media digital- Media web berkembang pesat- Wireless sudah meluas- Teknologi meluas hingga di mobile computing, mobile programming- Perangkat keras sudah semakin kecil namunpowerfull- Dilakukan berbagai penelitian yang menghasilkan model proses/paradigmapengembangan PL utk mengatasi krisis PL

Page 24: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Era V (2000 – sekarang)

- Muncul teknik-teknik baru:

- Pemrograman terstruktur

- Pemrograman berientasi objek

- Perangkat bantu pengembangan (CASE tools)

- Standarisasi PL

- Metode UML

Page 25: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Perangkat Lunak adalah suatu aplikasi program komputeryang di dalamnya terdapat: program itu sendiri, konfigurasi yang digunakan, dokumentasi yang menjelaskan struktur sistem, dokumentasi yang menjelaskan bagaimana menggunakan

sistem, dan informasi tentang versi terbaru

Produk Perangkat Lunak dikembangkan sesuai dengansiapa pemakai perangkat lunak tersebut.

Produk Perangkat lunak dibagi menjadi: Produk Generik, yang dijual pada pasar terbuka Produk Spesifik, yang dibuat dan dijual sesuai pesanan dari

pemakai.

Definisi Perangkat Lunak

Page 26: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Software is developed or engineered, not manufactured

Software doesn’t “wear out”

Most software are custom built, not assembled from existing component

Karateristik Perangkat Lunak

Page 27: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Tidak memiliki waktu yang cukup dalam mengumpulkan data pada proses pembuatan perangkat lunak.

Ketidakpuasan user pada S/W yang dibuat

Kualitas S/W terkadang meragukan.

Sulit dalam memaintenance S/W sekarang

Problem dalam Pembuatan

Perangkat Lunak

Page 28: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Perangkat Lunak Berdasarkan Pemakai Generik: Perangkat lunak yang bisa digunakan

secara umum Spesifik: Perangkat lunak yang dibuat

berdasarkan pesanan

Perangkat Lunak Berdasarkan Fungsional Interfacing Operating System Perangkat Lunak Aplikasi CASE Tools

Macam-Macam Perangkat

Lunak

Page 29: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Generik: Perangkat lunak yang digunakan secara umum. Sebagai contoh: Operating System, seperti Microsoft Windows, Word Processing, seperti Microsoft Word, WordPad Spreadsheet, seperti Microsoft Excell Beberapa aplikasi khusus bisa dibuat menjadi generik dengan

membuatnya general dan mudah digunakan siapa saja sepertiaplikasi akuntansi, aplikasi sekolah, dan lain-lain

Spesifik: Perangkat lunak yang dibuat berdasarkanpesanan. Banyak Software House yang menghasilkanperangkat lunak ini berdasarkan proyek/pesanantertentu. Sebagai contoh: Aplikasi Rumah Sakit, AplikasiPendidikan, Aplikasi Kesehatan, dan lain-lain

Perangkat Lunak

Berdasarkan Pemakai

Page 30: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

INTERFACING: Perangkat lunak inimenghubungkan suatu perangkat kerastertentu, seperti hardware driver, interfaces dengan perangkat keras lain. Misal: Driver untuk Kamera, Handphone atau perangkat

keras lainnya

Program interface seperti Sensor Suhu denganLM555, PPI 8255, Komunikasi Serial RS232.

Perangkat Lunak

Berdasarkan Fungsionalnya

Page 31: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

OPERATING SYSTEM: Perangkat lunak yang menjalankan sistem komputer danmerupakan interface dari sistem komputerdan program aplikasi yang berjalandiatasnya.

Beberapa OS yang dikenal secara luas: Microsoft Windows Linux dan varians-nya, seperti Redhat, SuSE,

Mandrake, Debian, dsb. Unix FreeBSD Macintosh (Apple)

Perangkat Lunak

Berdasarkan Fungsionalnya

Page 32: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

PROGRAM APLIKASI: program inidigunakan untuk keperluan tertentu, yang tujuannya membantu pekerjaan manusiamenjadi lebih mudah. Program ini yang banyak dibahas dalam pembuatanperangkat lunak.

Program Aplikasi ini tergantung padakebutuhan dari program itu sendiri, seperti: Program Office Program Graphics Design Program Multimedia dan lain-lain

Perangkat Lunak

Berdasarkan Fungsionalnya

Page 33: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Perangkat lunak harus memberikan bantuandalam merepresentasikan dan mengakses file-file eksternal yang dibuat dengan alat bantu lain.

Persyaratan Fungsional dan Non-Fungsional

Persyaratan User

Persyaratan Sistem

Dokumentasi Persyaratan Perangkat Lunak

Persyaratan Perangkat Lunak

Page 34: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Persyaratan Fungsional: Pernyataan layanantentang bagaimana sistem harus bereaksiterhadap input, sistem harus berlaku padasituasi-situasi tertentu. Secara khususmenyatakan apa yang tidak boleh dilakukansistem.

Persyaratan Non Fungsional: Pernyataantentang batasan layanan dan fungsi yang diberikan sistem.

Persyaratan Domain: Persyaratan yang datang dari domain aplikasi sistem danmerefleksikan karakteristik domain tersebut

Persyaratan Fungsional dan

Non-Fungsional

Page 35: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Persyaratan Produk: persyaratan yang diambil dari spesifikasi produk, sepertipersyaratan hardware untuk mendukungkinerja.

Persyaratan Organisasi: persyaratan yang berasal dari kebijakan dan prosedur padaorganisasi.

Persyaratan Eksternal: Persyaratan yang berasal dari faktor eksternal terhadap sistemdan proses pengembangannya.

Persyaratan Non Fungsional

Page 36: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Kecepatan dalam: Transaksi yang diproses/detik, waktu tanggal user/event atau waktu refresh layar

Ukuran dalam: KB atau jumlah Chip RAM Kemudahan penggunaan dalam: waktu pelatihan

atau jumlah frame help Kehandalan dalam: waktu rata-rata kegagalan,

probabilitas ketidaksediaan, kecepatan terjadinyakegagalan, atau ketersediaan

Ketahanan dalam: waktu start ulang setelahkegagalan, prosentase event yang gagal, atauprobabilitas korupsi data

Portabilitas dalam: prosentase pernyataantergantung target, atau jumlah sistem target

Ukuran Persyaratan Non

Fungsional

Page 37: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Mendeskripsikan persyaratan fungsional dannon-fungsional sehingga dapat dipahami olehuser yang tidak memiliki pengetahuan teknik.

Persyaratan user harus ditulis memakai bahasanatural, formal dan diagram intuitif yang sederhana. Persyaratan user tidak bolehdidefinisikan memakai model implementasi.

Masalah yang sering muncul: Tidak Adanya Kejelasan

Kesimpang-siuran Persyaratan

Penggabungan Persyaratan

Persyaratan User

Page 38: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Persyaratan sistem ini lebih rinci daripersyaratan user, dan berfungsi sebagai dasarkontrak untuk implementasi sistem.

Persyaratan sistem ini digunakan sebagai titikawal perancangan sistem.

Bahasa natural banyak digunakan dalammendefinisikan persyaratan sistem

Persyaratan Sistem

Page 39: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Rekayasa Perangkat

Lunak

Page 40: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Rekayasa Perangkat Lunak adalah disiplin ilmuyang membahas semua aspek produksiperangkat lunak, mulai tahap awal spesifikasisistem sampai pemeliharaan sistem setelahdigunakan.

Perekayasa Perangkat Lunak memakaipendekatan yang sistematis dan terorganisiruntuk menghasilkan perangkat lunakberkualitas tinggi.

Definisi Rekayasa

Perangkat Lunak

Page 41: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Meningkatkan keakuratan, performance & efficiency produk secara keseluruhan dalampengembangan

Menerapkan metodologi yang terdefinisidengan baik untuk resolusi software

Tujuan Rekayasa Perangkat

Lunak

Page 42: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Ilmu Komputer berhubungan dengan teori danmetode yang mendasari sistem komputer danperangkat lunak. Teori ini merupakan suatu model fisik dan analitik untuk menyelesaikan kasus yang spesifik.

Rekayasa Perangkat Lunak berhubungan denganmasalah-masalah praktis untuk menghasilkan suatuperangkat lunak. Pendekatan dilakukan denganmodel bisnis dan strategi bisnis suatu perangkatlunak.

Perbedaan Rekayasa Perangkat

Lunak dan Ilmu Komputer

Page 43: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Rekayasa Sistem berhubungan dengan semuaaspek pengembangan sistem berbasiskomputer, termasuk perangkat keras, perangkatlunak dan rekayasa proses.

Rekayasa Perangkat Lunak adalah bagian dariRekayasa Sistem

Perbedaan Rekayasa Perangkat

Lunak dan Rekayasa Sistem

Page 44: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Proses perangkat lunak adalah serangkaiankegiatan yang tujuannya untukmengembangkan atau evolusi perangkat lunak.

Kegiatan-kegiatan tersebut adalah:

Spesifikasi perangkat lunak,

Pengembangan perangkat lunak,

Validasi perangkat lunak,

Evolusi perangkat lunak

Proses Perangkat Lunak

Page 45: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Model proses perangkat lunak adalahrepresentasi yang disederhanakan dariproses perangkat lunak yang dipresentasikan dari sudut pandangtertentu

Paradigma pengembangan model sistem : Waterfall Development Model Evolutionary Development Model Spiral Development Model Incremental Development Model

Model Pengembangan Sistem

Page 46: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Waterfall Development Model

Page 47: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Development activities are performed in sequential order, with possibly minor overlap, and minimal or no iteration between activities.

User needs are determined, requirements are defined, and the full system is designed, built, and tested for ultimate delivery at one point in time. Some people refer to this as a stage-wise model.

Pendekatan Waterfall Model

Page 48: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Pengembangan Eksplorasi:

Sistem berubah dengan adanya fitur-fiturtambahan dari user.

Prototype yang dapat dibuang (Throw-Away):

Memahami persyaratan user untuk mendapatkandefinisi persyaratan yang lebih baik.

Evolutionary Development

Model

Page 49: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Evolutionary Development

Model

Penjelasan

Garis Besar

Spesifikasi

Pengembangan

Validasi

Versi Awal

Versi Menengah

Versi Akhir

Page 50: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Masalah-masalah dalam PengembanganEvolusioner Proses tidak dapat dilihat

Sistem seringkali mempunyai struktur yang tidakbaik

Mungkin diperlukan alat bantu khusus

Model pengembangan evolusioner inicocok untuk aplikasi yang kecil dan life-cycle yang pendek.

Evolutionary Development

Model

Page 51: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Spiral Development Model

Page 52: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Spiral Model Description

The development spiral consists of four quadrants

Quadrant 1: Determine objectives, alternatives, and constraints.

Quadrant 2: Evaluate alternatives, identify, resolve risks.

Quadrant 3: Develop, verify, next-level product.

Quadrant 4: Plan next phases.

Spiral Development Model

Page 53: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Incremental Development Model

Page 54: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Proses perangkat lunak dibagi menjadiserangkaian increment yang dikembangkansecara bergantian.

Keuntungan Pengembangan Incremental User tidak perlu menunggu seluruh sistem dikirimkan,

karena increment pertama mempunyai persyaratan kritisdan perangkat lunak segera dapat digunakan.

User dapat memakai increment pertama sebagaiprototype

Resiko kegagalan proyek secara keseluruhan lebih rendah Pengujian paling ketat diberlakukan pada increment

pertama.

Incremental Development

Model

Page 55: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Studi Kelayakan

Elisitasi dan Analisis Persyaratan

Spesifikasi Persyaratan

Validasi Persyaratan

Fase Utama Persyaratan

Perangkat Lunak

Page 56: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Spesifikasi Persyaratan Perangkat Lunak

Studi

Kelayakan

Elisitasi dan

Analisis

Persyaratan

Spesifikasi

Persyaratan

Validasi

PersyaratanLaporan

KelayakanModel Sistem

Persyaratan

User dan Sistem

Dokumen

Persyaratan

Page 57: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Perancangan Arsitektural

Spesifikasi Abstrak

Perancangan Interface

Perancangan Komponen

Perancangan Struktur Data

Perancangan Algoritma

Kegiatan Perancangan

Perangkat Lunak

Page 58: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Perancangan dan ImplementasiPerangkat Lunak

SpesifikasiPersyaratan

PerancanganArsitektural

SpesifikasiAbstrak

PerancanganInterface

PerancanganKomponen

PerancanganStruktur Data

PerancanganAlgoritma

ArsitekturSistem

SpesifikasiPerangkat Lunak

SpesifikasiInterface

SpesifikasiKomponen

SpesifikasiStruktur data

SpesifikasiAlgoritma

Page 59: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Validasi Perangkat LunakPengujian

Unit

Pengujian

Modul

Pengujian

Sub Sistem

Pengujian

Sistem 1

Pengujian

Sistem 2

PengujianKomponen

Pengujian Integrasi Pengujian User

Page 60: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Evolusi Perangkat Lunak

Definisi

Persyaratan

Sistem

Nilai Sistem

Yang Ada

Pengajuan

Perubahan

Sistem

Modifikasi

Sistem

Sistem

Yang Ada

Sistem

Baru

Page 61: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Metodologi Pengembangan

Perangkat Lunak

Ketidak efisienan, kurang berhasilnya bahkan kegagalanpengembangan sistem pada pertengahan tahun 60 sampai70-an.

Tidak tersedianya teknik pengembangan perangkat lunakyang baik.

Metodologi-metodologi pengembangan perangkat lunakyang cukup baik mulai muncul pada awal tahun 70-an.

Page 62: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Pengembangan perangkat lunak

Pengembangan Perangkat Lunak

proses membuat suatu perangkat lunak baru untukmenggantikan perangkat lunak lama secara keseluruhanatau memperbaiki perangkat lunak yang telah ada.

Metodologi pengembangan perangkat lunak

suatu proses pengorganisasian kumpulan metode dankonvensi notasi yang telah didefinisikan untukmengembangkan perangkat lunak.

suatu strategi pengembangan yang memadukanproses, metode, dan perangkat (tools).

Tujuan untuk membantu menghasilkan perangkatlunak yang berkualitas.

Page 63: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Komponen Metodologi Pengembangan Perangkat

Lunak

Menurut Pressman (1997) Komponen metodologi pengembanganperangkat lunak dapat dibagi dalam tiga unit, yaitu :

Metode, yaitu suatu cara atau teknik pendekatan yang sistematik yang dipergunakan untuk mengembangkan perangkat lunak. Metode inimencakup : Perencanaan proyek dan perkiraan, analisis keperluansistem dan perangkat lunak, perancangan struktur data, arsitekturprogram, prosedur algoritma, Coding, uji coba dan pemeliharaan.

Alat bantu (Tools), yaitu alat-alat (manual atau otomatis) yang mendukung pengembangan perangkat lunak. Terdapat 2 alat Bantu yang dapat digunakan yaitu : alat Bantu manual dan alat Bantu otomatis.

Prosedur, yang dipergunakan untuk mendefinisikan urut-urutan pekerjaan (daur) dari metode dan alat bantu tersebut.

Page 64: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Daur Hidup Pengembangan PerangkatLunak

Phase

ImplementasiDesainAnalisis Pengujian Perawatan

Page 65: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Tahapan

Tahapan analisis dan perancanganmerupakan tahapan yang paling penting tahapan awal yang pentingdalam suatu paradigma pemgembangan perangkat lunak, karenasangat mempengaruhi tahapan selanjutnya Tahap implementasi perangkat lunakbertujuan untuk menerapkan spesifikasi kebutuhan perangkat lunakke dalam bahasa pemrograman tertentu. Tahap pengujian perangkat lunakdilakukan untuk menemukan kesalahan (bug) yang mungkin terdapatdi dalam sebuah perangkat lunak. Tahap perawatan perangkat lunakfokusnya adalah pengubahan. Ada tiga pengubahan yaitu : pembetulan, adaptasi (perbaikanterhadap lingkungan) dan perluasan (penambahan karenapermintaan pemakai).

Page 66: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Proses Pengembangan Perangkat Lunak

suatu proses dimana kebutuhan pemakai diterjemahkan menjadi produkperangkat lunak.

Proses ini mencakup aktivitas penerjemahan kebutuhan pemakai menjadikebutuhan perangkat lunak, transformasi kebutuhan perangkat lunakmenjadi desain, penerapan desain menjadi kode program, uji coba kodeprogram, dan instalasi serta pemeriksaan kebenaran perangkat lunak untukoperasional (IEEE. 1990).

Tahapan proses pengembangan perangkat lunak :

1. Menentukan APA yang harus dikerjakan oleh perangkat lunak dalamsatu rentang waktu tertentu.

2. Mendefinisikan BAGAIMANA perangkat lunak dibuat, mencakuparsitektur perangkat lunaknya, antar muka internal, algoritma, dansebagainya.

3. Penerapan (penulisan program) dan pengujian unit-unit program.

4. Integrasi dan pengujian modul-modul program.

5. Validasi perangkat lunak secara keseluruhan (pengujian sistem).

Page 67: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Siklus Pengembangan Perangkat Lunak

• Periode waktu yang diawali dengan keputusan untukmengembangkan produk perangkat lunak dan berakhirsetelah perangkat lunak diserahkan. Umumnya sikluspengembangan ini terdiri dari tahap analisis kebutuhan, perancangan, penerapan, pengujian, dan instalasi sertapemeriksaan.

• Periode waktu yang diawali dengan keputusan untukmengembangkan produk perangkat lunak dan berakhirsaat produk tidak dapat ditingkatkan lebih jauh lagi olehpengembang.

Page 68: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Model Pengembangan PerangkatLunak

Linier Squensial model

Prototyping Model MPSI

PROTOTYPING.ppt

RAD Model MPSI RAD.ppt

Spiral Model MPSI SPIRAL.ppt

Page 69: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Model Proses Pengembangan Perangkat

Lunak

Linear Sequential Model

Page 70: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Cakupan aktivitas :

1. Rekayasa sistem dan Analisis (Sistem Engineering and Analysis)

2. Analisis kebutuhan perangkat lunak (Software Requirements Analysis)

3. Perancangan (Design)

4. Pembuatan kode (Coding)

5. Pengujian (Testing)

6. Pemeliharaan (Maintenance)

• Corrective Maintenance : Mengoreksi kesalahan pada perangkat lunak, yang baru terdeteksi pada saat perangkat lunak dipergunakan

• Adaptive Maintenance : Penyesuaian dengan lingkungan baru, misalnyasistem operasi atau sebagai tuntutan atas perkembangan sistem komputer, misalnya penambahan printer driver

• Perfektive Maintenance : Bila perangkat lunak sukses dipergunakan olehpemakai. Pemeliharaan ditujukan untuk menambah kemampuannya sepertimemberikan fungsi-fungsi tambahan, peningkatan kinerja dan sebagainya.

Page 71: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Kelemahan model linear sequential: 1. Proyek yang sebenarnya jarang mengikuti alur sekuensial

seperti diusulkan, sehingga perubahan yang terjadi dapatmenyebabkan hasil yang sudah didapat tim harus diubahkembali/iterasi sering menyebabkan masalah baru.

2. Linear sequential model mengharuskan semua kebutuhanpemakai sudah dinyatakan secara eksplisit di awal proses, tetapikadang-kadang ini tidak dapat terlaksana karena kesulitan yang dialami pemakai saat akan mengungkapkan semuakebutuhannya tersebut.

3. Pemakai harus bersabar karena versi dari program tidak akandidapat sampai akhir rentang waktu proyek.

4. Adanya waktu menganggur bagi pengembang, karena harusmenunggu anggota tim proyek lainnya menuntaskanpekerjaannya.

Page 72: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

PROTOTYPING

Prototype memberikan ide bagi pembuat atau pemakaipotensial tentang cara sistem berfungsi dalam bentuklengkap.

Page 73: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Jenis Prototyping Type I

Langkah-langkahnya :1. Mengidentifikasikan kebutuhan pemakai

Analis sistem mewawancarai pemakai untuk menentukan apa yang diinginkanpemakai terhadap sistem.

2. Mengembangkan prototypingAnalis sistem menggunakan satu atau lebih alat prototyping untuk mengembangkanprototyping.

cth : - IAG (integrated application generator)Software system jadi yang mampu menghasilkan semua tampilan

yang diinginkan dalam sistem baru.- Prototyping Toolkits

Mencakup sistem-sistem software terpisah yang masing-masingmampu untuk menghasilkan sebagian tampilan sistem yang diinginkan.

3. Menentukan apakah prototyping dapat diterimaAnalis mendidik pemakai dan memberikan kesempatan pada pemakai untukmembiasakan diri dengan sistem. Jika pemakai dapat menerima sistem, langkah 4 akan diambil. Jika tidak prototyping direvisi dengan mengulangi langkah 1, 2 dan 3.

4. Menggunakan prototypingPrototype menjadi sistem operasional

Page 74: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Pengembangan Prototipe Jenis I

1.

2.

3.

4.

N

Identifikasi Kebutuhan

Pengembangan

prototipe

Prototipe

diterima?

Y

Menggunakan

Prototipe

Page 75: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Jenis Prototyping

Type II

Langkah-langkahnya :Tiga langkah pertama sama seperti Ptototype Type I.1. Mengkodekan sistem operasional

Programmer menggunakan prototype sebagai dasar untuk pengkodean(coding) sistem operasional

2. Menguji sistem operasional3. Menentukan apakah sistem operasional dapat diterima

pemakai memberikan masukan kepada analis apakah sistem dapat diterima. Jika ya, langkah 7 akan diambil. Jika tidak, langkah 4 dan 5 diulangi.

4. Menggunakan sistem operasional

Page 76: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Pengembangan

Prototipe

Jenis II

N

Identifikasi

kebutuhan

Pengembangan

Prototipe

Penggunaan Sistem

Operasional

Prototipe

diterima?

Sistem

diterima?

Y

Y

N

Pengkodean Sistem

Operasional

Menguji Sistem

Operasional

1.

2.

4.

5.

6.

7.

3.

Page 77: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Empat model Prototype : Prototype kertas

Gambaran sistem yang dibuat pada media kertas.Kelemahannya tidak dapat diuji dan diimplementasikan

Prototype Berbasis PCPermodelan sistem yang dibuat dengan memanfaatkan media aplikasi-aplikasiuntuk presentasi.

Prototype KerjaPrototype yang telah mengimplementasikan sebagian dari fungsi sistem.

Prototype ProgramPada permodelan ini program benar-benar dibuat dan bisa bekerja. Bagian-bagian program yang sudah jadi terus-menerus ditambah dan dilengkapisampai terbentuk sistem yang diinginkan.

Page 78: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Permasalahan sistem yang tidak jelasAdakalanya user tidak dapat mendefinisikan dengan jelas tentang kebutuhan dankeinginanya terhadap sistem yang akan dikembangkan.

Kebutuhan dialog user-komputer yang interaktifUntuk membuat sistem yang menghendaki dialog yang baik dan mudah antara user dankomputer.

Sistem diminati oleh banyak pemakaiUntuk mencari kesamaan persepsi dari banyak user sehingga dapat diperolehkesepakatan tentang sistem yang akan dikembangkan.

User berkeinginan sistem cepat selesaiUntuk mengakomodir keinginan user supaya cepat selesai dan terlihat bentuk kerjasistemnya.

Kebutuhan user selalu berubah-ubahUser sulit menjelaskan kebutuhannya secara baik sehingga menimbulkankeinginan yanhg selalu berubah-ubah. Untuk itu dapat dibantu denganmemberikan gambaran sistem yang akan dibuat melalui prototype yang diajukan oleh pengembang.

Prototyping baik digunakan pada keadaan :

Page 79: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Potensi Kegagalan Prototyping

Ketergesaan membuat prototipe mungkinmenghasilkan jalan pintas dalam definisipermasalahan, evaluasi dan dokumentasi.

Pemakai mungkin sangat tertarik dengan protitipetersebut sehingga mereka mengharapkan sesuatuyang tidak realistis dari sistem operasional

Prototipe jenis I mungkin tidak seefisien sistemyang dikodekan dalam bahasa pemrograman

Hubungan komputer-manusia yang disediakanmungkin tidak mencerminkan teknik perancanganyang baik

Page 80: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Kelemahan Prototyping :

Pelanggan yang melihat prototype darimodel yang dimintanya tidak menyadaribahwa mungkin saja prototype dibuatterburu-buru dan dirancang tidaktersusun dengan baik

Pengembang kadang-kadang membuatimplementasi sembarangan karena inginbekerja dengan cepat.

Page 81: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Kelebihan Prototyping : Peran pemakai sistem dalam pengembangan sistem menjadi

meningkat.

Keterlibatan user tersebut disebabkan adanya evaluasi oleh user berkali-kali untuk mencapai kebutuhan yang diinginkan.

Sangat membantu penganalisian kebutuhan user

Dengan komunikasi yang intensif, pengembang akan tahu kebutuhapemakai sistem yang sesungguhnya.

Waktu mengerjakan perangkat lunak dapat menjadi lebih cepat danuser dapat mengikuti tahapan demi tahapan

Mempermudah dalam tahap implementasi

Hal ini disebabkan karena user merasa telah mengenal dan memilikiperangkat lunak yang dihasilkan

Page 82: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

METODE PENGEMBANGAN PERANGKAT

LUNAK

Metodologi Rapid Application Development

(RAD)

Page 83: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

RAD ( Rapid Application

Development)

Merupakan model proses pengembanganperangkat lunak yang menekankan pada sikluspengembangan yang sangat singkat.

RAD mengadopsi model waterfall danpembangunan dalam waktu yang singkat.

Waktu yang singkat adalah batasan yang pentingdalam model ini

Jika kebutuhan dapat dipahami dengan baik,proses RAD dapat memungkinkan timpengembang menciptakan Sistem secara utuhdalam waktu yang sangat pendek (kira-kira 60-90hari)

Page 84: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Team #1

Team #2Team #3

Business

Modeling

Data

Modeling

Process

Modeling

Application

Generation

Testing &

Turnover

Business

Modeling

Data

Modeling

Process

Modeling

Application

Generation

Testing &

Turnover

Business

ModelingData

ModelingProcess

ModelingApplication Generation

Testing &

Turnover

60-90 hari

RAD Model

Page 85: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Pendekatan RAD model :

Permodelan bisnisUntuk menjawab pertanyaan : informasi apa yang mengendalikan prosesbisnis? Informasi apa yang dihasilkan? Siapa yang menghasilkan informasi?dan Siapa yang mengolah informasi? Kebutuhan dari sistem

Permodelan dataAliran informasi yang sudah didefinisikan disusun menjadi sekumpulan objekdata. Ditentukan karakteristik/atribut dan hubungan antar objek data tersebut Analisis kebutuhan dan data

Permodelan prosesObjek data yang sudah didefinisikan diubah menjadi aliran informasi yangdiperlukan untuk menjalankan fungsi-fungsi bisnis.

Pembuatan aplikasiRAD menggunakan komponen program yang sudah ada atau membuatkomponen yang bisa digunakan kembali selama diperlukan

Pengujian dan pergantianKarena meggunakan komponen yang sudah ada, maka kebanyakan komponensudah melalui tahap pengujian. Hanya komponen baru yang harus diuji.

Page 86: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Kelemahan RAD model : Tidak cocok untuk proyek skala besar, karena

membutuhkan sumber daya yang cukup untukmembentuk sejumlah tim RAD

RAD membutuhkan pengembang dan pemakai yangmempunyai komitmen untuk melaksanakanaktivitas melengkapi sistem dalam kerangka waktuyang singkat, karena proyek bisa gagal akibat waktuyang disepakati tidak terpenuhi.

Akan menimbulkan masalah jika sistem tidak dapatdibuat secara modular.

RAD tidak cocok digunakan untuk sistem yangberesiko teknis tinggi

Page 87: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Waktu pengembangan yang singkat Bagi pengembang proses pengerjaan menjadi

lebih mudah karena pengerjaan dibagi dalamtim-tim permodular, sehingga dapat terfokusdalam satu permasalahan.

Pada tahap pengujian, waktu yang digunakandapat dipersingkat karena RAD menekankanpada pemakaian kembali komponen yang sudahada, sehingga komponen baru saja yang harusdiuji.

Kelebihan RAD model :

Page 88: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

SPIRAL MODEL

METODE PENGEMBANGAN

PERANGKAT LUNAK

Page 89: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

SPIRAL MODEL

Merupakan model proses perangkat lunak yang

memadukan wujud perulangan dari model

prototyping dengan aspek pengendalian dan

sistematika dari waterfall model, dengan

penambahan elemen baru yaitu analisis resiko.

Page 90: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri
Page 91: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Aktivitas didalam Model Spiral Komunikasi Pemakai (Customer Communication)

Membangun komunikasi yang baik dengan pengguna sistem.

Perencanaan (Planning)Penentuan tujuan, alternatif dan batasan.

Analisis resiko (Risk Analysis)Analisis alternatif dan identifikasi / pemecahan resiko

Rekayasa (Engineering)Pembangunan contoh-contoh aplikasi, misalnya prototype.

Pembangunan & Realisasi (Construction & Release)Pembangunan sistem, test, install dan support

Evaluasi Pemakai (Customer Evaluation)Penilaian terhadap hasil dari fase rekayasa dan fase pembangunan & realisasi oleh pengguna.

Page 92: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Bentuk spiral memberikan gambaran

bahwa semakin besar iterasinya, maka

menunjukkan makin lengkap versi dari

perangkat lunak yang dibuat.

Page 93: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Kelemahan Model Spiral

Sulit untuk meyakinkan pemakai (saat

situasi kontrak) bahwa penggunaan

pendekatan ini akan dikendalikan

Memerlukan tenaga ahli untuk

memperkirakan resiko, dan harus

mengandalkannya supaya sukses

Belum terbukti apakah metode ini cukup

efisien karena usianya relatif baru.

Page 94: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Keuntungan Model Spiral Pada model spiral, resiko sangat

dipertimbangkan. Resiko adalah sesuatu yang mungkin mengakibatkan kesalahan.

Model spiral merupakan pendekatan yang realistik untuk pengembangan perangkat lunak / sistem berskala besar.

Pengguna dan pembangun bisa memahami dengan baik perangkat lunak yang dibangun karena setiap kemajuan yang dicapai selama proses dapat dinikmati dengan baik.

Page 95: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

in conjunction with

Software Engineering: A

Practitioner’s Approach,

6/e and are provided with

permission by R.S.

Pressman & Associates,

Inc., copyright © 1996,

2001, 2005

95

Metode Pengembangan Sistem Dinamis

(Dynamic Systems Development Method)

Dipromosikan oleh konsorsium DSDM (www.dsdm.org)

DSDM—karakter yang membedakan Mirip dalam banyak dengan XP dan/atau ASD

Sembilan prinsip-prinsip panduan : Pelibatan user secara aktif adalah keharusan.

Tim DSDM harus diberdayakan untuk mengambil keputusan.

Fokus pada penyajian produk sesering mungkin.

Penerimaan dari tujuan bisnis adalah kriteria esensial untuk penerimaan penyajian.

Pengembangan bertahap dan berulang dibutuhkan untuk fokus pada solusi bisnis yang akurat.

Semua perubahan selaman pengembangan dapat dibalik.

Kebutuhan adalah dasar pada level tinggi

Pengujian terintegrasi dalam siklus kehidupan.

Page 96: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

96

Dynamic Systems Development Method

DSDM Life Cycle (with permission of the DSDM consortium)

Page 97: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

97

Scrum

Diusulkan oleh Schwaber dan Beedle

Scrum—Karakter yang membedakanKerja pengembangan dipartisi menjadi “paket”

Pengujian dan dokumentasi berjalan seiring dengankonstruksi produk

Kerja terjadi dalam “Sprint” dan diturunkan dari“backlog” kebutuhan yang ada

Pertemuan sangat pendek dan beberapa kali diadalah tanpa kursi

“Demo” ditunjukkan pada konsumen dengan alokasitime-box

Page 98: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

in conjunction with

Software Engineering: A

Practitioner’s Approach,

6/e and are provided with

permission by R.S.

Pressman & Associates,

Inc., copyright © 1996,

2001, 2005

98

Scrum

Scrum Process Flow (used with permission)

Page 99: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

in conjunction with

Software Engineering: A

Practitioner’s Approach,

6/e and are provided with

permission by R.S.

Pressman & Associates,

Inc., copyright © 1996,

2001, 2005

99

Crystal

Diusulkan Cockburn dan Highsmith

Crystal—karakter yang membedakan

Secara aktual sebuah model proses keluarga yang memungkinkan manuver berdasar karakteristikpermasalahan

Komunikasi tatap muka ditekankan

Menyarankan penggunaan workshop refleksi untukreview kebiasaan kerja tim

Page 100: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

in conjunction with

Software Engineering: A

Practitioner’s Approach,

6/e and are provided with

permission by R.S.

Pressman & Associates,

Inc., copyright © 1996,

2001, 2005

100

Feature Driven Development

Diusulkan oleh Peter Coad et al

FDD—karakter yang membedakan

Penekanan pada definisi “features”

a feature “is a client-valued function that can be implemented intwo weeks or less.”

Menggunakan template feature <action> the <result> <by | for | of | to> a(n) <object>

Daftar feature dibuat dan “perencanaan berdasar “feature”dilakukan

Desain dan konstruksi bergabung dalam FDD

Page 101: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

in conjunction with

Software Engineering: A

Practitioner’s Approach,

6/e and are provided with

permission by R.S.

Pressman & Associates,

Inc., copyright © 1996,

2001, 2005

101

Feature Driven Development

Reprinted with permission of Peter Coad

Page 102: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

in conjunction with

Software Engineering: A

Practitioner’s Approach,

6/e and are provided with

permission by R.S.

Pressman & Associates,

Inc., copyright © 1996,

2001, 2005

102

Agile Modeling Diusulkan oleh Scott Ambler

Menyarankan prinsip2x agile modeling

Model dengan sebuah tujuan

Menggunakan banyak model

Isi lebih penting dari representasi

Mengetahui model dan tool yang digunakan untukmembuatnya

Beradaptasi secara lokal

Page 103: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

MANAJEMEN PROYEK PERANGKAT LUNAK

Proses-proses Dalam Manajemen Proyek1.

Satuan Ukuran Produktivitas2.

Satuan Ukuran Kualitas Parangkat Lunak 3.

Page 104: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Proses-proses Dalam Manajemen Proyek

Manajemen proyek merupakan lapisan pertama dalamproses rekayasa perangkat lunak skala besar.

Untuk menuju pada proyek yang berhasil, perludimengerti tentang : • Lingkup pekerjaan • Resiko yang dapat ditimbulkan • Sumber-sumber yang diperlukan • Tugas yang harus dilaksanakan • Patokan yang harus diikuti • Usaha atau biaya yang dikeluarkan • Dan Penjadwalan

Page 105: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Awal Proyek Perangkat Lunak

Untuk mengestimasi biaya, pembagian tugas,dan penjadwalan, sebelum sebuah proyekdirencanakan perlu :

• Memastikan tujuan dan ruang lingkup

• Memperhatikan alternatif-alternatif solusi

• Identifikasi batasan teknik dan manajerial

Page 106: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Pengukuran dan Satuan Ukuran

Pengukuran dan satuan ukuran akan membantuuntuk mengerti proses-proses dalampengembangan produk dan produk itu sendiri.Proses dan produk diukur dalam usaha untukmeningkatkan kualitasnya.

Page 107: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Estimasi

Dalam aktifitas utama proyek yaituperencanaan, dilakukan estimasi :

• Sumber daya manusia (ukuran orang/bulan)

• Jangka waktu kronologis (Ukuran waktukalender)

• Biaya (Ukuran uang Rp)

Page 108: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Analisis Resiko Analisis resiko sangat penting dalam manajemen proyek

perangkat lunak. Beberapa hal yang harus diperhatikanberkaitan dengan resiko adalah ;

• Masa yang akan datang : resiko apa yang mempengaruhitrend (kecenderungan) proyek perangkat lunak

• Perubahan : Bagaimana perkembangan duniamempengaruhi keawetan dan kesuksesan perangkatlunak

• Pilihan : metode apa yang dipakai, berapa orangdiperlukan, seberapa tinggi kualitas perangkat lunak dansebagainya

Page 109: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Analsis resiko merupakan serangkaian langkahuntuk menyiasati resiko, yaitu :

• Identifikasi resiko

Identifikasi resiko melist semua resiko sesuaidengan kategori(secara makro) sebagai berikut: 1. Resiko proyek : masalah pembiayaan, penjadwalan,

personil, sumber daya, pelanggan dan kebutuhandikaitkan dengan akibatnya terhadap pelanggan.

2. Resiko teknis : masalah desain, implementasi,antarmuka, verifikasi dan pemeliharaan.

3. Resiko bisnis : termasuk di dalamnya adalah resikopasar, resiko manajemen, dan resiko pembiayaan.

Page 110: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Salah satu metode terbaik untuk mengerti tiap resiko adalahdengan sejumlah pertanyaan seperti :

1. Adakah orang-orang yang paling top (The best) ?

2. Sesuaikah keahlian orang-orang tersebut?

3. Cukupkah orang-orang yang tersedia?

4. Apakah staf cukup dapat dipercaya untuk keseluruhanproyek?

5. Akan adakah staf yang bekerja paruh waktu?

6. Apakah staf telah memiliki persepsi yang benar tentangpekerjaannya?

7. Sudah cukupkah pelatihan untuk staf?

8. Cukup rendahkah tingkat pelimpahan kerja untukmenjamin kelanjutan proyek?

Page 111: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Penjadwalan

Langkah-langkah yang dilakukan dalampenjadwalan :

• Identifikasi sekumpulan tugas

• Pastikan keterkaitan antar tugas

• Estimasi usaha untuk tiap-tiap tugas

• Tentukan pekerja dan sumber-sumber lainnya

• Buat jaringan tugas

• Buat jadwal kerja berdasarkan waktu

Page 112: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Penelusuran dan Pengendalian

Penelusuran dan pengendalian dilakukansetelah ada penjadwalan yang pasti, yaitumemeriksa apakah tugas telah dilaksanakansesuai dengan jadwal.

Page 113: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Satuan Ukuran Produktivitas dan Kualitas

Perangkat Lunak

Pengukuran perangkat lunak dilakukan untuk : • Indikasi kualitas produk• Perkiraan produktivitas orang-orang yang menghasilkan produk• Perkiraan manfaat dari penerapan metode dan tools • Membentuk dasar dari estimasi• Menegaskan (Justify) permintaan tools baru dan pelatihan

Satuan ukuran perangkat lunak dikategorikan ke dalam : • Satuan ukuran produktivitas : Output dari proses rekayasa• Satuan ukuran kualitas : indikasi tingkat pemenuhan kebutuhan konsumen • Satuan ukuran teknik : Karakteristik perangkat lunak

Page 114: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Kategori lain untuk pengukuran :

• Pengukuran berorientasi besarnya (Ukuran) :

Besarnya perangkat lunak = jumlah baris program.

Pengukuran berorientasi ukuran merupakan pengukuranlangsung. Pengukuran berorientasi ukuran menggunakantabel berisi data berorientasi ukuran yang merupakan daftarproyek pengembangan perangkat lunak yang telahdiselesaikan dikaitkan dengan data berorientasi ukuranuntuk proyek yang bersangkutan

Page 115: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

• Pengukuran berorientasi fungsi :

fungsi = ruang lingkup informasi dan tingkat kesulitannyaMerupakan pengukuran tidak langsung, yang menitikberatkan pada fungsionalitas atau utilitasprogram. Disebut juga metode Function Point sesuaidengan informasi-informasi yang didefinisikan:

o Jumlah masukan dari pemakai

o Jumlah keluaran dari pemakai

o Jumlah penyelidikan dari pemakai

o Jumlah file

o Jumlah antarmuka eksternal

Page 116: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Satuan Ukuran Kualitas Parangkat Lunak

Kualitas perangkat lunak dihitung pada saatproses rekayasa perangkat lunak ataupunsetelah diserahkan kepada pemakai. Satuanukuran kualitas perangkat lunak pada saatproses rekayasa :

o Kompleksitas program

o Modularitas yang efektif

o Besarnya program

Page 117: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Definisi pengukuran kualitas menurut Gilb:

• Kebenaran (Correctness) : Program harus bekerja dengan benar. Kebenaran merupakan tingkat perangkat lunak bekerja sesuaidengan fungsi yang dibutuhkan. Pengukuran yang umum adalahcacat (defect) /KLOC

• Perawatan (Maintainability) : Kemudahan perbaikan jika adakesalahan, penyesuaian terhadap perubahan lingkungan ataupeningkatan sesuai permintaan pemakai

• Integritas (Integrity) : Pengukuran tingkat ketahanan perangkatlunak terhadap serangan (disengaja/tidak) pada program, data dandokumen

• Kegunaan (Usability) : Berkaitan dengan kemudahan pemakaianyang diukur berdasarkan keahlian yang diperlukan untukmempelajari sistem, waktu yang dibutuhkan untuk dapatmenggunakan sistem, peningkatan produktivitas denganpenggunaan sistem dan perkiraan yang sifatnya subjektif padakelakuan pemakai

Page 118: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Menurut Basili dan Zelkowitz ada 5(lima) faktor yang mempengaruhi produktivitas perangkat lunak :

• Faktor manusia : jumlah dan tingkat keahlian tim

• Faktor masalah : Tingkat kerumitan masalah yang harusdipecahkan

• Faktor proses : Teknik analisis dan desain, bahasa dan tools

• Faktor produk : keandalan dan performansi sistemberbasis komputer

• Faktor sumber daya : ketersediaan tools, sumber-sumberperangkat keras dan perangkat lunak

Page 119: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

PENGUJIAN PERANGKAT LUNAK

Pengertian Pengujian1.

Tujuan Pengujian2.

Tahap-tahap Pengujian3.

Pengujian Tahap Analisis4.

Pengujian Tahap Perancangan5.

Pengujian Tahap Implementasi6.

Pengujian Tahap Pengujian7.

Page 120: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Pengertian Pengujian

Proses menjalankan dan mengevaluasi sebuahperangkat lunak secara manual maupunotomatis untuk menguji apakah perangkatlunak sudah memenuhi persyaratan ataubelum, atau untuk menentukan perbedaanantara hasil yang diharapkan dengan hasilsebenarnya.

Page 121: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Beberapa prinsip pengujian yang harus diperhatikan.

1. Dapat dilacak hingga ke persyaratan atau dokumen SRS

2. Pengujian harsu direncanakan sebelum pelaksanaan pengujian

3. Pengujian harus dimulai dari hasl yang kecil, diteruskan ke hal-hal yang besar.

4. Pengujian yang berlebihan tidak akan mungkin dapat dilaksanakan

5. Pengujian sebaiknya dilakukan oleh pihak ketiga.

Page 122: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Tujuan Pengujian

1. Menilai apakah perangkat lunak yang dikembangkan telah memenuhi kebutuhan pemakai.

2. Menilai apakah tahap pengembangan perangkat lunak telah sesuai dengan metodologi yang digunakan.

3. Membuat dokumentasi hasil pengujian yang menginformasikan kesesuaian perangkat lunak yang diuji dengan spesifikasi yang telah ditentukan.

Page 123: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Tahap-tahap Pengujian

1. Tentukan apa yang akan diukur melalui pengujian 2. Bagaimana pengujian akan dilaksanakan 3. Membangun suatu kasus uji (test case), yaitu

sekumpulan data atau situasi yang akan digunakan dalam pengujian.

4. Tentukan hasil yang diharapkan atau hasil sebenarnya

5. Jalankan kasus pengujian 6. bandingkan hasil pengujian dan hasil yang

diharapkan.

Page 124: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Pengujian Tahap Analisis

Pengujian pada tahap analisis ditekankan pada validasi terhadap kebutuhan, untuk menjamin bahwa kebutuhan telah dispesifikasikan dengan benar.

Tujuan pengujian pada tahap ini adalah untuk mendapatkan kebutuhan yang layak dan untuk memastikan apakah kebutuhan tersebut sudah dirumuskan dengan baik.

Page 125: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Faktor-faktor pengujian yang dilakukan pada tahap analisis ini meliputi :

1. Kebutuhan yang berkaitan dengan metodelogi

2. Pendefinisian spesifikasi fungsional

3. Penentuan spesifikasi kegunaan

4. Penentuan kebutuhan portabilitas

5. Pendefinisian antar muka sistem.

Page 126: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Pengujian Tahap Perancangan Pengujian tahap perancangan bertujuan untuk menguji

struktur perangkat lunak yang diturunkan dari kebutuhan. Kebutuhan yang bersifat umum dirinci menjadi bentuk yang lebih spesifik .

Faktor-faktor pengujian yang dilakukan pada tahap perancangan meliputi :

1. Perancangan yang berkaitan dengan kebutuhan 2. Kesesuaian perancangan dengan metodologi dan teori. 3. Portabilitas rancangan 4. Perancangan yang dirawat 5. Kebenaran rancangan berkaitan dengan fungsi dan

aliran data. 6. Kelengkapan perancangan antar muka.

Page 127: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Pengujian Tahap Implementasi

Pengujian pada tahap ini merupakan pengujianunit-unit yang dibuat sebelum diintegrasikan mejadiaplikasi keseluruhan.

Faktor-faktor pengujian yang dilakukan pada tahapimplementasi meliputi :1. Kendali integritas data2. Kebenaran program3. kemudahan pemakaian4. Sifat coupling5. Pengembangan prosedur operasi.

Page 128: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Pengujian Tahap Pengujian Tujuan pengujian pada tahap ini adalah untuk

menilai apakah spesifikasi program telah ditulismenjadi instruksi-instruksi yang dapat dijalankanpada mesin. Selain itu, juga untuk menilai apakahinstruksi yang ditulis tersebut telah sesuai denganspesifikasi program.

Faktor-faktor pengujian yang dilakukan pada tahapini meliputi :1. Pengujian fungsional2. Dukungan manual3. Kemudahan operasi.

Page 129: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Pengujian dengan Kasus Uji

Pengujian yang dilakukan meliputi pengujian unit (berupa prosedur atau fungsi) dan pengujian sistem. Dalam pengujian unit, unit-unit yang diuji meliputi unit-unit yang ada dalam sistem.

Sedangkan pengujian sistem dilakukan terhadap sistem secara keseluruhan. Setiap pengujian dilakukan dengan menggunakan berbagai data masukan, baik data yang valid maupun tidak.

Page 130: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Teknik Pengujian

Ada dua teknik pengujian yang dapat digunakan untuk menguji perangkat lunak, yaitu

1. black box testing

2. white box testing

Page 131: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Pengujian Black Box Pengujian black box digunakan untuk menguji

fungsi-fungsi khusus dari perangkat lunak yangdirancang.

kebenaran perangkat lunak yang diuji hanya dilihatberdasarkan keluaran yang dihasilkan dari dataatau kondisi masukan yang diberikan untuk fungsiyang ada tanpa melihat bagaimana proses untukmendapatkan keluaran tersebut.

Dari keluaran yang dihasilkan, kemampuan programdalam memenuhi kebutuhan pemakai dapat diukursekaligus dapat diiketahui kesalahan-kesalahannya.

Page 132: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Beberapa jenis kesalahan yang dapat diidentifikasi :

• Fungsi tidak benar atau hilang

• Kesalahan antar muka

• Kesalahan pada struktur data (pengaksesan basisdata)

• Kesalahan inisialisasi dan akhir program

• Kesalahan performasi.

Walaupun sulit untuk menelusuri kesalahan yangmungkin didapat, teknik pengujian black box lebihsering dipilih untuk menguji perangkat lunakkarena kemudahan dalam pelaksanaannya.

Page 133: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Pengujian White Box

Berbeda dengan teknik black box teknik inidigunakan untuk mengetahui cara kerja suatuperangkat lunak secara internal.

Pengujian dilakukan untuk menjamin operasi-operasi internal sesuai dengan spesifikasi yangtelah ditetapkan dengan menggunakan strukturkendali dari prosedur yang dirancang.

Page 134: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Pelaksanaan pengujian white box :

• Menjamim seluruh independent path dieksekusipaling sedikit satu kali. Independent pathadalah jalur dalam program yang menunjukkanpaling sedikit satu kumpulan proses ataupunkondisi baru.

• Menjalani logical decision pada sisi dan false

• Mengeksekusi pengulangan (looping) dalambatas-batas yang ditentukan

• Menguji struktur data internal.

Page 135: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

Strategi Pengujian Digunakan untuk mengintegrasikan

metode-metode perancangan kasuspengujian perangkat lunak menjadi suatulangkah-langkah terencana dengan tujuanmendapatkan perangkat lunak yang sukses.

Setiap strategi pengujian perangkat lunakharus meliputi perencanaan pengujian,perancangan kasus-kasus uji, eksekusipengujian, pengumpulan data, sertaevaluasi.

Page 136: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

1. Pengujian unit program

Pengujian difokuskan pada unit terkecil dari suatu modul program. Dilaksanakan dengan menggunakan driver dan stub. Driver adalah suatu program utama yang berfungsi mengirim atau menerima data kasus uji dan mencetak hasil dari modul yang diuji. Stub adalah modul yang menggantikan modul sub-ordinat dari

modul yang diuji.

Page 137: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

2. Pengujian integrasi

Pengujian terhadap unit-unit program yang saling berhubungan (terintegrasi) dengan fokus pada masalah interfacing. Dapat dilaksanakan secara top-down integration atau bottom-up integration.

3. Pengujian validasi

Pengujian ini dimulai jika pada tahap integrasi tidak ditemukan kesalahan. Suatu validasi dikatakan sukses jika perangkat lunak berfungsi pada suatu cara yang diharapkan oleh pemakai.

Page 138: REKAYASA PERANGKAT LUNAK€¦ · Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri

4. Pengujian sistem

Pengujian yang dilakukan sepenuhnya pada sistem berbasis komputer. • Recovery testing

Pengujian dilakukan dimana sistem diusahakan untuk gagal, kemudian diuji normalisasinya.

• Security testing

Dilakukan untuk menguji mekanisme proteksi

• Stess testing

Pengujian yang dirancang untuk menghadapkan

suatu perangkat lunak kepada situasi Yang tidak

normal.