Buku Ajar Rekayasa Perangkat Lunak PDF

Title Buku Ajar Rekayasa Perangkat Lunak
Author Edwar Ali
Pages 205
File Size 3.3 MB
File Type PDF
Total Downloads 26
Total Views 958

Summary

Powered by TCPDF (www.tcpdf.org) Rekayasa Perangkat Lunak Kata Pengantar Segala puji sudah sepantasnya dihaturkan kepada Allah SWT, karena dengan ridho-NYA penulisan buku ini dapat diwujudkan. Mata kuliah Rekayasa Perangkat Lunak atau dalam istilah lain sering disebut Software Engineering merupakan...


Description

Powered by TCPDF (www.tcpdf.org)

Rekayasa Perangkat Lunak

Kata Pengantar

Segala puji sudah sepantasnya dihaturkan kepada Allah SWT, karena dengan ridho-NYA penulisan buku ini dapat diwujudkan. Mata kuliah Rekayasa Perangkat Lunak atau dalam istilah lain sering disebut Software Engineering merupakan salah satu mata kuliah kunci yang akan membentuk karakter, kemampuan/kompetensi dan kekuatan utama bagi mahasiswa pada program studi ilmu komputer. Lingkup materi untuk mata kuliah ini cukup luas dengan berbagai sasaran dan strategi dalam pembelajarannya. Namun dalam penulisan buku ajar ini telah diseleksi beberapa bagian penting sesuai dengan kebutuhan stake holder dan kondisi daerah secara khusus. Walaupun telah diambil beberapa bagian dari sumber-sumber yang digunakan, namun keterkaitan hal-hal yang ada dalam muatan proses rekayasa perangkat lunak tetap dijaga dalam buku ini. Atas keberhasilan penyusunan dan penerbitan buku ini tidak terlepas dari dukungan berbagai pihak. Oleh karena itu, penulis mengucapkan banyak terima kasih kepada: 1. Direktorat Belmawa Kemenristekdikti di Jakarta yang telah memberikan dukungan material dan moril selama ini. 2. Ketua Yayasan Komputasi Riau yang menaungi institusi STMIK Amik Riau 3. Ketua STMIK Amik Riau 4. Para rekan-rekan dosen dan karyawan di lingkungan STMIK Amik Riau 5. Pihak lain yang terlibat secara langsung maupun tidak dalam proses penulisan buku ini. Akhirnya penulis menyatakan bahwa buku ini masih jauh dari kesempurnaan. Penulis menerima masukan dan kritikan membangun demi pembaharuan pada terbitan berikutnya. Pekanbaru, Des 2018

Penulis

i

Rekayasa Perangkat Lunak

Daftar Isi

Kata Pengantar………………………………………………………………………………………. Daftar Isi………………………………………………………………………………………………. Daftar Gambar………………………………………………………………………………………. Pendahuluan…………………………………………………………………………………………. BAB I REKAYASA PERANGKAT LUNAK………………………………………………………. Defenisi Komputer………………………………………………………………………………. Sistem Komputer……………………………………………………………………………….. Perangkat Lunak……………………………………………………………………………...... Aplikasi Perangkat Lunak…………………………………………………………………….. Rekayasa Perangkat Lunak (RPL)…………………………………………………………… Lapisan (layer) dalam Rekayasa Perangkat Lunak……………………………………… Berbagai permasalahan dalam rekayasa perangkat lunak…………………………… BAB II MANAJEMEN PROYEK PERANGKAT LUNAK……………………………………… Tujuan Manajemen Proyek…………………………………………………………………… Proyek Perangkat Lunak……………………………………………………………………… Pentingnya Manajemen Proyek Perangkat Lunak………………………………………. Manajer Proyek Perangkat Lunak……………………………………………………...…. Aktifitas Manajemen Proyek Perangkat Lunak………………………………………….. Tool Manajemen Proyek Perangkat Lunak……………………………………………….. BAB III MODEL-MODEL PROSES PERANGKAT LUNAK…………………………………. Pandangan umum tentang Rekayasa Perangkat Lunak…………………………....... Model Proses Perangkat Lunak……………………………………………………………… A. MODEL SEKUENSIAL LINIER (WATERFALL) ………………………………………… B. MODEL PROTOTIPE……………………………………………………………………….. C. MODEL RAD……………………………………………………………………………….... D. MODEL SPIRAL…………………………………………………………………………….. BAB IV SOFTWARE DEVELOPMENT LIFE CYCLE………………………………………… Sejarah Software Development Life Cycle (SDLC) ……………………….…………….. Aktifitas dalam SDLC……………………….……………………….………………………… Communication……………………….……………………….……………………………….. Requirement Gathering……………………….……………………….……………………… Feasiblity Study……………………….……………………….……………………………….. System Analysis……………………….……………………….……………………………….. Software Design……………………….……………………….……………………….………. Coding……………………….……………………….……………………….…………………… Testing……………………….……………………….……………………….………………….. Integration……………………….……………………….………………………………………. Implementation……………………….……………………….………………………………… Operation and Maintenance……………………….……………………….………………… BAB V PERSYARATAN PERANGKAT LUNAK……………………………………………….. Rekayasa Kebutuhan……………….…………………………………….……………………. Proses Rekayasa Kebutuhan……………….…………………………………….………….. Requirements Elicitation Process……………….…………………………………………… Teknik Elisitasi Persyaratan……………….…………………………………….………….. Karakteristik Persyaratan Software……………….…………………………………….… Persyaratan Perangkat Lunak……………….…………………………………….………… Persyaratan Antarmuka Pengguna (user interface) ……………….……………………

ii

i ii v vi 1 1 1 4 6 9 14 15 18 19 20 20 22 23 27 34 34 35 36 39 43 45 49 49 51 50 50 54 60 61 61 61 62 62 62 63 64 64 66 67 70 71 72

Rekayasa Perangkat Lunak

Tips dalam menyusun SKPL……………….…………………………………….………….. Review Persyaratan Perangkat Lunak……………….…………………………………….. BAB VI DESAIN PERANGKAT LUNAK…………………………………………………………. Prinsip dalam desain perangkat lunak……………….…………………………………… Tingkatan Dalam Desain Perangkat Lunak……………….……………………………… Modularitas……………….…………………………………….……………………………….. Konkurensi……………….…………………………………….……………………………….. Kopling dan Kohesi……………….…………………………………….……………………… Verifikasi Desain……………….…………………………………….…………………………. Konsep Desain Perangkat Lunak……………….…………………………………………… BAB VII PERANGKAT LUNAK ANALISIS DAN TOOL DESAIN………………………….. A. Data Flow Diagram……………….…………………………………….…………………… B. Structure Chart……………….…………………………………….………………………. C. HIPO Diagram……………….…………………………………….………………………… D. Struktur English……………….…………………………………….……………………… E. Pseudo-Code……………….…………………………………….…………………………… F. Entity Relationship Diagram Model……………….…………………………………….. G. Data Dictionary (Kamus Data) ……………….…………………………………………. BAB VIII STRATEGI PERANCANGAN PERANGKAT LUNAK……………………………. A. Perancangan Terstruktur……………….…………………………………………………. B. Perancangan Berorientasi Fungsi……………….………………………………………. C. Perancangan Berbasis Objek (Object Oriented Design) ……………….…………… Proses Perancangan……………….…………………………………….…………………….. Pendekatan-Pendekatan Perancangan Perangkat Lunak……………….…………….. BAB IX PERANCANGAN ANTAR MUKA PEMAKAI (USER INTERFACE)……………… Prinsip Dalam Merancang User Interface……………….………………………………… Memilih Elemen Antarmuka……………….…………………………………………………. Komponen GUI pada Aplikasi Khusus……………….……………………………………. Aktifitas Perancangan User Interface……………….……………………………………… BAB X IMPLEMENTASI PERANGKAT LUNAK………………………………………………. Pemrograman Terstruktur……………….…………………………………………………… Pemrograman Berbasis Fungsi……………….……………………………………………… Gaya Pemrograman……………….…………………………………….……………………… Dokumentasi Perangkat Lunak……………….…………………………………………….. Tantangan Implementasi Perangkat Lunak……………….……………………………… Berbagai permasalahan perangkat lunak……………….………………………………… Fitur penting dalam pemrograman……………….………………………………………… BAB XI PENGUJIAN PERANGKAT LUNAK…………………………………………………… Rencana Pengujian Perangkat Lunak……………….…………………………………….. Validasi Perangkat Lunak……………….……………………………………………………. Verifikasi Perangkat Lunak……………….………………………………………………….. Pengujian Manual dan Otomatis……………….…………………………………………… Pendekatan dalam Pengujian……………….……………………………………………….. Jenis-Jenis Metode Pengujian……………….………………………………………………. Tingkatan Pengujian……………….…………………………………………………………… Dokumentasi Pengujian……………….………………………………………………………. Perbedaan Pengujian dengan Kontrol dan Jaminan Kualitas & Audit…………….. BAB XII PEMELIHARAAN PERANGKAT LUNAK……………………………………………. Mengapa Pemeliharaan Perlu di Lakukan ? ……………….……………………………. Bentuk-bentuk Pemeliharaan……………….………………………………………………. Permasalahan Selama Pemeliharaan……………….……………………………………… Aktifitas Pemeliharaan……………….………………………………………………………… Tool untuk pemeliharaan perangkat lunak……………….……………………………… iii

73 77 80 81 83 84 85 86 89 90 101 102 106 109 110 112 112 113 116 117 121 122 126 127 131 132 137 142 142 145 145 147 148 150 152 153 155 158 158 163 163 164 165 165 168 171 172 174 175 177 181 182 184

Rekayasa Perangkat Lunak

BAB XIII REKAYASA PERANGKAT LUNAK MASA DEPAN………………………………. Pondasi yang lemah……………….…………………………………………………………… Wujud Risiko……………….…………………………………….……………………………… Pusaran Kompleksitas……………….………………………………………………………… Peningkatan Total Biaya Kepemilikan……………….…………………………………….. Menguasai Inovasi Berbasis Perangkat Lunak……………….………………………….. Bidang Rekayasa Perangkat Lunak tidak akan pernah mati……………….………… DAFTAR PUSTAKA

iv

186 187 188 188 188 189 190

Rekayasa Perangkat Lunak

Daftar Gambar

Gambar 1.1: Elemen perangkat keras komputer………………………………………... Gambar 1.2: Ilustrasi perangkat lunak…………………...…………………...…………. Gambar 1.3: Elemen pembentuk sistem komputer…………………...……………….. Gambar 1.4 : Wilayah cakupan RPL…………………...…………………...…………….. Gambar 1.5: Lapisan dalam Rekayasa Perangkat Lunak…………………...………… Gambar 2.1 : Kendala dalam proyek perangkat lunak…………………...…………… Gambar 2.2: Aktifitas perencanaan proyek…………………...………………….......... Gambar 2.3: Gantt Chart…………………...…………………...…………………...……… Gambar 2.4: Contoh PERT…………………...…………………...………………….......... Gambar 3.1 : Model Sekuensial Linier (Waterfall Model) …………………...………… Gambar 3.2: Model Prototipe…………………...…………………...…………………....... Gambar 3.3 : Model RAD (Rapid Application Development) ………………….......... Gambar 3.4 : Model Spiral…………………...…………………...………………….......... Gambar 4.1 : Tahapan Software Development Life Cycle………………….............. Gambar 4.2: Bentuk-bentuk kelayakan…………………...………………….............. Gambar 5.1 : Proses elisitasi kebutuhan…………………...…………………............. Gambar 5.2: Kegiatan Wawancara…………………...…………………...……………….. Gambar 6.1. Bentuk ilustrasi konsep modularitas…………………...………………… Gambar 6.2: Model kinerja modulatitas…………………...…………………............... Gambar 6.3: Partisi Horizontal dan Vertikal…………………...…………………......... Gambar 7.1: Simbol-simbol DFD…………………...…………………...…………………. Gambar 7.2 : Elemen module…………………...…………………...…………………..... Gambar 7.3 : Elemen Kondisi…………………...…………………...…………………...... Gambar 7.4: Kondisi Jump…………………...…………………...…………………......... Gambar 7.5 : Aturan loop…………………...…………………...…………………........... Gambar 7.6: Pola aliran data…………………...…………………...…………………...... Gambar 7.7 : Kontrol Flow…………………...…………………...…………………......... Gambar 7.8 : Bentuk HIPO Chart…………………...…………………...………………… Gambar 7.9: Entity Relationship Diagram…………………...…………………............ Gambar 7.10: Notasi dalam kamus data…………………...…………………............. Gambar 8.1: Konsep Cohesion dan Coupling…………………...…………………....... Gambar 8.2: Ilustrasi Top-Down Design…………………...………………….............. Gambar 8.3: Ilustrasi Bottom-Up Design…………………...…………………............. Gambar 9.1: Bentuk tampilan user interface berbasis CLI…………………...……… Gambar 9.2: Elemen pada GUI…………………...…………………...…………………... Gambar 9.3: Tahap Perancangan dan Pengembangan GUI………………….......... Gambar 10.1:Fitur penting dalam program…………………...…………………......... Gambar 11.1: Langkah-langkah yang terlibat dalam melakukan pengujian …… Gambar 11.2: Ilustrasi proses blackbox testing…………………...…………………... Gambar 11.3: Ilustrasi White-Box Testing…………………...…………………........... Gambar 11.4: Ilustrasi Pengujian Unit…………………...…………………............... Gambar 12.1: Komposisi berbagai jenis pemeliaharaan (maintenance) …………… Gambar 12.2: Ilustrasi aktifitas pemeliharaan…………………...…………………...... Gambar 13.1: Gambaran umum teknologi ‘Cerdas’…………………...………………. Gambar 13.2: Peningkatan biaya kepemilikan…………………...…………………..... Gambar 13.3: Inovasi Berbasis Perangkat Lunak untuk Produk &Layanan Cerdas…………………...…………………...…………………...……………………………..

v

2 3 4 11 15 21 25 30 32 36 41 44 47 50 55 66 68 85 95 98 104 107 107 108 108 109 109 110 113 115 120 128 129 139 140 143 156 161 166 167 168 180 182 187 189 190

Powered by TCPDF (www.tcpdf.org)

Rekayasa Perangkat Lunak

BAB I REKAYASA PERANGKAT LUNAK

Tujuan :

1. Mengenalkan sistem komputer dan perangkat lunak 2. Mempelajari klasifikasi perangkat lunak 3. Mengenalkan rekayasa perangkat lunak dan aplikasinya

Indikator keberhasilan :

1. Agar mahasiswa mampu menjelaskan komponen sistem komputer 2. Agar mahasiswa mampu menjelaskan pengertian perangkat lunak dan contohnya 3. Agar mahasiswa mampu menyebutkan dan menjelaskan contoh jenis dan aplikasi perangkat lunak 4. Agar mahasiswa mampu memahami tujuan dari rekayasa perangkat lunak.

Materi :

Definisi Komputer Komputer

merupakan

suatu

kemampuan untuk menerima

perangkat

elektronika

yang

memiliki

dan mengolah data menjadi informasi,

menjalankan program yang tersimpan dalam memori, serta dapat bekerja secara otomatis berdasarkan perangkat aturan tertentu. Berdasarkan uraian di atas, maka dapat diuraikan bahwa setidaknya suatu komputer harus memenuhi kaidah-kaidah berikut ini: a. Komputer dapat melakukan pengolahan data b. Komputer dapat memberikan/menghasilkan informasi c. Komputer merupakan alat elektornik

1

Rekayasa Perangkat Lunak

d. Komputer dapat menerima input data (teks, angka, suara, signal, dll) e. Komputer menggunakan program yang tersimpan dalam memori komputer f. Komputer bekerja secara otomatis g. Komputer dapat menyimpan program dan data hasil olahannya.

Sistem Komputer Sebuah sistem komputer tersusun atas tiga elemen yang saling terkait satu sama lainnya, yaitu : 1. Hardware (Perangkat Keras), merupakan kumpulan segala piranti atau komponen dari sebuah komputer yang sifatnya bisa dilihat secara kasat mata dan bisa diraba secara langsung. Dengan kata lain hardware merupakan komponen yang memiliki bentuk nyata secara fisik. Beberapa komponen perangkat keras mudah dikenali, seperti casing komputer, keyboard, dan monitor. Namun, ada banyak jenis komponen perangkat keras yang lainnya untuk membentuk sebuah komputer.

Gambar 1.1: Elemen perangkat keras komputer

2

Rekayasa Perangkat Lunak

2. Software

(Perangkat

Lunak),

merupakan

suatu data yang

diprogram sedemikian rupa dan disimpan dalam bentuk digital yang tidak terlihat secara fisik tetapi tersimpan dalam media penyimpanan komputer. Software atau perangkat lunak dapat berupa program atau aktifitas menjalankan suatu perintah atau intruksi melalui fasilitas interaksi pada software (perangkat lunak) komputer sehingga sistem dapat beroperasi. Software juga dapat dikatakan sebagai penggerak dan pengendali hardware (perangkat keras).

Gambar 1.2: Ilustrasi perangkat lunak

Software dibuat dengan menggunakan bahasa pemrograman yang ditulis

atau

dibangun

oleh

programmer

yang

selanjutnya

dikompilasi dengan aplikasi kompiler sehingga menjadi sebuah kode yang nantinya akan dikenali oleh mesin hardware. 3. Brainware (Perangkat Manusia/Otak), merupakan orang yang menggunakan (user), memakai ataupun mengoperasikan perangkat komputer. Seperti contoh dari brainware yaitu programmer, operator (sebutan untuk orang yang menggunakan suatu sistem komputer untuk fungsi tertentu), serta menggunakan

perangkat

komputer.

orang yang sedang

Brainware

juga

dapat

3

Rekayasa Perangkat Lunak

didefenisikan

sebagai

manusia

yang

terlibat

dalam

mengoperasikan atau memakai serta mengatur sistem di dalam perangkat komputer. Dapat diartikan juga sebagai perangkat intelektual

yang

mengoperasikan

dan

juga

mengeksplorasi

kemampuan dari perangkat keras (hardware) maupun perangkat lunak (software).

Gambar 1.3: Elemen pembentuk sistem komputer

Perangkat Lunak Pada mata kuliah Rekayasa Perangkat Lunak (RPL) ini, sebelumnya kita harus mengerti dan memahami terlebih dahulu, apa yang dimaksud dengan perangkat lunak. Perangkat lunak saat ini telah menjadi kekuatan baru yang sangat menentukan dalam mendukung suatu aktifitas. Perangkat lunak

menjadi

mesin

yang

mengendalikan proses

pengambilan

4

Rekayasa Perangkat Lunak

keputusan di dalam dunia bisnis, berfungsi sebagai basis dari berbagai bentuk

pelayanan serta penelitian keilmuan modern. Saat ini perangkat

lunak memiliki dua peran. Di satu sisi produk,

dan di sisi lain sebagai

