Anda di halaman 1dari 45

REKAYASA

PERANGKAT LUNAK

Materi 1
PENDAHULUAN
1. Apakah Perangkat Lunak?
2. Apakah Rekayasa Perangkat Lunak (RPL) ?
3. Sejarah Singkat Perangkat Lunak
4. Jenis-Jenis Perangkat Lunak
5. Apa perbedaan antara RPL dengan ilmu komputer (computer
science) ?
6. Apa perbedaan RPL dan rekayasa sistem ?
7. Apa yang dimaksud dengan proses perangkat lunak ?
8. Apakah model proses perangkat lunak ?
9. Berapa biaya rekayasa perangkat lunak ?
10. Apa saja metode-metode RPL ?
11. Apa yang dimaksud dengan CASE (Computer-Aided Software
Engineering) ?
12. Apakah atribut-atribut perangkat lunak yang baik ?
13. Apa tantangan kunci yang dihadapi RPL ?
PERANGKAT LUNAK
 Perangkat Lunak (Software) tidak sama dengan
program komputer. Perangkat lunak tidak hanya
mencakup program, tetapi juga semua dokumentasi
dan konfigurasi data yang berhubungan, yang
diperlukan untuk membuat agar program beroperasi
dengan benar.
 Sistem Perangkat Lunak terdiri dari :
 Sejumlah program yg terpisah
 File-file konfigurasi
 Dokumentasi sistem
 Dokumentasi User
Sambungan
 Selama 3 dekade pertama dalam dunia
komputer, konsentrasi utama di tujukan
pada pengembangan perangkat keras
 Dekade 1990-an konsentrasi di tujukan
untuk memecahkan masalah dengan
perangkat lunak
 Perangkat lunak terdiri dari : program,
dokumen dan data
Sambungan
 Kemajuan teknologi perangkat lunak tentunya
diikuti dengan tingginya kebutuhan akan
perangkat lunak, sehingga akan mengakibatkan
mahalnya perangkat keras.
 Sisi lain adalah sulitnya untuk mengubah atau
menambah fungsi yang ada pada suatu
perangkat lunak, disebabkan tidak adanya
dokumentasi dari perangkat lunak yang baik
atau program tidak tersusun secara baik.
Sambungan
 A. Sistem Komputer :
 Perangkat Keras
 Perangkat Lunak
 Pengguna
 B. Algoritma
 C. Paradigma Rekayasa Perangkat Lunak
 Daur Hidup Klasik (The Classic Life Cycle)
 Prototipe (Prototyping)
 Model Spiral (The Spiral Model )
 Teknik Generasi Empat (Fourth-Generation Techniques)
Perangkat Keras (Piranti)
komponen-komponen fisik dari suatu sistem komputer

P.  P. Pemroses  P. Keluaran
Masukan

       
 

    P.    
Penyimpan
Perangkat Lunak
instruksi-instruksi yang harus dilakukan oleh
perangkat keras

• Sistem Operasi Tidak ada


• Bahasa Pemrograman Satu
Perangkat
• Aplikasi Pengolah Kata Lunak untuk
• Aplikasi Worksheet Semua
• Aplikasi Database
• Aplikasi Gambar
• Aplikasi Permainan / Games
• Aplikasi Browser
• Aplikasi …..
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 yg menarik (eye cathcing user
interface)
 Mempunyai siklus hidup yang cukup lama (long life time)
Coba sebutkan perangkat
keras yang anda kenal ???

Perangkat lunak yang anda


kenal ???
Pengguna / User
orang-orang yang membuat program atau sekedar
menggunakan program
Tidak ada
• Operator seorang pun
• Programmer yang dapat
• System Analyst menguasai
• User Interface Designer semuanya
• Web Designer
• Web Programmer
• Administrator
Hubungan Pengguna, PL & PK
Pengguna Operator, Pemrogram, Analis Sistem, Administrator
Komputer
   

P/L Aplikasi Kelompok Pengolah kata, Basis Data, Pengolah


Tabel, Browser, dsb

P/L Bahasa Kelompok Bahasa tingkat rendah, Bahasa Tingkat


Tinggi
P/L Sistem DOS, Unix, Windows dsb
Operasi
   

Perangkat Keras Peralatan Masukan, Pemroses, Penyimpan dan


Peralatan Keluaran
Apa itu Perangkat Lunak …..?

• Program komputer, dokumentasi & data


