suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, desaign,pengkodean,pengujian sampai pemeliharaan sistem setelah digunakan.
konsep REKAYASA PERNAKT LUNAK tahapan yaitu
1. ANALISIS
2. DESAIGN
3. IMPLEMENTASI
4. PENGUJIAN
5. DUKUNGAN
1. ANALISIS
TUJUAN :
Menganalisis situasi untuk menentukan spesifikasi dan struktur penggunaan dan menyeleksi fitur sistem yang lain
2. DESAIGN
Aktifitas Desain dalam RPL
- Desain Data (Desain Data)
- Desain Arsitektur (Desain Arsitektur)
- Desain Antar Muka (Desain Antar Muka)
- Desain Prosedural (Desain Prosedural)
§ Data Desain
Desain data adalah aktivitas pertama dan terpentig dari empat aktivitas yang dilakukan selama rekayasa perangkat lunak. Proses pemilihan struktur dalam menentukan desain yang paling efisien sesuai kebutuhan.
Tujuan: Untuk mendapatkan struktur data yang baik, program yang lebih modular dan mengurangi pengembangan perangkat lunak .
Prinsip Mendesain Data
• Kinerja sistematika yang diaplikasikan pada fungsi dan perilaku harusnya juga diaplikasikan pada data.
• Semua struktur data dan operasi yang akan dilakukan pada masing-masing-struktur data harus didentifikasi.
• Data grafik harus dibangun dan digunakan untuk mengatur data dan desain program.
• Keputusan desain data tingkat rendah harus ditunda hingga akhir proses desain.
• Representasi struktur data hanya boleh diakses oleh modul-modul yang menggunakan secara langsung data yang diisikan dalam struktur tersebut.
• Struktur data pustaka dan operasi yang berguna yang dapat diaplikasikan pada data struktur tersebut harus dikembangkan.
• Desain perangkat lunak dan bahasa pemrograman untuk menghubungkan dan mengolah data dari tipe data.
§ Desain Arsitektur
Desain arsitektur adalah untuk mengembangkan struktur program modular dan merepresentasikan hubungan antar modul. Metode desain yang digunakan pada desain awal untuk mencemaskan masalah perpipaan.
Faktor pelengkap yang sangat strategis untuk desain desain adalah aplikasi apliksi dimana aplikasi dapat diaplikasikan. Desain berorientasi pada data aliran dapat mempengaruhi rentang aplikasi yang luas.
§ Proses Desain Arsitektur
Desain yang berorientasi pada aliran data adalah metode yang digunakan untuk mendesain desain.
Transisi dari aliran informasi (kategorikal aliran data) kestruktur dilakukan bagian dari proses 5 langkah:
1. Informasi bertipe aliran.
2. Batas aliran yang diindikasikan.
3. DFD dipetakan dalam struktur program.
4. Hirarki kontrol terbatas dengan pemfaktoran.
5. Struktur resultan disaring atau diperhalus dengan menggunakan pengukuran desain dan heuristik.
§ Pasca Pemundang Desain
Aplikasi dari pemetaan dan transformasi yang diperlukan sebagai bagian dari desain arsitektur. Setelah struktur dikembangkan dan disaring, tugas - tugas berikut harus dilakukan:
1. Mengembangkan narasi pemerosesan untuk masing - masing modul.
2. Menyimpan antarmuka deskripsi untuk masing - masing modul.
3. Menentukan struktur data lokal dan global.
4. Mencatat semua keterbatasan desain.
5. Mengkaji desain.
6. Mempertimbangkan "optimasi" (bila perlu dan dibaransi).
§ Optimasi Desain Arsitektur
Perkotaan perangkat lunak harus memperhatikan gerak representasi perangkat lunak yang akan memenuhi semua fungsi dan persyaratan kinerja.
Usul-usul to use this in the device is a problem - critical inoptim desain arsitektur:
1. Kembangkan dan saringlah struktur program tanpa memperhatikan kinerja optimasi - kritis.
2. Gunakan peranti CASE yang mensimulasi kinerja run-time untuk menisolasi area inesifiensi.
3. selama iterasi desain selanjutnya, pilihlah modul yang dicurigai dan dengan hati - hati kembangkanlah prosedur (algoritma - algoritma) untuk memperkaya waktu.
4. Kodekan bahasa pemerograman yang sesuai.
5. Instrumentasikan perangkat lunak untuk mengisolasi modul yang menjelaskan pemanfaatan proses yang berat.
6. Bila perlu, Desain ulang atau kodekan Kembali bahasa yang tergantung pada mesin untuk meningkatkan efisiensi.
§ Desain Antarmuka
Memutakhirkan program struktur untuk perekayasa perangkat lunak. Fokus Desain Antarmuka:
1. Antarmuka desain antar modul
2. Desain antarmuka antara perangkat lunak dan entitas eksternal (produser & konsumen)
3. Desain antarmuka manusia dengan komputer
§ Desain Antarmuka Manusia-Mesin
Ada empat model yang berbeda pada saat manusia-komputer / antarmuka manusia-komputer (HCL) yang akan didesain. Perangkat lunak yang digunakan adalah model desain, perekayasa perangkat lunak, model pemakai, pemakai dan pengukuran citra yang sering disebut model pengguna atau persepsi, dan implementator sistem menciptakan citra sistem.
Model desain dari keseluruhan data, arsitektur, antarmuka, dan representasi perangkat lunak.
Model pemakai unik profil para pemakai akhir dari sistem. Untuk membangun antarmuka pemakai yang efektif, semua desain harus dimulai dengan pemahaman terhadap pemakai yang muntah, termasuk profil, waktu, jenis kelamin.
Para pemakai juga dapat dikategorikan sebagai:
- Orang baru
- Pemakai intermiten yang banyak pengetahuan
- Pemakai yang banyak pengetahuan dan sering
Persepsi sistem (model pemakai) merupakan sistem citra yang ada dikepala seorang pemakai akhir. Sebgai contoh, bila pemakai kata kata tersebut, persepsi sistem akan menuntun bertanggung jawab tersebut.
Citra sistem merangkai manifestasi bagian luar dari sistem berbasis komputer (tampilan luar dan “rasa” interface), dengan semua informasi yang mendukung (buku-buku, manual, pita video) yang menyerupai sintaksis dan semantik sistem.
§ Desain Prosedural
Tujuan: untuk menyusun detail algoritma yang akan dikeluarkan dalam bahasa tertentu.
Desain prosedural dilakukan setelah diselesaikannya perancangan desain data, arsitektur, dan antar muka perangkat lunak.
§ Pengkodean
Bahasa Desain Program (PDL)
à adalah pseudocode atau bahasa-bahasa yang sintaksnya dari bahasa tertentu (pemrograman terstruktur).
3. IMPLEMENTASI
Pengertian
Tahap implementasi pengembangan perangkat lunak adalah: Suatu proses pengubahan spesifikasi sistem menjadi sistem yang dapat dijalankan. Pada kegiatan-kegiatan proses perancangan yang spesifik terdapat lima bagian diantaranya:
Perancangan arsitektural merupakan subsistem-subsistem yang membentuk sistem dan hubungan mereka diindentifikasikan dan didokumentasikan.
Spesifikasi abstrak untuk setiap subsistem, spesifikasi abstrak dari layanan dan batas operasinya harus ditentukan.
Perancangan interface untuk setiap subsistem, interface dengan subsistem dirancang dan didokumentasikan. Spesifikasi interface harus sudah jelas karena memungkinkan subsistem dipakai tanpa mengetahui operasi sistem.
Perancangan komponen layanan dialokasikan pada komponen yang berbeda dan interface komponen-komponen dirancang.
Perancangan struktur data struktur data yang dipakai pada implementasi sistem dirancang secara rinci dan dispesifikasi.

gambar tahapan implementasi pada Siklus Hidup Pengembangan Sistem
Makna & Tujuan Implementasi
- Merupakan tahap besar di akhir produksi PL
- Tahap ini merupakan proses pembuatan kode program berdasarkan platform dan kesepakatan dengan customer.
- Merupakan tahap transformasi dari hasil desain ke dalam program yang dpt dijalankan pada komputer yang akan digunakan di dalam sistem.
- Baik buruknya implementasi sangat tergantung pada baik buruknya hasil final dari tahap desain.
- Melibatkan pengintegrasian semua komponen rancangan sistem termasuk PL, konversi ke sistem operasi.
Proses Implementasi
Proses implementasi melibatkan:
1. Perencanaan
2. Pengeksekusian
Proses implementasi melibatkan:
1. Perencanaan
2. Pengeksekusian
Rencana Implementasi
Merupakan formulasi rinci dan representasi grafik mengenai cara pencapaian implementasian sistem yang akan dilaksanakan
Tim implementasi yg terlibat:
•Manajer dan beberapa staff
•Profesional sistem yang merancang sistem
•Perwakilan Vendor
•Pemakai Primer
•Pengcode/programmer
•Teknisi
Merupakan formulasi rinci dan representasi grafik mengenai cara pencapaian implementasian sistem yang akan dilaksanakan
Tim implementasi yg terlibat:
•Manajer dan beberapa staff
•Profesional sistem yang merancang sistem
•Perwakilan Vendor
•Pemakai Primer
•Pengcode/programmer
•Teknisi

