Software

Software - Software merupakan salah satu unsur penting dalam komputer, selain hardware dan brainware.
Software
Software ( perangkat lunak ) adalah kumpulan dari instruksi atau perintah yang disusun secara logis dan berbentuk kode yang memungkinkan penguna ( brainware ) untuk berinteraksi dengan komputer, hardware, ataupun melakukan perintah atau tugas.
Kadang, Software sering disingkat menjadi SW dan S/W
Software tidak memiliki wujud dan hanya berupa rekayasa digital yang terbuat dari bahasa pemrograman. Yang artinya, Software adalah kombinasi dari instruksi dan data, yang dikenal sebagai bahasa komputer (bahasa pemrograman) yang membentuk blok bangunan aplikasi.
Bahasa komputer ini aktif dalam memori komputer sebagai miliaran kecil tombol on/off. Persis sama dengan nomor dalam kalkulator.
Ketika program dimuat ke dalam RAM dari Harddisk, pola bit disalin persis bahkan satu bit yang salah dapat menyebabkan error.
Jika aplikasi berukuran 40 Megabyte, maka kira-kira 320 Juta bit disalin ke RAM.
Ada Lovelace, menulis sebuah program dasar tahun 1843 untuk Mesin Analisa, yang dirancang oleh Charles Babbage pada tahun 1827, tetapi mesin tidak pernah dibuat.

Alan TuringAlan Turing adalah orang yang dicap sebagai orang pertama yang datang pada tahun 1935 dengan teori perangkat lunak esai nomor yg dpt dihitung dengan aplikasi ke Entscheidungsproblem ( masalah keputusan ), yang menyebabkan adanya dua bidang  akademik yaitu ilmu komputer dan rekayasa perangkat lunak.
Ilmu komputer lebih teoritis, sedangkan rekayasa perangkat lunak difokuskan pada masalah yang lebih praktis.
Alan Turing

Manchester SSEMGenerasi pertama dari perangkat lunak ( Software ) untuk program awal yang disimpan komputer digital di akhir 1940-an memiliki source kode yang ditulis langsung dalam kode biner.
Manchester Small-Scale Experimental Machine (SSEM) atau disebut "Baby" adalah komputer pertama yang menyimpan program dan menjalankan program pertama pada 21 Juni 1948.
Manchester Small-Scale Experimental Manchine

Awalnya, software sangat mahal dikarenakan jumlahnya yang masih sedikit. Namun, pada tahun 1980-an, software mulai populer dan harga pun turun secara signifikan.
"Apa yang pertama: perangkat lunak atau perangkat keras"

Pada awalnya, komputer tidak mengekspresikan dirinya sendiri baik dalam perangkat lunak maupun perangkat keras hanya tetapi secara luas ditafsirkan: masalah dasar komputasi.
Ingat bahwa komputer pertama yang dirancang hanya untuk satu tugas tunggal. Satu masalah untuk satu komputer atau mesin atau alat.
Komputer pertama dibuat, diwakili pada waktu bersamaan dengan Software serta Hardware.
Lebih tepat: seseorang bisa membangun sebuah mesin untuk memecahkan masalah secara otomatis. Dengan melakukan meterjemahkan ide menjadi ekspresi mekanik yang dijalankan sebagai mekanisme pemecah masalah dengan sendirinya.

Jadi pertanyaan ini tidak bisa dijawab, Bila Anda menganggap software sebagai ide tidak terintegrasi yang berdiri sendiri atau sumber daya. Dalam kasus ini, Hardware yang pertama.

Tapi untuk menjalankan perangkat keras, Anda membutuhkan ide atau masalah yang harus diterjemahkan ke dalam ekspresi mekanik. Dengan kata lain, software pasang ke dalam mesin. Dalam kasus ini adalah Software yang pertama.
Berikut adalah kategori-kategori software:
Klasifikasi luas software:
- Software Aplikasi
adalah sebutan umum program komputer untuk melakukan tugas-tugas. Aplikasi perangkat lunak memiliki tujuan umum (pengolah kata, web browser, ...) atau memiliki tujuan tertentu (akuntansi, penjadwalan truk, ...). Software aplikasi terpengaruh dengan dengan Software sistem.
- Software Sistem
adalah istilah umum untuk program komputer yang digunakan untuk memulai dan menjalankan sistem komputer termasuk perangkat lunak aplikasi yang beragam dan jaringan.
- Software Pengembangan dan Pemrograman
seperti compiler dan linker, digunakan untuk menerjemahkan dan menggabungkan source code program komputer dan disimpan ke RAM pengeksekusi (program yang akan menjadi milik salah satu dari tiga kata kategori).

Klasifikasi software menurut fungsinya:
- Software Aplikasi
adalah Software yang berinteraksi langsung terhadap penguna yang dimana sudah disesuaikan untuk melakukan suatu pekerjaan tertentu. Software Aplikasi secara langsung memberikan kemampuannya kepada penguna untuk mengerjakan suatu tugas. Contoh Aplikasinya:
- Word Processing (MS Word, WordPerfect, LibreOffice Writer, OpenOffice Writer, Dll)
- Desktop Publishing (Adobe Indesign, Adobe FrameMaker, Scribus, MS Publisher, Dll)
- Spreadsheet (MS Excel, LibreOffice Calc, Kingsoft Spreadsheets, Dll)
- Database Management System (MS Access, LibreOffice Base, FileMaker, Dll)
- Vector Graphic (Adobe Illustrator, CorelDraw, Inkscape, Dll)
- Vector Animation (Adobe Flash, Macromedia Flash, Synfig, ToonBoom, Dll)
- 3D Computer Graphic (Blender, 3Ds Max, Cinema 4D, Dll)
- 3D Game Engine (Blender Game Engine, Unity Game Engine, Unreal Game Engine, Dll)
- Computer-aided Design / CAD (AutoCAD, FreeCAD, LibreCAD, Dll)
- Raster Graphic  (Adobe Photoshop, Gimp, Krita, Painttool Sai, Dll)
- Video Editing (Adobe Premier, Adobe AfterEffect, Final Cut Pro, Lightworks, Dll)
- Sound Editing (Adobe Audition, Cakewalk, Audacity, Dll)
- Sound Maker ( FL Studio, LMMS, Ardour, Reaper, Dll)
- Accounting Software ( GnuCash, Daceasy Accounting, Peachtree Accounting, Quickbooks, Dll)
- Statistical Software (IBM SPSS, SAS, Sisense, Dll)
- Communication Software (Crosstalk, Trilian, Procomm Plus, Dll)
- Browser (Mozilla Firefox, Google Chrome, Microsoft Edge, Dll)
- Game (All you played on your computer :v )
- Dan masih banyak lagi.
- Software Sistem Operasi
adalah software yang bertugas untuk melakukan kontrol dan manajemen perangkat keras dan juga menyediakan layanan untuk menjalankan Software Aplikasi. Sistem Operasi adalah Software yang paling penting dalam Sistem komputer. Contoh : Windows 10, Mac OS X, Linux Mint, FreeBSD, Dll.
- Software Pemrograman
adalah Software yang digunakan untuk menulis sebuah program dengan mengunakan bahasa pemrogramman yang tersusun ataupun penerjemah. Software ini memudahkan programmer dalam membuat sebuah sistem program, baik itu mengunakan bahasa pemrograman secara langsung atau mengunakan bantuan Software tergantung dengan bahasa pemrograman yang digunakan. Contoh : Visual Basic, Notepad++, AutoHotkey, FlashDevelop, Dll.
- Software Utility
adalah Software yang dibuat untuk membantu menganalisa, mengendalikan, mengoptimalkan, dan memperbaiki komputer. Software Utility berfokus kepada operasi infrastruktur komputer baik itu Hardware, Software dan juga penyimpanan data. Contoh Aplikasi :
- Antivirus (AVG, Norton Antivirus, Smadav, Dll)
- Archivers ( WinRAR, 7-Zip, PeaZip, Dll)
- Backup Software ( Clonezilla, Paragon Backup & Recovery, AOMEI Backupper, Dll)
- Cryptographic ( BitLocker, CrypTool, ECryptfs, Dll)
- Device Driver (Intel Driver, Nvidia Driver, Realtek Driver, Dll)
- Disk Checker ( HD Tune, GSmartControl, CrystalDiskMark, Dll)
- System Monitoring ( Nagios, SpectorSoft, Zabbix, Dll)
- Dan masih banyak lagi
- Software Firmware
Software Firmware adalah Software yang disimpan di dalam Read-Only Memory. Firmware menyediakan kontrol, pemantauan dan manipulasi data produk dan sistem rekayasa.
Contoh umum dari perangkat yang mengandung firmware yang tertanam adalah sistem (seperti lampu lalu lintas, peralatan konsumen, dan jam tangan digital), komputer, peripheral komputer, ponsel, dan kamera digital.
Firmware seperti BIOS ROM dari komputer pribadi mungkin hanya berisi fungsi dasar dasar perangkat dan hanya dapat memberikan layanan kepada software-tingkat yang lebih tinggi.
Firmware seperti program dari sistem embedded mungkin satu-satunya program yang akan dijalankan pada sistem dan menyediakan semua fungsinya.
- Software Malware
Malware, kependekan dari malicious software, adalah software yang digunakan untuk mengganggu pengoperasian komputer, mengumpulkan informasi sensitif, atau mendapatkan akses ke sistem komputer pribadi.
Malware didefinisikan oleh niat jahat, bertindak terhadap kebutuhan pengguna komputer, dan tidak termasuk perangkat lunak yang menyebabkan kerugian yang tidak disengaja karena beberapa kekurangan.
The badware istilah kadang-kadang digunakan, dan diterapkan untuk malware dan software tidak sengaja berbahaya.
Malware mungkin tersembunyi, dimaksudkan untuk mencuri informasi atau memata-matai pengguna komputer untuk jangka tanpa sepengetahuan mereka, seperti misalnya Regin, atau mungkin dirancang untuk menyebabkan kerusakan, sesering sabotase (misalnya, Stuxnet), atau untuk memeras pembayaran ( CryptoLocker).
Malware' merupakan istilah umum yang digunakan untuk merujuk kepada berbagai bentuk software bermusuhan atau mengganggu, termasuk virus komputer, worm, trojan horses, ransomware, spyware, adware, scareware, dan program berbahaya lainnya.
Hal ini dapat mengambil alih kode yang dieksekusi, script, konten aktif, dan perangkat lunak lainnya. Malware sering menyamar sebagai software atau tertanam dalam file yang tidak berbahaya. Seperti tahun 2011 mayoritas ancaman malware yang aktif adalah worm atau trojan daripada virus.
- Software Ransomware
Software Ransomware adalah nama atau istilah generic untuk semua malware yang - sesuai dengan namanya - meminta uang tebusan kepada user yang komputernya terinfeksi Ransomware. User yang memiliki komputer yang terinfeksi Ransomware akan diminta tebusan dengan ancaman akan melakukan aksi yang menganggu, mengambil file dan data informasi yang dimiliki user, dan terkadang akan menyebar luaskan data pribadi user yang jadi targetnya. Penyebaran software ini melalui pancingan dari email yang membawa weblink, dengan isi email yang seakan akan sangat penting bagi user yang jadi target
- Software Scareware
Software Scareware sama seperti Ransomware. Perbedaannya adalah Scareware miliki user interface yang mirip bahkan meyakinkan sebagai software yang digunakan oleh user sehari-hari. Dengan tampilannya, Scareware dapat menipu user sehingga user akan membeli atau mensubscribe Scareware tersebut. Jika gagal, kebanyakan Scareware akan berubah menjadi Ransomware dan akan melakukan ancaman yang keras

