CBR Rekayasa Perangkat Lunak - Kelompok 2 [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

CRITICAL BOOK REPORT MATA KULIAH REKAYASA PERANGKAT LUNAK REKAYASA PERANGKAT LUNAK ( Christanto Triwibisono, Bandung. 2009) Dosen Pengampu : Ali Akbar Lubis S.Kom. M.TI.



Disusun oleh : Kelompok 2



Mhd.Fikri Saragih



Utari Mawaddah



NIM : 5202151001



NIM : 5202151002



Kelas PTIK A PROGRAM STUDI PENDIDIKAN TEKNOLOGI INFORMATIKA DAN KOMPUTER FAKULTAS TEKNIK UNIVERSITAS NEGERI MEDAN STAMBUK 2020



KATA PENGANTAR Puji syukur selalu dipanjatkan atas kehadirat Tuhan Yang Maha Esa karena berkat rahmat dan hidayahnya Critical Book Report ini dapat dibuat. Critical Book Report ini dibuat dengan tujuan untuk memenuhi tugas Critical Book Report mata kuliah Rekayasa Perangkat Lunak. Tidak lupa diucapkan lupa terima kasih kepada teman-teman dan keluarga yang selalu mendukung kami dalam menyelesaikan Critical Book Report ini. Kami menyadari bahwa dalam proses pembuatan Critical Book Report ini dan hasil dari Critical Book Report terdapat banyak kekurangan dan kesalahan. Sehingga kami sangat membuka bagi siapa pun yang ingin memberikan kritik dan saran yang membangun bagi kami. Kami berharap dengan selesainya Critical Book Report ini dapat bermanfaat bagi seluruh pembaca, amin.



Medan, 08 Mei 2021



Kelompok 2



i



DAFTAR ISI KATA PENGANTAR......................................................................................................i DAFTAR ISI....................................................................................................................ii BAB I PENDAHULUAN................................................................................................3 A. Latar Belakang CBR..............................................................................................3 B. Tujuan Penulisan CBR..........................................................................................3 C. Manfaat Penulisan CBR........................................................................................3 D. Identitas Buku........................................................................................................4 BAB II RINGKASAN ISI BUKU.............................................................................5-29 BAB III PEMBAHASAN..............................................................................................30 A. Analisi..................................................................................................................30 B. Kelebihan Buku...................................................................................................31 C. Kelemahan Buku.................................................................................................31 BAB IV PENUTUP........................................................................................................32 A. Kesimpulan..........................................................................................................32 B. Saran....................................................................................................................32 DAFTAR PUSTAKA---------------------------------------------------------------------------33



ii



BAB I PENDAHULUAN A. Latar Belakang CBR Pentingnya Critical Book Report bagi mahasiswa yang baru belajar tentang mengkritik buku agar lebih mengerti atau memahami apa isi buku yang dibacanya, dan tidak hanya dibaca saja dan lupa begitu saja. Tugas ini juga berfungsi untuk mengajarkan mahasiswa bagaimana caranya berpikir kritis. Seringkali kita bingung memilih buku referensi untuk kita baca dan pahami, terkadang kita hanya memilih satu buku untuk dibaca tetapi hasilnya masih belum memuaskan misalnya dari segi analisis bahasa dan pembahasan, oleh karena itu penulis membuat CBR struktur data ini untuk mempermudah pembaca dalam memilih buku referensi terkhusus pada pokok bahasa tentang rekayasa perangkat lunak.



B. Tujuan Penulisan CBR Tujuan penulisan CBR ini adalah untuk memenuhi tugas dari mata kuliah Rekayasa Perangkat Lunak penulisan Critical Book Report ini juga untuk menambah wawasan kami dalam memahami perangkat lunak lebih tepatnya dalam materi software dan juga meningkatkan kemampuan kami dalam mengaplikasikan ilmu dari tentang software ke dalam dunia komputer.



C. Manfaat Penulisan CBR 1. Untuk menambah wawasan tentang Evolusi Komputer 2. Untuk mengetahui struktur Komputer 3. Untuk mengetahui fungsi komputer 4. Dan untuk memenuhi tugas Matakuliah RPL



3



D. Identitas Buku Buku Utama 1. Judul buku



: REKAYASA PERANGKAT LUNAK



2. Edisi



:I



3. Pengarang



: Christanto Triwibisono



4. Kota terbit



: Bandung



5. Tahun terbit



: 2009



6. Penerbit



: Politeknik Telkom



7. ISBN



:-



Buku Pembanding 1. Judul buku



: Rekayasa Perangkat Lunak [Software Engineering]



2. Edisi



:I



3. Pengarang



: Lila Setiyani, S.T, M.Kom



4. Kota terbit



: Karawang



5. Tahun terbit



: 2018



6. Penerbit



: Jatayu Catra Internusa



7. ISBN



:-



4



BAB II RINGKASAN ISI BUKU Buku Utama Bab 1 Pengenalan Rekayasa Perangkat Lunak Suatu Perangkat Lunak menjadi kebutuhan manusia dengan berbagai bagian disiplin ilmu yang dibidangi setiap tenaga profesionalnya, menjadi bagian penting yang melatarbelakangi tumbuhnya perkembangan perangkat lunak dengan berbagai krisis perangkat lunak menurut berbagai sisi pandang konsmen, manajer dan pengembang/praktisi. Rekayasa Perangkat Lunak berasal dari 2 kata Rekayasa dan Perangkat Lunak. Rekayasa Perangkat Lunak merupakan perihal kegiatan yang kreatif dan sistematis berdasar suatu disiplin ilmu yang membangun suatu perangkat lunak berdasar suatu aspek masalah tertentu. Dalam Rekayasa Perangkat Lunak dilakukan Proses Perangkat Lunak dengan menggunakan model Proses yang merupakan Daur Hidup Rekayasa Perangkat Lunak. Model Proses ini terdiri dari beberapa karakteristik pendekatan proses. Dalam Proses pembangunan Perangkat Lunak perlu diketahui Biaya yang dikeluarkan. Rekayasa Perangkat Lunak Perangkat Lunak Merupakan program-program komputer dan dokumentasi yang berkaitan. Produk perangkat lunak dibuat untuk pelanggan tertentu ataupun untuk pasar umum terdiri dari: Generik – dibuat untuk dijual ke suatu kumpulan pengguna yang berbeda Bespoke (custom) – dibuat untuk suatu pengguna tunggal sesuai dengan spesifikasinya. Rekayasa perangkat lunak berasal dari 2 kata yaitu Software( Perangkat Lunak) dan Engineering (Rekayasa). Perangkat Lunak (Software) adalah source code pada suatu program atau sistem. Perangkat lunak tidak hanya dokumentasi terhadap source code tapi juga dokumentasi terhadap sesuatu yang dibutuhkan selama pengembangan, instalasi, penggunaan dan pemeliharaan sebuah sistem. Engineering atau Rekayasa adalah aplikasi terhadap pendekatan sistematis yang berdasar atas ilmu pengetahuan dan matematis serta aplikasi tentang produksi terhadap struktur,mesin, produk, proses atau sistem. Rekayasa Perangkat Lunak adalah suatu disiplin rekayasa yang berkonsentrasi terhadap seluruh aspek.



5



Kategori Perangkat Lunak Kategori Perangkat lunak secara umum dapat dikelompokkan sebagai berikut:       



Perangkat Lunak Sistem, Sekumpulan program yang ditulis untuk melayani program-program yang lain. Seperti kompiler, editor dan utilitas pengatur file. Perangkat Lunak Real-Time, Program-program yang memonitor / menganalisi / mengontrol kejadian dunia nyata pada saat terjadinya ( real-time event) Perangkat Lunak Bisnis, memroses informasi bisnis spt payroll, inventory dll. Perangkat Lunak Teknik dan Ilmu Pengetahuan, ditandai dengan penggunaan algoritma number crunching. Embedded Software, produk yang ada dalam read-only memory dan dipakai untuk mengontrol hasil dan sistem untuk keperluan konsumen dan pasar industri Perangkat Lunak Komputer Personal, sesuai kebutuhan personal spt pengolah kata,angka dan manajamen database Perangkat Lunak Kecerdasan Buatan, menggunakan algoritma non-numeris untuk memecahkan masalah kompleks yang tidak sesuai untuk perhitungan atau analisis secara langsung.



Karakteristik Perangkat Lunak Dalam Buku Software Engineering Ian Sommerville, Perangkat Lunak mempunyai, Karakteristik sebagai berikut: 1. 2. 3. 4.



Maintanability (Dapat Dirawat), Perangkat Lunak harus dapat memenuhi perubahan kebutuhan Dependability, Perangkat Lunak harus dapat dipercaya Efisiensi, Perangkat Lunak harus efisien dalam penggunaan resource Usability, Perangkat Lunak harus dapat digunakan sesuai dengan yang direncanakan



Proses Perangkat Lunak Proses Perangkat Lunak merupakan Sekumpulan aktifitas yang memiliki tujuan untuk pengembangan ataupun evolusi perangkat lunak. Aktifitas umum dalam semua proses perangkat lunak terdiri dari: 1.



Software Specification – apa yang harus dilakukan oleh perangkat lunak dan batasan/kendala pengembangannya 2. Software Development – proses memproduksi sistem perangkat lunak 3. Software Validation – pengujian perangkat lunak terhadap keinginan pengguna 4. Software Evolution – perubahan perangkat lunak berdasarkan perubahan keinginan. Suatu proses model adalah suatu representasi abstrak suatu model. Proses model menampilkan suatu deskripsi suatu proses dari beberapa perspektif tertentu, Proses Perangkat Lunak dapat dikatakan sebagai aktifitas yang saling terkait (koheren) untuk menspesifikasikan, merancang, implementasi dan pengujian sistem perangkat lunak. 6



Karakteristik Proses Perangkat Lunak Karakteristik Proses Perangkat Lunak terdiri dari:        



Understandability, membuat proses secara eksplisit didefinisikan dan bagaimana sehingga mudah untuk mengerti definisi proses Visibility, Aktifitas proses menghasilkan hasil yang jelas sehingga tahapan proses yang dilakukan terlihat Supportability, Aktifitas Proses dapat didukung atas CASE tools Acceptability, Penerimaan atas proses yang terdefinisi dan yang digunakan oleh Engineer selama pembangunan Produk Perangkat Lunak. Reliability, Proses didesain dalam suatu metode untuk dihindarkan dari kesalahan Robustness, Proses dapat meneruskan dalam masalah yang tidak diharapkan terjadi Maintainabiity, Proses yang merefleksi atas perubahan thd permintaan atau perbaikan proses yang diidentifikasi Rapidity, bagaimana cepat dapat berjalan atas proses pengiriman atau implementasi sebuah sistem dari Spesifikasi yang ada sampai selesai



Daur Hidup Pembangunan Perangkat Lunak Di dalam pengembangan rekayasa perangkat lunak biasanya dipandu dengan pemodelan dengan Daur Hidup Perangkat Lunak (Software Development Life Cycle). Tak ada standar sehingga bervariasi model proses u/ menggambarkan rekayasa daur hidup p.l. Namun tahap-tahap yang prinsipal terhadap pemetaan model proses kedalam aktifitas pengembangan yang fundamental alalah sbb: 1. 2. 3. 4. 5.



Requirement Analysis and definition System and Software Design Implementation and unit testing Integration and system Testing Operation and maintenance



Model Proses Perangkat Lunak Model Proses Perangkat Lunak merupakan suatu representasi proses perangkat lunak yang disederhanakan, dipresentasikan dar perspektif khusus. Contoh perspektif proses:   



Perspektif Alur-kerja (workflow) - barisan kegiatan Perspektif Alur Data (Data flow) – alur informasi Perspektif Peran/Aksi – siapa melakukan apa.



7



Bab 2 Model Proses Perangkat Lunak Program hendaknya dapat menyelesaikan berbagai macam masalah mulai dari yang berskala kecil, menengah, hingga skala yang besar dan kompleks. Untuk bisa menyelesaikan masalah yang bear dan kompleks, akan lebih mudah jika permasalahan tersebut dipecahkan menjadi masalah-masalah yang lebih kecil, sehingga lebih fokus untuk diselesaikan. Solusi untuk masalah yang lebih kecil, kadang kala masih bisa digunakan kembali untuk menyelesaikan permasalahan yang lain. Pengembangan Perangkat Lunak Pengembangan perangkat lunak adalah suatu proses dimana kebutuhan pemakai diterjemahkan menjadi produk perangkat lunak. Proses ini mencakup aktivitas penerjemahan kebutuhan pemakai menjadi kebutuhan perangkat lunak, transformasi kebutuhan perangkat lunak menjadi desain, penerapan desain menjadi kode program, uji coba kode program, dan instalasi serta pemeriksaan kebenararan perangkat lunak untuk operasional. Berdasarkan pengertian tersebut, secara umum dapat dikatakan bahwa proses pengembangan perangkat lunak mengikuti tahap-tahap: 1. 2. 3. 4. 5.



Menentukan APA yang harus dikerjakan oleh perangkat lunak dalam satu rentang waktu tertentu. Mendefinisikan BAGAIMANA perangkat lunak dibuat, mencakup arsitektur perangkat lunaknya, antarmuka internal, algoritma, dan sebagainya. Penerapan (penulisan program) dan pengujian unit-unit program. Integrasi dan pengujian modul-modul program. Validasi perangkat lunak secara keseluruhan (pengujian sistem).



Siklus Pengembangan Perangkat Lunak Siklus pengembangan perangkat lunak atau sering disebut juga dengan siklus hidup perangkat lunak adalah: 



Periode waktu yang diawali dengan keputusan untuk mengembangkan produk perangkat lunak dan berakhir setelah perangkat lunak diserahkan. Umumnya siklus pengembangan ini terdiri dari tahap analisis kebutuhan, perancangan, penerapan, pengujian, dan instalasi serta pemeriksaan.



8







Periode waktu yang diawali dengan keputusan untuk mengembangkan produk perangkat lunak dan berakhir saat produk tidak dapat ditingkatkan lebih jauh lagi oleh pengembang.



Model Proses Pengembangan Perangkat Lunak Model proses perangkat lunak (atau disebut juga paradigma rekayasa perangkat lunak) adalah suatu strategi pengembangan yang memadukan lapisan proses, metode, dan alat serta tahap-tahap generik. Model proses untuk rekayasa perangkat lunak dipilih berdasarkan sifat proyek dan aplikasi, metode dan alat yang digunakan, serta pengendalian dan hasil yang diinginkan. Berikut adalah beberapa model proses pengembangan perangkat lunak.



Bab 3 Rekayasa Sistem Rekayasa sistem adalah aktivitas untuk menetapkan kebutuhan-kebutuhan pada tingkat sistem, kemudian mengalokasikan beberapa bagian dari kebutuhan-kebutuhan tersebut ke satu atau beberapa komponen rekayasa, misalnya perangkat lunak. Rekayasa sistem dapat membantu menerjemahkan kebutuhan pelanggan menjadi model sistem tertentu, sehingga dapat memberikan gambaran bagaimana interaksi antara satu elemen sistem dengan elemen sistem lainnya. Rekayasa Informasi Tujuan dari rekayasa informasi/information engineering (IE) adalah: Mendefinisikan suatu arsitektur yang memungkinkan bisnis menggunakan informasi secara efektif. Membuat rencana menyeluruh untuk mengimplementasi arsitekturarsitektur tersebut, yaitu: 1.



2.



Arsitektur data: kerangka kerja untuk informasi yang dibutuhkan bisnis/fungsi bisnis. Informasi dari arsitektur ini merupakan objek data yang digunakan oleh suatu basisdata dan ditransformasikan menjadi sebuah informasi yang dibutuhkan oleh bisnis/fungsi bisnis. Arsitektur aplikasi: elemen sistem yang mentransformasi objek pada arsitektur data untuk berbagai keperluan bisnis. Arsitektur aplikasi ini bisa dianggap sebagai sistem program (perangkat lunak) yang melakukan transformasi data tersebut. Namun dalam konteks yang luas arsitektur aplikasi bisa mencakup perasan manusia dan prosedur bisnis yang belum terotomatisasi. 9



3.



Infrastuktur teknologi: fondasi untuk arsitektur data dan aplikasi, mencakup perangkat keras dan perangkat lunak yang digunakan untuk mendukung data dan aplikasi. Hal ini bisa mencakup komputer, jaringan komputer, teknologi penyimpanan, dan arsitektur untuk mengimplementasikan teknologi tersebut.



Rekayasa Produk Rekayasa produk disebut juga dengan rekayasa sietem yang merupakan aktivitas pemecahan masalah. Data, fungsi, dan perilaku produk yang diinginkan dicari, dianalisis, dibuat model kebutuhannya, kemudian dialokasikan ke komponen rekayasa. Selanjutnya komponen-komponen ini disatukan dengan infrastruktur pendukungnya sampai produk tersebut jadi. Komponen rekayasa disini seperti perangkat lunak, perangkat keras, data (basisdata) dan manusia. Sedangkan infrastruktur pendukung berupa teknologi yang dibutuhkan untuk menyatukan komponen dan informasi. Sebagian besar produk dan sistem yang baru masih samar akan fungsi yang dibutuhkan. Oleh karena itu, perekayasa sistem harus membatasi kebutuhan produk dengan mengidentifikasi ruang lingkup fungsi dan kinerja yang diinginkan dari sistem atau produk tersebut. Dalam rekayasa produk ada beberapa aktivitas yang akan dilakukan untuk mengetahui data, fungsi dan perilaku produk yang diinginkan sebelum pengembangan produk dilakukan diantaranya adalah: a. b. c. d. e.



Analisa sistem Identifikasi kebutuhan Studi kelayakan Analisa ekonomis Analisa teknis



Bab 4 Analisa Kebutuhan Perangkat Lunak Kebutuhan perangkat lunak adalah kondisi, kriteria, syarat atau kemampuan yang harus dimiliki oleh perangkat lunak untuk memenuhi apa yang disyaratkan atau diinginkan pemakai. Bab ini berisi mengenai segala sesuatu yang dibutuhkkan untuk dapat melakukan analisa kebutuhan perangkat lunak.



10



Apa yang Disebut Kebutuhan? Menurut Kamus Webster seperti dikutip oleh Davis [DAV93], kebutuhan adalah sesuatu yang disyaratkan; sesuatu yang diinginkan atau diperlukan. Sedangkan menurut IEEE [IEE93] kebutuhan adalah:  



Kondisi atau kemampuan yang diperlukan pemakai untuk menyelesaikan suatu persoalan, atau untuk mencapai tujuan. Kondisi atau kemampuan yang harus dimiliki atau dipunyai oleh sistem atau komponen sistem untuk memenuhi kontrak, standar, spesifikasi, atau dokumen formal lainnya.



Dapat disimpulkan bahwa kebutuhan perangkat lunak adalah kondisi, kriteria, syarat atau kemampuan yang harus dimiliki oleh perangkat lunak untuk memenuhi apa yang disyaratkan atau diinginkan pemakai. Mengapa Kebutuhan Penting? Pendefinisian kebutuhan merupakan aktivitas yang sangat penting, karena sangat mempengaruhi sukses atau gagalnya pelaksanaan pengembangan perangkat lunak. Menurut hasil survey DeMarco, 56% kegagalan proyek pengembangan perangkat lunak dikarenakan ketidaklengkapan pendefinisian kebutuhan dari perangkat lunak tersebut. Analisis Kebutuhan Analisis kebutuhan perangkat lunak (software requirements analysis) merupakan aktivitas awal dari siklus hidup pengembangan perangkat lunak. Untuk proyek-proyek perangkat lunak yang besar, analisis kebutuhan dilaksanakan setelah tahap rekayasa sistem/informasi dan software project planning. Tujuan pelaksanaan analisis kebutuhan adalah 1) Memahami masalah secara menyeluruh (komprehensif) yang ada pada perangkat lunak yang akan dikembang seperti ruang lingkup produk perangkat lunak(product space) dan pemakai yang akan menggunakannya. 2) Mendefinisikan apa yang harus dikerjakan oleh perangkat lunak untuk memenuhi keinginan pelanggan.



