Alat Deteksi Kebocoran Gas Hidrogen Pada Miniatur Plan Generator Dengan Interface Modem Sms

BAB 2

LANDASAN TEORI

Dalam Bab ini penulis akan membahas tentang komponen - komponen
yang digunakan dalam seluruh unit alat ini. Agar pembahasan tidak melebar dan
menyimpang dari topik utama laporan ini, maka setiap komponen akan dibahas
sesuai fungsinya pada masing- masing unit.
2.1. Mikrokontroler Arduino Uno R3
Arduino Uno sebenarnya adalah salah satu kit mikrokontroler yang berbasis
pada Atmega328.Boardini memiliki 14 digital input / ouput pin, dimana 6 pin
dapat digunakan sebagai ouput PWM, 6 input analog, 16 MHz osilator kristal,
koneksi USB, jack listrik dan tombol reset. Pin– pin ini berisi semua yang
diperlukan untuk mendukung mikrokontroler, hanya terhubung ke komputer
dengan kabel USB atau sumber tekanan bisa didapat dari adaptor AC– DC atau
baterai untuk menggunakannya. Arduino Uno R3 berbeda dengan semua
boardsebelumnya karena Arduino Uno R3 ini tidak menggunakan chipdriver
FTDI USB-to-serial.Sebagaimana kita ketahui dengan mikrokontroler kita dapat
membuat program untuk mengendalikan berbagai komponen elektronika.
Program yang kita buat dengan bahasa pemrograman di download ke
mikrokontroler, yang kemudian mikrokontroler akan bekerja sesuai dengan

program yang kita buat.

Gambar 2.1. Arduino Uno R3

Universitas Sumatera Utara

Dengan Arduino itu sendiri lebih memudahan penggunanya untuk membuat
berbagai hal yang berkaitan dengan mikrokontroler, karena didalamnya sudah
tersedia yang dibutuhkan oleh mikrokontroler. Contohnya yang dapat dibuat
dengan Arduino antara lain, untuk membuat robot, mengontrol motor stepper,
pengatur suhu, mesin gate turnstile, display LCD, dan masih banyak lagi
pengaplikasian lainnya, seperti pembuatan alat deteksi kebocoran gas hidrogen
yang penulis kerjakan pada saat ini yang menggunakan mikrokontroler arduino
versi uno r3 dengan rincian spesifikasi :
Tabel 2.1. Spesifikasi Arduino Uno R3
Mikrokontroler

ATmega328

Operasi tegangan


5Volt

Input tegangan

disarankan 7-11Volt

Input batas tegangan

6-20Volt

Pin I/O digital

14 (6 bisa untuk PWM)

Pin Analog

6

Arus DC tiap pin I/O


50mA

Arus DC ketika 3.3V

50mA

Memori flash

32 KB (ATmega328) dan 0,5 KB
digunakan oleh bootloader

SRAM

2 KB (ATmega328)

EEPROM

1 KB (ATmega328)


Kecepatan clock

16 Hz

2.1.1. Arsitektur Mikrokontroler Arduino Uno R3
Arsitektur pada boardarduino rev 3memiliki fitur barusebagai berikut:
a. Pertama adalah pinout: ada penambahan pin SDA dan SCL yang dekat dengan
pin AREF dan dua pin baru lainnya ditempatkan dekat dengan pin RESET,
I/OREF yang memungkinkan shield untuk beradaptasi dengan tegangan yang
disediakan dari papan / board. Di masa depan, shield akan kompatibel dengan
kedua papan yang menggunakan AVR, yang beroperasi dengan 5V dan dengan

Universitas Sumatera Utara

Arduino yang beroperasi 3.3V. Kedua adalah pin tidak terhubung, yang
dicadangkan untuk tujuan masa depan.
b. Reset sirkuit yang sangat kuat.
c. Atmega16U2 menggantikan Atmega8U2 yang digunakan sebagai konverter
usb-to-serial.


Gambar 2.2. Arsitektur Arduino Uno R3
ArduinoUno dapat diaktifkan melalui koneksi USB atau dengan catu daya
eksternal, sumber listrik dipilih secara otomatis.Eksternal (non-usb) daya dapat
berupa baik ac-dc adaptor atau baterai. Adaptor ini dapat dihubungkan dengan
cara menghubungkan plug pusatpositif 2.1mm ke dalam board colokan listrik.
Sedangkan untuk baterai dapat dihubungkan kedalam headerpin gnd dan vin dari
konektor power.Board dapat beroperasi pada pasokan daya dari 6 – 20 volt.Jika
menggunakan tegangan kurang dari 6 volt mungkin tidak akan stabil.Jika
menggunakan lebih dari 12V, regulator tegangan bisa panas dan merusak
papan.Rentang yang dianjurkan adalah 7 sampai 12 volt.
Pin listrik yang tersedia adalah sebagai berikut:
• Vin. Input tegangan ke board Arduino ketika menggunakan sumber daya
eksternal. Anda dapat menyediakan tegangan melalui pin ini, atau, jika Anda
ingin memasok tegangan melalui colokan listrik, gunakan pin ini.

