Rekayasa Perangkat Lunak dan Pengetahuan

Sistem operasi

Dipublikasikan oleh Muhammad Farhan Fadhil pada 15 Juli 2022


Sistem operasi (bahasa Inggris: operating system; disingkat OS) adalah perangkat lunak sistem yang mengatur sumber daya dari perangkat keras dan perangkat lunak, serta sebagai daemon untuk program komputer. Tanpa sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program booting.

Sistem operasi mempunyai penjadwalan yang sistematis mencakup perhitungan penggunaan memori, pemrosesan data, penyimpanan data, dan sumber daya lainnya.

Untuk fungsi-fungsi perangkat keras seperti sebagai masukan dan keluaran dan alokasi memori, sistem operasi bertindak sebagai perantara antara program aplikasi dan perangkat keras komputer,[1][2] meskipun kode aplikasi biasanya dieksekusi langsung oleh perangkat keras dan sering kali akan menghubungi OS atau terputus oleh itu. Sistem operasi yang ditemukan pada hampir semua perangkat yang berisi komputer-dari ponsel dan konsol permainan video untuk superkomputer dan server web.

Contoh sistem operasi modern adalah Linux, Android, iOS, Mac OS X, dan Microsoft Windows.[3]

Pendahuluan
Biasanya, istilah sistem operasi sering ditujukan kepada semua perangkat lunak yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi perangkat lunak terinstal. Sistem operasi adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan perangkat lunak aplikasi seperti program-program pengolah kata dan peramban web.

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.

Kalau sistem komputer terbagi dalam lapisan-lapisan, maka sistem operasi adalah penghubung antara lapisan hardware dengan lapisan software. Sistem operasi melakukan semua tugas-tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar. Sistem operasi menjamin aplikasi lainnya dapat menggunakan memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses kepada sistem berkas. Apabila beberapa aplikasi berjalan secara bersamaan, maka Sistem operasi mengatur schedule yang tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta tidak saling mengganggu.

Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsi-fungsi standar, di mana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari awal.

Sistem operasi secara umum terdiri dari beberapa bagian:

Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
Kernel, yaitu inti dari sebuah sistem operasi
Command Interpreter atau shell, yang bertugas membaca input dari pengguna
Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain
Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrolnya.
Sebagian Sistem operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu (misalnya DOS), tetapi sebagian besar Sistem Operasi baru mengizinkan beberapa aplikasi berjalan secara simultan pada waktu yang bersamaan. Sistem operasi seperti ini disebut sebagai Multi-tasking Operating System (misalnya keluarga sistem operasi UNIX). Beberapa Sistem Operasi berukuran sangat besar dan kompleks, serta inputnya tergantung kepada input pengguna, sedangkan sistem operasi lainnya sangat kecil dan dibuat dengan asumsi bekerja tanpa intervensi manusia sama sekali. Tipe yang pertama sering disebut sebagai Desktop OS, sedangkan tipe kedua adalah Real-Time OS, contohnya adalah Windows, Linux, Free BSD, Solaris, palm, symbian, dan sebagainya.

Layanan
Seiring dengan berkembangnya sistem operasi, semakin banyak lagi layanan yang menjadi layanan inti umum. Kini, sebuah OS mungkin perlu menyediakan layanan jaringan dan koneksi internet, yang dulunya tidak menjadi layanan inti umum. Sistem operasi juga perlu untuk menjaga kerusakan sistem komputer dari gangguan program perusak yang berasal dari komputer lainnya, seperti virus. Daftar layanan inti umum akan terus bertambah.

Program saling berkomunikasi antara satu dengan lainnya dengan Antarmuka Pemrograman Aplikasi, Application Programming Interface atau disingkat dengan API. Dengan API inilah program aplikasi dapat berkomunikasi dengan sistem operasi. Sebagaimana manusia berkomunikasi dengan komputer melalui Antarmuka User, program juga berkomunikasi dengan program lainnya melalui API.

Walaupun demikian API sebuah komputer tidaklah berpengaruh sepenuhnya pada program-program yang dijalankan diatas platform operasi tersebut. Contohnya bila program yang dibuat untuk Windows 3.1 bila dijalankan pada Windows 95 dan generasi setelahnya akan terlihat perbedaan yang mencolok antara program tersebut dengan program yang lain.

