Make your own free website on Tripod.com

TIPE DATA PADA BAHASA C

TIPE DATA

1. Konstanta, kompilator bisa menentukan tipenya

2. Variabel, user harus mendeklarasikan tipenya.

Bahasa C menggunakan 7 keyword untuk menset tipe data, yaitu :
- integer : bilangan bulat (int, long, short, unsigned)

- huruf & karakter lain (char)

- bilangan dg titik desimal (float, double)

Tipe - tipe yang dihasilkan oleh keyword tersebut dibagi menjadi 2 kelompok berdasarkan cara mereka disimpan komputer :

5 keyword pertama menghasilkan tipe integer

2 keyword terakhir menghasilkan tipe floating-point.

 

TIPE INT, LONG, SHORT

Ketiganya adalah integer bertanda : yakni bisa bil. bulat negatif, nol atau positif

Jika user tidak ingin detail gunakan tipe int.

Satu bit dalam integer bertanda digunakan untuk indikasi tanda, sedangkan pada integer tak bertanda (unsigned integer); hanya diperbolehkan bil.nol dan positif. range dari integer bertanda -32768 s/d 32768; sedangkan integer tak bertanda 0 s/d 65535

Tipe integer berukuran 1 word, sedangkan tipe short tidak lebih panjang dari integer & tipe long tdk lbh pendek.Untuk IBM PC, TURBO C, ukuran int short

 

TIPE FLOAT dan DOUBLE

biasanya menggunakan 32 bit untuk , menyimpannya.

8 bit untuk nilai dan tanda eksponen

24 bit untuk bagian non eksponen

menghasilkan presisi 6 atau 7 digit desimal dan range (10-37 s/d 10+38)

double digunakan utk memperoleh presisi ganda, biasanya digunakan 2x32 bit untuk penyimpanan .

double ekuivalen dengan long float

 

7 Tipe Data Dasar Di BahasaC

1. INTEGER

integer adalah bilangan bulat tanpa bagian fraksional dan titik desimal

integer disimpan sebagai bilangan biner

Contoh :

bilangan 7 adalah 111 dalam sistem biner

0 0 0 0 0 1 1 1

 

KONSTAN INTEGER

Bilangan tanpa titik desimal dan eksponen dikenali oleh kompilator sbg integer

Contoh : 22 dan -273 adalah konstan integer

22.0 bukan konstan integer

22E3 bukan konstan integer

Bila user ingin mengidentifikasikan konstan sebagai tipe long, tambahkan huruf L atau l dibelakang bilangan tersebut

Contoh : 212 l

Bila user ingin suatu konstan diinterpretasikan sebagai oktal,tambahkan digit 0 didepan

Contoh : 020 ekivalen dengan 16 (desimal)

20 ekivalen dengan 20

Jika yang diinginkan bilangan hexadesimal, tambahkan 0x atau 0x di depan

Contoh : 0x20 ekivalen dengan 32

 

INISIALISASI VARIABEL INTEGER

Contoh : earn = 1024;

stops = -3;

johns = 12345;

dalam statement deklarasi :

int hogs = 23;

int cows = 32, goats = 14;

int dogs, cats = 92;

 

MENDEKLARASIKAN TIPE INTEGER

int earn;

short stops; atau short int stops;

long johns ; atau long int johns ;

int hogs, cows, goats;

2. SHORT

Dalam TURBO C variabel short dan variabel integer tidak dibedakan

3. LONG

Variabel ini digunakkan untuk menaikkan kapasitas dari variabel ybs

4. TIPE UNSIGNED

Variabel ini digunakan jika ingin bekerja dengan data yang bernilai positif saja

Contoh : Unsigned int students;

Unsigned players;

Unsigned short ribs = 6;

5. TIPE CHAR

- Mendefinisikan integer tak bertanda dalam range 0 - 255

- Disimpan dalam 1 byte

- Sebagian besar menggunakan kode ASCII

Contoh : huruf A dalam ASCII konversinya adalah 65 (desimal)

 KONSTAN CHARACTER

- diapit oleh single quote (' ')

contoh : jika variabel broiled mempunyai tipe char, maka bisa dituliskan

broiled = 'T';

tidak bisa dituliskan

broiled = T;

-  variabel atau konstan char hanya boleh mempunyai nilai sebuah karakter.

contoh : char bovine;

bovine = 'ox'; /*salah*/

- beberapa karakter tidak dicetak

