DASAR-DASAR PEMOGRAMAN (C++ ) DAN FUNGSI PERULANGAN
Pengenalan C++
Bahasa pemrograman C++ bisa disebut sebagai bahasa pemrograman
tingkat menengah ( middle level programming language) yang berarti juga
termasuk dalam bahasa tingkat tinggi (high level programming language).
Struktur C++
# include
main()
{
Instruksi-instruksi
}
Keterangan :
a. # include sebagai proses compiler dari c++ menjalankan program yang
dinamakan preprosesor yang memiliki kemampuan 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()
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. {
Menandakan awal program.
d. Instruksi
Berisi perintah-perintah yang akan dilakukan program.
e. }
Menandakan akhir program.
Pendeklarasian tipe data variable.
Tipe data Fungsi atau kegunaan Jangkauan Contoh
Int Dapat menampung nilai positif atau nilai negative. -32768 sampai 32767 125
Float Dapat menampung semua nilai bilangan real, mewakili semua
bilangan,dan bilangan dengan pecahan decimal. -1038 sampai +1038 56.12
Char Mewakili suatu karakter tunggal, sebuah huruf, 1 digit, atau tanda baca. 1 byte ‘A’
Deklarasi & Variabel
Bentuk penulisan
Tipe_data nama_variabel;
Contoh Deklarasi Variabel
char nama_mahasiswa;
char grade;
float rata_rata ;
int nilai;
Perintah Keluaran
Perintah standar output yang disediakan oleh Borland C++, diantaranya adalah :
• printf()
• puts()
• putchar()
• cout()
printf()
Fungsi printf() merupakan fungsi keluaran yang paling umum digunakan untuk menampilkan informasi kelayar.
contoh1:
#include
#include
#include
main()
{
int a=7;
char b=’G';
clrscr();
printf(“%c Merupakan Abjad Yang Ke – %d”, b, a);
getch();
}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 :
Contoh2:
#include
#include
#include
main()
{
char a[4]=”BSI”;
clrscr();
puts(“Saya Kuliah di. “); {put berfungsi untuk mencetak sekaligus mencipakan baris baru}
puts(a);
getch();
}
putchar()
Perintah putchar() digunakan untuk menampilkan sebuah karakter ke layar.
Penampilan karakter tidak diakhiri dengan pindah baris.
Contoh3:
#include
#include
main()
{
clrscr();
putchar(‘B’);
putchar(‘S’);
putchar(‘I’);
getch();
}
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 .
Contoh4:
#include
#include
#include
main()
{
float a, b, c;
a=7.5; b=8.4; c=0;
clrscr();
cout<<"Masukan Nilai A : "<<a;
cout<<"Masukan Nilai B : "<<b<<endl;
c = a + b;
cout<<"Masukan Nilai C : "<<c;
getch();
}
Perintah Masukan
Perintah standar input yang disediakan oleh Borland C++, diantaranya adalah :
• scanf()
• gets()
• cin()
• getch()
• getche()
scanf()
Fungsi scanf() digunakan untuk memasukkan berbagai jenis data.
Bentuk Umum dari fungsi ini adalah :
scanf("penentu format", &nama-variabel); format sama dengan format printf()
contoh5:
# include
# include
main()
{
int a, b, c = 0 ;
clrscr();
printf(“Masukan Nilai A = “); scanf(“%d”,&a);
printf(“Masukan Nilai B = “); scanf(“%d”,&b);
c = a + b;
printf(“Hasil Penjumlahan = %d”,c);
getch();
}
gets()
Fungsi gets() digunakan untuk memasukkan data string.
Bentuk Umum dari fungsi ini adalah :
gets(nama-variabel-array);
Perbedaan scanf dan gets
Contoh6:
# include
# include
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();
}
cin() Fungsi cin() merupakan sebuah objeck didalam C++ digunakan
untuk memasukkan suatu data. Untuk menggunakan fungsi cin() ini, harus
menyertakan file header iostream.h .
contoh7:
# include
# include
# include
main()
{
float a, b, c;
clrscr();
cout<>a;
cout<>b;
c = a + b;
cout<<"Nilai C : "<<c<<endl;
getch();
}
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.
Contoh8:
# include
# include
main()
{
char kar;
clrscr();
printf(“Masukan Sebuah Karakter Bebas = “);
kar = getch();
printf(“\nTadi Anda Memasukan karakter %c”, kar);
getch();
}
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. File header
yang harus disertakan adalah conio.h.
Contoh9:
# include
# include
main()
{
char kar;
clrscr();
printf(“Masukan Sebuah Karakter Bebas = “);
kar = getche();
printf(“\nTadi Anda Memasukan karakter %c”, kar);
getch ();
}
Catatan : Getch() dan getche() penulisan sama
Operator Aritmatik
Operator Keterangan
+ pertambahan
* perkalian
% Sisa pembagian
– Pengurangan
/ Pembagian
Contoh1:
#include
#include
#include
main()
{
int a, b, c = 0, d = 0;
clrscr();
cout<>a;
cout<>b;
c = a % b;
d = a * b;
cout<<" Hasil dari C = A % B = "<<c<<endl;
cout<<" Hasil dari D = A * B = "<<d<<endl;
getch();
}
Operator 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
• 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.
Contoh2:
/* Penggunaan Notasi Didepan Variabel*/
#include
#include
main()
{
int a = 10, b = 5;
clrscr();
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();
}
Contoh3:
/* Penggunaan Notasi Dibelakang Variabel*/
#include
#include
main()
{
int a = 10, b = 5;
clrscr();
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();
}
Operator Relasi
Operator Keterangan
== Sama dengan (bukan pemberi nilai
!= Tidak sama dengan
> Lebih dari
= Lebih dari sama dengan
<= Kurang dari sama dengan
Contoh4:
#include
#include
#include
main()
{
float a, b, c, d, e, f, x, y;
clrscr();
cout<>x;
cout<>y;
a = x == y;
b = x != y;
c = x > y;
d = 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();
}
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
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 A + 5
Ekspresi Relasi-3 C – 3 >= 4
Contoh5:
/* Penggunaan Operasi Logika AND */
#include
#include
#include
main()
{
float a, b, c, d, e, f, g, h;
clrscr();
cout<>a;
cout<>b;
cout<>c;
// Proses
d = a + 4 a + 5;
f = c – 3 >= 4;
g = d && e && f;
cout<<endl<<endl;
cout<<"Program Ekspresi AND"<<endl<<endl;
cout<<"Hasil dari d = a + 4 < 10 adalah " <<d<<endl;
cout< a + 5 adalah ” <<e<<endl;
cout<= 4 adalah ” <<f;
cout<<endl<<endl;
cout<<"Hasil dari g = d && e && f adalah " <<g;
cout<<endl;
getch();
}
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 A + 5
Ekspresi Relasi-3 C – 3 > 4
Contoh6:
/* Penggunaan Operasi Logika OR */
#include
#include
#include
main()
{
float a, b, c, d, e, f, g, h;
clrscr();
cout<>a;
cout<>b;
cout<>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< 10 adalah ” <<d<<endl;
cout< 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();
}
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:
Ekspresi Relasi A + 4 < 10
Contoh7:
/* Penggunaan Operasi Logika NOT */
#include
#include
#include
main()
{
int a, b, c;
clrscr();
cout<>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();
}
Operasi Penyeleksian Kondisi
Pernyataan Percabangan digunakan untuk memecahkan persoalan untuk mengambil suatu keputusan diantara sekian pernyataan yang ada.
Pernyataan IF
if (kondisi)
{
Pernyataan;
……
}
Contoh1:
#include
#include
#include
main()
{
double tot_beli, potongan=0, jum_bayar=0;
clrscr();
cout<>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();
}
Pernyataan If Else
if (kondisi-1)
{
perintah-1;
….
}
else
{
perintah-2;
….
}
Contoh2:
#include
#include
#include
main()
{
double tot_beli, potongan=0, jum_bayar=0;
clrscr();
cout<>tot_beli;
if (tot_beli >= 50000)
potongan = 0.2 * tot_beli;
else
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();
}
Pernyataan Nested If
if(syarat)
if(syarat)
… perintah;
else
… perintah;
else
if(syarat)
… perintah;
else
… perintah;
Contoh3:
#include
#include
#include
main()
{
char kd;
char ukr,merk[20];
long int hrg,byr,ppn,ttl,u_byr,u_kembali,byk;
clrscr();
cout<<"***Toko Kelontong Keroncongan***"<<endl;
cout<<"============================================="<<endl;
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<>kd;
cout<>ukr;
cout<>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;
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<>u_byr;
u_kembali=u_byr-ttl;
cout<<"Uang Kembali :"<<u_kembali<<endl;
cout<<"Terima Kasih Anda Telah Ke Counter Kami"<<endl;
getch();
}
Pernyataan If – Else Majemuk
if (syarat)
{
… perintah;
… perintah;
}
else if (syarat)
{
… perintah;
… perintah;
}
else
{
… perintah;
… perintah;
}
Contoh4:
#include
#include
#include
main()
{
char nm_pes[20],nm[20],kode,tujuan[30];
int jml;
long int harga,ttl;
clrscr();
cout<<"PT TRAVELLING INDONESIA"<<endl;
cout<>nm;
cout<>kode;
cout<>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;
cout<<"Harga Tiket :"<<harga<<endl;
cout<<"Total Bayar :"<<ttl<= 85, maka mendapat hadiah Seperangkat Komputer P4
– Jika Nilai Rata-Rata >= 70, maka mendapat hadiah Uang sebesar Rp. 500,000
– Jika Nilai Rata-Rata < 70, maka mendapat hadiah Hiburan
• Tampilan yang diinginkan sebagai berikut :
Layar Masukkan
PROGRAM HITUNG NILAI RATA-RATA
Nama Siswa : …
Nilai Pertandingan I : …
Nilai Pertandingan II : …
Nilai Pertandingan III : …
Layar Keluaran
Siswa yang bernama …
Memperoleh nilai rata-rata
dari hasil perlombaan yang diikutinya.
Hadiah yang didapat adalah ..
Pernyataan switch – case
switch (ekspresi integer atau karakter )
{
case konstanta-1 :
… perintah;
… perintah;
break;
case konstanta-2 :
… perintah;
… perintah;
break;
default :
… perintah;
… perintah;
}
Setiap cabang akan dijalankan jika syarat nilai konstanta tersebut
dipenuhi dan default akan dijalankan jika semua cabang diatasnya tidak
terpenuhi. Pernyataan break menunjukan bahwa perintah siap keluar dari
switch. Jika pernyataan ini tidak ada, maka program akan diteruskan
kecabang – cabang yang lainnya.
Contoh1:
#include
#include
#include
main()
{
char kode;
clrscr();
cout<>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();
}
Contoh2:
#include
#include
#include
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<>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;
default:
cout<<"Anda Salah Memasukan Kode";
break;
}
cout<<"Nama Buku Yang Anda Beli :"<<nama<<endl;
cout<<"Harga Buku Yang Anda Beli :"<<hrg<<endl;
cout<>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<= 80 mendapat Grade A
• Nilai Akhir >= 70 mendapat Grade B
• Nilai Akhir >= 59 mendapat Grade C
• Nilai Akhir >= 50 mendapat Grade D
• Nilai Akhir < 50 mendapat Grade E
• Tampilan yang diinginkan sebagai berikut :
Layar Masukkan
PROGRAM HITUNG NILAI AKHIR
Nama Siswa : ……
Nilai Keaktifan : ……
Nilai Tugas : ……
Nilai Ujian : ……
Layar Keluaran
Siswa yang bernama
Dengan Nilai Persentasi Yang dihasilkan.
Nilai Keaktifan * 20% : …
Nilai Tugas * 30% : …
Nilai Ujian * 50% : …
Jadi Siswa yang bernama
memperoleh nilai akhir sebesar …
Grade nilai yang didapat adalah …
Latihan IF dan Switch case:
PT. DINGIN DAMAI, memberikan Honor tetap kepada karyawan kontraknya
sebesar Rp. 300,000,- per bulan, dengan memperoleh
tujangan-tunjangan sebagai berikut :
• Tunjangan Jabatan
Golongan Persentase
1 5%
2 10%
3 15%
Sebagai contoh : Jika seorang keryawan tersebut dengan golongan 3, maka mendapatkan tunjangan sebesasr 15% * Rp. 300,000,-
• Tunjangan Pendidikan
Kode Pendidikan Persentase
1 SMU 2,5%
2 D3 5%
3 S1 7,5%
• Honor Lembur
Jumlah jam kerja normal sebanyak 8 Jam Kerja. Honor lembur diberikan
jika jumlah jam kerja sebih dari 8 jam, maka kelebihkan jam kerja
tersebut dikalikan dengan honor lembur perjam sebesar Rp. 2,500 untuk
setiap kelebihan jam kerja perharinya.
• Tampilan yang diinginkan sebagai berikut :
Layar Masukkan
Program Hitung Honor Karyawan Kontrak
PT. DINGIN DAMAI
Nama Karyawan : …
Golongan : …
Pendidikan (SMU/D3/S1) : …
Jumlah Jam Kerja : …
Layar Keluaran
Karyawan yang bernama : …
Honor yang diterima
Honor Tetap Rp. ….
Tunjangan jabatan Rp. ….
Tunjangan Pendidikan Rp. ….
Honor Lembur Rp. ….
———————————————— +
Honor Yang Diterima Rp. ….
Proses Perulangan
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;
}
Keterangan:
* inisialisasi : nilai awal pada variabel
* syarat pengulangan : hal yang menentukan apakah suatu perulangan diteruskan atau dihentikan.
* pengubah nilai pencacah : pengatur nilai kenaikan atau penurunan nilai pencacah.
Contoh1:
/* ————————— */
/* Program for – bilangan naik */
/* ————————— */
#include
#include
#include
main()
{
int a;
clrscr();
for(a = 1; a <= 10; ++a)
cout<<a;
getch();
}
Contoh2:
/* ——————————*/
/* Program Menampilkan Warna – 1 */
/* ——————————*/
#include
#include
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();
}
Keterangan:
cprintf() = Menampilkan data dengan format pewarnaan teks dan pewarnaan latar belakang.
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;
}
}
Contoh3:
/* ————————- */
/* Program for – Nested for */
/* ————————- */
#include
#include
#include
main()
{
int a, b;
clrscr();
for(a = 1; a <= 5; a++)
{
printf("\n");
for(b = a; b <= 5; b++)
cout<<a<<" ";
}
getch();
}
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;
contoh4:
/* —————————— */
/* Program dengan pernyataan goto */
/* —————————— */
#include
#include
#include
main()
{
int a, b;
char lagi;
atas:
clrscr();
cout<>a;
b = a % 2;
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();
}
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 ;
Contoh5:
/* Program while01.cpp */
/* ——————- */
#include
#include
#include
main()
{
int bil=1;
clrscr();
while(bil<=10)
{
cout<<bil<<" ";
++bil;
}
getch();
}
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 );
contoh6:
/* Program do – while */
/* —————— */
#include
#include
#include
main()
{
int bil=2;
clrscr();
do
{
cout<<bil<<" "; bil+=2;
}
while(bil<=10);
getch();
}
Latihan:
1. Buatlah program untuk menghitung 10 deret bilangan genap dengan hasilnya :
2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + 20 = 110
2. Buatlah program untuk menghitung 10 deret bilangan ganjil dengan hasilnya :
1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 19 = 100
Operasi String
Fungsi strcat()
Fungsi ini digunakan untuk menambahkan string sumber kebagian akhir dari string tujuan.
File header yang harus disertakan adalah : string.h dan ctype.h
Bentuk Penulisan :
strcat(tujuan, sumber);
contoh1:
#include
#include
#include
#include
#include
main()
{
char a1[20];
char a2[20];
clrscr();
cout<>a1;
cout<>a2;
strcat(a1, a2);
cout<<"Hasil Penggabungannya "<<a1;
getch();
}
Fungsi strlen()
Fungsi ini digunakan untuk memperoleh banyaknya karakter dalam string. File header yang harus disertakan adalah : string.h
Bentuk Penulisan :
strlen(str);
Contoh2:
#include
#include
#include
#include
main()
{
char huruf[20];
char pindah[20];
clrscr();
cout<<"Masukkan Sembarang Kata = ";
gets(huruf);
cout<<"Panjang Kata Yang Diinputkan = ";
cout<<strlen(huruf);
getch();
}
Fungsi strrev()
Penjelasan Fungsi ini digunakan untuk membalik letak urutan pada
string. String urutan paling akhir dipindahkan keurutan paling depan dan
seterusnya. File header yang harus disertakan adalah : string.h
Bentuk Penulisan :
strrev(str);
contoh3:
#include
#include
#include
#include
main()
{
char kata[20];
clrscr();
cout<<"Masukan Sembarang Kata = ";
gets(kata);
strrev(kata);
cout<<"Hasil Perubahan = "<<kata;
getch();
}
Fungsi Strlwr()
Fungsi ini digunakan untuk mengubah setiap huruf kapital (huruf besar ) dalam string menjadi huruf kecil.
File header yang harus disertakan adalah : string.h
Bentuk Penulisan :
strlwr(str);
contoh4:
#include
#include
#include
#include
main()
{
char kata[20];
clrscr();
cout<<"Masukan Sembarang Kata dengan Huruf Besar ="; gets(kata); strlwr(kata);
cout<<"Hasil Perubahan = "<<kata;
getch();
}
Fungsi strupr()
Fungsi ini digunakan untuk mengubah setiap huruf kecil dalam string menjadi huruf kapital ( huruf besar ).
File header yang harus disertakan adalah : string.h
Bentuk Penulisan :
strupr(str);
contoh5:
#include
#include
#include
#include
main()
{
char kata[20];
clrscr();
cout<<"Masukan Sembarang Kata dengan Huruf Kecil=";
gets(kata);
strupr(kata);
cout<<"Hasil Perubahan = "<<kata;
getch();
}
Latihan 1:
#include
#include
#include
#include
garis()
{cout<<"____________________________________________________"<<endl;}
float harga(float a);
main()
{
int i;
char lagi;
struct
{
char nama[5][20];
char najur[5][10];
int jubel[5],kode[5],tot[5];
}travel[5];
atas:
clrscr();
cout<<"\tTRAVEL SILIWANGI"<<endl;
garis();
for (i=1;i<3;i++)
{
cout<<"Data Ke- "<<i;
cout<<"\nMasukan Nama : ";gets(travel[i].nama[i]);
cout<>travel[i].kode[i];
cout<>travel[i].jubel[i];
}
for (i=1;i<3;i++)
{
if (travel[i].kode[i]==1)
strcpy (travel[i].najur[i],"JKT – SBY");
else if (travel[i].kode[i]==2)
strcpy(travel[i].najur[i],"SBY – BALI");
else
strcpy (travel[i].najur[i],"SBY – JKT");
}
for (i=1;i<3;i++)
{
travel[i].tot[i]=travel[i].jubel[i]*harga(travel[i].kode[i]);
}
garis();
cout<<"\tTRAVEL SILIWANGI"<<endl;
cout<<"No. Nama Jurusan Harga jumlah Total"<<endl;
garis();
for (i=1;i<3;i++)
{
cout<<setiosflags(ios::left)<<setw(4)<<i;
cout<<setiosflags(ios::left)<<setw(10)<<travel[i].nama[i];
cout<<setiosflags(ios::left)<<setw(15)<<travel[i].najur[i];
cout<<setiosflags(ios::left)<<setw(8)<<harga(travel[i].kode[i]);
cout<<setiosflags(ios::left)<<setw(5)<<travel[i].jubel[i];
cout<<setiosflags(ios::left)<<setw(10)<<travel[i].tot[i];
cout<<endl;
}
garis();
cout<<"\n\n\n\n"<<"apakah anda ingin input lagi?";
lagi=getche();
if (lagi=='y'||lagi=='Y')
goto atas;
getch();
}
float harga(float a)
{
if (a==1)
{
return 400000;
}
else if (a==2)
{
return 250000;
}
else
{
return 150000;
}
}
Hasil Tampilan:
Latihan2:
/* Program Gaji Karyawan Honerer */
/* Jawaban Kuis Pra UAS C++ A1 */
/* ================================= */
#include
#include
#include
#include
long Lembur(int LJam);
main()
{
struct
{
char NIK[10];
char Nama[25];
int JmlJam;
long Total;
}Karyawan[5];
int i,N;
clrscr();
cout<>N;
for(i=1;i<=N;i++)
{
clrscr();
cout<<"==============================="<<endl;
cout<<" PROGRAM GAJI KARYAWAN "<<endl;
cout<<" HONORER "<<endl;
cout<<"==============================="<<endl;
cout<<" Data Ke – : "<<i<<endl;
cout<>Karyawan[i].NIK;
cout<<" Nama Karyawan : ";gets(Karyawan[i].Nama);
cout<>Karyawan[i].JmlJam;
}
clrscr();
cout<<"==============================================="<<endl;
cout<<" RINCIAN GAJI KARYAWAN HONORER "<<endl;
cout<<"==============================================="<<endl;
cout<<" No NIK Nama Jumlah Jam Upah Lembur Total Gaji "<<endl;
cout<<"==============================================="<<endl;
for(i=1;i<=N;i++)
{
cout<<setiosflags(ios::right)<<setw(3)<<i<<" ";
cout<<setiosflags(ios::left)<<setw(10)<<Karyawan[i].NIK;
cout<<setiosflags(ios::left)<<setw(10)<<Karyawan[i].Nama;
cout<<setiosflags(ios::right)<<setw(3)<<Karyawan[i].JmlJam<<" ";
cout<<setiosflags(ios::right)<<setw(10)< 48)
Karyawan[i].Total = (((Karyawan[i].JmlJam – (Karyawan[i].JmlJam – 48)) * 2000) + (Lembur(Karyawan[i].JmlJam)));
else
Karyawan[i].Total = ((Karyawan[i].JmlJam * 2000) + Lembur(Karyawan[i].JmlJam));
cout<<setiosflags(ios::right)<<setw(10)<<Karyawan[i].Total<<endl;
}
cout<<"==============================================="< 48)
{
return(LJam – 48) * 3000;
}
else
{
return 0;
}
}
Hasil Tampilan:
Masukan Keluaran
Latihan3:
#include
#include
#include
#include
#include
main()
{
long int total;
int i,j;
char napeg[20],hari[12];
struct
{
float jumbar[5],kobar[5];
long int tot[5],harga[5];
char nabar[5][20];
}terima[5];
clrscr();
cout<>j;
cout<>napeg;
cout<>hari;
cout<<"_______________________________________________________________"<<endl;
cout<<"Rincian Data Barang "<<endl;
for(i=1;i<=j;i++)
{
cout<<"Data Barang Ke = "<<i<<endl;
cout<>terima[i].kobar[i];
cout<>terima[i].nabar[i];
cout<>terima[i].jumbar[i];
cout<>terima[i].harga[i];
cout<<endl;
}
clrscr();
cout<<"\t\t\t Laporan Data Barang "<<endl;
cout<<"\t\t\t PT.Makmur Sejahtera "<<endl<<endl<<endl;
cout<<"Hari = "<<hari<<"\t\t\t\t\t"<<"Nama Pencatat = "<<napeg<<endl;
cout<<"_______________________________________________________________"<<endl;
cout<<" No Kode Nama Barang Jumlah Harga Total "<<endl;
cout<<" Barang "<<endl;
cout<<"_______________________________________________________________"<<endl;
total = 0;
for(i=1;i<=j;i++)
{
terima[i].tot[i]=terima[i].jumbar[i]*terima[i].harga[i];
cout<<setiosflags(ios::left)<<setw(2)<<ends;
cout<<setiosflags(ios::left)<<setw(10)<<i;
cout<<setiosflags(ios::left)<<setw(10)<<terima[i].kobar[i];
cout<<setiosflags(ios::left)<<setw(15)<<terima[i].nabar[i];
cout<<setiosflags(ios::left)<<setw(13)<<terima[i].jumbar[i];
cout<<setiosflags(ios::left)<<setw(10)<<terima[i].harga[i];
cout<<setiosflags(ios::left)<<terima[i].tot[i];
total = total + terima[i].tot[i];
cout<<endl;
}
cout<<"_______________________________________________________________"<<endl;
cout<<"total bayar"<<setiosflags(ios::left)<<setw(50)<<ends<< total;
getch();
}
Latihan_IF:
#include
#include
#include
main()
{
char kd,judul[20],np[20],bonus[20],jwb;
int jumbel;
float harsat,j_pemby,dis,harber,tunj;
awal:
textbackground(0);
clrscr();
cout<<" \n Toko Kaset Utama \n"<<endl;
cout<>np;
cout<>kd;
cout<>jumbel;
cout<<"\n##################################"<<endl<=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;
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();
}
Array / Larik
Variabel Larik atau lebih dikenal dengan ARRAY adalah adalah Tipe
terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai
tipe yang sama. Suatu Array mempunyai jumlah komponen yang banyaknya
tetap. Banyaknya komponen dalam suatu larik ditunjukan oleh suatu indek
untuk membedakan variabel yang satu dengan variabel yang lainnya.
Array Berdimensi Satu
Bentuk Umum pendeklarasian array :
Tipe-Data Nama_Variabel[Ukuran]
Keterangan :
• Type Data : Untuk menyatakan type data yang digunakan.
• Ukuran : Untuk menyatakan jumlah maksimum elemen array.
Float Nil_Akhir[6];
Contoh1:
#include
#include
#include
#include
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<>nilai1[i];
cout<>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];
cout<<setprecision(2)<<" "<<nilai1[i];
cout<<setprecision(2)<<" "<<nilai2[i];
cout<<setprecision(2)<<" "<<hasil[i]<<endl;
}
cout<<"———————————————–"<<endl;
getch();
}
Array Berdimensi Dua
Bentuk Umum pendeklarasian array :
Tipe-Data Nama_Variabel[index-1][index-2]
Keterangan :
• Type Data : Untuk menyatakan type data yang digunakan.
• Index-1 : Untuk menyatakan jumlah baris
• Index-2 : Untuk menyatakan jumlah kolom
Contoh2:
#include
#include
#include
#include
main()
{
int i, j;
int data_jual[4][4];
clrscr();
for(i=1;i<=3;i++)
{
for(j=1;j<=3;j++)
{
cout<<"Data Ke – "<<i<<" "<<j<<endl;
cout<>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();
}
Latihan_array1:
Sebuah perusahaan ayam goreng dengan nama “GEROBAK FRIED CHICKEN” yang
telah lumayan banyak pelanggannya, ingin dibantu dibuatkan program untuk
membantu kelancaran usahaannya.
“GEROBAK FRIED CHICKEN” mempunyai daftar harga ayam sebagai berikut :
Kode Jenis Harga
——————
D Dada Rp. 2500
P Paha Rp. 2000
S Sayap Rp. 1500
——————
Buatlah programnya dengan ketentuan :
• Setiap pembeli dikenakan pajak sebesar 10% dari pembayaran.
• Banyak Jenis, Jenis Potong dan Banyak Beli diinput.
• Tampilan yang diinginkan sebagai berikut :
Layar Masukkan
GEROBAK FRIED CHICKEN
———————
Kode Jenis Harga
———————
D Dada Rp. 2500
P Paha Rp. 2000
S Sayap Rp. 1500
———————
Banyak Jenis : …
Jenis Ke – …
Jenis Potong [D/P/S] : …
Banyak Potong : …
… <>
Layar Keluaran
GEROBAK FIRED CHICHEN
———————————————–
No. Jenis Harga Bayak Jumlah
Potong Satuan Beli Harga
———————————————–
… …. …. …. Rp ….
… …. …. …. Rp ….
———————————————–
Jumlah Bayar Rp ….
Pajak 10% Rp ….
Total Bayar Rp ….
Fungsi perulangan pada C++
Do While , salah satu fungsi perulangan yang ada. Dalam bahasa kali ini,
kita akan berlajar fungsi perulangan yang ada di C++. Fungsi perulangan
tersebut adalah, While, Do While, dan for. Kita bahas satu-satu yah
biar nggak bingung nanti nya ;)
Oh, yah, tentang fungsi Class yang baru saja dijelaskan kemarin apa
sudah paham? Semoga paham , kan menjelaskannya dengan gamblang, hehe,
okay mari kita mulai pembahasan kita hari ini, dimulai dari :
1. While
Ini lebih sederhana, dimana fungsi
While diletakkan di depan, atau diatas. Coba kita lihat sebuah program sesungguhnya :
#include <conio.h>
#include <iostream.h>
main()
{
int i=1;
while (i<=5)
{
cout<<"\n Hello World ..";
i++;
}
getch();
}
Penjelasan :
1.
int i=1 --> nilai awal kalimat adalah 1.
2.
while (i<=5) --> akan terjadi perulangan sebanyak 5x.
3.
i++ --> dimana setiap perulangan akan bertambah 1. (melewati
i)
2. Do While
Untuk fungsi Do While sendiri, dimana kalimat Do diletakkan di awal program, sedangkan While diletakkan di akhir program. Coba kita lihat program sesungguhnya :
#include<stdio.h>
#include<Conio.h>
#include<iostream.h>
//----------------------------
// main program
//----------------------------
void main()
{
int a,b,c,x;
printf("Inputkan berapa kali inputan: ");
cin>>b;
c=0;
x=0;
a=1;
do{
cout<<"Inputkan nilai: ";
cin>>c;
x+=c;
a++;
}
while(a<=b);
cout<<"Jumlahnya keseluruhan adalah "<<x;
}
Penjelasan :
1.
#include<stdio.h> enter
#include <iostream.h>
- menyertakan sebuah file lain yaitu file conio.h dan iostream.h
- berisi informasi ttg Input & Output , bagian dari paket C Compiler
- # merupakan instruksi PREPROCESSOR, diproses oleh C-PREPROCESSOR
2.
main()
- Harus ada di dalam program, karena tanpa fungsi ini, maka program tidak akan bisa berjalan.
3.
{ kode program
}
- Awal dari badan fungsi di tandai dengan { dan harus di tutup dengan }
4.
int a,b,c,x;
- Data integer, yang artinya merepresentasikan data dari a,b,c,x
5.
printf("Inputkan berapa kali inputan: ");
- printf sama halnya dengan cout, berfungsi untuk menampilkan teks di dalam kurung ke layar output
6.
cin>>b;
- memasukkan suatu data dapat berupa teks ataupun angka. Untuk menggunakan fungsi cin ini, harus menyertakan file header iostream.h .
7.
while(a<=b);
- Berfungsi untuk mengulang berapa kali banyak data integer yang di inputkan.
Kode diatas, merupakan kode fungsi Do-While berupa angka, sekarang coba
latihan menggunakan variabel berupa huruf, ketik di Borland C++ kode di
bawah ini, dan simpan dengan ekstensi
.cpp
# include <stdio.h>
# include <conio.h>
# include <iostream.h>
main( )
{
char nama1[10],nama2[10];
clrscr( );
cout<<"Masukan Nama 1 : ";
cin>>nama1;
cout<<"Masukan Nama 2 : ";
cin>>nama2;
cout<<"Nama 1 Dan Nama 2 : "<<nama1<<"\t"<<nama2;
getch( );
}