JURUSAN SISTEM INFORMASI Fakultas Teknologi Informasi - ITS
KS091324 - ETIKA PROFESI Pokok Bahasan 07 Software Development Arif Djunaidy
[email protected] [email protected]
KUTIPAN It’s not a bug ― it’s an undocumented feature ― Author unknown
Etika Profesi
Pokok Bahasan 07/ 2
Perhatikan kasus berikut ... (1) • In January 2002, Bill Gates sent an e-mail to Microsoft employees saying that there must be a company-wide emphasis on developing high-quality code even if it comes at the expense of adding new features. The following month, 8,000 Microsoft employees in the Windows division were ordered to drop what they were doing and devote their efforts to eliminating flaws in Microsoft’s Windows 2000 and Windows XP operating systems. • Before beginning this task, Windows programmers and managers were sent to a day of training that focused on eliminating common coding mistakes and improving the program-design process to reduce errors. Every block of code Etika Profesi
Pokok Bahasan 07 / 3
Perhatikan kasus berikut ... (2) was assigned an “owner” who was responsible for reviewing the design and the code. It tooks ten weeks to complete the reviewe. Some bugs were identified and removed from source code; other bugs were scheduled for removal in subsequent releases. The Windows division manager committed that in the future, no software would ship containing serious, top-priority bugs. • Microsoft’s internal quality-improvement program is called the Trustworthy Computing Security initiative. It was activated primarily by customer criticism about the lack of security in commercial software. Many complaint that is becoming too difficult for end users to keep current with all Etika Profesi
Pokok Bahasan 07 / 4
Perhatikan kasus berikut ... (3) the software patches; they want to see software designed with security. • Although it is the world’s biggest software manufacturer, Microsoft is known for rushing feature-packed software to market—and promising bug fixes in new releases. Microsoft has a lot of work to do to transform its deeply ingrained, highly bureaucratic culture to place a greater emphasis on software quality. Industry experts doubt that a day of training and a few weeks of bug fixing will have a lasting effect. They want to see Microsoft develop a plan to make systematic changes involving other key products, including Office, SQl Server, and Exchange. Etika Profesi
Pokok Bahasan 07 / 5
Perhatikan kasus berikut ... (4) • Obviously, Microsoft is not the only software manfacturer guilty of turning out software that contains flaws. The National Infrastructure Protection Center’s 2001 summary of software vulnarabilities 70 pages long, representing dozens of well-known computer companies.
[ Sources: adapted from Byron Acohido, “Microsoft Does Security Sweep: Workers Drop Everything to Check Windows for Holes,” USA Today, February 11, 2010 ]
Etika Profesi
Pokok Bahasan 07 / 6
Pokok Bahasan (1) • Menjelaskan mengapa perusahaan
memerlukan PL berkualitas tinggi dalam sistem bisnis, sistem kendali proses industri, dan produk-produk konsumen • Menjelaskan isu etika potensial yang dihadapi pabrikan PL dalam membuat perimbangan (trade-off) antara jadwal proyek, biaya proyek, dan kualitas PL • Mengidentifikasi empat jenis produk software paling umum yang menuntut pertanggungjawaban
Etika Profesi
Pokok Bahasan 06 / 7
Pokok Bahasan (2) • Mengidentifikasi komponen-komponen penting dari metodologi pengembangan PL, dan manfaat apa yang dapat diperoleh dari penggunaan metodologi ini • Menjelaskan bagaimana pengintegrasian “Capability Maturity Model” dapat menyempurnakan organisasi proses pengembangan PL • Menjelaskan apa yang dimaksud dengan sistem “safety-critical” dan tindakan khusus apa yang diperlukan dalam pengembangannya
Etika Profesi
Pokok Bahasan 06 / 8
Strategi Rekayasa PL Berkualitas • Karakteristik PL berkualitas tinggi: – Mudah dipelajari dan mudah digunakan – Memenuhi fungsi-fungsi yang diinginkan penggunanya secara cepat dan efisien – Beroperasi dengan aman, dapat dipercaya, dan mempunyai tingkat ketersediaan yang tinggi, sehingga waktu gagal yang tidak diharapkan menjadi minimum
• Pembuat PL terus bergelut dengan persoalanpersoalan ekonomi, etika, dan organisasi, dalam upaya untuk menyempurnakan kualitas PL yang dihasilkan Etika Profesi
Pokok Bahasan 06 / 9
Beberapa Isu Utama • Software defect adalah kesalahan pada PL, yang jika tidak dihilangkan, akan menyebabkan PL gagal utk memenuhi keinginan para penggunanya • Software quality adalah suatu tingkat dimana sifat-sifat produk PL memungkinkannya utk memenuhi kebutuhan para penggunanya • Quality management adalah metode yang menfokuskan pada bagaimana mendefinisikan, mengukur, dan menyempurnakan kualitas proses pengembangan PL dan produk PL • Deliverables adalah item-item yang dihasilkan dalam proses pengembangan PL (seperti spesifikasi kebutuhan, diagram alir, PL, dan dokumentasi) Etika Profesi
Pokok Bahasan 06 / 10
Penyebab Kualitas PL yang Jelek • Penyebab utama dikarenakan pihak pengembang tidak tahu bagaimana harus bertindak atau tidak melakukan desain berkualitas sejak awal fase pengembangan PL • Faktor kedua, walaupun PL telah didesain dengan baik, seorang programmer dapat membuat kesalahan dalam menerjemahkan spesifikasi desain menjadi sejumlah baris program yang secara tidak sengaja mengandung defect • Faktor ketiga dikarenakan adanya tekanan yang kuat untuk mempercepat “time-to-market” dari produk yang harus dihasilkan Etika Profesi
Pokok Bahasan 06 / 11
Pentingnya Kualitas PL • Ingat bahwa PL digunakan untuk mengendalikan berbagai proses bisnis dan proses industri • Selain itu PL juga dapat digunakan dalam sebuah Decision Support System (DSS) guna meningkatkan efektivitas proses pembuatan keputusan – Dengan demikian, dampak dari cacat pada PL dapat menghancurkan dan membuat marah para kastemernya, yang pada akhirnya akan dapat mengurangi atau bahkan merugikan penghasilan
Etika Profesi
Pokok Bahasan 06 / 12
Legal Overview: S/W Product Liability (1) •
•
Product liability adalah pertanggungjawaban dari pihak pembuat, penjual, penyewa, dan pihak lainnya sehubungan dengan kerusakan (injuries) yang disebabkan oleh produk yang cacat Strict liability berarti bahwa terdakwa bertanggung jawab terhadap perbuatan melukai orang lain tanpa memperhatikan apakah perbuatan itu disengaja atau tidak
Etika Profesi
Pokok Bahasan 06 / 13
Legal Overview: S/W Product Liability (2) •
•
Untuk kasus tidak disengaja, penyuplai PL tidak dapat dikenai tanggung jawab untuk setiap cacat dari produk yang menyebabkan kerugian pada kastemer atau pihak ketiga Tanggung jawab terbatas dapat berlaku pada cacat yang berbahaya (harmful defects) yang dapat terdeteksi dan yang telah diperbaiki melalui praktek pengembangan PL yang “wajar”
Etika Profesi
Pokok Bahasan 06 / 14
Legal Overview: S/W Product Liability (2) • •
•
Garansi (Warranty) menjamin pembeli bahwa produk yang dibelinya telah memenuhi standar kualitas tertentu Jika sebuah produk gagal untuk memenuhi garansi yang telah ditentukan, maka kastemer dapat menggugat penjual untuk garansi yang tidak terpenuhi Salah representasi yang disengaja (Intentional misrepresentation) terjadi bilamana pihak penjual salah dalam merepresentasikan kualitas sebuah produk atau pihak penjual menyembunyikan cacat dari produk yang dijualnya
Etika Profesi
Pokok Bahasan 06 / 15
Proses Pengembangan PL • Proses pengembangan sebuah PL merupakan sebuah aktivitas yang komplek, yang memerlukan penyelesaian banyak aktivitas yang komplek dengan berbagai ketegantungan antar aktivitas tersebut • Metodologi Pengembangan PL (Software development methodology) memungkinkan para analis sistem, programmers, manajer proyek, dan anggota tim lainnya utk menjadikan pengembangan PL yang berkualitas tinggi dapat terkendali dengan baik dan mengalami kemajuan secara teratur • Jaminan Kualitas PL (Software quality assurance) mengacu ke beberapa metode dalam metodologi pengembangan PL yang digunakan untuk menjamin bahwa PL yang sedang dikembangkan akan dapat beroperasi dengan reliabel Etika Profesi
Pokok Bahasan 06 / 16
Pengujian PL (1) • Dynamic testing adalah jenis pengujian program yang dilakukan dengan memasukkan data uji dan membandingkan hasil sebenarnya dengan hasil yang diharapkan – Black-box testing • Melibatkan pengecekan unit-unit PL sebagai sebuah peralatan yang diharapkan memiliki kelakuan masukan dan luaran tertentu, tetapi secara internal prosesnya tidak diketahui (dianalogikan sebagai sebuah black box) • Pihak pengetes tidak perlu tahu struktur dari program
– White-box testing • Melibatkan pengecekan unit-unit PL sebagai sebuah peralatan yang diharapkan memiliki kelakuan masukan dan luaran tertentu, tetapi secara internal prosesnya diketahui • Pihak pengetes harus mengetahui logika dari struktur program Etika Profesi
Pokok Bahasan 06 / 17
Pengujian PL (2) • Static testing dilakukan dengan cara menjalankan sebuah “analyzer software” untuk memeriksa pola-pola yang mencurigakan dalam program yang mengindikasikan adanya cacat PL • Integration testing adalah jenis pengujian yang dilakukan utk menjamin bahwa keterkaitan antar berbagai sub-sistem dari PL bekerja dengan baik • System testing dilakukan untuk menguji keseluruhan sistem sebagai sebuah entitas yang lengkap • User acceptance testing adalah jenis pengujian independen yang dilakukan oleh para pengguna akhir (end users) yang telah dilatih utk menjamin bahwa sistem telah berjalan sesuai dengan yang diharapkan oleh mereka Etika Profesi
Pokok Bahasan 06 / 18
Capability Maturity (1) Model Integration (CMMI) • CMMI yang dikembangkan oleh Software Engineering Institute (SEI) di Carnegie Mellon adalah sebuah pendekatan penyempurnaan proses yang mendefinisikan elemen-elemen penting dari proses yang efektif • CMMI dapat digunakan untuk mengevaluasi dan menyempurnakan hampir sembarang proses • Aplikasi yang spesifik dari CMMI, yaitu CMMI Development (CMMIDEV) seringkali dimanfaatkan untuk menilai dan menyempurnakan praktik pengembangan PL • CMMI mendefinisikan 5 tingkatan kematangan proses pengembangan PL dan mampu mengidentifikasi persoalanpersoalan yang paling kritis terhadap kualitas PL dan peningkatan proses Etika Profesi
Pokok Bahasan 06 / 19
Capability Maturity (2) Model Integration (CMMI) Maturity Level Definitioan
% of all reporting organizations at this level
Not reported
-----
8.4%
1—Initial
Process unpredictable, poorly controlled, and reactive
1.9%
2— Managed
Process characterized for projects and oftten reactive
33.3%
3—Defined
Process characterized for the organization and proactive
33.3%
Etika Profesi
Pokok Bahasan 06 / 20
Capability Maturity (3) Model Integration (CMMI) Maturity Level
Definitioan
4—Quantitatively Managed
Process measured and controlled
4.4%
5—Optimizing
Focus and continuous process improvement
18.2%
Etika Profesi
% of all reporting organizations at this level
Pokok Bahasan 06 / 21
Capability Maturity (4) Model Integration (CMMI) • CMMI-DEV adalah seperangkat panduan untuk 22 area proses terkait dengan pengembangan dan pemeliharaan sistem (lihat di www.sei.cmu/cmmi/models) • SEI telah mendokumentasikan hasil dari implementasi CMMI-DEV sebagai berikut: – 33% mampu menurunkan biaya untuk memperbaiki cacat – 30% mampu meningkatkan produktivitas – 50% sampai 90% mampu meningkatkan pemenuhan jadwal proyek
Etika Profesi
Pokok Bahasan 06 / 22
Capability Maturity (5) Model Integration (CMMI) • Beberapa organisasi yang menggunakan CMMI: – Accenture, Boeing, DynCorp, Federal Aviation Administration – Honeywell, IBM Global Services, Intel, Lockheed Martin – Reuters, Samsung, Tata Concultency, US Army, Air Force, and Navy, Wipro
Etika Profesi
Pokok Bahasan 06 / 23
Isu Penting dalam Pengembangan PL • Walaupun cacat dalam sembarang sistem dapat menimbulkan persoalan serius, konsekuensi cacat PL dalam beberapa sistem dapat menimbulkan kematian – Dalam sistem ini, para pemangku yang dilibatkan dalam pembuatan PL berkualitas harus ditempatkan pada tingkat tertinggi
• Keputusan beretika yang harus dilakukan melibatkan perimbangan antara kualitas dengan beberapa faktor (seperti biaya, kemudahan penggunaan, waktu untuk memasarkan) memerlukan pertimbangan yang sangat serius
Etika Profesi
Pokok Bahasan 06 / 24
Pengembangan Safety-Critical Systems • •
Safety-critical system adalah sebuah sistem yang kegagalannya dapat menimbulkan kecelakaan atau bahkan kematian bagi manusia Beberapa contoh safety-critical systems yang utk mengoperasikannya secara aman mengandalkan pada kinerja PL yang tanpa cela: – – – – – –
Automobile anti-lock breaking systems Nuclear power plant reactor control systems Airplane navigation and control systems Roller coaster breaking systems Elevator control systems Numerous medical devices
Etika Profesi
Pokok Bahasan 06 / 25
Safety-Critical Systems: 3 Aspek Penting •
•
•
Risk adalah probabilitas terjadinya kejadian yang tidak diinginkan dikalikan besarnya konsekuensi dari terjadinya kejadian Redundancy adalah penyediaan banyak komponen pengganti untuk sebuah fungsi tunggal guna menghindari terjadinya kegagalan dan error Reliability adalah probabilitas dari sebuah komponen atau sebuah sistem yang mampu melakukan fungsinya selama batasan waktu tertentu Etika Profesi
Pokok Bahasan 06 / 26
Safety-Critical Systems: Interfaces •
•
Salah satu area yang paling penting dan paling sulit dari desain Safety-Critical Systems adalah subsistem antar-muka manusia-komputer (humancomputer interface) Antar-muka manusia-komputer yang jelek akan dapat meningkatkan resiko yang tinggi, bahkan kadang kala disertai dengan konsekuensi yang tragis
Etika Profesi
Pokok Bahasan 06 / 27
Bakuan Manajemen Kualitas •
•
Organisasi standarisasi internasional (International Organization for Standardization – ISO) mengeluarkan serangkaian ISO utk bakuan manajemen bisnis pada tahun 1988 ISO 9000 adalah serangkaian bakuan formal untuk diikuti dalam proses pengembangan sistem-sistem informasi berkualitas
Etika Profesi
Pokok Bahasan 06 / 28
ISO 9000 • Untuk memperoleh sertifikasi ISO 9000, sebuah perusahaan harus melakukan tiga hal: – Mempunyai prosedur tertulis untuk segala sesuatu yang dikerjakan – Menaati prosedur-prosedur tertulis yang telah dibuat – Membuktikan kepada petugas pengaudit bahwa perusahaan memiliki prosedur tertulis dan mereka telah menaatinya • • • • •
ISO 9001 – Design, development, production, installation, servicing ISO 9002 – Production, installation, Servicing ISO 9003 – Inspection and testing ISO 9000-3 – Development, supply, and maintenance of PL & testing ISO 9004 – Quality management and quality systems elements Etika Profesi
Pokok Bahasan 06 / 29
Failure Mode & Effects Analysis (FMEA) • FMEA adalah suatu teknik penting yang digunakan untuk mengembangkan sembarang sistem yang ISO 9000 compliant • FMEA digunakan sebagai teknik evaluasi reliabilitas untuk menentukan pengaruh (efek) dari suatu kegagalan sistem atau peralatan • Kegagalan diklassifikasi berdasarkan dampak pada beberapa aspek: pencapaian keberhasilan, keselamatan personil, keamanan alat, kepuasan kastemer, dan keselamatan kastemer
Etika Profesi
Pokok Bahasan 06 / 30
Checklist utk Penyemburnaan Kualitas PL (1) • Apakah manajemen senior telah memberikan komitmen thdp kualitas PL? • Apakah CMM for PL (SW-CMM) telah digunakan utk mengevaluasi proses pengembangan PL? • Apakah penggunaan standar metodologi pengembangan PL telah diadopsi? • Apakah metodologi yang diadopsi memberikan penekanan pada manajemen kualitas dan menjelaskan bagaimana mendefinisikan, mengukur, dan memperbaiki proses pengembangan PL dan memperbaiki produk-produk yang dikembangkan dalam beberapa tahapan proses pengembangan? Etika Profesi
Pokok Bahasan 06 / 31
Checklist utk Penyemburnaan Kualitas PL (2) • Apakah manajer dan anggota tim pembuat PL telah dilatih dalam menggunakan metodologi pengembangan PL yang dipakai? • Apakah manajer dan anggota tim pembuat PL mempunyai tanggung jawab yang jelas (accountable) untuk mengikuti metodologi yang digunakan? • Apakah sudah ada upaya yang kuat utk mengidentifikasi dan menghilangkan kesalahan sedini mungkin yang mungkin dapat terjadi dalam proses pengembangan PL? • Dalam pengujian PL, apakah penggunaan pengujian statik dan dinamik telah diaplikasikan? Etika Profesi
Pokok Bahasan 06 / 32
Checklist utk Penyemburnaan Kualitas PL (3) • Apakah pengujian white-box dan black-box telah digunakan? • Apakah telah dibuat tata cara penilaian yang jujur untuk pengembangan PL yang safety-critical? • Jika PL yang dikembangkan termasuk safety-critical, apakah fasilitas dan metode yang digunakan telah memasukkan halhal seperti berikut: project safety engineer, hazard logs, safety reviews, formal configuration management systems, rigorous documentation, risk analysis processes, and the FMEA technique?
Etika Profesi
Pokok Bahasan 06 / 33
Tugas Diskusi Kelompok #6 (1) Kasus yang akan didiskusikan: Kasus 1: Vignette, hal. 235-237 • Kasus 2: Case 1, hal. 258-259 • Kasus 3: Case 2, hal. 259-260 • Kasus 4: Case 3: hal. 260-262 •
Etika Profesi
Pokok Bahasan 06 / 34
Tugas Diskusi Kelompok #6 (2) Tugas : • Menerjemahkan tugas (Dalam format MS-Word, ukuran kertas A4, margin kiri-kanan-atas-bawah masing-masing 2,5 cm, jenis font Calibri, ukuran font utama 12pt, spasi tunggal) dicetak dua kali (satu diserahkan pada saat presentasi) • Setelah bagian jawaban pertanyaan HARUS dibuatkan rangkuman yang menjelaskan APA YANG MENJADI BAHAN PELAJARAN DARI KASUS (LESSON LEARNED) • Membuat presentasi dalam format PPT (berisi rangkuman kasus dan jawaban tugas) • File PPT untuk setiap kelompok presenter HARUS dikirim via email ke
[email protected] Etika Profesi
Pokok Bahasan 06 / 35
Tugas Diskusi Kelompok #6 (4) Penilaian : o o o o o
Kualitas terjemahan (30%) Kualitas bahan presentasi (20%) Kualitas penyajian (20%) Ketepatan jawaban pertanyaan (15%) Usaha dan kekompakan tim (15%)
Etika Profesi
Pokok Bahasan 06 / 36
Tugas Diskusi Kelompok #6 (5) Pembagian tugas (diskusi kelompok): Tugas Kasus 1
Kel. Penyaji 8
Kel. Pembahas 12, 16, 4
Kasus 2 Kasus 3
7 6
11, 15, 3 10, 14, 2
Kasus 4
5
9, 13, 1
Pelaksanaan diskusi kelompok • Setiap kasus didiskusikan selama 30 menit (penjelasan rangkuman kasus maks. 15 menit dan tanya-jawab 15 menit) • Waktu untuk pergantian antar kelompok kurang lebih 5 manit Etika Profesi
Pokok Bahasan 06 / 37
TERIMAKASIH