pengembangan tool untuk menulis taya al...
TRANSCRIPT
PENGEMBANGAN TOOL UNTUK MENULIS AYAT AL QUR'AN
MENGGUNAKAN LaTEX DAN PERL
(Skripsi)
Oleh
NURAINI TRI WAHYUNI
PROGRAM STUDI ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS LAMPUNG
BANDAR LAMPUNG
2011
ABSTRAK
TOOL DEVELOPMENT FOR THE QUR'AN CLAUSE TYPING
USING LATEX AND PERL
By :
Nuraini Tri Wahyuni
The Qur'an clause typing process using the latex is very di�erent from the usual
document formating, because it requires packages that must be attached to the
latex system itself and requires accuracy in typing because it must comply with the
standard of writing that has been determined. No exception for arab text typing
or the Qur'an clause typing, it also di�cult user and astemust time to typing and
matching to the typing standart that had been made. This research o�ers a solution
to latex users who want to write the Quran clause easier, more e�ective and more
e�cient. In this research TextMaker used as latex editor to process the discourse,
and uses the library texlive, texlive arabic lang for writing the Quran clause. The
�nal result is a tool for searching the Qur'an clause and also makeit easy to use in
latex.
Keyword : LaTeX, Perl, Al Qur'an.
ABSTRAK
PENGEMBANGAN TOOL UNTUK MENULIS AYAT AL QUR'AN
MENGGUNAKAN LaTEX DAN PERL
Oleh :
Nuraini Tri Wahyuni
Proses pengetikan ayat Al Qur'an dengan menggunakan LaTEX berbeda dengan
pemformat dokumen biasa, karena diperlukan paket-paket yang harus terpasang
pada LaTEX itu sendiri dan memerlukan ketelitian dalam pengetikan karena harus
sesuai dengan standar penulisan yang telah ditentukan. Tidak terkecuali untuk
menulis huruf arab atau menulis ayat Al Qur'an, hal ini mengakibatkan pengguna
akan kesulitan dan menghabiskan banyak waktu untuk menulis dan menyesuaikan
dengan standar penulisan huruf yang ada. Penelitian ini menawarkan sebuah solusi
kepada pengguna LaTEX yang ingin menulis ayat Al Qur'an agar lebih mudah, efek-
tif serta e�sien. Dalam penelitian ini menggunakan Texmaker sebagai editor LaTEX
yang akan memproses tulisan, serta menggunakan library texlive, texlive-lang-arab
untuk penulisan ayat Al Quran. Hasil akhirnya adalah sebuah tool untuk mencari
ayat Al Qur'an yang diinginkan, serta mempermudah penulisannya di LaTEX
Kata Kunci : LaTeX, Perl, Al Qur'an.
PENGEMBANGAN TOOL UNTUK MENULIS AYAT AL QUR'AN
MENGGUNAKAN LATEX DAN PERL
Oleh
NURAINI TRI WAHYUNI
Skripsi
Sebagai salah satu syarat untuk memperoleh gelar
SARJANA ILMU KOMPUTER
Pada
Program Studi Ilmu Komputer
Jurusan Matematika
Fakultas Matematika dan Ilmu Pengetahuan Alam
PROGRAM STUDI ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS LAMPUNG
BANDAR LAMPUNG
2011
Judul Skripsi : PENGEMBANGAN TOOL UNTUK
MENULIS AYAT AL QUR'AN
MENGGUNAKAN LATEX DAN PERL
Nama Mahasiswa : Nuraini Tri Wahyuni
Nomor Pokok Mahasiswa : 0617032017
Program Studi : Ilmu Komputer
Jurusan : Matematika
Fakultas : Matematika dan Ilmu Pengetahuan Alam
MENYETUJUI
1. Komisi Pembimbing
Dwi Sakethi, M.kom Bambang Hermanto, S.Kom
NIP.196806111998021001 NIP.197909122008121002
2.Mengetahui,
Ketua Jurusan Matematika Ketua Program Studi
Ilmu Komputer
Tiryono Ruby, M.Sc.,Ph.D Rangga Firdaus, M.Kom
NIP.196207041988031002 NIP. 197410102008011015
MENGESAHKAN
1. Tim Penguji
Ketua : Dwi Sakethi, M.Kom. ....................
Sekretaris : Bambang Hermanto, S.Kom. ....................
Penguji
Bukan Pembimbing : Didik Kurniawan, M.T. ....................
2. Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam
Dr.Sutyarso, M.Biomed.
NIP.19570424 198703 1 001
Tanggal Lulus Ujian Skripsi : 18 Februari 2011
PERNYATAAN
Saya yang bertanda tangan di bawah ini, menyatakan bahwa skripsi saya yang
berjudul " Pengembangan Tool untuk Menulis ayat Al Qur'an Menggunakan LaTEX
dan Perl " ini merupakan karya saya sendiri dan bukan hasil karya orang lain. Se-
mua hasil tulisan yang tertuang dalam skripsi ini telah mengikuti kaidah penulisan
karya ilmiah Universitas Lampung. Apabila dikemudian hari terbukti bahwa skripsi
saya ini merupakan hasil penjiplakan atau dibuat orang lain, maka saya bersedia
menerima sanksi berupa pencabutan gelar yang telah saya terima.
Bandar Lampung, Pebruari 2011
Nuraini Tri Wahyuni
NPM.0617032017
RIWAYAT HIDUP
Penulis dilahirkan di Natar pada tanggal 26 Maret 1989. Sebagai anak ketiga
dari tiga bersaudara dari bapak Sarjono dan ibu Kartimah.
Penulis menyelesaikan pendidikan Sekolah Dasar Negrei 1 Merak Batin Natar
tahun 2000. Sekolah Lanjutan Tingkat Pertama (SLTP) diselesaikan di SLTPN 1
Natar pada tahun 2003. Kemudian melanjutkan ke jenjang Sekolah Menengah Atas
(SMA) Negeri 1 Natar selama 3 (Tiga) tahun, dan kemudian lulus ditahun 2006.
Pada tahun 2006, penulis terdaftar sebagai mahasiswa program studi Ilmu
Komputer Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Lampung. Pada tahun 2009 penulis melakukan Kerja Praktik di CV.
Linux Lampung, selama menjadi mahasiswa penulis aktif berorganisasi, di antaranya
adalah :
1. Anggota Rohani Islam FMIPA (ROIS) pada tahun 2007-2008.
2. Anggota Badan Eksekutif Mahasiswa FMIPA (BEM) pada tahun 2007 -2008.
3. Sekretaris Bidang Kaderisasi dan Kepemimpinan Himpunan Mahasiswa Juru-
san Matematika (HIMATIKA) pada periode 2008-2009.
4. Anggota Komisi A Dewan Perwakilan Mahasiswa FMIPA (DPM) pada peri-
ode 2009-2010.
SANWACANA
Alhamdulillah, puji dan syukur senantiasa penulis panjatkan kepada Allah
SWT atas segala curahan rahmat dan karunia-Nya sehingga penelitian dan karya
tulis ilmiah ini berhasil diselesaikan.
Tugas Akhir ini disusun guna melengkapi sebagian syarat untuk memperoleh
gelar Sarjana Ilmu Komputer Universitas Lampung. Adapun judul Tugas Akhir ini
adalah "Pengembangan Tool Untuk Menulis Ayat Al Qur'an Menggunakan LaTEX
Dan Perl".
Walaupun banyak kesulitan yang penulis harus hadapi ketika menyusun Tu-
gas Akhir ini, namun berkat bantuan dan dorongan dari berbagai pihak, akhirnya
Tugas Akhir ini dapat diselesaikan dengan baik. Untuk itu penulis tidak lupa men-
gucapkan terima kasih kepada:
1. Kedua orang tua, Mamak dan Bapak, kedua kakaku, ayuk iparku, serta ke-
ponakanku yang selalu mendukung dan terus memberikan motivasi.
2. Bapak Dwi Sakethi, S.Si M.Kom sebagai pembimbing I penulis, yang di tengah-
tengah akti�tas dan kesibukannya telah membimbing penulis dan memberikan
dorongan sehingga penulis dapat menyelesaikan skripsi ini.
3. Bapak Bambang Hermanto, S.Kom sebagai pembimbing II penulis, yang de-
ngan dengan kesabarannya membimbing penulis hingga dapat menyelesaikan
skripsi ini.
4. Bapak Didik kurniawan, S.Si M.T selaku penguji, yang berkenan memberikan
masukan dan kritikan serta saran yang bermanfaatbagi penulis.
5. Bapak Rangga Firdaus, M.Kom selaku Ketua Program Studi Ilmu Komputer.
6. Ibu Dra. Dorrah Azis, M.Si selaku pembimbing akademik yang telah mem-
bimbing dan membina selama penulis menjadi mahasiswa di Unila.
7. Bapak Sutyarso M. Biomed selaku Dekan Fakultas Matematika dan Ilmu
Pengetahuan Alam Universitas Lampung.
8. Bapak Tiryono Ruby Ph.D selaku Ketua Jurusan Matematika.
9. Bapak dan Ibu staf administrasi Jurusan Matematika dan FMIPA Unila.
10. Bapak Wisnu Wardhana S.T, selaku pembimbing eksternal yang telah mem-
berikan ide, saran, bantuan, motivasi, waktu dan masukan bagi penulis selama
mengerjakan skripsi ini.
11. My beloved BEST FRIENDS i ever have, Yuni Fransiska, S.P dan Dwi Mar-
diana, S.Si yang selalu memberi dukungan dan semangat serta cinta dan do'a
kepada penulis. I love you both :)
12. Sahabat-sahabat XII IPA 1 SMA N 1 Natar yang walaupun sudah lulus tetap
menjaga tali silaturrahim dengan sangat baik : Ady, Iyan, Erni, Cory, Ispro,
Winda, Deri, Hendra, Alm.Rudi, Jaka, Yani, Pipit, Mami, Rusmida, Amel,
Dame, Harly, Hisna, Mumun, Mamen, Rani, Ani, Andi, Harmel, Debi, Mbak
Desi, Nenek Nchel, Ika, Dina, Nesia, Neno, Uni, Aying, Puji, Ari, Sifat, Ja-
natin, dan wali kelas tercinta Ibu Elida Naibaho.
13. Linux Lampung, tempat saya belajar dan menimba ilmu yang sangat berman-
faat di luar kampus serta bertemu dengan banyak orang yang mempunyai
pengetahuan yang sangat luas.
14. Teman-teman dekat di kampus tercinta : Alifah, Sinta, Idra, Yuli, Yana, Muiz,
Lina, Pebrian, Ajeng, Tahta, Bayu dan adik adik SKS.
15. Teman-teman Ilmu Komputer 2006 yang telah bersedia berbagi kebersamaan
selama menjalani perkuliahan serta kakak tingkat 2005 dan adik - adik tingkat
Ilmu Komputer, semoga sukses selalu.
16. Teman-teman ROIS MIPA 2007-2008 terimakasih untuk ukhuwah yang begitu
menyenangkan semoga kelak kita dipertemukan di surga-Nya.
17. Kru HIMATIKA 2008-2009, special tentu untuk kabid saya Mahfudz Hudori
yang sangat sabar bekerja sama dengan saya, dan Yuli Kartika selaku Waka
yang telah membuat saya mencintai HIMATIKA.
18. Rekan-rekan DPM FMIPA 2009-2010, bukan organisasi yang paling saya cin-
tai, tetapi organisasi yang paling berat untuk saya tinggalkan.
19. Saudari-saudari saya di 'lingkaran kecil' yang sudah bersama selama bertahun-
tahun, ana uhubuki�llah.
20. Untuk seseorang yang saya cintai, terimakasih karena selalu menjadikan saya
orang pertama yang mengetahui bahwa kau sudah kembali pulang ke rumah.
21. Semua pihak yang terkait dalam pengerjaan skripsi ini.
Akhir kata, hanya kepada Allah SWT. jualah segalanya dikembalikan dan
penulis sadari bahwa penulisan ini masih jauh dari sempurna. Untuk itu penulis
mengharapkan kritik dan saran yang bersifat membangun untuk menjadi perbaikan
di masa yang akan datang. Semoga apa yang ada pada penulisan Tugas Akhir ini
dapat bermanfaat bagi kita semua. Amin.
Lampung, Februari 2011
Penulis
Nuraini Tri Wahyuni
DAFTAR ISI
DAFTAR ISI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
DAFTAR GAMBAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
BAB I : PENDAHULUAN . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Latar Belakang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Rumusan Masalah . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Batasan Masalah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Tujuan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Manfaat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
BAB II : TINJAUAN PUSTAKA . . . . . . . . . . . . . . . . . . . 4
2.1 Sistem Operasi GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1 Distribusi Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 LaTEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1 Texmaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.2 Texlive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.3 Texlive-lang-arab . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Bahasa Pemrograman Perl . . . . . . . . . . . . . . . . . . . . . . . . 10
BAB III : METODOLOGI PENELITIAN . . . . . . . . . . . . . . . 15
3.1 Metodologi Penelitian . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.1 Tahapan Penilitian . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.2 Metodologi Pengembangan Software . . . . . . . . . . . . . . 15
3.2 Waktu dan Tempat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3 Alat dan Bahan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
BAB IV : HASIL DAN PEMBAHASAN . . . . . . . . . . . . . . . 19
4.1 Software Requirements Analysis . . . . . . . . . . . . . . . . . . . . . 19
i
4.2 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.3 Coding/Implementation . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.4 Testing/Veri�cation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.5 Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
BAB V : SIMPULAN DAN SARAN . . . . . . . . . . . . . . . . . 63
5.1 Simpulan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.2 Saran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
DAFTAR PUSTAKA . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
ii
DAFTAR GAMBAR
2.1 Contoh penggunaan LaTEX dengan Texmaker . . . . . . . . . . . . . 8
2.2 Contoh aturan penulisan huruf arab di LaTEX . . . . . . . . . . . . . 9
3.1 Contoh alur kerja metode Waterfall . . . . . . . . . . . . . . . . . . 16
4.1 Alur proses tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2 Tampilan program . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.3 Tampilan program . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
iii
BAB I
PENDAHULUAN
1.1 Latar Belakang
Bahasa Arab merupakan salah satu bahasa yang banyak digunakan oleh
penduduk dunia. Bagi masyarakat muslim bahasa Arab selalu digunakan dalam
kesehariannya. Masyarakat muslim adalah masyarakat mayoritas di dunia, dari
penelitian yang dilakukan oleh The Pew Forum on Religion and Public Life pada
Oktober 2009 pada 200 negara di dunia didapatkan data bahwa terdapat 1,57 mil-
yar penduduk dunia beragama Islam, atau sekitar 23% dari 6,8 milyar penduduk
dunia. Indonesia sendiri merupakan negara yang jumlah penduduk muslimnya pal-
ing banyak dari 23% penduduk muslim dunia Indonesia memperoleh presentasi
12,9% atau 88,2% dari seluruh jumlah penduduk yang ada di negara ini. Sehing-
ga banyak teks dokumen dalam kehidupan sehari-hari yang menggunakan bahasa
Arab. Akan tetapi, penggunaan bahasa Arab dalam dokumen terkadang memiliki
masalah. Salah satu masalah yang muncul adalah bahwa tulisan Arab yang ada
tidak sesuai dengan aslinya saat diakses pada komputer lain. Masalah tersebut
timbul karena adanya ketergantungan dokumen kepada jenis huruf atau font. Jika
jenis huruf yang digunakan ternyata tidak ada, maka akan terjadi kekeliruan pada
pembacaan teks dokumen. Penulisan bahasa Arab yang terkadang tidak sesuai saat
dibuka dengan perangkat lunak yang berbeda menyebabkan kesulitan untuk me-
lakukan proses pengetikan apabila ingin menambahkan atau menyisipkan ayat Al
Qur'an dalam ketikan yang diinginkan [1] .
Penelitian ini dilakukan, untuk memperkenalkan LaTEX lebih detail kepada
masyarakat dan juga memudahkan penulisan Al Quran dan huruf Arab pada LaTEX
sehingga menghasilkan teks dokumen yang dapat dibaca di komputer yang berbeda
1
2
dan jika dibuka dengan menggunakan perangkat lunak penulis dokumen lainnya
dan memudahkan untuk proses pengeditan serta penyisipan. Apabila menggunakan
LaTEX maka pengguna harus mengetahui standar penulisan kode ASCII untuk huruf
arab yang telah ditentukan agar dapat menghasilkan data keluaran seperti yang
diinginkan. Hal tersebut tentu tidak efektif dan e�sien untuk pengguna LaTEX
karena memakan waktu yang cukup lama, sehingga penelitian ini akan mencoba
memberi solusi yang memudahkan pengguna LaTEX untuk menulis ayat Al Qur'an.
Metode pengembangan software yang digunakan dalam penelitian ini adalah
dengan menggunakan Metode Waterfall sedang bahasa pemrograman yang digu-
nakan adalah bahasa Perl.
1.2 Rumusan Masalah
Berdasarkan uraian di atas, maka penelitian yang akan dilakukan bertu-
juan membuat script dengan bahasa pemrograman Perl untuk membantu penu-
lisan bahasa Arab atau Al Qur'an dengan menggunakan LaTEX Untuk menghindari
kesalahan penulisan teks dokumen yang akan digabungkan dengan tulisan lain jika
orang tersebut menggunakan format dokumen o�ce dan sejenisnya, terutama untuk
tulisan Arab atau Al Qur'an yang kemungkinan akan berubah jika dibuka dengan
format dokumen yang berbeda.
1.3 Batasan Masalah
Batasan masalah pada penelitian ini :
1. Bahasa pemrograman yang digunakan adalah bahasa Perl.
2. Metode pengembangan yang digunakan adalah Waterfall.
3. Menggunakan OS Linux Ubuntu dalam proses pengerjaannya.
3
4. Menggunakan LaTEX (Texmaker, Texlive dan textlive-lang-arab) untuk penu-
lisan ayat Al Qur'an.
5. Penyimpanan ayat Al Qur'an yang akan disisipkan menggunakan teks editor.
6. Pada penelitian ini ayat Al Qur'an yang digunakan adalah surat-surat yang
terdapat dalam juz 30, yang mengacu pada penulisan Al Quran Syaamil.
7. Hasil akhirnya adalah sebuah program komputer untuk memudahkan penuli-
san dan penyisipan Al Qur'an pada LaTEX .
1.4 Tujuan
Tujuan dilaksanakannya penelitian ini adalah :
1. Memudahkan proses penyisipan ayat Al Qur'an dalam pengetikan dokumen di
LaTEX .
2. Menghasilkan output data berupa teks ayat Al Qur'an di LaTEX sesuai dengan
permintaan pengguna untuk menulis teks dokumen yang diinginkan.
3. Mengenalkan LaTEX sebagai perangkat lunak pemformat dokumen.
1.5 Manfaat
Penelitian ini dilakukan dengan harapan agar dapat memberikan kontribusi
yang nyata dalam hal sebagai berikut :
1. Mengetahui lebih lanjut mengenai LaTEX dan penggunaannya.
2. Memperoleh tool untuk membantu penulisan teks ayat Al Qur'an dengan
menggunakan LaTEX
3. Mengetahui lebih lanjut mengenai pemrograman Perl.
BAB II
TINJAUAN PUSTAKA
2.1 Sistem Operasi GNU/Linux
Linux pada awalnya dibuat oleh seorang mahasiswa Finlandia yang bernama
Linus Torvalds. Dulunya Linux merupakan proyek hobi yang diinspirasikan dari
Minix, yaitu sistem UNIX kecil yang dikembangkan oleh Andrew Tanenbaum. Linux
versi 0.01 dikerjakan sekitar bulan Agustus 1991. Kemudian pada tanggal 5 Oktober
1991, Linus mengumumkan versi resmi Linux, yaitu versi 0.02 yang hanya dapat
menjalankan shell bash (GNU Bourne Again Shell) dan gcc (GNU C Compiler).
Saat ini Linux adalah sistem UNIX yang sangat lengkap, bisa digunakan
untuk jaringan, pengembangan software dan bahkan untuk pekerjaan sehari-hari.
Linux mempunyai perkembangan yang sangat cepat. Hal ini dapat dimungkinkan
karena Linux dikembangkan oleh beragam kelompok orang. Keragaman ini ter-
masuk tingkat pengetahuan, pengalaman serta geogra�s. Agar kelompok ini dap-
at berkomunikasi dengan cepat dan e�sien, internet menjadi pilihan yang sangat
tepat. Karena kernel Linux dikembangkan dengan usaha yang independent, banyak
aplikasi yang tersedia, sebagai contoh C Compiler menggunakan gcc dari Free Soft-
ware Foundation GNUs Project. Compiler ini banyak digunakan pada lingkungan
Hewlett- Packard dan Sun [2] .
2.1.1 Distribusi Ubuntu
Ubuntu merupakan salah satu distribusi Linux yang berbasiskan Debian.
Proyek Ubuntu resmi disponsori oleh Canonical Ltd. Nama Ubuntu diambil dari
nama sebuah konsep ideologi di Afrika Selatan, "Ubuntu" berasal dari bahasa kuno
4
5
Afrika, yang berarti "rasa perikemanusian terhadap sesama manusia". Tujuan dari
distribusi Linux Ubuntu adalah membawa semangat yang terkandung di dalam
Filoso� Ubuntu ke dalam dunia perangkat lunak. Ubuntu adalah sistem operasi
lengkap berbasis Linux, tersedia secara bebas dan mempunyai dukungan baik yang
berasal dari komunitas maupun tenaga ahli profesional.
Ubuntu berasal dari bahasa Afrika yakni Humanity to Others yang berarti
Kemanusiaan Untuk Sesama. Atas dasar itulah diluncurkannya Linux Ubuntu yang
dirilis pada tahun 2004. Sistem operasi ini adalah merupakan turunan dari sistem
operasi Linux yang lain, yakni Debian.
Ubuntu itu sendiri dibuat selalu gratis tanpa adanya biaya lisensi, bersifat
open source (kode terbuka), dan siap untuk dipergunakan dalam kondisi yang stabil.
Ubuntu didukung oleh perusahaan bernama Canonical, Ltd yang memiliki tujuan
untuk membantu perkembangan, distribusi, dan promosi dari produk-produk yang
bersifat open source (kode terbuka). Perusahaan ini bermarkas di Eropa dan dip-
impin oleh seseorang bernama Mark Shuttleworth.
Sejak pertama kali diluncurkan, Ubuntu mendapat perhatian yang sangat
besar dari pengguna Linux yang lain. Hal ini disebabkan karena kestabilan yang
dimiliki oleh Ubuntu itu sendiri. Selain itu kenyamanan dan kemudahan yang dim-
iliki Ubuntu menjadi daya tarik tersendiri bagi pengguna Linux di seluruh belahan
dunia [3] .
2.2 LaTEX
LaTEX adalah texs processor yang berbeda dengan word processor. LaTEX
adalah pemformat dokumen, jadi tidak menyediakan fasilitas pengeditan. Bisa
6
dikatakan LaTEX adalah bahasa pemformatan dokumen. Dengan LaTEX pengguna
dapat mende�nisikan perintah baru, dan sebagainya. Ini memudahkan bila ingin
mengubah hasil tampilan akhir tanpa perlu mengubah satu per satu bagian doku-
men. Pada TEX yang dilakukan hanyalah melakukan de�nisi ulang dari perintah
tersebut.
Dalam menata letak dokumen, LaTEX menggunakan prinsip, dokumen hasil
akhir itu sebaiknya enak dibaca oleh pembaca bukan sekedar enak dilihat oleh
penulis. Memang untuk dokumen berbentuk bebas, hal ini terkadang menyulitkan.
I Made Wiryana (2003) mengatakan dalam tulisannya bahwa :
"LaTEX sendiri merupakan teks processor yang jelas berbeda dengan
word processor. Bisa dikatakan LaTEX adalah bahasa pemformatan
dokumen. Kita dapat mende�nisikan perintah baru, dan sebagainya. Ini
memudahkan bila kita ingin mengubah hasil tampilan akhir tanpa per-
lu mengubah satu persatu bagian dokumen. Pada TEX yang dilakukan
hanyalah melakukan de�nisi ulang dari perintah tersebut."
Dokumen LaTEX dapat diketik dengan menggunakan editor biasa, yang pent-
ing disimpan dalam format �le yang dipahami oleh LaTEX Pengguna tetap dap-
at menggunakan editor teks favoritnya masing-masing. Bahkan juga dapat tetap
menggunakan mesin murah (misal era personal Computer). Ketika ingin memfor-
mat barulah dilakukan di mesin lainnnya (bahkan tidak harus PC, bisa platform
lainnya). Format data LaTEX menyebabkan sifat portabilitas yang tinggi [4] .
Menurut Dwi Sakethi dalam artikelnya yang berjudul Menulis Arab Meng-
gunakan LaTEX (2010) menjelaskan bahwa :
7
"Selain itu, masih ada banyak yang menggunakan perangkat lunak
untuk membuat dokumen secara ilegal dan melanggar undang-undang.
Misalnya penggunaan perangkat lunak o�ce yang tidak orisinal, sedang-
kan pada sisi lain terdapat perangkat lunak yang bebas digunakan untuk
membuat dokumen. LaTEX adalah salah satu alternatif untuk penulisan
dokumen di sistem operasi Linux, meskipun saat ini LaTEX belum men-
jadi pilihan utama untuk melakukan pengetikan dan pembuatan doku-
men, namun tidak menutup kemungkinan kelak dapat menjai pilihan
utama dalam penulisan dokumen." [5] .
2.2.1 Texmaker
Texmaker adalah editor LaTEX bebas, yang mengintegrasikan berbagai pe-
rangkat yang dibutuhkan untuk mengembangkan dokumen dengan LaTEX LaTEX
mendukung unicode, dan �tur lainnya seperti sorot sintaks, penyisipan kode sele-
sai, simbol matematika, meluncurkan program dengan tombol pintas LaTEX dan
browsing atau pencarian pesan kesalahan.
Texmaker adalah software gratis dan program cross-platform yang dijalankan
di Unix, Mac OS dan sistem Windows. Texmaker adalah program, yang mengin-
tegrasikan berbagai perangkat yang dibutuhkan untuk mengembangkan dokumen
dengan LaTEX hanya dalam satu aplikasi. Texmaker berjalan native pada Unix,
Win32 dan Mac OS sistem atau Linux [6] .
8
Berikut ini salah satu contoh penggunaantexmaker untuk mengolah huruf arab:
Gambar 2.1: Contoh penggunaan LaTEX dengan Texmaker
2.2.2 Texlive
Texlive memungkinkan Anda untuk menginstal TEX pada sistem operasi.
Muncul dengan banyak paket tambahan, dan untuk saat ini distribusi TEX hanya
untuk semua (OS utama Linux) yang memiliki update reguler.
Dengan menggunakan Ubuntu, proses penginstallan texlive dilakukan melalui
Synaptic Package Manager dengan memilih paket texlive.
2.2.3 Texlive-lang-arab
Texlive-lang-arab merupakan salah satu package yang dibutuhkan untuk penger-
jaan penelitian ini yang merupakan plug-in untuk texmaker. Texlive-lang-arab meru-
pakan package untuk penulisan bahasa, yang lebih spesi�k yaitu bahasa arab, pack-
9
age ini harus diinstall terlebih dahulu agar coding dalam penulisan huruf arab pada
LaTEX dapat berjalan dengan benar.
Berikut adalah contoh dari aturan penulisan ayat Al Qur'an yang sesuai dengan
ASCII :
Gambar 2.2: Contoh aturan penulisan huruf arab di LaTEX
Untuk informasi lebih jelas mengenai penulisan huruf Arab dengan meng-
gunakan LaTEX dapat dibaca pada buku ArabTEX Typesetting Arabic and Hebrew
yang ditulis oleh Klaus Lagally [7] .
10
Sedangkan untuk penulisan dalam texmaker yang pada akhirnya akan dipros-
es menjadi huruf Arab ataupun ayat Al Qur'an contohnya sebagai berikut :
\documentclass[12pt]{article}
\usepackage{arabtex}
\usepackage{bahasa} [babel]
\title{\Huge Menulis Arab dengan \LaTeX}
\begin{document}
\maketitle
\fullvocalize
\begin{arabtext}
\noindent
bismi al-ll_ahi ar-ra.hm_ani ar-ra.hImi$\odot$
.al.hamdulill_ahi rabbi al`_alamIna $\odot$
.ar-ra.hm_ani ar-ra.hImi $\odot$
mAliki yawmi ad-dIni $\odot$
.eyyAka na`budu wa `iyyAka nasta`Inu $\odot$
\end{arabtext}
\end{document}
2.3 Bahasa Pemrograman Perl
Perl merupakan salah satu tool pada sistem UNIX ataupun Linux yang
banyak dipakai oleh para pemrogram untuk membuat program atau script. Hal
ini disebabkan bahasa Perl mudah dipahami dan mudah digunakan untuk menyele-
saikan masalah.
11
Perl merupakan singkatan dari Practical Extraction and Report Language,
atau Pathologically Eclectic Rubbish Lister. Bahasa pemrograman ini diciptakan
oleh Larry Wall pada tahun 1986, yang pada awalnya digunakan sebagai perangkat
untuk menulis program di dalam lingkungan UNIX. (Kadir, 2002)
Pada dasarnya Perl memiliki beberapa sifat, antara lain :
1. Perl memberikan kemudahan dalam melakukan proses kerja program, dan Perl
mengadaptasi berbagai �tur yang terdapat dalam bahasa C.
2. Perl memungkinkan adanya pemrosesan teks.
3. Perl tidak memerlukan kompiler dan linker, dengan demikian Perl mempunyai
sifat seperti shell.
Oleh para pakar bahasa pemrograman, Perl digolongkan ke dalam VHLL
(Very High Level Language). Satu perintah dalam Perl ekivalen dengan banyak
perintah dalam bahasa tingkat tinggi, sehingga program-program yang ditulis dalam
Perl sangat e�sien dan ringkas.
Perl merupakan pilihan utama untuk tugas-tugas pengolahan teks, terutama
dengan fasilitas regular expression-nya yang sangat canggih. Dengan mewabahnya
internet, dengan sejumlah protokolnya yang berbasis teks (NVT ASCII). Perl men-
jadi pilihan utama untuk pemrograman internet, terutama CGI (Common Gateway
Interface). Semula Perl hanya dipakai untuk menulis skrip-skrip pendek, namun
dalam perkembangannya, Larry menambahkan dukungan bagi pemrograman beror-
ientasi objek, dan dimulailah era baru pemrograman Perl untuk aplikasi-aplikasi
besar dan rumit [8] .
Perl memiliki sifat yang gratis/bebas atau free, karena pendistribusiannya
menggunakan GNU copyleft. Dan tidak hanya pada level biner (kode mesin), kode
12
sumber Perl juga dapat diperoleh secara gratis. Selain itu Perl juga dapat diterapkan
di sistem operasi selain UNIX. (Rudianto, 2003)
Perl mengadatasi beberapa �tur yang terdapat pada bahasa C, sehingga
memiliki kemampuan yang hampir sama untuk melakukan berbagai project dengan
tingkat kerumitan yang cukup tinggi. Akan tetapi, perbedaan yang cukup terlihat
antara bahasa Perl dan C adalah bahasa Perl lebih praktis digunakan dibanding
bahasa C [9] .
Contoh perbandingannya sebagai berikut :
Penulisan bahasa C :
void main ()
\{
printf ("Hello world!")
\}
Penulisan bahasa Perl :
print "Hello world!";
Untuk memeriksa apakah Perl telah terinstal pada sistem yang digunakan,
dengan cara mengetikan perintah perl -v pada prompt shell. Jika Perl sudah ter-
pasang, maka akan terdapat keterangan sebagai berikut :
13
This is perl, v5.10.1 (*) built for i486-linux-gnu-thread-multi
Copyright 1987-2009, Larry Wall
Perl may be copied only under the terms of either the Artistic
License or the
GNU General Public License, which may be found in the
Perl 5 source kit.
\vspace{0.5cm}
Complete documentation for Perl, including FAQ lists,
should be found on
this system using "man perl" or "perldoc perl".
If you have access to the
Internet, point your browser at http://www.perl.org/,
the Perl Home Page.
aiynilucu@ubuntulucu-laptop:~\$
Beberapa perintah pada bahasa Perl yang terkait dengan penelitian ini, an-
tara lain script untuk membuka �le, memanggil dokumen, menulis �le, dan pen-
gulangan atau looping. Contoh script membuka �le sederhana misalnya penggu-
na memiliki �le bernama coba.pl yang disimpan dalam sebuah folder, lalu tinggal
mengetikkan program dibawah ini agar dapat membaca dan sekaligus membuka isi
�le.
14
#!/usr/bin/perl
$nama_berkas = "coba1.pl";
open (MASUKAN, $nama_berkas);
while (<MASUKAN>) {
print $_;
}
close(MASUKAN)
Hasil dari program tersebut adalah isi dari �le coba.pl.
aiynilucu@ubuntulucu-laptop:~$ perl open.pl
#!/usr/bin/perl
print "content-type: text/html \n\n"; #The header
$string = "David paid \$4.34 for Larry\'s shirt.";
$email = "youremail\@youremail.com";
print "$string<br />";
print "$email<br />";
print "$string and $email";
aiynilucu@ubuntulucu-laptop:~$
BAB III
METODOLOGI PENELITIAN
3.1 Metodologi Penelitian
3.1.1 Tahapan Penilitian
Penelitian ini dilakukan dengan tahapan sebagai berikut :
1. Menulis kembali data ayat Al Qur'an yang dibutuhkan untuk proses penelitian,
dan kemudian data disimpan dengan tesk editor.
2. Menguji data ayat Al Qur'an dengan texmaker apakah sudah sesuai dengan
code ASCII.
3. Membuat program komputer dengan bahasa Perl untuk memanggil data ayat
Al Qur'an yang diperlukan, agar mempermudah proses penyisipan dokumen.
4. Melakukan pengujian program yang dibuat dan data ayat al Qur'an apabila
disisipkan ke dalam dokumen LaTEX .
3.1.2 Metodologi Pengembangan Software
MetodeWaterfall adalah sebuah metode yang dalam setiap tahapannya meng-
hasilkan dokumentasi dari apa saja yang telah dikerjakan. Metode ini cocok di-
gunakan untuk mengembangkan software yang sudah cukup dipahami. Model ini
melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem
lalu menuju ke tahap analisis, desain, coding, testing/veri�cation, dan maintenance.
Disebut dengan Waterfall karena tahap demi tahap yang dilalui harus menunggu
selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain
harus menunggu selesainya tahap sebelumnya yaitu tahap requirement [10]
15
16
Berikut ini adalah gambar untuk metode penelitian Waterfall :
Gambar 3.1: Contoh alur kerja metode Waterfall
Software Requirements Analysis. Proses pencarian kebutuhan diintensifkan
dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan
dibuat, maka para software engineer harus mengerti tentang domain informasi dari
software, misalnya fungsi yang dibutuhkan, user interface, dsb. Sehingga tahapan
awal yang dilakukan dalam penelitian ini adalah mende�nisikan seperti apa hasil
yang diinginkan dan apa saja yang dibutuhkan dalam pengerjaannya.
Design. Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas
menjadi representasi ke dalam bentuk 'blueprint' software sebelum coding dimulai.
Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada
tahap sebelumnya.
17
Coding/Implementation. Untuk dapat dimengerti oleh mesin, dalam hal ini
adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang
dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses
coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis
nantinya dikerjakan oleh programmer.
Testing/Veri�cation. Sesuatu yang dibuat haruslah diujicobakan. Demikian
juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar soft-
ware bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan
yang sudah dide�nisikan sebelumnya.
Maintenance. Pemeliharaan suatu software diperlukan, termasuk di dalam-
nya adalah pengembangan, karena software yang dibuat tidak selamanya hanya
seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak dite-
mukan sebelumnya, atau ada penambahan �tur-�tur yang belum ada pada software
tersebut.
Berikut ini adalah gambaran rencana pengerjaan penelitian :
No Deskripsi Tugas Durasi Mulai selesai
1 Software Requirements Analysis 10 Hari 18 Juli 10 27 Juli 10
1.1 Mende�nisikan User 2 Hari 18 Juli 10 20 Juli 10
1.2 Pembuatan Jadwal Akti�tas 2 Hari 21 Juli 10 22 Juli 10
1.3 Analisa Kebutuhan 6 hari 22 Juli 10 27 Juli 10
2 Design 2 hari 28 Juli 10 29 Juli 10
2.1 Membuat Alur Kerja Sistem 2 Harii 28 Juli 10 29 Juli 10
3 Coding/Implementation 60 hari 30 Juli 10 27 Sept 10
3.1 Pembuatan Coding Tool 60 hari 30 Juli 10 27 Sept 10
4 Testing/Veri�cation 2 hari 28 Sept 10 29 Sept 10
5 Maintenance. 3 hari 30 Sept 10 2 Okt 10
18
3.2 Waktu dan Tempat
Penelitian ini dilakukan di Jurusan Matematika Fakultas Matematika dan Il-
mu Pengetahuan Alam Universitas Lampung, dengan waktu pengerjaan di semester
ganjil 2010/2011.
3.3 Alat dan Bahan
Adapun alat dan bahan yang digunakan dalam mengembangkan program ini,
yaitu :
1. Literatur, baik berupa buku, website, ataupun artikel.
2. Perangkat komputer PC X86 Compatible.
3. Sistem Operasi Linux Ubuntu 10.4.
4. LaTEX (texmaker 1.9.9, texlive, texlive-lang-arab)
5. Pemograman Perl dan seluruh Plugin yang menyertainya. (perl, v5.10.1)
BAB IV
HASIL DAN PEMBAHASAN
Pengembangan tools untuk menulis ayat Al Qur'an dengan LaTEX dan Perl
ini megikuti metode standar pengembangan perangkat lunak. Metode pengemba-
ngan perangkat lunak yang digunakan adalah metode Waterfall. Adapun taha-
pan dalam metode Waterfall adalah Software Requirements Analysis, Design, Cod-
ing/Implementation, Testing/Veri�cation, dan Maintenance.
Project De�nition atau Pende�nisian Proyek, yang ada dalam pengerjaan
penelitian ini meliputi pengertian dari software yang akan dikerjakan. Perangkat
lunak atau tool yang akan dibuat adalah sebuah tool yang akan membantu memper-
mudah penulisan ayat Al Qur'an pada laTEX dengan bantuan bahasa Perl. LaTEX
digunakan untuk media penyimpanan data ayat-ayat Al Qur'an yang kemudian akan
diproses untuk mendapatakan hasil sesuai ayat yang diinginkan. Sedangkan bahasa
Perl sendiri berfungsi untuk program memanggil dokumen atau data ayat Al Qur'an
yang diinginkan berdasarkan nomor surat dan ayat yang dibutuhkan user. Dan sis-
tem operasi yang digunakan adalah GNU/Linux Ubuntu.
Orang-orang yang terkait dalam pengembangan perangkat lunak ini adalah
para user LaTEX terutama yang beragama Islam, karena tool ini memang dibuat
khusus untuk membantu menulis ayat-ayat Al Qur'an di LaTEX .
4.1 Software Requirements Analysis
Software Requirements Analysis atau biasa juga disebut sebagai tahapan ana-
lisis kebutuhan software atau perangkat lunak dan juga perangkat keras yang dibu-
tuhkan. Dalam proses atau tahapan ini penulis menentukan apa saja yang dibu-
tuhkan dalam pengerjaan tool atau software ini.
19
20
Software yang dibuat dalam penelitian ini merupakan sebuah tool yang akan
membantu mempermudah user dalam penulisan ayat Al Qur'an dengan menggu-
nakan LaTEXTool ini memiliki fungsionalitas sebagai berikut :
1. Mencari surat dan ayat yang dibutuhkan oleh user.
2. Melakukan proses pengulangan atau looping untuk pencarian surat dan ayat
yang diinginkan.
3. Menampilkan ayat yang dicari.
4. Menghasilkan data keluaran berupa �le yang berisikan data ayat Al Qur'an
yang dicari.
Adapun analisis untuk perangkat lunak dan perangkat keras yang digunakan
untuk pengerjaan tool ini adalah :
1. Perangkat Lunak
Adapun dalam pengerjaan pembuatan textittool ini, perangkat lunak yang
digunakan adalah sebagai berikut :
No Nama Perangkat lunak Keterangan
1 Bahasa Pemrograman Perl Versi 5.10.1
2 LaTEX (texmaker 1.9.9, texlive, texlive-lang-arab)
3 gedit Text Editor gedit 2.20.2
4 Sistem operasi GNU/Linux Ubuntu 10.4
2. Perangkat Keras
Adapun beberapa perangkat keras yang digunakan dalam pengembangan ini
adalah sebagai berikut :
21
No Nama Perangkat Keras Keterangan
1 Perangkat komputer Notebook Acer ASPIRE 4715z processor dualcore
4.2 Design
Pada tahapan ini dilakukan suatu gambaran atau design tool yang akan
dibuat, yang kemudian akan diimplementasikan dalam bentuk coding di tahapan
selanjutnya. Tool yang dibuat dapat langsung di eksekusi melalui terminal bash.
1. Menampilkan surat-surat Al Qur'an yang tersedia.
Tampilan pertama program ketika dijalankan pada terminal adalah nomor dan
nama surat Al Qur'an yang telah tersedia, dan yang dapat dicari. Surat-surat
tersebut dibatasi hanya surat yang terdapat pada Juz 30 saja.
2. Meminta user untuk memasukkan surat Al Qur'an yang dicari.
Setelah tampilan nomor dan nama surat Al Qur'an yang tersedia, user diminta
untuk memasukkan nomor surat yang dicari, dan tidak boleh lebih dari yang
tersedia ataupun nomor surat yang di input tidak boleh kurang dari nomor
surat yang ada.
3. Meminta user untuk memasukkan ayat surat Al Qur'an yang dicari.
Selanjutnya adalah user dapat memasukkan ayat Al Qur'an yang dicari.
4. Menampilkan ayat surat Al Qur'an yang dicari.
Tampilan akhir tool ini adalah ayat yang dicari oleh user, mulai dari ayat
pertama yang dicari sampai ayat terakhir. Selain terdapat dalam tampilan
program ayat tersebut juga terdapat dalam �le yang nama dan letaknya di-
beritahukan di baris terakhir program sehingga apabila user ingin menyalin
ayat yang dicari dapat melalui �le tersebut.
22
Gambar 4.1 adalah alur proses dari tool yang dibuat :
Gambar 4.1: Alur proses tool
23
4.3 Coding/Implementation
Tahapan selanjutnya adalah coding/implementation. Pada tahapan ini, de-
sign yang telah dirancang pada tahapan sebelumnya diimplementasikan ke dalam
bentuk coding agar dapat dimengerti oleh mesin komputer.
Pada penelitian ini sebelum melakukan coding untuk membuat tool yang
berfungsi untuk memanggil data ayat Al Qur'an yang dinginkan, terlebih dahulu
membuat data surat-surat yang terdapat dalam juz 30 dengan menggunakan LaTEX
Surat yang dibuat adalah surat yang terdapat dalam Al Qur'an Juz 30, yang
telah diuji dengan menggunakan texmaker untuk mengetahui apakah data yang
telah dibuat berjalan dengan benar dan menghasilkan tulisan yang sesuai dengan
keinginan.
Berikut diberikan contoh data ayat Al Qur'an yang telah diterjemahkan
kedalam bahasa LaTEX serta hasil tampilan huruf arabnya, penulis mengambil con-
toh surat pertama dalam Juz 30 yaitu surat Al Fiil.
24
\documentclass[12pt]{article}
\usepackage{arabtex}
\usepackage{bahasa} [babel]
\title{\Huge Qur'an Surat AL FIIL}
\begin{document}
\maketitle
\fullvocalize
\begin{arabtext}
\noindent
bismi al-ll_ahi ar-ra.hm_ani ar-ra.hImi $\odot$
a lam tara kayfa fa`ala ra bbuka bi-.a.s.h_abi al-fiyli $\odot$
a lam ya^g`al kayda hum fiy ta.dliyliN $\odot$
wwa .ar sala `alayhim .tayraNa .abA biyla $\odot$
tar miyhim bi.hi^gA raTiN mmin si^g^giyliN $\odot$
fa^ga`alahum ka`a.sfiN mma' ku.w liN $\odot$
\end{arabtext}
\end{document}
Apabila coding yang dijalankan pada texmaker berjalan dengan benar maka
akan menghasilkan tulisan yang sesuai dengan Al Qur'an sebagai berikut :
ú̄� Ñ �ë �YJ
�» É �ªm.�
�' Õ�Ë @ � É� J
®� Ë @ I.��m��
�AK.�
�½��K. �P
�É �ª�̄ �J
�» �Q��K Õ
�Ë @ � Õ�æk�
��QË @ á��Ôg��QË @ é�
��<Ë @ Õ�æ��.��� �ª�» Ñ�ê
�Ê �ª�m.
�̄� É� J
��m.��� á��Ó �è� �P A �j. m��'.� Ñî�DÓ� Q��K ��ÉJK.� A�K.
�@ @ �Q� �£ Ñî�D
�Ê �«
�É �� P
�@ ��ð � É� JÊ�
����� È� ñ.
�»
A ��Ó
Apabila coding yang dibuat dalam texmaker telah sesuai dengan standar
ASCII dan menghasilkan keluaran tulisan yang sesuai dengn Al Qur'an maka tahap
25
selanjutnya adalah pembuatan coding untuk tool dengan bahasa Perl.
Pembuatan tool ini menggunakan beberapa fungsi yang terdapat dalam ba-
hasa Perl, diantaranya :
1. do... until
2. if-else
3. open(penangan berkas, nama berkas)
4. for
5. if (//)
6. substr (string, ofset)
26
Berikut ini adalah coding program yang telah dikerjakan secara keseluruhan
:
#!/usr/bin/perl
print "Daftar nomor dan nama surat dalam Al Quran juz 30.\n";
print "\n";
print "78 = an Nabaa' 90 = al Balad 102 = at Takaasur\n";
print "79 = an Naazi'at 91 = asy Syams 103 = al 'Asr\n";
print "80 = 'Abasa 92 = al Lail 104 = al Humazah\n";
print "81 = at Takwir 93 = ad Duhaa 105 = al Fiil\n";
print "82 = al Infitaar 94 = al Insyiraah 106 = Quraisy\n";
print "83 = al Mutaffifin 95 = at Tin 107 = al Ma'uun\n";
print "84 = al Insyiqaaq 96 = al 'Alaq 108 = al Kausar\n";
print "85 = al Buruuj 97 = al Qadar 109 = al Kaafirun\n";
print "86 = at Taariq 98 = al Bayyinah 110 = an Nasr\n";
print "87 = al A'laa 99 = az Zalzalah 111 = al Lahab\n";
print "88 = al Gaasiyah 100 = al Aadiyaat 112 = al Iklhas\n";
print "89 = al Fajr 101 = al Qaari'ah 113 = al Falaq\n";
print " 114 = an Naas\n";
print "\n";
$loop == "ya";
do
{
print "Masukan nomor surat yang ingin dicari: ";
$nama_berkas = <STDIN>;
chop ($nama_berkas) ;
print "\n";
27
if ($nama_berkas <78 || $nama_berkas >114)
{
print "Surat $nama_berkas tidak ada, silahkan masukan
berdasarkan nomor surat yang sudah tersedia.\n";
print "\n";
print "Ingin mengulang pencarian ya/tidak: ";
$loop = <STDIN>;
}
else
{
print "Masukan ayat surat : " ;
$baris_berkas = <STDIN>;
chop ($baris_berkas);
print "\n";
print "Sampai dengan ayat : ";
$akhir_baris = <STDIN>;
chop ($akhir_baris);
print "\n";
if ($baris_berkas > $akhir_baris)
{
print "Input pencarian ayat yang dimasukan salah,
silahkan coba lagi dengan mengurutkan pencarian berdasarkan
ayat yang lebih kecil.\n";
print "\n";
print "Ingin mengulang pencarian ya/tidak: ";
$loop = <STDIN>;
}
28
else
{
open (MASUKAN, $nama_berkas);
open (KELUARAN, ">surat $nama_berkas ayat $baris_berkas - $akhir_baris");
print KELUARAN "\\begin{arabtext}\n";
print KELUARAN "\\noindent\n";
print "\\begin{arabtext}\n";
print "\\noindent\n";
while ( <MASUKAN> )
{
for($baris=$baris_berkas;$baris<=$akhir_baris;$baris++)
{
if (m/^$baris\b/)
{
($baris) = split ("::");
print substr($baris,3),"\n";
print KELUARAN substr($baris,3),"\n";
print "\n";
}
}
}
print "\\end{arabtext}\n";
print "Ayat yang diinginkan terdapat dalam folder Juz 30 dengan nama file
'surat $nama_berkas ayat $baris_berkas - $akhir_baris'\n";
print "\n";
{
print "Apakah masih ingin melanjutkan pencarian ya/tidak: ";
29
$loop = <STDIN>;
}
print KELUARAN "\\end{arabtext}\n";
close (MASUKAN);
close (KELUARAN);
}
}
}
until ($loop !~ "ya");
Dan berikut adalah penjelasan mengenai coding program yang telah diker-
jakan diatas secara lebih mendetail.
#!/usr/bin/perl
Potongan Script 1
Baris pertama program atau potongan script 1 menunjukan bahwa �le ini
adalah �le yang dibuat dengan bahasa Perl.
print "Daftar nomor dan nama surat dalam Al Quran juz 30.\n";
Potongan Script 2
Selanjutnya perintah print pada potongan script 2, merupakan sebuah per-
intah yang berfungsi untuk mencetak kata-kata yang diinginkan.
30
print "\n";
Potongan Script 3
Perintah dalam potongan script 3 merupakan perintah yang digunakan untuk
memberikan jarak (enter) dalam sebuah program Perl.
print "78 = an Nabaa' 90 = al Balad 102 = at Takaasur\n";
print "79 = an Naazi'at 91 = asy Syams 103 = al 'Asr\n";
print "80 = 'Abasa 92 = al Lail 104 = al Humazah\n";
print "81 = at Takwir 93 = ad Duhaa 105 = al Fiil\n";
print "82 = al Infitaar 94 = al Insyiraah 106 = Quraisy\n";
print "83 = al Mutaffifin 95 = at Tin 107 = al Ma'uun\n";
print "84 = al Insyiqaaq 96 = al 'Alaq 108 = al Kausar\n";
print "85 = al Buruuj 97 = al Qadar 109 = al Kaafirun\n";
print "86 = at Taariq 98 = al Bayyinah 110 = an Nasr\n";
print "87 = al A'laa 99 = az Zalzalah 111 = al Lahab\n";
print "88 = al Gaasiyah 100 = al Aadiyaat 112 = al Iklhas\n";
print "89 = al Fajr 101 = al Qaari'ah 113 = al Falaq\n";
print " 114 = an Naas\n"
print "\n";
Potongan Script 4
31
Perintah pada potongan script 4 merupakan perintah untuk mencetak nomor
dan nama surat yang telah tersedia untuk memudahkan user saat menjalankan
program, terutama user yang tidak mengetahui nomor surat yang dicari namun
hanya mengetahui nama suratnya saja, sebab masukan yang harus dimasukan oleh
user adalah nomor surat.
$loop == "ya";
do
{
Potongan Script 5
Perintah dalam potongan script 5 adalah perintah yang digunakan agar pro-
gram melakukan pengulangan pada perintah yang mengandung atau menyertakan
vaeriabel $loop. Variabel $loop diberikan nilai "ya" yang artinya program akan
terus melakukan perulangan apabila dimasukkan kata "ya".
print "Masukan nomor surat yang ingin dicari: ";
$nama_berkas = <STDIN>;
chop ($nama_berkas) ;
print "\n";
Potongan Script 6
Perintah print "Masukan nomor surat yang ingin dicari: "; pada potongan
script 6 adalah perintah untuk memasukan nomor surat yang diinginkan yang da-
32
ta nama suratnya sudah tertera sebelumnya. $nama_berkas adalah variabel yang
dalam program ini yang dibaca sebagai variabel nomor surat yang tersedia.
$nama_berkas = <STDIN>; adalah sebuah perintah untuk proses pema-
sukan data dari keyboard, perintah tersebut memungkinkan komputer membaca se-
baris data yang dimasukkan dari keyboard hingga tombol Enter ditekan, sedangkan
perintah chop ($nama_berkas) adalah sebuah perintah untuk membuang karakter
terakhir dari variabel.
if ($nama_berkas <78 || $nama_berkas >114)
{
print "Surat $nama_berkas tidak ada, silahkan masukan
berdasarkan nomor surat yang sudah tersedia.\n";
print "\n";
print "Ingin mengulang pencarian ya/tidak: ";
$loop = <STDIN>;
}
Potongan Script 7
Pada potongan script 7 di atas menggunakan fungsi if-else, penyataan if-
else digunakan untuk pengambilan keputusan saat bernilai benar dan pengambilan
keputusan lain saat bernilai salah.
Bentuk pernyataan if-else berupa :
33
if (kondidi) {
blok jika pernyataan yang dijalankan bernilai benar
}
else
{
blok jika pernyataan bernilai salah
}
Kondisi if di atas menjelaskan bahwa apabila $nama_berkas bernilai lebih
kecil dari 74 atau lebih besar dari 114 maka bernilai benar dan program langsung
membaca pernyataan benar, dan apabila salah maka membaca pernyataan salah
setelah perintah else.
Perintah print yang selanjutnya merupakan perintah untuk melaukan pen-
gulangan pada program, user diminta untuk memasukan kondisi yang diinginkan,
apabila yang dimasukkan adalah "ya" maka program akan melanjutkan pengulan-
gan perintah sebelumnya, yaitu user diminta untuk memasukkan surat yang dicari
sedangkan apabila kata "tidak" yang dimasukkan maka program akan berhenti.
34
{
else
print "Masukan ayat surat : " ;
$baris_berkas = <STDIN>;
chop ($baris_berkas);
print "\n";
print "Sampai dengan ayat : ";
$akhir_baris = <STDIN>;
chop ($akhir_baris);
print "\n";
Potongan Script 8
Pernyataan pada potogan script 8 dijalankan apabila nilai yang dimasukkan
di perintah if-else sebelumnya bernilai salah, fungsi else berfungsi untuk menjalankan
perintah selanjutnya maka program akan menjalankan perintah print "Masukan ayat
surat : " ; dan user dapat memasukan ayat surat yang diinginkan.
$baris_berkas merupakan variabel yang menentukan masukan untuk ayat
awal yang dicari. $baris_berkas = <STDIN>; $baris_berkas merupakan variabel
yang menentukan masukan untuk ayat awal yang dicari.
Berikutanya merupakan perintah untuk input batasan ayat yang dicari, vari-
abel $akhir_berkas digunakan untuk membaca batasan ayat yang dicari.
35
if ($baris_berkas > $akhir_baris)
Potongan Script 9
Potongan Script 9 mnjelaskan bahwa baris ini merupakan pernyataan if-
else yang kedua, dimana if bernilai benar apabila $baris_berkas mempunyai nilai
masukan yang lebih besar daripada $akhir_baris. Jika bernilai benar maka program
selesai dijalankan dan apabila bernilai salah maka program akan melanjutkan ke
perintah berikutnya.
{
print "Input pencarian ayat yang dimasukan salah,
silahkan coba lagi dengan mengurutkan pencarian berdasarkan
ayat yang lebih kecil.\n";
print "\n";
print "Ingin mengulang pencarian ya/tidak: ";
$loop = <STDIN>;
}
Potongan Script 10
Perintah yang terdapat pada potongan script 10 diatas merupakan perulan-
gan apabila ayat awal yang dimasukkan oleh user ternyata lebih besar dibandingkan
dengan ayat terakhir yang dicari, maka program akan melakukan perulangan dengan
memberikan pernyataan terlebih dahulu. Apabila ingin melanjutkan pencarian ma-
ka user dapat memasukkan kata "ya" sehingga program dapat dilanjutkan.
36
else
{
open (MASUKAN, $nama_berkas);
open (KELUARAN, ">surat $nama_berkas ayat $baris_berkas -
$akhir_baris");
print KELUARAN "\\begin{arabtext}\n";
print KELUARAN "\\noindent\n";
print "\\begin{arabtext}\n";
print "\\noindent\n";
while ( <MASUKAN> )
Potongan Script 11
pada potongan script 11 ketika masukan yang dimasukkan bernilai salah
maka program akan membaca ke pernyataan else dimana program akan membuka
berkas yang terdapat dalam variabel $nama_berkas dengan menggunakan fungsi
open (MASUKAN, $nama_berkas);.
Fungsi open merupakan fungsi yang digunakan untuk memanggil berkas, ben-
tuk pemanggilan fungsi open pada umumnya adalah sebagai berikut :
open(penangan_berkas, nama_berkas);
Dalam hal ini:
1. penangan_berkas adalah variabel_berkas yang nantinya dipakai pada fungsi-
fungsi lain dalam pemrosesan berkas sebagai penghubung antara proses Perl
37
dengan berkas �sik, dapat berupa sekumpulan huruf, angka, atau garis bawah
dengan syarat karakter utama adalah sebuah huruf, dan umumnya menggu-
nakan huruf kapital.
2. nama_berkas menyatakan nama berkas yang akan dibuka.
open (KELUARAN, ">surat $nama_berkas ayat $baris_berkas - $akhir_baris");
merupakan pernyataan yang berfungsi untuk merekam berkas ke dalam �le yang
diberi nama surat $nama_berkas ayat $baris_berkas - $akhir_baris secara otoma-
tis sesuai dengan masukan yang diinginkan user.
Berikutnya merupakan perintah untuk mencetak
beginarabtext dan
noindent pada �le hasil pencarian agar user tidak perlu lagi menuliskannya pada
lembar kerja texmaker yang digunakan.
{
for($baris=$baris_berkas;$baris<=$akhir_baris;$baris++)
Potongan Script 12
Fungsi for dalam potongan script 12 adalah sebuah fungsi dalam bahasa Perl
untuk melakukan perulangan atau looping pada program.
$baris=$baris_berkas merupakan proses loop initializer, merupakan pernya-
taan yang pertama kali di eksekusi sebelu looping berikutnya, dalam hal ini variabel
$baris dide�nisikan harus sama dengan nilai variabel $baris_berkas.
38
$baris_berkas<=$akhir_baris dilakukan untuk iterasi pada looping, sehing-
gak variabel $baris akan terus melakukan proses looping sampai nilai variabel $baris
sama dengan $akhir_baris.
$baris++ merupakan ekspresi yang menguji apakah nilai variabel $baris su-
dah sama dengan nilai $akhir_baris jika belum maka proses looping dilanjutkan
tetapi apabila nilainya sudah sama maka proses looping dihentikan.
{
if (m/^$baris\b/)
Potongan Script 13
Pada potongn script 13 karakter m// berfungsi untuk mencocokan pola
dalam suatu string, sedangkan karakter � digunakan untuk memastikan bahwa se-
buah pola hanya akan cocok dengan awal sebuah string.
Sementara karakter
\b
berkaitan dengan pencocokan pola dasar kata, digunakan untuk memperoleh pola
yang terdapat dalam batasan
\b
diawal kata atau karakter.
39
{
($baris) = split ("::");
Potongan Script 14
Fungsi split pada potongan script 14 adalah untuk memisahkan entri dalam
$_ atau $baris dengan pemisah berupa tanda '::' bagian pertama dari hasil pemisa-
han yaitu berupa baris ayat yang diinginkan yang disimpan ke variabel $baris, ke-
mudian isi variabel ditampilkan ke layar.
print substr($baris,3),"\n";
Potongan Script 15
Substr yang terdapat dalam potongan script 15 merupakan fungsi yang bergu-
na untuk memperoleh substring dari suatu string, sehingga ketika perintah print
dijalankan untuk mencetak keluaran akhir isi variabel $baris dengan hasil akhir
yang ditampilkan pada layar dan �le penyimpanannya dimulai dari karakter yang
ke empat dimana karakter 1-3 sudah terpotong karena pernyataan substring yang
digunakan.
print KELUARAN substr($baris,3),"\n";
print "\n";
Potongan Script 16
40
Pernyataan yang terdapat pada potongan script 16 berfungsi untuk mencetak
hasil proses program sebelumnya ke dalam �le baru yang telah diberi nama secara
otomatis.
}
}
}
print "\\end{arabtext}\n";
print "Ayat yang diinginkan terdapat dalam folder Juz 30
dengan nama \textit{file} 'surat $nama_berkas ayat
$baris_berkas - $akhir_baris'\n";
print "\n";
Potongan Script 17
Potongan script 17 merupakan pemberitahuan kepada user mengenai letak
�le keluaran.
{
print "Apakah masih ingin melanjutkan pencarian ya/tidak: ";
$loop = <STDIN>;
}
Potongan Script 18
Potongan script 18 merupakan perintah pengulangan program apabila user
41
telah selesai melakukan pencarian, program akan menanyakan apakah ingin melan-
jutkan pencarian atau tidak.
print KELUARAN "\\end{arabtext}\n";
close (MASUKAN);
close (KELUARAN);
}
}
}
Potongan Script 19
Potongan script 19 Merupakan fungsi yang disediakan untuk menutup berkas
yang dicari yaitu berkas yang terdapat dalam $nama_berkas dan selanjutnya adalah
fungsi yang berguna untuk menutup berkas keluaran yang merupakan isi dari vari-
abel $baris setelah proses dijalankan.
until ($loop !~ "ya");
Potongan Script 20
Potongan script 20 merupakan fungsi perulangan yang akan dibaca dalam
progam bernilai salah apabila input nilai variable $loop yang dimasukkan bernilai
selain "ya".
42
aiynilucu@ubuntulucu-laptop:~/juz 30$ perl asli.pl
Daftar nomor dan nama surat dalam Al Quran juz 30.
78 = an Nabaa' 90 = al Balad 102 = at Takaasur
79 = an Naazi'at 91 = asy Syams 103 = al 'Asr
80 = 'Abasa 92 = al Lail 104 = al Humazah
81 = at Takwir 93 = ad Duhaa 105 = al Fiil
82 = al Infitaar 94 = al Insyiraah 106 = Quraisy
83 = al Mutaffifin 95 = at Tin 107 = al Ma'uun
84 = al Insyiqaaq 96 = al 'Alaq 108 = al Kausar
85 = al Buruuj 97 = al Qadar 109 = al Kaafirun
86 = at Taariq 98 = al Bayyinah 110 = an Nasr
87 = al A'laa 99 = az Zalzalah 111 = al Lahab
88 = al Gaasiyah 100 = al Aadiyaat 112 = al Iklhas
89 = al Fajr 101 = al Qaari'ah 113 = al Falaq
114 = an Naas
Masukan nomor surat yang ingin dicari:
Tampilan program 1
Tampilan program 1 adalah tampilan awal saat program dijalankan, berisikan
nomor dan nama surat yang ada dan yang dapat dicari oleh user. User tidak dapat
mencari ayat dalam Al Qur'an selain surat yang data nomor dan namanya yang tert-
era di tampilan program tersebut. Nama surat ikut dicantumkan pada program ini,
meskipun untuk memasukkan input yang dicari hanya dengan mengetikkan nomor
surat dikarenakan untuk menghindari keadaan dimana user tidak mengetahui nomor
surat yang dicari dan hanya mengetahu nama suratnya saja.
43
aiynilucu@ubuntulucu-laptop:~/juz 30$ perl asli.pl
Daftar nomor dan nama surat dalam Al Quran juz 30.
78 = an Nabaa' 90 = al Balad 102 = at Takaasur
79 = an Naazi'at 91 = asy Syams 103 = al 'Asr
80 = 'Abasa 92 = al Lail 104 = al Humazah
81 = at Takwir 93 = ad Duhaa 105 = al Fiil
82 = al Infitaar 94 = al Insyiraah 106 = Quraisy
83 = al Mutaffifin 95 = at Tin 107 = al Ma'uun
84 = al Insyiqaaq 96 = al 'Alaq 108 = al Kausar
85 = al Buruuj 97 = al Qadar 109 = al Kaafirun
86 = at Taariq 98 = al Bayyinah 110 = an Nasr
87 = al A'laa 99 = az Zalzalah 111 = al Lahab
88 = al Gaasiyah 100 = al Aadiyaat 112 = al Iklhas
89 = al Fajr 101 = al Qaari'ah 113 = al Falaq
114 = an Naas
Masukan nomor surat yang ingin dicari: 80
Tampilan program 2
Selanjutnya pada tampilan program 2 menjelaskan bahwa user dapat mema-
sukkan nomor surat yang dicari sesuai dengan keinginannya, ketika proses pen-
masukan nomor surat program akan membaca apakah nomor surat yang di ma-
sukkan sesuai dengan kondisi if-else pada prgogram, apabila nilai masukan terny-
ata tidak terdapat dalam isi variabel $nama_berkas maka program akan langsung
selesai, akan tetapi apabila nilai input yang di masukan terdapat dalam variabel
$nama_berkas maka program akan melanjutkan ke pernyataan berikutnya.
44
aiynilucu@ubuntulucu-laptop:~/juz 30$ perl asli.pl
Daftar nomor dan nama surat dalam Al Quran juz 30.
78 = an Nabaa' 90 = al Balad 102 = at Takaasur
79 = an Naazi'at 91 = asy Syams 103 = al 'Asr
80 = 'Abasa 92 = al Lail 104 = al Humazah
81 = at Takwir 93 = ad Duhaa 105 = al Fiil
82 = al Infitaar 94 = al Insyiraah 106 = Quraisy
83 = al Mutaffifin 95 = at Tin 107 = al Ma'uun
84 = al Insyiqaaq 96 = al 'Alaq 108 = al Kausar
85 = al Buruuj 97 = al Qadar 109 = al Kaafirun
86 = at Taariq 98 = al Bayyinah 110 = an Nasr
87 = al A'laa 99 = az Zalzalah 111 = al Lahab
88 = al Gaasiyah 100 = al Aadiyaat 112 = al Iklhas
89 = al Fajr 101 = al Qaari'ah 113 = al Falaq
114 = an Naas
Masukan nomor surat yang ingin dicari: 40
Surat 40 tidak ada, silahkan masukan
berdasarkan nomor surat yang sudah tersedia.
Ingin mengulang pencarian ya/tidak:
Tampilan program 3
Tampilan program 3 adalah tampilan program apabila user memasukkan ni-
lai yang tidak sesuai dengan isi variabel $nama_berkas maka program akan otomatis
membaca kondisi tersebut sebagai pernyataan benar dalam fungsi if-else yang per-
tama dalam program yang telah dibuat. Kondisi tersebut menyebabkan program
45
akan melakukan pengulangan, sehingga user dapat memilih apakan akan melan-
jutkan pencarian atau tidak.
aiynilucu@ubuntulucu-laptop:~/juz 30$ perl asli.pl
Daftar nomor dan nama surat dalam Al Quran juz 30.
78 = an Nabaa' 90 = al Balad 102 = at Takaasur
79 = an Naazi'at 91 = asy Syams 103 = al 'Asr
80 = 'Abasa 92 = al Lail 104 = al Humazah
81 = at Takwir 93 = ad Duhaa 105 = al Fiil
82 = al Infitaar 94 = al Insyiraah 106 = Quraisy
83 = al Mutaffifin 95 = at Tin 107 = al Ma'uun
84 = al Insyiqaaq 96 = al 'Alaq 108 = al Kausar
85 = al Buruuj 97 = al Qadar 109 = al Kaafirun
86 = at Taariq 98 = al Bayyinah 110 = an Nasr
87 = al A'laa 99 = az Zalzalah 111 = al Lahab
88 = al Gaasiyah 100 = al Aadiyaat 112 = al Iklhas
89 = al Fajr 101 = al Qaari'ah 113 = al Falaq
114 = an Naas
Masukan nomor surat yang ingin dicari: 40
Surat 40 tidak ada, silahkan masukan
berdasarkan nomor surat yang sudah tersedia.
Ingin mengulang pencarian ya/tidak: ya
Masukan nomor surat yang ingin dicari:
Tampilan program 4
46
Apabila user kemudian memasukan kata "ya" maka program akan meng-
hasilkan tampilan program 4. Dalam hal ini program melakukan pengulangan pada
perintah sebelumnya, agar user memasukkan nomor surat yang dicari.
aiynilucu@ubuntulucu-laptop:~/juz 30$ perl asli.pl
Daftar nomor dan nama surat dalam Al Quran juz 30.
78 = an Nabaa' 90 = al Balad 102 = at Takaasur
79 = an Naazi'at 91 = asy Syams 103 = al 'Asr
80 = 'Abasa 92 = al Lail 104 = al Humazah
81 = at Takwir 93 = ad Duhaa 105 = al Fiil
82 = al Infitaar 94 = al Insyiraah 106 = Quraisy
83 = al Mutaffifin 95 = at Tin 107 = al Ma'uun
84 = al Insyiqaaq 96 = al 'Alaq 108 = al Kausar
85 = al Buruuj 97 = al Qadar 109 = al Kaafirun
86 = at Taariq 98 = al Bayyinah 110 = an Nasr
87 = al A'laa 99 = az Zalzalah 111 = al Lahab
88 = al Gaasiyah 100 = al Aadiyaat 112 = al Iklhas
89 = al Fajr 101 = al Qaari'ah 113 = al Falaq
114 = an Naas
Masukan nomor surat yang ingin dicari: 80
Masukan ayat surat :
Tampilan program 5
Tampilan program 5 menjelaskan jika nilai input yang dimasukkan sesuai
dengan isi variabel $nama_berkas maka program akan membaca sebagai kondisi
47
salah sehingga proses akan berlanjut ke pernyataan berikutnya dimana user diminta
untuk memasukkan ayat yang dicari, pada saat user memasukkan ayat yang dicari
program akan membaca kondisi if-else yang kedua, dimana ayat pertama yang dicari
nilainya harus lebih kecil dibandingkan dengan ayat yang terakhir dicari.
Apabila user memasukkan nilai ayat yang dicari pertama kali ternyata lebih
besar dibanding ayat terakhir yang dicari maka program akan membaca keadaan
tersebut sebagai kondisi yang benar sehingga program akan melakukan proses pen-
gulangan apabila user memasukkan "ya". Sedangkan apabila user memasukkan
nilai ayat yang dicari pertama kali lebih kecil dibandingkat ayat terakhir yang dicari
maka program akan membaca sebagai kondisi salah sehingga program akan berlanjut
ke proses berikutnya. seperti pada tampilan program 6.
aiynilucu@ubuntulucu-laptop:~/juz 30$ perl asli.pl
Daftar nomor dan nama surat dalam Al Quran juz 30.
78 = an Nabaa' 90 = al Balad 102 = at Takaasur
79 = an Naazi'at 91 = asy Syams 103 = al 'Asr
80 = 'Abasa 92 = al Lail 104 = al Humazah
81 = at Takwir 93 = ad Duhaa 105 = al Fiil
82 = al Infitaar 94 = al Insyiraah 106 = Quraisy
83 = al Mutaffifin 95 = at Tin 107 = al Ma'uun
84 = al Insyiqaaq 96 = al 'Alaq 108 = al Kausar
85 = al Buruuj 97 = al Qadar 109 = al Kaafirun
86 = at Taariq 98 = al Bayyinah 110 = an Nasr
87 = al A'laa 99 = az Zalzalah 111 = al Lahab
88 = al Gaasiyah 100 = al Aadiyaat 112 = al Iklhas
89 = al Fajr 101 = al Qaari'ah 113 = al Falaq
48
114 = an Naas
Masukan nomor surat yang ingin dicari: 80
Masukan ayat surat : 7
Sampai dengan ayat : 3
Input pencarian ayat yang dimasukan salah, silahkan coba lagi
dengan mengurutkan pencarian berdasaran ayat yang lebih kecil.
Ingin mengulang pencarian ya/tidak:
Tampilan program 6
Selanjutnya tampilan program 7, apabila user memasukkan nilai yang benar
dan sesuai dengan isi variabel yang ada maka program akan melanjutkan ke pro-
ses loop atau perulangan untuk membaca nilai ayat awal yang dicari sampai ayat
terakhir yang dicari lalu program akan mencetak keluaran sesuai dengan isi �le pe-
nyimpanan surat yang diinginkan, setelah itu program akan menyalin isi surat dan
ayat yang dicari tersebut ke dalam �le yang nama dan letaknya sudah di atur se-
belumnya, setelah itu program selesai dan apabila user ingin melakukan pencarian
kembali maka user dapat memasukkan "ya" pada petanyaan yang tertera pada pro-
gram maka program akan melakukan pengulangan seperti pada tampilan program
8, apabila "tidak" maka program akan berhenti seperti pada tampilan program 9.
49
aiynilucu@ubuntulucu-laptop:~/juz 30$ perl asli.pl
Daftar nomor dan nama surat dalam Al Quran juz 30.
78 = an Nabaa' 90 = al Balad 102 = at Takaasur
79 = an Naazi'at 91 = asy Syams 103 = al 'Asr
80 = 'Abasa 92 = al Lail 104 = al Humazah
81 = at Takwir 93 = ad Duhaa 105 = al Fiil
82 = al Infitaar 94 = al Insyiraah 106 = Quraisy
83 = al Mutaffifin 95 = at Tin 107 = al Ma'uun
84 = al Insyiqaaq 96 = al 'Alaq 108 = al Kausar
85 = al Buruuj 97 = al Qadar 109 = al Kaafirun
86 = at Taariq 98 = al Bayyinah 110 = an Nasr
87 = al A'laa 99 = az Zalzalah 111 = al Lahab
88 = al Gaasiyah 100 = al Aadiyaat 112 = al Iklhas
89 = al Fajr 101 = al Qaari'ah 113 = al Falaq
114 = an Naas
Masukan nomor surat yang ingin dicari: 80
Masukan ayat surat : 3
Sampai dengan ayat : 7
\begin{arabtext}
\noindent
wa mA yud ri yka la`allahu yazza kk_a_A (3)
.aw ya_d_da kkaru fatanfa`ahu al-_d_di kr_a _A (4)
.a mmA mani a sta.gn_a_A (5)
fa-.a nta lahu ta.sadd_a _A (6)
wa mA `alayka .a llA yazza kk_a_A (7)
\end{arabtext}
50
Ayat yang diinginkan terdapat dalam folder Juz 30
dengan nama file 'surat 80 ayat 3 - 7'
Apakah masih ingin melanjutkan pencarian ya/tidak:
Tampilan program 7
aiynilucu@ubuntulucu-laptop:~/juz 30$ perl asli.pl
Daftar nomor dan nama surat dalam Al Quran juz 30.
78 = an Nabaa' 90 = al Balad 102 = at Takaasur
79 = an Naazi'at 91 = asy Syams 103 = al 'Asr
80 = 'Abasa 92 = al Lail 104 = al Humazah
81 = at Takwir 93 = ad Duhaa 105 = al Fiil
82 = al Infitaar 94 = al Insyiraah 106 = Quraisy
83 = al Mutaffifin 95 = at Tin 107 = al Ma'uun
84 = al Insyiqaaq 96 = al 'Alaq 108 = al Kausar
85 = al Buruuj 97 = al Qadar 109 = al Kaafirun
86 = at Taariq 98 = al Bayyinah 110 = an Nasr
87 = al A'laa 99 = az Zalzalah 111 = al Lahab
88 = al Gaasiyah 100 = al Aadiyaat 112 = al Iklhas
89 = al Fajr 101 = al Qaari'ah 113 = al Falaq
114 = an Naas
Masukan nomor surat yang ingin dicari: 80
Masukan ayat surat : 3
Sampai dengan ayat : 7
\begin{arabtext}
51
\noindent
wa mA yud ri yka la`allahu yazza kk_a_A (3)
.aw ya_d_da kkaru fatanfa`ahu al-_d_di kr_a _A (4)
.a mmA mani a sta.gn_a_A (5)
fa-.a nta lahu ta.sadd_a _A (6)
wa mA `alayka .a llA yazza kk_a_A (7)
\end{arabtext}
Ayat yang diinginkan terdapat dalam folder Juz 30
dengan nama file 'surat 80 ayat 3 - 7'
Apakah masih ingin melanjutkan pencarian ya/tidak: ya
Masukan nomor surat yang ingin dicari:
Tampilan program 8
aiynilucu@ubuntulucu-laptop:~/juz 30$ perl asli.pl
Daftar nomor dan nama surat dalam Al Quran juz 30.
78 = an Nabaa' 90 = al Balad 102 = at Takaasur
79 = an Naazi'at 91 = asy Syams 103 = al 'Asr
80 = 'Abasa 92 = al Lail 104 = al Humazah
81 = at Takwir 93 = ad Duhaa 105 = al Fiil
82 = al Infitaar 94 = al Insyiraah 106 = Quraisy
83 = al Mutaffifin 95 = at Tin 107 = al Ma'uun
84 = al Insyiqaaq 96 = al 'Alaq 108 = al Kausar
85 = al Buruuj 97 = al Qadar 109 = al Kaafirun
86 = at Taariq 98 = al Bayyinah 110 = an Nasr
52
87 = al A'laa 99 = az Zalzalah 111 = al Lahab
88 = al Gaasiyah 100 = al Aadiyaat 112 = al Iklhas
89 = al Fajr 101 = al Qaari'ah 113 = al Falaq
114 = an Naas
Masukan nomor surat yang ingin dicari: 80
Masukan ayat surat : 3
Sampai dengan ayat : 7
\begin{arabtext}
\noindent
wa mA yud ri yka la`allahu yazza kk_a_A (3)
.aw ya_d_da kkaru fatanfa`ahu al-_d_di kr_a _A (4)
.a mmA mani a sta.gn_a_A (5)
fa-.a nta lahu ta.sadd_a _A (6)
wa mA `alayka .a llA yazza kk_a_A (7)
\end{arabtext}
Ayat yang diinginkan terdapat dalam folder Juz 30
dengan nama file 'surat 80 ayat 3 - 7'
Apakah masih ingin melanjutkan pencarian ya/tidak: tidak
aiynilucu@ubuntulucu-laptop:~/juz 30\$
Tampilan program 9
53
4.4 Testing/Veri�cation
Pada tahapan ini dilakukan testing setelah tool yang dibuat dan dikem-
bangkan telah selesai dan dapat digunakan sesuai dengan analisis tool yang di-
inginkan. Testing perlu dilakukan untuk memastikan bahwa tool yang dikembangkan
dapat berfungsi sebagaimana mestinya.
Tahapan testing dilakukan dengan dua cara, yang pertama pengetesan pro-
gram oleh programmer dan yang kedua oleh user. Programmer melakukan pengete-
san coding ayat Al Qur'an pada LaTEX serta pengetesan pada tool yang telah selesai
dibuat sedangkan user melakukan pengetesan hanya dari sisi tool yang telah selesai,
apakah sesuai dengan permintaan atau tidak.
Testing pertama dilakukan oleh programmer, dalam hal ini programmer harus
melakukan testing yang pertama pada data ayat Al Qur'an yang telah diterjemahkah
ke dalam "bahasa" LaTEX dan programer harus melakukan testing pada semua surat
yang telah dibuat.
1. Testing yang dilakukan oleh programmer
Berikut adalah tabel yang dibuat berdasarkan testing yang telah dilakukan
untuk mengetahui apakah data surat yang dibuat dengan LaTEX sesuai atau
tidak dengan Al Qur'an yang menjadi acuan.
54
No Surat Nama Surat Kesesuaian dengan Al Qur'an
78 an Nabaa' Sesuai
79 an Naazi'at Sesuai
80 'Abasa Sesuai
81 at Takwir Sesuai
82 al In�taar Sesuai
83 al Muta��n Sesuai
84 al Insyiqaaq Sesuai
85 al Buruuj Sesuai
86 at Taariq Sesuai
87 al A'laa Sesuai
88 al Gaasiyaha Sesuai
89 al Fajr Sesuai
90 al Balad Sesuai
91 asy Syams Sesuai
92 al Lail Sesuai
93 ad Duhaa Sesuai
94 al Insyiraah Sesuai
95 at Tin Sesuai
96 al 'Alaq Sesuai
97 al Qadar Sesuai
98 al Bayyinah Sesuai
99 az Zalzalah Sesuai
100 al Aadiyaat Sesuai
55
No Surat Nama Surat Kesesuaian dengan Al Qur'an
101 al Qaari'ah Sesuai
102 at Takaasur Sesuai
103 al 'Asr Sesuai
104 al Humazah Sesuai
105 al Fiil Sesuai
106 Quraisy Sesuai
107 al Ma'uun Sesuai
108 al Kausar Sesuai
109 al Kaa�run Sesuai
110 an Nasr Sesuai
111 asy Syams Sesuai
112 al Lahab Sesuai
113 al Iklhas Sesuai
114 an Naas Sesuai
Tabel di atas menunjukkan hasil dari proses testing yang telah dilakukan oleh
programmer untuk mengetahui apakah hasil dari penulisan ayat Al Qur'an
pada LaTEXsesuai dengan yang tertera pada Al Qur'an dan diketahui bah-
wa hasil tulisan ayat Al Qur'an yang dibuat dengan LaTEX sesuai dengan
yang tertera pada Al Qur'an yang dijadikan acuan. Bukti untuk tabel di atas
dilampirkan pada softcopy.
Setelah proses testing untuk tulisan ayat Al Qur'an pada LaTEX selesai dan
mendapatkan hasil yang sesuai dengan yang dibutuhkan, maka selanjutnya
programmer melakukan testing pada tool yang telah dibuat.
56
Proses testing pada tahap ini adalah programmer menjalankan tool yang telah
di buat, dan menganalisis apakah hasil akhirnya sudah sesuai dengan per-
mintaan user.
Gambar 4.2 untuk tampilan program ketika dijalankan :
Gambar 4.2: Tampilan program
57
Gambar 4.3 untuk tampilan program ketika dijalankan untuk mencari ayat
yang diinginkan :
Gambar 4.3: Tampilan program
Dari kedua Gambar 4.2 dan Gambar 4.3 di atas dapat ditarik kesimpulan
bahwa tool yang dibuat telah sesuai dengan permintaan user, dimana tool
tersebut mampu menampilkan data ayat Al Qur'an yang dicari sesuai dengan
urutan ayat yang diinginkan.
2. Testing yang dilakukan oleh user
Testing yang dilakukan oleh user adalah dengan mencoba menjalankan tool
secara keseluruhan, hingga mendapatkan hasil yng diinginkan yaitu memu-
dahkan penulisan ayat Al Qur'an dengan LaTEXTesting ini dilakukan oleh
saudari Idra Herlina pada tanggal 22 Desember 2010.
58
Contoh artikel yang akan disisipkan ayat Al Qur'an oleh user :
Yang penting harus diterangkan bahwa keberadaan-Nya
tidak sama seperti manusia atau mahkluk-Nya.
Begitu juga bila orang atau anak bernyata apakah Allah punya mata,
telinga, tangan dan kaki, maka jawabnya adalah âyaâ.
Tapi kesemuanya tidak sama dengan yang dimiliki manusia
atau makhluk apapun di dunia ini. Karena Allah itu tidak
sama dengan apapun. âKatakanlah (wahai Muhammad) bahwa Allah
Itu Esa. Allah adalah tempat bergantung. Tidak beranak dan
tidak diperanak.Tidak ada sesuatu pun yang menyerupainya.â
Seperti yang telah tertulis dalam Al Qur'an surat Al-Ikhlas: 1-4
Maka meski Allah di Langit atau di âArsy, tapi keberadaannya
tidak sama dengan manusia atau makhluk umumnya.
Sebab Dia adalah Tuhan yang menciptakan keduanya. Wallahu aâlam
Pada artikel diatas user ingin menyisipkan ayat Al Qur'an surat Al Ikhlas 1-4
atau dalam urutan surat ke-112, user dapat menggunakan tool yang sudah
dibuat untuk membantu mempermudah penulisan di LaTEX
Berikut ini adalah hasil program yang dicoba oleh user dimana user ingin
mendapatkan �le surat Al Iklhas ayat 1-4.
59
aiynilucu@ubuntulucu-laptop:~/juz 30$ perl asli.pl
Daftar nomor dan nama surat dalam Al Quran juz 30.
78 = an Nabaa' 90 = al Balad 102 = at Takaasur
79 = an Naazi'at 91 = asy Syams 103 = al 'Asr
80 = 'Abasa 92 = al Lail 104 = al Humazah
81 = at Takwir 93 = ad Duhaa 105 = al Fiil
82 = al Infitaar 94 = al Insyiraah 106 = Quraisy
83 = al Mutaffifin 95 = at Tin 107 = al Ma'uun
84 = al Insyiqaaq 96 = al 'Alaq 108 = al Kausar
85 = al Buruuj 97 = al Qadar 109 = al Kaafirun
86 = at Taariq 98 = al Bayyinah 110 = an Nasr
87 = al A'laa 99 = az Zalzalah 111 = al Lahab
88 = al Gaasiyah 100 = al Aadiyaat 112 = al Iklhas
89 = al Fajr 101 = al Qaari'ah 113 = al Falaq
114 = an Naa
Masukan nomor surat yang ingin dicari: 112
Masukan ayat surat : 1
Sampai dengan ayat : 4
\begin{arabtext}
\noindent
qul huwal-ll_ahu .a .haduN (1)
.al-ll_ahu a .samadu (2)
lam yalid wa lam yuw lad (3)
wa lam yakul laHu kufuwaNa .a.haduN (4)
\end{arabtext}
Ayat yang diinginkan terdapat dalam folder
Juz 30 dengan nama \textit{file} 'surat 112 ayat 1 - 4'
60
Apakah masih ingin melanjutkan pencarian ya/tidak: tidak
aiynilucu@ubuntulucu-laptop:~/juz 30
Sehingga pada terminal akan ditampilkan surat Al Ikhlas yang diinginkan,
sedangkan apabila user ingin menyalin isi �le sudah terdapat di dalam folder
Juz 30 dengan nama 'surat 112 ayat 1 - 4'.
\documentclass[12pt]{article}
\usepackage{arabtex}
\usepackage{bahasa} [babel]
\title{\Huge Menulis Arab dengan \LaTeX}
\begin{document}
\maketitle
\fullvocalize
Yang penting harus diterangkan bahwa keberadaan-Nya
tidak sama seperti manusia atau mahkluk-Nya.
Begitu juga bila orang atau anak bernyata apakah Allah punya mata,
telinga, tangan dan kaki, maka jawabnya adalah âyaâ.
Tapi kesemuanya tidak sama dengan yang dimiliki manusia
atau makhluk apapun di dunia ini. Karena Allah itu tidak
sama dengan apapun. âKatakanlah (wahai Muhammad) bahwa Allah
Itu Esa. Allah adalah tempat bergantung. Tidak beranak dan
tidak diperanak.Tidak ada sesuatu pun yang menyerupainya.â
Seperti yang telah tertulis dalam Al Qur'an surat Al-Ikhlas: 1-4
\begin{arabtext}
\noindent
61
qul huwal-ll_ahu .a .haduN (1)
.al-ll_ahu a .samadu (2)
lam yalid wa lam yuw lad (3)
wa lam yakul laHu kufuwaNa .a.haduN (4)
\end{arabtext}
Maka meski Allah di Langit atau di âArsy, tapi keberadaannya
tidak sama dengan manusia atau makhluk umumnya.
Sebab Dia adalah Tuhan yang menciptakan keduanya. Wallahu aâlam
\end{document}
Hasil akhir dokumen :
Yang penting harus diterangkan bahwa keberadaan-Nya tidak sama seperti
manusia atau mahkluk-Nya. Begitu juga bila orang atau anak bernyata apakah
Allah punya mata, telinga, tangan dan kaki, maka jawabnya adalah yaâ. Tapi kese-
muanya tidak sama dengan yang dimiliki manusia atau makhluk apapun di dunia
ini. Karena Allah itu tidak sama dengan apapun. 'Katakanlah (wahai Muhammad)
bahwa Allah Itu Esa. Allah adalah tempat bergantung. Tidak beranak dan tidak
diperanak. Tidak ada sesuatu pun yang menyerupainya.' Seperti yang telah tertulis
dalam Al Qur'an surat Al-Ikhlas: 1-4
(4) �Y �g�@ @ �ñ �®
�» �é
�Ë É
�¾�K Õ
�Ë �ð (3) Y
�Ëñ�JÖ
�Ï �ð YÊ��K Õ
�Ë (2) �Y �ÖÞ��@ �é
��<�@ (1) �Y �g
�@ �é
��<Ë �ñ �ë É��̄
Maka meski Allah di Langit atau di âArsy, tapi keberadaannya tidak sama dengan
manusia atau makhluk umumnya. Sebab Dia adalah Tuhan yang menciptakan ke-
duanya. Wallahu aâlam. Setelah disalin ke dalam artikel yang user inginkan hasil
yang didapatkan sesuai dengan apa yang diinginkan, sehingga dapat ditarik sebuah
kesimpulan bahwa tool yang telah dibuat sudah sesuai dengan keinginan user.
62
4.5 Maintenance
Setelah dilakukan testing/veri�cation pada program, maka tahapan selanjut-
nya adalah maintenance, hal ini perlu untuk dilakukan untuk mengetahui apabila
ada kesalahan atau error yang belum ditemukan sebelumnya, dan apabila pada tool
ini dilakukan pengembangan fungsionalitas atau perlu ditambahkan �tur-�tur yang
belum ada.
Pengembangan yang dilakukan seperti menambahkan surat-surat yang belum
ada sehingga data surat Al Qur'an yang ada lengkap dan user dapat mencari surat-
surat yang diinginkan mulai dari surat Al Qur'an yang pertama hingga terakhir.
BAB V
SIMPULAN DAN SARAN
5.1 Simpulan
Dari penelitian dan pengembangan tool untuk menulis ayat Al Qur'an meng-
gunakan LaTEX dan Perl, maka didapat kesimpulan sebagai berikut :
1. Bahasa pemrograman Perl dapat diterapkan untuk membuat tool yang mampu
mempermudah proses penyisipan tulisan.
2. Tool dengan bahsa Perl yang telah dibuat memudahkan penulisan/penyisipan
ayat al Qur'an saat menggunakan LaTEX
3. Penulis lebih mengetahui mengenai LaTEX dan penggunaannya.
5.2 Saran
Dari penelitian yang dilakukan, pengembang memberikan saran seperti dibawah
ini :
1. Menggunakan LaTEX sebagai perangkat lunak pemformat dokumen untuk menger-
jakan pengetikan sehari-hari.
2. Perlu adanya pengembangan tool dengan bahsa Perl atau bahasa pemrograman
yang lain.
3. Adanya pengembangan aplikasi yang lebih lengkap dan mudah di akses oleh
user.
63
DAFTAR PUSTAKA
[1] The Pew Forum on Religion and Public Life. MAPPING THE GLOBAL MUS-
LIM POPULATION. A Report on the Size and Distribution of the Worlds Mus-
lim Population. Oktober 2009. .
[2] Linux.or.id Pengenalan Linux. 2008. Home page :
http://linux.or.id/node/2515. 14 April 2010, pukul 14.05 WIB.
[3] Wikipedia. Ubuntu. Home page :http://id.wikipedia.org/wiki/Ubuntu Diakses
19 Juli 2010, pukul 14.40
[4] Wiryana, I Made. 2003. Daftar artikel Tek.. kotek.. kotek.. LaTEX. Daftar artikel
Tek.. kotek.. kotek.. LaTEX.
[5] Sakethi, Dwi. 2009. Menulis Arab Menggunakan LaTeX. Majalah Lazdai, Edisi
019/Mei-Juni/2009
[6] Yungzen. Texmaker. home page :http://www.fkm.utm.my/ecl/?LaTeX:TeXmaker.
Diakses 19 Juli 2010, pukul 15.45 WIB.
[7] Legally, Klaus. ArabTEX Typesetting Arabic and Hebrew User Manual Version
4.0. 2004. .
[8] Rudianto, Dudy. PERL UNTUK PEMULA. 20023. Elex Media Komputindo.
Jakarta.
[9] Kadir, Abdul. Dasar Pemrograman Perl. 2002. Penerbit Andi. Yogyakarta.
[10] Hermawan, Budi. Tailor-made Information System Software. 2009. Home
page : http://www.budihermawan.net/?p=38. 14 April 2010, pukul 14.05 WIB.
64