Senin, 30 Agustus 2010

Tugas ADT point

Inilah Hasil Koding ADT point.ADT ini tediri dari beberapa bagian yaitu boolean.h,POINT.h,point.cpp,dan main.cpp
Menyadari tulisan dan posting ini masih jauh dari kesempurnaan.Oleh karena itu,mohon saran dan kritik membangun sangat diharapakan.Terima kasih.
boolean.h

#ifndef BOOLEAN_h
#define BOOLEAN_h
#define G boolean
#define   TRUE  1;
#define   FALSE 0;
#define boolean unsigned char
#endif


POINT.h
/* file        : point.h */
/* ADT point           */

#ifndef point_h
#define point_h
//#include "boolean.h"

/* definisi ADT point */
typedef struct
{
    int x;        /* absis */
    int y;        /* ordinat */
} point;

/* definisi prototipe primitif */
/*** konstruktor membentuk point ***/
point makepoint(int x,int y);
/* membentuk sebuah point dari komponen-komponennya */

/*** selektor point ***/
int getabsis (point p);
/* mengirimkan komponen absis dari p */

int getordinat(point p);
/* mengirimkan komponen ordinat dari p */

/*** destruktor/dealokator:tidak perlu ***/
/*** set nilai komponen point ***/
void setabsis(point *p,int newx);
/* men-set komponen absis dari p */

void setordinat(point *p,int newy);
/* men-set komponen ordinat dari p */

/* kelompok interaksi dengan I/O device, baca/tulis */
void bacapoint(point *p);
/* bacapoint(x,y,p) membentuk p dari x dan y yang dibaca */

void tulispoint(point p);
/* nilai p ditulis ke layar dg format (X,Y) */

/* kelompok operasi aritmatika terhadap byte */
point pluspoint(point p1,point p2);
/* menghasilkan salinan p yang berisi p1+p2 */
/* melakukan operasi penjumlahan vektor */

point minuspoint(point p1,point p2);
/* menghasilkan p1-p2 */

/*** kelompok operasi relasional terhadap point ***/
//boolean EQ(point p1,point p2);
/* mengirimkan true jika p1=p2 */

//boolean NEQ(point p1,point p2);
/* mengirimkan true jika p1 tidak sama dengan p2 */

//boolean LT(point p1,point p2);
/* mengirimkan true jika p1
/* definisi lebih kecil:lebih "kiri-bawah" dalam bidang kartesian */

//boolean GT(point p1,point p2);
/* mengirimkan true jika p1>p2 */
/* definisi lebih besar:lebih "kanan-atas" dalam bidang kartesian */

/* kelompok menentukan dimana p berada */
//boolean isorigin(point p);
/* menghasilkan true jika p adalah titik origin */

//boolean isonsbx(point p);
/* menghasilkan true jika p terletak pada sumbu x */

//boolean isonsby(point p);
/* menghasilkan true jika p terletak pada sumbu y */

//int kuadran(point p);
/* menghasilkan kuadran dari p: 1,2,3,atau 4 */
/* precondition: p bukan titik origin dan p tdk terletak pd slh satu sumbu */

/* kelompok operasi lain terhadap type */
//point nextx(point p);
/* mengirim salinan p dengan absis ditambah satu */

//point nexty(point p);
/* mengirim salinan p dengan ordinat ditambah satu */

//point plusdelta(point p,int deltax,int deltay);
/* mengirim salinan p yang absisnya = absis(p)+deltax dan */
/* ordinatnya = ordinat(p)+deltay */

//point mirrorofpoint(point p,boolean sbx,boolean sby);
/* menghasilkan salinan p yang dicerminkan */
/* tergantung nilai sbx dan sby */
/* jika sbx bernilai true, maka dicerminkan terhadap sb x */
/* jika sby bernilai true, maka dicerminkan terhadap sb y */

//float jarak0(point p);
/* menghitung jarak p ke (0,0) */

//void geserpoint(point *p,int deltax,int deltay);
/*I.S : p terdefinisi */
/*F.S : p digeser sebesar deltax dan ordinatnya sebesar delta y*/

