Mengenal Perangkat Lunak
Assalamu'alaikum Warahmatullahi Wabarakatuh.
Pada halaman Blog ini, kita akan membahas secara singkat mengenai apa itu Perangkat Lunak. kita akan akan sama-sama mempelajari apa saja jenis-jenis perangkat Lunak, apa saja kegunaannya, apa saja contohnya dan bagaimana cara pengelompokannya.
selain itu, halaman Blog ini juga akan menyampaikan pendapat penulis tentang hubungan antara Hardware, Aplication Software dan Software OS, Serta akan ada juga paragraf singkat berisi alasan dan motivasi penulis dalam mengikuti matakuliah Dasar Rekayasa Perangkat Lunak.
Apa
Itu Perangkat Lunak ?
Perangkat lunak atau Software memiliki arti
dan definisi yang beragam diantara para ahli komputasi, salah satunya adalah
Roger S Pressman yang berpendapat bahwa perangkat lunak atau software merupakan
kumpulan item atau yang membentuk konfigurasi yang di dalamnya termasuk
program, dokumen dan data. Sedangkan Melwin Syafrizal Daulay berpendapat bahwa
Software adalah suatu program yang berfungsi mengatur seluruh aktivitas kerja
computer. Yang terakhir adalah pendapat dari Wilman, R & Riyan yang
berpendapat bahwa Software merupakan perangkat operasi yang berfungsi
menjalankan komponen hardware. Mereka juga menyebutkan bahwa software bersifat
maya, artinya software tidak bisa dilihat secara fisik. Tetapi kita sebagai
user dapat menjalankan fungsi dan merasakan manfaatnya.
Meski terdapat banyak sekali perbedaan
pendapat di kalangan para ahli, namun secara singkat Perangkat lunak dapat
diartikan sebagai sebuah program, algoritma atau code yang dibutuhkan untuk
menjalankan komputar dalam menjalankan tugas-tugas tertentu.
Apa Fungsi Perangkat Lunak ?
Perangkat lunak sendiri memiliki beberapa fungsi diantaranya adalah sebagai pengaturan bagi Input dan Output, memperoses data, perintah, atau instruksi khusus agar pengguna dapat mengoprasikan komputernya sesuai dengan hasil informasi yang di inginkan, sarana interaksi serta menyediakan fungsi dasar dari sebuah perangkat keras (Hardware) agar dapat dioprasikan seperti ketersediaan sistem operasi pada komputer, penterjemah suatu perintah software lainnya kedalam bahasa mesin, agar dapat dimengerti oleh computer, menjalankan perintah-perintah tertentu secara spesifik, serta membuat suatu pekerjaan menjadi jauh lebih efisien dan mudah.
Jenis dan Pengelompokan Perangkat Lunak
Terdapat beberapa cara berbeda dalam
pengelompokan Perangkat lunak, dimana 2 macam pengelompokan yang paling umum
adalah pengelompokan perangkat lunak berdasarkan fungsinya dan pengelompokan
perangkat lunak berdasarkan cara memperolehnya.
Pengelompokan
Software Berdasarkan fungsi
1.
Software Aplikasi
Sotfware aplikasi atau perangkat lunak aplikasi adalah clasificasi
perangkat lunak yang berfungsi membantu atau mempermudah pekerjaan user, selain
digunkan untuk produktifitas Software Aplikasi juga dapat digunakan sebagai
media komunikasi atau hiburan. Software Aplikasi sendiri terbagi lagi menjadi 2
macam, yaitu Costumize Aplication dan Package Aplication.
Costumized Aplication Software sendiri adalah jenis Software Aplikasi
yang disesuaikan dengan kebutuhan Industri tertentu misalnya dalam dunia Transportasi
(Gojek, Maxim, Uber), Traveling (Traveloka, Agoda), perbankan (Paypal, Dana),
dan Ecommerce (EBay, Lazada, Tokopedia). Sedangkan Package Aplication sendiri adalah jenis
Software yang merukana satu paket dari Vendor dan lebih ditujukan untuk
memenuhi kebutuhan masyarakat umum, seperti Hiburan, Edukasi, dan Home Software.
Misalnya Netflix, Hulu, Spotifiy, YouTube, Reddit, Instagram, TikTok,
PixelOrama, ASprite, PhotoShop, dan Blender.
Aplikasi-Aplikasi diatas hanyalah segelintir kecil dari contoh Software
Aplikasi, maka dari itu tidaklah heran bahwa Aplikasi Software adalah salah
satu jenis Aplikasi terbanyak saat ini.
2.
Software OS
Perangkat lunak Sistem/Software OS (Operation Sistem), adalah jenis
perangkat lunak utama dalam suatu computer. Software ini berfungsi mengontrol
seluruh kinerja Hardware computer seperti CPU, Input Device, Output Device, dan
Storage Device. Software OS juga bertanggung jawab sebagai perantara antara
Software Aplikasi dan Hardware computer. Beberapa Contoh terkenal Software OS
adalah, Windows, Android, MacOs, temple Os, dan Linux.
Pengelompokan Software Berdasarkan Cara Memperolehnya
1.
Software Commercial
Software Commericial sendiri memiliki pengertian yaitu, satu perangkat
Lunak yang dijual secara commercial oleh kalangan pembisnis untuk mendapatkan
keuntungan sehingga setiap orang yang ingin memiliki Software tersebut
diharuskan membelinya.
Software commercial sendiri dilindungi oleh hak cipta, yaitu hak yang
dilindungi hukum yang melarang seseorang untuk menyalin ha katas kekayaan
intelektual tanpa izin pemegangganya. Hal ini dimaksudkan untuk melindungi
Software commercial dari aktivitas pembajakan.
2.
Software Public-Domain (open source Software)
Software Public Domain atau Open Source Software adalah jenis Software
gratis yang tidak dilindungi oleh hak cipta dan tidak terikat secara hukum. Hal
ini berdampak pada pengguna yang dapat dengan sesuka hati memodifikasi,
mendistribusikan, mengubah, dan mengklaim hak kepemilikan atas Software
tersebut.
3.
Shareware
Shareware mengizinkan siapapun untuk mendistribusikan Salinan dari
perangkat lunak, namun pengguna tetap diminta untuk membayar lisensi. Selain
itu, Share ware juga biasanya membatasi penggunaan perangkat lunak dengan
membatasi fitur-fitur tertentu atau mengurangi masa penggunaannya selama jangka
waktu tertentu. Biasanya hal ini
dilakukan dengan memberikan fitur trial, demo, ataupun beta version.
4.
Freeware
Freeware bisa dibilang sebagai versi lebih bebas dari Shareware, hal ini
dikarenakan Freeware adalah jenis Software yang di dapatkan secara gratis tanpa
adanya jangka waktu penggunaan dan fitur yang dikurangi dan dengan hak distribusi
yang tak terbatas. Namun berbeda dengan Software Public-Domain, Freeware tidak
bisa dengan sesuka hati mengubah, mengklaim, atau memodifikasi Freeware.
Sehingga hanya bisa digunakan untuk penggunaan pribadi saja.
5.
Rentalware
Sama seperti Shareware, Rentalware juga dapat disewa oleh perorangan
atau institusi, dengan cara membayar (menyewa) dalam jangka waktu tertentu
(Biasanya dalam jangka waktu 1 tahun).
Perbedaan Rentalware dan ShareWare terdapat pada jangka waktu penggunaannya. Dimana jika Shareware dapat digunakan selamanya setelah membayar lisensi, Rentalware hanya akan bisa digunakan selama jangka penyewaan software, apabila masa penyewaan telah habis maka secara otomatis Software akan terkunci dan tak dapat digunakan kecuali dengan melakukan pembayaran ulang. Karenanya Rentalware sangat popular dikalangan para pekerja kontrak, Dimana setelah selesai menyelesaikan suatu project, maka pengguna akan memutus kontra sewa Software.
Bahasa Pemrograman
Sering disalah artikan sebagai Bahasa
computer, Bahasa pemrograman adalah jenis komunikasi yang memungkinkan seorang
programmer untuk memberikan instruksi secara detail data ada yang harus diolah
oleh komputer dan bagaimana cara mengolah data tersebut. Bahasa pemrograman
sendiri terdiri atas syntax dan semantic yang digunakan untuk menuntun komputer
melakukan suatu tugas spesifik.
Sama seperti Software, Bahasa Pemrograman juga terbagi menjadi beberapa jenis. Ada 2 cara paling umum dalam mengjategorikan Bahasa Pemrograman yaitu berdasarkan generasinya dan berdasarkan Fungsinya. Secara generasi, Bahasa Pemrograman terbagi menjadi 5 Generasi, sedangkan berdasarkan fungsinya Bahasa Pemrograman terbagi menjadi 4 Fungsi.
Pengelompokan Bahasa Pemrograman Berdasarkan
Generasinya.
1.
Machine Language (Binary Language)
Generasi Paling awal Bahasa Pemrograman adalah machine language atau
Binary Language. Hanya terdiri atas 1 dan 0 atau True and False, Bahasa ini
sendiri sudah tidak
lagi digunakan. Machine language terkenal sulit untuk dipelajari dan tidak
efisien karena mengharuskan programmer untuk secara manual membuat dan
mengkodekan suatu program ke dalam bahasa mesin.
2. Assembly
Language (Assembler)
Assembly
Language diciptakan pertama kali pada tahun 1960, salah satu peningkatan
dari Machine Language adalah dengan menambahkannya system assembler yang bisa
dikatakan sebagai cikal bakal dari syntax. Bahasa ini mampu menerjemahkan kode
dari assembler agar diubah menjadi Bahasa mesin, mirip seperti syntax assembler
memiliki kode-kode pendek yang mudah diingat seperti ADD, SUB,
MULT, MOV, dan LOOP.
3. High Level
Programming Language.
Pada Generasi ketiga barulah Bahasa pemrograman umum yang kita kenal
mulai bermunculan misalnya seperti C dan java, High Level Programming Language muncul sebagai
dari jawaban akibat komplexnya Bahasa Assembly dan Machine Language. Memiliki
syntax yang lebih mudah dimengerti karena sudah dilengkapi dengan aplikasi
penerjemah yang disebut compiler dan Interper.
Compiler sendiri adalah suatu program yang dapat menerjemahkan
instruksi-instruksi yang ditulis dalam Bahasa pemrograman kedalam Machine
Language melalui prosedur dan aturan-aturan tertentu sehingga dapat diterima
dan dimengerti computer.
4. 4GL
(Fourth-Generation Language)
Bahasa Pemrograman generasi ke-4, sering disebut juga sebagai generasi query hal ini dikarenakan umumnya bahasa Pemrograman generasi ke-4 memiliki struktur bahasa pemrograman yang khas, serta cocok digunakan untuk mengakses suatu data. Contoh dari bahasa pemrograman generasi ketiga adalah Query Language (SQL, QBE, dan Intellect), Report Generator, dan Application Generator (ADS dan Mantis).
5.
Programming Language Based Object Oriented & Web
Development
Generasi ke-5 menjadi generasi terbaru Bahasa Pemrograman, pada generasi
ke-5 bahasa Pemrograman lebih menekankan kepada efisiensi dari system program
yang dihasilkan. Bahasa pemrograman generasi ke-5 juga sering kali memberikan
fitur otomatis dalam membuat suatu program maka dari itu Bahasa Pemrograman
Generasi ke-5 sering juga disebut sebagai Intelligent Programming dan Very High Level
Language.
Pengelompokan Bahasa Pemrograman Berdasarkan Fungsinya.
1. Aplication and mobile development language
Sesuai dengan penjelasan Software aplikasi
sebelumnya, Pemrograman Aplikasi adalah proses merancang sebuah perangkat lunak
yang ditujukan khusus untuk menyelesaikan tugas tertentu pada berbagai platform
seperti mobile, pc dan web.
Terdapat berbagai jenis metode dalam pemrograman Aplikasi, misalnya pemrograman
berbasis web, desktop, mobile dan web. Masing-masing tentunya memiliki kelebihan
dan kekurangannya sendiri, pemilihan metode pemrograman menjadi sangat penting dan
bergantung kepada banyak hal seperti skill developer, proyek yang dikerjakan, serta
target pasar dan platform.
2. Web Programing Language.
Dalam pemrograman web seorang programmer memerlukan bantuan beberapa Bahasa
yang berbeda untuk membuat dan mengembangkan suatu halaman website, dengan
menggabungkan beberapa Bahasa pemrograman sekaligus seorang developer dapat membuat
website yang dinamis, menarik dan respondsif.
Hal tersebut mengharuskan seorang Web Developer memiliki penguasaan dan pemahaman penuh akan Bahasa pemrograman apa saja yang akan digunakan. Ada 3 bahasa yang umum digunakan dalam Web programing yaitu HTML sebagai pembentuk struktur Web, CSS untuk menghasilkan tampilan yang menarik, dan Java Script agar membuat Website yang lebih repondsif dan interaktif.
3. OS programing
language.
Pemrograman OS
mengharuskan seorang programmer untuk membuat sebuah perangkat lunak yang
sanggup menjalankan operasi dasar dari computer. Hal ini menuntut programmer untuk
memahami secara seksama tentang system kerja internal dari Hardware Computer. Bahasa
pemrograman yang digunakan juga harus memiliki control dan akses langsung ke
sumber daya system, misalnya C++ dan PERL.
4.
Game Development language.
Game Development Language adalah jenis Bahasa Pemrograman yang di desain
khusus untuk digunakan dalam proses pengembangan suatu game, Game Development
language biasanya akan terikat dengan Engine atau Software yang digunakan untuk
mengembangkan suatu game.
Ada banyak sekali contoh game Develompent Language berdasarkan engine dan platform gamenya, misalnya GML untuk Game Maker Studio, GDscript Untuk Godot. Selain Bahasa khusus Engine, ada beberapa Engine game yang menggunakan Bahasa pemrograman umum sebagai Game Development language mereka misalnya JavaScript untu RPG Maker, C# untuk Unity dan C++ untuk Unreal Engine.
Pendapat penulis mengenai Hubungan antara Aplikasi, hardware, dan OS.
Berdasarkan penjelasan singkat diatas saya
dapat menyimpulkan bahwa, baik itu Hardware Computer, Software Aplication dan Software
OS. Ketiganya sama-sama memegang peranan penting dalam dunia komputasi, hal ini
dikarenakan ketiga hal tersebut saling terpaut dan bergantung satu sama lain.
Tanpa adanya Hardware yang memadai maka sutau computer tidak akan mampu
menjalankan Program berat serta beberapa Software Aplication terbaru saat ini
di desain untuk dijalankan pada Software OS yang juga terbaru. Akibatnya Hardware
yang sudah ketinggalan zaman dan sudah tidak memupuni tidak akan sanggup untuk
menjalankan Software-Software tersebut.
Disisi lain, apa bila sebuah computer super canggih dengan Hardware yang sangat memupuni diminta untuk menjalankan program-program ringan yang sudah ketinggalan zaman, maka computer tersebut tidak akam bisa memanfaatkan kemampuan maksimalnya sehingga membuat segala kecanggihan Hardware pada computer tersebut akan terasa sia-sia.
Motivasi, harapan dan Keinginan menempuh mata kuliah Dasar rekayasa Perangkat Lunak.
Saya memiliki cita-cita untuk menjadi
seoorang Game Developer, untuk saat ini saya berencana untuk membuat Game indie
sederhana dengan grafik pixel seperti Hello Charlotte, Fear & Hunger, dan Undertale
menggunakan Engine Game Maker Studio 2. Sebelum kemudian melanjutkan proyek
Game yang saya buat menjadi lebih kompleks dan Realistis.
Saya berharap dengan mengikuti matakuliah Dasar Rekayasa Perangkat Lunak,
dapat menambah wawasan saya seputar Software Development dan dapat memberikan
gambaran singkat tentang seperti apa dunia Software Development dan bagaimana
proses development dari suatu perangkat lunak.
Demikian yang dapat penbulis sampaikan dalam halaman ini. apabila ada kekeliruan atau salah kata adri penulis, maka saya sangat terbuka akan saran dan kritik dari para pembaca sekalian. Wassalamu'alaikum Warahmatullahi Wabarakatuh.
Refrensi.
Komentar
Posting Komentar