Posted by: sotoyisland | August 26, 2007

PINDAH!!!

Blog ini telah pindah ke:

 http://sotoyisland.blogspot.com/

Posted by: sotoyisland | August 25, 2007

Belajar Bareng C++ Yuuk!! (II)

“Fifty years of programming language research, and we end up with C++?”

Richard A. O’Keefe

Bahasa C++ emang ribet!! Pusing sendiri gw ngebaca bukunya… Tapi gpp deh, semua yang gw tau gw tuangin disini.. Dengan begitu gw rasa gw bisa makin gampang ngingetnya ahahaha :)

Cara Meng-Compile
pertama2 elo masuk ke Dev-CPP, abis itu pencet file >> new >> source file. abis itu lo tulis code dibawah, setelah selesai elo pijit execute >> compile.. tunggu sebentar, abis itu kalo udah pencet execute >> run… dan selamat! program hello world pertama lo telah berjalan!

#include // membuat program untuk menampilkan data output ke layar monitor
int main()
// fungsi awal memulai eksekusi program
{
std::cout<< “Selamat Pagi DUNIA!!\n”; //tampilin pesen
system(“pause”); // command dos pause
return 0; // menampilkan bahwa program telah sukses dieksekusi
}

Gyahhaahah selamat DUDE! Lo tinggal meng-compile source code tersebut agar menjadi sebuah program “Hello World” sederhana…

Berikut adalah hasil yang akan dihasilkan:

sederhana banget yah?? tapi itu adalah basic awal yang lo (gw jg) mesti ngerti bener.

***Berikut adalah penjelasan source diatas :D

setiap baris yang diberi tanda dua garis miring (//), adalah komen (comment). Programmer memasukkan comment dalam program untuk membantu orang lain dalam memahami program tersebut. Kata2 yang ada didalam comment bakalan di abaikan oleh compiler. Comment yang dimulai dengan (//) disebut dengan komen-satu-baris (single-line comment) karena comment itu berakhir di akhir baris. Sedangkan comment dengan menggunakan lebih dari satu line menggunakan tanda /* dan berakhir dengan */.

#include

Disebut Preprocessor directive, yang merupakan sebuah pesan ke prosesor C++. Baris yang dimulai dengan # diproses dolo sama prepocessor sebelum di compile. Line ini ngasih tau preprocessor untuk mengikut sertakan ke dalam program input/output stream header file (keluar-masuk) atau . File ini harus di ikut sertakan dalam setiap program agar bisa melakukan input/output..

int main()
Ini adalah bagian di setiap program C++. Baris setelah main nunjukin itu adalah baris dari program yang disebut fungsi (function). program C++ biasanya terdiri dari satu atau lebih fungsi dan kelas (classes, nanti bakalan kita pelajari lebih lanjut, gw juga blom blajar :p). Satu fungsi dalam setiap program harus merupakan main. Yang hanya mengandung satu fungsi. C++ program mulai meng-eksekusi dari fungsi main, bahkan jika main bukan fungsi pertama dalam program. Sedangkan kata int di samping kiri main menunjukkan kalo main “kembali” ke nilai integer (angka). sebuah kata dalam kode adalah disediakan oleh C++ untuk penggunaan yang spesifik. nanti gw bakal jelasin artinya dari sebuah fungsi ke “kembali ke sebuah nilai” tapi itu entar :D … dan mungkin nanti kita bakalan mendalami hal ini lebih lanjut. untuk sekarang, kita ikut sertakan aja kata int disebelah kiri dari main disetiap program kita.

Tanda kurung kiri ({), harus dimulai di badan (body) dari setiap fungsi. Sedangkan kurung kiri (}), harus ada disetiap akhir badan fungsi.

std::cout<< “Selamat Pagi DUNIA!!\n”;
Ini menyuruh komputer untuk melakukan sebuah aksi yang disebutkan, untuk nge-print string dari karakter huruf yang terdapat diantara dua tanda kutip. Sebuah string kadang2 disebut karakter string (character string), pesan (message) ato sebuah string literal. Tapi sebenernya string sendiri itu apa sih?? string itu adalah seperti yang tadi udah disebut, adalah kata2 di tengah2 tanda kutip. Sedangkan karakter spasi dalam string akan diabaikan oleh compiler.

seluruh baris ini, termasuk std::cout, dan operator (<<), juga string “Selamat Pagi DUNIA!!\n” dan semicolon (;) (gw ga tau bahasa indonya semicolon :D ), disebut juga pernyataan (statement). Dalam setiap statement program C++ harus diakhiri dengan semicolon (juga biasa disebut dengan Statement Terminator). Preprocessor Directive (kayak #include) ga diakhiri dengan semocolon. Output dan Input dalam C++ sukses dengan karakter stream. dan ketika di eksekusi akan mengirimkan karakter Selamat Pagi DUNIA!!(\n) ke Standard Output Stream Object (std::cout) yang secara normal tersambung ke monitor. kita akan mendiskusikan std::cout nanti (bahasannya beda lagi, dan gw jg blom blajar :D ) yaitu Stream Input/Output.

Sadar ga kalo gw naro std::cout sebelom cout? Ini dibutuhkan ketika kita gunain nama (name) yang kita bawa ke program oleh preprocessor directive #include . Notasi std::cout menunjukan kita menggunakan sebuah nama, dalam hal ini adalah cout yang termasuk “namespace” std. nama cin (standard input stream) dan cerr (standard error stream) juga termasuk namespace std (akan kita bahas nanti). namespaces adalah fiture advanced dalam C++ (otak gw lom nyampe bwkaakakak :) ) ). untuk sekarang seh, kita harus ingat untuk memasukkan std:: sebelum cout, cin, dan cerr dalam sebuah program.

Disini bagian yang agak sulit (susah ngerangkai kata2nya :D )tanda operator (<<) disebut Stream Insertion Operator. Ketika program di eksekusi, nilai (value) yang disebelah kiri operator, dan yang kanan (operand), dimasukkan kedalam output stream. Perhatiin arah operator dimana data pergi. Karakter di sebelah kanan operand di tunjukkan persis seperti apa yang ditampilkan di dalam tanda kutip. Tapi karakter \n gak di tampilin di layar monitor. garis miring (\) (blackslash) disebut juga escape character, yang artinya garis baru (newline). hal ini menyebabkan cursor (current screen-possition indicator) untuk bergerak ke awal baris selanjutsnya di atas monitor (kalo mo lebih gampang, sebut aja garis baru, emang bahasa komputer suka bertele2 =)) ). beberapa rangkaian escape character bisa dilihat dibawah.. :)

