Anda di halaman 1dari 31

Konsep Dasar

Rekayasa
Perangkat Lunak
19 Agustus 2015

Apa itu Perangkat Lunak?


Sekumpulan baris kode yang ditulis
menurut aturan bahasa pemrograman
tertentu, disimpan dan dijalankan pada
arsitektur perangkat keras untuk
menjalankan fungsi fungsi tertentu.

Apa itu Perangkat Lunak?

Instruksi
Atau program komputer yang ketika dieksekusi akan
memberi fungsi dan hasil yang diinginkan.

Struktur data
Yang memungkinkan program memanipulasi informasi

Dokumen
Yang menggambarkan operasi dan penggunaan
program.

Jenis Perangkat Lunak


Sistem

Operasi

Sistem

Tertanam

Perangkat

Lunak Aplikasi: Bisnis, ilmiah, lini produk

Aplikasi

Web

Aplikasi

Mobile

Utility
Kecerdasan

Buatan

Karakteristik Perangkat Lunak


PL

dikembangkan bukan diproduksi:


Kualitas PL tidak terlihat secara fisik, harga
dapat ditentukan konsumen

PL

tidak mengalami ke ausan: PL tidak


dipengaruhi lingkungan: debu, cuaca,
goncangan; PL tdk memilki suku cadang

PL

dapat digunakan kembali (reusable):


Komponen PL dapat digunakan berulang
ulang meskipun dengan platform berbeda

Masalah dalam Perangkat Lunak


Perangkat

lunak telah diselesaikan dan


diserahkan (delivered) tetapi tidak
pernah digunakan (47%).

Pemakai

(user) sudah membayar untuk


perangkat lunak tetapi tidak pernah jadi
dan diserahkan (29,7%).

Perangkat

lunak digunakan
sebagaimana mestinya (2%).

Tantangan Perangkat Lunak


Bagaimana

memenuhi kebutuhan pelanggan


terhadap perangkat lunak?

Bagaimana

membuat harga PL lebih terjangkau?

Bagaimana

merancangan sebuah PL yang baik?

Bagaimana

dapat membuat PL secara cepat sesuai

jadwal?
Bagaimana

membuat perangkat lunak yang dpt


diandalkan?

Mitos Perangkat Lunak: Manager


Ada

banyak buku membahas mengenai


perangkat lunak, bukankah itu cukup untuk
memandu developer membuat perangkat
lunak?

Apakah

disadari keberadaannya, apa dpt


dijangkau, apakah isi tsb cukup lengkap
mengatasi persoalan yg dihadapi, apa isi
buku up to date dengan permasalahan?

Mitos Perangkat Lunak: Manager


Ketika

jadwal deadline sudah dekat


menambah jumlah developer akan
mempercepat waktu pengerjaan perangkat
lunak?

Menambahkan

orang ke dalam proyek


perangkat lunak tidak serta merta
mempercepat waktu penyelesaian proyek
karena pendatang baru harus beradaptasi
dan perlu diajari sehingga memerlukan

Mitos Perangkat Lunak: Pelanggan


Menyatakan

tujuan umum cukup untuk


memulai membuat program?

Pernyataan

tujuan harus bersifat


definitive tdk boleh ambigu diperlukan
untuk memulai membuat program

Mitos Perangkat Lunak: Pelanggan


Kebutuhan

perangkat lunak terus


berubah dan itu merupakan hal yang
mudah karena perangkat lunak bersifat
fleksibel?

Perangkat

lunak memang bisa berubah


setiap saat akan tetapi hal tersebut
membutuhkan biaya lebih besar, ketika
perubahan baru didefinisikan saat

Mitos Perangkat Lunak: Developer


Begitu

selesai menuliskan kode


program berarti program sudah
selesai?

Kenyataan

60 80% proses
perangkat lunak dikerjakan ketika
produk sudah diserahkan ke
pelanggan

Mitos Perangkat Lunak: Developer


Sampai

program selesai dibuat,


tidak ada cara untuk
menjalankanya/mengujinya?

Pengujian

sudah dapat dilakukan


sejak awal program dibuat maupun
saat program dibuat

Mitos Perangkat Lunak: Developer


Satu

satunya goal adalah


membuat program aplikasi
berjalan?

Program/aplikasi

bukan satu
satunya tujuan. Di samping itu
terdapat model, perencanaan,
dokumentasi yang terkadang justru

Rekayasa Perangkat Lunak?


Ilmu yang mempelajari
tehnik pembuatan software
yang baik dengan
pendekatan tehnik
(Engineering approach)

Rekayasa Perangkat Lunak?


Metodologi / prinsipprinsip
untuk mengembangkan
perangkat lunak yang handal,
efisien, tepat waktu sesuai
kebutuhan pelanggan

Fase dalam Rekayasa


Perangkat Lunak
1.

Fase Definisi (What)


Merupakan fase indentifikasi informasi yang akan diproses.

2.

Fase Pengembangan (How)

Berfokus pada bagaimana pengembangan perangkat lunak


dilakukan ?
3.

Fase Pemeliharaan (Change).

