Jalan Menuju Keimanan Yang Kuat: Sebuah Pendekatan Rasional (2/2)

Jalan Menuju Keimanan Yang Kuat: Sebuah Pendekatan Rasional (2/2)

ayat1

Berpikir adalah aktivitas utama manusia. Allah mewajibkan umat muslim agar senantiasa berpikir untuk mencapai keimanan yang sempurna. Ajakan untuk memperhatikan alam semesta dengan seksama, dalam rangka mencari sunatullah serta untuk memperoleh petunjuk agar beriman terhadap Penciptanya telah disebut ratusan kali oleh Al-Qur’an dalam berbagai surat yang berbeda.

Semua hal tersebut ditujukan agar manusia berpikir dan merenung, memastikan bahwa apa yang ia yakini bukanlah hal-hal yang meragukan. Kita diperingatkan agar tidak mengambil jalan yang ditempuh nenek moyang, tanpa meneliti dan menguji kembali sejauh mana kebenarannya. Inilah iman yang diserukan oleh Islam.

Allah SWT berfirman ketika menjelaskan keadaan kaum musyrikin mekkah:

‎ إِنَّهُمْ أَلْفَوْا آبَاءَهُمْ ضَالِّينَ

(yang artinya) “…sesungguhnya mereka mendapati bapak-bapak mereka dalam keadaaan sesat” (Ash-Shaaf-fat: 69)

Kemudian Allah berfirman:

‎فَهُمْ عَلَىٰ آثَارِهِمْ يُهْرَعُون

(yang artinya) “…Lalu mereka sangat tergesa-gesa mengikuti jejak orang-orang tua mereka itu” (Ash-Shååf-fat: 70)

Al-Imam Ibnu Katsir Rahimahullåh menafsirkan dua ayat diatas:

(adapun) firman Allåh subhanahu wa ta’ala:

‎إِنَّهُمْ أَلْفَوْا آبَاءَهُمْ ضَالِّينَ

(yang artinya) “…sesungguhnya mereka mendapati bapak-bapak mereka dalam keadaaan sesat” [Ash-Shååf-fat: 69]

Ditafsirkan Ibnu Katsir:

Yaitu sesungguhnya Kami memberikan balasan kepada mereka seperti itu (yakni neraka Jahim seperti dijelaskan pada ayat sebelumnya) sebab mereka telah mendapatkan ayah-ayah mereka dalam kesesatan kemudian mereka MENGIKUTINYA dengan TAQLID (buta), TANPA DALIL dan (TANPA) keterangan yang kuat.

Meski manusia diwajibkan berpikir untuk mencapai keimanan kepada Allah SWT, namun manusia tidak mungkin menjangkau apa yang ada di luar batas kemampuan indera dan akalnya. Sebab akal manusia terbatas. Manusia tidak akan mungkin mampu memahami hakikat Allah SWT dan Zat-Nya. Sehingga keterbatasan tersebut justru menjadi faktor penguat iman, bukan sebaliknya malah menjadi penyebab keragu-raguan dan kebimbangan.

[1] Taqiyuddin An-Nabhani, Peraturan Hidup dalam Islam, 2001.

[2] https://abuzuhriy.wordpress.com/2012/01/01/tergesa-gesa-mengikuti-jejak-nenek-moyang-tafsir-qs-69-70/

Jalan Menuju Keimanan Yang Kuat: Sebuah Pendekatan Rasional (1/2)

Jalan Menuju Keimanan Yang Kuat: Sebuah Pendekatan Rasional (1/2)

Sebagai seorang muslim, iman adalah hal pertama yang mesti dipelajari. Rukun Islam pertama adalah syahadat yang berisi ikrar kita untuk mengakui Allah SWT sebagai satu-satunya illah kita, dan nabi Muhammad SAW adalah utusan Allah SWT. Karena pentingnya iman ini, banyak ulama menekankan iman sebelum belajar materi lain, bahkan permasalahan iman ini dibuatkan bab khusus yang kita kenal sebagai bab aqidah.

Menurut Dr. Yusuf Al-Qaradhawi, iman bukan semata-mata pernyataan lidah seseorang, bukan pula semata-mata pelaksanaan seseorang terhadap amal-amal yang dilakukan orang-orang beriman, bukan pula semata-mata pengetahuan terhadap hakikat-hakikat keimanan, namun iman pada hakikatnya adalah kerja jiwa. Iman harus memiliki daya tangkap pikiran, yang mesti sampai ke tingkat kemantapan yang meyakinkan dan tidak bisa lagi diombang-ambingkan oleh keraguan ataupun syubhat.[1]

Sehingga makna penting yang harus diambil adalah keimanan harus merupakan sesuatu yang kuat. Dan sesuatu yang kuat tidak bisa diperoleh selain dengan jalan berpikir, atau menggunakan istilah Al-Qaradhawi, memiliki daya tangkap pikiran.

Bagaimana manusia berpikir?

Agar dapat berpikir, manusia perlu empat komponen, yaitu 1) Fakta yang terindera; 2) Alat indera; 3) Otak yang sehat; 4) Informasi sebelumya.

Poin 1, 2, 3 setidaknya sudah dapat dipahami dengan mudah. Poin 4 harus ada karena manusia merupakan hasil akumulasi dari pengalaman-pengalamannya sejak ia lahir. Jika ia mendapatkan informasi yang salah, maka hasil pemrosesan informasi tersebut juga akan salah. Proses memaknai informasi inilah yang disebut sebagai persepsi.

Persepsi pada hakikatnya adalah merupakan proses penilaian seseorang terhadap obyek tertentu. Menurut Young (1956) persepsi merupakan aktivitas mengindera, mengintegrasikan dan memberikan penilaian pada obyek-obyek fisik maupun obyek sosial, dan penginderaan tersebut tergantung pada stimulus fisik dan stimulus sosial yang ada di lingkungannya. Sensasi-sensasi dari lingkungan akan diolah bersama-sama dengan hal-hal yang telah dipelajari sebelumnya baik hal itu berupa harapan-harapan,nilai-nilai, sikap, ingatan dan lain-lain.[2]

Karena persepsi inilah yang akan diproses oleh otak manusia, disimpan, dan akan di recall kembali, maka persepsi-lah yang akan menjadi dasar manusia untuk memproses informasi berikutnya; maksudnya adalah Informasi yang datang akan dimaknai oleh otak berdasarkan informasi yang disimpan di memori (yang nantinya akan menjadi dasar untuk memaknai informasi lainnya). Hal ini akan terus berlangsung sehingga kumpulan-kumpulan persepsi tadi akan menjadi pemahaman kita. Pemahaman inilah yang akan mendorong kita dalam bertindak, yang akan menjadi standar kita untuk menilai sesuatu.

Pemahaman ini bisa jadi benar atau salah, tergantung darimana ia memperoleh informasi tersebut. Misalnya, jika kita hanya memahami bahwa alkohol dapat menghangatkan tubuh, maka kita akan berpendapat bahwa alkohol boleh diminum karena bermanfaat. Namun jika kita telaah lagi, ternyata alkohol mempunyai dampak yang amat buruk bagi tubuh sehingga kita menolaknya. Nah, apakah manusia dapat mengetahui segala yang baik dan buruk? Tentu tidak. Sehingga hingga titik ini, kita membutuhkan sumber pemahaman yang benar akan segala sesuatu, sehingga kita tidak salah dalam bertindak-tanduk. Pemahaman yang benar itu tidak lain berasal dari Islam saja.

[1]        http://musyafa.com/pengertian-dan-makna-iman-yusuf-qaradhawi/

[2] http://www.ilmupsikologi.com/2015/09/pengertian-persepsi-faktor-dan-jenisnya-menurut-ahli.html

Interpreter Bahasa Brainfuck Dalam Bahasa C

