Makalah RPL

38
MAKALAH Rekayasa Perangkat Lunak Disusun oleh: Clarissa Amanda Josaputri (4611412034) Ilmu Komputer Universitas Negeri Semarang Fakultas Matematika dan Ilmu Pengetahuan Alam

description

tentang rpl

Transcript of Makalah RPL

Page 1: Makalah RPL

MAKALAH

Rekayasa Perangkat Lunak

Disusun oleh:

Clarissa Amanda Josaputri (4611412034)

Ilmu Komputer

Universitas Negeri Semarang

Fakultas Matematika dan Ilmu Pengetahuan Alam

2013/2014

Page 2: Makalah RPL

Kata Pengantar

Segala puji dan syukur saya panjatkan kepada Tuhan yang Maha Esa, karena atas

berkat dan limpahan rahmatnyalah saya dapat menyelesaikan makalah ini dengan tepat

waktu.

Disadari bahwa dalam pembuatannya makalah ini jauh dari kata sempurna tetapi

penyusun berharap bahwa makalah ini dapat bermanfaat bagi pembaca dalam menambah

ilmu ataupun wawasan mengenai Rekayasa Perangkat Lunak dan aspek-aspek terkait lainnya.

Melalui kata pengantar ini penulis terlebih dahulu meminta maaf dan memohon

maklum bilamana dalam pembuatan makalah ini banyak terdapat kekurangan karena

keterbatasan yang penyusun miliki, dan tidak menutup kemungkinan penyusun membutuhkan

saran dan masukan bermanfaat guna menyempurnakan makalah ini.

Semarang, 10 Maret 2014

Penyusun

Page 3: Makalah RPL

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.

Dalam pembuatan sebuah perangkat lunak harus memiliki teknik analisa kebutuhan

dan teknik permodelan yang baik, supaya terwujudnya suatu perangkat lunak yang baik.

Berdasarkan dari tugas yang diperoleh, pembatasan pada materi yang disampaikan hanya

pada penjelasan mengenai Konsep Dasar Rekayasa Perangkat Lunak, Kebutuhan dan

Spesifikasi Perangkat Lunak, Validasi Perangkat Lunak, Evolusi Perangkat Lunak dan

Pengelolaan Proyek Perangkat Lunak.

B. Perumusan Masalah

Adapun permasalahan yang diangkat dalam makalah ini yakni apa yang dimaksud

dengan Perangkat Lunak seperti apa konsep dasarnya, dan bagaimana penjelasan

mengenai spesifikasi serta kebutuhan dari perangkat lunak serta proses validasinya. Dan

bagaimana tahapan evolusi dari perangkat lunak itu sendiri.

C. Tujuan

Selain untuk memenuhi tugas pada mata kuliah Rekayasa Perangkat Lunak, makalah

ini bertujuan agar pembaca dapat mengerti tentang Rekayasa Perangkat Lunak serta

memahami konsep dasar dan mengenali spesifikasi kebutuhan termasuk proses

validasinya yang diharapkan dapat mempermudah proses pembelajaran.

Page 4: Makalah RPL

BAB II

Konsep Dasar Rekayasa Perangkat Lunak

A. Pengertian 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, prosedur, 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.

Istilah Rekayasa Perangkat Lunak (RPL) secara umum disepakati sebagai terjemahan dari istilah Software Engineering. Istilah Software Engineering dipopulerkan tahun 1968 pada Software Engineering Conference yang diselenggarakan oleh NATO. Sebagian orang mengartikan RPL hanya sebatas pada bagaimana membuat program komputer. Padahal ada perbedaan yang mendasar antara perangkat lunak (software) dan program komputer.

Perangkat lunak adalah seluruh perintah yang digunakan untuk memproses informasi. Perangkat lunak dapat berupa program atau prosedur. Program adalah kumpulan perintah yang dimengerti oleh komputer sedangkan prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi (O’Brien, 1999).

Jelas bahwa RPL tidak hanya berhubungan dengan cara pembuatan program komputer. Pernyataan “semua aspek produksi” pada pengertian di atas, mempunyai arti semua hal yang berhubungan dengan proses produksi seperti manajemen proyek, penentuan personil, anggaran biaya, metode, jadwal, kualitas sampai dengan pelatihan pengguna merupakan bagian dari RPL.

Page 5: Makalah RPL

B. Ruang Lingkup Rekayasa Perangkat Lunak

Sesuai definisi yang telah disampaikan sebelumnya, maka ruang lingkup RPL dapat digambarkan sebagai berikut:

Gambar 2 Ruang Lingkup RPL

Software requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak.

Software design mencakup proses penentuan arsitektur, komponen, antarmuka, dan karakteristik lain dari perangkat lunak.

Software construction berhubungan dengan detil pengembangan perangkat lunak, termasuk algoritma, pengkodean, pengujian, dan pencarian kesalahan.

Software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak. Software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah

dioperasikan. Software configuration management berhubungan dengan usaha perubahan konfigurasi

perangkat lunak untuk memenuhi kebutuhan tertentu. Software engineering management berkaitan dengan pengelolaan dan pengukuran

RPL, termasuk perencanaan proyek perangkat lunak. Software engineering tools and methods mencakup kajian teoritis tentang alat bantu

dan metode RPL. Software engineering process berhubungan dengan definisi, implementasi, pengukuran,

pengelolaan, perubahan dan perbaikan proses RPL. Software quality menitikberatkan pada kualitas dan daur hidup perangkat lunak.

C. Proses dan Metode Rekayasa Perangkat Lunak

Proses perangkat lunak adalah seri aktivitas yang harus dilaksanakan selama siklus hidup

perangkat lunak, yaitu periode waktu yang dimulai saat produk perangkat lunak disusun dan

berakhir saat produk tersebut tidak dapat digunakan lagi. Mengacu pada IEEE/EIA 12207

Standard for Information Technology, ada tiga kelompok besar proses perangkat lunak, yaitu:

1. proses utama (primary processes)

2. proses pendukung (supporting processes)

Software

Configuration

Software

Software

Software

Management

Software

Tool dan

Software

Proses

Requiremnnt

Page 6: Makalah RPL

3. proses organisasi (organizational processes)

Setiap proses yang ada pada masing-masing kelompok proses terdiri dari beberapa

aktivitas, dan setiap aktivitas dibagi menjadi beberapa pekerjaan. Setiap pekerjaan mengacu

pada produk perangkat lunak atau dokumen yang tertentu yang harus dibuat.

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 :

Spesifikasi perangkat lunak. Fungsionalitas perangkat lunak dan batasan

kemampuan operasinya harus didefinisikan.

Pengembangan perangkat lunak. Pengembangan terhadap produk perangkat lunak

yang memenuhi spesifikasi perangkat lunak.

Validasi perangkat lunak.

Perangkat lunak harus divalidasi untuk menjamin bahwa perangkau lunak

melakukan apa yang diinginkan oleh user.

Evolusi rangkat lunak. Perangkat lunak harus berkembang untuk memenuhi

kebutuhan pelanggan yang berubah ubah.

Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk

membantu proses pengembangan perangkat lunak. Model-model ini pada umumnya mengacu

pada model proses pengembangan sistem yang disebut System Development Life Cycle

(SDLC) seperti terlihat pada Gambar berikut ini.

Gambar 4. System

Development Life Cycle (SDLC).

Kebutuhan terhadap definisi masalah yang jelas. Input utama dari setiap model

pengembangan perangkat lunak adalah pendefinisian masalah yang jelas. Semakin

jelas akan semakin baik karena akan memudahkan dalam penyelesaian masalah. Oleh

karena itu pemahaman masalah seperti dijelaskan pada Bab 1, merupakan bagian

penting dari model pengembangan perangkat lunak.

Page 7: Makalah RPL

Tahapan-tahapan pengembangan yang teratur.Meskipun model-model pengembangan

perangkat lunak memiliki pola yang berbeda-beda, biasanya model-model tersebut

mengikuti pola umum analysis – design – coding – testing - maintenance

Stakeholder berperan sangat penting dalam keseluruhan tahapan pengembangan.

Stakeholder dalam rekayasa perangkat lunak dapat berupa pengguna, pemilik,

pengembang, pemrogram dan orang-orang yang terlibat dalam rekayasa perangkat

lunak tersebut.

Dokumentasi merupakan bagian penting dari pengembangan perangkat lunak.

Masing-masing tahapan dalam model biasanya menghasilkan sejumlah tulisan,

diagram, gambar atau bentuk-bentuk lain yang harus didokumentasi dan merupakan

bagian tak terpisahkan dari perangkat lunak yang dihasilkan.

Keluaran dari proses pengembangan perangkat lunak harus bernilai ekonomis. Nilai

dari sebuah perangkat lunak sebenarnya agak susah di-rupiah-kan. Namun efek dari

penggunaan perangkat lunak yang telah dikembangkan haruslah memberi nilai

tambah bagi organisasi. Hal ini dapat berupa penurunan biaya operasi, efisiensi

penggunaan sumberdaya, peningkatan keuntungan organisasi, peningkatan “image”

organisasi dan lain-lain.

Metodologi Rekayasa Perangkat Lunak

Terdapat beberapa metodologi dalam rekayasa perangkat lunak, antara lain:

1. System Development Methodologieso Metodologi yang mengacu pada pendekatan implementasi SDLC.

o Metodologi akan berubah-ubah tergantung pada kepentingan dan kegunaan

software itu sendiri.2. Process-centered Methodologies

o Fokus pada penentuan aktifitas yang berhubungan dengan sistem.

o Menyajikan konsep sistem sebagai serangkaian proses yang mengalir masuk dan

keluar.3. Data-centered Methodologies

o Fokus pada penentuan isi dari data penyimpanan dan bagaimana mereka

terorganisasi.o Data-centered methodologies menggunakan data models sebagai inti dari konsep

sistem.4. Object-oriented Methodologies

o Metodologi ini berhasil menyeimbangkan fokus antara proses dan data.

o The Unified Modeling Language (UML) digunakan untuk mendeskripsikan konsep

sistem sebagai koleksi dari object melengkapi data dan proses.

Page 8: Makalah RPL

D. Jenis-jenis Perangkat Lunak

Jenis-jenis perangkat lunak dilihat dari fungsinya, perangkat lunak dapat dikelompokkan

menjadi:

1. Perangkat Lunak Sistem

Perangkat lunak yang kegunaannya lebih banyak ditujukan untuk operasional

komputer atau perangkat lunak lain. Perangkat lunak yang termasuk dalam

kelompok ini adalah:

o sistem operasi

o penerjemah bahasa pemrograman (compiler/interpreter)

o utility software

2. Perangkat lunak aplikasi

Perangkat lunak yang kegunaannya lebih banyak ditujukan untuk membantu

menyelesaikan masalah-masalah yang dihadapi oleh pemakai. Perangkat lunak

aplikasi dapat dibedakan menjadi:

o program paket yang sudah jadi (package program)

o program aplikasi buatan sendiri (tailor made)

Sedangkan jika dilihat dari bentuk aplikasinya, perangkat lunak dibedakan menjadi:

1. Perangkat lunak sistem (system software)

Sekumpulan program yang ditulis untuk mendukung operasional komputer

atau kepentingan program lain, seperti:

o sistem operasi

o compiler/interpreter

o utility software

2. Perangkat lunak waktu nyata (real-time software)

Perangkat lunak yang memonitor, menganalisis, atau mengendalikan kejadian-

kejadian dunia nyata berdasarkan kejadian (event) yangditerimanya dengan kendala

waktu yang ketat (teliti), seperti:

o perangkat lunak untuk mengatur mekanisme kerja lift

o ATCS (Automatic Traffic Control System)

3. Perangkat lunak bisnis (business software)

Perangkat lunak yang memberikan fasilitas operasi untuk bisnis atau fasilitas

pengambilan keputusan manajemen, seperti:

Page 9: Makalah RPL

o aplikasi untuk sistem informasi, misalnya sistem persediaan, akuntansi,

produksi, dan lain-lain.

o sistem pendukung keputusan

o Enterprise Resources Planning (ERP)

4. Perangkat lunak rekayasa dan ilmu pengetahuan (engineering and scientific

software)

Perangkat lunak jenis ini biasanya berhubungan dengan komputasi data

numerik, CAD (Computer Aided Design), simulasi sistem, dan lain-lain, seperti:

o aplikasi statistika (misalnya SPSS), matematika (Math Lab)

o aplikasi untuk merancang lengkung sayap pesawat terbang

5. Embedded Software

Perangkat lunak yang menyatu (terintegrasi) dengan perangkat tertentu yang

digunakan untuk mengontrol produk atau sistem, baik untuk konsumen atau pasar

industri, seperti :

o aplikasi programmable logic circuit (PLC)

o permainan (game) pada mobile phone

6. Perangkat lunak pribadi (personal software)

Perangkat lunak yang banyak digunakan pada aplikasi-aplikasi yang bersifat

perorangan, Seperti :

o pengolah kata (word processor), lembar kerja elektronik (spreadsheet),

organizer

o aplikasi keuangan pribadi

7. Perangkat lunak intelegensia buatan (artificial inteligent software)

Perangkat lunak yang dibuat dengan menggunakan teknik algoritma non-

numerik untuk memecahkan masalah yang kompleks, Seperti:

o sistem pakar (expert system)

o pemrosesan bahasa alami (natural language)

o permainan catur

E. Tahapan Rekayasa Perangkat Lunak

Meskipun dalam pendekatan berbeda-beda, namun model-model pendekatan memiliki

kesamaan, yaitu menggunaka pola tahapan analysis – design – coding(construction) –

testing – maintenance.

Page 10: Makalah RPL

1. Analisis sistem adalah sebuah teknik pemecahan masalah yang menguraikan sebuah sistem

menjadi komponen-komponennya dengan tujuan mempelajari seberapa bagus komponen-komponen tersebut bekerja dan berinteraksi untuk meraih tujuan mereka.

Analisis mungkin adalah bagian terpenting dari proses rekayasa perangkat lunak. Karena semua proses lanjutan akan sangat bergantung pada baik tidaknya hasil analisis. Ada satu bagian penting yang biasanya dilakukan dalam tahapan analisis yaitu pemodelan proses bisnis.

2. Model proses adalah model yang memfokuskan pada seluruh proses di dalam sistem yang

mentransformasikan data menjadi informasi (Harris, 2003). Model proses juga menunjukkan aliran data yang masuk dan keluar pada suatu proses. Biasanya model ini digambarkan dalam bentuk Diagram Arus Data (Data Flow Diagram / DFD). DFD meyajikan gambaran apa yang manusia, proses dan prosedur lakukan untuk mentransformasi data menjadi informasi.

3. Disain perangkat lunak adalah tugas, tahapan atau aktivitas yang difokuskan pada spesifikasi detil dari

solusi berbasis computer (Whitten et al, 2004).Disain perangkat lunak sering juga disebut sebagai physical design. Jika tahapan analisis sistem menekankan pada masalah bisnis (business rule), maka sebaliknya disain perangkat lunak fokus pada sisi teknis dan implementasi sebuah perangkat lunak (Whitten et al, 2004).

Output utama dari tahapan disain perangkat lunak adalah spesifikasi disain. Spesifikasi ini meliputi spesifikasi disain umum yang akan disampaikan kepada stakeholder sistem dan spesifikasi disain rinci yang akan digunakan pada tahap implementasi. Spesifikasi disain umum hanya berisi gambaran umum agar stakeholder sistem mengerti akan seperti apa perangkat lunak yang akan dibangun.

Spesifikasi disain rinci atau kadang disebut disain arsitektur rinci perangkat lunak diperlukan untuk merancang sistem sehingga memiliki konstruksi yang baik, proses pengolahan data yang tepat dan akurat, bernilai, memiliki aspek user friendly dan memiliki dasar-dasar untuk pengembangan selanjutnya.

Desain arsitektur ini terdiri dari desain database, desain proses, desain user interface yang mencakup desain input, output form dan report, desain hardware, software dan jaringan. Desain proses merupakan kelanjutan dari pemodelan proses yang dilakukan pada tahapan analisis.

4. Konstruksi adalah tahapan menerjemahkan hasil disain logis dan fisik ke dalam kode-kode

program komputer.

Page 11: Makalah RPL

5. Pengujian sistem melibatkan semua kelompok pengguna yang telah direncanakan pada

tahap sebelumnya. Pengujian tingkat penerimaan terhadap perangkat lunak akan berakhir ketika dirasa semua kelompok pengguna menyatakan bisa menerima perangkat lunak tersebut berdasarkan kriteria-kriteria yang telah ditetapkan.

6. Perawatan dan KonfigurasiKetika sebuah perangkat lunak telah dianggap layak untuk dijalankan, maka

tahapan baru menjadi muncul yaitu perawatan perangkat lunak. Ada beberapa tipe perawatan yang biasa dikenal dalam dunia perangkat lunak seperti terlihat pada diagram di Gambar di bawah ini :

Gambar 5. Tipe-tipe perawatan.

Tipe perawatan corrective dilakukan jika terjadi kesalahan atau biasa dikenal sebagai bugs. Perawatan bisa dilakukan dengan memperbaiki kode program, menambah bagian yang dirasa perlu atau malah menghilangkan bagian-bagian tertentu.

Tipe perawatan routine biasa juga disebut preventive maintenance dilakukan secara rutin untuk melihat kinerja perangkat lunak ada atau tidak ada kesalahan.

Tipe perawatan sistem upgrade dilakukan jika ada perubahan dari komponen-komponen yang terlibat dalam perangkat lunak tersebut. Sebagai contoh perubahan platform sistem operasi dari versi lama ke versi baru menyebabkan perangkat lunak harus diupgrade.

BAB II

Page 12: Makalah RPL

Perancangan Kebutuhan dan Spesifikasi Perangkat Lunak

A. Pengertian Spesifikasi kebutuhan Perangkat LunakSpesifikasi kebutuhan (requirement) adalah atribut yang diperlukan dalam sistem, sebuah

pernyataan yang mengidentifikasi capability, characteristic, atau quality factor dari sebuah sistem dengan tujuan untuk mendapatkan nilai dan utilitas pada pelanggan atau pengguna (Ralph R. Young, 2004).

Spesifikasi kebutuhan ini sangat penting karena memberikan basis untuk semua pekerjaan pengembangan yang diikuti. Sekali spesifikasi kebutuhan diset, pengembang memulai pekerjaan teknis yang lain yaitu : desain sistem, pengembangan, pengujian, implementasi dan pengoperasian.

Menurut pengalaman industri, ketidak cukupan waktu dan usaha adalah dihabiskan pada aktivitas spesifikasi kebutuhan yang berhubungan dengan pengembangan sistem. Pengalaman industri mengonfirmasikan bahwa pendekatan yang lebih baik adaah memberikan waktu yang lebih banyak dalam aktivitas pengumpulan spesifikasi kebutuhan, analisis dan manajemen. Alasannya adalah biasanya pekerjaan coding dimulai lebih cepat yang kemudian menjadi penyebab penambahan waktu yang dibutuhkan untuk mengidentifikasi ”real” requirements dan untuk merencanakan aktivitas spesifikasi kebutuhan.

Ada perbedaan yang signifikan antara ”stated” requirements dan ”real” requirements. Stated requirements diberikan oleh pelanggan diawal usaha pengembangan sistem atau perangkat lunak, misalnya dalam kebutuhan untuk informasi, proposal ,atau kutipan atau dalam pernyataan pekerjaan (SOW). Real requirements merefleksikan kebutuhan yang sudah diverifikasi oleh pengguna untuk sistem atau kemampuan tertentu. Sering ada perbedaan yang besar antara stated requirements dan real requirements.

Analisis pada stated requirements dibutuhkan untuk menentukan dan memperbaiki kembali kebutuhan nyata pelanggan atau pengguna dan permintaan dari sistem yang diterimakan. Spesifikasi kebutuhan perlu disaring dengan sebuah proses klarifikasi dari pengertian dan identifikasi aspek lain yang perlu dipertimbangkan. Mengutip dari sebuah contoh sederhana, analisis spesifikasi kebutuhan (requirements analisys)lebih familier dengan kebutuhan untuk menyatakan spesifikasi kebutuhan dengan jelas. Ada banyak cara dimana kapabilitas, pemahaman, dan komunikasi dari pengertian dari setiap spesifikasi kebutuhan mungkin berbeda antara pengguna dengan pengembang.

 B. Jenis Kebutuhan Perangkat Lunak

Secara kategoris, ada tiga buah jenis kebutuhan perangkat lunak [IEE93]:

Page 13: Makalah RPL

a. Kebutuhan fungsional (functional requirement)Disebut juga kebutuhan operasional, yaitu kebutuhan yang berkaitan dengan

fungsi atau proses transformasi yang harus mampu dikerjakan oleh perangkat lunak.Seperti:

o Perangkat lunak harus dapat menyimpan semua rincian data pesanan

pelanggan.o Perangkat lunak harus mampu mencetak laporan penjualan sesuai periode

yang diinputkan.o Perangkat lunak harus mampu menyajikan informasi jalur pengiriman

terpendek.b. Kebutuhan antarmuka (interface requirement)

Kebutuhan antarmuka yang menghubungkan perangkat lunak dengan elemen perangkat keras, perangkat lunak, atau basis data. Seperti:

o Akses ke basis data menggunakan ODBC (Open Data Base Connectivity).

o Perangkat untuk memasukkan data menggunakan keyboard, mouse, dan

scanner.c. Kebutuhan unjuk kerja (performance requirement)

Kebutuhan yang menetapkan karakteristik unjuk kerja yang harus dimiliki oleh perangkat lunak, seperti kecepatan, ketepatan, atau frekuensi. Seperti :

o Waktu tanggap penyajian informasi maksimal selama satu menit.

o Perangkat lunak harus mampu mengolah data sampai 1 juta record untuk

setiap transaksi.o Perangkat lunak harus dapat digunakan secara multi user sesuai otoritas

yang diberikan kepada masing-masing pemakai. Kebutuhan antarmuka dan unjuk kerja sering disebut Non-functional Requirement.

C. Analisis KebutuhanAnalisis kebutuhan perangkat lunak dapat diartikan sebagai:

o Proses mempelajari kebutuhan pemakai untuk mendapatkan definisi

kebutuhan sistem atau perangkat lunak [IEE93].o Proses untuk menetapkan fungsi dan unjuk kerja perangkat lunak,

menyatakan antarmuka perangkat lunak dengan elemen-elemen sistem lain, dan menentukan kendala yang harus dihadapi oleh perangkat lunak [PRE01].

Tujuan analisis kebutuhan perangkat lunak adalah:o Memahami masalah yang akan dibuat perangkat lunaknya secara

menyeluruh (komprehensif).o Mendefinisikan apa yang harus dikerjakan oleh perangkat lunak untuk

memenuhi keinginan pemakai.

D. Pentingnya Analisis Kebutuhan Perangkat Lunak

Page 14: Makalah RPL

1) Pendefinisian kebutuhan yang baik dapat menjadi faktor sukses pelaksanaan pengembangan perangkat lunak. Sebaliknya akan menyebabkan banyak kegagalan.

2) Menurut hasil survey DeMarco, 56% kegagalan proyek perangkat lunak adalah karena ketidaklengkapan pendefinisian kebutuhan.

3) Produk perangkat lunak yang tidak sempurna akan dihasilkan karena kesalahan pada saat menentukan spesifikasi kebutuhan.

4) Jika kesalahan tersebut diketahui di akhir siklus hidup pengembangan, usaha untuk memperbaikinya akan sangat mahal (sekitar 82% dari total biaya perbaikan).

E. Tahap Analisis KebutuhanTahap kebutuhan perangkat lunak dimulai dengan [DAV93]:Adanya masalah yang membutuhkan penyelesaian:

a. orientasi aplikasi, misalnya inventoryb. orientasi bisnis, misalnya produk baru, peramalan pendapatanc. orientasi peningkatan produk, misalnya pemeliharaand. Munculnya ide untuk membuat sebuah perangkat lunak baru.e. Tahap kebutuhan berakhir apabila deskripsi lengkap dari perilaku eksternal

perangkat lunak yang akan dibangun sudah didapat, termasuk dokumentasi seluruh antarmuka perangkat lunak dengan lingkungannya yang dicatat dalam Spesifikasi Kebutuhan Perangkat Lunak (SKPL).

f. Secara teknis pelaksanaan pekerjaan analisis kebutuhan perangkat lunak pada dasarnya terdiri dari urutan aktivitas: mempelajari dan memahami persoalan, mengidentifikasi kebutuhan pemakai,mendefinisikan kebutuhan perangkat lunak, membuat dokumen spesifikasi kebutuhan

F. Aktivitas spesifikasi kebutuhan dalam siklus hidup perangkat lunakspesifikasi kebutuhan utama terdiri dari pengumpulan spesifikasi kebutuhan dan

pengelolaan perubahan terhadap spesifikasi kebutuhan tersebut sepanjang siklus hidup sistem. Dalam kenyataannya, ada beberapa aktivitas lain yang berhubungan dengan spesifikasi kebutuhan yang perlu ditempatkan dalam siklus hidup sistem (Ralph R. Young, 2004) :

Identifikasi stakeholderIni termasuk semua orang yang mempunyai kaitan dengan sistem atau  kualitas pemrosesan yang mencapai kebutuhan tertentu.

Mendapatkan pemahaman pelanggan dan pengguna yang perlu untuk perencanaan sistem dan kebutuhannya terhadap sistem. Hal ini sering disebut sebagai pemunculan spesifikasi kebutuhan (requirements elicitation).

Identifikasi kebutuhanIni meliputi pernyataan spesifikasi kebutuhan dalam kalimat yang sederhana dan memberikan sebagai set. Kebutuhan atau keinginan bisnis adalah aktivitas yang esensial dalam perusahaan. Skenario bisnis dapat digunakan sebagai teknik untuk  memahami kebutuhan bisnis. Faktor kunci dalam kesuksesan sebuah sistem adalah

Page 15: Makalah RPL

meningkatkan dukungan terhadap kebutuhan bisnis dan menfasilitasi organisasi untuk mencapainya.

Klarifikasi dan mengulangi kebutuhanHal ini dilakukan untuk memastikan bahwa yang digambarkan adalah kebutuhan pelanggan dan dalam bentuk yang dapat dipahami dan digunakan oleh pengembang sistem

Analisis kebutuhanHal ini dilakukan untuk meyakinkan bahwa spesifikasi kebutuhan telah didefinisikan dan pelanggan/pengguna menyelaraskan terhadap kriteria spesifikasi kebutuhan yang baik.

Mendefinisikan kebutuhan dengan cara pemahaman yang sama terhadap semua stakeholder. Setiap kelompok stakeholder mungkin mempunyai perbedaan pandangan yang signifikan dari sistem dan kebutuhan sistem. Kadang – kadang hal ini membutuhkan waktu yang banyak untuk mempelajari kosakata khusus atau kamus proyek khusus. Hal tersebut sering membutuhkan waktu dan usaha untuk mencapai pemahaman umum.

Memetakan kebutuhanHal ini membutuhkan semua detail yang teliti dari setiap spesifikasi kebutuhan sehingga dapat dimasukkan dalam dokumen spesifikasi atau dokumentasi yang lain, tergantung dari skala proyek.

Memprioritaskan kebutuhanSemua spesifikasi kebutuhan kepentingannya tidak sama terhadap pelanggan dan pengguna dari sistem yang direncanakan. Kritisnya, beberapa diantaranya relatif tinggi, beberapa diantaranya berprioritas normal atau rata-rata, dan beberapa diantaranya mempunyai prioritas rendah.

Menurunkan kebutuhanAda beberapa spesifikasi kebutuhan yang didapat karena design sistem, tetapi tidak memberikan keuntungan langsung pada pengguna akhir. Misalnya, kebutuhan untuk disk storage mungkin hasil dari kebutuhan untuk menyimpan banyak data.

Memisahkan kebutuhanMisalnya dilakukan pengkategorian spesifikasi kebutuhan menurut pengelompokan spesifikasi kebutuhan pada hardware, perangkat lunak, pelatihan dan dokumentasi. Sering proses ini berbelok menjadi lebih kompleks dari pada mengantisipasi ketika beberapa spesifikasi kebutuhan dicapai oleh lebih dari satu kategori.

Mengalokasikan kebutuhanPengalokasian spesifikasi kebutuhan dilakukan untuk membedakan subsistem dan komponen subsistem. Alokasi tidak harus selalu dicapai oleh hanya satu subsistem atau komponen.

Pelacakan kebutuhanKebutuhan dalam kemampuan untuk melacak atau penjejakan dimana dalam sistem setiap spesifikasi kebutuhan dicapai, sehingga dapat menguji bahwa setiap spesifikasi kebutuhan ditempatkan pada tempat yang benar.

BAB III

Page 16: Makalah RPL

Validasi Perangkat Lunak

A. Pengertian Validasi Perangkat Lunak

Validasi adalah proses penentuan apakah model, sebagai konseptualisasi atau

abstraksi, merupakan representasi berarti dan akurat dari sistem nyata? (Hoover dan Perry,

1989); validasi adalah penentuan apakah mode konseptual simulasi (sebagai tandingan

program komputer) adalah representasi akurat dari sistem nyata yang sedang dimodelkan

(LawdanKelton,1991).

Perangkat Lunak Merupakan program-program komputer dan dokumentasi yang

berkaitan. Produk perangkat lunak dibuat untuk pelanggan tertentu ataupun untuk pasar

umum Produk perangkat lunak mengadopsi pendekatan yang sistematis dan terorganisir

terhadap pekerjaannya dan menggunakan tool yang sesuai serta teknik yang ditentukan

berdasarkan masalah yang akan dipecahkan, kendala pengembangan dan sumber daya yang

tersedia.

Ketika membangun model simulasi sistem nyata, kita harus melewati beberapa

tahapan atau level pemodelan. Seperti yang dapat dilihat pada Gambar diatas, pertama kita

harus membangun model konseptual yang memuat elemen sistem nyata. Dari model

konseptual ini kita membangun model logika yang memuat relasi logis antara elemen sistem

juga variabel

eksogenus yang mempengaruhi sistem. Model kedua ini sering disebut sebagai model

diagram alur. Menggunakan model diagram alur ini, lalu dikembangkan program komputer,

yang disebut juga sebagai model simulasi, yang akan mengeksekusi model diagram alur.

Pengembangan model simulasi merupakan proses iteratif dengan beberapa perubahan kecil

pada setiap tahap. Dasar iterasi antara model yang berbeda adalah kesuksesan atau kegagalan

ketika verifikasi dan validasi setiap model.

Ketika validasi model dilakukan, kita mengembangkan representasi kredibel sistem

nyata, ketika verifikasi dilakukan kita memeriksa apakah logika model diimplementasikan

Page 17: Makalah RPL

dengan benar atau tidak. Karena verifikasi dan validasi berbeda, teknik yang digunakan untuk

yang satu tidak selalu bermanfaat untuk yang lain.

Baik untuk verifikasi atau validasi model, kita harus membangun sekumpulan kriteria

untuk menilai apakah diagram alur model dan logika internal adalah benar dan apakah model

konseptual representasi valid dari sistem nyata. Bersamaan dengan kriteria evaluasi model,

kita harus spesifikasikan siapa yang akan mengaplikasikan kriteria dan menilai seberapa

dekat kriteria itu memenuhi apa yang sebenarnya.

B. Proses Validasi Metode Peragkat Lunak

Validasi merupakan suatu proses yang terdiri atas paling tidak 4 langkah nyata, yaitu: 

1. validasi perangkat lunak (software validation)2. validasi perangkat keras/instrumen (instrument/hardware validation)3. validasi metode4. kesesuaian sistem (system suitability). 

Proses validasi dimulai dengan perangkat lunak yang tervalidasi dan sistem yang terjamin, lalu metode yang divalidasi menggunakan sistem yang terjamin dikembangkan. Akhirnya, validasi total diperoleh dengan melakukan kesesuaian sistem. Masing-masing tahap dalam proses validasi ini merupakan suatu proses yang secara keseluruhan bertujuan untuk mencapai kesuksesan validasi.            Kualifikasi merupakan bagian (subset) proses validasi yang akan memverifikasi modul dan kinerja sistem sebelum suatu instrumen diletakkan secara on line (atau diletakkan pada tempatnya dalam suatu laboratorium). Jika instrumen tidak terjamin dengan baik sebelum digunakan, maka akan muncul suatu masalah yang sulit untuk diidentifikasi. Gambar diatas menjelaskan garis waktu kejadian-kejadian pada saat proses validasi.

 

Page 18: Makalah RPL

BAB IV

Evolusi Perkembangan Perangkat Lunak

A. Evolusi Perangkat Lunak

Tahap Pertama/Era Pioner (1950 – 1960)Evolusi perangkat lunak tahap pertama dimulai pada awal 1950-an sampai

pertengahan 1960. Pengembangan perangkat lunak pada tahap pertama mempunyai ciri-ciri berorientasi batch, distribusi software terbatas untuk kalangan tertentu sehingga apabila ada perusahaan yang ingin dibuatkan software khusus harus memesan terlebih dahulu.

Tahap Kedua/Era Stabil ( 1960 – 1970)Evolusi Perangkat Lunak Tahap Kedua dimulai pertengahan tahun 1960-an

sampai awal tahun 1970-an.  Pengembangan perangkat lunak mempunyai ciri-ciri multi user.  Pengguna dari software sudah banyak dan bisa saling berbagi.   Ciri ini menunjukkan ada perkembangan baru yaitu interkasi manusia dan komputer (Human Computer Interaction).

Selain itu, ciri dari tahap kedua ini adalah real time. Real Time disini adalah suatu kondisi dimana sistem dapat mengumpulkan, menganalisa dan mentransformasikan data dari banyak sumber kemudian mengatur proses serta menghasilkan output yang diinginkan.  Dalam tahap ini, sudah banyak juga paket perangkat lunak yang beredar di pasaran serta muncul istilah database dalam perangkat lunak.

Tahap Ketiga/Era Mikro (1970 – 1990)Evolusi Perangkat Lunak tahap ketiga, dimulai pertengahan tahun  1970

sampai awal tahun 1990.  Pengembangan perangkat lunak sudah maju sedemikian pesat. Perangkat lunak sudah menggunakan sistem terdistribusi, sehingga penyampaian informasi dari komputer sumber ke komputer tujuan akan terasa sangat cepat.

Dalam era ini, perangkat keras dari suatu komputer harganya sangat murah.  Selain itu, pesanan perangkat lunak sudah sangat mendominasi dari penyelesaian suatu masalah sehingga penggunaan software pada masa itu sudah sedemikian jauh.

Tahap Keempat/EraModern (1990 – 2000)Evolusi Perangkat Lunak Tahap Keempat dimulai tahun 1990 sampai tahun

2000. Pada tahap ini, perangkat lunak sudah mendominasi dari pengembangan perangkat keras, sehingga perangkat keras dalam hal ini komputer sangat dikendalikan oleh suatu sistem operasi.

Tingkat kecerdasan dari perangkat lunak semakin ditingkatkan sehingga perangkat lunak atau software dilatih mempunyai kecerdasan seperti yang dimilik

Page 19: Makalah RPL

manusia.  Terbukti dengan adanya penemuan kecerdasan buatan, jaringan syaraf tiruan, sistem pakar dan logika fuzzy. Jaringan komputer, pemrosesan komputer paralel sangat mendominasi pada era ini.  Dan, pada masa ini pula pemrograman sudah berorientasi obyek (OOP).

B. Klasifikasi Perangkat Lunak

Perangkat lunak secara umum dapat di bagi 2 yaitu perangkat lunak sistem dan perangkat lunak aplikasi. Perangkat lunak sistem dapat di bagi lagi menjadi 3 macam yaitu :

1. Bahasa pemrograman : merupakan perangkat lunak yang bertugas mengkonversikan arsitektur dan algoritma yang di rancang manusia ke dalam format yang dapat di jalankan komputer, contoh bahasa pemrograman di antaranya : BASIC, COBOL, Pascal, C++, FORTRAN

2. Sistem Operasi : saat komputer pertama kali di hidupkan, sistem operasilah yang pertama kali di jalankan, sistem operasi yang mengatur seluruh proses, menterjemahkan masukan, mengatur proses internal, memanejemen penggunaan memori dan memberikan keluaran ke peralatan yang bersesuaian, contoh sistem operasi : DOS, Unix, Windows 95, IMB OS/2, Apple’s System 7

3. Utility : sistem operasi merupakan perangkat lunak sistem dengan fungsi tertentu, misalnya pemeriksaan perangkat keras (hardware troubleshooting), memeriksa disket yang rusak (bukan rusak fisik), mengatur ulang isi harddisk (partisi, defrag), contoh Utilty adalah Norton Utility

Perangkat lunak aplikasi merupakan bagian perangkat lunak yang sangat banyak di jumpai dan terus berkembang. Sebelum tahun 1990-an aplikasi yang di kenal yaitu pemroses kata (Word Star, Chi Write), pemroses tabel (Lotus 123, Quatro Pro), database (DBASE), dan hiburan (game). Pada perkembangan pemroses kata, tabel dan database saat ini telah di bundel menjadi aplikasi office dengan tambahan aplikasi untuk pembuatan presentasi yang nanti akan di berikan pada pelatihan ini.

Contoh aplikasi office adalah Microsoft Office yang terdiri dari Word(pemroses kata), Excel (pemroses tabel), Access (database), dan PowerPoint (presentasi). Yang berkembang sangat banyak saat ini adalah aplikasi multimedia dan internet. Contoh aplikasi multimedia adalah Winamp untuk memutar musik berformat MP3 atau CD Audio, kemudian RealPlayer yang dapat digunakan untuk menonton film atau VCD. Aplikasi internet yang umum di gunakan adalah untuk browsing, e-mail, chatting dan messenger.

Aplikasi yang bersifat khusus di antaranya untuk membantu pekerjaan Engineer seperti AutoCAD (gambar struktur), Protel (gambar rangkaian elektronik), dan Matlab (pemroses dan visualisasi persamaan matematis).

Sistem Operasi

Page 20: Makalah RPL

Sistem operasi sangat berkaitan dengan prosesor yang di gunakan. Jenis prosesor pada PC yang umum adalah yang kompatibel dengan produk awal IBM dan Macintosh. PC Macintosh, perangkat lunaknya di kembangkan oleh perusahaan yang sama sehingga perkembangannya tidak sepesat cloning IBM PC. Sistem operasi dari cloning IBM saat ini secara umum terbagi menjadi 2 aliran yaitu komersil yang di buat oleh Microsoft dan yang bersifat freeware yang di kembangkan oleh peneliti dari seluruh dunia karena bersifat open source, yaitu bahan baku pembuatan dapat di baca, sehingga hasilnya dapat di tambah atau di modifikasi oleh setiap orang. Sementara interaksi antara pengguna dan komputer di kenal melalui 2 cara, cara yang pertama adalah pemberian instruksi melalui penulisan perintah, atau dengan cara tunjuk (pointer).

Aplikasi Office

Perangkat lunak aplikasi perkantoran yang umum adalah pemroses kata dan pemroses tabel. Pemroses kata umum di gunakan untuk menggantikan tugas pengetikan yang sering di lakukan. Selain dapat melakukan format pengetikan seperti penomoran, pengaturan spasi, margin (jarak pinggir kertas), jenis huruf (font), pemroses kata juga dapat melakukan proses pengecekan kata bahkan kalimat.

Pemroses tabel biasanya di gunakan untuk melakukan perhitungan yang menggunakan tabel (tabulasi). Fungsi standar yang di gunakan adalah penjumlahan di suatu range dalam baris atau kolom tertentu, atau fungsi lainnya seperti pencarian nilai rata-rata, maksimal, minimal atau deviasi. Automasi pemrosesan dapat dilakukan dengan menggunakan macro, misalnya perhitungan bulanan.

Aplikasi Multimedia

Aplikasi multimedia saat ini sangat banyak dan beragam. Di katakan Multimedia karena selain penggunaan media teks, aplikasi ini dapat memproses / menampilkan dalam bentuk yang lain yaitu gambar, suara dan film.

Aplikasi Multimedia sangat berkaitan dengan format data yang di gunakan. Aplikasi Multimedia umumnya di pisahkan lagi menjadi aplikasi yang di gunakan untuk membuat, yang hanya di gunakan untuk menampilkan saja dan aplikasi pengaturan.Format-format digital multimedia di antaranya :

MIDI (Musical Instrument Digital Interface) , Format MIDI bersifat sangat kompak dengan ukurannya yang kecil, suara yang di hasilkan oleh MIDI dengan dukungan sound card yang memilik synthesizer (penghasil suara elektrik) sangatlah mirip dengan organ elektrik yang bisa memainkan berbagai alat musik.

