SlideShare a Scribd company logo
Rekayasa Perangkat Lunak
Pertemuan 2
Pengenalan Rekayasa Perangkat Lunak
Pembahasan
• Konsep dasar RPL (Software
Engineering)
• Model-model Pengembangan Soft.
• Siklus Hidup Perangkat Lunak
(SDLC/System Development Life
Cycle)
Pendahuluan
• Sebuah perbandingan dengan pembangunan fisik,
misalkan kita punya sebidang tanah.
• Bagaimana proses pembangunan rumah ?
 Jika dibangun secara cepat ? (hanya dibantu oleh
anak anda yang berumur 14 tahun)…
 Jika anda pergi ke sembarang pengembang…
 Jika Anda mempekerjakan seorang arsitek untuk
mendesain dari awal…
apakah yang akan dihasilkan ?
• Bagaimana dg membangun perangkat
lunak ?
• Bagaimana bila membuat soft., dengan langsung
menghadap computer, mulai mengetikkan baris-
baris code. Tidak ada kertas-kertas yang memuat
perancangan aristektur dan algoritma secara rinci,
kira2 apa yang akan terjadi ?
• Jadi kita perlu Rekayasa Perangkat
Lunak
What Software / PL
• IEEE-Standar Glossary of Software Engineering
Terminology, 1990:
“Computer programs, procedures, and
possibly associated documentation and
data pertaining to the operation of a
computer system.”
• Maksudnya :
Perangkat lunak merupakan kumpulan dari program komputer,
prosedur, serta dokumen dan data terkait yang saling berhubungan
untuk dioperasikan dalam sistem komputer komputer
Jenis Software (Market)
• Software Generik
Perangkat lunak standar yang
diproduksi oleh perusahaan
pengembang dan dijual pada
pasar terbuka ke siapapun
yang bisa membelinya (Shrink-
wrapped)
• Software Pesanan
Perangkat lunak yang
dikembangkan khusus dan
disesuaikan dengan kebutuhan
pelanggan
Jenis Software (Platform)
• ? (ingat pertemuan1)
Jenis Software (Lisensi)
1. Proprietary Software (hak
kepemilikan)
2. Open Source Software
Open Source Software
• Software yang source codenya terbuka dan
berlisensi untuk bersama/bebas memperbanyak
dan memodifikasi source code.
• Hak cipta tetap ada, tapi lisensi memungkinkan
orang lain bebas untuk menggunakan dan
memodifikasi software tersebut
• Jenis lisensi open source software:
– GNU General Public License (GPL)
– Apache License
– BSD license
– MIT License
– Mozilla Public License
Proprietary Software
• Software yang source codenya tertutup dan
didistribusikan dengan suatu format lisensi yang
membatasi pihak lain untuk menggunakan,
memperbanyak dan memodifikasi
• Lisensi proprietary software memungkinkan orang
lain menggunakan software yang kita buat dengan
diikuti penyerahan royalti (uang) ke pemilik hak
ciptanya
• Shareware dan Freeware adalah proprietary
software. Free for use belum tentu free for
(redistribute) atau free for modify!
Perangkat Lunak Berdasarkan
Fungsionalnya
• INTERFACING: Perangkat lunak ini
menghubungkan suatu perangkat keras tertentu,
seperti hardware driver, interfaces dengan
perangkat keras lain.
Contoh :
– Driver untuk Kamera, Handphone atau
perangkat keras lainnya
– Program interface seperti Sensor Suhu dengan
LM 555, PPI 8255, Komunikasi Serial RS 232.
Perangkat Lunak Berdasarkan
Fungsionalnya
• OPERATING SYSTEM: Perangkat lunak yang
menjalankan sistem komputer dan merupakan
interface dari sistem komputer dan program aplikasi
yang berjalan diatasnya.
• Beberapa OS yang dikenal secara luas:
– Microsoft Windows
– Linux dan variansnya, seperti Redhat, SuSE,
Mandrake, Debian, dsb.
– Unix
– FreeBSD
– Macintosh (Apple)
Perangkat Lunak Berdasarkan
Fungsionalnya
• PROGRAM APLIKASI: program ini digunakan
untuk keperluan tertentu, yang tujuannya
membantu pekerjaan manusia menjadi lebih
mudah. Program ini yang banyak dibahas dalam
pembuatan perangkat lunak.
• Program Aplikasi ini tergantung pada kebutuhan
dari program itu sendiri, seperti:
– Program Office
– Program Graphics Design
– Program Multimedia
– dan lain-lain
Peranan Perangkat Lunak
1. Menggantikan peran
manusia: Dengan
otomasi terhadap suatu
tugas atau proses
2. Memperkuat peran
manusia: Dengan
membantu manusia
mengerjakan suatu
tugas atau proses
dengan lebih baik dan
tertata
Peranan Perangkat Lunak
3. Restrukturisasi Peran
Manusia: Dengan melakukan
perubahan-perubahan thd
sekumpulan tugas atau proses
4. Hiburan dan Permainan:
Dengan menyajikan aplikasi
interaktif hiburan yang
semakin dekat dengan
kenyataan
Konsep Peranan Software
• Software dikembangkan karena ada
kebutuhan (requirement) dari pengguna
untuk komputerisasi suatu proses
konvensional
• Software datang untuk memecahkan
masalah dan memberi solusi bagi manusia
• Software datang bukan untuk membuat
masalah (baru)!
Karakteristik PL
• 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)
Proses Perangkat Lunak
• Spesifikasi – apa yang harus dilakukan oleh
perangkat lunak dan batasan/kendala
pengembangannya
• Pengembangan – proses memproduksi sistem
perangkat lunak
• Validasi – pengujian perangkat lunak terhadap
keinginan penggunak
• Evolusi – perubahan perangkat lunak berdasarkan
perubahan keinginan.
Mitos Software:
Dari sudut pandang Client
MITOS REALITA
Mencukupkan pemahaman
permasalahan bersifat umum,
selanjutnya isian secara rinci
dilakukan kemudian.
Definisi yang tidak rinci diawal
requirement atau kebutuhan adalah
penyebab utama kegagalan dan
keterlambatan perangkat lunak.
Kebutuhan Proyek terus berubah,
tetapi menganggap enteng akan
perubahan yang akan terjadi
Ingat biaya dari perubahan perangkat
lunak adalah mahal.
Mitos Software:
Dari sudut pandang Developer
MITOS REALITA
Setelah program ditulis dan
bekerja, pekerjaan pengembang
telah selesai.
50% -70% dari usaha pengeluaran
program terjadi setelah dikirim ke
pelanggan.
Sampai program berjalan, tidak ada
cara untuk menilai kualitas.
Review Software dapat lebih
efektif dalam menemukan kesalahan
daripada melakukan pengujian.
dl.
Mitos Software:
Dari sudut pandang Manajemen
MITOS REALITA
Ada Buku standar sehingga
perangkat lunak yang
dikembangkan akan memuaskan.
Buku mungkin ada, tetapi mereka
biasanya tidak up to date dan tidak
digunakan.
Komputer dan kakas (tools)
perangkat lunak yang tersedia
sudah cukup.
CASE tools diperlukan tetapi biasanya
tidak diperoleh atau tidak digunakan.
Kita selalu dapat menambahkan
jumlah programmer jika proyek
terlambat penyelesaiannya
"Menambahkan orang untuk proyek
yang terlambat akan membuat
penyelesaian perangkat lunak lebih
terlambat "-. Brooks
What is Software Engineering
Apa Software Engineering
(Rekayasa Perangkat Lunak)
• Disiplin ilmu yg membahas semua aspek produksi
perangkat lunak, mulai dari tahap awal spesifikasi
sistem sampai pemeliharaan sistem setelah
digunakan.
• Perangkat Lunak yang dibuat harus mampu:
 Tepat waktu
 Tepat anggaran
 Meningkatkan kinerja
 Mengoperasikan prosedur sistem dengan
benar
Mengapa Software Engineering?
• Terminologi rekayasa perangkat lunak (software
engineering) pertama kali digunakan pada sebuah
international conference ttg software crisis tahun
1968
• Krisis perangkat lunak merupakan akibat langsung
dari lahirnya komputer generasi ke 3 yang canggih
(pada waktu itu)
• Perangkat lunak yang dihasilkan menjadi menjadi
beberapa kali lebih besar dan kompleks
• Pendekatan informal tidak cukup efektif (cost,
waktu dan kualitas) dalam pengembangan
perangkat lunak
• Biaya hardware jatuh dan biaya perangkat lunak
naik cepat
Generasi Komputer
1. Generasi I (1946-1959)
 Menggunakan tabung hampa
 ENIAC, EDSAC
2. Generasi II (1959-1964)
 Menggunakan transistor
 PDP-1, PDP-8, UNIVAC, IBM
70xx
3. Generasi III (1964-1979)
 Menggunakan IC
 IBM S360, NOVA, UNIVAC
1108
4. Generasi IV (1980-sekarang)
 Menggunakan VLSI
Perkembangan Software
– Generasi Awal
• Batch orientation
• Custom software
– Generasi Kedua
• Multi-user, Real-time
• Database
• Product software
– Generasi Ketiga
• Distributed systems
• Low cost hardware
– Generasi 4 dan 5
• Desktop systems
• Object Oriented
Technologies
• Expert Systems
• AI, neural networks
• Parallel computing
• Network computers
Perbedaan RPL dengan Rekayasa Sistem
(RS)?
• Rekayasa Sistem (RS) 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.
Bagaimana seharusnya
diterapkan RPL
• Cakupan RPL :
– Produk = Software
• Programs
• Documents
• Data
– Proses bagaimana membangun perangkat lunak
• Management process
• Technical process
Produk RPL
• Produk diperoleh melalui tahapan
Pengembangan = Software Development Life
Cycle (SDLC)
• Contoh siklus hidup (SDLC):
– Waterfall model
– V model
– Spiral model
– Fountain model
– Prototyping
Proses RPL
• Management Process meliputi:
– Project management
– Configuration management
– Quality Assurance management
Proses RPL
• Technical Process, digambarkan sebagai
metode yang akan diterapkan dalam tahap
tertentu dari SDLC
– Analysis methods
– Design methods
– Programming methods
– Testing methods
• Metode teknis ini yang memunculkan
paradigma seperti berorientasi terstruktur,
objek, aspek, dll
Kapan diterapkan RPL
• Pre-project
• Project Initiation
• Project Realisation
• Software Delivery & Maintenance
Siapa yang terlibat RPL
• Manager
– Project Manager
– Configuration Manager
– Quality Assurance Manager
• Software Developer:
– Analyst
– Designer
– Programmer
• Support
– Administration
– Technical Support for Customer (help desk,
customer care)
– Welfare (Kesejahteraan)
Tanggung Jawab Profesional dan Etis
Diadopsi dari presentasi Ian Sommeriville, 2006 36
• RPL melibatkan tanggung jawab yang lebih besar
dari sekedar penerapan keahlian teknis.
• Rekayasawan perangkat lunak harus berlaku
secara jujur dan etis jika ingin dihargai sebagai
profesional.
• Perilaku etis lebih dari sekedar menjunjung tinggi
hukum.
Tanggung Jawab Profesional
Diadopsi dari presentasi Ian Sommeriville, 2006 37
• Kerahasiaan
– Rekayasawan harus menghargai kerahasiaan
pegawai atau kliennya.
• Kompeten
– Rekayasawan tidak boleh memberi gambaran yang
salah tentang tingkat kompetensinya. Mereka tidak
boleh secara sadar menerima pekerjaan yang diluar
kompetensinya.
CASE
(Computer-Aided Software Engineering)
• Perangkat lunak sistem yang dimaksudkan untuk
memberikan dukungan otomatis untuk kegiatan
proses perangkat lunak.
• CASE sistem sering digunakan untuk mendukung
metode.
– Upper-CASE
• Tools (Alat/Kakas) untuk mendukung proses
kegiatan awal penggalian kebutuhan, analisis dan
desain
– Lower-CASE
• Alat untuk mendukung kegiatan berikutnya seperti
pemrograman, debugging dan pengujian.
CASE
(Computer-Aided Software Engineering)
• Penggunaan CASE tools:
– Graphical editors → membuat model sistem
– Data dictionaries → mengatur unit-unit proyek
– GUI builders → mengkonstruksi antarmuka pemakai
– Debugger → mencari kesalahan yg mungkin terjadi
– Automated translators → pembangkitan source code
program otomatis
– Compilator integrated → membuat antarmuka,
koding, hingga membentuk aplikasi yg bisa
dijalankan
– Instalator kit → membuat file instalasi/setup
– dll
Apa atribut perangkat lunak yang baik
• Perangkat lunak ini harus memberikan fungsi yang
diperlukan dan kinerja bagi pengguna dan harus
dipertahankan, diandalkan dan dapat diterima.
– Maintainability (mudah dipelihara/dirawat)
• Software harus berevolusi untuk memenuhi perubahan
kebutuhan
– Dependability (dapat diandalkan)
• Software harus dapat dipercaya
– Efficiency (Daya Guna)
• Efisien dalam penggunaan sumber daya sistem (memori,
hardware, listrik, dll)
– Acceptability (Dapat diterima)
• Perangkat Lunak harus diterima oleh pengguna seperti yang
pernah dirancang. Ini berarti harus bisa dimengerti,
digunakan dan kompatibel dengan sistem lainnya.
Apa saja tantangan utama yang dihadapi
RPL?
• Heterogeneity (keberagaman)
– Mengembangkan teknik untuk membangun perangkat
lunak yang dapat mengatasi perbedaan platform dan
lingkungan eksekusi.
• Delivery (pengiriman)
– Mengembangkan teknik yang mengakibatkan pengiriman
perangkat lunak lebih cepat.
• Trust (kepercayaan)
– Mengembangkan teknik yang menunjukkan bahwa
perangkat lunak
dapat dipercaya oleh para penggunanya.
Model Proses PL
• Suatu representasi proses perangkat lunak yang
disederhanakan, dipresentasikan dari perspektif
khusus
• Contoh perspektif proses:
 Perspektif Alur-kerja (workflow) - barisan kegiatan
 Perspektif Alur Data (Data flow) – alur informasi
 Perspektif Peran/Aksi – siapa melakukan apa.
SOFTWARE DEVELOPMENT LIFE CYCLE
Proses Generik
• Spesifikasi
 Apa yang harus dilakukan oleh perangkat lunak dan
batasan/kendala pengembangannya
• Pengembangan
– Proses memproduksi sistem perangkat lunak
• Validasi
– Pengujian perangkat lunak terhadap keinginan
pengguna
• Evolusi
– Perubahan perangkat lunak berdasarkan perubahan
keinginan.
Proses Rekayasa Perangkat Lunak
• Biasanya, spesifikasi tidak lengkap/menyimpang
dari biasanya (anomalous)
• Lebih menghilangkan pembedaan sampai
spesifikasi, desain, dan manufacture
• Tidak dalam bentuk fisik untuk menguji sistem
• Software tidak bisa wear-out.
– Maintenance bukan berarti mengganti komponen
Model-model Pengembangan PL
• Model waterfall,
• Model prototyping,
• Model evolutionary
• Model Spiral
• Reuse Based Development
Model Waterfall
Tugas : buat model waterfall dari buku terbaru
Model waterfall (Count)
• Requirements analysis and definition
– Pembentukan kebutuhan
• System and software design
– Mengubah kebutuhan-kebutuhan menjadi bentuk
karakteristik yang dimerngerti perangkat lunak
• Implementation and unit testing
– Penulisan program
• Integration and system testing
– Memeriksa program, mencari kesalahan
• Operation and maintenance
– Pemeliharaansistem, menambahkan fungsi
Problems Model Waterfall
• Jarang sekali proyek yang prosesnya bisa
dilakukan secara sequencial.
• Sukar bagi customer untuk secara explisit
mengemukakan semua kebutuhannya.
• Customer harus sabar.
• Developer sering menunda pekerjaan. Anggota
tim harus menunggu anggota lainnya
menyelesaikan tugasnya.
Model Prototyping
• Sering terjadi customer menjabarkan objektif
umum mengenai software yang diminta, tetapi
tidak bisa mendefinisakan input, proses, output
yang diminta secara detail.
• Disisi lain, developer menjadi tidak yakin
terhadap efisiensi algoritma, kemampuan
adaptasi terhadap sistem operasi, atau bentuk
interaksi mesin dengan orang.
• Untuk mengatasi situasi tersebut, bisa digunakan
pendekatan Prototype Paradigm.
Model Prototyping (Count.1)
Tugas : buat model prototyping dari buku
terbaru
Model Prototyping (Count.2)
Model prototyping (Count.3)
• Prototype Paradigm dimulai dengan mengumpulkan
kebutuhan-kebutuhan customer.
• Developer dan customer bertemudan mendefinisikan
obyektif software secara menyeluruh, mengidentifikasi
kebutuhan-kebutuhan yang diketahui dari area pekerjaan.
• Setelah itu dibuat Quick Design.
• Quick Design difokuskan pada representasi aspek software
yang bisa dilihat customer/user (misal: format input dan
output).
• Quick Design cenderung ke pembuatan prototipe.
• Prototipe dievaluasi customer/user dan digunakanuntuk
menyempurnakan kebutuhan software yang akan
dikembangkan.
Problems Prototyping Model
• Customer melihat prototipe tersebut sebagai versi
dari software.
– Pada saat produk tersebut harus dibangun ulang
supaya level kualitasbisa terjamin,
• customer akan mengeluh dan meminta sedikit
perubahan saja supaya prototipe tersebut bisa
berjalan.
• Development membuat implemetasi yang
kompromitas dengan tujuan untuk memperoleh
prototipe pekerjaan secara cepat.
– Dampaknya adalah sistem operasi atau bahasa
pemrograman yang dipergunakan tidak tepat,
algoritma tidak efisien.
Evolutionary Model
Evolutionary Model (Count.1)
Evolutionary Model (Count.2)
• Evolutionary Model (Componen Assembly)
Evolutionary Model (Count.3)
Reuse Based
• Apakah itu?
– Restrukturisasi atau menulis ulang sebagian atau keseluruhan
dari sistem yang telah ada tanpa merubah fungsionalitasnya.
• Kapan?
– Ketika sebagian tetapi tidak semua sub sistem yg besar
membutuhkan perawatan yg sering
– Ketika HW dan SW sudah lama hampir tak berfungsi
• Bagaimana?
– Sistem bisa di restrukturisasi dan didokumentasi ulang untuk
membuat menjadi mudah dalam perawatan
• Mengapa?
– Mengurangi resiko
• SW yang baru dibangun membawa resiko yg tinggi
– Mengurangi biaya
• Biaya untuk re-engineering sering lebih kecil dibanding
membangun SW baru.
Software Reengineering (Count.1)
Reverse engineering
• Analisis SW kembali dalam tahap pemahaman dlm desain
dan spesifikasinya
• Bisa sebagian proses re-engineering atau sebagian
spesifikasi sistem untuk diimplementasi ulang
• Membangun database dan bangkitkan program informasi dari
proses ini
• Mengapa?
– Kode aslinya ada keterbatasan dimana sudah terlalu lama, misal
kebutuhan memori, kinerja, dll
– Perawatan terbentur pada struktur dan program yang rusak
sehingga membutuhkan kerja yg sangat keras
– Program secara otomatis distrukturisasi ulang untuk
menghilangkan beberapa bagian yang tidak beres dalam kondisi
yang sangat kompleks.

More Related Content

What's hot

Kurikulum rekayasa perangkat lunak smk
Kurikulum rekayasa perangkat lunak smkKurikulum rekayasa perangkat lunak smk
Kurikulum rekayasa perangkat lunak smk
Tenia Wahyuningrum
 
02 software engineering
02 software engineering02 software engineering
02 software engineering
Rian Rian
 
Ragam Model Proses Perangkat Lunak
Ragam Model Proses Perangkat LunakRagam Model Proses Perangkat Lunak
Ragam Model Proses Perangkat Lunak
SMK Kartika XX-1 Makassar
 
1 pengenalanrpl
1 pengenalanrpl1 pengenalanrpl
1 pengenalanrplmamas12
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlc
mistertugas
 
Konsep Rekayasa Perangakat Lunak
Konsep Rekayasa Perangakat LunakKonsep Rekayasa Perangakat Lunak
Konsep Rekayasa Perangakat Lunak
SMK Kartika XX-1 Makassar
 
Pertemuan 2 Pemodelan Perangkat Lunak
Pertemuan 2 Pemodelan Perangkat Lunak Pertemuan 2 Pemodelan Perangkat Lunak
Pertemuan 2 Pemodelan Perangkat Lunak
Disma Ariyanti W
 
Modul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunakModul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunak
Nita Resta Dewi
 
Tugas MPPL
Tugas MPPLTugas MPPL
Kd 1 lengkap + kd 2 pertemuan 1
Kd 1 lengkap + kd 2 pertemuan 1Kd 1 lengkap + kd 2 pertemuan 1
Kd 1 lengkap + kd 2 pertemuan 1
maisya28
 
Rpl 1-introduction
Rpl 1-introductionRpl 1-introduction
Rpl 1-introductionf' yagami
 
Pengenalan RPL
Pengenalan RPLPengenalan RPL
Pengenalan RPL
Rangga Dwi Sri Nardi
 
Proses proses perangkat lunak
Proses proses perangkat lunakProses proses perangkat lunak
Proses proses perangkat lunakarfianti
 
Produk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakProduk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat Lunak
Lusiana Diyan
 
Metode pengembangan RPL dan DFD
Metode pengembangan RPL dan DFDMetode pengembangan RPL dan DFD
Metode pengembangan RPL dan DFD
Ayu Rahmala
 
