BAB II TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama.

Sistem Operasi. Kongkurensi

BAB III ANALISA DAN PERANCANGAN

BAB II TINJAUAN PUSTAKA

BAB VIII DEADLOCK ...

Sinkronisasi dan Deadlock Sistem Operasi

Fairuz El Said Sekedar Berbagi Sistem Operasi (SO) Konkurensi KONGKURENSI

Bab 6. Deadlock POKOK BAHASAN: TUJUAN BELAJAR:

Sistem Operasi. Konkurensi

BAB 2 LANDASAN TEORI

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM VIII Deadlock

MODUL 5 MANAJEMEN PROSES (2) (PENJADWALAN PROSES)

Bab 6: Sinkronisasi Proses. Latar Belakang

PENGATURAN PROSES. Proses adalah program yang sedangdieksekusi atau sofware yang sedang dilaksanakan.

KONGKURENSI (KEBERSAMAAN) Haryono Setiadi, ST, M.Eng

Pertemuan 4 KONKURENSI

BAB II MODEL Fungsi Model

Proses Sinkronisasi. Latar Belakang Masalah Critical Section Sinkronisasi Hardware Semaphores Monitors

7 Sinkronisasi. Proses Sinkronisasi. Overview (1) Overview (2) Latar Belakang Masalah Critical Section Sinkronisasi Hardware Semaphores Monitors

DEADLOCK. Haryono Setiadi, ST, M.Eng

Konkurensi. Faikul Umam

Dosen pengampu : Mohamad Dani Sifat : Tutup buku dan peralatan elektronik

Sistem Operasi. Critical section, konkurensi, mutasi exclusion, starvation dan deadlock. Juliansyahwiran, S. Kom, MTI. Modul ke: Fakultas FASILKOM

Apa yang akan dipelajari?

Kongkurensi LPOHLVSFOTJ!

Sistem Operasi Pertemuan 6 Concurrency: Deadlock & Starvation. H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ.

Operating System. Synchronization & Deadlock. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

Process Control Block (PCB) Masing-masing proses Direpresentasikan oleh Sistem Operasi dengan menggunakan Process Control Block (PCB),

Bab 5. Sinkronisasi Proses POKOK BAHASAN: TUJUAN BELAJAR: 5.1 LATAR BELAKANG

7. Pengaturan Proses

MODUL 4 KONSEP PROSES, KONKURENSI, MANAJEMEN PROSES (1) M. R A J A B F A C H R I Z A L - S I S T E M O P E R A S I - M O D U L 4

Deadlock. Gambaran Umum Deadlock

Sinkronisasi & Deadlock AGUS PAMUJI. SISTEM OPERASI - Sinkronisasi & Deadlock

Laporan Tugas Scheduling Pengantar Sistem Operasi

Soal-jawab Quiz 2. Oleh: Endro Ariyanto (END) Oktober 2008

Pertemuan #3: Sinkronisasi dan Deadlock

Sistem Operasi Komputer. Pembahasan Deadlock

Sistem Operasi. Proses dan Thread

