12 April 2012

Struktur Sistem Operasi



   Komponen-komponen Sistem
  1. Manajemen Proses
Proses adalah sebuah program yang sedang dieksekusi. Sedangkan program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Sebuah proses membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, alamat memori, File-File, dan perangkat-perangkat I/O. Sistem operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mengambil kembali semua sumber daya agar bisa digunakan kembali oleh proses lainnya.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti:




  • Membuat dan menghapus proses pengguna dan sistem proses. Sistem operasi bertugas mengalokasikan sumber daya yang dibutuhkan oleh sebuah proses dan kemudian mengambil sumber daya itu kembali setelah proses tersebut selesai agar dapat digunakan untuk proses lainnya.
  • Menunda atau melanjutkan proses. Sistem operasi akan mengatur proses apa yang harus dijalankan terlebih dahulu berdasarkan berdasarkan prioritas dari proses-proses yang ada. Apa bila terjadi 2 atau lebih proses yang mengantri untuk dijalankan, sistem operasi akan mendahulukan proses yang memiliki prioritas paling besar.
  • Menyediakan mekanisme untuk proses sinkronisasi. Sistem operasi akan mengatur jalannya beberapa proses yang dieksekusi bersamaan. Tujuannya adalah menghindarkan terjadinya inkonsistensi data karena pengaksesan data yang sama, juga untuk mengatur urutan jalannya proses agar setiap proses berjalan dengan lancar
  • Menyediakan mekanisme untuk proses komunikasi. Sistem operasi menyediakan mekanisme agar beberapa proses dapat saling berinteraksi dan berkomunikasi (contohnya berbagi sumber daya antar proses) satu sama lain tanpa menyebabkan terganggunya proses lainnya.
  • Menyediakan mekanisme untuk penanganan deadlock.  Deadlock adalah suatu keadaan dimana sistem seperti terhenti karena setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain. Saling menunggu inilah yang disebut deadlock (kebuntuan). Sistem operasi harus bisa mencegah, menghindari, dan mendeteksi adanya deadlock. Jika deadlock terjadi, sistem operasi juga harus dapat memulihkan kondisi sistemnya.
  1. Manajemen Memori Utama
Sistem operasi memiliki tugas untuk mengatur bagian memori yang sedang digunakan dan mengalokasikan jumlah dan alamat memori yang diperlukan, baik untuk program yang akan berjalan maupun untuk sistem operasi itu sendiri. Tujuan dari manajemen memori utama adalah agar utilitas CPU meningkat dan untuk meningkatkan efisiensi pemakaian memori.
Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori utama berfungsi sebagai tempat penyimpanan instruksi/data yang akses datanya digunakan oleh CPU dan perangkat I/O. Memori utama termasuk tempat penyimpanan data yang yang bersifat volatile(tidak permanen), yaitu data akan hilang kalau komputer dimatikan.
Sistem komputer modern memiliki sistem hirarki memori, artinya memori yang ada di komputer disusun dengan tingkatan kecepatan dan kapasitas yang berbeda. Memori yang memiliki kecepatan sama dengan kecepatan prosesor memiliki kapasitas yang kecil, berkisar hanya dari ratusan KB hingga 4 MB dengan harga yang sangat mahal. Sedangkan memori utama yang kecepatannya jauh di bawah kecepatan prosesor memiliki kapasitas yang lebih besar, berkisar dari 128 MB hingga 4 GB dengan harga yang jauh lebih murah. Sistem hirarki memori ini memiliki tujuan agar kinerja komputer yang maksimal bisa didapat dengan harga yang terjangkau.


  1. Manajemen Memori Sekunder
Memori sekunder (secondary storage) adalah sarana penyimpanan yang berada satu tingkat di bawah memori utama sebuah komputer dalam hirarki memori. Tidak seperti memori utama komputer, memori sekunder tidak memiliki hubungan langsung dengan prosesor melalui bus, sehingga harus melewati I/O.
Sarana memori sekunder memiliki ciri-ciri umum sebagai berikut:
  • Non volatile(tahan lama). Walaupun komputer dimatikan, data-data yang disimpan di sarana memori sekunder tidak hilang. Data disimpan dalam piringan-piringan magnetik.
  • Tidak berhubungan langsung dengan bus CPU. Dalam struktur organisasi komputer modern, sarana memori sekunder terhubung dengan northbridge. Northbridge yang menghubungkan sarana memori sekunder pada I/O dengan bus CPU.
  • Lambat. Data yang berada di sarana memori sekunder memiliki waktu yang lebih lama untuk diakses (read/write) dibandingkan dengan mengakses di memori utama. Selain disebabkan oleh bandwidth bus yang lebih rendah, hal ini juga dikarenakan adanya mekanisme perputaran head dan piringan magnetik yang memakan waktu.
  • Harganya murah. Perbandingan harga yang dibayar oleh pengguna per byte data jauh lebih murah dibandingkan dengan harga memori utama.




Sarana memori sekunder memiliki fungsi-fungsi sebagai berikut:
  • Menyimpan File secara permanen. Data atau File diletakkan secara fisik pada piringan magnet dari disk, yang tidak hilang walaupun komputer dimatikan ( non volatile)
  • Menyimpan program yang belum dieksekusi prosesor. Jika sebuah program ingin dieksekusi oleh prosesor, program tersebut dibaca dari disk, lalu diletakkan di memori utama komputer untuk selanjutnya dieksekusi oleh prosesor menjadi proses.
  • Memori virtual. Adalah mekanisme sistem operasi untuk menjadikan beberapa ruang kosong dari disk menjadi alamat-alamat memori virtual, sehingga prosesor bisa menggunakan memori virtual ini seolah-olah sebagai memori utama. Akan tetapi, karena letaknya di memori sekunder, akses prosesor ke memori virtual menjadi jauh lebih lambat dan menghambat kinerja komputer.


Sistem operasi memiliki peran penting dalam manajemen memori sekunder. Tujuan penting dari manajemen ini adalah untuk keamanan, efisiensi, dan optimalisasi penggunaan sarana memori sekunder.


  1. Manajemen I/O
Pekerjaan utama yang paling sering dilakukan oleh sistem komputer selain melakukan komputasi adalah Input/Output (I/O). Dalam kenyataannya, waktu yang digunakan untuk komputasi lebih sedikit dibandingkan waktu untuk I/O. Ditambah lagi dengan banyaknya variasi perangkat I/O sehingga membuat manajemen I/O menjadi komponen yang penting bagi sebuah sistem operasi. Sistem operasi juga sering disebut device manager, karena sistem operasi mengatur berbagai macam perangkat (device).
Fungsi-fungsi sistem operasi untuk sistem I/O:
  • Penyanggaan ( buffering). Menampung data sementara dari/ke perangkat I/O
  • Penjadwalan ( scheduling). Melakukan penjadualan pemakaian I/O sistem supaya lebih efisien.
  • Spooling. Meletakkan suatu pekerjaan program pada penyangga, agar setiap perangkat dapat mengaksesnya saat perangkat tersebut siap.
  • Menyediakan driver perangkat yang umum.  Driver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras I/O yang umum, seperti optical drive, media memori sekunder, dan layar monitor.
  • Menyediakan driver perangkat yang khusus.  Driver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras I/O tertentu, seperti kartu suara, kartu grafis, dan motherboard
  1. Manajemen File
File adalah representasi program dan data yang berupa kumpulan informasi yang saling berhubungan dan disimpan di perangkat penyimpanan. Sistem File ini sangatlah penting, karena informasi atau data yang disimpan dalam File adalah sesuatu yang sangat berharga bagi pengguna. Sistem operasi harus dapat melakukan operasi-operasi pada File, seperti membuka, membaca, menulis, dan menyimpan File tersebut pada sarana memori sekunder. Oleh karena itu, sistem operasi harus dapat melakukan operasi File dengan baik.


Sistem operasi melakukan manajemen sistem File dalam beberapa hal:
  • Pembuatan File atau direktori. File yang dibuat nantinya akan diletakkan pada direktori-direktori yang diinginkan pada sistem File. Sistem operasi akan menunjukkan tempat dimana lokasi File atau direktori tersebut akan diletakkan. Setelah itu, sistem operasi akan membuat entri yang berisi nama File dan lokasinya pada sistem File.
  • Penghapusan File atau direktori. Sistem operasi akan mencari letak File atau direktori yang hendak dihapus dari sistem File, lalu menghapus seluruh entri File tersebut, agar tempat dari File tersebut dapat digunakan oleh File lainnya.
  • Pembacaan dan menulis FileProses pembacaan dan penulisan File melibatkan pointer yang menunjukkan posisi dimana sebuah informasi akan dituliskan di dalam sebuah File.
  • Meletakkan File pada sistem memori sekunder. Sistem operasi mengatur lokasi fisik tempat penyimpanan File pada sarana memori sekunder


  1. 2.       Pelayanan Sistem Operasi
Seperti yang telah kita ketahui bersama, tujuan dari sebuah sistem operasi adalah sebagai penghubung antara user dan hardware, dimana sistem operasi memberikan kemudahan-kemudahan agar user tidak harus mengakses hardware secara langsung dalam bahasa mesin, tetapi dalam bentuk layanan-layanan yang diberikan oleh sistem operasi.
Berikut ini adalah kategori-kategori layanan yang diberikan oleh sistem operasi:
  • Antarmuka. Sistem operasi menyediakan berbagai fasilitas yang membantu programmer dalam membuat program seperti editor. Walaupun bukan bagian dari sistem operasi, tapi layanan ini diakses melalui sistem operasi.
  • Eksekusi Program. Sistem harus bisa me- load program ke memori, dan menjalankan program tersebut. Program harus bisa menghentikan pengeksekusian baik secara normal maupun tidak (ada error).
  • Operasi Masukan/Keluaran. Program yang sedang dijalankan kadang kala membutuhkan Masukan/Keluaran. Untuk efisiensi dan keamanan, pengguna biasanya tidak bisa mengatur piranti masukan/keluaran secara langsung, untuk itulah sistem operasi harus menyediakan mekanisme dalam melakukan operasi masukan/keluaran.
  • Manipulasi Sistem Berkas. Program harus membaca dan menulis berkas, dan kadang kala juga harus membuat dan menghapus berkas.
  • Komunikasi. Kadang kala sebuah proses memerlukan informasi dari proses lain. Ada dua cara umum dimana komunikasi dapat dilakukan. Komunikasi dapat terjadi antara proses dalam satu komputer, atau antara proses yang berada dalam komputer yang berbeda tetapi dihubungkan oleh jaringan komputer. Komunikasi dapat dilakukan dengan share-memory atau message-passing, dimana sejumlah informasi dipindahkan antara proses oleh sistem operasi.
  • Deteksi Error. Sistem operasi harus selalu waspada terhadap kemungkinan error. Error dapat terjadi di CPU dan memori perangkat keras, masukan/keluaran, dan di dalam program yang dijalankan pengguna. Untuk setiap jenis error sistem operasi harus bisa mengambil langkah yang tepat untuk mempertahanan jalannya proses komputasi, misalnya dengan menghentikan jalannya program, mencoba kembali melakukan operasi yang dijalankan, atau melaporkan kesalahan yang terjadi agar pengguna dapat mengambil langkah selanjutnya.


Disamping pelayanan di atas, terdapat juga layanan-layanan lain yang bertujuan untuk mempertahankan efisiensi sistem itu sendiri. Layanan tambahan itu yaitu:
  • Alokasi Sumber Daya. Ketika beberapa pengguna menggunakan sistem atau beberapa program dijalankan secara bersamaan, sumber daya harus dialokasikan bagi masing-masing pengguna dan program tersebut.
  • Accounting. Kita menginginkan agar jumlah pengguna yang menggunakan sumber daya, dan jenis sumber daya yang digunakan selalu terjaga. Untuk itu maka diperlukan suatu perhitungan dan statistik. Perhitungan ini diperlukan bagi seseorang yang ingin merubah konfigurasi sistem untuk meningkatkan pelayanan.
  • Proteksi. Layanan proteksi memastikan bahwa segala akses ke sumber daya terkontrol; dan tentu saja keamanan terhadap gangguan dari luar sistem tersebut. Keamanan bisa saja dilakukan dengan terlebih dahulu mengindentifikasi pengguna. Ini bisa dilakukan dengan meminta password bila ingin menggunakan sumber daya.


  1. 3.       System Call
Komputer digunakan untuk melakukan suatu proses yang dikehendaki user. Oleh karena itu harus ada suatu bentuk komunikasi antara user dan hardware. Komunikasi itu terjadi dalam bentuk system calls. SO melalui shell-nya akan menangkap perintah dari user yang kemudian akan dikomunikasikan melalui system calls. Disinilah peran SO sebagai jembatan komunikasi antara user dan hardware itu terjadi. System calls itu sendiri umumnya ditulis dalam bahasa C dan C++.
Mengenai shell, shell itu sendiri secara umum adalah layer yang berfungsi sebagai interface antara user dan inti dalam sistem operasi (kernel). Melalui shell, user dapat memberi perintah-perintah yang akan dikirim ke sistem operasi, sehingga shell ini merupakan layer yang menerima interaksi dari user secara langsung. Shell dalam SO secara umum dibagi menjadi 2, Command Line(CLI) dan Graphical(GUI). Jadi dengan kata lain, system calls berperan sebagai interface dalam layanan-layanan yang disediakan oleh sistem operasi.
Untuk lebih jelasnya lihat gambar berikut. Contoh di atas adalah sytem calls di dalam program yang membaca data dari satu file lalu meng- copy-nya ke file lain.


  1. 4.       Sistem Program
Seperti yang sudah kita pelajari di bab-bab awal bahwa terdapat empat komponen utama dalam sistem komputer, apabila kita jabarkan, dari yang paling bawah adalah perangkat keras ( Hardware), lalu di atasnya adalah sistem operasi, kemudian di atasnya dimana yang berhubungan langsung dengan para pengguna adalah sistem program dan program aplikasi. Di dalam sistem komputer, sistem program berguna untuk menyediakan kemudahan-kemudahan bagi pengembangan progran serta eksekusi. sistem program yang sering kita gunakan contohnya adalah format dan login. Sistem program dibagi dalam beberapa kategori yaitu:
  • Manajemen/manipulasi Berkas. Membuat, menghapus, menyalin, mengganti nama, mencetak, memanipulasi berkas dan direktori.
  • Informasi Status. Beberapa program meminta informasi tentang tanggal, jam, jumlah memori dan disk yang tersedia, jumlah pengguna dan informasi yang sejenis.
  • Modifikasi Berkas. Membuat berkas dan memodifikasi isi berkas yang disimpan pada disk atau tape.
  • Pendukung Bahasa Pemograman. Kadang kala kompilator, assembler, interpreter, dari bahasa pemograman diberikan kepada pengguna dengan bantuan sistem operasi.
  • Loading dan Eksekusi Program. Ketika program di assembly atau dikompilasi, program tersebut harus di load ke dalam memori untuk dieksekusi. Untuk itu sistem harus menyediakan absolute loaders, relocatable loaders, linkage editors, dan overlay loaders.
  • Komunikasi. Komunikasi menyediakan mekanisme komunikasi antara proses, pengguna, dan sistem komputer yang berbeda. Sehingga pengguna bisa mengirim pesan, browse web pages, mengirim e-mail, atau mentransfer berkas.


  1. 5.       Struktur Sistem Operasi
    1. Struktur Sederhana
Pada awalnya, sistem operasi dimulai sebagai sistem yang kecil, sederhana, dan terbatas. Lama kelamaan, sistem operasi semakin berkembang menjadi suatu sistem yang lebih besar dari awalnya. Dalam perkembangannya, ada sistem yang terstruktur dengan kurang baik, dan ada juga yang baik. Contoh sistem yang terstruktur kurang baik adalah MS-DOS. Sistem operasi ini dirancang sedemikian rupa agar mampu berjalan pada hardware yang terbatas. Memang memiliki struktur, tapi belum terbagi-bagi dalam modul-modul, dan interface serta fungsionalitas tidak begitu jelas batasannya.
Begitu pula dengan UNIX, yang pada awalnya juga terbatas oleh hardware yang ada. Sistem ini dapat dibagi menjadi dua bagian, yaitu kernel dan program sistem. Kernel sendiri dapat dibagi menjadi dua bagian, yaitu device driver dan interface, yang kemudian terus berkembang seiring dengan perkembangan UNIX. Berikut ini adalah skema struktur UNIX.


  1. Monolithic System
Sistem operasi sebagai kumpulan prosedur dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan. Kernel berisi semua layanan yang disediakan sistem operasi untuk pemakai. Sistem operasi ditulis sebagai sekumpulan prosedur (a collection of procedures), yang dapat dipanggil setiap saat oleh pemakai saat dibutuhkan.


Kelemahan :
  • Pengujian dan penghilangan kesalahan sulit karena tidak dapat dipisahkan dan dilokalisasi.
  • Sulit dalam menyediakan fasilitas pengamanan.
  • Merupakan pemborosan bila setiap komputer harus menjalankan kernel monolitik sangat besar sementara sebenarnya tidak memerlukan seluruh layanan yang disediakan kernel.
  • Tidak fleksibel.
  • Kesalahan pemograman satu bagian dari kernel menyebabkan matinya seluruh sistem.


   Keunggulan :
  • Layanan dapat dilakukan sangat cepat karena terdapat di satu ruang alamat.


Kebanyakan UNIX sampai saat ini berstruktur monolitik. Meskipun monolitik, yaitu seluruh komponen/subsistem sistem operasi terdapat di satu ruang alamat tetapi secara rancangan adalah berlapis. Rancangan adalah berlapis yaitu secara logik satu komponen/subsistem merupakan lapisan lebih bawah dibanding lainnya dan menyediakan layanan-layanan untuk lapisan-lapisan lebih atas. Komponen-komponen tersebut kemudia dikompilasi dan dikaitkan (di-link) menjadi satu ruang alamat.
Untuk mempermudah dalam pengembangan terutama pengujian dan fleksibilitas, kebanyakan UNIX saat ini menggunakan konsep kernel loadable modules,yaitu:
  • Bagian-bagian kernel terpenting berada di memori utama secara tetap.
  • Bagian-bagian esensi lain berupa modul yang dapat ditambahkan ke kernel saat diperlukan dan dicabut begitu tidak digunakan lagi di waktu jalan (run time).


  1. Pendekatan Berlapis (Layered Approach)
Rasanya susah membayangkan sekian banyak fungsi yang disediakan oleh sistem operasi diimplementasikan dalam satu program saja. Karena itu, lebih mudah untuk membaginya dalam sejumlah layer/lapisan. Tentu setiap layer memiliki fungsinya sendiri-sendiri, dan juga bisa menambah fungsi-fungsi lain, berdasarkan fungsi-fungsi yang tersedia pada layer lain yang dibawahnya.
Lapisan-lapisan sistem operasi adalah suatu abstraksi dari enkapsulasi sekumpulan struktur data dalam sistem operasi. Layer yang berada di atas bisa mengakses operasi-operasi yang tersedia di layer bawahnya. Stallings memberi model yang lebih detail, sebagai berikut:
  • Layer 1. Berisi berbagai sirkuit elektronik, misal register, memory cells, dan logic gate.
  • Layer 2. Berisi instruksi prosesor, misal instruksi aritmatika, instruksi transfer data, dsb.
  • Layer 3. Penambahan konsep seperti prosedur/subrutin, maupun fungsi yang me-return nilai tertentu.
  • Layer 4. Penambahan interrupt.
  • Layer 5. Program sebagai sekumpulan instruksi yang dijalankan oleh prosesor.
  • Layer 6. Berhubungan dengan secondary storage device, yaitu membaca/menulis head, track, dan sektor.
  • Layer 7. Menciptakan alamat logika untuk proses. Mengatur hubungan antara main memory, virtual memory, dan secondary memory.
  • Layer 8. Program sebagai sekumpulan instruksi yang dijalankan oleh prosesor.
  • Layer 9. Berhubungan dengan secondary storage device, yaitu membaca/menulis head,track, dan sektor.
  • Layer 10. Menciptakan alamat logika untuk proses. Mengatur hubungan antara main memory, virtual memory, dan secondary memory.
  • Layer 11. Program sebagai sekumpulan instruksi yang dijalankan oleh prosesor.
  • Layer 12. File adalah objek yang memiliki nama dan ukuran. Abstraksi dari layer 9.
  • Layer 13. Menyediakan interface agar bisa berinteraksi dengan pengguna.


