Wednesday, December 23, 2009

Perbandingan Mikrokontroler AVR


Pada posting ini aku lampirkan tabel perbandingan mikrokontroler AVR. Tabel ini bisa menjadi referensi kita untuk memilih mikrokontroler yang tepat sesuai kebutuhan desain.

link : AVR Microcontroller Selection Guide

Thursday, December 17, 2009

Electrocardiograph


Membuat alat biomedik itu tidak boleh sembarangan, karena alat biomedik menyangkut nyawa seseorang. Faktor safety menjadi sangat penting untuk diperhatikan. Terutama pada alat yang memiliki elektroda yang tersentuh ke tubuh pasien.
Contohnya adalah electrocardiograph (ECG). Bagian input harus mendapat catu dari baterai dan terpisah dari bagian monitor untuk menghindari kejutan listrik. Karena arus listrik kecil yang mungkin tidak menimbulkan efek pada manusia normal, bisa saja berakibat serius pada pasien.

Aku dulu pernah diberi tugas kuliah membuat filter ECG analog. Aku coba menulis di blog ini agar tidak lupa. Siapa tahu akan bermanfaat di kemudian hari.

Einthoven's Triangle
Setiap organ tubuh manusia menghasilkan denyut-denyut listrik dengan spektrum frekuensi yang berbeda-beda. Salah satu sumber listrik yang terbesar adalah jantung. Beda potensial listrik jantung dapat dapat diukur melalui tiga titik yaitu Left Arm (LA), Right Arm(RA) dan Left Leg(LL) membentuk segitiga yang disebut segitiga Einthoven. ECG akan mengukur tegangan dari salah satu diantara 3 potensial (lead) ini yang kemudian diplot ke monitor atau printer.


ECG Amplifier
Beda potensial lead tadi diperkuat dengan instrumentation amplifier. Elektroda yang ditempelkan ke tubuh manusia dirancang khusus dan diberi gel agar impedansinya sesuai. Setelah dikuatkan, kemudian sinyal masuk ke rangkaian filter. Frekuensi dari filter ini berbeda-beda untuk berbagai macam potensial tubuh. Pada ECG, frekuensi filter terbagi jadi 2 mode, yaitu monitoring dan analysis. Range frekuensi mode analysis lebih luas agar ECG lebih sensitif dalam mendeteksi kelainan jantung yang mungkin terjadi.
Monitoring : 0,1-100Hz
Analysis : 0.001-150Hz
Sedangkan frekuensi fundamentalnya adalah kecepatan denyut jantung (heart beat) itu sendiri.

Setelah memfilter frekuensi yang diperlukan, maka perlu dibuat notch filter untuk menyaring frekuensi dari jala-jala yang menginterfensi tubuh melalui udara. Filter ini harus mempunyai attenuasi yang besar dan bandwidth yang sangat sempit, karena tegangan interfensi ini amplitudonya jauh lebih besar dari sinyal yang dihasilkan jantung sendiri.
Perlu diingat bahwa besarnya noise kadang kala sangat besar, untuk itu perlu digunakan op-amp yang menghasilkan noise sekecil mungkin.

Isolation Amplifier (Coupling)
Setelah difilter, untuk menghubungkan ke stage selanjutnya digunakanlah isolasi. Isolasi dapat berupa magnetik, bisa juga optik. Syaratnya, isolasi yang digunakan haruslah mencakup range frekuensi jantung yang telah ditulis sebelumnya.

Driven Right Leg
Rangkaian driven right leg ditambahkan ke rangkaian amplifier ECG untuk mengurangi interferensi common mode. ECG mengukur sinyal yang sangat kecil dari tubuh sampai beberapa microvolt. Padahal tubuh juga berperan sebagai antena yang menerima interferensi dari mana saja. Interferensi ini membuat sinyal jantung sulit untuk diukur. Driven right leg digunakan untuk mengeliminasi noise interferensi secara aktif (selain dengan notch filter untuk interferensi jala-jala).

Ground Fault Intrupter (GFI)
Sistem pengamanan pada alat biomedik dibuat berlapis. Salah satunya adalah ground fault interupter yang berfungsi untuk memutus arus listrik secara otomatis ketika terjadi kesalahan pada arus (misalnya kejutan listrik).
Kabel listrik itu ada dua, satu hot, satu netral. Jika ada sebuah perangkat terhubung ke listrik, maka arus mengalir dari hot menuju ke perangkat dan balik lagi ke netral. Besarnya arus yang mengalir di kawat netral dan hot seharusnya sama. Jika tidak sama maka ada kebocoran ke ground, misalnya kawat tersentuh tubuh manusia.
Jadi pada prinsipnya, rangkaian adalah komparator arus yang mengalir pada kedua kawat itu. Jika arusnya tidak sama, maka listrik akan diputuskan. Penyambungan kembali dilakukan dengan cara mereset rangkaian GFI. Deteksi arus dapat menggunakan trafo Olson atau dengan metode lain.

Signal Analysis
Setelah sinyal ACG didapatkan, maka sinyal dianalisis dengan menggunakan komputer. Apakah jantung normal atau mengalami kelainan. Agar dapat diproses di komputer, maka sinyal analog ECG dikonversi menjadi digital kemudian dikirim ke komputer. Bisa juga algoritma untuk analisis dikerjakan prosesor embedded yang ditanamkan di ECG itu.

Aku kira cukup sekian uraiannya, mudah-mudahan bermanfaat.
ide:
Kalau ada waktu aku ingin buat lagi ecg portable yang bisa dicolokin ke komputer untuk mainan.

External Link:
ECG Measurement System, ECG op-amp

Raisonance Kit 6.1 Ride51


Software ini adalah software pertama aku belajar mikrokontroler. Dulu aku memakai yang versi evaluasi jadi code terbatas 4Kb. Kali ini aku akan berbagi installer bagi yang ingin belajar mikrokontroler keluarga MCS 51 memakai bahasa assembly. Karena aku coba browsing ternyata susah juga untuk mendapatkan installer ini. Sekalian buat dokumentasiku agar yang pernah kupelajari tidak hilang.

link:
Raisonance Ride51

Wednesday, December 16, 2009

Manakah yang Lebih Berbahaya?


Manakah yang lebih berbahaya, arus apa tegangan? AC atau DC?
Saya masih ingat pertanyaan itu dilontarkan oleh asisten praktikum dulu di awal-awal kuliah. Setelah beberapa tahun lulus kuliah, jawaban dari pertanyaan itu masih belum memuaskanku. Banyak orang yang berpendapat jawabannya adalah Arus - DC.
Sebenarnya dua pertanyaan itu adalah identik dan mempunyai jawaban yang serupa.

Arus vs Tegangan
Arus dan tegangan adalah dua besaran yang sejajar. Timbulnya arus adalah akibat dari adanya tegangan. Yang konstan adalah Resistansi.

Ketika seseorang menyentuh sumber tegangan, arus akan mengalir melalui tubuhnya menuju ground. Besarnya arus yang mengalir pada tubuh bergantung dari besarnya tegangan dan resistansi tubuh orang tersebut. Nah, apakah sumber tegangan itu arus maksimumnya 2A, 3A dsb., efek terhadap orang tersebut adalah sama. Karena arus yang mengalir lewat tubuh akan tetap V/R. Kecuali jika arus maksimum dari sumber tegangan tersebut kurang dari V/R tubuh, maka arus yang mengalir bukan lagi V/R, tapi nilai dari arus maksimum sumber tegangan tersebut.

Bagaimana dengan sumber arus? Jika orang menyentuh sumber arus, maka akan timbul tegangan yang besarnya R*I. Jika arusnya besar, maka tegangan yang muncul juga tinggi. Tapi sumber arus juga memiliki tegangan maksimum, dimana pada nilai hambatan tertentu tegangan tidak akan naik lagi.

Jadi sebenarnya tegangan dan arus adalah dua hal yang berkaitan. Dua-duanya tidak ada yang menjadi jawaban "Manakah yang lebih berbahaya?"
Pada kenyataannya, sumber arus sangat jarang (tidak pernah) ditemukan dalam kehidupan sehari-hari. Yang dipakai sebagai catu daya dalam kehidupan sehari-hari adalah sumber tegangan. Mungkin sumber arus hanya akan kamu temui di laboratorium listrik.