rekayasa perangkat lunak
rekayasa perangkat lunakrekayasa perangkat lunak
rekayasa perangkat lunakWandi Parlente
 
Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)gleebelle
 
Rpl 03 - proses proses perangkat lunak
Rpl   03 - proses proses perangkat lunakRpl   03 - proses proses perangkat lunak
Rpl 03 - proses proses perangkat lunak
Febriyani Syafri
 

What's hot (18)

Kurikulum rekayasa perangkat lunak smk
Kurikulum rekayasa perangkat lunak smkKurikulum rekayasa perangkat lunak smk
Kurikulum rekayasa perangkat lunak smk
 
02 software engineering
02 software engineering02 software engineering
02 software engineering
 
Ragam Model Proses Perangkat Lunak
Ragam Model Proses Perangkat LunakRagam Model Proses Perangkat Lunak
Ragam Model Proses Perangkat Lunak
 
1 pengenalanrpl
1 pengenalanrpl1 pengenalanrpl
1 pengenalanrpl
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlc
 
Konsep Rekayasa Perangakat Lunak
Konsep Rekayasa Perangakat LunakKonsep Rekayasa Perangakat Lunak
Konsep Rekayasa Perangakat Lunak
 
Pertemuan 2 Pemodelan Perangkat Lunak
Pertemuan 2 Pemodelan Perangkat Lunak Pertemuan 2 Pemodelan Perangkat Lunak
Pertemuan 2 Pemodelan Perangkat Lunak
 
Modul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunakModul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunak
 
Tugas MPPL
Tugas MPPLTugas MPPL
Tugas MPPL
 
Kd 1 lengkap + kd 2 pertemuan 1
Kd 1 lengkap + kd 2 pertemuan 1Kd 1 lengkap + kd 2 pertemuan 1
Kd 1 lengkap + kd 2 pertemuan 1
 
Rpl 1-introduction
Rpl 1-introductionRpl 1-introduction
Rpl 1-introduction
 
Pengenalan RPL
Pengenalan RPLPengenalan RPL
Pengenalan RPL
 
Proses proses perangkat lunak
Proses proses perangkat lunakProses proses perangkat lunak
Proses proses perangkat lunak
 
Produk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakProduk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat Lunak
 
Metode pengembangan RPL dan DFD
Metode pengembangan RPL dan DFDMetode pengembangan RPL dan DFD
Metode pengembangan RPL dan DFD
 
rekayasa perangkat lunak
rekayasa perangkat lunakrekayasa perangkat lunak
rekayasa perangkat lunak
 
Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)
 
Rpl 03 - proses proses perangkat lunak
Rpl   03 - proses proses perangkat lunakRpl   03 - proses proses perangkat lunak
Rpl 03 - proses proses perangkat lunak
 

Similar to rpl-2-1.pptx

Lanjutan Pert 2.pptx
Lanjutan Pert 2.pptxLanjutan Pert 2.pptx
Lanjutan Pert 2.pptx
merisipahutar
 
Pengenalan RPL
Pengenalan RPLPengenalan RPL
Pengenalan RPL
Robby Firmansyah
 
Manajemen proyek perangkat lunak 1
Manajemen proyek perangkat lunak 1Manajemen proyek perangkat lunak 1
Manajemen proyek perangkat lunak 1
Elia Syaeffulloh
 
RPL.ppt
RPL.pptRPL.ppt
RPL.ppt
ArdieGucci
 
KU1: Mampu mengkomunikasikan ide dan solusi secara efektif dalam pengembangan...
KU1: Mampu mengkomunikasikan ide dan solusi secara efektif dalam pengembangan...KU1: Mampu mengkomunikasikan ide dan solusi secara efektif dalam pengembangan...
KU1: Mampu mengkomunikasikan ide dan solusi secara efektif dalam pengembangan...
DadangDiding1
 
Pengenalan Rekayasa Perangkat Lunak 1.ppt
Pengenalan Rekayasa Perangkat Lunak 1.pptPengenalan Rekayasa Perangkat Lunak 1.ppt
Pengenalan Rekayasa Perangkat Lunak 1.ppt
wisnumandaya
 
RPL 2 - Rekayasa Perangkat Lunak_Depi.pptx
RPL 2 - Rekayasa Perangkat Lunak_Depi.pptxRPL 2 - Rekayasa Perangkat Lunak_Depi.pptx
RPL 2 - Rekayasa Perangkat Lunak_Depi.pptx
diandra63
 
Materi rekayasa-perangkat-lunak
Materi rekayasa-perangkat-lunakMateri rekayasa-perangkat-lunak
Materi rekayasa-perangkat-lunak
oktafianoandreas
 
Pengembangan Perangkat Lunak & Gim .ppt
Pengembangan Perangkat Lunak & Gim  .pptPengembangan Perangkat Lunak & Gim  .ppt
Pengembangan Perangkat Lunak & Gim .ppt
AzaAkbar
 
Pertemuan 2 pemrograman mobile.pptx
Pertemuan 2 pemrograman mobile.pptxPertemuan 2 pemrograman mobile.pptx
Pertemuan 2 pemrograman mobile.pptx
TaufikIqbalR1
 
1-1 PPL.pptx
1-1 PPL.pptx1-1 PPL.pptx
1-1 PPL.pptx
NakhlanASagara
 
Pertemuan 2.pdf
Pertemuan 2.pdfPertemuan 2.pdf
Pertemuan 2.pdf
TaufikIqbalR1
 
Rpl
RplRpl
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlc
mistertugas
 
Materi Pertemuan Pertama Rekayasa Perangkat Lunak
Materi Pertemuan Pertama Rekayasa Perangkat LunakMateri Pertemuan Pertama Rekayasa Perangkat Lunak
Materi Pertemuan Pertama Rekayasa Perangkat Lunak
MarciaRizkyHamdala1
 
materi lanjutan.ppt
materi lanjutan.pptmateri lanjutan.ppt
materi lanjutan.ppt
JokoSuprianto24
 
pengenalan_rekayasa_perangkat_lunak.ppt
pengenalan_rekayasa_perangkat_lunak.pptpengenalan_rekayasa_perangkat_lunak.ppt
pengenalan_rekayasa_perangkat_lunak.ppt
AgiHusni
 
Topik 4 Software Perangkat Lunak
Topik 4 Software Perangkat LunakTopik 4 Software Perangkat Lunak
Topik 4 Software Perangkat Lunak
I Komang Agustino
 

Similar to rpl-2-1.pptx (20)

Lanjutan Pert 2.pptx
Lanjutan Pert 2.pptxLanjutan Pert 2.pptx
Lanjutan Pert 2.pptx
 
Pengenalan RPL
Pengenalan RPLPengenalan RPL
Pengenalan RPL
 
Manajemen proyek perangkat lunak 1
Manajemen proyek perangkat lunak 1Manajemen proyek perangkat lunak 1
Manajemen proyek perangkat lunak 1
 
RPL.ppt
RPL.pptRPL.ppt
RPL.ppt
 
KU1: Mampu mengkomunikasikan ide dan solusi secara efektif dalam pengembangan...
KU1: Mampu mengkomunikasikan ide dan solusi secara efektif dalam pengembangan...KU1: Mampu mengkomunikasikan ide dan solusi secara efektif dalam pengembangan...
KU1: Mampu mengkomunikasikan ide dan solusi secara efektif dalam pengembangan...
 
