Kamis, 20 November 2014

Program Pencarian Data-Data (Searching) di C++

akhirnya tugas terakhir dari kampus selesai juga nih,
sekalian deh ane share disini hehehe..

ini dia source nya :

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

int array[100];
int low, high, pos, cari, flag=0, a, e, i, awal, tengah, akhir, pil, x, d,b,max,kel=1,titip,ok,ed;
float posisi;
void sequential();
void binary();
void interpolation();
main()
{
//memasukkan data
    printf("Jumlah Data Yang Anda Inginkan (Max 100): "); scanf("%d", &a);
    printf("Masukkan Datanya (tidak boleh sama & harus urut dari terkecil) :\n");
    for(i=0;i<a;i++)
    {printf("data ke %d = ", i+1);
    scanf("%d", &array[i]);}
//menampilkan data
    printf("\ndata yang anda masukkan : \n");
    for(i=0;i<a;i++)
    {printf("%d ", array[i]);}
//pilihan menu
system ("CLS");
    while(pil != 4)
{printf("\n\npilihan metode pencarian data: \n");
    printf("1. Sequential Search \n");
    printf("2. Binary Search \n");
    printf("3. Interpolation Search \n");
    printf("4. keluar \n");
    printf("pilihan anda : ");scanf("%d", &pil);
switch(pil)
    {
case 1: //cari data
             {system ("CLS");
printf("\t\t\tSequential Search\n");
printf("\nmasukkan data yang dicari : ");
             scanf("%d", &cari);
             sequential();} break;
case 2: //cari data
              {system ("CLS");
 printf("\t\t\tBinary Search\n");
 printf("\nmasukkan data yang dicari : ");
              scanf("%d", &cari);
              binary();} break;
case 3: //cari data
              {system ("CLS");
 printf("\t\t\tInterpolation Search\n");
 printf("\nmasukkan data yang dicari : ");
              scanf("%d", &cari);
              interpolation();} break;
case 4:
 system ("CLS");
 printf("Copyright (c) http://fachryasprog.blogspot.com");
    };
if (pil == 1 || pil == 2 || pil == 3 )
printf("\nTekan enter untuk kembali ke menu utama");

getch();};
return 0;
}

void sequential()
{
for(i=0 ; i<a ; i++)
    {if(array[i]==cari)
    {flag=1;
    break;}
    }
      if(flag == 1)
    {
printf("data yg dicari di index ke-%d", i+1); e = i;
// mengedit data
for(i=e; i<a; i++)
    {array[i]= array[i+1];}
printf("\n\nubah datanya  = ");
for(i=a;i>e;i--)
    {array[i]=array[i-1];}
scanf("%d", &array[e]);
//mencetak dan mengurutkan data
printf("\ndata anda sekarang : \n");
    for (kel=0;kel<a;kel++)
    {
max=array[kel];
for(i=kel;i<a;i++)
        if(array[i]<=max)
        {max=array[i];
            ok=i;}

    titip=array[kel];
    array[kel]=array[ok];
    array[ok]=titip;
}
for(e=0;e<a;e++)
    {printf("%d ",array[e]);}
    array[i] == array[e];
    }
    else printf("data tdk ditemukan");
}

void binary()
{
    flag = 0;
    awal=0;
    akhir=a-1;
    while(awal<=akhir && flag == 0)
    {
        tengah = (awal+akhir)/2;
        if(array[tengah]==cari)
        {flag=1; break;}
else if(array[tengah]<cari)
        {awal=tengah+1;}
        else
        {akhir=tengah-1;}
    }

if(flag==1)
    {
        printf("data yg dicari di index ke-%d", tengah+1);
// mengedit data
for(i=tengah; i<a; i++)
    {array[i]= array[i+1];}
    printf("\n\nubah datanya  = ");
for(i=a;i>tengah;i--)
    {array[i]=array[i-1];}
scanf("%d", &array[tengah]);
//mencetak dan mengurutkan data
    printf("\ndata anda sekarang : \n");
for (kel=0;kel<a;kel++)
    {
max=array[kel];
    for(i=kel;i<a;i++)
if(array[i]<=max)
        {max=array[i];
        ok=i;}

        titip=array[kel];
        array[kel]=array[ok];
        array[ok]=titip;
    }
for(e=0;e<a;e++)
    {printf("%d ",array[e]);}
    array[i] == array[e];
    }
    else printf("data tdk ditemukan");
}

void interpolation()
{
    flag=0;
    low=0;
    high=a-1;
    do
    {
    posisi=(float)(cari-array[low])/(array[high]-array[low])*(high-low)+low;
    pos=floor(posisi);
    if(array[pos]==cari)
{
flag =1;
break;
    }
    if(array[pos]>cari) high=pos-1;
    else if(array[pos]<cari) low=pos+1;
    }
while(cari>=array[low] && cari<=array[high]);
if(flag==1)
    {
    printf("data yg dicari di index ke-%d", pos+1);
// mengedit data
for(i=pos; i<a; i++)
    {array[i]= array[i+1];}
    printf("\n\nubah datanya  = ");
for(i=a;i>pos;i--)
    {array[i]=array[i-1];}
    scanf("%d", &array[pos]);
//mencetak dan mengurutkan data
    printf("\ndata anda sekarang : \n");
    for (kel=0;kel<a;kel++)
    {
max=array[kel];

    for(i=kel;i<a;i++)
if(array[i]<=max)
    {max=array[i];
    ok=i;}

    titip=array[kel];
    array[kel]=array[ok];
    array[ok]=titip;
    }
    for(e=0;e<a;e++)
    {printf("%d ",array[e]);}
    array[i] == array[e];
    }
    else printf("data tdk ditemukan");
}

ini hasil output nya :




 
 

Rabu, 19 November 2014

Program Menghitung Banyaknya Karakter Menggunakan Pointer di C++

sekarang ane share program untuk menghitung banyaknya karakter dengan pointer
ngga usah basa-basi langsung aja nih.

source code :

#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <cstdlib>
using namespace std;
int ubah(const char *s){
  int x=0;
  for( ; *s != '\0'; s++)
  ++x;
  return x;
}
main(void)
{
system ("COLOR 1E");
cout<<"\t\t\t\tPERTEMUAN X\n";
cout<<"\t\t\t\t(POINTER)\n";
cout<<"===============================================================================\n";
cout<<"- PROGRAM MENGHITUNG BANYAKNYA KARAKTER DENGAN POINTER VERSI FACHRY RAMADHAN -\n";
cout<<"===============================================================================\n";
  char string[80];
  cout <<"Ketik sebuah karakter : "; gets(string);
  cout <<"\nBanyaknya Karakter    : "<< ubah(string);
  getch();
  return 0;
}

hasil outputnya :


Program Mengurutkan (Sorting) Data Dari Yang Terbesar Ke Yang Terkecil di C++

ini dia source code program mengurutkan data dari terbesar ke terkecil punya ane.
langsung aja dicoba deh :

#include <iostream>
#include <iomanip>
#include <conio.h>
#include <cstdlib>
using namespace std;
int main()
{
system ("COLOR 2B");
cout<<"\t\t\t\tPERTEMUAN XII\n";
cout<<"\t\t\t\t(SORTING)\n";
cout<<"===============================================================================\n";
cout<<"- PROGRAM MENGURUTKAN DATA VERSI FACHRY RAMADHAN -\n";
cout<<"===============================================================================\n";
int NumList[10]={4,8,5,9,6,2,7,5,9,5};
int Swap;
cout<<"Data Sebelum Diurutkan : \n";
for(int ctr=0;ctr<10;ctr++)
{
cout<<setw(3)<<NumList[ctr];
}
cout<<"\n\n";
for(int i=0;i<10;i++)
for(int ii=0;ii<10;ii++)
if(NumList[ii]>NumList[ii-1])
{
Swap=NumList[ii];
NumList[ii]=NumList[ii-1];
NumList[ii-1]=Swap;
}
cout<<"Data Setelah Diurutkan : \n";
for(int iii=0;iii<10;iii++)
cout<<setw(3)<<NumList[iii];
cout<<endl<<endl;
getch();
return 0;
}

ini hasil output nya :