Selasa, 27 Desember 2011

algoritma penggantian page


1. Algoritma pengantian page acak
Algoritma penggantian acak menggantikan page secara acak dalam memori tanpa criteria tertentu. Hal ini akan menghilangkan biaya overhead dari referensi halaman pelacakan. Teknik algoritma penggantian ini tidak memakai informasi apapun dalam menentukan page yang diganti. Semua page di memori utama mempunyai penilain yang sama untuk dipilih. Teknik algoritma penggantian ini dapat memilih sembarang page, termasuk page yang sedang di process (page yang seharusnya tidak diganti, pilihan terburuk). Teknik algoritma penggantian ini sangat buruk, percobaan menunjukkan algoritma acak menimbulkan rate terjadinya page fault yang sangat tinggi

2. Algoritma pengantian page Optimal
Setiap page diberi label untuk menandai berapa instruksi lagi baru dia digunakan. Page dengan label tertinggi (waktu dari sekarang sampai pemakaian berikutnya paling lama) yang akan dikeluarkan.

3.Algoritma pengantian page NRU (not recently used)
Setiap page diberi status bit R (referenced) dan M (modified). Bit bernilai 0 jika page belum direferensi/dimodifikasi, dan 1 jika sebaliknya. Dari nilai desimalnya didapat 4 kelas dan page dengan kelas terkecillah yang akan dikeluarkan.

4.Algoritma pengantian page FIFO (First In First Out)
Page yang paling dulu masuk ke memori dari semua page yang ada dikeluarkan.

5.Algoritma pengantian page Modifikasi FIFO (Second Chance)
Mencari page yang berada di memori paling lama, tetapi juga tidak dipakai. Jika sebuah page dipakai (direferensi) bit R diset. Jika sistem menemukan bahwa bit R page yang paling lama terset, page tersebut tidak jadi dikeluarkan, tetapi bit R-nya di-reset.

6.Algoritma pengantian page LRU (Least Recently Used)
Yang dikeluarkan ialah page yang sudah tidak terpakai dalam waktu paling lama.

Jumat, 09 Desember 2011

DDBMS


basis data terdistribusi (distributed database) adalah suatu basis data yang berada di bawah kendali sistem manajemen basis data (DBMS) terpusat dengan peranti penyimpanan (storage devices) yang terpisah-pisah satu dari yang lainnya. Tempat penyimpanan ini dapat berada di satu lokasi yang secara fisik berdekatan (misal: dalam satu bangunan) atau terpisah oleh jarak yang jauh dan terhubung melalui jaringan internet. Penggunaan basis data terdistribusi dapat dilakukan di server internet, intranet atau ekstranet kantor, atau di jaringan perusahaan.
Untuk menjaga agar basis data yang terdistribusi tetap up-to-date, ada dua proses untuk menjaganya, yakni replikasi dan duplikasi. Dalam replikasi, digunakan suatu perangkat lunak untuk mencari — atau lebih tepatnya melacak — perubahan yang terjadi di satu basis data. Setelah perubahan dalam satu basis data teridentifikasi dan diketahui, baru kemudian dilakukan perubahan agar semua basis data sama satu dengan yang lainnya. Proses replikasi memakan waktu yang lama dan membebani komputer karena kompleksitas prosesnya. Sementara itu, proses duplikasi tidak sama dan tidak sekompleks replikasi. Dalam proses ini, satu basis data dijadikan master, kemudian diperbanyak menjadi sejumlah duplikat. Selama proses duplikasi berlangsung, perubahan hanya boleh dilakukan pada basis data master agar data lokal tidak tertimpa.
Pengguna (user) dari sebuah basis data terdistribusi dapat mengakses basis data melalui dua jenis aplikasi, yakni
  • aplikasi lokal: aplikasi yang tidak memerlukan data dari tempat lain
  • aplikasi global: aplikasi dengan kebutuhan akan data dari tempat lain
Dalam proses perancangan basis data terdistribusi, harus diperhatikan aspek transparansi, yaitu interaksi user terhadap basis data merupakan interaksi dengan satu sistem secara utuh. Transparansi harus terlihat dalam dua hal, yaitu
  1. Distribusi: para pengguna harus dapat berinteraksi dengan sistem secara keseluruhan sebagai satu sistem yang utuh. Kesatuan ini harus ada pada kinerja sistem dan metode pengaksesan.
  2. Perubahan (transaksi): Setiap transaksi (penambahan, penghapusan, atau peng-update-an) harus mempertahankan integritas antara basis data yang berbeda-beda dalam satu sistem. Setiap transaksi harus dibagi ke dalam sejumlah subtransaksi, yang tiap-tiap darinya memberikan pengaruh pada keseluruhan sistem basis data.

gambar ilustrasi basis data terdistribusi

Software Oracle Data Base 


Semua perusahaan atau organisasi yang menggunakan relational database management system (RDBMS) biasanya mempunyai database yang banyak atau tidak hanya satu. Oleh karena itu kenapa mereka biasanya menggunakan konsep sistem terdistribusi dalam implementasinya. Ada beberapa faktor penyebabnya antara lain :
  1. Perbedaan database biasanya didasarkan pada fungsionalitas dari database itu sendiri, misalkan untuk bagian keuangan, pemasaran ataupun sumberdaya manusia.
  2. Perbedaan database juga biasanya didasarkan pada letak geografis yang ada, semisal untuk dalam satu kota.
  3. Perbedaan database juga biasanya didasarkan pada bagaimana cara mengaksesnya misalkan untuk database transaksi atau untuk penggudangan data (data warehouse).
  4. Database pada internet Commerce biasanya diduplikasi sebagai cadangan dengan skala kemampuan yang sama.
  5. Database juga dibedakan untuk sistem yang sedang berjalan ataupun untuk yang sedang dikembangkan.
