You are on page 1of 48

REKAYASA PERANGKAT LUNAK

Definisi

Sebagai disiplin manajerial dan teknis yang berhubungan dengan penemuan sistematik, produksi dan maintenance sistem perangkat lunak yang berkualitas tinggi, disampaikan pada waktu yg tepat serta memiliki harga yg mahal

Suatu proses evolusi dan pemanfaatan alat & teknik untuk pengembangan perangkat lunak
Penetapan & penggunaan prinsip2 rekayasa dalam mendapatkan perangkat lunak yg ekonomis yaitu perangkat lunak yg terpercaya & bekerja efisien pada mesin (komputer)

Komponen2 RPL terbentuk dari program dengan tugas :

Membuat suatu desain aplikasi yg ada di lingkungan tugas atau pekerjaan

Membuat deadline berupa pendahuluan, perumusan masalah,analisis, desain, dan kesimpulan

Dasar perangkat lunak

Perangkat lunak adalah obyek tertentu yg dapat dijalankan seperti Kode sumber Kode obyek Sebuah program yg lengkap.

Pada komputer ada 2 jenis perangkat lunak sistem yang penting, yaitu : Sistem Operasi, Berfungsi menyediakan tempat dalam memori untuk menyimpan data yang sedang diolah dan mengawasi bahwa tidak ada data yang tiba2 masuk dan menimpa data lain atau sebagian dari program aplikasi. Bahasa Pemrograman

Kegiatan rekayasa software meliputi beberapa hal, diantaranya :

Analisa kebutuhan dan spesifikasi Estimasi Feasibility dan sumber daya Desain solusi perangkat lunak berbasis komputer Implementasi desain berupa program Pengukuran kualitas hasil akhir berupa perangkat lunak

Tujuan Rekayas Perangkat Lunak

Biaya produksi rendah Kinerja program yg tinggi Probabilitas yg tinggi Biaya perawatan yg rendah Keandalan sistem & penyerahan tepat waktu

Jenis2 aplikasi perangkat lunak Perangkat lunak sistem Perangkat lunak real time Perangkat lunak bisnis Perangkat lunak teknik & ilmu pengetahuan Perangkat lunak embedded Perangkat lunak komputer personal Perangkat lunak kecerdasan buatan

Paradigma Rekayasa Perangkat Lunak

Proses perangkat lunak


Proses penetuan perangkat lunak yang baik tergantung : Pendekatan Teknologi Metode Alat bantu Prosedur yg digunakan ketika perangkat lunak yg dikembangkan.

Metode sebagai cara bagaimana membangun perangkat lunak yang harus tetap pada sebuah komitmen dasar menuju kualitas. Metode ini menyangkut serangkaian tugas yaitu: 1. Perencanaan proyek dan estimasi. Contoh: PERT (Program Evaluation and Review Technique) dan CPM (Critical Path Method) 2. Analisis kebutuhan sistem dan software 3. Rancangan stuktur data, yg terdiri dari: 3 - Variabel - Elementary data :Int, Char, String,dll - Stuktur data :Record, File, Array, String 4. Arsitektur program 5. Algoritma prosedur 6. Coding 7. Testing 8. Pemeliharaan

Untuk menyelesaikan permasalahan Rekayasa Perangkat Lunak


Sikslus Hidup Adalah pendekatan melalui beberapa tahapan untuk menganalisis dan merancang sistem yg dimana sistem tersebut telah dikembangkan dengan sangat baik melalui penggunaan siklus kegiatan penganalisis dan pemakai secara spesifik. 2. Menentukan

syarat-syarat 1. Mengidentifikasi masalah, peluang dan tujuan


3.Menganalisis kebutuhan2 sistem

7. Mengimplementasikan & mengevaluasi sistem 4. Mereancang sistem yg direkomendasikan

Gb. 7 Tahap Siklus Hidup Pengembangan Sistem

6. Menguji & mempertahankan sistem

5. Mengembangkan & mendokumentasikan P/L

Model Spiral Pendekatan Waterfall Model ini menawarkan cara pembuatan perangkat lunak secara lebih nyata. Langkah2 penting dlm model ini adalah : - Penentuan & analisis spesifikasi - Desain sistem & perangkat lunak - Implementasi & ujicoba unit - Integrasi & ujicoba sistem - Operasi & pemeliharaan

Siklus Hidup dg model waterfall


Requiredment Analysis and Definition

System and software design

Implementation and unit testing

Integration and system testing

Operation and maintenance

Pendekatan Evolusioner Model ini berdasarkan pada ide pengembangan pada implementasi awal yg akan menghasilkan komentar pemakai sehingga dapat dilakukan perbaikan melalui banyak versi sampai sistem yg mencukupi dapat dikembangkan. Spiral Boehm Model proses nyata waterfall yg berorientasi dokumen. Model ini berbentuk spiral, setiap loop mewakili sebuah tahap dari proses perangkat lunak. Tidak ada tahap yg tetap pada model ini.

Prototyping
Adalah implementasi bagian dari produk software yg secara tipikal fungsinya dibatasi, reliabilitas rendah, tampilan kurang baik, dan kurang ketegasan.
Prototype memberikan ide bagi pembuat maupun pemakai potensial tentang cara sistem berfungsi dalam bentuk lengkapnya. Proses menghasilkan sebuah prototype disebut prototyping

Tujuan Prototype Membantu mengembangkan persyaratan, jika tidak dapat ditentukan dengan mudah Mengesahkan persyaratan, khususnya dengan customer dan user yg potensial Menyajikan sebagain tempat pengembanagan, jika menggunakan startegi pengembangan evolusi prototype

Manajemen Proyek Perangkat Lunak

Manajemen Proyek

Proyek merupakan suatu tugas yg perlu dirumuskan untuk mencapai sasaranyg dinyatakan secara konkrit serta harus diselesaikan dalam suatu periode tertentu dengan menggunakan tenaga manusia & alat2 yg terbatas dan begitu kompleks sehingga dibutuhkan pengelolaan & kerjasama yg berbeda dari yg biasanya digunakan. Kumpulan kegiatan termasuk sumber daya dan waktu yg diperlukan, yg diorganisasikan dan bersifat sementara untuk mencapai tujuan yg telah ditetapkan.

Manajemen proyek perangkat lunak yg efektif berfokus pada 3 P : 1. (People=Manusia) 2. (Problem=Masalah) 3. (Process=Proses), memberikan suatu kerangka kerja dimana rencana komprehensif bagi pengembangan perangkat lunak dapat dibangun. Atribut dan karakteristik proses : Understandability, Visibility, Supportability, Acceptability, Reliability, Robustness, Maintainability, Rapidity

Prinsip Pembentukan Sebuah Jaringan


Network Panning Adalah teknik baru dalam suatau penyelesaina proyek yg merupakan dasar untuk menentukan kebijaksanaan2 pimpinan dalam melaksanakan suatu proyek. Network Planning pd prinsipnya adalah hubungan yg saling bergantung antara bagian2 pekerjaan yg digambarkan dalam network diagram.

Dalam network planning ada 2 konsep yang harus diperhatikan yaitu :


1.

2.

Event (kejadian) adalah suatu keadaan yg terjadi pada saat tertentu. Aktivitas adalah perkerjaan yang diperlukan untuk menyelesaikan suatu pekerjaan.

Simbol2 yg digunakan dlm Network Diagram


Anak Panah

Node/Circle atau lingkaran kecil

Anak Panah putus2

Anak Panah rangkap

Contoh
Membuat saluran minyak tanah sepanjang 1000 meter
B(1)
A(1)

D(10)
F(5)

C(20)

E(10)

Kode Aktivitas A B C D

Uraian aktivitas Menandai lokasi Pengukuran Penggalian tanah Pengecoran

Waktu(hari) 1 1 20 10

Kegiatan yg mendahului Tidak ada A A dan B A dan B

E
F

Pemasangan 10 pipa
Pembuatan bak pengontrol 5

C dan D
C dan D

Critical Path Method (CPM)


Adalah lintasan dimana terdapat aktivitasaktivitas yg paling banyak memakan waktu, mulai dari permulaan dikerjakannya proyek sampai berakhirnya pekerjaan tsb.

Menentukan lintasan kritis

Untuk mencari lintasan kritis ada beberapa metode umum yg dipakai, yaitu : - Meneliti seluruh lintasan yg ada Dapat mengetahui arah mana terdapat lintasan kritis. Contoh 1 - Metode EET dan LET

Kode Aktivitas
A B C D

Uraian aktivitas
Perencanaan biaya Menghubungi bank Perencanaan material Seleksi material

Waktu (hari)
5 3 6 4

Kegiatan yg mendahului
Tidak ada Tidak ada Tidak ada A

E F
G H I

Material disiapkan Perencanaan tenaga kerja


Job Analysis Melatih tenaga kerja Proses Assembling

4 2
5 15 5

B B
C D dan E F dan G

D(4)

H(15) A(5) E(4)

B(3)

F(2)

I(5)

C(6)

G(5)

Lintasan yang terbentuk A-D-H = 24 hari B-E-H = 22 hari C-G-I = 14 hari B-F-I = 10 hari

Maka jalur A-D-H adalah lintasa kritis

Metode EET & LET


Event dengan simbol lingkaran dibagi menjadi 3 bagian seperti :
B A C Ket : Dimana A=Number of Event B= EET C= LET

Contoh
2 A(8)
I(3) 17 6 L(6) 8 D(2) 5 10 H(5) 8 K(5) 18

N(3) 26
11 12 29

0
1

B(3) 8 3

E(4)

20
9

F(8) C(9) 9 G(1) 7 10 J(5) 10 20 M(4)

Aktivitas Manajemen Perangkat Lunak


-

Proposal writing,pimpinan proyek harus membuat rencana pekerjaan proyek yg akan dilakukan dari persiapan awal hingga selesainya proyek tsb. Project costing, Budget pengluaran dan masukan proyek yg akan dikerjakan dibuat serinci mungkin. Project planning and scheduling Project monitoring and review Personal selection and evaluation Report writing and presentation

Pengujian Perangkat Lunak

Dasar Pengujian Perangkat Lunak


Menciptakan sederet test case yang dimaksudkan untuk membongkar/mengecek perangkat lunak yang sudah di bangun.

Sasaran-sasaran Pengujian (Glen Myers)


a.

b.

c.

Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan Test case yg baik adalah memiliki probabilitas tinggi untuk menemukan kesalahan yg belum pernah ditemukan sebelumnya Pengujian yg sukses adalah pengujian yg mengungkapkan semua kesalahan yg belum pernah ditemukan sebelumnya

Testabilitas
Karakteristik yang dapat menjadi pertimbangan terhadap perangkat lunak yg diuji: - Operabilitas - Observabilitas - Kontrolabilitas - Dekompositabilitas - Kesederhanaan - Stabilitas - Kemampuan untuk dapat dipahami

Pengujian
Pengujian White Box/Glass Box, Adalah metode desain test case yg menggunkan struktur kontrol desain prosedural untuk memperoleh test case. 2. Pengujian Basis Path, memungkinkan designer test case mengukur kompleksitas logis dari desin prosedural & menggunakannya sebagai pedoman untuk menetapkan basis set dari jalur eksekusi - Notasi Diagram Alir - Kompleksitas Siklomatis, Adalah metrik perangkat lunak yg memberikan pengukuran kuantitatif terhadap kompleksitas logis suatu program. - Melakukan Test Case - Matriks Grafik 3. Pengujian struktur kontrol, Pengujian Basis Path adalah satu dari sejumlah teknik untuk pengujian struktur kontrol 4. Pengujian Black Box, Pengujian ini berfokus pada persyaratan fungsional P/L
1.

Pengujian Untuk Aplikasi & Lingk. Khusus


1. 2. 3.

4.

Pengujian GUI Pengujian Arsitektur Client/Server Pengujian Dokumentasi dan Fasilitas Help Pengujian Sistem Real-Time

You might also like