• Tidak ada hasil yang ditemukan

Konsep Dasar Rekayasa Perangkat Lunak

N/A
N/A
Protected

Academic year: 2018

Membagikan "Konsep Dasar Rekayasa Perangkat Lunak"

Copied!
9
0
0

Teks penuh

(1)

1. Konsep Dasar Rekayasa Perangkat Lunak

Konsep dasar rekayasa perangkat lunak mempunyai dua hal pokok yaitu perangkat lunak (software) dan komponen perekayasa. Menurut IEEE definisi perangkat lunak (software) merupakan program komputer, pro sedur, data dan semua dokumentasi yang berhubungan operasi pada sistem komputer. jadi bisa disimpulkan bahwa software merupakan kumpulan dari object membentuk konfigurasi yang didalamnya termasuk program, dokumen, dan data. Sedangkan Perekayasa software bertugas mengembangkan produk perangkat lunak, yang secara produk dapat dikategorikan menjadi 2 tipe yaitu :

a. Produk generik

Sistem stand-alone, produk shrink-wrapped b. Produk pesanan

Produk custemisasi, terdapat proses interaksi antara pemesan dan pembuat.

Rekayasa perangkat lunak dapat didefinisikan sebagai disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan. Rekayasa perangkat lunak tidak hanya berhubungan dengan proses teknis dari pengembangan perangkat lunak tetapi juga mencakup kegiatan manajemen proyek perangkat lunak dan pengembangan alat bantu, metode dan teori untuk mendukung produksi perangkat lunak. Secara umum rekayasa perangkat lunak memakai pendekatan yang sistematis dan terorganisir dengan menggunakan metode tertentu.

2. Proses dan Metode Perangkat Lunak

Proses perangkat lunak merupakan serangkaian kegiatan dan hasil hasil relevannya yang menghasilkan perangkat lunak. Kegiatan ini sebagian besar dilakukan oleh perekayasa perangkat lunak. Terdapat empat kegiatan proses dasar, meliputi :

1. Spesifikasi perangkat lunak.

Fungsionalitas perangkat lunak dan batasan kemampuan operasinya harus didefinisikan.

2. Pengembangan perangkat lunak.

Pengembangan terhadap produk perangkat lunak yang memenuhi spesifikasi perangkat lunak.

3. Validasi perangkat lunak.

Perangkat lunak harus divalidasi untuk menjamin bahwa perangkau lunak melakukan apa yang diinginkan oleh user.

4. Evolusi rangkat lunak.

Perangkat lunak harus berkembang untuk memenuhi kebutuhan pelanggan yang berubah ubah.

Metode rekayasa perangkat lunak merupakan pendekatan terstruktur terhadap pengembangan perangkat lunak yang bertujuan memfasilitasi produksi perangkat lunak kualitas tinggi dengan cara yang efektif dalam hal biaya. Terdapat beberapa metode yang bisa digunaka seperti metode berorientasi fungsi, metode berorientasi objek dan metode pendekatan gabungan yang sekarang lebih dikenal dengan istilah UML (unified modeling language).

3. Evolusi Pe rkembangan Software

Pertemuan 1

Pengenalan Rekayasa Perangkat Lunak

(2)

Gambar 1. Evolusi Software Era Pertama ( 1950 – 1960) :

Batch Or ientation

Suatu orientasi di mana proses dilakukan setelah data dikumpulkan dalam satuan waktu tertentu, atau proses dilakukan setelah data terkumpul, lawa n dari batch adalah ONLINE atau Interactive Process. Keuntungan dari Interactive adalah mendapatkan data yang selalu up to date.

Limmited distribution

Suatu penyebaran software yang terbatas pada perusahaan-perusahaan tertentu. Custom software

Software yang dikembangkan berdaasarkan perusahaan-perusahaan tertentu. Era Kedua (1960 – 1970) :

Multi user

Suatu sistem di mana satu komputer digunakan oleh beberapa user pada saat yang sama.

Real Time

Suatu sistem yang dapat mengumpulkan, menganalisa dan mentransfo rmasikan data dari berbagai sumber, mengontrol proses dan menghasilkan output dalam mili second.

Database

Perkembangan yang pesat dari alat penyimpan data yang OnLine menyebabkan muncul generasi pertama. DBMS (DataBa se Management System).

Product Software

Adalah software yang dikembangkan untuk dijual kepada masyarakat luas. Era Ketiga (1980 – 1990) :

Distributed system

Suatu sistem yang tidak hanya dipusatkan pada komputer induk (Host computer), daerah atau bidang lainnya, yang juga memiliki komputer yang ukurannya lebih kecil dari komputer induk. Lawan dari distributed system adalah Centralized System.

Embedded Intelegence

