REKAYASA PERANGKAT LUNAK

dokumen-dokumen yang mirip
REKAYASA PERANGKAT LUNAK


Dibuat Oleh : 1. Andrey ( )

REKAYASA PERANGKAT LUNAK. ( 1 st week)

PENDAHULUAN REKAYASA PERANGKAT LUNAK. By PresenterMedia.com

REKAYASA PERANGKAT LUNAK (SOFTWARE ENGINEERING)

Nama : Rendi Setiawan Nim :

Jenis Metode Pengembangan Perangkat Lunak

PEMODELAN ANALISIS PL

Perspektif Alur-kerja (workflow) - barisan kegiatan Perspektif Alur Data (Data flow) alur informasi Perspektif Peran/Aksi siapa melakukan apa.

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

Rekayasa Perangkat Lunak

Tujuan Perkuliahan. PENGANTAR RPL (Pert. 2 chapter 1 Pressman) Agenda. Definisi Software (Perangkat Lunak) Lunak) 23/09/2010

Pendahuluan. Oleh : Dewi Sartika, M.Kom

MAKALAH REKAYASA PERANGKAT LUNAK ( SIKLUS HIDUP PERANGKAT LUNAK )

BAB II LANDASAN TEORI. Menurut (Herlambang, 2005), definisi sistem dapat dibagi menjadi dua. yang saling berkaitan untuk mencapai tujuan tertentu.

PRODUK DAN PROSES. Aprilia Sulistyohati, S.Kom. Jurusan Teknik Informatika Universitas Islam Indonesia. Your Logo

STMIK AMIKOM YOGYAKARTA

REKAYASA PIRANTI LUNAK

A. Tujuan dan Ruang Lingkup Proyek Perancangan Rekayasa Perangkat Lunak

REKAYASA BERKOMPONEN

Tugas Rekayasa Perangkat Lunak

BAB II LANDASAN TEORI

PENGENALAN REKAYASA PERANGKAT LUNAK (SOFTWARE ENGINEERING) By: Afijal, M.Kom

Dibuat Oleh : 1. Andrey ( )

BAB II LANDASAN TEORI. saling terkait dan tergantung satu sama lain, bekerja bersama-sama untuk. komputer. Contoh lainnya adalah sebuah organisasi.

Deskripsi Mata Kuliah

BAB II LANDASAN TEORI. pembelian dilakukan dengan mengubah bentuk barang. 2003). Menurut Soemarso S.R (1994) kegiatan pembelian dalam perusahaan

BAB I PENDAHULUAN 1.1. Latar Belakang

Rekayasa Perangkat Lunak

: ENDRO HASSRIE. Nim : : REKAYASA PERANGKAT LUNAK DESAIN PERANG LUNAK DAN REKAYASA PERANGKAT LUNAK

Hanif Fakhrurroja, MT

Nama : Rendi Setiawan Nim :

BAB III METODOLOGI PENELITIAN. Metode pengumpulan data yang digunakan pada penelitian ini berupa studi

Hanif Fakhrurroja, MT

Rekayasa Perangkat Lunak. Tujuan

Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

COMPUTER SYSTEM ENGINEERING

BAB III LANDASAN TEORI

Green Software Engineering. Oleh: Adella Acqha Aditya Wahyu Muhammad Febri Firmansyah Yoga Febrian Hogantara

BAB II LANDASAN TEORI. dan belanja daerah atau perolehan lainnya yang sah antara lain:

PENGEMBANGAN PERANGKAT LUNAK

BAB 1 PENDAHULUAN 1.1 Latar Belakang

A Layered Technology

BAB I PENDAHULUAN. hal proses pengolahan data, baik itu data siswa, guru, administrasi sekolah maupun data

DESAIN PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK

Program komputer bila dieksekusi memberikan fungsi dan unjuk kerja sesuai yang diinginkan Struktur data yang memungkinkan program memanipulasi

A. Spesifikasi Perangkat Lunak

BAB II LANDASAN TEORI. 2.1 Sistem Perhitungan Penjualan PT Panca Patriot Prima

BAB1. PENDAHULUAN Siklus hidup sistem (SLC) SDLC Systems Development Life Cycle Siklus Hidup Pengembangan Sistem Systems Life Cycle

BAB II LANDASAN TEORI. untuk menyelesaikan suatu sasaran yang tertentu (Jogiyanto, 2005:1).

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

Pertemuan 1 PENGENALAN REKAYASA PERANGKAT LUNAK

BAB II LANDASAN TEORI

TUGAS I MANAGEMENT PROYEK SOFTWARE ENGINEERING. Disusun Oleh :

BAB II LANDASAN TEORI. tenaga kerja pada perusahaan, fokus yang dipelajari MSDM ini hanya masalah yang. berhubungan dengan tenaga kerja manusia saja.

