Anda di halaman 1dari 7

1.

Software

Komputer adalah sekumpulan komponen-komponen canggih yang dapat melakukan
perhitungan kompleks dengan cepat. Kita sangat membutuhkan peranan komputer untuk
menyelesaikan permasaahan kita sehari hari. Namun, komputer hanya mengenali 0 dan 1.
Oleh karena itu kita butuh suatu perangkat yang dapat menghubungkan kita agar bisa
berkomunikasi dengan komputer dan komputer dapat mengkomunikasikan output kepada
kita. Perangkat itu adalah software.

Meskipun CPU komputer dapat memproses informasi dengan cepat, dia tidak tahu apa yang
harus dilakukan. Prosesor butuh sekumpulan intruksi untuk dijalankan. Sekumpulan intruksi
itu adalah program. Program yang canggih sekalipun hanyalah kumpulan dari operasi
operasi sederhana seperti aritmetika (seperti 2+5 = 7) dan operasi logika ( seperti
membandingkan x > y) yang sangat banyak dan dilakukan berurutan dengan cepat
(sekumpulan instruksi yang berurutan disebut juga algoritma) .
Software dibagi menjadi :
a. Software sistem
Berfungsi untuk mengendalikan hardware komputer , menjadi penghubung
antara pengguna dengan hardware dan menyediakan platform untuk software
aplikasi bekerja.
b. Software Aplikasi
Software yang dibuat untuk tujuan spesifik. Contohnya seperti pengolah kata,
pengolah angka , dll.

1.2. Software Sistem : BIOS

BIOS (Basic Input Output System) adalah
software yang dibutuhkan sebuah komputer
untuk memulai proses booting (proses
menyalakan komputer). Ketika kita pertama
kali menyalakan komputer, CPU butuh
instruksi mengenai apa yang dia harus
lakukan. Namun, kumpulan instruksi itu ada
di dalam sistem operasi yang tersimpan di
dalam harddisk. CPU butuh instruksi untuk
mengakses sistem operasi di dalam
harddisk. Oleh karena itu, BIOS memberikan
intruksi kepada CPU untuk mengakses sistem operasi. BIOS tersimpan pada Read Only
Memory.
Tugas BIOS adalah :
a. Melakukan prosedur Power On Self Test untuk memastikan keadaan komponen
hardware komputer dalam keadaan normal
Gambar 1. BIOS , tersimpan dalam Read Only
Memory.
Sumber Gambar : computer.howstuffworks.com
b. Mengaktivasi BIOS pada hardware yang lain
c. Mengatur input output komputer saat booting berlangsung
d. Pengaturan pada hardware komputer

Hal yang dilakukan BIOS pada saat komputer dinyalakan adalah :
1. Ketika tombol power dinyalakan, arus listrik akan mengalir ke setiap komponen
hardware komputer. Komputer akan menunggu sampai arus listrik mencukupi
lalu memberikan Power Good Signal ke CPU.
2. BIOS akan mengecek pengaturan hardware komputer di CMOS (Complmentary
Metal Oxide Semiconductor, chip yang berisi informasi mengenai pengaturan
hardware)

3. BIOS akan menjalankan interrupt handler.
Interrupt handler adalah program penerjemah
sinyal dari input agar bisa dimengerti oleh sistem
operasi. Contohnya, ketika keyboard ditekan,
sinyal dari keyboard akan diproses interupt
handler untuk diteruskan kepada OS (Operating
System) .




4. BIOS akan menjalankan device driver. Device driver adalah software pengendali
komponen hardware pada komputer. Fungsi device driver adalah membuat
suatu hardware agar bisa dikenali oleh OS. Dengan device driver, OS dapat
memerintahkan suatu hardware untuk melakukan suatu aksi. Contohnya, saat
pengguna mengklik tombol print, OS akan memerintahkan device driver printer
untuk melakukan pencetakan, device driver akan mengendalikan printer untuk
melakukan pencetakan.

5. Alamat kerja pada CPU (register) akan terarah ke BIOS (alamat memori 0xFFFF0).
BIOS akan mengintruksikan CPU untuk melakukan hal hal penting yang harus
dilakukan saat komputer pertama kali dilakukan.

6. BIOS akan mengecek apakah komputer ini dinyalakan (coldboot) atau hanya
direstart (warmboot) dengan mengecek alamat memori 0000:0472. Jika alamat
itu bernilai 1234h , maka komputer sedang melakukan reboot dan BIOS tidak
akan melakukan lagi prosedur pengecekan hardware, karena komputer sukses
melakukan booting sebelumnya .

