Biar Nggak Diblok Antivirus…

Sekitar 2 minggu yang lalu gw ngutak atik source code keylogger yang gw dapet dari blog ini. Source code ini ditulis pake bahasa pemrograman C++, yang gw compile pake compiler g++ di IDE Dev C++ versi 4.9.9.2 beta. Hasilnya? Keylogger yang baru selesai dicompile itu nggak bisa dirun karena waktu selesai dicompile & dirun udah langsung diblok sama antivirus yang gw pake.

Setelah sempet zetsubou karena gw nggak bisa nyobain gimana kerja keyloggernya langsung, akhirnya gw ngelanjutin ke ngebaca-baca isi source codenya. Buat yang mungkin nggak pernah denger kata ‘zetsubou’, ini dari bahasa Jepang yang artinya putus asa atau hilang harapan (Jap. 絶望, Eng. despair). Gw seneng pake kata ini sejak nonton anime Sayonara, Zetsubou Sensei, gara-gara kepengaruh sama karakter utamanya yang sering ngomog “zetsuboushita” kalo lagi depresi. Oke, lupain itu. Ini source code yang gw copas dari blog itu tadi setelah gw rapiin sedikit indentasinya.

Continue reading

C++ – String vs Array of Char

Kemarin ini gw ngebantuin temen yang dapet tugas buat bikin program buat manipulasi string pake bahasa pemrograman C++. Programnya diminta buat bisa nerima input berupa first name, middle name, & last name. Contohnya kalo programnya dikasih input begini.

Alan Turing

Programnya bakal ngasih output kayak begini.

Turing, Alan

Atau kalo kita masukin nama yang pake tiga kata (termasuk middle name).

Linus Benedict Torvalds

Programnya bakal ngeluarin output begini.

Torvalds, Linus B.

Tapi di sini gw nggak bakal ngebahas cara bikin program ini sih, gw lebih kepikiran ke pemakaian class string di C++ vs pemakaian array of char buat nyimpen data berupa string.

Continue reading

OpenGL: Nampilin Gambar

Belakangan ini gw lagi doyan ngutak atik OpenGL. Buat ngodingnya sih gw pake IDE Nokia Qt Creator, IDE tercinta gw setelah Dev-C++ buat ngoding pake C++. Qt Creator ini bisa dibilang satu-satunya IDE yang beneran gw pake buat bikin aplikasi yang rada serius pake C++, berhubung Dev-C++ itu rada-rada jadul & nggak banyak ngasih bantuan ke programmernya. Malahan gw pernah liat di forum programmer luar negeri ada programmer yang ngamuk-ngamuk nyuruh orang lain semuanya berenti pake Dev-C++ saking bencinya dia sama ini IDE. Oke, sekarang gw gak lagi ngebahas IDE lah ya. Lagian yang gw pake Qt Creator, bukan Dev-C++.

Sebenernya sih gw mau bikin model 3D world, tapi gw ada sedikit masalah dengan class QGLWidget di Qt. Camera view yang dikeluarin sama widget OpenGL gw bentuknya selalu bujur sangkar nggak peduli berapa panjang & lebar (plus kedalaman) view kamera yang gw set waktu pertama bikin widgetnya. Jadilah gambar Led Zeppelin ini bentuknya bujur sangkar pas ditampilin. Padahal aslinya ini gambar lumayan lebar & bidang yang gw pake buat ngegambarnya juga lebar.

Continue reading

Nulis Source Code di Postingan WordPress

Gw baru tau kalo WordPress nyediain fitur buat nulis source code di postingan blog pake tag [sourcecode].

[sourcecode]kode program[/sourcecode]

Ya, selama ini sih gw kalo nulis source code pake tag <blockquote> buat nandain tempat gw nulis source codenya & tag <code> buat ngeset biar font dari kodenya beda dengan bagian yang lain waktu ditampilin di browser. Hasil cara barbar yang biasa itu kayak begini, & nggak begitu enak buat dibaca kalo programnya agak panjang.

