Minggu, 18 Januari 2015
Dasar-Dasar Pemrograman C++
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
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.
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.
/* pembuatan fungsi garis() */
#include
#include
#include
garis()
{
printf(“\n———————-\n”);
}
/* program utama */
main()
{
clrscr();
garis(); //memanggil fungsi garis
cout<<"AMIK BSI – Salemba 22"<<endl;;
garis(); //memanggil fungsi garis
getche();
}
Prototipe Fungsi
Prototipe fungsi digunakan untuk mendeklarasikan ke kompiler mengenai: • Tipe data keluaran dari fungsi.
• Jumlah parameter yang digunakan
• 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.
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
#include
#include
luas(float sisi);
main()
{
float luas_bs;
clrscr();
luas_bs = luas(4.25);
cout<<"\nLuas Bujur Sangkar = "<<luas_bs;
getch();
}
luas(float sisi)
{
return(sisi*sisi);
}
Keterangan :
Dalam struktur program diatas dilihat bahwa, pernyataan luas_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 Pengiriman data variable:
/* ———————— */
/* Pengriman data Variabel */
/* ———————— */
#include
#include
#include
luas(float sisi);
main()
{
float luas_bs, sisi_bs;
clrscr();
cout<<"\nMenghitung Luas Bujur Sangkar"<<endl;
cout<>sisi_bs;
luas_bs = luas(sisi_bs);
cout<<"\nLuas Bujur Sangkar = "<<luas_bs<<" Cm";
getch();
}
luas(float sisi)
{ return(sisi*sisi); }
Latihan function
#include
#include
#include
potong(float harga,float disk);
garis ()
{
printf(“===============================”);
}
main()
{
char nama[20],jwb;
long int harga,total,disk;
ulang:
clrscr();
garis();
cout<<"\n\tToko Mas Jayakarta "<<endl;
cout<>nama;
cout<>harga;
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); }
Macro
Preprocessor 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 :
# 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)
Contoh1:
/* ————————– */
/* Program Penggunaan #define */
/* ————————– */
#include
#include
#include
#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();
}
Contoh2:
/* ————————– */
/* Program Penggunaan #define */
/* ————————– */
#include
#include
#include
#define awal {
#define akhir }
#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<>sisi;
ls_kubus = LS_KUBUS;
cetak<<"Luas Kubus adalah : "<<ls_kubus;
tahan();
akhir
# 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
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
“Pertama kali compiler akan mencari file header yang disebutkan pada directori yang ada file headernya, kecuali pada directori yang sedang aktif.
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-1
/* atur.h */
#define awal {
#define akhir }
#define mulai() main()
#define cetak cout
#define tampil cprintf
#define masuk cin
#define hapus() clrscr()
#define jika if
#define warna textcolor
#define tahan getche()
Buatlah program dibawah ini, kemudian gunakan file header yang sudah anda buat dan simpan dengan nama : sendiri.cpp
/* ———————————- */
/* program dengan file header sendiri */
/* ———————————- */
#include
#include
#include
#include”atur.h”
mulai()
awal
int a, b, c;
hapus();
warna(4);
tampil(“\nPROGRAM PENJUMLAHAN\n”);
cetak<<endl;
cetak<>a;
cetak<>b;
c=a+b;
cetak<<"Hasil dari "<<a<<" + "<<b<<" = "<<c;
tahan;
akhir
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
Contoh1:
/* —————————- */
/* Program Penggunaan structure */
/* Nama File : struct1.cpp */
/* —————————- */
#include
#include
#include
main()
{
struct
{
char nim[5];
char nama[15];
int nilai;
} mahasiswa;
clrscr();
cout<>mahasiswa.nim;
cout<>mahasiswa.nama;
cout<>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();
}
Nested Structure
Contoh2:
/* ———————————– */
/* Program Penggunaan Nested structure */
/* ———————————– */
#include
#include
#include
main()
{
struct dtmhs
{
char nim[9];
char nama[15];
};
struct dtnil
{
float nil1;
float nil2;
};
struct
{
struct dtmhs mhs;
struct dtnil nil;
} nilai;
clrscr();
//-> masukan data
cout<>nilai.mhs.nim;
cout<>nilai.mhs.nama;
cout<>nilai.nil.nil1;
cout<>nilai.nil.nil2;
cout< 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);
}
Structure dengan Array
struct
{
elemen_struktur;
…..
…..
} nama_tipe_struktur[jml_index];
Contoh3:
#include
#include
#include
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<>mhs[i].nim;
cout<>mhs[i].nama;
cout<>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();
}
Structure dengan Function
/* —————————————— */
/* Program Penggunaan structure pada function */
/* Nama File : struct4.cpp */
/* —————————————— */
#include
#include
#include
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<>mhs[i].nim;
cout<>mhs[i].nama;
cout<>mhs[i].nilai;
cout<<endl;
}
clrscr();
for(i=0; i<2; i++)
{
cout<<"Data Ke – "<<k++<<endl;
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< 65)
return ‘L';
else
return ‘G';
}
0 komentar:
Posting Komentar