contoh : 7 menyebabkan terminal berbunyi

Cara Penulisan :

1. Menggunakan kode ASCII nya didahului backslash.

contoh : beep = '\007';

2. Menggunakan "escape sequence";

\n newline

\t tab (default 8 karakter)

\b backspace

\r carriage return

\f formfeed

\\ backslash (\)

\' single quote (')

\" double quote (")

\xoa kode ASCII dalam hexadesimal (aa = angka ASCII ybs)

\aaa kode ASCII dalam oktal (aaa = angka ASCII ybs)

disebut escape sequence karena notasi '\' dianggap sebagai karakter "escape" (menghindar) dalam arti bahwa karakter yang terdapat setelah tanda '\' dianggap bukan merupakan teks biasa. Jadi karakter ini dilarikan dari pengertian teks biasa.

Contoh : char nerf;

nerf = '\n';

Contoh :

main()

{

clrscr();

printf ("\'DPR\' singkatan dari \"Dewan Perwakilan Rakyat\"");

}

OUTPUT:

'DPR' singkatan dari Dewan Perwakilan Rakyat

 

MENCETAK KODE ASCII

- agar output yang dihasilkan dapat lebih menarik dapat digunakan karakter grafis dari kode ASCII .

- Dalam TURBO C dan IBM untuk mencetak kode ASCII digunakan kode hexa.

- Kode oktal banyak digunakan di UNIX

Contoh :

main()

{

clrscr();

printf ("bel berbunyi, setelah teks ini \x07");

}

OUTPUT :

bel berbunyi, setelah teks ini

 

MENCETAK PADA BARIS BARU

Contoh :

1. main() main()

{ {

clrscr(); clrscr();

printf ("baris 1 \n"); printf ("baris 1");

printf ("baris 2"); printf ("\nbaris 2");

}

OUTPUT: OUTPUT:
baris 1 baris 1

baris 2 baris 2

2. Contoh :

main() main()

{ {

clrscr(); clrscr();

printf ("baris 1"); printf ("baris 1 \nbaris2");

printf ("\n baris 2"); }

}

OUTPUT: OUTPUT:
baris 1 baris 1

baris 2 baris 2

 

MENDEKLARASIKAN VARIABEL CHARACTER

char response;

char itable, latan;

char isma = 'S';

 

6. FLOATING POINT

Koresponden dengan bilangan nya (real number);

Contoh : 2.75, 3.16 E7, 7.00, 2e-8

3.16x107

Dalam penyimpanan berbeda dengan integer yaitu :

dipecah dalam bagian fraksional dan eksponen, dan disimpan terpisah menggunakan bilangan biner.

Perbedaan Praktikal dari integer dan Floating-Point

1. Integer adalah bilangan bulat sedangkan bilangan floating-point dapat merepresentasikan baik bilangan bulat maupun fraksional.

2. Bilangan floating-point dapat merepresentasikan nilai yang rangenya jauh lebih besar daripada integer.

3. Untuk operasi aritmetika, bil. floating-point bisa kehilangan presisinya.

4. Operasi thd bilangan floating-point lebih lambat drpd terhadap integer

Contoh penyimpanan bil.floating-point dalam versi desimal :

+ .314159 1

 

KONSTAN FLOATING POINT

Contoh : -1.56E+12 3.14159 4E16 100

2.87e-3 .2 .8E-5

Salah : 1.56 E+12

 

MENDEKLARASIKAN VARIABEL FLOATING-POINT

float noah,jonah;

double trouble;

float planck = 6.63e-34;

OPERATOR SIZE OF memberikan ukuran argumennya dalam satuan byte.

Karena sistem yang berbeda, mungkin mempunyai ukuran tipe yang berbeda untuk C environment, maka user perlu melihatnya:

#include <stdio.h>

main()

{

printf ("type int has a size of %d bytes.\n",size of (int));

printf ("type char has a size of %d bytes.\n",size of (char));

:

}

operator bulit-in C yang disebut sizeof memberikan ukuran dari argumennya dalam byte

OUTPUTNYA :

Type int has a size of 2 bytes

Type char has a size of 1 bytes

:

CATATAN :

Dlm menginisialisasikan variabel, cocokkan tipe konstan dgn tipe variabel.

int apples = 3; /*ok*/

int oranges = 3.00; /*wrong*/

 

VARIABEL

Variabel adalah data yang nilainya selalu berubah-rubah selama proses ekse program berlangsung. Sebuah variabel yang sama dapat mengandung data yang berbeda pada saat yang berbeda .Variabel memegang peranan yang penting dalam pembuatan program.

NAMA VARIABEL

Batasan-batasan  yang perlu  diperhatikan dalam memilih nama variable adalah:

1. Nama variabel hanya boleh terdiri dari abjad(A-Z atau a-z),angka(0-9) dan tanda hubung(_).

Contoh : GAJI (benar)

               Bayar1 (benar)

2. Karakter pertama harus berupa huruf (A-Z) atau (a-z) atau tanda hubung(_) tidak boleh berupa angka.

contoh : nama1, kode2 (benar)

              _gaji_pokok (benar)

              1nama (salah)

3. Tidak boleh mengandung simbol khusus seperti (@,!,$,%,*,&,dll) kecuali tanda hubung  (_).

contoh : nama_mahasiswa (benar)

              kode-wilayah (salah)

              total& (salah)

4. Tidak boleh sama dengan kata kunci (reserved word)Turbo C

contoh : alamat,status (benar)

              auto, break, main, printf, float, char (salah)

5. Nama variabel boleh terdiri dari kata kunci (reserved word) yang digabung dengan kata lain .

contoh : char_pertama

               data_float

6. Huruf besar dan kecil dari nama variabel akan dibedakan oleh bahasa C

contoh : nama,Nama,NAMA adalah 3 variabel yang berbeda

7. Nama variabel tidak boleh menggunakan operator aritmetika  seperti(+, -, /, *, %)

contoh : jumlah+anak(salah)

              potongan%(salah)

8. Nama variabel tidak boleh mengandung spasi

contoh : gaji pokok

9.Gunakan 8 karakter, apabila lebih karakter ke 9 dan seterusnya akan diabaikan

Contoh :stmikdar dan stmikdarmajaya akan dianggap sama.

 

DEKLARASI VARIABEL

Variabel yang akan digunakan dalam program harus diperkenalkan (dideklarasikan) terlebih dahulu, sifat deklarasi variable adalah mutlak, tanpa adanya deklarasi variabel Turbo C tidak akan menerima variabel tersebut.

Deklarasi berarti memesan memori dan menentukan jenis data yang bisa disimpan di dalamnya. Deklarasi variabel meliputi tipe variabel seperti integer(int), floating point (float), double precision (double) dan character (char) dan nama variabel itu sendiri.

Bentuk pendeklarasian variabel :

tipe-variabel nama-variabel  ;

Contoh: int gaji ;

Beberapa variabel yang bertipe sama dapat dideklarasikan sekaligus dengan memberikan koma diantara nama-nama variable tersebut.

Contoh :

int a;

int b;

digabung penulisannya menjadi

int a,b;

Variabel dengan nama yang sama TIDAK BOLEH dideklarasikan ulang.

Contoh : int nilai;

float nilai;

Program ini akan memberikan pesan kesalahan redeclaration, yang berarti adanya deklarasi ulang atas variabel yang sama.

 

 INISIALISASI VARIABEL

 Inisialisasi variable adalah  memberikan nilai ke variabel yang telah dideklarasikan,  dinyatakan dengan tanda =.

variabel = nilai;

Contoh :  gaji = 100000;

Contoh Program :

main()

{

float harga,jumlah,hrg_tot; /*deklarasi*/

clrscr();

jumlah = 10; /*inisialisai*/

harga = 15.50;

hrg_tot = jumlah * harga;

printf ("harga total = %f",hrg_tot);

Penjelasan program

Variabel harga dan jumlah yang bertipe float lebih dulu akan diberi nilai sebesar 15.50 dan 10 sebelum digunakan untuk menghitung  hrg_tot yang juga bertipe float.

Inisialisasi variabel dapat dilakukan bersamaan dengan  deklarasi variable.

Contoh :

 float a;  -----------------deklarasi variabel

a=100;  -----------------inisialisasi variable

float a=100; ----------inisialisasi bersamaan dengan deklarasi

 

JENIS - JENIS VARIABEL

1.VARIABEL NUMERIK

Variabel numerik adalah variabel yang hanya dapat menampung data berupa angka, biasanya digunakan untuk proses aritmatika.

Terbagi :

1. Bilangan bulat / integer

bilangan ini mampu menampung bil bulat berkisar antara -32.768 s/d +32.767

2. Bilangan desimal berpresisi tunggal / floating point

bilangan ini mampu menampung data dari 10-38 s/d 1038, sedang dalam bentuk desimal dapat menampung hingga 6 desimal (6 angka di belakang koma)

contoh : nilai_maks = 2.3e-20

std_dev = 100.123456

3. Bilangan desimal berpresisi ganda / double precision

bila data numerik yang akan diolah melebihi kapasitas yang dimiliki oleh floating-point dan bila diperlukan tingkat ketelitian yang tinggi dapat digunakan double precision. Dalam bentuk bilangan berpangkat , double precision dapat mengolah angka dengan ketelitian antara 10-308 s/d 10308. Sedang dalam bentuk desimal mampu menampung hingga 15 digit

2.VARIABEL STRING

Variabel string adalah variabel yang menampung segala karakter yang termasuk karakter ASCII yaitu 0 - 255

1. Karakter (untuk karakter tunggal)

selain dapat digunakan untuk menampung sebuah karakter, variabel ini dapat pula dikonversikan dalam bentuk bilangan (ASCII code) . Bilangan hasil konversi data ini dinyatakan dengan bilangan bulat yg berkisar dari 128 s/d +127.

2. String (untuk rangkaian karakter)

merupakan rangkaian karakter yang diakhiri dengan karakter null ('\0')

JENIS

RANGE

int / sign int -32768 - 32767 (215 - 1)
unsign int 0 - 65535
short int / signed short int - 28 - 127
unsigned short int 0 - 255
long int / signed long int -2147483648 - 2147483648
unsigned long int 0 - 4294967296
char

karakter ASCII

unsigned char 0 - 255
signed char -128 - 127
Float

maksimum nilai 32 digit

Double

maksimum nilai 64 digit

Setiap variabel yang dideklarasikan akan memakai memori dan besarnya berlainan untuk setiap jenis data. Seringkali tipe variabel yang memiliki ketelitian tinggi memerlukan memori yang lebih besar. Jumlah memori yang dialokasikan untuk variabel - variabel sangat tergantung pada sistim komputer serta kompiler yang digunakan. Untuk mengetahui jumlah memori yang dipakai oleh suatu variabel, dapat memakai fungsi sizeof. Bentuk pernyataannya sebagai berikut :

sizeof namavariabel

Sebagai standar perhitungan jumlah pemakaian memori oleh suatu variabel dapat dipakai tabel dibawah ini :

TYPE DATA

MEMORY YG DIPERLUKAN

(DALAM BYTES)

Integer

2

Short Integer

2

Long Integer

4

Floating point

4

Double Precision

8

Unsigned Integer

2

Unsigned Long Integer

4

Character

1

String Sesuai jml char + 1 (utk char 'null')

 

 KONSTANTA

Konstanta digunakan untuk menyatakan nilai yang tetap, tidak berubah selama eksekusi program berlangsung. Berbeda dengan variabel, suatu konstanta tidak dideklarasikan .

JENIS-JENIS KONSTANTA

1.KONSTANTA NUMERIK

1 Bilangan bulat (Integer)

2. Bilangan desimal berpresisi tunggal (Floating Point)

3.Bilangan Desimal berpresisi ganda (Double Precision)

serupa dengan floating-point, hanya tingkat ketelitian yang dimiliki lebih tinggi.

 

2.KONSTANTA STRING

1.Data Karakter.

Data ini hanya terdiri dari sebuah karakter saja dan ditandai dengan dua tanda kutip tunggal ('). Karakter dapat berupa abjad baik huruf besar maupun huruf kecil,angka, ataupun notasi - notasi lain seperti : ^, %, * dan lain lain.

contoh : 'A'

'r'

2.Data String

Data ini merupakan rangkaian dari beberapa karakter dan ditandai dengan petik ganda (") :

contoh : "AMIR"

"bahasa"

 

DEKLARASI KONSTANTA

Cara mendeklarasikan konstanta , cukup dengan menambahkan kata const di depan tipe dan nama variabel.

Contoh : variabel bilangan  yang bertipe float dideklarasikan dengan nilai konstan sebesar 2.50;

const float bil = 2.50;

Perbedaan antara Variabel dan Konstanta :

1. Variabel nilainya bisa berubah selama program berjalan

Konstan nilainya tidak berubah

2. Variabel harus didefinisikan

Konstan tidak perlu didefinisikan