E N D
PengenalanTeknologiInformasi PerangkatLunakKomputer (Software)
Chapter Preview • Materipadababini: • Systems Software • Application Software • Bagaimana software dibuat • Perkembangan software • Software untukperusahaan
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) • Systems Software • Instruksi yang mengelola sumber daya komputer • Application Software • Instruksi yang melaksanakan tugas-tugas tertentu Computer Software Systems Software Application Software Yang membuat komputer bekerja Melakukan tugas spesifik
System Software • System software adalah software yang: • Mengontroldanmendukungaktifitassistemkomputer • Mendukung software aplikasidenganmenunjukkanfungsidasarkomputer • Memfasilitasipembangunan program, testing dan debugging • Tidaktergantungterhadapaplikasi-aplikasitertentu
Systems Software (2) • System Control Programs • Mengontrol penggunaan sumber daya sistem (hardware, software, data); operating system • System Support Programs • Specialized support capabilities Systems Software System Control Programs Systems Support Programs
System Control Programs • Operating System – kontrolutamasistemkomputer • Mengawasijalannyakomputersecarakeseluruhan • Mengalokasikan CPU time danmemoriutamabagi program yang sedangdijalankankomputer • Memberikantampilanantarmukauntukpenggunaterhadap hardware
Operating System Services • Process management – 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 • 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 • 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)
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 Tipe-tipe Operating Systems • Desktop Operating Systems Utama
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 SupportPrograms • 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 SupportPrograms (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 melakukanaktifitastertentu • Types of Application Software • Proprietary application software • Software untukkebutuhantertentu • Off-the-shelf application software • Software yang dibuatsecaraumumuntukkemudiandijual • Bisamerupakanstandarataupundisesuaikandengankebutuhan
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 • 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 Licensing • Copyright - exclusive legal right to reproduce, publish, and sell the software • Licenses - permission granted under the law to engage in an activity otherwise unlawful • 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, OpenOffice • Open Source Software • Adalah software yang dibangun bersama oleh para programmer dimana sourcecodenya bisa disalin dengan bebas
Program written in programming language (source code) Translator program Program written in machine language (object code) • Assembler • Compiler • Interpreter Processed By CPU Bagaimana Komputer Mengerti Bahasa Pemrograman? (The Language Translation Process)
Programming Languages • 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
Programming Languages (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
Programming Languages (continued) • 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
Trend Bahasa Pemrograman (2) • 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
Trend Bahasa Pemrograman (3) • 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