Sejarah singkat Kriptografi...

Sejarah singkat Kriptografi...
Kriptografi (cryptography) berasal dari bahasa yunani: “ cryptos” yang artinya “secret” (rahasia) dan “graphein” yang artinya “writing” (tulisan). Jadi kriptografi berarti “secret writing” (tulisan rahasia). Ada beberapa defenisi kriptografi yang telah dikemukakan diberbagai literatur antara lain: (Scheneier Bruce, 1996) Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan (Cryptography is the art and science of keeping message secure). (Rinaldi Munir, 2008) Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, serta otentikasi. Kata “seni” didalam definisi diatas berasal dari fakta sejarah bahwa pada masa-masa awal sejarah kriptografi, setiap orang mungkin mempunyai cara yang unik untuk merahasiakan pesan. Cara-cara unik tersebut berbeda-beda pada setiap pelaku kriptografi sehingga setiap cara menulis pesan rahasia, pesan mempunyai nilai estetika tersendiri sehingga kriptografi berkembang menjadi sebuah seni merahasiakan pesan.
Kriptografi mempunyai sejarah yang sangat menarik dan panjang. Kriptografi sudah digunakan lebih dari 4000 tahun yang lalu, diperkenalkan oleh orang-orang mesir lewat hieroglyph. Jenis tulisan ini bukanlah bentuk standard untuk menulis pesan. Dikisahkan pada zaman romawi kuno, pada suatu saat Julius Caesar ingin mengirimkan pesan rahasia kepada seorang jenderal di medan perang. Pesan tersebut harus di kirim melalui seorang kurir. Karena pesan tersebut mengandung rahasia, Julius Caesar tidak ingin pesan rahasia tersebut sampai terbuka di jalan. Julius Caesar kemudian memikirkan bagaimana mengatasinya. Ia kemudian mengacak pesan tersebut hingga menjadi suatu pesan yang tidak dapat dipahami oleh siapapun terkecuali oleh Jenderalnya saja. Tentu Sang Jenderal telah diberi tahu sebelumnya bagaiman cara membaca pesan teracak tersebut. Yang dilakukan Julius Caesar adalah mengganti semua susunan alfabet dari a, b, c yaitu a menjadi b, b menjadi c dan c menjadi d dan seterusnya hingga kalimat tersebut tidak bisa dibaca siapapun.

Dari ilustrasi tersebut, beberapa istilah kriptografi dipergunakan untuk menandai aktivitas-aktivitas rahasia dalam mengirim pesan. Apa yang dilakukan Julius Caesar yang mengacak pesan, disebut sebagai enkripsi. Pada saat Sang Jendral merapikan pesan yang teracak itu, proses itu disebut dekripsi. Pesan awal yang belum di acak dan pesan yang telah dirapikan disebut plaintext, sedangkan pesan yang telah di acak disebut ciphertext.

Cloud Computing...

