Kamis, 28 April 2011

Compare 2 buah file di linux dengan "diff" dan "sdiff"




Sebelumnya saya pernah membahas bagaimana caranya dengan linux untuk melakukan komparasi atau perbandingan isi dari 2 buah file untuk mencari perbedaanya, yaitu menggunakan "Meld Diff Viewer"

Kali ini saya akan membahas bagaimana caranya melakukan komparasi isi dari 2 buah file yang hampir sama isinya untuk mencari perbedaan diantara keduanya.

Program yang saya gunakan di linux, khususnya ubuntu (karena saya pakainya ubuntu) adalah "diff" dan "sdiff"

Fungsi dari program "diff" dan "sdiff" sebetulnya sama dengan "Meld Diff Viewer", hanya bedanya "Meld Diff Viewer" dijalankan dari mode GUI Linux. Sedangkan perintah "diff" dan "sdiff" dijalankan dari command terminal linux. "diff" dan "sdiff" ini dapat di install dari synaptic maupun dari command line terminal ubuntu :

$ sudo apt-get install diffutils


Disini saya mempunyai 2 buah file yaitu file-1.txt dan file-2.txt :

$ cat file-1.txt
Selamat Datang Di Ubuntu 10.10

Dony Ramansyah
site : http://dony-ramansyah.bravehost.com
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171
dony@ITOP-DONY:~$ cat file-2.txt
Selamat Datang Di Ubuntu 10.10


$ cat file-2.txt
Selamat Datang Di Ubuntu 10.10

Dony Ramansyah
ubuntulinux.or.id
site : http://dony-ramansyah.bravehost.com
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171

Nah untuk membedakan isi file nya, caranya adalah sebagai berikut (ketikan perintah nya di terminal linux) :

Menggunakan perintah "sdiff"

1. Untuk membandingkan isi file-1 dengan isi file-2 (file-1 dibandingkan dengan file-2)

$ sdiff file-1.txt file-2.txt



2. Untuk membandingkan isi file-2 dengan isi file-1 (file-2 dibandingkan dengan file-1)

$ sdiff file-2.txt file-1.txt



Perbedaan output diatas, ditunjukan pada arah direction ("tanda > atau <"). Arah tanda "> atau <" tergantung file mana yang mau dibandingkan terlebih dahulu.

Apa perbedaanya dengan perintah "diff"


$ diff file-1.txt file-2.txt
3a4
> ubuntulinux.or.id


$ diff file-2.txt file-1.txt
4d3
< ubuntulinux.or.id

Dengan perintah "diff" ini maka output yang dihasilkan langsung kepada isi yang berbeda dari kedua file tersebut, dan kita bisa melihat juga arah direction nya ("tanda > atau <"). Arah tersebut prinsipnya sama dengan perintah "sdiff".

Sedangkan output "3a4" atau "4d3" adalah menandakan dimanakah letak baris perbedaan isi filenya.
Coba perhatikan hasil output perintah "sdiff" dan "diff" diatas. Arti dari "3a4" adalah bahwa perbedaannya ada pada baris ke-3 dari file-1 dan baris ke-4 dari file-2. Sedangkan arti dari "4d3" adalah bahwa perbedaannya ada pada baris ke-4 dari file-2 dan baris ke-3 dari file-1.

Perintah "diff" dan "sdiff" sangat berguna bagi saya untuk melakukan perbandingan atau komparasi isi dari dau buah file, terutama untuk melakukan komparasi file-file yang memiliki size yang besar seperti database dan hasilnya tentu lebih cepat dari pada menggunakan komparasi yang dilakukan oleh "Meld Diff Viewer" maupun melakukan komparasi dari databasenya langsung. Perintah "diff" dan "sdiff" dapat melakukan komparasi untuk file-file txt, mysql, csv, dll.

Semoga bisa bermanfaat juga untuk teman semua.

Dony Ramansyah
site : http://dony-ramansyah.bravehost.com
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171

Kamis, 21 April 2011

Analisa Metadata Gambar dengan Linux (Digital Forensics Image With Linux)




Sebelumnya saya pernah sedikit membahas mengenai Steganography dimana saya memberitahukan bagaimana cara untuk memasukan comment atau text kedalam sebuah gambar dengan Linux.

Saat ini saya akan coba membahas bagaimana cara untuk menganalisa metadata dari suatu file gambar dan juga sedikit cara untuk memodifikasi metadata dari file gambar tersebut. Yang saya gunakan adalah OS Linux Ubuntu dengan bantuan program "ImageMagick" dan "xciv2". Semua program tersebut pastinya adalah free alias gratis :)

Untuk melakukan instalasi program tersebut dapat dilakukan dari synaptic maupun dari terminal :

$ sudo apt-get install imagemagick xciv2

Dalam case ini saya akan menganalisa 2 buah file image untuk mengetahui bahwa file tersebut asli atau tidak. File pertama yaitu pic.jpg :



file gambar yang kedua adalah pic2.jpg :



Pertama kita akan melakukan analisa metadata file image tersebut dengan command identify dari imagemagick

Commandnya adalah :

(untuk image pertama yaitu pic.jpg)

$ identify -verbose pic.jpg

output dari command identify ini sangat banyak, maka saya ambil yang pentingnya saja, silahkan lihat pada baris-baris hasil outputnya berikut :

date:create: 2011-04-20T19:15:04+07:00
date:modify: 2010-11-22T12:49:12+07:00

exif:DateTime: 2010:11:22 12:49:12
exif:DateTimeDigitized: 2010:11:22 12:49:12
exif:DateTimeOriginal: 2010:11:22 12:49:12


exif:ImageDescription: Camera 14MP-9PA
exif:Make: Camera
exif:Model: 14MP-9PA
exif:Software: V1.00N
Filesize: 3.511MB
Number pixels: 13.79M
Pixels per second: 11.3M


Kita bandingkan dengan file image yang kedua yaitu pic2.jpg :

$ identify -verbose pic2.jpg

date:create: 2011-04-20T19:35:18+07:00
date:modify: 2011-04-20T19:35:18+07:00

exif:DateTime: 2011:04:20 19:35:16
exif:DateTimeDigitized: 2010:11:22 12:49:12
exif:DateTimeOriginal: 2010:11:22 12:49:12


exif:ImageDescription: Camera 14MP-9PA
exif:Make: Camera
exif:Model: 14MP-9PA
exif:Software: GIMP 2.6.10
Filesize: 227KB
Number pixels: 480K
Pixels per second: 12M



Saya cetak tebal perbedaan dari output metadata kedua file tersebut. Disana bisa terlihat perbedaannya dimana file pic.jpg adalah file aslinya sedangkan file pic2.jpg adalah file image hasil editan saya.

Dapat dilihat dari tanggal modifikasi, software editing, dan file size maupun pixels nya. Disana terlihat bahwa file pic2.jpg terakhir di edit pada tanggal 20 april 2011 yang mana sudah berbeda dengan time original nya pada saat gambar tersebut diambil dari camera. File pic2.jpg juga terlihat sofware yang dipakai untuk melakukan editingnya yaitu GIMP 2.6.10.

Kedua, kita akan melakukan analisa metadata file image tersebut dengan bantuan software "exiv2"

Untuk file pertama yaitu pic.jpg commandnya adalah :

$ exiv2 -pt pic.jpg

Output yang perlu diperhatikan adalah sebagai berikut :

Exif.Image.Software Ascii 32 V1.00N
Exif.Image.DateTime Ascii 20 2010:11:22 12:49:12

Exif.Photo.DateTimeOriginal Ascii 20 2010:11:22 12:49:12
Exif.Photo.DateTimeDigitized Ascii 20 2010:11:22 12:49:12


Sedangkan untuk file kedua yaitu pic2.jpg commandnya adalah sebagai berikut :

$ exiv2 -pt pic2.jpg

Exif.Image.Software Ascii 12 GIMP 2.6.10
Exif.Image.DateTime Ascii 20 2011:04:20 19:35:16

Exif.Photo.DateTimeOriginal Ascii 20 2010:11:22 12:49:12
Exif.Photo.DateTimeDigitized Ascii 20 2010:11:22 12:49:12


Dengan bantuan software "exiv2" juga dapat terlihat dari output command yang dihasilkan bahwa terdapat perbedaan pada file pic2.jpg serta dapat terlihat juga software editing yang digunakan.

Nah... sekarang apakah metadata dari file tersebut tidak dapat dirubah?? jawabannya adalah metadata dari file tersebut dapat dirubah.

Untuk merubah metadata dari file tersebut dapat menggunakan software "exiv2" tadi. Contohnya saya ingin merubah file pic3.jpg, dimana file ini hanyalah hasil copy paste dari file pic2.jpg :



Untuk merubah baris output "Exif.Image.DateTime" nya maka kita harus menghapus terlebih dahulu baris metadata tersebut, kemudian menambahkannya lagi dengan waktu yang kita inginkan. Misalnya saya akan mengganti waktunya menjadi 1980:01:01 00:00:00.

Cara nya adalah, buka terminal console linux anda, dan jalankan perintah berikut :

$ exiv2 -M"del Exif.Image.DateTime" pic3.jpg
(untuk mengapus baris output metadata)

$ exiv2 -M"add Exif.Image.DateTime 1980:01:01 00:00:00" pic3.jpg
(untuk menambahkan lagi image time sesuai keinginan kita)

Hasilnya outputnya adalah :

$ exiv2 -pt pic3.jpg

Exif.Image.Software Ascii 12 GIMP 2.6.10
Exif.Image.DateTime Ascii 20 1980:01:01 00:00:00

OK, sekarang kita dapat melakukan analisa untuk mengetahui mana file yang asli atau tidaknya dari metadata file image yang ada, dan juga kita dapat merubah isi dari metadata file image tadi. Untuk mengetahui perintah lebih lanjut dan detail mengenai idetify dan exiv2, silahkan baca manual nya di linux anda dengan command :

$ man identify
$ man exiv2


Semoga pembahasan saya ini bermanfaat untuk rekan semua.

Dony Ramansyah
site : http://dony-ramansyah.bravehost.com
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171

Selasa, 19 April 2011

Management Database Client di Ubuntu dengan TOra




Bagi yang berkecimpung di bidang IT, khususnya yang berperan sebagai database enginer seharusnya tidak ragu lagi menggunakan OS Linux untuk melakukan pekerjaan sehari-harinya. Karena sudah ada aplikasi yang cukup handal untuk melakukan management database dari linux, yaitu "TOra"

Aplikasi Tora ini tersedia gratis di linux, mungkin bisa dibilang sebagai aplikasi pengganti TOAD yang berjalan di OS Windows. Aplikasi Tora ini mendukung multi platform OS dimana bisa install di Linux, Windows, maupun di MacOS. Tora ini juga mendukung database MySQL, Postgresql, dan Oracle.

Untuk mendownload aplikasi ini silahkan kunjungi situsnya : http://torasql.com/Download

Untuk pengguna ubuntu, tinggal install saja dari synaptic. Atau kalau mau dari console, ikuti langkah berikut :

$ sudo apt-get build-dep tora

dan install file library untuk koneksi ke database mysql yang sudah ada adalah :

$ sudo apt-get install libqt4-sql-mysql


Kebetulan saya disini hanya melakukan koneksi ke database mysql di localhost saja. Dengan asumsi bahwa untuk melakukan koneksi ke database, pastinya harus anda sudah menginstall databasenya dan sudah mempunyai database beserta tabel untuk dicoba.



Nama database yang saya gunakan disini adalah testdb dengan tabelnya :



Di kolom perintah tersebut anda tinggal menggunakan perintah-perintah database yang ada dan melakukan manipulasi database sesuai keinginan anda.


Dony Ramansyah
site : http://dony-ramansyah.bravehost.com
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171