Pengenalan Teknologi Informasi
Perangkat Lunak Komputer (Software)
Chapter Preview
Materi pada bab ini:
◦ 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)
Systems Software
◦ Instruksi yang mengelola sumber daya komputer
Application Software
◦ Instruksi yang melaksanakan tugas-tugas tertentu
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 aplikasi-aplikasi tertentu
Systems Software (2)
System Control Programs
◦ Mengontrol penggunaan sumber daya sistem (hardware, software, data); operating system
System Support Programs
◦ Specialized support capabilities
System Control Programs
Operating System – kontrol utama sistem komputer
◦ 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 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)
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 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
Types of Application Software
◦ 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)
• 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
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
Tidak ada komentar:
Posting Komentar