July 16, 2011

Teknik Kompilasi Analisa Sintak

Pendefisian Sintaks suatu bahasa dilakukan dengan menggunakan suatu notasi tata bahasa bebas konteks (context-free grammar) atau untuk memudahkan disebut tata bahasa saja.

Suatu tata bahasa secara alamiah menerangkan struktur hirarki dari banyak bentuk bahasa pemrograman. Misalkan perintah if-else dari bahasa C mempunyai bentuk:

if (ekspresi) perintah else perintah

Ket :

Dalam hal ini suatu perintah adalah gabungan dari :

kata kunci if
kurung buka
ekspresi
kurung tutup
perintah
kata kunci else
perintah lainnya

(Dalam bahasa C tidak ada kata kunci then).

Bila digunakan nama variabel expr untuk menyatakan suatu ekspresi dan variabel stmt untuk menyatakan suatu perintah, maka struktur aturan ini dapat dinyatakan sebagai berikut :

stmt ? if (expr) stmt else stmt

Ket:

? (tanda panah dibaca sebagai) “Dapat berbentuk suatu”.

Aturan diatas disebut juga suatu produksi (production). Dalam suatu produksi seperti ini unsur leksikal seperti kata kunci if dan tanda kurung “(“,”)” disebut suatu token. Variabel seperti expr dan stmt disebut dengan non-terminal.

Secara lengkap suatu tata bahasa bebas konteks dapat mempunyai 4 komponen berikut:

0> Himpunan dari token yang dikenal dengan simbol token.

0> Himpunan dari unsur non-terminal

0> Himpunan dari produksi, di mana masing-masing produksi terdiri dari unsur non-terminal (bagian kiri tanda panah dari suatu produksi). Bagian kanan produksi berupa ? (tanda panah) dan barisan dari token dan/atau non-terminal (sebelah kanan tanda panah).

0> Salah satu unsur non-terminal yang telah ditentukan sebagai awal tata bahasa disebut sebagai simbol awal.

Aturan umum yang digunakan dalam menentukan suatu tata bahasa adalah dengan menuliskan produksi yang ada dengan dimulai dari produksi yang mengandung simbol awal. Terminal dapat berupa angka-angka, tanda-tanda seperti <=, dan rangkaian karakter yang ditulis huruf tebal seperti while dan lain-lainnya juga nama lain yang tidak dicetak miring. Non-teminal dapat berupa nama yang dicetak miring.

Untuk memudahkan penulisan, maka produksi yang mempunyai simbol non-teminal disebelah kiri yang sama bagian kanannya dapat dikelompokkan dengan menggunakan tanda “|” yang memisahkan pilihan bagian kanan yang ada. pengelompokkan seperti ini dapat dibaca sebagai “atau”

Contoh 1:

9-5+2, 3-1, 7 merupakan barisan dari angka-angka yang dipisahkan oleh

tanda ‘+’ atau ‘-’.

Tata bahasa berikut memberkan sintaks dari ekspresi-ekspresi di atas. Produksi yang ada adalah:

list ? list + digiT

list ? list – digit

list ? digit

digit ? 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

Bagian kanan dari produksi untuk unsur non-terminal list

list ? list + digit

list ? list – digit

list ? digit

di bagian kiri dapat dikelompokkan menjadi 1 produksi yang setara, yaitu:

list ? list + digit | list – digit | digit

ü Penulisan Produksi menjadi:

list ? list + digit | list – digit | digit

digit ? 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

ü Token yang menjadi terminal digunakan adalah simbol +,-,0,1,2,3,4,5,6,7,8,9

0> Sedangkan unsur non-terminal adalah nama-nama yang digaris miring seperti list dan digit

0> Simbol Awal adalah produksi non-terminal list

Suatu unsur non-terminal dapat merupakan suatu produksi bila unsur non-terminal tersebut timbul dibagian kiri dari produksi.

Barisan token adalah barisan dari nol atau lebih token. Unsur yang mengandung nol token ditulis sebagai ?, dan disebut dengan nama barisan kosong.

Suatu bahasa diperoleh dari :

barisan-barisan yang dimulai dari simbol awal
bagian kanan yang masih berupa non-terminal (bukan token/terminal) dari produksi dapat diganti dengan mencari acuan pada bagian kiri dari produksi yang ada dengan non-terminal yang sama.
mengganti unsur non-terminal pada bagian kiri produksi dengan bagian kanan dari produksi non-terminal tersebut.
Barisan token pada bagian kanan produksi yang menjadi pengganti unsur non terminal acuan pada bagian kiri produksi merupakan akhir dalam pembentukan bahasa.

Contoh 2:

Bahasa yang didefinisikan oleh tata bahasa pada contoh 1 terdiri dari barisan angkaangka yang dipisahkan oleh tanda ‘-’ atau ‘+’.

Kesepuluh produksi dari unsur nonterminal digit (digit ? 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9) dapat digunakan sebagai penganti token-token yang berhubungan dengan angka yaitu 0,1,2,3,4,5,6,7,8,9 dari produksi list ? digit, maka dapat dikatakan bahwa 1 angka yang berdiri sendiri adalah suatu list juga, yaitu :

Pada produksi list ? digit

0 merupakan bahasa yang dibentuk list

1 merupakan bahasa yang dibentuk list

2 merupakan bahasa yang dibentuk list

3 merupakan bahasa yang dibentuk list

4 merupakan bahasa yang dibentuk list

5 merupakan bahasa yang dibentuk list

6 merupakan bahasa yang dibentuk list

7 merupakan bahasa yang dibentuk list

8 merupakan bahasa yang dibentuk list

9 merupakan bahasa yang dibentuk list

Pada produksi lainnya

list ? list + digit

list ? list – digit

Menyatakan bahwa list yang diikuti oleh tanda ‘+’ atau ‘-’ dan diikuti oleh list akan membentuk suatu list baru.

Ternyata semua produksi yang digunakan pada contoh 1 adalah produksi-produksi yang diperlukan untuk dapat mendefinisikan bahasa yang diinginkan untuk ekspresi 9-5+2, 31, 7

9-5+2 merupakan salah satu anggota dari bahasa yang dibentuk list, dimana list adalah simbol awal. Hal ini dapat ditunjukkan sebagai berikut:

ü 9 merupakan list dari produksi “list ? digit” dimana digit membentuk 9 pada

“digit ? 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9″ atau secara terpisah menjadi

digit ? 0

digit ? 1

digit ? 2

digit ? 3

digit ? 4

digit ? 5

digit ? 6

digit ? 7

digit ? 8

digit ? 9.

0> 9-5 merupakan list dari produksi “list ? list – digit” dimana 9 sudah berupa list dan digit membentuk 5 pada “digit ? 5″.

0> 9-5+2 merupakan list dari produksi “list ? list + digit” = (9-5) + 2. Dimana 9-5 sudah berupa list dan digit membentuk 2 pada “digit ? 2″.

Hal ini dapat dilihat pada gambar 1 berikut ini

Gambar 1 Pohon urai dari ekspresi 9-5+2 menurut tata bahasa contoh 1

Pada gambar ini setiap nodal (titik pertemuan antar garis) pada pohon urai diberi label salah satu simbol tata bahasa.

Nodal dalam (internal node / nodal di atas nodal yang lain) dan anak-anaknya (nodal yang terletak di bawah nodal dalam) berhubungan dengan suatu produksi.

Nodal dalam berhubungan dengan bagian kiri dari produksi, sedangkan anak-anaknya berhubungan dengan bagian kanan dari produksi yang sama.

Pohon demikian disebut pohon urai dari ekspresi yang diberikan.

Contoh 3

Pada bahasa Pascal dapat dijumpai dalam cakupan blok begin-end. Salah satu perbedaan yang sangat mencolok yang terdapat pada contoh adalah adanya list dari perintah-perintah yang mungkin kosong diantara token-token begin dan end.

Untuk itu dikembangkan suatu tata bahasa yang mengandung produksi berikut:

block ? begin opt_stmts end

opt_stmts ? stmt_list | ?

stmt_list ? stmt_list ?stmt | stmt

Pada produksi opt_stmts, kemungkinan ke-2 bagian kanan pada “opt_stmts ? stmt_list | ?” adalah perintah yang boleh memilih “?”, yang mengartikan rangkaian kosong dari simbol-simbol. Jadi suatu blok dapat hanya terdiri dari 2 token yaitu begin dan end

Pada produksi stmt_list sangat mirip dengan produksi list pada contoh 1, dimana tanda “|” menggantikan operator “+” dan “-” (list ? list + digit | list – digit | digit). Unsur non-terminal stmt menggantikan unsur non-terminal digit




Sumber
Read more

Teknik Kompilasi Analisa Sematik

Analisis Semantik adalah proses setelah melewati proses scanning dan parsing. Pada tahap ini dilakukan pengecekan pada struktur akhir yang telah diperoleh dan diperiksa kesesuaiannya dengan komponen program yang ada. Secara global, fungsi dari semantic analyzer adalah untuk menentukan makna dari serangkaian instruksi yang terdapat dalam program sumber.

Contoh : A := (A + B)*(C + D)

maka penganalisis semantik harus mampu menentukan aksi apa yang akan dilakukan oleh operator-operator tersebut. Dalam sebuah proses kompilasi, andaikata parser menjumpai ekspresi seperti diatas, parser hanya akan mengenali simbol-simbol ':=' , '+' , dan '*'. Parser tidak tahu makna apa yang tersimpan dibalik simbol simbol tersebut. Untuk mengenalinya, kompiler akan memanggil rutin semantik yang akan memeriksa :

Apakah variabel-variabel yang ada telah didefinisikan sebelumnya?
Apakah variabel-variabel tersebut tipenya sama?
Apakah operand yang akan dioperasikan tersebut ada nilainya?, dan seterusnya

Fungsi ini terkait dengan tabel simbol. Pengecekan yang dilakukan oleh analisis semantik adalah sebagai berikut :
a) Memeriksa keberlakuan nama-nama meliputi pemeriksaan berikut.


Duplikasi : pada tahap ini dilakukan pengecekan apakah sebuah nama terjadi pendefinisian lebih dari dua kali. Pengecekan dilakukan pada bagian pengelola blok.
Terdefinisi : Melakukan pengecekan apakah sebuah nama yang dipakai pada tubuh program sudah terdefinisi atau belum. Pengecekan dilakukan pada semua tempat kecuali blok.

b) Memeriksa tipe. Melakukan pemeriksaan terhadap kesesuaian tipe dalam statement-statement yang ada.
Misalkan bila terdapat suatu operasi, diperiksa tipe operand. Contohnya bila ekspresi yang mengikuti
instruksi IF berarti tipenya boolean, akan diperiksa tipe identifier dan tipe ekspresi. Bila ada operasi
antara dua operand, maka tipe operand pertama harus bisa dioperasikan dengan operand kedua.
Semantik sering juga digabungkan pada pembangkitan kode antara yang menghasilkan Output intermediate code, yang nantinya akan digunakan pada proses kompilasi berikutnya.



KODE ANTARA

Kode antara/Intermediate code merupakan hasil dari tahapan analisis, yang dibuat oleh kompilator pada saat mentranslasikan program dari bahasa tingkat tinggi. Kegunaan dari kode antara sebagai berikut:

Untuk memperkecil usaha dalam membangun kompilator dari sejumlah bahasa ke sejumlah mesin. dengan adanya kode antara yang lebih machine independent maka kode antara yang dihasilkan dapat digunakan lagi pada mesin lainnya.
Proses optimasi masih lebih mudah. Beberapa strategi optimisasi lebih mudah dilakukan pada kode antara daripada pada program sumber atau pada kode assembly dan kode mesin.
Bisa melihat program internal yang mudah dimengerti. Kode antara ini akan lebih mudah dipahami dari pada kode assembly atau kode mesin.

Terdapat dua macam kode antara, yaitu Notasi Postfix dan N-Tuple

Notasi Postfix

Sehari-hari kita biasa menggunakan operasi dalam notasi infix (letak operator di tengah). Pada notasi Postfix operator diletakkan paling akhir maka disebut juga dengan notasi Sufix atau Reverse Polish.
Sintaks notasi Postfix :



