Wednesday, April 29, 2009

Menukar dua buah nilai tanpa menggunakan temporary variabel dengan bahasa C

Untuk menukarkan dua nilai dengan bahasa C tanpa menggunakan variabel sementara, dapat dilakukan dengan memakai operator bitwise Exclusive-OR sebanyak tiga buah. Lihat kode di bawah ini:




#include <stdio.h>

int main(int argc, char *argv[])
{
int a;
int b;

a = 16;
b = 30;

printf("a=%d b=%d\n", a,b);
a ^= b;
b ^= a;
a ^= b;
printf("a=%d b=%d\n",a,b);

return 0;
}





kode di atas setelah di kompilasi akan menukarkan nilai a dengan nilai b, dimana nilai a = 16 dan nilai b = 30 akan ditukarkan menjadi a = 30 dan b = 16.

Bagaimana cara kerjanya?
Nilai a akan di-XOR-kan dengan nilai b, lalu hasilnya disimpan di a, kemudian nilai b di-XOR-kan dengan nilai a yang telah diubah, ini akan menghasilkan nilai a sebelum diubah lalu nilai ini disimpan ke b. Akhirnya nilai a di-XOR-kan kembali dengan nilai b yang telah diubah, ini akan menghasilkan nilai b sebelum terjadi perubahan.


Ini penjelasannya secara lebih sistematis:

a = 16 desimal --> 10 heksadesimal --> 0001 0000 biner
b = 30 desimal --> 1E heksadesimal --> 0001 1110 biner

pada statement a ^= b dilakukan peng-XOR-an a dengan b:

0001 0000 --> a
0001 1110 --> b
---------- XOR
0000 1110 --> a

hasil peng-XOR-an berupa 0000 1110 disimpan di a,

pada statement b ^= a dilakukan peng-XOR-an b dengan a:

0001 1110 --> b
0000 1110 --> a
---------- XOR
0001 0000 --> b

hasil peng-XOR-an berupa 0001 0000 (16 desimal) disimpan di b,

pada statement a ^= b dilakukan peng-XOR-an b dengan a:

0000 1110 --> a
0001 0000 --> b
---------- XOR
0001 1110 --> a

hasil peng-XOR-an berupa 0001 1110 (30 desimal) disimpan di a.

Sehingga hasil akhirnya berupa;
a = 30 dan b = 16.





Selamat mencoba :).

Simple Enkripsi File

Jika anda memiliki beberapa file penting yang ingin dilindungi keamanan datanya dari pihak lain, anda dapat menggunakan paket gpg (GNU Privacy Guard) yang merupakan versi PGP (Pretty Good Privacy) dengan lisensi GPL. Paket ini hampir tersedia di semua distro linux yang ada. Paket ini menyediakan dua model enkripsi: asymmetric (kunci publik) dan symmetric.

Bayangkan jika anda memiliki spesifikasi yang sangat penting dari sebuah proyek yang anda kerjakan, yang disimpan dengan nama PROYEK.pdf, dan anda ingin menyembunyikannya dari pihak yang tidak berkepentingan. Untuk melakukannya, gunakan:

$ gpg --output Cipher --symmetric --cipher-algo TWOFISH PROYEK.pdf

gpg akan meminta anda memasukkan password/passphrase yang akan digunakan sebagai kunci untuk mengamankan data anda. Ketikkan dan konfirmasikan. Passwordnya sebaiknya sekompleks mungkin, namun mudah untuk diingat.

Mari kita pelajari command yang kita masukkan. Kita memerintahkan gpg untuk mengenkripsi file PROYEK.pdf menggunakan enkripsi symmetric (--symmetric) dan algoritma cipher TWOFISH (--cipher-algo TWOFISH). Tanpa opsi terakhir, gpg akan menggunakan cipher default yakni CAST5. Output akan disimpan di file Cipher (--output Cipher). Anda harus perhatikan, program akan bertanya apakah file harus ditimpa (overwrite), jika file output yang diberikan telah ada sebelumnya.

