Hai teman-teman udah lama saya ngga posting nih,, mau berbagi dikit aja.. dikiiiit banget tentang android :)
Sejujurnya sedang (*galau) mau beli hape android tapi bingung mau hape apaan ya
kan android ada banyak macem, hemm ndak tau deh entah mau android yang pegimana ada yang rasa yoghurt, yang RotiJahe sama Es krim,, hemm.. (lah kok malah jadi ngaco)
ya intinya gitu deh.. phew yaudah deh untung punya emulator jadi bisa ngerasain punya android deh :) hoooraaayyy :D
My Education Video Happy watch :)
Rabu, 28 Desember 2011
Senin, 14 November 2011
Prinsip Bahasa Pemrograman
Halo teman-teman apa kabar nih, waw akhirnya saya bisa menyempatkan diri lagi untuk memposting sesuatu di blog saya ini,, nah kali ini saya akan membahas mengenai apa itu prinsip bahasa pemrograman. Nah bagi teman-teman yang ingin mendalami bidang IT, entah itu dibidang website, database, development, khususnya dibidang programming, teman-teman setidaknya harus tahu apa itu bahasa pemrograman di dalam komputer. Untuk bahasa pemrograman komputer itu sendiri.
Pemrograman dapat diklasifikasikan sebagai berikut [Rechenberg]:
1. Berorientasi prosedur (procedural oriented)
2. Berorientasi fungsi (functional oriented)
3. Berorientasi logik (logic oriented)
4. Berorientasi obyek (object oriented)
Masing-masing memiliki kelebihan tersendiri. Kadangkala dalam membangun suatu aplikasi dibutuhkan gabungan metode pemrograman tersebut. Misalnya dalam C++ dan Java (bahasa pemrograman berorientasi obyek), kita masih dapat menemukan tehnik-tehnik pemrograman berorientasi prosedur dalam setiap method/function member dalam obyek-obyeknya.
Suatu bahasa pemrograman pada asalnya hanya dapat digunakan dalam satu metode. Pascal mulanya untuk procedural-oriented, Lisp untuk functional-oriented, Smaltalk untuk object-oriented dan lain-lain. Seiring dengan perkembangan tehnologi informasi dan komputer, puluhan bahkan ratusan bahasa pemrograman baru lahir. Masing-masing memiliki keunikan dan kelebihan spesifik. Ada yang khusus untuk jenis komputer tertentu, ada pula yang khusus untuk paradigma pemrograman tertentu.
Memang banyak diperdebatkan mengenai banyaknya bahasa pemrograman yang ada saat ini, mana yang lebih cocok digunakan untuk para pemula seperti saya ini. Sebetulnya semua bahasa pemrograman itu kurang lebihnya sama loh temen-temen.
Tau ga sih temen-temen alasan mengapa bahasa pemrograman diciptakan? agar dapat menulis program? zzzzzzzzzzzzzzz, agar dapat memudahkan pekerjaan manusia?
yap semua itu benar, tapi kalo manurut saya bahasa pemrograman itu diciptakan agar kita dapat lebih mudah berkomunikasi dengan komputer, karena seperti yang teman-teman tahu, komputer hanya mengenal 0 dan 1 saja, komputer itu sebenarnya bodoh, dia tidak memiliki penalaran seperti kita, komputer tidak dapat berfikir, komputer juga tidak dapat memberi pendapat, atau keputusan sendiri.
Oke sepertinya temen-temen udah bisa mengerti apa maksud saya, sekarang kita akan membahas mengenai prinsip-prinsip dasar dalam bahasa pemograman, ternyata yang paling diutamakan dalam menulis bahasa pemrograman itu sendiri adalah Algoritma, dimana didalam Algoritma itu penalaran kita akan menemukan dan memecahkan suatu permasalahan akan terus diasah, jadi sangat penting sekali bagi kita untuk bisa memahami sebuah masalah dan menemukan algoritma dari suatu masalah tersebut itu yang diimplementasikan dalam bahasa pemrograman.
Nah langkah-langkah apa sih yang perlu kita ketahui untuk menentukan algoritma dari suatu permasalahan itu sendiri? dan apa sesungguhnya arti dari Algoritma itu sendiri, mengapa sangat dibutuhkan sekali dalam pemrograman komputer?
Referensi : djuneardy.blogspot.com
Pemrograman dapat diklasifikasikan sebagai berikut [Rechenberg]:
1. Berorientasi prosedur (procedural oriented)
2. Berorientasi fungsi (functional oriented)
3. Berorientasi logik (logic oriented)
4. Berorientasi obyek (object oriented)
Masing-masing memiliki kelebihan tersendiri. Kadangkala dalam membangun suatu aplikasi dibutuhkan gabungan metode pemrograman tersebut. Misalnya dalam C++ dan Java (bahasa pemrograman berorientasi obyek), kita masih dapat menemukan tehnik-tehnik pemrograman berorientasi prosedur dalam setiap method/function member dalam obyek-obyeknya.
Suatu bahasa pemrograman pada asalnya hanya dapat digunakan dalam satu metode. Pascal mulanya untuk procedural-oriented, Lisp untuk functional-oriented, Smaltalk untuk object-oriented dan lain-lain. Seiring dengan perkembangan tehnologi informasi dan komputer, puluhan bahkan ratusan bahasa pemrograman baru lahir. Masing-masing memiliki keunikan dan kelebihan spesifik. Ada yang khusus untuk jenis komputer tertentu, ada pula yang khusus untuk paradigma pemrograman tertentu.
Memang banyak diperdebatkan mengenai banyaknya bahasa pemrograman yang ada saat ini, mana yang lebih cocok digunakan untuk para pemula seperti saya ini. Sebetulnya semua bahasa pemrograman itu kurang lebihnya sama loh temen-temen.
Tau ga sih temen-temen alasan mengapa bahasa pemrograman diciptakan? agar dapat menulis program? zzzzzzzzzzzzzzz, agar dapat memudahkan pekerjaan manusia?
yap semua itu benar, tapi kalo manurut saya bahasa pemrograman itu diciptakan agar kita dapat lebih mudah berkomunikasi dengan komputer, karena seperti yang teman-teman tahu, komputer hanya mengenal 0 dan 1 saja, komputer itu sebenarnya bodoh, dia tidak memiliki penalaran seperti kita, komputer tidak dapat berfikir, komputer juga tidak dapat memberi pendapat, atau keputusan sendiri.
Oke sepertinya temen-temen udah bisa mengerti apa maksud saya, sekarang kita akan membahas mengenai prinsip-prinsip dasar dalam bahasa pemograman, ternyata yang paling diutamakan dalam menulis bahasa pemrograman itu sendiri adalah Algoritma, dimana didalam Algoritma itu penalaran kita akan menemukan dan memecahkan suatu permasalahan akan terus diasah, jadi sangat penting sekali bagi kita untuk bisa memahami sebuah masalah dan menemukan algoritma dari suatu masalah tersebut itu yang diimplementasikan dalam bahasa pemrograman.
Nah langkah-langkah apa sih yang perlu kita ketahui untuk menentukan algoritma dari suatu permasalahan itu sendiri? dan apa sesungguhnya arti dari Algoritma itu sendiri, mengapa sangat dibutuhkan sekali dalam pemrograman komputer?
Langkah-langkah dalam
Pemrograman Komputer
Dalam pemrograman komputer, diperlukan beberapa langkah dan langkah-langkah yang disajikan pada modul ini tidak bersifat mutlak. Artinya Anda tidak harus melakukan dari langkah pertama, kedua, ketiga, dst. Ada beberapa langkah yang harus atau mungkin
diulang sampai beberapa kali. Berikut ini contoh beberapa langkah yang harus dilakukan dalam
pemrograman komputer:
1. Mendefinisikan Masalah.
Mendefinisikan masalah dengan menentukan masalahnya seperti apa, kemudian apa saja yang
harus dipecahkan dengan komputer, yang terakhir adalah apa masukannya dan bagaimana keluarannya.
2. Menentukan Solusi.
Setelah masalah didefinisikan dengan jelas, masukan yang diberikan sudah jelas, keluaran yang
diinginkan sudah jelas, maka langkah selanjutnya adalah mencari jalan penyelesaian masalah. Jika permasalahan terlalu kompleks, biasanya kita harus membaginya ke dalam beberapa modul kecil agar lebih mudah diselesaikan. Sebagai contoh, program untuk menghitung invers matriks, dapat dibagi menjadi beberapa modul kecil. Modul pertama adalah meminta masukan dari pengguna berupa matriks bujur sangkar. Modul kedua adalah mencari invers matriks yang dimasukkan pengguna. Modul terakhir adalah menampilkan hasilnya pada pengguna.
3. Memilih Algoritma.
Langkah ini merupakan salah satu langkah yang penting dalam pemrograman komputer karena pemilihan algoritma yang salah akan menyebabkan program memiliki unjuk kerja yang kurang baik.
4. Menulis Program.
Pada langkah ini dimulai penulisan program komputer untuk memecahkan masalah yang diberikan. Untuk menulis program dapat digunakan salah satu bahasa generasi ketiga. Ada beberapa hal yang harus diperhitungkan sebelum memilih bahasa pemrograman, antara lain masalah yang dihadapi, bahasa pemrograman yang Anda kuasai, dsb.
5. Menguji Program.
Setelah program selesai ditulis dilakukan pengujian. Pengujian pertama adalah; Apakah
program berhasil dikompilasi dengan baik? Pengujian berikutnya; Apakah program dapat
menampilkan keluaran yang diinginkan? Lebih jauh lagi program harus diuji dengan banyak kasus. Sering terjadi, suatu program berjalan baik untuk kasus A, B, C; tetapi menghasilkan sesuatu yang tidak diinginkan untuk kasus X,Y, dan Z. Langkah ini bisa dilakukan berulang-ulang sampai program diyakini benar-benar berjalan sesuai dengan yang diharapkan.
6. Menulis Dokumentasi.
Merupakan hal sepele yang sering dilupakan, karena tidak ada fungsinya pada saat pembuatan program, namun pada masa mendatang akan sangat diperlukan, apalagi bagi orang lain yang mempelajari program kita. Dokumentasi ada dua, yaitu di atas kertas dan menjadi satu dalam program (komentar pendek yang menerangkan fungsi perintah-perintah yang ada dalam program tersebut.
7. Merawat program
Setelah program selesai dan digunakan oleh user, maka sering kali muncul bug / kesalahan yang
sebelumnya tidak terdeteksi, atau juga user ingin menambahkan fasilitas baru, sehingga program harus direvisi.
Definisi Algoritma
1. Pengertian
Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata Algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan Algorist jika anda menghitung menggunakan Angka Arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karena kata Algorism sering
dikelirukan dengan Arithmetic, sehingga akhiran – sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambat laun kata Algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam Bahasa Indonesia, kata Algorithm diserap menjadi Algoritma.
2. Definisi Algoritma
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis dan logis”. Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.
3. Aturan Penulisan Algoritma
Pada setiap bagian algoritma apabila akan dituliskan komentar mengenai setiap bagian
tersebut dituliskan di antara tanda kurung kurawal, contoh { Komentar }. Notasi algoritmis
yang dituliskan diantara tanda ini tidak akan dieksekusi oleh program.
Dalam pemrograman komputer, diperlukan beberapa langkah dan langkah-langkah yang disajikan pada modul ini tidak bersifat mutlak. Artinya Anda tidak harus melakukan dari langkah pertama, kedua, ketiga, dst. Ada beberapa langkah yang harus atau mungkin
diulang sampai beberapa kali. Berikut ini contoh beberapa langkah yang harus dilakukan dalam
pemrograman komputer:
1. Mendefinisikan Masalah.
Mendefinisikan masalah dengan menentukan masalahnya seperti apa, kemudian apa saja yang
harus dipecahkan dengan komputer, yang terakhir adalah apa masukannya dan bagaimana keluarannya.
2. Menentukan Solusi.
Setelah masalah didefinisikan dengan jelas, masukan yang diberikan sudah jelas, keluaran yang
diinginkan sudah jelas, maka langkah selanjutnya adalah mencari jalan penyelesaian masalah. Jika permasalahan terlalu kompleks, biasanya kita harus membaginya ke dalam beberapa modul kecil agar lebih mudah diselesaikan. Sebagai contoh, program untuk menghitung invers matriks, dapat dibagi menjadi beberapa modul kecil. Modul pertama adalah meminta masukan dari pengguna berupa matriks bujur sangkar. Modul kedua adalah mencari invers matriks yang dimasukkan pengguna. Modul terakhir adalah menampilkan hasilnya pada pengguna.
3. Memilih Algoritma.
Langkah ini merupakan salah satu langkah yang penting dalam pemrograman komputer karena pemilihan algoritma yang salah akan menyebabkan program memiliki unjuk kerja yang kurang baik.
4. Menulis Program.
Pada langkah ini dimulai penulisan program komputer untuk memecahkan masalah yang diberikan. Untuk menulis program dapat digunakan salah satu bahasa generasi ketiga. Ada beberapa hal yang harus diperhitungkan sebelum memilih bahasa pemrograman, antara lain masalah yang dihadapi, bahasa pemrograman yang Anda kuasai, dsb.
5. Menguji Program.
Setelah program selesai ditulis dilakukan pengujian. Pengujian pertama adalah; Apakah
program berhasil dikompilasi dengan baik? Pengujian berikutnya; Apakah program dapat
menampilkan keluaran yang diinginkan? Lebih jauh lagi program harus diuji dengan banyak kasus. Sering terjadi, suatu program berjalan baik untuk kasus A, B, C; tetapi menghasilkan sesuatu yang tidak diinginkan untuk kasus X,Y, dan Z. Langkah ini bisa dilakukan berulang-ulang sampai program diyakini benar-benar berjalan sesuai dengan yang diharapkan.
6. Menulis Dokumentasi.
Merupakan hal sepele yang sering dilupakan, karena tidak ada fungsinya pada saat pembuatan program, namun pada masa mendatang akan sangat diperlukan, apalagi bagi orang lain yang mempelajari program kita. Dokumentasi ada dua, yaitu di atas kertas dan menjadi satu dalam program (komentar pendek yang menerangkan fungsi perintah-perintah yang ada dalam program tersebut.
7. Merawat program
Setelah program selesai dan digunakan oleh user, maka sering kali muncul bug / kesalahan yang
sebelumnya tidak terdeteksi, atau juga user ingin menambahkan fasilitas baru, sehingga program harus direvisi.
Definisi Algoritma
1. Pengertian
Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata Algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan Algorist jika anda menghitung menggunakan Angka Arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karena kata Algorism sering
dikelirukan dengan Arithmetic, sehingga akhiran – sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambat laun kata Algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam Bahasa Indonesia, kata Algorithm diserap menjadi Algoritma.
2. Definisi Algoritma
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis dan logis”. Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.
3. Aturan Penulisan Algoritma
Pada setiap bagian algoritma apabila akan dituliskan komentar mengenai setiap bagian
tersebut dituliskan di antara tanda kurung kurawal, contoh { Komentar }. Notasi algoritmis
yang dituliskan diantara tanda ini tidak akan dieksekusi oleh program.
Referensi : djuneardy.blogspot.com
Jumat, 28 Oktober 2011
Sintax dan Semantik
SEMANTIKS
Ø KONSEP
SEMANTIKS BAHASA PEMROGRAMAN
Ø PENDEKATAN
SYNTAX DIRECTED TRANSLATION
Ø TEKNIK-TEKNIK
PENDESKRIPSIAN SEMANTIK BAHASA PEMROGRAMAN
KONSEP SEMANTIKS BAHASA PEMROGRAMAN
•
Syntax mendefinisikan suatubentuk program yang benar dari suatu bahasa.
•
Semantik mendefinisikan arti dari program yang benar secara syntax dari bahasa
tersebut.
•
Semantik suatu bahasa membutuhkan semacam expressi untuk
mengirimkan suatu nilai kebenaran (TRUE, FALSE, NOT atau nilai INTEGER)
PENDEKATAN SYNTAX
DIRECTED TRANSLATION
•
Syntax merupakan kumpulan aturan yang mendefinisikan suatu
bentuk bahasa dan mendefinisikan bagaimana suatu kalimat dibentuk sebagai barisan/urutan
dari pemilihan suatu kata dasar.
•
Syntax tidak mengerti apapun tentang isi atau arti dari
suatu kalimat; aturan SEMANTIC yang mengartikannya.
ContohdeklarasidalambahasaC :
if (a>b)
max = a ; else max = b ;
§ Ekspressi a
> b harus di evaluasi, dan tergantung dari nilai ini, satu dari dua statemen
di belakangnya akan dieksekusi.
§ Aturan
syntax memberikan bentuk pada statemen tersebut di mana dengan tepat meletakkan
tanda “;” sehingga aturan semantic dapat mengartikannya dengan benar.
TEKNIK-TEKNIK
PENDESKRIPSIAN SEMANTIK BAHASA PEMROGRAMAN
A. Operational
Semantic
B. Denotational
Semantic
C. Axiomatic
Semantic
D. Algebraic
Semantic
E. Structured
Operational atau Natural Semantic
A. OPERATIONAL
SEMANTIC
Pendekatan
ini mendefinisikan suatu mesin buatan (Abstract) dengan instruksi-instruksi primitif,
tidak perlu realistik, tetapi cukup sederhana supaya tidak muncul kesalahpahaman.Deskripsi
semantic dari bahasa pemrograman menentukan suatu translasi kekode.
B. DENOTATIONAL SEMANTIC
Padapendekatanini,
diberikan suatu fungsi yang memetakan program-program komputer yang ditunjuk kedalam
bentuk nilai-nilai abstrak secara matematika (angka, nilai, kebenaran, fungsi matematika,
dan sebagainya)
C. AXIOMATIC SEMANTIC
Pada pendekatan
ini didefinisikan suatu tindakan program yang dibangun dengan property logika
yang menyimpan status computer sebelum dan sesudah eksekusi
D. ALGEBRAIC SEMANTIC
Pada pendekatan
ini dipertimbangkan suatu objek komputasi yang menjadi syarat-syarat dalam aljabar
multi-sorted. Program meng-implementasikan fungsi yang dapat diwujudkan dengan suatu
persamaan di antara syarat-syarat tersebut.
E. STRUCTURED OPERATIONAL atau NATURAL SEMANTIC
Seperti dalam pengambilan keputusan
secara alamiah dengan logika. Program diberi suatu arti dari aturan yang
diturunkan yang menggambarkan penilaian gagasan suatu bahasa.


Keadaan atau hubungan antara syntax dan semantic secara matematika dapat digambarkan sebagai berikut:
Sabtu, 15 Oktober 2011
Macam-macam File System
Kali ini saya mau sharing tentang File System yang ada di Sistem Operasi Windows dan Linux.
Sebelum
kita ngebahas macam-macam file system yang ada di sistem operasi,
terlebih dahulu kita cari tahu apa itu file system atau dalam Bahasa
Indonesianya dikenal dengan Sistem Berkas.
Apa sih File System itu??
Menurut
beberapa literatur yang saya temukan dan saya baca, File System /
Sistem Berkas merupakan metoda penyimpanan file pada komputer atau media
penyimpanan komputer dalam mengatur lokasi file tersebut. Ada juga yang
menyebut bahwa File System adalah struktur logika yang digunakan untuk
mengendalikan akses terhadap data yang ada pada disk. File System
memiliki dua bagian:
-
Kumpulan file yang masing-masingnya menyimpan data-data yang berhubungan.
-
Struktur direktori yang mengorganisasi dan menyediakan informasi mengenai seluruh file dalam sistem.
Fungsi
File System salah satunya untuk memberi nama pada berkas dan
meletakkannya pada media penyimpanan. Fungsi lainnya adalah sebagai
konvensi penamaan berkas dan peletakkan berkas pada struktur direktori.
Semua sistem operasi memiliki File Systemnya sendiri untuk meletakkan
file dalam sebuah struktur hirarki.
Lalu apa hubungannya File System dengan Sistem Operasi??
File
system merupakan interface yang menghubungkan sistem operasi dengan
disk. Ketika program menginginkan pembacaan dari harddisk atau media
penyimpanan lainnya, sistem operasi akan meminta file system untuk
membuka file yang diminta tersebut.
File
system akan mencari lokasi dari file yang diinginkan. Setelah file itu
ditemukan, file system akan membaca file tersebut kemudian mengirimkan
informasinya kepada sistem operasi dan akhirnya bisa dibaca oleh kita.
Jadi sekarang uda cukup tau kan apa itu File System? Sekarang waktunya kita menelusuri lebih dalam lagi tentang File System.
Saya
akan membagi penjelasan File System ini dalam dua bagian. Pertama, yang
akan dibahas adalah File System yang ada pada Sistem Operasi Microsoft
Windows. Kemudian berikutnya akan dibahas mengenai File System yang ada
pada Sistem Operasi Linux. Dan sebagai tambahan, di akhir tulisan ini
akan diberikan perbedaan di antara 2 sample File System.
File System pada Windows :
Kita
masuk dulu yuu ke bahasan pertama. Teman-teman tentunya sudah sangat
familiar dengan Sistem Operasi Windows. Terus jika teman-teman melihat
Properties harddisk, pernah liat ada tulisan ‘NTFS’ atau ‘FAT’ kan?? Nah
itu adalah jenis File System yang digunakan pada Windows.
FAT (File Allocation Table)
FAT
File System merupakan sebuah File System yang menggunakan struktur
tabel alokasi berkas sebagai cara dirinya beroperasi. Ada beberapa versi
FAT yang ada hingga saat ini, di antaranya:
-
FAT12
FAT12 merupakan sistem berkas yang menggunakan unit alokasi yang memiliki batas hingga 12-bit. File System ini hanya dapat menampung maksimum hanya 212 unit alokasi saja atau sebanyak 4096 buah. FAT12 pertama kali digunakan pada Sistem Operasi MS-DOS. Karena kapasitasnya sedikit yakni hanya 32 MB, maka FAT12 hanya digunakan sebagai file system pada media penyimpanan floppy disk.
-
FAT16
FAT16 merupakan sistem berkas yang menggunakan unit alokasi yang memiliki batas hingga 16-bit. File System ini dapat menampung maksimum 216 unit alokasi atau sebanyak 65536. Kapasitas File System ini sebanyak 4 GB, jauh melebihi versi sebelumnya yang hanya 32 MB. Ukuran unit alokasi yang digunakan FAT16 tergantung kapasitas partisi harddisk yang akan diformat. Jika kapasitasnya kurang dari 16 MB, maka yang akan digunakan adalah FAT12. Jika melebihi 16 MB maka yang digunakan adalah FAT16.FAT16 pertama kali digunakan pada Sistem Operasi MS-DOS pada tahun 1981. Keuntungan menggunakan FAT16 adalah kompatibel hampir di semua sistem operasi, baik Windows 95/98/ME, OS/2, Linux bahkan Unix. Namun, ada juga kekurangan dari FAT versi ini yakni mempunyai kapasitas tetap dalam jumlah cluster dalam partisi, jadi semakin besar harddisk, semakin besar pula ukuran cluster. Selain itu, FAT16 tidak mendukung kompresi, enkripsi, dan control akses dalam partisi.
-
FAT32
FAT32 merupakan sistem berkas yang menggunakan unit alokasi yang memiliki batas hingga 32-bit. File System ini dapat menampung maksimum 232 unit alokasi atau sebanyak 4294967296. Meskipun demikian, dalam implementasinya, jumlah unit alokasi yang dapat dialamati oleh FAT32 hanya 228 atau 268435456 buah. FAT32 pertama kali dikenalkan pada Sistem Operasi Windows 95 OSR2. Pada Sistem Operasi Windows NT 5.x ke atas, hanya mengizinkan pembuatan partisi FAT32 hingga 32 GB. Jika partisinya melebihi 32 GB, maka yang akan digunakan adalah File System NTFS. Keunggulan FAT32 adalah kemampuan menampung jumlah cluster yang lebih besar dalam partisi. Namun, kelemahan menggunakan File System ini adalah terbatasnya Sistem Operasi yang bisa mengenal FAT32.
-
exFAT
exFAT singkatan dari Extended File Allocation Table atau sering disebut sebagai FAT64. exFAT merupakan sistem berkas proprietary yang cocok untuk digunakan oleh media-media penyimpanan berbasis memori flash. File System ini pertama kali dibuat oleh Microsoft untuk perangkat-perangkat benam di dalam Windows Embedded CE 6.0 dan Windows Vista Service Pack 1.
Beberapa keunggulan exFAT antara lain:
-
Skalabilitas untuk HDD berukuran besar.
-
Ukuran besar teoritis maksimal 264 (16 EiB).
-
Ukuran cluster yang didukung hingga 2255 sektor, dengan batasan implementasi hingga 32 MB.
-
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.
-
Mendukung Transaction-Safe FAT File System (sebuah fungsi optional 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.
Beberapa kelemahan yang dimiliki exFAT antara lain:
-
Perangkat yang menggunakan file system exFAT tidak bisa menggunakan kemampuan ReadyBoost milik Windows Vista.
-
Status lisensi yang belum jelas.
-
Tidak bisa diakses oleh sistem-sistem operasi Windows terdahulu, sebelum Windows Vista SP1 atau Windows CE 6.0.
-
Belum tersedia implementasi dalam proyek open source.
NTFS (New Technology File System)
NTFS
merupakan File System yang memiliki sebuah desain sederhana namun
memiliki kemampuan yang lebih baik dibandingkan FAT File System. NTFS
pertama kali dikenalkan Microsoft pada Sistem Operasi Windows NT dan
mendukung Sistem Operasi yang terbaru yaitu Windows 7. Sejak pertama
kali dibuat hingga sekarang, NTFS telah mengalami perkembangan. Beberapa
versi NTFS antara lain:
-
NTFS versi 1.0
NTFS ini datang bersama dengan Windows NT 3.1. Versi ini menawarkan fungsi yang sangat dasar, tetapi sudah jauh lebih baik dibandingkan FAT File System.
-
NTFS versi 1.1
NTFS ini datang bersama dengan Windows NT 3.50. Versi ini menambahkan dukungan terhadap pengaturan akses secara diskrit (discretionary access control).
-
NTFS versi 1.2
NTFS ini datang bersama dengan Windows NT 4.0. Versi ini menambahkan dukungan terhadap auditing setiap berkas dan juga kompresi transparan.
-
NTFS versi 2.0
NTFS ini tidak dirilis secara umum, karena berbagai kendala yang dialaminya, yang tidak diumumkan oleh Microsoft. Microsoft menggagalkan proyek NTFS 2.0 dan langsung menginjak NTFS 3.0
-
NTFS versi 3.0
NTFS ini 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, NTFS 3.0 juga menawarkan dukungan kepada struktur GUID Partition Table dan Logical Disk Management.
-
NTFS versi 3.1
NTFS ini datang bersama dengan Windows XP SP1 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.
Keunggulan yang ditawarkan NTFS antara lain:
-
NTFS dapat mengatur kuota volume untuk setiap pengguna
-
Mendukung sistem berkas terenkripsi secara transparan dengan menggunakan beberapa jenis algoritma enkripsi yang umum digunakan.
-
Mendukung kompresi data yang transparan, meskipun tidak memiliki rasio yang besar, namun dapat digunakan untuk menghemat penggunaan ruangan harddisk.
-
Mendukung hard link serta symbolic link seperti halnya sistem berkas dalam sistem operasi keluarga UNIX, meskipun dalam NTFS implementasinya lebih sederhana.
-
Mendukung penamaan berkas dengan metode pengodean Unicode (16-bit UCS2) hingga 255 karakter.
-
Memiliki fitur untuk menampung lebih dari satu buah ruangan data dalam sebuah berkas.
Namun,
dibalik keunggulan di atas, pada umumnya NTFS tidak kompatibel dengan
Sistem Operasi lain yang terinstall di komputer yang sama (Double OS)
bahkan juga tidak terdetek apabila Anda melakukan StartUp Boot
menggunakan Floppy. Untuk itu sangat disarankan kepada Anda untuk
menyediakan partisi yang kecil saja yang menggunakan File System FAT di
awal partisi. Partisi ini dapat Anda gunakan untuk menyimpan Recovery Tool apabila mendapat masalah.
Nah,
sekarang uda cukup tau kan tentang File System yang ada di Windows??
Segitu aja sih yang saya tau berdasarkan literatur yang saya dapatkan. J
File System pada Linux
Sekarang
waktunya kita masuk ke pembahasan kedua. Kali ini kita cari tau tentang
File System yang ada di Sistem Operasi Linux. Mungkin beberapa orang
belum begitu familiar dengan Linux karena belum banyak yang pake, terus
juga sosialisasi mengenai Open Source ini belum merata, khususnya di
Indonesia. Namun, alangkah baiknya kita juga mencoba eksplorasi
semuanya. Yu kita mulai aja, cekidot gan.
Ext 2 (2nd Extended)
Ext
2 merupakan tipe file system yang paling tua yang masih ada. File
system ini pertama kali dikenalkan pada tahun 1993. Ext 2 adalah file
system yang paling ampuh di linux dan menjadi dasar dari segala
distribusi linux. Pada Ext 2 file system, file data disimpan sebagai
data blok. Data blok ini mempunyai panjang yang sama dan meskipun
panjangnya bervariasi di antara Ext 2 file system, besar blok tersebut
ditentukan pada saat file system dibuat dengan mk2fs. Jika
besar blok adalah 1024 bytes, maka file dengan besar 1025 bytes akan
memakai 2 blok. Ext 2 File System menyimpan data secara hirarki standar
yang banyak digunakan oleh sistem operasi. Data tersimpan di dalam file,
file tersimpan di dalam direktori. Sebuah direktori bisa mencakup file
dan direktori lagi di dalamnya yang disebut sub direktori.
Kehandalan Ext2FS:
-
Administrator sistem dapat memilih ukuran blok yang optimal (dari 1024 sampai 4096 bytes), tergantung dari panjang file rata-rata, saat membuat file sistem.
-
Administrator dapat memilih banyak inode dalam setiap partisi saat membuat file sistem.
-
Strategi update yang aman dapat meminimalisasi dari system crash.
-
Mendukung pengecekan kekonsistensian otomatis saat booting.
-
Mendukung file immutable (file yang tidak dapat dimodifikasi) dan append-only (file yang isinya hanya dapat ditambahkan pada akhir file tersebut).
Kelemahan Ext2FS:
-
Ketika shut down secara mendadak membutuhkan waktu yang tidak sebentar untuk recover.
-
Untuk melakukan clean up file system, biasanya Ext 2 secara otomatis akan menjalankan utility
e2fsck pada saat booting selanjutnya.
Ext 3 (3rd Extended)
Ext 3 merupakan peningkatan dari Ext 2 File System. Beberapa peningkatan yang ada antara lain:
-
Journaling
Dengan menggunakan journaling, maka waktu recovery pada shut down yang mendadak tidak akan selama pada Ext 2.
-
Integritas Data
Ext 3 menjamin adanya integritas data setelah terjadi kerusakan atau unclean shut down. Ext 3 memungkinkan kita memilih jenis dan tipe proteksi dari data.
-
Kecepatan
Daripada menulis data lebih dari sekali, Ext 3 mempunyai throughput yang lebih besar daripada Ext 2 karena Ext 3 memaksimalkan pergerakan head harddisk. Kita bisa memilih tiga jurnal mode untuk memaksimalkan kecepatan, tetapi integritas data tidak terjamin.
-
Mudah Dilakukan Migrasi
Kita dapat melakukan migrasi atau konversi dari Ext 2 ke Ext 3 tanpa harus melakukan format ulang pada harddisk.
Di samping keunggulan di atas, Ext 3 juga memiliki kekurangan. Dengan adanya fitur journaling, maka membutuhkan memori yang lebih dan memperlambat operasi I/O.
Ext 4 (4th Extended)
Ext
4 dirilis secara komplit dan stabil berawal dari kernel 2.6.28. Jadi,
apabila distro yang secara default memiliki kernel tersebut atau di
atasnya secara otomatis system sudah support Ext 4. Apabila masih
menggunakan Ext 3, dapat dilakukan konversi ke ext 4 dengan beberapa
langkah yang tidak terlalu rumit.
Keuntungan
menggunakan Ext 4 ini adalah mempunyai pengalamatan 48-bit blok yang
artinya dia akan mempunyai 1 EiB = 1.048.576 TB ukuran maksimum file
system dengan ukuran 16 TB untuk maksimum file sizenya, fast fsck, journal checksumming, defragmentation support.
Perbedaan File System FAT dengan NTFS
Akhirnya
selesai sudah pembahasan mengenai macam-macam File System, baik itu
yang ada di Windows maupun yang ada di Linux. Namun, sebelum tulisan ini
diakhiri, seperti yang saya janjikan di awal bahwa akan ada tambahan
pembahasan mengenai perbedaan dua file system. Sebagai samplenya, saya
akan memberi sedikit pengetahuan mengenai perbedaan karakteristik File
System FAT dengan NTFS. Berikut penjelasannya.
|
Karakteristik
|
NTFS
|
FAT32
|
FAT16
|
|
Jumlah berkas dalam satu volume
|
232 – 1 berkas |
228 berkas |
228 berkas |
|
Berkas atau subdirektori
|
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 |
Referensi:
Langganan:
Postingan (Atom)