@bayu_aji94

mari saling sharing di twitter

Bayu Aji

temukan saya di facebook

Serikat Mahasiswa Indonesia

Embrio Persatuan Serikat Mahasiswa Indonesia ( SMI ) adalah organisasi yang tidak lahir begitu saja, namun SMI mempunyai sejarah yang cukup panjang terutama dalam proses pembangunannya. Diawali sejak akhir tahun 2001.

Manchester City

Manchester City merupakan klub sepak bola asli kota manchester - Inggris

Tampilkan postingan dengan label S Algoritma. Tampilkan semua postingan
Tampilkan postingan dengan label S Algoritma. Tampilkan semua postingan

Senin, 02 Juni 2014

SA post 10


#include <cstdlib>
#include <iostream>
#include <string>

using namespace std;

void HitungPinggiran(int m, char P[], int b[])
{
     int k;
     int q;
         
     b[1]=0;
     q=2;
     k=0;
     for(q=2;q<=m;q++){
                       while ((k>0) && (P[q]=!P[k+1])){
                             k=b[k];
                             }
                       if (P[q]=P[k+1]){
                                        k=k+1;
                                        }
                                        b[q]=k;
                       }
                       }
void KMPsearch(int m, int n, char P[],char T[], int idx)
{
     int i,j;
     bool ketemu;
     int b[m];
   
     HitungPinggiran(m,P,b);
     j=0;
     i=1;
     ketemu=false;
     while (i<=n && !ketemu){
           while ((j>0) && (P[j+1]=!T[i])){
                 j=b[j];
                 }
                 if (P[j+1]=T[i]){
                                  j=j+1;
                 if (j=m){
                          ketemu = true;
                          }
                 else
                 i=i+1;
                         
                          }
     if (ketemu){
                 idx=i-m+1;
                 }
                 else idx = -1;
               
                 }
                 }
               
int main(int argc, char *argv[])
{
    string T="bananananobona";
    string P="nano";
    int idx;
   
    KMPsearch(4, 14, P, T, idx);
   
    cout<<"Pattern ditemukan di index ke- "<<idx<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}

Senin, 26 Mei 2014

SA Prak 9


//memakai inputan

#include <cstdlib>
#include <iostream>

using namespace std;
void tampilkan(int data[], int n)
{
 int i;
 for (i=1;i<=n;i++)
 cout<<data[i]<<" ";
 cout<<"\n";
}
 
int partisi (int A[], int i, int j)
{
   int x,p,q,temp;
 
 
   p=i;
   q=j;
 
   while(1)
   {
   while(A[p]<A[i])
   p=p+1;
 
   while(A[q]>A[j])
   q=q-1;
 
   if (p<q)
   {
   //tukarkan data
   temp=A[p];
   A[p]=A[q];
   A[q]=temp;
   }
   else
   return q;
   }
   }
 
void quick_sort(int A[], int i, int j)
{
   int k;
   if(i<j)
   {
   k=partisi(A,i,j);
   quick_sort(A,i,k);
   quick_sort(A, k+1,j);
   }
}
int main(int argc, char *argv[])
{
    int i,j,n,A[100];
 
   cout<<"masukkan banyak data= ";cin>>n;
   for(i=1;i<=n;i++)
   {
    cout<<"data ke-"<<i<<" = ";cin>>A[i];
   }
 
 cout<<"Data sebelum diurut: "<<endl;
 for(j=1;j<=n;j++)
 {
  cout<<A[j]<<" ";
 }
 quick_sort(A,1,n);
 

 //hasil pengurutan
 cout<<endl;
 cout<<endl;
 cout<<"hasil pengurutan:\n";
 tampilkan(A,n);
    system("PAUSE");
    return EXIT_SUCCESS;
}

Senin, 19 Mei 2014

Prak 8


#include <cstdlib>
#include <iostream>

using namespace std;
void MinMaks2(int A[], int i, int j, int &min, int &maks)
{
     int min1, min2, maks1, maks2, k;
   
     if (i=j)
     {
             min = A[i];
             maks = A[i];
             }
     else
     {
         if (i = j-1)
         {
               if (A[i] < A[j])
               {
                        maks = A[j];
                        min = A[i];
                        }
               else
               {
                   maks = A[i];
                   min = A[j];
                   }
                   }
         else
         {
             k = ((i+j)/2);
             MinMaks2(A, i, k, min1, maks1);
             MinMaks2(A, i+1, j, min2, maks2);
             }
             if (min1 < min2)
             {
                 min = min1;
                 }
               
             else
             {
                 min = min2;
                 }
                 }
             if (maks1 < maks2)
             {
                 maks = maks2;
                       }
             else
             {
                 maks = maks1;
                 }
                 }
                 

int main(int argc, char *argv[])
{
    int A[] = {3,6,1,10,8,19,2,4};
    int i = 0;
    int j = 7;
    int min, maks;
    MinMaks2(A, i, j, min, maks);
    cout<<"min = "<<min<<endl;
    cout<<"maks = "<<maks<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}

Senin, 05 Mei 2014

SA 6


#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int graf[7][7];
   
    //
    for(int i=0; i<7; i++){
    for(int j=0; j<7; j++){
            graf[i][j]=0;
            }
            }
    //set nilai bobot
    graf[0][1]=7;
    graf[0][4]=15;
    graf[0][6]=12;
    graf[1][2]=8;
    graf[2][3]=3;
    graf[2][4]=25;
    graf[3][5]=10;
    graf[6][4]=5;
    graf[6][5]=35;
    //dts...
   
    int pohon[7];
    //proses pengurutan data
    for(int i=0; i<7; i++)
    {
        for(int j=0; j<7; j++)
        {
            if(graf[i][j] > graf[i][j+1])
            {   int tmp = graf[i][j];
                graf[i][j] = graf[i][j+1];
                graf[i][j+1] = tmp;
            }    
        }
       
    }
   
    for(int i=0; i<7; i++){
    for(int j=0; j<7; j++){
            cout<<graf[i][j+1];
            cout<<", ";
            }
            }
     
    //masukkan nilai bobot terendah ke aray pohon
    //cetak isi aray dari pohon
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

Senin, 28 April 2014

SA prak 6


#include <cstdlib>
#include <iostream>

using namespace std;
void SolveFractionalKnapsack(float p[], float w[], float W, int n, float x[], float &TotalUntung)
{
     int i;
     float kapasitas;
     bool MasihMuatUtuh;
   
     for (i=0;i<=n;i++)
     {
         x[i]=0;
         }
     kapasitas = W;
     TotalUntung = 0;
     i = 1;
     MasihMuatUtuh = true;
     while (i<=n && MasihMuatUtuh)
     {
           if (w[i]<=kapasitas)
           {
              x[i]=1;
              TotalUntung = TotalUntung + p[i];
              kapasitas = kapasitas + w[i];
              i=i+1;
              }
           else;
           MasihMuatUtuh = false;
           };
           {i > n || !MasihMuatUtuh;}
             if (i <= n)
             {
                   x[i] = kapasitas/w[i];
                   TotalUntung = (TotalUntung + (x[i]*p[i]));
                   }
}
int main(int argc, char *argv[])
{
    float p[] = {60,16,15,10};
    float w[] = {10,8,3,5};
    float W   = 16;
    int n     = 4;
    float x[] = {};
    float TotalUntung;
   
    SolveFractionalKnapsack(p,w,W,n,x,TotalUntung);
    cout<<"Total Untung = "<<TotalUntung<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}

Senin, 07 April 2014

SA prak 4



dengan mendapatakan prosedure dibawah

procedure PenjadwalanPelanggan(input n:integer)//jenis inputan int
{ Mencetak informasi deretan pelanggan yang akan diproses oleh server
tunggal
Masukan: n pelangan, setiap pelanggan dinomori 1, 2, …, n
Keluaran: urutan pelanggan yang dilayani
}
Deklarasi
i : integer //pendeklarasian i bernilai int
Algoritma:
{pelanggan 1, 2, ..., n sudah diurut menaik berdasarkan ti}
for i->1 to n do//perulangan dimulai dari 1 sampai n
write(‘Pelanggan ‘, i, ‘ dilayani!’) //menampilkan urutan pelanggan sebanyak n
endfor //perulangan selesai


maka prosedure di c++ adalah

#include <cstdlib>
#include <iostream>

using namespace std;
void PenjadwalanPelanggan(int n)
{
     int i;
     for(i=1;i<=n;i++)
     {
        cout<<"pelanggan "<<i<<" dilayani"<<endl;
                      }
                      }
int main(int argc, char *argv[])
{
    PenjadwalanPelanggan(5);
    system("PAUSE");
    return EXIT_SUCCESS;
}


postest

#include <cstdlib>
#include <iostream>

using namespace std;
void PenjadwalanPelanggan(int n)
{
     int data[15];
     int i,tmp;
     int byk = n;
     for(i=1;i<=n;i++)
     {
        cout<<"pelanggan ke"<<i<<" : ";
        cin>>data[i];
                      }
      cout<<"urutan waktu"<<endl;
      
      for (int a=1;a<=n;a++)
    {
          for (int b=1;b<=n;b++)
        {
            if (data[b]>data[b+1])
                {
                     tmp=data[b];
                     data[b]=data[b+1];
                     data[b+1]=tmp;
                }
          }
     }
      
        for (int c=1;c<=n;c++)
          {
                cout<<"pelanggan yang dilayani ke-"<<data[c]<<endl;
          } 
     
}
int main(int argc, char *argv[])
{
    int m;
    cout<<"masukkan jumlah pelanggan : ";
    cin>>m;
    PenjadwalanPelanggan(m);
    system("PAUSE");
    return EXIT_SUCCESS;
}

