Membuat Aplikasi Perhitungan Volumetrik (Pengiriman Barang))

Jika kita mengirim barang, misalnya di JNE, Tiki, dan lainnya dengan ukuran yang besar, biaya akan dihitung berdasarkan perhitungan volumetrik. Dari hasil perhitungan volumetrik akan menghasilkan berat yang biaya kirimnya disesuaikan dengan berat tersebut dan lokasi tujuan pengirimannya. Kali ini saya membuat aplikasi desktop sederhana perhitungan volumetrik menggunakan Java. Source code saya share dibawah ini. Untuk Project Netbeans dan file jarnya akan menyusul uploadnya.

http://tempel.blankon.in/5157347

Untuk menggunakan aplikasinya, cukup masukkan angka pada panjang, lebar, dan tinggi kemudian tekan enter untuk memperoleh hasil volumetriknya.

Selamat mencoba dan semoga bermanfaat 🙂

Untuk pertanyaan, saran dan kritik silahkan ditulis dikolom komentar.

Iklan

Link Download Lengkap Source Code Program Java marisharingilmu + Link Download Artikel Linux Error

img

Sebelumnya saya mohon maaf, karena semua link download dari cloud storage copy mengalami error. Ini dikarenakan cloud storage copy mulai memberhentikan layanannya tanggal 1 Mei 2016. Saat ini saya sedang mengganti link error tersebut satu – persatu. Jika anda membutuhkan source code program Java yang saya share, anda dapat langsung memilih source code program tersebut lewat link dibawah ini. Ada ratusan source code program Java yang dapat anda pilih dan download.

[1] Download Source Code Program Java di marisharingilmu

Sedangkan jika anda menemukan link download error pada artikel Linux, anda dapat mendownloadnya disini

[1] Download

[2] Download

Semoga bermanfat 🙂

Untuk pertanyaan, saran dan kritik silahkan ditulis di kolom komentar.

[JD4X] Java Desktop Untuk X Window

Bagi anda penggemar pemrograman Java, anda dapat mencoba X Window berbasis Java Desktop. Untuk X Window Java anda dapat menggunakan JD4X. Apa saja feature JD4X?

a. Mendukung multithreaded
b. Mendukung jaringan
c. Mendukung multiple user workspace
d. Gratis dan Open Source
e. dan masih banyak lagi

Selengkapnya dapat anda baca disini

http://jdx.sourceforge.net/jd4x-doc/v02beta/about.html

Untuk download JD4X anda dapat mengunjungi link berikut

http://jdx.sourceforge.net/

Berikut ini beberapa screenshot tampilan desktopnya yang saya ambil dari website resminya

img2

img1

Selamat mencoba dan semoga bermanfaat 🙂

Untuk pertanyaan, saran dan kritik silahkan ditulis di kolom komentar.

Membuat Program Menjalankan Command Linux dengan Java Swing / Desktop

Sudah cukup lama saya belum memposting artikel tentang Java Swing. Kali ini saya membuat program sederhana menjalankan command Linux di Java Swing. Cara kerja aplikasi ini adalah anda input command Linux di textfield 1 kemudian klik tombol Proses, maka hasilnya akan ditampilkan di textfield 2. Untuk membersihkan textfield klik tombol Refresh.

Berikut ini source code Javanya

package JavaConsole;

import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import javax.swing.JTextField;
import java.awt.Color;

@SuppressWarnings("serial")
public class frm extends JFrame {

	private JPanel contentPane;
	String s;
	Process p;
	private JTextField textField;
	private JButton btnNewButton;
	private JTextField txt;
	private JButton btnNewButton_1;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					frm frame = new frm();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public frm() {
		setTitle("Java Console");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 164);
		contentPane = new JPanel();
		contentPane.setBackground(new Color(0, 51, 204));
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		textField = new JTextField();
		textField.setBounds(12, 54, 424, 30);
		contentPane.add(textField);
		textField.setColumns(10);

		txt = new JTextField();
		txt.setBounds(12, 12, 424, 30);
		contentPane.add(txt);
		txt.setColumns(10);