Suatu product yang diberi tambahan “Intellegence” dan biasanya ditambahkan mikroprocessor yang mutakhir. Contohnya adalah automobil, robot, peralatan diagnostic serum darah.

Low Cost Hardware

harga hardware yang semakin rendah, ini dimungkinkan karena munculnya Personal Computer.

Consummer Inpact

Adanya perkembangan komputer yang murah menyebabkan banyaknya software yang dikembangkan, software ini memberi dampak yang besar terhadap masyarakat.

(3)

Suatu penerapan A.I. (Artificia l Intellegence) pada bidang-bidang tertentu, misalnya bidang kedokteran, komunikasi, dll.

AI Machine

Suatu mesin yang dapat meniru kerja dari sebagian otak manusia. Misalnya mesin robot, komputer catur.

Parallel Ar chitecture

Arsitektur komputer yang memungkinkan proses kerja LAN paralel, yang dimungkinkan adanya prosesor berbeda dalam satu komputer.

4. Karakteristik dan Atribut Perangkat Lunak Karakteristik perangkat lunak :

a. Software merupakan elemen sistem logik dan bukan elemen sistem fisik seperti hardware.

b. Elemen itu tidak aus, tetapi bisa rusak.

c. Elemen software itu direkayasa atau dikembangkan dan bukan dibuat di pabrik sepert i hardware

d. Software itu tidak bisa dirakit. Atribut perangkat lunak :

a. Dapat dipelihara : Perangkat lunak dapat ditulis sedemikian rupa sehingga perangkat lunak dapat berubah seiring dengan perubahan kebutuhan pelanggan.

b. Dapat diandalkan : Perangkat lunak mempunyai serangkaian karakteristik, termasuk keandalan, keamanan dan keselamatan.

c. Efisien : Perangkat lunak tidak boleh menggunakan sumber daya sistem seperti siklus memori dan prosesor.

d. Kemampupakaian : Perangkat lunak harus dapat dipakai, memiliki interface user yang bagus dan dokumentasi yang mencukupi.

5. Tanggung Jawab Profesional dan Etika

Rekayasa perangkat lunak jelas dibatasi oleh hukum lokal, nasional dan internasional. Perekayasa perangkat lunak harus memiliki tanggung jawab etis dan moral jika ingin dihormati sebagai profesional. Terdapat beberapa standar dan kode etik yang harus dipertimbangkan, yaitu:

a. Konfidensialitas

Harus menghormati konfidensialitas atasan dan kliennya walaupun tidak ada persetujuan yang ditanda tangani secara formal.

b. Kompetensi

Tidak boleh menyalahi tingkat kompetensinya (melebihi atau menyimpang) c. Hak Properti Intelektual

Menyadari terhadap hukum yang mengatur penggunaan properti intelektual, seperti paten, hak cipta dan lain sebagainya.

d. Penyalahgunaan Komputer

Tidak boleh dengan sengaja menyalah gunakan komputer yang nantinya berakibat merugikan orang lain, seperti penyebaran virus, penyadapan dan lain sebagainya.

6. Model Proses Perangkat Lunak

(4)

terlibat pada rekayasa perangkat lunak.

Ada beberapa contoh jenis model proses perangkat lunak, antara lain: a. Model aliran kerja (work flow)

Model ini memandang proses dari urutan dan prosedur kerja (input, output dan ketergantungannya).

b. Model aliran data (data flow)

Model ini merepresentasikan proses sebagai satu set kegiatan yang masing masing melakukan transformasi data.

c. Model peran/aksi

Model ini merepresentasikan peran orang yang terlibat pada proses perangkat lunak dan kegiatan yang menjadi tanggung jawabnya dalam penyelesaian sebuah sistem.

Life Cycle

Life-cycle sebuah perangkat lunak mencakup semua kegiatan yang yang perlu dilakukan untuk mendefinisikan, mengembangkan, menguji, mengantarkan, mengoperasikan, dan memelihara produk perangkat lunak. Beberapa model yang akan dibahas adalah : model fase (phased model), model biaya (cost model), model prototipe (prototype model), dan model berurutan (successive model).

a. Model Fase

Model ini membagi life cycle ke dalam sederetan kegiatan (fase). Setiap fase membutuhkan informasi masukan, proses, dan produk yang terdefinisi dengan baik. Deretan fase tersebut adalah : analisa, perancangan, implementasi, pengujian, dan pemeliharaan. Berikut ini model fase dasar yang dinyatakan sebagai waterfall chart :

Analisis Perancangan Implementasi Pengujian Pemeliharaan

-perencanaan -penetapan persyaratan

arsitektur

rinci

verifikasi

coding, debugging, dan uji code

verifikasi

- uji integrasi - uji penerimaan verifikasi

verifikasi - peningkatan

- adaptasi - perbaikan

Life cycle mode fase dari sebuah perangkat lunak

(5)

Format System Definition Format Project Plan

Bab 1 : Pendefinisian masalah Bab 1 : Model life cycle : terminologi, tonggak penting,

Bab 2 : Justifikasi sistem produk kerja

Bab 3 : Sasaran sistem dan proyek Bab 2 : Struktur organisasi : struktur manajemen/

Bab 4 : Batasan sistem dan proyek struktur team, gambaran kerja

Bab 5 : Fungsi yang harus disiapkan Bab 3 : Perkiraan personal & persyaratan sumber daya

(H/W, S/W, personal) Bab 4 : Jadwal awal pengembangan

Bab 6 : Karakteristik pengguna Bab 5 : Perkiraan awal biaya

Bab 7 : Lingkungan pengembangan/ Bab 6 : Pengawasan proyek dan mekanisme kontrol operasi/pemeliharaan Bab 7 : Alat bantu dan teknik yang digunakan

Bab 8 : Strategi solusi Bab 8 : Bahasa pemrograman

Bab 9 : Prioritas gambaran sistem Bab 9 : Persyaratan pengujian

Bab 10: Kriteria penerimaan sistem Bab 10: Dokumen pendukung yang diperlukan

Bab 11: Sumber informasi Bab 11: Cara demonstrasi

Bab 12: Daftar istilah Bab 12: Jadwal dan materi pelatihan

Bab 13: Rencana pemasangan (instalasi)

Bab 14: Pokok perhatian dalam pemeliharaan Bab 15: Metoda dan waktu pengantaran Bab 16: Metoda dan waktu pembayaran Bab 17: Sumber informasi

Subfase penetapan persyaratan menghasilkan sebuah produk : Software Requirements Specifications. Format produk ini adalah sbb :

Format Software Requirements Specifications Bab 1 : Gambaran dan penjelasan ringkasan produk

Bab 2 : Lingkungan pengembangan, pengoperasian, dan pemeliharaan

Bab 3 : Pengantarmukaan eksternal dan aliran data : format tampilan, user comma nd, DFD, kamus data

Bab 4 : Persyaratan fungsional : fungsi-fungsi yang diinginkan Bab 5 : Persyaratan kinerja : tanggapan, waktu proses

Bab 6 : Penanganan kesalahan : aksi dan pesan yang harus dilakukan sebagai tanggapan atas input atau situasia yang tidak dikehendaki produk

Bab 7 : Subset permulaan dan prioritas implementasi : „versi‟ awal produk Bab 8 : Perkiraan modifikasi dan peningkatan

Bab 9 : Kriteria penerimaan

Bab 10 : Petunjuk dan panduan perancangan Bab 11 : Index acuan

Bab 12 : Daftar istilah

Fase perancangan melakukan identifikasi terhadap komponen perangkat lunak (fungsi, arus data, penyimpanan data), hubungan antar komponen, struktur perangkat lunak (dekomposisi menjadi modul- modul dan pengatarmukaannya). Fase ini menghasilkan arsitektur rinci, terutama dalam bentuk algoritma-algoritma.

Fase implementasi adalah terjemahan langsung arsitektur rinci ke dalam bahasa pemrograman tertentu.

Subfase uji integrasi melakukan pengujian terhadap semua modul dan pengantarmukaan sehingga pada level sistem dapat beroperasi dengan benar

Subfase uji penerimaan melakukan baerbagi pengujian mengacu kepada berbagai persyaratan yang telah ditentukan.

(6)

Penilaian kemajuan proyek akan lebih mudah jika pada model fase tersebut ditetapkan beberapa tonggak penting (milestone) yang pada setiap fase atau antar setiap dua fase yang berurutan. Berikut ini Life cycle mode fase dari sebuah perangkat lunak yang dilengkapi dengan kegiatan review dan tonggak penting :

Analisis Perancangan Implementasi Pengujian Pemeliharaan -perencanaan

-penetapan persyaratan

arsitektur

rinci

verifikasi

coding, debugging, dan uji code

verifikasi

- uji integrasi - uji penerimaan verifikasi

verifikasi - peningkatan

- adaptasi - perbaikan

PFR SRR PDR CDR SCRs ATR PRR

PPM

Review Produk Kerja yang direview

PFR (Product Fea sibility Review) System Definition

Project Pla n

Spsesifikasi persyaratan perangkat lunak

SRR (Softwa re Requirements Review) User’s Manual awal

Rencana awal verifikasi

PDR (Preliminary Design Review) Dokumen disain arsitektur

CDR (Critica l Design Review) Spesifikasi disain rinci

SCR (Source Code Review) Penelusuran dan Pemeriksaan source code

ATR (Acceptance Test Review) Rencana uji penerimaan

PRR (Product Relea se Review) Semua produk kerja sebelumnya

PPM (Project Post-Mortem) Catatan umum pelaksanaan proyek

b. Model Biaya