DC vs AC
Ini juga pertanyaan yang identik dengan yang di atas. Biasanya, kecelakaan fatal karena listrik bukan akibat langsung dari listrik itu sendiri. Seseorang luka parah atau meninggal bukan karena menyentuh listrik, tapi mungkin kepalanya terbentur setelah terkejut sengatan listrik dll. Jadi yang perlu lebih diwaspadai sebenarnya bukan listrik itu sendiri, tapi efek sekunder dari sengatan listrik itu.

Jawaban yang Paling Tepat
Yang menjadi jawaban bukan tegangan atau arus, bukan pula DC atau AC. Tetapi adalah energi listrik yang terserap oleh tubuh.

Rumus dari energi adalah P=V*I*t untuk arus DC,
sedangkan untuk AC Prms=Vrms*I*t.

Jadi dua-duanya mempunya kedudukan yang setara. Yang terlupakan dari pertanyaan asisten di atas adalah faktor t(waktu).
Ketika kamu kesetrum maka secara reflek kamu harus melepaskan diri. Karena semakin lama, akan semakin banyak energi yang terserap ke tubuh dan kamu bisa mati.

Jadi jawaban dari pertanyaan "Mengapa orang kesetrum bisa mati?" adalah sama seperti pertanyaan "Mengapa orang jatuh dari lantai 7 bisa mati?" atau "Mengapa orang terbakar bisa mati?".
Karena tubuh terkena energi yang melebihi ambang batas kemampuannya.

Lalu mana yang lebih berbahaya, AC atau DC? Arus atau Tegangan?
Yang berbahaya adalah faktor besarnya energi yang mengenai tubuh.

Switching Power Supply


Konversi tegangan pada power supply konvensional yang telah kita ketahui adalah dengan menggunakan trafo daya inti besi berlaminasi. Trafo ini selain berfungsi sebagai penurun tegangan juga sebagai isolasi antara hot (tegangan jala-jala) dengan cold (perangkat yang memungkinkan untuk kita sentuh). Kelemahan dari trafo inti besi adalah efisiensi yang rendah. Ini akibat dari sifat besi yang masih menyimpan magnet ketika tegangan AC berbalik polaritas. Efek ini disebut hysterisis trafo yang menimbulkan panas pada trafo, penyebab rugi daya terbesar pada trafo.

Metode konversi tegangan lain yang lebih efisien adalah switching. Switching power supply juga menggunakan trafo. Tetapi karena frekuensi kerja trafo tinggi (>1KHz), maka digunakan trafo inti ferit. Penggunaan trafo inti ferit menguntungkan karena tidak menimbulkan hysterisis sehingga efisiensi yang dihasilkan lebih tinggi. Fungsi sebagai isolasi juga tetap didapatkan dari trafo jenis ini. Trafo dengan arus besar juga lebih mudah dibuat dengan ukuran kecil.

Kemudian bagaimana cara meregulasi tegangan? Energi yang ditransfer dapat diatur dengan metode PWM. Output dari switching power supply dikembalikan (feedback) ke rangkaian PWM untuk mengatur duty cycle PWM. Tentunya feedback dilewatkan optocoupler untuk menjaga
agar bagian cold tetap terisolasi. Metode regulasi tegangan seperti ini jauh lebih efisien daripada linear regulator.

Agar lebih jelas, mari kita perhatikan contoh rangkaian di bawah ini.

Sunday, December 13, 2009

Xilinx Parallel Cable III

Code RTL yang telah disintesis dapat didownloadkan di target FPGA Xilinx dengan menggunakan cable programming. Salah satunya adalah dengan Xilinx Parallel Cable III. Mode yang dapat didukung dari Parallel Cable III adalah Serial dan JTAG.
Aku tidak menemukan harga referensi Parallel Cable III, tapi penerusnya yaitu Parallel IV dijual dengan harga $80.00 (Avnet). Wew, lumayan juga. Padahal rangkaiannya cuma sederhana. Terdiri dari beberapa buffer dan disambungkan ke parallel port. Panjang kabel yang biasa dipakai sekitar dua meter. Bila ada waktu aku akan mencoba untuk membuatnya.
Penerus dari Parallel Cable III ini adalah Parallel Cable IV. Untuk Parallel Cable IV aku belum menemukan rangkaiannya. Nanti setelah menemukan akan segera kuupdate lagi.