		btnNewButton = new JButton("Proses");
		btnNewButton.setBackground(Color.ORANGE);
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				try {

					p = Runtime.getRuntime().exec(txt.getText());
					BufferedReader br = new BufferedReader(
							new InputStreamReader(p.getInputStream()));
					while ((s = br.readLine()) != null)
						textField.setText("" + s);
					p.waitFor();
					System.out.println("exit: " + p.exitValue());
					p.destroy();

				} catch (Exception e) {
				}
			}

		});
		btnNewButton.setBounds(103, 102, 106, 24);
		contentPane.add(btnNewButton);

		btnNewButton_1 = new JButton("Refresh");
		btnNewButton_1.setBackground(Color.ORANGE);
		btnNewButton_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				textField.setText("");
				txt.setText("");
				txt.requestFocus();
			}
		});
		btnNewButton_1.setBounds(246, 102, 106, 24);
		contentPane.add(btnNewButton_1);

	}
}

Seperti ini tampilan programnya.

Input perintah uname -a

Screenshot

Hasil ditampilkan di textfield 2

Screenshot-1

Menampilkan waktu hari ini

Screenshot-2

Selamat mencoba dan semoga bermanfaat 🙂

Untuk pertanyaan, saran dan kritik silahkan ditulis di kolom komentar.

Membuat Animasi Mobil Berjalan dengan Java

Pada posting yang lalu saya memberikan tutorial menampilkan animasi kereta api di terminal Linux. Lalu bagaimana cara membuat animasi berjalan tersebut? Kali ini saya share source code yang menampilkan animasi mobil berjalan dengan menggunakan Java. Konsepnya hampir mirip dengan animasi kereta berjalan. Tampilan mobil tersebut adalah 2D.

Berikut ini source codenya

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.Timer;

@SuppressWarnings("serial")
public class animasiMobil extends JPanel{
    private static final int D_W = 400;
    private static final int D_H = 400;

    List<Car> cars;
    @SuppressWarnings({ "unchecked", "rawtypes" })
	public animasiMobil() {
    	setBackground(new Color(153, 102, 51));
    	setLayout(null);
    	
        cars = new ArrayList();
        cars.add(new Car(100, 300));
        cars.add(new Car(200, 100));

        Timer timer = new Timer(50, new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                for (Car car : cars) {
                    car.move();
                    repaint();
                }
            }
        });
        timer.start();
    }

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        for (Car car : cars) {
            car.drawCar(g);
        }
    }

    @Override
    public Dimension getPreferredSize() {
        return new Dimension(D_W, D_H);
    }

    public class Car {
        private static final int INCREMENT = 5;
        int x, y;
        public Car(int x, int y) {
            this.x = x;
            this.y = y;
        }
        public void drawCar(Graphics g) {
            g.setColor(Color.RED);
            g.fillRect(x, y, 100, 30);
            g.setColor(Color.BLACK); // body
            g.fillOval(x + 15, y + 20, 20, 20); // wheel
            g.fillOval(x + 60, y + 20, 20, 20); // wheel
            g.fillRect(x + 15, y - 20, 60, 20); // top
        }

        public void move() {
            if (x == D_W) {
                x = 0;
            } else {
                x += INCREMENT;
            }
        }
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JFrame frame = new JFrame();
                frame.getContentPane().add(new animasiMobil());
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				frame.setTitle("Animasi Mobil");
                frame.pack();
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
            }
        });
    }
}

Untuk menjalakan program tersebut anda dapat menggunakan IDE Geany yang ringan dan powerfull.

Seperti ini tampilan animasi mobil berjalan

Screenshot

Selamat mencoba dan semoga bermanfaat 🙂

Untuk pertanyaan, saran dan kritik silahkan ditulis di kolom komentar.

Membuat Program Animasi Matrix dengan Java Swing

Pada posting sebelumnya saya memberikan tutorial menampilkan animasi matrix di terminal Linux. Kali ini saya share source code membuat animasi matrix tersebut dengan menggunakan Java. Animasi komputer matrix tersebut mirip dengan tampilan komputer yang ada dalam film The Matrix.

Berikut ini source code animasi matrixnya

import java.awt.*;
import java.util.*;
import javax.swing.*;

