Sunday, October 6, 2019

MUTUAL EXCLUSION (SISTEM OPERASI)


MUTUAL EXCLUSION


A.Definisi
Beberapa proses terkadang membutuhkan sumber daya yang 
sama pada saat bersamaan. Sumber daya seperti ini disebut 
sumber daya kritis. Bagian program yang menggunakan sumber 
daya kritis disebut memasuki critical region/section. 
Hanya satu program pada saat yang diijinkan masuk critical region. 
Kondisi yang tidak dapat diprediksi hasilnya, bergantung pada 
proses-proses berjalan yang sedang bersaing disebut Kondisi Pacu 
(Race Condition). Kondisi pacu harus dihilangkan agar hasil-hasil 
proses dapat diprediksi dan tidak bergantung pada jalannya 
proses-proses tersebut.

Sistem operasi hanya menyediakan layanan (berupa system call) 
untuk mencegah proses masuk critical section 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. inilah yang dimaksud 
dengan mutual exclusion. Mutual Exclusion adalah suatu cara yang 
menjamin jika ada sebuah proses yang menggunakan variabel atau
berkas yang sama (digunakan juga oleh proses lain), maka proses 
lain akan dikeluarkan dari pekerjaan yang sama.


Kriteria penyelesaian Mutual Exclusion : 
1.Mutual Exclusion harus dijamin.
2.Hanya satu proses pada satu saat yang diizinkan masuk 
   Critical Section/Region.
3.Proses yang berada di noncritical section, dilarang memblok 
   proses-proses yang ingin masuk critical section.
4.Harus dijamin proses yang ingin masuk critical section tidak 
   menunggu lama hingga waktu tak terhingga, agar tidak terjadi 
   deadlock atau starvation.
5.Ketika ada proses di critical section maka proses yang ingin masuk 
   critical section harus diijinkan segera masuk tanpa waktu tunda.
6.Tidak ada asumsi mengenai kecepatan relative proses atau 
    jumlah proses yang ada.