Brainfuck? Jangan salah paham dulu, Brainfuck adalah sebuah bahasa pemrograman esoteric yang minimalis. Bahasa Brainfuck hanya memiliki delapan perintah yaitu , . [ ] < > + -. Sebetulnya sudah banyak juga sih yang menulis compiler dan interpreter untuk bahasa ini, tapi saya ingin membuatnya sendiri karena tertarik perintahnya yang sedikit, hihi.

Untuk implementasi interpreter Brainfuck, saya memutuskan menggunakan Bahasa C sebagai permulaan. Di bawah ini adalah kode C untuk interpreter Brainfuck, kurang dari 170 baris, dan itu belum dioptimasi! 😛 Setelah di-compile interpreternya dapat menerima file program Brainfuck. Kalau malas compile sendiri, saya juga sudah siapkan executable untuk Windows di link github yang saya sediakan di bagian bawah. 🙂
https://github.com/Rosmianto/Brainfuck-interpreter

[code language=”cpp” collapse=”true”]
#include &lt;stdio.h&gt; // for basic I/O operation.
#include &lt;stdlib.h&gt; // for memory management.

typedef struct stack {
int value;
struct stack *next;
} stack_node_t;

typedef struct {
stack_node_t *top;
} stack_t;

int pop(stack_t *s);
void push(stack_t *s, int i);
char *bracemap(char *program);
void loadBFtoMemory(FILE *handle);
void process(char c);

const int memorySize = 30000;
char *cell;
int currentCell = 0;
int InstructionPointer = 0;
int i, charCount;
FILE *hInput; // Handle to File object.
char *programArray; // Cleaned up Brainfuck program.
char *braces; // Storage of braces pair location.
char *bracesStack; // temporary array for braces stack.
char _temp;

int main(int argc, char *argv[])
{
// Make sure file path always be specified.
if(argc &lt; 2)
return 0;

cell = calloc(memorySize, sizeof(char));

hInput = fopen(argv[1], &quot;r&quot;);

loadBFtoMemory(hInput);

braces = bracemap(programArray);

while(InstructionPointer &lt; charCount)
{
process(programArray[InstructionPointer]);
InstructionPointer++;
}

// printf(&quot;\n&quot;);

// for(i = 0; i &lt; 20; i++)
// printf(&quot;%d|&quot;, cell[i]);

// printf(&quot;\n&quot;);

free(programArray);
fclose(hInput);
return 0;
}

char *bracemap(char *program)
{
int i, start;
char *temp = calloc(charCount, sizeof(char));
stack_t tempStack = {NULL};

for(i = 0; i &lt; charCount; i++)
{
if(programArray[i] == ‘[‘)
{
push(&amp;tempStack, i);
start = i;
}
else if(programArray[i] == ‘]’)
{
int start = pop(&amp;tempStack);
temp[start] = i;
temp[i] = start;
}
}
return temp;
}

void process(char c)
{
switch(c)
{
case ‘+’:
cell[currentCell]++;
break;
case ‘-‘:
cell[currentCell]–;
break;
case ‘&gt;’:
currentCell++;
break;
case ‘&lt;’:
currentCell–;
break;
case ‘.’:
printf(&quot;%c&quot;, cell[currentCell]);
break;
case ‘,’:
cell[currentCell] = (char)getchar();
break;
case ‘[‘:
InstructionPointer = (cell[currentCell] == 0) ? braces[InstructionPointer] : (InstructionPointer);
break;
case ‘]’:
InstructionPointer = (cell[currentCell] == 0) ? (InstructionPointer) : braces[InstructionPointer];
break;
default: // Ignore other characters.
break;
}
}

void loadBFtoMemory(FILE *handle){
char c;
charCount = 0;
programArray = (char*) malloc((charCount + 1) * sizeof(char));
if(programArray == NULL)
printf(&quot;Memory allocation failed.&quot;);
else
{
c = fgetc(hInput);
while(c != EOF)
{
switch(c)
{
case ‘+’:
case ‘-‘:
case ‘&gt;’:
case ‘&lt;’:
case ‘.’:
case ‘,’:
case ‘[‘:
case ‘]’:
programArray[charCount++] = c;
realloc(programArray, (charCount + 1) * sizeof(char));
default:
break;
}
c = (char)fgetc(hInput);
}
}
}