Untuk mengakomodasi kebutuhan itu maka oracle membentuk suatu skema yang memungkinkan semuanya bisa terjadi dengan konsep sistem terdisribusi.
Teknologi sistem database terdistribusi adalah dimana kuncinya adalah integrasi, bukan sentralisasi, serta teknologi ini mencoba untuk mencapai integrasi tanpa sentralisasi.
Database terdistribusi berbeda dengan database terdesentralisasi, dimana database terdistribusi merupakan suatu database tunggal logik yang secara fisik disebarkan kepada komputer-komputer pada banyak lokasi yang kemudian saling dikoneksikan oleh link data komunikasi. Sedangkan database terdesentralisasi merupakan koleksi database independen pada komputer yang tidak terhubung dalam suatu jaringan .  Suatu sistem database terdistribusi terdiri atas situs-situs yang saling berpasangan yang tidak saling membagi komponen fisik. Sistem database akan berjalan pada situs yang independen
Dalam menyusun suatu data terdistribusi perlu diperhatikan hal-hal sebagai berikut :
  1. Replikasi data, data-data harus tetap up-to-date tanpa kompromisasi pada performansi
  2. Akses yang terjadi secara bersamaan, harus menghindari terjadinya kesalahan pada data
  3. Masalah keamanan
  4. Masalah reliabilitas
Sistem database terdistribusi pada Oracle mengijinkan aplikasi-aplikasi untuk mengakses data dari database yang lokal maupun jauh. Dalam sebuah sistem database terdistribusi homogen setiap database merupakan Oracle Database, sedangkan pada sistem database terdistribusi heterogeneous paling sedikit satu diantara sekumpulan database bukan merupakan Oracle Database. Distribusi basis data menggunakan arsitektur client/server untuk memproses permintaan informasi

Sabtu, 03 Desember 2011

algoritma penanganan deadlock


 3 algoritma yang bisa digunakan dalam menanggulanginya yaitu :

1. Algoritma Ostritch
algoritma ini merupakan algoritma paling sederhana, dengan mengabaikan deadlock sama sekali.
kenapa di abaikan?karna mungkin masalah yang muncul jarang terjadi, algoritma ini digunakan karna mungkin masalah deadlock sangat jarang terjadi. Jadi apa yang dilakukan menurut algoritma ini jika terjadi deadlock? adalah restart komputer .

2. Algoritma banker
dalam algoritma ini dijelaskan bahwa: 
- setiap harus mengklaim berapa jumlah resourse yang akan digunakan
-  dan jika resourse tidak tersedia maka permintaan ditunda, dan setiap proses yang sudah selesai maka  resoursenya harus dikembalikan

Struktur data yang digunakan untuk mengimplementasikan algoritma Banker
akan menentukan state dari sumber daya yang dialokasikan oleh sistem. Misalnya n =jumlah proses dan 
m =jumlah tipe resource. Struktur data yang diperlukan :
• Available : Vektor panjang m. Jika Available[j] = k, terdapat k anggota tipe sumber
daya Rj yang tersedia.
• Max : matrik n x m. Jika Max[i, j] = k, maka proses Pi meminta paling banyak k
anggota tipe resource Rj.
• Allocation : matrik n x m. Jika Allocation[i, j] = k maka Pi sedang dialokasikan k
anggota tipe resource Rj.
• Need : matrik n x m. Jika Need[i, j] = k, maka Pi membutuhkan k anggota tipe
resource Rj untuk menyelesaikan task. Need[i, j] = Max[i, j] – Allocation[i, j].
Beberapa notasi yang perlu diketahui adalah misalnya X dan Y adalah vektor
dengan panjang n. X ≤ Y jika dan hanya jika X[i] ≤ Y[i] untuksemua i = 1, 2, .., n.
Sebagai contoh jika X = (1, 7, 3, 2) dan Y = (0, 3, 2, 1) maka Y ≤ X.



namun terdapat beberapa kekurangan dalam algoritma banker yaitu:
- proses masih belum mengetahui seberapa banyak resourse yang digunakan
- jumlah proses yang berjalan itu tidak tetap, lalu
- beberapa resourse dapat di ambilsistem sewaktu waktu
- algoritma membuat sistem untuk memenuhi permintaan hingga waktu yang tidak terbatas..hmmm


3. Algoritma safety
Algoritma ini untuk menentukan apakah sistem berada dalam state safety atau tidak.
1. Work dan Finish adalah vector dengan panjang m dan n. Inisialisasi : Work = Available dan Finish[i] = false untuk i = 1,3, …, n.
2. Cari i yang memenuhi kondisi berikut :
(a) Finish [i] = false
(b) Needi ≤ Work
Jika tidak terdapat i ke langkah 4.
3. Work = Work + Allocationi
Finish[i] = true
Kembali ke langkah 2.
4. Jika Finish [i] == true untuk semua i, maka sistem dalam state selamat.