11



Spesifikasi Kebutuhan Perangkat Lunak (SKPL) Spesifikasi Kebutuhan Perangkat Lunak atau Software Requirements Specification (SRS) adalah sebuah dokumen yang berisi pernyataan lengkap dari apa yang dapat dilakukan oleh perangkat lunak, tanpa menjelaskan bagaimana hal tersebut dikerjakan oleh perangkat lunak. Suatu SKPL harus mencantumkan tentang deskripsi lengkap dari semua antarmuka yang ada dalam sistem yang dapat menghubungkan sistem dengan lingkungannya, mencakup antarmuka untuk perangkat keras, perangkat lunak, komunikasi dan pemakai. SKPL bisa terdiri dari banyak dokumentasi yang saling melengkapi. Suatu SKPL harus dapat menguraikan definisi masalah, dan menguraikan masalah dengan tepat dengan cara yang tepat pula. Tujuan Pembuatan SKPL Ada beberapa tujuan pembuatan SKPL, dan itu tergantung kepada siapa yang menulisnya. Pertama, SKPL dapat ditulis oleh pemakai potensial (pelanggan) dari sistem, dan kedua oleh pengembang sistem. Untuk kasus pertama, tujuan penulisan SKPL adalah untuk mendefinisikan keinginan yang biasanya dinyatakan dalam bentuk penjelasan umum. Untuk yang kedua, tujuan pembuatan SKPL adalah:   



