Social Icons

Kamis, 03 Januari 2013

Konversi Bilangan Lengkap

#include <iostream.h>
#include <conio.h>
#define namespace std;

const int STACK_SIZE = 100;

class stack {
     private:
          int count;
          int data[STACK_SIZE];
     public:
          stack();
          ~stack();
          void push(const int item);
          int pop(void);
     };
stack::stack()
{
     count = 0;
}
stack::~stack() {}
void stack::push(const int item)
{
     if (count < STACK_SIZE)
     {
          data[count] = item;
          ++count;
     }
     else cout << "Overflow!\n";
}
int stack::pop(void)
{
     if (count >0)
     {
          --count;
          return (data[count]);
     }
     else
     {
          cout << "Underflow!\n";
          return 0;
     }
}
int menu();

class number
{
     public:
          number() {x=0;}
          number (int num){x=num;}
          virtual ~number() {}
          virtual void print_it()=0;
          int num;
     private:
     int x;
};






//Program tentang konversi bilangan ke biner
class toBinary:public number
{
public:
          void print_it()
                    {
                    int num;
                    int total = 0;
                    stack reverse;
                    int ctr=0;
                    cout << "Masukkan angka desimal : ";
                    cin >> num;
                    cout << "Angka yg anda masukkan : " << num <<endl;
            cout << "Angka biner dari "<< num <<" adalah : ";
                         while(num > 0)
                               {
                                   total = num % 2;
                                   num /= 2;
                               reverse.push(total);
                               ctr++;
                           }
                         while (ctr > 0)
                              {
                                   cout << reverse.pop() << " ";
                                   ctr--;
                               }
                    }
};








//ini adalah konversi dari desimal ke oktal
class toOctal: public number
{
     void print_it()
     {
          int num;
          int total = 0;
          stack reverse;
          int ctr=0;
               cout << "Masukkan angka desimal : ";
               cin >> num;
               cout << "Angka yg anda masukkan : " << num <<endl;
         cout << "Angka Oktal dari "<<num <<" adalah : ";
               while(num > 0)
                    {
                         total = num % 8;
                         num /= 8;
                         reverse.push(total);
                         ctr++;
                    }
               while (ctr > 0)
                   {
                         cout << reverse.pop() << " ";
                         ctr--;
                    }
     }
};










//ini adalah program bagian konversi dari desimal ke heksa
class toHex:public number
{
     void print_it()
     {
        int num,counter,x,a,hex[100];
     cout<<"Masukkan angka desimal : ";
     cin>>num;
     cout<<"Angka yg anda masukkan : " << num <<endl;
   cout << "Angka Oktal dari "<<num <<" adalah : ";
     for(counter=0;num!=0;counter++)
          {
               a=num%16;
               hex[counter]=a;
               num=num/16;
          }
     for(x=counter-1;x>=0;x--)
     {
          if (hex[x] > 9)
          cout << char('A'+hex[x]-10);
     else
          cout << hex[x];
     }
     cout << endl;
     }
};




//ini adalah void utama untuk program tersebut
void main(){
     number * Show;
          int choice = menu();
          switch(choice){
          case (1):
               Show = new toBinary();
               Show->print_it();
               delete Show;
               break;
          case (2):
               Show = new toOctal();
               Show->print_it();
               delete Show;
               break;
          case(3):
               Show = new toHex();
               Show->print_it();
               delete Show;       
               break;
          }
getch();
}



