C++ adalah bahasa pemrograman komputer yang di buat oleh (Bjarne Stroustrup) merupakan perkembangan dari bahasa C dikembangkan di Bell Labs (Dennis Ritchie) pada awal tahun 1970-an, Bahasa itu diturunkan dari bahasa sebelumnya, yaitu BCL, Pada awalnya, bahasa tersebut dirancang sebagai bahasa pemrograman yang dijalankan pada sistem Unix, Pada perkembangannya, versi ANSI (American National Standart Institute) Bahasa pemrograman C menjadi versi dominan, Meskipun versi tersebut sekarang jarang dipakai dalam pengembangan sistem dan jaringan maupun untuk sistem embedded, Bjarne Stroustrup pada Bel labs pertama kali mengembangkan C++ pada awal 1980-an, Untuk mendukung fitur-fitur pada C++, dibangun efisiensi dan sistem support untuk pemrograman tingkat rendah (low level coding).
Selamat menikmati sourcecode berikut:
PERSEGI AJAIB
[crayon lang="c++"]
#include
#include
#include
#include
void main() {
int kolom,baris,n,spasi;
do {
clrscr();
gotoxy(15,2); printf(“Program Persegi Ajaib Punyaku”);
gotoxy(3,5);
printf(“Masukkan Panjang Sisi : “); scanf(“%d”,&n);
gotoxy(3,7); printf(“Persegi dengan panjang sisi %d
int kolom,baris,n,spasi;
do {
clrscr();
gotoxy(15,2); printf(“Program Persegi Ajaib Punyaku”);
gotoxy(3,5);
printf(“Masukkan Panjang Sisi : “); scanf(“%d”,&n);
gotoxy(3,7); printf(“Persegi dengan panjang sisi %d
“,n);
for(baris=1;baris<=n;baris++)
{ printf("* "); }
for(baris=1;baris<=n;baris++)
{ printf("* "); }
printf("
");
");
for(kolom=1;kolom<=n-2;kolom++)
{ printf("*");
for(spasi=1;spasi<=n*2-3;spasi++)
{ printf(" "); }
printf("*
");
}
{ printf("*");
for(spasi=1;spasi<=n*2-3;spasi++)
{ printf(" "); }
printf("*
");
}
for(baris=1;baris<=n;baris++)
{
printf("* ");
}
gotoxy(3,23); printf("tekan tombol \"y\" untuk mengulang");
gotoxy(3,24); printf("tekan sembarang tombol untuk keluar");
}
while(getch()=='y';);
}
[/crayon]
{
printf("* ");
}
gotoxy(3,23); printf("tekan tombol \"y\" untuk mengulang");
gotoxy(3,24); printf("tekan sembarang tombol untuk keluar");
}
while(getch()=='y';);
}
[/crayon]
SISI MIRING, LUAS & KELILING SEGITIGA
[crayon lang="c++"]
#include
#include
#include
#include
#include
#include
void main()
{
{
float a,t,r,K,L;
scanf(“%f%f”,&a,&t);
r=sqrt(a*a+t*t);
K=a+r+t;
L=(a*t)/2;
printf(“r=%.2f, K= %.2f, L= %.2f”,&r,&K,&L);
getch();
}
[/crayon]
}
[/crayon]
POHON PENCARIAN
[crayon lang="c++"]
#include
#include
#include
#include
#include
#include
struct data{
int angka;
struct data *left, *right;
}*root = NULL;
int angka;
struct data *left, *right;
}*root = NULL;
void menu(void){
gotoxy(1,23); printf(“+ to insert”);
gotoxy(40,23); printf(“- to seek and destroy”);
gotoxy(1,24); printf(“Esc to Exit”);
}
gotoxy(1,23); printf(“+ to insert”);
gotoxy(40,23); printf(“- to seek and destroy”);
gotoxy(1,24); printf(“Esc to Exit”);
}
void insert (struct data **p, int angka, int level){
level += 1;
if( level < 6){
if( (*p) == NULL ){
(*p) = (struct data *) malloc (sizeof (struct data) );
(*p) -> angka = angka;
(*p) -> left = (*p) -> right = NULL;
}
else if( angka < (*p)-> angka ){
insert(& (*p) -> left, angka, level);
}
else if( angka > (*p)-> angka ){
insert(& (*p) -> right, angka, level);
}
}
else{
textcolor(14);
gotoxy(1,25); cprintf(“Level Tree telah mencapai Maksimum”);
textcolor(7);
getch();
}
}
level += 1;
if( level < 6){
if( (*p) == NULL ){
(*p) = (struct data *) malloc (sizeof (struct data) );
(*p) -> angka = angka;
(*p) -> left = (*p) -> right = NULL;
}
else if( angka < (*p)-> angka ){
insert(& (*p) -> left, angka, level);
}
else if( angka > (*p)-> angka ){
insert(& (*p) -> right, angka, level);
}
}
else{
textcolor(14);
gotoxy(1,25); cprintf(“Level Tree telah mencapai Maksimum”);
textcolor(7);
getch();
}
}
void clearall (struct data *p){
if(p==NULL) return;
clearall(p -> left);
clearall(p -> right);
free(p);
}
if(p==NULL) return;
clearall(p -> left);
clearall(p -> right);
free(p);
}
void cetak(struct data *p, int x, int y, int j){
if(p == NULL) return;
gotoxy(x,y);
printf(“%d”, p-> angka);
if(p == NULL) return;
gotoxy(x,y);
printf(“%d”, p-> angka);
cetak(p -> left, x-j, y+2, j/2);
cetak(p -> right, x+j, y+2, j/2);
}
cetak(p -> right, x+j, y+2, j/2);
}
void preorder(struct data *p){
if(p==NULL) return;
if(p==NULL) return;
printf(“%d “, p->angka);
preorder(p -> left);
preorder(p -> right);
}
preorder(p -> left);
preorder(p -> right);
}
void inorder(struct data *p){
if(p==NULL) return;
if(p==NULL) return;
inorder(p -> left);
printf(“%d “, p->angka);
inorder(p -> right);
}
printf(“%d “, p->angka);
inorder(p -> right);
}
void postorder(struct data *p){
if(p==NULL) return;
if(p==NULL) return;
postorder(p -> left);
postorder(p -> right);
printf(“%d “, p->angka);
}
postorder(p -> right);
printf(“%d “, p->angka);
}
void print_order(void){
gotoxy(1,19); printf(“PreOrder : “); preorder(root);
gotoxy(1,20); printf(“InOrder : “); inorder(root);
gotoxy(1,21); printf(“PostOrder : “); postorder(root);
}
gotoxy(1,19); printf(“PreOrder : “); preorder(root);
gotoxy(1,20); printf(“InOrder : “); inorder(root);
gotoxy(1,21); printf(“PostOrder : “); postorder(root);
}
void seekndestroy(struct data *p, int angka){
if( p == NULL) return;
else if( angka < p -> angka){
if( p -> left -> angka == angka){
clearall (p -> left);
p -> left = NULL;
}
else{
seekndestroy( p -> left, angka);
}
}
else if( angka > p -> angka){
if( p -> right -> angka == angka){
clearall (p -> right);
p -> right = NULL;
}
else{
seekndestroy( p -> right, angka);
}
}
}
if( p == NULL) return;
else if( angka < p -> angka){
if( p -> left -> angka == angka){
clearall (p -> left);
p -> left = NULL;
}
else{
seekndestroy( p -> left, angka);
}
}
else if( angka > p -> angka){
if( p -> right -> angka == angka){
clearall (p -> right);
p -> right = NULL;
}
else{
seekndestroy( p -> right, angka);
}
}
}
void main(){
int tekan, angka;
do{
clrscr();
menu();
cetak(root, 40, 2, 20);
print_order();
tekan = getch();
switch(tekan){
case ‘+’ : gotoxy(1,16); printf(“Masukkan Angka : “);
scanf(“%d”,&angka);
insert(&root, angka,0);
break;
int tekan, angka;
do{
clrscr();
menu();
cetak(root, 40, 2, 20);
print_order();
tekan = getch();
switch(tekan){
case ‘+’ : gotoxy(1,16); printf(“Masukkan Angka : “);
scanf(“%d”,&angka);
insert(&root, angka,0);
break;
case ‘-’ : gotoxy(1,16); printf(“Masukkan Angka : “);
scanf(“%d”,&angka);
if(root == NULL){
textcolor(14);
gotoxy(1,25); cprintf(“Tidak ada Data yang bisa dihapus”);
textcolor(7);
getch();
}
else if(angka == root -> angka ){
textcolor(14);
gotoxy(1,25); cprintf(“Root Tidak Boleh Dihapus”);
textcolor(7);
getch();
}
else if(root !=NULL){
seekndestroy(root, angka);
}
break;
}
}while(tekan != 27);
clearall(root);
}
[/crayon]
scanf(“%d”,&angka);
if(root == NULL){
textcolor(14);
gotoxy(1,25); cprintf(“Tidak ada Data yang bisa dihapus”);
textcolor(7);
getch();
}
else if(angka == root -> angka ){
textcolor(14);
gotoxy(1,25); cprintf(“Root Tidak Boleh Dihapus”);
textcolor(7);
getch();
}
else if(root !=NULL){
seekndestroy(root, angka);
}
break;
}
}while(tekan != 27);
clearall(root);
}
[/crayon]
FAKTORIAL
[crayon lang="c++"]
#include
#include
#include
#include
long faktor(int n)
{
if(n==0)return 1;
else return n*faktor(n-1);
}
{
if(n==0)return 1;
else return n*faktor(n-1);
}
void main()
{
{
int n;
printf(“masukkan n : “);
scanf(“%d”,&n);
printf(“n faktorial=%d “,faktor(n));
scanf(“%d”,&n);
printf(“n faktorial=%d “,faktor(n));
getch();
}
[/crayon]
}
[/crayon]
FIBONACCI
[crayon lang="c++"]
#include
#include
#include
#include
int fib(int n)
{
int f;
if (n==0)f=0;
else if(n==1)f=1;
else f=fib(n-2)+fib(n-1);
return f;
{
int f;
if (n==0)f=0;
else if(n==1)f=1;
else f=fib(n-2)+fib(n-1);
return f;
}
void main()
{
int n;
{
int n;
printf(“masukkan n: “);
scanf(“%d”,&n);
scanf(“%d”,&n);
printf(“bilangan fibonacci dari %d = %d”,n,fib(n));
getch();
}
[/crayon]
}
[/crayon]
PENJUMLAHAN DERET KUADRAT
[crayon lang="c++"]
#include
#include
#include
#include
int jumlah(int n)
{
{
if(n==1)return 1;
else return (n*n)+jumlah(n-1);
else return (n*n)+jumlah(n-1);
}
void main()
{
{
int n,i;
printf(“n= “);
scanf(“%d”,&n);
i=jumlah(n);
printf(“%d jumlah= %d”,n,i);
printf(“n= “);
scanf(“%d”,&n);
i=jumlah(n);
printf(“%d jumlah= %d”,n,i);
getch();
}
[/crayon]
}
[/crayon]
BUBBLE SORT USER
[crayon lang="c++"]
#include
#include
#include
#include
void main(){
int bil[5]={5,3,2,1,4};
int j,i,temp;
for(i=0;i<5;i++)
scanf("%d",&bil[i]);
for(j=0;j<4;j++)
{for(i=0;i<4-j;i++)
{if(bil[i]>bil[i+1])
{temp=bil[i];
bil[i]=bil[i+1];
bil[i+1]=temp;
}
}
}
for(i=0;i<5;i++)
printf("%d ",bil[i]);
getch();
}
[/crayon]
int bil[5]={5,3,2,1,4};
int j,i,temp;
for(i=0;i<5;i++)
scanf("%d",&bil[i]);
for(j=0;j<4;j++)
{for(i=0;i<4-j;i++)
{if(bil[i]>bil[i+1])
{temp=bil[i];
bil[i]=bil[i+1];
bil[i+1]=temp;
}
}
}
for(i=0;i<5;i++)
printf("%d ",bil[i]);
getch();
}
[/crayon]
MEMBALIKKAN KATA
[crayon lang="c++"]
#include
#include
#include
#include
#include
#include
#include
#include
void main()
{
{
char a[10];
printf(“Masukkan kata: “);
gets(a);
gets(a);
strrev(a);
printf(“Jika dibalik menjadi : %s”,a);
getch();
}
[/crayon]
}
[/crayon]