Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
1/78
Perangkat Lunak
Komputer
Konsep Sistem Informasi (TKE132206)
Jurusan Teknik Elektro, Unsoed
Iwan Setiawan <stwn at unsoed.ac.id>
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
2/78
Elemen Sistem Komputer
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
3/78
Memindah, menyimpan,
dan memproses informasi.
Tren Sistem
Komputer
Singleboard computer vs.
Singleboard microcontroller?
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
7/78
Singleboard Computer
●
Daya rendah.
–
Dapat menggunakan baterai sebagai catu daya.
●
Dimensi yang lebih kecil dan bobot yang ringan.
●
Memiliki General Purpose Input Output (GPIO).
–
PC memiliki porta? USB? Terlalu rumit dan/atau
memiliki latensi yang terlalu tinggi untuk berkomunikasi
dengan dunia luar.
●
Kebutuhan pemrosesan realtime.
–
Membutuhkan realtime operating system (RTOS).
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
S aa d Irf an , C C B y N C S A , h ttp :// fli c. kr /p /8 S Lo 4d
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed ht tp :// tie r. cs .b er ke le y. ed u/ dr up al /n od e/ 20 0
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
30/78
Softwaredefined Everything?
●
Pergeseran implementasi teknologi yang relatif semakin
membesarkan porsi perangkat lunak. Virtualisasi.
–
Softwaredefined Radio.
–
Softwaredefined Networking.
–
Softwaredefined Mobile Network.
–
Softwaredefined Protection.
–
Softwaredefined Storage.
–
Softwaredefined Data Center.
–
Softwaredefined ...
Eksekusi
Instruksi
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
32/78
Sebuah
program terdiri dari set instruksi
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
33/78
Pemrosesan Instruksi (1)
●
Prosesor membaca/mengambil sebuah instruksi dari
memori.
●
Prosesor menjalankan instruksi tersebut.
●
Siklus instruksi dasar:
Stallings (2011)Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
34/78
Pemrosesan Instruksi (2)
●Eksekusi instruksi dapat melibatkan banyak operasi.
●Program Counter (PC) menyimpan alamat instruksi selanjutnya.
●Secara umum isi PC akan diinkremen pada setiap pengambilan
instruksi, yaitu sesuai dengan lokasi alamat memori selanjutnya
atau yang lebih tinggi.
●Instruksi yang diambil akan dimuat ke dalam register instruksi (IR) dan
instruksi akan berisi bit yang menentukan aksi yang harus dilakukan
oleh prosesor.
●Prosesor menerjemahkan instruksi yang ada di dalam IR dan
melakukan aksi sesuai dengan kategori:
●prosesormemori, prosesorI/O, pemrosesan data (aritmatika atau
logika), kontrol (contoh: mengeset PC ke alamat tertentu).
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
35/78 Stallings (2011)
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
36/78
Contoh Eksekusi Program
Stallings (2011) AC=Accumulator, single data register.
Algoritma dan
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
38/78
Algoritma
●
Sekumpulan/set langkahlangkah yang terstruktur untuk
melakukan sebuah operasi.
●
Secara ideal, dibutuhkan algoritma yang sangkil dan
mangkus/efektif dan efisien.
●
Operasi dalam sebuah komputer melibatkan algoritma dan
set instruksi.
–
Diimplementasikan dalam bentuk program sesuai
dengan bahasa yang dipilih oleh pemrogram.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
39/78
Bahasa Komputer
●Bahasa/kode mesin, berupa deretan angka/bit yang merepresentasikan
instruksi/data. Bahasa mesin bukan bahasa assembly.
–
Bahasa aras rendah/lowlevel language yaitu bahasa mesin dalam
bentuk mnemonik. Bahasa assembly. Assembler.
●Bahasa aras tinggi/highlevel language.
–
C, C++, Java, Python, PHP, dan lainlain.
–
Kompilator/compiler menerjemahkan bahasa aras tinggi (kode
sumber) ke bahasa mesin (program biner yang siap dieksekusi).
–
Interpreter membaca kode sumber dan menjalankan algoritma serta
urutan instruksi yang ada di dalamnya secara langsung.
●Bahasa alami. Sudah ada?
Kategori Perangkat
Lunak Komputer
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
41/78
Kategori Perangkat Lunak
●
Perangkat lunak sistem: berfungsi untuk mengoperasikan dan
mengendalikan sistem komputer, serta menyediakan
layanan/platform/utilitas pengembangan dan eksekusi perangkat
lunak aplikasi.
–
Sistem Operasi (SO)/kernel.
–
Program utilitas seperti kompilator, interpreter, shell, dan lain
lain.
●
Perangkat lunak aplikasi: berfungsi untuk membantu pengguna
melakukan aktivitas sesuai kebutuhannya.
–
Aplikasi perkantoran, peramban/browser web, sistem informasi
akademik, media sosial, pemutar video, simulasi, dst.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed B ee km an d an Q ui nn (2 00 8)
Arsitektur Perangkat
Lunak Komputer
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
45/78
Infrastruktur Perangkat Keras/Lunak
S ta lli ng s (2 01 1)Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
46/78
Instruction Set Architecture (ISA)
●
Kumpulan instruksi bahasa mesin yang merupakan
antarmuka antara perangkat keras dan perangkat lunak.
●
Terdiri dari set instruksi, register prosesor, ukuran word,
mode pengalamatan memori, format alamat dan data.
●
Baik aplikasi maupun program sistem seperti utilitas dan
pustaka/library dapat mengaksesnya secara langsung
melalui user ISA.
●
SO memiliki tambahan instruksi mesin yang berkaitan
dengan pengelolaan sumber daya sistem yaitu system
ISA.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
47/78
Application Binary Interface (ABI)
●
Standar portabilitas biner/binary portability standard antar
program.
●
ABI mendefinisikan antarmuka system call ke SO dan
sumber daya perangkat keras serta layanan yang tersedia
melalui user ISA.
●
Berkaitan dengan portabilitas biner program.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
48/78
Application Programming Interface (API)
●
Menyediakan akses ke sumber daya perangkat keras dan
layanan untuk program (aplikasi) melalui user ISA dengan
library call dari bahasa aras tinggi.
–
Ingat direktif #include dalam pemrograman bahasa C?
●
Dengan adanya API, sebuah program aplikasi dapat di
porting ke sistem lain yang menerapkan API yang sama.
Yang perlu dilakukan hanya mengkompilasi ulang kode
sumber. Ingat perbedaan kompilator dan interpreter?
●
Berkaitan dengan portabilitas kode sumber program.
Perangkat Lunak:
Sistem Operasi
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
50/78
Sistem Operasi (SO)
●
Awalnya dikembangkan untuk memudahkan
akses I/O.
●
Perangkat lunak terbesar dan terumit dalam
sebuah sistem komputer.
●
SO seperti Windows atau Linux membutuhkan
jutaan baris kode untuk membangunnya.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
52/78
Tujuan SO
●
Kenyamanan: membuat komputer nyaman untuk
digunakan oleh pemrogram dan pengguna awam.
Antarmuka.
●
Efisiensi: membuat penggunaan sumber daya pada
sebuah sistem komputer menjadi lebih efisien.
●
Mampu untuk dikembangkan lebih lanjut:
memungkinkan pengembangan, pengujian, dan
penambahan fungsi baru secara efektif, tanpa
mengganggu layanan yang sudah tersedia.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
53/78
Fungsi SO
●
Antarmuka pengguna/aplikasi dengan komputer.
●
Pengelola sumber daya komputer.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
54/78
Fungsi SO: Antarmuka (1)
●
Fungsi SO: sebagai
antarmuka bagi pengguna dan aplikasi
dengan perangkat keras komputer. Pengguna: pemrogram
dan pengguna akhir.
●
Melihat SO “dari atas ke bawah” (topdown).
●
Disebut pula sebagai fungsi perluasan mesin karena mesin
sebagai perangkat keras diperluas ke atas (di dalam hirarki
lapisan sistem komputer).
●
Disebut pula sebagai fungsi mesin virtual karena pengguna
seolaholah menggunakan mesin secara langsung melalui
SO, termasuk pemanfaatan fasilitas dan layanan sistem
komputer secara umum.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
55/78
Fungsi SO: Antarmuka (2)
●
Disebut pula sebagai fungsi abstraksi karena SO menyembunyikan
kompleksitas perangkat keras yang sebenarnya, dan memberikan
antarmuka yang nyaman bagi pemrogram.
●
Akses ke sumber daya komputer dapat dilakukan melalui
antarmuka layanan yaitu system call.
●
Pengguna menggunakan komputer melalui program aplikasi.
Bagaimana jika pemrogram harus melakukan pengembangan
program aplikasi pada aras/level bahasa mesin?
●
Pemrogram harus paham arsitektur dan rincian aras bawah dari
sebuah komputer.
●
Kompleks. Beda perangkat keras, beda cara memprogram.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
56/78
Perangkat keras
Aplikasi
Aplikasi
Aplikasi
Shared Runtime Libraries
mode pengguna
mode kernel
Antarmuka System Call
Komponen Device Driver
memory
manager
manager
task
manager
file
manager
network
SO/Kernel
Cruse (2004)Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
57/78
Fungsi SO: Antarmuka (3)
●
Utilitas dan pustaka tersedia untuk memudahkan
pemrogram aplikasi. Berisi fungsifungsi yang sering
digunakan dalam membuat program serta untuk
mengakses fasilitas dan layanan di dalam sistem
komputer.
●
Antarmuka di dalam sistem komputer tersedia sesuai
dengan tingkat abstraksinya.
●
Instruction Set Architecture (ISA).
●
Application Binary Interface (ABI).
●
Application Programming Interface (API).
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
58/78
Fungsi SO: Pengelola Sumber Daya (1)
●Sebuah komputer terdiri dari banyak sumber daya yang dapat
digunakan untuk memindahkan, menyimpan, dan memproses data,
serta melakukan pengendalian terhadap penggunaannya.
●SO bertanggung jawab untuk mengelola sumber daya tersebut.
●Melihat SO “dari bawah ke atas” (bottomup).
●Contoh kasus saat sistem komputer menjalankan banyak program
dalam satu waktu:
●pencetak/printer. Bagaimana jika terdapat 2 program yang memakai
pencetak pada saat yang bersamaan?
●komputer dalam jaringan. Bagaimana mengatur masukan dan
keluaran pada 2 komputer yang berbagi perangkat atau berkas yang
sama?
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
59/78
Fungsi SO: Pengelola Sumber Daya (2)
●
Mengelola dan melindungi memori, perangkat I/O, dan
sumber daya lainnya.
●
Mengendalikan alokasi sumber daya tersebut.
●
Yang dibagi bersama bukan hanya perangkat kerasnya
saja tetapi juga informasi seperti berkas dan basis data.
●
Berbagi bersama/multiplexing, baik ruang maupun
waktu pemakaian.
●
Perlu ada penjadwalan dalam penggunaan sumber
daya.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
60/78
Fungsi SO: Pengelola Sumber Daya (3)
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
61/78
Hardware and peripherals
Operating system kernel
C library
Shared libraries
Command line applications
Graphical user applications
Linux, Hurd, ...
GNU C library, uClibc, ...
libjpeg, libstdc++, libxml, ...
ls, mkdir, wget, ssh, gcc, busybox, shells (scripts), ...
Web browser, office, multimedia, ...
User
space
Kernel
Space
Hardware
CC BySA, freeelectrons.comPerkembangan
Sistem Operasi
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
63/78
Perkembangan SO
●Pemrosesan serial.
●Tidak ada SO, interaksi langsung dengan komputer, konsol dengan lampu,
saklar toggle, beberapa perangkat masukan, dan pencetak.
●Akses serial ke komputer.
●Masalah: penjadwalan seperti alokasi waktu, dan waktu setup sistem dan
program.
●Sistem batch sederhana.
●Komputer masih sangat mahal, memaksimalkan utilitas prosesor, pengguna
tidak lagi mengakses komputer secara langsung, pekerjaan dimasukkan
melalui operator. Job Control Language. Adanya kebutuhan fiturfitur pada
perangkat keras. Terdapat mode kernel dan pengguna.
●Sistem multiprogramming batch. Pengelolaan memori. Algoritma penjadwalan.
●Sistem timesharing. Kebutuhan komputasi yang interaktif. Multipengguna.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
64/78 Kristiyan Bogdanov, CC BySA, https://en.wikipedia.org/wiki/File:Windows_Updated_Family_Tree.png
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed Eraserhead1, Infinity0, Sav_vas, CC BySA, https://en.wikipedia.org/wiki/File:Unix_historysimple.svg
Unix dan
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed Eraserhead1, Infinity0, Sav_vas, CC BySA, https://en.wikipedia.org/wiki/File:Unix_historysimple.svg
Unix dan
Perangkat Lunak:
Aplikasi
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
68/78
Perangkat Lunak: Aplikasi
●Sesuai dengan kebutuhan pengguna: produktivitas, perkantoran, utilitas,
multimedia, gim, media sosial, sains, CAD/CAM, SIA, wisata, kesehatan,
perpustakaan, dan lainlain.
●Aplikasi umumnya disertai dengan dokumentasi yang berisi
tutorial/referensi/bantuan.
●Peningkatan versi/upgrade.
–
Fitur tambahan dan lebih sedikit bug/kesalahan program/galat?
–
Kebutuhan?
●Kompatibilitas, berkaitan dengan lingkungan aplikasi seperti SO, pustaka,
arsitektur perangkat keras, dan periferal. Cross platform. Virtualisasi.
●Penyangkalan/disclaimer terhadap pemakaian perangkat lunak dan
efeknya terhadap komputer/data pengguna.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
69/78
Aplikasi Web
●
Dapat berupa pemrosesan data yang sederhana.
●
Umumnya memanfaatkan konektivitas web di Internet.
●
Web menjadi repositori informasi/pengetahuan, tapi juga
repositori sampah ;)
●
Mendukung aktivitas pengguna di dunia nyata.
–
Jual beli, interaksi sosial, komunikasi, dst.
●
Menghilangkan sekat dan jarak. Distribusi cepat.
●
Internet, World Wide Web (WWW) atau web, HTTP.
–
Apa beda dari ketiga hal tersebut?
Antarmuka
Pengguna
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
71/78
Antarmuka Pengguna
●
Dapat berupa antarmuka teks/Text User Interface (TUI)
atau grafis/Graphical User Interface (GUI).
●
TUI dapat diakses melalui baris perintah/command line
atau dapat pula dengan antarmuka berbasis menu.
–
DOS, WordStar, mc, dan banyak lagi.
●
GUI dapat diakses melalui ikon, jendela, dan antarmuka
visual.
–
Umumnya sekarang sudah disertakan pada paket SO
lengkap.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
72/78
GUI pada Xerox Star 8010
U se r:G rm w nr , C C B y S A , h ttp s: //c om m on s. w ik im ed ia .o rg /w ik i/F ile :M ac in to sh _1 28 k_ tra ns pa re nc y. pn g
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
74/78
Antarmuka Pengguna di Masa Depan
●
Antarmuka dengan bahasa alami.
●
Pengguna berinteraksi langsung dengan obyek dan gestur
yang natural.
●
Aplikasi tertanam dalam perangkat (appliance).
●
Virtual reality.
Isuisu yang Berkaitan
dengan Perangkat
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
76/78
Isuisu dalam Perangkat Lunak
●
“Hak kekayaan intelektual”.
–
Hak cipta/copyright.
–
Paten/patent.
–
Merek dagang/trademark.
●
Penggunaan perangkat lunak yang tidak legal.
–
“Pembajakan”.
●
Free/Libre Software dan Open Source.
●
Free Culture: lisensi Creative Commons.
–
CC By, CC BySA, CC ByNCSA, CC ByND, dst.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
77/78
Lisensi Perangkat Lunak
●Setiap karya memiliki hak cipta/copyright.
●Lisensi: ijin untuk melakukan aktivitas dengan perangkat lunak.
●Perangkat lunak proprietary: untuk memakainya diperlukan lisensi, umumnya didapat dengan
membayar.
–
Memanfaatkan sarana legal dan hak cipta untuk membatasi pengguna.
–
Dibatasi penggunaan dan distribusinya. Tidak boleh dimodifikasi, dipelajari, atau dilakukan
reverseengineering.
–
Pengguna diikat oleh pembuat perangkat lunak. Closed source.
–
Perangkat lunak gratis: sudah disertai dengan lisensi untuk memakai saja tanpa dipungut
bayaran. Masih ada pembatasan. Freeware. Shareware = “trial”.
●Perangkat lunak bebas/Free Software: sudah disertai dengan lisensi untuk memakai,
mempelajari, memodifikasi, dan mendistribusikan.
–
Bisa diperoleh gratis atau dengan membayar. Pengguna punya pilihan.
–
Hak cipta pembuat tetap dijaga. Open Source.
–
Contoh: Linux, Mozilla Firefox, MediaWiki, WordPress.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed