Anda di halaman 1dari 22

BAB III

TIPE DATA DASAR

1. Tipe data dasar


Tipe data merupakan jenis data yang digunakan untuk merepresentasikan jenis/tipe
nilai yang dapat ditampung oleh sebuah variabel. Jika dikelompokkan, secara umum terdapat
3 jenis tipe data yaitu tipe data dasar (primitive/primary), turunan (Derived), dan bentukan
(User-Defined).
Dalam C++, terdapat beberapa jenis tipe data dasar yang didefenisikan dengan
keyword yang berbeda dalam pemrograman C++. Adapun sintaks pendeklarasian tipe data
terhadap suatu variable adalah sebagai berikut:

tipe_data nama_variabel;

Jika disertai dengan inisialisasi nilai variabel maka sintaksnya seperti berikut:
tipe_data nama_variabel = nilai;
Keterangan :
• Tipe_data: Diisi dengan tipe data yang ada yang kita inginkan seperti integer, char,
bool, float, dan tipe data lainnya.
• Nama_variabel: Diisi dnegan nama variabel yang kita inginkan untuk menampung
data dengan jenis tipe data yang sudah kita tentukan. Pemberian nama variabel
harus mengikuti syarat nama variabel atau identifier
yang telah ditentukan.
• “=” : Merupakan operator sama dengan atau
penugasan yang berarti bahwa nilai yang berada di
sebelah kanan operator akan dimasukkan ke dalam
variabel yang berada di sebelah kiri operator.
• nilai: Diisi dengan nilai yang diinginkan yang tipe
Simak penjelasan
datanya sesuai dengan tipe data yang digunakan untuk
Pak Dosen di sini!
mendeklarasikan variabel.
Contoh :
int a;
int b = 10;

a. Tipe bilangan bulat


Tipe data integer adalah tipe data yang diterapkan
pada suatu variabel untuk menampung nilai berupa bilangan
bulat. Secara umum untuk menggunakan tipe data ini cukup
Simak penjelasan
dengan menggunakan keyword: int. Contoh bilangan bulat yakni Pak Dosen di sini!
1, 5, 11, 99.
Agar dapat lebih mudah mengingat, beriktu kami berikan gambar ilustrasi tipe data
integer. Perhatikan Gambar 3.1.

Gambar 3.1. Tipe data integer (bilangan bulat).

Ukuran tipe data ini adalah 4 bytes atau 32 bit (namun ukuran ini bergantung kepada
compiler yang anda gunakan, jadi bisa saja berbeda). Tipe ini terbagi lagi ke dalam beberapa
jenis seperti terlihat pada Tabel 3.1.
Tabel 3.1. Tipe data bilangan bulat
Ukuran
Tipe Data Rentang
(dalam bit)
int 32 -2.147.483.648 sampai 2.147.483.647
unsigned int 32 0 sampai 65.535 atau 0 sampai 4.294.967.295
signed int 32 Sama seperti int
short int 16 -32.768 sampai 32.767
unsigned short int 16 0 sampai 65.535
signed short int 16 Sama seperti short int
long int 32 -2.147.483.648 sampai 2.147.483.647
signed long int 32 Sama seperti long int
unsigned long int 32 0 sampai 4.294.967.295

Sebagai informasi tambahan, bahwa ukuran tipe data merepresentasikan besarnya


range nilai yang dapat dihasilkan dari tipe data tersebut. Misalnya 4 bytes jika semua bitnya
bernilai 1 (11111111 11111111 11111111 11111111) dan tipenya unsigned maka nilainya
adalah 4.294.967.295 (ingat kembali konversi biner ke bilangan basis 10/desimal).
Sebaliknya, jika semua bitnya bernilai 0 maka nilainya adalah 0. Sedangkan jika signed, maka
nilainya terbagi dua dari negatif ke positif dimana 1 bit akhir digunakan sebagai penanda
([0/1]1111111 11111111 11111111 11111111). Inilah sebab mengapa tipe signed int
rangenya berkisar antara -2.147.483.648 sampai 2.147.483.647.
Agar dapat lebih mudah untuk memahami penerapannya, kami berikan contoh
penerapannya dalam pendeklarasian variabel. Perhatikan Gambar 3.2.