Apa itu Cloud Computing ?
Cloud Computing, suda ada yang pernah dengar ? kalau anda belum pernah mendengarnya, wajar saja karena Cloud Computing ini merupakan sesuatu hal yang baru dan istilah yang banyak digunakan oleh industri IT.
Definisi Cloud Computing
Cloud adalah awan, Computing adalah komputer. Jika diartikan Cloud Computing adalah Komputer awan. Jadi, Cloud Computing adalah gabungan dari pemanfaatan teknologi (komputasi) dan pengembangan berbasis internet (awan). Cloud Computing merupakan sebuah metode komputasi dimana kemampuan TI disediakan sebagai layanan berbasis internet.
Artinya, pengguna Cloud Computing dapat terhubung dengan data dan program yang mereka miliki asal jaringan terkoneksi dengan internet.
Contoh sederhana tentang Cloud Computing itu sendiri. Kita bisa bayangkan Cloud Computing itu seperti sebuah jaringan listrik. Jika kita butuh listrik, kita tidak harus punya pembangkit listrik. Kita hanya perlu menghubungi penyedia layanan listrik, yaitu PLN untuk menyambungkan rumah kita dengan jaringan listrik dan kita tinggal menikmatinya. Dan pembayaran dikakukan sesuai dengan besaran pemakaian kita.
Listrik bisa seperti itu, kenapa layanan komputasi tidak bisa ? contohnya, jika sebuah perusahaan membutuhkan aplikasi CRM (Costumer Relationshhip Management).
Nah, disinilah Cloud Computing itu berperan. Dalam contoh di atas, perusahaan Microsoft telah menyediakan aplikasi CRM yang dapat langsung digunakan oleh perusahaan yang membutuhkan tadi. Perusahaan yang membutuhkan itu tinggal menghubungi perusahaan Microsoft untuk menyambungkan perusahaannya dengan aplikasi CRM dan tinggal memakainya. Dan pembayaran dilakukan perbulan, per semester. Jadi, perusahaan yang membutuhkan aplikasi CRM tadi, tidak perlu melakukan investasi awal untuk pembelian hardware server dan tenaga IT. Itulah salah satu mabfaat dari Cloud Computing yang dapat menghemat anggaran suatu perusahaan.
Cloud Computing mempunyai 3 tingkatan layanan yang diberikan kepada pengguna, yaitu :
  1. Infrastructure as service, hal ini meliputi Grid untuk virtualized server, storage & network. Contohnya bseperti Amazon Elastic Cloud dan Simple Storage Service. 
  2. Platform as a service, hal ini menfokuskan pada aplikasi dimana dalam hal ini seorang developer tidak perlu memikirkan hardware dan tetap focus pada pembuatan aplikasi tanpa harus mengkhawatirkan sistem operasi, infrastructure scalling, load balancing dan lain-lain. Contohnya adalah yang sudah mengimplementasikan ini adalah Force.com dan Microsoft Azure Investment. 
  3. Software as a service, hal ini menfokuskan pada aplikasi dengan Web-based interface yang diakses melalui Web Service dan Web 2.0. Contohnya adalah Google Apps, SalesForce.com dan aplikasi jejaring social seperti Facebook.
Bisa dipastikan ke depannya Cloud Computing ini akan menjadi trend, standar teknologi akan lebih sederhana karena ketersediaan dari layanan cloud.
Perbedaan Colud Computing dengan Tradisional Histing ?
Mungkin bedakan dulu Cloud Computing dan Cloud services ya ?
Kalau cloud computing, lebih ke arah penggunaan berbagai teknologi terutama virtualisasi untuk stalabilitas aplikasi.
Sedangkan cloud services adalah hosting aplikasi kita dengan berbasiskan cloud computing. Jadi sama dengan hosting juga, Tapi kalau dikaitkan dengan tradisional hosting seperti shared hosting (satu server dipake rame-rame) ataupun dedicated hosting yang biasa ditawarkan tentu jauh beda.
Cloud services sendiri beda-beda, ada yang menyediakan virtualisasi dari sisi kebutuhan resources secara tersendiri mulai dari CPU /computing resource & memori, storage tersendiri, relasional db tersendiri seperti Amazon Web Services namun konfigurasi load balancer harus kita lakukan sendiri. 
Ada yang menyediakan keseluruhan services tersebut dalam satu kesatuan tinggal kita dapat dari sisi programming aplikasi, seperti Google AppEngine sehingga mengklaim dirinya sendiri Platform As A Service (PAAS).
Kelebihan Cloud Computing
  1. Menghemat biaya investasi awal untuk pembelian sumber daya. 
  2. Bisa menghemat waktu sehingga perusahaan bisa langsung focus ke profit dan berkembang dengan cepat. 
  3. Membuat operasional dan manajemen lebih mudah karena sistem pribadi/perusahaan yang tersambung dalam satu cloud dapat dimonitor dan diatur dengan mudah. 
  4. Menjadikan kolaborasi yang terpercaya dan lebih ramping. 
  5. Menghemat biaya operasional pada saat reabilitas ingin ditingkatkan dan kritikal sistem informasi yang dibangun.
Kekurangan Cloud Computing
Komputer akan menjadi lambat atau tidak bisa dipakai sama sekali jika internet bermasalah atau kelebihan beban. Dan juga perusahaan yang menyewa layanan dari cloud computing tidak punya tidak punya akses langsung ke sumber daya. Jadi, semua tergantung dari kondisi vendor/penyedia layanan cloud computing. Jika server vendor rusak atau punya layanan backup yang buruk, maka perusahaan akan mengalami kerugian besar.
 
Semoga Bermanfaat...
 
>> untuk memenuhi tugas Arsitek dan Organisasi Komputer... ^_^

Multi Tasking, Multi User, Single Tasking, Single User (Operating System)


Sistem Operasi merupakan program utama yang menghubungkan Software Aplikasi yang digunakan oleh user dengan hardware.
Pengertian sistem operasi secara umum ialah pengelola seluruh sumber-daya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (system calls) yang sering disebut “tools atau utility” berupa aplikasi kepemakai sehingga memudahkan dan menyamankan penggunaan ketika memanfaatan sumber-daya sistem komputer tersebut.
Sistem operasi dapat dibedakan berdasarkan jumlah pengguna dan program yang dapat dijalankan, juga berdasarkan jenis software, atau jenis hardware yang digunakan.
Berdasarkan jumlah pengguna dan program yang dijalankan, sistem operasi dapat dikategorikan dengan:
1.         Single User – Single Tasking :
Satu komputer hanya bisa digunakan oleh satu user dan hanya bisa menjalankan satu program di satu waktu, contohnya: DOS (Disk Operating System).
2.         Multi User – Single Tasking :
Satu komputer dapat digunakan oleh banyak user namun tiap user hanya bisa menjalankan 1 program (aplikasi) di satu waktu, contohnya: Novell Netware yang menjalankan SO Network berbasis DR-DOS.
3.         Single User – Multi Tasking :
Satu komputer dipakai oleh satu user dan dapat menjalankan banyak program disatu waktu, contohnya: Windows, MacOS, BeOS, JDS, dll.
4.         Multi User – Multi Tasking :
Satu komputer dipakai bersamaan oleh banyak user yang dapat menjalankan banyak program di satu waktu, contohnya: Unix, Linux, FreeBSD (SO turunan Unix) atau Windows dengan aplikasi Citrix Metaframe, dll.

Pengertian
a.      Multitasking
Mengirim email sambil berbicara di telepon adalah contoh multitasking. Ketika Anda melakukan beberapa tugas pada satu waktu, Anda mungkin merasa lebih efektif dan produktif. Namun, sebaliknya adalah benar, menurut sebuah artikel Bisnis Ulasan Harvard. Sementara multitasking, efisiensi berkurang sebanyak 40 persen. Hal ini karena otak membutuhkan waktu - hingga 15 menit - untuk kembali fokus pada tugas setelah gangguan. Today melaporkan psikologi bahwa apa yang orang anggap sebagai multitasking lebih baik digambarkan sebagai "seri tasking," karena Anda benar-benar berubah dengan cepat dari satu tugas yang lain.
Multitasking adalah istilah teknologi informasi dalam bahsa inggris yang mengacu kepada sebuah metode dimana banyak pekerjaan atau dikenal juga sebagai proses diolah dengan menggunakan sumber daya CPU yang sama.
Multitasking juga di sebut Sistem Time Sharing yang sering kita kenal. Sistem Time Sharing atau Multitasking adalah pengembangan dari sistem multiprogram. Beberapa job yang berada pada memory utama dieksekusi oleh CPU secara bergantian. CPU hanya bisa menjalankan program yang berada pada memory utama. Perpindahan antar job terjadi sangat sering sehingga user dapat berinteraksi dengan setiap program pada saat dijalankan. Suatu job akan dipindahkan dari memori ke disk dan sebaliknya. Sistem Time Sharing juga disebut dengan sistem komputasi interaktif, dimana sistem komputer menyediakan komunikasi on-line antara user dengan sistem.
b.      Singletasking
Single-tasking mengacu berfokus pada satu hal sampai selesai. Misalnya, jika Anda menanggapi email, Anda menghalangi waktu untuk berkonsentrasi pada tugas itu saja. Single-tasking bisa tampak tidak efisien jika Anda terbiasa untuk menyulap beberapa tugas. Namun, peningkatan fokus diperlukan untuk single-tugas dapat menyebabkan Anda menyelesaikan tugas lebih cepat dari yang Anda lakukan jika Anda multitasked, menurut Psychology Today "The Power of Prime."
c.       Multiuser
Sistem Multiuser adalah suatu sistem dimana lebih dari satu user menggunakan secara bersama satu atau lebih perangkat keras, piranti lunak dan data atau informasi, orang dan prosedur melalui masing-masing komputer atau workstation.
d.      Singleuser
Apakah yang dimaksud dengan Sistem Operasi Single-User ? Merupakan pemandangan yang biasa ketika Anda duduk di depan sistem komputer dan mengerjakan sesuatu, seperti menulis surat misalnya, pada contoh tersebut hanya ada satu keyboard dan satu monitor yang berinteraksi dengan Anda. Sistem operasi seperti windows 98, windows me, windows xp, windows vista, windows 7 pada dasarkan adalah sistem operasi single user. Sistem operasi yang hanya menyediakan akses layanan terhadap sistem komputer kepada satu user saja pada satu saat. Jika terdapat user lain yang ingin mengakses sistem komputer yang sedang menggunakan komputer tersebut telah selesai menggunakan komputer.


 Semoga bermanfaat...., ^_^

