REKAYASA PERANGKAT LUNAK 1 Rekayasa Perangkat Lunak Definisi

  • Slides: 21
Download presentation
REKAYASA PERANGKAT LUNAK

REKAYASA PERANGKAT LUNAK

1. Rekayasa Perangkat Lunak Definisi Suatu disiplin ilmu yang membahas semua aspek produksi perangkat

1. Rekayasa Perangkat Lunak Definisi Suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal requirement capturing (analisa kebutuhan pengguna), specification (menentukan spesifikasi dari kebutuhan pengguna), desain, coding, testing sampai pemeliharaan sistem setelah digunakan. Romi satrio wahono (2006)

Definisi Penerapan pendekatan yang sistematis, disiplin, dan terukur untuk pengembangan, operasi, dan pemeliharaan perangkat

Definisi Penerapan pendekatan yang sistematis, disiplin, dan terukur untuk pengembangan, operasi, dan pemeliharaan perangkat lunak (IEEE, 1993). Suatu disiplin yang mengintegrasikan proses/prosedur, metode, dan perangkat tools untuk pembangunan perangkat lunak komputer (Pressman, 97). Merupakan aplikasi dari prinsip-prinsip sains untuk Mengurutkan transformasi masalah menjadi solusi yang dapat bekerja dengan baik. Urutan pemeliharaan perangkat lunak tersebut sampai tidak dapat digunakan lagi (Alan M. Davis)

2. Tujuan Rekayasa Perangkat Lunak Menghasilkan sebuah perangkat lunak yang berkualitas. dilihat dari tiga

2. Tujuan Rekayasa Perangkat Lunak Menghasilkan sebuah perangkat lunak yang berkualitas. dilihat dari tiga sisi : 1. Sponsor (individu atau organisasi yang telah mengeluarkan biaya dalam pembangunan perangkat lunak), 2. Pemakai (siapapun yang menggunakan perangkat lunak tersebut), 3. Maintainer / modifier (yang memelihara dan memodifikasi perangkat lunak tersebut)

Tujuan Rekayasa Perangkat Lunak

Tujuan Rekayasa Perangkat Lunak

3. METODOLOGI PENGEMBANGAN PERANGKAT LUNAK Metodologi pengembangan perangkat lunak (atau disebut juga model proses

3. METODOLOGI PENGEMBANGAN PERANGKAT LUNAK Metodologi pengembangan perangkat lunak (atau disebut juga model proses atau paradigma rekayasa perangkat lunak) adalah suatu strategi pengembangan yang memadukan proses, metode, dan perangkat (tools).

METODOLOGI PENGEMBANGAN PERANGKAT LUNAK Menurut Pressman (1997) Komponen metodologi pengembangan perangkat lunak dapat dibagi

METODOLOGI PENGEMBANGAN PERANGKAT LUNAK Menurut Pressman (1997) Komponen metodologi pengembangan perangkat lunak dapat dibagi dalam tiga unit, yaitu : 1. Metode, yaitu suatu cara atau teknik pendekatan yang sistematik yang dipergunakan untuk mengembangkan perangkat lunak. Metode ini mencakup : Perencanaan proyek dan perkiraan, analisis keperluan sistem dan perangkat lunak, perancangan struktur data, arsitektur program, prosedur algoritma, Coding, uji coba dan pemeliharaan. 2. Alat bantu (Tools), yaitu alat-alat yang mendukung pengembangan perangkat lunak. Terdapat 2 alat Bantu yang dapat digunakan yaitu : alat Bantu manual dan alat Bantu otomatis. 3. Prosedur, yang dipergunakan untuk mendefinisikan urut-urutan pekerjaan (daur) dari metode dan alat bantu tersebut.

4. Model Proses Pengembangan Perangkat Lunak 1. 2. 3. 4. 5. 6. Linear Sequential

4. Model Proses Pengembangan Perangkat Lunak 1. 2. 3. 4. 5. 6. Linear Sequential Model (Waterfall) Prototyping Model RAD (Rapid Application Development) Model Spiral Model Object Oriented Agile Developtment Method • • • Extreme Programmning (XP) Dynamic Systems Development Method (DSDM) Scrum Methodology Feature Driven Development (FDD) Crystal Dll

4. 1 Linear Sequential Model (Waterfall) Linear sequential model (atau disebut juga “classic life

4. 1 Linear Sequential Model (Waterfall) Linear sequential model (atau disebut juga “classic life cycle” atau “waterfall model”) adalah metode pengembangan perangkat lunak dengan pendekatan sekuensial dengan cakupan aktivitas : 1. 2. 3. 4. 5. 6. Rekayasa sistem dan Analisis (Sistem Engineering and Analysis). Analisis kebutuhan perangkat lunak (Software Requirements Analysis). Perancangan (Design). Pembuatan kode (Coding). Pengujian (Testing) Pemeliharaan (Maintenance)

4. 1 Linear Sequential Model (Waterfall) Contoh Kasus model linear sequential: 1. Rekayasa sistem

4. 1 Linear Sequential Model (Waterfall) Contoh Kasus model linear sequential: 1. Rekayasa sistem dan Analisis (Sistem Engineering and Analysis)

4. 1 Linear Sequential Model (Waterfall) Contoh Kasus model linear sequential: 2. Analisis kebutuhan

4. 1 Linear Sequential Model (Waterfall) Contoh Kasus model linear sequential: 2. Analisis kebutuhan perangkat lunak (Software Requirements Analysis). Pengadaan Sistem Operasi, Database dan Bahasa Pemrograman sebagai berikut : - Sistem Operasi Windows Server untuk Server Induk. - Sistem Operasi Windows 7 untuk Client. - Database SQL Server 2010 untuk Server Induk. - Bahasa Pemrograman : Visual Studio untuk Program Aplikasi

4. 1 Linear Sequential Model (Waterfall) Contoh Kasus model linear sequential: 3. Perancangan (Design)

4. 1 Linear Sequential Model (Waterfall) Contoh Kasus model linear sequential: 3. Perancangan (Design)

Tahapan Normalisasi

Tahapan Normalisasi

Normalisasi adalah proses Pendesainan struktur Database sehingga sebagian besar ambiguity bisa dihilangkan. Tujuan Pembentukan

Normalisasi adalah proses Pendesainan struktur Database sehingga sebagian besar ambiguity bisa dihilangkan. Tujuan Pembentukan Normalisasi • Untuk menghilangkan kerangkapan data/ redudansi. • Untuk mengurangi kompleksitas • Untuk mempermudah pemodifikasian data • Untuk menghilangkan anomali data

Tahapan Normalisai • Bentuk Tidak Normal (Unnormalized Form) kedatangannya. • 1 NF (Bentuk Normal

Tahapan Normalisai • Bentuk Tidak Normal (Unnormalized Form) kedatangannya. • 1 NF (Bentuk Normal Pertama ) - Setiap data di bentuk dalam flat file. - Tidak ada set atribut yang berulang –ulang. • 2 NF (Bentuk Normal Kedua) - Sudah memenuhi Bentuk Normal Pertama - Menentukan atribut kunci Utama/Primari key. . - Atribut bukan kunci bergantung secara fungsi pada Kunci Utama/Primari key.

 • 3 NF (Bentuk Normal ketiga ) - Sudah memenuhi Bentuk Normal Kedua

• 3 NF (Bentuk Normal ketiga ) - Sudah memenuhi Bentuk Normal Kedua - Tidak mempunyai field yang bengantung Transitif • BCNF (Boyce–Codd Normal Form) - Sebuah Tabel/Relasi adalah BCNF jika setiap atribut penentu/determinant adalah candidate key/Kunci Kandidat

Langkah Pertama : Membentuk tabel menjadi Un-Normalized, dengan mencantumkan semua field data yang ada.

Langkah Pertama : Membentuk tabel menjadi Un-Normalized, dengan mencantumkan semua field data yang ada.

Langkah Kedua: Membentuk Normal Kesatu (1 NF) dengan flat table memisahkan data pada field-field

Langkah Kedua: Membentuk Normal Kesatu (1 NF) dengan flat table memisahkan data pada field-field yang tepat bernilai atomik, dan melengkapi atribut/ field yg ada. bentuk Normal Kesatu ini mempunyai banyak kelemahan diantaranya yaitu : Penyisipan data : Kode pelanggan dan Nama pelanggan tidak bisa ditambahkan tanpa adanya transaksi penjualan. Penghapusan data : Jika salah satu record dihapus maka semua data yang ada di situ akan terhapus. Pengubahan data : Data pelanggan ditulis berkali-kali (Kode dan Nama). Jika suatu saat terjadi perubahan Nama pelanggan maka harus mengganti semua record yang ada data supliernya. Bila tidak maka akan terjadi inkonsistensi

Langkah Ke tiga: Langkah berikutnya adalah membentuk data menjadi bentuk normal kedua (2 NF),

Langkah Ke tiga: Langkah berikutnya adalah membentuk data menjadi bentuk normal kedua (2 NF), dengan menentukan Primary key. Dari contoh diatas Primary key(*) adalah : º Nota º Kode Pelanggan º Kode Barang Selanjutnya adalah mengelompokan field non kunci dengan Primary key berdasarkan ketergantungan Fungsional menghasilkan :

Langkah Ke Empat: Selanjutnya adalah membentuk Normal ke Tiga (3 NF) menghilangkan field yang

Langkah Ke Empat: Selanjutnya adalah membentuk Normal ke Tiga (3 NF) menghilangkan field yang bergantung Transitif (Total Bayar) dan membentuk relasi dengan menentukan Foreign Key yaitu Kode Pelanggan dan Kode Barang dan menambahkan Foreign Key(**) tersebut dalam Tabel Transaksi, sehingga menjadi seperti berikut.

Latihan

Latihan