PROGRAM APLIKASI

Prosesor mengeksekusi program-program komputer. Prosesor adalah sebuah chip dalam sistem komputer yang menjalankan instruksi-instruksi program komputer. Dalam setiap detiknya prosesor dapat menjalankan jutaan instruksi.

Program adalah sederetan instruksi yang diberikan kepada suatu komputer. Sedangkan proses adalah suatu bagian dari program yang berada pada status tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih sering membahas proses dibandingkan dengan program. Pada Sistem Operasi modern, pada satu saat tidak seluruh program dimuat dalam memori, tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari program tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian dari program tersebut dimuat di memory dan dieksekusi oleh prosesor. Hal ini sangat menghemat pemakaian memori.

Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu, sedangkan yang lainnya menjalankan multi-proses dalam satu waktu. Padahal sebagian besar sistem komputer hanya memiliki satu prosesor, dan sebuah prosesor hanya dapat menjalankan satu instruksi dalam satu waktu. Maka bagaimana sebuah sistem prosesor tunggal dapat menjalankan multi-proses? Sesungguhnya pada granularity yang sangat kecil, prosesor hanya menjalankan satu proses dalam satu waktu, kemudian secara cepat ia berpindah menjalankan proses lainnya, dan seterusnya. Sehingga bagi penglihatan dan perasaan pengguna manusia, seakan-akan prosesor menjalankan beberapa proses secara bersamaan.

Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).

Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu:

1. Ready, yaitu status dimana proses siap untuk dieksekusi pada giliran berikutnya
2. Running, yaitu status dimana saat ini proses sedang dieksekusi oleh prosesor
3. Blocked, yaitu status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas


Contoh Software Aplikasi

Payroll Software: Sistem/ Program/ Aplikasi Payroll Indonesia

EuClid Payroll System is the payroll software with automates the pay process by gathering data on employee time and attendance, calculating various deductions and taxes, generating periodic pay cheques and employee tax reports. Perform automatic deposit calculation or writing cheque manually based on human resource and time management data. Set up accounts payable transactions based on employees deductions then send accounting information to the general ledger for posting subsequent pay cycle.

Sejarah desain software dan pengembangannya

Sejarah metodologi pengembangan software seperti pencarian peluru perak, yang tujuan utamanya adalah mengatur kompleksitas sistem software dengan suatu cara. Persepsi personal sya(pengarang software developtment book): mengembangkan sistem software yang kompleks,cukup kompleks, membutuhkan waktu dan biaya yang cukup besar. kita akan melihat pada lima metodologi secara garis besar yang biasanya dikembangkan dan digunakan.

Structured Programming

Sturctured programming berurusan dengan penggunaan blok sturktur, state procedure call, dan beragam konstruksi loop yang sesuai. Kita dapatkan mantra baru untuk ini:”go to considered harfull”(kita mencari hal yang diperkirakan salah/merugikan)
Ide yang cukup jelas untuk memberikan pengetahuan/pengertian terhadap flow kontrol program dengan mudah, agar program disusun secara terstruktur dan transparan. Penulis berpendapat bahwa ide dari structured programming telah terintegrasi pada semua metodologi yang muncul setelahnya.
Object oriented Programming

Metodologi Object Oriented Programming (OOP) berkembang dari ide structrured programming. OOP mengatur komplesitas software dengan memaketkan kode dan data yang biasa digunakan bersama. Biasanya kita samakan dengan object pada dunia nyata. pada OOP, kita kadang kadang memodelkan object dunia nyata(ex: menulis program simulasi, ketika pertamakali konsep OOP dikembangkan) sebagai object software dan juga sebagai model benda non-material seperti prosess, cara mengorganisasi informasi dan lain sebagainya sebagai object software

sebuah object software dapat menjaga internal statenya sendiri. Hal ini sangat berbeda dengan program terstruktur yang kodenya bisa terstruktur dan dapat dimengerti dengan mudah, tetapi global data yang dipakai bersama terdapat pada semua bagian sistem software-termasuk didalamnya bagian tanpa kebutuhan untuk akses atau modifikasi data tersebut.
Design Patterns

