Minggu, 29 November 2015

Fuse

         Filesystem in Userspace (FUSE) merupakan mekanisme sistem operasi untuk sistem operasi Unix-like yang memungkinkan pengguna tidak ber-hak istimewa menciptakan file system mereka sendiri tanpa mengubah kode kernel.

         Untuk contohnya, copy codingan ini




Ganti semua kata hunter menjadi nama user kalian.

Simpan kemudian compile dengan menggunakan perintah: gcc -Wall [nama file1].c `pkg-config fuse --cflags --libs` -o [nama file2] 

Kemudian buat sebuah direktori, misalnya: /home/[nama user]/fuse 
Coba jalankan fuse tadi dengan cara: ./[nama file2] /home/[nama user]/fuse 
Maka semua isi direktori /home/[nama user]/Downloads akan dimount ke direktori /home/[nama user]/fuse 

ketika kalian mengedit file di /home/[nama user]/fuse lalu menyimpannya, maka akan muncul folder baru dengan nama "Simpanan" dan akan menyimpan perubahan dari file yang diedit tadi dan membuat isi file yang diedit tetap seperti sebelum diedit.


Minggu, 08 November 2015

Thread


Thread adalah bagian tyerkecil dari sebuah proses. Sebuah proses bisa saja terdiri dari 1(single threading) atau lebih thread(multi threading).

Salah satu contoh dari multi threading adalah pemutar musik. Pada proses pemutar musik, terdapat thread yang berfungsi memutar musik, dan ada juga thread yang bertugas memproses input dari user.

Untuk kodingannya, nih lihat dibawah ini:
                






Minggu, 18 Oktober 2015

Daemon
Daemon adalah sebuah proses yang berjalan pada background tanpa ada interaksi dengan user secara langsung. Pokoknya..... prosesnya tuh berjalan sendiri.
            Proses ini dibuat dengan bahasa c. Terus bikin file c nya bisa di-excute di linux pake command “gcc –o file2 file1.c”. file1.c adalah nama koding c kita, trus file2 tuh nama file baru yang nantinya akan di-excute di linux.
            Excute-nya tinggal command “./file2”. Lalu untuk menghentikan pake “pkill file2”.
            Cara buat file c dari daemon :
A.      Forking(membuat proses baru) lalu kill parent prosesnya.

B.      Mengubah mode file agar file tersebut bisa ditulis dan dibaca secara benar dengan “unmask(0);”
C.      Membuat unique SID, agar child proses bisa beroperasi.

D.     Mengubah Direktori kerja. Agar dapat beroperasi direktorinya harus ke tempat yang selalu ada(/).

E.      Menutup file descriptor standart (STDIN,STDOUT,STDERR). Karena daemon tak perlu kendali terminal.

F.       Membuat loop dengan “while(1)”. Agar daemon terus bekerja. Untuk mengistirahatkan proses dalam beberapa waktu, pakai “sleep(30)”. 30 tersebut berarti slepp selama 30 detik.


Ini contoh daemon yang membuat sebuah folder berisi file .doc aja. selain . doc akan dipindah ke folder not doc.
download disini

Minggu, 27 September 2015

Shell Scripting

Shell Scripting

                Semakin hari pengguna Linux semakin meningkat. Hal tersebut bisa dilihat dari semakin banyak perangkat digital yang didalamnya menggunakan system Linux. Salah satu hal yang tak pernah hilang dari sistem Linux adalah keberadaan shell.

          Shell adalah sebuah command-line interpreter yang bertugas untuk menterjemahkan perintah yang diinputkan oleh pengguna secara langsung kedalam sistem melalui bantuan terminal atau konsole sebagai antarmuka tampilannya.
Berikut ini beberapa Arithmetic Comparisons.

-gt
( > )
-lt
( < )
-le
( <= )
-ge
( >= )
-eq
( == )
-ne
(!= )

                Untuk memulai Shell Scripting buat dulu filenya dengan mengetik nano namafile.sh . namafile bisa kamu ubah sesuka hatimu. Oke saya akan memberi contoh, yaitu script yang bisa menentukan bilangan prima apasaja yang ada sebelum sebuah angka. Lalu ikutilah langkah berikut :

*Langkah pertama dalam membuat sebuah shell script adalah memberitahukan kepada sistem shell apa yang hendak digunakan, karena bisa jadi didalam sebuah distribusi Linux tersedia lebih dari satu varian shell. Karena kita hendak menggunakan bash, maka tuliskan baris ini pada baris pertama dari setiap bash shell script yang akan kita buat
#!/bin/bash
* Inisialisasi variabel. Hal ini bisa dilakukan dengan cara [variabel]=[nominal]. Contoh bil=4 hal tersebut berarti menginisialisasi variabel bil dengan nilai 4. Jika ingin menginisialisasi variabel yang berubah-ubah nilainya gunakan $1 yang berarti nilainya berdasarkan angka yang dimaukkan saat mau menjalankan script tersebut. Karena bilangan yang akan dimasukkan adalah bilangan yang gak pasti, kita pakai bil=$1 .

* Gunakan 2 Looping. Pertama untuk mengecek angka yang ada sebelum sebuah bilangan yang dimasukkan, looping pertama (i) dimulai dari 2 sampai bilangan itu karena 1 bukanlah bilangan prima. Dan looping yang keduafor (j) untuk mengecek bilangan tersebut apakah prima (hanya bisa dibagi oleh 1 dan bilangan itu sendiri). Looping kedua dimulai dari 2 sampai sebelum bilangan itu. Akhiri kedua loop dengan perintah done .

* Cek bilangan tersebut prima atau bukan dengan modulus(sisa pembagian). Jika nilai modulus nya 0 maka bilangan tersebut dapat dibagi oleh lain selain 2 dan bilangan tersebut. Untuk mengecek modulus pakai perintah if [ $(( i%j )) -eq 0 ] . Jika modulusnya sama dengan 0, cek bilang selanjutnya dengan mengubah nilai I dengan let "i=$i+1" dan mengembalikan nilai j dengan let "j=2" . Jika tidak cek bilangan j selanjutnya dengan let "j=$j+1" . Akhiri perintah if dengan fi .

* Cetak nilainya dengan perintah echo $i


* Untuk menjalankannya, ubah dulu permissions file tersebut dengan perintah chmod +x namafile.sh . lalu jalankan dengan perintah ./namafile.sh 5 . angka 5 tersebut bisa diganti sesuai kehendak mau mencari bilangan prima kurang dari angka berapa.

Selasa, 21 April 2015

Example Game Allegro C

Where is My Princess

This is an example of game allegro in C language. 


  In this game, there is 5 level, from the easiest one in level 1 until the hardest one in level 5.
  In the game, player will moving a prince to save the princess and take her go out. But there is a ghost that can kill a man if he touch it.
  In here, there is an item that can make a man go through the wall twice every an item.

here is how to play




for the program and the picture, you can download it here!