Concurrency C oncurrency 2 : Deadlock dan Starvation (P ( ertemuan ke ert -15) November 2014

KONGRUENSI. Pengertian. Mutual Exclusion. Masalah yang harus diselesaikan dalam kongruensi. (lebih. dapat saling berinteraksi.

PEDOMAN WAWANCARA UNTUK PENGAJAR

BAB 2 LANDASAN TEORI. Secara umum, sebuah sistem komputer terbagi atas hardware, sistem operasi, program

KONSEP PROSES STATUS PROSES

Sequential Process. Keterangan SISTEM OPERASI KOMUNIKASI ANTAR PROSES

BAB 2 LANDASAN TEORI

Interaksi Antar Proses

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Bab 3: Proses-Proses. Konsep Proses

CRITICAL REGION - SEMAPHORE MUTEX DALAM CPU OS SIMULATOR V

B. Jawablah dengan ringkas dan lengkap. (Jawaban tidak lebih dari 10 kalimat) (Nilai 40) Solusi: kata kunci dalam huruf miring.

Sistem Operasi Pertemuan 5 Concurrency: Mutual Exclusion & Synchronization

Bab 23. Deadlocks Pendahuluan. Gambar Contoh kasus deadlock pada lalu lintas di jembatan

MAKALAH DEADLOCK. DIAJUKAN UNTUK MEMENUHI TUGAS MATA KULIAH Sistem Operasi Dosen Penampu Bapak Adi Sucipto, Ir., M.Kom. oleh :

DEADLOCK. KELOMPOK : Aurora Marsye Mellawaty Vidyanita Kumalasari Y

Penggunaan Brute Force untuk Mendeteksi Potensi Terjadinya Deadlock

Sistem Operasi PENGATURAN PROSES

BAB 4. SINKRONISASI & DEADLOCK

Konsep Proses. Proses adalah suatu program yang sedang diesekusi (running) Pada saat proses berlangsung :

SISTEM OPERASI. Deadlock.

MANAJEMEN PROSES. Pointer State proses Keadaan proses: Keadaan mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.

3. Sebutkan perbedaan program dan proses berdasarkan keberadaan,sifat dan unsur pembentukan Jawab : Timeout. Dispatch.

Komunikasi & Sinkronisasi Proses

STRUKTUR SISTEM OPERASI

STRUKTUR SISTEM OPERASI

Sistem Operasi. Deadlock

BAB I PENDAHULUAN. Permasalahan yang sering terjadi dalam basis data adalah persoalan deadlock

PRINSIP-PRONSIP KONGKURENSI meliputi halhal berikut : 1. alokasi waktu pemrosesan untuk prosesproses

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

S.P. HARININGSIH, S.T.

Process Synchronization

SISTEM OPERASI. Sri Kusumadewi

PROSES & THREADS 2 AGUS PAMUJI. SISTEM OPERASI - Proses & Threads

Bab 7: Deadlock. Permasalahan Deadlock

BAB II TINJAUAN PUSTAKA

SIMULASI PENCEGAHAN DEADLOCK MENGGUNAKAN DINING PHILOSOPHERS PROBLEMS TUGAS AKHIR THOIF CHUSAINI

SISTEM OPERASI DEADLOCK

Struktur Sistem Operasi

ARSITEKTUR SISTEM. Alif Finandhita, S.Kom, M.T. Alif Finandhita, S.Kom, M.T 1

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Bab 3: Proses-Proses. Konsep Proses

Operating System. Scheduling. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

Koordinasi Antar Proses

Analisis Penerapan Semaphore dalam Mengatasi Masalah Sinkronisasi Dining Philosophers.

Struktur Sistem Operasi

IMPLEMENTASI PENANGANAN DEADLOCK MENGGUNAKAN METODE TASKKILL

BAB 1 PENDAHULUAN. Algoritma Banker dikemukakan oleh Edsger W.Djikstra dan merupakan salah satu

Kelas: Nilai (Diisi Dosen):... IF

Konsep SISTEM OPERASI. Pengenalan Sistem Operasi

PENYELARASAN PADA MASALAH DINING PHILOSOPHERS MENGGUNAKAN ALGORITMA LOCK & RELEASE

Bab 26. Readers/Writers

T UGAS STUDI KASUS SISTEM OPERASI. Mutual Exclusion. Mata Kuliah : Sistem Operasi [ CF 1322] Disusun Oleh :

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi

Sistem Operasi. Teknologi Informasi

Modul ke: Aplikasi Komputer. Sistem Operasi. Fakultas Fikom. Eppstian Syah As ari. Program Studi Jati Sampurna / Kranggan

Jawaban Soal UTS Instalasi dan Penggunaan Sistem Operasi Semester Genap 2014/2015 D3 Teknik Informatika, Fakultas Ilmu Terapan, Universitas Telkom

Komponen sistem operasi modern : 1. Managemen Proses. 2. Managemen Memori Utama. 3.Managemen

DEADLOCK & ALGORITMA OSTRICH

SOLUSI QUIZ 2 SISOP CS3613

Teknik Informatika S1

IF3191- Penjadwalan Proses. Henny Y. Zubir. Departemen Teknik Informatika Institut Teknologi Bandung. IF-ITB/HY/24-Aug-03 IF3191 Penjadwalan Proses

Transkripsi:

BAB II TINJAUAN PUSTAKA II.1 Sistem Operasi Sistem operasi merupakan suatu perangkat lunak yang mengelola seluruh sumber daya sistem komputer dan penyedia layanan pada user, yang sekaligus bertindak sebagai interface antara user dan sistem komputer. Sebelum ada sistem operasi, komputer digunakan dengan memanfaatkan sinyal analog dan sinyal digital. Seiring dengan berkembangnya pengetahuan dan teknologi, pada saat ini terdapat berbagai sistem operasi dengan keunggulan masing-masing. Sistem operasi adalah bagian yang sangat penting bagi semua sistem komputer. Secara umum, sistem komputer terbagi atas hardware, sistem operasi, program aplikasi, dan user. Hardware terdiri atas CPU, memori dan I/O device yang merupakan resources dasar. Program aplikasi berisi compiler, basis data, games dan program-program bisnis, yang merupakan alat dimana resourceresource akan diakses untuk menyelesaikan masalah user. (Sumber: Haryanto.B,Sistem Informasi. 1999,Edisi Kedua) Komponen-komponen sistem komputer tersebut ditunjukkan oleh gambar II.1 berikut ini. 7

8 User 1 User 2 User 3... User 4 compiler assembler text editor... database system Program-program Aplikasi Sistem Operasi Hardware Gambar II.1 Komponen Komponen Sistem Komputer (Sumber : M. Naghibzadeh, Operating SystemConcepts and Techniques ) II.1.1 Tugas Utama Sistem Operasi Sistem operasi mempunyai dua tugas utama yaitu: 1. Mengelola seluruh sumber daya sistem komputer (sebagai resource manager), yang berfungsi mengelola seluruh sumber daya yang terdapat pada sistem komputer. 2. Menyediakan layanan (sebagai extended/virtual machine). Sistem operasi menyediakan sekumpulan layanan (disebut system calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan atau pemanfaatan sumber daya sistem komputer. (Sumber: Iwan Binanto,Readers And Writers Problem. 2003)

9 II.1.2 Peranan Sistem Operasi Peranan sistem operasi pada komputer adalah: 1. Menyediakan antarmuka (interface atau jembatan penghubung) antara user dengan hardware. 2. Mengadakan pemakaian bersama hardware maupun data antar user. 3. Mengatur penjadualan resource bagi user (seperti: pemakaian CPU dan I/O secara bergantian, dengan adanya memori manager dapat mengakses program besar hanya dengan memori kecil). 4. Menyediakan fasilitas sistem operasi (seperti: menyediakan fasilitas interrupt). (Sumber: Iwan Binanto,Readers And Writers Problem. 2003) II.1.3 Sasaran Sistem Operasi Menurut William Stallings, sistem operasi mempunyai dua sasaran, yaitu: 1. Kenyamanan. Sistem operasi harus membuat penggunaan komputer menjadi lebih nyaman. 2. Efisiensi. Sistem operasi menjadikan penggunaan sumber daya sistem komputer secara efisien. (Sumber: Iwan Binanto,Readers And Writers Problem. 2003)

10 II.2 Konkurensi Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses (lebih dari satu proses) berada pada saat yang sama. Proses-proses konkuren dapat sepenuhnya tak bergantung dengan lainnya tapi dapat juga saling berinteraksi. Masalah pada konkurensi antara lain: 1. Mutual exclusion, adalah jaminan hanya satu proses yang mengakses sumber daya pada suatu interval waktu. 2. Sinkronisasi Proses-proses konkuren dapat sepenuhnya tak bergantung dengan lainnya tapi dapat juga saling berinteraksi. Proses-proses yang berinteraksi memerlukan sinkronisasi agar terkendali dengan baik. 3. Deadlock Proses disebut deadlock jika proses menunggu satu kejadian tertentu yang tak akan pernah terjadi. Sekumpulan proses berkondisi deadlock bila setiap proses yang ada di kumpulan itu menunggu suatu kejadian yang hanya dapat dilakukan proses lain yang juga berada di kumpulan itu. 4. Komunikasi antara proses Masalah lebih besar dibandingkan dengan sinkronisasi adalah komunikasi antar proses IPC (Inter Process Communication), memungkinkan pertukaran data atau komunikasi antar proses untuk bekerjasama mencapai sasaran aplikasi. (Sumber: Iwan Binanto,Readers And Writers Problem. 2003)

11 II.2.1 Sinkronisasi Latar belakang dari sinkronisasi dalam sistem operasi adalah: 1. Akses-akses yang dilakukan secara bersamaan ke data yang sama, dapat menyebabkan data menjadi tidak konsisten. 2. Untuk menjaga agar data tetap konsisten, dibutuhkan mekanismemekanisme untuk memastikan pemintaan eksekusi dari proses yang bekerja. 3. Race condition, yaitu situasi dimana beberapa proses mengakses dan memanipulasi data secara bersamaan. Nilai terakhir dari data bergantung dari proses mana yang selesai terakhir. 4. Untuk menghindari race condition, proses-proses secara bersamaan harus disinkronisasikan. (Sumber: Kusumadewi.S,Sistem Operasi.2000) II.2.2 Mutual Exclusion Terdapat sumber daya yang tak dapat dipakai bersama pada saat bersamaan, seperti printer( Kusumadewi,2000). Sumber daya semacam ini disebut sumber daya kritis. Bagian program yang menggunakan sumber daya kritis disebut memasuki critical region/section. Hanya satu program pada satu saat yang diijinkan masuk critical region. Pemrogram tidak dapat bergantung pada sistem operasi untuk memahami dan memaksakan batasan ini karena maksud program tidak dapat diketahui.

12 Sistem operasi hanya menyediakan layanan (berupa system call) untuk mencegah proses masuk critical region yang sedang dimasuki proses lain. Pemrogram harus menspesifikasikan bagian-bagian critical region sehingga sistem operasi akan menjaganya dengan suatu mekanisme untuk mencegah proses lain masuk critical region yang sedang dipakai proses lain. II.2.3 Semaphore Semaphore merupakan pendekatan yang diajukan oleh Djikstra untuk menjamin mutual exclusion, dengan prinsip bahwa dua proses atau lebih dapat bekerja sama dengan menggunakan penanda-penanda sederhana, seperti proses dapat dipaksa berhenti pada suatu saat, sampai proses mendapatkan penanda tertentu itu. Semaphore mempunyai dua sifat, yaitu: 1. Semaphore dapat diinisialisasi dengan nilai non-negatif. 2. Terdapat dua operasi terhadap semaphore, yaitu Wait dan Signal. Semaphore S merupakan variabel bertipe integer yang diakses dengan 2 operasi yang bersifat atomic, yaitu wait dan signal. Operasi-operasi ini diwakili dengan P (wait) dan V(signal), sebagai berikut: wait(s) : while S < 0 do no_op; S:= S 1; signal(s) : S:= S + 1; Misalkan ada 2 proses yang sedang berjalan secara simultan, yaitu proses P 1 dengan pernyataan S 1 dan proses P 2 dengan S 2. Andaikan kita mengharapkan

13 S 2 baru akan dijalankan hanya setelah S 1 selesai. Hal ini dapat dilakukan dengan menggunakan bantuan sempahore synch (dengan nilai awal = 0) yang akan dishare oleh kedua proses. Untuk Proses P 1 : S1; signal (synch); Untuk Proses P2: wait(synch); S 2 ; Karena nilai awal untuk variabel synch adalah nol, maka P 2 akan mengeksekusi S2 hanya setelah P1 mengerjakan instruksi signal(synch) setelah eksekusi S 1. Salah satu kerugian dari penggunaan sempahore di atas adalah adanya busy waiting. Apabila suatu proses menempati critical section, dan ada proses lain yang ingin masuk critical section, maka akan terjadi iterasi secara terus-menerus. Hal ini akan menimbulkan masalah pada sistem yang menggunakan konsep multiprogramming. Untuk menghindari busy waiting, dilakukan modifikasi pada operasi wait dan signal. Jika suatu proses sedang mengeksekusi operasi wait, maka nilai semaphore menjadi tidak positif. Pada saat ini, proses akan memblok dirinya sendiri dan ditempatkan pada waiting queue. Proses yang sedang diblok akan menunggu hingga sempahore S di-restart, yaitu pada saat beberapa proses yang lain mengeksekusi operasi signal. Suatu proses akan di-restart dengan operasi

14 wakeup, yang akan mengubah proses dari keadaan waiting ke ready. Untuk mengimplementasikan hal ini, sempahore dirancang dalam bentuk record: type sempahore = record; value: integer; L: list of process; end; Var S: sempahore; (Sumber: Iwan Binanto,Readers And Writers Problem. 2003) II.3 Deadlock Proses disebut deadlock jika proses menunggu satu kejadian tertentu yang tak akan pernah terjadi. Sekumpulan proses berkondisi deadlock bila setiap proses yang ada di kumpulan itu menunggu suatu kejadian yang hanya dapat dilakukan proses lain yang juga berada di kumpulan itu. Proses menunggu kejadian yang tidak akan pernah terjadi. Deadlock terjadi ketika proses-proses mengakses secara ekslusif sumber daya. Semua deadlock yang terjadi melibatkan persaingan memperoleh sumber daya ekslusif oleh dua proses atau lebih. Proses dikatakan sebagai mengalami starvation bila proses-proses itu menunggu alokasi sumber daya sampai tak berhingga, sementara proses-proses lain dapat memperoleh alokasi sumber daya. Starvation disebabkan bias pada kebijaksanaan atau strategi alokasi sumber daya. Kondisi ini harus di hindari karena tidak adil tetapi di kehendaki penghindaran dilakukan seefisien mungkin. (Sumber: Haryanto.B,Sistem Operasi Lanjut.2003)

15 II.3.1 Model Deadlock Urutan kejadian pengoperasian perangkat masukan/keluaran adalah: 1. Meminta (request), yaitu meminta pelayanan perangkat masukan / keluaran. 2. Memakai(use), yaitu memakai perangkat masukan/keluaran. 3. Melepaskan(release), yaitu melepaskan pemakaian perangkat masukan / keluaran. Misalnya, terdapat dua proses P 0 dan P 1 dan dua sumber daya R 0 dan R 1. P 0 R 1 R 0 P 1 (a) (b) Gambar II.2 Graph Meminta Sumber Daya dan Alokasi Sumber Daya (Sumber : M. Naghibzadeh, Operating SystemConcepts and Techniques ) Gambar II.2 (a) P 0 meminta sumber daya R 0, ditandai busur (edge) berarah dari proses P 0 ke sumber daya R 0. Gambar II.2 (b) sumber daya R 1 dialokasikan ke P 1, ditandai busur berarah dari sumber daya R 1 ke proses P 1. Kemudian terjadi skenario berikut, - P 0 sambil masih menggenggam R 0, meminta R 1. - P 1 sambil masih menggenggam R 1, meminta R 0.

16 Kejadian ini mengakibatkan deadlock karena sama-sama akan saling menunggu. Deadlock tidak hanya terjadi pada dua proses dan dua sumber daya, deadlock dpat terjadi dengan melibatkan lebih dari dua proses dan dua sumber daya. P 0 R 0 R 0 P 1 Gambar II.3 Graph Deadlock Dua Proses Dan Dua Sumber Daya (Sumber : M. Naghibzadeh, Operating SystemConcepts and Techniques ) II.3.2 Metode Metode Mengatasi Deadlock Terdapat empat syarat untuk terjadinya deadlock, yaitu: 1. Mutual Exclution Condition Tiap sumber daya saat itu diberikan pada tepat satu proses. 2. Kondisi genggam dan tunggu (hold and wait condition) Proses-proses yang sedang mengenggam sumber daya, menunggu sumber daya-sumber daya baru. 3. Kondisi non-preemption (non-preemption condition) Sumber daya-sumber daya yang sebelumnya diberikan tidak dapat diambil paksa dari proses itu. Sumber daya-sumber daya harus secara eksplisit dilepaskan dari proses yang mengenggamnya. 4. Kondisi menunggu secara sirkuler (circular wait condition)

17 Harus terdapat rantai sirkuler dari dua proses atau lebih, masing-masing menunggu sumber daya yang digenggam oleh anggota berikutnya pada rantai itu. Ketiga syarat pertama merupakan syarat perlu (necessary conditions) bagi terjadinya deadlock. Keberadaan deadlock selalu berarti terpenuhi kondisi-kondisi di atas, tak mungkin terjadi deadlock bila tidak ada ketiga kondisi itu. Deadlock terjadi berarti terdapat ketiga kondisi itu, tetapi adanya ketiga kondisi itu belum berarti terjadi deadlock. Deadlock baru benar-benar terjadi bila syarat keempat terpenuhi. Kondisi keempat merupakan keharusan bagi terjadinya peristiwa deadlock. Bila salah satu kondisi saja tidak terpenuhi, maka deadlock tidak terjadi. (Sumber: Haryanto.B,Sistem Operasi Lanjut.2003) II.3.3 Pencegahan Deadlock Havender, J.W dalam bukunya berjudul Avoiding Deadlock in Multitasking Systems mengemukakan jika sembarang syarat dari keempat syarat tak terpenuhi maka tidak akan terjadi deadlock. Havender menyarankan starategistrategi berikut untuk meniadakan syarat-syarat tersebut, yaitu: 1. Tiap proses harus meminta sumber daya yang diperlukan sekaligus dan tidak berlanjut sampai semuanya diberikan. 2. Jika proses telah sedang memegang sumber daya tertentu, untuk permintaan berikutnya proses harus melepas dulu sumber daya yang dipegangnya.

18 3. Beri pengurutan linear terhadap tipe-tipe sumber daya pada semua proses, yaitu jika proses telah dialokasikan suatu tipe sumber daya, proses hanya boleh meminta sumber daya-sumber daya tipe pada urutan yang berikutnya. II.4 Readers and Writers Problem Masalah pembaca dan penulis (readers and writers problem) memodelkan pengaksesan lebih dari satu proses ke basis data yang sama. Masalahnya dapat dideskripsikan sebagai berikut, diasumsikan terdapat basis data besar seperti sistem reservasi penerbangan dengan proses-proses yang berkompetisi untuk membaca dan menulis pada basis data tersebut. Diasumsikan bahwa sistem tersebut memiliki prosedur sebagai berikut: 1. Mengijinkan banyak proses membaca basis data pada saat yang sama. 2. Jika terdapat satu proses menulis (mengubah) basis data, proses lain tidak boleh mengakses basis data baik membaca atau menulis. Pada masalah ini, writers memiliki prioritas yang lebih tinggi daripada readers. Jika ada writer yang sedang menunggu, maka tidak boleh ada reader lain yang bekerja. Writer akan memblok semua proses reading oleh readers dan melakukan proses writing. Permasalahan ini hampir sama dengan manajemen penggunaan basis data dalam kehidupan sehari- hari, dimana record tidak akan dapat diakses oleh pengguna pada saat record sedang di eksekusi oleh pengguna yang lain seperti transaksi, insert, dellete maupun update. Ketika pengguna mengerjakan proses transaksi, insert, dellete ataupun update maka database engine akan mengunci ( lock) basis data, sehingga semua aksi membaca dan menulis

19 yang lainnya pada tabel yang sama dan pada basis data yang sama diblok hingga proses selesai dikerjakan. Berikut ini dapat kita lihat struktur proses readers dan struktur proses writers pada gambar II. 4 dan II.5 Sebagai berikut, wait(wrt);... menulis... signal(wrt); Gambar II.4 Struktur Proses Writer (Sumber : Havender, J.W, Avoiding Deadlock in Multitasking Systems, 2005) wait(mutex); readcount:= readcount + 1; if readcount = 1 then wait(wrt); signal(mutex);... membaca... wait(mutex); readcount:= readcount 1; if readcount = 0 then signal(wrt); signal(mutex); Gambar II.5 Struktur Proses Reader (Sumber : Havender, J.W, Avoiding Deadlock in Multitasking Systems, 2005)

20 Gambar II.4 dan Gambar II.5 menunjukkan masalah reader dan writer. Jika ada writer dalam critical section dan ada n reader yang menunggu, maka satu reader akan antri di wrt, dan n 1 reader akan antri. Jika writer mengeksekusi signal(wrt), maka dapat disimpulkan bahwa eksekusi adalah menunggu reader atau menunggu satu writer. Permasalahan readers and writers problem ini hampir sama dengan manajemen penggunaan basis data (Microsoft Access, SQL Server, dan database engine lainnya) dalam kehidupan sehari-hari, dimana record tidak akan dapat diakses oleh pengguna ketika record sedang dieksekusi oleh pengguna lain untuk proses insert, delete atau update. Ketika mengerjakan proses insert, delete atau update, data base engine mengunci (lock) basis data, sehingga semua aksi membaca dan aksi menulis lainnya pada tabel yang sama dan pada basis data yang sama diblok hingga proses selesai dikerjakan. Sumber : www.wikipedia.org/wiki/readers-writers_problem II.5 Model Model adalah representasi dari suatu objek (benda) atau ide-ide dalam bentuk yang lain (Kusumadewi.2003). Model juga dapat didefenisikan sebagai suatu gambaran, abstraksi atau imajinasi suatu sistem nyata. Ataupun berupa suatu abstraksi dunia nyata yang pada akhirnya dapat digunakan untuk mengambil keputusan. Model berisi informasi-informasi tentang sesuatu yang dibuat dengan tujuan untuk mempelajari sistem yang sebenarnya.

21 II.5.1 Kegunaan Model Model yang dibuat dapat berguna untuk: 1. Membantu dalam berpikir, model menyajikan deskripsi yang sistematis tentang suatu sistem sehingga dapat mempermudah mempelajari sistem tersebut. 2. Membantu untuk berkomunikasi atau mempermudah menjelaskan tentang suatu sistem kepada orang lain. 3. Sebagai alat latihan, untuk melatih ketrampilan orang-orang yang berhubungan dengan sistem sebenarnya yang dimodelkan. Contohnya: Simulator dalam dunia penerbangan, ini digunakan untuk melatih seorang calon pilot yang dalam taraf belajar, belum boleh mengemudikan pesawat yang sebenarnya, tetapi belajar mengemudikan suatu model yang mewakili pesawat dan juga mengoperasikan model tersebut terhadap suatu model lapangan terbang, udara, lingkungan terbang dan sebagainya. 4. Sebagai alat prediksi terhadap kelakuan sistem untuk waktu yang akan datang, yaitu pengaruh-pengaruh yang ingin diketahui jika ada perubahan sistem atau operasi sistem. 5. Membantu dalam melakukan percobaan, dalam hal melakukan percobaan atau eksperimen tidak mungkin langsung dilaksanakan atau diadakan secara praktis karena biaya yang mahal dan bahaya atau resiko yang tinggi. Sumber : www.wikipedia.org/wiki/readers-writers_problem

22 II.5.2 Petunjuk Pembuatan Model Dalam pembuatan model, proses pembuatan model tidak dapat digambarkan secara pasti, namun ada petunjuk yang dapat digunakan yaitu sebagai berikut: 1. Pemecahan masalah melalui penyederhanaan. 2. Menyatakan objek dengan persyaratan yang jelas karena objek sangat menentukan model. 3. Mencari analog-analog dan sistem atau model yang sudah ada untuk mempermudah konstruksi. 4. Menentukan komponen-komponen yang akan dimasukkan ke dalam model. 5. Menentukan variabel, konstanta dan parameter, hubungan fimgsional serta konstrain dari fungsi-fungsi kriterianya. 6. Untuk membuat model matematik hams dipikirkan cara untuk menyatakan masalah secara numerik jika ingin disimulasikan dengan komputer. 7. Nyatakan dengan simbol-simbol. 8. Menuliskan persamaan matematikanya. 9. Bila model terlalu rumit, terdapat beberapa cara untuk menyederhanakan model seperti: 1. Buat harga variabel menjadi parameter. 2. Eliminasi/kombinasikan variabel-variabel. 3. Asumsikan linieritas. 4. Tambahkan asumsi dan batasan yang ketat. 5. Perjelas batasan sistem.

23 Sebelum menentukan model yang akan dibuat, lebih dahulu perlu mempelajari sistemnya. Sistem yang ada seringkali sangat kompleks, tapi model diusahakan dibuat sesederhana mungkin. Salah satu cara untuk mempelajari sistem adalah dengan menuangkan informasi-informasi dari sistem tersebut ke dalam bentuk diagram. II.5.3 Kriteria Model Untuk menilai model apakah dapat dianggap "baik" sebenarnya cukup sulit, tetapi pada dasarnya kriteria suatu model yang baik dapat diuraikan sebagai berikut: 1. Mudah dimengerti pemakaiannya. 2. Harus mempunyai tujuan yang jelas. 3. Dinyatakan secara jelas dan lengkap. 4. Mudah dikontrol dan dimanipulasi oleh pemakai. 5. Mengandung pemecahan masalah yang penting dan jelas. 6. Mudah diubah dan mempunyai prosedur modifikasi. 7. Dapat berkembang dari sederhana menjadi kompleks II.6 Simulasi II.6.1 Definisi Simulasi Simulasi adalah proses merancang model dari suatu sistem yang sebenarnya, mengadakan percobaan-percobaan terhadap model tersebut dan mengevaluasi hasil percobaan tersebut.

24 II.6.2 Manfaat Simulasi Adapun manfaat dari simulasi adalah sebagai berikut: 1. Menjelaskan kelakuan sistem. 2. Menirukan bekerjanya suatu sistem melalui suatu model. 3. Memecahkan suatu persoalan matematik dengan analisis numerik. 4. Mempelajari dinamika suatu sistem. 5. Memberikan suatu deskripsi perilaku sistem dalam perkembangan sejalan dengan bertambahnya waktu. 6. Membangun teori atau hipotesa yang mempertanggungjawabkan kelakuan dari sistem yang diamati. 7. Meramalkan kelakuan sistem yang akan datang yaitu pengaruh yang dihasilkan oleh perubahan-perubahan sistem atau perubahan operasinya. II.6.3 Simulasi Sistem Diskrit Dalam pendekatan diskrit pada sistem simulasi, perubahan keadaan (state) dalam sistem fisik direpresentasikan oleh sebuah seri dari perubahan diskrit atau kejadian (event) pada waktu instan yang spesifik dan model yang demikian dikenal sebagai model kejadian diskrit (discrete event models). Waktu dan keadaan adalah dua properti penting yang digunakan untuk mendeskripsikan model simulasi. Tingkah laku dinamis dari sistem dipelajari dengan meneliti beberapa variasi dari keadaan sistem sebagai sebuah fungsi. Kemudian mengumpulkan dan menganalisa sistem statistik. Kejadian yang mengubah keadaan sistem dihasilkan

25 pada waktu yang berbeda dan jalan pintas dari waktu direpresentasikan dengan sebuah internal clock yang diinkremen dan dibangun dengan program simulasi (simulator). Waktu simulasi dapat dikembangkan dalam dua jalan. Metoda pertama adalah interval-oriented simulation atau uniform time increment method (fixed time increment atau synchoronous method) dimana clock dikembangkan dari waktu t ke t + t dimana t adalah sebuah tambahan waktu tertentu yang teratur (uniform fixed time increment). Metoda kedua adalah event-oriented simulation atau variabel time increment method (next-event time increment atau asynchoronous method) dimana clock ditambah (increment) dari waktu t sampai kejadian berikutnya (next event). Perubahan keadaan dibuat pada waktu kejadian t, waktu kejadian berikutnya t, dan proses ini berulang terus. (Sumber : VP.Singh, System Modeling And Simulation, Bhaddal, Ropar, India, 2009).