Monday, May 31, 2010

Algoritma Penjadwalan Prosesor dan Waktu akses

Penjadwalan CPU

Penjadwalan CPU adalah pemilihan proses dari antrian ready untuk dapat dieksekusi. Penjadwalan CPU merupakan konsep dari multiprogramming, dimana CPU digunakan secara bergantian untuk proses yang berbeda. Suatu proses terdiri dari dua siklus yaitu Burst I/O dan Burst CPU yang dilakukan bergantian hingga proses selesai. Penjadwalan CPU mungkin dijalankan ketika proses:
  1. running ke waiting time
  2. running ke ready state
  3. waiting ke ready state
  4. terminates
Proses 1 dan 4 adalah proses Non Preemptive, dimana proses tersebut tidak bisa di- interrupt, sedangkan 2 dan 3 adalah proses Preemptive, dimana proses boleh di interrupt.
Pada saat CPU menganggur, maka sistem operasi harus menyeleksi proses-proses yang ada di memori utama (ready queue) untuk dieksekusi dan mengalokasikan CPU untuk salah satu dari proses tersebut. Seleksi semacam ini disebut dengan shortterm scheduler (CPU scheduler).
Komponen yang lain dalam penjadwalan CPU adalah dispatcher, Dispatcher adalah suatu modul yang akan memberikan kontrol pada CPU terhadap penyeleksian proses yang dilakukan selama short-term scheduling . Waktu yang diperlukan oleh dispatcher untuk menghentikan suatu proses dan memulai proses yang lain disebut dengan dispatch latency.
Jika dalam suatu proses Burst CPU jauh lebih besar daripada Burst I/O maka disebut CPU Bound. Demikian juga sebaliknya disebut dengn I/O Bound.
Waktu akses adalah waktu tunda atau latency antara permintaan ke sistem elektronik, dan akses yang sedang diselesaikan atau data yang diminta kembali.

* Dalam sistem telekomunikasi, waktu akses adalah delay antara mulai dari upaya akses dan akses yang sukses. nilai waktu akses diukur hanya pada upaya akses yang mengakibatkan akses sukses.
* Di komputer, itu adalah interval waktu antara peristiwa dimana unit kontrol instruksi untuk memulai panggilan data atau permintaan untuk menyimpan data, dan peristiwa dimana pengiriman data selesai atau penyimpanan dimulai.
* Dalam disk drive, disk waktu akses adalah waktu yang diperlukan untuk komputer untuk mengolah data dari prosesor dan kemudian mengambil data yang dibutuhkan dari perangkat penyimpanan, seperti hard drive. Untuk hard drive, disk akses waktu ditentukan oleh jumlah waktu spin-up, mencari waktu, menunda rotasi, dan waktu transfer.
o waktu Spin-up - adalah waktu yang dibutuhkan untuk mempercepat disk untuk mempercepat operasi. Sering digunakan drive sering kiri berputar untuk meningkatkan waktu akses, tetapi drive dapat berputar turun untuk mengurangi penggunaan energi atau kebisingan.
o Seek Time (waktu pencarian) - adalah waktu untuk lengan akses untuk mencapai melacak disk yang diinginkan.
o Rotational delay - penundaan untuk rotasi disk untuk membawa sektor disk yang disyaratkan dalam mekanisme-baca tulis. Ini sangat tergantung pada kecepatan rotasi dari sebuah disk, diukur dalam revolusi per menit (RPM).
o
waktu Transfer - waktu selama data yang sebenarnya dibaca atau ditulis ke medium, dengan throughput tertentu.teoritis dari rata-rata keterlambatan rotasi akan ditampilkan dalam tabel di bawah ini, berdasarkan hubungan empiris bahwa rata-rata latency dalam milidetik untuk drive tersebut adalah sekitar 30000/RPM:

Spindle RPMAverage latency (ms)
42007.14
54005.55
72004.17
100003
150002


Penjadwalan CPU adalah permasalahan menentukan proses mana pada ready queue yang dialokasikan ke CPU. Terdapat beberapa algoritma penjadwalan CPU, diantaranya :
  1. Algoritma Penjadwalan First Come, First Served (FCFS).
  2. Algoritma Penjadwalan Shortest Job First. terbagi menjadi premptive dan non-premptive
  3. Algoritma Penjadwalan Priority Schedulling (jadwal prioritas).
  4. Algoritma Penjadwalan Round Robin.
Setiap algoritma diukur “turnaround time” dan “waiting time” untuk membandingkan performansi dengan algoritma lain. Dan untuk mengukur turnaround time dan waiting time, digunakan “Gant Chart” . CPU time (Burst Time) membutuhkan semua proses diasumsikan diketahui. Arrival time untuk setiap proses pada ready queue diasumsikan diketahui. perbedaan antara premtive dan non-premtive adalah sebagai berikut :

          PENJADWALAN PREMPTIVE

Penjadwalan Premptive mempunyai arti kemampuan sistem operasi untuk memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi. Penjadwalan ini bisa saja termasuk penjadwalan proses atau I/O. Penjadwalan Premptive memungkinkan sistem untuk lebih bisa menjamin bahwa setiap proses mendapat sebuah slice waktu operasi. Dan juga membuat sistem lebih cepat merespon terhadap event dari luar (contohnya seperti ada data yang masuk) yang membutuhkan reaksi cepat dari satu atau beberapa proses. Membuat penjadwalan yang Premptive mempunyai keuntungan yaitu sistem lebih responsif daripada sistem yang memakai penjadwalan Non Premptive.
Dalam waktu-waktu tertentu, proses dapat dikelompokkan ke dalam dua kategori: proses yang memiliki Burst M/K yang sangat lama disebut I/O Bound, dan proses yang memiliki Burst CPU yang sangat lama disebut CPU Bound. Terkadang juga suatu sistem mengalami kondisi yang disebut busywait, yaitu saat dimana sistem menunggu request input(seperti disk, keyboard, atau jaringan). Saat busywait tersebut, proses tidak melakukan sesuatu yang produktif, tetapi tetap memakan resource dari CPU. Dengan penjadwalan Premptive, hal tersebut dapat dihindari.
Dengan kata lain, penjadwalan Premptive melibatkan mekanisme interupsi yang menyela proses yang sedang berjalan dan memaksa sistem untuk menentukan proses mana yang akan dieksekusi selanjutnya.
Lama waktu suatu proses diizinkan untuk dieksekusi dalam penjadwalan Premptive disebut time slice/quantum. Penjadwalan berjalan setiap satu satuan time slice untuk memilih proses mana yang akan berjalan selanjutnya. Bila time slice terlalu pendek maka penjadwal akan memakan terlalu banyak waktu proses, tetapi bila time slice terlau lama maka memungkinkan proses untuk tidak dapat merespon terhadap event dari luar secepat yang diharapkan.

PENJADWALAN NON PREEMPTIVE
     Penjadwalan Non Premptive ialah salah satu jenis penjadwalan dimana sistem operasi tidak pernah melakukan context switch dari proses yang sedang berjalan ke proses yang lain. Dengan kata lain, proses yang sedang berjalan tidak bisa di- interupt.
Penjadwalan Non Premptive terjadi ketika proses hanya: 
1. Berjalan dari running state sampai waiting state. 
2. Dihentikan. 
Ini berarti CPU menjaga proses sampai proses itu pindah ke waiting state ataupun dihentikan (proses tidak diganggu). Metode ini digunakan oleh Microsoft Windows 3.1 dan Macintosh. Ini adalah metode yang dapat digunakan untuk platforms hardware tertentu, karena tidak memerlukan perangkat keras khusus (misalnya timer yang digunakan untuk meng interupt pada metode penjadwalan Premptive).

