You are on page 1of 46

#include <stdio.

h>

#define begin {
#define end }
#define Write printf
#define Read scanf
#define PI 3.1415926536

float r, k, l;

int main()
begin
Write("Jari-jari = ");
Read("%f", &r);
k = 2 * PI * r;
l = PI * r * r;
Write("Keliling = %f\n", k);
Write("Luas = %f\n", l);
end

#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\N",N);
FOR(BARIS=1;BARIS<=N;BARIS++)
{ PRINTF("* "); }

PRINTF("\N");

FOR(KOLOM=1;KOLOM<=N-2;KOLOM++)
{ PRINTF("*");
FOR(SPASI=1;SPASI<=N*2-3;SPASI++)
{ PRINTF(" "); }
PRINTF("*\N");
}

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');
}

#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();
}

#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();
}
BOLA PANTUL

#INCLUDE<STDIO.H>
#INCLUDE<CONIO.H>
//#INCLUDE<DOS.H>

VOID DELAY(INT I) {
INT N,M,O;
FOR(N=0;N<I;N++){
FOR(M=0;M<I;M++){
FOR(O=0;O<I;O++) { } } }
}

VOID MAIN() {
INT X=15,Y=4,AX=1,BY=1;
CLRSCR();
_SETCURSORTYPE(_NOCURSOR);
DO {
GOTOXY(X,Y);
PRINTF("HELLO");
DELAY(250);
GOTOXY(X,Y);
PRINTF(" ");
IF(X<2 || X>74) {
AX*=-1; //INCREAMENT OR DECREAMENT
}
IF(Y<2 || Y>24) {
BY*=-1; //INCREAMENT OR DECREAMENT
}

X+=AX;
Y+=BY;
}
WHILE(!KBHIT());
}

BELAH KETUPAT

#INCLUDE<STDIO.H>
#INCLUDE<CONIO.H>
#INCLUDE<MATH.H>

VOID MAIN()
{
INT A,B,C,D,E,F,G;
WHILE(SCANF("%D",&A)!=EOF)
{
B=100000;
D=0;
WHILE(A>=1)
{
C=A;
C/=B;
D+=C;
A%=B;
B/=10;
}
IF(D>=10)
{
A=D;
B=100;
D=0;
WHILE(A>=1)
{
C=A;
C/=B;
D+=C;
A%=B;
B/=10;
}
IF(D>=10)
{
A=D;
B=100;
D=0;
WHILE(A>=1)
{
C=A;
C/=B;
D+=C;
A%=B;
B/=10;
}
}
}

FOR(E=-D;E<=D;E++)
{
FOR(G=((D+1)-(SQRT(E*E)));G<=D;G++)
{
PRINTF(" ");
}
FOR(F=1;F<=((D+1)-(SQRT(E*E)));F++)
{
PRINTF("*");
IF(F!=((D+1)-(SQRT(E*E)))) PRINTF(" ");
}
PRINTF("\N");
}
}
GETCH();
}

BINTANG2

#INCLUDE<STDIO.H>
#INCLUDE<CONIO.H>

VOID MAIN()
{

INT N,I,J;
SCANF("%D",&N);

FOR(I=1;I<=N;I++)
{
FOR(J=1;J<=N;J++)
{
IF((I+J)>=(N+1))
PRINTF("*");
ELSE
PRINTF(" ");
}

PRINTF("\N");
}
GETCH();
}

DERET GANJIL + 1

#INCLUDE<STDIO.H>
#INCLUDE<CONIO.H>
VOID MAIN()
{
INT N,A,B;
PRINTF("MASUKKAN BILANGAN :");
SCANF("%D",&N);
FOR (A=1;A<=N;A++)
{
FOR(B=0;B<A*2;B++)
PRINTF("%D",A);
PRINTF("\N");
}
GETCH();
}

JAJARAN GENJANG

#INCLUDE<STDIO.H>
#INCLUDE<CONIO.H>

VOID MAIN()
{
INT A,T,I,J;

WHILE(SCANF("%D %D",&A,&T)!=EOF)
{
FOR(I=0;I<T;I++)
{
FOR(J=0;J<I;J++)
{
PRINTF(" ");
}
FOR(J=0;J<A;J++)
{
PRINTF("*");
}
PRINTF("\N");
}

FOR(I=0;I<T;I++)
{
FOR(J=T;J>I;J--)
{
PRINTF(" ");
}
FOR(J=0;J<A;J++)
{
IF(I%2==0)
{
PRINTF("E");
}
ELSE
{
PRINTF("O");
}
}
PRINTF("\N");

}
}
GETCH();
}

BILANGAN DECIMAL KE ROMAWI


#include <iostream>
#include <cstdlib>

using namespace std;


typedef char* String

void convert(const String rom[], int dec[], int decimal)


{
for(int i = 0 ; i<13 ; i++)
{
while(decimal >= dec[i])
{
decimal -= dec[i];
cout << rom[i];
}

if(decimal == 0) break;
}
}

int main()
{
int decimal;
const String rom[] = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X",
"IX", "V", "IV", "I"};
int dec[] = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};

cout << "Masukkan Bilangan Desimal: ";


cin >> decimal;

cout << endl << "Hasilnya: ";


convert(rom, dec, decimal);

system("pause");
return EXIT_SUCCESS;
}

PENJUMLAHAN DERET KUADRAT


#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();
}

RATA-RATA
#include <iostream>

using namespace std;


int main(){
int total = 0;
int X;
int data = 0;

cout << "Berapa banyak data ? ";


cin >> X;

for (int Y = 0; Y < X; Y++){


cout << "Data ke-" << Y+1 << ": ";
cin >> data;
total += data;
}

cout << "Rara-rata : " << total/X;

return 0;
}

SEGITIGA SAMA SISI


#include <iostream.h>
#include <conio.h>
#include<constream.h>
#include<stdlib.h>
#include<dos.h>
constream tulis;

void main() {
tulis.clrscr();
int input;
cin>>input; //ini untuk minta inputan
tulis.clrscr();

for(int i=0;i<input;i++){

//ini untuk cetak angka sampe ditengah

for(int j=0;j<=i;j++)
{
// ini di mod 10 supaya tetep nampilin 1 digit angka, ga bisa >9
tulis<<(j+i+1)%10;
}

//ini untuk cetak angka setelah ditengah


for(int k=0;k<=i-1;k++)
{

// ini di mod 10 supaya tetep nampilin 1 digit angka, ga bisa >9


tulis<<(j-1+i-k)%10;
}
tulis<<endl;
}
getch();
}

BILANGAN TERBESAR
#include <stdio.h>
#include <conio.h>

void main()
{
int n;
int num[20];
int temp, x, y, max2, max;

printf("Banyak Angka : ");


scanf("%d",&n);fflush(stdin);

for (x=0;x<n;x++)
{
scanf("%d",&num[x]);
}

temp = num[0];

for (x=0;x<(n-1);x++)
{
if (temp < num[x+1])
{
temp = num[x+1];
}
else temp = temp;
}
max = temp;
/* max2 = num[0];

for (y=0;y<(n);y++)
{
if (max2 < max)
{
max2 = max2;
}
} */

printf("Terbesar : %d",max);

getch();
}

*
**
***
****
*****
****
***
**
*

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

int main()
{
int n, i, j;

printf("tinggi: ");
scanf("%d", &n);
fflush(stdin);

for(i=0; i<n; i++)


{
for(j=-1; j<i; j++)
{
printf("*");

}
printf("\n");
}

for(i=n; i>1; i--)


{
for(j=i-1; j>0; j--)
{
printf("*");
}
printf("\n");
}
system ("PAUSE");
return 0;
}
NILAI TERBESAR DAN TERBESAR KEDUA
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
int n;
int *num;
int x, y, max2, max;
int index_max; // index dari angka terbesar

printf("Banyak Angka : ");


scanf("%d",&n);
fflush(stdin);

num = (int*)malloc(n*sizeof(int)); // dynamic allocation

printf("\n");
for (x=0;x<n;x++)
{
printf("Masukan angka ke %i : ",x);
scanf("%d",&num[x]);
}

max = -1;
for (x=0;x<n;x++)
{
if (max < num[x])
{
max = num[x];
index_max = x; // index dari angka terbesar
}
}

max2 = -1;
for (y=0;y<n;y++)
{
if((y!=index_max)&&(num[y]!=max)) // y ga boleh sama dengan index angka
terbesar, dengan kata laen kita skip doang
{
if (max2 < num[y])
{
max2 = num[y];
}
}
}

printf("\nTerbesar : %d",max);
printf("\nTerbesar kedua: %d",max2);
getch();
return 0;
}
TULIS FILE WITH *.TXT
#INCLUDE<STDIO.H>
#INCLUDE<CONIO.H>

VOID MAIN(){

FILE *OUT;
INT JUMLAH, I;
CHAR KATA[10][25];

OUT = FOPEN("OUTPUT.TXT", "W");

PRINTF("MASUKKAN BANYAK KATA UNTUK DITULIS [1..10] :


");
SCANF("%D", &JUMLAH);

FOR(I=0;I<JUMLAH;I++){
PRINTF("MASUKKAN KATA KE %D ", I+1);
FFLUSH(STDIN);
GETS(KATA[I]);
}

FOR(I=0;I<JUMLAH;I++)
FPRINTF(OUT, "%S \N", KATA[I]);
FCLOSE(OUT);
GETCH();
}
INPUT:
5
19
40
156
193

OUTPUT:
LIMA
SEMBILAN BELAS
EMPAT PULUH
SERATUS LIMA PULUH ENAM
SERATUS SEMBILAN PULUH TIGA
#include <stdio.h>
#include <conio.h>

#define MAX_DIGIT 4
#define MAX_STRING 256

static char *bilangan[] = { "nol", "satu", "dua", "tiga", "empat", "lima",


"enam", "tujuh", "delapan", "sembilan",
"sepuluh", "sebelas", "dua belas", "tiga belas", "empat
belas", "lima belas", "enam belas",
"tujuh belas", "delapan belas", "sembilan belas"};

static char *se[] = {"", "seratus", "seribu", "sejuta"};

static char *unit[] = {"", "puluh", "ratus", "ribu", "juta"};


//char hasil[MAX_STRING];

void puluh2kata(int angka)


{
int puluhan;
int satuan;

puluhan = angka / 10;


satuan = angka % 10;

if (puluhan > 1) {

printf("%s %s", bilangan[puluhan], unit[1]);

if (satuan != 0)
printf(" %s", bilangan[satuan]);
}
else if (puluhan != 0) {
printf("%s", bilangan[angka]);
}
else {
if (satuan != 0)
printf("%s", bilangan[satuan]);
}
}

void ratus2kata(int angka)


{
int ratusan;
int puluhan;
//char buffer[MAX_STRING];

//memset
ratusan = angka / 100;
puluhan = angka % 100;

if (ratusan > 1) {
printf("%s %s", bilangan[ratusan], unit[2]);
}
else if (ratusan == 1) {
if (ratusan != 0) {
printf("%s", se[1]);
}
}

if (puluhan != 0) {
printf(" ");
puluh2kata(puluhan);
}

void angka2ribuan(int angka)


{
int digit[MAX_DIGIT];
int positif;
int i;

//zero rule
if (angka == 0)
printf("%s\n", bilangan[0]);
else {
//positif = abs(angka);
positif = angka;

//pecah-pecah menjadi 3 digit-3 digit


for (i = 0; i < MAX_DIGIT; i++) {
digit[i] = positif % 1000;
positif /= 1000;
}

for (i = 0; i < MAX_DIGIT; i++) {


ratus2kata(digit[i]);
}

printf ("\n");
}
}

int main(void)
{
int angka;

printf("Tulis angka: ");


scanf("%d", &angka);

angka2ribuan(angka);

return 0;
}

PROGRAM TRANSLASI ANGKA KE KATA


#include <stdio.h>
#include <conio.h>

#define MAX_DIGIT 4
#define MAX_STRING 256

static char *bilangan[] = { "nol", "satu", "dua", "tiga", "empat", "lima",


"enam", "tujuh", "delapan", "sembilan",
"sepuluh", "sebelas", "dua belas", "tiga belas", "empat
belas", "lima belas", "enam belas",
"tujuh belas", "delapan belas", "sembilan belas"};
static char *satu[] = {"satu", "se"};

static char *unit[] = {"puluh", "ratus", "ribu", "juta", "milyar"};

static char *digitsfx[] = {"", "ribu", "juta", "milyar"};

void puluh2kata(int angka, int digit, int ratusan)


{
int puluhan;
int satuan;

puluhan = angka / 10;


satuan = angka % 10;

if (puluhan != 0) {
//ada digit puluhan
if (puluhan < 2)
printf("%s", bilangan[angka]);
else {
printf("%s %s", bilangan[puluhan], unit[0]);

if (satuan != 0)
printf(" %s", bilangan[satuan]);
}

printf(" %s", digitsfx[digit]);


}
else {
//cuman digit satuan
if (satuan == 1) {
if (digit == 0)
printf("%s", satu[0]);
else {
if (ratusan)
printf("%s %s", satu[0],
digitsfx[digit]);
else
printf("%s%s", satu[1],
digitsfx[digit]);
}
}
else if (satuan != 0) {
printf("%s", bilangan[satuan]);
printf(" %s", digitsfx[digit]);
}
}
}

void ratus2kata(int angka, int digit)


{
int ratusan;
int puluhan;

ratusan = angka / 100;


puluhan = angka % 100;
if (ratusan != 0) {
//ada digit ratusan
if (ratusan == 1) {
printf("%s%s", satu[1], unit[1]);
}
else
printf("%s %s", bilangan[ratusan], unit[1]);

if (puluhan != 0) {
printf(" ");
puluh2kata(puluhan, digit, 1);
}
else
printf(" %s", digitsfx[digit]);
}
else {
//cuman digit puluhan
if (puluhan != 0) {
printf(" ");
puluh2kata(puluhan, digit, 0);
}
}
}

void angka2ribuan(int angka)


{
int digit[MAX_DIGIT];
int positif;
int i;

//zero rule
if (angka == 0)
printf("%s\n", bilangan[0]);
else {
//positif = abs(angka);
positif = angka;

//pecah-pecah menjadi 3 digit-3 digit


for (i = 0; i < MAX_DIGIT; i++) {
digit[i] = positif % 1000;
positif = positif / 1000;
}

//translate tiap2 3 digit ke dalam kata


for (i = MAX_DIGIT - 1; i >= 0; i--) {
if (i > 0)
ratus2kata(digit[i], i);
else
ratus2kata(digit[i], 0);

printf(" ");
}

printf ("\n");
}
}

int main(void)
{
int angka;

printf("Tulis angka: ");


scanf("%d", &angka);

angka2ribuan(angka);

return 0;
}

PROGRAM UNTUK MENGKONVERSI BILANGAN BINER


MENJADI BILANGAN DESIMAL
# include <stdio.h>
# include <math.h>
# include <string.h>
void main()
{
char biner[8];
int i,d,t,jumlah,pangkat;
printf("Masukkan bilangan biner: ");
while(scanf("%s", &biner) != EOF)
{
d = strlen(biner);
while (d>8)
{scanf("%s", &biner); d = strlen(biner);}
jumlah = 0;
pangkat = d-1;
for (i=0;i<d;i++)
{
if (biner[i] == '1')
t = pow(2,pangkat);
else t = 0;
jumlah += t;
pangkat--;
}
printf("Desimal dari %s adalah %d\n", biner, jumlah);
}
getchar();
}
}

TRANSLASI ANGKA KE KATA


#include <stdio.h>
#include <conio.h>

#define MAX_DIGIT 4
#define MAX_STRING 256

static char *bilangan[] = { "nol", "satu", "dua", "tiga", "empat", "lima",


"enam", "tujuh", "delapan", "sembilan",
"sepuluh", "sebelas", "dua belas", "tiga belas", "empat
belas", "lima belas", "enam belas",
"tujuh belas", "delapan belas", "sembilan belas"};

static char *satu[] = {"satu", "se"};

static char *unit[] = {"puluh", "ratus", "ribu", "juta", "milyar"};

static char *digitsfx[] = {"", "ribu", "juta", "milyar"};

void puluh2kata(int angka, int digit, int ratusan)


{
int puluhan;
int satuan;

puluhan = angka / 10;


satuan = angka % 10;

if (puluhan != 0) {
//ada digit puluhan
if (puluhan < 2)
printf("%s", bilangan[angka]);
else {
printf("%s %s", bilangan[puluhan], unit[0]);

if (satuan != 0)
printf(" %s", bilangan[satuan]);
}

printf(" %s", digitsfx[digit]);


}
else {
//cuman digit satuan
if (satuan == 1) {
if (digit == 0)
printf("%s", satu[0]);
else {
if (ratusan)
printf("%s %s", satu[0],
digitsfx[digit]);
else
printf("%s%s", satu[1],
digitsfx[digit]);
}
}
else if (satuan != 0) {
printf("%s", bilangan[satuan]);
printf(" %s", digitsfx[digit]);
}
}
}

void ratus2kata(int angka, int digit)


{
int ratusan;
int puluhan;

ratusan = angka / 100;


puluhan = angka % 100;

if (ratusan != 0) {
//ada digit ratusan
if (ratusan == 1) {
printf("%s%s", satu[1], unit[1]);
}
else
printf("%s %s", bilangan[ratusan], unit[1]);

if (puluhan != 0) {
printf(" ");
puluh2kata(puluhan, digit, 1);
}
else
printf(" %s", digitsfx[digit]);
}
else {
//cuman digit puluhan
if (puluhan != 0) {
printf(" ");
puluh2kata(puluhan, digit, 0);
}
}
}

void angka2ribuan(int angka)


{
int digit[MAX_DIGIT];
int positif;
int i;

//zero rule
if (angka == 0)
printf("%s\n", bilangan[0]);
else {
//positif = abs(angka);
positif = angka;

//pecah-pecah menjadi 3 digit-3 digit


for (i = 0; i < MAX_DIGIT; i++) {
digit[i] = positif % 1000;
positif = positif / 1000;
}

//translate tiap2 3 digit ke dalam kata


for (i = MAX_DIGIT - 1; i >= 0; i--) {
if (i > 0)
ratus2kata(digit[i], i);
else
ratus2kata(digit[i], 0);

printf(" ");
}

printf ("\n");
}
}

int main(void)
{
int angka;

printf("Tulis angka: ");


scanf("%d", &angka);

angka2ribuan(angka);

return 0;
}

DERET BILANGAN PRIMA


#include<conio.h>
#include<stdio.h>

bool cekPrima(int x)
{
if(x<2)
return false;
else
{
bool IsPrima = true;
for(int i=2;i<x;i++)
if(x%i==0)
{
IsPrima=false;
break;
}
return IsPrima;
}
}

void main()
{
int x=1;
while(true)
{
printf("Masukkan angka (0 untuk keluar) : ");
scanf("%d",&x);
if(x==0)break;
printf("deret bilangan prima : ");
int counter = 0;
int i = 0;
while(counter!=x)
{
i++;
if(cekPrima(i))
{
printf ("%d",i);
counter++;
if(counter!=x)
printf(",");
}
}
printf("\n");
}
getch();
}

PERKALIAN MATRIKS
# include<stdio.h>
# define size 99

int j,brs1,brs2,klm1,klm2, a[size][size],b[size][size], c[size][size];

int main(){

printf("Masukan jumlah baris matriks1= ");scanf("%d", &brs1);


printf("Masukan jumlah kolom matriks1= ");scanf("%d", &klm1);
printf("Masukan jumlah baris matriks2= ");scanf("%d", &brs2);
printf("Masukan jumlah kolom matriks2= ");scanf("%d", &klm2);
printf("\n \n");
if(klm1 != brs2)
{
printf("Ngga bisa dikaliin matriksnya.. \nDasar Dodol\nPeace
Man...wkwkwkwkwk\n\n");
printf("\n");
}

else
{
printf("Masukan Matriks A \n");
for(int i=0;i<brs1;i++)
{
for(int j=0;j<klm1;j++)
{
scanf("%d", &a[i][j]);
}
}

printf("Matriks A \n");
for(int i=0;i<brs1;i++)
{
for(int j=0;j<klm1;j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}

printf("Masukan Matriks B\n");


for(int i=0;i<brs2;i++)
{
for(int j=0;j<klm2;j++)
{
scanf("%d", &b[i][j]);
}
}

printf("Matriks B \n");
for(int i=0;i<brs2;i++)
{

for(int j=0;j<klm2;j++)
{
printf("%d ", b[i][j]);
}
printf("\n");
}

}
if(klm1 == brs2)
{
printf("\n\n");
printf("Hasil kali: \n\n");
for(int i=0;i<brs1;i++)
{
for(int k=0;k<klm2;k++)
{
c[i][k]=0;
for(int j=0;j<klm1;j++)
{
c[i][k] +=a[i][j]*b[j][k];

}
printf("%d ", c[i][k]);

}
printf("\n");

}
else
{
;
}
}

BINTANG

CONTOH:

INPUT=6
OUTPUT
******
*****
****
***
**
*
# include<stdio.h>

int main(){
int n;

printf("Masukan jumlah n= ");


scanf("%d", &n);

for(int i=n;i>0;i--)
{
for(int j=i;j>=1;j--){

printf("*");
}
printf("\n");
}
}

INTANG LAGI...(BUAT BELAJAR PERULANGAN)

INPUT=6
OUTPUT
*
**
***
****
*****
******
# include<stdio.h>

int main(){
int n;

printf("Masukan jumlah n= ");


scanf("%d", &n);

for(int i=1;i<=n;i++)
{
for(int j=0;j<i;j++){
printf("*");
}
printf("\n");
}
}

METER KE INCHI, YARD, KAKI


#INCLUDE<STDIO.H>
MAIN()
{
FLOAT A;
PRINTF("MASUKKAN NILAI DALAM METER");
SCANF("%F",A);
PRINTF("%.0F METER = %D INCI = %D KAKI = %D
YARD",A,A*0.0254,A*0.3048,A*0.9144);
RETURN 0;
}
#include <stdio.h>

void main()
{
int i,j,k,temp;

for(i=1; i<=5; i++) //cetak kebawah sbanyak 5 baris


{
temp = i; //deklarasi temp = i,,misal i=1--
>temp=1,i=2,temp=2,pk temp supaya angkany ga ngikutin for
for(j=4; j>=i; j--) //cetak spasi
{
printf(" ");
}

for(k=1; k<=i; k++) //cetak angka


{
printf("%d",temp);
temp--;
}
printf("\n");
}
getchar();
}

#include <stdio.h>

void main()
{
int i,j,k,m,temp,temp2;

for(i=1; i<=5; i++) //cetak kebawah sbanyak 5 baris


{
temp = i; //penjelasan sama ky atas
temp2 = 2; //penjelasan sm ky atas,,di set 2 soalny abiz
angka 1 selalu 2
for(j=4; j>=i; j--) //cetak spasi
{
printf(" ");
}

for(k=1; k<=i; k++) //cetak sgitiga siku2 ampe angka 1


{
printf("%d",temp);
temp--; //angka temp kurang terus
}

if(i>=2) //jika i=2 (baris 2)


{
for(m=2; m<=i; m++)
{
printf("%d",temp2);
temp2++;
}
}

printf("\n");
}
getchar();
}

MENHITUNG JUMLAH DERET


#INCLUDE<STDIO.H>
INT MAIN()
{
INT I,N;
PRINTF("MASUKKAN N: ");
SCANF("%D",&N);
FOR(I=1;I<N;I++)
{
PRINTF("%D+",I);
}
PRINTF("%D=%G\N",N,(N*N+N)/2);
RETURN 0;

#include <stdio.h>

int main(void)
{
int n,i,jum = 0;

printf("N : ");
scanf("%d",&n);
fflush(stdin); //hapus buffer input di memori

for(i=1; i<=n; i++)


{
jum += i;
}

printf("\nJumlah = %d (",jum);

for(i=1; i<=n; i++)


{
if(i == n)
{
printf("%d)",n);
}
else
{
printf("%d + ",i);
}
}

getchar();
}

RANDOM DAN RERATA


#INCLUDE<STDIO.H>
#INCLUDE<STDLIB.H>
INT MAIN()
{
 INT I,J, N[500],TOTAL=0;
 FLOAT RERATA=0;

//PROSES RANDOM
 FOR (I=0;I<=5;I++)
     N[I]=RAND() % 1000;  //MENGAMBIL DATA SEC RANDOM DENGAN NILAI 0-1000

PRINTF("\NTAMPILKAN ISI ARRAY N\N\N");
  FOR (J=0;J<=5;J++)
  {
    PRINTF("%D\T",N[J]);

//PROSES MENCARI RERATA

  TOTAL = TOTAL + N[J] ;
  RERATA= TOTAL / 5;
  }
  PRINTF("RERATA = %F",RERATA);

  GETCHAR();
  GETCHAR();
  RETURN 0;

TEKS KE ANGKA
#include <stdio.h>
#include <conio.h>
#include <string.h>

// prototype fungsi-fungsi
void teksKeAngka(char *teks);

int main()
{
char str[40], str2[40];
int z;

printf("\nMasukan sebuah string : "); gets(str);


strcpy(str2, str);
teksKeAngka(str);
printf("\n%s : %s\n\n", str2, str);
getch();
return 0;
}

/*
description : fungsi untuk mengubah teks ke angka (seperti pada telepon)
*/
void teksKeAngka(char *teks)
{
int i, j, z;
// tabel yang akan dipergunakan untuk mengubah teks ke dalam bentuk
angka
char Array[10][5] = {
{' '}, {'.', ','}, {'A', 'B', 'C'}, {'D', 'E', 'F'}, {'G',
'H', 'I'}, {'J', 'K', 'L'}, {'M', 'N', 'O'},
{'P', 'Q', 'R', 'S'}, {'T', 'U', 'V'}, {'W', 'X', 'Y', 'Z'},
};

for (z = 0; z < strlen(teks); z++) {


for (i = 0; i < 10; i++) {
for (j = 0; j < strlen(Array[i]); j++) {
if (teks[z] == Array[i][j]) {
// nilai i ditambah dengan 48 karena
pada kode ASCII karakter '0' bernilai 48
teks[z] = i + 48;
}
}
}
}
}

STOPWATCH
#INCLUDE <STDIO.H>

VOID MAIN()
{
    CHAR TEKAN;
    INT HH1,HH2,MM1,MM2,SS1,SS2,MS;

    PRINTF("00:00:00:00");
    PRINTF("\N\N\N");

    DO{
    PRINTF("TEKAN S UNTUK START DAN CTRL+C UNTUK STOP : ");
    SCANF("%C",&TEKAN);
    FFLUSH(STDIN);
    }WHILE(TEKAN != 'S');

    HH1=0,HH2=0,MM1=0,MM2=0,SS1=0,SS2=0;
    
    FOR(INT I=1; I<=17; I++)
    {
        PRINTF("\N");
    }

    PRINTF("TEKAN CTRL + C UNTUK STOP");
    
    FOR(INT I=1; I<=8; I++)
    {
        PRINTF("\N");
    }

    FOR(INT K=0;;K++)
    {
        FOR(MS=0; MS<10; MS++)
        {
        FOR(INT I=0; I<20000000; I++);
        PRINTF("%D%D:%D%D:%D%D:0%D",HH1,HH2,MM1,MM2,SS1,SS2,MS);
        FOR(INT I=0; I<20000000; I++);
        PRINTF("\B\B\B\B\B\B\B\B\B\B\B");
        }

        IF(MS>9)
        {
            SS2++;
            MS=0;
        }

        IF(SS2>9)
        {
            SS1++;
            SS2=0;
        }
        IF(SS1 > 5)
        {
            MM2++;
            SS1 = 0;
            SS2 = 0;
        }

        IF(MM2>9)
        {
            MM1++;
            MM2=0;
        }

        IF(MM1 > 5)
        {
            HH2++;
            MM1 = 0;
            MM2 = 0;
        }

        IF(HH2>9)
        {
            HH1++;
            HH2 = 0;
        }
    }

    GETCHAR();

#define BUFFERSIZE 1024

int hh1,hh2,mm1,mm2,ss1,ss2,ms;

DWORD WINAPI stopwatch_thread( LPVOID lpParam )


{
HANDLE hStdout = NULL;
char buffer[BUFFERSIZE];
DWORD dwChars;

if((hStdout = GetStdHandle(STD_OUTPUT_HANDLE)) == INVALID_HANDLE_VALUE )


return 1;

for(int k=0;;k++)
{
for(ms=0; ms<10; ms++)
{
for(int i=0; i<20000000; i++);
system("cls");
snprintf(buffer,BUFFERSIZE,"=================================================\
n Stopwatch dengan thread
\n=================================================\nStopwatch = %d%d:%d%d:%d
%d:0%d\n(p = pause, r = resume): ",hh1,hh2,mm1,mm2,ss1,ss2,ms);
WriteConsole(hStdout,buffer,strlen(buffer),&dwChars,NULL);
}

if(ms>9){ss2++;ms=0;}
if(ss2>9){ss1++;ss2=0;}
if(ss1 > 5){mm2++;ss1 = 0;ss2 = 0;}
if(mm2>9){mm1++;mm2=0;}
if(mm1 > 5){hh2++;mm1 = 0;mm2 = 0;}
if(hh2>9){hh1++;hh2 = 0;}
}
}

DWORD WINAPI pause_display_thread( LPVOID lpParam )


{
HANDLE hStdout = NULL;
char buffer[BUFFERSIZE];
DWORD dwChars;

if((hStdout = GetStdHandle(STD_OUTPUT_HANDLE)) == INVALID_HANDLE_VALUE )


return 1;

for(int i=0; i<20000000; i++);


system("cls");

snprintf(buffer,BUFFERSIZE,"=================================================\
n Stopwatch dengan thread
\n=================================================\nStopwatch = %d%d:%d%d:%d
%d:0%d\n(p = pause, r = resume): ",hh1,hh2,mm1,mm2,ss1,ss2,ms);
WriteConsole(hStdout,buffer,strlen(buffer),&dwChars,NULL);
}
int main()
{
char input;
hh1=0,hh2=0,mm1=0,mm2=0,ss1=0,ss2=0;

bool stopwatch_thread_created = false;


HANDLE Handle_stopwatch = 0;
HANDLE Handle_pause_display = 0;

printf("=================================================\n");
printf(" Stopwatch dengan thread \n");
printf("=================================================\n");
printf("Stopwatch = 00:00:00:00\n");
printf("(s = start): ");
while(1)
{
scanf("%c",&input);
fflush(stdin);

if((input == 's')&&(stopwatch_thread_created == false))


{
stopwatch_thread_created = true;
Handle_stopwatch = CreateThread( NULL, 0,
stopwatch_thread, &input, 0, NULL);
if (Handle_stopwatch == NULL)ExitProcess(input);
}
else if(input == 'p')
{
SuspendThread(Handle_stopwatch);

if(Handle_pause_display==0)
{
Handle_pause_display = CreateThread( NULL, 0,
pause_display_thread, &input, 0, NULL);
if (Handle_pause_display == NULL)ExitProcess(input);
}
else
{
ResumeThread(Handle_pause_display);
}
}
else if(input == 'r')
{
SuspendThread(Handle_pause_display);
ResumeThread(Handle_stopwatch);

}
}

getchar();
}

PROGRAM MEMBALIK BILANGAN


#include<stdio.h>
#include<math.h>
void main ()
{
int n,a,b=0,j=0,bil,k;
printf("bilangan = ");
scanf("%d",&n); bil=n;
while(n>0)
{
b++;
n=n/10;
}
while(bil>0)
{
a=bil%10;
k=a*pow(10,b-1);
j=j+k;
b--;
bil=bil/10;
}
printf(" = %d\n",j);
}

FAKTORIAL
#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();
}
PROGRAM ANTRIAN
#include<stdio.h>
#include<conio.h>
void main()

{
int cek=0, data[20], x, hapus;
char pil;

do {
clrscr();
printf("1. Tambah Antrian\n");
printf("2. Hapus Antrian\n");
printf("3. Lihat Antrian\n");
printf("4. Keluar\n");
printf("Silahkan masukkan pilihan anda... ");
pil=getche();

if(pil!='1' && pil !='2' && pil !='3' && pil!='4' )

printf("\n\nAnda salah mengetikkan inputan...\n");


else
{

if(pil=='1') //PUSH
{
if(cek==20)

printf("\nAntrian Penuh\n\n");
else
{
printf("\nMasukkan nilai--> ");scanf("%i",&x);

data[cek]=x;
cek++;
}
}else
{
if(pil=='2') //POP
{
if(cek==0)
printf("\nAntrian kosong\n\n");
else
{

hapus=data[0];
for(int v=0;v<cek;v++)
data[v]=data[v+1];
data[cek-1]=NULL;

cek--;
printf("\nData dgn nilai=%i terhapus.",hapus);
}getch();

}
else
{

if(pil=='3') //CEK DATA


{
if(cek==0)
printf("\nAntrian Kosong.\n\n");
else
{
printf("\n");
for(int z=0;z<cek;z++)

{
printf(" | ");
printf("%i",data[z]);
printf(" | ");

}
}getch();
}
}
}
}
}while(pil!='4');
}Output :

1. Tambah Antrian
2. Hapus Antrian
3. Lihat Antrian
4. Keluar
Silahkan masukkan pilihan anda...

( jika tekan 1, maka )


Masukkan Nilai -->
( Jika tekan 2, maka )

Data dgn nilai = terhapuskan.


( Jika tekan 3, maka )
| nilai yg di masukkan |
( Jika tekan 4, maka )
Keluar dari program

BILANGAN GANJIL GENAP


#include <iostream.h>

02 #include <conio.h>

03 main()

04 {

05     clrscr();

06     int bil, sisa;


07     cout<<"Masukkan sebuah bilangan : ";

08     cin>>bil;

09     sisa = bil % 2;

10     if(sisa == 0)

11         cout<<bil<<" adalah bilangan genap"<<endl;

12     else

13         cout<<bil<<" adalah bilangan ganjil"<<endl;

14     getch();

15 }

PROGRAM RATA-RATA
01 #include <iostream.h>

02 #include <conio.h>

03  
04 void main()

05 {

06     float n, total, rata2;

07     total = 0;

08     for(int i=0; i<10; i++)

09     {

10         cout<<"Masukkan nilai ke "<<(i+1)<<" : ";

11         cin>>n;

12         total = total + n;

13     }

14     rata2 = total / 10;


15     cout<<"Total = "<<total<<endl;
16     cout<<"Rata2 = "<<rata2<<endl;
17     getch();

18 }

PROGRAM PANGKAT

#include <stdio.h>
int pangkat (int a,int b)

{
int i, bil = a;
if(b==1)

return a;
else
{ for (i=2;i<=b;i++)
a = a * bil;
return a;
}
}void main()
{ int x,y,hasil;

printf("Masukan Sebuah Bilangan:");


scanf("%i",&x);
printf("Masukan Nilai Pangkat:");
scanf("%i",&y);
hasil = pangkat (x,y);
printf("Hasil Pangkatnya adalah : %i",hasil);

}
Output :
Masukkan Sebuah Bilangan :
( input Sebuah bilangan )
Masukkan Nilai Pangkat :
( input Nilai Pangkat )
Hasil pangkatnya adalah :
( Hasil dari nilai dari sebuah bilangan di pangkatkan dengan nilai
pangkat yg sudah dimasukkan )

#INCLUDE <STDIO.H>
#INCLUDE <MATH.H>
#INCLUDE<CONIO.H>
MAIN()
{ INT I,J,N,N,X,Y,Z, T1=0, T2=0;
INT M[15][15];
CLRSCR();
PRINTF(“MATRIX NXN, N=BIL GANJIL, MAKSIMUM = 15, MINTA
N = BERAPA? “);
SCANF(“%D”, &N);
PRINTF(“NILAI AWALNYA = BERAPA? : “);
SCANF(“%D”, &X);
PRINTF(“INTERVAL NILAI DALAM KELOMPOK, (+) ATAU (-)
BERAPA? : “);
SCANF(“%D”, &Y);
PRINTF(“INTERVAL NILAI PINDAH KELOMPOK (+) ATAU (-)
BERAPA? : “);
SCANF(“%D”,&Z); PRINTF(“\N\N);
FOR(I=0; I<=N+2; I++)
{FOR(J=0; J<=N+2; J++)
M[I][J] = 0; }
I=1; J=(N+1) / 2;
X-=Y;
FOR(N=1; N<=N*N; )
{ IF(M[I][J] = = 0)
{ X+=Y;
M[I][J] = X;
IF(I==N) M[0][J] = X;
IF(J==1) M[I][N+1] = X;
IF(I==N && J==1 ) M[0][N+1] = X;
I–; J++; N++;
IF(I==0 && J==N+1) CONTINUE;
ELSE { IF (I==0) I=N;
IF(J==N+1) J=1; }
}
ELSE { I+=2; J-=1; X=X-Y+Z; }
}
FOR(I=1; I<=N; I++) T1+=M[I][N+1-I];
FOR(I=1; I<=N*5;I++) PRINTF(“%C”, ‘ ‘);
PRINTF(“%5D\N\N” T1);
FOR(I=1;I<=N+1;I++)
{ FOR(J=1; J<=N; J++)
{ PRINTF(“%5D”, M[I][J]);
M[I][N+2] += M[I][J];
M[N+1][J] += M[I][J];
}
T2 += M[I][J];
IF(I==N+1) M[I][N+2] = T2;
PRINTF(“%5D\N\N”,M[I][N+2]);
}
}

You might also like