30 October 2010

Praktikum Struktur Data Minggu Ke-5 "posttest"

PROGRAM:

#include<cstdlib>
#include<iostream>
//#include 'xcept.h'

using namespace std;

//template 
class Array1D {
      friend ostream& operator<<(ostream&, const Array1D&);
      //friend istream & operator >> (istream&, Array1D&);

public :      
       Array1D ( int size= 0);
       Array1D ( const Array1D& v);
       ~Array1D (){delete [] element;}
       int& operator [] (int i) const;
       int Size() {return size;}
       Array1D & operator = (const Array1D& v);
       Array1D  operator + ()const;
       Array1D  operator + (const Array1D& v)const;
       Array1D  operator - ()const;
       Array1D  operator - (const Array1D& v) const;
       Array1D  operator * (const Array1D& v) const;
       Array1D & operator+=(const int& x);
       Array1D & ReSize(int sz);
       void geser_kiri();
       void geser_kanan();

private :
       int size ;
        int * element ;
};    

//template 
Array1D::Array1D(int sz)
{
 if ( sz < 0);
 size = sz;
 element = new int[sz];
}

//template 
Array1D::Array1D(const Array1D& v)
{
 size = v.size;
 element =new int[size]; // get space
 for (int i=0; i
 element[i] = v.element[i];
}

//template
 int& Array1D::operator[](int i)const
{
   if(i<0||i>=size); //throw OutOfBounds();
   return element[i];
}

//template 
 Array1D & Array1D::operator =(const Array1D& v)
 {
   if (this != &v){
            size= v.size;
            delete[] element;
            element = new int[size];
            for (int i=0; i< size; i++)
            element [i] = v.element[i];
            }
            return *this;
            }

 //template
 Array1D Array1D::operator +(const Array1D& v) const
 {
  if (size != v.size); //throw SizeMismatch();
  Array1D w(size);
  for(int i=0; i < size; i++)
  w.element[i] = element[i] + v.element [i];
  return w;
}

//template
Array1D Array1D::operator-(const Array1D& v) const
{
 if (size!= v.size); //throw SizeMistach();
 Array1D w(size);
 for (int i=0; i
 w.element[i] = element [i]- v.element [i];
 return w;
}

//template
Array1D Array1D::operator-() const
{
 Array1D w(size);
 for (int i=0; i 
 w.element[i] = -element[i];
 return w;
}

//template
Array1D Array1D::operator*(const Array1D& v)const
{
 if (size != v.size);//throw SizeMistach();
 Array1D w(size);
 for(int i=0; i < size; i++)
 w.element[i] = element [i] * v.element[i];
 return w;
}

//tempalte
Array1D& Array1D::operator+=(const int& x)
{
 for (int i=0; i < size; i++)
 element [i] += x;
 return *this;
}

//tempalte
ostream& operator <<( ostream& out, const Array1D& x)
{
 for (int i=0; i
 out << x.element[i] << " ";
 return out;
}

void Array1D::geser_kanan()
{
     int n= 10;
int temp=element[n];
for(int i=n-1;i>=0; i--)
element[i+1]=element[i];
element[0]=temp;
}

void Array1D::geser_kiri()
{
     int n= 10;
     int temp= element[0];
     for(int i=0;i
     element[i]=element[i+1];
     element[n-1]= temp;
     }

//template
Array1D& Array1D::ReSize(int sz)
{
 if (sz < 0);//throw BadInitializer();
 delete [] element;
 size = sz;
 element = new int [size];
 return *this;
}                      

int main(int argc, char *argv[])
{
    try {
        Array1D X(10),Y,Z;
        for (int i=0; i<10; i++)
        X[i] = i;
        cout <<"X[3]=" << X[3] << endl;
        cout <<"X is " << X << endl;
        Y=X;
        cout <<"Y is " << Y << endl;
        X +=2;
        cout <<"X incremented by 4 is " << X << endl;
        Z = (Y+X)*Y;
        cout << "(Y + X)* Y is" << Z << endl;
        cout << "-(Y + X)* y is" << -Z << endl;
              Z.geser_kiri();
              cout<<"isi Array seteleh digeser ke kiri;"<<
              Z.geser_kanan();
              cout<<"Isi Array setelah digeser ke kanan:"<<         
        }
        catch (...) {
              cerr << "An execption has occurred" << endl;}

              system("PAUSE");
              return EXIT_SUCCESS;
        }

OUTPUT:
Selamat mencobanya... :)

29 October 2010

Praktikum Struktur Data Minggu Ke-5 "pretest"

Soal !
1. Buatlah method geser_kiri dan geser_kanan untuk menggeser elemen ke kiri dan ke  kanan, kemudian gabungkan pada kelas Array1D untuk array dinamis di atas !
2. Perbedaan Array Dinamis dan Array Statis !

Jawaban:
1.
void Array1D::geser_kanan()
   {
   int n=maks;
   int temp=A[n-1];
   for(int i=n-1; i>=0;i–)
   A[i+1]=A[1];
   A[0]=temp;
   }
   void Array1D::geser_kiri()
  {
  int n=maks;
  int temp=A[0];
  for(int i=0; i<0;i++)
  A[i]=A[i+1];
  A[n-1]=temp;
  }


2. Pada array statis banyaknya tempat penyimpanan tidak dapat diubah lagi sebab array statis merupakan pointer.Sedangkan array dinamis  bisa  mengubah banyaknya elemen yang dapat disimpan, dan dapat mengembangkan array dinamis dengan menggunakan pointer.

jika masih ada kekurangan mohon maaf...
karna saya juga masih belajar dan butuh pelajaran..
hehe..
semoga bermanfaat.

apa itu TREE?

Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hierarkis (hubungan one to many) antara elemen-elemen. Tree bisa didefinisikan sebagai kumpulan simpul/node dengan elemen khusus yang disebut root atau akar.

Cara penggunaan Tree :
  • notasi kurung
  • diagram venn
  • notasi tingkat
  • notasi garis
Jenis-jenis Tree :

  • binnary tree
tree dengan syarat bahwa setiap node hanya boleh memiliki maksimal 2 subtree dan kedua subtree tersebut harus terpisah.

  • full binnary tree

binnary tree ini tiap nodenya (kecuali leaf) memiliki 2 child dan tiap subtree harus mempunyai panjang path yang sama.

  • complete binnary tree

mirip dengan full binnary tree, tetapi tiap subtree boleh memiliki panjang path yang berbeda.

  • skewed binnary tree

binnary tree yang semua nodenya (kecuali leaf) hanya memiliki 1 child.

  • implementasi binnary tree
binnary tree dapat diimplementasikan dalam C++ dengan menggunakan double linkedlist.


Tambahan:
Dalam Struktur Data ,Tree adalah salah satu struktur data yang berbentuk menyerupai sebuah pohon, yang terdiri dari serangkaian node (simpul) yang saling berhubungan. Node-node tersebut dihubungkan oleh sebuah vektor. 
Setiap node dapat memiliki 0 atau lebih node anak(child). Sebuah node yang memiliki node anak di-
sebut node induk(parent). 
Sebuah node anak hanya memiliki satu node induk. Sesuai konvensi ilmu komputer,Tree bertumbuh ke bawah, tidak seperti pohon di dunia nyata yang tumbuh ke atas.
Dengan demikian node anak akan digambarkan berada di bawah node induknya. Node yang berada di pangkal tree disebut node root(akar), sedangkan node yang berada paling ujung pada piramida tree disebut node leaf (daun).

 
Binary Tree (Pohon Biner)
Dalam mata kuliah struktur data, secara khusus akan dipelajari mengenai pohon biner. Pohon biner adalah sebuah tree yang masing-masing simpulnya hanya dapat memiliki maksimum 2 (dua) simpul anak Tidak boleh lebih.Pada pohon biner, umumnya kedua node anak disebut dengan posisinya, yaitu kiri dan kanan.
Beberapa istilah pada pohon biner:
- Size(ukuran): jumlah total node yang ada pada pohon biner.
- Depth (kedalaman): panjang jalur yang menghubungkan sebuah node sampai ke node anaknya yang paling ujung (leaf). Depth biasa juga disebut height. Full Binary Tree(Pohon Biner Penuh)adalah pohon biner yang setiap nodenya memiliki 0 atau 2 node anak.

 
Perfect Binary Tree
(Pohon Biner Sempurna) adalah pohon biner yang semua node leafnya berada pada kedalaman yang samadari node root. Juga disebut sebagai Complete Binary Tree (Pohon Biner Lengkap).

 
Almost Complete Binary Tree
(Pohon Biner Hampir Lengkap)adalah pohon biner yang setiap nodenyadapat memiliki 0 node anak, atau memiliki kiri, atau jika memiliki kanan harus memiliki kiri, tidak boleh memiliki kanan saja.
Implementasi dalam pemrograman, dalam pokok bahasan ini akan di bicarakan untuk pohon biner saja. Asumsi awal adalah data yang hendak dimasukkan kedalam node, bertipe data integer.

Contoh program TREE :


#include "iostream.h"
#include "string.h"
#include "conio.h"

struct simpulpohon{
simpulpohon *induk;
simpulpohon *kiri;
simpulpohon *kanan;

char data;};
class pohonbiner{

private:
simpulpohon *akar;
int tambah(simpulpohon *orangtua, simpulpohon *baru);
void tampil(simpulpohon *simpul);

public:
pohonbiner();
int tambah(char data);

void tampil();
};

void main()
{
clrscr();
char data[] = "CARKDUPBENXZS";
pohonbiner pohon;
for (int i = 0; i < strlen(data); i++)
pohon.tambah(data[i]);
cout<<"Data ke Pohon Biner : "simpul->kanan = NULL;
simpul->induk = NULL;
simpul->data = data;

if (akar == NULL) {
akar = simpul;
return(1);
}
else return(tambah(akar,simpul));
}
int pohonbiner::tambah(simpulpohon *orangtua, simpulpohon *baru)
{
if (baru->data ==orangtua->data)
{
delete baru; return(0);
}
else if (baru->data <>data)
{
if (!orangtua->kiri)
{
orangtua->kiri = baru;
baru->induk = orangtua;
}
else return(tambah(orangtua->kiri,baru));
}
else
{
if (!orangtua->kanan)
{
orangtua->kanan = baru;
baru->induk = orangtua;
}
else return(tambah(orangtua->kanan,baru));
}
return(1);}

void pohonbiner::tampil()
{
tampil(akar); coutkiri);
cout
if (simpul->kanan) tampil(simpul->kanan); 
}
 

apa itu QUEUE?

Definisi Queue
Jika diartikan secara harafiah, queue berarti antrian, queue merupakan salah satu contoh aplikasi dari pembuatan double linked list yang cukup sering kita temui dalam kehiduypan sehari-hari, misalnya saat Anda mengantri di loket untuk membeli tiket. Istilah yang cukup sering dipakai seseorang masuk dalam sebuah antrian adalah enqueue. Dalam suatu antrian, yang dating terlebih dahulu akan dilayani lebih dahulu. Istilah yang sering dipakai bila seseorang keluar dari antrian adalah dequeue. Walaupun berbeda implementasi, struktur data queue setidaknya harus memiliki operasi-operasi sebagai berikut :
  • EnQueue Memasukkan data ke dalam antrian
  • DeQueue Mengeluarkan data terdepan dari antrian
  • Clear Menghapus seluruh antrian
  • IsEmpty Memeriksa apakah antrian kosong
  • IsFull Memeriksa apakah antrian penuh

Implementasi Queue dengan Linear Array

Linear Array

Linear array adalah suatu array yang dibuat seakan-akan merupakan suatu garis lurus dengan satu pintu masuk dan satu pintu keluar. Berikut ini diberikan deklarasi kelas Queue Linear sebagai implementasi dari Queue menggunakan linear array. Dalam prakteknya, anda dapat menggantinya sesuai dengan kebutuhan Anda. Data diakses dengan field data, sedangkan indeks item pertama dan terakhir disimpan dalam field Head dan Tail. Konstruktor akan menginisialisasikan nilai Head dan Tail dengan -1 untuk menunjukkan bahwa antrian masih kosong dan mengalokasikan data sebanyak MAX_QUEUE yang ditunjuk oleh Data. Destruktor akan mengosongkan antrian kembali dan mendealokasikan memori yang digunakan oleh antrian. Operasi-Operasi Queue dengan Linear Array:

• IsEmpty
Fungsi IsEmpty berguna untuk mengecek apakah queue masih kosong atau sudah berisi data. hal ini dilakukan dengan mengecek apakah tail bernilai -1 atau tidak. Nilai -1 menandakan bahwa queue masih kosong.

• IsFull
Fungsi IsFull berguna untuk mengecek apakah queue sudah penuh atau masih bias menampung data dengan cara mengecek apakah nilai tail sudah sama dengan jumlah maksimal queue. Jika nilai keduanya sama, berarti queue sudah penuh.

• EnQueue
Fungsi EnQueue berguna untuk memasukkan sebuah elemen dalam queue.

• DeQueue
Fungsi DeQueue berguna untuk mengambil sebuah elemen dari queue. Operasi ini sering disebut juga serve. Hal ini dilakukan dengan cara memindahkan sejauh satu langkah ke posisi di depannya sehingga otomatis elemen yang paling depan akan tertimpa dengan elemen yang terletak di belakangnya.

• Clear
Fungsi Clear berguna untuk menghapus semua lemen dalam queue dengan jalan mengeluarkan semua elemen tersebut satu per satu hingga queue kosong dengan memanfaatkan fungsi DEQueue.

Implementasi Queue dengan Circular Array

Circular Array

Circular array adalah suatu array yang dibuat seakan-akan merupakan sebuah
lingkaran dengan titik awal (head) dan titik akhir (tail) saling bersebelahan jika array tersebut masih kosong. Posisi head dan tail pada gambar diatas adalah bebas asalkan saling bersebelahan. Berikut ini diberikan deklarasi kelas Queue Circular sebagai implementasi circular array. Dalam prakteknya, Anda dapat menggantikanny sesuai dengan kebutuhan Anda. Data diakses dengan field data, sedangkan indeks itemn pertama dan terakhir disimpan dalam field Head dan Tail. Konstruktor akan menginisialisasi nilai Head dan Tail dengan 0 dan MAX-QUEUE-1 untuk menunjukkan bahwa antrian masih kosong dan mengalokasikan data sebanyak MAX-QUEUE yang ditunjuk oleh Data. destruktor akan mengosongkan antrian kembali dan mendealokasikan memori yang digunakan oleh
antrian. Operasi-Operasi Queue dengan Circular Array :

• IsEmpty
Fungsi IsEmpty berguna untuk mengecek apakah Queue masih kosong atau sudah berisi. Hal ini dilakukan dengan mengecek apakah tail masih terletak bersebelahan dengan head dan tail lebih besar dari head atau tidak. Jika benar, maka queue masih kosong.

• IsFull
Fungsi IsFull berguna untuk mengecek apakah queue sudah penuh atau masih bias menampung data dengan cara mengecek apakah tempat yang masih kosong tinggal satu atau tidak (untuk membedakan dengan empty dimana semua tempat kosong). Jika benar berarti queue penuh.

• EnQueue
Fungsi EnQueue berguna untuk memasukkan sebuah elemen ke dalam queue tail dan head mula-mula bernilai nol (0).

• DeQueue
DeQueue berguna untuk mengambil sebuah elemen dari queue. Hal ini dilakukan dengan cara memindahkan posisi head satu langkah ke belakang.

Implementasi Queue dengan Double Linked List
Selain menggunakan array, queue juga dapat dibuat dengan linked list. Metode linked list yang digunakan adalah double linked list. Operasi-operasi Queue dengan Double Linked List :

• IsEmpty
Fungsi IsEmpty berguna untuk mengecek apakah queue masih kosong atau sudah berisi data. Hal ini dilakukan dengan mengecek apakah head masih menunjukkan pada Null atau tidak. Jika benar berarti queue masih kosong.

• IsFull
Fungsi IsFull berguna untuk mengecek apakah queue sudah penuh atau masih bias menampung data dengan cara mengecek apakah Jumlah Queue sudah sama dengan MAX_QUEUE atau belum. Jika benar maka queue sudah penuh.

• EnQueue
Fungsi EnQueue berguna untuk memasukkan sebuah elemen ke dalam queue (head dan tail mula-mula meunjukkan ke NULL).

• DeQueue
Procedure DeQueue berguna untuk mengambil sebuah elemen dari queue. Hal ini dilakukan dengan cara menghapus satu simpul yang terletak paling depan (head).

Contoh program QUEUE menggunakan Array:

#include “stdio.h”

void main()
{ int queue[5];
int depan = -1;
int belakang = -1;
int pilihan, data, i; 
do{
printf(“MENU\n”);
printf(“1. ENQUEUE\n2. DEQUEUE\n3. VIEW\n4. EXIT\n”);
printf(“Pilihan = “); scanf(“%d”, &pilihan);
switch (pilihan)
{
case 1: //enqueue
//apakah queue belum penuh?
if (belakang < 4 )
{ printf(“Data Masuk = “); scanf(“%d”, &data);
queue[belakang+1] = data;
belakang++;
if (belakang == 0)
depan = 0;
}

else
printf(“Queue penuh!\n”);
break;
case 2: //dequeue
//apakah queue belum kosong?
if (depan <= belakang)
{ printf(9
printf(“%d “, queue[i]);
printf(“\n”);
break;
}
{while (pilihan != 4);
}

apa itu LINK LIST?

Linked List ( LL ) adalah koleksi data item yang tersusun dalam sebuah barisan  secara linear, dengan penyisipan dan pemindahan dapat dilakukan dalam semua tempat di LL tersebut.

Single Linked List adalah sebuah LL yang menggunakan sebuah variabel pointer saja untuk menyimpan banyak data dengan metode LL, suatu daftar isi yang saling berhubungan.
Ilustrasi single LL:

Pada gambar di atas, data terletak pada sebuah lokasi dalam sebuah memory, tempat yang disediakan memory untuk menyimpan data disebut node ? simpul, setiap node memiliki pointer ( penunjuk ) yang menunjuk ke node berikutnya sehingga terbentuk suatu untaian yang disebut single LL.
Bila dalam single LL pointer hanya dapat bergerak ke satu arah saja, maju / mundur, kanan / kiri, sehingga pencarian datanya juga hanya satu arah saja.

Double Linked List
Dalam double LL ( Linked List berpointer ganda ) dapat mengatasi kelemahan-kelemahan single LL tersebut.
Ilustrasi double LL:


Circular Linked List adalah double / single LL yang simpul terakhirnya menunjuk ke simpul awal, dan simpul awalnya menunjuk ke simpul akhir, atau dapat disebut LL yang dibuat seakan-akan merupakan sebuah lingkaran dengan titik awal dan titik akhir saling bersebelahan jika LL tersebut masih kosong, ilustrasi Circular LL :

apa itu STACK?

stack atau tumpukan merupakan sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhr kali dimasukkan akan pertama kali keluar dari stack tersebut. Stack dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix). Ciri Stack :
  • Elemen TOP (puncak) diketahui
  • penisipan dan penghapusan elemen selalu dilakukan di TOP
  • LIFO
Pemanfaatan Stack :
  • Perhitungan ekspresi aritmatika (posfix)
  • algoritma backtraking (runut balik)
  • algoritma rekursif
Operasi Stack yang biasanya :
  1. Push (input E : typeelmt, input/output data : stack): menambahkan sebuah elemen ke stack
  2. Pop (input/output data : stack, output E : typeelmt ) : menghapus sebuah elemen stack
  3. IsEmpty ()
  4. IsFull ()
  5. dan beberapas selektor yang lain
Contoh program STACK  menggunakan Array:


#include “stdio.h”

void main()
{
int stack[100];
int top=-1;
int pilih, i;
do
{
printf(“MENU\n”);
printf(“1. PUSH\n2. POP\n3. VIEW\n4. EXIT\n”);
printf(“Pilih = “); scanf(“%d”, &pilih);
switch(pilih)
{
case 1://push
if (top > 100)
printf(“Stack penuh!\n”);
else
{    printf(“Data = “); scanf(“%d”, &stack[top+1]);
top++;
}
break;
case 2://pop
if (top < 0)
printf(“Stack kosong!\n”);
else
{
printf(“Data keluar = %d\n”, stack[top]);
top–;
}
break;
case 3://view
for(i=top; i>=0; i–)
printf(“%d “, stack[i]);
printf(“\n”);
break;
case 4:
printf(“Exit…\n”);
break;
}
{while (pilih!=4);
}

Contoh Kasus "Stack"

HASIL SURVEI

Stack adalah struktur yang sifatnya LIFO (last in first out), yaitu yang masuk belakangan akan keluar terlebih dahulu. Dalam hal ini kelompok kami mengambil contoh tentang tumpukan 5 buah kursi plastik.
 
Ada 2 operasi yang digunakan pada stack, yaitu:
1.Push (memasukkan /menyusun kursi)
  • Kursi yang pertama diletakkan paling bawah
  • Kemudian Kursi kedua diletakkan diatas kursi pertama
  • Kemudian kursi ketiga diletakkan di atas kursi yang kedua begitu seterusnya sampai kursi yang terakhir yaitu kursi kelima diletakkan diatas kursi yang ke empat.
2. Pop (mengeluarkan elemen dari stack/ mengambil kursi)
  • Kursi yang  kelima diambil terlebih dahulu
  • Kemudian kita ambil kursi yang ke empat
  • Setelah kursi yang ke empat kita ambil kemudian kita ambil kursi ketiga begitu sterusnya sampai kursi terakhir yaitu kursi paling bawah atau kursi pertama.

    
     
    http://trisaptohadi.blogspot.com/
    http://blog.uad.ac.id/norman09/
    http://blog.uad.ac.id/fadiel27/
    http://blog.uad.ac.id/nicoadhy/

    26 October 2010

    Cara Memasang Password Untuk Folder Pada Komputer

    Anda mungkin menggunakan satu komputer untuk beberapa orang sekaligus ketika di rumah atau di kantor. Jika tidak ingin data-data di folder dilihat orang lain, Anda bisa memasang password untuk folder Anda. Tapi tips ini hanya berlaku di komputer dengan sistem operasi Windows XP.

    Pertama, klik kanan di folder yang ingin Anda proteksi. Lalu pilih “Properties”. Klik pada bagian kolom “Sharing”. Pada bagian bawah jendela, Anda akan menemukan petunjuk “make this folder private.” Centangkan kotak di petunjuk itu, lalu klik “Apply”.

    Setelah itu akan muncul permintaan untuk membuat password, klik “Yes”. Isi password lalu konfirmasi ulang, dan klik “Create Password”. Setelah itu tutup jendela password dan klik “OK” di kotak “Properties”. Perlu diingat, setelah itu, Anda harus selalu log in untuk masuk ke komputer.

    Cara Dan Tips Menghindari Spam

    Info:
    Laporan Symantec Spam & Phishing bulan ini menyebutkan bahwa spam (pesan elektronik sampah) menyumbang 89,35 persen dari keseluruhan pesan di Internet dalam bulan Maret lalu, turun dari 89,99 persen pada Februari.

    Sementara itu, pesan scam dan phishing pada bulan Maret mencapai 17 persen dari keseluruhan spam, lebih sedikit 2 persen dari bulan Februari, demikian laporan Symantec melalui e-mail kepada antaranews.com, Kamis.

    Setelah gempa bumi tragis di Haiti dan Cili, tidak ada lagi bencana alam baru yang bisa dimanfaatkan oleh spammer. Spammer kini lebih memfokuskan pada event musiman dan event yang tercatat di kalender seperti liburan Paskah untuk mengirimkan pesan spam.

    Berdasarkan ukuran file spam, terjadi peningkatan yang cukup besar pada pesan spam yakni antara 5kb dan 10kb (meningkat lebih dari 10 persen).
    Symantec mengamati penurunan serangan phishing secara keseluruhan adalah 3 persen dari bulan sebelumnya. Hal ini terutama disebabkan oleh turunnya volume serangan yang berasal dari toolkit otomatis.

    Sebanyak 9 persen URL phishing dibuat menggunakan toolkit phishing otomatis, turun sebesar 35% dari bulan sebelumnya.

    Ada dua jenis website phishing berbeda yang teramati dalam serangan tersebut. Jenis pertama dibuat menggunakan toolkit phishing otomatis. TLD yang paling sering digunakan adalah ‘.cz’, yang mewakili Republik Ceko.

    Pada kasus ini, konsumen diminta memasukan data pribadi mereka pada halaman “Card Holder Form” untuk memenuhi proses verifikasi palsu tersebut.

    Serangan kedua berisi URL dengan domain IP (sebagai contoh, URL seperti http://255.255.255.255./index.html). IP tersebut tersimpan dalam server-server yang berbasis di AS.

    URL tersebut diketahui sangat panjang, biasanya lebih dari 700 karakter. Dalam serangan-serangan ini, halaman tersebut menanyakan informasi yang sangat pribadi, namun nomor kartu kredit atau debit bisa dimasukkan secara otomatis.

    Maka,

    Yang sebaiknya dilakukan:

    • Berhenti berlangganan dari milis-milis sah jika Anda tidak ingin menerima pesan lagi.
    • Ketika mendaftar untuk menerima email, periksa kembali item-item tambahan apa saja yang Anda inginkan pada saat yang sama.
    • Jangan memilih item yang tidak anda inginkan.
    • Selektif dalam mendaftarkan alamat email anda ke situs-situs Internet.
    • Hindarilah menampilkan alamat email Anda di Internet.
    • Gunakan alamat tersendiri ketika mendaftar pada milis tertentu dan miliki beberapa alamat email untuk berbagai tujuan berbeda, atau carilah layanan email sekali pakai.
    • Hapus semua spam
    • Hindari mengklik link yang mencurigakan dalam email atau pesan IM, karena bisa saja akan menghubungkan ke situs palsu.
    • Disarankan untuk mengetik alamat situs langsung pada browser daripada percaya pada link dalam pesan.
    • Pastikan bahwa operating system selalu up to date dengan update terbaru, dan gunakan paket software keamanan yang komprehensif.
    • Pertimbangkan solusi antispam yang memiliki reputasi baik untuk menangani penyaringan di seluruh organisasi anda.
    Yang sebaiknya tidak dilakukan:

    • Membuka lampiran dari email yang tidak dikenal karena lampiran dapat menginfeksi komputer Anda.
    • Membalas spam karena membalas email spam akan menghasilkan spam-spam lain.
    • Mengisi formulir dalam pesan yang meminta informasi pribadi, keuangan dengan password.
    • Perusahaan terkemuka tidak mungkin meminta informasi pribadi Anda melalui email. Jika ragu untuk menghubungi perusahaan yang bersangkutan melalui mekanisme independen yang terpercaya, seperti dengan memverifikasi nomor telepon atau alamat Internet.
    • Membeli produk atau jasa dari pesan spam.
    • Membuka pesan spam.
    • Meneruskan peringatan virus apa pun yang anda terima melalui email bisa jadi ini adalah berita bohong (hoax).

    Mendeteksi dan Membasmi Virus Komputer Dari USB Flash Disk

    Ada tidaknya virus pada PC bisa dideteksi dengan aplikasi virus portabel yang ada di flash disk (UFD). Berguna untuk mengamankan UFD dari virus dan membasmi virus. Komputer bisa terinfeksi virus lewat USB flash disk (UFD). Tapi, dari mana virus di UFD itu berasal. Dari komputer yang sudah terinfeksi, tentunya. Contohnya komputer-komputer di warnet-warnet. Jadi, cegah juga masuknya virus ke dalam UFD. Caranya adalah dengan memindai komputer yang hendak dicoloki UFD.

    Kita bisa menjalankan antivirus yang portable—antivirus yang disimpan di UFD, tak perlu diinstal di komputer untuk bisa berjalan. Dengan antivirus itu, komputer akan dipindai. Hmm… memang, tidak butuh waktu yang sedikit, apalgi kalau komputer memiliki file yang sangat banyak. Tetapi, memang seperti itulah kenyataan dalam dunia TI—kenyamanan berbanding terbalik dengan keamanan.

    Yang kita butuhkan adalah antivirus portable, seperti AntivirX, ClamWin yang bisa diunduh dari www.clamwin.com. Kita juga perlu membuat sebuah file yang jalan otomatis ketika UFD dicolok. File itu akan menjalankan antivirus yang ada di UFD. Ini mirip dengan file jalan otomatis yang sering terdapat pada CD instalasi program.

    Buka Notepad dan ketikkan baris-baris perintah berikut ini.
    1. [autorun]
    2. Open=antivirus.exe
    3. Action=Open Anti Virus Portable!
    4. Icon=icon.ico
    5. Label=Your_Name
    Kalau sudah, simpan dengan nama autorun.inf. Agar tidak jadi file TXT, ubah Save as Type menjadi [All Files].

    Berikut ini adalah penjelasan ringkas mengenai perintah-perintah dalam file autorun.inf tadi.

    Perintah “Open” adalah perintah untuk membuka antivirus tersebut. Perintah Open diikuti dengan file yang menjalankan antivirus. Jadi, ganti “antivirus.exe” di perintah itu dengan nama file antivirus yang digunakan. Misalnya, nama file antivirusnya “antivirx.exe” maka perintah tersebut menjadi “Open=clamwin.exe”. Nah, kalau file itu berada di dalam folder lain—misalnya folder AntivirX 1.0, perintah itu berubah menjadi “Open=AntivirX 1.0-clamwin.exe”.

    Perintah “Action”berguna untuk menampilkan kalimat pada kotak dialog ketika antivirus akan dijalankan. Kalimat yang mengikuti perintah ini boleh diganti dengan kata-kata lain.
    Perintah “Icon” berfungsi untuk mengganti ikon standar UFD yang tampil pada Windows Explorer. Enggak ada fungsi khusus yang berkaitan dengan antivirus, ikon itu cuma mempercantik saja. Tentu saja file ikon harus ada juga di UFD. Nama file yang pada contoh “icon.ico” diganti sesuai dengan nama file ikon yang digunakan.

    Terakhir, perintah “Label” berfungsi ntuk memberikan nama dari pada UFD. Sama seperti perintah “Icon”, perintah ini juga enggak ada hubungannya dengan usaha pencegahan masuknya virus.

    Atribut file autorun.inf itu baiknya dibuat menjadi “Read-Only”–cuma bisa dibaca, tidak bisa diubah-ubah. Kalau tidak bisa diubah, berarti virus tidak akan bisa memodifikasi file tersebut. Caranya begini, klik kanan file itu, lalu klik [Properties]. Pada bagian Attributes, beri tanda centang pada [Read-Only].

    Berikut ini adalah penggunaan UFD untuk mendeteksi virus yang ada pada komputer.
    1. Masukkan UFD namun jangan membuka flash disk pada komputer. UFD belum dibuka, virus dalam komputer tidak akan masuk ke dalam flash disk atau sebaliknya.
    2. Jalankan fungsi jalan otomatis dengan mengklik tombol [OK] pada kotak dialog yang muncul. Antivirus portabel yang ada pada UFD akan berjalan.
    3. Scan virus pada komputer, khususnya pada C:-Windows-System32.
    4. Kalau ada antivirus melaporkan adanya virus, jangan ragu, komputer itu memang bervirus.
    5. Selanjutnya silakan bersihkan komputer itu. Kalau tidak, yah cabut saja buru-buru UFD yang dicolok.
    Caption:
    1. File autorun.inf yang akan menjalankan antivirus secara otomatis berisi baris-baris perintah seperti tampak pada gambar.
    2. Ketika dijalankan, muncul sebuah pilihan dengan teks seperti yang dimasukkan pada baris perintah “Action”. Pilih itu dan klik [OK].

    Trik Mengganti Nama Icon Recycle Bin Pada Komputer

    Untuk mengubah nama icon desktop Recycle Bin, Anda dapat melakukan hal berikut ini :

    1. Buka Run
    2. Ketikkan “regedit” (tanpa tanda kutip)
    3. Kemudian Anda dapat mencari HKEY_CLASSES_ROOT
    4. Tekan tanda “+”
    5. Carilah “CLSID” dan click tanda “+”
    6. Carilah “{645FF040-5081-101B-9F08-00AA002F954E}”
    7. Lalu Anda dapat mengganti nama “Recycle Bin” dengan meng-click dua kali di bagian “Default”, dengan nama yang Anda inginkan (tanpa tanda kutip)
    8. Lalu tekan “Ok”, dan restart komputer.

    semoga bermanfaat... :)

    21 October 2010

    Praktikum Struktur Data Minggu Ke-4 "posttest"

    PROGRAM:
    
    #include<iostream.h>
    #include<conio.h>
    #define maks5
    
    using namespace std;
    class Array1D{
    friend ostream& operator<<(ostream&, const Array1D&); 
    friend istream& operator>>(istream&, Array1D&);
    public:
    Array1D();
    void cetak();
    void geser_kiri();
    void geser_kanan();
    void hapus_elemen();
    
    private:
    char A[5];
    int posisi;
    };
    
    Array1D::Array1D(){
    for(int i=0;i<5;i++) A[i]='O'; } 
    void Array1D::cetak(){ 
    >for(int i=0;i<5;i++) cout<<<" "; } 
    ostream& operator<<(ostream& out, const Array1D& x){ for(int i=0;i<5;i++) out<<<" "; out<>(istream& in, Array1D& x){
    
    int posisi;
    for (int posisi=1; posisi<=5; posisi++){ cout<<"masukkan nilai array posisi ke- : "; in>>x.posisi;
    if(posisi >= 0 && posisi <= 5){cout<<"masukkan elemen arraynya :"; in>>x.A[posisi-1];
    }
    
    return in;
    }
    void Array1D::geser_kanan(){
    int n=5;
    int temp=A[n-1];
    for(int i=n-1;i>=0;i--)
    A[i+1]=A[i];
    A[0]=temp;
    }
    
    void Array1D::geser_kiri(){
    int n=5;
    int temp=A[0];
    for(int i=0;i<<"Pilih indeks berapa yg akan di hapus : "; cin>>posisi;
    if(posisi>0 && posisi<=5) A[posisi-1]='O'; else cout<<"indeks yg anda masuukan salah karena indek hanya terdiri dari 1 - 5\n"; }       int main(int argc, char *argv[]) { Array1D x; cout<<"Array masih kosong : "<>x;
    cout<<"Isi Array saat ini : "<
    x.geser_kiri();
    cout<<"Isi Array setelah di geser kiri : "<
    x.geser_kanan();
    cout<<"Isi Array setelah di geser kanan : "<
    cout<<"Urutan elemen pada indeksnya saat ini : "<
    x.hapus_elemen();
    cout<<"Setelah dihapus menjadi : "<
    
    system("PAUSE");
    return EXIT_SUCCESS;
    }
    
    
    OUTPUT:
    selamat mencobanya... :)

    20 October 2010

    Praktikum Struktur Data Minggu Ke-4 "pretest"

    soal.
    1. modifikasilah operator overloading input  agar saat memasukkan elemen yang baru, elemen array dalam keadaan terurut !
    2. buatlah metode hapus elemen tertentu dari array, namun sebelum dihapus, user ditanya lebih dulu elemen mana yang akan dihapus dengan menampilkan keadaan array pada saat itu!

    jawaban:
    1.

    istream& operator>>(istream& in, Array1D& x){ 
        for(int i=0;i<5;i++){
        cout<<”masukkan nilai array posisi ke-”<<<” : “;
        in>>x.A[i];
        }
        return in;
        }

    2.

    void Array1D::hapus_elemen(){
       int posisi;
       cout<<”Pilih indeks berapa yg akan di hapus : “;
       cin>>posisi;
       if(posisi>0 && posisi<=5)
       A[posisi-1]=’O';
       else cout<<”indeks yg anda masukan salah karena indek hanya terdiri dari 1 – 5\n”;
       }

    jika masih ada kekurangan mohon maaf...
    karna saya juga masih belajar dan butuh pelajaran..
    hehe..
    semoga bermanfaat.

    16 October 2010

    Tips Untuk melindungi Folder Anda


    Folder Password Expert adalah sebuah aplikasi untuk memproteksi folder pada Windows dengan password, sehingga orang lain yang tidak berwenang tidak dapat mengakses folder yang dimaksud. Apalagi jika Anda berbagi PC dengan rekan-rekan kerja Anda atau anggota keluarga. Aplikasi ini menawarkan beberapa fitur seperti:


    1. Folder yang diproteksi tidak akan bisa diakses melalui Windows Safe Mode atau DOS.

    2. Folder yang diproteksi tidak dapat dibuka, di-copy, dimodifikasi, bahkan dihapus sebelum Anda membuka proteksi dengan password yang tepat.

    3. Catatan password yang digunakan tidak akan disimpan dalam Registry Windows ataupun pada lokasi lain.

    4. Penggunaan yang mudah dengan bantuan wizard.



    Folder Password Expert 1.0 ini dapat di-download dari http://www.folderpasswordexpert.com dengan ukuran file instalasi sebesar 677KB. Aplikasi ini dapat langsung digunakan setelah proses instalasi selesai. Anda cukup menjalankan aplikasi ini, pilih opsi Lock folders selanjutnya wizard akan membantu Anda pada langkah selanjutnya untuk menentukan folder dan password yang digunakan. Untuk tujuan keamanan, panjang password dapat diberikan lebih dari 20 karakter dan Anda juga bisa memproteksi banyak folder yang berbeda dengan password yang berbeda pula. Setelah diproteksi, icon standar folder akan berubah menjadi icon dengan tanda “forbidden”.

    Untuk membuka proteksi, lakukan dengan cara yang sama seperti di atas. Namun kali ini pilih opsi Unlock folders, atau cukup dengan klik ganda pada folder yang bersangkutan maka akan muncul kotak dialog Folder Password Expert menanyakan password Anda. Sayangnya aplikasi ini bersifat shareware dengan batasan masa percobaan selama 30 hari serta tidak dapat memproteksi lebih dari 3 folder.

    14 October 2010

    Tips Merawat Laptop Yang Baik

    01. Jangan sembarangan mendownload software gratis dari internet.

    Terlebih lagi misalnya software yang seolah-olah sebagai suatu antivirus. Gunakan software-software yang telah Anda dapatkan dari paket laptop yang Anda beli. Risiko virus bisa merusak ke dalam laptop Anda jika Anda sembarangan menggunakan software dari internet. Jika Anda tetap ingin menggunakan software hasil download, maka pastikan sudah Anda scan software tersebut dengan antivirus yang Anda miliki.

    02. Jangan memberikan Penutup apapapun termasuk sarung Laptop pada saat Laptop anda dalam keadaan menyala karena berdasarkan pengalaman Laptop teman saya Processor Laptopnya akan mati karena sirkulasi udara yang tidak ada di bawah permukaan Laptop

    03. Menurut survei, kerusakan laptop yang paling umum terjadi pada harddisk dan LCD display/layar. Kerusakan harddisk diakibatkan benturan atau terjatuh. Kerusakan LCD biasanya karena terpapar sinar matahari dan tekanan fisik.

    04. Rapikanlah kabel-kabel adaptor atau kabel lain yang sedang terhubung dengan laptop, jangan sampai membuat orang lain tersandung.

    05. Selain kerusakan harddisk dan LCD, tumpahan cairan adalah penyebab kerusakan laptop yang paling umum, atau pakai selembar film-transparan yang disebut ‘keyboard protector’.

    06. Hindari Getaran dan Jauhkan laptop dari alat pengeras suara, misalnya loudspeaker, mesin/kendaraan berat, dan sumber getaran lainnya.

    07. Hindarkan laptop dari sinar x-ray di airport.

    08. Jaga kebersihan laptop, lap dengan kain bersih atau kapas agar bebas debu.

    09. Lindungi modem laptop. Gunakan modem yang mempunyai fitur digital-line guard. Karena fitur ini akan menjaga modem dari kerusakan jika secara tidak sengaja mencolokkan kabel modem ke jack telpon digital PABX atau jalur ISDN. Dan berhati-hatilah ketika akan mencolokkan kabel telepon ke laptop karena kawat logam dalam konektor modem laptop sangat tipis dan mudah bengkok.

    10. Dalam iklim Asia, suhu yang lembab bisa jadi masalah besar untuk laptop yang dirancang di Amerika Serikat. Untuk mengurangi kemungkinan masalah, pastikan laptop tersimpan di tempat yang kering dan sejuk. Jika laptop tidak digunakan untuk waktu yang lama, simpanlah laptop dalam wadah yang rapat dan masukkan silica gel . Silica gel ini seperti halnya yang terdapat dalam botol obat, kemasan barang2 elektronik (bungkusan kecil bertuliskan ‘Dessicant Silica Gel’). Atau bisa dibeli di toko bahan kimia. Silica gel ini merupakan bahan kimia yg bersifat Higroskopis (menyerap uap air / kelembaban).

    11. Listrik padam dan gangguan tegangan dapat terjadi sewaktu-waktu, di rumah, di kamar hotel atau di kantor. Jika memungkinkan, gunakanlah ’surge-protector’ jika sedang menggunakan AC outlet. Dan jangan lupa membuat back-up data secara rutin.

    12. Gunakanlah selalu tas laptop ketika sedang bepergian.

    13. Jika ingin membungkus laptop untuk dikirim atau untuk keperluan lain, gunakanlah kotak pelindung yang kuat, dan bungkuslah dengan busa atau spons yang dapat menyerap getaran.

    14. Jangan sekali-sekali meletakkan benda berat di atas laptop.

    15. Jika laptop bermasalah, jangan mencoba untuk membongkar sendiri. Sebaiknya serahkan ke teknisi atau service-center terdekat. Karena mungkin saja kerusakan malah akan menjadi semakin berat. Khusus untuk laptop yang masih dalam masa garansi - membongkar laptop dapat merusak sticker garansi (warranty seal) yang masih melekat pada laptop.

    16. Ketika akan mengangkat laptop yang sedang terbuka, jangan mengangkatnya sambil memegang pada bagian display/layar, angkatlah pada bagian bawah/keyboard

    17. Jangan memasukkan disket pada bagian sudutnya. Memasukkan disket setengah-setengah dapat merusak disk-drive. Begitu juga ketika membuka atau menutup tray drive CD-ROM/DVD-ROM untuk memasukkan atau mengeluarkan disk. Jangan menyentuh lensa pada tray CD-ROM. Peganglah compact-disc pada bagian pinggir, bukan pada permukaan disk.

    18. Jangan mencolokkan kabel modem laptop pada PBX (private branch exchange) atau saluran telpon digital. Laptop hanya dapat menggunakan saluran PSTN (public-switched telephone network). Penggunaan saluran telpon selain PSTN dapat merusak modem laptop.

    19. Rawatlah baterai laptop, jangan sampai bocor karena dapat merusak slot baterai.

    20. Jangan pindah-pindahkan laptop pada saat masih hidup. Laptop yang sedang hidup berarti harddisknya juga sedang bekerja sehingga apabila digerakkan dapat menyebabkan head harddisk menggores cylinder sehingga akan berakibat fatal.

    21. Jauhkan laptop dari medan magnet yang kuat, bahan cair dan sumber panas/dingin atau perubahan suhu yang ekstrim.

    22. Hindari sinar matahari langsung dan pastikan laptop selalu diletakkan pada permukaan yang rata.

    Nb: Kartu Garansi anda Jangan Sampai Hilang dan apabila terjadi kerusakan Fatal terhadap Laptop anda Bawa ke tempat Toko pada saat anda Membeli Laptop dulu.

    Cara Membuat Blog Pribadi


    • LANGKAH KE-1 (GETTING STARTED)

    Silahkan anda kunjungi website www2.blogger.com

    • LANGKAH KE-2 (CREATE AN ACCOUNT)

    Setelah page terbuka, silahkan anda klik CREATE AN ACCOUNT setelah anda klik, maka akan muncul form untuk mengisikan nama dan password. Silahkan isi dan anda harus selalu ingat username dan password yang anda isikan.
    Jangan lupa untuk menceklist Term of service agreement.
    Kemudian klik tombol panah "Continue" untuk melanjutkan ke langkah ke-3

    • LANGKAH KE-3 (NAME YOUR BLOG)

    Bagian ini sangat penting, karena nama dari blog anda nantinya akan menjadi sebuah keyword.
    TIPS: agar blog anda mudah terindex oleh search engine(mesin pencari), maka alangkah lebih bagusnya jika anda membuat sebuah kesamaan antara addres dan name dari blog anda!
    Sekarang klik tombol panah ORANGE"Continue" untuk melanjutkan ke langkah ke-4

    • LANGKAH KE-4 (CHOOSE YOUR BLOG TEMLATE)

    Sekarang anda haya tinggal selangkah lagi untuk mempunyai webblog buatan sendiri!!!
    Disini anda ditujukan untuk memilih warna dan bentuk dari web anda. Silahkan pilih sesuai dengan topic dan selera anda.
    OK jika anda sudah selesai memilih template, sekarang kita akan lanjut ke langkah berikutnya.
    Sekarang klik tombol panah ORANGE"Continue" untuk melanjutkan ke langkah ke-5

    • LANGKAH KE-5 (GENERATE YOUR BLOG)

    Sekarang blogger akan menciptakan blog anda. Setelah blog selesai dibuat, maka di browser anda akan ada tulisan "Your Blog Has Beeb Created" Klik start Posting untuk untuk membuat artikel/tulisan pertamamu.
    Sekarang Isikan Judul artikel kamu pada kolom tile, dan tulis isi dari artikelmu di bawahnya!

    SELAMAT!! sekarang anda sudah mempunyai blog sendiri dan sudah bisa dilihat dari penjuru dunia manapun :)

    13 October 2010

    Cara Mempercepat Kecepatan Modem

    Artikel ini akan membantu Anda dalam meningkatkan kecepatan modem perangkat Anda. Peningkatan kecepatan modem akan membiarkan Anda surfing internet lebih cepat dan efisien. Apakah membaca artikel untuk rincian.

    Ini adalah apa yang Anda butuhkan:

    PC dengan built-in modem.

    1. Klik kanan My Computer ->

    2. Pilih Properties ->

    3. Pilih Device manager ->

    4. Pilih Ports -> (jika Anda cant menemukan port modem, kemudian langsung masuk ke modem) Pergi ke port modem ->

    5. Klik pada bit per detik dan mengubahnya ke maksimum ->

    6. Klik Arus DNS dan mengubahnya ke none ->

    7. Di pelabuhan-pelabuhan -> Ke Advanced -> Gunakan pastikan buffer FIFO dicentang -> dan menerima dan mengirimkan penyangga harus berada di max.

    Thats it kecepatan modem anda meningkat dan sekarang menjelajah internet dengan kecepatan baru.

    Petunjuk:

    Sebagai kecepatan modem juga dapat ditingkatkan melalui Registry tetapi tidak aman untuk mengedit registri rincian jika Anda tidak cerdas komputer karena kebutuhan mengedit registri spesialisasi sehingga dont mengedit rincian theregistry jika Anda dont know untuk mengedit sama.

    Tolong jangan meninggalkan komentar.

    Cara Upgrade FlashDisk 1Gb Menjadi 2Gb

    Menurut sumber yang saya baca, ternyata caranya cukup simple, beginilah kira-kira caranya :
    1. Sebelum digunakan, format terlebih dahulu flasdisk anda, pilih file systemnya FAT32
    2. Buka softwarenya, klik fix
    3. Muncul pemberitahuan, klik yes
    4. Remove flashdisk, kemudian masukan kembali
    5. Selesai
    selamat mencobanya... ^^

    Tips Mempercepat Koneksi Internet Speedy



    Cara Pertama :
    • Masuk ke settingan modem, 192.168.1.1
    • Klik Advanced Setup
    • Klik ADSL, lalu pilih ADSL Mode, awalnya pasti ADSL2+ lalu diganti jadi G.DMT, lalu klik save, tunggu beberapa saat browsing lagi
    Cara Kedua :
    • Setelah lakukan cara pertama lalu masuk ke control panel lalu pilih Network Connections
    • Klik kanan di LAN atau Wireless Network Connection, lalu pilih properties. Tergantung kalian pake LAN atau WIFI
    • Lalu klik di internet protocol (TCP/IP) klik properties
    • Lalu pilih Use the following DNS server addresses
    • Masukkan preferred DNS server: 8.8.8.8
    • Masukkan Alternate DNS server :8.8.4.4
    • lalu klik ok
    • lalu klik kanan di gambar jaringan di paling bawah kanan layar komputer kita, lalu pilih repair, dan setelah itu buktikan kecepatan yang terasa pasti lebih cepat dari kecepatan yang sebelumnya.
    Trik tips diatas memanfaatkan DNS punyanya paman Google. Kalau berhasil, kerasa pasti cukup berefek. Semoga tips cara mempercepat koneksi internet Speedy diatas bisa bermanfaat untuk semuanya. Selamat mempraktekkan & semoga berhasil.

    7 Rahasia Mempercepat Kinerja Windows



    Ingin meningkatkan perfoma komputer atau notebook Anda lebih cepat dengan cara aman dan tidak perlu mengeluarkan biaya sepersen pun? Memang ada caranya? Ya, tanpa mengupgrade memori ataupun mengganti prosesor, sebenarnya kinerja komputer/notebook Anda dapat ditingkatkan dengan beberapa cara. Khusus untuk Operating System (OS) Windows XP, ada 6 [+1] cara meningkatkan kinerja OS Anda.

    1. Non-aktifkan Program Start-Up Extra
    Ada beberapa program aplikasi yang memiliki sifat carrier (bawaan) yang mengeksekusi program tersebut pada saat kita baru menghidupkan komputer (start-up). Contoh umum adalah program Updater Acrobat, Real Player, AOL, MS Groove, Winamp, Matlab, YM dan masih banyak lagi. Jika program ini aktif ketika start-up, maka antara start-up hingga dalam keadaan normal (ready) akan membutuhkan  waktu yang lebih lama. Oleh karena itu, non-aktifkanlah program-program yang tidak diperlukan pada awal start-up. Sebaiknya semua program aplikasi non-Windows dan antivirus, maka non-aktifkanlah. Berikut langkah-langkahnya :
    1. Klik Start, lalu klik Run..
    2. Ketiklah msconfig , lalu tekan enter atau klik OK.
    3. Akan tampil System Configuration Utility
    4. Pilih dan kliklah Startup
    5. Pada tab Startup, Anda akan melihat box-box akan ditandai check list hijau (v). Pelajarilah setiap item tersebut dengan melihat Command. Cobalah hilangkan checklist hijau (v) pada item-item program yang tidak diinginkan. Program-program dengan command C:Windows sebaiknya dibiarkan seperti kondisi semula.
    6. Setelah beberapa item telah di unchekc (menghilangkan v pada box), maka kliklah Apply dan/atau OK. Akan ada konfirmasi apakah ingin restart?
    7. Setelah restart, pada layar akan muncul konfirmasi lagi, dan pilihlah “option for not showing this dialogue every
      time your PC reboots
    2 . Optimasi Aturan Tampilan (Display Setting)
    Secara normal, Windows XP memberi tampilan yang  “indah”, dan tentu saja ini membutuhkan resource (cadangan memori) yang berlebih.  Oleh karena itu, ada baiknya jika Anda memilih tampilan yang biasa-biasa saja alias sederhana. Berikut caranya:
    1. Klik start, lalu klik kanan My Computer
    2. Pilih dan kliklah Properties
    3. Akan muncul System Properties
    4. Pilihlah Advanced
    5. Pada Perfomance, kliklah Setting
    6. Akan muncul Perfomance Option dan Visual Effect
    7. Klik Custom dan silahkan hilangkan beberapa item check list pada box, dan biarkan item-item dibawah ini tetap check (v).
      • Use visual styles on windows and buttons
      • Show shadows under menus
      • Show shadows under mouse pointer
      • Show translucent selection rectangle
      • Show Window contents when dragging
      • Slide taskbar buttons
      • Use common tasks in folders
      • Use drop shadows for icons labels on the desktop
    8. Silahkan klik Apply. Dan kemudian klik OK.
    3. Mempercepat Browsing File
    Anda pasti mengalami  ketika membuka “My Computer” untuk menelusuri folder-folder terjadi delay (butuh waktu beberapa saat). Hal ini disebabkan karena Windows XP secara otomatis sedang mencari file-file network dan printer setiap kali Anda membuka Windows Explorer. Untuk mempercepat kinerja ini, maka lakukanlah :
    1. Klik start, dan double klik My Computer
    2. Kliklah menu Tools (bagian atas)
    3. Pilihlah Folder Options
    4. Muncul box Folder Options, dan pilihlah View
    5. Hilangkan check (v) pada Automatically search for network folders and
      printers check box
    6. Klik Apply dan selanjutnya OK.
    7. Perubahan hasil akan terlihat setelah restart.
    4. Jalankan Disk CleanUp
    OS Windows maupun progam aplikasi  selalu “menitip” file sementara (temporary files) di “sekeliling” hard disk Anda, sehingga membutuhkan space.  Hal ini akan membuat kondisi hard disk akan “full” sehingga akan mempengaruhi faktor kecepatan Windows serta mengurangi efisiensi akses hard disk dan operasi memori virtual. Fenonema ini umumnya menjadi masalah ketika komputer kita digunakan untuk browsing dan surfing internet dengan frekuensi tinggi. Cara “penyembuhan”-nya adalah
    1. Klik start, dan double klik My Computer
    2. Klik kanan pada Drive C hard disk
    3. Kliklah Disk Cleanup
    4. Tunggulah beberapa saat dan akan muncul Disk Cleanup for (C:)
    5. Pilihlah (berikan check list V) pada Temporary Internet Files and Recycle Bin
    6. Klik OK dan selesai
    7. Catatan : sebaiknya dilakukan 1 atau 2 minggu sekali
    5. Disk Defragmenter
    Sering mengcopy dan mendelete file-file dalam hard disk menyebabkan susunan file-file dalam hard disk berantarakan. Antara file folder A akan berserakan diantara folder B, C, atau D. Dan juga sebaliknya file folder B bisa berserakan diantara space folder A, C atau D dan seterusnya. Hal ini akan memperlambat kinerja Windows dalam mengakses data (pembaca hard disk akan mencari file-file cakram pada hard disk yang telah berserakan). Dan biasanya, setelah penggunaan dan peng-copy-an/ pen-delete-an terjadi selama 1, 2, 3 atau 4 bulan, maka struktur file akan berserakan. Untuk itu, kita perlu merapikan file tersebut. Caranya sebagai berikut :
    1. Klik start dan pilih All Programs
    2. Pilih Accessories
    3. Pilih System Tools
    4. Pilih Disk Defragmenter
    5. Akan muncul “Disk Defragmenter” dengan tampilan volume hard disk kita
    6. Kliklah Volume C, dan klik Analyze
    7. Setelah beberapa saat, akan muncul hasil analisisnya. Akan muncul hasil yakni “You do not need to defragment this volume” atau “You need to defragment this volume“.
    8. Jika yang muncul adalah “You need to defragment this volume“, maka kliklah Defragment. Jika sebaliknya, maka kliklah Close.
    9. Setelah seleasai di C, Anda dapat mengecek untuk partisi hard disk di D, E dan seterusnya.
    10. Catatan : lakukan pengecekan dan/atau defragment 2 atau 3 bulan sekali. Jangan sering-sering defragment karena akan berdampak buruk pada hard disk. Maksimum sekali dalam 2 bulan atau lebih.
    6. Bersihkan Sistem Register yang Tidak digunakan *
    Cara 6 agak sulit karena membutuhkan program untuk membersihkan/mendelete sistem register program-program yang sudah tidak digunakan lagi (sisa-sisa uninstall program). Disamping itu, banyak juga file-file register yang error dalam OS Windows seiring berjalannya waktu. Hal ini akan memperlambat kinerja Windows. Oleh karena itu, secara periodik (mungkin 3 atau 6 bulan sekali) kita perlu me’maintenance” file-file register yang bermasalah. Beberapa program membersihkan sistem register seperti Ashampoo TuneUp Utilities, RegCure dan masih banyak lagi. Sebenarnya, jika Anda mengerti fungsi register pada Windows, Anda dapat melakukannya secara manual melalui command regedit. Namun, agak sulit untuk awam.

    7. Rahasia Tambahan +3
    Selain 6 langkah tersebut, sebenarnya ada beberapa cara lain seperti :
    1. Pemilihan program antivirus yang efisien, efektif dan handal. Tidak bisa dipungkiri bahwa banyak antivirus yang handal justru memperlambat kinerja Windows. Penggunaan jenis antivirus sangat bergantung pada “perlakuan” yang diberikan pada komputer/laptop Anda. Jika komputer Anda sering dimasukin flash disk atau download “aneh-aneh”, maka sebaiknya menggunakan antivirus yang handal. Jika tidak, Anda bisa tanpa menggunakan antivirus, namun dengan proteksi manual. Baca : Melindungi Komputer Secara Manual dari Serangan Virus
    2. Setting “Direct Memory Access” (DMA)
    3. Menon-aktifkan index file di Windows Component
    Semoga bermanfaat... ^^

    Cara Mempercepat Proses Mendownload


    Bagi yang senang download berbagai aplikasi di internet, sebenarnya sudah banyak aplikasi yang memberi kemudahan kita mendownload sebuah file dengan lebih cepat, salah satunya dengan Download Accelarator Plus (DAP) versi 9.4. Program ini dapat kita install dan gunakan secara gratis. [Note: Ada beberapa jenis accelerator yang  lebih bagus dan berbayar seperti IDM]

    Seperti program accelarator lainnya, DAP menggunakan prinsip membagi-bagi (split) sebuah file menjadi beberapa bagian atau segmen (biasanya menjadi 4 segmen). Dan file yang sudah dibagi menjadi 4 segmen, DAP secara simultan (bersamaan) mendownload 4 file tersebut. Dengan cara ini, perfoma DAP dalam mendownload dapat mencapai  hingga 4 kali lebih cepat dengan cara biasa.

    Dengan DAP, Anda dapat mendownload berbagai jenis file download baik installer, video, lagu .mp3, ebook pdf dengan lebih cepat.  Keunggulan lain dari DAP adalah mencari file server yang memiliki kecepatan akses yang tinggi (bila file download tersebar lebih dari 1 server/situs). Dan terakhir, bila sebuah file yang kita download berukuran besar, dan tiba-tiba ditengah jalan terjadi kegagalan atau koneksi putus, dengan fitur Pause & Resume DAP kita tidak perlu memulai kembali download dari awal. Cukup melanjutkan file yang tersisa.
    1. Silahkan klik Download DAP 9.3
    2. Simpanlah filenya di komputer.
    3. Selesai download, double klik pada file tersebut dan kliklah Run.
    4. Silahkan restrart browser Anda.
    Download Program : DAP 9.3

     

    Program sejenis :
    NB : Diantara 4 program accelator, IDM (internet download manager) maka IDM lebih unggul. Keungulan IDM terutama bagi rekan-rekan yang sering mendownload video di youtube. IDM dapat langsung memberi link download file di server youtube dan kita dapat langsung mendownload file .flv youtube tersebut.

    11 October 2010

    Praktikum Struktur Data Minggu Ke-3 "posttest"

    PROGRAM:
    
    #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:"<<
             out<<"Bagian float:"<<
             return out;
             }         
    
    void Bilangan::banding_int(const Bilangan& x, const Bilangan& y)
    {
         if (x.a>y.a)cout<<<"::x lebih besar dari"<<<"::y";
         else cout<<<"::x lebih kecil dari"<<<"::y";
         }     
    
    Bilangan& Bilangan::operator=(const Bilangan& x)
    {
              a=x.a;
              b=x.b;
              return *this;
              }          
    
    istream& operator>>(istream& in, Bilangan& x)
    {
             cout<<"\nMasukkan bagian integer:";
             in>>x.a;
             cout<<"Masukkan 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:"<<
             out<<"Bagian float:"<<
             out<<"Bagian char:"<<
             return out;
             }         
    
    #include 
    using namespace std;
    int main(){
         Bilangan s,t(-2,3.14),d;
         cout<<"Nilai awal s\n"<<< output
         cout<<"Nilai awal t dari deklarasi\n"<
         s=t;//operator biner =
         cout<<"Setelah s di-assaign t\n";
         cout<<"Nilai s\n"<
         cout<<"Masukkan nilai-nilai objek d";
         cin>>d;//operator >> input
         cout<<"Setelah d + t => \n"<
         cout<<"Nilai d dinegatifkan\n"<<-d;//operator uner -
         Bil_char ss;
         cout<<"Nilai awal ss\n"<<< output
         system ("PAUSE");
         return 0;
    }
    
    
    OUTPUT:
    selamat mencobanya... :)

    Praktikum Struktur Data Minggu Ke-3 "pretest"

    soal!

    1. buatlah kelas turunan Bil_float yang hanya mempunyai satu data member bertipe float. kelas bil_float diturunkan dari kelas bilangan !
    2. buatlah konstruktor dari kelas bil_float !
    3. buatlah operator overloading input dan output !
    4. modifikasi method banding_int untuk membuat method banding_float pada kelas bil_float !

    jawaban:

    1.
    class bil_float:public bilangan{
      friend ostream& operator<<(ostream&, const bil_float&);
      friend istream& operator>>(istream&, bilangan&);
      public:
      bil_float(int a0=0, int b0=0, float ch=’x'):bilangan(a0,b0),c(ch){}
      private:
      float c;
      };

    2.
    bil_float(int a0=0, int b0=0, float ch=’x'):bilangan(a0,b0),c(ch){}
      dan lengkap dengan kelasnya:
      class bil_float:public bilangan{
      friend ostream& operator<<(ostream&, const bil_float&);
      friend istream& operator>>(istream&, bilangan&);
      public:
      bil_float(int a0=0, int b0=0, float ch=’x'):bilangan(a0,b0),c(ch){}
      private:
      float c;
      };

    3.
    ostream& operator<<(ostream& out,const bil_float& x){
      out<<”Bagian integer: “<<
      out<<”Bagian float: “<<
      out<<”Bagian char: “<<
      return out;
      }
    
      implementasi operator overloading input
      istream& operator>>(istream& in,bil_float& x){
      cout<<”\nMasukkan bagian integer: “;
      in>>x.a;
      cout<<”Masukkan bagian float: “;
      in>>x.b;
      return in;
      }

    4.
    void bilangan::banding_float(const bilangan& x, const bilangan& y){
       if(x.c>y.c) cout<<<”x lebih besar dari “<<<”y”;
       else cout<<<”x lebih kecil dari”<<<”y”;
       } 
    kalau ada kesalahan mohon maaf.. namanya masih belajar. kalau gak salah gak belajar namanya. hehe..
    terima kasih buat yang sudah mau mengunjungi blog saya. :)

    9 October 2010

    Praktikum Struktur Data Minggu Ke-2 "posttest"

    PROGRAM:
    
    #include<iostream>
    
    using namespace std;
    
    //template
    class Kompleks{
    friend class Operasi;
    friend ostream& operator<<(ostream&, const Kompleks&);
    friend istream& operator>>(istream&, Kompleks&);
    
    public:
    Kompleks(int s=0, int t=0):a(s),b(t){}
    void cetak();
    Kompleks operator-();
    Kompleks operator-(const Kompleks&);
    Kompleks operator+(const Kompleks&);
    Kompleks operator*(const Kompleks&);
    
    private:
    int a;
    int b;
    };
    
    //template
    void Kompleks::cetak(){
    if(b>0)cout<<"bilangan kompleks:"<<<"+"<<<"i";
    else cout<<"bilangan kompleks:"<<<<"i";
    cout<
    }
    
    //template
    Kompleks Kompleks::operator-(){
    Kompleks x;
    x.a=a;
    x.b=-b;
    return x;
    }
    
    //template
    Kompleks Kompleks::operator-(const Kompleks& m){
    Kompleks x;
    x.a=a-m.a;
    x.b=b-m.b;
    return x;
    }
    
    //template
    Kompleks Kompleks::operator+(const Kompleks& m){
    Kompleks x;
    x.a=a+m.a;
    x.b=b+m.b;
    return x;
    }
    
    Kompleks Kompleks::operator*(const Kompleks&m)
    {
    Kompleks x;
    x.a=a*m.a;
    x.b=b*m.b;
    return x;
    }
    
    //template
    ostream& operator<<(ostream& out, const Kompleks& x){
    if(x.b==0) out<<'['<<<']';
    else if(x.a==0 && x.b==1)out<<'['<<"i"<<']';
    else if(x.a==0 && x.b==-1)out<<'['<<"-i"<<']';
    else if(x.a==0 && x.b>1)out<<'['<<<"i"<<']';
    else if(x.a==0 && x.b<-1)out<<'['<<<"i"<<']';
    else if(x.b==1)out<<'['<<<"+"<<"i"<<']';
    else if(x.b>0)out<<'['<<<"+"<<<"i"<<']';
    else if(x.b==-1)out<<'['<<<"-i"<<']';
    else out<<'['<<<<"i"<<']';
    
    return out;
    } 
    
    //template 
    istream& operator>>(istream& in, Kompleks&x)
    {
    cout<<"MASUKKAN BAGIAN REAL : ";
    in>>x.a;
    cout<<"MASUKKAN BAGIAN IMAJINER : ";
    in>>x.b;
    return in;
    }
    
    //template 
    class Operasi{
    public :
    Kompleks jumlah(const Kompleks&,const Kompleks&);
    Kompleks kali(const Kompleks&,const Kompleks&);
    Kompleks kurang(const Kompleks&,const Kompleks&);
    };
    
    //template 
    Kompleks Operasi::jumlah(const Kompleks&m, const Kompleks&n)
    {
    Kompleks temp;
    temp.a=m.a+n.a;
    temp.b=m.b+n.b;
    return temp;
    }
    
    //template 
    Kompleks Operasi::kurang(const Kompleks&m, const Kompleks&n)
    {
    Kompleks temp;
    temp.a=m.a-n.a;
    temp.b=m.b-n.b;
    return temp;
    }
    
    //template 
    Kompleks Operasi::kali(const Kompleks&m, const Kompleks&n)
    {
    Kompleks temp;
    temp.a=(m.a*n.a)-(m.b*n.b);
    temp.b=(m.a*n.b)-(m.b*n.a);
    return temp;
    }
    
    int main (){
    Kompleks x(2,3),y(4,-4),t;
    Operasi z;
    cout<<"\nMenggunakan cetak():\n";
    x.cetak();
    cout<<"\nMenggunakan overloading :"<
    cout<<"\nKonjugat :"<<-x<
    y.cetak();
    cout<<"\nPenjumlahan menggunakan methods :";
    t=z.jumlah(x,y);
    t.cetak();
    cout<<"\nPenjumlahan menggunakan operator:";
    t=x+y;
    cout<<<"+"<<<"="<
    cout<<"\nPerkalian menggunakan methods:";
    t=z.kali(x,y);
    t.cetak();
    cout<<"\nperkalian menggunakan operator:";
    t=x*y;
    cout<<<"*"<<<"="<
    t=x-y;
    cout<<"\n"<<<"-"<<<"="<<
    cout<
    Kompleks n;
    cin>>n;
    cout<
    
    system("PAUSE");
    return 0;
    } 
    
    
    OUTPUT: 
    selamat mencobanya... :)

    Praktikum Struktur Data Minggu Ke-2 "pretest"

    soal.

    1. Buatlah konstruktor dari kelas Kompleks dengan spesifikasi apabila dideklarasikan objek baru dengan satu parameter maka yang di-assign adalah data member a !
    2. buatlah operator overloading baru yang memuat fungsi kali, sesuai dengan fungsi yang ada !

    jawaban:

    1.

     template
        class Kompleks {
        public :
        Kompleks (T a);
        private :
        T a;
        };
    

    2.

    template
        Kompleks Operasi::kali(const KOmpleks& m, const Kompleks& n){
        Kompleks temp;
        Temp.a= (m.a*n.a);
        Temp.b=(m.b*n.b);
        return temp;
        }
    

    kalau ada kesalahan mohon maaf.. namanya masih belajar. kalau gak salah gak belajar namanya. hehe..
    terima kasih buat yang sudah mau mengunjungi blog saya. :)