Wednesday, September 19, 2012

[Rattonics] Simulator PT-100



Ini adalah project hardware yang memiliki fungsi sebagai simulator 4 buah sensor suhu PT-100 dan 1 buah sensor yang memiliki output 4-20mA.

Alat ini mampu menghasilkan nilai hambatan yang dihasilkan oleh PT-100. yaitu 100 Ohm untuk 0 derajat C, 103,9 Ohm untuk 10 derajat C, dst. Resolusi suhu yang dapat ditetukan adalah 10 derajat dengan range suhu dari 0 derajat C sampai dengan 100 derajat C. Adapun alat ini menyediakan 4 buah simulator PT-100.




Selain menyediakan simulator PT-100, alat ini juga menyediakan 1 buah simulator sensor yang memiliki output 4-20mA.

Sebagai media informasi, ditanamkan 1 buah LCD Graphic untuk menyajikan informasi untuk ke-5 simulator tersebut.



Sunday, June 17, 2012

[Rattonics] Pembuatan Board untuk DT-AVR ATmega32u4 CPU Module


Pada kesempatan sebelumnya telah aku bahas perihal file library eagle untuk DT-AVR ATmega32U4 CPU Module. Nah karena hari ini hari libur, jadi punya waktu deh buat desain board untuk DT-AVR ATmega32u4 CPU Module.




Setelah jadi desainya, kemudian bingung deh dengan cara pindahin ni desain ke PCB dengan printer baru. Sesuai dengan petunjuk di internet, dulu aku sering gunakan kertas kalender. (dari kertas biasa, difotokopi ke kertas kalender kemudian disetrika). Nah, karena baru 1 bulan yang lalu aku baru saja beli printer laser brother HL-2140 (mumpung lagi promo "Surabaya Shopping Festival", jadi bisa dapet harga murah), maka ga perlu repot2 lagi deh ke tempat fotokopi. Langsung aja print....
upss...pake kertas kalendar hasilnya rusak ni (efek dari printer laser)..


Coba lagi deh dengan kertas kado yang tebah dan tipis...
Upss..hasilnya tidak memuaskan. Kertas kalendar yang tebal juga rusak. Kemudian yang tipis, serbuk hitam (jalur desain) tidak mau pindah dengan sempurna ke permukaan PCB. Trus muncul ide deh, coba aja dengan kertas HVS.
Hahaha...ternyata bisa...bagus lagi hasilnya...cek sendiri deh....tapi memang agak lama sich pada waktu proses setrikanya. Harus benar2 sabar. panasnya diratakan ke semua bagian..tekan, gosok lagi..
Biasanya sich, jika sudah benar2 menempel dengan sempurna, di bagian kertas yang kita setrika, muncul bercak2 hitam. Jika di semua bagian sudah muncul bercak2 hitam, kemungkinan udah cukup bagus menempe di PCBnya. Mungkin saja cara ini berdeda dengan cara rekan2 sekalian. Jadi mohon maaf jika rekan2 yang menggunakan kertas HVS tidak bisa menempel dengan sempurna. Cukup banyak kemungkinan, seperti setrikaan yang digunakan mungkin panasnya tidak merata, penggosokan tidak merata, PCB tidak bersih, ataupun kemungkinan2 yang lain.



Setelah ini, tinggal pakai ferric chloride untuk menghilangkan tembaga yang tidak diinginkan.
Untuk langkah ini, aku kerjakan besok saja sepulang kerja. Selain sudah larut malam, juga mau tidur agar besok subuh bisa bangun untuk lihat Euro Cup 2012. Hehehee...

Saturday, June 16, 2012

Library Eagle untuk DT-AVR ATmega32U4 CPU Module



Beberapa hari yang lalu aku membeli modul DT-AVR ATmega32U4 CPU Module. Modul ini memang dirancang agar dapat digunakan bersamaan dengan DT-Combo Basic Base Board. Setelah aku pikir2, akhirnya aku lebih memilih membuat board sendiri untuk DT-AVR ATmega32U4 CPU Module dari pada membeli DT-Combo Basic Base Board.

Kenapa?
Karena memang dalam aplikasi yang aku perlukan tidak memerlukan fitur2 yang dimiliki oleh DT-Combo Basic Base Board. Oleh karena itu aku lebih memilih membuat board sendiri. Jika  pada aplikasi yang sedang dibuat oleh rekan-rekan sesuai dengan fitur yang dimiliki oleh DT-Combo Basic Base Board, alangkah lebih baiknya membeli board tersebut.
Mengapa?
Karena memang dirancang kompatibel untuk DT-AVR CPU Series dan modul DT-Combo Basic Base Board juga telah dilengkapi filter penghilang noise. Selain itu, tinggal pakai saja. (tidak perlu ribet).heheee...



Oke langsung saja, setelah aku putuskan untuk membuat board sendiri, langkah pertama adalah membuat rangkaian skematik dari board tersebut. Nah, itu dia, aku belum memiliki library untuk pinout dari modul DT-AVR ATmega32U4 CPU Module. Sedangkan dari Innovative Electronics, selaku pembuat modul tersebut tidak menyediakan library tersebut. Oleh karena itu jalan terakhir adalah membuat sendiri.
Berikut ini beberapa cara proses pembuatan library-nya.







Setelah jadi, ini dia...



Bagaimana? berminat libray ini?
Silahkan sedoot.....

Wednesday, June 13, 2012

[RattoSoft] Sistem Pemantauan dan Data Logger Untuk Digital Load Cell Dengan Menggunakan Protokol TCP/IP



Proyek ini bermula dari kebutuhan akan adanya informasi data dari masing-masing Digital Load Cell Indicator yang hanya dapat di-monitor dari jarak dekat. Sedangkan pada proses industri (pabrik), terdapat cukup banyak Digital Load Cell Indicator yang tersebar diberbagai sudut pabrik. Data pada masing-masing Digital Load Cell Indicator ini sangatlah bermanfaat bagi kelanjutan proses indusrti, seperti memeperkirakan lamanya proses industri, keberlansungan proses indusstri dan pemantuan penggunaan bahan baku.

Oleh sebab itu kemudian munculah kebutuhan sebuah sistem yang mampu mengakomodasi pemantauan dari masing-masing Digital Load Cell Indikator ke dalam satu buah PC yang berada di satu ruangan tertentu. Pada prinsipnya, PC tersebut harus bisa mendapatkan data dari masing-masing Digital Load Cell Indikator secara berkala. Karena beberapa alasan yang mendasar, maka jenis "transportasi data" yang diingikan sudah kerucutkan menjadi 2 jenis, yaitu RS-485 atau TCP/IP. Setelah dipertimbangkan baik buruknya untuk masing-masing antarmuka, maka dijatuhkan pilihan pada TCP/IP.


Untuk mengakomodasi dalam penyimpanan data dari masing-masing Digital Load Cell Indicator, digunakan Database Server PostgreSQL yang dapat diinstall pada komputer lain atapun pada 1 komputer yang sama dengan sistem ini.




Tuesday, June 12, 2012

Cara query data dari database PostgreSQL dengan menggunakan VB.net


Sesuai dengan judulnya, artikel ini akan membahas cara query data dari database PostgreSQL dengan menunggunakan code program. Sebenarnya tidak hanya terbatas pada penggunaan VB.net saja, tetapi dapat digunakan pada compiler software yang lain, seperti VB 6, Delphi, C++, C# ataupun yang lain. Hanya saja tidak bisa langsung copy paste begitu saja, perlu ada penyesuaian. Karena pada contoh program yang akan aku gunakan adalah VB.net 2008, maka judulnya disesuaikan saja.
OK, langsung saja ke pokok permasalahan.

Monday, June 11, 2012

Cara koneksi database PostgreSQL dengan VB.net 2008


Pada kesempatan kali ini aku akan coba membahas cara koneksi dari VB.net 2008 ke server database PostgreSQL. Sebelum memulai membahas, ada baiknya menjelaskan ketentuan awal.
  • Server database PostgreSQLsudah terinstal
  • Koneksi pada contoh program yang disediakan menggunakan server localhost ; port:5432
OK, mari kita lanjut ke pokok pembahasan.

Tuesday, May 29, 2012

Ekripsi data 2 arah pada VB.net 2008

Terkadang muncul beberapa ide baru yang terpikirkan ketika menrancang sebuah software baru. Salah satu ide yang terlintas adalah melakukan enkripsi 2 arah pada file konfigurasi. Ide ini muncul ketika ingin melakukan penyimpanan data konfigurasi (file .ini). Karena data yang disimpan adalah data akun dan password dari database, oleh karena itu diperlukan adanya enkripsi 2 arah yang paling tidak dapat membantu dalam menyelesaiakan permasalahan ini. Memang source code ini bukan aku yang membuat, tetapi mengambil dari beberapa forum dan blog pribadi orang lain.

sumber source code :
http://social.msdn.microsoft.com/Forums/da-DK/vblanguage/thread/401012c7-91e3-4eee-9e42-e5936a1afe61
http://www.dotnetspider.com/resources/24439-Encryption-Decryption-VB-Net.aspx
http://www.vbforums.com/showthread.php?t=559853

