• Tidak ada hasil yang ditemukan

MAKALAH REKAYASA PERANGKAT LUNAK. pdf

N/A
N/A
Protected

Academic year: 2018

Membagikan "MAKALAH REKAYASA PERANGKAT LUNAK. pdf"

Copied!
33
0
0

Teks penuh

(1)

MAKALAH

REKAYASA PERANGKAT LUNAK

(Dosen Pembimbing : Muhammad Jonni, M. Kom)

DISUSUN OLEH

BATTARI SEKARI (1455201418)

\

UNIVERSITAS MUHAMMADIYAH TANGERANG

FAKULTAS TEKNIK

(2)

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

(3)

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

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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

(9)

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-desain.html#.VxmPzdSLTGh

(10)

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-desain.html#.VxmPzdSLTGh

(11)

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-desain.html#.VxmPzdSLTGh

(12)

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

9

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

(13)

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

(14)

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

(15)

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/

(16)

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 “ http://www.webopedia.com/TERM/m/middleware.html

(17)

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 “ http://www.webopedia.com/TERM/m/middleware.html

(18)

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

(19)

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

(20)

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

(21)

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

https://julimkirom.wordpress.com/2014/05/24/12-software-engineering/

(22)

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-lunak/ https://julimkirom.wordpress.com/2014/05/24/12-software-engineering/

(23)

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/

(24)

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/

(25)

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/

http://desyalfauzan.blogspot.co.id/2012/11/pendekatan-sistem-dalam-desain.html

(26)

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

(27)

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

(28)

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/

(29)

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-ef.blogspot.co.id/

(30)

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-ef.blogspot.co.id/

(31)

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/

(32)

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

(33)

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

Gambar

Gambar : proses merancang user interface
Gambar 2: arsitektur corba dasar

Referensi

Dokumen terkait

Sejalan dengan perkembangan teknologi informasi seperti sekarang ini, sangat mudah bagi wirausahawan yang ingin mendapatkan informasi aktual dan terbuka untuk siapa saja.

Dengan demikian, seiring dengan perkembangan teknologi, maka dibutuhkan kepraktisan dalam segala hal, termasuk dalam pengelolaan data perbaikan dan penggantian komponen listrik dan

IT governance bertujuan untuk mengatur sistem tata kelola TI di dalam perusahaan, termasuk menyeleraskan departemen IT dengan tujuan bisnis..  Membuat teknologi informasi dan strategi