Skip to main content

3 Rekomendasi Tools Untuk UI/UX Designer Tools Gratis Terbaik 2022

 Tidak dapat dipungkiri bahwa user interface merupakan salah satu komponen penting di dalam sebuah website/aplikasi. Terlepas dari fungsi aplikasinya, sebuah aplikasi harus memiliki tampilan yang baik dan mudah digunakan oleh penggunanya.  Oleh karena itu saat ini banyak perusahaan yang membutuhkan tenaga UI/UX designer untuk menyempurnakan design tampilan pada website/aplikasi mereka. Jika anda berminat untuk menjadi seorang UI/UX designer, berikut rekomendasi UI/UX designer dari saya yang tentunya gratis dan cocok digunakan untuk pemula maupun anda yang sudah lama menggeluti bidang ini. Ga pake lama skuy kita langsung ke rekomendasinya. 1. figma Nah di rekomendasi nomer 1 ini ada figma. Belakangan ini nama figma cukup terkenal di kalangan para UI/UX designer. Figma cukup mudah digunakan bahkan untuk para pemula yang ingin mulai mencoba untuk menggeluti bidang UI/UX designer. Terlebih lagi software ini berbasais web sehinggal anda tidak perlu melakukan instalasi software untu...

Program Konversi Bilangan Dengan OOP JAVA

Pada postingan kali ini saya akan memberikan contoh program konversi mata bilangan dari desimal, biner, oktal dan hexadesimal di java dengan paradigma OOP. Program yang saya berikan ini berbasis GUI sehingga akan kan user dalam menggunakan program/aplikasi ini nantinya. Baik langsung saja kita masuk ke programnya...

File-file yang ada di program ini berada dalam 1 package.

Konversi_bilangan.java (main class)


package konversi_bilangan;
import java.util.ArrayList;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author ASIKIN AJ
 */
public class Konversi_bilangan extends javax.swing.JFrame {

    /**
     * Creates new form Konversi_bilangan
     */
   
    ArrayList<EntitasData> history = new ArrayList<EntitasData>();
    DefaultTableModel tabelModel;
   
