Rabu, 25 Maret 2015

Tugas 03 Sistem Berkas

TUGAS 03
SISTEM BERKAS

ORGANISASI BERKAS
PHYSICAL SEQUENTIAL


DISUSUN OLEH :
Paramitha Dahlan
121051017

  



Jurusan Teknik Informatika
Fakultas Teknologi Industri
Institut Sains & Teknologi Akprind
Yogyakarta
2015

Soal / Permasalahan
            Membuat sebuah program dengan menggunakan bahasa bebas untuk mencari sebuah nilai kunci dengan menghitung pada langkah berapa kunci ditemukan, urutan berapa kunci ditemukan dan berapa waktu yang dibutuhkan untuk mengakses kunci tersebut.

Algoritma
1. Program mulai
2. Meminta masukkan berapa jumlah nilai kunci yang akan diinputkan
3.  Masukkan kunci yang akan diinputkan sesuai dengan jumlah kunci yang diinginkan
4.   Kemudian masukkan kunci yang akan dicari
5.   Hitung waktu akses “waktu=Math.log10(jmlh)”
6.  Jika kunci ada dalam record atau ditemukan maka cetak ‘Data Ditemukan’
7.  Jika kunci tidak ada dalam record atau tidak ditemukan maka cetak ‘Data Tidak Ditemukan”
8. Program selesai.

Metode Akses Sequential Menggunakan Bahasa Java

Source Code

public class tugasb extends javax.swing.JFrame {
    String cari;
    double waktu;
    int jmlh,urut,n=0,rec=0;
    String kunci[]=new String[100];

    public tugasb() {
        initComponents();
        setTitle("Tugas 03 Sistem Berkas");
     }
private void insertActionPerformed(java.awt.event.ActionEvent evt) {
        jmlh=Integer.parseInt(no.getText());
        n++;
        if(n<=jmlh){
            kunci[n]=key.getText();
            key.setText("");
            takunci.append(kunci[n]+"\n");
        }
    }

    private void searchActionPerformed(java.awt.event.ActionEvent evt) {
        cari=serkey.getText();
        waktu=Math.log10(jmlh);
        boolean []ketemu=new boolean[100];
        for (int i=1;i<=n;i++)
        {
            if(kunci[i].equals(cari)){
                ketemu[i]=true;rec=i;
                tacari.append("Data Ditemukan\n");
                tacari.append("Kunci '"+cari+"' Ditemukan pada langkah ke-"+rec+"\n");
                tacari.append("Kunci '"+cari+"' Ditemukan pada record ke-"+rec+"\n");
                tacari.append("Waktu Akses = "+waktu+"\n");
            }
            else ketemu[i]=false;
        }
        if (ketemu[rec]){}
        else tacari.append("Data Tidak Ditemukan\n");
    }

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

Hasil Running

Tampilan Awal Program

Tampilan Input Data dan Data Ditemukan

Tampilan Jika Data Tidak Ditemukan


Metode Binary Search Menggunakan Bahasa C++

Source Code

#include<conio.h>
#include<iomanip.h>
#include<math.h>
void string(char kunci[20]);
static int search(int kunci[], int cari, int n){
                        int awal=1, akhir=n, tengah;
                        while(awal<=akhir){
                                    tengah=(awal+akhir)/2;
                                    if( kunci[tengah]==cari){
                                                return tengah;}
                                    else if(kunci[tengah]<cari){
                                    awal=tengah+1;
                                    }
                                    else akhir=tengah-1;
                        }
                        return -1;
             }
void main()
{
             int n,i,pos,next;
             double waktu;
             int kunci[20],cari;
             cout<<"        +===========================================+"<<endl;
             cout<<"        |        Program Mencari Sebuah Kunci       |"<<endl;
             cout<<"        |         dengan Metode Binary Search       |"<<endl;
             cout<<"        |               menggunakan C++             |"<<endl;
             cout<<"        +===========================================+"<<endl;
             cout<<"        |   Dibuat oleh                             |"<<endl;
             cout<<"        |   Nama               : Paramitha Dahlan   |"<<endl;
             cout<<"        |   NIM                : 121051017          |"<<endl;
             cout<<"        |   Bahasa Pemrograman : Bahasa C++         |"<<endl;
             cout<<"        +-------------------------------------------+"<<endl;
             cout<<"         TEKNIK INFORMATIKA | IST AKPRIND YOGYAKARTA"<<endl<<endl;
             cout<<"\nmasukkan angka 0 untuk melanjutkan... ";cin>>next;
             clrscr();
             cout<<"      +=============================================+"<<endl;
             cout<<"      |             Metode Binary Search            |"<<endl;
             cout<<"      |---------------------------------------------|"<<endl;
             cout<<"        Masukkan Jumlah Kunci : ";cin>>n;
             for(i=1;i<=n;i++)
                        {
                                    cout<<"           Masukkan Kunci Ke- "<<i<<" : ";cin>>kunci[i];
                        }
             cout<<"      -----------------------------------------------"<<endl;
             cout<<"       Mencari Sebuah Nilai Kunci"<<endl;
             cout<<"         Masukkan Kunci yang akan dicari : ";cin>>cari;
             waktu=log10(n);
             pos=search(kunci,cari,n);
             cout<<"         Hasil Pencarian -->"<<endl;
             if(pos==-1){
             cout<<"          Kunci Tidak Ditemukan"<<endl;
             }
             else {
             cout<<"          Kunci Ditemukan"<<endl;
             cout<<"         +-----------------------------------------------------+"<<endl;
             cout<<"         |  Kunci "<<cari<<" Ditemukan pada langkah ke-"<<pos<<endl;
             cout<<"         |  Kunci "<<cari<<" Ditemukan pada record ke-"<<endl;
             cout<<"         |  Waktu Akses : "<<waktu<<endl;
             cout<<"         +-----------------------------------------------------+"<<endl;
             }

 }


Hasil Running



Tampilan Awal Program

Tampilan Input Data Pada Program

Tampilan Jika Data yang di cari Ditemukan

Tampilan Jika Data yang dicari Tidak Ditemukan









 
;