Minggu, 23 Juli 2017

Profil Pembuat

Nama:Andi.Kurniawan

TTL:Bandung,05 september 2002

Asal Sekolah:SMK BPI (Badan Perguruan Indonesia)

Tema Pembahasan:Pengertian RPL (Rekayasa Perangkat Lunak)


Pengertian Rekayasa Perangkat Lunak

Istilah Rekayasa Perangkat Lunak atau Software Engineering mulai dipopulerkan pada tahun 1968 saat Konferensi Rekayasa Perangkat Lunak yang diselenggarakan oleh NATO. Sebagian orang mengartikan Rekayasa Perangkat Lunak hanya sebatas pada bagaimana cara membuat suatu program komputer. Padahal terdapat sebuah perbedaan yang mendasar antara program komputer dan perangkat lunak (software).

Menurut (O’Brien, 1999) Program merupakan kumpulan perintah yang dimengerti oleh komputer sedangkan Perangkat lunak (Software) merupakan seluruh perintah yang digunakan untuk memproses suatu informasi. Perangkat lunak bisa berupa prosedur atau program.

Sedangkan Pengertian dari Rekayasa Perangkat Lunak, biasanya merujuk pada pengertian Rekayasa Perangkat Lunak menurut Wikipedia dan IEEE Computer Society, berikut pengertiannya:
Pengertian Rekayasa Perangkat Lunak
Pengertian Rekayasa Perangkat Lunak

Pengertian Rekayasa Perangkat Lunak menurut Wikipedia
Rekayasa perangkat lunak / Software Engineering (SE) adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, manajemen organisasi pengembanganan nak, pemeliharaan serta manajemen kualitas.

Pengertian Rekayasa Perangkat Lunak menurut IEEE Computer Society
Rekayasa perangkat lunak adalah penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi terhadap pengembangan, penggunaan, pemeliharaan perangkat lunak, dan studi atas pendekatan-pendekatan tersebut, yaitu penerapan pendekatan engineering terhadap perangkat lunak.

Jadi Rekayasa perangkat lunak merupakan pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip-prinsip rekayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efektif dan efisien untuk pengguna nya.

Menurut Rosa A.S. dan M. Shalahuddin, dalam bukunya berjudul Rekayasa Perangkat Lunak (hlm 5 ISBN 978-602-8759-13-7), terddapat 5 Prinsip atau kriteria yang sering digunakan sebagai acuan dalam Rekayasa perangkat lunak:
  • Dapat mengikuti keinginan pengguna (robust)
  • Dapat terus dirawat dan dipelihara (maintainability)
  • Dapat memenuhi kebutuhan yang diinginkan (usability)
  • Efisien dan efektif dalam menggunakan energi dan penggunaannya
  • Dapat mengikuti perkembangan teknologi (dependability)

Tujuan Rekayasa Perangkat Lunak

Secara umum tujuan Rekayasa Perangkat Lunak tidak berbeda dengan bidang rekayasa yang lain. Bidang rekayasa akan selalu berusaha menghasilkan output yang kinerjanya tinggi waktu penyelesaian yang tepat dan Berbiaya rendah. Secara lebih khusus kita dapat menyatakan tujuan RPL adalah sebagai berikut:
  • Menghasilkan perangkat lunak yang kinerjanya tinggi, andal serta tepat waktu.
  • Memperoleh biaya produksi perangkat lunak yang rendah.
  • Menghasilkan perangkat lunak yang biaya perawatan rendah.
  • Menghasilkan perangkat lunak yang bisa bekerja di berbagai jenis platform.

Ruang Lingkup Rekayasa Perangkat Lunak

Rekayasa Perangkat sendiri mempunyai ruang lingkup kerjanya Sebagai berikut:
Pengertian, Tujuan dan Ruang Lingkup Rekayasa Perangkat Lunak
Ruang Lingkup Rekayasa Perangkat Lunak

Software Requirements
berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak. 

Software Design
meliputi proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak

Software Construction
berhubungan dengan detil pengembangan perangkat lunak, termasuk algoritma, pengkodean, pencarian kesalahan dan pengujian.

Software Testing
meliputi pengujian pada kinerja perangkat lunak secara keseluruhan

Software Maintenance
mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan. 

