Вы находитесь на странице: 1из 5

LAPORAN RESMI PRAKTIKUM 1 METODE NUMERIK

KONVERSI BILANGAN

I. Algoritma Program
1. Tentukan besarnya basis-n suatu bilangan baseN
2. Baca input bilangan valueN, kemudian tentukan panjang digit digitN
3. Parsing valueN untuk mendapatkan an[0] s/d an[digitN-1] sebagai nilai tiap posisi bilangan
4. Nilai hasil bn[0] = an[0]
5. Untuk i=1 s/d i<digitN, hitung : bn[i] = an[i] + (bn[i-1]*baseN)

II. Source Code Program yang Sudah Benar


Pemrograman : Java, Netbeans

package konversi;

import javax.swing.JOptionPane;

public class KonversiBilangan extends javax.swing.JFrame {

int i, j, baseN, digitN, valueN, loops;


int[] an, bn;

public KonversiBilangan() {
initComponents();
}

@SuppressWarnings("unchecked")
// Generated Code
private void initComponents() {
.... //ini berisi source code hasil generate dari desain GUI
}

private void btnKonversiActionPerformed(java.awt.event.ActionEvent evt) {


try {
boolean isBase2 = base2.isSelected();
boolean isBase4 = base4.isSelected();
boolean isBase8 = base8.isSelected();
String desimalValue = new String();

desimalValue = txtInput.getText();
valueN = Integer.parseInt(desimalValue);
digitN = desimalValue.length();

an = new int[digitN];
bn = new int[digitN];

if(isBase2) {
baseN = 2;
} else if (isBase4) {
baseN = 4;
} else if (isBase8) {
baseN = 8;
}

1210151036 M. FATHUR ROHMAN


loops = digitN;
for(i=0; i<digitN; i++) {
an[i] = valueN/(pangkat(10, --loops));
valueN = valueN - (an[i]*(pangkat(10, loops)));
}

bn[0] = an[0];
for(i=1; i<digitN; i++) {
bn[i] = an[i] + (bn[i-1]*baseN);
}
txtOutDesimal.setText(String.valueOf(bn[digitN-1]));

} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Input tidak valid: " + e.getMessage());
} finally {
txtOutDesimal.setEnabled(true);
txtInput.setEnabled(true);
}
}

public static void main(String args[]) {


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new KonversiBilangan().setVisible(true);
}
});
}

public static int pangkat(int x, int y) {


int n, hasil=1;
for(n=0; n<y; n++) {
hasil = hasil * x;
}
return hasil;
}

private javax.swing.JRadioButton base2;


private javax.swing.JRadioButton base4;
private javax.swing.JRadioButton base8;
private javax.swing.JButton btnKonversi;
private javax.swing.ButtonGroup buttonBase;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JTextField txtInput;
private javax.swing.JTextField txtOutDesimal;
}

1210151036 M. FATHUR ROHMAN


III. Screenshot Praktikum
1. Tampilan Netbeans 8.1 IDE (Source Code View)

2. Tampilan Netbeans 8.1 IDE (Design View)

3. Tampilan Program saat dijalankan


a. Konversi Bilangan base-2 (biner) ke desimal

1210151036 M. FATHUR ROHMAN


Pengujian base-2 ke desimal dengan digit yang lebih panjang

b. Konversi Bilangan base-4) ke desimal

Pengujian base-4 ke desimal dengan digit yang lebih panjang

1210151036 M. FATHUR ROHMAN


c. Konversi Bilangan base-8 ke desimal

Pengujian base-8 ke desimal dengan digit yang lebih panjang

1210151036 M. FATHUR ROHMAN