gambar rancangan Implementasi
Hal Penting Dalam Implementasi
1. Persiapan Tempat
Hal Penting Dalam Implementasi
1. Persiapan Tempat
Persiapan tempat Yang perlu dipersiapkan : Ruang (sesuai dengan platform teknologi yang akan digunakan – Micro, mini atau mainframe) Listrik, Telpon, koneksi lainnya, ventilasi, AC, Keset anti debu, karpet, rak, penyangga barang, meja, penyimpan disk/pita, lemari kabinet, tempat personil, lokasi printer, dudukan printer dan furniture yang dirancang secara ergonomis Pengujian Burn in (simulasi operasi pada vendor).
2.Pelatihan Personil
2.Pelatihan Personil
Pelatihan Personil “Tidak ada sistem yang bekerja secara memuaskan jika para pemakai dan orang lain yang berinteraksi dengan sistem tersebut tidak dilatih secara benar” “Pelatihan Personil tidak hanya meningkatkan keahlian/ketrampilan pemakai, namun juga memudahkan penerimaan mereka terhadap sistem baru”.
Pelatihan Personil Yang perlu diberi pelatihan : Personel teknis yang akan mengoperasikan dan memelihara sistem tsb. Berbagai pekerja dan supervisor yang akan berinteraksi langsung dengan sistem untuk mengerjakan tugas dan membuat keputusan Manajer Umum (Pihak luar yang berinteraksi dengan sistem) Pelatihan meningkatkan kepercayaan diri, meminimi- sasi kerusakan, kesalahan pada tahap awal operasi.
3.Cakupan Pelatihan
3.Cakupan Pelatihan
Tutorial, mengajarkan cara menjalankan sampai pelatihan untuk mengajarkan pokok-pokok sistem baru.
4.Program Pelatihan
4.Program Pelatihan
Pelatihan In house Pelatihan yang disediakan oleh vendor Jasa pelatihan luar
5.Teknik dan Alat Bantu Pelatihan
5.Teknik dan Alat Bantu Pelatihan
Teleconferencing Perangkat lunak pelatihan interaktif Pelatihan dengan instruktur Pelatihan magang Manual prosedur Buku teks.
6.Software untuk pelatihan interaktif
6.Software untuk pelatihan interaktif
CBT (Computer-Based Training) ABT (Audio-Based Training) VBT (Video-Based Training) VOD (Video-Optical Disk).
7.Persiapan / pembuatan dokumen
7.Persiapan / pembuatan dokumen
Menyiapkan Dokumen Dokumentasi adalah materi tertulis/video/audio yang menjabarkan cara beroperasinya sebuah sistem (termasuk pokok- bahasan-pokok bahasan yang harus dikuasai oleh pemakai) Tujuan Dokumentasi : Pelatihan Penginstruksian Pengkomunikasian Penetapan standart kinerja Pemeliharaan sistem Referensi historis
8.Konversi File & Sistem
8.Konversi File & Sistem
Dokumentasi
Tujuan dokumentasi:
1.Pelatihan
2.Penginstruksian
3.Pengkomunikasian
4.Penetapan standar kinerja
5.Pemeliharaan sistem
6.Referensi historis
Empat area utama dokumentasi:
1.Dokumen pemakai
2.Dokumen Sistem
3.Dokumen Perangkat lunak
4.Dokumen operasi
Tujuan dokumentasi:
1.Pelatihan
2.Penginstruksian
3.Pengkomunikasian
4.Penetapan standar kinerja
5.Pemeliharaan sistem
6.Referensi historis
Empat area utama dokumentasi:
1.Dokumen pemakai
2.Dokumen Sistem
3.Dokumen Perangkat lunak
4.Dokumen operasi
Konversi
1.Konversi Langsung
Sistem yang lama langsung digantikan dengan sistem yang baru
2.Konversi Paralel
Sistem lama masih dijalankan sambil menjalankan sistem baru.
3.Konversi Phase-in
Sistem lama digantikan secara berangsur angsur sedikit demi sedikit.
4.Konversi Pilot
Dilakukan secara segmentasi bagian per bagian
1.Konversi Langsung
Sistem yang lama langsung digantikan dengan sistem yang baru
2.Konversi Paralel
Sistem lama masih dijalankan sambil menjalankan sistem baru.
3.Konversi Phase-in
Sistem lama digantikan secara berangsur angsur sedikit demi sedikit.
4.Konversi Pilot
Dilakukan secara segmentasi bagian per bagian
Metode Konversi Langsung
Konversi ini baik dilakukan jika :
Sistem baru tidak menggantikan sistem lama
Sistem lama sepenuhnya tidak bernilai
Sistem baru bersifat kecil/sederhana
Rancangan sistem baru sangat berbeda dari sistem lama
Konversi ini baik dilakukan jika :
Sistem baru tidak menggantikan sistem lama
Sistem lama sepenuhnya tidak bernilai
Sistem baru bersifat kecil/sederhana
Rancangan sistem baru sangat berbeda dari sistem lama