//void geserpointkesbx(point *p);
/* I.S : p terdefinisi */
/* F.S : p di sumbu x dg absis = absis semula */
/* proses : tergeser ke sumbu x */
/* contoh : jika koordinat semula(9,9) menjadi (9,0)*/

//void geserpointkesby(point *p);
/* I.S : p terdefinisi */
/* F.S : p di sumbu y dg absis = absis semula */
/* proses : tergeser ke sumbu y */
/* contoh : jika koordinat semula(9,9) menjadi (0,9)*/


//void mirrorpoint(point *p,boolean sbx,boolean sby);
/* I.S : p terdefinisi */
/* F.S : p dicerminkan tergantung nilai sbx atau sby */
/* jika sbx true maka dicerminkan thd sumbu x */
/* jika sby true maka dicerminkan thd sumbu y */


//void putarpoint(point *p,float sudut);
/* I.S : p terdefinisi */
/* F.S : p diputar sebesar sudut derajat */

#endif



point.cpp

include
#include
#include
#include "boolean.h"
#include "POINT.h"




point makepoint(int x,int y){
      point temp;//buat varibel tipe bentukan point bernama temp.
     
      temp.x=x; // mengisikan nilai x dan y.
      temp.y=y;
     
      return temp; //mengembalikan nilai temp,sebab ini adalah fungsi.
     
      }


void tulispoint(point p){
     printf(" X :%d ,Y :%d \n",p.x,p.y); //mencetak nilai x dan y ke Layar.
     
    
    
     }   
    
int getabsis (point p){
    return p.x; // mengembalikan nilai x,sebab ini adalah fungsi.
   
    }


int getordinat(point p){
    return p.y; // mengembalikan nilai y,sebab ini adalah fungsi.
   
   
    }
   
void setabsis(point *p,int newx){
     (*p).x=newx; // men-set nilai x=absis.
    
     }
    
void setordinat(point *p,int newy){
     (*p).y=newy; //men-set nilai y=ordinat.
    
     }
void bacapoint(point *p){
     printf("masukan nilai X =\n");scanf("%d",&(*p).x);//membaca nilai x dari keyboard.
     printf("masukan nilai Y=\n");scanf("%d",&(*p).y);//membaca nilai y dari keyboard.
    
    
     }
    
point pluspoint(point p1,point p2){
     
      point pts;//buat variabel tipe bentukan bernama pts.
     
     
      pts.x = p1.x+p2.x;//menjumlahkan nilai x1 dan x2.
      pts.y = p1.y+p2.y;//menjumlahkan nilai y1 dan y2.
     
      return pts;//mengembalikan nilai pts bertipe point,sebab ini adalah fungsi.
     
      }
    
point minuspoint(point p1,point p2){
     
      point ptm;//buat variabel tipe bentukan bernama ptm.
     
      ptm.x=p1.x-p2.x;//mengurangi nilai x1 terhadap x2.
      ptm.y=p1.y-p2.y;//mengurangi nilai y1 terhadap y2.
     
      return ptm;//mengembalikan nilai ptm bertipe point,sebab ini adalah fungsi.
      }
boolean EQ(point p1,point p2){
        if((p1.x==p2.x)&&(p1.y==p2.y))// memeriksa apakah nilai x1 sama dengan x2 dan y1 sama dengan y2.
        return true;//mengembalikan nilai true jika sama                          
        else
        return false;//sebaliknya mengembalikan false jika berbeda
       
        }
       
boolean NEQ(point p1,point p2){
        if((p1.x!=p2.x)&&(p1.y!=p2.y))//memeriksa apakah nilai x1 tidak sama dengan x2 dan y1 tidak sama dengan y2.
        return true;//mengembalikan nilai true jika berbeda.
                                  
        else
        return false;//mengembalikan nilai false jika sama.
       
        }
       
boolean LT(point p1,point p2){
        if((p1.x < p2.x)&&(p1.y < p2.y))//memeriksa apakah x1 lebih kecil dari x2 dan y1 lebih kecil dari y2.
        return  true;//mengembalikan nilai true jika  memenuhi kondisi.
                                  
        else
        return false;//mengembalikan nilai false jika  tidak memenuhi  kondisi.
       
        }

