09/03/15

TUGAS 01
SISTEM BERKAS

ORGANISASI BERKAS
PADA MAGNETIC TAPE


Disusun Oleh:
NAMA          : ASTI WIDYANINGSIH
NIM              : 121051032

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

2015

SOAL/PERMASALAHAN

Menghitung panjang pita, lama akses, dan transfer rate pada magnetic tape dengan perhitungan blocking dan tanpa blocking jika diketahui jumlah record, panjang setiap record, IRG, IBG, blocking factor, data dencity, dan laju pita.

ALGORITMA
Rumus Tanpa Blocking
Panjang pita = ∑record * (panjang 1 record+IRG)
Lama akses = panjang pita/ laji pita
Transfer rate = ∑byte/lama akses
Rumus Blocking
Panjang pita = (∑record/factor blocking) * (panjang 1 record+IBG)
Lama akses = panjang pita/ laji pita
Transfer rate = ∑byte/lama akses
Algoritma Program
1.    Program mulai.
2.    Meminta inputan pilihan blocking (pil1) atau tanpa blocking (pil2).
3.    Meminta inputan jumlah record (v_rec), panjang setiap record (v_prec), IRG (v_irg), IBG (v_ibg), blocking factor (v_bf), data dencity (v_dd), dan laju pita (v_lp).
4.    Baca pilihan, v_rec, v_prec, v_irg, v_ibg, v_bf, v_dd, v_lp.
5.    Jika ada inputan yang bernilai negatif maka muncul message dialog.
6.    Jika pil1 terpilih maka v_pita=((v_rec/v_bf)*((v_bf*v_prec/v_dd)+v_ibg)); v_lama=v_pita/v_lp; v_trf=v_rec*v_prec/v_lama;
7.    Jika pil2 terpilih maka v_pita=(v_rec*((v_prec/v_dd)+v_irg));  v_lama=v_pita/v_lp; v_trf=v_rec*v_prec/v_lama;
8.    Klik hitung untuk cetak hasil pada textfield.
9.    Klik reset untuk menghapus isian pada textfield.
       10. Selesai.

SOURCE CODE
Bahasa Pemrograman yang digunakan adalah: Java
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.text.DecimalFormat;
public class Asti_121051032 extends javax.swing.JFrame {
public Asti_121051032() {
initComponents();
setTitle("Tugas_01 Sistem Berkas");
}
//method untuk menampilkan logo akprind
private void akprind(){
Graphics g=cv.getGraphics();
Image gb=Toolkit.getDefaultToolkit().getImage ("d:/logo.png");
int L=cv.getWidth(); int T=cv.getHeight();
g.drawImage(gb, 0, 0,L,T, this);
}
//method jika di klik tombol hitung
private void hitungActionPerformed(java.awt.event.ActionEvent evt) {                                      
DecimalFormat df = new DecimalFormat(".##");
double v_pita,v_lama,v_trf;
akprind();
double v_rec=Double.parseDouble(rec.getText().trim());
double v_prec=Double.parseDouble(p_rec.getText().trim());
double v_irg=Double.parseDouble(irg.getText().trim());
double v_ibg=Double.parseDouble(ibg.getText().trim());
double v_bf=Double.parseDouble(bf.getText().trim());
double v_dd=Double.parseDouble(dd.getText().trim());
double v_lp=Double.parseDouble(lp.getText().trim());
if ((v_rec<0)||(v_prec<0)||(v_irg<0)||(v_ibg<0)||(v_bf<0)||(v_dd<0)||(v_lp<0)){
JOptionPane.showMessageDialog(null, "Tidak boleh ada inputan 
negatif\nMohon diteliti lagi :)");
} else
if (pil1.isSelected()) {
   v_pita=((v_rec/v_bf)*((v_bf*v_prec/v_dd)+v_ibg));
   pita.setText(""+Double.valueOf(df.format(v_pita))+"");
   v_lama=v_pita/v_lp;
   lama.setText(""+Double.valueOf(df.format(v_lama))+"");
   v_trf=v_rec*v_prec/v_lama;
   trf.setText(""+Double.valueOf(df.format(v_trf))+"");
} else
{
   v_pita=(v_rec*((v_prec/v_dd)+v_irg));
   pita.setText(""+Double.valueOf(df.format(v_pita))+"");
   v_lama=v_pita/v_lp;
   lama.setText(""+Double.valueOf(df.format(v_lama))+"");
   v_trf=v_rec*v_prec/v_lama;
   trf.setText(""+Double.valueOf(df.format(v_trf))+"");
}
}
//method jika di klik tombol reset
private void resetActionPerformed(java.awt.event.ActionEvent evt) {
pita.setText("");lama.setText("");trf.setText("");
rec.setText("");p_rec.setText("");irg.setText("");
ibg.setText("");bf.setText("");dd.setText("");lp.setText("");
}
//method jika di klik tombol exit
private void exitActionPerformed(java.awt.event.ActionEvent evt) {System.exit(0);}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Asti_121051032().setVisible(true);}});
}

TAMPILAN INPUT
TAMPILAN OUTPUT
Jika ada nilai yang diidi negatif

Blocking
Tanpa Blocking

Source code bisa download di sini

6 komentar :