Kamis, 11 Desember 2014

STRUKTUR DATA : PEMROGRAMAN JAVA MENGECEK PALINDROME

Diposting oleh Unknown di 07.47 0 komentar
import java.io.*;
public class soalpalindrom{
static String kata;
static char[] array;
static int top=0;
static char stack[];
public static void main(String[] args) throws Exception{
BufferedReader now = new BufferedReader (new InputStreamReader (System.in));
System.out.println (" ||pengecekkan kata palindrom|| ");
System.out.print("Masukkan kata : ");
kata = now.readLine();
array = kata.toCharArray();
stack = new char[array.length];

for(int i=0; i<array.length; i++){
char a = array[i];
push(a);
}
boolean akhir = true;

for (int i=0; i<array.length; i++){
if (pop() == array[i])
akhir = true;
else akhir = false;
}
if (akhir == true)
System.out.println("Kata "+kata+" adalah Kata Polindrom");
else
System.out.println("Kata "+kata+" Bukan Kata Polindrom");
}
static void push(char a){
stack[top] = a;
top=top+1;
}
static char pop(){
top = top -1;
return stack[top];
}}

Kamis, 02 Oktober 2014

Struktur Data (Pemrograman Java) : REFERENCE

Diposting oleh Unknown di 23.32 0 komentar
TUGAS LAPORAN STRUKTUR DATA

REFERENCE

                               DISUSUN OLEH :     

ANDAM DEWI ASHARI
RAMADHANI FITRI

TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UIN SUSKA RIAU
TAHUN AKADEMIK 2014/2015


REFERENCE

Pada tipe data reference deklarasi variabel dimaksudkan untuk “memesan”

Selasa, 24 Juni 2014

Pemrograman Java : selection sort (pengurutan pilih)

Diposting oleh Unknown di 01.17 0 komentar
public class selektionsort {
    //property
    private int [] data;
    //konstruktor
    public selektionsort (int n){
        this.data=new int[n];
    }
    //fungsi set data
    public void SetData(int index, int value){
        if (index >= 0 && index < this.data.length){
            this.data[index]=value;
        }
    }
    //fungsi print data
    public void PrintData(){
        String out="Data = ";
        for(int a=0; a<this.data.length; a++){
            out +=this.data[a]+"-";
        }
        System.out.println(out);
    }
    //fungsi tukar nilai
    private void Tukar(int i, int j){
        int temp = this.data[i];
        this.data[i]=this.data[j];
        this.data[j]=temp;
    }
    //fungsi selektion sort
    public void Sort(){
        for(int a=0; a<this.data.length; a++){
            int min=a;
            for(int b=a; b<this.data.length; b++){
                if(this.data[b]<this.data[min]){
                    min=b;
                }
            }
            Tukar(a, min);
        }
    }
    public static void main(String[]dianti){
        //buat objek
        selektionsort ss=new selektionsort(10);
        //input isi
        ss.SetData(0, 5);
        ss.SetData(1, 3);
        ss.SetData(2, 7);
        ss.SetData(3, 6);
        ss.SetData(4, 9);
        ss.SetData(5, 4);
        ss.SetData(6, 8);
        ss.SetData(7, 2);
        ss.SetData(8, 1);
        ss.SetData(9, 4);
        //print
        System.out.println("selektion sort");
        System.out.println("--------------");
        ss.PrintData();
        //sort
        ss.Sort();
        //print
        ss.PrintData();
    }
}

Pemrograman Java : merge sort (Pengurutan Gabung)

Diposting oleh Unknown di 01.13 0 komentar
public class mergesort {
    //property
    private int [] data;
    //konstruktor
    public mergesort (int n){
        this.data=new int[n];
    }
    //fungsi set data
    public void SetData(int index, int value){
        if (index >= 0 && index < this.data.length){
            this.data[index]=value;
        }
    }
    //fungsi print data
    public void PrintData(){
        String out="Data = ";
        for(int a=0; a<this.data.length; a++){
            out +=this.data[a]+"_";
        }
        System.out.println(out);
    }
    //fungsi merge sort
    public void Sort(){
        //tentukan posisi awal dan akhir
        int i=0;
        int j = this.data.length-1;
        //urutkan
        Mersort(i, j);
        }
    private void Mersort(int start, int end){
        //temtukan jumlah data
        int n=(end-start+1);
        if (n>1){
            //hitung nilai tengah
            int mid = (start+end)/2;
            //rekursif mergesort
            Mersort(start, mid);
            Mersort(mid+1, end);
            //merge
            int[]temp=new int[n];
            int x=start;
            int y=mid+1;
            for(int a=0; a<n; a++){
                if(x<=mid && y<=end){
                    if(this.data[x]<this.data[y]){
                        temp[a]=this.data[x];
                        x++;
                    } else {
                        temp[a]=this.data[y];
                        y++;
                    }
                } else if (x <= mid){
                    temp[a]=this.data[x];
                    x++;
                } else {
                    temp[a]=this.data[y];
                    y++;
                }
            }
            //salin hasil pengurutan
            for(int a=0; a<n; a++){
                this.data[start+a]=temp[a];
            }
        }
    }
        public static void main(String[]args){
        //buat objek
        mergesort ms=new mergesort(10);
        //input isi
        ms.SetData(0, 5);
        ms.SetData(1, 3);
        ms.SetData(2, 7);
        ms.SetData(3, 6);
        ms.SetData(4, 9);
        ms.SetData(5, 4);
        ms.SetData(6, 8);
        ms.SetData(7, 2);
        ms.SetData(8, 1);
        ms.SetData(9, 4);
        //print
        System.out.println("merge sort");
        System.out.println("----------");
        ms.PrintData();
        //sort
        ms.Sort();
        //print
        ms.PrintData();
    }
}

Pemrograman Java : Insertion Sort (pengurutan sisip)

Diposting oleh Unknown di 01.09 0 komentar
public class insertionsort {
    //property
    private int [] data;
    //konstruktor
    public insertionsort (int n){
        this.data=new int[n];
    }
    //fungsi set data
    public void SetData(int index, int value){
        if (index >= 0 && index < this.data.length){
            this.data[index]=value;
        }
    }
    //fungsi print data
    public void PrintData(){
        String out="Data = ";
        for(int a=0; a<this.data.length; a++){
            out +=this.data[a]+"|";
        }
        System.out.println(out);
    }
    //fungsi tukar nilai
    private void Tukar(int i, int j){
        int temp = this.data[i];
        this.data[i]=this.data[j];
        this.data[j]=temp;
    }
    //fungsi insertion sort
    public void Sort(){
        for(int a=1; a<this.data.length-1; a++){
            int b=a;
            while(b>0 && this.data[b]< this.data[b-1]){
                Tukar(b, b-1);
                b--;
                }
            }
        }
    public static void main(String[]args){
        //buat objek
        insertionsort is=new insertionsort(10);
        //input isi
        is.SetData(0, 5);
        is.SetData(1, 3);
        is.SetData(2, 7);
        is.SetData(3, 6);
        is.SetData(4, 9);
        is.SetData(5, 4);
        is.SetData(6, 8);
        is.SetData(7, 2);
        is.SetData(8, 1);
        is.SetData(9, 4);
        //print
        System.out.println("insertion sort");
        System.out.println("--------------");
        is.PrintData();
        //sort
        is.Sort();
        //print
        is.PrintData();
    }
}

Pemrograman Java : Bubble Sort (pengurutan gelembung)

Diposting oleh Unknown di 01.07 0 komentar
public class bubblesort {
    //property
    private int [] data;
    //konstruktor
    public bubblesort (int n){
        this.data=new int[n];
    }
    //fungsi set data
    public void SetData(int index, int value){
        if (index >= 0 && index < this.data.length){
            this.data[index]=value;
        }
    }
    //fungsi print data
    public void PrintData(){
        String out="Data = ";
        for(int a=0; a<this.data.length; a++){
            out +=this.data[a]+",";
        }
        System.out.println(out);
    }
    //fungsi tukar nilai
    private void Tukar(int i, int j){
        int temp = this.data[i];
        this.data[i]=this.data[j];
        this.data[j]=temp;
    }
    //fungsi bubble sort
    public void Sort(){
        for(int a=this.data.length-1; a>0; a--){
            for(int b=0; b<a; b++){
                if(this.data[b]>this.data[b+1]){
                Tukar(b, b+1);
                }
            }
        }
    }
    public static void main(String[]args){
        //buat objek
        bubblesort bs=new bubblesort(10);
        //input isi
        bs.SetData(0, 5);
        bs.SetData(1, 3);
        bs.SetData(2, 7);
        bs.SetData(3, 6);
        bs.SetData(4, 9);
        bs.SetData(5, 4);
        bs.SetData(6, 8);
        bs.SetData(7, 2);
        bs.SetData(8, 1);
        bs.SetData(9, 4);
        //print
        System.out.println("bubble sort");
        System.out.println("-----------");
        bs.PrintData();
        //sort
        bs.Sort();
        //print
        bs.PrintData();
    }
}

