SOFTWARE KOMPUTER Perangkat lunak ( software) adalah suatu perangkat yg berisi serangkaian instruksi, program, prosedure, pengendali, pendukung dan aktifitas-aktifitas pengolahan perintah pada sistem komputer. Secara singkat software adalah program yang berfungsi : 1.Melakukan aktifitas bersama-sama dengan Hardware 2.Menyediakan segala sumber daya yang dapat digunakan pada sebuah sistem komputer 3.Sebagai interface antara pengguna dan hardware untuk melakukan aktifitas dengan perintah yang harus dilakukan dalam software komputer. Secara garis besar dibagi menjadi 2 : 1.Software Sistem Operasi (Operating System) 2.Software Aplikasi (Aplication Software) SOFTWARE SYSTEM Software system adalah program untuk mengelola dan mendukung operasi sistem komputer dan jaringan. Terdiri atas sistem untuk manajemen sistem ( system manajemen program ) dan program untuk pengembangan system (System development program) Program utk manajemen system adalah : Sistem Operasi, Program pengelola jaringan, DBMS, Sistem Utility, Monitoring unjuk kerja sistem, Monitoring kamanan Sistem Pengembangan adalah : Compiler, pemrograman editor dan tools, paket CASE( Computer Aided Software Enginering) SOTFWARE APLIKASI • Software aplikasi mengolah informasi utk user. Dibagi dalam a. Aplikasi umum ( General Purpose Aplication Program) contoh : Software suites, Web Browser, Electronik mail, Pengolah kata, Lembar kerja, Database managers, Presentasi grafis, Personal information manager, Groupware. b. Aplikasi khusus (Application Special Program) contoh : Bisnis, Akuntansi, Pengolah transaksi, Perencana sumber daya perusahaan, perdagangan ektronik. Ilmu pengetahuan dan teknik. Pendidikan, Intertainment dll. Menurut James A. O’Brien kedepan perkembangan software : Tren Software sistem ke depan semakin mudah digunakan, multi tujuan, web-aplikasi, terkemas. ( dari generasi 1 s/d 5). Tren bahasa pemrograman lebih interaktif atau visual dan lebih lengkap. Tugas Sistim Operasi diantaranya : 1. Menyediakan antar muka user ( user interface) berupa : a. Melakukan perintah (command-based user interface) dalam bentuk teks. b. Mengarahkan menu (menu driven) c. Antar muka unit grafik (Grafical User Interface- GUI) d. Kombinasi icon dan menu untuk menerima dan melaksanakan perintah. 2. Menyediakan informasi yg berkaitan dgn hardware berupa perangkat yg aktif atau pasif dan mengendalikan perangkat I/O (Input/Output device). 3. Melakukan tugas pengolahan dan pengendalian sumber daya dalam sebuah proses sbb : multitasking (aplikasi sama atau beda), multiprocessing, timesharing, Multithreading(aplikasi tunggal), scalability dan network ( mengendalikan dan meningkatakan kewaspadaan, keamanan jml user dan emperluas pelayanan. 4. Pengolahan file dan direktori data , memastikan file-file dalam penyimpan sekunder tersedia bila diperlukan, mengamankan dari user yang tidak berhak mengakses. Layanan sistim operasi ; 1. Eksekusi program : kemampuan sistem untuk memuat program ke memori dan menjalankan program. 2. Operasi I/O : harus menyediakan mekanisme untuk melakukan operasi I/O atas nama user. 3. Manipulasi sistim file : kemampuan program untuk melakukan operasi pada berkas (read, write, create dsb). 4. Komunikasi : pertukaran data atau informasi antara dua atau lebih proses yg berada pada satu komputer atau lebih. 5. Deteksi kesalahan (Error Detection) : menjaga kestabilan sistem dengan mendeteksi error hardware maupun operasi. Dalam pemakaian bersama sharing sumber daya dan proteksi Struktur komponen Sistem Operasi. Menurut Silberschatz, Galvin dan Gane (2003) umumnya sebuah sistim operasi modern mempunyai komponen : 1. Manajemen Proses yang bertanggung jawab : a. Pembuatan dan penghapusan proses sistim dan proses user b. Menunda atau melanjutkan proses c. Menyediakan mekanisme utk proses sinkronisasi, proses komunikasi dan penanganan deadlock . 2. Manajemen memori Utama yang bertanggung jawab : a. Menjaga track dari memori yg sedang digunakan b. Memilih program yg akan di load ke memori c. Meng-alokasi/dealokasi ruang memori sesuai kebutuhan 3. Manajemen Secondary-storage bertanggung jawab atas aktifitas yg berkaitan dengan disk manajemen seperti free space manajemen , alokasi penyimpanan dan penjadwalan disk. 4. 5. Manajemen Sistim I/O (device manager) : menyediakan drive yg dibutuhkan sehingga operasi I/O dapat seragam (open, close, read, write ). Komponen sistim I/O : a. Buffer menampung sementara data dari/ke perangkat I/O. b. Spooling melakukan penjadwalan pemakaian I/O sistem supaya lebih effisien. c. Menyediakan driver untuk melakukan operasi rinci untuk hardware I/O tertentu. Manajemen Berkas sistim operasi bertanggung jawab : a. Pembuatan dan penghapusan berkas b. Pembuatan dan penghapusan direktori c. Mendukung manipulasi berkas dan direktori d. Memetakan berkas ke secondary storage e. Mem-backup berkas ke media yg permanen (nonvolatile) 6. 7. 8. Sistim proteksi mengendalikan akses yg dilakukan oleh program, prosesor atau user ke sumber daya. Mekanisme proteksi harus : a. Dapat membedakan user yg outhorize atau belum. b. Menentukan pengendalian c. Menyediakan alat pengatur. Jaringan. Sistem terdistribusi sekumpulan prosesor yg tidak berbagi memori atau clock. Tiap prosesor punya memori sendiri. Prosesor terhubung melalui jaringan komunikasi sistem terdistribusi yg menyediakan akses user ke berbagai macam sumber daya sistem. Akses dapat meningkatkan : kecepatan komputer, ketersediaan data dan keandalan (enhance reliability ) System Command Interpreter. Sistem operasi menunggu instruksi dari user. Program membaca instruksi dan mengartikan control statement. (windows, Pen-based(touch) Konsep Instruksi Sistem Operasi • Penghubung antara Sistem Operasi dan program aplikasi dikenal sebagai extended instruction atau pemanggilan sistem. 1. System Call atau Application Programming Interface(API) Pelayanan langsung sistem operasi ke pemrogram suatu tata cara pemanggilan di program aplikasi utk memperoleh layanan sistem operasi yg berupa rutin sistem operasi utk keperluan spesifik . Bentuknya dapat prosedur atau fungsi (READ). 2. Proses Pengendali merupakan konsep utama dlm semua sistem operasi. Pada dasarnya sebuah program dieksekusi, program’s data dan stack, program counter, stack pointer dan register. Tabel proses adalah tabel yg berisi semua proses yg dijalankan.. Sebuah proses dipanggil oleh Shell yg membaca perintah dari terminal. Child proses membuat satu atau lebih proses lainnya. 3. Files . Sistem operasi mendukung konsep direktori. Hierarki proses dari file diorganisasikan sebagai tree. Setiap proses memiliki direktori kerja. 4. Shell. Sistem operasi adalah kode yg dilaksanakan oleh system calls. Dalam UNIX interpreter disebut shell. Dalam prompt UNIX karakter $ memberitahu user bahwa shell menunggu permintaan perintah. $date berarti shell membuat child process dan menjalankan data program sebagai child. Shell menunggu utk dihentikan. Ketika child selesai maka shell mengeluarkan prompt kembali dan mencoba membaca masukan perintah berikutnya. KLASIFIKASI SISTEM OPERASI 1. 2. 3. Berdasarkan skala arsitekturnya(Bit) : a. 8-Bit b. 16- Bit c. 32- Bit ( Windows NT, Windows 2000, Windows XP dsb d. 64- Bit (Windows XP 64-bit, Digital UNIX, open VMS. Berdasarkan End User Interface a. Command Driven : seluruh perintah pd sistem operasi diketikkan pd promt perintah atau script File (DOS, UNIX) b. Graphical User Interface (GUI) : user menggunakan mouse utk memilih objek yg mewakili suatu instruksi spesifik (Windows, IBM OS/2, MACOS). Berdasarkan pengguna : a. Single User Single Tasking (MS DOS) b. Single User Multi Tasking (Windows 95, IBM OS/2). c. Multi User Multi Tasking. Contoh sistem operasi : 1. Sistem Operasi UNIX 2. Sistem Operasi LINUX 3. Sistem Operasi Windows 4. Sistem Operasi DOS 5. Sistem Operasi yang lain berbasis jaringan : a. Novell Netware b. OS/2 c. Warp Server d. Mac OS X e. LANtastic f. Banyan Vines g. CPM SOFTWARE APLIKASI Adalah software program yg memiliki aktifitas pemroses perintah yg diperlukan utk melaksanakan permintaan pengguna dgn tujuan tertentu. Terdiri dari : 1. Bahasa Pemrograman ( Programming Language) 2. Program Aplikasi ( Aplication Program) 3. Program paket/paket aplikasi 4. Program Utility ( Utility Program) 5. Games dan Intertainment, dan lain-lain. User komputer dibagi dalam : 1. Analis sistem yg bertugas mendesain sistem yg layak utk diimplementasikan dalam sebuah komputer. 2. Programer mengimplementasikan sistem yg dirancang ke dlm bentuk pemrograman komputer. 3. Operator mengoperasikan komputer sesuai sistem yg telah dirancang. 4. Administrator Database mendefinisikan dan memanipulasi Database. 5. Administrasi jaringan. 1. Bahasa pemrograman : adalah software bahasa yg digunakan utk membuat program sesuai dengan strukture dan metode yg ada pd program itu sendiri. Ada 3 tingkatan yaitu a. Bahasa Tingkat rendah ( bahasa mesin) b. Bahasa Tingkat menengah (Assambler) c. Bahasa Tingkat tinggi : Delphi, Oracle, Basic,Pascal,Fortran, C, ADA, PHP, ASP, Java, XML, Visual Studio ( visual Basic, Visual Foxpro, Visual Object ) Bahasa lebih terstruktur mudah dimengerti dan menggunakan bahasa sehari-hari. Termasuk disini Visual Basic.NET, Delphi.NET yg dikembangkan pada arah basis internet. a. Bahasa mesin (machine language) Representasi tertulis kode mesin yaitu kode operasi mesin tertentu. Dibangun oleh sejumlah angka yg dpt di interprestasikan oleh CPU komputer. Biasanya ada program kecil yg disebut mikrocode yg merubah instruksi ke dalam sinyal hardware. Contoh angka 5 dalam register AL ditulis 1011000000000101, 8 bit pertama kode operasi yg menunjukkan instruksi pemindahan angka ke register AL. Bit berikutnya operand. Instruction set adalah sekumpulan instruksi mesin yg dpt dieksekusi CPU. Utk CPU intel disebut down-wordcompatable b. Bahasa Assembler. Bahasa komputer yg menggunakan kode mnemonik utk menggantikan kode biner agar mudah diingat sehingga memudahkan penulisan program. Alasan : a. Proses lebih cepat dari HLL. b. Sangat dekat pada mechine level shg memiliki akses langsung ke mesin. c. Kode asembler lebih kecil dari compiler lain dari beberapa bahasa. d. Memberi arah pd arsitektur komputer dan sistem operasi. e. Dapat “bermain” dengan processor flags Program dalam bahasa asambler terdiri dari label, kode mnemonik dan sebagainya disebut source code yg belum bisa diterima oleh Prosesor harus diterjemahkan menjadi bahasa mesin dalam bentuk kode biner. Struktur assambler Source program menganut satu baris untuk satu perintah yg terdiri dari beberapa bagian yaitu bagian label, bagian mnemonik dan bagian operand dan bagian komentar. Masing masing bagian dipisahkan dengan spasi. Bagian label ditulis mulai baris pertama dari baris bila tdk ada diganti spasi. Label mewakili nomor memori program dari instruksi pd baris tersebut. Disamping itu ada simbol yg mewakili suatu nilai tertentu cara penulisan sama dgn label. Mnemonik ( sesuatu yang mudah diingat ) merupakan singkatan perintah ada dua macam yaitu mnemonik utk pengendali prosesor ( ADD< MOV dll )_dan mnemonik pengatur kerja program (ORG< EQU, DB dll) disebut asambler directiive. MODEL PEMROGRAMAN 1. TAK BERSTRUKTUR Model pemrograman yg dimiliki oleh bahasa mesin. Bentuk dan Struktur sulit ditentukan algoritmanya. Biasanya berdasar pada pemikiran khusus pembuat program. Jarang digunakan. 2. TERSTRUKTUR Cara pemrosesan data yg terstruktur, jika suatu proses telah sampai pd point tertentru maka proses selanjutnya tdk boleh melompat ke baris sebelumnya kecuali proses berulang. Tujuan terstruktur : a. Meningkatkan kinerja program b. Program mudah dibaca dan ditelusuri c. Menyederhanakan kerumitan program. Ciri program terstruktur : 1. Memiliki algoritma yg baik 2. Struktur logika benar dan mudah dipahami. 3. Memiliki struktur dasar pengurutan, seleksi dan pengulangan. 4. Menghindari GOTO statement 5. Memiliki sistem dokumentasi program yg baik dan murah 6. Biaya pengujian dan perawatan murah. Pemrograman yg baik harus memiliki stndard dalam melakukan pemecahan masalah , standard penyusunan program dan standard perawatan. Model Pemrograman Berorientasi Objek (Object Oriented Programming/OOP ) meniru kehidupan nyata bahwa segala sesuatu disekitar kita adalah objek. Cara pandang objek segala sesuatu sebagai objek yang memiliki dua elemen yaitu data dan metode. Setiap Objek merupakan anggota(instance) dari kelas objek tertentu dan setiap kelas objek minimal memiliki : 1. Nama kelas yg unik 2. Atribut/data/properti yaitu sifat yg melekat pd kelas objek 3. Perilaku, kemampuan, operasi, method atau tanggung jawab yg melekat pada kelas objek tertentu Setiap bahasa berorientasi objek pasti mendukung 3 konsep dasar : 1. Pengkapsulan (encapsulation) yaitu penggabungan data dan metode ke dalam satu kesatuan yg disebut kelas. 2. Pewarisan (inheretance) yaitu penurunan dari sifat induk dan memungkinkan membentuk kelas baru yg memiliki data dan metode dari kelas lain tapi memiliki data dan metode sendiri. 3. Polimorfisme ( polymorphism) yaitu beberapa kelas yg diturunkan dari satu kelas mempunyai metode yg sama tapi implementasi berbeda. OOP dikembangkan sejak 1965 pada Simula67, 1950 LISP dengan girbage collector, th 1995 java menyederhanakan OOP. BASIS DATA (DATABASE) Adalah koleksi data yg saling berhubungan dan memiliki arti dan terorganisasi secara rapi. Data dpt diakses dengan urutan yg berbeda secara logis dengan cara yg relatif mudah. Database mempunyai 4 komponen yaitu : 1. Data yang secara fisik menyimpan informasi-informasi 2. Database Manajemen System (DBMS) Software pengelola database. 3. Data Discription Language ( DDL) 4. Data Manipulation Language ( DML ) bahasa database yg berfungsi untuk mendiskripsikan data ke database manajemen system (DBMS) dan memberi fasilitas utk perubahan, pemeliharaan dan pengelolaan database, program aplikasi yg memudahkan user utk menggunakan data dan mendapatkan informasi yg dibutuhkan.