Untuk mendekripsi file Cipher, anda dapt menggunakan perintah:
$gpg --output PROYEK.pdf --decrypt Cipher


Opsi --decrypt berfungsi untuk memerintahkan program gpg mendekripsi file Cipher, sedangkan --output PROYEK.pdf menentukan name file output. gpg secara otomatis akan mengenali jenis cipher yang digunakan dan akan memunculkan permintaan password/passphrase.




Referensi:
1.Hakin9 Magazine, January 2005. www.hakin9.org
2. Manual GnuPG 1.4.9

Monday, April 20, 2009

GUI Sederhana dengan menggunakan pemrograman pragmatikal di MATLAB®

Sebelumnya kita harus mengerti apa itu GUI. Sebuah "Graphical User Interface (GUI)" merupakan tampilan grafis yang mengandung alat-alat atau komponen-komponen yang memampukan pengguna untuk melakukan pekerjaan interaktif. Untuk melakukan pekerjaan ini, pengguna dari GUI tidak perlu membuat script atau mengetik perintah di command line. Sering sekali, user tidak perlu tahu detail dari pekerjaan yang dilakukan.

Komponen GUI dapat berupa menu, toolbar, push button, radio button, list box, dan slider. di software MATLAB®, GUI dapat juga menampilkan data dengan bentuk tabular atau sebagai plot, dan dapat dikelompokkan ke dalam komponen yang berkaitan.

Gambar di bawah menunjukkan GUI sederhana.



















GUI ini mengandung:
-sebuah kompone push button
-sebuah edit box komponen
ketika anda mengklik push button, pada edit box akan muncul tulisan "Hello World".

Bagaimana GUI ini bekerja?
Setiap komponen, dan GUI tersebut, diasosiasikan dengan satu atau lebih rutin yang ditulis pengguna yang dikenal sebagai callback. Eksekusi setiap callback dipicu oleh aksi tertentu dari pengguna seperti tombol ditekan, klikan mouse, pemilihan menu item, atau cursor melewati sebuah komponen. Kita sebagai pembuat GUI, yang menyediakan callback tersebut.


Lalu apa itu callback?
Sebuah callback merupakan fungsi yang kita tulis dan asosiasikan dengan sebuah komponen tertentu pada GUI atau dengan GUI itu sendiri. Callback mengontrol sifat GUI atau komponen dengan melakukan beberapa aksi untuk merespon kejadian pada komponennya tersebut. Kejadian dapat berupa mouse diklik pada sebuah push button, pemilihan menu, keyboard ditekan, etc.

Ok, cukup sudah basa-basinya (terlalu panjang jadi membosankan, saya pun capek mengetiknya hahaha :)). Di bawah ini listing source codenya:





function simple_gui
% Simple GUI with matlab to show how it works

% Initialize and hide the GUI as it is being constructed
fh = figure('Visible', 'off', 'Position', [360, 400, 300, 180]);

%Construct the components
% Push Button
hButton = uicontrol(fh, 'Style', 'pushbutton',...
'String', 'Push Button',...
'Position', [20, 120, 70, 25],...
'Callback',{@hButton_Callback});
% Edit Button
hEdit = uicontrol(fh, 'Style', 'edit',...
'String', '',...
'Position', [100 115 130 35]);

% Make the GUI visible.
set(fh,'Visible','on');

% Callback for hButton to show string 'Hello World' in edit Button
function hButton_Callback(source, eventdata)
set(hEdit, 'String', 'Hello World');
end

end







Saya akan menjelaskannya sedikit,


function simple_gui
.
.
.
end
Setiap script MATLAB® yang menggunakan callback harus diawali dengan function dan diakhiri dengan end karena script ini merupakan fungsi bersarang.

% blablabla
Kalimat yang diawali dengan tanda '%' merupakan komentar dan tidak akan dieksekusi oleh MATLAB®.


fh = figure('Visible', 'off', 'Position', [360, 400, 300, 180]);
Statement ini membentuk objek figure bernama fh, tidak ditampilkan lebih dahulu (properti Visible dibuat off), properti Position merupakan vektor empat-elemen yang menentukan lokasi GUI pada layar serta ukurannya: [jarak dari kiri, jarak dari bawah, lebar, tinggi]. Nilai defaultnya dalam pixel.


hButton = uicontrol(fh, 'Style', 'pushbutton',...
'String', 'Push Button',...
'Position', [20, 120, 70, 25],...
'Callback',{@hButton_Callback});
Statement ini membentuk objek kontrol user interface hButton, Dengan fh sebagai parent GUInya, berupa push button, memiliki String Push Button, berada pada posisi 20 dari kiri layar, 120 dari bawah layar, lebar 70, tinggi 25, serta memiliki fungsi callback 'hButton_Callback' untuk merespon kejadian pada objek ini.


hEdit = uicontrol(fh, 'Style', 'edit',...
'String', '',...
'Position', [100 115 130 35]);
Penjelasannya sama dengan hButton, tetapi objek berupa edit box.

set(fh,'Visible','on');
Set properti fh supaya ditampilkan di layar.


function hButton_Callback(source, eventdata)
set(hEdit, 'String', 'Hello World');
end
Bagian ini merupakan callback untuk objek hButton, dimana ketika push button ditekan akan menyebabkan edit box menunjukkan string 'Hello World' di dalamnya.


Untuk menjalankannya, simpan source code di atas ke sebuah file berekstensi m atau M, lalu jalankan dari command line MATLAB®.

















Referensi:
1. MATLAB® R2008A help file.
2. Otakku yang segar :).



Selamat mencoba,


Juan Rio Sipayung

Review buku A Child Called "It"


Meskipun buku ini sudah cukup lama diterbitkan, tetapi saya pikir buku ini sangat layak untuk di review mengingat bahwa cerita di dalamnya merupakan kejadian nyata yang dialami oleh penulisnya.
Buku yang berjudul A Child Called 'It' ini menceritakan bagaimana tragisnya perjuangan hidup seorang anak. David J. Pelzer, penulis buku ini sekaligus tokoh anak yang diceritakan didalamnya, disiksa oleh ibu kandungnya sendiri. Diceritakan dari sudut pandang penulis sebagai anak lelaki kecil yang dibuat lapar, ditikam, kepalanya diantukkan ke cermin, dipaksa makan isi popok adik kandungnya dan sesendok makan penuh ammonia, dan dibakar di atas kompor gas oleh ibu yang maniak dan alkoholik. Terkadang ibunya mengatakan ia telah melanggar beberapa aturan--jangan berjalan di rumput sekolah!-- tetapi kebanyakan murni sadisme. Yang tidak dapat dipahami, ayahnya tidak melindunginya; hanya seorang guru yang perhatian yang menyelamatkan David.

ini kutipan saat David dipaksa makan isi popok adik kandungnya:

...
...
Ayah mencoba membuat suasana liburan itu lebih
menyenangkan dengan mengajak kami bertiga ke tempat
bermain prosotan yang baru di situ. Russell, yang ketika
itu baru belajar berjalan, tinggal di cabin bersama Ibu.
Pada suatu hari, ketika Ron, Stan, dan aku sedang bermain
di cabin tetangga, Ibu datang ke halaman depan cabin
tetangga itu, lalu berteriak memanggil kami untuk segera
kembali ke cabin kami. Begitu sampai di cabin kami, aku
dimarahi Ibu karena, katanya, suaraku berisik sekali ketika
bermain. Sebagai hukuman, aku tidak diizinkan ikut
bersama Ayah dan kedua saudara laki-lakiku bermain di
tempat prosotan. Aku duduk di sebuah kursi di pojok
dalam cabin. Aku gemetar karena takut, dan dalam hati
aku berharap terjadi sesuatu yang membuat Ayah dan
kedua saudara laki-lakiku tidak jadi pergi ke mana-mana.
Aku tahu Ibu diam-diam punya suatu rencana. Begitu Ayah
dan kedua saudaraku berangkat bermain, Ibu
mengeluarkan sebuah popok yang sudah kotor oleh
kotoran serta air kencing Russell. Ibu mengusapkan popok
kotor itu ke wajahku. Aku ber-usaha tetap duduk diam,
sebab aku tahu kalau aku bergerak, aku akan mendapat
perlakuan yang lebih buruk lagi. Wajahku tetap
kutundukkan. Aku tidak bisa melihat Ibu yang berdiri di
depanku, tetapi aku bisa mendengar desah napasnya yang
berat.

