Jumat, 27 Februari 2015

Perangkat Lunak dan Rekayasa Perangkat Lunak



1.      Pengertian Perangkat lunak atau software
Secara umum, perangkat lunak adalah kumpulan program komputer dengan fungsi tertentu. Menurut Pressman, 1997, perangkat lunak adalah instruksi (program komputer) yang bila dieksekusi dapat menjalankan fungsi tertentu, struktur data yang dapat membuat program memanipulasi informasi, dokumen yang menjelaskan program. Sedangkan menurut IEEE (Institute of Electrical and Electronics Engineers), perangkat lunak adalah program komputer, prosedur, aturan dan dokumentasi yang berkaitan serta data, yang bertalian dengan operasi suatu sistem komputer.
 
2.      Jenis-jenis Software atau Perangkat Lunak
Software atau perangkat lunak komputer berdasarkan distribusinya dibedakan menjadi beberapa macam, yaitu software berbayar, software gratis atau free ( Freeware, free software, shareware, adware) .
a.       Software berbayar
Software berbayar merupakan perangkat lunak yang didistribusikan untuk tujuan komersil, setiap pengguna yang ingin menggunakan atau mendapatkan software tersebut dengan cara membeli atau membayar pada pihak yang mendistribusikannya. pengguna yang menggunakan software berbayar umumnya tidak diijinkan untuk menyebarluaskan software tersebut secara bebas tanpa ijin ada penerbitnya. contoh software berbayar ini misalnya adalah sistem microsoft windows, microsoft office, adobe photo shop, dan lain-lain.
b.      Freeware
 Freeware atau perangkat lunak gratis adalah perangkat lunak komputer berhak cipta yang gratis digunakan tanpa batasan waktu, berbeda dari shareware yang mewajibkan  penggunanya membayar (misalnya setelah jangka waktu percobaan tertentu atau untuk memperoleh fungsi tambahan). Para pengembang perangkat gratis seringkali membuat perangkat gratis freeware “untuk disumbangkan kepada komunitas”, namun juga tetap ingin mempertahankan hak mereka sebagai pengembang dan memiliki kontrol terhadap pengembangan selanjutnya. Freeware juga idefinisikan sebagai program apapun yang didistribusikan gratis, tanpa biaya tambahan. Sebuah contoh utama adalah suite browser dan mail client dan Mozilla News, juga didistribusikan di bawah GPL (Free Software).
c.       Free Software
 Free Software lebih mengarah kepada bebas penggunaan tetapi tidak harus gratis. Pada kenyataannya, namanya adalah karena bebas untuk mencoba perangkat lunak sumber terbuka (Open Source) dan di sanalah letak inti dari kebebasan: program-program di bawah GPL, sekali diperoleh dapat digunakan, disalin, dimodifikasi dan didistribusikan secara bebas. Jadi free software tidak mengarah kepada gratis pembelian tetapi penggunaan dan distribusi. Begitu keluar dari lisensi kita dapat menemukan berbagai cara untuk mendistribusikan perangkat lunak, termasuk freeware, shareware atau Adware. Klasifikasi ini mempengaruhi cara di mana program dipasarkan, dan independen dari lisensi  perangkat lunak mana mereka berasal. Perbedaan yang nyata antara Free Software dan Freeware. Konflik muncul dalam arti kata free dalam bahasa Inggris, yang berarti keduanya bebas dan gratis. Oleh karena itu, dan seperti yang disebutkan sebelumnya, Free Software tidak perlu bebas, sama seperti Freeware tidak harus gratis.
d.      Shareware
Shareware juga bebas tetapi lebih dibatasi untuk waktu tertentu. Shareware adalah program terbatas didistribusikan baik sebagai demonstrasi atau versi evaluasi dengan fitur atau fungsi yang terbatas atau dengan menggunakan batas waktu yang ditetapkan (misalnya 30 hari).

Sedangkan berdasarkan kegunaannya, software komputer terbagi dalam 4 (empat) jenis: Software System (Sistem Operasi), Sofware Bahasa (Bahasa Pemrograman), Software Application (Program Apliaksi) dan Software Utility (Program Bantu).
a.     Software System (Sistem Operasi)
Merupakan sebuah program yang berfungsi untuk mengolah segala proses dan mengorganisasikan semua komponen yang terdapat di dalam komputer. Contoh : Microsoft Windows, UNIX, LINUX, Macintosh

b.    Software Bahasa (Bahasa Pemrograman)
Merupakan suatu bahasa pemrograman yang terdapat dalam bentuk assembler compiler ataupun interpreter. Berikut ini contoh-contoh dari bahasa pemrograman : HTML, PHP, ASP, Delphi, Bahasa C, Microsoft Visual Basic (sering disingkat sebagai Visual Basic), Pascal, JAVA, C++, PERL.

