Thursday, 10 March 2016

10K LINE CODE OF PHP

Pada kesempatan kali ini saya akan menjelaskan beberapa materi mengenai pemrograman web. Di era sekarang membuat sebuah website bukanlah hal yang sulit, bahkan orang yang tidak paham coding pun dapat dengan mudah membuatnya. Dalam membantu memperbaiki tampilan web, sudah sangat banyak CMS yang disediakan salah satunya wordpress. CMS seperti ini tidak membutuhkan code sama sekali. Kita hanya memilih tema, menginstall plugin yang dibutuhkan, mengedit sesuai keinginan dan selesai. Akan tetapi tidak semua orang puas dengan hanya berlatar template, kadang lebih bangga menggunakan website yang tampilannya merupakan hasil coding sendiri. Disini saya akan menggunakan beberapa software yaitu sublime untuk membuat editor PHP nya, XAMPP sebagai aplikasi pengembang yang berguna untuk pengembangan website berbasis PHP. Berikut tutorial sederhana yang dapat saya lampirkan :

1. Connect database MySQL

    - Nyalakan XAMPP


    - Tuliskan code berikut pada sublime sebagai .php lalu buat folder baru di dalam folder xampp/htdocs kemudian simpan .php tersebut didalamnya.


    - Panggil menggunakan web browser dengan url http://localhost:(port pada xampp)/(nama folder baru)/(nama file).php. Sesuai code diatas jika database berhasil terhubung maka akan menampilkan output "WIDA CONNECTED SUCCESSFULLY" 

      Hasil :


    
    Deskripsi : LOC 21, PASS.


2. Penggunaan Variabel pada php


   Hasil :

   
  
    Deskripsi : LOC 20,PASS.

3. Penggunaan Array pada PHP


   Hasil :

   

  
   Deskripsi : LOC 15,PASS.


  Selamat mencoba semoga bermanfaat !!

//=================== TUGAS TAMBAHAN ==================//

Setelah memberikan sedikit tutorial simple mengenai code .php diatas, saya kembali diberi kesempatan untuk mendokumentasikan langkah langkah atau tutorial membuat tampilan web dimana web tersebut diharapkan dapat terkoneksi oleh sebuah database. Web tersebut juga dirancang agar dapat melakukan insert, update, delete terhadap isi database yang terkoneksi. Sebelum memulai tutorial ini, anda diharapkan sudah menginstall oracle sebagai aplikasi yang menangani database dan sublime sebagai aplikasi yang mempermudah dalam pengkodean .php. Pada tutorial kali ini anda diharapkan sudah paham mengenai tutorial diatas dan juga paham code database pada oracle seperti contoh bagaimana query dalam membuat tabel, mengisi tabel, mengupdate isi tabel atau bahkan menghapus salah satu isi tabel. Jika anda adalah mahasiswa teknik informatika yang duduk di semester 4 keatas pasti hal itu sudah bukan menjadi sesuatu yang asing untuk anda. Next, berikut tutorial saya :

1. Tampilan HOME pada web


Code untuk membuat tampilan HOME
https://drive.google.com/file/d/0B2c_m-HEo5olTFZ5QjUzWDRWdFk/view?usp=sharing
 
Silahkan download file pada link diatas dan buka melalui aplikasi sublime

2. Tampilan RESERVATION


Menu reservation adalah menu untuk menambahkan data pada guest. Setiap guest wajib mengisi data mereka sebelum melakukan transaksi. Jika anda menekan tulisan RESERVATION pada home maka akan muncul tampilan seperti berikut pada web anda




Misal kita isikan data sebagai berikut, lalu tekan next




Code untuk membuat tampilan RESERVATION

https://drive.google.com/file/d/0B2c_m-HEo5olVEFET2htNEZpOVE/view?usp=sharing


Silahkan download file pada link diatas dan buka melalui aplikasi sublime



3. Tampilan NEXT

Ketika anda menekan tombol next maka data anda akan masuk ke dalam tabel reservasi. Sebelumnya pastikan status insert data guest anda success. Jika data berhasil diterima oracle, maka akan muncul tampilan sebagai berikut 


KTP pada kolom diatas merupakan automatics value dimana nilai tersebut otomatis terisi ketika anda sudah menginputkan identification number pada page reservation. Jika insert guest anda gagal, maka akan muncul tampilan seperti berikut


Setelah memastikan insert data berhasil maka lanjutkanlah dengan melengkapi data diatas. Reservation ID adalah nomor urut reservasi yang akan diberikan oleh petugas. NIP adalah id petugas yang membantu anda menginputkan data sedangakan room id merupakan id kamar yang akan anda sewa. Jika berawalan huruf 'B' maka anda akan menyewa wisma Bougenville, 'F' untuk Flamboyan dan 'J' untuk Jasmine. Huruf kedua pada room id menunujukkan tipe kamar yang dipilih seperti contoh 'S' adalah tipe kamar standard. Misal kita akan menginput seperti berikut


Code untuk membuat tampilan NEXT


Code untuk query NEXT


Silahkan download file pada link diatas dan buka melalui aplikasi sublime

4. Tampilan DENDA

Setelah anda berhasil melakukan reservasi maka anda harus melunasi pembayaran dengan melakukan transaksi. Selain ditentukan dari harga kamar yang dipilih, jumlah hari penyewaan, total transaksi juga ditentukan dari denda yang dikenakan oleh pihak wisma. Jika halaman next anda berhasil maka akan muncul tampilan seperti berikut




Sedangkan jika halaman next anda gagal maka akan muncul tampilan seperti berikut. Hal ini berarti data anda belum terdaftar di tabel transaksi maka ketika anda menekan tombol next pada halaman ini, anda akan kembali ke halaman home dan tidak mengeluarkan total yang harus dibayar guest alias status=failed.


Kembali ke halaman home



Code untuk membuat tampilan DENDA


Code untuk query DENDA


Silahkan download file pada link diatas dan buka melalui aplikasi sublime

5. Tampilan PEMBAYARAN

Jika semua tahapan diatas berstatus sukses, maka akan muncul berapa total tagihan yang anda dapat seperti dibawah ini



Code untuk membuat tampilan PEMBAYARAN


Code untuk query PEMBAYARAN


Silahkan download file pada link diatas dan buka melalui aplikasi sublime

Demikian tahap tahap dalam insert data.

6. Tampilan GUEST

Halaman ini merupakan halaman dimana anda dapat melihat siapa saja tamu yang berhasil menyewa wisma tersebut.

Sebelum insert data 


Setelah berhasil insert data


Pada halaman ini anda dapat menghapus atau mengupdate guest. Berikut tampilan ketika anda menekan kata update


Sebagai contoh, ubah nama Wida Dwitiayasa menjadi Wida Aja seperti gambar berikut


Setelah berhasil maka data akan terupdate di halaman GUEST seperti berikut


Lalu ketika anda ingin menghapus salah satu data guest maka silahkan tekan kata delete maka data tersebut akan hilang dan terdapat status success pada url bar seperti berikut



Code untuk membuat tampilan GUEST

https://drive.google.com/file/d/0B2c_m-HEo5olbjZIVnV1Y0g2dlk/view?usp=sharing

Code untuk membuat tampilan UPDATE GUEST


Code untuk query UPDATE GUEST


Code untuk query DELETE GUEST


Silahkan download file pada link diatas dan buka melalui aplikasi sublime

Demikian tahap tahap dalam update dan delete data.

7. Tampilan CREW

Halaman standard yang hanya dapat menampilkan data crew pada database


Code untuk membuat tampilan CREW


Code untuk query CREW


8. Tampilan ABOUT

Halaman ini adalah halaman yang mengenalkan wisma apa saja yang tersedia beserta harga dan tipe masing masing kamar

Wisma Bougenville


Code untuk mengelompokkan hanya wisma bougenville


Wisma Flamboyan


Code untuk mengelompokkan hanya wisma flamboyan


Wisma Jasmine


Code untuk mengelompokkan hanya wisma jasmine


Code untuk membuat tampilan ABOUT


Code untuk mengelompokkan guest sesuai wisma yang dipilih pun hampir sama seperti code untuk mengelompokkan wisma diatas. Selain itu, web yang saya buat ini dapat menampilkan kamar yang pemesannya melebihi jumlah tertentu. Tampilan awal setelah anda menekan kata TUGAS adalah sebagai berikut


Lalu setelah menekan SEARCH QUERY WIDA maka akan muncul tampilan berikut pada web browser anda


Isilah nominal sesuai keinginan anda, pada kesempatan kali ini dimisalkan saya ingin mengetahui kamar mana saja yang pemesannya lebih dari 2.


Maka output yang dihasilkan berupa seperti berikut



Code untuk membuat tampilan setelah menekan kata TUGAS


Code untuk membuat tampilan setelah menekan kata SEARCH QUERY WIDA


Code untuk membuat tampilan setelah menekan tombol SEARCH


Code untuk query SEARCH


Jika semua code tersebut digabungkan maka baru tercapai 2060 line of php code. Demikian tutorial dari saya terima kasih dan semoga bermanfaat !

Download file zip of php :  https://drive.google.com/file/d/0B2c_m-HEo5olTDgtSEFHOGFVY3c/view?usp=sharing

Download code oracle : https://drive.google.com/file/d/0B2c_m-HEo5olZmNsNm9qeFp4emc/view?usp=sharing

Friday, 27 November 2015

HOW TO CREATE YOUR OWN FILE SYSTEM IN LINUX USERSPACE (FUSE)

File system merupakan sebuah metode untuk menyusun akses berkas di dalam media penyimpanan. Setiap sistem operasi memiliki jenis file system yang berbeda beda. Sebagai contoh mac OS x memiliki filesystem bawaan yang diberi nama HFS+, selain itu sistem operasi apple juga mendukung UFS dan FAT sepenuhnya akan tetapi parsial pada NTFS. Lalu untuk OS pada windows 2000 ke atas mendukung baik FAT maupun NTFS. Medium penyimpanan eksternal seperti flashdrive biasanya menggunakan FAT yang didukung sepenuhnya oleh windows dan mac os x.

Nah FUSE atau File System in Userspace merupakan mekanisme sistem operasi yang memungkinkan user umum menciptakan filesystem sendiri tanpa mengubah kode kernel.

contoh membuat file system sendiri pada userspace
---------------------------------------------------------------------------------------------------

MASALAH :

     Aya adalah mahasiswa yang mahir dalam bidang pemrograman. Iya menyimpan semua file C++ nya hanya dalam sebuah folder yang bernama 'FILE' dan terletak di dalam folder Documents. Suatu saat ia ingin memformat laptopnya dan hanya ingin menyimpan file yang ia anggap penting, tetapi Aya lupa file mana saja yang penting maka pertama tama Aya ingin membuat folder temp yang memiliki isi file sama persis seperti isi folder FILE nya, lalu langkah selanjutnya Aya akan membuka satu persatu file yang ia anggap penting dan Aya ingin file yang ia buka membentuk sebuah file backup secara otomatis dengan format nama ..bak. Tidak hanya itu, entah kenapa Aya ingin ketika file backup itu dibuka maka akan muncul pop up message yang berisi pesan bahwa file tersebut hanya dapat dibaca tidak dapat diedit. Karna Aya sedang mengetes kemampuanmu maka buatlah sebuah program yang dapat mensolusikan permintaan Aya.

SOLUSI :

                            >> codingan dalam bahasa c++ pada texteditor os linux

















LANGKAH - LANGKAH :

1. Download FUSE dari http://fuse.sourceforge.net/ pada bagian release.

2. Extract file tar.gz dan masuk ke direktori FUSE (tar -xvf fuse-2.9.4.tar.gz).

3. Lakukan installasi FUSE dengan cara :
    a. Gunakkan hak akses super user (sudo su)
    b. Ketikkan perintah ./configure
    c. Ketikkan perintah make
    d. Ketikkan perintah make install

4. Template FUSE dapat kamu akses di Fuse.sourceforge.net

5. Pilih fungsi mana saja yang kamu butuhkan untuk mendukung algoritma pemrogramanmu

Semoga bermanfaat Terimakasih!

Wednesday, 25 November 2015

HOW TO INFINITE POP UP A CONTENTS OF TXT FILE

Daemon adalah sebuah proses yang bekerja pada background karena proses ini tidak memiliki terminal pengontrol. Dalam sistem operasi Windows biasanya lebih dikenal dengan sebutan service. Daemon adalah sebuah proses yang didesain supaya proses tersebut tidak mendapatkan intervensi dari user. Daemon biasanya bekerja dalam jangka waktu yang sangat lama dan bertugas menerima request dan menjalankan responsnya. Contoh dari daemon ini misalnya adalah Apache Web Server HTTP daemon. Daemon ini bekerja pada background dan menerima request HTTP pada port tertentu (biasanya 80 atau 8080) dan memberikan respon terhadap request tersebut, berdasarkan tipe dari request tersebut.
Adapun hal-hal yang membedakan daemon dengan proses lainnya adalah: daemon tidak memiliki parent proses ID, daemon tidak memiliki pengontrol baik itu STDOUT, STDIN, maupun STDERR, dan daemon berjalan dalam previlege super user.
Berikut ini adalah beberapa cara untuk membuat daemon:
a. Forking dan pembunuhan Proses induk.
Langkah pertama dari pembuatan daemon adalah dengan menspawn proses menjadi induk dan anak dengan melakukan forking, kemudian membunuh proses induk. Proses induk yang mati akan menyebabakan sistem operasi mengira bahwa proses telah selesai sehingga akan kembali ke terminal user. Dari langkah tersebut kita akan mendaptkan sebuah proses anak yang melanjutkan program setelah induknya mati, sehingga kita mendapatkan sebuah proses yang hampir bekerja pada backround.
Contoh :







b. Membuat proses bekerja secara independen
Daemon harus bekerja secara independen daripada proses-proses lain, termasuk juga proses yang menjalankannya. Langkah bisa dilakukan dengan memanggil fungsi setsid(), sehingga proses akan mendapatkan sebuah session ID yang baru.
Contoh :



c. Menutup standar I/O deskriptor yang diwarisi
Untuk mencegah terjadinya intervensi dari user serta untuk pengamanan, maka standar I/O descriptor dan descriptor yang diwarisi dari proses induk harus ditutup. Ada 3 jenis standar I/O descriptor : STDIN (standar input), STDOUT (standar output), STDERR (standar error).
Contoh:
close(STDIN_FILENO);
close(STDOUT_FILENO);
close(STDERR_FILENO);
d. Melakukan masking pada File Creation
Sebagian besar daemon bekerja dalam previlege super user. Daemon biasanya memproteksi setiap file yang dibuat, dengan alasan keamanan. Fungsi umask() akan mencegah file-file previleges yang tidak aman dalam setiap pembuatan file.
Contoh :









e. Running Directory
Directory kerja daemon haruslah sebuah directory yang selalu hidup. Bisa saja pada saat starting working directorynya pada saat itu berada pada user home. Karena daemon bekerja sampai sistem reboot, maka file sistem user directorynya takkan pernah bisa di unmount.
Contoh :






contoh pop-up dari isi sebuah file txt :
----------------------------------------------------------------------------------
MASALAH :


1         Aya adalah seorang programer handal dan berani. Suatu hari, dia ingin membuat sebuah virus bernama “Virus Quotes 2 Menit”, dimana virus tersebut terdiri dari file aplikasi virus dan daftar quotes dalam sebuah file bernama file.txt. Jika virus ini ada dalam komputer anda, maka akan muncul pop-up dari semua isi file.txt yang terpisah dengan tanda delimiter koma (,) satu persatu setiap 2 menit sekali. Sebagai teman baik Aya bantulah ia membuat program tersebut!

SOLUSI :
                              >> codingan dalam bahasa c pada texteditor os linux




                                 >>isi file.txt



                                 >>saat dijalankan pada terminal




Langkah - langkah :


1. Pertama tama siapkan variabel pointer ber tipe data FILE karna variabel ini akan digunakan untuk menunjuk sebuah file txt (FILE *fp). 


2. Selain itu kita juga membutuhkan 2 variabel array of char alias string untuk menampung isi file (char message[1500], content[1500])


3. Siapkan juga sebuah variabel pointer untuk menunjuk hasil fungsi strtok (char *pch).


4. Karna kita akan mempop up kata terus menerus tanpa batasan tertentu dan akan berhenti hanya jika kita memanggil fungsi pkill pada program maka kita gunakan while(1). Angka satu didalam kurung while menyatakan bahwa pada semua kondisi adalah benar sehingga program akan selalu di eksekusi.


5. Untuk mendapatkan sebuah isi file maka langkah awal yang harus kita lakukan adalah dengan membuka file menggunakan fungsi fopen dan memasukkannya kedalam variabel pointer yang bertipe data FILE (fp=fopen("file.txt","r")). Dapat diartikan kita membuka file yang bernama file.txt dan code "r" berarti read only yaitu user hanya bisa membaca isi text dan tidak diizinkan untuk mengedit isi file.


6. Setelah file terbuka, kita akan mengambil isi file menggunakan fungsi fgets (fgets(content,1500,fp)). Dapat diartikan isi file yang ditunjuk oleh variabel fp sekarang menjadi isi variabel content dengan batasan 1500 char.


7. Agar aman, variabel content kita biarkan tetap memiliki isi original file lalu isi variabel content kita copy kedalam variabel array of char yang lain menggunakan strcpy (strcpy(message,content)). Variabel lain ini yang akan kita mainkan.


8. Strtok adalah fungsi untuk memotong sebuah string berdasarkan indikator tertentu yang ditentukan oleh user (pch=strtok(message,",")). Dapat diartikan kita akan memotong isi dari variabel message berdasarkan koma, lalu variabel pointer pch akan menunjuk kata sebelum koma.


9. Setelah mendapatkan sebuah kata maka langkah selanjutnya kita akan menampilkan kata tersebut menggunakan pop-up dengan fungsi zenity (char temp[ ] = "zenity --warning --text=' "). Jangan lupa mendeklarasikan sebuah variabel string untuk menampung perintah zenity.


10. Program belum dapat dijalankan karna pada fungsi zenity belum terbaca string yang akan di pop-up maka kita perlu menyatukan isi variabel temp dengan variabel pch menggunakan strcat (strcat(temp,pch)).


11. Program tetap menganggap tidak terbaca adanya string pada zenity karena tidak adanya tanda petik penutup. Seperti yang pernah kita pelajari sebelumnya bahwa untuk string yang ingin dibaca harus diapit oleh tanda petik. Maka kita perlu menggabungkan temp yang sudah digabung pch dengan tanda petik mengggunakan strcat (strcat(temp," ' "))


12. Langkah selanjutnya untuk menjalankan perintah di temp maka kita menggunakan fungsi system (system(temp)).


13. Setelah kata pertama di tampilkan menggunakan pop-up maka kita kembali mengosongkan nilai pch / pch tidak menunjuk alamat manapun.


14. Lalu karena program diminta pause selama 2 menit (120 detik) maka kita gunakan fungsi sleep (sleep(120)) .


15. Jika program menganggap sudah tidak ada isi file alias nilai pch adalah kosong maka file yang tadi dibuka ditutup kembali menggunakan fclose (fclose(fp)).


Semoga bermanfaat terima kasih!