Project Java: Membuat Aplikasi Konversi Mata Uang
Membuat aplikasi konversi mata uang menggunakan Java dengan GUI adalah proyek yang menarik dan bermanfaat. Dalam artikel ini, kita akan membahas cara membuat aplikasi konversi mata uang sederhana. Proyek ini menggunakan Java Swing untuk antarmuka pengguna dan nilai tukar mata uang yang telah ditentukan secara manual.
Artikel ini dirancang untuk pemula yang ingin mempelajari Java GUI dan logika pemrograman dasar. Mari kita mulai!
Apa yang Akan Kita Buat?
Kita akan membuat aplikasi konversi mata uang dengan fitur berikut:
- Input Nilai: Pengguna dapat memasukkan nilai yang ingin dikonversi.
- Pilih Mata Uang: Pengguna dapat memilih mata uang sumber dan mata uang target.
- Output Hasil Konversi: Menampilkan hasil konversi mata uang.
- Antarmuka Pengguna: Menggunakan Java Swing untuk membuat tampilan yang menarik.
Tools dan Teknologi yang Dibutuhkan
- JDK (Java Development Kit): Untuk menulis dan menjalankan kode Java.
- IDE (Integrated Development Environment): Seperti IntelliJ IDEA, Eclipse, atau NetBeans.
- Library Java Swing: Untuk membuat antarmuka pengguna.
Langkah 1: Persiapan Proyek
- Buat Project Baru:
- Buka IDE Anda dan buat project Java baru.
- Beri nama project
CurrencyConverter
.
- Buat Class Utama:
- Klik kanan pada folder
src
> New > Java Class. - Beri nama
CurrencyConverterApp
.
- Klik kanan pada folder
Langkah 2: Membuat GUI dengan Java Swing
1. Membuat Jendela Utama
Buat class CurrencyConverterApp
dan tambahkan kode berikut:
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class CurrencyConverterApp extends JFrame { private JTextField amountField; private JTextArea resultArea; private JComboBox<String> fromCurrencyCombo, toCurrencyCombo; public CurrencyConverterApp() { setTitle("Aplikasi Konversi Mata Uang Azroi"); setSize(500, 400); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); initUI(); } private void initUI() { // Panel utama dengan tata letak BorderLayout JPanel panel = new JPanel(new BorderLayout()); // 1. Panel Input JPanel inputPanel = new JPanel(); inputPanel.setLayout(new FlowLayout()); amountField = new JTextField(10); JButton convertButton = new JButton("Konversi"); inputPanel.add(new JLabel("Masukkan Nilai:")); inputPanel.add(amountField); inputPanel.add(convertButton); // 2. Panel Mata Uang JPanel currencyPanel = new JPanel(); currencyPanel.setLayout(new FlowLayout()); String[] currencies = {"USD", "IDR", "EUR", "JPY", "GBP"}; fromCurrencyCombo = new JComboBox<>(currencies); toCurrencyCombo = new JComboBox<>(currencies); currencyPanel.add(new JLabel("Dari:")); currencyPanel.add(fromCurrencyCombo); currencyPanel.add(new JLabel("Ke:")); currencyPanel.add(toCurrencyCombo); // 3. Panel Output resultArea = new JTextArea(10, 30); resultArea.setEditable(false); JScrollPane scrollPane = new JScrollPane(resultArea); // Gabungkan komponen ke panel utama panel.add(inputPanel, BorderLayout.NORTH); panel.add(currencyPanel, BorderLayout.CENTER); panel.add(scrollPane, BorderLayout.SOUTH); add(panel); // Event Listener untuk tombol Konversi convertButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String amount = amountField.getText(); String fromCurrency = fromCurrencyCombo.getSelectedItem().toString(); String toCurrency = toCurrencyCombo.getSelectedItem().toString(); String result = convertCurrency(amount, fromCurrency, toCurrency); resultArea.setText(result); } }); } private String convertCurrency(String amount, String fromCurrency, String toCurrency) { // Implementasi konversi mata uang akan ditambahkan di Langkah 3 return "Hasil Konversi: " + amount + " " + fromCurrency + " = ... " + toCurrency; } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new CurrencyConverterApp().setVisible(true); } }); } }
Langkah 3: Menambahkan Logika Konversi Mata Uang
- Tambahkan Method untuk Konversi Mata Uang:
- Di dalam class
CurrencyConverterApp
, tambahkan methodconvertCurrency
yang menggunakan nilai tukar mata uang yang telah ditentukan.
private String convertCurrency(String amount, String fromCurrency, String toCurrency) { try { double amountValue = Double.parseDouble(amount); double rate = getExchangeRate(fromCurrency, toCurrency); double convertedAmount = amountValue * rate; return String.format("Hasil Konversi: %.2f %s = %.2f %s", amountValue, fromCurrency, convertedAmount, toCurrency); } catch (NumberFormatException e) { return "Error: Masukkan nilai yang valid."; } } private double getExchangeRate(String fromCurrency, String toCurrency) { // Nilai tukar mata uang yang telah ditentukan double usdToIdr = 14000.0; double eurToIdr = 17000.0; double jpyToIdr = 130.0; double gbpToIdr = 19000.0; // Konversi dari mata uang sumber ke IDR double amountInIdr; switch (fromCurrency) { case "USD": amountInIdr = usdToIdr; break; case "EUR": amountInIdr = eurToIdr; break; case "JPY": amountInIdr = jpyToIdr; break; case "GBP": amountInIdr = gbpToIdr; break; default: amountInIdr = 1.0; // Jika mata uang sumber adalah IDR } // Konversi dari IDR ke mata uang target switch (toCurrency) { case "USD": return amountInIdr / usdToIdr; case "EUR": return amountInIdr / eurToIdr; case "JPY": return amountInIdr / jpyToIdr; case "GBP": return amountInIdr / gbpToIdr; default: return amountInIdr; // Jika mata uang target adalah IDR } }
- Di dalam class
- Penjelasan Logika:
- Nilai tukar mata uang ditentukan secara manual.
- Konversi dilakukan dengan mengubah mata uang sumber ke IDR terlebih dahulu, lalu mengubahnya ke mata uang target.
Langkah 4: Menjalankan Aplikasi
- Jalankan Program:
- Klik tombol Run di IDE.
- Aplikasi akan muncul dengan tampilan GUI seperti ini:
+------------------------------+ | [Input Nilai] [Konversi] | | [Dari: USD] [Ke: IDR] | |------------------------------| | [Output Hasil Konversi] | +------------------------------+
- Uji Coba Fitur:
- Masukkan nilai, pilih mata uang sumber dan target, lalu klik Konversi.
- Hasil konversi akan muncul di area output.
Tips Pengembangan Lanjutan
- Tambahkan Lebih Banyak Mata Uang:
- Tambahkan opsi mata uang lain di
JComboBox
.
- Tambahkan opsi mata uang lain di
- Simpan Riwayat Konversi:
- Gunakan file atau database untuk menyimpan riwayat konversi.
- Tambahkan Fitur Copy-Paste:
- Tambahkan tombol untuk menyalin hasil konversi ke clipboard.
Kesimpulan
Dengan mengikuti panduan ini, Anda telah berhasil membuat aplikasi konversi mata uang sederhana menggunakan Java dengan GUI tanpa API. Proyek ini melatih kemampuan Anda dalam:
- Membuat antarmuka pengguna dengan Java Swing.
- Mengimplementasikan logika konversi mata uang secara manual.
- Menangani interaksi pengguna dengan event listener.