Top Banner
REKAYASA PERANGKAT LUNAK I REKAYASA PERANGKAT LUNAK I RITA DEWI RISANTY.SKOM.MMSI FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA UNIVERSITAS MUHAMMADIYAH JAKARTA
76

PPL - 109 [Compatibility Mode]

Jun 26, 2015

Download

Documents

Ucupers OLshop
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PPL - 109 [Compatibility Mode]

REKAYASA PERANGKAT LUNAK IREKAYASA PERANGKAT LUNAK I

RITA DEWI RISANTY.SKOM.MMSI

FAKULTAS TEKNIK

JURUSAN TEKNIK INFORMATIKA

UNIVERSITAS MUHAMMADIYAH JAKARTA

Page 2: PPL - 109 [Compatibility Mode]

Metodologi Pengembangan Metodologi Pengembangan Perangkat LunakPerangkat Lunak

•• Mengetahui prinsip dasar metodologi pengembangan Mengetahui prinsip dasar metodologi pengembangan perangkat lunak.perangkat lunak.

–– Paradigma pengembangan perangkat lunak.Paradigma pengembangan perangkat lunak.

–– Perkembangan metodologi.Perkembangan metodologi.–– Perkembangan metodologi.Perkembangan metodologi.

–– Tahapan umum pengembangan.Tahapan umum pengembangan.

–– Proyek pengembangan secara umum.Proyek pengembangan secara umum.

–– Sarana, teknologi dan sumber daya yang Sarana, teknologi dan sumber daya yang dipergunakan.dipergunakan.

•• Memahami metodologi untuk penerapan nyata , Memahami metodologi untuk penerapan nyata , terutama dalam dunia bisnis.terutama dalam dunia bisnis.

Page 3: PPL - 109 [Compatibility Mode]

Perangkat Lunak (software) ?Perangkat Lunak (software) ?

• Program komputer dan dokumen-dokumen yang berhubungan dengannya.

• Produk perangkat lunak dapat dikembangkan untuk pemakaian khusus atau dikembangkan untuk pemakaian khusus atau dikembangkan untuk suatu keperluan umum.

– Generik : dikembangkan untuk dijual kepada sejumlah pemakaia yang berbeda-beda.

– Custom : dikembangkan untuk pemakai tunggal sesuai spesifikasi yang diinginkan.

Page 4: PPL - 109 [Compatibility Mode]

PERANGKAT LUNAK PERANGKAT LUNAK (SOFTWARE)(SOFTWARE)

Menurut Terminologi IEEEMenurut Terminologi IEEE :

SoftwareSoftware adalah koleksi dari programadalah koleksi dari program--program program komputer, prosedurkomputer, prosedur--prosedur, aturanprosedur, aturan--aturan serta aturan serta data dan dokumentasi yang terhimpun didalamnyadata dan dokumentasi yang terhimpun didalamnya

Page 5: PPL - 109 [Compatibility Mode]

PERANGKAT LUNAK PERANGKAT LUNAK

Instruksi-instruksi

Prosedur-prosedur

Data-data terstrukturPerangkat

Lunak

instruksi terstruktur

Dokumen-dokumen

Page 6: PPL - 109 [Compatibility Mode]

•• InstruksiInstruksi--instruksi (program komputer) yang jika instruksi (program komputer) yang jika dieksekusi memberikan fungsi dan keandalan yang dieksekusi memberikan fungsi dan keandalan yang diinginkan.diinginkan.

•• ProsedurProsedur--prosedur yang menggambarkan tahapanprosedur yang menggambarkan tahapan--tahapan pelaksanaan program, keluaran dari tiap tahapan pelaksanaan program, keluaran dari tiap tahap, kendali jaminan kualitas dan miletahap, kendali jaminan kualitas dan mile--stones stones

Perangkat lunak dapat berupa:Perangkat lunak dapat berupa:

tahap, kendali jaminan kualitas dan miletahap, kendali jaminan kualitas dan mile--stones stones kemajuankemajuan

•• DataData--data terstruktur yang memungkinkan data terstruktur yang memungkinkan program dapat memanipulasi informasi.program dapat memanipulasi informasi.

•• DokumenDokumen--dokumen yang menggambarkan operasi dokumen yang menggambarkan operasi dan penggunaan program.dan penggunaan program.

Page 7: PPL - 109 [Compatibility Mode]

•• Software engineering adalah suatu disipilin Software engineering adalah suatu disipilin rekayasa yang berhubungan dengan seluruh rekayasa yang berhubungan dengan seluruh aspek produksi perangkat lunak.aspek produksi perangkat lunak.

•• Perekayasa perangkat lunak harus: Perekayasa perangkat lunak harus:

–– Menerapkan pendekatan sistematik dan Menerapkan pendekatan sistematik dan terorganisasi kedalam pekerjaan mereka.terorganisasi kedalam pekerjaan mereka.terorganisasi kedalam pekerjaan mereka.terorganisasi kedalam pekerjaan mereka.

–– Menggunakan perangkat dan teknik tertentu yang Menggunakan perangkat dan teknik tertentu yang tergantung pada:tergantung pada:

•• Masalah yang harus dipecahkan; Masalah yang harus dipecahkan;

•• KeterbatasanKeterbatasan--keterbatasan untuk pengembangan;keterbatasan untuk pengembangan;

•• SumberSumber--sumber yang tersedia.sumber yang tersedia.

Page 8: PPL - 109 [Compatibility Mode]

Computer Science Software Engineering

Berhubungan dengan:

Teori-teori Pengetahuan praktis

Perbedaan antara Software engineering Perbedaan antara Software engineering dengan computer sciencedengan computer science

� Teori-teori

� Dasar-dasar Ilmu Komputer

� Pengetahuan praktis untuk pengembangan

� Untuk menghasilkan perangkat lunak yang berguna.

Page 9: PPL - 109 [Compatibility Mode]

Perbedaan antara Software engineering Perbedaan antara Software engineering dengan computer sciencedengan computer science

•• Computer science terkait dengan teoriComputer science terkait dengan teori--teori dan teori dan dasardasar--dasar dari ilmu komputer, sedangkan dasar dari ilmu komputer, sedangkan software engineering terkait pada pengetahuan software engineering terkait pada pengetahuan praktis mengenai pengembangan dan penyerahan praktis mengenai pengembangan dan penyerahan perangkat lunak yang berguna.perangkat lunak yang berguna.perangkat lunak yang berguna.perangkat lunak yang berguna.

•• TeoriTeori--teori Ilmu Komputer biasanya tidak cukup teori Ilmu Komputer biasanya tidak cukup digunakan sebagai pendukung yang lengkap dari digunakan sebagai pendukung yang lengkap dari software engineering.software engineering.

Page 10: PPL - 109 [Compatibility Mode]

SOFTWARE ENGINEERINGSOFTWARE ENGINEERING

•• Software engineering berhubungan dengan teoriSoftware engineering berhubungan dengan teori--teori, teori, metodametoda--metoda dan alatmetoda dan alat--alat (tools) untuk alat (tools) untuk pengembang perangkat lunak profesional.pengembang perangkat lunak profesional.

•• Tools dan prosedur digunakan untuk membantu Tools dan prosedur digunakan untuk membantu mengelola ukuran, kompleksitas dan jaminan kualitas mengelola ukuran, kompleksitas dan jaminan kualitas dari produk perangkat lunak yang dihasilkan.dari produk perangkat lunak yang dihasilkan.

Page 11: PPL - 109 [Compatibility Mode]

Mengapa perlu Software Engineering Mengapa perlu Software Engineering

•• Masalahnya adalah Masalahnya adalah kompleksitaskompleksitas

•• Banyak dibutuhkan sumberBanyak dibutuhkan sumber--sumber, tetapi sumber, tetapi kuncinya adalah kuncinya adalah ukuranukuran ((sizesize):):

–– UNIX berisi 4 juta UNIX berisi 4 juta lines of codelines of code

–– Windows 2000 berisi 10Windows 2000 berisi 1088 lines of code lines of code dikerjakan oleh Timdikerjakan oleh Tim dengan 1400 orangdengan 1400 orang

Software engineering adalah bagaimana Software engineering adalah bagaimana mengelola kompleksitas tersebut dan dapat mengelola kompleksitas tersebut dan dapat

bekerja dalam satu Tim Work.bekerja dalam satu Tim Work.

Page 12: PPL - 109 [Compatibility Mode]

Permasalahan PemakaiPermasalahan Pemakai

•• Meningkatnya kompleksitas permasalahan dan Meningkatnya kompleksitas permasalahan dan alternatif solusi yang ditawarkan pada pemakai.alternatif solusi yang ditawarkan pada pemakai.

•• Masa pakai (Masa pakai (life timelife time) semakin singkat karena ) semakin singkat karena cepatnya perkembangan teknologi informasi.cepatnya perkembangan teknologi informasi.

•• Perangkat lunak aplikasi harus terwujud dalam Perangkat lunak aplikasi harus terwujud dalam •• Perangkat lunak aplikasi harus terwujud dalam Perangkat lunak aplikasi harus terwujud dalam waktu yang relatif singkat, pemakai tidak dapat waktu yang relatif singkat, pemakai tidak dapat menunggu terlalu lama.menunggu terlalu lama.

•• Pemakai tidak dapat atau sukar merumuskan Pemakai tidak dapat atau sukar merumuskan spesifikasi perangkat lunak yang dibutuhkan.spesifikasi perangkat lunak yang dibutuhkan.

Page 13: PPL - 109 [Compatibility Mode]

PERANCANGAN PERANGKAT LUNAKPERANCANGAN PERANGKAT LUNAK

Istilah “Istilah “software engineeringsoftware engineering” pertama ” pertama kali dibicarakan pada dua konferensi yang kali dibicarakan pada dua konferensi yang disponsori oleh Komite Sains NATO pada disponsori oleh Komite Sains NATO pada tahun 1960tahun 1960--an di an di Garmisch EropaEropa..

TujuannyaTujuannya: memecahkan krisis yang terjadi pada : memecahkan krisis yang terjadi pada

(SOFTWARE ENGINEERING)(SOFTWARE ENGINEERING)

TujuannyaTujuannya: memecahkan krisis yang terjadi pada : memecahkan krisis yang terjadi pada perangkat lunak yang membesar dan kompleksperangkat lunak yang membesar dan kompleks..

Perangkat Lunak diserahkan:Perangkat Lunak diserahkan:

�� TerlambatTerlambat

�� Melebihi anggaran yang disediakanMelebihi anggaran yang disediakan

�� Dengan banyak kesalahanDengan banyak kesalahan--kesalahankesalahan

Page 14: PPL - 109 [Compatibility Mode]

DEFINISIDEFINISI

Menurut Menurut Fritz Bauer (1969)Fritz Bauer (1969)

Software EngineeringSoftware Engineering adalah pendekatan sistematik adalah pendekatan sistematik untuk untuk pengembanganpengembangan, , pengoperasianpengoperasian, , perawatanperawatansuatu perangkat lunaksuatu perangkat lunak yaitu dengan myaitu dengan menerapkanenerapkanprinsip rekayasaprinsip rekayasa dalam usaha memperoleh perangkat dalam usaha memperoleh perangkat lunak yang lunak yang ekonomisekonomis, dapat bekerja secara , dapat bekerja secara andalandal dan dan efisienefisien pada mesin sebenarnya.pada mesin sebenarnya.efisienefisien pada mesin sebenarnya.pada mesin sebenarnya.

Menurut BoehmMenurut Boehm (1986)(1986)

Software EngineeringSoftware Engineering adalah adalah aplikasiaplikasi dari dari sainssains dan dan matematikamatematika yang membuat peralatan komputer menjadi yang membuat peralatan komputer menjadi bermanfaat bagi manusia melalui bermanfaat bagi manusia melalui programprogram komputer, komputer, prosedurprosedur dan dan dokumentasidokumentasi yang berhubungan yang berhubungan dengannyadengannya..

Page 15: PPL - 109 [Compatibility Mode]

DEFINISI (lanjutan)DEFINISI (lanjutan)

Menurut Menurut Richard Fairly (1985)Richard Fairly (1985)

Software EngineeringSoftware Engineering adalah adalah disiplindisiplin yang secara yang secara

teknologiteknologi dan dan manajerialmanajerial berhubungan dengan berhubungan dengan produksiproduksi

dan dan perawatanperawatan suatu perangkat lunak, yang suatu perangkat lunak, yang

dikembangkandikembangkan dan dimodifikasi menurut fungsi dan dimodifikasi menurut fungsi waktuwaktu

dan dengan perkiraan dan dengan perkiraan biayabiaya didalamnya.didalamnya.dan dengan perkiraan dan dengan perkiraan biayabiaya didalamnya.didalamnya.

Page 16: PPL - 109 [Compatibility Mode]

CATATANCATATAN

��Tujuan pokokTujuan pokok dari dari software engineeringsoftware engineering adalah adalah membuat pengembangan perangkat lunak lebih dekat membuat pengembangan perangkat lunak lebih dekat ke sains dan jauh dari suatu “karya senike sains dan jauh dari suatu “karya seni””

��Tujuan DasarTujuan Dasar dari suatu software engineeringdari suatu software engineering adalah adalah untuk menghasilkan suatu perangkat lunak berkualitauntuk menghasilkan suatu perangkat lunak berkualitas, s, tepat waktu dan ekonomis.tepat waktu dan ekonomis.

EkonomisEkonomis sebab rancangan yang buruk berakibat pada sebab rancangan yang buruk berakibat pada peningkatan biaya pemeliharaan.peningkatan biaya pemeliharaan.

Page 17: PPL - 109 [Compatibility Mode]

TUJUAN DARI REKAYASA TUJUAN DARI REKAYASA PLPL

•• Menciptakan suatu program untuk dapat Menciptakan suatu program untuk dapat

(Menurut Bill Gates)(Menurut Bill Gates)

•• Menciptakan suatu program untuk dapat Menciptakan suatu program untuk dapat memecahkan masalah secara fungsional.memecahkan masalah secara fungsional.

•• Menjamin kualitas karakteristik seperti Menjamin kualitas karakteristik seperti reliabilityreliability dan dan performanceperformance..

•• Membuat dokumentasi yang baik, mudah dimengerti Membuat dokumentasi yang baik, mudah dimengerti dan mudah dimodifikasi.dan mudah dimodifikasi.

Page 18: PPL - 109 [Compatibility Mode]

Jadi Software Engineering terutama Jadi Software Engineering terutama untuk menjawab masalah:untuk menjawab masalah:

•• Kualitas Perangkat LunakKualitas Perangkat Lunak–– Menentukan kehandalan sistem komputer.Menentukan kehandalan sistem komputer.

–– Mempengaruhi unjuk kerja sistem.Mempengaruhi unjuk kerja sistem.

–– Menentukan apakah perangkat lunak mudah Menentukan apakah perangkat lunak mudah dipelihara dan dikembangkan.dipelihara dan dikembangkan.dipelihara dan dikembangkan.dipelihara dan dikembangkan.

•• Pemeliharaan Perangkat LunakPemeliharaan Perangkat Lunak–– Memperbaiki kesalahan (bugs) pada perangkat Memperbaiki kesalahan (bugs) pada perangkat

lunak.lunak.

–– Menyesuaikan dengan perubahan perangkat keras Menyesuaikan dengan perubahan perangkat keras dan sistem perangkat lunak.dan sistem perangkat lunak.

–– Menyesuaikan dengan perkembangan dunia usaha Menyesuaikan dengan perkembangan dunia usaha dan organisasi.dan organisasi.

Page 19: PPL - 109 [Compatibility Mode]

Tiga Elemen Kunci pada Rekayasa PLTiga Elemen Kunci pada Rekayasa PL

Perangkat Bantu

Software Engineering

Metodologi Prosedur

Page 20: PPL - 109 [Compatibility Mode]

1.1. MetodologiMetodologiMerupakan sekumpulan teknik atau metoda untuk Merupakan sekumpulan teknik atau metoda untuk membangun suatu perangkat lunak melalui membangun suatu perangkat lunak melalui beberapa tahap pengembangan.beberapa tahap pengembangan.

2.2. Perangkat pembantu (Perangkat pembantu (ToolsTools))Perkakas untuk dipergunakan pada proses Perkakas untuk dipergunakan pada proses pengembangan. pengembangan. Misal: CASE, data flow diagram, decision table, Misal: CASE, data flow diagram, decision table, Misal: CASE, data flow diagram, decision table, Misal: CASE, data flow diagram, decision table, program design language (PDL), dll.program design language (PDL), dll.

3.3. ProsedurProsedurPengelolaan kegiatan pengembangan (manajemen). Pengelolaan kegiatan pengembangan (manajemen). Misal: Mendefinisikan tahapanMisal: Mendefinisikan tahapan--tahapan untuk tahapan untuk penerapan metoda, keluaran dari tiap tahap penerapan metoda, keluaran dari tiap tahap (dokumen, laporan, formulir), kendali jaminan (dokumen, laporan, formulir), kendali jaminan kualitas dan milekualitas dan mile--stones kemajuan proyek.stones kemajuan proyek.

Page 21: PPL - 109 [Compatibility Mode]

Mitos dalam Software EngineeringMitos dalam Software Engineering

The only deliverable for a successful project is a The only deliverable for a successful project is a working programworking program

Data Structures

Plan Requirements Design

Data Structures

Test Specs

WorkingProgram

Listings

Page 22: PPL - 109 [Compatibility Mode]

SIKLUS SIKLUS PENGEMBANGAAN PENGEMBANGAAN

PERANGKAT LUNAK PERANGKAT LUNAK PERANGKAT LUNAK PERANGKAT LUNAK

(SDLC)(SDLC)

Software Development Life Cycle adalah kegiatan untuk menghasilkan atau menyempurnakan suatu

perangkat lunak melalui proses rekayasa.

Page 23: PPL - 109 [Compatibility Mode]

Evolusi Perangkat LunakEvolusi Perangkat Lunak

��Software EvolutionSoftware Evolution: perangkat lunak selalu : perangkat lunak selalu mengalami perkembangan dan perubahan. mengalami perkembangan dan perubahan.

��EvolusiEvolusi disini adalah suatu rangkaian aktivitas disini adalah suatu rangkaian aktivitas yang terjadi selama pengembangan, yang terjadi selama pengembangan, pemakaian dan pemeliharaan sistem pemakaian dan pemeliharaan sistem perangkat lunak.perangkat lunak.perangkat lunak.perangkat lunak.

Page 24: PPL - 109 [Compatibility Mode]

IEEE Standard 1074IEEE Standard 1074--1991 for Developing 1991 for Developing of Software Life Cycle Processes.of Software Life Cycle Processes.

•• Stardar IEEE untuk Pengembangan Proses Siklus Stardar IEEE untuk Pengembangan Proses Siklus

Hidup Perangkat Lunak.Hidup Perangkat Lunak.

•• Standar ini meliputi prosesStandar ini meliputi proses--proses pada proses pada

pengembangan perangkat lunak dan pengembangan perangkat lunak dan pengembangan perangkat lunak dan pengembangan perangkat lunak dan

perawatannya.perawatannya.

•• Standard ini diikuti oleh ISO/IEC 12207 untuk Standard ini diikuti oleh ISO/IEC 12207 untuk

Software Life Cycle Processes yang Software Life Cycle Processes yang

dipublikasikan pada 1 Agustus 1995.dipublikasikan pada 1 Agustus 1995.

Page 25: PPL - 109 [Compatibility Mode]

TAHAPTAHAP--TAHAP PROSES TAHAP PROSES PENGEMBANGAN PERANGKAT LUNAKPENGEMBANGAN PERANGKAT LUNAK

1.1. Spesifikasi KebutuhanSpesifikasi Kebutuhan

(requirement specification)(requirement specification)..

Bagaimana bekerja dalam suatu proyek skala besar, Bagaimana bekerja dalam suatu proyek skala besar, kompleks dan melibatkan banyak orang ?kompleks dan melibatkan banyak orang ?

2.2. Analisis Analisis (analysis).(analysis).

3.3. Perancangan Perancangan (design).(design).

4.4. Implementasi dan Pengujian.Implementasi dan Pengujian.

(implementation and testing)(implementation and testing)..

5.5. Perawatan dan UpPerawatan dan Up--grade.grade.

(maintenance and upgrades).(maintenance and upgrades).

Page 26: PPL - 109 [Compatibility Mode]

Software Software Development Development Life CycleLife Cycle(SDLC)(SDLC)

System

Initiation/Adoption

Analysis

DesignDesign

Coding

Maintenance

Testing

Page 27: PPL - 109 [Compatibility Mode]

•• System Initiation/Adoption:System Initiation/Adoption: Pengkajian sistem Pengkajian sistem apakah harus dilakukan pengembangan sistem baru apakah harus dilakukan pengembangan sistem baru atau melengkapi sistem yang sudah ada.atau melengkapi sistem yang sudah ada.

•• Software requirement analysis & Specification:Software requirement analysis & Specification:Identifikasi masalah yang akan diselesaikan, domain Identifikasi masalah yang akan diselesaikan, domain informasi dan fungsiinformasi dan fungsi--fungsi yang diinginkan, fungsi yang diinginkan, keandalan dan antar muka yang dibutuhkan keandalan dan antar muka yang dibutuhkan keandalan dan antar muka yang dibutuhkan keandalan dan antar muka yang dibutuhkan (spesifikasi fungsi dan spesifikasi teknis).(spesifikasi fungsi dan spesifikasi teknis).

•• Software design:Software design: Proses bertahap yang mengubah Proses bertahap yang mengubah kebutuhan perangkat lunak menjadi sejumlah kebutuhan perangkat lunak menjadi sejumlah tampilan (grafik, tabular, basis bahasa) yang tampilan (grafik, tabular, basis bahasa) yang menggambarkan arsitektur, struktur dan prosedur menggambarkan arsitektur, struktur dan prosedur perangkat lunak, algoritma dan sifatperangkat lunak, algoritma dan sifat--sifat antar muka.sifat antar muka.

Page 28: PPL - 109 [Compatibility Mode]

•• Coding:Coding: Bentuk rancangan diubah menjadi suatu Bentuk rancangan diubah menjadi suatu bahasa pemrograman yang dapat dimengerti oleh bahasa pemrograman yang dapat dimengerti oleh mesin komputer. Hasilnya merupakan kodemesin komputer. Hasilnya merupakan kode--kode kode yang dapat dieksekusi komputer.yang dapat dieksekusi komputer.

•• Software Integration & Testing:Software Integration & Testing: Jika perangkat Jika perangkat lunak sudah ditanam, maka harus dilakukan proses lunak sudah ditanam, maka harus dilakukan proses pengujian untuk mengetahui adanya penyimpangan pengujian untuk mengetahui adanya penyimpangan dari fungsi, dari logika, atau kesalahandari fungsi, dari logika, atau kesalahan--kesalahan kesalahan lain dimana hasilnya tidak sesuai dengan spesifikasi.lain dimana hasilnya tidak sesuai dengan spesifikasi.dari fungsi, dari logika, atau kesalahandari fungsi, dari logika, atau kesalahan--kesalahan kesalahan lain dimana hasilnya tidak sesuai dengan spesifikasi.lain dimana hasilnya tidak sesuai dengan spesifikasi.

•• Software maintenanceSoftware maintenance. Dukungan terhadap . Dukungan terhadap pengoperasian sistem perangkat lunak setelah pengoperasian sistem perangkat lunak setelah diserahkan kepada pemakai yang membutuhkan diserahkan kepada pemakai yang membutuhkan perubahan atau perbaikan akibat ketidak perubahan atau perbaikan akibat ketidak sempurnaan (sempurnaan (bugsbugs), perubahan sistem operasi, ), perubahan sistem operasi, penggantian peralatan. Bisa juga karena permintaan penggantian peralatan. Bisa juga karena permintaan tambahan fungsi atau untuk peningkatan kinerja.tambahan fungsi atau untuk peningkatan kinerja.

Page 29: PPL - 109 [Compatibility Mode]

Siklus Pengembangan Perangkat Siklus Pengembangan Perangkat Lunak yang RinciLunak yang Rinci

Software

requirements

Preliminary

design

Integration

testing

System

testing

Software

System test

planning

design

Detailed

design

Programming/

Coding

Unit

testing

testing

Page 30: PPL - 109 [Compatibility Mode]

Biaya Relatif Untuk Setiap TahapBiaya Relatif Untuk Setiap Tahap

Maintenance constitutes 67% of total costMaintenance constitutes 67% of total cost

Page 31: PPL - 109 [Compatibility Mode]

Persentase Kesalahan Dalam Persentase Kesalahan Dalam

Pengembangan Perangkat LunakPengembangan Perangkat Lunak

Sumber kesalahan terbesar (50%) adalah dalam Sumber kesalahan terbesar (50%) adalah dalam mendefinisikan spesifikasi kebutuhan perangkat lunak.mendefinisikan spesifikasi kebutuhan perangkat lunak.

Page 32: PPL - 109 [Compatibility Mode]

Bagaimana Program Biasanya DitulisBagaimana Program Biasanya Ditulis

Ini adalah pemahaman

dari Pengembang

Bagaimana masalah

dipecahkan sekarang

Definisi dari Spesifikasi Kebutuhan

Bagaimana masalah

dipecahkan sebelumnya

sekarang

Page 33: PPL - 109 [Compatibility Mode]

MODELMODEL--MODEL DALAM SIKLUS HIDUP MODEL DALAM SIKLUS HIDUP PENGEMBANGAN PERANGKAT LUNAKPENGEMBANGAN PERANGKAT LUNAK

1.1. MODEMODELL WATERFALLWATERFALL

2.2. MODEL MODEL PROTOTYPINGPROTOTYPING

3.3. MODEL INCREMENTALMODEL INCREMENTAL3.3. MODEL INCREMENTALMODEL INCREMENTAL

4.4. MODEL SPIRALMODEL SPIRAL

5.5. TEKNIK FOURTHTEKNIK FOURTH--GENERATIONGENERATION (4GT)(4GT)

Page 34: PPL - 109 [Compatibility Mode]

MODEL WATERFALLMODEL WATERFALL

Diusulkan oleh Royce pada tahun 1970Diusulkan oleh Royce pada tahun 1970•• Pendekatan tradisional, pertama digunakan untuk Pendekatan tradisional, pertama digunakan untuk

proyek angkasa luar/pertahanan.proyek angkasa luar/pertahanan.

•• Kegiatan disusun dalam suatu urutan linier dari Kegiatan disusun dalam suatu urutan linier dari kemajuan sebagai fungsi waktu, kemajuan sebagai fungsi waktu, dengan titik awal dengan titik awal dan titik akhir yang eksplisit, tanpa umpan balik.dan titik akhir yang eksplisit, tanpa umpan balik.

•• Setiap tahapan Setiap tahapan harus harus didefinisikan dengan jelas dandidefinisikan dengan jelas dan•• Setiap tahapan Setiap tahapan harus harus didefinisikan dengan jelas dandidefinisikan dengan jelas danlengkap sebelum melakukan pengembangan yang lengkap sebelum melakukan pengembangan yang berikutnya.berikutnya.

Page 35: PPL - 109 [Compatibility Mode]

MODELMODEL WATERFALLWATERFALL

Kelayakan

Sistem

Validasi

LaporanLaporan

KelayakanKelayakan

Perencanaan &

Kebutuhan

Validasi

Dokumen Kebutuhan dan Perencanaan ProyekDokumen Kebutuhan dan Perencanaan Proyek

Perancangan

SistemDokumenDokumen

Perancangan

RinciSistem

Validasi PerancanganPerancangan

SistemSistem

Rinci

Validasi

Dokumen Perancangan RinciDokumen Perancangan Rinci

Pengkodean

Validasi

ProgramProgram Pengujian

dan

Penyatuan

Page 36: PPL - 109 [Compatibility Mode]

Pengkodea

Validasi

ProgramProgram Pengujian

dan

Penyatuan

Rencana Pengujian & Laporan PengujianRencana Pengujian & Laporan Pengujian

InstalasiLaporan Laporan

InstalasiInstalasi

Pengoperasian

dan

PemeliharaanInstalasiInstalasi

Pemeliharaan

Tahap-tahap Model Waterfall:

• Requirements analysis and definition

• System and software design

• Implementation and unit testing

• Integration and system testing

• Operation and maintenance

Page 37: PPL - 109 [Compatibility Mode]

Feasibility studiesFeasibility studies

• Feasibility study memutuskan apakah sistem yang diajukan layak atau tidak.

• Suatu studi yang terfokus pada pemeriksaan:

– Apakah sistem memberikan sumbangan pada tujuan organisasi.tujuan organisasi.

– Apakah sistem dapat direkayasa menggunakan teknologi saat ini dan dapat dibiayai.

– Apakah sistem dapat diintegrasikan dengan sistem-sistem lain yang telah ada.

Page 38: PPL - 109 [Compatibility Mode]

Implementasi dari Studi KelayakanImplementasi dari Studi Kelayakan

• Didasarkan pada kajian informasi (apa yang dibutuhkan), laporan tertulis dan koleksi informasi.

• Pertanyaan-pertanyaan yang diajukan kepada orang-orang dalam organisasi:

– Apa yang terjadi jika sistem tidak diterapkan ?– Apa yang terjadi jika sistem tidak diterapkan ?

– Apa yang dapat terjadi pada watu pengintegrasian?

– Apakah dibutuhkan teknologi baru ? Keahlian apa yang diperlukan ?

– Fasilitas-fasilitas apa yang harus didukung oleh sistem yang diajukan ?

Page 39: PPL - 109 [Compatibility Mode]

PENJELASAN MODEL WATERFALLPENJELASAN MODEL WATERFALL

VVerifikasi dan validasierifikasi dan validasi•• Suatu mekanisme sertifikasi harus dilakukan pada Suatu mekanisme sertifikasi harus dilakukan pada

akhir setiap tahapakhir setiap tahap..

•• KKeluaran dari suatu tahap eluaran dari suatu tahap harus harus konsisten dengan konsisten dengan masukan ke tahap berikutnya dan konsisten masukan ke tahap berikutnya dan konsisten dengan seluruh kebutuhan sistemdengan seluruh kebutuhan sistem..dengan seluruh kebutuhan sistemdengan seluruh kebutuhan sistem..

•• keluarankeluaran--keluaran keluaran yang telah disertifikasiyang telah disertifikasi menjadi menjadi masukan untuk tahap berikutnya dan tidak boleh masukan untuk tahap berikutnya dan tidak boleh dirubah atau dimodifikasidirubah atau dimodifikasi..

•• Jika harus ada perubahan, maka perubahanJika harus ada perubahan, maka perubahan--perubahan tersebut harus dilakukan secara perubahan tersebut harus dilakukan secara terkendali melalui kendali konfigurasi atau terkendali melalui kendali konfigurasi atau manajemen konfigurasimanajemen konfigurasi..

Page 40: PPL - 109 [Compatibility Mode]

Himpunan dokumen yang harus dihasilkan Himpunan dokumen yang harus dihasilkan dalam setiap proyek adalah: dalam setiap proyek adalah:

�� Dokumen Kebutuhan Dokumen Kebutuhan (Requirement Document)(Requirement Document)..

�� Rencana Proyek Rencana Proyek (Project Plan)(Project Plan)..

�� Dokumen Perancangan Sistem Dokumen Perancangan Sistem (System Design (System Design Document)Document)..

�� Dokumen Perancangan Terperinci Dokumen Perancangan Terperinci (Detailed Design (Detailed Design Document)Document)..Document)Document)..

�� Rencana Pengujian dan Laporan Pengujian Rencana Pengujian dan Laporan Pengujian (Test (Test Plan and Test Report)Plan and Test Report)..

�� Kode programKode program Akhir Akhir (Final Code)(Final Code)

�� Petunjuk Petunjuk pemakaian ppemakaian perangkat erangkat llunak unak (Software (Software Manuals)Manuals)..

�� Pemeriksaan Kembali LaporanPemeriksaan Kembali Laporan--laporan laporan (Review (Review Reports)Reports)..

Page 41: PPL - 109 [Compatibility Mode]

KEKELEBIHANLEBIHAN MODEL WATERFALLMODEL WATERFALL

•• Lebih disiplin, terutama menyangkut tahapLebih disiplin, terutama menyangkut tahap--tahap tahap penyelesaian dalam perjanjian kontrak kerja dan penyelesaian dalam perjanjian kontrak kerja dan tahaptahap--tahap pembayarannya.tahap pembayarannya.

•• Dokumen selalu tersedia untuk tiap tahapan sehingga Dokumen selalu tersedia untuk tiap tahapan sehingga memudahkan pemeriksaan.memudahkan pemeriksaan.

•• Setiap produk yang dihasilkan pada setiap tahapan, Setiap produk yang dihasilkan pada setiap tahapan, selalu diverifikasi dan disertifikasi.selalu diverifikasi dan disertifikasi.

•• Model Waterfall sangat baik digunakan untuk Model Waterfall sangat baik digunakan untuk menyelesaikan masalah yang sudah dikenal menyelesaikan masalah yang sudah dikenal sebelumnya dengan baik.sebelumnya dengan baik.

Page 42: PPL - 109 [Compatibility Mode]

KEKEKURANGANKURANGAN MODEL WATERFALLMODEL WATERFALL

•• Untuk menentukan kebutuhan suatu sistem baru Untuk menentukan kebutuhan suatu sistem baru adalah sangat sulitadalah sangat sulit,, apalagi pemakai sendiri belum apalagi pemakai sendiri belum tahu apa yang dia butuhkan.tahu apa yang dia butuhkan.

•• Pembekuan kebutuhan umumnya telah memilih Pembekuan kebutuhan umumnya telah memilih perangkat keras yang harus digunakan. Proyek besar perangkat keras yang harus digunakan. Proyek besar biasanya membutuhkan penyelesaian dalam beberapa biasanya membutuhkan penyelesaian dalam beberapa tahun, sehingga karena kecepatan teknologitahun, sehingga karena kecepatan teknologi,,biasanya membutuhkan penyelesaian dalam beberapa biasanya membutuhkan penyelesaian dalam beberapa tahun, sehingga karena kecepatan teknologitahun, sehingga karena kecepatan teknologi,,perangkat lunak akan dijalankan pada teknologi perangkat lunak akan dijalankan pada teknologi perangkat keras yang ketinggalan atau obsoleteperangkat keras yang ketinggalan atau obsolete..

•• Setiap tahap harus diselesaikan dahulu baru menuju Setiap tahap harus diselesaikan dahulu baru menuju tahap berikutnya, jadi pengembang harus sudah tahap berikutnya, jadi pengembang harus sudah mempunyai banyak pengalaman dalam pelaksanaan mempunyai banyak pengalaman dalam pelaksanaan produk tersebutproduk tersebut..

Page 43: PPL - 109 [Compatibility Mode]

Model Waterfall didasarkan pada asumsi:Model Waterfall didasarkan pada asumsi:

•• Kita sudah mengenal keseluruhan masalah dari awal Kita sudah mengenal keseluruhan masalah dari awal sampai akhir.sampai akhir.

•• Tidak ada satupun yang akan berubah.Tidak ada satupun yang akan berubah.

•• Kita tidak pernah membuat kesalahan.Kita tidak pernah membuat kesalahan.

Bagaimana kebenaran dari asumsiBagaimana kebenaran dari asumsi--asumsi ini ?asumsi ini ?

Page 44: PPL - 109 [Compatibility Mode]

PROTOTYPINGPROTOTYPING

Pemikiran dasar dari Pemikiran dasar dari pprototyping adalahrototyping adalah ddaripada aripada membekukan kebutuhan sebelum suatu perancangan membekukan kebutuhan sebelum suatu perancangan atau pengkodean dilaksanakan, suatu prototip dapat atau pengkodean dilaksanakan, suatu prototip dapat dibuat untuk membantu memahami kebutuhan dibuat untuk membantu memahami kebutuhan ((spesifikasi perangkat lunakspesifikasi perangkat lunak))

�� Prototyping adalah suatu proses yang memungkinPrototyping adalah suatu proses yang memungkin--�� Prototyping adalah suatu proses yang memungkinPrototyping adalah suatu proses yang memungkin--kan pengembang kan pengembang membuat modelmembuat model dari suatu dari suatu perangkat lunak sebelum perangkat dibangun.perangkat lunak sebelum perangkat dibangun.

�� Dengan menggunakan prototip pelanggan dapat Dengan menggunakan prototip pelanggan dapat diberikan “diberikan “perasaan aktualperasaan aktual”” terhadap suatu sistem, terhadap suatu sistem, yaitu dapat yaitu dapat berinteraksiberinteraksi dengan prototip tersebut dengan prototip tersebut yang memungkinkan pelanggan lebih mengerti yang memungkinkan pelanggan lebih mengerti kebutuhan dari sistem yang dikehendakikebutuhan dari sistem yang dikehendaki ..

Page 45: PPL - 109 [Compatibility Mode]

�� Proses dilakukan secara iteratif dan berkembang Proses dilakukan secara iteratif dan berkembang (incremental).(incremental).

�� Pengembang Pengembang bekerjasamabekerjasama dengan calon pemakai dengan calon pemakai dalam mengevaluasi dan mengembangkan sistem.dalam mengevaluasi dan mengembangkan sistem.

�� Prototyping dimungkinkan dengan tersedianya Prototyping dimungkinkan dengan tersedianya teknologi pengembangan perangkat lunak generasi teknologi pengembangan perangkat lunak generasi baru.baru.baru.baru.

�� Teknik ini sangat populer terutama untuk aplikasi Teknik ini sangat populer terutama untuk aplikasi pengembangan basis data.pengembangan basis data.

Page 46: PPL - 109 [Compatibility Mode]

Bagaimana kita dapat memakan Bagaimana kita dapat memakan

seekor gajah ?seekor gajah ?

• Iteratif : penemuan dan implemen-tasi dilakukan dalam siklus secara berulang-ulang.

• Penambahan: pembangunan dilakukan dari hasil sebelumnya.dilakukan dari hasil sebelumnya.

Page 47: PPL - 109 [Compatibility Mode]

Analisis

kebutuhan

Disain

cepat

Membangun

Penyempurnaan

prototip

Produk

rekayasa

Membangun

prototipEvaluasi prototip

oleh pelanggan

Desain cepat menitik beratkan pada penggambaran Desain cepat menitik beratkan pada penggambaran aspekaspek--aspek yang akan tampak bagi pemakai, aspek yang akan tampak bagi pemakai, misalkan bentukmisalkan bentuk--bentuk masukan dan formatbentuk masukan dan format--format format keluaran (fungsionalitas sistem dikurangi).keluaran (fungsionalitas sistem dikurangi).

Page 48: PPL - 109 [Compatibility Mode]

PROSES ITERATIFPROSES ITERATIF

Page 49: PPL - 109 [Compatibility Mode]

Kelebihan Model PrototypingKelebihan Model Prototyping

•• Pengembang bekerjasama dengan pemakai dalam Pengembang bekerjasama dengan pemakai dalam satu tim, sehingga sangat mendukung penerapan satu tim, sehingga sangat mendukung penerapan sistem yang diinginkan.sistem yang diinginkan.

•• Pembuatan prototip dapat mempercepat proses Pembuatan prototip dapat mempercepat proses pengembangan selanjutnya.pengembangan selanjutnya.

•• Walaupun biaya analisis kebutuhan pelanggan Walaupun biaya analisis kebutuhan pelanggan •• Walaupun biaya analisis kebutuhan pelanggan Walaupun biaya analisis kebutuhan pelanggan meningkat, tmeningkat, tetapi biayaetapi biaya--biaya lain sepertibiaya lain seperti untuk untuk perancangan, perancangan, pengujianpengujian,, penulisan dokumen penulisan dokumen terperinciterperinci dan perawatan perangkat lunakdan perawatan perangkat lunak akan akan berkurangberkurang..

•• Pendekatan iteratif/incremental adalah jantung dari Pendekatan iteratif/incremental adalah jantung dari teknik pengembangan perangkat lunak moderen.teknik pengembangan perangkat lunak moderen.

Page 50: PPL - 109 [Compatibility Mode]

Kekurangan Model PrototypingKekurangan Model Prototyping

•• Pelanggan melihat apa yang muncul pada versi Pelanggan melihat apa yang muncul pada versi kerja prototip adalah produk akhir, tetapi ketika kerja prototip adalah produk akhir, tetapi ketika sistem digabung, ternyata tidak sesuai dengan sistem digabung, ternyata tidak sesuai dengan keinginan, kualitas dan pemakaian jangka panjang.keinginan, kualitas dan pemakaian jangka panjang.

•• Anggapan disisi pemakai bahwa perubahan dapat Anggapan disisi pemakai bahwa perubahan dapat •• Anggapan disisi pemakai bahwa perubahan dapat Anggapan disisi pemakai bahwa perubahan dapat dilakukan dengan mudah dan secepat prototip.dilakukan dengan mudah dan secepat prototip.

•• Pemakai meminta lebih banyak setelah melihat Pemakai meminta lebih banyak setelah melihat prototip.prototip.

Page 51: PPL - 109 [Compatibility Mode]

MODEL SPIRALMODEL SPIRAL

•• Diusulkan oleh Boehm pada tahun 1986.Diusulkan oleh Boehm pada tahun 1986.

•• Model spiral dikembangkan untuk mengabungkan Model spiral dikembangkan untuk mengabungkan kelebihan model Waterfall dan Prototyping dengan kelebihan model Waterfall dan Prototyping dengan menambahkan elemen baru yaitu menambahkan elemen baru yaitu analisis resikoanalisis resiko..

Model Spiral membagi proses menjadi 4 kuadran:Model Spiral membagi proses menjadi 4 kuadran:Model Spiral membagi proses menjadi 4 kuadran:Model Spiral membagi proses menjadi 4 kuadran:

1.1. Perencanaan (Planning).Perencanaan (Planning).

2.2. Analisis Resiko (Risk Analysis)Analisis Resiko (Risk Analysis)

3.3. Rekayasa (Engineering)Rekayasa (Engineering)

4.4. Evaluasi Pelanggan (Customer Evaluation).Evaluasi Pelanggan (Customer Evaluation).

Beriterasi menurut suatu siklus menggunakan pendekatan Beriterasi menurut suatu siklus menggunakan pendekatan prototyping.prototyping.

Page 52: PPL - 109 [Compatibility Mode]

MODEL SPIRALMODEL SPIRAL

Perencanaan Analisis Resiko

Kebutuhan Kebutuhan

awal dan awal dan

perencanaan perencanaan

proyekproyek

Analisis Analisis

resiko resiko

didasarkan didasarkan

pada pada

kebutuhan kebutuhan

awalawal

Prototip Prototip Evaluasi Evaluasi

RekayasaEvaluasi Pelanggan

awalawalEvaluasi Evaluasi

pelangganpelanggan

•• Proses digambarkan dalam bentuk spiral dari pada Proses digambarkan dalam bentuk spiral dari pada dalam bentuk urutan kegiatan.dalam bentuk urutan kegiatan.

•• Setiap loop menggambarkan satu fasa dalam prosesSetiap loop menggambarkan satu fasa dalam proses

Page 53: PPL - 109 [Compatibility Mode]

�� Dimensi radial menggambarkan biaya kumulatif yang Dimensi radial menggambarkan biaya kumulatif yang dibutuhkan untuk menyelesaikan setiap tingkatdibutuhkan untuk menyelesaikan setiap tingkat..

�� DDimensi sudut menggambarkan kemajuan yang dicapai imensi sudut menggambarkan kemajuan yang dicapai dalam penyelesaian setiap siklus dari spiral dalam penyelesaian setiap siklus dari spiral

Aktivitas disusun dalam bentuk spiral yang mempunyai Aktivitas disusun dalam bentuk spiral yang mempunyai banyak siklus.banyak siklus.

Page 54: PPL - 109 [Compatibility Mode]

MODEL SPIRALMODEL SPIRAL

Page 55: PPL - 109 [Compatibility Mode]

�� Setiap siklus spiral dimulai dengan identifikasi sasaran Setiap siklus spiral dimulai dengan identifikasi sasaran dari siklus tersebut, kemudian pengumpulan alternatif dari siklus tersebut, kemudian pengumpulan alternatif untuk mencapai sasaran, dan menentukan kendalauntuk mencapai sasaran, dan menentukan kendala--kendalakendala..

�� Tingkat berikutnya adalah mengevaluasi alternatifTingkat berikutnya adalah mengevaluasi alternatif--alternatif berdasarkan sasaran dan kendala. Disini alternatif berdasarkan sasaran dan kendala. Disini termasuk mengidentifikasi ketidak pastian dan resiko termasuk mengidentifikasi ketidak pastian dan resiko termasuk mengidentifikasi ketidak pastian dan resiko termasuk mengidentifikasi ketidak pastian dan resiko (juga benchmarking, simulasi dan prototyping).(juga benchmarking, simulasi dan prototyping).

�� Tingkat berikutnya ditentukan berdasarkan resiko Tingkat berikutnya ditentukan berdasarkan resiko yang belum tertangani. Model spiral yang ditentukan yang belum tertangani. Model spiral yang ditentukan oleh resiko memungkinkan mengakomodasi setiap oleh resiko memungkinkan mengakomodasi setiap penggabungan orientasi kebutuhan, prototip, simulasi penggabungan orientasi kebutuhan, prototip, simulasi dan lainnyadan lainnya..

Page 56: PPL - 109 [Compatibility Mode]

Manajemen ResikoManajemen Resiko

• Manajemen resiko mengidentifikasi resiko dan membuat perencanaan untuk mengurangi akibat resiko pada proyek.

• Resiko terjadinya permasalahan adalah:

– Resiko proyek mempengaruhi jadwal dan sumber-– Resiko proyek mempengaruhi jadwal dan sumber-sumber.

– Resiko produk mempengaruhi kualitas atau kinerja perangkat lunak.

– Resiko bisnis mempengaruhi organisasi pengembangan dan pembuat perangkat lunak.

Page 57: PPL - 109 [Compatibility Mode]

Proses Manajemen ResikoProses Manajemen Resiko

• Risk identification

– Mengidentifikasi resiko proyek, produk dan bisnis.

• Risk analysis

– Mengkaji kemiripan dan akibat-akibat dari resiko-– Mengkaji kemiripan dan akibat-akibat dari resiko-resiko ini.

• Risk planning

– Buat perencanaan untuk mencegah atau memini-malkan pengaruh dari resiko.

• Risk monitoring

– Pantau resiko melalui manajemen proyek.

Page 58: PPL - 109 [Compatibility Mode]

The risk management processThe risk management process

Risk planningRisk analysisRiskidentification

Riskmonitoring

Risk avoidanceand contingency

plans

Prioritised risklist

List of potentialrisks

Riskassessment

Page 59: PPL - 109 [Compatibility Mode]

Kelebihan Model SpiralKelebihan Model Spiral

•• Paradigma model spiral merupakan Paradigma model spiral merupakan pendekatan yang paling realistik untuk pendekatan yang paling realistik untuk pengembangan sistem perangkat lunak pengembangan sistem perangkat lunak dengan skala besar.dengan skala besar.

•• Pendekatan evolutif memungkinkan Pendekatan evolutif memungkinkan •• Pendekatan evolutif memungkinkan Pendekatan evolutif memungkinkan pengembang dan pelanggan mengerti dan pengembang dan pelanggan mengerti dan bereaksi pada tiap tingkat evolusi.bereaksi pada tiap tingkat evolusi.

Page 60: PPL - 109 [Compatibility Mode]

Kekurangan Model SpiralKekurangan Model Spiral

•• Perangkat lunak dikembangkan secara iteratif Perangkat lunak dikembangkan secara iteratif sehingga membutuhkan waktu dan biaya yang sehingga membutuhkan waktu dan biaya yang besar.besar.

•• Dibutuhkan ahli pengkajian resiko pada seluruh Dibutuhkan ahli pengkajian resiko pada seluruh tingkat proyek.tingkat proyek.

•• Sulit untuk meyakinkan pelanggan besar, Sulit untuk meyakinkan pelanggan besar, terutama dalam kondisi kontrak, bahwa terutama dalam kondisi kontrak, bahwa pendekatan evolutif ini dapat dikendalikan.pendekatan evolutif ini dapat dikendalikan.

Page 61: PPL - 109 [Compatibility Mode]

FOURTHFOURTH--GENERATION TECHNIQUESGENERATION TECHNIQUES

•• Istilah “Istilah “fourthfourth--generation techniquesgeneration techniques” (4GT) karena ” (4GT) karena memotong kompas sejumlah perangkat memotong kompas sejumlah perangkat pengembangan perangkat lunak.pengembangan perangkat lunak.

•• Paradigma 4GT untuk Paradigma 4GT untuk software engineeringsoftware engineering adalah adalah menitik beratkan pada kemampuannya membantu menitik beratkan pada kemampuannya membantu pengembang menspesifikasi karakteristik perangkat pengembang menspesifikasi karakteristik perangkat pengembang menspesifikasi karakteristik perangkat pengembang menspesifikasi karakteristik perangkat lunak pada tingkat mendekati bahasa alamiah dan lunak pada tingkat mendekati bahasa alamiah dan secara otomatis membangkitkan kode komputer secara otomatis membangkitkan kode komputer ((source codesource code) dari spesifikasi tersebut.) dari spesifikasi tersebut.

•• 4GT dimulai dengan tahap pengumpulan kebutuhan 4GT dimulai dengan tahap pengumpulan kebutuhan ((requirements gatheringrequirements gathering), dimana pelanggan dapat ), dimana pelanggan dapat menggambarkan kebutuhannya yang langsung diubah menggambarkan kebutuhannya yang langsung diubah menjadi prototip operasional.menjadi prototip operasional.

Page 62: PPL - 109 [Compatibility Mode]

•• Untuk aplikasi kecil, setelah tahap pengumpulan Untuk aplikasi kecil, setelah tahap pengumpulan kebutuhan langsung diimplementasikan kebutuhan langsung diimplementasikan menggunakan menggunakan fourthfourth--generation languagegeneration language (4GL).(4GL).

•• Sedangkan untuk proyek besar sangat penting untuk Sedangkan untuk proyek besar sangat penting untuk mengembangkan suatu strateji perancangan sistem, mengembangkan suatu strateji perancangan sistem, karena penggunaan 4GT tanpa perancangan akan karena penggunaan 4GT tanpa perancangan akan menimbulkan permasalahan yang sama seperti pada menimbulkan permasalahan yang sama seperti pada pengembangan dengan pendekatan konvensional pengembangan dengan pendekatan konvensional pengembangan dengan pendekatan konvensional pengembangan dengan pendekatan konvensional (kualitas kurang baik, perawatan menjadi sulit, (kualitas kurang baik, perawatan menjadi sulit, pelanggan menjadi tidak puas).pelanggan menjadi tidak puas).

•• Implementasi menggunakan 4GL memungkinkan Implementasi menggunakan 4GL memungkinkan pengembang perangkat lunak dapat pengembang perangkat lunak dapat merepresentasikan hasil yang diinginkan dan merepresentasikan hasil yang diinginkan dan kemudian membangkitkan kode/program kemudian membangkitkan kode/program komputernya secara otomatis.komputernya secara otomatis.

Page 63: PPL - 109 [Compatibility Mode]

FourthFourth--generation techniques (4GT)generation techniques (4GT)

Memungkinkan pengembang menghasilkan Memungkinkan pengembang menghasilkan spesifikasi perangkat lunak tingkat tinggi, karena:spesifikasi perangkat lunak tingkat tinggi, karena:

•• Membangkitkan source code secara otomatis.Membangkitkan source code secara otomatis.

•• Bahasa nonBahasa non--prosedural untuk query basisdata.prosedural untuk query basisdata.

•• Manipulasi data.Manipulasi data.•• Manipulasi data.Manipulasi data.

•• Membangkitkan laporan.Membangkitkan laporan.

•• Definisi dan interaksi melalui layar.Definisi dan interaksi melalui layar.

•• Pengembangan aplikasi grafik tingkat tinggi.Pengembangan aplikasi grafik tingkat tinggi.

Page 64: PPL - 109 [Compatibility Mode]

FourthFourth--generation techniques (4GT)generation techniques (4GT)

Requirement

gathering

Design

strategy

Implementation

using 4GL

Testing

Page 65: PPL - 109 [Compatibility Mode]

Kelebihan 4GTKelebihan 4GT

•• Pelanggan dapat menggambarkan kebutuhannya Pelanggan dapat menggambarkan kebutuhannya dalam suatu rancangan sistem dan secara dalam suatu rancangan sistem dan secara otomatis rancangan dapat diubah menjadi prototip otomatis rancangan dapat diubah menjadi prototip operasional.operasional.

•• Penggunaan perangkat 4GT tidak membutuhkan Penggunaan perangkat 4GT tidak membutuhkan pengetahuan bahasa pemrograman, karena kode pengetahuan bahasa pemrograman, karena kode komputer (komputer (source codesource code) dapat dibangkitkan oleh ) dapat dibangkitkan oleh pengetahuan bahasa pemrograman, karena kode pengetahuan bahasa pemrograman, karena kode komputer (komputer (source codesource code) dapat dibangkitkan oleh ) dapat dibangkitkan oleh sistem 4GT.sistem 4GT.

•• 4GT mengurangi waktu pengembangan perangkat 4GT mengurangi waktu pengembangan perangkat lunak dan meningkatkan produktivitas manusia lunak dan meningkatkan produktivitas manusia yang mengambangkannya.yang mengambangkannya.

Page 66: PPL - 109 [Compatibility Mode]

Kekurangan 4GTKekurangan 4GT

•• Kode komputer yang dihasilkan tidak efisien dan Kode komputer yang dihasilkan tidak efisien dan perawatan sistem perangkat lunak besar yang perawatan sistem perangkat lunak besar yang dikembangkan menggunakan 4GT masih menjadi dikembangkan menggunakan 4GT masih menjadi tanda tanya.tanda tanya.

•• Penggunaan 4GT masih terbatas pada aplikasi Penggunaan 4GT masih terbatas pada aplikasi sistem informasi bisnis, khususnya analisis sistem informasi bisnis, khususnya analisis sistem informasi bisnis, khususnya analisis sistem informasi bisnis, khususnya analisis informasi dan pelaporan yang mengacu pada informasi dan pelaporan yang mengacu pada database besar.database besar.

Page 67: PPL - 109 [Compatibility Mode]

Prototyping

Prototyping

nth iteration

4GT Spiral model

Preliminary Requirement gathering

Requirements

analysis

Design

4GTCoding n iteration

4GT

Testing

Operational system

Maintenance

Coding

Paradigma Paradigma

KombinasiKombinasi

Page 68: PPL - 109 [Compatibility Mode]

PelakuPelaku--pelaku Pengembangan pelaku Pengembangan Perangkat LunakPerangkat Lunak

•• Project ManagerProject Manager

•• System AnalystSystem Analyst

•• ProgrammerProgrammer

•• Software TesterSoftware Tester

•• Software InspectorSoftware Inspector

�� Change ControllerChange Controller

�� Technical WriterTechnical Writer

�� Database AdministratorDatabase Administrator

�� Network AdministratorNetwork Administrator•• Software InspectorSoftware Inspector

•• Software LibrarianSoftware Librarian

�� Network AdministratorNetwork Administrator

�� UserUser

Page 69: PPL - 109 [Compatibility Mode]

Masalah yang dihadapiMasalah yang dihadapi

•• Sistem sudah kadaluwarsa Sistem sudah kadaluwarsa (obsolete)(obsolete) sebelum sebelum diserah terimakan diserah terimakan (delivered)(delivered) ..

•• Tidak mampu memenuhi kebutuhanTidak mampu memenuhi kebutuhan--kebutuhan kebutuhan mendatang.mendatang.

•• Hanya 25% dari proyek yang berhasil menjadi Hanya 25% dari proyek yang berhasil menjadi •• Hanya 25% dari proyek yang berhasil menjadi Hanya 25% dari proyek yang berhasil menjadi sistem yang berjalan.sistem yang berjalan.

•• Sistem tidak dapat memenuhi kepuasan pelanggan.Sistem tidak dapat memenuhi kepuasan pelanggan.

Page 70: PPL - 109 [Compatibility Mode]

Apa yang diinginkan pelangganApa yang diinginkan pelanggan

•• SistemSistem–– Memenuhi kebutuhanMemenuhi kebutuhan--kebutuhan fungsionalkebutuhan fungsional–– Dapat menyesuaikan dengan perubahan lingkungan Dapat menyesuaikan dengan perubahan lingkungan

yang cepat.yang cepat.

•• Perangkat LunakPerangkat Lunak–– Tahan lama Tahan lama (maintainable)(maintainable)–– Tahan lama Tahan lama (maintainable)(maintainable)–– Dikembangkan sesuai dengan dana dan untuk Dikembangkan sesuai dengan dana dan untuk

jangka panjangjangka panjang

•• Tampilan Perangkat LunakTampilan Perangkat Lunak–– Tampilan/kesan pertama adalah yang paling Tampilan/kesan pertama adalah yang paling

penting karena akan mempengaruhi opini penting karena akan mempengaruhi opini keseluruhan.keseluruhan.

–– Produk grafis yang indah bisa menyebabkan user Produk grafis yang indah bisa menyebabkan user memaafkan satu atau dua kekurangan.memaafkan satu atau dua kekurangan.

Page 71: PPL - 109 [Compatibility Mode]

Software Requirements Specification (SRS)Software Requirements Specification (SRS)

PerformancePerformance

Software Software

Requirement Requirement

Functional Functional

RequirementsRequirements

Design Design PerformancePerformance

RequirementsRequirements

Requirement Requirement

Specification Specification

DocumentDocument

Design Design

ConstraintsConstraints

External External

InterfacesInterfaces

Page 72: PPL - 109 [Compatibility Mode]

Performance RequirementsPerformance Requirements

•• Ada dua jenis Kebutuhan Ada dua jenis Kebutuhan Peningkatan Peningkatan Kinerja yaitu: Kinerja yaitu: statisstatis dan dan dinamisdinamis..

•• Kebutuhan statis tidak menimbulkan kendala pada sifat Kebutuhan statis tidak menimbulkan kendala pada sifat eksekusi dari sistem disebut juga eksekusi dari sistem disebut juga kapasitaskapasitas dari sistem, dari sistem, misalnya:misalnya:-- jumlah terminal yang dapat didukungjumlah terminal yang dapat didukung-- jumlah terminal yang dapat didukungjumlah terminal yang dapat didukung-- jujummlah file dan ukuran yang dapat diproses.lah file dan ukuran yang dapat diproses.

•• Kebutuhan dinamis menentukan Kebutuhan dinamis menentukan keterbatasan perilaku keterbatasan perilaku eksekusieksekusi sistem, misalnya:sistem, misalnya:-- response timeresponse time-- throughputthroughput :: jumlah operasijumlah operasi ((transaksitransaksi)/)/unit waktuunit waktu

Page 73: PPL - 109 [Compatibility Mode]

Functional RequirementsFunctional Requirements

•• Kebutuhan fungsional menentukan keluaranKebutuhan fungsional menentukan keluaran--keluaran keluaran yang harus dihasilkan dari masukanyang harus dihasilkan dari masukan--masukan tertentu.masukan tertentu.

•• Disini digambarkan hubungan antara masukan dan Disini digambarkan hubungan antara masukan dan keluaran suatu sistem.keluaran suatu sistem.

•• Seluruh operasi yang harus dilakukan pada suatu data Seluruh operasi yang harus dilakukan pada suatu data masukan untuk memperoleh keluaran harus masukan untuk memperoleh keluaran harus masukan untuk memperoleh keluaran harus masukan untuk memperoleh keluaran harus dispesifikasikan.dispesifikasikan.-- pemeriksaan validasipemeriksaan validasi-- parameter dan unit pengukuranparameter dan unit pengukuran-- persamaanpersamaan--persamaan atau operasi logika lainnyapersamaan atau operasi logika lainnya-- perilaku sistem dalam situasi normal (masukan perilaku sistem dalam situasi normal (masukan atau keluaran yang valid).atau keluaran yang valid).

Page 74: PPL - 109 [Compatibility Mode]

Design ConstraintsDesign Constraints

Ada banyak faktor pada lingkungan pelanggan yang Ada banyak faktor pada lingkungan pelanggan yang menyebabkan terbatasnya pilihan dari seorang menyebabkan terbatasnya pilihan dari seorang perancang, misalnya:perancang, misalnya:

1.1. Standards compliance. Standards compliance. Standard yang harus diikuti Standard yang harus diikuti misalnya format laporan dan prosedur akuntabilitas.misalnya format laporan dan prosedur akuntabilitas.

2.2. Resources limitation.Resources limitation. Keterbatasan sumberKeterbatasan sumber--sumber sumber misalnya jenis dari mesin yang harus digunakan, sistem misalnya jenis dari mesin yang harus digunakan, sistem misalnya jenis dari mesin yang harus digunakan, sistem misalnya jenis dari mesin yang harus digunakan, sistem operasi yang tersedia, bahasa pemrograman yang operasi yang tersedia, bahasa pemrograman yang didukung, dan keterbatasan media penyimpan.didukung, dan keterbatasan media penyimpan.

3.3. Reliability and Fault Tolerance.Reliability and Fault Tolerance. Reliabilitas penting bagi Reliabilitas penting bagi aplikasi yang kritis. Toleransi kepada kesalahan aplikasi yang kritis. Toleransi kepada kesalahan merupakan kendala utama pada perancangan sistem, merupakan kendala utama pada perancangan sistem, karena membuat sistem lebih kompleks dan mahal.karena membuat sistem lebih kompleks dan mahal.

4.4. Security.Security. Penting pada sistem pertahanan dan Penting pada sistem pertahanan dan database.database.

Page 75: PPL - 109 [Compatibility Mode]

External Interface RequirementsExternal Interface Requirements

Seluruh interaksi yang mungkin antara perangkat lunak Seluruh interaksi yang mungkin antara perangkat lunak dengan pemakai, hardware dan perangkat lunak lain dengan pemakai, hardware dan perangkat lunak lain harus dijelaskan secara spesifik.harus dijelaskan secara spesifik.

1.1. User Interface. User Interface. Manual pemakai harus dibuat dengan Manual pemakai harus dibuat dengan perintahperintah--perintah pemakai, formatperintah pemakai, format--format tampilan, format tampilan, keterangan bagaimana sistem akan muncul, umpan keterangan bagaimana sistem akan muncul, umpan keterangan bagaimana sistem akan muncul, umpan keterangan bagaimana sistem akan muncul, umpan balik dan pesanbalik dan pesan--pesan kesalahan.pesan kesalahan.

2.2. Hardware interface requirement.Hardware interface requirement. SRS harus SRS harus menentukan sifatmenentukan sifat--sifat logis untuk setiap interface sifat logis untuk setiap interface antara produk perangkat lunak dengan komponenantara produk perangkat lunak dengan komponen--komponen perangkat kerasnya, misalnya: batas komponen perangkat kerasnya, misalnya: batas kecepatan prosesor, kapasitas memori.kecepatan prosesor, kapasitas memori.

Page 76: PPL - 109 [Compatibility Mode]

See……………..you………See……………..you………