Pemrograman Java : Binary Search ( Pencarian Bagi Dua)

Diposting oleh Unknown di 01.02 0 komentar
import java.util.Scanner;
public class latihan5 {
    //property
    private int []data;
    //konstruktor
    public latihan5(int n){
        this.data=new int [n];
    }
    // fungsi set data
    public void SetData(int index, int value){
        if (index >= 0 && index < this.data.length){
            this.data[index]=value;
        }
    }
    //fungsi pencarian bagi dua
    public int Cari(int x){
        int i=0;
        int j= this.data.length-1;
     
        return CariBagiDua(x,i,j);
    }
    // fungsi rekursif pencarian bagi dua
    private int CariBagiDua(int x, int i, int j){
        // cek jarak i ke j
        if ((j-i) >=0){
            // tentukan titik tengah k
            int k = (j+i)/2;
            // cek
            if (x==this.data[k]){
                return k;
            } else if (x < this.data[k]){
                return CariBagiDua(x,i,k-1);
            } else {
                return CariBagiDua(x,k+1,j);
            }
        }else {
            return -1;
            }
        }
    public static void main (String[] args){
        //buat scanner
        Scanner inp=new Scanner(System.in);
        // tanya jumlah data
        System.out.print("jumlah data=");
        int n=inp.nextInt();
        //buat objek
        latihan5 bs1=new latihan5(n);
        //masukakan data
        System.out.println("data harus berurutan dari kesil ke besar.");
        for (int a=0; a<n; a++){
            System.out.print("data ke "+a+" =");
            bs1.SetData(a, inp.nextInt());
        }
        //tanya angka yang di cari
        System.out.print("nilai yang di cari =");
        int x=inp.nextInt();
        //hasil
        System.out.print("data "+x+" ada di index ke"+bs1.Cari(x));
 
    }
}

Pemrograman Java : Pencarian Beruntun dengan Sentinel

Diposting oleh Unknown di 01.00 0 komentar
import java.util.Scanner;
public class latihan2 {
    //property
    private String [] data;
 
    //konstruktor
    public latihan2(int n){
        data = new String[n];
    }
    //fungsi set data
    public void SetData(int index, String value){
        if (index >=0 && index < data.length){
            data[index] = value;
        }
    }
    //fungsi prncarian beruntun
    public int Cari(String x){
        for (int a=0; a<data.length; a++){
            if (data[a].equals(x)){
                return a;
            }
        }
        return -1;
    }
    public static void main(String [] args ){
        //buat scanner
        Scanner inp = new Scanner(System.in);
        //tanya jumlah data
        System.out.print("jumlah data=");
        int n = inp.nextInt();
        //buat objek
        latihan2 ss1 = new latihan2(n);
        //masukkan data
        for (int a=0; a<n; a++) {
            System.out.print("data ke "+a+" =");
            ss1.SetData(a, inp.next());
        }
        //tanaya angka yang di cari
        System.out.print("nilai yang di cari=");
        String x = inp.next();
        //hasil
        System.out.print("data "+x+" ada di index ke "+ss1.Cari(x));
    }
}

Pemrograman Java : sequential search (pencarian beruntun)

Diposting oleh Unknown di 00.48 0 komentar
import java.util.Scanner;
public class latihan1 {
    //property
    private int [] data;
 
    //konstruktor
    public latihan1(int n){
        data = new int[n];
    }
    //fungsi set data
    public void SetData(int index, int value){
        if (index >=0 && index < data.length){
            data[index] = value;
        }
    }
    //fungsi prncarian beruntun
    public int Cari(int x){
        for (int a=0; a<data.length; a++){
            if (data[a] == x){
                return a;
            }
        }
        return -1;
    }
    public static void main(String [] args){
        //buat scanner
        Scanner inp = new Scanner(System.in);
        //tanya jumlah data
        System.out.print("jumlah data=");
        int n = inp.nextInt();
        //buat objek
        latihan1 ss1 = new latihan1(n);
        //masukkan data
        for (int a=0; a<n; a++) {
            System.out.print("data ke "+a+" =");
            ss1.SetData(a, inp.nextInt());
        }
        //tanaya angka yang di cari
        System.out.print("nilai yang di cari=");
        int x = inp.nextInt();
        //hasil
        System.out.print("data "+x+" ada di index ke "+ss1.Cari(x));
    }
}

Pemrograman Java : program kelulusan menggunakan array

Diposting oleh Unknown di 00.39 0 komentar
import javax.swing.JOptionPane;
public class Method {
public static String [] kelulusan (int nilai []){
String Ket [] = new String [10];
for (int i = 0; i < nilai.length; i++){
if (nilai[i] >= 50){
Ket[i] = "LULUS";
}else {
Ket[i] = "TIDAK LULUS";
}
}return Ket;
}

public static int[] nilai(char jwb[][], char kunci[]){
int nilai [] = new int [5];
for (int i = 0; i<jwb.length; i++){
int x=0;
for (int j = 0; j<jwb[i].length; j++)
{
if(jwb[i][j] == kunci[j]){
x++;
}
}
nilai[i]= x * 10;
}
return nilai;
}
}

Rabu, 11 Juni 2014

Media Penyimpanan Optik (Optical Storage)

Diposting oleh Unknown di 03.41 3 komentar
Media penyimpanan optik adalah media penyimpanan data yang menyimpan data sebagai pola titik-titik yang dapat dibaca dengan menggunakan cahaya laser dan juga media penyimpanan data yang berbentuk kepingan bundar yang dapat memuat audio, video atau data yang dikodekan dengan 1 dan 0 pada sebuah material khusus
Optical disk pertama kali ditemukan pada tahun 1958.
Dipatenkan oleh David Paul Gregg pada tahun 1961.

Kebanyakan material yang dipakai pada teknologi optical disc saat ini adalah alumunium yang dapat mengkodekan data melalui pit dan land (pit dan land adalah suatu istilah untuk merepresentasikan nilai 0 dan 1). proses penyimpanan datanya dilakukan dari tengah media optik ini kemudian memutar keluar sampai mencapai ujung terluarnya.

Struktur penulisan data pada optical disc ini dapat diibaratkan seperti obat nyamuk yang mempunyai komponen spiral yang sangat banyak karena lebar datanya hanya berkisar dalam satuan mikrometer. Bahkan teknologi saat ini memungkinkan lebar data yang ditulis pada media optik ini dalam satuan nanometer. Menggunakan sinar laser untuk membentuk pit dan land pada lapisan alumunium dalam proses penulisan datanya.

  Sedangkan struktur pembacaan datanya dilakukan dari dalam kemudian berputar menuju bagian luar media optik ini. Pembacaan data juga dilakukan menggunakan sinar laser yang dipancarkan ke substrat alumunium kemudian pantulan dari cahaya yang diterima kembali oleh sensor yang berada pada media pembacaan (baca: optical drive). kecepatan putar media optik ini bergantung dari tipe drive yang digunakan, format optical disc yang digunakan serta jarak dari tengah piringan ini (semakin kedalam, maka kecepatan akan semakin tinggi) biasanya berkisar antara 200 RPM sampai 4000 RPM. 
Jenis-jenis Optical Memory  
1.CD (Compact Disk) (Cakram Digital , cakram padat, atau piringan cakram)
  Awalnya CD dikembangkan untuk menyimpan audio digital dan diperkenalkan pada tahun 1982, tetapi kemudian juga memungkinkan untuk penyimpanan jenis data lainnya. Audio CD telah tersedia secara komersial sejak Oktober 1982. Pada tahun 2010, CD ditetapkan sebagai media penyimpanan audio standar. 
