About Me

Hai, saya Rosihan Ari Yuana. Saya sehari-hari adalah mengajar di Universitas Sebelas Maret.

Bidang riset saya tentang adaptive learning, computer aided learning, dan datascience

Selain itu, saya juga seorang penulis buku dan blogger.

More about me...

  • Home
  • /
  • PHP
  • /
  • Cara Import Teks Dari MS. Word (Format .DOC) Menggunakan PHP
PHP

Cara Import Teks Dari MS. Word (Format .DOC) Menggunakan PHP

Artikel kali ini yang akan dibahas oleh Blog Tutorial Pemrograman ini adalah bagaimana cara mengimport teks yang ada di dalam sebuah file berekstension .doc yang dihasilkan oleh aplikasi Office MS. Word menggunakan PHP. Metode ini nanti akan sangat bermanfaat jika Anda ingin mengembangkan aplikasi web untuk mengolah atau menganalisis teks yang berada dalam sebuah file .doc, sebagai contohnya adalah aplikasi untuk menganalisa apakah isi sebuah dokumen merupakan hasil plagiat atau tidak. Dalam pembuatan aplikasi tersebut, pastilah terdapat prosedur untuk mengekstrak isi dokumen yang berupa teks terlebih dahulu selanjutnya dianalisis.

Untuk mengimport teks dari dokumen .doc ini, nantinya kita memanfaatkan aplikasi lain yang bersifat free yaitu ANTI WORD. Aplikasi ini bisa Anda unduh di http://www.winfield.demon.nl. Di situ, Anda bisa dapatkan Anti Word untuk beberapa platform OS sesuai kebutuhan Anda. Di sini hanya akan dibahas penggunaan Anti Word di dalam OS Windows saja.

Setelah aplikasi Anti Word Anda unduh, selanjutnya Anda ekstrak filenya dan langsung bisa Anda gunakan tanpa perlu instalasi terlebih dahulu.

Bagaimana cara menggunakan Anti Word? Sepertinya Anti Word ini belum menyediakan interface yang user friendly, sehingga untuk menggunakannya Anda harus menggunakan command prompt. Meskipun begitu, cukup mudah diingat kok commandnya 🙂

Berikut ini adalah perintah untuk membaca/mengekstrak/mengambil/mengimport isi teks dari sebuah file .doc bernama ‘test.doc’ kemudian isi tersebut disimpan ke dalam sebuah file ‘result.txt’

antiword.exe -m cp850.txt test.doc > result.txt

Keterangan:
parameter -m cp850.txt menunjukkan bahwa dokumen yang diimport berformat Latin1 yang sering digunakan di Indonesia.

OK, setelah kita tahu cara menggunakan Anti Word selanjutnya kita akan bahas bagaimana penggunaan Anti Word ini kita integrasikan dalam sebuah script PHP. Di sini akan saya tunjukkan contoh script PHP untuk menampilkan statistik huruf vokal (A, I, U, E, O) yang ada di dalam sebuah file MS. Word (.doc). Dalam implementasinya nanti, terlebih dahulu file .doc akan diupload dan selanjutnya akan langsung muncul statistik jumlah masing-masing huruf vokalnya.

Pertama kita siapkan form untuk upload file .doc nya terlebih dahulu

form.html

<html>
  <head>
    <title>Upload File</title>
  </head>
  <body>
    <form method="post" enctype="multipart/form-data" action="upload.php">
    Pilih file 
    <input type="hidden" name="MAX_FILE_SIZE" value="2000000"> 
    <input name="userfile" type="file">
    <input name="upload" type="submit" value="Upload">
    </form>
  </body>
</html>

Setelah kita buat form uploadnya, selanjutnya coba kita rancang prosedur berikutnya. Salah satu mekanisme yang bisa kita pilih adalah, setelah file .doc diupload file tersebut nantinya di server disimpan dengan nama file tertentu misalnya fileku.doc. Kemudian, fileku.doc ini nanti akan diproses oleh anti word untuk diimport isi teksnya. Isi teks ini selanjutnya disimpan ke dalam file data.txt. Barulah data.txt ini nanti akan diproses untuk mendapatkan statistik huruf vokalnya.

