Implementasi Algoritma Brute Force Untuk Permasalahan Dalam Penerjemahan Idiom Bahasa Inggris

BAB 2 TINJAUAN PUSTAKA Pada bab ini akan dibahas landasan teori, penelitian terdahulu, kerangka pikir dan

  hipotesis yang mendasari penyelesaian permasalahan dalam penerjemahan idiom Bahasa Inggris dengan pengimplementasian algoritma Brute Force.

  2.1. Penerjemahan

  Menurut Larson (1984) penerjemahan adalah mengubah suatu bentuk menjadi bentuk lain. Untuk memperoleh terjemahan yang baik, terjemahan haruslah memakai bentuk- bentuk bahasa sasaran yang wajar. Dalam buku A Linguistic Theory of Translation (1980) yang ditulis oleh J.C. Catford, beliau mendefenisikan penerjemahan sebagai peralihan wacana dalam bahasa sumber dengan wacana padanannya dalam bahasa sasaran. Padanan merupakan kata kunci dalam proses menerjemah, dengan sendirinya pesan dalam wacana alihan haruslah sepadan dengan wacana aslinya.

  Berdasarkan defenisi-defenisi tersebut dapat disimpulkan bahwa penerjemahan merupakan pengubahan bahasa sumber ke dalam bahasa lain yang akan dituju dengan tidak menghilangkan makna asli dari bahasa sumber.

  2.2. Jenis-Jenis Penerjemahan

  Dalam praktek penerjemahan telah diterapkan berbagai jenis-jenis penerjemahan. Hal itu terjadi disebabkan oleh beberapa faktor (Nababan, 1999), yaitu:

1. Adanya perbedaan antara sistem bahasa sumber dengan sistem bahasa sasaran, 2.

  Adanya perbedaan jenis materi teks yang diterjemahkan, 3. Adanya anggapan bahwa terjemahan adalah alat komunikasi, dan

4. Adanya perbedaan tujuan dalam menerjemahkan suatu teks.

  Dalam kegiatan penerjemahan yang sesungguhnya, ke empat faktor tersebut tidak selalu berdiri sendiri dalam artian bahwa ada kemungkinan diterapkannya dua atau tiga jenis penerjemahan sekaligus dalam menerjemahkan sebuah teks. Berikut akan dibahas beberapa jenis dari penerjemahan.

  a.

  Penerjemahan Kata Demi Kata (word-for-word translations) Penerjemahan kata demi kata adalah suatu jenis penerjemahan yang pada dasarnya masih sangat terikat pada tataran kata. Susunan kata dalam kalimat sasarannya sama persis dengan susunan kata dalam kalimat sumbernya. Penerjemahan jenis ini sangat dihindari karena hasilnya akan sulit dipahami.

  b.

  Penerjemahan Bebas (free translation) Penerjemahan bebas sering tidak terikat pada pencarian padanan kata atau kalimat, tetapi pencarian padanan itu cenderung terjadi pada tataran paragraf atau wacana. Ungkapan-ungkapan idiomatik dan peribahasa sering kali diterjemahkan secara bebas.

  c.

  Penerjemahan Harfiah (literal translation) Penerjemahan harfiah terletak antara penerjemahan kata demi kata dan penerjemahan bebas. Penerjemahan harfiah mungkin mula-mula dilakukan seperti penerjemahan kata demi kata, tetapi penerjemah kemudian menyesuaikan susunan kata dalam kalimat bahasa sasarannya yang sesuai dengan susunan kata dalam kalimat bahasa sasaran.

  d.

  Penerjemahan Dinamik Penerjemahan dinamik disebut juga sebagai penerjemahan wajar. Pesan dari bahasa sumber dialihkan dan diungkapkan dengan ungkapan-ungkapan lazim dalam bahasa sasaran. Segala sesuatu yang berbau asing atau kurang bersifat alami, baik dalam kaitannya dengan konteks budaya atau pun dalam pengungkapannya dalam bahasa sasaran sedapat mungkin dihindari.

  e.

  Penerjemahan Pragmatik (pragmatic translation) Penerjemahan pragmatik mengacu pada peralihan amanat dengan mementingkan ketepatan penyampaian informasi dalam bahasa sasaran yang sesuai dengan informasi yang terdapat dalam bahasa sumber. Penerjemahan pragmatik dapat dilihat dalam penerjemahan dokumen-dokumen teknik dan niaga yang lebih mengutamakan informasi dan fakta. Penerjemahan lebih memusatkan perhatiannya pada peralihan informasi yang selengkap mungkin.

  f.

  Penerjemahan Estetik-puitik (esthetic-poetic translation) Dalam penerjemahan estetik-puitik, penerjemahan tidak hanya memusatkan perhatiannya pada masalah penyampaian informasi, tetapi juga pada masalah kesan, emosi, dan perasaan dengan mempertimbangkan keindahan bahasa sasaran. Penerjemahan jenis ini sulit dilakukan karena sastra bahasa sumber berbeda dari sastra bahasa sasaran, dan demikian juga kebudayaan yang melatarbelakanginya.

  g.

  Penerjemahan Etnografik Dalam penerjemahan etnografik, penerjemahan berusaha menjelaskan konteks budaya sumber dalam bahasa sasaran. Hal ini akan sukar dilakukan apabila suatu kata bahasa sumber ternyata belum atau tidak mempunyai padanan dalam bahasa sasaran, yang disebabkan oleh berbedanya budaya pemakai kedua bahasa itu.

  h.

  Penerjemahan Linguistik Penerjemahan linguistik adalah penerjemahan yang hanya berisi informasi linguistik yang implisit dalam bahasa sumber yang dijadikan eksplisit, dan yang dalam perubahan bentuk dipergunakan transformasi balik dan analisis komponen makna. Penerjemahan hanya menemukan informasi linguistik, seperti morfem, kata, frasa, klausa dan kalimat. Berdasarkan jenis-jenis penerjemahan yang telah dijelaskan sebelumnya, dalam penelitian ini penulis berfokus pada jenis penerjemahan harfiah yang merupakan gabungan dari penerjemahan kata demi kata dengan penerjemahan bebas karena identifikasi dalam penelitian ini mengarah pada masalah penerjemahan idiom Bahasa Inggris.

