RSS

Tutorial Latex – Penulisan Skripsi UI Menggunakan Latex

Post kali ini akan membahas tutorial penggunaan Latex yang digunakan untuk menulis tugas akhir S1/S2/S3 di Universitas Indonesia

Kebetulan, pada tanggal 23 Maret dan 6 April penulis berkesempatan ditunjuk sebagai salah satu tutor untuk acara pelatihan Latex di Fasilkom UI yang diselenggarakan oleh Lembaga Asisten Fakultas Ilmu Komputer bersama Mas Ary Noviyanto.

Isi dari tutorial ini dimulai dari alasan penggunaan Latex, syntax dasar, penggunaan gambar, tabel, cross reference, penulisan matematika, penulisan referensi, dan presentasi.

Untuk masalah instalasi, silakan merujuk ke tutorial bagian satu.

Berikut slide presentasi dan template skripsi UI dalam Latex.

Salam, semoga berguna

UI Style

Pelatihan LaTeX – 6 April 2013

 
Leave a comment

Posted by on April 9, 2013 in Uncategorized

 

Tags: , ,

Kompilasi OpenCV dengan CMake

Post ini adalah sambungan dari post sebelumnya, instalasi opencv di Linux.

Setelah OpenCV berhasil diinstal, ada beberapa cara untuk melakukan kompilasi program yang menggunakan library tersebut. Pada post kali ini, saya akan menjelaskan bagaimana menggunakan utilitas CMake untuk men-compile-nya.

Agar lebih mudah menggunakan CMake, kita juga perlu menggunakan utilitas pkg-config. Untuk mengetahui apakah pkg-config sudah benar terkonfigurasi dengan OpenCV ketikkan perintah berikut

libs output cropped cflags output cropped

Apabila keluar output yang mirip dengan screenshot di atas, maka pkg-configs sudah sukses terpasang dan dapat digunakan untuk meng-compile proyek dengan library openCV.

Sekarang kita akan coba untuk membuat contoh proyek sederhana di OpenCV dan kita akan menggunakan CMake untuk meng-compilenya. Buat direktori baru untuk file proyek, misalkan di kasus saya, saya buat direktori hellolena di direktori workspace

hellolena cropped

Di dalam direktori ini, ketikkan potongan kode berikut dengan menggunakan text editor pilihan Anda. Pada kasus saya yang digunakan adalah vim.

hellolena c cropped

Setelah itu, buat satu file lagi dengan nama “CMakeLists.txt” (tanpa tanda kutip) yang merupakan file untuk meng-generate Makefile dan masukkan kode berikut.

cmakelists cropped

Buat direktori baru, misalkan build, untuk menaruh file executable hasil kompilasi

mkdir build cropped

Masuk ke direktori ini, dan kemudian jalankan perintah berikut (cmake tambah lokasi file CMakeLists.txt) untuk meng-generate Makefile

cmake build cropped

cmake output cropped

Download file gambar lena, bisa lewat browser ataupun commandline, dan letakkan di direktori build

download lena cropped

Compile dengan menjalankan make

make lena cropped

Jalankan file executable hasil kompilasi

hellolena run cropped

Jika sukses seharusnya keluar windows dengan gambar lena di dalamnya.

hellolena success cropped

Jika ada yang ingin di-edit atau diubah dikodenya, cukup jalankan make lagi di direktori build.

Selamat mencoba :)

Salam

 
Leave a comment

Posted by on February 20, 2013 in Uncategorized

 

Tags: , ,

Instalasi OpenCV di Linux

OpenCV adalah library untuk pemrograman gambar atau computer vision yang banyak digunakan untuk riset ataupun pembuatan aplikasi yang membutuhkan kemampuan pengolahan gambar yang cepat (realtime) dan handal serta memiliki banyak fungsi yang bisa langsung dipakai. Proyek terkenal yang menggunakan OpenCV antara lain adalah Stanley.

Walaupun merupakan library yang sering digunakan oleh banyak pihak, OpenCV terkadang memiliki kesulitan dalam hal instalasi, terutama jika platform-nya berbeda-beda (Windows, Linux, 32bit, 64bit).

Pada post kali ini, saya akan mempraktikkan instalasi OpenCV yang sukses saya lakukan pada platform Linux 32 bit.

Sebelum memulai instalasi, perhatikan kalau dependensi software-nya sudah memenuhi. Yang perlu diinstal adalah Cmake, pkg-config, dan libgtk2-dev. Jika Anda menggunakan Ubuntu instal dengan cara berikut.

prerequisites crop

Pertama buat direktori baru untuk menaruh file download source dari opencv. Katakanlah kita akan membuat itu di home directory user kita dengan nama opencv.

mkdir crop

Kemudian download source code opencv yang diarsip ke sebuah tarbal. Rename jika perlu dan ekstrak semua file yang dibutuhkan.download crop

rename crop

tar crop

Buat direktori baru lagi untuk menaruh file hasil output dari cmake. Misalkan build.

build crop

Jalankan cmake dengan parameter yang dibutuhkan.

cmake crop

Seharusnya setelah menjalankan cmake akan keluar output direktori dengan struktur sebagai berikut.

setelah cmake crop

Jalankan perintah sudo make install. Tunggu hingga selesai.

sudo make install crop

Selamat!! opencv telah berhasil terinstal.

Untuk meng-compile program dengan menggunakan library ini terdapat beberapa cara. Cara yang akan dijelaskan pada post berikutnya adalah dengan menggunakan cmake dan text editor. Favorit saya untuk text editor adalah Sublime Text.

Sampai jumpa di post berikutnya.

 
Leave a comment

Posted by on December 27, 2012 in Programming

 

Tags: , , , , ,

Analysis of Multi Codebook GLVQ versus Standard GLVQ in Discriminating Sleep Stages

Pada post kali ini, saya ingin membagi paper yang dikerjakan oleh tim riset di lab 1231, dimana saya menjadi nama pertama di paper tersebut. Papernya memiliki judul “Analysis of Multi Codebook GLVQ versus Standard GLVQ in Discriminating Sleep Stages” dan berisi penjelasan mengenai efek multi codebook yang digunakan pada algoritma Generalized Learning Vector Quantization (GLVQ) untuk mengidentifikasi tingkat tahapan tidur. Untuk lebih jelasnya, silakan baca langsung isi paper-nya. Paper ini baru saja dipresentasikan di ajang konferensi internasional yang diadakan oleh Fasilkom setiap tahunnya, yaitu ICACSIS 2012.

Semoga berguna. Salam.

534-CameraReadyICACSIS2012

 
Leave a comment

Posted by on December 4, 2012 in paper

 

Tags: , ,

Typeracer

Post pertama setelah sekian lama adalah pamer.

Setelah lama juga tidak ke typeracer, ternyata ada tambahan dari empunya situs untuk menambahkan badge. Berikut badge saya

TypeRacer.com scorecard for user mitiqi

dan ini badge dari rival saya

Perjalanan masih jauh…. Saatnya berangkat kembali…

 
3 Comments

Posted by on August 11, 2012 in Uncategorized

 

Pengantar Digital Signal Processing – part 1 – Introduction

Post ini akan menjadi pengantar untuk masuk ke dunia pemrosesan sinyal. Tutorial ini dimaksudkan untuk programmer yang ingin mengimplementasikan teknik-teknik Digital Signal Processing (DSP) tanpa harus berhadapan dengan sederetan rumus matematika. Pendekatan yang dipakai adalah dengan melakukan programming teknik yang akan dipelajari satu per satu.

