TIPE DATA DAN OPERATOR
Pendahuluan
Sebuah bahasa pemrograman
tidak terlepas pada Tipe Data, karena memiliki fungsi yang sangat penting yaitu
untuk menyatakan jenis nilai yang dimiliki oleh sebuah variabel. Selain itu,
bahasa pemrograman juga membutuhkan Variabel yang berfungsi untuk menyimpan
nilai baik itu huruf, karakter atau angka dan Operator yang biasanya di identikan
dengan perhitungan yang bermain pada angka di tipe data integer atau yang
memiliki nilai angka bulat.
Tujuan
Instruksional Khusus
Mahasiswa
dapat menguraikan tipe
data data, variabel, konstanta, operator, dan urutan operasinya
TipeData Dasar
Menyimpan
nilai dalam bentuk bilangan atau angka bulat.
Semua bahasa pemrograman menyediakan tipe data integer
maupun tipe data real atau pecahan.
Contoh
integer: 2 5 -10 135 2008
Secara
teoritis, tipe data integer tidak memiliki batasan, yaitu dari minus tak hingga
hingga plus tak hingga. Namun dalam pemrograman yang menggunakan bahasa
pemprograman C++, secara umum dikenal beberap macam tipe data integer, yaitu:
Tabel Tipe data integer
Tipe
|
Ukuran
|
Nilai
|
Short
|
8 bit
|
-128
.. 127
|
Int
|
16
bit
|
-32768
.. 32767
|
Long
|
32
bit
|
-2147483648
.. 2147483647
|
·
Real/ bilangan riil
..
Contoh
real: .5 0.17 -3.465 92.0 4.3000+E9
Secara
teoritis, tipe data real juga tidak memiliki batasan, yaitu dari minus tak
hingga hingga plus tak hinggaReal adalah tipe data dasar berupa bilangan yang memiliki pecahan desimal. Sama dengan bilangan integer, bilangan Real atau pecahan juga disediakan oleh semua bahasa pemrograman.
tipe data berjenis real ini, harus ditulis dengan sebuah titik sebagai pemisah bilangan utuh dan bilangan pecahannya. Namun dalam pemrograman, secara umum dikenal beberapa macam tipe data real, yaitu:
tipe data berjenis real ini, harus ditulis dengan sebuah titik sebagai pemisah bilangan utuh dan bilangan pecahannya. Namun dalam pemrograman, secara umum dikenal beberapa macam tipe data real, yaitu:
Tabel Tipe data real
Tipe
|
Ukuran
|
Nilai
|
Float
|
32
bit
|
2.9x10-39
.. 1.7x1038
|
Double
|
48
bit
|
5.0x10-324
.. 1.7x10308
|
· u nil dan dituliskan sebagai “”.
Contoh
char: “5” “A” “?” “+” “$”
Perhatikan
bahwa 5 adalah
integer sedangkan “5” adalah char.
·
String
Seperti
halnya tipe data char, tipe data string merupakan tipe data yang paling banyak
digunakan, tring adalah tipe data dasar yang berupa kumpulan
karakter dengan panjang tertentu. Meskipun berupa kumpulan karakter, karena
tipe data string sering digunakan dalam pemrograman, string dianggap sebagai
tipe data dasar. Untuk penyimpanan string didalam memori, dibutuhkan 1 byte
untuk tiap karakternya. Serupa dengan penulisan karakter, penulisan sebuah
string juga harus diawali dan diakhiri dengan tanda petik ganda. String juga
mengenal null yang dituliskan dengan “”.
Contoh string:
-
“JAKARTA”
-
“STTI NIIT I-Tech Jakarta”
-
“ABC3456”
-
“Lucu”
-
“30202001”
-
“z”
Perhatikan
bahwa sebuah karakter tunggal (“z”) juga merupakan string.
·
Boolean/ bilangan logika
Tipe data Boolean digunakan untuk menyimpan nilai True/False
(Benar/Salah) atau dapat juga dilambangkan dengan 1 dan 0. Pada
sebagian besar bahasa pemrograman nilai 1menunjukkan True dan 0
melambangkan False. Tipe data ini banyak digunakan untuk pengambilan keputusan
pada struktur percabangan maupun pengulangan dengan IF … THEN
atau IF … THEN … ELSE untuk percabangan
dan While atau do-while untuk pengulangan.
Variabel
Variable atau variabel berasal dari kata vary dan
able. Vary berarti bermacam-macam atau
berubah-ubah. Able berarti dapat. Variabel adalah suatu area dalam memory yang
isinya dapat diubah-ubah.
Format deklarasi variabel dalam C:
tipe_data nama_variabel;
tipe_data nama_variabel =
initial_value;
Contoh: int x, y, z;
float i = 20;
Syarat Penulisan Variable
•
Nama variabel tidak boleh menggunakan spasi.
Diawali dengan huruf atau garis bawah dan selanjutnya diikuti
oleh huruf atau garis bawah atau angka.
•
Tidak boleh diawali dengan angka
•
Panjang variabel max 32 karakter.
•
Tidak boleh menggunakan keyword/ reserved word karena sudah
digunakan oleh C.
Contoh Penulisan Variabel
Penamaan
yang benar
|
Penamaan
yang salah
|
Namabarang
|
Nama
barang (salah karena menggunakan spasi)
|
nama212
|
212nama
(salah karena diawali dengan angka)
|
jumlah_barang
|
Jumlah.barang
(karena menggunakan titik)
|
JenisBarang
|
jenis
barang (menggunakan spasi)
|
jumlahPengunjung
|
for
(salah karena menggunakan reserved word)
|
Untuk
menuliskan variabel, kita dapat menuliskannya pada bagian isi program. Contoh
penulisan variabelnya adalah :
1.
#include <stdio.h>
2.
3.
main () {
4.
int x;
5.
string
nama;
6.
float
BB;
7.
char jKelamin;
8.
bool status;
9.
...
10. }
Secara
teori, pemrogram dapat memberikan nama apapun pada sebuah variabel karena
penamaan variabel bertujuan untuk memudahkan pemanggilan kembali. Namun, ada
beberapa panduan yang biasa diacu pemrogram dalam penamaan variabel, antara
lain:
·
Huruf pertama pada nama variabel
menunjukkan tipe data dari variabel.
Contoh:
diawali dengan ‘c’ untuk variabel char, ‘i’ untuk integer, ‘s’ untuk string,
dan seterusnya. Panduan penamaan ini disebut dengan Charles Simyoni Hungarion Notation.
·
Nama variabel harus cukup jelas
menunjukkan tujuan penggunaan variabel tersebut.
Contoh:
sNama adalah variabel string untuk menyimpan nama, cJenisKelamin adalah
variabel char untuk menyimpan jenis kelamin, bStatus adalah variabel boolean
untuk menyimpan status.
·
Nama variabel tidak boleh mengandung
spasi kosong atau karakter khusus ! @ # $ % ^ & * ( ) { } [ ] ’ ” ; : <
> , . / ? | dan \. Beberapa pemrogram menggunakan ‘_’ untuk memisahkan kata
di nama variabel.
Contoh:
cJenis_kelamin, sNama_orang_tua, iNilai_akhir
·
Cara lain untuk memisahkan kata dalam
nama variabel adalah dengan memberikan huruf besar di awal tiap kata.
Contoh:
cJenisKelamin, sNamaOrangTua, iNilaiAkhir
Setelah
sebuah variabel dideklarasikan, variabel dapat menyimpan nilai. Pengisian nilai
ke dalam sebuah variabel dalam sebuah program dapat dilakukan dengan 2 cara,
yaitu:
·
Secara langsung
Contoh:
-
cJenisKelamin
= ‘P’
-
sNamaOrangTua
= ‘Jeremy Thomas’
-
iNilaiAkhir =
99
·
Dengan inputan
Contoh:
-
Input
(cJenisKelamin)
-
Input
(sNamaOrangTua)
-
Input
(iNilaiAkhir)
Penggunaan kedua cara pengisian nilai variabel ini akan diperjelas pada
bab-bab selanjutnya.
Contoh program untuk memberikan nilai pada sebuah variabel :
1. #include <stdio.h>
2.
main() {
3.
int
lA,lB;
4.
String
NamaA, NamaB;
5.
// Pengisian secara Langsung
6.
lA =
20;
7.
NamaA =
“Joko Handono”;
8.
//
Pengisian dengan Inputan
9.
scanf(“%i”,&lB);
10. scanf(“%s”,&NamaB);
11. // Menampilkan Kelayar
12. printf(“Nilai lA
: %i”,lA);
13. printf(“Nilai lB
: %i”,lB);
14. printf(“Nilai
NamaA : %s”,NamaA);
15. printf(“Nilai
NamaB : %s”,NamaB);
16. }
Pada contoh program diatas, kita melihat ada tanda “%i” dan “%s”. Fungsi tanda tersebut adalah untuk
menkonfersi nilai inputan menjadi tipe yang sesuai dengan yang diterima atau
mengubah nilai dari tipe data dasar menjadi tipe karakter untuk ditampilkan
dilayar. Karena pada dasarnya, dalam pemprograman bahasa C++ nilai input atau
nilai yang dapat ditampilkan berupa karakter. Sedangkan didalam program, nilai
tersebut harus sesuai dengan tipe data yang dideklarasikan. Sebagai contoh pada
baris ke-10, variabel “lB” tipe datanya adalah integer. Untuk mengubah tipe masukan menjadi integer,
maka digunakan “%i”. Biasanya, string tersebut diawali dengan huruf pertama tipe datanya,
misalnya float -> %f, String -> %s dan seterusnya. Khusus untuk inputan, nama variabelnya harus diawali
dengan string “&” seperti tampak pada baris ke 10 dan 11.
Konstanta
Konstanta adalah variabel yang nilai datanya bersifat
tetap dan tidak bisa diubah. Konstanta juga variabel bedanya adalah pada nilai
yang disimpannya. Jika nilai datanya sepanjang program berjalan tidak berubah ubah,
maka sebuah varibel lebih baik diperlakukan sebagai konstanta.
Pada sebuah kode program, biasanya nilai data dari konstanta diberikan
langsung di bagian deklarasi konstanta.
Untuk mendeklarasikan konstanta, bisa dilakukan dengan preprosesor
#define atau dengan keyword const
Cara penulisan konstanta didalam program, di tulis dengan diawali dengan
tanda crash (#) kemudian diikuti dengan define, selanjutnya nama konstantanya dan selanjutnya nilainya dan ditulis diluar
program utama setelah pendeklarasian librari namespace. Contoh penulisannya adalah
sebagai berikut:
1. #include <stdio.h>
2. #define iMaxs 100
3. #define fPi 3.14159
4. #define sSapa ‘Hello’
5. #define newLine ‘\n’
6. main() {
7. ...
8. }
Operator
adalah pengendali operasi yang akan dilakukan pada beberapa operan sehingga
membentuk sebuah ekspresi. Secara umum, dalam sebuah ekspresi terdapat sebuah
operator yang diapit dua operan. Contohnya pada ekspresi:
x + y
x dan y
adalah operan, sedangkan
‘+’
adalah operatornya
Terdapat
tiga macam operator yang biasa digunakan dalam pemrograman, yaitu:
·
Operator aritmatik
Operator
ini membentuk perhitungan aritmatik. Kedua operan dari operasi aritmatik ini
dapat berupa nilai integer atau real.
Operator
yang termasuk tipe ini adalah:
Tabel Operator aritmatik
Lambang
|
Deskripsi
|
Contoh
|
+
|
Penjumlahan
|
x = y + z
|
-
|
Pengurangan
|
x = y – z
|
*
|
Perkalian
|
x = y * z
|
/
|
Pembagian
|
x = y / z
|
%
|
Modulo (sisa bagi)
|
x = y % z
|
Output
dari operasi aritmatik akan memiliki tipe data yang sama dengan tipe data kedua
operannya. Misalnya, jika sebuah bilangan integer dijumlahkan dengan bilangan
integer lainnya maka outputnya adalah bilangan integer juga. Selain itu perlu
diperhatikan pula bahwa sebuah operator aritmatik tidak dapat diterapkan pada
dua bilangan dengan tipe data yang berbeda.
Contoh
program dengan operasi aritmatik:
1
//Program Aritmatik
2
/* IS:Tersedia
dua buah bilangan integer
FS:Hasil Modulo
duabuah bilangan */
3
#include
<stdio.h>
4
5
main () {
6
//
Deklarasi Variabel
7
int iTambah;
8
int
iAngka1, iAngka2;
9
printf(“Masukan
Bilangan Pertama : ”);
10
scanf(“%i”, iAngka1);
11
printf(“Masukan Bilangan Kedua : ”);
12
scanf(“%i”, iAngka2);
13
// Penjumlahan
14
iTambah
= iAngka1 + iAngka2;
15
printf(“Hasil Penjumlahan %i + %i = %i”, iAngka1,
iAngka2, iTambah);
16
return
0;
17
}
Program di atas akan mengembalikan nilai hasil penjumlahan sesuai dengan
inputan. Misalnya pada inputan pertama kita masukan 10 dan yang kedia kita
masukan 23 maka hasilnya adalah 33. outputnya adalah:
Masukan Bilangan Pertama : 10
Masukan Bilangan Kedua
: 23
Hasil Penjumlahan 10 + 23 = 33
·
Operator Assignment
Dalam
pemrograman bahasa C++, Operator ini digunakan memasukan nilai kedalam sebuah
variabel, tanpa menghilangkan atau mengosongkan nilai variabel sebelumnya.
Contoh penggunaan operator ini adalah sebagai berikut :
Tabel Operator relasional
Lambang
|
Deskripsi
|
Contoh
|
+=
|
Menambahkan
|
x += 1
|
-=
|
Mengurangkan
|
x -= 1
|
*=
|
Mengalikan
|
x *= 2
|
/=
|
Membagi
|
x /= 2
|
%=
|
Mem-mod
|
x %= 2
|
·
Increase and decrease
Penulisan
ini dilambangkan dengan ++ (Increade) dan -- (decrease). Operator ini berfungsi
untuk menaikan atau menurunkan satu satuan nilai pada sebuah variabel. Contoh
penggunaannya adalah pada contoh dibawah ini :
1
...
2
a++;
3
a += 1;
4
a = a + 1;
5
...
|
Ada dua
macam penulisan operator ini, yaitu simbol dapat ditulis sebelum nama variabel
dan setelah variabel. Adapun perbedaab antara keduanya adalah :
1
B = 3;
2
A = ++B;
3
// A = 4, B
= 4
|
1
B = 3;
2
A = B++;
3
// A = 3, B
= 4
|
·
Operator relasional
Operator
ini membandingkan dua operan dan hasilnya berupa nilai boolean (BENAR atau
SALAH). Operasi relasional dapat dilakukan pada dua nilai dengan tipe data yang
sama: tipe data integer, riil, char, string, maupun boolean. Berikut ini adalah
operator relasional:
Tabel Operator relasional
Lambang
|
Deskripsi
|
Contoh
|
==
|
Sama dengan
|
x == y
|
!=
|
Tidak sama dengan
|
x != y
|
>
|
Lebih dari
|
x > y
|
<
|
Kurang dari
|
x < y
|
>=
|
Lebih dari atau sama dengan
|
x >= y
|
<=
|
Kurang dari atau sama dengan
|
x <= y
|
Contoh
penggunaan operator relasional dalam algoritma:
1
// Program
Operator Relasional
2
KAMUS DATA {awal deklarasi variabel}
3
iAngka1, iAngka2 : integer
4
BEGIN {awal algoritma}
5
iAngka1 = 6 {pengisian variabel langsung}
6
Input(iAngka2) {pengisian dgn inputan}
7
IF (iAngka1 <> iAngka2) THEN
8
Output (‘Tebakan Anda salah’)
9
ELSE
10 Output
(‘Horee! Tebakan Anda benar’)
11 ENDIF
12 END
Output
dari operasi relasional bertipe boolean (true/
false). Pada contoh di atas,
iAngka1 != iAngka2 bernilai benar/ true jika iAngka1 tidak sama dengan
iAngka2
iAngka1 != iAngka2 bernilai salah/ false jika iAngka1 sama dengan iAngka2
Program
di atas akan mengeluarkan pesan sesuai inputan pengguna. Jika pengguna
menginputkan angka selain 6 (‘iAngka1 != iAngka2’ bernilai benar), program akan
mengeluarkan pesan ‘Tebakan Anda salah’. Jika pengguna menginputkan angka 6
(‘iAngka1 != iAngka2’ bernilai salah), program akan mengeluarkan pesan ‘Horee!
Tebakan Anda benar’.
·
Operator logika
Operator
logika adalah operator yang digunakan untuk mengkombinasikan hasil ekspresi
yang mengandung operator relasional.
Tiga
macam operator logika adalah:
Tabel 4.6. Operator logika
Lambang
|
Deskripsi
|
Contoh
|
&&
|
And / Dan
|
x > 7 && x = y
|
||
|
Or / Atau
|
x != y || x > 3
|
!
|
Not / Tidak
|
! (x > y)
|
Pola
penggunaan operator logika adalah:
ekspresi1
OPERATOR ekspresi2
Output
dari penggunaan operator AND dan OR adalah sebagai berikut:
Tabel 4.7. Output operator logika
ekpresi1
|
ekspresi2
|
kombinasi dengan
|
|
AND
|
OR
|
||
True
|
True
|
True
|
True
|
True
|
False
|
False
|
True
|
False
|
True
|
False
|
True
|
False
|
False
|
False
|
False
|
Pola
yang mudah untuk mengingat output kedua operator logika tersebut adalah: True
AND True = True, False OR False = False.
Beberapa
contoh penggunaan operator logika:
·
(x > 7) &&
(x = y)
Jika
ternyata nilai x adalah 8 dan y adalah 5, maka
(8 > 7) && (8 = 5)
True AND False
False (output operasi)
·
(x != y) || (x
> 3)
Jika ternyata nilai x adalah 4 dan y adalah 4, maka
(4 != 4) || (4 > 3)
False OR True
True
(output operasi)
·
NOT (x > y)
Jika
ternyata nilai x adalah 3 dan y adalah 3, maka
NOT (3 > 3)
NOT (False)
True (output operasi)
Urutan Operasi
Sebuah ekspresi
mungkin terdiri atas beberapa operasi sekaligus. Misalnya:
iHasil = x * 2 % 2 > y && (x != 3)
Untuk menentukan
operasi mana yang dilakukan terlebih dahulu daripada operasi lainnya, setiap
operator memiliki level urutan. Level urutan ini terdiri atas lima kelompok,
level 1 hingga 5.
Operator yang
memiliki level lebih tinggi (ditunjukkan dengan angka yang semakin kecil) akan
dioperasikan terlebih dahulu dibandingkan operator lain yang levelnya lebih
rendah. Sedangkan pada operator-operator yang berada pada level yang sama,
operasi dilakukan secara berurutan dari kiri ke kanan. Hal ini disebut dengan
asosiativitas.
Pada beberapa
ekspresi diperlukan pengubahan urutan eksekusi operasi-operasi. Untuk
memungkinkan pemrogram melakukan hal tersebut, tersedia sebuah operator
tambahan yang memiliki level eksekusi paling tinggi, yaitu (). Operasi apapun
yang ada dalam tanda kurung () akan dieksekusi pertama kali oleh program.
Level urutan
operator-operator tersebut adalah sebagai berikut:
Tabel 4.8. Urutan operasi
Operator
|
Deskripsi
|
Asosiativitas
|
Level Urutan
|
()
|
Tanda
kurung
|
1
|
|
!
|
Logika
NOT
|
2
|
|
*
|
Perkalian
|
Kiri ke
kanan
|
3
|
/
|
Pembagian
|
||
%
|
Modulo
|
||
+
|
Penjumlahan
|
Kiri ke
kanan
|
4
|
-
|
Pengurangan
|
||
<
|
Kurang
dari
|
Kiri ke
kanan
|
5
|
<=
|
Kurang
dari/ sama dengan
|
||
>=
|
Lebih
dari/ sama dengan
|
||
>
|
Lebih
dari
|
||
=
|
Sama
dengan
|
Kiri ke
kanan
|
6
|
!=
|
Tidak
sama dengan
|
||
&&
|
Logika
AND
|
Kiri ke
kanan
|
7
|
||
|
Logika
OR
|
Kiri ke
kanan
|
8
|
Misalnya pada
ekspresi berikut ini:
iHasil = x * 2 % 2 > y && (x <> 3)
Jika inputannya
adalah x = 5 dan y = 3 maka urutan pengerjaannya adalah:
Z
|
Pengerjaan
|
1
|
iHasil
ß x * 2 % 2 > y && (5 != 3)
iHasil
ß x * 2 % 2 > y && True
|
3
|
iHasil
ß 5 * 2 % 2 > y && True
iHasil
ß 0 > y && True
|
5
|
iHasil
ß 0 > 3 && True
iHasil
ß False && True
|
7
|
iHasil
ß False
|
Rangkuman
- Tipe data dasar adalah tipe data yang dapat langsung digunakan, dan memiliki ukuran tertentu sesuai dengan tipe data masing-masing. Beberapa tipe data dasar: integer, real, char, string, dan boolean.
- Variabel adalah obyek yang nilainya dapat berubah-ubah dalam sebuah program, sedangkan konstanta memiliki nilai yang tetap sejak dideklarasikan hingga program berakhir.
- Pada saat mendeklarasikan sebuah variabel, pemrogram harus menyebutkan nama variabel dan tipe data dari variabel tersebut.
- Operator adalah pengendali operasi yang akan dilakukan pada beberapa operan sehingga membentuk sebuah ekspresi. Tiga macam operator dalam pemrograman: operator aritmatik, operator relasional, dan operator logika.
- Penggunaan beberapa operator sekaligus dalam sebuah ekspresi mengakibatkan perlunya menentukan urutan operasi yang diatur dalam level urutan operator.
- Operator dengan level yang lebih tinggi akan dieksekusi lebih dahulu daripada operan dengan level yang lebih rendah. Operator-operator yang memiliki level yang sama akan dieksekusi menurut urutan penulisan (dari kiri ke kanan).
Daftar Pustaka
- Algorithm Data Structures and Problem Solving with C++. 1997. Addison Wesley.
- Moh. Sjukani, Algoritma dan Struktur Data. Mitra Wacana Media
- Rinaldi Munir, Algoritma dan Pemrograman. Informatika Bandung
Video Pembelajaran
Video Pembeajaran Tipe Data dan Operator
0 Komentar