Manusia selalu menggunakan pola dalam dunianya. Seperti seorang anak yang berpikir bahwa temannya yang mempunyai kebiasaan pola belajar yang baik akan mendapat nilai yang baik pula. ketika kita belajar memasak, kita mungkin akan berpikir pertamakali seperti kebiasaan pola memasak untuk menyiapkan resep dan bahan sebelum memulai memasak, kemudian kemudian sering mencoba mencicipi makanan setelah ditambahkan bumbu.dan lain sebagainya.

pada pengembangan software, penggunaan design patern didasarkan pada observasi bahwa beberapa proyek software gagal sementara proyek yang mirip berhasil (hal ini dapat berupa pola managemen, pole penjadwalan, pola testing dll). pada desain software, penggunaan pola didasarkan pada observasi lebih lanjut pada pola desain umum untuk tugas yang hampir sama digunakan berulangkali untuk proyek yang berhasil.

Extreme Programming

Extreme programming didasarkan pada identifikasi kebutuhan kostumer dan berkonsentrasi pada pengembangan dan pembuatan kebutuhan pelanggan (kostumer) dengan cepat. menggunakan desain sederhana untuk berkomunikasi dengan pelanggan, pengembang extreme secara teratur mengembangkan software dengan prioritas pada keperluan yang paling penting.

Extreme programming merupakan pendekatan yang berbeda dengan skenario tradisional yang memerlukan waktu baik pengembang maupun pelanggan untuk mencoba (biasanya dengan tingkat kesuksesan yang terbatas) mendokumentasikan secara detail software yang telah dikembangkan selama beberapa lama waktu yang dihabiskan. pengembang yang berpengalaman mengerti bahwa implementasi yang ter-stag secara positif berpengaruh pada proses desain. extreme programming secara special efektif ketika kebutuhan kompleks dan tidak memerlukan hal seperti sebelumnya.

ketika kita belajar UML, kita akan melihat beberapa detail kasus-kasus user yang secara lengkap menerangkan aspek individu bagaimana orang akan menggunakan sistem software. extreme programming menggunakan suatu hal yang dinamakan dengan “Cerita User”(user stories) yang dibuat oleh pelanggan untuk menjelaskan persepsinya terhadap sistem yang akan dibangun. cerita user kemudian digunakan untuk mendefinisikan perkiraan waktu pengembangannya, dan membantu mendefinisikan test yang terotomasi yang akan digunakan serta digunakan baik untuk pengembangan maupun untuk test penerimaan pelanggan (acceptance test).

extreme programming biasanya dideskripsikan sebagai sebuah phrase yang cukup berarti bagi penulis: test driven programming. menulis kode test sebelum menulis kode aplikasi. kemudian menulis software cukup untuk memenuhi unit test. tidak diijinkan untuk mengubah kode software sebelum seluruh test unit dilalui. gunakan tools seperti JUnit (www.junit.org) untuk menulis test yang terotomasi.

Aspect oriented Programming

ide utama dibalik aspect oriented programming (AOP) adalah pemisahan konsentrasi sistem software pada bagian yang berbeda. pada prinsipnya, pilosofi ini mengijinkan pengembangan sistem yang lebih modular, dengan modularitasnya terkontrol oleh konsentrasi pengembangan yang berbeda. untuk programmer java, direkomendasikan untuk mencari AspectJ project (eclipse.org/aspectj).

sebagai kutipan yang didapat dari situs web AspectJ :

“AspectJ enables the clean modularization of crosscutting concerns such as:error checking and handling, synchronization, context-sensitive behavior, performance optimizations, monitoring and logging, debugging support, multi-object protocols”

Baik free eclipse java IDE (www.eclipse.org) dan IntelliJ Java IDE yang berbayar(www.intellij.com) keduanya mendukung AspectJ.Aspectj adalah sebuah ekstensi (perluasan) bahasa java dan membutuhkan preprocessing. catatan: meskipun telah mengikuti AOP, penulis masih belum menggunakannya pada proyek nyata.

JENIS SOFTWARE


Secara tak sadar, ketika kita menggunakan komputer, sebenarnya kita telah menggunakan software. Apakah sebenarnya software itu? Software atau perangkat lunak adalah semua program yang digunakan untuk menjalankan komputer atau perangkat lainnya. Secara umum, ada dua jenis software. Pertama adalah software aplikasi. Software aplikasi adalah software yang dibuat untuk tujuan atau kepentingan spesifik, contohnya Notepad untuk teks editor, Winamp untuk memutar file audio, dan sebagainya. Kedua adalah software sistem. Software sistem adalah software yang menjadi tempat semua software aplikasi berjalan . Contohnya adalah Microsoft Windows, Linux, Mac OS, dan sebagainya.

Menurut cara memperolehnya (baca : harga beli dan legalitas), software dapat dibedakan menjadi beberapa jenis. Jenis pertama adalah freeware. Software yang bersifat freeware dapat digunakan tanpa biaya, namun masih memiliki batasan atas hak cipta pengguna. Maksudnya, meskipun kita menggunakan freeware tersebut kita tidak boleh melanggar hak cipta atas software tersebut, misalnya penggandaan untuk orang lain atau menggunakan software tersebut untuk kepentingan lain. Biasanya freeware didistribusikan tanpa disertai dengan kode program yang bersangkutan. Lalu jika kita tidak perlu membayar, apa tujuan si pembuat freeware? Tujuan yang jelas adalah untuk promosi. Baik itu promosi diri sendiri (untuk programmer perorangan) ataupun promosi produk (untuk developer kelas kakap). Tujuan lain yang mungkin adalah untuk mendapatkan masukan dari pengguna dan ada pula (walaupun jarang ditemui) yang bertujuan untuk membobol sistem seseorang. Beberapa contoh freeware adalah Paint.net, Rocket Dock, Ccleaner, dan masih banyak lagi.

Jenis yang kedua adalah shareware. Shareware adalah software yang dapat digunakan tanpa biaya dalam jangka waktu tertentu. Setelah jangka waktu tersebut selesai, pengguna diberi pilihan, apakah akan melanjutkan menggunakan software tersebut (dengan konsekuensi membayar) atau tidak menggunakan lagi software tersebut. Terkadang pada shareware diberi batasan fitur yang hanya bisa digunakan jika pengguna membeli softwarenya. Seperti freeware, shareware masih dibatasi oleh hak cipta. Tujuan pembuatan shareware cukup jelas, yaitu memberikan contoh hasil jadi software tersebut sebelum dibeli oleh pengguna. Beberapa contoh dari shareware ini misalnya StyleXP, Window Blinds, WinRAR, dan sebagainya.

Ketiga, propietary software. Intinya, propietary software itu hampir sama dengan barang yang bisa kita beli di pasar. Jika kita ingin menggunakannya, kita harus membelinya. Propietary software sangat dibatasi oleh hak cipta. Kita tidak diperkenankan mendistribusikan kembali, mengotak-atik program, dan software ini tidak disertai dengan kode sumber.

Jenis keempat yang mulai populer adalah open source software. Berbeda dengan jenis software sebelumnya, open source software memberikan kebebasan kepada kita untuk menggunakan, mengubah sesuai dengan kebutuhan, dan medistribusikan kembali, baik software aslinya maupun yang telah kita ubah. Biasanya software yang bersifat open source menyertakan kode sumber dalam pendistribusiannya. Tujuan pembuatan open source software biasanya bukan untuk tujuan komersil, namun lebih ke tujuan sosial bagaimana sebuah software bisa bermanfaat bagi para pengguna. Beberapa contoh open source software misalnya Pidgin, qGo, Inkscape, gimp, dan masih banyak lagi.

Nama Software dan Kegunaannya

  • Xing MPEG Player memutar CD, VCD
  • Linguist kamus bahasa inggris
  • Winamp memutar lagu - lagu MP3
  • Total Fonts 2002 koleksi jenis huruf
  • Microsoft Word pengetikan
  • Microsoft Excel pembuatan tabel - tabel
  • Microsoft Front Page pembuatan web site
  • Microsoft Power Point pembuatan presentasi
  • Microsoft Outlook pengaturan jadwal, email, nbr tlp, dll
  • Adobe Acrobat Reader program pembaca dokumen tutorial
  • LinSys 3D gambar 3 dimensi
  • Winzip program kompres file ( memperkecil ukuran )
  • Macromedia Dreamweaver pembuatan web site
  • Macromedia Flash pembuatan gambar animasi
  • Macromedia Free Hand pembuatan gambar
  • Visual Studio komputer programming
  • Microsoft Web Publishing pengiriman data website ke dunia internet
  • Corel Draw pembuatan gambar
  • ACD See melihat - lihat gambar
  • Swish pembuatan animasi