int pop(stack_t *s){
stack_node_t *free_node;
int c;

free_node = s-&gt;top;
c = free_node-&gt;value;
s-&gt;top = free_node-&gt;next;
free(free_node);

return c;
}

void push(stack_t *s, int c){
stack_node_t *new_node;
new_node = (stack_node_t *) malloc(sizeof(stack_node_t));
new_node-&gt;value = c;
new_node-&gt;next = s-&gt;top;

s-&gt;top = new_node;
}
[/code]

How To Play Audio Directly From Your Arduino!

Dari segi kekuatan pemrosesan, Arduino memang terbilang minim: 16 MHz clock, 32 KB flash memory, 2 KB RAM (Arduino UNO). Meski minim kemampuan pemrosesan, arduino ternyata mampu melakukan hal-hal ajaib yang normalnya dikerjakan oleh development board papan atas. Hal ajaib ini salah satunya adalah memainkan file audio langsung dari memory flash-nya. Ntaps!

Normalnya supaya bisa memainkan file audio, Arduino harus dipasangi shield tambahan, seperti SD Card shield, atau boleh jadi shield audio player. Sehingga dengan begitu arduino hanya bertugas mengontrol audio playernya saja.

Namun bagi orang yang gemar eksperimen dan malas mengeluarkan uang, Arduino tidak boleh dibiarkan “nganggur” hanya mengatur-atur saja. Arduino harus dipekerjakan dengan keras!

Nah, untuk membuat arduino bisa memainkan file audio, kita bisa mengikuti tutorial yang disediakan di link berikut: http://playground.arduino.cc/Code/PCMAudio. Di bagian akhir disebutkan bahwa kita harus menyediakan file bernama sounddata.h yang berisi file audio kita. Nah loh, file header C kok isinya data audio?

Tenang, pada Arduino suara diproduksi menggunakan PWM (Pulse Width Modulation) yang frekuensinya bisa diatur dengan nilai 0-255. File header sounddata.h berisi urutan angka-angka yang nantinya dipakai untuk menghasilkan suara yang diinginkan.

Untuk menghasilkan angka-angka tersebut ternyata tidak sederhana juga, kita perlu program bernama wav2c. Program tersebut bertugas mengubah file audio wav yang kita miliki menjadi urutan angka-angka yang siap diupload pada Arduino.

Selain program wav2c, kita juga membutuhkan program sox. Sox ini berguna untuk memotong durasi file audio menjadi maksimal 10000 sampel (hanya beberapa detik). Oke, sebagai wrap-up, dan agar artikel ini mudah diikuti, saya sajikan tutorialnya dalam bentuk step by step:

  1. Pastikan sudah menginstalasi Audacity pada komputer Anda.
  2. Download program soxwav2c yang telah saya kostumasi khusus untuk Arduino di sini (link). Ekstrak ditempan yang aman.
  3. Buka audacity, pastikan Project Rate pada bagian kiri bawah diset pada 8000 Hz. Lakukan rekaman singkat. Dalam contoh ini saya coba merekam suara ucapan ‘test’:

    Project rate
    window test

  4. Potong file audio di bagian yang diperlukan saja.
    delete track
  5. Ubah tipe audio menjadi mono, dan hapus salah satu channel-nya:
    to mono
  6. Selanjutnya export file wav tersebut sebagai unsigned 8-bit PCM dan simpan di folder yang sama dengan program soxwav2c tadi.
    save
  7. Drag and drop file audio hasil export tadi ke convert.bat pada folder soxwav2c. Akan dihasilkan file sounddata.h
  8. Buat sketch baru pada Arduino IDE dengan program mengikuti http://playground.arduino.cc/Code/PCMAudio. Letakkan file sounddata.h bersama dengan file .ino yang dibuat pada folder yang sama.
  9. Hubungkan speaker biasa ke Pin 11 dan GND arduino. Akan terdengar suara ‘test’ setiap kali Arduino di-reset.

Selamat mencoba!

 

The Art of Electronic Devices Hacking

Malam minggu harusnya dihabiskan untuk melakukan hal produktif, #SayNoToValentineDay. Salah satu hal produktif yang bisa seorang mahasiswa elektro lakukan adalah hacking peralatan elektronik di sekitarnya.

Introduksi

Hacking lebih dikenal sebagai usaha untuk menjebol masuk ke dalam sistem untuk mengubah perilakunya, orang yang melakukan hacking disebut hacker. Well secara teknis betul sih, tapi dalam dunia electronic hobbyist, term hacking adalah usaha mengubah (alter) fungsi biasa dari sebuah perangkat. Karena tulisan ini berada dalam konteks elektronika, maka kita akan gunakan definisi terakhir (yang tentu saja saya buat sendiri, haha).

Melakukan hacking meniscayakan interaksi dengan perangkat yang ingin di-hack. Nah dari titik ini, pengalaman dalam menangani berbagai protokol komunikasi yang digunakan perangkat tersebut menjadi penting. Selain itu, sifat modular dari perangkat tersebut akan menentukan skill level yang diperlukan. Maksud dari modular adalah masing-masing bagian (komponen) pada perangkat target saling independen, jadi komponen-komponen tersebut dapat dipisahkan dan dikombinasikan untuk menjalankan fungsi yang berbeda. Semakin modular suatu perangkat, maka semakin mudah perangkat tersebut untuk di-hack.

Contoh perangkat modular adalah Project Ara, sebuah smartphone besutan Google yang setiap komponennya dapat dilepas. Sementara smartphone pada umumnya sangat tidak modular.

Project Ara
Project Ara
Exploded View dari Smartphone generik
Exploded View dari Smartphone generik

Modularitas Perangkat

Perangkat yang modularitasnya rendah umumnya sulit untuk diutak-atik. Jika sudah begini, pengalaman dalam mengenali dan memahami mekanisme komunikasi akan sangat berguna. Untuk mengatasi pengalaman yang kurang, kita bisa menonton video-video teardown perangkat di youtube, misalnya. Bisa juga dengan sering bongkar-bongkar perangkat lama kita yang sudah rusak.

Misalkan kita punya flashdisk yang sudah lama tak terpakai, jika dibongkar kita akan dapati chip controller dan NAND flash chip. Chip controller bisa diprogram sesuai keinginan kita, dan NAND Flash bisa dipakai untuk menyimpan data.

Internal view dari flashdisk (tampak: NAND flash chip)
Internal view dari flashdisk (tampak: NAND flash chip)

Sayangnya kedua chip tersebut tidak mudah di-interface, kita harus banyak membaca datasheet untuk membuatnya bekerja. Melakukan desoldering, membuat PCB, dan memastikan chip tersebut bekerja baik adalah tugas seorang insinyur elektro.

Namun kalau melihat telepon genggam jaman dulu, kita bisa temukan banyak bagian yang bisa dimanfaatkan, misalnya nokia 3310 yang legendaris itu ternyata layarnya bisa dipakai untuk membuat game console!

Nokia 3310
Nokia 3310

 

Gamebuino - Game console yang memakai LCD nokia 3310
Gamebuino – Game console yang memakai LCD nokia 3310

Impresi

Artikel ini memaparkan sekilas mengenai hacking perangkat elektronik. Secara umum, hacking merupakan skill yang harus dibiasakan agar dapat semakin piawai membongkar dan menggabung berbagai perangkat elektronik. Salah satu website yang sering mendemonstrasikan electronic device hacking adalah hackaday.com, it’s worth to visit.

Kecil2 Cabe Rawit (Small-small Chilli)

Kecil2 Cabe Rawit (Small-small Chilli)

Yeah I know the title is absurd. But despite of my malformed english translation I really want to write an article about electronic projects as my future reference.

I wonder how people exploit the potential of this little device which seems to be very helpless. Today I browsed some of great projects which have done that.

1. DUO Tiny, is a portable computer which uses ATTiny as its core. I found this project on youtube and you really should check that out:

The same person also has built several other project like DUO Mega which is a CRT TV-based computer I think, and DUO Decimal which is a very minimalistic computer.

And yeah you should check his youtube channel as well, I think he has more videos you may like.

Okay, it’s pretty much it. Stay tuned for more updates as I continue to browse. See ya!

Implementing MIPS Processor with VHDL

Implementing MIPS Processor with VHDL

Warning my lovely readers! The following will be a very technical article, but still, I can’t prevent your inner desire to keep reading this great article. 🙂

In my lab course on computer architecture, implementing processor in VHDL is one thing every electrical engineering student have to face. You know, it is like building your own Intel Core i7 yourself, but of course with much much much simplified processor architecture.

One of such thing is MIPS32, MIPS stands for Microprocessor without Interlocked Pipeline Stages. Cool huh?

MIPS is commonly be used for teaching processor architecture in not so great details. There are several stages every processor should have: Instruction Fetch, Instruction Decoding, Executing, Memory access, and write back. (are you confused? I’ve told you this will be very technical, it’s your fault. Keep reading!)

If you curious in the detail of the assignment, you should download the lab guide here (http://el3111.bagus.my.id/modul-praktikum/) unfortunately, it’s written in Indonesian only. No translation!

Instead of building our own hardware by connecting the individual physical logic gates, we’re implementing this MIPS processor in FPGA by writing VHDL code. Personally, I really enjoyed this lab course, I learned a lot when I was doing something. You know, I’m a kinesthetic learner. So I learn more and better when my hands grab something ‘real’.

As a bonus, here a screenshot of VHDL code I wrote days ago.

Capture
This is Arithmetic and Logical Unit component I wrote days ago. You really should not too hard reading the code above!

Have a nice weekend guys. 🙂

(cover image from extremetech.com)

Where Should I Go For Internship?

Whew! I’m now in my 5th semester, with 71 credits done out of 144. Easy, 73 to go with 19 credits for this semester, which means 54 left for the last three semesters, what a nice life!

But lately I heard numerous friends are buzzing around talking about internship.

What?! Internship? Oh man, I almost forgot to prepare that! (or at least think of it). As of the curriculum for electrical engineering student, it is required to take 8 weeks internship at engineering company.

Next year (2016) local companies will open for intership. But I interested to go abroad.

Few of my friends are planning to get internship at CERN. While the others are pursuing really-prestigious-multinational-engineering-company. Hmm, I’m not really sure where to go (and most importantly, get accepted for interning).

Well, it is still one semester left to prepare myself.

These Application Notes Will Make You Become An Electrical Engineering Expert!

Sebagai calon electrical engineer, kita tak cukup hanya membaca textbook mata kuliah standar di kampus. Kita perlu mengikuti perkembangan dunia engineering yang begitu menakjubkan. Supaya tak ketinggalan trend, kita perlu banyak membaca tulisan-tulisan para ahli, salah satunya dengan membaca application note.

Application note adalah karya tulis yang mirip artikel singkat yang ditulis oleh expert. Application note ditulis oleh engineers, dan untuk engineers. Tulisan-tulisan mereka menawarkan experienced analysis, design ideas, reference designs, and tutorials untuk membuat kita menjadi seorang pakar.

Nah, di tulisan ini saya ingin menghimpun berbagai application note dari berbagai produsen semikonduktor dunia seperti TI (Texas Instruments), Fairchild, Maxim, ST Electronics, Atmel, dan sederet lainnya. Tentu tidak semua perusahaan bisa dicantumkan, setidaknya tulisan ini bisa jadi referensi dikemudian hari.

  1. Maxim Integrated (http://www.maximintegrated.com/en/design/techdocs/app-notes/).
  2. Texas Instruments (application notes).
  3. Fairchild (https://www.fairchildsemi.com/evaluate/application-notes).
  4. ST Electronics (application notes selector).
  5. Atmel (search application notes).
  6. Microchip (www.microchip.com/applicationnotes/).
  7. Linear Technology (http://www.linear.com/designtools/app_notes.php).
  8. OSRAM Opto Semiconductors (application notes) Perusahaan yang berfokus pada produk lampu.
  9. ON Semiconductor (application notes).
  10. FTDI (http://www.ftdichip.com/Support/Documents/AppNotes.htm) terkenal sebagai produsen USB to serial converter.
  11. International Rectifier (http://www.irf.com/application-notes).

Ubah Touchpad Netbook Bekas Jadi Mouse

Utak-atik ini dan itu, hari ini saya (nampaknya) berhasil memanfaatkan touchpad Netbook hasil pembongkaran tahun lalu (lihat post pembongkaran disini). Touchpad-nya bukan touchpad dari produsen terkenal seperti Synaptic, tapi dari produsen china anonim. Touchpadnya menggunakan komunikasi serial seperti yang dipakai pada mouse PS/2, jadi lumayan gampang buat diutak-atik. Nah, ini dia touchpad-nya:

Touchpad tampak belakang (sumber: Dok. pribadi)
Touchpad tampak belakang (sumber: dok. pribadi)

Sama seperti pin PS/2, touchpad ini punya 6 pin dengan 2 pin tak terpakai, sehingga menyisakan 4 pin (+VCC, -GND, Clock, dan Data). Informasi pinout bisa dicari di internet, saya sendiri gagal mendapatkan info pin untuk touchpad ini, walhasil saya harus coba-coba sendiri dengan multimeter (dan dengan brute force, hehe). Pin-pin ini bisa langsung dikoneksikan ke komputer yang punya port PS/2 mouse. Hmm, laptop saya tak ada port PS/2 maupun converter USB-PS/2, maka saya hanya bisa tes dengan Arduino.

Touchpad dengan kabel konektor
Touchpad dengan kabel konektor (sumber: dok. pribadi)

Saya langsung solder saja kabel konektornya dan dihubungkan ke Arduino. Kode yang saya pakai diadaptasi dari halaman ini. Oiya, data yang dikirimkan mouse sebetulnya berbeda dengan data yang dikirimkan oleh touchpad, sehingga sudah tentu harus ditangani secara berbeda. Saya tetap pakai sketch Arduino untuk PS/2 mouse hanya sebagai proof of concept. Jika anda berminat untuk betul-betul menjadikan touchpad menjadi mouse yang usable, silakan cermati artikel berikut ini.

Soldering connector
Konektor touchpad yang tersolder (sumber: dok. pribadi)

Touchpad yang sudah dihubungkan ke Arduino, siap untuk dites!
Touchpad yang sudah dihubungkan ke Arduino, siap untuk dites! (sumber: dok. pribadi)

Oke, connector touchpad sudah disolder dan terhubung ke Arduino. Mari kita coba lihat hasilnya di Serial Monitor Arduino:

Jendela Serial Monitor yang menampilkan data yang terbaca
Jendela Serial Monitor menampilkan data yang terbaca (sumber: dok. pribadi)

Yeah, data dari touchpad berhasil terbaca, angka biner di sebelah kiri adalah raw data yang diterima, sedangkan bagian tengah (X dan Y) adalah terjemahan kode binernya. Meski sukses, namun beberapa menit kemudian touchpad-nya tak merespon, setelah di goyang-goyang sedikit rangkaiannya, baru deh touchpad-nya merespon lagi. Nampaknya sambungan yang saya buat terlalu ringkih, tak reliable. Hmm, tak apalah, yang penting sudah terbukti bekerja dengan baik, kedepannya bisa disempurnakan lagi. 🙂