KONSEP DASAR PERANGKAT LUNAK
Perangkat Lunak Perangkat keras (hardware) komputer hanya akan dapat bekerja jika kepadanya diberikan instruksi tertentu. Instruksi2 ini dinamakan Perangkat Lunak (software) Tanpa Perangkat Lunak, sebuah perangkat komputer hanya akan menjadi sebuah benda mati.
3 Kategori Perangkat Lunak Sistem Operasi (Operating System) Bahasa Pemrograman (Language Software). Program Aplikasi (Application Software)
Perangkat Lunak Sistem Operasi (Operating System) Tanpa mengetahui dengan persis cara kerja perangkat keras, akan sulit untuk membuat perangkat lunak yang langsung berhubungan dengan perangkat keras. Perangkat keras yang dibuat oleh pabrik yang berbeda akan memiliki karakteristik dan cara kerja yang berbeda pula. Untuk mengatasi hal inilah maka diciptakan suatu perangkat lunak yang disebut Sistem Operasi (Operating System)
Perangkat Lunak Bahasa Pemrograman (Language Software). Instruksi-instruksi yang ditulis oleh pembuat program dilakukan dengan menggunakan Perangkat Lunak Bahasa Pemrograman (Language Software). Bahasa pemrograman menterjemahkan instruksi-instruksi yang dimengerti manusia ke dalam bahasa mesin (dalam bentuk binary) yang dimengerti oleh komputer.
Perangkat Lunak Aplikasi (Application Software) Tujuan dari sistem pengolahan data adalah untuk menyelesaikan suatu masalah tertentu, yaitu dengan cara mengolah data yang ada dengan menggunakan suatu program yang ditulis dengan bahasa pemrograman Program yang ditulis oleh programmer dengan bahasa pemrograman untuk memecahkan suatu masalah disebut Perangkat Lunak Aplikasi (Application Software)
Skema Hubungan USER Hardware Application Software Language Software Operating System Hardware [Aras Rendah] [Aras Menengah] [Aras Tinggi]
Kategori Perangkat Lunak PL Sistem Operasi (Operating System) PL Bhs Pemrog. (Language Software) PL Aplikasi (Application Software)
Sistem Operasi Perangkat Lunak Sistem Operasi (Operating System) yaitu program yang ditulis untuk mengendalikan dan mengkoordinasikan kegiatan dari sistem perangkat keras komputer
Sistem Operasi Sistem operasi merupakan perangkat lunak yang berfungsi sebagai penghubung antara perangkat keras dengan perangkat lunak aras tinggi (perangkat lunak yang ditulis oleh pemakai komputer).
Sistem Operasi Mengatur semua operasi dari perangkat keras komputer. Pemakai komputer tidak perlu berhubungan langsung dengan pengoperasian perangkat keras. Misalnya : programmer hanya perlu menuliskan perintah cout untuk c++ atau system.out.print() untuk java, untuk menampilkan sesuatu di layar tanpa harus memikirkan bagaimana cara perangkat keras melaksanakannya.
Perkembangan Sistem Operasi 1954 Sistem Operasi yang pertama kali 1960 Sistem Operasi untuk komputer mini yang pertama kali 1969 UNIX 1970 CP/M 1980 MS-DOS 1985 Microsoft Windows yang pertama 1987 IBM Operating System/2 1988 Windows / 386 1990 Windows 3.0 1993 Mosaic, Browser Internet Pertama di sistem windows 1995 Windows 95 1997 Windows 98 Sekarang windows XP, Vista, Linux (fedora,mandriva,dll)
Tugas Sistem Operasi Control Program Operating System Service Memory Management Processor Management Device Management (I/O) Information Management Operating System Service Text Editor Linkage Editor Debugger Command
Memory Management Single Contiguous Allocation Partitioned Allocation Relocatable Partitioned Allocation Paged Allocation Demand Paged Allocation Segmented Allocation
Single Contiguous Allocation Main Memory OS program dan data tidak terpakai
Partitioned Allocation Main Memory OS foreground partition background partition
Main Memory OS 20 kb 30 kb 10 kb 5 kb Main Memory OS 20 kb 30 kb 15 kb job 1 30 kb job 2 10 kb job 3 5 kb belum digunakan Main Memory OS 20 kb belum digunakan 30 kb job 2 15 kb belum digunakan
Relocatable Partitioned Allocation Main Memory Main Memory OS OS 20 kb job 1 sudah selesai 30 kb job 2 30 kb job 2 dapat digunakan untuk pekerjaan 4 35 kb 10 kb job 3 sudah selesai 5 kb belum digunakan sebelum relocation sesudah relocation
Paged Allocation Alamat program Alamat memori Main Memory 0 - 1023 blok 0 blok 1 blok 2 blok 3 blok 63 ... 1023 1024 2047 2048 3071 3072 4095 4096 64511 64512 Alamat program Alamat memori 0 - 1023 1024 - 2047 4096 - 5199 2042 - 3071 5120 - 6143 3072 - 4095 8192 - 9215 page map table
( Kondisi Awal ) Main Memory OS blok 0 blok 1 blok 2 blok 3 blok 9 1023 1024 2047 2048 3071 3072 4095 4096 blok 4 blok 5 blok 6 blok 7 blok 8 5120 6143 6144 7167 7168 8191 8192 9215 9216 5119 OS job 1 job 1 job 1 job 1
( Kondisi Setelah Job 2 masuk ) Main Memory blok 0 blok 1 blok 2 blok 3 blok 9 1023 1024 2047 2048 3071 3072 4095 4096 blok 4 blok 5 blok 6 blok 7 blok 8 5120 6143 6144 7167 7168 8191 8192 9215 9216 5119 OS page map table untuk Job 2 Alamat program Alamat memori blok 0 - 1023 1024 - 2047 1 4096 - 5199 4 2048 - 3071 5120 - 6143 5 3072 - 4095 8192 - 9215 8 job 2 halaman 0 job 1 job 1 job 2 halaman 1 job 2 halaman 2 job 1 job 1 Job 2 job 2 halaman 3
Demand Paged Allocation Main Memory hal 0 blok 0 OS 1023 1023 1024 hal 1 1024 blok 1 halaman 0 hal status pertimbangan memory blok Y 15 kali 1 2 kali 2 Jarang 3 4 5 2047 2047 2048 hal 2 2048 blok 2 halaman 1 3071 3071 3072 hal 3 3072 blok 3 halaman 2 4095 4095 4096 hal 4 5119 5120 hal 5 6143 page table
Main Memory OS hal 0 blok 0 hal 1 blok 1 halaman 0 hal 2 blok 2 hal 0 blok 0 OS 1023 1023 1024 hal 1 1024 blok 1 halaman 0 hal status pertimbangan memory blok Y 15 kali 1 2 Jarang 3 8 kali 4 5 2047 2047 2048 hal 2 2048 blok 2 halaman 3 3071 3071 3072 hal 3 3072 blok 3 halaman 2 4095 4095 4096 hal 4 5119 5120 hal 5 6143 page table
Segmented Allocation program di disk Main Memory program utama OS program overlay 1 Main program area program overlay 2 program overlay area program overlay 3
Processor Management Melakukan Tugas Penjadwalan Sistem Overlapped Processing Multiprogramming Multiprocessing Menangani Interupsi Sistem, yaitu program dg prioritas lebih tinggi diijinkan menginterupsi untuk menggunakan CPU
Overlapped Processing Supaya waktu kerja CPU lebih efisien, beberapa pekerjaan perlu dijadwal untuk dikerjakan sekaligus. Penjadwalan ini dinamakan Overlapped Processing
job 1 job 2 job 3 input output input output input output waktu proses
job 1 input output job 2 input output job 3 input output waktu proses
Multiprogramming Multiprogramming berarti meletakkan lebih dari sebuah program dalam main memori. Tiap partisi dari memori akan menyimpan sebuah program
Multiprocessing Multiprocessing berarti menggunakan lebih dari satu prosesor atau CPU. Dengan multiprocessing, instruksi-instruksi dari beberapa program berbeda dapat diproses secara bersamaan pada waktu yang sama.
Device Management Adalah penanganan yang dilakukan sistem operasi terhadap pemakaian peralatan I/O agar dapat digunakan bagi program2 yang membutuhkan penggunaan peralatan I/O Masalah yang terjadi adalah karena kecepatan I/O tidak secepat CPU, sehingga supaya CPU tidak menganggur, data dari I/O disimpan sementara di main memori.
Spooling (simultaneous peripheral operation on-line) merupakan proses yang meletakkan semua data yang akan ditampilkan di alat output ke disk magnetik atau tape magnetik terlebih dahulu, sehingga masih tersisa tempat luang yang cukup di main memori. main memory alat I/O tanpa spooling main memory Disk atau tape alat I/O dengan spooling
Information Management Sistem operasi juga menangani informasi yang dalam hal ini dibagi menjadi 2 yaitu : Program dan Data Program atau data yang disimpan harus dicatat : nama file, tipe, posisi track / sector, besar file, tanggal rekam, jam rekam, dll.
Text Editor Merupakan suatu program yang disediakan untuk menuliskan suatu teks atau suatu program aplikasi yang direkam ke dalam suatu file dalam disk.
Linkage Editor Lingkage editor, atau linker merupakan suatu program yang digunakan untuk mengkonversikan object program yang sudah diterjemahkan ke dalam bahasa mesin ke dalam bentuk program yang siap untuk dijalankan (executable program) Linker juga dapat digunakan untuk menggabungkan beberapa object program yang dicompile secara terpisah, menjadi sebuah executable program.
Debugger Debugger merupakan sebuah program yang disediakan oleh sistem operasi untuk melacak dan membetulkan kesalahan program yang sudah berbentuk bahasa mesin
Command Merupakan fasilitas yang disediakan sistem operasi untuk menjalankan fasilitas2 lain dengan suatu perintah langsung (command)
Bahasa Pemrograman (Language Software) Perangkat lunak Bahasa (Language Software) yaitu program yang digunakan untuk menterjemahkan instruksi-instruksi yang ditulis dalam bahasa pemrograman ke dalam bahasa mesin supaya dapat dimengerti oleh komputer
Instruksi-instruksi yang ditulis oleh pembuat program dilakukan dengan menggunakan bahasa pemrograman. Bahasa pemrograman menterjemahkan instruksi-instruksi yang dimengerti manusia ke dalam bahasa mesin (dalam bentuk binary) yang dimengerti oleh komputer.
Perkembangan Bahasa Bemrograman tingkat tinggi 1957 FOTRAN 1958 LISP 1958 ALGOL 1959 COBOL 1960 LOGO 1961 GPSS 1961 RPG 1962 APL 1964 BASIC 1966 PL/1 1968 Konsep pemrograman terstruktur pertama
1968 PILOT 1969 FORTH 1970 PASCAL 1971 SHRDLU 1971 SAM76 1972 PROLOG 1972 Smalltalk 1974 C 1974 COMAL 1975 BASIC pada komputer Mikro yang pertama 1977 Modula – 2 1979 Ada
Bahasa Pemrograman dapat dikategorikan menjadi : Assembler Compiler Interpreter
Assembler Merupakan program yang digunakan untuk menterjemahkan program yang ditulis dengan bahasa perakit (assembly language) atau bahasa pemrograman simbolik Dengan bahasa simbolik, setiap perintah dituliskan dalam simbol-simbol tertentu yang disebut mnemonic Mnemonic diterjemahkan oleh assembler menjadi object program
Contoh Mnemonic Address 100 LOAD X,A 101 ADD 1,A 102 JUMP 105 103 ADD A,B 104 SUB C,B 105 STORE A,Z 106 STORE A,Z
Contoh Object dan Bahasa Mesin
Compiler dan Interpreter Untuk mengatasi sulitnya bahasa rakitan (assembly) diciptakanlah suatu bahasa pemrograman tingkat tinggi (mendekati bahasa manusia) misal : pascal, C, C++, dll Supaya source program yang telah ditulis dalam bahasa tingkat tinggi tersebut dapat dilaksanakan oleh komputer, perlu diterjemahkan dahulu ke dalam bahasa mesin dengan menggunakan compiler dan interpreter Compiler menterjemahkan source program sekaligus secara keseluruhan, sedangkan interpreter menterjemahkan satu-persatu.
Contoh Source Program C++ #pragma argsused #include <iostream.h> #include <conio.h> void main() { char nama[20]; char Nama[20]; cout << " Masukkan nama anda : "; cin >> nama; cout << " Masukkan nama lain : "; cin >> Nama; cout << " Nama anda yang pertama : " << nama << '\n'; cout << " Usia anda yang lain : " << Nama ; getch(); }
Contoh Efektif untuk Interpreter #include <iostream.h> #include <conio.h> void main() { int A=5; int B=7; if (A>B) { cout << " Anda memasuki blok PERTAMA "; cout << " Pada bagian ini nilai A > B "; cout << endl << endl; } else { cout << " Anda memasuki blok KEDUA "; cout << " Pada bagian ini nilai B > A "; cout << " Terimakasih " ; getch();
Contoh Efektif untuk Interpreter class programutama { public static void main(String [] args) { int A=5; int B=7; if (A>B) { System.out.println ( " Anda memasuki blok PERTAMA "); System.out.println ( " Pada bagian ini nilai A > B "; System.out.println ()l; } else { System.out.println ( " Anda memasuki blok KEDUA "; System.out.println ( " Pada bagian ini nilai B > A "; System.out.println (); System.out.println ( " Terimakasih “) ;
Contoh Efektif untuk Compiler #include <iostream.h> #include <conio.h> void main() { int A; for (A=1; A<=1000; A++) cout << A << endl; } cout << " Terimakasih " ; getch();
PL Aplikasi (Application Software) Perangkat Lunak Aplikasi (Application Software) yaitu program yang ditulis dan diterjemahkan oleh language software untuk menyelesaikan suatu aplikasi tertentu. Tujuan dari sistem pengolahan data adalah untuk menyelesaikan suatu masalah tertentu, yaitu dengan cara mengolah data yang ada dengan menggunakan suatu program yang ditulis dengan bahasa pemrograman Program yang ditulis oleh programmer dengan bahasa pemrograman untuk memecahkan suatu masalah disebut Perangkat Lunak Aplikasi
Perkembangan perangkat lunak paket aplikasi 1976 Electric Pencil 1979 Wordstar 1979 Apple Writer 1979 Visicalc 1981 dBase – II 1982 Lotus 1-2-3 Sekarang ?? program aplikasi berbasis multimedia