boolean GT(point p1,point p2){
        if((p1.x > p2.x)&&(p1.y > p2.y))//memeriksa apakah x1 lebih besar dari x2 dan y1 lebih besar dari y2.
        return true;//mengembalikan nilai true jika  memenuhi kondisi.
                                  
        else
        return false;//mengembalikan nilai false jika  tidak memenuhi  kondisi.
       
        }
       
boolean isorigin(point p){
        if((p.x==0)&& (p.y==0))//memeriksa apakah x dan y bernilai (0.0) atau titik pusat
        return true;//mengembalikan nilai true jika  memenuhi kondisi.
        else
        return false;//mengembalikan nilai false jika  tidak memenuhi  kondisi.
       
        }

boolean isonsbx(point p){
        if((p.x==0))//memeriksa apakah x=0.
        return true;//mengembalikan nilai true jika  memenuhi kondisi.
        else
        return false;//mengembalikan nilai false jika  tidak memenuhi  kondisi.
       
       
        }
boolean isonsby(point p){
        if((p.y==0))//memeriksa apakah  y=0.
        return true;//mengembalikan nilai true jika  memenuhi kondisi.
        else
        return false;//mengembalikan nilai false jika  tidak memenuhi  kondisi.
       
        }

    
int kuadran(point p){
      
       if( (!isonsbx(p)) && (!isonsby(p)) && (!isorigin(p))){//cek syarat kuadran tidak berada pada salah satu sumbu
            
       if ((p.x > 0)&&(p.y > 0))
       return 1;//mengembalikan nilai 1 jika  terdapat pada kuadran 1.
       else {
            if  ((p.x < 0)&&(p.y > 0))
                return   2;//mengembalikan nilai 2 jika  terdapat pada kuadran 2.
                   else {
                      if ((p.x < 0)&&(p.y < 0))      
                          return   3;//mengembalikan nilai 3 jika  terdapat pada kuadran 3.
                             else {if ((p.x > 0)&&(p.y < 0))
                                   return   4;//mengembalikan nilai 4 jika  terdapat pada kuadran 4.
                                   }   
                        }
            }
      
      
       }            
            }
      
point nextx(point p){
      point po;//membuat variabel bertipe point bernama po.
      po.x=p.x+1;//menambah nilai x +1.
     
      return po;//mengembalikan nilai po bertipe point,sebab ini adalah fungsi.
     
      }
     
point nexty(point p){
      point pi;//membuat variabel bertipe point bernama pi.
      pi.y=p.y+1;//menambah nilai y +1.
      return pi;//mengembalikan nilai pi bertipe point,sebab ini adalah fungsi.
      }
     
point plusdelta(point p,int deltax,int deltay){
  
      p.x=p.x+deltax;//menambah nilai x dengan deltax bertipe integer.
      p.y=p.y+deltay;//menambah nilai y dengan deltay bertipe integer.
     
      return p;//mengembalikan nilai p bertipe point,sebab ini adalah fungsi.
      }
point mirrorofpoint(point p,boolean sbx,boolean sby){
      point po;//membuat variabel bertipe point bernama po.
      if(sbx)//cek kondisi
      po.y=-1*p.y;//dicermikan terhadap sumbu x
      else if(sby)
      po.x=-1*p.x;//dicermikan terhadap sumbu y
      return po;//mengembalikan nilai po bertipe point,sebab ini adalah fungsi.
     
      }   
float jarak0(point p){
     
      float distance;
   
      distance = sqrt((p.x*p.x)+(p.y*p.y));
     
      return distance;
      }
void geserpoint(point *p,int deltax,int deltay){
     (*p).x=(*p).x+deltax;//geser point sejauh deltax.
     (*p).y=(*p).y+deltay;//geser point sejauh deltay.
     }
    
void geserpointkesbx(point *p){
     (*p).x=(*p).x;//nilai x tetap.
     (*p).y=0;   //nilai y menjadi 0.
     }
    
void geserpointkesby(point *p){
     (*p).y=(*p).y;  //nilai y tetap.
     (*p).x=0;//nilai x menjadi 0.
     }