7. Jika BIOS mendeteksi bahwa komputer sedang melakukan cold booting
(komputer dinyalakan dari keadaan mati), BIOS akan melakukan prosedur
Gambar 2. Sebuah cuplikan kode interrupt
handler untuk memproses sinyal dari
keyboard
pengecekan komponen hardware komputer yang disebut dengan Power on Self
Test (POST). BIOS akan mengecek RAM (dengan cara read&write tiap alamat
memori di RAM ) , mengecek sambungan PS/2 (untuk keyboard dan mouse),dan
mengecek PCI Bus (Peripheral Component Interconnect) . Jika BIOS menemukan
adanya hardware yang error, proses booting akan terhenti dan terdengar suara
beep

8. Setelah memastikan bahwa setiap komponen hardware pada komputer dalam
keadaan normal. BIOS akan menampilkan informasi sistem ke layar. Informasi
yang ditampilkan biasanya adalah processor,floppy disk, harddrive, memory,
versi BIOS, tanggal BIOS & VGA.

9. Lalu, BIOS akan mencari dimana sistem operasi berada untuk melanjutkan
proses boot. Sistem operasi terletak dalam perangkat boot, seperti floppy disk,
cdrom atau harddisk. Informasi mengenai perangkat boot apa saja yang ada di
dalam komputer terletak pada CMOS (Complementary Metal Oxide
Semiconductor) , memori yang menyimpan informasi mengenai pengaturan
hardware, pengaturan waktu sistem & daftar perangkat boot. BIOS akan
mengecek informasi boot di CMOS. Jika informasi di dalam CMOS menyatakan
bahwa daftar perangkat boot yang tersedia di komputer itu adalah :
a. FloppyDisk
b. CDROM
c. Harddisk
Maka, BIOS akan pertama kali mencari sistem operasi di floppy disk. Jika tidak
ditemukan , maka ia akan mencari ke CDROM. Begitu seterusnya.

10. Setelah BIOS menemukan perangkat boot yang mengandung sistem operasi,
BIOS akan mencari master boot record. Master boot record adalah semacam
daftar isi dari sebuah harddisk. Di dalam master boot record , terdapat informasi
mengenai dimana intruksi untuk menjalankan sistem operasi & dimana alamat
setiap data pada harddisk. Master boot record berukuran 512 byte, dan terletak
pada sektor paling pertama dalam harddisk, yaitu di sektor 1, silinder 0 , head 0.

Gambar 2. Struktur MBR
Sumber gambar : http://www.powerdatarecovery.com/images/tu/tu007/MBR.png


Struktur MBR adalah sebagi berikut :
a. Bootloader (446 byte)
Program kecil yang mengandung intruksi untuk menjalankan sistem operasi ke
memori
b. Partition Table
Informasi mengenai ukuran dan lokasi partisi (pembagian) harddisk. Sebagai
contoh, sebuah harddisk 400GB dapat kita bagi menjadi dua harddisk , harddisk
pertama (partisi pertama) berkapasitas 200GB dan harddisk kedua (partisi
kedua) berkapasitas 200GB.
c. Magic Number
Sebuah angka yang menunjukkan bahwa boot sukses dijalankan.

11. Setelah proses ini, keberadaan BIOS di memori akan digantikan oleh Sistem
Operasi. Tugas BIOS sudah selesai dan sistem operasi akan mengambil alih
kendali.

1.3. Software Sistem : Sistem Operasi

Sistem operasi adalah seperangkat program yang bertugas untuk mengatur hardware
komputer (seperti mengatur prosesor, memori, alokasi harddisk, input output , dll) dan
memudahkan software lain untuk berkomunikasi dengan hardware . Sistem operasi juga
memudahkan pengguna untuk berkomunikasi dengan hardware tanpa harus mengerti
bahasa mesin. Program aplikasi juga sangat membutuhkan sistem operasi. Karena sistem
operasi menyediakan program aplikasi akses ke CPU, alokasi memori dan input/output.
Tugas utama sistem operasi dapat dibagi menjadi 6 aspek :
a. Processor Management
Processor hanya bisa memroses satu perintah saja , namun dengan
sistem operasi kita dapat menjalankan berbagai program sekaligus
(multitasking). Hal ini dapat terjadi karena sistem operasi melakukan
manajemen prosesor. Cara kerjanya adalah, setiap beberapa
mikrosekon (tergantung kecepatan sistem) sistem operasi
memberhentikan proses program pertama yang sedang dilakukan
prosesor, menampung apa yang sedang dilakukan prosesor saat itu ke
memori dan memaksa prosesor untuk menjalankan proses program
kedua. Beberapa mikrosekon kemudian, siklus ini berulang dan proses
program kedua digantikan oleh oleh proses program selanjutnya, dan
pada akhirnya akan kembali ke proses program pertama. Karena selang
waktu yang sangat singkat, setiap proses akan tampak seperti sedang
berlangsung dengan bersamaan.

