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.

Pertemuan-1 DRPL

Pengertian perangkat Lunak

Fungsi Perangkat Lunak

Costimized Aplication Software

freeware

Bahasa Pemrograman

Generasi Bahasa Pemrograman

Komentar