2.3. Idiom

  Menurut Simatupang (2000), idiom adalah ungkapan yang setidak-tidaknya terdiri atas dua kata yang maknanya tidak dapat diartikan secara harfiah dan yang berfungsi sebagai satu kesatuan semantis. Idiom merupakan kumpulan kata yang mempunyai makna baru yang berbeda dengan makna asli masing-masing pembentuk katanya membaca atau pun mendengar kata-kata tersebut, yang terpikirkan mengenai artinya adalah datang bersih dan jika ditelaahkan lebih lanjut, makna tersebut tidaklah masuk akal. Berdasarkan kamus idiom kata

  “to come clean” memiliki arti mengakui

  

kesalahan . Arti tersebut sangatlah berbeda dari terjemahan masing-masing pembentuk

  katanya karena pemaknaan ungkapan idiom tidak dapat disimpulkan berdasarkan pengujian makna unsur pembentuk katanya (Crystal, 2003). Ada beberapa hal yang harus diperhatikan dalam mempelajari idiom, yaitu: 1.

  Situasi yang tepat untuk menggunakan idiom, apakah formal atau informal, 2. Pemilihan idiom yang tepat untuk diungkapkan dalam suatu situasi, 3. Pengungkapan idiom sebagai frasa yang tidak selalu dapat diubah-ubah kata penyusunnya.

  Dalam Bahasa Inggris lisan, idiom dipergunakan diberbagai situasi mulai dari percakapan sehari-sehari hingga rapat bisnis. Dalam Bahasa Inggris tertulis, idiom sangat umum dipergunakan dalam percetakaan karena penulis dapat menyampaikan headline berita dan artikelnya semenarik mungkin (Adrian-Vallance, 2001).

  Ada lebih dari 1000 kata idiom yang ada dunia dan telah dipergunakan dalam kehidupan sehari-hari sebagai alat komunikasi. Banyaknya jumlah idiom tersebut, membuat peneliti mengklasifikasikan berbagai macam idiom berdasarkan bentuknya. Berikut merupakan jenis-jenis idiom yang diklasifikasikan oleh Utami (2010).

  1. Idiom yang menggunakan kata kerja yang umum digunakan (common verbs) Contoh: to come clean (mengaku salah), to hold true (tetap jujur), to make (berpura-pura).

  believe 2.

  Idiom yang menggunakan kata kerja yang jarang digunakan (less common

  verbs )

  Contoh: to spill the beans (mengungkap rahasia), to stick around (tetap bersama), to pick holes (mencari-cari kesalahan).

  3. Idiom yang menggunakan kata sifat sebagai intinya Contoh: hard times (hari-hari yang berat), dead tired (benar-benar lelah), to be high (mabuk).

  4. Idiom yang menggunakan kata benda sebagai intinya Contoh: to fall into line (setuju), to be on the top of the world (merasa senang sekali), to get to the point (mengerti).

