ADSENSE

Thursday 18 December 2014

Mikrokontroler AVR Atmega8






      Mikrokontroler AVR Atmega8

AVR  merupakan   salah  satu  jenis  mikrokontroler   yang  di  dalamnya terdapat berbagai macam fungsi. Perbedaannya pada mikro yang pada umumnya digunakan seperti MCS51 adalah pada AVR tidak perlu menggunakan oscillator eksternal   karena  di  dalamnya   sudah  terdapat  internal   oscillator.   Selain  itu kelebihan  dari  AVR  adalah  memiliki  Power-On  Reset,  yaitu  tidak  perlu  ada tombol reset dari luar karena cukup hanya dengan mematikan supply, maka secara otomatis  AVR  akan  melakukan  reset.  Untuk  beberapa  jenis  AVR  terdapat beberapa fungsi khusus seperti ADC, EEPROM sekitar 128 byte sampai dengan
512 byte.

AVR  ATmega8  adalah  mikrokontroler  CMOS  8-bit  berarsitektur  AVR RISC  yang  memiliki  8K byte  in-System  Programmable  Flash.  Mikrokontroler dengan   konsumsi   daya   rendah   ini   mampu   mengeksekusi   instruksi   dengan kecepatan maksimum 16MIPS pada  frekuensi 16MHz. Jika dibandingkan dengan ATmega8L perbedaannya hanya terletak pada besarnya tegangan yang diperlukan untuk bekerja. Untuk ATmega8 tipe L, mikrokontroler ini dapat bekerja dengan tegangan antara 2,7 -  5,5 V sedangkan untuk ATmega8 hanya dapat bekerja pada tegangan antara 4,5 5,5 V.



2.1.1    Konfigurasi Pin Atmega8


Gambar 2.1. Konfigurasi Pin Atmega8







ATmega8 memiliki 28 Pin, yang masing-masing pin nya memiliki fungsi yang berbeda-beda baik sebagai port maupun fungsi yang lainnya. Berikut akan dijelaskan fungsi dari masing-masing kaki ATmega8.
·    VCC

Merupakan supply tegangan digital.

·    GND

Merupakan ground untuk semua komponen yang membutuhkan grounding.

·    Port B (PB7...PB0)

Didalam Port B terdapat XTAL1, XTAL2, TOSC1, TOSC2. Jumlah Port B adalah  8 buah pin, mulai dari pin B.0 sampai dengan  B.7. Tiap pin dapat digunakan  sebagai  input  maupun  output.  Port  B  merupakan  sebuah  8-bit bi-directional  I/O  dengan  internal  pull-up  resistor.  Sebagai  input,  pin-pin



yang terdapat pada port B yang secara eksternal diturunkan, maka akan mengeluarkan   arus  jika  pull-up   resistor   diaktifkan.   Khusus  PB6  dapat digunakan sebagai input Kristal (inverting oscillator amplifier) dan input ke rangkaian   clock   internal,   bergantung   pada   pengaturan   Fuse   bit   yang digunakan   untuk   memilih   sumber   clock Sedangkan   untuk   PB7   dapat digunakan  sebagai  output  Kristal  (output  oscillator  amplifier)  bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock. Jika sumber  clock  yang  dipilih  dari  oscillator  internal,  PB7  dan  PB6  dapat digunakan sebagai I/O atau jika menggunakan Asyncronous Timer/Counter2 maka  PB6  dan  PB7  (TOSC2  dan  TOSC1)  digunakan  untuk  saluran  input timer.
·    Port C (PC5…PC0)

Port C merupakan sebuah 7-bit bi-directional I/O port yang di dalam masing- masing pin terdapat pull-up resistor. Jumlah pin nya hanya 7 buah  mulai dari pin C.0 sampai  dengan  pin  C.6. Sebagai  keluaran/output  port C memiliki karakteristik  yang  sama  dalam  hal menyerap  arus  (sink)  ataupun mengeluarkan arus (source).
·    RESET/PC6

Jika RSTDISBL Fuse diprogram, maka PC6 akan berfungsi sebagai pin I/O. Pin  ini memiliki  karakteristik  yang  berbeda  dengan  pin-pin  yang terdapat pada port   C lainnya. Namun jika RSTDISBL Fuse tidak diprogram, maka pin  ini  akan  berfungsi  sebagai  input  reset.  Dan  jika  level  tegangan  yang masuk  ke  pin  ini  rendah  dan  pulsa  yang  ada  lebih  pendek  dari  pulsa



minimum, maka akan menghasilkan suatu kondisi reset meskipun clock-nya tidak bekerja.
·    Port D (PD7…PD0)

Port D merupakan 8-bit bi-directional  I/O dengan internal   pull-up resistor. Fungsi dari port ini sama dengan port-port yang lain. Hanya saja pada port ini tidak terdapat kegunaan-kegunaan  yang lain. Pada port ini hanya berfungsi sebagai masukan dan keluaran saja atau biasa disebut dengan I/O.
·    AVcc

Pin ini berfungsi sebagai supply tegangan untuk ADC. Untuk pin ini harus dihubungkan  secara  terpisah  dengan  VCC  karena  pin ini digunakan  untuk analog  saja.  Bahkan  jika  ADC  pada  AVR  tidak  digunakan   tetap  saja disarankan  untuk  menghubungkannya   secara  terpisah  dengan  VCC.  Jika ADC digunakan, maka AVcc harus dihubungkan ke VCC melalui low pass filter.
·    AREF

Merupakan pin referensi jika menggunakan ADC.





Gambar 2.2 Blok Diagram ATmega8


Pada AVR status  register  mengandung  beberapa  informasi  mengenai  hasil dari kebanyakan hasil eksekusi instruksi aritmatik. Informasi ini digunakan untuk altering arus program sebagai kegunaan untuk meningkatkan performa pengoperasian.  Register  ini  di-update  setelah  operasi  ALU  (Arithmetic  Logic Unit) hal tersebut seperti yang tertulis dalam datasheet  khususnya  pada bagian Instruction Set Reference. Dalam hal ini untuk beberapa kasus dapat membuang



penggunaan  kebutuhan  instrukasi  perbandingan  yang  telah  didedikasikan  serta dapat  menghasilkan  peningkatan  dalam  hal  kecepatan  dan  kode  yang  lebih sederhana  dan  singkat.  Register  ini  tidak  secara  otomatis  tersimpan  ketika memasuki  sebuah  rutin interupsi  dan juga  ketika menjalankan  sebuah  perintah setelah  kembali  dari  interupsi.  Namun  hal  tersebut  harus  dilakukan  melalui
software. Berikut adalah gambar status register.






Bit


Read/write

Initial Value

7             6            5            4             3             2            1            0


I
T
H
S
V
N
Z
C

 
R/W          R/W          R/W          R/W           R/W          R/W          R/W          R/W

0              0              0             0              0              0              0             0



SREG





Gambar 2.3 Status Register ATMega8


·    Bit 7(I)

Merupakan  bit  Global  Interrupt  Enable.  Bit  ini  harus  di-set  agar  semua perintah interupsi dapat dijalankan. Untuk perintah interupsi individual akan di jelaskan pada bagian yang lain. Jika bit ini di-reset, maka semua perintah interupsi baik yang individual maupun yang secara umum akan di abaikan. Bit ini akan dibersihkan atau cleared oleh hardware setelah sebuah interupsi di jalankan dan akan di-set kembali oleh perintah RETI. Bit ini juga dapat di- set dan di-reset melalui aplikasi dan intruksi SEI dan CLL.
·    Bit 6(T)

Merupakan bit Copy Storage. Instruksi bit Copy Instructions BLD (Bit Load) and BST (Bit Store) menggunakan bit ini sebagai asal atau tujuan untuk bit yang telah dioperasikan. Sebuah bit dari sebuah register dalam Register File



dapat  disalin  ke  dalam  bit  ini  dengan  menggunakan  instruksi  BST,  dan sebuah bit di dalam bit ini dapat disalin ke dalam bit di dalam register pada Register File dengan menggunakan perintah BLD.
·    Bit 5(H)

Merupakan  bit  Half  Carry  Flag.  Bit  ini  menandakan  sebuah  Half  Carry

dalam beberapa operasi aritmatika. Bit ini berfungsi dalam aritmatika BCD.

·    Bit 4(S)

Merupakan  Sign  bit.  Bit  ini  selalu  merupakan  sebuah  ekslusif  di  antara

Negative Flag (N) dan two’s Complement Overflow Flag (V).

·    Bit 3(V)

Merupakan  bit  Two’s  Complement  Overflow  Flag.  Bit  ini  menyediakan fungsi aritmatika dua komplemen.
·    Bit 2(N)

Merupakan bit Negative Flag. Bit ini mengindikasikan sebuah hasil negative

di dalam sebuah fungsi logika atai aritmatika.

·    Bit 1(Z)

Merupakan bit Zero Flag. Bit ini mengindikasikan sebuah jasil nol “0” dalan sebuah fungsi aritmatika atau logika.
·    Bit 0(C)

Merupakan bit Carry Flag. Bit ini mengindikasikan  sebuah Carry atau sisa dalam sebuah aritmatika atau logika.



2.1.2    Memori AVR Atmega






Data
Memory
32 General purpose registers
64 I/O
registers
Additional I/O registers
Internal
RAM

 
$000                                  $0000



$000









Flash







Boot
Section

$001F
$0020


$005F
$0060






F_END                             RAMEND

EEPROM






E_END





Gambar 2.4 Peta Memori Atmega




Memori atmega terbagi menjadi tiga yaitu :

1.   Memori Flash

Memori flash adalah memori ROM tempat kode-kode program berada. Kata flash menunjukan  jenis ROM yng dapat ditulis dan dihapus secara elektrik. Memori flash terbagi menjadi dua bagian yaitu  bagian  aplikasi  dan  bagian  boot.  Bagian  aplikasi  adalah bagian  kode-kode  program  apikasi  berada.    Bagian  boot  adalah bagian yang digunakan khusus untuk booting awal yang dapat diprogram untuk menulis bagian aplikasi tanpa melalui programmer/downloader, misalnya melalui USART.



2.   Memori Data

Memori   data   adalah   memori   RAM   yang   digunakan   untuk keperluan  program.  Memori  data terbagi   menjadi  empat  bagian yaitu :
32 GPR (General Purphose Register) adalah register khusus yang bertugas  untuk  membantu  eksekusi  program  oleh  ALU (Arithmatich   Logic   Unit),   dalam   instruksi   assembler   setiap instruksi   harus   melibatkan   GPR.   Dalam   bahasa   C   biasanya digunakan untuk variabel global atau nilai balik fungsi dan nilai- nilai yang dapat memperingan kerja ALU. Dalam istilah processor komputer sahari-hari GPR dikenal sebagai “chace memory”.
I/O register dan Aditional I/O register adalah register yang difungsikan   khusus  untuk  mengendalikan   berbagai  pheripheral dalam  mikrokontroler  seperti  pin  port,  timer/counter,  usart  dan lain-lain. Register ini dalam keluarga mikrokontrol MCS51 dikenal sebagi SFR(Special Function Register).
3.   EEPROM

EEPROM adalah memori data yang dapat mengendap ketika chip mati  (off),  digunakan  untuk  keperluan  penyimpanan  data  yang tahan terhadap gangguan catu daya.



2.1.3    Timer/Counter 0

Timer/counter 0 adalah sebuah timer/counter yang dapat mencacah sumber pulsa/clock baik dari dalam chip (timer) ataupun dari luar chip (counter) dengan kapasitas 8-bit atau 256 cacahan.
Timer/counter dapat digunakan untuk :

1.   Timer/counter biasa

2.   Clear Timer on Compare Match (selain Atmega 8)

3.   Generator frekuensi (selain Atmega 8)

4.   Counter pulsa eksternal




2.1.4    Komunikasi Serial Pada Atmega 8

Mikrokontroler AVR Atmega 8 memiliki Port USART pada Pin 2 dan Pin

3 untuk melakukan komunikasi data antara mikrokontroler dengan mikrokontroler ataupun mikrokontroler dengan komputer. USART dapat difungsikan sebagai transmisi data sinkron, dan asinkron. Sinkron berarti clock yang digunakan antara transmiter dan receiver satu sumber clock. Sedangkan asinkron berarti transmiter dab receiver mempunyai sumber clock sendiri-sendiri.  USART terdiri dalm tiga blok yaitu clock generator, transmiter, dan receiver.




Gambar 2.5 Blok USART




2.1.4.1 Clock Generator

Clock generator berhubungan dengan kecepatan transfer data (baud rate), register yang bertugas menentukan baud rate adalah register pasangan
Tabel 2.1 Baud Rate



Operating Mode
Equation for Calculating Baud
Rate
Equaltion for Calculating
UBRR Value
Asynchronous
Normal Mode
(U2X = 0)
݂݋ݏܿ
ܤܣܷܦ =                                1
16(ܷܤܴܴ + 1)
݂݋ݏܿ
ܷܤܴܴ =                     1
16ܤܣܷܦ
Asynchronous
Double Speed
Mode (U2X=1)
݂݋ݏܿ
ܤܣܷܦ =                              1
8(ܷܤܴܴ + 1)
ܷܤܴܴ =    ݂݋ݏܿ     1
8ܤܣܷܦ
Synchronous
Master Mode
݂݋ݏܿ
ܤܣܷܦ = 2(ܷܤܴܴ + 1) 1
݂݋ݏܿ
ܷܤܴܴ =                  1
2ܤܣܷܦ



Dimana :

Fosc adalah frekuensi ossilator yang digunakan

BAUD adalah transfer bit per detik




2.1.4.2 USART transmiter

Usart transmiter berhubungan dengan data pada Pin TX. Perangkat yang sering  digunakan  seperti  register  UDR  sebagi  tempat  penampungan  data  yang akan ditransmisikan. Flag TXC sebagai akibat dari data yang ditransmisikan telah sukses (complete), dan flag UDRE sebagai indikator jika UDR kosong dan siap untuk diisi data yang akan ditransmisikan lagi.



2.1.4.3 USART receiver

