Senin, 11 Mei 2015

Perpisahan bersama teman di sekolah dulu, ini untuk mengingat kenangan waktu sekolah dulu yang tidak akan pernah terulang sepanjang hidup.



















Salah satu tujuan utama manajemen file adalah melakukan operasi-operasi terhadap file dan direktori. Pada umumnya operasi terhadap berkas senantiasa melibatkan operasi terhadap operasi juga, tetapi tidak berlaku sebaliknya. Misalnya ketika suatu file di ubah datanya maka atribut tanggal modifikasinya yang tersimpan di direktori harus ikut di perbaharui.
1.     Operasi pada file dan direktori
a.    Operasi pada file
Operasi-operasi terhadap file dan direktori dapat di lakukan oleh programaplikasi ataupun oleh pengguna lewat suatu aplikasi sheel merupakan aplikasi interkatif yang memberikan antarmuka bagi pengguna untuk mengakses layanan yang di berikan oleh sistem operasi. Contoh aplikasi shell adalah eksplorer dan cmd pada sistem operasi WindowsXP ataupun bash, tsh pada sistem operasi linux.  Operasi terhadap berkas antara lain.
1.        Membuat dan menghapus file
Keberadaan suatu file di mulai ketika pengguna meminta sistem operasi untuk membuat suatu file. Sistem operasi kemudian mengalokasikan ruang di media penyimpanan untuk file tersebut dan mencatat berbagai atributnya ke direktori. Jika file tidak di perlukan lagi maka pengguna dapat menginstruksikan sistem operasi untuk menghapus file dari media penyimpanan. Ruang yang di pempati oleh file tersebut akan di bebebaskan . selain itu, rekaman atribut file tersebut di direktori akan di hapus.
2.        Membuka suatu file
Sebelum dapat di baca dan di tulisi, suatu file harus di buka terlebih dahulu. Membuka suatu file berarti membaca atribut file tersebut dari direktori dan menyalin data file tersebut dari media penyimpanan ke memori utama sehingga dapat di proses lebih lanjut.
3.        Membaca dan menulis file
Setelah file di buka, maka program aplikasi yang membuka program tersebut dapat membaca dan menulis file. Menulisis file dapat berarti mengubah, menambah, atau bahkan menghapus isi berkas yang sudah ada.
4.        Melompat ke suatu posisi
Suatu program aplikasi dapat saja membaca suatu file tidak dari posisi awal file. Umumnya pustaka pemrograman aplikasi memberikan rutin untuk melompat ke suatu posisi tertentu dari file yang sedang di buka.
5.        Mengubah nama file
Ketika pengguna mengubah nama suatu file lewat aplikasi shell, sistem operasi akan merubah rekaman atribut file tersebut di direktori.
6.        Mereset file
Selama operasi pembacaat ataupun berpindah posisi pada suatu file, suatu pointer di gunakan untuk mencatat posisi terakhir pengaksesan isi file. Ketika data file di baca, posisi yang di tunjuk oleh pointer akan ikut bergeser. Tujuannya agar pembacaan berikutnya selalu di mulai dari posisi terakhir. Jadi secara normal pembacaan di file bersifat berurutan. Operasi reset akan menyebabkan pointer pembacaan berpindah ke posisi awal file sehingga pembacaan berikutnya akan membaca data pada posisi awal file.
7.        Menutup file
Pada sejumlah program aplikasi, ketika terjadi penulisan ke file, data perubahan akan di simpan sementara di memori. Operasi menutup file memastikan seluruh perubahan terhadap file akan disimpan secara permanen ke media penyimpanan.
Pada umumnya operasi terhadap file di lakukan lewat program khusus yang dapat menangani struktur file tersebut dengan baik. Misalnya file teks umunya dapat di tangani dengan program pengelola kata sederhana seperti notepad ataupun vim, berkas gambar di tangani dengan program pengola gambar seperti Ms Paint ataupun Gimp. Berkas executable di buat oleh kompilator dan di jalankan oleh sistem operasi.
b.      Operasi pada direktori
Sejumlah operasi yang secara khusus dapat di lakukan terhadap direktori, antara lain:
1.      Membuat dan menghapus direktori
Operasi pembuatan file biasa dan file direktori menggunakan perintah yang berbeda, tetapi cara pengalokasian ruang media penyimpanan adalah sama. Yang membedakan hanyalah struktur isisnya dan kegunaannya. Direktori memiliki struktur yang sangat khusus di bandingkan dengan file lainnya. Selain itu, direktori berfungsi khusus untuk menyimpan atribut dari file-file yang di simpan di dalam media penyimpanan. Perhatikan, menghapus suatu direktori akan secara otomatis menghapus seluruh file yang secara logika berada di dalamnnya. Pada beberapa sistem operasi, penghapusan direktori tidak dapat di lakukan jika masih terdapat file-file lain di dalamnnya.
2.      Mencari file
Salah satu operasi penting yang dapat di lakukan terhadap direktori adalah mencari suatu file yang berada di dalam direktori tersebut. Proses pencarian file melibatkan pembacaan simpul ataupun tabel rekaman atribut file yang tersimpan dalam suatu direktori.
3.      Melihat isi direktori
Operasi ini mencetak informasi mengenai file-file yang berada di dalam suatu direktori dengan cara menelusuri simpul ataupun tabel rekaman atribut berkas yang tersimpan di dalam direktori tersebut.
4.      Mengubah nama direktori
Dalam operasi pengubahan nama direktori, perubahan di lakukan pada simpul ataupun tabel rekaman direktori induknya. Jadi secara prinsip, mekanisme pengubahan nama direktori sama dengan mekanisme pengubahan nama berkas biasa.
2.      Pengelolaan ruang kosong
Salah satu bagian dari manajemen file adalah pengelolaan ruang kosong media penyimpanan. Ruang-ruang kososng media penyimpanan perlu di catat sehingga memudahkan pengalokasian file yang akan di simpan. Pada saat terjadi alokasi berkas baru ataupun penghapusan berkas, informasi ruang kosong akan di perbaharui.
Teknik-teknik yang dapat di lakukan untuk pencatatan ruang kosong media penyimpanan adalah teknik Bit-Vektor, teknik Link-List, teknik Grouping, dan teknik Counting. Selengkapnya simak penjelasannya berikut.
1.      Teknik Bit-Vektor
Tenik Bit-Vektor menggunakan satu bit untuk menyatakan kosong tidaknya setiap alamat blok media penyimpanan. Jumlah bit yang di perlukan untuk pencatatan adalah sejumlah blok logika media penyimpanan yang ada. Misalnya pada gambar 8.10, terdapat 8 blok yang di beri alamat 0,1,2,3...7. Misalnya blok 0,2, dan blok 7 sudah terisi maka ruang kosong akan di catat dalam bentuk suatu vector bit, yaitu 10000101, dengan ketentuan posisi bit menyatakan alamat atau no blok, sedangkan nilai bit menyatakan kosong atau terisinya blok bersangkutan. Nilai bit 1 menyatakan blok bersangkutan sudah terisi, sedangkan nilai bit 0 menyatakan blok tersebut masih kosong. Terlihat bit 0, 2 dan ke 7 bernilai 1 karena sudah terisi.
2.      Teknik Link-List
Teknik Link-List  menggunakan blok-blok kosong di media penyimpanan untuk mentimpan pointer atau alamat blok kosong berikutnya. Informasi ponter ini dapat di simpan di awal atau akhir setiap blok yang kosong. Informasi yang butuh di catat secara khusus hanyalah pointer alamat blok kosong pertama. Ilustrasi teknik link list diperlihatkan pada gambar 8.11. Informasi yang di catat secara khusus adalah alamat blok yang pertama yang kossong, yaitu blok 1. Selanjutnya pada akhir blok 1, di catat alamat blok kosong berikutnya, yaitu blok 3. Halserupa di lakukan terhadap blok-blok kosong lainnya. Blok kosong terakhir akan mencatat pointer yang tidak valid sebagai penanda akhir blok yang kosong.
3.      Teknik grouping
Pada teknik link-list infomasi alamat blok kosong tersebar pada blok-blok kosong maka teknik grouping mengumpulkan informasi alamat kosong tersebut ke blok kosong pertama. Teknik ini di ilustrasikan pada gambar dibawah ini. Seluruh blok kosong yaitu 3,4,5,6, pada media penyimpanan akan di simpan pada blok kosong pertama, yaitu blok 1. Alamat blok kosong pertama pertu di catat secara khusus pada struktur sistem operasi.
4.      Teknik counting
Teknik counting memperhitungkan rangkaian blok-blok kosong yang kontinu sebagai suatu segmen. Setiap segmen dicatat alamat blok kosong pertamanya dan jumlah blok kosong yang mengikutiinya. Informasi segment tersebut akan di catat pada suatu tabel khusus. Ilustrasi teknik counting di perlihatkan gamabr dibawah ini. Segmen kosong pertama dimulai dari blok 1 dan panjangnya ssebesar 1 blok. Segmen kosong berikutnya dimulai dari blok 3 dan panjangnya sebesar 3 blok.
3.      Pengelolaan alokasi file
Fungsi manajemen file  lainnya adalah mengalokasikan file yang hendak di simpan di ruang kosong yang tersedia di media penyimpanan serta melakukan pencatatan atributnya pada simpul yang bersesuaian di direktorinya. Informasi ruang kosong pertliu juga di perbaruhi setelah terjadi alokasi file.
Ada berbagai cara alokasi file, antara lain : alokasi berurut(continous allocation), alokasi berantai (linked allocation), dan alokasi berindeks (indexed allocation).
1.      Alokasi berurut
Pada alokasi berurut, semua bagian dari suatu file harus di letakkan secara berurut pada ruang yang tersedia. Bagian-bagian berkas tersebut tidak boleh tersebar pada media penyimpanan. Pengalokasian di lakukan dengan mencari segmen ruang kosong yang cukup besar untuk menampung isi berkas. Selain isi berkas disalin ke blok-blok tersebut, informasi alokasi di catat pada direktori, yaitu berupa alamat awal blok berkas. Seluruh alamat blok ruang yang di tempati oleh berkas dapat di kalkulasi berdasarkan dua informasi tersebut.
Sebagai contoh, pada gambar di bawah ini terdapat 5 berkas yang disimpan dibawah satu direktori, yaitu berkas bernama “count”,”tr”,”mail”,”list”,”f”. Berkas “count” dialokasikan pada blok beralamat 0 dan 1 sehingga simpul atau rekamannya di direktori bernilai 0 dan 2. Nilai 0 untuk alamat blok alamat awal dan nilai 2 untuk jumlah blok yang di tempatinya. Berkas “tr” menempati blok beralamat 14, 15, dan 16 sehingga rekamannya bernilai 14 dan 3. Berkas “mail” menempati blok 19 sampai 24 sehingga di direktori tercatat nilai 19 dan 6. Berkas “list” menempati blok 28,29,30,31, dan tercatat di direktori nilai 28 dan 4. Dan yang terkhir berkas “f” menempati blok 6 dan 7 sehingga rekamannya di direktori mencatat nilai 6 dan 2.
2.      Alokasi berantai
Pada alokasi berantai, data berkas dapat dialokasikan ke blok-blok kosong di media penyimpanan secara tersebar. Untuk menunjukkan lokasi blok berikutnya, di bagian awal atau akhir setiap blok disimpan alamat blok alokasi berikutnya. Blok alokasi terakhir akan menyimpan karakter khusus sebagai pananda akhir berkas.\
Untuk simpul atau rekaman di direktori, informasi yang perlu di catatkan adalah nomor blok pertama yang di tempati berkas dan nomor blok alokasi terakhir dari file. Ilustrasinya di tunjukan pada gambar di bawah ini yang memperlihatkan alokasi unutk berkas “jeep”. Data berkas tersebut dialokasi secara berurutan pada blok 9,16,1,10, dan 25. Rekaman yang dicatat di direktori adalah blok awalnya, yaitu 9 dan blok terakhir 25. Pada awal atau akhir masing-masing blok yang dialokasi di simpan pointer alamat blok alokasi berikutnya. Sebagai contoh, blok 9 menyimpan ponter yang isinya menunjuk ke blok 16. Dengan demikian, ketika membaca blok 9, sistem operasi mengetahui alamat berikut yang harus di bacanya. Blok 16 menyimpan ponter ke blok 1, blok 1 menyimpan ponter ke blok 10, blok 10 menyimpan ponter ke blok 25, blok 25 menyimpan ponter invalid sebagai penanda akhir blok dari file.
3.      Alokasi berindeks
Hal yang khas dari alokasi berindeks adalah pemakaian suatu blok khusus untuk mencatat blok-blok yang di tempati file. Blok khusus ini di sebut blok indeks dan nomor bloknya di catatkan pada rekaman di direktori. Pada saat terjadi pembacaan file, blok indeks akan di akses terlebih dahulu untuk mengetahui letak blok-blok alokasi file. Penggunaan blok indeks juga memungkinkan pengaksesan berkas secara langsung maupun secara sekuensial. Gambar di bawah ini menggambarkan alokasi berindeks berkas “jeep” pada suatu direktori. Berkas tersebut di alokasikan pada lokasi 9, 16, 1, 10, 25. Infomasi blok-blok yang dialokasi untuk file disimpan pada blok 19. Blok 19 ini dikatakan sebagai blok indeks dari berkas “jeep” dan di catat pada rekaman di direktori.
4.         Proteksi dan bagi pakai file
Pada sistem operasi yang multi user, file-file yang disimpan dapat digunakan bersama. Namun sering kali ada file-file yang berisi data-data yang bersifat rahasia ataupun pribadi sehingga di kehendaki pembatasan akses terhadap file bersangkutan. Manajenen file menyediakan mekanisme proteksi terhadap pengaksesan file. Beberapa mekanisme proteksi yang sering di gunakan adalah:
1.      Proteksi berkas dengan pasword.
Proteksi dilakukan dengan memberikan suatu pasword untuk setiap file yang di simpan. Jika terjadi usaha pengaksesan terhadap file maka manajemen file akan meminta pengakses untuk memberikan suatu pasword. Jika pasword yang di berikan sama dengan pasword berkas maka akses akan di izinkan. Jika pasword yang diberikan tidak sesuai maka akses terhadap file akan di tolak.
Penggunaan proteksi ini cukup umum dan bagus untuk file yang bersifat sangat khusus dan pribadi serta jumlah filenya tidak banyak. Namun jika file yang butuh diproteksi sangat benyak ataupun berkas-berkas tersebut akan digunakan bersama, mekanisme proteksi pasword untuk setiap file kurang memadai dan tidak effisien.
2.      Proteksi berkas dengan list atau daftar kontrol akses (Access Control List).
Proteksi dilakukan dengan cara membuatkan suatu daftar kontrol aksess atau ACL (access control list) untuk setiap file dan disimpan pada rekaman di direktori. ACL umumnya berisi daftar pengguna yang boleh mengakses file tersebut serta hak aksessnya, misalnya hak baca, tulis, dan eksekusi yang dimilikinya. Setiap terjadi pengaksesan terhadap file maka manajemen file akan mencocokkan identitas pengakses dengan ACL untuk menentukan boleh tidaknya akses tersebut. Tentunya tidak efisien jika harus mencatat semua user serta jenis hak aksesnya di dalam ACL karena akan membuat rekaman direktori menjadi sangat besar, bahkan mungkin lebih besar dari isi file itu sendiri. Manajemen berkas pada sistem operasi UNIX dan variannya, umunnya mengelompokkan pengaksesan file kedalam 3 kategori, yaitu:
1.      Owner
Yaitu pengguna yang  membuat file tersebut.
2.      Grup
Yaitu pengguna yang berada di dalam kelompok pengguna yang sama dengan pembuat berkas tersebut.
3.      Everyone
Yaitu setiap pengguna yang tidak termasuk 2 kategori di atas.
ACL mendefenisikan hak akses untuk setiap kelompok di atas bagi masing-masing file. Untuk memahami prinsip proteksi dia atas, andaikan pengguna pada sistem operasi UNIX dikelompok seperti pada gambar dibawah sesuai dengan fungsi pengguna dalam organisasi. Pengguna “Rudi” dan “Budi” di kelompokkan dalam grup “IT”, sedangkan “Suci” dikelompokkan dalam grup “personalia”.
Jika rudi login ke sistem operasi dan membuat suatu file misalnya file “abc” maka owner atau pemilik file tersebut adalah rudi. Kemudian misalnya rudi ingin agar file tersebut dapat di baca namun tidak dapat di tulis oleh budi, yaitu pengguna yang masih sesama grub IT, dan tidak dapat di baca maupun di tulis oleh pengguna lain diluar grupnya, misalnya susi, maka ACL untuk file tersebut harus di set seperti pada gambar berikut.
gambar