Setelah memperlakukan aku seperti itu--yang bagiku
rasanya lama sekali--Ibu berlutut di sebelah kursi
tempatku duduk, lalu dengan suara pelan ia berkata,
"Makan ini".
Aku terkejut. Kutegakkan kepalaku, tapi tak kupandang
mata Ibuku. "Tidak mau!" kataku dalam hati. Seperti
semua kejadian sebelumnya, menolak perintah Ibu berarti
kesalahan besar. Ibu menempelengi aku. Dengan erat
kupegang kursi tempatku duduk, berusaha untuk tidak
jatuh, sebab bila aku jatuh aku takut Ibu akan
menginjakku.
"Kubilang makan ini!"' bentaknya dengan suara tertahan.
Taktik kuubah: aku mulai menangis. "Bikin dia
mengendur", pikirku. Aku mulai menghitung dalam hati,
mencoba berkonsentrasi. Waktu adalah satu-satunya
kawanku. Tangisanku ditanggapi Ibu dengan pukulan-
pukulannya ke wajahku, dan ia baru berhenti memukulku
saat ia mendengar Russell menangis.

Aku merasa senang meskipun wajahku berlepotan kotoran.
Kupikir, aku bisa menang. Kubersihkan kotoran di wajahku
dengan tangan, lalu mengibaskannya sehingga berceceran
di lantai kayu. Kudengar Ibu bernyanyi lembut untuk
menenangkan Russell, dan aku membayangkan adikku itu
ditimang-timang dalam pelukan Ibu. Aku berdoa supaya
adikku itu tidak tertidur lagi. Sebentar kemudian nasib
baikku lenyap.

Masih dengan wajah tersenyum, Ibu kembali menghampiri
lawannya yang sudah kalah. Ia mencekal kerah belakang
bajuku, lalu menyeretku ke dapur. Di atas meja dapur
kulihat satu lagi popok yang penuh kotoran. Baunya
membuat perutku mual. "Nah, sekarang kau harus
memakannya!" kata Ibu. Pada saat itu sorot mata Ibu
sama dengan sorot matanya dulu ketika ia mau
membakarku di atas kompor gas di rumah. Tanpa
menggerakkan kepala, mataku mencari-cari jam dinding
sebab setahuku ada jam di dinding dapur itu. Tak berapa
lama, aku tahu letak jam dinding itu. Tanpa jam itu, aku
merasa tak berdaya. Aku tahu bahwa aku harus
memusatkan perhatianku pada sesuatu agar
bagaimanapun juga aku bisa menguasai situasi. Sebelum
mataku menemukan jam dinding itu, tangan Ibu
mencengkeram tengkukku.
Sekali lagi ia berkata, "Makan ini!" Kutahan napasku. Bau
sekali kotoran itu. Aku mencoba memusatkan perhatianku
ke bagian atas popok yang ada di hadapanku. Rasanya
lama sekali waktu berlalu. Ibu pasti bisa menebak
rencanaku. Ibu menekan tengkukku sehingga wajahku
jatuh di atas popok kotor itu. Ibu menggesek-gesekkan
kepalaku ke kiri ke kanan di atas popok kotor itu.
...
...




Happy Reading,


Juan Rio Sipayung

Rosetta Stone V3.2 di Linux dengan menggunakan Wine