Sarana komunikasi antara pelanggan, pemakai, analis, dan perancang perangkat lunak. Dasar untuk merencanakan dan melaksanakan aktivitas pengujian sistem. Acuan untuk melakukan perbaikan dan perubahan perangkat lunak.



Sedangkan manfaat dan kegunaan SKPL menurut Witarto[WIT04] dari IEEE, adalah       



Memastikan kesamaan antara kebutuhan untuk pengembangan dengan kebutuhan yang ditulis didalam dokumen. Mendefinisikan kerangka kerja bersama untuk proses-proses pengembangan perangkat lunak. Memperjelas peran dan antarmuka bagi para pihak yang terlibat dalam proses pengembangan perangkat lunak. Memperjelas jenis dan isi dokumen. Mengenali tugas, tahapan, baseline, aktivitas kaji ulang, dan dokumentasinya. Belajar pendekatan praktis yang diterapkan didunia industri. Menghilangkan persoalan-persoalan seperti yang pernah dialami masa lalu.



12



Bab 5 Perancangan Perangkat Lunak Perancangan perangkat lunak merupakan inti teknik dari proses rekayasa perangkat lunak dan merupakan aktivitas pertama dari tiga aktivitas teknik – perancangan, pembuatan kode, dan pengujian – yang diperlukan untuk membangun dan menguji perangkat lunak. Perancangan perangkat lunak dapat didefinisikan sebagai   



Proses untuk mendefinisikan suatu model atau rancangan perangkat lunak dengan menggunakan teknik dan prinsip tertentu sedemikian hingga model atau rancangan tersebut dapat diwujudkan menjadi perangkat lunak. Proses mendefinisikan arsitektur perangkat lunak, komponen, modul, antarmuka, pendekatan pengujian, serta data untuk memenuhi kebutuhan yang sudah ditentukan sebelumnya. [IEE98] Proses bertahap dimana semua kebutuhan yang ada diterjemahkan menjadi suatu cetak biru yang akan digunakan untuk mengkonstruksi perangkat lunak.



Tujuan dilakukannya perancangan oleh seorang designer system (software engineer) adalah     



Mendekomposisi sistem (perangkat lunak) menjadi komponen-komponennya (data, antarmuka, prosedur, arsitektur). Menentukan relasi antar komponen. Menentukan mekanisme komunikasi antar komponen. Menentukan antarmuka komponen. Menjelaskan fungsionalitas masing-masing komponen



Prinsip Perancangan Perancangan perangkat lunak merupakan model dan proses. Proses perancangan merupakan serangkaian langkah yang memungkinkan seorang desainer menggambarkan semua aspek perangkat lunak yang dibangun, sedangkan model perancangan hampir sama dengan rencana arsitek untuk sebuah rumah yaitu memulai dengan menyajikan totalitas hal yang akan dibangun (misal pandangan 3 dimensi dari rumah yang akan dibangun, setelah itu akan disaring hal-hal yang memberikan panduan bagi pembangunan setiap detail dari rumah, seperti layout ruangan, layout pipa dan lainnya). Sama halnya dengan model perancangan yang dibuat untuk perangkat lunak memberikan berbagai pandangan yang berbeda terhadap program komputer.



13



Bab 6 Implementasi Perangkat Lunak Aktivitas Implementasi Merupakan sekumpulan aktivitas di mana rancangan perangkat lunak yang telah dibuat pada tahap perancangan kemudian dikodekan ke dalam bentuk kode program dengan menggunakan bahasa pemrograman tertentu agar dapat dijalankan pada komputer. Fondasi dari aktivitas ini adalah pemrograman. Tools untuk membuat program disebut bahasa pemrograman. Programmer membuat program dengan panduan dokumentasi rancangan perangkat lunak, namun pada umumnya programmer juga memeriksa semua dokumen dari tahapan-tahapan



sebelumnya



(semisal



SKPL)



untuk



memeriksa



konsistensi



dari



dokumentasidokumentasi yang ada. Beberapa standar program yang baik adalah:    



Teknik pemecahan masalah Penyusunan program Perawatan program Standar prosedur



Modularitas merupakan sebuah konsep untuk memecah program menjadi modulmodul kecil di mana masing-masing modul berinteraksi melalui antarmuka modul. Dengan adanya modularitas, kesalahan di satu bagian program dapat dikoreksi tanpa perlu mempertimbangkan bagian-bagian lainnya, program menjadi lebih sederhana sehingga lebih mudah dipahami.