Layer dari 1-4 bukanlah bagian dari sistem operasi dan masih menjadi bagian dari prosesor secara ekslusif.
Layer ke-5 hingga ke-7, sistem operasi sudah berhubungan dengan prosesor. Selanjutnya dari layer ke-8 hingga 13, sistem operasi berhubungan dengan media penyimpanan maupun perlatan-peralatan lain yang ditancapkan, misalnya peralatan jaringan.


  1. Mesin Virtual
Virtual Machine (VM) adalah sebuah mesin yang mempunyai dasar logika yang menggunakan pendekatan lapisan-lapisan (layers) dari sistem komputer.Sehingga sistem komputer dengan tersendiri dibangun atas lapisan-lapisan tersebut, dengan urutan lapisannya mulai dari lapisan terendah sampai lapisan teratas adalah sebagai berikut:
  • Perangkat keras (semua bagian fisik komputer)
  • Kernel (program untuk mengontrol disk dan sistem file, multi-tasking, load-balancing, networking dan security)
  • Sistem program (program yang membantu general user)
Kernel yang berada pada lapisan kedua ini, menggunakan instruksi perangkat keras untuk menciptakan seperangkat system call yang dapat digunakan oleh komponen-komponen pada level sistem program. Sistem program kemudian dapat menggunakan system call dan perangkat keras lainnya seolah-olah pada level yang sama. Meskipun sistem program berada di level tertinggi , namun program aplikasi bisa melihat segala sesuatu pada tingkatan dibawahnya seakan-akan mereka adalah bagian dari mesin. Pendekatan dengan lapisan-lapisan inilah yang kemudian menjadi kesimpulan logis pada konsep Virtual Machine (VM).


  1. Client System Model
Dengan makin berkembangnya teknologi jaringan komputer, sekarang ini ada kecenderungan sebuah sistem yang menggunakan jaringan untuk saling berhubungan. Dalam jaringan tersebut, biasanya terdapat sebuah komputer yang disebut server, dan beberapa komputer yang disebut client. Server adalah komputer yang dapat memberikan service ke server, sedangkan client adalah komputer yang mengakses beberapa service yang ada di client. Ketika client membutuhkan suatu service yang ada di server, dia akan mengirim request kepada server lewat jaringan. Jika request tersebut dapat dilaksanakan, maka server akan mengirim balasan berupa service yang dibutuhkan untuk saling berhubungan menggunakan Socket.
  1. Karakteristik Server
    1. Pasif
    2. Menunggu request
    3. Menerima request, memproses mereka dan mengirimkan balasan berupa service
    4. Karakteristik Client
      1. Aktif
      2. Mengirim request
      3. Menunggu dan menerima balasan dari server
Socket adalah sebuah endpoint untuk komunikasi didalam jaringan. Sepasang proses atau thread berkomunikasi dengan membangun sepasang socket, yang masing-masing proses memilikinya. Socket dibuat dengan menyambungkan dua buah alamat IP melalui port tertentu. Secara umum socket digunakan dalam client/server system, dimana sebuah server akan menunggu client pada port tertentu. Begitu ada client yang menghubungi server maka server akan menyetujui komunikasi dengan client melalui socket yang dibangun.


Manajemen Proses


Manajemen Proses

a. Definisi Proses

Proses adalah sebuah program yang sedang dieksekusi. Sedangkan program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Sebuah proses membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, alamat memori, berkas-berkas, dan perangkat-perangkat I/O. Sistem operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mengambil kembali semua sumber daya agar bisa digunakan kembali oleh proses lainnya.


b. Status Proses

Sebuah proses dapat memiliki tiga status utama yaitu:

1. Running. Status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi
2. Waiting. Status yang dimiliki pada saat proses menunggu suatu sebuah event seperti proses I/O.
3. Ready. Status yang dimiliki pada saat proses siap untuk dieksekusi oleh prosesor

Terdapat dua status tambahan, yaitu saat pembentukan dan terminasi:

1. New. Status yang dimiliki pada saat proses baru saja dibuat
2. Terminated. Status yang dimiliki pada saat proses telah selesai dieksekusi.
Hanya satu proses yang dapat berjalan pada prosesor mana pun pada satu waktu. Namun, banyak proses yang dapat berstatus Ready atau Waiting. Ada tiga kemungkinan bila sebuah proses memiliki status Running:
1. Jika program telah selesai dieksekusi maka status dari proses tersebut akan berubah menjadi Terminated.
2. Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis maka akan terjadi interrupt dan proses tersebut kini berstatus Ready.
3. Jika suatu event terjadi pada saat proses dieksekusi (seperti ada permintaan M/K) maka proses tersebut akan menunggu event tersebut selesai dan proses berstatus Waiting.

c. Process Control Block (PCB)

Setiap proses digambarkan dalam sistem operasi oleh sebuah process control block (PCB) – juga disebut sebuah control block. Sebuah PCB ditunjukkan dalam Gambar 10.2, Process Control Block. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal di bawah ini:
1. Status Proses. Status new, ready, running, waiting, halted, dan juga banyak lagi.
2. Program Counter . Suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini.
3. CPU register. Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register tersebut termasuk accumulator, register indeks, stack pointer, general-purposes register, ditambah code information pada kondisi apa pun. Beserta dengan program counter, keadaan/status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya (lihat Gambar 10.3, Status Proses).
4. Informasi manajemen memori. Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi (lihat Bagian V, Memori).
5. Informasi pencatatan. Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan banyak lagi.
6. Informasi status M/K. Informasi termasuk daftar dari perangkat M/K yang di gunakan pada proses ini, suatu daftar berkas-berkas yang sedang diakses dan banyak lagi.
PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang lain.
2. Konsep Penjadwalan
a. Scheduling Queue
Scheduling Queue dapat diklasifikasikan dalam 3 kategori :
1. Job Queue
• Antrian berisi semua proses yang masuk dalam sistem
2. Ready Queue
• Proses yang berada pada memori utama, siap dan menunggu untuk dieksekusi
3. Device Queue
• Deretan proses yang sedang menunggu peralatan I/O
• Tiap peralatan I/O memiliki device queue
 Setiap antrian disimpan sebagai linked list dan berisi pointer awal dan akhir PCB.
 Tiap PCB memiliki suatu pointer menunjuk ke proses selanjutnya pada antrian.
 Proses baru mula-mula diletakkan di ready queue dan menunggu sampai dipilih untuk dieksekusi (dispatched) CPU.
