Silahkan Pilih Warna Latar Blog ini Sesuai Dengan kenyamanan Yang Anda Suka
Selamat Datang di zainuddinkurnia.blogspot.com

Kamis, 28 Oktober 2010

MEMBUAT FILE JAVA SEDERHANA DAN MEMBUKANYA






Untuk bisa membuat dan membuka program Java, Anda harus menginstall program "Java(TM) SE Development Kit" yang dapat didownload di situs http://www.java.com

-------------------------------------------------

MEMBUAT FILE JAVA (TINGKAT SANGAT DASAR)

1) Buat file java HANYA DI NOTEPAD. Isikan dengan ketentuan sebagai berikut:

public class selamatdatang {
public static void main(String[] args) {
System.out.println("Selamat datang di Java!");
}
}

NB : Ingat! Java bersifat SENSITIVE CASE! JANGAN ADA KESALAHAN ANTARA HURUF BESAR DAN KECIL

2) Simpan file tersebut dengan namafile yang berekstensi java. Ingat! NAMA FILE HARUS SESUAI DENGAN NAMA CLASS (dapat dilihat pada setelah kalimat public class). Karena saya mengisi selamatdatang, maka saya harus menyimpan file tersebut dengan nama selamatdatang.java

NB : Simpan file java dalam directory khusus (folder khusus)! Sebagai contoh, saya menyimpan di D:\datajava



-------------------------------------------------

MEMBUKA FILE JAVA

1) Membuat file yang berekstensi bat. Isikan dengan ketentuan sebagai berikut:

cd datajava
set path=%path%;C:\Program Files\Java\jdk1.6.0\bin

NB: cd datajava menunjukkan perintah untuk masuk ke D:\datajava (tempat dimana saya menyimpan file java)
sedangkan C:\Program Files\Java\jdk1.6.0\bin adalah address dimana saya menginstall "Java(TM) SE Development Kit"

2) Simpan file tersebut dengan namafile berekstensi bat. Namanya boleh sembarang, simpan di drive yang dimana sebagai tempat Anda tadi menyimpan file java, tetapi JANGAN SIMPAN DI FOLDER! Sebagai contoh, saya beri nama datajava.bat dan saya simpan di D:/



3) Buka Command Prompt



4) Ketik D:



5) Ketik namafile yang berekstensi bat tadi. Karena saya memberi nama datajava.bat, maka saya ketik datajava.bat



6) Untuk membuka program Java, kita harus compile file tersebut (yang dimana isinya menjadi bytecode) dengan ekstensi class. Ketik javac namafile.java Karena saya ingin compile selamatdatang.java maka saya ketik javac selamatdatang.java



Hal ini akan terlihat ada file baru berekstensi class ditempat Anda menyimpan file java



Atau anda juga dapat mengecek lewat cmd dengan cara ketik dir namafile.* Karena saya mengcompile file selamatdatang.java maka saya ketik dir selamatdatang.*



Terlihat ada file berekstensi java dan class

7) Ketik java namafile
Karena saya mengcompile file selamatdatang.java maka saya ketik java selamatdatang



8) Muncul tulisan Selamat datang di Java!

-------------------------------------------------

Daftar Pustaka (Dalam bentuk e-book):
Liang, Y. Daniel. 2007. Introduction to Java Programming: Comprehensive Version Sixth Edition United States of America: Pearson Education, Inc.



Sumber : http://hellochil.blogspot.com/2009_09_01_archive.html

Daftar Instruksi Bahasa Assembly MCS-51

Daftar Instruksi Bahasa Assembly MCS-51 articles.jpgDalam program bahasa assembly terdapat 2 jenis yang kita tulis dalam program:
1. Assembly Directive (yaitu merupakan kode yang menjadi arahan bagi assembler/compiler untuk menata program)
2. Instruksi (yaitu kode yang harus dieksekusi oleh CPU mikrokontroler dengan melakukan operasi tertentu sesuai dengan daftar yang sudah tertanam dalam CPU)

Daftar Assembly Directive

Assembly Directive Keterangan
EQU Pendefinisian konstanta
DB Pendefinisian data dengan ukuran satuan 1 byte
DW Pendefinisian data dengan ukuran satuan 1 word
DBIT Pendefinisian data dengan ukuran satuan 1 bit
DS Pemesanan tempat penyimpanan data di RAM
ORG Inisialisasi alamat mulai program
END Penanda akhir program
CSEG Penanda penempatan di code segment
XSEG Penanda penempatan di external data segment
DSEG Penanda penempatan di internal direct data segment
ISEG Penanda penempatan di internal indirect data segment
BSEG Penanda penempatan di bit data segment
CODE Penanda mulai pendefinisian program
XDATA Pendefinisian external data
DATA Pendefinisian internal direct data
IDATA Pendefinisian internal indirect data
BIT Pendefinisian data bit
#INCLUDE Mengikutsertakan file program lain


Daftar Instruksi

Instruksi Keterangan Singkatan
ACALL Absolute Call
ADD Add
ADDC Add with Carry
AJMP Absolute Jump
ANL AND Logic
CJNE Compare and Jump if Not Equal
CLR Clear
CPL Complement
DA Decimal Adjust
DEC Decrement
DIV Divide
DJNZ Decrement and Jump if Not Zero
INC Increment
JB Jump if Bit Set
JBC Jump if Bit Set and Clear Bit
JC Jump if Carry Set
JMP Jump to Address
JNB Jump if Not Bit Set
JNC Jump if Carry Not Set
JNZ Jump if Accumulator Not Zero
JZ Jump if Accumulator Zero
LCALL Long Call
LJMP Long Jump
MOV Move from Memory
MOVC Move from Code Memory
MOVX Move from Extended Memory
MUL Multiply
NOP No Operation
ORL OR Logic
POP Pop Value From Stack
PUSH Push Value Onto Stack
RET Return From Subroutine
RETI Return From Interrupt
RL Rotate Left
RLC Rotate Left through Carry
RR Rotate Right
RRC Rotate Right through Carry
SETB Set Bit
SJMP Short Jump
SUBB Subtract With Borrow
SWAP Swap Nibbles
XCH Exchange Bytes
XCHD Exchange Digits
XRL Exclusive OR Logic

