twitter



Software

Saat in,hampir seluruh bidang kehidupan manusia telah melibatkan perangkat lunak. Hampir seluruh perngkat yang digunakan manusiamelengkapi pemproses. Perangkat seperti handphone, televisi, mesin cuci, mesin AC, mobil mewah dan sebagainya telah menjadi cerdas karena keberadaan program yang di tanam dalamnya.Manusia telah mempersiapkan perluasan penggunaan perangkat penggunaan perangkat lunak di semuaperangkat yang di pakai. Dengan lebar alamat 128 bit,cakupan Ipng (IP versi 6-next generation) telah mencakup hampir seluruh titik di muka bumi.Berati titik titik itu dapat dipasang perangkat yang berisi perangkat lunak (program) yang berkomunikasi menggunakan protokol TCP/IP.
               Pressman [PRE00] menyatakan perangkat lunak menjadi daya pendorong peradaban modern.
Perangkat lunak telah menjadi penuntun utama pengambilan keputusan bisnis,menjadi basis bagi penemuan ilmiah dan pemecahan masalah rekayasa bidang bidang lain. Perangkat lunak telah menjadi pembeda produk dan layanan modern.Perangnkat lunak telah di tempelkan di bermacam perangkat di segala bidang : transportasi, medis, telekomunikasi, militer, proses industri, hiburan, produk perkantoran, produkrumah tangga, … hampir tidak berhingga Perngkat lunak akan tetap menjadi  penuntun untuk peningkatan peradabaan manusia dalam segala hal dari pendidikan dasar  sampai ke rekayasa genetik.
3.1  Arti perangkat lunak
            Dalam arti sempit perangkatlunak adalah program yangdi jalankan di suatu pemproses. Perangkat lunak dalam arti lebih luas terdiri dari program program yang di eksekusi komputer dalam beraneka ukurandan arsitektur,dokumen dokumen berupa hard-copy dan bentuk bentuk maya, dan data berupa angka angka dan teks juga representasi informasi gambar,video dan audio.
            Perangkat lunak seharusnya merupakan produk yang dirancang dan di bangun lewat aktivitas aktivitas rekayasa perangkat lunak yang berdisiplin dan sistematis agar dapat dihandalkan  untuk mendukung aktivitas manusia sehari hari. Perangkat lunak seharusnya bukan hasil kegiatan  kerajinan uang hasil akhirnya sulit diprediksi.