Ketika proses dialokasikan CPU dan dieksekusi, terjadi satu dari event berikut :
• Proses meminta I/O dan kemudian ditempatkan pada I/O queue
• Proses membuat sub proses baru dan menunggu diterminasi
• Proses dihapus dari CPU karena diinterrupt dan dikembalikan ke ready queue
b. Schedulers
Sistem operasi harus memilih dan memproses antrian-antrian berdasarkan kategorinya, dimana proses seleksinya dilakukan oleh scheduler yang tepat.
Ada 3 tipe Scheduler :
– Long Term Scheduler (Job Scheduler)
– Short Term Scheduler (CPU Scheduler)
– Medium Term Scheduler
• Long Term Scheduler (Job Scheduler)
– Menyeleksi proses-proses mana yang harus dimasukkan ke dalam ready queue dan membawanya ke memori untuk dieksekusi
– Long Term Scheduler mengeksekusi lebih jarang, dibutuhkan beberapa menit untuk pembuatan proses baru dalam sistem
– Long Term Scheduler à mengontrol jumlah proses dalam memori (degree of multiprogramming)
– Jika degree of multiprogramming stabil à tingkat rata-rata penciptaan proses harus sama dengan tingkat rata-rata proses meninggalkan sistem
• Short Term Scheduler (CPU Scheduler)
– Menentukan proses mana yang selanjutnya akan dieksekusi dan mengalokasikan CPU untuk proses tersebut, dimana pemilihan proses barunya dialokasikan sesering mungkin
– Sort Term Scheduler à lebih sering dipanggil (hanya dalam waktu milisecond)
– Karena durasi yang pendek antara eksekusi, short Term Scheduler harus sangat cepat
c. Context Switch
Mengganti CPU ke proses lain memerlukan penyimpanan keadaan dari proses lama dan mengambilkeadaan dari proses yang baru. Hal ini dikenal dengan sebutan context switch. Context switch sebuah proses direpresentasikan dalam PCB dari suatu proses; termasuk nilai dari CPU register,status proses dan informasi manajemen memori.
Ketika context switch terjadi, kernel menyimpan data dari proses lama ke dalam PCB nya dan mengambil data dari proses baru yang telah terjadwal untuk berjalan. Waktu context switch adalah murni overhead , karena sistem melakukan pekerjaan yang tidak begitu berarti selama melakukan pengalihan. Kecepatannya bervariasi dari mesin ke mesin, bergantung pada kecepatan memori,jumlah register yang harus di-copy, dan ada tidaknya instruksi khusus (seperti instruksi tunggaluntuk mengisi atau menyimpan seluruh register). Tingkat kecepatan umumnya berkisar antara 1 sampai 1000 mikro detik.
CPU, dalam mengganti dari sebuah proses ke proses lain memerlukan penyimpanan keadaan dariproses lama dan mengambil keadaan dari proses yang baru. Inilah yang dikenal dengan sebutan context switch.
Dalam context switch sebuah proses direpresentasikan dalam PCB dari suatu proses, termasuk nilai dari CPU register, status proses dan informasi manajemen memori. Ketika context switch terjadi,kernel menyimpan data dari proses lama ke dalam PCB nya dan mengambil data dari proses baruyang telah terjadwal untuk berjalan. Waktu context switch adalah murni overhead (sangat cepat),karena sistem melakukan pekerjaan yang tidak begitu berarti selama melakukan pengalihan.
Sebagai contoh, prosesor seperti UltraSPARC menyediakan beberapa set register. Sebuah prosescontext switch hanya memasukkan perubahan pointer ke set register yang ada saat itu. Tentu saja,jika proses aktif yang ada lebih banyak daripada proses yang ada pada set register, sistem menggunakan bantuan untuk meng-copy data register dari dan ke memori, sebagaimana sebelumnya. Semakin kompleks suatu sistem operasi, semakin banyak pekerjaan yang harus dilakukan selama context switch.
Dapat dilihat pada Bagian V, Memori, teknik manajemen memori tingkat lanjut dapat mensyaratkan data tambahan untuk diganti dengan tiap data. Sebagai contoh, ruang alamat dari proses yang ada saat itu harus dijaga sebagai ruang alamat untuk proses yang akan dikerjakan berikutnya. Bagaimana ruang alamat dijaga, berapa banyak pekerjaan dibutuhkan untuk menjaganya, tergantung pada metoda manajemen memori dari sistem operasi. Akan kita lihat pada Bagian V, Memori, context switch terkadang dapat menyebabkan bottleneck, dan programer menggunakan struktur baru(threads) untuk menghindarinya kapan pun memungkinkan
3. Operasi pada proses
a. Pembuatan Proses
Pembuatan proses (create process) yaitu tindakan yang dilakukan sistem operasi pada saat sebuah proses akan ditambahkan ke proses yang sedang dikelola, sistem operasi membuat struktur data yang digunakan untuk mengelola proses dan mengalokasikan ruang alamat ke proses itu.
Alur Pembuatan Proses adalah sebagai berikut:
• Memberi identitas (nama) pada proses yang dibuat
• Menyisipkan proses pada list proses atau tabel proses
• Menentukan prioritas awal proses
• Membuat PCB
• Mengalokasikan resource awal bagi proses tersebut.
Create process atau pembuatan proses dilakukan karena alasan-alasan sebagai berikut :
• Batch Job Baru. Sistem Operasi diberikan dengan suatu aliran batch job control, biasanya pada pita atau disk. Pada saat disiapkan untuk mengambil job yang baru, sisitem operasi akan membaca rangkain job control command berikutnya.
• Logon interaktif. Seorang pengguna di sebuah terminal masuk kesistem
• Dibuat oleh OS untuk menyediakan layanan. Sistem operasi dapat membuat suatu proses untuk melakukan fungsi atas naa program pengguna, tanpa mengharuskan pengguna menunggu (misalnya, pencetakan)
• Dibiakan (spawned) oleh proses yang telah ada.Untuk memenuhi tujuan modularitas atau untuk memanfaatkan paralelisme, sebuah program pengguna dapat mengatur pembiakan sejumlah proses
b. Penghentian Proses
Penghentian proses (destroyed process) yaitu tindakan yang dilakukan sistem operasi pada saat sebuah proses telah selesai dilakukan atau dihentikan, sistem operasi menghapus struktur data yang digunakan untuk mengelola proses dan mengalokasikan ruang alamat ke proses itu.
Suatu proses diterminasi ketika proses tersebut telah selesai mengeksekusi perintah terakhir atau diterminasi dengan sengaja oleh proses lain, biasanya proses induk yang melakukan hal ini. Pada saat terminasi. Semua sumber-daya yang digunakan oleh proses akan dialokasikan kembali oleh sistem operasi agar dapat dimanfaatkan oleh proses lain. Suatu proses yang diterminasi karena selesai melakukan tugasnya, sistem operasi akan memanggil system call exit() sedangkan proses yang diterminasi dengan sengaja oleh proses lain melalui system call abort. Biasanya proses induk melakukan terminasi sengaja pada turunannya. Alasan terminasi yang dilakukan proses induk tersebut seperti:
• Turunan melampaui penggunaan sumber-daya yang telah dialokasikan. Dalam keadaan ini, proses induk perlu mempunyai mekanisme untuk memeriksa status turunannya-nya.
• Task yang ditugaskan kepada turunan tidak lagi diperlukan.
• Proses induk selesai, dan sistem operasi tidak mengizinkan proses turunan untuk tetap berjalan. Jadi, semua proses turunan akan berakhir pula. Hal ini yang disebut cascading termination.
Alur Penghentian Proses adalah sebagai berikut:
• Suatu proses berhenti jika telah menyelesaikan pernyataan terakhir, dan meminta pada sistem operasi untuk menghapusnya dengan menggunakan system call exit.
• Proses mengembalikan semua data (output) ke parent proses melalui system call wait.
• Kemudian proses dihapus dari list atau tabel sistem, dilanjutkan dengan menghapus PCB.
Secara umum, Destroyed Process dilakukan karena alasan-alasan sebagai berikut.
• Selesai secara normal. Proses mengeksekusi suatu panggilan layanan OS untuk mengindikasikan bahwa proses tersebut telah selesai beroperasi
• Batas waktu telah dilampaui. Proses telah berjalan lebih lama dari jumlah batas waktu yang telah ditentukan. Terdapat beberapa kemungkinan jenis waktu yang diukur. Jenis-jenis tersebut meliputi jumlah waktu yang berjalan (waktu jam dinding), jumlah waktu yang dibutuhkan untuk melakukan eksekusi, dan pada proses yang interaktif, jumlah waktu sejak pengguna terakhir diberi input
• Memori tidak tersedia. Proses memerlukan memori lebih banyak dari yang dapat disediakan oleh sistem
• Pelanggaran batas. Proses mencoba menakses lokasi memori yang tidak diijinkan untuk diases
• Error proteksi. Proses mencoba menggunakan sumber daya atau file yang tidak diizinkan untuk digunakan, atau mencoba menggunakannya dengan cara yang salah, seperti melakukan penulisan ke file yang hanya dapat dibaca (read-only file)
• Error aritmetik. Proses mencoba untuk melakukan komputasi yang tidak diizinkan, seperti pembagian dengan nol, atau mencoba menyimpan bilangan yang besarnya diluar kemampuan perangkat keras. Kelebihan waktu proses telah menunggu event tertentu lebih lama dari waktu maksimum
• Kegagalan I/O. Error yang terjadi pada saat input atau output, seperti ketidakmampuan untuk menemukan file, kegagalan membaca atau menulis setelah beberapa kali mencoba (pada saat misalnya menemukan daerah yang telah rusak pada pita magnetik) atau operasi yang invalid (misalnya melakukan pembacaan dari printer)
• Intruksi yang invalid. Proses mencoba mengeksekusi intruksi yang tidak ada (seringkali akan mengakibatkan pencabangan ke suatu daerah data dan berusaha mengeksekusi data)
• Intruksi ber-privilage. Proses berusaha untuk menggunakan suatu intruksi yang dicadangkan bagi sistem operasi
• Pemakaian data yang salah. Potongan datanya memiliki jenis yang salah, atau tidak diinisilaisasi terlebih dahulu
• Intervensi Operator atau OS. Dengan sesuatu alasan, operator atau sistem operasi telah menghentikan proses (misalnya, telah terjadi deadlock)
• Penghentian Induk. Apabila induk berhenti, sistem operasi secara otomatis dapat menghentikan seluruh turunan proses induk itu
• Permintaan induk. Proses induk umumnya memiliki otoritas untuk menghentikan semua turunannya
4. Proses yang Saling Bekerjasama (Cooperating Process)
Proses yang bersifat simultan (concurrent) dijalankan pada sistem operasi dapat dibedakaan menjadi yaitu proses independent dan proses kooperatif. Suatu proses dikatakan independen apabila proses tersebut tidak dapat terpengaruh atau dipengaruhi oleh proses lain yang sedang dijalankan pada sistem. Berarti, semua proses yang tidak membagi data apa pun (baik sementara/ tetap) dengan proses lain adalah independent. Sedangkan proses kooperatif adalah proses yang dapat dipengaruhi atau pun terpengaruhi oleh proses lain yang sedang dijalankan dalam sistem. Dengan kata lain, proses dikatakan
kooperatif bila proses dapat membagi datanya dengan proses lain. Ada empat alasan untuk penyediaan sebuah lingkungan yang memperbolehkan terjadinya proses kooperatif:
1. Pembagian informasi: apabila beberapa pengguna dapat tertarik pada bagian informasi yang sama (sebagai contoh, sebuah berkas bersama), kita harus menyediakan sebuah lingkungan yang mengizinkan akses secara terus menerus ke tipe dari sumber-sumber tersebut.
2. Kecepatan penghitungan/ komputasi: jika kita menginginkan sebuah tugas khusus untuk menjalankan lebih cepat, kita harus membagi hal tersebut ke dalam subtask, setiap bagian dari subtask akan dijalankan secara parallel dengan yang lainnya. Peningkatan kecepatan dapat dilakukan hanya jika komputer tersebut memiliki elemen-elemen pemrosesan ganda (seperti CPU atau jalur I/O).
3. Modularitas: kita mungkin ingin untuk membangun sebuah sistem pada sebuah model modular-modular, membagi fungsi sistem menjadi beberapa proses atau threads.
4. Kenyamanan: bahkan seorang pengguna individu mungkin memiliki banyak tugas untuk dikerjakan secara bersamaan pada satu waktu. Sebagai contoh, seorang pengguna dapat mengedit, memcetak, dan meng-compile secara paralel.
5. Threads
Thread merupakan suatu proses didefinisikan oleh resource yang digunakan dan lokasi yang akan dieksekusi. Namun adakalanya proses-proses akan menggunakan resource secara bersama-sama. Suatu unit dasar dari CPU utilization yang berisi program counter, kumpulan register, dan ruang stack disebut dengan thread atau lighweight process (LWP). Thread akan bekerjasama dengan thread yang lainnya dalam hal penggunaan bagian kode, bagian data, dan resource sistem operasi, seperti open file dan sinyal secara kolektif yang sering disebut dengan task. Apabila dilakukan perbandingaan antara sistem multi thread dengan sistem multi proses dapat disimak berikut.
Pada multi proses, setiap proses secara terpisah melakukan operasi tidak bekerja sama dengan proses lain, setiap proses mempunyai program counter, stack register dan ruang alamat sendiri. Organisasi jenis ini berguna jika job dibentuk oleh proses-proses yang tidak saling berhubungan. Multi proses membentuk task yang sama. Sebagai contoh, multi proses dapat menyediakan data untuk mesin secara remote pada implementasi system file jaringan. Hal ini lebih efisien apabila satu proses terdiri dari multi thread melayani tugas yang sama. Pada implementasi multi proses, setiap proses mengeksekusi kode yang sama tetapi mempunyai memori dan resource file sendiri. Satu proses multi thread menggunakan resource lebih sedikit daripada multi proses, termasuk memory, open file dan penjadwalan CPU.
Ada 3 model process pada server :
1. thread di ciptakan untuk dapat melakukan paralelisme yang dikombinasikan dengan eksekusi sekuensial dan blocking system calls.
2. single treads server, menggunakan blocking system calls, tetapi kinerja sistem tidak baik.
3. finite-state machine, kinerja baik dengan melakukan parallelisme, tetapi menggunakan nonblocking calls, sehingga sulit dalam memprogram.
6. Komunikasi Antar Proses
Sistem Berbagi Memori
Sistem Berbagi Memori atau yang disebut juga sebagai Shared Memory System merupakan salah satu cara komunikasi antar proses dengan cara mengalokasikan suatu alamat memori untuk dipakai berkomunikasi antar proses. Alamat dan besar alokasi memori yang digunakan biasanya ditentukan oleh pembuat program. Pada metode ini, sistem akan mengatur proses mana yang akan memakai memori pada waktu tertentu sehingga pekerjaan dapat dilakukan secara efektif.
Sistem Berkirim Pesan
Sistem berkirim pesan adalah proses komunikasi antar bagian sistem untuk membagi variabel yang dibutuhkan. Proses ini menyediakan dua operasi yaitu mengirim pesan dan menerima pesan. Ketika dua bagian sistem ingin berkomunikasi satu sama lain, yang harus dilakukan pertama kali adalah membuat sebuah link komunikasi antara keduanya. Setelah itu, kedua bagian itu dapat saling bertukar pesan melalui link komunikasi tersebut.
Sistem berkirim pesan sangat penting dalam sistem operasi. Karena dapat diimplementasikan dalam banyak hal seperti pembagian memori, pembagian bus, dan melaksanakan proses yang membutuhkan pengerjaan bersama antara beberapa bagian sistem operasi.
Terdapat dua macam cara berkomunikasi, yaitu:
1. Komunikasi langsung. Dalam komunikasi langsung, setiap proses yang ingin berkirim pesan harus mengetahui secara jelas dengan siapa mereka berkirim pesan. Hal ini dapat mencegah pesan salah terkirim ke proses yang lain. Karakteristiknya antara lain:
a. Link dapat otomatis dibuat
b. Sebuah link berhubungan dengan tepat satu proses komunikasi berpasangan
c. Diantara pasangan itu terdapat tepat satu link
d. Link tersebut biasanya merupakan link komunikasi dua arah
2. Komunikasi tidak langsung. Berbeda dengan komunikasi langsung, jenis komunikasi ini menggunakan sejenis kotak surat atau port yang mempunyai ID unik untuk menerima pesan. Proses dapat berhubungan satu sama lain jika mereka membagi port mereka. Karakteristik komunikasi ini antara lain:
a. Link hanya terbentuk jika beberapa proses membagi kotak surat mereka
b. Sebuah link dapat terhubung dengan banyak proses
c. Setiap pasang proses dapat membagi beberapa link komunikasi
d. Link yang ada dapat merupakan link terarah ataupun link yang tidak terarah
7. Buffering
Baik komunikasi itu langsung atau tak langsung, penukaran pesan oleh proses memerlukan antrian sementara. Pada dasarnya, terdapat tiga jalan dimana antrian tersebut diimplementasikan:
o Kapasitas nol: antrian mempunyai panjang maksimum 0, maka link tidak dapat mempunyai penungguan pesan (message waiting). Dalam kasus ini, pengirim harus memblok sampai penerima menerima pesan.
o Kapasitas terbatas: antrian mempunyai panjang yang telah ditentukan, paling banyak n pesan dapat dimasukkan. Jika antrian tidak penuh ketika pesan dikirimkan, pesan yang baru akan menimpa, dan pengirim pengirim dapat melanjutkan eksekusi tanpa menunggu. Link mempunyai kapasitas terbatas. Jika link penuh, pengirim harus memblok sampai terdapat ruang pada antrian.
o Kapasitas tak terbatas: antrian mempunyai panjang yang tak terhingga, maka, semua pesan dapat menunggu disini. Pengirim tidak akan pernah di blok.
8. Kondisi-kondisi Perkecualian
a. Proses Dihentikan
Pengirim atau penerima menghentikan komunikasi setelah pesan diproses. Hal in mengakibatkan pesan tidak pernah diterima atau proses yang menunggu pesan tersebut tidak pernah dikirim. Dalam hal ini ada 2 kasus:
 Penerima proses P menunggu suatu pesan dari proses Q yang dihentikan, jika ada aksi , maka P di block. Pada kasus ini system juga akan mengehntikan P atau memberitahu pada P bahwa Q dihentikan.
 Proses P mengirim pesan ke proses Q yang dihentikan. Pada system buffer otomatis, tidak akan terjadi apa-apa. P melanjutkan eskkusi . Jika P ingin mengetahui apakah pesannya telah di proses oleh Q, maka P harus memprogram secara eksplisit suatu pengetahuan. Jika tidak ada buffer, Pakan diblock seperti halnya kasus 1. Sistem juga akan menghentikan P atau memberitahukan pada P bahwa Q dihentikan.
