Selamat datang di sonoku.com

Membangun Webserver dengan Lighttpd pada Beaglebone Black

webserver

Tutorial ini menjelaskan langkah instalasi webserver pada Beaglebone Black (BBB) dengan OS Debian menggunakan Lighttpd dilengkapi dengan MySQL dan support PHP5. Lighttpd adalah sebuah aplikasi web server yang bekerja pada sistem operasi UNIX/Linux dan Windows. Ada yang menyebutnya dengan Lighty. Aplikasi ini bisa dikatakan sebagai alternatif dari Apache. Lighttpd sangat cocok untuk anda yang menginginkan web server yang aman dan cepat. Untuk info lebih lanjut Read More

Internet Connection on Beaglebone over USB

Sometimes, we meet a condition that forced us to have an internet connection to our Beaglebone Black (BBB), such as updating OS package, upgrading OS package, or even a program installation. BBB has an useful feature to get an internet connection through USB port. The idea is to share/forward our laptop’s internet connection to our BBB through USB cable instead of ethernet cable. Here is the tutorial to get an internet connection to our BBB. Read More

Implementasi Metode Fuzzy Logic Controller Pada Kontrol Posisi Lengan Robot 1 DOF (bag.3/3)

Melanjutkan dari artikel sebelumnya.

4. Kode Program Defuzzifikasi

Metode defuzzifikasi yang digunakan pada program ini adalah metode WA (Weighted Average) atau COA (center of area) dengan persamaan sebagai berikut:

COA

Potongan program untuk metode CoA ditulis sebagai berikut: Read More

Implementasi Metode Fuzzy Logic Controller Pada Kontrol Posisi Lengan Robot 1 DOF (bag.2/3)

Setelah perancangan perangkat keras (lengan robot) selesai, kemudian dilakukan perancangan fungsi keanggotaan yang nilai domainnya disesuaikan dengan keadaan lengan robotnya. Misalnya, pada robot yang dibuat hanya dapat bergerak ke kanan dan ke kiri hingga maksimal 150 derajat, maka pada perancangan fungsi keanggotaan (membership function disingkat MF) dapat ditentukan domainnya dari -150 derajat hingga +150 derajat. Read More

Implementasi Metode Fuzzy Logic Controller Pada Kontrol Posisi Lengan Robot 1 DOF (bag.1/3)

Pada artikel ini akan dirancang sebuah sistem yang mengimplementasikan metode Fuzzy Logic Controller pada sebuah lengan robot 1 DOF. Berdasarkan blok diagram pada Gambar 1, dapat dilihat bahwa terdapat 2 nilai input yang akan masuk ke proses fuzzifikasi. Input yang pertama yaitu nilai error yang didapatkan dari selisih antara nilai set point (posisi lengan actual) dan nilai present value (posisi lengan target). Nilai posisi tersebut didapatkan dari nilai potensiometer yang di-couple pada lengan. Input yang kedua yaitu nilai delta error (error – last error). Output dari proses fuzzy logic controller berupa nilai PWM (pulse width modulation) yang akan mengatur pergerakan motor dari posisi lengan robot (actual). Nilai dari sensor potensiometer yang ada pada lengan robot (actual) akan digunakan sebagai feedback untuk mengetahui nilai error pada setiap iterasi yang telah dijalankan.
Read More

Membaca Kartu RFID Mifare 13.56MHz dengan CR-013F, ATMega128 dan Bascom (bag.1)

Mifare_1

Smart Card atau kartu RFID Mifare yang bekerja pada frekuensi 13.56MHz memiliki protokol data sendiri baik dalam proses pembacaan (read) maupun penulisannya (write). Tidak seperti kartu RFID yang lain, ambil contoh RFID 150KHz yang prosesnya lebih sederhana, Mifare memiliki beberapa proses yang harus dilalui secara berurutan agar dapat diperoleh data ID yang tersimpan dalam kartu. Jika salah satu proses gagal (failed), maka ID kartu tidak dapat dibaca.

Modul yang digunakan untuk membaca kartu Mifare salah satunya adalah CR-013F, sebuah modul yang saya rasa jarang sekali para hobi memakainya. Modul buatan China berukuran 42*18mm ini bekerja dengan tegangan 4.5V-5.5V. Read More

Konversi Bilangan Heksadesimal ke Biner dengan Delphi

Bagi anda yang sering berhubungan dengan interface mikrokontroler dan PC kadang memerlukan konversi bilangan heksadesimal ke dalam bentuk Biner. Sebenarnya Delphi telah menyediakan fungsi HexToBin sendiri, tapi kali ini kita coba untuk mengkonversi bilangan heksadesimal dengan tipe data string dan menghasilkan bilangan biner dalam bentuk string juga.

Coba perhatikan fungsi berikut ini

dan berikut dara penggunaannya dalam program

Cara Menginstal VaComm di Delphi

