BAB II LANDASAN TEORI 2.1 Pengertian program Pada umumnya program adalah sederetan instruksi atau statement yang tentunya dalam bahasa yang dimengerti oleh komputer. Instruksi tersebut berfungsi untuk mengatur pekerjaan apa saja yang akan dilakukan oleh komputer agar mendapatkan dan menghasilkan suatu hasil atau keluaran yang diharapkan. Adapun jenis bahasa pemrograman berdasarkan perkembangannya : 1.
Bahasa Mesin ( Machine Language )
Bahasa pemrograman yang hanya dapat dimengerti oleh mesin (komputer) yang di dalamnya terdapat CPU yang hanya mengenal dua keadaan yang berlawanan yaitu : • 2.
Bila terjadi kontak atau ada arus bernilai 1 dan bernilai 0 Bahasa Tingkat Rendah ( Low Level Language )
Karena banyak keterbatasan yang dimiliki bahasa mesin maka dibuatlah symbol yang mudah diingat yang disebut dengan Mnemonic (pembantu untuk mengingat). Contoh : Bahasa Assembler yang dapat menerjemahkan Mnemonic. 3.
Bahasa Tingkat Menengah ( Middle Level Language )
Bahasa pemrograman yang menggunakan aturan-aturan gramatikal dalam penulisan pernyataannya, mudah untuk dipahami, dan memiliki instruksi-instruksi tertentu yang dapat langsung diakses oleh komputer. Contoh : Bahasa C 4.
Bahasa Tingkat Tinggi ( High Level Language )
Bahasa pemrograman yang dalam penulisan pernyataannya mudah dipahami secara langsung. •
Bahasa Berorientasi pada Prosedur (Procedure Oriented Language) Contoh : Algoritma, Fortran, Pascal, Basic, Cobol, PL/1
•
Bahasa Berorientasi pada Masalah (Problem Oriented Language) Contoh : RPG (Report Program Generator)
Universitas Sumatera Utara
5.
Bahasa Berorientasi Obyek ( Object Oriented Language )
Bahasa pemrograman ini mengandung fungsi-fungsi untuk menyelesaikan suatu permasalahan dan programmer tidak harus menulis secara detail semua pernyataannya, tetapi cukup memasukan kriteria-kriteria yang dikehendaki saja. Contoh : Visual dBase, Visual FoxPro, Delphi, Visual C, Visual Basic.
2.1.1 Bahasa Pemograman C Bahasa C dikembangkan pada Lab Bell pada tahun 1978, oleh Dennis Ritchi dan Brian W. Kernighan. Pada tahun 1983 dibuat standar C yaitu stnadar ANSI ( American National Standards Institute ), yang digunakan sebagai referensi dari berbagai versi C yang beredar dewasa ini termasuk Turbo C. Dalam beberapa literature, bahasa C digolongkan bahasa level menenganh karena bahasa C mengkombinasikan elemen bahasa tinggi dan elemen bahasa rendah. Kemudahan dalam level rendah merupakan tujuan diwujudkanya bahasa C. pada tahun 1985 lahirlah pengembangan ANSI C yang dikenal dengan C++ (diciptakan oleh Bjarne Struostrup dari AT % TLab). Bahasa C++ adalah pengembangan dari bahasa C. bahasa C++ mendukung konsep pemrograman berorientasu objek dan pemrograman berbasis windows. Sampai sekarang bahasa C++ terus brkembang dan hasil perkembangannya muncul bahasa baru pada tahun 1995 (merupakan keluarga C dan C++ yang dinamakan java). Istilah prosedur dan fungsi dianggap sama dan disebut dengan fungsi saja. Hal ini karena di C++ sebuah prosedur pada dasanya adalah sebuah fungsi yang tidak memiliki tipe data kembalian (void). Hingga kini bahasa ni masih popular dan penggunaannya tersebar di berbagai platform dari windows samapi linux dan dari PC hingga main frame. Ada pun kekurangan dan Kelebihan Bahasa C sebagai berikut : 1. Kelebihan Bahasa C: •
Bahasa C tersedia hampir di semua jenis computer.
•
Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis computer.
•
Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata kunci.
Universitas Sumatera Utara
•
Proses executable program bahasa C lebih cepat
•
Dukungan pustaka yang banyak.
•
C adalah bahasa yang terstruktur
•
Bahasa C termasuk bahasa tingkat menengah Penempatan ini hanya menegaskan bahwa c bukan bahasa pemrograman yang
berorientasi pada mesin. yang merupakan ciri bahasa tingkat rendah. Melainkan berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin dengan cepat. secepat bahasa mesin. inilah salah satu kelebihan c yaitu memiliki kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun dalam mengesekusi program secepat bahasa tingkat rendah. 2. Kekurangan Bahasa C: ·
Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai. Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
2.1.2 Struktur Bahasa C •
Program bahasa C tersusun atas sejumlah blok fungsi.
•
Setiap fungsi terdiri dari satu atau beberapa pernyataan untuk melakukan suatu proses tertentu.
•
Tidak ada perbedaan antara prosedur dan fungsi.
•
Sstiap program bahasa C mempunyai suatu fungsi dengan nama “main” (Program Utama).
•
Fungsi bisa diletakkan diatas atau dibawah fungsin “main”.
•
Setiap statemen diakhiri dengan semicolon (titik koma).
2.1.3 Pengenal Pengenal (identifier) merupakan sebuah nama yang didefenisikan oleh pemrograman untuk menunjukkan indetitas dari sebuah konstanta, variable, fungsi, label atau tipe data
Universitas Sumatera Utara
khusus. Pemberian nama sebuah pengenal dapat ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi aturan berikut : •
Karakter pertama tidak boleh menggunakan angka
•
Karakter kedua dapat berupa huruf, angka, atau garis bawah.
•
Tidak boleh menggunakan spasi.
•
Bersifat Case Sensitive, yaitu huru capital dan huruf kecil dianggap berbeda.
•
Tidak boleh mengunakan kata – kata yang merupakan sitaks maupun operator dalam pemrograman C, misalnya : Void, short, const, if, static, bit, long, case, do, switch dll.
2.1.4 Tipe Data Tipe data merupakan suatu hal yang penting untuk kita ketahui pada saat belajar bahasa pemrograman. Kita harus dapat menentukan tipe data yang tepat untuk menampung sebuah data, baik itu data berupa bilangan numerik ataupun karakter. Hal ini bertujuan agar program yang kita buat tidak membutuhkan pemesanan kapling memori yang berlebihan. Seorang programmer yang handal harus dapat memilih dan menentukan tipe data apa yang seharusnya digunakan dalam pembuatan sebuah program. Macam-Macam Tipe Data Pada Bahasa C : 1. Tipe Data Karakter Sebuah karakter, baik itu berupa huruf atau angka dapat disimpan pada sebuah variabel yang memiliki tipe data char dan unsigned char. Besarnya data yang dapat disimpan pada variabel yang bertipe data char adalah -127 - 127. Sedangkan untuk tipe data unsigned char adalah dari 0 - 255. Pada dasarnya setiap karakter memiliki nilai ASCII, nilai inilah yang sebetulnya disimpan pada variabel yang bertipe data karakter ini. 2. Tipe Data Bilangan Bulat Tipe data bilangan bulat atau dapat disebut juga bilangan desimal
merupakan
sebuah bilangan yang tidak berkoma. Pada bahasa C terdapat bermacam-macam tipe data yang dapat kita gunakan untuk menampung bilangan bulat. Kita dapat menyesuaikan penggunaan tipe data dengan terlebih dahulu memperhitungkan seberapa besar nilai yang
Universitas Sumatera Utara
akan kita simpan. Contohnya seperti berikut, kiata akan melakukan operasi penjumlahan nilai 300 dan 100 dan hasilnya akan disimpan pada variabel c. Jika dilihat, hasil dari penjumlahan tersebut nilainya akan lebih besar dari 255 dan nilainya pasti positif, oleh karena itu sebaiknya kita menggunakan tipe data unsigned int. Namun berbeda halnya jika saya ingin melakukan operasi pengurangan -5 - 300, jika dilihat hasilnya akan negatif maka selayaknya digunakan variabel dengan tipe data int. 3. Tipe Data Bilangan Berkoma Pada bahasa C terdapat dua buah tipe data yang berfungsi untuk menampung data yang berkoma. Tipe data tersebut adalah float dan double. Double lebih memiliki panjang data yang lebih banyak dibandingkan float. Tipe data double dapat digunakan jika kita membutuhkan variabel yang dapat menampung tipe data berkoma yang bernilai besar. Tabel 2.1 Tipe Data Tipe Data
Ukuran
Jangkauan Nilai
Bit
1 byte
0 atau 1
Char
1 byte
-128 s/d 127
Unsigned Char
1 byte
0 s/d 255
Signed Char
1 byte
-128 s/d 127
Int
2 byte
-32.768 s/d 32.767
Short Int
2 byte
-32.768 s/d 32.767
Unsigned Int
2 byte
0 s/d 65.535
Signed Int
2 byte
-32.768 s/d 32.767
Long Int
4 byte
-2.147.483.648 s/d 2.147.483.647
Unsigned Long Int
4 byte
0 s/d 4.294.967.295
Signed Long Int
4 byte
-2.147.483.648 s/d 2.147.483.647
Float
4 byte
1.2*10-38 s/d 3.4*10+38
Double
4 byte
1.2*10-38 s/d 3.4*10+38
Universitas Sumatera Utara
2.1.5 Konstanta Dan Variabel Konstanta dan variable merupakan sebuah tempat untuk menyimpan data yang berada di dalam memori. Konstanta berisi data yang nilainya tetap dan tidak dapat diubah selama program dijalankan, sedangkan variable berisi data yang bisa berubah nilainya pada saat program dijalankan.
2.1.6
IDENTIFIER Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh pemrogram
yang digunakan untuk menyimpan nilai, misalnya nama variable, nama konstanta, nama suatu elemen (misalnya: nama fungsi, nama tipe data, dll). Identifier punya ketentuan sebagai berikut : •
Maksimum 32 karakter (bila lebih dari 32 karakter maka yang diperhatikan hanya 32 karakter pertama saja).
•
Case sensitive: membedakan huruf besar dan huruf kecilnya.
•
Karakter pertama harus karakter atau underscore ( _ ) . selebihnya boleh angka.
•
Tidak boleh mengandung spasi atau blank.
•
Tidak boleh menggunakan kata yang sama dengan kata kunci dan fungsi.
2.2 Mikrokontroller Atmega32 Mikrokontroler dapat dianalogikan sebagai sebuah sistem komputer yang dikemas dalam sebuah chip, artinya di dalam sebuah IC mikrokontroler sebetulnya sudah terdapat kebutuhan minimal agar mikroprosesor dapat bekerja, yaitu meliputi mikroprosesor, ROM, RAM, I/O dan clock seperti halnya yang dimiliki oleh sebuah PC. Mengingat kemasannya yang berupa sebuah chip dengan ukuran yang relatif lebih kecil, tentu saja spesifikasi dan kemampuan yang dimiliki oleh mikrokontroller akan menjadi lebih rendah bila dibandingkan dengan sistem komputer seperti PC baik dilihat dari segi kecepatannya. Tidak seperti system komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja.
Universitas Sumatera Utara
Meskipun dari sebuah kemampuan lebih rendah tetapi mikrokontroller memiliki kelebihan yang tidak bisa diperoleh pada sistem komputer yaitu,dengan kemasannya yang kecil dan kompak membuat mikrokontroller menjadi lebih fleksibel dan praktis digunakan terutama pada sistem-sistem yang relatif tidak terlalu kompleks atau tidak memerlukan bahan komputasi yang tinggi.
2.2.1 Arsitektur Mikrokontroler AVR ATmega32 Mikrokontroler AVR ATmega32 merupakan CMOS dengan konsumsi daya rendah, mempunyai 8-bit proses data (CPU) berdasarkan arsitektur AVR RISC. Dengan mengeksekusi instruksi dalam satu (siklus) clock tunggal, ATmega32 memiliki kecepatan data rata-rata (throughputs) mendekati 1 MIPS per MHz, yang memungkinkan perancang sistem dapat mengoptimalkan konsumsi daya dan kecepatan pemrosesan. Berikut kelebihan yang dimiliki ATmega32 (Aozon mengambil referensi langsung dari Atmel termasuk datasheet yang diterbitkannya): 1. Kinerja Tinggi, Low-Power AVR® 8-bit Microcontroller Seperti yang disebutkan Atmel dalam websitenya "The low-power Atmel 8-bit AVR RISC-based microcontroller... The device supports throughput of 16 MIPS at 16 MHz and operates between 2.7-5.5 volts". 2. Menggunakan Arsitektur RISC Mikrokontroler AVR memiliki arsitektur Reduced Instruction Set Computing (RISC) atau " set instruksi Komputasi yang disederhanakan". 3. Daya Tahan Tinggi dan Segmen Memori Non-Volatile Mikrokontroler AVR memiliki daya tahan data (retensi data) 20 tahun ketika suhu mencapai 85°C atau 100 tahun ketika suhu mencapai 25°C. 4. Memiliki Antarmuka JTAG (IEEE std. 1149.1 Compliant) Tidak hanya SPI, ATmega32 memiliki antarmuka JTAG yang memungkinkan pengguna dapat memprogram Flash, EEPROM, Fuse, dan Lock Bits. 5. Memiliki Fitur Perangkat Mikrokontroler AVR memiliki fitur tambahan yang sangat membantu kita untuk melakukan penelitian yang lebih baik, seperti terdapat ADC, PWM dan Timer.
Universitas Sumatera Utara
6. Memiliki Fitur Tambahan Mikrokontroler ini memiliki fitur menarik yang patut dicoba seperti 5 mode Sleep, eksternal dan internal interupsi, dan kalibrasi RC Oscillator internal. 7. Mempunyai 32 jalur Program I/O ATmega32 mempunyai 32 jalur Program sehingga memungkinkan kita untuk mengontrol lebih banyak device/ perangkat, seperti Tombol/ switch, LED, buzzer dan LCD. 8. Memiliki operasi tegangan dari 2,7 Volt sampai 5,5 Volt ATmega32 memiliki operasi tegangan dari 2,7 Volt sampai 5,5 Volt. Ini sangat membantu kita untuk menghemat listrik. Kecepatan maksimal bisa mencapai 16 MHz (tanpa overclock). 9. Daya yang dibutuhkan ketika aktif hanya 1,1 mA ATmega32 membutuhkan arus yang sangat kecil dibanding komponen analog yang biasa kita pakai. Hal ini dibuktikan dengan konsumsi daya yang dibutuhkan ketika aktif saja hanya 1,1 mA, bahkan bisa mencapai 1 uA ketika mode power-down. Arsitektur AVR ini menggabungkan perintah secara efektif dengan 32 register
umum.
Semua
register
tersebut
langsung
terhubung
dengan
Arithmetic Logic Unit (ALU) yang memungkinkan 2 register terpisah diproses dengan satu perintah tunggal dalam satu clock cycle. Hal ini menghasilkan kode yang efektif dan kecepatan prosesnya 10 kali lebih cepat dari pada mikrokontroler CISC biasa.
Universitas Sumatera Utara
2.2.2 Konfigurasi Pin ATMega32
Gambar 2.1 Konfigurasi Pin-Pin ATMega32 Secara fungsional konfigurasi pin ATMega32 adalah sebagai berikut: a.
VCC - Tegangan sumber
b.
GND (Ground) - Ground
c.
Port A (PA7 – PA0)
Port A adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin memilki internal pull-up resistor. Output buffer port A dapat mengalirkan arus sebesar 20 mA. Ketika port A digunakan sebagai input dan di pull-up secara langsung, maka port A akan mengeluarkan arus jika internal pull-up resistor diaktifkan. Pin-pin dari port A memiliki fungsi khusus yaitu dapat berfungsi sebagai channel ADC (Analog to Digital Converter) sebesar 10 bit. Fungsi-fungsi khusus pin-pin port A dapat ditabelkan seperti yang tertera pada tabel 2.1 Tabel 2.2 Fungsi khusus port A Port
Alternate Function
PA7
ADC7 (ADC input channel 7)
Universitas Sumatera Utara
d.
PA6
ADC6 (ADC input channel 6)
PA5
ADC5 (ADC input channel 5)
PA4
ADC4 (ADC input channel 4)
PA3
ADC3 (ADC input channel 3)
PA2
ADC2 (ADC input channel 2)
PA1
ADC1 (ADC input channel 1)
PA0
ADC0 (ADC input channel 0)
Port B (PB7 – PB0)
Port B adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin mengandung internal pull-up resistor. Output buffer port B dapat mengalirkan arus sebesar 20 mA. Ketika port B digunakan sebagai input dan di pull-down secara external, port B akan mengalirkan arus jika internal pull-up resistor diaktifkan. Pin-pin port B memiliki fungsi-fungsi khusus, diantaranya : 1. SCK port B, bit 7 Input pin clock untuk up/downloading memory. 2.
MISO port B, bit 6 Pin output data untuk uploading memory.
3. MOSI port B, bit 5 Pin input data untuk downloading memory. Fungsi-fungsi khusus pin-pin port B dapat ditabelkan seperti yang tertera pada tabel 2.2 Tabel 2.3 Fungsi khusus port B Port
Alternate Function
PB7
SCK (SPI Bus Serial Clock)
PB6
MISO (SPI Bus Master Input/Slave Output)
PB6
MOSI (SPI Bus Master Output/Slave Input)
PB5
SS (SPI Slave Select Input)
PB3
AIN1 (Analog Comparator Negative Input)
Universitas Sumatera Utara
OCO (Timer/Counter0 Output Compare Match Output) PB2 PB1 PB0
e.
AIN0 (Analog Comparator Positive Input) INT2 (External Interrupt 2 Input) T1 (Timer/Counter1 External Counter Input) T0 (Timer/Counter External Counter Input) XCK (USART External Clock Input/Output)
Port C (PC7 – PC0)
Port C adalah 8-bit port I/O yang berfungsi bi-directional dan setiap pin memiliki internal pull-up resistor. Output buffer port C dapat mengalirkan arus sebesar 20 mA. Ketika port C digunakan sebagai input dan di pull-down secara langsung, maka port C akan mengeluarkan arus jika internal pull-up resistor diaktifkan. Fungsi-fungsi khusus pin-pin port C dapat ditabelkan seperti yang tertera pada tabel 2.3 Tabel 2.4 Fungsi khusus port C
f.
Port
Alternate Function
PC7
TOSC2 (Timer Oscillator Pin 2)
PC6
TOSC1 (Timer Oscillator Pin 1)
PC6
TD1 (JTAG Test Data In)
PC5
TD0 (JTAG Test Data Out)
PC3
TMS (JTAG Test Mode Select)
PC2
TCK (JTAG Test Clock)
PC1
SDA (Two-wire Serial Bus Data Input/Output Line)
PC0
SCL (Two-wire Serial Bus Clock Line)
Port D (PD7 – PD0)
Port D adalah 8-bit port I/O yang berfungsi bi-directional dan setiap pin memiliki internal pull-up resistor. Output buffer port D dapat mengalirkan arus sebesar 20 mA. Ketika port D digunakan sebagai input dan di pull-down secara langsung, maka port D akan
Universitas Sumatera Utara
mengeluarkan arus jika internal pull-up resistor diaktifkan. Fungsi-fungsi khusus pin-pin port D dapat ditabelkan seperti yang tertera pada tabel dibawah ini. Tabel 2.5 Fungsi khusus port D Port PD7 PD6 PD6
Alternate Function OC2 (Timer / Counter2 Output Compare Match Output) ICP1 (Timer/Counter1 Input Capture Pin) OCIB (Timer/Counter1 Output Compare B Match Output)
PD5
TD0 (JTAG Test Data Out)
PD3
INT1 (External Interrupt 1 Input)
PD2
INT0 (External Interrupt 0 Input)
PD1
TXD (USART Output Pin)
PD0
RXD (USART Input Pin)
2.3 Laser Laser adalah singkatan dari Light Amplification by Stimulated Emission of Radiation artinya perbesaran intensitas cahaya oleh pancaran terangsang. Laser merupakan sumber cahaya koheren yang monokromatik dan amat lurus. Koheren disini berarti semua foton memiliki fase yang sama. Sebuah atom pada keadaan dasar menyerap foton dan berteransisi ke tingkat eksitasi. Secara perlambang dapat dituliskan:
Atom + Foton.
Atom yang berada pada keadaan eksitasi dijatuhi foton dengan energi yang sama dan memaksa atom tersebut berteransisi ke keadaan yang lebih rendah atau dasar sambil memancarkan foton. Jika kita memiliki sekumpulan atom yang berada dalam keadaan eksitasi dan jika sebuah foton melewati atom pertama akan menyebabkan pancaran terimbas dan menghasilkan dua buah foton. Masing-masing foton ini menyebabkan pancaran terimbas dan menghasilkan empat foton. Proses ini terus berlangsung, dengan hasil penggandaan jumlah foton pada setiap tahap sehingga tercipta berkas foton yang kuat,
Universitas Sumatera Utara
yang semua koheren dan bergerak dalam arah yang sama. Secara sederhana ini adalah cara kerja leser. Namun model sederhana bagi laser ini tidak dapat bekerja karena sulit untuk mempertahankan atom pada keadaan eksitasi hingga dirangsang memancarkan foton. Pemecahan masalah ini adalah dengan memilih atom yang memiliki tingkat energy. Atom-atom yang berada pada keadan dasar (tingkat dasar) dipompa ke tingkat energi tinggi oleh suatu sumber energi luar (suatu pulsa elektrik atau sorotan cahaya). Atom-atom pada tingkat energi yang tinggi meluruh (oleh pancaran sepontan) dengan cepat sekali ke tingkat metasetabil. Karena pemompaan terus berlangsung menyebabkan jumlah atom pada tingkat metastabil lebih besar daripada jumlah atom pada tingkat dasar. Bila suatu saat secara spontan dipancarkan satu foton saja yang berenergi sama dengan selisih energi antara tingkat metastabil dengan tingkat dasar, ia akan memicu dan mengajak atom-atom lain di tingkat metastabil untuk kembali ke tingkat dasar. Akibatnya atom-atom itu melepaskan foton-foton yang energi dan fasenya persis sama dengan foton yang mengajaknya tadi dan terjadilah laser.
2.4 Photodioda Photodioda adalah dioda yang bekerja berdasarkan intensitas cahaya, jika photodioda terkena cahaya maka photodioda bekerja seperti dioda pada umumnya, tetapi jika tidak mendapat cahaya maka photodioda akan berperan seperti resistor dengan nilai tahanan yang besar sehingga arus listrik tidak dapat mengalir.
Gambar 2.2. Photodioda
Universitas Sumatera Utara
Photodioda merupakan sensor cahaya semikonduktor yang dapat mengubah besaran cahaya menjadi besaran listrik. Photodioda merupakan sebuah dioda dengan sambungan pn yang dipengaruhi cahaya dalam kerjanya. Cahaya yang dapat dideteksi oleh photodioda ini mulai dari cahaya infra merah, cahaya tampak, sinar-X. Prinsip kerja, karena photodioda terbuat dari
semikonduktor p-n junction
maka cahaya yang diserap oleh photodioda akan mengakibatkan terjadinya pergeseran foton yang akan menghasilkan pasangan electron-hole dikedua sisi dari sambungan. Ketika elektron-elektron yang dihasilkan itu masuk ke pita konduksi maka elektron-elektron itu akan mengalir ke arah positif sumber tegangan sedangkan hole yang dihasilkan mengalir ke arah negatif sumber tegangan sehingga arus akan mengalir di dalam rangkaian. Besarnya pasangan elektron ataupun hole yang dihasilkan tergantung dari besarnya intensitas cahaya yang diserap oleh photodioda. Photodiodes dibuat dari semikonduktor dengan bahan yang populer adalah silicon ( Si) atau galium arsenida ( GaAs), dan yang lain meliputi InSb, InAs, PbSe. Material ini menyerap cahaya dengan karakteristik panjang gelombang mencakup: 2500 Å - 11000 Å untuk silicon, 8000 Å – 20,000 Å 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, di mana suatu hole adalah bagian dari kisi-kisi semikonduktor yang kehilangan elektron. Arah Arus yang melalui sebuah semikonduktor adalah kebalikan dengan gerak muatan pembawa. cara tersebut didalam sebuah photodiode digunakan untuk mengumpulkan photon menyebabkan pembawa muatan (seperti arus atau tegangan) mengalir/terbentuk di bagianbagian elektroda. Sifat dari Photodioda adalah : 1.
Jika terkena cahaya maka resistansi nya berkurang
2.
Jika tidak terkena cahaya maka resistansi nya meningkat.
Universitas Sumatera Utara
2.5 SMS SMS ( Short Message Service) adalah fasilitas yang dimiliki oleh jaringan GSM (Global System For Mobile Comunication) yang memungkinkan pelanggan untuk mengirimkan dan menerima pesan-pesan singkat sepanjang 160 karakter. SMS ditangani oleh jaringan melalui suatu pusat layanan atau SMS Service Centre (SMS SC) yang berfungsi menyimpan dan meneruskan pesan dari sisi pengirim ke sisi penerima. Format SMS yang dipakai oleh produsen MS (Mobile Station) adalah Protocol Deskription Unit (PDU). Format PDU akan mengubah septet kode ASCII (7bit) menjadi bentuk byte PDU (8 bit) pada saat pengiriman data dan akan diubah kembali menjadi kode ASCII pada saat diterima oleh MS. Dibalik tampilan menu Messages pada sebuah ponsel sebenarnya terdapat AT Command-AT Command yang bertugas mengirim/menerima data ke dan dari SMS-Centre. AT-Command tiap-tiap SMS device bisa berbeda-beda, tetapi pada dasarnya sama. Perintah-perintah AT Command biasanya disediakan oleh vendor alat komunikasi yang kita beli. AT+CMGS: untuk mengirim SMS AT+CMGL: untuk memeriksa SMS AT+CMGD: untuk menghapus SMS AT Command untuk SMS biasanya diikuti oleh data I/O yang diwakili oleh unitunit PDU. Data yang mengalir ke/dari SMS-Center harus berbentuk PDU (Protocol Data Unit). PDU berisi bilangan-bilangan heksadesimal yang mencerminkan bahasa I/O. PDU terdiri atas beberapa Header. Header untuk mengirim SMS-Center berbeda dengan SMS yang diterima dari SMSCenter(www.My-siemens.com). PDU untuk mengirim SMS terdiri atas delapan header, sebagai berikut: PDU untuk mengirim SMS terdiri atas delapan header, sebagai berikut: •
Nomor SMS-Center
•
Tipe SMS
Universitas Sumatera Utara
•
Nomor Referensi SMS
•
Nomor Ponsel Penerima
•
Bentuk SMS
•
Skema Encoding Data I/O
•
Jangka Waktu Sebelum SMS Expired
•
Isi SMS
2.6 Buzzer Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja buzzer hampir sama dengan loudspeaker, jadi buzzer juga terdiri dari kumparan yang terpasang pada diafragma dan kemudian kumparan tersebut dialiri arus menjadi electromagnet, kumparan tadi akan tertarik kedalam atau keluar, tergantung dari arah arus dan polaritas magnetnya, karena kumparan dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik sehingga membuat udara bergetar yang akan menghasilkan suara.
2.7 Modem GSM Wavecome Wavecom adalah pabrikan asal Perancis (bermarkas di kota Issy les Moulineaux, Perancis) yaitu Wavecom SA yang berdiri sejak 1993 bermula sebagai biro konsultan teknologi dan sistim jaringan nirkabel GSM, dan pada 1996 Wavecom mulai membuat desain daripada modul wireless GSM pertamanya dan diresmikan pada 1997, bentuk modul GSM pertama berbasis GSM dan pengkodean khusus yang disebut AT Command. Sulit mencari referensi module tipe apa yang pertama dibuat oleh Wavecom SA. Modem
Universitas Sumatera Utara
Wavecom Fastrack ini di Indonesia cukup dikenal digunakan pada industri bisnis rumahan dan bahkan skala besar – mulai dari fungsi untuk kirim SMS massal hingga fungsi sebagai penggerak perangkat elektronik. Beberapa fungsi kegunaan modem ini di masyarakat adalah antara lain: 1. SMS Broadcast application 2. SMS Quiz application 3. SMS Polling 4. SMS auto-reply 5. M2M integration 6. Aplikasi Server Pulsa 7. Telemetri 8. Payment Point Data 9. PPOB 10. dan sebagainya
Mengapa harus menggunakan Modem Wavecom Fastrack ketimbang Modem GSM/HP: Wavecom jauh lebih stabil dibanding Modem GSM/HP Wavecom tidak gampang panas dibanding Modem GSM/HP Pengiriman SMS yang lebih cepat dibanding Modem GSM/HP (1000 s/d 1200 SMS per jam) Support AT Command, bisa cek sisa pulsa, cek point, cek pemakaian terakhir, dll Tidak semua Modem GSM/HP support AT Command Tidak memakai baterai sehingga lebih praktis digunakan Dan masih banyak lainnya
Universitas Sumatera Utara
Gambar 2.3 : Modem Wavecom
Universitas Sumatera Utara