Tugas 1 Sistem Berkas ( Organisasi Berkas Pada Magnetic Tape )
SISTEM BERKAS
Organisasi Berkas Pada Magnetic Tape
Disusun Oleh :
Nama : Idni Nuzulul Farandani
NIM : 121051107
Teknologi Industri / Teknik Informatika
2015
I. Soal atau Permasalahan
Membuat sebuah aplikasi yang dapat menghitung panjang pita, lama akses dan transfer rate pada magnetic tape. Perhitungan dilakukan dengan metode blocking atau tanpa blocking. Jika yang diketahui adalah jumlah record, panjang setiap record, IRG, IBG, blocking factor, data dencity, dan laju pita. Bahasa pemrograman yang saya pakai untuk membuat aplikasi ini adalah Java ME.
II. Algoritma Program
1. Program Mulai.
2. Terdapat Pilihan Menggunakan Metode Blocking atau Tanpa Blocking.
3. Menginputkan Jumlah Record, Panjang Record, IRG, IBG, Blocking Factor, Data Dencity, dan Laju Pita.
4. Jika Yang Dipilih Blocking Maka pitablok = (jrec / blocfak) * ((blocfak * prec / dden) + ibg), aksesblok = pitablok / lpita, rateblok = jrec*prec / aksesblok.
5. Jika Yang Dipilih Tanpa Blocking Maka pitatblok = jrec * ((prec / dden) + irg), aksestblok = pitatblok / lpita, ratetblok = jrec*prec/ aksestblok.
6. Klik Hitung Untuk Menampilkan Hasil Panjang Pita, Lama Akses dan Transfer Rate.
7. Klik Kembali Untuk Kembali Kemenu Utama.
8. Pilih About Untuk Melihat Tentang Aplikasi.
9. Klik Keluar Untuk Keluar Dari Aplikasi.
10. Program Selesai.
III. Source Code
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class tugas1 extends MIDlet implements CommandListener {
Display display;
List list;
Form form;
TextField tf1, tf2, tf3, tf4, tf5, tf6, tf7;
TextBox tb;
public tugas1() { //menampilkan list
list = new List("Pilih Perhitungan", List.IMPLICIT);
list.append("Blocking", null);
list.append("Tanpa Blocking", null);
list.append("About", null);
list.setCommandListener(this);
list.addCommand(new Command("Pilih", Command.OK, 1));
list.addCommand(new Command("Keluar", Command.EXIT, 0));
}
public void masukkandata() { //menampilkan inputan
form = new Form("Input");
tf1 = new TextField("Jumlah Record : ", " ", 50, TextField.ANY);
form.append(tf1);
tf2 = new TextField("Panjang Record : ", " ", 50, TextField.ANY);
form.append(tf2);
tf3 = new TextField("IRG : ", " ", 50, TextField.ANY);
form.append(tf3);
tf4 = new TextField("IBG : ", " ", 50, TextField.ANY);
form.append(tf4);
tf5 = new TextField("Blocking Factor : ", " ", 50, TextField.ANY);
form.append(tf5);
tf6 = new TextField("Data Dencity : ", " ", 50, TextField.ANY);
form.append(tf6);
tf7 = new TextField("Laju Pita : ", " ", 50, TextField.ANY);
form.append(tf7);
form.addCommand(new Command("Hitung", Command.OK, 1));
form.addCommand(new Command("Keluar", Command.EXIT, 0));
form.addCommand(new Command("Kembali", Command.OK, 2));
form.setCommandListener(this);
Display.getDisplay(this).setCurrent(form);
}
public void hitung() {
double pitablok, pitatblok, aksesblok, aksestblok, rateblok, ratetblok,jbyte;
double jrec = Double.parseDouble(tf1.getString().trim());
double prec = Double.parseDouble(tf2.getString().trim());
double irg = Double.parseDouble(tf3.getString().trim());
double ibg = Double.parseDouble(tf4.getString().trim());
double blocfak = Double.parseDouble(tf5.getString().trim());
double dden = Double.parseDouble(tf6.getString().trim());
double lpita = Double.parseDouble(tf7.getString().trim());
pitablok = (jrec / blocfak) * ((blocfak * prec / dden) + ibg); //panjang pita blocking
pitatblok = jrec * ((prec / dden) + irg); //panjang pita tanpa blocking
aksesblok = pitablok / lpita; //lama akses blocking
aksestblok = pitatblok / lpita; //lama akses tanpa blocking
rateblok = jrec*prec / aksesblok; //transfer rate blocking
ratetblok = jrec*prec/ aksestblok; //transfer rate tanpa blocking
if (list.isSelected(0)) { //menampilkan hasil perhitungan blocking
tb = new TextBox("Hasil Perhitungan Dengan Blocking",
"Panjang Pita : " + pitablok + " inch\n" + "\n"
+ "Lama Akses : " + aksesblok + " detik\n" + "\n"
+ "Transfer Rate : " + rateblok + " byte/detik", 150, 0);
} else if (list.isSelected(1)) { //menampilkan hasil perhitungan tanpa blocking
tb = new TextBox("Hasil Perhitungan Tanpa Blocking",
"Panjang Pita : " + pitatblok + " inch\n" + "\n"
+ "Lama Akses : " + aksestblok + " detik\n" + "\n"
+ "Transfer Rate : " + ratetblok + " byte/detik", 150, 0);
}
tb.setCommandListener(this);
Display.getDisplay(this).setCurrent(tb);
tb.addCommand(new Command("Keluar", Command.EXIT, 0));
tb.addCommand(new Command("Kembali", Command.OK, 1));
}
public void selesai() {
destroyApp(true);
notifyDestroyed();
}
public void startApp() {
display = Display.getDisplay(this);
display.setCurrent(list);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
String label = c.getLabel();
if ("Keluar".equals(label)) {
selesai();
} else if ("Pilih".equals(label)) {
if (list.isSelected(0)) {
masukkandata();
} else if (list.isSelected(1)) {
masukkandata();
}
else if (list.isSelected(2)) { //menampilkan about aplikasi
tb = new TextBox("Tentang Program",
"Program ini dibuat oleh : " + "\n" + "\n"
+ "Nama : Idni Nuzulul Farandani" + "\n" + "\n"
+ "Nim : 121051107"+ "\n" + "\n"
+ "Bahasa Pemrograman : Java ME" , 150, 0);
tb.setCommandListener(this);
Display.getDisplay(this).setCurrent(tb);
tb.addCommand(new Command("Keluar", Command.EXIT, 0));
tb.addCommand(new Command("Kembali", Command.OK, 1));
}
} else if ("Kembali".equals(label)) {
startApp();
} else if ("Hitung".equals(label)) {
hitung();
}
}
}
IV. Contoh Tampilan Input Dan Output
A. Perhitungan Dengan Blocking
B. Perhitungan Tanpa Blocking
C. Tentang Aplikasi
Jika Ingin Melihat File PDF dan Aplikasinya Download Disini
Komentar
Posting Komentar