Pengantar
Teknologi Informasi
"
Pertemuan 3 "
"
Perkembangan Perangkat Lunak "
Software..?
Software
Adalah
kumpulan dari pada intruksi atau statement yang di susun secara logis dan
berbentuk kode yang hanya dapat di mengerti oleh komputer dalam menjalankan
sebuah operasi spesifik.
Kategori
Software
Bahasa
pemrograman
Paket
aplikasi
Sistem
Operasi
Sejarah
Perkembangan Software
Era
Pioneer
Pada
Era Pioneer ini bentuk software komputer pada awalnya adalah
sambungan-sambungan kabel ke antar bagian dalam komputer, Cara dalam mengakses
komputer adalah menggunakan punched card yaitu kartu yang di
lubangi. Penggunaan komputer saat itu masih dilakukan secara langsung, sebuah
program digunakan untuk sebuah mesin tertentu dan untuk tujuan tertentu.
Sejarah
Perkembangan Software
Era
Stabil
Pada
Era Stabil ini baris-baris perintah software komputer yang dijalankan oleh
komputer bukan lagi satu-satu, tapi sudah banyak proses yang di lakukan secara
bersamaan (multi tasking).
Software Komputer pada era ini juga mampu menyelesaikan banyak pengguna (multi user) dan secara cepat/langsung (real time).
Di era ini jugalah mulai di kenal sistem basis data, yang memisahkan antara program dan data .
Software Komputer pada era ini juga mampu menyelesaikan banyak pengguna (multi user) dan secara cepat/langsung (real time).
Di era ini jugalah mulai di kenal sistem basis data, yang memisahkan antara program dan data .
Sejarah
Perkembangan Software
Era
Mikro
Pada
Era Mikro ini software komputer dapat dibedakan menjadi beberapa bagian yaitu Software
Sistem (Windows, Linux, Machintos, dll), Software Aplikasi
(Ms.Office, OpenOffice, dll) dan Languange Software/Bahasa Pemograman
(Assembler, Visual Basic, Delphi, dll)
Era
Modern
Pada
Era Modern ini, software bukan hanya untuk sebuah PC, tetapi juga terdapat pada
berbagai devices, seperti SmartPhone, Router, dll.
Tingkat kecerdasan yang ditunjukkan oleh software komputer pun semakin meningkat, selain permasalahan teknis, software komputer sekarang juga mulai bisa mengenal suara dan gambar.
Tingkat kecerdasan yang ditunjukkan oleh software komputer pun semakin meningkat, selain permasalahan teknis, software komputer sekarang juga mulai bisa mengenal suara dan gambar.
Software
Topics
Arsitektur
Sebagai end-user, biasanya melihat 3 aspek berikut :
Sebagai end-user, biasanya melihat 3 aspek berikut :
Platform
Software
Firmware,
devices driver, DE/GUI
Application
Software
Office
suite, dll.
User-written
Software
Office
template, email filter, dll.
Software
Topics
Eksekusi
Bagaimana
sebuah software di load kedalam penyimpanan komputer (HDD/RAM)
Kualitas
& Kehandalan
Kualitas
software sangat penting, terutama untuk komersial, jangan sampai terjadi bug.
Lisesnsi
Memberitahukan
kepada pengguna akan hak-nya, beberapa software dilengkapi dengan lisensi
ketika di distribusikan.
ex:
OEM (bundle hardware), Open Souce, Freeware, Shareware
Paten
Adalah
tentang spesifik algoritma atau teknik bahwa perangkat lunak berisi hal yang
tidak boleh diduplikasi oleh orang lain dan dianggap kekayaan intelektual
dan hak cipta bagi pembuatnya.
Bahasa
Pemrograman
Bahasa
pemrograman, atau sering diistilahkan juga dengan bahasa komputer atau bahasa
pemrograman komputer, adalah instruksi standar untuk memerintah
komputer.
Bahasa
pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik
yang dipakai untuk mendefinisikan program komputer.
Bahasa
ini memungkinkan seorang programmer dapat menentukan secara persis data mana
yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan,
dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.
Ref_sintaks_semantik
Sintaks
Sintaks
sebuah bahasa berhubungan dengan struktur bahasa. Sebagai contoh, untuk
membentuk sebuah kalimat yang valid dalam bahasa kita memakai struktur:
[subyek] + [kata kerja] + [kata benda]. Dengan memakai struktur ini, kita bisa
membentuk kalimat, sebagai contoh: Saya makan nasi. Dalam hubungannya dengan
bahasa pemrograman, kita musti memenuhi sintaks (baca: aturan struktur bahasa)
agar program dapat berjalan. Sebagai contoh, dalam bahasa BASIC, untuk
mengassign sebuah variabel dengan sebuah nilai, kita memakai operand ‘=’,
tetapi kalau dalam Pascal, kita pakai ‘:=’. Contoh dalam BASIC: a=1, tapi dalam
bahasa Pascal, a:=1.
Semantik
Semantik
sebuah bahasa menggambarkan hubungan antara sintaks dan model komputasi.
Sederhananya, semantik menjelaskan arti dari program.
Analoginya
sebagai berikut. Apabila kita memakai sintaks [subyek] + [kata kerja] + [kata
benda], kita bisa menghasilkan kalimat-kalimat.
Apabila
kita mengasilkan kalimat Saya makan nasi, maka kalimat ini memenuhi aturan
sintaks. Tapi, apabila saya membuat kalimat Saya makan batu, secara sintaks
kalimat ini sudah benar. Namun, secara semantik, kalimat ini tidak mengandung
makna yang berarti.
Dalam
hubungannya dengan bahasa pemrograman, kadang ada kalanya seorang programmer
tidak bisa mengaitkan sintaks dengan model komputasi. Kesalahan logika bisa
dengan mudah terjadi.
Sebagi
contoh ada bahasa pemrograman sebagai berikut:
if(a=5)
{
echo
‘Nilai a=5′;
}
Apabila
program ini dijalankan, apa yang terjadi? Bergantung bahasa apa yang digunakan.
Apabila bahasa yang dipakai adalah bahasa C, maka output yang keluar selalu
Nilai a=5, walaupun nilai variabel a sebelumnya selain 5. Kenapa itu bisa
terjadi? Itu karena operator ‘=’ dalam bahasa C berarti mengassign sebuah
variabel yang ada di sebelah kiri dengan nilai yang ada di sebelah kanan. Dalam
bahasa C, secara sintaks operasi ini sudah benar.
Tapi,
apabila yang dimaksud adalah programmer ingin mengevaluasi nilai variabel a,
maka seharusnya memakai operator logika ‘==’. Jadi, program yang sebenarnya
menjadi
if(a==5){
echo
‘Nilai a=5′;
}
Pragmatik
Pragmatik
berhubungan dengan kemudahan implementasi dan efisiensi. Dalam analoginya
dengan bahasa, kita bisa saja memberitahukan ke seseorang “Jangan merokok”
apabila ada peraturan yang melarang seseorang merokok di dalam sebuah ruangan.
Kalimat singkat seperti itu sebenarnya sudah cukup efisien. Tapi, dalam
kesempatan lain kita bisa saja memakai kalimat “Mohon Anda jangan merokok di
sini karena menurut peraturan pemerintah daerah nomor XXX tahun XXX dinyatakan
bahwa merokok di tempat umum akan mengakibatkan pelanggaran peraturan, selain
itu dari sisi kesehatan… blah blah blah”.
Dalam
hubungannya dengan bahasa pemrograman, seorang programmer harus bisa memastikan
efisiensi dalam melakukan peng-coding-an. Dalam bahasa C, programmer diberikan
kekuasaan untuk mengalokasikan memori. Sebagai akibatnya, apabila programmer
lalai dalam mengontorl variabel-variabel yang dihasilkan dari hasil assignment
pointer, maka akan terjadi kebocoran memori. Ini diakibatkan apabila seorang
programmer mengcreate sebuah variabel pointer, dan kemudian menghapusnya,
informasi tersebut masih ada dalam memori, hanya saja sudah tidak bisa diakses
lagi.
Ketika
saya sedang mendalami konsep pemrograman secara pragmatis, menariknya, saya
mendapati teori broken window. Teori ini akan saya jelaskan lebih lanjut di
tulisan berikutnya dengan kategori Personal.
Penggolongan
Bahasa Pemrograman
Bahasa
Mesin
yaitu
memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya
01100101100110
Bahasa
Tingkat Rendah / bahasa rakitan (Assembly)
yaitu
memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic),
contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
Bahasa
Tingkat Menengah
yaitu
bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia
(lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat
simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
Bahasa
Tingkat Tinggi
yaitu
bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa
manusia, contohnya begin, end, if, for, while, and, or, dsb.
Sebagian besar bahasa
pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang
digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa
Tingkat Rendah.
Proses
Pembuatan Program
Kompilasi
(Compilation)
Dalam
proses kompilasi semua kode sumber dibaca terlebih dahulu dan jika tidak ada
kesalahan dalam menulis program maka akan dibentuk kode mesinnya sehingga
program bisa dijalankan. Program yang melakukan tugas ini disebut Compiler.
Program hasil kompilasi akan berbentuk executable. Program bisa langsung dijalankan tanpa harus memiliki Compiler di komputer yang menjalankan program tersebut.
ex : C, C++, Pascal, Assembly, VB dan masih banyak lagi.
Program hasil kompilasi akan berbentuk executable. Program bisa langsung dijalankan tanpa harus memiliki Compiler di komputer yang menjalankan program tersebut.
ex : C, C++, Pascal, Assembly, VB dan masih banyak lagi.
Interpretasi
(Interpretation)
Bahasa
yang menggunakan teknik interpretasi akan membaca kode sumber perbaris dan
dieksekusi perbaris. Jika ditemukan kesalahan dalam penulisan program maka di
baris kesalahan itulah program akan dihentikan. Program yang melakukan tugas
ini disebut Interpreter.
Pada teknik interpretasi tidak ada akan dihasilkan program standalone, artinya untuk menjalankan program kita harus mempunyai kode sumbernya sekaligus interpreter program tersebut. Bahasa yang menggunakan teknik interpretasi misalnya bahasa PHP, Perl, Python, Ruby dll.
Pada teknik interpretasi tidak ada akan dihasilkan program standalone, artinya untuk menjalankan program kita harus mempunyai kode sumbernya sekaligus interpreter program tersebut. Bahasa yang menggunakan teknik interpretasi misalnya bahasa PHP, Perl, Python, Ruby dll.
Proses
Pembuatan Program
Kompilasi
Sekaligus Interpretasi
Ada
juga bahasa pemrograman yang menghasilkan programnya dengan teknik kompilasi
sekaligus interpretasi. Misalnya bahasa java. Dalam pembuatan program java kode
sumber diubah menjadi bytecode. Meskipun nampak seperti bahasa mesin namun ini
bukanlah bahasa mesin dan tidak executable.
Untuk menjalankan bytecode tersebut kita membutuhkan Java Runtime Environment (JRE) yang bertugas sebagai interpreter sehingga menghasilkan program dari bytecode tersebut.
Untuk menjalankan bytecode tersebut kita membutuhkan Java Runtime Environment (JRE) yang bertugas sebagai interpreter sehingga menghasilkan program dari bytecode tersebut.
Meskipun
setiap bahasa pemrograman dibuat untuk membuat program, namun setiap bahasa
dibuat dengan tujuan dan fungsi yang berbeda-beda.
Misalnya untuk membuat driver hardware kita tidak bisa menggunakan bahasa Visual Basic. Untuk membuat program berbasis sistem seperti driver kita bisa gunakan bahasa C atau Assembly.
Misalnya untuk membuat driver hardware kita tidak bisa menggunakan bahasa Visual Basic. Untuk membuat program berbasis sistem seperti driver kita bisa gunakan bahasa C atau Assembly.
Paket
Aplikasi
Perangkat
lunak aplikasi adalah suatu subkelas perangkat lunak komputer yang memanfaatkan
kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan
pengguna.
Beberapa
aplikasi yang digabung bersama menjadi suatu paket kadang disebut sebagai suatu
paket atau suite aplikasi (application suite).
Contohnya
adalah Microsoft Office dan OpenOffice.org
Klasifikasi
Paket Aplikasi
Aplikasi
dapat digolongkan menjadi beberapa kelas, antara lain:
- Perangkat lunak perusahaan (enterprise)
ü Enterprise
resource planning + CRM + HRM
ü Accounting
software
ü Financial
software
- Perangkat lunak infrastruktur perusahaan
ü Business
workflow software
ü Database
management system (DBMS) software
ü Digital
asset management (DAM) software
ü Document
management software (DMS)
ü Geographic
information system (GIS) software
- Perangkat lunak informasi kerja
ü Manajemen
waktu dan sumber daya
ü Manajemen
data
ü Dokumentasi
ü Perangkat
lunak analitik
ü Perangkat
lunak kolaborasi
- Perangkat lunak pengembangan media
ü Image
organizer
ü Sound
Editing
ü Video
Editing
Klasifikasi
Aplikasi
- Perangkat lunak media dan hiburan
Ø Screen
savers
Ø Video
games
ü Arcade
games
ü Video game
console emulator
ü Personal
computer games
ü Console
games
ü Mobile
games
- Perangkat lunak pendidikan
Ø Classroom
management
Ø Reference
software
Ø Sales
readiness software
Ø Survey
management
- Perangkat lunak rekayasa produk
Ø Hardware
Engineering
ü Computer-aided
engineering
ü Computer-aided
design (CAD)
Ø Software
Engineering
ü Computer
language editor
ü Compiler
software
ü IDE
Sistem
Operasi
Adalah
seperangkat program yang mengelola sumber daya perangkat keras komputer, dan
menyediakan layanan umum untuk aplikasi perangkat lunak.
Secara
umum, Sistem Operasi adalah perangkat lunak pada lapisan pertama yang
ditempatkan pada memori komputer pada saat komputer dinyalakan (booting).
Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti untuk software-software itu.
Layanan inti tersebut seperti akses ke disk, manajemen memori, penjadwalan tugas (schedule task), dan antar-muka user GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi.
Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.
Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti untuk software-software itu.
Layanan inti tersebut seperti akses ke disk, manajemen memori, penjadwalan tugas (schedule task), dan antar-muka user GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi.
Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.
Fitur
umum sebuah sistem operasi
Process
management
Interrupts
Memory
management
File
system
Device
drivers
Networking
(TCP/IP, UDP)
Security
(Process/Memory protection)
I/O
Jenis
Sistem Operasi
RealTime
OS (RTOS)
Bagian
terpenting RTOS adalah mengatur penggunaan sumber daya komputer untuk
menjalankan serangkaian operasi secara berulang-ulang dalam periode tertentu.
Tujuan
utama : respon cepat.
ex
: RTLinux, QNX, VxWork, VMS (mainframe)
Single
user, Single task
Sistem
operasi single user adalah Sistem operasi yang hanya menyediakan akses layanan
terhadap sistem komputer kepada satu user saja pada satu waktu. namun hanya
dapat menjalankan satu aplikasi saja.
ex
: DOS, PalmOS/WebOS, IOS 6-
Single
user, Multi task
Dapat
menjalankan beberapa aplikasi dalam waktu bersamaan.
ex
: gnu/Linux, Windows, MAC
Jenis
Sistem Operasi
Multi
user
Sistem
operasi multi-user adalah sistem operasi yang memungkinkan pengguna lebih dari
satu dalam mengakses sistem komputer dalam waktu yang bersamaan. (Thin
Client)
ex
: Windows Terminal Server, LTSP
Distributed
Sebuah
distribusi sistem operasi yang memage kelompok dari beberapa komputer
independent, dan membuat mereka terlihat seperti satu komputer saja. (Cluster)
ex
: WinServer, Linux
Embedded
Sistem
operasi yg di design untuk digunakan di system komputer embedded, mereka di
rancang didalam mesin-mesin kecil yg mempunyai autonomy terbatas.
ex
: WindowsCE / windows Phone, Minix, linux DSL, Knoppix, dll
Macam-macam
Operating Sistem
Windows
(close source)
Machintos
(close source)
gnu/Linux
(open source)
Unix
(mixed)
Evolusi
Unix & Linux
Evolusi
Machintos
Evolusi
Windows
::
Selesai ::
Next : Arsitektur Komputer
Next : Arsitektur Komputer
link dowload:
http://www.4shared.com/office/xlsgpvAw/p3_online.html
Tidak ada komentar:
Posting Komentar