\n = garis baru, memposisikan kursor ke awal baris. (kayak lo pencet enter aje.)

\t = Horizontal tab.. fungsinya sama kayak elo pencet tab

\r = Carriage Return. bikin layar kursok kembali ke awal (ke apus semua, kecuali diluar escape sequence ini)

\a = Alert. bikin bunyi alarm (cocok buat iseng :) ) )

\\ = Blackslash. untuk menghasilkan blackslash (\)

\’ = Single Quote. untuk menghasilkan tanda kutip ()

\” = Double Quote. Untuk menghasilkan tanda kutip dua ()

system(“pause”);
Ini gak laen adalah untuk ngasih perintah pause (berhenti) dalam dos, nanti gw bikinin deh tutornya soal batch file. Untuk sementara gini dolo yeee :D . Ato kalo mau mengerti lebih lanjut, lo coba aja ilangin baris ini, nanti hasilnya akan membuat lo lebih ngerti.

Phew.. capek juga.. sekarang kita sampe ke baris terakhir program kita…
return 0;
Ini digunakan untuk keluar dari sebuah fungsi (exit a function). Ketika statement return digunakan di akhir main, seperti yang ditunjukkan diatas, value 0 menunjukkan kalo program telah berhasil di matikan. Mungkin nanti kita akan mendiskusikan fungsi lebih detail. Untuk sekarang, taro aja statement ini disetiap program (di akhir fungsi), ato compiler akan menghasilkan sejumlah peringatan ke system sebagai. sedangkan kurung kurawal sebelah kanan (}) menunjukkan akhir dari fungsi main…..

bersambung…

source:
C++ How to Program, Fifth Edition By H. M. Deitel – Deitel & Associates, Inc., P. J. Deitel – Deitel & Associates, Inc.

Posted by: sotoyisland | August 25, 2007

Belajar Bareng C++ Yuuk!!

“The evolution of languages: FORTRAN is a non-typed language. C is a weakly typed language. Ada is a strongly typed language. C++ is a strongly hyped language.”

Ron Sercely

