Fungsi & Array : Program Sorting Ascending & Descending

7 12 2009

Algoritma Program :

  1. Program memberikan instruksi kepada user untuk memasukkan input jumlah data yang ingin diurutkan.
  2. Program memasukkan input user dengan alamat max
  3. Program menyeleksi input dari user, jika input kurang dari 1 atau lebih dari 100 akan keluar instruksi “banyak data harus antara 1 s/d 100”. Namun, jika telah memenuhi syarat tersebut program akan dilanjutkan.
  4. Program menginstruksikan user untuk memasukkan input data pertama sampai terakhir.
  5. Program memasukkan input user dengan alamat input.
  6. Program memanggil fungsi sorting yang telah dideklarasikan sebelumnya.
  7. Fungsi sorting mengurutkan input data dari user dengan menggunakan cara swapping .
  8. Program menampilkan sorting ascending dan descending kepada user.

Source code :

#include<stdio.h>

void sorting (int input[],int max);   //deklarasi fungsi sorting

void main()

{

int input[20],max;

printf("Masukkan banyak data : ");          //instruksi memasukkan input

scanf("%d",&max);

if(max>100)                         //jika input > 100

printf("banyak data harus antara 1 s/d 100 !");

else                                //jika input <= 100

{

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

{

printf("\nMasukkan data ke %d : ",i+1);

scanf("%d",&input[i]);

}

sorting(input,max);                                            //panggil fungsi sorting

}

}

/*================fungsi sorting==========================*/

void sorting(int input[], int max)

{

int i, j, temp;

for(i=0;i<max;i++)                                              //operasi sorting

{

for(int j=0;j<max;j++)

{

if(input[j]>input[i])

{

temp=input[i];                            //operasi swapping

input[i]=input[j];

input[j]=temp;

}

}

}

printf("\n\nAscending : ");           //menampilkan sorting ascending

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

{

if(i==max)

printf("%2d",input[i]);

else if(i<max)

printf("%2d ",input[i]);

}

printf("\n\nDescending : ");         //menampilkan sorting descending

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

{

if(i==max)


printf("%2d",input[max-i-1]);

else if(i<max)

printf("%2d ",input[max-i-1]);

}

}

Posted By : Evan Yofiyanto @ Evan’s Blog : Kuliah Informatika (kuliahinformatika.wordpress.com)

[FREAX]


Actions

Information

One response

11 05 2011
Yuzt Aguzto

Sudah saya coba tapi gk jalan.. coba di teliti.. sekalian tampilkan outputnya dong.. apa saya yang salah ketikk…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: