Thursday, December 6, 2012

Berbagai Tutorial &Sourcecode C/C++

Kali ini berbagi berbagai tutorial dan contoh source code bahasa pemrograman c/c++ yang dishare oleh Auto Cyber, diantaranya PERSEGI AJAIB, SISI MIRING, LUAS &KELILING SEGITIGA, POHON PENCARIAN, FAKTORIAL, FIBONACCI, PENJUMLAHAN DERET KUADRAT, BUBBLE SORT USER, MEMBALIKKAN KATA.

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

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include<stdio.h>
#include<conio.h>
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
",n);
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("*
");
}
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';);
}
SISI MIRING, LUAS & KELILING SEGITIGA
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
#include<conio.h>
#include<math.h>
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();
}
POHON PENCARIAN
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
struct data{
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");
}
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();
}
}
void clearall (struct data *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);
cetak(p -> left, x-j, y+2, j/2);
cetak(p -> right, x+j, y+2, j/2);
}
void preorder(struct data *p){
if(p==NULL) return;
printf("%d ", p->angka);
preorder(p -> left);
preorder(p -> right);
}
void inorder(struct data *p){
if(p==NULL) return;
inorder(p -> left);
printf("%d ", p->angka);
inorder(p -> right);
}
void postorder(struct data *p){
if(p==NULL) return;
postorder(p -> left);
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);
}
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);
}
}
}
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;
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);
}
FAKTORIAL
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
#include<conio.h>
long faktor(int n)
{
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));
getch();
}
FIBONACCI
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<stdio.h>
#include<conio.h>
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;
}
void main()
{
int n;
printf("masukkan n: ");
scanf("%d",&n);
printf("bilangan fibonacci dari %d = %d",n,fib(n));
getch();
}
PENJUMLAHAN DERET KUADRAT
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
#include<conio.h>
int jumlah(int n)
{
if(n==1)return 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);
getch();
}
BUBBLE SORT USER
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<stdio.h>
#include<conio.h>
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();
}
MEMBALIKKAN KATA
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
void main()
{
char a[10];
printf("Masukkan kata: ");
gets(a);
strrev(a);
printf("Jika dibalik menjadi : %s",a);
getch();
}

Semoga bermanfaat untuk semuanya dan jangan lupa untuk terus belajar :)

Newer Post Older Post Home

0 comments:

Post a Comment