1. Tujuan
Mahasiswa mampu:
- Menginstal Expo CLI & menyiapkan environment pengembangan mobile cross-platform.
- Menjalankan aplikasi mobile sederhana di emulator atau smartphone dengan Expo Go.
- Memahami struktur dasar project Expo/React Native.
2. Persyaratan Sistem
- Laptop/PC dengan:
- Windows, macOS, atau Linux
- RAM minimal 4GB (disarankan 8GB)
- Node.js (versi LTS terbaru, contoh: 18.x atau 20.x)
- NPM (sudah ada saat install Node.js)
- Smartphone Android/iOS (opsional emulator)
- Install aplikasi Expo Go dari Google Play Store / App Store.
- Koneksi internet stabil.
3. Langkah Instalasi
A. Instal Node.js
- Kunjungi: https://nodejs.org
- Download versi LTS (recommended for most users).
- Jalankan installer → ikuti langkah → centang Add to PATH.
- Verifikasi instalasi:
node -v npm -v
B. Instal Expo CLI
- Buka terminal / Command Prompt.
- Jalankan:
npm install expo
- Verifikasi:
expo --version
4. Membuat Project Pertama
- Buat project baru:
npx create-expo-app@latest myproject
- Jalankan project:
npm startatauexpo start
<code>npm start
- Akan muncul halaman Metro Bundler di browser → tampilkan QR Code.
5. Menjalankan di Smartphone
- Install aplikasi Expo Go di smartphone (Play Store / App Store).
- Scan QR Code dari Metro Bundler.
- Aplikasi “Hello Expo” akan langsung berjalan di smartphone.
6. Menjalankan di Emulator (opsional)
- Android Emulator: install Android Studio → AVD Manager → buat virtual device.
- iOS Simulator: (khusus macOS) bisa jalankan via Xcode.
- Jalankan dari Metro Bundler: klik tombol Run on Android device/emulator.
7. Struktur Project Expo
- App.json → file utama aplikasi.
- package.json → daftar dependency project.
- node_modules/ → library yang dipakai.
- assets/ → gambar, font, dll.
8. Uji Coba (Hello World)
Edit file : app\tabs\index.tsx:
// Import library dan komponen yang dibutuhkan
import { ThemedText } from '@/components/themed-text'; // Komponen teks yang mendukung tema (dark/light mode)
import { ThemedView } from '@/components/themed-view'; // Komponen view yang mendukung tema (dark/light mode)
import { StyleSheet } from 'react-native'; // StyleSheet untuk membuat styling CSS-like
// Fungsi komponen utama untuk halaman Home
export default function HomeScreen() {
// Return JSX - struktur tampilan yang akan ditampilkan
return (
// ThemedView = container utama yang mendukung tema
// style={styles.container} = menerapkan styling dari StyleSheet di bawah
<ThemedView style={styles.container}>
{/* ThemedView kedua = container untuk konten di tengah */}
<ThemedView style={styles.content}>
{/* ThemedText untuk judul utama */}
{/* type="title" = memberikan styling default untuk judul */}
{/* style={styles.title} = menambahkan styling custom */}
<ThemedText type="title" style={styles.title}>
Hello World!
</ThemedText>
{/* ThemedText untuk subtitle */}
<ThemedText style={styles.subtitle}>
Selamat datang di aplikasi Expo pertama Anda! 🎉
</ThemedText>
{/* ThemedText untuk deskripsi */}
<ThemedText style={styles.description}>
Ini adalah halaman pertama yang Anda buat. Mari belajar lebih lanjut tentang React Native dan Expo!
</ThemedText>
</ThemedView>
</ThemedView>
);
}
// StyleSheet untuk styling komponen (seperti CSS tapi untuk React Native)
const styles = StyleSheet.create({
// Style untuk container utama
container: {
flex: 1, // Menggunakan seluruh ruang yang tersedia
justifyContent: 'center', // Menempatkan konten di tengah secara vertikal
alignItems: 'center', // Menempatkan konten di tengah secara horizontal
padding: 20, // Jarak dari tepi layar
},
// Style untuk container konten
content: {
alignItems: 'center', // Menempatkan semua item di tengah
maxWidth: 300, // Lebar maksimal konten
},
// Style untuk judul utama
title: {
fontSize: 32, // Ukuran font besar
fontWeight: 'bold', // Font tebal
marginBottom: 16, // Jarak bawah dari elemen berikutnya
textAlign: 'center', // Teks di tengah
},
// Style untuk subtitle
subtitle: {
fontSize: 18, // Ukuran font sedang
marginBottom: 12, // Jarak bawah
textAlign: 'center', // Teks di tengah
opacity: 0.8, // Transparansi 80%
},
// Style untuk deskripsi
description: {
fontSize: 16, // Ukuran font normal
textAlign: 'center', // Teks di tengah
lineHeight: 24, // Jarak antar baris
opacity: 0.7, // Transparansi 70%
},
});
Simpan → aplikasi otomatis reload → muncul tulisan “Hello, Expo! 🎉”.
9. Troubleshooting Umum
- Error “expo not recognized” → pastikan Node.js & npm sudah terinstal & PATH benar.
- QR Code tidak bisa discan → pastikan laptop & HP dalam satu Wi-Fi/LAN.
- Aplikasi tidak reload otomatis → tekan
rdi terminal (restart bundler). - Port error → ganti port dengan:
expo start --port 19001
10. Tugas Mahasiswa
- Install Node.js + Expo CLI di laptop.
- Buat project
hello-expo. - Jalankan di smartphone via Expo Go.
- Edit
App.js→ ganti teks menjadi:
<code>Nama Anda - NIM - Hello Expo
- Upload screenshot ke LMS.
📌 Indikator OBE:
- Knowledge: Memahami kebutuhan environment mobile.
- Skill: Menginstal & menjalankan Expo project.
- Attitude: Mampu troubleshooting mandiri.





Tinggalkan Balasan