Usart   receiver   berhubungan   dengan   penerimaan   data  dari  Pin  RX. Perangkat yang sering digunakan seperti register UDR sebagai tempat penampung data yang telah diterima, dan flag RXC sebagi indikator bahwa data telah sukses (complete) diterima.



2.1.5    Arduino Severino Atmega8


Arduino adalah solusi terpaket yang terdiri dari board hardware dengan dengan mikrokontroler AVR serta software yang dikembangkan menggunakan bahasa Java dan menggunakan bahasa C sebagai rujukan dalam pemrograman. Arduino severino adalah board Arduino single sided versi lama dengan koneksi Serial RS232. Versi terakhir (S3V3) dirancang oleh Adilson Akashi, dengan penyempurnaan di sejumlah bagian, baik rangkaian maupun layout PCB.





Gambar 2.6 Arduino Severino ATMega8









E              D

G

A



C






B
F

Gambar 2.7 Bagian-Bagian Arduino yang digunakan


Keterangan :


·    A Koneksi  Serial  RS232  yang  digunakan  untuk  menghubungkan  MCU

dengan  Komputer

·    B Power jack dengan tegangan DC sebesar +9v

·    C Chip ATMega8



·    D Pin-pin digital input/output dengan Pin 0 sebagai Rx dan Pin 1 sebagai

Tx

·    E Pin-pin digital input/output 8 13

·    F LED Power

·     G  Pin  jumper,  pada  posisi  2-3,  maka  serial  dapat  digunakan  (serial enable),  selanjutnya  pada  posisi  1-2,  akan  menonaktifkan  komunikasi serial dan mengaktifkan external pull-down resistor pada pin 0 (Rx) dan pin 1 (Tx).



2.1.6    Struktur Pemrograman Arduino


Struktur dasar bahasa pemrograman arduino hanya terdiri dari dua bagian


Void setup()
{
// Statement;        di eksekusi satu kali
}
Void loop()
{
// Statement;        di eksekusi terus menerus
}



1.   Setup()

Fungsi setup() hanya dipanggil satu kali ketika program pertama kali di jalankan. Ini digunakan untuk mendifinisikan mode pin atu memulai komunikasi serial. Fungsi setup() harus di ikut sertakan dalam program walaupun tidak ada statement yang di jalankan.



void setup()
{
pinMode(3,OUTPUT);// men-set “pin” 3 sebagai Output pinMode(6, INPUT); // men-set pin  6 sebagai Input Serial.begin(9600);
}






·    pinMode() = berfungsi untuk mengatur fungsi sebuah pin sebagai

INPUT atau OUTPUT.

·     Serial.begin(9600) = digunakan untuk mengaktifkan fitur UART dan menginisialisasinya.



2.   Loop()

Setelah melakukan fungsi setup() maka secara langsung akan melakukan fungsi loop() secara berurutan dan melakukan instruksi-
instruksi ayang ada dalam fungsi loop().


void loop()
{
If (digitalRead(6)==HIGH)// membaca input digital pin 6
{
xstart = millis();           //aktifkan timer digitalWrite (3, HIGH); // nyalakan pin 3 delay(1000);                       // pause selama 1 detik digitalWrite(3, LOW);   // matikan pin 3
}
}


·    digitalWrite() = Berfungsi untuk memberikan nilai LOW atau HIGH

pada sebuah pin OUTPUT



·     Fungsi delay = Berfungsi untuk memberikan jeda dalam satuan milidetik
·    digitalRead() = Berfungsi untuk membaca nilai digital LOW atau

HIGH dari sebuah pin INPUT

·     Fungsi milis() akan memberikan posisi “Stopwatch” terakhir yang bekerja dalam system



Stopwatch bekerja dalam satuan milidetik, menggunakan TIMER0 dan mencatatnya dalam variabel unsigned long timer0_overflow_count. Hitungan akan overflow setelah mencapai 4,294,967,295 (2^32-1)




2.2       Jarak

Jarak merupakan panjang lintasan yang ditempuh oleh suatu benda dalam selang waktu tertentu.  Jarak juga bisa menyatakan  posisi suatu benda terhadap titik acuan tertentu. Jarak termasuk besaran skalar, dimana tidak bergantung pada arah dan nilainya selalu positif.



2.3       Perpindahan

Berbeda dengan jarak, perpindahan  adalah besaran vektor sehingga arah juga berpengaruh.



2.4       Kelajuan (V)

Dalam ilmu fisika, istilah laju/kelajuan menyatakan seberapa jauh sebuah benda  berpindah  selama  selang  waktu  tertentu.  Kaluan  merupakan  salah  satu



besaran  turunan  yang tidak  bergantung  pada  arah,  sehingga  kelajuan  termasuk skalar.



2.4.1    Kecepatan Rata-Rata
Kecepatan  rata-rata  suatu  benda  yang  bergerak  didefinisikan  sebagai perpindahan yang ditempuh benda dibagi waktu tempuh.





ܭ݁ܿ݁݌ܽݐܽ݊ ݎܽݐܽ          ݎܽݐܽ    =

ܲ݁ݎ݌݊݅ ݀ܽ    ܽ݊
ܹ ܽ݇ݐݑ ݐ݁݉ ݌ݑ   





ݔ  ݔ


ܸି௔     =
ݐ
 

ݐ





ݔ
ܸି ௔     = ݐ




2.4.2    Kecepatan Sesaat

Kecepatan  sesaat  adalah  kecepatan  rata-rata  selama  selang  waktu  yang sangat  kecil.  Secara  matematis,  kecepatan  sesaat  adalah  perbandingan perpindahan dengan selang waktu, jika selang waktu mendekati nol. Secara matematis, kecepatan sesaat adalah limit perbandingan perpindahan dengan selang
waktu jika selang waktu mendekati nol.

ݔ
lim
→଴ ݐ

Limit  ini  dinamakan  turunan  x  terhadap  t,  dimana  dalam  kondisi  kalkulus

(diferensial/integral) ditulis dx/dt :


ܸ =  lim

݀ݔ      ݀ݔ


→଴ ݀ݐ       ݀ݐ

݀ݔ
ݒ =
݀ݐ

2.4.3    Percepatan Rata-Rata
Percepatan  rata-rata didefinisikan  sebagai  perbandingan  perubahan kecepatan dengan selang waktu yang diperlukan untuk berubah tersebut. Secara metematis ditulis :



ܲ݁ݎܿ݁݌ܽݐܽ݊ ݎܽݐܽ           ݎܽݐܽ    =

ܲ݁ݎݑܾܽ   ܽ݊ ܭ݁ܿ݁݌ܽݐܽ݊
ܹ ܽ݇ݐݑ ܶ݁݉ ݌ݑ  





ܽ ݎܽݐܽ     ݎܽݐܽ    =
ݒ
ā =  
ݐ

ݒ2 ݒ1
ݐ2 ݐ1



Percepatan merupakan besaran vektor, tetapi untuk gerakan satu dimensi hanya perlu menggunakan tanda (+) dan (-) untuk menunjukkan arah sistem koordinat yang dipakai.



2.4.4    Percepatan Sesaat
Percepatan sesaat adalah limit perbandingan perubahan kecepatan dengan selang waktu perubahan, dengan selang waktu mendekati nol. Jika digambarkan grafik kecepatan dengan waktu, kecepatan sesaat pada t didefinisikan sebagai kemiringan garis yang menyinggung kurva pada saat itu.

ݒ
ܽ =    lim
→଴  ݐ
Percepatan  merupakan  turunan  kecepatan  terhadap  waktu,  dan  biasa  ditulis

dengan notasi dx/dt.


ܽ  lim

ݒ      ݀ݒ
=


→଴ ݐ       ݀ݐ

Karena  kecepatan  merupakan  turunan  dari  posisi  terhadap  t,  maka  percepatan

merupakan turunan kedua x terhadap t, secara matematis ditulis :



݀ݒ      ݀(݀ݔ )
ܽ =        =      ݀ݐ
݀ݐ          ݀ݐ

݀  ݔ
=
݀ݐ 






2.5       Gerak Lurus Beraturan (GLB)

Suatu  benda  dikatakan  melakukan  gerak  lurus beraturan  jika  kecepatan selalu konstan. Kecepatan konstan artinya besar kecepatan/kelajuan dan arah kecepatan  selalu  konstan.  Karena  besar  kecepatan/kelajuan  dan arah kecepatan selalu konstan maka bisa dikatakan bahwa benda bergerak dengan lintasan lurus dengan kelajuan konstan.

Gambar 2.8 Grafik Kecepatan Terhadap Waktu




Berdasarkan  grafik  diatas,  tampak  bahwa  besar  kecepatan  bernilai  tetap  pada setiap satuan waktu. Besar kecepatan tetap ditandai  oleh garis lurus, berawal dari t = 0 hingga t akhir.


ܭ݁ܿ݁݌ܽݐܽ݊ ݎܽݐܽ          ݎܽݐܽ    =

ܲ݁ݎ݌݊݅ ݀ܽ    ܽ݊
ܹ ܽ݇ݐݑ ܶ݁݉ ݌ݑ  



ݔ2 ݔ1
ݒି ௔     =   ݐ2 ݐ1
 ݔ
 ݐ




2.6       Java

2.6.1    Sejarah Java

Sejarah Java berawal pada tahun 1991 ketika perusahaan Sun Microsystem memulai  Green  Project,  yakni  proyek  penelitian  untuk  membuat  bahasa  yang akan digunakan pada chip-chip embedded untuk device intellegent consumer electronic.  Bahasa  tersebut  haruslah  bersifat  multiplatform,   tidak  tergantung kepada vendor yang memanufaktur chip tersebut.
Dalam  penelitian,  Projek  Green  berhasil  membuat  prototype  semacam PDA (Personal  Data Assistance)  yang dapat berkomunikasi  antara satu dengan yang lain dan diberi nama Star 7. Ide berawal untuk membuat sistem operasi bagi Star 7 berbasis C dan C++. Setelah berjalan beberapa lama, James Gosling, salah satu seorang anggota team, merasa kurang puas dengan beberapa karakteristik dari kedua bahasa tersebut kemudian dinamakan Oak. Diinspirasi ketika dia melihat pohon di seberang kaca ruang kantornya. Belakangan Oak beralih nama menjadi java.
Karena pada awalnya ditunjuk untuk pemrograman device kecil, java memiliki karakteristik berukuran kecil, efisien, dan portable untuk berbagai hardware.  Projek  Green  sempat  terancam  terhenti  karena  dalam perkembangannya,  device  ini  belum  memiliki  pasar  seperti  yang  diramalkan



semula.   Selanjutnya   java   diarahkan   untuk   pemrograman   internet.   Secara kebetulan  fitur-fitur  java yang telah disebutkan  sebelumnya  sangat  sesuai bagi pengembangan internet sehingga dalam beberapa tahun belakangan ini java telah menjadi primadona untuk pemrograman yang berbasis internet.



2.6.2    Definisi Java

Java menurut definisi dari Sun adalah nama untuk sekumpulan teknologi untuk  membuat  dan  menjalankan  perangkat  lunak  pada  komputer  standalone ataupun pada lingkungan jaringan. Java2 adalah generasi kedua dari java platform (generasi awalnya adalah Java Devlopment Kit). Java berdiri di atas sebuah mesin interpreter yang diberi nama Java Virtual Machine (JVM). JVM inilah yang akan membaca  bytecode  dalam  file  .class  dari  suatu  program  sebagai  representasi program yang berisi bahasa mesin. Oleh karena itu, bahasa java di sebut sebagai bahasa pemrograman yang portable karena dapat di jalankan pada semua system operasi, asalkan pada system operasi tersebut terdapat JVM. Platform java terdiri dari kumpulan library, JVM, kelas-kelas loader yang dipaket dalam sebuah lingkungan rutin java, dan sebuah compiler, debugger dan kakas lain yang dipaket dalam Java Development Kit (JDK). Java2 adalah generasi yang sekarang sedang berkembang dari platform java. Agar sebuah program java di jalankan, maka file dengan ektensi .java harus di kompilasi menjadi file bytecode. Untuk menjalankan bytecode  tersebut  dibutuhkan  JRE  (Java  Runtime  Envirotment)  yang memungkinkan  pemakai  untuk menjalankan  program java, hanya menjalankan, tidak untuk membuat kode baru lagi. JRE berisi JVM dan library java yang digunakan, untuk lebih jelasnya dapat dilihat pada gambar 2.3 dibawah ini.




Gambar 2.9 J2SE 5.0




Platform  java memiliki tiga buah edisi yang berbeda,  yaitu J2EE (Java Enterprise   Edition),  J2ME  (Java2  Mikro  Edition)  dan  J2SE  (Java2  Scond Edition). J2EE adalah kelompok dari beberapa API dari Java dan teknologi selain Java. J2EE dibuat untuk membuat aplikasi yang kompleks. J2EE sering dianggap sebagai  middleware  atau teknologi  yang berjalan  di server,  namun  sebenarnya J2EE tidak  hanya  terbatas  untuk  itu. Faktanya  J2EE juga  mencakup  teknologi yang   dapat   digunakan   di   semua   lapisan   dari   sebuah   sistem   informasi. Implementasi J2EE menyediakan kelas dasar dan API dari Java yang mendukung pengembangan  dan rutin standar untuk aplikasi klien maupun  server, termasuk aplikasi yang berjalan di web browser. J2SE adalah lingkungan dasar dari Java. Ruang lingkup keterhubungan J2EE, J2SE dan J2ME dapat di ihat pada gambar
2.4 dibawah ini.












2.6.3    Java2 Enterprise Edition (J2EE)

J2ee (Java 2 Enterprise Edition) adalah sebuah solusi java untuk sebuah software  yang  ditunjukan  untuk  sebuah  perusahaan  dengan  skala  cukup  besar. Hal-hal  yang dibutuhkan  dalam  skala interprise  sangat  berbeda  dengan hal-hal yang dibutuhkan oleh software biasa. J2ee mengandung lebih banyak API (Application  Programming Interface) serta dipergunakan   dalam arsitektur yang lebih besar daripada J2SE. Dari segi arsitektur n-tier, dimana software tersebut dibagi menjadi beberapa tingkatan/tier yang terpisah tergantung kegunaanya.






