KONSEP DASAR PERANGKAT LUNAK Perangkat Lunak Perangkat keras

  • Slides: 56
Download presentation
KONSEP DASAR PERANGKAT LUNAK

KONSEP DASAR PERANGKAT LUNAK

Perangkat Lunak Perangkat keras (hardware) komputer hanya akan dapat bekerja jika kepadanya diberikan instruksi

Perangkat Lunak Perangkat keras (hardware) komputer hanya akan dapat bekerja jika kepadanya diberikan instruksi tertentu. Instruksi 2 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

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,

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

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

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 Application Software Language Software Operating System Hardware [Aras Rendah] [Aras Menengah]

Skema Hubungan USER Application Software Language Software Operating System Hardware [Aras Rendah] [Aras Menengah] [Aras Tinggi]

Kategori Perangkat Lunak n n n PL Sistem Operasi (Operating System) PL Bhs Pemrog.

Kategori Perangkat Lunak n n n PL Sistem Operasi (Operating System) PL Bhs Pemrog. (Language Software) PL Aplikasi (Application Software)

Sistem Operasi n Perangkat Lunak Sistem Operasi (Operating System) yaitu program yang ditulis untuk

Sistem Operasi n Perangkat Lunak Sistem Operasi (Operating System) yaitu program yang ditulis untuk mengendalikan dan mengkoordinasikan kegiatan dari sistem perangkat keras komputer

Sistem Operasi n Sistem operasi merupakan perangkat lunak yang berfungsi sebagai penghubung antara perangkat

Sistem Operasi n 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 n n Mengatur semua operasi dari perangkat keras komputer. Pemakai komputer tidak

Sistem Operasi n n 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 n n n n 1954 Sistem Operasi yang pertama kali 1960

Perkembangan Sistem Operasi n n n n 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 n n Control Program – – Memory Management Processor Management Device

Tugas Sistem Operasi n n Control Program – – Memory Management Processor Management Device Management (I/O) Information Management – – Text Editor Linkage Editor Debugger Command Operating System Service

Memory Management Single Contiguous Allocation n Partitioned Allocation n Relocatable Partitioned Allocation n Paged

Memory Management Single Contiguous Allocation n Partitioned Allocation n Relocatable Partitioned Allocation n Paged Allocation n Demand Paged Allocation n Segmented Allocation n

Single Contiguous Allocation Main Memory OS program dan data tidak terpakai

Single Contiguous Allocation Main Memory OS program dan data tidak terpakai

Partitioned Allocation Main Memory OS foreground partition background partition

Partitioned Allocation Main Memory OS foreground partition background partition

Main Memory OS 20 kb job 1 30 kb job 2 10 kb 5

Main Memory OS 20 kb job 1 30 kb job 2 10 kb 5 kb job 3 belum digunakan Main Memory OS belum digunakan 20 kb 30 kb 15 kb job 2 belum digunakan

Relocatable Partitioned Allocation Main Memory OS 20 kb job 1 30 kb job 2

Relocatable Partitioned Allocation Main Memory OS 20 kb job 1 30 kb job 2 10 kb 5 kb job 3 sudah selesai OS 30 kb job 2 dapat digunakan untuk pekerjaan 4 35 kb belum digunakan sebelum relocation sesudah relocation

Paged Allocation Main Memory 0 1023 1024 2047 2048 3071 3072 blok 0 Alamat

Paged Allocation Main Memory 0 1023 1024 2047 2048 3071 3072 blok 0 Alamat program Alamat memori blok 1 0 - 1023 1024 - 2047 blok 2 1024 - 2047 4096 - 5199 2042 - 3071 5120 - 6143 3072 - 4095 8192 - 9215 blok 3 4095 4096 . . . 64511 64512 blok 63 page map table

( Kondisi Awal ) Main Memory 0 1023 1024 2047 2048 3071 3072 4095

