AngularJS - Translate Aplikasi
Halo sana, bintang coding masa depan! Hari ini, kita akan memulai perjalanan yang menarik ke dunia AngularJS dan belajar membuat aplikasi terjemahan. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - saya akan menjadi panduan ramah Anda, dan kita akan mengambil langkah-langkah secara bertahap. Pada akhir panduan ini, Anda akan memiliki aplikasi kecil yang keren yang dapat menerjemahkan teks antara bahasa yang berbeda. Bagaimana itu untuk menakjubkan?
Apa Itu AngularJS?
Sebelum kita mendalam ke aplikasi terjemahan kita, mari kitaambil waktu untuk memahami apa itu AngularJS. Bayangkan Anda membangun sebuah rumah. AngularJS seperti kerangka yang membantu Anda mengatur dan mengorganisir rumah Anda secara efisien. Itu adalah kerangka kerja JavaScript yang kuat yang membuatnya mudah untuk membuat aplikasi web dinamis.
Menyiapkan Proyek Kita
Langkah 1: Sertakan AngularJS
Pertama-tama, kita perlu menyertakan AngularJS dalam proyek kita. Kita akan melakukan ini dengan menambahkan tag script ke file HTML kita:
<!DOCTYPE html>
<html>
<head>
<title>Penjemah Saya yang Menakjubkan</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
</head>
<body>
<!-- Kita akan menambahkan konten aplikasi kita di sini -->
</body>
</html>
Baris kode ini seperti mengundang AngularJS ke pesta kita. Itu mengatakan kepada browser kita untuk memuat pustaka AngularJS sehingga kita dapat menggunakan kekuatannya.
Langkah 2: Buat Modul Aplikasi
Sekarang, mari kita buat aplikasi AngularJS kita. Kita akan melakukan ini dengan menambahkan tag script di akhir tubuh kita:
<body ng-app="translatorApp">
<!-- Konten aplikasi di sini -->
<script>
var app = angular.module('translatorApp', []);
</script>
</body>
Di sini, kita mengatakan ke AngularJS, "Hey, kita ingin membuat aplikasi yang disebut 'translatorApp'." Atribut ng-app
di tag body adalah seperti memberi tag nama pada aplikasi kita sehingga AngularJS tahu di mana aplikasi kita berada.
Membangun Penjemah Kita
Langkah 3: Buat Controller
Dalam AngularJS, controller adalah seperti otak operasi kita. Mereka mengelola data dan perilaku aplikasi kita. Mari kita buat satu:
<script>
var app = angular.module('translatorApp', []);
app.controller('TranslatorController', function($scope) {
$scope.inputText = '';
$scope.outputText = '';
$scope.translate = function() {
// Kita akan menambahkan logika terjemahan di sini
$scope.outputText = "Terjemahan dalam proses...";
};
});
</script>
Controller ini menyiapkan dua variabel (inputText
dan outputText
) dan fungsi translate
. Pihak ini adalah seperti wadah bagi input, output, dan proses terjemahan yang magis.
Langkah 4: Buat Antarmuka Pengguna
Sekarang, mari kita buat antarmuka sederhana untuk penjemah kita:
<body ng-app="translatorApp">
<div ng-controller="TranslatorController">
<h1>Penjemah Saya yang Menakjubkan</h1>
<textarea ng-model="inputText" placeholder="Masukkan teks untuk diterjemahkan"></textarea>
<button ng-click="translate()">Terjemahkan</button>
<p>{{ outputText }}</p>
</div>
<!-- Tag script di sini -->
</body>
mari kitauraikan ini:
- Kita gunakan
ng-controller
untuk menghubungkan HTML kita ke controller. -
ng-model="inputText"
mengikat textarea ke variabelinputText
. -
ng-click="translate()"
mengatakan ke AngularJS untuk menjalankan fungsitranslate
saat tombol ditekan. -
{{ outputText }}
menampilkan nilaioutputText
.
Menambahkan Fungsionalitas Terjemahan
Langkah 5: Integrasi API Terjemahan
Untuk membuat penjemah kita benar-benar bekerja, kita perlu menggunakan layanan terjemahan. Untuk contoh ini, kita akan menggunakan API Terjemahan MyMemory yang gratis. Kita perlu membuat permintaan HTTP, jadi mari kita tambahkan layanan $http
ke controller kita:
app.controller('TranslatorController', function($scope, $http) {
$scope.inputText = '';
$scope.outputText = '';
$scope.fromLang = 'en';
$scope.toLang = 'es';
$scope.translate = function() {
var url = "https://api.mymemory.translated.net/get?q=" + $scope.inputText + "&langpair=" + $scope.fromLang + "|" + $scope.toLang;
$http.get(url).then(function(response) {
$scope.outputText = response.data.responseData.translatedText;
}, function(error) {
$scope.outputText = "Ups! Ada yang salah.";
});
};
});
Controller ini yang diperbarui sekarang termasuk pemilihan bahasa dan membuat permintaan ke API terjemahan saat fungsi translate
dipanggil.
Langkah 6: Update Antarmuka Pengguna
Mari kita perbarui HTML kita untuk memasukkan pemilihan bahasa:
<body ng-app="translatorApp">
<div ng-controller="TranslatorController">
<h1>Penjemah Saya yang Menakjubkan</h1>
<select ng-model="fromLang">
<option value="en">English</option>
<option value="es">Spanish</option>
<option value="fr">French</option>
</select>
<select ng-model="toLang">
<option value="en">English</option>
<option value="es">Spanish</option>
<option value="fr">French</option>
</select>
<textarea ng-model="inputText" placeholder="Masukkan teks untuk diterjemahkan"></textarea>
<button ng-click="translate()">Terjemahkan</button>
<p>{{ outputText }}</p>
</div>
<!-- Tag script di sini -->
</body>
Kesimpulan
Selamat! Anda baru saja membuat aplikasi terjemahan sederhana tapi berfungsi menggunakan AngularJS. Berikut adalah ringkasan singkat apa yang kita pelajari:
- Kita mengatur aplikasi AngularJS
- Kita membuat controller untuk mengelola perilaku aplikasi kita
- Kita membangun antarmuka pengguna menggunakan direktif AngularJS
- Kita integrasi API terjemahan untuk memberikan fungsionalitas nyata
Ingat, belajar mengkode adalah perjalanan. Jangan khawatir jika beberapa bagian tampak membingungkan pada awalnya - dengan latihan, itu akan mulai membuat sense. Tetap ber eksperimen, tetap belajar, dan sebelum Anda menyadari, Anda akan membuat aplikasi yang lebih kompleks dan menarik!
Berikut adalah tabel yang menggabungkan konsep utama AngularJS yang kita gunakan:
Konsep | Deskripsi | Contoh |
---|---|---|
Modul | Wadah untuk aplikasi | angular.module('translatorApp', []) |
Controller | Mengelola perilaku aplikasi | app.controller('TranslatorController', function($scope) {...}) |
Scope | Menghubungkan controller ke view | $scope.inputText = '' |
Direktif | Memperpanjang HTML |
ng-app , ng-controller , ng-model , ng-click
|
Ekspresi | Menampilkan nilai | {{ outputText }} |
Semoga Anda menikmati pemrograman, dan may your translation adventures be bug-free and full of learning!
Credits: Image by storyset