Minggu, 19 Januari 2014

PERANGKAT LUNAK SEBAGAI PRODUK



1.1.Pengantar

Pada umumnya mahasiswa Teknik Informatika lebih mengutamakan pemrograman, karena menurut mereka itu adalah sebuah kemampuan inti yang harus di kuasai. Pada kenyataannya, banyak kemampuan lain yang  mungkin selama ini dianggap sebelah mata justru menjadi penopang dan penentuk proses membangun perangkat lunak kerja sama dalam tim, kemampuan berkomunikasi, kemampuan membuat dokumentasi, kemampuan wawancara, kemampuan cepat bidang lain di luar pemrograman dan sebagainya.
Dalam rekayasa perangkat lunak umumnya ada beberapa kegiatan yang senantiasa ada pada model proses apapun : identifikasi kebutuhan, desain, pengkodean, penerapan, dan pemeliharaan.
Perangkat Lunak merupakan hal yang abstrak dan tidak nyata, tidak memiliki unsur fisik atau bukan merupakan unsur dari sebuah proses manufacture. Perangkat lunak sebagai sebuah produk merupakan proses urut-urutan logika yang dipergunakan untuk melaksanakan sesuatu fungsi yang dikehendaki, ketelitian dan dokumentasi yang jelas akan membantu melacak penyebab kesalahan bila program tersebut tidak berfungsi sebagaimana mestinya. Berbeda dengan perangkat keras sebagai produk manufacture dimana pada proses pembuatannya, di desain, di gambar, ada penyambungan komponen-komponen  penyusunnya, diberikan kemasan kemudian di distribusikan secara fisik dari satu lokasi ke lokasi yang lain.


1.2.  Latar Belakang Disiplin Rekayasa Perangkat Lunak

Faktor-faktor yang melatarbelakangi munculnya RPL :

·         Ketidakmampuan organisasi memprediksi waktu, usaha dan biaya untuk membangun perangkat lunak
·         Perubahan nisbah/rasio biaya perangkat keras terhadap harga perangkat lunak
·         Kemajuan pesat perangkat keras
·         Kemajuan dalam teknik-teknik pembuatan perangkat lunak
·         Tuntutan yang lebih tinggi terhadap jumlah perangkat lunak
·         Tuntutan yang lebih tinggi terhadap mutu perangkat lunak

1.3. Perangkat Lunak

Definisi software sedikit lebih sulit bila dibanding dengan perangkat keras, tidak nampak ciri fisik yang dapat dipergunakan untuk mengenali perangkat lunak, tetapi nampak akibat yang ditimbulkan pada antar muka (interface) dan keluaran perangkat keras (output). Definisi perangkat keras tergantung pada waktu, dalam hal apa dan siapa yang mendefinisikan perangkat lunak tersebut. Dibawah ini adalah beberapa definisi perangkat lunak menurut para ahli, antara lain: 

·         R. WILMAN & RIYAN

Software merupakan sebuah perangkat operasi kerja untuk menjalankan komponen hardware. Software bersifat maya, artinya software tidak terlihat, tetapi keberadaannya sangat dirasakan.

·         FAUZIAH

Software adalah program untuk memasukkan data, mengecek data, menyimpan data, memperoleh data hasil, dan presentasi serta manipulasi data.

·         JUNTAK TEAMWORK

Software merupakan konstruksi atau bangunan program yang telah disusun dan diatur sedemikian rupa, demi peruntukkan sebuah sistem kerja yang dijalankannya.

·         WAHANA KOMPUTER

Software adalah perangkat lunak yang berfungsi untuk melakukan kontrol dan manajemen hardware. Software dalam komputer meliputi sistem operasi dan aplikasi.
  
1.4.Jenis Perangkat Lunak

Pengelompokkan jenis perangkat lunak dapat dilakukan dengan mengelompokkan cara pembuatannya, pembuatan perangkat keras dapat dikelompokkan menjadi 2, yaitu:

1.      Perangkat Lunak Generik (Generic Software) : Merupakan perangkat lunak yang berdiri sendiri (stand alone) dengan menggunakan standar tertentu yang diproduksi oleh organisasi pengembang perangkat lunak (vendor) dan biasa dijual secara bebas dan siapapun dapat membeli. Contoh perangkat lunak generic antara lain: Office Application (aplikasi perkantoran), Database Engine (mesin data), Graphic Package (paket pengolah grafik), Programming Applicatio (paket pemrograman), dan lain sebagainya.

2.      Perangkat Lunak Pesanan (Order Software) : Merupakan perangkat lunak yang dipesan ole pelanggan tertentu kepada pengembang perangkat lunak (vendor) untuk memenuhi kebutuhan fungsi tertentu yang dikehendaki pemesan. Perangkat lunak yang dipesan secara khusus ini biasanya ditujukan untuk mendukung proses bisnis, mengatur perangkat elektromaknetik pada manufacture system control suatu aktifitas khusus (misal pelabuhan udara, pengatur lalu lintas jalan raya).
Sedangkan bila dikelompokkan berdasarkan penggunaanya dapat dikelompokkan dalam 8 kategori, yaitu :

1.      System Software
Perangkat lunak yang bertanggung jawab untuk mengendalikan, mengintegrasikan, dan mengolah komponen perangkat keras atau perangkat lunak lainnya tanpa melihat jenjang dari perangkat lunak tersebut.

2.      Real-Time System
Perangkat lunak yang digunakan untuk memonitor, meng-analisa, dan mengendalikan tiap peristiwa yang terjadi secara langsung. Perangkat lunak ini mengumpulkan data tiap kejadian kemudian menganalisa dan menaggapi hasil analisa dengan mengirimnya pada perangkat yang lain, contoh perangkat lunak pendeteksi gempa, pendeteksi tsunami, pendeteksi gunung berapi.

3.      Business Software
Perangkat keras yang dipergunakan untuk mengelola kerumitan proses bisnis dalam organisasi, perangkat ini biasanya ter-integrasi satu dengan yang lainnya membentuk sebuah jejaring system dalam organisasi yang kemudian di dalam organisasi disebut Management Information System. Misal penggunaan sistem penjualan, pergudangan, penggajian, kepegawaian, dan lain sebagainya.

4.      Engineering and Scientific Software
Perangkat keras yang disusun secara khusus mengikut sertakan rumus-rumus pada ilmu pengetahuan tertentu, perangkat lunak ini biasanya dilakukan untuk proses simulasi suatu kejadian.

5.      Embedded Software 
Perangkat lunak yang dirancang khusus untuk piranti modern cerdas, dimana fungsi dari perangkat lunak ini sebagai pengendali terhadap peralatan tersebut, misal keypad pada perangkat rumah tangga, panel control mobil, perangkat, instrumen pemutus arus pada pembangkit listrik.

6.      Personal Software
Perangkat lunak yang dibuat untuk membantu menyelesaikan atau memenuhi pekerjaan manusia secara individual sebagai contoh memainkan music atau video, pekerjaan perkantoran, mengkoleksi database, berkomunikasi dengan komunitas tertentu dan berbagai keperluan lainnya.

7.      Web base Software
Perangkat lunak yang dipergunakan untuk menjalankan berbagai perintah pada jejaring internet, berbagai format data dapat dikelola dengan menggunakan format HTML, PHP, ASP, dan ASPX.

8.      Artificial Intelligence Software
Perangkat lunak ini dibuat untuk menyelesaikan pekerjaan rumit dan non numerical algorithm, menggunakan metode neumal network.

1.5. Perbedaan Karakteristik Perangkat lunak dibanding Perangkat Keras

Sebagai "barang" yang terintegrasi dalam sebuah system computer, perangkat lunak memiliki perbedaan bila dibandingkan dengan perangkat keras antara lain :

Perangkat Lunak bukan produk pabrikan (dalam konsep pabrik secara klasik), perangkat keras bukan merupakan barang yang dibuat oleh pabrik, yaitu dimana sifatnya secara fisik tidak akan terlihat, control terhadap kualitas produk sesuai dengan ketelitian pembuatan algoritma. Kualitas software sangat ditentukan dan tergantung dari kualitas SDM yang terlibat didalamnya, sehingga bila dihitung maka sebagian besar biaya dipergunakan untuk pembiayaan SDM.
Perangkat lunak mengalami wear out (ke"aus-an"), berbeda dengan perangkat keras yang memiliki usia teknis tertentu pada batas waktu tertentu beberapa komponen akan mengalami kerusakan atau penurunan fungsi, kerusakan yang terjadi pada beberapa komponen perangkat keras selalu mempengaruhi kinerja perangkat keras bahkan terkadang berhenti sama sekai. Kerusakan pada perangkat keras ini dapat di ganti dengan komponen baru, sedangkan kerusakan yang terjadi pada perangkat lunak menunjukkan kesalahan awal pada saat perencanaan dan desain awal.
Sebagian besar perangkat lunak dibangun dan dikembangkan dengan menggunakan desain dan komponen software yang telah ada sebelumnya. Pengembang perangkat lunak dapat menggunakan algoritma, sub rutin, fungsi dan prosedur untuk membangun atau memperbarui perangkat lunak yang baru. Sebagai contoh untuk memperbarui tampilan antar muka (interface), sub-sub rutin, prosedur dan fungsi dari perangkat lunak lama masih digunakan (rense). Hal ini tidak terjadi pada perangkat keras, perangkat keras dibuat dengan berdasarkan penelitian, desain sirkuit, pemilihan kompatibilitas dan kemudian menggabungkan berbagai komponen elektronik pada papan sirkuit sesuai petunjuk perakitan. 

1.6. Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak berasal dari 2 kata, yaitu Software (perangkat lunak) dan Engineering (rekayasa). Rekayasa Perangkat Lunak (software) adalah source code pada suatu program atau sistem perangkat lunak tidak hanya dokumentasi terhadap source code tapi juga dokumentasi terhadap sesuatu yang dibutuhkan selama pengembangan, instalasi penggunaan dan pemeliharaan sebuah sistem Engineering atau Rekayasa adalah aplikasi terhadap pendekatan sistematis yang berdasar atas ilmu pengetahuan dan matematis serta aplikasi tentang produksi terhadap struktur, mesin, produk, proses atau sistem.
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. 
Rekayasa Perangkat Lunak juga merupakan pendekatan sistematis dan matematis untuk membangun, memelihara dan mengenyahkan perangkat lunak. Dari cara pandang lain, RPL adalah pendekatan sistematis untuk merekayasa perangakat lunak yang handal atau bermutu, tepat waktu dan dengan biaya yang optimal.


1.7. Karakteristik Perangkat Lunak

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)

1.8. Mutu Perangkat Lunak 

Terdapat 3 pihak yang mempengaruhi mutu perangkat lunak, yaitu :

1.      Sponsor : Seseorang atau organisasi yang membiayai atau membayar selama pengembangan atau perantaraan sistem software dan biasanya mempunyai respon terhadap pengembangan sistem software itu sendiri dengan melibatkan perhitungan biaya yang optimal
2.      User : Setiap orang yang secara langsung berinteraksi terhadap eksekusi software, yang secara langsung memberi input ke komputer dan menggunakan atau menikmati output dari komputer
3.      Developer : Seseorang atau organisasi yang memberikan modifikasi dan memelihara terhadap eror serta mengembangkan sistem software tersebut

1.9. Mitos Perangkat Lunak

·         Mitos Manajemen 

Manajer yang bertanggung jawab terhadap masalah perangkat lunak, seperti juga manajer pada kebanyakan disiplin, sering mengalami tekanan karena masalah pengaturan keuangan, menjaga jadwal agar tidak kacau dan peningkatan kualitas.

·         Mitos Pelanggan 

Pelanggan mempercayai mitos tentang perangkat lunak karena manajer dan para pelaksana yang bertanggung jawab atas masalah perangkat lunak hanya bekerja sedikit saja untuk memperbaiki kesalahan informasi. mitos ini membawa kearah pengharapan yang salah oleh pelanggan dan ketidakpuasan pengembang.

1.10  Krisis Perangkat Lunak

Masalah nyata yang sudah mengganggu perkembangan perangkat lunak :

Ø  Serangkaian masalah yang terjadi dalam perkembangan perangkat lunak komputer
Ø  Masalah yang ada tidak hanya terbatas pada perangkat lunak yang tidak berfungsi dengan baik tapi juga pada penderitaan yang melingkupi masalah-masalah yang berhubungan dengan bagaimana mengembangkan perangkat lunak, bagaimana memelihara volume perangkat lunak yang sedang tumbuh dan bagaimana mengejar kebutuhan perangkat lunak lebih banyak lagi.

Tidak ada komentar:

Posting Komentar