<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Penerjemah Indonesia → Inggris + Tenses</title>
<style>
* { font-family: Arial, sans-serif; box-sizing: border-box; margin: 0; padding: 0; }
.container { max-width: 750px; margin: 30px auto; padding: 20px; }
h2 { text-align: center; color: #2c3e50; margin-bottom: 25px; }
textarea { width: 100%; height: 90px; padding: 14px; font-size: 17px; border: 1px solid #ddd; border-radius: 8px; margin-bottom: 18px; resize: vertical; }
button { padding: 12px 24px; font-size: 17px; background: #2980b9; color: white; border: none; border-radius: 8px; cursor: pointer; transition: background 0.2s; }
button:hover { background: #1c6399; }
.hasil { margin-top: 25px; padding: 18px; border-radius: 8px; background: #f8fafc; border-left: 5px solid #27ae60; display: none; }
.hasil p { margin: 10px 0; font-size: 17px; line-height: 1.6; }
.label { font-weight: bold; color: #2c3e50; display: inline-block; min-width: 130px; }
.info { font-size: 15px; color: #555; margin-top: 15px; border-top: 1px dashed #ddd; padding-top: 12px; }
</style>
</head>
<body>
<div class="container">
<h2>📖 Terjemahan Indonesia → Inggris + Tenses</h2>
<p style="text-align:center; color:#666; margin-bottom:15px;">Ketik kalimat, sistem akan mendeteksi waktunya dan menampilkan bentuk bahasa Inggris yang tepat</p>
<textarea id="inputKalimat" placeholder="Contoh: Saya makan nasi setiap hari | Saya sedang mandi sekarang | Saya akan tidur nanti malam"></textarea>
<br>
<button onclick="terjemahkan()">Terjemahkan Sekarang</button>
<div class="hasil" id="bagianHasil">
<p><span class="label">Kalimat Indonesia :</span> <span id="teksIndo"></span></p>
<p><span class="label">Bahasa Inggris :</span> <strong id="teksInggris" style="color:#2980b9;"></strong></p>
<p><span class="label">Jenis Tenses :</span> <span id="namaTenses"></span></p>
<p><span class="label">Keterangan :</span> <span id="ketTenses"></span></p>
<div class="info">💡 Contoh kata kunci: setiap hari, sedang, sudah, kemarin, akan</div>
</div>
</div>
<script>
// ==========================================
// DAFTAR TERJEMAHAN + KATA KERJA LENGKAP
// ==========================================
const dataTerjemahan = [
// 🔹 1. Simple Present (Kebiasaan / Fakta)
{
kataKunci: ["setiap hari", "biasanya", "sering", "selalu", "umumnya", "tiap", "biasanya"],
tenses: "Simple Present Tense",
keterangan: "Digunakan untuk kebiasaan sehari-hari, fakta umum, atau kejadian yang berulang.",
terjemahan: {
"saya makan": "I eat",
"saya minum": "I drink",
"saya tidur": "I sleep",
"saya bangun": "I wake up",
"saya pergi": "I go",
"saya pulang": "I return / I go home",
"saya belajar": "I study",
"saya bekerja": "I work",
"saya membaca": "I read",
"saya menulis": "I write",
"saya mandi": "I take a bath / I shower",
"saya mencuci": "I wash",
"saya memasak": "I cook",
"saya berjalan": "I walk",
"saya berlari": "I run",
"saya duduk": "I sit",
"saya berdiri": "I stand",
"saya melihat": "I see / I look",
"saya mendengar": "I hear / I listen",
"saya berbicara": "I speak / I talk",
"saya bertanya": "I ask",
"saya menjawab": "I answer",
"saya membeli": "I buy",
"saya menjual": "I sell",
"saya membawa": "I bring / I carry",
"saya mengirim": "I send",
"saya menerima": "I receive",
"saya membantu": "I help",
"saya mencintai": "I love",
"saya menyukai": "I like",
"saya tahu": "I know",
"saya mengerti": "I understand"
}
},
// 🔹 2. Present Continuous (Sedang Terjadi)
{
kataKunci: ["sedang", "lagi", "sekarang", "saat ini", "waktu ini"],
tenses: "Present Continuous Tense",
keterangan: "Digunakan untuk kejadian yang sedang berlangsung pada saat pembicaraan.",
terjemahan: {
"saya sedang makan": "I am eating",
"saya sedang minum": "I am drinking",
"saya sedang tidur": "I am sleeping",
"saya sedang bangun": "I am waking up",
"saya sedang pergi": "I am going",
"saya sedang pulang": "I am going home",
"saya sedang belajar": "I am studying",
"saya sedang bekerja": "I am working",
"saya sedang membaca": "I am reading",
"saya sedang menulis": "I am writing",
"saya sedang mandi": "I am taking a bath",
"saya sedang mencuci": "I am washing",
"saya sedang memasak": "I am cooking",
"saya sedang berjalan": "I am walking",
"saya sedang berlari": "I am running",
"saya sedang duduk": "I am sitting",
"saya sedang berdiri": "I am standing",
"saya sedang melihat": "I am looking",
"saya sedang mendengar": "I am listening",
"saya sedang berbicara": "I am speaking",
"saya sedang bertanya": "I am asking",
"saya sedang menjawab": "I am answering",
"saya sedang membeli": "I am buying",
"saya sedang menjual": "I am selling",
"saya sedang membawa": "I am carrying",
"saya sedang mengirim": "I am sending",
"saya sedang menerima": "I am receiving",
"saya sedang membantu": "I am helping"
}
},
// 🔹 3. Simple Past (Sudah Terjadi di Masa Lalu Jelas)
{
kataKunci: ["kemarin", "tadi", "tadi pagi", "tadi siang", "tadi malam", "minggu lalu", "bulan lalu", "tahun lalu", "kemarin lusa"],
tenses: "Simple Past Tense",
keterangan: "Digunakan untuk kejadian yang sudah selesai dan waktunya jelas di masa lampau.",
terjemahan: {
"saya makan": "I ate",
"saya minum": "I drank",
"saya tidur": "I slept",
"saya bangun": "I woke up",
"saya pergi": "I went",
"saya pulang": "I went home",
"saya belajar": "I studied",
"saya bekerja": "I worked",
"saya membaca": "I read",
"saya menulis": "I wrote",
"saya mandi": "I took a bath",
"saya mencuci": "I washed",
"saya memasak": "I cooked",
"saya berjalan": "I walked",
"saya berlari": "I ran",
"saya duduk": "I sat",
"saya berdiri": "I stood",
"saya melihat": "I saw",
"saya mendengar": "I heard",
"saya berbicara": "I spoke",
"saya bertanya": "I asked",
"saya menjawab": "I answered",
"saya membeli": "I bought",
"saya menjual": "I sold",
"saya membawa": "I brought",
"saya mengirim": "I sent",
"saya menerima": "I received",
"saya membantu": "I helped",
"saya tahu": "I knew",
"saya mengerti": "I understood"
}
},
// 🔹 4. Present Perfect (Sudah Terjadi tapi Berhubungan Sekarang)
{
kataKunci: ["sudah", "baru saja", "belum lama", "pernah", "belum pernah"],
tenses: "Present Perfect Tense",
keterangan: "Digunakan untuk kejadian yang selesai, tapi hasilnya masih terasa atau tidak disebutkan waktu pastinya.",
terjemahan: {
"saya sudah makan": "I have eaten",
"saya sudah minum": "I have drunk",
"saya sudah tidur": "I have slept",
"saya sudah bangun": "I have woken up",
"saya sudah pergi": "I have gone",
"saya sudah pulang": "I have gone home",
"saya sudah belajar": "I have studied",
"saya sudah bekerja": "I have worked",
"saya sudah membaca": "I have read",
"saya sudah menulis": "I have written",
"saya sudah mandi": "I have taken a bath",
"saya sudah mencuci": "I have washed",
"saya sudah memasak": "I have cooked",
"saya sudah berjalan": "I have walked",
"saya sudah berlari": "I have run",
"saya sudah melihat": "I have seen",
"saya sudah mendengar": "I have heard",
"saya sudah berbicara": "I have spoken",
"saya sudah bertanya": "I have asked",
"saya sudah menjawab": "I have answered",
"saya sudah membeli": "I have bought",
"saya sudah menjual": "I have sold",
"saya sudah membawa": "I have brought",
"saya sudah mengirim": "I have sent",
"saya sudah membantu": "I have helped"
}
},
// 🔹 5. Simple Future (Akan Terjadi di Masa Depan)
{
kataKunci: ["akan", "nanti", "besok", "lusa", "minggu depan", "bulan depan", "tahun depan", "kelak"],
tenses: "Simple Future Tense",
keterangan: "Digunakan untuk kejadian yang baru akan terjadi di waktu mendatang.",
terjemahan: {
"saya akan makan": "I will eat",
"saya akan minum": "I will drink",
"saya akan tidur": "I will sleep",
"saya akan bangun": "I will wake up",
"saya akan pergi": "I will go",
"saya akan pulang": "I will go home",
"saya akan belajar": "I will study",
"saya akan bekerja": "I will work",
"saya akan membaca": "I will read",
"saya akan menulis": "I will write",
"saya akan mandi": "I will take a bath",
"saya akan mencuci": "I will wash",
"saya akan memasak": "I will cook",
"saya akan berjalan": "I will walk",
"saya akan berlari": "I will run",
"saya akan duduk": "I will sit",
"saya akan berdiri": "I will stand",
"saya akan melihat": "I will see",
"saya akan mendengar": "I will hear",
"saya akan berbicara": "I will speak",
"saya akan bertanya": "I will ask",
"saya akan menjawab": "I will answer",
"saya akan membeli": "I will buy",
"saya akan menjual": "I will sell",
"saya akan membawa": "I will bring",
"saya akan mengirim": "I will send",
"saya akan membantu": "I will help"
}
}
];
// ==========================================
// FUNGSI UTAMA PENERJEMAHAN
// ==========================================
function terjemahkan() {
const input = document.getElementById("inputKalimat").value.trim().toLowerCase();
const bagianHasil = document.getElementById("bagianHasil");
if (!input) {
alert("Silakan ketik kalimat terlebih dahulu!");
bagianHasil.style.display = "none";
return;
}
let hasil = null;
// Cari kecocokan kata kunci dan kalimat
for (const jenis of dataTerjemahan) {
const adaKataWaktu = jenis.kataKunci.some(kata => input.includes(kata));
// Cari apakah ada frasa kalimat yang cocok
for (const [indo, inggris] of Object.entries(jenis.terjemahan)) {
if (input.includes(indo.toLowerCase())) {
// Cocokkan aturan: jika tidak ada kata waktu, gunakan Simple Present
if (adaKataWaktu || jenis.tenses === "Simple Present Tense") {
hasil = {
teksIndo: input,
teksInggris: inggris,
namaTenses: jenis.tenses,
keterangan: jenis.keterangan
};
break;
}
}
}
if (hasil) break;
}
// Tampilkan hasil
if (hasil) {
document.getElementById("teksIndo").textContent = hasil.teksIndo;
document.getElementById("teksInggris").textContent = hasil.teksInggris;
document.getElementById("namaTenses").textContent = hasil.namaTenses;
document.getElementById("ketTenses").textContent = hasil.keterangan;
bagianHasil.style.display = "block";
} else {
bagianHasil.innerHTML = `
<p style="color:#c0392b;">⚠️ Maaf, kalimat atau kata kerja ini belum ada di daftar.</p>
<p style="font-size:15px; color:#666;">Anda bisa tambahkan sendiri di bagian data terjemahan dengan mudah.</p>
<div class="info">💡 Contoh format tambahan: "saya berlari": "I run"</div>
`;
bagianHasil.style.display = "block";
}
}
</script>
</body>
</html>
0 komentar:
Posting Komentar