Top Banner
Pemrograman Visual C++ 1 MODUL PRAKTIKUM C++ DASAR FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS TARUMANAGARA JAKARTA 2009
59

Modul Visual C 2009

Nov 29, 2015

Download

Documents

Lim Cia Chien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Modul Visual C 2009

Pemrograman Visual C++ 1

MODUL PRAKTIKUM C++ DASAR

FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS TARUMANAGARA

JAKARTA 2009

Page 2: Modul Visual C 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.

Page 3: Modul Visual C 2009

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 :

Page 4: Modul Visual C 2009

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.

Page 5: Modul Visual C 2009

Pemrograman Visual C++ 5

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

8. Klik tombol OK.

Page 6: Modul Visual C 2009

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

Page 7: Modul Visual C 2009

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

Page 8: Modul Visual C 2009

Pemrograman Visual C++ 8

Page 9: Modul Visual C 2009

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

Page 10: Modul Visual C 2009

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

Page 11: Modul Visual C 2009

Pemrograman Visual C++ 11

5. Kemudian ketik kode berikut :

6. Lakukan penyimpanan dengan memilih menu File|Save

Page 12: Modul Visual C 2009

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()

Page 13: Modul Visual C 2009

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 :

Page 14: Modul Visual C 2009

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 */.

Page 15: Modul Visual C 2009

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 :

Page 16: Modul Visual C 2009

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 :

Page 17: Modul Visual C 2009

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

Page 18: Modul Visual C 2009

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

Page 19: Modul Visual C 2009

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.

Page 20: Modul Visual C 2009

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)

Page 21: Modul Visual C 2009

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

Page 22: Modul Visual C 2009

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;

Page 23: Modul Visual C 2009

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;

Page 24: Modul Visual C 2009

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

Page 25: Modul Visual C 2009

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.

Page 26: Modul Visual C 2009

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 :

Page 27: Modul Visual C 2009

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

Page 28: Modul Visual C 2009

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

Page 29: Modul Visual C 2009

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

Page 30: Modul Visual C 2009

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()

Page 31: Modul Visual C 2009

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.

Page 32: Modul Visual C 2009

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

Page 33: Modul Visual C 2009

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

Page 34: Modul Visual C 2009

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

Page 35: Modul Visual C 2009

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;

Page 36: Modul Visual C 2009

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;

}

Page 37: Modul Visual C 2009

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

Page 38: Modul Visual C 2009

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

Page 39: Modul Visual C 2009

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)

Page 40: Modul Visual C 2009

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

Page 41: Modul Visual C 2009

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

Page 42: Modul Visual C 2009

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

Page 43: Modul Visual C 2009

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

*

//* ---------------------------------------------------------------- *

Page 44: Modul Visual C 2009

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 *

Page 45: Modul Visual C 2009

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

*

Page 46: Modul Visual C 2009

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

Page 47: Modul Visual C 2009

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

}

Page 48: Modul Visual C 2009

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()

Page 49: Modul Visual C 2009

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;

Page 50: Modul Visual C 2009

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()

Page 51: Modul Visual C 2009

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

Page 52: Modul Visual C 2009

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

*

Page 53: Modul Visual C 2009

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.

Page 54: Modul Visual C 2009

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

Page 55: Modul Visual C 2009

Pemrograman Visual C++ 55

}

Mendefinisikan array

float suhu[5];

Jumlah elemen array

Tipe elemen array

Nama array

Page 56: Modul Visual C 2009

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]

Page 57: Modul Visual C 2009

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]

Page 58: Modul Visual C 2009

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)

Page 59: Modul Visual C 2009

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