B.Metode-metode Penjamin Mutual Exclusion

   1.Metode Naif
   Sebenarnya metode ini tidak menyelesaikan mutual exclusion, 
   karena masih terdapat scenario proses yang membuat situasi 
   kacau. Metode ini sering disebut metode variable lock sederhana.
   Ketika proses hendak masuk critical section, proses lebih dulu 
   memeriksa variable lock dengan ketentuan :
   a.Jika variable lock bernilai 0, proses mengeset variable lock 
      menjadi 1 dan segera masuk critical section.
   b.Jika variable lock bernilai 1, proses menunggu sampai nilai 
      variabel lock menjadi 0. 

  2.Metode untuk situasi tertentu
     Metode ini sering disebut metode bergantian secara ketat yang 
     mengasumsikan proses proses yang hendak masuk critical 
     section secara bergantian terus menerus. Proses memeriksa 
     terus menerus sehingga kondisi siap untuk diproses. Kondisi ini 
     tidak dapat ditentukan lamanya waktu sehingga menyia-nyiakan 
     waktu pemroses. Suatu saat kondisi akan crash ketika ada proses 
     yg harus segera masuk sementara ada proses lain yg masih berjalan.

  3.Metode Busy Waiting
     a.Metode Penyelesaian Dekker
        Algoritma Dekker mempunyai property-property berikut :
        =>Tidak memerlukan instruksi-instruksi perangkat keras khusus.
        =>Proses yang beroperasi di luar critical section tidak dapat 
            mencegah proses lain memasuki critical section.
        =>Proses yang ingin masuk critical section akan segera masuk 
            bila dimungkinkan.
     b.Metode Penyelesaian Peterson
        Sebelum masuk critical section, proses memanggil 
        enter_critical_section, namun sebelumnya proses memeriksa 
        sampai kondisi aman. Terjadi busy waiting, setelah selesai 
        proses menandai pekerjaan dan mengijinkan proses lain masuk.
        Keadaan awal tidak ada proses di critical section. Proses 0 akan 
        masuk critical section. Proses menandai elemen arraynya 
        dan mengeset turn ke 0. Proses memeriksa kondisi,dan prosedur 
        enter_critical_section dilaksanakan. Jika kemudian, proses 1 
        akan masuk, proses akan menunggu sampai interest(0) 
        menjadi FALSE. Kondisi ini hanya terjadi jika proses 0 mengeset 
        elemen itu dan keluar dari critical section.
     c.Metode Pematian Interupsi
       Proses mematikan interupsi ke pemroses dan segera masuk 
       ke critical section. Proses kembali mengaktifkan interupsi segera 
       setelah meninggalkan critical section. Metode ini mengakibatkan :
       =>Pemroses tidak dapat beralih ke proses lain karena interupsi 
           clock dimatikan sehingga penjadual pun tidak dieksekusi. 
           Karena penjadual tidak beroperasi maka tidak terjadi alih proses.
       =>Proses dapat memakai memori bersama tanpa takut terinvensi 
           proses lain karena memang tidak ada proses lain yang dieksekusi 
           saat itu. 
           Kelemahan utama :
           1.Bila proses yang mematikan interupsi mengalami gangguan 
              maka proses tidak akan pernah menghidupkan interupsi 
              kembali. Kejadian ini mengakibatkan kematian seluruh system.
           2.Jika terdapat dua pemroses atau lebih, mematikan interupsi 
              hanya berpengaruh pada pemroses yang sedang 
              mengeksekusi intruksi itu. Proses lain masih dapat memasuki 
              critical section.
     d.Metode Test and Set Lock (TSL)
        Metode ini membaca isi memori ke register dan kemudian menyimpan 
        nilai bukan 0  ke alamat memori. Pemroses yang mengeksekusi 
        instruksi tsl mengunci bus memori, mencegah pemroses lain 
        mengkases memori.
     e.Metode Exchange (XCHG)
        Metode ini menggunakan instruksi exchange (xchg). Instruksi xchg 
        menukarkan dua isi memori.
      f.Metode Instruksi Mesin
        Keunggulan :
        1.Sederhana dan mudah diverifikasi
        2.Dapat diterapkan ke sembarang jumlah proses
        3.Dapat digunakan untuk mendukung banyak critical region
        Kelemahan :
        1.Merupakan metode dengan busy waiting, sangat tidak efisien.
        2.Adanya busy waiting memungkinkan terjadi deadlock dan starvation.

  4.Metode Penyelesaian Level Tinggi (Metode Semapore)
     Dua proses atau lebih dapat bekerja sama dengan menggunakan 
     penanda-penanda sederhana. Proses berhenti sampai proses 
     memperoleh penanda tertentu. Variabel khusus untuk 
     penandaan ini disebut semaphore.Semaphore mempunyai dua property:
     a.Semaphore dapat diinisialisasi dengan nilai bukan negative.
     b.Ada dua operasi terhadap semaphore yaitu Operasi Up dan 
        Operasi Down.
    
    Operasi Down
    Operasi ini menurunkan nilai semaphore. Jika nilai semaphore 
    menjadi bukan positif maka proses yang mengeksekusinya diblok. 
    Operasi Down adalah atomic (atomic action), tidak dapat diinterupsi 
    sebelum selesai. Menurunkan nilai, memeriksa nilai,menempatkan 
    proses pada antrian dan memblok sebagai instruksi tunggal. Tidak 
    ada proses lain yang dapat diakses sampai proses selesai.
   
   Operasi Up
   Operasi ini menaikkan nilai semaphore. Jika satu proses atau lebih 
   telah diblok pada suatu semaphore tidak dapat menyelesaikan 
   operasi down maka salah satu dipilih oleh system dan dibolehkan 
   menyelesaikan operasi downnya. Operasi Up menaikan nilai 
   semaphore, memindahkan dari antrian dan menempatkan satu 
   proses ke senarai ready tidak dapat diinterupsi. Sebelum masuk 
   critical section, proses melakukan down. Bila berhasil maka proses 
   masuk critical section. Bila tidak berhasil maka proses diblok 
   pada semaphore. Proses yang diblok dapat melanjutkan jika 
   proses yang berada di critical section keluar dan melakukan operasi 
   up dan menjadikan proses yang diblok menjadi ready dan berlanjut 
   hingga operasi downnya berhasil.


C.Implementasi Semaphore

1.Pematian Interupsi
   Sistem operasi mematikan interupsi selagi memeriksa semaphore, 
   memperbarui, dan menjadikan proses diblok. Karena semua 
   aksi hanya memerlukan beberapa instruksi,pematian interupsi 
   tidak merugikan.
