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;
}
}