Pengenalan Rekayasa Perangkat Lunak 1.ppt
Pengenalan Rekayasa Perangkat Lunak 1.pptPengenalan Rekayasa Perangkat Lunak 1.ppt
Pengenalan Rekayasa Perangkat Lunak 1.ppt
 
RPL 2 - Rekayasa Perangkat Lunak_Depi.pptx
RPL 2 - Rekayasa Perangkat Lunak_Depi.pptxRPL 2 - Rekayasa Perangkat Lunak_Depi.pptx
RPL 2 - Rekayasa Perangkat Lunak_Depi.pptx
 
Materi rekayasa-perangkat-lunak
Materi rekayasa-perangkat-lunakMateri rekayasa-perangkat-lunak
Materi rekayasa-perangkat-lunak
 
Pengembangan Perangkat Lunak & Gim .ppt
Pengembangan Perangkat Lunak & Gim  .pptPengembangan Perangkat Lunak & Gim  .ppt
Pengembangan Perangkat Lunak & Gim .ppt
 
Pertemuan 2 pemrograman mobile.pptx
Pertemuan 2 pemrograman mobile.pptxPertemuan 2 pemrograman mobile.pptx
Pertemuan 2 pemrograman mobile.pptx
 
1-1 PPL.pptx
1-1 PPL.pptx1-1 PPL.pptx
1-1 PPL.pptx
 
Rekayasa perangkat lunak
Rekayasa perangkat lunakRekayasa perangkat lunak
Rekayasa perangkat lunak
 
Pertemuan 2.pdf
Pertemuan 2.pdfPertemuan 2.pdf
Pertemuan 2.pdf
 
materi 2..pptx
materi 2..pptxmateri 2..pptx
materi 2..pptx
 
Rpl
RplRpl
Rpl
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlc
 
Materi Pertemuan Pertama Rekayasa Perangkat Lunak
Materi Pertemuan Pertama Rekayasa Perangkat LunakMateri Pertemuan Pertama Rekayasa Perangkat Lunak
Materi Pertemuan Pertama Rekayasa Perangkat Lunak
 
materi lanjutan.ppt
materi lanjutan.pptmateri lanjutan.ppt
materi lanjutan.ppt
 
pengenalan_rekayasa_perangkat_lunak.ppt
pengenalan_rekayasa_perangkat_lunak.pptpengenalan_rekayasa_perangkat_lunak.ppt
pengenalan_rekayasa_perangkat_lunak.ppt
 
Topik 4 Software Perangkat Lunak
Topik 4 Software Perangkat LunakTopik 4 Software Perangkat Lunak
Topik 4 Software Perangkat Lunak
 

More from abdansyakuuro1

RAMADHAN 1443.pptx
RAMADHAN 1443.pptxRAMADHAN 1443.pptx
RAMADHAN 1443.pptx
abdansyakuuro1
 
DALIL AL-QURAN HADITS TTG HAJI DAN UMROH.pptx
DALIL  AL-QURAN HADITS  TTG HAJI DAN UMROH.pptxDALIL  AL-QURAN HADITS  TTG HAJI DAN UMROH.pptx
DALIL AL-QURAN HADITS TTG HAJI DAN UMROH.pptx
abdansyakuuro1
 
RUTE HAJI GELOMBANG 2.pptx
RUTE HAJI GELOMBANG 2.pptxRUTE HAJI GELOMBANG 2.pptx
RUTE HAJI GELOMBANG 2.pptx
abdansyakuuro1
 
rute pelaksanaan haji gel I.pptx
rute pelaksanaan haji gel I.pptxrute pelaksanaan haji gel I.pptx
rute pelaksanaan haji gel I.pptx
abdansyakuuro1
 
Jenis Thawaf.pptx
Jenis Thawaf.pptxJenis Thawaf.pptx
Jenis Thawaf.pptx
abdansyakuuro1
 
mabit dan nafar.pptx
mabit dan nafar.pptxmabit dan nafar.pptx
mabit dan nafar.pptx
abdansyakuuro1
 
MAQOM IJABAH DOA GAMBAR.pptx
MAQOM IJABAH DOA GAMBAR.pptxMAQOM IJABAH DOA GAMBAR.pptx
MAQOM IJABAH DOA GAMBAR.pptx
abdansyakuuro1
 
Presentasi tugas software Linux mint.pptx
Presentasi tugas software Linux mint.pptxPresentasi tugas software Linux mint.pptx
Presentasi tugas software Linux mint.pptx
abdansyakuuro1
 
materi-akidah-akhlak.pptx
materi-akidah-akhlak.pptxmateri-akidah-akhlak.pptx
materi-akidah-akhlak.pptx
abdansyakuuro1
 
Presentasi Kelompok 3 TI-D algorithm.docx
Presentasi Kelompok 3 TI-D algorithm.docxPresentasi Kelompok 3 TI-D algorithm.docx
Presentasi Kelompok 3 TI-D algorithm.docx
abdansyakuuro1
 
TUGAS 2 KEAMANAN SISTEM di Kartu kredit.pptx
TUGAS 2 KEAMANAN SISTEM di Kartu kredit.pptxTUGAS 2 KEAMANAN SISTEM di Kartu kredit.pptx
TUGAS 2 KEAMANAN SISTEM di Kartu kredit.pptx
abdansyakuuro1
 
presentasi keamanan sistem.pptx
presentasi keamanan sistem.pptxpresentasi keamanan sistem.pptx
presentasi keamanan sistem.pptx
abdansyakuuro1
 

More from abdansyakuuro1 (12)

RAMADHAN 1443.pptx
RAMADHAN 1443.pptxRAMADHAN 1443.pptx
RAMADHAN 1443.pptx
 
DALIL AL-QURAN HADITS TTG HAJI DAN UMROH.pptx
DALIL  AL-QURAN HADITS  TTG HAJI DAN UMROH.pptxDALIL  AL-QURAN HADITS  TTG HAJI DAN UMROH.pptx
DALIL AL-QURAN HADITS TTG HAJI DAN UMROH.pptx
 
RUTE HAJI GELOMBANG 2.pptx
RUTE HAJI GELOMBANG 2.pptxRUTE HAJI GELOMBANG 2.pptx
RUTE HAJI GELOMBANG 2.pptx
 
rute pelaksanaan haji gel I.pptx
rute pelaksanaan haji gel I.pptxrute pelaksanaan haji gel I.pptx
rute pelaksanaan haji gel I.pptx
 
Jenis Thawaf.pptx
Jenis Thawaf.pptxJenis Thawaf.pptx
Jenis Thawaf.pptx
 
mabit dan nafar.pptx
mabit dan nafar.pptxmabit dan nafar.pptx
mabit dan nafar.pptx
 
MAQOM IJABAH DOA GAMBAR.pptx
MAQOM IJABAH DOA GAMBAR.pptxMAQOM IJABAH DOA GAMBAR.pptx
MAQOM IJABAH DOA GAMBAR.pptx
 
Presentasi tugas software Linux mint.pptx
Presentasi tugas software Linux mint.pptxPresentasi tugas software Linux mint.pptx
Presentasi tugas software Linux mint.pptx
 
materi-akidah-akhlak.pptx
materi-akidah-akhlak.pptxmateri-akidah-akhlak.pptx
materi-akidah-akhlak.pptx
 
