TUGAS AKHIR-YUSUF DOMINGGO MANURUNG

advertisement
4
BAB 2
LANDASAN TEORI
2.1. SENSOR SUHU LM35
Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi
untuk mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan.
Sensor Suhu LM35 yang dipakai dalam penelitian ini berupa komponen
elektronika elektronika yang diproduksi oleh National Semiconductor. LM35
memiliki keakuratan tinggi dan kemudahan perancangan jika dibandingkan
dengan sensor suhu yang lain, LM35 juga mempunyai keluaran impedansi yang
rendah dan linieritas yang tinggi sehingga dapat dengan mudah dihubungkan
dengan rangkaian kendali khusus serta tidak memerlukan penyetelan lanjutan.
Meskipun tegangan sensor ini dapat mencapai 30 volt akan tetapi yang
diberikan kesensor adalah sebesar 5 volt, sehingga dapat digunakan dengan catu
daya tunggal dengan ketentuan bahwa LM35 hanya membutuhkan arus sebesar 60
µA hal ini berarti LM35 mempunyai kemampuan menghasilkan panas (selfheating) dari sensor yang dapat menyebabkan kesalahan pembacaan yang rendah
yaitu kurang dari 0,5 ºC pada suhu 25 ºC .
5
2.1.1. Struktur Sensor LM35
Gambar 2.1. Sensor Suhu LM35
Gambar diatas menunjukan bentuk dari LM35 tampak depan dan tampak
bawah. 3 pin LM35 menujukan fungsi masing-masing pin diantaranya, pin 1
berfungsi sebagai sumber tegangan kerja dari LM35, pin 2 atau tengah digunakan
sebagai tegangan keluaran atau Vout dengan jangkauan kerja dari 0 Volt sampai
dengan 1,5 Volt dengan tegangan operasi sensor LM35 yang dapat digunakan
antar 4 Volt sampai 30 Volt. Keluaran sensor ini akan naik sebesar 10 mV setiap
derajad celcius sehingga diperoleh persamaan sebagai berikut :
VLM35 = Suhu* 10 mV
6
Gambar 2.2. Skematik rangkaian dasar sensor suhu
Gambar diatas kanan adalah gambar skematik rangkaian dasar sensor suhu
LM35-DZ. Rangkaian ini sangat sedeCrhana dan praktis. Vout adalah tegangan
keluaran sensor yang terskala linear terhadap suhu terukur, yakni 10 milivolt per 1
derajad celcius. Jadi jika Vout = 530mV, maka suhu terukur adalah 53 derajad
Celcius.Dan jika Vout = 320mV, maka suhu terukur adalah 32 derajad Celcius.
Tegangan keluaran ini bisa langsung diumpankan sebagai masukan ke rangkaian
pengkondisi sinyal seperti rangkaian penguat operasional dan rangkaian filter,
atau rangkaian lain seperti rangkaian pembanding tegangan dan rangkaian
Analog-to-Digital Converter.
Rangkaian dasar tersebut cukup untuk sekedar bereksperimen atau untuk
aplikasi yang tidak memerlukan akurasi pengukuran yang sempurna. Akan tetapi
tidak untuk aplikasi yang sesungguhnya. Terbukti dari eksperimen yang telah saya
lakukan, tegangan keluaran sensor belumlah stabil. Pada kondisi suhu yang relatif
sama, jika tegangan suplai saya ubah-ubah (saya naikkan atau turunkan), maka
Vout juga ikut berubah. Memang secara logika hal ini sepertinya benar, tapi untuk
instrumentasi hal ini tidaklah diperkenankan. Dibandingkan dengan tingkat
7
kepresisian, maka tingkat akurasi alat ukur lebih utama karena alat ukur
seyogyanya dapat dijadikan patokan bagi penggunanya. Jika nilainya berubahubah untuk kondisi yang relatif tidak ada perubahan, maka alat ukur yang
demikian ini tidak dapat digunakan.
2.1.2. Karakteristik Sensor LM35.
Gambar 2.3. kaki-kaki LM35
1. Memiliki sensitivitas suhu, dengan faktor skala linier antara tegangan dan suhu
10 mVolt/ºC, sehingga dapat dikalibrasi langsung dalam celcius.
2. Memiliki ketepatan atau akurasi kalibrasi yaitu 0,5ºC pada suhu 25 ºC seperti
terlihat pada gambar 2.2.
3. Memiliki jangkauan maksimal operasi suhu antara -55 ºC sampai +150 ºC.
4. Bekerja pada tegangan 4 sampai 30 volt.
5. Memiliki arus rendah yaitu kurang dari 60 µA.
6. Memiliki pemanasan sendiri yang rendah (low-heating) yaitu kurang dari 0,1
ºC pada udara diam.
7. Memiliki impedansi keluaran yang rendah yaitu 0,1 W untuk beban 1 mA.
8
8. Memiliki ketidaklinieran hanya sekitar ± ¼ ºC.
Gambar 2.4. Grafik akurasi LM35 terhadap suhu
Sensor LM35 bekerja dengan mengubah besaran suhu menjadi besaran
tegangan. Tegangan ideal yang keluar dari LM35 mempunyai perbandingan
100°C setara dengan 1 volt. Sensor ini mempunyai pemanasan diri (self heating)
kurang dari 0,1°C, dapat dioperasikan dengan menggunakan power supply
tunggal dan dapat dihubungkan antar muka (interface) rangkaian control yang
sangat mudah.
IC LM 35 sebagai sensor suhu yang teliti dan terkemas dalam bentuk
Integrated Circuit (IC), dimana output tegangan keluaran sangat linear terhadap
perubahan suhu. Sensor ini berfungsi sebagai pegubah dari besaran fisis suhu ke
besaran tegangan yang memiliki koefisien sebesar 10 mV /°C yang berarti bahwa
kenaikan suhu 1° C maka akan terjadi kenaikan tegangan sebesar 10 mV.
9
Gambar 2.5. Rangkaian Sensor LM35
IC LM 35 ini tidak memerlukan pengkalibrasian atau penyetelan dari luar
karena ketelitiannya sampai lebih kurang seperempat derajat celcius pada
temperature ruang. Jangka sensor mulai dari – 55°C sampai dengan 150°C, IC
LM35 penggunaannya sangat mudah, difungsikan sebagai kontrol dari indicator
tampilan catu daya terbelah. IC LM 35 dapat dialiri arus 60 µ A dari supplay
sehingga panas yang ditimbulkan sendiri sangat rendah kurang dari 0 ° C di dalam
suhu ruangan.
Untuk mendeteksi suhu digunakan sebuah sensor suhu LM35 yang dapat
dikalibrasikan langsung dalam C (celcius), LM35 ini difungsikan sebagai basic
temperature sensor.
Adapun keistimewaan dari IC LM 35 adalah :
•
Kalibrasi dalam satuan derajat celcius.
•
Lineritas +10 mV/ º C.
•
Akurasi 0,5 º C pada suhu ruang.
•
Range +2 º C – 150 º C.
•
Dioperasikan pada catu daya 4 V – 30 V.
•
Arus yang mengalir kurang dari 60 µA
10
2.1.3. Prinsip Kerja Sensor LM35
Secara prinsip sensor akan melakukan penginderaan pada saat perubahan
suhu setiap suhu 1 ºC akan menunjukan tegangan sebesar 10 mV. Pada
penempatannya LM35 dapat ditempelkan dengan perekat atau dapat pula disemen
pada permukaan akan tetapi suhunya akan sedikit berkurang sekitar 0,01 ºC
karena terserap pada suhu permukaan tersebut. Dengan cara seperti ini diharapkan
selisih antara suhu udara dan suhu permukaan dapat dideteksi oleh sensor LM35
sama dengan suhu disekitarnya, jika suhu udara disekitarnya jauh lebih tinggi atau
jauh lebih rendah dari suhu permukaan, maka LM35 berada pada suhu permukaan
dan suhu udara disekitarnya .
Jarak yang jauh diperlukan penghubung yang tidak terpengaruh oleh
interferensi dari luar, dengan demikian digunakan kabel selubung yang ditanahkan
sehingga dapat bertindak sebagai suatu antenna penerima dan simpangan
didalamnya, juga dapat bertindak sebagai perata arus yang mengkoreksi pada
kasus yang sedemikian, dengan mengunakan metode bypass kapasitor dari Vin
untuk ditanahkan.
Maka dapat disimpulkan prinsip kerja sensor LM35 sebagai berikut:
•
Suhu lingkungan di deteksi menggunakan bagian IC yang peka terhadap
suhu
•
Suhu lingkungan ini diubah menjadi tegangan listrik oleh rangkaian di
dalam IC, dimana perubahan suhu berbanding lurus dengan perubahan
tegangan output.
•
Pada seri LM35
11
Vout=10 mV/oC
Tiap perubahan 1oC akan menghasilkan perubahan tegangan output
sebesar 10mV
2.1.4. Kelebihan dan Kelemahan Sensors LM35
•
Kelebihan:
a. Rentang suhu yang jauh, antara -55 sampai +150 oC
b. Low self-heating, sebesar 0.08 oC
c. Beroperasi pada tegangan 4 sampai 30 V
d. Rangkaian tidak rumit
e. Tidak memerlukan pengkondisian sinyal
•
Kekurangan:
Membutuhkan sumber tegangan untuk beroperasi
2.2. LCD ( Liquid Crystal Display )
LCD ( Liquid Crystal Dispalay ) sering diartikan dalam bahasa indonesia
sebagai tampilan kristal cair merupakan suatu jenis media tampilan yang
menggunakan kristal cair sebagai penampil utama.
LCD dapat menampilkan karakter ASCI sehingga kita bisa menampilkan
campuran huruf dan angka sekaligus berwarna ataupun tidak berwarna, hal ini
disebabkan karena terdapat banyak sekali titik cahaya (piksel) yang terdiri dari
satu buah kristal cair sebagai sebuah titik cahaya. Walau disebut sebagai titik
cahaya namun kristal cair ini tidak memancarkan cahaya sendiri. Sumber cahaya
didalam sebuah perangkat LCD adalah lampu neon berwarna putih dibagian
12
belakang susunan kristal cair tadi. Titik cahaya yang jumlahnya puluhan ribu
bahkan jutaan inilah yang membentuk tampilan citra. Kutub kristal cair yang
dilewati arus listrik akan berubah karena pengaruh polarisasi medan magnetik
yang timbul dan oleh karenanya akan hanya membiarkan beberapa warna
diteruskan sedangkan warna lainnya tersaring.
Dalam menampilkan karakter untuk membantu menginformasikan proses
dan control yang terjadi dalam suatu program robot kita sering menggunakan
LCD. Ada beberapa jenis LCD perbedaannya hanya terletak pada alamat menaruh
karakternya. Salah satu LCD yang sering dipergunakan adalah LCD 16x2 artinya
LCD tersebut terdiri dari 16 kolom dan 2 baris. LCD ini sering digunakan karena
harganya yang relatif murah dan pemakaian nya yang mudah. LCD yang kita
gunakan masih membutuhkan agar dapat dikoneksikan dengan system minimum
dalam suatu mikrokontroler. Driver tersebut berisi rangkaian pengaman, pengatur
tingkat kecerahan backligt maupun data serta untuk mempermudah pemasangan
di mikrokontroler (portable-red).
Gambar 2.6. LCD 16 x 2
13
Modul LCD memiliki karakteristik sebagai berikut:
1. Terdapat 16 x 2 karakter huruf yang bisa ditampilkan.
2. Setiap terdiri dari 5 x 7 dot-matrix cursor.
3. Terdapat 192 macam karakter.
4. Terdapat 80 x 8 bit display RAM ( maksimal 80 karakter ).
5. Memiliki kemampuan penulisan dengan 8 bit maupun dengan 4 bit.
6. Dibangun oleh osilator lokal.
7. Satu sumber tegangan 5 Volt.
8. Otomatis reset saat tegangan dihidupkan.
9. Bekerja pada suhu 0oC sampai 550C.
14
2.2.1. Konfigurasi Pin LCD
Tabel 2.1. Konfigurasi Pin LCD
No
1
Simbol
Vss
Level
-
Fungsi
0 Volt
2
Vcc
-
5+10% Volt
3
Vee
-
Penggerak LCD
4
RS
H/L
H=Memasukkan Data,L=Memasukkan Ins
5
R/W
H/L
H=Baca, L=Tulis
6
E
7
DB0
H/L
8
DB1
H/L
9
DB2
H/L
10
DB3
H/L
11
DB4
H/L
12
DB5
H/L
13
DB6
H/L
14
DB7
H/L
15
V+BL
16
V-BL
Enable Signal
Data Bus
Kecerahan LCC
2.3. Mikrokontroler ATmega32
Mikrokontroler ATmega32 adalah mikrokontroler 8-bit keluaran Atmel
dari keluarga AVR. Pihak Atmel menyatakan bahwa AVR bukanlah sebuah
akronim atau singkatan dari suatu kalimat tertentu, perancang arsitektur AVR,
Alf-Egil Bogen dan Vegard Wollan tidak memberikan jawaban yang pasti tentang
singkatan AVR ini (http://en.wikipedia.org/wiki/Atmel_AVR). Mikrokontroler ini
dirancang berdasarkan arsitektur AVR RISC (Reduced Instruction Set Computer)
15
yang mengeksekusi satu instruksi dalam satu siklus clock sehingga dapat
mencapai eksekusi instruksi sebesar 1 MIPS (Million Instruction Per Second)
setiap 1 MHZ frekuensi clock yang digunakan mikrokontroler tersebut. Frekuensi
clock yang digunakan dapat diatur melalui fuse bits dan kristal yang digunakan.
Jika kristal yang digunakan sebesar 16 MHZ sehingga frekuensi clock-nya sebesar
16 MHZ maka eksekusi instruksinya mencapai 16 MIPS (Atmel, 2009).
ATmega32 memiliki fitur utama antara lain: 16K x 16 byte In-System
Programmable Flash Program memory dari alamat 0000H sampai 3FFFH. Flash
memory ini terbagi menjadi dua bagian yaitu application flash section dan boot
flash section. Data memori sebesar 2144 byte yang terbagi atas 32 general
purpose register, 64 I/O register, dan 2KB internal SRAM (Static Random Access
Memory), 1 KB EEPROM (Electrically Eraseable Read Only Memory), 32 I/O
pin, tiga unit timer/counter, internal dan eksternal interrupt, USART (Universal
Synchronous and Asynchronous Receiver Transceiver), TWI (Two-wire Serial
Interface), 10-bit ADC (Analog to Digital Converter) delapan saluran, SPI (Serial
Programmable Interface), watchdog timer, dan internal clock generator. Seperti
telah disebutkan di atas, ATmega32 memiliki 32 general purpose register, dan
register ini terhubung langsung dengan dengan ALU (Arithmatic Logic Unit)
sehingga dua register dapat sekaligus diakses dalam satu instruksi yang
dieksekusi tiap clock-nya. Sehingga arsitektur seperti ini lebih efisien dalam
eksekusi kode program dan dapat mencapai eksekusi sepuluh kali lebih cepat
dibandingkan mikrokontroler CISC (Complete Instruction Set Computer) (Atmel,
2009). Gambar 2.1, 2.2, dan 2.3 masing-masing menunjukkan desain memori,
susunan pin, dan arsitektur mikrokontroler ATmega32.
16
Gambar 2.7. Susunan Pin Atmega32
Gambar 2.8. Arsitektur Mikrokontroler Atmega32
17
ATmega32 memiliki clock generator internal sehingga mikrokontroler ini
dapat bekerja langsung tanpa menggunakan clock eksternal. Sinyal clock internal
yang dibangkitkan sebesar 1 MHZ. Jadi, cukup dengan menghubungkan Vcc dan
Gnd dengan tegangan 5V DC mikrokontroler ini dapat bekerja.
Untuk membuat program untuk ATmega32 dapat digunakan WinAVR
atau AVR Studio yang dapat diperoleh secara gratis (freeware). Namun dalam
pembahasan, ini software yang digunakan adalah WinAVR. Program dibuat
dalam bahasa C dan menambahkan file header untuk ATmega32 yang berisi
register-register pada ATmega32. Setelah program di-compile akan menghasilkan
file dengan tipe Intel hex (.hex). File inilah yang nantinya akan di-programkan ke
ATmega32 melalui interface bsd programmer (Brian Dean's Programmer) yang
terhubung ke komputer melalui port paralel. Koneksi antara ATmega32 dan port
paralel untuk bsd programmer diberikan oleh tabel berikut ini
Tabel 2.2 Koneksi Pin Port Paralel dan ATmega32
Port paralel
ATmega32
No pin
Nama pin
No pin
Nama pin
7
D5
9
Reset
8
D6
8
SCK
9
D7
6
MOSI
10
S6
7
MISO
9
Ground
11
Ground
18
Secara fungsional konfigurasi pin ATMega32 adalah sebagai berikut:
a.
VCC
- Tegangan sumber
b.
GND (Ground)
- Ground
c.
Port A (PA7 – PA0)
Port A adalah 8-bit port I/O yang bersifat bi-directional dan setiap
pin memilki internal pull-up resistor. Output buffer port A dapat
mengalirkan arus sebesar 20 mA. Ketika port A digunakan sebagai input
dan di pull-up secara langsung, maka port A akan mengeluarkan arus jika
internal pull-up resistor diaktifkan. Pin-pin dari port A memiliki fungsi
khusus yaitu dapat berfungsi sebagai channel ADC (Analog to Digital
Converter) sebesar 10 bit. Fungsi-fungsi khusus pin-pin port A dapat
ditabelkan seperti yang tertera pada tabel 2.1
19
Tabel 2.3 Fungsi khusus port A
d.
Port
Alternate Function
PA7
ADC7 (ADC input channel 7)
PA6
ADC6 (ADC input channel 6)
PA5
ADC5 (ADC input channel 5)
PA4
ADC4 (ADC input channel 4)
PA3
ADC3 (ADC input channel 3)
PA2
ADC2 (ADC input channel 2)
PA1
ADC1 (ADC input channel 1)
PA0
ADC0 (ADC input channel 0)
Port B (PB7 – PB0)
Port B adalah 8-bit port I/O yang bersifat bi-directional dan setiap
pin mengandung internal pull-up resistor. Output buffer port B dapat
mengalirkan arus sebesar 20 mA. Ketika port B digunakan sebagai input
dan di pull-down secara external, port B akan mengalirkan arus jika
internal pull-up resistor diaktifkan.
Pin-pin port B memiliki fungsi-fungsi khusus, diantaranya :
1. SCK port B, bit 7
Input pin clock untuk up/downloading memory.
2.
MISO port B, bit 6
Pin output data untuk uploading memory.
20
3. MOSI port B, bit 5
Pin input data untuk downloading memory.
Fungsi-fungsi khusus pin-pin port B dapat ditabelkan seperti yang tertera
pada tabel dibawah ini
Tabel 2.4 Fungsi khusus port B
Port
Alternate Function
PB7
SCK (SPI Bus Serial Clock)
PB6
MISO (SPI Bus Master Input/Slave Output)
PB6
MOSI (SPI Bus Master Output/Slave Input)
PB5
SS (SPI Slave Select Input)
AIN1 (Analog Comparator Negative Input)
PB3
OCO (Timer/Counter0 Output Compare Match Output)
AIN0 (Analog Comparator Positive Input)
PB2
INT2 (External Interrupt 2 Input)
PB1
T1 (Timer/Counter1 External Counter Input)
T0 (Timer/Counter External Counter Input) XCK
PB0
(USART External Clock Input/Output)
e.
Port C (PC7 – PC0)
Port C adalah 8-bit port I/O yang berfungsi bi-directional dan setiap
pin memiliki internal pull-up resistor. Output buffer port C dapat
21
mengalirkan arus sebesar 20 mA. Ketika port C digunakan sebagai input
dan di pull-down secara langsung, maka port C akan mengeluarkan arus
jika internal pull-up resistor diaktifkan. Fungsi-fungsi khusus pin-pin port
C dapat ditabelkan seperti yang tertera pada tabel 2.3
Tabel 2.5 Fungsi khusus port C
f.
Port
Alternate Function
PC7
TOSC2 (Timer Oscillator Pin 2)
PC6
TOSC1 (Timer Oscillator Pin 1)
PC6
TD1 (JTAG Test Data In)
PC5
TD0 (JTAG Test Data Out)
PC3
TMS (JTAG Test Mode Select)
PC2
TCK (JTAG Test Clock)
PC1
SDA (Two-wire Serial Bus Data Input/Output Line)
PC0
SCL (Two-wire Serial Bus Clock Line)
Port D (PD7 – PD0)
Port D adalah 8-bit port I/O yang berfungsi bi-directional dan setiap
pin memiliki internal pull-up resistor. Output buffer port D dapat
mengalirkan arus sebesar 20 mA. Ketika port D digunakan sebagai input
dan di pull-down secara langsung, maka port D akan mengeluarkan arus
jika internal pull-up resistor diaktifkan. Fungsi-fungsi khusus pin-pin port
D dapat ditabelkan seperti yang tertera pada tabel dibawah ini
22
Tabel 2.6 Fungsi khusus port D
Port
Alternate Function
OC2 (Timer / Counter2 Output Compare Match
PD7
Output)
PD6
ICP1 (Timer/Counter1 Input Capture Pin)
OCIB (Timer/Counter1 Output Compare B Match
PD6
Output)
PD5
TD0 (JTAG Test Data Out)
PD3
INT1 (External Interrupt 1 Input)
PD2
INT0 (External Interrupt 0 Input)
PD1
TXD (USART Output Pin)
PD0
RXD (USART Input Pin)
2.4 Bahasa Pemograman C
Bahasa C dikembangkan pada Lab Bell pada tahun 1978, oleh Dennis
Ritchi dan Brian W. Kernighan. Pada tahun 1983 dibuat standar C yaitu stnadar
ANSI ( American National Standards Institute ), yang digunakan sebagai referensi
dari berbagai versi C yang beredar dewasa ini termasuk Turbo C.
Dalam beberapa literature, bahasa C digolongkan bahasa level menenganh
karena bahasa C mengkombinasikan elemen bahasa tinggi dan elemen bahasa
rendah. Kemudahan dalam level rendah merupakan tujuan diwujudkanya bahasa
C. pada tahun 1985 lahirlah pengembangan ANSI C yang dikenal dengan C++
23
(diciptakan oleh Bjarne Struostrup dari AT % TLab). Bahasa C++ adalah
pengembangan dari bahasa C. bahasa C++ mendukung konsep pemrograman
berorientasu objek dan pemrograman berbasis windows.
Sampai
sekarang
bahasa
C++
terus
brkembang
dan
hasil
perkembangannya muncul bahasa baru pada tahun 1995 (merupakan keluarga C
dan C++ yang dinamakan java). Istilah prosedur dan fungsi dianggap sama dan
disebut dengan fungsi saja. Hal ini karena di C++ sebuah prosedur pada dasanya
adalah sebuah fungsi yang tidak memiliki tipe data kembalian (void). Hingga kini
bahasa ni masih popular dan penggunaannya tersebar di berbagai platform dari
windows samapi linux dan dari PC hingga main frame.
Ada pun kekurangan dan Kelebihan Bahasa C sebagai berikut :
•
Kelebihan Bahasa C:
·
Bahasa C tersedia hampir di semua jenis computer.
·
Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua
jenis computer.
·
Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya
terdapat 32 kata kunci.
·
Proses executable program bahasa C lebih cepat
·
Dukungan pustaka yang banyak.
·
C adalah bahasa yang terstruktur
·
Bahasa C termasuk bahasa tingkat menengah
penempatan ini hanya menegaskan bahwa c bukan bahasa pemrograman
yang berorientasi pada mesin. yang merupakan ciri bahasa tingkat rendah.
Melainkan berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin
24
dengan cepat. secepat bahasa mesin. inilah salah satu kelebihan c yaitu memiliki
kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun
dalam mengesekusi program secepat bahasa tingkat rendah.
•
Kekurangan Bahasa C:
·
Banyaknya operator serta fleksibilitas penulisan program kadangkadang membingungkan pemakai.
·
2.4.1
Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
Struktur Bahasa C
a. Program bahasa C tersusun atas sejumlah blok fungsi.
b. Setiap fungsi terdiri dari satu atau beberapa pernyataan untuk melakukan
suatu proses tertentu.
c. Tidak ada perbedaan antara prosedur dan fungsi.
d. Sstiap program bahasa C mempunyai suatu fungsi dengan nama “main”
(Program Utama).
e. Fungsi bisa diletakkan diatas atau dibawah fungsin “main”.
f. Setiap statemen diakhiri dengan semicolon (titik koma).
2.4.2 Pengenal
Pengenal (identifier) merupakan sebuah nama yang didefenisikan oleh
pemrograman untuk menunjukkan indetitas dari sebuah konstanta, variable,
fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenal dapat
ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi atura
berikut :
25
•
Karakter pertama tidak boleh menggunakan angka
•
Karakter kedua dapat berupa huruf, angka, atau garis bawah.
•
Tidak boleh menggunakan spasi.
•
Bersifat Case Sensitive, yaitu huru capital dan huruf kecil dianggap
berbeda.
•
Tidak boleh mengunakan kata – kata yang merupakan sitaks maupun
operator dalam pemrograman C, misalnya : Void, short, const, if, static, bit,
long, case, do, switch dll.
2.4.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
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
26
karakter memiliki nilai ASCII, nilai inilah yang sebetulnya disimpan pada
variabel yang bertipe data karakter ini.
2. Tipe Data Bilangan Bulat
Tipe data bilangan bulat atau dapat disebut juga bilangan desimal
merupakan sebuah bilangan yang tidak berkoma. Pada bahasa C terdapat
bermacam-macam tipe data yang dapat kita gunakan untuk menampung bilangan
bulat. Kita dapat menyesuaikan penggunaan tipe data dengan terlebih dahulu
memperhitungkan seberapa besar nilai yang akan kita simpan. Contohnya seperti
berikut, kiata akan melakukan operasi penjumlahan nilai 300 dan 100 dan
hasilnya akan disimpan pada variabel c.
Jika dilihat, hasil dari penjumlahan tersebut nilainya akan lebih besar dari
255 dan nilainya pasti positif, oleh karena itu sebaiknya kita menggunakan tipe
data unsigned int. Namun berbeda halnya jika saya ingin melakukan operasi
pengurangan -5 - 300, jika dilihat hasilnya akan negatif maka selayaknya
digunakan variabel dengan tipe data int.
3. Tipe Data Bilangan Berkoma
Pada bahasa C terdapat dua buah tipe data yang berfungsi untuk
menampung data yang berkoma. Tipe data tersebut adalah float dan double.
Double lebih memiliki panjang data yang lebih banyak dibandingkan float. Tipe
data double dapat digunakan jika kita membutuhkan variabel yang dapat
menampung tipe data berkoma yang bernilai besar.
27
Tabel 2.7 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
2.4.4
Konstanta Dan Variabel
Konstanta dan variable merupakan sebuah tempat untuk menyimpan data
yang berada di dalam memori. Konstanta berisi data yang nilainya tetap dan tidak
dapat diubah selama program dijalankan, sedangkan variable berisi data yang bisa
berubah nilainya pada saat program dijalankan.
Download