Sumber:http://training-komputer.newgoo.net/tentang-software-komputer-f9/software-dapat-dibedakan-ada-dua-jenis-freeware-shareware-t7.htm

PENGERTIAN SOFTWARE


Software disebut dengan perangkat lunak, merupakan kumpulan beberapa perintah yang dieksekusi oleh mesin komputer dalam menjalankan pekerjaannya. perangkat lunak ini merupakan catatan bagi mesin komputer untuk menyimpan perintah, maupun dokumen serta arsip lainnya.

Merupakan data elektronik yang disimpan sedemikian rupa oleh komputer itu sendiri, data yang disimpan ini dapat berupa program atau instruksi yang akan dijalankan oleh perintah, maupun catatan-catatan yang diperlukan oleh komputer untuk menjalankan perintah yang dijalankannya.
Untuk mencapai keinginannya tersebut dirancanglah suatu susunan logika, logika yang disusun ini diolah melalui perangkat lunak, yang disebut juga dengan program beserta data-data yang diolahnya. Pengeloahan pada software ini melibatkan beberapa hal, diantaranya adalah sistem operasi, program, dan data. Software ini mengatur sedemikian rupa sehingga logika yang ada dapat dimengerti oleh mesin komputer.

Kebanyakan masyarakat saat ini membagi komputer menjadi dua bagian . Bagian pertama adalah hardware yang merupakan perangkat fisik yang ada di dalam komputer. Dan bagian yang kedua adalah software komputer, yang memberitahukan hardware mengenai apa yang harus dilakukan dan bagaimana melakukannya. Apabila diibaratkan bahwa komputer adalah makhluk hidup, maka hardware adalah tubuhnya seperti mata untuk melihat, paru-paru untuk bernapas dan bagian tubuh lainnya, sedangkan perangkat lunak atau software diibaratkan sebagai kepintarannya, seperti memproses gambar yang dilihat mata, memerintahkan tangan untuk mengangkat objek, dan memaksa tubuh untuk menarik nafas dengan menggunakan paru-paru.
Hardware Komputer, menjadi bagian dari mesin, dan hanya mengerti dua konsep dasar yaitu menyala (on) dan mati (off), konsep on dan off tersebut dinamakan binary. Software komputer dikembangkan agar binary dapat menjadi jalan untuk memberitahukan komputer hardware dalam melakukan tugasnya. Software Komputer menterjemahkan dan mengarahkan pengguna komputer agar mengerti mengenai apa yang dapat dilakukan oleh komputer hardware.

Sebagian besar dari software komputer dibuat oleh programmer dengan menggunakan bahasa pemrograman. Programer menuliskan perintah dalam bahasa pemrograman seperti layaknya bahasa yang digunakan oleh orang pada umumnya dalam melakukan perbincangan. Perintah-perintah tersebut dinamakan “Source Code”. Program komputer lainnya dinamakan Compiler yang digunakan pada source code, dan kemudian mengubah perintah tersebut ke bahasa yang dapat dimengerti oleh komputer. Dan hasilnya dinamakan program executable (EXE).

Software komputer dibagi menjadi dua kategori utama yaitu sistem software dan software aplikasi. Sistem software menyajikan program yang dapat mengijinkan hardware berjalan dengan semestinya. Software aplikasi menyediakan program yang mengijinkan pengguna untuk melakukan sesuatu disamping menjalankan hardware.



Identifikasi Jenis Software Aplikasi

1. Sistem Operasi

Sistem operasi merupakan sofware yang pertama kali dibaca oleh komputer pada saat booting sebagai dasar pengoperasian komputer.Terdapat 2 jenis sistem operasi berdasarkan tampilan antarmuka kepada penggunanya (user interface) yaitu yang berbasis CUI (Character User Interface) dan berbasis GUI (Graphical User Interface). Sistem operasi berbasis CUI, misalnya : DOS (Disk Operating Sistem) dan Sistem Operasi UNIX dan Linux pada mode terminal atau konsol. Sedangkan sistem operasi berbasis GUI, misalnya : Microsoft Windows 9x, 2000, NT, XP, serta sistem operasi UNIX dan Linux yang telah mendukung GUI.

