Tuesday, 2 May 2023

PENENTUAN SAFE/UNSAFE STATE UNTUK MENGHINDARI DEAD LOCK

     Menentukan aman atau tidak amannya alokasi proses ditentukan untuk menghindari terjadinya deadlock. Safe state diartikan dengan banyaknya sumberdaya yang sudah dialokasikan terhadap masing-masing proses. Sedangkan Unsafe state diartikan sebagai banyaknya sumberdaya yang belum dialokasikan kepada masing-masing proses, sehingga masih ada sumberdaya yang digunakan oleh beberapa proses. Contohnya yaitu:

 Terdapat sumberdaya atau R=10

Tentukan pengalokasian agar tidak terjadi deadlock! dengan sisa Resource yang ada yaitu 10-6=4.

Jawab:

 Yang pertama R akan dialokasikan ke A. Sehingga akan mendapat hasil seperti berikut:

                                        

Sisa 10-10=0 (tidak ada sisa sumberdaya yang dapat digunakan).

Dari pengalokasian diatas, ternyata mendapatkan hasil unsafe, jadi artinya terjadi deadlock apabila proses A dialokasikan pertama. Dimana proses A tidak pernah selesai untuk diproses dan proses B&C menunggu terus menerus. Maka


dengan itu, kita akan mencari proses lain, yang akan di proses lebih awal sehingga tidak terjadi deadlock.

Melihat hal di atas, kemudian merubah susunan pengalokasian proses, dimana yang dialokasikan pertama adalah proses B. Pada awal siklus akan diperoleh hasil seperti berikut:

 

                 Sisa 10-8=2.

Diakhir siklus akan diperoleh hasil seperti berikut:




Sisa 10-5=5 (terdapat 5 sumberdaya yang bisa digunakan/safe state).




Setelah pengalokasian ke proses B, akan dilanjutkan ke pengalokasian ke proses C. Dimana diawal proses akan diperoleh hasil seperti berikut:

Sisa 10-9=1,

Diakhir siklus akan diperoleh hasil seperti berikut :

 


Sisa 10-2=8 (terdapat 8 sumberdaya yang bisa digunakan/ safe state).

            Dan yang terakhir, pengalokasian dilakukan ke proses A. Sehingga di awal siklus 

       didapat hasil seperti berikut :

                 Sisa 10-10=0.

Diakhir siklus akan diperoleh hasil seperti berikut:

Sisa 10-0=10 (Terdapat 10 sumberdaya yang bisa digunakan dan sekaligus tidak ada proses yang akan diproses lagi). Dengan ini tidak terjadi deadlock.

 Data Manipulation Language (DML)


    Pendahuluan Data Manipulation Language DML (Data Manipulation Language) adalah bahasa yang memungkinkan pengguna mengakses atau memanipulasi data seperti yang diatur oleh model data.  
Manipulasi data adalah :

  1. Pengambilan informasi yang disimpan dalam basisdata
  2. Penempatan informasi baru dalam basisdata
  3. Penghapusan informasi dari basisdata
  4. Modifikasi informasi yang disimpan dalam basisdata.
Perintah SQL yang termasuk dalam DML adalah :

  1. INSERT
  2. SELECT
  3. UPDATE
  4. REPLACE
  5. DELETE
  6. TRUNCATE


A. Insert 

    * INSERT digunakan untuk menambahkan data ke suatu tabel.

    * Bentuk umum pemanggilan insert adalah : 

        insert into tabel (nama tabel yang akan di isi data)

        *insert into table_belanja (column1, column2, column3)

         values (value1, value2, value3, ....)*

    * selain bentuk dasar dari perintah INSERT ada juga beberapa 

      variasi dari perintah INSERT tersebut di antaranya:

        1. INSERT INTO (Field1, Field2, ...) values (Value1, 

           Value2, ...)

        2. INSERT .... SELECT ...

        3. INSERT .... IGNORE ...

        4. INSERT DELAYED ...

        5. INSERT LOW PRIORITY | HIGH PRIORITY

        6. INSERT ... ON DUPLICATED KEY UPDATE

        7. REPLACE INTO ...