Berhubungan dengan koreksi kesalahan dan penyesuaian


yang
dibutuhkan.
Empat tipe perubahan dalam fase pemeliharaan adalah

Langkah-langkah dalam
Rekayasa Perangkat Lunak?
1.

PL telah menyatu dengan kehidupan sehari


hari, banyak suara yang harus didengar,
beda pelanggan berbeda kebutuhan,
sehingga memahami masalah harus
didahulukan sebelum solusi dibuat.

2.

Kebutuhan PL telah berkembang pesat ke


dalam bentukbentuk yang lebih rumit, lebih
canggih, sehingga kompleksitas ini menuntut
perancangan sebagai kegiatan yang

Langkah-langkah dalam
Rekayasa Perangkat Lunak?
3.

Individu mapun organisasiorganisasi


semakin mengandalkan PL untuk menunjang
keputusan taktis maupun strategis, PL yang
gagal berdampak buruk terhadap individu
atau organisasi tersebut oleh karena itu PL
harus dapat diandalkan setiap saat.

4.

Seiring dengan kemajuan teknologi,


bertambahnya pengguna maka tuntutan
untuk beradaptasi dan peningkatan mutu

Solusi Praktis
1.

Pahami Permasalahannya: siapa yang


terkait dgn masalah, fitur apa yg dibutuhkan,
dapatkah masalah dianalisis dan
dikategorikan.

2.

Rancang Solusinya: Pernahkan Anda atau


anggota tim menghadapi masalah yang

Solusi Praktis
3.

Laksanakan Rancangannya: Pernahkah


kode program yang dibuat/algoritma diulas,
apakah kode program dapat dilacak melalui
rancangannya.

4.

Periksa Hasilnya: Mungkinkah untuk


menguji solusi yang diajukan, apakah solusi

Solusi Praktis
3.

Laksanakan Rancangannya: Pernahkah


kode program yang dibuat/algoritma telah
diulas? Apakah kode program dapat
dilacakmelalui rancangannya?

4.

Periksa Hasilnya: Mungkinkah untuk


menguji solusi yang diajukan? Apakah solusi

Mengapa perlu RPL?

Masalahnya adalah kompleksitas

Banyak dibutuhkan sumber-sumber, tetapi kuncinya


adalah ukuran (size) :
UNIX berisi 4 juta lines of code.
Windows 2000 berisi 108 lines of code yang dikerjakan oleh
Tim dengan anggota 1400 orang.

Soft. Engineering adalah bagaimana


mengelola kompleksitas tersebut dan
dapat bekerja dalam satu Team Work

Tahapan
Pengembangan RPL
Bagaimana bekerja dalam suatu proyek skala besar,
kompleks & melibatkan banyak orang ?
1.

Spesifikasi Kebutuhan (requirement specification)

2.

Analisis (analysis)

3.

Perancangan (design)

4.

Implementasi & Pengujian (implementastion &


testing)

5.

Perawatan & Up-grade (maintenance & upgrade)

Evolusi Perangkat Lunak

Tahun-tahun Pertama

Batch Orientation
Suatu orientasi di mana proses dilakukan setelah data dikumpulkan
dalam satuan waktu tertentu, atau proses dilakukan setelah data
terkumpul, lawan dari batch adalah ONLINE atau Interactive Process.
Keuntungan dari Interactive adalah mendapatkan data yang selalu
up to date.

Limited distribution
Suatu penyebaran software
perusahaan tertentu.

yang

terbatas

pada

perusahaan-

Custom software
Software yang dikembangkan berdasarkan keinginan perusahaanperusahaan tertentu.

Era Kedua
Multi

user

Suatu sistem di mana satu komputer


digunakan oleh beberapa user pada saat
yang sama.
Real

Time

Suatu sistem yang dapat mengumpulkan,


menganalisa dan mentransformasikan data
dari berbagai sumber, mengontrol proses

Era Kedua
Database

Perkembangan
yang
pesat
dari
alat
penyimpan data yang OnLine menyebabkan
muncul generasi pertama DBMS (Database
Management System).
Product

Software

Adalah software yang dikembangkan untuk


dijual kepada masyarakat luas.

Era Ketiga

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

Embedded Intelegence
Suatu product yang diberi tambahan Intellegence
dan biasanya ditambahkan mikroprocessor yang
mutakhir. Contohnya adalah automobil, robot,

Era Ketiga

Low Cost Hardware


Harga hardware yang semakin rendah, ini
dimungkinkan karena munculnya Personal
Computer.

Consumer Impact
Adanya perkembangan komputer yang
murah menyebabkan banyaknya software
yang dikembangkan, software ini memberi

Era Keempat

Expert system
Suatu penerapan A.I. (Artificial Intellegence) pada
bidang-bidang tertentu, misalnya bidang kedokteran,
komunikasi, dll.

AI Machine
Suatu mesin yang dapat meniru kerja dari sebagian
otak manusia. Misalnya mesin robot, komputer catur.

Parallel Architecture
Arsitektur komputer yang memungkinkan proses kerja

Anda mungkin juga menyukai