Untuk menjalankan siklus diatas, sistem operasi membutuhkan
informasi mengenai setiap proses yang dilakukan. Informasi itu disebut
dengan Process Control Block. Informasi yang dikandung adalah :
1. Nomor ID untuk identifikasi setiap proses
2. Alamat dimana lokasi program & data ketika terakhir diproses
(dalam siklus yang tadi)
3. Isi pemrosesan yang dilakukan prosesor (Register)
4. Status proses sekarang (Sedang diproses/menunggu input dari
pengguna untuk diproses)
5. Prioritas proses
6. Perangkat Input / Output yang dibutuhkan oleh proses itu

b. Memory management
Seperti yang telah dibahas di atas. Prosesor hanya dapat melakukan satu
intruksi dalam waktu yang sama, namun proses yang dilakukan untuk
menjalankan suatu program pastilah sangat banyak. Oleh karena itu,
proses tersebut akan disimpan sementara (mengantri) di memori, lalu
diproses di CPU.
Untuk meningkatkan kemampuan komputer untuk menjalankan proses
yang lebih banyak, dibutuhkan tempat penampung proses (memori)
yang lebih besar pula. Oleh karena itu, memori yang berupa RAM
(Random Access Memory) dapat ditingkatkan dengan menggantinya
dengan RAM yang berkapasitas lebih besar. Namun, cara ini
membutuhkan biaya yang mahal.
Meskipun demikian, sistem operasi dapat meningkatkan kapasitas
memori tanpa harus membeli RAM yang baru. Sistem operasi dapat
memindahkan informasi proses itu di harddisk, mengubah harddisk itu
menjadi memori. Teknik ini disebut juga dengan virtual-memory.

Sistem operasi bertugas untuk mengalokasikan penggunaan memori
agar setiap program dapat berjalan dengan normal. Berdasarkan
kecepatan akses datanya, memori dapat dibagi menjadi tiga jenis :
a. High-speed cache
Terletak di CPU, berkecepatan akses tinggi namun memiliki
kapasitas yang kecil
b. Main memory.
Random Access Memory. Digunakan sebagai memori yang utama.
c. Secondary memory
Virtual memory. Kecepatan akses rendah.
Sistem operasi harus mengalokasikan penempatan proses berdasarkan
ketersediaan kapasitas dari ketiga memori ini

c. Device Management
Penghubung antara sistem operasi dan hardware komputer adalah
device driver. Driver adalah penerjemah sinyal listrik dari hardware
komputer ke bahasa pemrograman tingkat tinggi yang dimengerti oleh
sistem operasi. Sistem operasi dapat mengatur dan memerintahkan
hardware tersebut menggunakan driver.

d. Aplication Program Interface (API)
Dengan driver , software dapat menggunakan perangkat hardware
tanpa harus mengerti komponen komponen hardware secara detil.
Dengan API , programmer dapat menggunakan sistem komputer tanpa
harus mengerti komponen komponen sistem komputer secara detil.
Contoh , sistem operasi menyediakan API makeFile(lokasifile,namafile) ,
programmer cukup menggunakan API tersebut untuk membuat file.
Programmer tidak harus mengerti cara mengalokasikan data pada
harddisk, karena hal itu akan dilakukan oleh sistem operasi.
Programmer dapat memerintahkan komputer untuk melakukan sesuatu
dengan menggunakan API.

e. User Interface
User Interface adalah struktur yang menghubungkan pengguna dengan
komputer. Dibagi menjadi 2 :
a. Character User Interface
Pengguna dapat menggunakan komputer dengan menuliskan
perintah perintah tertentu.
b. Graphic User Interface
Pengguna dapat menggunakan komputer dengan mengarahkan
mouse ke objek tertentu (seperti icon, dll)

1.4. Software Aplikasi
Software aplikasi adalah software yang dibuat untuk tujuan seperti. Contohnya seperti
program pengolah kata, program pengolah angka, game, pemutar video, dll. Software
aplikasi tidak dapat berjalan sendiri, dia membutuhkan sistem operasi agar bisa berjalan.
Software aplikasi dibuat menggunakan bahasa pemrograman. Bahasa pemrograman
yang digunakan biasanya berjenis high level language (bahasa pemrograman yang mirip
dengan bahasa manusia) . Karena komputer hanya mengerti on(1) dan off(0). Bahasa ini
harus dikonversikan dulu dalam beberapa tahap karena komputer tidak mengerti bahasa
manusia .
Tahap pertama, source code (kode program yang menggunakan high level language)
dikonversikan menjadi object code yang menggunakan bahasa assembly (bahasa
pemrograman yang menggunakan kata dan angka untuk merepresentasikan angka
biner) oleh assembler.
Lalu, bahasa assembly diubah menjadi bahasa mesin