Kumpulan Tausiyah (nasihat)

Al Qur’an

1. “Dan Dia memberikan rezeki dari arah yang tidak disangka-sangka. Dan barangsiapa bertawakal kepada Allah, niscaya Allah akan mencukupkan keperluannya. Sesungguhnya Allah melaksanakan urusanNya. Sungguh, Allah telah menentukan bagi setiap sesuatu” QS 65:3

2. “Dan jika kamu menghitung-hitung nikmat Allah, niscaya kamu tak dapat menentukan jumlahnya. Sesungguhnya Allah benar-benar Maha Pengampun lagi Maha Penyayang.” (QS Annahl [16]: 18)

Hadits

1. “Barangsiapa yang menginginkan kesuksesan dunia maka hendaklah menguasai ilmunya, dan barangsiapa yang menginginkan kebahagiaan akhirat maka ia juga harus menguasai ilmunya…” (Mawa’izh al-Imam asy-Syafi’i)

2. “Didiklah anak-anakmu agar siap menghadapi zamannya, karena mereka kelak akan hidup pada zaman yang berbeda dengan zamanmu…” (Ali bin Abi Thalib ra)

3. “Orang yang pandai membaca Al-Quran akan bersama malaikat yang mulia lagi taat, dan orang yang membacanya dengan terbata-bata bahkan berat baginya,maka baginya 2 pahala”HR.Muslim.

4. “‘Orang yang cerdas adalah yang senantiasa menghisab dirinya serta beramal untuk mempersiapkan kehidupannya sesudah kematian… ” (HR. Imam Tirmidzi)

Tokoh

1. Tuhan kami Yang Maha Pemurah,
Kami mohon Engkau mendampingi upaya kami untuk membangun kehidupan yang besar dari tempat-tempat yang kecil.

Jadikanlah kami merasa nyaman di tempat kami yang kecil ini, menikmati sekali proses berpikir yang kreatif, asyik bekerja sesuai rencana kami, tersenyum penuh harap membayangkan keberhasilan kami, berdebar-debar dengan keyakinan yang hampir menjadi kenyataan tentang merekahnya sambutan sesama kepada usaha kami.

Tuhan kami Yang Maha Penyayang,
Jadikanlah tempat kecil ini sebagai tempat kumulai perjalanan naikku, dan tempat kecil yang akan kuingat dengan penuh syukur saat aku menceritakannya dengan penuh kasih kepada anak-anak dan cucu-cucuku.
Aamiin
#Mario Teguh

“Manusia itu pada hakikatnya mati kecuali orang berilmu (Alim),
Orang berilmu sekalipun hidup hakikatnya tidur, kecuali yang mengamalkan ilmunya,
Orang yang mengamalkan ilmunya banyak yang tertipu, kecuali orang yang ikhlas.”
*Imam Al-Ghazali

Cerita khitbah

Sabtu, 12 Maret menjadi hari yang bersejarah dalam kehidupan saya. Entah kenapa beberapa hari sebelumnya serasa susah tidur dan bawaannya agak dag-dig-dug nggak karuan. Terlalu dibawa tegang sepertinya.

Oh bukan… bukan…
ini baru proses khitbah (atau yg biasa akrab kita kenal dengan sebutan ‘peminangan’). Insya Allah akad nikahnya segera menyusul. Mohon doa.

Acara khitbah dimulai dengan ta’aruf / perkenalan antara kedua belah pihak keluarga. Rangakain acaranya berlangsung dengan cukup santai dan sangat kekeluargaan.

Continue reading

Beasiswa Yoneyama (utk program S2)

Seperti biasanya, hari ini ketika sedang bersiap berangkat ke kampus saya beres-beres kamar merapikan baju dan kaos yang telah kering setelah dijemur selama sekitar 4 hari. Menjemur cucian selama musim dingin memang butuh waktu yang cukup lama, karena cuaca di luar sangat dingin dan udaranya kering. Apalagi di daerah Kiryu ini, angin di luar bertiup sangat kencang dan dingin. Jadi, saya lebih cenderung menjemur pakaian di dalam ruangan saja.

Nah, ketika sedang asik melipat baju dan merapikan pakaian, tiba-tiba terdengar suara dering dari telepon genggam yang saya letakkan di atas meja komputer. Mulanya saya pikir itu telepon dari petugas Pos yang tiap pagi saya hubungi untuk mengangkut barang dagangan (online shop) saya. Tapi, ternyata telepon itu dari Fukuda-san, pegawai kampus yang bertugas untuk mengurusi keperluan mahasiswa asing di Universitas Gunma.

