PENDAHULUAN PEMROGRAMAN SISTEM Jurusan Sistem Komputer-S1 Universitas Gunadarma
Pendahuluan Jenis umum Software : Software Application : Software System Software Application : - ditujukan sebagai solusi memecahkan masalah dengan menggunakan komputer sebagai alat bantu program user termasuk ke dalam software application - Software System - ditujukan untuk mendukung operasi dan penggunaan komputer itu sendiri berkaitan dengan struktur mesin yang sedang digunakan program system termasuk ke dalam software system -
Ketergantungan mesin (machine dependency) dari sistem software Program sistem ditujukan untuk mendukung operasi dan penggunaan komputer. Arsitektur mesin berbeda dalam: Kode mesin Format instruksi Mode pengalamatan Register Kemandirian mesin (machine independency) dari sistem software Desain umum dan logika pada dasarnya sama: Code optimization Subprogram linking
Software System vs. Arsitektur Mesin Karakteristik yang membedakan software system dengan software application adalah Ketergantungannya pada Mesin (Machine dependency). Program sistem ditujukan untuk mendukung operasi dan penggunaan komputer itu sendiri, bukan dari aplikasi tertentu Contoh : Text editor, assembler, compiler, loader or linker, debugger, macro processors, operating system, database management systems, software engineering tools, …
Software System dan Arsitektur Mesin Text Editor Untuk membuat dan memodifikasi program Kompilator dan assembler Untuk menerjemahkan program ini ke dalam bahasa mesin Loader atau linker Program mesin yang dihasilkan dimasukkan ke dalam memori dan siap untuk eksekusi Debugger Untuk membantu mendeteksi kesalahan dalam program
Ruang Lingkup Pemrograman Sistem
Software System dan Program System Sekumpulan program sistem yang menjalankan berbagai fungsi yang mendukung sistem komputer Program Sistem : Program yang membantu pengeksekusian secara effektif “general user’s” komputasi guna memenuhi kebutuhan sistem komputer. “General User’s” komputasi : spesial program yang digunakan oleh user seperti software application Eksekusi, meliputi input text program, berbagai tingkatan pemrosesan sistem komputer (penamaan, storage, translasi, relocation,linking, dsb)
Program System dan Pemrograman System Pemrograman Sistem : kegiatan merancang dan mengimplementasikan program sistem Apa perbedaan pemrograman sistem dengan aktivitas pemrograman lainnya ? Apa perbedaan program sistem dengan program lainnya (mis. scientific program, data processing program, application program) ?
Program System dan Pemrograman System Program Sistem membantu eksekusi “general user program” secara efektif pada sistem komputer Efektifitas,meliputi : efektifitas penggunaan sistem komputer (pengaruh konfigurasi sistem komputer : main storage, auxiliaries, dsb) efektifitas SDM dalam pengembangan program (pengaruh lingkungan komputasi : program development, data processing, real time application, dsb) Efektifitas(dan efisiensi) Optimalisasi Biaya
Karena tujuan utama sistem program adalah: Keseimbangan pembiayaan untuk komputer dan sumberdaya manusia tergantung dari situasi yang mempengaruhinya, yaitu : pengaruh faktor lingkungan yang ada pada system komputer seperti main storage, auxiliary devices, dsb, pengaruh komputasi seperti pengembangan program, data processing, real time application, dsb. Karena tujuan utama sistem program adalah: merancang dan mengkode program agar tugas yang dijalankannya tidak hanya berjalan dengan benar tetapi juga efektif, efisiensi algoritma dan keserasian struktur data menjadi hal yang penting.
Beda Efektif dan Efisien Efektif adalah tingkatan sejauh mana tujuan tercapai dan sejauh mana sasaran masalah dapat diselesaikan tanpa mengacu pada biaya Efisien adalah kemampuan untuk bekerja dengan baik dan menghasilkan hasil yang baik dengan menggunakan waktu, uang dan hal yang lainnya dengan cara yang paling efektif JADI Efektif “doing the right thing” Efisien “doing the thing right”
contoh Bahasa FORTRAN untuk komputasi Scientific. Optimalisasi CPU yang digunakan maka: Proses kompilasi cepat. menjalankan program secara efisien. Jika Dalam menjalankan hanya satu dua kali dan waktu eksekusi tidak lama kompilasi cepat . ✔ Proses eksekusi berlangsung lama efisien ✔ Karenanya compiler dirancang tidak menekankan pada optimalisasi manusia dan sumberdaya komputer yang dicurahkan pada eksekusi pekerjaan. Sebagai contoh, compiler punya pekerjaan untuk mengindikasikan semua kesalahan yang ada pada suatu pekerjaan. Sebagai konsekuensinya, user akan menghabiskan sejumlah waktu untuk mencoba menemukan bugs dalam program. Mempertimbangkan berbagai kemungkinan dan butuh waktu dalam pengerjaan program dan penggunaan sumberdaya komputer secara baik
Komponen Sistem Software Jika X adalah seorang programmer, maka dengan pendekatan sistem komputer, dapat dijelaskan : - X membuat program dari sudut pandang bahasa pemrograman yang ia mengerti CPU hanya mengerti informasi yang spesifik sesuai dengan formatnya (bahasa mesin) Diperlukan bahasa perantara (languange tranlator) atau compiler yang dapat mengkonversi bahasa tingkat tinggi ke dalam set instruksi bahasa mesin yang dimengerti CPU Pekerjaan CPU dibantu sistem operasi diantaranya dalam hal penjadualan pekerjaan - - -
Evolusi Software Sistem Dua aspek dasar dalam kerja software sistem : ketersediaan fasilitas yang lebih baik Pencapaian kinerja yang efisien
Evolusi Sistem Software Language Translator Awalnya program dibuat dalam bahasa mesin Kebutuhan languange translator dari bahasa yang mudah dipahami programmer ke bentuk kode yang dimengerti oleh mesin translator untuk bahasa pemrograman tingkat rendah (assembly language) : assembler
Evolusi Software Sistem Batch Monitor Awalnya sistem komputer menjalankan program pada satu waktu mode operasi (one program at a time operating mode), dengan campur tangan operator untuk men-setup setiap kali memulai pekerjaan Batch monitor, merealisasikan proses dari sekumpulan pekerjaan Kelemahan batch monitor : turn along time yang cukup lama
Evolusi Software Sistem Multiprogramming Operating System pada arsitektur komputer klasik, instruksi IO dieksekusi bersamaan dengan instruksi lain (aritmetika,logical,dll) oleh CPU Penggunaan CPU dan IO channel secara bersamaan membutuhkan data independence yang akan dipanggil ke memori Ketika IO menjalankan sebuah program, CPU menjalankan komputasi untuk program yang lain : Multiprogramming
Evolusi Software Sistem Time Sharing Operating System Kebutuhan turn arround time yang singkat dipenuhi melalui interactive computing Dengan interactive computing, komputer segera merespon input dari user dengan respon time yang singkat, karena setiap program memiliki fixed time di CPU. Contoh : penjadualan Round Robin
Model Sistem Komputer Model Sistem Komputer : Mesin Model Mesin yang menggambarkan ciri Hardware Model Sistem Operasi menggambarkan ciri arsitektur sistem operasi yang digunakan Mesin Komponen Utama : Storage Unit CPU IO subsystem
Model Sistem Komputer
Model Sistem Komputer 2. Operating System Supervisor & resident software Transient software Operating System residence Batch processing jobs Remote entry jobs Tele-processing Time sharing terminal Gambar I.2. Lingkungan Job processing pada sistem operasi
Model Sistem Komputer Komponen Sistem Software Operating System Software -Storage Manager -Proccess Manager -File System Manager -Input-Ouput Manager -Communication Manager -Operator Console Standard System Software -Languange Processor ( Assembler, Compiler, Interpreter) -Loader (Lingking Loader, Absolute Loader) -Software Tools (Debugging Aids, Text Editor, Utilities) Application Software -Sort/Merge Package -Payroll/Accounting Package -Database Management System