Presentasi Kelompok 3 TI-D algorithm.docx
Presentasi Kelompok 3 TI-D algorithm.docxPresentasi Kelompok 3 TI-D algorithm.docx
Presentasi Kelompok 3 TI-D algorithm.docx
 
TUGAS 2 KEAMANAN SISTEM di Kartu kredit.pptx
TUGAS 2 KEAMANAN SISTEM di Kartu kredit.pptxTUGAS 2 KEAMANAN SISTEM di Kartu kredit.pptx
TUGAS 2 KEAMANAN SISTEM di Kartu kredit.pptx
 
presentasi keamanan sistem.pptx
presentasi keamanan sistem.pptxpresentasi keamanan sistem.pptx
presentasi keamanan sistem.pptx
 

Recently uploaded

654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021
renprogarksd3
 
manajer lapangan pelaksana gedung SKK JENJANG 6
manajer lapangan pelaksana gedung SKK JENJANG 6manajer lapangan pelaksana gedung SKK JENJANG 6
manajer lapangan pelaksana gedung SKK JENJANG 6
MhdFadliansyah1
 
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera PendidikanTransformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
deamardiana1
 
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
mtsarridho
 
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis JurnalA.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
Ekhwan2
 
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasi
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasiAnalisis Korelasi dan penjelasannya juga bedanya dengan korelasi
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasi
afaturooo
 
Apa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptxApa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptx
AssyifaFarahDiba1
 
bahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gatewaybahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gateway
subbidtekinfo813
 
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIPPERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
Pemdes Wonoyoso
 
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITASSURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
Pemdes Wonoyoso
 
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffffLAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
acehirfan
 
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdfM. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
AjrunAzhiima
 
Modul Ajar Seni Rupa - Melukis Pemandangan - Fase B.pdf
Modul Ajar Seni Rupa - Melukis Pemandangan  - Fase B.pdfModul Ajar Seni Rupa - Melukis Pemandangan  - Fase B.pdf
Modul Ajar Seni Rupa - Melukis Pemandangan - Fase B.pdf
MiliaSumendap
 
Materi matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptxMateri matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptx
BanjarMasin4
 

Recently uploaded (14)

654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021
 
manajer lapangan pelaksana gedung SKK JENJANG 6
manajer lapangan pelaksana gedung SKK JENJANG 6manajer lapangan pelaksana gedung SKK JENJANG 6
manajer lapangan pelaksana gedung SKK JENJANG 6
 
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera PendidikanTransformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
 
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
 
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis JurnalA.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
 
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasi
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasiAnalisis Korelasi dan penjelasannya juga bedanya dengan korelasi
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasi
 
Apa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptxApa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptx
 
bahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gatewaybahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gateway
 
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIPPERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
 
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITASSURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
 
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffffLAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
 
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdfM. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
 
Modul Ajar Seni Rupa - Melukis Pemandangan - Fase B.pdf
Modul Ajar Seni Rupa - Melukis Pemandangan  - Fase B.pdfModul Ajar Seni Rupa - Melukis Pemandangan  - Fase B.pdf
Modul Ajar Seni Rupa - Melukis Pemandangan - Fase B.pdf
 
Materi matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptxMateri matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptx
 