2. Program Bantu dan Program Tambahan

Program bantu (utility) merupakan program yang digunakan untuk mengisi kekurangan atau menampilkan kembali file suatu sistem operasi yang terhapus. PC Tools dan Norton Utilities merupakan contoh dari program ini.Salah satu dari kelemahan DOS adalah tidak mampu bekerja di sistem jaringan.Oleh karena itu beberapa perusahaan membuat program tambahan yang dapat mengubah sistem DOS tersebut (single user atau stand alone system) menjadi sistem operasi yang dapat digunakan oleh banyak pemakai (multiuser).Netware, Token R ing dan Lantastic merukan contoh-contoh program ini.

3. Bahasa Komputer (Computer Language)

Computer Language merupakan bahasa yang digunakan untuk membuat program komputer.Disebut bahasa karenacomputer language memiliki kosa kata dan tata bahasa yang harus ditaati oleh pemakainya.

Yang termasuk dalam jenis ini adalah :
Low Level Language, merupakan bahasa tingkat rendah karena sulit dipahami dan hanya dapat dimengerti oleh pembuatnya. Yang termasuk program ini adalah bahasa mesin assembly language
High Level Language, merupakan bahasa tingkat tinggi karena menggunakan kata-kata yang mudah dimengerti. Contoh dari program ini adalah BASIC, PASCAL, FORTRAN, dsb.
Ada pula beberapa tipe software, diantaranya :

a. Software Games
Jenis software ini termasuk dalam kategori entertainment atau hiburan, software ini memiliki berbagai macam jenis.Jenis-jenis tersebut seperti MMOs (Massive Multiplayer Online games), first-person shooters, action games, roleplaying games, and game petualangan.

b. Software Driver
Program ini mengijinkan komputer untuk dapat berinteraksi dengan perangkat hardware tambahan seperti printer, scanner, dan video cards.

c. Software Pendidikan
berbeda dengan jenis program sebelumnya, software pendidikan ini dapat mengajarkan apapun dari komputer, melakukan aktifitas yang berhubungan seperti mengetik atau berbagai macam jenis pendidikan lainnya seperti kimia.

d. Media player
Software yang dibuat untuk dapat memainkan atau mengedit media digital seperti file music atau video.

e. Software Produktifitas
Jenis software ini mengijinkan pengguna untuk lebih produktif baik itu dalam menjalankan bisnis atau menjalankan aktifitas produktif lainnya.Contoh dari software ini adalah software pengolah huruf (Ms Words), Software pengatur database, software presentasi dan beberapa software lainnya.

f. Operating sistem
software yang merupakan sumber dari software lainnya yang dapat mengijinkan software lainnya untuk berjalan. Contoh dari software operating sistem ini adalah Window Vista, Mac OS X dan Linux, Apple, Machintos dll, dan pada software inilah program aplikasi lainnya di install.

g. Software Aplikasi
Software yang diinstal pada komputer yang sesuai dengan os yang ada, dimana software aplikasi ini diinstal sesuai dengan kebutuhan User (Pengguna) contohnya, MS Office (Ms Word, Ms Excell, Ms Power Point dll), Software Grafis (Adobe Photoshope, Corel Draw, Autocad dll)

h. Software Program
Software yang berfungsi untuk membuat aplikasi-aplikasi program (Membuat Program baru) seperti program Games, Program data Base, Program Web dll, Contoh Software Program : Visual Basic, Cobol, C++, Program PHP dll

i. Software Aplikasi Tools
Program-program yang berfungsi untuk mempercepat, memperbaiki, dan mempermudah pengoperasian computer

Jenis Software