Beberapa minggu yang lalu, gw memutuskan untuk belajar bahasa pemrograman C++! Emang sih kayaknya susah, tapi keknya menantang gitu deeh… Gw nulis tutorial gini, bukan berarti gw lebih jago. Justru gw bikin tutorial supaya gw lebih mudah ngingetnya! Karena gw kalo belajar lebih gampang + lebih lama inget kalo ditulis :)

Tentang C++

C++ (cara menyebut: “see plus plus”) atau adalah salah satu bahasa pemrograman yang memiliki kapasitas pemrograman tingkat tinggi (High-level programming language) dan tingkat rendah (Low-level programming language). Oleh karena itu, C++ digolongkan kedalam bahasa pemrograman tingkat menengah (mid-level language).

Sejarah C++

Kalo lo merasa gak suka dengan sejarah, mending bagian ini di lewatin aja deh. Tapi inget, jarang lho orang yang jago dalam suatu bidang tanpa mengetahui sejarah disiplin ilmu yang dianut . Langsung aja yah, C++ merupakan bahasa pemrograman hasil dari pengembangan dari bahasa pendahulunya yaitu bahasa C. Bjarne Stroustrup, pencipta bahasa C++, mulai mengerjakan bahasa C dengan Kelas (C with Classes) pada tahun 1979. Ide awalnya ditemukan ketika mengerjakan thesis kuliah Ph.D-nya. Stroustrup menemukan kalo bahasa Simula memiliki feature yang amat membantu dalam pengembangan software dalam sekala yang besar, tapi gwngnya bahasa tersebut terlalu lambat untuk penggunaan praktik. Sedangkan BCPL (Basic Combined Programming Language), cukup cepat. Namun terlalu lambat untuk pengembangan software dalam skala yang besar. Bahasa BCPL sendiri merupakan (kalo menurut gw lho ) “nenek moyang” dari bahasa C++ karena merupakan pendahulu dari bahasa C.

Untuk sementara kita kembali dahulu ke tahun 1969, dimana labolatorium Bell AT&T di Muray Hill, New Jersey mengembangkan sistem operasi UNIX menggunakan bahasa assembly. Operasi ini diharapkan dapat bersifat “programmer-friendly”. Setelah UNIX berjalan, Ken Thompson, seorang pengembang di labolatorium tersebut, pada tahun 1970 mengembangkan bahasa baru yaitu BCPL (yang sudah disebutkan diatas). Bahasa BCPL atau bahasa B ini memilki beberapa kelemahan yaitu amat terbatas dan lambat sehingga kurang cocok untuk pengembangan sistem operasi.

Itulah kenapa pada tahun 1971, Denis Ritchie seorang pengembang dari labolatorium yang sama mulai mengembangkan bahasa baru yang akhirnya disebut bahasa C.

Dan pada tahun 1973, Denis Ritchie, telah mengembangkan dasar-dasar dari bahasa C. Hingga pada tahun 1979 Bjarne Stroustrup, dari labolatorium yang sama mulai mengembangkan bahasa C++ karena alasan yang sudah disebutkan diatas.

Menginstall Compiler

Mungkin Sebagian dari kalian akan nanya, Compiler itu apa sih? Sekali lagi nyontek definisi dari wikipedia (nyontek mulu kapan pinternya donk? ). Kompiler adalah:
“Sebuah Compiler adalah sebuah program komputer (atau kumpulan program) yang menerjemahkan text yang tertulis pada sebuah bahasa pemograman (source code) ke bahasa pemograman lainnya.”

Yah, kalo menurut definisi gw sih compiler itu program yang membuat bahasa baris-baris kode yang udah kita tulis menjadi file executable (ga mesti file EXE sih). Daripada lama-lama kita langsung aja install yuuuk!! Oh iya, kita akan menggunakan compiler Dev-CPP, soalnya GRATIS (sapa coba yang ga suka gratisan???)

1. Pertama2 kita download dolo neh compiler (yang terbaru klo ver 5 beta) DISINI.

2. Setelah di download, akan ada icon seperti INI.

3. Nanti setelah dipencet, akan ada tulisan kurang lebih kayak GINI. Kalo lo ngerasa belum pernah nginstall compiler ini, santai aja, itu cuma peringatan bagi yang udah install doang kok. Terus kalo ada pilihan bahasa, pilih bahasa “english” abis itu ok.

