Pages

Minggu, 09 November 2014

PEMROGRAMAN BAHASA C

PEMROGRAMAN BAHASA C [ Ryo Amogha ]


IMPLEMENTASI BAHASA C
Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer. Dibuat padatahun 1972 oleh Dennis Ritchie untuk Sistem Operasi Unix di Bell Telephone Laboratories.Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun bahasa ini jugasering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepacompiler yang sangat populer telah tersedia. C secara luar biasa mempengaruhi bahasa populer lainnya, terutama C++ yang merupakan extensi dari C.


PROGRAM EDITOR BAHASA C

Banyak program yang dapat kamu gunakan sebagai editor bahasa C, salah satunya adalahTurbo C tapi kelemahan dari software ini adalah tidak nyamannya dalam penggunaannyadikarenakan tampilannya yang kurang menarik dan sulitnya untuk melakukan Copy dan Paste.Mungkin pilihan terbaik yang dapat kamu gunakan sebagai editor Bahasa C adalah DevC.Kalian juga dapat menggunakan program lain yang terdapat banyak di Internet yang bisadigunakan secara gratis. Saat ini, banyak bahasa pemrograman yang terfokus pada bagaimanacaranya membantu anda menulis program-program dengan ratusan ribu baris. Untuk itu,mereka menawarkan anda paket-paket, namespaces, sistem tipe kompleks, dan ribuan konstruksi.
CONTOH KODE SOURCE BAHASA C
Berikut ini Program Bilangan Prima menggunakan Bahasa C.
___________________________________________________________________________________
Source Code :#include <stdio.h>#include <math.h>
int isprima(int n)
{
int li;
if (n == 2)
return 1;
if (n % 2 == 0 || n == 1)
return 0;
for(li = 3;li <= sqrt(n);li+=2)
{
if (n%li == 0)
return 0;
}
return 1;
}
void main(void)
{
int li;
int a,b;
printf(“\n===========================================\n”);
printf(“\n\t Program Bilangan Prima\n”);
printf(“\n===========================================\n”);
printf(“oleh : MUHAMMAD RIDWAN SATRIO (1208605028)”);
printf(“\n===========================================\n”);
printf(“Teknik Informatika || Universitas Udayana \n”);
printf(“===========================================\n\n”);
printf(“Ketik bilangan Awal = “);
scanf(“%d”,&a);
printf(“Ketik bilangan Akhir = “);
scanf(“%d”,&b);
printf(“Bilangan prima dari %d sampai %d : \n”,a,b);
for(li = a;li<=b;li++)
if (isprima(li))
printf(“%3d “,li);
if(a>b)
{
printf(“Bilangan Awal lebih besar dari bilangan Akhir”);
}
printf(“\n\n”);
getche();
} 
_______________________________________________________________________________________________

Program menghasilkan bentuk Persegi atau Segitiga sesuai pilihan user
Source Code :
___________________________________________________________________________________
#include <stdio.h>
#include <stdlib.h>
int main()
{
int menu,baris,kolom,n,tinggi;
printf(“\n===========================================\n”);
printf(“\n  Program Pembentuk Persegi Empat dan \n”);
printf(“\n  Segitiga dengan Asterix/tanda bintang \n”);
printf(“\n===========================================\n”);
printf(“oleh : MUHAMMAD RIDWAN SATRIO (1208605028)”);
printf(“\n===========================================\n”);
printf(“Teknik Informatika || Universitas Udayana \n”);
printf(“===========================================\n\n”);
printf(“Menu : \n1. Membentuk Persegi \n2. Membentuk Segitiga Piramida”);
printf(“\nPilih Menu : “); scanf(“%d”, &menu);
if(menu==1)
{
printf(“masukkan sisi persegi : “);
scanf(“%d”,&n);
for(baris=0;baris < n;baris++)
{
for(kolom=0;kolom < n;kolom++)
{
printf(“*”);
}
printf(“\n”);
}
getch();
}
else if(menu==2)
{
printf(“masukkan tinggi segitiga : “);
scanf(“%d”,&tinggi);
for(baris=1;baris<=tinggi;baris++)
{
for(kolom=1;kolom<=tinggi-baris;kolom++)
{
printf(” “);
}
for(kolom=1;kolom<=2*baris-1;kolom++)
{
printf(“*”);
}
printf(“\n”);
}
getch();
}
}
___________________________________________________________________________________

program Matriks 2 dimensi :
Source Code :
___________________________________________________________________________________
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main()
{
int brs,klm,**mat,i,j,total,o,p;
printf(“\n===========================================\n”);
printf(“\n\tProgram Array 2 Dimensi \n”);
printf(“\n===========================================\n”);
printf(“oleh : MUHAMMAD RIDWAN SATRIO (1208605028)”);
printf(“\n===========================================\n”);
printf(“Teknik Informatika || Universitas Udayana \n”);
printf(“===========================================\n\n”);
printf(“Ketik jumlah baris : “);
scanf(“%d”,&brs);
printf(“Ketik jumlah kolom : “);
scanf(“%d”,&klm);
mat = malloc(brs*sizeof(int*));
for(i=1;i<=brs;i++)
{
mat[i] = malloc(klm*sizeof(int));
}
printf(“\nInput Data Matriks : \n”);
for(i=1;i<=brs;i++)
{
for(j=1;j<=klm;j++)
{
printf(“A[%d][%d] = “,i,j);
scanf(“%d”,&mat[i][j]);
}
}
printf(“\nmatriks : \n”);
for(i=1;i<=brs;i++)
{
for(j=1;j<=klm;j++)
{
printf(“A[%d][%d] = %d\n”,i,j,mat[i][j]);
}
}
for(o=1;o<=brs;o++)
{
for(p=1;p<=klm;p++)
{
total+=mat[o][p];
}
}
printf(“total = %d”,total);
return 0;
}
___________________________________________________________________________________

Sebuah Program implementasi Tree dengan menggunakan bahasa C yang dapat menampilkan Preorder, Inorder, dan Postorder !
___________________________________________________________________________________
#include <stdio.h>#include <malloc.h>struct nod {
struct nod *left;
char data;
struct nod *right;
};
typedef struct nod NOD;
typedef NOD TREE;
NOD *NodBaru(char item) {
NOD *n;
n = (NOD*) malloc(sizeof(NOD));
if(n != NULL) {
n->data = item;
n->left = NULL;
n->right = NULL;
}
return n;
}
void BinaPokok(TREE **T) {
*T = NULL;
}
typedef enum { FALSE = 0, TRUE = 1} BOOL;
BOOL PokokKosong(TREE *T) {
return((BOOL)(T == NULL));
}
void TambahNod(NOD **p, char item) {
NOD *n;
n = NodBaru(item);
*p = n;
}
void preOrder(TREE *T) {
if(!PokokKosong(T)) {
printf(“%c “, T->data);
preOrder(T->left);
preOrder(T->right);
}
}
void inOrder(TREE *T) {
if(!PokokKosong(T)) {
inOrder(T->left);
printf(“%c “, T->data);
inOrder(T->right);
}
}
void postOrder(TREE *T) {
if(!PokokKosong(T)) {
postOrder(T->left);
postOrder(T->right);
printf(“%c “, T->data);
}
}
int main()
{
TREE *root;
char isi;
BinaPokok(&root);
TambahNod(&root, isi = ‘A’);
TambahNod(&root->left, isi = ‘B’);
TambahNod(&root->left->right, isi = ‘C’);
TambahNod(&root->right, isi = ‘D’);
TambahNod(&root->right->right, isi = ‘E’);
TambahNod(&root->right->right->left, isi = ‘F’);
printf(“Tampilan secara PreOrder: “);
preOrder(root);
printf(“\nTampilan secara InOrder: “);
inOrder(root);
printf(“\nTampilan secara PostOrder: “);
postOrder(root);
printf(“\n\n”);
getch();
}
___________________________________________________________________________________

Berikut ini Source Code program graph dalam bahasa C :
Source Code :
___________________________________________________________________________________
#include <stdio.h>
#include <stdlib.h>
typedef struct vertex
{
char nama[100];
float x, y;
float status;
float jarak;
struct vertex *next,*conector;
};
typedef struct vertex *pvertex;
typedef struct edge
{
float jarak;
char titik1[100];
char titik2[100];
struct edge *next;
};
typedef struct edge *garis;
garis awalga = NULL, akhirga= NULL;
pvertex makeptree (float x, float y, char nama[])
{
pvertex baru;
baru=(pvertex)malloc(sizeof(struct vertex));
baru->x=x;
baru->y=y;
baru->status=0;
baru->next=NULL;
baru->conector=NULL;
strcpy(baru->nama,nama);
}
void makevertex (pvertex *vertex,float x,float y,char nama[])
{
pvertex p , q ;
p = makeptree(x,y,nama);
q = *vertex;
if(q == NULL)
*vertex = p ;
else
{
for(;q->next;q=q->next)
{
q->next = p;
}
}
void makeedge(garis * awalga, garis * akhirga, char titik1[], char titik2[], float jarak)
{
garis baru;
baru=(garis)malloc(sizeof(edge));
baru->jarak=jarak;
strcpy(baru->titik1,titik1);
strcpy(baru->titik2, titik2);
if(*awalga==NULL)
{
*awalga=baru;
*akhirga=baru;
}
else
{
(*akhirga)->next=baru;
(*akhirga)=baru;
}
}
void cek(pvertex vertex, int jumlah)
{
pvertex awal,p,q;
float jarak;
float min ;
float temp;
awal = vertex;
p = awal;
for(int i=0;i
{
min = 999;
p->status =1;
for(q=awal->next;q!=NULL;q=q->next)
{
if(q->status!=1)
{
jarak=(((p->x)-(q->x))*((p->x)-(q->x)))+(((p->y)-(q->y))*((p->y)-(q->y)));
jarak=sqrt(jarak);
if (min>jarak)
{
min = jarak;
p->jarak = min;
p->conector = q;
}
makeedge(&awalga,&akhirga,p->nama,q->nama,p->jarak);
}
}
p = p->conector;
}
temp=(((p->x)-(awal->x))*((p->x)-(awal->x)))+(((p->y)-(awal->y))*((p->y)-(awal->y)));
p->jarak = sqrt(temp);
p->conector = awal;
}
void displayedge(pvertex vertex,int jumlah)
{
pvertex list = vertex;
float tot;
tot += vertex->jarak;
printf(“\n\t%s ke %s\n”, list->nama,list->conector->nama);
list = list->conector;
for(int a=0; a
{
printf(“\n\t%s ke %s\n”, list->nama,list->conector->nama);
tot += list->jarak;
list = list->conector;
}
printf(“\n”);
}
___________________________________________________________________________________

0 komentar:

Posting Komentar