Berikut ini contoh program enkripsi 2 arah.
    Private Shared Function Encrypt(ByVal strText As String, ByVal strEncrKey As String) As String
        Dim IV() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF}
        Try
            Dim bykey() As Byte = System.Text.Encoding.UTF8.GetBytes(Microsoft.VisualBasic.Left(strEncrKey, 8))
            Dim InputByteArray() As Byte = System.Text.Encoding.UTF8.GetBytes(strText)
            Dim des As New DESCryptoServiceProvider
            Dim ms As New MemoryStream
            Dim cs As New CryptoStream(ms, des.CreateEncryptor(bykey, IV), CryptoStreamMode.Write)
            cs.Write(InputByteArray, 0, InputByteArray.Length)
            cs.FlushFinalBlock()
            Return Convert.ToBase64String(ms.ToArray())
        Catch ex As Exception
            Return ex.Message
        End Try
    End Function

    Private Shared Function Decrypt(ByVal strText As String, ByVal sDecrKey As String) As String
        Dim IV() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF}
        Dim inputByteArray(strText.Length) As Byte
        Try
            Dim byKey() As Byte = System.Text.Encoding.UTF8.GetBytes(Microsoft.VisualBasic.Left(sDecrKey, 8))
            Dim des As New DESCryptoServiceProvider
            inputByteArray = Convert.FromBase64String(strText)
            Dim ms As New MemoryStream
            Dim cs As New CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write)
            cs.Write(inputByteArray, 0, inputByteArray.Length)
            cs.FlushFinalBlock()
            Dim encoding As System.Text.Encoding = System.Text.Encoding.UTF8
            Return encoding.GetString(ms.ToArray())
        Catch ex As Exception
            Return ex.Message
        End Try
    End Function

Sedangkan untuk penggunaannya, dapat gunakan cara berikut ini :

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox2.Text = Encrypt(TextBox1.Text, "12345678")
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        TextBox4.Text = Decrypt(TextBox3.Text, "12345678")
    End Sub

Selain itu, jangan lupa untuk memasukan file include / imports

Imports System.Security.Cryptography
Imports System.IO


Pada perintah ini memang diharuskan mengisikan kata kunci yang akan membantu dalam proses enkripsi data agar tidak dengan mudah diketehui orang lain. Pengisikan kata kunci ini minimal adalah 8 karakter. Karakter yang digunakan dalam proses encrypt dan decrypt harus sama.
Berikut ini contoh program enkripsi 2 arah yang dibuat dengan menggunakan VB.net 2008

Wednesday, May 23, 2012

[RattoSoft] Software sinkronisasi data penjualan online dengan database lokal melalui jalur FTP



Software ini aku bikin karena kebutuhan akan informasi data yang real time antara data penjualan online dengan data penjualan offline (toko). Software ini memang benar-benar custom (belum tentu sesuai dengan kebutuhan orang lain) karena memang software ini disesuaikan dengan kebutuuhan Sistem Informasi di tempat aku bekerja. Menggunakan jalur FTP untuk mengambil data xml dari webserver dan kemudian di simpan ke dalam local folder untuk kemudian diolah agar dapat masuk ke dalam database Firebird.



Monday, May 21, 2012

[RattoSoft] Software kasir untuk Depot



Salah satu lagi program "jadul" yang telah aku bikin untuk sebuah depot di Surabaya. Sebenarnya tampilan dari software ini cukup jelek (di pakai sendiri oleh orang tua), so tidak perlu tampilan yang bagus, tetapi fitur yang menakjubkan..hahaaa...
Selain bisa cetak nota, lihat pendapatan dalam 1 hari/minggu/tahun, software ini juga mampu menampilkan secara otomatis alamat dari pelanggan yang sedang telpon untuk memesan makan. Hal ini mempersingkat proses pemesanan, karena pelanggan tidak di tanya berulang-ulang alamat pengiriman jika si pelanggan tersebut sudah pernah melakukan pemesanan. Database yang digunakan adalah Ms Access. Kenapa memilih ms access, karena tidak perlu multi user dan program hanya dijalankan pada 1 PC saja. So, kalo bisa sederhana, kenapa rumit. Lagi pula program sederhana dan tidak perlu perancangan database yang kompleks..
hahaaa...

Sunday, May 20, 2012

[RattoSoft] Software kasir untuk cafe