    public Konversi_bilangan() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jenis_bilangan = new javax.swing.JComboBox<>();
        input = new javax.swing.JTextField();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        desimal = new javax.swing.JTextField();
        biner = new javax.swing.JTextField();
        oktal = new javax.swing.JTextField();
        hexa = new javax.swing.JTextField();
        konversi = new javax.swing.JButton();
        reset = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        tblData = new javax.swing.JTable();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jenis_bilangan.setFont(new java.awt.Font("Calibri", 0, 18)); // NOI18N
        jenis_bilangan.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Desimal", "Biner", "Oktal", "Hexadesimal" }));
        jenis_bilangan.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jenis_bilanganActionPerformed(evt);
            }
        });

        input.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                inputActionPerformed(evt);
            }
        });

        jLabel1.setFont(new java.awt.Font("Calibri", 0, 18)); // NOI18N
        jLabel1.setText("Desimal");

        jLabel2.setFont(new java.awt.Font("Calibri", 0, 18)); // NOI18N
        jLabel2.setText("Biner");

        jLabel3.setFont(new java.awt.Font("Calibri", 0, 18)); // NOI18N
        jLabel3.setText("Oktal");

        jLabel4.setFont(new java.awt.Font("Calibri", 0, 18)); // NOI18N
        jLabel4.setText("Hexadesimal");

        desimal.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                desimalActionPerformed(evt);
            }
        });

        hexa.setText(" ");

        konversi.setText("Konversi");
        konversi.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                konversiActionPerformed(evt);
            }
        });

        reset.setText("Reset");
        reset.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                resetActionPerformed(evt);
            }
        });

        tblData.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null}
            },
            new String [] {
                "Bilangan awal", "Desimal", "Biner", "Oktal", "Hexadesimal"
            }
        ));
        tblData.addAncestorListener(new javax.swing.event.AncestorListener() {
            public void ancestorMoved(javax.swing.event.AncestorEvent evt) {
            }
            public void ancestorAdded(javax.swing.event.AncestorEvent evt) {
                tblDataAncestorAdded(evt);
            }
            public void ancestorRemoved(javax.swing.event.AncestorEvent evt) {
            }
        });
        jScrollPane1.setViewportView(tblData);

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(29, 29, 29)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jenis_bilangan, javax.swing.GroupLayout.PREFERRED_SIZE, 185, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(47, 47, 47)
                        .addComponent(input, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(konversi, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(110, 110, 110)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(desimal, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(biner, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(oktal, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(hexa, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(reset, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 37, Short.MAX_VALUE)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(34, 34, 34))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(51, 51, 51)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jenis_bilangan, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(input, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(51, 51, 51)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(desimal, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(51, 51, 51)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(biner, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(51, 51, 51)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(oktal, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(51, 51, 51)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(hexa, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(36, 36, 36)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(konversi, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(reset, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(245, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>                        

    private void jenis_bilanganActionPerformed(java.awt.event.ActionEvent evt) {                                              
        // TODO add your handling code here:
    }                                              

    private void inputActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
    }                                    

    private void konversiActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
        //String jenis_bil = jenis_bilangan.getSelectedItem().toString();
        String input_bil = input.getText();
       
        if(jenis_bilangan.getSelectedItem()=="Desimal"){
            Desimal bil_des = new Desimal();
            desimal.setText(bil_des.toDesimal(input_bil));;
            biner.setText(bil_des.toBiner(input_bil));
            oktal.setText(bil_des.toOktal(input_bil));
            hexa.setText(bil_des.toHexa(input_bil));
        }
        else if(jenis_bilangan.getSelectedItem()=="Biner"){
            Biner bil_bin = new Biner();
            desimal.setText(bil_bin.toDesimal(input_bil));;
            biner.setText(bil_bin.toBiner(input_bil));
            oktal.setText(bil_bin.toOktal(input_bil));
            hexa.setText(bil_bin.toHexa(input_bil));
        }
        else if(jenis_bilangan.getSelectedItem()=="Oktal"){
            Oktal bil_okt = new Oktal();
            desimal.setText(bil_okt.toDesimal(input_bil));;
            biner.setText(bil_okt.toBiner(input_bil));
            oktal.setText(bil_okt.toOktal(input_bil));
            hexa.setText(bil_okt.toHexa(input_bil));
        }
        else{
            Hexadesimal bil_hexa = new Hexadesimal();
            desimal.setText(bil_hexa.toDesimal(input_bil));;
            biner.setText(bil_hexa.toBiner(input_bil));
            oktal.setText(bil_hexa.toOktal(input_bil));
            hexa.setText(bil_hexa.toHexa(input_bil));
        }
       
        isiData(jenis_bilangan.getSelectedItem().toString(), desimal.getText(), biner.getText(), oktal.getText(), hexa.getText());
        tampilData();
    }                                        

    private void resetActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        jenis_bilangan.setSelectedIndex(0);
        input.setText("");
        desimal.setText("");
        biner.setText("");
        oktal.setText("");
        hexa.setText("");
    }                                    

    private void tblDataAncestorAdded(javax.swing.event.AncestorEvent evt) {                                      
        // TODO add your handling code here:
    }                                    

    private void desimalActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
    }                                      

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Konversi_bilangan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Konversi_bilangan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Konversi_bilangan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Konversi_bilangan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Konversi_bilangan().setVisible(true);
            }
        });
    }

    public void isiData(String bil_awal, String desimal, String biner, String oktal, String hexa){
        EntitasData tambah = new EntitasData(bil_awal, desimal, biner, oktal, hexa);
        history.add(tambah);
        //history.add(tambah);
    }
   
    public void tampilData(){
        String[] kolom = {"Bilangan awal", "Desimal", "Biner", "Oktal", "Hexadesimal"};
        Object[][] objData = new Object[history.size()][5];
       
        int i = 0;
        for(EntitasData n : history){
            String[] arrData = {n.getBilAwal(), n.getDesimal(), n.getBiner(), n.getOktal(), n.getHexadesimal()};
            objData[i] = arrData;
            i++;
        }
       
        tabelModel = new DefaultTableModel(objData,kolom){
            //membuat tabel tidak bisa diedit saat diklik
            @Override
            public boolean isCellEditable(int rowIndex, int colIndex) {
                return false;
            }
        };
       
        tblData.setModel(tabelModel);
    }
   
    // Variables declaration - do not modify                    
    private javax.swing.JTextField biner;
    private javax.swing.JTextField desimal;
    private javax.swing.JTextField hexa;
    private javax.swing.JTextField input;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JComboBox<String> jenis_bilangan;
    private javax.swing.JButton konversi;
    private javax.swing.JTextField oktal;
    private javax.swing.JButton reset;
    private javax.swing.JTable tblData;
    // End of variables declaration                  
}


Konversi.java

package konversi_bilangan;

/**
 *
 * @author ASIKIN AJ
 */
public abstract class Konversi {
    abstract public String toDesimal(String input);
    abstract public String toBiner(String input);
    abstract public String toOktal(String input);
    abstract public String toHexa(String input);
}


Desimal.java

package konversi_bilangan;

/**
 *
 * @author ASIKIN AJ
 */
public class Desimal extends Konversi{
    int bil_asal;
   
    @Override
    public String toDesimal(String desimal){
        return desimal;
    }
   
    @Override
    public String toBiner(String desimal){
        String bin;
       
        this.bil_asal = Integer.parseInt(desimal);
        bin = Integer.toBinaryString(this.bil_asal);
        return bin;
    }
   
    @Override
    public String toOktal(String desimal){
        String okt;
       
        this.bil_asal = Integer.parseInt(desimal);
        okt = Integer.toOctalString(this.bil_asal);
        return okt;
    }
   
    @Override
    public String toHexa(String desimal){
        String hexa;
       
        this.bil_asal = Integer.parseInt(desimal);
        hexa = Integer.toHexString(this.bil_asal);
        return hexa;
    }

}


Biner.java

package konversi_bilangan;

/**
 *
 * @author ASIKIN AJ
 */
public class Biner extends Konversi{
    int bil_asal;
   
    @Override
    public String toDesimal(String bin){
        String des;
       
        this.bil_asal = Integer.parseInt(bin, 2);
        des = Integer.toUnsignedString(this.bil_asal);
        return des;
    }
   
    @Override
    public String toBiner(String bin){
        return bin;
    }
   
    @Override
    public String toOktal(String bin){
        String okt;
        String sementara;
        int pindah;
       
        this.bil_asal = Integer.parseInt(bin, 2);
        sementara = Integer.toUnsignedString(this.bil_asal);
        pindah = Integer.parseInt(sementara);
        okt = Integer.toOctalString(pindah);
        return okt;
    }
   
    @Override
    public String toHexa(String bin){
        String hexa;
        String tampung1;
        int tampung2;
       
        this.bil_asal = Integer.parseInt(bin, 2);
        tampung1 = Integer.toUnsignedString(this.bil_asal);
        tampung2 = Integer.parseInt(tampung1);
        hexa = Integer.toHexString(tampung2);
        return hexa;
    }
}


Oktal.java

package konversi_bilangan;

/**
 *
 * @author ASIKIN AJ
 */
public class Oktal extends Konversi{
    int bil_asal;
   
    @Override
    public String toDesimal(String okt){
        String des;
       
        this.bil_asal = Integer.parseInt(okt,8);
        des = Integer.toUnsignedString(this.bil_asal);
        return des;
    }
   
    @Override
    public String toBiner(String okt){
        String bin;
        String tampung1;
        int tampung2;
       
        this.bil_asal = Integer.parseInt(okt,8);
        tampung1 = Integer.toUnsignedString(this.bil_asal);
        tampung2 = Integer.parseInt(tampung1);
        bin = Integer.toBinaryString(tampung2);
        return bin;
    }
   
    @Override
    public String toOktal(String okt){
        return okt;
    }
   
    @Override
    public String toHexa(String okt){
        String hexa;
        String tampung1;
        int tampung2;
       
        this.bil_asal = Integer.parseInt(okt,8);
        tampung1 = Integer.toUnsignedString(this.bil_asal);
        tampung2 = Integer.parseInt(tampung1);
        hexa = Integer.toHexString(tampung2);
        return hexa;
    }
}


Hexadesimal.java

package konversi_bilangan;

/**
 *
 * @author ASIKIN AJ
 */
public class Hexadesimal extends Konversi{
    int bil_awal;
   
     @Override
    public String toDesimal(String hexa){
        String des;
       
        this.bil_awal = Integer.parseInt(hexa,16);
        des = Integer.toUnsignedString(this.bil_awal);
        return des;
    }
   
    @Override
    public String toBiner(String hexa){
        String bin;
        String tampung1;
        int tampung2;
       
        this.bil_awal = Integer.parseInt(hexa,16);
        tampung1 = Integer.toUnsignedString(this.bil_awal);
        tampung2 = Integer.parseInt(tampung1);
        bin = Integer.toBinaryString(tampung2);
        return bin;
    }
   
    @Override
    public String toOktal(String hexa){
        String okt;
        String tampung1;
        int tampung2;
       
        this.bil_awal = Integer.parseInt(hexa,16);
        tampung1 = Integer.toUnsignedString(this.bil_awal);
        tampung2 = Integer.parseInt(tampung1);
        okt = Integer.toOctalString(tampung2);
        return okt;
    }
   
    @Override
    public String toHexa(String hexa){
        return hexa;
    }
}


EntitasData.java

package konversi_bilangan;

/**
 *
 * @author ASIKIN AJ
 */
public class EntitasData {
    private String bil_awal;
    private String desimal;
    private String biner;
    private String oktal;
    private String hexadesimal;
   
    public EntitasData(String bil_awal, String desimal, String biner, String oktal, String hexadesimal) {
        this.bil_awal = bil_awal;
        this.desimal = desimal;
        this.biner = biner;
        this.oktal = oktal;
        this.hexadesimal = hexadesimal;
    }
   
    public String getBilAwal(){
        return this.bil_awal;
    }
   
    public String getDesimal(){
        return this.desimal;
    }
   
    public String getBiner(){
        return this.biner;
    }
   
    public String getOktal(){
        return this.oktal;
    }
   
    public String getHexadesimal(){
        return this.hexadesimal;
    }
   
}


Keterangan:

- Class Konversi_bilangan.java merupakan main class atau class yang pertama kali dipanggil saat program dijalankan.

- Class Konversi.java merupakan abstract class yang berisi 4 abstract method dimana nantinya semua abstract method ini akan diOverride pada masing-masing class yang melakukan extends(inheritence) ke abstract class ini.

- Class Desimal.java berisi 4 method yang merupakan override dari parent classnya (Konversi.java) yang masing-masing methodnya digunakan untuk mengkonversi bilangan dari desimal ke biner/oktal/hexadesimal.

- Class Biner.java berisi 4 method yang merupakan override dari parent classnya (Konversi.java) yang masing-masing methodnya digunakan untuk mengkonversi bilangan dari biner ke desimal/oktal/hexadesimal.

- Class Oktal.java berisi 4 method yang merupakan override dari parent classnya (Konversi.java) yang masing-masing methodnya digunakan untuk mengkonversi bilangan dari oktal ke desimal/biner/hexadesimal.

- Class Hexadesimal.java berisi 4 method yang merupakan override dari parent classnya (Konversi.java) yang masing-masing methodnya digunakan untuk mengkonversi bilangan dari hexadesimal ke desimal/biner/oktal.

- Class EntitasData.java digunakan untuk membantu program menginputkan data history konversi kedalam ArrayList yang nantinya data di dalam ArrayList tersebut akan ditampilkan di dalam tabel.


Tampilan Program:

Sekian dari saya, jika ada kritik/saran silahkan tinggalkan di kolom komentar. Terima kasih telah berkunjung :)

Comments

Popular posts from this blog

Program C Insert Terurut dan Delete Tertentu Dengan Struct

Pada postingan kali ini saya akan memberikan contoh program C sederhana menggunakan struct untuk input data terurut dan delete data tertentu. Ga usah basa-basi lagi langsung aja skuy kita ke code programnya. #include <stdio.h> #include <stdlib.h> typedef struct simpul dnode; struct simpul{     int data;     dnode *next, *prev; }; dnode *head=NULL, *p; int choose; //MENU void menu(); //URUT void sortir(); //ALOKASI void alokasi(); //INSERT void akhir(); void before(int ); //DELETE void del_awal(); void del_akhir(); void del_ttt(); void bebas(dnode *b); //CETAK void tampil(); int main() {     do{         puts("MENU DLL :");         puts("1. Insert Terurut");         puts("2. Delete Tertentu");         puts("3. Keluar");         printf("Masukkan pilihan anda : ");         scanf("%d", &choose);         fflus...

3 Rekomendasi Tools Untuk UI/UX Designer Tools Gratis Terbaik 2022

 Tidak dapat dipungkiri bahwa user interface merupakan salah satu komponen penting di dalam sebuah website/aplikasi. Terlepas dari fungsi aplikasinya, sebuah aplikasi harus memiliki tampilan yang baik dan mudah digunakan oleh penggunanya.  Oleh karena itu saat ini banyak perusahaan yang membutuhkan tenaga UI/UX designer untuk menyempurnakan design tampilan pada website/aplikasi mereka. Jika anda berminat untuk menjadi seorang UI/UX designer, berikut rekomendasi UI/UX designer dari saya yang tentunya gratis dan cocok digunakan untuk pemula maupun anda yang sudah lama menggeluti bidang ini. Ga pake lama skuy kita langsung ke rekomendasinya. 1. figma Nah di rekomendasi nomer 1 ini ada figma. Belakangan ini nama figma cukup terkenal di kalangan para UI/UX designer. Figma cukup mudah digunakan bahkan untuk para pemula yang ingin mulai mencoba untuk menggeluti bidang UI/UX designer. Terlebih lagi software ini berbasais web sehinggal anda tidak perlu melakukan instalasi software untu...