2.Instruksi tsl
   Pada banyak pemroses, tiap semaphore dilindungi variable lock 
   dan instruksi tsl agar menjamin hanya satu pemroses yang 
   saat itu memanipulasi semaphore.

Sumber: Diolah dari berbagai sumber


                            >>>>>TERIMAKASIH<<<<<


Saturday, October 5, 2019

KEAMANAN KOMPUTER (M5_Part2)

KRIPTOGRAFI KLASIK/KUNO


KODE VIGENERE :
Merupakan kode abjad-majemuk. 
Teknik dari subtitusi vigenere bisa dilakukan dengan 2 cara 
yaitu Angka dan Huruf.

1. ANGKA
Teknik ini hampir sama dengan kode geser, hanya saja pada 
vigenere angka caranya dilakukan dengan menukarkan huruf 
dengan angka dan menggunakan kode kunci berupa kumpulan 
angka yang sudah ditentukan.












Ciphertext : ‘RMYGEVQRPRTIRNEVSLRMN’


2. HURUF
Pada teknik huruf menggunakan pola dibawah ini:




















Contoh: Plaintext : PERHATIKAN RAKYAT KECIL 
Kunci : INODNESIA 
Maka cara menentukan chipertext-nya adalah:







KODE PLAYFAIR 
Kunci dari cipher playfair adalah penggunaan matriks 5 x 5 
(dengan masukan terdiri dari 25 karakter dan membuang ‘J’ 
yang ada di dalam alphabet). Dan matriks 5 x 5 yang digunakan adalah:















Ada beberapa aturan dalam melakukan enkripsi dengan kode playfair 
yaitu:
1.Karakter yang ada pada plaintext dibagi menjadi masing-masing 
   2 karakter.
2.Jika kedua huruf/ karakter tidak terletak pada satu baris atau kolom 
   maka pergerakan. karakter dimulai dari huruf kedua secara vertical 
   menuju teks-kode.
   Contoh: karakter ‘di’ terdapat pada baris dan kolom yang berbeda 
                maka dimulai dari ‘I’ tarik secara vertikal menuju baris yang 
                terdapat huruf ‘d’ sebanyak 2 baris maka akan ditemukan
                ‘n’, selanjutnya ‘d’ ditarik vertical menuju baris yang terdapat
                ‘I’ sehingga didapatkan ‘L’.















3.Jika karakter-karakter yang dienkripsi atau deskripsi berada pada 
   kolom atau baris yang sama dan saling berdekatan maka gunakan 
   prinsip kebawah atau kesamping. 
   Contoh: karakter ‘an’, maka karakter disamping ‘n’ adalah ‘d’ dan 
                karakter disamping ‘a’ adalah ‘n’ maka ciphertextnya adalah ‘dn'.













4.Jika karakter yang dienkripsi berada pada akhir baris maka diikuti 
aturan no 3 diatas, tetapi pada kasus baris terakhir maka karakter 
yang diambil adalah karakter yang disamping yaitu karakter pertama 
pada baris selanjutnya.















5.Jika terdapat karakter kembar maka cukup ditambahkan karakter 
   yang disepakati misalnya karakter ‘aa’ disepakati untuk disisipkan 
   dengan karakter ‘z’ maka chipertext ‘aza’.

6. Untuk kepentingan analisis kode playfair maka aturan no 2 disebut 
    ERDL (Encipher Right Decihper Left), aturan no 3 dan 4 disebut 
    EBDA (Encipher Below Decipher Above).


Contoh: Belajarlah Cepat





Karena pada akhir tidak terdapat 2 karakter maka untuk melengkapi 
di tambahkan karakter yang disepakati.

Sumber: Diolah dari berbagai sumber


                                >>>>>TERIMAKASIH<<<<<

KEAMANAN KOMPUTER (M5)

KRITOGRAFI KLASIK/KUNO

Metode dengan menggunakan lebih dari satu kunci terdiri 
dari 3 bagian yaitu Blok, Karakter, dan Zig-Zag:

1. Blok

Membagi jumlah teks-asli menjadi blok-blok yang ditentukan, 
tergantung dari keinginan pengirim pesan. 
Contoh plaintext: PERHATIKAN RAKYAT KECIL 
Kunci 1: MERDEKA 
Kunci 2: INDONESIA 
Kunci 3: PUTIH MERAH 
Plaintext diatas akan dibagi menjadi 6 blok dengan masing-masing 
karakter terdiri dari 4 karakter. Karena blok yang keenam tidak mencukupi
maka ditambahkan dengan karakter ‘X’ atau karakter lain yang ditentukan.















‘OKQCITCGPGNPHYMTGEDCDXXX’ adalah ciphertext 
dari plaintext PERHATIKAN RAKYAT KECIL.


2. Karakter
Metode ini adalah menggunakan pendistribusian perkarakter. 
Perhatikan contoh dibawah ini: 
Plaintext : PERHATIKAN RAKYAT KECIL 
K1 : MERDEKA 
K2 : INDONESIA 
K3 : PUTIH MERAH 
Metode : Karakter













Dengan metode karakter maka ‘OENCIQFGPLQPHYPTGHRCD’ 
adalah chipertect dari plaintext PERHATIKAN RAKYAT KECIL.


3. Zigzag
Metode ini dengan menentukan ciphertext dari plaintext pada kunci 1 
(K1) kemudian mencari huruf yang sama hasil dari ciphertext K1 
ke chipertext K2 dan mengambil plaintext dari ciphertext K2 untuk 
selanjutnya mencari huruf yang sama, hasil dari plaintext K2 dengan 
huruf ciphertext pada K3 dan plaintext pada ciphertext K3 tersebut yang 
diambil menjadi ciphertext akhir. Perhatikan contoh dibawah ini: 
Plaintext : PERHATIKAN RAKYAT KECIL 
K1 : MERDEKA 
K2 : INDONESIA 
K3 : PUTIH MERAH 
Metode : Zigzag












Maka ciphertextnya adalah ‘LRHDACOQASHAQYACQRUOI’


Kode Geser:
Ada metode lain selain menggunakan kode geser yang diterapkan 
kode kaisar mono alphabet, yaitu dengan menggunakan kode kunci 
berupa angka bukan banyaknya pergeseran.



















Sumber: Diolah dari berbagai sumber


                
                 >>>>>TERIMAKASIH<<<<<

Friday, October 4, 2019

KEAMANAN KOMPUTER (M4)

KRIPTOGRAFI KLASIK/KUNO

Teknik Subtitusi:
Teknik Subtitusi: Penggantian setiap karakter teks-asli dengan 
karakter lainnya. 
Salah satu teknik subtitusi pada kriptografi klasik/ kuno adalah 
KODE KAISAR, yang beradaptasi pada penggunaan ‘roda kaisar’:

a) Monoalphabet

Perhatikan alphabet untuk plaintext dibawah ini:




Misal, Jika penggeseran yang dilakukan sebanyak 3 kali maka 
kunci untuk deskripsinya adalah 3. Maka susunan huruf untuk 
chipertext adalah:





Contoh: Tentukan chipper text dari plaintext ‘PERIKSA SERVER’! 
Plaintext : P E R I K S A S E R V E R 
Ciphertext : S H U L N V D V H U Y H U


b) Polyalphabet
Gagasan baru dalam perkembangan kode kaisar untuk 
menggunakan kunci lain yang disebut poly-alphabetic. 
Polylpabetic cendung menggunakan kunci berupa huruf dan tidak
ada penggunaan huruf yang diulang. Penggunaan tidak hanya 
dengan satu kunci melainkan 2 kunci dan 3 kunci.

1. Satu Kunci

Plaintext : CEGAH PEGAWAI KPK 
Kunci : MERDEKA





Ciphertext : RKBMCOKBMWMFHOH


2. Dua Kunci

Plaintext : CEGAH PEGAWAI KPK 
Kunci 1 : MERDEKA 
Kunci 2 : INDONESIA








Ciphertext: QGNJDLGNJWJSBLB


3. Tiga Kunci

Plaintext : CEGAH PEGAWAI KPK 
Kunci 1 : MERDEKA 
Kunci 2 : INDONESIA 
Kunci 3 : PUTIH MERAH










Ciphertext: LEGBIDEGBWBOUDU


Sumber: Diolah dari berbagai sumber



                                       >>>>>TERIMAKASIH<<<<<


ARSITEKTUR & ORGANISASI KOMPUTER (UNIT MASUKAN & KELUARAN)

UNIT MASUKAN DAN KELUARAN Definisi dan Fungsi: Unit masukan dan keluaran merupakan bagian komponen   utama dari sistem komputer ...