• 5V. Pin ini merupakan output 5V yang telah diatur oleh regulator papan
Arduino. Board dapat diaktifkan dengan daya, baik dari colokan listrik DC (7 -

Universitas Sumatera Utara


12V), konektor USB (5V), atau pin VIN board (7-12V). Jika Anda memasukan
tegangan melalui pin 5V atau 3.3V secara langsung (tanpa melewati regulator)
dapat merusak papan Arduino.

• Tegangan pada pin 3.3V,3.3Volt dihasilkan oleh regulator on-board.
Menyediakan arus maksimum 50 mA.
• GND. Pin Ground.

• I/OREF. Pin ini di papan Arduino memberikan tegangan referensi ketika
mikrokontroler beroperasi. Sebuah shield yang dikonfigurasi dengan benar dapat
membaca pin tegangan IOREF sehingga dapat memilih sumber daya yang tepat
agar dapat bekerja dengan 5V atau 3.3V.
Arduino Uno R3 memiliki 6 input analog diberi label A0 sampai A5,

masing-masing menyediakan 10-bit resolusi (yaitu 1024 nilai yang berbeda).
Secara default sistem mengukur dari ground sampai 5 volt, meskipun mungkin
untuk mengubah ujung atas rentang mengunakan pin AREF dan fungsi
analogReference(). Selain itu, beberapa pinmemiliki fungsi khususyaitu :
• TWI :A4 atau SDA pin dan A5 atau SCL pin, mendukung komunikasi TWI.
• AREF


: Referensi tegangan untuk input analog, digunakan dengan

analogReference().

• RESET : Digunakan sebagai tombol menghidupkan kembali.

2.1.2 Konfigurasi Pin Arduino Uno R3
Dalam pasaran yang sering kita jumpai adalah arduino uno dimana didalamnya
terdapat tiga port yaitu port-b, port-c, dan port-d.
Diantara ketiga port tersebut terdapat dua port yang terdiri atas 14 pin digital
input/output yaitu port-b dan port-d sedangkan 7 pin analog Input/Output yaitu
port-c.
Setiap 14 pin digital pada arduino uno r3 dapat digunakan sebagai input dan
output, menggunakan fungsi pinmode, digitalwrite, dan digitalread. Fungsi–
fungsi tersebut beroperasi pada tegangan 5v, setiap pin dapat memberi atau
menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up
(terputus secara default) 20-50 kOhm. Selain itu, beberapa pin mempunyai fungsifungsi spesial, yaitu :

Universitas Sumatera Utara


• Serial:pin0 (RX) dan pin1 (TX). Digunakan untuk menerima (RX) dan
megirimkan (TX) serial data TTL (Transistor-Transistor Logic). Kedua pin ini
dihubungkan ke pin-pin yang sesuai dari chip serial Atmega8U2 USB-ke-TTL.

• External Interrupts:pin2 dan pin3. Pin 2 dan 3 dapat dikonfigurasi untuk
memicu interrupt pada nilai yang rendah (low value), rising atau falling edge, atau
perubahan nilai..

• PWM: Pin 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan
fungsi analogWrite().

• SPI: Pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) mendukung komunikasi

SPI dengan menggunakan perpustakaan SPI.

• LED: Pin 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13.
Ketika pin bernilai HIGH LED menyala, ketika pin bernilai LOW LED mati.

Gambar 2.3. Pin-Pin Arduino Uno R3

Reset Membawa saluran ini LOW untuk mereset mikrokontroler. Secara
khusus, digunakan untuk menambahkan sebuah tombol reset untuk melindungi
sesuatu yang bisa memblock sesuatu pada board.

Universitas Sumatera Utara

2.1.3. Deskripsi Pin Pada Mikrokontroler Arduino Uno R3