hak akses untuk owner, Rudi adalah 100. Artinya pemiliknya dapat melakukan operasi baca(read), tulis(Write), dan eksekusi(eXcecute). Hak akses untuk pengguna yang juga pengguna grup IT, misalnya budi, adalah 100, artinya baca saja. Sementara untuk pengguna lain, misalnya suci, hak aksesnya tidak ada atau 000.
5.         Backup dan recovery
Data yang ada di media penyimpanan rentan terhadap kerusakan. Oleh sebab itu sistem operasi harus memiliki mekanisme untuk mendeteksi dan memulihkan file seperti pemeriksaan konsistensi data serta backup dan pemulihan data.
1.      Pemeriksaan konsistensi data
Misalnya memeriksa konsistensi atribut file yang tersimpan pada rekaman di direktori dengan kondisi file yang sesungguhnya. Selain itu sistem operasi juga memeriksa apakah terjadi kerusakan pada file program sebelum di jalankan. Umunnya sistem operasi akan mencegah eksekusi program yang isinya sudah berubah secara tidak wajar.
2.      Backup dan pemulihan file
Backup adalah penyalinan file dari media penyimpanan lain sebagai cadangan dan di gunakan untuk memulihkan file jika terjadi kerusakan pada file aslinya. Salah satu fungsi dari manajemen file adalah melakukan backup secara otomatis terhadap sejumlah file-file yang penting. Pada saat terjadi kerusakan pada file-file tersebut, sistem operasi dapat melakukan pemulihan file tersebut dari file penyalinannya.

