Anda di halaman 1dari 33

TUGAS 1

Makalah
Rekayasa Perangkat Lunak

Di Susun Oleh:

NAMA : MARWAN EFENDI


NIM : 14-650-143
KELAS : C

NAMA : FARLIS NAHFI ROSAN


NIM :
KELAS : C

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS DAYANU IKHSANUDDIN
2017
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 ..................................................................................................................... 21


3.2 Saran .............................................................................................................................. 21

DAFTAR PUSTAKA ........................................................................................................ 22


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.

Bau Bau, 2 Juni 2017

Penyusun

( Marwan Efendi )
Abstrak

Rekayasa perangkat lunak merupakan sebuah pempaparan rangkaian


teknologi. Untuk mencapai suatu kualitas, banyak pendekatan keteknikan dan
komitmen dasar yang mesti diterapkan. Misalnya Total Quality Management, atau
pengembangan proses yang terus menerus. Dalam pengembangan perangkat lunak
kita mengenal istilah metode dan tools perangkat lunak.

Metode-metode perangkat lunak memberikan teknik untuk membangun


perangkat lunak. Metode software engineering memberikan tehnik-tehnik bagaimana
membentuk software. Terdiri dari serangkaian tugas seperti perencanaan dan estimasi
proyek. Sedangkan Tool-tool rekayasa perangkat lunak memberikan topangan yang
otomatis ataupun semi otomatis pada proses-proses dan metode-metode yang ada.
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)
B. Rumusan Masalah

Sesuai dengan latar belakang yang telah dikemukakan, dapat dirumuskan beberapa
permasalahan, diantaranya ialah:

Apa yang dimaksud dengan rekayasa perangkat lunak?


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

C. Tujuan

Adapun tujuan dari penulisan makalah ini adalah :

Agar mengetahui pengertian rekayasa perangka lunak.


Agar mengetahui unsur-unsur dalam rekayasa perangkat lunak.
Mengetahui pandangan para filsuf terhadap prinsip-prinsip metodologi.
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.
Kualitas desain sangat penting. Dua metode digunakan untuk mengecek kualitas:

1) Tinjauan ulang teknis formal, dan b) desain walkthrough

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 :

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 refinement
merupakan konsep yang saling melengkapi.
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.
2.2 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 (Perangkat Lunak)

Bagian Penting Dalam Metode Desain 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

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

1. Batas aliran diindikasikan


2. DFD dipetakan ke dalam struktur program
3. Hirarki kontrol ditentukan dengan pemfaktoran
4. 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.
2.3 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 :

Karakteristik gui :
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.
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).
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
2.5 Rekayasa software client / server

1. Pendekatan mengalokasikan atau mendistribusikan komponen software client /


server:

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

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


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

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

Psede code 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


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


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

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

Anda mungkin juga menyukai