Anda di halaman 1dari 34

MAKALAH

REKAYASA PERANGKAT LUNAK

(Dosen Pembimbing : Muhammad Jonni, M. Kom)

DISUSUN OLEH

BATTARI SEKARI
(1455201418)

\
UNIVERSITAS MUHAMMADIYAH TANGERANG
FAKULTAS TEKNIK
TEKNIK INFORMATIKA
2016
DAFTAR ISI
Daftar Isi.........................................................................................................................................................i
Kata Pengantar..............................................................................................................................................ii

BAB I PENDAHULUAN
1.1 Latar Belakang.........................................................................................................................................1
1.2 Rumusan Masalah....................................................................................................................................2
1.3 Tujuan......................................................................................................................................................2

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

BAB III PENUTUP


3.1 Kesimpulan............................................................................................................................................29

3.2 Saran......................................................................................................................................................29

DAFTAR PUSTAKA................................................................................................................................30

Rekayasa Perangkat Lunak | Kata Pengantar

i
KATA PENGANTAR

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.

Diharapkan makalah ini dapat memberikan informasi kepada kita semua tentang “Rekayasa Perangkat
Lunak”. Saya menyadari bahwa makalah ini masih jauh dari sempurna, oleh karena itu kritik dan
saran dari semua pihak yang bersifat membangun selalu kami harapkan demi kesempurnaan makalah
ini.
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.

Tangerang, 23 April 2016


Penyusun

( Battari Sekari )

Rekayasa Perangkat Lunak |

i
BAB I
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.
IEEE Computer Society mendefinisikan rekayasa perangkat lunak sebagai penerapan suatu pendekatan
yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat
lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat
lunak.
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 :

1. Dapat terus dirawat dan dipelihara (maintainability)


2. Dapat mengikuti perkembangan teknologi (dependability)
3. Dapat mengikuti keinginan pengguna (robust)
4. Efektif dan efisien dalam menggunakan energi dan penggunaannya
5. Dapat memenuhi kebutuhan yang diinginkan (usability)

Rekayasa Perangkat Lunak |

1
B. Rumusan Masalah
Sesuai dengan latar belakang yang telah dikemukakan, dapat dirumuskan beberapa permasalahan,
diantaranya ialah:

1. Apa yang dimaksud dengan rekayasa perangkat lunak?


2. Jelaskan, tentang user interface design / uid!
3. Apa yang dimaksud dengan rekayasa web?

C. Tujuan
Adapun tujuan dari penulisan makalah ini adalah :

1. Agar mengetahui pengertian rekayasa perangka lunak.


2. Agar mengetahui unsur-unsur dalam rekayasa perangkat lunak.
3. Mengetahui pandangan para filsuf terhadap prinsip-prinsip metodologi.

Rekayasa Perangkat Lunak |

2
BAB II
PEMBAHASAN

2.1 Apa saja dan bagaimana prinsip dan konsep desain software

Prinsip dan Konsep Desain

Tujuan : Menghasilkan suatu model atau representasi dari entitas yang kemudian akan dibangun

Prinsip Desain
David [DAV95] memaparkan sekumpulan prinsip untuk desain software :
 Proses desain seharusnya tidak bertahan dari “tunnel vision”.
 Desain harus dapat di trace ke model analisa.
 Desain seharusnya tidak menemukan/invent wheel.
 Desain harus “memperkecil jarak intellectual” antara software dan masalah-masalah pada dunia
nyata.
 Desain harus mengeluarkan uniformity dan integrasi.
 Desain harus terstruktur untuk mengakomodasi perubahan.
 Desain harus terstruktur untuk mendegradasi secara halus(degrade gently).
 Desain bukan coding.
 Desain harus di-assessed untuk kualitas.
 Desain harus diulang untuk meminimalis kesalahan konsep.

Faktor kualitas eksternal: diobservasi oleh user.


Faktor kualitas internal: penting untuk engineer.

Proses Desain
Desain software -> sebuah proses iteratif dimana kebutuhan diterjemahkan ke sebauh “blueprint” untuk
mengkonstruksi software. Desain direpresentasikan pada level atas abstraction. Saat iterasi desain terjadi,
perbaikan subsequent membawa ke representasi desain pada level abstraksi yang lebih bawah.

Rekayasa Perangkat Lunak | http://imaagusti.blogspot.co.id/2013/03/prinsip-dan-konsep-

3
Kualitas desain sangat penting. Dua metode digunakan untuk mengecek kualitas:
a) Tinjauan ulang teknis formal, dan b) desain walkthrough

Tiga fitur umum sebuah desain yang baik dari McGlaughlin’s [McG91]:
 Desain harus mengimplementasikan semua kebutuhan(eksplisit/implisit)
 Desain harus dapat dibaca dan dimengerti
 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 :
Program : Iklan Part-time Job
Fungsi : Pendaftaran calon part-timer
Abstraction 1 (highest level) : Calon part-timer dalam melakukan upload syarat-syarat yang diperlukan
untuk melamar: surat lamaran, CV, foto, transkrip, data diri.
Abstraction 2 (lower level) :
Procedural abstraction :

1. Tampilkan pilihan part-time job


2. Input data
3. Verifikasi format

Refinement
Penjelasan detil dari abstraction refinement membantu designer untuk memperlihatkan detil dari lowest
level dari abstraction. Abstraction dan refinem
ent merupakan konsep yang saling melengkapi.

Rekayasa Perangkat Lunak | http://imaagusti.blogspot.co.id/2013/03/prinsip-dan-konsep-

4
Konsep Desain – Modularity
Software dibagi komponen dengan nama dan alamat yang berbeda, disebut modul. Meyer [MEY88]
mendefenisikan lima kriteria yang memungkinkan kita mengevaluasi sebuah metode desain

1. Modular composability : Sebuah metode desain memungkinkan komponen desain yang


telah ada dirakit ke sebuah sistem baru.
2. Modular understandability : Sebuah modul dapat dimengerti sebagai sebuah unit yang berdiri
sendiri dan akan lebih mudah membangun dan mengubahnya.
3. Modular continuity : Perubahan kecil terhadap kebutuhan sistem menghasilkan
perubahan pada tiap modul, dibanding perubahan system-wide.
4. Modular protection : Sebuah kondisi aberrant terjadi dalam sebuah modul dan efeknya
di-constrain dalam modul.

Rekayasa Perangkat Lunak | http://imaagusti.blogspot.co.id/2013/03/prinsip-dan-konsep-

5
2.2 Penjelasan tentang metode desain perangkat lunak

Langkah - Langkah Untuk Mendesain Suatu Perangkat Lunak

Metode Desain Adalah

Proses multi langkah di mana representasi struktur data, struktur program, karakteristik interface, dan
detail prosedur disintesis dari persyaratan informasi

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

Bagian Penting Dalam Metode Desain Perangkat Lunak

 Desain data
 Desain arsitektur
 Proses desain arsitektur
 Pemetaan transformasi
 Pemetaan transaksi
 Pasca pemrosesan desain
 Optimasi desain arsitektur
 Desain interface
 Desain interface manusia-mesin
 Pedoman desain interface
 Desain prosedural

Rekayasa Perangkat Lunak | http://joglio.blogspot.co.id/2012/05/metode-

6
Desain Arsitektur adalah

Sasaran -> Untuk mengembangkan struktur program modular dan merepresentasikan hubungan kontrol
antar modul

Membentuk struktur program dan struktur data dengan menentukan interface yg memungkinkan data
mengalir melalui program

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

Proses Desain Arsitektur

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

Transisi dari aliran informasi (DAD):

Tipe aliran informasi dibangun

 Batas aliran diindikasikan


 DFD dipetakan ke dalam struktur program
 Hirarki kontrol ditentukan dengan pemfaktoran
 Struktur resultan disaring dengan menggunakan pengukuran desain

Pemetaan Transformasi

Serangkaian langkah desain yg mengijinkan sebuah DFD dengan karakteristik aliran informasi untuk
dipetakan ke dalam template yg telah ditentukan sebelumnya untuk struktur program.

Rekayasa Perangkat Lunak | http://joglio.blogspot.co.id/2012/05/metode-

7
Langkah - langkah desain :

Langkah 1 : Kajilah model sistem fundamental (mencakup DFD tingkat 0 dan informasi yg
mendukung)

