Tuesday, December 29, 2009

Pengenalan Rancangan Perangkat Lunak

Definisi RPL
Rekayasa Perangkat Lunak adalah disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan. Perekayasa Perangkat Lunak memakai pendekatan yang sistematis dan terorganisir untuk menghasilkan perangkat lunak berkualitas tinggi.

Tujuan RPL
- Meningkatkan keakuratan, performance & efficiency produk secara keseluruhan dalam pengembangan.
- Menerapkan metodologi yang terdefinisi dengan baik untuk resolusi software.

Perbedaan RPL & Ilmu Komputer
Ilmu Komputer berhubungan dengan teori dan metode yang mendasari sistem komputer dan perangkat lunak. Teori ini merupakan suatu model fisik dan analitik untuk menyelesaikan kasus yang spesifik, sedangkan Rekayasa Perangkat Lunak berhubungan dengan masalah-masalah praktis untuk menghasilkan suatu perangkat lunak. Pendekatan dilakukan dengan model bisnis dan strategi bisnis suatu perangkat lunak.

Perbedaan RPL VS Rekayasa Sistem
Rekayasa Sistem berhubungan dengan semua aspek pengembangan sistem berbasis komputer, termasuk perangkat keras, perangkat lunak dan rekayasa proses. Sedangkan Rekayasa Perangkat Lunak adalah bagian dari Rekayasa Sistem.

Proses PL
Proses perangkat lunak adalah serangkaian kegiatan yang tujuannya untuk mengembangkan atau evolusi perangkat lunak. Kegiatan-kegiatan tersebut adalah:
- Spesifikasi perangkat lunak
- Pengembangan perangkat lunak
- Validasi perangkat lunak
- Evolusi perangkat lunak

Ilmu Komputer

Ilmu komputer (Ilkom) atau dalam bahasa Inggrisnya disebut Computer Science (CS), secara umum diartikan sebagai ilmu yang mempelajari baik tentang komputasi, perangkat keras (hardware) maupun perangkat lunak (software). Ilmu komputer mencakup beragam topik yang berkaitan dengan komputer, mulai dari analisa abstrak algoritma sampai subyek yang lebih konkret seperti bahasa pemrograman, perangkat lunak, termasuk perangkat keras. Sebagai suatu disiplin ilmu, Ilmu Komputer lebih menekankan pada pemrograman komputer, dan rekayasa perangkat lunak (software), sementara teknik komputer lebih cenderung berkaitan dengan hal-hal seperti perangkat keras komputer (hardware). Namun demikian kedua istilah tersebut sering disalah-artikan oleh banyak orang.


Tesis Church-Turing menyatakan bahwa semua alat komputasi yang telah umum diketahui sebenarnya sama dalam hal apa yang bisa mereka lakukan, sekalipun dengan efisiensi yang berbeda. Tesis ini terkadang dianggap sebagai prinsip dasar dari ilmu komputer. Para ahli ilmu komputer biasanya menekankan komputer von Neumann atau mesin Turing (komputer yang mengerjakan tugas yang kecil dan deterministik pada suatu waktu tertentu), karena hal seperti itulah kebanyakan komputer digunakan sekarang ini. Para ahli ilmu komputer juga mempelajari jenis mesin yang lain, beberapa diantaranya belum bisa dipakai secara praktikal (seperti komputer neural, komputer DNA, dan komputer kuantum) serta beberapa diantaranya masih cukup teoritis (seperti komputer random and komputer oracle).

Ilmu Komputer mempelajari apa yang bisa dilakukan oleh beberapa program, dan apa yang tidak (komputabilitas dan intelegensia buatan), bagaimana program itu harus mengevaluasi suatu hasil (algoritma), bagaimana program harus menyimpan dan mengambil bit tertentu dari suatu informasi (struktur data) dan bagaimana program dan pengguna berkomunikasi (antarmuka pengguna dan bahasa pemrograman).

Ilmu komputer berakar dari elektronika, matematika dan linguistik. Dalam tiga dekade terakhir dari abad 20, ilmu komputer telah menjadi suatu disiplin ilmu baru dan telah mengembangkan metode dan istilah sendiri. Departemen ilmu komputer pertama didirikan di Universitas Purdue pada tahun 1962. Hampir semua universitas sekarang mempunyai departemen ilmu komputer.

Penghargaan tertinggi dalam ilmu komputer adalah Turing Award, pemenang penghargaan ini adalah semua pionir di bidangnya.

Edsger Dijkstra mengatakan:

Ilmu komputer bukan tentang komputer sebagaimana astronomi bukan tentang teleskop

Fisikawan ternama Richard Feynman mengatakan:

Ilmu komputer umurnya tidak setua fisika; lebih muda beberapa ratus tahun. Walaupun begitu, ini tidak berarti bahwa "hidangan" ilmuwan komputer jauh lebih sedikit dibanding fisikawan. Memang lebih muda, tapi dibesarkan secara jauh lebih intensif!

Cabang ilmu utama informatika:

- Dasar Matematika

- Teori Ilmu Komputer

- Perangkat Lunak

- Perangkat Keras

- Organisasi Sistem Komputer

- Data & Sistem Informasi

- Metodologi Komputasi

- Aplikasi Komputer

- Lingkungan Komputasi

Catatan Tentang Istilah 'Informatika' & 'Ilmu Komputer'

Dalam bahasa Indonesia, istilah Informatika diturunkan dari bahasa Perancis informatique, yang dalam bahasa Jerman disebut Informatik. Sebenarnya kata ini identik dengan istilah computer science di Amerika Serikat dan computing science di Inggris. Namun istilah informatics dalam bahasa Inggris memiliki makna yang sedikit berbeda yaitu lebih menekankan pada aspek pengolahan informasi secara sistematis dan rasional.

Hubungan Informatika Dengan Bidang Lain

Ilmu komputer berkaitan erat dengan beberapa bidang lain. Bidang-bidang ini tidak benar-benar terpisah, sekalipun mempunyai perbedaan penting.

Ilmu Informasi

Ilmu Informasi adalah ilmu yang mempelajari data dan informasi, mencakup bagaimana menginterpretasi, menganalisa, menyimpan dan mengambil kembali. Ilmu informasi dimulai sebagai dasar dari analisa komunikasi dan basis data.

Sistem Informasi

Sistem Informasi adalah aplikasi komputer untuk mendukung operasi dari suatu organisasi yaitu: operasi, instalasi dan perawatan komputer, perangkat lunak dan data. Sistem Informasi Manajemen adalah kunci dari bidang yang menekankan finansial dan personal manajemen. 'Sistem Informasi' dapat berupa gabungan dari beberapa elemen teknologi berbasis komputer yang saling berinteraksi dan bekerja sama berdasarkan suatu prosedur kerja (aturan kerja) yang telah ditetapkan, dimana memproses dan mengolah data menjadi suatu bentuk informasi yang dapat digunakan dalam mendukung keputusan.

Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak pada prinsipnya menekankan pada tahapan-tahapan pengembangan suatu perangkat lunak yakni : Analisis, Desain, Implementasi, Testing dan Maintenance. Pada tahap yang lebih luas Rekayasa Perangkat Lunak mengacu pada Manajemen Proyek pengembangan Perangkat Lunak itu sendiri dengan tetap memperhatikan tahapan-tahapan pengembangan sebelumnya.

Dalam pengembangannya perangkat lunak memiliki berbagai model yaitu model water fall (model konvensional sebagai model terdahulu yang dikembangkan dan karena model water fall nyaris sama dengan siklus hidup pengembangan sistem), model prototype (model yang disukai oleh user dan pengembang), model sequensial linear, model RAD (rapid aplikation model), model formal method atau metode formal disini sebelum diadakannya implementasi terlebih dahulu rancangan model yang dibuat diverifikasi terlebih dahulu sehingga tidak ada lagi kesalahan - kesalahan pada saat implementasi.