Security


          Keamanan komputer  adalah suatu cabang teknologi yang dikenal dengan nama keamanan informasi yang diterapkan pada komputer. Sasaran keamanan komputer antara lain adalah sebagai perlindungan informasi terhadap pencurian atau korupsi, atau pemeliharaan ketersediaan, seperti dijabarkan dalam kebijakan keamanan.
Menurut Garfinkel dan Spafford, ahli dalam computer security, komputer dikatakan aman jika bisa diandalkan dan perangkat lunaknya bekerja sesuai dengan yang diharapkan. Keamanan komputer memiliki 5 tujuan, yaitu:

Virtual File System ( VFS )


VIRTUAL FILE SYSTEM

Sistem operasi modern harus mampu mengimplementasikan berbagai sistem berkas dengan tipe yang berbeda dalam waktu yang bersamaan. Salah satu teknik yang digunakan sebagai solusinya adalah dengan menggunakan virtual file system (VFS). VFS saat ini banyak digunakan oleh berbagai sistem operasi. Ide dari VFS adalah meletakkan informasi di kernel untuk merepresentasikan keseluruhan tipe sistem berkas, dan juga terdapat sebuah fungsi untuk setiap operasi yang dimiliki sistem berkas. Sehingga, untuk setiap system call seperti fungsi read(), write(), open(), dan lainnya, kernel akan mensubstitusikannya menjadi actual function yang dimiliki oleh setiap sitem berkas dengan berbagai tipe.
VFS menggunakan konsep object oriented dalam mengimplementasikan sistem berkas. Di dalam VFS terdapat sebuah berkas yang merepresentasikan seluruh tipe sistem berkas yang ada, berkas ini dinamakan common file model. Berkas inilah yang menggunakan konsep object oriented, yang di dalamnya terdapat struktur data dan method yang diimplementasikan.
Terdapat empat objek di dalam common file model, diantaranya :
1.     Superblock object Objek ini menyimpan informasi tentang mounted file system atau sistem berkas secara keseluruhan.
2.        Inode object Objek ini menyimpan informasi umum tentang file tertentu (individual file).
3.        File object Objek ini menyimpan informasi tentang file yang sedang dibuka.
4.      Dentry object Objek ini menyimpan informasi tentang link-link dari sebuah entry directory file.

Struktur data dan method yang diimplementasikan, digunakan untuk menyembunyikan implementasi detail dari actual function pada sistem berkas dengan system call yang mengaksesnya. Oleh karena itu, dalam mengimplementasikan sistem berkas, terdapat tiga layer utama, seperti pada Gambar 16.5. Virtual File System Layer.
Gambar 0.1 : Virtual File System Layer

