FUNGSI MACAM MACAM KEYWORD
Postingan kali ini akan menjelaskan tentang
fungsi berbagai keyword ANSI C dalam pemrograman C++.
auto
Mendefinisikan sebuah variabel lokal sebagai
yang memiliki lifetime lokal. Keyword auto menggunakan syntaks sebagai
berikut:;
[auto] definisi-data
break
Membuat kontrol keluar dari pernyataan
majemuk. Pernyataan break membuat alur yang sedang dijalankan keluar dari
pernyataan iterasi seperti while, do atau switch. Sintaksnya hanya:;
break;
case
Merupakan bagian dari pernyataan percabangan
switch dimana keyword case adalah sebagai pernyataan pilihan yang selanjutnya
akan dijalankan jika ekspresi switch memenuhi suatu konstanta case. Syntaksnya
adalah sebagai berikut:;
switch (ekspresi) {
case ekspresi-konstanta1:
alur
pernyataan1;
break;
case ekspresi-konstanta2:
alur
pernyataan2;
break;
case ekspresi-konstanta3:
alur
pernyataan3;
break;
.
..
}
Alur diatas dapat dijelaskan secara sederhana
layaknya pilihan ganda, jika ekspresi yang mengikuti pernyataan switch sesuai
dengan ekspresi-konstanta1 maka pernyataan1 akan dijalankan, jika sesuai dengan
ekspresi-konstanta2 maka pernyataan2 akan dijalankan, jika sesuai dengan
ekspresi-konstanta3 maka pernyataan3 akan dijalankan dan seterusnya. Jika tidak
ada ekspresi-konstanta yang mengikuti pernyataan case dalam lingkup switch
diatas yang memenuhi ekspresi maka alur tidak akan melakukan eksekusi apapun.;
char
Merupakan type data mendasar dalam C/C++ yang
menampung data berjenis karakter atau teks. Dapat juga dijadikan sebagai
penanda type data nilai kembalian suatu fungsi. Contoh sintaksnya adalah
sebagai berikut:;
char huruf;
huruf='h';
Syntaks diatas, baris pertama adalah
mendeklarasikan variabel huruf bertipe data char yang mempunyai panjang satu
karakter. Sedangkan baris kedua adalah pernyataan penugasan yaitu mengisi nilai
variabel huruf menjadi sama dengan h. Adapun pengunaan keyword char untuk
mendeklarasikan tipe data dari nilai kembalian suatu fungsi:;
char fungsiku(int x, int y, char z);
Arti dari pernyatan diatas adalah kita
mendeklarasikan fungsi dengan 3 buah parameter argumen (x bertipe data integer,
y bertipe data integer, dan z bertipe data character) yang mempunyai nilai
kembalian dengan tipe data character.;
const
Mendeklarasikan/membuat nilai dari variabel
atau pointer menjadi tidak bisa diubaha (konstanta). Berbeda dengan deklarasi
variabel biasa, deklarasi konstanta harus langsung disertai dengan assigment
nilai dari variabel konstanta tersebut. Contoh:;
const x=2;
Syntaks diatas adalah kita mendeklarasikan
variabel konstanta x dengan nilai sama dengan 2.;
continue
Adalah pernyataan yang membuat alur melewati
lingkup iterasi seperti while, do, for saat itu dan melanjutkan ke nilai
iterasi selanjutnya. Contoh penggunaannya adalah sebagai berikut:;
for (i = 0; i < 50; i++)
{
if
(array[i] == 0)
continue;
array[i] = array[i]/2;
}
Fungsi alur diatas adalah merubah semua nilai
dari elemen array menjadi setengahnya tetapi tidak jika nilai elemen array itu
sama dengan nol.
dafault
Merupakan bagian dari penggunaan keyword
switch, penjelasannya adalah pada lingkup pernyataan switch, alur akan mencari
nilai dari berbagai kontanta case yang disajikan yang sesuai dengan ekspresi
yang mengikuti keyword switch, jika tiak ada dari berbagai pernyataan case yang
disajikan maka pernyataan dibawah keyword default -lah yang akan dijalankan.
Contoh penggunaannya adalah sebagai berikut:;
switch (operand)
{
case
MULTIPLY:
x
*= y; break;
case
DIVIDE:
x
/= y; break;
case
ADD:
x
+= y; break;
case
SUBTRACT:
x
-= y; break;
case
INCREMENT2:
x++;
case
INCREMENT1:
x++; break;
case
EXPONENT:
case
ROOT:
case
MOD:
printf ("Not implemented!\n");
break;
default:
printf("Bug!\n");
exit(1);
}
do
Merupakan bagian dari pernyataan iterasi
while...do yang fungsinya adalah mengulang berbagai pernyataan dengan kriteria
pengulangan. Jika kriterianya terpenuhi maka pengulangan akan dilanjutkan,
tetapi jika tidak maka pengulangan akan dihentikan. Contoh penggunaannya:;
x = 1;
do
{
x++;
}
while (x <= 100);
Penjelasan alur diatas adalah variabel x akan
terus bertambah nilainya satu selama nilai x lebih kecil atau sama dengan 100.;
double
Adalah salah satu tipe data floating number
dalam bahasa C/C++. Bedanya dengan tipe data float, double mempunyai titik
presisi ganda. Contoh penggunaannya adalah sebagai berikut:;
double modal;
Code diatas artiya kita mendeklarasikan
variabel modal dengan tipe data double.;
else
Adalah bagian dari pernyataan kondisional if.
Alur dibawah keyword else akan dijalankan jika ekspresi yang menyertai keyword
if bernilai false. Contohnya adalah sebagai berikut:;
if (ekspresi) pernyataan1;
else
pernyataan2;
Jika ekspresi bernilai true maka pernyataan1
akan dijalankan, tetapi jika tidak maka pernyataan2 akan dijalankan. Bentuk
lain dari pernyataan kondisional if..else adalah sebagai berikut:;
if (ekspresi)
{
pernyataan1;
pernyataan2;
…
…
}
else
{
pernyataan3;
pernyataan4;
…
…
}
enum
Membuat tipe data enumerasi berjenis data
integer yang mempunyai banyak nilai konstan yang telah didefinisikan.;
enum [tag] {nama [=nilai], ...};
Berikut adalah contoh penggunaannya:;
enum nomor {Satu =1 , Dua = 2, Tiga = 3, Empat
= 4};
extern
Menunjukkan bahwa sebuah identifier
didefinisikan di tempat lain. Dalam pemrograman modular, extern sangat
bermanfaat jika kita ingin mengidentifikasi suatu variabel global yang telah
dideklarasikan di tempat/file source code lainnya. Maka dalam pemrograman
multifile, kita bisa mendeklarasikan semua variabel global pada suatu file lalu
mengidentifikasikannya di file lain. File satu:;
int x;
int main(void)
{
x=1;
cout
<< x << endl;
return 0;
}
File dua:;
extern int x;
int func32(void)
{
int
y;
y=x;
cout
<< y << endl;
return 0;
}
Source code diatas menunjukkn bahwa File dua
mengidentifikasi variabel x dari File satu yang telah dideklarasikan.;
float
Sama seperti double, namum hanya mempunyai
titik presisi tunggal.;
float laba;
for
Adalah salah satu pernyataan iterasi selain
while..do.;
for (i=0; i<100; i++) sum += x[i];
goto
Merupakan pernyataan untuk memerintah alur
yang sedang berjalan agar berpindah ke baris lain sesuai label. Contohnya
adalah:;
Mulai:
pernyataan;
..
.
goto
Mulai;
Alur akan mengulangi eksekusi ke pernyataan
setelah mencapai baris goto Mulai;.;
if
Merupakan pernyataan kondidional, keyword if
digunakan untuk eksekusi kondisional. Secara mendasar sintaksnya adalah sebagai
berikut:;
if (ekspresi)
pernyataan;
Secara lanjut dapat ditulis sebagai berikut:;
if (ekspresi)
{
pernyatanan1;
..
.
}
else
{
pernyatan2;
..
.
}
int
Adalah tipe data standar berjenis bilangan
bulat. Jangkauan tipe data int adalah −32,767 sampai 32,767. Deklarasinya
adalah sebagai berikut:;
int x;
long
;Merupakan tipe data turunan dari int yang
mempunyai jangkauan yang lebih panjang yaitu −2,147,483,647 sampai
2,147,483,647. Contoh deklarasinya adalah sebagai berikut:;
long x;
register
Memberitahu compiler untuk menyimpan variabel
yang dinyatakan dalam register CPU. Penggunaannya adalah sebagai berikut:;
register definisi-data;
Contoh penggunaannya adalah sebagai berikut:;
register int i;
return
Adalah pernyataan yang berfungsi untuk
memberikan nilai kembalian suatu fungsi lalu alur akan keluar dari fungsi
tersebut. Sintaksnya adalah sebagai berikut: return nilai; Contoh penggunaannya
adalah sebagai berikut:;
bool invers(bool exp)
{
return
!exp;
}
signed
Merupakan type data modifier yang membuat
suatu tipe data mempunyai jangkauan dari nilai minus batas atasnnya hingga
nilai plus dari baas atasnnya. Penggunaannya adalah sebagai berikut:;
signed int var1;
Sebenarnya juga dapat ditulis seperti dibawah
ini tanpa mengubah fungsinya:;
int var1;
sizeof Adalah fungsi yang mengembalikan nilai
ukuran dalam byte dari ekspresi atau type data yang diberikan. Contoh
penggunaannya adalah sebagai berikut:;
x=sizeof(int);
static
Mempertahankan nilai variabel untuk bertahan
hidup setelah ruang lingkup berakhir. Kata kunci static dapat diterapkan untuk
kedua definisi data dan fungsi:;
static data-definition;
static function-definition;
;
struct
Mengelompokkan variabel dalam record tunggal.
Sintaksnya adalah sebagai berikut:;
struct [nama-struktur]
{
[type nama-variabel] ;
...
}
[variabel-struktur] ;
Contoh:;
struct person
{
string nama, nomor_hp, alamat;
int umur, tinggi_badan;
};
Contoh diatas kita mendeklarasikan struktur
dengan nama person yang mempunyai anggota data bertipe string 3 buah dan
bertipe integer 2 buah. Deklarasi anggota data dengan tipe data sama dipisahkan
dengan tanda koma dan titik koma jika tipe datanya berbeda. [variabel-struktur]
dapat diisi ataupun tidak (opsional). Penggunaan tipe data struktur diatas
dapat seperti ini:;
struct person orang[100];
Atau jika kita ingin mendeklarasikan variabel
array orang langsung setelah mendeklarasikan strukturnya maka dapat ditulis
seperti ini:;
struct person
{
string nama, nomor_hp, alamat;
int umur, tinggi_badan;
}orang[100];
switch
Merupakan pernyataan percabanagan, menyebabkan
kontrol melakukan percabangan terhadap daftar pernyataan yang disediakan dalam blok
pernyataan. Sintaknya adalah:;
switch (ekspresi) pernyataan
Secara lanjut dapat ditulis:;
switch (ekpresi)
{
case
ekspresi-konstanta1:
..
case
ekspresi-konstanta2:
..
}
typedef
Mendefinisikan/membuat tipe data baru.
Sinaksnya adalah:
typedef definisi-type identifier;
Contoh penggunaannya adalah sebagai berikut:;
typedef unsigned char byte;
typedef char str40[41];
typedef struct {float re, im;} complex;
typedef char *byteptr;
typedef int (*fncptr)(int);
Setelah definisi diatas, maka kita dapat
mendeklarasikan:;
byte m, n;
str40 myStr;
complex z1, z2;
byteptr p;
fncptr myFunc;
Sama seperti kita mendeklarasikan:;
unsigned char m, n;
char myStr[41];
struct {float re, im;} z1, z2;
char *p;
int (*myFunc)(int);
union
Mengelompokkan variabel yang berbagi ruang
penyimpanan yang sama. Sebuah serikat mirip dengan sebuah struct, kecuali union
memungkinkan kita untuk menentukan variabel yang berbagi ruang penyimpanan.
Sintaks untuk mendefinisikan serikat adalah:;
union [union-type-name]
{
type
variable-names;
...
}
[union-variables] ;
Contoh,;
union short_or_long
{
short i;
long
l;
}
a_number;
unsigned
Merupakan type modifier yang dapat diterapkan
ke tipe data standar. Seperti namanya unsigned (tanpa tanda) maka jika kita
mendeklarasi variabel menggunakan type modifier unsigned maka jangkauan
variabel tersebut hanya akan bermula dari 0 hingga batas atas tipe data dasar
tersebut dikali 2. Contohnya jika kita mendeklarasikan variabel dengan tipe int
yang mempunyai jangkauan – 32,767 sampai 32,767 maka jika kita awali dengan
type modifier unsigned variabel itu akan mempunyai jangkauan 0 sampai 6,5534.
Contoh deklarasi variabel dengan modifier unsigned adalah seperti dibawah ini:;
unsigned int x;
void
Adalah type data kosong. Jika kita gunakan
dalam deklarasi fungsi maka artinya fungsi tersebut tidak mempunyai nilai
kembalian:;
void hello (char *nama)
{
printf("Hallo, %s bagaimana kabar anda?", nama);
}
Jika dimasukkan ke deklarasi parameter fungsi
maka artinya fungsi tersebut tidak memerlukan parameter apapun.;
void hello (void)
{
printf("Hallo bagaimana kabar anda?”);
}
volatile
Menunjukkan bahwa variabel dapat diubah oleh
rutinitas latar belakang. Syntaksnya adalah sebagai berikut:;
volatile data-definition;
while
Adalah pernyataan iterasi/pengulangan dimana
suatu alur akan diulang ketika kondisi yang menyertai while bernilai true.
Sintaksnya adalah:;
while (ekspresi) pernyataan;
Ketika ekspresi bernilai true maka pernyataan
akan terus dijalankan hingga ekspresi bernilai false. Contoh:;
while (*p == ' ') p++;