ending :D

akhirnya selesai juga ngeposting dan ngeshare tentang c++.
walauoun sempet tersendat sama koneksi internet yang super lemot, tapi akhirnya tuntas juga. hehe
contoh program aku ambil dari beberapa sumber, karena saat ini saya juga baru mengenal c++, hehehehe :p
nanti kalo sudah banyak belajar c++ aku share contoh program yang lain
selamat mencoba yaaa coding nyaa

Gnight :D

fungsi



Fungsi banyak dilibatkan dalam pembuatan suatu program, dengan tujuan :
Program menjadi lebih tersetuktur, sehingga mudah dipahami dan mudah dikembangkan
Dapat mengurangi pengulangan kode.
Bentuk umum suatu fungsi adalah sebagai berikut :
Tipe data nama fungsi(daftar parameter)
{
/*Badan Fungsi*/
return nilai return; /* untuk tipe data bukan void */
}
Fungsi Bertipe void
Fungsi bertipe void, kalau dalam program pascal atau delphi disebut sebagai procedure. Fungsi ini tidak mempunyai nilai kembalian, jadi fungsi bertipe ini hanya merupakan sekumpulan kode program yang bekerja sesuai dengan parameter yang diberikan.
Contoh fungsi bertipe void :
void TampilNama()
{
textcolor(RED);
cprintf(“Nama Saya : Tulis Nama Ada\n\r”);
cprintf(“Alamat    : Jl. Can Di Aspal No. 70\n\r”);
cprintf(“Telepon   : 022-2513709\n\r”);
}

main()
{
TampilNama();
TampilNama();
TampilNama();
}
Dalam program di atas, ada sebuah fungsi yang bernama TampilNama(), yang berguna untuk menampilkan data Nama, Alamat, dan Telepon. Dalam program utama (fungsi main() ), cara pemanggilan fungsi tersebut adalah dengan menulis nama fungsinya (dalam hal ini TampilNama() ). Jadi program di atas akan menampilkan isi fungsi TampilNama() sebanyak 3 kali.
Fungsi di atas merupakan fungsi yang dipanggil tanpa memakai parameter. Untuk melihat contoh fungsi berparameter, perhatikan program di bawah ini.
void Kotak(int X1,int Y1, int X2,int Y2,int Bingkai,int Latar)
{
int i;
textcolor(Bingkai);
textbackground(Latar);
gotoxy(X1,Y1);cprintf(“é”); /* alt+218 */
gotoxy(X1,Y2);cprintf(“%c”,192);
gotoxy(X2,Y1);cprintf(“%c”,191);
gotoxy(X2,Y2);cprintf(“%c”,217);
for (i=X1+1;i<=X2-1;i++)
{
gotoxy(i,Y1);cprintf(“%c”,196);
gotoxy(i,Y2);cprintf(“%c”,196);
}
for(i=Y1+1;i<=Y2-1;i++)
{
gotoxy(X1,i);cprintf(“%c”,179);
gotoxy(X2,i);cprintf(“%c”,179);
}
}
main()
{
Kotak(1,1,80,24,WHITE,BLUE);// Memanggil Procedur Kotak
Kotak(2,2,15,23,WHITE,RED);
getch();
return 0;
}

Void Kotak merupakan sebuah fungsi yang akan membuat suatu kotak di layar sesuai dengan koordinat yang diberikan di bagian parameter. Koordinat tersebut adalah koordinat kiri atas (X1,Y1), dan koordinat titik kanan bawah (X2,Y2). Selain itu fungsi ini membutuhkan parameter Bingkai yang berguna untuk menentukan warna bingkai kotak, dan juga parameter Latar yang berguna untuk menentukan warna latar belakang kotak yang dibuat.
Pemanggilan Kotak(1,1,80,24,WHITE,BLUE) berguna untuk membuat kotak dengan posisi kiri atas pada koordinat (1,1) dan posisi kanan bawah pada koordinat (80,24) dengan warna bingkai kotak berwarna putih dengan latar belakang kotak berwarna biru.


Fungsi bertipe data
Dalam dunia matematika, kita mengenal fungsi. Contoh : F(X)=X2+3X+5, yang berarti kita mempunyai sebuah fungsi bernama F yang membutuhkan parameter X sebagai data yang akan dihitung dengan persamaan X2+3X+5 sehingga kalau kita menulis F(5), maka nilai dari fungsi tersebut adalah 52 + 3.5+ 5 = 45.
Bentuk umum dari Function ini dalam bahasa Pascal adalah :

typedata NamaFungsi(daftar parameter)
{
Perintah;
Perintah;
Return NilaiHasilUntukFungsi;
}

Contoh 1 : Fungsi matematik untuk menghitung persamaan F(X) = X2+3X+5;
float F(float X)
{
return X*X+3*X+5;//Fungsi diisi hasil dari perhitungan X2+3*X+5
}

Contoh 2 : Fungsi untuk mencari Faktorial dari suatu nilai
float Faktorial(int N)
{
int I;
float Hasil;
Hasil:=1;
for(I=2;I<=N;I++)
Hasil=Hasil * I;
return Hasil;
}

Contoh 3: Fungsi untuk mencari Kombinasi dengan rumus :
Kombinasi (X,Y) =
Float  Kombinasi(int X, int Y)
{
return Faktorial(Y) / (Faktorial(X)*Faktorial(Y-X));
}

array


1.      Array  merupakan  struktur  data  yang sering digunakan dalam pemrograman untuk   menyimpan data   yang   akan   diolah  kemudian (misalnya  pada  proses  sorting  atau searching).
2.      Array adalah struktur data yang terdiri dari kumpulan variabel yang bertipe sama.
3.      Beberapa bahasa pemrograman men-dukung  struktur  array  statis dan dinamis. Pada  C/C++,   array   yang didukung adalah array statis.
4.      Pada C/C++,array merupakan pointer yang mempunyai alokasi memori tetap (pointer constant).
5.      Nilai (Isi)  dari  elemen-elemen  suatu array ditempatkan pada memoriyang berurutan.
6.      Akses   elemen   suatu   array   bersifat random,  artinya  dapat dimulai  dari mana   saja   dan   tidak   harus   dari elemen pertamanya. 
Berikut contoh penggunaan ARRAY pada bahasa C++ :
      #include<iostream.h>
#include<conio.h>
#include<iomanip.h>

void main()
{
int n,i,harga,bayar=0,totalbayar,total[100],banyak[100]; //contoh ARRAY
float pajak;
char jenis[100];
cout << "Banyak Jenis  =  ";
cin>>n;
for (i=0;i<n;i++)
{
    cout<<"Jenis ke-"<<(i+1) << endl;
    cout<<"Jenis Potong [D/P/S] : ";
    cin>>jenis[i];
    cout<<"Banyak Potong        : ";
    cin>>banyak[i];
    cout<<endl;
}
clrscr();
cout<<"-------------------------------------------------------------------------------\n";
cout<<"No\tJenis Potong\tHarga Satuan\tBanyak Barang\tJumlah Harga\n";
cout<<"-------------------------------------------------------------------------------\n";
for(i=0;i<n;i++)
{
    cout<<setw(9)<<setiosflags(ios::left)<<(i+1);         //Merapihkan Tampilan
    cout<<setw(17)<< setiosflags(ios::left);
    if(jenis[i]=='D'||jenis[i]=='d')
    {
        cout<<"Dada";
        cout<<setw(17)<< setiosflags(ios::left);
        harga=2500;
        cout<<"2500";
}
else if (jenis[i]=='P'||jenis [i]=='p')
{
    cout<<"Paha";
    cout<<setw(17)<< setiosflags(ios::left);
    harga=2000;
    cout<<"2000";
}
else
{
        cout<<"Sayap";
        cout<<setw(17)<< setiosflags(ios::left);
        harga=1500;
        cout<<"1500";
    }
    cout<<setw(17)<< setiosflags(ios::left)<<banyak[i];
    total[i]=banyak[i]*harga;
    cout<<total[i];
    bayar+=total [i];
    cout<<endl ;
}
cout << endl ;
cout <<"--------------------------------------------------------------------------------\n";
cout<< "\t\t\t\t\tJumlah Bayar  =     "<<bayar<< endl ;
pajak = 0.1*bayar;
cout<< "\t\t\t\t\tPajak         =     "<<pajak<<endl;
totalbayar = bayar+pajak;
cout<< "\t\t\t\t\tToyal Bayar   =     "<<totalbayar<<endl<<endl ;

perulangan


A. WHILE
Sintaknya adalah:

while (kondisi) pernyataan;
􀁺pernyataan akan dijalankan selama ekspresi bernilai true.
Contoh:
//hitungan mundur menggunakan while
#include<iostream.h>
#include<conio.h>
int main()
{
int n;
cout<<"Masukkan angka untuk mulai "; cin>>n;
while (n>0)
{
cout<< n << ", ";

--n; }
cout<<"STOP!";
getch();
}

B. Perulangan dengan do…while
􀁺Sintaknya:
􀁺do pernyataan while (kondisi);
􀁺konsep do...while mirip dengan while. Namun pernyataan akan dijalankan terlebih dahulu sebelum pengecekan kondisi.
Contoh:

#include<iostream.h>
#include<conio.h>
int main()
{
unsigned long n; //untuk tipe data positif aja.
do
{
cout<<"masukkan nomor (tekan 0 untuk mengakhiri):";
cin>>n;
cout<<"anda memasukkan angka: "<<n<<"\n";
}
while(n!=0);
return 0;
getch();
}

C. Perulangan dengan for
􀁺Sintaknya:

for (inisialisasi; kondisi; counter) pernyataan;

􀁺Pernyataan akan diulangi jika kondisi bernilai true. Sama seperti perulangan dengan while. Namun for menetapkan inisialisasi dan penaikan berada dalam ( dan).
Penjelasannya adalah sebagai berikut:
􀁺Inisialisasi: akan dieksekusi. Biasanya merupakan variable yang akan dipakai sebagai counter atau pencacah. Bagian ini akan dieksekusi hanyas ekali.
􀁺Kondisi: akan diperiksa, jika bernilai true maka perulangan akan dilanjutkan dan jika bernilai false maka perulangan akan dilewati.
􀁺Pernyataan: akan di eksekusi. Biasanya dapat terdiri dari sebuah instruksi atau blok instruksi yang berada diantara{ dan}.
􀁺Terakhir, apapun perintah dalam counter akan dijalankan dan kemudian perulangan kembali lagi ke langkah 2.

Contoh:
/*_____________________*/
/*Program for-bilangannaik*/
/*_____________________*/
#include<iostream.h>
#include<conio.h>
void main()
{
int a;
for(a=1;a<=10;++a)
cout<<a;
getch();
}

D. Nested Loops (Perulangan Bertumpuk)
􀁺Perulangan bertumpuk secara sederhana dapat diartikan: terdapat satu atau lebih loop didalam sebuah loop. Banyaknya tingkatan perulangan, tergantung dari kebutuhan.
􀁺Biasanya, nested loops digunakan untuk membuat aplikasi matematika yang menggunakan baris dan kolom. Loop luar, biasanya digunakan untuk mendefinisikan baris. Sedangkan loop dalam, digunakan untuk mendefinisikan kolom

Contoh:
#include<iostream.h>
#include<conio.h>
int main()
{
for(int baris= 1; baris<= 4; baris++)
{
for (int kolom= 1; kolom<= 5; kolom++)
{
cout<<kolom<<" ";
}
cout<<endl;
}
getch();
}

E. perintah break
􀁺break berfungsi untuk keluar dari loop, walaupun kondisinya belum seluruhnya terpenuhi. Biasanya, perintah ini digunakan untuk memaksa program keluardari loop. Contoh berikut akan berhenti menghitung sebelum terhenti secara normal.

Ex:
#include<iostream.h>
#include<conio.h>
int main()
{
for (int n=10; n>0;n--) {
cout<<n<<", ";
if (n==3)
{
cout<<"penghitungan dihentikan!"; break; }
}
getch();
}

F. perintah continue
perintah ini akan melewati satu iterasi yang sesuai dengan syarat tertentu, dan melanjutkan ke iterasi berikutnya.
#include<iostream.h>
#include<conio.h>
int main()
{
for (int n=10; n>0;n--) {
if (n==5) continue;
cout<<n<<", "; } cout<<"STOP !";
getch();
}

G. Pernyataan go to
􀁺Pernyataan go to merupakan instruksi untuk mengarahkan eksekusi program ke pernyataan yg diawali dengan suatu label. Label merupakan suatu pengenalyang diikuti dengan tanda titik dua(:) . Bentuk pemakaian go to adalah sbb:

Go to label;
Ex:
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
void main()
{
int a,b;
char lagi;
atas:
cout<<"\nMasukkan bilangan= ";
cin>>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')
go to atas;
getch();
}

kondisi if tunggal dan bersarang


kondisi ada beberapa
1. Pernyataan if sederhana
if (kondisi) pernyataan;
Kodisi digunakan untuk menentukan pengambilan keputusan Pernyataan dapat berupa sebuah pernyataan atau pun sebuah pernyataan majemuk. Bagian ini dijalankan kalau kondisi bernilai benar.
Contoh program
#include<iostream.h>
#include<conio.h>
void main()
{
int usia;
clrscr();
cout<< "MasukanusiaAnda? : ";
cin>> usia;
if(usia<17)
cout<< "Anda belum cukup umur!!!" << endl;
getch();
}

Pernyataan else
􀂄 Pernyataan else tidak pernah sendiri selalu menggunakan if. Berikut bentuk penggunaannya.
if(kondisi) pernyataan1;
else pernyataan2;

Pernyataan2 dijalankan apabila kondisi bernilai salah.
Contohprogram
#include<iostream.h>
#include<conio.h>
void main()
{
in tusia;
clrscr();
cout<< "MasukanusiaAnda? : ";
cin>> usia;
if(usia<17)
cout<< "Anda belum cukup umur!!!" << endl;
else
cout<< "Selamat Anda sudah cukup umur!" << endl;
getch();
}

2. nested if

Pernyataan if yang terletak didalam if sering disebut nested if atau if bersarang.
􀂄Bentuk penggunaanya adalah sbb:
if(kondisi1) Pernyataan1;
else if (kondisi2) Pernyataan2;
else if(kondisi3) Pernyataan3;
else if(kondisiN) pernyataanN;
else  //optional
pernyataan M; //optional

Contohprogram
#include<iostream.h>
#include<conio.h>
void main()
{
int kode_hari;
clrscr();
cout<<"“## MenentukanHari##" << endl;
cout<< "1=Senin 3=Rabu 5=Jumat 7=Minggu" << endl;
cout<< "2=Selasa 4=Kamis 6=Sabtu" << endl;
cout<< "KodeHari: ";
cin>> kode_hari; //proses seleksi
if(kode_hari==1)
cout<< "Senin"<< endl;
else if(kode_hari==2)
cout<< "Selasa" << endl;
else if(kode_hari==3)
cout<< "Rabu" << endl;
else if(kode_hari==4)
cout<< "Kamis" << endl;
else if(kode_hari==5)
cout<< "Jumat" << endl;
else if(kode_hari==6)
cout<<"Sabtu" << endl;
else if(kode_hari==7)
cout<<"Minggu" << endl;
else
cout<< "Kode Hari Salah" << endl;
getch();
}


operator logika


1. Operator Logika
Operator logika juga digunakan untuk memberikan nilai atau kondisi true dan false. Biasanya operator logika dipakai untuk membandingkan dua kondisi.
Operator Keterangan
&& -->Operator LogikaAND
|| -->Operator LogikaOR
! -->Operator LogikaNOT

a. Operator Logika AND
•Digunakan untuk menghubungkan dua atau lebih ekspresi relasi. akan dianggap BENAR bila semua ekspresi relasi yang dihubungkan bernilai BENAR.

contoh:
#include<conio.h>
#include<iostream.h>
void main()
{
float a,b,c,d,e,f,g,h;
cout<<"masukkannilaiA=";cin>>a;
cout<<"masukkannilaiB=";cin>>b;
cout<<"masukkannilaiC=";cin>>c;
//proses
d=a+4<10;
e=b>a+5;
f=c-3>=4;
g=d&&e&&f;
cout<<endl<<endl;
cout<<"Program EkspresiAND"<<endl<<endl;
cout<<"Hasildarid=a+4<10 adalah="<<d<<endl;
cout<<"Hasildarie=b>a+5 adalah="<<e<<endl;
cout<<"Hasildarif=c-3>=4 adalah="<<f;
cout<<endl<<endl;
cout<<"Hasildarig=d&&e&&fadalah="<<g;
cout<<endl;
getch();
}
2. Operator Logika OR
•Digunakan untuk menghubungkan 2 atau lebih ekspresi relasi.
•Akan dianggap BENAR apabila salah satu ekspresi relasi yang dihubungkan bernilai benar.
•Dan akan dianggap SALAH bila semua ekspresi relasi yang dihubungkan bernilai SALAH
contoh program:
//Penggunaan Operasi logika OR
#include<conio.h>
#include<iostream.h>
void main()
{
float a,b,c,d,e,f,g,h;
cout<<"Masukkan nilai A=";
cin>>a;
cout<<"Masukkan nilai B=";
cin>>b;
cout<<"Masukkan nilai C=";
cin>>c;
d=a+4<10;
e=b>a+5;
f=c-3>4;
g=d||e||f;
cout<<endl<<endl;
cout<<"Program EkspresiOR"<<endl<<endl;
cout<<"Hasil dari d=a+4<10 adalah="<<d<<endl;
cout<<"Hasil dari e=b>a+5 adalah="<<e<<endl;
cout<<"Hasil dari f=c-3>=4 adalah="<<f;
cout<<endl<<endl;
cout<<"Hasil dari g=d||e||f adalah="<<g;
cout<<endl;
getch();
}

3. Operator Logika NOT
•Akan memberikan nilai kebalikan dari ekspresi yg disebutkan.
•Jika nilai yang disebutkan BENAR maka akan menghasilkan nilai SALAH. Begitu juga sebaliknya.

contoh:
//penggunaan operasi logika NOT
#include<conio.h>
#include<iostream.h>
void main()
{
int a,b,c;
cout<<"masukkannilaiA=";
cin>>a;
//prosesb=(a+4<10);
c=!(b);
cout<<endl;
cout<<"NilaiA="<<a<<endl;
cout<<"NilaiB=(a+4<10)="<<b<<endl;
cout<<"NilaiC=!(b)="<<c;
getch();
}

4. Operator Kondisional ( ? )
•Format penulisan operator kondisional adalah:
•kondisi ? hasil 1 : hasil 2
•Jika kondisi benar maka yang dijalankan adalah hasil 1 dan jika kondisi salah, maka akan dijalankan hasil 2.

Contoh:
//penggunaan operasi logika NOT
#include<conio.h>
#include<iostream.h>
void main()
{
int a,b,c,d;
cout<<"masukkan nilai A=";
cin>>a;
cout<<"masukkannilaiB=";
cin>>b;
//prosesc= a==5?4 : 3;
d= b>3?1:2;
cout<<endl;
cout<<"NilaiA="<<a<<endl;
cout<<"NilaiB="<<b<<endl;
cout<<"Nilaic= a==5?4:3 adalah"<<c<<endl;
cout<<"Nilad=b>3?1:2 adalah"<<d;
getch();
}
SELAMAT MENCOBA

operator matematika


Operator merupakan simbol atau karakter yang biasa di libatkan
program untuk melakukan sesuatu operasi atau manipulasi, seperti penjumlahan, pengurangan dan lain-lain.

A. Operator Assign (=)
Operator (=), akan memberikan nilai ke dalam suatu variable.
a=5
artinya memberikan nilai 5 ke dalam variable a.
Sebelah kiri tanda=dalam pernyataan diatas, dikenal dengan lvalue (left value) dan disebelahkan
tanda= dikenal dengan rvalue(right value). value harus selalu berupa variable, sedangkan rvalue dapat berupa variable, nilai, konstanta, hasil operasi atau pun kombinasinya.

B. Operator Aritmatika ( +, , *, /, %)
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
Void main ()
{
int a, b, c =0, d= 0;
cout<<“MasukanNilaiA :”;cin>>a;
cout<<“MasukanNilaiB :”;cin>>b;
c=a % b;
d=a * b;
cout<<“HasildariC=A%B=“<<c<<endl;
cout<<“HasildariD=A*B=“<<d<<endl;
getch();
}

C. Operator Majemuk( +=, -=, *=, /=, %=, <<=, >>=, &=, |= )
DalamC++, operasi aritmatika dapat disederhanakan penulisannya dengan format penulisan operator majemuk.
Misalnya:
a += 5 sama artinya dengan menuliskan = a+5
a*= 5 sama artinya dengan menuliskan = a*5
a /=5 sama artinya dengan menuliskan = a/5
a %= 5 sama artinya dengan menuliskan = a % 5
contoh program
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
void main ()
{
int a,b,c,d;
cout<<"MasukanNilaiA :";
cin>>a;cout<<"MasukanNilaiB :";
cin>>b;cout<<"MasukanNilaiC :";
cin>>c;cout<<"MasukanNilaiD :";
cin>>d;a*= 5; //a=a+5b /=5; //b=b/5c %= 5; //c=c%5d += 5;//d=d+5
cout<<"Hasil dari a*= 5 ="<<a<<endl;
cout<<"Hasildarib /=5 ="<<b<<endl;
cout<<"Hasildaric %=5 ="<<c<<endl;
cout<<"Hasildarid+=5 ="<<d<<endl;
getch();
}
D. Operator Penaikan dan Penurunan(++ dan --)
++ = Penambahan
-- = Pengurangan
A=A+1 atau A=A-1; dapat disederhanakan menjadi : A+=1 atau A-=1; masih dapat disederhanakan menjadi A++ atau A--
Notasi ++ atau -- dapat diletakkan didepan atau dibelakang variabel A++ tidak sama dg ++A atau
A--tidak sama dg --A

•Jika diletakkan 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 ditemukan.

•Jika diletakkan dibelakang variabel, maka proses penambahan atau pengurangan akan dilakukan setelah ekspresi ini dijumpai atau nilai variabel akan tetap pada saat ekspresi ini ditemukan.

contoh program:
/* Penggunaan notasi didepan variabel*/
#include <stdio.h>
#include <conio.h>
void main()
{
int a=10, b=5;
printf("nilaiA=%d",a);
printf("\nNilai++A=%d",++a);
printf("\nNilaiA=%d",a);
printf("\n\nNilaiB=%d",b);
printf("\nNilai--B=%d",--b);
printf("\nNilaiB=%d",b);
getch();
}

contoh:
#include <stdio.h>
#include <conio.h>
void main()
{
int a=10, b=5;
printf("nilaiA=%d",a);
printf("\nNilaiA++=%d",a++);
printf("\nNilaiA=%d",a);
printf("\n\nNilaiB=%d",b);
printf("\nNilaiB--=%d",b--);
printf("\nNilaiB=%d",b);
getch();
}

E. Operator Relasional (==, ! =, >, <, >=, <=)
•Yang dihasilkan dari operator ini bukan berupa sebuah nilai, namun berupa bilangan bool yaitu benar atau salah.
== Samadengan
!= Tidaksamadengan
> Lebihbesardari
< Kurangdari
>= Lebihbesardariatausamadengan
<= Kurangdariatausamadengan

Contoh:
•(7==5) hasilnya adalah false
•(5>4) hasilnya adalah true
•(5<5) hasilnya adalah false

contoh program
#include <conio.h>
#include <iostream.h>
void main()
{
float a, b, c, d, e, f, x, y;
cout<<"masukkannilaiX=";
cin>>x;
cout<<"masukkan nilai Y=";
cin>>y;
a= x==y;
b= x!=y;
c= x>y;
d= x<y;
e= x>=y;
f= x<=y;
cout<<endl;
cout<<" hasil dari"<<x<<"=="<<y<<"="<<a<<endl;
cout<<" hasildari"<<x<<"!="<<y<<"="<<b<<endl;
cout<<" hasildari"<<x<<">"<<y<<"="<<c<<endl;
cout<<" hasildari"<<x<<"<"<<y<<"="<<d<<endl;
cout<<" hasildari"<<x<<">="<<y<<"="<<e<<endl;
cout<<" hasildari"<<x<<"<="<<y<<"="<<f<<endl;
getch();
}

SELAMAT MENCOBA