Lapisan yang pertama adalah file system interface. Contohnya adalah beberapa system call seperti read(), write(), open() dan lainnya. System call ini tidak berhubungan langsung dengan sistem, namun terhubung melalui sebuah lapisan abstrak yaitu virtual file system.
Lapisan yang Kedua adalah VFS Interface. Virtual file system memiliki dua fungsi penting, yaitu:
1. Memisahkan operasi-operasi file system generic dari implementasi detailnya, dengan cara mendefinisikan virtual file system interface.
2.   Virtual file system interface didasarkan pada struktur representasi berkas yang disebut vnode, yang memiliki numerical designator yang unik untuk setiap network file.

Lapisan yang ketiga adalah sistem berkas dengan berbagai tipe. Secara umum, terdapat tiga macam tipe sistem berkas, yaitu:
1.         Disk-based file system Sistem berkas ini mengatur ruang memori yang tersedia di dalam partisi disk lokal. Misalnya, Ext2 (Second Extended file system), Ext3 (Third Extended file system), dan Reiser file system yang tedapat di Linux.
2.         Network file system Sistem berkas ini terdapat di network, misalnya NFS.
3.     Special file system.  Sistem berkas ini tidak terdapat di disk space, baik lokal maupun network, misalnya /proc file system.

A.            Pengertian Virtual File System
Suatu lapisan abstrak di atas sistem berkas yang sesungguhnya, yang menangani semua system call yang berhubungan dengan suatu sistem berkas di bawahnya. Tujuan dari VFS yaitu agar berbagai sistem berkas yang berbeda dapat di akses oleh aplikasi komputer dengan cara yang seragam. Virtual File System menyediakan antarmuka antara system call dengan sistem berkas yang sesungguhnya. Keberadaan VFS tentu dapat mengatasi perbedaan berbagai sistem berkas yang digunakan oleh berbagai sistem operasi saat ini seperti Windows, Mac OS, Linux, dan sebagainya, sehingga suatu aplikasi dapat mengakses berkas dari sistem berkas yang berbeda tanpa perlu mengetahui jenis sistem berkas yang digunakan dan detil implementasi dari masing-masing sistem berkas tersebut.
Tujuan dari VFS yaitu agar berbagai sistem berkas yang berbeda dapat di akses oleh aplikasi komputer dengan cara yang seragam.
Setiap berkas, directory, dan data lainnya pada VFS direpresentasikan oleh satu dan hanya satu VFS inode. VFS inode hanya terdapat di memori kernel dan disimpan di inode chace selama masih dibutuhkan oleh sistem. Beberapa informasi yang disimpan oleh VFS inode yaitu:
Ø  Device : Menunjukan device identifier dari suatu device yang menyimpan berkas, ataupun directory.
Ø  Inode Number : Merupakan nomor inode yang unik dalam sistem berkas.
Ø  Mode : Menggambarkan apa yang direpresentasikan oleh VFS inode.
Ø  User ID : Merupakan identifier bagi pemilik berkas.
Ø  Time : Menunjukkan kapan pembuatan, modifikasi, dan penulisan suatu berkas.
Ø  Blocksize : Menunjukkan ukuran dari block yang digunakan oleh berkas.
Ø  Inode Operations: Merupakan pointer ke suatu routine yang melakukan berbagai operasi pada inode.
Ø  Count : Menunjukkan berapa kali suatu sistem telah menggunakan suatu inode.
Ø  Lock : Digunakan untuk mengunci VFS inode.
Ø  Dirty : Mengindikasikan bahwa telah terjadi penulisan pada VFS inode, sehingga perubahan yang terjadi juga harus dituliskan ke sistem berkas yang sesungguhnya.
Ø  File System Specific Information : Menunjukkan informasi khusus yang dibutuhkan oleh suatu inode.

