Saturday, February 20, 2010

Rekayasa Perangkat Lunak



Perangkat lunak

Pengertian perangkat lunak itu sendiri yakni merupakan program komputer yang berfungsi sebagai sarana interaksi antara pengguna dan perangkat keras. Perangkat lunak dapat juga dikatakan sebagai 'penterjemah' perintah-perintah yang dijalankan pengguna komputer untuk diteruskan ke atau diproses oleh perangkat keras.

Perangkat lunak dapat dikategorikan menjadi tiga. Yakni:

  1. Tingkatan program aplikasi (application program misalnya OpenOffice.org),

  2. Tingkatan sistem operasi (operating system misalnya Ubuntu),

  3. Tingkatan bahasa pemrograman (yang dibagi lagi atas bahasa pemrograman tingkat tinggi seperti Pascal dan bahasa pemrograman tingkat rendah yaitu bahasa rakitan).

Karakteristik Perangkat Lunak

1.Perangkat lunak merupakan produk yang lebih mengorientasikan penekanan pada kegiatan rekayasa dibandingkan kegiatan manufacturing.

2.Perangkat lunak bukanlah produk yang dapat usang untuk kemudian dibuang seperti perangkat keras.

Rekayasa Perangkat Lunak

Rekayasa perangkat lunak merupakan suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal requirement capturing (analisa kebutuhan pengguna), specification (menentukan spesifikasi dari kebutuhan pengguna), desain, coding, testing sampai pemeliharaan sistem setelah digunakan.

Selain itu rekayasa perangkat lunak juga dapat diartikan sebagai teknik pengembangan perangkat lunak yang telah ada untuk kemudian dihasilkan sebuah perangkat lunak yang lebih efektif, efisien, dan memudahkan penggunaannya.


Mitos Perangkat Lunak
  1. Mitos Manajemen

    Salah satu contoh mitos yang terjadi:

    Mitos : Jika kita mentaati jadual, kita dapat menambah programmer dan mengejar ketinggalan (Konsep Mongolian Horde)

    Kenyataan : Pengembangan PL bukan proses mekanik seperti manufaktur. Brooks menyatakan, “Menambah orang dalam proyek PL yang sudah ketinggalan akan membuatnya semakin ketinggalan.” Karena semakin banyak pendatang baru, personil lama harus menggunakan waktu untuk membimbing mereka, sehingga akan mengurangi waktu dalam pengembangan produksi. Orang bisa ditambahkan, tapi harus dengan waktu dan cara yang sudah terkoordinasi dengan baik.

  2. Mitos Pelanggan

    Salah satu contoh mitos yang terjadi:

    Mitos : Kebutuhan proyek berubah terus, tapi perubahan tersebut bisa diakomodasi dengan mudah karena PL bersifat fleksibel.

    Kenyataan : Jika ada perhatian serius pada definisi awal, perubahan dapat diakomodasi dengan mudah. Jika perubahan terjadi selama proses perancangan, biaya meningkat dengan cepat. Jika perubahan setelah launching, biayanya bisa lebih mahal daripada membuat baru.

  3. Mitos Praktisi

    Salah satu contoh mitos yang terjadi:

    Mitos : Sekali kita menulis program dan membuatnya bekerja, pekerjaan selesai.

    Kenyataan : Lebih cepat kita mulai coding, makin lama selesainya. Antara 60-80% usaha yang dilakukan pada sebuah program akan terus dilakukan sampai program diantar ke konsumen utk pertama kalinya.

EVOLUSI PERANGKAT LUNAK

1. Era Pioner

Pada era ini, perangkat lunak merupakan satu kesatuan dengan perangkat kerasnya. Penggunaan komputer oleh user dilakukan secara langsung. semua hasil proses yang dikerjakan oleh komputer diprint out.

2. Era Stabil

Pada era ini mulai di kenal sistem basis data, yang memisahkan antara program (pemroses) dengan data (yang di proses). Pada era ini sebuah perangkat lunak yang dijalankan oleh komputer sudah bisa menjalankan perintah multitasking dan mampu melayani multi user.

3. Era Mikro

pada era ini sudah mulai muncul perangkat lunak sistem, yang mampu menangani perangkat lunak aplikasi yang digunakan dalam komputer untuk membantu melakukan suatu pekerjaan tertentu dan dapat digunakan oleh user secara langsung. pada era ini, sudah mulai kelihatan tanda-tanda berkembangnya kecerdasan buatan.

4. Era Modern

Pada era ini, perangkat lunak sudah digunakan oleh banyak orang. Pembuatan perangkat lunak juga bukan hanya kegiatan yang khusus dilakukan oleh beberapa orang ahli saja, namun juga telah mulai banyak dipelajari dan dilakukan oleh banyak orang. Sehingga perkembangan dan kreatifitas di bidang perangkat lunak juga terus berkembang dengan cepat, diantaranya perangkat lunak telah mampu mengenali suara, gambar, gerak, dll.

SOFTWARE PROCESS

Sofware proses merupakan Sekumpulan aktifitas terstruktur yang dibutuhkan untuk mengembangkan sistemsoftware yang terdiri dari:

o Spesifikasi

o Desain

o Validasi

o Evolusi

Model proses software adalah representasi abstrak dari proses. Merupakan gambaran dari proses dari beberapa perspektif tertentu

MODEL-MODEL PERANGKAT LUNAK

1.Model konvensional

Model konvensional diartikan sebagai sebuah pemodelan perangkat lunak yang telah ditemukan terdahulu. Namun demikian bukan berarti model-model konvensional ini tidak dapat digunakan lagi. Model-model konvensional ini tetap dapat digunakan, namun mungkin memiliki beberapa kekurangan dibandingkan model evolusioner yang telah diperbaharui.

a. Model Waterfall

Model ini mengusulkan sebuah pendekatan kepada perkembangan software yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Dimodelkan setelah siklus rekayasa konvensional, model waterfall melingkupi aktivitas-aktivitas sebagai berikut:rekayasa dan pemodelan sistem, analisis kebutuhan software, desain, generalisasi kode, pengujian, pemeliharaan.


2.Model evolusioner

Model ini berdasarkan pada ide pengembangan pada implementasi awal yang akan menghasilkan komentar pemakai sehingga dapat dilakukan perbaikan melalui banyak versi sampai sistem yang mencukupi dapat dikembangan. Selain memiliki aktivitas-aktivitas yang terpisah model ini memberikan feedback dengan cepat dan serentak.

Tipe Model Evolusioner

a.Pemrograman Evolusioner

bekerjasama dengan user untuk menghasilkan kebutuhan-kebutuhan dan menyampaikan sistem akhir kepada user.

b.Pemodelan

Model/contoh difokuskan pada penelitian bagian-bagian kebutuhan user yang kurang dimengerti.

Kelebihan

Lebih efektif daripada pendekatan waterfall untuk hal pengembangan perangkat lunak yang harus dengan segera dapat memenuhi kebutuhan costumer.

Kekurangan (dari segi teknik) :

  • proses tidak visibel

  • sistem biasanya kurang terstruktur

  • ketrampilan khusus jarang dimiliki

a.Spiral Boehm

Pendekatan alternatif diusulkan oleh Boehm (1988). Boehm mengusulkan sebuah model yang secara eksplisit menjelaskan bahwa resiko yang disadari mungkin membentuk dasar model proses umum.Model Boehm bebrbentuk spiral. Setiap loop mewakili sebuah tahap dari proses perangkat lunak.

Tidak ada tahap yang tetap dalam model ini. Manajemen harus memutuskan bagaimana membentuk proyek kedalam tahap-tahap. Perusahaan biasanya bekerja dengan beberapa model umum dengan tahap tambahan untuk proyek khusus atau ketika masala-masalah ditemukan selama pembuatan proyek.

Setiap loop dibagi dalam 4 sektor,yaitu:Pembuatan tujuan,Perkiraan dan pengurangan resiko,Pengembangan dan validasi,Perencanaan.

b.Prototipe

Prototipe dimulai dengan pengumpulan kebutuhan. Pengembang dan pelanggan bertemu dan mendefinisikan objektif keseluruh dari software, mengidentifikasi segala kebutuhan yang diketahui, dan area garis besar dimana definisi lebih jauh merupakan keharusan kemudian dilakukan ”perancangan kilat”. Perancangan kilat berfokus pada penyajian dari aspek-aspek software tersebut yang akan nampak bagi pelanggan. Perancangan kilat membawa kepada konstruksi sebuah prototipe. Prototipe tersebut dievaluasi oleh pelanggan dan dipakai untuk menyaring kebutuhan pengembangan software. Iterasi terjadi pada saat prototipe disetel untuk memenuhi kebutuhan pelanggan, dan pada saat yang sama memungkinkan pengembang untuk secara lebih baik memahami apa yang harus dilakukannya.


Dikutip dari berbagai sumber.





Digg Google Bookmarks reddit Mixx StumbleUpon Technorati Yahoo! Buzz DesignFloat Delicious BlinkList Furl

0 comments: on "Rekayasa Perangkat Lunak"

Post a Comment