• Tidak ada hasil yang ditemukan

Pertemuan 1 Pengenalan Rekayasa Perangkat Lunak TIK : Menjelaskan tentang konsep dasar rekayasa perangkat lunak

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pertemuan 1 Pengenalan Rekayasa Perangkat Lunak TIK : Menjelaskan tentang 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 Orientation

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

Era Keempat (1990 – 2000) : Expert system

(3)

Suatu penerapan A.I. (Artificial 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 Architecture

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

Model proses perangkat lunak merupakan deskripsi yang disederhanakan dari proses perangkat lunak yang di presentasikan dengan sudut pandang tertentu. Model, sesuai sifatnya merupakan penyederhanaan, sehingga model proses perangkat lunak merupakan abstraksi dari proses sebenarnya yang dideskripsikan. Model proses juga bisa mencakup kegiata n yang merupakan bagian dari proses perangkat lunak, produk perangkat lunak dan peran orang yang

(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

Subfase perencanaan menghasilkan dua produk : System Definition dan Poject Plan. Format kedua produk adalah sebagai berikut :

(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 command, 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.

Kegiatan yang meliputi fase pemeliharaan adalah : peningkatan kemampuan, adaptasi terhadap lingkungan pemrosesan, dan melakukan berbagai koreksi atas kesalahan yang terjadi

(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 Feasibility Review) System Definition Project Plan

Spsesifikasi persyaratan perangkat lunak SRR (Software Requirements Review) User’s Manual awal

Rencana awal verifikasi PDR (Preliminary Design Review) Dokumen disain arsitektur CDR (Critical Design Review) Spesifikasi disain rinci

SCR (Source Code Review) Penelusuran dan Pemeriksaan source code ATR (Acceptance Test Review) Rencana uji penerimaan

PRR (Product Release 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

Authorize Feasibilty

(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 Design

(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

1. Presman, Rouger S, Software Enigineering, 4th Edition, Mc. Graw Hill,1997. 2. Sommerville,Ian, Software Engineering, 7th Edition, Addison Wesley, 2004. 3. Kendall & Kendall, Systems Analysis and Design, 6th Edition, Prentice Hall,2006. 4. Jacobsan Ivar, Process and The UML, Rational Software Corporation,1997.

Referensi

Dokumen terkait

 Dengan mengikuti model proses, proyek pengembangan perangkat lunak harus dapat meningkatkan kualitas proses:..  Dapat mengulang

Perangkat lunak merupakan kumpulan dari program, prosedur, dan dokumen data lain yang saling berhubungan yang merepresentasikan masalah di dunia nyata yang dikonfigurasikan dalam

RPL atau Software Engineering (SE) Disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem

Perencanaan proyek rekayasa perangkat lunak membahas berbagai tindakan atau pekerjaan yang perlu dilakukan oleh semua yang terlibat di dalam proyek, termasuk

• Mampu menjelaskan dan membandingkan model proses rekayasa perangkat lunak Ceramah / penjelasan materi perkuliahan Tanya jawab 2 x 50” Model Proses Rekayasa Perangkat Lunak •

Penilaian umum; persetujuan tim proyek • Untuk menyelesaikan sebuah proyek perangkat lunak bisa mengombinasikan lebih dari satu model proses Model Proses Lainnya • Component Based

Dokumen ini berisi tentang model pengembangan rekayasa perangkat

Manajemen proyek merupakan lapisan pertama dalam proses rekayasa perangkat lunak skala