Software ini merupakan salah satu dari beberapa software berbasis Desktop Based yang telah aku buat. Software ini dibuat dengan menggunakan Visual Basic 6. Tampilan dari software ini memang tampak sangat kuno dan sederhana. Yupzzz...tepat sekali. Waktu itu masih sedikit sekali pengalaman dalam pembuatan software seperti ini (sekitar 3 tahun yang lalu). Sedikitnya waktu yang diberikan dan tidak adanya akses internet yang stabil (pembuatan software ini dilakukan di kota Ambawara) membuat software ini tampat kuno dan tidak disertai dengan tampilan grafis yang bagus.

Pada tampilan utama terdapat informasi tentang meja yang telah terisi para pelanggan.


Pada menu pemilihan masakan, terdapat beberapa kategori dari jenis masakan yang dijual, misal Ayam, Nasi, Bakmie, dll. Dari kategori ini terbagi menjadi beberapa sub bagian lagi.


Software ini juga menyediakan fitur cetak nota dengan menggunakan printer dot-matrix. Pada waktu pengimplementasian, digunakan printer LX-300.


Terdapat juga fitur untuk mencetak slip gaji pegawai berdasarkan dari jumlah presensi yang disimpan di dalam database, pengaturan tax, diskon, dll.
Software ini bersifat custom, sehingga tidak semua kafe cocok menggunakan software ini. Lagi pula software ini terlihat kuno, jadi ya tinggal kenangan saja...tanpa ada modikasi ataupun penambahan fitur2 baru. Lebih enak bikin software berbasis OOP saja, lebih mudah dalam penggabungan beberapa fitur2 baru...
hahaaa.....

[Rattonics] Modul pendeteksi objek yang mampu mengeluarkan suara manusia ataupun musik.


Cukup banyak sensor yang dapat digunakan untuk mendeteksi adanya objek atau halangan.
Sebagai contoh, sensor inframerah, sensor ultrasonik, PIR (passive infrared), radar ,dll. Pada aplikasi kali ini, saya menggunakan sensor ultrasonik produksi Innovative Electronics yang mampu mengukur jarak / mendeteksi adanya halangan sampai dengan 6m.
Sebagai output suara, saya menggunakan IC perekam suara, yaitu ISD2560. IC ini mampu mereka suara, seperti suara manusia, lagu dan beberapa jenis input suara yang lain. Kemudian hasil rekaman suara tersebut dapat dimainkan kembali melalui sebuah speaker kecil (4 Ohm) tanpa bantuan rangkaian penguat sinyal (amplifier).


Sebagai controller utama, digunakan ATtiny2313 yang berfungsi sebagai "otak" dari modul ini. Mikrokontroler ini akan mengambil data dari sensor ultrasonics dan kemudian diolah dan dijadikan referensi data dalam mengaktifkan suara.

[Rattonics] Kendali Lampu berbasis TLP-RLP 433,92 MHz





Ini merupakan salah satu proyek yang saya rancang untuk mengendalikan 2 buah lampu dengan menggunakan sebuah PC untuk mengatur hidup atau matinya kedua lampu tersebut melalui Radio Frekuensi / Wireless

Implementasi pengenalan kata pada atmega162 untuk mengontrol gerak robot mobil


Video ini merupakan sebuah robot mobil yang mampu digerakan maju, mundur, kanan, kiri dan berhenti berdasarkan dari perintah suara manusia. Suara yang didapat dari sebuah mikrofon diolah oleh mikrokontroler ATmega162 dengan memasukan algoritma Hidden Markov dan Linear Predictive Coding (LPC). Sistem ini saya rancang beberapa tahun lalu sebagai syarat kelulusan dari Universitas Kristen Petra Surabaya.



Friday, May 18, 2012

Mengubah mouse cordless menjadi wired

 Dulu tidak terpikirkan sama sekali untuk menggunakan mouse cordless. Selain bukan gamer ataupun penyuka kerapian di meja komputer, mouse cordless masih tergolong cukup mahal pada waktu itu. Semua berubah ketika sang kakak yang memberikan aku sebuah mouse cordless merk Logitech. Pada awalnya menyenangkan menggunakan mouse ini karena tidak diganggu dengan kabel yang malang melintang di atas meja. Setelah beberapa bulan pemakaian, baru terasa penggunaan baterai yang cukup boros.

Tuesday, May 8, 2012

