BAB 2 LANDAS AN TEORI
2.1. Mikrokontroler AVR [3] M ikrokontroler merupakan suatu alat yang berfungsi untuk mengontrol peralatan tertentu dalam bentuk yang kecil. M ikrokontroler memiliki memorinya sendiri, serta proses-proses yang dapat berdiri sendiri. Pada mikrokontroler pengguna bisa memasukkan suatu progam yang diinginkan, sehingga ketika mikrokontroler dihubungkan dengan input dan ouput lainnya, pengguna juga dapat mengontrol alat tersebut. Oleh sebab itu, mikrokontroler sering disebut sebagai otak dari peralatan elektronik lainnya.
Gambar 2.1 M ikrokontroler AVR - ATM ega 32
M ikrokontroler AVR memiliki arsitektur RISC 8 bit. Pada mikrokontroler AVR semua instruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian besar 6
7 instruksi dieksekusi dalam satu siklus instruksi clock. AVR dikelompokkan dalam 4 kelas, yaitu Attiny, keluarga AT90Sxx, keluarga ATM ega, dan keluarga AT89RFxx. Dari semua kelas yang membedakan satu sama lain adalah ukuran onboard memori, on-board peripheral dan fungsinya. Dari segi arsitektur yang digunakan mereka bisa dikatakan hampir sama.
Gambar 2.2 Blok Diagram AVR
8 2.1.1. ATMega 32 [12]
Gambar 2.3 Konfigurasi Pin ATM ega32
Keterangan pin ATM ega32 •
VCC merupakan pin yang berfungsi sebagai pin masukan catu daya.
•
GND merupakan pin ground
9 •
Port A (PA0... PA7) Port A berfungsi sebagai input analog pada A/D Konverter. Port A juga berfungsi sebagai suatu Port I/O 8-bit dua arah, jika A/DKonverter tidak digunakan. Pin - pin Port dapat menyediakan resistor internal pull-up (yang dipilih untuk masing-masing bit).Port A output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Ketika pinPA0 ke PA7 digunakan sebagai input dan secara eksternal ditarik rendah, pin – pin akan memungkinkan arus sumber jika resistor internal pull-up diaktifkan. Pin Port A adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
•
Port B (PB7..PB0) Port B adalah suatu Port I/O 8-bit dua arah dengan resistor internalpull-up (yang dipilih untuk beberapa bit). Port B output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pin port B yangsecara eksternal ditarik rendah akan arus sumber jika resistor pullup diaktifkan. Pin Port B adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
•
Port C (PC7..PC0) Port C adalah suatu Port I/O 8-bit dua arah dengan resistor internalpull-up (yang dipilih untuk beberapa bit). Port C output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai
10 input, pin port C yang secara eksternal ditarik rendah akan arus sumber jika resistor pullup diaktifkan. Pin Port C adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. •
Port D (PD7..PD0) Port D adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port D output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pin port D yangsecara eksternal ditarik rendah akan arus sumber jika resistor pullup diaktifkan. Pin Port D adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
•
RES ET merupakan pin yang digunakan untuk me-reset mikrokontroler
•
XTAL1 dan XTAL2 merupakan pin masukan clock eksternal
•
AVCC merupakan pin masukan untuk tegangan ADC
•
AREF merupakan pin masukan tegangan referensi untuk ADC
11
Gambar 2.4 Arsitektur M ikrokontroller ATM EGA 32
12 2.1.2. Sistem Clock M ikrokontroler, mempunyai sistem pewaktuan CPU, 12 siklus clock. Artinya setiap 12 siklus yang dihasilkan oleh ceramic resonator maka akan menghasilkan satu siklus mesin. Nilai ini yang akan menjadi acuan waktu operasi CPU. Untuk mendesain sistem mikrokontroler diperlukan suatu sistem clock, sistem ini bisa di bangun dari clock eksternal maupun clock internal. Untuk clock internal, komponen tinggal dipasang seperti dibawah ini
Gambar 2.5 Sistem Clock
2.1.3. Port S ebagai Input / Output Digital ATmega32 mempunyai empat buah port yang bernama PortA, PortB, PortC, dan PortD. Keempat port tersebut merupakan jalur bi-directional dengan pilihan internal pull-up. Tiap port mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’ mewakili nama huruf dari port sedangkan huruf ‘n’ mewakili nomor bit.
13 Bit DDxn terdapat pada I/O address DDRx, bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address PINx. Bit DDxn dalam regiter DDRx (Data Direction Register) menentukan arah pin. Bila DDxn diset 1 maka Px berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi sebagai pin input. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin output. Pin port adalah tristate setelah kondisi reset. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0. Saat mengubah kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output high (DD xn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0, PORTxn=1) atau kondisi output low (DDxn=1, PORTxn=0). Biasanya, kondisi pull-up enabled dapat diterima sepenuhnya, selama lingkungan impedansi tinggi tidak memperhatikan perbedaan antara sebuah strong high driver dengan sebuah pull-up. Jika ini bukan suatu masalah, maka bit PUD (pull-up Direction) pada register SFIOR (Special Function I/O Register) dapat diset 1 untuk mematikan
14 semua pull-up dalam semua port. Peralihan dari kondisi input dengan pull-up ke kondisi output low juga menimbulkan masalah yang sama. M aka harus menggunakan kondisi tri-state (DDxn=0, PORTxn=0) atau kondisi output high (DDxn=1, PORTxn=0) sebagai kondisi transisi. Lebih detil mengenai port ini dapat dilihat pada manual datasheet dari IC ATmega32.
Tabel 2.1 Register SFIOR
Bit 2 – PUD : Pull-up Disable Bila bit diset bernilai 1 maka pull-up pada port I/O akan dimatikan walaupun register DDxn dan PORTxn dikonfigurasikan untuk menyalakan pull-up (DDxn=0, PORTxn=1).
15 2.1.4. Interupsi Interrupt adalah suatu kejadian atau peristiwa yang menyebabkan mikrokontroler berhenti sejenak untuk melayani interrupt tersebut.
Yang
harus diperhatikan untuk pengunaan interupsi adalah, sumber-sumber interupsi itu sendiri, vektor layanan interupsi dan yang terpenting rutin layanan interupsi, yaitu subrutin yang akan dikerjakan bila terjadi interupsi.
2.1.5. Interrupt S ervice Routine Analoginya adalah sebagai berikut, seseorang sedang mengetik laporan, mendadak telephone berdering dan menginterrupsi orang tersebut sehingga menghentikan pekerjaan mengetik dan mengangkat telephone. Setelah pembicaraan telephone yang dalam hal ini adalah merupakan analogi dari Interrupt Service Routine selesai maka orang tersebut kembali meneruskan pekerjaanya mengetik. Demikian pula pada sistem mikrokontroler yang sedang menjalankan programnya, saat terjadi interrupt, program akan berhenti sesaat, melayani interrupt tersebut dengan menjalankan program yang berada pada alamat yang ditunjuk oleh vektor dari interrupt yang terjadi hingga selesai dan kembali meneruskan program yang terhenti oleh interrupt tadi. Seperti yang terlihat Gambar di bawah, sebuah program yang seharusnya berjalan terus lurus, tiba-tiba terjadi interrupt dan harus melayani interrupt
16 tersebut terlebih dahulu hingga selesai sebelum ia kembali meneruskan pekerjaannya.
Gambar 2.6 Blok Diagram Interupt
Pada AVR terdapat 3 pin interupsi eksternal, yaitu INT0,INT1,dan INT2. Interupsi eksternal dapat dibangkitkan apabila ada perubahan logika atau logika 0 pada pin interupsi Pengaturan kondisi keadaan yang menyebabkan terjadinya interupsi eksternal diatur oleh register M CUCR ( M CU Control Register), yang terlihat seperti gambar ini:
Tabel 2.2 Register M CUCR Dan di bawah ini merupakan table definisI interrupt yang biasa digunakan pada AVR:
17
Table 2.3 Interupt Definition
2.2 GS M (Global System for Mobile Comunnication) [8] GSM (Global System for Mobile Communications) adalah standar telepon genggam yang paling populer di dunia. Telepon GSM digunakan oleh lebih dari satu milyar orang di lebih dari 200 negara. Banyaknya standar GSM ini membuat roaming internasional sangat umum dengan persetujuan roaming antar operator telepon genggam. GSM berbeda banyak dengan teknologi sebelumnya dalam pensinyalan dan channel pembicaraan adalah digital, yang berarti GSM dipandang sebagai sistem telepon genggam generasi kedua (2G). GSM merupakan sebuah standar terbuka yang sekarang ini dikembangkan oleh 3GPP.
18 Dari sudut pandang konsumen, keuntungan dari sistem GSM adalah kualitas suara digital yang lebih tinggi dan alternatif biaya rendah untuk menelpon dan juga pesan teks. Keuntungan bagi operator jaringan adalah kemampuannya menerapkan peralatan dari vendor yang berbeda karena standar terbuka membuat inter-operasi menjadi mudah. Standar ini telah mengijinkan operator jaringan untuk menawarkan jasa roaming yang berarti pengguna dapat menggunakan telepon mereka di seluruh dunia. Jangkauan frekuensi untuk GSM adalah 890-915 M Hz untuk uplink (dari mobile ke base station) dan 935-960 M Hz untuk downlink (dari base station ke mobile). Jarak spasi untuk tiap kanal frekuensi adalah 200 KHz.
2.2.1. Sejarah GS M GSM muncul pada pertengahan 1991 dan akhirnya dijadikan standar telekomunikasi seluler untuk seluruh
Eropa oleh
ETSI (European
Telecomunication Standar Institute). Pengoperasian GSM secara komersil baru dapat dimulai pada awal kuartal terakhir 1992 karena GSM merupakan teknologi yang kompleks dan butuh pengkajian yang mendalam untuk bisa dijadikan standar. Pada
awal
pengoperasiannya,
GSM
telah
mengantisipasi
perkembangan jumlah penggunanya yang sangat pesat dan arah pelayanan per area yang tinggi, sehingga arah perkembangan teknologi GSM adalah
19 DCS (Digital Cellular System) pada alokasi frekuensi 1800 M hz. Dengan frekuensi tersebut, akan dicapai kapasitas pelanggan yang semakin besar per satuan sel. Selain itu, dengan luas sel yang semakin kecil akan dapat menurunkan kekuatan daya pancar handphone, sehingga bahaya radiasi yang timbul terhadap organ kepala akan dapat dikurangi. Pemakaian GSM kemudian meluas ke Asia dan Amerika, termasuk Indonesia. Indonesia awalnya menggunakan sistem telepon seluler analog yang bernama AM PS (Advances Mobile Phone System) dan NMT (Nordic Mobile Telephone). Namun dengan hadir dan dijadikannnya standar sistem komunikasi seluler membuat sistem analog perlahan menghilang, tidak hanya di Indonesia, tapi juga di Eropa. Pengguna GSM pun semakin lama semakin bertambah. Pada akhir tahun 2005, pelanggan GSM di dunia telah mencapai 1,5 triliun pelanggan. Akhirnya GSM tumbuh dan berkembang sebagai sistem telekomunikasi seluler yang paling banyak digunakan di seluruh dunia.
2.2.2. S pesifikasi Teknis GS M Di Eropa, pada awalnya GSM di desain untuk beroperasi pada frekuensi 900 M hz. Pada frekuensi ini, frekuensi uplink-nya digunakan frekuensi 890– 915 M Hz , sedangkan frekuensi downlink-nya menggunakan frekuensi 935– 960 M Hz. Bandwidth yang digunakan adalah 25 M hz (915–
20 890 = 960–935 = 25 M hz), dan lebar kanal sebesar 200 Khz. Dari keduanya, maka didapatkan 125 kanal, dimana 124 kanal digunakan untuk suara dan satu kanal untuk sinyal. Pada perkembangannya, jumlah kanal 124 semakin tidak mencukupi dalam pemenuhan kebutuhan yang disebabkan pesatnya pertambahan jumlah pengguna. Untuk memenuhi kebutuhan kanal yang lebih banyak, maka regulator GSM di Eropa mencoba menggunakan tambahan frekuensi untuk GSM pada band frekuensi di range 1800 M hz dengan frekuensi 1710-1785 M hz sebagai frekuensi uplink dan frekuensi 1805-1880 M hz sebagai frekuensi downlink. GSM dengan frekuensinya yang baru ini kemudian dikenal dengan sebutan GSM 1800, dimana tersedia bandwidth sebesar 75 M hz (1880-1805 = 1785– 1710 = 75 M hz). Dengan lebar kanal yang tetap sama yaitu 200 Khz sama, pada saat GSM pada frekuensi 900 M hz, maka pada GSM 1800 ini akan tersedia sebanyak 375 kanal.
2.2.3. Arsitektur Jaringan GS M Secara umum, network elemen dalam arsitektur jaringan G SM dapat dibagi menjadi: 1. Mobile Station (MS ) Mobile Station atau M S merupakan perangkat yang digunakan oleh pelanggan untuk melakukan pembicaraan. Terdiri atas:
21 • Mobile Equipment (M E) atau handset, merupakan perangkat GSM yang berada di sisi pengguna atau pelanggan yang berfungsi sebagai terminal transceiver (pengirim dan penerima sinyal) untuk berkomunikasi dengan perangkat GSM lainnya. • Subscriber Identity Module (SIM ) atau SIM Card, merupakan kartu yang berisi seluruh informasi pelanggan dan beberapa informasi pelayanan. M E tidak akan dapat digunakan tanpa SIM didalamnya, kecuali untuk panggilan darurat. Data yang disimpan dalam SIM Card secara umum, adalah: 1. IMM SI
(International
Mobile
Subscriber
Identity),
merupakan
penomoran pelanggan. 2. M SISDN (Mobile Subscriber ISDN), nomor yang merupakan nomor panggil pelanggan.
2. Base Station Sub-system (BSS) Base Station System atau BSS, terdiri atas: 1. BTS Base Transceiver Station, perangkat GSM yang berhubungan langsung dengan M S dan berfungsi sebagai pengirim dan penerima sinyal. 2. BSC Base Station Controller, perangkat yang mengontrol kerja BTSBTS yang berada di bawahnya dan sebagai penghubung BTS dan M SC.
22 3. Network Sub-system (NSS ) Network Sub System atau NSS, terdiri atas: • Mobile Switching Center atau M SC, merupakan sebuah network elemen central dalam sebuah jaringan GSM . M SC sebagai inti dari jaringan seluler,
dimana
M SC
berperan
untuk
interkoneksi
hubungan
pembicaraan, baik antar seluler maupun dengan jaringan kabel P STN, ataupun dengan jaringan data. • Home Location Register atau HLR, yang berfungsi sebagai sebuah database untuk menyimpan semua data dan informasi mengenai pelanggan agar tersimpan secara permanen. • Visitor Location Register atau VLR, yang berfungsi untuk menyimpan data dan informasi pelanggan. • Authentication Center atau AuC, yang diperlukan untuk menyimpan semua data yang dibutuhkan untuk memeriksa keabsahaan pelanggan. Sehingga pembicaraan pelanggan yang tidak sah dapat dihindarkan. • Equipment Identity Registration atau EIR, yang memuat data-data pelanggan.
4. Operation and Support System (OSS) Operation and Support System atau OSS, merupakan sub sistem jaringan GSM yang berfungsi sebagai pusat pengendalian, diantaranya fault
23 management, configuration management, performance management, dan inventory management. Secara bersama-sama, keseluruhan network elemen di atas akan membentuk sebuah PLM N (Public Land Mobile Network). Frekuensi 3 Operator Terbesar di Indonesia: 1. Indosat atau Satelindo : 890 – 900 M hz (10 M hz). 2. Telkomsel : 900 – 907,5 M hz (7,5 M hz). 3. Excelcomindo : 907,5 – 915 M hz (7,5 Mhz).
2.2.4. Keunggulan GS M GSM , sebagai sistem telekomunikasi seluler digital memiliki keunggulan yang jauh lebih banyak dibanding sistem analog, di antaranya: • Kapasitas sistem lebih besar, karena menggunakan teknologi digital dimana penggunaan sebuah kanal tidak hanya diperuntukkan bagi satu pengguna saja. Sehingga saat pengguna tidak mengirimkan informasi, kanal dapat digunakan oleh pengguna lain. • Sifatnya yang sebagai standar internasional memungkinkan international roaming. • Dengan
teknologi digital, tidak hanya mengantarkan suara,
memungkinkan servis lain seperti teks, gambar, dan video. • Keamanan sistem yang lebih baik. • Kualitas suara lebih jernih dan peka.
tapi
24 Keunggulan GSM yang beragam pantas saja membuatnya menjadi sistem telekomunikasi seluler terbesar penggunanya di seluruh dunia.
2.3. GPRS [10] GPRS (singkatan bahasa Inggris: General Packet Radio Service, GPRS) adalah suatu teknologi yang memungkinkan pengiriman dan penerimaan data lebih cepat dibandingkan dengan penggunaan teknologi Circuit Switch Data atau CSD. Penggabungan layanan telepon seluler dengan GPRS (General Packet Radio Service) menghasilkan generasi baru yang disebut 2.5G. Sistem GPRS dapat digunakan untuk transfer data (dalam bentuk paket data) yang berkaitan dengan email, data gambar (MM S), Wireless Application Protocol (WAP), dan World Wide Web (WWW). GPRS merupakan sistem transmisi berbasis paket untuk GSM yang menggunakan prinsip 'tunnelling'. Ia menawarkan laju data yang lebih tinggi. Laju datanya secara kasar sampai 160 kbps dibandingkan dengan 9,6 kbps yang dapat disediakan
oleh rangkaian tersakelar GSM . Kanal-kanal radio ganda dapat
dialokasikan bagi seorang pengguna dan kanal yang sama dapat pula digunakan dengan berbagi antar pengguna sehingga menjadi sangat efisien. Dari segi biaya, harga mengacu pada volume penggunaan. Penggunanya ditarik biaya dalam kaitannya dengan banyaknya byte yang dikirim atau diterima, tanpa memperdulikan
25 panggilan, dengan demikian dimungkinkan GPRS akan menjadi lebih cenderun g dipilih oleh pelanggan untuk mengaksesnya daripada layanan-layanan IP. GPRS merupakan teknologi baru
yang memungkinkan para operator
jaringan komunikasi bergerak menawarkan layanan data dengan laju bit yang lebih tinggi dengan tarif rendah ,sehingga membuat layanan data menjadi menarik bagi pasar massal. Para operator jaringan komunikasi bergerak di luar negeri kini melihat GPRS sebagai kunci untuk mengembangkan pasar komunikasi bergerak menjadi pesaing baru di lahan yang pernah menjadi milik jaringan kabel, yakni layanan internet. Kondisi ini dimungkinkan karena ledakan penggunaan internet melalui jaringan kabel (telepon) dapat pula dilakukan melalui jaringan bergerak. Layanan bergerak yang kini sukses di pasar adalah, laporan cuaca, pemesanan makanan, social bookmarking sejenis Facebook, Twitter dan sebagainya, aplikasi chatting, berita olah raga sampai ke berita-berita penting harian. Dari perkembangan tersebut, dapat dirasakan dampaknya pada kemunculan berbeagai provider HP yang bersaing menawarkan tarif GPRS yang semakin terjangkau.
2.4. LCD Liquid Crystal Display (LCD) adalah suatu perangkat elektronika yang dirancang sedemikian rupa, sehingga dapat menampilkan tulisan maupun gambar yang telah diprogram terlebih dahulu ke layar LCD. Perangkat Liquid Crystal
26 Display (LCD) ini banyak digunakan sebagai layar tampilan pada berbagai jenis aplikasi elektronika, seperti monitor komputer, televisi, telepon seluler, dan lain-lain sebagainya. Perangkat LCD dibuat dalam berbagai bentuk kemasan dan ukuran. Salah satu perangkat LCD yang banyak digunakan untuk interfacing dengan perangkat elektronika lainnya adalah LCD 2x16.
Gambar 2.7 LCD
M asing-masing modul LCD memiliki suatu controller yang berfungsi untuk mengontrol tampilan layar LCD secara keseluruhan. Controller pada modul LCD menerima instruksi dan data dari suatu prosesor atau mikrokontroler untuk menentukan karakter apa yang akan ditampilkan pada layar LCD tersebut. Pada umumnya LCD 2x16 mampu mengerjakan seluruh instruksi yang didukung oleh controller jenis HD44780. Jika tidak, instruksi untuk modul LCD tersebut dapat dilihat dari datasheet yang disediakan oleh pabrik pembuatnya. Berikut ini adalah instruksi set untuk kontroler LCD yang dipakai :
27
Tabel 2.4 Instruksi Set untuk Kontroller HD44780
Tabel 2.5 Instruksi Set untuk Kontroller HD44780 M odul LCD pada umumnya terdiri dari 14 pin, tetapi LCD yang memiliki backlight mempunyai 16 pin, yaitu 2 pin tambahan untuk menyalakan LED backlight. Berikut ini konfigurasi pin LCD yang digunakan :
28
Tabel 2.6 Konfigurasi Pin LCD 2.4.1 Pemrograman LCD Cara mengirimkan instruksi untuk dieksekusi oleh kontroler LCD: 1. Set supaya pin RS = 0, R/W = 0, E = 1. 2. Kemudian kirim data berupa instruksi untuk dieksekusi oleh kontroler pada LCD melalui DB0 – DB7 (pin 7 – pin 14). 3. Set supaya pin E = 0, kemudian berikan delay sesaat, dan set kembali pin E = 1.
Cara mengirimkan karakter atau data untuk dicetak pada layar LCD : 1. Set supaya pin RS = 1, R/W = 0, E = 1 2. Kemudian kirimkan data berupa ASCII dari karakter yang ingin ditampilkan pada layar LCD melalui jalur DB0 – DB7 (pin 7 – pin 14). 3. Set supaya pin E = 0, kemudian berikan delay sesaat, dan set kembali pin E = 1. Berikut ini contoh skematik rangkaian untuk pengaksesan LCD :
29
Ganbar 2.8 Skematik untuk Pengaksesan LCD 2.5. S IMCOM 300 [11] Simcom 300 adalah sebuah modem G SM yang dapat di kontrol dengan konfigurasi serial sehingga sangat cocok menggunakan mikrokontroller seperti AVR untuk mengontrolnya. Pada sistem ini, simcom 300 digunakan untuk mengirim data tegangan, arus dan daya ke database pada web server.
Gambar 2.9 Simcom 300
Gambar 2.10 Connector
30 Simcom 300 menggunakan standard AT Command sebagai protokol datanya, untuk mengakses data analog simcom 300 juga memiki port ADC dengan range 0-2,4 volt. Proses pembacaan ADC dapat dilakukan dengan mengirimkan perintah AT+CADC. Balasan berupa data serial +CADC:1,2400 bila data tegangan 2,4 volt berada di port analog. (1)=true dan (0)=fail yang merupakan indikasi akses ADC berhasil atau gagal. Selain memilik bentuk dan koneksi power supply yang konsisten. Simcom 300 juga memilik konektor untuk External antena sehingga modul ini mudah diletakan di tempat-tempat yang tersembunyi dengan tetap terjangkau sinyak melalui external antenna. Untuk antarmuka suara, modul ini juga dapat dihubungkan dengan headset telephone sehingga dapat digunakan untuk pengiriman voice maupun DTMF.
PIN No.
PIN Name
1 3 5 7 9 11 13 15 17 19 21 23 25 27
VBAT VBAT VBAT VBAT VBAT VCHG TEMP_BAT VDD_EXT PWRKEY ST ATUS GPIO0 BUZZER SIM_VDD SIM_RST
I/O
PIN No.
PIN Name
I/O
I I I I I I I O I O I/O O O O
2 4 6 8 10 12 14 16 18 20 22 24 26 28
GND GND GND GND GND ADC0 VRT C NET LIGHT KBC0 KBC1 KBC2 KBC3 KBC4 KBR0
I I/O O O O O O O I
31 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59
SIM_DAT A SIM_CLK SIM_PRESENCE GPIO1 DCD DT R RXD T XD RT S CT S RI AGND SPK1P SPK1N SPK2P SPK2N
I/O O I I/O O I I O I O O O O O O
30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60
KBR1 KBR2 KBR3 KBR4 DISP_CS DISP_CLK DISP_DAT A DISP_D/C DISP_RST DBG_RXD DBG_T XD AGND MIC1P MIC1N MIC2P MIC2N
I I I I O O I/O O O I O I I I I
Tabel 2.7 Pin pada SIM 300
Dikarenakan Simcom300 menggunakan komunikasi secara serial, maka dengan mikrokontroller kita dapat mengontrol simcom dengan AT command. Tutorial tentang hal ini telah banyak terdapat di internet, dimana pengguna menggunakan mikrokontroller untuk mengontrol modem untuk mengirimkan SM S. Akan tetapi, pada sistem yang sedang dirancang, penulis berupaya memanfaatkan modem untuk bisa berkomunikasi ke jaringan internet melalui jaringan GSM . Berikut ini beberapa AT Command yang telah di uji pada modem dengan hyperterminal yang digunakan untuk menghubungkan ke
32 jaringan internet dan mengakses halaman web yang merupakan cara untuk mengirim data ke database web host.: Pertama, bukalah sebuah konteks PDP. >> AT+CGATT=1
- Lampirkan ke GPRS servis
<< OK >> AT+CGDCONT=1,"IP","wap.cingular"
- batasi konteks PDP (cid, PDP type, APN)
<< OK >> AT+CDNSCFG="208.67.222.222","208.67.220.220" – Konfigurasi nama Domain Server (primary DNS, secondary DNS) << OK >> AT+CSTT="wap.cingular","wap(at)cingulargprs.com","cingular1" – Jalankan perintah dan atur APN, ID pengguna dan password << OK >> AT+CIICR
- Hubungkan ke koneksi wireless dengan GPRS – Akan membutuhkan beberapa waktu
<< OK >> AT+CIFSR
- Dapatkan Local IP address
<< 10.190.245.172
- Pasang IP address yang telah ditentukan ke module
<< OK
33 >> AT+CIPSTATUS
- Dapatkan status koneksi
<< OK << STATE: IP STATUS - Pasang kembali status koneksi, harus muncul ‘IP STATUS’ sebelum bisa terhubung ke sebuah server
Setelah mendapatkan konteks, hubungkan system ke server dan kirimkan data. >> AT+CIPHEAD=1
- Perintahkan modul untuk menambah sebuah ‘IP HEADER’ untuk menerima data
<< OK >> AT+CDNSORIP=1 - Indikasikan apakah permintaan koneksi akan berupa IP address (0), atau nama domain (1) << OK >> AT+CIPSTART="TCP","www.google.com","80" - Jalankan koneksi TCP (mode,IPaddress/name, port) << OK << CONNECT OK
- Indikasikan bahwa anda sudah terhubung ke server
>> AT+CIPSEND
- M asalah kirim perintah
<< >
- Tunggu sampai module kembali menunjukkan ‘>’
untuk meng-indikasikan bahwa module siap menerima data >> GET / HTTP/1.1
- Kirimkan data
34 >> Host: www.google.com >> Connection: Keep-Alive >> Accept: */* >> Accept-Language: en-us >> << data dari server akan dikirim kembali – data dari server akan tampil di sini Tutorial di atas merupakan masukan yang berharga agar dapat meningkatkan pemahaman tentang penggunaan AT command untuk mengakses server.
2.6. PHP dan HTTP Request [5] [17] PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memprogram situs web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. Contoh terkenal dari aplikasi PHP adalah forum (phpBB) dan M ediaWiki (software di belakang Wikipedia). PHP juga dapat dilihat sebagai pilihan lain dari ASP.NET/C#/VB.NET
M icrosoft,
ColdFusion
M acromedia,
JSP/Java
Sun
M icrosystems, dan CGI/Perl. Contoh aplikasi lain yang lebih kompleks berupa CM S yang dibangun menggunakan PHP adalah M ambo, Joomla!, Postnuke, Xaraya, dan lain-lain.
35 2.6.1. Sejarah PHP Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs Personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web. Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi open source, maka banyak programmer yang tertarik untuk ikut mengembangkan PHP. Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan. Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP dirubah menjadi akronim berulan g PHP: Hypertext Preprocessing. Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi.
36 Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahas a pemrograman ke arah paradigma berorientasi objek.
2.6.2. Kelebihan PHP Dari Bahasa Pemrograman Lain • Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya. • Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah. • Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang siap membantu dalam pengembangan. • Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak. • PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, M acintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system. 2.6.3
HTTP Request [17] Setiap kali web browser mendownload file (dokumen, gambar, dll) dari sebuah web server, ia ,melakukannya dengan menggunakan HTTP
37 (Hypertext
Transfer
Protocol).
HTTP merupakan
sebuah
protocol
permintaan / respon, yang berarti: komputer mengirimkan permintaan untuk mendapatkan dokumen yang ia butuhkan, dan web server akan merespon dengan mengirimkan dokumen yang diminta oleh komputer. Permintaan yang dikirimkan oleh komputer ke web server berisi segala macam informasi penting. Berikut ini adalah salah satu contoh protocol permintaan yang akan dikirmkan komputer ke web server beserta penjelasannya:
2.6.3.1. Informasi Baku HTTP request berikut ini diterima oleh IP address: 91.84.196.2 dari 202.58.180.58 (port 57041) : GET /dumprequest HTTP/1.1 Host: djce.org.uk Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,ima ge/png,*/*;q=0.5 User-Agent: Mozilla/5.0 (Windows; U; Windows NT AppleWebKit/534.10
(KHTML,
Safari/534.10 Accept-Encoding: gzip,deflate,sdch
like
Gecko)
5.1; en-US)
Chrome/8.0.552.237
38 Accept-Language: en-US,en;q=0.8 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 Via: 202.155.16.68 X-Forwarded-For: 10.20.2.77 Cache-Control: max-age=9676800 Connection: keep-alive 2.6.3.2. Analisis S ource IP address: S ource port: Via: X-Forwarded-For:
202.58.180.58 60091 202.155.16.68 10.20.2.77
T abel 2.8 IP address sumber, port dan proxy
Untuk mengirim respon yang tepat kembali ke komputer, web server tentu saja harus mengetahui IP address komputer tersebut, dan sebuah nomor port untuk mengirimkan respon balasannya. Sesuai table di atas, IP address pengirim adalah 202.58.180.58 dan nomor port yang digunakan adalah 60091. Di sisi lain, mungkin terdapat satu atau lebih proxy server antara komputer pengguna dan web server. Jika HTTP request mencakup header “Via” atau “X-Forwarded-For”, maka hal tersebut memberi indikasi kuat bahwa ada setidaknya satu proxy server di suatu tempat sepanjang line yang digunakan.
39 Jika tidak satu pun dari header tersebut muncul, maka hal tersebut berarti tidak ada proxy server yang terlibat, atau bisa berarti mereka memilih untuk tidak “mengungkapkan” diri mereka sendiri dengan menambahkan header-header tersebut. Header “X-Forwarded-For” menunjukkan bahwa ada setidaknya satu proxy server yang terlibat. Proxy server “terdekat” dari web server adalah 202.58.180.58. Penambahan header “X-Forwarded-For”, menunjukkan bahwa komputer pengguna mungkin memiliki IP address 10.20.2.77.
2.7. Pengertian MySQL [5] MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBM S yang multithread, multiuser, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat M ySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasuskasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
2.7.1 Relational Database Management S ystem (RDBMS ) [18] MySQL adalah Relational Database M anagement System (RDBM S) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan M ySQL, namun
40 tidak boleh dijadikan produk turunan yang bersifat komersial. M ySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu sistem database (DBM S) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase.
2.7.2. Keistimewaan MySQL MySQL memiliki beberapa keistimewaan, antara lain : 1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, M ac Os X Server, Solaris, Amiga, dan masih banyak lagi. 2. Open Source.MySQL didistribusikan secara open source, dibawah lisensi GPL sehingga dapat digunakan secara cuma-cuma.
41 3. ‘M ultiuser’. MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. 4. ‘Performance tuning’. MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. 5. Jenis Kolom. MySQL memiliki tipe kolom yang sangat kompleks, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain. 6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query). 7. Keamanan. M ySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi. 8. Skalabilitas dan Pembatasan. M ySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. 9. Konektivitas. menggunakan Pipes (NT).
MySQL protokol
dapat
melakukan
TCP/IP, Unix
koneksi
dengan
soket (UNIX),
klien
atau Named
42 10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. M eski pun demikian, bahasa Indonesia belum termasuk di dalamnya. 11. Antar M uka. MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). 12. Klien dan Peralatan. M ySQL dilengkapi dengan berbagai peralatan (tool)yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online. 13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle. 2.7.3. Kesinambungan antara PHP dan MyS QL [5] Penggunaan PHP dan M ySQL dapat menjadikan dan memudahkan untuk pembuatan aplikasi secara gratis dan stabil (dikarenakan banyak komunitas developer PHP dan MySQL yang ber-kontribusi terhadap bugs).Berikut ini adalah konsep pengiriman data ke database yang merupakan salah satu bentuk hubungan yang saling berkesinambungan antara PHP dan MySQL: Sebagaimana diketahui, database M ySQL berbentuk tabel-tabel yang merupakan kumpulan field dan record. Dalam proses pembuatan sistem yang dibuat oleh penulis, field database yang digunakan terdiri atas: Waktu,
43 Tegangan, Arus dan Daya. Untuk membuat data tersebut menjadi field pada database MySQL, maka dapat digunakan query berikut : mysql_query (INSERT INTO $namatabel (waktu, volt, arus, daya) VALUES (now(),'$volt','$arus','$daya')); 2.8. S olar Panel [1] Panel sel surya mengubah intensitas sinar matahari menjadi energi listrik. Panel sel surya menghasilkan arus yang digunakan untuk mengisi batere. Panel sel surya terdiri dari photovoltaic, yang menghasilkan listrik dari intensitas cahaya, saat intensitas cahaya berkurang (berawan, hujan, mendung) arus listrik yang dihasilkan juga akan berkurang. Dengan menambah panel sel surya (memperluas) berarti menambah konversi tenaga surya. Umumnya panel sel surya dengan ukuran tertentu memberikan hasil tertentu pula. Contohnya ukuran a cm x b cm menghasilkan listrik DC (Direct Current) sebesar x Watt per hour/ jam.
Mono
Efe siensi Perubahan Daya 14%-17%
Daya Tahan
Biaya
Poly
13%– 15%
Amorphous
5% - 7%
10 – 15 Baik tahun
Compound (GaAs)
20% - 25%
25 – 35 Cukup tahun Baik
20 – 25 Baik tahun 20 – 25 Sangat tahun Baik
Ke te rangan
Penggunaan
Kegunaan Pemakaian Luas Cocok untuk produksi massal di masa depan Bekerja baik dalam pencahayaan fluorescent Berat & Rapuh
Sehari-hari
Tabel 2.9 Jenis Panel Surya
Sehari-hari
Sehari-hari & perangkat komersial (kalkulator) Pemakaian di luar angkasa
44 Berikut ini adalah jenis panel sel surya: • Polikristal (Poly-crystalline) M erupakan panel sel surya yang memiliki susunan kristal acak. Type Polikristal memerlukan luas permukaan yang lebih besar dibandingkan dengan jenis monokristal untuk menghasilkan daya listrik yang sama, akan tetapi dapat menghasilkan listrik pada saat mendung • Monokristal (Mono-crystalline) M erupakan panel yang paling efisien, menghasilkan daya listrik persatuan luas yang paling tinggi. M emiliki efisiensi sampai dengan 17%. Kelemahan dari panel jenis ini adalah tidak akan berfungsi baik ditempat yang cahaya mataharinya kurang (teduh), efisiensinya akan turun drastis dalam cuaca berawan. • Amorphous Silikon Amorphous (a-Si) telah digunakan sebagai bahan sel surya photovoltaic untuk
kalkulator hingga saat ini. M eski memiliki kinerja yang lebih rendah
dibandingkan sel surya c-Si tradisional, hal tersebut bukan menjadi kendala untuk penggunaan di kalkulator karena kalkulator memiliki daya yang sangat rendah. 2.9. Fusion Charts [7] Fusion Charts merupakan sebuah program open-source pembuat komponen flash chart yang dapat digunakan untuk membuat grafik animasi berbasis data. Dibuat dalam bentuk M acromedia Flash MX, Fushion Charts dapat digunakan
45 dengan beberapa bahasa pemrograman web seperti PHP, ASP, .NET, JSP, ColdFusion, JavaScript, Ruby on Rails dan lain-lain, untuk menampilkan grafik yang baik dan interaktif. Dengan menggunakan XM L sebagai data interface, Fushion Charts memanfaatkan semua kemampuan Flash untuk membuat grafik yang tersusun rapi, interaktif dan menarik secara visual. Keuntungan menggunakan Fusion Charts: • Grafik interaktif dan animasi Dengan menggunakan Fusion Charts, pengguna dapat dengan mudah dan cepat membuat grafik beranimasi dengan banyak pilihan yang interaktif. • Terintegrasi dengan JavaS cript yang kuat namun tetap mudah Fushion Charts menawarkan pilihan lanjutan untuk mengintegrasi grafik dengan modul JavaScript. • Installasi yang mudah Untuk menggunakan Fusion Charts, pengguna tidak perlu meng-install apapun ke dalam server. Yang harus dilakukan hanyalah copy-paste file SWF (inti dari Fusion Charts) ke server yang akan digunakan. Jadi, sekali pun pada server tersebut tidak ter-install ActiveX atau komponen form lainnya, Fusion Charts tetap dapat dijalankan tanpa kendala apa pun. • Mudah digunakan Fusion Charts membuat proses pembuatan grafik menjadi pengalaman yang menyenangkan bagi pengguna. Karena menggunakan XM L sebagai sumber
46 data, yang perlu dilakukan adalah meng-konversi data yang ingin diolah ke dalam bentuk XM L menggunakan sebuah bahasa pemrograman atau bahkan menggunakan sebuah teks editor seperti Notepad dan lain-lain. Semua hal tersebut dibutuhkan untuk membuat grafik beranimasi dan interaktif. Bagian paling menarik adalah pengguna tidak perlu mempelajari apa pun tentang Flash untuk menggunakan Fusion Charts • Dapat dijalankan dalam berbagai platform Terlepas dari bahasa pemrograman server apa yang digunakan, Fusion Charts dapat digunakan untuk membuat grafik di dalamnya. Karena Fusion Charts menggunakan XM L sebagai data interface, pengguna dapat menjalankan Fusion Charts pada server apa saja dan melawan bahasa pemrograman apa pun. Bahkan, untuk melihat grafik, pengguna hanya perlu memiliki Adobe Flash Player, yang mana merupakan salah satu plug-in pada browser yang paling sering digunakan oleh semua orang saat ini. • Mengurangi beban server Dalam gambar tradisional berbasis grafik system, grafik dihasilkan sebagai gambar pada sisi server. Jadi, untuk setiap grafik yang dibutuhkan untuk digunakan, pengguna perlu membangun gambar yang kompleks pada server dan melanjutkannya ke klien (pengguna). Pada saat dibutuhkan dalam waktu yang singkat, hal tersebut akan sangat membebani server, sebab pembuatan gambar membutuhkan banyak proses pada server.
47 • Jenis grafik yang sangat banyak Fusion Chart menawarkan jenis-jenis grafik yang sangat banyak. M ulai dari basic bar, column, line, pie dan lain-lain. Sampai grafik kombinasi tingkat lanjut seperti gantt chart, yang mana dapat dibuat dengan sangat mudahnya. 2.9.1
Cara Meng-install Fusion Charts M eng-install Fusion Charts hanya melibatkan copy dan paste file SWF dari paket installan awal ke salah satu folder dalam computer yang akan digunakan. Berikut ini adalah langkah-langkah meng-install Fusion Charts : 1. Buat sebuah folder dengan nama: “FusionCharts” 2. Copy semua file SWF dari Download Package sampai folder Charts kemudian paste ke dalam folder “FusionCharts” Selanjutnya pengguna hanya perlu membuat data XM L dan halaman HTM L untuk menampilkan Fusion Charts.
2.9.2
Membuat Grafik Fusion Charts Untuk membuat grafik dengan Fusion Charts, berikut ini adalah hal-hal yang harus diperhatikan: 1. File SWF untuk grafik yang ingin dibuat. M isalnya, jika pengguna ingin membuat garfik dengan bentuk 3D column, maka namakan file tersebut dengan Column3D.swf. Semua grafik file SWF akan tersimpan dalam Download Package > Folder Charts
48 2. File Data XM L. Fusion Charts hanya menerima data dalam format predefined XM L. Jadi, pengguna perlu mengkonversi data tersebut ke dalam format XM L. 3. File pembungkus HTM L. File HTM L ini memuat code yang akan menyusun grafik yang dibuat.