Klasifikasi software menurut Source Code:
- Software Closed Source
Software yang mempunyai hak paten(lisensi) dari pembuatnya sehingga tidak dapat di didistribusikan ulang, mensalin, dan modifikasi tanpa izin pemilik hak paten.Untuk lebih detail dapat dilihat disini
- Software Open Source
Software komputer dengan kode sumber yang tersedia dan berlisensi dengan lisensi dimana pemilik hak cipta memberikan hak untuk belajar, mengubah, dan mendistribusikan ulang perangkat lunak kepada siapapun untuk tujuan apapun. Untuk lebih detail dapat dilihat disini

Klasifikasi software menurut lisensi:
- Software Komersial
Software yang dapat digunakan jika sudah membeli lisensi atau melakukan pembajakan. Software Komersial biasanya akan memberikan versi lengkap dari Software itu (Namun terkadang, ada yang mengharuskan untuk membeli program tambahan / Addons untuk beberapa fitur lainnya) sesuai dengan kualitas lisensi yang dibeli
- Software Freeware
Software yang bisa didapatkan dengan gratis. Terkadang, Software Freeware membuat beberapa ketentuan terlebih dahulu untuk penggunaan software.
- Software Adsware
Software yang hampir mirip dengan Software Freeware. Hanya saja, Pada program terdapat sebuah Ads (Iklan). Contoh: Utorrent
- Software Shareware
Software Shareware mengacu kepada perangkat lunak berpemilik yang disediakan untuk pengguna tanpa membayar secara uji coba dan sering di batasi oleh koombinasi dari fungsi, ketersedian, atau kenyamanan. Alasan di balik Software Shareware adalah memberikan pembeli kesempatan untuk mencoba menggunakan program sebelum membeli lisensi untuk versi lengkap dari Software tersebut.Software Shareware akan memberikan waktu untuk pengunaannya. Jika waktu telah habis, maka Software akan otomatis diblok dan meminta untuk membeli lisensi aslinya.
- Software Bloatware
Software Bloatware merupakan software bawaan, Dimana software ini terkadang akan otomatis diinstall disaat sedang menginstal software lainnya. Software jenis ini juga sering terinstal otomatis saat menginstal Sistem Operasi dan bahkan sering didapatkan pada saat membeli Smartphone. Kebanyakan dari software ini (terutama bawaan Sistem Operasi) tidak dapat di uninstall bahkan tidak dapat di disable. Dan salah satu Software Bloatware lagendaris yang selalu ingin di uninstall semua orang adalah..... Internet Explorer!!!