4. Nanti bakalan keluar Licence Agreement, lo baca dulu tuh (kalo gw sih males) kalo setuju, pilih “I agree”.

5. Nah di Choose Components lo pilih ke typical, tapi kalo mau lebih lengkap pilih aja yang full. Kalo udah pencet “Next”.

6. Abis itu lo pilih, di directory mana lo mau install Dev-CPP ini. Kalau sudah pencet “Install”.

7. Tungguin deh tuh lagi install

8. Kalo udah selesai, pencet “Finish”.

9. Abis itu lo pilih mau setingan mana, terus pencet “Next”.

10. ntar kalo ada pertanyaan soal feature, pilih ajah “Yes, i want to use this feature” abis itu pijit next. sama kalo ada pertanyaan soal cache, pilih yes juga, abis itu next.

11. SELAMAT!! lo berhasil menginstall Dev-CPP, hehehe…

Bersambung…

Posted by: sotoyisland | August 25, 2007

Caesar/Viginere – tktq.net lvl 20

“You don’t have to distrust the government to want to use cryptography.”

Phil Zimmermann

Pertama kali gw tau sama yang namanya cryptography, itu pas gw mainin game di tktq.net. Waktu itu ada level yang ngebutuhin pemecahan Vigenere Cipher! Waaaahhh langsung aja deh..

Caesar Cipher mungkin salah satu teknik enkripsi yang paling mudah dan dikenal. Gw sendiri dulu waktu kecil pernah iseng-iseng mikir soal pesan rahasia yang tekniknya sama persis kayak Caesar Cipher ini. Ahahaha… Dulu waktu Julius Caesar ingin memeberikan pesan rahasia, ia selalu mengganti huruf A dengan huruf D begitu seterusnya :) . Tapi sebenernya kek gima seh Caesar Cipher itu?

Prinsip Caesar Cipher itu sangat sederhana yang perlu lo lakuin cuma sekedar mengganti alphabet awal yang ada. Misal lo ada kata “tetanggasebelah”. Dan lo mau enkripsi dengan Caesar Cipher, maka yang pertama kali perlu lo lakuin adalah nentuin “perpindahan huruf”. Sebagai contoh, perpindahan huruf yang lo pilih adalah 4 maka akan menjadi seperti ini

Perpindahan huruf = 4

Abjad = A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Setelah terjadi perpindahan huruf 4

Abjad = E F G H I J K L M N O P Q R S T U V W X Y Z A B C D

Nah kalo udah gitu seterusnya kita ganti tuh pesan rahasia kita yang “anakilang” menurut abjad yang telah melakukan perpindahan.

a = e | n = r | a = e | k = o | i = m | l = p | a = e | n = r | g = k

Lo bisa liat kalo pesan rahasia dari “anakilang” adalah “ereomperk”. Hmm cukup menarik menurut gw, mengingat orang biasa yang ngebaca pasti akan mikir kalo kata itu ga berarti apa-apa :) . Gampang kan?? Sekarang bagaimana kita memecahkan kode Caesar Cipher??

Misalkan ada sebuah pesan seperti ini

exxego ex srgi

Gimana cara kita memecahkannya?? Dan kita ga tau perpindahan hurufnya berapa T_T. Cara satu-satunya adalah dengan mencoba setiap kemungkinan pada salah satu kata, dan kalo kata tersebut membentuk sebuah kata yang dapat dimengerti, maka kita akan menggunakan kombinasi tersebut :) .

Perpindahan Huruf 	Kata
	1 		dwwdfn
	2 		cvvcem
	3 		buubdl
	4 		attack
	5 		zsszbj
	6 		yrryai

Disana lo bisa liat, kalo ternyata perpindahan hurufnya adalah 4! Kalo udah gini sisanya tinggal lo cocokin aja dengan abjad perpindahan hurufnya 4 juga! Dan hasilnya akan membentuk kalimat:

exxego ex srgi = attack at once

Hahaha.. kinda interesting is’nt it?? :)

“One naturally wonders if the problem of translation could conceivably be treated as a problem in cryptography. When I look at an article in Russian, I say: ‘This is really written in English, but it has been coded in some strange symbols. I will now proceed to decode.”

Warren Weaver

Sebenernya, Caesar Cipher tadi cuma sekedar “introduction“. Sekarang kita bakalan lebih jauh lagi ke Cryptography, yaitu memasuki sebuah teknik Cryptography bernama Viginere Cipher. Teknik ini diciptakan oleh Blaise de Vigenère. Sejarahnya agak panjang, jadinya liat sendiri aja di wikipedia deh xD.

 

 

