1. Pengantar Angular 2 dan Ekosistemnya
Angular 2 adalah versi modern dari framework Angular yang dikembangkan oleh Google untuk membangun aplikasi web single-page (SPA) yang dinamis dan scalable.
Angular menggunakan TypeScript sebagai bahasa utama, menyediakan fitur seperti komponen, routing, dependency injection, dan banyak lagi untuk memudahkan pengembangan aplikasi web.
2. Persiapan Lingkungan Pengembangan Angular
Untuk mulai mengembangkan aplikasi Angular 2, Anda perlu menyiapkan beberapa alat berikut:
-
Node.js versi terbaru (disarankan v16+)
-
Angular CLI (Command Line Interface) untuk membuat dan mengelola proyek Angular
-
Editor kode seperti Visual Studio Code
Instal Angular CLI secara global dengan perintah:
npm install -g @angular/cli
Buat proyek baru dengan perintah:
ng new nama-proyek-angular
Masuk ke folder proyek dan jalankan server development:
cd nama-proyek-angular
ng serve
Buka
http://localhost:4200
di browser untuk melihat aplikasi berjalan.
3. Struktur Proyek Angular 2
Berikut adalah struktur folder utama proyek Angular 2:
/nama-proyek-angular
├── e2e
├── node_modules
├── src
│ ├── app
│ │ ├── app.component.ts
│ │ ├── app.module.ts
│ │ └── ...komponen lain
│ ├── assets
│ ├── environments
│ ├── index.html
│ ├── main.ts
│ └── styles.css
├── angular.json
├── package.json
└── tsconfig.json
Folder
src/app
berisi komponen dan modul aplikasi Anda.
4. Membuat dan Menggunakan Komponen Angular
Komponen adalah blok bangunan utama aplikasi Angular. Berikut contoh membuat komponen baru:
Jalankan perintah CLI untuk membuat komponen:
ng generate component nama-komponen
Contoh kode komponen sederhana (
hello.component.ts
):
import { Component } from '@angular/core';
@Component({
selector: 'app-hello',
template: `
<div class="p-4 bg-red-100 rounded text-red-800 font-semibold">
Halo, Selamat belajar Angular 2!
</div>
`
})
export class HelloComponent {}
Gunakan komponen ini di
app.component.html
dengan menambahkan tag:
<app-hello></app-hello>
5. Routing dan Navigasi di Angular
Angular Router memungkinkan navigasi antar halaman dalam aplikasi SPA.
Contoh konfigurasi routing di
app-routing.module.ts
:
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { HomeComponent } from './home/home.component';
import { AboutComponent } from './about/about.component';
const routes: Routes = [
{ path: '', component: HomeComponent },
{ path: 'about', component: AboutComponent }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {}
Gunakan tag
<a routerLink="/about">
untuk navigasi:
<nav>
<a routerLink="" routerLinkActive="active">Beranda</a>
<a routerLink="about" routerLinkActive="active">Tentang</a>
</nav>
6. Services dan Dependency Injection
Services digunakan untuk mengelola data dan logika bisnis yang dapat digunakan di banyak komponen.
Contoh membuat service:
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class DataService {
getData() {
return ['Angular', 'React', 'Vue'];
}
}
Menggunakan service di komponen:
import { Component, OnInit } from '@angular/core';
import { DataService } from './data.service';
@Component({
selector: 'app-list',
template: `
<ul>
<li *ngFor="let item of data">{{ item }}</li>
</ul>
`
})
export class ListComponent implements OnInit {
data: string[] = [];
constructor(private dataService: DataService) {}
ngOnInit() {
this.data = this.dataService.getData();
}
}
8. HTTP Client: Mengambil dan Mengirim Data
Angular menyediakan HttpClient untuk komunikasi dengan server API.
Contoh mengambil data dari API:
import { HttpClient } from '@angular/common/http';
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-posts',
template: `
<ul>
<li *ngFor="let post of posts">{{ post.title }}</li>
</ul>
`
})
export class PostsComponent implements OnInit {
posts: any[] = [];
constructor(private http: HttpClient) {}
ngOnInit() {
this.http.get('https://jsonplaceholder.typicode.com/posts?_limit=5')
.subscribe(data => this.posts = data as any[]);
}
}
9. Deploy Aplikasi Angular 2
Setelah aplikasi selesai dibuat, Anda bisa membangun versi produksi dan menguploadnya ke hosting.
Jalankan perintah build:
ng build --prod
Folder
dist/nama-proyek-angular
berisi file statis yang siap di-deploy.
Anda bisa menggunakan layanan hosting seperti Firebase Hosting, Netlify, atau Vercel.
10. Sumber Belajar dan Source Code Lengkap
Berikut beberapa sumber belajar dan channel yang direkomendasikan untuk memperdalam Angular 2: