Anda di halaman 1dari 44

Prodi Teknologi Informasi

Fakultas Teknik
Universitas Citra Bangsa Kupang

Rekayasa Perangkat Lunak


RPL-02 Pendahuluan

F.X.Kurniawan Malo, ST., MT.


Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…pendahuluan…

What is SOFTWARE ??
Apa itu PERANGKAT LUNAK ??
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…pendahuluan…
 Software (perangkat lunak) adalah produk yang dirancang dan
dibangun oleh software engineer.
 Komponennya mencakup
 Program Programs
 Data
 dokumen

Software

Data Documents
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…pendahuluan…
 Kebergantungan manusia pada komputer pada hampir setiap aspek
kehidupan manusia sangat besar.
 Komputer pada dasarnya hanya sebuah mesin yang tidak berguna
jika tidak dilengkapi dengan perangkat lunak.
 Perangkat lunak menjadi objek yang sangat penting.
 Semakin besar dan kompleks
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…pendahuluan…
 Oleh karena itu harus dijamin bahwa perangkat lunak harus dapat
berjalan dengan baik terutama untuk perangkat lunak ‘kritikal’.

 Jangan sampai terjadi kesalahan, karena dapat mengakibat sesuatu


yang fatal.
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…pendahuluan…
• Contoh 01 : Tidak kritikal
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…pendahuluan…
Contoh 02 : kegagalan karena kesalahan perangkat lunak
 Ariane 5
 Terjadi kesalahan overflow
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…pendahuluan…
Contoh kegagalan karena kesalahan perangkat lunak

 Bank of America menghabiskan $23,000,000 selama 5 tahun dalam


sebuah projek untuk membangun sebuah sistem akuntansi. Dana
tambahan sebesar $60,000,000 dikeluarkan lagi untuk mencoba
membuat sistem tersebut bekerja, yang pada akhirnya tidak digunakan.
BoA kehilangan peluang bisnis sekitar $1,000,000,000.

 Pesawat bomber B1 membutuhkan dana tambahan $1,000,000,000


untuk memperbaiki software pertahanan udara, tetapi software
tersebut tidak bekerja sesuai dengan spesifikasi.
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…pendahuluan…
… Beberapa fakta dan karakteristing menarik tentang Eclipse …
 Lines of source code > 1,350,000.
 Effort (person-years) > 400.
 Classes 17,456.
 Inheritance relations 15,187.
 Methods 124,359.
 Object instantiations 43,923.
 Fields 48,441.
 Call relations 1,066,838.
 Lifetime bugs > 40,000.
 Est. Development cost > $ 54,000,000.
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…pendahuluan…
Data Standish …
 Standish Group mempelajari 3682 projek pada 365 perusahaan
pada tahun 1995
 Huge investment in software development
 US $250 billion spent each year on IT development of c. 175 000 projects in the US (1995
estimates)
 Huge losses
 US $81 billion spent on cancelled projects and additional $59 billion on time overruns by US
companies and government (1995 estimates)
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…pendahuluan…
Data Standish …
 Project success rate
 Success 16.2%
 Challenged (either late or over budget) 52.7%
 Impaired (cancelled) 31.1%
 Average cost overrun of original estimate was 189%
 Average time overrun of original estimate was 222%
 On average only 61% of originally specified features and functions were
available on these projects
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…pendahuluan…
 Tetapi … mengembangkan perangkat lunak sulit …
 Kebanyakan perangkat lunak merupakan sistem yang besar
 Banyak orang yang terlibat
 Kerja team, bukan individu
 Biaya yang cukup besar yang diinvestasikan.
 Jutaan baris kode program.
• UNIX contains 4 million lines of code
• Windows 2000 contains 108 lines of code
 Modifikasi dan pemeliharaan yang sering berlangsung terus-menerus.
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…pendahuluan…
Oleh karena itu …

Perlu adanya pendekatan yang baik dan teratur (well-disciplined)


dalam pengembangan dan manajemen perangkat lunak ..

 rekayasa (engineering)
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…perlu direnungkan…
Perangkat lunak sebagai produk rekayasa berbeda dengan produk
rekayasa yang lain, misal : bangunan, pesawat, mobil, kereta, dll

Produk perangkat lunak sifatnya INTANGIBLE


Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…perlu direnungkan…
 Kegagalan perangkat lunak dapat mengakibat efek yang besar.

 Perangkat lunak memiliki karakteristik yang berbeda dengan produk


rekayasa lain
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

 Tidak mudah untuk mengembangkan perangkat lunak.


 Problem utama terkait dengan kompleksitas ..

Complexity, 1870 – Bank of England


Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…solusi…

Software Engineering
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…rekayasa perangkat lunak…


• “Software Engineering” dikenalkan pertama kali di Computer Science conference oleh North
Atlantic Treaty Organization (NATO) in 1968
 Software Engineering
 Software Crisis
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…definisi…
Definition I (IEEE93)[3]
The application of a systematic, disciplined, quantifiable approach to the
development, operation, and maintenance of software; that is, the
application of engineering to software.

Definition II [4]
An engineering discipline that is concerned with all aspects of software
production from the system specification to maintaining the system
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…definisi…
… Schach …

Software engineering is a discipline whose aim is the production of fault-free


software, delivered on time and within budget, that satisfies the user’s needs
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…definisi…

Proses pemecahan problem yang dihadapi customer dengan pengembangan


dan evolusi sistem perangkat lunak berkualitis tinggi dengan
mempertimbangkan kekangan biaya maupun waktu.
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…definisi…
… memecahkan problem …

• Software engineers harus berkomunikasi secara efektif untuk


mengidentifikasi dan mengerti problem yang dihadapi.
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…definisi…
… pengembangan secara sistematis dan evolutif …

• Proses rekayasa (engineering process) melibatkan penerapan teknik-teknik


secara terorganisir.
• Penggunaan metodologi
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…definisi…
… Perangkat Lunak besar dan berkualitas tinggi …
• Teknik RPL dibutuhkan karena sistem yang besar tidak dapat secara
menyeluruh dimengerti oleh satu orang.
• Kerjasama dan koordinasi tim diperlukan.
• Tantangan: membagi kerja dan memastikan bahwa setiap bagian dapat
bekerja secara benar.
• End-product harus memiliki kualitas yang baik
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…definisi…
… Perangkat Lunak besar dan berkualitas tinggi …
• Correct, correct, correct
• Maintainable and easy to modify
• Well modularized with well-designed interfaces
• Reliable and robust
• Has a good user interface
• Well documented
• Internal documentation for maintenance and modification
• External documentation for end users
• Efficient
• Not wasteful of system resources, cpu & memory
• Optimized data structures and algorithms
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…definisi…
… Biaya, waktu dan kekangan lain …

• Sesumber (resources) terbatas


• Keuntungan harus lebih besar dari biaya.
• Prakiraan biaya dan waktu yang tidak akurat dapat menyebabkan kegagalan
proyek.
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

… software engineering activities …


Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

… aktivitas rekayasa perangkat lunak …


4 P’s of Software Engineering

 People
o Project stakeholders

 Product
o The software product plus associated documents

 Project
o The activities carried out to produce the product

 Process
o Framework within which the team carries out the activities
necessary to build the product
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

… aktivitas rekayasa perangkat lunak …


… people …
 Project management
 Development team
 Customer
 End-user
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

… aktivitas rekayasa perangkat lunak …


… product …
 Project documentation
 Documents produced during software definition and development

 Code
 Source and object

 Test documents
 Plans, cases, and results

 Customer documents
 Documents explaining how to use and operate product

 Productivity measurements
 Analyze project productivity
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

… aktivitas rekayasa perangkat lunak …


… project …
Software Project Activities
-- which produce a software product: Mainly…
 Planning
o plan, monitor and control the software project
 Requirements analysis
o define what to build
 Design
o how to build the software
 Implementation
o program the software
 Testing
o validate software meets the requirements
 Maintenance
o resolve problems; adapt software to meet new requirements;
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

… software process …
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

… software process …
 Menggambarkan proses suatu PL dibangun atau
dikembangkan/diperluas sebagai sebuah solusi terhadap suatu
problem
 Siklus pengembangan PL yang umum
• “Waterfall” Model
• Prototype model
• Spiral Model
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

… software process …

Planning
Maintenance

Testing The Software


Development Requirements
Lifecycle analysis
Implementation

Design
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

… software process …
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

… siklus pengembangan …
Fasa Kegiatan Hasil
Analysis Menentukan kebutuhan software requirements
sistem specification

Design Mengembangkan Software design


struktur sistem description

Implementation Menulis suorce code program, file, modul

Testing Menguji sistem yang test suits dan hasil test


dibuat/dikembangkan

Maintenance koreksi, adaptasi, versi baru sistem


improve
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

… metodologi …
… definisi …
 Petunjuk yang menyeluruh yang diikuti untuk menyelesaikan setiap
aktivitas siklus pengembangan perangkat lunak
 Kumpulan model, tool, dan techniques
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

… metodologi …
… model …
 Representasi dunia nyata / penyederhanaan, tidak sama persis dengan kondisi
nyata
 Abstraksi
 Diagram dan chart
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

… metodologi …
… tools …
 Perangkat lunak pendukung yang membantu membuat model atau komponen
proyek lain yang dibutuhkan.
 Berkisar dari program sederhana sampai pada CASE tools
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

… metodologi …
… technique …
 guidelines yang membantu analis menyelesaikan aktivitas pengembangan
sistem.
 Berupa instruksi langkah demi langkah atau instruksi umum.
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

… metodologi …
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

…discussion…

Usability engineering. By Jay Simpson, from the cover of


IEEE Computer, March 1992.
Prodi Teknologi Informasi
Fakultas Teknik
Universitas Citra Bangsa Kupang

Q&A

DO YOUR WORK, DON’T BE STUPID.

Anda mungkin juga menyukai