Satu kalimat yang membuat saya tersentak adalah, “Fahmi-san, Yoneyama Shougakukin goukakushimashita! Omedetou gozaimasu!” yang pada intinya beliau ingin menyampaikan berita bahwa saya lulus program beasiswa dari Yoneyama Memorial Foundation untuk melanjutkan studi ke jenjang S2.

Continue reading

Dari kue donat, nasi uduk sampai ke online shopping

Alhamdulillah, saya ini termasuk golongan orang yg terlahir dari keluarga sederhana yg pas-pasan. Ayah bekerja sebagai PNS,  ibu mengurus keperluan sehari-hari di rumah. Kami tinggal di kampung Cilandak, daerah Jakarta Selatan, belakang Cilandak Town Square.

Cerita bermula ketika saya duduk di bangku SMA kelas dua. Di awal pekan tahun ajaran baru, serombongan kakak kelas dari Universitas Indonesia datang memberikan presentasi tentang jurusan-jurusan favorit yg banyak diminati peserta ujian SPMB (Seleksi Penerimaan Mahasiswa Baru).

Karena dari dulu punya cita-cita jadi dokter, ada keinginan yg kuat utk nyoba masuk Fakultas Kedokteran UI. Lalu, setelah FKUI, kepingin nyoba masuk Fakultas Teknik Elektro. Tapi, ada satu hal yg membuat saya bimbang dan sedikit ragu. Waktu itu beredar gosip kalau mau masuk FKUI mesti siapin uang minimal 50 juta rupiah. Kalau mau masuk Fakultas Teknik mesti punya 25 juta rupiah!

“Degg…”

Tiba-tiba saya saya terdiam kaget. “Kok mahal banget ya…?” Mana mungkin punya uang sebanyak itu.

Sampai di rumah, saya coba komunikasikan dengan orang tua. Mencoba utk curhat ke ibu. Kalau memang mesti keluar minimal 25 juta, terpaksa pinjam uang sana-sini. Semalaman saya berpikir panjang nggak bisa tidur. Berpikir bagaimana caranya supaya nggak ngerepotin orang tua lebih jauh. Nggak mau menambah beban orang tua lebih berat lagi.

Alhasil, keesokan harinya saya mencoba bangun pagi lebih awal dari biasa. Waktu itu pergi ke sekolah naik angkot D02 warna putih jurusan Lebak Bulus-Pondok Labu (hmm… jadi kangen naik angkot nih… hehe).

Sesampainya di persimpangan Pondok Labu, saya mengalihkan target utama ke “Pasar Pagi”. Dulu sewaktu acara ekskul sekolah, teman-teman sie konsumsi sering beli kue, gorengan atau cemilan di “Pasar Pagi”. Harganya murah dan jenis kuenya macem-macem.

Pagi itu saya beli donat, kue apem, dan beberapa gorengan yg isinya kacang ijo (nama kue-nya apa ya..? saya lupa). Modal utk belanja saya habiskan sekitar 5.000rupiah. Lalu, sesampainya di kelas, saya coba tawarkan donat dan kuenya ke teman. Awalnya agak malu sih, rasanya sungkan kalo mesti nawarin kue dagangan ke teman. Apalagi dengan tujuan bisnis… hehe

Sejak saat itu, saya pun resmi jadi penjual kue di kelas. Ya, lumayan sih… modal 5 ribu, dapat untung sekitar 2-3 ribu. Nggak banyak, tapi yg penting bisa ditabung.
Continue reading

Microsoft Kinect RGB Color and 3D Depth Sensor

The below videos are simulation of RGB and Depth data taken by Microsoft Kinect Sensor.

Kinect sensor equipped with RGB Camera, 3D Depth Sensors, Motorized Tilt and Multi-Array mic. (picture taken from Wikipedia)
Microsoft Kinect Sensor

In this experiment, left screen is a display of color image and right screen is a display of 3D depth image taken by the IR (infrared) sensor.

Beberapa bulan lalu (kalo nggak salah November 2010), Microsoft mengeluarkan produk baru yg bisa dipakai sebagai sensor utk bermain video game X-Box tanpa memakai joystick. Nama sensor barunya adalah Microsoft Kinect Sensor. Dengan memakai Kinect, kita nggak perlu lagi bermain video game dengan joystick. Nah, sebagai gantinya, joystick-nya itu adalah semua anggota badan kita yg setiap ayunan tangan, gerakan kaki atau anggukan kepala akan ditangkap oleh si Kinect dan diubah menjadi data yg selanjutnya diproses oleh komputer menjadi sinyal-sinyal input joystick. Kalau kita lompat, maka karakter video game di layar pun akan ikutan melompat.

