Sabtu, 23 April 2016

Tugas 3 Sistem Berkas



TUGAS 3
SISTEM BERKAS

ORGANISASI BERKAS PHYSICAL SEQUENTIAL



DISUSUN OLEH :
Nama        :Dista Putra Wijayanto
NIM           :131051067

JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
INSTITUT SAINS & TEKNOLOGI AKPRIND
YOGYAKARTA
2016

Soal/ Persoalan

 Membuat sebuah aplikasi yang dapat menemukan nilai kunci yang dicari, menentukan langkah keberapa kunci itu ditemukan, dan waktu yang diperlukan untuk mencari. Perhitungan dilakukan dengan metode Sequential. Jika yang diketahui adalah n ( jumlah kunci ), nilai – nilai kunci, kunci yang dicari. Bahasa pemrograman yang saya pakai untuk membuat aplikasi ini adalah Java. 

Algoritma

1.      Program Mulai. 
2.      Menginputkan jumlah kunci.
3.      Memasukkan kunci yang akan diinputkan sesuai dengan jumlah kunci yang diinputkan.
4.      Menginputkan nilai kunci yang dicari. 
5.      Proses pengecekan kunci menggunakan perulangan “ for (i=1;i<=n;i++) “. 
6.      Jika kunci yang dicari = kunci yang ada maka true dan menentukan pada langkah keberapa kunci tersebut berada, jika kunci yang dicari ≠ kunci yang ada maka false. 
7.      Hitung waktu akses “waktu=Math.log10(jml);”
8.      Klik cari untuk menampilkan keterangan dan hasil. Jika true maka tampilkan keterangan bahwa data ditemukan, pada langkah keberapa dan waktu pencarian. Jika false maka tampilkan keterangan bahwa kunci tidak ditemukan. 
9.      Program selesai. 

 
 
Source Code

public class tugas3 extends javax.swing.JFrame {
double waktu;
String kcari;
int jml,urut, n=0, ke=0;
String kunci[]=new String[100];

    public tugas3() {
        initComponents();
        setTitle("Tugas 3 Sistem Berkas | Dista");
    }
private void inputActionPerformed(java.awt.event.ActionEvent evt) {
        jml=Integer.parseInt(jk.getText());
        n++;
        if(n<=jml){
            kunci[n]=ik.getText();
            ik.setText("");
            takunci.append(kunci[n]+"\n");
        }
    }
private void cariActionPerformed(java.awt.event.ActionEvent evt) {
        kcari=ck.getText();
        waktu=Math.log10(jml);
        boolean[]ketemu=new boolean[100];
        for(int i=1;i<=n;i++)
        {
            if(kunci[i].equals(kcari)){
             ketemu[i]=true;ke=i;
            tacari.append("Data Ditemukan\n");
            tacari.append("Kunci "+kcari+" Ditemukan pada langkah ke-" +ke+ "\n");
            tacari.append("Kunci "+kcari+" Ditemukan pada urutan ke-" +ke+ "\n");
            tacari.append("Waktu Pencarian= "+waktu+"\n");
            }
            else ketemu[i]=false;
        }
        if(ketemu[ke]){}
        else tacari.append("Kunci "+kcari+" Tidak Ditemukan\n");
    }
private void keluarActionPerformed(java.awt.event.ActionEvent evt) {
       System.exit(0);
    }

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new tugas3().setVisible(true);
            }
        });
    }

Minggu, 17 April 2016

TUGAS 4 SISTEM BERKAS



TUGAS  4

SISTEM BERKAS
ORGANISASI BERKAS PADA INDEXED SEQUENTIAL

Disusun oleh:
Nama : Dista Putra Wijayanto
NIM : 131051067

JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
INSTITUT SAINS & TEKNOLOGI AKPRIND
YOGYAKARTA
2016