Langkah 2 : Kajilah dan saring diagram aliran untuk Pl tsb (lanjut ke DFD tingkat2)

Langkah 3 : Tentukan apakah DFD memiliki karakteristik aliran transformasi dan transaksi (DFD
tingkat 3)

Langkah 4 : Isolasi pusat transformasi dengan mengkhususkan batas aliran masuk dan keluar

Langkah 5 : “pemfaktoran tingkat pertama” (pemfaktoran menghasilkan struktur program di mana


modul tingkat puncak membuat keputusan, modul bawah melakukan kerja input, komputasi, input dan
menengah menjalankan beberapa kontrol dan sejumlah kerja)

Langkah 6 : Lakukan pemfaktoran tingkat 2, dengan memetakan transformasi (gelembung) individual


dari suatu DFD ke dalam modul2 yg sesuai dlm struktur program

Langkah 7 : Saringlah struktur program iterasi pertama dengan menggunakan heuristik desain bagi
kualitas PL yg telah ditingkatkan

Rekayasa Perangkat Lunak | http://joglio.blogspot.co.id/2012/05/metode-

8
2.3 Penjelasan tentang user interface design / uid

User interface design /uid


Tujuan :
Merancang interface yang efektif untuk sistem perangkat lunaksiap digunakan, dan hasilnya sesuai dg
kebutuhan.

Graphical user interface :


Interface yang banyak digunakan dalam software.

Keuntungannya :
1. Gampang dipelajari oleh pengguna yang kurang pengalaman;
2. Berpindah dari satu layar ke layar yang lain tanpa kehilangan informasi;
3. Akses penuh pada layar beberapa macam tugas/keperluan.

Karakteristik gui :

Rekayasa Perangkat Lunak | Sommerville, Ian. "Software Engineering" .6th . Addison Wesley.

99
Gambar : proses merancang user interface

Proses perulangan :
Prosesdilakukan hingga menghasilkan desain yang diinginkan oleh pengguna.

Desain bersifat user-centered :


Pengguna sangat terlibat dalam proses desain.

Proses evaluasi dilakukan oleh pengguna hasil desain.

Prinsip – prinsip dalam merancang user interface :

(1) user familiarity / mudah dikenali :


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;

(2) consistency/ “selalu begitu” :


Konsisten dalam operasi dan istilah di seluruh sistem sehingga tidak membingungkan.Contoh : layout
menu di open office mirip dgn layout menu di ms office.

Rekayasa Perangkat Lunak | Sommerville, Ian. "Software Engineering" .6th . Addison Wesley.

1
(3) minimal surprise / tidak buat kaget user :
Operasi bisa diduga prosesnya berdasarkan perintah yang disediakan.
(4) recoverability/pemulihan :
Recoverability ada dua macam:
- confirmation of destructive action
- ketersediaan fasilitas pembatalan (undo);

(5) user guidance/ bantuan :


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.

Permasalahan perancang sistem (user interaction) :


(1) Bagaimana informasi dari user bisa disediakan untuk sistem komputer?
misalnya pada saat input data

(2) Bagaimana informasi dari sistem komputer ditampilkan untuk user?

Hasil dari pemrosesan data

User interface yang baik :


Menyatukan interaksi pengguna (user interaction) dan penyajian informasi (information presentation).

Rekayasa Perangkat Lunak | Sommerville, Ian. "Software Engineering" .6th . Addison Wesley.

1
2.4 Manajemen data terdistribusi

Manajemen file terdistribusi (DFM) :


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.

Layanan DFM meliputi:


a. Seleksi dan deseleksi file jarak jauh untuk diakses.
b. Pembuatan dan penghapusan file jarak jauh.
c. Membaca dan merubah file data jarak jauh.
d. Mengontrol fungsi-fungsi melalui penguncian / pembukaan.
e. Keamanan dari akses yang tidak berhak.

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.

Database dalam lingkungan jaringan


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

Rekayasa Perangkat Lunak | https://julimkirom.wordpress.com/2014/04/25/9-manajemen-data-


terdistribusi-ddtms/

12
2.5 Rekayasa software client / server

Pendekatan mengalokasikan atau mendistribusikan komponen software client / server :

1. Distributed presentation :

Database dan aplikasi / business logic dialokasikan di server/mainframe.