Kriteria yang digunakan pada Penjadwalan CPU
     Algoritma penjadwalan CPU yang berbeda akan memiliki perbedaan properti. Sehingga untuk memilih algoritma ini harus dipertimbangkan dulu properti-properti algoritma tersebut. Ada beberapa kriteria yang digunakan untuk melakukan pembandingan algoritma penjadwalan CPU, antara lain:
1. CPU utilization. Diharapkan agar CPU selalu dalam keadaan sibuk. Utilitas CPU dinyatakan dalam bentuk prosen yaitu 0-100%. Namun dalam kenyataannya hanya berkisar antara 40-90%.
2. Throughput. Adalah banyaknya proses yang selesai dikerjakan dalam satu satuan waktu.
3. Turnaround time. Banyaknya waktu yang diperlukan untuk mengeksekusi proses, dari mulai menunggu untuk meminta tempat di memori utama, menunggu di ready queue, eksekusi oleh CPU, dan mengerjakan I/O.
4. Waiting time. Waktu yang diperlukan oleh suatu proses untuk menunggu di ready queue. Waiting time ini tidak mempengaruhi eksekusi proses dan penggunaan I/O.
5. Response time. Waktu yang dibutuhkan oleh suatu proses dari minta dilayani hingga ada respon pertama yang menanggapi permintaan tersebut.
6. Fairness. Meyakinkan bahwa tiap-tiap proses akan mendapatkan pembagian waktu penggunaan CPU secara terbuka (fair).

Berikut ini adalah cara perhitungan (algoritma) pada masing-masing penjadwalan CPU :

1.) First-Come First-Served Scheduling [ FCFS ]

     Proses yang pertama kali meminta jatah waktu untuk menggunakan CPU akan dilayani terlebih dahulu. Pada skema ini, proses yang meminta CPU pertama kali akan dialokasikan ke CPU pertama kali.  Misalnya terdapat tiga proses yang dapat dengan urutan P1, P2, dan P3 dengan waktu CPU-burst dalam milidetik yang diberikan sebagai berikut :
                                                   Process       Burst Time
                                                        P1                  24
                                                        P2                   3
                                                        P3                   3

Gant Chart dengan penjadwalan FCFS adalah sebagai berikut :
                      
Waktu tunggu untuk P1 adalah 0, P2 adalah 24 dan P3 adalah 27 sehingga rata-rata waktu tunggu adalah (0 + 24 + 27)/3 = 17 milidetik. Sedangkan apabila proses datang dengan urutan P2, P3, dan P1, hasil penjadwalan CPU dapat dilihat pada gant chart berikut :
Waktu tunggu sekarang untuk P1 adalah 6, P2 adalah 0 dan P3 adalah 3 sehingga rata-rata waktu tunggu adalah (6 + 0 + 3)/3 = 3 milidetik. Rata-rata waktu tunggu kasus ini jauh lebih baik dibandingkan dengan kasus sebelumnya. Pada penjadwalan CPU dimungkinkan terjadi Convoy effect apabila proses yang pendek berada pada proses yang panjang. Algoritma FCFS termasuk non-preemptive. karena, sekali CPU dialokasikan pada suatu proses, maka proses tersebut tetap akan memakai CPU sampai proses tersebut melepaskannya, yaitu jika proses tersebut berhenti atau meminta I/O.

2.) Shortest Job First Scheduler (SJF)

Pada Penjadwalan SJF, Proses Yang Memiliki CPU Burst Paling Kecil Dilayani Terlebih Dahulu. SJF Terbagi Menjadi Dua Skema :

1.> SJF Non preemptive, bila CPU diberikan pada proses, maka tidak bisa ditunda sampai CPU burst selesai.
2.> SJF Preemptive, jika proses baru datang dengan panjang CPU burst lebih pendek dari sisa waktu proses yang saat itu sedang dieksekusi, proses ini ditunda dan diganti dengan proses baru. Skema ini disebut dengan Shortest-Remaining-Time-First (SRTF).
     SJF adalah algoritma penjadwalan yang optimal dengan rata-rata waktu tunggu yang minimal. Misalnya terdapat empat proses dengan panjang CPU burst dalam milidetik.

           PROCESS                     ARRIVAL TIME                     BURST TIME
                   P1                                         0.0                                            7
                   P2                                         2.0                                            4
                   P3                                         4.0                                           1
                   P4                                         5.0                                            4 
                 

SJF   NON-PREEMPTIVE

  Dapat dilihat pada GantChart berikut :

                 
     Cara Menganalisa :
- Pertama, Pada Urutan Pertama Masukkan Proses Yang Memiliki Arrival Time Terkecil. Dan Proses Selanjutnya Melihat Burst Time Terkecil
-  Menghitung Rata-Rata, Waktu Tunggu Dikurangi Arrival Time
Diperoleh Waktu tunggu untuk P1 adalah 0, P2 adalah 6, P3 adalah 3 dan P4 adalah 7 sehingga
rata-rata waktu tunggu adalah (0 + 6 + 3 + 7) /4 = 4 milidetik.

SJF   PREEMPTIVE

  Dapat dilihat pada GantChart berikut :
                 
Cara Menganalisa :
-  Pertama, Urutkan Dari Arrival Time Terkecil
- Masukkan Nilai Burst Time Ke Waktu Yang Telah Tersedia (Arrival Time). Misal P1 Memiliki Burst Time "7" Sedangkan P1 Yang Tersedia Harus Membutuhkan 2 Milidetik. Jadi 7 Dikurangi Waktu Yang Dibutuhkan (Bukan Waktu Proses) Jadi P1 Masih Tersisa "5"
-  Karena P4 Tidak Memiliki Waktu Proses Jadi Langsung Diletakkan Di Bagian SISA
-  Letakkan Waktu Yang Yang Tersisa Di Bagian Setelah Waktu Yang Ditentukan.
-  Menghitung Rata-Rata, JIKA PROSES TERJADI LEBIH DARI 1 KALI misal P1 Ada Dua Seperti GantChart Diatas Di Awal Dan Diakhir. Cara Menghitung Adalah Waktu Tunggu Yang Terakhir Dikurangi Waktu Proses Yang Pertama. Jadi 11-2=9    P1=9
 - Jika Proses Hanya Terjadi 1 Kali Maka Cara Menghitungnya Adalah Waktu Tunggu Dikurangi Arrival Time.

SISA

P1 = 5
P2 = 2
P4 = 4
- Urutkan Dari SISA Yang Paling Kecil. Diperoleh P2, P4, P5
     Waktu tunggu untuk P1 adalah 9, P2 adalah 1, P3 adalah 0 dan P4 adalah 2 sehingga rata-rata waktu tunggu adalah (9 + 1 + 0 + 2)/4 = 3 milidetik.

3.) Priority Scheduling

Algoritma SJF adalah suatu kasus khusus dari penjadwalan berprioritas. Tiap-tiap proses dilengkapi dengan nomor prioritas (integer). CPU dialokasikan untuk proses yang memiliki prioritas paling tinggi (nilai integer terkecil biasanya merupakan prioritas terbesar). Jika beberapa proses memiliki prioritas yang sama, maka akan digunakan algoritma FCFS. Penjadwalan berprioritas terdiri dari dua skema yaitu non preemptive dan preemptive. Jika ada proses P1 yang datang pada saat P0 sedang berjalan, maka akan dilihat prioritas P1. Seandainya prioritas P1 lebih besar dibanding dengan prioritas P0, maka pada non-preemptive, algoritma tetap akan menyelesaikan P0 sampai habis CPU burst-nya, dan meletakkan P1 pada posisi head queue. Sedangkan pada preemptive, P0 akan dihentikan dulu, dan CPU ganti dialokasikan untuk P1. Misalnya terdapat lima proses P1, P2, P3, P4 dan P5 yang datang secara berurutan dengan CPU burst dalam milidetik.

                                  Process        Burst Time         Priority
                                      P1                   10                     3
                                      P2                    1                      1
                                      P3                    2                      3
                                      P4                    1                      4
                                      P5                    5                      2