Superblock : Setiap sistem berkas yang di-mount akan direpresentasikan oleh sebuah VFS Superblock. Superblock digunakan untuk menyimpan informasi mengenai partisi tersebut. Pada dasarnya superblock merupakan suatu struktur data yang menyimpan beberapa informasi sebagai berikut:
Ø  Device : Merupakan suatu device identifier, contohnya /dev/hda1 adalah harddisk pertama yang terdapat pada sistem memiliki device identifier 0×300.
Ø  Inode Pointer : Merupakan suatu pointer yang menunjuk ke inode pertama pada sistem berkas.
Ø  Blocksize : Menunjukkan ukuran suatu block dari sistem berkas, contohnya 1024 bytes.
Ø  Superblock Operation : Merupakan suatu pointer ke sekumpulan superblock routine (fungsi) dari sistem berkas, contohnya read, write, dan sebagainya.
Ø  File System type : Menunjukkan tipe dari sistem berkas, contohnya EXT2, FAT, NTFS.
Ø  File System Specific : Merupakan suatu pointer ke informasi yang dibutuhkan oleh sistem berkas.

B.             STRUKTUR SISTEM FILE
File adalah unit penyimpan logika yang berisi sekumpulan informasi yang berhubungan. Sistem file berada pada penyimpan sekunder (disk). Sistem file diorganisasi ke dalam layer-layer seperti Gambar 1.1.
Gambar 1.1 : Layer System File

Pada level terendah, I/O control berisi device driver dan interrupt handler untuk mengirim informasi antara memori dan sistem disk. Basic file system berisi perintah bagi device driver untuk membaca dan menulis blok fisik pada disk. File organization module berisi modul untuk mengetahui blok logika pada blok fisik. Logical file system menggunakan struktur direktori untuk memberikan ke file organization module informasi tentang kebutuhan terakhir.
Informasi mengenai sebuah file disimpan pada struktur penyimpan yang disebut file control block seperti Gambar 1.2. 

Gambar 1.2 : File Control Block

Gambar 1.3 mengilustrasikan pentingnya struktur sistem file disediakan oleh sistem operasi. Pada saat membuka file (dengan menjalankan perintah open) blok-blok dari struktur direktori disimpan pada struktur direktori di memori dan mengubah file control block. Pada saat membaca file (dengan menjalankan perintah read), indeks yang dibaca di cari lokasi blok pada disk melalui tabel open file yang berada di memori.

 
Gambar 1.3 : (a) membuka File, (b) Membaca file

Virtual File Systems (VFS) merupakan implementasi sistem file yang berorientasi obyek. VFS memungkinkan antarmuka system call (API) yang sama digunakan untuk sistem file yang berbeda. API adalah lebih sebagai antarmuka VFS dan bukan untuk tipe sistem file tertentu. Skema VFS dapat dilihat pada Gambar 1.4

 
Gambar 1.4 : Skema Virtual File System

C.             IMPLEMENTASI DIREKTORI
Implementasi direktori menggunakan daftar nama file linier dengan pointer ke blok data. Hal ini berdampak pada pemrograman yang mudah tetapi memerlukan waktu yang lama untuk eksekusi.
Untuk mempercepat waktu eksekusi digunakan Tabel Hash berupa daftar linier dengan struktur data hash. Dengan struktur data hash akan mengurangi waktu pencarian direktori. Tetapi struktur hash mempunyai resiko bertabrakan apabila terjadi situasi dimana dua nama file hash yang berbeda berada pada lokasi yang sama. Struktur hash berukuran tetap.

