Jumat, 20 September 2013

BAB I Perangkat Lunak sebagai Produk

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. 
Dari kegiatan-kegiatan yang berurutan tersebut, pengkodean baru dapat dilakukan jika kebutuhan sudah dikumpulkan dan diketahui lalu di desain. Pengkodean yang sering menjadi fokus mahasiswa ini tidak berhenti ketika selesai, tapi ada pemeliharaan yang pasti terkait juga dengan kebutuhan. Kegiatan lain yang menaungi rekayasa perangkat lunak adalah jaminan mutu perangkat lunak (SQA~Software Quality Assurance). Pada dasarnya, setiap kegiatan memiliki standar bagaimana kegiatan tersebut seharusnya dilakukan untuk menghasilkan produk yang diinginkan.

Pandangan masyarakat terhadap teknologi pada umunya selalu dikaitkan dengan mesin yang dipergunakan produk manufacture dan perangkat-perangkat yang dipergunakan untuk proyek-proyek sipil (bangunan, jembatan, jalan, bendungan, dll), serta komputer atau peralatan yang berkaitan dengan komputer. Lebih luas teknologi komputer memiliki arti pada semua peralatan elektronik atau elektromekanik yang dipergunakan sebagai pengendali peralatan yang ditujuan untuk membantu proses kerja. Perlu diingat bahwa selain perangkat komputer pada umumnya (personal computer, notebook, Tablet PC), peralatan pemroses dan penyimpan data yang tingkatnya sedikit lebih rendah juga diterapkan pada peralatan komunikasi yang kemudian menjadi smartphone, peralatan-peralatan pada pelayanan masyarakat (public information board), pengaturan lalu lintas, serta peralatan rumah tangga. Implementasi penggunaan komputer memang ditujukan untuk mensejahterakan dan memberikan rasa nyaman bagi kehidupan manusia. Pemakaian perangkat lunak dapat diimplementasikan pada peralatan yang paling sederhana sampai dengan perangkat lunak yang dipergunakan untuk proses pengendalian perjalanan ruang angkasa.

Dari uraian diatas, proses pengendalian yang dilakukan oleh komputer sebenarnya merupakan deret perintah yang dimengerti oleh komputer untuk melaksanakan suatu tugas yang dikehendaki pembuatannya, yang kemudian disebut perangkat lunak . 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 kerassebagai produk manufacture dimana pada proses pembuatannya, didesain, digambar, ada penyambungan komponen-komponen  penyusunnya, diberikan kemasan kemudian didistribusikan secara fisik dari satu lokasi ke lokasi yang lain. Sehingga misal  terjadi kesalahan pada urut-urutan proses atau cacat produksi akan lebih mudah dilakukan koreksi, karena penyebabnya terlihat secara fisik.


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
- Meningkatnya peran pemeliharaan


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:

a. R. WILMAN & RIYAN
Software merupakan sebuah perangkat operasi kerja untuk menjalankan komponen hardware. Software bersifat maya, artinya software tidak terlihat, tetapi keberadaannya sangat dirasakan
b. WIWIT SISWOUTOMO
Software merupakan nyawa dari sebuah komputer. Tanpa perangkat lunak, komputer hanya sebuah perangkat keras mati yang tidak ada gunanya
c. FAUZIAH
Software adalah program untuk memasukkan data, mengecek data, menyimpan data, memperoleh data hasil, dan presentasi serta manipulasi data
d. JUNTAK TEAMWORK
Software merupakan konstruksi atau bangunan program yang telah disusun dan diatur sedemikian rupa, demi peruntukkan sebuah sistem kerja yang dijalankannya
e. WAHANA KOMPUTER
Software adalah perangkat lunak yang berfungsi untuk melakukan kontrol dan manajemen hardware. Software dalam komputer meliputi sistem operasi dan aplikasi
Hadirnya perangkat lunakseiring dengan perkembangan komputer yanh secara fisik memang ada dan dari sini kemudian rekayasa perangkat lunak mulai dikenal sebagi disiplin ilmu baru.
1.4  Jenis Perangkat Lunak
Pengelompokkan jenis perangkat lunak dapat dilakukan dengan mengelompokkan cara pembuatannya, pembuatan perangkat keras dapat dikelompokkan menjadi 2, yaitu:
a. 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.
b. 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, yautu:
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. Perangkat lunak ini pada umumnya memiliki fungsi dasar sistem operasi seperti menyalin (copy), memindahkan (transfer), menyimpan (save), menghapus (delete), mem-format, pengelolaan berkas(file manager), teks editor, pengendalian otentofikasi, pengendalian jaringan, pencetakan (print), dan penggunaan sumber daya yang terdapat pada perangkat keras lainnya.
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:
a. 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.
b. 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.
c. 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. Pembuatan oerangkat keras yang baru menunjukkan sesuatu yang benar-benar baru.
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 tesredia. 
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 
- Dapat terus dirawat dan dipelihara (maintainability)
- Dapat mengikuti perkembangan teknologi (dependability)
- Dapat mengikuti keinginan pengguna (robust)
- Efektif dan efisien dalam menggunakan energi dan penggunaannya
- Dapat memenuhi kebutuhan yang diinginkan (usability)


1.8 Mutu Perangkat Lunak 
Terdapat 3 pihak yang mempengaruhi mutu perangkat lunak, yaitu :
- 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
- User : setiap orang yang secara langsung berinteraksi terhadap eksekusi software, yang secara langsung memberi input ke komputer dan menggunakan atau menikmati output dari komputer
- 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 b ertanggung 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
~ Mitos Para Praktisi
pemrograman dilihat dari sebuah karya seni


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






















0 komentar:

Posting Komentar