Pengenalan RPL

21
Pengantar Rekayasa Perangkat Lunak Yushintia Pramitarini

description

Materi pada matakuliah RPL di Semester 3

Transcript of Pengenalan RPL

Page 1: Pengenalan RPL

PengantarRekayasa Perangkat Lunak

Yushintia Pramitarini

Page 2: Pengenalan RPL

overview

• What is software?

• Software characteristic

• Software Challenges

• What Is Software Engineering?

• Ruang Lingkup Software Engineering

Page 3: Pengenalan RPL

What Is Software?

• Software is designed and built by software engineers.

• Software is used by everyone in society.

• Software engineers have a moral obligation to build reliable software that does no harm to other people.

• Software users are only concerned with whether or not software products meet their expectations and make their tasks easier to complete.

Page 4: Pengenalan RPL

Definisi Perangkat Lunak

• Sekelompok item atau objek yangmembentuk “konfigurasi” dimana didalamnya termasuk :

- instruksi program

- dokumen

- struktur data

• Perangkat Lunak adalah Program-programkomputer beserta dokumentasinya, sepertirequirement, model desain dan usermanual.

Page 5: Pengenalan RPL

Definisi Perangkat Lunak (2)

1. Instruksi atau program komputer yangketika dieksekusi akan memberi fungsidan hasil yang diinginkan.

2. Struktur Data yang memungkinkanprogram memanipulasi informasi

3. Dokumen yang menggambarkanoperasi dan penggunaan program.

Page 6: Pengenalan RPL

Software characteristic

– Pembuatan perangkat lunak berdasarkan logika(rekayasa/software engineering). Inimenyebabkan pembuatan perangkat lunakkompleks dan berbeda antara satu programmerdengan programmer lainnya.

– software is engineered not manufactured

Perangkat lunak dikembangkan bukan dibuatoleh pabrik-pabrik tertentu. Hal ini berarti bahwaperangkat lunak tidak dibuat secara massal,karena dalam pembuatan perangkat lunakmemerlukan perancangan yang baik.

– software doesn’t wear out, it is like an ‘aging factory’

Perangkat lunak tidak akan pernah usang karenaselalu diperbaharui

Page 7: Pengenalan RPL

What Is Software Engineering?

Suatu disiplin ilmu yang membahastentang semua aspek produksi perangkatlunak, mulai dari tahap awal yaitu analisakebutuhan pengguna, menentukanspesifikasi dari kebutuhan penggunadesign, pengkodean, pengujian sampaipemeliharaan sistem setelah digunakan.

Page 8: Pengenalan RPL

• Pernyataan “semua aspek produksi”pada pengertian di atas, mempunyaiarti semua hal yang berhubungandengan proses produksi sepertimanajemen proyek, penentuanpersonil, anggaran biaya, metode,jadwal, kualitas sampai denganpelatihan pengguna merupakan bagiandari RPL.

Page 9: Pengenalan RPL

Evolusi Perangkat Lunak

Page 10: Pengenalan RPL

Tahun-tahun Pertama

• Batch OrientationSuatu orientasi di mana proses dilakukan setelahdata dikumpulkan dalam satuan waktu tertentu,atau proses dilakukan setelah data terkumpul, lawandari batch adalah ONLINE atau Interactive Process.Keuntungan dari Interactive adalah mendapatkandata yang selalu up to date.

• Limmited distributionSuatu penyebaran software yang terbatas padaperusahaan-perusahaan tertentu.

• Custom softwareSoftware yang dikembangkan berdasarkan keinginanperusahaan-perusahaan tertentu.

Page 11: Pengenalan RPL

Era Kedua

Multi userSuatu sistem di mana satu komputer digunakan olehbeberapa user pada saat yang sama.

Real TimeSuatu sistem yang dapat mengumpulkan, menganalisa danmentransformasikan data dari berbagai sumber,mengontrol proses dan menghasilkan output dalam milisecond.

DatabasePerkembangan yang pesat dari alat penyimpan data yangOnLine menyebabkan muncul generasi pertama DBMS(DataBase Management System).

Product SoftwareAdalah software yang dikembangkan untuk dijual kepadamasyarakat luas.

Page 12: Pengenalan RPL

Era Ketiga• Distributed system

Suatu sistem yang tidak hanya dipusatkan pada komputer induk(Host computer), daerah atau bidang lainnya yang juga memilikikomputer yang ukurannya lebih kecil dari komputer induk. Lawandari distributed system adalah Centralized System.

• Embedded Intelegence

Suatu product yang diberi tambahan “Intellegence” dan biasanyaditambahkan mikroprocessor yang mutakhir. Contohnya adalahautomobil, robot, peralatan diagnostic serum darah.

• Low Cost Hardware

Harga hardware yang semakin rendah, ini dimungkinkan karenamunculnya Personal Computer.

• Consumer Impact

Adanya perkembangan komputer yang murah menyebabkanbanyaknya software yang dikembangkan, software ini memberidampak yang besar terhadap masyarakat.

Page 13: Pengenalan RPL

Era Keempat

• Expert systemSuatu penerapan A.I. (Artificial Intellegence) pada bidang-bidang tertentu, misalnya bidangkedokteran, komunikasi, dll.

• AI MachineSuatu mesin yang dapat meniru kerja darisebagian otak manusia. Misalnya mesin robot, komputer catur.

• Parallel ArchitectureArsitektur komputer yang memungkinkanproses kerja LAN paralel, yang dimungkinkanadanya prosesor berbeda dalam satukomputer

Page 14: Pengenalan RPL

Ruang Lingkup (Abran et.al.,2004)

• Sesuai definisi yang telah disampaikansebelumnya, maka ruang lingkup RPL dapat digambarkan sebagai berikut.

Page 15: Pengenalan RPL

• Software requirements berhubungan denganspesifikasi kebutuhan dan persyaratan perangkatlunak.

• Software design mencakup proses penentuanarsitektur, komponen, antarmuka, dankarakteristik lain dari perangkat lunak.

• Software construction berhubungan dengan detilpengembangan perangkat lunak, termasukalgoritma, pengkodean, pengujian, danpencarian kesalahan.

• Software testing meliputi pengujian padakeseluruhan perilaku perangkat lunak.

Page 16: Pengenalan RPL

• Software maintenance mencakupupaya-upaya perawatan ketikaperangkat lunak telah dioperasikan

• Software configuration managementberhubungan dengan usahaperubahan konfigurasi perangkatlunak untuk memenuhi kebutuhantertentu.

• Software engineering managementberkaitan dengan pengelolaan danpengukuran RPL, termasukperencanaan proyek perangkat lunak.

Page 17: Pengenalan RPL

• Software engineering tools and methodsmencakup kajian teoritis tentang alatbantu dan metode RPL.

• Software engineering processberhubungan dengan definisi,implementasi, pengukuran, pengelolaan,perubahan dan perbaikan proses RPL.

• Software quality menitikberatkan padakualitas dan daur hidup perangkat lunak.

Page 18: Pengenalan RPL

Produk Perangkat Lunak

• Produk perangkat lunak dibuat untukpelanggan tertentu ataupun untukpasar umum Produk perangkat lunakada dua jenis : – Generik – dibuat untuk dijual ke suatu

kumpulan pengguna yang berbeda ataupasar umum.

– Bespoke (custom) – dibuat untuk suatupengguna tunggal sesuai denganspesifikasi yang diinginkan pengguna.

Page 19: Pengenalan RPL

• System Software - Kumpulan dari beberapaprogram yang dibuat untuk memberikan servisterhadap program lainnya pada setiap level.

Contohnya : compiler, operating sistem

• Real-time Software - Program yang dapatmemonitor/menganalisa/mengontrol kejadiannyata yang terjadi di dunia ini

• Business Software - Program yang dapatmengakses, menganalisa dan memprosesinformasi bisnis.

• Engineering and Scientific Software

Contoh: Sistem simulation

Jenis-Jenis PerangkatLunak (1)

Page 20: Pengenalan RPL

• Embedded Software - Software terletak pada readonly memory dan digunakan untuk mengontrolproduk dan sistem yang akan dikirimkan untukkonsumen dan industrial markets.

• Artificial Intelligence (AI) Software - program yangdigunakan untuk teknik AI dan metodenyadigunakan untuk memecahkan masalah yangkompleks. Contohnya : expert sistem, pengenalanpola, games.

• Internet Software - program yang mensupportpengaksesan internet. Contohnya : search engine,browser, e-commerce

• Software Tools and CASE environment - tools danprogram yang dapat membantu pembuatan aplikasisoftware dan sistem.

contohnya : test tools dan version control tools.

Page 21: Pengenalan RPL

Proses Perangkat Lunak• Sekumpulan aktifitas yang memiliki tujuan untuk

mengembangkan ataupun mengubah perangkat lunak.

• Secara umum proses perangkat lunak terdiridari:

– Spesifikasi (specification) apa yang harusdilakukan oleh perangkat lunak danbatasan/kendala pengembangannya

– Pengembangan (development) prosesmemproduksi sistem perangkat lunak

– Validasi (validation) pengujian perangkatlunak terhadap keinginan pengguna(user/customer)

– Evolusi (evolution) perubahan perangkatlunak berdasarkan keinginan/kebutuhanpelanggan (customer).