• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
22
0
0

Teks penuh

(1)

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 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 Program yang kita buat dengan bahasa pemrograman di download ke mikrokontroler, yang kemudian mikrokontroler akan bekerja sesuai dengan program yang kita buat.

(2)

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

(3)

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.

(4)

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.

(5)

• 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

• 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

(6)

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

(7)

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

(8)

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.

(9)

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

(10)

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.

(11)

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.

(12)

mudah terbakar.Denga di dunia, hidrogen adalah unsur teringan di dunia.

Hidrogen juga adalah unsur pali 75% dari total massa unsur alam semesta.Kebanyaka hidrogen dalam keadaa dijumpai secara alami

berbagai senyawa

dari air melalui proses daripada produksi hidrogen dari gas alam.

ya

ionik hidrogen dapat bermuatan positif dapat membentuk senyawa dengan kebanyakan unsur dan dapat dijumpai dalam

Gas hidrogen sangat mudah terbakar dan akan terbakar pada konsentrasi

serendah 4% H2 di udara bebas

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

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

(13)

(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)

(14)

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

(15)

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

unt

(Aksara

termasuk.Adapula beberapa metode untuk mengirim pesan yang lebih dari 140 bytes, tetapi seorang pengguna harus membayar lebih dari sekali.

(16)

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.

(17)

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

(18)

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.

(19)

• 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 kadang-kadangmembingungkan 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.

(20)

Komputer ataupun mikrokontroler dapat memberikan perintah AT-Command melalui hubungan kabel data serial ataupun bluetooth.AT 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

(21)

• 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

(22)

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

Gambar

Tabel 2.1. Spesifikasi Arduino Uno R3
Gambar 2.6.Peta Memori Data ATMega328
Gambar 2.8.Sensor MQ-8
Gambar 2.8. Aliran Elektron Pada Sebatang Logam
+2

Referensi

Dokumen terkait