Cara Membangun Aplikasi Penerjemah Suara AI Menggunakan Flutter dan Back4App
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.
Untuk menyelesaikan tutorial ini, Anda akan membutuhkan:
- 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.
Dalam langkah ini, Anda akan menyiapkan aplikasi Back4App, mendefinisikan model data, dan mengonfigurasi backend untuk menyimpan riwayat terjemahan, bahasa, dan data pengguna.
- Klik pada "Buat aplikasi baru".
- Masukkan Nama Aplikasi (misalnya, "Penerjemah Suara AI") dan pilih Ikon Aplikasi.
- Pilih lokasi server Anda jika diminta.
- Klik "Buat".
- Navigasikan ke Pengaturan Aplikasi > Keamanan & Kunci di dasbor aplikasi Anda.
- Catat ID Aplikasi dan Kunci Klien. Ini akan diperlukan untuk konfigurasi aplikasi Flutter.
Kami akan membuat kelas berikut di Back4App:
- Pengguna (default)
- Terjemahan
- Bahasa
- Frasa
- EntriKamus
1.3.1. Buat Kelas Terjemahan
- Pergi ke Database > Browser.
- Klik "Buat kelas".
- Pilih "Kustom" dan beri nama Terjemahan.
- 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
- 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
- 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
- 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.
Pastikan bahwa hanya pengguna yang terautentikasi yang dapat mengakses data mereka sendiri:
- Untuk setiap kelas, pergi ke Keamanan > Izin Tingkat Kelas (CLP).
- Atur CLP untuk mengizinkan akses baca/tulis hanya untuk pengguna yang terautentikasi.
Dalam langkah ini, Anda akan menyiapkan proyek Flutter dan mengonfigurasinya untuk terhubung ke Back4App.
Buka terminal Anda dan jalankan:
Navigasikan ke direktori proyek:
Buka pubspec.yaml dan tambahkan ketergantungan berikut:
Jalankan flutter pub get untuk menginstal paket.
Buat file baru lib/config/back4app_config.dart:
Ganti 'YOUR_APPLICATION_ID' dan 'YOUR_CLIENT_KEY' dengan kunci dari Back4App.
In lib/main.dart, initialize Parse:
Create lib/app.dart:
The first feature to implement is basic text translation.
Create lib/services/translation_service.dart to manage interactions with a translation API (Google Cloud Translation API or DeepL).
Create lib/models/language.dart to represent supported languages.
Buat lib/screens/text_translation_screen.dart untuk menangani input teks dan terjemahan:
Dalam langkah ini, Anda akan menambahkan terjemahan suara dengan mengintegrasikan speech-to-text dan text-to-speech fungsionalitas.
Buat lib/services/speech_recognition_service.dart menggunakan speech_to_text paket:
Buat lib/services/tts_service.dart menggunakan flutter_tts paket:
Buat lib/screens/voice_translation_screen.dart untuk menangani terjemahan suara:
Buat lib/services/ocr_service.dart menggunakan paket google_ml_kit:
Buat lib/screens/image_translation_screen.dart untuk menangani input gambar dan OCR:
Dalam langkah ini, Anda akan menerapkan penyimpanan riwayat terjemahan dan mengelola buku frasa.
Perbarui lib/services/translation_service.dart untuk menyimpan riwayat terjemahan di Back4App:
Buat lib/screens/phrase_book_screen.dart untuk mengelola frasa umum:
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.
- 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.