Latar belakang
Perkembangan teknologi saat ini sudah semakin berkembang,
baik pada bagian perangkat keras (hardware) juga perangkat lunak (software). Software
merupakan teknologi informasi yang sudah tidak asing lagi untuk didengar, terutama
pada saat ini sudah banyak pengembang software berlomba dalam pembuatan juga
pemasaran software itu sendiri. Perangkat komputer tidak lepas dari bagian hardware
juga software, dua komponen tersebut tidak dapat dipisahkan.
Berbeda dengan hardware yang merupakan perangkat
yang bersifat nyata, software merupakan perangkat yang bersifat abstrak tidak
dapat disentuh maupun dilihat secara fisik, namun dapat dioperasikan. Tanpa adanya
software sebuah perangkat komputer hanyalah perangkat keras yang mati dan tidak
dapat berfungsi dengan baik.
Semakin bertambahnya kemampuan pengembang
dalam menghasilkan software, maka kebutuhan kompleksitas software itu sendiri juga
semakin bertambah. Banyak orang beranggapan bahwa software merupakan program
komputer atau berisi kode-kode program. Padahal pada kenyataannya software atau
program aplikasi tidak hanya berisi baris kode program komputer saja, tetapi
juga semua konfigurasi dan dokumentasi data yang saling berhubungan. Di mana, seluruh
komponen tersebut dibutuhkan agar program dapat beroperasi dengan tepat dan benar.
Sesuai dengan pengembangan dari produk
perangkat lunak atau software terbagi atas dua tipe produk, yaitu :
Produk generik
Produk ini merupakan produk software yang
berdiri sendiri (stand alone) sesuai dengan standar dari yang diproduksi oleh
sebuah perusahaan atau organisasi tertentu. Di mana tujuannya lebih kepada bisnis
penjualan pada pasar terbuka kepada setiap penggunanya.
Produk pesanan
Produk ini merupakan produk software di mana sistem-sistem yang dikembangkan dibuat berdasarkan dari pesanan pengguna software tersebut. Misalnya, seperti pengembangan software peranti elektronik, sistem yang dibuat untuk pendukung kegiatan bisnis tertentu, juga sistem kontrol lalu lintas udara.
Perangkat Lunak (Software)
Software merupakan sebuah perangkat tak kasat mata
yang dapat digunakan untuk mengoperasikan hardware pada komputer. Hardware pada
sebuah perangkat komputer seperti: monitor, mouse, keyboard, processor tidak
dapat dijalankan tanpa adanya software yang dalam hal ini misalnya saja sistem operasi.
Pada saat ini software sangat mempengaruhi
faktor keberhasilan dari sebuah perusahaan atau organisasi tertentu. Jika
dilihat jaman dulu pengembangan hardware sangat berpengaruh terhadap biaya pengembangan
komputerisasi. Namun, saat ini pun solusi yang paling baik adalah bagaimana cara
mengurangi biaya dan memperbaiki kualitas solusi berbasis komputer.
Perancangan software atau biasa disebut
rekayasa perangkat lunak merupakan disiplin manajerial dan teknis dalam
pembuatan dan pemeliharaan produk software itu sendiri secara sistematis,
selain itu juga pengembangan dan modifikasi yang dilakukan dalam kurun waktu tertentu
dengan mempertimbangkan juga faktor biaya.
Tujuan dalam perancangan software yaitu:
- Memperbaiki kualitas software,
- Meningkatkan produktivitas, dan
- Memuaskan teknisi pengembang software.
Produk software itu sendiri, merupakan software
yang banyak digunakan oleh penggunanya yang bersifat universal. Sehingga software
dapat dikatakan suatu data yang diprogram oleh pengembangnya sedemikian rupa
yang disimpan dalam bentuk digital secara tak kasat mata di dalam perangkat
penyimpanan komputer. Software juga dapat dikatakan sebagai nyawa dari
komputer, tanpa software komputer tidak dapat dioperasikan.
Software dapat dianalogikan sebagai penghubung
antara hardware dan penggunanya (brainware), yang dapat menerjemahkan bahasa
manusia menjadi bahasa yang dapat dimengerti oleh komputer (dalam hal ini adalah
bahasa pemrograman). Sehingga hardware dapat memahami instruksi yang akan dijalankan
yang diperintah oleh pengguna (brainware), karena telah diterjemahkan oleh software
tersebut. Fungsi atau peranan software :
- Mengidentifikasi program komputer
- Menyiapkan aplikasi program sehingga tata kerja seluruh perangkat komputer terkontrol baik
- Mengatur dan membuat pekerjaan menjadi lebih efisien
- Mengatur proses input dan output perangkat komputer
- Menyediakan dan mengatur serta memberikan instruksi terhadap hardware agar berjalan dengan baik sesuai keinginan brainware
- Menjalankan perintah tertentu pada sebuah sistem komputer
- Mengatur dan membuat pekerjaan lebih efisien dan maksimal
Software pada umumnya dikembangkan berdasarkan
Analisis Kebutuhan (Requirements Analysis). Analisis Kebutuhan merupakan tahapan
dari suatu konseptualisasi yang mengharuskan analisis dan perancangan perangkat
lunak untuk mengetahui secara pasti hal-hal yang menjadi kebutuhan dan harapan
pengguna dari software yang akan dikembangkan tersebut. Sehingga software yang telah
dibuat akan menjadi software yang tepat guna dan dapat memuaskan kebutuhan penggunanya.
Namun sesuai dengan pengembangannya software terbagi atas beberapa klasifikasi.
Berikut klasifikasi-klasifikasi software yang banyak dikembangkan :
- Sistem Operasi (Operating System)
- Program Aplikasi (Application Programs)
- Bahasa Pemrograman (Programming Language)
- Program Bantuan Komputer (Utility)
Selain itu software juga dapat diaplikasikan
ke berbagai situasi dan lingkungan tertentu, di mana serangkaian langkah
proseduralnya telah didefinisikan. Cakupan dari berbagai software ini menunjukkan
betapa luasnya pengembangan aplikasi yang dapat dilakukan, seperti:
Perangkat Lunak Sistem
Merupakan kumpulan program yang ditulis dan dibuat
untuk membantu kumpulan program lainnya. Banyak kasus, area operasi perangkat
lunak sistem ini ditandai dengan eratnya interaksi dengan perangkat keras
komputer, penggunaan oleh banyak pemakai (multi user), operasi konkuren yang
membutuhkan penjadwalan, berbagi pakai sumber daya dan pengaturan proses yang
canggih, struktur data yang kompleks, dan interface eksternal yang bersifat
ganda (teks dan grafis).
Perangkat Lunak Real-Time
Merupakan sekumpulan program yang memonitori
berbagai kejadian di dunia nyata pada saat berlangsungnya suatu aktivitas tertentu.
Elemen perangkat lunak real-time terdiri dari komponen-komponen pengumpul data
yang mengumpulkan dan memformat informasi dari lingkungan eksternal. Komponen-komponen
tersebut diharapkan mampu menganalisa untuk mentransformasi informasi saat dibutuhkan
oleh sebuah aplikasi tertentu.
Perangkat Lunak Bisnis
Merupakan program pemrosesan informasi bisnis
dengan area yang cukup luas saat ini, misalnya seperti payroll, account payable,
inventory, dan lain sebagainya. Di mana beberapa program aplikasi tersebut
telah mengembangkan Sistem Informasi Manajemen (SIM) yang dapat mengakses satu
atau lebih database besar yang berisi sekumpulan informasi bisnis.
Perangkat Lunak Teknik dan Ilmu Pengetahuan
Merupakan program aplikasi yang biasanya ditandai
dengan adanya penggunaan algoritma number crunching. Biasanya dimanfaatkan
dalam pengembangan perangkat lunak dengan cakupan untuk sistem astronomi sampai
dengan vulkanologi, dari analisa otomotif sampai dengan dinamika orbit pesawat
luar angkasa, dan dari bidang biologi molekuler sampai dengan pabrik yang sudah
diotomatisasi.
Embedded Software
Merupakan program dengan produk pintar yang
sudah populer di kalangan industri. Di mana program ini dapat memberikan fungsi
yang terbatas juga esoteric (misalnya: keypad control untuk mengontrol microwave)
atau memberikan kemampuan kontrol dan fungsi yang memiliki peran penting.
Contohnya: fungsi digital pada sebuah mobil seperti alat kontrol bahan bakar,
penampilan panel di dashboard mobil, sistem pengereman, dan lain sebagainya.
Perangkat Lunak Komputer Personal
Merupakan salah satu perangkat lunak yang
terus berkembang hingga saat ini karena berhubungan langsung dengan kebutuhan
personal pengguna komputer. Misalnya saja program pengolahan kata, spreadsheet,
multimedia, manajemen database, aplikasi akuntansi, jaringan eksternal atau akses
database. Dalam setiap pengembangannya perangkat lunak tersebut dipengaruhi
oleh waktu produksi dan jumlahnya, versi, variasi, juga teknologinya mengalami perubahan
dan kemajuan teknologi yang sangat pesat.
Perangkat Lunak Kecerdasan Buatan
Merupakan perangkat lunak yang biasanya juga disebut dengan istilah Artificial Intelligence/AI. Program ini menggunakan algoritma non-numerics dalam penerapannya, untuk memecahkan masalah kompleks yang tidak dapat dilakukan perhitungan atau analisa secara langsung. Ruang lingkup atau area dari penerapan program ini lebih kepada sistem pakar, disebut juga dengan sistem berbasis pengetahuan. Selain itu juga ada Jaringan Syaraf Tiruan, Voice dan Image Recognition, Game Playing, dan lain sebagainya.
Perangkat Lunak Sistem Operasi (Operating System)
Sistem Operasi merupakan software yang berfungsi dalam pengoperasian komputer, juga menyediakan antarmuka (interface) dengan software lainnya, maupun dengan pengguna (user interface). Sistem Operasi merupakan penghubung antara manusia/pengguna dengan hardware dan software lainnya yang akan digunakan.Contohnya : MS DOS, UNIX, LINUX, SOLARIS, FreeBSD, Novell Operating System, MS Windows, Apple Macintosh dan lain sebagainya. Masing-masing pengembangan sistem operasi memiliki perbedaan dalam lingkup (platform) operasi, jumlah pemakai, metode interaksi pemakai, bersifat open source / close source dan lisensi penggunaannya.
MS DOS
Sistem Operasi dasar yang merupakan cikal
bakal dari MS. Windows, yang memiliki ciri khusus dibagian teks putihnya dengan
latar belakang hitam seperti Command From (cmd).
UNIX
Sistem Operasi UNIX termasuk sistem operasi yang
paling awal muncul untuk pengoperasian komputer dan merupakan induk dari sistem
operasi LINUX.
LINUX
Sistem Operasi LINUX merupakan pengembangan dari
UNIX, yang pertama kali dikembangkan oleh Linus Trovald. Sistem Operasi ini
bersifat open source yang berarti dapat dikembangkan oleh semua orang dengan
bebas. LINUX memiliki banyak turunan pengembangannya yang biasa disebut Distro LINUX
dengan banyak macamnya. Beberapa pengembangannya yaitu: Debian. Suse, Red Hat
(Fedora), Slackware, Ubuntu, Backtrack, CentOS, dan lain sebagainya.
SOLARIS
Sistem Operasi ini merupakan sistem operasi yang
biasa digunakan oleh sebuah perusahaan. Sistem Operasi ini dikembangkan oleh Sun
MicroSystem.
FreeBSD
Sistem Operasi ini salah satu sistem operasi yang
dikembangkan oleh Universitas Berkeley, yang hampir mirip dengan pengembangan
sistem operasi LINUX yang bersifat open source.
Novell Operating System
Sistem Operasi ini dikembangkan oleh Novell Corporation, yang merupakan sistem operasi yang digunakan oleh salah satu Universitas di Indonesia yaitu Universitas Gadjah Mada (UGM) untuk proses input data atau Entry Key-In Kartu Rencana Studi (KRS) mahasiswa.
MS Windows
Sistem Operasi MS Windows merupakan sistem operasi yang banyak digunakan hingga saat ini dan sudah dikembangkan dengan banyak versi. Sistem Operasi ini dapat dikatakan sebagai sistem operasi paling populer dikalangan masyarakat dunia, karena hampir semua orang menggunakannya. Sistem Operasi ini dikembangkan oleh Microsoft Corporation, beberapa versi MS Windows yang terkenal diantaranya: Microsoft Windows 98, 2000, Me, XP, Vista, Windows 7, Windows 8, dan saat ini sudah ada Windows 10.
Apple Macintosh (MacOS)
Sistem Operasi ini merupakan salah satu sistem operasi yang populer juga saat ini, didukung oleh keunggulannya dalam hal grafik. Sistem Operasi ini memerlukan hardware khusus agar dapat dioperasikan yang dikeluarkan oleh perusahaan Apple Corporation yang tidak dapat diinstal di komputer lain. Beberapa versi sistem operasi ini diantaranya: Mac OS X Tiger, Leopard dan lainnya.
Program Aplikasi (Application Programs)
Program Aplikasi merupakan pengembangan software
yang banyak dikembangkan untuk memenuhi kebutuhan penggunanya secara spesifik.
Misalnya dalam pengembangan program pengolahan kata dan angka, mengelola lembar
kerja, program presentasi, desain grafis, dan lain sebagainya. Program Aplikasi
ini dibuat berdasarkan kebutuhan pengguna tertentu agar dapat lebih produktif
dalam membantu tugas-tugas tertentu.
Program Aplikasi yang terpasang dalam komputer
merupakan software siap pakai yang akan berfungsi untuk membantu melaksanakan pekerjaan
setiap penggunanya. Dalam satu perangkat komputer program aplikasi yang dipakai
disesuaikan dengan kebutuhan masing-masing pengguna, yang artinya setiap
komputer pengguna pasti memiliki perbedaan dalam pemasangan software pendukung sesuai
pekerjaan, profil atau style masing-masing pengguna. Beberapa contoh pengembangan
program aplikasi, diantaranya :
Word Processing
Program Aplikasi ini berfungsi untuk digunakan
dalam menyunting naskah atau teks merangkai kata dan angka menjadi sebuah
kalimat yang tertata rapih dalam satu naskah. Contohnya: Microsoft Word, Lotus Ami
Pro, WordPerfect, Latex Text, dan lain sebagainya.
Desktop Publishing
Program aplikasi ini berfungsi dalam mengatur
tata letakan cetakan pada sebuah naskah yang siap untuk dicetak. Contohnya: Ventura
Publisher, Page Maker, dan lain sebagainya.
Spreadsheet Program
Program Aplikasi ini berfungsi dalam mengatur dan mengelola data secara berkolom atau dalam bentuk tabel. Contohnya: Microsoft Excel. Lotus Improv, dan lain sebagainya.
Database Management System (DBMS)
Program Aplikasi ini berperan penting dalam
penyimpanan data yang cukup besar yang tidak cukup untuk disimpan pada
penyimpanan komputer. Data yang disimpan dalam aplikasi ini dapat diolah menjadi
sebuah informasi tertentu sesuai keinginan penggunanya. Aplikasi ini biasa
disebut juga database atau DBMS yang dapat menyimpan, mengelola data yang
kemudian dapat menghasilkan sebuah informasi. Contohnya: SQL, Paradox, FoxPro, Microsoft
Access, PostgreSQL, Oracle, Approach, dan lain sebagainya.
Graphics Program
Program Aplikasi ini biasanya berfungsi dalam
pembuatan gambar atau grafis. Aplikasi berperan penting bagi pengguna yang
memang mengharuskan menggambar namun tidak mahir dalam menggambar dengan alat tulis
tangan langsung. Karena biasanya menggambar dengan salah satu aplikasi komputer
ini, dapat menghasilkan gambar dengan bentuk yang lebih simetri juga nyaris
sempurna juga rapih. Contohnya: Corel Draw, StanFord Graphics, Microsoft Visio,
Paint, dan lain sebagainya.
Accounting Program
Aplikasi ini biasa digunakan khususnya oleh
beberapa organisasi atau perusahaan untuk kebutuhan bisnis. Kebutuhan bisnis yang
dimaksud biasanya erat kaitannya dengan bagian keuangan atau akuntansi.
Contohnya: DacEasy Accounting, Pacioli 2000, PeachTree Accounting, Bee
Accounting, dan lain sebagainya.
Statistic Program
Program Aplikasi ini biasanya digunakan untuk
mendukung kebutuhan penelitian dalam bidang analisis statistik data. Contohnya:
SAS, SPSS, Statistica, Matlab, dan lain sebagainya.
Communication Program
Program Aplikasi ini berfungsi untuk berkomunikasi
antara satu pengguna dengan pengguna lainnya yang menggunakan perangkat
komputer yang berbeda. Contohnya: Carbon Copy, DataFax, Procomm Plus,
CrossTalk, dan lain sebagainya.
Multimedia
Program aplikasi yang berfungsi untuk menghubungkan komputer dengan peralatan multimedia (dalam hal ini perangkat keras multimedia) seperti kamera video, kamera digital atau video player. Contohnya: Microsoft Video.
Games
Program aplikasi ini biasanya berfungsi dalam
dunia hiburan untuk permainan berbasis komputer desktop, mobile programming yang
bersifat offline maupun online. Contohnya: Flight Simulator, Baseball,
Pineball, Solitare, Mahjong, dan lain sebagainya.
Antivirus
Program aplikasi ini merupakan program aplikasi yang berfungsi untuk mendeteksi dan membersihkan virus komputer. Contohnya: McAfee VirusScan, Smadav, AVG, Norman, Norton Antivirus dan lain sebagainya.
Bahasa Pemrograman (Programming Language)
Bahasa Pemrograman merupakan program aplikasi yang
digunakan untuk menterjemahkan baris-baris 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 biasa disebut juga bahasa mesin (assembler)
di mana pengkodean bahasanya hanya menggunakan kode angka 0 dan 1.
Bahasa Tingkat Tinggi (High Level Language)
Bahasa ini termasuk bahasa yang mudah untuk dipahami
dan mudah untuk dipelajari oleh pengguna komputer, dan biasanya menerapkan
serapan bahasa menggunakan bahasa inggris yang mudah diterjemahkan oleh manusia.
Contohnya: BASIC, PASCAL, COBOL, FORTRAN, dan lain sebagainya.
Bahasa Generasi Keempat (4 GL)
Bahasa pemrograman 4GL (Fourth Generation Language) merupakan bahasa pemrograman yang berbasi objek atau biasa disebut Object Oriented Programming (OOP). Contohnya: Visual Basic, Delphi, Visual C++, Java Script, PHP, HTML dan lain sebagainya.
Program Bantuan Komputer (Utility)
Program aplikasi ini biasanya berfungsi untuk membantu kegiatan yang berhubungan dengan perangkat komputer, seperti memformat disket atau flashdisk, menyalin data atau mengkompres file dan lain sebagainya. Utility atau alat bantu itu sendiri merupakan software yang bertugas dalam mengerjakan pekerjaan minor dalam pengoperasian sistem, menghapus program, menyalin program, dan lainnya. Contoh perangkatnya seperti: PC-TOOL, Norton Utility, Mice Utility, Copywrite, Advanced Diagnostic, Wizard, Winzip, dan lain sebagainya.
DAFTAR PUSTAKA
Banowo, A. and Eka Pradittya, I. (2010) Teknologi Informasi dan Komunikasi, Pusat Perbukuan Kementrian Pendidikan Nasional. Pusat Perbukuan Kementrian Pendidikan Nasional.
Fariyatul Fahyuni, E. (2017) Buku Ajar Teknologi Informasi dan Komunikasi. Edited by S. B. Sartika. Sidoarjo: UMSIDA Press.
Kismiantini, Dyah Rahmawati, R. and Rine Hartuti, E. (2010) Dunia Teknologi Informasi dan Komunikasi, Pusat Perbukuan Kementrian Pendidikan Nasional. Edited by S. Dwi Sufiyati et al. Pusat Perbukuan Kementrian Pendidikan Nasional.
Mashadi and Dwi Armawan, A. (2010) Teknologi Informasi dan Komunikasi untuk SMP/MTs Kelas IX, PUSAT PERBUKUAN Kementrian Pendidikan Nasional.
Ramadhani, G. (2003) ‘Internet Apa Itu Internet ?’, Pengenalan Internet, p. 24. Available at: http://directory.umm.ac.id/tik/pengenalan_internet.pdf.
santoso, S. Oetomo, B. (2010) Teknologi Informasi dan Komunikasi, Buku Materi IT Literacy. Supriyadi, E. and Heri Kiswanto, M. (2009) Teknologi Informasi dan Komunikasi. Pusat
Perbukuan Kementrian Pendidikan Nasional.
CloudHost. 2019. Mengenal Apa itu Cloud Computing : Defenisi, Fungsi, dan Cara Kerja. 16 Sept.
Edy Irwansyah, J. V. (Agustus 2014). Pengantar Teknologi Informasi. Yogyakarta: Deepublish. Feri Hari Utami, A. (Oktober 2015). Rekayasa Perangkat Lunak. Yogyakarta: Deepublish.
Hadiprakoso, R. B. (2020). Rekayasa Perangkat Lunak. Yogyakarta: RBH. Hutahaean, J. (Agustus 2014). Konsep Sistem Informasi. Yogyakarta: Deepublish. Indayudha, F. (2009). Jago Merakit dan Memperbaiki Komputer. Jakarta: Buku Kita.
Janner Simarmata, M. C. (Augustus 2020). Teknologi Informasi: Aplikasi dan Penerapannya.
Medan: Yayasan Kita Menulis.
Nugroho, A. (2009). Rekayasa Perangkat Lunak Menggunakan UML dan Java. Yogyakarta: Andi Offset.
Rianto, I. (February 2021). Rekayasa Perangkat Lunak. Klaten, Jawa Tengah: Lakeisha. Sommerville, I. (September 2003). Software Engineering (Rekayasa Perangkat Lunak) Edisi 6
Jilid 1. Erlangga: Jakarta.