Metoda Pengurutan String Dengan Bahasa C++ - Amazing Indonesia

Latest

Thursday 3 November 2011

Metoda Pengurutan String Dengan Bahasa C++


 Pada dua contoh sebelumnya dibahas tentang quick sort dan bubble sort yang dapat dipergunakan untuk mengurutkan data. Pada pembahasan tersebut data yang diurutkan berupa angka. Sekarang bagaimana apabila yang diurutkan adalah sebuah string? Artikel ini akan membahas hal tersebut. Sebagai basis pengurutan akan digunakan metoda bubble sort. Kasus yang diambil kali ini adalah pembuatan sebuah program yang digunakan untuk mengurutkan beberapa nama yang diinputkan. 
Listing program selengkapnya diberikan pada listing 1.
========================================================= 

#include <stdio.h>
#define N 20

char nama[N][20];
int i, j, k, l;

main()
{
            int jml;
            char jumlah[10];
            clrscr();
           
            printf("Jumlah Nama yang akan diurutkan = ");
            gets(jumlah);
            jml=atoi(jumlah);
           
            //input data
            for (i=0;i<jml;i++)
            {
                        printf("\nNama ke %d : ",i+1);
                        gets(&nama[i][0]);
            }
           
            // memanggil fungsi bubble()
            bubble(jml);
           
            //output
            printf("\nNama yang telah diurutkan");
            for (i=0;i<jml;i++)
            {
                        printf("\n%-20s",&nama[i][0]);
            }
}

//fungsi bubble()
bubble(n)
int n;
{
            char temp;
for (i=1;i<=n;i++)
            {
                        for (j=i;j<n;j++)
                        {
                                    for (l=0;l<20;l++)
                                    {
                                                if (nama[i-1][l]<nama[j][l])
                                                {
                                                            break;
                                                }
                                                if (nama[i-1][l]>nama[j][l])
                                                {
                                                            //menukar semua karakter dalam satu nama
                                                            for (k=0,k<20;k++)
                                                            {
                                                                        temp=nama[i-1][k];
                                                                        nama[i-1][k]=nama[j][k];
                                                                        nama[j][k]=temp;
                                                            }
                                                            break;
                                                }
                                    }
                        }
            }
}

================================================================

DOWNLOAD LENGKAP ARTIKELNYA DISINI

No comments:

Post a Comment