Misalkan ekspresi :
(a + b)*(c + d)
kalau kita nyatakan dalam postfix :
ab + cd + *

Kita dapat mengubah instruksi kontrol program yang ada ke dalam notasi Postfix. Misal :
IFTHENELSE
diubah ke dalam Postfix :
BZ BR

label1 label2
Keterangan :
BZ = branch if zero (zero = salah) {bercabang/meloncat jika kondisi yang dites salah}
BR = branch {bercabang/meloncat tanpa ada kondisi yang dites}

Arti dari notasi Postfix di atas adalah sebagai berikut.

“Jika kondisi ekspresi salah, maka instruksi akan meloncat ke Label1dan menjalankan statement2. Bila kondisi ekspresi benar, maka statement1 akan dijalankan lalu meloncat ke Label2. Label1 dan Label1 dan Label2 sendiri menunjukan posisi tujuan loncatan, untuk Label1 posisinya tepat sebelum statement2, dan Label2 setelah statement2”

Dalam implementasi ke kode antara, label bisa berupa nomor baris instruksi. Untuk lebih jelasnya bisa dilihat contoh berikut.
IF a > b THEN
c := d
ELSE
c := e

Bila diubah ke salam Postfix

11. a
12. b
13. >
14. 22 {menunjuk label1}
15. BZ
16. c
17. d
18. :=
19.
20. 25 {menunjuk label2}
21. BR
22. c
23. e
24. :=
25.

Notasi Postfix di atas bisa dipahami sebagai berikut.

Bila ekspresi (a > b) salah, maka loncat ke instruksi no.22
Bila ekspresi (a > b) benar, tidak terjadi loncatan, instruksi berlanjut ke 16 sampai 18, lalu loncat ke 25.

Contoh lain :
WHILEDO
diubah ke postfix
BZBR

label1 label2

Contoh, instruksi
a := 1
WHILE a<5 DO
a := a + 1

diubah ke notasi postfix menjadi sebagai berikut :
10. a
11. 1
12. :=
13. a
14. 5
15. <
16. 26 {menunjuk label1}
17. BZ
18. a
19. a
20. 1
21. +
22. :=
23.
24. 13 {menunjuk label2}
25. BR

PEMBANGKIT KODE (CODE GENERATOR)


Hasil dari tahapan analisis akan diterima oleh bagian pembangkitan kode (code generator). Disini kode antara dari program biasanya ditranslasikan ke bahasa assembly atau bahasa mesin.
Contoh :

(A+B)*(C+D)

Notasi Kuadrupel :

1. +, A, B, T1
2. +, C, D, T2
3. *, T1, T2, T3

Dapat ditranslasikan ke dalam bahasa Assembly dengan akumulator tunggal :

LDA A {Muat isi A ke akumulator}
ADD B {Tambahkan isi akumulator dengan B}
STO T1 {Simpan isi akumulator ke T1}
LDA C
ADD D
STO T2
LDA T1
MUL T2
STO T3


Keluaran dari code generator akan diterima oleh code optimhttp://www.blogger.com/img/blank.gifizer. Misalkan untuk kode assembly diatas bisa dioptimasi menjadi :

LDA A
ADD B
STO T1
LDA C
ADD D
MUL T1
STO T2



sumber
Read more

July 15, 2011

Layang Kleng di Aceh


BANDA ACEH - Dinas Kebudayaan dan Pariwisata (Disbudpar) Kota Banda Aceh bekerja sama dengan Disbudpar Aceh akan menggelar Festival Layang-layang (Geulayang Tunang), Sabtu, 9 Juli mendatang. Festival ini digelar di Lapangan Blang Pango, Kecamatan Ulee Kareng, Banda Aceh.

“Sudah ada peserta dari luar Banda Aceh dan Aceh Besar yang mau berpartisipasi dalam even ini. Selain itu, akan ada komunitas layang-layang dari 15 negara yang datang untuk memeriahkan festival ini,” kata Kadisbupdar Banda Aceh, Reza Fahlevi, kepada Serambi, kemarin.http://www.blogger.com/img/blank.gif

Masyarakat Aceh yang berminat ikut serta dalam lomba ini, kata Reza, dapat mendaftar di Kantor Camat Ulee Kareng. Panitia, katanya lagi, tidak memungut biaya pendaftaran. Sementara total hadiah yang diperebutkan mencapai Rp 17 juta.(mir)

- Pendaftaran mulai 4-8 Juli (gratis) bertempat di Kantor Camat Ulee Kareng di Jln Jurong Dagang Gampong Pango Deah, mulai pukul 08.00 - 17.00 WIB.

- Juga digelar kelas eksibisi yang diikuti komunitas layang-layang dari 15 negara, yang digelar 9-11 Juli di Lapangan Blangpadang dan Lampuuk, Aceh Besar.


Sumber
Read more

Hal - Hal Unik di Jepang


1. Di Jepang, angka “4? dan “9? tidak disukai, sehingga sering tidak ada nomer kamar “4? dan “9?. “4? dibaca “shi” yang sama bunyinya dengan yang berarti “mati”, sedang “9? dibaca “ku”, yang sama bunyinya dengan yang berarti “kurushii / sengsara.

2. Orang Jepang menyukai angka “8?. Harga-harga barang kebanyakan berakhiran “8?. Susu misalnya 198 yen. Tapi karena aturan sekarang ini mengharuskan harga barang yang dicantumkan sudah harus memasukkan pajak, jadi mungkin kebiasaan ini akan hilang. (Pasar = Yaoya = tulisan kanjinya berbunyi happyaku-ya atau toko 800).

3. Kalau musim panas, drama di TV seringkali menampilkan hal-hal yang seram (hantu).

4. Cara baca tulisan Jepang ada dua style : yang sama dengan buku berhuruf Roman alphabet huruf dibaca dari atas ke bawah, dan yang kedua adalah dari kolom paling kanan ke arah kiri. Sehingga bagian depan dan belakang buku berlawanan dengan buku Roman alphabet (halaman muka berada di “bagian belakang”).

5. Tanda tangan di Jepang hampir tidak pernah berlaku untuk keperluan formal, melainkan harus memakai hanko/inkan/ cap. Jenis hanko di Jepang ada beberapa, a.l. jitsu-in, ginko-in, dan mitome-in. Jadi satu orang kadang memiliki beberapa jenis inkan, untuk berbagai keperluan. Jitsu-in adalah inkan yang dipakai untuk keperluan yang sangat penting, seperti beli rumah, beli mobil, untuk jadi guarantor, dsb. jenis ini diregisterkan ke shiyakusho. Ginko-in adalah jenis inkan yang dipakai untuk khusus membuat account di bank. inkan ini diregisterkan ke bank. Mitome-in dipakai untuk keperluan sehari-hari, dan tidak diregisterkan.

6. Kalau kita membubuhkan tanda tangan, kadang akan ditanya orang Jepang: ini bacanya bagaimana ? Kalau di Jepang saat diperlukan tanda tangan (misalnya di paspor, dsb.) umumnya menuliskan nama mereka dalam huruf Kanji, sehingga bisa terbaca dengan jelas. Sedangkan kita biasanya membuat singkatan atau coretan sedemikian hingga tidak bisa ditiru/dibaca oleh orang lain.

7. Acara TV di Jepang didominasi oleh masak memasak.

8. Fotocopy di Jepang self-service, sedangkan di Indonesia di-service.

9. Jika naik taxi di Jepang, pintu dibuka dan ditutup oleh supir. Penumpang dilarang membuka dan menutupnya sendiri.

10. Pernah nggak melihat cara orang Jepang menghitung “satu”, “dua”, “tiga”…. dengan jari tangannya ? Kalau agan-agan perhatiin, ada perbedaan dengan kebiasaan orang Indonesia. Orang Indonesia umumnya mulai dari tangan dikepal dan saat menghitung “satu”, jari kelingking ditegakkan. Menghitung “dua”, jari manis ditegakkan, dst. Kalau orang Jepang, setahu saya, kebalikannya. Mereka selalu mulai dari telapak tangan terbuka, dan cara menghitungnya kebalikan orang Indonesia. Saat bilang “satu”, maka jarinya akan ditekuk/ditutupkan ke telapak tangan. Kalo nggak percaya, coba deh… jikken dengan teman Jepang anda.

11. Sepeda tidak boleh dipakai boncengan, kecuali yang memboncengkannya berusia lebih dari 16 tahun dan anak yang diboncengkan berusia kurang dari satu tahun dan hanya seorang saja yang diboncengkan. Bila dilanggar, dendanya maksimal 20 ribu yen.

12. Kalo naik eskalator di Tokyo, kita harus berdiri di sebelah kiri, karena sebelah kanan adalah untuk orang yang terburu-buru. Jangan sekali-kali berdiri di kanan kalo kita ga langsung naik.

13. Pacaran di Jepang sungguh hemat, traktir2an bukan budaya pacaran Jepang. Jadi selama belum jadi suami-istri, siapin duit buat bayar sendiri-sendiri.

14. Nganter jemput pacar juga bukan budaya orang Jepang. Kalo mau ketemuan, ya ketemuan di stasiun.

15. Jangan pernah sekali-kali bilang ke orang jepang : “Gue maen ke rumah lu ya”. Karena itu dianggap ga sopan. Ke rumahnya cuma kalo udah diijinin.

16. “Aishiteru” yang berarti aku cinta kamu, jarang dipake sama orang pacaran, kecuali kalo mereka bener-bener udah mau nikah. Biasanya mereka make “Daisuke desu” buat ngungkapin kalo mereka sayang sama pacarnya.

17. Sebelum bepergian, biasanya orang Jepang selalu ngecek ramalan cuaca. Dan 90% ramalan cuaca itu akurat. Itu sebabnya kalo ada orang bawa payung, pasti kita bakal liat orang yang lainnya lagi bawa payung juga. Dan perempatan Shibuya adalah tempat yang paling menarik ketika hujan, karena dari atas kita akan melihat lautan payung yang berwarna-warni.

18. Bunga sakura adalah bunga yang spesial di Jepang, karena bunganya hanya tumbuh 2 minggu selama setahun. Ketika tumbuh, bunganya memenuhi seluruh pohon, tanpa daun. Setelah 2 minggu, ga ada satupun bunga sakura, yang ada hanyalah daun-daun hijau, tanpa bunga, dan jadi ga menarik lagi.

19. Di Indonesia, kita bakal dapet duit kalo kita ngejual barang bekas kita ke toko jual-beli. Tapi di Jepang, kita malah harus bayar kalo mau naro barang kita di toko jual-beli. Itulah sebabnya kenapa orang Jepang lebih milih ninggalin TV bekas mereka gitu aja kalo mo pindah apartemen.

20. Di perempatan jalan Kyoto, perempatan jalan yang kecil, ga ada mobil sama sekali, tapi ada lampu merah, pejalan kaki selalu berhenti ketika lampu tanda pejalan kaki menunjukkan warna merah. Mereka santai aja, baca koran, ngobrol, ngerokok, dan kemudian jalan lagi ketika lampu sudah hijau. Padahal ga ada mobil yang lewat satupun. Mungkin kalo mereka ngelanggar peraturan juga ga akan celaka.

21. Mereka ga percaya Tuhan (mayoritas atheis), tapi mereka bisa disiplin dan taat sama peraturan. Mungkin karena itu negara mereka maju.
Read more

July 01, 2011

Perbedaan Harddisk ATA dan SATA


Hard disk merupakan salah satu media penyimpan data pada komputer yang terdiri dari kumpulan piringan magnetis yang keras dan berputar, serta komponen-komponen elektronik lainnya. Hard disk menggunakan piringan datar yang disebut dengan platter, yang pada kedua sisinya dilapisi dengan suatu material yang dirancang agar bisa menyimpan informasi secara magnetis. Platter-platter tersebut disusun dengan melubangi tengahnya dan disusun pada suatu spindle. Platter berputar dengan kecepatan yang sangat tinggi yang dikendalikan oleh spindle motor yang terhubung pada spindle.