c.     Software Application (Program Aplikasi)
Merupakan suatu program yang ditulis dengan bahasa pemrograman tertentu untuk diterapkan pada bidang tertentu. Contoh program aplikasi yang sering digunakan yaitu:
 - Office
·      Microsoft Word
·      Microsoft Excel
·      Microsoft Front Page
·      Microsoft Power Point
·      Microsoft Outlook
- Adobe Photoshop
- Adobe Dreamweaver
- Adobe Flash
- Adobe Acrobat
- WinRAR
- Google Chrome
- Mozilla Firefox
- CorelDraw

d.   Software Utility (Program Bantu)
Merupakan suatu program yang befungsi untuk membantu sistem operasi meningkatkan kinerja komputer. Berikut contoh-contoh dari program bantu :
a. Antivirus (AVG, AVIRA, AVAST, KASPERSKY)
b. Pembagi partisi (FDISK, Partition Magic)
c. Peringkas file (WinRAR, WinZIP,dll).

Sedangkan berdasarkan fungsinya, software komputer terbagi dalam:
1. Perangkat lunak Sistem
        Perangkat lunak yang kegunaannya lebih banyak ditujukan untuk operasional komputer :
·   Sistem operasi (Windows, linux, MacOS,dll) 
·   Penerjemah bahasa pemrograman (compiler/interpreter). (C, Java, C++, C# compiler dll)

2. Perangkat lunak Aplikasi
Perangkat lunak yang kegunaannya lebih banyak ditujukan untuk membantu menyelesaikan masalalah-masalah yang dihadapi oleh pemakai.
·   Program paket yang sudah jadi (word, exel, photoshop dll)
-   Program aplikasi buatan sendiri
Sedangkan berdasarkan aplikasinya, software komputer terbagi dalam:
1. Perangkat Lunak Sistem (Sistem Software)
Sekumpulan program yang ditulis untuk kepentingan program lain
contoh : editor, driver dan lain-lain

2. Perangkat Lunak Waktu Nyata (Real Time Software)
Suatu perangkat lunak yang berfungsi mengendalikan, memonitor atau menganalisis kejadian (event) yang terjadi pada keadaan nyata (seketika).

3. Perangkat Lunak Bisnis (Business Software)
Perangkat lunak yang memberikan fasilitas operasi untuk bisnis atau fasilitas pengambilan keputusan manajemen.
contoh : sistem akuntansi, inventory, payroll dan lain-lain.

4. Perangat Lunak Rekayasa dan Sains (Engineering and Scientific Software)
Perangkat lunak yang digunakan di dalam bidang aplikasi teknik dan kerekayasaan. Perangkat lunak jenis ini biasanya berhubungan dengan komputasi data numerik, CAD (Computer Aided Design), simulasi sistem, dan lain-lain. 
contoh : AutoCAD

5. Embedded Perangkat lunak yang ditanam pada suatu chip (EEPROM).
Perangkat lunak ini terintegrasi dengan perangkat keras dan berfungsi mengatur kinerja dari perangkat keras tersebut.
contoh : microwave oven, telpon genggam, pengaturan avionik pesawat udara, dan lain-lain.

6. Perangkat Lunak Komputer Pribadi (Personal Computer Software)
Banyak digunakan pada aplikasi yang bersifat perorangan
contoh : pengolah kata, spreadsheet, game, DBMS dan lain-lain.

7. Perangkat Lunak Intelegensia Buatan (Artificial Intelligent Software)
Dibuat dengan menggunakan teknik algoritma non-numerik untuk memecahkan masalah yang kompleks, digunakan dalam bidang aplikasi kecerdasan buatan
contoh : game, expert sistem, neural network, dan lain-lain


3.      Pengertian Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak adalah pengubahan perangkat lunak untuk pengembangan sehingga tercipta perangkat lunak yang lebih efektif dan lebih efisien, Kriteria untuk merekayasa perangkat lunak :
1.  Dapat dirawat dan dipelihara
Yaitu dengan adanya rekayasa perangkat lunak maka software yang kita punya akan akan dapat lebih tahan lama di gunakan dan lebih efektif
2.  Dapat mengikuti perkembangan teknologi dari masa ke masa
Yaitu dengan adanya rekayasa perangkat lunak maka software yang kita miliki dapat tetap suport atau dapat tetap di gunakan walapun dengan piranti yang lebih canggih, karena seiring berjalannya waktu maka perkembangan teknologi akan selalu lebih canggih lagi, jika kalau tidak ada rekayasa perangkat lunak maka software yang kita miliki akan tidak bisa di gunakan lagi karena sudah ketinggalan zaman
3.    Dapat mengikuti keinginan pengguna
Dengan adanya rekayasa perangkat lunak maka si pengguna dapat merubah rubah software yang ia gunakan untuk mendukung kerjanya ,,karena keinginan pengguna yang semakin kompleks maka sangat berpengaruh sekali adanya rekayasa perangkat lunak

4.    Efektif dan efisien dalam menggunakan energi dan penggunanya
Dengan adanya rekayasa perangkat lunak maka akan menghasilkan software yang semakin bermutu yaitu dapat meminimalis penggunaan energi sehingga akan lebih efisien

5.    Dapat memenuhi kebutuhan yang diinginkan
Dengan adanya rekayasa perangkat lunak maka semua kebutuhan dan keinginan si pengguna akan dapat di penuhi,,,karena software yang mereka inginkan akan dapat di perbaharui sesuai keinginan dan kebutuhan si pengguna

Mengapa Rekayasa Perangkat Lunak ?
Adanya  krisis  perangkat  lunak  (NATO conference, 1968) :
  Perangkat lunak lebih banyak menyebabkan masalah daripada menyelesaikannya.
  Peningkatan ukuran perangkat lunak tanpa pengorganisasian.
  Perbaikan suatu kesalahan menyebabkan timbulnya kesalahan lainnya.
  Tidak ada kendali pemeliharaan.

Masalah-masalah perangkat lunak :
  Perangkat lunak telah diselesaikan dan diserahkan (delivered) tetapi tidak pernah
digunakan (47%).
  Pemakai (user) sudah membayar untuk perangkat lunak tetapi tidak pernah jadi dan
diserahkan (29,7%).
  Perangkat lunak digunakan setelah dilakukan modifikasi (3%).
  Perangkat lunak digunakan sebagaimana mestinya (2%).

Selain itu faktor pendukung kehadiran rekayasa perangkat lunak adalah :
  Ketidak mampuan untuk memprediksi waktu, usaha dan biaya pada pengembangan
perangkat lunak.
  Kualitas perangkat lunak yang kurang baik.
  Perubahan perbandingan (rasio) harga perangkat keras dan perangkat lunak.
  Kemajuan teknologi perangkat keras.
  Kemajuan teknik perangkat lunak.
  Kebutuhan yang meningkat terhadap perangkat lunak.
  Kebutuhan akan perangkat lunak yang lebih besar dan kompleks.

Proses Pengembangan Perangkat Lunak
Proses pengembangan perangkat lunak adalah suatu proses dimana kebutuhan pemakai diterjemahkan menjadi produk perangkat lunak. Proses ini mencakup aktivitas penerjemahan kebutuhan pemakai menjadi kebutuhan perangkat lunak, transformasi kebutuhan perangkat lunak menjadi desain, penerapan desain menjadi kode program, uji coba kode program, dan instalasi serta pemeriksaan kebenaran perangkat lunak untuk operasional (IEEE. 1990).
Berdasarkan pengertian tersebut, secara umum dapat dikatakan bahwa proses pengembangan perangkat lunak mengikuti tahap-tahap :
1. Menentukan APA yang harus dikerjakan oleh perangkat lunak dalam satu rentang   
    waktu tertentu.
2. Mendefinisikan BAGAIMANA perangkat lunak dibuat, mencakup arsitektur 
    perangkat lunaknya, antar muka internal, algoritma, dan sebagainya.
3. Penerapan (penulisan program) dan pengujian unit-unit program.
4. Integrasi dan pengujian modul-modul program.
5. Validasi perangkat lunak secara keseluruhan (pengujian sistem).

Siklus Pengembangan Perangkat Lunak
Siklus pengembangan perangkat lunak atau sering disebut  juga  dengan siklus hidup
perangkat lunak adalah (IEEE,1987) :
  Periode waktu yang diawali dengan  keputusan untuk mengembangkan produk
perangkat lunak dan berakhir setelah perangkat lunak diserahkan. Umumnya siklus
pengembangan ini terdiri dari tahap analisis kebutuhan, perancangan, penerapan,
pengujian, dan instalasi serta pemeriksaan.
  Periode waktu yang diawali dengan  keputusan untuk mengembangkan produk
perangkat lunak dan berakhir saat produk tidak dapat ditingkatkan lebih jauh lagi
oleh pengembang.





SUMBER :

Tidak ada komentar:

Posting Komentar