D.            METODE ALOKASI
Metode alokasi berhubungan dengan bagaimana blok-blok pada disk dialokasikan untuk file. Terdapat beberapa metode alokasi antara lain alokasi berurutan (contiguous allocation), alokasi berhubungan (linked allocation) dan alokasi berindeks (indexed allocation).
1)             Alokasi Berurutan (Contiguous Allocation)
Pada alokasi berurutan, setiap file menempati sekumpulan blok yang berurutan pada disk (Gambar 1.5). Model ini sangat sederhana karena hanya membutuhkan lokasi awal (block #) dan panjang (jumlah blok). Akses pada blok disk dilakukan secara random dan memakan banyak ruang (permasalahan dynamic storage-allocation). File yang disimpan secara berurutan tidak dapat berkembang. 

 
Gambar 1.5 : Alokasi Berurutan

Beberapa sistem file yang baru (misalnya Veritas File System) menggunakan skema alokasi berurutan yang dimodifikasi. File sistem Extent-based mengalokasikan blok pada disk secara berkembang (extent). Extent adalah blok berurutan pada disk. Extent dialokasikan untuk alokasi file. Sebuah file terdiri dari satu atau lebih extent.

2)             Alokasi Berhubungan (Linked Allocation)
Pada alokasi berhubungan, setiap file adalah sebuah linked list dari blok-blok terpisah pada disk (Gambar 1.6). Pada setiap blok terdapat satu pointer yang menunjuk ke blok lain
block = pointer

 
Gambar 1.6 : Alokasi Berhubungan

Alokasi berhubungan mempunyai bentuk yang sederhana, hanya memerlukan alamat awal. Sistem manajemen ruang bebas pada alokasi berhubungan tidak memakan banyak ruang. Model ini tidak menggunakan random access. Blok yang diakses adalah blok ke-Q pada rantai link dari blok pada file. Perpindahan ke blok = R + 1. Contoh sistem file yang menggunakan alokasi berhubungan adalah file-allocation table (FAT) yang digunakan MS-DOS dan OS/2. Bentuk file allocation tabel dapat dilihat pada Gambar 1.7.
 
 
Gambar 1.7 : File Allocation Table

3)             Alokasi Berindeks (Indexed Allocation)
Pada alokasi berindeks, terdapat satu blok yang berisi pointer ke blok-blok file (Gambar 1.8). Alokasi berindeks berupa bentuk logika.

 
Gambar 1.8 : Alokasi Berindeks

Pada alokasi berindeks, memerlukan tabel indeks yang membawa pointer ke blok-blok file yang lain. Akses dilakukan secara random. Merupakan akses dinamis tanpa fragmentasi eksternal, tetapi mempunyai blok indeks yang berlebih. Pemetaan dari logika ke fisik dalam file ukuran maksimum 256K word dan ukuran blok 512 word hanya memerlukan 1 blok untuk tabel indeks.
Apabila pemetaan dari logika ke fisik dalam sebuah file dari ukuran tak hingga (ukuran blok adalah 512 word) maka digunakan skema menghubungkan blok link dari tabel indeks (ukuran tak terbatas). Untuk ukuran file maksimum 5123 digunakan skema two-level indeks (Gambar 1.9). Pada skema two-level indeks terdapat tabel indeks luar dan dalam. Indeks dipetakan ke tabel indeks luar kemudian dipetakan ke table indeks dalam setelah itu mengakses blok file yang dimaksud. Sistem operasi UNIX mengimplementasikan kombinasi alokasi berurutan dan alokasi berindeks seperti pada Gambar 1.10.

 
Gambar 1.9 : Skema two level indeks


 
Gambar 1.10 : Alokasi pada UNIX

E.             MANAJEMEN RUANG BEBAS
Daftar ruang bebas biasanya diimplementasikan sebagai bit map atai bit vector (vektor bit). Setiap blok direpresentasikan dengan 1 bit. Jika blok bebas, maka bit bernilai 1, sebaliknya jika blok dialokasikan, bit bernilai 0. Sebagai contoh, misalnya disk dengan blok 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 17, 18, 25, 26 dan 27 bebas dan sisanya dialokasikan. Maka bit map dari ruang bebas adalah :
001111001111110001100000011100000…
Perhitungan nomor blok yang bebas adalah sebagai berikut :
(jumlah bit per word) * (jumlah nilai-0 word) + offset dari bit 1 pertama Pemetaan bit biasanya membutuhkan ruang tambahan, misalnya ukuran blok = 212 byte, ukuran disk = 230 byte (1 gigabyte) maka
n = 230/212 = 218 bit (atau 32K byte)
Dengan menggunakan vector bit mudah untuk mendapatkan file yang berurutan. Pengembangan dari vector bit adalah dengan menggunakan linked list (free list) seperti Gambar 1.11. Akan tetapi model ini tidak mendapatkan ruang berurutan dengan mudah meskipun tidak memakan tempat. Modifikasi berikutnya melakukan pengelompokan blok yang bebas agar lebih mudah untuk mendapakan ruang yang berurutan.

F.              EFISIENSI DAN PERFORMANSI
Efisiensi penggunaan ruang disk tergantung pada alokasi disk dan algoritma directori serta tipe data disimpan pada entry direktory dari file. Untuk meningkatkan performansi penggunaan ruang disk digunakan disk cache yang digunakan pada bagian terpisah dari main memory untuk penggunaan blok yang sering. Selain itu juga menggunakan teknik untuk optimasi akses berurutan yang disebut free-behind dan read-ahead. – teknik untuk optimasi akses berurutan. Untuk meningkatkan performansi PC juga dapat menggunakan bagian tertentu dari memory sebagai virtual disk atau RAM disk.

 
Gambar 1.11 : Menghubungkan daftar ruang bebas pada disk

G.            PERBAIKAN
Untuk memperbaiki sistem file dilakukan dengan memeriksa konsistensi dengan cara membandingkan data pada struktur direktori dengan blok data pada disk dan mencoba memperbaiki inkonsistensi. Selain itu juga dapat menggunakan program sistem untuk back up data dari disk ke penyimpan lain (floppy disk, magnetic tape). Perbaikan akan Recover menghilangkan file atau disk dengan restoring data dari backup.

H.            SISTEM FILE LOG STRUCTURED
Sistem file Log structured (atau journaling) menyhimpan semua update ke file sistem sebagai transaksi. Semua transaksi ditulis ke log. Sebuah transaksi dijadikan committed jika ditulis ke log. Tetapi, kemngkinan sistem file tidak diupdate.
Transaksi pada log ditulis secara tidak beraturan ke sistem file. Jika sistem file dimodifikasi, transaksi dihapus dari log. Jika file bertabrakan, semua transaksi yang tersisa pada log harus dibentuk.

I.               SUN NETWORK FILE SYSTEM (NFS)
Network File System adalah implementasi dan spesifikasi dari sistem perangkat lunak untuk mengakses remote files melalui LAN (atau WAN). NFS merupakan bagian dari Solaris and SunOS yang berjalan pada Sun workstations menggunakan unreliable datagram protocol (UDP/IP) protocol dan Ethernet.
Workstation yang saling berhubungan dipandang sebagai mesin independent dengan file sistem yang independent, memungkinkan sharing diantara sistem file secara transparent. Directory remote di-mount ke directory sistem file lokal. Mounted directory terlihat sebagai subtree dari sistem file lokal, mengubah subtree secara descending dari directory lokal. Spesifikasi dari remote directory untuk operasi mount tidak transparant; host name dari remote directory harus disediakan. File pada remote directory dapat diakses secara transparant. Subyek ke akreditasi akses yang benar, sembarang sistem file (atau directory dalam sistem file), dapat di-mount secara remote ke top dari sembaran directory lokal.
NFS didesain untuk operasi pada lingkungan heterogen dari mesin, SO dan arsitektur network yang berbeda; spesifikasi NFS tidak tergantung dari media tersebut. Ketidak tergantungan dilakukan melalui penggunaan RPC pada bagian tertinggi dari protokol External Data Representation (XDR) yang digunakan antara 2 antarmuka independent. Spesifikasi NFS berbeda antara layanan tersedian dengan mekanisme mount dan layanan akses file remote actual.
Misalnya terdapat tiga file sistem yang independent seperti Gambar 1.12. Kemudian dilakukan mount dengan NFS maka file sistem hasil seperti Gambar 1.13. 

 
Gambar 1.12 : Tiga system file yang independen

 
Gambar 1.13 : Mounting pada NFS