SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Model Software
Engginer
Rakhmi Khalida, S.T., M.M.S.I
Software engineering paradigma (ada 3) :
1. Classic Life Cycle Paradigma
RPL
Model Software Engineering
(cont.)
SISTEM ENGINEERING
ANALYS
DESIGN
CODE
TESTING
MAINTENANCE
Kelebihan Model Sekuensial Linear / Waterfall Development Model :
 Tahapan proses pengembangannya tetap (pasti), mudah diaplikasikan, dan prosesnya teratur.
 Cocok digunakan untuk produk software/program yang sudah jelas kebutuhannya di awal, sehingga
minim kesalahannya.
 Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
 Documen pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan
lengkap sebelum melangkah ke fase berikutnya.
Kekurangan Model Sekuensial Linear / Waterfall Development Model :
• Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang
terjadi dapat menyebabkan hasil yang sudah didapatkan tim pengembang harus diubah kembali/iterasi
sering menyebabkan masalah baru.
• Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan
pada tahap awal proses.
• Sulit untuk mengalami perubahan kebutuhan yang diinginkan oleh customer/pelanggan.
• Pelanggan harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap, dan proses
pengerjaanya akan berlanjut ke setiap tahapan bila tahap sebelumnya sudah benar-benar selesai.
• Perubahan ditengah-tengah pengerjaan produk akan membuat bingung tim pengembang yang sedang
membuat produk.
• Adanya waktu kosong (menganggur) bagi pengembang, karena harus menunggu anggota tim proyek
lainnya menuntaskan pekerjaannya.
Contoh dari penerapan model pengembangan ini adalah pembuatan program
pendaftaran online ke suatu Instansi Pendidikan. Program ini akan sangat membantu
dalam proses pendaftaran, karena dapat meng-efektifkan waktu serta pendaftar tidak
perlu repot-repot langsung mendatangi Instansi Pendidikan. Teknisnya adalah sebagai
berikut :
Sistem program untuk pendaftaran dibuat menggunakan bahasa pemrograman PHP,
dengan Sistem Database yang dibuat menggunakan MySQL, dan diterapkan
(diaplikasikan) pada PC (personal computer) dengan sistem operasi berbasis
Microsoft Windows, Linux, dan sebagainya.
Setelah program selesai dibuat dan kemudian dipergunakan oleh user, programmer
akan memelihara serta menambah atau menyesuaikan program dengan kebutuhan
serta kondisi user.
2. Prototype Paradigma
RPL
Model Software Engineering
(cont.)
REQUIMENTS GATHERING
"QUICK DESIGN"
BUILD PROTOTYPE
EVALUATED AND REFINEMENTS
ENGINEER PRODUCT
Kelebihan Model Prototype :
•Pelanggan berpartisipasi aktif dalam pengembangan sistem, sehingga hasil produk pengembangan akan
semakin mudah disesuaikan dengan keinginan dan kebutuhan pelanggan.
•Penentuan kebutuhan lebih mudah diwujudkan.
•Mempersingkat waktu pengembangan produk perangkat lunak.
•Adanya komunikasi yang baik antara pengembang dan pelanggan.
•Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
•Lebih menghemat waktu dalam pengembangan sistem.
•Penerapan menjadi lebih mudah karena pelanggan mengetahui apa yang diharapkannya.
Kekurangan Model Prototype :
•Proses analisis dan perancangan terlalu singkat.
•Biasanya kurang fleksibel dalam mengahadapi perubahan.
•Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak
menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang.
•Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang
tidak relevan dan algoritma yang tidak efisien.
Sebuah rumah sakit ingin membuat aplikasi sistem database untuk pendataan
pasiennya. Seorang atau sekelompok programmer akan melakukan identifikasi
mengenai apa saja yang dibutuhkan oleh pelanggan, dan bagaimana model kerja
program tersebut. Kemudian dilakukan rancangan program yang diujikan kepada
pelanggan. Hasil/penilaian dari pelanggan dievaluasi, dan analisis kebutuhan pemakai
kembali di lakukan.
3. Fourth Generation Technique Paradigma
RPL
Model Software Engineering
(cont.)
REQUIMENTS GATHERING
"DESIGN STRATEGICS"
IMPLEMENTATION USING 4GL
PRODUCT
Metode pengembangan perangkat lunak 4GT menggunakan perangkat bantu (tools)
yang akan membuat kode sumber secara otomatis berdasarkan spesifikasi dari
pengembang perangkat lunak. Hanya digunakan untuk menggunakan perangkat
lunak yang menggunakan bahasa khusus atau notasi grafik yang diselesaikan dengan
syarat yang dimengerti pemakai.
Saat ini pengembangan perangkat lunak yang mendukung 4GT, berisi tool-tool
berikut:
Bahasa non prosedural untuk query basis data;
Report generation;
Data manipulation ;
Interaksi layar ;
Kemampuan grafik level tinggi ;
Kemampuan spreadsheet .
Kelebihan dari metode pengembangan perangkat lunak ini diantaranya :
•Pengurangan waktu dan peningkatan produktivitas secara besar
•Karena 4GT menggunakan 4GL yang merupakan bahasa pemrograman yang khusus dirancang dengan
tujuan tertentu (spesifik), maka untuk permasalahan yang tertentu dengan 4GL tertentu pula sangat
tepat menggunakan 4GT.
•Tool yang menggunakan metode pengembangan perangkat lunak 4GL bisa meng-generate sistem dari
output yang dihasilkan oleh CASE tools.
Kekurangan metode pengembangan perangkat lunak ini
•Penggunaan perangkat bantu (tools) dibandingkan dengan bahasa pemrograman, dan juga kode
sumber yang dihasilkannya tidak efisien.
•Untuk usaha yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau digunakan
bahasa 4GL.
•Penggunaan 4GT tanpa perencanaan matang (untuk proyek besar) akan menyebabkan kesulitan yang
sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan pelanggan) seperti dengan metode
konvensional.
•4GL tidak selalu berhasil menghasilkan sistem yang diinginkan.
4. Model Kombinasi
RPL
Model Software Engineering
(cont.)
REQUIMENTS
GATHERINGS
PROTOTY PING
PROTOTY PE
APPLY
4GL
EVALUATE
ENGINEER
PRODUCT
CLASSIC LIFE
CYCLE
DAPAT LANGSUNG JIKA PENDEKATANNY A JELAS
Rational Unified Process (RUP)
Rational Unified Process (RUP) merupakan suatu model pengembangan sistem secara
objek oriented yang dikembangkan oleh Rational Rose, bagian dari IBM. Secara luas,
RUP telah diakui sebagai standar metodologi pengembangan sistem berorientasi
objek. Vesri asli dari RUP didefinisikan sangat rumit untuk setiap kegiatan, namun
versi terbaru dari RUP yakni metodologinya lebih sederhana.
>> RUP tepat digunakan saat kondisi :
a. Pengembangan perangkat lunak yang berorientasi objek dengan berfokus pada
UML (Unified Modeling Language).
b. Mempunyai waktu pengembangan yang panjang.
c. Dikembangkan pada perangkat lunak sebagai sarana interaksi antara pengguna dan
perangkat keras.
d. Mempunyai tim programmer yang cukup banyak.
e. Pengembangan dan perubahan perangkat lunak berdasarkan kebutuhan user.
>> Keuntungan Pengembangan Perangkat Lunak RUP :
a. Menyediakan akses yang mudah terhadap pengetahuan dasar bagi anggota tim.
b. Menyediakan petunjuk bagaimana menggunakan UML secara efektif.
c. Mendukung proses pengulangan dalam pengembangan software.
d. Memungkinkan adanya penambahan-penambahan pada proses.
e. Memungkinkan untuk secara sistematis mengontrol perubahan-perubahan yang terjadi
pada software selama proses pengembangannya.
f. Memungkinkan untuk menjalankan test case dengan menggunakan Rational Test Manager
Tool
>> Kekurangan Pengembangan Perangkat Lunak RUP :
a. Metodologi ini hanya dapat digunakan pada pengembangan perangkat lunak yang
berorientasi objek dengan berfokus pada UML (Unified Modeling Language).
b. Membutuhkan waktu yang cukup lama dibandingkan XP dan Scrum
Rational Unified Process (RUP)
Extreme Programming (XP)
XP merupakan suatu model yang tergolong dalam pendekatan agile yang diusulkan oleh Kent
Back. Menurut penjelasannya, definisi XP adalah sebagai berikut: “Extreme Programming (XP)
is a lightweight, efficient, low-risk, flexible, predictable, scientific, and fun way to develop
software”. Model ini cenderung menggunakan pendekatan Object-Oriented serta tahapan-
tahapan yang harus dilalui antara lain: Planning, Design, Coding, dan Testing.
Sasaran Extreme Programming adalah tim yang dibentuk berukuran antara kecil sampai
medium saja, tidak perlu menggunakan sebuah tim yang besar. Hal ini dimaksudkan untuk
menghadapi requirements yang tidak jelas maupun terjadinya perubahan-perubahan
requirements yang sangat cepat. Extreme Programming merupakan agile methods yang
paling banyak digunakan dan menjadi sebuah pendekatan yang sangat terkenal.
>> XP tepat digunakan saat kondisi:
a. Keperluan berubah dengan cepat
b. Resiko tinggi dan ada proyek dengan tantangan yang baru
c. Tim programmer sedikit, yaitu 2-10 orang
d. Mampu mengotomatiskan tes
e. Ada campur tangan klien secara langsung
>> Kelemahan XP:
a. Cerita-cerita yang menunjukkan requirements kemungkinan besar tidak lengkap sehingga
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
b. Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk
melakukan apa yang diperlukan hari itu juga).
c. XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya
dokumentasi adalah dokumentasi awal yang dilakukan oleh user.
Agile Modeling
Agile Modeling merupakan filosofi tentang bagaimana membangun model dengan
beberapa diantaranya dilakukan dengan format yang terperinci sedangkan model lain
beberapa ada yang dilakukan secara samar dan minimalis. Agile Software
Development juga melihat pentingnya komunikasi antara anggota tim, antara orang-
orang teknis dan businessman, serta antara developer dan managernya. Ciri lain dari
Agile Software Development adalah klien menjadi bagian dari tim pembangun
software.
>> Kelebihan dari Agile Modeling:
a. Meningkatkan kepuasan kepada klien
b. Pembangunan sistem dibuat lebih cepat
c. Mengurangi resiko kegagalan implementasi software dari segi non-teknis
d. Jika pada saat pembangunan system terjadi kegagalan,kerugian dari segi materi
relative kecil.
>> Kelemahan dari Agile Modeling:
Developer harus selalu siap dengan perubahan karena perubahan akan selalu
diterima.
Scrum merupakan suatu kerangka kerja yang berupa deskripsi rinci tentang
bagaimana segala sesuatu yang harus dilakukan pada proyek. Hal ini dilakukan
dikarenakan tim akan tahu bagaimana cara terbaik untuk memecahkan masalah yang
disajikan untuk mereka.
Ada 3 elemen organisasi utama pada scrum yaitu :
OWNER
Scrum master
Scrum team
SCRUM Modeling
>> Scrum tepat digunakan saat kondisi:
a. Keperluan berubah dengan cepat
b. Tim programmer sedikit, yaitu 5-9 orang
c. Pelanggan tidak terlalu paham dengan apa yang diinginkan
>> Scrum memiliki prinsip yaitu:
a. Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan
memberdayakan satu sama lain
b. Proses dapat beradaptasi terhadap perubahan teknis dan bisnis
c. Proses menghasilkan beberapa software increment
d. Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
e. Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
f. Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
>> Kelebihan Scrum antara lain:
a. Keperluan berubah dengan cepat
b. Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan
memberdayakan satu sama lain
c. Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
d. Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
e. Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
>> Kelemahan Scrum antara lain:
Developer harus selalu siap dengan perubahan karena perubahan akan selalu
diterima.