DSP sudah sangat menyatu dengan kehidupan sehari-hari sehingga kita tanpa sadar telah terpengaruh dengan teknik-teknik DSP yang digunakan untuk berbagai macam kebutuhan. Kemampuan untuk menguasai DSP kini sudah jadi kebutuhan dasar untuk dikuasai.

Beberapa aplikasi DSP pada kehidupan sehari-hari antara lain pada bidang medikal, telepon, bahkan militer.

Sampai jumpa pada post berikutnya,
salam

 
1 Comment

Posted by on February 21, 2012 in Programming

 

Tags: , , , , ,

GUI with Java without Netbeans

Biasanya kalau kita mau buat gui menggunakan Java, kita menggunakan ide Netbeans yang mempunyai fitur untuk membuat GUI dengan fasilitas drag and drop. Di satu sisi ini memudahkan penggunanya yang tidak ingin terintimidasi dengan detil yang mengerikan. Namun di sisi lain hal ini bisa dianggap overkill, apabila kita hanya ingin men-design GUI yang sederhana dan tidak begitu kompleks. Bahaya lainnya adalah apabila file .form yang digenerate oleh Netbeans hilang, kita tidak bisa mengubah GUI secara visual dan untuk mengubahnya secara manual lewat kode juga susah karena generated code untuk GUI dari Netbeans terkadang bloated dan sulit untuk dimengerti.

Karena itu kita perlu juga mengetahui bagaimana menyusun GUI melalui kode. Artikel berikut akan mencoba menjelaskan cara menyusun GUI yang paling sederhana dan cocok untuk yang ingin membuat GUI yang sederhana juga.

Ada dua cara untuk menyusun komponen GUI. Pertama dengan menggunakan layout manager atau dengan absolute position. Netbeans juga menggunakan layout manager untuk mendesain GUI-nya. Tapi yang akan dijelaskan di post ini adalah dengan menggunakan absolute position. Menggunakan layout manager memudahkan jika kita ingin menyusun GUI dengan praktis tanpa perlu mengetahui posisi pasti komponen yang akan ditaruh. Selain itu jika dilakukan resize terhadap komponen kontainernya, otomatis komponen yang dikandung didalamnya akan menyesuaikan dengan ukuran yang baru. Akan tetapi, jika kita ingin membuat GUI dengan ukuran yang sudah fixed, absolute position bisa memudahkan kita dalam mengatur posisi komponen dengan catatan kita harus sering mencoba untuk mendapatkan lokasi yang pas.

Oke, langsung buka editor favoritmu (Scite, geany, notepad++, eclipse, dlllll)
Hal pertama yang harus dilakukan adalah membuat kelas yang meng-extend JFrame

public class TestGUI extends JFrame

Jangan lupa import kelas JFrame

import javax.swing.JFrame;

kemudian di method main, kita cukup membuat objek dari kelas ini, dan menjalankan method setVisible agar GUI-nya bisa terlihat.

public static void main(String[] args) {
   TestGUI test = new TestGUI();
   test.setVisible(true);
}

Sampai saat ini, kita sudah membuat GUI yang fungsional, tapi begitu dikompail dan dijalankan kok GUI-nya tidak keliatan? Itu karena kita belum menspesifikasikan ukurannya. Jadi ukuran luasnya masih 0.
Inisialisasi ukuran GUI pada konstruktor

TestGUI() {
   setSize(600, 400);
}

parameter pada method setSize adalah panjang dan lebar dari JFrame tersebut.
Jangan lupa menambahkan kode berikut

TestGUI() {
   setDefaultCloseOperation(EXIT_ON_CLOSE);
}

agar ketika window-nya ditutup dengan menekan tombol x merah di pojok kanan atas, programnya benar-benar tertutup dan dimatikan dari JVM.
Posisi window tadi terletak di pojok kiri atas, bagaimana jika posisinya ingin ditengah?

TestGUI() {
   setLocationRelativeTo(null);
}

Maka posisi Windows akan berada di tengah.
Kalau mau Windows-nya tidak bisa diubah-ubah ukurannya, gunakan kode berikut

