Senin, 09 Mei 2016

Program Sorting dan Pointer Input Data Tampilkan Data dan Cari Data



Assalamualaikum wr wb. Selamat pagi teman-teman..
Kali ini saya akan memposting beberapa source kode yang menggunakan sorting dan pointer. 
          Yang pertama adalah program meggunakan sorting, deskrpsi programnya adalah Program ini dibuat dengan menggunakan aplikasi Borland C++ dan dengan menggunakan bahasa C. Program ini memuat array, struct, function, searching dan sorting. Dalam program ini menggunakan searching sequential dan sorting buble sort. Program ini dibuat dengan 4 menu, yaitu menu pertama input data, menu kedua tampilkan dan urutkan data, menu keiga cari data dan menu keempat atau terakhir adlah menu keluar.
          Saat masuk ke menu pertama akan muncul “Program Siti Mulia Sari” kemudian input menu 1, setelah input 1 akan muncul jumlah data, maksudnya adalah masukkan jumlah data yang diinginkan. Misalnya memasukkan 5, maka akan muncul data ke-1 kemudian masukkan nim, setelah memasukkan nim klik enter, masukkan nilai, setelah memasukkan nilai klik enter. Selanjutnya masukkan data ke-2, masukkan nim, nama dan nilai, begitu seterusnya hingga data ke-5. Misalnya data  ke-1 nim j1f1, nama sari nim 100, data ke-2 nim j1f2 nama riri nilai 50, data ke-3 niim j1f3 nama cimul nilai 80, data ke-4 nim j1f4 nama mulia nilai 25, data ke-5 nilai j1f5 nama siti nilai 97.
          Setelah selesai menginputkan data-data yang diinginkan pada menu input data, tekan enter. Kemudian pilih menu 2, tampilkan dan urutkan data, data yang sebelumnya diinputkan pada menu input data akan muncul pada menu tampilkan dan urutkan data., kemudian tekan enter pada menu tampilkan dan urutkan data maka data akan terurut berdasarkan NIM dengan descending yaitu  nim j1f5, nim j1f4, nim j1f3 , nim j1f2, dan nim j1f1.
          Kemudian pilih menu 3 yaitu cari data, pencarian secara sequential, mencari berdasarkan NIM, misalnya pada data input tadi kita memasukkan data dengan nim j1f1 nama sari dan nilai 100 maka akan muncul cari nim j1f1data ke-1 tidak ada, data ke-2 tidak ada, data ke-3 tidak ada, dta ke-4 tidak ada, data j1f1 ditemukan nim j1f1 nama sari nilai 100. Begitu seterusnya.
Dan source kodenya adalah sebagai berikut :
#include <conio.h>
#include <string.h>
#include <stdio.h>

struct data
{
char nama[30];
   char nim[10];
   int nilai;                                                 
};
data mhs[10];

int n,i,j,a,k,m;
char kata[10],temp[10];

void input()
{
clrscr();
printf("Jumlah data : "); scanf("%d",&n);
   for (i=0; i<n; i++)
   {
        printf("\nData ke-%d\n",i+1);
      printf("  NIM   : "); scanf("%s",&mhs[i].nim);
      printf("  Nama  : "); scanf("%s",&mhs[i].nama);
      printf("  Nilai : "); scanf("%d",&mhs[i].nilai);
   }
}

void output()
{
clrscr();
   printf("            Tampilan Data awal          \n");
   printf("+======================================+\n");
   printf("| No |    NIM     |    NAMA    | NILAI |\n");
   printf("|--------------------------------------|\n");
   printf("|    |            |            |       |\n");
   for(i=0; i<n; i++)
   {
        printf("|    |            |            |       |\n");
        gotoxy(3,5+i); printf("%d",i+1);
      gotoxy(8,5+i); printf("%s",mhs[i].nim);
      gotoxy(21,5+i); printf("%s",mhs[i].nama);
      gotoxy(35,5+i); printf("%d\n",mhs[i].nilai);
   }
   printf("+======================================+\n");
}

void urut()
{
clrscr();
   for (i=0;i<n;i++)
   {
        for (j=i+1;j<n;j++)
        {
        if (mhs[i].nim<mhs[j].nim)
         {
               data temp;
            temp=mhs[i];
            mhs[i]=mhs[j];
            mhs[j]=temp;
         }
        }
   }
   clrscr();
   printf("        Data Setelah Diurutkan          \n");
   printf("+======================================+\n");
   printf("| No |    NIM     |    NAMA    | NILAI |\n");
   printf("|--------------------------------------|\n");
   printf("|    |            |            |       |\n");
   for(i=0; i<n; i++)
   {
        printf("|    |            |            |       |\n");
        gotoxy(3,5+i); printf("%d",i+1);
      gotoxy(8,5+i); printf("%s",mhs[i].nim);
      gotoxy(21,5+i); printf("%s",mhs[i].nama);
      gotoxy(35,5+i); printf("%d\n",mhs[i].nilai);
   }
   printf("+======================================+\n");
}

void cari()
{
clrscr();
printf ("Cari NIM : "); scanf("%s",&kata);
        for (int i=0;i<n;i++)
   {
               if(strcmp(kata,mhs[i].nim)==0)
               {
               printf("\nData %s Ditemukan\n", kata);
               printf ("NIM   : %s\n",mhs[i].nim);
               printf ("Nama  : %s\n",mhs[i].nama);
               printf ("Nilai : %d\n",mhs[i].nilai);

      }
               else
      {
                      printf("Data ke-%d Tidak Ada\n",i+1);  //break;
      }
   }
   //getch();
}

int main ()
{
int pil;
do{
clrscr();
        printf("+================================+\n");
      printf("|    PROGRAM SITI MULIA SARI     |\n");
      printf("|--------------------------------|\n");
      printf("| 1. Input data                  |\n");
      printf("| 2. Tampilkan Dan Urutkan Data  |\n");
      printf("| 3. Cari Data                   |\n");
      printf("| 0. Keluar                      |\n");
      printf("|--------------------------------|\n");
      printf("| Pilih menu :                   |\n");
      printf("+================================+\n");
      gotoxy(16,9); scanf("%d",&pil);
      switch(pil)
      {
        case 1 : input(); getch(); break;
               case 2 : {
                                   output();
                     printf("\n\n  Tekan enter untuk mengurutkan data\n");
                     getch();
                     urut();
                     getch();
                     break;
                            }
         case 3 : cari(); getch(); break;
               case 0 : break;
         default: printf("Input salah");

      }

}

   while(pil!=0);

        getch();

}

Selanjutnya program kedua menggunakan pointer Program ini dibuat dengan menggunakan aplikasi borland dan bahasa C, program ini memuat array dalam pointer, Dengan array berindeks 5, yaitu 17,7,97,-2 dan 4. Program ini juga menggunakan perulangan. Saat di compile output dari program ini menampilkan alamat dari p_array dan isi dari isi p_array. Misalnya alamat dari p_array  = 1244992, isi dari isi p_array = 17 untuk yang pertama, untuk yang kedua alamat dari p_array  = 1244996, isi dari isi p_array = 7, untuk yang ketiga alamat dari p_array  = 1245000, isi dari isi p_array = 97, untuk yng keempat alamat dari p_array  = 1245004, isi dari isi p_array = -2, dan untuk yang kelima alamat dari p_array  = 1245008, isi dari isi p_array =  4. Dan source kodenya adalah sebagai berikut :
#include <stdio.h>
#include <conio.h>
#include <stdio.h>

main()
{
    int my_array[5] = {17,7,97,-2,4};
    int *p_array;

     // Dapat juga ditulis  p_array = my_array;       
    p_array = &my_array[0];

    gotoxy(30,2); printf("Menampilkan Isi Array\n\n\n\n");
    for(int i=0; i<5; i++)
    {
     printf("Alamat dari p_array  = %d\n", p_array);
     printf("Isi dari isi p_array = %d\n\n", *p_array);
     p_array++;
    }
getch();
}
Demikian, semoga bermanfaat J J J

0 komentar:

Posting Komentar

 

Siti Mulia Sari Template by Ipietoon Cute Blog Design