2. Graph  tidak  sederhana  yaitu  graph  yang  memiliki  sisi  ganda  maupun  loop.  Graph  ini
dibedakan menjadi dua yaitu:
a. Graph ganda yaitu graph yang memiliki sisi ganda. Sisi ganda adalah sekumpulan sisi
yang menghubungkan sepasang simpul yang sama.
Gambar 2.5 Graph ganda
b. Graph  semu  yaitu  graph  yang  memiliki  sisi  loop.  Loop  adalah  sisi  yang
menghubungkan sebuah simpul dengan dirinya sendiri.
Gambar 2.6 Graph semu.
Berdasarkan jumlah simpul yang dimilikinya, graph digolongkan menjadi dua jenis:
Universitas Sumatera Utara
1. Graph berhingga limited graph yaitu graph yang memilki jumlah simpul
berhingga.
Gambar 2.7 Graph berhingga
2. Graph  tak  berhingga  unlimited  graph  yaitu  graph  yang  jumlah  simpulnya  tak
berhingga.  Secara  geometris  graph  tak  berhingga  digambarkan  dengan  sisi-sisi  yang hanya  memiliki  satu  simpul  untuk  setiap  simpul  luarnya.  Sekilas  nampak  seperti
graph yang belum selesai digambar.
Gambar 2.8 Graph tak berhingga.
Universitas Sumatera Utara
Berdasarkan orientasi arah dari sisi-sisi, graph digolongkan menjadi dua jenis: 1.
Graph tak berarah yaitu graph yang sisi-sisinya tidak memiliki orientasi arah.
Gambar 2.9 Graph tak berarah
2. Graph berarah yaitu graph yang sisi-sisinya memiliki orientasi arah.
Gambar 2.10 Graph berarah
Pada  gambar  Graph  berarah  di  atas,  sisi  yang  menghubungkan  simpul  V
3
ke  simpul  V
1
tidak  sama  dengan  sisi  yang  menghubungkan  simpul  V
1
kesimpul  V
3
karena  orientasi arahnya berbeda.
Universitas Sumatera Utara
2.2 Graph Alokasi Sumber Daya
2.2.1 Definisi Graph Alokasi Sumber daya
Graph aloaksi sumber daya adalah salah satu penerapan graph pada sistem operasi. Graph alokasi sumber  daya  merupakan  graph  sederhana  dan  graph  berarah.  Graph  ini  merupakan  visualisasi
yang membantu proses pendeteksian dan pencegahan masalah deadlock.
2.2.2 Komponen Graph Alokasi Sumber daya
Graph alokasi sumber daya mempunyai komponen-komponen layaknya graph biasa. Pada graph ini simpul dan sisinya dibedakan menjadi dua.
Simpul graph alokasi sumber daya dibagi menjadi dua jenis yaitu: 1.
Proses P = {P , P
1
, P
2
, P
3
, ..., P
i
, ..., P
m
}. Terdiri dari semua proses yang ada di sistem.  Simpulnya  digambarkan  sebagai  lingkaran  dengan  nama  prosesnya.
Gambar berikut menunjukkan simpul untuk proses P
i.
Gambar 2.11 Proses
2. Sumber  daya  R  =  {R
,  R
1
,  R
2
,  R
3
,  ...,  R
j
,  ...,  R
n
}.  Terdiri  dari  semua  sumber daya  yang  ada  di  sistem.  Simpulnya  digambarkan  sebagai  segi  empat  dengan
instans bagian yang dapat dialokasikan serta nama sumber daya.
Gambar 2.12 Sumber daya.
Universitas Sumatera Utara
Sisi graph alokasi sumber daya juga dibagi menjadi dua jenis yaitu: 1.
Sisi permintaan request edge: P
i
- R
j
, sisi yang digambarkan dengan tanda panah dari P
i
menuju R
j,
sisi permintaan menggambarkan adanya suatu proses P
i
yang meminta sumber daya R
j
dan sedang menunggu sumber daya tersebut. Bila permohonan untuk menggunakan sumber daya dikabulkan, maka request
edge akan diubah menjadi assignment edge sisi alokasi.
Gambar 2.13 Sisi permintaan.
2. Sisi alokasi assignment edge: R
j
-  P
i
, sisi yang digambarkan dengan tanda panah dari R
j
menuju P
i,
sisi aloksi menggambarkan adanya suatu sumber daya R
j
yang mengalokasikan salah satu instansnya bagiannya pada proses P
i
.
Gambar 2.14 Sisi alokasi.
Berikut ini contoh graph alokasi sumber daya yang terdiri dari 7 simpul: V = {P
, P
1
, P
2
, P
3
, R , R
1
, R
3
}, Dan memiliki 5 sisi:
E={P - R
, R - P
1
, R
1
- P
1
, R
2
- P , R
2
-P
2
}. Graph tersebut menunjukkan bahwa:
1. P
meminta sumber daya dari R .
Universitas Sumatera Utara
2. R
memberikan sumber dayanya kepada P
1
. 3.
R
1
memberikan salah satu sumber dayanya kepada P
1.
4. R
2
memberikan salah satu sumber dayanya kepada P
0.
5. R
2
memberikan salah satu sumber dayanya kepada P
2
.
Setelah  suatu  proses  mendapatkan  semua  sumber  daya  yang  diperlukan  maka,  sumber  daya tersebut dilepas dan digunakan oleh proses lain.
Gambar 2.15 Graph alokasi sumber daya tiga proses dan empat sumber daya.
2.3 Definisi Sistem Operasi
Secara  umum  Sistem  Operasi  adalah  suatu  sistem  yang  terdiri  dari  komponen-komponen  kerja dengan memuat metode kerja yang digunakan untuk memanfaatkan mesin, sehingga mesin dapat
bekerja sesuai dengan yang diinginkan.
Universitas Sumatera Utara
Sistem  Operasi  merupakan  penghubung  antara  pengguna  mesin  dengan  perangkat  yang dimiliki mesin tersebut.
Sistem operasi  bertugas untuk  mengendalikan kontrol serta  mengoordinasikan penggunaan perangkat  keras  untuk  berbagai  aplikasi  untuk  pengguna.  Pengertian  dari  sistem  operasi  juga
dapat dlihat dari berbagai sudut pandang yaitu: 1.
Dari  sudut  pandang  pengguna,  sistem  operasi  merupakan  alat  untuk  mempermudah penggunaan  komputer.  Sebaliknya  dalam  lingkungan  berpengguna  banyak,  sistem
operasi  dapat  dipandang  sebagai  alat  untuk  memaksimalkan  penggunaan  sumber  daya komputer.
2. Dari  sudut  pandang  sistem,  sistem  operasi  dapat  dianggap  sebagai  alat  yang
menempatkan sumber daya secara efisien. Sistem  operasi  adalah  manajer  bagi  sumber  daya,  yang  menangani  konflik  permintaan
sumber daya secara efisien. Sistem operasi juga mengatur eksekusi aplikasi dan operasi dari alat IO. Fungsi ini juga dikenal sebagai program pengendali. Terlebih lagi sistem operasi merupakan
suatu bagian program yang berjalan setiap saat yang dikenal dengan istilah kernel. Dari sudut pandang tujuan sistem, sistem operasi dapat dipandang sebagai alat yang membuat
komputer  lebih  nyaman  digunakan  untuk  menjalankan  aplikasi  dan  menyelesaikan  masalah pengguna.  Dan  ternyata  komponen-komponen  dasar  sistem  operasi  memakai  implementasi  dari
matematika diskrit. Ada berbagai macam definisi sistem operasi, antara lain:
1. Sistem Opersi adalah software yang mengontrol hardware. Jadi hanya berupa program
biasa. 2.
Program yang menjadikan hardware lebih mudah untuk digunakan. 3.
Kumpulan program yang mengatur kerja hardware sesuai keinginan user. 4.
Manajer  sumber  daya  atau  pengalokasian  sumber  daya  komputer,  seperti  mengatur memori, printer, dan lain-lain.
5. Sebagai  program  pengendali  yaitu,  program  yang  digunakan  untuk  mengontrol
program yang lain.
Universitas Sumatera Utara
6. Sebagai  kernel,  yaitu  program  yang  terus  menerus  running  selama  komputer
dihidupkan. 7.
sebagai guardian yang menjaga komputer dari berbagai kejahatan komputer.
Definisi Deadlock
Menurut  arti  katanya  deadlock  adalah  kebuntuan.  Dalam  sistem  operasi  kebuntuan  yang dimaksud  adalah  kebuntuan  proses  sehingga  deadlock  digunakan  untuk  penyebutan  terhadap
suatu  kondisi  permanen  dimana  proses  tidak  dapat  berjalan  ataupun  tidak  ada  komunikasi  lagi antar proses.
Secara  sederhana  deadlock  didefinisikan  sebagai  suatu  kondisi  dimana  sistem  tidak berjalan lagi karena adanya proses yang saling menunggu.
Contoh deadlock pada sebuah jembatan:
Gambar 2.16 Deadlock pada jembatan
Gambar  diatas  menunjukkan  terjadinya  deadlock.  Kedua  mobil  dari  sisi  bawah  gambar tidak dapat melaju, deadlock tersebut hanya dapat diatasi bila beberapa mobil mundur.
Gambar 2.17 Proses C dan D deadlock terhadap sumber daya T dan U.
Universitas Sumatera Utara
Contoh deadlock pada rel kereta api:
Gambar 2.18 Deadlock pada rel kereta api.
Kedua  kereta  tidak  dapat  berjalan  karena  keduanya  saling  menunggu  kereta  lain  agar dapat lewat sehingga terjadi deadlock.
2.4.1 Model Sistem
Untuk memodelkan kondisi deadlock, maka bayangkan sebuah sistem dengan: 1.
Sekumpulan proses, P = {P
1
, P
2
, ..., P
n
} 2.
Sekumpulan tipe sumber daya yang berbeda, R = {R
1
, R
2
, ..., R
m
} 3.
Sumber daya R
i
memiliki n bagian instans yang identik dan masing-masing digunakan.
Pada  model  operasi  normal,  sebuah  proses  menggunakan  sumber  daya  dengan  urutan sebagai berikut:
1. Mengajukan permohonan request: Bila permohonan tidak dapat dikabulkan dengan segera misal karena sumber daya sedang digunakan proses lain, maka proses itu harus
menunggu sampai sumber daya yang dimintanya tersedia. 2. Menggunakan sumber daya use: Proses dapat menggunakan sumber daya, misal:
printer untuk mencetak, disk drive untuk melakukan operasi IO, dan sebagainya.
Universitas Sumatera Utara
3. Melepaskan sumber daya relase: Setelah proses menyelesaikan penggunaan sumber daya, maka sumber daya harus dilepaskan sehingga dapat digunakan oleh proses lain.
2.4.2 Sumber daya
Deadlock  bisa  terjadi  pada  saat  proses  akan  mengakses  obyek  secara  tidak  semestinya.  Obyek tersebut dinamakan sumber daya. Sumber daya ada dua jenis, yaitu:
1. Preemptable  dapat  diambil.  Sumber  daya  dikatakan preemptable  jika  sumber  daya
tersebut dapat diambil dilepas dari proses yang sedang memakainya tanpa memberi efek  apapun  pada  proses  tersebut.  Salah  satu  contoh  preemptable  adalah  memori.
Sebagai  contoh,  andaikan  suatu  sistem  terdiri  atas  512K  user  memori,  satu  printer, dan  2  proses  masing-masing  berukuran  512K  dan  ingin  mencetak  sesuatu.  Proses  A
meminta  printer  dan  mendapatkannya.  Kemudian  proses  A  tersebut  segera menghitung  suatu  nilai  yang  akan  dicetak.  Sebelum  ia  selesai  menghitung  nilai
tersebut, waktu yang diberikan ke proses tersebut telah habis sehingga proses A harus di swapped-out ditukar keluar
Sekarang  proses  B  mulai  berjalan  dan  mencoba  untuk  mendapatkan  printer,  namun gagal karena printer telah dibawa oleh proses A. Hal ini sangat potensial untuk terjadi
deadlock,  sebab  proses  A  membawa  printer  dan  proses  B  menempati  memori. Untungnya, karena memori bersifat preemptable dapat diambil dari proses B dengan
cara swapped-out ditukar keluar proses B dan swapped-in ditukar masuk proses A ke  memori,  maka  proses  A  dapat  segera  diselesaikan,  sehingga  tidak  akan  terjadi
deadlock. 2.
Nonpreemtable tidak dapat diambil. Pada sumber daya  jenis  ini, sumber daya tidak dapat  diambil  dari  proses  yang  sedang  membawanya  karena  akan  menimbulkan
kegagalan  komputasi.  Printer  adalah  salah  satu  contohnya.  Jika  suatu  proses  sedang menggunakan  printer  untuk  mencetak  sesuatu,  maka  printer  tersebut  tidak  dapat
diambil  untuk  mencetak  sesuatu  dari  proses  lain.  Sumber  daya  jenis  ini  biasanya berpotensi terjadinya deadlock.
Universitas Sumatera Utara
2.4.3 Penyebab dan penanggulangan Deadlock
Menurut Coffman1971 ada empat kondisi yang dapat menyebabkan terjadinya deadlock, yaitu: 1.
Mutual  Exclusion  adalah  suatu  kondisi  dimana  hanya  ada  satu  proses  yang  boleh memakai  sumber  daya,  dan  proses  lain  yang  ingin  memakai  sumber  daya  tersebut
harus  menunggu  hingga sumber daya tadi dilepaskan atau tidak ada proses  lain  yang memakai sumber daya tersebut.
2. Hold and Wait adalah suatu proses  yang  menahan  sedikitnya satu sumber daya  yang
sedang  waiting  menunggu  untuk  memperoleh  sumber  daya  tambahan  dengan berpegang pada proses lain.
3. No  Preemption  adalah  suatu  sumber  daya  yang  dapat  dilepaskan  hanya  dengan
sukarela oleh proses yang memegangnya, setelah proses menyelesaikan tugasnya. 4.
Circular Wait adalah kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang dipegang proses berikutnya.
Ada empat cara penanggulangan deadlock: 1.
Penngabaikan masalah deadlock. 2.
Pendeteksian dan perbaikan. 3.
Penghindaran  yang  terus  menerus  dan  pengalokasian  yang  baik  dengan menggunakan protokol untuk memastikan sistem tidak pernah memasuki keadaan
deadlock,  yaitu  dengan  deadlock  avoide,  sistem  untuk  mendata  informasi tambahan  tentang  proes  mana  yang  akan  meminta  dan  menggunakan  sumber
daya. 4.
Pencegahan  yang  secara  struktur  bertentangan  dengan  empat  kondisi  terjadinya deadlock dengan deadlock prevention, sistem untuk memastikan bahwa salah satu
kondisi yang penting tidak dapat menunggu.
Universitas Sumatera Utara
BAB 3
PEMBAHASAN
3.1 Pendeteksian Deadlock.
Setelah memodelkan sistem operasi kedalam bentuk graph alokasi sumber daya, dapat dilakukan pengecekan deadlock  dengan  memperhatikan cycle  perputaran  pada  graph  tersebut.  Jika  tidak
ditemukan  cycle  perputaran  maka  dapat  dipastikan  sistem  berada  dalam  kondisi  aman,  tidak akan  terjadi  deadlock  pada  saat  running.  Namun  jika  ditemukan  cycle  perputaran  pada  graph
alokasi  sumber  daya  belum  tentu  terjadi  deadlock,  sistem  dikatakan  berpotensi  mengalami deadlock.
Hal-hal yang terjadi dalam mendeteksi adanya deadlock adalah: 1.
Permintaan sumber daya dikabulkan selama mungkin. 2.
Sistem operasi memeriksa adakah kondisi circular wait secara periodik. 3.
Pemeriksaan  adanya  deadlock  dapat  dilakukan  setiap  ada  sumber  daya  yang hendak digunakan oleh sebuah proses.
4. Memeriksa dengan algoritma tertentu.
Graph  alokasi  sumber  daya  dengan  simpul  sumber  daya  R
j
hanya  memilki  satu  instants dan ditemukan cycle perputaran maka dapat dipastikan sistem akan mengalami deadlock.
3.1.1 Algoritma Deteksi Deadlock
Pemeriksaan  deadlock  dapat  dilakukan  setiap  kali  terjadi  permintaan  sumber  daya,  tergantung pada  besarnya  kemungkinan  deadlock  akan  terjadi.  Pemeriksaan  setiap  kali  adanya  permintaan
sumber  daya  memilki  dua  keuntungan:  pemeriksaan  seperti  ini  akan  menyebabkan  terjadinya deteksi  lebih  awal,  dan  algirotma  relatif  sederhana  karena  didasarkan  pada  perubahan
Universitas Sumatera Utara
incremental ke state sistem itu. Di lain pihak, pemeriksaan sesering itu akan menghabiskan waktu prosesor.
Algoritma  ini  menggunakan  matriks  alokasi  dan  vektor  yang  tersedia,  dan  juga  harus ditentukan  matriks  permintaan  Q  sehingga  q
ij
merepresentasikan  jumlah  sumber  daya  yang berjenis j yang diminta oleh proses i. Algoritma berlangsung dengan menandai proses yang tidak
ber-deadlock.  Pada  saat  awal,  semua  proses  tidak  bertanda.  Kemudian  dilakukan  langkah- langkah berikut ini:
1. Tandai setiap proses yang memiliki baris dalam matriks alokasi yang seluruhnya nol.
2. Inisialisasi vektor W sehingga sama dengan vektor available tersedia.
3. Temukan suatu indeks  i  sehingga proses  i  yang  saat itu tidak  bertanda dan  baris ke-i
pada  Q  lebih  kecil  atau  sama  dengan  W.  Apabila  baris  seperti  itu  tidak  ditemukan,
hentikan algoritma tersebut. 4.
apabila  baris  seperti  itu  ditemukan,  tandai  proses  i  dan  tambahkan  baris  matriks
alokasi yang bersangkutan ke W yaitu memasang W
k
= W
k
+ A
ik.
Kembali kelangkah 3.
Deadlock dapat terdeteksi  bila terdapat proses  yang tidak  bertanda pada akhir algoritma. Algoritma  ini  mencari  proses  yang  permintaan  sumber  dayanya  dapat  dipenuhi  dengan  sumber
daya  yang  tersedia,  dan  kemudian  mengasumsikan  bahwa  sumber  daya-sumber  daya  itu diberikan  dan  proses  akan  berjalan  sampai  selesai  dan  melepaskan  sumber  dayanya.  Kemudian
algoritma  akan  mencari  proses-proses  lainnya  yang  akan  dipenuhi.  Tetapi  algoritma  ini  tidak dapat  menjamin  untuk  mencegah  deadlock,  karena  akan  bergantung  pada  urutan  pemberian
permintaan. Bila  setiap  sumber  daya  hanya  memiliki  satu  instans  bagian,  maka  algoritma  untuk
mendeteksi deadlock dapat menggunakan graph tunggu.
3.1.2 Pendeteksian dengan Graph tunggu
Jika sumber daya hanya memiliki satu instans, deadlock dapat dideteksi dengan mengubah graph alokasi sumber daya menjadi graph tunggu yang merupakan graph sederhana dan berarah.
Universitas Sumatera Utara
Untuk  mengubah  graph  alokasi  sumber  daya  menjadi  graph  tunggu  digunakan  langkah- langkah sebagai berikut:
Gambar 3.1 Graph alokasi sumber daya empat proses tiga sumber daya .
1. Cari sumber daya R
m
yang memberikan instans bagian pada P
i
dan P
j
yang meminta sumber daya pada R
m.
2. Hilangkan  sumber  daya  R
m
dan  hubungkan  sisi  P
i
dan  P
j
dengan  arah  yang bersesuaian yaitu P
j
- P
i.
3. Lihat apakah terdapat cycle perputaran pada graph tunggu. Deadlock terdeteksi
apabila pada graph tunggu terdapat cycle perputaran. Untuk mendeteksi deadlock, sistem perlu membuat graph tunggu dan secara berkala
memeriksa apakah ada perputaran atau tidak.
Gambar 3.2 Graph tunggu
Universitas Sumatera Utara
3.2 Pencegahan Deadlock
Bila  salah  satu  dari  empat  kondisi  yang  dapat  menyebabkan  deadlock  dapat  dicegah,  maka deadlock tidak akan terjadi. Antara lain:
1. Mutual  Exclusion.  Pada  kondisi  ini,  harus  tetap  menjaga  sumber  daya  yang  tidak
dapat digunakan secara bersamaan, misalkan pemakaian printer tidak boleh dilakukan secara  simultan  oleh  beberapa  proses.  Lain  halnya  dengan  sumber  daya  yang  dapat
digunakan secara  bersamaan. Sumber daya  ini tidak  membutuhkan mutual  exclusive, dan tidak akan menyebabkan terjadinya deadlock.
2. Hold  and  wait.  Aturan  pertama  untuk  menjamin  bahwa  kondisi  ini  tidak  pernah
terjadi  pada  sistem  adalah  dengan  menjamin  bahwa  setiap  proses  yang  meminta sumber  daya  tidak  sedang  memegang  sumber  daya.  proses  akan  diberikan  seluruh
sumber daya yang dibutuhkannya sebelum proses memulai eksekusinya. Aturan  kedua  adalah  dengan  mengharuskan  setiap  proses  yang  hendak  meminta
sumber  daya  tambahan  untuk  terlebih  dahulu  melepaskan  sumber  daya  yang  sedang dipegangnya bila ada.
Untuk  mengilustrasikan  perbedaan  di  antara  kedua  protokol  ini,  misalkan  terdapat sebuah proses yang menyalin data dari disket ke harddisk, kemudian mencetaknya ke
printer. Untuk  aturan  pertama,  maka  proses  akan  diberikan  hak  untuk  menggunakan  disk
drive,  harddisk,  dan  printer  sepanjang  masa  eksekusinya  walaupun  pada  tahap  akhir eksekusi, proses hanya membutuhkan printer.
Untuk  aturan  kedua,  awalnya  proses  hanya  akan  diberikan  hak  untuk  menggunakan disk  drive  dan  harddisk.  Setelah  proses  penyalinan  selesai,  proses  harus  terlebih
dahulu  melepaskan penggunaan disk drive dan  harddisk, baru kemudian  mengajukan permohonan  untuk  menggunakan  harddisk  dan  printer.  Kedua  aturan  ini  memiki  2
kekurangan:  Utilisasi  sumber  daya  akan  menjadi  lebih  rendah  karena  sumber  daya yang  dialokasikan  tidak  digunakan  secara  optimal.  Memungkinkan  terjadinya
starvasi.  Sebuah  sumber  daya  yang  ingin  digunakan  oleh  banyak  proses  dapat
Universitas Sumatera Utara
menyebabkan  beberapa  proses  untuk  menunggu  dalam  waktu  yang  lama  karena sumber daya selalu dialokasikan ke proses lainnya.
3. No  preemption.  Sumber  daya  yang  telah  dialokasikan  tidak  boleh  disela  untuk digunakan  oleh  proses  lain.  Untuk  menjamin  hal  ini  maka  digunakan  aturan  berikut.
Bila  proses  A  yang  sedang  memegang  beberapa  sumber  daya  meminta  penggunaan sumber  daya  R
j
yang  sedang  digunakan  oleh  proses  B,  maka  seluruh  sumber  daya yang  sedang  dipegang  oleh  proses  A  harus  dilepaskan.  Proses  A  akan  dijalankan
kembali bila proses A dapat memperoleh penggunaan akan seluruh sumber daya yang semula  dipegangnya  dan  juga  sumber  daya  R
j
.  Alternatif  lain  adalah  dengan memeriksa  apakah  proses  B  yang  sedang  memegang  hak  penggunaan  sumber  daya
R
i
juga  sedang  menunggu  sumber  daya  yang  dipegang  proses  lain.  Bila  proses  B ternyata  sedang  menunggu,  maka  penggunaan  sumber  daya  R
i
oleh  proses  B  dapat disela, dan sumber daya R
i
dialokasikan ke proses A. Aturan ini hanya berlaku untuk sumber  daya  yang  keadaannya  dapat  disimpan  dan  dikembalikan  dengan  mudah
ketika proses akan dijalankan kembali. 4.
Circular  wait.  Memberi  nomor  pada  setiap  sumber  daya  yang  ada,  dan  setiap  proses hanya  boleh  mengakses  beberapa  sumber  daya  secara  berurutan.  Misalkan  sumber
daya: R
1
, R
2
, R
3
, R
4
, R
5
. Jika P mengakses R
2
, maka P hanya boleh minta ijin untuk
mengakses  R
3
,  R
4
,  atau  R
5
.  Jika  P
1
sedang  mengakses  R
3,
maka  P
1
hanya  boleh meminta ijin untuk mengakses R
4
atau R
5
. Berikut ini dipaparkan metode yang dapat dipakai untuk mencegah deadlock jika sumber
daya  hanya  memiliki  satu  instans  bagian.  Pada  metode  ini  ada  komponen  tambahan  pada  sisi yaitu  claim  edge.  Sama  halnya  dengan  sisi  yang  lain,  menghubungkan  antar  sumber  daya  dan
proses. Claim  edge  P
i
-  R
j
berarti  bahwa  proses  P
i
akan  meminta  sumber  daya  R
j
pada  suatu waktu.  Claim  edge  sebenarnya  merupakan  sisi  yang  digambarkan  sebagai  gari  putus-putus.
Ketika  proses  P
i
memerlukan  sumber  daya  R
j
, claim  edge  diubah  menjadi  sisi  permintaan.  Dan setelah proses P
i
selesai menggunakan R
j
, sisi alokasi diubah menjadi claim edge
.
Universitas Sumatera Utara
Gambar 3.3 Graph alokasi sumber daya status aman
Gambar diatas menunjukkan bahwa sistem dalaam keadaan aman. Pada saat ini R
1
sedang tidak  mengalokasikan  sumber  dayanya,  sehingga  P
1
dapat  memperoleh  sumber  daya  R
1
.  Tetapi jika claimed edge diubah menjadi sisi permintaan dan kemudian diubh menjadi sisi alokasi, maka
hal ini dapat menyebabkan terjadinya cycle perputaran. Jika  tidak  ada  cycle  perputaran  dalam  graph,  maka  sistem  berada  dalam  status  aman.
Tetapi  jika perputaran ditemukan  maka sistem  berada dalam status tidak aman. Pada saat status tidak aman ini, proses P
i
harus menunggu sampai permintaan sumber dayanya dipenuhi.Gambar berikut menunjukkan bahwa sistem dalam keadaan tidak aman.
3.4 Graph alokasi sumber daya status tidak aman.