3.2 Kategori Perangkat Lunak
Menurut Presman :
Perangkat lunak terbagi menjadi
·         Perangkat lunak sistem, kumpulan program untuk melayani program program lain.Perangkat lunak ini di cirikan dengan interaksi tinggi dengan perangkat keras. Contohnya : sistem operasi, kompilator, text editior, utulitas pengolahan file, device driver, pemproses telekomunikasi.
·         Perangkat lunak waktu nyata, perangkat yang memonitor/menganalisis/mengendalikan kejadian dunia nyata di saat terjadinya.Komponen perangkat lunak waktu nyata antara lain komponen yang mengumpulkan informasi dari lingkungan eksternal, komponen analisis yang mentransformasi informasi ke format yang di perlukan aplikasi dan komponen pemantauan (monitoring) yang menkoordinasi komponen lain sehingga dapat memberi tanggapan secara waktu nyata.
·         Perangkat lunak rekayasa dan sains, perangkat lunak untuk menyelesaikan persoalan rekayasa dan sains. Contoh perangkat lunak untuk astronomi, vokanologi, biologi molekuler sampai manufaktur, CAD, simulasi sistem dan sebagainya.
·         Perangkat lunak tempelen (embedded software), perangkat lunak ini berada di ROM (read only memory) untuk mengendali produk produk konsumer. Perangkat lunak ini melakukan fungsi sangat terbatas dan esotorik (seperti kendali keypad di oven mikrowave) atau menyediakan fungsi signifigan dan kemampuan kendali bahan bakar, tampilan dashboard, dan pengeraman, injeksi bahan bakar dan sebagainya).
·         berbasis Perangkat lunak web, perangkat lunak yang bekerjasama (berisi)dengan instruksi instruksi yang dapat di eksekusi (misalnya, CGI, HTML, Perl, atau Java) dan data (seperti hypertext dan beragam format visual dan audio) menghasilkan halaman web yang akan di tampilkan di browser. Jaringan menjadi komputer masih yang menyadiakan sumber daya perangkat lunak hampir tak terbatas yang dapat diakses siapapun melalui jaringan.
·         Perangkat lunak intelajensia buatan, perangkat lunak (AL – artificial intelegence) menggunakan algoritma non numerik untuk menylelesaikan pesoalan kompleks yang di lakukan secara analisissederhana. Sistem pakarjuga di sebut sistem berbasis pengetahuan, pengenalan pola (citra dan suara), jaringan syaraf tiruan, pembuktian teorema, dan game playing adalah representasi aplikasi dalam kategori ini.
Penerapan sistem komputertelah sangat sukses di bebagai bidang antara lain pada aplikasi sistem kendali lalulintas udara (air traffic controll ), animasi (animation), sistem kendali penerbangan (avionics), perbankan dan asuransi, pengolahan data bisnis, sistem kendali pemproses kimia, sistem pemerintahdankendali militer, sistem perancangan di bantu komputer, sistem pendidikan di bantu komputer, manufakturing terpadu, basisdata, penyimpanan dokumen, sistem kedokteran, sistem music, sistem operasi, rekayasa perminyakan, komponen perangkatlunak guna ulang, robotika, lingkungan pengembangan perangkat lunak stasiunangkasa luar, telekomunikasi, sistemtelementri, perancangan antar muka pemakai, perancangan VLSI, dan banyak lagi.
3.3 Perangkat Lunak Semakin Kompleks
            Peningkatan kemampuan perangkat keras komputer menghendaki keberadaan perangkat lunak yangsemakin kompleks.
Dijskstra menyatakan :
Selama tidak ada komputer maka tidak ada persoalan mengenai pemprograman. Ketika komputer masih lemah maka pemprograman adalah persoalan sepele,dan saat sekarang ini komputer memiliki kemampuan rekayasa,maka pemprograman menjadi persoalan seruparekayasa.
            Saat ini, seorang diri tidakmampu memahami sistem perangkat lunak modern besar secara lengkap karena sistem perangkat lunak sering berisi jutaan baris kodedan ribuan modul terpisah.
            Pemprograman sistem perangkat lunak yang kompleks sangat sulit. Sistem perangkat lunak besar merupakan salah satu di antara sistem sistem paling kompleks yang pernah di bangun manusia. Persoalanya di tambah harapan pemakai terhadap perangkat lunak bersifat lunak, dalam arti fleksibel untuk memberi perubahan sewaktu waktu, sekaligus di minta mengatasi cacat cacat bawaan dari pembeli (misalnya pemmbeli yang tidak/belum memahami apa yang di ingnkan), cacat cacat bawaan rekayasawan (rekayasawan yangmasih yunior), cacat cacat bawaan  lingkungan operasi dan cacat cacat bawaan peragkat lunak yang lain yang berinteraksi. Pengembangan sistemperangkat lunak sekaligus harus mengatasi kompleksitas persoalan dan kemungkinan perubahan.
            Kemampuan intelektual kita tidak mampumeng hadapi kompleksitas secara langsung. Kita harus menggunakan kakas kakas intelektual untuk meningkatkan kemampuan intelektual menghadapi kompleksitas. Kakas kakas intelektual ini berupa teknik teknik rekayasa perangkat lunak di bantu kakas otomasi untuk rekayasa perangkatlunak, CASE (computer aided software engineering).



