Jadi Software adalah komponen abstrak dari susunan sistem komputer. Hardware komputer akan "hidup" dan memiliki fungsi jika digunakan bersama-sama dengan software. Kebanyakan pengguna komputer berpendapat secara singkat bahwa software adalah program.
Secara umum fungsi dari software komputer adalah :
- Melakukan aktivitas bersama-sama dengan hardware.
- Menyediakan segala sumber daya yang bisa digunakan pada komputer.
- Bertindak sebagai perantara antara pengguna (user) dengan perangkat keras (hardware) untuk melakukan aktivitas dengan perintah yang harus dilakukan dalam software komputer.
Software secara garis besar dibagi menjadi 2, yaitu :
- Software sistem operasi (operating system)
- Software aplikasi (application software)
- Bahasa pemrograman (programming language)
- Program aplikasi (application program)
- Program paket (packet program)
- Program Utilitas (utility program)
- Sistem Operasi
Menurut Silberschatz, Galvin, Gagne (2003), Sistem Operasi adalah suatu program yang bertindak sebagai perantara antara pengguna dan hardware komputer. Dia juga menyatakan bahwa tujuan dari sistem operasi adalah :
- Melaksanakan program pengguna dan memudahkan dalam menyelesaikan masalahnya.
- Membuat sistem komputer menjadi mudah untuk digunakan.
- Menjadikan pengguna hardware komputer menjadi lebih efisien.
Tugas Sistem Operasi, diantaranya :
- Menyediakan antarmuka pengguna (user interface), yaitu berupa : melakukan perintah (command-bassed user interface) dalam bentuk teks; mengarahkan menu (menu driven); antarmuka unit grafik (graphical user interface - GUI); kombinasi ikon dan menu untuk menerima dan melaksanakan perintah.
- Menyediakan informasi yang berkaitan dengan hardware, yaitu berupa perangkat yang aktif atau pasif, dan mengendalikan perangkat I/O (input/Output device)
- Melakukan tugas pengolahan dan pengendalian sumber daya dalam sebuah proses sebagai berikut : Multitasking, yaitu bisa melukakan tugas secara serentak atau sekaligus pada aplikasi yang sama maupun berbeda; Multiprocessing, penggunaan atau pemrosesan sebuah program secara serentak oleh beberapa unit CPU; Timesharing, menggunakan sistem komputer yang sama pada banyak pengguna; Multihreading, memproses aktivitas pada bentuk yang sama dengan multitasking tetapi pada aplikasi tunggal; Scalability dan Network; upaya komputer dalam mengendalikan dan meningkatkan kewaspadaan dan keamanan jumlah pengguna dan memperluas pelayanan.
- Pengelolaan file dan direktori data, yaitu memastikan file-file dalam penyimpanan sekunder tersedia bila diperlukan, dan mengamankan dari pengguna yang tidak dibenarkan mengaksesnya.
- Sistem operasi yang digunakan untuk satu komputer secara mandiri (stand-alone operating system)
- Sistem operasi yang digunakan untuk pemakaian secara bersama (multiuser) atau dalam jaringan (network operating system)
- Berdasarkan skala arsitekturnya (bit), sistem operasi bedakan menjadi sistem operasi berskala 8-bit, 16-bit, 32-bit, dan 64-bit. Sistem operasi dengan skala 8-bit dan 16 bit saat ini sudah mulai ditinggalkan, sedangkan saat ini kebanyakan yang digunakan adalah skala 32-bit, seperti sistem operasi (Mircosoft Windows NT, Windows 2000, Windows XP, Linux, IBM OS/400, Sun Solaris). Sedangkan yang baru dan masih jarang ditemui di pasaran adalah dengan skala 64-bit, seperti Windows XP 64-bit, Digital Unix, Open VMS, IBM AIX for RS/6000, SGI IRIX dan HP-UX.
- Klasifikasi sistem operasi berdasarkan End-User Interface : Command Drivers, seluruh perintah pada sistem operasi diketikkan pada prompt perintah atau dieksekusi melalui script file (misal : DOS, UNIX atau XENIX); Graphical User Interface (GUI), pengguna akhir menggunakan mouse atau alat penunjuk yang lain untuk memilih objek yang mewakili suatu instruksi spesifik (misal : semua sistem operasi Windows, IBM OS/2, MAC-OS, Linux)
- Klasifikasi Sistem operasi berdasarkan pengguna : Single-User Singel-Tasking, yaitu sistem operasi yang hanya mampu untuk melayani satu pengguna sekali waktu untuk satu instruksi dalam suatu siklus proses (misal : MS-DOS); Single-User Multi-Tasking, yaitu sistem operasi yang hanya mampu untuk melayani satu pengguna sekali waktu dan mampu untuk mengeksekusi beberapa instruksi dalam satu waktu siklus proses (misal : Windows 95, IBM OS/2, MAC OS); Multi-User Multi-Tasking, yaitu sistem operasi yang mampu melayani beberapa pengguna sekaligus dalam satu waktu dan juga mampu untuk menjalankan beberapa instruksi dalam suatu siklus proses.
- Klasifikasi sistem operasi berdasarkan pangsa pasar : Sistem Operasi Server/Network (seperti : Windows NT server, Window XP, IBM AIX for RS/6000, Digita Unix, Open VMS, HP-UX, Sun Solaris dan IBM OS/400, Linux); Sistem Operasi desktop (seperti : Windows 95/Windows NT Workstation, Windows XP, Linux, OS/2 Wrap, MacOS, Java); Sistem operasi Handheld (seperti Windows CE, GEOS, Magic Cap).
- Software Aplikasi
- Bahasa Program (Programing Language)
- Program Aplikasi (Application Program)
- Program Paket/Paket Program (Packet Program)
- Program Utilitas (Utility Program)
- Games dan Entertainment, dan lain-lain
adalah software bahasa yang digunakan dengan cara merancang atau membuat porgram sesuai dengan struktur dan metode yang dimiliki oleh bahasa program itu sendiri.
Menurut tingkatnya dibagi menjadi :
- Bahasa pemrograman tingkat rendah (low level language), merupakan bahasa pemrograman generasi pertama, bahasa pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin. Biasanya yang mengerti hanyalah pembuatnya saja karena isi programnya berupa kode-kode mesin.
- Bahasa pemrograman tingkat menengah (midle level language), merupakan bahasa pemrograman di mana pengguna instruksi sudah mendekati bahasa sehari-hari, walaupun begitu masih sulit untuk dimengerti karena banyak menggunakan singkatan-singkatan seperti STO artinya simpan (singkatan dari STORE).
- Bahasa pemrograman tingkat tinggi (high level language), merupakan bahasa yang mempunyai ciril lebih terstruktur, mudah dimengerti karena menggunakan bahasa sehari-hari. Contoh : Basic, Pascal, Delphi, Visual Studio, C, C++, Java, dan lain-lain
Program Aplikasi dibedakan atas 3 kategori, yaitu :
- Personal Packaged Software, adalah sekumpulan software yang telah diintegrasikan dengan segaja pada hardware yang ada (dalam hal ini PC) dengan tujuan untuk kepentingan yang sifatnya pribadi, seperti : Accounting, Communication, Desktop Database, Desktop Publishing, dan lain-lain.
- Workgroup Computing, adalah software yang memiliki fungsi workgroup (kolaborasi) dalam suatu lingkungan kerja, seperti : Messaging System, Workgroup Conferencing, Workgroup email, dan lain-lain.
- Enterprice Application, adalah serangkaian aplikasi yang didesain untuk membantu pengguna dalam hal pengelolaan data dan mendukung fungsi-fungsi bisnis dari suatu organisasi, seperti SAP, Oracle, Peoplesoft dan lain-lain.
Merupakan elemen sistem program yang bertugas mengerjakan tugas minor dalah hal pengoperasian mesin, seperti mempersiapkan media disk, membuat duplikasi file, menghapus file, memberi proteksi pada file atau software, menguji kerja komputer dan sebagainya. Contoh : Norton Utility, PC Tools, Antivirus, MC Affe dan lain-lain.
Games dan Entertainment
Merupakan program yang dibuat untuk kesenangan semata dalam bentuk permainan.