Macam-macam CD :
CD-ROM (Compact Disk Read Only Memory) CD-ROM (Compact Disk Read Only Memory)
  Ukuran data yang dapat disimpan saat ini bisa mencapai 700MB atau 700 juta bit.
CD-ROM bersifat read only (hanya dapat dibaca, dan tidak dapat ditulisi). Untuk dapat membaca isi CD-ROM, alat utama yang diperlukan adalah CD Drive.  Informasi direkam secara digital sebagai lubang-lubang mikroskopis pada permukaan yang reflektif. Proses ini dilakukan dengan menggunakan laser yang berintensitas tinggi. Permukaan yang berlubang ini kemudian dilapisi oleh lapisan bening. Informasi dibaca dengan menggunakan laser berintensitas rendah yang menyinari lapisan bening tersebut sementara motor memutar disk.

 
Intensitas laser tersebut berubah setelah mengenai lubang-lubang tersebut kemudian terefleksikan dan dideteksi oleh fotosensor yang kemudian dikonversi menjadi data digital. Penulisan data pada CD-ROM hanya dapat dilakukan sekali saja. Walaupun demikian, optical disk ini memiliki keunggulan dari segi mobilitas. Bentuknya yang kecil dan tipis memudahkannya untuk dibawa kemana-mana

Suara yang ditangkap oleh alat pemroses suara memiliki tipe data digital yang mana datanya dinyatakan dalam bilangan biner, yaitu 0 dan 1. Serangkaian 0 dan 1 ini merepresentasikan suatu nilai sendiri yangmana dengan decoder tertentu akan menghasilkan nilai yang diinginkan (data yang diperoleh tidak rusak/sesuai).

  Pada kepingan CD, data 0 diperoleh dari lubang yang dibuat oleh CD writer, sedangkan data 1 tidak memiliki lubang. Jadi, deretan data seperti 1011, dalam bentuk fisik akan menjadi: rata-lubang-rata-rata. Lubang ini dimensinya sangat kecil sekali.Sekarang, lobang atau ratanya diganti dengan transparan atau buramnya salah satu lapisan pada CD yang namanya Photosensitive Dye. Nah, lapisan ini yang menentukan pola deretan data 1 dan 0.
CD-RW (Compact Disk ReWritable)
 
    CD-RW adalah CD-ROM yang dapat ditulis kembali. CD-RW menggunakan logam perpaduan antara perak, indium, antimon, dan tellurium untuk lapisan perekaman. Pada CD-RW, energi laser digunakan secara bersama-sama dengan prinsip medan magnet untuk menulis dan membaca informasi. Pada proses tulis, laser memanasi titik pada disk yang hendak diproses. Kemudian setelah itu medan magnet dapat mengubah arah medan titik tersebut sementara temperaturnya ditingkatkan. Karena proses tersebut tidak mengubah disk secara fisik maka proses penulisan dapat dilakukan berulang-ulang. Pada proses baca arah medan magnet yang telah dipolarisasi tersebut akan membelokkan sinar laser dengan arah tertentu, sehingga terefleksikan dan dideteksi oleh foto sensor yang kemudian dikonversikan menjadi data digital.  CD-RW memiliki kecepatan yang bervariasi dan yang tercepat saat ini adalah 52x48x36. Hal ini dapat diterjemahkan sebagai kecepatan baca (read) 52 kali, kecepatan menulis (write) 48 kali, dan Kecepatan untuk Rewrite sebesar 36 kali.  

CD-R (Compact Disc-Recordable)
  CD-R adalah Compact Disc-recordable merupakan jenis cakram padat yang dapat diisi dengan salah satu jenis media penyimpanan eksternal pada komputer. Secara fisik CD-R merupakan CD polikarbonat kosong berdiameter 120 mm sama seperti CD-ROM. Awalnya CD-R dilapisi emas sebagai media refleksinya. Permukaan reflektif pada lapisan emas tidak memiliki depresi atau lekukan-lekukan fisik seperti halnya pada lapisan aluminium kemudian  disempurnakan dengan cara  menambahkan lapisan pewarna diantara polikarbonat dan lapisan emas. CD-R dikenal juga dengan sebutan CD-WORM (Compact Disk Write Once Read Many).  