Penjadwalan proses dengan algoritma priority dapat dilihat pada gant chart berikut :
            
Waktu tunggu untuk P1 adalah 6, P2 adalah 0, P3 adalah 16, P4 adalah 18 dan P5 adalah 1 sehingga rata-rata waktu tunggu adalah (6 + 0 +16 + 18 + 1)/5 = 8.2 milidetik.

4.) Round-Robin Scheduling

Konsep dasar dari algoritma ini adalah dengan menggunakan time-sharing. Pada dasarnya algoritma ini sama dengan FCFS, hanya saja bersifat preemptive. Setiap proses mendapatkan waktu CPU yang disebut dengan waktu quantum (quantum time) untuk membatasi waktu proses, biasanya 1-100 milidetik. Setelah waktu habis, proses ditunda dan ditambahkan pada ready queue.
       Jika suatu proses memiliki CPU burst lebih kecil dibandingkan dengan waktu quantum, maka proses tersebut akan melepaskan CPU jika telah selesai bekerja, sehingga CPU dapat segera digunakan oleh proses selanjutnya. Sebaliknya, jika suatu proses memiliki CPU burst yang lebih besar dibandingkan dengan waktu quantum, maka proses tersebut akan dihentikan sementara jika sudah mencapai waktu quantum, dan selanjutnya mengantri kembali pada posisi ekor dari ready queue, CPU kemudian menjalankan proses berikutnya.
       Jika terdapat n proses pada ready queue dan waktu quantum q, maka setiap proses mendapatkan 1/n dari waktu CPU paling banyak q unit waktu pada sekali penjadwalan CPU. Tidak ada proses yang menunggu lebih dari (n-1)q unit waktu. Performansi algoritma round robin dapat dijelaskan sebagai berikut, jika q besar, maka yang digunakan adalah algoritma FIFO, tetapi jika q kecil maka sering terjadi context switch.
       Misalkan ada 3 proses: P1, P2, dan P3 yang meminta pelayanan CPU dengan quantum-time sebesar 4 milidetik. 
Catatan : Quantum Time "4" Berarti Hanya Maksimal 4 Milidetik (Ruang) Yang Akan Di Isi Burst Time nya. Misal Jika Burst Time P1 = 24 Berarti 24 Dikurangi 4 Dikurang 4 Lagi Dan Seterusnya, Sampai Burst Time Tidak Tersisa.

            Process      Burst Time
                P1                 24
                P2                  3
                P3                  3

Penjadwalan proses dengan algoritma round robin dapat dilihat pada gant chart berikut :

                   
Cara Menganalisa :
-  Menghitung Rata-Rata, Jika Proses Terjadi Lebih Dari 1 Kali Maka Berapa Jumlah Proses Tersebut, Itulah Nilai Waktu Tunggu Yang Akan Dihitung Rata-Rata. Misal P1 Terjadi 6 Kali. Jadi P1= 6
       Waktu tunggu untuk P1 adalah 6, P2 adalah 4, dan P3 adalah 7 sehingga rata-rata waktu
tunggu adalah (6 + 4 + 7)/3 = 5.66 milidetik.

Untuk lebih jelasnya bisa lihat video berikut ini :
















New Technology File System (NTFS)

NTFS atau New Technology File System, merupakan sebuah sistem berkas yang dibekalkan oleh Microsoft dalam keluarga sistem operasi Windows NT, yang terdiri dari Windows NT 3.x (NT 3.1, NT 3.50, NT 3.51), Windows NT 4.x (NT 4.0 dengan semua service pack miliknya), Windows NT 5.x (Windows 2000, Windows XP, dan Windows Server 2003), serta Windows NT 6.x (Windows Vista, Windows 7).

Sistem berkas NTFS memiliki sebuah desain yang sederhana tapi memiliki kemampuan yang lebih dibandingkan keluarga sistem berkas FAT. NTFS menawarkan beberapa fitur yang dibutuhkan dalam sebuah lingkungan yang terdistribusi, seperti halnya pengaturan akses (access control) siapa saja yang berhak mengakses sebuah berkas atau direktori, penetapan kuota berapa banyak setiap pengguna dapat menggunakan kapasitas hard disk, fitur enkripsi, serta toleransi terhadap kesalahan (fault tolerance). Fitur-fitur standar sebuah sistem berkas, seperti halnya directory hashing, directory caching, penggunaan atribut direktori, dan atribut berkas tentu saja telah dimiliki oleh NTFS. Bahkan, Microsoft telah menambahkan kemampuan yang hebat ke dalam NTFS agar memiliki kinerja yang tinggi, lebih tinggi daripada sistem berkas yang sebelumnya semacam HPFS atau FAT, khususnya pada ukuran volume yang besar, tetapi juga tetap mempertahankan kemudahan pengoperasiannya. Salah satu keunggulan NTFS dibandingkan dengan sistem berkas lainnya adalah bahwa NTFS bersifat extensible (dapat diperluas) dengan menambahkan sebuah fungsi yang baru di dalam sistem operasi, tanpa harus merombak desain secara keseluruhan (perombakan mungkin dilakukan, tapi tidak secara signifikan).

Beberapa Fitur NTFS

Bagian berikut akan memberikan informasi sedikit mengenai beberapa fitur NTFS:

  • NTFS dapat mengatur kuota volume untuk setiap pengguna (dalam NTFS disebut dengan Disk Quota).
  • NTFS mendukung sistem berkas terenkripsi secara transparan dengan menggunakan jenis beberapa jenis algoritma enkripsi yang umum digunakan.
  • NTFS mendukung kompresi data transparan yang, meskipun tidak memiliki rasio yang besar, dapat digunakan untuk menghemat penggunaan ruangan hard disk. Selain itu, NTFS mendukung pembuatan berkas dengan atribut sparse (berkas yang berisi banyak area kosong di dalam datanya) yang umumnya dibutuhkan oleh aplikasi-aplikasi ilmiah.
  • NTFS mendukung hard link (tautan keras) serta symbolic link (tautan simbolis) seperti halnya sistem berkas dalam sistem operasi keluarga UNIX, meskipun dalam NTFS, implementasinya lebih sederhana. Fitur symbolic link dalam NTFS diimplementasikan dengan menggunakan Reparse Point yang awalnya hanya dapat diterapkan terhadap direktori. Windows Vista mengizinkan penggunaan symbolic link terhadap berkas.
  • NTFS mendukung penamaan berkas dengan metode pengodean Unicode (16-bit UCS2) hingga 255 karakter. Berbeda dengan sistem berkas FAT yang masih menggunakan pengodean ANSI (8-bit ASCII) dan hanya berorientasi pada format 8.3. Penggunaan nama panjang dalam sistem berkas FAT akan menghabiskan lebih dari dua entri direktori. Tabel di bawah ini menyebutkan karakteristik perbandingan antara NTFS dengan sistem berkas FAT32 dan FAT16.
  • NTFS memiliki fitur untuk menampung lebih dari satu buah ruangan data dalam sebuah berkas. Fitur ini disebut dengan alternate data stream.

Tabel Perbandingan Karakteristik NTFS dengan FAT32 dan FAT16

