Tuesday, December 31, 2013

20 Resolusi Kemakmuran 2013

Anak tetangga sudah niup-niup terompet berbungkuskan kertas kado mentereng. Tandanya? Tanda udah akhir tahun. Ciye ciyee. Infotainment, berita, infotainment... , acara video klip musik, dan infotainment... (soalnya infotainment yang paling rajin) pada ngasih resolusi akhir tahun. Resolusi? Apa tuh? Ya.. semacam kilas balik lah yang telah terjadi selama setahun ke belakang.

Nggak mau kalah dong dengan infotainment, saya juga mau bikin resolusi ah. Jeng jeng jeeng

Resolusi Kemakmuran 2013


Namanya keren nggak? Biar agak ter-vikinisasi. Sok.. sok.. dicek satu-satu, siapa tahu kamu ada di dalamnya. Fufufu.

1. Ikut #OneGameAMonth
Oke, saya akui, saya tidak bisa mengerjakan setiap bulan. In fact (ciye bahasa Inggris) saya cuma ngerjain satu game! Hadeh!
Hm.. kalau dipikir-pikir sebenernya nggak cuma bikin satu game sih tahun ini. Ada beberapa proyekan kecil-kecilan yang temanya gamifikasi. Cuma males masukan ke #1GAM nya.

2. Ngebersihin Lapangan di Kampus
Ini cita-cita dari dulu. Dan kesampean. Makasih ya yang udah ngebantuin!


3. Jadi Koordinator Dekorasi Dinamik8
Mungkin jadi panitia Dinamik terakhir kali ya (ihik!). Herannya tiap tahun saya pindah-pindah bidang mulu. Tahun pertama saya jadi dana usaha, terus jadi acara divisi pameran, terus jadi dekorasi. Setidaknya pada nyobain lah ya, hahaha



4. Akhirnya ada seminar Creative Commons di UPI!
Cita-cita broo! Ini cita-cita dari dulu!! Terima kasih buat panitia Dinamik yang udah mau saya cerewetin buat ngedatengin representatif Creative Commons ya!!


5. Kedua kalinya ikut GDG
GDG itu Game Developer Gathering. Tempat kongkownya tukang bikin game gitu... Mudah-mudahan tahun depan bisa ikut lagi yak, atau malah jadi pembicara, heheu.

6. Ketemu yang namanya alijaya
dan Laz juga. Mwahaha! Bagi yang penasaran itu siapa, Googling aja dah. They are so famous~

7. Ngegerecokin pakai Git
Tahun 2013 saya ikut mata kuliah mobile computing, dan ngerjainnya kelompok. Nggak mau dong ngekode pake cara konvensional harus copas-copas dan bagi per file! Jadi saya paksa tuh anak-anak di kelompok pakai Git. Alhamdulillah berhasil. Makasih ya kawan-kawan yang udah mau jadi kuli!

8. Bisa Bikin App Android
Ya karena ikut kuliah mobile computing tadi. Ternyata gampang ya (ciye sombong).

9. Bikin Pelatihan Komputer Buat Anak Yatim
Sebenernya tugas kuliah sih. But, hey! Menyenangkan juga!

10. Ikut Kuliah Kerja Nyata a.k.a Ka-Ka-En
Mungkin ini salah satu momen yang jadi "bunga" di masa kuliah. Asyik juga. Bisa ketemu temen baru lagi. *komennya biasa banget*
Yang ada insiden kemalingan itu tuh. Masih ingat?
11. Kemalingan Sepatu Juga
Pas KKN. Baru kali itu kemalingan sepatu. Aneh juga. Hahaha.

12. Diselamatin Ulang Tahun!
Seumur-umur belum pernah dikasih kejutan pake lilin ulang tahun.
Sama teman-teman KKN sih. Pake roti lagi. Lilinnya bekas lagi (bekas yang ulang tahun sebelumnya).
Ya tapi nggak apa-apa lah. I really appreciate it guys!


13. Jadi asdos (asisten dosen) PBO
PBO. Pemrograman Berorientasi Objek.
CCC. Cap Cus Cin.

14. Ngecode pakai Cocos2D-x
Ngelihat temen pakai game engine yang satu ini envy banget! Tahun 2013 ini saya belajar, eh, ternyata asyik juga!

15. Sama LibGDX juga
Game engine juga, cuma code nya pakai Java. Enak juga, bahkan lebih low level dibandingkan Cocos2D-X. Saya belajar ini karena ikut mata kuliah Game Programming.

16. Download OSX Maverick
YANG GRATIS! DAMN MAN! Padahal udah beli Mountain Lion.

17. Ke Santolo
Liburan bareng temen-temen kelas ke pantai di garut. Namanya santolo.
Eh saya baru sadar kalo nggak nulis postingan tentang ini. Hoho.


18. Ke Ujung Pandaran
Bareng @kakjok sama @frimadi_chandra. Sayang @dodddod nggak bisa ikut.


19. Ngebantuin Desain Dinamik9
Dinamik udah mau tahun kesembilan aje! Saya ngebantuin teman-teman Club Ink buat bikin tema desainnya.

20. Belajar Biola
Ini salah satu poin yang paling ngagetin abis. Bisa-bisanya saya terjebak belajar Biola, belajarnya intensif lagi! Dulunya nggak bisa baca not balok, eh eh, sekarang bisa! (Walaupun masih terbata-bata). Sampai ikut komunitasnya juga. Bener-bener nggak terencana, surprising!

Words