b. Kehilangan Pesan
Pesan pada proses P ke proses Q bisa jadi hilang entah kemana da;am suatu jaringan komunikasi. Hal in mengakibatkan kegagalan pada hardware, Untuk mengatasi hal itu ada 3 metode, yaitu:
 Sistem oprasi mendeteksi adanya kejadian tersebut, kemudia mengrim ulang pesan yang hilang
 Proses yang mengirim pesan mendeteksi kejadian tersebut dan kemudian mentransmisikan kembali pesan tersebut jika diminta
 Sistem oprasi mendeteksi adanya kejadian tersebut dan kemudian memberitahukan kepada proses yang mengirim bahwa pesan yang disampaikan hilang di tengah jalan. Proses pengiriman dapat melakukan sesuatu sesuai yang dipilihnya
Untuk mendeteksi adanya pesan yang hilang makan digunakan Timeout. Pada saat satu pesan dikirim maka akan diberikan pesan jawaban bahwa oesab tekah dikirim. Sistem oprasi / suatu proses akan menghitung interval waktu antara jawaban dengan pesan yang diterima jika melebihi batas waktu yang telah ditentukan, maka pesan tersebut dianggap hilang dan akan dikirim kembali.
Kelemahan dari system ini adalah terkadang pesan dating sedikit terlambat dari yang diperkirakan sehingga system oprasi mungkin menggangapnya hilang dan mengakibatkan copiannya dikirim dan penerima akan mendapatkan 2 pesan yang sama.

Sistem Operasi


Pengenalan Umum Sistem Operasi
  1. Definisi Sistem Operasi
Sistem operasi Komputer adalah perangkat lunak komputer atau software yang bertugas untuk melakukan kontrol dan manajemen perangkat keras dan juga operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah data yang bisa digunakan untuk mempermudah kegiatan manusia.



  1. Peran Sistem Operasi dalam Sistem Komputer
Sistem Operasi komputer merupakan software pada lapisan pertama yang diletakkan pada memori komputer, (memori komputer dalam hal ini ada Hardisk, bukan memory ram) pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi Komputer berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, scheduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi.
Sistem Operasi berfungsi sebagai penghubung antara lapisan hardware dan lapisan software. selain itu, Sistem Operasi komputer juga melakukan semua perintah perintah penting dalam komputer, serta menjamin aplikasi-aplikasi yang berbeda fungsinya dapat berjalan lancar secara bersamaan tanpa hambatan. Sistem Operasi Komputer menjamin aplikasi perangkat lunak lainnya bisa memakai memori, melakukan input serta output terhadap peralatan lain, dan mempunya akses kepada sistem file. Jika beberapa aplikasi berjalan secara bersamaan, maka Sistem Operasi Komputer akan mengatur jadwal yang tepat, sehingga sebisa mungkin semua proses pada komputer yang berjalan mendapatkan waktu yang cukup untuk menggunakan CPU dan tidak saling mengganggu dengan perangkat yang lain.
  1. Tujuan Sistem Operasi
Tujuan sistem operasi adalah untuk memaksimalkan utilitas CPU dan peripheral, serta memaksimalkan kenyamanan dan respon user.
  1. Sejarah Perkembangan Sistem Operasi