Software Configuration Management
berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu.

Software Engineering Management
berkaitan dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak.

Software Engineering Tools and Methods
mencakup kajian teoritis tentang alat bantu dan metode RPL. 

Software Quality
menitikberatkan pada kualitas dan daur hidup perangkat lunak.

Software Engineering Process
berhubungan dengan implementasi, definisi, pengukuran, pengelolaan, perubahan dan perbaikan proses Rekayasa Perangkat Lunak.

Contoh materi dalam RPL

Prosedur algoritma.Coding.Testing (Uji coba).Pemeliharaan.
2.      Alat Bantu
Digunakan untuk mendukung pelaksanaaan pengembangan atau pembuatan perangkat lunak, berupa alat bantu manual dan alat bantu otomatis.
3.       Prosedur
Mendefinisikan urutan pengerjaan dari metoda dan alat yang digunakan dalam pemecahan atau pembuatan perangkat lunak.
5. SIKLUS KERJA SISTIM ENGINEERING
Berikut ini adalah tahapan dalam siklus kerja sistem engineering:
1. Sistem Enginering adalah Bagian terbesar dari pekerjaan proyek dengan menetapkan segala hal yang di butuhkan dalam pelaksanaan proyek.
2. Analisi adalah Tahap dimana sistim engineering menganalisis hal-hal yang di perlukan dalam pelaksanaan proyek.
3.Desain Tahap menterjemahkan data yang telah di analisis ke dalam bentuk yang di mengerti user.
4.Kode Tahap menterjemahkan data yang telah di rancang ke dalam bahasa program.
5.Testing Tahap uji coba terhadap program.
6.Pemeliharaan Tahap bila terjadi perubahan terhadap perangkat lunak akibat permintaan user
 
6. PROTOTIPE
Prototipe adalah proses pembuatan model dari perangkat lunak yang akan dibuat sehingga user dapat mengetahui hasil yang akan dibuat.
Tujuannya untuk mendefinisikan perangkat lunak yang akan dihasilkan tanpa menyertakan rincian pemasukan data, proses dan keluaran yang diperlukan:
ANALISIS
DESIGN
BUAT PROTOTIPE
EVALUASI & PERBAIKAN
HASIL
 
7. FASE PENGEMBANGAN PERANGKAT LUNAK
Fase pengembangan perangkat lunak terdiri dari :
1.      FASE DEFINISI
Fase Definisi, mendefinisikan informasi yang akan diproses, fungsi dan performansi yang diinginkan, menetapkan interface, merancang kendala dan batasan serta kriteria validasi yang diperlukan untuk menunjang keberhasilan sistim.
2.      FASE PENGEMBANGAN
Fase Pengembangan, menjabarkan struktur data dan arsitektur perangkat lunak, prosedur rinci untuk penerapan, proses penerjemahan ke dalam bahasa pemrograman dan uji coba yang dilakukan
3.      FASE PEMELIHARAAN
Fase Pemeliharaan, jika terjadi perubahan terhadap pembetulan, perbaikan terhadap lingkungan dan penambahan karena permintaan user.
8. PERTIMBANGAN SOFTWARE ENGINEERING
Sebagai seorang software engineering dalam merencanakan suatu pembuatan perangkat lunak atau pengembangan perangkat lunak ada beberapa hal yang harus di pertimbangkan, dimana pertimbangan tersebut meliputi :
 
1. PERTIMBANGAN PERANGKAT KERAS
Pada Pertimbangan Perangkat Keras yang harus diperhatikan adalah :
1.      Elemen Perangkat Keras
a)      Pemeliharaan elemen perangkat keras berdasarkan pada karakteristik :
b)      Komputer dipaketkan pada suatu blok yang bisa dikembangkan.
c)      Interface antar komponen standard.
d)      Tersedia beberapa alternatif.
e)      Unjuk kerja, biaya dan ketersediaannya relatif mudah ditentukan.
2.      Harga dan Kemampuannya
Penyesuian antara elemen yang akan digunakan dapat dipertimbangkan sesuai dengan kebutuhan dan kemampuannya.
3.      Rekayasa Perangkat Keras
Untuk komputer digital yang dikembangkan dari perancangan elektronik, proses perancangannya terdiri dari tiga faseantara lain :
Ø Perencanaan dan Spesifikasi.
Ø Perencanaan dan Implementasi Prototype.
Ø Distribusi Manufaktur dan pelayanan.
 