Más contenido relacionado

La actualidad más candente

Rpl 2- sw process model
Rpl 2- sw process modelRpl 2- sw process model
Rpl 2- sw process modelf' yagami
 
Bab 2 proses pembangunan perangkat lunak
Bab 2   proses pembangunan perangkat lunakBab 2   proses pembangunan perangkat lunak
Bab 2 proses pembangunan perangkat lunaksahrul salam
 
Tahapan pengembangan perangkat lunak
Tahapan pengembangan perangkat lunakTahapan pengembangan perangkat lunak
Tahapan pengembangan perangkat lunakRobbyyanto Robbyyanto
 
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 1maisya28
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakLusiana Diyan
 
Model life cycle software
Model life cycle softwareModel life cycle software
Model life cycle softwareHarzalik Meank
 
rekayasa perangkat lunak
rekayasa perangkat lunakrekayasa perangkat lunak
rekayasa perangkat lunakWandi Parlente
 
C7 Integrating SQA to PLC
C7 Integrating SQA to PLCC7 Integrating SQA to PLC
C7 Integrating SQA to PLCIka Nurkasanah
 
Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)gleebelle
 
Pemodelan perangkat lunak
Pemodelan perangkat lunakPemodelan perangkat lunak
Pemodelan perangkat lunakAdityaSaputra83
 
Kelompok 2 agile software development
Kelompok 2   agile software developmentKelompok 2   agile software development
Kelompok 2 agile software developmentHendri Winarto
 
Pengembangan perangkat lunak model spiral
Pengembangan perangkat lunak model spiralPengembangan perangkat lunak model spiral
Pengembangan perangkat lunak model spiralDavid Rigan
 
MPPL Chapter 4
MPPL Chapter 4MPPL Chapter 4
MPPL Chapter 4beiharira
 
Modul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunakModul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunakNita Resta Dewi
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlcmistertugas
 

La actualidad más candente (19)

Materi ppl
Materi pplMateri ppl
Materi ppl
 
Rpl 2- sw process model
Rpl 2- sw process modelRpl 2- sw process model
Rpl 2- sw process model
 
Bab 2 proses pembangunan perangkat lunak
Bab 2   proses pembangunan perangkat lunakBab 2   proses pembangunan perangkat lunak
Bab 2 proses pembangunan perangkat lunak
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Tahapan pengembangan perangkat lunak
Tahapan pengembangan perangkat lunakTahapan pengembangan perangkat lunak
Tahapan pengembangan perangkat lunak
 
RPL
RPLRPL
RPL
 
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
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat Lunak
 
Model life cycle software
Model life cycle softwareModel life cycle software
Model life cycle software
 
rekayasa perangkat lunak
rekayasa perangkat lunakrekayasa perangkat lunak
rekayasa perangkat lunak
 
RPL_Kelompok
RPL_KelompokRPL_Kelompok
RPL_Kelompok
 
C7 Integrating SQA to PLC
C7 Integrating SQA to PLCC7 Integrating SQA to PLC
C7 Integrating SQA to PLC
 
Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)Pertemuan ke 1 (perangkat lunak)
Pertemuan ke 1 (perangkat lunak)
 
Pemodelan perangkat lunak
Pemodelan perangkat lunakPemodelan perangkat lunak
Pemodelan perangkat lunak
 
Kelompok 2 agile software development
Kelompok 2   agile software developmentKelompok 2   agile software development
Kelompok 2 agile software development
 
Pengembangan perangkat lunak model spiral
Pengembangan perangkat lunak model spiralPengembangan perangkat lunak model spiral
Pengembangan perangkat lunak model spiral
 
MPPL Chapter 4
MPPL Chapter 4MPPL Chapter 4
MPPL Chapter 4
 
Modul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunakModul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunak
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlc
 

Similar a Perkuliahan 02 Model software engginer

Perancangan perangkat lunak
Perancangan perangkat lunakPerancangan perangkat lunak
Perancangan perangkat lunakSahrul Sindriana
 
kualitas source code dan pengujianprogram
kualitas source code dan pengujianprogramkualitas source code dan pengujianprogram
kualitas source code dan pengujianprogramFerDynan2
 
Kualitas Source Code dan Pengujian Program P.pptx
Kualitas Source Code dan Pengujian Program  P.pptxKualitas Source Code dan Pengujian Program  P.pptx
Kualitas Source Code dan Pengujian Program P.pptxBunMeli
 
MPPL Chapter 3
MPPL Chapter 3MPPL Chapter 3
MPPL Chapter 3beiharira
 
Kualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian ProgramKualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian ProgramNoviaAlisa
 
Proses rekayasa perangkat lunak
Proses rekayasa perangkat lunakProses rekayasa perangkat lunak
Proses rekayasa perangkat lunakDavy Arya Atmaja
 
Pemodelan perangkat lunak XI_ Pertemuan 2.pptx
Pemodelan perangkat lunak XI_ Pertemuan 2.pptxPemodelan perangkat lunak XI_ Pertemuan 2.pptx
Pemodelan perangkat lunak XI_ Pertemuan 2.pptxagusnugraha41
 
( kualitas source code).pptx
( kualitas source code).pptx( kualitas source code).pptx
( kualitas source code).pptxRainLovy
 
KUALITAS SOURCE CODE DAN PENGUJIAN PROGAM.pptx
KUALITAS SOURCE CODE DAN PENGUJIAN PROGAM.pptxKUALITAS SOURCE CODE DAN PENGUJIAN PROGAM.pptx
KUALITAS SOURCE CODE DAN PENGUJIAN PROGAM.pptxviierpii
 
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptxKualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptxSusantiwu1
 
kualitas source code dan pengujian program
kualitas source code dan pengujian programkualitas source code dan pengujian program
kualitas source code dan pengujian programRioKomando
 
Kualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptxKualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptxSintaTik
 
Kualitas Source Code dan pengujian Program pptx
Kualitas Source Code dan pengujian Program pptxKualitas Source Code dan pengujian Program pptx
Kualitas Source Code dan pengujian Program pptxBongSemoi1506
 
Kualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian ProgramKualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian ProgramYiufian
 
Kualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptxKualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptxFernando540705
 
KUALITAS SOURCE CODE DAN PENGUJIAN PROGRAM
KUALITAS SOURCE CODE DAN PENGUJIAN PROGRAMKUALITAS SOURCE CODE DAN PENGUJIAN PROGRAM
KUALITAS SOURCE CODE DAN PENGUJIAN PROGRAMSusantiwu1
 
Kualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptxKualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptxssuser7cc91f
 

Similar a Perkuliahan 02 Model software engginer (20)

Perancangan perangkat lunak
Perancangan perangkat lunakPerancangan perangkat lunak
Perancangan perangkat lunak
 
Rpl 2017 b_k02_t04_a
Rpl 2017 b_k02_t04_aRpl 2017 b_k02_t04_a
Rpl 2017 b_k02_t04_a
 
kualitas source code dan pengujianprogram
kualitas source code dan pengujianprogramkualitas source code dan pengujianprogram
kualitas source code dan pengujianprogram
 
Kualitas Source Code dan Pengujian Program P.pptx
Kualitas Source Code dan Pengujian Program  P.pptxKualitas Source Code dan Pengujian Program  P.pptx
Kualitas Source Code dan Pengujian Program P.pptx
 
MPPL Chapter 3
MPPL Chapter 3MPPL Chapter 3
MPPL Chapter 3
 
Kualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian ProgramKualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian Program
 
Proses rekayasa perangkat lunak
Proses rekayasa perangkat lunakProses rekayasa perangkat lunak
Proses rekayasa perangkat lunak
 
Pemodelan perangkat lunak XI_ Pertemuan 2.pptx
Pemodelan perangkat lunak XI_ Pertemuan 2.pptxPemodelan perangkat lunak XI_ Pertemuan 2.pptx
Pemodelan perangkat lunak XI_ Pertemuan 2.pptx
 
( kualitas source code).pptx
( kualitas source code).pptx( kualitas source code).pptx
( kualitas source code).pptx
 
Safika & Risca
Safika & RiscaSafika & Risca
Safika & Risca
 
KUALITAS SOURCE CODE DAN PENGUJIAN PROGAM.pptx
KUALITAS SOURCE CODE DAN PENGUJIAN PROGAM.pptxKUALITAS SOURCE CODE DAN PENGUJIAN PROGAM.pptx
KUALITAS SOURCE CODE DAN PENGUJIAN PROGAM.pptx
 
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptxKualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
 
kualitas source code dan pengujian program
kualitas source code dan pengujian programkualitas source code dan pengujian program
kualitas source code dan pengujian program
 
Kualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptxKualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptx
 
Kualitas Source Code dan pengujian Program pptx
Kualitas Source Code dan pengujian Program pptxKualitas Source Code dan pengujian Program pptx
Kualitas Source Code dan pengujian Program pptx
 
Kualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian ProgramKualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian Program
 
Kualitas Source Code.pptx
Kualitas Source Code.pptxKualitas Source Code.pptx
Kualitas Source Code.pptx
 
Kualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptxKualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptx
 
KUALITAS SOURCE CODE DAN PENGUJIAN PROGRAM
KUALITAS SOURCE CODE DAN PENGUJIAN PROGRAMKUALITAS SOURCE CODE DAN PENGUJIAN PROGRAM
KUALITAS SOURCE CODE DAN PENGUJIAN PROGRAM
 
Kualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptxKualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptx
 

Más de Rakhmi Khalida, M.M.S.I (20)

Pertemuan 1 Sistem Basis Data.pptx
Pertemuan 1 Sistem Basis Data.pptxPertemuan 1 Sistem Basis Data.pptx
Pertemuan 1 Sistem Basis Data.pptx
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Transport layer
Transport layerTransport layer
Transport layer
 
Modul 5 2-ip-address
Modul 5 2-ip-addressModul 5 2-ip-address
Modul 5 2-ip-address
 
Modul 5 1 network layer
Modul 5 1 network layerModul 5 1 network layer
Modul 5 1 network layer
 
Modul 4 1 data link layer
Modul 4 1 data link layerModul 4 1 data link layer
Modul 4 1 data link layer
 
Video
VideoVideo
Video
 
Chapter-audio-dan-suara
Chapter-audio-dan-suaraChapter-audio-dan-suara
Chapter-audio-dan-suara
 