Metode Konversi Pararel
Memberikan derajat proteksi yang tinggi dari kegagalan sistem baru
Biaya yang dibutuhkan cukup besar karena keduanya harus jalan bersama-sama
Memberikan derajat proteksi yang tinggi dari kegagalan sistem baru
Biaya yang dibutuhkan cukup besar karena keduanya harus jalan bersama-sama

Metode Konversi Phase-in
Sistem baru di implementasikan sedikit demi sedikit untuk menggantikan sistem lama
Sistem harus disegmentasi
Perlu biaya tambahan utk membangun interface temporer dg sistem lama
Proses implementasi membutuhkan waktu yang panjang
Sistem baru di implementasikan sedikit demi sedikit untuk menggantikan sistem lama
Sistem harus disegmentasi
Perlu biaya tambahan utk membangun interface temporer dg sistem lama
Proses implementasi membutuhkan waktu yang panjang

Metode Konversi Pilot
Perlunya segmentasi organisasi
Resiko lebih rendah dibandingkan metode konversi langsung
Biaya lebih rendah dibanding metode paralel
Cocok digunakan apabila adanya perubahan prosedur, HardWare, dan SoftWare
Perlunya segmentasi organisasi
Resiko lebih rendah dibandingkan metode konversi langsung
Biaya lebih rendah dibanding metode paralel
Cocok digunakan apabila adanya perubahan prosedur, HardWare, dan SoftWare

