Thursday, November 6, 2014

FIFO example

Halo semua, terimakasih apabila kalian masih follow up saya disini :v
ok langsung aja, untuk kesempatan kali ini saya akan menjelaskan tentang FIFO dan contoh programnya.
ok langsung saja ini yang akan saya lampirkan :)

*pengertian 
FIFO adalah akronim untuk First In, First Out (Pertama Masuk, Pertama Keluar), sebuah abstraksi yang berhubungan dengan cara mengatur dan memanipulasi data relatif terhadap waktu dan prioritas. Ungkapan ini menggambarkan prinsip teknik pengolahan antrean atau melayani permintaan yang saling bertentangan dengan proses pemesanan berdasarkan perilaku first-come, first-served (FCFS): di mana orang-orang meninggalkan antrean dalam urutan mereka tiba, atau menunggu giliran satu di sebuah sinyal kontrol lalu lintas.
FCFS juga merupakan jargon istilah untuk sistem operasi penjadwalan algoritma FIFO, yang memberikan setiap proses CPU waktu sesuai dengan urutan mereka datang. Dalam arti yang lebih luas, abstraksi LIFO, atau Last-In-First-Out adalah kebalikan dari abstraksi organisasi FIFO. Bedanya mungkin adalah yang paling jelas dengan mempertimbangkan sinonim yang kurang umum digunakan dari LIFO, FILO (berarti First-In-Last-Out). Pada intinya, keduanya adalah kasus khusus dari daftar yang lebih umum (yang dapat diakses di mana saja). Perbedaannya adalah tidak ada dalam daftar (data), tetapi dalam aturan untuk mengakses konten. Satu sub-tipe menambah satu ujung, dan melepaskan dari yang lain, sebaliknya mengambil dan menempatkan sesuatu hanya pada salah satu ujungnya.
sumber: id.wikipedia.org


*contoh program

Program yang ingin saya tunjukan adalah penerapan FIFO dalam hubungan antara client dan server di suatu warnet atau rental computer dalam bahasa c. ketentuanya adalah, client akan mendapatkan 5 pilihan di dalam warnet: 1.game offline -> rp 2000 2. Game online -> Rp 4000 3. internet-> Rp 3000 dan 4 game dan Internet -> Rp 5000 serta 5. tinggal saja(gak bayar). dan out putnya akan diterima hanya untuk server berupa pendapatan yang didapatkan per 10 pengunjung yang datang

ok langsung saja berikut tahap2 pembuatanya.
1. bukalah Gedit atau Geany(apabila anda memilikinya)
2. Lalu kita akan memulai untuk membuat program untuk client terlebih dahulu
    a. include bbrp library seperti gambar di bawah, kurang lebih kita membutuhkan library tersebut dan         jangan lupa untuk menambahkan define  
  
    b. lalu langsung masuk ke fungsi main, definisikan suatu char untuk pop up message dan                           beberapa integer untuk menyimpan pilihan paket (pilihan[10]), dan banyak jam                                       penyewaan(jam[10]), serta 2 variable integer untuk memasukan data yang telah diinputkan                   user(gt dan ht) untuk selain itu urutan[10],ft dan countert di abaikan saja, karena saya lupa                   menghapus :p           

    c. lalu berikan user leluasa untuk mengisikan pilihan paket dan lama pakainya, langsung saja ikuti           kode sebagai berikut. (pengulangan terjadi 10 kali karena hanya akan memasuki 10 user saja               per run). jangan lupa dengan sprintf dan system("mssg") yang digunakan untuk pop up message,         namun ini sebenarnya optional
    d. setelah itu masukan kode dibawah ini, kode ini berfungsi untuk memberikan perintah kepada               sistem untuk membuat suatu FIFO(char * = "/tmp/ "; mkfifo( , 0666), dan memasukan isi dari              variable pilihan paket dan jam ke masing-masing FIFO ( = open(inout, OWRONLY); dst).                  lalu jangan lupa save file tsb dengan extension .c
         


3. untuk client sudah selesai, maka kita sekarang fokus untuk server
    a. Sama Seperti Client inilah beberapa library yang akan kita butuhkan
       
       b. Lalu Deklarasikan beberapa variable (kecuali countert) untuk pengambilan data dari                            fifo(gt,ht,buf,buf1). lalu deklarasikan 2 fifo dan 2 fifo tersebut akan mengambil data dari                      client. 

         c. Lalu berikan harga dari inputan client, buf[i] digambar ini berlaku sebagai pilihan paket dan               buf1[i] akan berlaku sebagai banyaknya jam, serta sum sebagai total dan subsum sebagai                     jumlah yang harus dibayarkan setiap usernya
          d. setelah itu, lakukan pop up message apabila 10 user telah mengunjungi warnet server. dan                   print semua output dalam format pilihan paket i x jam= subsum sebanyak 10 user. lalu                         tampilkan sum yang berupa hasil penjumlahan dari smua subsum diatas. lalu save dengan                   extension .c
4. Baik Sudah selesai. cheers! :D
dan berikut bbrp screenshot run programnya





Baik, Sekian Disini dulu, Semoga Bermanfaat! ;)

No comments:

Post a Comment