Bab 7 Pengujian Perangkat Lunak Pada proses RPL, pelaku RPL mula-mula berusaha untuk membangun perangkat lunak mulai dari konsep abstrak sampai kepada tahap implementasi yang dapat dilihat, baru kemudian dilakukan pengujian. Pada pengujian perangkat lunak, pelaku RPL menciptakan sekumpulan kasus uji untuk diujikan kepada perangkat lunak. Proses ini lebih terkesan berusaha untuk “membongkar” perangkat lunak yang sudah dibangun. Proses pengujian merupakan tahapan dalam RPL di mana secara fisik terlihat lebih banyak sisi desktruktifnya 14



dibandingkan sisi konstruktifnya karena tujuannya adalah untuk menemukan kesalahan pada perangkat lunak. Strategi pengujian yang dilakukan pada proses Rekayasa Perangkat Lunak:  



Unit Testing : Pengujian pada bagian terkecil dari suatu program Integration Testing : Pengujian pada saat unit-unit diintegrasikan membentuk suatu perangkat lunak yang lengkap Validation Testing : Pengujian yang dilakukan untuk memvalidasi System Testing : Pengujian yang dilakukan setelah perangkat lunak terintegrasi



 



pada Sistem Berbasis Komputer Pendekatan Strategis untuk Pengujian Perangkat Lunak Pengujian merupakan serangkaian aktivitas yang dapat direncanakan sebelumnya dan dilakukan secara sistematis. Banyak ditemukan strategi pengujian perangkat lunak yang memberikan sebuah template untuk pengujian yang memiliki karakteristik sebagai berikut:     



Pengujian dimulai pada level komponen dan dilanjutkan dengan menguji pada level integrasi keseluruhan sistem berbasis komputer. Teknik pengujian yang berbeda dibutuhkan pada saat yang berbeda. Pengembang perangkat lunak melakukan pengujian dan mungkin dibantu oleh kelompok penguji yang independen untuk keperluan proyekproyek besar. Pengujian (Testing) dan debugging adalah aktivitas yang berbeda. Debugging harus dapat dilakukan pada strategi pengujian apapun.



Bab 8 Pemeliharaan Perangkat Lunak Pengertian Pemeliharaan Pemeliharaan perangkat lunak merupakan proses memodifikasi sistem perangkat lunak atau komponennya setelah penggunaan oleh konsumen untuk memperbaiki kerusakan, meningkatkan kinerja, manfaat, atau kualitas lainnya atau untuk menyesuaikan sistem perangkat lunak dengan lingkungan yang berubah. Definisi ini menegaskan bahwa proses pemeliharaan perangkat lunak merupakan proses yang bersifat post-delivery, artinya dilakukan setelah sistem perangkat lunak digunakan oleh konsumen. Aktivitas ini dimulai sejak sistem dilepaskan ke pasaran dan



15



digunakan oleh konsumen dan mencakup semua aktivitas yang menjaga operasional sistem dan kesesuaian dengan kebutuhan pengguna. Sebagian ahli berpendapat tidak demikian. Menurut mereka, pemeliharaan perangkat lunak harus dimulai sebelum operasional sistem berjalan. Schneidewind berpendapat bahwa pandangan tentang pemeliharaan perangkat lunak merupakan aktivitas post-delivery adalah salah satu penyebab mengapa aktivitas pemeliharaan menjadi hal yang sangat sulit dilakukan. Osborne dan Chikofsky berpendapat bahwa penting untuk mengadopsi pendekatan SDLC untuk mengelola dan mengubah sistem perangkat lunak pada tahapan pemeliharaan perangkat lunak. Pigoski kemudian memberikan definisi baru tentang pemeliharaan, yakni sebuah aktivitas keseluruhan yang dilakukan untuk menyediakan dukungan yang murah dan efektif terhadap sistem perangkat lunak. Aktivitas dapat berupa pre-delivery dan post-delivery. Aktivitas pre-delivery berupa perencanaan untuk operasi post-delivery, suportabilitas, dan penentuan logistik. Aktivitas post-delivery berupa modifikasi perangkat lunak, pelatihan, dan mengoperasikan help desk. Kategori pemeliharaan perangkat lunak:    



Pemeliharaan korektif Pemeliharaan adaptif Pemeliharaan perfektif Pemeliharaan emergensi



Pemeliharaan perangkat lunak merupakan kegiatan yang membutuhkan biaya tinggi karena beberapa faktor antara lain stabilitas sistem, tanggung jawab kontraktual, keahlian staf, serta usia dan struktur program. Merencanakan pemeliharaan perangkat lunak membutuhkan perkiraan akan jumlah permintaan perubahan sistem dan juga perkiraan nilai maintainabilitas yang dapat digunakan untuk memperkirakan besar biaya pemeliharaan.



Bab 9 Object Oriented Concepts and Priciples Saat ini piranti lunak semakin luas dan besar lingkupnya, sehingga tidak bisa lagi dibuat asal-asalan. Piranti lunak saat ini seharusnya dirancang dengan memperhatikan hal-hal 16



seperti scalability, security, dan eksekusi yang robust walaupun dalam kondisi yang sulit. Selain itu arsitekturnya harus didefinisikan dengan jelas, agar bug mudah ditemukan dan diperbaiki, bahkan oleh orang lain selain programmer aslinya. Keuntungan lain dari perencanaan arsitektur yang matang adalah dimungkinkannya penggunaan kembali modul atau komponen untuk aplikasi piranti lunak lain yang membutuhkan fungsionalitas yang sama. Pemodelan (modeling) adalah proses merancang piranti lunak sebelum melakukan pengkodean (coding). Model piranti lunak dapat dianalogikan seperti pembuatan blueprint pada pembangunan gedung. Membuat model dari sebuah sistem yang kompleks sangatlah penting karena kita tidak dapat memahami sistem semacam itu secara menyeluruh. Semakin komplek sebuah sistem, semakin penting pula penggunaan teknik pemodelan yang baik. Dengan menggunakan model, diharapkan pengembangan piranti lunak dapat memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk faktor-faktor seperti scalability, robustness, security, dan sebagainya. Kesuksesan suatu pemodelan piranti lunak ditentukan oleh tiga unsur, yang kemudian terkenal dengan sebuan segitiga sukses (the triangle for success). Ketiga unsur tersebut adalah metode pemodelan (notation), proses (process) dan tool yang digunakan. Konsep Objek Obyek dalam „software analysis & design‟ adalah sesuatu berupa konsep (concept), benda (thing), dan sesuatu yang embedakannya dengan lingkungannya. Secara sederhana obyek adalah mobil, manusia, alarm dan lainlainnya. Tapi obyek dapat pula merupakan sesuatu yang abstrak yang hidup didalam system seperti tabel, database, event, system messages. Objek (object) Objek adalah benda secara fisik dan konseptual yang ada di sekitar kita. Beberapa contoh objek, misalnya hardware, software, dokumen, manusia, konsep, dan lainnya. Untuk kepentingan pemodelan, misalnya seorang eksekutif akan melihat karyawan, gedung, divisi, dokumen, keuntungan perusahaan sebagai sebuah objek. Sedangkan seorang teknisi mobil, akan melihat ban, pintu, mesin, kecepatan tertentu dan banyaknya bahan baker sebagai sebuah objek.



17



Buku Pembanding Bab 1 Rekayasa Perangkat Lunak Perangkat lunak berperan dalam menyajikan informasi dan menjadi gerbang menuju jaringan informasi global. Peningkatan perkembangan dari peran perangkat lunak ini didukung oleh teknologi perangkat keras serta perubahan – perubahan dari arsitektur komputer, memori yang mendukung kecepatan proses, penyimpanan yang besar, dan bermacam – macam alat input output yang dapat mendukung, sehingga semua sistem yang berbasis komputer dapat saling terhubung sehingga dapat saling berkomunikasi dan berbagi informasi. Kecanggihan sistem tersebut, tentunya tidak lepas dari peran para pengembang perangkat lunak yang menjadi faktor dominan. Menurut Ian Sommerville perangkat lunak tidak hanya mencakup program komputer saja, akan tetapi juga termasuk semua dokumentasi dan konfigurasi data yang berhubungan yang diperlukan untuk membuat program beroperasi dengan benar. (Sommerville, 2003). Dari definisi di atas dapat di simpulkan bahwa perangkat lunak adalah suatu program yang dapat beroperasi untuk memanipulasi informasi, yang di dalamnya terdapat instruksi – instruksi berupa fitur atau fungsi tertentu sehingga informasi yang telah di peroleh dapat tercetak dalam bentuk maya. Secara umum aplikasi perangkat lunak dibagi kedalam 7 (tujuh) kategori yaitu (Roger S. Pressman, 2012): 1.



2.



3.



4.



5.



6.



Perangkat lunak sistem, sekumpulan program yang ditulis untuk melayani program-program lain, yang melakukan pemrosesan struktur-struktur informasi yang kompleks namun umumnya bersifat terbatas. Contoh dari perangkat lunak sistem ini adalah sistem operasi, driver, perangkat lunak jaringan, dll). Perangkat lunak aplikasi, program-program mandiri yang menjawab kebutuhan bisnis secara terperinci dengan melakukan pemrosesan data bisnis atau data teknis yang mendukung berjalannya operasi-operasi bisnis. Perangkat lunak rekayasa, aplikasi yang telah memiliki algoritma yang penuh dengan kalkulasi data numerik. Contohnya adalah aplikasi untuk kebutuhan vulkanologi, astronomi, dan lain-lain. Perangkat lunak yang tertanam, perangkat lunak yang berada pada suatu produk atau sistem dan digunakan untuk menjalankan dan mengendalikan fitur-fitur atau fungsi-fungsi untuk user. Contohnya tampilan indikator pada peralatan elektronik. Perangkat lunak lini produk, perangkat lunak yang dirancang untuk menyediakan kemampuan khusus untuk digunakan oleh pelanggan yang bersifat terbatas dan berkonsentrasi pada pasar tertentu . contohnya adalah pengolah kata, spreadsheet, dan lain – lain. Aplikasi web, perangkat lunak yang berpusat pada jaringan komputer, berisi sekumpulan file hypertext yang saling terhubung untuk menunjukkan informasi-



18



7.



informasi tertentu, berada lingkungan komputasi dan terintegrasi dengan sistem basis data. Perangkat lunak kecerdasan buatan, perangkat lunak yang menggunakan algoritma nonnumerik untuk memecahkan permasalahan-permasalahan rumit yang tidak dapat di selesaikan dengan komputasi atau analisis permasalahan langsung. Contohnya adalah sistem pakar, robotik, game, dll.



Tipe dari sistem atau perangkat lunak Berdasarkan tujuan pengembangannya Berdasarkan tujuan pengembangan sistem dengan mempertimbangkan kebutuhan manusia dan bisnis , sistem terbagi menjadi (Kenneth E. Kendall, 2010): 1. 2.



3.



4.



5.



6.



7.



8.



Transaction processing system (TPS) Merupakan sistem informasi terkomputerisasi yang dikembangkan dengan tujuan untuk memproses sejumlah data yang besar untuk traksaksi bisnis yang rutin. Office Automation System (OAS) Merupakan sistem yang mendukung pekerjaan data, yang biasanya digunakan untuk menciptakan suatu pengetahuan baru dengan menganalisi informasi, dalam analisis tersebut dapat dilakukan manipulasi data dengan cara – cara tertentu sebelum di bagikan secara formal atau di sebarluaskan ke seluruh organisasi. Knowledge work system(KWS) Merupakan sistem yang mendukung para pekerja profesional seperti ilmuwan , dokter dan lain – lain dalam menciptakan pengetahuan baru dan memungkinkan mereka berkontribusi pada organisasi atau masyarakat luas. Management Information system (MIS) Merupakan sistem informasi terkomputerisasi yang berfungsi karena interakasi manusia dan komputer. Dengan mengharuskan manusia, perangkat lunak dan perangkat keras berkerjasama untuk mendukung organisasi dalam melakukan pemrosesan traksaksi , termasuk dalam analisis keputusan dan pengambilan keputusan. Decision support system (DSS) Merupakan sistem informasi terkomputerisasi level yang tinggi karena bergantung pada basis data yang merupakan sumber data , fungsi dari sistem ini adalah mendukung proses pengambilan keputusan sehingga sistem ini berfokus pada bisnis intellegence. Artificial Intellegence(AI) dan Expert System (ES) Expert system merupakan sistem berbasis pengetahuan yang secara efektif menangkap dan menggunakan pengetahuan para ahli untuk memecahkan masalah tertentu yang dialami suatu organisasi. Expert system menggunakan penalaran Artificial Intellegence. Group decision support system (GDSS) dan Computer-Supported collaborative work system (CSCWS) Merupakan sistem informasi yang digunakan secara bersama – sama untuk suatu kelompok , digunakan untuk mendukung proses pengambilan keputusan dalam suatu organisasi. Executive Support System Merupakan sistem informasi yang mendukung eksekutif mengatur interaksi mereka dengan lingkungan eksternal. Sistem ini menyediakan dukungan grafis dan komunikasi di tempat yang dapat diakses dari kantor atau ruang pribadi. Sistem ini mengandalkan informasi dari TPS dan MIS 19



, sistem ini memperluas dan mendukung kemampuan para eksekutif sehingga memungkinkan mereka untuk memahami lingkungan mereka. Aktivitas-aktivitas kerangka kerja perangkat lunak diatas disempurnakan dengan aktivitasaktivitas yang bertindak sebagai penyangga, yaitu : 1. 2. 3. 4. 5. 6. 7. 8.



Penelusuran dan kendali proyek perangkat lunak, dilakukannya penilaian terhadap kemajuan proyek perangkat lunak yang berjalan sehingga dapat diambil tindakan – tindakan untuk membuat tepat waktu. Manajemen risiko, menilai risiko – risiko yang dapat berpengaruh terhadap hasil akhir dan kualitas perangkat lunak Penjaminan kualitas perangkat lunak, melakukan kegiatan – kegiatan yang memastikan kualitas perangkat lunak. Ulasan , mengevaluasi produk untuk menemukan dan menyingkirak defect. Pengukuran, menjelaskan dan mengukur proses, proyek dan produk perangkat lunak yang akan membantu tim perangkat lunak dalam memenuhi kebutuhan stakeholder. Manajemen konfigurasi perangkat lunak Manajemen penggunaan ulang Persiapan produk kerja dan produksi



Bab 2 Proses Rekayasa Perangkat Lunak Proses perangkat lunak mendefinisikan pendekatan yang harus diambil saat perangkat lunak di rekayasa. Proses perangkat lunak juga mencakup teknologi-teknologi yang dibutuhkan oleh proses perangkat lunak. pada proses perangkat lunak terdapat beberapa pendekatan yang terangkum dalam aktivitas kerangka kerja perangkat lunak . Pengembangan Cepat Rekayasa perangkat lunak cepat menggabungkan suatu falsafah dan serangkaian tuntunan pengembangan. Falsafah tersebut mengupayakan kepuasan pelanggan dan penghantaran perangkat lunak yang meningkat, tim – tim proyek yang kecil dan termotivasi, metode – metode informal, produk kerja rekayasa perangkat lunak yang minimal, dan keseluruhan



kesederhanaan



pengembangan.



Panduan



pengembangan



menekankan



penghantaran daripada analisa dan perancangan , komunikasi yang berkelanjutan dan aktif antara pengembang dan pelanggan. Pengembangan cepat dapat memberikan manfaat , namun tidak selalu cocok untuk semua situasi (Roger S. Pressman, 2012).



20



Konteks kecepatan dalam rekayasa perangkat lunak , suatu tim cepat adalah suatu tim yang cekatan yang mampu merespon perubahan – perubahan dengan cepat dan tepat. Perubahan berarti perubahan dalam perangkat lunak yang dibuat, perubahan pada anggota tim, perubahan karena teknologi baru , perubahan semua hal yang mungkin berdampak pada produk perangkat lunak yang di kembangkan. Tim cepat tahu bahwa perangkat lunak yang dikembangkan oleh individu – individu yang bekerja dalam tim, keahlian, kolaborasi merupakan inti menuju keberhasilan proyek perangkat lunak. kecepatan mendorong terbentuknya struktur tim dan mendorong tercapainya sikap yang menjadikan komunikasi menjadi lebih mudah dan kondusif. Kecepatan menekankan penghantaran yang cepat dari perangkat lunak, mengadopsi pelanggan sebagai salah satu tim pengembang. Proses cepat yang mencakup penghantaran perangkat lunak ke pengguna yang meningkat , serta dipasangkan dengan pengujian unit yang berkelajutan akan dapat menekan biaya pengembangan perangkat lunak. Proses cepat merupakan proses yang harus dapat beadaptasi, namun adaptasi berkelanjutan tanpa adanya kemajuan tidak dapat diharapakan. Untuk itu proses perangkat lunak yang cepat harus beradaptasi secara meningkat. Untuk dapat beradaptasi secara meningkat , suatu tim cepat sangat membutuhkan umpan balik yang datang dari pelanggan (Roger S. Pressman, 2012).