int menu(){
     int choice;
     cout << "Konversi desimal ke biner, oktal dan heksa : " << endl;
     cout << "1. Binary" << endl;
     cout << "2. Octal" << endl;
     cout << "3. Hexadecimal" << endl;
     cout << "Pilihan anda : ";cin >> choice;
     return c
readmore...

Konversi bilangan ke Biner

//Program tentang konversi bilangan ke biner
class toBinary:public number
{
public:
          void print_it()
                    {
                    int num;
                    int total = 0;
                    stack reverse;
                    int ctr=0;
                    cout << "Masukkan angka desimal : ";
                    cin >> num;
                    cout << "Angka yg anda masukkan : " << num <<endl;
            cout << "Angka biner dari "<< num <<" adalah : ";
                         while(num > 0)
                               {
                                   total = num % 2;
                                   num /= 2;
                               reverse.push(total);
                               ctr++;
                           }
                         while (ctr > 0)
                              {
                                   cout << reverse.pop() << " ";
                                   ctr--;
                               }
                    }
};

readmore...

Membalik Kata

#include <conio.h>
#include <iostream.h>
#include <ctype.h>
 
char kata[100];
void main(){
     cout <<"masukkan kata = ";cin>>kata;
     strrev(kata);
     cout <<"balikkan kata = "<<kata;
getch();
}
readmore...

Program dengan stack

#include <iostream.h>
#include <conio.h>
#define namespace std;

const int STACK_SIZE = 100;

class stack {
     private:
          int count;
          int data[STACK_SIZE];
     public:
          stack();
          ~stack();
          void push(const int item);
          int pop(void);
     };
stack::stack()
{
     count = 0;
}
stack::~stack() {}
void stack::push(const int item)
{
     if (count < STACK_SIZE)
     {
          data[count] = item;
          ++count;
     }
     else cout << "Overflow!\n";
}
int stack::pop(void)
{
     if (count >0)
     {
          --count;
          return (data[count]);
     }
     else
     {
          cout << "Underflow!\n";
          return 0;
     }
}
int menu();

class number
{
     public:
          number() {x=0;}
          number (int num){x=num;}
          virtual ~number() {}
          virtual void print_it()=0;
          int num;
     private:
     int x;
};

readmore...

Contoh Membuat Program Structure c++

//cara pertama
struct {
char a[10];
char b;
char c[15];
}Sname, Ename;
 
//cara kedua
struct nametype{
char a[10];
char b;
char c[15];
}; struct nametype Sname, Ename;
 
 
//cara ketiga
typedef struct {
char a[10];
char b;
char c[15];
} nametype;
nametype Sname, Dname;
readmore...

contoh program pointers

#include <stdio.h>
void misteri(const char*);
main(){
char *string = "ilmu komputer";
misteri(string);
putchar('\n');
return 0;
}
void misteri(const char*s){
for (;*s != '\0';s++)
putchar(*s);
}
readmore...

Menghitung IP

#include <iostream> 
#include <string.h> 
#include <windows.h> 
   
using namespace std; 
   
main() 
    int makul, bykSks=0; 
    float nil=0.00, n_Total; 
       
    cout << "Jumlah Mata Kuliah : "
    cin >> makul; 
       
    string nilai[makul]; //deklarasi untuk penyimpanan data nilai dan sks 
    int sks[makul]; 
       
    for(int h=0; h<makul; h++) 
    
        cin.ignore(); 
        cout <<h+1<< ". Nilai Huruf : "
        cin >> nilai[h]; 
        cout<<"\t Banyak SKS : "
        cin >> sks[h]; 
        bykSks += sks[h]; 
           
    
       
    cout<<"\n"<<endl; 
       
    for(int h=0; h<makul; h++) 
    
        cout<<h+1<<". "<<nilai[h]<<" \t"<<sks[h]<<" SKS"<<endl; 
    
       
    cout<<endl; 
       
    for(int h=0; h<makul; h++) 
    
        if(nilai[h] == "A" || nilai[h] == "a"
            nil += (4*sks[h]); 
        else if(nilai[h] == "B+" || nilai[h] == "b+"
            nil += (3.5*sks[h]); 
        else if(nilai[h] == "B" || nilai[h] == "b"
            nil += (3*sks[h]); 
        else if(nilai[h] == "C+" || nilai[h] == "c+"
            nil += (2.5*sks[h]); 
        else if(nilai[h] == "C" || nilai[h] == "c"
            nil += (2*sks[h]); 
        else if(nilai[h] == "D" || nilai[h] == "d"
            nil += (1*sks[h]); 
        else 
            nil += 0; 
    
       
    n_Total = nil/bykSks; 
       
    cout << "IP Semester ini : " << n_Total <<endl; 
       
       
    system("pause"); 
}
readmore...

Array 3 dimensi

/*
*Judul Program      : Array dimensi 3
*Bahasa Program     : Bahasa C
*/
 
#include <stdio.h>
#include <conio.h>
 
 
main()
{
    char h=64, nama[5][4][22] = {
       "AC Milan","Barcelona","Porto","Monaco",
        "Liverpool","Real Madrid","CSK Moskow","PSG",
        "Inter Milan","Arsenal","Atletico Madrid","Ajax",
        "AS Roma","Manchester United","Dortmund","Valencia",
        "Manchester City","Bayern Munich","Napoli","Vilareal" 
     
    };
 
    printf("Liga Champions : \n\n");
 
    for(i=0; i<5; i++)
    {
        ++h;
        printf("Grup %c  \n", h);
 
        for(s=0; s<4; s++)
        {
            printf("      %d. %s \n", s+1, nama[i][s]);  
        }
        printf("\n");
    }
     
 
    getch();
 
}
readmore...

Menentukan Nilai Akhir (NA) dengan bahasa C/C++

#include <iostream.h>
 
using namespace std;
 
main()
{
    int NA, tugas, mid, akhir;
 
    cout << "Nilai Tugas : ";
    cin >> tugas;
 
    cout << "Nilai MID : ";
    cin >> mid;
    
    cout << "Nilai UAS : ";
    cin >> akhir;
 
    NA = ((2*tugas)+(3*mid)+(5*akhir))/10;
 
    cout<< "\nNilai Akhir Anda : "
}
readmore...

Contoh Program Kasir di C

/*program kasir
 created by      : uyans
 mail            : uyanstea@gmail.com
*/

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

int pilMember,pilMenu,pilMakanan,pilMinuman;
int bayar =0,bayar2=0,uangPembeli,kembalian,total;

void makanan(){
    makan:printf("   food             price \n");
        printf("1. gado-gado       :4000   \n");
        printf("2. pecel                :5500 \n");
        printf("3. nasi kuning      :7000 \n");
        printf("4. selesai memilih  \n");
        printf("inputkan pilihan :");
        scanf("%d",&amp;pilMakanan);
    switch(pilMakanan){
        case 1:{
            printf("Makanan Akan segera di antar \n");
            printf("silahkan Menunggu sebentar ^_^");
            bayar+=+4000;
            getch();
            clrscr();
            goto makan;
            }break;
        case 2:{
            printf("Makanan Akan segera di antar \n");
            printf("silahkan Menunggu sebentar ^_^");
            bayar+=+5500;
            getch();
            clrscr();
            goto makan;
            }break;
        case 3:{
            printf("Makanan Akan segera di antar \n");
            printf("silahkan Menunggu sebentar ^_^");
            bayar+=+7000;
            getch();
            clrscr();
            goto makan;
            }break;
        case 4:{
            clrscr();
            break;
            }break;
        default : printf(" pilihan yang anda masukan tidak ada di list menu");
            clrscr();
            goto makan;
    }
}



void minuman(){
    minum:printf("   Drink            price \n");
        printf("1. Jus beledug       :2500   \n");
        printf("2. teh beledug       :1500 \n");
        printf("3. kopi beledug      :2000 \n");
        printf("4. selesai memilih  \n");
        printf("inputkan pilihan :");
        scanf("%d",&amp;pilMinuman);
    switch(pilMinuman){
        case 1:{
            printf("Minuman Akan segera di antar \n");
            printf("silahkan Menunggu sebentar ^_^");
            bayar2+=+2500;
            getch();
            clrscr();
            goto minum;
            }break;
        case 2:{
            printf("Minuman Akan segera di antar \n");
            printf("silahkan Menunggu sebentar ^_^");
            bayar2+=+1500;
            getch();
            clrscr();
            goto minum;
            }break;
        case 3:{
            printf("Minuman Akan segera di antar \n");
            printf("silahkan Menunggu sebentar ^_^");
            bayar2+=+2000;
            getch();
            clrscr();
            goto minum;

            }break;
        case 4:{
            clrscr();
            break;
            }break;
        default :
            printf(" pilihan yang anda masukan tidak ada di list menu");
            clrscr();
            goto minum;
    }
}




void bannerCafe(){
    printf("           selamat datang di             \n");
    printf("             Uyans Cafe     \n");
    printf("       Uyanstea.blogspot.com\n");
    printf("==================================\n");
}

void pembayaran(){
    pembayar:printf("total pembelian Makanan   :");
    printf("Rp.%d,-",bayar);
    printf("\ntotal pembelian Minuman   :");
    printf("Rp.%d,-",bayar2);
    total=bayar+bayar2;
    printf("\nTOTAL ____________________:Rp.%d,- \n",total);
    printf("Jumlah uang Pembeli       :Rp.");
    scanf("%d",&amp;uangPembeli);
    printf("--------------------  \n");
    kembalian=uangPembeli-total;
    printf("kembalian                 :Rp.%d,- \n",kembalian);
    getch();
    clrscr();
}



void main(){
    menu :
        bannerCafe();
        printf("|Menu|\n");
        printf("----\n");
        printf("1. List makanan \n");
        printf("2. List Minuman \n");
        printf("3. bayar  \n");
        printf("masukan pilihan :");
        scanf("%d",&amp;pilMenu);
    switch(pilMenu){
        case 1:{
            clrscr();
             bannerCafe();
             makanan();
             goto menu;
            }break;
        case 2:{
            clrscr();
             bannerCafe();
              minuman();
            goto menu;
            }break;
        case 3:{
            clrscr();
            pembayaran();
            goto menu;
            }break;
         default : printf("pilihan yang anda masukan tidak ada di list menu ");
    }
}
readmore...

Membuat file koneksi Database di PHP

PHP dan MySQL, sekarang ini tidak dapat di pisahkan, karena dua-duanya free dan mudah di gunakan, selain itu mudah juga di integrasikan. Dan bagaimana cara menghubungkan kedua Sistem tersebut, ya betul, kita membutuhkan suatu alat yang dapat menghubungkan kedua elemen itu.
Dalam hal ini, kita akan membuat file php untuk mengkoneksikan PHP dan database (MySQL).
Langsung saja, kita buka editor untuk membuat file PHP, bisa notepad, notepad++, dreamweaver, frontpage, dll deh. Lalu copy paste koding di bawah ini :

<?php

$host  = 'localhost';

$username    = 'root';

$password    = '';

$database    = 'iseng';



$koneksi = mysql_connect( $host, $username, $password )

or die ("Gagal Koneksi Database".mysql_error());

$db = mysql_select_db($database,$koneksi)

or die ("Gagal Membuka Database".mysql_error());

readmore...

Heap sort, pengurutan yang sederhana


Oke, lanjut!
Heapsort adalah metode mengurutkan dengan memanfaatkan sifat yang dimiliki oleh struktur data heap. Heap sendiri adalah sebuah “binary search tree” dengan sifat parent memiliki nilai >= nilai yang ada di anaknya. Meski dikatakan ia adalah sebuah binary search tree, namun heap lebih diarahkan ke konsepsi / menganggap suatu array memiliki sifat heap.
Ambil suatu indeks dari array, misal i. Jika dianggap elemen di i sebagai node, ia akan disebut parent jika ia memiliki anak dengan indeks 2i+1 dan 2i+2. Contoh: indeks 0 akan memiliki anak di indeks 1 dan 2.
Heapsort dimulai dengan membentuk array memenuhi sifat heap untuk seluruh indeks. Setelah melakukan penataan, dipastikan elemen terbesar akan berada di root / node paling atas heap (indeks 0). Nah, selanjutnya adalah kita pindahkan elemen terbesar itu ke belakang barisan. Untuk node dari 0 hingga n-2, lakukan penataan lagi dan pemindahan elemen terbesar ke belakang. Hasilnya adalah elemen akan terurut secara ascending setelah proses ini.
Source code dalam C++ dapat teman-teman temukan di sini:
void siftDown(int arr[], int start, int end) {
/** start dan end berada dalam jangkauan array yang terdefinisi dengan start < end **/
/** Menata array dalam jangkauan sesuai kriteria sifat heap **/
/** deklarasi **/
int root=start;        // pencarian dimulai dari root
int child;            // menyimpan indeks anak yang diperiksa
int inswap;            // indeks untuk swap
int temp;
/** sift ketika root masih memiliki anak **/
/** indeks anak ada di 2*root+1 dan 2*root+2 **/
while(2*root+1 <= end) {
child     = 2*root+1;    // dapatkan data anak
inswap     = root;
/** Ambil elemen terbesar dan letakkan di root **/
if(arr[inswap] < arr[child])
inswap = child;
if(child+1 <= end)
if(arr[inswap] < arr[child+1])
inswap = child+1;
if(root!=inswap) {
// pertukarkan
temp         = arr[root];
arr[root]     = arr[inswap];
arr[inswap]    = temp;
// track down, buat agar struktur heap di bawah konsisten
root = inswap;
} else return;
}
}
//————————————————————————————
void heapify(int arr[], int n) {
/** n = jumlah elemen di array **/
    /** heapidy membentuk heap dengan bantuan siftdown. Hasil akhirnya adalah array yang tertata sesuai sifat heap **/
/** mulai heapify dari tengah dan terus naik hingga indeks 0 **/
int start=(n-2)/2;
for(int i=start; i>=0; i–)
siftDown(arr,i,n-1);
}
//————————————————————————————
void heapsort(int arr[], int n) {
/** n = jumlah elemen di array **/
/** lakukan heapify untuk menciptakan heap semu **/
heapify(arr,n);
/** tercipta heap, elemen terbesar ada di root (indeks 0)
*  lakukan iterasi untuk setiap langkah, pindahkan root ke akhir,
*  decrement indeks dan lakukan penataan ulang lagi
*/
int end=n-1;
int temp;
while(end>0) {
// pindahkan root ke akhir
temp     = arr[0];
arr[0]     = arr[end];
arr[end]= temp;
// majukan end
end -= 1;
// lakukan penataan ulang dengan siftDown
siftDown(arr,0,end);
}
}
Ada pertanyaan? :D
readmore...

Prosedural vs OOP

Satu hal yang pasti disetujui oleh banyak orang bahwa C dan C++ berbeda dalam paradigma pemrograman. Bahasa C lebih mengarah ke prosedural murni, sedangkan C++ adalah semi-prosedural. Kekuatan utama C++ adalah pada Object Oriented Programming atau Pemrograman Berorientasi Objek. Dalam prosedural, masalah dipecah menjadi bagian-bagian yang kecil kemudian dicari solusi penyelesaian tepat untuk masalah tersebut. Dalam konsep OOP, setiap masalah adalah objek yang memiliki karakteristik tertentu.
misalnya dalam C, kita membutuhkan beberapa fungsi atau sub program untuk menyelesaikan masalah:
int fungsi1() { bla..bla..bla }
float fungsi2() { bla..bla..bla.. }
void main() {
// disini dioperasikan
}
sedangkan dalam C++, kita akan menganggap masalah sebagai objek.
class masalah {
int fungsi1() {}
float fungsi2() {}
};
Memang kode dalam C++ terlihat lebih panjang, namun dalam proyek skala besar kita akan sangat tertolong karena kita bisa menggunakan objek berulang-ulang untuk masalah yang serupa.
readmore...