Showing posts with label Program & source Code "C". Show all posts
Showing posts with label Program & source Code "C". Show all posts

Wednesday, November 23, 2016

ARRAY

Array
Ex.
int i, myarr[5];
myarr[0] = 9;
myarr[1] = 3;
myarr[2] = 1;
myarr[3] = 2;
myarr[4] = 5;
for(i = 0; i < 5; i++)
printf(“%d ”, myarr[i]);
ex.
int i;
char mychar[] = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’};

REKURSIF


Percobaan
Program 7.1 Cetak bilangan
#include <stdio.h>

void cetak(int n);

main(void) {
cetak(5);
}

/*
 * fungsi cetak()
 * tipe kembalian: void
 * parameter:
 * n: int
 * n sebagai jumlah bilangan
 *
 */

void cetak(int n) {
if(n >= 0) { // syarat rekursi, n >= 0
printf("%d\n", n); // mencetak n
cetak(n - 1); // rekursi
}
}

Program 7.2 Jumlah
#include <stdio.h>

int jumlah(int x);

int main(void) {
int n;

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

printf("%d", jumlah(n));

return 0;
}

/*
 * fungsi jumlah()
 * tipe kembalian: int
 * parameter:
 * x: int
 * x sebagai suku bilangan
 *
 */

int jumlah(int x) {
if(x == 0) // syarat rekursi berhenti
return 0;
else
return x + jumlah(x - 1); // rekursi
}

Program 7.3 Piramid
#include <stdio.h>

void piramid(int t);

int main(void) {
int tinggi;

printf("tinggi piramid: ");
scanf("%d", &tinggi);

piramid(tinggi);

return 0;
}

/*
 * fungsi piramid()
 * tipe kembalian: int
 * parameter:
 * t: int
 * t sebagai tinggi
 *
 */

void piramid(int t) {
int i;

if(t >= 1) { // syarat rekursi, t >= 1
for(i = 1; i <= t; i++) // menggambar karakter *
printf("*");

printf("\n");

piramid(t - 1); // rekursi
}
}

Program 7.4 Faktorial
#include <stdio.h>

int faktorial(int n);

int main(void) {
int n;

printf("Masukkan bilangan: ");
scanf("%d", &n);

printf("Faktorial %d! = %d", n, faktorial(n));

return 0;
}

/*
 * deklarasi fungsi faktorial()
 * tipe kembalian: int
 * parameter:
 * n: int
 *
 * n sebagai bilangan yang dihitung
 */

int faktorial(int n) {

// bila n bernilai < 2 maka

if(n < 2) {
// fungsi mengembalikan nilai 1
// sekaligus sebagai batas rekursi akan berhenti
return 1;
} else {

// proses rekursi
// di sini terjadi pemanggilan dirinya sendiri

// faktorial(n) = n * faktorial(n - 1);

return n * faktorial(n - 1);
}
}

Program 7.5Fibonacci
#include <stdio.h>

int fibonacci(int n);

int main(void) {
int n;

printf("Masukkan suku: ");
scanf("%d", &n);

printf("Bilangan Fibonacci ke-%d adalah %d", n, fibonacci(n));

return 0;
}

/*
 * fungsi fibonacci()
 * tipe kembalian: int
 * parameter
 * n: int
 * n sebagai suku bilangan
 *
 */

int fibonacci(int n) {
if(n <= 2) // syarat rekursi, n <= 2
return 1;
else
return fibonacci(n - 2) + fibonacci(n - 1); // rekursi
}

FUNGSI

Percobaan
Program 6.1 Fungsi tanpa mengembalikan nilai
#include <stdio.h>

void salam(void);

int main(void) {
// manggil fungsi salam()
salam();
}
// deklarasi fungsi salam()
// bertipe void (tidak mengembalikan nilai)
// tidak memiliki parameter

void salam(void) {
printf("Hello, World\n");
printf("Saya sedang belajar membuat fungsi\n");
}


Program 6.2 Fungsi tanpa mengembalikan nilai
#include <stdio.h>

void halo(char nama[15]);

int main(void) {
// manggil fungsi halo()
halo("John");
}

// deklarasi fungsi halo()
// bertipe void (tidak mengembalikan nilai)
// memiliki parameter

void halo(char nama[15]) {
printf("Hello, %s\n", nama);
printf("Bagaimana kabarmu?\n");
}

Program 6.3 Cek ganjil atau genap
#include <stdio.h>

int ganjil(int n);

int main(void) {
int bil;
while(bil > 0) {
printf("Masukkan bilangan: ");
scanf("%d", &bil);

if(ganjil(bil)) {
printf("%d adalah ganjil\n", bil);
} else {
printf("%d adalah genap\n", bil);
}
}

return 0;
}

/*
 * deklarasi fungsi ganjil() bertipe int,
 * dengan 1 parameter:
 * n bertipe int
 */

int ganjil(int n) {
if(n % 2 == 0) {
// bila genap mengembalikan nilai 0 (false)
return 0;
} else {
// bila tidak genap mengembalikan nilai selain 0 (true)
return 1;
}
}

Program 6.4Nilai min dan max
#include <stdio.h>
#define MAX 1
#define MIN 0

int min(int a, int b, int c);
int max(int a, int b, int c);
int minmax(int a, int b, int c, int f);

int main(void) {
int a, b, c;

printf("Masukkan 3 bilangan: ");
scanf("%d%d%d", &a, &b, &c);

// memanggil fungsi max() untuk mengecek bilangan terbesar
// dan fungsi min() untuk mengecek bilangan terkecil

printf("\nMenggunakan fungsi min() dan max():\n");
printf("Bilangan Terbesar: %d\n", max(a, b, c));
printf("Bilangan Terkecil: %d\n\n", min(a, b, c));

// memanggil fungsi minmax() untuk mengecek bilangan
// terbesar dan terkecil

printf("Menggunakan fungsi minmax():\n");
printf("Bilangan Terbesar: %d\n", minmax(a, b, c, MAX));
printf("Bilangan Terkecil: %d\n", minmax(a, b, c, MIN));

return 0;
}


/*
 * deklarasi fungsi min()
 * tipe kembalian: int
 * parameter:
 * a: int
 * b: int
 * c: int
 */

int min(int a, int b, int c) {
int min = a;

// pengecekan nilai min

if(b < min)
min = b;

if(c < min)
min = c;

// mengembalikan nilai min
return min;
}

/*
 * deklarasi fungsi min()
 * tipe kembalian: int
 * parameter:
 * a: int
 * b: int
 * c: int
 */

int max(int a, int b, int c) {
int max = a;

// pengecekan nilai max

if(b > max)
max = b;

if(c > max)
max = c;

// mengembalikan nilai max
return max;
}

/*
 * deklarasi fungsi minmax()
 * tipe kembalian: int
 * parameter:
 * a: int
 * b: int
 * c: int
 * f: int
 *
 * keterangan
 * a, b, c sebagai bilangan yang dicek nilainya
 *
 * f sebagai penanda pengecekan, apakah max atau min
 */

int minmax(int a, int b, int c, int f) {

// bila f bernilai MAX
if(f == MAX) {

// panggil fungsi max() dan kembalikan nilainya
return max(a, b, c);
} else if(f == MIN) {

// bila f bernilai MIN
// panggil fungsi min() dan kembalikan nilainya
return min(a, b, c);
}
}

Program 5.5 Piramid
#include <stdio.h>

void piramid(int t, char c);

int main(void) {
int t;
char c;

printf("-- Menggambar Piramid --\n");

printf("   karakter: ");
scanf("%c", &c);

printf("   tinggi  : ");
scanf("%d", &t);

printf("\n");

piramid(t, c);

return 0;
}

/*
 * deklarasi fungsi piramid()
 * tipe kembalian: void
 * parameter:
 * t: integer
 * c: char
 *
 * t untuk tinggi piramid
 * c untuk karakter yang akan tuliskan
 */

void piramid(int t, char c) {
int i, j;

for(i = 1; i <= t; i++) {
for(j = t - i; j >= 1; j--) {
printf(" ");
}

for(j = 1; j <= i; j++) {
printf("%c", c);
}

for(j = 2; j <= i; j++) {
printf("%c", c);
}
printf("\n");
}
}

Program 6.6 Faktorial
#include <stdio.h>

int faktorial(int n);

int main(void) {
int n;

printf("Masukkan bilangan: ");
scanf("%d", &n);

printf("Faktorial %d! = %d", n, faktorial(n));
return 0;
}

/*
 * deklarasi fungsi faktorial()
 * tipe kembalian: int
 * parameter:
 * n: int
 *
 * n sebagai bilangan yang dihitung
 */

int faktorial(int n) {
int i, f;

f = 1;

// perhitungan menggunakan struktur perulangan
for(i = n; i >= 1; i--) {
f*=i;
}

return f;
}


Thursday, August 11, 2016

STRUKTUR KONTROL KEPUTUSAN

STRUKTUR KONTROL KEPUTUSAN

1. Membandingkan nilai

#include <stdio.h>
int main(void)
{
int a = 4;
// membandingkan apakah a bernilai 4
if(a == 4)
// jika benar maka:
printf("True");
return 0;
}

STRUKTUR KONTROL PERULANGAN


Program 5.1 Struktur while
#include <stdio.h>

int main(void) {
// variabel i sebagai iterator (penanda langkah perulangan)
// langkah perulangan dimulai dari 0 (i = 0)
int i = 0;

//lakukan perulangan ketika i bernilai kurang dari 5
while(i < 5) {
printf("Baris ke-%i\n", i);

// operasi increment untuk langkah perulangan
i++;
}

return 0;
}



Program 5.2 Cek ganjil atau genap
#include <stdio.h>

int main(void) {
int x;

// lakukan perulangan
do {
printf("Masukkan bilangan bulat: ");
scanf("%d", &x);

if(x != 0) {
// cek bilangan genap dan ganjil
if(x % 2 == 0) {
printf("Genap\n");
} else {
printf("Ganjil\n");
}
}
} while(x != 0);
// selama x tidak bernilai 0

return 0;
}

Program 5.3Barisan ganjil
#include <stdio.h>

int main(void) {
int i;

// lakukan perulangan mulai i = 1,
// selama i kurang dari atau sama dengan 20,
// dengan dengan lagkah increment 2 (1, 3, 5,..)
for(i = 1; i <= 20; i+=2) {
printf("%d ", i);
}

return 0;
}



Program 5.4 Deret genap
#include <stdio.h>

int main(void) {
int i, suku, baris, deret;

i = 1;
baris = 0;
deret = 0;


printf("-- DERET GENAP --\n");

printf("suku: ");
scanf("%d", &suku);

while(i <= suku) {
// baris = baris + 2
baris+=2;

// deret = deret + baris
deret+=baris;

printf("%d + ", baris);

i++;
}

printf("\b\b= %d", deret);
return 0;
}

Program 4.5 Piramid
#include <stdio.h>

int main(void) {
int i, j, t;

printf("-- PIRAMID --\n");

printf("tinggi: ");
scanf("%d", &t);

// struktur for bersarang
for(i = 1; i <= t; i++) {
for(j = 1; j <= i; j++) {
printf("*");
}
printf("\n");
}
return 0;
}

  Bila syarat atau kondisi perulangan ditentukan oleh masukan dari user biasanya lebih mudah menggunakan struktur do-while

Sunday, July 24, 2016

INPUT OUTPUT STANDAR

INPUT OUTPUT STANDAR


1. Menampilkan output ke konsol

ex.
#include <stdio.h>
main() 
{ 
printf(“Hello World”); 
} 


ex.
#include <stdio.h>
int main(void) 

 int a; // tipe integer (bilangan bulat)
 float b; // tipe float (bilangan real) 
 char c; // tipe karakter // tipe string, pendeklarasiannya
// harus langsung diinisialisasi
char d[10] = “Algoritma”;
// inisialisasi variabel
a = 2;
b = 4.5;
c = ‘A’;
/*
* menampilkan isi variabel ke konsol
* perhatikan untuk aturan pemformatannya
* %d untuk integer, %f untuk float, %c untuk char, %s untuk string
*/
printf(“a = %d\n”, a);
printf(“b = %f\n”, b);
printf(“c = %c\n”, c);
printf(“d = %s\n”, d);
// boleh menambahkan baris berikut ini
// di setiap akhir main
return 0;

}