Transcript Slide 1

Pengenalan Teknologi Informasi
Software Komputer
4-1
Chapter Preview
• Pada bab ini, kita akan mempelajari:
– Systems Software
– Application Software
– Bagaimana software dibuat
– Perkembangan software
– Software untuk perusahaan
4-2
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
4-3
Software Fundamentals (2)
• Systems Software
Computer Software
Systems
Software
Application
Software
Yang
membuat
komputer
bekerja
Melakukan
tugas
spesifik
– Instruksi yang
mengelola sumber
daya komputer
• Application Software
– Instruksi yang
melaksanakan tugastugas tertentu
4-4
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
4-5
Systems Software (2)
• System Control Programs
Systems Software
System
Control
Programs
Systems
Support
Programs
– Mengontrol penggunaan
sumber daya sistem
(hardware, software,
data); operating system
• System Support Programs
– Specialized support
capabilities
4-6
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
4-7
Operating System Services
• Process management – pengelolaan programprogram 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
4-8
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)
4-9
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-10
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-11
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-12
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)
4-13
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
4-14
Application Software (continued)
Personal Application Software - off-the-shelf
application programs supporting general types of processing
•
•
•
•
•
Spreadsheets
Data management
Word processing
Desktop publishing
Graphics
•
•
•
•
Multimedia
Communication
Speech-recognition
Groupware
– Presentation;
Analysis; CAD
4-15
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
4-16
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
4-17
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
4-18
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-19
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
4-20
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
4-21
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
4-22
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
4-23
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
4-24
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
4-25