Juga terdapat GAMP (Good Automated Manufacturing Practice) 5 yang mengklasifikasikan Software menjadi
- Infrastructure Software
Kecuali sistem kontrol yang sangat sederhana (PLC dan HMI) ada kemungkinan ada beberapa elemen perangkat lunak infrastruktur.
Perangkat lunak infrastruktur dalam bentuk yang paling sederhana adalah sistem operasi yang perangkat lunak aplikasi berada.
Software tambahan untuk mengelola infrastruktur sistem kontrol proses meliputi:
- Sistem Operasi
- Anti-virus Software
- Active Directory / Domain Kontroler
- Perangkat Lunak Basis Data (SQL / Oracle)
- Server dan Jaringan Hardware
- Lingkungan Virtual
- Firewall, termasuk konfigurasi
- Server dan Jaringan Monitoring Peralatan
- Sistem Backup
Infrastruktur harus dibangun, dikonfigurasi dan digunakan sesuai dengan proses / prosedur yang ditetapkan dan aspek kritis dan/atau konfigurasi terverifikasi. Infrastruktur sudah dikualifikasi tetapi tidak divalidasi. Validasi dilakukan pada aplikasi host bukan pada infrastruktur.
- Non Configurable Software
Non Configurable Software kadang-kadang disebut COTS (Commercial-Off-The-Shelf-Software) atau hanya OTS (Off-The-Shelf-Software). Perangkat lunak ini mampu beroperasi dan mengotomatisasikan proses bisnis tanpa modifikasi apapun.
Contohnya sistem GAMP kategori 3 yang disediakan dengan kontroler komputerisasi, akan menjadi Programmable Logic Controller (PLC) di mana aplikasi tidak dapat diubah meskipun dapat parameterised untuk memenuhi kebutuhan bisnis. Kategori ini juga mencakup kasus di mana produk perangkat lunak dikonfigurasi sedang digunakan tetapi hanya dengan konfigurasi default.
- Configurable Software
Perangkat lunak yang dikonfigurasi untuk memenuhi kebutuhan pengguna bisnis yang spesifik. Ini mungkin adalah kategori terbesar dan paling kompleks. Fungsi perangkat lunak dapat dikonfigurasi untuk kembali output yang berbeda tergantung pada konfigurasi.
- Bespoke software
Perangkat lunak yang umumnya ditulis dari awal untuk memenuhi kebutuhan bisnis. Perangkat lunak ini dapat ditulis di-rumah dan mungkin kategori software yang memiliki resiko tertinggi dan memiliki resiko tertinggi atas kesalaha dalam kode aplikasi

Ok, mungkin itu aja.Kalau ada pertanyaan silakan dicomment ;)

Hanya Komentar Relevan yang akan ditanggapi oleh Author, selebihnya tidak..

EmoticonEmoticon