Alat ini dilengkapi dengan beberapa sensor, yaitu : Kamera RGB (Red-Green-Blue), ‘Depth sensor’ yg dilengkapi dengan pemancar&penangkap Infra Merah, Multi-Array Microphone.

Baru-baru ini saya iseng nyobain kinerja si Kinect di laboratorium kampus. Lumayan, nyobain “mainan” baru yg dibeliin sama sensei Lab. (mahal jg kalo mesti beli sendiri dari kantong pribadi). Ternyata seru juga loh!!

Coba deh lihat dua video di atas. Hehehe.. ada orang aneh gerak-gerak nggak jelas :D…

Layar terbagi menjadi dua bagian : layar sebelah kiri dan layar sebelah kanan. Nah, layar sebelah kiri memberikan output berupa gambar asli yg ditangkap oleh kamera (gambar merah-hijau-biru), sedangkan layar sebelah kanan memberikan informasi berupa jarak antara si “benda” terhadap kamera.

Kinect bisa memberikan prediksi jarak antara “benda” dengan kamera berkat adanya sinar infra merah yg ditembakkan ke arah benda, lalu terpantul kembali ke bagian penerima infra merah. Dari situ bisa dihitung waktu pantulan, dan komputer bisa memberikan perkiraan jarak. Setelah itu, “data jarak” diubah menjadi gradasi warna yg menunjukkan perbedaan jarak antara benda dengan kamera. Kalau diperhatikan dengan jeli, di layar sebelah kanan akan terlihat gradai warna oranye, kuning, hijau, biru dan hitam. Semakin dekat suatu benda dengan kamera, maka tampilan gradasi akan manjadi hitam.

Setelah percobaan ini selesai dan koding-nya udah mantap, saya punya rencana utk memasang si Kinect di robot MG10. Kayanya bakal seru nih,,, robot MG10 akan punya “mata” baru yg bisa melihat kondisi sekitar sekaligus memberikan prediksi jarak dengan objek di sekitarnya.

Tsukuba Challenge

Tsukuba Challenge [ Real World Robot Challenge (RWRC) ] is a competition of autonomous mobile robot run in real environment (Tsukuba Center Park). The competition is not about how fast the robot can reach the goal, but how the robot can interact with surrounding environment.

Me and my Lab were joined the competition.
Team number 17.
Robot name = MG10
Gunma University feat Mitsuba, Inc.

MG10
MG10. Intel inside! ^_^

Controller Board
Micro-controller, etc

Sensor :
– Stereo Camera (rgb image)
– Wheel encoder (odometry data)
– Laser Range Finder (obstacle detection)

Autonomous navigation system:
– SURF based image recognition
– HOUGH transform
– Line detection
– Sky detection
– Triangle detection
– Tile pattern recognition

Final Round @ Tsukuba Challenge 2010 (19th November 2010)

Project member :
-Shioya Toshiaki (Phd. student)
-Tsunoda Yuuki (Master student)
-Hirano Yuuta (Master student)
-Dzulfahmi (Bachelor student)
-Kodaira Hiroyuki (Bachelor student)
-Ohta Naoya (Professor)

And yup, I recorded the video when MG10 was in action. ^_^

First Day

Final Round

SURF-based Image Recognition

Here are the steps :

1. Compute the gray-scale and calculate the SURF features from the model image

2. Turn on the camera and get the real-time input image. Convert each frame to gray-scale

3. Compute the SURF features of the gray-scale camera frame

4. At this step, we want to compare between “model image” and “input image” (camera frame).
For all features of the model, for all features of the camera frame, determine if they represent the same point (calculation of their distance and thresholding) ;

5. Once we have obtained the pairs of associated points, we determine the homography matching all these pairs (using RANSAC or least median squares algorithm) ;

6. Drawing of the projection of the input frame in the illustration frame using this homography.

reference : http://wn.com/realtime_sift_tracking

Application in outdoor visual navigation:

SIFT implementation in OpenCV 2.4

Continue reading

[OpenCV] Corner Detection

Let’s try to detect corner from an image.
In this sample, I am using my own picture = building.jpg.
You can edit the below source code and try to detect corner from different image.

I am implementing two types of function to detect corner :
1. cvCornerMinEigenVal
The function cvCornerMinEigenVal is to calculate and store the minimal eigen value of derivative covariation matrix for every pixel, i.e. min(λ1, λ2) in terms of the previous function.

2. cvCornerHarris
Harris edge detector. You can refer to the original paper = A Combined Corner and Edge Detector

You may also refer to the next article : click here (Harris Corner Detection).

Source code :

#include <stdio.h>
#include <cv.h>
#include <highgui.h>