2. PERTIMBANGAN PERANGKAT LUNAK
Disusun dari 2 tipe yaitu aplikasi perangkat lunak dan sistim perangkat lunak.
3. PERTIMBANGAN MANUSIA
Menjabarkan jumlah tenaga kerja yang diperlukan dalam pelaksanaan pengembangan perangkat lunak serta tingkat keahlian yang diperlukan
9. TAHAP KERJA SISTIM ENGINEERING
Dalam memecahkan suatu permasalahan sistim engineering harus mengikuti tahap kerja yang harus dilakukan, antara lain sebagai berikut :
1. SYSTEM REQUEST
Merupakan permintaan pembuatan sistim baru atau memperbaiki sistim yang telah berjalan pada suatu perusahaan  
2. SYSTEM PLANNING (PERENCANAAN)
Merupakan tahap sistim engineering yang merencanakan alternatif pemecahan masalah yang ada
3. SOFTWARE REQUIREMENT (ANALISA)
Merupakan tahap sistim engineering untuk menganalisa permasalahan yang ada dengan menggunakan metoda yang telah ditentukan
4.      SOFTWARE DESIGN (PERANCANGAN)
Merupakan kegiatan menterjemahkan masalah yang sudah didefinisikan ke dalam bentuk yang dimengerti oleh pembuat program (programmer).
5.      PROGRAMMING LANGUAGE DAN CODING
Proses penterjemahan masalah ke dalam bahasa komputer yang telah ditentukan dan sesuai dengan aplikasi yang sedang dikerjakan.
6.      SOFTWARE TESTING (UJI COBA)
Uji coba terhadap progam yang telah dikerjakan.
7.      SOFTWARE MAINTENANCE (PEMELIHARAAN)
Pemeliharaan terhadap hasil pekerjaan yang telah selesai dikerjakan.
8.       DOKUMENTASI
Kumpulan dari catatan hasil kerja
BAB. II
PERENCANAAN TUJUAN PERANGKAT LUNAK
Topik di Materi ini Meliputi :
1. GAMBARAN UMUM
seorang pemimpin peroyek hendaknya menentukan terlebih dahulu gambaran sebuah peroyek yg akan dibuat agar nantinya tidak akan mengalami kesulitan. ada beberapa hal yg harus di perhatikan oleh pemimpin peroyek antara lain :
batasan dari pekerjaan yg akan di kerjakan
Sumber daya yang diperlukan.
 Tugas yang akan dikerjakan.
 Kendala dan batasan.