Konversi File Data
Keberhasilan konversi sistem sangat tergantung pada seberapa jauh profesional sistem menyiapkan konversi file data yang diperlukan di dalam sistem baru.
Konversi/Modifikasi Meliputi:
Format file
Isi file
Media penyimpanan
Keberhasilan konversi sistem sangat tergantung pada seberapa jauh profesional sistem menyiapkan konversi file data yang diperlukan di dalam sistem baru.
Konversi/Modifikasi Meliputi:
Format file
Isi file
Media penyimpanan
Metode Dasar Konversi
Metode Dasar Konversi:
1.Konversi File Total
Dpt digunakan pada ke-4 metode konversi sistem
2.Konversi File Gradual
Lebih banyak digunakan utk metode paralel dan phase-in
Selama konversi file perlu diperhatikan prosedur kendali untuk memastikan integrasi data
Prosedur kendali utk masing2 file berbeda
Suatu transaksi diterima dan dimasukkan ke dalam sistem
Program mencari file master baru untuk record yang akan diupdate oleh transaksi tsb.jika record tsb ada maka pengupdatean record selesai.
Metode Dasar Konversi:
1.Konversi File Total
Dpt digunakan pada ke-4 metode konversi sistem
2.Konversi File Gradual
Lebih banyak digunakan utk metode paralel dan phase-in
Selama konversi file perlu diperhatikan prosedur kendali untuk memastikan integrasi data
Prosedur kendali utk masing2 file berbeda
Suatu transaksi diterima dan dimasukkan ke dalam sistem
Program mencari file master baru untuk record yang akan diupdate oleh transaksi tsb.jika record tsb ada maka pengupdatean record selesai.
Klasifikasi File
Klasifikasi file:
File Master
File Transaksi
File Index
File Tabel
File Backup
Klasifikasi file:
File Master
File Transaksi
File Index
File Tabel
File Backup
Tahapan Implementasi
Struktur dekomposisi, struktur data, dan identitas dipilih dan di kerjakan sampai prosedur desain mudah untuk ditata ulang dalam sebuah implementasi
Level abstraksi pada desain, misal class, modul, algoritma, struktur data, dan tipe data harus diwujudkan dalam implementasi
Antarmuka antara komponen sistem perangkat lunak harus diwujudkan secara jelas pada tahap implementasi
Kode program tersebut harus dapat di cek konsistensinya pada setiap objek dan operasinya secara langsung menggunakan kompilator.
Struktur dekomposisi, struktur data, dan identitas dipilih dan di kerjakan sampai prosedur desain mudah untuk ditata ulang dalam sebuah implementasi
Level abstraksi pada desain, misal class, modul, algoritma, struktur data, dan tipe data harus diwujudkan dalam implementasi
Antarmuka antara komponen sistem perangkat lunak harus diwujudkan secara jelas pada tahap implementasi
Kode program tersebut harus dapat di cek konsistensinya pada setiap objek dan operasinya secara langsung menggunakan kompilator.
Kriteria Lingkungan Pemrograman
1.Modularity (Modularitas)
2.Dokumentasi Nilai Pada Bahasa Pemrograman
3.Struktur Data Dalam Bahasa Pemrograman
4.Struktur Aliran Pengendali
5.Efisiensi
5.Efisiensi
6.Integritas
7.Portability ( multiplatform )
8. Dukungan Dialog
8. Dukungan Dialog
9. Quality
10.Ketersediaan pustaka ( Library )
11.Ketersediaan Tool Pembangunan
12.Kebijakan Instansi
13.Kebutuhan Eksternal
Programming Style
Menulis sebuah program adalah seni dan merupakan proses yang kreatif
Gaya pemrograman pada programmer mempengaruhi tingkat kemudahan pembacaan program yang dibuatnya
Buku Code Complete
Mengulas tuntas suatu gaya pemrograman bahkan di dalamnya diberkan contoh variasi yang cukup banyak.
Gaya pemrograman yang baik sangat didukung dari tahap desain dan perencanaan implementasi yang baik
Menulis sebuah program adalah seni dan merupakan proses yang kreatif
Gaya pemrograman pada programmer mempengaruhi tingkat kemudahan pembacaan program yang dibuatnya
Buku Code Complete
Mengulas tuntas suatu gaya pemrograman bahkan di dalamnya diberkan contoh variasi yang cukup banyak.
Gaya pemrograman yang baik sangat didukung dari tahap desain dan perencanaan implementasi yang baik