MP3, format suara yang terkenal saat ini berbeda dengan MIDI yang hanya instrument, MP3 merekam seluruh suara termasuk suara penyanyinya. Kualitas suara MP3 akan berbanding dengan ukuran penyimpannya. Kualitas yang banyak di gunakan untuk merekam musik adalah standar CD-ROM (44,2 KHz, 16 bit, stereo), sementara kualitas terendah adalah kualitas seperti telepon (5 KHz, 8 bit, mono).

Page 21: Makalah RPL

MPEG (Moving Picture Experts Group), merupakan format yang di susun oleh ahli dari berbagai penjuru dunia untuk format multimedia.

AVI (Audio Video Interleave), format AVI di buat oleh Microsoft dan mudah di pindah-pindahkan di aplikasi buatan Microsoft lainnya seperti Word atau PowerPoint

Quicktime, sama dengan AVI, Quicktime dapat digunakan baik di komputer berbasis Intel maupun Mac. Quicktime dapat menyaingin AVI di karenakan tingkat kompresinya yang lebih baik. Tingkat kompresi menentukan besar-kecilnya file yang akan menentukan pula besar-kecilnya media penyimpanan, dan lebar jalur data yang dibutuhkan untuk transfer.

Aplikasi Internet

Perangkat lunak yang berhubungan dengan internet sangat berkaitan dengan aplikasi internet. Aplikasi Internet adalah protokol yang digunakan untuk berhubungan antara satu orang atau mesin dengan pihak lain yang berjauhan. Aplikasi internet akan menyangkut dua sisi, yaitu sisi penyedia (server) atau sisi pengguna (client). Contoh aplikasi internet dan perangkat lunak dari sisi pengguna yang umum di gunakan adalah :

1. HTTP (Hypertext Transfer protocol)

merupakan aplikasi internet yang menampilkan baris kalimat, atau gambar, dengan beberapa kata yang di beri tanda garis bawah (hypertext). Dari hypertext ini, pengguna dapat melompat dari satu dokumen (page) ke dokumen lainnya. Perangkat lunak di sisi pengguna yang menjalankan http di kenal sebagai browser. Contoh browser adalah Internet Explorer (gambar 3.11) dan Netscape.

2. E-mail (Electronic mail)

merupakan aplikasi surat menyurat di internet. Setiap orang memiliki alamat e-mail, dan bisa saling bertukar dokumen satu sama lain. Contoh perangkat lunaknya adalah Outlook Express.

3. Messenger

Messenger di gunakan untuk berkomunikasi antara satu orang atau lebih (conference), selain komunikasi melalu teks (messsage), juga bisa berupa suara (voice) mapun film (webcam).

Page 22: Makalah RPL

BAB V

Pengelolaan Proyek Perangkat Lunak

A. Proyek Perangkat LunakDalam pembangunan proyek perangkat lunak pastinya ada hal-hal yang menentukan

apakah proyek akan berjalan dengan yang diharapkan sehingga menghasilkan kwalitas yang baik. Bagian penting tersebut adalah Manajeman Proyek Perangkat lunak.Definisi manajemen proyek perangkat lunak itu sendiri yaitu aktifitas perancangan dan pengontrolan membuat prangkat lunak dalam jangka waktu tertentu untuk memenuhi kebutuhan.

Manajemen proyek perangkat lunak mengatur 4 hal penting yaitu personel, produk, proses dan proyek. Dari empat hal tersebut personel merupakan hal yang terpenting, karena  personel adalah aktor yang mengisi pembangunan perangkat lunak dengan adanya personel atau orang-orang yang berperan didalamnya itu baik atau mempunyai kemampuan/skil bagus, maka produk yang dihasilakan, proses yang berjalan, dan proyek yang dikerjakan akan baik/bagus juga.

Personel Manajemen proyek perangkat lunak, proses pembangunan perangkat lunak mempunyai banyak personel didalamnya, personel-personel ini akan di kelompokan menjadi 5 kategori yaitu :

1. Manajer seniorBerperan sebagai yang membuat kebijakan, keputusan dan strategi dalam proyek, semuanya  dipegang oleh manajer senior

2. Manajer proyek (pemimpin tim)Berperan sebagai orang yang bertanggung jawab dalam mengurus sebuah proyek dan mampu memilih praktisi sesuai dengan posisi.

3. Praktisi : Berperan sebagai yang mengerjakan perangkat lunak4. Klien : Berperan sebagai pemberi kerja dan menentukan kebutuhan perangkat

lunak5. Pengguna perangkat lunak : Orang yang menggunakan prangkat lunak yang

telah dibangun.

Tim Proyek Perangkat lunak pastinya ada struktur organisasi yang terbentuk untuk menentukan pembagian tugas yang bisa diterapkan pada tim perangkat lunak. Misalnya semua personel dibagi menjadi beberapa tim, setiap tim mengerjakan satu atau lebih tugas dan koordinasi dikendalikan oleh tim dam manager. Struktur organisasi yang bisa diterapkan yaitu :

Page 23: Makalah RPL

1. Democratic Decentralized (DD)

Demokratis Desentralisasi adalah sebuah gaya berorganisasi tim yang pemimpinnya mempromosikan berbagi tanggung jawab, sehingga tidak bersifat otoriter, pemimpin tidak permanen. 

2. Controlled decentralized (CD)Pendelegasian wewenang dalam membuat keputusan dan kebijakan kepada manajer atau orang-orang yang berada pada level bawah dalam suatu struktur organisasi yang terkontrol.

3. Controlled Centralized (CC)Terkontrolnya suatu organisasi yang memusatkan seluruh wewenang kepada sejumlah kecil manajer atau yang berada di posisi puncak pada suatu struktur organisasi. 

4. Pengukuran perangkat lunaka. Pengukuran berdasarkan ukuran

Pengukuran dilakukan berdasarkan line of code (LOC),  waktu, harga, dan kesalahn yang ditemukan.

b. Pengukuran berdasarkan fungsi (Function Point – FP)Pengukuran dilakukan berdasarkan bagian-bagian software yang bisa dihitung, misalnya : jumlah file, input,  external interface, output,  dan user inquiry.

c. Ukuran untuk organisasi kecil (DRE = Defect Removal efficiency)Pengukuran dilakukan berdasarkan  usaha (melakukan evaluasi dan membuat perubahan), waktu (permintaan dan selesainya evaluasi sampai penugasan lain ke personel), cacat dan kesalahan yang terjadi.

B. Penaksiran Proyek Proses manajemen proyek perangkat lunak dimulai dengan serangkaian aktivitas