Cara penulisan dan pembacaan file ".ini" sebagai file konfigurasi pada VB.net 2008

 
Pada setiap pembuatan program (berbasis Web, Desktop, Mobile ataupun program lainya), ada kalanya kita perlu untuk menyimpan beberapa konfigurasi yang telah dilakukan oleh user, sehingga user tidak perlu melakukan pengaturan ulang kembali. Sebagai contoh :
  • user melakukan pengaturan lebar kolom dari datagrid yang sebelumnya 90 menjadi 180.
  • mengubah bahasa dari inggris ke indonesia, ataupun sebaliknya
  • mengubah urutan
  • dll
Selain untuk menyimpan konfigurasi yang dilakukan oleh user, penyimpanan ini dapat berfungsi sebagai database sederhana yang mampu meringankan kerja dari program tersebut. Sebagai contoh :
  • penyimpanan bahasa untuk keperluan fitur multi language
  • penyimpanan data
  • dll

Setelah mengetahui fungsi dari penyimpanan konfigurasi, maka terdapat banyak cara agar hal ini dapat direalisasikan, Berikut ini beberapa contoh yang sering digunakan :
  • Penggunaan RAM sebagai media penyimanan = Pada umumnya konfigurasi disimpan di dalam variable yang akan di load ketika program di jalankan. Penyimpanan jenis ini tidak memungkinkan untuk melakukan penggatian isi dari konfigurasi tersebut secara permanen. Isi dari konfigurasi dapat diganti pada saat program berjalan, tetapi jika program ditutup dan dijalankan kembali, maka konfigurasi akan kembali seperti awal.
  • Penggunaan file tambahan sebagai media penyimanan = Pada umumnya konfigurasi disimpan di dalam sebuah file dengan berbagai macam jenis file. Beberapa contoh yang sering digunakan adalah .conf, .ini ataupun format file buatan sendiri. Penyimpanan jenis ini memungkinkan untuk melakukan penggatian isi dari konfigurasi tersebut. Program akan membaca konfigurasi dari file tersebut dan kemudian baru menyimpan ke dalam RAM. Jika ada perubahan, maka program akan mengambil data tersebut dan disimpan ke dalam file konfigurasi.
Pada kesempatan kali ini, akan coba dibahas perihal penggunaan file .ini untuk menggati bahasa dari tampilan program yang dikembangkan dengan menggunakan VB.net 2008.


Program ini terdiri dari 3 file utama, yaitu
  1. Form1.vb : merupakan tampilan utama dari contoh program ini.
  2. IniFile.vb : merupakan class yang berisikan sub rutin yang berfungsi untuk membaca, dan menuliskan kembali konfigurasi.
  3. Language.vb : merupakan class yang berisikan variable-variable yang akan digunakan pada Form1.vb dan class IniFile.vb.
Ketika program pertama kali dijalankan, maka akan muncul Form1 yang berisikan informasi dalam bahasa Indonesia.



Jika ingin mengganti dengan bahasa inggris, tekan RadioButton "English", maka secara otomatis keterangan pada Form1 akan berubah dalam bahasa Inggris.



Apabila ingin mengganti keterangan tesrebut, dapat tekan tombol yang berlabelkan ">" pada sebelah kanan form, maka Form1 akan melebar dan akan menampilkan beberapa textbox yang beriskan tulisan yang merupakan keterangan untuk Form1 dalam bahasa Indonesia dan Inggris.



Semua keterangan ini disimpan di dalam file yang bernama Config.ini. File ini dapat ditemukan di folder yang sama dimana program exe ini berada. "..\FileConfig\FileConfig\bin\Debug\"



Bagaimana? mudah bukan?
Silahkan unduh contoh program ini.
Selamat mencoba!!!

Sunday, March 11, 2012

Cara membuat akun di Game for Windows Live pada Game Resident Evil 5



Setelah game bisa dimainkan, langsung aja deh tembak kanan kiri...ketemu zombie..dor dor dor...
Beberapa menit kemudian, kepala terasa pusing (efek bermasin game 3D)..fiuh..
harus berhenti beberapa saat dulu nich...
eh, ternyata ga bisa di save...buset...
sia2 dong..

Cara installasi game Resident Evil 5

 
Mencoba mencari kesenangan lain selain coding adalah main game. Salah satu game kesenangan aku dari jaman PS1 sampai sekarang adalah Resident Evil. Setelah mempertimbangkan antara download game tersebut melalui Torrent atau menyewa DVD gamenya, akhirnya jatuh pilihan pada sewa menyewa DVD Game. Setelah mendapatkan judul game Resident Evil 5 (sudah cukup lama tidak maen game), langsung saja aku lakukan installasi pada notebook yang menggunakan OS Win7 Home Premium 64-bit (versi bundle ACER). Setelah melakukan installasi, maka langsung muncul icon Resident Evil di desktop.