Bab 3 Prinsip – Prinsip yang digunakan dalam Praktik Rekayasa Perangkat Lunak Dalam penerapan proses perangkat lunak yang bermakna , pada dasarnya dipandu oleh prinsip – prinsip inti yang menjadi dasar untuk mengeksekusi metode – metode perangkat lunak yang efektif. Secara rinci prinsip – prinsip yang harus diikuti secara seksama untuk memandu proses – proses dan praktik – praktik rekayasa perangkat lunak modern saat ini adalah sebagai berikut : Prinisp – prinsip inti yang harus diikuti untuk memandu proses dan praktik perangkat lunak adalah sebagai berikut (Roger S. Pressman, 2012) :



21



1. 2.



3.



Prinsip – prinsip yang Memandu Proses Rekayasa Perangkat Lunak, yang dapat diterapkan pada kerangka kerja dan dengan perluasannya dapat diterapkan pada setiap proses yang ada di dalam rekayasa perangkat lunak Prinsip–prinsip yang Memandu Praktik Rekayasa Perangkat, Praktik rekayasa perangkat lunak memiliki sasaran yaitu mengirimkan tepat waktu, memiliki kualitas yang tinggi, berupa perangkat lunak operasional yang memuat fungsi–fungsi dan fitur-fitur yang sesuai dengan kebutuhan semua penyandang dana. Prinsip-prinsip yang Memandu setiap Aktivitas Kerangka Kerja dalam rekayasa perangkat lunak Prinsip – prinsip yang memandu aktivitas kerja adalah sebagai berikut (Roger S. Pressman, 2012) : 1) Prinsip – prinsip Komunikasi 2) Prinsip-prinsip Perencanaan 3) Prinsip-prinsip Pemodelan 4) Prinsip-prinsip Konstruksi 5) Prinsip-prinsip Penyerahan



Bab 4 Memahami Kebutuhan Rekayasa Perangkat Lunak Rekayasa kebutuhan pada dasarnya menyediakan mekanisme–mekanisme yang digunakan untuk memahami kebutuhan pelanggan, menyediakan mekanisme yang dapat digunakan



untuk



melakukan



analisis



kebutuhan,



mekanisme–mekanisme



untuk



menegoisasikan solusi atas permasalahan yang memiliki alasan yang kuat, mekanismemekanisme untuk menspesifikasikan solusi permasalahan sehingga tidak menimbulkan makna ganda, mekanisme-mekanisme yang digunakan untuk menvalidasi spesifikasispesifikasi kebutuhan dan mekanisme-mekanisme yang cocok untuk mengelola kebutuhankebutuan saat ditransformasikan ke dalam perangkat lunak yang bersifat operasional. Pada dasarnya rekayasa kebutuhan mencakup 7 (tujuh) pekerjaan yaitu (Roger S. Pressman, 2012) : 1.



Pengenalan masalah (inception) Proyek perangkat lunak dimulai saat kebutuhan bisnis telah teridentifikasi dengan baik, atau saat pasar baru yang bersifat potensial dikenali atau layanan layanan ditemukan. Pada pengenalan proyek, ditetapkan pemahaman dasar tentang permasalahan, tentang siapa yang menginginkan solusi bagi permasalahan itu, tentang sifat-sifat alamiah solusi yang dikehendaki dan



22



tentang efektivitas komunikasi awal dan kolaborasi yang akan terjadi di antara para stakeholder dan tim perangkat lunak. 2.



Pengenalan lanjutan (elicitation) Pada pekerjaan pengenalan lanjutan dilakukan identifikasi tentang apa sesungguhnya sasaran – sasaran dari sistem atau produk yang akan dikembangkan, bagaimana sistem atau produk yang akan dikembangkan , bagaimana sistem atau produk yang akan dikembangkan sesuai dengan kebutuhan bisnis dan yang terakhir bagaimana penggunaan sistem atau produk yang akan dikembangkan.



3.



Elaborasi Elaborasi dilakukan dengan cara membuat atau menghaluskan skenario– skenario pengguna yang pada dasarnya bermanfaat untuk mendeskripsikan bagaiman para pengguna akhir akan berinteraksi dengan sistem. Masing–masing skenario pengguna diuraikan dan ditafsirkan lebih lanjut untuk mendapatkan kelas–kelas analisis yaitu entitas-entitas ranah bisnis yang tampak dari arah para penguna akhir. Atribut – atribut masing-masing kelas analisis didefinisikan dna layanan-layanan yang diperlukan oleh masing – masing kelas diidentifikasi dan kolaborasi – kolabora antar kelas diidentifikasi dan berbagai diagram pelangkap dihasilkan



4.



Negoisasi Sebagai rekayasawan sering harus mendamaikan konfik – konflik melalui negoisasi. Para pengguna, para stakeholder lainnya harus ditanyai tentang prioritas masing – masing kebutuhan dan kemudian mereka bisa diajak untuk membahas masing – masing konflik yang terjadi menurut prioritas masing – masing kebutuhan itu. Gunakan pendekatan yang sifatnya iteratif untuk melakukan penentuan skala priorits kebutuhan – kebutuhan , menilai biaya – biaya, risiko – risikonya masing – masing, dan menyelesaikan konflik internal, dan dengan demikian rekayaswan sistem bisa menghapuskan kebutuhan – kebutuhan yang tidak diperlukan , mengabung – gabungkan dan memodifikasi kebutuhan – kebutuhan sedemikan rupa sehingga masing – masing pihak menjadi puas.



5.



Spesifikasi Terminologi spesifikasi memiliki arti yang berbeda – beda bagi setiap orang . sebuah spesifikasi dapat berupa dokumen – dokumen tertulis, sejumlah model – 23



model grafis, suatu model matematika formal, sejumlah skenario penggunaan perangkat lunak, sebuah protipe, atau gabungan semuanya. Beberapa menyarankan agar suatu pola yang bersifat kaku dikembangkan dan digunakan untuk melakukan spesifikasi kebutuhan – kebutuhan dengan pendapat bahwa hal itu memungkinkan kebutuhan – kebutuhan bisa dipresentasikan dengan cara yang konsiten sehingga pada gilirannya akan menjadi lebih mudah untuk dipahami. 6.



Validasi Produk-produk kerja yang dihasilkan sebagai akibat dilakukannya proses rekayasa kebutuhan dinilai untuk menilai kualitasnya pada setiap tahap validasi . validasi kebutuhan-kebutuhan dilakukan dengan cara melakukan pemeriksaan pada spesifikasi-spesifikasi untuk memastikan bahwa semua kebutuhan perangkat lunak telah didapatkan tanpa adan kemungkinan terjadinya pemahaman ganda yang membingungkan , untuk meastikan bahwa semua tidak ketidakkonsitenan,



pengabaian-pengabain



dan



kesalahan-kesalahan



yang



terdeteksi telah di perbaiki, dan untuk memastikan bahwa semua produk telah sesuai dengan standar yang telah ditetapkan sebelumnya untuk proses-proses proyek dan produk perangkat lunak sendiri. Mekanisme-mekanisme validasi atas kebutuhan-kebutuhan yang paling penting adalah tinjauan-tinjauan teknis. 7.



Pengelolaan kebutuhan Pengelolaan kebutuhan merupakan sejumlah aktivitas yang akan membantu tim proyek perangkat lunak untuk mengidentifikasi, mengendalikan dan melacak kebutuhan – kebutuhan dan melacak perubahan-perubahan pada kebutuhan – kebutuhan setiap saat di dalam siklus pengembangan sistem perangkat lunak.



Mengembangkan Use Case Use case pada dasarnya memperlihatkan sistem atau perangkat lunak dari sudut pandang para pengguna akhir. Use case selalui di definisikan dari sudut pandang aktor-aktor yang berinteraksi dengan perangkat lunak yang sedang dikembangkan. Sebuah aktor pada dasarnya merupakan peran yang orang – orang saat mereka berinteraksi dengan perangkat lunak. langkah pertama yang harus dilakukan saat hendak menuliskan sbeuah use case adalah mendefinisikan sejumlah aktor yang terlibat dalam cerita. Aktor merupakan sejumlah orang yang berbeda yang menggunakan produk dalam konteks fungsi – fungsi dan perilaku – perilaku yang harus dideskripsikan. 24



Perlu di catat , aktor dan pengguna adalah sesuatu yang berbeda. Seorang pengguna mungkin saja memainkan sejumlah peran yang berbeda saat pengguna yang bersangkutan menggunakan perangkat lunak, sementara sebuah aktor merepresentasikan sebuah kelas eksternal yang memainkan suatu peran dalam konteks suatu kasusu pengguna. Saat aktoraktor teridentifikasi dengan baik , use case dapat dikembangkan. Pada kebanyakan kasus use case dielaborasikan lebih lanjut sehingga pengembang mendapatkan lebih banyak rincian tentang interaksi – interaksi yang mungkin terjadi antara aktor dengan perangkat lunak yang akan dikembangkan.



Bab 5 Pemodelan Spesifikasi Kebutuhan Perangkat Lunak Pekerjaan rekayasa perangkat lunak pada umumnya dimulai dengan sejumlah pekerjaan pemodelan yang meninjukkan spesifikasi kebutuhan perangkat lunak dan representasi perancangan perangkat lunak yang akan dikembangakan. Model – model spesifikasi kebutuhan perangkat lunak merupakan sejumlah model dan merupakan representasi awal perangkat lunak. Analisis Kebutuhan Analisis spesifikasi kebutuhan menghasilkan spesifikasi-spesifikasi dari karakteristikkarakteristik operasional yang akan dimiliki oleh perangkat lunak yang akan dikembangkan, yang dapat mengindikasikan antarmuka perangkat lunak dengan elemen – elemen sistem yang lain dan juga menetapkan batasan – batasan yang harus dihadapi perangkat lunak. Pekerjaan – pekerjaan pemodelan spesifikasi – spesifikasi kebutuhan pada dasarnya akan menghasikan jenis model berikut (Roger S. Pressman, 2012) : 1. 2. 3.



4.



Model berbasis skenario, yang menggambarkan spesifikasi kebutuhan perangkat lunak dari berbagai sudut pandang aktor perangkat lunak. Model data, yang menjelaskan ranah informasi untuk permasalahan yang akan diselesaikan Model berorientasi kelas , yang memperlihatkan kelas – kelas dalam konteks pemograman berorientasi objek dan dengan cara bagaimana kelas-kelas tersebut saling bekerjasama untuk mencapai sasaran–sasaran spesifikasi- spesifikasi kebutuhan perangkat lunak. Model berorientasi aliran, yang menggambarkan elemen-elemen fungsional sistem perangkat lunak dan yang menggambarkan bagaimana cara mereka 25



5.



melakukan transformasi terhadap data, saat data yang bersangkutan melintasi sistem. Model prilaku, yang menggambarkan bagaimana perangkat lunak berperilaku terhadap event – event yang datang dari luar sistem



Model-model analisis diatas memberikan informasi kepada perancang perangkat lunak untuk diterjemahkan menjadi arsitektur sistem, antarmuka-antarmuka sistem dan perancangan berperingkat komponen. Terkahir model-model spesifikasi kebutuhan memungkinkan para pengembang dan para stakeholder melakukan penilaian kualitas ketika perangkat lunak selesai dikembangkan. Model – model analisis untuk mendapatkan spesifikasi – spesifikasi kebuthan perangkat lunak pada dasarnya harus mencapai 3 sasaran utama yaitu : 1. 2. 3.



Untuk mendeskripsikan apa yang pelanggan inginkan Menetapkan dasar bagi perancangan perangkat lunak Untuk mendefinisikan sejumlah kebutuhan yang dapat divalidasi saat perangkat lunak dikembangkan.



Bab 6 Konsep Perancangan Perangkat Lunak Perancangan perangkat lunak menyediakan secara rinci hal-hal yang terkait dengan arsitektur perangkat lunak, struktur-struktur data yang digunakan dalam perangkat lunak, antarmuka – antarmuka , komponen-komponen dan subsistem – subsistem yang diperlukan untuk implementasi perangkat lunak. Sasaran dari perancangan perangkat lunak adalah untuk menghasilkan suatu model atau representasi perangkat lunak yang memperlihatkan kekuatan , komoditi serta kenyamanan. Perancangan arsitektur perangkat lunak mendefiniskan relasi antara elemen–elemen struktural utama dari suatu perangkat lunak, mendefinisikan gaya arsitekturnya dan pola – pola perancangan untuk mencapai kebutuhan yang telah dianalisis sebelumnya. Representasi dari arsitektur perangkat lunak adalah kerangka kerja suatu sistem berbasis komputer. Sedangkan rancangan antarmuka mengdeskripsikan cara komunikasi perangkat lunak dengan pengguna atau sistem lain. Perancangan perangkat lunak merupakan proses yang bersifat interatif, spesifikasispesifikasi kebutuhan perangkat lunak diterjemahkan menjadi suatu blueprint untuk 26



mengkonstruksi perangkat lunak. Blueprint memperlihatkan tampilan secara menyeluruh dari suatu perangkat lunak. Sedangkan model perancangan perangkat lunak dapat dilihat menggunakan dua dimensi yang berbeda. berikut dimensi – dimensi model perancangan . Pada dasarnya adalah struktur sistem yang menggabungkan komponen – komponen perangkat lunak , menggabungkan properti – properti yang tampak dari komponen – komponen itu , serta mendeskripsikan hubungan antarkomponen itu. Arsietktur sistem menjelaskan suatu susunan sistem yang terdiri dari komponen software, atribut dari komponen dan hubungan antar komponennya. Komponen dapat berup modul, database, middleware atau class. Atribut adalah ciri dan fungsi dari modul sedangkan hubungn antar komponen adalah cara antar komponen tersebut berkomunikasi. Arsitektur sistem memungkinkan kita untuk melakukan analisisi terhadap efektivitas perancangan yang disesuaikan dengan kebutuhan–kebutuhan yang telah dinyatakan sebelumnya, memungkikan untuk melakukan pertimbangan alternatif–alternatif arsitektural dan memungkinkan mengurangi risiko – risiko yang berhubungan dengan konstruksi perangkat lunak. Strukur Arsitektur Struktur arsitektur terdiri dari : 1.



Struktur fungsional Struktur fungsional merupakan komponen yang mewakili fungsi atau proses .



2.



Struktur implementasi Struktur implementasi merupakan komponen yang mewakili package , class, object , procedure, function atau method.



3.



Struktur konkurensi208 Struktur konkurensi merupakan komponen yang mewakili unit – unit yang tersusu secara paralel atau konkuren kerjanya.



4.



Struktur fisik Struktur fisik merupakan komponen hardware dan siftware yang ada.



5.



Struktur pengembangan Struktur pengembangan merupkan struktur yang didefinisikan berupa komponen , produk kerja dan sumber informasi lain yang dibutuhkan selama pengembangan software.



Setiap struktur diatas mewakili arsitektur software dari sudut pandang yang berbeda beda, mengekspose informasi yang digunakan tim pengembang selama proses desain dan coding berlangsung.



27



Bab 7 Manajemen Kualitas Perangkat Lunak Konsep – konsep Kualitas Kualitas merupakan sebuah ukuran terhadap suatu produk, layanan, atau yang lainnya, termasuk untuk perangkat lunak. Perangkat lunak yang tidak berkualitas akan merusak organisasi yang menggunakan Menghilangkan kesempatan untuk melakukan transaksi yang berimbas pada keuntungan organisasi, mengakibatkan tingginya biaya pemeliharaan serta mengakibatkan rendahnya kepuasan pelanggan. Kualitas Perangkat lunak Pressman mengemukaan kualitas perangkat lunak ditekankan pada suatu proses perangkat lunak yang efektif, suatu produk yang yang bermanfaat sehingga tercipta nilai pada produsesn maupun pengguna perangkat lunak. Sedangkan Garvin mengemukakan kualitas ditinjau pada kualitas kinerja, kualitas fitur, keandalan, kesesuaian, durabilitas, kemampuan untuk melakukan layanan , estetika , dan persepsi. Dilema Kualitas Perangkat Lunak Berikut adalah beberapa dilema kualitas perangkat lunak : 1.



Perangkat lunak yang cukup bagus , yaitu perangkat lunak yang memiliki fungsi-fungsi dan fitur-fitur berkualitas tinggi sesuai dengan apa yang diinginkan oleh pengguna , tetapi pada saat yang sama memiliki juga fungsi fungsi serta fitur-fitur terkhususkan yang memuat kesalahan tertentu yang telah diketahui. kesalahan tertentu ini lah yang dapat berpotensi sangat tidak bertanggung jawab dan membuka peluang untuk munculnya tuntutan hukum yang sangat mahal.



2.



Biaya kualitas , kualitas merupakan hal yang penting , tetapi kualitas memerlukan biaya dan uang , terlalu banyak waktu dan uang yang diperlukan untuk mencapai peringkat kualitas perangkat lunak yang diinginkan. Biaya – biaya kualitas mencakup semua biaya yang diperlukan untuk mencapai peringkat kualitas tertentu atau biaya – biaya yeng diakibatkan kualitas yang buruk. Biaya-biaya kualitas dapat dibagi menjadi biaya – biaya yang berkaitan dengan pencegahan , penilaian dan kegagalan . 28



3.



Kondisi – kondisi yang berkaitan dengan hukum , misalnya terkaitan dengan tuntutan – tuntutan hukum yang dilayangkan oleh pengguna atau pihak terkait akibat dari pengembangan perangkat lunak tersebut.



4.



Kualitas keamaman , berkaitan dengan masalah keamanan misalnya aktivitas yang dilakukan oleh hacker dan lain – lain , sehingga mengakibatkan kegagalan perangkat lunak.