int main (void)
{
	int i, corner_count = 150;
	IplImage *dst_img1, *dst_img2, *src_img_gray;
	IplImage *eig_img, *temp_img;
	CvPoint2D32f *corners;

	//image file
	char imagePath[256] = "c:\\images\\building.jpg";
	printf("%s\n", imagePath);

	dst_img1 = cvLoadImage (imagePath, CV_LOAD_IMAGE_ANYCOLOR | CV_LOAD_IMAGE_ANYDEPTH);
	dst_img2 = cvCloneImage (dst_img1);
	src_img_gray = cvLoadImage (imagePath, CV_LOAD_IMAGE_GRAYSCALE);
	eig_img = cvCreateImage (cvGetSize (src_img_gray), IPL_DEPTH_32F, 1);
	temp_img = cvCreateImage (cvGetSize (src_img_gray), IPL_DEPTH_32F, 1);
	corners = (CvPoint2D32f *) cvAlloc (corner_count * sizeof (CvPoint2D32f));

	// (1)Corner detection using cvCornerMinEigenVal
	cvGoodFeaturesToTrack (src_img_gray, eig_img, temp_img, corners, &corner_count, 0.1, 15);
	cvFindCornerSubPix (src_img_gray, corners, corner_count,
					  cvSize (3, 3), cvSize (-1, -1), cvTermCriteria (CV_TERMCRIT_ITER | CV_TERMCRIT_EPS, 20, 0.03));
	// (2)Draw the detected corner
	for (i = 0; i < corner_count; i++)
	cvCircle (dst_img1, cvPointFrom32f (corners[i]), 3, CV_RGB (255, 0, 0), 2);

	//Message for debugging
	printf("MinEigenVal corner count = %d\n", corner_count);

	// (3)Corner detection using cvCornerHarris
	corner_count = 150;
	cvGoodFeaturesToTrack (src_img_gray, eig_img, temp_img, corners, &corner_count, 0.1, 15, NULL, 3, 1, 0.01);
	cvFindCornerSubPix (src_img_gray, corners, corner_count,
					  cvSize (3, 3), cvSize (-1, -1), cvTermCriteria (CV_TERMCRIT_ITER | CV_TERMCRIT_EPS, 20, 0.03));
	// (4)Draw the detected corner
	for (i = 0; i < corner_count; i++)
	cvCircle (dst_img2, cvPointFrom32f (corners[i]), 3, CV_RGB (0, 0, 255), 2);

	//Message for debugging
	printf("Harris corner count = %d\n", corner_count);

	// (5)Display the result
	cvNamedWindow ("EigenVal", CV_WINDOW_AUTOSIZE);
	cvShowImage ("EigenVal", dst_img1);
	cvNamedWindow ("Harris", CV_WINDOW_AUTOSIZE);
	cvShowImage ("Harris", dst_img2);
	cvWaitKey (0);

	cvDestroyWindow ("EigenVal");
	cvDestroyWindow ("Harris");
	cvReleaseImage (&dst_img1);
	cvReleaseImage (&dst_img2);
	cvReleaseImage (&eig_img);
	cvReleaseImage (&temp_img);
	cvReleaseImage (&src_img_gray);

	return 0;
}

Result :

[C Language] Read file name inside a directory

Source code :

#include <stdio.h>
#include <dirent.h>

void main(void){

	//choose the folder path
	char DIRPATH[]="c:\\images\\";
	DIR *dir;
	struct dirent *entry;

	dir=opendir ( DIRPATH );

	//checking the folder content
	while ( NULL != ( entry = readdir ( dir ) ) ) {
		DIR *test;
		char filePath[260];
		sprintf ( filePath,"%s%s", DIRPATH, entry->d_name );
		errno=0;
		test=opendir ( filePath );

		if (test==NULL && errno!=0){
			printf("%s\n",entry->d_name);
                       // ... (your source code)
                       // ...
                       //...
		} else {
			closedir(test);
		}
	}
	closedir(dir);
}

Attention!! (Penting)
Ketika compiler gagal meng-compile kode dan keluar pemberitahuan error seperti berikut :

‘dirent.h’: No such file or directory

berarti dalam folder ‘include’ tidak terdapat header file bernama “dirent.h”

Please download the file from  = http://www.softagalleria.net/download/dirent/
download file, unzip the package and copy the “dirent.h” to C:\Program Files\Microsoft Visual Studio 9.0\VC\include
Target file path bisa berbeda tergantung versi dari Visual Studio yang digunakan.
(Saya menggunakan Visual Studio 2008)

Selamat mencoba!

Irasshaiii…

Youkoso…!!!
Selamat datang di blog-nya Fahmi.
Blog tempat berbagi ilmu, tuker-tukeran info, cerita tentang pengalaman, dll.

-fahmi-
Kiryu,
010610/23:12