5. Peribahasa (proverbs)

  Contoh: Actions speak louder than words (tindakan lebih peting daripada kata- kata), It never rains but it pours (kesialan biasanya datang bersamaan), One

  man’s trash is another man’s treasure (Sesuatu yang tidak bermanfaat bagi seseorang bisa saja berguna bagi orang lain).

  2.4. Algoritma Pencocokan String (String Matching)

  Algoritma pencocokan string merupakan komponen dasar dalam pengimplementasian berbagai perangkat lunak praktis yang sudah ada. String matching digunakan untuk menemukan satu atau lebih string yang disebut dengan pattern (string yang akan dicocokkan ke dalam text) dalam string yang disebut dengan text (string yang di-

  input ) (Charras & Lecroq, 2004).

  Menurut Singla dan Garg (2012), ada dua teknik utama dalam algoritma string

  

matching yaitu exact matching dimana hasil pencocokannya mengandung string yang

  sama persis dengan string yang di-input, contohnya pada algoritma Needleman Wunsch, algoritma Smith Waterman, algoritma KMP, algoritma BMH dan

  

approximate matching dimana hasil pencocokannya mengandung string yang tidak

  harus persis dengan string yang di-input, contohnya pada algoritma Fuzzy String Searching , algoritma Rabin Karp, algoritma Brute Force.

  2.5. Algoritma Brute Force

  Charras dan Lecroq (2004) meneliti bahwa algoritma Brute Force digunakan dalam pengecekan pada setiap kedudukan dalam text dari karakter pertama hingga karakter akhir. Seusai pengecekan karakter pertama terjadi, maka proses shift dilakukan dengan berpindah tepat satu posisi ke arah kanan (berpindah ke karakter kedua, ketiga dan seterusnya).

  Algoritma Brute Force tidak memerlukan tahap praproses. Selama tahap pencarian, pembadingan karakter pada text dapat selesai pada posisi manapun. Kompleksitas waktu untuk tahap pencariannya bernilai O(m × n) misalnya pada

  m-1 n pencarian a pada a . Perkiraan angka pembadingan karakter pada text yaitu 2n. Berikut merupakan coding algoritma Brute Force dalam bahasa C. void BF (char *x, int m, char *y, int n) { int i, j;

  /* Searching */ for (j = 0; j <= n

  • – m) { for (i = 0; i < m && x[i] == y[i + j]; ++i); if (i >= m)

  OUTPUT(j); }

  } Pada algoritma Brute Force, diberikan y sebagai text dan x sebagai pattern.

  Maka dilakukanlah proses pencocokan pattern pada text-nya. Untuk tahap pencocokan pertama, dilakukan pencocokan terhadap text sepanjang karakter dari pattern. Apabila

  

match karakter pertama pada text dan karakter pertama pada pattern, maka dimulailah

  proses pencocokan pertama. Pada pencocokan pertama ini, dilakukanlah pencocokan pada karakter kedua untuk masing-masing text dan pattern. Apabila ditemukan match pada pencocokan ini, maka lakukanlah pencocokan untuk karakter-karakter selanjutnya. Jika mismatch terjadi, maka proses berlanjut pada tahap pencocokan kedua.

  Tahap pencocokan kedua dilakukan dengan berpindah satu karakter ke arah kanan dari tahap pencocokan pertama. Dilakukanlah pencocokan karakter kedua dari

  

text dan karakter pertama pada pattern awal pada tahap sebelumnya. Jika ditemukan

  match pada pencocokan ini, maka dimulailah proses pencocokan kedua. Selanjutnya lakukan pencocokan pada karakter ketiga pada text dan karakter kedua pada pattern. Apabila match, lanjutkan ke karakter-karakter berikutnya dan apabila mismatch, lakukan tahap pencocokan ketiga. Untuk memulai tahap pencocokan ketiga, berpindahlah satu karakter ke arah kanan terhadap text.

  Tahap demi tahap dilakukan pada proses pencocokan hingga ditemukan match pada text yang karakternya sama panjang terhadap karakter pada pattern. Proses berakhir saat karakter terakhir pada text telah dilakukan pencocokan ditemukan atau

  Sebagai contoh, diberikan sejumlah karakter sebagai text = GCATCGCAGAGAGTATACAGTACG dan yang akan dicocokkan adalah pattern = GCAGAGAG sebagaimana dikutip pada Carras dan Lecroq (2004). Gambar 2.1 berikut akan menggambarkan proses pencocokan yang telah dijelaskan sebelumnya pada algoritma Brute Force dimana y merupakan text dan x merupakan pattern. Setelah dilakukan tahap pencocokan sepanjang karakter pada pattern, proses shift dilakukan dengan berpindah tepat satu karakter ke arah kanan terhadap text.

Gambar 2.1 Ilustrasi tahap pencarian algoritma brute force

2.6. PHP

  Menurut Prasetyo (2008), PHP (Hypertext Preprocessor) merupakan skrip yang bersifat server-side yang ditambahkan ke dalam skrip HTML. PHP sendiri merupakan singkatan dari Personal Home Page Tools. Skrip ini yang akan membuat suatu aplikasi website dapat diintegrasikan ke dalam HTML sehingga website tersebut tidak lagi bersifat statis, namun menjadi bersifat dinamis. Maksud dari bersifat server-side itu sendiri adalah pengerjaan skrip di lakukan di server, baru kemudian hasilnya dikirim ke browser. Cara penulisan script PHP terbagi atas empat style, yaitu: 1.

  Standard Style, dengan format: <?php … ?> 2. Short Style, dengan format: <? … ?> 3. Javascript Style, dengan format: <script language=’PHP’> …

  </script> 4.

  ASP Style, dengan format: <% … %> 2.7.

   MySQL

  MySQL merupakan server database yang mendukung perintah SQL (Structured

  

Query Language ). Perintah dalam MySQL disebut dengan pernyataan (statement)

  dengan ciri khas pengakhirannya yang di tutup dengan tanda titik koma (;). Prinsip kerja dari MySQL yaitu dengan mengetikkan sejumlah pernyataan dan di akhiri dengan titik koma, maka program klien MySQL akan segera mengirim perintah tersebut ke server database MySQL dan kemudian memberikan respon yang sesuai dengan pernyataan yang diberikan.

  Pernyataan-pernyataan umum yang sering digunakan dalam MySQL adalah sebagai berikut:

  1.

  “SELECT” digunakan untuk menampilkan informasi dari sebuah table pada database .

  2.

  “UPDATE” digunakan untuk mengubah informasi dari sebuah table pada .

  database 3.

  “DELETE” digunakan untuk menghapus informasi dari sebuah table pada database .

  4.

  “INSERT” digunakan untuk menambah informasi baru kedalam table pada

2.8. Pemodelan dan Unified Modeling Language (UML)

  Pemodelan merupakan gambaran sederhana dalam bentuk pemetaan dengan berbagai aturan-aturan tertentu. Pemodelan perangkat lunak digunakan untuk mempermudah tahapan berikutnya sehingga pengembangan dilakukan dengan lebih terencana..

  Pada perkembangan teknik pemrograman berorientasi objek, muncullah sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu Unified Modeling

  