Gambar 3.2. Contoh penggunaan tipe data integer.

Seperti yang nampak pada Gambar 3.2, dapat diketahui bahwa:


• Usia adalah nama dari variabel yang dideklarasikan
• int adalah keyword yang digunakan untuk mendeklarasikan tipe data integer pada
variabel Usia (bilangan bulat)
• 27 adalah bilangan bulat atau integer yang disimpan pada variabel Usia.
• Variabel Usia adalah penamaan alamat memory yang menampung nilai 27
b. Tipe bilangan real (floating point)
Tipe data ini adalah tipe data yang digunakan pada suatu variabel untuk menampung
nilai dalam bentuk bilangan real. Secara umum untuk menggunakan tipe data ini cukup
dengan menggunakan keyword: float atau double. Adapun tipe yang termasuk ke dalam
kategori ini dapat dilihat pada Tabel 3.2.

Tabel 3.2. Tipe data bilangan ril


Ukuran
Tipe Data Rentang Presisi
(dalam bit)
float 32 1.2E-38 sampai 3.4E+38 Secara umum 7 digit
double 64 2.3E-308 sampai 1.7E+308 Secara umum 15 digit

Agar dapat lebih mudah mengingat, berikut kami berikan gambaran ilustrasi
mengenai tipe float. Perhatikan Gambar 3.3.
Seperti ditunjukkan pada Gambar 3.3, tipe data float digunakan untuk menyimpan
data bertipe bilangan real dengan ukuran memory 4 bytes. Namun, jika anda menginginkan
nilai yang lebih presisi, maka gunakan tipe double.

Gambar 3.3. Tipe data float


Agar dapat lebih mudah memahami penerapannya, berikut kami berikan contoh
penggunaan tipe data ini dalam bentuk gambar ilustrasi. Perhatikan Gambar 3.4.

Gambar 3.4. Contoh penggunaan tipa data float.

Pada Gambar 3.4 di atas, dapat diketahui bahwa:


• Dideklarasikan sebuah variabel dengan nama Berat_badan.
• Berat_badan bertipe float yang berarti dapat menampung nilai bilangan real.
• float adalah keyword yang digunakan untuk mendeklarasikan variabel bertipe float.
• 65.5f adalah bilangan bertipe float yang disimpan pada variabel Berat_badan.
• f adalah penanda bahwa nilai tersebut adalah float.

Untuk dapat memahami perbedaan float dan double, perhatikan contoh pada
Gambar 3.5. Pada gambar tersebut dapat kita lihat bahwa sebuah nilai akan diidentifikasi
bertipe float jika dibelakangnya diakhiri dengan ‘f’. Jika suatu
nilai breal tidak diakhiri dengan ‘f’ maka compiler akan secara
otomatis mengidentifikasinya sebagai double. Namun jika nilai
tanpa f diinputkan ke dalam variabel bertipe float maka
compiler akan secara otomatis mengubah tipenya. Selama
nilainya tidak lebih dari 7 digit, maka mendeklarasikan variabel
bertipe float lalu diisi dengan nilai bilangan real tanpa ‘f’ maka
hal tersebut tidak masalah. Simak penjelasan
Pak Dosen di sini!
Gambar 3.5. Tipe data bool.
Kemudian, seperti ditunjukkan pada Gambar 3.6, Jika nilainya tidak lebih dari 7 digit
maka sebaiknya cukup menggunakan float. Namun jika lebih, sebaiknya menggunakan
double agar nilai yang disimpan tidak berubah.
Jadi, dapat disimpulkan bahwa jika ingin menyimpan nilai real dengan tingkat presisi
hingga lebih dari 7 digit maka gunakanlah tipe double. Namun tipe double membutuhkan
ruang memory sebesar 8 bytes. Jika nilai yang akan disimpan kurang atau sama dengan 7
digit maka cukup menggunakan float dimana tipe data float lebih hemat memory karena
hanya menggunakan ruang sebesar 4 bytes.

Gambar 3.6. Tipe data bool.


c. Tipe logika
Tipe data ini adalah tipe data yang digunakan pada suatu variabel untuk menampung
nilai benar (true) atau salah (false), seperti ditunjukkan pada Tabel 3.3. Secara umum untuk
menggunakan tipe data ini cukup dengan menggunakan keyword: bool.