( Kondisi Awal ) Main Memory 0 1023 1024 2047 2048 3071 3072 4095 4096 5119 5120 blok 0 OS blok 1 blok 2 job 1 blok 3 job 1 blok 4 blok 5 6143 6144 blok 6 job 1 blok 7 job 1 7167 7168 8191 8192 blok 8 9215 9216 blok 9

( Kondisi Setelah Job 2 masuk ) Main Memory 0 page map table untuk

( Kondisi Setelah Job 2 masuk ) Main Memory 0 page map table untuk Job 2 Alamat program Alamat memori blok 0 - 1023 1024 - 2047 1 1024 - 2047 4096 - 5199 4 2048 - 3071 5120 - 6143 5 3072 - 4095 8192 - 9215 8 1023 1024 2047 2048 3071 3072 4095 4096 5119 5120 blok 0 OS blok 1 job 2 halaman 0 blok 2 job 1 blok 3 job 1 blok 4 job 2 halaman 1 blok 5 job 2 halaman 2 blok 6 job 1 blok 7 job 1 blok 8 job 2 halaman 3 6144 7167 7168 Job 2 8191 8192 9215 9216 blok 9

Demand Paged Allocation Main Memory 0 1023 1024 2047 2048 3071 3072 4095 4096

Demand Paged Allocation Main Memory 0 1023 1024 2047 2048 3071 3072 4095 4096 5119 5120 hal 1 hal 2 hal 3 hal 4 1023 1024 hal status pertimbangan memory blok 0 Y 15 kali 1 1 Y 2 kali 2 3071 3072 2 Y Jarang 3 4095 3 4 hal 5 6143 0 hal 0 5 page table 2047 2048 blok 0 OS blok 1 halaman 0 blok 2 halaman 1 blok 3 halaman 2

Main Memory 0 1023 1024 2047 2048 3071 3072 4095 4096 5119 5120 hal

Main Memory 0 1023 1024 2047 2048 3071 3072 4095 4096 5119 5120 hal 1 hal 2 hal 3 hal 4 1023 1024 hal status pertimbangan memory blok 0 Y 15 kali 1 2 Y Jarang 3 3 Y 8 kali 2 1 4 hal 5 6143 0 hal 0 5 page table 2047 2048 3071 3072 4095 blok 0 OS blok 1 halaman 0 blok 2 halaman 3 blok 3 halaman 2

Segmented Allocation program di disk Main Memory program utama OS program overlay 1 Main

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 n Melakukan Tugas Penjadwalan Sistem – Overlapped Processing – Multiprogramming – Multiprocessing

Processor Management n Melakukan Tugas Penjadwalan Sistem – Overlapped Processing – Multiprogramming – Multiprocessing n 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

Overlapped Processing Supaya waktu kerja CPU lebih efisien, beberapa pekerjaan perlu dijadwal untuk dikerjakan sekaligus. n Penjadwalan ini dinamakan Overlapped n Processing

job 1 input proses job 2 output input proses job 3 output input waktu

job 1 input proses job 2 output input proses job 3 output input waktu proses output

job 1 input proses output job 2 input proses output job 3 proses input

job 1 input proses output job 2 input proses output job 3 proses input waktu output

Multiprogramming n Multiprogramming berarti meletakkan lebih dari sebuah program dalam main memori. Tiap partisi

Multiprogramming n Multiprogramming berarti meletakkan lebih dari sebuah program dalam main memori. Tiap partisi dari memori akan menyimpan sebuah program

Multiprocessing berarti menggunakan lebih dari satu prosesor atau CPU. n Dengan multiprocessing, instruksi dari

Multiprocessing berarti menggunakan lebih dari satu prosesor atau CPU. n Dengan multiprocessing, instruksi dari beberapa program berbeda dapat diproses secara bersamaan pada waktu yang sama. n

Device Management n n Adalah penanganan yang dilakukan sistem operasi terhadap pemakaian peralatan I/O

Device Management n n Adalah penanganan yang dilakukan sistem operasi terhadap pemakaian peralatan I/O agar dapat digunakan bagi program 2 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

• 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 dengan spooling alat I/O

Information Management Sistem operasi juga menangani informasi yang dalam hal ini dibagi menjadi 2