Senin, 31 Maret 2014

postest SA


#include <cstdlib>
#include <iostream>

using namespace std;
void Pencocokan(string P, string T,int n,int m,int idx)
{
     int i,j;
     bool ketemu;
     j=0;
     i=0;
     ketemu=false;
     while (i<= n-m && !ketemu) {
           j = 1;
           };
     while ((j<= m) && (P[j]=T[i+j]))
     {
                 j=j+1;
                 }
                if (j=m){
                          ketemu=true;
                          }
                 else{
                      i=i+1;
                      }
     if (ketemu==true){
                 idx=i+1;
                 }
     else {
          idx = -1;
          }
   
          }          
                     
int main(int argc, char *argv[])
{
    int idx;
    Pencocokan("bayu","pamungkas",9,4,idx);
    system("PAUSE");
    return EXIT_SUCCESS;
}

Senin, 24 Maret 2014

Prak 2 S-Algo

#include #include #include using namespace std; bool prima(int x){ int k,y; bool test; if (x<2){ return false; }else if (x==2){ return true; }else { y = ceil(sqrt(x)); test = true; } while (test && (y>=2)){ if (x % y ==0){ test = false; }else{ y=y-1; } } return test; } int main(int argc, char *argv[]) { int xx; cin>>xx; prima(xx); if (prima(xx)){ cout<<"prima"; } else { cout<<"bukan prima"; } cout<

Selasa, 18 Maret 2014

Stategi algoritma Faktor bilangan

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
int n,i;
cout<<"masukkan bil ";
cin>>n;
cout<<"faktornya = ";
for(i=2;i<=(n-1);i++){
if(n%i==0){
if(i%2==1){
cout<<i;
}
}
}
cout<<endl;
system("pause");
return 0;
}

Strategi algoritma Faktorial

#include <cstdlib>
#include <iostream>

using namespace std;
int faktorial (int n){
int jumlah=1;
for (int i=1;i<=n;i++)
jumlah=jumlah*i;
return jumlah;
}
int main(int argc, char *argv[])
{ int n;
cout<<"masukan angka yang akan di factorialkan:";cin>>n;
cout<<n<<"!"<<"="<<faktorial(n)<<endl;
system("pause");
return 0;
}

Senin, 17 Maret 2014

Strategi Algoritma Prak 1 post


#include <cstdlib>
#include <iostream>

using namespace std;
void CariElemenTerbesar(int a[], int &maks){
     int k,n;
     maks = a[0];
     n = sizeof (a);
     for(k=2;k<=n;k++){
                       if (a[k] > maks){
                               maks = a[k];
                               }
                       }
     }
int main(int argc, char *argv[])
{
    int maks;
    int a[]={7,6,13,10,8,9};
    CariElemenTerbesar(a,maks);
    cout<<endl<<maks<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}

Strategi Algoritma Prak 1

minggu ini belajar bahasa algoritma, bukan cpp, bukan java, tapi algoritma.
katanya supaya lebih mudah mengerti konsep dasar dari koding, soal bahasa itu gampang.
ne contoh bahasa algoritma :

function pangkat(input a, n : integer)<-integer
{ Menghitung an, a > 0 dan n bilangan bulat tak-negatif
Masukan: a, n
Keluaran: nilai perpangkatan.
}
Deklarasi
k, hasil : integer
Algoritma:
hasil<-1

for k<-1 to n do
hasil<-hasil * a
endfor
return hasil

dan bahasa cpp nya


#include <cstdlib>
#include <iostream>

using namespace std;
int pangkat(int a,int n){
    int k,hasil;
    hasil = 1;
    for(k=1;k<=n;k++){
                      hasil=hasil*a;
                      }
    return hasil;
   
}
int main(int argc, char *argv[])
{
    int nilai,angkat;
    cout<<"masukkan nilai = "; cin>>nilai;
    cout<<"masukkan pangkat = "; cin>>angkat;
    cout<<pangkat(nilai,angkat);
    system("PAUSE");
    return EXIT_SUCCESS;
}

ow ya, ini lanjutan materi brute force yang dikelas, jadi intinya brote force itu ada sebuah kasus kemudian ada beberapa solusi algoritma dan kita pilih yang paling mudah itu lah algoritma brute force :) 


"bayuaji-master.blogspot.com". Diberdayakan oleh Blogger.