Tabel 3.3. Tipe data boolean


Tipe Data Nilai
bool true atau false

Agar dapat lebih mudah mengingat tipe data ini, berikut kami berikan gambar
ilustrasi tipe data boolean. Perhatikan Gambar 3.7.
Berdasarkan Gambar 3.7, dapat diketahui bahwa tipe boolean hanya memiliki dua
buah nilai yaitu nilai true atau false.

Gambar 3.7. Tipe data bool.

Jika bingung dalam penerapannya, berikut kami berikan contoh penggunaannya


dalam sebuah gambar ilustrasi. Perhatikan Gambar 3.8.
Pada Gambar 3.8 di atas dapat diketahui bahwa:
• Terdapat sebuah variabel bernama gagah yang dideklarasikan dengan tipe data bool.
• bool adalah keyword yang digunakan untuk mendeklarasikan variabel bertipe
boolean.
• True adalah nilai bolean yang dimasukkan ke dalam variabel gagah.
Gambar 3.8. Contoh penggunaan tipa data bool.

d. Tipe data karakter


Tipe data ini adalah tipe data yang digunakan pada
suatu variabel untuk menampung nilai berupa karakter.
Karakter yang dimaksud adalah nilai yang diapit dengan tanda
petik satu. Misalnya seperti : ‘1’, ‘a’, dan ‘?’. Secara umum
untuk menggunakan tipe data ini cukup dengan
menggunakan keyword: char. Adapun informasi mengenai
tipe data, ukuran dan rentang nilainya dapat dilihat pada Simak penjelasan
Pak Dosen di sini!
Tabel 3.4.

Tabel 3.4. Tipe data karakter


Tipe Data Ukuran (dalam bit) Rentang
char 8 -127 sampai 127
unsigned char 8 0 sampai 255
signed char 8 -127 sampai 127
wchar_t 16 tau 32 1 wide character

Agar dapat lebih mudah mengingat tipe data ini, kami berikan gambar ilustrasi tipe
data char. Perhatikan Gambar 3.9.
Gambar 3.9. Tipe data char.

Gambar 3.10. Contoh penggunaan tipa data char.

Selanjutnya agar dapat memahami penggunaan tipe data char, kami berikan contoh
penggunaannya pada gambar ilustrasi. Perhatikan Gambar 3.10.
Pada Gambar 3.10 dapat diketahui bahwa telah dideklarasikan sebuah variabel
bernama nilai_MK yang bertipe char. Variabel tersebut menampung sebuah nilai karakter
yaitu ‘A’. Secara detailnya adalah sebagai berikut:
• Untuk menggunakan tipe karakter sederhana cukup menggunakan keyword char
yang dimana ukuran memorynya adalah 1 bytes.
• nilai_MK adalah nama variabel yang dideklarasikan untuk menampung nilai bertipe
karakter
• ‘A’ adalah karakter. Karakter ditandai dengan sebuah huruf, angka atau symbol yang
diapit oleh tanda petik satu.
• Karakter ‘A’ ditugaskan masuk ke dalam variabel nilai_MK menggunakan operator
“=”.

Agar dapat lebih memahami penggunaan tipe data, berikut kami berikan contoh
program sederhana.
1. Contoh 1
#include <iostream>
using namespace std;
int main()
{
int x;
x=3;
cout<<"Nilai x:"<<x;
return 0;
}
Output:
Nilai x:3
Pada kode program di atas dapat kita lihat bahwa pada baris 5 variabel x
dideklarasikan dengan menggunakan tipe data integer (x dapat menampung nilai antara -
2.147.483.648 sampai 2.147.483.647). Kemudian pada baris 6 variabel x diisi dengan nilai 3.
Sehingga, ketika isi variabel x ditampilkan melalui perintah pada baris 7, nilai yang
ditampilkan adalah 3.
Jika anda mencoba untuk mengisi variabel x dengan nilai 2.147.483.650, maka nilai
yang akan ditampilkan tidak akan sesuai yang seharusnya. Hal tersebut disebabkan tipe data
yang digunakan tidak dapat menampung nilai di luar range antara -2.147.483.648 sampai
2.147.483.647.
2. Contoh 2
#include <iostream>
using namespace std;
int main()
{
float PHI;
PHI =3.14f;
cout<<"Nilai PHI: "<<PHI;
return 0;
}
Output:
Nilai PHI: 3.14
Pada contoh prorgram sederhana di atas dapat kita lihat bahwa pada baris ke-5,
variabel PHI dideklarasikan menggunakan tipe float. Lalu kemudian pada baris ke-6 variabel
diisi dengan bilangan pecahan/real. Ingat bahwa penggunaan koma pada C++ adalah dengan
menggunakan ".". pada 3.14 kita lihat terdapat ‘f’. ‘f’ menandakan bahwa nilai tersebuat
adalah float. Jika dihilangkan maka nilai dianggap double. Namun jika f tidak disertakan pada
nilai float maka compiler akan secara otomatis mengonversi nilai double tersebut ke tipe
float.

