Kampus D3-Cilibende, Jl. Kumbang,Cilibende

Kampus Diploma IPB-Cilibende.

Kampus S2-S1 Ekstensi BaranangSiang, Jl. Padjajaran

Kampus IPB BaranangSiang.

Kampus Dramaga IPB-S1 Reguler

Kampus Dramaga IPB.

Kampus S3 Gunung Gede

Kampus Gunung Gede S3 MB-IPB, Jl. Padjajaran.

Rektor IPB

Prof. Dr. Ir. Herry Suhardiyanto, Msc.

Selasa, 13 Desember 2011

InsertionSort Bahasa C (versi lain)

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
void insertionSort(int data[10],int max)
{
     int i,j,temp;
         for(i=1;i<=max;i++)
         {
         temp=data[i];
         for(j=i-1;j>=0;j--)
                            {
                                             if(data[j]>temp)
                                             data[j+1]=data[j];
                                             else break;
                                             }
                                             data[j+1]=temp;
         }
}
main()
{
      const int max=5;
      int i, data[max];
     
      for(i=0;i<max;i++)
      scanf("%d",&data[i]);
     
       printf("\nSebelum\n");
      
       for(i=0;i<max;i++)
       printf("%d ",data[i]);
     
      insertionSort(data,max);
      printf("\nSesudah\n");
      for(i=0;i<max;i++)
      printf("%d ",data[i]);
     
      getch();
      return 0;
}

InsertionSorting plus penjumlahan string yang ada Bahasa C

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

int main(){

char s[255],k;
int a,j,l;
printf("masukkan string = ");
gets(s);//masukkan string
l=0;//inisialisasi
for (a=1;a<(strlen(s));a++){
j=a;
k=s[a];
while(s[j-1]>k && j>0){s[j]=s[j-1];j=j-1;}
s[j]=k;
}
for(a=0;a<(strlen(s));a++){
printf("%c",s[a]);
}
for(a=0;a<(strlen(s));a++){
if((s[a]=='i') ||( s[a]=='I')){
l=l+1;
}
}
printf("\n");
printf("jumlah huruf I atau i = %d",l);

getch();
return 1;
}

InsertionSorting pada Bahasa C

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

void main() {
int i, j, iMin; //Deklarasi index untuk array
int n, Urut; //Deklarasi untuk banyak data
int Tmp; //Tmp penampung elemen array
int Arr[50]; //Deklarasi Array

//Aplikasi dimulai
printf("program by: www.tianissac.blogspot.com\n\n");
printf("Inputkan banyak data yang akan diurutkan : ");
scanf("%i", &n);
//Input array
Urut = 1;
for(i = 0; i < n; i++) { //Perulangan untuk inputan array
printf("Masukan data ke %i : ", i + 1);
scanf("%i", &Arr[i]);
}
//Lakukan sorting ascending dengan metode selection
for(i = 0; i < n - 1; i++) { //n - 1 artinya elm terakhir tidak dihitung
iMin = i; //Set min = index array
for(j = Urut; j < n; j++) { //Lakukan perulangan sebagai pembanding
if(Arr[j] < Arr[iMin]) { //Cari data yang kecil
iMin = j; //min diganti dengan yang lebih kecil
if(Arr[i] != Arr[iMin]) { //Cek untuk data yang berbeda
Tmp = Arr[i]; //Tampung Array yang lama
if(Arr[i] > Arr[iMin]) { //Jika Array lama lebih besar dari yang baru
Arr[i] = Arr[iMin]; //Ganti Array lama dengan Array baru
Arr[iMin] = Tmp; //Ganti Array baru dengan Array lama
}
}
}
}
Urut = Urut + 1; //Tambah urut dengan 1
}
//Tampilkan Hasil
printf("\nSetelah Pengurutan\n");
for(i = 0; i < n; i++) { //Perulangan untuk tampilan Array
printf("Elemen ke %i : %i\n", i + 1, Arr[i]);
}
getch(); //Tahan tampilan
}
2

Peebedaan tracing antara BubbleSorting dan InsertionSorting

Bubble:  (Jumlah Interaksi = n-1)
0 =  5 4 3 2 1
1 =  1 5 4 3 2
2 =  1 2 5 4 3
3 =  1 2 3 5 4
4 =  1 2 3 4 5
Dari atas (Jumlah interaksi = 4)

Insertion:
0 =  5 4 3 2 1
1 =  4 5 3 2 1
2 =  3 4 5 2 1
3 =  2 3 4 5 1
4 =  1 2 3 4 5


Fungsi BubbleSorting pada Bahasa C (Versi Lain)

#include <stdio.h>
#define N 20

int bubble(int n);
int i,j,A[N];

main()
{
int jml;
printf("METODA BUBBLE SORT \n\n");
printf("Masukkan jumlah bilangan (maks 20) : ");
scanf("%d",&jml);
printf("\n");
 
// input data
 
for (i=0;i<jml;i++)
{
   printf("Bilangan ke %d : ",i+1);
   scanf("%d",&A[i]);
}
printf("\n");
 
// mengurutkan data
 
bubble(jml);

// menampilkan data
 
printf("Data yang sudah terurut : \n");
for (i=0;i<jml;i++)
{
   printf("%d\n",A[i]);
}
}

// fungsi bubble

int bubble(int n)
{
int temp;
for (i=1;i<=n-1;i++)
{
   for (j=i;j<n;j++)
   {
               if (A[i-1]>A[j])
               {
                           temp = A[i-1];
                           A[i-1] = A[j];
                           A[j] = temp;
               }
   }
}
   getch();
}

Fungsi SWAP pada BubbleSorting Bahasa C

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

void swap (int*x, int*y)
{
     int temp;
     temp = *x;
     *x = *y;
     *y = temp;
}

void bubblesort(int list[], int n)
{
     int i,j;
     for(i=0;i<(n-1);i++)
     for(j=0;j<(n-(i+1);j++)
     if(list[j]>list[j+1])
     swap(&list[j],&list[j+1]);
}

void printlist(int list[], list n)
{
     int i;
     for(i=0;i<n;i++);
     }
   
main()
{
      const int max elements =5;
      int list[max_elements];
      int i =0;
      printf("Masukkan data (5 angka):\n");
      for(i = 0; i<max_elements;i++)
      scanf("%d",&list[i]);
     
      printf("\n list sebelum di sorting\n");
      printlist(list,max_elements);
      bubblesort(list,max_elements);
      printf("\nlist setelah di sorting\n");
      printlist(list,max_elements);
     
      getch();
      return 0;
}
         

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More