Sayang sekali Rosetta Stone V3.2 tidak dibuat untuk linux, hanya untuk Windows dan MacOS, mungkin developernya takut tidak dapat pasaran :). Tapi tidak usah kecewa saat, ini Rosetta Stone V3.2 sudah dapat dijalankan dengan baik di linux dengan perantaraan wine. Tidak ada masalah sama sekali dalam menginstallnya bahkan satu pesan error pun tidak ada.



















Bagi yang tidak tahu binatang apa itu Rosetta Stone, saya akan coba mengulas sedikit....
Rosetta Stone merupakan software yang berguna untuk mempermudah pembelajaran suatu bahasa secara mudah. Banyak bahasa yang sudah dicakup oleh software ini; Bahasa Inggris, Perancis, Spanyol, Jepang, Mandarin, Rusia, Arab dan lain sebagainya. Setiap bahasa biasanya dikemas dalam tiga tingkatan. Kita harus membeli setiap tingkatan untuk dapat menggunakan software ini. Hebatnya software ini sudah menyediakan speech processing di dalamnya sehingga penggunanya dapat belajar speaking yang benar dari sebuah bahasa.
Dibawah ini screenshot saat saya menggunakan Rosetta Stone dengan language pack spanyol.















Coba software ini pasti anda tidak akan menyesal :).

Apa itu Virtual Machine di Linux (Virtualisasi di Linux)

Dengan virtualisasi kita bisa menjalankan Sistem Operasi yang tidak dimodifikasi - termasuk semua software yang yang di install di dalamnya - langsung di atas Sistem Operasi yang ada, di sebuah lingkungan khusus yang disebut "Virtual Machine". Komputer fisik kita biasanya disebut "host", sedangkan virtual machine-nya disebut "guest". Virtual Machine memperbolehkan guest code untuk berjalan tanpa modifikasi, langsung di komputer host, Virtual Machine juga membuat Sistem Operasi guest "berpikir" bahwa ia berjalan di mesin nyata. Tetapi di belakang layar Virtual Machine ini mengintersepsi beberapa operasi tertentu yang dikerjakan guest untuk memastikan guest tidak menginterferensi program lain di host.

Teknik dan fitur yang disediakan oleh virtual machine sangat berguna untuk beberapa hal-hal tertentu seperti:
1. Dukungan System Operasi. Dengan Virtual Machine, kita dapat menjalankan software untuk sistem operasi tertentu pada sistem operasi lainnya (sebagai contoh, software Windows di Linux) tanpa perlu melakukan reboot untuk menggunakannya. Kita bahkan dapat menginstall sistem operasi kuno pada Virtual Machine seperti DOS atau OS/2 jika hardware komputer kita tidak mendukungnya lagi.

2. Konsolidasi Infrastruktur. Virtualisasi mampu mengurangi pengeluaran untuk hardware dan listrik secara signifikan. Performansi tinggi yang disediakan oleh hardware saat ini sangat jarang dibutuhkan, dan server-server tipikal biasanya mendapatkan beban rata-rata seperkecil bagian dari kemampuan teoritisnya. Jadi, daripada menggunakan banyak komputer fisik yang hanya partial digunakan, kita dapat mengemas banyak virtual machine ke beberapa host berkemampuan tinggi dan menyeimbangkan beban diantaranya.

3. Testing dan Recovery dari Bencana Alam. Setelah diinstall, sebuah Virtual Machine dan Virtual Hard Disk nya dapat dianggap sebagai "Container" yang suatu waktu dapat di dibekukan, dibangunkan, disalin, di back-up, dan ditransportasikan di antara host. Kita dapat menyimpan keaadaan tertentu dari sebuah virtual machine dan kembali lagi ke keadaan tersebut jika diperlukan. Dengan cara ini, kita dapat leluasa bereksperimen di lingkungan komputasi.


Teknik yang digunakan Virtual Machine

