Pengenalan Teknologi Informasi Materi 4: Perkembangan perangkat lunak
Chapter Preview Pada bab ini, kita akan mempelajari: Operating System Systems Software Application Software Bagaimana software dibuat Perkembangan software Software untuk perusahaan
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
Software Fundamentals (2) Software dalam komputer dibagi 2 : Operating Systems Software Instruksi yang mengelola sumber daya komputer Application Software Instruksi yang melaksanakan tugas-tugas tertentu Computer Software Operating Systems Software Application Yang membuat komputer bekerja Melakukan tugas spesifik
OPERATING SYSTEM SOFTWARE Operating 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 aplikasi-aplikasi tertentu
OPERATING 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 Specialized support capabilities Operating Systems Software System Control Programs Systems Support
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 Operating System- supervises the overall operation of the computer, including monitoring the computer’s status and scheduling operations, which include controlling the input and output processes allocates CPU time and main memory to programs running on the computer, and also provides an interface between the user and the hardware
Operating System Services Process pengelolaan, program-program yang dijalankan di prosesor : Multitasking atau Multiprogramming manajemen dua atau lebih program/tasks yang dijalankan di komputer pada waktu yang bersamaan Multithreading tipe dari multitasking yang menjalankan 2 atau lebih task/job dari aplikasi yang sama secara bersamaan 25 25 24 22
Timesharing banyak pengguna berbagi CPU yang sama, masing menggunakan input/output yang berbeda Multiprocessing proses yang bersamaan dengan menggunakan CPU lebih dari satu
Operating System Services (2) Virtual memory ’menambah’ memori komputer sehingga komputer seolah-olah memiliki memori yang besar File management and security mengatur akses ke data-data (dalam bentuk file) yang ada di secondary storage 25 25 24 22
Fault tolerance toleransi kesalahan yang dapat dimaklumi sepanjang sistem komputer menghasilkan output yang sesuai User interface tampilan (dalam bentuk gambar/icon) di output komputer yang memungkinkan pengguna komputer mengendalikan komputer. Interface ini dirancang untuk menggantikan perintah berbasis teks (yang kompleks)
Tipe-tipe Operating Systems : Desktop Operating Systems Utama MS-DOS Windows 95 Windows 98 Windows NT Windows 2000 Microsoft Products: Windows XP Windows ME Macintosh Operating System UNIX Java Operating System (JavaOS) Other Products: Linux IBM O/S 2
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
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.
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)
Application Software : Program yang melakukan aktifitas tertentu Tipe dari software aplikasi: Proprietary application software : Software untuk kebutuhan tertentu Off-the-shelf application software : Software yang dibuat secara umum untuk kemudian dijual, Bisa merupakan standar ataupun disesuaikan dengan kebutuhan
Application Software (continued) Personal Application Software - off-the-shelf application programs supporting general types of processing Spreadsheets Data management Word processing Desktop publishing Graphics Presentation; Analysis; CAD Multimedia Communication Speech-recognition Groupware
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 Who and where are the current users? Any changes in the future? Usage monitors, security, and user authorization. Initial licensing and ongoing maintenance fees; costs of upgrades; cost of add’l licenses. Current and future user needs. Compatible with existing infrastructure (HW, OS, etc.) Can in-house staff develop, or must off-the-shelf be purchased?
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
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
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 microsoft windows saja, OpenOffice multi platform Open Source Software Adalah software yang dibangun bersama oleh para programmer dimana sourcecodenya bisa disalin dengan bebas
Bagaimana Komputer Mengerti Bahasa Pemrograman Bagaimana Komputer Mengerti Bahasa Pemrograman? (The Language Translation Process) Program written in programming language (source code) -- Bahasa Manusia Translator program Assembler Compiler Interpreter Program written in machine language (object code) Processed By CPU
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
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
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
Natural Language Programming Languages (generasi kelima) Menterjemahkan bahasa percakapan ke dalam bahasa yang bisa dimengerti oleh komputer Sangat kompleks dan masih dalam percobaan/eksperimen
Trend Bahasa Pemrograman Visual Programming Languages Menggunakan lingkungan grafis (Graphical User Interface) Contoh: Visual Basi, Visual C++, Delphi Populer oleh pengguna non teknis/biasa
Hypertext Markup Language (HTML), PHP dan ASP HTML merupakan bahasa standar untuk pemformatan tampilan situs web di internet Biasanya berisi teks, gambar, animasi bahkan hingga video dan program aplikasi Dipadukan dengan script PHP, ASP, Flash dan lain-lain untuk menghasilkan situs-situs web yang interaktif
Extensible Markup Language (XML) Perbaikan terhadap HTML sehingga pengguna tidak perlu aktif dalam mencari informasi di situs web Dipadukan dengan RSS Feeder akan menjadikan XML yang dapat memberikan push information Componentware Komponen-komponen software yang disatukan oleh developer sesuai dengan kebutuhan “Plug and Play” software development
Virtual Reality Modeling Language (VRML) Format file yang memberikan three-dimensional interactive worlds and objects Bisa digunakan dalam World Wide Web Object-Oriented Programming Languages (OOP) berdasarkan objects – memadukan data dan instruksi tentang bagaimana memperlakukan sebuah obyek dalam pemrograman Contoh: Java, C++ Menggunakan Unified Modeling Language (UML) untuk mendefinisikan model pemrograman