Jumat, 06 Januari 2017

Contoh Algoritma Replacement Optimal dengan javascript

Manajemen memori suatu dasar dalam komputer yang dilakukan dengan cara membagi – bagi memori untuk mengakomodasi banyaknya suatu proses, manajemen memori dilakukan untuk menjamin agar setiap proses yang sudah siap dapat segera dipakai oleh processor. Diantaranya terdapat Virtual Memory.

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.