Thursday, December 10, 2009

CodeVision AVR v2

CodeVision AVR adalah salah satu program yang sangat populer semasa aku kuliah. Dengan program ini, pekerjaan coding menjadi sangat mudah. Template dan library yang tersedia cukup lengkap, mulai dari koneksi serial, SPI, I2C, ADC dll. CodeVision mendukung semua mikrokontroler ATmega sejauh yang kuketahui sedangkan kode program dapat ditulis dalam bahasa C.
Berselang dua tahun sejak pertama kali mengenal CodeVision, aku menemukan sebuah blog yang meng-share installer versi baru. Di versi 2 ini tampilan tidak berubah banyak, tetapi cukup menarik untuk dinikmati.

Langsung saja, berikut ini linknya.
installer

Passwordnya : D053nku


Sumber : ayo share!!!

Wednesday, December 9, 2009

Sampling Rate dan Resolusi

Ada dua parameter penting dalam digital signal processing, yaitu sampling rate dan bit resolution.
Lalu apa pengaruh kedua parameter itu di dalam signal processing?

1. Sampling Rate
Sinyal analog itu kontinyu terhadap waktu. Pada proses konversi analog ke digital, sinyal analog dicuplik-cuplik pada periode tertentu dan dari cuplikan-cuplikan itu ditentukan nilai digitalnya. Kecepatan mencuplik itu disebut dengan sampling rate atau sampling frequency.

Sebuah sinyal dapat disampling dan dikembalikan ke bentuk semula dengan rumus interpolasi. Proses reproduksi ini hanya mungkin jika sampling rate lebih tinggi daripada dua kali frekuensi sinyal. Jika input sinyal berubah lebih cepat dari setengah sampling rate, maka output DAC akan menghasilkan aliasi. Frekuensi sinyal aliasi adalah selisih dari frekuensi sinyal dengan sampling rate. Untuk menghindari aliasi, maka perlu diberi sebuah low pass filter sebelum ADC yang disebut anti aliasing filter.
Teori ini disebut Shannon-Nyquist sampling Theorem.

2. Resolusi

Resolusi adalah jumlah nilai diskrit yang diproduksi dari range nilai analog. Nilai ini disimpan dalam bentuk biner dan diekspresikan dalam bit sehingga jumlah nilai yang tersedia adalah perpangkatan dari angka dua. Misalnya resolusi 8 bit mengkuantisasi sinyal analog menjadi 2^8=256 nilai.
Akibat dari resolusi yang terbatas ini adalah error kuantisasi. Magnitude dari error kuantisasi adalah antara 0 sampai 0.5 kali magnitude satu LSB.
Error kuantisasi mengakibatkan noise, dimana SNR maksimum dari sinyal terkuantisasi adalah
\mathrm{SNR_{ADC}} = 20 \log_{10}(2^Q) \approx 6.0206 \cdot Q\ \mathrm{dB} \,\!
Jika sinyal input berupa sinusiodal dan distribusi sinyal tidak uniform, maka persamaannya akan menjadi
 \mathrm{SNR_{ADC}} \approx  1.761 + 6.0206 \cdot Q \ \mathrm{dB} \,\!
keterangan :
SNR : Signal to Noise Ratio
Q : Resolusi Bit

Dari kedua uraian di atas, akhirnya aku mengambil kesimpulan sederhana.
Sampling rate mempengaruhi maksimum frequency sinyal, sedangkan bit resolution mempengaruhi besarnya noise yang ditimbulkan. Pengetahuan sederhana ini dapat membantu kita dalam memilih ADC/DAC yang tepat sesuai kebutuhan kita.

Sumber: Wikipedia

Domino Asynchronous Successive Approximation ADC

