You are on page 1of 59

MODUL PRAKTIKUM C++ DASAR

FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS TARUMANAGARA JAKARTA 2009

Pemrograman Visual C++

I. VISUAL C++

PENDAHULUAN

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++

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++

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++

7. Pilih tombol radio A Hello World! application dan klik tombol finish.

8. Klik tombol OK.

Pemrograman Visual C++

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 .dsp Keterangan Berisi defenisi dasar sebuah proyek, berisi informasi tentang bagaimana aplikasi diciptakan berdasarkan berkas-berkas yang terdapat dalam project workspace Berisi informasi tentang isi proyek Berisi data tentang pengaturan-pengaturan dalam proyek misalnya : menyimpan informasi tentang kemungkinan aplikasi bisa di debug atau tidak Berisi kode sumber c++ Merupakan berkas judul (header file) yang umumnya berisi defenisi kelas atau berisi prototipe fungsi Berisi resource Microsoft windows (ikon, bitmap, dan berbagai kontrol) yang digunakan oleh aplikasi Berkas ikon untuk aplikasi Berkas yang dapat dieksekusi secara langsung (executable)

.dsw .opt

.cpp .h

.rc

.ico .exe

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++

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++

Pemrograman Visual C++

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++

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++

10

5. Kemudian ketik kode berikut :

6. Lakukan penyimpanan dengan memilih menu File|Save

Pemrograman Visual C++

11

7. Untuk menjalankan program tekan Ctrl+F5 atau klik kesalahan maka tampilan sbb :

, Jika tidak ada

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++

12

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; pernyataan; } Tubuh fungsi

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++ 13

# 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 << Im a C++ program; } Hasilnya : Hello World! Im 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++

14

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 cout cin clrscr( ) printf( ) rand( )

Kegunaan Mengarahkan data ke standar output (monitor) Membaca data dari standar input (keyboard) Menghapus layar Menampilkan pesan ke layar Menghasilkan bilangan bulat secara acak antara 0 sampai dengan suatu nilai batas

File Header iostream.h iostream.h conio.h stdlib.h stdlib.h

sin( )

Memperoleh nilai sinus

math.h atau complex.h

log10( )

Memberikan logaritma basis 10

math.h atau complex.h

toupper( ) tolower( )

Mengubah argumen menjadi huruf besar Mengubah argumen menjadi huruf kecil

ctype.h 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++

15

#include<stdio.h> #include<conio.h> void main( ) { int a; double c=5.1; a=-5;

printf ("Contoh integer printf ("Contoh floating point

= %10d\n",a); = %10.2f\n",c);

printf ("Bilangan float = %10.2f dan integer = %10d",c,a); getch(); }Hasil

eksekusinya : = = 3.14 -5

Contoh integer Contoh floating point 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++

16

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++

17

\ \ \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 pengenal 5Data Salah diawali dengan angka

Pemrograman Visual C++

18

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 auto break case char class const continue default delete do double else enum extern float for friend Goto If Inline Int Long New operator Private protected Public Register Return Short signed sizeoff static struct switch template this typedef union unsigned virtual void volatile 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 masingmasing tipe data juga berlainan.

Pemrograman Visual C++

19

Tabel Tipe Data Beserta Ukuran Memori Dan Jangkauan Nilai


Tipe Data char int long float double long double Ukuran Memori 1 byte 2 byte 4 byte 4 byte 8 byte 10 byte Jangkauan Nilai -128 hingga + 127 -32768 hingga + 32767 -2.147.438.648 hingga 2.147.438.647 3.4x10-38 hingga 3.4x10+38 1.7x10-308 hingga 1.7x10+308 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++

20

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++

21

#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; clrscr( ); jum_penduduk=170123456;

// pendefinisan variabel bertipe long

Pemrograman Visual C++

22

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

const tipe data nama konstanta = nilai;

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

Pemrograman Visual C++

23

Sifat operator
Sifat Unary Binary Ternary Keterangan Operator ini hanya melibatkan sebuah operand Operator ini melibatkan dua buah operand Operator inimelibatkan tiga buah operand -1 1+2 (a > b) ? a : b Contoh

Pengantar Ungkapan
Ungkapan (ekspresi) dalam C++ dapat berupa :

pengenal konstanta atau diantara kombinasi elemen di atas dengan operator

Contoh :

Operand
3 + 2 - 1

Operator

Operator Aritmetika
Operator untuk operasi aritmatika yang tergolong sebagai operator binary dapat dilihat pada tabel berikut :
Operator * Perkalian Keterangan Contoh 2*3

Pemrograman Visual C++

24

/ % + -

Pembagian Sisa pembagian (modulus) Penjumlahan Pengurangan

7/2 7%2 5+4 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 + -- (khusus yang berkedudukan sebagai awalan - (unary minus) * / % +Terendah Prioritas Tertinggi

Contoh : x x = = 2 2 + * 3 3 * % 2 2 hasil x = 8 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++

25

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++

26

Hasil dari ungkapan berupa : ungkapan1?ungkapan2:ungkapan3


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)

Pemrograman Visual C++

27

2.

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 : 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++

28

IV. OPERASI DASAR MASUKAN & KELUARAN


Manipulator
Manipulator umumnya digunakan untuk mengatur tampilan data. Manipulator endl Keterangan Menyisipkan newline dan mengirimkan isi penyangga keluaran ke piranti keluaran ends flush dec hex oct setbase(int n) setw(int n) setfill(int c) setprecision(int n) setiosflags(long f) meyisipkan karakter null mengirimkan isi penyangga keluaran ke piranti keluaran mengonversi ke bilangan basis sepuluh mengonversi ke bilangan basis 16 (oktal) mengonversi ke bilangan basis 8 (oktal) mengonversi ke bilangan basis n mengatur lebar field untuk suatu nilai sebesar n karakter menyetel karakter pemenuh berupa c menyetel presisi bilangan pecahan sebesar n digit 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 Bilangan 2 Bilangan 3 = = = 150 23 1401

Pemrograman Visual C++

29

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 ios::left ios::right ios::fixed

Keterangan menyetel rata kiri terhadap lebar field yang diatur melalui setw() menyetel rata kanan terhadap lebar field yang diatur melalui setw() 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; <<setiosflags(ios::left)<<setw(25)<<Siti Nurbaya <<setiosflags(ios::right)<<setw(8)<<150000<<endl;

cout

getch(); }
Bila dijalankan, hasilnya :

N A M A

G A J I

Amir Hamzah Siti Nurbaya

75000 150000

Manipulator setprecission()

Pemrograman Visual C++

30

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++

31

V.PERNYATAANDASAR
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++

32

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 :


Kondisi
Benar Salah

pernyataan

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

Pemrograman Visual C++

33

if (kondisi) { pernyataan_1; pernyataan_2; } else pernyataan_3; atau if (kondisi) { pernyataan_1; pernyataan_2; } else { pernyataan_3; pernyataan_4; }

Bentuk diagram alurnya :


Salah

Kondisi
Benar

pernyataan_1

pernyataan_2

/* 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; }

Pemrograman Visual C++

34

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.

YA

IF

TIDAK

YA

IF

TIDAK

YA

IF

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++

35

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++

36

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) { jasa=10000; komisi=0.10*p_dtan; } else { if(p_dtan<=500000) { jasa=20000; komisi=0.15*p_dtan; } else { 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;

/* alternatif 1 */

/* pendapatan >200.000 */ /* alternatif 2 */

/* alternatif 3 */

Pemrograman Visual C++


}

37

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.

Ungkapan
Salah

Benar
pernyataan

akhir while
Contoh program :
//* ---------------------------------------------------------------*

Pemrograman Visual C++

38

//*

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 diinput melalui keyboard * //* ----------------------------------------------------------------* bilangan positif * *

#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++

39

{ 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).

pernyataan

Ungkapan
Salah

Benar

Akhir do - while

Contoh program :
//* //* ---------------------------------------------------------------Program while_do.cpp * //* * Program pemakaian while untuk menampilkan tulisan C++ *

Pemrograman Visual C++

40

//*

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 genapgenap saja kemudian cari rat-ratanya Misal : Bilangan yang dimasukkan adalah : 5 8 20 23 10 47 2

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++

41

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++

42

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++

43

#include <iostream.h> #include <conio.h> void main() { int tinggi, baris, kolom; clrscr();

//menyatakan tinggi segitiga //pencacah untuk baris //pencacah untuk kolom

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! 3! 1 = = 1 3X2X1 = 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++

44

//*

-----------------------------------------------------

#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++

45

//*

----------------------------------------------------------------

#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. exit (nilai)keluar);

Nilai keluar dapat diisi dengan nilai antara 0 sampai dengan 255.

Contoh program :

//*

----------------------------------------------------------------

Pemrograman Visual C++

46

//*

progexit.cpp *

//* * //*

Program untuk melihat efek exit dengan nilai keluar

Y = untuk jawaban ya *

//*

T = untuk jawaban tidak *

//*

----------------------------------------------------------------

#include #include #include #include

<iostream.h> <conio.h> <ctype.h> <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++

47

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 :

fungsi main

fungsi a()

fungsi b()

fungsi c()

fungsi c1()

fungsi c2()

fungsi c3()

Definisi fungsi long kuadrat (long) { return (l*l); }

Contoh :
//* //* --------------------------------------------------------fkuadrat.cpp * *

Pemrograman Visual C++

48

//*

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++

49

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++

50

{ 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 Pada Pada Pada

program di atas dijalankan, maka hasilnya : main() : x = 22 y = 2.22 alpha() : x = 20 y = 3.14 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; void tambah(); void main() { clrscr(); //variabel eksternal (global) //prototipe fungsi

Pemrograman Visual C++

51

cout << oblada << endl; tambah(); cout << oblada << endl; tambah(); cout << oblada << endl; } //Definisi fungsi void tambah() { oblada++; }

Jika program dijalankan, hasilnya : 552 553 Tampak bahwa :

551

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 : maka Xn = X : Xn = X* Xn-1


*

Jika n = 1
//* //*

selain itu

------------------------------------------------------------pangkat.cpp

Pemrograman Visual C++

52

//* * //*

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++

53

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]; clrscr();

//array dengan 5 elemen bertipe float

//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++

54

Mendefinisikan array
Nama array

float suhu[5];

Jumlah elemen array Tipe elemen array

Pemrograman Visual C++

55

Illustrasi array 1 dimensi :

Elemen-elemen array

2 array suhu

4
subscript/index array

Mengakses elemen array :

nama_array[subscript]

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};

Pemrograman Visual C++

56

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 nama_array[subscript_baris, subscript_kolom]

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 *

Pemrograman Visual C++

57

//*

-----------------------------------------------------

#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 : nama_array[subscript_1, subscript_2, subscript_3]

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++

58

} };

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 ATranspose 1 2 1 5 6 2 9 10 3 12 13 3 5 7 6 11 7 14 11 14 10 13 9 12

Matriks

Pemrograman Visual C++

59

You might also like