TUGAS
01
SISTEM
BERKAS
Organisasi Berkas Pada Magnetic
Tape
Disusun Oleh :
Nama : Idni Nuzulul Farandani
NIM : 121051107
Institut Sains dan Teknologi
AKPRIND Yogyakarta
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