•Produk PL dibangun untuk user khusus
atau umum
Apa itu RPL …..?
• Disiplin ilmu rekayasa atau teknik yang
berkaitan dengan semua aspek
pembangunan PL
• RPL harus mengikuti pendekatan sistematis
& teratur dgn menggunakan alat & teknik
yg cocok dgn msl
• …….
Jenis-jenis aplikasi PL (1)
Perangkat lunak sistem
Sekumpulan 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 dunia nyata dan meresponnya dalam
waktu kurang dari 1 menit.
Misal: pengontrol arus udara, pengontrol keasaman
tabung reaksi , pengontrol reaksi nuklir, dll
Jenis-jenis aplikasi PL (2)
 Perangkat lunak teknik dan ilmu pengetahuan (scientific
& engineering software)
 Perangkat lunak yg menangani bidang teknik dan ilmu
pengetahuan 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 pada
perangkat lainnya (lunak/keras). Misal: pada kamera
digital, GPS, automobil, microwave, kulkas cerdas, dll
Jenis-jenis aplikasi PL (3)
 Perangkat lunak pengolah data (data processing)
Perangkat lunak yg khusus digunakan untuk
mengolah data dan menghasilkan suatu keputusan
tertentu. Misal: billing telepon, pengolah statistik
 Perangkat lunak sistem informasi (information
system)
Perangkat lunak yg mampu memberi informasi
dari suatu sistem secara lebih detail. Misal: web
site, perpustakaan digital, dll
Jenis-jenis aplikasi PL (4)
 Perangkat lunak sensor
Perangkat lunak yg mampu mengukur dan mengatur
suatu keadaan khusus, kadang digolongkan dalam
embedded system juga. Misal: pengatur cuaca,
pengatur suhu ruangan, dll
 Perangkat lunak komunikasi (communicaion
software) yaituPerangkat lunak yg berfungsi untuk
menghbugungkan atau mengkomunikasikan suatu
objek satu dengan lainnya. Misal: router,
handphone, dll
Jenis-jenis aplikasi PL (5)
 Perangkat lunak kantor (offices)
Perangkat lunak yg dirancang untuk membantu tugas-tugas
perkantoran.Misal: word processing, spreedsheet processing,
video conferences, dll
 Perangkat lunak pengolah grafis, Perangkat lunak yg
digunakan untuk melakukan perancangan grafis Misal:
pembuatan film, pembuatan poster
 Perangkat lunak kecerdasan, Perangkat lunak yg
menggunakan algoritma no-numeris untuk memecahkan
masalah kompleks yg tdk sesuai untuk perhitungan atau
analisis secara langsung Misal: sistem pakar, pembuktian
teorema, game strategi, jaringan saraf tiruan, dll
Sejarah perangkat lunak
 Perangkat lunak telah semakin berkembang sejak
pertama kali diciptakan tahun 1945
 Fokus utama pembuatannya untuk
mengembangkan praktik dan teknologi dalam
meningkatkan produktivitas para praktisi
pengembang PL dan kualitas aplikasi yg dapat
digunakan oleh pemakai
 Evolusi dipicu adanya tuntutan bisnis dan
lingkungan kerja yang berkembang sangat
dinamis
Era I (1945 –1960):
 Munculnya teknologi perangkat keras di tahap awal
 Penggunaan perangkat lunak yg berorientasi batch
 Distribusi perangkat lunak masih terbatas
 Didominasi perangkat lunak model custome
 Munculnya istilah software engineering(akhir
1950-an/awal 1960-an)
 Belum didefinisikan secara jelas tentang aspek –
software engineering
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
 Dua konferensi ttg software engineering:
 Profesi resmi bidang software engineering
Era III (1975 –1985)
 Pengembangan sistem mengarah ke konsep
sistem terdistribusi.
 Penerapan sistem embeded intelligence

 Harga perangkat keras sudah jauh lebih


murah shg pemakaian meluas
 Pemanfaatan jaringan global dan lokal serta
sudah diperkenalkan komunikasi digital
Era IV (1985 –2000)
 Kemampuan PC sudah setara dengan komputer
mainframe
 Penerapan teknologi yang berorientasi pada
objek
 Implementasi sistem pakar,

 Jaringan saraf tiruan

 Komputasi paralel

 Jaringan komputer sudah semakin canggih


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 namun powerfull
 Dilakukan berbagai penelitian yang menghasilkan model proses/paradigma
pengembangan PL utk mengatasi krisis PL
 Muncul teknik-teknik baru:Pemrograman terstruktur, Pemrograman
berientasi objek
 Perangkat bantu pengembangan (CASE tools)
 Standarisasi PL
 Metode UML
 Metode formal
Pentingnya PL & RPL

 Semua negara maju bergantung pada PL


 Makin banyak sistem dikendalikan oleh PL
 Harga PL pada PC lebih mahal dari PK
 RPL berkaitan dengan teori, alat & metode
untuk pembangunan PL secara profesional
 Biaya perawatan PL lebih mahal