Gambar 2.4. Deskripsi Pin Pada Arduino Uno R3
a. 14 Pin Output/Input Digital (Pin 0 – pin 13)
Pin ini dapat digunakan sebagai pin input dan output digital. Artinya pin-pin
ini hanya dapat digunakan untuk keluar data digital. Bila pin – pin ini diatur
sebagai pin output, maka pin – pin hanya dapat mengeluar tegangan 0V untuk
kondisi OFF dan mengeluarkan tegangan 5V untuk kondisi ON. Dalam penulisan
program sketch, 0V dinyatakan dengan kondisi LOW dan 5V dinyatakan dengan
kondisi HIGH.
Jika pin-pin digital ini diatur sebagai pin input, maka pin-pin ini hanya dapat
menerima data digital. Bila pin diberi tegangan 0V, maka pin mendapat logika
rendah (LOW) dan jika pin mendapat tegangan 5V, maka pin mendapat logika
tinggi (HIGH).

b. Pin A0 – pin A5
Pin A0 – pin A5 adalah pin analog, artinya pin ini dapat menerima dan
mengeluarkan data data analog. Pin A0 – pin A5 terhubung ke ADC (analog to
digital converter). Board arduino uno menggunakan mikrokontroller ATMega 328
yang mempunyai 2 macam konfigurasi ADC yaitu ADC 8 bit dan ADC 12 bit.
Pin analog ini dapat mengolah tegangan analog dari tegangan 0 V hingga 5 V.
Selain dapat digunakan untuk data analog, pin ini juga dapat difungsikan sebagai
pin input/output digital.

Universitas Sumatera Utara

c. Pin Utilitas
Pin utilitas terdiri dari :

• Pin V input : untuk input tegangan DC 5 V

• Pin V output 5V : pin ini mengeluarkan tegangan 5V

• Pin V output 3,3 V: pin ini mengeluarkan tegangan 3,3 V
• Pin Ground (-)


• Pin Aref : pin ini untuk memberikan tegangan referensi eksternal pada ADC
• Pin reset : pin ini untuk reset mikrokontroller.
d. Q1 – Kristal (quartz crystal oscillator)
Jika mikrokontroler dianggap sebagai sebuah otak, maka kristal adalah

jantung-nya karena komponen ini menghasilkan detak-detak yang dikirim kepada
mikrokontroler agar melakukan sebuah operasi untuk setiap detaknya. Kristal ini
dipilih yang berdetak 16 juta kali per detik (16MHz).
e. Terminal USB
Terminal USB digunakan untuk menghubungkan board arduino dengan
komputer, terminal ini digunakan untuk memprogram mikrokontroller dan juga
dapat digunakan untuk komunikasi mikrokontroller dengan komputer (serial
komunikasi).
f. Terminal Catu Daya Eksternal (X1)
Board arduino selain dapat menggunakan catudaya dari USB komputer,
juga dapat diberi catudaya eksternal melalui terminal catudaya ini.Pada board
arduino telah dilengkapi dengan regulator tegangan 5V, sehingga board arduino
ini dapat diberikan tegangan eksternal berkisar dari 5 V hingga 12 VDC.
g. Terminal Header ISP
Terminal

Header

ISP

digunakan

untuk

pemograman

boatloader

mikrokontroler.Agar mikrokontroler atmega328 dapat bekerja pada board
arduino, maka atmega328 harus diisi dengan program boatloader terlebih dahulu.
Pada saat kita membeli board arduino, board telah dilengkapi dengan sebuah IC
atmega328 yang telah diisi dengan program boatloader, tetapi jika kita hendak
mengganti IC atmega328 dengan yang baru, maka IC tersebut terlebih dahulu

Universitas Sumatera Utara

harus diisi dengan program boatloader dengan menggunakan terminal header ISP
yang dihubungkan ke downloader lain.
h. Tombol Reset
Untuk me-reset papan sehingga program akan mulai lagi dari awal. Perlu
dipahami bahwa tombolreset ini bukan untuk menghapus program atau
mengosongkan microkontroler.
2.1.4. Peta Memory Arduino Uno R3
Arduino Uno adalah arduino board yang menggunakan mikrokontroler
ATmega328. Maka peta memori arduino uno sama dengan peta memori pada
mikrokontroler ATmega328.
2.1.4.1. Memori Perogram
ATMega328 memiliki 32K byte On-chip In-System Reprogrammable
Flash Memory untuk menyimpan program. Memori flash dibagi kedalam dua
bagian, yaitu bagian program bootloader dan aplikasi seperti terlihat pada Gambar
2.5. Bootloader adalah program kecil yang bekerja pada saat sistem dimulai yang
dapat memasukkan seluruh program aplikasi ke dalam memori prosesor.

Gambar 2.5.Peta Memori Perogram ATMega328

Universitas Sumatera Utara

