• Tidak ada hasil yang ditemukan

Software Products are Software Systems delivered to a customer with the documentation which describes how to install and use the system.

N/A
N/A
Protected

Academic year: 2022

Membagikan "Software Products are Software Systems delivered to a customer with the documentation which describes how to install and use the system."

Copied!
6
0
0

Teks penuh

(1)

MONOGRAF Topik 2 : Perangkat Lunak

2.1 Produk Perangkat Lunak

Tujuan utama rekayasa perangkat lunak adalah menghasilkan suatu produk perangkat lunak.

Produk Perangkat Lunak menurut Ian Sommerville [SOM00] didefinisikan sebagai berikut:

Software Products are Software Systems delivered to a customer with the documentation which describes how to install and use the system.

Produk perangkat lunak adalah sistem perangkat lunak beserta dokumentasinya yang menjelaskan prosedur penyiapan dan penggunaan perangkat lunak tersebut.

Pada definisi lain yang dikutip oleh Pressman [PRE01] dalam bukunya Software Engineering A Practioner’s Approach, perangkat lunak didefinisikan lebih riinci lagi yaitu sebagai:

a. instruksi-instruksi yang jika dieksekusi akan memberikan layanan-layanan atau fungsi seperti yang diinginkan

b. struktur data yang diperlukan oleh suatu program untuk memanipulasi informasi c. dokumen-dokumen yang mendeskripsikan penggunaan suatu program.

2.2 Karakteristik Perangkat Lunak

Menurut Pressman [PRE01], ada beberapa karakteristik perangkat lunak yang membedakan dengan perangkat keras :

Karakteristik pertama : Software is developed or engineered, it is not manufactured in the classical sense.

Perangkat lunak adalah suatu produk yang lebih menekankan pada kegiatan rekayasa (engineering) dibandingkan kegiatan manufacturing (rancang bangun di pabrik). rumit.

Karakteristik kedua : Software doesn’t “wear out”

Perangkat lunak bukanlah produk yang dapat usang atau rusak untuk kemudian dibuang, seperti halnya produk perangkat keras. Yang dapat terjadi adalah produk-produk perangkat lunak tersebut tidak dapat melayani beberapa kebutuhan yang dikehendaki pemakainya, disebabkan berkembangnya kebutuhan-kebutuhan baru. Sehingga perlu dilakukan perubahan-perubahan pada perangkat lunak tersebut seperti yang ditunjukkan Gambar 2.4

Sumber : [PRE01]

Failure ra te

idealized curve change

actual curve

Tim e effects

increased failure rate due to side

Gambar 2.4 Kondisi Aktual dan Ideal Perangkat Lunak [PRE01]

(2)

Karakteristik ketiga : Most software is custom-built rather than being assembled from existing components

Kebanyakan perangkat lunak tidak dibangun dari perangkat lunak-perangkat lunak yang sudah ada. Pembangunan aplikasi baru kebanyakan dimulai dari awal, dari tahap analisis sampai tahap pengujian. Namun demikian, kini paradigma baru mulai dikembangkan, yaitu konsep reuseability. Dengan konsep ini suatu aplikasi baru dapat dikembangkan dari aplikasi yang sudah ada yang menerapkan konsep reusability tersebut.

2.3 Kualitas Perangkat Lunak

Ukuran kualitas perangkat lunak dilihat dari atribut antara lain :

ƒ

Maintainability , yaitu tingkat kemudahan perangkat lunak tersebut dalam mengakomodasi perubahan-perubahan

ƒ Dependability, ketidakbergantungan perangkat lunak dengan elemen-elemen sistem lainnya atau sistem secara keseluruhan.Artinya kegagalan elemen lain tidak mempengaruhi performansi perangkat lunak

ƒ

Efficiency , menyangkut waktu eksekusi

ƒ Usability , yaitu atribut yang menunjukkan tingkat kemudahan pengoperasian perangkat lunak

2.4 Aplikasi Perangkat Lunak

Pressman [PRE01] mendefinisikan aplikasi perangkat lunak sebagai berikut:

Perangkat lunak sistem

Suatu perangkat lunak yang berfungsi melayani perangkat lunak lain, seperti : kompilator, editor, sistem operasi, utilitas, da lain-lain.

Perangkat lunak Real time (waktu nyata)