Sumber : http://www.mikron123.com/index.php/Tutorial-MCS-51/Daftar-Instruksi-Bahasa-Assembly-MCS-51.html

Pemrosesan Dokumen XML pada Database Xindice

Dokumen yang akan diproses pada database xindice adalah dokumen-dokumen berformat XML (Extensible Markup Language). Langkah pertama dalam pemrosesan dokumen XML adalah membuat sebuah koleksi (collection) untuk dimasukkan dalam basis data Xindice yang akan digunakan sebagai tempat untuk menyimpan data XML yang telah disiapkan. Pembuatan koleksi seperti ditunjukkan pada tampilan program pada gambar 1. di bawah ini :

xindice3Gambar 1. Penambahan sebuah koleksi dalam xindice

Untuk menambahkan isi sebuah dokumen XML pada sebuah koleksi yang telah dibuat  adalah dengan melakukan perintah seperti yang ditunjukkan pada gambar 2. di bawah ini:

xindice4Gambar 2. Penambahan dokumen XML pada sebuah koleksi di xindice

Dokumen XML diatas diakses dan diolah menggunakan query Xpath pada Xindice.  Untuk  melakukan  perintah-perintah  query  pada  dokumen  tersebut, utilitas  konsol  Xindice  yang  dipakai  adalah  xindice                                        xpath.  Beberapa perintah  xindice xpath yang  dilakukan  untuk  mengolah  dokumen  XML tersebut dapat dijelaskan seperti di bawah ini:

1. Â Melakukan query pada semua isi dokumen

Sintaksis xpath yang dipergunakan adalah /, yang menunjukkan semua data di bawah root. Gambar 3. menunjukkan tampilan programnya:

xindice5Gambar 3. Query XPath untuk pemanggilan semua dokumen

Pada tampilan tersebut, tampak di bawah koleksi edy, terdapat data pasien dan  pemakai.  Selain  dengan  perintah  /,  juga  dapat  dipergunakan  perintah

//, yang akan mengembalikan semua elemen yang sama.

Gambar 4. menunjukkan tampilan programnya:

xindice6Gambar 4. Query Xpath untuk pemanggilan semua Elemen Pasien

Tampak  bahwa  pada  output  di  atas,  yang  dimunculkan  hanya  semua pasien, sedangkan elemen pemakai tidak dimunculkan.

2. Â Query elemen tertentu

Terdapat banyak variasi pencarian elemen tertentu. Sebagai contoh, karena pada  dokumen ini data pasien sudah diindeks dengan nomor induknya, maka  untuk  mempercepat  pencarian,  dapat  dipergunakan  pencarian dengan nomor induk tertentu seperti ditunjukkan Gambar 5. :

xindice7

Gambar 5. Query Xpath untuk pemanggilan elemen Pasien dengan nomor induk tertentu.

Pada gambar diatas hanya ditampilkan data pasien dengan nomor induk 1518989, selain nomor induk tersebut tidak akan dimunculkan.


Sumber : http://edywinarno.com/2009/12/pemrosesan-dokumen-xml-pada-database-xindice/

Modifikasi Dokumen XML dengan XUpdate pada Xindice

Seperti perintah pada basis data RDBMS (Relational Database Management System), maka modifikasi dokumen pada database XML Xindice juga terdiri dari INSERT, UPDATE dan DELETE. Untuk setiap tahap perintah akan dipergunakan perintah konsolnya. Adapun karena perintah XUpdate ini bisa sangat panjang dan memerlukan modifikasi yang sering, maka pada utilitas konsol, perintah tersebut disimpan di dalam file teks tersendiri, untuk kemudian disertakan nama filenya pada setiap perintah modifikasi dokumen. Sedangkan untuk versi Java, baik perintah INSERT, UPDATE atau DELETE tidak mempunyai perbedaan kode, melainkan tentu saja sintaksis dari perintah XUpdate yang diinginkan. Berikut adalah kode progam Java yang diperlukan untuk menjalankan perintah XUpdate tersebut:
package test.xindiced;

import org.xmldb.api.base.*;
import org.xmldb.api.modules.*;
import org.xmldb.api.*;

public class XUpdate {

public static void main(String[] args) throws Exception {
Collection col = null;
try {
String driver = “org.apache.xindice.client.xmldb.DatabaseImpl”;
Class c = Class.forName(driver);

Database database = (Database) c.newInstance();
DatabaseManager.registerDatabase(database);
col = DatabaseManager.getCollection(“xmldb:xindice:///db/edyâ€�);

String xpath = “//pasien[nomorinduk=1518989]/nama”;
String data = “Edy Winarno”;
String xupdate=”" +
“” + data + “” +
“”;

XUpdateQueryService service =
(XUpdateQueryService) col.getService(“XUpdateQueryService”, “1.0″);
service.update(xupdate);
} catch (XMLDBException e) {
System.err.println(“XML:DB Exception occured ” + e.errorCode + ” ” +
e.getMessage());
} finally {
if (col != null) {
col.close();
}
}
}
}
Perbedaan program ini dengan program Java yang menggunakan query dengan XPath, adalah service yang di-instansiasi. Jika yang menggunakan XPath service adalah bertipe XPathQueryService, maka disini service bertipe XUpdateQueryService, seperti ditunjukkan pada potongan program ini:

XUpdateQueryService service =
(XUpdateQueryService)
col.getService(“XUpdateQueryService”, “1.0″);
service.update(xupdate);

Adapun nilai dari variabel xupdate yang akan menentukan efek dari eksekusi servis tersebut, yang bisa bertipe INSERT, UPDATE ataupun DELETE.

1. Perintah INSERT.
Untuk menambah data pada dokumen XML, akan diperlihatkan data sebelum perintah INSERT ditambahkan, sebagaimana berikut ini:

D:\Program\xml-xindice-1.1\bin>xindice xpath -c /db/edy -q “//pasien”
trying to register database

1518989Edy WinarnoKTP-229988221 SemarangPria A16567024-588-xxx   DosenAmoxycillinSemarang

Untuk menambahkan data baru, yaitu pasien dengan nomorinduk 1518989, maka dipergunakan perintah modifikasi XUpdate yang disimpan ke dalam file insert2.xml berikut ini:

1518990

Yuni Astuti

KTP-1109099922

Semarang

Wanita

O

160

45

024-566-xxx

Swasta

Amphicillyn

Semarang

(Perintah modifikasi XUpdate untuk INSERT)

Untuk mengeksekusi perintah dalam file insert.xml tersebut, dilakukan perintah konsol berikut ini:
xin1

Gambar 1. Eksekusi Perintah dalam file insert.xml

Hasil dari proses tersebut adalah penambahan data pasien baru dengan nomorinduk 1518990 berikut ini :

xin2

Gambar 2. Â Hasil Eksekusi Perintah XUpdate INSERT

Pada tampilan tersebut di atas, tampak bahwa data sudah bertambah dengan data baru yaitu pasien dengan nomor 1518990


Sumber : http://edywinarno.com/2009/12/modifikasi-dokumen-xml-dengan-xupdate-pada-xindice/

Bahasa Assembly

Instruksi mesin dinyatakan dengan pola 0 dan l. Pola semacam itu sangat sulit untuk dijelaskan pada saat membahas atau menyiapkan program. Oleh karena itu, kita menggunakan nama simbolik untuk menyatakan pola tersebut. Sejauh ini kita telah menggunakan katakata biasa seperti Move, Add, Increment, dan Branch, untuk instruksi operasi yang menyatakan pola kode biner yang sesuai. Pada saat menulis program untuk komputer tertentu, katakata tersebut biasanya diganti dengan akronim yang disebut mnemonic, seperti MOV, ADD, INC, dan BR Serupa dengan kita menggunakan notasi R3 untuk mengacu pada register 3, dan LOC untuk mengacu pada lokasi memori. Set lengkap nama simbolik semacam dan aturan penggunaannya membentuk bahasa pemrograman, yang biasanya disebut sebagai bahasa assembly.
Set aturan untuk menggunakan mnemonic dalam spesifikasi instruksi dan program lengkap disebut syntax bahasa. Program yang ditulis dalam bahasa assembly dapat secara otomatis ditranslasikan ke rangkaian instruksi mesin oleh suatu program yang disebut assembler. Program assembler adalah salah satu kumpulan program yang merupakan bagian dari software sistem. Assembler, seperti halnya program yang lain, disimpan sebagai rangkaian instruksi mesin dalam memori komputer. Program user biasanya dimasukkan ke dalam komputer melalui keyboard dan disimpan dalam memori atau disk magnetik. Pada titik ini, program user hanyalah kumpulan baris karakter alfanumerik. Pada saat program assembler dieksekusi, program tersebut membaca program user, menganalisanya, dan kemudian menghasilkan program bahasa mesin yang diinginkan. Bahasa mesin tersebut berisi pola 0 dan 1 yang menetapkan instruksi yang akan dieksekusi oleh komputer tersebut. Program user dalam format teks alfanumerik aslinya disebut source program, dan program bahasa mesin yang diassemble disebut object program.
Bahasa assembly untuk suatu komputer mungkin case sensitive atau mungkin tidak, sehingga, komputer tersebut bisa membedakan antara huruf kapital dan huruf kecil atau tidak dapat. Kita akan menggunakan huruf kapital mark menunjukkan
semua nama dan label dalam contoh kita untuk dapat meningkatkan kemudahan pembacaan teks. Misalnya, kita akan menuliskan instruksi Move sebagai berikut
MOVE R0, SUM
MOVE mnemonic menyatakan pola biner, atau OP code, untuk operasi yang dilakukan oleh instruksi tersebut. Assembler mentranslasi rnnemonic ini menjadi OP code biner yang dipahatni komputer. Mnemonic OPcode diikuti oleh setidaknya satu karakter spasi kosong. Kemudian informasi yang menyatakan operand ditetapkan. Dalam contoh kita, source operand berada dalam register R0. Informasi ini diikuti oleh spesifikasi destination operand, dipisah dari source operand dengan koma, tanpa jeda kosong. Destination operand berada dalam lokasi memori yang alamat binernya dinyatakan dengan nama
SUM. Karena terdapat beberapa mode pengalamatan yang dapat digunakan untuk menetapkan lokasi operand, maka bahasa assembly barns mengindikasikan mode mana yang digunakan. Misalnya, nilai numerik atau nama yang digunakannya, seperti SUM pada instruksi sebelumnya, dapat digunakan untuk menunjukkan mode Absolute. Sehingga instruksi
ADD #5, R3
menambahkan bilangan 5 ke isi register R3 dan meletakkan hasilnya kembali ke register R3. tanda sharp bukanlah cara satusatunya untuk menunjukkan mode pengalamatan Immediate. Dalam beberapa bahasa assembly, mode pengalamatan
yang dimaksud dinyatakan dalam mnemonic OPcode. Dalam hal ini, suatu instruksi memiliki mnonemonic OPcode
yang berbeda untuk mode peugalamatan yang berbeda. Misalnya, iustruksi Add sebelumnya dapat ditulis sebagai berikut
ADDI 5, R3
Akhiran I dalam mnemonic ADDI menyatakan bahwa source operand dinyatakan dalam mode pengalamatan Immediate.


Rabu, 27 Oktober 2010

Beberapa Intruksi Mnemonic Assembly

Mnemonic : ADD
Tersedia pada : 8088 keatas
Syntax : ADD Tujuan,Sumber
Pengaruh flag : OF, SF, ZF, AF, PF, CF
Fungsi : Menambahkan “Sumber” dan “Tujuan” kemudian hasilnya disimpan pada “Tujuan”. Bila hasil penjumlahan tidak tertampung seluruhnya pada “Tujuan”, maka CF akan diset 1.
Contoh:

ADD AX,BX ; Jumlahkan 2 register
ADD AL,[350] ; Jumlahkan register dengan isi memori
ADD [350],AL ; Jumlahkan isi memory dengan register
ADD AH,10h ; Jumlahkan register dengan immediate
ADD [350],10h ; Jumlahkan isi memori dengan immediate

Mnemonic : AND
Tersedia pada : 8088 keatas
Syntax : AND Tujuan,Sumber
Pengaruh flag : OF, SF, ZF, PF, CF
Fungsi : Melakukan logika AND antara “Tujuan” dan “Sumber”. Hasil dari operasi AND diletakkan pada “Tujuan”. Instruksi AND umumnya digunakan untuk melihat kondisi suatu bit dengan menolkan bit-bit lainnya.
Contoh:

AND AL,00001000b ; AL=0000?000
JZ Nol ; Jika bit ketiga AL=0, maka lompat

Mnemonic : CALL
Tersedia pada : 8088 keatas
Syntax : CALL nama-procedure
Pengaruh flag : Tidak ada
Fungsi : Melompat dan mengerjakan intruksi pada procedure
Pada saat instruksi Call diberikan, maka processor akan melakukan :

- PUSH CS ke stack bila procedure yang dipanggil bertipe Far.
- PUSH IP ke stack.
- Mengganti nilai CS dengan segmen dari procedure bila procedure
tersebut bertipe Far.
- Mengganti nilai IP dengan offset dari procedure. Lakukan intruksi yang terdapat pada alamat baru(CS:IP) sampai bertemu dengan intruksi RET, setelah itu:
- POP IP
- POP CS bila procedure bertipe Far.
- Kembali ke program induk/pemanggil.

Mnemonic : DEC (Decrement)
Tersedia pada : 8088 keatas
Syntax : DEC Tujuan
Pengaruh flag : OF, SF, ZF, AF, PF
Fungsi : Untuk mengurangi “Tujuan” dengan 1. “Tujuan” dapat berupa
register 8 bit, 16 bit, 32 bit maupun memory. Bila anda ingin mengurangi suatu
register ataupun memory dengan 1, gunakanlah perintah DEC ini karena selain
lebih cepat, perintah DEC juga menggunakan memory lebih sedikit dibandingkan
dengan perintah SUB.
Contoh:

Kita dapat mengimplementasikan perintah Loop dengan menggunakan DEC. Di bawah ini kita akan menjumlahkan bilangan BX sampai 1. Misalnya bila BX = 5 maka dijumlahkan 5+4+3+2+1 = ….

Mnemonic : DIV (Divide)
Tersedia pada : 8088 keatas
Syntax : DIV Sumber
Pengaruh flag : OF, SF, ZF, AF, PF, CF
Fungsi : Bila “sumber” bertipe 8 bit maka dilakukan pembagian AX
dengan “Sumber” (AX / Sumber). Hasil pembagian akan disimpan pada register AL sedangkan sisa pembagian akan disimpan pada regiser AH.
Jika “sumber” bertipe 16 bit maka dilakukan pembagian DX:AX dengan “Sumber” (DX:AX / Sumber). Hasil pembagian akan disimpan pada register AX sedangkan sisa pembagian akan disimpan pada regiser DX.
Contoh:
Untuk memeriksa apakah suatu bilangan merupakan kelipatan 3 atau bukan, anda bisa membaginya dengan tiga. Bila merupakan kelipatan 3, maka sisa pembagian akan 0, sebaliknya jika bukan kelipatan tiga, sisa pembagian tidak akan 0. Macro ini akan menjadikan AL=1 bila bilangan yang ditest merupakan kelipatan tiga dan sebaliknya akan bernilai 0.

Lipat3 MACRO Bil
MOV AX,Bil
MOV BX,3
DIV BX
CMP AX,0 ; Apakah ada sisa pembagian ?
JE Tiga ; Tidak ada sisa , kelipatan 3
MOV AL,0
Tiga :
MOV AL,1
ENDM

Mnemonic : INC (Increment)
Tersedia pada : 8088 keatas
Syntax : INC Tujuan
Pengaruh flag : OF, SF, ZF, AF, PF
Fungsi : Untuk menambah “Tujuan” dengan 1. Bila anda ingin menambah suatu register ataupun memory dengan 1, gunakanlah perintah INC ini karena selain lebih cepat, perintah INC juga menggunakan memory lebih sedikit dibandingkan dengan perintah ADD.
Contoh:

Untuk membuat suatu pengulangan, seperti pada perintah ‘FOR I:=1 TO 10
DO’ pada bahasa tingkat tinggi:

XOR AX,AX
Ulang:
CMP AX,10
JE Selesai
INC AX
JMP Ulang

Mnemonic : MOV (Move)
Tersedia pada : 8088 keatas
Syntax : MOV Tujuan,Sumb
Pengaruh flag : Tidak Ada

Fungsi : Untuk mengcopykan isi “Sumber” ke “Tujuan”. Antara “Sumber”
dan “Tujuan” harus mempunyai tipe data yang sama, seperti AL dan BL, AX dan BX. Pada perintah MOV ini harus anda perhatikan bahwa:
- Segment register tidak bisa langsung diisi nilainya, seperti:
MOV ES,0B800h

Mnemonic : MUL (Multiply)
Tersedia pada : 8088 keatas
Syntax : MUL Sumber
Pengaruh flag : OF, CF
Fungsi : Bila “Sumber” bertipe 8 bit maka akan dilakukan perkalian
antara “Sumber” dengan AL. Hasilnya disimpan pada register AX. Bila “Sumber” bertipe 16 bit maka akan dilakukan perkalian antara “Sumber” dengan AX. Hasilnya disimpan pada pasangan register DX:AX.
Contoh:

MUL BH ; AX = BH * AL
MUL BX ; DX:AX = BX * AX

Sumber : http://izzaanshory.wordpress.com/2010/01/12/beberapa-intruksi-mnemonic-assembly/#comment-13

Senin, 25 Oktober 2010

Merancang rangkaian sensor garis

Sensor garis sering digunakan pada robot line follower (robot pengikut garis), digunakan juga sebagai pendeteksi objek dengan permukaan bidang pantul yang kontras…. nach pada blog ini dijelaskan bagaimana cara mendesain sensor garis tersebut menggunakan sensor photodiode. Selain menggunakan photodiode dapat juga dirancang dengan menggunakan phototranssistor, infra red, dan masih banyak laennya.

Sensor photodiode adalah salah satu jenis sensor peka cahaya (photodetector). Photodiode akan mengalirkan arus yang membentuk fungsi linear terhadap intensitas cahaya yang diterima. Arus ini umumnya teratur terhadap power density (Dp). Perbandingan antara arus keluaran dengan power density disebut sebagai current responsitivity. Arus yang dimaksud adalah arus bocor ketika photodiode tersebut disinari dan dalam keadaan dipanjar mundur.

Hubungan antara keluaran sensor photodiode dengan intensitas cahaya yang diterimanya ketika dipanjar mundur adalah membentuk suatu fungsi yang linier. Hubungan antara keluaran sensor photodiode dengan intensitas cahaya ditunjukkan pada Gambar berikut.

Gambar Hubungan keluaran photodiode dengan intensitas cahaya

Mekanisme Perancangan Sensor Garis

LED superbright berfungsi sebagai pengirim cahaya ke garis untuk dipantulkan lalu dibaca oleh sensor photodiode. Sifat dari warna putih (permukaan terang) yang memantulkan cahaya dan warna hitam (permukaan gelap) yang tidak memantulkan cahaya digunakan dalam aplikasi ini. Gambar dibawah ini adalah ilustrasi mekanisme sensor garis.

Gambar Ilustrasi mekanisme sensor garis

Prinsip Kerja Sensor

Pada rancangan sensor photodiode dibawah ini, nilai resistansinya akan berkurang bila terkena cahaya dan bekerja pada kondisi riverse bias. Untuk pemberi pantulan cahayanya digunakan LED superbright, komponen ini mempunyai cahaya yang sangat terang, sehingga cukup untuk mensuplai pantulan cahaya ke photodiode. Berikut ini prinsip dan gambaran kerja dari sensor photodiode.

Gambar Sensor photodiode tidak terkena cahaya

Saat photodiode tidak terkena cahaya, maka nilai resistansinya akan besar atau dapat diasumsikan tak hingga. Sehingga tidak ada arus bocor yang mengalir menuju komparator.

Gambar Sensor photodiode terkena cahaya

Saat photodiode terkena cahaya, maka photodiode akan bersifat sebagai sumber tegangan dan nilai resistansinya akan menjadi kecil, sehingga akan ada arus bocor yang mengalir ke komparator.

\\==========================================================

bacaan terkait di blog ini:

1. merancang-komparator-dengan-histerisis klik disini

2. cara-membuat-robot-line-follower-analog klik disini

3. membuat-robot-line-follower-mikro klik disini

4. robot-line-follower-dengan-kendali-pid klik disini


Sumber : http://fahmizaleeits.wordpress.com/2010/07/25/merancang-rangkaian-sensor-garis/

10 Tahun Lagi, Hadir Robot dengan Otak Manusia




Ahli robotik dari Institution of Engineering and Technology (IET) yang berpusat di Inggris, menyebutkan bahwa sepuluh tahun mendatang akan bermunculan robot dengan otak manusia, atau cyborg.

Dikatakan profesor teknologi cyborg IET Kevin Warwick, teknologi cyborg telah semakin maju, sehingga nantinya akan sampai pada satu titik dimana hadir robot setengah manusia dengan sistem kontrol biologis yang sangat canggih.

"Teknologi implan dan elektronik sudah bisa dimasukkan ke dalam jaringan tubuh manusia, sehingga mewujudkan manusia dengan dengan perangkat tambahan," kata Warwick dilansir The Inquirer dan dikutip detikINET, Jumat (22/10/2010).

Warwick menyebutkan, beberapa teknologi cyborg dasar sebenarnya sudah digunakan dalam kapasitas terbatas, salah satunya untuk membantu orang-orang dengan penyakit gangguan saraf seperti Alzheimer.

Cyborg, dikatakan Warwick, dapat membantu sebuah perusahaan meningkatkan skala produksi mereka. Selain itu, cyborg juga memungkinkan individu dapat berinteraksi dengan teknologi di sekitarnya. Misalnya, seorang pengemudi mobil nantinya bisa benar-benar merasakan dalam tubuh mereka sendiri ketika jarak mereka terlalu dekat dengan sebuah objek atau kendaraan lain.

"Dengan investasi dan aplikasi etika yang tepat, cyborg bisa menambah manfaat yang besar bagi masyarakat. Dari mulai membantu penyembuhan penyakit hingga efisiensi manufaktur," tutupnya.

Sumber : http://www.detikinet.com/read/2010/10/22/110330/1472137/511/10-tahun-lagi-hadir-robot-dengan-otak-manusia/

Robot Cantik Bisa Menari Lincah


Masih ingat dengan HRP-4C? Robot humanoid asal Jepang ini sudah mencatat sederet prestasi. Dia pernah memukau publik saat berlenggak lenggok menjadi model catwalk dan menyanyikan lagu. Kini, si cantik itu memperlihatkan kelihaiannya menari bersama penari sungguhan!

Selain kemampuan barunya tersebut HRP-4C juga kini bisa dioperasikan hanya dengan menggunakan tetikus. Gerakannya pun kian lentur dan gemulai hampir menyerupai manusia.

Dilansir Daily Mail dan dikutip detikINET, Selasa (19/10/2010), pada sebuah ajang pameran yang dihelat National Institute of Advanced Industrial Science
and Technology (NIAIST) di Tokyo, Jepang, robot berambut sebahu ini memperlihatkan kepiawaiannya.

Dalam kesempatan itu, NIAIST yang merupakan organisasi riset publik terbesar di negeri sakura itu mengklaim telah mengembangkan software yang memungkinkan siapa saja, bahkan yang tanpa keahlian robotik sekalipun bisa membuat program untuk menggerakkan robot.

"Dengan software ini, kami berharap bisa membuat sebuah robot humanoid berakting, menyanyi, bahkan berlenggak-lenggok mengenakan pakaian indah," kata salah satu peneliti NIAIST, Shinichiro Nakazawa.

Tim robotik dari NIAIST mendandani HRP-4C dengan balutan pakaian berwarna kuning cerah dan menyertakan para penari sunguhan dengan pakaian serupa untuk menemaninya menari sambil menyanyi di atas panggung.

Dengan menggunakan tetikus, pengontrol bisa dengan mudah menciptakan gerakan sulit sekalipun, seperti berputar dan melompat. Software NIAIST juga bisa mengkalkukasikan kejutan-kejutan tertentu yang ditampilkan si robot, contohnya saat melompat-lompat naik turun.
Sumber : http://www.detikinet.com/read/2010/10/19/155502/1468985/511/robot-cantik-bisa-menari-lincah/

Minggu, 24 Oktober 2010

Robotic Telescope

Sekarang ini saya terlibat dengan projek Robotic Telescope (RT) yang akan diinstall di Melaka, Malaysia. Project Managernya adalah Pak Ridwan Hidayat Msc, yang asalnya dari Bandung, dan sudah tinggal di Malaysia (kuliah + kerja) belasan tahun lamanya.

Sejarah awal dari pembangunan projek RT ini dapat anda baca pada link ini. Dalam blog ini saya mereview projek RT yang telah di handover dan digunakan sepenuhnya, yaitu projek RT yang berada di Langkawi, Malaysia yang dimiliki dan dijalankan oleh ANGKASA.

Sistem robotik teleskop ini cukup simple instalasi dan cara penggunaannya. Tetapi RT ini adalah projek yang cukup mahal, karena harga 20RC Carbon Truss Ritchey-Chrétien (teleskop utama) saja telah mencecah ratusan juta, ditambah lagi dengan Takahashi FCL-90 Guidingscope, dan yang termahal tentunya Robotic Mounting (Paramount-ME Robotic Mount dibuat oleh s bisque) yang merupakan inti dari projek RT ini.

Figur 1. Gambar struktur dari 20RC Carbon Truss (RCOS)
Figur 2. Takahashi Sky-90 (Takahashi) Figur 3. Paramount ME Robotic Mount

Sesuai dengan nama projeknya, tentunya sistem ini dikendalikan robot. Tetapi sebenarnya ia bukanlah robot dalam pengertian yang teramat canggih. Pengertian Robotic Telescope (RT) disini adalah suatu sistem yang dimana teleskopnya dapat beroperasi tanpa pantauan langsung. Hal-hal minimum yang diperlukan untuk menjalankan sistem robotik ini adalah:

  • Ruang penutup otomatis (membuka/menutup) yang dapat berupa kubah (dome) atau atap datar (flat roof)
  • Sebuah teleskop dengan robotic mounting nya
  • Komputer yang tentunya harus terhubung Internet
  • Sensor cuaca (untuk menghindari hujan, sehingga kubah dapat menutup secara otomatis)
  • Software untuk mengendalikan teleskop secara remote

Secara ringkasnya, sistem RT ini dipasang dalam suatu ruangan yang beratapkan kubah (dome), didalam ruangan itu terdiri dari teleskop lengkap dengan robotic mountingya, 3 PC desktop, 1 server, video server, weather station, inside dome camera, guider scope camera, control box yang berisi peralatan elektronik yang mengatur kesemua sistem, dan diluar kubah terdapat all sky camera, outside dome camera, cloud sensor.

Kesemua peralatan itu dikontrol melalui mekanisme elektronik yang terhubung dengan Internet, sehingga bisa dikatakan semuanya serba otomatis. Seperti Kubah yang dapat membuka dan menutup, pergerakan mounting teleskop, penyalaan lampu, dll.

Untuk dapat menggunakan sistem RT ini, user diberikan 3 pilihan yaitu: on-site mode, on-line mode (ARPC), full-internet mode. Kalau memilih on-site mode maka user harus datang ke lokasi teleskop itu sendiri, sedangkan yang kedua mode terakhir ianya dapat kita lakukan asalkan ada jaringan internet, yang membedakan hanyalah pada on-line mode (ARPC) user menggunakan software ARPC (remote control pc) untuk mendapatkan akses ke server RT, sedangkan pada full-internet mode user hanya mengakses melalui internet dan login kepada sistem yang telah dibina, untuk sepenuhnya dapat menggunakan sistem RT tersebut.

Hasil pengamatan dan pemotretan menggunakan robotik teleskop ini sangat jernih dan detail. Berikut adalah contoh yang telah disimpan.

Figur 4. Nebula ….. (*apa gitu)

Sebenarnya masih banyak yang dapat diceritakan mengenai RT ini. Baik dari segi mekanikal pemasangan kubah, ilmu astronomi, penggunaan IT infrastruktur, cara penggunaan, dll. Mungkin suatu saat nanti akan saya sambung kembali pembahasan projek ini. Sebagai penutup saya berikan cuplikan gambar teleskop yang telah sempurna dipasang pada robotic mount dan infrastuktur keseluruhan sistem tersebut.

Figur 5. Teleskop yang telah sempurna diinstall
Figur 6. Infrastruktur RT di Langkawi
Sumber : http://adityawirawan.net/2007/11/09/robotic-telescope/

Free Ebooks Java II ( J2ME )

Masih berhubungan dengan pembahasan yang lalu tentang pemograman Java, kali ini saya memberikan modul tentang J2ME (Java to Mobile Edition). mudah-mudahan dengan adanya modul ini teman-teman bisa lebih gampang dalam memahami pemrograman java ini. berikut screenshotnya:



Dan berikut list Downloadnya :

1. Pengenalan J2ME. [Download]

2. Pengembangan Aplikasi Mobile. [Download]

3. Memulai Pemograman Mobile. [Download]

4. High Level User Interface. [Download]

5. Low Level User Interface. [Download]

6. Persistence. [Download]

7. Jaringan. [Download]

8. Security. [Download]

9. Web Services. [Download]

10.Optimisasi. [Download]

11.Optional Packages. [Download]

12.Topik-topik Tambahan. [Download]


sumber : http://www.caturla.web.id/

EASY PROGRAMMER ISP 89SXXX

EASY PROGRAMMER ISP 89SXXX

Introduction
Programmer ISP ini dapat digunakan baik pada mode in system programming atau dengan mode stand alone untuk IC ATMEL ISP

Hardware
Rangkaian programmer ini dapat dibuat dengan cara yang sangat sederhana. Anda hanya membutuhkan sebuah IC yang digunakan sebagai buffer 74244.
Koneksikan rangkaian ini ke port printer/ LPT untuk melakukan pemrograman pada rangkaian target.

No
Component
Discription
1
Connector DB 25

2
6 Parallel Cable
about 0.5 meter
3
Connector Header 6 pin

4
House Connector DB 25
5
74LS244
6
PCB
about 5 x 5 cm

Microcontroller Programmer

Figure T.1. Programmer AT89S

Microcontroller Programmer

Figure T.2. Top View Programmer AT89S

Microcontroller Programmer

Figure T.3. Bottom View Programmer AT89S

Download Skematik dan Layout PCB Rangkaian Programmer.
Desain dengan program EAGLE 4.01

Microcontroller Programmer Schematic Diagram

Figure T.4 Schematic Diagram Programmer with LPT Connection


sumber : http://www.mytutorialcafe.com/mikrokontroller%20programmer.htm

Bahasa Assembly

Bahasa Asembly

Secara fisik, kerja dari sebuah mikrokontroler dapat dijelaskan sebagai siklus pembacaan instruksi yang tersimpan di dalam memori. Mikrokontroler menentukan alamat dari memori program yang akan dibaca, dan melakukan proses baca data di memori. Data yang dibaca diinterprestasikan sebagai instruksi. Alamat instruksi disimpan oleh mikrokontroler di register, yang dikenal sebagai program counter. Instruksi ini misalnya program aritmatika yang melibatkan 2 register. Sarana yang ada dalam program assembly sangat minim, tidak seperti dalam bahasa pemrograman tingkat atas (high level language programming) semuanya sudah siap pakai. Penulis program assembly harus menentukan segalanya, menentukan letak program yang ditulisnya dalam memori-program, membuat data konstan dan tablel konstan dalam memori-program, membuat variabel yang dipakai kerja dalam memori-data dan lain sebagainya.

1.7.1 Program sumber assembly
Program-sumber assembly (assembly source program) merupakan kumpulan dari baris-baris perintah yang ditulis dengan program penyunting-teks (text editor) sederhana, misalnya program EDIT.COM dalam DOS, atau program NOTEPAD dalam Windows atau MIDE-51. Kumpulan baris-printah tersebut biasanya disimpan ke dalam file dengan nama ekstensi *.ASM dan lain sebagainya, tergantung pada program Assembler yang akan dipakai untuk mengolah program-sumber assembly tersebut.
Setiap baris-perintah merupakan sebuah perintah yang utuh, artinya sebuah perintah tidak mungkin dipecah menjadi lebih dari satu baris. Satu baris perintah bisa terdiri atas 4 bagian, bagian pertama dikenali sebagai label atau sering juga disebut sebagai symbol, bagian kedua dikenali sebagai kode operasi, bagian ketiga adalah operand dan bagian terakhir adalah komentar.
Antara bagian-bagian tersebut dipisahkan dengan sebuah spasi atau tabulator.


Bagian label
Label dipakai untuk memberi nama pada sebuah baris-perintah, agar bisa mudah menyebitnya dalam penulisan program. Label bisa ditulis apa saja asalkan diawali dengan huruf, biasa panjangnya tidak lebih dari 16 huruf. Huruf-huruf berikutnya boleh merupakan angka atau tanda titik dan tanda garis bawah. Kalau sebuah baris-perintah tidak memiliki bagian label, maka bagian ini boleh tidak ditulis namun spasi atau tabulator sebagai pemisah antara label dan bagian berikutnya mutlak tetap harus ditulis.
Dalam sebuah program sumber bisa terdapat banyak sekali label, tapi tidak boleh ada label yang kembar.
Sering sebuah baris-perintah hanya terdiri dari bagian label saja, baris demikian itu memang tidak bisa dikatakan sebagai baris-perintah yang sesungguhnya, tapi hanya sekedar memberi nama pada baris bersangkutan.
Bagian label sering disebut juga sebagai bagian symbol, hal ini terjadi kalau label tersebut tidak dipakai untuk menandai bagian program, melainkan dipakai untuk menandai bagian data.

Bagian kode operasi
Kode operasi (operation code atau sering disingkat sebagai OpCode) merupakan bagian perintah yang harus dikerjakan. Dalam hal ini dikenal dua macam kode operasi, yang pertama adalah kode-operasi untuk mengatur kerja mikroprosesor / mikrokontroler. Jenis kedua dipakai untuk mengatur kerja program assembler, sering dinamakan sebagai assembler directive.
Kode-operasi ditulis dalam bentuk mnemonic, yakni bentuk singkatan-singkatan yang relatip mudah diingat, misalnya adalah MOV, ACALL, RET dan lain sebagainya. Kode-operasi ini ditentukan oleh pabrik pembuat mikroprosesor/mikrokontroler, dengan demikian setiap prosesor mempunyai kode-operasi yang berlainan.
Kode-operasi berbentuk mnemonic tidak dikenal mikroprosesor/mikrokontroler, agar program yang ditulis dengan kode mnemonic bisa dipakai untuk mengendalikan prosesor, program semacam itu diterjemahkan menjadi program yang dibentuk dari kode-operasi kode-biner, yang dikenali oleh mikroprosesor/mikrokontroler.
Tugas penerjemahan tersebut dilakukan oleh program yang dinamakan sebagai Program Assembler.
Di luar kode-operasi yang ditentukan pabrik pembuat mikroprosesor/mikrokontroler, ada pula kode-operasi untuk mengatur kerja dari program assembler, misalnya dipakai untuk menentukan letak program dalam memori (ORG), dipakai untuk membentuk variabel (DS), membentuk tabel dan data konstan (DB, DW) dan lain sebagainya.

Bagian operand
Operand merupakan pelengkap bagian kode operasi, namun tidak semua kode operasi memerlukan operand, dengan demikian bisa terjadi sebuah baris perintah hanya terdiri dari kode operasi tanpa operand. Sebaliknya ada pula kode operasi yang perlu lebih dari satu operand, dalam hal ini antara operand satu dengan yang lain dipisahkan dengan tanda koma.
Bentuk operand sangat bervariasi, bisa berupa kode-kode yang dipakai untuk menyatakan Register dalam prosesor, bisa berupa nomor-memori (alamat memori) yang dinyatakan dengan bilangan atau pun nama label, bisa berupa data yang siap di-operasi-kan. Semuanya disesuaikan dengan keperluan dari kode-operasi.
Untuk membedakan operand yang berupa nomor-memori atau operand yang berupa data yang siap di-operasi-kan, dipakai tanda-tanda khusus atau cara penulisan yang berlainan.
Di samping itu operand bisa berupa persamaan matematis sederhana atau persamaan Boolean, dalam hal semacam ini program Assembler akan menghitung nilai dari persamaan-persamaan dalam operand, selanjutnya merubah hasil perhitungan tersebut ke kode biner yang dimengerti oleh prosesor. Jadi perhitungan di dalam operand dilakukan oleh program assembler bukan oleh prosesor!

Bagian komentar
Bagian komentar merupakan catatan-catatan penulis program, bagian ini meskipun tidak mutlak diperlukan tapi sangat membantu masalah dokumentasi. Membaca komentar-komentar pada setiap baris-perintah, dengan mudah bisa dimengerti maksud tujuan baris bersangkutan, hal ini sangat membantu orang lain yang membaca program.
Pemisah bagian komentar dengan bagian sebelumnya adalah tanda spasi atau tabulator, meskipun demikian huruf pertama dari komentar sering-sering berupa tanda titik-koma, merupakan tanda pemisah khusus untuk komentar.
Untuk keperluan dokumentasi yang intensip, sering-sering sebuah baris yang merupakan komentar saja, dalam hal ini huruf pertama dari baris bersangkutan adalah tanda titik-koma.
AT89S51 memiliki sekumpulan instruksi yang sangat lengkap. Instruksi MOV untuk byte dikelompokkan sesuai dengan mode pengalamatan (addressing modes). Mode pengalamatan menjelaskan bagaimana operand dioperasikan. Berikut penjelasan dari berbagai mode pengalamatan. Bentuk program assembly yang umum ialah sebagai berikut :

Label/Simbol
Opcode
Operand
Komentar
Org 0H

Start:

Kiri:





Delay:
Del1:
Del2:



Mov
Mov
Mov
Call
RL
DEC
CJNE
Sjmp
mov
mov
djnz
djnz
ret
end
A, #11111110b
R0, #7
P0, A
Delay
A
R0
R0, #0, Kiri
Start
R1, #255
R2, #255
R2, del2
R1, del1


; Isi Akumulator
; Isi R0 dengan 7
; Copy A ke P0
; Panggil Delay









Isi memori ialah bilangan heksadesimal yang dikenal oleh mikrokontroler kita, yang merupakan representasi dari bahasa assembly yang telah kita buat. Mnemonic atau opcode ialah kode yang akan melakukan aksi terhadap operand . Operand ialah data yang diproses oleh opcode. Sebuah opcode bisa membutuhkan 1 ,2 atau lebih operand, kadang juga tidak perlu operand. Sedangkan komentar dapat kita berikan dengan menggunakan tanda titik koma (;). Berikut contoh jumlah operand yang berbeda beda dalam suatu assembly.

CJNE R5,#22H, aksi ;dibutuhkan 3 buah operand
MOVX @DPTR, A ;dibutuhkan 2 buah operand
RL A ;1 buah operand
NOP ; tidak memerlukan operand

Program yang telah selesai kita buat dapat disimpan dengan ekstension .asm. Lalu kita dapat membuat program objek dengan ekstension HEX dengan menggunakan compiler MIDE-51, yang dijelaskan sebagai berikut:

1.7.2 Assembly Listing

Program-sumber assembly di atas, setelah selesai ditulis diserahkan ke program Assembler untuk diterjemahkan. Setiap prosesor mempunyai program assembler tersendiri, bahkan satu macam prosesor bisa memiliki beberapa macam program Assembler buatan pabrik perangkat lunak yang berlainan.
Hasil utama pengolahan program Assembler adalah program-obyek. Program-obyek ini bisa berupa sebuah file tersendiri, berisikan kode-kode yang siap dikirimkan ke memori-program mikroprosesor/mikrokontroler, tapi ada juga program-obyek yang disisipkan pada program-sumber assembly seperti terlihat dalam Assembly Listing di Gambar 2.
Bagian kanan Gambar 2 merupakan program-sumber Assembly karya asli penulis program, setelah diterjemahkan oleh program Assembler kode-kode yang dihasilkan berikut dengan nomor-nomor memori tempat penyimpanan kode-kode tadi, disisipkan pada bagian kiri setiap baris perintah, sehingga bentuk program ini tidak lagi dikatakan sebagai program-sumber assembly tapi dikatakan sebagai Assembly Listing.
Membaca Assembly Listing bisa memberikan gambaran yang lebih jelas bagi program yang ditulis, bagi pemula Assembly Listing memberi pengertian yang lebih mendalam tentang isi memori-program, sehingga bisa lebih dibayangkan bagaimana kerja dari sebuah program.

Line  Addr   Code                Source
1:                                        Org 0H
2: 0000 74 FE Start: Mov A,#11111110b
3: 0002 78 07 Mov R0,#7
4: 0004 F5 80 Kiri: Mov P0,A
5: 0006 12 00 1C Call Delay
6: 0009 23 RL A
7: 000A 18 DEC R0
8: 000B B8 00 F6 CJNE R0,#0,Kiri
9: 000E 78 07 Mov R0,#7
10: 0010 F5 80 Kanan: Mov P0,A
11: 0012 12 00 1C Call Delay
12: 0015 03 RR A
13: 0016 18 DEC R0
14: 0017 B8 00 F6 CJNE R0,#0,Kanan
15: 001A 80 E4 Sjmp Start
16: ;
17: 001C 79 FF Delay: mov R1,#255
18: 001E 7A FF Del1: mov R2,#255
19: 0020 DA FE Del2: djnz R2,del2
20: 0022 D9 FA djnz R1,del1
21: 0024 22 ret
22: end


sumber : http://www.mytutorialcafe.com/mikrokontroller%20bahasa%20assembly.htm

Milu ke

Share |