Dari gambar diatas terlihat bahwa J2EE mencakup 3 bagian utama yaitu :

client, java ee server, dan database.

·       User Interface

Bagian ini adalah bagian yang berinteraksi langsung dengan user. Java menyediakan 2 solusi untuk bagian ini, yang pertama dengan menggunakan aplikasi java yang ditaruh di client dan bisa terhubung ke server atau menggunakan halaman web HMTL dinamik.
·       Java EE Server

Pada bagian ini dibagi lagi menjadi 2 bagian, yaitu web tier dan business tier. Pada web tier terdapat aplikasi java JSP (Java Server Pages). Web tier ini lebih ke arah web dinamik (dapat menggantikan  web HMTL dinamik dikomputer client). Terdapat juga business tier, yaitu sebuah abstraksi dari kegiatan-kegiatan yang ada dalam proses bisnis diperusahaan. Di bagian ini terdapat program java seperti beans, dan servlet, dan masing-masing  dari program  tersebut  adalah  sebuah  fungsi  dari  proses  bisnis.  Ha  ini  sesuai dengan fungsi j2ee seagai sebuah IT sistem yang mensupport bisnis perusahaan.
·       Database Server

Dibagian ini adalah tempat data-data perusahaan disimpan. Bisa berupa database seperti oracle atau merupakan EIS (Enterprise Information System) internal perusahaan. Java disini lebih ke arah menyediakan konektivitas dari aplikasi java kepada database atau sistem internal perusahaan.



2.6.4    Java2 Standard Edition

J2SE adalah inti dari bahasa pemrograman Java. JDK (Java Devlopment Kit)  adalah  salah  satu  tool  dari  J2SE  untuk  mengkompilasi  dan  menjalankan program Java. Di dalamnya terdapat tool untuk mengkompilasi program Java dan JRE. Tool J2SE yang salah satunya adalah jdk1.5 merupakan  tool open source dari Sun.
Java   2  Standard   Edition   (J2SE),   digunakan   untuk   mengembangkan aplikasi-aplikasi desktop dan Applet (aplikasi java yang dapat dijalankan di dalan browser  Web).  Pada  pemrograman  Java  terdapat  kelebihan  lain  yang  tidak dimiliki  bahasa pemrograman  lainnya  yaitu Applet. Java Applet  adalah sebuah program kecil yang dibuat dengan menggunakan bahasa perograman Java, yang diakses melalui halaman Web dan dapat di-download ke dalam mesin Client yang kemudian menjalankannya didalam jendela web-browser. Java applet dapat secara dinamis  menambahkan   beberapa  fungsi  kepada  halaman-halaman   web  yang bersifat  statis.  Akan  tetapi,  untuk  menjalankannya,   sebuah  komputer  harus memiliki program penjelajah web yang dapat menjalankan Java, seperti Microsoft Internet Explore, Netscape Navigator, Mozilla Firefox, dan Opera.
Ketika   sebuah   Java   Applet   dibuat,   semua   pernyataan   Java   yang terkandung di dalam kode sumbernya akan di kompilasi menjadi bytecode, yakni sebuah bahasa mesin semu (virtual engine/machine laguage) yang dibentuk oleh Java. Berkas yang berisi Java bytecode ini akan disimpan sebagai sebuah berkas kelas Java (Java class file) didalam  sebuah Web server, seperti halnya Apache HTTP Server atau Microsoft Internet Information Service (IIS). Sebuah halaman Web   yang   hendak   menggunakan   Applet   tersebut   harus   menggunakan   tag



<APPLET>...</APPLET> di dalam  kode  sumbernya.  Ketika  sebuah  penjelajah Web milik klien melakukan request kepada halaman Web tersebut menemukan bahwa  di dalamnya  terdapat  tag  <APPLET>...</APPLET>,  bytecode  di dalam java class file akan dieksekusi oleh mesin semu di dalam jendela penjelajah Web, yang dapat berupa Microsoft Java Virtual Machine atau Java Runtime Engine.



2.6.5    Java2 Micro Edition (J2ME)

Java2  Micro Edition atau yang sering disebut  J2ME adalah lingkungan pengembangan  yang telah didisain untuk meletakkan perangkat lunak Java pada barang elektronik  beserta perangkat  pendukungnya.  Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat maka belum tentu juga berfungsi baik pada   perangkat   yang   lainnya.   J2ME   membawa   Java   ke   dunia   informasi, komunikasi, dan perangkat komputasi selain perangkat komputer  desktop. J2ME biasa digunakan pada telepone seluler, pager, personal digital assistants (PDA’s) dan sejenisnya.
J2ME adalah bagian dari J2SE, karena itu tidak semua library yang ada pada  J2SE  dapat  digunakan  pada  J2ME.  Tetapi  J2ME  mempunyai  beberapa library  khusus  yang  tidak  dimiliki  J2SE.  Arsitektur  J2ME  dapat  dilihat  pada gambar 2.5 dibawah ini.








Teknologi J2ME juga memiliki keterbatasan,  terutama jika diaplikasikan pada ponsel. J2ME sangat tergantung pada perangkat (device) yang digunakan, bisa  dari  segi  merk  ponsel,  maupun  kemampuan  ponsel,  dan  dukungannya terhadap  teknologi  J2ME.  Misalnya,  jika sebuah ponsel tidak memiliki kamera maka   jelas   J2ME   pada   ponsel   tersebut   tidak   dapat   mengakses   kamera. Keterbatasan  lainnya  adalah  pada ukuran  aplikasi,  karena  memori  pada ponsel sangat terbatas. Sebagian besar ponsel tidak mengijinkan aplikasi J2ME menulis pada file karena alasan keamanan.
Configuration  merupakan Java library minimum dan kapabilitas yang di punya  oleh  para  pengembang  J2ME,  yang  maksudnya  sebuah  mobile  device dengan kemampuan Java akan dioptimalkan untuk menjadi sesuai. Configuration hanyalah mengatur hal-hal tentang kesamaan sehingga dapat dijadikan ukuran kesesuaian  antar-device.  Misalnya  sebuah  lampu  sepeda  dirancang  sedemikan rupa  sehingga   didefinisikan   dua  buah  konfigurasi   yaitu  CLDC  (Connected Limited  Device  Configuration)   untuk  perangkat  kecil  dan  CDC  (Connected



Device   Configuration)  untuk perangkat  yang lebih besar. Lingkup CLDC  dan

CDC dapat dilihat pada gambar 2.6 dibawah ini.






J2SE             CDC            CLDC






Gambar 2.13 Lingkup Configuration
Profile berbeda dengan configuration, profile membahas sesuatu yang spesifik  untuk  sebuah perangkat.  Dalam J2ME terdapat  dua buah profile  yaitu MIDP   dan   Foundation   Profile.   Keterhubungan   pada   J2ME   beserta   mesin virtualnya dapat di lihat pada gambar 2.7 dibawah ini.


KVM                       CVM                      JVM




MIDP


CLDC

Foundation
Profile

CDC                      J2SE





kompleks

Gambar 2.14 Hubungan J2ME dan J2SE



Mengedit Source
Code




File Source Code : Source.java





Mengkompile Program : C:\path_source\javac source.java

Bila masih ada error kompilasi


Hasil Kompilasi : File source.class





Mengeksekusi Program : C:\path_source\java sorce.class


Bila ada runtime atau logic error


Hasil Benar




Gambar 2.15 Diagram Alur Java



2.6.6  Struktur Pemrograman Java


package speedometer;
import gnu.io.*;
/**
*Komentar dalam java
*/
Modifier class namaKelas{
//deklarasi variable
Modifier methodConstructor(){
//statement
}
Public static void main(){
/*
*statement1
*statement2
*/
}
}


·    Package


Package  atau  paket  adalah  cara  pengelompokan  dan  pengorganisasian class-class   dalam   satu   library.   Package   bekerja   dengan   membuat directonari  dan folder varu sesuai dengan penamaan  package, kemudian menyimpan file class pada folder tersebut. Deklarasi package ditulis pada baris  paling  atas  sebelum  perintah  import,  sebagaimana  terlihat  pada struktur program java diatas. Deklarasi package adalah sbb:

Package speedometer; // nama paketnya speedometer



Package  adalah  perintah  java  yang  digunakan  untuk  memberitahukan bahwa suatu class adalah anggota dari package, sedangkan namaPackage dapat  berupa  susunan  direktori  tempat  dimana  file  class  disimpan  atau



nama folder. Penulisan nama package dalam java biasanya diawali dengan huruf kecil.

·    Import

Perintah import digunakan untuk memberitahukan kepada program untuk mengacu pada class-class yang terdapat pada package tersebut dan buka menjalankan class-class. Deklarasi :

Import namaKelas.namaKelas
Import gnu.io.*; // import kelas io

Tanda arsitek (*) digunakan  untuk mengimport semua class. Sedangkan untuk  mengimpor  class  nama  class  dituliskan  setelah  nama  package.



·    Komentar Dalam java

Komentar adalah catatan yang ditulis bersama kode program yang berguna sebagai  catatan/keterangan   dari  satu  kode,  sehingga  dapat  digunakan sebagai referensi dalam pembuatan dokumentasi. Komentar merupakan bagian  dari  program  yang  tidak  mempengaruhi  jalanya  program  saat program dikompilasi atau dieksekusi.
Dalam penuliasan komentar, java mengizinkan penulisan komentar versi java sendiri yang dapat digunakan sebagai pembuatan dokumentasi html. Selain itu java juga mengadopsi penuliasn  versi C dan C++ akan tetapi dapat dibuat dokumentasi html.
Penulisan komentar versi java diawali dengan /**. Didalam tanda tersebut anda dapat menuiskan lebih dari satu baris komentar. Contoh :



/**

*ini adalah contoh komentar dalam versi java

*menguasai pemrograman java

*/



·    Identifier JAVA

Identifier adalah suatu tanda yang berupa huruf, latar, atau gabungan yang digunakan sebagai nama variable, methode, class, dan sebagainya.
·    Dekalarasi class

Dalam deklarasi class, pertimbangan dimana dan bagaimana class tersebut digunakan  (menentukan  modifier).  Kemudian  berilah  nama  (identifier) yang sesuai dengan informasi yang dikandung dan dituliskan deklarasi property secara lengkap beserta method secara urut. Pilihlah modifier yang sesuai untuk menentukan hubungan dengan class lain.



(modifier_1) namaClass(modufier_2)

{

<deklarasi variabel>

<deklarasi konstruktor>

<deklarasi methode>

}



·    Modifier

Modifier  adalah keyword java yang berfungsi mengatur  hubungan  antar class,  methode,  dan  variable.  Hubungan  yang  dimaksud  yakni  apakah suatu variable, method dan class dalam satu class dapat diakses oleh class dan methode lainnya.
·    Blok Statement Java

Blok   statement   adalah   himpunan   pernyataan   yang   terdapat   diantara kuraung kurawal buka dan kurawal tutup({....}).  Blok sendiri terdapat 3 macam, yaitu :
1.   Blok class

Blok class dimulai dari tanda “{“ setelah indentifier dan di akhiri dengan  tanda  “}”.  Disini  terlihat  blok  class  sebagi  hierarkhi tertinggi yang didalamnya terdapat data, blok methode.
2.   Blok methode

Blok methode  terdapat  dalam blok class dan tidak dapat berdiri sendiri. Blok methode terdiri atas data dan struktur control.
3.   Blok kontrol

Blok kontrol merupakan representasi struktur control.

·    Deklarasi methode

Methode adalah bagian pemrograman yang menjelaskan tingkah laku dari objek yang akan diinstan. Methode tidak dapat berdiri sendiri sebagaimana class dimana   letak   penulisan   berada   dalam  badan   class.   Deklarasi methode:



(modifier) tipeKembalian namaMethode (parameter input) Throw Exception {
// Statement

}







2.6.7    Keunggulan Java

Java  memiliki  beberapa  keunggulan  bila  dibandingkan  dengan  bahasa pemrograman lainnya. Antara lain :
1.    Java bersifat sederhana dan relatif mudah

Java dimodelkan  sebagian  dari bahasa C++, namun dengan memperbaiki beberapa karakteristik C++, seperti mengurangi kompleksitas beberapa fitur, penambahan fungsionalitas, serta penghilangan  beberapa  aspek  pemicu  ketidakstabilan  sistem  pada C++.
Sebagai contoh, Java menggantikan konsep pewarisan lebih dari satu (multiple   inheritance)   dengan   interface,   menghilangkan   konsep pointer   yang  sering   membingungkan,   otomatisasi   sistem   alokasi memory,  dan  sebagainya.  Ini  membuat  Java  relatif  sederhana  dan mudah untuk dipelajari dibandingkan bahasa pemrograman lainnya.
2.    Java berorientasi pada objek (Object Oriented)

Java  adalah  bahasa  pemrograman  yang  berorientasi  objek  (OOP), bukan seperti Pascal, Basic atau C yang berbasis prosedural. Dalam memecahkan  masalah, Java membagi program menjadi objek-objek,



kemudian memodelkan sifat dan tingkah laku masing-masing. Selanjutnya,  Java  menentukan  dan  mengatur  interaksi  antara  objek yang satu dengan lainnya.
3.    Java bersifat terdistribusi

Pada dekade awal perkembangan PC (Personal Computer), komputer hanya  bersifat  workstation  tunggal,  tdiak terhubung  satu sama lain. Saat ini, sistem komputerisasi cenderung terdistribusi, mulai dari workstation client, e-mail server, database server, web server, proxy server, dan sebagainya.
4.    Java bersifat Multiplatform

Java bersifat multiplatform,  yakni dapat di-“terjemahkan”  oleh Java

Interpreter sebagi sistem operasi.

5.    Java bersifat MultiThread

Thread adalah proses yang dapat dikerjakan oleh program dalam satu waktu.   Java   bersifat   Multithreaded artinya   dapat   mengerjakan beberapa proses dalam waktu yang hampir bersamaan.



2.7       Sensor Cahaya


2.7.1    LDR (Light Dependent Resistor)


LDR   adala suatu   bentuk   komponen   yang   mempunyai   perubahan resistansi yang besarnya tergantung pada cahaya. Resistor peka cahaya (Light Dependent Resistor) memanfaatkan bahan semikonduktor yang karakteristik listriknya   berubah-ubah   sesuai   dengan   cahaya   yang   diterima.   Bahan   yang digunakan  adalah  Kadmium  Sulfida  (CdS)  dan  Kadmuim  Selenida  (CdSe). Bahan-bahan ini sangat sensitif terhadap cahaya dalam spektrum tampak, dengan puncaknya sekitar 0,6 µm untuk CdS dan 0,75 µm untuk CdSe. Sebuah LDR CdS yang  tipikal  memiliki  resistansi  sekitar  1MΩ  dalam  kondisi  gelap  gulita  dan kurang dari 1KΩ ketika ditempkan di bawah sumber cahaya terang.



Gambar 2.16 Lambang LDR


Karakteristik  LDR  terdiri  dari  dua  macam  yaitu  Laju  Recovery  dan  Respon

Spektral :


·    Laju Recovery

Bila  sebuah  LDR  dibawa  dari  sebuah  ruangan  dengan  level  kekuatan cahaya tertentu ke dalam suatu ruangan yang gelap maka nilai resistansi dari LDR tidak akan segera berubah resistansinya pada geadaan ruangan gelap tersebut. Namun LDR tersebut hanya akan bisa mencapai harga di kegelapan   setelah   mengalami   selang   waktu   tertentu.   Laju   Recovery



merupakan suatu ukuran praktis dan suatu kenaikan nilai resistansi dalam waktu  tertentu.  Harga  ini  ditulis  dalam  K/detik,  untuk  LDR  tipe  arus harganya lebih besar dari 200 K/detik (selama 20 menit pertama mulaidari level cahaya 100 lux), kecepatan tersebut akan lebih tinggi dari arah sebaliknya,   yaitu   pindah   dari  tempat   gelap   ke  tempat   terang   yang memerlukan  waktu  kurang  dari  10  ms  untuk  mencapai  resistansi  yang sesuai dengan level cahaya 400 lux.



·    Respon Spektral

LDR   tidak   memiliki   sensitivitas   yang   sama   untuk   setiap   panjang gelombang  cahaya yang jatuh padanya (yaitu warna). Bahan yang biasa digunakan sebagai penghantar arus listrik yaitu tembaga, alumunium, baja, emas, perak. Dari kelima bahan tersebut tembaga merupakan yang paling banyak digunakan karena mempunyai daya hantar yang baik.



2.7.2    Photodioda

Photodioda  adalah jenis dioda yang berfungsi untuk mendeteksi  cahaya. Berbeda  dengan  dioda  biasa,  komponen  elektronik  ini akan  mengubah  cahaya menjadi arus listrik. Cahaya yang dapat di deteksi oleh dioda ini, mulai dari infra red, sinar ultra violet, sampai dengan sinar X.

Photodioda dibuat dari semikonduktor dengan bahan yang populer adalah silicon (Si) arau galium arsenida (GaAs), dan yang lain meliputi InSb, InAs, PbSe. Material ini menyerap cahay dengan karakteristik panjang gelombang mencakup :
2500 Å 11000 Å untuk silicon, 8000 Å - 20000 Å untuk GaAs. Ketika sebuah



photon (satu satuan energi dalam cahaya) dari sumber cahaya diserap, hal tersebut membangkitkan  suatu  elektron  dan  menghasilkan  sepasang  pembawa  muatan tunggal sebuah elektron dan sebuah hole, dimana suatu hole adalah bagian dari ksisi-kisi  semikonduktor  yang  kehilangan  elektron.  Arah  arus  yang  melalui sebuah  semikonduktor  adalah  kebalikan  dari  gerakan  muatan  pembawa.  Cara tersebut didalam sebuah photodiode digunakan untuk mengumpulkan photon - menyebabkan pembawa muatan (seperti arus atau tegangan) mengalir/terbentuk di bagian-bagian elektroda.







2.7.3    PhotoTrasnsistor

Phototransistor adalah sebuah transistor yang apabila dikenai cahaya akan mengalirkan   elektron      sehingga   akan   terjadi   penguatan   arus   seperti   pada transistor.








2.7.4    Optocoupler

Optocoupler  merupakan  salah satu jenis komponen  yang memanfaatkan sinar sebagai pemicu on/off-nya. Opto berarti optic dan coupler berarti pemicu. Sehingga  bisa  diartikan  bahwa  optocoupler  merupakan  suatu  komponen  yang bekerja  berdasarkan  picu  cahaya  optik  opto-coupler  termasuk  dalam  sensor, dimana terdiri dari dua bagian yaitu transmiter dan receiver.

Gambar 2.19 Optocoupler

Bagian  pemancar  atau transmiter  dibangun  dari sebuah led infra merah untuk mendapatkan ketahanan yang lebih baik daripada menggunakan led biasa. Sensor ini bisa juga digunakan sebagai isolator dari rangkaian tegangan rendah ke rangkaian  tegangan  tinggi.  Selain  itu  juga  bisa  digunakan  sebagai  pendeteksi adanya  penghalang  adanya  transmiter  dan receiver  dengan  memberi  ruang uji dibagian tengah antara led dan photo transistor. Penggunaan ini bisa diterapkan untuk mendeteksi putaran motor atau mendeteksi lubang penanda disket pada disk drive komputer.





2.8 Bluetooth


2.8.1    Pengertian Bluetooth


Bluetooth  adalah  spesifikasi  industri  untuk  kawasan  pribadi  (Personal Area  Network  atau  PAN)  tanpa  kabel.  Bluetooth  menghubungkan  dan  dapat dipakai untuk tukar menukar  informasi  diantara peralatan-peralatan.  Spesifikasi dari   peralatan   bluetooth   dikembangkan   dan   didistribusikan   oleh   kelompok Bluetooth Special Interest Group. Bluetooth beroperasi dalam pita frekuensi 2,4
Ghz dengan menggunakan sebuah frequency hopping traceiver yang mampu menyediakan layanan komunikasi data dan suara secara real time antara host-host bluetooth  dengan  jarak  terbatas.  Kelemahan  teknologi  ini  adalah  jangkauanya yang pendek dan kemampuan transfer data yang rendah.



2.8.2    Sejarah Bluetooth

Awal mula dari bluetooth adalah sebagai teknologi komunikasi  wireless (tanpa kabel) yang beroperasi dalam pita frekuensi 2,4 Ghz unlicensed ISM (Industrial   Scientific   and  Medical dengan  menggunakan   sebuah   frequency hopping traceiver yang mampu menyediakan layanan komunikasi data dan suara secara real time antara host-host  bluetooth  dengan jarak jangkau  layanan  yang terbatas (sekitar 10 meter). Bluetooth berupa card yang menggunakan frekusensi radio standar IEEE 802.11 dengan jarak layanan terbatas dan kemampuan  data transfer lebih rendah dari card untuk Wireless Local Area Network (WLAN).
Pembentukan  bluetooth  dipromotori  oleh  5  perusahaan  besar  Ericsson, IBM, Intel, Nokia dan Toshiba membentuk sebuah special Interest Group (SIG)



yang  meluncurka proyek   ini.   Pada   bulan   Juli  1999   dokumen   spesifikasi bleutooth versi 1.0 mulai diluncurkan.  Pada bulan Desember 1999 dimulai lagi pembuatan dokumen spesifikasi bluetooth versi 2.0 dengan tambahan 4 promotor baru yaitu 3Com, Lucent Technologies,  Microsoft dan Motorolla. Saat ini lebih dari  1800  perusahaan  diberbagai  bidang  bergabung  dalam  sebuah  konsorsium sebagi  adopter  teknologi  bluetooth.  Walaupun  standar  bluetooth  SIG  saat  ini dimiliki  oleh  group  promotor  tetapi  ia diharapkan  akan  menjadi  standar  IEEE (802.15)



2.8.3    Asal Nama Bluetooth dan Lambangnya

Nama    bluetooth  berasal  dari  nama  raja  di akhir  abad  sepuluh,  Harald Blatand yang di Inggris juga dijuluki Harald Bluetooth kemungkinan karena memang giginya berwarna gelap. Ia adalah raja Denmark yang telah berhasil menyatukan suku-suku yang sebelumnya berperang, termasuk suku dari wilayah yang sekarang bernama Norwegia dan Swedia. Bahkan wilayah Scania di Swedia, tempat  teknologi  bluetooth  ini ditemukan  juga termasuk  daerah  kekuasaannya. Kemampuan  raja itu sebagai  pemersatu  juga mirip dengan  teknologi  bluetooth sekarang yang bisa menghubungkan berbagai peralatan seperti komputer peronal dan  telepon  genggam.  Sedangkan  logo  bluetooth  berasal  dari penyatuan  huruf Jerman  yang analoh  dengan huruf H dan B (singkatan  dari Harald Bluetooth), yaitu    (Hagall) dan   (Blatand) yang kemudian digabungkan.




Gambar 2.20 Logo Bluetooth




Tabel 2.2 Karakteristik Radio Bluetooth


Parameter
Spesifikasi
Frekuesnsi
ISM band, 2400-2483.5 MHz (mayoritas), untuk beberapa
negara mempunyai batasan frekuensi sendiri, spasi kanal 1
MHz
Maksimum
Output Power
Power class 1 : 100 mW (20 dBm) Power class 2 : 2.5 mW
(4dBm) Power class 3 : 1 mW (0dBm)
Modulasi
GFSK(Gaussian Frequency Shift Keying), Bandwidth Time
: 0.5; Modulation Index : 0.28 sampai dengan 0.35
Out of band
Spurious
Semission
30 MHz - 1 GHz : -36 dBm (operation mode), -57 dBm
(idle mode)1 GHz 12.75 GHz: -30 dBm (operation mode),
-47 dBm (idle mode)1.8 GHz 1.9 GHz: -47 dBm
(operation mode), -47 dBm (idle mode)5.15 GHz –5.3 GHz:
-47 dBm (operation mode), -47 dBm (idle mode)
Receiver

Actual
Sensitivity
Level
-70 dBm pada BER 0,1%.
Spurious
Emission
30 MHz - 1 GHz : -57 dBm1 GHz 12.75 GHz : -47 dBm
Max. usable
level
-20 dBm, BER : 0,1%





2.8.4    Cara Kerja Bluetooth

Sistem  bluetooth  terdiri  dari  sebuah radio  transceiver,  baseband  link Management  dan  Control,  Baseband  (processor  core,  SRAM,  UART,  PCM USB Interface), flash dan voice codec. Baseband link controller menghubungkan perangkat  keras  radio  ke  baseband  processing  dan  layer  protokol  fisik.  Link



manager melakukan aktivitas-aktivitas  protokol tingkat tinggi seperti melakukan link setup, autentikasi dan konfigurasi. Secara umum blok fungsional pada sistem bluetooth secara umum dapat dilihat pada Gambar 2.19 dibawah ini.

Gambar 2.21 Blok Fungsi Sistem Bluetooth



Protokol    bluetooth    menggunakan    sebuah    kombinasi    antara circuit switching dan packet   switching Sebuah   perangkat   yang   memiliki   teknologi wireless akan mempunyai kemampuan untuk melakukan pertukaran informasi dengan jarak jangkauan sampai dengan 10 meter (~30 feet), bahkan untuk daya kelas 1 bisa sampai pada jarak 100 meter.

Bluetooth merupakan chip radio yang dimasukkan ke dalam komputer, printer, handphone dan peralatan lainnya. Chip bluetooth ini dirancang untuk menggantikan   kabel.   Informasi   yang   biasanya   dibawa   oleh   kabel   dengan Bluetooth ditransmisikan pada frekuensi tertentu kemudian diterima oleh chip Bluetooth kemudian  informasi tersebut diterima oleh komputer,  handphone  dan peralatan lainnya.





Gambar 2.22 Proses Distribusi Aliran Data Dari Host sampai Antena pada
Teknologi Bluetooth





Tiga buah lapisan fisik yang sangat penting dalam protokol arsitektur Bluetooth ini adalah :

1.   Bluetooth   radio adalah   lapisan   terendah   dari  spesifikasi   Bluetooth.

Lapisan   ini   mendefinisikan   persyaratan   yang   harus   dipenuhi   oleh perangkat tranceiver yang beroperasi pada frekuensi 2,4 GHz ISM.
2.   Baseband, lapisan yang memungkinkan hubungan Radio Frequency (RF) terjadi antara beberapa unit Bluetooth membentuk piconet. Sistem RF dari bluetooth ini menggunakan frekuensi-hopping-spread spectrum yang mengirimkan data dalam bentuk paket pada time slot dan frekuensi yang telah ditentukan, lapisan ini melakukan prosedur pemeriksaan dan paging untuk sinkronisasi  transmisi  frekuensi  hopping dan clock dari perangkat bluetooth yang berbeda.
3.   LMP (Link Manager Protocol), bertanggung jawab terhadap link set-up antar perangkat Bluetooth. Hal ini termasuk aspek security seperti autentifikasi       dan    enkripsi    dengan    pembangkitan,    penukaran    dan pemeriksaan ukuran paket dari lapis baseband.



2.8.5    Kelebihan dan Kekurangan

·    Kelebihan

1.    Bluetooth  dapat  menembus  dinding,  kotak,  dan  berbagai  rintangan lain walaupun jarak transmisinya hanya sekitar 30 kaki atau 10 meter
2.    Bluetooth tidak memerlukan kabel ataupun kawat

3.    Bluetooth dapat mensinkronisasi  basis data dari telepon genggam ke komputer
4.    Dapat digunakan sebagai perantara modem

·    Kekurangan

1.    Sistem  ini  menggunakan  frekuensi  yang  sama  dengan  gelombang

LAN standar

2.    Apabila dalam suatu ruangan terlalu banyak koneksi bleutooth yang digunakan, akan menyulitkan pengguna untuk menemukan penerima yang diharapkan
3.    Banyak  mekanisme  keamanan  bleutooth  yang  harus  diperhatikan untuk mencegah kegagalan pengiriman atau penerimaan informasi

4.    Di  Indonesia,  sudah  banyak  beredar  virus-virus  yang  disebarkan melalui bluetooth dari handpone.

No comments:

Post a Comment

Thursday 18 December 2014

Mikrokontroler AVR Atmega8






      Mikrokontroler AVR Atmega8

AVR  merupakan   salah  satu  jenis  mikrokontroler   yang  di  dalamnya terdapat berbagai macam fungsi. Perbedaannya pada mikro yang pada umumnya digunakan seperti MCS51 adalah pada AVR tidak perlu menggunakan oscillator eksternal   karena  di  dalamnya   sudah  terdapat  internal   oscillator.   Selain  itu kelebihan  dari  AVR  adalah  memiliki  Power-On  Reset,  yaitu  tidak  perlu  ada tombol reset dari luar karena cukup hanya dengan mematikan supply, maka secara otomatis  AVR  akan  melakukan  reset.  Untuk  beberapa  jenis  AVR  terdapat beberapa fungsi khusus seperti ADC, EEPROM sekitar 128 byte sampai dengan
512 byte.

AVR  ATmega8  adalah  mikrokontroler  CMOS  8-bit  berarsitektur  AVR RISC  yang  memiliki  8K byte  in-System  Programmable  Flash.  Mikrokontroler dengan   konsumsi   daya   rendah   ini   mampu   mengeksekusi   instruksi   dengan kecepatan maksimum 16MIPS pada  frekuensi 16MHz. Jika dibandingkan dengan ATmega8L perbedaannya hanya terletak pada besarnya tegangan yang diperlukan untuk bekerja. Untuk ATmega8 tipe L, mikrokontroler ini dapat bekerja dengan tegangan antara 2,7 -  5,5 V sedangkan untuk ATmega8 hanya dapat bekerja pada tegangan antara 4,5 5,5 V.



2.1.1    Konfigurasi Pin Atmega8


Gambar 2.1. Konfigurasi Pin Atmega8







ATmega8 memiliki 28 Pin, yang masing-masing pin nya memiliki fungsi yang berbeda-beda baik sebagai port maupun fungsi yang lainnya. Berikut akan dijelaskan fungsi dari masing-masing kaki ATmega8.
·    VCC

Merupakan supply tegangan digital.

·    GND

Merupakan ground untuk semua komponen yang membutuhkan grounding.

·    Port B (PB7...PB0)

Didalam Port B terdapat XTAL1, XTAL2, TOSC1, TOSC2. Jumlah Port B adalah  8 buah pin, mulai dari pin B.0 sampai dengan  B.7. Tiap pin dapat digunakan  sebagai  input  maupun  output.  Port  B  merupakan  sebuah  8-bit bi-directional  I/O  dengan  internal  pull-up  resistor.  Sebagai  input,  pin-pin



yang terdapat pada port B yang secara eksternal diturunkan, maka akan mengeluarkan   arus  jika  pull-up   resistor   diaktifkan.   Khusus  PB6  dapat digunakan sebagai input Kristal (inverting oscillator amplifier) dan input ke rangkaian   clock   internal,   bergantung   pada   pengaturan   Fuse   bit   yang digunakan   untuk   memilih   sumber   clock Sedangkan   untuk   PB7   dapat digunakan  sebagai  output  Kristal  (output  oscillator  amplifier)  bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock. Jika sumber  clock  yang  dipilih  dari  oscillator  internal,  PB7  dan  PB6  dapat digunakan sebagai I/O atau jika menggunakan Asyncronous Timer/Counter2 maka  PB6  dan  PB7  (TOSC2  dan  TOSC1)  digunakan  untuk  saluran  input timer.
·    Port C (PC5…PC0)

Port C merupakan sebuah 7-bit bi-directional I/O port yang di dalam masing- masing pin terdapat pull-up resistor. Jumlah pin nya hanya 7 buah  mulai dari pin C.0 sampai  dengan  pin  C.6. Sebagai  keluaran/output  port C memiliki karakteristik  yang  sama  dalam  hal menyerap  arus  (sink)  ataupun mengeluarkan arus (source).
·    RESET/PC6

Jika RSTDISBL Fuse diprogram, maka PC6 akan berfungsi sebagai pin I/O. Pin  ini memiliki  karakteristik  yang  berbeda  dengan  pin-pin  yang terdapat pada port   C lainnya. Namun jika RSTDISBL Fuse tidak diprogram, maka pin  ini  akan  berfungsi  sebagai  input  reset.  Dan  jika  level  tegangan  yang masuk  ke  pin  ini  rendah  dan  pulsa  yang  ada  lebih  pendek  dari  pulsa



minimum, maka akan menghasilkan suatu kondisi reset meskipun clock-nya tidak bekerja.
·    Port D (PD7…PD0)

Port D merupakan 8-bit bi-directional  I/O dengan internal   pull-up resistor. Fungsi dari port ini sama dengan port-port yang lain. Hanya saja pada port ini tidak terdapat kegunaan-kegunaan  yang lain. Pada port ini hanya berfungsi sebagai masukan dan keluaran saja atau biasa disebut dengan I/O.
·    AVcc

Pin ini berfungsi sebagai supply tegangan untuk ADC. Untuk pin ini harus dihubungkan  secara  terpisah  dengan  VCC  karena  pin ini digunakan  untuk analog  saja.  Bahkan  jika  ADC  pada  AVR  tidak  digunakan   tetap  saja disarankan  untuk  menghubungkannya   secara  terpisah  dengan  VCC.  Jika ADC digunakan, maka AVcc harus dihubungkan ke VCC melalui low pass filter.
·    AREF

Merupakan pin referensi jika menggunakan ADC.





Gambar 2.2 Blok Diagram ATmega8


Pada AVR status  register  mengandung  beberapa  informasi  mengenai  hasil dari kebanyakan hasil eksekusi instruksi aritmatik. Informasi ini digunakan untuk altering arus program sebagai kegunaan untuk meningkatkan performa pengoperasian.  Register  ini  di-update  setelah  operasi  ALU  (Arithmetic  Logic Unit) hal tersebut seperti yang tertulis dalam datasheet  khususnya  pada bagian Instruction Set Reference. Dalam hal ini untuk beberapa kasus dapat membuang



penggunaan  kebutuhan  instrukasi  perbandingan  yang  telah  didedikasikan  serta dapat  menghasilkan  peningkatan  dalam  hal  kecepatan  dan  kode  yang  lebih sederhana  dan  singkat.  Register  ini  tidak  secara  otomatis  tersimpan  ketika memasuki  sebuah  rutin interupsi  dan juga  ketika menjalankan  sebuah  perintah setelah  kembali  dari  interupsi.  Namun  hal  tersebut  harus  dilakukan  melalui
software. Berikut adalah gambar status register.






Bit


Read/write

Initial Value

7             6            5            4             3             2            1            0


I
T
H
S
V
N
Z
C

 
R/W          R/W          R/W          R/W           R/W          R/W          R/W          R/W

0              0              0             0              0              0              0             0



SREG





Gambar 2.3 Status Register ATMega8


·    Bit 7(I)

Merupakan  bit  Global  Interrupt  Enable.  Bit  ini  harus  di-set  agar  semua perintah interupsi dapat dijalankan. Untuk perintah interupsi individual akan di jelaskan pada bagian yang lain. Jika bit ini di-reset, maka semua perintah interupsi baik yang individual maupun yang secara umum akan di abaikan. Bit ini akan dibersihkan atau cleared oleh hardware setelah sebuah interupsi di jalankan dan akan di-set kembali oleh perintah RETI. Bit ini juga dapat di- set dan di-reset melalui aplikasi dan intruksi SEI dan CLL.
·    Bit 6(T)

Merupakan bit Copy Storage. Instruksi bit Copy Instructions BLD (Bit Load) and BST (Bit Store) menggunakan bit ini sebagai asal atau tujuan untuk bit yang telah dioperasikan. Sebuah bit dari sebuah register dalam Register File



dapat  disalin  ke  dalam  bit  ini  dengan  menggunakan  instruksi  BST,  dan sebuah bit di dalam bit ini dapat disalin ke dalam bit di dalam register pada Register File dengan menggunakan perintah BLD.
·    Bit 5(H)

Merupakan  bit  Half  Carry  Flag.  Bit  ini  menandakan  sebuah  Half  Carry

dalam beberapa operasi aritmatika. Bit ini berfungsi dalam aritmatika BCD.

·    Bit 4(S)

Merupakan  Sign  bit.  Bit  ini  selalu  merupakan  sebuah  ekslusif  di  antara

Negative Flag (N) dan two’s Complement Overflow Flag (V).

·    Bit 3(V)

Merupakan  bit  Two’s  Complement  Overflow  Flag.  Bit  ini  menyediakan fungsi aritmatika dua komplemen.
·    Bit 2(N)

Merupakan bit Negative Flag. Bit ini mengindikasikan sebuah hasil negative

di dalam sebuah fungsi logika atai aritmatika.

·    Bit 1(Z)

Merupakan bit Zero Flag. Bit ini mengindikasikan sebuah jasil nol “0” dalan sebuah fungsi aritmatika atau logika.
·    Bit 0(C)

Merupakan bit Carry Flag. Bit ini mengindikasikan  sebuah Carry atau sisa dalam sebuah aritmatika atau logika.



2.1.2    Memori AVR Atmega






Data
Memory
32 General purpose registers
64 I/O
registers
Additional I/O registers
Internal
RAM

 
$000                                  $0000



$000









Flash







Boot
Section

$001F
$0020


$005F
$0060






F_END                             RAMEND

EEPROM






E_END





Gambar 2.4 Peta Memori Atmega




Memori atmega terbagi menjadi tiga yaitu :

1.   Memori Flash

Memori flash adalah memori ROM tempat kode-kode program berada. Kata flash menunjukan  jenis ROM yng dapat ditulis dan dihapus secara elektrik. Memori flash terbagi menjadi dua bagian yaitu  bagian  aplikasi  dan  bagian  boot.  Bagian  aplikasi  adalah bagian  kode-kode  program  apikasi  berada.    Bagian  boot  adalah bagian yang digunakan khusus untuk booting awal yang dapat diprogram untuk menulis bagian aplikasi tanpa melalui programmer/downloader, misalnya melalui USART.



2.   Memori Data

Memori   data   adalah   memori   RAM   yang   digunakan   untuk keperluan  program.  Memori  data terbagi   menjadi  empat  bagian yaitu :
32 GPR (General Purphose Register) adalah register khusus yang bertugas  untuk  membantu  eksekusi  program  oleh  ALU (Arithmatich   Logic   Unit),   dalam   instruksi   assembler   setiap instruksi   harus   melibatkan   GPR.   Dalam   bahasa   C   biasanya digunakan untuk variabel global atau nilai balik fungsi dan nilai- nilai yang dapat memperingan kerja ALU. Dalam istilah processor komputer sahari-hari GPR dikenal sebagai “chace memory”.
I/O register dan Aditional I/O register adalah register yang difungsikan   khusus  untuk  mengendalikan   berbagai  pheripheral dalam  mikrokontroler  seperti  pin  port,  timer/counter,  usart  dan lain-lain. Register ini dalam keluarga mikrokontrol MCS51 dikenal sebagi SFR(Special Function Register).
3.   EEPROM

EEPROM adalah memori data yang dapat mengendap ketika chip mati  (off),  digunakan  untuk  keperluan  penyimpanan  data  yang tahan terhadap gangguan catu daya.



2.1.3    Timer/Counter 0

Timer/counter 0 adalah sebuah timer/counter yang dapat mencacah sumber pulsa/clock baik dari dalam chip (timer) ataupun dari luar chip (counter) dengan kapasitas 8-bit atau 256 cacahan.
Timer/counter dapat digunakan untuk :

1.   Timer/counter biasa

2.   Clear Timer on Compare Match (selain Atmega 8)

3.   Generator frekuensi (selain Atmega 8)

4.   Counter pulsa eksternal




2.1.4    Komunikasi Serial Pada Atmega 8

Mikrokontroler AVR Atmega 8 memiliki Port USART pada Pin 2 dan Pin

3 untuk melakukan komunikasi data antara mikrokontroler dengan mikrokontroler ataupun mikrokontroler dengan komputer. USART dapat difungsikan sebagai transmisi data sinkron, dan asinkron. Sinkron berarti clock yang digunakan antara transmiter dan receiver satu sumber clock. Sedangkan asinkron berarti transmiter dab receiver mempunyai sumber clock sendiri-sendiri.  USART terdiri dalm tiga blok yaitu clock generator, transmiter, dan receiver.




Gambar 2.5 Blok USART




2.1.4.1 Clock Generator

Clock generator berhubungan dengan kecepatan transfer data (baud rate), register yang bertugas menentukan baud rate adalah register pasangan
Tabel 2.1 Baud Rate



Operating Mode
Equation for Calculating Baud
Rate
Equaltion for Calculating
UBRR Value
Asynchronous
Normal Mode
(U2X = 0)
݂݋ݏܿ
ܤܣܷܦ =                                1
16(ܷܤܴܴ + 1)
݂݋ݏܿ
ܷܤܴܴ =                     1
16ܤܣܷܦ
Asynchronous
Double Speed
Mode (U2X=1)
݂݋ݏܿ
ܤܣܷܦ =                              1
8(ܷܤܴܴ + 1)
ܷܤܴܴ =    ݂݋ݏܿ     1
8ܤܣܷܦ
Synchronous
Master Mode
݂݋ݏܿ
ܤܣܷܦ = 2(ܷܤܴܴ + 1) 1
݂݋ݏܿ
ܷܤܴܴ =                  1
2ܤܣܷܦ



Dimana :

Fosc adalah frekuensi ossilator yang digunakan

BAUD adalah transfer bit per detik




2.1.4.2 USART transmiter

Usart transmiter berhubungan dengan data pada Pin TX. Perangkat yang sering  digunakan  seperti  register  UDR  sebagi  tempat  penampungan  data  yang akan ditransmisikan. Flag TXC sebagai akibat dari data yang ditransmisikan telah sukses (complete), dan flag UDRE sebagai indikator jika UDR kosong dan siap untuk diisi data yang akan ditransmisikan lagi.



2.1.4.3 USART receiver

Usart   receiver   berhubungan   dengan   penerimaan   data  dari  Pin  RX. Perangkat yang sering digunakan seperti register UDR sebagai tempat penampung data yang telah diterima, dan flag RXC sebagi indikator bahwa data telah sukses (complete) diterima.



2.1.5    Arduino Severino Atmega8


Arduino adalah solusi terpaket yang terdiri dari board hardware dengan dengan mikrokontroler AVR serta software yang dikembangkan menggunakan bahasa Java dan menggunakan bahasa C sebagai rujukan dalam pemrograman. Arduino severino adalah board Arduino single sided versi lama dengan koneksi Serial RS232. Versi terakhir (S3V3) dirancang oleh Adilson Akashi, dengan penyempurnaan di sejumlah bagian, baik rangkaian maupun layout PCB.





Gambar 2.6 Arduino Severino ATMega8









E              D

G

A



C






B
F

Gambar 2.7 Bagian-Bagian Arduino yang digunakan


Keterangan :


·    A Koneksi  Serial  RS232  yang  digunakan  untuk  menghubungkan  MCU

dengan  Komputer

·    B Power jack dengan tegangan DC sebesar +9v

·    C Chip ATMega8



·    D Pin-pin digital input/output dengan Pin 0 sebagai Rx dan Pin 1 sebagai

Tx

·    E Pin-pin digital input/output 8 13

·    F LED Power

·     G  Pin  jumper,  pada  posisi  2-3,  maka  serial  dapat  digunakan  (serial enable),  selanjutnya  pada  posisi  1-2,  akan  menonaktifkan  komunikasi serial dan mengaktifkan external pull-down resistor pada pin 0 (Rx) dan pin 1 (Tx).



2.1.6    Struktur Pemrograman Arduino


Struktur dasar bahasa pemrograman arduino hanya terdiri dari dua bagian


Void setup()
{
// Statement;        di eksekusi satu kali
}
Void loop()
{
// Statement;        di eksekusi terus menerus
}



1.   Setup()

Fungsi setup() hanya dipanggil satu kali ketika program pertama kali di jalankan. Ini digunakan untuk mendifinisikan mode pin atu memulai komunikasi serial. Fungsi setup() harus di ikut sertakan dalam program walaupun tidak ada statement yang di jalankan.



void setup()
{
pinMode(3,OUTPUT);// men-set “pin” 3 sebagai Output pinMode(6, INPUT); // men-set pin  6 sebagai Input Serial.begin(9600);
}






·    pinMode() = berfungsi untuk mengatur fungsi sebuah pin sebagai

INPUT atau OUTPUT.

·     Serial.begin(9600) = digunakan untuk mengaktifkan fitur UART dan menginisialisasinya.



2.   Loop()

Setelah melakukan fungsi setup() maka secara langsung akan melakukan fungsi loop() secara berurutan dan melakukan instruksi-
instruksi ayang ada dalam fungsi loop().


void loop()
{
If (digitalRead(6)==HIGH)// membaca input digital pin 6
{
xstart = millis();           //aktifkan timer digitalWrite (3, HIGH); // nyalakan pin 3 delay(1000);                       // pause selama 1 detik digitalWrite(3, LOW);   // matikan pin 3
}
}


·    digitalWrite() = Berfungsi untuk memberikan nilai LOW atau HIGH

pada sebuah pin OUTPUT



·     Fungsi delay = Berfungsi untuk memberikan jeda dalam satuan milidetik
·    digitalRead() = Berfungsi untuk membaca nilai digital LOW atau

HIGH dari sebuah pin INPUT

·     Fungsi milis() akan memberikan posisi “Stopwatch” terakhir yang bekerja dalam system



Stopwatch bekerja dalam satuan milidetik, menggunakan TIMER0 dan mencatatnya dalam variabel unsigned long timer0_overflow_count. Hitungan akan overflow setelah mencapai 4,294,967,295 (2^32-1)




2.2       Jarak

Jarak merupakan panjang lintasan yang ditempuh oleh suatu benda dalam selang waktu tertentu.  Jarak juga bisa menyatakan  posisi suatu benda terhadap titik acuan tertentu. Jarak termasuk besaran skalar, dimana tidak bergantung pada arah dan nilainya selalu positif.



2.3       Perpindahan

Berbeda dengan jarak, perpindahan  adalah besaran vektor sehingga arah juga berpengaruh.



2.4       Kelajuan (V)

Dalam ilmu fisika, istilah laju/kelajuan menyatakan seberapa jauh sebuah benda  berpindah  selama  selang  waktu  tertentu.  Kaluan  merupakan  salah  satu



besaran  turunan  yang tidak  bergantung  pada  arah,  sehingga  kelajuan  termasuk skalar.



2.4.1    Kecepatan Rata-Rata
Kecepatan  rata-rata  suatu  benda  yang  bergerak  didefinisikan  sebagai perpindahan yang ditempuh benda dibagi waktu tempuh.





ܭ݁ܿ݁݌ܽݐܽ݊ ݎܽݐܽ          ݎܽݐܽ    =

ܲ݁ݎ݌݊݅ ݀ܽ    ܽ݊
ܹ ܽ݇ݐݑ ݐ݁݉ ݌ݑ   





ݔ  ݔ


ܸି௔     =
ݐ
 

ݐ





ݔ
ܸି ௔     = ݐ




2.4.2    Kecepatan Sesaat

Kecepatan  sesaat  adalah  kecepatan  rata-rata  selama  selang  waktu  yang sangat  kecil.  Secara  matematis,  kecepatan  sesaat  adalah  perbandingan perpindahan dengan selang waktu, jika selang waktu mendekati nol. Secara matematis, kecepatan sesaat adalah limit perbandingan perpindahan dengan selang
waktu jika selang waktu mendekati nol.

ݔ
lim
→଴ ݐ

Limit  ini  dinamakan  turunan  x  terhadap  t,  dimana  dalam  kondisi  kalkulus

(diferensial/integral) ditulis dx/dt :


ܸ =  lim

݀ݔ      ݀ݔ


→଴ ݀ݐ       ݀ݐ

݀ݔ
ݒ =
݀ݐ

2.4.3    Percepatan Rata-Rata
Percepatan  rata-rata didefinisikan  sebagai  perbandingan  perubahan kecepatan dengan selang waktu yang diperlukan untuk berubah tersebut. Secara metematis ditulis :



ܲ݁ݎܿ݁݌ܽݐܽ݊ ݎܽݐܽ           ݎܽݐܽ    =

ܲ݁ݎݑܾܽ   ܽ݊ ܭ݁ܿ݁݌ܽݐܽ݊
ܹ ܽ݇ݐݑ ܶ݁݉ ݌ݑ  





ܽ ݎܽݐܽ     ݎܽݐܽ    =
ݒ
ā =  
ݐ

ݒ2 ݒ1
ݐ2 ݐ1



Percepatan merupakan besaran vektor, tetapi untuk gerakan satu dimensi hanya perlu menggunakan tanda (+) dan (-) untuk menunjukkan arah sistem koordinat yang dipakai.



2.4.4    Percepatan Sesaat
Percepatan sesaat adalah limit perbandingan perubahan kecepatan dengan selang waktu perubahan, dengan selang waktu mendekati nol. Jika digambarkan grafik kecepatan dengan waktu, kecepatan sesaat pada t didefinisikan sebagai kemiringan garis yang menyinggung kurva pada saat itu.

ݒ
ܽ =    lim
→଴  ݐ
Percepatan  merupakan  turunan  kecepatan  terhadap  waktu,  dan  biasa  ditulis

dengan notasi dx/dt.


ܽ  lim

ݒ      ݀ݒ
=


→଴ ݐ       ݀ݐ

Karena  kecepatan  merupakan  turunan  dari  posisi  terhadap  t,  maka  percepatan

merupakan turunan kedua x terhadap t, secara matematis ditulis :



݀ݒ      ݀(݀ݔ )
ܽ =        =      ݀ݐ
݀ݐ          ݀ݐ

݀  ݔ
=
݀ݐ 






2.5       Gerak Lurus Beraturan (GLB)

Suatu  benda  dikatakan  melakukan  gerak  lurus beraturan  jika  kecepatan selalu konstan. Kecepatan konstan artinya besar kecepatan/kelajuan dan arah kecepatan  selalu  konstan.  Karena  besar  kecepatan/kelajuan  dan arah kecepatan selalu konstan maka bisa dikatakan bahwa benda bergerak dengan lintasan lurus dengan kelajuan konstan.

Gambar 2.8 Grafik Kecepatan Terhadap Waktu




Berdasarkan  grafik  diatas,  tampak  bahwa  besar  kecepatan  bernilai  tetap  pada setiap satuan waktu. Besar kecepatan tetap ditandai  oleh garis lurus, berawal dari t = 0 hingga t akhir.


ܭ݁ܿ݁݌ܽݐܽ݊ ݎܽݐܽ          ݎܽݐܽ    =

ܲ݁ݎ݌݊݅ ݀ܽ    ܽ݊
ܹ ܽ݇ݐݑ ܶ݁݉ ݌ݑ  



ݔ2 ݔ1
ݒି ௔     =   ݐ2 ݐ1
 ݔ
 ݐ




2.6       Java

2.6.1    Sejarah Java

Sejarah Java berawal pada tahun 1991 ketika perusahaan Sun Microsystem memulai  Green  Project,  yakni  proyek  penelitian  untuk  membuat  bahasa  yang akan digunakan pada chip-chip embedded untuk device intellegent consumer electronic.  Bahasa  tersebut  haruslah  bersifat  multiplatform,   tidak  tergantung kepada vendor yang memanufaktur chip tersebut.
Dalam  penelitian,  Projek  Green  berhasil  membuat  prototype  semacam PDA (Personal  Data Assistance)  yang dapat berkomunikasi  antara satu dengan yang lain dan diberi nama Star 7. Ide berawal untuk membuat sistem operasi bagi Star 7 berbasis C dan C++. Setelah berjalan beberapa lama, James Gosling, salah satu seorang anggota team, merasa kurang puas dengan beberapa karakteristik dari kedua bahasa tersebut kemudian dinamakan Oak. Diinspirasi ketika dia melihat pohon di seberang kaca ruang kantornya. Belakangan Oak beralih nama menjadi java.
Karena pada awalnya ditunjuk untuk pemrograman device kecil, java memiliki karakteristik berukuran kecil, efisien, dan portable untuk berbagai hardware.  Projek  Green  sempat  terancam  terhenti  karena  dalam perkembangannya,  device  ini  belum  memiliki  pasar  seperti  yang  diramalkan



semula.   Selanjutnya   java   diarahkan   untuk   pemrograman   internet.   Secara kebetulan  fitur-fitur  java yang telah disebutkan  sebelumnya  sangat  sesuai bagi pengembangan internet sehingga dalam beberapa tahun belakangan ini java telah menjadi primadona untuk pemrograman yang berbasis internet.



2.6.2    Definisi Java

Java menurut definisi dari Sun adalah nama untuk sekumpulan teknologi untuk  membuat  dan  menjalankan  perangkat  lunak  pada  komputer  standalone ataupun pada lingkungan jaringan. Java2 adalah generasi kedua dari java platform (generasi awalnya adalah Java Devlopment Kit). Java berdiri di atas sebuah mesin interpreter yang diberi nama Java Virtual Machine (JVM). JVM inilah yang akan membaca  bytecode  dalam  file  .class  dari  suatu  program  sebagai  representasi program yang berisi bahasa mesin. Oleh karena itu, bahasa java di sebut sebagai bahasa pemrograman yang portable karena dapat di jalankan pada semua system operasi, asalkan pada system operasi tersebut terdapat JVM. Platform java terdiri dari kumpulan library, JVM, kelas-kelas loader yang dipaket dalam sebuah lingkungan rutin java, dan sebuah compiler, debugger dan kakas lain yang dipaket dalam Java Development Kit (JDK). Java2 adalah generasi yang sekarang sedang berkembang dari platform java. Agar sebuah program java di jalankan, maka file dengan ektensi .java harus di kompilasi menjadi file bytecode. Untuk menjalankan bytecode  tersebut  dibutuhkan  JRE  (Java  Runtime  Envirotment)  yang memungkinkan  pemakai  untuk menjalankan  program java, hanya menjalankan, tidak untuk membuat kode baru lagi. JRE berisi JVM dan library java yang digunakan, untuk lebih jelasnya dapat dilihat pada gambar 2.3 dibawah ini.




Gambar 2.9 J2SE 5.0




Platform  java memiliki tiga buah edisi yang berbeda,  yaitu J2EE (Java Enterprise   Edition),  J2ME  (Java2  Mikro  Edition)  dan  J2SE  (Java2  Scond Edition). J2EE adalah kelompok dari beberapa API dari Java dan teknologi selain Java. J2EE dibuat untuk membuat aplikasi yang kompleks. J2EE sering dianggap sebagai  middleware  atau teknologi  yang berjalan  di server,  namun  sebenarnya J2EE tidak  hanya  terbatas  untuk  itu. Faktanya  J2EE juga  mencakup  teknologi yang   dapat   digunakan   di   semua   lapisan   dari   sebuah   sistem   informasi. Implementasi J2EE menyediakan kelas dasar dan API dari Java yang mendukung pengembangan  dan rutin standar untuk aplikasi klien maupun  server, termasuk aplikasi yang berjalan di web browser. J2SE adalah lingkungan dasar dari Java. Ruang lingkup keterhubungan J2EE, J2SE dan J2ME dapat di ihat pada gambar
2.4 dibawah ini.












2.6.3    Java2 Enterprise Edition (J2EE)

J2ee (Java 2 Enterprise Edition) adalah sebuah solusi java untuk sebuah software  yang  ditunjukan  untuk  sebuah  perusahaan  dengan  skala  cukup  besar. Hal-hal  yang dibutuhkan  dalam  skala interprise  sangat  berbeda  dengan hal-hal yang dibutuhkan oleh software biasa. J2ee mengandung lebih banyak API (Application  Programming Interface) serta dipergunakan   dalam arsitektur yang lebih besar daripada J2SE. Dari segi arsitektur n-tier, dimana software tersebut dibagi menjadi beberapa tingkatan/tier yang terpisah tergantung kegunaanya.






Dari gambar diatas terlihat bahwa J2EE mencakup 3 bagian utama yaitu :

client, java ee server, dan database.

·       User Interface

Bagian ini adalah bagian yang berinteraksi langsung dengan user. Java menyediakan 2 solusi untuk bagian ini, yang pertama dengan menggunakan aplikasi java yang ditaruh di client dan bisa terhubung ke server atau menggunakan halaman web HMTL dinamik.
·       Java EE Server

Pada bagian ini dibagi lagi menjadi 2 bagian, yaitu web tier dan business tier. Pada web tier terdapat aplikasi java JSP (Java Server Pages). Web tier ini lebih ke arah web dinamik (dapat menggantikan  web HMTL dinamik dikomputer client). Terdapat juga business tier, yaitu sebuah abstraksi dari kegiatan-kegiatan yang ada dalam proses bisnis diperusahaan. Di bagian ini terdapat program java seperti beans, dan servlet, dan masing-masing  dari program  tersebut  adalah  sebuah  fungsi  dari  proses  bisnis.  Ha  ini  sesuai dengan fungsi j2ee seagai sebuah IT sistem yang mensupport bisnis perusahaan.
·       Database Server

Dibagian ini adalah tempat data-data perusahaan disimpan. Bisa berupa database seperti oracle atau merupakan EIS (Enterprise Information System) internal perusahaan. Java disini lebih ke arah menyediakan konektivitas dari aplikasi java kepada database atau sistem internal perusahaan.



2.6.4    Java2 Standard Edition

J2SE adalah inti dari bahasa pemrograman Java. JDK (Java Devlopment Kit)  adalah  salah  satu  tool  dari  J2SE  untuk  mengkompilasi  dan  menjalankan program Java. Di dalamnya terdapat tool untuk mengkompilasi program Java dan JRE. Tool J2SE yang salah satunya adalah jdk1.5 merupakan  tool open source dari Sun.
Java   2  Standard   Edition   (J2SE),   digunakan   untuk   mengembangkan aplikasi-aplikasi desktop dan Applet (aplikasi java yang dapat dijalankan di dalan browser  Web).  Pada  pemrograman  Java  terdapat  kelebihan  lain  yang  tidak dimiliki  bahasa pemrograman  lainnya  yaitu Applet. Java Applet  adalah sebuah program kecil yang dibuat dengan menggunakan bahasa perograman Java, yang diakses melalui halaman Web dan dapat di-download ke dalam mesin Client yang kemudian menjalankannya didalam jendela web-browser. Java applet dapat secara dinamis  menambahkan   beberapa  fungsi  kepada  halaman-halaman   web  yang bersifat  statis.  Akan  tetapi,  untuk  menjalankannya,   sebuah  komputer  harus memiliki program penjelajah web yang dapat menjalankan Java, seperti Microsoft Internet Explore, Netscape Navigator, Mozilla Firefox, dan Opera.
Ketika   sebuah   Java   Applet   dibuat,   semua   pernyataan   Java   yang terkandung di dalam kode sumbernya akan di kompilasi menjadi bytecode, yakni sebuah bahasa mesin semu (virtual engine/machine laguage) yang dibentuk oleh Java. Berkas yang berisi Java bytecode ini akan disimpan sebagai sebuah berkas kelas Java (Java class file) didalam  sebuah Web server, seperti halnya Apache HTTP Server atau Microsoft Internet Information Service (IIS). Sebuah halaman Web   yang   hendak   menggunakan   Applet   tersebut   harus   menggunakan   tag



<APPLET>...</APPLET> di dalam  kode  sumbernya.  Ketika  sebuah  penjelajah Web milik klien melakukan request kepada halaman Web tersebut menemukan bahwa  di dalamnya  terdapat  tag  <APPLET>...</APPLET>,  bytecode  di dalam java class file akan dieksekusi oleh mesin semu di dalam jendela penjelajah Web, yang dapat berupa Microsoft Java Virtual Machine atau Java Runtime Engine.



2.6.5    Java2 Micro Edition (J2ME)

Java2  Micro Edition atau yang sering disebut  J2ME adalah lingkungan pengembangan  yang telah didisain untuk meletakkan perangkat lunak Java pada barang elektronik  beserta perangkat  pendukungnya.  Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat maka belum tentu juga berfungsi baik pada   perangkat   yang   lainnya.   J2ME   membawa   Java   ke   dunia   informasi, komunikasi, dan perangkat komputasi selain perangkat komputer  desktop. J2ME biasa digunakan pada telepone seluler, pager, personal digital assistants (PDA’s) dan sejenisnya.
J2ME adalah bagian dari J2SE, karena itu tidak semua library yang ada pada  J2SE  dapat  digunakan  pada  J2ME.  Tetapi  J2ME  mempunyai  beberapa library  khusus  yang  tidak  dimiliki  J2SE.  Arsitektur  J2ME  dapat  dilihat  pada gambar 2.5 dibawah ini.








Teknologi J2ME juga memiliki keterbatasan,  terutama jika diaplikasikan pada ponsel. J2ME sangat tergantung pada perangkat (device) yang digunakan, bisa  dari  segi  merk  ponsel,  maupun  kemampuan  ponsel,  dan  dukungannya terhadap  teknologi  J2ME.  Misalnya,  jika sebuah ponsel tidak memiliki kamera maka   jelas   J2ME   pada   ponsel   tersebut   tidak   dapat   mengakses   kamera. Keterbatasan  lainnya  adalah  pada ukuran  aplikasi,  karena  memori  pada ponsel sangat terbatas. Sebagian besar ponsel tidak mengijinkan aplikasi J2ME menulis pada file karena alasan keamanan.
Configuration  merupakan Java library minimum dan kapabilitas yang di punya  oleh  para  pengembang  J2ME,  yang  maksudnya  sebuah  mobile  device dengan kemampuan Java akan dioptimalkan untuk menjadi sesuai. Configuration hanyalah mengatur hal-hal tentang kesamaan sehingga dapat dijadikan ukuran kesesuaian  antar-device.  Misalnya  sebuah  lampu  sepeda  dirancang  sedemikan rupa  sehingga   didefinisikan   dua  buah  konfigurasi   yaitu  CLDC  (Connected Limited  Device  Configuration)   untuk  perangkat  kecil  dan  CDC  (Connected



Device   Configuration)  untuk perangkat  yang lebih besar. Lingkup CLDC  dan

CDC dapat dilihat pada gambar 2.6 dibawah ini.






J2SE             CDC            CLDC






Gambar 2.13 Lingkup Configuration
Profile berbeda dengan configuration, profile membahas sesuatu yang spesifik  untuk  sebuah perangkat.  Dalam J2ME terdapat  dua buah profile  yaitu MIDP   dan   Foundation   Profile.   Keterhubungan   pada   J2ME   beserta   mesin virtualnya dapat di lihat pada gambar 2.7 dibawah ini.


KVM                       CVM                      JVM




MIDP


CLDC

Foundation
Profile

CDC                      J2SE





kompleks

Gambar 2.14 Hubungan J2ME dan J2SE



Mengedit Source
Code




File Source Code : Source.java





Mengkompile Program : C:\path_source\javac source.java

Bila masih ada error kompilasi


Hasil Kompilasi : File source.class





Mengeksekusi Program : C:\path_source\java sorce.class


Bila ada runtime atau logic error


Hasil Benar




Gambar 2.15 Diagram Alur Java



2.6.6  Struktur Pemrograman Java


package speedometer;
import gnu.io.*;
/**
*Komentar dalam java
*/
Modifier class namaKelas{
//deklarasi variable
Modifier methodConstructor(){
//statement
}
Public static void main(){
/*
*statement1
*statement2
*/
}
}


·    Package


Package  atau  paket  adalah  cara  pengelompokan  dan  pengorganisasian class-class   dalam   satu   library.   Package   bekerja   dengan   membuat directonari  dan folder varu sesuai dengan penamaan  package, kemudian menyimpan file class pada folder tersebut. Deklarasi package ditulis pada baris  paling  atas  sebelum  perintah  import,  sebagaimana  terlihat  pada struktur program java diatas. Deklarasi package adalah sbb:

Package speedometer; // nama paketnya speedometer



Package  adalah  perintah  java  yang  digunakan  untuk  memberitahukan bahwa suatu class adalah anggota dari package, sedangkan namaPackage dapat  berupa  susunan  direktori  tempat  dimana  file  class  disimpan  atau



nama folder. Penulisan nama package dalam java biasanya diawali dengan huruf kecil.

·    Import

Perintah import digunakan untuk memberitahukan kepada program untuk mengacu pada class-class yang terdapat pada package tersebut dan buka menjalankan class-class. Deklarasi :

Import namaKelas.namaKelas
Import gnu.io.*; // import kelas io

Tanda arsitek (*) digunakan  untuk mengimport semua class. Sedangkan untuk  mengimpor  class  nama  class  dituliskan  setelah  nama  package.



·    Komentar Dalam java

Komentar adalah catatan yang ditulis bersama kode program yang berguna sebagai  catatan/keterangan   dari  satu  kode,  sehingga  dapat  digunakan sebagai referensi dalam pembuatan dokumentasi. Komentar merupakan bagian  dari  program  yang  tidak  mempengaruhi  jalanya  program  saat program dikompilasi atau dieksekusi.
Dalam penuliasan komentar, java mengizinkan penulisan komentar versi java sendiri yang dapat digunakan sebagai pembuatan dokumentasi html. Selain itu java juga mengadopsi penuliasn  versi C dan C++ akan tetapi dapat dibuat dokumentasi html.
Penulisan komentar versi java diawali dengan /**. Didalam tanda tersebut anda dapat menuiskan lebih dari satu baris komentar. Contoh :



/**

*ini adalah contoh komentar dalam versi java

*menguasai pemrograman java

*/



·    Identifier JAVA

Identifier adalah suatu tanda yang berupa huruf, latar, atau gabungan yang digunakan sebagai nama variable, methode, class, dan sebagainya.
·    Dekalarasi class

Dalam deklarasi class, pertimbangan dimana dan bagaimana class tersebut digunakan  (menentukan  modifier).  Kemudian  berilah  nama  (identifier) yang sesuai dengan informasi yang dikandung dan dituliskan deklarasi property secara lengkap beserta method secara urut. Pilihlah modifier yang sesuai untuk menentukan hubungan dengan class lain.



(modifier_1) namaClass(modufier_2)

{

<deklarasi variabel>

<deklarasi konstruktor>

<deklarasi methode>

}



·    Modifier

Modifier  adalah keyword java yang berfungsi mengatur  hubungan  antar class,  methode,  dan  variable.  Hubungan  yang  dimaksud  yakni  apakah suatu variable, method dan class dalam satu class dapat diakses oleh class dan methode lainnya.
·    Blok Statement Java

Blok   statement   adalah   himpunan   pernyataan   yang   terdapat   diantara kuraung kurawal buka dan kurawal tutup({....}).  Blok sendiri terdapat 3 macam, yaitu :
1.   Blok class

Blok class dimulai dari tanda “{“ setelah indentifier dan di akhiri dengan  tanda  “}”.  Disini  terlihat  blok  class  sebagi  hierarkhi tertinggi yang didalamnya terdapat data, blok methode.
2.   Blok methode

Blok methode  terdapat  dalam blok class dan tidak dapat berdiri sendiri. Blok methode terdiri atas data dan struktur control.
3.   Blok kontrol

Blok kontrol merupakan representasi struktur control.

·    Deklarasi methode

Methode adalah bagian pemrograman yang menjelaskan tingkah laku dari objek yang akan diinstan. Methode tidak dapat berdiri sendiri sebagaimana class dimana   letak   penulisan   berada   dalam  badan   class.   Deklarasi methode:



(modifier) tipeKembalian namaMethode (parameter input) Throw Exception {
// Statement

}







2.6.7    Keunggulan Java

Java  memiliki  beberapa  keunggulan  bila  dibandingkan  dengan  bahasa pemrograman lainnya. Antara lain :
1.    Java bersifat sederhana dan relatif mudah

Java dimodelkan  sebagian  dari bahasa C++, namun dengan memperbaiki beberapa karakteristik C++, seperti mengurangi kompleksitas beberapa fitur, penambahan fungsionalitas, serta penghilangan  beberapa  aspek  pemicu  ketidakstabilan  sistem  pada C++.
Sebagai contoh, Java menggantikan konsep pewarisan lebih dari satu (multiple   inheritance)   dengan   interface,   menghilangkan   konsep pointer   yang  sering   membingungkan,   otomatisasi   sistem   alokasi memory,  dan  sebagainya.  Ini  membuat  Java  relatif  sederhana  dan mudah untuk dipelajari dibandingkan bahasa pemrograman lainnya.
2.    Java berorientasi pada objek (Object Oriented)

Java  adalah  bahasa  pemrograman  yang  berorientasi  objek  (OOP), bukan seperti Pascal, Basic atau C yang berbasis prosedural. Dalam memecahkan  masalah, Java membagi program menjadi objek-objek,



kemudian memodelkan sifat dan tingkah laku masing-masing. Selanjutnya,  Java  menentukan  dan  mengatur  interaksi  antara  objek yang satu dengan lainnya.
3.    Java bersifat terdistribusi

Pada dekade awal perkembangan PC (Personal Computer), komputer hanya  bersifat  workstation  tunggal,  tdiak terhubung  satu sama lain. Saat ini, sistem komputerisasi cenderung terdistribusi, mulai dari workstation client, e-mail server, database server, web server, proxy server, dan sebagainya.
4.    Java bersifat Multiplatform

Java bersifat multiplatform,  yakni dapat di-“terjemahkan”  oleh Java

Interpreter sebagi sistem operasi.

5.    Java bersifat MultiThread

Thread adalah proses yang dapat dikerjakan oleh program dalam satu waktu.   Java   bersifat   Multithreaded artinya   dapat   mengerjakan beberapa proses dalam waktu yang hampir bersamaan.



2.7       Sensor Cahaya


2.7.1    LDR (Light Dependent Resistor)


LDR   adala suatu   bentuk   komponen   yang   mempunyai   perubahan resistansi yang besarnya tergantung pada cahaya. Resistor peka cahaya (Light Dependent Resistor) memanfaatkan bahan semikonduktor yang karakteristik listriknya   berubah-ubah   sesuai   dengan   cahaya   yang   diterima.   Bahan   yang digunakan  adalah  Kadmium  Sulfida  (CdS)  dan  Kadmuim  Selenida  (CdSe). Bahan-bahan ini sangat sensitif terhadap cahaya dalam spektrum tampak, dengan puncaknya sekitar 0,6 µm untuk CdS dan 0,75 µm untuk CdSe. Sebuah LDR CdS yang  tipikal  memiliki  resistansi  sekitar  1MΩ  dalam  kondisi  gelap  gulita  dan kurang dari 1KΩ ketika ditempkan di bawah sumber cahaya terang.



Gambar 2.16 Lambang LDR


Karakteristik  LDR  terdiri  dari  dua  macam  yaitu  Laju  Recovery  dan  Respon

Spektral :


·    Laju Recovery

Bila  sebuah  LDR  dibawa  dari  sebuah  ruangan  dengan  level  kekuatan cahaya tertentu ke dalam suatu ruangan yang gelap maka nilai resistansi dari LDR tidak akan segera berubah resistansinya pada geadaan ruangan gelap tersebut. Namun LDR tersebut hanya akan bisa mencapai harga di kegelapan   setelah   mengalami   selang   waktu   tertentu.   Laju   Recovery



merupakan suatu ukuran praktis dan suatu kenaikan nilai resistansi dalam waktu  tertentu.  Harga  ini  ditulis  dalam  K/detik,  untuk  LDR  tipe  arus harganya lebih besar dari 200 K/detik (selama 20 menit pertama mulaidari level cahaya 100 lux), kecepatan tersebut akan lebih tinggi dari arah sebaliknya,   yaitu   pindah   dari  tempat   gelap   ke  tempat   terang   yang memerlukan  waktu  kurang  dari  10  ms  untuk  mencapai  resistansi  yang sesuai dengan level cahaya 400 lux.



·    Respon Spektral

LDR   tidak   memiliki   sensitivitas   yang   sama   untuk   setiap   panjang gelombang  cahaya yang jatuh padanya (yaitu warna). Bahan yang biasa digunakan sebagai penghantar arus listrik yaitu tembaga, alumunium, baja, emas, perak. Dari kelima bahan tersebut tembaga merupakan yang paling banyak digunakan karena mempunyai daya hantar yang baik.



2.7.2    Photodioda

Photodioda  adalah jenis dioda yang berfungsi untuk mendeteksi  cahaya. Berbeda  dengan  dioda  biasa,  komponen  elektronik  ini akan  mengubah  cahaya menjadi arus listrik. Cahaya yang dapat di deteksi oleh dioda ini, mulai dari infra red, sinar ultra violet, sampai dengan sinar X.

Photodioda dibuat dari semikonduktor dengan bahan yang populer adalah silicon (Si) arau galium arsenida (GaAs), dan yang lain meliputi InSb, InAs, PbSe. Material ini menyerap cahay dengan karakteristik panjang gelombang mencakup :
2500 Å 11000 Å untuk silicon, 8000 Å - 20000 Å untuk GaAs. Ketika sebuah



photon (satu satuan energi dalam cahaya) dari sumber cahaya diserap, hal tersebut membangkitkan  suatu  elektron  dan  menghasilkan  sepasang  pembawa  muatan tunggal sebuah elektron dan sebuah hole, dimana suatu hole adalah bagian dari ksisi-kisi  semikonduktor  yang  kehilangan  elektron.  Arah  arus  yang  melalui sebuah  semikonduktor  adalah  kebalikan  dari  gerakan  muatan  pembawa.  Cara tersebut didalam sebuah photodiode digunakan untuk mengumpulkan photon - menyebabkan pembawa muatan (seperti arus atau tegangan) mengalir/terbentuk di bagian-bagian elektroda.







2.7.3    PhotoTrasnsistor

Phototransistor adalah sebuah transistor yang apabila dikenai cahaya akan mengalirkan   elektron      sehingga   akan   terjadi   penguatan   arus   seperti   pada transistor.








2.7.4    Optocoupler

Optocoupler  merupakan  salah satu jenis komponen  yang memanfaatkan sinar sebagai pemicu on/off-nya. Opto berarti optic dan coupler berarti pemicu. Sehingga  bisa  diartikan  bahwa  optocoupler  merupakan  suatu  komponen  yang bekerja  berdasarkan  picu  cahaya  optik  opto-coupler  termasuk  dalam  sensor, dimana terdiri dari dua bagian yaitu transmiter dan receiver.

Gambar 2.19 Optocoupler

Bagian  pemancar  atau transmiter  dibangun  dari sebuah led infra merah untuk mendapatkan ketahanan yang lebih baik daripada menggunakan led biasa. Sensor ini bisa juga digunakan sebagai isolator dari rangkaian tegangan rendah ke rangkaian  tegangan  tinggi.  Selain  itu  juga  bisa  digunakan  sebagai  pendeteksi adanya  penghalang  adanya  transmiter  dan receiver  dengan  memberi  ruang uji dibagian tengah antara led dan photo transistor. Penggunaan ini bisa diterapkan untuk mendeteksi putaran motor atau mendeteksi lubang penanda disket pada disk drive komputer.





2.8 Bluetooth


2.8.1    Pengertian Bluetooth


Bluetooth  adalah  spesifikasi  industri  untuk  kawasan  pribadi  (Personal Area  Network  atau  PAN)  tanpa  kabel.  Bluetooth  menghubungkan  dan  dapat dipakai untuk tukar menukar  informasi  diantara peralatan-peralatan.  Spesifikasi dari   peralatan   bluetooth   dikembangkan   dan   didistribusikan   oleh   kelompok Bluetooth Special Interest Group. Bluetooth beroperasi dalam pita frekuensi 2,4
Ghz dengan menggunakan sebuah frequency hopping traceiver yang mampu menyediakan layanan komunikasi data dan suara secara real time antara host-host bluetooth  dengan  jarak  terbatas.  Kelemahan  teknologi  ini  adalah  jangkauanya yang pendek dan kemampuan transfer data yang rendah.



2.8.2    Sejarah Bluetooth

Awal mula dari bluetooth adalah sebagai teknologi komunikasi  wireless (tanpa kabel) yang beroperasi dalam pita frekuensi 2,4 Ghz unlicensed ISM (Industrial   Scientific   and  Medical dengan  menggunakan   sebuah   frequency hopping traceiver yang mampu menyediakan layanan komunikasi data dan suara secara real time antara host-host  bluetooth  dengan jarak jangkau  layanan  yang terbatas (sekitar 10 meter). Bluetooth berupa card yang menggunakan frekusensi radio standar IEEE 802.11 dengan jarak layanan terbatas dan kemampuan  data transfer lebih rendah dari card untuk Wireless Local Area Network (WLAN).
Pembentukan  bluetooth  dipromotori  oleh  5  perusahaan  besar  Ericsson, IBM, Intel, Nokia dan Toshiba membentuk sebuah special Interest Group (SIG)



yang  meluncurka proyek   ini.   Pada   bulan   Juli  1999   dokumen   spesifikasi bleutooth versi 1.0 mulai diluncurkan.  Pada bulan Desember 1999 dimulai lagi pembuatan dokumen spesifikasi bluetooth versi 2.0 dengan tambahan 4 promotor baru yaitu 3Com, Lucent Technologies,  Microsoft dan Motorolla. Saat ini lebih dari  1800  perusahaan  diberbagai  bidang  bergabung  dalam  sebuah  konsorsium sebagi  adopter  teknologi  bluetooth.  Walaupun  standar  bluetooth  SIG  saat  ini dimiliki  oleh  group  promotor  tetapi  ia diharapkan  akan  menjadi  standar  IEEE (802.15)



2.8.3    Asal Nama Bluetooth dan Lambangnya

Nama    bluetooth  berasal  dari  nama  raja  di akhir  abad  sepuluh,  Harald Blatand yang di Inggris juga dijuluki Harald Bluetooth kemungkinan karena memang giginya berwarna gelap. Ia adalah raja Denmark yang telah berhasil menyatukan suku-suku yang sebelumnya berperang, termasuk suku dari wilayah yang sekarang bernama Norwegia dan Swedia. Bahkan wilayah Scania di Swedia, tempat  teknologi  bluetooth  ini ditemukan  juga termasuk  daerah  kekuasaannya. Kemampuan  raja itu sebagai  pemersatu  juga mirip dengan  teknologi  bluetooth sekarang yang bisa menghubungkan berbagai peralatan seperti komputer peronal dan  telepon  genggam.  Sedangkan  logo  bluetooth  berasal  dari penyatuan  huruf Jerman  yang analoh  dengan huruf H dan B (singkatan  dari Harald Bluetooth), yaitu    (Hagall) dan   (Blatand) yang kemudian digabungkan.




Gambar 2.20 Logo Bluetooth




Tabel 2.2 Karakteristik Radio Bluetooth


Parameter
Spesifikasi
Frekuesnsi
ISM band, 2400-2483.5 MHz (mayoritas), untuk beberapa
negara mempunyai batasan frekuensi sendiri, spasi kanal 1
MHz
Maksimum
Output Power
Power class 1 : 100 mW (20 dBm) Power class 2 : 2.5 mW
(4dBm) Power class 3 : 1 mW (0dBm)
Modulasi
GFSK(Gaussian Frequency Shift Keying), Bandwidth Time
: 0.5; Modulation Index : 0.28 sampai dengan 0.35
Out of band
Spurious
Semission
30 MHz - 1 GHz : -36 dBm (operation mode), -57 dBm
(idle mode)1 GHz 12.75 GHz: -30 dBm (operation mode),
-47 dBm (idle mode)1.8 GHz 1.9 GHz: -47 dBm
(operation mode), -47 dBm (idle mode)5.15 GHz –5.3 GHz:
-47 dBm (operation mode), -47 dBm (idle mode)
Receiver

Actual
Sensitivity
Level
-70 dBm pada BER 0,1%.
Spurious
Emission
30 MHz - 1 GHz : -57 dBm1 GHz 12.75 GHz : -47 dBm
Max. usable
level
-20 dBm, BER : 0,1%





2.8.4    Cara Kerja Bluetooth

Sistem  bluetooth  terdiri  dari  sebuah radio  transceiver,  baseband  link Management  dan  Control,  Baseband  (processor  core,  SRAM,  UART,  PCM USB Interface), flash dan voice codec. Baseband link controller menghubungkan perangkat  keras  radio  ke  baseband  processing  dan  layer  protokol  fisik.  Link



manager melakukan aktivitas-aktivitas  protokol tingkat tinggi seperti melakukan link setup, autentikasi dan konfigurasi. Secara umum blok fungsional pada sistem bluetooth secara umum dapat dilihat pada Gambar 2.19 dibawah ini.

Gambar 2.21 Blok Fungsi Sistem Bluetooth



Protokol    bluetooth    menggunakan    sebuah    kombinasi    antara circuit switching dan packet   switching Sebuah   perangkat   yang   memiliki   teknologi wireless akan mempunyai kemampuan untuk melakukan pertukaran informasi dengan jarak jangkauan sampai dengan 10 meter (~30 feet), bahkan untuk daya kelas 1 bisa sampai pada jarak 100 meter.

Bluetooth merupakan chip radio yang dimasukkan ke dalam komputer, printer, handphone dan peralatan lainnya. Chip bluetooth ini dirancang untuk menggantikan   kabel.   Informasi   yang   biasanya   dibawa   oleh   kabel   dengan Bluetooth ditransmisikan pada frekuensi tertentu kemudian diterima oleh chip Bluetooth kemudian  informasi tersebut diterima oleh komputer,  handphone  dan peralatan lainnya.





Gambar 2.22 Proses Distribusi Aliran Data Dari Host sampai Antena pada
Teknologi Bluetooth





Tiga buah lapisan fisik yang sangat penting dalam protokol arsitektur Bluetooth ini adalah :

1.   Bluetooth   radio adalah   lapisan   terendah   dari  spesifikasi   Bluetooth.

Lapisan   ini   mendefinisikan   persyaratan   yang   harus   dipenuhi   oleh perangkat tranceiver yang beroperasi pada frekuensi 2,4 GHz ISM.
2.   Baseband, lapisan yang memungkinkan hubungan Radio Frequency (RF) terjadi antara beberapa unit Bluetooth membentuk piconet. Sistem RF dari bluetooth ini menggunakan frekuensi-hopping-spread spectrum yang mengirimkan data dalam bentuk paket pada time slot dan frekuensi yang telah ditentukan, lapisan ini melakukan prosedur pemeriksaan dan paging untuk sinkronisasi  transmisi  frekuensi  hopping dan clock dari perangkat bluetooth yang berbeda.
3.   LMP (Link Manager Protocol), bertanggung jawab terhadap link set-up antar perangkat Bluetooth. Hal ini termasuk aspek security seperti autentifikasi       dan    enkripsi    dengan    pembangkitan,    penukaran    dan pemeriksaan ukuran paket dari lapis baseband.



2.8.5    Kelebihan dan Kekurangan

·    Kelebihan

1.    Bluetooth  dapat  menembus  dinding,  kotak,  dan  berbagai  rintangan lain walaupun jarak transmisinya hanya sekitar 30 kaki atau 10 meter
2.    Bluetooth tidak memerlukan kabel ataupun kawat

3.    Bluetooth dapat mensinkronisasi  basis data dari telepon genggam ke komputer
4.    Dapat digunakan sebagai perantara modem

·    Kekurangan

1.    Sistem  ini  menggunakan  frekuensi  yang  sama  dengan  gelombang

LAN standar

2.    Apabila dalam suatu ruangan terlalu banyak koneksi bleutooth yang digunakan, akan menyulitkan pengguna untuk menemukan penerima yang diharapkan
3.    Banyak  mekanisme  keamanan  bleutooth  yang  harus  diperhatikan untuk mencegah kegagalan pengiriman atau penerimaan informasi

4.    Di  Indonesia,  sudah  banyak  beredar  virus-virus  yang  disebarkan melalui bluetooth dari handpone.

No comments:

Post a Comment