Flutter Templates

Cara Membangun Aplikasi Penerjemah Suara AI Menggunakan Flutter dan Back4App

30min

Pendahuluan

Dalam tutorial ini, Anda akan belajar bagaimana membangun aplikasi Penerjemah Suara AI menggunakan Flutter sebagai kerangka frontend dan Back4App sebagai layanan backend. Aplikasi ini akan memungkinkan pengguna untuk menerjemahkan ucapan, teks, dan gambar ke berbagai bahasa. Ini akan menampilkan penerjemahan yang didukung AI, pengenalan karakter optik (OCR), dan fungsionalitas pengenalan suara. Pada akhir tutorial ini, Anda akan memiliki aplikasi yang dapat menangani terjemahan waktu nyata dan menyimpan riwayat di Back4App untuk digunakan di masa mendatang.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda akan membutuhkan:

  • A akun Back4App. Daftar untuk akun gratis di Back4App.
  • Flutter SDK terinstal di mesin lokal Anda. Ikuti panduan instalasi Flutter.
  • Pengetahuan dasar tentang Dart dan Flutter. Jika Anda baru mengenal Flutter, tinjau dokumentasi Flutter sebelum melanjutkan.
  • Akun dengan penyedia API Penerjemahan seperti Google Cloud Translation atau DeepL.
  • Keterampilan dengan REST APIs dan pemrograman asinkron dalam Dart.

Langkah 1 — Menyiapkan Backend Back4App Anda

Dalam langkah ini, Anda akan menyiapkan aplikasi Back4App, mendefinisikan model data, dan mengonfigurasi backend untuk menyimpan riwayat terjemahan, bahasa, dan data pengguna.

1.1. Buat Aplikasi Baru di Back4App

  1. Masuk ke dasbor Back4App.
  2. Klik pada "Buat aplikasi baru".
  3. Masukkan Nama Aplikasi (misalnya, "Penerjemah Suara AI") dan pilih Ikon Aplikasi.
  4. Pilih lokasi server Anda jika diminta.
  5. Klik "Buat".

1.2. Ambil Kunci Aplikasi

  1. Navigasikan ke Pengaturan Aplikasi > Keamanan & Kunci di dasbor aplikasi Anda.
  2. Catat ID Aplikasi dan Kunci Klien. Ini akan diperlukan untuk konfigurasi aplikasi Flutter.

1.3. Definisikan Model Data Anda

Kami akan membuat kelas berikut di Back4App:

  • Pengguna (default)
  • Terjemahan
  • Bahasa
  • Frasa
  • EntriKamus

1.3.1. Buat Kelas Terjemahan

  1. Pergi ke Database > Browser.
  2. Klik "Buat kelas".
  3. Pilih "Kustom" dan beri nama Terjemahan.
  4. Klik "Buat kelas".

Tambahkan kolom berikut ke Terjemahan:

  • pengguna (Pointer<_User>): Mengacu pada User objek.
  • sourceLanguage (String): Kode bahasa sumber.
  • targetLanguage (String): Kode bahasa target.
  • sourceText (String): Teks asli untuk diterjemahkan.
  • translatedText (String): Teks yang diterjemahkan.
  • translationType (String): Jenis terjemahan (suara, teks, gambar).
  • timestamp (DateTime).

1.3.2. Buat Kelas Bahasa

  1. Ulangi langkah-langkah untuk membuat kelas baru bernama Bahasa.

Tambahkan kolom berikut ke Bahasa:

  • nama (String): Nama bahasa (misalnya, "Inggris").
  • kode (String): Kode ISO bahasa (misalnya, "en").
  • flagIconUrl (String): URL gambar bendera yang mewakili bahasa.

1.3.3. Buat Kelas Frasa

  1. Buat kelas bernama Frasa.

Tambahkan kolom berikut ke Frasa:

  • kategori (String): Kategori frasa (misalnya, "Salam").
  • kodeBahasaSumber (String): Kode bahasa sumber.
  • kodeBahasaTujuan (String): Kode bahasa tujuan.
  • teksSumber (String): Frasa asli.
  • teksTerjemahan (String): Frasa yang diterjemahkan.

1.3.4. Buat Kelas DictionaryEntry

  1. Buat kelas bernama DictionaryEntry.

Tambahkan kolom berikut ke DictionaryEntry:

  • kata (String): Kata yang didefinisikan.
  • bahasa (String): Bahasa dari kata tersebut.
  • definisi (String): Definisi kata.
  • contoh (Array): Kalimat contoh yang menggunakan kata tersebut.

1.4. Atur Izin Tingkat Kelas

Pastikan bahwa hanya pengguna yang terautentikasi yang dapat mengakses data mereka sendiri:

  1. Untuk setiap kelas, pergi ke Keamanan > Izin Tingkat Kelas (CLP).
  2. Atur CLP untuk mengizinkan akses baca/tulis hanya untuk pengguna yang terautentikasi.

Langkah 2 — Menginisialisasi Proyek Flutter Anda

Dalam langkah ini, Anda akan menyiapkan proyek Flutter dan mengonfigurasinya untuk terhubung ke Back4App.

2.1. Buat Proyek Flutter Baru

Buka terminal Anda dan jalankan:

Bash


Navigasikan ke direktori proyek:

Bash


2.2. Tambahkan Ketergantungan yang Diperlukan

Buka pubspec.yaml dan tambahkan ketergantungan berikut:

YAML


Jalankan flutter pub get untuk menginstal paket.

2.3. Inisialisasi Parse di Aplikasi Flutter Anda

Buat file baru lib/config/back4app_config.dart:

Dart


Ganti 'YOUR_APPLICATION_ID' dan 'YOUR_CLIENT_KEY' dengan kunci dari Back4App.

In lib/main.dart, initialize Parse:

Dart


Create lib/app.dart:

Dart


Step 3 — Implementing Text Translation

The first feature to implement is basic text translation.

3.1. Configure Translation Service

Create lib/services/translation_service.dart to manage interactions with a translation API (Google Cloud Translation API or DeepL).

Dart


3.2. Implement Language Model

Create lib/models/language.dart to represent supported languages.

Dart


3.3. Buat Layar Terjemahan Teks

Buat lib/screens/text_translation_screen.dart untuk menangani input teks dan terjemahan:

Dart


Langkah 4 — Mengimplementasikan Terjemahan Suara

Dalam langkah ini, Anda akan menambahkan terjemahan suara dengan mengintegrasikan speech-to-text dan text-to-speech fungsionalitas.

4.1. Siapkan Pengenalan Suara

Buat lib/services/speech_recognition_service.dart menggunakan speech_to_text paket:

Dart


4.2. Tambahkan Teks-ke-Ucapan (TTS)

Buat lib/services/tts_service.dart menggunakan flutter_tts paket:

Dart


4.3. Buat Layar Terjemahan Suara

Buat lib/screens/voice_translation_screen.dart untuk menangani terjemahan suara:

Dart


Langkah 5 — Mengimplementasikan Terjemahan Gambar (OCR)

5.1. Siapkan Layanan OCR

Buat lib/services/ocr_service.dart menggunakan paket google_ml_kit:

Dart


5.2. Buat Layar Terjemahan Gambar

Buat lib/screens/image_translation_screen.dart untuk menangani input gambar dan OCR:

Dart


Langkah 6 — Riwayat Terjemahan dan Buku Frasa

Dalam langkah ini, Anda akan menerapkan penyimpanan riwayat terjemahan dan mengelola buku frasa.

6.1. Simpan Riwayat Terjemahan

Perbarui lib/services/translation_service.dart untuk menyimpan riwayat terjemahan di Back4App:

Dart


6.2. Implementasi Buku Frasa

Buat lib/screens/phrase_book_screen.dart untuk mengelola frasa umum:

Dart


Kesimpulan

Dengan mengikuti tutorial ini, Anda telah membangun sebuah Aplikasi Penerjemah Suara AI yang dengan Flutter dan Back4App. Anda telah mengimplementasikan:

  • Penerjemahan teks dasar dan lanjutan.
  • Penerjemahan suara-ke-suara menggunakan pengakuan suara dan teks-ke-suara.
  • Penerjemahan gambar-ke-teks menggunakan OCR.
  • Manajemen riwayat penerjemahan dan buku frasa untuk ungkapan umum.

Langkah Selanjutnya

  • Tingkatkan UI/UX: Tingkatkan antarmuka aplikasi untuk pengalaman pengguna yang lebih lancar.
  • Perbaiki Penanganan Kesalahan: Tambahkan penanganan kesalahan dan mekanisme cadangan untuk kegagalan API.
  • Terapkan Mode Offline: Simpan penerjemahan, frasa, dan riwayat umum untuk akses offline.
  • Luncurkan Aplikasi: Siapkan aplikasi untuk diluncurkan di platform iOS dan Android.