2.1.4.2. Memori Data
Memori data ATMega328 terbagi menjadi 4 bagian, yaitu 32 lokasi untuk
register umum, 64 lokasi untuk register I/O, 160 lokasi untuk register I/O
tambahan dan sisanya 2048 lokasi untuk data SRAM internal. Register umum
menempati alamat data terbawah, yaitu 0x0000 sampai 0x001F. Register I/O
menempati 64 alamat berikutnya mulai dari 0x0020 hingga 0x005F. Register I/O
tambahan menempati 160 alamat berikutnya mulai dari 0x0060 hingga 0x00FF.
Sisa alamat berikutnya mulai dari 0x0100 hingga 0x08FF digunakan untuk SRAM
internal.Peta memori data dari ATMega 328 dapat dilihat pada Gambar 2.6.

Gambar 2.6.Peta Memori Data ATMega328
2.1.4.3. Memori EEPROM
Arduino uno terdiri dari 1 KByte memori data EEPROM. Pada memori
EEPROM, data dapat ditulis/dibaca kembali dan ketika catu daya dimatikan, data
terakhir yang ditulis pada memori EEPROM masih tersimpan pada memori ini,
atau dengan kata lain memori EEPROM bersifat nonvolatile. Alamat EEPROM
dimulai dari 0x000 hingga 0x3FF.

Universitas Sumatera Utara

2.1.5. Register Serba Guna
Register geser memegang apa yang dapat dianggap sebagai delapan lokasi
memori , masing-masing dapat menjadi 1 atau 0 .
Untuk mengatur masing-masing nilai ini atau menonaktifkan, dalam data
menggunakan data dan pin jam chip.

Gambar 2.7.Register Geser
2.2. Sensor Gas MQ-8
Sensor Gas Hidrogen MQ-8 adalah salah satu sensor gas yang memiliki
sensivitas tinggi terhadap gas hidrogen. Sensor ini juga memiliki kepekaan
terhadap alkohol, gas LPG dan asap masakan namun kecil kepekaannya. Sensor
ini bekerja dengan stabil dan mempunyai umur yang panjang dalam
pemakaiannya.Sensor ini juga dapat digunakan untuk mendeteksi kebocoran gas
pada peralatan rumah tangga maupun industri, namun sensivitasnya rendah.
Jika molekul gas H2 mengenai permukaan sensor maka satuan
resistansinya akan mengecil sesuai dengan konsentrasi gas, sebaliknya jika
konsentrasi gas menurun akan diikuti dengan semakin tingginya resistansi maka
tegangan keluarannya akan menurun. Pengaruh perubahan konsentrasi gas dapat
mengubah nilai resistansi sensor dan juga akan mempengaruhi tegangan

Universitas Sumatera Utara

keluarannya, sehingga perbedaan inilah yang dijadikan acuan bagi pendeteksi gas
berbahaya ini. Spesifikasi dari sensor MQ-8 ini adalah sebagai berikut:
a. Target Gas

:

Gas Hidrogen (H2)

b. Output

:

Resistance (Tahanan)

c. Range Pendeteksi

:

100 – 10000 ppm

d. Pemanasan tegangan

:

5v ±0.1 (DC/AC)

e. Tegangan Rangkaian

:

5v ±0.1 (DC/AC)

Sensor MQ-8 disusun oleh tabung keramik mikro Al2O3 , Dioksida Tin
(SnO2) untuk lapisan sensitif, pengukur elektroda dan pemanas yang menjadi
lapisan kulit yang dibuat oleh jaring plastik dan stainless steel. Pemanas
menyediakan kondisi kerja yang diperlukan untuk pekerjaan sensitif komponen.
Sensor MQ-8 memiliki 6 pin, 4 pin digunakan untuk mengambil sinyal, dan 2 pin
lainnya digunakan untuk menyediakan pemanasan.

Gambar 2.8.Sensor MQ-8
2.3. Gas Hidrogen
Udara adalah suatu campuran gas yang terdapat pada lapisan yang
mengelilingi bumi dan komponen campuran gas tersebut tidak selalu konstan
(Fardiaz, 1992).Udara juga merupakan atmosfer yang berada di sekeliling bumi
yang fungsinya sangat penting bagi kehidupan manusia di dunia ini.
Gas Hidrogen adalah unsur kimia yang memiliki simbol H dan nomor
atom 1. Gas hidrogen pada suhu dan tekanan standar tidak berwarna, tidak berbau,
bersifat non-logam, bervalensi tunggal, dan merupakan gas diatomik yang sangat

Universitas Sumatera Utara

mudah terbakar.Dengan massa atom 1,00794 amu, hidrogen adalah unsur teringan
di dunia, hidrogen adalah unsur teringan di dunia.
Hidrogen juga adalah unsur paling melimpah dengan persentase kira-kira
75% dari total massa unsur alam semesta.Kebanyakan bintang dibentuk oleh
hidrogen dalam keadaan plasma.Senyawa hidrogen relatif langka dan jarang
dijumpai secara alami di bumi, dan biasanya dihasilkan secara industri dari
berbagai senyawa hidrokarbon seperti metana. Hidrogen juga dapat dihasilkan
dari air melalui proses elektrolisis, namun proses ini secara komersial lebih mahal
daripada produksi hidrogen dari gas alam.
Isotop hidrogen yang paling banyak dijumpai di alam adalah protium,
yang inti atomnya hanya mempunyai proton tunggal dan tanpa neutron.Senyawa
ionik hidrogen dapat bermuatan positif (kation) ataupun negatif (anion).Hidrogen
dapat membentuk senyawa dengan kebanyakan unsur dan dapat dijumpai dalam
air dan senyawa-senyawa organik.
Gas hidrogen sangat mudah terbakar dan akan terbakar pada konsentrasi
serendah 4% H2 di udara bebas.Entalpi(jumlah energi dari suatu sistem
termodinamika) pembakaran hidrogen adalah -286 kJ/mol. Hidrogen terbakar
menurut persamaan kimia :
2 H2(g) + O2(g) → 2 H2O(l) + 572 kJ (286 kJ/mol)
Ketika dicampur dengan oksigen dalam berbagai perbandingan, hidrogen
meledak seketika disulut dengan api dan akan meledak sendiri pada temperatur
560 °C.Lidah api hasil pembakaran hidrogen-oksigen murni memancarkan
gelombang ultraviolet dan hampir tidak terlihat dengan mata telanjang. Oleh
karena itu, sangatlah sulit mendeteksi terjadinya kebocoran hidrogen secara
visual.Hidrogen mendatangkan beberapa bahaya kesehatan pada manusia, mulai
dari potensi ledakan dan kebakaran ketika tercampur dengan udara, sampai
dengan sifatnya yang menyebabkan asfiksia pada keadaan murni tanpa oksigen.
2.4. Generator
Generatoradalah suatu alat yang dapat mengubah tenaga mekanik menjadi
energi listrik.Tenaga mekanik bisa berasal dari panas, air, uap, dll.Energi listrik
yang dihasilkan oleh generator bisa berupa listrik AC (bolak-balik) maupun DC

Universitas Sumatera Utara

(searah).Hal tersebut tegantung dari konstruksi generator yang dipakai oleh
pembangkit listrik.
Generatorberhubungan erat dengan hukum faraday. Berikut hasil dari
hukum faraday “bahwa apabila sepotong kawat penghantar listrik berada dalam
medan magnet berubah-ubah, maka dalam kawat tersebut akan terbentuk Gaya
Gerak Listrik (GGL)”
Bila sebatang logam panjang berada di dalam medan listrik, maka akan
menyebabkan elektron bebas akan bergerak ke kiri yang akhirnya akan
menimbulkan medan listrik induksi yang sama kuat dengan medan listrik
(Gambar 2.9) sehingga kuat medan total menjadi nol. Dalam hal ini potensial
kedua ujung logam menjadi sama besar dan aliran elektron akan berhenti, maka
kedua ujung logam terdapat muatan induksi. Agar aliran elektron bebas berjalan
terus maka harus muatan induksi ini terus diambil, sehingga pada logam tidak
timbul medan listrik induksi. Dan sumber ggl (misal baterai) yang dapat membuat
beda potensial kedua ujung logam tetap, sehingga aliran elektron tetap berjalan.

Gambar 2.8. Aliran Elektron Pada Sebatang Logam
2.5. Gsm Shield Simcomm (SIM 900A)
Sim900A adalah komponen tambahan sebagai pengirim data secara pesan
singkat yang digunakan pada penelitian ini.Modul Sim900A GSM/GPRS adalah
bagian yang berfungsi untuk berkomunikasi antara pemantau utama dengan
ponsel.GSM (Global System for Mobile Communications) mulai menggeser
AMPSdiawal tahun 1995, PT.Telkomsel dan PT.Satelindo adalah dua operator
peloporteknologi GSM di Indonesia.GSM menggunakan teknologi digital, ada
beberapakeunggulan menggunakan teknologi digital dibandingkan dengan analog
sepertikapasitas yang besar, sistem keamanan yang lebih baik dan layanan yang
lebihberagam. GSM menggunakan teknlogi akses gabungan antara FDMA
(FrequencyDivision Multiple Acces) dan TDMA (Time Division Multiple Acces)

Universitas Sumatera Utara