Alat elektromagnetik baca tulis khusus yang bernama head terpasang pada slider dan digunakan untuk menyimpan informasi ke dalam piringan atau membacanya. Slider terpasang di atas arm, yang kesemuanya terhubung secara mekanis pada suatu kumpulan tunggal dan tersambung pada permukaan piringan melalui suatu alat yang disebut dengan actuator. Selain itu ada juga logic board mengatur aktifitas komponen-komponen lain dan berkomunikasi dengan PC.

1. ATA

Kebanyakan type drive yang digunakan oleh para pengguna komputer adalah tipe ATA (dikenal dengan IDE drive). Tipe ATA di buat berdasarkan standart tahun 1986 dengan menggunakan 16 bit paralel dan terus berkembang dengan penambahan kecepatan transfer dan ukuran sebuah disk. Standart terakhir adalah ATA-7 yang dikenalkan pertama kali pada tahun 2001 oleh komite T13(komite yang bertanggung jawab menentukan standart ATA). Tipe ATA-7 memiliki data transfer sebesar 133 MB/sec. kemudian selama tahun 2000 ditentukan standar untuk paralel ATA yang memiliki data rate sebesar 133 MB/sec, tapi paralel ATA terdapat banyak masalah hal singnal timin, EMI(electromognetic interference) dan intergitas data. Kemudian para industri berusaha menyelesaikan masalah yang di timbulkan oleh paralel ATA dan di buat standar baru yang di sebut Serial ATA (SATA)

ATA (Advanced Technology Attachment) menggunakan 16 bit paralel digunakan untuk mengontrol peralatan komputer, dan telah di pakai selama 18 tahun lebih sebagai standar. Perbedaan SATA dan ATA yang paling mudah adalah kabel data dan power yang berbeda.
Standar ATA, seperti 200GB Western Digital Model, mempunyai dua inch kabel ribbon dengan 40 pin koneksi data dan membutuhkan 5V untuk setiap pin dari 4 pin connection. Sedangkan SATA seperti 120 GB western Digital Model mempunyai lebar setengah inci, 7 connector data connection sehingga lebih tipis dan mudah untuk mengatur kebel datanya. Kabel data SATA mempunyai panjang maksimal 1 meter (39.37 inci) lebih panjang dari ATA yang hanya 18 inci.

2. SATA

SATA dengan 15 pin kabel power dengan 250 mV, tampaknya memerlukan daya lebih banyak di bandingkan dengan 4 pin ATA, tapi dalam kenyataanya sama saja. Dan kemampuan SATA yang paling bagus adalah tercapainya maximum bandwith yang mungkin yaitu sebesar 150 MB/sec
Keuntungan lainya dari SATA adalah SATA di buat dengan kemampuan hot-swap sehinga dapat mematikan dan menyalakan tanpa melakukan shut down pada sistem komputer.
Sedangkan dalam harga, drive SATA lebih mahal sedikit di bandingkan drive ATA , kesimpulanya SATA lebih memiliki keuntungan dibandingkan ATA dalam connector, tenaga, dan yang paling penting performanya. Sekarang standar ATA telah mulai di tinggalkan dan produsen memilih standart SATA.

IDE (Integrated Drive Electronics) merupakan standar interface antara bus data motherboard komputer dengan disk storage. IDE interface di buat berdasarkan IBM PC Industry Standard Architecture (ISA) 16-bit bus. Interface dari IDE adalah interface untuk storage devices yang dapat teringrasi untuk disk atahttp://www.blogger.com/img/blank.gifu CD-ROM drive. Walaupun IDE merupakan teknologi yang umum, kebanyakan orang menggunakan istilah IDE untuk merujuk pada spesifikasi ATA. Sedangkan AHCI (Advance Host Controller Interface) merupakan mekanisme hardware yang membolehkan software untuk berkomunikasi dengan SATA seperti host bus adapter yang didesain untuk hot-plugin dan native command queuing(NCQ) yang dapat menaikan kemampuan komputer/sistem/hard disk terutama dalam lingkungan multi tasking dengan cara membolehkan drive untuk menjalankan perintah baca tulis yang dikirim secara acak dengan tujuan untuk optimalisasi perpindahan head pada proses pembacaan. AHCI telah di dukung oleh berbagai sistem operasi seperti Windows Vista dan Linux kernel 2.6.19.


SUMBER
Read more