BAB II LANDASAN TEORI. Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

BAB I PENDAHULUAN. yaitu sistematika penulisan yang merupakan indeks laporan tugas akhir, dimana. tiap sub bab berisi penjelasan ringkasan perbab.

Pendahuluan Rekayasa Perangkat Lunak

BAB III LANDASAN TEORI. mengumpulkan (input), memanipulasi (process), menyimpan, dan menghasilkan

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III LANDASAN TEORI

BAB 2 LANDASAN TEORI

1. PENDAHULUAN 1. PERANGKAT LUNAK DAN PERKEMBANGANNYA

Fase Desain Proyek Perangkat Lunak

BAB II LANDASAN TEORI. beberapa ahli, definisi sistem adalah sebagai berikut.

Tugas Softskill. Universitas Gundarma. : Sistem Informasi Manajemen. : Waldhi Supriono NPM : Kelas : 2 DB 12

BAB III LANDASAN TEORI

BAB 6 METODOLOGI SIKLUS HIDUP SISTEM

BAB II LANDASAN TEORI. yang digunakan dalam penyelesaian Tugas Akhir ini, yaitu System Development

BAB 3 Analisa dan Perancangan Sistem

BAB I PENDAHULUAN 1.1. Latar Belakang

Bab 4 Metodologi Pengembagan Sistem(Perangkat Lunak)

REPRESENTASI PENGETAHUAN (KNOWLEDGE) BERBASIS RULE (RULE-BASED) DALAM MENGANALISA KEKURANGAN VITAMIN PADA TUBUH MANUSIA

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. bantuan teknologi, seperti: komputer, program-program aplikasi, perangkat

BAB II LANDASAN TEORI

Information System Analysis and Design

REKAYASA PERANGKAT LUNAK I ALIF FINANDHITA, M.T. - TEKNIK INFORMATIKA UNIKOM 1

Analisis dan Perancangan Sistem Hanif Al Fatta M.kom

BAB III METODOLOGI PENELITIAN

Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) POKOK BAHASAN

Pertemuan 3 Metodologi Pengembangan Sistem Informasi

PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK

Tugas Rekayasa Perangkat Lunak

SOFTWARE ENGINEERING (REKAYASA PERANGKAT LUNAK)

BAB III LANDASAN TEORI. Dalam mendefinisikan istilah bimbingan, para ahli bidang bimbingan dan

REKAYASA PERANGKAT LUNAK I

Pertemuan 1 PENGENALAN REKAYASA PERANGKAT LUNAK

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. Semakin berkembangnya teknologi saat ini, memacu Perusahaan PT. DASS

2. BAB II LANDASAN TEORI. lanjut sehingga terbentuk suatu aplikasi yang sesuai dengan tujuan awal.

PROSES DESAIN. 1. Metodologi Pengembangan Sistem

BAB I PENDAHULUAN. dari pemikiran-pemikiran manusia yang semakin maju, hal tersebut dapat. mendukung bagi pengembangan penyebaran informasi.

Perbedaan Pengembangan Software Dan Pengembangan Sistem Informasi

BAB II LANDASAN TEORI

Review of Process Model. SE 3773 Manajemen Proyek Teknologi Informasi *Imelda Atastina*

Transkripsi:

REKAYASA PERANGKAT LUNAK A. Pengertian Rekayasa Perangkat Lunak 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. Pengertian dari Perangkat Lunak adalah kumpulan beberapa perintah komputer yang dieksekusi oleh mesin komputer dalam menjalankan pekerjaannya yaitu memproses informasi. perangkat lunak ini merupakan catatan bagi mesin komputer untuk menyimpan perintah, maupun dokumen serta arsip lainnya. Perangkat lunak tidak dapat disentuh dan dilihat secara fisik, software memang tidak tampak secara fisik dan tidak berwujud benda tapi bisa di operasikan. Pengertian Rekayasa Perangkat Lunak (RPL) adalah aplikasi ilmu komputer untuk membangun sistem perangkat lunak praktis yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan

spesifikasi dari kebutuhan pengguna, disain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan. Rekayasa perangkat lunak adalah pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip reakayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna. kriteria yang dapat digunakan sebagai acuan dalam merekayasa perangkat lunak: 1. dapat terus dirawat dan dipelihara(maintainability) 2. dapat mengikuti perkembangan teknologi(dependability) 3. dapat mengikuti keinginan pengguna(robust) 4. efektif dan efisien dalam menggunakan energi dan penggunaannya 5. dapat memenuhi kebutuhan yang diinginkan(usability). Perbedaan perangkat lunak dengan ilmu komputer Ilmu komputer seringkali didiskripsikan sebagai suatu studi sistematis pada proses-proses algoritma yang menjelaskan dan mentransformasikan informasi seperti halnya di sini adalah teori, analisis, disain, efisiensi, penerapan dan aplikasinya. Sedangkan perangkat lunak merupakan data elektronik yang disimpan sedemikian rupa oleh komputer itu sendiri, data yang disimpan ini dapat berupa program atau instruksi yang akan dijalankan oleh perintah, maupun catatan-catatan yang diperlukan oleh komputer untuk menjalankan perintah yang dijalankannya. Jadi perangkat lunak itu dapat berupa program atau prosedur. Perbedaan antara RPL dengan ilmu komputer adalah Intinya, imu komputer berhubungan dengan teori dan metode yang mendasari sistem komputer dan perangkat lunak, sedangkan RPL berhubungan dengan praktek dalam memproduksi perangkat lunak. Perbedaan rekayasa perangkat lunak dengan rekayasa sistem Rekayasa system mempunyai pengertian suatu sistem yang mampu memilih alat bantu yang baik dalam perencanaan maupun dalam penerapan perangkat lunak dan memiliki teknik yang

baik untuk menilai kualitas dari perangkat lunak yang dihasilkan, serta mampu mengkoordinasikan, mengontrol, dan mengatur pelaksanaan pekerjaan pembuatan perangkat lunak. Sedangkan rekayasa pernagkat lunak itu adalah aplikasi dari ilmu computer yang membangun system perangkat lunak yang nantinya perangkat lunak itu akan dipilih kualitas dan tekniknya oleh rekayasa system. Rekayasa sistem berkaitan dengan semua aspek dalam pembangunan sistem berbasis komputer termasuk hardware, rekayasa PL dan proses. RPL adalah bagian dari rekayasa sistem yang meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada sistem. Perbedaan RPL dengan Rekayasa Sistem intinya Rekayasa sistem berkaitan dengan semua aspek dalam pembangunan sistem berbasis komputer termasuk hardware, rekayasa PL dan proses. RPL adalah bagian dari rekayasa sistem yang meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada sistem. Proses perangkat lunak sebagai berikut Serangkaian kegiatan dan hasil-hasil relevannya yang menghasilkan perangkat lunak sebagian besar dilakukan oleh perekayasa perangkat lunak. Ada 4 kegiatan/aktivitas pada proses PL : Spesifikikasi Perangkat Lunak : Fungsionalitas perangkat lunak dan batasan kemampuan operasinya harus didefinisikan. Pengembangan Perangkat Lunak : Perangkat lunak yang memenuhi spesifikasi harus di produksi Validasi Perangkat Lunak : Perangkat lunak harus divalidasi untuk menjamin bahwa perangkat lunak melakukan apa yang diinginkan oleh pelanggan. Evolusi Perangkat Lunak : Perangkat lunak harus berkembang untuk memenuhi kebutuhan pelanggan. 1. Definisi Rekayasa Perangkat Lunak menurut beberapa ahli Secara umum Rekayasa perangkat lunak memiliki pengertian sebagai sebuah disiplin ilmu yang menerapkan teori-teori dasar bidang tertentu, kedalam sebuah

perangkat lunak yang digunakan sebagai alat bantu pemecahan masalah atau proses pengambil keputusan. Ada beberapa pengertian Rekayasa perangkat lunak menurut beberapa ahli yaitu sebagai berikut: Rekayasa perangkat lunak Menurut Stephen R. Schach Rekayasa perangkat lunak adalah sebuah disiplin dimana dalam menghasilkan perangkat lunak bebas dari kesalahan dan dalam pengiriman anggaran tepat waktu serta memuaskan keinginan pemakai. Rekayasa perangkat lunak Menurut Fritz Bauer Rekayasa perangkat lunak adalah penetapan dan penggunaan prinsip rekayasa dalam rangka memperoleh perangkat lunak yang dapat dipercaya dan dapat bekerja secara efisien pada mesin nyata. Rekayasa perangkat lunak Menurut IEEE 610.12 Rekayasa perangkat lunak adalah sebuah studi pendekatan dan aplikasi secara sistematis, disiplin pengembangan operasi dan pemeliharaan perangkat lunak yang kesemuanya itu merupakan aplikasi rekayasa yang berkaitan dengan perangkat lunak. Dari ketiga pengertian tersebut, arti yang diberikan Fritz Bauer sangat sesuai dengan tujuan dan sasaran dari rekayasa perangkat lunak. Pernyataan Stephen R. Schach terbatas pada menanggulangi kekurangan yang terjadi jika tidak menerapkan rekayasa perangkat lunak. Pengertian yang diberikan IEEE 610.12 paling baik dalam menyampaikan wujud dari rekayasa perangkat lunak. 2. Model Proses Perangkat Lunak a. Model aliran kerja (workflow) : menunjukkan kegiatan pada proses bersama dengan input, output, dan ketergantungannya. Merepresentasikan pekerjaan manusia.

b. Model aliran data (data flow) : merepresentasikan proses sebagai suatu set kegiatan yang melakukan transformasi data. Menunjukkan bagaimana input ke proses, misalnya spesifikasi ditransformasi menjadi output, misalnya menjadi desain. c. Model peran/aksi : merepresentasikan peran orang yang terlibat pada PL dan kegiatan yg menjadi tanggung jawab mereka. Model atau paradigma umum pada proses PL Model air terjun (waterfall) : Mengambil kegiatan dasar seperti spesifikasi, pengembangan, validasi, dan evolusi dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya. Pengembangan evolusioner : Pendekatan ini berhimpitan dengan kegiatan spesifikasi, pengembangan, dan validasi. Sistem awal dikembangkan dengan cepat dari spesifikasi abstrak. Sistem ini kemudian di perbaiki dengan masukan dari pelanggan untuk menghasilkan sistem yang memuaskan kebutuhan pelanggan. Pengembangan Sistem Formal : Pendekatan ini menghasilkan suatu sistem matematis yang formal dan mentransformasikan spesifikasi ini, dengan menggunakan metode matematik menjadi sebuah program. Pengembangan berdasarkan pemakaian ulang (Reusable) : Teknik ini menganggap bahwa bagian-bagian sistem sudah ada. Proses pengembangan sistem terfokus pada pengintegrasian bagian-bagian sistem dan bukan pengembangannya dari awal. 3. Metode Rekayasa Perangkat Lunak 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) 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. Tahapan-tahapan pengembangan yang teratur. Meskipun model-model

pengembangan perangkat lunak memiliki pola yang berbeda-beda, biasanya modelmodel 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. 4. Jenis Jenis Rekayasa Perangkat Lunak 1. System Software Adalah sekumpulan program yang ditulis untuk melayani atau menunjang program lainnya. Beberapa sistem software seperti compiler, editor, komponenkomponen sistem operasi, driver dan prosesor telekomunikasi. 2. Real Time Software Software yang mengukur, menganalisis dan mengontrol kejadian yang sesungguhnya terjadi di dunia. Elemen-elemen real time software terdiri dari: a. Komponen pengumpul data : Yang mengumpulkan dan menyusun informasi dari lingkungan external.

b. Komponen analisis : Yang mentransformasikan informasi yang diperlukan oleh aplikasi. c. Komponen kontrol : Yang memberikan respon kepada lingkungan external d. Komponen monitor : Yang mengkoordinasi semua komponen-komponen lainnya, sehingga respons real time yang berkisar 1 milisecond sampai 1 menit dapat dipertahankan. Perlu dicatat bahwa istilah real time berbeda dari istilah interactive atau time sharing. Sistem real time harus memberikan respons pada waktu yang ditentukan, sedangkan pada sistem interactive atau time sharing respons time biasanya melebihi batas waktu yang ditentukan tanpa merusak hasil. 3. Business Software Software yang paling banyak digunakan dalam bidang aplikasi software. Software ini digunakan oleh manajemen untuk mengambil keputusan ( Decision Making ) dalam bidang bisnis. Contoh : DAC EASY ACCOUNTING FINANCE MANAGER 4. Engineering and Sciencetific Software Software yang dicirikan dengan algoritma numerik, aplikasinya berkisar dari astronomi sampai vulkanologi, dari analis ketegangan otomotif sampai dinamika orbit ruang angkasa. Software ini banyak digunakan dalam bidang engineering dan science. Contoh : CAD / CAM ( Computer Aided Design / Computer Aided Manufacture Simulasi sistem ). 5. Pentingnya Rekayasa Perangkat Lunak

Rekayasa perangkat lunak merupakan ilmu yang penting untuk diperdalam karena teknologi ini memberikan stabilitas, kontrol, dan organisasi aktifitas yang jika tidak terkontrol dengan baik dapat menjadi sangat kacau. Ada beberapa tujuan dilakukan rekayasa perangkat lunak antara lain yaitu : 1. Untuk membangun software yang benar dan benar sebuah software (Right Software and Software Right). 2. Untuk membangun software yang tepat (correct). 3. Dikelola dengan baik untuk pemeliharaan kebenarannya (correctness). Secara umum tujuan RPL tidak berbeda dengan bidang rekayasa yang lain. Bidang rekayasa akan selaluberusaha menghasilkan output yang kinerjanya tinggi, biaya rendah dan waktu penyelesaian yang tepat. Secara lebih khusus kita dapat menyatakan tujuan RPL adalah : a. Memperoleh biaya produksi perangkat lunak yang rendah. b. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu. c. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform. d. Menghasilkan perangkat lunak yang biaya perawatannya rendah.

Sesuai definisi yang telah disampaikan sebelumnya, maka ruang lingkup RPL dapat digambarkan sebagai berikut. 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.