PRODUCTION
2014
KATA PENGANTAR
Bismillahirahmanirahim,
Bahasa Pemrograman C++ tergolong kedalam bahasa pemrograman tingkat tinggi.
Bahasa pemrograman C++ diciptakan oleh Bjarne Stroustrup di AT&T Bell Laboratories pada
awal tahun 1980-an. Bahasa pemrograman C++ merupakan pengembangan dari bahasa C.
Bahasa C++ tergolong bahasa pemrograman lampau tetapi masih diminati oleh beberapa
kalangan yang ingin mempelajari bahasa pemrograman dasar. Dasar ketika anda ingin
mempelajari bahasa pemrograman C++ adalah anda terlebih dahulu mengetahui matakuliah
Algoritma.
Penulis memahami bahwa pembuatan handout ini masih jauh dari kesan sempurna
karena ilmu dan sumber-sumber yang penulis miliki dan peroleh masih relatif sedikit, sehingga
apabila pembaca menemukan kesalahan atau kekeliruan pada penulisan ataupun penjelasan
materi dalam handout ini, pembaca dapat mengirimkan pemberitahuan kesalahan tersebut ke
alamat email ke : dwi.nurulhuda@yahoo.com agar penulis dapat merevisi kesalahan ataupun
kekeliruan tersebut.
Akhir kata, penulis ucapkan beribu terimakasih kepada pihak-pihak yang telah
membantu terselesaikannya handout ini. Penulis berharap handout ini dapat berguna bagi para
pembaca. Selamat Belajar, semoga ilmu anda bermanfaat bagi anda dan lingkungan anda.
Salam.
Do You Know
1. Bahasa Tingkat Tinggi, merupakan bahasa pemrograman yang codingnya lebih ke arah
pemahaman manusia pada umumnya. Contoh bahasa pemrograman tingkat tinggi ialah :
Pascal
Cobol
Fortran
Basic
Java
C
C++
2. Bahasa Tingkat Rendah, merupakan bahasa pemrograman yang codingnya sulit mengikuti
pemahaman manusia pada umumnya. Contoh bahasa pemrograman tingkat rendah ialah :
Assembler
/*Program untuk
menampilkan kata STTI */ Analisis penulisan komentar dari coding tersebut :
//mulai Apabila komentar ditulis di dalam simbol apitan
# include <iostream.h> /* ---komentar---*/, maka komentar tersebut dapat
using namespace std;
main() ditulis lebih dari satu baris
{ Apabila komentar ditulis di dalam simbol //, maka
cout<<“STTI“;
} komentar tersebut hanya dapat ditulis satu baris
Iostream sendiri dibutuhkan untuk melakukan kegiatan input dan output didalam bahasa pemrograman
C++. Perintah cout dan cin berada didalam library iostream.h, sehingga tanpa mencantumkan header
tersebut kode program yang dibuat tidak akan bisa di compile.
Tambahan :
Setiap akan masuk pada penulisan isi program diwajibkan untuk menuliskan kata ‘main()’ terlebih
dahulu. Main() adalah fungsi utama yang harus ada dalam setiap program C++.
1.5 IDENTIFIER
Identifier merupakan suatu pengenal yang dideklarasikan agar kompiler dapat mengenalinya. Suatu
identifier dapat berupa variable, konstanta ataupun yang lainnya. Identifier berupa variable dan
konstanta digunakan untuk menampung suatu nilai dalam program.
1.5.1. KONSTANTA
Konstanta merupakan identifier yang nilainya bersifat tetap/konstan (tidak dapat
diubah-ubah lagi). Konstanta digunakan untuk nilai-nilai yang berupa tetapan seperti
pada saat akan menghitung luas lingkaran membutuhkan nilai π yaitu 3.14 ataupun
22/7. Terdapat dua cara penulisan konstanta yaitu dengan cara :
1.5.2. VARIABEL
Penulisan variable/pengenal digunakan untuk mewakili suatu nilai dalam kode program. Suatu
nilai dalam variabel dapat bersifat statis maupun dinamis, berbeda dengan konstanta yang
nilainya bersifat statis.
1.5.2.1 PENDEKLARASIAN VARIABEL
Terdapat format penulisan pada saat anda akan mendeklarasikan suatu variabel, yaitu :
Tipe data nama_variabel ;
Pendeklarasian variabel dapat diawali dengan menuliskan tipe data untuk nama variable,
kemudian dilanjutkan dnegan penamaan variable dan diakhiri dengan tanda titik koma.
Pemilihan tipe data harus sesuai dengan variable yang akan dibuat. Contoh pendeklarasian
variable :
Nama_variabel
int tinggi ;
Tipe data
/*Program sederhana */
# include <iostream.h>
using namespace std;
int A;
main ()
{
A=10;
cout<< “Nilai A :“<<A ;
2. Variabel lokal, merupakan variabel yang dideklarasikan didalam main utama. Variabel lokal
tidak dapat dikenali oleh lingkungan luar program dan hanya bisa dikenali dalam main saja.
Contoh program :
/*Program sederhana */
# include <iostream.h>
using namespace std;
main()
{
Int A=10;
cout<< “Nilai A :“<<A ;
main()
{
Int A=10;
cout<< “Nilai A :“<<A ;
4. Variabel dinamis, merupakan suatu variabel yang nilainya dapat diubah-ubah sesuai inputan
pengguna. Contoh program :
/*Program sederhana */
# include <iostream.h>
using namespace std;
main()
{
Int A;
cout<<” Input Nilai A :”;
cin>>A;
cout<< “Nilai A :“<<A ;
# include <iostream.h>
2. Cin merupakan objek didalam C++ yang digunakan untuk membaca suatu nilai variabel. File
header yang harus disertakan ketika akan menggunakan perintah ini adalah iostream.h
/*Program sederhana */
# include <iostream.h>
# include <iostream.h>
using namespace std;
main()
{
Int a ;
cout<< “Input Nilai A“ ; cin>>a ;
cout<< “Nilai A :“<<a ;
}
4. \n merupakan fungsi manipulator yang fungsinya sama dengan manipulator endl yaitu untuk
pindah baris, hanya saja penggunaan \n agak sedikit berbeda dengan penggunaan manipulator
endl.
/*Program sederhana */
# include <iostream.h>
# include <iostream.h>
2. Operator Unary, merupakan operator yang hanya melibatkan sebuah operand saja. Beberapa jenis
operator unary :
Operator Jenis Operasi Example
+ Membuat nilai positif +5
- Membuat nilai negatif -5
++ Increment /penaikan ++A
-- Decrement/penurunan --A
3. Operator Binary, merupakan operasi yang melibatkan dua buah operand. Operator ini
dikelompokan menjadi empat jenis, uaitu :
a. Operator Aritmatika, merupakan operator yang digunakan untuk melakukan operasi-operasi
aritmetika. Adapun yang termasuk kedalam operator ini adalah :
Operator Jenis Operasi Example
+ Penjumlahan 10 + 2 =12
- Pengurangan 10 - 2 =8
* Perkalian 10 * 2 =20
/ Pembagian 10 / 2 =5
% Modulo/Sisa Bagi 10 % 2 =0
d. Operator Bitwise
Operator bitwise berguna untuk melakukan operasi-operasi yang berhubungan dengan
pemanipulasian bit. Operator bitwise hanya dapat digunakan untuk operand yang bertipe data
int atau char. Karena berkoresponden dengan tipe byte dan word didalam bit. Adapun yang
termasuk kedalam operator bitwise yaitu :
1. Perhatikan Penulisan variable dibawah ini apakah sudah benar atau masih salah. Jika masih
salah perbaiki, sehingga menjadi penamaan variable yang benar :
a. int 123Panjang;
b. int panjang123;
c. int panjang123balok;
d. int !panjang; ° LATIHAN
e. int panjang!; ° LATIHAN
2. Buatlah sebuah program untuk menghitung luas lingkaran. Gunakan define atau konstanta
didalamnya!
° LATIHAN
3. Buatlah sebuah program untuk melakukan perhitungan dua buah bilangan. Gunakan seluruh
operator yang termasuk kedalam operator aritmatika.
4. Buatlah program untuk membuktikan :
a. Operator Logika
b. Operator Relasional
5. Cari kasus untuk operator unary. Kira-kira apa kegunaan dari operator increment dan
decrement?jelaskan berdasarkan hasil analisis anda!
6. Cari kasus untuk operator bitwise(shift right dan shift left). Kira-kira apa kegunaan dari operator
shift right dan shift left?jelaskan berdasarkan hasil analisis anda!
MULAI
INSTRUKSI KE-1
INSTRUKSI KE-2
……
INSTRUKSI KE-N
SELESAI
START
Input Nilai A
B = A +2
C= B+1
D = A+B+C
Nilai D
FINISH
Misal :
D=A+B+C
D diperoleh dengan menjumlahkan Nilai A,B dan
C, sehingga :
D = 10 + 12 + 13
D = 35
ATURAN :
UNTUK SOAL NO.1 BUAT KEDALAM BENTUK VARIABEL STATIS.
UNTUK SOAL NO. 2 DAN NO. 3 BUAT KEDALAM BENTUK VARIABEL DINAMIS.
– SELAMAT MENGERJAKAN -
YA TIDAK
IF
Statement... Statement...
Statement... Statement...
Statement... Statement...
{
statement…;
}
else
{
Statement_ketika kondisi tidak terpenuhi;
}
# include <iostream>
main()
{
//Deklarasikan Variabel
int bil;
//Inputkan Bilangan yang ingin diperiksa
cout<<”Input Bilangan :”;
// Merespon proses inputan (mengambil/membaca nilai bil)
cin>>bil;
if (bil > 0)
{
Cout<< ”Bilangan Positif”;
}
else
{
Cout<< ”Bukan Bilangan Positif”;
}
YA IF TIDAK
KONDISI1
Statement...
Statement... YA IF TIDAK
Statement... KONDISI2
Statement... Statement...
Statement... Statement...
Statement... Statement...
if (kondisi1)
{
Statement1…; //jalankan statemen jika kondisi 1
terpenuhi
}
else if (kondisi2)
{
Statement2…; //jalankan statemen jika kondisi 2
terpenuhi
}
else
{
statement_kondisi_tidak_terpenuhi;
}
# include <iostream>
main()
{
//Deklarasikan Variabel
int bil;
//Inputkan Bilangan yang ingin diperiksa
cout<<”Input Bilangan :”;
// Merespon proses inputan (mengambil/membaca nilai bil)
cin>>bil;
if (bil > 0)
{
Cout<< ”Bilangan Positif”;
}
else if (bil < 0)
{
Cout<< ”Bilangan Negatif”;
}
else
{
Cout<< ”Bukan Bilangan Positif & Negatif”;
}
Statement... YA TIDAK
Statement... IF
Statement... KONDISI2
Statement...
Statement... YA IF TIDAK
Statement... KONDISI3
Statement... Statement...
Statement... Statement...
Statement... Statement...
if (kondisi1)
{
statement1…; //jalankan statemen jika kondisi 1 terpenuhi
}
else if (kondisi2)
{
statement2…; //jalankan statemen jika kondisi 2 terpenuhi
}
else if (kondisi3)
{
statement3…; //jalankan statemen jika kondisi 3 terpenuhi
}
else
{
//jalankan statemen jika semua kondisi tidak terpenuhi
statement_n…;
}
# include <iostream>
main()
{
//Deklarasikan Variabel
int bil;
//Inputkan Bilangan
cout<<”Input Bilangan :”;
// Merespon proses inputan (mengambil/membaca nilai bil)
cin>>bil;
if (bil ==1)
{
Cout<< ”Anda Menginput Bilangan 1”;
}
else if (bil ==2)
{
Cout<< ”Anda Menginput Bilangan 2”;
}
else if (bil ==3)
{
Cout<< ”Anda Menginput Bilangan 3”;
}
else
{
Cout<< ”Hanya menghasilkan output 1..3 saja ”;
}
if (kondisi1)
{
if (kondisi1)
{
statement1;
}
else if (kondisi2)
{
statement2;
}
else
{
statement_n; //ketika semua kondisi tidak terpenuhi
}
}
else if (kondisi2)
{
if (kondisi1)
{
statement1;
}
else if (kondisi2)
{
statement2;
}
else
{
statement_n; //ketika semua kondisi tidak terpenuhi
}
}
……
else
{
//jalankan statemen jika semua kondisi tidak terpenuhi
statement_n…;
}
#include <iostream>
using namespace std;
main()
{
int pil;
cout<<"Input Pilihan [1..2] :";
cin>>pil;
if(pil==1)
{ IF BERSARANG
cout<<"Makanan"<<endl;
cout<<"1. Mie Goreng "<<endl;
cout<<"2. Mie Rebus "<<endl;
cout<<"3. Nasi Goreng"<<endl;
cout<<"Masukan Inputan [1..4] :";
cin>>pil;
if (pil==1)
{
cout<<"Anda Memilih Mie Goreng";
}
else if (pil==2)
{
cout<<"Anda Memilih Mie Rebus";
}
else if (pil==3)
{
cout<<"Anda Memilih Nasi Goreng";
}
else
{
cout<<"Pilihan Hanya Ada Sampai 4 Saja...";
}
}
else if(pil==2)
{
cout<<"Minuman"<<endl;
}
else
{
cout<<"Piihan Anda Salah!!!";
}
Switch (ekspresi)
{
case nilai_1 : statement_jika_nilai1_terpilih ;
break;
case nilai_ 2 : statement_jika_nilai2_terpilih ;
break;
………………
case nilai_N : statement_jika_nilaiN_terpilih ;
break;
default : statement_jika_semua_nilai_tidak_terpenuhi ; //optional
break;
}
Perlu Di Ingat :
Break digunakan untuk keluar dari kondisional pada
pilihan case jika nilai konstan terpenuhi.
Default dijalankan apabila seluruh kondisi pada pilihan
case tidak ada yang terpenuhi. Default merupakan kondisi
optional.
# include <iostream>
main()
{
//Deklarasikan Variabel
int AngkaHari;
//Inputkan Angka Hari
cout<<”Input Angka Hari :”;
cin>> AngkaHari;
switch (AngkaHari)
{
case 1 : cout<<”Angka Hari 1 merupakan hari SENIN”;
break;
case 2 : cout<<”Angka Hari 2 merupakan hari SELASA”;
break;
case 3 : cout<<”Angka Hari 3 merupakan hari RABU”;
break;
case 4 : cout<<”Angka Hari 4 merupakan hari KAMIS”;
break;
case 5 : cout<<”Angka Hari 5 merupakan hari JUMAT”;
break;
case 6 : cout<<”Angka Hari 6 merupakan hari SABTU”;
break;
case 7 : cout<<”Angka Hari 7 merupakan hari MINGGU”;
break;
default : cout<<”Angka Hari yang anda Input SALAH”;
break;
}
}
# include <iostream>
using namespace std;
main()
{
//Deklarasikan Variabel
char pil;
cout<<"Pilih Kode Pahe berdasarkan pilihan berikut :"<<endl;
cout<<"A : Ayam + Nasi + Salad + Coca-Cola "<<endl;
cout<<"B : Ayam + Nasi + Coca-Cola "<<endl;
cout<<"C : Ayam + Nasi + Frestea "<<endl;
cout<<"Input Pilihan Paket [A/B/C] :";
cin>>pil;
switch (pil)
{
case 'A' : cout<<"Anda Memilih Paket A : Ayam + Nasi + Salad + Coca-Cola"<<endl;
cout<<"Harga Paket A adalah : Rp. 25.000,-";
break;
case 'B' : cout<<"Anda Memilih Paket A : Ayam + Nasi + Coca-Cola"<<endl;
cout<<"Harga Paket A adalah : Rp. 20.000,-";
break;
case 'C' : cout<<"Anda Memilih Paket C : Ayam + Nasi + Frestea"<<endl;
cout<<"Harga Paket A adalah : Rp. 18.000,-";
break;
default : cout<<"PILIHAN SALAH";
break;
}
}
A : NILAI ≥ 85
B : 84 ≤ Nilai ≤ 70
C : 69 ≤ Nilai ≤ 55
D : 54 ≤ Nilai ≤ 45
E : NILAI < 45
2. Buatlah sebuah program untuk menentukan total bayar berdasarkan ketentuan berikut
ini :
a. Terdapat beberapa kategori barang yang dijual dan memperoleh discount, yaitu :
Baju, jika :
Baju lengan pendek - harga Rp. 80.000,-
Baju lengan panjang - harga Rp. 100.000,-
Jika jumlah pembelian ≥ 5 maka diberikan discount 20 %
Celana, jika :
Celana pendek - harga Rp. 75.000,-
Celana panjang - harga Rp. 150.000,-
Jika jumlah pembelian ≥ 5 maka diberikan discount 15 %
b. Tiap total belanja akan dikenakan pajak sebesar 10%
for ( <ekspresi1>;<ekspresi2>;<ekspresi3> )
{
Statement ;
}
Dimana :
ekspresi 1 : inisialisasi (nilai awal looping )
ekspresi2 : kondisi keluar dari perintah looping
ekspresi3 : sebagai pengatur kenaikan variable loop
# include <iostream>
using namespace std;
int main () Contoh pengulangan yang sifatnya menaik
{ dapat dilihat dari nilai awal yang
int i; didefinisikan lebih kecil dari nilai akhir yang
for ( i=1; i<=10 ; i++ ) dituliskan dalam suatu ekspresi/kondisi.
{
cout<< i <<endl;
}
return 0;
}
# include <iostream>
using namespace std;
int main () Contoh pengulangan yang sifatnya menurun
{
dapat dilihat dari nilai awal yang
int i;
for ( i=10; i>=1 ; i-- ) didefinisikan lebih besar dari nilai akhir yang
{ dituliskan dalam suatu ekspresi/kondisi.
cout<< i <<endl;
}
return 0;
}
# include <iostream>
using namespace std;
int main ()
{
char i;
for ( i=’A’; i<=’Z’ ; i++ )
{
cout<< i <<endl;
}
return 0;
}
for ( <ekspresi1_ke1>;<ekspresi2_ke1>;<ekspresi3_ke_1> )
{
for ( <ekspresi1_ke2>;<ekspresi2_ke2>;<ekspresi3_ke_2> )
{
for ( <ekspresi1_ke3>;<ekspresi2_ke3>;<ekspresi3_ke_2> )
{
Statement;
}
}
}
Dimana :
ekspresi 1 : inisialisasi (nilai awal looping )
ekspresi2 : kondisi keluar dari perintah looping
ekspresi3 : sebagai pengatur kenaikan variable loop
Jika dilihat dari bentuk diatas maka dapat diambil kesimpulan bahwa setiap pengulangan
pertama, program akan menyelesaikan pengulangan kedua. Begitu pula pada pengulangan
kedua, program akan menyelesaikan pengulangan ketiga dan pola yang sama untuk
pengulangan berikutnya. Berikut contoh penggunaan FOR BERSARANG :
# include <iostream>
using namespace std;
int main () HASIL PROGRAM :
{ 1
int i,j; 1 2
for ( i=1; i<=10 ; i++ ) 1 2 3
{ 1 2 3 4
for ( j=1; j<=i ; j++ ) 1 2 3 4 5
{ 1 2 3 4 5 6
cout<< j<< “ “; 1 2 3 4 5 6 7
} 1 2 3 4 5 6 7 8
cout<<endl; 1 2 3 4 5 6 7 8 9
} 1 2 3 4 5 6 7 8 9 10
return 0;
}
1.4 DO … WHILE
Penggunaan DO…WHILE dilakukan dengan cara melakukan pengecekan diakhir kondisi,
sehingga struktur pengulangan minimal akan melakukan satu kali proses walaupun kondisi
bernilai salah/tidak terpenuhi. Berikut Format penggunaan DO…WHILE :
# include <iostream>
using namespace std;
int main () HASIL PROGRAM :
{ 1
int i; 2
i=1; // inisialisasi nilai awal 3
do 4
{ 5
cout<< i <<endl; 6
i= i+1; 7
} while (i<=10); 8
9
return 0; 10
}
# include <iostream>
using namespace std;
int main () HASIL PROGRAM :
{ 10
int i; 9
i=10; // inisialisasi nilai awal 8
do 7
{ 6
cout<< i <<endl; 5
i= i-1; 4
} while (i>=1); 3
2
return 0; 1
}
# include <iostream>
using namespace std;
int main ()
{
char i;
i='A'; // inisialisasi nilai awal
do
{
cout<< i <<endl;
i=i+1;
} while (i<='Z');
return 0;
}
1.5 WHILE
Struktur pengulangan jenis WHILE akan mengulang instruksi selama kondisi bernilai
benar/terpenuhi dan akan berhenti ketika kondisi bernilai salah. WHILE akan melakukan
pengecekan kondisi diawal, apabila kondisi bernilai salah maka statement yang terdapat
dalam blok pengulangan tidak akan di jalankan.
while (kondisi)
{
Statement_yang_akan_diulang;
}
# include <iostream>
using namespace std;
int main () HASIL PROGRAM :
{ 1
int i; 2
i=1; // inisialisasi nilai awal 3
while (i<=10) 4
{ 5
cout<< i <<endl; 6
i= i+1; 7
} 8
9
return 0; 10
}
# include <iostream>
using namespace std;
int main () HASIL PROGRAM :
{ 10
int i; 9
i=10; // inisialisasi nilai awal 8
while (i>=1) 7
{ 6
cout<< i <<endl; 5
i= i-1; 4
} 3
2
return 0; 1
}
# include <iostream>
using namespace std;
int main ()
{
char i;
i='A'; // inisialisasi nilai awal
while (i<='Z')
{
cout<< i <<endl;
i=i+1;
}
return 0;
}
ATURAN
Silahkan buat menggunakan FOR, DO…WHILE ataupun WHILE soal diatas (tiap soal
{
Statement;
……. ;
……. ;
}
void VBalok ()
{
Int p,l,t,vol ;
cout<<"Panjang = ";cin>>p; Fungsi tanpa nilai balik
cout<<"Lebar = ";cin>>l;
cout<<"Tinggi = ";cin>>t;
vol = p * l * t ;
cout<<"Volume Balok : "<<vol;
}
main()
{
VBalok ();
}
main()
{
int pnj,lb,tg;
VBalok (pnj,lb,tg);
}
main()
{
int hasil;
VBalok (hasil);
}
#include <iostream>
using namespace std;
main()
{
int pj,lb,tg, hsl;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
cout<<"Tinggi = ";cin>>tg;
volume(hsl,pj,lb,tg);
cout<<"\nVolume = "<<hsl;
}
{
Pernyataan_yang_akan_dilakukan;
……………
return nilai_kembali;
}
#include<iostream>
//Program Utama
int main()
{
int x;
cout<<"Masukkan Angka = ";cin>>x;
cout<<"Hasil : " ;
kuadrat(x);
}
Kurniadi, Indrawoko. Logika & Algoritma Dasar Menggunakan C++. Mitra Wacana Media. Jakarta