Suatu perangkat lunak yang berfungsi mengendalikan, memonitor atau menganalisis kejadian (event) yang terjadi pada keadaan nyata. Perangkat lunak ini mempunyai komponen sebagai berikut :

• komponen pengumpul data : mengumpulkan & memformat informasi dari lingkungan eksternal

• komponen analisis: melakukan transformasi informasi yang dibutuhkan aplikasi

• komponen control/output: merespon lingkungan eksternal

• komponen pemonotoran : mengkoordinasi seluruh komponen sehingga respon real time yang diinginkan dapat tercapai

Perangkat lunak bisnis

Perangkat lunak yang mengakses satu atau lebih basisdata besar yang berisi informasi bisnis, sebagai contoh sistem payroll, sistem invetori, dan lain-lain.

Perangkat lunak keteknikan dan keilmuan

Perangkat lunak ini banyak membantu memecahkan permasalahan di bidang astronomi, vulkanologi, automotive stress analysis, molecular biology, automotive manufacturing, Computer Aided Design (CAD), dan lain-lain

(3)

Embedded software

Perangkat lunak yang ditanam pada suatu chip (EEPROM). Perangkat lunak ini terintegrasi dengan perangkat keras dan berfungsi mengatur kinerja dari perangkat keras tersebut. Sebagai contoh : microwave oven, telpon genggam, pengaturan avionik pesawat udara, dan lain-lain.

Perangkat lunak Komputer personal (PC)

Perangkat lunak yang dioperasikan di PC, seperti : pengolah kata, multimedia, DBMS.

Perangkat lunak Kecerdasan Buatan

Perangkat lunak yang menerapkan algoritma nonnumerik untuk memecahkan permasalahan yang kompleks. Contoh : perangkat lunak kecerdasan buatan, sistem pakar, dan lain-lain.

2.5 PROSES PERANGKAT LUNAK

Proses perangkat lunak adalah sebuah kerangka kerja untuk membangun perangkat lunak yang berkualitas tinggi. Gambar 2.5 menunjukkan lapisan teknologi pada rekayasa Perangkat lunak.

t t oo o ol ls s me m et t ho h od ds s pr p ro oc ce es s s s m mo od de el l a a “q qu ua al li it ty y f f oc o c us u s

Gambar 2.5 Lapisan-lapisan Rekayasa Perangkat Lunak [PRE01]

Dari Gambar 2.2 tersebut dapat dilihat bahwa tujuan utama rekayasa perangkat lunak adalah pencapaian kualitas ( “Quality Focus”). Kualitas ini diterjemahkan ke dalam ukuran-ukuran (metrics), meliputi maintaiability, dependability, usability, dan efificientcy yang sudah diterangkan di atas.

.

Proses : mendefinisikan kerangka kerja (frame work) , sehingga pembangunan perangkat lunak dapat dilakukan secara sistematis.

Metode : mendefinisikan bagaimana perangkat lunak dibangun, meliputi metode-metode yang digunakan dalam melakukan analisis kebutuhan, perancangan, implementasi dan pengujian.

Sebagai contoh : metode terstruktur, metode berorientasi objek, dan lain-lain.

Alat Bantu : perangkat yang bersifat otomatis maupun semi otomatis yang berfungsi mendukung tiap tahap pembangunan perangkat lunak. Contoh : CASE, CAD, dan lain-lain.

2.6 MODEL PROSES

Fungsi utama model proses pengembangan perangkat lunak adalah :

ƒ menentukan tahap-tahap yang diperlukan untuk pengembangan perangkat lunak.

(4)

ƒ menentukan urutan pelaksanaan dari tahap-tahap tersebut dalam rangka pengembangan perangkat lunak.

ƒ menentukan kriteria transisi/perpindahan dari satu tahap ke tahap berikutnya.

a. Model Linier Sekuensial

Gambar 2.6 Model Linier Sekuensial [PRE01]

nalisis

Design Code Test

Analysis

System / Information Engeneering

A : merupakan tahap untuk menganalisis hal-hal yang diperlukan dalam pelaksanaan

erancangan (Design)

pembangunan perangkat lunak . Hasil analisis didokumentasikan dan dikaji ulang oleh customer.

P : tahap ini merupakan tahap penerjemahan dari kebutuhan fungsional dan

mplementasi (Code Generation)

data yang telah dianalisis ke dalam bentuk yang mudah untuk dimengerti oleh programmer

I : mengimplementasikan hasil rancangan ke dalam bahasa

engujian (Testing)

pemrogramamn komputer yang telah ditentukan

P : Uji coba perangkat lunak yang terfokus pada logika internal dari

odel proses ini sering disebut juga dengan model proses waterfall. Tiap tahap pada model

. Model Prototyping

mampu mendefinisikan kebutuhannya secara detil. Oleh karena itu perangkat lunak dan kesesuaian perangkat lunak yang dibangun dengan kebutuhan fungsional yang didefinisikan.

M

proses ini diakhir dengan dokumentasi. Oleh karena itu model ini sering juga disebut model Document Driven Software Process.

b

Tidak semua customer

diperlukan prototype untuk mengeksplorasi kebutuhan customer. Dengan melihat prototype customer dapat mengevaluasinya dan memberikan masukan-masukan kepada pengembang sehingga prototype yang dibangun semakin mendekati kebutuhan yang sebenarnya. Gambar 2.7 menunjukkan model prototyping.

(5)

Start

Requirement Gathering

& Refinemet

Stop

Quick Design

Engineer Product

Building Prototype

Refining

Prototype Customer Evaluation of

Prototype

Gambar 2.7 Model Prototyping

Model ini sering dikenal sebagai “Code Driven Software Process”dan merupakan salah satu proses perangkat lunak yang mulai banyak digunakan saat ini. Model Prototyping banyak memanfaatkan 4GL dan Application Generator.

Dibandingkan dengan model linier sekuensial model ini memiliki produktivitas lebih baik namun kelengkapan fungsi dari sistem dan keterpaduan (integrasi) sistem kurang baik.

c. Model Spiral

Model ini sering dikenal sebagai Risk Driven Software Process. Model ini sesuai untuk pengembangan proyek yang berskala besar, dengan memperhatikan pengaruh resiko dilihat dari segi finansial maupun keamanan (jiwa manusia). Model ini merupakan kombinasi linier sekuensial, Prototyping dan Risk Analysis. Pada tiap akhir tahap dibuat dokumen hasil analisis resiko. Gambar 2.8 menunjukkan model proses Spiral.

(6)

Risk analysis Risk analysis Risk analysis

Risk analysis Proto-

type 1 Prototype 2

Prototype 3 Opera- tional protoype

Concept of Operation

Simulations, models, benchmarks S/W

requirements Requirement

validation Design

V&V

Product

design Detailed design Code Unit test Integr ation Acceptance test

Service test Develop, verify next-level product Evaluate alternatives identify, resolve risks Determine objectives

alternatives and constraints

Plan next phase

Integration and test plan Development

plan Requirements plan

Life-cycle plan REVIEW

Gambar 2.8 Model Proses Spiral

Beberapa model proses lain antara lain Inkremental, Rapid Application Development dan 4GT . Silakan anda eskplorasi sendiri !

Gambar

Gambar 2.4 Kondisi Aktual dan Ideal Perangkat Lunak [PRE01]
Gambar 2.7 Model Prototyping
Gambar 2.8 Model Proses Spiral

Referensi

Dokumen terkait

R: Apakah anda pernah mencoba menggunakan bahasa Inggris untuk berkomunikasi baik dengan guru atau dengan teman. H:

Edwards, tiningnan lamang daw kasi niya kung talagang may pera nga sa Sagrada noong unang buwan kaya wala siyang dala.. Kinausap ko minsan

Kondisi topografi Kabupaten Labuhanbatu pada umumnya memiliki ketinggian yang rendah dengan kelerengan yang relatif datar dari Kecamatan Panai Hilir hingga Kecamatan

As noted earlier, building a failover cluster for Hyper-V Quick Migration is a straightforward process of configuring multiple, similar physical servers with shared networking,

Hasil penelitian Wendy (2012) dalam Asri (2013) menemukan bahwa perilaku overconfidende juga dikenal dengan sebutan overcofidence bias, prediction overconfidence

Untuk mengatasi masalah sering terjadinya kebuntuan saringan pasir lambat akibat kekeruhan air baku yang tinggi, dapat ditanggulangi dengan cara modifikasi disain

The purpose of this study was to compare the finance performance of Owned StateBank and Nasional Private Foreign Exchange Bank abd to determine whether there are

J UDUL : DETEKSI PEDESTRIAN MENGGUNAKAN METODE HISTOGRAM OF ORIENTED GRADIENTS PADA LIBRARY EMGU.CV. PENYUSUN : KANTI