5.



Imbas tindakan – tindakan manajemn , misalnya keputusan – keputusan terkait dengan perkiraan biaya , penjadwalan dan lain – lain.



Strategi Pengujian Perangkat Lunak Dalam pengujian perangkat lunak membutuhkan suatu strategi, dengan strategi tersebut maka pengujian perangkat lunak dapat menjadi lebih efektif dan efisien. Strategi pengujian perangkat lunak memberikan panduan langkah – langkah yang harus dilakukan , waktu pelaksanaan serta sumber daya yang diperlukan untuk pengujian tersebut.



Bab 8 Manajemen Konfigurasi Perangkat Lunak Tujuan Manajemen Konfigurasi Perangkat Lunak Tujuan dari manajemen konfigurasi perangkat lunak adalah : 1. 2. 3. 4.



Mengidentifikasi perubahan Mengontrol perubahan Mengimplementasikan perubahan dengan benar Melaporkan perubahan kepada pihak – pihak yang mempunyai kepentingan



Maintenance Perangkat Lunak VS Manajemen Konfigurasi Perangkat Lunak Penting sekali untuk membedakan dengan jelas antara maintenance perangkat lunak dan manajemen konfigurasi perangkat lunak. Maintenance perangkat lunak merupakan serangkaian aktivitas rekayasa perangkat lunak yang terjadi setelah perangkat lunak diserahkan ke pelanggan dan telah dioperasikan. Sedangkan manajemen konfigurasi perangkat lunak adalah serangkaian kegiatan peneleusuran dan kontrol yang dimulai ketika suatu proyek perangkat lunak dimulai dan berakhir ketika perangkat lunak sudah tidak beroperasi lagi. Jadi maintenance perangkat lunak merupakn bagian yang dilakukan penelusuran dan kontrol oleh manajemen perangkat lunak. 29



BAB III PEMBAHASAN







Analisis Suatu Perangkat Lunak menjadi kebutuhan manusia dengan berbagai bagian disiplin



ilmu yang dibidangi setiap tenaga profesionalnya, menjadi bagian penting yang melatarbelakangi tumbuhnya perkembangan perangkat lunak dengan berbagai krisis perangkat lunak menurut berbagai sisi pandang konsmen, manajer dan pengembang/praktisi. Rekayasa Perangkat Lunak berasal dari 2 kata Rekayasa dan Perangkat Lunak. Rekayasa Perangkat Lunak merupakan perihal kegiatan yang kreatif dan sistematis berdasar suatu disiplin ilmu yang membangun suatu perangkat lunak berdasar suatu aspek masalah tertentu. Dalam Rekayasa Perangkat Lunak dilakukan Proses Perangkat Lunak dengan menggunakan model Proses yang merupakan Daur Hidup Rekayasa Perangkat Lunak. Model Proses ini terdiri dari beberapa karakteristik pendekatan proses. Dalam Proses pembangunan Perangkat Lunak perlu diketahui Biaya yang dikeluarkan. Rekayasa Perangkat Lunak Perangkat Lunak Merupakan program-program komputer dan dokumentasi yang berkaitan. Produk perangkat lunak dibuat untuk pelanggan tertentu ataupun untuk pasar umum terdiri dari: Generik – dibuat untuk dijual ke suatu kumpulan pengguna yang berbeda Bespoke (custom) – dibuat untuk suatu pengguna tunggal sesuai dengan spesifikasinya. Rekayasa perangkat lunak berasal dari 2 kata yaitu Software( Perangkat Lunak) dan Engineering (Rekayasa). Perangkat Lunak (Software) adalah source code pada suatu program atau sistem. Perangkat lunak tidak hanya dokumentasi terhadap source code tapi juga dokumentasi terhadap sesuatu yang dibutuhkan selama pengembangan, instalasi, penggunaan dan pemeliharaan sebuah sistem. Engineering atau Rekayasa adalah aplikasi terhadap pendekatan sistematis yang berdasar atas ilmu pengetahuan dan matematis serta aplikasi tentang produksi terhadap struktur,mesin, produk, proses atau sistem. Rekayasa Perangkat Lunak adalah suatu disiplin rekayasa yang berkonsentrasi terhadap seluruh aspek.



30







Kelebihan isi Buku Kelebihan pada buku tampilan depannya (cover) sangat menarik minat pembaca



karena pada cover tersebut diberi gambar yang menarik, warna pada covernya terang menambah minat seseorang untuk membacanya. Dari tata bahasa, bahasa yang digunakan dalam buku ini menggunakan bahasa yang ringan dan tidak berbelit-belit sehingga memudahkan pembaca untuk memahami penyampaian-penyampaian materinya, ukuran tulisan yang digunakan sudah tepat dan bisa dibaca jelas oleh pembacanya.Tanda-tanda bacanya sudah dibubuhkan sesuai dengan yang diharapkan. Dari aspek isi buku, buku ini sudah dilengkapi dengan identitas-identitasnya sehingga tidak menyulitkan pembaca jika hendak meresensi buku ini, isi dan penyampaian pada materi ini disampaikan dengan jelas dan rinci .isi dari buku ini banyak memaparkan suatu definisidefinisi para ahli sehingga menambah pengetahuan kita berdasarkan definisi tersebut, penulis juga memaparkan beberapa contoh yang konkret dan seakan-akan mengajak pembaca untuk ikut dalam keadaan yang sebenarnya. Kesimpulan dari keseluruhan disampaikan pada Bab terakhir. 



Kelemahan isi Buku Kekurangan pada buku utama tampilan depannya (cover) tidak memiliki kekurangan



semua sudah jelas dipaparkan pada covernya, ada judul, nama pengarang serta penerbitnya sehingga pembaca tidak perlu membuka halaman lainnya untuk mencari identitas buku tersebut. Dari tata bahasa dan letaknya juga pas dan tidak memiliki kekurangan yang dapat menyulitkan pembaca dalam memahaminya. Dari aspek isi buku hanya saja kesimpulan tidak dipaparkan pada setiap bab tetapi dibuat pada keseluruhan kesimpulan dari bab I sampai bab terakhir, dan pengulangan pembahasan sering kali terjadi pada bab-bab berikutnya.



31



BAB VI PENUTUP 



Kesimpulan Rekayasa Perangkat Lunak berasal dari 2 kata Rekayasa dan Perangkat Lunak.



Rekayasa Perangkat Lunak merupakan perihal kegiatan yang kreatif dan sistematis berdasar suatu disiplin ilmu yang membangun suatu perangkat lunak berdasar suatu aspek masalah tertentu. Dalam Rekayasa Perangkat Lunak dilakukan Proses Perangkat Lunak dengan menggunakan model Proses yang merupakan Daur Hidup Rekayasa Perangkat Lunak. Model Proses ini terdiri dari beberapa karakteristik pendekatan proses. Dalam Proses pembangunan Perangkat Lunak perlu diketahui Biaya yang dikeluarkan. Perangkat Lunak Merupakan program-program komputer dan dokumentasi yang berkaitan. Produk perangkat lunak dibuat untuk pelanggan tertentu ataupun untuk pasar umum terdiri dari: Generik – dibuat untuk dijual ke suatu kumpulan pengguna yang berbeda Bespoke (custom) – dibuat untuk suatu pengguna tunggal sesuai dengan spesifikasinya. Rekayasa perangkat lunak berasal dari 2 kata yaitu Software( Perangkat Lunak) dan Engineering (Rekayasa). Perangkat Lunak (Software) adalah source code pada suatu program atau sistem. Perangkat lunak tidak hanya dokumentasi terhadap source code tapi juga dokumentasi terhadap sesuatu yang dibutuhkan selama pengembangan, instalasi, penggunaan dan pemeliharaan sebuah sistem. Engineering atau Rekayasa adalah aplikasi terhadap pendekatan sistematis yang berdasar atas ilmu pengetahuan dan matematis serta aplikasi tentang produksi terhadap struktur,mesin, produk, proses atau sistem.







Saran Menurut kami, model proses perangkat lunak masih menjadi object penelitian, tapi



sekarang ada banyak model umum atau paradigma yang berbeda dari pengembangan perangkat lunak. Karena banyaknya variasi dalam model proses yang digunakan maka tidak mungkin menghasilkan gambaran-gambaran yang reliabel untuk alokasi biaya dalam aktivitas-aktivitas ini.



32



DAFTAR PUSTAKA Buku Utama Christanto Triwibisono, Politeknik Telkom Bandung 2009. “Rekayasa Perangkat Lunak” Buku Pembanding Lila Setiyani, S.T, M.Kom, Jatayu Catra Internusa Karawang 2018. “Rekayasa Perangkat Lunak [Software Engineering]”



33