Kata Pengantar
Puji syukur saya haturkan atas kehadirat Allah SWT, atas limpahan rahmat dan hidayahnya penulis dapat menyelesaikan laporan makalah Tugas 04 Sistem Berkas. Laporan ini diususn guna memenuhi tugas mata kuliah sistem berkas.
Dalam penyusunan laporan tugas ini, tidak sedikit hambatan yang penulis hadapi. Namun penulis menyadari bahwa kelancaran dalam penyelsaian laporan tugas ini tidak lain berkat bantuan, dorongan, dan bimbingan dari dosen pengampu kata kuliah system berkas, sehingga kendala-kendala yang penulis hadapi dapat teratasi.
Semoga laporan tugas ini dapat sesuai yang diharapkan. Saya sadar dalam laporan tugas ini masih banyak kekuragan dan jauh dari sempurna. Untuk itu, kritik dan saran yang membangun sangat diharapkan.



Yogyakarta, 17 April 2016

Dista Putra Wijayanto



Daftar Isi







BAB I

1.1  Latar Belakang Masalah

Berkas dipetakan ke media fisik oleh sistem operasi. Media penyimpanan ini umumnya bersifat non-volatile, sehingga kandungan di dalamnya tidak akan hilang jika terjadi gagal listrik mau pun system reboot. Sistem berkas merupakan system penyimpanan secara terorganisir. Pengertian organisasi berkas adalah teknik atau cara untuk menyatakan dan menyimpan record-record dapat berupa berkas atau file.
Record adalah merupakan kumpulan dari data yang terstruktur. Dalam record setiap elemen bisa mempunyai data yang berbeda antara satu dengan yang lainnya.

1.2  Batasan Masalah

Pada pembahasan makalah ini meliputi pengertian Organisasi Berkas Indexed Sequential, tahapan-tahapan dalam penyusunan Indexed Sequential, kelebihan dan kekurangan Indexed Sequential dan implementasi Indexed Sequential.

1.3  Rumusan Masalah

Adapun rumusan masalah pada makalah ini yaitu:
1.      Apa pengertian dari Indexed Sequential?
2.      Apa saja tahapan-tahapan dalam penyusunan Organisasi Berkas Indexed Sequential?
3.      Kelebihan dan kekurangan Indexed Sequential
4.      Bagaiamana implementasi Indexed Sequential?

1.4  Tujuan

Penulisan makalah ini bertujuan untuk mengetahui pengertian dari Indexed Sequential, tahapan-tahapan dalam penyusunan Organisasi Berkas Indexed Sequential, kelebihan dan kekurangan Indexed Sequential, serta bagaimana implementasi Indexed Sequential.

1.5  Manfaat

Agar memperoleh serta menambah pengetahuan tentang organisasi berkas Indexed Sequential.



BAB II

2.1  Pengertian Indexed Sequential

Sequential file merupakan suatu cara ataupun suatu metode penyimpanan dan pembacaan data secara urut. Data yang diinputkan pertama akan disimpan sesuai dengan urutan masuknya. Data pertama dengan nilai berapapun akan disimpan pada record pertama, begitu juga dengan data berikutnya akan disimpan pada record berikutnya. Dalam menlakukan pembacaan data, juga akan dilakukan secara berurutan, artinya pembacaan record akan dibaca dari data pertama atau paling awal dan dilanjutkan dengan data berikutnya sehingga key yang dimasukkan dapat ditemukan.
Salah satu cara yang paling efektif untuk mengorganisasikan kumpulan record-record yang membutuhkan akses record secara sekuensial maupun akses record secara individu berdasarkan nilai kunci adalah organisasi berkas indeks sekuensial. Jadi berkas indeks sekuensial merupakan organisiasi dari berkas sekuensial dan berkas relatif.

2.2  Tahapan-tahapan dalam Penyusunan Indexed Sequential

