Pemrograman Visual C++ 1 MODUL PRAKTIKUM C++ DASAR FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS TARUMANAGARA JAKARTA 2009
Pemrograman Visual C++ 1
MODUL PRAKTIKUM C++ DASAR
FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS TARUMANAGARA
JAKARTA 2009
Pemrograman Visual C++ 2
I. PENDAHULUAN
VISUAL C++ Visual C++ merupakan perangkat pengembangan aplikasi yang menggunakan C++ sebagai bahasa pemrograman dan dapat digunakan untuk membuat aplikasi berbasis windows maupun berbasis teks (aplikasi konsol). Perangkat ini menyediakan lingkungan yang dinamakan IDE (Integrated Development Environment) yang memungkinkan pemakai membuat, mengkompilasi, menggabungkan dan menguji program dengan cepat dan mudah. Beberapa komponen penting dalam Visual C++ adalah sbb :
• Editor Editor menyediakan sarana bagi pemrogram untuk menuliskan program yang
menarik. • Kompiler
Kompiler adalah perangkat lunak yang berfungsi untuk menerjemahkan kode sumber (source code) ke dalam bentuk bahasa mesin. Tentu saja peranti ini dapat memberikan pesan-pesan kesalahan jika terjadi kesalahan kaidah penulisan program yang terdeteksi pada tahap proses kompilasi. Hasil kompilasi berupa kode objek (object code) yang disimpan dalam berkas berekstensi .obj(disebut berkas objek)
• Linker Linker adalah perangkat lunak yang berfungsi menggabungkan berbagai modul
yang dihasilkan oleh kompiler dan modul kode dari berbagai pustaka C++, serta membentuk menjadi kode yang dapat dieksekusi. Sebagaimana kompiler, linker juga dapat mendeteksi kesalahan. Kesalahan yang terjadi sewaktu proses linking bisa disebabkan karena ada bagian pustaka atau bagian program yang tidak ditemukan.
• Pustaka Visual C+++ menyediakan berbagai pustaka (library) yang memudahkan
prmrogram dalam melakukan berbagai operasi seperti menghitung akar kuadrat dan mengakses database. Pustaka-pustaka yang tersedia antara lain berupa :
• Standard C++ library • Microsoft foundation classes and templates (MFC&T), yang berkaitan
dengan pemrograman windows • AppWizard
Perangkat ini bermanfaat untuk membangkitkan suatu kerangka dasar aplikasi windows yang sangat memudahkan pemrogram untuk membuat aplikasi windows.
• ClassWizard Perankat ini bermanfaat untuk mengedit kelas-kelas yang dibangkitkan oleh AppWizard.
Pemrograman Visual C++ 3
Memulai Visual C++ Visual C++ merupakan bagian dari perangkat lunak yang dinamakan visual studio. Untuk menjalankannya, lakukan langkah sebagai berikut :
1. Klik tombol start pada windows 2. Pilih program 3. Lalu pilih Microsoft Visual Studio 6.0 dan Microsoft Visual C++ 6.0.
Jendela bagian kiri dinamakan jendela project workspace Jendela bagian kanan dinamakan jendela editor Jendela bawah disebut jendela output
Membuat Aplikasi Windows yang pertama Langkah awal untuk membuat sebuah aplikasi adalah membuat proyek. Sebuah proyek berupa sebuah direktori. Visual C++ dengan sendirinya akan menciptakan suatu direktori berdasarkan nama proyek yang ditentukan oleh pemrogram. Di dalam direktori tersebutlah segala hal yang berkaitan dengan proyek disimpan. Direktori yang digunakan sebuah proyek biasa disebut sebagai projek workspace. Untuk membuat aplikasi yang pertama dengan menggunakan IDE 1. Pilih File | New..tampilan kotak dialog seperti berikut :
Pemrograman Visual C++ 4
2. Pilih Win32 Application 3. Ketikkan Pertama pada kotak edit berjudul Project name 4. Klik tombol untuk menentukan direktori yang digunakan untuk meletakkan aplikasi.
5. Klik tombol OK untuk menutup kotak dialog choose directory
6. Klik tombol OK untuk menutup kotak dialog New.
Pemrograman Visual C++ 5
7. Pilih tombol radio “A Hello World!” application dan klik tombol finish.
8. Klik tombol OK.
Pemrograman Visual C++ 6
Sejauh ini, anda dengan sendirinya akan mendapatkan subdirektori bernama Pertama pada direktori D:\Latihan\Pertama. Di dalam subdirektori tersebut terdapat berkas-berkas dengan eksistensi .dsp,.dsw,.ncb,.opt,.cpp,.h,.rc,.ico, dan lain-lain. Berikut ini penjelasan singkat atas masing-masing eksitensi tersebut :
Ekstensi Keterangan .dsp Berisi defenisi dasar sebuah proyek, berisi
informasi tentang bagaimana aplikasi diciptakan berdasarkan berkas-berkas yang terdapat dalam project workspace
.dsw Berisi informasi tentang isi proyek
.opt Berisi data tentang pengaturan-pengaturan dalam proyek misalnya : menyimpan informasi tentang kemungkinan aplikasi bisa di debug atau tidak
.cpp Berisi kode sumber c++
.h Merupakan berkas judul (header file) yang umumnya berisi defenisi kelas atau berisi prototipe fungsi
.rc Berisi resource Microsoft windows (ikon, bitmap, dan berbagai kontrol) yang digunakan oleh aplikasi
.ico Berkas ikon untuk aplikasi
.exe Berkas yang dapat dieksekusi secara langsung (executable)
Membentuk berkas yang dapat dieksekusi : Agar aplikasi dapat dijalankan, maka perlu melakukan kompilasi hingga linking. Langkah-langkah sbb :
1. Pilih menu Build 2. Pilih Build Pertama.exe
Pemrograman Visual C++ 7
Jika tidak ada kesalahan, sebagaimana ditunjukkan pada informasi 0 errors (s) pada jendela output, maka visual c++ akan membentuk berkas dengan nama depan sesuai nama proyek dan nama eksistensi berupa .exe. Pada contoh, berkas yang dimaksud adalah Pertama.exe. Berkas ini dapat dipanggil untuk menjalankan aplikasi. Menjalankan Aplikasi Aplikasi yang telah dibuat dapat dijalankan untuk melihat hasilnya. Caranya :
1. Pilih menu Build 2. Pilih Execute Pertama.exe
Menyimpan Proyek
1. Pilih menu File 2. Pilih Save All
Menutup Proyek
1. Pilih menu File 2. Pilih Close Workspace
Keluar dari Visual C++
1. Pilih menu File 2. Pilih Exit
Membuka Kembali Sebuah Proyek
1. Pilih menu File 2. Pilih Open Workspace.. 3. Pilihlah direktori yang mengandung berkas berekstensi .dsw dan pilihlah
berkas bersangkutan. 4. klik tombol Open
Pemrograman Visual C++ 8
Pemrograman Visual C++ 9
Membuat Aplikasi Konsol Membuat Aplikasi Konsol 1. Jika ada proyek yang sedang terbuka, tutuplah terlebih dahulu 2. Buatlah proyek baru dengan memilih menu File | New 3. Pilihlah Win32 Console Application 4. Aturlah agar Location berisi D:\ Latihan\Kedua 5. Isi pada Project name Selamat 6. Klik tombol OK
7. Pilih tombol An Empty Project klik tombol Finish
8. Klik OK
Pemrograman Visual C++ 10
Menambahkan Kode Sekarang marilah mencoba untuk menambahkan kode agar aplikasi menampilkan tulisan : “Saya baru belajar Visual C++” Caranya :
1. Dalam keadaan proyek Selamat masih terbuka, pilihlan menu File|New 2. Pilih C++ Source File 3. Ketikkan Selamat pada kotak edit File Name
4. Klik tombol OK
Pemrograman Visual C++ 11
5. Kemudian ketik kode berikut :
6. Lakukan penyimpanan dengan memilih menu File|Save
Pemrograman Visual C++ 12
7. Untuk menjalankan program tekan Ctrl+F5 atau klik , Jika tidak ada kesalahan maka tampilan sbb :
Penjelasan Kode di atas adalah sbb : Pertama, kode //Selamat.cpp, kode ini dinamakan komentar. Kedua, #include <iostream.h>, merupakan suatu bentuk instruksi yang memerintahkan kompiler untuk menyisipkan berkas lain (contoh ini iostream.h, yang disediakan oleh visual c++) pada saat program dikompilasi. Sebagaimana pada bab 1 telah disinggung, berkas .h dinamakan berkas judul (header file). Berkas ini mengandung berbagai deklarasi, seperti fungsi, variabel, dan lain-lain. Berkas iostream.h perlu disertakan dalam kode mengingat kode tersebut menggunakan cout . Ketiga, main() merupakan fungsi yang menjadi titik awal pengeksekusian program C++. Keempat, cout << “Saya baru belajar Visual C++”, cout adalah suatu objek yang digunakan untuk menampilkan suatu keluaran ke konsol. Tanda << merupakan sebuah operator yang dinamakan operator penyisipan sehingga menghasilkan tulisan Saya baru belajar Visual C++. Kelima, << endl, digunakan untuk pindah ke baris berikutnya Keenam, <<”Semoga sukses!”, untuk membuat tulisan Semoga sukses! Ketujuh, << endl; , digunakan untuk pindah ke baris berikutnya. Tiap pernyataan di C++ selalu diakhiri dengan titik koma Kedelapan, return 0; digunakan untuk memberikan nilai balik fungsi main()
Pemrograman Visual C++ 13
Bentuk Dasar Program C++
Bentuk dasar dari program C++, seperti misalnya program penampilan tulisan di atas, ialah
sebagai berikut :
#include <file header>
main( )
{
pernyataan;
pernyataan; Tubuh fungsi
pernyataan;
}
Bentuk program di atas adalah bentuk program yang paling sederhana, yaitu terdiri dari satu blok
fungsi.
Penjelasan Program :
Fungsi main( )
Program C++ terbentuk dari fungsi-fungsi. Main( ) ialah nama fungsi yang merupakan fungsi
utama yang harus ada dalam suatu program C++. Suatu program C++ dapat terdiri dari beberapa
fungsi dengan nama yang berbeda-beda, apabila hanya terdapat satu buah fungsi dalam program
C++, fungsi tersebut harus diberi nama main.
Kata return 0 di atas menunjukkan bahwa fungsi main tidak memiliki nilai balik. Return 0 sama
artinya dengan void yang diletakan sebelum kata main( ). Ditulis dengan void main() yaitu suatu fungsi
memiliki nilai balik apabila fungsi tersebut memiliki argumen, argumen tersebut
diletakkan/ditulis di antara tanda kurung ( ) setelah nama fungsi.
File Header
File header merupakan file dengan ekstensi .h, di dalamnya terdapat beberapa deklarasi, seperti
fungsi, variabel, atau konstanta. Apabila deklarasi-deklarasi pada file tersebut diperlukan, maka
untuk mengikutsertakan file tersebut pada saat kompilasi program, pada program perlu ditulis :
Pemrograman Visual C++ 14
# include <file header> atau # include “file header”
penulisan pertama memiliki arti bahwa pencarian file akan dilakukan pada direktori yang diatur
oleh kompiler, sedangkan penulisan kedua akan pertama kali mencari file header pada direktori
kerja, jika tidak ditemukan akan mencari di direktori direktori pada variabel lingkungan bernama
PATH.
Pada contoh program sederhana di atas, file iostream.h perlu diikutsertakan, karena fungsi/pengenal cout (baca : c out) untuk menampilkan pesan ke layar yang terdapat pada tubuh program yang dimiliki oleh file header tersebut
Contoh 2 :
// my second program in C++
#include <iostream.h> void main () { cout << “Hello World! “; cout << “I’m a C++ program”; }
Hasilnya : Hello World! I’m a C++ program
Komentar Komentar adalah bagian dari program yang diabaikan oleh kompiler. Tidak melaksanakan aksi apapun. Mereka berguna untuk memungkinkan para programmer untuk memasukan catatan atau deskripsi tambahan mengenai program tersebut. C++ memiliki dua cara untuk menuliskan komentar :
// Komentar baris /* Komentar Blok */
Komentar baris, akan mengabaikan apapun mulai dari tanda (//) sampai akhir dari baris yang sama. Komentar Blok, akan mengabaikan apapun yang berada diantara tanda /* dan */.
Pemrograman Visual C++ 15
Fungsi-Fungsi Pustaka C++
Tidak seperti halnya dengan bahasa FORTRAN atau BASIC, bahasa C++ tidak menyediakan
banyak perintah (command), sebagai gantinya banyak menyediakan banyak fungsi pustaka
(library functions) yang disebut juga rutin pustaka (library routins). Berikut ini diberikan
beberapa fungsi C++ beserta file headernya.
Bel beberapa Fungsi pada Program C++
Fungsi Kegunaan File Header
cout Mengarahkan data ke standar output (monitor) iostream.h
cin Membaca data dari standar input (keyboard) iostream.h
clrscr( ) Menghapus layar conio.h
printf( ) Menampilkan pesan ke layar stdlib.h
rand( ) Menghasilkan bilangan bulat secara acak
antara 0 sampai dengan suatu nilai batas
stdlib.h
sin( ) Memperoleh nilai sinus math.h atau
complex.h
log10( ) Memberikan logaritma basis 10 math.h atau
complex.h
toupper( ) Mengubah argumen menjadi huruf besar ctype.h
tolower( ) Mengubah argumen menjadi huruf kecil ctype.h
Printf
Pada program Pertama.cpp di atas, terdapat sebaris pernyataan yang berbentuk :
printf (“Selesai \ a”);
pernyataan tersebut berfungsi untuk menampilkan tulisan “Selesai” ke layar dengan diikuti bunyi
bell. Fungsi printf ( ) merupakan fungsi standar pada bahasa C++. Untuk lebih jelasnya
perhatikan contoh program berikut :
Pemrograman Visual C++ 16
#include<stdio.h>
#include<conio.h>
void main( )
{
int a;
double c=5.1;
a=-5;
printf ("Contoh integer = %10d\n",a);
printf ("Contoh floating point = %10.2f\n",c);
printf ("Bilangan float = %10.2f dan integer = %10d",c,a);
getch();
}Hasil eksekusinya :
Contoh integer = -5 Contoh floating point = 3.14 Bilangan float = 3.14 dan integer = -5
Pada contoh program di atas, tampak bahwa untuk menampilkan bilangan dengan menggunakan
fungsi printf terdapat format-format tersendiri untuk tiap bilangan.
Tabel spesifikasi format fungsi printf
%d
%l
%c
%s
%f
%e
%u
untuk nilai integer
untuk nilai long integer
untuk nilai karakter
untuk nilai string
untuk nilai floating point (pecahan)
untuk nilai floating point dengan format eksponensial
untuk nilai integer tak bertanda
Mengenal Cout & Cin
Fungsi cout (baca C out), seperti yang telah disampaikan di atas, bertujuan untuk menampilkan
pesan ke satandar output, biasanya monitor. Fungsi ini merupakan fungsi khas pada C++, dan
karena formatnya lebih sederhana dibandingkan dengan fungsi printf( ), fungsi cout lebih biasa
dipakai pada program C++, dibandiing dengan fungsi printf( ).
Pada Program Pertama.cpp, pada baris pernyataan :
Pemrograman Visual C++ 17
cout << “ NIM anda adalah : “<<nim<<endl;
tanda << (dua buah tanda kurang dari) merupakan operator yang disebut sebagai operator
penyisipan/peletakan. Operator ini berfungsi mengarahkan operand (data) yang terletak di sebelah
kanannya ke obyek yang terletak di sebelah kiri. Pada contoh di atas konstanta string :
“ NIM anda adalah : “
diarahkan ke cout, hingga menghasilkan tulisan tersebut ke layar, sedangkan nim setelah operator
penyisipan kedua, menunjukkan agar variabel nim dituliskan setelah tulisan NIM anda adalah :.
Sedangkan manipulator endl, dimaksudkan untuk menyisipkan karakter newline (membentuk
baris baru)
Kebalikannya daru fungsi cout, fungsi cin berfungsi memasukkan data dari standar input,
sehingga pada contoh program Kedua.cpp di atas, baris :
Cin >> nim;
Menyatakan bahwa angka-angka yang diketikkan pada keyboard akan dibaca sebagai variabel
NPM.
Pada contoh program Pertama.cpp dan Kedua.cpp, di atas terdapat karakter yang berbentuk \n
dan \a. Karakter-karakter tersebut dikenal sebagai escape sequence characters. Tanda \n
digunakan untuk pindah ke baris baru, sedangkan \a digunakan untuk menimbulkan bunyi bel.
Untuk lebih jelasnya perhatikan tabel berikut ini :
Tabel Escape Sequaence
\a
\n
\b
\r
\f
\t
\v
Bunyi bell
Baris baru (new line)
Back-space
Carriage return (enter)
Formfeed
Tab
Tab vertikal
Pemrograman Visual C++ 18
\’
\”
\000
\xhh
Menampilkan tanda ‘
Menampilkan tanda “
Menampilkan karakter dengan nilai oktal 000 (3 digit)
Menampilkan karakter dengan nilai heksadesimal hh (2 digit)
II. TIPE DATA
ELEMEN DASAR C++
Pengenal / Identifier
Pada bahasa C++, yang dimaksud dengan pengenal (identifier) adealah nama yang dipakai untuk
menyatakan :
variabel
konstanta bernama
tipe data
fungsi
label
obyek
atau hal-hal lain yang perlu dideklarasikan atau didefinisikan oleh program
Aturan Penulisan Pengenal
Berupa satu atau beberapa karakter terdiri dari : huruf, amgka, atau garis bawah ( _ ).
Diawali dengan huruf atau garis bawah
Tidak boleh mengandung spasi
Panjang maksimal 32 karakter signifikan (yang dibedakan)
Huruf besar dan huruf kecil dibedakan (case sensitive)
Tidak merupakan kata kunci, fungsi atau obyek-obyek lainnya yang telah dipakai oleh
kompiler C++.
Contoh Pengenal Benar dan Salah :
Benar Salah
pengenal 5Data diawali dengan angka
Pemrograman Visual C++ 19
Data1
Data_1
_1
data 1
Data-1
%1
cos
mengandung spasi
mengandung karakter –
mengandung karakter %
menggunakan fungsi C++
Tabel Daftar Kata Kunci C++
asm delete Goto Public template
auto do If Register this
break double Inline Return typedef
case else Int Short union
char enum Long signed unsigned
class extern New sizeoff virtual
const float operator static void
continue for Private struct volatile
default friend protected switch while
Tipe Data
Tipe data dasar pada C++ meliputi :
Berhubungan dengan bilangan bulat :
char
int
short
long
Berhubungan dengan bilangan pecahan :
float
double
long double
Ukuran memori yang diperlukan untuk masing-masing tipe data sangant bergantung pada
perangkat keras dari komputer yang digunakan. Karena itu jangkauan bilangan dari masing-
masing tipe data juga berlainan.
Pemrograman Visual C++ 20
Tabel Tipe Data Beserta Ukuran Memori Dan Jangkauan Nilai
Tipe Data Ukuran Memori Jangkauan Nilai
char 1 byte -128 hingga + 127
int 2 byte -32768 hingga + 32767
long 4 byte -2.147.438.648 hingga 2.147.438.647
float 4 byte 3.4x10-38 hingga 3.4x10+38
double 8 byte 1.7x10-308 hingga 1.7x10+308
long double 10 byte 3.4x10-4932 hingga 1.1x10+4932
Variabel & Konstanta
Data pada C++ tersusun dari :
variabel : digunakan dalam program untuk menyimpan suatu nilai, dan nilai yang ada
padanya dapat diubah selama eksekusi proram berlangsung.
konstanta : menyatakan nilai yang tetap. Misalnya, 234 adalah sebuah konstanta bilangan
bulat
Mendeklarasikan & Mendefinisikan Variabel
Deklarasi variabel berarti mengenalkan sebuah pengenal ke program dan menentukan jenis data
yang bisa disimpan di dalamnya. Apabila suatu pendeklarasian menyebabkan pengalokasian
memori, maka pendeklarasian tersebut dinamakan pendefinisian.
Bentuk pendefinisian variabel : tipe daftar_variabel;
Contoh :
int jumlah; float harga_per_unit, total_harga;
Pendefinisian variabel dapat diletakkan di mana saja.
Memberikan nilai ke variabel (Inisialisasi)
Pemrograman Visual C++ 21
Bentuk pernyataan yang digunakan untuk memberikan nilai ke variabel yang telah dideklararikan
atau didefinisikan :
Pemberian nilai di dalam program
variabel = nilai;
Contoh :
jumlah = 10; harga_per_unit = 17.5;
Pemberian nilai melalui keyboard
Dapat dilakukan dengan menggunakan fungsi cin (baca c in), terlebih dahulu menggunakan
fungsi cout seperti yang telah dipelajari di depan.
Pendefinisian dan pemberian nilai awal
Ada kalanya dalam penulisan program, variabel langsung diberi nilai awal setelah didefiniskan.
Contoh :
int jumlah; jumlah = 10; dapat ditulis :
int jumlah = 10;
Variabel & Konstanta bertipe char
char nama_variabel
Untuk menuliskan sebuah konstanta bertope char, karakter perlu ditulis di dalam tanda petik
tunggal.
Contoh program
Pemrograman Visual C++ 22
#include <iostream.h> #include <conio.h> void main( ) {
char kar // pendefinisan variabel kar kar = ‘A’ // penugasan ‘A’ ke variabel kar clrscr( ); cout << “Isi kar = “ <<kar<<’\n’; kar = 66; //penugasan nilai ASCII ke kar cout << “Isi kar = “ <<kar<<’\n’; getch();
}
Variabel & Konstanta Bertipe integer
int bil
Contoh program #include <iostream.h> #include <conio.h> void main( ) {
int bil; // pendefinisan variabel bil bil = 32763; // penugasan 32763 ke variabel bil clrscr( ); cout << “Isi bil = “ <<bil<<’\n’; bil = -66; //penugasan nilai negatif ke kar cout << “Isi bil = “ <<bil<<’\n’; getch();
}
Variabel & Konstanta bertipe long double
Apabila diinginkan untuk memproses bilangan bulat yang nilainya lebih besar daripada tipe int,
digunakan tipe long.
long jum_penduduk
#include <iostream.h> #include <conio.h> void main( ) {
long jum_penduduk; // pendefinisan variabel bertipe long clrscr( ); jum_penduduk=170123456;
Pemrograman Visual C++ 23
cout << “Isi jum_penduduk = “ <<jum_penduduk<<’\n’; getch();
}
Variabel & Konstanta bertipe float, double dan long
Tipe float, double atau long double digunakan untuk data yang berhubungan dengan
pecahan. Contoh pendefinisan :
float panjang; double phi; long double tetapan;
Konstanta Bernama
Sebagai contoh :
const float PHI = 3.141592;
Berbeda dengan variabel, suatu konstanta bernama tidak dapat diubah setelah didefinisikan.
Pernyataan PHI = 3.14 tidak diperkenankan.
III. OPERATOR DAN UNGKAPAN
Operator merupakan simbol yang biasa dilibatkan dalam program untuk melakukan sesuatu
operasi atau manipulasi. Misalnya untuk :
menjumlahkan dua buah nilai
memberikan nilai ke suatu variabel
membandingkan kesamaan dua buah nilai
const tipe data nama konstanta = nilai;
Pemrograman Visual C++ 24
Sifat operator
Sifat Keterangan Contoh
Unary Operator ini hanya melibatkan sebuah operand -1
Binary Operator ini melibatkan dua buah operand 1 + 2
Ternary Operator inimelibatkan tiga buah operand (a > b) ? a : b
Pengantar Ungkapan
Ungkapan (ekspresi) dalam C++ dapat berupa :
pengenal
konstanta
atau diantara kombinasi elemen di atas dengan operator
Contoh :
3 + 2 - 1
Operator Aritmetika
Operator untuk operasi aritmatika yang tergolong sebagai operator binary dapat dilihat pada tabel
berikut :
Operator Keterangan Contoh
* Perkalian 2 * 3
Operand
Operator
Pemrograman Visual C++ 25
/ Pembagian 7 / 2
% Sisa pembagian (modulus) 7 % 2
+ Penjumlahan 5 + 4
- Pengurangan 5 - 4
Contoh pemakaian operator aritmetika misalnya untuk memperoleh nilai deskriminan dari suatu
persamaan kuadrat
d = b2 – 4ac. d= b*b − 4 * a * c
Prioritas Operator Aritmetika
Operator Prioritas
+ -- (khusus yang berkedudukan sebagai awalan Tertinggi
- (unary minus)
* / %
+ - Terendah
Contoh :
x = 2 + 3 * 2 hasil x = 8
x = 2 * 3 % 2 hasil x = 0
Operator Penurunan dan Penaikan
Operator penaikan : ++ digunakan untuk menaikkan nilai variabel sebesar satu.
Contoh : x = x + 1; bisa ditulis ++x; atau x++
Operator penurunan : -- digunakan untuk menurunkan nilai variabel sebesar satu.
Contoh : y = y - 1; bisa ditulis --y; atau y—
Operator Relasi
Operator relasi biasa digunakan untuk membandingkan dua buah nilai.
Pemrograman Visual C++ 26
Operator Keterangan
= = sama dengan (bukan penugasan)
!= tidak sama dengan
> lebih dari
< kurang dari
>= lebih dari atau sama dengan
<= kurang dari atau sama dengan
Contoh ungkapan kondisi yang menggunakan operator relasi : x = = y
Hasil ungkapan ini bernilai :
1 kalau nilai x sama dengan nilai y
o kalau nilai x tidak sama dengan nilai y
Operator Logika
Operator logika biasa digunakan untuk menghubungkan dua buah ungkapan kondisi menjadi
sebuah ungkapan kondisi :
&& (operator logika dan)
|| (operator logika atau)
! (operator logika bukan)
Bentuk pertama, hasil ungkapan bernilai benar kalau ungkapan1 dan ungkapan2 bernilai benar.
Bentuk kedua, hasil ungkapan berupa benar hanya kalau ungkapan1 dan ungkapan2 bernilai
benar.
Operator Kondisi
Operator kondisi biasa dipakai untuk mendapatkan sebuah nilai dari buah kemungkinan,
berdasarkan suatu kondisi. Format pemakaiannya :
Pemrograman Visual C++ 27
Hasil dari ungkapan berupa :
nilai dari ungkapan ungkapan2 kalau ungkapan1 bernilai benar
nilai dari ungkapan ungkapan3 kalau ungkapan1 bernilai salah
Contoh :
#include <iostream.h>
void main( )
{
int bil1,bil2,minim;
bil1=53;
bil2=6;
minim=bil1<bil2?bil1:bil2;
cout << "Bilangan terkecil = " <<minim<<'\n';
}
Konversi Melalui Operator Cast
Disamping pengkonversian secara otomatis, C++ juga menyediakan cara pengkonversian yang
diatur sendiri oleh pemrogram yaitu dengan menggunakan operator cast.
Ada dua cara pengkonverisan tipe data :
dengan menambahkan (tipe_data) didepan variabel
char kar=’A’; cout <<”nilai ASCII dari “<<kar<<”:”<<(int)kar<<’\n’;
akan menghasilkan data bertipe int
menggunakan bentuk tipe_data(data)
(int) kar dapat ditulis int (kar)
LATIHAN 1. Buat program untuk menghitung keliling segiempat dengan rumus : Keliling = 2*(panjang+lebar)
ungkapan1?ungkapan2:ungkapan3
Pemrograman Visual C++ 28
Mintakan inputan dari user untuk panjang dan lebar segiempat kemudian cetak keliling segiempat tersebut. Ketentuan variabel yang digunakan :
Variabel untuk nama variabel tipe panjang panjang float lebar
lebar float keliling kell float Tampilan di layar yang diinginkan : Panjang segiempat : Lebar segiempat : Keliling segiempat : 2. Buat program untuk menghitung luas dan keliling lingkaran dengan rumus : keliling =PI*2*jari;
luas=PI*jari*jari; Tampilan di layar yang diinginkan :
3. Buat program untuk konversi dari derajad Fahrenheit ke derajat Celcius :
Celcius = 5*(Fahrenheit-32)/9 Sebagai input : derajad celcius Sebagai output : derajad fahrenheit Ketentuan variabel yang digunakan : Variabel untuk nama variabel tipe celcius C float fahrenheit F float Tampilan di layar yang diinginkan :
4. Buat program untuk konversi jam:menit ke menit :
Hasil menit = jam*60+menit Sebagai input : jam dan menit Sebagai output : jam, menit, dan hasil menit Ketentuan variabel yang digunakan : Variabel untuk nama variabel tipe Jam jam integer Menit menit integer Hasil menit hasil integer Tampilan di layar yang diinginkan : Inputkan jam : 12 Inputkan menit : 45 12 jam 45 menit = 765 menit
Pemrograman Visual C++ 29
IV. OPERASI DASAR MASUKAN & KELUARAN
Manipulator
Manipulator umumnya digunakan untuk mengatur tampilan data.
Manipulator Keterangan
endl Menyisipkan newline dan mengirimkan isi penyangga keluaran ke piranti
keluaran
ends meyisipkan karakter null
flush mengirimkan isi penyangga keluaran ke piranti keluaran
dec mengonversi ke bilangan basis sepuluh
hex mengonversi ke bilangan basis 16 (oktal)
oct mengonversi ke bilangan basis 8 (oktal)
setbase(int n) mengonversi ke bilangan basis n
setw(int n) mengatur lebar field untuk suatu nilai sebesar n karakter
setfill(int c) menyetel karakter pemenuh berupa c
setprecision(int n) menyetel presisi bilangan pecahan sebesar n digit
setiosflags(long f) menyetel format yang ditentukan oleh f.f adalah tanda format setiosflags
Manipulator endl
Digunakan untuk menyisipkan karakter newline, identik dengan ‘\n’.
Manipulator setw()
Bermanfaat untuk mengatur lebar dari suatu tampilan data #include <iostream.h> #include <conio.h> #include <iomanip.h> void main( ) {
int bil1=150, bil2=23,bil3=1401; cout << “Bilangan 1 = “ <<setw(4) << bil1 <<endl; cout << “Bilangan 2 = “ <<setw(4) << bil2 <<endl; cout << “Bilangan 3 = “ <<setw(4) << bil3 <<endl; getch();
}
Hasil eksekusi program :
Bilangan 1 = 150
Bilangan 2 = 23
Bilangan 3 = 1401
Pemrograman Visual C++ 30
Manipulator setfill()
Berguna untuk mengatur karakter yang dipakai memenuhi bagian field yang ditentukan setw(),
yang tidak dipakai untuk menampilkan data. Misalnya jika diberikan perintah : cout << setfill(‘*’);
cout << setw(6) << 123 << endl; hasil eksekusi :
***123
maka 123 akan ditampilkan dengan lebar 6 karakter dan didahului oleh tiga karakter *.
Manipulator setiosflags() Merupakan manipulator yang dapat dipakai untuk mengontrol sejumlah tanda format yang tercantum pada tabel Manipulator
Nama tanda format Keterangan
ios::left menyetel rata kiri terhadap lebar field yang diatur melalui setw()
ios::right menyetel rata kanan terhadap lebar field yang diatur melalui setw()
ios::fixed Memformat keluaran dalam bentuk notasi desimal
#include <iostream.h> #include <conio.h> #include <iomanip.h> void main( ) {
cout <<setiosflags(ios::left)<<setw(25)<<”N A M A” <<setiosflags(ios::right)<<setw(8)<<”G A J I”<<endl;
cout <<setiosflags(ios::left)<<setw(25)<<”Amir Hamzah”
<<setiosflags(ios::right)<<setw(8)<<”75000”<<endl;
cout <<setiosflags(ios::left)<<setw(25)<<”Siti Nurbaya” <<setiosflags(ios::right)<<setw(8)<<”150000”<<endl;
getch(); }
Bila dijalankan, hasilnya :
N A M A G A J I
Amir Hamzah 75000
Siti Nurbaya 150000
Manipulator setprecission()
Pemrograman Visual C++ 31
Dipakai untuk mengatur jumlah digit pecahan yang ingin ditampilkan.
Bentuk : setprecision(n)
Dengan n menyatakan jumlah digit pecahan yang diinginkan.
Sebagai contoh :
cout << setprecision(2) << 123.56789 <<endl;
akan ditampilkan 123.57
Agar jumlah digit pecahan yang ditampilkan sesuai dengan keinginan berapapunnilai yang akan
ditampilkan, tanda format setiosflags(ios::fixed) perlu disertakan.
Pemrograman Visual C++ 32
V. PERNYATAAN DASAR
Tujuan :
Mempelajari operasi dan pernyataan-pernyaaan dasar dan mempraktekan dalam penyelesaian
suatu masalah.
Pernyataan goto
Pernyataan goto adalah pernyataan yang mengarahkan eksekusi ke pernyataan yang berlabel
(pernyataan yang diawali oleh suatu nama label dan tanda titik-dua (:)).
Bentuk penulisannya :
goto label;
label : pernyataan;
Pernyataan if
Pernyataan if dapat dipakai untuk mengambil keputusan berdasarkan suatu kondisi. Bentuk
pernyataan ini ada dua macam :
if saja dan
else
Pernyataan if sederhana
Bentuk penulisannya :
if (kondisi) pernyataan; atau :
if (kondisi) { pernyataan1; pernyataan2; ……… pernyataan_n; }
Pemrograman Visual C++ 33
kondisi dipakai untuk menentukan pengambilan keputusan
pernyataan dapat berupa sebuah pernyataan ataupun pernyataan majemuk. Bagian ini
dijalankan hanya kalau kondisi bernilai benar (tidak sama dengan nol).
Bentuk diagram alirnya :
Contoh program :
/* Program if_1.cpp */ #include <iostream.h> #include <conio.h> void main( ) {
int bil; cout <<”Masukan sembarang bilangan bulat :” ; cin >> bil; if (bil%2 == 0)
cout <<”Bilangan tersebut genap”<<endl; getch( );
}
Pernyataan if … else
Pernyataan if …else adalah perluasan dari pernyataan if, perbedaannya terletak pada sejumlah
pernyataan yang harus dilakukan apabila syarat tidak terpenuhi. Bentuk penulisannya :
if (kondisi) pernyataan_1; else pernyataan_2;
atau
Kondisi
pernyataanBenar
Salah
Pemrograman Visual C++ 34
if (kondisi) { pernyataan_1; pernyataan_2; } else pernyataan_3;
atau
if (kondisi) { pernyataan_1; pernyataan_2; } else { pernyataan_3; pernyataan_4; }
Bentuk diagram alurnya :
/* Program ifelse.cpp */ #include <iostream.h> #include <conio.h> void main( ) {
int bil; cout <<”Masukan sembarang bilangan bulat :” ; cin >> bil; if (bil % 2) { cout <<”Bilangan : “ <<bil<< “tidak habis dibagi 2”<<endl; cout <<”Jadi termasuk bilangan ganjil”<<endl;
} else { cout <<”Bilangan : “ <<bil<< “habis dibagi 2”<<endl; cout <<”Bilangan tersebut genap”<<endl;
}
Kondisi
pernyataan_1Benar
Salah
pernyataan_2
Pemrograman Visual C++ 35
getch(); }
Nested if
Untuk masalah-masalah yang memiliki lebih dari dua cabang, nested if merupakan salah satu alternatif yang dapat digunakan. Nested if sebenarnya adalah suatu bentuk struktur if didalam if, if yang kedua ini merupakan bagian dari if else yang pertama. Dibawah ini merupakan gambar diagram alir dari proses nested if.
IFYA TIDAK
IF IFYA TIDAK YA TIDAK
Bentuk penulisan struktur nested if dibedakan menjadi 2 bentuk, yaitu alternatif dengan sebuah perintah dan alternatif dengan banyak perintah. Bentuk dengan sebuah perintah :
if(syarat) if(syarat) …. perintah; else …. perintah; else if(syarat) …. perintah; else …. perintah;
Pemrograman Visual C++ 36
Bentuk dengan banyak perintah :
if(syarat) { …. perintah; …. perintah; if(syarat) { …. perintah; …. perintah; } else { …. perintah; …. perintah; } } else { …. perintah; …. perintah; if(syarat) { …. perintah; …. perintah; } else { …. perintah; …. perintah; } }
Berikut ini sebuah contoh penggunaan struktur nested if dalam program. Kasus : #include <iostream.h> #include <conio.h> void main( ) {
double nilai; cout <<”Masukan nilai yang didapat :” ; cin >> nilai; if (nilai >=80) cout <<”Indeks = A”<<endl; else if (nilai >=68 && nilai <80)
cout <<”Indeks = B”<<endl; else if (nilai >=56 && nilai <68) cout <<”Indeks = C”<<endl;
else if (nilai >=46 && nilai <56) cout <<”Indeks = D”<<endl; else cout <<”Indeks = E”<<endl;
}
Pemrograman Visual C++ 37
PT Kaya Raya memberikan komisi kepada para karyawannya dengan ketentuan sebagai berikut :
a. Bila seorang karyawan dapat menjual barang hingga Rp. 200.000,- dia akan mendapat uang jasa sebesar Rp.10.000,- di tambah dengan uang komisi sebesar 10% dari pendapatan yang diperoleh hari itu.
b. Bila seorang karyawan dapat menjual barang diatas Rp. 200.000,- hingga Rp.500.000,- dia akan mendapat uang jasa sebesar Rp.20.000,- di tambah dengan uang komisi sebesar 15% dari pendapatan yang diperoleh hari itu.
c. Bila seorang karyawan dapat menjual barang diatas Rp. 500.000,- dia akan mendapat uang jasa sebesar Rp.30.000,- di tambah dengan uang komisi sebesar 20% dari pendapatan yang diperoleh hari itu.
#include<iostream.h> #include<iomanip.h> /* Contoh program Menghitung Komisi PT Kaya Raya */ void main() { /* deklarasi variabel dan inisialisasi */ double p_dtan, jasa=0, komisi=0, total; /* input - pendapatan */ cout<<"\n Pendapatan hari ini :"; cin>>p_dtan; //printf ("\n Pendapatan hari ini : "); //scantf ("%f",&p_dtan); /* menentukan uang jasa dan komisi Dengan struktur IF */ if (p_dtan >= 0 && p_dtan <= 200000) /* alternatif 1 */ { jasa=10000; komisi=0.10*p_dtan; } else /* pendapatan >200.000 */ { if(p_dtan<=500000) /* alternatif 2 */ { jasa=20000; komisi=0.15*p_dtan; } else /* alternatif 3 */ { jasa=30000; komisi=0.2*p_dtan; } } /* menghitung total uang */ total = komisi+jasa; /* cetak komisi, uang jasa, dan Total */ cout<<"\n Uang jasa :"<<setw(10)<<jasa<<endl; cout<<"\n Komisi :"<<setw(10)<<komisi<<endl; cout<<"\n ------------------------------"<<endl; cout<<"\n Total :"<<setw(10)<<total<<endl; }
Pemrograman Visual C++ 38
VI. PENGULANGAN (LOOPING)
Pernyataan While
Pernyataan while merupakan salah satu pernyataan yang berguna untuk memproses suatu
pernyaatan atau beberapa pernyataan beberapa kali
Bentuk pernyataan while :
while (ungkapan)
pernyataan;
atau
while (ungkapan) { pernyataan_1; pernyataan_2; … pernyataan_n; }
Bagian pernyataan yang mengikuti while akan terus dilaksanakan selama ungkapan pada while
bernilai benar (tidak sama dengan nol).
Karena ungkapan yang diuji kebenarannya diletakkan sebelum pernyataan, maka ada
kemungkinan pernyataan-pernyataannya tidak dieksekusi sama sekali, yaitu kalau kondisi yang
pertama kali bernilai salah.
Contoh program : //* ---------------------------------------------------------------- *
Ungkapan pernyataan Benar
Salah
akhir while
Pemrograman Visual C++ 39
//* Program while.cpp
*
//* Program pemakaian while untuk menampilkan tulisan C++
*
//* sebanyak 10 kali
*
//* ---------------------------------------------------------------- *
#include <iostream.h> #include <conio.h> void main( ) {
int i; // variabel pencacah u/menyatakan jumlah tulisan C++ yang sudah ditampilkan
clrscr(); i=0; // mula-mula diisi dengan nol while (i < 10) { cout <<” C++”<<endl;
i++; //identik i=i+1, menaikkan pencacah sebesar 1 } getch();
} //* ---------------------------------------------------------------- *
//* Program while2.cpp
*
//* Program menjumlahkan bilangan 1+2+3+…+n dengan n bilangan positif *
//* diinput melalui keyboard
*
//* ----------------------------------------------------------------- *
#include <iostream.h> #include <conio.h> void main() {
int n, angka , jumlah; clrscr(); cout << “Masukkan nilai n : “; cin >> n; angka=1; jumlah=0; while (angka <= n)
Pemrograman Visual C++ 40
{ jumlah=jumlah+angka;
angka=angka+1; } cout << “jumlah bilangan =” <<jumlah<<endl; getch();
}
Pernyataan Do-While
Pernyataan do-while juga berguna untuk mengulang proses. Formatnya :
do {
pernyataan_1; pernyataan_2; … pernyataan_n;
} while (ungkapan)
Bagian pernyataan_1 hingga pernyataan_n dijalankan secara berulang sampai ungkapan bernilai
salah (sama dengan nol). Pengujian ungkapan dilakukan di belakang (setelah bagian pernyataan).
Contoh program : //* ---------------------------------------------------------------- *
//* Program while_do.cpp
*
//* Program pemakaian while untuk menampilkan tulisan C++
*
Ungkapan
pernyataan
Benar
Salah
Akhir do - while
Pemrograman Visual C++ 41
//* sebanyak 10 kali
*
//* ---------------------------------------------------------------- *
#include <iostream.h> #include <conio.h> void main( ) {
int i; // variabel pencacah u/menyatakan jumlah tulisan C++ yang sudah ditampilkan
clrscr(); i=0; // mula-mula diisi dengan nol do { cout <<” C++”<<endl;
i++; //identik i=i+1, menaikkan pencacah sebesar 1 } while (i < 10) getch();
}
Latihan soal :
1. Buatlah program menggunakan statemen pengulangan whilw atau do while untuk
memasukkan sejumlah bilangan sebanyak n buah bilangan dan dihitung bilangan yang genap-
genap saja kemudian cari rat-ratanya
Misal : Bilangan yang dimasukkan adalah : 5 10 47 2
8 20 23
maka total nilai bilangan yang genap-genap saja adalah : 40 (10 + 2 + 8 + 20)
2. Kemudian tampilkan soal no 1. di output :dalam bentuk : 10 + 2 + 8 + 20 = 40
Pemrograman Visual C++ 42
Pernyataan for
Bentuk :
for (ungkapan1;ungkapan2;ungkapan3)
pernyataan;
pernyataan di atas identik dengan :
ungkapan1; while (ungkapan2) { pernyataan;
ungkapan3; }
Jadi :
ungkapan1 merupakan pernyataan inisialisasi sebelum masuk ke while
ungkapan2 berlaku sebagai kondisi yang menentukan pengulangan terhadap pernyataan atau
tidak
ungkapan3 digunakan sebagai pengatur variabel yang digunakan di dalam ungkapan1
Contoh pemakaian for :
//* ----------------------------------------------------- *
//* for1.cpp
*
//* Program untuk menampilkan tulisan C++ sebanyak 10 kali *
//* ----------------------------------------------------- *
#include <iostream.h> #include <conio.h> void main( ) {
int i; clrscr( );
for(i=0;i<10;i++) cout << “C++”<<endl;
getch( ); }
Pemrograman Visual C++ 43
Kadang-kadang dijumpai adanya pernyataan for yang tidak mengandung bagian ungkapan yang
lengkap (satu atau dua atau tiga ungkapan yang berada di dlam () setelah for dalam keadaan
kosong.
Sebagai contoh :
for(i=0;i<10;i++) cout << “C++”;
bisa ditulis menjadi :
i=0;
for ( ; i<10;i++)
cout << “C++”;
ungkapan kosong
for Bersarang (Nested for)
Pada aplikasi tertentu terkadang digunakan pernyataan for yang juga berada di dalam pernyataan
for.
Contoh penerapan for bersarang :
//* ---------------------------------------------------------------- *
//* segitiga.cpp
*
//* Membentuk segitiga dengan karakter * menggunakan for
*
//* ---------------------------------------------------------------- *
Pemrograman Visual C++ 44
#include <iostream.h> #include <conio.h> void main() {
int tinggi, //menyatakan tinggi segitiga baris, //pencacah untuk baris kolom; //pencacah untuk kolom
clrscr(); cout << “Masukan tinggi segitiga = “; cin >> tinggi; cout <<endl; for (baris=1;baris<=tinggi;baris++) { for (kolom=1;kolom<=baris;kolom++) cout << ‘*’; cout <<endl;
} getch();
}
Latihan soal :
1. Buatlah program untuk menampilkan hasil bilangan berpangkat an
Misal : 23 = 2 x 2 x 2 = 6
2. Buat program untuk menampilkan hasil bilangan faktorial
Misal : 0! = 1
1! = 1
3! = 3 X 2 X 1 = 6
3. Buat program untuk menampilkan segitiga dengan karakter * (Misal n = 4)
* * * *
* * *
* *
*
Pernyataan break
Break digunakan untuk memaksa keluar dari pernyataan-pernyataan yang ada dalam program.
Efek dari break pada while ditunjukkan pada contoh berikut :
//* ----------------------------------------------------- *
//* Program_tesbreak.cpp
*
//* Program untuk melihat efek break pada while *
Pemrograman Visual C++ 45
//* ----------------------------------------------------- *
#include <iostream.h> #include <conio.h> void main( ) {
int bil=1; clrscr(); while (bil <=10) { if (bil > 5) break; cout << bil <<endl; } getch();
}
Tanpa adanya kehadiran :
if (bil > 5) break;
akan menampilkan angka 1 hingga 10.
Pernyataan continue
Kegunaan dari pernyataan continue merupakan kebalikan dari break. Pernyataan continue dipakai
untuk mengarahkan eksekusi ke putaran atau iterasi berikutnya pada pengulangan. efek dari
perintah ini pada for, while dan do while :
pada for
ungkapan ketiga pada for akan dijalankan dan kemudian ungkapan kedua diuji lagi.
pada while dan do while
pengujian terhadap ungkapan pada while dilakukan kembali
Contoh untuk menunjukkan efek continue pada pernyataan for :
//* ---------------------------------------------------------------- *
//* Program_tescont.cpp
*
//* Program untuk melihat efek continue pada for
*
Pemrograman Visual C++ 46
//* ---------------------------------------------------------------- *
#include <iostream.h> #include <conio.h> void main( ) {
int bil; clrscr(); for (bil=0;bil<10;bil++) { cout << bil << ‘ ’; continue; cout << “Perhatikan apakah saya muncul?”<<endl; } getch();
}
Pada contoh di atas :
cout << “Perhatikan apakah saya muncul?”<<endl;
Tidak pernah dijalankan sebab continue menyebabkan bil++ diproses dan bil < 10 diuji kembali.
Hasilnya 0 1 2 3 4 5 6 7 8 9.
Menghentikan Program dengan exit()
Suatu eksekusi program dapat dihentikan melalui pemanggilan fungsi exit(). Hal ini biasa
dilakukan jika di dalam suatu eksekusi terdapat suatu kondisi yang tidak dikehendaki.
Nilai keluar dapat diisi dengan nilai antara 0 sampai dengan 255.
Contoh program :
//* ---------------------------------------------------------------- *
exit (nilai)keluar);
Pemrograman Visual C++ 47
//* progexit.cpp
*
//* Program untuk melihat efek exit dengan nilai keluar
*
//* Y = untuk jawaban ya
*
//* T = untuk jawaban tidak
*
//* ---------------------------------------------------------------- *
#include <iostream.h> #include <conio.h> #include <ctype.h> #include <stdlib.h> void main( ) {
char jawab; clrscr(); cout <<”Pilih (Y/T) : (Y=ya, T=tidak)”; for ( ; ;) {
//Baca tombol dan ubah ke huruf kapital jawab=toupper(getch()); if ((jawab==’Y’) || (jawab ==’T’)) {
cout << jawab <<endl; if (jawab == ‘Y’) exit(1); else exit(0); } } getch();
}
Pemrograman Visual C++ 48
VII. FUNGSI
Sebuah fungsi berisi sejumlah pernyataan yang dikemas dalam sebuah nama. Nama tersebut
selanjutnya dapat dipanggil beberapa kali di beberapa tempat dalam program.
Tujuan pembuatan fungsi :
1. Memudahkan dalam mengembangkan program. Program dibagi-bagi menjadi beberapa
modul.
2. Menghemat ukuran program. Manfaat ini terasakan kalau ada beberapa deretan instruksi yang
sama digunakan pada beberapa tempat di dalam program
Konsep program dibagi menjadi beberapa modul :
Definisi fungsi
long kuadrat (long) { return (l*l); }
Contoh :
//* --------------------------------------------------------- *
//* fkuadrat.cpp
*
fungsi main
fungsi b() fungsi a() fungsi c()
fungsi c1() fungsi c2() fungsi c3()
Pemrograman Visual C++ 49
//* Contoh pembuatan fungsi
*
//* --------------------------------------------------------- *
#include <iostream.h> #include <iomanip.h> #include <conio.h> long kuadrat (long l); //prototipe fungsi void main( ) { clrscr(); for (long bil =200; bil<=1000; bil+=200) cout <<setw(8)<<bil<<setw(8)<<kuadrat(bil)<<endl; } //Definisi fungsi long kuadrat (long l) { return(l*l); }
Pernyataan return di dalam fungsi digunakan untuk memberikan nilai balik fungsi. Pada contoh di
atas, fungsi kuadrat() memberikan nilai balik berupa nilai kuadrat dari argumen.
Fungsi Tanpa Nilai Balik (Prosedur)
Ada kalanya suatu fungsi tidak memilki nilai balik. Misalnya fungsi yang hanya dimaksudkan
untuk menampilkan suatu keterangan saja. Pada fungsi seperti ini, tipe nilai balik fungsi yang
diperlukan adalah void.
Contoh :
void tampilkan_judul() {
cout <<”PT Aria Perkasa Manunggal”<<endl; cout <<”Jl. Kertadipura Tenggara 27R”<<endl; cout <<”Kudus”<<endl;
}
Contoh program fungsi lainnya (pertambahan dan perkalian)
#include <iostream.h> #include <conio.h> int tambah(int x,int y) { int hasil;
Pemrograman Visual C++ 50
hasil=x+y; return hasil; } void kali(int x,int y) { cout<<"Hasil perkalian bilangan "<<x<<" * "<<y<<" = "<<x*y; } void main() { int bil,a,b; clrscr(); cout<<"Masukkan bilangan A : ";cin>>a; cout<<"Masukkan bilangan B : ";cin>>b; cout <<endl; bil=tambah(a,b); cout<<"Hasil penambahan bilangan " <<a<<" + "<<b<<" = "<<bil<<endl; kali(a,b); getch(); }
Lingkup variabel
Jenis-jenis variabel berdasarkan kelas penyimpanannya :
variabel otomatis
variabel eksternal
variabel statis
Variabel otomatis adalah variabel yang didefinisikan di dalam suatu fungsi berlaku lokal bagi
fungsi. Artinya, variabel tersebut hanya dikenal di dalam fungsi tempat variabel didefinisikan.
Sebagai contoh, suatu fungsi didefinisikan sebagai berikut :
//* ------------------------------------------------------------- *
//* varlokal.cpp
*
//* Contoh untuk memperlihatkan variabel lokal
*
//* ------------------------------------------------------------ *
#include <iostream.h> #include <conio.h> void alpha(); void main()
Pemrograman Visual C++ 51
{ int x=22;
double y=2.22 clrscr();
cout << “Pada main() : x = “ << x << “ y = “ << y << endl; alpha(); cout << “Pada main() : x = “ << x << “ y = “ << y << endl;
} //Definisi fungsi void alpha() {
int x = 20; double y = 3.14; cout << “Pada alpha() : x = “ << x << “ y = “ << y << endl;
} Jika program di atas dijalankan, maka hasilnya : Pada main() : x = 22 y = 2.22 Pada alpha() : x = 20 y = 3.14 Pada main() : x = 22 y = 2.22
Variabel Eksternal (Global)
Variabel eksternal adalah variabel yang didefinisikan di luar fungsi manapun sehingga
variabel tersebut di kenal di semua fungsi.
Contoh :
//* ------------------------------------------------------------- *
//* global.cpp
*
//* Contoh untuk memperlihatkan variabel global
*
//* ------------------------------------------------------------ *
#include <iostream.h> #include <conio.h> int oblada = 550; //variabel eksternal (global) void tambah(); //prototipe fungsi void main() { clrscr();
Pemrograman Visual C++ 52
cout << oblada << endl; tambah(); cout << oblada << endl; tambah(); cout << oblada << endl;
} //Definisi fungsi void tambah() {
oblada++; } Jika program dijalankan, hasilnya : 551
552 553
Tampak bahwa :
sekalipun di dalam fungsi main() dan tambah () tidak ada pendefinisian variabel
oblada, ternyata variabel ini dikenal di dalam kedua fungsi tersebut.
nilai dari variabel oblada dapat diubah dari dalam fungsi tambah()
Variabel statis
Suatu variabel statis mempunyai sifat :
variabel tetap hanya dapat diakses pada fungsi yang mendefinisikannya.
variabel tidak hilang saat eksekusi fungsi berakhir. Nilainya akan tetap dipertahankan,
sehingga akan dikenali pada pemanggilan fungsi untuk tahap berikutnya.
Inisialisasi oleh pemrograman akan dilakukan sekali saja selama program dijalankan.
Rekursif Fungsi rekursif yaitu suatu fungsi dapat memanggil fungsi yang merupakan dirinya sendiri.
Penerapan rekursif diantaranya untuk menghitung : Xn dengan n berupa bilangan bulat positif :
Solusi :
Jika n = 1 maka Xn = X selain itu : Xn = X* Xn-1
//* ------------------------------------------------------------- *
//* pangkat.cpp
*
Pemrograman Visual C++ 53
//* Contoh fungsi rekursif operasi pangkat
*
//* ------------------------------------------------------------ *
#include <iostream.h> #include <conio.h> long int pangkat (int x, int n); void main() { int x,y;
clrscr(); cout << “Program Menghitung x ^ y” << endl; cout << “Masukan nilai x : “; cin >> x; cout << “Masukan nilai y : “; cin >> y; cout << x << “^” << y << “=” << pangkat (x,y) <<endl; getch();
} long int pangkat (int x, int n) { if (n==1) return(x); else return(x*pangkat(x,n-1)); }
Latihan soal :
1. Buat program perkalian matriks dengan jumlah kolom dan baris diinput melalui keyboard
dengan menggunakan fungsi.
2. Buat program untuk menentukan bilangan faktorial dengan menggunakan fungsi dan rekursif.
Pemrograman Visual C++ 54
VIII. ARRAY
Array adalah kumpulan data bertipe sama yang menggunakan nama sama.
Dengan menggunakan array, sejumlah variabel dapat memakai nama yang sama. Antara satu
variabel dengan variabel lain di dalam array dibedakan berdasarkan subscript. Sebuah subscript
berupa bilangan di dalam kurung siku. Melalui subscript inilah masing-masing elemen array
dapat diakses.
Array Berdimensi Satu
Gambaran sebuah array ditunjukkan pada program berikut :
Contoh program : //* ----------------------------------------------------- *
//* array.cpp
*
//* Program contoh array dimensi satu
*
//* ----------------------------------------------------- *
#include <iostream.h> #include <conio.h> void main( ) {
float suhu[5]; //array dengan 5 elemen bertipe float clrscr(); //Membaca data dari keyboard & meletakkan ke array cout <<”Masukan 5 buah data suhu<<endl; for (int i=0;i<5;i++) cout <<i+1<<” : “;
cin >>suhu; //Menampilkan isi array ke layar cout << “Data suhu yang anda masukkan :” <<endl; for (i=0;i<5;i++) cout <<suhu[i]<<endl; getch();
Pemrograman Visual C++ 55
}
Mendefinisikan array
float suhu[5];
Jumlah elemen array
Tipe elemen array
Nama array
Pemrograman Visual C++ 56
Illustrasi array 1 dimensi :
Elemen-elemen array
0 1 2 3 4
array suhu
Mengakses elemen array :
suhu[i]
menyatakan elemen suhu dengan subscript sama dengan i
cin >> suhu[i];
membaca data dari keyboard dan meletakkan ke elemen nomor i pada array suhu
cout << suhu[i];
menampilkan elemen bernomor i pada array suhu
Memberikan nilai awal terhadap array
Seperti halnya variabel biasa, array juga dapat diberi nilai awal (diinisialisasi) pada saat
didefinisikan :
int jum_hari(12) = atau int jum_hari[]=
{
31,28,31,30,31,30,31,31,30,31,30,31};
subscript/index array
nama_array[subscript]
Pemrograman Visual C++ 57
Latihan :
Buat program untuk memasukkan 5 buah data suhu dan sekaligus menghitung suhu rata-ratanya.
Array berdimensi dua
Mendefinisikan array berdimensi dua :
int matrik_a[3][4];
Pada pendefinisian di atas :
3 menyatakan jumlah baris
4 menyatakan jumlah kolom
Mengakses array berdimensi dua
Contoh pengaksesan elemen array berdimenasi dua :
1. matriks_a[1][2]=5;
merupakan instruksi untuk memberikan nilai 5 ke baris 1 kolom 2 (baris dan kolom
dimulai dari nol).
2. cout << matriks_a[1][2];
merupakan perintah untuk menampilkan elemen matriks dengan subscript pertama (baris)
berupa 1 dan subscripst kedua (kolom) bernilai 2.
Contoh program :
//* ----------------------------------------------------- *
//* array2.cpp
*
//* Contoh program array dimensi 2
*
nama_array[subscript_baris, subscript_kolom]
Pemrograman Visual C++ 58
nama_array[subscript_1, subscript_2, subscript_3]
//* ----------------------------------------------------- *
#include <iostream.h> #include <conio.h> void main( ) {
//Pendefinisian array berdimensi dua & pemberian nilai awal int matriks_A[2][3];
int i,j; clrscr(); //Memasukan data ke array cout <<”Masukan data matriks :”; for (i=0;i<2;i++) { for (j=0;j<3;j++) {
cout <<”matrik_A[“<<i+1”][“<<j+1”] : “; cin >>matriks_A[i][j];
} } cout <<endl; //Menampilkan data array
cout <<”matrik_A :” <<endl; for (i=0;i<3;i++) { for (j=0;j<4;j++) cout <<matriks_A[i][j]<<” ”;
cout <<endl; }
getch(); } Latihan Soal :
Buatlah matriks penambahan dan pengurangan matriks 2X3.
Array berdimensi tiga
Bentuk umum pendefinisian array berdimensi tiga :
Inisialisasi array berdimensi tiga
int huruf [2][3][4]= {
{(1,3,4,5), (5,7,2,4), (2,5,6,9)
}, {(1,3,4,5),
(5,7,2,4), (2,5,6,9)
Pemrograman Visual C++ 59
} }; Tugas :
1. Buatlah program pertambahan dan perkalian dengan banyaknya baris dan kolom diinput
melalui keyboard.
2. Buatlah program untuk mencari bilangan maksimum dan minimum yang ada pada array.
3. Buatlah program untuk mencari suatu data pada array.
4. Buat program untuk menentukan matriks transpose dari suatu matrik
Misal matriks A Matriks
ATranspose
1 2 3
1 5 9 12
5 6 7
2 6 10 13
9 10 11
3 7 11 14
12 13 14