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’.
…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
…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 …
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
…perlu direnungkan…
Kegagalan perangkat lunak dapat mengakibat efek yang besar.
…solusi…
Software Engineering
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 …
…definisi…
…definisi…
… memecahkan problem …
…definisi…
… pengembangan secara sistematis dan evolutif …
…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 …
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
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
… 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
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
… 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…
Q&A