Dokumen tersebut membahas tentang perangkat lunak komputer (software) yang terdiri atas system software dan application software. System software seperti sistem operasi dan utility berfungsi untuk mengkoordinasi komputer dan aplikasi, sedangkan application software dirancang untuk tugas tertentu seperti perkantoran. Dokumen ini juga menjelaskan evolusi bahasa pemrograman dari generasi pertama hingga kelima beserta contohnya.
2. Software
Definisi
Apakah yg dimaksud dg software ?
Software, sering disebut juga programkomputer, adalah
kumpulan instruksi dan prosedur yang rinci yang
mengatur operasi suatu sistem komputer.
Ada 2 tipe software :
System software
Application software.
3. Definisi
Software (lanj.)
Software Sistem (System software) adalah sekumpulan
program yang dirancang untuk mengkoordinasikan bagianbagian sistem komputer dan mengatur aktivitas dan fungsi
hardware dan berbagai program yang ada dalam sistem
komputer
Software Sistem juga
bertindak sebagai
perantara hardware
dengan program
aplikasi
4. Definisi
Software (lanj.)
Software sistem terdiri dari :
Sistem Operasi
Program-program utility
User interface (program penterjemah
bahasa komputer/Bahasa Pemrograman)
Sistem Operasi merupakan sekumpulan program yang
mengkoordinasikan seluruh aktivitas antara perangkat keras
komputer
Program utility menyediakan fasilitas kepada user untuk
melakukan maintenance, biasanya berhubungan dengan
pengelolaan komputer, perangkatnya, dan program.
Program penterjemah bahasa berfungsi untuk menterjemahkan
bahasa tingkat tinggi menjadi bahasa mesin
8. Software (lanj.)
Pemrograman
PENERJEMAH BAHASA
Agar komputer dapat memahami program yang disusun dengan suatu
bahasa pemrograman, maka dibutuhkan suatu penerjemah yaitu
INTERPRETER atau COMPILER
INTERPRETER merupakan penerjemah bahasa pemograman yang
menerjemahkan instruksi demi instruksi pada saat eksekusi program.
COMPILER merupakan penerjemah bahasa pemrograman yang
menerjemahkan instruksi-instruksi dalam satu kesatuan modul
kedalam bahasa mesin (object program).
Proses kompilasi dilakukan setelah seluruh program selesai ditulis
9. Sistem Operasi
Software (lanj.)
1. Manajemen proses. Proses adalah keadaan ketika sebuah program
sedang dieksekusi. Manajemen proses meliputi :
Pembuatan dan penghapusan proses yg dibuat oleh pengguna
Menunda atau melanjutkan proses
Menyediakan mekanisme untuk proses sinkronisasi
Menyediakan mekanisme untuk proses komunikasi
Menyediakan mekanisme untuk penanganan deadlock
2. Manajemen memori utama. Aktivitas yg berkaitan :
Menjaga dan memelihara bagian-bagian memori yang sedang
digunakan dan siapa yg menggunakannya
Memutuskan proses-proses mana saja yang harus dipanggil ke memori
jika masih ada ruang dimemori
Mengalokasikan dan meng-dealokasikan ruang memori sesuai
kebutuhan
10. Sistem Operasi
Software (lanj.)
3. Manajemen memori sekunder. Aktivitas yg berkaitan dg disk-management :
Pengaturan ruang kosong
Alokasi penyimpanan
Penjadwalan disk
4. Manajemen sistem I/O. Komponen sistem operasi untuk sistem I/O:
Buffer : menampung sementara data dari/ke perangkat I/O
Spooling : melakukan penjadwalan penggunaan I/O sistem supaya lebih
efisien.
Menyediakan driver
11. Sistem Operasi
Software (lanj.)
5. Manajemen berkas/file. Berkas adalah kumpulan informasi yang
berhubungan sesuai dg tujuan pembuatan berkas tsb. Sistem operasi
bertanggung jawab thd:
Pembuatan dan penghapusan berkas
Pembuatan dan penghapusan direktori
Mendukung manipulasi berkas dan direktori
Memetakan berkas ke secondary storage
Membackup berkas ke media penyimpanan yg permanan (non-volatile)
6. Sistem Proteksi. Proteksi adalah beberapa mekanisme untuk
mengendalikan akses program, proses, atau pengguna pada sumber
daya yg ditugaskan oleh sistem komputer
7. Jaringan
12. Bahasa Pemrograman
Software (lanj.)
1. Bahasa generasi pertama.
Bahasa mesin merupakan bahasa pemrograman komputer tingkat paling dasar
(lowest-level), terdiri dari kombinasi biner. Kode-kode ini merupakan instruksi
yg dimengerti dan langsung dilaksanakan oleh unit CPU. Bahasa ini
tergantung pada jenis prosesor yg digunakan.
contoh :
1011 1001
1000 1010
2. Bahasa generasi kedua
Bahasa assembly merupakan bahasa tingkat level lebih atas dari bahasa mesin.
Dikenal sebagai bahasa pemrograman tingkat rendah (lower-level) tetapi lebih
user-friendly karena menyatakan instruksi bahasa mesin dan lokasi data pada
memori utama menggunakan mnemonics. Bahasa ini masih hardwaredependent. Program bahsa assembly diterjemahkan kedalam bahasa mesin
menggunakan program software yang disebut assembler (bahasa rakitan).
Contoh :
LOAD Y
ADD Z
13. Bahasa Pemrograman
Software (lanj.)
3. Bahasa generasi ketiga
Bahasa prosedural merupakan langkah berikutnya dari evolusi bahasa
pemrograman yang user-oriented. Bahasa ini menggunakan menggunakan
berbagai pernyataan singkat (source code) yang akan diterjemahkan
menjadi beberapa perintah mesin (object code) oleh penterjemah. Ada 2 tipe
bahasa penterjemah yaitu :
Interpreter
Compiler
Contoh bahasa prosedural : FORTRAN, COBOL, BASIC, C
4. Bahasa generasi keempat
Bahasa generasi keempat adalah bahasa nonprosedural. Keuntungannya dapat
digunakan oleh orang non teknis untuk melakukan tugas tertentu. Bahasa ini
pada umumnya digunakan pada aplikasi database. Pernyataan yang
digunakan mirip dengan bahasa natural. Contoh :
SELECT t_mahasiswa.nama_depan, t_mahasiswa.alamat
FROM t_mahasiswa WHERE t_mahasiswa.alamat=”Serpong”
14. Bahasa Pemrograman
Software (lanj.)
5. Bahasa generasi kelima
Bahasa pemrograman generasi kelima adalah bahasa pemrograman
generasi kelima atau intelligent language. Bahasa ini mirip seperti
perbincangan manusia tetapi belum banyak digunakan secara luas.
Contoh INTELECT.
6. Bahasa berorientasi obyek/Object Oriented
Programming(OOP).
Bahasa ini menyatukan data dan prosedur dalam sebuah obyek. Jadi sebuah
obyek terdiri dari data dan tindakan yang dapat dilakukan atas data
tersebut. Bahasa ini lebih mudah dan efisien untuk memprogram graphicoriented user interface yang dibutuhkan oleh banyak aplikasi. Contoh :
Visual Basic, Java, Visual C++.
7. Bahasa web
Yaitu bahasa yang digunakan untuk membangun halaman web. Contoh
HTML, Java, ASP, PHP.