http://www.hendra-jatnika.web.id
REKAYASA PERANGKAT LUNAK
http://www.hendra-jatnika.web.id
PERKENALAN DOSEN- M AHASISWA Nama Tempat Tinggal Pendidikan
: Hendra Jatnika : Garut – Bandung Bandung : 1. D3 Informatika MIPA UNPAD Bandung 2. S1 STMIK-IM Bandung 3. S2 STMIK-LIKMI Bandung
Kegiatan : Dosen Politeknik Piksi Ganesha 2. LP3i Bandung 3. A2K-Proklamasi 4. UNIBI : Konsultan IT/Si 1.
Hp ( Mhs ) Profile Email
: 022-97733557 : hendra-jatnika.web.id :
[email protected] (Konsultasi )
:
[email protected] [email protected] ( ( tugas )
http://www.hendra-jatnika.web.id
PERANGKAT LUNAK Perangkat Lunak (Software) tidak (Software) tidak sama dengan program komputer. Perangkat lunak tidak hanya mencakup program, tetapi juga semua dokumentasi dan konfigurasi data yang berhubungan, yang diperlukan untuk membuat agar program beroperasi dengan benar. Sistem Perangkat Lunak terdiri dari :
Sejumlah program yg terpisah File-file konfigurasi
http://www.hendra-jatnika.web.id
Dua tipe produk perangkat lunak :
Produk Generik Sistem stand-alone standar yg diproduksi oleh organisasi pengembang dan dijual ke pasar terbuka ke siapapun yg membelinya. Biasa disebut sebagai software shrink-wrapped. Contoh : pengolah kata (word processor). Produk pesanan (yang disesuaikan) Sistem yg dipesan oleh pelanggan tertentu. Dikembangkan khusus bagi pelanggan oleh kontraktor perangkat lunak. Contoh : Sistem untuk mendukung proses bisnis tertentu dan sistem kontrol lalu lintas udara.
http://www.hendra-jatnika.web.id
Perbedaan PENTING antara tipe2 perangkat lunak :
Pada produk generik, organisasi yang mengembangkan perangkat lunak mengontrol spesifikasi perangkat lunak. Pada produk pesanan, spesifikasi biasanya dikembangkan dan dikontrol oleh organisasi yang membeli perangkat lunak tersebut.
http://www.hendra-jatnika.web.id
REKAYASA PERANGKAT LUNAK
RPL atau Software Engineering (SE) Disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan. Ada 2 istilah kunci disini :
“disiplin rekayasa” Perekayasa membuat suatu alat bekerja. Menerapkan teori, metode, dan alat bantu yang sesuai, selain itu mereka menggunakannya dengan selektif dan selalu mencoba mencari solusi terhadap permasalahan. “semua aspek produksi perangkat lunak” RPL tidak hanya berhubungan dengan proses teknis dari pengembangan perangkat lunak tetapi juga dengan kegiatan seperti Manajemen proyek PL dan
http://www.hendra-jatnika.web.id
PERBEDAAN ANTARA RPL DENGAN C OMPUTER S CIENCE ?
Intinya, computer science berhubungan dengan teori dan metode yang mendasari sistem komputer dan perangkat lunak, sedangkan RPL berhubungan dengan praktek dalam memproduksi perangkat lunak.
PERBEDAAN RPL DENGAN REKAYASA SISTEM ?
http://www.hendra-jatnika.web.id
Rekayasa sistem berkaitan dengan semua aspek dalam pembangunan sistem berbasis komputer termasuk hardware, rekayasa PL dan proses. RPL adalah bagian dari rekayasa sistem yang meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada sistem.
http://www.hendra-jatnika.web.id
PROSES PERANGKAT LUNAK
Serangkaian kegiatan dan hasil-hasil relevannya yang menghasilkan perangkat lunak sebagian besar dilakukan oleh perekayasa perangkat lunak. Ada 4 kegiatan/aktivitas pada proses PL : 1.
2. 3.
Spesifikikasi Perangkat Lunak Fungsionalitas perangkat lunak dan batasan kemampuan operasinya harus didefinisikan. Pengembangan Perangkat Lunak Perangkat lunak yang memenuhi spesifikasi harus di produksi Validasi Perangkat Lunak Perangkat lunak harus divalidasi untuk menjamin bahwa perangkat lunak melakukan apa yang diinginkan oleh pelanggan.
http://www.hendra-jatnika.web.id
MODEL PROSES PERANGKAT LUNAK
Merupakan deskripsi yang disederhanakan dari proses perangkat lunak di presentasikan dengan sudut pandang tertentu.
Bisa mencakup kegiatan yang merupakan bagian dari proses perangkat lunak, produk perangkat lunak, dan peran orang yang terlibat pada rekayasa perangkat lunak (Perekayasa PL).
http://www.hendra-jatnika.web.id
CONTOH JENIS MODEL PROSES PL 1.
Model aliran kerja (workflow) menunjukkan kegiatan pada proses bersama dengan input, output, dan ketergantungannya. Merepresentasikan pekerjaan manusia.
2.
Model aliran data (data flow) merepresentasikan proses sebagai suatu set kegiatan yang melakukan transformasi data. Menunjukkan bagaimana input ke proses, misalnya spesifikasi ditransformasi menjadi output, misalnya menjadi desain.
3.
Model peran/aksi
merepresentasikan peran
MODEL ATAU PROSES PL 1.
2.
PARADIGMA UMUM PADA
http://www.hendra-jatnika.web.id
Model air terjun (waterfall) Mengambil kegiatan dasar seperti spesifikasi, pengembangan, validasi, dan evolusi dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya. Pengembangan evolusioner Pendekatan ini berhimpitan dengan kegiatan spesifikasi, pengembangan, dan validasi. Sistem awal dikembangkan dengan cepat dari spesifikasi abstrak. Sistem ini kemudian di perbaiki
http://www.hendra-jatnika.web.id
3.
Pengembangan Sistem Formal Pendekatan ini menghasilkan suatu sistem matematis yang formal dan mentransformasikan spesifikasi ini, dengan menggunakan metode matematik menjadi sebuah program.
4.
Pengembangan berdasarkan pemakaian ulang (Reusable) Teknik ini menganggap bahwa bagianbagian sistem sudah ada. Proses pengembangan sistem terfokus pada pengintegrasian bagian-bagian sistem dan bukan pengembangannya dari awal.
http://www.hendra-jatnika.web.id
BIAYA REKAYASA PERANGKAT LUNAK
Umumnya sekitar 60% untuk biaya pengembangan (development) dan 40% biaya pengujian (testing).
Distribusi biaya yang tepat selama proses perangkat lunak bergantung pada proses yang digunakan dan jenis perangkat lunak yang dikembangkan.
http://www.hendra-jatnika.web.id
REKAYASA PERANGKAT LUNAK
PERANCANGAN ARSITEKTUR PERANGKAT LUNAK
ARSITEKTUR PERANGKAT LUNAK
http://www.hendra-jatnika.web.id
•
•
An abstract system specification consisting primarily of functional components described in terms of their behaviors and interfaces and component-component interconnections. The interconnections define provide by which components interact. How the system is decomposed and organized into components and must describe the interfaces between these components.
ARSITEKTUR PERANGKAT LUNAK ( 2 )
http://www.hendra-jatnika.web.id
•
Gambaran bagaimana elemen/komponen fungsional perangkat lunak disusun, diorganisasi dan distrukturkan sehingga:
Hubungan antar elemen/komponen dapat dijelaskan. Interface yang menghubungkan elemen/komponen dapat didefinisikan. Wujud dan penempatan elemen/komponen dalam tempat penyimpanan sekunder secara fisik dapat ditetapkan.
CONTOH ARSITEKTUR PERANGKAT LUNAK ( 1 )
http://www.hendra-jatnika.web.id
Model Analisis (DFD level atomik) id_mhs Petugas 1.2.3
info_mhs
mahasiswa
Cari Info Mahasiswa
Arsitektur Perangkat Lunak (Fisik) call Script dan Procedure Cari(NIM)
Search NIM : NIM
Cari Nama
Kelas
query/select Tabel Mahasiswa
CONTOH ARSITEKTUR PERANGKAT LUNAK ( 2 )
http://www.hendra-jatnika.web.id
Model Analisis (DFD level atomik) 1 Tambah Data Barang
id_barang
Bagian Penjualan
Modul Pemanggil
rec_barang id_supplier Barang
rec_supplier
rec_supplier Supplier
2 Tambah Data Supplier
Arsitektur Perangkat Lunak (Structure Chart) Kelola Data Induk
Proses 2.0
Proses 1.0 Tambah Data Barang id_barang supplier
Tambah Data Supplier rec_barang
id_supplier
rec_supplier
STRUCTURE CHART
•
•
http://www.hendra-jatnika.web.id
Diagram untuk menggambarkan arsitektur perangkat lunak secara keseluruhan tanpa memperlihatkan proses pemilihan dan pengulangannya secara rinci. Menggambarkan arsitektur perangkat lunak seperti diagram organisasi sebuah perusahaan.
SIMBOL STRUCTURE CHART
http://www.hendra-jatnika.web.id
Simbol
Arti •
Modul
•
Pemanggilan modul
•
Data atau elemen kontrol yang dikirimkan atau diterima dari satu modul
•
Pengulangan di dalam modul
•
Penyeleksian kondisi di dalam modul
CONTOH STRUCTURE CHART : PASCAL ( 1 )
http://www.hendra-jatnika.web.id
modul pemanggil
A
notasi untuk parameter input yang dikirimkan kepada modul yang dipanggil
x, y
p, q
B
notasi untuk parameter output yang diberikan pada modul pemanggil modul yang dipanggil
Procedure A; Var p, q : Real; Procedure B(x, y : Real); Begin p := ... { manipulasi nilai p } q := ... { manipulasi nilai q } ; End Begin
•
•
Modul A memanggil modul B dengan data x dan y sebagai parameternya. Modul B mengirimkan data p dan q sebagai return value ke modul A.
Potongan kode program dalam bahasa Pascal
CONTOH STRUCTURE CHART : PASCAL ( 2 )
http://www.hendra-jatnika.web.id
•
•
Modul A akan memanggil modul B jika kondisi dalam modul A dipenuhi. Modul A akan memanggil modul C secara berulang.
Potongan kode program dalam bahasa Pascal
A
B
Procedure C; Begin ... End ; Procedure B; Begin ... End ; Procedure A; Begin
C
CONTOH STRUCTURE CHART : PHP
http://www.hendra-jatnika.web.id
FormInput.html ...