rpl-2-1.pptx

  • 1. Rekayasa Perangkat Lunak Pertemuan 2 Pengenalan Rekayasa Perangkat Lunak
  • 2. Pembahasan • Konsep dasar RPL (Software Engineering) • Model-model Pengembangan Soft. • Siklus Hidup Perangkat Lunak (SDLC/System Development Life Cycle)
  • 3. Pendahuluan • Sebuah perbandingan dengan pembangunan fisik, misalkan kita punya sebidang tanah. • Bagaimana proses pembangunan rumah ?  Jika dibangun secara cepat ? (hanya dibantu oleh anak anda yang berumur 14 tahun)…  Jika anda pergi ke sembarang pengembang…  Jika Anda mempekerjakan seorang arsitek untuk mendesain dari awal… apakah yang akan dihasilkan ?
  • 4. • Bagaimana dg membangun perangkat lunak ? • Bagaimana bila membuat soft., dengan langsung menghadap computer, mulai mengetikkan baris- baris code. Tidak ada kertas-kertas yang memuat perancangan aristektur dan algoritma secara rinci, kira2 apa yang akan terjadi ? • Jadi kita perlu Rekayasa Perangkat Lunak
  • 5. What Software / PL • IEEE-Standar Glossary of Software Engineering Terminology, 1990: “Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system.” • Maksudnya : Perangkat lunak merupakan kumpulan dari program komputer, prosedur, serta dokumen dan data terkait yang saling berhubungan untuk dioperasikan dalam sistem komputer komputer
  • 6. Jenis Software (Market) • Software Generik Perangkat lunak standar yang diproduksi oleh perusahaan pengembang dan dijual pada pasar terbuka ke siapapun yang bisa membelinya (Shrink- wrapped) • Software Pesanan Perangkat lunak yang dikembangkan khusus dan disesuaikan dengan kebutuhan pelanggan
  • 7. Jenis Software (Platform) • ? (ingat pertemuan1)
  • 8. Jenis Software (Lisensi) 1. Proprietary Software (hak kepemilikan) 2. Open Source Software
  • 9. Open Source Software • Software yang source codenya terbuka dan berlisensi untuk bersama/bebas memperbanyak dan memodifikasi source code. • Hak cipta tetap ada, tapi lisensi memungkinkan orang lain bebas untuk menggunakan dan memodifikasi software tersebut • Jenis lisensi open source software: – GNU General Public License (GPL) – Apache License – BSD license – MIT License – Mozilla Public License
  • 10. Proprietary Software • Software yang source codenya tertutup dan didistribusikan dengan suatu format lisensi yang membatasi pihak lain untuk menggunakan, memperbanyak dan memodifikasi • Lisensi proprietary software memungkinkan orang lain menggunakan software yang kita buat dengan diikuti penyerahan royalti (uang) ke pemilik hak ciptanya • Shareware dan Freeware adalah proprietary software. Free for use belum tentu free for (redistribute) atau free for modify!
  • 11. Perangkat Lunak Berdasarkan Fungsionalnya • INTERFACING: Perangkat lunak ini menghubungkan suatu perangkat keras tertentu, seperti hardware driver, interfaces dengan perangkat keras lain. Contoh : – Driver untuk Kamera, Handphone atau perangkat keras lainnya – Program interface seperti Sensor Suhu dengan LM 555, PPI 8255, Komunikasi Serial RS 232.
  • 12. Perangkat Lunak Berdasarkan Fungsionalnya • OPERATING SYSTEM: Perangkat lunak yang menjalankan sistem komputer dan merupakan interface dari sistem komputer dan program aplikasi yang berjalan diatasnya. • Beberapa OS yang dikenal secara luas: – Microsoft Windows – Linux dan variansnya, seperti Redhat, SuSE, Mandrake, Debian, dsb. – Unix – FreeBSD – Macintosh (Apple)
  • 13. Perangkat Lunak Berdasarkan Fungsionalnya • PROGRAM APLIKASI: program ini digunakan untuk keperluan tertentu, yang tujuannya membantu pekerjaan manusia menjadi lebih mudah. Program ini yang banyak dibahas dalam pembuatan perangkat lunak. • Program Aplikasi ini tergantung pada kebutuhan dari program itu sendiri, seperti: – Program Office – Program Graphics Design – Program Multimedia – dan lain-lain
  • 14. Peranan Perangkat Lunak 1. Menggantikan peran manusia: Dengan otomasi terhadap suatu tugas atau proses 2. Memperkuat peran manusia: Dengan membantu manusia mengerjakan suatu tugas atau proses dengan lebih baik dan tertata
  • 15. Peranan Perangkat Lunak 3. Restrukturisasi Peran Manusia: Dengan melakukan perubahan-perubahan thd sekumpulan tugas atau proses 4. Hiburan dan Permainan: Dengan menyajikan aplikasi interaktif hiburan yang semakin dekat dengan kenyataan
  • 16. Konsep Peranan Software • Software dikembangkan karena ada kebutuhan (requirement) dari pengguna untuk komputerisasi suatu proses konvensional • Software datang untuk memecahkan masalah dan memberi solusi bagi manusia • Software datang bukan untuk membuat masalah (baru)!
  • 17.
  • 18.
  • 19. Karakteristik PL • 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)
  • 20. Proses Perangkat Lunak • Spesifikasi – apa yang harus dilakukan oleh perangkat lunak dan batasan/kendala pengembangannya • Pengembangan – proses memproduksi sistem perangkat lunak • Validasi – pengujian perangkat lunak terhadap keinginan penggunak • Evolusi – perubahan perangkat lunak berdasarkan perubahan keinginan.
  • 21. Mitos Software: Dari sudut pandang Client MITOS REALITA Mencukupkan pemahaman permasalahan bersifat umum, selanjutnya isian secara rinci dilakukan kemudian. Definisi yang tidak rinci diawal requirement atau kebutuhan adalah penyebab utama kegagalan dan keterlambatan perangkat lunak. Kebutuhan Proyek terus berubah, tetapi menganggap enteng akan perubahan yang akan terjadi Ingat biaya dari perubahan perangkat lunak adalah mahal.
  • 22. Mitos Software: Dari sudut pandang Developer MITOS REALITA Setelah program ditulis dan bekerja, pekerjaan pengembang telah selesai. 50% -70% dari usaha pengeluaran program terjadi setelah dikirim ke pelanggan. Sampai program berjalan, tidak ada cara untuk menilai kualitas. Review Software dapat lebih efektif dalam menemukan kesalahan daripada melakukan pengujian. dl.
  • 23. Mitos Software: Dari sudut pandang Manajemen MITOS REALITA Ada Buku standar sehingga perangkat lunak yang dikembangkan akan memuaskan. Buku mungkin ada, tetapi mereka biasanya tidak up to date dan tidak digunakan. Komputer dan kakas (tools) perangkat lunak yang tersedia sudah cukup. CASE tools diperlukan tetapi biasanya tidak diperoleh atau tidak digunakan. Kita selalu dapat menambahkan jumlah programmer jika proyek terlambat penyelesaiannya "Menambahkan orang untuk proyek yang terlambat akan membuat penyelesaian perangkat lunak lebih terlambat "-. Brooks
  • 24. What is Software Engineering
  • 25. Apa Software Engineering (Rekayasa Perangkat Lunak) • Disiplin ilmu yg membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan. • Perangkat Lunak yang dibuat harus mampu:  Tepat waktu  Tepat anggaran  Meningkatkan kinerja  Mengoperasikan prosedur sistem dengan benar
  • 26. Mengapa Software Engineering? • Terminologi rekayasa perangkat lunak (software engineering) pertama kali digunakan pada sebuah international conference ttg software crisis tahun 1968 • Krisis perangkat lunak merupakan akibat langsung dari lahirnya komputer generasi ke 3 yang canggih (pada waktu itu) • Perangkat lunak yang dihasilkan menjadi menjadi beberapa kali lebih besar dan kompleks • Pendekatan informal tidak cukup efektif (cost, waktu dan kualitas) dalam pengembangan perangkat lunak • Biaya hardware jatuh dan biaya perangkat lunak naik cepat
  • 27. Generasi Komputer 1. Generasi I (1946-1959)  Menggunakan tabung hampa  ENIAC, EDSAC 2. Generasi II (1959-1964)  Menggunakan transistor  PDP-1, PDP-8, UNIVAC, IBM 70xx 3. Generasi III (1964-1979)  Menggunakan IC  IBM S360, NOVA, UNIVAC 1108 4. Generasi IV (1980-sekarang)  Menggunakan VLSI
  • 28. Perkembangan Software – Generasi Awal • Batch orientation • Custom software – Generasi Kedua • Multi-user, Real-time • Database • Product software – Generasi Ketiga • Distributed systems • Low cost hardware – Generasi 4 dan 5 • Desktop systems • Object Oriented Technologies • Expert Systems • AI, neural networks • Parallel computing • Network computers
  • 29. Perbedaan RPL dengan Rekayasa Sistem (RS)? • Rekayasa Sistem (RS) 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.
  • 30. Bagaimana seharusnya diterapkan RPL • Cakupan RPL : – Produk = Software • Programs • Documents • Data – Proses bagaimana membangun perangkat lunak • Management process • Technical process
  • 31. Produk RPL • Produk diperoleh melalui tahapan Pengembangan = Software Development Life Cycle (SDLC) • Contoh siklus hidup (SDLC): – Waterfall model – V model – Spiral model – Fountain model – Prototyping
  • 32. Proses RPL • Management Process meliputi: – Project management – Configuration management – Quality Assurance management
  • 33. Proses RPL • Technical Process, digambarkan sebagai metode yang akan diterapkan dalam tahap tertentu dari SDLC – Analysis methods – Design methods – Programming methods – Testing methods • Metode teknis ini yang memunculkan paradigma seperti berorientasi terstruktur, objek, aspek, dll
  • 34. Kapan diterapkan RPL • Pre-project • Project Initiation • Project Realisation • Software Delivery & Maintenance
  • 35. Siapa yang terlibat RPL • Manager – Project Manager – Configuration Manager – Quality Assurance Manager • Software Developer: – Analyst – Designer – Programmer • Support – Administration – Technical Support for Customer (help desk, customer care) – Welfare (Kesejahteraan)
  • 36. Tanggung Jawab Profesional dan Etis Diadopsi dari presentasi Ian Sommeriville, 2006 36 • RPL melibatkan tanggung jawab yang lebih besar dari sekedar penerapan keahlian teknis. • Rekayasawan perangkat lunak harus berlaku secara jujur dan etis jika ingin dihargai sebagai profesional. • Perilaku etis lebih dari sekedar menjunjung tinggi hukum.
  • 37. Tanggung Jawab Profesional Diadopsi dari presentasi Ian Sommeriville, 2006 37 • Kerahasiaan – Rekayasawan harus menghargai kerahasiaan pegawai atau kliennya. • Kompeten – Rekayasawan tidak boleh memberi gambaran yang salah tentang tingkat kompetensinya. Mereka tidak boleh secara sadar menerima pekerjaan yang diluar kompetensinya.
  • 38. CASE (Computer-Aided Software Engineering) • Perangkat lunak sistem yang dimaksudkan untuk memberikan dukungan otomatis untuk kegiatan proses perangkat lunak. • CASE sistem sering digunakan untuk mendukung metode. – Upper-CASE • Tools (Alat/Kakas) untuk mendukung proses kegiatan awal penggalian kebutuhan, analisis dan desain – Lower-CASE • Alat untuk mendukung kegiatan berikutnya seperti pemrograman, debugging dan pengujian.
  • 39. CASE (Computer-Aided Software Engineering) • Penggunaan CASE tools: – Graphical editors → membuat model sistem – Data dictionaries → mengatur unit-unit proyek – GUI builders → mengkonstruksi antarmuka pemakai – Debugger → mencari kesalahan yg mungkin terjadi – Automated translators → pembangkitan source code program otomatis – Compilator integrated → membuat antarmuka, koding, hingga membentuk aplikasi yg bisa dijalankan – Instalator kit → membuat file instalasi/setup – dll
  • 40. Apa atribut perangkat lunak yang baik • Perangkat lunak ini harus memberikan fungsi yang diperlukan dan kinerja bagi pengguna dan harus dipertahankan, diandalkan dan dapat diterima. – Maintainability (mudah dipelihara/dirawat) • Software harus berevolusi untuk memenuhi perubahan kebutuhan – Dependability (dapat diandalkan) • Software harus dapat dipercaya – Efficiency (Daya Guna) • Efisien dalam penggunaan sumber daya sistem (memori, hardware, listrik, dll) – Acceptability (Dapat diterima) • Perangkat Lunak harus diterima oleh pengguna seperti yang pernah dirancang. Ini berarti harus bisa dimengerti, digunakan dan kompatibel dengan sistem lainnya.
  • 41. Apa saja tantangan utama yang dihadapi RPL? • Heterogeneity (keberagaman) – Mengembangkan teknik untuk membangun perangkat lunak yang dapat mengatasi perbedaan platform dan lingkungan eksekusi. • Delivery (pengiriman) – Mengembangkan teknik yang mengakibatkan pengiriman perangkat lunak lebih cepat. • Trust (kepercayaan) – Mengembangkan teknik yang menunjukkan bahwa perangkat lunak dapat dipercaya oleh para penggunanya.
  • 42. Model Proses PL • Suatu representasi proses perangkat lunak yang disederhanakan, dipresentasikan dari perspektif khusus • Contoh perspektif proses:  Perspektif Alur-kerja (workflow) - barisan kegiatan  Perspektif Alur Data (Data flow) – alur informasi  Perspektif Peran/Aksi – siapa melakukan apa.
  • 44. Proses Generik • Spesifikasi  Apa yang harus dilakukan oleh perangkat lunak dan batasan/kendala pengembangannya • Pengembangan – Proses memproduksi sistem perangkat lunak • Validasi – Pengujian perangkat lunak terhadap keinginan pengguna • Evolusi – Perubahan perangkat lunak berdasarkan perubahan keinginan.
  • 45. Proses Rekayasa Perangkat Lunak • Biasanya, spesifikasi tidak lengkap/menyimpang dari biasanya (anomalous) • Lebih menghilangkan pembedaan sampai spesifikasi, desain, dan manufacture • Tidak dalam bentuk fisik untuk menguji sistem • Software tidak bisa wear-out. – Maintenance bukan berarti mengganti komponen
  • 46. Model-model Pengembangan PL • Model waterfall, • Model prototyping, • Model evolutionary • Model Spiral • Reuse Based Development
  • 47. Model Waterfall Tugas : buat model waterfall dari buku terbaru
  • 48. Model waterfall (Count) • Requirements analysis and definition – Pembentukan kebutuhan • System and software design – Mengubah kebutuhan-kebutuhan menjadi bentuk karakteristik yang dimerngerti perangkat lunak • Implementation and unit testing – Penulisan program • Integration and system testing – Memeriksa program, mencari kesalahan • Operation and maintenance – Pemeliharaansistem, menambahkan fungsi
  • 49. Problems Model Waterfall • Jarang sekali proyek yang prosesnya bisa dilakukan secara sequencial. • Sukar bagi customer untuk secara explisit mengemukakan semua kebutuhannya. • Customer harus sabar. • Developer sering menunda pekerjaan. Anggota tim harus menunggu anggota lainnya menyelesaikan tugasnya.
  • 50. Model Prototyping • Sering terjadi customer menjabarkan objektif umum mengenai software yang diminta, tetapi tidak bisa mendefinisakan input, proses, output yang diminta secara detail. • Disisi lain, developer menjadi tidak yakin terhadap efisiensi algoritma, kemampuan adaptasi terhadap sistem operasi, atau bentuk interaksi mesin dengan orang. • Untuk mengatasi situasi tersebut, bisa digunakan pendekatan Prototype Paradigm.
  • 51. Model Prototyping (Count.1) Tugas : buat model prototyping dari buku terbaru
  • 53. Model prototyping (Count.3) • Prototype Paradigm dimulai dengan mengumpulkan kebutuhan-kebutuhan customer. • Developer dan customer bertemudan mendefinisikan obyektif software secara menyeluruh, mengidentifikasi kebutuhan-kebutuhan yang diketahui dari area pekerjaan. • Setelah itu dibuat Quick Design. • Quick Design difokuskan pada representasi aspek software yang bisa dilihat customer/user (misal: format input dan output). • Quick Design cenderung ke pembuatan prototipe. • Prototipe dievaluasi customer/user dan digunakanuntuk menyempurnakan kebutuhan software yang akan dikembangkan.
  • 54. Problems Prototyping Model • Customer melihat prototipe tersebut sebagai versi dari software. – Pada saat produk tersebut harus dibangun ulang supaya level kualitasbisa terjamin, • customer akan mengeluh dan meminta sedikit perubahan saja supaya prototipe tersebut bisa berjalan. • Development membuat implemetasi yang kompromitas dengan tujuan untuk memperoleh prototipe pekerjaan secara cepat. – Dampaknya adalah sistem operasi atau bahasa pemrograman yang dipergunakan tidak tepat, algoritma tidak efisien.
  • 57. Evolutionary Model (Count.2) • Evolutionary Model (Componen Assembly)
  • 59. Reuse Based • Apakah itu? – Restrukturisasi atau menulis ulang sebagian atau keseluruhan dari sistem yang telah ada tanpa merubah fungsionalitasnya. • Kapan? – Ketika sebagian tetapi tidak semua sub sistem yg besar membutuhkan perawatan yg sering – Ketika HW dan SW sudah lama hampir tak berfungsi • Bagaimana? – Sistem bisa di restrukturisasi dan didokumentasi ulang untuk membuat menjadi mudah dalam perawatan • Mengapa? – Mengurangi resiko • SW yang baru dibangun membawa resiko yg tinggi – Mengurangi biaya • Biaya untuk re-engineering sering lebih kecil dibanding membangun SW baru.
  • 61. Reverse engineering • Analisis SW kembali dalam tahap pemahaman dlm desain dan spesifikasinya • Bisa sebagian proses re-engineering atau sebagian spesifikasi sistem untuk diimplementasi ulang • Membangun database dan bangkitkan program informasi dari proses ini • Mengapa? – Kode aslinya ada keterbatasan dimana sudah terlalu lama, misal kebutuhan memori, kinerja, dll – Perawatan terbentur pada struktur dan program yang rusak sehingga membutuhkan kerja yg sangat keras – Program secara otomatis distrukturisasi ulang untuk menghilangkan beberapa bagian yang tidak beres dalam kondisi yang sangat kompleks.