1.      Pengumpulan Data
Proses dimana data yang ada dikumpulkan secara berurut berdasarkan klasifikasi yang membedakannya. Pada tahap pengumpulan data ini, semua data akan diurutkan secara bertahap dan terorganisir dengan baik.
2.        Input Data
Pada tahap ini, data-data yang telah dibedakan dan dikumpulkan tersebut akan secara permanent dimasukkan kedalam suatu device penyimpanan. Device (media) penyimpanan ini dapat berupa memori atau device penyimpanan lainnya.
3.      Pengolahan Data
Tahap selanjutnya yang harus dilakukan dalam proses secara sequential adalah pengeditan data. Setelah data yang ada dikumpulkan dan proses input data juga telah dilakukan maka proses selanjutnya adalah editing. Dalam tahap ini data yang telah di input akan diubah (edit).
4.      Penyortiran Data
Tahap terakhir dalam tahap sequential ini adalah penyortiran. Setelah user melakukan pengeditan pada data-data yang ada, maka selanjutnya data yang telah di edit tersebut kan di sortir.
2.3  Kelebihan dan Kekurangan Indexed Sequential
·         Sangat cocok untuk digunakan menyimpan batch data ataupun individual data. Dibanding sequential file, pemanggilan data menjadi lebih cepat.
·         Access (pemanggilan) data tidak bisa disamakan dengan random (direct access file). Memerlukan adanya ruangan extra didalam memory untuk menyimpan index data. Memerlukan adanya hardware dan software yang lebih kompleks.
·         Merupakan organisasi file yang sederhana. Jarak setiap aplikasi yang tersimpan sangat jelas. Metode penyimpanan didalam memory sangat sederhana, sehingga efisien untuk menyimpan record yang besar. Sangat murah untuk digunakan, sebab medianya cukup menggunakan magnetic tape.
·         Seandainya diperlukan perubahan data, maka seluruh record yang tersimpan didalam master file, harus semuanya diproses. Data yang tersimpan harus sudah urut (sorted). Posisi data yang tersimpan sangat susah untuk up-to-date, sebab master file hanya bisa berubah saat proses selesai dilakukan. Tidak bisa dilkukan pembacaan secara langsung.
·         Memerlukan adanya back-ap data. Sebab transaksi yang diperbaiki setiap saat bisa menghilangkan jejak data asal. Data yang tersimpan mempunyai potensi lebih cepat rusak. Kapasitas media penyimpanan memory menjadi besar. Memerlukan hardware dan software yang lebih kompleks apabila dibanding sequential file.
·         Access (pemanggilan) data tidak bisa disamakan dengan random (direct access file). Memerlukan adanya ruangan extra didalam memory untuk menyimpan index data. Memerlukan adanya hardware dan software yang lebih kompleks. (http://inunknung-nurfitriana.blogspot.co.id/2009/11/organisasi-berkas-index-sequential.html, diakses 12 April 2016)

2.4  Implementasi Organisasi Berkas Indexed Sequential

Ada 2 pendekatan dasar untuk mengimplementasikan konsep dari organisasi berkas indeks sequential , yaitu:
1.      Blok Indeks dan Data (Dinamik)
2.      Prime dan Overflow Data Area (Statik)
Kedua pendekatan tersebut mengunakan sebuah bagian indeks dan sebuah bagian data, dimana masing-masing menempati berkas yang terpisah.
Alasannya :
 Karena Kedua pendekatan tersebut menggunakan bagian indeks dan bagian data, dimana masing-masing menempati file yang terpisah. Karena diimplementasikan pada organisasi internal yang berbeda. Masing-masing file tersebut harus menempati pada alat penyimpan yang bersifat Direct Access Storage Device (DASD).
Keterangan:
1. Blok Indeks dan Data (Dinamik)
Pada pendekatan ini berkas indeks dan berkas data diorganisasikan dalam blok. Berkas indeks mempunyai struktur tree, sedangkan berkas data mempunyai struktur sekuensial dengan ruang bebas yang didistribusikan antar populasi record.
Untuk cara pertama, kita menyusun data dengan lebih memperhatikan ke data yang bersifat logik, bukan fisik. Jadi, data dan index diorganisasikan ke dalam blok-blok. Blok-blok index diorganisasi secara sequential (consecutive) dan bertingkat-tingkat (misal setiap blok hanya berisi 4 record index yang berisi key field dan pointer).
Setiap tingkat akan menuju ke blok data (misal setiap blok hanya berisi 4 record data) di tingkat selanjutnya dan seterusnya menuju ke blok data yg akan mendapatkan record yg dicari secara direct.
Bila dilakukan penyisipan data dan blok tertentu (tempat data baru itu) sudah penuh (tidak ada tempat kosong/ padding lagi), maka akan dilakukan reorganisasi blok dengan membentuk blok baru. Tentu, mungkin saja perubahan ini akan berdampak pada isi blok index-nya.
Bila dilakukan penyisipan data dan track tertentu (tempat data baru itu) sudah penuh (tidak ada tempat kosong/ padding lagi), maka akan dilakukan reorganisasi track dengan membentuk track baru.Tentu, track baru itu di luar prime data file-nya, yaitu di overflow data area-nya.
Contoh :


Pada gambar tersebut ada N blok data dan 3 tingkat dari indeks. Setiap entry pada indeks mempunyai bentuk (nilai key terendah, pointer), dimana pointer menunjuk pada blok yang lain, dengan nilai key-nya sebagai nilai key terendah. Setiap tingkat dari blok indeks menunjuk seluruh blok, kecuali blok indeks pada tingkat terendah yang menunjuk ke blok data.
Jika sebuah permintaan untuk mengakses record tertentu, misal kita ingin mengakses dengan nilai key BAT, indeks dengan tingkat tertinggi (dalam hal ini blok indeks 3-1) yang pertama yang akan dicari pada contoh ini, pointer dari AARDVARK menunjuk blok indeks 2-1. Pointer yang ditunjuk pada kotak tersebut adalah pointer yang berisikan AARDVARK, yang akan menunjuk ke blok indeks 1-1. Pointer berikutnya yang akan ditunjuk adalah pointer yang berisi BABOON, yang selanjutnya akan menunjuk blok data 2. Blok data ini akan mencari untuk record dengan key tujuan, yaitu BAT, dimana pada blok ini record tersebut ditemukan.
2.    Prime dan Overflow Data Area (Statik)
Pendekatan lain untuk mengimplementasikan berkas indeks sequential adalah berdasarkan struktur indeks dimana struktur indeks ini lebih ditekankan pada karakteristik hardware (fisik) dari penyimpanan, dibandingkan dengan distribusi secara logik dari nilai key.
Indeksnya ada beberapa tingkat, misalnya tingkat cylinder index dan tingkat track index. Berkas datanya secara umum diimplementasikan sebagai 2 berkas, yaitu prime area dan overflow area.
Contohnya :

Setiap cylinder dari alat penyimpanan mempunyai 4 track. Pada berkas binatang ada 6 cylinder yang dialokasikan pada prime data area. Track pertama (nomor 0) dari setiap cylinder berisi sebuah indeks pada record key dalam cylinder tersebut.
Dalam sebuah track data, tracknya disimpan secara urut berdasarkan nilai key. Tingkat pertama dari indeks dalam berkas indeks dinamakan master indeks. Tingkat kedua dari indeks dinamakan cylinder indeks.
Entry pada master indeks: nilai key tertinggi, pointer. Entry pada cylinder indeks: nilai key tertinggi, nomor cylinder.
Contoh Pengaksesan:
Misal : mengakses dengan nilai key BAT
Pertama : Cari pada master indeks,
Kedua : Karena BAT ada di depan LYNX, maka pointer dari LYNX akan menunjuk ke cylinder index,
Ketiga : Karena BAT ada di depan ELEPHANT, maka pointer dari ELEPHANT akan menunjuk ke track 0 dari cylinder 1,
Keempat : Karena BAT ada di belakang BABOON dan di depan COW, maka pointer dari BABOON akan menunjuk ke track 2,
Kelima : Cari secara sequential sampai BAT ditemukan.
(http://raodhotulm.blogspot.co.id/2014/05/organisasi-berkas-indeks-sequential. html, diakses 12 April 2016).



BAB III

3.1  Kesimpulan

Pembacaan record akan dibaca dari data pertama atau paling awal dan dilanjutkan dengan data berikutnya sehingga key yang dimasukkan dapat ditemukan.

3.2  Saran

Kajian dalam makalah ini masih banyak kekurangan, untuk itu kajian lebih lanjut sangat diperlukan.



DAFTAR PUSTAKA

http://raodhotulm.blogspot.co.id/2014/05/organisasi-berkas-indeks-sequential. Html diakses 17 April 2016.