Minggu, 26 April 2015


1.        Kode 40
package tugaskelompok;
public class kode40 {
    public static void main(String[]args){
        for (int i=0; i <10000; i++){
            System.out.println(i);
            if (i == 5){
                break;
            }
        }
    }
}



Pejelasan :
Dari program di atas dapat disimpulkan seperti tampak pada hasil di atas akan menghentikan perulangan ketika variable i bernilai 5, tanpa memperdulikan lagi kondisi (i<10000) yang di defenisikan pada perulangan tersebut. Selain itu sisa statement yang terdapat di dalam blok perulangan pun tidak akan di eksekusi lagi. Setelah pemanggilan statemen break, program akan langsung mengeksekusi statemen yang berada pada bagian bawah blok perulangan.

2.        Kode 41
package tugaskelompok;
public class kode41 {
    public static void main(String[]args){
        int i = 0;
        while (i < 10000){
            System.out.println(i);
            if (i == 5){
                break;
            }
            i++;
        }
    }
}



Penjelasan :
Dari program di atas dapat di simpulkan program di atas akan memberikan hasil keluaran yang sama pada perulangan for, apabila terdapat statement break pada struktur perulangan bersarang, maka yang akan di hentikan hanyalah proses perulangan yang di dalamnya mengandung statement break saja. Dan interasi tersebut berada di akhir program.

3.        Kode 42
package tugaskelompok;
public class kode42 {
    public static void main(String[]args){
        int i = 0;
        do{
            System.out.println(i);
            if(i == 5){
                break;
            }
            i++;
        }
        while (i < 10000);
    }
}


Penjelasan :
Dari program di atas dapat dapat di simpulkan program tersebut memberikan keluaran yang sama pada kedua program sebelumnya bedanya do terletak di awal program dan while terletak di akhir program dan menghasilkan keluaran yang sama seperti  program kode 40 dan 41.
4.        Kode 43
package tugaskelompok;
public class kode43 {
   public static void main(String[]args) {
       for (int i=0; i <10; i++){
           if (i % 2 == 0){
               i++;
               continue;
           }
           System.out.println(i);
           i++;
       }
   }
}


Penjelasan :
Dari progaram di atas tidak menampilkan apa apa.

5.        Kode 44
package tugaskelompok;
public class kode44 {
    public static void main(String[]args){
        int i = 0;
        while (i < 10){
            if (i % 2 == 0){
                i++;
                continue;
            }
            System.out.println(i);
            i++;
        }
        while (i < 10);
    }
}


Pejelasan :
Dari program di atas dapat di simpulkan fungsi program akan menghentikan perulangan hingga ketika i bernilai 9, dan fungsi (i % 2 ==0) memulai program berfungsi menambah program sebanyak 2 yang di mulai dari 1 secara terus menerus yang menampilkan hasil bilangan ganjil.