Mungkin ada di antara Anda yang bertanya-tanya, kenapa tidak langsung saja file .doc yang diupload diproses untuk dihitung jumlah huruf vokalnya, tanpa diimport terlebih dahulu via anti word? Ya.. mengapa hal ini tidak bisa dilakukan, karena file .doc bukanlah plain teks sehingga tidak bisa langsung diproses isi filenya. Cara mudah mengidentifikasi file dokumen plain teks adalah bisa langsung dibuka dan bisa dibaca via Notepad biasa. Nah, file .doc salah satu jenis file yang tidak bisa dibaca lewat Notepad. Jika Anda mencoba membukanya via Notepad, maka akan muncul karakter-karakter aneh yang tidak bisa dibaca 🙂

OK penjelasan singkat tentang alasan mengapa dokumen .doc perlu diimport dahulu ke plain teks sebelum diproses sudah cukup, selanjutnya kita siapkan script untuk mengolah file .doc yang telah diupload tersebut.

upload.php

<?php

/* proses upload file DOC ke server.
   File yang diupload disimpan dg nama 'fileku.doc' */

$fileupload = 'fileku.doc';
$tmpName  = $_FILES['userfile']['tmp_name']; 

if (move_uploaded_file($tmpName, $fileupload)) 
{
    echo "<p>File telah diupload</p>";
} 
else 
{
    echo "<p>File gagal diupload</p>";
}

/* proses baca isi dari file fileku.doc
   isi file lalu disimpan dalam file data.txt */

// path lokasi direktori antiword
$path = 'd:/www/doc/antiword/';

$filetxt = 'data.txt';
exec($path.'antiword.exe -m cp850.txt '.$fileupload.' > '.$filetxt);

/* proses pembacaan karakter pada data.txt
   untuk selanjutnya diproses untuk dihitung jumlah masing-masing huruf vokal */
   
$file = fopen($filetxt, 'r');

$jumA = 0; $jumI = 0; $jumU = 0;
$jumE = 0; $jumO = 0;

while (!feof($file))
{
    $char = strtoupper(fgetc($file));
    if ($char == "A") $jumA++;
    else if ($char == "I") $jumI++;
    else if ($char == "U") $jumU++;
    else if ($char == "E") $jumE++;
    else if ($char == "O") $jumO++;
}
fclose($file);

// tampilkan jumlah masing-masing huruf vokal
echo "Jumlah huruf A : ".$jumA."<br>";
echo "Jumlah huruf I : ".$jumI."<br>";
echo "Jumlah huruf U : ".$jumU."<br>";
echo "Jumlah huruf E : ".$jumE."<br>";
echo "Jumlah huruf O : ".$jumO."<br>";
?>

Bagaimana menurut Anda? sangat simpel bukan caranya? Contoh di atas adalah satu pemanfaatan Anti Word untuk mengolah isi teks yang ada di dalam file .doc menggunakan PHP. Jika Anda menguasai VB atau bahasa program yang lain, Anda silakan coba mengintegrasikan Anti Word tersebut ke dalam program yang Anda buat.

Terakhir, meskipun Anti Word ini sudah dibilang cukup handal namun ada beberapa kekurangan yaitu belum bisa mengimport dokumen dalam format .docx, sehingga kalau Anda ingin mengimport .docx dengan Anti Word maka harus disimpan ke dalam format .doc terlebih dahulu.

OK. selamat mencoba ya… 🙂

 

Saya seorang dosen dan peneliti di Universitas Sebelas Maret. Bidang penelitian saya tentang: adaptive learning, datascience, dan computer aided learning. Selain itu saya juga seorang blogger, serta penulis buku tentang pemrograman, dan matematika.

Leave a Reply