Komponen ini sangat penting untuk PC komunikasi (antarmuka) dengan hardware eksternal menggunakan port serial (Comm) . Cukup mudah digunakan, dan fiturnya lengkap. Kali ini kita berbicara sedikit tentang cara menginstal komponen-komponen ke VaComm pada Delphi. Kali ini kita mencoba untuk Delphi 7, Delphi versi lain adalah cara yang sama, hanya berbeda dalam file komponennya. Untuk mendapatkan komponen, silahkan download melalui link di bagian akhir artikel ini. Langkah untuk menginstal VaComm sebagai berikut:

1. Buka Delphi

2. Kemudian langkah berikutnya untuk mengekstrak file ke folder instalasi tmsa32d7.ZIP Delphi, misalnya C: \ Program Files \ Borland \ Delphi7 \ tmsa32d7

3. Cari file paket vacomm7.dpk , dan klik ganda.

4. Kembali ke program Delphi, anda akan melihat form berikut

5. Dalam dialog yang muncul klik tombol Compile, kemudian lanjutkan untuk menginstal VaComm komponen dengan mengklik tombol Install. Akan muncul informasi bahwa komponen telah diinstal.

 

6. Berikutnya mencakup proses instalasi dengan memilih File-Tutup Semua pada menu utama Delphi, dan pilih Yes untuk menyimpan file instalasi.

7. Setelah file instalasi disimpan, maka Anda harus mengubah jalur direktori library untuk menunjuk file-file library yang Anda hanya menginstal. Pilih Tools-Lingkungan Pilihan …, sehingga Anda akan melihat dialog ini. Pada dialog muncul, pilih Tab library.

 

8. Selanjutnya, Anda harus menemukan jalur direktori library dengan mengklik tombol […], misalnya C: \ Program Files \ Borland \ Delphi7 \ tmsa32d7

9. Telusuri jalur direktori library Anda, dan klik OK

 

10. Sekarang, tambahkan path library dengan klik tombol “Add”.

 

11. Selesai

Setelah proses selesai kita sekarang memiliki tab tambahan bernama TMS Async32 komponen dalam palet komponen. Good luck!

download Vacomm7

tmsa32d7.ZIP (Delphi 7)

Apa itu file .INI?

File .INI (file dengan ekstensi .INI) adalah file teks berisi konfigurasi sebuah aplikasi berbasis sistem operasi Windows yang digunakan untuk menyimpan sebuah konfigurasi sebuah aplikasi. Sebenarnya Windows merekomendasikan penggunaan registry untuk menyimpan setting/konfigurasi sebuah aplikasi program, namun penggunaan file .INI dirasa lebih cepat dan mudah untuk diakses. Kata “INI” berasal dari “Initialization” atau inisialisasi. Dengan demikian file INI akan diakses awal ketika sebuah aplikasi dijalankan, namun tidak menutup kemungkinan file diakses atau dimanipulasi pada saat aplikasi berjalan.

Format File INI

File INI memiliki struktur/format seperti berikut:

Setiap file INI terdiri dari satu atau lebih Section, tiap Section terdiri dari satu atau lebih Key yang memiliki nilai (Value). SectionName ditulis dalam sebuah tanda kurung “[” dan “]” dan berdiri sendiri dalam satu baris. Sifat tulisan pada SectionName adalah Case-Sensitive jadi besar kecil huruf penting dan tidak boleh ada spasi. KeyName diikuti tanda “=” dan sebuah nilai (Value), juga ditulis dalam satu baris. Value bisa berupa data dengan tipe integer, string, atau boolean. Sebuah komentar (Comment) diawali dengan tanda “;”.

Contoh isi File INI

Berikut adalah contoh file INI yang digunakan untuk menyimpan konfigurasi dari sebuah port serial RS232 dan alamat database.  Jika diperhatikan pada section Database,  file INI digunakan untuk menyimpan sebuah Connection String untuk koneksi database, dan juga untuk menyimpan username dan password yang digunakan untuk mengakses sebuah aplikasi. Jika diperlukan sebuah value dapat di-enkripsi untuk keamanan.

[/crayon]

 

Reinforcement Learning (intro)

Apa itu Reinforcement Learning?

Reinforcement Learning (RL) adalah pembelajaran (learning) terhadap apa yang akan dilakukan (bagaimana memetakan situasi kedalam aksi) untuk memaksimalkan reward. Pembelajar (learner) tidak diberitahu aksi mana yang akan diambil, tetapi lebih pada menemukan aksi mana yang dapat memberikan reward yang maksimal dengan mencobanya. Aksi tidak hanya mempengaruhi reward langsung, tetapi juga situasi berikutnya, begitu juga semua reward berikutnya. Dua karekteristik inilah (pencarian trial-error dan reward tertunda) yang membedakan RL dengan yang lain.

Agen harus mampu untuk mengindera (sense) keadaan (state) lingkungan luas dan harus dapat mengambil aksi yang mempengaruhi state.

RL berbeda dengan pembelajaran terawasi (Supervised learning ). Pembelajaran terawasi merupakan pembelajaran dari contoh-contoh yang disediakan oleh pengawas luar yang berpengetahuan. Hal ini sangat penting dalam pembelajaran, tapi itu sendiri tidak cukup untuk belajar dari sebuah interaksi. Dalam permasalahan interaksi, hampir tidak mungkin secara praktis mendapatkan contoh dari perilaku yang diinginkan baik yang benar dan mewakili semua situasi dimana agen harus beraksi. Karena itu agen harus belajar dari pengalamannya.