Server berisi logika untuk menyiapkan informasi pada layar, menggunakan software tertentu.

Software pada client digunakan untuk mengubah ke karakter-karakter yang umum dan ditampilkan di
layar.

Informasi dikirimkan dari server ke dalam presentasi dengan gui di pc.

2. Remote presentation :

Database dan aplikasi di server.

Data yang dikirimkan server digunakan oleh client  menyiapkan presentasi di layar.

3. Distributed logic :

Client fokus pada user presentation, proses data entry.

Server fokus pada manajemen database memproses query dari client, update file server, kontrol client,
dan aplikasi business lain.

4. Remote data management:

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.

Rekayasa Perangkat Lunak | “Webopedia “

1
5. Distributed databases:

Data yang membentuk database tersebar di beberapa server dan client.

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.

Gambar 2: arsitektur corba dasar

Rekayasa Perangkat Lunak | “Webopedia “

1
2.6 Rekayasa web

Apa itu rekayasa WEB ?

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.

Mengapa Rekayasa Web Penting ?

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.

Tahapan-tahapan dalam rekayasa web antara lain :

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.

Rekayasa Perangkat Lunak | http://ulilfathur.wordpress.com/rangkuman-analisis-design-dan-uji-

1
C. Modeling ( Pemodelan )

Analysis modeling, merupakan tahap berikutnya dari planning dan komunikasi dengan user.

Analisis isi (content), merumuskan kebutuhan (requirements) dari user serta permasalahan apa yang akan
diselesaikan.

Analisis interaksi, mengidentifikasi interaksi antara user dengan system berdasarkan hak akses pengguna

Analisis fungsional, mengidentifikasi operasi-operasi apa saja yang akan dijalankan di dalam system
maupun terpisah dengan system tetapi sangat penting bagi user.

Analisis konfigurasi, mengidentifikasi lingkungan dan instruktur apayang tepat untuk aplikasi yang akan
dibuat.

Design modeling

Desain antarmuka ( Interface ), memeriksa kumpulan informasi yang telah dilakukan dalam tahap
analisis, kemudian buat sketsa antarmuka, memetakan obyektif user ke dalam antarmuka uang
spesifik.

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.

Desain arsitektur, difokuskan pada aplikasi yang berstruktur hypermedia. Struktur arsitektur berkaitan
erat dengan tujuan dari pengembangan situs, content yang disediakan dan user yang mengunjungi web.

Rekayasa Perangkat Lunak | http://ulilfathur.wordpress.com/rangkuman-analisis-design-dan-uji-

1
D. Construction (kontruksi)

Implementasi ( coding )

Implementasi dilakukan dengan mengaplikasikan halaman web dalam bentuk HTML berdasarkan hasil
perancangan isi pada aktivitas pada non technical member sedangkan implementasi isi dan fungsi logika
dibuat dalam bentuk PHP.

Pengujian ( testing )

Dilakukan untuk mengetahui kemungkinan terjadinya kesalahan seperti kesalahan pada skrip atau form,
navigasi ataupun tampilan, maupun bagian lainnya.

E. Delivery & Feedback

Serah terima dan respon dilakukan dengan cara menyebarkan kuisioner kepada user berupa respon untuk
mendapatkan penilaian dari setiap kriteria sebagai hasil evaluasi bagi pengembang. Kriteria yang
dilakukan biasanya usability, functionality, serta reliability.

Rekayasa Perangkat Lunak | http://ulilfathur.wordpress.com/rangkuman-analisis-design-dan-uji-

1
2.7 Review rancangan detail software

Terdapat beberapa proses dalam tahapan perancangan secara detail, yaitu :

1. Perancangan Aplikasi : lebih diasumsikan sebagai perancangan yang melibatkan logika


modul- modul yang akan dibuat dalam perangkat lunak. Melibatkan perancangan logika dan
algoritma dari suatu perangkat lunak. Contoh : flowchart.

2. Perancangan Antar Muka ( Interface ) : berhubungan dengan interaksi manusia dan komputer
(IMK) yang bertujuan untuk mengembangkan keamanan, utilitas, efektivitas, dan efisiensi dari
sistem yang memakai komputer.

