1. Pengenalan Bahasa C++
Sejarah bahasa C++
Bahasa C merupakan pengembangan dari bahasa B
yang ditulis oleh Ken
Thompson pada tahun 1970. Bahasa C untuk
pertama kali ditulis oleh
Brian W. Kernighan dan Denies M. Ricthie pada
tahun 1972. Bahasa C,
pada awalnya dioperasikan diatas sistem
operasi UNIX.
Bahasa C adalah merupakan bahasa pemrograman
tingkat menengah
yaitu diantara bahasa tinggat rendah dan
tingkat tinggi yang biasa disebut
dengan Bahasa Tingkat Tinggi dengan Perintah
Assambly. Bahasa C
mempunyai banyak kemampuan yang sering
digunakan diantaranya
kemampuan untuk membuat perangkat lunak,
misalnya dBASE, Word Star
dan lain-lain. Pada tahun 1980 seorang ahli
yang bernama Bjarne
Stroustrup mengembangkan beberapa hal dari
bahasa C yang dinamakan
“C with Classes” yang berganti nama pada
tahun 1983 menjadi C++.
Penambahan yang terdapat pada C++ ini adalah
Object Oriented
Programming (OOP), yang mempunyai tujuan
utamanya adalah
membantu membuat dan mengelola program yang
besar dan kompleks.
Contoh Program C :
# include
<stdio.h>
Main ( )
{
Char pesan [ ] =
“Hai, C programmers !” ;
Printf (pesan) ;
Return 0 ;
}
Contoh Program C++
:
# include
<iostream.h>
Main ( )
{
Char pesan [ ] =
“Hai, C programmers !” ;
Cout <<
pesan ;
Return 0 ;
TENTANG C++
C++ diciptakan
untuk mendukung pemrograman berorientasi pada
objek (Object
Oriented Pragramming/OOP) yang tidak dimiliki C. sementara C
merupakan bahasa
pemrograman terbaik dilingkungannya, bahasa ini tidak memiliki kemampuan OOP.
Reputasi C tidak diragukan lagi dalam
menghasilkan
program .EXE berukuran kecil, eksekusi yang cepat,
antarmuka
(interfacing) yang sederhana dengan bahasa lain dan fleksibilitas
pemrograman. Apa
yang membuat C tampak sukar dipelajari mungkin karena
tiadanya
pemeriksaan tipe. Sebagai contoh, dapat mencampur bilangan bulat
dengan string
untuk menghasilkan karakter. Namun, justru dsitu letak
fleksibilitas C,
dapat mengolah data C sebebas mengolah data dalam bahasa
assembly.
2. Struktur data bahasa C++
Program C maupun
C++ selalu tersusun dari 4 (empat) bagian utama, yaitu :
1. Bagian komentar
yang ditandai dengan symbol // dan pasangan /* … */
2. Bagian pengarah
compiler yang ditandai dengan symbol #
3. Bagian
deklarasi
4. Bagian definisi
a. BAGIAN KOMENTAR
Program yang baik
pada umumnya diberi komentar yang akan membantu
orang lain maupun
pembuat program itu untuk memahami program yang
dibuat. Dalam C
atau C++ setiap tulisan yang diapit oleh symbol /* … */ atau
setiap baris yang
dimulai dengan symbol // dianggap komentar. C++ tidak
mengizinkan
komentar bersarang ( nested comment), namun Borland C++
lebih fleksibel
dalam hal ini.
Contoh C++
menggunakan komentar:
/* FIRST.CPP */
/* Program C++
pertamaku */
// Praproses
# include
<iostream.h>
Void main ( )
{
Char pesan [ ] = “Hello, C++ programmers!” ;
Cout << pesan ;
Return 0 ;
}
Pada Borland C++
dapat menggunakan komentar bersarang asalkan opsi cek
Nested comments pada menu Options/Compiler/Source dipilih.
b. BAGIAN PENGARAH
KOMPILER
Contoh program C++
:
# include
<iostream.h>
Void main ( )
{
Char pesan [ ] =
“Hello, C++ programmers!” ;
Cout <<
pesan ;
Return 0 ;
}
Merupakan
statement praprosesor, disebut juga pengarah compiler karena
berfungsi mengatur
proses kompilasi.
IOSTREAM.H
merupakan file program yang mengandung deklarasi kelaskelas
yang diperlukan
oleh objek cout. File-file dengan ekstensi .H yang berisi
deklarasi
fungsi-fungsi standar C ini, disebut secara umum sebagai file
header.
Beberapa pengarah
compiler adalah :
1. # define
2. # include
3. # if, # else, #
elif, # endif
4. # ifdef, #
ifndef
- PENGARAH
KOMPILER # DEFINE
Untuk
mendefinisikan suatu pengenal / konstanta yang nantinya akan
digantikan oleh
praprosesor saat program dikompilasi.
Contoh Program :
# define SIZE 30
Int array [SIZE] ;
For (register int
i = 0 ; i < SIZE ; i++)
{
Cout <<
array [ i ] ;
}
- PENGARAH
KOMPILER # INCLUDE
Berfungsi membaca
file program tertentu dan mengikutsertakan file tersebut
dalam proses
kompilasi. Nama file yang dimaksud harus diapit symbol ‘ < ‘
dan ‘ > ‘ atau
tanda kutip dua ( “ … “ ).
- PENGARAH
KOMPILER # IF, # ELSE, # ELIF, # ENDIF
Digunakan untuk
memilih bagian program yang akan dikompilasi. Kompilasi
cari ini disebut
kompilasi bersyarat dan program yang baik biasanya
memanfaatkan
teknik ini.
- PENGARAH
KOMPILER # IFDEF, # IFNDEF
Digunakan juga
dalam kompilasi bersyarat. # Ifdef dapat dibaca : ‘jika
didefinisikan’ dan
# ifndef dapat dibaca : ‘jika tidak didefinisikan’.
Pengarah compiler
ini sering digunakan untuk menandai bahwa suatu file
sudah
diikutsertakan dalam kompilasi
c. BAGIAN
DEKLARASI DAN DEFINISI
Semua program C
pada dasarnya tersusun dari rangkaian
pemanggilan fungsi
yang bekerja atas sekelompok data. Selain pemanggilan
fungsi, program C
mengandung komponen lain yang disebut statement.
Statement C ada
dua, yaitu : statement yang tidak dapat dieksekusi / non
executable ( bila
dikompilasi tidak menghasilkan kode objek dan biasanya
digunakan untuk
mengatur alur program), dan statement yang dapat
dieksekusi /
executable (bila dikompilasi akan menghasilkan kode objek).
Setiap pemanggilan
fungsi maupun statement executable dalam C harus
diakhiri dengan
tanda titik koma ( ; ).
Contoh program
C++:
# include
<iostream.h>
Void main ( )
{
Char pesan [ ] =
“Hello, C++ programmers!” ;
Cout <<
pesan ;
Return 0 ;
}
Dalam contoh
program C++ diatas, Return merupakan contoh
statement executable
yang menginstruksikan agar suatu fungsi
mengembalikan
nilai balik tertentu. Contoh statement non executable adalah :
If, else, dan while.
Main ( ) merupakan
contoh fungsi, sedangkan pesan adalah contoh
data. Baik data
maupun fungsi harus dideklarasikan. Data perlu
dideklarasikan
agar compiler tahu berapa byte memori yang harus disediakan
untuk data yang
bersangkutan, sedangkan fungsi perlu dideklarasikan agar
compiler dapat
memeriksa ketepatan pemanggilan fungsi yang bersangkutan.
Deklarasi fungsi sering disebut pula prototype fungsi.
3. Tipe
Data
Tipe data yang ada pada C++, berikut nilai kisaran yang dapat
direpresentasikan :
DATA TYPES
Name
|
Bytes*
|
Description
|
Range*
|
char
|
1
|
character or integer 8 bits length.
|
signed: -128 to 127
unsigned: 0 to 255
|
short
|
2
|
integer 16 bits length.
|
signed: -32768 to 32767
unsigned: 0 to 65535 |
long
|
4
|
integer 32 bits length.
|
signed:-2147483648 to 2147483647
unsigned: 0 to 4294967295 |
int
|
*
|
Integer. Its length traditionally depends on the length of the system's
Word type, thus in MSDOS it is 16 bits long, whereas in 32 bit systems (like
Windows 9x/2000/NT and systems that work under protected mode in x86 systems)
it is 32 bits long (4 bytes).
|
See short, long
|
float
|
4
|
floating point number.
|
3.4e + / - 38 (7 digits)
|
double
|
8
|
double precision floating point number.
|
1.7e + / - 308 (15 digits)
|
long double
|
10
|
long double precision floating point number.
|
1.2e + / - 4932 (19 digits)
|
bool
|
1
|
Boolean value. It can take one of two values: true or false NOTE: this is
a type recently added by the ANSI-C++ standard. Not all compilers support it.
Consult section bool type for compatibility
information.
|
true or false
|
wchar_t
|
2
|
Wide character. It is designed as a type to store international
characters of a two-byte character set. NOTE: this is a type recently added
by the ANSI-C++ standard. Not all compilers support it.
|
wide characters
|
4. Konstanta
Konstanta adalah ekspresi dengan nilai yang tetap. Terbagi dalam Nilai
Integer, Nilai Floating-Point, Karakter
and String
5. Variabel
Untuk menggunakan variabel pada C++, kita harus mendeklarasikan tipe data
yang akan digunakan. Sintaks penulisan deklarasi variabel adalah dengan
menuliskan tipe data yang akan digunakan diikuti dengan identifier yang benar,
contoh :
int a;
float mynumber;
float mynumber;
Jika akan menggunakan tipe data yang sama
untuk beberapa identifier maka dapata dituliskan dengan menggunakan tanda koma,
contoh :
int a,
b, c;
Tipe data integer (char, short, long dan int) dapat berupa signed atau unsigned
tergantung dari kisaran nilai yang akan direpresentasikan. Dilakukan dengan
menyertakan keyword signed atau unsigned sebelum tipe data, contoh :
unsigned
short NumberOfSons;
signed int MyAccountBalance;
signed int MyAccountBalance;
Jika tidak dituliskan, maka akan dianggap sebagai signed.
Contoh 3 :
// operating with variables
#include <iostream.h>
int main ()
{
// declaring variables:
int a, b;
int result;
// process:
a = 5;
b = 2;
a = a + 1;
result = a - b;
Hasil :
4
6. Input dan output
Di ANSI C, operasi
input dan output dilakukan dengan menggunakan
fungsi-fungsi yang
ada di header file stdio.h. contohnya untuk input dan
output ke layer
monitor digunakan perintah seperti printf, scanf, putch, dsb.
Untuk input dan
output ke file digunakan perintah seperti fread, fwrite, fputc,
dsb.
C++ mempunyai
teknik input dan output yang baru, yaitu :
menggunakan
stream. Header file untuk input dan output stream adalah
iostream.h dan
beberapa file lain, seperti strstrea.h, fstream.h, dan
constrea.h.
Stream adalah
suatu logika device (peralatan logika) yang
menghasilkan dan
menerima informasi atau suatu wadah yang digunakan
untuk menampung
keluaran dan menampung aliran data. Stream adalah
nama umum untuk
menampung aliran data (contoh : file, keyboard, mouse),
maupun untuk
keluaran (contoh : layer, printer).
Dalam C++ input
berarti membaca dari stream dan output berarti
menulis ke stream.
Bentuk Umum Output
operator :
Cout <<
ekspresi ;
Bentuk umum Input
operator :
Cin >>
variable ;
Dalam C++,
menggunakan escape sequences untuk
merepresentasikan suatu
karakter yang tidak terdapat dalam tradisional
symbol. Beberapa
diantaranya :
\ n : linefeed /
baris baru
\ b : back space
\ “ : petik ganda
Contoh program C++
:
# include
<iostream.h>
Void main ( )
{
Int x ;
Cout <<
“Masukkan sebuah bilangan : ” << endl ;
Cin >> x ;
cout <<
“Bilangan yang dimasukkan adalah “ << x << endl ;
}
Contoh Program
untuk input dan output :
# include
<iostream.h>
Main ( )
{
Int a ;
Cout <<
“masukkan suatu bilangan :” ;
Cin >> a ;
Cout <<
“nilai tersebut ditambah 1 = ‘ << a+1 ;
Return 0 ;
}
7. Operasi Aritmatika
Operator Aritmatika merupakan operator yang digunakan untuk
fungsi/operasi matematika, operator aritmatika dasar untuk C++ dan tanpa proses
include :
* : untuk perkalian
/ : untuk pembagian
% : untuk sisa hasil
bagi (modulus)
+ : untuk penjumlahan
- : untuk pengurangan
8. Operator Logika
Operator logika
merupakan operator yang membandingkan hubungan antara dua hasil dari operasi
pembanding. Operator logika membandingkan logika hasil dari dua operasi pembanding
dan akan melakukan operasi khusus apabila bernilai benar dan apabila bernilai
salah maka akan melakukan sebaliknya. Operator yang digunakan dalam operasi
logika ada tiga yaitu :
Logika
|
Keterangan
|
&&
|
Logika dan (AND)
|
||
|
Logika or (ATAU)
|
!
|
Logika not (INGKARAN)
|
9. Operator penyeleksi
kondisi
PERNYATAAN IF-ELSE
Pernyataan Percabangan If-Else digunakan untuk memecahkan persoalan untuk
mengambil suatu keputusan diantara sekian pernyataan yang ada. Untuk keperluan
pengambilan keputusan, Borland C++ menyediakan beberapa perintah antara lain:
1. Pernyataan If-Else
Bentuk umum dari pernyataan If-Else
if(kondisi)
{
statement 1;
}
else
{
statement 2;
}
Ket :
1. Pernyataan If-Else
Bentuk umum dari pernyataan If-Else
if(kondisi)
{
statement 1;
}
else
{
statement 2;
}
Ket :
·
Kondisi adalah pernyataan relasi
yang akan diuji kebenarannya. Kondisi bisa berbentuk pernyataan relasi tunggal
maupun pernyataan relasi majemuk yang dihunbungkan dengan operator logika.
·
Statement adalah satu atau lebih
perintah yang akan dikerjakan jika kondisi bernilai benar.
Kesimpulan:
Pernyataan if mempunyai pengertian, "Jika kondisi bernilai benar, maka statement 1 akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan statement 2".
2. Pernyataan If-Else Multi Kondisi
Kondisi yang diperiksa di dalam perintah if bisa berupa kumpulan operasi yang dihubungkan dengan satu atau lebih operator logika.
Bentuk umum If-Else Multi Kondisi.
if(kondisi1 &&/|| kondisi2 .......dst)
{
statement;
}
.....dst
Ket:
Pernyataan if mempunyai pengertian, "Jika kondisi bernilai benar, maka statement 1 akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan statement 2".
2. Pernyataan If-Else Multi Kondisi
Kondisi yang diperiksa di dalam perintah if bisa berupa kumpulan operasi yang dihubungkan dengan satu atau lebih operator logika.
Bentuk umum If-Else Multi Kondisi.
if(kondisi1 &&/|| kondisi2 .......dst)
{
statement;
}
.....dst
Ket:
·
Kondisi 1, kondisi 2, dst adalah
beberapa pernyataan relasi yang akan diuji kebenarannya. Hasil akhir dari
seluruh kondisi inilah yang akan menentukan apakah blok statement akan
dikerjaka atau tidak.
·
Operator "&&"
digunakan untuk menghubungkan dua relasi dengan logika AND. Hasil akhir akan
bernilai benar apabila kedua kondisi benar. Dan bernilai salah apabila kedua
kondisi atau salah satu kondisi bernilai salah.
·
Operator "||" digunakan
untuk menghubungkan dua relasi dengan logika OR. Hasil akhir akan bernilai
benar apabila kedua kondisi benar atau salah satunya benar. Dan bernilai salah
apabila kedua kondisi bernilai salah.
3. Pernyataan Nested If-Else
Percabangan If-Else secara Nested merupakan sebuah struktur percabangan bisa saja berada di dalam struktur percabangan yang lain, demikian terus tanpa batas, disesuaikan dengan persoalan yang dihadapi. Diproses atau tidaknya percabangan yang berada di bagian dalam ditentukan oleh diproses-tidaknya percabangan bagian luar.
Nested if merupakan pernyataan if berada didalam pernyataan if yang lainnya. Bentuk penulisan pernyataan Nested if adalah :
if(kondisi 1)
{
if(kondisi 1-1)
{
statement 1.1;
}
else
{
statement 1.2;
}
}
else
{
if(kondisi 2-1)
{
statement 2.1;
}
else
{
statement 2.2;
}
}
Kesimpulan:
Pernyatan Nested If-Else memiliki pengertian,
3. Pernyataan Nested If-Else
Percabangan If-Else secara Nested merupakan sebuah struktur percabangan bisa saja berada di dalam struktur percabangan yang lain, demikian terus tanpa batas, disesuaikan dengan persoalan yang dihadapi. Diproses atau tidaknya percabangan yang berada di bagian dalam ditentukan oleh diproses-tidaknya percabangan bagian luar.
Nested if merupakan pernyataan if berada didalam pernyataan if yang lainnya. Bentuk penulisan pernyataan Nested if adalah :
if(kondisi 1)
{
if(kondisi 1-1)
{
statement 1.1;
}
else
{
statement 1.2;
}
}
else
{
if(kondisi 2-1)
{
statement 2.1;
}
else
{
statement 2.2;
}
}
Kesimpulan:
Pernyatan Nested If-Else memiliki pengertian,
·
"Jika kondisi 1 bernilai
benar, dan jika kondisi 1-1 bernilai benar, maka akan mengerjakan statement
1.1" Apabila kondisi 1-1 bernilai salah, maka akan mengerjakan statement
1.2".
·
"Jika kondisi 1 bernilai
salah, dan jika kondisi 2-1 bernilai benar, maka akan mengerjakan statement
2.1" Apabila kondisi 2-1 bernilai salah, maka akan mengerjakan statement 2.2".
Penyataan switch case
Penyataan percabangan kedua yang dimiliki Java adalah switch. Pernyataan switch lebih jarang digunakan, tetapi sering bermanfaat apabila kita ingin menuliskan percabangan multi arah.
Di sini pernyataan switch akan mencari nilai ekspresi yang sesuai dengan nilai-nilai yang didaftarkan pada pernyataan case. Jika salah satu nilai ditemui, maka program akan melompat ke cabang case tersebut dan melakukan perintah yang terdapat di sana. Jika tidak ditemui, maka program akan melompat ke perintah yang terdapat pada pernyataan default.
Catatan ekspresi hanya bisa berbentuk nilai bilangan bulat (int, short, dan sejenisnya) atau karakter, sehingga kita tidak bisa menggunakan switch untuk mengevaluasi ekspresi yang berbentuk String.
Pernyataan break di atas sebetulnya tidak harus selalu ada. Tetapi, perintah break di sini memerintahkan komputer agar segera keluar dari blok switch apabila perintah tersebut telah selesai dilaksanakan.
Apabila perintah break tidak diberikan, maka program akan terus mengeksekusi perintah lain meskipun sudah berada di luar nilai yang tertera dalam pernyataan casenya.
Penyataan percabangan kedua yang dimiliki Java adalah switch. Pernyataan switch lebih jarang digunakan, tetapi sering bermanfaat apabila kita ingin menuliskan percabangan multi arah.
Di sini pernyataan switch akan mencari nilai ekspresi yang sesuai dengan nilai-nilai yang didaftarkan pada pernyataan case. Jika salah satu nilai ditemui, maka program akan melompat ke cabang case tersebut dan melakukan perintah yang terdapat di sana. Jika tidak ditemui, maka program akan melompat ke perintah yang terdapat pada pernyataan default.
Catatan ekspresi hanya bisa berbentuk nilai bilangan bulat (int, short, dan sejenisnya) atau karakter, sehingga kita tidak bisa menggunakan switch untuk mengevaluasi ekspresi yang berbentuk String.
Pernyataan break di atas sebetulnya tidak harus selalu ada. Tetapi, perintah break di sini memerintahkan komputer agar segera keluar dari blok switch apabila perintah tersebut telah selesai dilaksanakan.
Apabila perintah break tidak diberikan, maka program akan terus mengeksekusi perintah lain meskipun sudah berada di luar nilai yang tertera dalam pernyataan casenya.
10. Operator Pengulangan
PROSES LOOPING
- LOOP FOR
Loop adalah pengulangan perintah-perintah sampai mencapai keadaan
tertentu. Turbo C mempunyai 3 jenis loop, yaitu :
· for
· while
· do – while
Bentuk umum Loop For :
for (inisialisasi; syarat; penambahan) pernyataan;
Keterangan :
·
Inisialisasi adalah pernyataan
untuk menyatakan keadaan awal dari variabel kontrol.
· Syarat adalah ekspresi
relasional yang menyatakan berhentinya pengulangan.
·
Penambahan menyatakan perubahan
variabel kontrol setiap terjadi pengulangan. Setiap bagian harus dipisahkan
oleh tanda titik koma.
Contoh :
main()
{
int i;
clrscr();
for (i=1; i <=5 ; i++) printf(“%d \n”,i);
getch();
}
Pada program tersebut :
Inisialisasi : i = 1
Syarat : i <= 5
Penambahan : i++ , artinya ditambah 1
Hasil :
1
2
3
4
5
- OPERATOR PENAMBAH DAN PENGURANG
C mempunyai dua operator khusus yaitu penambah (++) dan pengurang (–),
contoh :
i ++ sama dengan i = i + 1
i — sama dengan i = i – 1
Operator penambah dan pengurang dapat dituliskan di depan atau
dibelakang, tetapi mempunyai arti yang berbeda. Jika operator diletakkan di
depan, C akan melakukan penambahan atau pengurangan sebelum memakai nilai
operator. Jika diletakkan di belakang, C akan memakai nilai operator lalu
menambah atau mengurangi variabel.
Contoh :
x = 10 x = 10
y = ++x y = x++
hasil : 11 hasil : 10
Contoh :
main()
{
int i;
clrscr();
for (i=5; i > 0 ; i–) printf(“%d \n”,i);
getch();
}
Contoh :
#include
main()
{
int i, kuadrat, jumlah;
float akar;
char garis[35] = “——————————-”;
clrscr();
printf(“Tabel Kuadrat dan Akar Kuadrat \n”);
printf(“%s\n”,garis);
printf(“Bilangan Kuadrat Akar Kuadrat\n”);
printf(“%s\n”,garis);
for (i=1; i<=10; i++)
{
kuadrat = i * i;
akar = sqrt(i);
printf(” %2d %3d %6.4f \n”,i,kuadrat,akar);
}
printf(“%s\n”,garis);
getch();
}
- VARIASI LOOP – FOR
Kita dapat memakai beberapa variabel kontrol di dalam loop for,
contoh :
main()
{
int x,y;
clrscr();
for (x=0,y=0; x+y<=20; x++,++y) printf(“%d\n”,x+y);
getch();
}
Program di atas mencetak bilangan 0 sampai 20. Perhatikan pernyataan for
di atas.
Inisialisasi : x=0, y=0
Syarat : x+y <= 20
Penambahan : x++, y++
Tanda koma dipakai untuk memisahkan dua pernyataan di dalam sebuah
bilangan. Misalnya di bagian inisialisasi ada pernyataan x=0 dan y=0. Tanda
koma berarti lakukan ini dan ini
- LOOP BERSARANG
Perhatikan contoh program berikut :
main()
{
int i,j;
clrscr();
for (i=1 ; i <= 3 ; i++)
{
for (j=1 ; j <= 5 ; j++ ) printf(“*”);
printf(” \n”);
}
getch();
}
Dari contoh tersebut dapat kita simpulkan bahwa variabel i menyatakan
baris dan variabel j menyatakan kolom.
- PENGULANGAN DENGAN WHILE DAN DO-WHILE
LOOP WHILE
Bentuk umum :
while (syarat) pernyataan;
Pernyataan pada loop while dapat berupa sebuah pernyataan atau blok
pernyataan atau pernyataan kosong. Pernyataan akan diulang selama syarat benar,
contoh :
main()
{
int i;
clrscr();
i=1;
while (i <= 5)
{
printf(“STI&K\n”);
i=i+1;
}
getch();
}
Loop while menyatakan bahwa pengulangan akan dilakukan terus selama
syarat terpenuhi.
- LOOP DO WHILE
Loop for dan while akan mengecek syarat pengulangan pada awal loop. Loop
do-while mngecek syaratnya pada akhir pengulangan. Loop do-while akan selalu
dikerjakan minimal sekali. Loop do-while
menyatakan bahwa pengulangan akan dilakukan selama syarat terpenuhi.
Bentuk umum :
do
{
statemen;
statemen;
} while (syarat)
Bentuk umum untuk loop do-while adalah pada rutin pemilihan menu, sebab
menu selalu dikerjakan minimal sekali,
contoh :
main()
{
int no_menu;
do
{
clrscr();
printf(“\n Menu Hari Ini “);
printf(“\n ——————”);
printf(“\n 1. Nasi Goreng “);
printf(“\n 2. Nasi Soto Ayam “);
printf(“\n 3. Gado-Gado “);
printf(“\n 4. Bubur Ayam “);
printf(“\n\n Masukkan pilihan Anda…! (0 = Selesai) “);
scanf(“%d”,&no_menu);
switch (no_menu)
{
case 1 :
printf(“\n Nasi Goreng Rp. 5000,-”);
break;
case 2 :
printf(“\n Nasi Soto Ayam Rp. 6000,-”);
break;
case 3 :
printf(“\n Gado-Gado Rp. 4000,-”);
break;
case 4 :
printf(“\n Bubur Ayam Rp. 3500,-”);
break;
case 0 :
printf(“\n Selesai.. Terima kasih..!”);
break;
default :
printf(“\n\n Pilihan Anda Salah…!”);
}
getch();
}while (no_menu != 0);
}
11. Array
Array adalah himpunan
elemen (variable) dengan tipe yang sama dan disimpan secara berurutan dalam
memory yang ditandai dengan memberikan index pada suatu nama variable. Contohnya,
kita dapat menyimpan 5 nilai dengan tipe int tanpa harus mendeklarasikan 5 identifier
variabel yang berbeda. Perhatikan contoh dibawah ini :
Bagian kosong diatas
merepresentasikan elemen array,
dalam kasus ini adalah nilai integer. Angka 0 - 4 merupakan index dan
selalu dimulai dari 0.
Seperti penggunaan variable pada umumnya, array harus dideklarasikan terlebih
dahulu, dengan format sbb :
type name [elements];
Maka contoh array diatas dideklarasikan sbb :
int billy [5];
12. Fungsi
Function/fungsi adalah satu blok kode yang melakukan tugas tertentuatau satu blok instruksi yang di eksekusi ketika dipanggil dari bagian lain
dalam suatu program.
Bentuk umum deklarasi fungsi :
Tipenilaibalik fungsi (tipepara, … ) ;
Keterangan :
- tipenilaibalik =
tipe nilai yang dikembalikan dengan statemen ‘return’. Tipe default nya
: ‘int’. Untuk menyatakan fungsi yang tidak mengembalikan nilai balik,
dideklarasikan sebagai : ‘void’
- fungsi =
nama fungsi tersebut
- tipepara =
tipe parameter, bila parameter lebih dari satu (1), masing-masing
dipisahkan dengan tanda koma ( , )
untuk menyatakan fungsi tanpa parameter dispesifikasikan : ‘void’. Bila
tipe parameter tidak dispesifikasikan, defaultnya : ‘void’
Fungsi harus dideklarasikan terlebih dahulu sebelum didefinisikan.
Maksudnya adalah memberitahu compiler jumlah dan tipe parameter yang
diterima dan nilai balik fungsi (bila ada) agar compiler dapat memeriksa
ketepatannya. Definisi fungsi itu sendiri adalah menspesifikasikan tugas
fungsi tersebut.
Contoh 1 - program fungsi :
# include <iostream.h>
Int tambah (int a, int b )
{
Int r ;
r = a + b ;
return 0 ;
}
Int main ( )
{
Int z ;
z = tambah ( 5,3 ) ;
cout << “Hasilnya = ‘ << z ;
return 0 ;
}
Contoh 2 – program fungsi tanpa tipe :
# include <iostream.h>
Void contoh (void)
{
Cout << “ ini adalah FUNGSI “ ;
}
Int main ( )
{
Contoh ( ) ;
Return 0 ;
}
PARAMETER FUNGSI
Parameter fungsi ada 2, yaitu : parameter formal dan parameter actual.
1. Parameter Formal
Parameter yang dideklarasikan dibagian blok fungsi.
2. Parameter Aktual
Parameter yang sebenarnya / parameter yang dilewatkan saat fungsi
dipanggil.
Contoh program yg menunjukkan parameter formal dan actual :
# include <iostream.h>
Int tambah (int a, int b) // parameter formal
{
Int r ;
r = a + b ;
return 0 ;
}
Int main ( )
{
Int x, y, z ;
Cin >> x >> y ;
z = tambah ( x , y ) ; //parameter aktual
cout << “Hasilnya = ‘ << z ;
return 0 ;
}
PARAMETER FUNGSI PASS BY VALUE
Parameter yang diberikan ke fungsi adalah ‘Nilainya’, tidak pernah
menspesifikasikan variabelnya. Bila ada perubahan pada parameter formal,
tidak akan mempengaruhi nilai pada parameter actual.
PARAMETER FUNGSI PASS BY REFERENCE
Memanipulasi nilai dari dalam fungsi. Setiap perubahan terhadap
parameter formal akan memepengaruhi nilai pada parameter actual.
Parameter formal diberi symbol ‘&’. Cara ini adalah cara efektif yang
memungkinkan sebuah fungsi mengembalikan lebih dari satu nilai.
Contoh program :
# include <iostream.h>
Void perkalian (int& a, int& b, int& c)
{
a *= 2 ; b *= 2 ; c *= 2 ;
}
Int main ( )
{
Int x = 1, y = 3, z = 7 ;
Perkalian ( x, y, z ) ;
Cout << “ X = “ << x << “ Y = “ << y << “ Z = “ << z ;
Return 0 ;
}
Outputnya :
X = 2 Y = 6 Z = 14
Contoh program :
# include <iostream.h>
Void prevnext (int x, int& prev, int& next)
{
prev = x – 1 ;
Next = x + 1 ;
}
Int main ( )
{
Int x = 100 , y, z ;
Prevnext ( x, y, z ) ;
Cout << “ Previous = “ << y << “ , Next = “ << z ;
Return 0 ;
}
Outputnya :
Previuos = 99, Next = 101
Saat pendeklarasian fungsi dapat langsung diberikan nilai default untuk setiap
parameter.
Contoh program :
# include <iostream.h>
Int pembagian (int a, int b = 2)
{
Int r ;
r = a / b ;
Return ( r ) ;
}
Int main ( )
{
Cout << pembagian ( 12 ) ;
Cout << endl ;
Cour << pembagian ( 20, 4) ;
Return 0 ;
}
Sumber:
- Pdf tugas PTI 19nov 2012
- http://liatyonly.blogspot.com/2009/11/pengulangan-di-c.html
- artikel c++ Universitas Islam Indonesia