// Original code by : Ricco
// Modified by : Resa CR
@SuppressWarnings("serial")
public class animasiMatrix extends JFrame { 

private static final int FONT_SIZE = 20;
private static final int NUMBER_OF_REPEATS = 5;
private static final String TEXT = new String("# % 1 2 3  $*()14578  (^%#%^&amp;*123   $%-++=728276");
private static JPanel panel = new JPanel(null);
private static Random random = new Random();
private static JLabel label[] = new JLabel[NUMBER_OF_REPEATS];

public animasiMatrix() {        
   this.add(panel);
   panel.setBackground(Color.BLACK);
}
public void scroll() {
    //array to hold x coordinates for the labels
    int[] random_x = new int[NUMBER_OF_REPEATS];
    //create an infinite loop
    while (true) {
        //initialise all the labels to random characters
        for (int i = 0; i &lt; NUMBER_OF_REPEATS; i++) {
          int character_initial = random.nextInt(TEXT.length());
          random_x[i] = random.nextInt(panel.getWidth() / FONT_SIZE) - 1;
          label[i] = new JLabel(&quot;&quot; + TEXT.charAt(character_initial));
          panel.add(label[i]);
          label[i].setFont(new Font(&quot;Arial Black&quot;, Font.PLAIN, FONT_SIZE));
        label[i].setForeground(new Color(0, 255, 0));
     }
    // change the text of the labels and their position
    for (int j = 0; j &lt; (panel.getHeight() / FONT_SIZE) * 2; j++) {
        int character = random.nextInt(TEXT.length());
        //move each character
        for (int i = 0; i &lt; NUMBER_OF_REPEATS; i++) {
            label[i].setBounds(random_x[i] * FONT_SIZE, j * (FONT_SIZE / 2), FONT_SIZE, FONT_SIZE);
            label[i].setText(&quot;&quot; + TEXT.charAt(character));
            label[i].setForeground(new Color(0, 255 - (j * 5), 0));     
            for (int k = 0; k &lt; NUMBER_OF_REPEATS; k++) {
                int character_initial = random.nextInt(TEXT.length());
                random_x[k] = random.nextInt(panel.getWidth() / FONT_SIZE) - 1;
                label[k] = new JLabel(&quot;&quot; + TEXT.charAt(character_initial));
                panel.add(label[k]);
                label[k].setFont(new Font(&quot;Comic Sans&quot;, Font.PLAIN, FONT_SIZE));
                label[k].setForeground(new Color(0, 255, 0));
                Color colour = label[k].getForeground();
                if (colour.getGreen() &lt;= 80) {
                    panel.remove(label[k]);
                    k = (panel.getHeight() / FONT_SIZE) * 2;
                }
            }
        }
        // pause between each character
        try {
            Thread.sleep(15);
        } catch (Exception e) {
        }
     }
  }
}
  public static void main(String[] args) {
      animasiMatrix frame = new animasiMatrix();
      frame.setVisible(true);
      frame.setSize(600, 400);
      frame.setResizable(false);
      frame.setMinimumSize(new Dimension(300, 200));
      frame.setLocationRelativeTo(null);
      frame.setTitle(&quot;Animasi Matrix Java&quot;);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
      frame.scroll();
  }
}

Untuk menjalankan codenya anda dapat menggunakan Geany IDE, Eclipse IDE, Netbeans IDE, dsb.

Seperti ini tampilan programnya

Screenshot

Selamat mencoba dan semoga bermanfaat 🙂

Untuk pertanyaan, saran dan kritik silahkan ditulis di kolom komentar.

[Java+Zenity] Membuat Aplikasi Info Proses Distro Linux

Dengan menggunakan kombinasi Java dan Zenity, kali ini saya membuat program sderhana yaitu menampilkan info proses distro Linux. Untuk menggunakan program ini cukup mudah, klik icon controller untuk menampilkan info proses distro Linux.

Download source code programnya disini
[Klik] Download Source Code Info Proses App

Seperti ini tampilan programnya

Screenshot-1

Screenshot

Selamat mencoba dan semoga bermanfaat 🙂

Untuk pertanyaan, saran dan kritik silahkan ditulis di kolom komentar.