Makalah
Rekayasa Perangkat Lunak
Di Susun Oleh:
BAB I PENDAHULUAN
BAB II PEMBAHASAN
2.1 Apa saja dan bagaimana prinsip dan konsep desain software ...................................... 3-5
2.2 Penjelasan tentang metode desain perangkat lunak .................................................... 6-8
2.3 Penjelasan tentang user interface design / uid ............................................................ 9-11
2.4 Manajemen data terdistribusi .................................................................................... 12
2.5 Rekayasa software client / server ............................................................................... 13-14
2.6 Rekayasa web ............................................................................................................ 15-17
2.7 Review rancangan detail software .............................................................................. 18
2.8 Struktur kontrol dalam rekayasa software .................................................................. 18
2.9 Dokumentasi rekayasa software internal .................................................................... 19
2.10 Analisa dan desain dalam rekayasa software .............................................................. 20-21
2.11 Esensi aktivitas pengembangan system ...................................................................... 21
2.12 Manajemen pengembangan system ........................................................................... 22
2.13 Pendekatan yang digunakan dalam desain .................................................................. 22-23
2.14 Software management ................................................................................................ 23-24
2.15 Tata kelola pengembangan software .......................................................................... 25-28
Puji syukur kami panjatkan kehadirat Allah SWT yang telah memberikan rahmat
serta karunia-Nya sehingga saya berhasil menyelesaikan makalah ini yang
alhamdulillah tepat pada waktunya yang makalah yang membahas Rekayasa
Perangkat Lunak. Makalah ini berisikan tentang yang awal yang bermunculan dengan
pengertian dimana khususnya membahas Rekayasa Perangkat Lunak yang digunakan
sangat luas dan berbagai forum publik lainnya.
Akhir kata, kami sampaikan terima kasih kepada semua pihak yang telah
berperan serta dalam penyusunan makalah ini dari awal sampai akhir. Semoga Allah
SWT senantiasa meridhai segala usaha kita. Amin.
Penyusun
( Marwan Efendi )
Abstrak
PENDAHULUAN
A. Latar Belakang
Rekayasa perangkat lunak (RPL, atau dalam bahasa Inggris: Software Engineering atau
SE) adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak
termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangkat
lunak dan manajemen kualitas.
Rekayasa Perangkat Lunak adalah pengubahan perangkat lunak itu sendiri guna
mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip
reakayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif
untuk pengguna.
kriteria yang dapat digunakan sebagai acuan dalam merekayasa perangkat lunak :
Sesuai dengan latar belakang yang telah dikemukakan, dapat dirumuskan beberapa
permasalahan, diantaranya ialah:
C. Tujuan
PEMBAHASAN
2.1 Apa saja dan bagaimana prinsip dan konsep desain software
Tujuan : Menghasilkan suatu model atau representasi dari entitas yang kemudian akan
dibangun
Prinsip Desain
Faktor kualitas eksternal: diobservasi oleh user. Faktor kualitas internal: penting untuk
engineer.
Proses Desain
1. Tiga fitur umum sebuah desain yang baik dari McGlaughlins [McG91]:
2. Desain harus mengimplementasikan semua kebutuhan(eksplisit/implisit)
3. Desain harus dapat dibaca dan dimengerti
4. Desain harus menyediakan suatu gambar lengkap software pada aspek aspek data,
fungsi dan perilaku.
Konsep Desain
Abstraction
Abstraction adalah gambaran dari fungsi suatu program. Gambaran ini bisa bertingkat-
tingkat. Tingkat yang paling atas adalah gambaran suatu fungsi program dengan menggunakan
bahasa alami. Pada tingkat terendah, menghasilkan abstraksi yang bersifat prosedural/ langkah
perlangkah dengan menggunakan istilah yang teknis dan bisa diimplementasikan menjadi
fungsi program. contoh :
Abstraction 1 (highest level) : Calon part-timer dalam melakukan upload syarat-syarat yang
diperlukan untuk melamar: surat lamaran, CV, foto, transkrip, data diri.
Refinement
Software dibagi komponen dengan nama dan alamat yang berbeda, disebut modul. Meyer
[MEY88]
mendefenisikan lima kriteria yang memungkinkan kita mengevaluasi sebuah metode desain
Metode yang dibutuhkan untuk membuat masing masing lapisan model desain
(desain data -> desain interface ->desain arsitektural ->desain prosedural)
Sasaran -> memberikan suatu pendekatan sistematis bagi penarikan desain cetak
biru untuk membangun suatu PL (Perangkat Lunak)
1. Desain data
2. Desain arsitektur
3. Proses desain arsitektur
4. Pemetaan transformasi
5. Pemetaan transaksi
6. Pasca pemrosesan desain
7. Optimasi desain arsitektur
8. Desain interface
9. Desain interface manusia-mesin
10. Pedoman desain interface
11. Desain prosedural
Desain Arsitektur adalah
Kontributor -> konsep desain awal yg menekankan pd modularitas, desain top-down dan
structural programming
Area aplikasi -> semua PL dapat direpresentasikan o/ suatu DAD, maka metode desain yg
menggunakan diagram dpt secara teoritis diaplikasikan pd pengembangan PL
Desain yang berorientasi pada aliran data merupakan suatu metode desain arsitektur
yg mengijinkan transisi yg baik dari model analisis ke deskripsi desain dari struktur program
Pemetaan Transformasi
Tujuan :
Merancang interface yang efektif untuk sistem perangkat lunak siap digunakan, dan hasilnya
sesuai dg kebutuhan.
Keuntungannya :
Karakteristik gui :
Gambar : proses merancang user interface
Gunakan istilah, konsep dan kebiasaan user bukan computer (misal: sistem perkantoran
gunakan istilah letters, documents, folders bukan directories, file, identifiers. Contoh : jenis
document open office;
Konsisten dalam operasi dan istilah di seluruh sistem sehingga tidak membingungkan.
Contoh : layout menu di open office mirip dgn layout menu di ms office.
3. minimal surprise / tidak buat kaget user :
4. recoverability/pemulihan :
Sistem manual online, menu help, caption pada icon khusus tersedia;
6. user diversity/keberagaman :
Fasilitas interaksi untuk tipe user yang berbeda disediakan. Misalnya ukuran huruf bisa
diperbesar.
(1) Bagaimana informasi dari user bisa disediakan untuk sistem komputer?
(2) Bagaimana informasi dari sistem komputer ditampilkan untuk user? Hasil dari
pemrosesan data
memperbolehkan akses secara transparan dan manipulasi file secara jarak jauh.
Fungsi :
membuka, membaca, menulis, menutup lokasi file yang diakses jarak jauh dari program
aplikasi dan atau pengguna.
Manajemen database terdistribusi (DDBM) : fungsi spesifik yang disediakan DDBM adalah :
a) Schema integration.
b) Location transparency and distributed query processing.
c) Concurrency control and failure handling.
d) Administration.
Heterogen :
a) Database dapat mendukung perbedaan model data (hirarki, jaringan, relasional atau
object oriented).
b) Perbedaan bahasa query dapat digunakan dalam database yang berbeda.
c) DBMS dapat disediakan oleh vendor yang berbeda.
d) Platform komputer dapat berbeda (micro, mini, mainframe).
e) Jaringan juga berbeda (lans, wans, tcp/ip, sna, decnet, osi) istilah lain dari database
2.5 Rekayasa software client / server
Server berisi logika untuk menyiapkan informasi pada layar, menggunakan software
tertentu. Software pada client digunakan untuk mengubah ke karakter-karakter yang umum
dan ditampilkan dilayar.
Data yang dikirimkan server digunakan oleh client menyiapkan presentasi di layar.
3. Distributed logic :
Server fokus pada manajemen database memproses query dari client, update file server,
kontrol client, dan aplikasi business lain.
Aplikasi pada server menciptakan sumber data baru dengan memformat data hasil extract dari
tempat lain. Aplikasi yang ditempatkan pada client digunakan untuk memanfaatkan data baru
yang baru diformat oleh server.
5. Distributed databases:
Client harus support komponen software manajemen data, komponen software aplikasi dan
komponen gui. Implementasi object-oriented pada sub-sub sistem software c/s dengan object
request broker.
Rekayasa Web (RW) yaitu suatu model rekayasa perangkat lunak yang digunakan untuk
pengembangan aplikasi - aplikasi berbasis web, sedangkan menurut Pressman
Rekayasa Web adalah suatu proses yang digunakan untuk membuat aplikasi web yang
berkualitas tinggi.
Rekayasa Web tidak sama persis dengan RPL (Rekayasa Perangkat Lunak), tetapi
Rekayasa Web memiliki konsep dan prinsip mendasar dari RPL. Proses di RW lebih ditekankan
pada aktivitas teknis dan menajemen yang hampir sama.
Rekayasa Web tentunya juga penting karena bertujuan agar Web terelihat lebih berkualitas
dan lebih user friendly agar si pengguna lebih mudah dalam pengunaannya, dengan
meminimalisir kesalahan dalam suatu projek web, serta dalam pengaturan kompleksitas dan
keanekaragaman pengembangan aplikasi web tersebut.
A. Customer communication
Komunikasi yang baik dengan user merupakan sarana efektif dalam membuat atau
menerjemahkan apa saja yang user inginkan (requirements).
B. Planning
Yaitu tahap penggabungan requirement (kebutuhan) dan informasi dari user dan
perencanaan teknis serta menanggapi respon (tanggapan) dari user. Perencanaan teknis
dilakukan dengan mengidentifikasi perangkat lunak maupun perangkat keras apa saja yang
dibutuhkan.
C. Modeling ( Pemodelan )
d. Design modeling
Desain estetika, merancang tampilan halaman dengan kombinasi warn, teks, dan
gambar yang sesuai dengan isi dan tujuan aplikasi web.
Desain isi ( content ), merancang content dari aplikasi web itu sendiri. Desain
tersebut dirancang berdasarkan kebutuhan informasi yang telah di identifikasi pada tahap
analisis. Sedangkan desain basis data yang dilakukan yaitu : desain model konseptual,
desain model logic, dan desain model fisik.
Desain navigasi, hanya dilakukan ketika aplikasi web itu memiliki aturan-aturan
atau hak otorisasi buat user sesuai dengan alur kerja system.
Pengujian ( testing )
Struktur ini terdiri dari sebuah intruksi atau blok dari intruksi yang tidak mempunyai
struktur perulangan atau keputusan didalamnya. struktur ini disrbut juga degan struktur urut
sederhana (simple sequence structure). Struktur ini semata-mata hanya berisi langkah-langkah
yang urut saja, satu diikuti dengan yang lainnya.
Berikut ini adalah contoh sturuktur urut (sequence stucture) dalam bentuk psedecode:
baca data jam kerja dari keyboard hitung gaji = jam kerja * tarif tampilkan gaji di monitor
Kumpulan dari dari intruksi ini juga dapat dijadikan dalam satu modul yang bebas anda beri
nama.
Psede code dapat juga ditulis lebih terinci dengan didasarkan pada suatu bahsa pemrograman
tertentu.
Prolog komentar
Uraian komentar
Dokumen Baik meningkatkan saling pengertian dan pemeliharaan produk perangkat lunak.
Dokumen baik membantu secara efektif menangani masalah perputaran tenaga kerja.
Bahkan ketika seorang insinyur meninggalkan organisasi, dan seorang insinyur baru masuk, ia
dapat membangun pengetahuan yang diperlukan dengan mudah.
Produksi dokumen yang baik membantu manajer secara efektif melacak kemajuan proyek.
Dokumentasi Internal adalah fitur pemahaman kode yang tersedia sebagai bagian dari kode
sumber itu sendiri. Dokumentasi internal disediakan melalui modul header yang sesuai dan
komentar tertanam dalam kode sumber. Dokumentasi internal juga disediakan melalui nama
variabel berguna, header modul dan fungsi, indentasi kode, penataan kode, penggunaan tipe
enumerated dan pengenal konstan, penggunaan user-defined jenis data, dll.
2.10 Analisa dan desain dalam rekayasa software
Analisa kebutuhan yang baik belum tentu menghasilkan perangkat lunak yang baik,
tetapi analisa kebutuhan yang tidak tepat menghasilkan perangkat yang tidak berguna.
Mengetahui adanya kesalahan pada analisis kebutuhan pada tahap awal memang jauh lebih
baik, tapi kesalahan analisis kebutuhan yang diketahui ketika sudah memasuki penulisan kode
atau pengujian, bahkan hampir masuk dalam tahap penyelesaian merupakan malapetaka
besar bagi pembuat perangkat lunak. Biaya dan waktu yang diperlukan akan menjadi sia sia.
Desain adalah langkah pertama dalam fase pengembangan bagi setiap produk atau sistem
yang direkayasa. Desain dapat didefinisikan berbagai proses aplikasi berbagai teknik dan
prinsip bagi tujuan pendefinisian suatu perangkat, suatu proses atau sistem dalam detail yang
memadai untuk memungkinkan realisasi fisiknya[TAY59]. Tujuan desainer adalah untuk
menghasilkan suatu model atau representasi dari entitas yang kemudian akan dibangun.
Desain perangkat lunak berada pada inti teknik dari proses rekayasa perangkat lunak dan
diaplikasikan tanpa memperhatikan model proses perangkat lunak yang digunakan. Begitu
persyaratan perangkat lunak telah mulai dianalisis dan ditentukan, maka desain perangkat
lunak menjadi yang pertama dari tiga aktivitas teknik desain, pembuatan kode dan pengujian
yang diperlukan untuk membangun dan menguji perangkat lunak. Persyaratan perangkat
lunak, yang dimanifestasi oleh data, fungsional, dan model-model perilaku, mengisi langkah
desain.
Dengan menggunakan satu dari sejumlah metode desain, langkah desain menghasilkan :
A. desain data
B. desain arsitektur
C. desain interface
D. desain prosedural
Maksud
Kegiatan
Aktivitas pasar
Informasi yang berkaitan dengan kondisi saat ini dan masa lalu.
Aktivitas penjagaan (custodial) untuk membangun dan memelihara memori yang
utama.
Quality
Kualitas / quality adalah nutu suatu barang yang disepakati antara supplier dan customer,
mutu tersebut mencakup QCDSM.
: Biaya produk.
Pendekatan sistem yang diterapkan dalam pembelajaran bukan saja sesuai dengan
perkembangan ilmu pengetahuan dan teknologi, tetapi juga sesuai dengan perkembangan
dalam psikologi belajar sistematik, yang dilandasi dengan prinsip-prinsip psikologi behavioristik
dan humanistik. Aspek-aspek pendekatan sistem pembelajaran, meliputi aspek filosofis dan
aspek proses. Aspek filosofis ialah pandangan hidup yang melandasi sikap si perancang, sistem
yang terarah pada kenyataan. Sedangkan aspek proses ialah suatu proses dan suatu perangkat
alat konseptual.
Ciri-ciri pendekatan sistem pembelajaran, yaitu ada dua ciri utama, yakni :
(1) Pendekatan sistem sebagai suatu pandangan tertentu mengenai proses pembelajaran
dimana berlangsung kegiatan belajar mengajar, terjadinya interaksi antara siswa dan guru, dan
memberikan kemudahan bagi siswa untuk belajar secara efektif
(2) Penggunaan metodologi untuk merancang sistem pembelajaran yang meliputi prosedur
perencanaan, perancangan, pelaksanaan dan penilaian keseluruhan proses pembelajaran yang
tertuju pada konsep pencapaian tujuan pembelajaran.
Software untuk manajemen proyek masuk yang ada diperusahaan, sehingga pemilik
(owner) bisa mengetahui dengan mudah apa-apa aja proyek yang sedang ditangani, proyek
yang belum selesai, dan proyek yang sudah selesai. dan bisa melihat profit perusahaan tiap
bulannya.
8. Software engineering tools and methods mencakup kajian teoritis tentang alat
bantu dan metode RPL.
Rekayasa Perangkat Lunak dan Disiplin Ilmu Lain
Cakupan ruang lingkup yang cukup luas, membuat RPL sangat terkait dengan disiplin
dengan bidang ilmu lain. tidak saja sub bidang dalam disiplin ilmu komputer namun dengan
beberapa disiplin ilmu lain diluar ilmu komputer.
Tata kelola TI pada dasarnya berfokus pada dua hal yaitu bagaimana TI
memberikan nilai tambah bagi bisnis dan penanganan risiko pada
implementasi (TI ITGI 2006).
Proses Tata Kelola TI yang digambarkan ITGI ini mungkin bisa membantu kita
dalam mendalami Tata
Kelola TI.
Rekayasa Perangkat Lunak dan Disiplin Ilmu Lain
Dari gambar di atas kita bisa menarik kesimpulan bahwa dalam pelaksanaan
tata kelola teknologi informasi pada suatu organisasi, digerakkan oleh pemberian nilai
tambah bagi stakeholder. Misal: Pengembangan teknologi informasi harus dapat
memberikan jaminan keakurasian dan ketepatan waktu Laporan Manajemen. Atau
pengembangan teknologi informasi harus dapat mengurangi kemungkinan adanya
fraud. Dalam pendapat pribadi saya, pemberian nilai tambah inilah yang sebenarnya
akan membuat stakeholder mau melirik ke program-program kerja yang terkait
implementasi TI. Utamanya pihak manajemen puncak. Karena biasanya pihak
manajemen puncak lah yang pada ujungnya akan mempertanyakan return of
investment dari biaya-biaya yang dikeluarkan dalam implementasi TI. Mereka biasanya
melihat IT sebagai cost center karena terkadang implementasi TI belum berhasil
menunjukkan dampak penurunan biaya atau pun meningkatkan laba.
Cakupan ruang lingkup yang cukup luas, membuat RPL sangat terkait dengan disiplin
dengan bidang ilmu lain. tidak saja sub bidang dalam disiplin ilmu komputer namun
dengan beberapa disiplin ilmu lain diluar ilmu komputer.
Bidang ilmu manajemen meliputi akuntansi, finansial, pemasaran, manajemen
operasi, ekonomi, analisis kuantitatif, manajemen sumber daya manusia,
kebijakan, dan strategi bisnis.
Bidang ilmu matematika meliputi aljabar linier, kalkulus, peluang, statistik,
analisis numerik, dan matematika diskrit.
Bidang ilmu manajemen proyek meliputi semua hal yang berkaitan dengan
proyek, seperti ruang lingkup proyek, anggaran, tenaga kerja, kualitas,
manajemen resiko dan keandalan, perbaikan kualitas, dan metode-metode
kuantitatif.
Pemberian nilai tambah ini akan sangat berisiko jika tidak dikelola dengan baik.
Karenanya-lah perlu adanya manajemen risiko yang bertujuan untuk menghindari
kegagalan implementasi teknologi informasi, IT recovery saat terjadi bencana dan
keberlangsungan operasi teknologi informasi dalam setiap kondisi. Manajemen risiko
TI sendiri sebenarnya juga merupakan bagian tak terpisahkan dari manajemen risiko
perusahaan. Jadi manajemen risiko TI tidak boleh bertolak belakang dengan
manajemen risiko perusahaan, dimana di dalam identifikasi manajemen risiko
perusahaan biasanya akan keluar skor yang dihasilkan dari asesmen risiko yang
membandingkan antara important dan urgent. Manajemen risiko TI harus ada di
dalamnya!
Selanjutnya, tak kalah pentingnya juga perlunya manajemen sumber daya untuk
mengoptimalkan pengetahuan (knowledge) dan infrastruktur teknologi informasi.
Sumber daya ini jangan hanya dilihat dari sisi software dan hardware saja lho ya,
namun juga brainware (manusia, baik karyawan TI
maupun user yang akan terlibat dalam implementasi TI).
Dari berbagai uraian di atas, kita dapat menggarisbawahi bahwa Tata Telola
Teknologi Informasi adalah bagian dari tata kelola perusahaan yang terfokus pada
penanganan implementasi TI dan penyelarasan sistem teknologi informasi (TI) dengan
tujuan perusahaan agar dapat memberikan nilai tambah bagi perusahaan. Sehingga
topik yang muncul di sini tidak hanya software, hardware, dan orang saja, namun juga
manajemen proyek TI, penyusunan rencana anggaran dan biaya TI, manajemen risiko
Untuk melakukan Tata Kelola TI yang baik dan benar, diperlukan suatu kerangka kerja
(framework) Tata Kelola TI. Penyusunan kerangka kerja ini disesuaikan dengan tujuan
perusahaan. Sebenarnya saat ini terdapat berbagai macam framework yang berstandar
internasional untuk membantu perusahaan sebagai alat bantu melakukan tata kelola TI,
seperti misalnya framework Cobit. Namun, harus dipahami juga kultur perusahaan dalam
pemilihan framework yang akan digunakan.
Dalam mencapai Tata Kelola TI yang baik ini, dituntut adanya komitmen semua pihak
di jajaran manajemen terhadap pengembangan TI. Karena keberhasilan pengembangan TI
tersebut adalah tanggung jawab bersama dan sangat didukung dengan pendekatan top-down.
MACAM-MACAM MODEL PENGEMBANGAN SOFTWARE
menghasilkan perangkat lunak yang berkualitas. Berikut faktor-faktor yang perlu di cermati
dalam pengembangan perangkat lunak.
Metode pengembangan perangkat lunak (atau disebut juga model proses atau
paradigma rekayasa perangkat lunak) adalah suatu strategi pengembangan yang memadukan
proses, metode, dan perangkat (tools). Metode-metode pengembangan perangkat lunak,
memberikan teknik untuk
membangun perangkat lunak yang berkaitan dengan serangkaian tugas yang luas yang
menyangkut analisis kebutuhan, konstruksi program, desain, pengujian, dan pemeliharaan.
Pengembangan sistem dapat berarti menyusun suatu sistem yang baru untuk
menggantikan sistem yang lama secara keseluruhan/memperbaiki sistem yang telah ada.
Sistem yang lama perlu diperbaiki atau diganti disebabkan karena beberapa hal, yaitu :
PENUTUP
3.1 Kesimpulan
Secara sederhana sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari
unsur atau variabel-variabel yang saling terorganisasi, saling berinteraksi, dan saling
bergantung satu sama lain Informasi yang berkualitas memiliki 3 kriteria, yaitu:
1. Akurat (accurate)
Informasi harus bebas dari kesalahan, informasi harus dapat dengan jelas mencerminkan
maksudnya.
3. Relevan (relevance)
Informasi yang disampaikan harus mempunyai keterkaitan dengan masalah yang akan dibahas
dengan informasi tersebut.
3.2 Saran
Menurut saya, model proses perangkat lunak masih menjadi object penelitian, tapi
sekarang ada banyak model umum atau paradigma yang berbeda dari pengembangan
perangkat lunak. Karena banyaknya variasi dalam model proses yang digunakan maka tidak
mungkin menghasilkan gambaran-gambaran yang reliabel untuk alokasi biaya dalam aktivitas-
aktivitas ini.
DAFTAR PUSTAKA
http://imaagusti.blogspot.co.id/2013/03/prinsip-dan-konsep-desain_9.html
https://julimkirom.wordpress.com/2014/04/25/9-manajemen-data-terdistribusi-ddtms/
Webopedia
http://www.webopedia.com/TERM/m/middleware.html
http://ulilfathur.wordpress.com/rangkuman-analisis-design-dan-uji-web/
https://tikstkip.files.wordpress.com/2011/09/pertemuan-5.pptx
https://julimkirom.wordpress.com/2014/05/24/12-software-engineering/
https://lukecyber.wordpress.com/2012/10/16/dokumentasi-perangkat-lunak/
http://konsep-dan-prinsip-desain-ef.blogspot.co.id/
http://desyalfauzan.blogspot.co.id/2012/11/pendekatan-sistem-dalam-desain.html
https://wisnuajix.wordpress.com/2015/05/06/tata-kelola-teknologi-informasi-poin-penting-
yang- kadang-terlupa/
https://rifkanisa19.wordpress.com/2014/08/23/macam-macam-model-pengembangan-
software/