modul pratikum dasar pemograman.pdf
TRANSCRIPT
Dasar Pemrograman C++ Page 1
BAB I
PENDAHULUAN
A. Sejarah Bahasa C++
Tahun 1978, Brian W. Kerninghan & Dennis M. Ritchie dari AT & T
Laboratories mengembangkan bahasa B menjadi bahasa C. Bahasa B yang diciptakan
oleh Ken Thompson sebenarnya merupakan pengembangan dari bahasa BCPL ( Basic
Combined Programming Language ) yang diciptakan oleh Martin Richard. Sejak
tahun 1980, bahasa C banyak digunakan pemrogram di Eropa yang sebelumnya
menggunakan bahasa B dan BCPL. Dalam perkembangannya, bahasa C menjadi
bahasa paling populer diantara bahasa lainnya, seperti PASCAL, BASIC,
FORTRAN. Tahun 1989, dunia pemrograman C mengalami peristiwa penting dengan
dikeluarkannya standar bahasa C oleh American National Standards Institute (ANSI).
Bahasa C yang diciptakan Kerninghan & Ritchie kemudian dikenal dengan nama
ANSI C.
Mulai awal tahun 1980, Bjarne Stroustrup dari AT & T Bell Laboratories
mulai mengembangkan bahasa C. Pada tahun 1985, lahirlah secara resmi bahasa baru
hasil pengembangan C yang dikenal dengan nama C++. Sebenarnya bahasa C++
mengalami dua tahap evolusi. C++ yang pertama, dirilis oleh AT&T Laboratories,
dinamakan cfront. C++ versi kuno ini hanya berupa kompiler yang menerjemahkan
C++ menjadi bahasa C. Pada evolusi selanjutnya, Borland International Inc.
mengembangkan kompiler C++ menjadi sebuah kompiler yang mampu mengubah
C++ langsung menjadi bahasa mesin (assembly). Sejak evolusi ini, mulai tahun 1990
C++ menjadi bahasa berorientasi objek yang digunakan oleh sebagian besar
pemrogram professional.
B. Mengenal Editor Bahasa C++
Apapun bahasa pemrograman yang digunakan, untuk menulis perintah/
instruksi diperlukan tempat untuk mengetikkan perintah tersebut. Tempat yang
digunakan untuk menulis perintah ini sering disebut dengan editor. Agar pembuatan
program C++ menjadi mudah, dalam buku ini, editor yang digunakan adalah Borlanfd
C++. Tidak ada keharusan menggunakan editor Borland C++, masih ada beberapa
Dasar Pemrograman C++ Page 2
editor yang masih dapat digunakan, diantaranya Turbo C++, GCC (untuk pengguna
Linux).
Dibandingkan compiler C++ yang lain, Borland C++ memiliki keunggulan
terutama dalam hal kecepatan dan efisiensi kompilasi. Disamping itu, Borland C++
mendukung beberapa system perasi yaitu DOS, Windows 16bit (Window 3.0) dan
windows 32 bit (Windows NT). Meskipun demikian compiler Borland C++ juga
memiliki kelemahan bila dibandingkan compiler C++ yang lain, misalnya :
pemrograman dengan Borland C++ terutama yang menyangkut tampilan jauh lebih
sulit daripada pemrograman dengan Microsoft Visual C++. Tahapan-tahapan
penulisan program C++ dalam text editor ini yaitu :
1. Buat program
2. Lakukan proses kompilasi
Proses kompilasi akan berhasil jika susunan program yang diketik tidak
mengandung kesalahan sintak (kesalahan aturan dalam tata tulis pemrograman).
3. Jalankan program / eksekusi
C. Struktur program C++
Setiap bahasa (tidak hanya bahasa manusia), pasti mempunyai aturan-aturan
yang spesifik. Demikian juga bahasa C++, juga mempunyai aturan-aturan. Aturan ini
harus benar-benar diperhatikan, salah penulisan, misal hanya kurang koma/ titik koma
akan berakibat proses kompilasi gagal dan program tidak bisa dijalankan.
Salah satu konsep yang penting dalam bahasa pemrograman C++ adalah
Struktur (Kristanto:2009). Struktur merupakan bentuk susunan dari suatu program
yang dibuat. Perhatikan contoh program berikut ini:
#include <fileheader.h>
main()
{
Instruksi-instruksi
}
Keterangan :
a. # include <fileheader.h> berfungsi sebagai proses compiler dari c++
menjalankan program yang dinamakan preprosesor yang memiliki kemampuan
Dasar Pemrograman C++ Page 3
menambahkan dan menghapus kode dari file sumber. Include berarti menyertakan
kode dari file header yang ada didalam kurung, file header adalah file yang berisi
deklarasi untuk berbagai fungsi yang dibutuhkan oleh program.
b. Main() berfungsi untuk mendeklarasi fungsi utama, bahwa suatu program c++
dapat berisi banyak fungsi, tetapi harus selalu memiliki sebuah fungsi utama (
main function). Fungsi adalah modul yang berisi kode-kode untuk menyelesaikan
masalah-masalah tertentu.
c. Tanda ini “{” Menandakan awal dari program.
d. Dalam Instruksi-intruksi ini Berisi perintah-perintah yang akan dilakukan
program.
e. Tanda ini “}” Menandakan akhir dari program.
D. Pengenalan Type Data
Tipe Data Tambahan, yang dimiliki oleh Borland C++, adalah Unsigned, ini
digunakan bila data yang digunakan hanya data yang positif saja.
E. Variabel dan konstanta
Pendeklarasian variabel
Dasar Pemrograman C++ Page 4
Deklarasi adalah memesan memori dan menentukan jenis data yang dapat
disimpan di dalamnya. (Kristanto:2009).
Bentuk Umum:
Type_data [spasi] nama_variabel;
Pada pendeklarasian variabel, daftar variabel dapat berupa sebuah variable atau
beberapa variabel yang dipisahkan dengan tanda koma.
Contoh:
int jumlah;
Float harga_per_satuan, total_harga;
Penulisan Konstanta
Konstanta adalah menyatakan nilai numeris atau karakter yang tetap
(Kristanto:2009). Untuk memberikan nilai ke suatu variabel yang telah
dideklarasikan, bentuk pernyataan yang digunakan adalah sebagai beriut:
nama_variabel = nilai;
Cantoh :
Berikut merupakan nilai 50 ke variabel jumlah dan 15,7 ke variable
harga_per_satuan.
Jumlah=50;
harga_per_satuan=15.7;
Total_harga= jumlah * harga_per_satuan;
Dasar Pemrograman C++ Page 5
BAB II
PERINTAH DASAR PEMROGRAMAN
A. Perintah-perintah dasar
1. Include
Setiap kali membuat bahasa C++, selalu di awal program harus dituliskan
perintah include. Include merupakan suatu header yang mempunyai kegunaan
untuk menerjemahkan kegunaan dari perintah-perintah yang akan digunakan.
Semakin banyak ragam perintah kegunaan ada kemungkinan file header juga akan
bertambah. Beberapa kegunaan file header yang biasa digunakan diantaranya:
1) Untuk manajemen memori
2) Untuk memanggil routines ROM BIOs
3) Untuk fungsi matematika kompleks
4) Untuk memanggil console DOS I/O (input output)
File header ini harus ada dalam folder C++. File header ini bisa dilihat
bagaimana source tetapi jangan sekali-kali melakukan perubahan. Beberapa file
header yang sering digunakan :
File Header Keterangan
iostream.h diperlukan pada program yang melibatkan perintah input –
output, misal cout, cin
conio.h diperlukan bila melibatkan clrscr(),yaitu perintah untuk
membersihkan layar.
iomanip.h diperlukan bila melibatkan setw() yang bermanfaat untuk
mengatur lebar dari suatu tampilan data.
math.h diperlukan pada program yang menggunakan operasi
matematika, misal sqrt untuk mencari akar, pow untuk
mencari kuadrat
string.h File header ini digunakan untuk memanipulasi sting dan
array. Contoh fungsi : strcpy(), strlen(), strcat().
time.h File header ini mengandung beberapa definisi fungsi untuk
memanipulasi informasi tanggal dan waktu.
Dasar Pemrograman C++ Page 6
stdlib.h File header stdlib.h menjabarkan beberapa fungsi umum dan
marco termasuk manajemen memori dinamis, menjalin
komunikasi dengan perangkat sekitar, membuat bilangan
secara random, aritmetika bilangan integer, pencarian,
pengurutan dan pengonversian.
2. Perintah keluaran
Perintah standar output yang disediakan oleh Borland C++, diantaranya yaitu :
printf()
puts()
putchar()
cout()
2.1. printf()
Fungsi printf() merupakan fungsi keluaran yang paling umum
digunakan untuk menampilkan informasi kelayar. Bentuk Penulisan
String-Kontrol dapat berupa keterangan yang akan ditampilkan pada
layar beserta penentu format. Penentu format dipakai untuk memberi tahu
kompiler mengenai jenis data yang dipakai dan akan ditampilkan. Argumen
ini dapat berupa variabel, konstanta dan ungkapan.
Canto program yang menggunakan printf :
#include <stdio.h>
#include <conio.h>
Dasar Pemrograman C++ Page 7
main()
{
int a = 7;
char b = 'G';
clrscr();
printf("%c Merupakan Abjad Yang Ke - %d", b, a);
getch();
}
2.2. puts()
Perintah puts() sebenarnya sama dengan printf(), yaitu digunakan
untuk mencetak string ke layar. puts() berasal dari kata PUT STRING.
Perbedaan antara printf() dengan puts() adalah :
Contoh program yang menggunakan puts yaitu :
#include <stdio.h>
#include <conio.h>
main()
{
Dasar Pemrograman C++ Page 8
char a[4] = "UIN";
clrscr();
puts("Saya Kuliah di. ");
puts(a);
getch();
}
2.3. putchar()
Perintah putchar() digunakan untuk menampilkan sebuah karakter ke layar.
Penampilan karakter tidak diakhiri dengan pindah baris.
Contoh program yang menggunakan putchar:
#include <stdio.h>
#include <conio.h>
main() {
putchar('U');
putchar(I'');
putchar('N');
getch();}
Dasar Pemrograman C++ Page 9
2.4. cout()
Penjelasan Fungsi cout() merupakan sebuah objeck didalam C++ digunakan
untuk menampilkan suatu data kelayar. Untuk menggunakan fungsi cout() ini,
harus menyertakan file header iostream.h .
Contoh program yang menggunakan cout :
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main() {
float a, b, c;
a=7.5; b=8.4; c=0;
cout<<"Masukan Nilai A : "<<a<<endl;
cout<<"Masukan Nilai B : "<<b<<endl;
c = a + b;
cout<<"Masukan Nilai C : "<<c;
getch(); }
3. Perintah masukan
Perintah input ini digunakan untuk memasukan berbagai jenis data
kedalam program lewat ketboard dan dapat digunakan fungsi pustaka
scanf,getch, maupun getche (kristanto:2009). Perintah standar input yang
disediakan oleh Borland C++, diantaranya adalah :
scanf()
gets()
cin()
getch()
getche()
Dasar Pemrograman C++ Page 10
3.1. scanf()
Fungsi scanf() digunakan untuk memasukkan berbagai jenis data.
Bentuk Umum dari fungsi ini adalah :
scanf("penentu format", &nama-variabel);
Keterangan : format sama dengan format printf()
Contoh program yang menggunakan scanf :
# include <stdio.h>
# include <conio.h>
main() {
int a, b, c = 0 ;
printf("Masukan Nilai A = "); scanf("%d",&a);
printf("Masukan Nilai B = "); scanf("%d",&b);
c = a + b;
printf("Hasil Penjumlahan = %d",c);
getch();}
3.2. gets()
Fungsi gets() digunakan untuk memasukkan data string. Bentuk
Umum dari fungsi ini adalah : gets(nama-variabel-array);
Perbedaan scanf dan gets yaitu :
Dasar Pemrograman C++ Page 11
Contoh program yang menggunakan gets dan scanf:
# include <stdio.h>
# include <conio.h>
main() {
char nm1[20];
char nm2[20];
clrscr();
puts("Masukan nama ke - 1 = ");
gets(nm1);
printf("Masukan nama ke - 2 = ");
scanf("%s",&nm2);
printf("\n\n");
puts("Senang Berkenalan Dengan Anda ..");
puts(nm1);
printf("Senang Berkenalan Dengan Anda ..%s", nm1);
puts("Senang Berkenalan Dengan Anda ..");
puts(nm1);
printf("\n\n");
puts("Senang Berkenalan Dengan Anda ..");
puts(nm2);
printf("Senang Berkenalan Dengan Anda ..%s", nm2);
getch();}
}
3.3. cin()
Dasar Pemrograman C++ Page 12
Fungsi cin() merupakan sebuah objeck didalam C++ digunakan untuk
memasukkan suatu data. Untuk menggunakan fungsi cin() ini, harus
menyertakan file header iostream.h .
Contoh program yang menggunakan cin:
# include <conio.h>
# include <iostream.h>
main() {
float a, b, c;
cout<<"Masukan Nilai A : "; cin>>a;
cout<<"Masukan Nilai B : "; cin>>b;
c = a + b;
cout<<"Nilai C : "<<c<<endl;
getch();}
3.4. getch ()
Fungsi getch() (get character and echo) dipakai untuk membaca
sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri
dengan menekan tombol ENTER, dan karakter yang dimasukan tidak akan
ditampilkan di layar. File header yang harus disertakan adalah conio.h.
Contoh program yang menggunakan getch() :
# include <stdio.h>
# include <conio.h>
main() {
char kar;
printf("Masukan Sebuah Karakter Bebas = ");
Dasar Pemrograman C++ Page 13
kar = getch();
printf("\nTadi Anda Memasukan karakter %c", kar);
getch();}
3.5. getche ()
Fungsi getche()dipakai untuk membaca sebuah karakter dengan sifat
karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol
ENTER, dan karakter yang dimasukan ditampilkan di layar (kristanto:2009).
File header yang harus disertakan adalah conio.h.
Contoh program yang menggunakan getche() :
# include <stdio.h>
# include <conio.h>
main() {
char kar;
printf("Masukan Sebuah Karakter Bebas = ");
kar = getche();
printf("\nTadi Anda Memasukan karakter %c", kar);
getch ();}
Dasar Pemrograman C++ Page 14
B. Operator pemrograman
1. Operator Aritmatik
Operator Keterangan
+ Pertambahan
* Perkalian
% Sisa pembagian
- Pengurangan
/ Pembagian
Canto program aritmatik :
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main() {
int a, b, c = 0, d = 0;
clrscr();
cout<<"Masukan Nilai A : "; cin>>a;
cout<<"Masukan Nilai B : "; cin>>b;
c = a % b;
d = a * b;
cout<<" Hasil dari C = A % B = "<<c<<endl;
cout<<" Hasil dari D = A * B = "<<d<<endl;
getch();
}
Dasar Pemrograman C++ Page 15
Penambahan dan Pengurangan
A = A + 1 atau A = A - 1; disederhanakan menjadi : A += 1 atau A -= 1;
masih dapat disederhanakan menjadi A ++ atau A--
Notasi “ ++ “ atau “ -- “ dapat diletakan didepan atau di belakang variabel.
Contoh A ++ atau ++A / A-- atau --A
Kedua bentuk penulisan notasi ini mempunyai arti yang berbeda, yaitu :
Jika diletakan didepan variabel, maka proses penambahan atau
pengurangan akan dilakukan sesaat sebelum atau langsung pada saat
menjumpai ekspresi ini, sehingga nilai variabel tadi akan langsung berubah
begitu ekspresi ini ditemukan, sedangkan
Jika diletakan dibelakang variabel, maka proses penambahan atau
pengurangan akan dilakukan setelah ekspresi ini dijumpai atau nilai variabel
akan tetap pada saat ekspresi ini ditemukan.
Contoh program aritmatik yang menggunakan notasi didepan variabel :
#include <stdio.h>
#include <conio.h>
main() { int a = 10, b = 5;
printf("Nilai A = %d", a);
printf("\nNilai ++A = %d", ++a);
printf("\nNilai A = %d", a);
printf("\nNilai B = %d", b);
printf("\nNilai --B = %d", --b);
printf("\nNilai B = %d", b);
getch(); }
Dasar Pemrograman C++ Page 16
Contoh program yang menggunakan notasi dibelakang variabel :
#include <stdio.h>
#include <conio.h>
main() {
int a = 10, b = 5;
printf("Nilai A = %d", a);
printf("\nNilai A++ = %d", a++);
printf("\nNilai A = %d", a);
printf("\nNilai B = %d", b);
printf("\nNilai B-- = %d", b--);
printf("\nNilai B = %d", b);
getch();}
2. Operator Relasi
Operator Keterangan
== Sama dengan (bukan pemberi nilai
!= Tidak sama dengan
> Lebih dari
< Kurang dari
>= Lebih dari sama dengan
<= Kurang dari sama dengan
Contoh program yang mengguanakan operator relasi :
#include <stdio.h>
#include <conio.h>
Dasar Pemrograman C++ Page 17
#include <iostream.h>
main() {
float a, b, c, d, e, f, x, y;
clrscr();
cout<<"Masukan Nilai X = ";
cin>>x;
cout<<"Masukan Nilai Y = ";
cin>>y;
a = x == y;
b = x != y;
c = x > y;
d = x < y;
e = x >= y;
f = x <= y;
cout<<endl;
cout<<"Hasil dari "<<x<<" == "<<y<<" = "<<a<<endl;
cout<<"Hasil dari "<<x<<" != "<<y<<" = "<<b<<endl;
cout<<"Hasil dari "<<x<<" > "<<y<<" = "<<c<<endl;
cout<<"Hasil dari "<<x<<" < "<<y<<" = "<<d<<endl;
cout<<"Hasil dari "<<x<<" >= "<<y<<" = "<<e<<endl;
cout<<"Hasil dari "<<x<<" <= "<<y<<" = "<<f<<endl;
getch();
}
Dasar Pemrograman C++ Page 18
3. Operator Logika
Operator Relasi digunakan untuk menghubungkan dua buah operasi relasi
menjadi sebuah ungkapan kondisi. Hasil dari operator logika ini menghasilkan
nilai numerik 1 (True) atau 0 (False).
Operator Keterangan
&& Operator Logika AND
|| Operator Logika OR
! Operator Logika NOT
3.1. Operator And
Operator and digunakan untuk menghubungkan dua atau lebih
ekspresi relasi, akan dianggap BENAR, bila semua ekspresi relasi yang
dihubungkan bernilai BENAR.
Contoh :
Ekspresi Relasi-1 A + 4 < 10
Ekspresi Relasi-2 B>A + 5
Ekspresi Relasi-3 C - 3 >= 4
Contoh program yang menggunakan operator and:
/* Penggunaan Operasi Logika AND */
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main() {
float a, b, c, d, e, f, g, h;
clrscr();
cout<<"Masukan Nilai A = "; cin>>a;
cout<<"Masukan Nilai B = "; cin>>b;
cout<<"Masukan Nilai C = "; cin>>c;
d = a + 4 < 10;
e = b > a + 5;
f = c - 3 >= 4;
Dasar Pemrograman C++ Page 19
g = d && e && f;
cout<<endl<<endl;
cout<<"Program Ekspresi AND"<<endl<<endl;
cout<<"Hasil dari d = a + 4 < 10 adalah " <<d<<endl;
cout<<"Hasil dari e = b > a + 5 adalah " <<e<<endl;
cout<<"Hasil dari f = c - 3 >= 4 adalah " <<f<<endl;
cout<<"Hasil dari g = d && e && f adalah " <<g;
getch();
}
3.2. Operator OR
Operator or digunakan untuk menghubungkan dua atau lebih
ekspresi relasi, akan dianggap BENAR, bila salah satu ekspresi relasi yang
dihubungkan bernilai BENAR.
Contoh :
Ekspresi Relasi-1 A + 4 < 10
Ekspresi Relasi-2 B>A + 5
Ekspresi Relasi-3 C - 3 > 4
Contoh program yang menggunakan operator or:
/* Penggunaan Operasi Logika OR */
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
Dasar Pemrograman C++ Page 20
float a, b, c, d, e, f, g, h;
clrscr();
cout<<"Masukan Nilai A = "; cin>>a;
cout<<"Masukan Nilai B = "; cin>>b;
cout<<"Masukan Nilai C = "; cin>>c;
d = a + 5 > 10;
e = b > 5 + a ;
f = c - 4 <= 7;
g = d || e || f;
cout<<endl<<endl;
cout<<"Program Ekspresi OR"<<endl<<endl;
cout<<"Hasil dari d = a + 5 > 10 adalah " <<d<<endl;
cout<<"Hasil dari e = b > 5 + a adalah " <<e<<endl;
cout<<"Hasil dari f = c - 4 <= 7 adalah " <<f;
cout<<endl<<endl;
cout<<"Hasil dari g = d || e || f adalah " <<g;
cout<<endl;
getch(); }
3.3. Operator NOT
Operator logika NOT akan memberikan nilai kebalikkan dari
ekspresi yang disebutkan. Jika nilai yang disebutkan bernilai BENAR maka
akan menghasilkan nilai SALAH, begitu pula sebaliknya.
Contoh:
Dasar Pemrograman C++ Page 21
Ekspresi Relasi A + 4 < 10
Contoh program yang menggunakan operator not :
/* Penggunaan Operasi Logika NOT */
#include <stdio.h>
#include <conio.h>
#include<iostream.h>
main()
{
int a, b, c;
clrscr();
cout<<"Masukan Nilai A = ";
cin>>a;
/* Proses */
b = (a + 4 < 10);
c = !(b);
cout<<endl<<"Program Ekspresi NOT "<<endl;
cout<<"Nilai A = "<<a<<endl;
cout<<"Nilai b = (a + 4 < 10) = "<<b<<endl;
cout<<"Nilai c = !(b) = "<<c;
getch(); }
Dasar Pemrograman C++ Page 22
BAB III
PEMILIHAN/PERCABANGAN
Pernyataan Percabangan digunakan untuk memecahkan persoalan untuk
mengambil suatu keputusan diantara sekian pernyataan yang ada. Untuk keperluan
pengambilan keputusan, Borland C++ menyediakan beberapa perintah antara lain.
Pernyataan IF
Pernyataan IF – ELSE
Pernyataan Nested IF
Pernyataan IF – ELSE Majemuk
Pernyataan Switch – Case
A. Pernyataan IF
“ Jika kondisi bernilai benar, maka perintah akan dikerjakan dan jika tidak
memenuhi syarat maka akan diabaikan”
Bentuk umumnya adalah sebagai berikut :
if (kondisi)
{
Pernyataan;
……
}
Contoh program yang menggunakan If :
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
double tot_beli, potongan=0, jum_bayar=0;
clrscr();
cout<<"Total Pembelian Rp. ";
cin>>tot_beli;
if (tot_beli >= 50000)
potongan = 0.2 * tot_beli;
cout<<"Besarnya Potongan Rp. "<<potongan<<endl;
jum_bayar = tot_beli - potongan;
cout<<"Jumlah yang harus dibayarkan Rp. "<<jum_bayar;
getch(); }
Dasar Pemrograman C++ Page 23
Output yang akan dihasilkan, dari program contoh 1 di atas adalah:
B. Pernyataan If Else
“ Jika kondisi bernilai benar, maka perintah-1 akan dikerjakan dan jika tidak
memenuhi syarat maka akan mengerjakan perintah-2”
Bentuk umumnya adalah sebagai berikut :
if (kondisi-1)
{
perintah-1;
....
}
else
{
perintah-2;
....
}
Contoh program yang menggunakan if else :
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
double tot_beli, potongan=0, jum_bayar=0;
clrscr();
cout<<"Total Pembelian Rp. ";
cin>>tot_beli;
if (tot_beli >= 50000)
potongan = 0.2 * tot_beli;
else
Dasar Pemrograman C++ Page 24
potongan = 0.05 * tot_beli;
cout<<"Besarnya Potongan Rp. "<<potongan<<endl;
jum_bayar = tot_beli - potongan;
cout<<"Jumlah yang harus dibayarkan Rp. "<<jum_bayar;
getch();
}
Output yang akan dihasilkan, dari program contoh 2 di atas adalah:
C. Pernyataan Nested If
Nested if merupakan pernyataan if berada didalam pernyataan if yang
lainnya. Bentuk penulisan pernyataan Nested if adalah :
if(syarat)
if(syarat)
… perintah;
else
… perintah;
else
if(syarat)
… perintah;
else
… perintah;
Contoh program yang menggunakan nested if:
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
main(){
char kd, ukr,merk[20];
long int hrg,byr,ppn,ttl,u_byr,u_kembali,byk;
cout<<"***Toko Kelontong Keroncongan***"<<endl;
cout<<"======================================"<<endl;
Dasar Pemrograman C++ Page 25
cout<<"A. Susu Dancow "<<endl;
cout<<" 1. Ukuran Kecil "<<endl;
cout<<" 2. Ukuran Sedang "<<endl;
cout<<" 3. Ukuran Besar "<<endl;
cout<<"B. Susu Bendera "<<endl;
cout<<" 1. Ukuran Kecil "<<endl;
cout<<" 2. Ukuran Sedang "<<endl;
cout<<" 3. Ukuran Besar "<<endl;
cout<<"C. Susu SGM "<<endl;
cout<<" 1. Ukuran Kecil "<<endl;
cout<<" 2. Ukuran Sedang "<<endl;
cout<<" 3. Ukuran Besar "<<endl;
cout<<"\nMasukan Jenis Susu [A/B/C] :";cin>>kd;
cout<<"\nMasukan Ukuran Kaleng [1/2/3] :";cin>>ukr;
cout<<"\nBanyak Beli :";cin>>byk;
if(kd=='A'||kd=='a')
{strcpy(merk,"Dancow");
if(ukr=='1')hrg=15000;
else if(ukr=='2')hrg=26000;
else hrg=45000;}
else if(kd=='B'||kd=='b')
{strcpy(merk,"Bendera");
if(ukr=='1')hrg=12000;
else if(ukr=='2')hrg=22000;
else hrg=40000;}
else
{strcpy(merk,"SGM");
if (ukr=='1')hrg=20000;
else if(ukr=='2')hrg=38000;
else hrg=70000;}
cout<<"Merk Susu :"<<merk<<endl;
Dasar Pemrograman C++ Page 26
cout<<"Harga :"<<hrg<<endl;
byr=hrg*byk;
cout<<"Pembayaran :"<<byr<<endl;
ppn=0.1*byr;
ttl=byr+ppn;
cout<<"PPN :"<<ppn<<endl;
cout<<"Total Bayar :"<<ttl<<endl;
cout<<"Uang Bayar :";cin>>u_byr;
u_kembali=u_byr-ttl;
cout<<"Uang Kembali :"<<u_kembali<<endl;
cout<<"Terima Kasih Anda Telah Ke Counter Kami"<<endl;
getch(); }
Output yang akan dihasilkan, dari program contoh 3 di atas adalah:
D. Pernyataan If – Else Majemuk
Bentuk dari if-else bertingkat sebenarnya serupa dengan nested if, keuntungan
penggunanan if-else bertingkat dibanding dengan nested if adalah penggunaan
bentuk penulisan yang lebih sederhana
if (syarat)
{
… perintah;
… perintah;
}
else if (syarat)
{
… perintah;
… perintah;
}
Dasar Pemrograman C++ Page 27
else
{
… perintah;
… perintah;
}
Contoh program yang menggunakan if bersarang:
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
main(){
char nm_pes[20],nm[20],kode,tujuan[30];
int jml;
long int harga,ttl;
cout<<"PT TRAVELLING INDONESIA"<<endl;
cout<<"Nama Penumpang :";cin>>nm;
cout<<"Kode Pesawat [1/2/3]:";cin>>kode;
cout<<"Jumlah Tiket :";cin>>jml;
if(kode=='1')
{strcpy(tujuan,"Jakarta - Medan");
strcpy(nm_pes,"Garuda Airlines");
harga=400000;}
else if(kode=='2')
{strcpy(tujuan,"Jakarta - Lampung");
strcpy(nm_pes,"Asia Airlines");
harga=200000;}
else
{strcpy(tujuan,"Jakarta - Palembang");
strcpy(nm_pes,"Sriwijaya Airlines");
harga=300000;}
ttl=jml*harga;
cout<<"Penumpang Yang Bernama :"<<nm<<endl;
cout<<"Nama Pesawat :"<<nm_pes<<endl;
cout<<"Tujuan :"<<tujuan<<endl;
Dasar Pemrograman C++ Page 28
cout<<"Harga Tiket :"<<harga<<endl;
cout<<"Total Bayar :"<<ttl<<endl;
getch(); }
Output yang akan dihasilkan, dari program contoh 4 di atas adalah:
E. Latihan If 1:
Buatlah program untuk menghitung nilai rata-rata dari seorang siswa, dengan
ketentuan sebagai berikut :
Nama Siswa, Nilai Pertandingan I, Nilai Pertandingan II, Nilai Pertandingan III
diinput.
Nilai Rata-rata merupakan hasil dari Nilai Pertandingan I, II dan III dibagi
dengan 3.
Ketentuan Mendapat Hadiah dari pertandingan :
o Jika Nilai Rata-Rata >= 85, maka mendapat hadiah Seperangkat Komputer
P4
o Jika Nilai Rata-Rata >= 70, maka mendapat hadiah Uang sebesar Rp.
500,000
o Jika Nilai Rata-Rata < 70, maka mendapat hadiah Hiburan
Tampilan yang diinginkan sebagai berikut :
Layar Masukkan
PROGRAM HITUNG NILAI RATA-RATA
Nama Siswa : ... <diinput>
Nilai Pertandingan I : ... <diinput>
Nilai Pertandingan II : ... <diinput>
Nilai Pertandingan III : ...<diinput>
Layar Keluaran
Siswa yang bernama ... <tampil data>
Memperoleh nilai rata-rata <hasil proses>
dari hasil perlombaan yang diikutinya.
Hadiah yang didapat adalah ..<hasil proses>
Penyelesaian :
Dasar Pemrograman C++ Page 29
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
void main()
{
char nama[20];
float nilai1,nilai2,nilai3,rata;
clrscr();
cout<<"\t\t*****PROGRAM MENGHITUNG NILAI RATA-RATA***** "<<endl;
cout<<"\t\t========================================= ";
cout<<endl;
cout<<endl;
cout<<"Nama Siswa :";
cin.getline(nama,20);
cout<<endl;
cout<<"Nilai Pertandingan 1 : ";cin>>nilai1;
cout<<endl;
cout<<"Nilai Pertandingan II : ";cin>>nilai2;
cout<<endl;
cout<<"Nilai Pertandingan III : ";cin>>nilai3;
cout<<"=====================================";
cout<<"=====================================";
rata=nilai1,nilai2,nilai3/3;
cout<<endl;
cout<<"\tSiswa yang bernama " <<nama<<endl;
cout<<"\tMemperoleh nilai rata-rata " <<rata<<endl;
cout<<"\tdari hasil perlombaan yang diikutinya "<<endl;
if (rata >=80)
{
cout<<"\tHadiah yang didapat adalah istri soleha";
}
else
if (rata >=70)
{
cout<<"\tHadiah yang didapat adalah suami soleha";
}
else
if (rata <70)
{
cout<<"\tHadiah yang didapat adalah jalan-jalan ke jepang";
Dasar Pemrograman C++ Page 30
}
getch();
}
Output yang akan dihasilkan, dari program contoh 5 di atas adalah:
F. Pernyataan switch – case
Bentuk dari switch - case merupakan pernyataan yang dirancangan khusus
untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak
alternatif.
Pernyataan switch - case ini memiliki kegunaan sama seperti if – else
bertingkat, tetapi penggunaannya untuk memeriksa data yang bertipe karakter atau
integer. Bentuk penulisan perintah ini sebagai berikut:
switch (ekspresi integer atau karakter )
{
case konstanta-1 :
… perintah;
… perintah;
break;
case konstanta-2 :
… perintah;
… perintah;
break;
default :
… perintah;
… perintah; }
Contoh program yang menggunakan switch :
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main() {
Dasar Pemrograman C++ Page 31
char kode;
clrscr();
cout<<"Masukkan Kode Barang [A..C] : "; cin>>kode;
switch(kode) {
case 'A' :
case 'a' :
cout<<"Alat Olah Raga";
break;
case 'B' :
case 'b' :
cout<<"Alat Elelktronik";
break;
case 'C' :
case 'c' :
cout<<"Alat Masak";
break;
default:
cout<<"Anda Salah Memasukan kode";
break; }
getch();
}
Output yang akan dihasilkan, dari program contoh 1 di atas adalah:
Contoh program yang menggunakan switch:
#include<conio.h>
Dasar Pemrograman C++ Page 32
#include<iostream.h>
#include<stdio.h>
main()
{
char nama[30],kd,bonus[20],jwb;
int jml;
long int hrg,ppn,total,pot;
atas:
clrscr();
cout<<"TOKO BUKU SEJAHTERA"<<endl;
cout<<"Jl.Keadilan No.16"<<endl;
cout<<"Telp.7236573-7236574"<<endl;
cout<<"======================================="<<endl;
cout<<"Kode [A/B/C]:";cin>>kd;
switch(kd)
{
case 'A':
case 'a':
{strcpy(nama,"Laskar Pelangi");
hrg=50000;}
break;
case 'B':
case 'b':
{strcpy(nama,"Jangan Tinggalkan Aku");
hrg=35000;}
break;
case 'C':
case 'c':
{strcpy(nama,"Mencari Mutiara di Dasar Hati");
hrg=45000;}
break;
Dasar Pemrograman C++ Page 33
default:
cout<<"Anda Salah Memasukan Kode";
break;
}
cout<<"Nama Buku Yang Anda Beli :"<<nama<<endl;
cout<<"Harga Buku Yang Anda Beli :"<<hrg<<endl;
cout<<"Jumlah Buku Yang Anda Beli :";cin>>jml;
if (jml>=3)
{pot=0.1*hrg*jml;
strcpy(bonus,"Buku Saku");}
else
{pot=0;
strcpy(bonus,"Maaf Anda Tidak Dapat Bonus");}
cout<<"Anda Dapat Potongan : "<<pot<<endl;
cout<<"Bonus Yang Anda Peroleh : "<<bonus<<endl;
total=jml*hrg;
ppn=0.02*jml*hrg;
cout<<"Total Bayar Buku Yang Dibeli : "<<total<<endl;
getche();
}
Output yang akan dihasilkan, dari program contoh 2 di atas adalah:
G. Latihan case1:
Buatlah program untuk menghitung nilai akhir seorang siswa dari kursus yang
diikutinya. Dengan ketentuan sebagai berikut :
Dasar Pemrograman C++ Page 34
Nama Siswa, Nilai Keaktifan, Nilai Tugas dan Nilai Ujian diinput.
Proses yang dilakukan untuk mendapatkan nilai murni dari masing-masing nilai,
adalah
o Nilai Murni Keaktifan = Nilai Keaktifaan dikalikan dengan 20%.
o Nilai Murni Tugas = Nilai Tugas dikalikan dengan 30%
o Nilai Murni Ujian = Nilai Ujian dikalikan dengan 50%
o Nilai Akhir adalah Nilai Murni Keaktifan + Nilai Murni Tugas + Nilai Murni
Ujian
Ketentuan untuk mendapatkan grade nilai :
o Nilai Akhir >= 80 mendapat Grade A
o Nilai Akhir >= 70 mendapat Grade B
o Nilai Akhir >= 59 mendapat Grade C
o Nilai Akhir >= 50 mendapat Grade D
o Nilai Akhir < 50 mendapat Grade E
Tampilan yang diinginkan sebagai berikut :
Layar Masukkan
PROGRAM HITUNG NILAI AKHIR
Nama Siswa : ......<diinput>
Nilai Keaktifan : ...... <diinput>
Nilai Tugas : ...... <diinput>
Nilai Ujian : ...... <diinput>
Layar Keluaran
Siswa yang bernama <tampil data>
Dengan Nilai Persentasi Yang dihasilkan.
Nilai Keaktifan * 20% : ...<hasil proses>
Nilai Tugas * 30% : ...<hasil proses>
Nilai Ujian * 50% : ...<hasil proses>
Jadi Siswa yang bernama <tampil data>
memperoleh nilai akhir sebesar ... <hasil proses>
Grade nilai yang didapat adalah ... <hasil proses>
Penyelesaian :
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main()
{
char lagi,nama[20];
float nilai_keaktifan,nilai_tugas,nilai_ujian,nilai_akhir,nmk,nmt,nmu;
int na;
atas:
clrscr();
Dasar Pemrograman C++ Page 35
cout<<"\n===================================="<<endl;
cout<<"\tPROGRAM MENGHITUNG NILAI AKHIR \n";
cout<<"===================================="<<endl;
printf("Nama Siswa : "); gets(nama);
cout<<"Masukan nilai Keaktifan : "; cin>> nilai_keaktifan;
cout<<"masukan nilai Tugas : "; cin>> nilai_tugas;
cout<<"Masukan nilai Ujian : "; cin>> nilai_ujian;
nmk=(nilai_keaktifan*0.2);
nmt=(nilai_tugas*0.3);
nmu=(nilai_ujian*0.5);
na=nmk+nmt+nmu;
cout<<endl;
clrscr();
cout<<"Siswa yang bernama : "<<nama<<endl;
cout<<"Dengan nilai presentase yang di hasilkan "<<endl;
cout<<"Nilai Keaktifan *20% : "<<nmk<<endl;
cout<<"Nilai Tugas *30% : "<<nmt<<endl;
cout<<"Nilai Ujian *50% : "<<nmu<<endl<<endl;
cout<<"Jadi Siswa yang bernama : "<<nama<<endl;
cout<<"Memeperoleh Nilai Akhir sebesar : "<<na<<endl;
cout<<"Grade Nilai Yang Didapat Adalah : ";
switch (na/10)
{
case 10 : printf("A");
break;
case 9 : printf("A");
break;
case 8 : printf("A");
break;
case 7 : printf("B");
break;
case 6 : printf("C");
break;
case 5 : printf("C");
break;
case 4 : printf("E");
break;
case 3 : printf("E");
break;
case 2 : printf("E");
Dasar Pemrograman C++ Page 36
break;
case 1 : printf("E");
break;
case 0 : printf("E");
break;
default : printf("Maaf,Masukan salah!\nNilai diluar jangkauan!!\n");
break;
}
cout<<endl;
cout<<"\nApakah Anda Ingin Ulangi Lagi [Y/T]: ";
lagi = getche();
if(lagi == 'Y' || lagi =='y')
goto atas;
getch();}
Output yang akan dihasilkan, dari program di atas adalah:
Dasar Pemrograman C++ Page 37
BAB IV
LOOPING (PENGULANGAN)
A. Pengertian looping (pengulangan)
Pengulangan(looping) adalah bagian yang bertugas melakukan
kegiatan/proses secara berulang-ulang sesuai dengan yang diinginkan. Operasi
perulanganselalu dijumpai didalam bahsa pemograman,disini akan dibahas beberapa
perulangan diantaranya.
1. Perulangan For
Perulangan yang pertama adalah for. Bentuk umum pernyataan for sebagai berikut
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )
Bila pernyataan didalam for lebih dari satu maka pernyataan-pernyataan tersebut
harus diletakan didalam tanda kurung.
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )
{
pernyataan / perintah;
pernyataan / perintah;
pernyataan / perintah;
}
Kegunaan dari masing-masing argumen for diatas adalah:
1) Inisialisasi merupakan bagian untuk memberikan nilai awal untuk variabel-
variabel tertentu.
2) Syarat pengulangan memegang kontrol terhadap pengulangan, karena bagian
ini yang akan menentukan suatu perulangan diteruskan atau dihentikan.
3) Pengubah nilai pecahanmengatur kenaikan atau penurunan nilai pencacah.
Contoh program yang menggunakan for :
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
Dasar Pemrograman C++ Page 38
int a;
for(a = 1; a <= 10; ++a)
cout<<a;
getch(); }
Output yang akan dihasilkan, dari program contoh di atas adalah:
Contoh program yang menggunakan for dengan menampilkan warna :
/* ------------------------------*/
/* Program Menampilkan Warna - 1 */
/* ------------------------------*/
#include<stdio.h>
#include<conio.h>
main()
{
int a=2, b=1, c=2, d=1, e;
clrscr();
for(e=1; 17>e; e++)
{
gotoxy(e,e); textcolor(e);
cprintf("\nwarna ke-%d",e);
}
getche();
}
Output yang akan dihasilkan, dari program contoh di atas adalah:
Dasar Pemrograman C++ Page 39
2. Perulangan Nested For
Pernyataaan Nested for adalah suatu perulangan for didalam perulangan
for yang lainnya. Bentuk umum pernyataan Nested for sebagai berikut :
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )
{
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah)
{
pernyataan / perintah; }}
Didalam penggunaan nested for, perulangan yang didalam terlebih
dahulu dihitung kemudian perulangan yang diluar diselesaikan.
Contoh program yang menggunakan nested for :
#include<stdio.h>
#include<conio.h>
#include <iostream.h>
main()
{
int a, b;
clrscr();
for(a = 1; a <= 5; a++)
{
printf("\n");
for(b = a; b <= 5; b++)
cout<<a<<" "; }
Dasar Pemrograman C++ Page 40
getch();}
Output yang akan dihasilkan, dari program contoh 3 di atas adalah:
3. Pernyataan Goto
Pernyataan goto merupakan instruksi untuk mengarahkan eksekusi
program ke-pernyataan yang diawali dengan suatu label. Label merupakan suatu
pengenal (identifier) yang diikuti dengan tanda titik dua ( : ). Bentuk pemakaian
goto sebagai berikut :
goto label;
Contoh program yang menggunakan goto :
/* ------------------------------ */
/* Program dengan pernyataan goto */
/* ------------------------------ */
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
main()
{
int a, b;
char lagi;
atas:
clrscr();
cout<<"Masukkan Bilangan = ";
cin>>a;
b = a % 2;
Dasar Pemrograman C++ Page 41
printf("Nilai %d %% 2 adalah = %d",a, b);
printf("\n\nIngin Hitung Lagi [Y/T] : ");
lagi = getche() ;
if (lagi == 'Y' || lagi == 'y')
goto atas;
getch();
}
Output yang akan dihasilkan, dari program contoh 4 di atas adalah:
4. Pernyataan While
Pernyataan perulangan while merupakan instruksi perulangan yang mirip
dengan perulangan for. Bentuk perulangan while dikendalikan oleh syarat
tertentu, yaitu perulangan akan terus dilaksanakan selama syarat tersebut
terpenuhi.
Bentuk umum perulangan while, sebagai berikut :
while ( syarat )
Pernyataan / perintah ;
Contoh program yang menggunakan while :
/* Program while01.cpp */
/* ------------------- */
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main()
{
Dasar Pemrograman C++ Page 42
int bil=1;
clrscr();
while(bil<=10)
{
cout<<bil<<" ";
++bil;
}
getch();
}
Output yang akan dihasilkan, dari program contoh 5 di atas adalah:
5. Pernyataan do - while
Pernyataan perulangan do - while merupakan bentuk perulangan yang
melaksanakan perulangan terlebih dahulu dan pengujian perulangan dilakukan
dibelakang.
Bentuk umum perulangan do - while, sebagai berikut :
do
pernyataan / perintah ;
while ( syarat )
Contoh program yang menggunakan do while :
/* Program do - while */
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main()
Dasar Pemrograman C++ Page 43
{
int bil=2;
clrscr();
do
{
cout<<bil<<" "; bil+=2;
}
while(bil<=10);
getch();
}
Output yang akan dihasilkan, dari program contoh 6 di atas adalah:
Praktikum Dasar Pemrograman C++ Page 44
BAB V
ARRAY (LARIK)
A. Pengenalan Array
Array adalah sekelompok data sejenis yang disimpan ke dalam variabel
dengan nama yang sama, dengan memberi indeks pada variabel untuk
membedakan antara yang satu dengan yang lain. Penulisan Variabel Array yaitu :
nama_variabel[indeks]
Keterangan : ketentuan nama variabel arrray sama dengan nama variabel biasa.
indeks menunjukkan nomor dari variabel .
1. Array satu dimensi
Inisialisasi dapat dilakukan bersama dengan deklarasi atau tersendiri.
Inisialisasi suatu array adalah dengan meletakkan elemen array di antara
tanda kurung kurawal {}, antara elemen yang satu dengan lainnya dipisahkan
koma. Cara menginisialisasikan array dari compiler yg tidak mengikuti
standar ANSI C:
o Diinisialisasikan di luar fungsi sebagai variabel
int bil[2]={0,0,0};main()
o Diinisialisasikan didalam fungsi yakni setelah program dieksekusi
2. Array dua dimensi
Array dimensi dua tersusun dalam bentuk baris dan kolom, dimana
indeks pertama menunjukan baris dan indeks kedua menunjukan kolom.
Array dimensi dua dapat digunakan seperti pendatan penjualan, pendataan
nilai dan lain sebagainya. Pendeklarasian array dua dimensi yaitu :
nama_variabel [indeks1][indeks2]
keterangan :
indeks1 : jumlah/nomor baris
indeks2 : jumlah/nomor kolom
Praktikum Dasar Pemrograman C++ Page 45
Jumlah elemen yang dimiliki array 2 dimensi dapat ditentukan dari
hasil perkalian indeks1 * indeks2 .
misal : array A[2][3] akan memiliki 2*3 = 6 elemen.
Beberapa contoh program array diantaranya :
Contoh program array jual beli buku :
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main()
{
char kd,judul[20],np[20],bonus[20],jwb;
int jumbel;
float harsat,j_pemby,dis,harber,tunj;
awal:
clrscr();
cout<<" \n Toko Kaset Utama \n"<<endl;
cout<<"Nama Pembeli : ";cin>>np;
cout<<"Kode [1/2/3] : ";cin>>kd;
cout<<"Jumlah Beli : ";cin>>jumbel;
cout<<"\n##################################"<<endl<<endl;
if(kd=='1')
{
strcpy(judul,"We Will Not Gaza Tonight");
strcpy(bonus,"Boneka cantik");
harsat=18000;
}
else if(kd=='2')
{
Praktikum Dasar Pemrograman C++ Page 46
strcpy(judul,"Hero");
strcpy(bonus,"mug lucu");
harsat=20000;
}
else
{
strcpy(judul,"I turn To You");
strcpy(bonus,"poster seru");
harsat=21000;
}
j_pemby=harsat*jumbel;
if(jumbel>=5)
dis=0.15*j_pemby;
else
dis=0;
if(kd=='1' &&jumbel>=5)
tunj=5000;
else
if(kd=='2'&&jumbel>=5)
tunj=6000;
else
if(kd=='3'&&jumbel>=5)
tunj=7000;
else
tunj=0;
harber=j_pemby-dis+tunj;
cout<<"Judul Lagu : "<<judul<<endl;
Praktikum Dasar Pemrograman C++ Page 47
cout<<"Bonus : "<<bonus<<endl;
cout<<"Harga : "<<harsat<<endl;
cout<<"Jumlah bayar : "<<j_pemby<<endl;
cout<<"Discount : "<<dis<<endl;
cout<<"Tunjangan : "<<tunj<<endl;
cout<<"Total Bayar : "<<harber<<endl<<endl;
cout<<"Mau Menghitung Lagi[Y/T]?";jwb=getche();
if(jwb=='Y'||jwb=='y')
goto awal;
getch();
}
Contoh program array data penjualan :
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<iomanip.h>
main()
{
int i, j;
int data_jual[4][4];
clrscr();
for(i=1;i<=3;i++)
{
Praktikum Dasar Pemrograman C++ Page 48
for(j=1;j<=3;j++)
{
cout<<"Data Ke - "<<i<<" "<<j<<endl;
cout<<"Jumlah Penjulan : "; cin>>data_jual[i][j];
}
}
cout<<"Data Penjualan Pertahun"<<endl;
cout<<"-----------------------"<<endl;
cout<<"NO 2001 2002 2003"<<endl;
cout<<"-----------------------"<<endl;
for(i=1;i<=3;i++)
{
cout<<setiosflags(ios::left)<<setw(5)<<i;
for(j=1;j<=3;j++)
{
cout<<setiosflags(ios::right)<<setw(4);
cout<<data_jual[i][j]; cout<<" ";
}
cout<<endl;
}
cout<<"-----------------------"<<endl;
getch();
}
Contoh program array data nilai mahasiswa :
#include<conio.h>
#include<iostream.h>
Praktikum Dasar Pemrograman C++ Page 49
#include<stdio.h>
#include<iomanip.h>
main()
{
int i;
char nama[5][20];
float nilai1[5];
float nilai2[5];
float hasil[5];
clrscr();
for (i=1;i<=2;i++)
{
cout<<"Data Ke- "<<i<<endl;
cout<<"Nama Siswa :";gets(nama[i]);
cout<<"Nilai Teori :";cin>>nilai1[i];
cout<<"Nilai Praktek :";cin>>nilai2[i];
hasil[i]=(nilai1[i]*0.40)+(nilai2[i]*0.60);
cout<<endl;
}
clrscr();
cout<<endl<<endl;
cout<<"-----------------------------------------------"<<endl;
cout<<"No. Nama Siswa Nilai Nilai Hasil "<<endl;
cout<<" Teori Praktek Ujian "<<endl;
cout<<"-----------------------------------------------"<<endl;
for (i=1;i<=2;i++)
{
cout<<setiosflags(ios::left)<<setw(4)<<i;
cout<<setiosflags(ios::left)<<setw(18)<<nama[i];
Praktikum Dasar Pemrograman C++ Page 50
cout<<setprecision(2)<<" "<<nilai1[i];
cout<<setprecision(2)<<" "<<nilai2[i];
cout<<setprecision(2)<<" "<<hasil[i]<<endl;
}
cout<<"-----------------------------------------------"<<endl;
getch();
}
Contoh program array penjualan chicken :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
main()
{
int i, j;
int bny[5];
char jp[5], jnpo[5][6];
long int hrg[5], jumhar[5];
long int jumbar = 0, tobar, pjk;
cout<<"_________________________________________________"<<endl
;
cout<<"banyak jenis : ";
Praktikum Dasar Pemrograman C++ Page 51
cin>>j;
cout<<endl;
cout<<"_______________________________________________"<<endl;
for(i=1; i<=j; i++)
{
cout<<"jenis ke- "<<i<<endl;
cout<<"jenis potong [D/P/S] : ";cin>>jp[i];
cout<<"banyak potong :";cin>>bny[i];
cout<<endl;
if(jp[i]=='D'||jp[i]=='d')
{
strcpy(jnpo[i],"dada");
hrg[i]=2500;
}
else if (jp[i]=='P'||jp[i]=='p')
{
strcpy(jnpo[i],"Paha");
hrg[i]=2000;
}
else
{
strcpy(jnpo[i],"Sayap");
hrg[i]=1500;
}
jumhar[i]=bny[i]*hrg[i];
jumbar=jumbar+jumhar[i];
}
pjk=jumbar*0.1;
tobar=jumbar+pjk;
Praktikum Dasar Pemrograman C++ Page 52
clrscr();
cout<<"GEROBAK FRIED CHICKEN"<<endl;
cout<<"-------------------------------------------------"<<endl;
cout<<"No Jenis Harga Banyak Jumlah"<<endl;
cout<<" Potong Satuan Beli Harga"<<endl;
cout<<"-------------------------------------------------"<<endl;
for(i=1;i<=j;i++)
{
cout<<setiosflags(ios::left)<<setw(4) <<i;
cout<<setiosflags(ios::left)<<setw(8) <<jnpo[i];
cout<<setiosflags(ios::right)<<setw(8) <<hrg[i];
cout<<setiosflags(ios::right)<<setw(8) <<bny[i];
cout<<setiosflags(ios::right)<<setw(12)<<jumhar[i]<<endl;
cout<<"-------------------------------------------------"<<endl;
cout<<" Jumlah Bayar = "<<jumbar<<endl;
cout<<" Pajak 10 % = "<<pjk<<endl;
cout<<" Total Bayar = "<<tobar<<endl;
cout<<"-------------------------------------------------"<<endl;
cout<<" ..........:: TERIMA KASIH ::.........."<<endl;
}
getch();
}
Praktikum Dasar Pemrograman C++ Page 53
BAB VI
FUNGSI
A. Pengertian fungsi
Fungsi (Function) merupakan blok dari kode yang dirancang untuk
melaksanakan tugas khusus. Kegunaan dari fungsi ini adalah untuk:
Mengurangi pengulangan penulisan program yang berulangan atau sama.
Program menjadi lebih terstruktur, sehingga mudah dipahami dan dapat lebih
dikembangkan.
Fungsi-fungsi yang sudah kita kenal sebelumnya adalah fungsi main(),
yang bersifat mutlak, karena fungsi ini program akan dimulai, sebagai contoh
yang lainnya fungsi printf(), cout() yang mempunyai tugas untuk menampilkan
informasi atau data kelayar dan masih banyak lainnya.
B. Struktur Fungsi
nama_fungsi(argumen)
{
… pernyataan / perintah;
… pernyataan / perintah;
… pernyataan / perintah;
}
Keterangan:
Nama fungsi, boleh dituliskan secara bebas dengan ketentuan, tidak
menggunakan spasi dan nama-nama fungsi yang mempunyai arti sendiri.
Argumen, diletakan diantara tanda kurung “( )” yang terletak dibelakang nama
fungsi. Argumen boleh diisi dengan suatu data atau dibiarkan kosong.
Pernyataan / perintah, diletakan diantara tanda kurung „{ }‟.
Pada pemanggilan sebuah fungsi, cukup dengan menuliskan nama fungsinya.
Praktikum Dasar Pemrograman C++ Page 54
Contoh program pembuatan fungi garis :
/* pembuatan fungsi garis() */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
garis()
{
printf("\n----------------------\n");
}
/* program utama */
main()
{
clrscr();
garis(); //memanggil fungsi garis
cout<<"AMIK BSI – Salemba 22"<<endl;;
garis(); //memanggil fungsi garis
getche();
}
C. Prototipe Fungsi
Prototipe fungsi digunakan untuk mendeklarasikan ke kompiler mengenai:
Tipe data keluaran dari fungsi.
Jumlah parameter yang digunakan .
Praktikum Dasar Pemrograman C++ Page 55
Tipe data dari masing-masing parameter yang digunakan.
Keuntungan didalam pemakai prototipe yaitu :
Kompiler akan melakukan konversi antara tipe parameter dalam definisi dan
parameter fungsi.
Jika jumlah parameter yang digunakan dalam definisi fungsi dan pada saat
pemanggilan fungsi berbeda atau tidak sama, maka akan menunjukkan
kesalahan.
D. Pernyataan return().
Digunakan untuk mengirimkan nilai atau nilai dari suatu fungsi kepada
fungsi yang lain yang memanggilnya. Pernyataan return() diikuti oleh argumen
yang berupa nilai yang akan dikirimkan. Contoh pemakaian pernyataan return()
dapat dilihat pada contoh berikut ;
Contoh pengiriman data konstanta
/* ------------------------ */
/* Pengriman data Konstanta */
/* ------------------------ */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
luas(float sisi);
main()
{
float luas_bs;
clrscr();
luas_bs = luas(4.25);
cout<<"\nLuas Bujur Sangkar = "<<luas_bs;
getch();
}
luas(float sisi)
Praktikum Dasar Pemrograman C++ Page 56
{
return(sisi*sisi);
}
Keterangan :
Dalam struktur program diatas dilihat bahwa, pernyataan uas_bs=luas(4.25),
akan dikirimkan nilai kepada fungsi luas(), untuk diolah lebih lanjut, yang nilai
tersebut akan ditampung pada variabel sisi. Selanjutnya didalam fungsi return
terjadi perkalian sisi dengan sisi, setelah itu hasil perkalian tersebut dikirim balik
ke variabel luas_bs yang memanggil fungsi.
Contoh program yang Mengirimkan data variable:
/* ------------------------ */
/* Pengriman data Variabel */
/* ------------------------ */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
luas(float sisi);
main()
{
float luas_bs, sisi_bs;
clrscr();
cout<<"\nMenghitung Luas Bujur Sangkar"<<endl;
Praktikum Dasar Pemrograman C++ Page 57
cout<<"\nMasukan Nilai Sisi Bujur Sangkar : ";
cin>>sisi_bs;
luas_bs = luas(sisi_bs);
cout<<"\nLuas Bujur Sangkar = "<<luas_bs<<" Cm";
getch();
}
luas(float sisi)
{ return(sisi*sisi); }
Contoh program yang menggunakan fungsi :
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
potong(float harga,float disk);
garis ()
{
printf("===============================");
}
main()
{
char nama[20],jwb;
long int harga,total,disk;
Praktikum Dasar Pemrograman C++ Page 58
ulang:
clrscr();
garis();
cout<<"\n\tToko Mas Jayakarta "<<endl;
cout<<"Nama Barang :";cin>>nama;
cout<<"Harga Barang :";cin>>harga;
if(harga<1000000)
disk=0;
else if(harga>=1000000&&harga<=5000000)
disk=harga*0.2;
else
disk=harga*0.35;
cout<<"Besar diskont yang diberikan :"<<disk<<endl;
total=potong(harga,disk);
cout<<"Besar harga yang harus dibayar :"<<total<<endl;
cout<<"\n\tAnda Ingin Input Lagi [Y/T]:";jwb=getche();
if(jwb=='Y'||jwb=='y')
goto ulang;
getch();}
potong(float harga,float disk)
{ return(harga-disk); }
Praktikum Dasar Pemrograman C++ Page 59
BAB VII
MACRO
A. Preprocessor Directives
Prepocessor Directives adalah suatu perintah yang termasuk kedalam
program, tetapi bukanlah instruksi dari program itu sendiri, tetapi untuk
preprocessor. Preprocessor ini dijalankan secara otomatis oleh kompiler, ketika
didalam proses penterjemahan (Compile) program berlangsung, didalamnya
membuat nilai pembuktian pertama dan menterjemahkan code program didalam
kode objek. Didalam penggunaan preprocessor directive selalu dimulai dengan
tanda : #
Ada beberapa preprocessor directive, diantaranya adalah :
1. #define
Digunakan untuk mendefinisikan suatu nilai tertentu kepada suatu nama
konstanta. Bentuk umum dari preprocessor directive #define ini adalah:
#define nama_konstanta teks
Contoh :
Teks
#define A 6
Nama_Konstanta
Dalam pendeklarasian preprocessor directive #define, Nama_Konstanta
sebaiknya ditulis dengan menggunakan huruf besar, guna untuk
membedakannya dengan nama_variabel. Sedangkan Teks merupakan suatu
nilai yang diberikan pada nama_konstanta. Teks dapat berupa :
Numerik #define PI 3.14
Karakter #define HURUF „B‟
String #define JABATAN “INSTRUCTOR”
Pernyataan #define CETAK (“Borland C++”)
Fungsi Sederhana #define LUAS_KUBUS (n*n)
Praktikum Dasar Pemrograman C++ Page 60
Contoh program yang menggunakan #define :
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#define PI 3.141592
#define L(n) PI*n*n
main()
{
clrscr();
cout<<"Luas Lingkaran dengan : "<<endl;
cout<<"Jari-jari = 5 adalah "<<L(5)<<endl;
cout<<"Jari-jari = 10 adalah "<<L(10)<<endl;
getche();
}
Contoh lain:
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#define awal {
#define akhir }
Praktikum Dasar Pemrograman C++ Page 61
#define mulai() main()
#define cetak cout
#define masuk cin
#define hapus() clrscr()
#define tahan() getch()
#define LS_KUBUS (sisi*sisi)
mulai()
awal
int sisi, ls_kubus;
hapus();
cetak<<"Program Penggunaan #define"<<endl<<endl;
cetak<<"Masukkan Nilai Sisi Kubus = "; masuk>>sisi;
ls_kubus = LS_KUBUS;
cetak<<"Luas Kubus adalah : "<<ls_kubus;
tahan();
akhir
Praktikum Dasar Pemrograman C++ Page 62
2. # include
Berfungsi untuk memasukkan atau menyertakan file-file header
kedalam program yang akan dibuat. Dalam penulisan #include ada dua bentuk
penulisan :
#include "nama_file_header"
atau
#include <nama_file_header>
Pada bentuk penulisan #include mempunyai arti yang berbeda, yaitu :
#include "nama_file_header"
“Pertama kali compiler akan mencari file header yang disebutkan pada
directori yang sedang aktif dan apa bila tidak ditemukan akan mencari pada
directori dimana file header tersebut berada “.
#include <nama_file_header>
“Pertama kali compiler akan mencari file header yang disebutkan pada
directori yang ada file headernya, kecuali pada directori yang sedang aktif.
3. Pembuatan File Header
File Header adalah suatu file dengan akhiran .h . File ini sebenarnya
berisikan deklarasi fungsi dan definisi konstanta. Selain file-file header
standar yang disediakan oleh C++, kita dapat juga membuat file header sediri,
dengan cara yang sama seperti membuat file editor. Yang harus diperhatikan
pada saat menyimpan file header yang telah dibuat harus digunakan akhiran .h
Buatlah program file heder dibawah ini, kemudian simpan dengan
nama : atur.h, pada folder kerja anda folder include
Contoh program membuat header sendiri :
/* atur.h */
#define awal {
#define akhir }
#define mulai() main()
Praktikum Dasar Pemrograman C++ Page 63
#define cetak cout
#define tampil cprintf
#define masuk cin
#define hapus() clrscr()
#define jika if
#define warna textcolor
#define tahan getche()
Kemudian buatlah program dibawah ini, kemudian gunakan file header
yang sudah anda buat dan simpan dengan nama : sendiri.cpp
/* ---------------------------------- */
/* program dengan file header sendiri */
/* ---------------------------------- */
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include"atur.h"
mulai()
awal
int a, b, c;
hapus();
warna(4);
tampil("\nPROGRAM PENJUMLAHAN\n");
cetak<<endl;
cetak<<"Masukkan Nilai A = "; masuk>>a;
cetak<<"Masukkan Nilai B = "; masuk>>b;
c=a+b;
cetak<<"Hasil dari "<<a<<" + "<<b<<" = "<<c;
Praktikum Dasar Pemrograman C++ Page 64
tahan;
akhir
B. Structure
Structure digunakan untuk mengelompokan sejumlah data yang
mempunyai tipe data yang berbeda. Variabel-variabel yang membentuk sebuah
struktur dinamakan elemen struktur. Struktur sama seperti Record di dalam
Bahasa Pemrograman Pascal
Deklarasi Structure
atau
Contoh program yang menggunakan struktur :
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
struct
{
elemen_struktur;
.....
struct nama_tipe_struktur
{
elemen_struktur;
.....
Praktikum Dasar Pemrograman C++ Page 65
struct
{
char nim[5];
char nama[15];
int nilai;
} mahasiswa;
clrscr();
cout<<"masukan NIM = "; cin>>mahasiswa.nim;
cout<<"masukan Nama = ";cin>>mahasiswa.nama;
cout<<"masukan Nilai Akhir = "; cin>>mahasiswa.nilai;
cout<<"\n\nData Yang di Inputkan adalah : \n\n";
cout<<"NIM = "<<mahasiswa.nim<<endl;
cout<<"Nama = "<<mahasiswa.nama<<endl;
cout<<"Nilai Akhir = "<<mahasiswa.nilai<<endl;
getch();
}
Praktikum Dasar Pemrograman C++ Page 66
C. Nested Structure
Contoh program yang menggunakan nested struct :
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
struct dtmhs
{
char nim[9];
char nama[15];
};
struct dtnil
{
float nil1;
float nil2;
};
struct
{
struct dtmhs mhs;
struct dtnil nil;
} nilai;
clrscr();
Praktikum Dasar Pemrograman C++ Page 67
//-> masukan data
cout<<"masukan NIM = "; cin>>nilai.mhs.nim;
cout<<"masukan Nama = "; cin>>nilai.mhs.nama;
cout<<"masukan Nilai UTS = "; cin>>nilai.nil.nil1;
cout<<"masukan Nilai UAS = "; cin>>nilai.nil.nil2;
cout<<endl;
//-> menampilkan hasil masukan
cout<<"masukan NIM = "<<nilai.mhs.nim<<endl;
cout<<"masukan Nama = "<<nilai.mhs.nama<<endl;
cout<<"masukan Nilai UTS = "<<nilai.nil.nil1<<endl;
cout<<"masukan Nilai UAS = "<<nilai.nil.nil2<<endl;
cout<<endl;
getch();
return(0); }
D. Structure dengan Array
struct
{
Praktikum Dasar Pemrograman C++ Page 68
elemen_struktur;
.....
.....
} nama_tipe_struktur[jml_index];
Contoh program yang menggunakan struktur dan array :
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main()
{
int i,j=1;
struct
{
char nim[10];
char nama[15];
float nilai;
} mhs[5];
clrscr();
for(i=1;i<=2;i++)
{
cout<<"Data ke-"<<i<<endl;
cout<<"Masukkan NIM : ";cin>>mhs[i].nim;
cout<<"Masukkan Nama : ";cin>>mhs[i].nama;
Praktikum Dasar Pemrograman C++ Page 69
cout<<"Masukkan Nilai Akhir : ";cin>>mhs[i].nilai;
cout<<endl;
}
for(i=1;i<=2;i++)
{
cout<<"Data ke-"<<i<<endl;
cout<<"NIM = "<<mhs[i].nim<<endl;
cout<<"Nama = "<<mhs[i].nama<<endl;
cout<<"Nilai Akhir = "<<mhs[i].nilai<<endl;
cout<<endl; }
getch();
}
E. Structure dengan Function
Contoh program yang menggunakan struktur dan fungsi :
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
Praktikum Dasar Pemrograman C++ Page 70
char ket(float n);
main()
{
int i, j=1, k=1;
struct
{
char nim[5];
char nama[15];
float nilai;
} mhs[5];
clrscr();
for(i=0; i<2; i++)
{
cout<<"Data Ke - "<<j++<<endl;
cout<<"masukan NIM = "; cin>>mhs[i].nim;
cout<<"masukan Nama = "; cin>>mhs[i].nama;
cout<<"masukan Nilai Akhir = "; cin>>mhs[i].nilai;
cout<<endl;
}
clrscr();
for(i=0; i<2; i++)
{
cout<<"Data Ke - "<<k++<<endl;
Praktikum Dasar Pemrograman C++ Page 71
cout<<"NIM = "<<mhs[i].nim<<endl;
cout<<"Nama = "<<mhs[i].nama<<endl;
cout<<"Nilai Akhir = "<<mhs[i].nilai<<endl;
cout<<"Keterangan yang didapat = ";
cout<<ket(mhs[i].nilai)<<endl; cout<<endl; }
getch(); }
char ket(float n)
{
if(n > 65)
return 'L';
else
return 'G';
}
S