Biaya dan jadwal kerja.
2. KATEGORI UKURAN PROYEK
ukuran peroyek merupahan hal penting dalam menentukan sebuah organisasi pemecahan masalah dan tehnik serta alat bantu yang di pergunakan dalam pengerjaan peroyek di tentukan di sini:
Trivial Proyek.
Small Proyek.
Medium Proyek.
Large Proyek.
Very Large Proyek.
Extremely Large Proyek.
3. TUJUAN PERENCANAAN PROYEK
di sini menjelaskan tujuan proyek tersebut apa yg akan kita tuju kedepan yah Tujuan dari Perencanaan Proyek Perangkat Lunak adalah untuk menyediakan kerangka atau landasan yang memungkinkan manajer atau pimpinan proyek dapat membuat perkiraan tentang
sumber daya, biaya dan jadwal.4. SCOPE PERANGKAT LUNAK
Hal–hal yang dikembangkan pada Scope Perangkat Lunak adalah penentuan tujuan yang tidak
ambigiuous dan dapat dimengerti oleh level manajemen dan level teknik.
Semua pernyataan tentang scope perangkat lunak harus dinyatakan seperti :
Data kuantitatif di nyatakan secara eksplisit.
Batasan – batasan scope perangkat lunak.
Ada beberapa hal yang harus diperhatikan dari pengerjaan perangkat lunak antara lain adalah :
1. FUNCTION
Function merupakan fungsi dari perangkat lunak yang akan dibuat atau dikerjakan, harus
dievaluasi kembali sehingga mendapat fungsi dari perangkat lunak secara rinci. disini juga menjelaskan tentang biaya,jadwal dan kegiatan – kegiatan yang akan di kerjakan.
2. PERFORMANCE
Performance meliputi kendala dari pengerjaan perangkat lunak, keterbatasan memori dan
ketergantungan dari mesin-mesin tertentu. media pengerjaan yang mengunakan program dalam pengerjaan ya
3. INTERFACE
INTERFACE
Interface meliputi :
di sini Perangkat keras yang akan dipakai untuk mengerjakan perangkat lunak dan peralatan
sehinga secara tidak langsung mengontrol perangkat lunak,Perangkat lunak yang telah ada digabungkan dengan perangkat lunak yang baru senhinga pengerjaan ya lebih cepat,Pemakai yang akan menggunakan perangkat lunak melalui terminal atau Input/Output,
Prosedur pemakaian perangkat lunak.
4. REALIBILITY
Reliability merupakan keandalan perangkat lunak yang dihasilkan oleh kelompok tadi yg telah di rencanakan
5. PERENCANAAN SUMBER DAYA
Disini Perencanaan tentang perencanaan perangkat lunak adalah memperkirakan sumber daya yang diperlukan untuk menyelesaikan proyek dan dapat digambarkan dalam bentuk piramida.
terlihat dibawah ini :
Spesifikasi :
Requires skill
Availability
Duration
Start date
Spesifikasi:
Deskripsi
Availability
Duration
Delivery time
Tingkat bawah dari piramida diatas terlihat Perangkat Lunak dan Perangkat Keras yang
mempunyai spesifikasi yaitu :
Deskripsi Merupakan penjabaran tentang perangkat keras dan perangkat lunak yang
diperlukan dalam penerapannya.
Availability Keberadaan dari perangkat keras dan perangkat lunak yang diperlukan dalam
pekerjaan perangkat lunak.
Durasi Selang waktu dimana perangkat keras dan perangkat lunak akan dipakai
Secara ringkas Perencanaan Sumber Daya meliputi 3 kriteria yaitu :
1.      PERENCANAAN SUMBER DAYA MANUSIA
Manusia merupakan sumber daya yang paling utama dan sangat vital dalam pengembangan
atau pengerjaan perangkat lunak.
2.      PERENCANAAN SUMBER DAYA PERANGKAT KERAS
Sumber daya perangkat keras dapat dibedakan menjadi tiga kategori antara lain :
a.      Development system, kategori ini merupakan perencanaan perangkat keras yang akan
dipergunakan dalam pengerjaan perangkat lunak.
b.      Target machine,merupakan perangkat keras yang diperlukan dalam penerapannya.
c.       Elemen perangkat keras, merupakan elemen tambahan yang diperlukan dalam pengoperasian perangkat lunak pada saat perangkat lunak dioperasikan oleh pemakai.
3.       PERENCANAAN SUMBER DAYA PERANGKAT LUNAK
Umumnya digunakan prinsip Bootstrapping” yaitu menggunakan perangkat lunak yang
telah ada untuk mengembangkan dan membangun perangkat lunak yang baru.
6. PENGUKURAN KUALITAS PERANGKAT LUNAK
 
produktivitas metrik artinya mengukur pengembangan keluaran perangkat lunak dimana hal ini merupakan hal yang paling penting dari perangkat lunak.
Perangkat lunak metrik adalah teknik pengukuran yang ada dalam pengembangan perangkat lunak. Dalam mengukur produktivitas diperlukan data dari proyek pengembangan perangkat lunak yang telah dikerjakan sebelumnya Adapun tujuan dari pengukuran perangkat lunak adalah :
1. Untuk menyatakan kualitas produk.
2. Untuk menilai kualitas manusia yang terlibat dalam pembuatan produk tersebut.
3. Untuk menilai keuntungan pemakai metode dan alat bantu yang baru.
4. Sebagai dasar untuk melakukan perkiraan.
5. Untuk membantu penyesuaian pemakaian alat bantu yang baru atau pelatihan tambahan
Metoda pengukuran terdiri dari :
Pengukuran Langsung
Yang dimaksud dengan Pengukuran Langsung (direct) adalah pengukuran yang dilakukan dimana langsung terlihat hasilnya.
Yang diukur dalam pengukuran langsung adalah :
o Biaya.
o Pengaruh.
o Line of Code (jumlah baris perintah dalam program).
o Kecepatan.
o Ukuran memori.
o Kesalahan.
Pengukuran tidak Langsung
Dalam Pengukuran Tidak Langsung (indirect), yang diukur adalah :
Fungsi.
Kualitas.
Kekompleksan.
Effisiensi.
Keandalan.
Pemeliharaan.
7. LINE OF CODE ( LOC )
Line Of Code dapat juga disebut Size Oriented Metric (jumlah baris perintah program yang telah ditulis),Size oriented metric digunakan untuk mengukur perangkat lunak dan proses pengembangannya,Rumus untuk menghitung produktivitas dan kualitas dari perangkat lunak yang telah dibuat adalah sebagai berikut :
Produktivitas = KLOC / EFFORT
Kualitas = Kesalahan / KLOC
Sedangkan untuk biaya dan dokumentasi ditinjau dari produktivitasnya,Perhatikan contoh tabel dibawah ini yang menunjukkan table size oriented metric dimana terdiri dari beberapa kategori proyek.
Ada lima faktor penting yang mempengaruhi produktivitas perangkat lunak antara lain adalah:
1. Manusia
Ukuran keahlian dari organisasi pengembangan.
2. Permasalahan
Kekompleksan permasalahan yang akan dikerjakan dan jumlah perubahan, kendala,
serta keperluan dalam perancangan.
3. Proses
Analisa dan perancangan atau teknik yang digunakan dalam pembahasan
pemrograman yang digunakan.
 
 
4. Produk
Keandalan dan performansi dari perangkat lunak dan perangkat keras yang digunakan.
5. Sumber daya
keberadaan alat-alat pengembangan, perangkat keras dan perangkat lunak yang ada.
8. PENGUMPULAN DATA METRIK
Ada beberapa hal yang perlu diperhatikan dalam pengumpulan data antara lain adalah :
Data harus akurat.
Sejumlah data proyek terdahulu harus sebanyak mungkin.
Kriteria pengukuran harus teratur dan konsisten.
Harus sesuai dengan proyek yang terdahulu untuk memperkirakan proyek yang baru.
9. PERKIRAAN PROYEK PERANGKAT LUNAK
Dalam Perkiraan Proyek Perangkat Lunak dapat ditransformasikan dengan mengikuti langkahlangkah,sistimatis yang dapat digunakan dalam memperkirakan sehingga resiko dapat diperkecil.Teknik perkiraan proyek perangkat lunak berusaha untuk menyediakan tingkat keandalan yang tinggi,Untuk dapat mencapai perkiraan biaya dan effort yang dapat diandalkan dapat digunakan pilihanpilihan sebagai berikut :
1. Memperkirakan waktu yang paling lama dari pengerjaan proyek.
2. Menggunakan teknik dekomposisi.
3. Mengembangkan model empiris untuk biaya dan effort dari perangkat lunak.
4. Menggunakan alat bantu yang telah tersedia.
Teknik dekomposisi adalah Teknik memecah-mecah atau membagi perkiraan proyek ke dalam bagian-bagian yang kecil, dalam pembagian ini berhubungan juga dengan tugas, biaya dan effort.
1. PERKIRAAN LOC
Data LOC digunakan dua cara selama perkiraan proyek perangkat lunak yaitu :
1. Variabel perkiraan yang digunakan untuk mengukur masing masing elemen dari
perangkat lunak.
2. Sebagai basis metrik yang dikumpulkan dari proyek terdahulu dan penggunaannya
digabungkan dengan variabel perkiraan untuk pengembangan proyeksi dan effort.
Berdasarkan data lampau, perencana dapat memperkirakan perkiraan waktu optimis, perkiraan waktu yang mendekati (most likely), perkiraan waktu pesimis dari nilai LOC atau FP masing-masing fungsi.
Jumlah rata-rata yang diharapkan LOC atau FP dapat dihitung dengan teknik perkiraan.
Nilai yang diharapkan adalah variabel perkiraan E dihitung dari rata-rata pertimbangan dari optimis (a), Most likely (m) dan pessimistic (b).
Dengan Rumus :
E = (a + 4m + b) / 6