dibandingkan dengan biaya pembuatannya
 RPL berkaitan dengan biaya efektif dari
pembuatan PL
RPL beda dgn Ilmu komputer

1. Ilmu komputer berkaitan dgn teori &


konsep-konsep dasar
2. RPL berkaitan dengan praktek
pembangunan PL
3. Teori ilmu komputer masih kurang
sebagai penyangga RPL
RPL beda dgn rekayasa sistem

1. Rekayasa sistem berkaitan dengan semua


aspek dlm pembangunan sistem berbasis
komputer
2. RPL adalah bagian dari rekayasa sistem
Apa itu Proses PL (Software Process)?
• Serangkaian aktifitas dengan tujuan
pembangunan atau evolusi PL
• Aktifitas umum dari Proses PL, yaitu:
- Spesifikasi
- Pembangunan sistem
- Validasi
- Evolusi
…….
Apa itu Pemodelan PL?
• Gambaran sederhana dari proses PL,
berdasarkan pandangan tertentu, seperti :
a) Work Flow
b) Data Flow
c) Role/Action
d) Model Proses
(Contoh Model Water Wall, Iterasi)
 Dua tipe produk perangkat lunak :
 Produk Generik  Sistem stand-alone standar yg
diproduksi oleh organisasi pengembang dan dijual
ke pasar terbuka ke siapapun yg membelinya.
Biasa disebut sebagai software shrink-wrapped.
Contoh : pengolah kata (word processor).
 Produk pesanan (yang disesuaikan)  Sistem yg
dipesan oleh pelanggan tertentu. Dikembangkan
khusus bagi pelanggan oleh kontraktor perangkat
lunak. Contoh : Sistem untuk mendukung proses
bisnis tertentu dan sistem kontrol lalu lintas udara.
 Perbedaan PENTING antara tipe2 perangkat
lunak :
 Pada produk generik, organisasi yang
mengembangkan perangkat lunak mengontrol
spesifikasi perangkat lunak.
 Pada produk pesanan, spesifikasi biasanya
dikembangkan dan dikontrol oleh organisasi yang
membeli perangkat lunak tersebut.
REKAYASA PERANGKAT
LUNAK
 RPL atau Software Engineering (SE)  Disiplin ilmu
yang membahas semua aspek produksi perangkat
lunak, mulai dari tahap awal spesifikasi sistem sampai
pemeliharaan sistem setelah digunakan. Ada 2 istilah
kunci disini :
 “disiplin rekayasa”  Perekayasa membuat suatu alat
bekerja. Menerapkan teori, metode, dan alat bantu yang
sesuai, selain itu mereka menggunakannya dengan selektif
dan selalu mencoba mencari solusi terhadap permasalahan.
 “semua aspek produksi perangkat lunak”  RPL tidak
hanya berhubungan dengan proses teknis dari
pengembangan perangkat lunak tetapi juga dengan kegiatan
seperti Manajemen proyek PL dan pengembangan alat
bantu, metode, dan teori untuk mendukung produksi PL.
Perbedaan antara RPL dengan
Computer Science ?
 Intinya, computer science berhubungan
dengan teori dan metode yang mendasari
sistem komputer dan perangkat lunak,
sedangkan RPL berhubungan dengan praktek
dalam memproduksi perangkat lunak.
Perbedaan RPL dengan Rekayasa
Sistem ?
 Rekayasa sistem berkaitan dengan semua aspek
dalam pembangunan sistem berbasis komputer
termasuk hardware, rekayasa PL dan proses. RPL
adalah bagian dari rekayasa sistem yang meliputi
pembangunan PL, infrasktruktur, kontrol, aplikasi
dan database pada sistem.
Proses Perangkat Lunak
 Serangkaian kegiatan dan hasil-hasil relevannya
yang menghasilkan perangkat lunak  sebagian
besar dilakukan oleh perekayasa perangkat lunak.
Ada 4 kegiatan/aktivitas pada proses PL :
1. Spesifikikasi Perangkat Lunak  Fungsionalitas
perangkat lunak dan batasan kemampuan operasinya
harus didefinisikan.
2. Pengembangan Perangkat Lunak  Perangkat lunak
yang memenuhi spesifikasi harus di produksi
3. Validasi Perangkat Lunak  Perangkat lunak harus
divalidasi untuk menjamin bahwa perangkat lunak
melakukan apa yang diinginkan oleh pelanggan.
4. Evolusi Perangkat Lunak  Perangkat lunak harus
berkembang untuk memenuhi kebutuhan pelanggan.
Model Proses Perangkat Lunak
 Merupakan deskripsi yang disederhanakan