Untuk mengemulasikan sistem operasi di atas sistem operasi lainnya, ada beberapa teknik yang digunakan oleh software Virtual Machine. Beberapa teknik tersebut antara lain:
1. Paravirtualization. Dalam dunia komputer, paravirtualization adalah teknik virtualisasi yang menampilkan interface software ke Virtual machine yang sama tapi tidak identik dengan yang ada di hardware sebenarnya.
2. Dynamic Recompilation. Teknik ini merupakan bagian dari beberapa emulator dan virtual machine, di mana sistem dikompilasi kembali sebagai bagian yang dieksekusi sebelum program. Dengan mengkompilasi sebelum eksekusi, sistem dapat membawa code yang dihasilkan kepada program run-time environment, dan berharap menghasilkan kode yang lebih efesien dari eksploitasi informasi yang tidak tersedia pada traditional static compiler.
3. Emulation. Teknik yang memperbolehkan program komputer untuk berjalan di sebuah platform yang berbeda (arsitektur komputer maupun sistem operasi), meskipun program tersebut berbeda platform saat pembuatannya.
4. Dynamic Translation. Just-in-time compilation (JIT), yang juga dikenal sebagai dynamic translation, merupakan suatu teknik untuk meningkatkan performansi sistem pemrograman bytecode-compiled, dengan menerjemahkan bytecode ke dalam native machine code pada saat dijalankan. JIT dibuat berdasarkan duah buah ide dalam run-time environments, yaitu bytecode compilation dan dynamic compilation.


Beberapa contoh virtual machine, lisensi dan metode operasinya:
1. Bochs, lisensi LGPL, Emulasi.
2. DOSBox, lisensi GPL, Emulasi menggunakan Dynamic Translation atau Interpretation.
3. DOSEMU, lisensi GPL Version 2, Virtualisasi Hardware.
4. GXemul, lisensi BSD, Emulasi menggunakan Dynamic Translation.
5. PearPC lisensi GPL, Emulasi menggunakan Dynamic Translation.
6. Qemu, lisensi GPL/LGPL, emulasi dan virtualisasi.
7. VirtualBox, lisensi GPL version 2; versi penuh dengan fitur extra enterprise berlisensi proprietary (gratis untuk pengguna perorangan dan pendidikan serta evaluasi), virtualisasi.
8. VMware Workstation lisensi Proprietary, virtualisasi.




Referensi:
1.Sun xVM VirtualBox User Manual Version 2.1.2. 2004-2009 Sun Microsystems, Inc. http://www.virtualbox.org
2. Info Linux Edisi Januari 2006. www.infolinux.web.id
3. Comparison of virtual machine. Wikipedia. Diambil 13 Augustus 2008.

Wednesday, April 15, 2009

Comix, Software untuk mempermudah membaca komik

Bagi teman-teman yang suka membaca komik elektronik dapat memanfaatkan Software yang satu ini Comix. Sesuai dengan namanya software ini memiliki fungsi sebagai komik reader. Yang patut diacungi jempol yakni software ini mampu membaca file format ZIP, RAR, dan arsip tar (juga kompresi gzip atau bzip2), ini saya kutip kata-kata dari About-nya:

"Comix is an image viewer specifically designed to handle comic books. It reads ZIP, RAR, and tar archives (also gzip or bzip2 compressed) as well as plain image files."




















Gambar dibawah ini adalah screenshot comix saat membuka file zip komik Naruto 1 halaman ke 2














Software ini memiliki model view yang banyak; fit screen mode, fit width mode, fit height mode, dll. Yang saya senangi adalah slide show mode, dimana kita tidak perlu mengklik tombol next untuk membaca bagian komik selanjutnya, tetapi sayangnya waktu slidenya tidak dapat dikonfigurasi sehingga bagian komik yang tidak perlu dibaca lama, tidak bisa diskip :(.

Sekadar informasi, saat ini saya memiliki koleksi komik naruto elektronik dari no.1 sampai yang terakhir (juga bleach, tentunya setiap minggunya diupdate :)). Bagi yang berminat untuk mengkopinya bisa menghubungi saya melalui chat widget, atau setidaknya beri komentar di artikel ini.