yang awalnyabekerja pada frekwensi 900 Mhz dan ini merupakan standar yang
dipelopori olehETSI (The European Telecommunication Standard Institute)
dimana frekwensi yangdigunakan dengan lebar pita frekwensi 25 Khz pada band
frekwensi 900 Mhz. Pitafrekwensi 25 Khz ini kemudian dibagi menjadi 124
carrierfrekwensi yang terdiridari 200 Khz setiap carrier. Carrierfrekwensi 200 Khz
kemudian dibagi menjadi 8 time slotdimana setiap userakan melakukan dan
menerima panggilan dalam satutime slotberdasarkan pengaturan waktu.
Teknologi GSM sampai saat ini palingbanyak digunakan di dunia dan juga
di Indonesia karena salah satu keunggulan GSMadalah kemampuan roamingyang
luas sehingga dapat dipakai di berbagai negara.Namun kecepatan akses data pada
jaringan GSM sangat kecil yaitu sekitar 9.6 kbps, karena pada awalnya hanya
dirancang untuk penggunaan suara.

Gambar 2.10. GSM Shield Simcomm (Sim 900A)
2.5.1. General Packet Radio Service
Pada awalnya akses data yang dipakai dalam GSM sangat kecil hanya
sekitar9.6 kbps karena memang tidak dimaksudkan untuk akses data kecepatan
tinggi.Teknologi yang digunakan GSM dalam akses data adalah WAP (Wireless
ApplicationProtocol). Kemudian generasi selanjutnya adalah teknologi GPRS
(General PacketData Radio Service) yang pertama kali dikenalkan di Indonesia
oleh PT. IndosatMulti Media pada tahun 2001, GPRS merupakan generasi
penerus dari GSM.Secara teori kecepatan akses data menggunakan GPRS
adalahsebesar 115 kbps dengan throughput yang didapat adalah 20 – 30
kbps.Karena pada awalnya pemakaian GPRS lebihditujukan untuk penggunaan
akses internet.

Universitas Sumatera Utara

2.5.2. Short Message Service
SMS merupakan salah satu fitur dari GSM (Global System for
MobileCommunication) yang dikembangkan dan distandarisasi oleh ETSI
(EuropeanTelecommunications Standard Institute). Pada saat kita mengirim pesan
SMS darihandphone maka pesan SMS tersebut tidak langsung dikirim ke
handphonetujuan, akan tetapi terlebih dahulu dikirim ke SMS Center (SMSC)
dengan prinsipstore and forward, setelah itu baru dikirimkan ke handphone yang
dituju. Dari SMSCini dapat diketahui status dari SMS yang dikirim, apakah telah
sampai atau gagalditerima oleh handphone tujuan. Apabila handphone tujuan
dalam keadaan aktifdan menerima SMS yang dikirim, maka akan ada konfirmasi
pesan ke SMSCyang menyatakan bahwa SMS telah diterima. Kemudian SMSC
mengirimkankembali status tersebut kepada pengirim. Tetapi jika handphone
tujuan dalamkeadaan mati atau di luar jangkauan, SMS yang dikirimkan
akandisimpan padaSMSC sampai periode validitas terpenuhi. Jika periode
validitas terlewati makaSMS itu akan dihapus dari SMSC dan tidak dikirimkan ke
handphone tujuan. SMSCakan mengirim pesan informasi ke nomor pengirim yang
menyatakan pesandikirim belum diterima atau gagal.
Sebuah pesan SMS maksimal terdiri dari 140 bytes, dengan kata lain sebuah
pesan bisa memuat 140 karakter 8-bit, 160 karakter 7-bit atau 70 karakter 16-bit
untuk bahasa Jepang, bahasa Mandarin dan bahasa Korea yang memakai Hanzi
(Aksara Kanji / Hanja). Selain 140 bytes ini ada data-data lain yang
termasuk.Adapula beberapa metode untuk mengirim pesan yang lebih dari 140
bytes, tetapi seorang pengguna harus membayar lebih dari sekali.

Gambar 2.11.Cara Kerja Sms

Universitas Sumatera Utara

2.6. LCD (Liquid Cristal Display)
LCD (Liquid Crystal Display) adalah suatu jenis media tampilan yang
menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan
diberbagai bidang misalnya alal–alat elektronik seperti televisi, kalkulator,
ataupun layar komputer.Pada postingan aplikasi LCD yang dugunakan ialah LCD
dot-matrik dengan jumlah karakter 16x2. LCD sangat berfungsi sebagai penampil
yang nantinya akan digunakan untuk menampilkan status kerja alat.

