Latihan: Translator
Studi Kasus: Penerjemah Berkas Teks
Pada latihan ini, kita akan membuat sebuah alat atau script Python yang membaca berkas teks .txt, menerjemahkan isinya ke bahasa lain, misalnya bahasa Jepang, kemudian menyimpan hasil terjemahan tersebut ke dalam berkas baru.
Latihan ini menggabungkan beberapa konsep yang sudah dipelajari sebelumnya:
- File I/O.
- Membaca file menggunakan
open(). - Menulis file menggunakan mode
w. - Menggunakan
withuntuk mengelola file. - Error handling menggunakan
try...except. - Menggunakan library eksternal Python.
- Menerjemahkan teks ke bahasa tujuan.
Alur sederhana program:
File sumber
│
▼
Baca teks
│
▼
Proses penerjemahan
│
▼
Hasil terjemahan
│
▼
File baru
Instalasi Modul translate
Untuk melakukan proses penerjemahan, kita menggunakan library eksternal bernama translate.
Library tersebut perlu diinstal terlebih dahulu menggunakan pip.
Jalankan perintah berikut pada terminal:
pip install translate
Setelah proses instalasi selesai, library dapat digunakan di dalam program Python.
Struktur File
Sebagai contoh, kita memiliki file sumber bernama:
test.txt
File tersebut berisi teks yang ingin diterjemahkan.
Kemudian program akan menghasilkan file baru:
test-ja.txt
File test-ja.txt digunakan untuk menyimpan hasil terjemahan.
Struktur sederhananya:
project/
├── test.txt
└── translator.py
Setelah program dijalankan, hasilnya menjadi:
project/
├── test.txt
├── test-ja.txt
└── translator.py
Mengimpor Translator
Library translate menyediakan class Translator yang digunakan untuk melakukan proses penerjemahan.
Import menggunakan:
from translate import Translator
Setelah itu, Translator dapat digunakan untuk menentukan bahasa tujuan.
Membaca File Sumber
Langkah pertama adalah membaca isi file test.txt.
Gunakan with open() dengan mode r:
with open("./test.txt", mode="r") as my_file:
text = my_file.read()
Penjelasan:
open()digunakan untuk membuka file../test.txtmenunjukkan lokasi file menggunakan relative path.mode="r"digunakan untuk membaca file.read()membaca seluruh isi file.- Hasil pembacaan disimpan ke dalam variabel
text. withmemastikan file ditutup secara otomatis setelah selesai digunakan.
Membuat Translator
Setelah teks berhasil dibaca, kita membuat objek Translator.
Contoh:
translator = Translator(to_lang="ja")
Parameter:
to_lang="ja"
digunakan untuk menentukan bahasa tujuan, yaitu bahasa Jepang.
Setelah objek translator dibuat, kita dapat menggunakan objek tersebut untuk menerjemahkan teks.
Menerjemahkan Teks
Gunakan method translate() untuk memproses teks.
translation = translator.translate(text)
Variabel text berisi teks asli dari file.
Hasil penerjemahan kemudian disimpan dalam variabel:
translation
Sehingga alurnya:
test.txt
│
▼
text
│
▼
translator.translate()
│
▼
translation
Menyimpan Hasil Terjemahan
Setelah proses penerjemahan selesai, hasilnya perlu disimpan ke file baru.
Gunakan mode w:
with open("./test-ja.txt", mode="w") as my_file_2:
my_file_2.write(translation)
Mode w digunakan untuk menulis hasil terjemahan ke dalam file.
Jika test-ja.txt belum ada, Python akan membuat file tersebut.
Jika file sudah ada, isinya akan ditimpa dengan hasil terjemahan baru.
Menambahkan Error Handling
Program File I/O dapat mengalami error, misalnya ketika file sumber tidak ditemukan.
Untuk menangani kondisi tersebut, gunakan try...except.
Contoh:
try:
with open("./test.txt", mode="r") as my_file:
text = my_file.read()
except FileNotFoundError as err:
print("File tidak ditemukan, periksa kembali path file Anda!")
raise err
Jika test.txt tidak ditemukan, Python akan menghasilkan FileNotFoundError.
Blok except kemudian menangkap error tersebut dan menampilkan pesan yang lebih mudah dipahami.
Program Lengkap
Berikut implementasi lengkap latihan Translator:
from translate import Translator
try:
# 1. Membaca file teks sumber
with open("./test.txt", mode="r") as my_file:
text = my_file.read()
# 2. Inisialisasi translator ke bahasa tujuan
translator = Translator(to_lang="ja")
translation = translator.translate(text)
# 3. Menulis hasil terjemahan ke file baru
with open("./test-ja.txt", mode="w") as my_file_2:
my_file_2.write(translation)
print("Penerjemahan selesai! Hasil disimpan di test-ja.txt")
except FileNotFoundError as err:
print("File tidak ditemukan, periksa kembali path file Anda!")
raise err
Penjelasan Program
Program dimulai dengan mengimpor Translator:
from translate import Translator
Kemudian seluruh proses utama ditempatkan di dalam blok try:
try:
...
Tujuannya adalah menangani kemungkinan FileNotFoundError ketika file sumber dibuka.
Membaca File
Program membuka test.txt menggunakan mode r:
with open("./test.txt", mode="r") as my_file:
text = my_file.read()
Seluruh isi file kemudian disimpan ke dalam variabel text.
Membuat Translator
Program membuat translator dengan bahasa tujuan Jepang:
translator = Translator(to_lang="ja")
Melakukan Penerjemahan
Isi file diterjemahkan menggunakan:
translation = translator.translate(text)
Hasilnya disimpan di dalam variabel translation.
Menulis Hasil
Hasil terjemahan kemudian disimpan ke test-ja.txt:
with open("./test-ja.txt", mode="w") as my_file_2:
my_file_2.write(translation)
Menampilkan Pesan
Setelah proses selesai, program menampilkan:
print("Penerjemahan selesai! Hasil disimpan di test-ja.txt")
Pesan tersebut memberikan informasi kepada pengguna bahwa proses penerjemahan telah selesai.
Alur Kerja Program
Secara keseluruhan, program bekerja dengan alur berikut:
test.txt
│
▼
open(..., "r")
│
▼
read()
│
▼
text
│
▼
Translator(to_lang="ja")
│
▼
translator.translate()
│
▼
translation
│
▼
open(..., "w")
│
▼
write()
│
▼
test-ja.txt
Error Handling
Jika file sumber tidak tersedia:
test.txt
│
▼
open()
│
▼
FileNotFoundError
│
▼
except FileNotFoundError
│
▼
Pesan error
Program menampilkan:
File tidak ditemukan, periksa kembali path file Anda!
Dengan demikian, pengguna mendapatkan informasi mengenai masalah yang terjadi.
Konsep yang Dipraktikkan
Latihan Translator menggabungkan beberapa konsep Python yang telah dipelajari.
| Konsep | Penggunaan |
|---|---|
open() | Membuka file |
mode="r" | Membaca file |
read() | Mengambil isi file |
with | Mengelola file secara aman |
Translator | Membuat objek penerjemah |
translate() | Menerjemahkan teks |
mode="w" | Menulis file |
write() | Menyimpan hasil terjemahan |
try...except | Menangani error |
FileNotFoundError | Menangani file yang tidak ditemukan |
Ringkasan
Pada latihan Exercise: Translator, kita membuat program yang membaca teks dari sebuah file, menerjemahkannya, kemudian menyimpan hasilnya ke file baru.
Alur utamanya adalah:
- Menginstal library
translate. - Mengimpor
Translator. - Membuka file sumber menggunakan mode
r. - Membaca isi file menggunakan
read(). - Membuat objek
Translator. - Menentukan bahasa tujuan menggunakan
to_lang. - Menerjemahkan teks menggunakan
translate(). - Membuka file tujuan menggunakan mode
w. - Menyimpan hasil menggunakan
write(). - Menangani
FileNotFoundErrormenggunakantry...except.
Latihan ini merupakan contoh penerapan beberapa konsep File I/O, Error Handling, dan External Library dalam satu program Python.