Information Management Sistem operasi juga menangani informasi yang dalam hal ini dibagi menjadi 2 yaitu : Program dan Data n Program atau data yang disimpan harus dicatat : nama file, tipe, posisi track / sector, besar file, tanggal rekam, jam rekam, dll. n

Text Editor n Merupakan suatu program yang disediakan untuk menuliskan suatu teks atau suatu

Text Editor n Merupakan suatu program yang disediakan untuk menuliskan suatu teks atau suatu program aplikasi yang direkam ke dalam suatu file dalam disk.

Linkage Editor n n Lingkage editor, atau linker merupakan suatu program yang digunakan untuk

Linkage Editor n n 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 n Debugger merupakan sebuah program yang disediakan oleh sistem operasi untuk melacak dan

Debugger n Debugger merupakan sebuah program yang disediakan oleh sistem operasi untuk melacak dan membetulkan kesalahan program yang sudah berbentuk bahasa mesin

Command n Merupakan fasilitas yang disediakan sistem operasi untuk menjalankan fasilitas 2 lain dengan

Command n Merupakan fasilitas yang disediakan sistem operasi untuk menjalankan fasilitas 2 lain dengan suatu perintah langsung (command)

Bahasa Pemrograman (Language Software) n Perangkat lunak Bahasa (Language Software) yaitu program yang digunakan

Bahasa Pemrograman (Language Software) n 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

n n Instruksi-instruksi yang ditulis oleh pembuat program dilakukan dengan menggunakan bahasa pemrograman. Bahasa

n n 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 n n n 1957 1958 1959 1960 1961 1962

Perkembangan Bahasa Bemrograman tingkat tinggi n n n 1957 1958 1959 1960 1961 1962 1964 1966 1968 FOTRAN LISP ALGOL COBOL LOGO GPSS RPG APL BASIC PL/1 Konsep pemrograman terstruktur pertama

n n n 1968 1969 1970 1971 1972 1974 1975 1977 1979 PILOT FORTH

n n n 1968 1969 1970 1971 1972 1974 1975 1977 1979 PILOT FORTH PASCAL SHRDLU SAM 76 PROLOG Smalltalk C COMAL BASIC pada komputer Mikro yang pertama Modula – 2 Ada

n Bahasa Pemrograman dapat dikategorikan menjadi : Assembler n Compiler n Interpreter n

n Bahasa Pemrograman dapat dikategorikan menjadi : Assembler n Compiler n Interpreter n

Assembler n n n Merupakan program yang digunakan untuk menterjemahkan program yang ditulis dengan

Assembler n n n 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 101 102 103 104 105 106 LOAD X, A ADD

Contoh Mnemonic Address 100 101 102 103 104 105 106 LOAD X, A ADD 1, A JUMP 105 ADD A, B SUB C, B STORE A, Z

Contoh Object dan Bahasa Mesin

Contoh Object dan Bahasa Mesin

Compiler dan Interpreter n n n Untuk mengatasi sulitnya bahasa rakitan (assembly) diciptakanlah suatu

Compiler dan Interpreter n n n 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++ n n n n #pragma argsused #include <iostream. h> #include

Contoh Source Program C++ n n n n #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 n n n n n #include <iostream. h> #include <conio.

Contoh Efektif untuk Interpreter n n n n n #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; } else { cout << " Anda memasuki blok KEDUA "; cout << " Pada bagian ini nilai B > A "; cout << endl; } cout << " Terimakasih " ; getch(); }

Contoh Efektif untuk Interpreter n n n n n class programutama { public static

Contoh Efektif untuk Interpreter n n n n n 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 n n n #include <iostream. h> #include <conio. h> void

Contoh Efektif untuk Compiler n n n #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

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

Perkembangan perangkat lunak paket aplikasi § § § § 1976 Electric Pencil 1979 Wordstar 1979 Apple Writer 1979 Visicalc 1981 d. Base – II 1982 Lotus 1 -2 -3 Sekarang ? ? program aplikasi berbasis multimedia