File size: 2,880 Bytes
2ef97cf
 
94367ea
2ef97cf
 
 
 
 
94367ea
2ef97cf
94367ea
830d5f1
94367ea
 
 
 
830d5f1
2ef97cf
830d5f1
2ef97cf
94367ea
 
 
2ef97cf
830d5f1
65c4c23
830d5f1
2ef97cf
 
830d5f1
2ef97cf
94367ea
 
830d5f1
2ef97cf
94367ea
2ef97cf
830d5f1
2ef97cf
 
 
 
 
 
 
830d5f1
 
 
 
2ef97cf
 
830d5f1
2ef97cf
 
 
 
 
830d5f1
2ef97cf
 
 
830d5f1
2ef97cf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
830d5f1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
document.getElementById('currencyForm').addEventListener('submit', async function (event) {
  event.preventDefault();

  // Ambil nilai input dari user
  const amount = document.getElementById('amount').value;
  const fromCurrency = document.getElementById('fromCurrency').value;
  const toCurrency = document.getElementById('toCurrency').value;
  const resultDiv = document.getElementById('result');

  // Validasi jumlah yang dimasukkan
  if (!amount || amount <= 0) {
    resultDiv.innerHTML = "Please enter a valid amount!";
    return;
  }

  try {
    const apiKey = '3ebe2ccf9eeea2aaef280201'; // API Key
    const url = `https://v6.exchangerate-api.com/v6/${apiKey}/latest/${fromCurrency}`;

    // Mengambil data dari API
    const response = await fetch(url);
    const data = await response.json();

    // Menangani respon API yang error
    if (data.result === 'error') {
      resultDiv.innerHTML = `Error: ${data['error-type']}`;
    } else {
      // Menyusun nilai konversi dan menampilkannya
      const rate = data.conversion_rates[toCurrency];
      const convertedAmount = (amount * rate).toFixed(2);
      resultDiv.innerHTML = `${amount} ${fromCurrency} = ${convertedAmount} ${toCurrency}`;
    }
  } catch (error) {
    resultDiv.innerHTML = "Error fetching conversion rate.";
    console.error("Error:", error); // Menampilkan error di konsol
  }
});

// Logika untuk tombol Swap
document.getElementById('swapButton').addEventListener('click', async function () {
  const fromCurrency = document.getElementById('fromCurrency');
  const toCurrency = document.getElementById('toCurrency');
  const resultDiv = document.getElementById('result');

  // Tukar nilai antara "From" dan "To"
  const tempCurrency = fromCurrency.value;
  fromCurrency.value = toCurrency.value;
  toCurrency.value = tempCurrency;

  // Ambil nilai input amount
  const amount = document.getElementById('amount').value;

  // Jika ada jumlah yang dimasukkan, langsung lakukan konversi ulang
  if (amount && amount > 0) {
    try {
      const apiKey = '3ebe2ccf9eeea2aaef280201'; // API Key
      const url = `https://v6.exchangerate-api.com/v6/${apiKey}/latest/${fromCurrency.value}`;

      // Mengambil data dari API
      const response = await fetch(url);
      const data = await response.json();

      if (data.result === 'error') {
        resultDiv.innerHTML = `Error: ${data['error-type']}`;
      } else {
        const rate = data.conversion_rates[toCurrency.value];
        const convertedAmount = (amount * rate).toFixed(2);
        resultDiv.innerHTML = `${amount} ${fromCurrency.value} = ${convertedAmount} ${toCurrency.value}`;
      }
    } catch (error) {
      resultDiv.innerHTML = "Error fetching conversion rate.";
      console.error("Error:", error);
    }
  } else {
    // Jika tidak ada amount, hapus hasil konversi
    resultDiv.innerHTML = "";
  }
});