Yours sincerely,


Juan Rio Sipayung

Monday, April 13, 2009

Menjalankan Mavis Beacon Teaches Typing Deluxe 17 menggunakan wine

Akhirnya setelah sekian lama belajar mengetik dengan menggunakan mavis beacon 15, di Windows XP melalui Virtual Box, saya harus berhenti. Maksudnya berhenti disini adalah saya tidak perlu lagi menggunakan virtual machine sebab mavis beacon 17 (versi 20 terakhir merupakan versi yang terbaru, tapi menurut saya versi 17 jauh lebih baik dari versi 20 ini) telah dapat dijalankan di Wine.

Namun ada beberapa kendala yang terjadi setelah selesai menginstal mavis beacon ini yaitu:
1. Suara "mavis music", "background music" dan "mavis voiceover" tidak terdengar saat mengetik
2. Huruf atau angka yang kita ketik akan lebih jauh jaraknya dengan contoh yang dilihat (lihat dua gambar di bawah)



























Untuk kendala no. 1 sampai saat ini saya tidak tahu solusinya :(. Sedangkan untuk kendala no.2 dapat diatasi dengan mengkopi font dari Windows XP ke "~/.wine/drive_c/windows/Fonts" (tergantung dimana anda letakkan folder wine). Berdasarkan percobaan yang saya lakukan, Mavis beacon ini memerlukan dua font yakni times.ttf dan comic.ttf (atau cour.ttf). Kedua font ini didapatkan dari folder "C:\Windows\Fonts" instalasi Windows XP default. Setelah selesai pengkopiannya jalankan kembali Mavis Beacon.
Voila...., semua hurufnya tampak menjadi normal letaknya :)




Wednesday, April 8, 2009

Memainkan game Nintendo64 di PC

Terbayang masa-masa masih SMP mengingatkan saya akan asyiknya bermain video game konsol, mulai dari Nintendo, Sega, Nintendo64, sampai Playstation, menyenangkan sekali. Sayangnya satu-satunya konsol nintendo yang saya miliki rusak :(, tapi untunglah ada emulator sehingga kenangan itu tidak lenyap :).

Hampir setiap konsol game telah dibuat emulatornya (Playstation 2 juga, meskipun masih belum sempurna, Playstation 3 belum sepertinya :(). Untuk saat ini saya hanya membahas sebuah emulator Nintendo64 yakni Mupen64Plus (Mungkin teman-teman bertanya mengapa tidak membahas emulator Nintendo, kan kenangannya waktu pakai Nintendo?..., Ya, karena kebetulan cuma emulator ini yang sudah saya install di Linux hehehe :). Sedangkan untuk emulator lainnya mungkin akan saya bahas lain kali aja yah, dan diinstall tentunya :).

Mupen64Plus merupakan emulator berbasiskan plugin untuk Sistem Operasi Linux (Windows juga tersedia), yang dapat memainkan banyak game dengan akurat. Di dalam emulator ini diemulasikan empat buah CPU MIPS
R4300 dengan dynamic recompiler untuk System 32-bit x86 dan 64-bit amd64, dan plugin-plugin yang penting untuk audio, render grafis (RDP), co-processor sinyal (RSP), dan input. Ada 3 buah plugin video OpenGL yang diikutsertakan yakni: glN64, RiceVideoLinux, dan Glide64.

Dokumentasi terbaru dapat ditemukan di website:


dibawah ini screenshot mupen64plus ketika memainkan Paper Mario



untuk screeenshot lainnya lihat disini

Ada bagian yang sedikit mengesalkan. Konfigurasi input emulator ini terbalik untuk arah kiri dan kanan jadi untuk settingan ke arah kiri saya harus menggunakan arah kanan joystick dan sebaliknya..... Menyebalkan...... Tapi nggak apa-apalah namanya juga Cumi (cuma misa install), gak tahu coding....



Happy Happy-Ing


Juan Rio Sipayung