Perkembangan sistem operasi dipengaruhi oleh perkembangan hardware. Sistem operasi mulai dikembangkan sejak ±40 tahun lalu, yaitu:
  1. Generasi ke-nol (1940).
  • Komponen utama tabung hampa udara;
  • Sistem komputer belum menggunakan sistem operasi;
  • Sistem operasi komputer dilakukan secara manual melalui plugboard, dan hanya bisa digunakan untuk menghitung (+,-, dan *).
  1. Generasi pertama (1950).
  • Komponen utama transistor;
  • Sistem operasi berfungsi terutama sebagai pengatur pergantian antar job agar waktu instalasi job berikutnya lebih efisien. Dalam masa ini muncul konsep batch system (semua job sejenis dikumpulkan jadi satu);
  • Input pemakai punch card.
  1. Generasi kedua (1960).
  • Komponen utama IC;
  • Berkembang konsep-konsep:
  • Multiprogramming, satu prosesor mengerjakan banyak program yang ada di memori utama;
  • Multiprosesing, satu job dikerjakan oleh banyak prosesor berguna untuk meningkatkan utilitas;
  • Spooling Simultaneous Peripheral Operation On Line, bertindak sebagai buffer (penyangga) saja, dan mampu menerima pesanan meskipun belum akan dikerjakan;
  • Device Indipendence, masing-masing komponen memiliki sifat yang saling berbeda (misal: tiap-tiap printer memiliki driver);
  • Time Sharing atau Multitasking, sistem bagi waktu yang diberikan oleh CPU terhadap berbagai job yang sedang dijalankan.
  • Real-time system, berguna sebagai kontrol bagi mesin-mesin.
  1. Generasi ketiga (1970)
  • Komponen utama VLSI (Very Large Scale Integrated Circuit);
  • Ditandai dengan berkembangnya konsep general purpose system, sehingga sistem operasi menjadi sangat kompleks, mahal dan sulit untuk dipelajari;
  1. Generasi keempat (pertengahan 1970-an hingga sekarang).
  • PC makin populer;
  • Ditandai dengan berkembangnya sistem operasi untuk jaringan komputer dengan tujuan: data sharing, hardware sharing, dan program sharing;
  • User interface semakin user friendly tanpa harus mengorbankan unjuk kerja.
  1. a. Batch System
Batch processing adalah eksekusi rangkaian program dalam komputer tanpa intervensi manual.
Rangkaian program tersebut disiapkan agar bisa dijalankan sampai selesai tanpa intervensi manual. Jadi semua data input telah dipilih sebelumnya melalui script atau command-line parameters. Sebuah program mengambil satu set data files sebagai input, data diproses, dan menghasilkan satu set data files sebagai output.
Proses operasi ini disebut “batch processing” karena data input dikumpulkan kedalam kumpulan(batch) file dan diproses batch demi batch oleh program.
b. Multiprogramming System
Multiprogramming system adalah metode untuk menjalankan beberapa program berbeda dalam komputer pada saat yang sama. Multiprogramming system di desain agar CPU bisa digunakan secara maksimal.
Multiprogramming adalah saat dimana beberapa program dijalankan pada saat yang bersamaan dalam sebuah processor. Sistem operasi akan memproses sebagian dari program pertama, lalu sebagian dari program kedua, dan seterusnya. Sistem operasi menjalankannya secara bergantian dengan cepat, dengan cara memproses sedikit demi sedikit pada setiap giliran. Bagi seorang user hal itu akan terlihat seperti semua program sedang berjalan secara bersamaan. Kecepatan processor akan sangat berpengaruh dalam jumlah banyaknya program yang bisa dijalankan secara bersamaan.
c. Time Sharing System
Time Sharing System (TSS) merupakan konsep distribusi proses berdasarkan waktu, ini merupakan bentuk pertama pengaplikasian jaringan (network) komputer. Pada sistem TSS beberapa terminal terhubung secara seri ke sebuah host komputer.
konsep TSS sendiri ditemukan oleh Christopher Strachy pada tahun 1959 . Baru pada tahun 1961, pertama kali sistem yang benar-benar berbentuk time sharing system dilakukan di MIT (Massachusetts Institute of Technology) dan diberi nama CTSS (Compatible Time Sharing System) yang bisa melayani sebanyak 8 pemakai dengan menggunakan omputer IBM 7090. Pada TSS tiap-tiap User dilayani oleh komputer dengan bergiliran dalam waktu yang sangat cepat. Sehingga tiap pemakai komputer tidak merasa bahwa komputer melayani beberapa pemakai sekaligus secara bergiliran.
d. Multi Processing System
Multiprocessing system adalah tipe pemrosesan dimana dua processor atau lebih bekerjasama untuk memproses banyak program secara terus menerus sehingga system bisa melakukan pekerjaan dengan lebih cepat. UNIX adalah salah satu multiprocessing system yang paling banyak digunakan.
e. Distributed System
Distributed system terdiri dari beberapa unit komputer yang saling berkomunikasi melalui jaringan komputer. Secara sederhana, distributed computing adalah cara agar banyak komputer bisa bekerja sama dalam sebuah grup untuk menyelesaikan sebuah masalah yang telalu sulit bila dikerjakan sendirian. Jadi, masalah tersebut dibagi menjadi beberapa bagian lalu tiap bagian tersebut dikerjakan oleh satu komputer.
f. Real Time System
Real time system adalah sistem yang harus memproses informasi dan menghasilkan respon dalam waktu yang ditentukan. Jeda waktu dari input sampai output harus sangat kecil. Artinya, sistem dengan batasan waktu real-time, harus mendapatkan jawaban dan tindakan yang benar sebelum waktu deadline-nya. Jika lewat dari deadline, jawaban dan tindakan tersebut tidak akan berguna.
Struktur Sistem Komputer
  1. Operasi Sistem Komputer
Sistem komputer serbaguna berisi satu atau lebih CPU dan sejumlah device controller yang dihubungkan melalui bus yang menyediakan adanya pemakaian memori secara bersama-sama seperti yang terlihat pada gambar berikut. CPU dan device controller tersebut dapat bekerja secara bersama-sama dan saling berkompetisi untuk menggunakan memori. Untuk menjamin berbagi memori secara berurutan, pengontrol memori menyediakan fungsi akses sinkronisasi ke memori.
  1. Struktur Input/Output
I/O adalah suatu mekanisme pengiriman data secara bertahap dan terus menerus melalui suatu aliran data dari proses ke peranti (begitu pula sebaliknya).
Fungsi I/O Pada dasarnya adalah mengimplementasikan algoritma I/O pada level aplikasi. Hal ini dikarenakan kode aplikasi sangat fleksible, dan bugs aplikasi tidak mudah menyebabkan sebuah sistem crash. Port I/O yang berarti gerbang konektor Input/Output pada komputer, seperti pada keyboard, mouse paralel/serial ataupun USB. Menyediakan koneksi untuk piranti eksternal seperti kamera digital, printer dan scanner. Unit Input/Output (I/O) adalah bagian dari sistem mikroprosesor yang digunakan oleh mikroprosesor itu untuk berhubungan dengan dunia luar. Unit input adalah unit luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesor ini, contohnya data yang berasal dari keyboard atau mouse.
Unit output biasanya digunakan untuk menampilkan data, atau dengan kata lain untuk menangkap data yang dikirimkan oleh mikroprosesor, contohnya data yang akan ditampilkan pada layar monitor atau printer. Bagian input (masukan) dan juga keluaran (output) ini juga memerlukan sinyal kontrol, antara lain untuk baca I/O (Input/Ouput Read [IOR]) dan untuk tulis I/O (Input/Output Write [IOW]). Untuk memulai mengoperasikan I/O, CPU memanggil register-register yang cocok untuk device controller. Kemudian device controller menjawab dengan mengisi registry.
  1. Struktur Penyimpanan
Program komputer harus berada di memori utama (biasanya RAM) untuk dapat dijalankan. Memori utama adalah satu-satunya tempat penyimpanan yang dapat diakses secara langsung oleh prosesor. Idealnya program dan data secara keseluruhan dapat disimpan dalam memori utama secara permanen. Namun demikian hal ini tidak mungkin karena:
  • • Ukuran memori utama relatif kecil untuk dapat menyimpan data dan program secara keseluruhan.
  • • Memori utama bersifat volatile, tidak bisa menyimpan secara permanen, apabila komputer dimatikan maka data yang tersimpan di memori utama akan hilang.
Hanya memori utama dan register merupakan tempat penyimpanan yang dapat diakses secara langsung oleh prosesor. Oleh karena itu instruksi dan data yang akan dieksekusi harus disimpan di memori utama atau register.
Untuk mempermudah akses perangkat I/O ke memori, pada arsitektur komputer menyediakan fasilitas pemetaan memori ke I/O. Dalam hal ini sejumlah alamat di memori dipetakan dengan device register. Membaca dan menulis pada alamat memori ini menyebabkan data ditransfer dari dan ke device register. Metode ini cocok untuk perangkat dengan waktu respon yang cepat seperti video controller.
Register yang terdapat dalam prosesor dapat diakses dalam waktu 1 clock cycle. Hal ini menyebabkan register merupakan media penyimpanan dengan akses paling cepat bandingkan dengan memori utama yang membutuhkan waktu relatif lama. Untuk mengatasi perbedaan kecepatan, dibuatlah suatu penyangga (buffer) penyimpanan yang disebut cache.
Magnetic Disk berperan sebagai secondary storage pada sistem komputer modern. Magnetic Disk disusun dari piringan-piringan seperti CD. Kedua permukaan piringan diselimuti oleh bahan-bahan magnetik. Permukaan dari piringan dibagi-bagi menjadi track yang memutar, yang kemudian dibagi lagi menjadi beberapa sektor.

Perbedaan cara kerja static vs dynamic memory


Static RAM

Secara internal, setiap sel yang menyimpan n bit data memiliki 4 buah transistor yang menyusun beberapa buah rangkaian Flip- flop. Dengan karakteristik rangkaian Flip- flop ini, data yang disimpan hanyalah berupa Hidup (High state) dan Mati (Low State) yang ditentukan oleh keadaan suatu transistor. Kecepatannya dibandingkan dengan Dynamic RAM tentu saja lebih tinggi karena tidak diperlukan sinyal refresh untuk mempertahankan isi memory.

Dynamic RAM