Pasti masih banyak lagi lah ya hal-hal yang terjadi di tahun 2013, ya tapi itu, nggak bakalan cukup kalau kita tulis semua nikmat yang diberikan (hestek, #religi).

Tahun ini tahun yang spektakuler juga ternyata. Nggak nyangka juga. Nggak ada yang tahu gimana tahun depan. Mudah-mudahan kita lalui dengan nikmat dan berkah melimpah dari Allah SWT. Amin... (hestek lagi, #religi). Mudah-mudahan saya bisa lulus lah ya di tahun ini. Amin amin amin~~

Wednesday, December 18, 2013

Load Font CCLabelTTF Mac OSX

Ceritanya saya lagi develop pakai Cocos2D-X. Biar cepet, compile nya target ke OS X aja. Eeeh anehnya si CCLabelTTF nggak mau load font, padahal udah ditambahin font nya.

Keliling-keliling Google dapat deh diskusi di forum Cocos2D-X. Gini ternyata caranya:
1. Buka folder project Mac nya
2. Buka Info.plist
3. Tambahkan kode ini

<key>ATSApplicationFontsPath</key>

<string>.</string>

Selesai!

Sunday, December 15, 2013

Saya mulai menghilang, kemanakah saya?

Bagi pembaca setia (pembaca yang namanya Setia. Halo Setia!) pasti bertanya-tanya, kok @igrir jarang ngeblog lagi sih?
Sebenernya saya rajin ngeblog, cuma lagi ngurusin blog yang satunya. Blog yang mana hayo?

Blog yang satunya lagi namanya Journal Of Violin (JOV). Blog yang satu ini berisi jurnal saya tentang main Biola. Ngapain ditulis? Lumayan buat ngingat-ngingat ilmu yang sudah pernah didapet sama temen-temen yang pengen main Biola. FYI, saya lagi intensif belajar Biola selama 2 bulan ini, heu... jari tangan jadi kapalan gini.

Biasanya saya update JOV dua post, tapi nulisnya sih seminggu sekali. Biasanya isinya post tentang materi les sama gathering komunitas. Kalau lagi ngikutin JOV jangan ngerasa heran kalau muncul postingannya hari kamis tapi postingannya malah di tanggal senin, soalnya dirapel, heheh. Ya konsepnya juga pengennya jadi jurnal~

Yo mangga bagi yang pengen belajar Biola diintip-intip saja si JOV, kalau ada yang nganeh-nganeh juga komen aja yak! Ciao!

Salam @igrir *salamnya senyum 2 jari*

Wednesday, December 4, 2013

Konsentrasi?

Saya kurang tahu apa penjurusan yang ada di Ilkom UPI. Nggak ada penjurusan sih, tapi dari judul-judul skripsi yang diajukan kayaknya kelihatan fokus bidang ilmu dikotak-kotakkan. Jadi mungkin namanya bukan jurusan, tapi lebih ke konsentrasi ya, mungkin.

Selengkapnya tentang bidang-bidang ilkom sendiri mungkin yang disebutin di wikipedia kali ya, tapi untuk di UPI (yang sejauh ini saya perhatikan) kurang lebih saya petakan gini:

0. Novice
job awal, halah, hahaha

1. Teoretikal
Konsentrasi yang ini memahami lebih dalam tentang ilmu komputer itu sendiri, seperti algoritma, teori bahasa pemrograman, compiling, efisiensi, dsb. Yang milih konsentrasi ini kayaknya yang sudah sohiban sama matematika.

2. Sistem Informasi
Sesuai dengan namanya, konsentrasi ini melakukan ilmu terapan ilmu komputer ke penggunaan sistem informasi. Biasanya yang ngambil konsentrasi ke sini ada juga yang lebih ke arah sistem cerdas, sistem pakar, atau sistem pengambil keputusan.

3. Rekayasa Perangkat Lunak
Kalau disini lebih ke teknik pengolahan perangkat lunak, seperti ilmu perancangan perangkat lunak, teknik pemrograman yang dilakukan, penggunaan OOP, etc.

4. Kecerdasan Buatan
Bidang ini sebenernya luas banget sih, dan bisa masuk kemana-mana. Bisa ke Sistem Informasi, bisa ke ke Pengolahan Citra juga, soalnyabidang terapan. Yang ngambil konsentrasi ke sini biasanya ngambil judul penelitian penerapan kecerdasan X untuk kasus Y. Bisa juga membandingkan algoritma untuk efisiensi.

5. Pengolahan Citra
Pengolahan citra juga termasuk ilmu terapan. Kalau saya rasa pengolahan citra itu superset dari kecerdasan buatan tapi difokuskan ke citra. Misalnya pendeteksian gambar dan pola.

6. Jaringan
Jaringan fokusnya untuk... jaringan. Everything that connected about connection. Saya kurang paham benar sih. Tapi setahu saya di konsentrasi ini lebih meneliti tentang alur kerja jaringan, keamanan, teknik algoritma yang diimplementasikan dalam pengelolaan data yang saling ditransfer, etc.

7. Kriptografi
Yang hobi kode-kodean? Kriptografi jadi salah satu bidang fokusnya. Saya juga kurang begitu tahu. Sepengetahuan saya bidang konsentrasi ini mempelajari teknik dalam keamanan data dan penyandian.

8. Robotika
Saya jarang melihat judul skripsi tentang robotika sih di Ilkom UPI, tapi ada! Dari nama konsentrasi nya sudah ketebak lah ya, tentang elektronika dan implementasinya dalam bentuk perangkat keras.

9. Data
Kalau bidang ini memahami cara pengolahan data dan mengambil informasi yang tersembunyi di dalam data. Misalnya penelitian tentang teknik-teknik dalam data mining.

10. Pendidikan
Ilkom UPI itu unik, soalnya ada prodi Pendidikan Ilkom nya sendiri. Di bidang ini lebih ke penelitian media yang digunakan, teknik pengajaran, tanggapan pelajar terhadap ilmu yang diberi, etc yang saya kurang tahu lengkap


Ya bidang ilkom itu emang masih banyak banget sih. Banyak. Banget. Kalau dipecah-pecah lagi mungkin bisa nyampe ratusan. Jadi bidang-bidang disini yang saya daftar juga nggak pasti-pasti amat. Liat aja contohnya Harvard dalam membagi contoh konsentrasi. Ada sistemnya juga yang keren, dan saya nggak tahu, ternyata ada, dalam merancang masa studi http://studyplan.seas.harvard.edu/ug/. Merindiiing

Post ini kayaknya bakal saya update lagi nanti. Untuk sekarang, ciao!

Tuesday, November 26, 2013

Tugas Kapita Selekta


1.     Informasi yang disadap
Call log dari presiden, yakni daftar nomor telepon yang masuk dan yang keluar selama 15 hari.
2.     Media yang disadap/digunakan
Handphone
3.     Kelemahan anti penyadap yang ada
4.     Kemungkinan teknologi yang digunakan
Sebenarnya Indonesia sudah memberikan handphone yang memiliki anti penyadapan dan dienkripsi, namun karena memiliki delay dalam percakapan maka presiden menggunakan handphone lain
5.     Kemungkinan metode/cara yang digunakan
Disebutkan DSD (Defence Signal Directorate, sekarang bernama Australian Signal Directorate) melakukan penyadapan ketika presiden menghubungi maupun dihubungi orang lain. DSD melakukan penyadapan ketika di tengah jalan dari percakapan dikirim.
6.     Penggunaan anti penyadap yang sebaiknya/efektif
Walaupun perangkat yang aman diberikan pemerintah memiliki kelemahan adanya delay dalam percakapan namun bagi urusan pemerintah sebaiknya digunakan.
7.     Penanggulangan yang cepat dari modus penyadapan
Menuntut kegiatan penyadapan.
Melakukan penyelidikan kemungkinan penyadapan lain terhadap kegiatan informasi sensitif.
Menerapkan “atas dasar curiga” terhadap kegiatan transaksi yang dilakukan antar negara.
8.     Tindakan teknologi yang harus dilakukan
Segera menghentikan penggunaan perangkat.
Mengembangkan anti penyadapan untuk informasi elektronik.
9.     Program anti penyadapan yang harus dikembangkan

Anti penyadapan harus dikembangkan di sisi provider dan device. Sebaiknya Indonesia dapat mengembangkan perangkat seluler sendiri yang didukung penuh oleh pemerintah.

Thursday, November 14, 2013

Buang Air Besar

Postingan kali ini agak jorok, tapi enggak aneh-aneh kok, bahkan edukatif. Fufufu.

Buang air besar, ee, pup, defekasi, apapun namanya, siapa sih yang nggak pernah ? Kegiatan yang tiap hari (atau untuk sebagian orang beberapa hari sekali) dilakukan ini tidak bisa dilewatkan. Semuanya melakukan kegiatan yang sama, untuk membuang sisa yang sudah dimakan. Eh tapi, walaupun semuanya membuang, nggak semuanya melakukan cara yang sama.

Cebok

Kegiatan setelah buang air besar disebut cebok. Cebok sendiri sebenarnya membersihkan sisa-sisa kotoran yang ada di pantat, kalau nggak dibersihin kan lengket (eew.. gue tahu itu jorok).

Air

Di Indonesia umumnya saya mengenal kegiatan cebok dengan air. Jadi setelah buang air besar kita bisa membersihkan pantat dengan menyiramkan air menggunakan gayung yang dipegang dengan tangan kanan dan tangan kiri menyapukan air di bagian pipi pantat (wow, teknis gini) dan tengah (aduh).

Tisu

Kalau dunia internasional biasanya lebih mengenal tisu sebagai alat untuk melakukan cebok-mencebok. Cara pakainya ambil dua atau tiga lembar tisu gulung, kemudian agak lipat, terus di.. apa ya bahasa Indonesia yang tepat? Kalau bahasa banjarnya di "palit", maksudnya di sapukan dengan mengelap kotoran (haih).

Daun

Saya pernah dengar dari salah seorang teman saya. Waktu itu beliau pergi ke Afrika dan tidak ada tisu sebagai alat pembersihnya, jadi beliau menggunakan daun sebagai alat pembersih. Mungkin mirip tisu ya?

Batu

Ini kalau nggak salah pernah dengar dimana gitu ya, di hadits bukan sih? Pokoknya batu sebagai salah satu alat untuk cebok. Saya nggak tahu pasti gimana cara penggunaannya, yang pasti dibagian pantat lah ya... digesek? Ah.. sudahlah

Posisi

Nah... Sadar atau nggak, di beberapa tempat untuk posisi juga terdapat perbedaan kok.

Jongkok

Hal ini lumrah kalau di Indonesia. Bahkan ada perbedaan istilah toilet jongkok dan toilet duduk kan.

Posisi jongkok ini harus dilatih dari kecil. Saat saya bertemu dengan orang Amerika dan bercakap-cakap tentang jongkok, beliau heran dengan orang Indonesia yang dengan santai bisa jongkok di pinggir jalan sambil ngerokok atau minum kopi. Ternyata oh ternyata beliau mempraktikkan dan tidak bisa melakukan posisi jongkok! Aneh ya? Tapi bukan berarti jongkok itu Indonesia punya, selain di Indonesia setahu saya di Jepang juga ada yang menggunakan toilet jongkok.

E tapi gimana ya, jongkok itu posisi paling maknyus (halah). Waktu KKN teman saya bilang kalau jongkok itu enak soalnya (kata dia) perut jadi tertekan dan bisa mbrojol. Ah, tapi itu sih sugesti sih...

Duduk

Posisi ini juga dikenal secara internasional. Kok internasional sih? Ya soalnya di Indonesia kan lumrahnya toilet jongkok, kok di hotel-hotel posisinya duduk? Berarti secara tidak tertulis ini adalah posisi internasional. Meh..

Posisi ini diakui tidak nyaman bagi orang-orang Indonesia, yang saya temui. Anu.. bahkan seringkali toilet duduk ini tetap saja dijadikan tempat untuk posisi jongkok. Jadi sang pembuang hajat menaruh kakinya di atas dudukan pantat dan jongkok deh disitu. Eeew...


Mungkin masih banyak posisi lainnya ya? Posisi berdiri? Posisi tengkurep? Posisi tidur? Who knows. Posisi ee ini walaupun berbeda-beda tapi tetap satu jua, bhinneka tunggal ika kalau kata orang Indonesia. Tujuannya untuk buang air besar. Bahkan untuk buang air besar kita bisa satu tujuan, kok perdamaian di dunia tidak bisa satu tujuan? Mungkin satu kali ya, tapi beda cara...

Dan kenapa tiba-tiba tentang perdamaian dunia gini. Halah.

Sekian postingan tentang Ee ber Ee hari ini. Syukurilah bisa ee soalnya bahkan ada orang yang harus ke dokter buat ee doang, serius.

Selamat ber ee ria!

Tuesday, October 29, 2013

Error Compile Cocos2d-x di XCode 5

Terjadi keanehan tatkala diriku telah menyambangi XCode 5 bersamaan dengan Cocos2d-x
*Dan mengapa sekarang menggunakan bahasa Indonesia? Ulala, suka-suka saya lah, haha*

Ceritanya saya baru nginstall XCode 5 (sebelumnya pakai XCode 4). Pas compile projek lagi tiba-tiba.. tuing tuing tuing, muncul error "Apple Mach-O Linker (Id) bla bla bla..." diiringi dengan error-error lainnya.

Kalau nggak salah dulu pernah kejadian gini juga, langsung aja deh cari di Build Settings projectnya bagian Apple LLVM 5.0 - Language - C++ nya diganti dikit

C++ Language Dialect : GNU+98 [-std=gnu++98]
C++ Standard Library: libstdc++ (GNU C++ standar library)

compile lagi.. dan bisa! Alhamdulillah...

Kayaknya library Cocos2d-x ada sintaks yang nggak sesuai dengan penulisan C++ yang sekarang gitu ya?

Thursday, October 24, 2013

Less Ordinary Review Maverick OSX 10.9

After the shocking release announcement of freely available of the latest version of OSX, I hurriedly download this OS. Of course I was using my campus Wi-Fi, my mobile connection can’t download 5 gigs for several hour, it would take weeks. After that installing the OS for about one and a half hour, and here it is, the Maverick arrived at my Macbook.
Oh by the way, I’ve just bought Mountain Lion for $20 five months before. Maverick is free, and you can upgrade it from Snow Leopard. And what does it means? It means if I quite patient I could upgrade my OS, without buying it! Haha! Damn it Apple!

Oh, back to the review. If you are following tech magazine like Mashable, or Cult of Mac, or Engadget, you name it, you’ll get the review is about several things of Apple has told to public about this new OS. Let those big magazine fellas review about it, I’ll review about the other things then.



1. Looking Good Trackpadish Gesturish

Since the release of Lion, Apple introduce Launchpad that using gigantic pinch (it’s involving 4 or more finger, that’s why it was gigantic) in and out at your trackpad. But it felt unnatural for me. It was a little gesture pinch in and the Launchpad jumps in.But unnatural no more! Because you can hold your pinch a little longer to see the Launchpad blurring in!
It useful for those minutes of boring moments.

And also it happened for pinching out. And I love the inertia motion when you did that. Wooosh, those windows fly away to the sides.


2. Blurring Dock Background

Following its sister OS, iOS, the effect of blurring is come across Maverick as well. This looks nice.

3. Transparent Foldering 

Also like the iOS. I’ve afraid that it would be that “flying into the folder” effect. That would be scary effect for big screen. Fortunately Apple keep those sliding effect, but say goodbye to fabric-ish skeumorphic. Don’t get me wrong, I loved that background as well, but this one looks nice.

But

Holy Cow! DVORAK!

The installation was finished, and I want to type around at Spotlight, when suddenly… “What the heck? Since when it’s ASDF become AEOU?” That’s strange, the keyboard layout was Romaji!
Thanks goodness the trackpad didn’t become DVORAK as well (is that exist?), and I can delete add the US’s QWERTY layout. And everything back to normal. 

It’s still there

I love to move around between apps (mind my multitasking), and something weird is happened.
When I hover Twitter’s “follow” button of Twitter’s app the yellow box showing the information of follow status. And when I move to other apps using Cmd+Tab, that yellow box still there! Weird.. maybe it’s Twitter fault..

hover it

move to iTunes, still there!

Maverick feels good.

Beside of it's cheap price (huh, it's freeeee).... I don’t know, it just felt cozy and more responsive… till now. Maybe a week later I scream in honest for the spite of lag animation through my small free space hardisk  (Yes, it’s almost full. Thanks to my University’s assignments, and great downloaded-but-never-read-e-books). Hope you feel cozy about it like I do. Because it’s no longer big cat, but it’s a beach, that named after the dog. So radical, eh?

Wednesday, October 23, 2013

Today's Lab Of Cocos2d-X

I was experimenting to deploy my Cocos2d-X’s projects lab to my Android device. Surprisingly there were so many obstacles and ridiculous things bumped me. Here are 4 of them:

1. Compile configuration to Android

The configuration itself is not a piece of cake, especially on my newbie mind. Here are the step that you have to do

Part 1. Eclipse configurations


  1. Make sure you have your project (of course you have, you won’t compile it before you have something to compile, will you?)
  2. Import them into your Eclipse (the proj.android folder)
  3.  Import Cocos2d-X library for Android. It’s in [Your Cocos2d-X folder]/cocos2dx/platform/android/java.
  4. Right click your project (NOT THE LIBRARY), and select properties. Select “Android” tab and make sure you have ticked the target.
  5. Open project.properties, set the “target” to your target platform. For example I make mine this
  6. Open AndroidManifest.xml, and set the android:minSdkVersion to 14
  7. Right click your project folder, select “Android Tools” > “Fix Project Properties

Part 2. Compile commands configurations

  1. Go to your project’s android folder (proj.android folder).
  2. Open “build_native.sh” in your favorite text editor and at the top add this line
    NDK_ROOT="/Users/YOURUSERNAME/Development/android-ndk-r8e"
    a friend of mine told me it was unnecessary. Well it is necessary for Mac (I don’t know how to configure NDK_ROOT variable in Bash for default, but anyway, it works).
    Notes: As you can see I am using r8e version of android NDK. This is the only version that can compile Cocos2d-X 2.1.4 right.
  3. Head to “jni” folder
  4. Open “Android.mk” file. Make sure you have put all your class in LOCAL_SRC_FILES (it will contain HelloWorld and AppDelegeate class for default). This is the example from me:
    LOCAL_SRC_FILES := hellocpp/main.cpp \
                       ../../Classes/AppDelegate.cpp \
                       ../../Classes/Ball.cpp \
                       ../../Classes/GameScene.cpp \
                       ../../Classes/MenuScene.cpp \
    
  5. Open “Application.mk” and add this line for targeting your desired platform
    APP_PLATFORM := android-17

Part 3. Compiling


  1. Back to Eclipse. Select your folder, and run it. It will take a moment, so grab a snack or coffee. BEWARE OF ERROR (Google is your friend. No. Best Friend. No. It's your wife).
  2. Select your target device and scream in joy because you’ve deployed your app in your device.

2. Directly instantiate the initialization

So I have this game that need background of white. I simply add white layer first
CCLayerColor *layerWithColor;
layerWithColor->create(ccc4(255, 255, 255, 255));
addChild(layerWithColor);
Well, that’s looks okay. It’s compile smoothly on my Mac target, but no in Android target. The error is trivial and pops up when you run the game. You know what? You have to do this instead:

CCLayerColor *layerWithColor = CCLayerColor::layerWithColor->create(ccc4(255, 255, 255, 255));
addChild(layerWithColor);
That's insane!

3. No images in my device

So I was using a sprite sheet that sized 3000x500. But unfortunately in my device it won’t drawn and shown as black box instead. Why? Because the LogCat told me that:

cocos2d: WARNING: Image (3000 x 500) is bigger than the supported 2048 x 2048

4. Configuring path to Box2D

One of my experiment using Box2D. To compile it you have to tweak “Android.mk” file and add Box2D in your LOCAL_C_INCLUDES. I’ve found mine like this:
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
                    $(LOCAL_PATH)/../../../../external/Box2D \

UNSOLVED

Can’t call parent destructor from override

I’ve try to make game in Box2D and it require manual deallocation being called in destructor. In Mac target, I can write it like this

GameScene::~GameScene(){
    delete _world;
    _body = NULL;
    _world = NULL;
    CCLayer::~CCLayer();
}

But the compiler won’t accept ~CCLayer();. Hmmh… I don’t know why. If you know about this issue please tell me ASAP.

So that’s it! Enjoy your journey of Cocos2d-X!

Oh by the way, I am taking Game Programming course and using LibGDX. This engine is so simple and powerful. Have you ever using it? It’s in JAVA. Give it a try; you’ll love it too.

Saturday, September 28, 2013

C++: Header Guard

Pas praktikum PBO dan lagi pakai C++ ada praktikan yang pake #include dan error. Katanya ada kelas yang redeclare! Ooh dan ternyata harus pakai Header Guard supaya nggak error.

Dalam C++ untuk pembuatan kelas dibagi menjadi dua, yakni header dan implementasi. Misalnya kita memiliki kelas-kelas sebagai berikut:
Kendaraan
Mobil
Motor

Berarti kita akan membuat 6 file seperti ini:
Kendaraan.h
Kendaraan.cpp
Mobil.h
Mobil.cpp
Motor.h
Motor.cpp

Misalkan Motor dan Mobil masing-masing inherit Kendaraan. Berarti kedua kelas tersebut harus di "include" ke file Mobil dan Motor kan? Nah disini masalahnya

Case Study


Dimisalkan kita memiliki kelas Kendaraan sebagai berikut

Kendaraan.h
//Kendaraan.h
class Kendaraan{
	private:
		int kecepatan;
	public:
		Kendaraan();
		~Kendaraan();
		void setKecepatan(int kecepatan);
		int getKecepatan();
};

Kendaraan.cpp
Kendaraan::Kendaraan(){
	
}
Kendaraan::~Kendaraan(){
	
}
void Kendaraan::setKecepatan(int kecepatan){
	this->kecepatan = kecepatan;
}

int Kendaraan::getKecepatan(){
	return this->kecepatan;
}

Dan kelas anaknya adalah sebagai berikut

Motor.h
//Motor.h
#include "Kendaraan.h"

class Motor:public Kendaraan{
	private:

	public:
		Motor();
		~Motor();
};

Motor.cpp
#include "Motor.h"

Motor::Motor(){

}

Motor::~Motor(){
	
}

Mobil.h
//Mobil.h
#include "Kendaraan.h"

class Mobil:public Kendaraan{
	private:
		
	public:
		Mobil();
		~Mobil();
};

Mobil.cpp
#include "Mobil.h"

Mobil::Mobil(){

}

Mobil::~Mobil(){
	
}
Dan program main nya seperti ini Main.cpp
#include <iostream>

#include "Motor.h"
#include "Mobil.h"

using namespace std;

int main(string args[]){
	Motor motor;
	Mobil mobil;

	return 0;
}

Ketika di compile, yang terjadi adalah error seperti ini

In file included from Mobil.h:1,
                 from Main.cpp:4:
Kendaraan.h:2: error: redefinition of ‘class Kendaraan’
Kendaraan.h:2: error: previous definition of ‘class Kendaraan’

"redefinition of class"! Berarti kita mendefinisikan kelas lebih dari sekali. Ya, soalnya kita sudah mendefiniskan kelas Kendaraan di Motor (dengan #include "Kendaraan.h") kemudian di-include lagi di Mobil, walhasil jadinya dua kali include.

Nah karena itulah kita memerlukan Header guard.

Header Guard

Header guard, atau Include Guard merupakan directives, yaitu perintah yang diawali # dan diakhiri dengan baris baru.

Nah, kita bisa membuat Header Guard dengan memberikan directive berikut di awal tiap header


#ifndef KENDARAAN_H
#define KENDARAAN_H

//Kendaraan.h
class Kendaraan{
	private:
		int kecepatan;
	public:
		Kendaraan();
		~Kendaraan();
		void setKecepatan(int kecepatan);
		int getKecepatan();
};

#endif

directive yang kita tulis menyatakan jika belum didefinisikan (#ifndef) maka definisikan (#define) kelas kita. Jangan lupa beri #endif di akhir

beri header guard ini di setiap header kelas yang kamu buat. Dengan pemberian header guard ini kalau kamu #include kelas lebih dari sekali nggak ada lagi issue redefinition of class

referensi:
http://www.learncpp.com/cpp-tutorial/110-a-first-look-at-the-preprocessor/
http://en.wikipedia.org/wiki/Include_guard
http://en.wikipedia.org/wiki/Header_file

Tuesday, September 24, 2013

Sebuah Tugas SI: Frameworks, Business Process, dan Jobs

Mata kuliah Sistem Informasi mengajarkan peran sebuah software dalam sebuah sistem. Bukan berarti sebuah software adalah sistem ya! Software merupakan alat dalam "sistem informasi" yang saling terkoneksi dalam sebuah institusi.
Ternyata Sistem Informasi menarik untuk dikaji lebih mendalam. Saya baru tahu bahwa perusahaan dalam menerapkan sistem informasi menggunakan framework. Framework adalah bagan rancangan penggunaan sistem informasi yang teratur. Ahli-ahli sistem informasi telah menerapkan framework-framework dan digunakan luas oleh perusahaan-perusahaan besar.
Saya kurang begitu ngeuh juga sih... Saya kurang bisa menangkap cepat kalau mata kuliahnya sangat teori. Tapi begitu lah ya pokoknya... mudah-mudahan kamunya nangkep.
Berikut ini adalah tugas mata kuliah SI untuk mencari istilah-istilah yang ada dalam SI.

Just check it out

Thursday, September 19, 2013

Finally got the Cocos2D-X running

Kyaa Kyaa

The problem on libcocos2dx when imported to eclipse is the target was aimed to 10, but my SDK need 17. So, just open up project.properties in your libcocos2dx and change the Project Target to your desired version (mine is 17).

This is Cocos2D-X 3.0 by the way. I can't resolved the error when using ./build_native.sh on 2.1.4 version. The error was something like this:

/proj.android/../../../cocos2dx/platform/android/CCCommon.cpp:54:77: error: format not a string literal and no format arguments [-Werror=format-security]

I've googled around and some of the forums told me that it was the NDK problem. It can't be built in r9 neither r8. Now I'm downloading the r8e version.

Phew. The latest version work anyway, so that's it, let's jumpin' into Cocos2D-X awesomeness.



Saturday, September 7, 2013

Beginning OpenCV

OpenCV adalah library untuk memanipulasi citra visual. Dengan OpenCV kita bisa memanipulasi gambar tanpa harus coding di low-level (misalnya load gambar kemudian ekstraksi decode dari file gambar, dsb).

Kenapa ingin menggunakan OpenCV?

I've ever try to manipulate image directly from its binary file. Cuma pengen bikin gambar 2x2 pixel yang isinya titik doang. Iye, pengen ngedecode hex file nya si jpg. Bump! Ternyata nggak gampang (nggak ngerti), mwahaha! Kemudian dari hasil searching di internet OpenCV lah jawabannya untuk mempermudah manipulasi gambar.

Kemudian bidang citra visual sangat menarik untuk diteliti. Mata manusia yang bekerjasama dengan otak manusia menghasilkan informasi baru sangat misterius! Bagaimana manusia bisa mengetahui sebuah benda walaupun sebagian benda saja yang tampak? Bagaimana manusia bisa memprediksi pergerakan balon? Darimana manusia mengetahui ada benda-benda di atas meja? Seperti apa manusia mengenali gerakan-gerakan tangan seperti menunjuk dan melambai? Kok bisa manusia mengetahui wajah yang murung, sedih, ceria? Itu semua misteri! Dari pandangan ilmiah hal ini bisa dipelajari di sub bidang Computer Science yakni Computer Vision.

Dan.. eum... Saya ingin memulai penelitian saya mengenai pengenalan objek dari citra visual (uwow, skripsi uwow).

Persiapan OpenCV


Tutorial installasi saya dapat di https://sites.google.com/site/learningopencv1/ yang tampaknya web mata kuliah tentang Computer Vision dari Harvey Mudd College (HMC). Kebetulan juga OS yang dipakai OSX. Makasih banyak ya yang udah bikin. Disini saya tambahkan beberapa hal dari pengalaman saya
Saya pernah mencoba menginstall di OSX Snow Leopard, tapi ternyata gagal. Setelah saya upgrade jadi Mountain Lion sekarang bisa, kurang tahu kenapa.

Pertama-tama download dulu OpenCV. Versi yang saya download setelah menulis post ini adalah Opencv 2.4.5. Kamu bisa mendownloadnya di http://opencv.org/

Pastikan juga kamu sudah memiliki Macports. Macports adalah package management system untuk Mac untuk aplikasi-aplikasi open source. Downloadnya bisa di http://www.macports.org

Sudah oke? Mari kita lanjutkan

Build OpenCV


  1. Ekstrak OpenCV, taruh di /Users/userkamu, dan rename foldernya menjadi opencv
  2. Buka Terminal
    1. Pertama-tama update dulu port kamu:
      sudo port -v selfupdate
    2. Kemudian instal subversion:
      sudo port install subversion
    3. Kemudian install cmake. Saya sendiri skip yang bagian cmake soalnya setelah memasukkan command cmake di terminal ternyata sudah ada. :
      sudo port install cmake
  3. cd ke folder opencv.
  4. Buat folder build:
    mkdir build
  5. kemudian ketik ini:
    cmake -G "Unix Makefiles" ..
    make -j8
    sudo make install

Project XCode

  1. Buka XCode, pilih New Project > Command Line Tool
  2. Pilih Type C++, beri nama proyeknya dan simpan
  3. Klik project, pada tab Build Settings, cari header "Search Path".
    1. Pada Header search path isi: /usr/local/include
    2. Pada Library search path isi: /usr/local/lib
  4. Klik kanan project di sisi kiri (tab project navigator), klik New Group, beri nama OpenCV Frameworks
  5. Klik File > Add Files
  6. Ketik /usr/local/lib
  7. Pilih libopencv_core.dylib dan libopencv_highgui (Pilih banyak sambil tekan CMD). Kedepannya bila kamu memerlukan library tertentu bisa memilh lagi
Sekarang kamu bisa mencoba memulai coding. Ini contoh kode dari HMC yang bisa dipakai

#include <"iostream">
#include <"opencv2/opencv.hpp">

int main(int argc, char *argv[])
{
    // Open the file.
    
    IplImage *img = cvCreateImage( cvSize(100,200), IPL_DEPTH_8U, 3); //if (!img) {
    
    //    printf("Error: Couldn't open the image file.\n");
    //    return 1;
    //}
    
    // Display the image.
    cvNamedWindow("Image:", CV_WINDOW_AUTOSIZE);
    cvShowImage("Image:", img);
    
    // Wait for the user to press a key in the GUI window.
    cvWaitKey(0);
    // Free the resources.
    cvDestroyWindow("Image:");
    cvReleaseImage(&img);
    
    return 0;
}


Command+B untuk Build, Command+R untuk Run. Hasilnya seperti ini:

Next Step

Yeeey! Jalan! Sampai sejauh ini saya bisa memasukkan input kamera dan mencoba efek blur pada gambar. Waktu menggunakan efek blur sempat tidak ditemukan methodnya, ternyata lupa untuk memasukkan library (ingat kan saat memasukkan library ke dalan group "OpenCV Frameworks"?).

Sekarang tinggal nyari tutorial buat belajar fitur dasar library ini terus belajar metode-metode Computer Vision deh. Ganbare!
nyoba pakai kamera


Sumber:
https://sites.google.com/site/learningopencv1/installing-opencv
http://tilomitra.com/opencv-on-mac-osx/#comment-1138

Monday, August 5, 2013

Orientasi Cocos2d-X di iOS

Saya sedang mencoba tutorial membuat game pesawat dengan Cocos2d-X. Game ini memiliki orientasi landscape. Template yang berisi contoh di iOS kini portrait, padahal mau game landscape. Documentation resmi mengenai orientasi device Cocos2d-X tidak memberikan hasil yang otomatis. Beberapa saat googling, ada metode sederhana oleh Zhe Wang untuk orientasi di Cocos2d-X.

katanya di AppController.mm ganti ini:
   // Set RootViewController to window
   [window addSubview: viewController.view];
jadi gini:
   // Set RootViewController to window
   if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0)
   {
       // warning: addSubView doesn't work on iOS6
       [window addSubview: viewController.view];
   }
   else
   {
       // use this mehod on ios6
       [window setRootViewController:viewController];
   }
kemudian ubah orientasi pada kelas RootViewController.mm di method shouldAutorotateToInterfaceOrientation.

Enjoy!

Sunday, July 21, 2013

Ada Maling di Cibabat!


di mesjid, lampu emergency dan lilin 

Malam ini ada kejadian cukup menegangkan di kelurahan Cibabat. Ada maling!
Jam menunjukkan pukul 19:05. Adzan Isya berkumandang dan saya pun melangkah keluar posko. Saatnya pergi ke mesjid Al-Maarij. Kenapa mesjid ini? Soalnya dekat.
Baru saja menapak selangkah, saya tersentak. Ada pemandangan yang aneh, halaman posko yang menghadap belakang saat itu gelap. Biasanya rumah dekat kebun menyalakan lampu dan lumayan menerangi pohon-pohon di sekitar halaman posko. Sekarang tidak, suasananya suram.
Dan sesosok setan muncul!

Tuesday, July 2, 2013

Rapel Rangkuman KKN

Pengen nulis, tapi lagi nggak mood nih buat nulis. Jikalau terdapat kata-kata yang kurang berkenan serta cara bertutur yang tidak berstruktur bagi mata anda maka mohon maklum. Siapkan obat tetes mata aja ya.

Dua minggu kegiatan KKN adalah kegiatan yang he’eum banget.
Apa itu he’eum? He’eum adalah personifikasi dari kegiatan yang membingungkan dan menyenangkan ketika bersatu dengan galur-galur kepribadian…. huh, cukup.

Oke, mari kembali.

Sebelumnya saya jabarkan dulu lah ya program kerja yang sudah dirancang sebelumnya.

Kelompok LH (Lingkungan Hidup) Cibabat memiliki 4 program utama, yakni:
  1.  Peta hijau, pembuatan informasi daerah tentang tanaman dan tempat sampah yang terletak di daerah tertentu.
  2. Penyuluhan, memberikan informasi tentang lingkungan hidup kepada warga sekitar.
  3. Urban Farming, melakukan kegiatan bercocok tanam yang menghasilkan.
  4. Benah Banjir, bersih-bersih dan membuat lubang Biopori bersama-sama warga untuk menghindari banjir.


Sudah kebayang apa yang akan kami kerjakan? Mari kita runut kegiatan yang sudah dilakukan

Senin, 24 Juni 2013
Pindah-pindah. Awalnya pengen penyambutan di kecamatan, ternyata sekalian besok pas upacara.

Selasa, 25 Juni 2013
Hari ini kegiatan Apel di kecamatan. Setelah sekian lama nggak upacara, berdiri 20 menit aja sudah pegel beud. Disana upacara juga berbarengan dengan teman-teman dari kelurahan Cibabat yang lain.
Setelah upacara di kecamatan kemudian dilanjutkan dengan kunjungan ke kelurahan untuk bertemu dengan Pak Arie selaku Pak lurah. Kelurahannya dekat banget dengan posko!
Pak lurah bilang RW yang memiliki masalah yang lumayan pelik di Cibabat ada di RW 9 (dan beberapa RW lain, hmm… lupa sisanya).
Sorenya jalan-jalan ke RW 25/ RT 01 untuk bertemu Pak RT nya. Ada benarnya juga Pak lurah menyarankan kegiatan di RW 9. Selama perjalanan menuju rumah Pak RT, dari pandangan saya RW 25 rumah-rumahnya kebanyakan besar-besar, lingkungannya asri, dan sudah banyak kebun juga.
Sesampainya disana kami bertemu dengan Pak RT yang sedang nyapu-nyapu jalan. Kemudian kami diajak ngobrol-ngobrol di kantor RW.
Eh kebetulan ternyata Pak Ripto, nama dari Pak RT nya, memegang jabatan yang mengurus lingkungan hidup. Asyik…


Rabu, 26 Juni 2013
Karena hari sebelumnya dibilang pak Arie menyarankan ke RW 9 jadinya jalan-jalan deh ke sana.

Kamis, 27 Juni 2013
Di Kelurahan Cibabat nggak cuma kelompok kami yang mengadakan kegiatan KKN, ada juga dari STKIP Siliwangi. Nah karena itu kami bersama-sama bertemu dengan teman-teman STKIP, itung-itung silaturahmi, siapa tahu bisa mengadakan kegiatan bareng juga lah ya…
Selain ketemu-ketemuan, hari ini juga ada penyulihan dari Badan Amil Zakat di kelurahan. Sekaligus ikut penyuluhan, sekaligus dapat makan gratis sih…. (lumayan dapat cilok gratis, kikikikik)
Kemudian sekitar jam setengah empat dilanjutkan dengan penyuluhan tentang septik tank komunal deh.
Kayaknya informasi tentang septik tank komunal bakalan saya tulis secara terpisah. Pas akhir dari kegiatan saya ketemu dengan pemateri yang datang dari pegawai pemkot Cimahi. Eits, kemudian dapat undangan besoknya ke pemkot untuk kegiatan rapat disana.
Setelah itu sholat deh di masjid, yang membuat saya kehilangan sepasang sepatu tercinta, hm.. saya tulis secara terpisah juga deh nanti.

Jumat, 28 Juni 2013
Menghadiri Pak Komme, yang kemarin ngundang ke kantor pemkot Cimahi. Dibilangnya jam 8 sih… err… tapi ternyata mulai acaranya jam 10. Lama juga ya? Hm.. biasa sih.. Indonesia (aduh cliché). Tapi nggak apa-apa lah lama nunggu juga, dapat konsumsi (pret!). Coba ditulis terpisah lah ya~

Sabtu, 29 Juni 2013
Pulang, ngambil sepatu di kontrakan. Ini muter-muter sumpah, kayaknya bikin postingan terpisah lagi deh ya.

Minggu, 30 Juni 2013
Jalan-jalan ke Blok M (sebutan buat makam) untuk menghadiri undangan Kaulinan Budak Baheula. Itu adalah program yang dilaksanakan oleh

Senin, 1 Juni 2013
Ngebantu kegiatan POSBINDU di RW 9. POSBINDU itu semacam POSYANDU tapi buat lansia. Saya baru tahu istilah POSBINDU ini. Keren juga programnya, jadi warga RW 9 yang sudah lansia berdatangan, dicek berat badan dan tingginya, kemudian konsultasi. Kami cuma ngebantuin pencatatan, mengukur tinggi dan berat badan pengunjung.
Setelah itu ngobrol-ngobrol dengan Pak RW 9. Panggilan beliau Pak Topo.

Selasa, 2 Juni 2013

Bersih-bersih kebun di sebelah POSYANDU.

Udah dulu deh, update-update berikutnya akan terukir disini.
Doakan saya menulis! Hyat!