Aku sudah berusaha searching jenis-jenis ADC, tapi aku belum menemukan arsitektur seperti ini. Yang paling mendekati adalah jenis SAR ADC. Tetapi arsitektur ini tidak memiliki register. Mirip dengan flash ADC, proses konversi langsung menghasilkan output seketika, tidak mengalami delay clock. Satu-satunya penyebab delay adalah propagasi komponen analog(op-amp) yang digunakan.
Namun bedanya, arsitektur seperti ini akan jauh menghemat banyak gate dan op-amp daripada flash ADC. Yang mutlak diperlukan dari rancangan ADC jenis ini adalah op-amp yang super teliti dan rendah noise. (syarat umum untuk sebuah ADC).
Karena aku belum menemukan referensi dan karena kemiripan dengan flash ADC, maka arsitektur ini aku beri nama Binary Tree - Flash ADC.
Nah, sekarang dari arsitektur di atas aku mencoba untuk mereka-reka rangkaian analognya.
Ini adalah rangkaian dari setiap stage(bit output). Bisa dibikin lebih simple ga?
Update 1 Juli 2010:
Ternyata ADC seperti ini sudah dipatenkan di AS dengan nama Domino asynchronous successive approximation ADC. Aku terlambat 5 tahun untuk menemukan ini. Lihat di sini atau di sini !.

Tuesday, December 8, 2009

Digital Delay Effect (Efek Gitar I)

Salah satu angan-anganku yang belum sempat terrealisasi adalah membuat amplifier gitar dan sederet efek stompbox plus pedal board. Setelah kerja ini, aku jadi tidak sempat meluangkan waktu untuk menyalurkan hobi. Libur sabtu minggu biasanya habis untuk istirahat.

Baiklah, karena ide sedang berputar-putar diotakku, sedangkan waktu merealisasikan belum ada, maka aku coba mendokumentasikannya agar tidak hilang. Ide kali ini adalah efek digital delay.

Era analog delay sudah lewat. IC MN3005 yang sangat populer sudah tidak diproduksi lagi. Karena itu aku akan membuat digital delay dengan komponen utama ADC, Static RAM, gates IC dan DAC. Serta beberapa komponen tambahan seperti seven segmen, analog filter, potensiometer serta tombol-tombol. Komponen-komponen akan aku dapatkan dari Jaya Plaza, sedangkan PCB dan Casing akan kupesan di Multi Karya. Untunglah aku bekerja di tempatku saat ini karena mempunyai banyak teman dengan pengetahuan yang luas. thanks to all.

Diagram blok hardware tergambar di bawah ini.Parameter-parameter variable dari efek ini adalah Regeneration, Delay dan Mix.
1. Parameter Regeneration, adalah seberapa banyak efek delay ini akan mengulang sinyal. Delay bekerja dengan cara mengatur jumlah sinyal output delay yang dikembalikan (feedback) ke input.
2. Parameter Delay, adalah seberapa panjang waktu delay sinyal output terhadap sinyal input. Parameter diatur dengan cara mengatur frekuensi clock.
3. Parameter Mix, adalah perbandingan komposisi sinyal asli dengan sinyal delay.

Blok delay sendiri dibuat dari rangkaian digital dengan komponen ADC, Static RAM, DAC dan gates IC.
Timing Diagram dari rangkaian di atas seperti tergambar di bawah ini.
Mudah-mudahan bisa segera terealisasikan.

Sunday, December 6, 2009

Toggle Switch with Delay

Gambar di atas adalah rangkaian toggle switch yang bisa kita aplikasikan pada power supply sebuah perangkat. Dengan menggunakan rangkaian ini, maka menghidup-matikan perangkat bisa dengan tombol push-on. Bila tombol push-on kita tekan selama beberapa detik, maka ic counter akan berubah status. Lama delay push button dapat diatur dengan mengubah nilai C2. Semakin besar C2, semakin lama delay yang timbul. Jika C2 dihilangkan maka delay akan hilang sehingga rangkaian bekerja sebagai toggle switch biasa.

Contoh aplikasi dari rangkaian ini adalah pada tombol komputer. Jika kita menekan tombol power komputer dalam keadaan hidup selama selang waktu tertentu, maka komputer akan mati. Komputer tidak langsung mati ketika tombol power ditekan.

Sebagai tambahan, merujuk pada datasheet, quiescent current maksimum dari IC 4017 pada tegangan 5V dan suhu 25'C adalah 1uA (sebagai referensi, nyala led membutuhkan arus sekitar 10-20 mA). Jadi menurutku rangkaian ini masih cocok untuk diimplementasikan pada perangkat low power.

Berbagi Lagu Berbagi Rasa


Kadang kala
Terbatasnya kata tak mampu mengungkapkan isi jiwa
Maka nada menjadi sarana

Syair adalah tingkatan tertinggi dalam kasta bahasa
Dimana beberapa baris lirik mengungkap beribu makna

Ketika berbagi rasa sulit dengan berbicara
Maka menulis lagu adalah solusinya

Link Share :

Jangan Berhenti Melangkah
Lebih_Cantik_Darinya
Ratapan_Patah_Hati
Miss_U...
Tersesat
Tak Lagi (instr)


MISS U...

Secangkir kopi
Hangatkan tubuhku
Mengganjal mata ini
Biar tak terlalu cepat tertidur

Udara malam
Semakin dingin menusuk
Bangkitkan inspirasi
Tuk menciptakan lagu

*
Satu lagu yang pernah kujanjikan
Aku persembahkan hanya untukmu

Reff
T'rima kasih
Kar'na merindukanku
Kunanti kembalimu
Aku tenang
Saat kau ada di sisiku
Bersamaku

Malam ini
Langit begitu cerah
Bintang bintangpun betebaran
Begitu indah

Namun sayang
Kau tak di sampingku
Nikmati malam ini
Habiskan waktu berdua

Back to *, reff 2x


TERSESAT

*
Tak ingin
Jauh darimu
Tersesat lagi
Tanpa petunjukmu
Kar'na ku yakin
Engkaulah pemilik
Semua kekuatan
Di semesta ini
Tak ada yang lain

Ke mana lagi
Ku harus berlari
Jika mereka tak lagi peduli
Takkan kuratap lagi
Jika itu memang kehendakmu

Back to *
Padamu
Kuberserah diri
Tempatku memohon
Mengharap cintamu
Ampuni semua
Khilaf yang terjadi
Sebelum ku pergi
Dari jasad ini

Back to *


Ratapan Patah Hati

Sesal kini tiada guna
Kau t'lah pergi jauh
Saat ku butuh hangat candamu
Yang pernah tenangkan jiwaku
Saat terik membakar
Semangat hidupku
Semudah itukah kau lupakan
Kenangan terlanjur melekat
Dalam ingatanku
Kenyataan memaksaku untuk
Merelakanmu
Pergi begitu saja tanpa jejak
Tak bisa ku sangkal
Terasa berat menjalani
Hari hari tanpa kamu

Setiap waktu terlewati
Harus kusendiri
Tiada tempat sandarkan letihku
Di kakimu biasanya
Kurebahkan tubuh yang
Penuh penat ini
Tangan lembut menyentuh wajahku
Wangi melukis dinding dinding imajinasiku
Kau tahu pasti betapa besar
Cintaku padamu
Tak terungkapkan hanya dangan kata
Menerbitkan rindu
Hingga kini tak seorangpun sanggup
Untuk mengobati

Bridge

Di penghabisan kekuatan
kumencoba untuk
Melupakan dirimu
Dengan sisa sisa tenaga
Ku harus bertahan
Tetap menjalani hidupku


Lebih Cantik Darinya

Sedikit bahagia
Saat senyum indah merekah
Di bibir manismu

Mungkinkah tlah tercipta
Satu rasa yang tak pernah
Kusangka sebelumnya

Aaaaa......Aaaaaaaa.....

$
Kau slalu bertanya
Sanggupkah kau menggantikannya
Tentu kau bisa

Wajah cantikmu memanja
Seolah mengharapkan belai
Kasih sayangku

*
Kini kau telah menawanku
Dan kini kau telah berhasil memikatku

@
Kau hadir saat ku butuhkanmu
Usir sepi hari-hariku
Dengan candamu
Kau lebih cantik dari dirinya
Yang tlah pergi meninggalkanku
Takkan kusesali

Aaaaaa........Aaaaaaaa........
Aaaaaa........Aaaaaaaa........

back to $,*,@

Dan kini kesepian tak lagi kurasakan

back to @


Hanya Sebuah Lagu
satu kebanggaan bagiku
bisa menciptakan sebuah lagu
untuk kupersembahkan padamu
sebagai ungkapan perasaanku selama ini

ooooo....ooooo......

mungkin kau kan terharu
tapi ini hanya sebuah lagu
tak lebih

*
waktu yang telah lama terlewati
tak cukup membuatku meyakini semua
yang kurasakan tentangmu adalah
benar-benar cinta
bila kini
kau telah bahagia
tak berhak ku untuk menggugatnya
karena senyummu bahagiaku
meski terluka
pernah acuhkanmu

oooooo.....oooooooo......

mungkin kau kan terharu
tapi ini hanya
sebuah lagu

back to *


Jangan Berhenti Melangkah

Jangan berhenti melangkah
Meski berjuta aral menantang
Jangan terlalu cepat untuk
Menyerah pada keadaan

Memang tak mungkin sekejap
Mendapatkan apa yang kau inginkan
Memang tak akan mudah untuk
Menggapai semua cita-citamu

Yakinlah...
Suatu saat nanti
Kan datang

Reff:
Teruskan langkah yang kau yakini adanya
Jangan terhenti hanya karena rintangan kecil
Jangan menoleh tetaplah tatap masa depan

Jangan berhenti berjuang
Meraih semua dalam genggaman
Meskipun takkan semudah
Membalikkan telapak tangan

Percaya...
Pada kekuatanmu
Sendiri

Back to Reff

Reff2:
Meski penat letih deras melandamu
Meski berbagai cobaan bertubi menerpamu
Kemudahan kan datang setelah kesukaran


Secangkir Kopi

Hadapi persoalan yang tak bersolusi
Perlu rileks dan santai
Sedikit acuh itu perlu
Untuk hindari pikiran tegang terus-terusan

Bertemu kawan lama menceritakan hobi
Sambil menikmati secangkir kopi
Waktu terasa panjang tak terkejar deadline
Yang biasanya selalu mengancam

Reff:
Mungkin secangkir kopi buatmu lebih nyaman
Dan tak mudah disakiti lagi
Mungkin secangkir kopi hilangkan rasa tertekan
Hapus gundah di hati

Sebatang rokok tak selalu
Buruk untuk kesehatan
Karena sehat jiwa sama pentingnya
Dengan sehat raga

Tak takut sendiri karena
Secangkir kopi setia menemani
Tak takut tak dicintai karena
Secangkir kopi selalu mencintai

Reff2:
Mungkin secangkir kopi bangkitkan semangatmu
Lebih berani jalani hari
Mungkin secangkir kopi akan sedikit membuatmu
Lebih percaya diri


Menatap Sang Mentari

Friday, December 4, 2009

Two in One Buzzer

Kemarin saat ditugaskan untuk mendebug rangkaian aku menemukan suatu kejanggalan yang mengusik pikiran isengku. Aku bertanya dalam hati demi melihat dua buah buzzer di dalam rangkaian. Satu buzzer untuk notifikasi tombol keypad, satu buzzer lagi untuk alarm listrik mati.

Mengapa harus ada dua buzzer? Apakah satu saja tidak cukup? Bukankah suara kedua buzzer itu nantinya diterima telinga dengan isyarat yang sama (keduanya sama-sama berbunyi piip, tidak ada yang berbunyi teet, toot dsb)?

Maka dari situ aku hanya menebak-nebak alasan desainer membuat rangkaian seperti itu.
1. Kedua buzzer mendapatkan tegangan dari sumber yang berbeda. Satu dari jalur Power Supply utama, yang lain dari baterai(karena harus berbunyi ketika listrik mati).
2. Saat berbunyi yang beda dari kedua buzzer. Yang satu berbunyi pip ketika tombol ditekan, yang lain berbunyi pip pip pip ketika listrik mati.

Bagi aku, kedua alasan itu tidak mengharuskan memakai dua buzzer dalam satu rangkaian. Meskipun kedua buzzer itu mendapat catu dari sumber yang berbeda namun keduanya tetap berbunyi piip. Begitupun dengan saat bunyi buzzer, karena bagaimanapun suara buzzer itu akan tetap sama. Entah pada saat itu berbunyi satu buzzer atau dua buzzer bersamaan, sekali lagi keduanya tetap diterjemahkan telinga sebagai piip, bukan priit, toet dsb.

Gambar di bawah ini memberikan ilustrasi yang lebih jelas.

Meskipun aku menemukan kejanggalan di atas, aku hanya bertugas debug dan solder. Aku yakin sang desainer pasti lebih paham dengan desainnya, jadi mungkin punya alasan lain yang belum kuketahui mengapa membuat rangkaian seperti itu. Aku di sini hanya membantu, jadi ga perlu neko-neko. Cukup duduk manis jadi tukang servis, yang penting dapat gaji untuk menghidupi anak istri (amin... :-).

Thursday, December 3, 2009

Jumlah Kombinasi Kunci Gembok


Sore-sore aku datang ke kantor, berniat untuk menjelajah dunia maya daripada tidak ada kerjaan di kos.
Sampai di kantor, seperti biasanya aku memasukkan motor ke garasi. Ketika sedang memasukkan kombinasi pin pada gembok, tiba2 muncul pikiran isengku.

Andai saja seorang maling pengen membobol gembok tersebut, paling banyak berapa kali dia harus mencoba dengan berbagai kombinasi pin? Gembok ini memiliki nomor pin 4 angka, sehingga kombinasi (atau lebih tepatnya permutasi) yang mungkin adalah antara 0000-9999 (10.000 kombinasi).

Namun jika tidak boleh ada 2 atau lebih angka yang sama, berapakah jumlah kombinasinya?
Wah aku sudah lupa dengan rumus kombinasi di pelajaran matematika dulu. Maka aku buat aja kode matlab untuk mencari jumlah kombinasinya.


%--- Beginning of Code ---%

n = 0;

for a1 = 0:9
for a2 = 0:9
for a3 = 0:9
for a4 = 0:9
if ((a1 ~= a2)&(a1~=a3)&(a1~=a4)&(a2~=a3)&(a2~=a4)&(a3~=a4))
n = n+1 ;
a(n) = str2num([num2str(a1),num2str(a2),num2str(a3),num2str(a4)]);
end
end
end
end
end

disp(['n = ',num2str(n)]);

%--- End of Code ---%


Nah, ternyata jumlah kombinasi yang mungkin sebanyak 5040 kali.
Ada tipe gembok kombinasi yang lain, yaitu Push-Button Combination Lock. Gembok ini memiliki 10 buah tombol berangka yang bisa dipencet satu satu. Untuk gembok jenis ini berapakah kombinasi yang mungkin?

Ya mudah saja, karena tiap tombol hanya memiliki 2 kemungkinan, maka jumlah semua kemungkinan adalah 2^10 =1024 kombinasi.

Namun jika peraturannya harus dan hanya 5 tombol yang dipencet? Maka kode matlabnya seperti ini


%--- Beginning of Code ---%

n = 0;

for a1 = 0:1
for a2 = 0:1
for a3 = 0:1
for a4 = 0:1
for a5 = 0:1
for a6 = 0:1
for a7 = 0:1
for a8 = 0:1
for a9 = 0:1
for a10 = 0:1
if ((a1+a2+a3+a4+a5+a6+a7+a8+a9+a10)==5)
n = n+1 ;
a(n,:) = [num2str(a1),num2str(a2),num2str(a3),...
num2str(a4),num2str(a5),num2str(a6),num2str(a7),...
num2str(a8),num2str(a9),num2str(a10)];
end
end
end
end
end
end
end
end
end
end
end

disp(['n = ',num2str(n)]);

%--- End of Code ---%


Dan jumlah kombinasi yang mungkin sebanyak 252.

:)