Secara internal, setiap sel yang menyimpan 1 bit data memiliki 1 buah transistor dan 1 buah kondensator. Kondensator ini yang menjaga tegangan agar tetap mengaliri transistor sehingga tetap dapat menyimpan data. Oleh karena penjagaan arus itu harus dilakukan setiap beberapa saat (yang disebut refreshing) maka proses ini memakan waktu yang lebih banyak daripada kinerja Static RAM. Secara internal, setiap sel yang menyimpan 1 bit data memiliki 1 buah transistor dan 1 buah kondensator. Kondensator ini yang menjaga tegangan agar tetap mengaliri transistor sehingga tetap dapat menyimpan data. Oleh karena penjagaan arus itu harus dilakukan setiap beberapa saat (yang disebut refreshing) maka proses ini memakan waktu yang lebih banyak daripada kinerja Static RAM.

11 April 2012

Pemodelan Bisnis


Pemodelan bisnis atau business modeling adalah studi tentang organisasi. Ketika kita sedang melakukan pemodelan bisnis, kita sedang menguji struktur organisasi, memperlihatkan peranan-peranan di dalam organisasi, dan bagaimana mereka terhubungkan satu dengan yang lainnya. Juga menguji aliran kerja (work flow) dalam organisasi, proses utama di dalam organisasi, bagaimana mereka bekerja, seberapa efektif dan efisien cara kerja yang mereka lakukan. Demikian juga akan dilakukan pengujian entitas yang ada di luar organisasi, individu atau oerusahaan lain yang saling berhubungan dengan bisnis organisasi.
Langkah-langkah yang dapat dilakukan untuk membangun pemodelan bisnis antara lain:
- Mengidentifikasi aktor bisnis dan pekerja bisnis
- Mengidentifikasi use case bisnis
- Membuat diagram use case bisnis
- Membuat aliran kerja (work flow)

Konsep pemodelan bisnis, antara lain:
- Aktor bisnis

Adalah seorang atau business actor adalah seorang atau sesuatu yang ada di luar organisasi dan berinteraksi dengan organisasi yang terlibat dalam kegiatan bisnis organisasi.
- Pekerja bisnis


Pekerja bisnis atau bussines worker adalah suatu peranan di dalam organisasi, bukan posisi. Pemodelan pekerja bisnis digunakan untuk memahami peranan di dalam bisnis dan bagaimana peran tersebut berinteraksi dengan proses bisnis organisasi.
- Use Case bisnis

Use case bisnis dan bussines use case adalah model yang digunakan untuk menggambarkan proses bisnis organisasi.
- Relasi Asosiasi (Association)

Relasi asosiasi adalah relasi antara aktor bisnis atau pekerja bisnis dan use case bisnis. Ia mengidentifiaksikan bahwa aktor atau pekerja bisnis tertentu berkomunikasi terhadap fungsionalitas yang disediakan dalam use case bisnis.
- Relasi Generalisasi (Generalization)

Relasi Generalisasi digunakan ketika ada dua atau lebih aktor bisnis, pekerja bisnis atau use case bisnis yang sangat serupa.
- Entitas bisnis
Entitas bisnis adalah objek yang digunakan oleh organisasi utnuk melakukan aktivitas bisnis atau yang organisasi hasilkan saat melakukan aktifitas bisnis.
- Diagram Use Case bisnis
Diagram use case bisnis menunjukkan interaksi antara use case bisnis, aktor bisnis, dan pekerja bisnis dalam sebiah organisasi.
- Diagram Aktivitas
Diagram aktivitas adalah sebuah cara untuk memodelkan aliran kerja dari use case bisnis dalam bentuk grafik.
- Unit Organisasi
Unit organisasi dapat diartikan sebagai kumpulan pekerja bisnis atau elemen-elemen pemodelan bisnis lainnya. Mekanisme ini dapat digunakan untuk mengelompokkan model-model bisnis.

2. Pemodelan Sistem
Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya.
Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.

Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal.
Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.
Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri.
Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.

Use-Case View untuk menampilkan fungsi-fungsi dari sistem berkaitan dengan aktor eksternal. Aktor yang berinteraksi dengan sistem dapat berupa seorang user atau sistem lainnya. Use-case view ditujukan untuk para customer, designer, developer, dan tester. Use-case view merupakan bagian sentral dari view karena isinya menjadi pengendali view yang lain. Tujuan akhir dari sebuah sistem adalah untuk menyediakan fungsi-fungsi yang dijelaskan dalam use-case view, karena itu use-case view mempengaruhi seluruh view lainnya. Use-case View juga digunakan untuk validasi dan verifikasi system.


Use Case dan aktor masing-masing tidak berdiri sendiri. Mereka saling terhubung dengan apa yang dinamakan relasi. Dalam hal ini, ada berbagai relasi yang dikenal dalam model UML, yaitu :
- Relasi Asosiasi, relasi yang terjadi antara aktor dan use-case. Dalam UML, asosiasi digambarkan dengan garis lurus dengan kepala panah di salah satu ujungnya. Seperti gambar dibawah ini.

- Include Relationship (relasi cakupan), memungkinkan suatu use case untuk menggunakan fungsionalitas yang disediakan oleh use case yang lainnya. Contoh terlihat pada gambar dibawah ini.

Pada contoh diatas, use case “membuat dokumen data barang masuk” akan selalu dilakukan dengan menjalankan use case “ mencetak dokumen data barang masuk”
- Extends Relationship, memungkinkan suatu use case memiliki kemungkinan untuk memperluas fungsionalitas yang disediakan use case yang lainnya. Contoh terlihat pada gambar dibawah ini.

Pada contoh diatas, dimana ketika use case “membuat dokumen data barang masuk” sedang berjalan, use case “mencetak dokumen data barang masuk” berjalan jika dan hanya jika diinginkan oleh aktor. Jika tidak diinginkan maka use case “mencetak dokumen data barang masuk” tidak akan pernah dijalankan.



C. Langkah Praktikum – Use Case View
1. Membuat diagram-diagram use case
Untuk membuat diagram-diagram use case, kita tinggal meng-klik pada toolbar komponen apa yang kita butuhkan kemudian menariknya ke jendela diagram. Setelah itu, hal terpenting dan mendasar yang harus dilakukan adalah melakukan penamaan-penamaan, entah itu pada aktor, pada use case, atau pada relasi-relasi yang kita buat. Selain itu jika memang diperlukan, kita juga dapat menambahkan spesifikasi-spesifikasi tambahan pada masing-masing aktor, use case ataupun relasi. Caranya adalah dengan meng-klik kanan aktor, use case, atau relasi baik pada diagram atau pada browser dan memilih Open Spesification

2. Menambahkan dan menghapus use case
Untuk menambah use case lakukan hal berikut ini:
- Pilih tombol use case ( ) pada toolbar
- Klik bagian mana saja diagram use case maka use case akan terbentuk dengan nama default NewUseCase
- Nama default tersebut dapat dirubah dengan mengklik ganda dan mengetikkan nama yang kita inginkan.
Sedangkan untuk menghapus use case dengan cara sebagai berikut:
- Klik kanan use case pada browser atau pada diagram use case
- Pilih Edit ? Delete (jika hanya menghapus dari diagram ini saja) atau Edit ? Delete From Model (jika ingin menghapus use case dari seluruh bagian model).
3. Menambah dan menghapus aktor
Untuk menciptakan aktor dalam suatu diagram use case, kita harus melakukan hal-hal berikut ini:
- Klik tombol aktor ( ) pada toolbar
- Klik pada bagian mana saja dalam diagram use case, aktor yang baru secara default akan bernama NewClass
- Nama default tersebut dapat dirubah dengan mengklik ganda dan mengetikkan nama yang kita inginkan.
Aktor juga dapat dihapus dengan cara sebagai berikut:
- Klik aktor yang kan dihapus dari diagram use case
- Klik kanan, pilih Edit ? Delete (jika hanya menghapus dari diagram use case) atau Edit ? Delete From Model (jika ingin menghapus use case dari keseluruhan model).
4. Membuat relasi
a. Relasi Asosiasi, dengan melakukan langkah berikut ini:
- Klik Undirectional Accosiation ( ) dari toolbar
- Klik dan jangan lepaskan (drag) mouse dari aktor ke use case atau dari use case ke aktor.
- Rational rose akan menggambar relasi antara use case dan aktor atau sebaliknya.
b. Include Relationship, kita dapat melakukan langkah berikut ini:
- Pilih toolbar Dependency ( )
- Drag dari suatu use case ke use case lain yang akan digunakan (dari use case konkret ke use case abstrak)
- Rational rose akan menggambar kebergantungan (dependency) di antara dua use case
- Klik kanan garis relasi dan pilih Open specification
- Pada listbox Stereotype pilih Include ( )
- Klik OK untuk menutup jendela spesifikasi
- Kata <<include>> akan berada di atas tanda panah dependency
- Buka jendela spesifikasi use case abstrak, klik checkbox abstrak ( )
c. Extend Relationship, kita dapat melakukan langkah berikut ini:
- Pilih toolbar Dependency ( )
- Drag dari suatu use case ke use case lain yang akan digunakan (dari use case konkret ke use case abstrak)
- Rational rose akan menggambar kebergantungan (dependency) di antara dua use case
- Klik kanan garis relasi dan pilih Open specification
- Pada listbox Stereotype pilih extend ( )
- Klik OK untuk menutup jendela spesifikasi
- Kata <<extend>> akan berada di atas tanda panah dependency
- Buka jendela spesifikasi use case abstrak, klik checkbox abstrak

Pengertian Error Detection and Correction


-  Error Detection : proses pelacakan kesalahan selama transmisi data  berlangsung, yaitu perubahan satu atau beberapa bit dari nilai “1 ke “0 atau sebaliknya. contoh : parity check, BSC, CRC.
-  Error Correction : proses pelacakan kesalahan selama transmisi data berlangsung.contoh : Stop and Wait, Go Back-N, Selective Repeat
-Error Correction
Ø  Stop and Wait: salah satu metode error correction dimana blok data akan dikirim setelah ACK dari receiver diterima oleh transmitter terlebih dahulu
Ø  Go Back-N: salah satu metode error correction dimana apabila terdapat satu blok data yang rusak maka blok data tersebut dan blok selanjutnya akan dikirim ulang
Ø  Selective Repeat: salah satu metode error correction dimana apabila terdapat satu blok data yang rusak maka hanyak blok data tersebut yang akan dikirim ulang

*    -   Error Detection


Contoh : parity check, BSC, CRC.
Ket :
·         Parity check : Menambahkan sebuah bit pada setiap pengiriman sejumlah bit, sehingga jumlah bit bernilai 1 selalu genap/ganjil. Parity bit dapat mendeteksi kesalahan 1 bit atau Kesalahan  bit dalam jumlah ganjil, namun tidak dapat mendeteksi  kesalahan  dalam jumlah genap
·         CRC “Cyclic redundancy check” : method yang umum digunakan untuk mendeteksi error . CRC beroperasi pada sebuah frame/block. Setiap block berukuran m bit yang akan dikirim akan dihitung CRC checksumnya (berukuran r bit), kemudian dikirim bersama2 dengan frame (dengan ukuran m+r bit).

      Error Correction

·         è Contoh : Stop and Wait, Go Back-N, Selective Repeat

Ket :
·         Stop and Wait: salah satu metode error correction dimana blok data akan dikirim setelah ACK dari receiver diterima oleh transmitter terlebih dahulu
·         Go Back-N: salah satu metode error correction dimana apabila terdapat satu blok data yang rusak maka blok data tersebut dan blok selanjutnya akan dikirim ulang
·         Selective Repeat: salah satu metode error correction dimana apabila terdapat satu blok data yang rusak maka hanyak blok data tersebut yang akan dikirim ulang

Tujuan utama dari teknik error deteksi dan koreksi ini adalah untuk memperbaiki performa system transmisi data digital. Dengan menambahkan bit redundansi kedalam data yang akan dikirim maka akan meningkatkan rate transmisi atau dengan kata lain bendwitdth yang dibutuhkan jika data rate dari data aslinya diinginkan tetap. Hal ini berarti akan mengurangi efisiensi bandwidth jika kondisi SNR yang diinginkan tetap tinggi. Tetapi dengan Cannel Coding, akan dihasilkan BER (bit error rate)  yang baik pada kondisi SNR yang rendah. Inilah yang menjelaskan teori Shannon, yaitu bagaimana cara mempeperbaiki error tanpa mengorbankan bit rate yaitu dengan bekerja pada SNR yang cukup rendah tetapi BER yang dihasilkan tetap baik(kecil).

Mengatasi Error Detection and Correction
Bila dijumpai kesalahan pada data yang telah diterima, maka perlu diadakan tindakan perbaikan atau diusahakan agar kesalahan ini jangan sampai memberikan dampak yang besar. Metode koreksi ini diantaranya adalah :
Ø  Subtitusi symbol
Bila ada data yang rusak maka komputer penerima mengganti bagian itu dengan karakter lain, sepertu karakter SUB yang berupa tanda tanya terbalik. Jika pemakai menjumpai karakter ini (pada program word-prossessor), maka berarti data yang diterima telah mengalami kerusakan, selanjutnya perbaikan dilakukan sendiri.
Ø  Mengirim data koreksi
Data yang dikirim harus ditambah dengan kode tertentu dan data duplikat. Bila penerima menjumpai kesalahan pada data yang diterima, maka perbaikan dilakukan dengan mengganti bagian yang rusak dengan data duplikat, tetapi cara ini jarang dilakukan.
Ø  Kirim ulang
Cara ini merupakan cara yang paling simpel, yaitu bila komputer penerima menemukan kesalahan pada data yang diterima, maka selanjutnya meminta komputer pengirim untuk mengirim mengulangi pengiriman data.

Windows XP



Kelebihan:

1.   Windows XP relatif hemat resource ketika booting, sehingga lebih stabil dan cepat ketika
      melakukan booting.

2 . Sudah banyak aplikasi yang dapat mendukung kinerja Windows XP secara maksimal.

3.  Dengan tools yang kompleks namun relatif ringan dan mudah untuk dipahami pengguna
     sehingga nyaman dan bersahabat serta tidak rumit untuk digunakan.

4.  Pada Windows XP Plug and Play yang bekerja otomatis dan dukungan driver-driver-nya
     yang competible dengan hardware supliers sehingga mudah untuk mengenali perangkat
     hardware tambahan yang terkoneksi.

5. Windows XP lebih stabil dalam kecepatan kinerjanya ketika menjalankan beberapa aplikasi,
    dikarenakan tidak ada file system untuk aplikasi bawaannya yang rakus resource dan memory
    ketika dijalankan dan relatif cepat untuk men-decode file-file yang diolah secara berbarengan
    dengan aplikasi tambahan yang cukup besar untuk mengambil memory CPU.

6.  GUI yang familiar

7.  Dukungan driver yang lebih banyak.

8.  Banyak aplikasi berbasis MS Windows lebih mudah untuk menginstal aplikasi pada
     MS Windows dibandingkan pada Linux, yang terkadang harus di-configure terlebih dahulu
    dan Banyak gratisan GPL dan Freeware ditawarkan untuk  Windows
.
Kelemahan:

1.  Sistem keamanan yang kurang baik, tidak heran banyak virus dan Hecker yang gampang
     sekali menyerang pengguna windows XP dan Proteksi security Windows XP ketika
    Melakukan browsing diinternet sangat rawan, karena Windows XP ketika menginformasikan
    Virus Aktif baik itu yang sering menyusup seperti virus dan worm dengan melalui Security
    Centre tidak memberitahukan penyebabnya hanya sekedar mendeteksi untuk dikonfirmasikan
    terhadap pengguna, sehingga sipengguna harus menambah aplikasi utillity tambahan.

2.  Resiko kehilangan data sangat besar dibanding Vista, dikarenakan sistem security
     centre nya tidak secara otomatis mendeteksi input-output yang tidak dikenal (unknow).

3.  Dalam Remote Administration Windows XP, Network Securitiy-nya sangat lambat untuk
     membaca file-file crack yang bercampur dengan file system sehingga saat melakukan
    Akses Remote sangat rawan dari virus dan penyusup.

4.  Tampilan Visual Windows XP tidak terdapat Aero
     (Aplikasi bawaan untuk tambahan tampilan visual ) sehingga tidak memiliki tampilan 3D.

5. Terlalu banyak system-crash dibanding pada Windows Vist.

6. Windows XP tidak dapat menampilkan preview semua file system yang dibawanya.

7.  Sharing data di area jaringan tidak dapat dilakukan dengan cepat,
    dikarenakan Firewall-nya terlalu lama untuk menginformasikan lewat
    security centre terhadap server.

8.  Windows XP tidak dapat mendeteksi suatu type jaringan untuk dipilih kemudian diaktifkan,
      ketika terdapat type jaringan dalam satu ruang dan waktu yang bersamaan seperti LAN dan WLAN.

9.  Windows XP ketika ingin merestore file-file sistem harus senantiasa diinstal ulang.

Windows 7



Windows 7 merupakan Operating System baru yang populer digunakan sekarang setelah microsoft merelease OS sebelumnya windows Vista dan windows XP. Ada seorang teman yang mangklaim bahwa kecepatan booting windows 7 sampai windows siap hanya 7 detik saja. Oleh karena itulah namanya diberi nama 7 ( tentu lain jika Anda tanya kepada Shakespeare tentang pemberian nama 7 ini, pasti dia hanya menjawab “What in a name?” apa arti sebuah nama hehehe) :-)
Saya sendiri sebenarnya lebih nyaman menggunakan windows XP, karena program-program kebanyakan masih belum suport dengan windows 7. Maklumlah windows 7 masih baru sehingga pengembang software belum upgrade program mereka. Meskipun demikian saya telah mencoba menggunakan windows 7 ini, bukan karena sudah tidak menyukai OS sebelumnya tetapi lebih karena nggak kuat digojloki teman-teman yang telah menggunakan 7 sementara masih menggunakan windows Xp, yang sekarang mungkin terkesan ‘ndeso’ ups! jut kidding.

Kelebihan :

1. Proses booting dan shut down lebih cepat, bahkan ada klaim bahwa 7 diambil dari kecepatan booting sampai windows siap hanya 7 detik.
2. Penggunaan Catu Daya CPU, hard disk (HD) dan memori yang dibutuhkan sistem service relatif lebih kecil meskipun tampilannya lebih memukau dari OS sebelumnya
3. Mengoptimisasi prefetching baik untuk HD maupun SSD
4. Tampilan windows lebih bagus dari segi 3 demensinya yang lebih baik
5. Fitur  keamanannya lebih kuat
6. Fitur show desktop dapat meminimize seluruh program yang aktif hanya dengan sekali gerakan atau klik

Kelemahan / Kekurangan :

1. Beberapa aplikasi belum support dengan Windows 7
2. Masih ada bug pada Windows Player 12
3. Ada hardware yang bisa langsung dikenali di OS sebelumnya tetapi tidak di Windows 7
4. Software yang sebelumnya bisa dipaksa untuk dipasang di Vista, tidak dapat dipaksa dipasang di Windows
5. Banyak perbedaan antara versi starter dan ultimate
Demikianlah Trik Komputer tentang Kelebihan dan Kekurangan Windows 7 semoga membantu Anda. Terimakasih atas kunjungan Anda, semoga menjadikan belajar komputer online kita bermanfaat

Windows Vista


Windows Vista adalah nama dari versi terbaru Microsoft Windows, sistem operasi berbasis grafis dari Microsoft yang digunakan pada komputer pribadi (PC), baik untuk pengguna rumahan maupun bisnis, pada laptop, maupun media center.
Sebelum diumumkan dengan nama Windows Vista pada 22 Juli 2005, sistem operasi ini lebih dikenal dengan codename Longhorn (berasal dari nama Longhorn Saloon, sebuah bar terkenal di Whistler, British Columbia, Kanada).

android

 



Android  adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti telepon pintar dan komputer tablet. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.
Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler.