Kamis, 23 Desember 2010

Insertion Sort

Langkah Pertama



#include<stdio.h>
void inputan();
void keluaran();
void insertionsort();

Save dengan format bebas.h


Kedua



#include "bebas.h"
void inputan(int A[],int n)
{
int i;//pencacah
printf("masukan data \n");
for(i=0;i<n;i++)
{
printf("A[%d]",(i+1));
scanf("%d",&A[i]);
}
printf("\n");
}

void keluaran(int A[],int n)
{
int i;//pencacah
printf("hasil dari pengurutan dengan insertion sort \n");
printf("------------------------------------------- \n");
for(i=0;i<n;i++)
{
printf("A[%d]= %d",i+1,A[i]);
printf("\n");
}
}

void insertionsort(int A[],int n)
{
int j,i,x;
for(i=1;i<n-1;i++)
{
j=i;
x=A[i];
while(A[j-1]>x && j>0)
{
A[j]=A[j-1];
j=j-1;
}
A[j]=x;
}
}
Simpan dengan format "bebas.c"

Ketiga

#include "bebas.h"
int main()
{
int n;
printf("Insertion Sort \n");
printf("-------------- \n");
printf("Berapa elemen?");scanf("%d",&n);
int A[n];
inputan(A,n);
insertionsort(A,n);
keluaran(A,n);
getch();
return 1;
}

Mencetak Array dengan Bahasa C

Pada saat saya pertama kali mempelajari program cetak array ini, pemateri mulai mengajarkan saya mengenai pembagian struktur script yang dibagi menjadi beberapa file. File itu berupa dua format *c dan sebuah format *h. Oke kita langsung ikuti langkah-langkahnya aja yaa :)
Oh iya, ini di urutkan dengan metode bubble sort.. enjoy !

Pertama :
Kita akan membuat file *h terlebih dahulu dengan isi script :

#include&lt;stdio.h&gt;
#define MAX 10
void cetakArray();
void tukar();
void inputArray();

Kedua :simpan dengan format (dot) h
Setelah itu kita akan membuat file (dot) c dengan script sebagai mana berikut :

#include "zd6.h"

void cetakArray(int A[], int n)
{
int j;
for(j=1;j&lt;=n;j++)
{
printf("A[%d]=%d \n",j,A[j]);
}
}

void swaping(int A[],int b,int tmp)
{
if (A[b]

{
tmp=A[b];
A[b]=A[b-1];
A[b-1]=tmp;
}
}

void sortingnya(int A[],int N)
{
int a,b,tmp;
for (a=1; a&lt;=(N);a++)
{
for(b=(N);b&gt;=(a+1);b--)
{
swaping(A,b,tmp);
}
}
}
void inputArray(int A[], int N)
{
int i;
printf("Msukan Data \n");
for (i=1;i&lt;=N;i++)
{
printf("A[%d]",i);scanf("%d",&amp;A[i]);
}
}

Nah, yang terakhir kita akan membuat file utamanya yang bernama "main.c" dengan isian sebagai mana berikut :

#include "zd6.h"
int main()
{
int N,i;
printf("Masukan berapa elemen=");scanf("%d",&amp;N);
printf("\n");
int A[N];
inputArray(A,N);
printf("\n");
sortingnya(A,N);
printf("\n");
cetakArray(A,N);
getch();
return 1;
}

Kita dapat melihat pada script awal yang saya highlight dengan warna merah disana tercantum #include&lt;stdio.h&gt; yang merupakan pemanggilan default library bahasa c. Nah, kita membuat file (dot) h tersebut agar dengan kata lain membuat custom library atau dapat dikatakan juga extension library.
Alhasil, pada tahapan kedua dan ketiga menjadi #include "zd6.h"

Setelah semuanya telah terstruktur lalu compile !
Seperti biasa I prefer MinGW ;)


Rerata dengan Array Bahasa C

#include
int main()
{
int A[6];
int i=0;
int jum=0;
float u;
/*penginputan data*/
for (i=1;i<=6;i++)
{
printf("masukan nilai A[%d]: ",i);
scanf("%d", &A[i]);
}
/*pencetetakan data*/
for(i=1;i<=6;i++)
{
printf("%d \n",A[i]);
}

/*perhitungan jumlah*/
for (i=1;i<=6;i++)
{
jum=jum+A[i];
}

/*rerata*/
u=jum/6;
printf("Rata-ratanya adalah %d/6 %f",jum,u);
getch();
return 1;
}

Procedure dalam Bahasa C

Disini merupakan dasar dari procedure pada bahasa C, sebagai mana procedure yang berfungsi untuk mengefektifkan penggunaan sebuah script. Dibawah ini merupakan program yang berfungsi untuk mengulang sebuah kata "waw" sebanyak 10 kali.


#include
void tulis10kali (void)
{
int j;
for (j=0;j<10;j++)
{
printf("waw \n");
}
}
int main()
{
tulis10kali();
getch();
return 1;
}

Parameter Masukan dan Keluaran: Menghitung Keliling dengan Bahasa C

#include
#define PI 3.14159

void HitungKeliling(double *X)
{
*X=2*PI*(*X);
}

int main(void)
{
int R;
double param;
printf("Masukan jari-jari");scanf("%d",&R);
param=(double)R;
HitungKeliling(&param);
printf("Keliling lingkaran dengan jari-jari %d : %f",R,param);
getch();
return 1;
}