Karakteristik NTFS FAT32 FAT16
Jumlah berkas dalam satu volume 232-1 berkas 228 berkas 228 berkas
Berkas atau subdirektori setiap direktori Tidak terbatas 216-2 berkas atau direktori 216-2 berkas atau direktori
Kompatibilitas dengan sistem operasi DOS Tidak Tidak Ya
Dapat dual-booting dengan Windows 95/98 Tidak Ya (Windows 95 OSR 2.0 ke atas) Ya (Semua versi)
Kompresi data transparan Ya Tidak Tidak
Enkripsi Transparan Ya (versi 3.0 ke atas) Tidak Tidak
Penetapan kuota ruangan untuk tiap pengguna Ya Tidak Tidak
Ukuran berkas maksimum 264 - 1 byte 232 - 1 byte 232 - 1 byte
Ukuran cluster minimum 512 bytes (1 sektor) 512 bytes (1 sektor) 512 bytes (1 sektor)
Ukuran cluster maksimum 64 KB (32 sektor) 64 KB (32 sektor) 64 KB (32 sektor)
Ukuran partisi maksimum 232 cluster 4,177,198 cluster 2 Gigabyte (bisa sampai 4 Gigabyte pada Windows NT)
Jumlah berkas tiap partisi 232 - 1 berkas 228 berkas 216 berkas
Jumlah direktori tiap partisi Tidak Terbatas 216 - 2 direktori 216 - 2 direktori

Versi NTFS

Selama 16 tahun perkembangan Windows NT (1991-2007), NTFS telah beberapa kali mengalami perbaikan fungsi dan fitur. Meskipun terjadi beberapa kali perbaikan fungsi dan fitur, antar setiap versi tersebut masih terdapat kompatibilitas yang sangat dibutuhkan oleh sistem-sistem lama. Berikut ini adalah beberapa versi NTFS:

  • NTFS versi 1.0 merupakan versi yang datang bersama dengan Windows NT 3.1. Versi ini menawarkan fungsi yang sangat dasar, tetapi sudah jauh lebih baik dibandingkan dengan sistem berkas FAT yang saat itu telah digunakan.
  • NTFS versi 1.1 merupakan versi yang datang bersama dengan Windows NT 3.50. Versi ini menambahkan dukungan terhadap pengaturan akses secara diskrit (discretionary access control).
  • NTFS versi 1.2 merupakan versi yang datang bersama dengan Windows NT 4.0. Versi ini menambahkan dukungan terhadap auditing setiap berkas dan juga kompresi transparan.
  • NTFS versi 2.0 tidak dirilis secara umum, karena berbagai kendala yang dialaminya, yang tidak diumumkan oleh Microsoft (Microsoft menggagalkan proyek NTFS versi 2.0, dan langsung menginjak NTFS versi 3.0, mengingat banyaknya fitur yang ditambahkan ke dalam versi 3.0).
  • NTFS versi 3.0 merupakan versi yang datang bersama dengan Windows 2000. Versi ini menawarkan banyak peningkatan dibandingkan dengan versi sebelumnya. Di antaranya adalah penetapan kuota kepada setiap pengguna, Encrypting File System (EFS), sistem keamanan yang dapat diatur dari server pusat, fitur indeksasi terhadap properti dan isi setiap berkas, dan lain-lain. Selain itu, versi 3.0 juga menawarkan dukungan kepada struktur selain MBR (Master Boot Record), yakni GPT (GUID Partition Table) dan LDM (Logical Disk Management).
  • NTFS versi 3.1 merupakan versi yang datang bersama dengan Windows XP Service Pack 1 dan Windows Server 2003. Versi ini menawarkan perbaikan yang minor yang terjadi dalam versi sebelumnya (khususnya di bidang performa), dan juga penggantian algoritma enkripsi yang digunakan oleh EFS dari DESX atau 3DES menjadi AES-256.

