Anda di halaman 1dari 47

SEJARAH SINGKAT BAHASA C

C adalah bahasa pemrograman. Bahasa C dirancang oleh Dennis M. Ritchie pada


tahun 1972 di AT&T Bell Labs. Bahasa C dikembangkan dari bahasa BPCL (Basic Combined
Programming Language ) dan bahasa B. Bahasa BPCL di kembangkan oleh Martin Richard
pada tahun 1967 sebagai bahasa system operasi dan compiler. Ken Thompson pada tahun
1970 telah merancang bahasa B dengan memasukkan feature BPCL. Bahasa B dirancang
untuk membuat system operasi UNIX/LINUX untuk computer DEC PDP-7 pada Bell
Laboratories.
Pada tahun 1978 Dennis Ritchie dan Brian W. Kerninghan mempublikasikan bahasa C
melalui buku "The C Programming Language". Buku ini diterbitkan oleh Prentice Hall dan
pada saat ini telah di terjemahkan dalam berbagai bahasa di dunia. Dan buku ini juga yang
menjadikan legenda dan sejarah bagi bahasa C hingga di kenal dengan sebutan K&R C
((K=Kerninghan | R=Ritchie)).
Seiring pesatnya perkembangan bahasa C, maka banyak vendor dan software developer
mengembangkan bahasa C menurut versi mereka masing-masing. hal ini telah memicu ANSI
(American National Standards Institute) pada tahun 1983 untuk membentuk komite teknis
yang di sebut X3J11 untuk bekerja pada standard bahasa C yang bertujuan untuk membuat
definisi standar bahasa C yang lebih modern dan komprehensif, dengan memperbaiki syntax
dan grammar bahasa C. Pada akhir 1989 komite telah menyetujui standard ANSI untuk
bahasa C yang kemudian terkenal dengan sebutan ANSI C.

Bahasa C termasuk high-level programming language. Pada kenyataannya bahasa C


adalah salah satu bahasa yang paling populer untuk keperluan umum. Dikatakan high-level
programming language karena kedekatannya dengan bahasa manusia. Semakin dekat dengan
bahasa manusia, maka semakin tinggi bahasa tersebut. Namun, membawa pengaruh semakin
berkurang kemampuan untuk mengakses langsung instruksi dasar bahasa mesin. Tapi tidak

sedikit yang mengatakan bahasa C adalah medium-level programming language karena


bahasa C juga sanggup berinteraksi langsung dengan mesin. Lebih tepatnya bahasa C berada
diantara High-level dan Low-level. Low-level language adalah bahasa mesin (contoh :
assembler), bahasa yang sanggup berinteraksi langsung dengan mesin.
Pada tahun 1980 seorang ahli yang bernama Bjarne Stroustrup mengembangkan
beberapa hal dari bahasa C yang kemudian dinamakan C with Classes, yang pada tahun 1983
berganti nama menjadi C++.

Bahasa C mempunyai 32 keywords yang telah di tetapkan oleh ANSI. Ke 32


keywords itu adalah : auto, break, case, char, const, continue, default, do, double, else, enum,
extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch,
typedef, union, unsigned, void, volatile, while.

Fungsi Penyusun Bahasa C


Fungsi main()
Program bahasa C pada hakikatnya tersusun atas sejumlah blok fungsi. Sebuah
program minimal mengandung sebuah fungsi yaitu fungsi utama ( main() ). Setiap fungsi
terdiri dari satu atau beberapa pernyataan yang secara keseluruhan dimaksudkan untuk
melaksanakan tugas khusus. Bagian pernyataan fungsi (sering disebut tubuh fungsi) diawali
dengan tanda kurung kurawal buka ( { ) dan diakhiri dengan tanda kurung kurawal tutup ( } ).
Namun dalam kenyataannya suatu fungsi bisa saja tidak mengandung pernyataan sama sekali,
seperti yang diperlihatkan pada contoh berikut:
Main()
{
}
Walaupun fungsi tidak mempunyai pernyataan, namun kurung kurawal harus tetap ada,
karena mengisyaratkan awal dan akhir definisi fungsi. Secara umum suatu fungsi mempunyai
bentuk sebagai beriku:
Nama-fungsi (daftar parameter)
Deklarasi parameter;
{
Tubuh Fungsi
}

Praprosesor #include
Pada contoh program sebelumnya terdapat baris yang berisi #include :
1. #include merupakan salah satu jenis pengarah praprosesor yang digunakan untuk
memberitahu kompiler agar dalam proses linking membaca file yang dinamakan file judul
(header file), yaitu file yang diantaranya berisi deklarasi fungsi dan definisi konstanta.
2. Bahasa C menyediakan beberapa file judul yang ditandai dengan ekstensi .h. Misal, pada
program di atas, #include menyatakan pada kompiler agar membaca file bernama stdio.h saat
melakukan kompilasi.
3. Bentuk umum #include: #include atau #include "namafile"
4. Bentuk pertama ( #include ) mengisyaratkan bahwa pencarian file dilakukan pada direktori
khusus (direktori file include), yang merupakan default direktori file-file judul yang
disediakan oleh bahasa pemrograman.
5. Bentuk kedua ( #include "namafile" ) menyatakan bahwa pencarian file dilakukan pertama
kali pada direktori aktif tempat program sumber, dan seandainya tidak ditemukan pencarian
akan dilanjutkan pada direktori lainnya sesuai dengan perintah pada sistem operasi (yaitu
path).

FUNGSI HEADER
=> Stdio.h
Yang merupakan singkatan dari "standar input/output header", adalah header yang berisi
definisi makro, konstanta, dan deklarasi fungsi dari dua jenis yang digunakan untuk berbagai
standar input output operasi.
=> conio.h
Adalah header file yang digunakan untuk membuat teks antarmuka pengguna.

=> assert.h
Adalah file header yang mendefinisikan makro menegaskan c processor.
=> complex.h
Adalah

file

header

yang

mendefinisikan

fungsi

untuk

aritmatika

kompleks.

=> ctype.h
Adalah

header

untuk

deklarasi

yang

berfungsi

mengklasifikasi

karakter.

=> errno.h
Adalah file header yang berfungsi melaporkan kondisi kesalahan melalui kode kesalahan.
=> fenv.h
Adalah file header yang mengandung berbagai fungsi dan makro untuk memanipulasi
lingkungan floating point.
=> float.h
Adalah header yang berfungsi memperluas ke berbagai limit dan parameter dari jenis floating
point standar.
=> Inttypes.h
File header yang berfungsi mendefinisakan beberapa makro untuk digunakan dengan fungsi
printf,dan

scanf,

serta

fungsi

untuk

bekerja

dengan

jenis

intmax_t.

=> iso646.h
Adalah header yang mendefinisikan beberapa makro yang memungkinkan programmer untuk
menggunakan c bitwise bahasa dan operator logika yang tanpa file header tidak bisa cepat
atau

mudah

di

ketik

pada

beberapa

keyboard

non-qwerty

internasional.

=> limits.h
Adalah file header dari perpustakaan standar bahasa pemrograman c yang mencakup definisi
karakteristik

dari

jenis

variabel

umum.

=> locale.h
Adalah pemrograman bahasa c file header, digunakan untuk tujuan lokalisasi.
=> math.h
Berisi

prototype

fungsi

untuk

pustaka

matematika.

=> string.h
Berisi prototype fungsi untuk pemrosesan string.

Pengenalan Tipe Data


Tipe

Ukuran

Data

Memori

Char
Int
Short
Long
Float
Double
Long

1 Byte
2 Byte
2 Byte
4 Byte
4 Byte
8 Byte

-128 s.d 127


-32768 s.d 32767
-32768 s.d 32767
-2,147,435,648 s.d 2,147,435,647
3.4 x 10-38 s.d 3.4 x 10+38
1.7 x 10-308 s.d 1.7 x 10+308

57
15 16

10 Byte

3.4 x 10-4932 s.d 1.1 x 10+4932

19

Double

Tipe Data Tambahan

Jumlah
Jangkauan Nilai

Digit

Unsigned digunakan bila data yang digunakan hanya data yang positif saja
Tipe

Jumlah

Data

Memori

Unsigned Integer
Unsigned Character
Unsigned Long Integer

2 Byte
1 Byte
4 Byte

Jangkauan Nilai
0 65535
0 255
0 4,294,967,295

Deklarasi Konstanta
Konstanta adalah suatu nilai yang sifatnya tetap. Secara garis besar konstanta dapat dibagi
menjadi dua bagian, yaitu :
1. Konstanta Bilangan
Dalam hal ini konstanta bilangan dibagi menjadi tiga kelompok, antara lain;
1. Konstanta Bilangan Bulat (Integer).
2. Konstanta Desimal Berpresisi Tunggal ( Floating Point )
3. Konstanta Desimal Berpresisi Ganda ( Double Precision )
4. Konstanta Teks
Dalam hal ini konstanta Teks dibagi menjadi dua kelompok, antara lain;
1. Data Karakter (Character).
2. Data Teks (String)
Bentuk deklarasi konstanta diawali dengan reserved word const. Bentuk penulisannya :
const nama-konstanta = nilai konstanta;
contoh : const x = 89;

Deklarasi Variabel
Suatu tempat menampung data atau konstanta dimemori yang mempunyai nilai atau data
yang dapat berubah-ubah selama proses program
Dalam pemberian nama variabel, mempunyai ketentuan-ketentuan antara lain ;

Tidak boleh ada sepasi ( cth : gaji bersih ) dan dapat menggunakan tanda garis bawah
( _ ) sebagai penghubung (cth : gaji_bersih).

Tidak boleh diawali oleh angka dan menggunakan operator aritmatika

Variabel, dibagi menjadi dua jenis kelompok, yaitu :


1. Variabel Numerik
1. Bilangan Bulat atau Integer
2. Bilangan Desimal Berpresisi Tunggal atau Floating Point.
3. Bilangan Desimal Berpresisi Ganda atau Double Precision.
4. Variabel Text
1. Character ( Karakter Tunggal )
2. String ( Untuk Rangkaian Karakter )
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 ( ;
).
TIPE VARIABEL
Integer
Floating Point
Double Precision
Karakter
Unsigned Integer
Unsigned Character

SIMBOL DEKLARASI
int
float
double
char
unsigned int
unsigned char

Long Integer
Unsigned Long Integer

long int
unsigned long int

Perintah Keluaran
Perintah standar output yang disediakan oleh Borland C++, diantaranya adalah :

printf()

Fungsi printf() merupakan fungsi keluaran yang paling umum digunakan untuk menampilkan
informasi kelayar.
Bentuk Penulisan
printf(string-kontrol, argumen-1, argumen-2, );
TIPE DATA
Integer
Floating Point
Bentuk Desimal
Bentuk Berpangkat
Bentuk Desimal dan Pangkat
Double Precision
Character
String
Unsigned Integer
Long Integer
Long Unsigned Integer
Unsigned Hexadecimal Integer
Unsigned Octal Integer

Penentu Format Untuk printf()


%d
%f
%e
%g
%lf
%c
%s
%u
%ld
%lu
%x
%o

Printf(%c merupakan abjad yang ke

int a = 7;

%d,b,2);
char b = G;
Contoh Program :
clrscr();
#include <stdio.h>
printf(%c Merupakan Abjad Yang Ke
#include <conio.h>

%d, b, a);

main()

{
Escape Sequences
ESCAPE
SEQUENCES
\b
\f
\n
\r
\t
\
\
\\
\xaa
\aaa

PENGERTIAN
Backspace
Formfeed
Baris Baru
Carriage Return
Tab ( default = 8 karakter )
Tanda kutip tunggal ( )
Tanda Kutip Ganda ( )
Backslash
Kode ASCII dalam hexadecimal.(aa menunjukkan angka ASCII ybs )
Kode ASCII dalam octal. (aaa menunjukkan angka ASCII ybs )

puts()

Perintah puts() sebenarnya sama dengan printf(), yaitu digunakan untuk mencetak string ke
layar. puts() berasal dari kata PUT STRING.

putchar()

Perintah putchar() digunakan untuk menampilkan sebuah karakter ke layar. Penampilan


karakter tidak diakhiri dengan pindah baris.

cout()

Fungsi cout() merupakan sebuah objeck didalam C++ digunakan untuk menampilkan suatu
data kelayar. Untuk menggunakan fungsi cout() ini, harus menyertakan file header
iostream.h.
Perintah Masukan

scanf()

Fungsi scanf() digunakan untuk memasukkan berbagai jenis data.


Bentuk Umum dari fungsi ini adalah :
TIPE DATA
Integer
Floating Point
Bentuk Desimal
Bentuk Berpangkat
Double Precision
Character
String
Unsigned Integer
Long Integer
Long Unsigned Integer
Unsigned Hexadecimal Integer
Unsigned Octal Integer

Penentu Format Untuk scanf()


%d
%e atau %f
%e atau %f
%lf
%c
%s
%u
%ld
%lu
%x
%o

gets()

Fungsi gets() digunakan untuk memasukkan data string, Bentuk umum dari fungsi ini adalah
gets(nama-variabel-array);

cin()

Fungsi cin() merupakan sebuah objeck didalam C++ digunakan untuk memasukkan suatu
data. Untuk menggunakan fungsi cin() ini, harus menyertakan file header iostream.h .

getch()

Fungsi getch() (get character and echo) dipakai untuk membaca sebuah karakter dengan sifat
karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter
yang dimasukan tidak akan ditampilkan di layar. File header yang harus disertakan adalah
conio.h.

getche()

Fungsi getche() dipakai untuk membaca sebuah karakter dengan sifat karakter yang
dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang
dimasukan ditampilkan di layar. File header yang harus disertakan adalah conio.h.
Selain itu kedua fungsi ini dapat digunakan untuk menahan agar tidak langsung kembali
kedalam listing program dan hasil dari program yang di eksekusi dapat dilihat tanpa menekan
tombol ALT F5. Karena fungsi getch() merupakan fungsi masukkan, jadi sebelum program
keluar harus menginputkan satu buah karakter.

FUNGSI
Function ( Fungsi ) merupakan blok dari kode yang dirancang untuk melaksanakan tugas
khusus. Pada intinya fungsi berguna untuk :

Mengurangi pengulangan penulisan program yang berulangan atau sama.

Program menjadi terstruktur, sehingga mudah dipahami dan dikembangkan.

Fungsi-fungsi yang sudah kita kenal sebelumnya adalah fungsi main(), yang bersifat mutlak,
karena fungsi ini program akan dimulai, sebagai contoh yang lainnya fungsi printf() yang
mempunyai tugas untuk menampilkan informasi atau data kelayar dan masih banyak lainnya.

Struktur Fungsi
Sebuah fungsi sederhana mempunyai bentuk penulisan sebagai berikut :
nama_fungsi(argumen)
{
pernyataan / perintah;
pernyataan / perintah;
pernyataan / perintah;
}
Contoh pembuatan fungsi sederhana :
/* pembuatan fungsi garis() */

garis();

garis()

cout<<Institut Sains dan Teknologi AlKamal<<endl;;

{
garis();
printf(\n-\n);
getche();
}/
}
* program utama */
main()
{
clrscr();
Prototipe Fungsi
Prototipe fungsi digunakan untuk menjelaskan kepada kompiler mengenai :

Tipe keluaran fungsi.

Jumlah parameter.

Tipe dari masing-masing parameter.

Salah satu keuntungan pemakai prototipe, kompiler akan melakukan konversi antara tipe
parameter dalam definisi dan parameter saat pemanggilan fungsi tidak sama atau akan
menunjukkan kesalahan jika jumlah parameter dalam definisi dan saat pemanggilan berbeda.
Contoh prototipe fungsi :
float total ( float a, float b); (menggunakan titik koma)
Jika dalam penggunaan fungsi yang dideklarasikan dengan menggunakan prototipe, maka
bentuk definisi harus diubah. Sebagai contoh pada pendefinisian berikut :
float total(a, b)
float a, y;
Bentuk pendefinisian diatas harus diubah menjadi bentuk modern pendefinisian fungsi :
float total(float a, float b) (Tidak menggunakan titik koma)

Parameter Fungsi
Terdapat dua macam para parameter fungsi, yaitu :
1. Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi
fungsi.
2. Parameter Aktual adalah variabel yang dipakai dalam pemanggilan fungsi.

Bentuk penulisan Parameter Formal dan Parameter Aktual.

1. Pemanggilan dengan nilai ( Call by Value )


Pemanggilan dengan nilai merupakan cara yang dipakai untuk seluruh fungsi buatan yang
telah dibahas didepan. Pada pemanggilan dengan nilai, nilai dari parameter aktual akan ditulis
keparameter formal. Dengan cara ini nilai parameter aktual tidak bisa berubah, walaupun
nilai parameter formal berubah. Contoh Program :
/* Penggunaan Call By Value */
/* Program Pertukaran Nilai */
#include<conio.h>

tukar(a,b);

#include<stdio.h>

cout<<\nNilai Setelah Pemanggilan


Fungsi;

#include<iostream.h>
cout<<\na = <<a<< b = <<b;
tukar(int x, int y);
getch();
main()
} tukar(int x, int y)
{
{
int a, b;
int z;
a = 88; b = 77;
z = x; x = y; y = z;
clrscr();
cout<<\n\nNilai di dalam Fungsi
cout<<Nilai Sebelum Pemanggilan

Tukar();

Fungsi;
cout<<\nx = <<x<< y = <<y;
cout<<\na = <<a<< b = <<b;
cout<<endl;
}

1. Pemanggilan dengan Referensi (Call by Reference)

Pemanggilan dengan reference merupakan upaya untuk melewatkan alamat dari suatu
variabel kedalam fungsi. Cara ini dapat dipakai untuk mengubah isi suatu variabel diluar
fungsi dengan melaksanakan pengubahan dilakukan didalam fungsi. Contoh :
/* Penggunaan Call By Reference */

cout<<\nNilai Setelah Pemanggilan


Fungsi;

/* Program Pertukaran Nilai */


cout<<\na = <<a<< b = <<b;
/* - */
getch();
#include<conio.h>
}
#include<stdio.h>
tukar(int *x, int *y)
#include<iostream.h>
{
tukar(int *x, int *y);
int z;
main()
z = *x; *x = *y; *y = z;
{
cout<<endl;
int a, b;
cout<<\nNilai di Akhir Fungsi Tukar();
a = 88; b = 77;
cout<<\nx = <<*x<< y = <<*y;
clrscr();
}
cout<<Nilai Sebelum Pemanggilan
Fungsi;
cout<<\na = <<a<< b = <<b;
tukar(&a,&b);
cout<<endl;
Pengiriman Data Ke Fungsi

1. Pengiriman Data Konstanta Ke Fungsi


Mengirimkan suatu nilai data konstanta ke suatu fungsi yang lain dapat dilakukan dengan
cara yang mudah, dapat dilihat dari program berikut :
/* Pengriman data Konstanta */
/* */
#include<conio.h>

luas_bs = luas(4.25);

#include<stdio.h>

cout<<\nLuas Bujur Sangkar =


<<luas_bs;

#include<iostream.h>
getch();
luas(float sisi);
} luas(float sisi)
main()
{
{
return(sisi*sisi);
float luas_bs;
}
clrscr();

1. Pengiriman Data Variabel Ke Fungsi


Bentuk pengiriman data Variabel, sama seperti halnya pengiriman suatu nilai data konstanta
ke suatu fungsi, hanya saja nilai yang dikirimkan tersebut senantiasa dapat berubah-ubah.
Bentuk pengiriman tersebut dapat dilihat dari program berikut:
/* */
/* Pengriman data Konstanta */
/* */

#include<conio.h>

cout<<\nMasukan Nilai Sisi Bujur


Sangkar : ;

#include<stdio.h>
cin>>sisi_bs;
#include<iostream.h>
luas_bs = luas(sisi_bs);
luas(float sisi);
cout<<\nLuas Bujur Sangkar =
main()
{
float luas_bs, sisi_bs;
clrscr();
cout<<\nMenghitung Luas Bujur

<<luas_bs<< Cm;
getch();
} luas(float sisi)
{
return(sisi*sisi);

Sangkar<<endl;
}

Pernyataan return().
Digunakan untuk mengirimkan nilai atau nilai dari suatu fungsi kepada fungsi yang lain yang
memanggilnya. Pernyataan return() diikuti oleh argumen yang berupa nilai yang akan
dikirimkan. Contoh pemakaian pernyataan return() dapatdilihat pada contoh berikut ;
/* */
/* Penggunaan Fungsi return() */
/* */

#include<conio.h>

a = tambah(b);

#include<stdio.h>

cout<<Nilai Setelah Pemanggilan


Fungsi :<<a;

#include<iostream.h>
getch();
tambah(int c); //prototype fungsi tambah
} tambah(int c) //fungsi tambah
main()
{
{
return(c+=2);
int a, b = 5;
}
clrscr();

Inline Function
Fungsi inline ( inline function ) digunakan untuk mempercepat proses program, terutama
program-program yang menggunakan sering menggunakan fungsi, terutama programprogram yang menggunakan pernyataan perulangan proses seperti for, while dan do while.
Inline function dideklarasikan dengan menyisipkan kata kunci inline didepan tipe data.
/* */
/* Penggunaan inlide function */
/* */

#include<conio.h>

#include<stdio.h>

int k;

#include<iostream.h>

clrscr();

inline int hitung(int a, int b)

for(k = 1; k < 20; k++)

cout<< k <<. <<hitung(k, 2 * k) <<


endl;

return(a * b);
getch();
}
}
main()

Function Overloading
Function Overloading adalah mendefinisikan beberapa fungsi, sehingga memiliki nama yang
sama. Dapat diartikan bahwa fungsi yang overload berarti menyediakan versi lain dari fungsi
tersebut. Salah satu kelebihan dari C++ adalah Overloading. Sebagai contoh membentuk
fungsi yang sama dengan tipe yang berbeda-beda dan dibuatkan pula nama fungsi yang
berbedabeda pula.
/* - */
/* Penggunaan function overloading */
/* - */

#include<conio.h>

getch();

#include<stdio.h>

} int hitung(int b)

#include<iostream.h>

int hitung(int b);

return(b*b);

long hitung(long c);

} long hitung(long c)

float hitung(float d);

void main()

return(c*c);

clrscr();

double hitung(double d)

cout<<hitung(4)<<endl;

cout<<hitung(2)<<endl;

return(d*d);

cout<<hitung(3)<<endl;

cout<<hitung(5)<<endl;

Fungsi Untuk Operasi String


Kompiler seperti Borland C++ maupun TURBO C++ menyediakan sejumlah fungsi yang
berkaitan dengan operasi string, antara lain :
1. Fungsi Manipulasi String
2. Fungsi Konversi string
Menggabungkan string dengan strcat() :

//*Contoh untuk menunjukkan efek strcat()


#include <iostream.h>

Clrscr();

#include <conio.h>

Cout <<Isi st semula : << st<< endl;

#include <string.h>

Strcat(st, tiga empat lima);

Void main()

Cout <<Isi st sekarang : << st << endl;

char st[128] = satu dua;

Menggabungkan dua buah string :

//*Contoh untuk menunjukkan penggunaan strcmp()

#include <iostream.h>

Cin.getline(st, sizeof (st));

#include <conio.h>

Int hasil = strcmp(st, cpp);

#include <string.h>

If (hasil==0)

Void main()

Cout <<st << ==<<cpp<<endl;

Else if (hasil<0)

char st[128] = satu dua;

Cout <<st << <<<cpp<<endl;

Char cpp[ ] = c++; Clrscr();

Else

Cout <<Masukkan sembarang

Cout <<st << ><<cpp<<endl;

string << endl;

Mengetahui Panjang String dengan strlen()

//* contoh strlen() untuk memperoleh panjang string

#include <iostream.h>

char kosong[15] = ;

#include <conio.h>

clrscr();

#include <string.h>

cout << strlen (bunga) << endl;

void main()

cout << strlen (kosong) << endl;

char bunga[15] = mawar;


Mengkonversi ke huruf kecil dengan strlwr() & strupr()

//*Contoh untuk mengkonversi string ke huruf kecil atau sebalinya menggunakan


strcat()

#include <iostream.h>

char st[128] = satu dua;

#include <conio.h>

Clrscr();

#include <string.h>

Cout <<Isi st semula : << st<<


endl;

Void main()

Strcat(st, tiga empat lima);

Cout <<Isi st sekarang : << st

<< endl;

Membalik string dengan strrev()

//* contoh pemakaian strrev() untuk membalikstring

#include <iostream.h>

char kompiler[ ] = Borland C++;

#include <conio.h>

clrscr();

#include <string.h>

strrev(kompiler);

void main()

cout<< kompiler<<endl;

Contoh menyalin string dengan strcpy()

//* contoh pemakaian strrev() untuk membalikstring

#include <iostream.h>

#include <conio.h>

char teks[ ] = C++ ok;

#include <string.h>

char data[25];

void main()

clrscr();

strcpy(data, teks);

cout<<isi data : << data<<endl;

Konversi String ke Angka atau sebaliknya.

Untuk melakukan konversi dari suatu string ke bilangan, pemrograman dapat


menggunakan sejumlah fungsi bawaan.

Fu

ato

ato

ato

Fungsi-fungsi yang telah tersedia dapat dilihat pada table berikut :

Prot
otipe

stdli
b.h

stdli
b.h

stdli
b.h

Keterangan

Mengkoversi string argument menjadi nilai bertipe INT

Mengkoversi string argument menjadi nilai bertipe FLOAT

Mengkoversi string argument menjadi nilai bertipe Long Int

Beberapa contoh hasil pengkonversian stringkebilangan :

atof(+2.1E+02)

210

atof( 20.1)

20

atof(+2)

atoi(+2.1E+02)

atof(2ABC)

atoi+2)

atoi(2ABC)

atoll(+2)

atoi( 20.1)

20

atoll(2ABC)

atol(+2.1E+02)

atol( 20000000)

20000000

PENYELESAIAN KONDISI

Pernyataan IF

Pernyataan if mempunyai pengertian, Jika kondisi bernilai benar, maka perintah


akan dikerjakan dan jika tidak memenuhi syarat maka akan diabaikan.

Bentuk umum dari pernyataan if

if (kondisi)

pernyataan;

Pernyataan IF ELSE

Pernyataan if -else mempunyai pengertian, Jika kondisi bernilai benar, maka


perintah-1 akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan
perintah-2.

Bentuk umum dari pernyataan if

if (kondisi)

perintah-1;

else

perintah-2;

Jika if-else diikuti dengan pernyataan majemuk maka bentuk penulisannya sebagai
berikut :

if (kondisi)

else

perintah-1;

perintah-2;

Pernyataan NESTED IF

Nested if merupakan pernyataan if berada didalam pernyataan if yang lainnya. Bentuk


penulisan pernyataan Nested if adalah :

if(kondisi)

if(kondisi)

perintah;

else

perintah;

else

if(kondisi)

perintah;

else

perintah;

Pernyataan IF ELSE Mejemuk

Bentuk dari if-else bertingkat sebenarnya serupa dengan nested if, keuntungan
penggunanan if-else bertingkat dibanding dengan nested if adalah penggunaan bentuk
penulisan yang lebih sederhana

if(kondisi1)

..perintah;

..perintah;

else

else if(kondisi2)

..perintah;

..perintah;

..perintah;

..perintah;

Pernyataan switch case

Pernyataan switch case ini memiliki kegunaan sama seperti if else bertingkat,
tetapi penggunaannya untuk memeriksa data yang bertipe karakter atau integer.
Bentuk penulisan perintah ini sebagai berikut :

switch (ekspresi integer atau karakter )

break;

case konstanta-1 :

perintah;

perintah;

default :

break;

perintah;

case konstanta-2 :

perintah;

perintah;

perintah;

Pernyataan break menunjukan bahwa perintah siap keluar dari switch. Jika pernyataan
ini tidak ada, maka program akan diteruskan kecabang cabang yang lainnya.

Contoh program penyelesaian kondisi :

#include<stdio.h>

#include<conio.h>

#include<iostream.h>

case B :

main()

case b :

cout<<Alat Elelktronik;

char kode;

break;

clrscr();

case C :

cout<<Masukkan Kode Barang

case c :

cout<<Alat Masak;

break;

default:

cout<<Anda Salah Memasukan

[A..C]

: ;
cin>>kode
switch(kode)

case A :

break;

case a :

cout<<Alat Olah Raga;

getch();

break;

PROSES PERULANGAN

kode;

Pernyataan for

Perulangan yang pertama adalah for. Bentuk umum pernyataan for sebagai berikut :

for(inisialisasi;syarat pengulangan;pengubah nilai pencacah )

Bila pernyataan didalam for lebih dari satu maka pernyataan-pernyataan tersebut
harus diletakan

didalam tanda kurung.

for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )

pernyataan / perintah;

pernyataan / perintah;

pernyataan / perintah;

Kegunaan dari masing-masing argumen for diatas adalah :

Inisialisasi : merupakan bagian untuk memberikan nilai awal untuk variabel-variabel


tertentu.

Syarat Pengulangan : memegang control terhadap pengulangan, karena bagian ini


yang akan menentukan suatu perulangan diteruskan atau dihentikan.

Pengubah Nilai Pencacah : mengatur kenaikan atau penurunan nilai pencacah.

Sebagai contoh program untuk mencetak bilangan dari 1 hingga 10 secara menaik,
sebagai berikut :

/* */

/* Program for bilangan naik */

/* */

#include<stdio.h>

int a;

#include<conio.h>

clrscr();

#include<iostream.h>

for(a = 1; a <= 10; ++a)

main()

cout<<a;

Pernyataan nested for

Pernyataaan Nested for adalah suatu perulangan for didalam perulangan for yang
lainnya. Bentuk umum pernyataan Nested for sebagai berikut :

for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )

for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah)

pernyataan / perintah;

Didalam penggunaan nested-for, perulangan yang didalam terlebih dahulu dihitung


hingga selesai, kemudian perulangan yang diluar diselesaikan.

/**/

/* Program for Nested for */

/* - */

#include<stdio.h>

#include<conio.h>

cout<<endl;

main()

for(b = a; b <= 5; b++)

cout<<a;

int a, b;

clrscr();

for(a = 1; a <= 5; a++)

Perulangan Tidak Berhingga

Perulangan tak berhingga merupakan perulangan ( loop ) yang tak pernah berhenti
atau mengulang terus, hal ini sering terjadi disebabkan adanya kesalahan penanganan
kondisi yang dipakai untuk keluar dari loop.

Sebagai contoh, jika penulisan perintah sebagai berikut :

/* - */

/* Program for Tdk Berhingga */

/* - */

#include<stdio.h>

clrscr();

#include<conio.h>

for (bil = 60; bil >=10; bil++)

main()

cout<< bil;

int bil;

Jika terjadi hal semacam ini, untuk menghentikan proses yang terus menerus
semacam ini denan

menekan tombol CTRL PAUSE atau CTRL BREAK.

Pernyataan goto

Pernyataan goto merupakan instruksi untuk mengarahkan eksekusi program


kepernyataan yang diawali dengan suatu label. Label merupakan suatu pengenal

(identifier) yang diikuti dengan tanda titik dua ( : ). Bentuk pemakaian goto sebagai
berikut :

goto label;

Contoh Penggunaan goto, dapat dilihat pada program berikut :

/* */

/* Program dengan pernyataan goto */

/* */

#include<iostream.h>

cout<<Masukkan Bilangan = ;

#include<stdio.h>

cin>>a;

#include<conio.h>

b = a % 2;

main()

cout<<Nilai a % 2 adalah = ,a,


b);

cout<<Ingin Hitung Lagi [Y/T] :

int a, b;

char lagi;

lagi = getche() ;

atas:

if (lagi == Y || lagi == y)

clrscr();

goto atas;

);

getch();

Pernyataan While

Bentuk umum perulangan while, dengan lebih dari perintah / pernyataan, sebagai

berikut :

while ( syarat )

Pernyataan / perintah ;

Contoh Program

/* - */

/* Program while.cpp */

/* - */

#include <stdio.h>

while(bil<=10)

#include <conio.h>

main()

cout<<bil;

++bil;

int bil=1;

clrscr();

Pernyataan do while

Pernyataan perulangan do while merupakan bentuk perulangan yang melaksanakan


perulangan terlebih dahulu dan pengujian perulangan dilakukan dibelakang.

Bentuk umum perulangan do while, sebagai berikut :

do

Pernyataan / perintah ;

while ( syarat )

Bentuk umum perulangan do while, dengan lebih dari perintah / pernyataan, sebagai
berikut:

do

Pernyataan / perintah ;

while ( syarat )

Contoh Program :

/* */

/* Program do while */

/* */

#include <stdio.h>

#include <conio.h>

main()

cout<<bil;

bil+=2;

int bil=2;

clrscr();

while(bil<=10);

do

Pernyataan break

Pernyataan break telah dibahas pada pernyataan pengambilan keputusan switch.


Pernyataan break ini berfungsi untuk keluar dari struktur switch. Selain itu pernyataan
break berfungsi keluar dari perulangan ( for, while dan do-while ). Jika pernyataan
break dikerjakan, maka eksekusi akan dilanjutkan ke pernyataan yang terletak
sesudah akhir dari badan perulangan ( loop ).

Do While dengan break :

/* Program do while dengan break */

#include <stdio.h>

#include <conio.h>

if (bil >= 6)

main()

break;

cout<<bil;

int bil = 1;

clrscr();

while(bil++);

do

For dengan Break

/* Perulangan FOR dengan break; */

#include <stdio.h>

#include <conio.h>

if (bil > 5)

main()

break;

cout << bil<<endl;

int bil=1;

bil++

clrscr();

while (bil <= 10)

Pernyataan continue

Pernyataan continue digunakan untuk mengarahkan eksekusi ke iterasi (proses)


berikutnya pada loop yang sama, dengan kata lain mengembalikan proses yang
sedang dilaksanakan ke-awal loop lagi, tanpa menjalankan sisa perintah dalam loop
tersebut.

/* Perulangan FOR dengan continue */

#include <stdio.h>

#include <conio.h>

int bil;

main()

clrscr();

for(bil=1; bil<=10; ++bil)

cout<< Apa saya


muncul?<<endl;

cout << bil <<endl;


continue;

VARIABEL ARRAY

Variabel Larik atau lebih dikenal dengan ARRAY adalah adalah Tipe terstruktur yang
terdiri dari sejumlah komponenkomponen yang mempunyai tipe yang sama. Suatu
Array mempunyai jumlah komponen yang banyaknya tetap. Banyaknya komponen
dalam suatu larik ditunjukan oleh suatu indek untuk membedakan variabel yang satu
dengan variabel yang lainnya. Variabel array dalam C++, dapat digolongkan menjadi
tiga buah dimensi :

1. Array Berdimensi Satu.


2. Array Berdimensi Dua
3. Array Berdimensi Tiga.

Array Berdimensi Satu

Cara mendeklarasikan variabel array sama seperti deklarasi variabel yang lainnya,
hanya saja diikuti oleh suatu indek yang menunjukan jumlah maksimum data yang
disediakan.

Bentuk umum pendeklarasian array :

Tipe-Data Nama_Variabel[Ukuran]

Keterangan :

Type Data : Untuk menyatakan type datayang digunakan.

Ukuran : Untuk menyatakan jumlah maksimum elemen array.

Contoh Pendeklarasian Array

float Nil_Akhir[6];

float type data, Nil_Akhir elemen array, [6] Jumlah elemen Array

Suatu array dapat digambarkan sebagai kotak panjang yang berisi kotak-kotak kecil
didalam kotak panjang tersebut.

Subscript atau Index array pada C++, selalu dimulai dari Nol ( 0 )

Bentuk umum pengaksesan dengan bentuk :

Nama_Array[Subscript/Index]

Contoh :

Nil_Akhir[3];

Nil_Akhir[1];

Nil_Akhir[0];

Inisialisasi Array Dimensi Satu

Inisialisasi adalah memberikan nilai awal terhadap suatu variabel. Bentuk


pendefinisian suatu array dapat dilihat dari contoh berikut :

Tipe_data nama_array[jml_elemen] = { nilai array };

Contoah Program :

gets(nama[i]);

/* Program Array Satu Dimensi */

cout<<Nilai Teori : ;

#include<conio.h>

cin>>nilai1[i];

#include<stdio.h>

cout<<Nilai Praktek : ;

#include<iostream.h>

cin>>nilai2[i];

#include<iomanip.h>

hasil[i] = (nilai1[i] * 0.40)+

main()

(nilai2[i] * 0.60);

cout<<endl;

int i;

char nama[5][20];

cout<<
;

float nilai1[5];

cout<<-<<endl;

cout<<No. Nama Siswa Nilai

float nilai2[5];

float hasil[5];

clrscr();

cout<<Hasil<<endl;

for(i=1;i<=2;i++)

cout<< Mid Tes FInal ;

cout<<Ujian<<endl;

cout<<Data Ke <<i<<endl;

cout<<

cout<<Nama Siswa : ;

Nilai ;

cout<<-<<endl;

cout<<setprecision(2)<<
<<nilai2[i];

for(i=1;i<=2;i++)

cout<<setiosflags(ios::left)<<setw(

cout<<setprecision(2)<<
<<hasil[i]<<endl;

cout<<-

20)<<nama[i];

cout<<setprecision(2)<<

cout<<-<<endl;

getch();

4)<<i;

cout<<setiosflags(ios::left)<<setw(

<<nilai1[i];

Array Berdimensi Dua

Array dimensi dua tersusun dalam bentuk baris dan kolom, dimana indeks pertama
menunjukan baris dan indeks kedua menunjukan kolom. Array dimensi dua dapat
digunakan seperti pendatan penjualan, pendataan nilai dan lain sebagainya.

Bentuk Umum pendeklarasian array :

Tipe-Data Nama_Variabel[index-1][Index-2]

Keterangan :

Type Data : Untuk menyatakan type data yang digunakan.

Index-1 : Untuk menyatakan jumlah baris

Index-2 : Untuk menyatakan jumlah kolom

Inisialisasi Array Dimensi Dua

Inisialisasi adalah memberikan nilai awal terhadap suatu variabel. Bentuk


pendefinisian suatu array dapat dilihat dari contoh berikut :

Tipe_data nama_array[jml_elemen] = { nilai array };

Contoh Pendeklarasian Array

Sebagai contoh pendeklarasian yang akan kita gunakan adalah pengolahan data
penjualan, berikut dapat anda lihat pada tabel berikut :

Jenis

Tahun

2001

2002

2003

Barang
Printer

150

159

230

Keyboard

100

125

150

Monitor

210

125

156

Jika anda lihat dari tabel diatas maka dapat dituliskan kedalam array dimensi dua
berikut :

int data_jual[3][3];

Keterangan :

[3] Jumlah Kolom, [3] Jumlah Baris, data_jual : Nama Array, int : Tipe data elemen
array

Bentuk umum pengaksesan dengan bentuk :

Nama_Array[Index-1][Index-2]

Contoh Program :

/* - */

/* Array Dimensi 2 */

#include<conio.h>

#include<stdio.h>

#include<iostream.h>

cout<<Data Penjualan
Pertahun<<endl;

#include<iomanip.h>

main()

int i, j;

cout<<<<endl
;

cout<<NO 2001 2002


2003<<endl;

cout<<<<endl

int data_jual[4][4];

clrscr();

for(i=1;i<=3;i++)

for(i=1;i<=3;i++)

cout<<setiosflags(ios::left)<<setw(

for(j=1;j<=3;j++)

cout<<Data Ke <<i<<
<<j<<endl;

5)<<i;

for(j=1;j<=3;j++)

cout<<setiosflags(ios::right)<<setw
(4);

cout<<Jumlah Penjulan : ;
cin>>data_jual[i][j];

cout<<data_jual[i][j];

cout<< ;

cout<<endl;

cout<<<<endl
;

getch();

http://rumpitekno.com/2013/sejarah-dan-penciptaan-bahasa-pemrograman-c/

http://ubuntuversion.blogspot.com/2012/11/sejarah-dari-bahasa-c.html

http://anak-spg.blogspot.com/2012/12/macam-macam-file-header-danfungsinya.html

Anda mungkin juga menyukai