08 Perangkat Lunak Sistem Refnal Rianto. Skom. Perangkat Lunak Sistem Perangkat Lunak system adalah program yang digunakan untuk mengontrol sumber daya computer. Baik yang bersifat internal (misalnya RAM) maupun external (Misalnya Printer). Utilitas Perangkat Lunak Aplikasi Umumnya kedudukan program ini sebagai perentara Antara program aplikasi dan perangkat keras computer. Itulah makanya peran program system tidak terlihat secara langsung Sistem Operasi Device Driver Perangkat Lunak Sistem Perangkat Lunak system dapat berupa system operasi, utilitas, device driver, dan penerjemah Bahasa. Sistem operasi adalah perangkat lunak dasar yang berfungsi sepenuhnya untuk mengendalikan system computer. Contohnya seperti windows, linux. Utilitas adalah program yang dipakai secara langsung oleh pemakai untuk melakukan kegiatan yang berhubungan dengan pengendalian atau pengalokasian sumber daya dalam system computer. Seperti ScanDisk pada windows dan Tar pada Unix dan linux. Device Driver adalah program yang berfungsi untuk membantu kumputer mengendalikan piranti-piranti peripheral. Sebagai contoh: jika anda menghubungkan pinter ke computer, biasanya anda perlu menginstal program bawaan printer agar computer bisa mengendalikan printer tersebut. Program seperti itulah yang disebut dengan device driver. Penerjemah Bahasa adalah program yang menerjemahkan program yang dibuat oleh pemograman menjadi bentuk yang dapat dijalankan oleh computer secara langsung. Sistem operasi (kadang disebut Sistem Operasi dengan software platform) adalah perangkat lunak dasar yang berfungsi sepenuhnya untuk mengendalikan computer. Find out more at the PowerPoint Getting Started Center 1. SISTEM OPERASI Sistem operasi mengandung sejumlah program. Beberapa program tergolong sebagai utilitas. Fungsi Sistem Operasi Sebagai berikut: • Manajement Proses Mencakup Penyiapan, penjadwalan, dan pemantauan proses pada computer. Proses adalah program yang sedang dijalankan. • Manajement Sumber Daya yang berkaitan dengan pengendalian terhadap pemakaian sumberdaya dalam system computer yang dilakukan oleh perangkat lunak system ataupun perangkat lunak aplikasi yang sedang dijalankan pada computer. Yang dimaksud sumberdaya disini adalah komponen perangkat keras di dalam computer seperti CPU. • Manajemen Data berupa pengendalian terhadap data masukan/keluaran, termasuk dalam hal pengalokasian dalam piranti penyimpanan sekunder maupun dalam memory utama. Macam Sistem Operasi Sistem Operasi sangat beragam dan biasanya berbeda Antara satu platform dengan platform yang lain, diantaranya adalah: Lingkungan Sistem Operasi PC Windows, Linux Mainframe MVS(Multiple Virtual Sistem) Minikomputer VAX, Unix, AOS, Windows CE, Pocket PC Tablet PC dan ponsel Android, Windows Phone, IOS, Symbian, Bada, Bele, PDA Adapun Mac OS system operasi ini hanya bisa berjalan pada computer Apple Macinthos dan UNIX, Catatan: Istilah platform umumnya menyatakan jenis computer(seperti PC, MiniKomputer, dan MainFrame) namun adakalanya juga menyatakan system operasi yang berjalan pada suatu system komputer; misalnya platform windows menyatakan system operasi windows pada PC Penanganan Proses Dalam Sistem Operasi Dalam Penanganan Proses Pada system operasi, ada beberapa istilah yang sering kita dengar diantaranya: Miltiprograming, MultiTasking, Penyimpanan Virtual, Time Sharing dan Multiprocessing. Multiprograming adalah suatu metode yang memungkinkan dua program atau lebih dijalankan secara serentak dalam sebuah komputer dan berbagai sumber daya dalam waktu yang berlainan. Konsep multiprogramming dapat kita analogikan dengan pengacara yang tentu saja tidak hanya menangani satu klien, ketika suatu kasus klien sedang menunggu proses pengadilan, sang pengacara dapat menangani kasus lain. Dengan konsep seperti ini, tidak ada waktu yang tersia-siakan Tanpa Multiprograming Multiprograming Sistem Operasi Sistem Operasi Program 1 Program 1 Memori yang tidak digunakan Setiap saat hanya satu program yang bisa dijalankan oleh komputer Program 2 Program 3 Memori yang tidak digunakan Sejumlah Program dapat dijalankan oleh komputer dengan serentak. Kelemahan system ini adalah tidak memungkinkan pemakai berinteraksi dengan proses, segala masukan di tangani melalui kartu control yang dikenal dengan sebutan kartu plong. Penanganan Proses Dalam Sistem Operasi Time-sharing adalah Suatu metode yang dipakai system operasi memungkinkan sejumlah pemakai dapat berinteraksi dengan proses yang dibuatnya karena setiap proses akan ditangani oleh CPU secara bergantian dalam jumlah waktu yang sama. Pada implementasinya, setiap pemakai menggunakan terminal tersendiri, setiap terminal dihubungkan ke satu komputer melalui jaringan komunikasi. Time-sharing merupakan pengembangan lebih lanjut terhadap multiprograming Sistem Operasi Sistem Operasi Sistem Operasi Program 1 Program 2 Program 3 Memori yang tidak digunakan Memori yang tidak digunakan Memori yang tidak digunakan Sistem Operasi Out Program 1 Out Program 2 Out Program 3 Memori yang tidak digunakan Penanganan Proses Dalam Sistem Operasi Penyimpanan Virtual adalah suatu metode yang menangani sejumlah program dengan membagi program-program tersebut kedalam bagian-bagian lebih kecil yang berukuran sama, pada proses bagian tersebut ditaruh dalam memory utama per satuan waktu. Penyimpanan virtual sering kita temukan di system operasi windows, windows menggunakan sebagian dari memory utama/sekunder yaitu Hard disk seolah-olah ia menggunakannya sebagai memori internal/RAM fisik yang tertanam di sebuah system komputer. Penanganan Proses Dalam Sistem Operasi Multi taksing adalah suatu kemampuan yang memungkinkan seorang pemakai dapat menjalankan sejumlah program dalam satu waktu yang sama. Multi Processing adalah suatu kemampuan system operasi yang menjalankan dua atau lebih intruksi secara serentak dengan menggunakan sejumlah CPU dalam sebuah komputer. Dengan pendekatan seperti ini, system operasi dapat mengatur agar sejumlah CPU menjalankan intruksiintruksi yang berbeda yang terletak dalam sebuah program dalam waktu yang sama. Utilitas adalah Program yang UTILITAS bermanfaat untuk melakukan kegiatan yang berhubungan dengan sumber daya system. Find out more at the PowerPoint Getting Started Center 2. UTILITAS Misalnya untuk memformat disket atau memory. Di lingkungan windows, program seperti Scandisk, disk cleanup, dan disk defragmenter secara otomatis disertakan dalam komputer pada saat windows di instal. Namun adakalanya anda harus menginstal sendiri karena memang bukan bagian dari system operasi Contoh Program Utilitas Kegunaan Program Pencadangan Program pemulihan Data Program Antivirus Program Kompresi Data Program Defragmentasi Program Pemformat Disk Nama Program Norton Backup (windows) Tar (linux) cpio (linux) dd (linux) Norton Utilities (windows) Norton AntiVirus Kapersky McAfee Smadav WinZip Winrar PkZip Gzip defragger defragmenter Disk Utility Device Driver adalah Program yang Device Driver berfungsi untuk membantu komputer mengendalikan piranti-piranti Peripheral. Find out more at the PowerPoint Getting Started Center 3. Device Driver Perangkat Lunak ini biasanya disediakan oleh vendor yang memproduksi perangkat keras. Misalnya anda memasang perangkat keras seperti modem atau printer. Anda juga perlu menginstal device driver supaya perangkat keras tersebut dapat berfungsi dengan baik. Penerjemah Bahasa Assembler Kompiler Interpreter Find out more at the PowerPoint Getting Started Center 4. Penerjemah Bahasa Program yang anda gunakan sekarang sesungguhnya dibuat dengan Bahasa pemograman, sebagai contoh system operasi linux dibuat menggunakan Bahasa C. Setelah dibuat dinamakan dengan kode sumber (source code). Kode sumber ini diterjemahkan menjadi kode mesin yang berupa deratan angka 0 dan 1. hal ini perlu dilakukan karna komputer hanya mengenal kode biner. Berkas yang berisi kode mesin inilah yang anda instal di komputer, sedangkan kode sumbernya dipegang oleh pembuatnya. Penerjemah Bahasa pemograman dibedakan menjadi assembler, compiler dan interpreter Assembler Assembler adalah program untuk menerjemahkan kode sumber dalam Bahasa rakitan (Assembly) kedalam Bahasa mesian Contoh: Intruksi yang digunakan pada processor x86 untuk memindahkan nilai 97 sebesar 8-bit kedalam register processor AL. Pindah AL 97 10110 000 01100001 10110000 01100001 B0 61 Hex Pada processor intel menyediakan symbol mnemonic MOV (singkatan dari move) MOV AL, 61h Kompiler Kompiler adalah program penerjemah yang mengomversi semua kode sumber selain dalam Bahasa rakitan menjadi kode objek. Hasil berupa kode objek inilah yang dijalankan oleh komputer, Perlu diketahui, proses untuk melakukan penerjemahan ini biasa disebut kompilasi. Bahasa seperti COBOL dan C menggunakan compiler. Kode Sumber Kompiler Kode Mesin Kode inilah yang diedarkan ke pemakai Interpreter Interpreter adalah program yang menerjamahkan persatu intruksi dalam kode sumber dan kemudian segera menjalankan intruksi yang telah diterjemahkan tersebut. Bahasa seperti BASIC pada awalnya menggunakan interpreter (misalnya BASICA,) namun belakiangan muncul BASIC yang menggunakan kompiler (misalnya Turbo BASIC dan Visual Basic). Perbedaan kompiler dengan interpreter Interpreter Kompiler Kode Sumber: Urutan Pengerjaan: Kode Sumber: Urutan Pengerjaan: Intruksi 1 Intruksi 2 Intruksi 3 Intruksi 1 hingga 3 diterjemahkan menjadi kode objek. Intruksi 1 Intruksi 2 Intruksi 3 1. Intruksi 1 deterjemahkan kemudian dijalankan 2. Intruksi 2 diterjemahkan kemudian dijalankan 3. Intruksi 3 di terjemahkan kemudian dijalankan Eksekusi program: Ketika kode objek dijalankan, tidak aja penerjemahan lagi dan tidak bergantung kode sumber Keunggulan dan kelemahan Penerjemah kelemahan keunggulan Kompiler Seluruh kode sumber harus benar secara sintaks agar program bisa diuji Pengerjaan intruksi dilakukan dengan cepat Kode sumber harus tetap selalu tersedia Kemudahan mencari kesalahan saat program dijalankan Interpreter Kecepatan intruksi lambat Kode objek dapat didistribusikan ke komputer lain tanpa menyertakan kode sumber. * Namun pada saat ini terdapat kecendrungan untuk menggabungkan penerjemah, seperti Bahasa PHP Generasi Pertama Klasifikasi Bahasa pemograman Generasi Kedua Generasi Ketiga Generasi Keempat Generasi kelima Find out more at the PowerPoint Getting Started Center Generasi Pertama Bahasa pemograman generasi pertama birorientasi pada mesin, program disusun dengan menggunakan Bahasa mesin. Bahasa ini sangat sulit dipahami oleh orang awam dan sangat membosankan, Program harus benar-benarmenguasai operasi komputer secara teknis, namun Bahasa ini memberikan eksekusi program yang sangat cepat. Selain itu Bahasa mesin sangat tergantung pada mesin (machine dependent) yaitu Bahasa mesin antara satu mesin dengan mesin yang lain jauh berbeda Muatlah bilangan 2 ke register AH B4 02 atau 1011 0100 0000 0010 Muatlah bilangan 2A Hekasdesimal ke register DL B2 2A atau 1011 0010 0010 1010 Jalankan interupsi 21 heksadesimal CD 21 atau 1100 1101 0010 0001 Generasi Kedua Bahasa pemograman generasi kedua menggunakan Bahasa rakitan (assembly). Sebagai pengganti kode biner. Digunakan dari kata-kata seperti MOV untuk menyatakan “move” dan JNZ yang berarti “jump nonzero”. MOV AH, 02 Muatlah bilangan 2 ke register AH MOV DL, 2A Bahasa ini sampai sekarang masih banyak digunakan terutama untuk pengendalian hardware. Biasaanya Bahasa yang lebih berorientasi pada manusia seperti pascal dan C. Bahasa mesin dan Bahasa rakitan biasa dinamakan Bahasa rendah ( low level language) karena sifat kedua Bahasa tersebut lebih berorientasi pada mesin Muatlah bilangan 2A Heksadesimal ke register DL INT 21 Jalankan interupsi 21 Heksadesimal Generasi Ketiga BAHASA BASIC Bahasa pemograman generasi ketiga menggunakan pendekatan prosedural. Sebagai Bahasa procedural , program perlu menuliskan intruksi-intruksi yang rinci agar komputer melaksanakan tugasnya. Seperti WRITE untuk menampilkan sesuatu ke layar dan READ untuk membaca dari keyboard PROGRAM CariMaks; { mencari bilangan terbesar } VAR BEGIN Bahasa generasi ketiga ini disebut sebagai Bahasa bereras tinggi ( high-level language ) disebabkan Bahasa ini menggunakan kata-kata yang biasa digunakan manusia. X, Y, Maks : REAL ; WRITE (“Bilangan X: “) ; READLN (X) ; WRITE (“Bilangan Y: “) ; RAEDLN (Y) ; IF X > Y THEN Maks : = X ELSE Maks : = Y; Beberapa contoh yang termasuk kategori Bahasa generasi ketiga yaitu: Ada, ALGOL, C, BASIC, COBOL, FORTRAN dan pascal. END. WRITELN (“Terbesar = “, Maks) ; Generasi Ketiga BAHASA BASIC Bahasa pemograman generasi ketiga menggunakan pendekatan prosedural. Sebagai Bahasa procedural , program perlu menuliskan intruksi-intruksi yang rinci agar komputer melaksanakan tugasnya. Seperti WRITE untuk menampilkan sesuatu ke layar dan READ untuk membaca dari keyboard PROGRAM CariMaks; { mencari bilangan terbesar } VAR BEGIN Bahasa generasi ketiga ini disebut sebagai Bahasa bereras tinggi ( high-level language ) disebabkan Bahasa ini menggunakan kata-kata yang biasa digunakan manusia. X, Y, Maks : REAL ; WRITE (“Bilangan X: “) ; READLN (X) ; WRITE (“Bilangan Y: “) ; RAEDLN (Y) ; IF X > Y THEN Maks : = X ELSE Maks : = Y; Beberapa contoh yang termasuk kategori Bahasa generasi ketiga yaitu: Ada, ALGOL, C, BASIC, COBOL, FORTRAN dan pascal. END. WRITELN (“Terbesar = “, Maks) ; Generasi Keempat Bahasa pemograman generasi keempat dirancang untuk mengurangi waktu pemograman dalam membuat program, sehingga diharapkan produktivitas pemograman meningkat dan program dapat dibuat dalam waktu yang lebih pendek. Bahasa pemograman ini sering disebut 4GL atau Bahasa bereras sangat tinggi ( very-heigh-level language ), dan dapat dipakai oleh pemakai yang kurang mengetahui hal-hal teknis tentang pemograman tanpa bantuan pemograman professional. Contohnya membuat program dengan Microsoft Access di lingkungan PC dengan mudah. USE pegawai SET FILTER TO kota= ‘pekanbaru’ GO TOP DO WHILE .NOT. EOF ( ) DISPLAY nama SKIP ENDDO USE dBASE Langkah sangat detail dan terlalu teknis SQL SELECT nama FROM pegawai WHERE kota = ‘pekanbaru’; Singkat dan tidak perlu langkah yang bersifat prosedural Generasi Kelima Bahasa pemograman generasi kelima Merupakan kelompok Bahasa-Bahasa pemograman yang ditujukan untuk menangani kecerdasan buatan (artificial intelligence). Kecerdasan buatan adalah disiplin ilmu dalam ilmu komputer yang mempelajari cara komputer meniru kecerdasan manusia. Misalnya: 1. pemprosessan Bahasa alami (natural language processing) yang mengatur komputer agar bisa berkomunikasi melalui Bahasa (inggris, spanyol, prancis, Indonesia dan sebagainya) 2. Pengendalian robotika dengan sensor mata. 3. Aplikasi system pakar (expert system) yang meniru seorang pakar dibidang tertentu sehingga menghasilkan nasehat tertentu atau pemikiran yang setara dangan seorang pakar PROLOG dan LISP merupakan contoh Bahasa pemograman yang ditujukan untuk menangani kecerdasan buatan Bahasa pemograman berbasis Blok Scratch App Invetor Find out more at the PowerPoint Getting Started Center Scratch Pada dekade 2000-an muncul pemmrograman yang berbasis blok. Konsepnya adalah seperti blok yang dipakai anak-anak untuk menyusun berbagai model seperti bangunan atau mobil-mobilan. Scratch adalah Bahasa pemograman yang ditujukan untuk anak-anak agar mereka bisa membuat program tanpa harus mempelajari penulisan kode teks. Mereka hanya perlu merangkai blokblok menyusun program yang disediakan scratch dan dapat dipakai untuk membuat permainan (game), animasi atau program-program kreatif lainnya. App Inventor App Inventor adalah perangkat aplikasi yang mengembangkan aplikasi untuk ponsel dan tablet berbasis android. Awalnya App inventor di sediakan oleh google pada tahun 2010. namun saat ini MIT memelihara pengembangannya. Aplikasi ini dijalankan Online dengan koneksi internet, namun dapat juga dijalankan dengan kondisi ofline dengan syarat mengunduh komponenkomponen tambahan.