berfungsi

media

sebagai

sebuah

yang mengantarkan sebuah

produk.

Di masa lalu, perangkat

lunak bersifat sederhana

dan karenanya,

pengembangan perangkat lunak merupakan kegiatan yang juga sederhana. Namun, seiring meningkatnya teknologi dan peradaban manusia, perangkat lunak menjadi lebih kompleks dan proyek perangkat lunak tumbuh menjadi lebih besar. Pengembangan perangkat lunak sekarang mengharuskan kehadiran tim yang dapat mempersiapkan rencana dan desain secara terperinci, melakukan pengujian, mengembangkan antar muka pengguna yang intuitif, dan mengintegrasikan semua aktifitas ini ke dalam sistem. Pendekatan baru ini menyebabkan munculnya sebuah disiplin ilmu yang dikenal sebagai rekayasa perangkat lunak.

Sebenarnya, apa yang dimaksud dengan perangkat lunak?

Perangkat

lunak

(Software)

adalah:

(1)

Perintah/instruksi

(program

komputer) yang mana bila ia dieksekusi akan memberikan fungsi dan unjuk kerja seperti yang diinginkan. (2) Struktur data yang memungkinkan program

memanipulasi

data

dan

informasi

secara

proporsional.

(3)

Dokumen yang menggambarkan operasi dan kegunaan program.

Klasifikasi Perangkat Lunak :

1. Sistem Operasi (operating system), merupakan perangkat lunak yang berfungsi

untuk

mengoperasikan

komputer

serta

menyediakan

antarmuka dengan perangkat lunak lain atau dengan pengguna. Contoh perangkat lunak Sistem Operasi : MS DOS, MS Windows (dengan

berbagai

generasi), Macintosh, OS/2, UNIX (dengan

5

Rekayasa Perangkat Lunak

berbagai versi), LINUX (dengan berbagai distribusi), NetWare, dan sebagainya. Masing-masing sistem operasi memiliki perbedaan dalam lingkup/platform operasi, jumlah pemakai, metode interaksi pemakai, sifatnya (opensource/closesource) dan lisensi penggunaan. 2. Program

Utilitas (Utility),

merupakan

program

khusus

yang

berfungsi sebagai perangkat pemeliharaan suatu sistem komputer, seperti

anti

virus,

partisi

hardisk,

manajemen

sebagainya. Contoh produk program

utilitas

hardisk,

dan

: Norton Utilities,

PartitionMagic, McAfee, dan sebagainya 3. Program Aplikasi, merupakan program yang dikembangkan untuk memenuhi kebutuhan yang spesifik. Contoh : aplikasi akuntansi, aplikasi perbankan, aplikasi manufaktur, dan sebagainya. 4. Paket Pemrograman, merupakan program yang dikembangkan untuk kebutuhan umum, seperti : pengolah kata/text editor (misalnya: MSWord, Notepad, Latex, dll), pengolah angka / lembar kerja (misalnya: MS Excel, dll), presentasi (Misalnya: MS PowerPoint, dll), dan desain grafis (Misalnya: 3D, CorelDraw, PhotoShop, dan sebagainya) 5. Bahasa

Pemrograman,

merupakan sebuah instruksi standar yang

bertugas untuk memberikan instruksi kepada komputer. Sering disebut juga dengan bahasa komputer atau bahasa pemograman komputer. Bahasa pemrograman juga dapat dikatakan sebagai alat untuk menampung suatu

kumpulan dari aturan sintaks

dan

semantik yang khususnya dipakai untuk mendefinisikan sebuah program yang ada di komputer. Contoh bahasa pemrograman yang paling umum digunakan, yaitu : Java Script, PHP, HTML, C++, Python, dan sebagainya.

Aplikasi Perangkat Lunak Perangkat lunak dapat diaplikasikan ke berbagai situasi dan lingkungan di mana serangkaian langkah p...


Similar Free PDFs