Diferensial dan terapan
Diferensial dan terapanDiferensial dan terapan
Diferensial dan terapan
 
pert - 3 Jaringan dasar
pert - 3 Jaringan dasarpert - 3 Jaringan dasar
pert - 3 Jaringan dasar
 
pert - 1 Jaringan dasar
pert - 1 Jaringan dasarpert - 1 Jaringan dasar
pert - 1 Jaringan dasar
 
Pert 1 - Rekayasa Komputasional
Pert 1 - Rekayasa KomputasionalPert 1 - Rekayasa Komputasional
Pert 1 - Rekayasa Komputasional
 
Sistem multimedia-teknik-informatika
Sistem multimedia-teknik-informatikaSistem multimedia-teknik-informatika
Sistem multimedia-teknik-informatika
 
10.kompresi citra
10.kompresi citra10.kompresi citra
10.kompresi citra
 
9.kompresi teks
9.kompresi teks9.kompresi teks
9.kompresi teks
 
8.animasi
8.animasi8.animasi
8.animasi
 
7.video
7.video7.video
7.video
 
6.suara
6.suara6.suara
6.suara
 
3.proses produksi konten multimedia
3.proses produksi konten multimedia3.proses produksi konten multimedia
3.proses produksi konten multimedia
 
2. konten multimedia
2. konten multimedia2. konten multimedia
2. konten multimedia
 