3.4  Kualitas Perangkat Lunak
            Perangkat lunak merupakan entitas abstrak /intelektual sehingga lebih sulit di ukur di banding entitas fisik karya di rekayasa sipil, elektro, mekanik dansebagainya. Pengukuran kualitasdi rekayasa perangkat lunak meliputi :
1.      Kualitas rancangan, pada pengembangan perangkat lunak, kualitas rancangan meliputi spesifikasi kebutuhan, analisis dan rancangan sistem.
2.      Kualitas pemenuhan rancangan. Kualitas ini menyangkut implementasi. Jika implementasi mengikuti rancangan dan menghasilkan sistemyangmemnuhi kebutuhan dan kinerja yang di kehendaki berarti kualitas pemenuhan yang di capai adalah tinggi.
3.4.1 Properti Kualitas McCall
      McCall memberikan properti kualitas perangkat lunak sebagai berikut :
1.      Operasi produk
·         Correctness, memnuhi kebutuhan pemakai
·         Realibility, melakukan fungsi dengan hasil yang benar dan konsisten
·         Efficiency, melakukan fungsi dengan waktu dan memori minimal
·         Integrity, penggunaan dan perubahan yang terkendali
·         Usability, kemudahan mempelajari dan menggunakan
2.      Revisi produk
·         Maintainability, pembenaran yang mudah bila di temukan kesalahan
·         Flexibility, pembenaran yang mudah untuk beradaptasi dengan lingkungan baru dan penambahanfungsi yang baru
·         Testability, pengujian yang mudah dan dapat di lakukan dengan lengkap
3.      Transisi Produk
·         Protability, mudah untuk di konfersi agar beroperasi di platfrom berbeda
·         Reusability, penggunaan komponen komponen hasil untuk aplikasi lain
·         Interoperability, pertukaran informasi dengan perangkat lunak lain
3.4.2        Faktor Eksternal Kualitas Bertrand Meyer
Menurut Meyer [MEY97], penilaian kualitas perangkat lunak dapat dibagi menjadi dua faktor, yaitu (1) factor internal, dan (2) faktor eksternal. Faktprinternal adalah faktor di dalam perangkat lunak.Faktor internal adalah faktor didalam perangkat lunak. Faktor internal adalah “faktor tampak” yang diberinkan perangkat lunak. Meski faktor menentukan kemunculan faktor eksternal tapi pengembang harus menyadari mengenai faktor eksternal yang tampak oleh stakeholders.

Faktor eksternal [MEY97] meliputi :(1) kebenaran (correctness), (2) ketangguhan (rebustnes), (3) perluasan (extendibility), (4) guna ulang(resuability), (5) kompatibilitas(compatibility), (6) portabilitas(portability), (7)kemudahan penggunaan, (8)fungsional (functionality), (9) pewaktuan (timeliness), dan (10) faktor lain.
            Kebenaran (correctness)
Kebenaran adalah perangkat lunak melakukan tugas seperti di definisi spesifikasi. Kebenaran merupakan kualitas yang utama.Terdapat kesulitan dalam mengukur properti kebenaran, yaitu :
1.      Spesifikasi seharusnya berorientasi karakteristik produkyangdiinginkan pemakai. Tapi pengembangjuga mempunyai kepentingan/kebutuhan (yaitu kemudahandi rawat,fleksibel, mudahdi baca) yang tidaktermasuk dalam spesifikasi oleh pemakai.
2.      Kita tidak tau cara menspesifikasi cara menspesifikasi yang tidak ambigu, contohnya mengenai cara menspesifikasi keterawatan (maintanability).
3.      Spesifikasi perangkat lunak biasanya tidaklengkap. Faktor ini menjadi hal yang sulit. Sampai saat ini, spesifikasiperangkatlunak masih terus di kembangkan.
Ketangguhan (robustness)
            Ketangguhan adalah kemampuan sistem perangkat lunak bereaksi secara tepat menghadapi kondisi abnormal. Ketangguhan merupakan perlengkapan pelengkap faktor kebenaran.Kebenaran di tunjukan perilaku sistem dalam kasus yang di cakup di spesifikasi sementara ketangguhan merupakan tanggapan terhadap kejadian di luar spesifikasi.
            Dalam lingkungan operasi /produksi selalu terdapat kasus yang tidak tercakup di spesifikasi secara eksplisit. Peran ketangguhan menjamin bila kejadian abnormal muncul, sistem tdk menyebabkan situasi menjadi kacau. Sistem menghasilkan pesan kesalahan yang semestinya dan kemudian mengakhiri sistem secara halus serta dapat di terima. Perilaku ini sering di sebut “graceful degradation mode”.
Perluasan (extendibility)
            Perluasan adalah kemudahan mengadaptasi perangkat lunak terhadap perubahan spesifikasi. Pada sistem, perubahan tidaklah mudah. Perubahan dapat memberi efek “domino” di mana satu perubahan di satu bagian menyebabkan perubahan di bagian bagian lain secara terus menerus.
            Terhadap dua prinsip penting untuk meningkatkan faktor perluasan, yaitu :
1.      Kesederhanaan rancangan : arsitektur sederhana selalu lebih mudah beradaptasi terhadap perubahan di banding arsitektur kompleks.
2.      Desentralisasi : modul modul otonom memungkinkan perubahan hanya di satu modul, tidak terjadi propagasi perubahan ke modulmodul lain.
Guna ulang (reusability)
Gunaulang  adalah kemampuan elemen yang dapat di gunakan pada pembangunan banyak aplikasi berbeda. Guna ulang mempengaruhi aspek kualitas lain karena elemen elemen lain yang di pakai pakai ulang umumnya telah teruji sehingga pemakaian guna ulang meningkatkan aspek kebenaran dan ketangguhan, mengefisiensikan masa pembanguan sistem baru (pewaktuan).
Kompatibilitas (compatibility)
            Kompatibilitas adalah mudahnya perangkat lunak di gabungkan dengan elemen elemen perangkat lunak yang lain. Kompatibilitas penting karena karena perangkat lunak umumnya harus di pasang di lingkungan yang telah ada elemen elemen perangkat lunak sebelumnya. Kunci kompatibilitas adalah berada pada pemenuhan setandar terutama komunikasi antar program.
            Solusi umum meningkatkan kompatibilitas adalah denagan memenuhi protokol pengaksesan setandar  di semua entitas perangkat penting. Gagasan ini berlangsung pada orientasi objek, diwujudkan standar protokol CORBA dan Enterprise Java Beans.
Efisiensi (efficiency)
Efisiensi adalah kemampuan menggunakan sumberdaya sedikit mungkin misalnya perangkat keras seperti pemproses., ruang penyimpan memori internal dan eksternal, bandwidth perangkat komunikasi. Efisiensi harus di seimbangkan dengan tujuan lain seperti perluasan dan guna ulang. Optimasi terhadap efisiensi yang ekstrim dapat membuat perangkat lunak begitu terspesialisasi sehingga sulit diubah dan diguna ulang.

            Portabilitas (poertability)
Portabilitas adalah kemudahan mentransfer perangkat untuk lunak untuk beragam lingkungan perangkat keras dan perangkat lunak.
Kemudahan Penggunaan
Kemudahan penggunaan adalah kemudahan orang beragam latar belakang dan kualifikasi belajar menggunakan dan menerapkan perangkat lunak untuk menyekesaikan masalah. Kemudahan meliputi instalasi, operasi dan monitoring.
Fungsionalitas (Functionality)
Fungsionalitas adalah kemampuan /fitur sistem. Salah satu masalah terpenting adalah seberapa fungsionalitas yang perlu di sistem sehingga di sebut cukup.
Pewaktuan (timeliness)
Pewaktuan adalah dirilis saat atau sebelum pemakaiameninggalkan.
Kualitas yang lain
Masih terdapat kualitas lain veriability, integrtiy, repairability, dan economy.

0 komentar:

Posting Komentar