Gambar 2.12.Bentuk Fisik LCD 16x2
2.6.1. Konfigurasi Pin LCD 16x2
Berikut ini adalah keterangan dari konfigurasi pin LCD 16x2 :

• Pin 1 dan 2

Merupakan sambungan catu daya, Vss dan Vdd. Pin Vdd dihubungkan dengan
tegangan positif catu daya, dan Vss pada 0V atau ground. Meskipun data
menentukan catu 5 Vdc, menyediakan 6V dan 4.5V yang keduanya bekerja
dengan baik, bahkan 3V cukup untuk beberapa modul.
• Pin 3
Pin 3 merupakan pin kontrol Vee, yang digunakan untuk mengatur kontras
display.
• Pin 4
Pin 4 merupakan Register Select (RS), masukan yang pertama dari tiga
command control input. Dengan membuat RS menjadi high, data karakter dapat
ditransfer dari dan menuju modulnya.
• Pin 5

Universitas Sumatera Utara

Read/Write (R/W), untuk memfungsikan sebagai perintah write maka R/W
low atau menulis karakter ke modul. R/W high untuk membaca data karakter atau
informasi status dari register-nya.
• Pin 6
Enable (E), input ini digunakan untuk transfer aktual dari perintah-perintah
atau karakter antara modul dengan hubungan data. Ketika menulis ke display, data
ditransfer hanya pada perpindahan high atau low. Tetapi ketika membaca dari
display, data akan menjadi lebih cepat tersedia setelah perpindahan dari low ke
high dan tetap tersedia hingga sinyal low lagi.
• Pin 7-14
Pin 7 sampai 14 adalah delapan jalur data/data bus (D0 sampai D7) dimana
data dapat ditransfer ke dan dari display.
• Pin 16
Pin 16 dihubungkan kedalam tegangan 5 Volt untuk memberi tegangan dan
menghidupkan lampu latar/Back Light LCD.
2.6.2. Karakteristik LCD 16x2

• Terdapat 16 x 2 karakter huruf yang bisa ditampilkan.

• Setiap huruf terdiri dari 5x7 dot-matrix cursor.

• Terdapat 192 macam karakter.

• Terdapat 80 x 8 bit display RAM (maksimal 80 karakter).

• Memiliki kemampuan penulisan dengan 8 bit maupun dengan 4 bit.
• Otomatis reset saat tegangan dihidupkan.

• Koneksi pengendalian yang digunakan adalah 4bit Data Interface.

• Telah dilengkapi pengendalian Contrast dan Brightnees.

• Telah disediakan kabel IDC 10 sehingga dapat langsung dihubungkan
• Bekerja pada suhu 0oC sampai 55oC.
2.7. Bahasa Pemrograman
Pemrograman Arduino mempunyai bahasa pemrograman sendiri yaitu
bahasa pemrograman C/C++ yang telah disederhanakan, sehingga pemula pun
bisa mempelajarinya dengan cukup mudah. Untuk membuat program Arduino dan

Universitas Sumatera Utara

mengupload ke dalam board Arduino, membutuhkan software Arduino IDE
(Integrated Development Enviroment).
Sementara dalam pembuatan alat deteksi kebocoran gas hidrogen ini juga
menggunakan bahasa AT Command sebagai masukan data kedalam modem sms
simcomm.
2.7.1. Bahasa 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 berorientasi 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 ini
masih popular dan penggunaannya tersebar di berbagai platform dari windows
sampai linux dan dari PC hingga main frame.Namun sebuah penemuan pastinya
memiliki kelebihan dan kekurangan masing – masing.
Ada pun kekurangan dan Kelebihan Bahasa C adalah sebagai berikut :
a. Kelebihan bahasa C

• Bahasa C tersedia hampir di semua jenis komputer/PC.

• Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis
komputer.

Universitas Sumatera Utara

• Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32
kata kunci.

• Proses executable program bahasa C lebih cepat.
• Dukungan pustaka yang banyak.

• Bahasa 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.Melainkanberorientasi pada obyek tetapi dapat dinterprestasikan oleh
mesin dengan cepat, secepat bahasa mesin.Inilah salah satu kelebihan c yaitu
memiliki kemudahan dalammenyusun programnya semudah bahasa tingkat tinggi
namun dalam mengesekusi program secepat bahasa tingkat rendah.
b.

Kekurangan Bahasa C

• Banyaknya operator serta fleksibilitas penulisan program kadangkadangmembingungkan pemakai.

• Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
2.7.2. AT Command
AT-Command adalah perintah yang dapat diberikan kepada handphone atau
GSM/CDMA modem untuk melakukan sesuatu hal, termasuk untuk mengirim dan
menerima SMS.Dengan memprogram pemberian perintah ini di dalam
mikrokontroler maka perangkat dapat melakukan pengiriman atau penerimaan
SMS secara otomatis untuk mencapai tujuan tertentu.AT Command merupakan
bahasa standar komunikasi dengan modem.AT command bukan merupakan
bahasa pemrograman seperti pascal maupun C, melainkan merupakan kumpulan
instruksi yang dimengerti oleh modem. AT Command ini dulunya diciptakan oleh
perusahaan modem di Amerika Serikat (USA) yaitu Hayes, dan akhirnya diterima
secara internasional sebagai Standar komunikasi modem.
Secara harfiah kepanjangan dari 'AT' adalah Attention yang memiliki arti
meminta 'perhatian' kepada modem untuk melaksanakan instruksi dari luar
(eksternal). Jadi sebenarnya modem dapat diberikan instruksi dari luar untuk
melaksanakan fungsi-fungsi tertentu.

Universitas Sumatera Utara

Komputer ataupun mikrokontroler dapat memberikan perintah ATCommand melalui hubungan kabel data serial ataupun bluetooth.AT Command
ini sebenarnya adalah pengembangan dari perintah yang dapat diberikan kepada
modem Hayes yang sudah ada sejak dulu. Dinamakan AT Command karena
semua perintah diawali dengan karakter A dan T.
Antar perangkat handphone dan GSM/CDMA modem bisa memiliki AT
Command yang berbeda-beda, namun biasanya mirip antara satu perangkat
dengan perangkat lain. Untuk dapat mengetahui secara persis maka kita harus
mendapatkan dokumentasi teknis dari produsen pembuat handphone atau
GSM/CDMA modem tersebut.Agar proses pemberian instruksi AT Command
dapat berlangsung secara otomatis atau sesuai dengan kebutuhan kita diperlukan
bahasa pemrograman yang dapat didesain sesuai kebutuhan. Sebenarnya kita bisa
memberikan instruksi AT Command secara langsung melalui program Hyper
Terminal dan sejenisnya.Namun perintah harus diketik secara manual setiap kali
ingin memberikan perintah ke modem.
Dalam membuat SMS Gateway, AT Command mutlak diperlukan untuk
menginstruksikan modem agar melakukan proses kirim dan terima SMS.
Sementara bahasa pemrograman yang digunakan sebenarnya bisa apa aja
termasuk diantaranya Delphi, VB, PHP, Java, Dll. Yang terpenting disini adalah
mengenkapsulasi AT Command ke dalam bahasa pemrograman yang akan
digunakan.Sesuai dengan namanya, AT Command harus diawali dengan karakter
'AT' atau 'at' (tidak bersifat case sensitive).Contoh :
• ATE (echo / mengulang instruksi agar tertampil dilayar)

• ATD (dial / melakukan panggilan telepon, khusus untuk modem yang memliki
fitur ini)

• AT+CMGR (melihat produsen modem)
• AT+CMGS (mengirim SMS)

Secara umum, berdasarkan fungsinya AT Command dibagi menjadi empat, yaitu :

• AT Command untuk mengeset parameter, misal AT+CMGF=1 (mengeset
karakter SMS menjadi 'text mode')

Universitas Sumatera Utara

• AT Command yang digunakan untuk memerintahkan modem melaksanakan
instruksi tertentu, misal : AT+CMGD=1 (menghapus SMS di index memori
nomor 1)

• AT Command yang digunakan untuk melihat konfigurasi, misal : AT+CGSN
(melihat Serial Number modem), AT+CMGF? (melihat konfigurasi mode
SMS)

• AT Command untuk melihat settingan paramater yang dimiliki oleh suatu
perintah AT Command, misal AT+CMGF=?, AT+CNMI=?
2.7.3. 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
dalampembuatan sebuah program. Secara garis besar tipe data pada bahasa C
dibagi menjadi beberapa bagian antara lain sebagai berikut :
a. 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 (American Standard Code for Information
Interchange), nilai inilah yang sebetulnya disimpan pada variabel yang bertipe
data karakter ini.
b. 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 akan kita simpan. Contohnya seperti

Universitas Sumatera Utara

berikut, kita 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 (tidak bertanda). Namun
berbeda halnya jika kita ingin melakukan operasi pengurangan -5 -300, jika dilihat
hasilnya akan negatif maka selayaknya digunakan variabel dengan tipe data int.
c. 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. Tipe
data double dapat digunakan jika kita membutuhkan variabel yang dapat
menampung tipe data berkoma yang bernilai besar.
Tabel 2.2. 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