Meskipun memiliki keunggulan dibandingkan dengan sistem berkas FAT, desain internal NTFS sebenarnya didasarkan pada struktur disk berbasis Master Boot Record, sama seperti halnya sistem berkas FAT16 atau FAT32. Dengan menggunakan struktur yang didasarkan atas penggunaan MBR untuk mengolah semua berkas yang dapat disimpan di dalam sebuah disk, maka perpindahan atau migrasi dari sistem berkas FAT menuju NTFS pun mudah dilakukan: hanya mengubah beberapa komponen sistem FAT menjadi NTFS saja. Selain itu, struktur MBR merupakan salah satu cara pengalokasian berkas-berkas dalam hard disk yang sangat populer dan paling umum digunakan, karena skema pengalokasian disk dengan MBR digunakan pada platform Intel x86. Ada lima buah program yang dapat digunakan untuk membuat sebuah volume NTFS, yaitu Disk Administrator (pada Windows NT 3.1, Windows NT 3.5 dan Windows NT 3.51, Disk Management snap-in (pada versi keluarga Windows NT 5.x), serta tiga buah utilitas yang berbasis command-line yaitu format.com (pada semua versi Windows NT), utilitas diskpart.exe, dan utilitas convert.exe.

File Allocation Table (FAT)

Sistem berkas FAT atau FAT File System adalah sebuah sistem berkas yang menggunakan struktur tabel alokasi berkas sebagai cara dirinya beroperasi. Untuk penyingkatan, umumnya orang menyebut sistem berkas FAT sebagai FAT saja. Kata FAT sendiri adalah singkatan dari File Allocation Table, yang jika diterjemahkan secara bebas ke dalam Bahasa Indonesia menjadi Tabel Alokasi Berkas. Arsitektur FAT sekarang banyak digunakan secara luas dalam sistem komputer dan kartu-kartu memori yang digunakan dalam kamera digital atau pemutar media portabel.

FAT pertama kali dikembangkan oleh Bill Gates dan Marc McDonald, pada tahun 1976-1977. Sistem berkas ini merupakan sistem berkas utama untuk sistem operasi yang ada saat itu, termasuk di antaranya adalah Digital Research Disk Operating System (DR-DOS), OpenDOS, FreeDOS, MS-DOS, IBM OS/2 (versi 1.1, sebelum berpindah ke sistem HPFS), dan Microsoft Windows (hingga Windows Me). Untuk disket floppy, FAT telah distandardisasikan sebagai ECMA-107 dan ISO/IEC 9293. Standar-standar tersebut hanya mencakup FAT12 dan FAT16 tanpa dukungan nama berkas panjang, karena memang beberapa bagian dalam standar nama file panjang di dalam sistem berkas FAT telah dipatenkan.

Sistem berkas ini digunakan oleh sistem operasi MS-DOS (hanya versi FAT12 dan FAT16), Windows (hampir semua versi Windows; untuk versi FAT yang didukung olehnya lihat pada bagian versi), GNU/Linux, dan masih banyak sistem operasi lainnya yang juga mendukung, termasuk Macintosh Mac OS/X.

Versi

Ada beberapa versi dari sistem berkas FAT, yang dibedakan dari berapa banyak unit alokasi yang didukungya, yakni sebagai berikut:

  • FAT12
  • FAT16
  • FAT32
  • exFAT

FAT12

FAT12 adalah sistem berkas yang menggunakan ukuran unit alokasi yang memiliki batas hingga 12-bit, sehingga hanya dapat menyimpan maksimum hingga 212 unit alokasi saja (4096 buah). Sistem berkas ini adalah sistem berkas asli dari FAT yang pertama kali digunakan dalam sistem operasi MS-DOS.

Karena beberapa sistem operasi Windows menggunakan ukuran unit alokasi sistem berkas yang dibuat berdasarkan ukuran sektor (kelipatan 512 byte, dari 1 sektor hingga 16 sektor), FAT12 memiliki batasan pada kapasitasnya, yakni hingga 32 Megabyte. Karena itulah, FAT12 umumnya hanya digunakan sebagai sistem berkas untuk media penyimpanan floppy disk. Tabel berikut berisi informasi sistem operasi apa saja yang mendukung sistem berkas FAT12.

Sistem operasi Dukungan
MS-DOS Ya (semua versi MS-DOS)
Windows 95 (semua versi) Ya
Windows 98 Ya
Windows Millennium Edition Ya
Windows NT 3.x Ya
Windows NT 4.0 Ya
Windows 2000 Ya
Windows XP Ya
Windows Server 2003 Ya
Windows Vista Ya

FAT16

FAT16 adalah sistem berkas yang menggunakan unit alokasi yang memiliki batas hingga 16-bit, sehingga dapat menyimpan hingga 216 unit alokasi (65536 buah). Sistem berkas ini memiliki batas kapasitas hingga ukuran 4 Gigabyte saja. Ukuran unit alokasi yang digunakan oleh FAT16 bergantung pada kapasitas partisi yang hendak diformat: jika ukuran partisi kurang dari 16 Megabyte, maka Windows akan menggunakan sistem berkas FAT12, dan jika ukuran partisi lebih besar dari 16 Megabyte, maka Windows akan menggunakan sistem berkas FAT16. Tabel berikut berisi informasi sistem operasi apa saja yang mendukung sistem berkas FAT16.

Sistem operasi Dukungan
MS-DOS Ya (versi 4.x ke atas); Tidak (sebelum versi 4.x)
Windows 95 (semua versi) Ya
Windows 98 Ya
Windows Millennium Edition Ya
Windows NT 3.x Ya
Windows NT 4.0 Ya
Windows 2000 Ya
Windows XP Ya
Windows Server 2003 Ya
Windows Vista Ya

VFAT (Virtual FAT)

VFAT adalah sebuah variasi sistem berkas FAT16 yang mendukung nama berkas panjang, hingga 255 karakter. Sistem berkas ini diintegrasikan ke dalam sistem operasi Windows 95 dan Windows NT 3.51. Meskipun mendukung nama berkas panjang, sebenarnya dalam struktur sistem berkas ini tidak ada perubahan yang signifikan. Bahkan nama berkas panjang akan memakai beberapa entri direktori secara sekaligus.

FAT32

FAT32 adalah versi sistem berkas FAT yang paling baru, yang diperkenalkan ketika Microsoft merilis Windows 95 OEM Service Release 2 (Windows 95 OSR2). Tabel sistem operasi Windows yang mendukung sistem berkas FAT32 ini sebagai berikut.

Sistem operasi Dukungan
MS-DOS Tidak
Windows 95 (versi awal) Tidak
Windows 95 OSR2 Ya
Windows 98 Ya (Windows 98 juga memiliki utilitas untuk mengonversi FAT16 ke FAT32)
Windows Millennium Edition Ya
Windows NT 3.x Tidak
Windows NT 4.0 Tidak
(Beberapa perusahaan, seperti Winternals membuat driver FAT32 untuk Windows NT 4.0)
Windows 2000 Ya
(Windows 2000 membatasi kapasitas partisi FAT32 yang dapat dibuat hingga 32768 Megabytes saja)
Windows XP Ya
(Windows XP membatasi kapasitas partisi FAT32 yang dapat dibuat hingga 32768 Megabytes saja)
Windows Server 2003 Ya
(Windows Server 2003 membatasi kapasitas partisi FAT32 yang dapat dibuat hingga 32768 Megabytes saja)
Windows Vista Ya
(Windows Vista membatasi kapasitas partisi FAT32 yang dapat dibuat hingga 32768 Megabytes saja)

Karena menggunakan tabel alokasi berkas yang besar (32-bit), FAT32 secara teoritis mampu mengalamati hingga 232 unit alokasi (4294967296 buah). Meskipun demikian, dalam implementasinya, jumlah unit alokasi yang dapat dialamati oleh FAT32 adalah 228 (268435456 buah). Ukuran unit alokasi maksimum dapat mencapai 32768 byte (64 sektor), sehingga secara teoritis dapat mengalamati 8 terabytes (8192 Gigabytes), meski tidak disarankan. Selain itu, program instalasi beberapa keluarga sistem operasi Windows NT 5.x ke atas hanya mengizinkan pembuatan partisi FAT32 hingga 32 Gigabyte (jika partisi lebih besar dari 32 GB, maka program instalasi Windows hanya menyediakan sistem berkas NTFS). Dalam instalasi sistem operasi Windows NT 5.x ke atas, jika ukuran partisi di mana Windows diinstalasikan kurang dari 2 Gigabyte, program instalasi akan menggunakan sistem berkas FAT16; dan berlaku sebaliknya, jika partisi di mana Windows hendak diinstalasikan lebih dari 2 Gigabyte, program instalasi akan menggunakan sistem berkas FAT32.

Program pengonversi FAT16 menjadi FAT32 dalam sistem operasi Windows 98

FAT32 menggunakan ukuran unit alokasi yang lebih kecil dibandingkan dengan sistem berkas FAT12/FAT16, sehingga FAT32 lebih efisien ketika diaplikasikan pada partisi yang besar (ukurannya lebih besar dari pada 512 Megabyte). Penghematan yang dilakukan oleh FAT32 dibandingkan dengan FAT16/FAT12 kira-kira adalah 20% hingga 27%. Windows 98 memiliki utilitas yang dapat digunakan untuk mengonversi partisi FAT16 menjadi FAT32 tanpa kehilangan data.

Karakteristik dan fitur setiap versi

Berikut ini adalah tabel perbandingan ukuran partisi dan ukuran unit alokasi sistem berkas (default) yang digunakan oleh sistem berkas FAT.

Ukuran partisi FAT12 FAT16 FAT32
0 MB hingga 6 MB 1024 byte (2 sektor) Tidak didukung Tidak didukung
7 MB hingga 16 MB 2048 byte (4 sektor) Tidak didukung Tidak didukung
17 MB hingga 32 MB 4096 byte (8 sektor) 512 byte (1 sektor) Tidak didukung
33 MB hingga 64 MB Tidak didukung 1024 byte (2 sektor) 512 byte (1 sektor)
65 MB hingga 128 MB Tidak didukung 2048 byte (4 sektor) 1024 byte (2 sektor)
129 MB hingga 256 MB Tidak didukung 4096 byte (8 sektor) 2048 byte (4 sektor)
257 MB hingga 512 MB Tidak didukung 8192 byte (16 sektor) 4096 byte (8 sektor)
513 MB hingga 1024 MB Tidak didukung 16384 byte (32 sektor) 4096 byte (8 sektor)
1025 MB hingga 2048 MB Tidak didukung 32768 byte (64 sektor) 4096 byte (8 sektor)
2049 MB hingga 4096 MB Tidak didukung 65536 byte (128 sektor)
Hanya dapat digunakan dalam keluarga Windows NT
4096 byte (8 sektor)
4097 MB hingga 8192 MB Tidak didukung Tidak didukung 4096 byte (8 sektor)
8192 MB hingga 16384 MB Tidak didukung Tidak didukung 8192 byte (16 sektor)
16385 MB hingga 32768 MB Tidak didukung Tidak didukung 16384 byte (32 sektor)
32769 MB - 127.5 GB Tidak didukung Tidak didukung 32768 byte (64 sektor)
127.5 GB - 2 TB Tidak didukung Tidak didukung 65536 (128 sektor)

abel berikut berisi informasi mengenai karakteristik dan fitur sistem berkas FAT

Karakteristik FAT12 FAT16 FAT32
Panjang nama berkas maksimum 8.3 dalam sistem operasi MS-DOS,
hingga 260 karakter dalam sistem operasi Windows 32-bit
8.3 dalam sistem operasi MS-DOS,
hingga 260 karakter dalam sistem operasi Windows 32-bit
Hingga 260 karakter dalam sistem operasi Windows 32-bit,
juga membuat format nama berkas 8.3
Fitur keamanan Tidak ada Tidak ada Tidak ada
Fitur kompresi data Tidak ada Tidak ada Tidak ada
Jumlah unit alokasi tabel alokasi berkas 12-bit (4096 buah) 16-bit (65536 buah), 32-bit (teoritis), 28-bit (praktek)
Jumlah unit alokasi fisik tiap partisi 32680 sektor 65524 buah unit alokasi
(seharusnya 65536 buah, tapi beberapa unit alokasi telah direservasikan)
65527 buah unit alokasi
(seharusnya 65536 buah, tapi beberapa unit alokasi telah direservasikan)
Ukuran unit alokasi maksimum
64 KB (maksimum); 32 KB (disarankan) 64 KB (teoritis); 32 KB (praktek); 16 KB (disarankan)
Kisaran ukuran unit alokasi 512 byte hingga 2048 byte 512 byte hingga 65536 byte 512 byte hingga 65536 byte
Ukuran partisi maksimum 32 MB 2 GB (pada semua sistem operasi); 4 GB (hanya pada keluarga Windows NT) 8 TB (teoritis), 2 TB (implementasi; limitasi ini dikarenakan tabel partisi dalam skema partisi MBR yang digunakan oleh FAT32), 32 GB (Windows NT 5.x ke atas)
Ukuran berkas maksimum
4 GB - 1 byte (232-1 byte) 4 GB - 1 byte (232-1 byte)
Jumlah berkas tiap partisi
65536 berkas 4177920 berkas
Jumlah berkas maksimum dalam direktori akar
512 berkas (Penggunaan nama berkas panjang (nama berkas yang tidak menggunakan format 8.3) dapat mengurangi jumlah ini secara signifikan) 65534 berkas (Penggunaan nama berkas panjang dapat mengurangi jumlah ini secara signifikan)
Saran penggunaan Media penyimpanan kurang dari 16 MB Media penyimpanan dari 16 MB hingga 511 MB Media penyimpanan dari 512 MB hingga 32768 MB. Gunakan NTFS atau sistem berkas lainnya untuk media penyimpanan yang lain.

Tabel Alokasi Berkas

Tabel alokasi berkas atau File Allocation Table merupakan sebuah tabel yang dipelihara di dalam hard disk atau media penyimpanan lainnya oleh sistem operasi yang bertindak sebagai "daftar isi media penyimpanan", yang menunjukan di mana direktori dan berkas disimpan di dalam disk.

Ketika sebuah media penyimpanan diformat dengan menggunakan FAT, sistem berkas ini akan membuat sebuah tabel alokasi berkas yang disimpan pada lokasi yang dekat dengan permulaan media penyimpanan tersebut. Media penyimpanan yang dimaksud adalah media penyimpanan seperti sebuah hard disk, sebuah partisi dalam sebuah hard disk, atau media penyimpanan portabel. Selain membuat satu tabel alokasi berkas, sistem berkas tersebut juga membuat salinan dari sistem berkas tersebut, dan berada pada media penyimpanan yang sama. Jika salah satu salinan mengalami kerusakan, maka sistem berkas akan menggunakan salinan yang lain, dan mengganti tabel yang rusak tersebut dengan salinan yang masih baik (cara kerja ini disebut dengan FAT Mirroring, yang bekerja seperti layaknya RAID 1). Lokasi tabel alokasi berkas ditentukan di dalam sebuah area yang disebut dengan BIOS Parameter Block (BPB) dalam boot sector sebuah media penyimpanan yang menggunakan sistem berkas FAT.

FAT16 akan membuat dua buah tabel alokasi berkas, yang diberi nama FAT1 dan FAT2. Tabel alokasi berkas akan diletakkan pada area tertentu, yakni pada lokasi yang berdekatan dengan boot sector. Tabel alokasi berkas akan berisi informasi-informasi berikut:

  • Unused, yang menandakan bahwa unit alokasi tersebut tidak terpakai
  • In use, yang menandakan bahwa unit alokasi tersebut tidak dapat digunakan karena sedang digunakan oleh sebuah berkas tertentu.
  • Bad, yang menandakan bahwa unit alokasi tersebut tidak dapat digunakan karena mengalami kerusakan.
  • Last cluster, yang menandakan bahwa unit alokasi tersebut merupakan unit alokasi terakhir yang dimiliki oleh sebuah berkas.

Dalam strukturnya, FAT16 membedakan antara direktori akar (root directory) dan direktori lainnya, karena memang desain FAT16 menentukan lokasi direktori akar pada lokasi yang spesifik, dan memiliki batasan jumlah entri yang dapat disimpan (hanya dapat menampung 512 entri).

Direktori akar pada sistem berkas FAT16 terdiri dari sebuah ukuran yang tetap dan diketahui, karena berkas-berkas sistem operasi biasanya langsung diletakkan segera setelah direktori akar tersebut. Lokasi yang diketahui untuk berkas-berkas sistem operasi ini mengizinkan sistem operasi DOS, OS/2, atau Windows NT untuk langsung memulai proses booting sistem operasi. Tetapi, keputusan desain ini juga membatasi jumlah file yang dapat ditampung di dalam sebuah direktori akar dari sebuah volume FAT16.

Entri-entri di dalam direktori akar dan juga sub-direktori tidak diurutkan sehingga proses pencarian terhadap berkas-berkas tertentu dapat memakan waktu yang lama, apalagi jika volume tersebut mengandung banyak berkas dalam sebuah direktori.

Tabel alokasi berkas dan juga direktori akar selalu diletakkan pada awal sebuah volume, atau biasanya terletak pada lokasi track terluar dari sebuah disk. Entri-entri tersebut merupakan entri-entri yang sering sekali dibaca dari sebuah disk, utamanya pada sistem operasi yang mendukung multitasking, yang membutuhkan banyak pergerakan head hard disk yang lamban.

Bagaimana sebuah berkas disimpan dalam volume FAT16

Sistem berkas FAT-16 menggunakan unit alokasi (atau cluster) sebagai unit terkecil bagaimana ia dapat menyimpan berkas. FAT-16 mendukung ukuran cluster dari 1 hingga 128 sektor. Selanjutnya, ada juga entri direktori yang menyediakan ruangan yang cukup untuk menampung berkas dengan nama berkas berformat 8.3 (delapan nama berkas plus tiga nama ekstensi). Entri direktori pada sistem berkas FAT-16 memiliki entri sebesar 32 byte untuk setiap berkas dan subdirektori yang dikandung oleh direktori tersebut. Entri direktori tersebut mengandung field-field berikut.

Field Ukuran dalam bit Ukuran dalam byte
Nama berkas 64 8
Ekstensi berkas 24 3
Atribut berkas 8 1
Ruangan yang dicadangkan untuk berkas 80 10
Stempel waktu berkas 16 2
Stempel tanggal berkas 16 2
Alamat cluster pertama berkas dalam tabel alokasi berkas 16 2
Ukuran berkas terbesar 32 4

Struktur organisasi dalam sistem berkas FAT16 tidaklah terlalu rumit rumit. Berkas-berkas akan diberikan lokasi yang pertama kali ditemukan oleh sistem berkas dalam sebuah partisi. Selanjutnya, sistem berkas akan memberikan nomor terhadap lokasi tersebut, yang disebut dengan cluster number, yang merupakan alamat lokasi cluster di mana berkas dimulai. Setiap cluster berisi penunjuk (pointer) terhadap cluster berikutnya untuk berkas yang sama, atau indikasi bahwa cluster yang bersangkutan merupakan akhir dari rangkaian cluster sebuah berkas yang ditandai dengan bilangan basis 16 (hexadecimal) 0xFFFF (FAT16), atau 0xFFF (FAT12). Sebagai contoh, pada sebuah berkas yang menggunakan 10 buah cluster, berkas tersebut akan memiliki 10 buah entri di dalam tabel alokasi file, dan juga 9 buah tautan terhadap tabel alokasi file tersebut, sedangkan 1 cluster terakhir berisi tanda bahwa ia adalah cluster terakhir, dan berisi bilangan 0xFFFF. Umumnya, struktur sistem berkas seperti ini disebut sebagai struktur linked-list.

exFAT

exFAT (singkatan dari Extended File Allocation Table, atau sering disebut sebagai FAT64) adalah sebuah sistem berkas proprietary yang cocok untuk digunakan oleh media-media penyimpanan berbasis memori flash. Sistem berkas ini pertama kali dibuat oleh Microsoft untuk perangkat-perangkat benam di dalam Windows Embedded CE 6.0 dan Windows Vista Service Pack 1. Diperkenalkan pada bulan November 2006, sistem berkas ini dapat digunakan sebagai alternatif dari sistem berkas NTFS, karena memang NTFS memiliki struktur data yang relatif lebih besar ketimbang exFAT. [sunting] Keunggulan exFAT

Beberapa keunggulan yang ditawarkan oleh exFAT adalah sebagai berikut:

   * Skalabilitas untuk HDD (hard disk drive) berukuran besar.
* Ukuran berkas teoritis maksimal 264 (16 EiB). Sebagai perbandingan, FAT-32 hanya mendukung ukuran berkas maksimal hingga 232 (4 GB).
* Ukuran Cluster yang didukung hingga 2255 Sector, dengan batasan implementasi hingga 32 MB (Megabyte).
* Performa untuk alokasi ruangan kosong dan penghapusan ditingkatkan karena file system ini memperkenalkan implementasi baru, yaitu Free Space Bitmap
* Mendukung lebih dari 216 (65536) berkas di dalam sebuah direktori tunggal.
* Mendukung fitur access control list (ACL), seperti halnya NTFS. Sayangnya, fitur ini belum didukung sepenuhnya di dalam Windows Vista Service Pack 1.
* Mendukung Transaction-Safe FAT File System (sebuah fungsi opsional untuk Windows CE yang diaktifkan).
* Memiliki ruangan tersendiri yang bisa digunakan oleh OEM untuk melakukan kustomisasi terhadap sistem berkas untuk karakteristik perangkat tertentu.
* Timestamp dapat ditampilkan dalam UTC, tidak hanya dalam local time saja.

[sunting] Kelemahan exFAT

Beberapa kelemahan yang dimiliki oleh exFAT, jika dibandingkan dengan file system FAT sebelumnya (FAT12, FAT16, atau FAT32) adalah:

   * Perangkat yang menggunakan file system exFAT tidak bisa menggunakan kemampuan ReadyBoost milik Windows Vista (namun pada Windows 7, Microsoft sudah membuat file system exFAT yang baru dengan dukungan ReadyBoost).
* Status lisensi yang belum jelas. Akan tetapi, Microsoft telah mempatenkan beberapa bagian dari file system FAT.
* Tidak bisa diakses oleh sistem-sistem operasi Windows terdahulu, sebelum Windows Vista Service Pack 1 atau Windows CE 6.0.
* Belum tersedia implementasi dalam proyek open source.

Apa itu Cluster pada Harddisk?

Hard disk atau bisa disebut juga hard drive, fixed disk, HDD, atau cukup hard disk saja, adalah media yang digunakan untuk menyimpan file sistem dan data dalam komputer. Hard disk terdiri atas tiga bagian utama, yaitu:

  1. Piringan magnetik,
  2. Bagian mekanis,
  3. Head untuk membaca data
Piringan tersebut digunakan untuk menyimpan data, sedangkan bagian mekanis bertugas memutar piringan tersebut.
Piringan magnetik disk terdiri dari track dan sector. Track adalah bagian dari disk yang membentuk lingkaran konsentris. Sedangkan sector adalah bagian dari track. Track dan sector ini dibentuk oleh komputer pada saat kita melakukan proses format. 1 (satu) sector = 512 byte. 1 (satu) byte = 8 (delapan) bit. Delapan bit (1 byte) = 1 (satu) karakter/huruf. Jadi 1 sector bisa menampung 512 karakter. Sector-sector tersebut kemudian dikelompokkan ke dalam cluster. Cluster adalah lokasi atau satuan terkecil yang dibutuhkan oleh suatu file. 1 (satu) cluster terdiri dari 2 sector. Jadi 1 cluster = 512 byte (1 sector) x 2 = 1024 byte (1 kilobyte atau biasa disingkat 1 KB). Pada saat kita melihat ukuran suatu file, misalkan sebesar 2 KB, kita tahu persis berapa sector file itu menempati ruang disk. 2 KB = 2 cluster. 2 cluster = 4 sector. Jadi file sebesar 2 KB menempati 4 sector dalam disk.
Pernahkah kalian merasa heran dengan harddisk Anda karena setelah Anda mencoba menghitung sisa kapasitasnya dengan mengurangi kapasitas harddisk dengan jumlah semua ukuran file yang ada di harddisk Anda, ternyata sisa kapasitas harddisk yang ditampilkan di komputer lebih kecil dari hasil penghitungan tadi? Untuk lebih mempermudahnya, kalian bisa coba buka Windows Explorer dan lihat property dari salah satu folder yang ada. Pada baris Size,  Anda akan melihat ada dua macam kapasitas. 

Recover hard drive sectors and clusters


Saturday, May 1, 2010

Kode ASCII

Kode Standar Amerika untuk Pertukaran Informasi atau ASCII (American Standard Code for Information Interchange) merupakan suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat universal, contohnya 124 adalah untuk karakter "|". Ia selalu digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks. Kode ASCII sebenarnya memiliki komposisi bilangan biner sebanyak 8 bit. Dimulai dari 0000 0000 hingga 1111 1111. Total kombinasi yang dihasilkan sebanyak 256, dimulai dari kode 0 hingga 255 dalam sistem bilangan Desimal.

Tabel Karakter ASCII

Tabel berikut berisi karakter-karakter ASCII . Dalam sistem operasi Windows dan MS-DOS, pengguna dapat menggunakan karakter ASCII dengan menekan tombol Alt+[nomor nilai ANSI (desimal)]. Sebagai contoh, tekan kombinasi tombol Alt+87 untuk karakter huruf latin "W" kapital.

Karakter Nilai Unicode
(heksadesimal)
Nilai ANSI ASCII
(desimal)
Keterangan
NUL 0000 0 Null (tidak tampak)
SOH 0001 1 Start of heading (tidak tampak)
STX 0002 2 Start of text (tidak tampak)
ETX 0003 3 End of text (tidak tampak)
EOT 0004 4 End of transmission (tidak tampak)
ENQ 0005 5 Enquiry (tidak tampak)
ACK 0006 6 Acknowledge (tidak tampak)
BEL 0007 7 Bell (tidak tampak)
BS 0008 8 Menghapus satu karakter di belakang kursor (Backspace)
HT 0009 9 Horizontal tabulation
LF 000A 10 Pergantian baris (Line feed)
VT 000B 11 Tabulasi vertikal
FF 000C 12 Pergantian baris (Form feed)
CR 000D 13 Pergantian baris (carriage return)
SO 000E 14 Shift out (tidak tampak)
SI 000F 15 Shift in (tidak tampak)
DLE 0010 16 Data link escape (tidak tampak)
DC1 0011 17 Device control 1 (tidak tampak)
DC2 0012 18 Device control 2 (tidak tampak)
DC3 0013 19 Device control 3 (tidak tampak)
DC4 0014 20 Device control 4 (tidak tampak)
NAK 0015 21 Negative acknowledge (tidak tampak)
SYN 0016 22 Synchronous idle (tidak tampak)
ETB 0017 23 End of transmission block (tidak tampak)
CAN 0018 24 Cancel (tidak tampak)
EM 0019 25 End of medium (tidak tampak)
SUB 001A 26 Substitute (tidak tampak)
ESC 001B 27 Escape (tidak tampak)
FS 001C 28 File separator
GS 001D 29 Group separator
RS 001E 30 Record separator
US 001F 31 Unit separator
SP 0020 32 Spasi
! 0021 33 Tanda seru (exclamation)
" 0022 34 Tanda kutip dua
# 0023 35 Tanda pagar (kres)
$ 0024 36 Tanda mata uang dolar
% 0025 37 Tanda persen
& 0026 38 Karakter ampersand (&)
0027 39 Karakter Apostrof
( 0028 40 Tanda kurung buka
) 0029 41 Tanda kurung tutup
* 002A 42 Karakter asterisk (bintang)
+ 002B 43 Tanda tambah (plus)
, 002C 44 Karakter koma
- 002D 45 Karakter hyphen (strip)
. 002E 46 Tanda titik
/ 002F 47 Garis miring (slash)
0 0030 48 Angka nol
1 0031 49 Angka satu
2 0032 50 Angka dua
3 0033 51 Angka tiga
4 0034 52 Angka empat
5 0035 53 Angka lima
6 0036 54 Angka enam
7 0037 55 Angka tujuh
8 0038 56 Angka delapan
9 0039 57 Angka sembilan
: 003A 58 Tanda titik dua
; 003B 59 Tanda titik koma
< 003C 60 Tanda lebih kecil
= 003D 61 Tanda sama dengan
> 003E 62 Tanda lebih besar
? 003F 63 Tanda tanya
@ 0040 64 A keong (@)
A 0041 65 Huruf latin A kapital
B 0042 66 Huruf latin B kapital
C 0043 67 Huruf latin C kapital
D 0044 68 Huruf latin D kapital
E 0045 69 Huruf latin E kapital
F 0046 70 Huruf latin F kapital
G 0047 71 Huruf latin G kapital
H 0048 72 Huruf latin H kapital
I 0049 73 Huruf latin I kapital
J 004A 74 Huruf latin J kapital
K 004B 75 Huruf latin K kapital
L 004C 76 Huruf latin L kapital
M 004D 77 Huruf latin M kapital
N 004E 78 Huruf latin N kapital
O 004F 79 Huruf latin O kapital
P 0050 80 Huruf latin P kapital
Q 0051 81 Huruf latin Q kapital
R 0052 82 Huruf latin R kapital
S 0053 83 Huruf latin S kapital
T 0054 84 Huruf latin T kapital
U 0055 85 Huruf latin U kapital
V 0056 86 Huruf latin V kapital
W 0057 87 Huruf latin W kapital
X 0058 88 Huruf latin X kapital
Y 0059 89 Huruf latin Y kapital
Z 005A 90 Huruf latin Z kapital
[ 005B 91 Kurung siku kiri
\ 005C 92 Garis miring terbalik (backslash)
] 005D 93 Kurung sikur kanan
^ 005E 94 Tanda pangkat
_ 005F 95 Garis bawah (underscore)
` 0060 96 Tanda petik satu
a 0061 97 Huruf latin a kecil
b 0062 98 Huruf latin b kecil
c 0063 99 Huruf latin c kecil
d 0064 100 Huruf latin d kecil
e 0065 101 Huruf latin e kecil
f 0066 102 Huruf latin f kecil f
g 0067 103 Huruf latin g kecil
h 0068 104 Huruf latin h kecil
i 0069 105 Huruf latin i kecil
j 006A 106 Huruf latin j kecil
k 006B 107 Huruf latin k kecil
l 006C 108 Huruf latin l kecil
m 006D 109 Huruf latin m kecil
n 006E 110 Huruf latin n kecil
o 006F 111 Huruf latin o kecil
p 0070 112 Huruf latin p kecil
q 0071 113 Huruf latin q kecil
r 0072 114 Huruf latin r kecil
s 0073 115 Huruf latin s kecil
t 0074 116 Huruf latin t kecil
u 0075 117 Huruf latin u kecil
v 0076 118 Huruf latin v kecil
w 0077 119 Huruf latin w kecil
x 0078 120 Huruf latin x kecil
y 0079 121 Huruf latin y kecil
z 007A 122 Huruf latin z kecil
{ 007B 123 Kurung kurawal buka
¦ 007C 124 Garis vertikal (pipa)
} 007D 125 Kurung kurawal tutup
~ 007E 126 Karakter gelombang (tilde)
DEL 007F 127 Delete

0080 128 Dicadangkan

0081 129 Dicadangkan

0082 130 Dicadangkan

0083 131 Dicadangkan
IND 0084 132 Index
NEL 0085 133 Next line
SSA 0086 134 Start of selected area
ESA 0087 135 End of selected area

0088 136 Character tabulation set

0089 137 Character tabulation with justification

008A 138 Line tabulation set
PLD 008B 139 Partial line down
PLU 008C 140 Partial line up

008D 141 Reverse line feed
SS2 008E 142 Single shift two
SS3 008F 143 Single shift three
DCS 0090 144 Device control string
PU1 0091 145 Private use one
PU2 0092 146 Private use two
STS 0093 147 Set transmit state
CCH 0094 148 Cancel character
MW 0095 149 Message waiting

0096 150 Start of guarded area

0097 151 End of guarded area

0098 152 Start of string

0099 153 Dicadangkan

009A 154 Single character introducer
CSI 009B 155 Control sequence introducer
ST 009C 156 String terminator
OSC 009D 157 Operating system command
PM 009E 158 Privacy message
APC 009F 158 Application program command

00A0 160 Spasi yang bukan pemisah kata
¡ 00A1 161 Tanda seru terbalik
¢ 00A2 162 Tanda sen (Cent)
£ 00A3 163 Tanda Poundsterling
¤ 00A4 164 Tanda mata uang (Currency)
¥ 00A5 165 Tanda Yen
¦ 00A6 166 Garis tegak putus-putus (broken bar)
§ 00A7 167 Section sign
¨ 00A8 168 Diaeresis
© 00A9 169 Tanda hak cipta (Copyright)
ª 00AA 170 Feminine ordinal indicator
« 00AB 171 Left-pointing double angle quotation mark
¬ 00AC 172 Not sign
­ 00AD 173 Tanda strip (hyphen)
® 00AE 174 Tanda merk terdaftar
¯ 00AF 175 Macron
° 00B0 176 Tanda derajat
± 00B1 177 Tanda kurang lebih (plus-minus)
² 00B2 178 Tanda kuadrat (pangkat dua)
³ 00B3 179 Tanda kubik (pangkat tiga)
´ 00B4 180 Acute accent
µ 00B5 181 Micro sign
00B6 182 Pilcrow sign
· 00B7 183 Middle dot

Mengenal Tabel Kebenaran pada Gerbang logika

Gerbang logika atau gerbang logik adalah suatu entitas dalam elektronika dan matematika Boolean yang mengubah satu atau beberapa masukan logik menjadi sebuah sinyal keluaran logik. Gerbang logika terutama diimplementasikan secara elektronis menggunakan dioda atau transistor, akan tetapi dapat pula dibangun menggunakan susunan komponen-komponen yang memanfaatkan sifat-sifat elektromagnetik (relay), cairan, optik dan bahkan mekanik.

Yang menemukan Gerbang Logika Pertama kali adalah Dean Christiano pada tahun 1782-1879 Gerbang logika atau gerbang logik adalah suatu entitas dalam elektronika dan matematika Boolean yang mengubah satu atau beberapa masukan logik menjadi sebuah sinyal keluaran logik. Gerbang logika terutama diimplementasikan secara elektronis menggunakan diode atau transistor, akan tetapi dapat pula dibangun menggunakan susunan komponen-komponen yang memanfaatkan sifat-sifat elektromagnetik (relay), cairan, optik dan bahkan mekanik.