TestGUI() {
   setResizable(false);
}

Jika ingin memberi nama pada Windowsnya, panggil konstruktor parent Class dengan method super yang disertai argumen nama dari Windows dengan tipe String. Jangan lupa kalau super hanya bisa dipanggil di baris pertama pada konstruktor.

TestGUI() {
   super("Graphical User Interface for Test");
}

Setelah proses awal tersebut selesai, tahap berikutnya adalah tinggal layout untuk komponen-komponen yang kita butuhkan. Ada dua cara untuk layout dengan GUI di Java. Cara pertama adalah dengan menggunakan kelas LayoutManager untuk mengatur tata letak dari GUI kita. Cara ini juga yang dipakai oleh Netbeans untuk mendesain GUI. Kelebihan cara ini adalah kita tidak perlu khawatir apabila ukuran GUI berubah-rubah. Tampilan komponen akan mengikuti ukuran GUI yang sedang berlaku. Kekurangannya adalah ini bisa-bisa menjadi overkill, terutama untuk tampilan GUI sederhana dan tidak ada perubahan dari desain semula yang sudah disusun misalnya di kertas.

Karena itu saya memilih cara kedua, yaitu dengan absolute positioning. Dengan cara ini, desain awal yang sudah kita punya di kertas bisa langsung diterjemahkan ke dalam kode karena kita memiliki kuasa penuh terhadap letak dari komponen-komponennya.
Untuk memulai menggunakan absolute position, maka layout manager-nya harus di set null

TestGUI() {
   setLayout(false);
}

Berikutnya akan ditunjukkan bagaimana mengeset posisi komponen, misalnya sebuah textbox dan button

TestGUI() {
   JTextField tf1 = new JTextField();
   JButton btn1 = new JButton();

   tf1.setBounds(50, 50, 100, 20);
   btn1.setBounds(200, 50, 100, 20);

   add(tf1);
   add(btn1);
}

Dua baris pertama adalah instansiasi komponen TextField dan Button. Dua baris terakhir adalah cara menambahkan komponen ke dalam objek kontainer, dalam hal ini JFrame-nya sendiri. Kode yang berguna untuk mengatur letak adalah dua kode ditengah, yaitu method setBounds. Method setBounds memiliki empat buah parameter, dua parameter di depan adalah posisi secara sumbu x dan y untuk pojok kiri atas komponen yang bersangkutan. Dan jangan lupa juga, kalau sumbu x dan y posisi 0,0 untuk komputer juga dimulai dari pojok kiri atas. Dua parameter berikutnya adalah untuk panjang dan lebar dari komponen ini.
Tada, selesai. Sekarang Anda telah bisa membuat GUi serumit apapun tanpa membutuhkan bantuan dari Netbeans. Yang agak sulit dari pembuatan manual ini adalah harus sering dikompail untuk melihat posisi aslinya, karena ketika di code mungkin agak sulit untuk dibayangkannya.

Berikut potongan kode lengkapnya

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class TestGUI extends JFrame {
	
	TestGUI() {
		super("Graphical User Interface for Test");
		setSize(600, 400);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setResizable(false);
		setLocationRelativeTo(null);
		
		setLayout(null);
		
		JTextField tf1 = new JTextField();
		JButton btn1 = new JButton();
		
		tf1.setBounds(50, 50, 100, 20);
		btn1.setBounds(200, 50, 100, 20);
		
		add(tf1);
		add(btn1);
	}
	
	public static void main(String[] args) {
		TestGUI test = new TestGUI();
		test.setVisible(true);
	}
}

Dan screenshot dari hasil akhir program
Image and video hosting by TinyPic
Selamat mencoba, semoga bermanfaat

 
2 Comments

Posted by on October 18, 2011 in Java, Programming

 

Tags: , , , , , , ,

 
Follow

Get every new post delivered to your Inbox.