void GLWidget::initializeGL() {

glEnable(GL_TEXTURE_2D);
glEnable(GL_DEPTH_TEST);

}

Sekarang bisa gw tulis dengan tampilan yang lebih keren & rapi kayak begini.

void GLWidget::initializeGL() {
     glEnable(GL_TEXTURE_2D);
     glEnable(GL_DEPTH_TEST);
}

Continue reading

Static Class Member

Kalo kita ngoding pake bahasa pemrograman yang punya fitur untuk object-oriented programming, kayaknya sih bahasa yang bersangkutan udah wajib punya fitur static class member. Untuk C++ & Java, static class member ini dideklarasiin pake keyword ‘static’ sebelum nentuin tipe data dari member yang bersangkutan.

class iniClassLoh {
public:
static int iniStaticVariable;
static int iniStaticMethod();
};

– Contoh deklarasi di C++

public class iniClassLoh {
public static int iniStaticVariable;
public static int iniStaticMethod() {
/*isi dari method harus ditulis di sini, Java nggak support prototyping soalnya*/
}
}

– Contoh deklarasi di Java

Continue reading

Qt: Binding OpenGL Texture dengan QPixMap

Di kampus gw dapet mata kuliah untuk computer graphics, & di mata kuliah ini kita diajarin bikin animasinya di bahasa pemrograman C++ pake OpenGL & framework Qt. Berhubung framework yang dipake Qt, di sini gw bisa pake QPixMap buat texture binding. Oke, di OpenGL sendiri sih ada beberapa cara buat texture binding, tapi yang pake QPixMap ini gw rasa paling enak dipake buat sementara ini.

Sebelumnya klik kanan dulu di project yang lagi dikerjain di project explorer di editor, di situ tambahin file baru. Tambahin file yang extensionnya .qrc (Qt Resource File). Buka file .qrc ini dari editor, lalu tambahin resource gambar-gambar yang mau dipake buat tekstur objek-objek yang mau digambar nanti. Kali ini anggep aja gambar itu disimpen di folder yang namanya “images” yang disimpen satu folder dengan file .qrc tadi, file-file proyek, & source code.

Continue reading

C, C++, C#, Java

Di awal-awal gw masuk kuliah, gw dapet mata kuliah yang ngajarin dasar-dasar pemrograman pake bahasa C. Terus gw ketemu sama sepupu gw yang ngambil jurusan Sistem Informasi di Binus, dia dapet mata kuliah yang sejenis. Bedanya, dia pake bahasa pemrograman Java. Nggak berapa lama habis itu, gw ketemu temen SMA gw yang masuk Teknik Informatika di kampus yang beda dengan gw, temen SMA gw ini juga diajarin pemrogramannya pake Java. Lalu ada temen lagi yang ngambil Teknik Informatika di ITB, yang ini beda lagi. Dia dapet Lisp dulu, baru ntar nyambung ke C. Sementara temen gw yang lain lagi yang ngambil Teknik Industri di ITB dapet Pascal & C, lalu baru-baru ini satu orang temen ngambil jurusan Computer Science di Amerika (gw gak tanya kampusnya) bilang dia dapet pelajaran dasar pemrogramannya pake bahasa C++.

Anggeplah temen gw yang di Amerika itu juga dapetnya C biasa, bukan C++. Soalnya bahasa C++ biasanya kalo dipake buat belajar dasar-dasar pemrograman sih fitur-fitur yang dipakenya cuma fitur-fitur yang ada di C, yang asli dari C++ masih kurang banyak dipake. Lisp & Pascal mungkin agak jarang gw denger sih. Strukturnya yang beda dari C juga bikin gw agak bingung ngebaca source codenya, terutama Lisp. Kalo Pascal sih gw lumayan bisa ngerti pas bacanya, cuma gw nggak bisa ngodingnya karena nggak pernah bikin program pake Pascal.

Continue reading