2.8 Struktur kontrol dalam rekayasa software

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.
Psedecode dapat juga ditulis lebih terinci dengan didasarkan pada suatu bahsa pemrograman
tertentu.

1. Selection Structure/struktur seleksi :


 Seleksi tanpa proses ya
 Seleksi Umum (IF – THEN – ELSE)
 Seleksi bejenjang (IF – THEN – ELSE berjenjang)
 Seleksi bejenjang (IF – THEN – ELSE berjenjang) dalam bentuk lain
 Seleksi dengan Case (DO CASE – ENDDO)

2. Repeatition / Iteration Structure :


 Do while – enddo
 Repeat-Until

Rekayasa Perangkat Lunak | https://tikstkip.files.wordpress.com/2011/09/pertemuan-

https://julimkirom.wordpress.com/2014/05/24/12-software- 1
2.9 Dokumentasi rekayasa software internal

 Prolog komentar
 Uraian komentar
 Contoh dalam beberapa Bahasa Pemrograman

Dokumen yang baik sangat berguna dan server tujuan berikut :

 Dokumen Baik meningkatkan saling pengertian dan pemeliharaan produk perangkat


lunak. Mereka mengurangi usaha dan waktu yang dibutuhkan untuk pemeliharaan.
 Penggunaan dokumen membantu pengguna secara efektif menggunakan sistem.
 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.

Rekayasa Perangkat Lunak | https://lukecyber.wordpress.com/2012/10/16/dokumentasi-perangkat-

https://julimkirom.wordpress.com/2014/05/24/12-software- 1
2.10 Analisa dan desain dalam rekayasa software

ANALISA DALAM REKAYASA SOFTWARE

Analisis kebutuhan merupakan langkah awal untuk menentukan gambaran perangkat yang akan
dihasilkan ketika pengembang melaksanakan sebuah proyek pembuatan perangkat lunak. Perangkat lunak
yang baik dan sesuai dengan kebutuhan pengguna sangat tergantung pada keberhasilan dalam melakukan
analisis kebutuhan. Untuk proyek-proyek perangkat lunak yang besar, analisis kebutuhan dilaksanakan
setelah aktivitas sistem information engineering dan software project planning.
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 DALAM REKAYASA SOFTWARE

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.

Rekayasa Perangkat Lunak | http://konsep-dan-prinsip-desain-ef.blogspot.co.id/

20
Dengan menggunakan satu dari sejumlah metode desain, langkah desain menghasilkan :
a. desain data
b. desain arsitektur
c. desain interface
d. desain prosedural

2.11 Esensi aktivitas pengembangan system

Teknologi pengembangan system terdiri dari :

 Prosesor (processor) sebagai penyelenggaran aktivitas

 Kemasan/container (Memory) sebagai tempat informasi, disimpan selama aktivitas proyek


berlangsung

.Proses pengembangan sistem terdiri dari 3 (tiga) aktivitas utama.


1) Perumusan esensi system.

 Maksud
 Kegiatan
 Aktivitas pasar
 Informasi yang berkaitan dengan kondisi saat ini dan masa lalu.
 Aktivitas penjagaan (custodial) untuk membangun dan memelihara memori yang utama.

2) Seleksi inkarnasi.
Menyeleksi kumpulan prosesor dan kemas

Rekayasa Perangkat Lunak | http://konsep-dan-prinsip-desain-ef.blogspot.co.id/

https://julimkirom.wordpress.com/2014/05/24/12-software-engineering/ 21
2.12 Manajemen pengembangan system

Proses software engineering berkaitan selalu dengan 2 faktor utama :

 Quality

Kualitas / quality adalah nutu suatu barang yang disepakati antara supplier dan customer, mutu
tersebut mencakup QCDSM.

Quality : Kualitas produk.


Cost : Biaya produk.
Delivery : Ketepatan waktu pengiriman.
Safety : Keamanan produk dan Moral suatu produk.

 Manajemen keseluruhan proses

2.13 Pendekatan yang digunakan dalam desain

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.

Rekayasa Perangkat Lunak | https://julimkirom.wordpress.com/2014/05/24/12-software-engineering/


22
http://desyalfauzan.blogspot.co.id/2012/11/pendekatan-sistem-dalam-desain.html
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.

