BAB II LANDASAN TEORI
2.12 Pengenal Bahasa C
Pengenal (identifier) merupakan sebuah nama yang didefenisikan oleh pemrograman untuk menunjukkan identitas dari sebuah konstanta, variable, fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenal dapat ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi aturan berikut :
• Karakter pertama tidak boleh menggunakan angka.
• Karakter kedua dapat berupa huruf, angka, atau garis bawah.
• Tidak boleh menggunakan spasi.
• Bersifat Case Sensitive, yaitu huruf capital dan huruf kecil dianggap berbeda.
• Tidak boleh mengunakan kata – kata yang merupakan sitaks maupun operator dalam pemrograman C, misalnya : Void, short, const, if, static, bit, long, case, do, switch dan lain-lain
2.12.1. Tipe Data Bahasa C
Tipe data merupakan suatu hal yang penting untuk kita ketahui pada saat belajar bahasa pemrograman. Kita harus dapat menentukan tipe data yang tepat untuk menampung sebuah data, baik itu data berupa bilangan numerik ataupun karakter. Hal ini bertujuan agar program yang kita buat tidak membutuhkan pemesanan kapling memori yang berlebihan. Seorang programmer yang handal harus dapat memilih dan menentukan tipe
data apa yang seharusnya digunakan dalam pembuatan sebuah program. Secara garis besar tipe data pada bahasa C dibagi menjadi beberapa bagian antara lain sebagai berikut Macam-Macam Tipe Data Pada Bahasa C :
1. Tipe Data Karakter
Sebuah karakter, baik itu berupa huruf atau angka dapat disimpan pada sebuah variabel yang memiliki tipe data char dan unsigned char. Besarnya data yang dapat disimpan pada variabel yang bertipe data char adalah -127 - 127. Sedangkan untuk tipe data unsigned char adalah dari 0 -255. Pada dasarnya setiap karakter memiliki nilai ASCII, nilai inilah yang sebetulnya disimpan pada variabel yang bertipe data karakter ini.
2. Tipe Data Bilangan Bulat
Tipe data bilangan bulat atau dapat disebut juga bilangan desimal merupakan sebuah bilangan yang tidak berkoma. Pada bahasa C terdapat bermacam-macam tipe data yang dapat digunakan untuk menampung. bilangan bulat. Kita dapat menyesuaikan penggunaan tipe data dengan terlebih dahulu memperhitungkan seberapa besar nilai yang akan kita simpan. Contohnya seperti berikut, ketika 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 menggunakan tipe data unsigned int. Namun berbeda halnya jika ingin melakukan operasi pengurangan -5 - 300, jika dilihat hasilnya akan negatif maka selayaknya digunakan variabel dengan tipe data int.
3. Tipe Data Bilangan Berkoma
Pada bahasa C terdapat dua buah tipe data yang berfungsi untuk menampung data yang berkoma. Tipe data tersebut adalah float dan double. Double lebih memiliki panjang data yang lebih banyak dibandingkan float. Tipe data double dapat digunakan jika kita membutuhkan variabel yang dapat menampung tipe data berkoma yang bernilai besar.
Tabel 2.1 Tipe Data Pada Bahasa C
TIPE DATA UKURAN JANGKAUAN NILAI
Bit 1 byte 0 atau 1
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.2x10-38 s/d 3.4x10-38 Double 4 byte 1.2x10-38 s/d 3.4x10+38
2.12.2 Konstanta Dan Variabel Bahasa C
Konstanta dan variable merupakan sebuah tempat untuk menyimpan data yang berada di dalam memori. Konstanta berisi data yang nilainya tetap dan tidak dapat diubah selama program dijalankan, sedangkan variable berisi data yang bisa berubah nilainya pada saat program dijalankan.
2.12.3 Identifikasi Bahasa C
Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh pemrogram yang digunakan untuk menyimpan nilai, misalnya nama variable, nama konstanta, nama suatu elemen (misalnya : nama fungsi, nama tipe data, dll). Identifier punya ketentuan sebagai berikut :
1. Maksimum 32 karakter (bila lebih dari 32 karakter maka yang diperhatikan hanya 32 karakter pertama saja).
2. Case sensitive : membedakan huruf besar dan huruf kecilnya.
3. Karakter pertama harus karakter atau underscore (__). Selebihnya boleh angka.
4. Tidak boleh mengandung spasi atau blank.
5. Tidak boleh menggunakan kata yang sama dengan kata kunci dan fungsi. [9]
BAB III
PERANCANGAN ALAT
3.1 Umum
Perancangan merupakan suatu tahap yang sangat penting didalam penyelesaian pembuatan suatu alat pendeteksi asap. Pada perancangan dan pembuatan alat ini akan ditempuh beberapa langkah yang termasuk kedalam langkah perancangan antara lain pemilihan komponen yang sesuai dengan kebutuhan serta pembuatan alat. Dalam perancangan ini dibutuhkan beberapa petunjuk yang menunjang pembuatan alat seperti buku buku teori, data sheet atau buku lainnya dimana buku petunjuk tersebut memuat teori- teori perancangan maupun spesifikasi komponen yang akan digunakan dalam pembuatan alat, melakukan percobaan serta pengujian alat.
3.2 Tujuan Perancangan
Tahap terpenting dalam pembuatan suatu alat adalah perancangan.Hal- hal yang perlu diperhatikan dalam perancangan suatu alat meliputi prinsip kerja rangkaian, spesifikasi komponen yang terdapat pada rangkaian sehingga tidak terjadi kerusakan pada saat pemasangan komponen. Tujuan perancangan adalah untuk memudahkan dalam pembuatan suatu alat serta mendapatkan suatu alat yang baik seperti yang diharapkan dengan memperhatikan penggunaan komponen dengan harga ekonomis serta mudah didapat dipasaran. Selain itu, itu perancangan juga bertujuan untuk membuat solusi dari suatu permasalahan dengan penggabungan prinsip- prinsip elektronik dan mekanik, serta dengan literatur dengan produk yang ada.
3.3 Diagram Blok
Diagram blok sangat efektif untuk menyederhanakan sistem yang rumit agar mudah dimengerti. Dalam tugas akhir ini sistem terdiri atas blok diagram yang terlihat pada gambar 3.1 dibawah ini:
Adapun fungsi masing masing blok diagram pada gambar 3.1 adalah sebagai berikut:
1. PSA berfungsi sebagai sumber daya tegangan.
2. LM2596 berfungsi untuk menurunkan tegangan DC maksimal hingga 3A dengan range DC 3.2V-46V dengan selisih minimum input-output 1.5V DC.
3. Arduino berfungsi sebagai pusat pengendalian, pada sistem pendeteksi asap ini yang dapat diprogram dengan menggunakan bahasa C
4. SIM 800C berfungsi digunakan untuk menggantikan fungsi handphone 5. MQ2 berfungsi untuk mendeteksi keberadaan asap rokok di udara.
Adapun perancangan sistem pada tugas akhir “Perancangan Sistem Terdeteksi Asap Rokok Menggunakan Pelayanan Short Message Service (SMS) Alert Berbasis Arduino”
yaitu:
1. Aliran listrik pada sumbel PLN on maka adaptor akan mengirim arus listrik ke arduino.
2. Arduino melanjutkan kepada GSM SIM800L.
3. GSM SIM 800L akan mengirimkan pesan kepada pengguna hp bila terdeteksi asap.
PSA
LM2596
Arduino SIM 800C MQ2
3.4 Flowchart Pendeteksi Asap Rokok
tidak
Inisialisasi port
Arduino
Delay untuk sensor 5 detik
Baca ADC
IF ( ADC>100: Terdeksi Asap
Jika tidak Buzzer Off Asap terdeteksi
Kirim Notifikasi SMS
Buzzer On Selesai
Mulai
BAB IV
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi Sistem
Implementasi merupakan lanjutan dari tahap analisis dan perancangan alat pendeteksi asap rokok pada ruangan. Pada bab ini akan dijelaskan hasil dari perancangan sistem beserta pengujian alat pendeteksi asap rokok. Pada tahap implementasi ini digunakan perangkat lunak dan perangkat keras, sehingga sistem yang dibangundapat diselesaikan dengan baik.
4.1.1 Implementasi Rangkaian Alat Pendeteksi Asap Rokok
Implementasi rangkaian alat pendeteksi asap rokok dalam ruangan di masukkan dalam box plastik
Utk kerapian dan keamanan
1. Pembuatan miniatur ruangan dari akrilik
Gambar 4.1 Miniatur Ruang dari Akrilik
2. Tahapan selanjutnya penyolderan dan pengkoneksian arduino dan sensor MQ2 dan sim800l.
Gambar 4.2 Rangkaian Koneksi Modul Arduino, Sim800L sertaBuzzer dan KIpas
4.1.2 Implementasi Program Mikrokontroler Arduino
Implementasi program mikrokontroler arduino dibuat menggunakan bahasa pemograman C. Software yang digunakan untuk membuat program adalah editor dan compiler Arduino. File program berekstensi *.ino file yang sudah dikompilasi di upload kedalam mikrokontroler arduino
4.2 Pengujian
Pengujian merupakan salah satu langkah penting yang harus dilakukan untuk mengetahui apakah alat yang dibuat telah sesuai dengan yang direncanakan, hal tersebut dapat diketahui dengan cara mengamati hasil pengujian dan kemudian dianalisa agar dapat diketahui kekurangan dari kinerja sistem yang dibuat. Beberapa pengujian yang dilakukan pada alat pendeteksi asap pada ruangan bebas rokok menggunakan sensor MQ-2 dengan mikrokontroler ATmega 328 ini sebagai berikut:
1. Pengujian sensor asap MQ-2 2. Pengujian sim800l
3. Pengujian rangkaian relay 4. Pengujian alat Keseluruhan
4.3 Pengujian Sensor Asap MQ-2
Pada pengujian sensor MQ-2 digunakan asap, sumber asap yang di ambil yaitu dari pembakaran asap rokok. Pengujian rangkaian sensor asap bertujuan untuk mengetahui ketepatan sensor dalam merespon keberadaan asap rokok di dalam ruangan.
Hasil pengujian rangkaian sensor asap rokok dapat dibagi menjadi 2 bagian yaitu ketika kondisi ruangan normal dan kondisi adanya asap rokok. Hasil uji ruangan kondisi normal dalam ruangan dapat dilihat pada Gambar 4.3 sebagai berikut :
Gambar 4.3 Pengujian Sensor Asap MQ-2
Gambar 4.3.1 Program Pengujian Sensor Asap MQ-2
Kondisi suhu ruangan normal berada pada titik 10 ppm sampai dengan <= 70 ppm, pada kondisi ini ruangan bebas dari asap rokok. Nilai tersebut didapat dari nilai range sensor asap MQ2 yang Kondisi suhu ruangan normal berada pada titik 10 ppm sampai dengan <= 70 ppm, pada kondisi ini ruangan bebas dari asap rokok. Nilai tersebut didapatdari nilai range sensor asap MQ2 yang di set untuk mendeteksi keberadaan asap rokok, karena nilai asap rokok berada pada titik suhu >= 70 ppm.di set untuk mendeteksi keberadaan asap rokok, karena nilai asap rokok berada pada titik suhu >=
100 ppm.
Gambar 4.3.2 Desain Alat
Dari hasil pengujian rangkaian sensor asap 4.3.2 diatas, dapat dikatakan bahwa sensor asap akan bekerja pada tingkat sensifitas>= 100 ppm sampai dengan < 150 ppm.
Ruangan akan normal pada suhu < 70 ppm karena adanya kipas exhaust yang akan membuang keluar semua asap yang ada dalam prototipe ruangan.
4.4 Pengujian Rangakaian Relay
Pengujian rangkaian modul relay dengan cara memberi logika nol dari arduino dan relay aktif,bila di beri logika high maka modul relay tdk aktif.
Gambar 4.4. Rangkaian Relay Pada Arduino
4.5 Pengujian Alat Keseluruhan
Pengujian keseluruhan bertujuan untuk menganalisis kemampuan sistem dari alat pendeteksi asap rokok apakah alat sesuai dengan rancangan. Secara elektronis rangkaian telah bekerja dengan baik, output dari arduino dapat mengirimkan data ke hp melalui sim 800. Tampilan Output indikasi suara dan kipas exhaust pada buzzer juga sudah cukup baik sehingga dapat memberikan peringatan dan membersihkan asap didalam prototipe ruangan.
Gambar 4.5 Pengujian Alat Keseluruhan
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Setelah alat pendeteksi asap rokok terealisasi dan di uji dapat diambil beberapa kesimpulan sebagai berikut :
1. Pada saat sensor MQ2 mendeteksi adanya asap rokok maka tegangan keluaran sensor pada posisi tinggi (lampu led menyala warna merah).
2. Rangkaian mikrokontroler Arduino uno bekerja sesuai dengan rancangan program yang di buat.
3. Pada saat terdeteksi asap rokok buzzer akan mengeluarkan suara dan kipas on serta sim800 akan mengirim sms notifikasi.
5.2 Saran
Adapun saran yang dapat diambil dari tugas akhir ini adalah:
1. Pada pengembangan selanjutnya dapat dibuat penetralisir asap rokok yang lebih cepat sehingga kerja dari sistem lebih effisien, dan untuk mendapatkan hasil yang lebih teliti dapat menggunakan sensor asap lebih dari satu.
2. Dengan adanya alat ini diharapkan dapat menjadi salah satu alternative untuk menjaga kebersihan kualitas udara yang ada didalam ruangan, dan utuk mengurangi polutan udara itu sendiri.
3. Berdasarkan data dan analisa dari alat yang telah dirancang disarankan menggunakan sensor yang lebih bagus dari MQ-2 untuk mendapatkan data perubahan kadar asap yang lebih akurat.
DAFTAR PUSTAKA
[1] Djuandi, Feri. “Pengenalan Arduino”. www.tokobuku.com,.
Diakses pada tanggal 17 Januari 2020
[2] Muhammad, Panduan Mudah Simulasi dan Praktek Mikrokontroller Arduino. Penerbit Andi Yogyakarta 2013
[3] Oscar, J. 2014. Tutorial Arduino and SIM800I GSM Modules.
https://tronixstuff.com/2014/01/08/tutorial-arduino-and-sim800i-gsm-modules.
Diakses pada tanggal 17 Januari 2020
[4] Setiyo, M. 2017. Listrik & Elektronika Dasar Otomotif. Magelang: UNIMMA PRESS.
LAMPIRAN
SIM800L.write("AT+CMGF=1\r\n");
SIM800L.write("AT+CMGS=\"081237029440\"\r\n");//Masukan nomor tujuan delay(500);
SIM800L.write("Asap Terdeteksi Pada Ruangan Mohon Periksa");// isi pesan sms delay(500);
SIM800L.write((char)26);
delay(500);
}
void loop() {
float* values = mq2.read(true);
smoke = mq2.readSmoke();
Serial.println("smoke=");
if (smoke > batasasap) { digitalWrite(kipas, LOW);
digitalWrite(buzzer, HIGH);
kirim_asap();
}
if (smoke < batasasap) {
digitalWrite(kipas, HIGH);
digitalWrite(buzzer, LOW);
}
delay(1000);
}