QUEUE / ANTRIAN

0 komentar Selasa, 26 Oktober 2010

  
Queue Dengan Array

  •   Bersifat FIFO (First In First Out)
  •   Elemen yang pertama masuk ke antrian akan keluar pertama kalinya
  •   DEQUEUE adalah mengeluarkan satu elemen dari suatu Antrian
  •   Antrian dapat dibuat dengan menggunakan: Liniear Array dan Circular Array
  •   Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya.Sehingga membutuhkan 2 variabel: Head dan Tail



Contoh :
  •   Penjualan karcis kereta, bioskop
  •   Penjadualan pencetakan (spooling system)
  •   Penjadualan pemakaian CPU
  •   Pemakaian I/O pada sistem komputer
  •   Penyimpan barang di Apotek


Contoh program queue

#include "queue01.h"
#include <iostream.h>
int array [QUEUE_SIZE];
int awal=-1;
int akhir=-1;
int is_empty(){
if ((awal==-1)&&(akhir==-1))
return 1;
else
return 0;
}int is_full(){
if(akhir==QUEUE_SIZE-1)
return 1;
else
return 0;
}void enqueue_item(int item){
if(!is_full()){
if(awal==-1){
awal++;
akhir++;
}else
akhir++;
array[akhir]=item;
}else
cout<<"full";
}char dequeue_item(void){
if(!is_empty()){
awal++;
cout<<"\n first out"<<endl;
}else
cout<<"empty";
}
void print_item(){
if(!is_empty()){
for(int i =awal;i<=akhir;i++)
cout<<array[i];
}else
cout<<"empty";
}int main(){
int item;
cout<<"BAB I, queue."<<endl;
int pilih;
do{
cout<<"\nmenu"<<endl;
cout<<"1.add queue"<<endl;
cout<<"2.delete queue"<<endl;
cout<<"3.print"<<endl;
cout<<"4.exit"<<endl;
cin>>pilih;
switch (pilih){
case 1:
cout<<"insert
new
data=";
cin>>item;enqueue_item(item); break;
case 2:
dequeue_item(); break;
case 3:
cout<<"\nQueue
contains"<<endl;
print_item();
break;
case 4: system("cls"); cout<<"\tBye";
}
}while(pilih<=3);
return 0;
}

STACK

0 komentar Senin, 11 Oktober 2010

Sifat STACK / TUMPUKAN

  • Stack adalah kumpulan komponen yang tersusun dari sederetan item atau obyek.
  • Penambahan atau pengurangan item hanya dapat dilakukan di satu ujung saja
  • menyisipkan atau menghapus item mengikuti aturan LIFO l(Last In First Out)

Contoh STACK

  • Tumpukan kertas
  • Tumpukan piring
  • Tumpukan kardus

Operasi STACK

  • Push () sesuatu ke top dari Stack
  • Pop () sesuatu keluar Stack dari urutan top
  • Top ()/peek () menampilkan sesuatu yang ada di atas Stack
  • Is empty : cek apakah stack itu kosong
  • Size : mencari jumlah elemen yang telah dimasukkan ke dalam stack
  • Is full : cek apakah stack itu kosong

Implementasi Stack ada 3

  • Implementasi cotiguous : Masukkan data di simpan dalam array. Data diakses menggunakan indeks
  • Implementasi Linked : Masukkan data disimpan dengan Linked list. Diakses menggunakan reference
  • Implementasi Array : Elemen ditambah dari indeks terkecil menuju ke lebih besar. Memiliki elemen untuk menyimpan posisi indeks elemen teratas

Implementasi kelas Stack :

class Stack
{
private int maxSize;
private char[ ] dataStack;
private int top;
public Stack(int s) // constructor
{
maxSize = s;
stackArray = new char[maxSize];
top = -1;
}

}


pretest 2

0 komentar Minggu, 10 Oktober 2010

     jawaban no.1
public:
       kompleks(T s=0): a(s){} // jawaban no.1
       kompleks(T s=0, T t=0 ): a(s), b(t) {}
       void cetak();
       kompleks operator-()
       kompleks operator-(const kompleks<T>&);
       kompleks operator+(const kompleks<T>&);
private:
        T a;
        T b;
};


jawaban no.2.
template <class T>

kompleks<T> operasi<T>::kali(const kompleks<T>& m, const kompleks<T>& n){
            kompleks<T> temp;
            temp.a=(m.a*n.a) + (m.b*n.b);
            temp.b=(m.a*m.b) + (m.b*n.a);
            return temp;
            }

template <class T>

kompleks<T> operasi<T>::kali(const kompleks<T>& x, const kompleks<T>& y){
            kompleks<T> temp;
            temp.a=(m.a*n.a) + (m.b*n.b);
            temp.b=(m.a*m.b) + (m.b*n.a);
            return temp;
            }

INTHERIACE DALAM C++ (Bil_Float)

0 komentar

#include <cstdlib>
#include <iostream>
using namespace std;
class Bilangan{

      friend ostream& operator<<(ostream&, const Bilangan&);
      friend istream& operator>>(istream&, Bilangan&);
      public:
             Bilangan(int a0=0,float b0=0.0):a(a0),b(b0){}
             void banding_int(const Bilangan&, const Bilangan&);
             Bilangan& operator=(const Bilangan&);
             Bilangan operator+(const Bilangan&)const;
             Bilangan operator-()const;
             protected:
                     int a;
                     float b;
                     };
      ostream& operator<<(ostream& out, const Bilangan& x)
      {
               out<<"Bagian integer: "<<x.a<<endl;
               out<<"Bagian float : "<<x.b<<endl;
               return out;
      }
      void Bilangan::banding_int(const Bilangan&x, const Bilangan& y)
      {
      if(x.a>y.a)cout<<x.a<<"::x lebih besar dari"<<y.a<<"::y";
      else cout<<x.a<<"::x lebih kecil dari"<<y.a<<"::y";
      }
     
      Bilangan& Bilangan::operator=(const Bilangan& x)
      {
                a=x.a;
                b=x.b;
                return *this;
                }
     
      istream& operator>>(istream& in, Bilangan& x)
      {
               cout<<"\nMasuk bagian integer:";
               in>>x.a;
               cout<<"Masuk bagian float :";
               in>>x.b;
               return in;
               }
              
      Bilangan Bilangan::operator+(const Bilangan& x)const
      {Bilangan cc;
      cc.a=a+x.a;
      cc.b=b+x.b;
      return cc;
      }
     

      Bilangan Bilangan::operator-()const
      {Bilangan x;
      x.a=-a;
      x.b=-b;
      return x;
      }
     
class Bil_char:public Bilangan {
      friend ostream& operator << (ostream&, const Bil_char&);
      public:
             Bil_char(int a0=0, int b0=0, char ch='x'):Bilangan(a0,b0),c(ch){}
             private:
                     char c;
                     };
      ostream& operator <<(ostream& out, const Bil_char& x){
           
               out<<"bagian Integer : "<<x.a<<endl;
               out<<"bagian float : "<<x.b<<endl;
               out<<"bagian Char : "<<x.c<<endl;
               return out;
               }
     
      int main(){
      
           system("color 1a");
           Bilangan s,t(-2,3.14),d;
           cout<<"Nilai awal s\n"<<s;
           cout<<"Nilai awal t dari deklarasi\n"<<t;
           s=t;
           cout<<"Setelah s di-assign t\n";
           cout<<"Nilai s\n"<<s;
           cout<<"masukan nilai-nilai object d";
           cin>>d;
           cout<<"setelah d+t=> \n"<<d+t;
           cout<<"Nilai d dinegatifkan\n"<<-d;
           Bil_char ss;
           cout<<"Nilai awal ss\n"<<ss;
           }

kapan yah punya komputer gini???

0 komentar Senin, 04 Oktober 2010


Alienware Aurora ALX – komputer PC gaming


Harganya mulai $2,299. Spesifikasi komputer desktop Dell Alienware Aurora ALX bisa ditingkatkan, tentunya dengan harga yang semakin mahal.



komputerdesktopDellalienwareauroraa Komputer super untuk main game
komputerdesktopDellalienwareauro 1 Komputer super untuk main game
komputerdesktopDellalienwareauro 2 Komputer super untuk main game




Alienware M15x – laptop tercepat Dell untuk bermain game.Laptop atau notebook  haruslah kecil dan ringan, sehingga mudah dibawa-bawa. Produk terbaru Dell ini justru sebaliknya: besar, tebal, dan berat. Harga mulai $1,500 atau Rp15 juta.


new blog

0 komentar Sabtu, 02 Oktober 2010

welcome to my blog....