AngularJS - Aplikasi Keranjang Belanja
Hai, para programer pemula! Hari ini, kita akan memulai sebuah perjalanan menarik untuk membuat aplikasi keranjang belanja menggunakan AngularJS. Sebagai guru ilmu komputer tetangga yang ramah, saya sangat senang untuk mengarahkan Anda melalui proses ini, bahkan jika Anda sangat baru dalam pemrograman. Jadi, ambil secangkir kopi (atau minuman favorit Anda), dan mari kita masuk ke dalamnya!
Apa Itu AngularJS?
Sebelum kita mulai membuat aplikasi keranjang belanja kita, mari kitaambil sedikit waktu untuk memahami apa itu AngularJS. AngularJS adalah kerangka kerja JavaScript yang kuat yang membantu kita membuat aplikasi web dinamis. Itu seperti pisau swis yang bisa digunakan untuk berbagai hal, menyediakan alat-alat yang membuat hidup kita mudah dan kode kita lebih terorganisir.
Menyiapkan Proyek Kita
Langkah 1: Membuat Struktur HTML
mari kita mulai dengan membuat struktur HTML dasar untuk aplikasi keranjang belanja kita. Jangan khawatir jika Anda tidak familiar dengan HTML; saya akan menjelaskan setiap bagian saat kita melanjutkan.
<!DOCTYPE html>
<html ng-app="cartApp">
<head>
<title>My Shopping Cart</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
<script src="app.js"></script>
</head>
<body ng-controller="CartController">
<h1>My Shopping Cart</h1>
<!-- Kita akan menambahkan lebih banyak konten di sini nanti -->
</body>
</html>
Dalam struktur HTML ini, kita telah melakukan beberapa hal penting:
- Kita menyertakan pustaka AngularJS menggunakan link CDN.
- Kita menghubungkan file JavaScript kita sendiri (
app.js
) yang kita akan buat selanjutnya. - Kita menambahkan
ng-app="cartApp"
ke tag<html>
, yang memberitahu AngularJS bahwa ini adalah elemen root aplikasi kita. - Kita menambahkan
ng-controller="CartController"
ke tag<body>
, yang kita akan gunakan untuk mengelola logika keranjang kita.
Langkah 2: Membuat Aplikasi AngularJS
Sekarang, mari kita buat file app.js
dan mengatur aplikasi AngularJS kita:
var app = angular.module('cartApp', []);
app.controller('CartController', function($scope) {
$scope.items = [];
$scope.total = 0;
$scope.addItem = function(item) {
$scope.items.push(item);
$scope.calculateTotal();
};
$scope.removeItem = function(index) {
$scope.items.splice(index, 1);
$scope.calculateTotal();
};
$scope.calculateTotal = function() {
$scope.total = $scope.items.reduce(function(sum, item) {
return sum + item.price;
}, 0);
};
});
mari kitauraikan ini:
- Kita membuat sebuah modul AngularJS bernama 'cartApp'.
- Kita tentukan sebuah kontroler bernama 'CartController'.
- Dalam kontroler, kita mengatur array kosong untuk item kita dan variabel total.
- Kita membuat fungsi untuk menambahkan item, menghapus item, dan menghitung total.
Membangun Antarmuka Pengguna
Langkah 3: Membuat Daftar Item
mari kita perbarui HTML kita untuk menampilkan item di keranjang:
<body ng-controller="CartController">
<h1>My Shopping Cart</h1>
<ul>
<li ng-repeat="item in items">
{{item.name}} - ${{item.price}}
<button ng-click="removeItem($index)">Hapus</button>
</li>
</ul>
<p>Total: ${{total}}</p>
</body>
Di sini, kita menggunakan direktif AngularJS:
-
ng-repeat
untuk mengulang item kita -
{{}}
untuk pengikatan data untuk menampilkan properti item -
ng-click
untuk memanggil fungsiremoveItem
saat tombol diklik
Langkah 4: Menambahkan Item Baru
mari kita tambahkan formulir untuk memungkinkan pengguna menambahkan item baru:
<form ng-submit="addItem(newItem)">
<input type="text" ng-model="newItem.name" placeholder="Nama item" required>
<input type="number" ng-model="newItem.price" placeholder="Harga" required>
<button type="submit">Tambah ke Keranjang</button>
</form>
Formulir ini menggunakan:
-
ng-submit
untuk memanggil fungsiaddItem
saat formulir disubmit -
ng-model
untuk mengikatkannya nilai input ke objeknewItem
Menengahkan Aplikasi
Langkah 5: Menambahkan Kuantitas Item
mari kita modifikasi aplikasi kita untuk mengelola kuantitas item:
app.controller('CartController', function($scope) {
// ... kode sebelumnya ...
$scope.addItem = function(item) {
var existingItem = $scope.items.find(function(i) {
return i.name === item.name;
});
if (existingItem) {
existingItem.quantity += 1;
} else {
item.quantity = 1;
$scope.items.push(item);
}
$scope.calculateTotal();
$scope.newItem = {};
};
$scope.removeItem = function(index) {
var item = $scope.items[index];
item.quantity -= 1;
if (item.quantity === 0) {
$scope.items.splice(index, 1);
}
$scope.calculateTotal();
};
$scope.calculateTotal = function() {
$scope.total = $scope.items.reduce(function(sum, item) {
return sum + (item.price * item.quantity);
}, 0);
};
});
Dan perbarui HTML kita:
<li ng-repeat="item in items">
{{item.name}} - ${{item.price}} x {{item.quantity}}
<button ng-click="removeItem($index)">Hapus</button>
</li>
Kesimpulan
Selamat! Anda baru saja membuat aplikasi keranjang belanja yang berfungsi menggunakan AngularJS. Kita telah meliputi dasar-dasar pengaturan aplikasi AngularJS, membuat kontroler, menggunakan direktif untuk pengikatan data dan penanganan peristiwa, dan bahkan menambahkan fitur yang lebih canggih seperti mengelola kuantitas item.
Ingat, belajar pemrograman adalah perjalanan, dan ini hanyalah awal. Teruslatihan, eksperimen, dan terutama, bersenang-senang dengan itu!
Berikut adalah tabel yang menggabungkan konsep utama AngularJS yang kita gunakan:
Konsep | Deskripsi | Contoh |
---|---|---|
Module | Tempat untuk berbagai bagian aplikasi | angular.module('cartApp', []) |
Controller | Mengandung logika bisnis untuk bagian aplikasi | app.controller('CartController', function($scope) {...}) |
Scope | Objek yang merujuk ke model aplikasi | $scope.items = [] |
Directives | Memperpanjang HTML dengan atribut dan elemen khusus |
ng-repeat , ng-click , ng-submit
|
Data Binding | Sinkronkan data antara model dan pandangan | {{item.name}} |
Terus coding, dan ingat: setiap ahli pernah menjadi pemula. Anda melakukan sangat baik!
Credits: Image by storyset