6.        Kode 45
package tugaskelompok;
public class kode45 {
    public static void main(String[]args){
        int i = 0;
        do{
            if (i % 2 == 0){
                i++;
                continue;
            }
            System.out.println(i);
            i++;
        }
        while (i < 10);
    }
}



Penjelasan :
Dari penjelasan program di atas dapat di simpulkan keluaran program tersebut sama dengan program sebelumnya bedanya di awal program menggunakan do yang berfungsi untuk menambah jumlah program sebanyak 2 yang dimulai dari 1 di akhir program ada statemen while yang berfungsi sebagai batas program yang akan di eksekusi.

7.        kode 46
package tugaskelompok;
public class kode46 {
    public static void main(String[]args){
        int i=0;
        for (;i < 5; i++){
            System.out.println(i);
        }
    }
}



Penjelasan :
Dari program di atas dapat di simpulkan bahwa inisialisasi berada di luar for atau sebelum for yang akan di eksekusi, sedangkan kondisi dan interasi berada di dalam for yang akam menghasilkan keluaran 1 sampai 5 sampai batas kondisi tepenuhi.

8.        kode 47
package tugaskelompok;
public class kode47 {
    public static void main(String[]args){
        for (int i=0; i < 5;){
            System.out.println(i);
            i++;
        }
    }
}



Penjelasan :
Dari program di atas dapat di simpulkan bahwa statemen for berada di awal yang akan di eksekusi dan inisialisasi dan kondisi berada di dalam for,  interasi berada di akhir program yang akan di eksekusi artinya akan menampilkan program sama seprti program 46.

9.        kode 48
package tugaskelompok;
public class kode48 {
    public static void main(String[]args){
        int i=0;
        for (;i < 5;){
            System.out.println(i);
            i++;
        }
    }
}

      

Penjelasan :
Dari program di atas dapat di simpulkan bahwa yang berada di dalam statemen for hanya kondisi sedangkan inisialisasi berada di awal progam dan interasi berada di akhir program yang akan menampilkan keluaran yang sama seperti kode 46 dan 47

join blogger

Fashion

Techno

Orang yang tidak di duga-duga itu yang bisa membuat hal di luar dugaan

Pages

Photog

Games

Popular Posts

Business

Popular Posts

Sponsor

Popular Posts

Pengunjung