Languge (UML). UML muncul karena adanya kebutuhan pemodelan visual untuk

  menspesifikasikan, menggambarkan, membangun, dn dokumentasi dari sistem perangkat lunak. UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung.

  UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek (Rosa & Shalahuddin, 2011).

  UML terbaru adalah UML 2.3 dan pembagian kategorinya dapat diuraikan sebagai berikut:  Structure Diagrams, digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan. Structure Diagrams terbagi atas: o

  Class Diagram, menggambarkan struktur sistem dari segi pendefenisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi. o

  Object Diagram, menggambarkan struktur sistem dari segi penamaan objek dan jalannya objek dalam sistem. Pada diagram objek harus dipastikan semua kelas yang sudah didefenisian pada diagram kelas harus dipakai objeknya, karena jika tidak, pendefinisian kelas itu tidak dapat dipertanggungjawabkan. o

  Component Diagram, menunjukkan organisasi dan ketergantungan di antara kumpulan komponen dalam sebuah sistem. Diagram komponen fokus pada komponen sistem yang dibutuhkan dan ada di dalam sistem. o

  Composite Structure Diagram, menggambarkan struktur dari bagian-bagian yang saling terhubung maupun mendeskripsikan struktur pada saat berjalan (runtime) dari instance yang saling terhubung. o Package Diagram, menyediakan cara mengumpulkan elemen-elemen yang saling terkait dalam diagram UML. Hampir semua diagram dalam UML dapat dikelompokkan menggunakan package diagram. o

  Deployment Diagram, menunjukkan konfigurasi komponen dalam proses eksekusi aplikasi. Deployment diagram juga dapat digunakan untuk memodelkan embedded system, sistem client/server, sistem terdistribusi murni dan rekayasa ulang aplikasi.  Behavior Diagrams, digunakan untuk menggambarkan kelakukan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem. Behavior Diagrams terbagi atas: o

  Use Case Diagram, pemodelan untuk kelakukan sistem informasi yang akan dibuat. Use Case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak mengunakan fungsi-fungsi itu. o

  Activity Diagram, menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan adalah bahwa diagram aktivitas menggambarkan sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. o

  State Machine Diagram, menggambarkan perubahan status atau transisi status dari sebuah mesin atau sistem. Perubahan tersebut digambarkan dalam suatu graf berarah. State Machine Diagram merupakan pengembangan dari diagram Finite State Automata denan penambahan beberapa fitur dan konsep baru.  Interaction Diagrams, digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antarsubsistem pada suatu sistem. Interaction

  Diagrams terbagi atas:

  o Sequence Diagram, menggambarkan kelakukan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antarobjek. Oleh karena itu, untuk menggambarkan diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek o Communication Diagram, menggambarkan interaksi antarobjek/bagian dalam bentuk urutan pengiriman pesan. Diagram komunikasi merepresentasikan informasi yang diperoleh dari diagram kelas, diagram sekuen dan diagram use case untuk mendeskripsikan gabungan antara struktur statis dan tingkah laku dinamis dari suatu sistem. o

  Timing Diagram, menggambarkan tingkah laku sistem dalam periode waktu tertentu. Timing Diagram biasanya digunakan untuk mendeskripsikan operasi alat digital karena penggambaran secara visual akan lebih mudah dipahami daripada dengan kata-kata. o

  Interaction Overview Diagram, menggambarkan sekumpulan urutan aktivitas. Interaction Overview Diagram adalah bentuk aktivitas diagram yang setiap titik merepresentasikan diagram interaksi. Interaksi diagram dapat meliputi diagram sekuen, diagram komunikasi, interaction overview

  diagram dan timing diagram.

2.9 Penelitian Terdahulu

  Dalam melakukan penelitian, penulis membutuhkan beberapa bahan penelitian yang sudah pernah dilakukan peneliti-peneliti lainnya mengenai masalah penerjemahan dan algoritma Brute Force.

  Crepinsek et al (2005) telah mencoba menggunakan pendekatan Brute Force dalam penelitian pada pengesktraksian tata bahasa dari pemrograman dimana Brute

  

Force digunakan untuk pencarian karakter spasi pada induksi tata bahasa bebas-

konteks.

  Lin (2009) telah berhasil membuktikan algoritma Brute Force bekerja lebih efisien saat menggunakan tiga buah algoritma dalam menyelesaikan penelitian perbandingan kesamaan koleksi dokumentasi.

  Alawneh et al (2011) juga telah melakukan penelitian mengenai mesin penerjemah kalimat menggunakan pendekatan hybrid-based dan penerjemahan dilakukan dari Bahasa Inggris ke Bahasa Arab.

  Antony (2013) telah meneliti dan melakukan survei mengenai pendekatan yang dilakukan dalam mesin penerjemah berbahasa India dan menyimpulkan bahwa pendekatan statistik dan hybrid yang paling umum digunakan. Untuk penelitian yang

Table 2.1 Tabel penelitian terdahulu No Peneliti Judul Penelitian

  Crepinsek et

  1 Extracting Grammar from Programs: Brute Force Approach

  al (2005)

  Brute Force and Indexed Approaches to Pairwise Document

  2 Lin (2009) Similarity Comparisons with MapReduce

  Alawneh et al

  3 Machine Translation from English to Arabic (2011)

  Antony Machine Translation Approaches and Survey for Indian

  4 (2013) Languages