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
1/78
Elemen Sistem Komputer
Stallings (2011)
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
2/78
Memindah, menyimpan, dan memproses informasi.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
3/78
Tren Sistem Komputer
Singleboard computer vs. Singleboard microcontroller?
Kenapa tidak pakai PC?
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
7/78
Cadillac, http://wired.com/autopia/2012/05/2013cadillacxts/
Cadillac, http://wired.com/autopia/2012/05/2013cadillacxts/
Cadillac, http://wired.com/autopia/2012/05/2013cadillacxts/
kalleboo, CC By, http://flic.kr/p/4LxMxo
paulmmay, CC By, http://flic.kr/p/4JBq6v
http://businessinsider.com/linuxbaseddevices20117
http://businessinsider.com/linuxbaseddevices20117
http://businessinsider.com/linuxbaseddevices20117
John Dalton, CC BySA, http://flic.kr/p/4p4z2V
Design Continuum, CC By, https://en.wikipedia.org/wiki/File:Laptop09053.jpg
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
kodomut, CC By, http://flic.kr/p/8QJyno
Burnt Pixel, CC ByNCND, http://flic.kr/p/4kqsPw
parl, CC ByNCND, http://flic.kr/p/8C54fG
Matt Biddulph, CC BySA, http://flic.kr/p/6R3epA
Saad Irfan, CC ByNCSA, http://flic.kr/p/8SLo4d
http://rangenetworks.com/solutions/customers/papuaindonesia
http://tier.cs.berkeley.edu/drupal/node/200
http://tier.cs.berkeley.edu/drupal/node/200
http://tier.cs.berkeley.edu/drupal/node/200 Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
http://tier.cs.berkeley.edu/drupal/node/200
http://techhive.com/article/2032097/cellsystemusedinantarcticamayhelptocoverruralus.html
Hayt dkk. (2012)
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 ...
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
30/78
Eksekusi Instruksi
Sebuah program terdiri dari set instruksi yang tersimpan di dalam memori.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
32/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
33/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
34/78
Komponen Komputer: Toplevel View
Stallings (2011)
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
35/78
Contoh Eksekusi Program
Stallings (2011)
AC=Accumulator, single data register. Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
36/78
Algoritma dan Bahasa Komputer
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
38/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?
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
39/78
Kategori Perangkat Lunak Komputer
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
41/78
Beekman dan Quinn (2008) Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
Arsitektur Perangkat Lunak Komputer
Tanenbaum (2008)
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
Stallings (2011)
Infrastruktur Perangkat Keras/Lunak
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
45/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
46/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
47/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.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
48/78
Perangkat Lunak: Sistem Operasi
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
50/78
Tanenbaum (2009)
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
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
52/78
Fungsi SO ●
Antarmuka pengguna/aplikasi dengan komputer.
●
Pengelola sumber daya komputer.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
53/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
54/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
55/78
Aplikasi
Aplikasi
Aplikasi
Shared Runtime Libraries mode pengguna mode kernel
Antarmuka System Call memory manager
task manager
file manager
network manager
Komponen Device Driver SO/Kernel
Cruse (2004)
Perangkat keras Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
56/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
57/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
58/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
59/78
Fungsi SO: Pengelola Sumber Daya (3)
Stallings (2012)
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
60/78
Graphical user applications Web browser, office, multimedia, ...
Command line applications ls, mkdir, wget, ssh, gcc, busybox, shells (scripts), ...
User space
Shared libraries libjpeg, libstdc++, libxml, ...
C library GNU C library, uClibc, ...
Operating system kernel Linux, Hurd, ...
Kernel Space Hardware
Hardware and peripherals CC BySA, freeelectrons.com Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
61/78
Perkembangan Sistem Operasi
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
63/78
Linimasa Pengembangan Windows
Kristiyan Bogdanov, CC BySA, https://en.wikipedia.org/wiki/File:Windows_Updated_Family_Tree.png Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
64/78
Unix dan Unixlike.
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 Unixlike.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
Eraserhead1, Infinity0, Sav_vas, CC BySA, https://en.wikipedia.org/wiki/File:Unix_historysimple.svg
Perangkat Lunak: Aplikasi
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
68/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?
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
69/78
Antarmuka Pengguna
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
71/78
GUI pada Xerox Star 8010
Digibarn Computer Museum, fair use, https://en.wikipedia.org/wiki/File:Xerox_Star_8010_workstations.jpg Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
72/78
User:Grm wnr, CC BySA, https://commons.wikimedia.org/wiki/File:Macintosh_128k_transparency.png
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.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
74/78
Isuisu yang Berkaitan dengan Perangkat Lunak
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
76/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
77/78
Daftar Bacaan ●
●
●
●
Beekman, G., Quinn, M.J. 2008. Tomorrow’s Technology and You, Eighth Edition, salindia presentasi, Prentice Hall. Nugroho, Y. 2014. Single Board Computer dan Single Board Microcontroller, cintaprogramming.com/2014/ 03/03/singleboardcomputerdansingleboard microcontroller/. Stallings, W. 2011. Operating Systems: Internals and Design Principles, Seventh Edition, salindia presentasi. Stallings, W. 2012. Operating Systems: Internals and Design Principles, Seventh Edition, Prentice Hall.
Konsep Sistem Informasi (TKE132206) – Jurusan Teknik Elektro, Unsoed
78/78