Sistem operasi saat ini
Sistem operasi utama yang digunakan komputer umum (termasuk PC, komputer personal) terbagi menjadi 3 kelompok besar:

  • Sistem Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7 (Seven) yang dirilis pada tahun 2009, Windows 8 yang dirilis pada Oktober 2012), Windows 10 (Dirilis pada Juli 2015) dan yang terakhir yaitu Windows 11 (Dirilis pada Oktober 2021)
  • Sistem Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, Zeath OS (berbasis kernel linux yang dimodifikasi.)MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
  • Sistem Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi yang terbaru adalah Mac OS versi 12.3.1 (Monterey).

Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll.

Prosesor[sunting | sunting sumber]

Prosesor mengeksekusi program-program komputer. Prosesor adalah sebuah chip dalam sistem komputer yang menjalankan instruksi-instruksi program komputer. Dalam setiap detiknya prosesor dapat menjalankan jutaan instruksi.

Program adalah sederetan instruksi yang diberikan kepada suatu komputer. Sedangkan proses adalah suatu bagian dari program yang berada pada status tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih sering membahas proses dibandingkan dengan program. Pada Sistem Operasi modern, pada saat tertentu tidak seluruh program dimuat dalam memori, tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari program tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian dari program tersebut dimuat di memori dan dieksekusi oleh prosesor. Hal ini sangat menghemat pemakaian memori.

Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu, sedangkan yang lainnya menjalankan multi-proses dalam satu waktu. Padahal sebagian besar sistem komputer hanya memiliki satu prosesor, dan sebuah prosesor hanya dapat menjalankan satu instruksi dalam satu waktu. Maka bagaimana sebuah sistem prosesor tunggal dapat menjalankan multi-proses? Sesungguhnya pada granularity yang sangat kecil, prosesor hanya menjalankan satu proses dalam satu waktu, kemudian secara cepat ia berpindah menjalankan proses lainnya, dan seterusnya. Sehingga bagi penglihatan dan perasaan pengguna manusia, seakan-akan prosesor menjalankan beberapa proses secara bersamaan.

Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga mengubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).

Status prosesor

Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu:

  1. Ready, yaitu status di mana proses siap untuk dieksekusi pada giliran berikutnya
  2. Running, yaitu status di mana saat ini proses sedang dieksekusi oleh prosesor
  3. Blocked, yaitu status di mana proses tidak dapat dijalankan pada saat prosesor siap/bebas

Fungsi
Sistem operasi membuat komputer menjadi lebih mudah dan menarik serta nyaman untuk digunakan.
Sistem operasi memungkinkan sumberdaya komputer digunakan secara efisien.
Sistem operasi yang disusun/diprogram sedemikian rupa memungkinkan menerima perubahan/pengembangan baru yang efektif dan efisien, dapat melakukan pengujian sistem tanpa mengganggu layanan yang telah ada.

Sumber Artikel: id.wikipedia.org

Selengkapnya
Sistem operasi

Rekayasa Perangkat Lunak dan Pengetahuan

Desain antarmuka pengguna

Dipublikasikan oleh Muhammad Farhan Fadhil pada 15 Juli 2022


Desain Antarmuka Pengguna (bahasa Inggris: User Interface Design) atau rekayasa antarmuka pengguna adalah desain untuk komputer, peralatan, mesin, perangkat komunikasi mobile, aplikasi perangkat lunak, dan situs web yang berfokus pada pengalaman pengguna (bahasa Inggris: User Experience) dan interaksi.

Tujuan dari Desain Antarmuka Pengguna adalah untuk membuat interaksi pengguna sesederhana dan seefisien mungkin, dalam hal mencapai tujuan pengguna—atau apa yang sering disebut dengan user-centered design.

Desain Antarmuka Pengguna yang baik dapat memberikan penyelesaian pekerjaan dengan menggunakan tangan tanpa menarik perhatian yang tidak perlu terhadap dirinya sendiri. Desain grafis dapat dimanfaatkan untuk mendukung kegunaan (bahasa Inggris: Usability). Proses desain haruslah seimbang antara fungsi teknis dan elemen visual (misalnya, model mental) untuk menciptakan sebuah sistem yang tidak hanya bisa beroperasi tetapi juga dapat digunakan dan disesuaikan dengan kebutuhan pengguna.

Desain Antarmuka Pengguna terlibat dalam berbagai proyek dari sistem komputer, untuk mobil, untuk pesawat komersial; semua proyek ini melibatkan banyak interaksi manusia dasar yang sama dan juga membutuhkan beberapa keterampilan yang unik dan pengetahuan. Akibatnya, desainer cenderung mengkhususkan diri pada jenis proyek tertentu dan memiliki kemampuan berpusat di sekitar keahlian mereka, apakah itu desain software, penelitian pengguna, desain web, atau desain industri.

Sumber Artikel: id.wikipedia.org

Selengkapnya
Desain antarmuka pengguna

Rekayasa Perangkat Lunak dan Pengetahuan

Pengalaman pengguna

Dipublikasikan oleh Muhammad Farhan Fadhil pada 15 Juli 2022


Pengalaman pengguna (bahasa Inggris: user experience, atau UX) adalah bagaimana cara seseorang merasakan ketika menggunakan sebuah produk, sistem, atau jasa. Pengalaman pengguna menyoroti aspek-aspek pengalaman, pengaruh, arti dan nilai dari interaksi manusia-komputer dan kepemilikan sebuah produk, juga termasuk persepsi seseorang mengenai aspek-aspek praktis seperti kegunaan, kemudahan penggunaan, dan efisiensi dari sebuah sistem. Pengalaman pengguna pada dasarnya subyektif, karena pengalaman pengguna berdasar atas perasaan dan pemikiran individu mengenai sebuah sistem. Pengalaman pengguna sifatnya dinamis, karena senantiasa berubah dari waktu ke waktu seiring berubahnya keadaan.

Definisi
ISO 9241-210[1] mendefinisikan pengalaman pengguna sebagai "persepsi dan respon seseorang yang dihasilkan dari penggunaan atau penggunaan terantisipasi dari sebuah produk, sistem, atau jasa". Maka, pengalaman pengguna adalah subyektif dan berfokus pada penggunaan.

Catatan tambahan pada definisi ISO menerangkan bahwa pengalaman pengguna mencakup semua emosi, keyakinan, pilihan, persepsi, respon fisik dan psikologis, perilaku, dan keberhasilan pengguna yang terjadi sebelum, selama, dan setelah penggunaan. Catatan tambahan ini juga menyertakan tiga faktor yang mempengaruhi pengalaman pengguna: sistem, pengguna, dan konteks penggunaan.

Sejarah
Istilah pengalaman pengguna diperkenalkan oleh Donald Norman, Arsitek Pengalaman Pengguna, di pertengahan 1990-an.[2] Beberapa perkembangan yang mempengaruhi munculnya minat di bidang pengalaman pengguna:

Kemajuan terbaru dalam teknologi komputasi yang bergerak, ada di mana-mana, sosial, dan nyata telah memindahkan interaksi manusia-komputer ke hampir semua bidang aktivitas manusia. Hal ini telah menyebabkan pergeseran dari teknik kegunaan (usability engineering) ke ruang lingkup pengalaman pengguna yang jauh lebih kaya, dimana perasaan, motivasi, dan nilai-nilai pengguna mendapatkan perhatian lebih daripada efisiensi, efektivitas, dan kepuasan subyektif.[3]
Dalam desain web, adalah penting untuk menggabungkan kepentingan-kepentingan dari berbagai stakeholder: pemasaran, branding, desain visual, dan kegunaan. Orang-orang pemasaran dan branding perlu memasuki dunia interaktif di mana kegunaan itu penting. Para pelaku kegunaan (usability) harus mengambil keperluan pemasaran, branding, dan estetika sebagai pertimbangan ketika mendesain website. Pengalaman pengguna memberikan sebuah platform untuk menutupi kepentingan-kepentingan semua stakeholder: membuat situs-situs web mudah digunakan, berharga, dan efektif bagi pengunjung. Inilah sebabnya mengapa beberapa publikasi awal pengalaman pengguna fokus pada pengalaman pengguna website.[4][5][6][7]
Bidang pengalaman pengguna didirikan untuk melindungi perspektif holistik mengenai bagaimana seseorang merasa tentang penggunaan sebuah sistem. Fokusnya adalah pada kesenangan dan nilai daripada kinerja. Definisi yang tepat, kerangka, dan elemen-elemen pengalaman pengguna masih dalam perkembangan.

Dampak
Melalui transformasi ke masyarakat post-materialistic experience mulai berdampak ke bisnis, seperti terindikasi dari buku The Experience Economy (Pine & Gilmore, 1999) atau Experiential Marketing (Schmitt 1999).[8]

Sumber Artikel: id.wikipedia.org

Selengkapnya
Pengalaman pengguna
page 1 of 1