2.14 Software management


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.

Ruang Lingkup Rekayasa Perangkat Lunak

1. Software Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat


lunak.
2. Software desain mencakup proses penampilan arsitektur, komponen, antar muka, dan karakteristik
lain dari perangkat lunak.
3. Software construction berhubungan dengan detail pengembangan perangkat lunak, termasuk.
algoritma, pengkodean, pengujian dan pencarian kesalahan.
4. Software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak.
5. Software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah
dioperasikan.
6. Software configuration management berhubungan dengan usaha perubahan konfigurasi perangkat
lunak untuk memenuhi kebutuhan tertentu.
7. Software engineering management berkaitan dengan pengelolaan dan pengukuran RPL, termasuk
perencanaan proyek perangkat lunak.
8. Software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode
RPL.

Rekayasa Perangkat Lunak | http://desyalfauzan.blogspot.co.id/2012/11/pendekatan-sistem-


dalam-
2
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.

 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.

Rekayasa Perangkat Lunak | http://desyalfauzan.blogspot.co.id/2012/11/pendekatan-sistem-


dalam-
2
2.15 Tata kelola pengembangan software

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.

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.

Rekayasa Perangkat Lunak | https://wisnuajix.wordpress.com/2015/05/06/tata-kelola-teknologi-


informasi-poin-penting-yang-kadang-terlupa/
2
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

TI, IT Policy, dan masih banyak lagi.

Di masa lalu, penanganan pengambilan keputusan bidang teknologi informasi dan pengembangan
proyek TI di perusahaan dilakukan para profesional TI di organisasi tersebut. Sebenarnya tidak hanya di
masa lalu sih, tapi di masa kini pun masih banyak perusahaan yang menitikberakan keputusan mengenai
TI hanya pada Departemen TI.

Rekayasa Perangkat Lunak | http://konsep-dan-prinsip-desain-

2
Padahal seiring dengan perkembangan bidang teknologi informasi saat ini, Tata Kelola TI yang
baik harus dapat membangun suatu kondisi dimana semua pemangku kepentingannya (termasuk
manajemen puncak serta pengguna internal dan departemen terkait) turut terlibat dalam pengembangan
TI. Hal ini mencegah satu pihak tertentu disalahkan apabila terjadi kegagalan sebuah proyek TI dan
juga mencegah munculnya keluhan dari pengguna di belakang hari jika sistem TI yang tak memberikan
hasil atau kinerja sesuai yang diharapkan atau biaya yang membengkak. Sengaja saya beri huruf tebal
dan miring untuk menunjukkan bahwa masrahin segala keputusan terkait TI hanya pada Departemen TI
bisa menimbulkan dampak negatif yang besar dan tidak murah.

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.

Rekayasa Perangkat Lunak | http://konsep-dan-prinsip-desain-

2
MACAM-MACAM MODEL PENGEMBANGAN SOFTWARE

Secara prinsip metode pengembangan perangkat lunak bertujuan untuk membantu


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 :

1. Adanya permasalahan-permasalahan (problems) yang timbul di sistem yang lama.


2. Untuk meraih kesempatan-kesempatan (opportunities).
3. Adanya instruksi-instruksi (directives).

Metode Pengembangan Perangkat Lunak

Adapun metode pengembangan perangkat lunak yaitu :

1. Model Sekuensial Linier / Waterfall Method


2. Model Prototipe
3. Model RAD (Rapid Application Development)
4. Model Spiral

Rekayasa Perangkat Lunak | https://rifkanisa19.wordpress.com/2014/08/23/macam-macam-model-


pengembangan-software/
28
BAB III
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.
2. Tepat pada waktunya (timeliness)
Informasi yang datang pada penerima tidak boleh terlambat.
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.

Rekayasa Perangkat Lunak | Penutup

29
DAFTAR PUSTAKA

http://imaagusti.blogspot.co.id/2013/03/prinsip-dan-konsep-desain_9.html

http://joglio.blogspot.co.id/2012/05/metode-desain.html#.VxmPzdSLTGh

Sommerville, Ian. "Software Engineering" .6th . Addison Wesley. 2001

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/

Rekayasa Perangkat Lunak | Dafar Pustaka

30

Anda mungkin juga menyukai