Salah satu tantangan yang muncul dalam RL dan tidak terdapat pada jenis pembelajaran lain adalah eksplorasi dan eksploitasi. Untuk mendapatkan banyak reward, agen RL lebih mementingkan aksi yang telah dicoba waktu lalu dan terbukti efektif menghasilkan reward. Tapi untuk menemukan aksi tersebut, harus mencoba aksi yang belum pernah terpilih sebelumnya. Agen harus mengeksplotasi apa yang telah diketahui untuk mendapatkan reward, tetapi juga harus  mengkeksplorasi untuk membuat pemilihan aksi yang lebih baik kedepannya.

Elemen RL

Terdapat empat sub-elemen RL yaitu,

1. Policy

“Apa yang akan dilakukan sekarang?

Policy adalah cara agen berperilaku pada saat waktu yang diberikan. Atau bisa dikatakan, policy adalah pemetaan dari keadaan (state) lingkungan ke aksi yang akan diambil pada saat keadaan tersebut. Dalam beberapa kasus  policy dapat berupa fungsi sederhana atau tabel (lookup table), atau dapat melibatkan komputasi seperti proses pencarian. Policy ini merupakan inti dari RL yang sangat menentukan behavior dari suatu agent.

2. Fungsi Reward (reward function)

“Seberapa bagus aksi ini?”

Fungsi reward didefinisikan sebagai gol/tujuan yang ingin dicapai dalam permasalahan RL. Atau bisa dikatakan, fungsi tersebut memetakan tiap state yang diterima (atau pasangan keadaan-aksi) dari lingkungan kedalam angka tunggal.

Agen RL bertujuan untuk memaksimalkan perolehan reward selama proses. Fungsi reward mendefinisikan apa yang baik dan apa yang buruk bagi agen.

3. Fungsi nilai (value function)

“Seberapa bagus keadaan/state ini?”

Fungsi reward mengindikasikan apa yang baik segera, sedangkan fungsi nilai (value function) lebih spesifik ke pada apa yang baik dalam waktu yang panjang. Atau bisa dikatakan, nilai sebuah keadaan (state) adalah jumlah total reward yang bisa dikumpulkan agen hingga masa berikutnya, dimulai dari keadaan (state) tersebut.

Reward diberikan langsung oleh lingkungan, sedangkan value harus diestimasi dan diestimasi ulang dari urutan pengamatan agen sepanjang waktu.

4. Model lingkungan (Dinamika Lingkungan)

“Apa yang terjadi jika saya lakukan aksi ini”

Model lingkungan adalah sesuatu yang menirukan kelakuan sebuah lingkungan. Sebagai contoh, diketahui sebuah keadaan dan aksi, model dapat memprediksikan keadaan selanjutnya dan reward selanjutnya. Elemen ini tidak harus ada, elemen ini digunakan untuk perencanaan (planning) maksudnya adalah berbagai cara dalam memutuskan aksi dengan memperhatikan kemungkinan situasi masa depan, sebelum benar-benar mengalaminya. Kolaborasi planning dan RL merupakan hal baru. Saat ini sistem RL  secara eksplisit merupakan pembelajaran secara trial-and-error.

Interaksi agent dan environment

Pembelajar (Learner) dan pengambil keputusan (decision maker) disebut agen (agent). Segala sesuatu yang berinteraksi dengan agen disebut lingkungan (environment). Agen memilih aksi dan lingkungan merespon kepada aksi tersebut dan memberikan keadaan (state) baru kepada agen. Lingkungan juga menghasilkan reward, nilai numerik tertentu yang coba dimaksimalkan agen tiap waktu.

Secara spesifik, agen dan lingkungan berinteraksi pada tiap urutan langkah waktu diskrit, t = 1, 2, 3,,….Pada tiap langkah t, agen menerima beberapa bentuk keadaan (state) lingkungan, , dimana S adalah himpunan semua keadaan yang mungkin, dan berdasarkan itu kemudian memilih sebuah aksi, , dimana adalah himpunan semua aksi yang mungkin pada keadaan . Satu langkah kemudian, akibat dari aksi yang diberikan, agen meneriman reward , dan sekarang berada pada keadaan baru .

Gambar 1.    Interaksi agen dan lingkungan pada RL

Pada tiap langkah, agen mengimplementasikan pemetaaan keadaan (state) ke probabilitas dalam memilih tiap aksi yang mungkin. Pemetaan ini disebut policy agen, dinotasikan dengan , dimana yaitu probabilitas  dimana jika . Metode RL adalah bagaimana agen merubah policy sebagai hasil dari pengalamannya. Tujuan yang ingin dicapai oleh agen adalah memaksimalkan jumlah reward yang diterima selama masa pembelajaran.

Goal dan Rewards

Dalam RL, tujuan adanya agen adalah menerima sinyal reward yang diberikan lingkungan kepada agen. Reward berupa angka sederhana, . Tujuan agen adalah memaksimalkan jumlah keseluruhan reward yang diterima (bukan reward langsung, tetapi akumulasi) selama pembelajaran.