dari proses perangkat lunak di presentasikan
dengan sudut pandang tertentu.
 Bisa mencakup kegiatan yang merupakan
bagian dari proses perangkat lunak, produk
perangkat lunak, dan peran orang yang terlibat
pada rekayasa perangkat lunak (Perekayasa
PL).
Contoh Jenis Model Proses PL
1. Model aliran kerja (workflow)  menunjukkan
kegiatan pada proses bersama dengan input, output,
dan ketergantungannya. Merepresentasikan
pekerjaan manusia.
2. Model aliran data (data flow)  merepresentasikan
proses sebagai suatu set kegiatan yang melakukan
transformasi data. Menunjukkan bagaimana input
ke proses, misalnya spesifikasi ditransformasi
menjadi output, misalnya menjadi desain.
3. Model peran/aksi  merepresentasikan peran orang
yang terlibat pada PL dan kegiatan yg menjadi
tanggung jawab mereka.
Model atau paradigma umum pada
proses PL
1. Model air terjun (waterfall)  Mengambil kegiatan
dasar seperti spesifikasi, pengembangan, validasi,
dan evolusi dan merepresentasikannya sebagai fase-
fase proses yang berbeda seperti spesifikasi
persyaratan, perancangan perangkat lunak,
implementasi, pengujian dan seterusnya.
2. Pengembangan evolusioner  Pendekatan ini
berhimpitan dengan kegiatan spesifikasi,
pengembangan, dan validasi. Sistem awal
dikembangkan dengan cepat dari spesifikasi abstrak.
Sistem ini kemudian di perbaiki dengan masukan
dari pelanggan untuk menghasilkan sistem yang
memuaskan kebutuhan pelanggan.
3. Pengembangan Sistem Formal 
Pendekatan ini menghasilkan suatu sistem
matematis yang formal dan
mentransformasikan spesifikasi ini, dengan
menggunakan metode matematik menjadi
sebuah program.
4. Pengembangan berdasarkan pemakaian
ulang (Reusable)  Teknik ini menganggap
bahwa bagian-bagian sistem sudah ada.
Proses pengembangan sistem terfokus pada
pengintegrasian bagian-bagian sistem dan
bukan pengembangannya dari awal.
Metode-metode RPL
 Pendekatan-pendekatan terstruktur terhadap pengembangan
perangkat lunak mencakup model, notasi, aturan, saran
pengembangan sistem (rekomendasi), dan panduan proses.

 Deskripsi model sistem  Deskripsi model yang harus


dikembangkan dan notasi yang digunakan untuk
mendefinisikan model-model ini. Ex : model aliran data.
 Aturan  Batasan yang berlaku bagi model sistem. Ex :
Setiap entitas pada model sistem harus memiliki nama
yang unik.
 Rekomendasi  Saran dalam membentuk perancangan
yang baik. Ex : Tidak ada objek yang memiliki lebih dari
tujuh sub-objek yang berhubungan dengannya.
 Panduan Proses  Aktifitas yang bisa diikuti untuk
mengembangkan model sistem. Ex : Atribut objek harus
didokumentasi sebelum mendefinisikan operasi yang
berhubungan dengan objek.
CASE (Computer-Aided Software
Engineering)

 Mencakup berbagai macam program yang


digunakan untuk mendukung kegiatan PL
seperti analisis persyaratan, pemodelan sistem,
debugging, dan pengujian.
Atribut-atribut PL yang baik
 Perangkat Lunak seharusnya memberikan user
kebutuhan fungsionalitas dan kinerja yang :
1. Dapat dipelihara (Maintanability)  PL harus
dapat memenuhi perubahan kebutuhan user.
2. Dapat diandalkan (Dependability)  PL harus
dapat dipercaya dan tidak menyebabkan kerusakan
fisik atau ekonomi jika terjadi kegagalan sistem.
3. Efisien  PL harus efisien dalam penggunaan
sumber daya sistem.
4. Kemampupakaian (Usability)  PL harus dapat
dipakai sesuai dengan yang direncanakan.
Tantangan Kunci yang dihadapi
RPL ?
1. Tantangan Warisan (Legacy)  Tantangan
memelihara dan meng-update PL sedemikian
sehingga biaya yg berlebihan dapat dihindari dan
layanan bisnis yg penting tetap dilakukan.
2. Tantangan Heterogenitas  Tantangan teknik
pengembangan untuk membangun perangkat lunak
yang dapat diandalkan dan cukup flexibel untuk
menghadapi heterogenitas yang ada.
3. Tantangan Pengiriman  Tantangan
mempersingkat waktu kirim sistem besar dan
kompleks, tanpa mengurangi kualitas sistem.

Anda mungkin juga menyukai