Model biaya adalah cara pandang lain model fase sebuah perangkat lunak dengan cara memperhatikan biaya berbagai kegiatan dalam proyek perangkat lunak. Biaya proyek adalah jumlah biaya dari setiap fase proyek. Biaya setiap fase mencakup biaya kegiatan dan penyiapan produk pada fase tersebut ditambah dengan biaya verifikasi konsistensi produk suatu fase terhadap semua fase sebelumnya.

Plan Verify

(7)

S/W requirements

analysis

Modify SD Fix SD

Verify Verify Verify

SRS SRS : Software Requirement Spesification, preliminary User‟s Manual

Design Modify SD/SRS Fix SD/SRS

Verify Verify Verify

DD DD : Software Design Spesification, Software Verification Plan

Build Modify SD/SRS/DD Fix SD/SRS/DD

Verify Verify Verify

SC SC : Source Code, Acceptance Test Plan

System test Modify SD/SRS/DD/SC Fix

SD/SRS/DD/SC

Verify Verify Verify

SS SS : Source Code, User‟s Manual, Principles of Operation

Operate and Maintain Modify

SS

Adapt SS

Fix SS

Verify Verify Verify Verify

Ada 2 sisi penting dari model biaya :

Karena modl biaya hanyalah cara pandang lain dari model fase maka semua dokumen yang dihasilkan tepat sama dengan yang dihasilkan pada model fase.

Biaya verifikasi, apalagi perbaikan, atas suatu produk akan makin besar jika produk tersebut dihasilkan oleh suatu fase yang jauh di belakang fase saat verifikasi dilakukan.

c. Model Prototipe

Marketing Business Customer Internal

Requirements Plans Request Request

(8)

Study

Preliminary Preliminary

Requirements Requirements

Analysis Spesification

Autorize Prorotype

Prototype

Formal Preliminary Implementation Implementation Preliminary

Equirements Design Design Plan Test Plan

Spesification Spesification Code Test

Demo

Authorize Project

Final Product Final Maintenance

Design Implementation Test Spesification Spesification Detailed design Spesification

Coding Checkout Integration

Document Quality

Demo Assurance

Final

Validation Evaluation

Report Product

Release

Beberap catatan tentang model prototipe :

Sebuah prototipe adalah model dari sebuah produk perangkat lunak tetapi dengan beberapa keterbatasan, misalnya : keterbatasan kemampuan, keandalan yang rendah, dan kinerja yang tidak efisien.

Alasan penggunaan model prorotipe adalah :

1. untuk menggambarkan format data masukan, pesan-pesan, laporan, dan dialog interaktif

2. untuk mengeksplorasi isu-isu teknis dalam produk yang diusulkan

3. model fase „analisis perancangan implementasi‟ tidak dapat digunakan

d. Model Succesive

Planning & analysis

Planning & analysis

(9)

Design Versi I

Build Version I

Assess Version I

No Good ?

Maintenance

Versi I I = 1..N

Build Version I

Assess Version I

No I=N?

Maintenance

Perancangan dan implementasi model berurutan

Analisa dan perancangan yang diikuti implementasi dari model berurutan

Daftar Pustaka

Gambar

Gambar 1. Evolusi Software

Referensi

Dokumen terkait

Hal ini sangat beralasn sebab pengaturan masalah pencurian ikan/ Illegal Fishing itu sendiri masih baru saja diatur dalam Hukum positif kita, dengan

diberikan sesuai dengan kebutuhan menjelaskan pada indikator ini didominasi oleh 42 responden atau 70% menyatakan setuju dengan pernyataan bahwa pelayanan yang

Pelaksanaan kegiatan ini merupakan kegiatan yang penting dalam pelaksanaan PPL. Saat praktik mengajar mahasiswa akan dituntut untuk mengajar langsung di dalam

Mengenai reposisi pendidikan agama Islam dalam pendidikan nasional, Ada tiga alasan, pertama, nilai-nilai yang terkandung dalam Pancasila sebagai dasar pendidikan tidak

SQL Server 2005 Integration Services atau biasa disingkat dengan SSIS adalah sebuah tool yang digunakan untuk melakukan proses Extract, Transform, and Load (ETL) dan

Kosmetik menurut Peemenkes 01 no (*23men.Kes3Per3435 adalah bahan Kosmetik menurut Peemenkes 01 no (*23men.Kes3Per3435 adalah bahan atau campuran bahan untuk digosokkan,

Avoidant coping merupakan strategi yang dilakukan individu untuk menjauhkan diri dari sumber stres dengan cara melakukan suatu aktivitas atau menarik diri dari suatu

PPL adalah semua kegiatan kurikuler yang harus dilakukan oleh praktikan, sebagai pelatihan untuk menerapkan teori yang diperoleh selama perkuliahan, sesuai dengan