Tabel diatas bernama “Tabula Recta” yang akan kita gunain dalam Viginere Cipher ini. Oke, kita langsung ke prakteknya ada deeh :D … Pertama-tama yang lo butuhin adalah sebuah “kata kunci” dan pastinya sebuah “pesan rahasia”. Anggep aja kita mau bikin pesan rahasia yaitu “aku cinta kamu” (ceilah), dengan kata kunci “love”. Sekarang, bagaimana kita meng-enkripsi-nya? Yang pertama kita lakukan adalah mencocokkan kata kunci dengan kalimat kita :) .

 

aku cinta kamu

lov elove love

Kita sebut aja barisan yang kiri itu Row dan yang atas itu Collum. Caranya gini, huruf pada “A” pada kata “AKU” kita enkripsikan di Row “L” maka huruf “A” akan menjadi “L”, selanjutnya huruf “K” kita enkripsikan di kolom “O” maka huruf K akan menjadi “Y”. Maka setelah di enkripsi, pesan rahasia akan berubah menjadi:

AKU CINTA KAMU = LYP GTBOE VOHY

Hehehe.. Gampang khan?? Cara mudah untuk memecahkan kode Viginere adalah dengan mengetahui kata kunci-nya. Sedangkan cara susahnya gw belom tau :p

Posted by: sotoyisland | August 22, 2007

Agustus 22, 2007 – Kesatria Moderen!

“Honor among thieves is the ancestor of all honor”

John McCarthy

 

Agustus 22, 2007

Hahaha.. Mulai saat ini gw memutuskan untuk menulis diary keseharian gw di blog ini, semoga aja beberapa orang bisa mengambil manfaat dari pengalaman yang gw dapet dalam kehidupan gw.

Hari ini dimulai dengan kesialan gw yang niatnya sih pengen belajar jam 3 pagi, alarm hape udah gw set sesuai dengan jam tersebut, sebelom tidur gw juga dah niatin untuk bangun jam segitu. Mungkin karena otak gw udah ter-program dan udah ada persiapan (nge-set alarm) maka beneran deh gw bangun jam 3 pagi. Abis bangun gw langsung megang hape gw, dan mungkin karena gw dalam kondisi baru bangun tidur yang loyo eh hape gw JATOOH dan berantakan gitu casingnya (ga rusak sih). Dan dengan santainya gw tidur-tiduran, dalem hati gw pikir “tiduran dulu deh nanti gw benerin lagi tuh hape”. Yang mengakibatkan kesialan berupa GW BENER-BENER KETIDURAN!! KACOOO!! Padahal niatnya sih gw mau belajar buat ulangan nanti Fisika sama Kewarganegaraan T_T.

Abis ketiduran gw bangun lagi jam lima lewat lima (kata mbak/pembantu gw), yo wess deh gw bangun trus langsung ke kamar mandi. Gw punya kebiasaan jelek di kamar mandi which is abis nongkrong di WC sambil nungguin bak penuh, gw ga langsung basahin diri! Gw cenderung untuk bengong dan nyiram badan gw sedikit demi sedikit, baru deh lama-lama semuanya. Dan seinget gw tadi kata mbak gw, itu jam lima lewat lima. Makanya gw santai aja, wong biasanya gw itu mandi jam lima lewat lima belas.

Setelah mandi terus pakek seragam sekolah, gw ngeliat jam, dan ternyataaa…. Jam 05.35!! Kacoo!! Gw dah itung-itung kalo paling telat gw itu berangkat jam 05.50 (itupun ngepas banget)! Jadi gw cuma punya waktu 10 menit untuk siap-siap buku, pakek sepatu, sarapan, nyari kartu LIA sama nyari uang receh buat ongkos!

Alhasil gw berangkat jam 05.55.. T_T.. Gw telp ojek, terus langsung naik angkot D01 terdekat. Disini gw juga punya kebiasaan aneh yang merugikan diri gw sendiri!! Yaitu gw bukannya belajar di angkot tapi malah ngelamun!! Buseeett.. Kebuang deh waktu gw 1 jam yang mestinya bisa buat belajar :( . Sampe disekolah gw telat 5 MENIT dengan suksesnya… Huhuuu.. Padahal cuma 5 menit, tapi tetep aja gw nama gw mesti dicatet (rules are rules anyway) :( .
Di kelas gw sadar kalo gw belom ngerjain PR (Pekerjaan Rumah) LKS (Lembar Kerja Siswa) Geografi! Huhuuu…. Kasian banget deh gw, jadilah gw ngerjain PR LKS Geografi dikelas waktu pelajaran TIK (Teknologi Informasi dan Komunikasi). Untungnya guru TIK lagi entah kemana dan LKS TIK gw dah selesai :D . Langsung aja gw nyontek LKS Geografi punya temen gw.. XD

Seterusnya cuma belajar kek biasa, sambil sedikit-sedikit gw belajar pelajaran yang buat ulangan nanti. Dan akhirnyaa… Tibalah pelajaran Kewarganegaraan.. Cuma 5 no sih, cuma jawabannya panjang XD. Gw yakin gw pasti remedial T_T. Temen sebelah gw, dia ga belajar sama sekali tapi karena hasil nyontek gw dan temen sekelas gw, gw rasa dia akan dapet nilai lebih dari gw T_T. Gw sendiri enggak nyontek siapa-siapa, karena gw mencoba memegang prinsip KESATRIA kalo nyontek pas ujian gak baik karena hasilnya ga murni padahal ujian digunakan untuk menguji kita.

Waktu bagian ulangan Fisika, kan satu kelas dibagi tuh 20 orang-20 orang. Lagi-lagi gw sial, temen sebangku gw sekelas sama anak pinter dan dia gw rasa dapet 100 hasil nyonteek!! Huhuuu.. Sedangkan gw bisa menyelesaikan soal dengan baik, tapi ga yakin dapet 100.

Hari ini gw sadar, kalo sekarang itu jaman moderen! Kesatria moderen itu menurut pendapat gw, harus menggunakan berusaha semaksimal mungkin dengan cara baik TETAPI bila sudah terdesak dan tidak mungkin mencapai hasil yang maksimal lagi, maka penggunaan cara yang kurang baik itu diperbolehkan!”

Bukannya apa-apa sih, tapi coba deh bayangin. Apa mungkin otak gw sendiri berhasil mendapatkan nilai lebih bagus ngelawan otak sekelas?? Kek tadi ulangan Geografi yang hampir satu kelas nyontek!! Grrr… Padahal mulai sekarang, menjadi yang terbaik bagi gw merupakan suatu keharusan!

Pulang sekolah sisanya biasa-biasa aja, paling tadi gw ngambil temporary class (semacam kelas pengganti absen). Padahal gw males bangeet dan pengen gw tunda besok aja tuh, soalnya di warnet tongkrongan gw ada temen-temen gw waktu SMP. Itung-itung reunian gitu :D . Yang spesial gw ketemu sama temen gw, namanya NORMAN dia les bahasa inggris di LIA setiap senin-rabu naik motor!! Yihaaa! Jadinya gw pulang kerumah dianterin naik motor deh sama dia, soalnya gw sekomplek n kalo gw jadi pindah hari les, gw bisa bareng dia deeeh… ahahahah :D

Lesson Learned:

  • Persiapin segala sesuatu untuk besok agar dapat menghemat waktu kalau-kalau terjadi hal yang tidak diinginkan.
  • Jangan pernah menunda-nunda waktu, atau nanti bisa berakhir hal-hal yang kurang baik. Seperti kejadian belajar jam 3 pagi tadi.
  • Jangan pernah melewatkan kesempatan, seperti yang terjadi waktu diangkot tadi, padahal semestinya waktu di angkot bisa buat belajar.
  • Berusaha semaksimal mungkin jika tujuan yang kamu ingin capai itu baik (memiliki nilai yang terbaik dikelas) TETAPI jika tujuan itu tidak mungkin tercapai secara rasional, maka gunakan cara yang kurang baik! Pengecualian ini harus digunakan disaat yang benar-benar terdesak. Ini adalah sikap KESATRIA MODEREN menurut gw XD
  • Belajar dari pengalaman, seperti ga nunda-nunda untuk ngambil temporary class, karena bisa aja kedepan hal yang tidak diinginkan akan terjadi. Who knows??
Posted by: sotoyisland | August 13, 2007

Sedikit Mengenai Steganography

 

“The image of the sun where it falls appears as a thing which covers the person who attempts to cover it.”

Leonardo da Vinci

 

Iseng-iseng browsing nemu soal Steganography, dan agak2 tertarik jadi langsung aja posting disini mumpung lagi ga males :-D .

 

Steganography secara umum adalah sebuah seni atau sains dalam menulis pesan rahasia, sehingga hanya penerima tertentu aja yang bisa liat. Mirip-mirip kayak Cryptography, cuma bedanya, kalo Cryptography itu lebih ke menyembunyikan pesan sedangkan Steganography menyamarkan pesan. Cryptography menyembunyikan pesan dan terlihat objeknya, jadi seseorang akan mencoba untuk memecahkan pesan tersebut. Kalo Steganography pesannya sudah terpampang di depan kita, cuma bagi orang-orang yang belum/kurang terlatih dalam memperhatikannya, maka mereka akan mengganggap itu cuma sebuah objek tidak lebih.

Steganography berasal dari bahasa Yunani yang berarti “terselubung, atau tulisan tersembunyi”. Awal mulanya bisa kita lihat pada tahun 440 SM, Herodotus menyebutkan dua contoh mengenai Steganography dalam The Histories of Herodotus. Salah satunya mengenai Demeratus yang mengirim pesan peringatan serangan yang akan datang ke Yunani dengan cara menulisnya di sebatang kayu dan menutupinya dengan lilin. Contoh lain adalah tentang Histiaeus, dia mencukur salah satu budak kepercayaannya dan mentato kepalanya. Setelah rambutnya tumbuh, pesannya pun tersembunyi.

Setelah baca, gw jadi lumayan tertarik, dan langsung pengen coba Steganography pakek sebuah software namanya SNOW. Abis download gw langsung coba aja deh nyembunyiin pesen rahasia di dokumen word :-D . Baca-baca bentar manual-nya, gw dikit2 ngarti laah… Langsung aja kita coba yee!! (gw nyobanya pakek windows XP)

Pertama-tama kita membutuhkan sebuah dokumen microsoft word, kalo gw sih pakek manual-nya yaitu SNOW.doc yang langsung dapet setelah men-extract program SNOW yang udah di download. Berikut adalah preview dokumen word yang belum dimasuki pesan rahasia..

 

Tampilan dokumen sebelum disisipi pesan

Untuk mengetahui berapa banyak dokumen tersebut dapat menyimpan pesan rahasia, maka kita dapat melakukan command sebagai berikut:

 

snow -S [infile]

 

Atau contoh implementasinya sebagai berikut:

 

C:\snow.exe -S C:\snow.doc

 

Mengetahui storage

Disana kita bisa melihat bahwa dokumen tersebut dapat menyimpan kapasitas sekitar 235 bytes. Gw sendiri terus terang kagak tau satu huruf itu berapa byte. Gw menerka-nerka (ceilah) kalo program ini hanya dapat menyimpan file sesuai kapasitas tersebut, dan setiap huruf memakan size dari kapasitas dokumen tersebut. [sotoy mode ON]

Terus saatnya kita coba masukin pesan rahasia ke dokumen tersebut dengan command

snow -C [-p passwd] [-m message] [infile [outfile]]

Contoh:

C:\snow.exe -C -m “http://sotoyisland.wordpress.com” -p “123″ C:\snow.doc C:\hasil.doc

Nah, kita telah memasukkan pesan rahasia “http://sotoyisland.wordpress.com” dengan password “123″ pada dokumen “hasil.doc” dengan file asal “snow.doc”.

Command “-C” berguna untuk memasukkan atau mengeluarkan pesan rahasia dari dalam pesan, sedangkan command “-m” adalah pesan yang akan dimasukkan, dan “-p” adalah password yang kita set untuk membuka pesan rahasia tersebut. Sekarang kita akan mencoba untuk membaca file tersebut dengan cara:

snow -C [-p passwd] [outfile]

Contoh:

C:\snow.exe -C -p “123″ C:\hasil.doc

Nah.. Disitu dapat terlihat kalo pesan rahasia yang ada dalam dokumen “hasil.doc” adalah “http://sotoyisland.wordpress.com”. Dokumen “hasil.doc” juga terlihat sama persis seperti dokumen “snow.doc”, seperti yang terlihat pada gambar berikut:

Steganography setau gw ga hanya bisa di implementasikan di dokumen, namun di gambar, audio atau di file-file lainnya..

Waah.. Capek juga nulis soal Steganography. bagi yang lain, kalo mau tau lebih lanjut soal Steganography, dapat melihatnya lebih lanjut di refrensi postingan ini, yaitu di:

http://milw0rm.com/papers/15

http://en.wikipedia.org/wiki/Steganography

Posted by: sotoyisland | August 11, 2007

NGIKUT LOMBAAA.. – 1st Post

“Its start with..”

Linkin Park – In The End

 

Hahaha.. Kemaren ga sengaja nemu kalo ada lomba bloging di http://www.ikom.web.id/. Sekali kali ngikut lomba kek gini ndak dosa toh?? Pesertanya juga ga terlalu banyak, jadinya masih ada kesempatan buat menang, even untuk pemula kek gw :D . Pokoknya abis pulang dari semarang ke jkt, gw mau “maksa” temen2 gw buat sms-in gw aaah.. Kan kalo gw menang, hadiahnya buat nraktir mereka2 juga.. bwakakakaka…

 

Pertama kali sih sebenernya gw pengen bikin blognya pakek auraCMS ato enggak wordpress tapi di hostingan gratisan. Cuma berhubung pas konek ke hostingan bytehost (hostingan andalan gw), eh pasti selalu gagal!! Dan sialnya pas gw udah register ke website wordpress ini, bytehostnya bener lagi!!! Nah lhoo?? Yah apa mau dikata, udah keburu register pakek blog yang ini T_T

 

“Tak kenal, Maka tak sayang”

sebuah pepatah lama

 

Siapa sih gw itu?? Kalo di nama peserta gw itu Bimo Bramantyo, seorang manusia yang memiliki tubuh berumur 15 tahun (ceilah bahasa gw mantep amat yak). Lahir pada tahun 4 Juni 1992 di Medan, yang gw sendiri udah lupa kek gimana medan itu. Sekarang sekolah di sebuah SMUN di tanah kusir, dan masih menyesal dengan NEM yang cuma 26.73 sehingga ga bisa masuk di SMUN 34 huhuuu… Gw itu orangnya paling suka main internet dan kadang2 gw suka mimpi/ngayal yang aneh2. Di rumah disebut sebagai makhluk Omnivora (pemakan segala), padahal gw ga serakus itu lhoo dibandingin temen2 gw yang seumuran T_T. Paling seneng ngemeng/ngebacot bareng temen-temen apalagi kalo udah debat, waah apa aja didebatin! Biasanya kalo debat sama 2 temen gw, Bheler sama Ade di warnet bernama Yasakuru (sekarang tamita net). Sekarang karena udah pada beda sekolah, jadi rada kangen juga sih sama anak2 lain yang suka nongkrong di warnet yasakuru tercinta.. Kangen sama temen2 SMP, ade, adi, hamdi, bheler, devil, eja, iir, haris, bahkan gw kangen sama aldi! Huhuu.. kadang abis pulang skulah masih pada suka ngumpul sih. Yah segitu dolo deh biodatanya, laen kali gw kasih tau lebih lanjuut deeh.. :D

 

What’s in a name? That which we call a rose by any other name would smell as sweet”

William Shakespeare – Romeo and Juliet

 

Mungkin ada yang mikir, nama blog-nya kok jelek banget sih? Bagi yang enggak tau “sotoy” itu apa, sotoy berarti “sok tau”, Gw sendiri kagak tau “sotoy” itu siapa yang pertama kali nyiptain. Yang jelas bahasa ini pernah populer (mungkin sekarang masih populer :D ) dikalangan anak2 ABG (termasuk gw :D ). Bukannya apa-apa yah, tapi gw tuh kadang suka “sotoy” gitu deeh.. Dan berhubung topik lomba disini adalah “sharing knowledge” sedangkan “knowledge” gw kagak pinter-pinter amat, diharapkan dengan judul blog ini, kalo nanti gw mulai men-share “knowledge” gw yang kagak seberapa, dan ada yang berpendapat “buseet nie orang sotoy neeh, yang bener kan blablablabla…”. Gw ga akan ambil pusing lagi, wong udah diperingatkan kok xD xD ahuahahaha.

 

Yo wess dah, segini dolo.. Nanti kalo ada ide baru, posting disini deeh..

 

*mau “maksa” temen kirim sms dolo.. ahahaha..

Categories

Follow

Get every new post delivered to your Inbox.