• Tidak ada hasil yang ditemukan

BAB I PENDAHULUAN

F. Sistematika Penulisan

Skripsi ini disusun menjadi empat bab dengan rincian pada masing-masing bab sebagai berikut:

13 M. Quraish Shihab, Kaidah Tafsir, Tangerang : Lentera Hati, 2013, hal. 385.

9

BAB I merupakan pendahuluan sekaligus pengantar pada bab-bab berikutnya. Dalam ini, diuraikan beberapa hal yang menjadi kerangka dasar dalam penelitian yang akan dikembangkan pada bab-bab berikutnya, adapun urutan pembahasannya adalah, Latar Belakang Masalah, Rumusan Masalah, Tujuan Penelitian dan Manfaat Penelitian, Tinjauan Pustaka, Metodologi Penelitian, Sistematika Penulisan.

BAB II merupakan informasi tentang landasan teori dan pandangan secara umum tentang algoritma. Pada bab ini diperlihatkan bagaimana sejarah munculnya terma algoritma dan perkembangan definisinya hingga menjadi seperti yang dipahami sekarang. Kemudian dijelaskan pula struktur-struktur umum algoritma yang menjadi pondasi bagi pembuatan program pada masa kini.

BAB III merupakan bab inti yang memuat algoritma dalam Al-Qur’an dari tiga struktur yang dibahas yakni runtutan (sequence), pemilihan (selection), dan perulangan (iteration). Pembahasan juga disertai dengan analisis penulis dan penafsiran para mufasir terhadap ayat-ayat yang dibahas.

BAB IV bab ini merupakan pembahasan akhir penulis yang akan memberikan beberapa kesimpulan terkait hasil penelitian penulis yang sudah dipaparkan pada bab-bab sebelumnya dan juga menyantumkan kritik dan saran supaya pembaca hasil buah tangan penulis dapat disempurnakan oleh pembaca.

10

11

BAB II

LANDASAN TEORI

A. Konsep Algoritma

Kata Algoritma pada masa kini sangat identik dengan ilmu komputer.

Pada saat ini, sebelum mendalami cabang-cabang yang ada di dalam ilmu komputer akan selalu dimulai dengan memperlajari algoritma terlebih dahulu.

Sejarah asal-usul kata algoritma sendiri cukup menarik untuk ditelusuri. Donald E. Knuth menyebutkan bahwa kata Algoritma atau dalam Bahasa Inggris disebut algorithm diambil dari nama seorang ulama yang hidup pada abad ke-9 yaitu al-Khawarizmi1. Bahman Mehri berpendapat bahwa kata algorithm berasal dari kombinasi kata antara algorismus yang merupakan nama latin dari al-Khawarizmi dan algorithmos yang artinya “angka” di dalam bahasa Yunani.2 Adapun Woljciech Szpankowski menyebutkan bahwa kata algorithm diambil dari judul risalah angka-angka hindi karya al-Khawarizmi yang diterjemahkan dalam bahasa latin dengan judul Algoritmi de numero Indorum, kata algoritmi pada awal judul inilah yang kemudian berkembang menjadi algorithm.3

Dalam bahasa Indonesia, kata algorithm kemudian diserap menjadi algoritma atau algoritme. Adapun definisi algoritma menurut Kamus Besar Bahasa Indonesia (kbbi) adalah urutan logis pengambilan suatu keputusan dalam memecahkan suatu permasalahan.4

Menurut Rosa A.S., Algoritma berarti solusi. Karena esensi dari mempelajari Algoritma adalah membuat solusi untuk menyelesaikan permasalahan. Menurutnya, algoritma harus dipikirkan secara logika di pikiran manusia dengan pemikiran yang mudah dimengerti dan berdasarkan pemikiran yang detail dari proses-proses yang ada.5

1 Corona Brezina, Al-Khawarizmi: Sang penemu Aljabar, terj. Elliza Hamzah, Jakarta : Muara, 2013

2 Bahman Mehri, “From Al-Khawarizm to Algorithm”, dalam Jurnal Olympiads in Informatics, Vol. 11, Tahun 2017, hal. 73.

3 Wojciech Szpankowski, Average Case Analysis of Algorithms on Sequences, Canada : John Wiley & Sons , 2001 , hal. xv.

4 Pusat Bahasa Departemen Pendidikan Nasional, Kamus Besar Bahasa Indonesia.

Jakarta : Pusat Bahasa, 2008, hal.41.

5 Rosa A.S, Logika Algoritma dan Pemrograman Dasar, Bandung : Modula, 2018,

12

Donald E. Knuth juga memberikan beberapa ciri-ciri dari algoritma yaitu:

1. Fiteness, algoritma mempunyai awal dan akhir. Suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas atau dengan kata lain suatu algoritma memiliki langkah yang terbatas.

2. Defineteness, setiap langkah harus didefinisikan dengan tepat sehingga tidak ambigu.

3. Input, memiliki masukan atau kondisi awal.

4. Output, memiliki keluaran atau kondisi akhir.

5. Effectiveness, algoritma harus efektif, bila diikuti benar-benar akan menyelesaikan persoalan.6

Setiap orang bisa membuat dan memilih algoritma yang berbeda untuk menyelesaikan suatu permasalahan. Walaupun memiliki hasil akhir yang sama, suatu algoritma bisa berbeda dalam penyusunannya.

Setidaknya ada tiga hal yang menandakan suatu algoritma sebagai algoritma yang baik.

Pertama, algoritma haruslah benar. Sebagus apapun suatu algoritma jika memberikan output yang salah, pastilah algoritma tersebut bukan merupakan algoritma yang baik.

Kedua, seberapa baik hasil yang dicapai algoritma tersebut.

Algoritma yang baik akan mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.

Ketiga, efisiensi algoritma. Meskipun suatu algoritma mampu memberikan output yang benar ataupun paling mendekati, tetapi jika harus melalui proses yang sangat lama dan tidak efektif untuk mendapatkan output, maka algoritma tersebut tidak bisa dipakai.7

Sebelum masuk kepada jenis-jenis notasi dan struktur, sebaiknya juga mengetahui langkah-langkah yang biasa dilakukan sebelum seseorang menulis kode untuk suatu program, langkah-langkah tersebut adalah:

Pertama, mendefinisikan permasalahan. Sebelum menulis suatu kode sebaiknya diidentifikasikan dulu inti dari permasalahannya, apa yang bisa dipecahkan, dan yang terakhir adalah apa input dan output dari program yang ditulis.

hal.3

6 Donald E. Knuth, The Art of Computer Programming Fundamental Algoritms, hal. 4-6

7 Ema Utami dan Sukrisno, 10 Langkah Belajar Logika dan Algoritma menggunakan Bahasa C dan C++ di GNU/Linux, Yogyakarta : Andi, 2005, hal. 20.

13

Kedua, menemukan solusi. Setelah masalah diidentifikasikan maka kemudian ditentukan solusinya sehingga program bisa lebih mudah dilihat dan dianalisi untuk pengembangan lebih lanjut.

Ketiga, memilih algoritma. Setelah diketahui inti permasalahan dan solusinya, maka kemudian dipilih algoritma yang efisien dan benar-benar sesuai untuk masalah yang diberikan.8

Algoritma saat ini mempunyai peranan besar dalam bidang teknik pada umumnya dan pemrograman pada khususnya. Karena dengan algoritma, kerangka berpikir yang sistematis akan membantu seseorang untuk membuat konsep pemecahan masalah yang baik dan tepat.

B. Variabel dan Operasi

Variabel merupakan tempat untuk menyimpan data yang isinya bisa diubah-ubah sesuai dengan tipenya. Variabel hanya bisa menyimpan satu buah nilai, sehingga jika nilai tersebut diubah maka nilai yang baru akan menggantikan nilai yang sebelumnya. Adapun nama dari variabel bisa diberikan sesuai dengan keinginan pembuat program namun sebaiknya menggunakan nama yang mudah dimengerti oleh orang lain yang membaca.9

Operasi merupakan pengerjaan suatu nilai dengan menggunakan proses tertentu, seperti penjumlahan, pengurangan, pembagian, dan perkalian. Tanda untuk menentukan suatu operasi pada dua buah operan disebut dengan operator. Operator sendiri memiliki beberapa jenis yaitu:

8 Suprapto, et.al., Bahasa Pemrograman, Jakarta: Direktorat Pembinaan Sekolah Menengah Kejuruan, 2008, hal. 61.

9 Rosa A.S, Logika Algoritma dan Pemrograman Dasar, hal.42.

14 1. Operator Aritmetik10

Tabel II.1, Operator Aritmetik

Nama Simbol Keterangan

Perkalian * , × Untuk mengalikan dua

buah operan. Contoh:

2 x 2 = 4.

Pembagian ÷ , / , div Untuk pembagian dua buah operan, simbol div akan menghasilkan bilangan tanpa koma.

Contoh:

6 / 2 = 3.

7 div 2 = 3.

Modulo Mod Untuk menghasilkan sisa

pembagian. Contoh:

9 mod 5 = 4.

Penjumlahan + Untuk menjumlahkan

dua buah operan.

Contoh:

7 + 3 = 10.

Pengurangan - Untuk pengurangan dua

buah operan. Contoh:

10 – 7 = 3.

Minus (-x) Untuk menandai nilai

minus. Contoh:

Nilai minus dari bilangan bulat 19 adalah (-19)

2. Operator Relasi11

10 Rosa A.S, Logika Algoritma dan Pemrograman Dasar, hal.94.

11 Rosa A.S, Logika Algoritma dan Pemrograman Dasar, hal.97.

15

Tabel II.2, Operator Relasi

Nama Simbol Keterangan

Sama dengan = Untuk menyatakan

bahwa nilai yang dibandingkan sama.

Tidak sama dengan <> , != Untuk menyatakan bahwa nilai yang dibandingkan tidak sama.

Lebih dari > Untuk menyatakan

bahwa nilai pertama lebih besar dari nilai ke dua.

Kurang dari < Untuk menyatakan

bahwa nilai pertama lebih kecil dari nilai kedua.

Lebih dari sama dengan

≥ Untuk menyatakan

bahwa nilai pertama lebih besar atau sama dengan nilai ke dua.

Kurang dari sama

dengan ≤ Untuk menyatakan

bahwa nilai pertama lebih kecil dari nilai kedua.

16 3. Operator Logika12

Tabel II.3, Operator Logika

Nama Simbol Keterangan

Operator dan and , && Operator logika yang

C. Notasi Penulisan Algoritma

Algoritma mempunyai aturan penulisan tersendiri yang disebut dengan notasi algoritma. Notasi algoritma tidak sama dengan notasi bahasa pemrograman sehingga tidak bergantung pada bentuk baku dari bahasa pemrograman manapun. Notasi algoritma lebih kepada bahasa universal yang dapat diterjemahkan ke berbagai bahasa pemrograman.13 Adapun jenis notasi yang biasa digunakan untuk membuat algoritma dari suatu permasalahan adalah sebagai berikut:

1. Kalimat Deskriptif

Penulisan algoritma dengan menggunakan bahasa deskriptif biasa juga disebut dengan notasi alami. Dikalukan dengan cara menuliskan instruksi-instruksi yang harus dilaksanakan dalam bentuk untaian kalimat deskriptif serta menggunakan bahasa yang jelas. Sebagaimana disebutkan sebelumnya bahwa tidak ada aturan baku dalam menulis algoritma, maka setiap orang dapat membuat aturan penulisan maupun notasi sendiri dengan bahasa sehari-hari. Program komputer adalah implementasi algoritma dalam bahasa pemrograman tertentu.14 Berikut contoh algoritma menggunakan kalimat deskriptif:

12 Rosa A.S, Logika Algoritma dan Pemrograman Dasar, hal.99.

13 Suprapto, et.al., Bahasa Pemrograman, hal. 55.

14 Ali Ridho, et.al., Logika dan Algoritma, Surabaya : Politeknik Elektronika Negeri, 2013, hal. 14-16.

17 Algoritma Volume Bola :

(Menghitung luas bola dengan ukuran jari-jari tertentu, Algoritma menerima input jari-jari bola, menghitung volumenya, lalu cetak luasnya ke layar)

Deklarasi :

Radius (r) = bilangan real Volume = bilangan real 𝜋 = 3.14 (konstanta) Deskripsi:

1. Baca jari_jari 2. Hitung volume = 4

3∗ 𝜋 ∗ 𝑟3 3. Tampilkan volume ke layar 4. Selesai

2. Flowchart (Diagram Alur)

Penyusunan algoritma sangat dipengaruhi oleh tata bahasa pembuatnya, sehingga kadang-kadang orang sulit memahaminya. Oleh sebab itu kemudian dikembangkan metode yang menggambarkan tahap-tahap pemecahan masalah dengan merepresentasikan simbol-simbol tertentu yang mudah dimengerti, mudah digunakan dan standar. Salah satu penulisan simbol tersebut adalah dengan menggunakan flowchart (Diagram Alur). Flowchart merupakan representasi grafis dari suatu algoritma, berikut simbol-simbol yang biasa digunakan untuk menggambar flowchart:

18

Tabel II.4 , Tabel flowchart

Simbol Nama Fungsi

Terminator

Simbol Awal dan Akhir

Flow Line Simbol aliran

Proses Perhitungan /

Pengolahan data

Input / Output Data Merepresentasikan masukan / keluaran

Decision

Simbol pemilihan, menggasilkan 2 nilai keluaran antara benar

atau salah

Preparation Pemberian nilai awal / Tahap Inisialisasi

Predefined Process (subprogram)

Menjalankan sub program

On Page Connector Penghubung flowchart pada satu halaman.

Off Page Connector Penghubung flowchart pada halaman berbeda.

19

Berikut contoh penggunaan flowchart untuk menggambarkan algoritma dalam aktivitas keseharian seperti mengirim sms:

Gambar II.1 , flowchart mengirim sms

Penggunaan flowchart saat ini sangat mudah ditemukan dimana-mana. Dengan flowchart, pesan inti bisa tersampaikan dengan lebih mudah dan terarah.

3. Pseudocode (Kode Palsu)

Pseudocode atau dalam bahasa Indonesia disebut dengan kode palsu adalah deskripsi dari suatu algoritma pemrograman yang menggunakan struktur dari suatu bahasa pemrograman dan ditujukan agar dapat dibaca oleh manusia dan bukannya oleh mesin.

Tujuan Pseudocode adalah agar manusia dapat dengan mudah dalam pemahaman dibandingkan dengan menggunakan bahasa pemrograman yang umumnya digunakan. Pseudocode biasanya digunakan dalam buku-buku ataupun publikasi karya ilmiah yang mendokumentasikan dari suatu algoritma, dan juga dalam perencanaan pengembangan program komputer, untuk membuat sketsa atas struktur sebuah program sebelum program yang sesungguhnya ditulis. Berikut merupakan contoh Algoritma menghitung luas persegi panjang ketika menggunakan Pseudocode.

20

Tabel II.5 , Pseudocode

NO Algoritma Pseudocode

1 Masukkan Panjang Input Panjang

2 Masukkan Lebar Input Lebar

3 Nilai luas adalah panjang dikali dengan

lebar Luas = Panjang x Lebar

4 Tampilkan luas Print luas

D. Struktur Dasar Algoritma

Dalam algoritma berisi langkah-langkah yang diperlukan untuk menyelesaikan suatu masalah. Bentuk langkah yang digunakan bisa berupa urutan aksi, pemilihan / percabangan aksi, dan pengulangan aksi.15 Berikut keterangan mengenai tiga struktur dasar algoritma:

1. Struktur Runtutan (Sequence Structure)

Struktur runtutan adalah struktur dasar algoritma di mana instruksi akan dilaksanakan secara berurutan. Misalnya untuk mengirimkan sebuah surat maka algoritma yang bisa dibuat adalah seperti di bawah ini:

Algoritma Mengirim Surat 1. Ketik atau tulis surat

2. Siapkan sampul surat atau amplop

3. Masukkan surat ke dalam amplop yang tersedia 4. Lem amplop surat dengan baik

5. Tuliskan alamat pengiriman surat.

6. Beli dan tempelkan perangko pada amplop

7. Pergi ke kantor pos dan bawa surat untuk diserahkan pada petugas pos

15 Heri Sismoro, Pengantar Logika Informatika Algoritma dan Pemrograman Komputer, Yogyakarta : Andi, hal. 35.

21

Atau dalam flowchart seperti gambar di bawah ini:

Gambar II.2, flowchart menulis surat

Algoritma menggunakan struktur runtutan sangat banyak ditemukan pada kehidupan sehari-hari, biasanya algoritma jenis ini dipakai untuk menuliskan tahapan panyelesaian seperti pada buku-buku resep memasak ataupun cara penggunaan pada buku-buku petunjuk pemakaian suatu produk.

2. Struktur Pemilihan / Percabangan (Selection Structure)

Struktur percabangan adalah struktur dasar algoritma di mana instruksi akan dieksekusi bergantung pada terpenuhi atau tidaknya suatu kondisi. Percabangan merupakan salah satu inti dari analisis kasus pada pembuatan algoritma, penyelesaian suatu kasus harus dipikirkan seringkali dihadapkan pada adanya opsi yang harus dikerjakan jika suatu kondisi terpenuhi atau tidak terpenuhi. Percabangan dalam pemrograman digambarkan dengan if-then, if-then-else atau switch-case.

Dalam logika sehari-hari, sebuah pemilihan/percabangan if dapat dianalogikan sebagai sebuah Istana Negara yang tidak bisa dimasuki oleh sembarang orang, dimana hanya orang-orang yang memenuhi syarat yang bisa masuk ke dalamnya seperti Presiden dan para menterinya.16 Sebagai contoh dalam masalah menonton film kategori dewasa bagi anak berusia di bawah 18 tahun maka bisa dibuat algoritma seperti berikut:

16 Rosa A.S, Logika Algoritma dan Pemrograman Dasar, hal. 112.

22

Tabel II.6, Algoritma Menonton Film Algoritma Menonton Film

Pseudocode Flowchart

usia : integer read (usia) if (usiâ17) then

print ("Anda tidak boleh menonton")

else

write ("Silahkan Menonton")

Dalam sebuah bioskop terdapat berbagai kategori film. Dari sekian banyak kategori, tidak semua film bisa disaksikan oleh anak-anak berusia dibawah 18 tahun. Jika anak yang belum berusia 18 tahun membeli tiket yang tidak sesuai kategorinya maka sebagaimana algoritma di atas ia tidak akan diizinkan untuk menonton film tersebut.

3. Struktur Perulangan (Repetition Structure)

Struktur perulangan adalah struktur algoritma di mana instruksi akan terus dieksekusi secara berulang-ulang selama memenuhi suatu kondisi yang ditentukan. Dalam pemrograman, perulangan merupakan bagian penting karena dengannya pembuat program tidak perlu menulis perintah sebanyak perulangan yang diinginkan. Bagian-bagian yang harus dipenuhi dalam perulangan antara lain:

23 a. Inisialisasi

Inisialisasi merupakan persiapan membuat kondisi sebelum melakukan perulangan seperti menentukan variabel.

b. Proses

Tahap Proses merupakan tahap di dalam bagian perulangan di mana berisi proses yang dilakukan secara berulang-ulang.

c. Iterasi

Iterasi merupakan kondisi dimana terjadi operasi pertambahan atau pengurangan agar perulangan terus berjalan.

d. Terminasi / Kondisi Perulangan

Terminasi adalah kondisi di saat perulangan dihentikan, kondisi ini harus ada dalam setiap perulangan agar perulangan dapat berhenti sehingga tidak terjadi infinite loop atau perulangan yang tidak ada hentinya.17

Struktur perulangan dalam algoritma ada bermacam-macam seperti for, while-do, dan Repeat-Until. Sebagian besar dapat dipakai untuk menyelesaikan masalah yang sama tetapi ada beberapa yang hanya cocok untuk dipakai dalam masalah tertentu. Masalah apa yang diselesaikan menentukan dalam pemilihan struktur apa yang akan digunakan.18 Berikut merupakan contoh perulangan dalam kehidupan sehari-hari:

17 Rosa A.S, Logika Algoritma dan Pemrograman Dasar, hal. 180

18 Ema Utami, Suwanto Raharjo, Logika Algoritma dan Implementasinya dalam Bahasa Python di Gnu/Linux, Yogyakarta : Andi, hal. 141.

24

Tabel II.7, Algoritma Ujian Sekolah Algoritma Ujian Sekolah

Pseudocode Flowchart

soal : integer

mengerjakan_soal : boolean read (soal)

while (soal != 0 ) do mengerjakan soal = true soal -= 1

Algoritma di atas merupakan contoh perulangan pada saat mengerjakan soal ujian. Dalam algoritma di atas bisa dilihat bahwa terdapat kondisi dimana ujian akan terus dikerjakan selama soal yang ada belum diselesaikan semuanya, kemudian ketika soal masih tersisa maka akan terus dilakukan proses pengerjaan soal, ketika semua soal sudah diselesaikan dan kondisi dimana (soal = 0) sudah terpenuhi, maka proses pengerjaan soal dihentikan dan ujian selesai.

25

BAB III

ALGORITMA DALAM AL-QUR’AN

A. Algoritma Runtutan Dalam Al-Qur’an

Algoritma runtutan merupakan jenis struktur algoritma yang mudah untuk diidentifikasi. Sebagai kitab suci umat Islam dan petunjuk bagi seluruh umat manusia, Al-Qur’an menampung banyak ayat yang berisi petunjuk maupun langkah-langkah dalam berbagai aspek. Selain itu, Al-Qur’an juga memiliki keterkaitan antar ayat maupun antar surah yang kuat satu sama lain.

Dari sekian banyak ayat yang saling berkaitan itulah, struktur algoritma bisa dilihat dari rangkaian ayat yang ada, baik dalam satu surah maupun antar surah. Selain antar ayat, ada pula ayat yang di dalamnya sudah tergambar suatu algoritma. Sebagai permulaan dari bab inti tulisan ini penulis akan mengangkat beberapa algoritma runtutan tergambar dalam Al-Qur’an.

Hai orang-orang yang beriman, apabila kamu hendak mengerjakan salat, maka basuhlah mukamu dan tanganmu sampai dengan siku, dan sapulah kepalamu dan (basuh) kakimu sampai dengan kedua mata kaki, dan jika kamu junub maka mandilah, dan jika kamu sakit atau dalam perjalanan atau kembali dari tempat buang air (kakus) atau menyentuh perempuan, lalu kamu tidak memperoleh air, maka bertayammumlah dengan tanah yang baik (bersih); sapulah mukamu dan tanganmu dengan tanah itu. Allah tidak hendak menyulitkan kamu, tetapi Dia hendak membersihkan kamu dan menyempurnakan nikmat-Nya bagimu, supaya kamu bersyukur. (QS. Al-Mâidah/5 : 6)

Di awal ayat Allah menyebutkan

ِة َلََّصلا َلَِإ ْمُتْمُق اَذِإ اوُنَمآ َنيِذَّلا اَهُّ يَأ َيَ

para

ulama berbeda pendapat tentang maksud dari lafaz ini. Sebagian berpendapat bahwa dari lafaz itu dapat disimpulkan bahwa berwudu wajib

26

dilakukan setiap sebelum melaksanakan salat, pendapat lain mengatakan bahwa hal tersebut tidak wajib.19

Salat merupakan ibadah utama bagi seorang Muslim. Sebelum melaksanakan salat maka seorang muslim wajib terbebas dari hadas kecil maupun hadas besar. Menurut jumhur, bersuci tidaklah wajib apabila seseorang hendak melaksanakan salat kecuali ia dalam keadaan berhadas.

Meskipun demikian, memperbaharui wudu setiap hendak melaksanakan salat dianjurkan karena Nabi berwudu dalam setiap salat beliau, namun beliau pernah melakukan beberapa salat dengan satu wudu untuk menunjukkan bahwa hal tersebut dibolehkan.20

Kemudian diterangkan tentang tata cara melaksanakan wudu. Dari enam rukun yang ada pada wudu, empat di antaranya disebutkan dalam

Yang dimaksud tertib adalah melaksanakan sesuai berurutan sesuai dengan yang disebutkan Allah dalam ayat ini.21

Bagian ayat setelahnya kemudian disebutkan

اوُرَّهَّطاَف اًبُ نُج ْمُتْ نُك ْنِإَو

yakni

apabila kita dalam keadaan junub maka diwajibkan untuk mandi bersuci.

Adapun dikarenakan junub termasuk ke dalam hadas besar maka untuk mensucikannya harus dengan mandi.

Dari ayat ini, terdapat beberapa proses yang bisa digambarkan dengan algoritma urutan yaitu tata cara berwudu. Penggambaran algoritma wudu sesuai rukun-rukun yang ada pada ayat ini adalah sebagai berikut:

19 Muhammad ibn Ahmad al-Qurthubi, al-Jâmi‘ li Ah̲kâm al-Qurân, Kairo: Dar al Kutub al Misriyah, 1964, Juz 6, hal. 81.

20 Ahmad Mustafa Maraghi, Tafsîr Marâghi, Mesir: Mustafa Babi al-Halabi, 1946, Juz 6, hal.62.

21 Kementrian Agama RI, Al-Qur’an dan Tafsirnya, Jakarta: Departemen Agama RI, 2010, Jilid 2, hal. 361.

27

Tabel III.1, Algoritma Wudu

Algoritma flowchart

01 Mulai

02 Membasuh Wajah 03 Membasuh Tangan 04 Membasuh Kepala 05 Membasuh Kaki 06 Selesai Berwudu

Selain berwudu, ayat ini juga menerangkan opsi yang diberikan ketika tidak bisa melakukan wudu ataupun mandi dikarenakan sakit, dalam perjalanan, ataupun persediaan air yang tidak memungkinkan yaitu dengan cara tayamum.

Pada tayamum, bagian yang diusap hanya wajah dan tangan saja.

Tayamum juga dianggap cukup menggunakan segala sesuatu yang tampak di permukaan baik berupa tanah ataupun media lainnya selama itu suci, namun menggunakan debu lebih utama karena sesuai dengan redaksi pada ayatnya.22 Penggambaran algoritma bertayamum adalah sebagai berikut:

22 Abdurrahman As-Sa‘di, Taisîr al-Karîm ar-Rahmân fî Tafsîr Kalâm al-Mannân, Beirut: Muassasah ar-Risalah, 2000, hal.222

28

Tabel III.2, Algoritma Tayamum

Algoritma flowchart

01 Mulai

02 Mengusap Wajah 03 Mengusap Tangan 04 Selesai

Ditinjau dari segi kaidah, baik pada bagian yang menjelaskan tentang wudu maupun tayamum. Yakni disatukan dengan huruf ‘athaf wawu (

و

),

yang mana secara umum menunjukkan arti li muthlaq al-jam’

(penggabungan secara mutlak). Artinya antara rukun-rukun yang ada merupakan suatu kesatuan dan tidak bisa dipisahkan23. Seseorang tidak akan dianggap berwudu jika tidak membasuhkan tangan, begitu pula tidak sah bertayamum jika tidak mengusap wajah.

Hal-hal yang berkaitan dengan kondisi dan syarat kenapa seseorang boleh mengganti wudu dan mandi wajib dengan tayamum juga sebenarnya membentuk suatu algoritma, namun pada bagian ini khusus hanya akan digambarkan bentuk-bentuk algoritma yang menggunakan struktur runtutan. Adapun yang menggunakan struktur percabangan dan perulangan akan dibahas nanti pada bagian-bagian selanjutnya.

2. Algoritma Penciptaan Langit dan Bumi

Ilmu Allah sangat luas dan di luar jangkauan ilmu yang diberikan kepada seluruh makhluk-Nya, bahkan tinta seluas lautan pun tidak cukup untuk menuliskan kalimat-kalimat Allah.24 Maka dari itu tidak mengherankan jikalau Al-Qur’an yang merupakan kalâmullâh juga yang di dalamnya mengandung banyak isyarat-isyarat yang memacu umat

Ilmu Allah sangat luas dan di luar jangkauan ilmu yang diberikan kepada seluruh makhluk-Nya, bahkan tinta seluas lautan pun tidak cukup untuk menuliskan kalimat-kalimat Allah.24 Maka dari itu tidak mengherankan jikalau Al-Qur’an yang merupakan kalâmullâh juga yang di dalamnya mengandung banyak isyarat-isyarat yang memacu umat

Dokumen terkait