PERANGKAT LUNAK (SOFTWARE)
Kita pasti sering mendengar yang namanya hardware dan software. keduanya merupakan satu kesatuan yang tidak dapat dipisahkan. tau kenapa??? karena hardware dan software harus saling bekerja sama agar bisa dioperasikan. contoh hardware itu misalnya monitor, keyboard, CPU, dll. klo software contohnya: windows, pengolah kata, winamp, dll. nah disini ada penjelasan mengenai software, mulai dari pengertian, macam-macamnya, evolusi dan model-model yg dimiliki.
PERANGKAT LUNAK (SOFTWARE)
A. PENGERTIAN
Perangkat lunak merupakan program komputer yang berfungsi sebagai sarana interaksi antara pengguna dan perangkat keras. Selain itu dapat juga dikatakan sebagai ‘penterjemah’ perintah-perintah yang dijalankan pengguna komputer untuk diteruskan ke atau diproses oleh perangkat keras.
Atribut Perangkat Lunak yang baik:
Perangkat Lunak seharusnya memberikan pengguna kebutuhan fungsionalitas dan unjuk kerja yang dapat:
•Maintanability
PL harus dapat memenuhi perubahan kebutuhan
•Dependability
PL harus dapat dipercaya
•Efisiensi
PL harus efisien dalam penggunaan sumber daya
•Usability
PL harus dapat digunakan sesuai dengan yang direncanakan
B.EVOLUSI PERANGKAT LUNAK
Evolusi Perangkat Lunak dibagi menjadi 4 Era yaitu:
1.Era Pioner: sambungan-sambungan kabel ke antar bagian dalam komputer. Cara lain dalam mengakses komputer adalah menggunakan punched card yaitu kartu yang di lubangi. (contoh: ENIAC)
2.Era Stabil: sistem basis data, yang memisahkan antara program (pemroses) dengan data (yang di proses) dan mampu menyelesaikan banyak pengguna (multi user) secara cepat/langsung (real time).
3.Era Mikro: automisasi mengarah ke suatu jenis kecerdasan buatan.
4.Era Modern: tingkat kecerdasan semakin meningkat , mulai bisa mengenal suara dan gambar. Contoh: Telephon, TV, AC
C.MACAM-MACAM PERANGKAT LUNAK
Macam Perangkat Lunak dibagi menjadi 3 bagian yaitu:
1.Perangkat Lunak Sistem
Merupakan software yang mengelola perangkat keras dan perangkat lunak yang digunakan komputer.
Contoh: DOS, Macintosh, Windows, dll
2.Perangkat Lunak Bahasa Pemrograman
Merupakan software yang berfungsi untuk membantu melakukan pembuatan program aplikasi komputer.
Contoh: Visual Basic, C++, dll
3.Perangkat Lunak Aplikasi
Merupakan software yang berfungsi utnuk membantu melakukan berbagai tugas perkantoran/aktivitas sehari-hari.
Contoh: pengolah kata, pengolah gambar, lembar sebar, dll
D.REKAYASA PERANGKAT LUNAK ATAU SOFTWARE ENGINEERING
merupakan disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan. Dalam RPL mengadopsi pendekatan yang sistematis dan terorganisir terhadap pekerjaannya. Selain itu juga menggunakan tool yang sesuai serta teknik yang ditentukan berdasarkan masalah yang akan dipecahkan, kendala pengembangan dan sumber daya yang tersedia.
Metode Rekayasa Perangkat Lunak:
Merupakan pendekatan terstruktur pengembangan PL termasuk model sistem, notasi, perancangan dan petunjuk pemrosesan. Terdiri dari:
•Deskripsi Model: deskripsi pemodelan dengan grafik
•Aturan: batasan yang digunakan pada model sistem
•Rekomendasi: saran dalam membentuk perancangan yang baik
•Petunjuk proses: aktifitas yang harus diikuti
E.MITOS SOFTWARE
1.Mitos Manajemen
a.Buku yang lengkap dan banyak sebagai referensi telah cukup untuk pengembangan sebuah software
b.Disediakan komputer terbaru
c.Jika pengembangan terlambat, tambahkan programmer baru
2.Mitos Pelanggan
a.Pernyataan umum sudah dapat digunakan untuk memulai pembuatan program
b.Kebutuhan proyek pengembangan software akan terus berubah, tapi perubahan dapat mudah diatasi
3.Praktisi
a.Sekali menulis programàdapat membuatnya bekerjaà pekerjaan selesai.
b.Untuk menilai kualitas programà membuat sendiri program itu bisa berjalan
c.Hasil akhir dari sebuah proyek à hanyalah dapat berjalan atau tidaknya program
F.SOFTWARE PROCESS
Merupakan serangkaian kegiatan dan hasil-hasil relevannya yang menghasilkan perangkat lunak sebagian besar dilakukan oleh perekayasa perangkat lunak. Ada 4 kegiatan/aktivitas pada proses PL :
•Spesifikasi Perangkat Lunak : Fungsionalitas perangkat lunak dan batasan kemampuan operasinya harus didefinisikan.
•Pengembangan (Perancangan dan Implementasi) Perangkat Lunak: Perangkat lunak yang memenuhi spesifikasi harus di produksi.
•Validasi Perangkat Lunak : Perangkat lunak harus divalidasi untuk menjamin bahwa perangkat lunak melakukan apa yang diinginkan oleh pelanggan.
•Evolusi Perangkat Lunak: Perangkat lunak harus berkembang untuk memenuhi kebutuhan pelanggan.
G.MODEL KONVENSIONAL PROSES PL
Terdapat 4 jenis model, antara lain:
1.Model aliran kerja (workflow): menunjukkan kegiatan pada proses bersama dengan input, output, dan ketergantungannya. Merepresentasikan pekerjaan manusia.
2.Model aliran data (data flow): merepresentasikan proses sebagai suatu set kegiatan yang melakukan transformasi data. Menunjukkan bagaimana input ke proses, misalnya spesifikasi ditransformasi menjadi output, misalnya menjadi desain.
3.Model peran/aksi: merepresentasikan peran orang yang terlibat pada PL dan kegiatan yg menjadi tanggung jawab mereka.
4.Model air terjun (waterfall): Mengambil kegiatan dasar seperti spesifikasi, pengembangan, validasi, dan evolusi dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya.
H.MODEL EVOLUSIONER
Model ini bersifat iteratif/ mengandung perulangan. Hasil proses berupa produk yang makin lama makin lengkap sampai versi terlengkap dihasilkan sebagai produk akhir dari proses. Selain itu tidak ada kegiatan spesifikasi, pengembangan, dan validasi yang terpisah. Kegiatan tersebut dilakukan pada saat yang bersamaan dengan umpan balik yang cepat untuk masing-masing kegiatan.
Gambar 1. Model Evolusioner
Kelebihan:
Lebih efektif dari pendekatan air terjun dalam menghasilkan sistem yang dibutuhkan
user mendapat pemahaman yang lebih baik dari masalah mereka
•Kekurangan:
Tidak ada visibilitas proses
Sistem biasanya tidak terstruktur dengan baik
Kemampuan khusus (misalnya bahasa untuk
prototipe cepat) kemungkinan diperlukan
•Aplikasi:
Untuk sistem interaktif berukuran kecil atau medium
Untuk bagian dari sistem besar (misalnya user interface)
Untuk sistem dengan daur hidup pendek
Terdapat 2 jenis model evolusioner yaitu:
1.Pengembangan Eksplotari
Tujuan: bekerja dengan pelanggan untuk menyelidiki persyaratan mereka dan mengirimkan sistem akhir.
Obyektif : bekerja dengan konsumen dan melibatkan sistem akhir dari spesifikasi skema inisial. Dimulai dengan kebutuhan yang dimengerti dengan baik.
2.Prototipe yang dapat dibuang (throw-away) à
Berkonsentrasi pada eksperimen, dengan persyaratan pelanggan yang tidak dipahami dengan baik.
Obyektif : mengerti kebutuhan sistem. Dimulai dengan kebutuhan yang tidak dimengerti dengan baik.
Selain 2 model di atas, masih terdapat 2 jenis model berdasarkan Mills dan Boehm yaitu:
1.Incremental Model (Original: Mills)
•berdasarkan model sistem yang dipecah sehingga model pengembangannya secara increment/bertahap.
•Masalah :
1.cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding)
2.mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment
Gambar 2. Incremental Model
2.Spiral Model (Original: Boehm)
•Setiap loop mewakili satu fase dari software process.
•Loop paling dalam berfokus pada kelayakan dari sistem, loop selanjutnya tentang definisi dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan seterusnya
•Masalah:
Membutuhkan waktu yang cukup panjang , sehingga waktu yang lama sama dengan biaya yang lebih besar.
Gambar 3. Spiral Model
Macam-macam Perangkat Lunak
Perangkat lunak terbagi menjadi 4 macam, yaitu :
- Sistem Operasi (Operating System),
- Program Aplikasi (Application Programs),
- Bahasa Pemrograman (Programming Language),
- Program Bantu (Utility)
1. Sistem Operasi (Operating System)
Sistem Operasi yaitu program yang berfungsi untuk mengendalikan
sistem kerja yang mendasar sehingga mengatur kerja media input, output,
tabel pengkodean, memori, penjadwalan prosesor, dan lain-lain. Sistem
operasi berfungsi sebagai penghubung antara manusia dengan
perangkat keras dan perangkat lunak yang akan digunakan. Adapun fungsi
utama sistem operasi adalah :
- Menyimpan program dan aksesnya
- Membagi tugas di dalam CPU
- Mengalokasikan tugas-tugas penting
- Merekam sumber-sumber data
- Mengatur memori sistem termasuk penyimpanan, menghapus dan mendapatkan data
- Memeriksa kesalahan sistem
- Multitugas pada OS/2″, Windows ’95″, Windows ’98″, Windows NT”, /2000/XP
- Memelihara keamanan sistem, khusus pada jaringan yang membutuhkan kata sandi (password) dan penggunaan ID
Contoh Sistem Operasi, misalnya : Disk operating System (DOS), Microsoft Windows, Linux, dan Unix.
2. Program Aplikasi (Aplication Programs)
Program Aplikasi adalah perangkat lunak yang dirancang khusus untuk
kebutuhan tertentu, misalnya program pengolah kata, mengelola lembar
kerja, program presentasi, design grafis, dan lain-lain.
3. Bahasa Pemrograman (Programming Language)
Perangkat lunak bahasa yaitu program yang digunakan untuk
menerjemahkan instruksi-instruksi yang ditulis dalam bahasa pemrograman
ke bahasa mesin dengan aturan atau prosedur tertentu, agar diterima oleh
komputer.
Ada 3 level bahasa pemrograman, yaitu :
- Bahasa tingkat rendah (low level language)
Bahasa ini disebut juga bahasa mesin (assembler), dimana pengkodean bahasanya menggunakan kode angka 0 dan 1.
- Bahasa tingkat tinggi (high level language)
Bahasa ini termasuk dalam bahasa pemrograman yang mudah dipelajari
oleh pengguna komputer karena menggunakan bahasa Inggris. Contohnya :
BASIC, COBOL, PASCAL, FORTRAN.
- Bahasa generasi keempat (4 GL)
Bahasa pemrograman 4 GL (Fourth Generation Language) merupakan bahasa
yang berorientasi pada objek yang disebut Object Oriented Programming
(OOP). Contoh software ini adalah : Visual Basic, Delphi, Visual C++
4. Program Bantu (Utility)
Perangkat Lunak merupakan perangkat lunak yang berfungsi sebagai
aplikasi pembantu dalam kegiatan yang ada hubungannya dengan komputer,
misalnya memformat disket, mengopi data, mengkompres file, dan
lain-lain.
Contoh software ini diantaranya :
- Norton Utility
- Winzip
- Norton Ghost
a. Berdasarkan Kegunaan untuk Pemakai1. PerkantoranContoh
aplikasi perkantoran adalah Microsoft Office dan OpenOffice. Microsoft
office memiliki banyak aplikasi yaitu Word untuk pengolah kata, Excel
pengolah data, PowerPoint untuk presentasi dan Project untuk mengelola
sebuah proyek.
2. HiburanContoh
aplikasi hiburan adalah Winamp, Windows Media Player dan Xing MPEG.
Winamp dipergunakan mendengarkan musik. Windows Media Player dan Xing
MPEG dipergunakan menonton film.
3. KomunikasiContoh
program komunikasi adalah Yahoo!Messenger (YM) dan Microsoft Outlook.
YM dipergunakan untuk chatting dengan sesama pengguna YM. Microsoft
Outlook dipergunakan untuk membaca dan mengirimkan email.
b. Berdasarkan Lingkungan Kerja1. DesktopProgram
yang dibuat akan menerima input, memproses, mengeluarkan output dan
menyimpan data pada satu sistem komputer. Berdasarkan hubungan antar
program, program Desktop dibagi menjadi yaitu:
a. Stand AloneProgram yang tidak membutuhkan program yang lain untuk bekerja. Misal Microsoft Word.
b. Client-ServerProgram
yang membutuhkan program yang lain untuk bekerja. Client-Server berarti
ada 2 program yang berjalan yaitu Client dan Server. Misal Mozilla
Firefox adalah program client, sedangkan Web Server adalah program
server. Untuk membuka halaman web, Client (Browser) akan menghubungi
(Request) Web Server, kemudian Web Server akan memberikan (Response)
halaman web dan dibuka oleh Browser.
2. Web BasedProgram
yang dibuat akan menerima input dan mengeluarkan output pada satu
sistem komputer klien sedangkan proses dan penyimpanan dilakukan pada
komputer yang lain yang disebut sebagai Web Server. Program Web Based
akan diinstal pada Web Server, ketika Web Server dihubungi oleh Client
(Browser) maka Web Server akan menjalankan program yang sudah diinstal,
kemudian program memberikan hasilnya kepada Web Server dan Web Server
mengirimkan halaman web kepada Browser. Web Server hanya menjadi
jembatan bagi program Web Based dengan Browser.
b. Berdasarkan Cara Kerja1. Bekerja secara BackgroundAplikasi
Background adalah program yang berjalan di belakang layar dan bekerja
tanpa adanya perintah langsung dari pengguna. Biasanya aplikasi
background berjalan ketika komputer dinyalakan. Aplikasi yang bekerja
secara background misalnya adalah Anti Virus. Pengguna tidak pernah
memerintahkan Anti Virus bekerja, tapi ketika ada file bervirus berada
dalam folder yang sedang dibuka pengguna, otomatis Anti Virus akan
menangkap dan menghapusnya. Program Anti Virus akan dimatikan ketika
komputer dimatikan.
2. Bekerja di Depan LayarAplikasi ini bekerja karena diperintahkan oleh pengguna misal Microsoft Word.
c. Berdasarkan Cara Mendapatkannya1. KomersialPerangkat lunak yang harus dibeli, Ada hak cipta dari pembuat aplikasi. Misal Microsoft Windows.
2. Domain-publikPerangkat lunak bersifat gratis dan tidak ada hak cipta.
3. SharewareGratis untuk dipergunakan tapi terkadang meminta donasi. Misal BitTorrent.
4. FreewarePerangkat lunak yang dipergunakan tanpa membayar sama sekali.
5. RentalWarePerangkat lunak yang disewakan untuk jangka waktu tertentu.
6. Free SoftwarePerangkat lunak yang dilengkapi dengan kode sumber dapat dipergunakan oleh siapa saja dan gratis.
7. OpenSourcePerangkat lunak yang kode sumbernya harus dibuka, gratis dan jika dikembangkan harus dengan kode sumbernya. Misal adalah Linux.