3. Contoh 3
#include <iostream>
using namespace std;

int main()
{
bool x;
x =true;

cout<<"Nilai x:"<<x;
return 0;
}
Output:
Nilai x:1
Pada cotoh program sederhana di atas variabel x dideklarasikan dengan tipe
data boolean. pada program di atas, variabel x diisi dengan nilai true. Kemudian pada
baris ke-7 isi dari variabel x ditampilkan. Nilai yang tampil adalah 1 yang merupakan
representasi dari true. Jika anda mencoba untuk memasukkan nilai false, maka nilai
yang tampil adalah 0

4. Contoh 4
#include <iostream>
using namespace std;

int main()
{
char x, y;
x ='a';
y = 100;

cout<<"Nilai x: "<<x<<endl;
cout<<"Nilai y: "<<y<<endl;
return 0;
}
Output:
Nilai x: a
Nilai y: d
Pada cotoh program sederhana di atas variabel x dan y dideklarasikan dengan tipe
data char. Untuk menugaskan sebuah nilai char ke dalam variabel x maka harus diapit dengan
petik satu. Jika anda mencoba untuk memasukkan dua karakter atau lebih pada variabel x,
maka karakter terakhir yang akan ditampilkan jika perintah baris ke-7 dieksekusi.
Jika anda memasukkan nilai bilangan bulak ke variabel bertipe char, maka nilai
tersebut akan dianggap oleh compiler sebagai kode atau nilai decimal yang mewakili sebuah
karakter sesuai tabel ASCII. Pada contoh di atas, sesuai tabel ASCII nilai 100 mewakili karakter
‘d’, sehingga nilai karakter yang tersimpan di variabel y adalah ‘d’.
5. Contoh 5
#include <iostream>
using namespace std;
int main()
{
//Pendeklarasian variabel dan tipedatanya
unsigned short int usia;
float tinggiBadan;
bool tampan;
char karakter;

//Menginisialisasikan nilai ke dalam variabel


usia = 27;
tinggiBadan = 165.5;
tampan = true;
karakter = 'A';

//Menampilkan isi variabel


cout<<"Isi variabel usia: "<<usia<< " tahun"<<endl;
cout<<"Isi variabel tinggiBadan: "<<tinggiBadan<< " cm"<< endl;
cout<<"Isi variabel tampan: "<<tampan<< endl;
cout<<"Isi variabel karakter: "<<karakter<< endl;
return 0;
}
Output:
Isi variabel usia: 27 tahun
Isi variabel tinggiBadan: 165.5 cm
Isi variabel tampan: 1
Isi variabel karakter: A
Berdasarkan contoh program di atas dapat kita ketahui bahwa terdapat empat
variable yang pada mulanya dideklarasikan dengan tipe data berbeda yaitu: usia yang bertipe
integer (short dan tidak bernilai negatif), tinggiBadan yang bertipe float, tampan yang bertipe
boolean, dan karakter yang bertipe char.
Setelah dideklarasikan keempat variabel tersebut kemudian diisi dengan nilai
tertentu sesuai dengan tipe data dari variabel tersebut. Misalnya variabel usia yang bertipe
unsigned short integer diisi dengan nilai 27 yang merupakan nilai bilangan bulat atau integer.
Unsigned short digunakan karena data usia biasanya tidak terlalu besar dan usia tidak ada
yang bernilai negatif.
Kemudian setelah mengisi seluruh variabel dengan nilai, selanjutnya isi dari tiap
variabel ditampilkan seperti yang ditunjukanpada bagian output. Sebagai contoh, cout<<"Isi
variabel usia: "<<usia<< " tahun"<<endl;
cout adalah perintah yang digunakan untuk menampilkan output ke layar. Usia tidak
diapit oleh tanda petik dua maka dianggap sebagai variabel. Karena dianggap sebagai
variabel maka yang ditampilkan bukanlah teks “usia” melainkan isi dari variabel usia tersebut
yaitu 27. Aturan yang sama berlaku untuk variabel yang lain.

1. Berdasarkan contoh 5 program sederhana pada bagain B, apa yang terjadi jika variabel
usia diisi dengan nilai 100.8? Jelaskan analisis jawabanmu!

2. Kerjakanlah program berikut ini!


#include <iostream>
using namespace std;
int main()
{
int x;
x=3;
cout<<"Nilai x:"<<x;
return 0;
}
Output:

a. Berdasarkan program di atas, jika variabel x pada perintah x=3; diganti dengan a, apa
yang terjadi setelah program dijalankan? Lakukan analisis sederhana dan jelaskan
mengapa hal tersebut bisa terjadi?

b. Berdasarkan program di atas, jika nilai 3 pada perintah x=3; diganti dengan -2.5, apa
yang terjadi setelah program dijalankan? Lakukan analisis sederhana dan jelaskan
mengapa hal tersebut bisa terjadi?

c. Berdasarkan program di atas, jika nilai 3 pada perintah x=3; diganti dengan
4294967299, apa yang terjadi setelah program dijalankan? Lakukan analisis sederhana
dan jelaskan mengapa hal tersebut bisa terjadi?

3. Kerjakanlah program berikut ini!


#include <iostream>
using namespace std;
int main()
{
float y;
y=10.5;
cout<<"Nilai y:"<<y;
return 0;
}

Output:

a. Berdasarkan program di atas, jika variabel y pada perintah cout<<"Nilai y:"<<y; diberi
tanda petik dua “y”, apa yang terjadi setelah program dirun? Lakukan analisis
sederhana dan jelaskan mengapa hal tersebut bisa terjadi?

b. Berdasarkan program di atas, jika nilai 10.5 pada perintah y=10.5; diganti dengan 100,
apa yang terjadi setelah program dirun? Lakukan analisis sederhana mengapa hal
tersebut bisa terjadi?

4. Kerjakanlah program berikut ini!


#include <iostream>
using namespace std;
int main()
{
bool a,b;
a=false;
b=true;
cout<<"Nilai a:"<<a<<endl;
cout<<"Nilai b:"<<b<<endl;
return 0;
}
Output:

a. Berdasarkan program di atas, jika huurf b pada perintah bool a,b; diganti dengan huruf
B besar, apa yang terjadi setelah program dirun? Lakukan analisis sederhana dan
jelaskan mengapa hal tersebut bisa terjadi?

b. Berdasarkan program di atas, jika huruf f pada false diganti dengan F, apa yang terjadi
setelah program dieksekusi? Lakukan analisis sederhana dan jelaskan mengapa hal
tersebut bisa terjadi?

5. Kerjakanlah prigram berikut ini!


#include <iostream>
using namespace std;
int main()
{
float p;
int l, L;
p=5.5;
l=4.5;
L=p*l;
cout<<"Jika panjang persegi adalah "<<p<<" meter"<<endl;
cout<<"Jika lebar persegi adalah "<<l<<" meter"<<endl;
cout<<"maka luas persegi L adalah "<<L<<" meter persegi"<<endl;
return 0;
}
Output:

a. Terdapat beberapa kesalahan pada program di atas. Tuliskan setiap baris perintah yang
salah dan solusi untuk perbaikannya. Jelaskan pula analisis sederhana atas solusi yang
anda tuliskan!

1. Buatlah flowchart dan program untuk menghitung luas sebuah segitiga jika diketahui
alas (10 meter) dan tinggi (15 meter)
2. Buatlah flowchart dan program untuk menghitung luas sebuah lingkaran jika yang
diketahui hanya kelilingnya (88 cm) dan PHI (22/7)!

Anda mungkin juga menyukai