yangsecara kolektif disebut perencanaan proyek. Aktivitas awal dari perencanaan adalah estimasi. Kapanpun estimasi dilakukan, seorang perencana mulai melihat pada masa depan dengansuatu tingkat ketidak pastian teretentu, yang akan menjadi bahan pembahasan untuk menaksir proyek. Hasil penaksiran akan menjadi dasar bagi semua aktiviotas perencanaan proyek lebih jauh. Perencanaan proyek merupakan peta jalan bagi suksesnya rekayasa perang kat lunak.Tanpa penaksiran yang teliti,perencanaan proyek akan menghasilkan berbagai resiko dimasadepan, misalnya kerugian, kegagalan memenuhi limit waktu yang sudah disepakati, dankesulitan-kesulitan lain yang muncul dalam pengerjaan teknis proyek.Penaksiran berbagai hal untuk usaha pengembangan suatu perangkat lunak membutuhkan :

Pengalaman akses informasi historis keberanian mengkuantifisir data-data kualitatif

Page 24: Makalah RPL

Penaksiran yang dilakukan meliputi:

Penaksiran kebutuhan sumber daya manusia Penaksiran kebutuhan biaya Penaksiran kebutuhan waktu dan penjadwalan

Penaksiran membawa resiko ketidak pastian. Ketidak pastian itu sendiri sangat dipengaruhi oleh :

Kompleksitas proyek Ukuranproyek Ketidakpastian struktural

C. Kompleksitas proyek

Kompleksitas proyek berpengaruh kuat terhadap ketidak pastian dalam perencanaan. Tetapkompleksitas pengukran yang relatif yang dipengaruhi oleh kebiasaan dengan usaha yangsudah dilakukan pada masa sebelumnya. Aplikasi real-time dapat dirasakan sebagai sangatkompleks bagi sebuah kelompok perangkat lunak yang hanya mengembangkan aplikasi-aplikasi batch saja. Tetapi aplikasi yang sama dapat dirasakan sebagai run-of-mill bagi sebuahkelompok perangkat lunak yang telah terlibat jauh dalam proses kontrol kecepatan tinggi.

Sejumlah pengukuran kompleksitas perangkat lunak kuantitatif sudah diusulkan. Pengukuransemacam itu diaplikasikan pada tingkat kode dan desain sehingga sulit digunakan selamaperencanaan perangkat lunak (sebelum kode dan desain ada). Tetapi perkiraan kompleksitasyang lain yang lebih subyektif dibanding yang lain (seperti faktor penyesuaian kompleksitasfunction point yang digambarkan) dapat dibuat pada awal proses perencanaan.

D. Ukuran Proyek (Project size)

Ukuran proyek merupakan faktor penting lain yang dapat mempengaruhi akurasi estimasi. Bilaukuran bertambah maka ketergantungan diantara berbagai elemen perangkat lunak akanmeningkat dengan cepat. Dekomposisi masalah sebagai suatu pendekatan yang sangatpenting dalam proses estimasi menjadi lebih sulit lagi karena elemen-elemen yang akandidekomposisi masih sangat berat. Seperti dinyatakan dalam hukum Murphy: “Apa yang dapatsalah biarkanlah menjadi salah” –dan bila ada lebih banyak lagi yang dapat gagal, maka disituakan terjadi lebih banyak kegagalan.

E. Tingkat ketidakpastian struktural (Structural uncertainty)

Tingkat ketidakpastian struktural juga berpengaruh dalam risiko estimasi. Santayanapernah mengatakan, “Mereka yang tidak dapat mengingat masa lalu terkutuk untukmengulanginya lagi. “Dengan melihat kembali, kita dapat mengingat lagi hal-hal yang terjadidan dapat menghindari tempat-tempat dimana masalah muncul. Bila metrik perangkat lunakyang komprehensif dapat diperoleh pada proyek yang telah lalu, maka estimasi dapat

Page 25: Makalah RPL

dilakukandengan kepastian yang lebih tinggi; jadwal dapatdibuat untuk menghindari kesulitan-kesulitanyang terjadi dimasa lalu, dan risiko keseluruhan dapat dikurangi.

F. Pengelolaan Perangkat LunakUnsur-unsur Perencanaan perangkat lunak adalah ; Gol dan obyektif, menggambarkan apa yang dilakukan, untuk siapa, dan kapan Work Breakdown Structure (WBS), untuk menggambarkan pembagian tugas proyek

dalam sub-sub tugas yang masing-masing akan didefenisikan, diestimasi, dan dilacak Mengestimasi besar produk, adalah perkiraan kode yang dibutuhkan secara kuantitatif

untuk masing-masing elemen produk (subsistem, komponen atau modul). Estimasi ini didasarkan pada pengalaman utama proyek-proyek yang lalu

Mengestimasi sumber daya : didasarkan pada pengalaman yang sudah-sudah, dapat diketahui faktor produktifitas yang dimasukkan kebagian perkiraan yang masuk akal bagi kebutuhan sumber daya untuk tiap-tiap elemen WBS.

Penjadwalan proyek, berdasarkan pada ketersediaan staf proyek dan perkiraan sumber daya, suatu penjadwalan tugas dan penyetoran item dapat dihasilkan.

Beberapa pertimbangan utama dari fase kebutuhan adalah :

Kebutuhan fungsional : Fungsi-fungsi produk di daftar, bersama dengan beberapa performansi lain, Jika memungkin sebuah draft petunjuk manual user dibuat atau sebuah prototype dibangun untuk menguji beberapa bagian produk.

Kebutuhan sistem : Konfigurasi target sistem ditentukan, bersama dengan beberapa standarnya, dan kompatibilitas.

Identifikasi pelanggan : user diidentifikasi sesuai dukungan kebutuhannya, termasuk ; mekanisme penyerahan dan pemaketan produk, dukungan instalasi, kebutuhan dokumentasi, dan pelatihan.

Mengukur kesuksesan : biaya, penjadwalan, performansi, kualitas, dan ukuran-ukuran kesuksesan lainnya.

Validasi dan Penerimaan : menentukan kesuksesan yang dapat diterima, termasuk tanggung jawab terhadap Acceptance testing, kriteria yang dipakai dan beberapa garansi atau konsekwensi-konsekwensi lain jika kegagalan terjadi.

Dukungan : Kelanjutan kebutuhan dukungan di tetapkan, termasuk pelaporan dan koreksi.

2013

Page 26: Makalah RPL

REFERENSI

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CCQQFjAA&url=http%3A%2F%2Flecturer.ukdw.ac.id%2Fothie%2Fprojectmanage.pdf&ei=UJsgU7G6CMWWiAe894CACQ&usg=AFQjCNFoBBS19VhlkdduAO_QEtfdoCeAdw&bvm=bv.62788935,d.aGcReferensi :[1].Software Engineering, Roger S. Pressman,McGrawHill 1997[2].Management Information System, Raymond McLeod, Prentice Hall 2000[3].Software Project Management for Dummies, Teresa Luckey, Joseph Phillips, WileyPublishing Inc., 2006

spk_6a_108009101-Makalah-RPL-Kekurangan-dan-kelebihan-dari-macam-macam-model-SDLC

f_33720_rpl_1_Konsep_Dasar_Rekayasa_Perangkat_Lunak