DVD
    DVD adalah sejenis cakram optic yang dapat digunakan  untuk menyimpan data termasuk film dengan kualitas video dan audio yang lebih baik dari kualitas VCD. Rata-rata kecepatan transfer data DVD adalah 1.321 MB/s dengan rata-rata burst transfer 12 MB/s. 
  Mengapa kapasitas DVD besar ?
Jarak antar bit dan jarak antar lingkaran lebih kecil.
CD : Jarak antar bit 0,834 μm, Jarak antar spiral 1,6 μm 
DVD : Jarak antar bit 0,4 μm, Jarak antar spiral 0,74 μm
Dalam satu sisi digunakan 2 layer untuk menyimpan data kapasitas menjadi 8,56 GB.
Jika kedua sisi disk digunakan untuk menyimpan data kapasitas total menjadi 17 GB.  

3.  Blue-ray 
  Blue-ray adalah sebuah format cakram optic yang digunakan untuk penyimpanan media digital termasuk video dengan kualitas tinggi. Namun Blue-ray diambil dari laser biru-ungu yang digunakan untuk membaca dan menulis cakram jenis ini, cakram blue- ray dapat menyimpan data yang lebih banyak dari format DVD yang lebih umum karena panjang gelombang laser biru ungu yang dipakai hanya 405 nm dimana lebih pendek dibandingkan dengan laser merah yaitu 650 nm yang dipakai pada DVD. 

Gambar 1. Disk yang belum dibakar
Gambar 2. Disk yang sudah dibakar

Cara membaca dan menulis pada system optical disk :
Logikanya, jika sinar laser dapat digunakan untuk membaca dan menulis ke disk, ini berarti bahwa lebih banyak data dapat disimpan di ruang yang sama”.

KecepatanTulis
  Kecepatan Tulis pada Optical Disk menggunakan sistem penamaan X-Ranting. Kecepatan Tulis biasanya diwakili dengan Lambang 1X -52X.
   1X mewakili 150 KB/detik, sehingga jika kita memiliki Optical Disk 40X maka kecepatannya adalah 40 X 150 KB/detik = 6000 KB/detik

Cara kerja 0 dan 1 pada system optical disk
Teknologi optic yang di gunakan untuk system CD didasarkan pada sumber sinar laser. Berkas leser diarahkan kepermukaan disk yang berputar. Lekukan fisik pada permukaan diatur sepanjang track disk. Lekukan tersebut merekflesikan berkas terfokus ke foto detektor, yang mendeteksi pilabiner yang tersimpan.
  Laser tersebut memancarkan berkar sinar koheren yang di fokuskan dengan tajam pada permukaan disk. Sinar koheren terdiri dari gelombang tersingkronisasi yang memiliki panjang gelombang yang sama. Jika berkas sinar koheren di gabungkan dengan berkas lain dari jenis yang sama, dan dua berkas tersebut berada dalam 1 fase, maka hasilnya akan berubah berkas yang lebih terang. Tetapi jika gelombang dua berkas tersebut berbeda 180 derajat, maka keduanya akan saling tidak ada.
   Sehingga, jika foto detektor digunakan untuk menyeleksi berkas tersebut, maka akan mendeteksi titik terang pada kasus pertama dan titik gelap pada kasus kedua.

Tampang lintang sebagian kecil CD ditampilkan pada gambar

Lapisan dasar adalah plastik polikarbonat, yang  berfungsi basis gelas trasparan. Permukaan plastic ini di program untuk menyimpan data dengan melekukkan lapisan tersebut dengan  pit. Bagian  yang  tidak di lekukkan  di sebut dengan  land.  Lapisan tipis bahan alumanium perefleksi ditempatkan pada bagian atas  disk yang terprogram. Alumanium tersebut kemudian dilapisi dengan  acrylic pelindung. Akhirnya lapisan  paling atas disimpan dan di cap dengan  label.

Cara kerja gambar
Sumber laser dan foto detektor ditempatkan di bacah plastic polikarbonat. Berkas di pancarkan melintas plastic dan di refleksikan oleh lapisan alumanium dan juga melintas balik menuju fotodetektor, perhatikan bahwa dari sisi lacer, pit tersebut sebenarnya tampak sebagai benjolan terhadap land

Gambar ini menunjukan apa yang terjadi pada saat laser melintas disk dan menghadap transisi dari pit dan land. Di tampilkan 3 pisisi yang berbeda dari sumber laser dan detector yang memungkinkan terjadi pada saat disk berotasi. Pada saat sinar direfleksikan hanya dari pit, atau hanya dari land, maka detector akan melihat berkas yang di refleksikan sebagai titik terang. Tetapi situasi yang berbeda muncul pada saat bergerak melalui tepian dimana pit berubah menjadi land dan sebaliknya. Pit di hentikan satu seperempat panjang gelombang sinar tersebut.  Sehingga gelombang tidak di refleksikan dari pit akan berbeda fase 180 derjat dengan gelombang yang di reflesikan dari land. Karenanya pada transisi pit land dan land pit detektor tidak akan mengetahui berkas yang di reflesikan dan akan mendeteksi titik gelap.

Pada gambar yang ini menggambarkan beberapa transisi antara land dan pit.  Jika tiap transisi yang terdeteksi sebagai titik gelap digunakan untuk menyatakan biner 1 dan bagian datar sebagai 0, maka pola biner yang terdeteksi akan seperti yang dilampirkan padagambar.
Polaini bukan representasi langsung data yang tersimpan. CD menggunakn skema encoding kompleks untuk menyatakan data, tiap data dinyatakan dengan 14 bit menyediakan kemampuan deteksi error

KEUNGGULAN DAN KELEMAHAN MEDIA PENYIMPANAN DATA OPTIK
Cakram optik menawarkan sejumlah keunggulan dibandingkan dengan media penyimpan yang bersifat magnetis. Cakram optik memegang jauh lebih banyak data. Kontrol yang lebih besar dan fokus dapat dilakukan dengan sinar laser (dibandingkan dengan kepala magnetik kecil) berarti bahwa lebih banyak data dapat ditulis ke dalam ruang yang lebih kecil. Kapasitas penyimpanan meningkat dengan setiap generasi baru media optik. Muncul standar, seperti Blu-ray, menawarkan sampai 27 gigabyte (GB) di satu sisi disc 12-sentimeter. Sebagai perbandingan, sebuah disket, misalnya, dapat menahan 1,44 megabyte (MB).
Keunggulan dari Optical Disk adalah ringan, mudah dibawa, semakin murah, tidak kehilangan data karena magnetis atau kelistrikan, bersifat read only sehingga virus tidak dapat menginfeksi Optical Disc (kecuali apabila dalam penyimpanan ada virusnya duluan). Kekurangnya adalah akan sulit dibaca apabila tergores apalagi patah.Saat ini ada beberapa jenis disk yang beredar atau yang dikembangkan.
Cakram optik murah untuk memproduksi dan data yang tersimpan pada mereka relatif tahan terhadap ancaman paling lingkungan, seperti lonjakan daya, atau gangguan magnetik.

Kesimpulan
Optical Disc adalah jenis media penyimpanan data yang berbentuk kepingan bundar yang dapat memuat audio, video atau data yang dikodekan dengan 1 dan 0 pada sebuah material khusus.
Media optic yang ada saat ini adalah berbentuk CD (CompactDisk). CD terbuat dari plat alumanium yang dapat dilapisi dengan bahan-bahan chrome yang mengkilat dan tidak menggunakanbahan magnetic melainkan bahan yang dapat memantulkan cahaya.
Struktur penulisan data pada optical disc ini dapat diibaratkan seperti obat nyamuk yang mempunyai komponen spiral yang sangat banyak karena lebar datanya hanya berkisar dalam satuan mikrometer.
Sedangkan struktur pembacaan datanya tidak terlalu berbeda dengan proses penulisannya, proses pembacaan dilakukan dari dalam kemudian berputar menuju bagian luar media optik ini. Pembacaan data juga dilakukan menggunakan sinar laser yang dipancarkan ke substrat alumunium kemudian pantulan dari cahaya yang diterima kembali oleh sensor yang berada pada media pembacaan (baca: optical drive).
 

Miss Galaxy Yoon Template by Ipietoon Blogger Template | Gift Idea