Virtual Memory adalah sebuah mekanisme yang digunakan oleh sebuah aplikasi untuk menggunakan sebagian memori sekunder yang seakan menggunakan RAM fisik yang terinstal di dalam sebuah sistem. Virtual Memory memiliki beberapa konsep dalam dasar kerjanya diantaranya Algoritma Replacement Optimal.
Pengertian dari Algoritma ini yaitu algoritma yang paling optimal. Prinsip dari algoritma ini sangat efisien karena hanya mengganti halaman yang sudah tidak terpakai lagi dalam jangka waktu yang paling lama. Sehingga page fault yang terjadi dapat berkurang. Selain itu page fault dari algoritma ini memiliki rate paling tinggi dari algortima lain ditinjau dari semua kasus yang ada.
Contoh untuk Algoritma ini dapat dibuat dengan menggunakan bahasa pemrograman web, dengan menkombinasikan antara html (sebagai halaman web), css (sebagai desain web tersebut) dan javascript untuk menimplmentasikan kerja dari algoritma optimal. Berikut coding dari javascriptnya :
Gambar.
Implemntasi program Optimal
Konsep
Kerja Program
1. Mengambil
nilai pada setiap baris paling atas dan disimpan dalam array : id
2. Dengan
membuat fungsi hitung sebagai proses pengolahan data, dan berisi variabel Temp
[0], Temp[1], dan temp[2] sebagai 3 frame penyimpanan angka, lalu buat variabel
tambahan lain untuk melakukan perintah lainnya.
3. Proses
pertama, mengganti isi penyimpanan di frame ke 1 (Temp[0]) dengan inputan baris
ke 1. Tampilkan.
4. Proses
kedua, mengecek apakah inputan kolom 2 sama dengan penyimpanan di frame ke 1
(Temp[0]) jika sama tidak ada proses penggantian tapi jika tidak sama maka akan
mengganti isi penyimpanan di frame ke 2 (Temp[1]) dengan inputan kolom ke 2.
Tampilkan.
5. Proses
ketiga,mengecek apakah penyimpanan di frame 2 kosong atau sudah terisi, jika
sudah terisi maka mengecek apakah inputan kolom 3 sama dengan penyimpanan di
frame ke 1 (Temp[0]) atau di frame ke 2
(Temp[1]) jika sama tidak ada proses penggantian tapi jika tidak sama maka akan
mengganti isi penyimpanan di frame ke 3 (Temp[2]) dengan inputan kolom ke 3.
Jika penyimpanan di frame 2 kosong maka akan mengecek inputan kolom 3 sama
dengan isi penyimpanan di frame 1 (Temp[0]), jika sama tidak terjadi
penggantian tapi jika berbeda maka akan mengganti isi penyimpanan di frame 1
(Temp[0]). Tampilkan.
6. Proses
keempat, mengecek apakah penyimpanan di frame 1, frame 2, dan frame 3 kosong
atau sudah terisi, jika sudah terisi maka mengecek apakah inputan kolom 4 sama
dengan penyimpanan di frame ke 1 (Temp[0]), frame ke 1 (Temp[0]) atau di frame ke 3 (Temp[2]) jika sama tidak
ada proses penggantian tapi jika tidak sama maka akan mengecek setipa inputan
dari baris yang di tuju sampai inputa
kebelakang dengan menggunakan variel i dan k
sebagai variabel perulangan dan variabel star1, star2 dan star3 untuk
nilai sebagai pembanding jarak paling jauh antara inputan – inputan yang ada.
Setelah di dapatkan nilai stra1, star2, dan star3, yang menunjukkan setipa
frame yang memiliki nilai yang sama dengan inputan mana yang terjauh dan
mengganti isi penyimpanan frame yang sama tersebut dengan inputan kolom ke 4.
Jika penyimpanan di frame 3 kosong maka akan mengecek isi dari penyimpanan
frame 1 atau 2 apakah ada yang sama jika ada maka hanya menampil kan isi frame
yang ada tanpa ad penggantian dan jika berbeda semua maka akan mengisi di frame
3. Jika ternyata hanya frame 1 saja yang terisi maka akan mengecek sama atau
tidak jika tidak akan di simpan ke frame 2 kalau sama maka akan menampilkan isi
frame 1 dan tidak ada penggantian.
7. Proses
selanjutnya sama dengan proses keempat tinggal dirubah index array di id nya dan diubah pada output untuk keluarannya.
Setelah semua selesai, simpan lalu buka di web browser, masukkan angka ke dalam tabel pada baris pertama, lalu tekan submite. dan akan keluar hasilnya. Berikut gambar hasilnya.






Tidak ada komentar:
Posting Komentar