Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam pemrograman komputer.
Setiap variabel atau konstanta yang ada dalam kode program, sebaiknya kita tentukan dengan pasti tipe datanya. Ketepatan pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian sumberdaya komputer (terutama memori komputer). Salah satu tugas penting seorang programmer adalah memilih tipe data yang sesuai untuk menghasilkan program yang efisien dan berkinerja tinggi.
Ada banyak tipe data yang tersedia tergantung jenis bahasa pemrograman yang dipakai. Namun secara umum dapat dikelompokkan seperti pada Gambar dibawah ini
1. Tipe data primitive adalah tipe data dasar yang tersedia secara langsung pada suatu bahasa pemrograman.
2. Tipe data composite adalah tipe data bentukan yang terdiri dari dua atau lebih tipe data primitive.
A. Tipe data numeric
Tipe data numeric digunakan pada variabel atau konstanta untuk menyimpan nilai dalam bentuk bilangan atau angka. Semua bahasa pemrograman menyediakan tipe data numeric, hanya berbeda dalam jenis numeric yang diakomodasi.
Jenis yang termasuk dalam tipe data numeric antara lain :
1. integer (bilangan bulat)
2. float (bilangan pecahan).
3. tipe data Single adalah tipe data untuk bilangan pecahan dengan presisi yang terbatas
4. Tipe data Double adalah tipe data untuk bilangan pecahan dengan presisi yang lebih akurat.
Penentuan tipe data numeric untuk suatu variabel/konstanta harus sangat berhati-hati. Manual dan petunjuk pada masing-masing bahasa pemrograman pada bagian tipe data harus diperhatikan dengan seksama.
Tipe Data Tambahan, yang dimiliki oleh Bahasa C/C++, adalah :
Unsigned digunakan bila data yang digunakan hanya data yang positif saja
Tipe Data Tambahan
Contoh program bahasa CTipe Data Tambahan
//Contoh program tipe data
//Nama Programmer : ..........
#include "stdio.h"
#include "conio.h"
int main()
{
int x;
float y;
char z;
double w;
x = 10;
y = 9.45;
z = 'C';
w = 3.45E+20;
printf("Nilai dari x adalah : %i\n", x);
printf("Nilai dari y adalah : %f\n", y);
printf("Nilai dari z adalah : %c\n", z);
printf("Nilai dari w adalah : %lf\n", w);
getch();
}
Dalam bahasa C terdapat lima tipe data dasar, yaitu :
1. char format penulisan : %c
2. int format penulisan : %i, %d
3. float format penulisan : %f
4. double format penulisan : %lf
5. void tidak bertipe
2. Variabel
Variabel adalah tempat dimana kita dapat mengisi atau mengosongkan nilainya dan memanggil kembali apabila dibutuhkan. Setiap variabel akan mempunyai nama (identifier) dan nilai.
Contoh Nama variabel dan nilai.
username = “joni”
Nama = “Udin”
Harga = 2500
HargaTotal = 34000
username = “joni”
Nama = “Udin”
Harga = 2500
HargaTotal = 34000
Pada sebagian besar bahasa pemrograman, variabel harus dideklarasikan lebih dulu untuk mempermudah compiler bekerja. Apabila variabel tidak dideklarasikan maka setiap kali compiler bertemu dengan variabel baru Pemberian nama variabel harus mengikuti aturan yang ditetapkan oleh bahasa pemrograman yang kita gunakan. Namun secara umum ada aturan yang berlaku untuk hampir semua bahasa pemrograman. Aturan-aturan tersebut yaitu :
- Nama variabel harus diawali dengan huruf.
- Tidak boleh menggunakan spasi pada satu nama variabel. Spasi bisa diganti dengan karakter underscore (_).
- Nama variabel tidak boleh mengandung karakter-karakter khusus,seperti : .,+, -, *, /, <, >,
&, (, ) dan lain-lain. - Nama variabel tidak boleh menggunakan kata-kata kunci d bahasa pemrograman
Jenis-jenis Variabel
1. Variabel Numerik
Variabel numerik ini dibagi menjadi menjadi 3 (tiga) macam :
- Bilangan Bulat
- Bilangan Desimal Berpresisi Tunggal atau Floating Point.
- Bilangan Desimal Berpresisi Ganda atau Double Precision.
- Character ( Karakter Tunggal )
- String ( Untuk Rangkaian Karakter )
Deklarasi Variabel
Adalah proses memperkenalkan variabel kepada bahasa C/C++ dan pendeklarasian tersebut bersifat mutlak karena jika tidak diperkenalkan terlebih dulu maka bahasa C/C++ tidak menerima variabel tersebut. Deklarasi Variabel ini meliputi tipe variabel, seperti : integer atau character dan nama variabel itu sendiri. Setiap kali pendeklarasian variabel harus diakhiri oleh tanda titik koma ( ; ).
Bentuk penulisannya:
Tipe data nama variabel;
Contoh Deklarasi
char nama_siswa;
char grade;
float rata_rata ;
int nilai
char grade;
float rata_rata ;
int nilai
Konstanta
Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. Jadi konstanta adalah juga variabel bedanya adalah pada nilai yang disimpannya. Jika nilai datanya sepanjang program berjalan tidak berubahubah, maka sebuah varibel lebih baik diperlakukan sebagai konstanta.
Sebagai contoh, jika kita membuat program perhitungan matematik yang menggunakan nilai pi (3.14159) yang mungkin akan muncul dibanyak tempat pada kode program, kita dapat membuat pi sebagai konstanta. Penggunaan konstanta pi akan lebih memudahkan penulisan kode program dibanding harus mengetikkan nilai 3.14159 berulang-ulang.
Penggunaan tipe data numeric.
Kode Program A
#include “stdio.h”
int main() {
int x, z;
float y;
float y;
x = 12;
y = 2.15;
z = x * y;
cout << "X =" << x << endl;
cout << "Y =" << y << endl;
cout << "Z =" << z << endl;
return 0; }
y = 2.15;
z = x * y;
cout << "X =" << x << endl;
cout << "Y =" << y << endl;
cout << "Z =" << z << endl;
return 0; }
Hasil eksekusi Program A
X =12Y =2.15
Z = 25
Kode Program B
#include <iostream>
using namespace std;
int main() {
int x;
float y, z;
x = 12.8;
y = 2.15;
z = x * y;
cout << "X =" << x << endl;
cout << "Y =" << y << endl;
cout << "Z =" << z << endl;
return 0; }
Hasil eksekusi Program B
X =12
Y =2.15
Z =25.8
Kode Program C
#include <iostream>
using namespace std;
int main() {
int x;
float y, z;
x = 12;
y = 2.15;
z = x * y;
cout << "X =" << x << endl;
cout << "Y =" << y << endl;
cout << "Z =" << z << endl;
return 0; }
float y, z;
x = 12;
y = 2.15;
z = x * y;
cout << "X =" << x << endl;
cout << "Y =" << y << endl;
cout << "Z =" << z << endl;
return 0; }
Hasil eksekusi Program C
X =12
Y =2.15
Z =25.8
Selain itu, bahasa C juga menyediakan beberapa karakter khusus yang disebut karakter escape, antara lain :
- \a : untuk bunyi bell (alert)
- \b : mundur satu spasi (backspace)
- \f : ganti halaman (form feed)
- \n : ganti baris baru (new line)
- \r : ke kolom pertama, baris yang sama (carriage return)
- \v : tabulasi vertical
- \0 : nilai kosong (null)
- \’ : karakter petik tunggal
- \” : karakter petik ganda
- \\ : karakter garis miring
B. Character
Bersama dengan tipe data numeric, character merupakan tipe data yang paling banyak digunakan. Tipe data character kadang disebut sebagai char atau string. Tipe data string hanya dapat digunakan menyimpan teks atau apapun sepanjang berada dalam tanda petik dua (“…”) atau petik tunggal (‘…’). Perhatikan contoh berikut.
Contoh Deklarasi tipe data
# include <iostream.h>
void main ()
{
cout << " Hai, selamat menggunakan c++";
}
C. Boolean
Tipe data Boolean digunakan untuk menyimpan nilai True/False (Benar/Salah). Pada sebagian besar bahasa pemrograman nilai selain 0 menunjukkan True dan 0 melambangkan False. Tipe data ini banyak digunakan untuk pengambilan keputusan pada struktur percabangan dengan IF … THEN atau IF … THEN … ELSE.
Contoh :
Program Pascal
If Nilai >= 60 Then
writeln(‘Lulus Ujian’);
Else
Writeln(‘Tidak lulus’);
End if
writeln(‘Lulus Ujian’);
Else
Writeln(‘Tidak lulus’);
End if
D. Array
Array atau sering disebut sebagai larik adalah tipe data yang sudah terstruktur dengan baik, meskipun masih sederhana. Array mampu menyimpan sejumlah data dengan tipe yang sama (homogen) dalam sebuah variabel. Setiap lokasi data array diberi nomor indeks yang berfungsi sebagai alamat dari data tersebut.
Contoh:
Penggunaan Array
Penggunaan Array
Var
X: array[1..100] of integer;
X: array[1..100] of integer;
Cara mengisi data pada elemen larik dalam pemrograman adalah seperti
contoh berikut :
contoh berikut :
X[1]:= 4;
X[2]:= 3;
X[3]:= 2;
X[4]:= 1;
X[2]:= 3;
X[3]:= 2;
X[4]:= 1;
E. Record atau Struct
Seperti halnya Array, Record atau Struct adalah termasuk tipe data komposit. Record dikenal dalam bahasa Pascal/Delphi sedangkan Struct dikenal dalam bahasa C++. Berbeda dengan array, tipe data record mampu menampung banyak data dengan tipe data berbedabeda (heterogen).
Sebagai ilustrasi array mampu menampung banyak data namun dengan satu tipe data yang sama, misalnya integer saja. Sedangkan dalam record, kita bisa menggunakan untuk menampung banyak data dengan tipe data yang berbeda, satu bagian integer, satu bagian lagi character, dan bagian lainnya Boolean. Biasanya record digunakan untuk menampung data suatu obyek. Misalnya, siswa memiliki nama, alamat, usia, tempat lahir, dan tanggal lahir. Nama akan akan menggunakan tipe data string, alamat bertipe data string, usia bertipe data single (numeric), tempat lahir bertipe data string dan tanggal lahir bertipe data date.
F. Image
Image atau gambar atau citra merupakan tipe data grafik
G. Date Time
Nilai data untuk tanggal (Date) dan waktu (Time) secara internal disimpan dalam format yang spesifik. Variabel atau konstanta yang dideklarasikan dengan tipe data Date dapat digunakan untuk menyimpan baik tanggal maupun jam. Tipe data ini masuk dalam kelompok tipe data composite karena merupakan bentukan dari beberapa tipe data.
Berikut ini contoh tipe data dalam Visual Basic.
Dim WaktuLahir As Date
WaktuLahir = “01/01/1997”
WaktuLahir = “13:03:05 AM”
WaktuLahir = “02/23/1998 13:13:40 AM”
WaktuLahir = #02/23/1998 13:13:40 AM#
WaktuLahir = “01/01/1997”
WaktuLahir = “13:03:05 AM”
WaktuLahir = “02/23/1998 13:13:40 AM”
WaktuLahir = #02/23/1998 13:13:40 AM#
H. Subrange
Tipe data subrange merupakan tipe data bilangan yang mempunyai jangkauan nilai tertentu sesuai dengan yang ditetapkan programmer. Biasanya tipe data ini mempunyai nilai batas minimum dan nilai batas maksimum. Tipe data ini didukung dengan sangat baik dalam Delphi.
Berikut ini contoh deklarasi tipe data subrange dalam Delphi.
Type
BatasIndeks = 1..20
RentangTahun = 1950..2030
Var
Indeks : BatasIndeks
Tahun : RentangTahun
BatasIndeks = 1..20
RentangTahun = 1950..2030
Var
Indeks : BatasIndeks
Tahun : RentangTahun
I. Enumerasi
Tipe data ini merupakan tipe data yang mempunyai elemen-elemen yang harus disebut satu persatu dan bernilai konstanta integer sesuai dengan urutannya. Nilai konstanta integer elemen ini diwakili oleh suatu nama variable yang ditulis di dalam kurung. Tipe data ini juga dijumpai pada Delphi dan bahasa pemrograman deklaratif seperti SQL.
Berikut ini contoh deklarasi tipe data enumerasi dalam Delphi.
Type
Hari_dlm_Minggu = (Nol, Senin, Selasa, Rabu,Kamis, Jumat, Sabtu,Minggu)
Nama_Bulan = (Nol, Januari, Pebruari, Maret,April, Mei, Juni, Juli,Agustus,
September, Oktober, Nopember, Desember)
Var
No_Hari : Hari_dlm_Minggu
No_Bulan : Nama_Bulan
Hari_dlm_Minggu = (Nol, Senin, Selasa, Rabu,Kamis, Jumat, Sabtu,Minggu)
Nama_Bulan = (Nol, Januari, Pebruari, Maret,April, Mei, Juni, Juli,Agustus,
September, Oktober, Nopember, Desember)
Var
No_Hari : Hari_dlm_Minggu
No_Bulan : Nama_Bulan
J. Object
Tipe data object digunakan untuk menyimpan nilai yang berhubungan dengan obyek-obyek yang disediakan oleh Visual Basic, Delphi dan dan bahasa pemrograman lain yang berbasis GUI. Sebagai contoh, apabila kita mempunyai form yang memiliki control Command button yang kita beri nama Command1, kita dapat mendeklarasikan variabel sebagai berikut :
Contoh Penggunaan tipe data object.
Dim A As CommandButton
Set A = Command1
A.Caption = “HEY!!!”
A.FontBold = True
Dim A As CommandButton
Set A = Command1
A.Caption = “HEY!!!”
A.FontBold = True
OPERATOR
Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi, seperti penjumlahan, pengurangan dan lain lain.
Operator mempunyai sifat sebagai berikut :
1. Unary
Sifat Unary pada operator adalah hanya melibatkan sebuah operand pada suatu operasi aritmatik
Contoh : -5
2. Binary
Sifat Binary pada operator adalah melibatkan dua buah operand pada suatu operasi
aritmatik
Contoh : 4 + 8
Sifat Binary pada operator adalah melibatkan dua buah operand pada suatu operasi
aritmatik
Contoh : 4 + 8
3. Ternary
Sifat Tenary pada operator adalah melibatkan tiga buah operand pada suatu operasi
aritmatik
Contoh : (10 % 3) + 4 + 2
Sifat Tenary pada operator adalah melibatkan tiga buah operand pada suatu operasi
aritmatik
Contoh : (10 % 3) + 4 + 2
1. Operator Aritmatika
Operator untuk operasi aritmatika yang tergolong sebagai operator binary adalah : Tabel Operator Aritmatika
//Contoh penggunaan Operator Aritmatika
//Nama programmer :.......
#include "stdio.h"
#include "conio.h"
int main()
{
printf("Nilai dari 9 + 4 = %i\n", 9 + 4);
printf("Nilai dari 9 - 4 = %i\n", 9 - 4);
printf("Nilai dari 9 * 4 = %i\n", 9 * 4);
printf("Nilai dari 9 / 4 = %i\n", 9 / 4);
printf("Nilai dari 9 % 4 = %i\n", 9 % 4);
getch();
}
//Nama programmer :.......
#include "stdio.h"
#include "conio.h"
int main()
{
printf("Nilai dari 9 + 4 = %i\n", 9 + 4);
printf("Nilai dari 9 - 4 = %i\n", 9 - 4);
printf("Nilai dari 9 * 4 = %i\n", 9 * 4);
printf("Nilai dari 9 / 4 = %i\n", 9 / 4);
printf("Nilai dari 9 % 4 = %i\n", 9 % 4);
getch();
}
/* Penggunaan operator untuk
mencetak deret bilangan genap
antara 1 – 100 */
//Nama programmer :.......
#include "conio.h"
#include "stdio.h"
int main()
{
int bil;
for (bil=1; bil<100; bil++)
{
if(bil%2==0)
printf("%5.0i", bil);
}
getch();
}
Operator Penambah dan Pengurang
Masih berkaitan dengan operator pemberi nilai, Bahasa C menyediakan operator penambah dan pengurang. Dari contoh penulisan operator pemberi nilai sebagai penyederhanaannya dapat digunakan operator penambah dan pengurang.
Tabel Operator Penambah dan Pengurangan
A = A + 1 atau A = A - 1; disederhanakan menjadi :
A += 1 atau A -= 1; masih dapat disederhanakan menjadi A ++ atau A--
Notasi “ ++ “ atau “ -- “ dapat diletakan didepan atau di belakang variabel
Contoh : A ++ atau ++A / A-- atau –A
Kedua bentuk penulisan notasi ini mempunyai arti yang berbeda.
- Jika diletakan didepan variabel, maka proses penambahan atau pengurangan akan dilakukan sesaat sebelum atau langsung pada saat menjumpai ekspresi ini, sehingga nilai variabel tadi akan langsung berubah begitu ekspresi ini ditemukan, sedangkan
- Jika diletakan dibelakang variabel, maka proses penambahan atau pengurangan akan dilakukan setelah ekspresi ini dijumpai atau nilai variabel akan tetap pada saat ekspresi ini ditemukan.
// nama programmer :.....
#include <stdio.h>
#include <conio.h>
int main()
{
int a = 10, b = 5;
printf("Nilai A = %d", a);
printf("\nNilai ++A = %d", ++a);
printf("\nNilai A = %d", a);
printf("\nNilai B = %d", b);
printf("\nNilai --B = %d", --b);
printf("\nNilai B = %d", b);
getch();
}
Output :
Nilai A = 10
Nilai ++A = 11
Nilai A = 11
Nilai B = 5
Nilai –B = 4
Nilai B = 4
/* Perbedaan operator peningkatan ++
yang diletakkan di depan dan dibelakang
operand */
//Nama programmer :......
#include <stdio.h>
#include <conio.h>
int main()
{
int x, nilai;
x = 5;
nilai = ++x; /* berarti x = x + 1; nilai = x; */
printf("nilai = %d, x = %d\n", nilai, x);
nilai = x++; /* berarti nilai = x; nilai = x + 1; */
printf("nilai = %d, x = %d\n", nilai, x);
getch();
}
Outputnya : nilai = 6, x = 6
nilai = 6, x = 7
/*Contoh ke-2 operator peningkatan
unary */
//Programmer :……
#include "stdio.h"
#include "conio.h"
int main()
{
int b, nilai;
b = 15;
nilai = --b; /* berarti b = b - 1; nilai = b; */
printf("nilai = %d, b = %d\n", nilai, b);
nilai = b--; /* berarti nilai = b; b = b + 1; */
printf("nilai = %d, b = %d\n", nilai, b);
getch();
}
Ouputnya : nilai = 14, b= 14
nilai = 14, b=13
Komentar Program
Komentar program hanya diperlukan untuk memudahkan pembacaan dan pemahaman suatu program (untuk keperluan dokumentasi program). Dengan kata lain, komentar program hanya merupakan keterangan atau penjelasan program. Untuk memberikan komentar atau penjelasan dalam bahasa C digunakan pembatas /* dan */ atau menggunakan tanda // untuk komentar yang hanya terdiri dari satu baris. Komentar program tidak akan ikut diproses dalam program (akan diabaikan).
Izin share and copy yahh min
BalasHapusEkspresinya mana
BalasHapusiya nih mana ya buat ujian soalnya :v
HapusUntuk yang konstanta yang kode program b kenapa pake using namespace std, sementara yang kode program a enggak?
BalasHapus