Secara tak sadar, ketika kita menggunakan komputer, sebenarnya kita telah menggunakan software.Software atau perangkat lunak adalah semua program yang digunakan untuk menjalankan komputer atau perangkat lainnya.Secara umum, ada dua jenis software. Pertama adalah software aplikasi.Software aplikasi adalah software yang dibuat untuk tujuan atau kepentingan spesifik, contohnya Notepad untuk teks editor, Winamp untuk memutar file audio, dan sebagainya.Kedua adalah software sistem. Software sistem adalah software yang menjadi tempat semua software aplikasi berjalan .Contohnya adalah Microsoft Windows, Linux, Mac OS, dan sebagainya.

Menurut cara memperolehnya, software dapat dibedakan menjadi beberapa jenis. Jenis pertama adalah freeware.Software yang bersifat freeware dapat digunakan tanpa biaya, namun masih memiliki batasan atas hak cipta pengguna. Maksudnya, meskipun kita menggunakan freeware tersebut kita tidak boleh melanggar hak cipta atas software tersebut, misalnya penggandaan untuk orang lain atau menggunakan software tersebut untuk kepentingan lain. Biasanya freeware didistribusikan tanpa disertai dengan kode program yangbersangkutan.Lalu jika kita tidak perlu membayar.

Pengertian Software

Software disebut dengan perangkat lunak, merupakan kumpulan beberapa perintah yang dieksekusi oleh mesin komputer dalam menjalankan pekerjaannya.perangkat lunak ini merupakan catatan bagi mesin komputer untuk menyimpan perintah, maupun dokumen serta arsip lainnya.

Merupakan data elektronik yang disimpan sedemikian rupa oleh komputer itu sendiri, data yang disimpan ini dapat berupa program atau instruksi yang akan dijalankan oleh perintah, maupun catatan-catatan yang diperlukan oleh komputer untuk menjalankan perintah yang dijalankannya. Untuk mencapai keinginannya tersebut dirancanglah suatu susunan logika, logika yang disusun ini diolah melalui perangkat lunak, yang disebut juga dengan program beserta data-data yang diolahnya. Pengolahan pada software ini melibatkan beberapa hal, diantaranya adalah sistem operasi, program, dan data.Software ini mengatur sedemikian rupa sehingga logika yang ada dapat dimengerti oleh mesin komputer.

Kebanyakan masyarakat saat ini membagi komputer menjadi dua bagian .Bagian pertama adalah hardware yang merupakan perangkat fisik yang ada di dalam komputer. Dan bagian yang kedua adalah software komputer, yang memberitahukan hardware mengenai apa yang harus dilakukan dan bagaimana melakukannya. Apabila diibaratkan bahwa komputer adalah makhluk hidup, maka hardware adalah tubuhnya seperti mata untuk melihat, paru-paru untuk bernapas dan bagian tubuh lainnya, sedangkan perangkat lunak atau software diibaratkan sebagai kepintarannya, seperti memproses gambar yang dilihat mata, memerintahkan tangan untuk mengangkat objek, dan memaksa tubuh untuk menarik nafas dengan menggunakan paru-paru. Hardware Komputer, menjadi bagian dari mesin, dan hanya mengerti dua konsep dasar yaitu menyala (on) dan mati (off), konsep on dan off tersebut dinamakan binary. Software komputer dikembangkan agar binary dapat menjadi jalan untuk memberitahukan komputer hardware dalam melakukan tugasnya. Software Komputer menterjemahkan dan mengarahkan pengguna komputer agar mengerti mengenai apa yang dapat dilakukan oleh komputer hardware.

Sebagian besar dari software komputer dibuat oleh programmer dengan menggunakan bahasa pemrograman.Programer menuliskan perintah dalam bahasa pemrograman seperti layaknya bahasa yang digunakan oleh orang pada umumnya dalam melakukan perbincangan.Perintah-perintah tersebut dinamakan “Source Code”.Program komputer lainnya dinamakan Compiler yang digunakan pada source code, dan kemudian mengubah perintah tersebut ke bahasa yang dapat dimengerti oleh komputer.Dan hasilnya dinamakan program executable (EXE).Software komputer dibagi menjadi dua kategori utama yaitu sistem software dan software aplikasi.Sistem software menyajikan program yang dapat mengijinkan hardware berjalan dengan semestinya.Software aplikasi menyediakan program yang mengijinkan pengguna untuk melakukan sesuatu disamping menjalankan hardware.