http://www.hendra-jatnika.web.id
REKAYASA PERANGKAT LUNAK t e N
a r d
By
n e H
Page 1 / 224
http://www.hendra-jatnika.web.id
PERKENALAN DOSEN- MAHASISWA Nama Tempat Tinggal Pendidikan
: Hendra Jatnika : Garut – Bandung : 1. D3 Informatika MIPA UNPAD Bandung 2. S1 STMIK-IM Bandung 3. S2 STMIK-LIKMI Bandung
Kegiatan : Dosen
t e N Politeknik Piksi Ganesha a r LP3i Bandung d n e A2K-Proklamasi H UNIBI By
1. 2. 3. 4.
: Konsultan IT/Si Hp ( Mhs ) Profile Email
: 022-97733557 : hendra-jatnika.web.id :
[email protected] (Konsultasi )
FB/Google
:
[email protected] ( tugas ) : hendra jatnika Page 2 / 224
http://www.hendra-jatnika.web.id
PERANGKAT LUNAK Perangkat
Lunak (Software) tidak sama dengan program komputer. Perangkat lunak tidak hanya mencakup program, tetapi juga t semua dokumentasi dan konfigurasi data yang e N a r berhubungan, yang diperlukan untuk d n He beroperasi dengan membuat agar program y B benar. Sistem Perangkat Lunak terdiri dari : Sejumlah program yg terpisah File-file konfigurasi Dokumentasi sistem Dokumentasi User Page 3 / 224
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) t Sistem yg dipesan e N oleh pelanggan tertentu. Dikembangkan khusus bagi a r d pelanggan oleh kontraktornperangkat lunak. Contoh : e H proses bisnis tertentu dan Sistem untuk mendukung By sistem kontrol lalu lintas udara.
Page 4 / 224
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.
t e N
a r d
By
n e H
Page 5 / 224
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 istilaht kunci disini :
e
N membuat suatu alat “disiplin rekayasa” Perekayasa a rmetode, dan alat bantu yang d bekerja. Menerapkan teori, n e H menggunakannya dengan sesuai, selain itu mereka Bymencoba mencari solusi terhadap selektif dan selalu 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 pengembangan alat bantu, metode, dan teori untuk mendukung produksi PL. Page 6 / 224
PERBEDAAN ANTARA RPL DENGAN COMPUTER SCIENCE ?
http://www.hendra-jatnika.web.id
Intinya, computer science berhubungan dengan teori dan metode yang mendasari sistem komputer dan perangkat lunak, sedangkan RPL berhubungan dengan praktek dalam memproduksi et perangkat lunak.
N a r
d n e
By
H
Page 7 / 224
PERBEDAAN RPL DENGAN REKAYASA SISTEM ? Rekayasa
http://www.hendra-jatnika.web.id
sistem berkaitan dengan semua aspek dalam pembangunan sistem berbasis komputer termasuk thardware, e adalah N rekayasa PL dan proses.rRPL a d n bagian dari rekayasa sistem yang He By meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada sistem.
Page 8 / 224
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 t PL :
1.
2. 3.
4.
e
N Fungsionalitas Spesifikikasi Perangkat Lunak a r kemampuan operasinya d perangkat lunak danebatasan n H harus didefinisikan. y B 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. Evolusi Perangkat Lunak Perangkat lunak harus berkembang untuk memenuhi kebutuhan pelanggan. Page 9 / 224
http://www.hendra-jatnika.web.id
MODEL PROSES PERANGKAT LUNAK Merupakan deskripsi yang disederhanakan dari proses perangkat lunak di presentasikan dengan sudut pandang tertentu. t e Bisa mencakup kegiatan yang merupakan bagian N a r dari proses perangkat lunak, produk perangkat d n lunak, dan peran orangHe yang terlibat pada y B rekayasa perangkat lunak (Perekayasa PL).
Page 10 / 224
http://www.hendra-jatnika.web.id
CONTOH JENIS MODEL PROSES PL 1.
2.
3.
Model aliran kerja (workflow) menunjukkan kegiatan pada proses bersama dengan input, output, dan ketergantungannya. Merepresentasikan pekerjaan manusia. t e N Model aliran data (data flow) a r d n merepresentasikan proses sebagai suatu set e H y kegiatan yang Bmelakukan transformasi data. Menunjukkan bagaimana input ke proses, misalnya spesifikasi ditransformasi menjadi output, misalnya menjadi desain. Model peran/aksi merepresentasikan peran orang yang terlibat pada PL dan kegiatan yg 11 / 224 menjadi tanggung Page jawab mereka.
MODEL ATAU PARADIGMA UMUM PADA PROSES PL
http://www.hendra-jatnika.web.id
1.
2.
Model air terjun (waterfall) Mengambil kegiatan dasar seperti spesifikasi, pengembangan, validasi, dan evolusi dan merepresentasikannya sebagai fase-fase tspesifikasi proses yang berbeda seperti e N perangkat lunak, a persyaratan, perancangan r d n e implementasi, pengujian dan seterusnya. H Byevolusioner Pendekatan Pengembangan ini berhimpitan dengan kegiatan spesifikasi, pengembangan, dan validasi. Sistem awal dikembangkan dengan cepat dari spesifikasi abstrak. Sistem ini kemudian di perbaiki dengan masukan dari pelanggan untuk menghasilkan sistem yang memuaskan kebutuhan pelanggan. Page 12 / 224
http://www.hendra-jatnika.web.id
3.
4.
Pengembangan Sistem Formal Pendekatan ini menghasilkan suatu sistem matematis yang formal dan mentransformasikan spesifikasi ini, dengan menggunakan metode matematik menjadi sebuah program. Pengembangan berdasarkan pemakaian ulang t (Reusable) Teknik ini menganggap bahwa bagiane N a bagian sistem sudah ada.dr Proses pengembangan en sistem terfokus padaHpengintegrasian bagian-bagian Bypengembangannya dari awal. sistem dan bukan
Page 13 / 224
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. et
N a r
d n e
By
H
Page 14 / 224
http://www.hendra-jatnika.web.id
REKAYASA PERANGKAT LUNAK t e N
a r d
n e H
By PERANCANGAN ARSITEKTUR PERANGKAT LUNAK
Page 15 / 224
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 t component-component interconnections. The e N a r interconnections define provide by which d n He components interact. y
B
• How the system is decomposed and organized into components and must describe the interfaces between these components.
Page 16 / 224
2
ARSITEKTUR PERANGKAT LUNAK ( 2 )
http://www.hendra-jatnika.web.id
• Gambaran bagaimana elemen/komponen fungsional perangkat lunak disusun, diorganisasi dan distrukturkan sehingga:
t dapat Hubungan antar elemen/komponen e N a r dijelaskan. d n e H Interface yang menghubungkan elemen/komponen y B dapat didefinisikan. Wujud dan penempatan elemen/komponen dalam tempat penyimpanan sekunder secara fisik dapat ditetapkan. Page 17 / 224
3
CONTOH ARSITEKTUR PERANGKAT LUNAK ( 1 )
http://www.hendra-jatnika.web.id
Model Analisis (DFD level atomik) id_mhs
Petugas
info_mhs
1.2.3 Cari Info Mahasiswa
By
mahasiswa
t e N
a r d
n e H
Arsitektur Perangkat Lunak (Fisik) call Script dan Procedure Cari(NIM)
Search NIM : NIM
query/select
Cari Nama
Tabel Mahasiswa
Kelas
hasil query display Page 18 / 224
4
CONTOH ARSITEKTUR PERANGKAT LUNAK ( 2 )
http://www.hendra-jatnika.web.id
Model Analisis (DFD level atomik) 1 Tambah Data Barang
Bag ian Penjualan
id_barang
Modul Pemanggil
rec _barang id_s upplier Barang
rec _supplier
rec _supplier Supplier
2 Tambah Data Supplier
By
Arsitektur Perangkat Lunak (Structure Chart)
t e N
a r d
n e H
Kelola Data Induk
Proses 2.0
Proses 1.0
Tambah Data Barang id_barang
Tambah Data Supplier rec_barang
id_supplier
rec_supplier
supplier
Modul-modul atomik (procedure, function)
Baca Id_Barang
Rekam Barang
Baca Id_Supplier
Rekam Supplier
Page 19 / 224
5
STRUCTURE CHART
http://www.hendra-jatnika.web.id
• Diagram untuk menggambarkan arsitektur perangkat lunak secara keseluruhan tanpa memperlihatkan proses pemilihan t e N dan pengulangannya secara rinci. a r d n e
H • Menggambarkan arsitektur perangkat By lunak seperti diagram organisasi sebuah perusahaan.
Page 20 / 224
6
SIMBOL STRUCTURE CHART
http://www.hendra-jatnika.web.id
Simbol
Arti • Modul
t e N
a • Pemanggilanrmodul d n e
Hatau elemen kontrol yang dikirimkan • Data y Batau diterima dari satu modul • Pengulangan di dalam modul
• Penyeleksian kondisi di dalam modul
Page 21 / 224
7
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
notasi untuk parameter output yang diberikan pada modul pemanggil
t e N
B
modul yang dipanggil
a r d
By
• 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.
n e H
Procedure A; Var p, q : Real; Procedure B(x, y : Real); Begin p := ... { manipulasi nilai p } q := ... { manipulasi nilai q } End; Begin B(x, y); { call procedure B } End;
Potongan kode program dalam bahasa Pascal
Page 22 / 224
8
CONTOH STRUCTURE CHART : PASCAL ( 2 )
http://www.hendra-jatnika.web.id
• Modul A akan memanggil modul B jika kondisi dalam modul A dipenuhi.
A
• Modul A akan memanggil modul C secara berulang.
B
C
t e N
a r d
By Potongan kode program dalam bahasa Pascal
Procedure C; Begin ... End; Procedure B; Begin ... End; Procedure A; Begin If True Then B; {call procedure B} While True Do C; {call procedure C} End;
n e H
Page 23 / 224
9
CONTOH STRUCTURE CHART : PHP
http://www.hendra-jatnika.web.id
FormInput.html ...