Perkuliahan 02 Model software engginer

  • 2. Software engineering paradigma (ada 3) : 1. Classic Life Cycle Paradigma RPL Model Software Engineering (cont.) SISTEM ENGINEERING ANALYS DESIGN CODE TESTING MAINTENANCE
  • 3. Kelebihan Model Sekuensial Linear / Waterfall Development Model :  Tahapan proses pengembangannya tetap (pasti), mudah diaplikasikan, dan prosesnya teratur.  Cocok digunakan untuk produk software/program yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.  Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.  Documen pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya. Kekurangan Model Sekuensial Linear / Waterfall Development Model : • Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapatkan tim pengembang harus diubah kembali/iterasi sering menyebabkan masalah baru. • Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses. • Sulit untuk mengalami perubahan kebutuhan yang diinginkan oleh customer/pelanggan. • Pelanggan harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap, dan proses pengerjaanya akan berlanjut ke setiap tahapan bila tahap sebelumnya sudah benar-benar selesai. • Perubahan ditengah-tengah pengerjaan produk akan membuat bingung tim pengembang yang sedang membuat produk. • Adanya waktu kosong (menganggur) bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.
  • 4. Contoh dari penerapan model pengembangan ini adalah pembuatan program pendaftaran online ke suatu Instansi Pendidikan. Program ini akan sangat membantu dalam proses pendaftaran, karena dapat meng-efektifkan waktu serta pendaftar tidak perlu repot-repot langsung mendatangi Instansi Pendidikan. Teknisnya adalah sebagai berikut : Sistem program untuk pendaftaran dibuat menggunakan bahasa pemrograman PHP, dengan Sistem Database yang dibuat menggunakan MySQL, dan diterapkan (diaplikasikan) pada PC (personal computer) dengan sistem operasi berbasis Microsoft Windows, Linux, dan sebagainya. Setelah program selesai dibuat dan kemudian dipergunakan oleh user, programmer akan memelihara serta menambah atau menyesuaikan program dengan kebutuhan serta kondisi user.
  • 5. 2. Prototype Paradigma RPL Model Software Engineering (cont.) REQUIMENTS GATHERING "QUICK DESIGN" BUILD PROTOTYPE EVALUATED AND REFINEMENTS ENGINEER PRODUCT
  • 6. Kelebihan Model Prototype : •Pelanggan berpartisipasi aktif dalam pengembangan sistem, sehingga hasil produk pengembangan akan semakin mudah disesuaikan dengan keinginan dan kebutuhan pelanggan. •Penentuan kebutuhan lebih mudah diwujudkan. •Mempersingkat waktu pengembangan produk perangkat lunak. •Adanya komunikasi yang baik antara pengembang dan pelanggan. •Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan. •Lebih menghemat waktu dalam pengembangan sistem. •Penerapan menjadi lebih mudah karena pelanggan mengetahui apa yang diharapkannya. Kekurangan Model Prototype : •Proses analisis dan perancangan terlalu singkat. •Biasanya kurang fleksibel dalam mengahadapi perubahan. •Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang. •Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.
  • 7. Sebuah rumah sakit ingin membuat aplikasi sistem database untuk pendataan pasiennya. Seorang atau sekelompok programmer akan melakukan identifikasi mengenai apa saja yang dibutuhkan oleh pelanggan, dan bagaimana model kerja program tersebut. Kemudian dilakukan rancangan program yang diujikan kepada pelanggan. Hasil/penilaian dari pelanggan dievaluasi, dan analisis kebutuhan pemakai kembali di lakukan.
  • 8. 3. Fourth Generation Technique Paradigma RPL Model Software Engineering (cont.) REQUIMENTS GATHERING "DESIGN STRATEGICS" IMPLEMENTATION USING 4GL PRODUCT
  • 9. Metode pengembangan perangkat lunak 4GT menggunakan perangkat bantu (tools) yang akan membuat kode sumber secara otomatis berdasarkan spesifikasi dari pengembang perangkat lunak. Hanya digunakan untuk menggunakan perangkat lunak yang menggunakan bahasa khusus atau notasi grafik yang diselesaikan dengan syarat yang dimengerti pemakai.
  • 10. Saat ini pengembangan perangkat lunak yang mendukung 4GT, berisi tool-tool berikut: Bahasa non prosedural untuk query basis data; Report generation; Data manipulation ; Interaksi layar ; Kemampuan grafik level tinggi ; Kemampuan spreadsheet .
  • 11. Kelebihan dari metode pengembangan perangkat lunak ini diantaranya : •Pengurangan waktu dan peningkatan produktivitas secara besar •Karena 4GT menggunakan 4GL yang merupakan bahasa pemrograman yang khusus dirancang dengan tujuan tertentu (spesifik), maka untuk permasalahan yang tertentu dengan 4GL tertentu pula sangat tepat menggunakan 4GT. •Tool yang menggunakan metode pengembangan perangkat lunak 4GL bisa meng-generate sistem dari output yang dihasilkan oleh CASE tools. Kekurangan metode pengembangan perangkat lunak ini •Penggunaan perangkat bantu (tools) dibandingkan dengan bahasa pemrograman, dan juga kode sumber yang dihasilkannya tidak efisien. •Untuk usaha yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau digunakan bahasa 4GL. •Penggunaan 4GT tanpa perencanaan matang (untuk proyek besar) akan menyebabkan kesulitan yang sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan pelanggan) seperti dengan metode konvensional. •4GL tidak selalu berhasil menghasilkan sistem yang diinginkan.
  • 12. 4. Model Kombinasi RPL Model Software Engineering (cont.) REQUIMENTS GATHERINGS PROTOTY PING PROTOTY PE APPLY 4GL EVALUATE ENGINEER PRODUCT CLASSIC LIFE CYCLE DAPAT LANGSUNG JIKA PENDEKATANNY A JELAS
  • 14. Rational Unified Process (RUP) merupakan suatu model pengembangan sistem secara objek oriented yang dikembangkan oleh Rational Rose, bagian dari IBM. Secara luas, RUP telah diakui sebagai standar metodologi pengembangan sistem berorientasi objek. Vesri asli dari RUP didefinisikan sangat rumit untuk setiap kegiatan, namun versi terbaru dari RUP yakni metodologinya lebih sederhana. >> RUP tepat digunakan saat kondisi : a. Pengembangan perangkat lunak yang berorientasi objek dengan berfokus pada UML (Unified Modeling Language). b. Mempunyai waktu pengembangan yang panjang. c. Dikembangkan pada perangkat lunak sebagai sarana interaksi antara pengguna dan perangkat keras. d. Mempunyai tim programmer yang cukup banyak. e. Pengembangan dan perubahan perangkat lunak berdasarkan kebutuhan user.
  • 15. >> Keuntungan Pengembangan Perangkat Lunak RUP : a. Menyediakan akses yang mudah terhadap pengetahuan dasar bagi anggota tim. b. Menyediakan petunjuk bagaimana menggunakan UML secara efektif. c. Mendukung proses pengulangan dalam pengembangan software. d. Memungkinkan adanya penambahan-penambahan pada proses. e. Memungkinkan untuk secara sistematis mengontrol perubahan-perubahan yang terjadi pada software selama proses pengembangannya. f. Memungkinkan untuk menjalankan test case dengan menggunakan Rational Test Manager Tool >> Kekurangan Pengembangan Perangkat Lunak RUP : a. Metodologi ini hanya dapat digunakan pada pengembangan perangkat lunak yang berorientasi objek dengan berfokus pada UML (Unified Modeling Language). b. Membutuhkan waktu yang cukup lama dibandingkan XP dan Scrum Rational Unified Process (RUP)
  • 16. Extreme Programming (XP) XP merupakan suatu model yang tergolong dalam pendekatan agile yang diusulkan oleh Kent Back. Menurut penjelasannya, definisi XP adalah sebagai berikut: “Extreme Programming (XP) is a lightweight, efficient, low-risk, flexible, predictable, scientific, and fun way to develop software”. Model ini cenderung menggunakan pendekatan Object-Oriented serta tahapan- tahapan yang harus dilalui antara lain: Planning, Design, Coding, dan Testing. Sasaran Extreme Programming adalah tim yang dibentuk berukuran antara kecil sampai medium saja, tidak perlu menggunakan sebuah tim yang besar. Hal ini dimaksudkan untuk menghadapi requirements yang tidak jelas maupun terjadinya perubahan-perubahan requirements yang sangat cepat. Extreme Programming merupakan agile methods yang paling banyak digunakan dan menjadi sebuah pendekatan yang sangat terkenal.
  • 17. >> XP tepat digunakan saat kondisi: a. Keperluan berubah dengan cepat b. Resiko tinggi dan ada proyek dengan tantangan yang baru c. Tim programmer sedikit, yaitu 2-10 orang d. Mampu mengotomatiskan tes e. Ada campur tangan klien secara langsung >> Kelemahan XP: a. Cerita-cerita yang menunjukkan requirements kemungkinan besar tidak lengkap sehingga Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima. b. Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga). c. XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.
  • 18. Agile Modeling Agile Modeling merupakan filosofi tentang bagaimana membangun model dengan beberapa diantaranya dilakukan dengan format yang terperinci sedangkan model lain beberapa ada yang dilakukan secara samar dan minimalis. Agile Software Development juga melihat pentingnya komunikasi antara anggota tim, antara orang- orang teknis dan businessman, serta antara developer dan managernya. Ciri lain dari Agile Software Development adalah klien menjadi bagian dari tim pembangun software.
  • 19. >> Kelebihan dari Agile Modeling: a. Meningkatkan kepuasan kepada klien b. Pembangunan sistem dibuat lebih cepat c. Mengurangi resiko kegagalan implementasi software dari segi non-teknis d. Jika pada saat pembangunan system terjadi kegagalan,kerugian dari segi materi relative kecil. >> Kelemahan dari Agile Modeling: Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
  • 20. Scrum merupakan suatu kerangka kerja yang berupa deskripsi rinci tentang bagaimana segala sesuatu yang harus dilakukan pada proyek. Hal ini dilakukan dikarenakan tim akan tahu bagaimana cara terbaik untuk memecahkan masalah yang disajikan untuk mereka. Ada 3 elemen organisasi utama pada scrum yaitu : OWNER Scrum master Scrum team SCRUM Modeling
  • 21. >> Scrum tepat digunakan saat kondisi: a. Keperluan berubah dengan cepat b. Tim programmer sedikit, yaitu 5-9 orang c. Pelanggan tidak terlalu paham dengan apa yang diinginkan >> Scrum memiliki prinsip yaitu: a. Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lain b. Proses dapat beradaptasi terhadap perubahan teknis dan bisnis c. Proses menghasilkan beberapa software increment d. Pembangunan dan orang yang membangun dibagi dalam tim yang kecil e. Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun f. Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
  • 22. >> Kelebihan Scrum antara lain: a. Keperluan berubah dengan cepat b. Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama lain c. Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat d. Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun e. Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan >> Kelemahan Scrum antara lain: Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.

Notas del editor

  1. DataBase Query                 - Pembentukan laporan ( Report Generation )                 - Manipulasi data                 - Definisi dan interaksi layar (screen)                 - Pembentukan object dan source ( Object and source generation )                 - Kemampuan grafik yang tinggi, dan                 - Kemampuan spreadsheet
  2. Scrum Master dapat dianggap sebagai pelatih / guru bagi tim yang mengajarkan cara kerja lebih kolaboratif dan menyenangkan dalam mengembangkan software. Product Owner mewakili bisnis, pelanggan atau pengguna dan memandu tim ke arah pengembangan produk yang tepat. Sedangkan Scrum Team merupakan grup pengembang kecil biasanya terdiri dari 5-9 orang.  Untuk project yang sangat besar, biasanya pekerjaan akan dibagi dan didelegasikan ke grup-grup kecil. Jika sangat dibutuhkan scrum master juga dapat ikut membantu dalam koordinasi team.