05/10/2010 4-1 PENGENALAN TEKNOLOGI INFORMASI Materi 4: Perkembangan perangkat lunak 4-2 CHAPTER PREVIEW Pada bab ini, kita akan mempelajari: Operating System Systems Software Application Software Bagaimana software dibuat Perkembangan software Software untuk perusahaan 4-3 SOFTWARE FUNDAMENTALS Beberapa istilah dasar …. Computer programs – serangkaian instruksi untuk komputer Stored program concept – instruksi tertulis dalam program yang disimpan dan dijalankan oleh CPU ketika dibutuhkan Programming – proses penulisan (atau coding) program Programmers – orang yang melakukan programming 1 05/10/2010 4-4 SOFTWARE FUNDAMENTALS (2) Software dalam komputer dibagi 2 : Systems Software Computer Software Instruksi yang mengelola sumber daya komputer Application Software Instruksi yang melaksanakan tugas-tugas tertentu Systems Software Application Software Yang membuat komputer bekerja Melakukan tugas spesifik 4-5 SYSTEM SOFTWARE System software adalah software yang: Mengontrol dan mendukung aktifitas sistem komputer Mendukung software aplikasi dengan menunjukkan fungsi dasar komputer Memfasilitasi pembangunan program, testing dan debugging Tidak tergantung terhadap aplikasiaplikasi tertentu 4-6 SYSTEMS SOFTWARE (2) Dalam system komputer terdapat 2 program: System Control Programs Mengontrol penggunaan sumber daya sistem (hardware, software, data); operating system System Support Programs Systems Software System Control Programs Systems Support Programs Specialized support capabilities 2 05/10/2010 4-7 SYSTEM CONTROL PROGRAMS Operating System kontrol utama dalam sistem komputer, Tugas SO : Mengawasi jalannya komputer secara keseluruhan Mengalokasikan CPU time dan memori utama bagi program yang sedang dijalankan komputer Memberikan tampilan antarmuka untuk pengguna terhadap hardware 4-8 OPERATING SYSTEM SERVICES Process pengelolaan, program-program yang dijalankan di prosesor : a. Multitasking atau Multiprogramming manajemen dua atau lebih program/tasks yang dijalankan di komputer pada waktu yang bersamaan b. Multithreading tipe dari multitasking yang menjalankan 2 atau lebih task/job dari aplikasi yang sama secara bersamaan 4-9 c. Timesharing banyak pengguna berbagi CPU yang sama, masing menggunakan input/output yang berbeda d. Multiprocessing proses yang bersamaan dengan menggunakan CPU lebih dari satu 3 05/10/2010 4-10 OPERATING SYSTEM SERVICES (2) Virtual memory komputer sehingga ’menambah’ komputer memori seolah-olah memiliki memori yang besar File management and security mengatur akses ke data-data (dalam bentuk file) yang ada di secondary storage 4-11 Fault tolerance toleransi kesalahan yang dapat dimaklumi sepanjang sistem komputer menghasilkan output yang sesuai User interface tampilan (dalam bentuk gambar/icon) di output memungkinkan mengendalikan dirancang komputer pengguna komputer. untuk yang komputer Interface menggantikan ini perintah berbasis teks (yang kompleks) 4-12 TIPE-TIPE OPERATING SYSTEMS : Desktop Operating Systems Utama Microsoft Products: MS-DOS Windows 95 Windows 98 Windows ME Windows NT Windows 2000 Windows XP Other Products: UNIX Linux Java Operating System (JavaOS) IBM O/S 2 Macintosh Operating System 4 05/10/2010 4-13 TIPE-TIPE OPERATING SYSTEMS (2) : Departmental Server Operating Systems Digunakan ratusan pengguna dalam satu waktu UNIX, Linux, Windows 2000, Windows XP, Novell NetWare Enterprise Operating Systems Bisa digunakan ribuan pengguna dalam satu waktu, mendukung jutaan operasi perharinya IBM’s OS/390, IBM’s VM (Virtual Machine), IBM’s VSE (Virtual Storage Extended), and IBM’s OS/400 4-14 SYSTEM SUPPORT PROGRAMS Mendukung operasi, manajemen dan pengguna sistem komputer Contoh: System Utilities Melakukan tugas-tugas dasar : mengecek integritas disk, membuat direktori/folder, mengembalikan file-file yang terhapus, manajemen penggunaan memori. 4-15 SYSTEM SUPPORT PROGRAMS (CONTINUED) Contoh (continued) Monitor kinerja monitor job processing Menghasilkan reports untuk penggunaan sumber daya sistem Security monitors Memonitor sistem komputer sekaligus melindunginya dari gangguan (misalnya virus, malware) ataupun dari penggunan yang tak semestinya (misalnya cracker, pengrusakan) 5 05/10/2010 4-16 APPLICATION SOFTWARE : Program yang melakukan aktifitas tertentu Tipe dari software aplikasi: a. Proprietary application software : Software untuk kebutuhan tertentu b. Off-the-shelf application software : Software yang dibuat secara umum untuk kemudian dijual, Bisa merupakan standar ataupun disesuaikan dengan kebutuhan 4-17 APPLICATION SOFTWARE (CONTINUED) c. Personal Application Software - off-the-shelf application programs supporting general types of processing Spreadsheets Data management Word processing Desktop publishing Graphics o Multimedia Communication Speech-recognition Groupware Presentation; Analysis; CAD 4-18 SOFTWARE ISSUES Evaluasi dan Pemilihan Software Selection factors (untuk software berskala besar) Size and location of the user base : Apakah software bisa digunakan banyak pengguna sekaligus? Bagaimana dgn remote access? System administration tools : Apakah ada utiliti untuk memonitor penggunaan software? Initial and subsequent costs : Pastikan bahwa biaya awal dan pemeliharaan terjangkau 6 05/10/2010 4-19 Current and future system capabilities : Pastikan pula bahwa kemampuan software cukup untuk saat ini dan masa mendatang Existing computing environment : Apakah kompatibel dengan hardware yang dimiliki saat ini? In-house technical skills :Pastikan pula bahwa tersedia tenaga ahli untuk menggunakan, memelihara atau bahkan memodifikasi software 4-20 SOFTWARE ISSUES (CONTINUED) Software Upgrades Pastikan proses upgrade memberikan nilai tambah Pastikan pula bahwa tidak ada bugs di software yang akan diupgrade Software upgrade bisa berarti melibatkan pengetahuan baru. Pastikan bahwa pengguna software tetap bisa menggunakan software dengan optimal 4-21 SOFTWARE ISSUES (CONTINUED) Open Systems Beberapa software didisain untuk bekerja di berbagai sistem operasi Kemampuan ini memberikan fleksibilitas bagi penggunanya sehingga bisa bertukar data tanpa khawatir tentang sistem operasi Contoh: Microsoft Office, OpenOffice Open Source Software Adalah software yang dibangun bersama oleh para programmer dimana sourcecodenya bisa disalin dengan bebas 7 05/10/2010 4-22 BAGAIMANA KOMPUTER MENGERTI BAHASA PEMROGRAMAN? (THE LANGUAGE TRANSLATION PROCESS) Program written in programming language (source code) Translator program Assembler Compiler Interpreter Program written in machine language (object code) Processed By CPU 4-23 BAHASA PEMROGRAMAN : Bahasa Mesin (generasi pertama bahasa pemrograman) Bahasa asli komputer Terdiri dari 0 dan 1 Merupakan satu-satunya bahasa yang dimengerti oleh komputer Bahasa Assembly (generasi kedua) Merupakan translasi dari bahasa mesin (One-to-one correspondence to machine language) Lebih user-friendly (mnemonic rather than binary digits) Assembler – program yang menterjemahkan bahasa assembly ke bahasa mesin 4-24 BAHASA PEMROGRAMAN(2) : Procedural Languages (generasi ketiga) Satu perintah diterjemahkan menjadi beberapa perintah dalam bahasa mesin Bahasa pemrograman menerangkan pengolahan langkah per langkah Hampir sama dengan natural language; menggunakan bahasa biasa dan bukan mnemonics Contoh: Cobol, C, Fortran, QuickBasic Compiler – menterjemahkan bahasa pemrograman ke bahasa mesin dulu baru dijalankan kemudian Interpreter – menterjemahkan bahasa pemrograman pada waktu programnya dijalankan 8 05/10/2010 4-25 BAHASA PEMROGRAMAN (3) : Nonprocedural Language (generasi keempat) Memungkinkan pengguna untuk meminta hasil yang diinginkan tanpa harus mengetahui detail bagaimana cara membuat programnya Contoh – bahasa query database SQL Biasa digunakan oleh non technical users 4-26 Natural Language Programming Languages (generasi kelima) Menterjemahkan bahasa percakapan ke dalam bahasa yang bisa dimengerti oleh komputer Sangat kompleks dan masih dalam percobaan/eksperimen 4-27 TREND BAHASA PEMROGRAMAN Visual Programming Languages o Menggunakan lingkungan grafis (Graphical User Interface) o Contoh: Visual Basi, Visual C++, Delphi o Populer oleh pengguna non teknis/biasa 9 05/10/2010 4-28 Hypertext Markup Language (HTML), PHP dan ASP o HTML merupakan bahasa standar untuk pemformatan tampilan situs web di internet o Biasanya berisi teks, gambar, animasi bahkan hingga video dan program aplikasi o Dipadukan dengan script PHP, ASP, Flash dan lain-lain untuk menghasilkan situs-situs web yang interaktif 4-29 Extensible Markup Language (XML) o Perbaikan terhadap HTML sehingga pengguna tidak perlu aktif dalam mencari informasi di situs web o Dipadukan dengan RSS Feeder akan menjadikan XML yang dapat memberikan push information Componentware o Komponen-komponen software yang disatukan oleh developer sesuai dengan kebutuhan o “Plug and Play” software development 4-30 Virtual Reality Modeling Language (VRML) o Format file yang memberikan three-dimensional interactive worlds and objects o Bisa digunakan dalam World Wide Web Object-Oriented Programming Languages (OOP) o berdasarkan objects – memadukan data dan instruksi tentang bagaimana memperlakukan sebuah obyek dalam pemrograman o Contoh: Java, C++ o Menggunakan Unified Modeling Language (UML) untuk mendefinisikan model pemrograman 10