Language: PHP
User memahami alur JSON, HTML, Javascript, PHP
// Halaman pertama master.json
{
"kota": "Jakarta",
"suhu": 32,
"kondisi": "Cerah",
"kelembapan": 80
}
// Halaman kedua latihan_cuaca.php
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Analisa Cuaca JSON</title>
<style>
body { font-family: sans-serif; text-align: center; padding: 50px; background: #e0f7fa; }
.kartu { background: white; padding: 20px; border-radius: 15px; display: inline-block; box-shadow: 0 4px 10px rgba(0,0,0,0.1); min-width: 300px; }
.rekomendasi { font-weight: bold; color: #d84315; margin-top: 20px; padding: 10px; border: 1px dashed #d84315; }
.error { color: red; font-weight: bold; }
</style>
</head>
<body>
<div class="kartu">
<h2>Analisa Cuaca</h2>
<div id="display-cuaca">Memuat data dari JSON...</div>
<div id="" class="rekomendasi"></div>
</div>
<script>
// Fungsi untuk mengambil data dari file cuaca.json
async function ambilDataCuaca() {
try {
// 1. Fetch mengambil file eksternal
const respon = await fetch('');
if (!respon.ok) throw new Error("Gagal mengambil file JSON");
// 2. Mengubah teks file menjadi objek JavaScript
const data = await respon.json();
// 3. Jalankan fungsi analisa
prosesAnalisa(data);
} catch (error) {
document.getElementById('display-cuaca').innerHTML = `<p class="error">Error: ${error.message}</p>`;
console.error(error);
}
}
function prosesAnalisa("") {
let saran = "";
// Logika Analisa
if (data.suhu > 30) {
saran = "Cuaca panas. Gunakan kaos katun dan minum air!";
} else if (data.suhu >= 25) {
saran = "Cuaca hangat. Pakaian santai saja.";
} else {
saran = "Cuaca dingin. Gunakan jaket.";
}
if (data.kondisi === "Hujan") {
saran += " Jangan lupa bawa payung! ☔";
}
// Tampilkan ke layar
document.getElementById('display-cuaca').innerHTML = `
<p>Kota: <strong>${""}</strong></p>
<p>Suhu: <strong>${data.suhu}°C</strong></p>
<p>Kondisi: ${data.kondisi}</p>
`;
document.getElementById('hasil-analisa').innerText = saran;
}
// Jalankan fungsi saat halaman dibuka
ambilDataCuaca();
</body>
</html>