Selasa, 10 Desember 2013

Smoothing Pengolahan Citra


Pada kesempatan kali ini kami akan membahas tentang Smoothing pada sebuah citra yang diajukan guna melengkapi tugas pengolahan citra. Disini kami melakukan smoothing menggunakan Opencv dan Ms Visual studio untuk memperoleh pelembutan citra yang baik. Pengertian Smoothing itu sendiri adalah  Penyamaan pixel (guna penghalusan) dengan sebelah-sebelahnya, untuk mengurangi kontras dan mensimulasikan citra yang tidak fokus. sedangkan tujian dari Pelembutan Citra (smoothing) yaitu mengurangi noise pada suatu image. Noise-noise tersebut muncul sebagai akibat dari hasil pensamplingan yang tidak bagus. Pixel komponen yang mempunyai noise pada umumnya memiliki frekuensi yang tinggi. Kompoen citra yang berfrekuensi rendah akan diloloskan dan komponen yang mempunyai frekuensi tinggi akan ditahan.


Smoothing, juga disebut kabur, adalah operasi pengolahan citra sederhana dan sering digunakan. Pada proses pelembutan citra (Smoothing) disini, kami menggunakan Opencv dan juga microsoft visual studio untuk membuat sebuah program aplikasinya. Microsoft visual studio digunakan untuk menuliskan sebuah code smoothing, dimana pada program aplikasi ini kami menggunakan beberapa filter teknik smoothing atau pengkaburan, diantaranya yaitu teknik Homogenous Blur, Gaussian Blur, Median Blur serta Bilateral Blur. berikut adalah code yang digunakan untuk pembuatan aplikasi smoothing :


#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"

using namespace std;
using namespace cv;

/// Global Variables
int DELAY_CAPTION = 1500;
int DELAY_BLUR = 100;
int MAX_KERNEL_LENGTH = 31;

Mat src; Mat dst;
char window_name[] = "Filter Demo 1";

/// Function headers
int display_caption( char* caption );
int display_dst( int delay );

/**
 * function main
 */
 int main( int argc, char** argv )
 {
   namedWindow( window_name, CV_WINDOW_AUTOSIZE );

   /// Load the source image
   src = imread( "../images/lena.jpg", 1 );

   if( display_caption( "Original Image" ) != 0 ) { return 0; }

   dst = src.clone();
   if( display_dst( DELAY_CAPTION ) != 0 ) { return 0; }

   /// Applying Homogeneous blur
   if( display_caption( "Homogeneous Blur" ) != 0 ) { return 0; }

   for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
       { blur( src, dst, Size( i, i ), Point(-1,-1) );
         if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }

    /// Applying Gaussian blur
    if( display_caption( "Gaussian Blur" ) != 0 ) { return 0; }

    for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
        { GaussianBlur( src, dst, Size( i, i ), 0, 0 );
          if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }

     /// Applying Median blur
     if( display_caption( "Median Blur" ) != 0 ) { return 0; }

     for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
         { medianBlur ( src, dst, i );
           if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }

     /// Applying Bilateral Filter
     if( display_caption( "Bilateral Blur" ) != 0 ) { return 0; }

     for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
         { bilateralFilter ( src, dst, i, i*2, i/2 );
           if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }

     /// Wait until user press a key
     display_caption( "End: Press a key!" );

     waitKey(0);
     return 0;
 }

 int display_caption( char* caption )
 {
   dst = Mat::zeros( src.size(), src.type() );
   putText( dst, caption,
            Point( src.cols/4, src.rows/2),
            CV_FONT_HERSHEY_COMPLEX, 1, Scalar(255, 255, 255) );

   imshow( window_name, dst );
   int c = waitKey( DELAY_CAPTION );
   if( c >= 0 ) { return -1; }
   return 0;
  }

  int display_dst( int delay )
  {
    imshow( window_name, dst );
    int c = waitKey ( delay );
    if( c >= 0 ) { return -1; }
    return 0;
  }


Pada code diatas terdapat empat jenis pengkaburan, yaitu Homogenous blur, Gaussian Blur, Median Blur dan Bilateral Blur. berikut adalah cuplikan code masing masing teknik pengkaburan.

Homogeneous blur
   if( display_caption( "Homogeneous Blur" ) != 0 ) { return 0; }

   for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
       { blur( src, dst, Size( i, i ), Point(-1,-1) );
         if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } } 
Pada Homogenous blur disini kita menggunakan 4 argumen :
  • src : Sumber gambar 
  • dst : image Destination 
  • Ukuran ( w , h) : Mendefinisikan ukuran kernel yang akan digunakan ( piksel w lebar dan tinggi h piksel ) 
  • Titik ( -1 , -1 ) : Menunjukkan di mana titik jangkar ( pixel dievaluasi ) terletak terhadap lingkungan . Jika ada nilai negatif , maka pusat kernel dianggap sebagai titik anchor .
Gaussian blur
    if( display_caption( "Gaussian Blur" ) != 0 ) { return 0; }

    for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
        { GaussianBlur( src, dst, Size( i, i ), 0, 0 );
          if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }
Pada Gaussian blur disini kita menggunakan 4 argumen :

  • src : Sumber gambar 
  • dst : image Destination 
  • Ukuran ( w , h) : Ukuran kernel yang akan digunakan ( tetangga dipertimbangkan ) . w dan h harus angka ganjil dan positif jika ukuran thi akan dihitung dengan menggunakan \ sigma_ { x } dan \ sigma_ { y } argumen.
  • \ sigma_ { x } : Standar deviasi dari x . Menulis 0 menyiratkan bahwa \ sigma_ { x } dihitung dengan menggunakan ukuran kernel .
    \ sigma_ { y } : Standar deviasi dalam y . Menulis 0 menyiratkan bahwa \ sigma_ { y } dihitung dengan menggunakan ukuran kernel .
Median blur
     if( display_caption( "Median Blur" ) != 0 ) { return 0; }

     for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
         { medianBlur ( src, dst, i );
           if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } } 
Pada Median blur disini kita menggunakan 3 argumen :

  • src : Sumber gambar 
  • dst : image Destination 
  •  i: Ukuran dari kernel ( hanya satu karena kami menggunakan jendela persegi ) . bilangan i harus ganjil

Bilateral blur
     if( display_caption( "Bilateral Blur" ) != 0 ) { return 0; }

     for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
         { bilateralFilter ( src, dst, i, i*2, i/2 );
           if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }
 Pada Bilateral blur disini kita menggunakan 5 argumen :
  • src : Sumber gambar 
  • dst : image Destination 
  • d : Diameter lingkungan masing-masing pixel.
  • \sigma_ {warna} : Standar deviasi dalam ruang warna .
  • \sigma_ {ruang} : Standar deviasi dalam koordinat ruang ( dalam hal piksel )
cukup sekian penjelasan dari kami mengenai smoothing pengolahan citra, untuk hasil gambar tiap tiap teknik pengkaburan atau smoothing akan menyusul (berupa gambar). terima kasih...

tim penyusun :
Muhamad Asep Saputra (54410563)
Robby Johari (NPM)

Refferensi :

Minggu, 17 November 2013

tools Forensik IT

Pada dewasa ini tindak kejahatan didunia teknologi informasi sangat marak terjadi, oleh karena itu kita harus dapat mencegah hal hal yang tidak diinginkan terhadap data yang kita punya didalam suatu peranti komputer kita. untuk mencegah hal tersebuyt, kita dapat melakukan forensik komputer terhadap tindak kejahatan tersebut, salah satunya dengan merecovery file atau data yang telah hilang akibat terhapus dengan sengaja oleh kita maupun dengan tidak disengaja atau ada pihak yang sengaja menghapus data kita.
forensik komputer adalah suatu proses mengidentifikasi, memelihara, menganalisa, dan mempergunakan bukti digital menurut hukum yang berlaku. Forensik komputer yang kemudian meluas menjadi forensik teknologi informasi, masih jarang digunakan oleh pihak berwajib, terutama pihak berwajib di Indonesia.
aplikasi ataupun tool yang digunakan untuk melakukan forensik teknologi informasi sangatlah banyak macamnya, seperti DDRESCUE, FOREMOST, FOTOREC, SAFECOPY, MONDO RESCUE, CHAOSREADER dan masih banyak lainnya. dalam hal ini saya akan menjelaskan tentang beberapa tool forensik yang biasanya digunakan untuk merecovery data yang telah hilang. beberapa tool yang digunakan untuk melakukan forensik teknlogi informatika, sebagai berikut ini.
1. GNU ddrescue merupakan sebuah tool penyelamat data, atau pemulihan file yang beroperasi secara otomatis.  la menyalinkan data dari satu file atau device blok (hard disc, cdrom, dsb.) ke yang lain, berusaha keras menyelamatkan data dalam hal kegagalan pembacaan. Ddrescue tidak memotong file output bila tidak diminta. Sehingga setiap kali anda menjalankannya kefile output yang sama, ia berusaha mengisi kekosongan. Ddrescue digunakan untuk sistem operasi linux.
2. Foremost merupakan sebuah tool  berbasis console yang dapat digunakan untuk me-recover file berdasarkan header, footer, atau struktur data file tersebut. la mulanya dikembangkan oleh Jesse Kornblum dan Kris Kendall dari the United States Air Force Office of Special Investigations and The Center for Information Systems Security Studies and Research. Saat ini foremost dipelihara oleh Nick Mikus seorang Peneliti di the Naval Postgraduate School Center for Information Systems Security Studies and Research. Foremost dapat bekerja pada image file (.iiso, dll), seperti yang dihasilkan oleh dd, Safeback, Encase, dll, atau langsung pada drive.
Pada awalnya Foremost merupakan software yang di develop oleh militer US (Air Force Office of Special Investigation). Foremost merupakan salah satu tools favorit di bidang digital forensic, terutama dalam hal data carving. Kemampuan Foremost dalam mengembalikan data yang sudah terhapus sudah diakui kehebatannya.
3. Galleta merupakan sebuah tool yang ditulis oleh Keith J Jones untuk melakukan analisis forensic terhadap cookie Internet Explorer.
Cookie adalah serangkaian teks yang disimpan pada komputer Anda oleh situs web yang Anda kunjungi. Pada umumnya cookie menyimpan pengaturan atau preferensi Anda untuk suatu situs web tertentu, misalnya bahasa yang dipilih, atau lokasi (negara) Anda. Ketika Anda kembali ke situs web tersebut, Firefox akan mengirimkan cookie yang bersesuaian kepada situs web yang bersangkutan. Dengan cara ini, situs dapat menampilkan informasi yang sesuai dengan pengaturan atau preferensi Anda.
Jadi gallet disini akan memeriksa terhadap cookie internet yang pernah dikunjungi oleh suatu perangkat tersebut.
4. TestDisk adalah freeware pemulihan file yang kuat untuk Linux. Aplikasi ini dapat memulihkan partisi yang dihapus, sektor boot FAT32, memperbaiki MFT menggunakan MFT mirror, memperbaiki FAT tables, file dari partisi yang dihapus FAT/exFAT/NTFS/ext2/ext3/ext4, dan banyak lagi. testDisk digunakan untuk sistem operasi Linux.

itulah beberapa tools forensik yang digunakan dalam dunia teknik informasi, unuk mengetahui jenis jenis tools forensik yang lainnya kami (kelompok 8) cantumkan link yang lainnya.



Sumber Refferensi:

Senin, 04 November 2013

Form Login pada WEB



Pada pertemuan kali ini, saya akan membuat form login yang mana biasanya form ini dibuat untuk mengakses suatu laman tertentu agar laman tersebut aman dari pengguna yang tidak berkepentingan.Sebelumnya pada pembuatan form login yang saya buat ini merupakan form login sederhana yang nantinya akan dibuat pada halaman web. Berikut adalah syntaks html form login sederhana yang telah dibuat untuk dapat ditampilkan pada laman web.


Pada gambar diatas dimana pada bagian ini terdapat syntaks untuk pembuatan border atau tabel pembuatan form login, dimana bagian background tabel berwarna biru. Selanjutnya pada bagian ini pula terdapat script yaitu java script, dimana java script ini digunakan untuk pembuatan variabel username dan password yang digunakan pada form login.
Pada pembuatan script disini, tipe script yang digunakan sangat sensitive dimana masing masing karakter harus sesuai dengan apa yang divariabelkan, baik besar kecilnya huruf yang digunakan. Misalkan pada variabel username yang didefinisikan yaitu “Asep”, jika menggunakan username asep maka login tidak dapat berhasil dilakukan, karena huruf a yang digunakan tidak besar karena case yang digunakan sensitive jadi harus sama dengan apa yang didefinisikan sebelumnya oleh variabel tersebut.
Pada gambar ini juga terdapat pesan atau alert dimana jika berhasil masuk dengan akun dan password yang benar maka akan tampil alert “silahkan login”. Sedangkan jika gagal login maka akan tampil alert “akun atau password tidak valid”. Selanjutnya pembuatan tabel pada body laman web dimana pada bagian ini terdapat menu username dan password seperti pada gambar berikutnya yang merupakan lanjutan dari gambar sebelumnya.


Pada gambar kedua ini, terdapat bagian untuk pembuatan button username dan password dimana pada form login ini username yang digunakan berupa text sedangkan password yang digunakan berupa text maupun angka dengan sesuai yang telah didefinisikan oleh password sebelumnya.
Selanjutnya pada button login disini berupa type inputan submit dan sedangkan pada button lupa password disini berupa type inputan reset, dimana jika menekan button lupa password maka username dan password yang digunakan akan direset dan kembali kosong untuk diisi dengan username dan password yang baru.
Berikut adalah tampilan yang dihasilkan jika menginput username dan password dengan benar, yaitu dengan mengisi username “Asep” dan mengisi password “qwerty’.
Setelah gambar diatas adalah tampilan bila berhasil login dengan mengisi username dan password dengan benar, berikut adalah tampilan jika mengisi username dan password tidak sesuai apa yang sebelumnya telah didefinisikan.
Sekian penjelasan saya tentang pembuatan menu login pada halaman web secara sederhana, semoga dapat bermanfaat untuk yang membutuhkannya.