void mirrorpoint(point *p,boolean sbx,boolean sby){
    
     if(sbx){       //cek kondisi
     (*p).y=-1*(*p).y;
     (*p).x=(*p).x;
     } //dicerminkan terhadap sumbu x.
     else{
     (*p).x=-1*(*p).x;//dicerminkan terhadap sumbu y.
     (*p).y=(*p).y;
          }
         
     }

void putarpoint(point *p,float sudut){
   
    
     double (d1);
     double (d2);
  
     (d1)=(*p).x*cos(sudut)-(*p).y*sin(sudut);//rumus x baru
     (d2)=(*p).x*sin(sudut)+(*p).y*cos(sudut);//rumus y baru
     //float x = 93.293;
     //printf("\n %0.2f",x);
     printf(" nilai X setelah diputar %0.2f \n",d1);
     printf(" nilai Y setelah diputar%0.2f  \n",d2);
     //printf("nilai X setelah diputar %f ialah %0.2f \n",sudut,d1);
     //printf("nilai Y setelah diputar %f ialah %0.2f \n",sudut,d2);
    
     }
 

main.c
#include
#include
#include"boolean.h"

#include"POINT.h"
#include

 

point p,q,r,a,b,c,d,e,win;
   
    /* test membuat point*/
    p=makepoint(10,10);
    q=makepoint(20,30);
    printf("nilai X: %d, nilai y: %d \n",p.x,p.y);
   
    /* test set dan get point*/
   
    setabsis(&q,20);
    setordinat(&q,30);
   
    printf("nilai x yang baru %d\n",getabsis(q));
    printf("nilai y yang baru %d\n",getordinat(q));
   
     /* test baca point dari keyboard*/
     bacapoint(&q);
     tulispoint(q);
     /* test tambah point*/
     a=makepoint(15,20);
     b=makepoint(20,30);
     r=pluspoint(a,b);
     printf("Hasil penjumlahan %d , %d \n",r.x,r.y);
     /*  test kurang point*/
     r=minuspoint(a,b);
     printf("Hasil pengurangan %d , %d \n",r.x,r.y);
     /* test equivalen*/
     if (EQ(p,q))
     printf("sama \n");
     else
     printf("berbeda \n");
     /* test not equivalen*/
     if (NEQ(p,q))
     printf("berbeda \n");
     else
     printf("sama \n");
      /* test lebih kecil*/
     if (LT(a,b))
     printf("p lebih kecil dari q \n");
     else
     printf("p tidak lebih kecil dari q \n");
      /* test lebih besar*/
     c=makepoint(10,15);
     d=makepoint(5,9);
     if (GT(c,d))
     printf("p lebih besar dari q \n");
     else
     printf("p tidak lebih besar dari q \n");
     /* test point origin*/
     e=makepoint(0,0);
     if(isorigin(e))
     printf("merupakan titik origin \n");
     else
     printf("bukan titik origin \n");
     /* test point disumbu x*/
     point f;
     f=makepoint(0,2);
     if(isonsbx(f))
     printf("terletak di sumbu x \n");
     else
     printf("bukan di sumbu x \n");
     /* test sumbu y*/
     point h;
     h=makepoint(3,0);
     if(isonsby(h))
     printf("terletak di sumbu y \n");
     else
     printf("bukan terleyak di sumbu y \n");
     /* test kuadran*/
     point i=
     i=makepoint(1,-2);
     if(kuadran(i)==1)
     printf("berada di kuadran 1 \n");
       else {if (kuadran(i)==2)
          printf("berada di kuadran 2 \n");
             else {if (kuadran(i)==3)
               printf("berada di kuadran 3 \n");
                  else {if (kuadran(i)==4);
                    printf("berada di kuadran 4 \n");
                       }
                   }
            }
     /* test next point x*/
     point j;
     j = nextx(i);
     printf("nilai X baru :%d,nilai Y:%d \n",j.x,j.y);
     /* test next point y*/
     point l,k;
     l=makepoint(1,2);
    
     k = nexty(l);
     printf("nilai Y baru :%d,nilai X:%d \n",k.y,k.x);
   
    /*test plusdelta*/
    point plus;
    plus=plusdelta(l,10,20);
    printf("nilai X baru:%d  nilai Y baru :%d\n",plus.x,plus.y);
   
    /*test mirror of point */
    point cer;
    win=makepoint(3,0);
    cer=mirrorofpoint(win,isonsbx(win),isonsby(win));
    printf("nilai X setelah pencerminan %d,nilai Y setelah Penceminan %d \n",cer.x,cer.y);
   
    /*test jarak0*/
    point ttk;
    ttk=makepoint(3,0);
    float flo = jarak0(ttk);
    printf("Jarak X dan Y:%0.0f \n",flo);
   
    /* test geser point absis sebesar delta x dan ordinat sebesar delta y*/
    point newp;
    newp=makepoint(20,30);
    geserpoint(&newp,2,3);
    printf("nilai X setelah digeser: %d,nilai y setelah digeser: %d \n",newp.x,newp.y);
    /* test geser smb x*/
    geserpointkesbx(&newp);
    printf("nilai X setelah digeser: %d,nilai y :%d \n",newp.x,newp.y);
    /* test geser smb y*/
    point pos;
    pos=makepoint(5,5);
    geserpointkesby(&pos);
    printf("nilai X : %d,nilai y setelah digeser:%d \n",pos.x,pos.y);

    /* test putar point*/
    putarpoint(&pos,30);
    system("PAUSE");
    return 0;
    }

Tugass Linkk list Algoritma dan Struktur Data


Pada hari pertma kuliah Algoritma dan struktur data kami diberikan beberapa point penting kesepakatan dan silabus mata kuliah,misal link list.Link list ialah kumpulan node(obyek) heterogen  dengan sifat setiap obyek(keculai obyek terakhir) mempunyai penerus dan setiap obyek(kecuali obyek pertama) mempunyai pendahulu.
Saat ini link list banyak diterapkan pada beberapa contoh kasus misal: 
1.
Contoh pertama: Misal  pada bangsal sebuah rumah sakit terdapat 12 tempat tidur.Sembilan diantaranya telah ditempati pasien.Oleh karena itu,perlu list pasien.Pada kasus ini nama pasien alfabetik atau terurut.Penunjuk atau penuding pada list tersebut ialah next dan variable awal ialah start.Start bertugas sebagai penunjuk node  awal yang berisi alamat node yang ditunjukinya.Pada kasus ini start menunjuk list nomor 5  yaitu adam.Kemudian adam menunjuk dean melalui pointer.Sebagai node terakhir yaitu Samuel sebab next berisi 0.


2.


Contoh kedua:Terdapat agen  penjualan mempunyai  4 orang broker.Setiap broker mempunyai list customer(pelanggan).Keempat list pelanggan tersebut dijadikan menjadi satu list yaitu list CUSTOMER berisis nama pelanggan dan larik LINK merupakan pointer .Nama Broker ditempatkan dalam larik BROKER beserta variable penuding POINT.


3
     Contoh ketiga: Pandang berkas personalia  dari sebuah perusahaan kecil, yang terdiri dari record 9 orang pegawai, dengan  field NAMA, SSN (Social Security Number), SEX dan Gaji per bulan(monthly salary). Gambar tersebut memperlihatkan bagaimana berkas diorganisir sebagai linked list yang terurut (alfabetik), dengan menempatkan informasi dalam empat buah larik sejajar NAMA, SSN, SEX, dan  SALARY, serta menggunakan pula larik LINK sebagai nextpointer, dan variabel START yang menuding record pertama. Di sana 0 digunakan  sebagai  penuding  nol.

Begitulah penjelasan mengenai link list.Sebteulnya masih terdapat jenis list lainnya  misal double link list dan sirkular.Oleh karena itu,sementara hanya informasi inilah   yang bisa saya sampaikan.Kirim comment atau kritik please sebagai perbaikan post TUGAS materi berikutnya.Terimakasih

Sabtu, 14 November 2009

GENIA FESTIVAL : NTFS file system

File system ialah struktur data atau metode yang harus dimilki oleh system operasi untuk menyimpan berkas dan data user agar tersimpan dengan baik.Salah satu contohnya ialah NTFS.NTFS atau windows NT File system ialah suatu apliksai penyimpanan berkas yang sudah disertakan pada keluarga windows NT misal Windows NT 3.x,Windows NT 4.x,Windows 5.x dan Windows NT 6.x.
Desain NTFS pada umumnya sederhana dan lebih berkualitas dibanding Fat.Selain sederhana kemampuan memberi hak akses kepada user,seberapa besar kuota yang boleh diberikan ke user untuk menggunakan hardisk,dan fault tolerance.Namun yang terutama NTFS dapat di-extensible dengan menambahkan fungsi pada system operasi.
Keunggulan tersebut didasarkan pada struktur MBR FAT sehingga proses switch NTFS ke FAT maupun sebaliknya mudah dan cepat.Dampak struktur MBR yang lain ialah mampu mengalokasikan hardisk dengan volume dan file system tertentu.Sebagai pendukung NTFS disediakan tools pembuatan NTFS yaitu Disk Administrator,Disk Management,format.com,diskpart.exe,dan convert.exe

GENIA FESTIVAL :MySQL Data base

MySQL ialah aplikasi berbasis graphical user interface yang digunakan programmer untuk menyimpan data aktivitas .MySQL sangat terkenal karena bahasa SQL yang digunakan bersifat basic sehingga mudah dipahami dan diakses .MySQL diperbolehkan diambil atau didownload secara Cuma-Cuma dan gratis di http://www.mysql.com.
Namun,terdapat beberapa MySQL yang no-free misal enterprise MySQL.Selain itu MySQL dapat dikategorikan RDBMS(Relational Database Management System).Oleh karena into Data base ini cukup familiar dengan istilah kolom,baris , record bahkan status key suatu kolom.
Sebagi perantara untuk mengakse MySql gunakanlah sever localhost di computer kita.Ada beberapa server local host seperti XAMPP,LAMPP,WAMPP dan Appserv.Didalam Mysql juga terdapat bahsa sql yang digunakan untuk mengkases,mencari,inset,delete dan update basis data.Namun,pada sql MySQL tidaklah case sensitive

GENIA FESTIVAL : Memory Komputer

Hardware ialah himpunan perangkat keras computer yang berfungsi mengatur bagaimana system computer kita bekerja.Perangkat keras tersebut terbagi menjadi beberapa bagian lagi yaitu memori,modul I/O,system BUS dan CPU.Masing-masing memiliki peranan berbeda saat menjalankan perintah system computer.Lebih rinci bagian –bagian tersebut terdiri sub-sub bagian atau komponen yang saling terkait tugasnya.Pertama ialah memori.Perangkat ini bertugas untuk menyimpan data atau program computer.
Memory dibedakan menurut lokasi,kapasitas,satuan transfer ,cara akses,performansi,jenis fisik,karakteristik fisik dan Organisasi memori.Secara letak terdiri internal dan eksternal memori.Internal memori yaitu proses pengaksesan oleh prosesor tidak perlu melewati modul I/O.Manfaatnya ialah waktu akses menjadi lebih cepat dan mengurangi system operasi nge-hank.Contoh internal memori seperti register,cache memory ,dan main memori(RAM).Sebaliknya eksternal memori proses akses harus melewati modul I/O.Akibanya proses eksekusi menjadi lebih lambat.Contohnya ialah hardisk,Diskette,CD-ROM,Flah Disk dan Magnetic tape.Berikutnya kapasitas memori yaitu kemampuan untuk menampung data dalam satuan tertentu, misal bit,byte,Mbyte. Secara konvensi satu byte setara 8 bit dan satu word setara 8 ,16 atau 32 bit tergantung pembuat prosesor dan satuan transfer.
Satuan transfer pada memori dibedakan internal dan eksternal.Memori internal yaitu banyaknya bit dibaca/ditulis dari/ke memori.Sedangkan memori eksternal menggunakan satuan blok.Namun,yang utama ialah satuan alamat yaitu ukuran memori terkecil yang dapat diberi alamat sendiri dan selanjutnya diakses oleh memori.
Cara akses memori dibedakan secara Sequential,Direct,random dan Assosiative.Dikatakan Sequential,apabila akses secara berurutan(searching,passing,rejecting) dengan mekanisme shared write/read sehingga waktu aksesnya bervariabel tergantung letak data yang dituju dan sebelumnya. Sedangkan Direct akses lebih memilih lokasi terdekat dan setiap blok memiliki alamat yang unik.Lain halnya random akses yang dilakukan acak(random) dengan kecepatan konstan tidak pengaruh sebelumnya, misal main memory(cache memory),sedangkan associative mengakses dengan membandingkan seluruh word secara bersamaan ,tidak berdasarkan alamat sehingga relative konstan missal:cache memory.
Kecepatan memori tentu berkaitan dengan performansi.Dan performansi berkaitan erat dengan waktu akses dan siklus memori.Waktu akses ialah waktu antara perintah (baca/akses) sampai didapatkan data dari MBR.Sedangkan waktu satu siklus merupakan dimulainya operasi memori sampai memori siap melaksankan perintah berikutnya.
Secara jenis fisik memori dibedakan menjadi semikonduktor,magnetic dan Optik.Letak Perbedaannya ialah waktu akses.Selain jenis, memory dibedakan menurut karakter yaitu volatile(nilai hilang bila tegangan listirk tidak ada),non-volatile(nilai tetap meski tidak ada listrik),Erasable(tidak dapat dihapus),Non-Erasable(tidak dapat dihapus).Dan terakhir ialah Organisasi memory yaitu waktu penyusunan bit menjadi word.Organisasi memiliki transfer rate yaitu waktu rata-rata perpindahan data

GENIA FESTIVAL : Awal mula linux sampai ke Indonesia

Linux ialah system operasi gratis atau open sources.Siapapun boleh mengambil secara gratis dan bahkan menggandakan atas nama produk dan lisensi sendiri.Awal mula linux ,berasal proyek mahasiswa Finlandia Linus Torvalds yang belajar di Universitas Helsinki.Dia melakukan perubahan pada Minix alasannya ialah merasa tidak puas dan yakin terhadap kernel minix yang dikembangkan Prof.Andrew S.Tanenbaum.Minix sebenarnya proyek mini unix yang berguna di bidang pendidikan non komersial.
Versi pertam linux ilah 0.01 dan 0.02 selisih beberapa tahun kemudian.Sejalan dengan waktu linux mulai diperkenalkan ke seluruh dunia termasuk Indonesia, menurut sumber terpercaya linux di bawa oleh Paulus Suryono Adosoemarta.Tepat tahun 1992 ia membawa distro linux Softlanding System (SLS) dalam bentuk keping disket.Kernel yang digunkan masih versi 0.9 dan testing.
Memasuki tahun 1992 hingga 1994 disebut masa vakum linux di Indonesia karena pasar belum siap dan terbiasa.Menjelang akhir 1994 munculah Slackware.Linux versi 1.0 pertama di Indonesia dengan daya dukung fungsi jaringan yang memadai.Secara garis besar spesifikasi instalasi linux yaitu ram 4-8 MB dan hardisk 40-100Mb.

GENIA FESTIVAL : Megenal dBase

Aplikasi dBase digunakan untuk membuat,menghapus dan meng-update isi table.Didalam table sendiri terdapat field dan record berbeda.Aplikasi ini telah cukup popular di Indonesia dan sering digunakan untuk meyimpan data maupun record.Terdapat perangkat lunak Software seoerti dbase II+,Visual dbase dan Visual Fox Pro.Ektensi atau tipe dBase ialah .DBF(database file)
DBF mampu diakses melalui script php 4 maupun 5 melalui fungsi berawalan dbase_.Namun sejauh ini d_base belum mampu mendukung akses file index(CDX dan MDX) dan file memo.Didalam dBase sendiri terdapat fungsi pendukung pengaksesan seperti dbase_open.Fungsi tersebut akan membuka database dengan parameter nama file dan mode operasi .Contoh dbase_open(nama_file,mode_operasi).
Setelah dibuka ada baiknya database tersebut kita tutup.Oleh karena itu gunakanlah dbase_close dan parameter pengenal_dbase.Pengenal_dbase merupakan parameter yang diperoleh dari dbase_open.Jadi ada keterkaitan antara dbase-open dan dbse_close.