Anda di halaman 1dari 60

PROYEK ALGORITM AND DATA STRUCTURE

APLIKASI AKAD RAHN

Disusun Oleh:
1. Ahmad Romadhon
2. Febiani Suci Wulandari
3. Shihab Bani Adam

Kelas : 1TIPS4
Faculty : Muh. Riza Iqbal. L

CEP-CCIT FTUI BEKERJASAMA DENGAN


PUSBANGSITEK UIN SYARIF HIDAYATULLAH JAKARTA
2012
KATA PENGANTAR

Assalamualaikum Wr.Wb
Puji Syukur kami panjatkan kehadirat Allah SWT atas kehendak-Nya pembuatan
proyek ini dapat diselesaikan tepat pada waktunya. Dalam pembuatan proyek ini bertujuan
untuk melengkapi tugas Algoritm and Data Structure dengan judul:
APLIKASI AKAD RAHN
Selain untuk melengkapi tugas tersebut, kami juga dapat lebih mengetahui bagaimana
cara membuat aplikasi dengan bahasa c pada akad rahn dengan baik dan benar. Serta
membuat Flowchart pada aplikasi tersebut.
Dalam menyelesaikan pembuatan proyek ini, kami banyak menemui kesulitan. Baik itu
disebabkan oleh kurangnya ilmu pengetahuan maupun keterbatasan sumber. Namun, berkat
bimbingan dari berbagai pihak, akhirnya makalah ini dapat diselesaikan walaupun masih
banyak kekurangannya. Oleh karena itulah, sepantasnya kami berterima kasih kepada:
1. Bapak Muh. Riza Iqbal. L yang telah memberikan kepercayaan untuk menyelesaikan
makalah ini.
2. Serta semua pihak yang telah membantu kami, baik itu secara langsung maupun tidak
langsung.

Kami menyadari ilmu pengetahuannya belum seberapa dan masih perlu banyak belajar
dalam pembuatan proyek ini. Kami sangat mengharapkan adanya kritik dan saran yang
positif agar pembuatan makalah ini lebih baik di masa yang akan datang.

Depok, September 2012

Penulis

ii
DAFTAR ISI

KATA PENGANTAR ............................................................................................................. ii


DAFTAR ISI .......................................................................................................................... iii
DAFTAR GAMBAR ............................................................................................................... v
BAB I ...................................................................................................................................... 1
PENDAHULUAN .................................................................................................................... 1
1.1. Latar Belakang ......................................................................................................... 1
1.2. Tujuan Penulisan ...................................................................................................... 2
1.3. Batasan Masalah ...................................................................................................... 2
1.4. Metodologi Penulisan................................................................................................ 2
1.5. Sistematika Penulisan ............................................................................................... 2
BAB II ..................................................................................................................................... 4
LANDASAN TEORI ............................................................................................................... 4
2.1. Rahn ......................................................................................................................... 4
2.1.1. Definisi Rahn ..................................................................................................... 4
2.1.2. Landasan Rahn ................................................................................................. 4
2.1.3. Hukum Rahn ..................................................................................................... 7
2.1.4. Jenis jenis Rahn .............................................................................................. 9
2.1.5. Rukun dan Syarat Syarat Rahn ...................................................................... 9
2.2. Algoritma ............................................................................................................... 10
2.2.1. Definisi Algoritma ........................................................................................... 10
2.2.2. Sejarah Algoritma ........................................................................................... 11
2.3. Flow Chart ............................................................................................................. 11
2.3.1. Definisi Flow Chart ......................................................................................... 11
2.3.2. Sejarah Flow Chart ......................................................................................... 13
2.4. Bahasa Pemograman C........................................................................................... 13
2.4.1. Definisi Bahasa Pemograman C ...................................................................... 13
2.4.2. Sejarah Bahasa Pemograman C ...................................................................... 13
2.4.3. Operator pada Bahasa Pemograman C ........................................................... 14
2.4.4. Percabangan dan Perulangan .......................................................................... 15
2.4.5. Pengertian Array............................................................................................. 16
2.4.6. Pengertian Fungsi............................................................................................ 16
BAB III ................................................................................................................................. 17
ANALISA SISTEM ............................................................................................................... 17
3.1. Flowchart Akad Rahn ............................................................................................. 17
3.1.1. Main ................................................................................................................ 17
3.1.2. Menu Utama ................................................................................................... 18
3.1.3. Login Teller ..................................................................................................... 19
3.1.4. Menu Teller ..................................................................................................... 20
3.1.5. Pembayaran Tebusan ...................................................................................... 21
3.1.6. Pembayaran Cicilan ........................................................................................ 22
3.1.7. Login Penaksir ................................................................................................ 22
3.1.8. Menu Penaksir ................................................................................................ 23
3.1.9. Tentang Rahn .................................................................................................. 24

iii
3.1.10. Harga Emas Hari ini ....................................................................................... 25
3.1.11. Setting harga Emas ......................................................................................... 26
3.1.12. Menu Rahn ...................................................................................................... 28
3.1.13. Formulir Pendaftaran ..................................................................................... 29
3.1.14. Menu Keluar ................................................................................................... 30
3.2. Bahasa C Akad Rahn .............................................................................................. 31
3.2.1. Menu Utama ................................................................................................... 31
3.2.2. Login teller ...................................................................................................... 32
3.2.3. Menu Teller ..................................................................................................... 33
3.2.4. Pembayaran Tebusan ...................................................................................... 34
3.2.5. Pembayaran Cicilan ........................................................................................ 35
3.2.6. Login Penaksir ................................................................................................ 38
3.2.7. Menu Penaksir ................................................................................................ 39
3.2.8. Tentang Rahn .................................................................................................. 40
3.2.9. Harga Emas..................................................................................................... 42
3.2.10. Menu Rahn ...................................................................................................... 43
3.2.11. Hitung Peminjaman ........................................................................................ 44
3.2.12. Formulir Pendaftaran ..................................................................................... 45
3.2.13. Setting Harga Emas......................................................................................... 47
3.2.14. Menu Keluar ................................................................................................... 47
3.2.15. Keluar ............................................................................................................. 48
3.3. Screenshot Tampilan............................................................................................... 49
3.3.1. Menu Utama ................................................................................................... 49
3.3.2. Menu Penaksir ................................................................................................ 49
3.3.3. Menu Rahn ...................................................................................................... 50
3.3.4. Pendaftaran Penggadai ................................................................................... 50
3.3.5. Penaksiran Emas ............................................................................................. 51
3.3.6. Peminjaman .................................................................................................... 51
3.3.7. Menu Teller ..................................................................................................... 52
3.3.8. Pembayaran Tebusan ...................................................................................... 52
3.3.9. Pembayaran Cicilan Pertama .......................................................................... 53
3.3.10. Pembayaran Cicilan Selanjutnya .................................................................... 53
BAB IV.................................................................................................................................. 54
PENUTUP ............................................................................................................................. 54
4.1. Kesimpulan............................................................................................................. 54
4.2. Saran ...................................................................................................................... 54
DAFTAR PUSTAKA ............................................................................................................ 55

iv
DAFTAR GAMBAR
Gambar 3.1 Menu Utama ................................................................................................................. 49
Gambar 3.2 Menu Penaksir............................................................................................................... 49
Gambar 3.3 Menu Rahn .................................................................................................................... 50
Gambar 3.4 Pendaftaran Penggadai ................................................................................................. 50
Gambar 3.5 Penaksiran Emas............................................................................................................ 51
Gambar 3.6 Pinjaman ........................................................................................................................ 51
Gambar 3.7 Menu Teller ................................................................................................................... 52
Gambar 3.8 Pembayaran Tebusan .................................................................................................... 52
Gambar 3.9 Pembayaran Cicilan Pertama ........................................................................................ 53
Gambar 3.10 Pembayaran Cicilan Selanjutnya ................................................................................. 53

v
BAB I
PENDAHULUAN

1.1. Latar Belakang


Perkembangan produk-produk keuangan berbasis syariah kian marak di Indonesia,
tidak terkecuali pegadaian. Lembaga keuangan pegadaian meyediakan media bagi nasabah
yang ingin melakukan gadai berbasis syariah yang disebut dengan pegadaian syariah.
Pada dasarnya, produk-produk keuangan berbasis syariah memiliki ciri khusus, seperti:
tidak memungut bunga dalam berbagai bentuk karena dapat menyebabkan riba,
menetapkan uang sebagai alat tukar bukan sebagai komoditas yang diperdagangkan, dan
melakukan bisnis untuk memperoleh imbalan atas jasa dan atau bagi hasil. Gadai berbasis
syariah dikenal dengan istilah Rahn.
Rahn adalah gadai berbasis syariah dimana tidak menggunakan bunga dalam
pengoperasiannya, melainkan biaya penitipan. Biaya penitipan ditetapkan tergantung nilai
dan masa penitipan barang pada masing-masing lembaga keuangan tersebut.
Rahn merupakan prosesi gadai berdasarkan syariah islam yang dimediasi oleh
lembaga-lembaga keuangan berbasis syariah islam baik itu bank syariah ataupun pegadaian
syariah. Dalam prakteknya, Rahn sebagai peminjam uang memberikan jaminan berupa
barang lalu barang tersebut ditaksir sedemikian rupa oleh pegawai dan setelah kedua belah
pihak sepakat lalu Rahin menandatangi surat perjanjian untuk pengembalian peminjaman
sejumlah uang hasil penaksiran pegawai atas barang jaminan tersebut yang selanjutnya
disebut sebagai akad Rahn.
Barang jaminan disimpan ditempat yang telah ditentukan lembaga tersebut, dan
selanjutnya Rahin diwajibkan membayar sejumlah biaya penitipan barang jaminannya
dalam jangka waktu yang telah tertulis dalam surat perjanjian tersebut.
Dengan disusunya makalah ini kelompok kami bermaksud untuk mengetahui lebih
jauh proses dalam melakukan akad Rahn pada lembaga keuangan Pegadaian Syariah serta
implementasinya dalam teknologi informasi.

1
1.2. Tujuan Penulisan
Tujuan penulisan makalah ini adalah:
1. Mengetahui Algoritma akad Rahn.
2. Mengetahui pemograman akad Rahn dengan menggunakan Bahasa C.
3. Mengetahui Flowchart pada Akad Rahn.

1.3. Batasan Masalah


Berdasarkan tujuan penulisan tersebut, batasan masalah pada makalah ini antara lain:
1. Prinsip yang di bahas hanya pada prinsip yang ada pada Akad Rahn.
2. Proses transaksi yang digunakan adalah proses transaksi pada Akad Rahn.
3. Pembuatan simulasi bahasa C untuk melakukan akad Rahn pada Pegadaian Syariah.

1.4. Metodologi Penulisan


Metode penulisan yang digunakan di dalam makalah ini adalah pendekatan secara
langsung. Di sini penulis bertindak sebagai fasilitator dan realitas dikonstruksikan oleh
subyek penulisan. Selanjutnya penulis bertindak sebagai aktivis yang ikut memberi makna
secara kritis pada makalah ini

1.5. Sistematika Penulisan


Penulisan akan diuraikan pada beberapa bab yang kemudian akan dikembangkan
melalui sub bab. Sehingga semua materi pembahasan dapat disajikan secara sistematis serta
terarah melalui cara pembahasan yang deduktif dan indukatif. Adapun sistematika
penulisan yang dimaksud, sebagai berikut:
1. BAB I PENDAHULUAN
Berisi latar belakang, rumusan masalalah, tujuan penulisan, batasan masalah dan
sistematika penulisan.
2. BAB II LANDASAN TEORI
Dalam bab ini menguraikan mengenai definisi Algoritma, Flowchart, Bahasa C, dan
layanan pegadaian syariah (Akad Rahn).

2
3. BAB III ANALISA
Dalam bab ini menguraikan tentang analisa Bahasa C dan Flowchart pada akad Rahn
4. BAB IV KESIMPULAN DAN SARAN
Kesimpulan dan saran

3
BAB II
LANDASAN TEORI

2.1. Rahn
2.1.1. Definisi Rahn
Secara bahasa, Rahn berarti tetap dan lama yakni tetap berarti pengekangan dan
keharusan. Sedangkan menurut istilah ialah penahanan terhadap suatu barang sehingga
dapat dijadikan sbagai pembayaran dari barang tersebut. Akan tetapi menurut ulama
hanafiyah Gadai secara istilah ialah menjadikan suatu benda sebagai jaminan utang yang
dapat dijadikan pembayar ketika berhalangan dalam membayar utang.
Secara umum Rahn dikategorikan sebagai akad yang bersifat derma sebab apa yang
diberikan penggadai (Rahn) kepada penerima gadai (Murtahin) tidak ditukar dengan
sesuatu yang di berikan murtaqin kepada Rahn adalah utang, bukan penukar atas barang
yang digadaikannya.
Rahn juga termasuk juga akad yang ainiyah yaitu dikatakan sempurna sesudah
menyerahkan benda yang dijadikan akad, seperti hibah, pinjam-meminjam, titipan dan
qirad. Semua termasuk akad tabarru (derma) yang dikatakan smpurna setelah memegang (al
qabdu).

2.1.2. Landasan Rahn


Sebagaimana halnya instritusi yang berlabel syariah, maka landasan konsep pegadaian
Syariah juga mengacu kepada syariah Islam yang bersumber dari Al Quran dan Hadist Nabi
SAW. Adapun landasan yang dipakai adalah:

4
Al- Quran Surat Al Baqarah: 283

Jika kamu dalam perjalanan (dan bermu'amalah tidak secara tunai) sedang kamu tidak
memperoleh seorang penulis, maka hendaklah ada barang tanggungan yang dipegang
(oleh yang berpiutang). Akan tetapi jika sebagian kamu mempercayai sebagian yang lain,
maka hendaklah yang dipercayai itu menunaikan amanatnya (hutangnya) dan hendaklah
ia bertakwa kepada Allah Tuhannya; dan janganlah kamu (para saksi) menyembunyikan
persaksian. Dan barangsiapa yang menyembunyikannya, maka sesungguhnya ia adalah
orang yang berdosa hatinya; dan Allah Maha Mengetahui apa yang kamu kerjakan

Hadist
Aisyah berkata bahwa Rasul bersabda: Rasulullah membeli makanan dari seorang yahudi
dan meminjamkan kepadanya baju besi. (HR Bukhari dan Muslim)

Dari Abu Hurairah r.a. Nabi SAW bersabda: Tidak terlepas kepemilikan barang gadai dari
pemilik yang menggadaikannya. Ia memperoleh manfaat dan menanggung risikonya. (HR
AsySyafii, al Daraquthni dan Ibnu Majah)

Nabi Bersabda: Tunggangan ( kendaraan) yang digadaikan boleh dinaiki dengan


menanggung biayanya dan bintanag ternak yang digadaikan dapat diperah susunya dengan
menanggung biayanya. Bagi yang menggunakan kendaraan dan memerah susu wajib
menyediakan biaya perawatan dan pemeliharaan. (HR Jamaah, kecuali Muslim dan An
Nasai)

Dari Abi Hurairah r.a. Rasulullah bersabda: Apabila ada ternak digadaikan, maka
punggungnya boleh dinaiki ( oleh yang menerima gadai), karena ia telah mengeluarkan
biaya ( menjaga)nya. Apabila ternak itu digadaikan, maka air susunya yang deras boleh
diminum (oleh orang yang menerima gadai) karena ia telah mengeluarkan biaya

5
(menjaga)nya. Kepada orang yang naik dan minum, maka ia harus mengeluarkan biaya
(perawatan)nya. (HR Jemaah kecuali Muslim dan Nasai-Bukhari)

Di samping itu, para ulama sepakat membolehkan akad Rahn ( al-Zuhaili, al-Fiqh al-
Islami wa Adilatuhu, 1985,V:181)

Landasan ini kemudian diperkuat dengan Fatwa Dewan Syariah Nasional no 25/DSN-
MUI/III/2002 tanggal 26 Juni 2002 yang menyatakan bahwa pinjaman dengan
menggadaikan barang sebagai jaminan utang dalam bentuk Rahn diperbolehkan dengan
ketentuan sebagai berikut :

a. Ketentuan Umum :
1) Murtahin (penerima barang) mempunya hak untuk menahan Marhun (barang)
sampai semua utang Rahin (yang menyerahkan barang) dilunasi.
2) Marhun dan manfaatnya tetap menjadi milik Rahin. Pada prinsipnya Marhun tidak
boleh dimanfaatkan oleh Murtahin kecuali seizin Rahin, dengan tidak mengurangi
nilai Marhun dan pemanfaatannya itu sekedar pengganti biaya pemeliharaan
perawatannya.
3) Pemeliharaan dan penyimpanan Marhun pada dasarnya menjadi kewajiban Rahin,
namun dapat dilakukan juga oleh Murtahin, sedangkan biaya dan pemeliharaan
penyimpanan tetap menjadi kewajiban Rahin.
4) Besar biaya administrasi dan penyimpanan Marhun tidak boleh ditentukan
berdasarkan jumlah pinjaman.
5) Penjualan Marhun
a. Apabila jatuh tempo, Murtahin harus memperingatkan Rahin untuk segera
melunasi utangnya.
b. Apabila Rahin tetap tidak melunasi utangnya, maka Marhun dijual
paksa/dieksekusi.
c. Hasil Penjualan Marhun digunakan untuk melunasi utang, biaya pemeliharaan
dan penyimpanan yang belum dibayar serta biaya penjualan.

6
d. Kelebihan hasil penjualan menjadi milik Rahin dan kekurangannya menjadi
kewajiban Rahin.

b. Ketentuan Penutup
1. Jika salah satu pihak tidak dapat menunaikan kewajibannya atau jika terjadi
perselisihan diantara kedua belah pihak, maka penyelesaiannya dilakukan melalui
Badan Arbritase Syariah setelah tidak tercapai kesepakatan melalui musyawarah.
2. Fatwa ini berlaku sejak tanggal ditetapkan dengan ketentuan jika di kemudian hari
terdapat kekeliruan akan diubah dan disempurnakan sebagai mana mestinya.

2.1.3. Hukum Rahn

Jika kamu dalam perjalanan (dan bermuamalah tidak secara tunai) sedang kamu
tidak memperoleh seorang penulis, maka hendaklah ada barang tanggungan yang
dipegang (oleh yang berpiutang). Akan tetapi jika sebagian kamu mempercayai
sebagian yang lain, maka hendaklah yang dipercayai itu menunaikan amanatnya
(hutangnya) dan hendaklah ia bertaqwa kepada Allah Rabbnya; dan janganlah
kamu (para saksi) menyembunyikan persaksian. Dan siapa yang
menyembunyikannya, maka sesungguhnya ia adalah orang yang berdosa hatinya;
dan Allah Mengetahui apa yang kamu kerjakan. (QS. 2:283).

Sistem hutang piutang dengan gadai ini diperbolehkan dan disyariatkan dengan dasar
Al Quran, Sunnah dan ijma kaum muslimin.
Dalil Al Quran adalah firman Allah:
Dalam ayat ini walaupun ada pernyataan dalam perjalanan namun tetap menunjukkan
keumumannya, baik dalam perjalanan atau dalam keadaan mukim, karena kata dalam
perjalanan dalam ayat hanya menunjukkan keadaan yang biasa membutuhkan sistem ini.

7
Hal inipun dipertegas dengan amalan Rasululloh yang melakukan pergadaian
sebagaimana dikisahkan umul mukminin Aisyah dalam pernyataan beliau:

Sesungguhnya Nabi Shalallaahu alaihi wasalam membeli dari seorang yahudi


bahan makanan dengan cara hutang dan menggadaikan baju besinya. (HR Al
Bukhori no 2513 dan Muslim no. 1603).

Demikian juga para ulama bersepakat menyatakan pensyariatan Al Rahn ini dalam
keadaan safar (perjalanan) dan masih berselisih kebolehannya dalam keadaan tidak safar.
Imam Al Qurthubi menyatakan: Tidak ada seorangpun yang melarang Al Rahn pada
keadaan tidak safat kecuali Mujaahid, Al Dhohak dan Daud (Al Dzohiri). Demikian juga
Ibnu Hazm.
Ibnu Qudamah menyatakan: Diperbolehkan Al Rahn dalam keadaan tidak safar
(menetap) sebagaimana diperbolehkan dalam keadaan safar (bepergian). Ibnul Mundzir
menyatakan: Kami tidak mengetahui seorangpun yang menyelisihi hal ini kecuali Mujahid,
ia menyatakan: Al Rahn tidak ada kecuali dalam keadaan safar, karena Allah berfirman:

Jika kamu dalam perjalanan (dan bermuamalah tidak secara tunai) sedang kamu tidak
memperoleh seorang penulis, maka hendaklah ada barang tanggungan yang dipegang
(oleh yang berpiutang).

Namun benar dalam hal ini adalah pendapat mayoritas ulama dengan adanya perbuatan
Rasululloh SAW diatas dan sabda beliau:

Al Rahn (Gadai) ditunggangi dengan sebab nafkahnya, apabila digadaikan dan susu
hewan menyusui diminum dengan sebab nafkah apabila digadaikan dan wajib bagi
menungganginya dan meminumnya nafkah. (HR Al Bukhori no. 2512).

8
2.1.4. Jenis jenis Rahn
1. Rahn Iqar/Rasmi (Rahn Takmini/Rahn Tasjily)
Merupakan bentuk gadai, dimana barang yang digadaikan hanya dipindahkan
kepemilikannya, namun barangnya sendiri masih tetap dikuasai dan dipergunakan oleh
pemberi gadai.
2. Rahn Hiyazi
Bentuk Rahn Hiyazi inilah yang sangat mirip dengan konsep Gadai baik dalam hukum
adat maupun dalam hukum positif. Jadi berbeda dengan Rahn Iqar yang hanya
menyerahkan hak kepemilikan atas barang, maka pada Rahn Hiyazi tersebut,
barangnya pun dikuasai oleh Kreditur.

2.1.5. Rukun dan Syarat Syarat Rahn


1. Rukun ar-Rahn (Gadai)
Mayoritas ulama memandang bahwa rukun ar-Rahn (gadai) ada empat, yaitu:
1. Ar-Rahn atau al-Marhun (barang yang digadaikan).
2. Al-Marhun bih (utang).
3. Shighah.
4. Dua pihak yang bertransaksi, yaitu Rahin (orang yang menggadaikan) dan Murtahin
(pemberi utang).
Sedangkan Mazhab Hanafiyah memandang ar-Rahn (gadai) hanya memiliki satu rukun
yaitu shighah, karena pada hakikatnya dia adalah transaksi.
2. Syarat syarat ar-Rahn
Dalam ar-Rahn terdapat persyaratan sebagai berikut:
1. Syarat yang berhubungan dengan transaktor (orang yang bertransaksi), yaitu orang
yang menggadaikan barangnya adalah orang yang memiliki kompetensi
beraktivitas, yaitu baligh, berakal, dan rusyd (memiliki kemampuan mengatur).
2. Syarat yang berhubungan dengan al-Marhun (barang gadai)
a. Barang gadai itu berupa barang berharga yang dapat menutupi utangnya, baik
barang atau nilainya ketika si peminjam tidak mampu melunasi utangnya.

9
b. Barang gadai tersebut adalah milik orang yang manggadaikannya atau yang
diizinkan baginya untuk menjadikannya sebagai jaminan gadai.
c. Barang gadai tersebut harus diketahui ukuran, jenis, dan sifatnya, karena ar-
Rahn adalah transaksi atau harta sehingga disyaratkan hal ini.
3. Syarat yang berhubungan dengan al-Marhun bih (utang) adalah utang yang wajib
atau yang akhirnya menjadi wajib.

2.2. Algoritma
2.2.1. Definisi Algoritma
Dalam matematika dan ilmu komputer, sebuah algoritma adalah prosedur langkah-
demi-langkah untuk perhitungan. Algoritma yang digunakan untuk perhitungan,
pengolahan data, dan penalaran otomatis.
Lebih tepatnya, sebuah algoritma merupakan metode yang efektif dinyatakan sebagai
daftar terbatas yang didefinisikan dengan baik petunjuk untuk menghitung fungsi Mulai
dari keadaan awal dan masukan awal (mungkin kosong)., yang instruksi menggambarkan
perhitungan yang, ketika dijalankan, akan dilanjutkan melalui sejumlah terbatas yang
terdefinisi dengan baik negara berturut-turut, akhirnya menghasilkan "output" dan berakhir
pada keadaan akhir akhir. Transisi dari satu negara ke yang berikutnya tidak harus
deterministik, beberapa algoritma, yang dikenal sebagai algoritma acak, menggabungkan
input acak.
Meskipun algorism al-Khwarizmi disebut hanya aturan melakukan aritmatika
menggunakan Hindu-angka Arab, formalisasi parsial dari apa yang akan menjadi algoritma
modern mulai dengan upaya untuk memecahkan Entscheidungs problem ("keputusan
masalah") yang diajukan oleh David Hilbert pada tahun 1928. Formalizations berikutnya
dibingkai sebagai upaya untuk mendefinisikan "calculability yang efektif" atau "metode
yang efektif", yang formalizations termasuk Gdel-Herbrand-Kleene fungsi rekursif dari
tahun 1930, 1934 dan 1935, Alonzo Gereja lambda kalkulus 1936, Emil Post "Formulasi 1"
tahun 1936, dan Alan Turing Turing mesin dari 1.936-7 dan 1939. Memberikan definisi
formal dari algoritma, sesuai dengan gagasan intuitif, tetap menjadi masalah yang
menantang.

10
2.2.2. Sejarah Algoritma
Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al
Khawrizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya
dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata
algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan
persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti
tertulis pada judul di atas).
Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua
prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu
permasalahan. Masalah timbul pada saat akan menuangkan bagaimana proses yang harus
dilalui dalam suatu/sebuah sistem (program) bagi komputer sehingga pada saat
eksekusinya, komputer dapat bekerja seperti yang diharapkan. Programer komputer akan
lebih nyaman menuangkan prosedur komputasinya atau urutan langkah proses dengan
terlebih dahulu membuat gambaran (diagram alur) diatas kertas.

2.3. Flow Chart


2.3.1. Definisi Flow Chart
Diagram alur atau biasa disebut dengan Flow Chart adalah jenis diagram yang
merepresentasikan suatu algoritma atau proses, menunjukkan langkah-langkah sebagai
kotak dari berbagai jenis, dan ketertiban mereka dengan menghubungkan mereka dengan
panah. Ini representasi diagram dapat memberikan solusi langkah-demi-langkah untuk
masalah yang diberikan. Proses operasi diwakili dalam kotak, dan panah menghubungkan
mereka mewakili aliran kontrol. Data arus biasanya tidak diwakili dalam diagram alur,
berbeda dengan diagram aliran data, melainkan, mereka tersirat oleh urutan operasi.
Flowchart digunakan dalam menganalisis, merancang, mendokumentasikan atau mengelola
suatu proses atau program di berbagai bidang.Mogensen mulai orang pelatihan bisnis dalam
penggunaan beberapa alat teknik industri pada Konferensi Kerja Penyederhanaan di Lake
Placid, New York.

11
Flowchart digunakan dalam merancang dan mendokumentasikan proses yang
kompleks atau program. Seperti jenis lain diagram, mereka membantu memvisualisasikan
apa yang terjadi dan dengan demikian membantu pengunjung untuk memahami proses, dan
mungkin juga menemukan kelemahan, kemacetan, dan lain yang kurang jelas-fitur di
dalamnya. Ada berbagai jenis diagram alur, dan jenis masing-masing memiliki repertoar
sendiri kotak dan konvensi penulisan. Dua jenis yang paling umum dari kotak di Flowchart
adalah:
Langkah pengolahan, biasanya disebut aktivitas, dan dilambangkan sebagai kotak
persegi panjang
Keputusan, biasanya dilambangkan sebagai berlian.

Sebuah Flowchart digambarkan sebagai "lintas-fungsional" saat halaman dibagi


menjadi swimlanes yang berbeda menggambarkan kontrol dari unit organisasi yang
berbeda. Sebuah simbol muncul dalam "jalur" khusus berada dalam kontrol dari unit
organisasi. Teknik ini memungkinkan penulis untuk mencari tanggung jawab untuk
melakukan tindakan atau membuat keputusan dengan benar, menunjukkan tanggung jawab
masing-masing unit organisasi untuk bagian yang berbeda dari sebuah proses tunggal.
Flowchart menggambarkan aspek-aspek tertentu dari proses dan mereka biasanya
dilengkapi dengan jenis lain dari diagram. Misalnya, Kaoru Ishikawa mendefinisikan
Flowchart sebagai salah satu dari tujuh alat dasar kontrol kualitas, di samping histogram,
Pareto chart, periksa lembar, peta kendali, sebab-akibat diagram, dan diagram pencar.
Demikian pula, di UML, notasi-konsep pemodelan standar yang digunakan dalam
pengembangan perangkat lunak, diagram aktivitas, yang merupakan jenis Flowchart,
hanyalah salah satu dari banyak jenis diagram yang berbeda. Nassi-Shneiderman diagram
merupakan notasi alternatif untuk aliran proses. Nama lain yang umum termasuk:
Flowchart, Flowchart proses, Flowchart fungsional, peta proses, diagram proses, diagram
proses fungsional, model bisnis proses, model proses, diagram alir proses, diagram alur
kerja, diagram alir bisnis. Istilah "Flowchart" dan "diagram alir" yang digunakan secara
bergantian.

12
2.3.2. Sejarah Flow Chart
Metode terstruktur pertama untuk mendokumentasikan aliran proses, "flow process
chart", diperkenalkan oleh Frank Gilbreth kepada anggota American Society of Mechanical
Engineers (ASME) pada tahun 1921 dalam presentasi "Process ChartsFirst Steps in
Finding the One Best Way". Alat Gilbreth dengan cepat menemukan cara mereka ke dalam
kurikulum teknik industri. Pada awal 1930-an, seorang insinyur industri, Allan H.

2.4. Bahasa Pemograman C


2.4.1. Definisi Bahasa Pemograman C
Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer.
Dibuat pada tahun 1972 oleh Dennis Ritchie untuk Sistem Operasi Unix di Bell Telephone
Laboratories.
Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun bahasa
ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai
oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat
beberepa compiler yang sangat populer telah tersedia. C secara luar biasa memengaruhi
bahasa populer lainnya, terutama C++ yang merupakan extensi dari C.

2.4.2. Sejarah Bahasa Pemograman C


Perkembangan awal C terjadi di AT & T Bell Labs antara tahun 1969 dan 1973,
menurut Ritchie, periode paling kreatif terjadi pada tahun 1972. Itu bernama "C" karena
fitur-fiturnya yang berasal dari bahasa sebelumnya yang disebut "B", yang menurut Ken
Thompson adalah versi stripped-down dari bahasa pemrograman BCPL.
Asal usul C terkait erat dengan pengembangan sistem operasi Unix, awalnya
diimplementasikan dalam bahasa assembly pada PDP-7 oleh Ritchie dan Thompson,
menggabungkan beberapa ide dari rekan-rekan. Akhirnya mereka memutuskan untuk port
sistem operasi untuk PDP-11. Ketidakmampuan B untuk mengambil keuntungan dari
beberapa fitur PDP-11 ini, terutama addressability byte, menyebabkan perkembangan dari
versi awal C.

13
2.4.3. Operator pada Bahasa Pemograman C
1. Operator Pemberi Nilai

Sebuah operator yang berfungsi untuk memberikan atau merubah nilai kepada sebuah
variabel.hanya operator yang merupakan operator pemberi nilai.

2. Operator Aritmatika
Berfungsi untuk melakukan fungsi aritmatika pada sebuah nilai.ada lima operator yang
terdapat di dalam di dalam bahasa C, yaitu operator penjumlahan,pengurangan,
perkalian,pembagian,sisa pembagian.
3. Operator Penambahan dan Pengurangan

Berfungsi untuk menambah dana mengurangi nilai dari sebuah cara bertahap.operator
penambaha(++) akan menambahkan nilai dari operand sebesar satu,operator
pengurangan(--) akan mengurangi nilai dari operand sebesar satu.
4. Operator Perbandingan

Mebandngkan nilai dari dua buah operand.apabila kedua operand tersebut di


gabungkan maka akan menhasilkan nilai benaar(true),dan apabila tidak di gabungkan
maka akan menghasilkan nilai salah (false).
5. Operator Logika

Untuk melakukan operasi terhadap nilai kebenaran (true/false) dari dua buah
operand.ada tiga buah operator logika yang terdapat di dalam bahasa C, yaitu operator
buka/negasi(not/!),dan(and / &&), dan atau (or/||).
6. Operator Kondisional

Sebuah operator yang berfungsi untuk menghasilkan suatu nilai apabila sebuah kondisi
memiliki nilai yang benar dan mengahasilkan nlai lainnya apabila kondisi tersebut
memiliki nilai yang salah
7. Operatir Bitwise

14
Operator yang berfungsi untuk melakukan operasi terhadap nilai bit dari sebuah
operan.nilai bit dari sebuah operan dapat ditentukan dengan melakukan konversi dri
tipe data operan tersebut kebilangan biner
8. Operator Gabungan

Penggabungan dari operator pemberian hasil dengan operator lain operator gabungan
dapat digunakan untuk mempersingkat penulisan sebuah ekspresi didalam bahasa C.
9. Operator Precendence

Urutan operasi sesuai dengan tingkatan prioritas operator.jadi operasi dilakukan


dengan prioritas yang lebih tinggi terlebih dahulu.

2.4.4. Percabangan dan Perulangan


1. Percabangan dengan switch

Pernyataan switch akan mengevaluasi nilai dari sebuah variabel dan mengambil aksi
tertentu beradasarkan nilai tersebut.bagian-bagian yang terdapat dari switch adalah :
switch,case dan default.
2. Pengulangan dengan for

Sebuah pengulanga yang menggunakan sebuah variabel bantuan sebagai


penghitung.dengan menggunakan pengulangan ini anda akan menentukan nilai awal
dari penghitungan,kondisi dimana pengulangan akan terus dilakukan dan perubahan
nilai penghitungan untuk stiap pengulangan.
3. Pengulangan dengan WHILE

Pengulangan while tidak menggunakan variabel penghitung,melainkan akan


melakukan evaluasi terhadap suatu kondisi.pengulangan akan terus di lakukan selama
kondisi tersebut dievaluasikan sebgai true.
4. Pengulangan dengan DO...WHILE

Pengulangan akan di lakukan sebanyak minimal satu kali.hal ini dikarenakan pada
pernyataan while kondisi akan di evaluasi terlebih dahulu sebelum aksi.

15
2.4.5. Pengertian Array
Sebuah variabel yang memiliki lebih dari satu nilai,sebuah nilai di dalam array di kenal
dengan elemn.sebuah array bahkan dapat memiliki banyak array-array sebagai sebuah
elemen di dalamnya.sebuah elemen pada sebuah array direferensikan dengan menggunakan
indeks.dan indeks di ibaratkan sebagai nomor urut dari sebuah elemen.
2.4.6. Pengertian Fungsi
Suatu bagian dari program yang di maksudkan untuk mengerjakan suatu tugas tertentu
dan letaknya di pisahkan dari bagian program yang menggunakannya.pada umumnya funfsi
memerlukan nilai masukkan atau parameter yang disebut sebagai argumen.nilai masukkan
ini akan di olah oleh funfsi.hasil akhir fungsi berupa sebuah nilai di sebut return value.

16
BAB III
ANALISA SISTEM

3.1. Flowchart Akad Rahn


3.1.1. Main

17
3.1.2. Menu Utama

18
3.1.3. Login Teller

19
3.1.4. Menu Teller

20
3.1.5. Pembayaran Tebusan

21
3.1.6. Pembayaran Cicilan

3.1.7. Login Penaksir

22
3.1.8. Menu Penaksir

23
3.1.9. Tentang Rahn

24
3.1.10. Harga Emas Hari ini

25
3.1.11. Setting harga Emas

26
27
3.1.12. Menu Rahn

28
3.1.13. Formulir Pendaftaran

29
3.1.14. Menu Keluar

30
3.2. Bahasa C Akad Rahn
3.2.1. Menu Utama

void menu_utama()
{
system("cls");
printf("\t\t
===============================================\n");
printf("\t\t === MENU UTAMA ===\n");
printf("\t\t
===============================================\n");
printf("\t\t 1. Login Teller\n");
printf("\t\t 2. Login Penaksir\n");
printf("\t\t
===============================================\n");
printf("\t\t Jawaban Anda: ");scanf("%d",&pilih);
printf("\t\t
===============================================\n\n\n");
switch(pilih)
{
case 1: login_teller();break;
case 2: login_penaksir();break;
default:
system("cls");
printf("\t\t
===============================================\n");
printf("\t\t Maaf, perintah yang Anda masukkan 'Salah'\n");
printf("\t\t Silakan masukkan nomor 1-2\n");
printf("\t\t
===============================================\n");
printf("\t\t Tekan ENTER untuk kembali");
getch();menu_utama();break;
}
}

31
3.2.2. Login teller

void login_teller()
{
do
{
system("cls");
printf("\t\t
===============================================\n");
printf("\t\t === LOGIN TELLER ===\n");
printf("\t\t
===============================================\n");
printf("\t\t Username Anda: ");fflush(stdin);gets(username);
printf("\t\t Password Anda: ");fflush(stdin);gets(password);
printf("\t\t
===============================================\n");
if((strcmp("tl", username)==0) &&
(strcmp("tl1",password)==0))
{
system("cls");
printf("\t\t
===============================================\n");
printf("\t\t LOGIN SUKSES
\n");
printf("\t\t
===============================================\n");
printf("\t\t Tekan 'ENTER' untuk
melanjutkan");
getche();menu_teller();
}

else
{
system("cls");
printf("\t\t
===============================================\n");
printf("\t\t === LOGIN GAGAL! ===\n");
printf("\t\t === <Tekan ENTER untuk Mengulang> ===\n");
printf("\t\t ===============================================");
getche();ul = 1;}}while(ul==1);
}

32
3.2.3. Menu Teller

void menu_teller()
{do{
system("cls");
printf("\t\t
===============================================\n");
printf("\t\t === MENU TELLER ===\n");
printf("\t\t
===============================================\n");
printf("\t\t 1. Pembayaran Tebusan\n");
printf("\t\t 2. Pembayaran Cicilan\n");
printf("\t\t 3. Logout Teller\n");
printf("\t\t
===============================================\n");
printf("\t\t Jawaban Anda: ");
scanf("%d",&pilih);
if(pilih == 1){pembayaran_tebusan();}
if(pilih == 2){pembayaran_cicilan();}
if(pilih == 3)
{
system("cls");
printf("\t\t
===============================================\n");
printf("\t\t LOGOUT SUKSES \n");
printf("\t\t
===============================================\n");
printf("\t\t Tekan 'ENTER' untuk melanjutkan");
getch();menu_utama();}
else
{
system("cls");
printf("\t\t
===============================================\n");
printf("\t\t Maaf, perintah yang Anda masukkan 'Salah'\n");
printf("\t\t Silakan masukkan nomor 1-3\n");
printf("\t\t
===============================================\n");
printf("\t\t Tekan ENTER untuk kembali");
getche();
}
}while(pilih > 3);
}

33
3.2.4. Pembayaran Tebusan

void pembayaran_tebusan()
{
system("cls");
printf("\t\t
===============================================\n");
printf("\t\t === PEMBAYARAN TEBUSAN ===\n");
printf("\t\t
===============================================\n");
printf("\t\t Masukkan No.Pendaftaran:
");scanf("%d",&input_pendaftaran);
if(pendaftaran_awal == input_pendaftaran)
{
printf("\t\t
===============================================\n");
printf("\t\t Masukkan Hari : ");scanf("%d",&hari);
if(hari %10 == 0)
{
printf("\t\t Masukkan Pinjaman :
");scanf("%d",&pinjaman);
printf("\t\t Masukkan Tebusan :
");scanf("%d",&tebusan1);
printf("\t\t Masukkan Taksiran :
Rp.");scanf("%d",&taksiran);
printf("\t\t Masukkan Tarif Ijaroh :
");scanf("%d",&tarif);
printf("\t\t Masukkan Administrasi :
");scanf("%d",&administrasi);
printf("\n\t\t Ijaroh :
Rp.%d",taksiran/10000*tarif);
printf("\n\t\t
===============================================\n");
printf("\t\t
===============================================\n");
printf("\t\t Masukkan pembulatan Ijaroh :
");scanf("%d",&ijaroh);
printf("\t\t Hitungan Hari Ke : %d",hari/10);
printf("\n\t\t
===============================================\n");
printf("\t\t
===============================================\n");

34
printf("\t\t
===============================================\n");
printf("\t\t Masukkan Hasil Hitungan Hari:
");scanf("%d",&hitungan_hari);
printf("\t\t Kelipatan Ijaroh :
%d",ijaroh*hitungan_hari);
printf("\n\t\t
===============================================\n");
printf("\t\t Masukkan Kelipatan Ijaroh :
");scanf("%d",&ijaroh);
printf("\t\t Jumlah Pembayaran :
Rp.%d",tebusan1+administrasi+ijaroh);
printf("\n\t\t
===============================================\n");
printf("\t\t
===============================================\n");
printf("\t\t Perhitungan Selesai, silakan tekan
'ENTER'");
}getche();menu_teller();
}
else
{
menu_teller();
}
}

3.2.5. Pembayaran Cicilan

void pembayaran_cicilan()
{
system("cls");
printf("\t\t
===============================================\n");
printf("\t\t === PEMBAYARAN CICILAN ===\n");
printf("\t\t
===============================================\n");
printf("\t\t
===============================================\n");
printf("\t\t 1.Pembayaran Pertama\n");
printf("\t\t 2.Pembayaran Selanjutnya\n");
printf("\t\t
===============================================\n");
printf("\t\t Jawaban: ");scanf("%d",&pilih_bayar);

35
printf("\t\t
===============================================\n");
if(pilih_bayar == 1)
{
system("cls");
printf("\t\t Masukkan No.Pendaftaran:
");scanf("%d",&input_pendaftaran);
if(pendaftaran_awal == input_pendaftaran)
{
printf("\t\t
===============================================\n");
printf("\t\t Masukkan Nominal Pembayaran: ");scanf("%d",&bayar);
printf("\t\t Masukkan Pinjaman : ");scanf("%d",&pinjaman);
printf("\t\t Masukkan Taksiran : ");scanf("%d",&taksiran);
printf("\t\t Tarif Ijaroh : ");scanf("%d",&tarif_ijaroh);
printf("\t\t Administrasi : ");scanf("%d",&administrasi);
printf("\t\t
===============================================\n");
printf("\t\t Ijaroh : Rp.%d",taksiran/10000*tarif_ijaroh);
printf("\n\t\t
===============================================\n");
printf("\t\t
===============================================\n");
printf("\t\t Masukkan pembulatan Ijaroh : ");scanf("%d",&ijaroh);
printf("\t\t
===============================================\n");
printf("\t\t Pembayaran :
Rp.%d",bayar+ijaroh+administrasi);
printf("\n\t\t Sisa Pinjaman : Rp.%d",pinjaman-bayar);
printf("\n\t\t
===============================================\n");
printf("\t\t Perhitungan Selesai, silakan tekan 'ENTER'");
getche();menu_teller();
}
else
{
pembayaran_cicilan();
}
}
if(pilih_bayar == 2)
{
system("cls");
printf("\t\t Masukkan No.Pendaftaran:
");scanf("%d",&input_pendaftaran);
if(pendaftaran_awal == input_pendaftaran)

36
{
printf("\t\t
===============================================\n");
printf("\t\t Masukkan Nominal Pembayaran: ");scanf("%d",&bayar);
printf("\t\t Masukkan Sisa Pinjaman : ");scanf("%d",&hutang);
printf("\t\t Tarif Ijaroh : ");scanf("%d",&tarif_ijaroh);
printf("\t\t Administrasi : ");scanf("%d",&administrasi);
printf("\t\t
===============================================\n");
printf("\t\t Ijaroh : Rp.%d",hutang/10000*tarif_ijaroh);
printf("\n\t\t
===============================================\n");
printf("\t\t
===============================================\n");
printf("\t\t Masukkan pembulatan Ijaroh : ");scanf("%d",&ijaroh);
printf("\t\t
===============================================\n");
printf("\t\t Pembayaran :
Rp.%d\n",bayar+ijaroh+administrasi);
printf("\t\t Sisa Pinjaman : Rp.%d",hutang-bayar);
printf("\n\t\t
===============================================\n");
printf("\t\t Perhitungan Selesai, silakan tekan 'ENTER'");
getche();menu_teller();
}
else
{
pembayaran_cicilan();
}
}
else
{
pembayaran_cicilan();
}
}

37
3.2.6. Login Penaksir

void login_penaksir()
{
do
{
system("cls");
printf("\t\t
===============================================\n");
printf("\t\t === LOGIN PENAKSIR ===\n");
printf("\t\t
===============================================\n");
printf("\t\t Username Anda: ");fflush(stdin);gets(username);
printf("\t\t Password Anda: ");fflush(stdin);gets(password);
printf("\t\t
===============================================\n");
if((strcmp("lp", username)==0) &&
(strcmp("lp1",password)==0))
{
system("cls");
printf("\t\t
===============================================\n");
printf("\t\t LOGIN SUKSES
\n");
printf("\t\t
===============================================\n");
printf("\t\t Tekan 'ENTER' untuk
melanjutkan");
getche();menu_penaksir();
}

else
{
system("cls");
printf("\t\t
===============================================\n");
printf("\t\t === LOGIN GAGAL! ===\n");
printf("\t\t === <Tekan ENTER untuk Mengulang> ===\n");
printf("\t\t ===============================================");

38
getche();ul = 1;}
}while(ul==1);
}

3.2.7. Menu Penaksir

void menu_penaksir()
{
system("cls");
printf("\t\t
===============================================\n");
printf("\t\t === MENU PENAKSIR ===\n");
printf("\t\t ==============================================\n");
printf("\t\t 1. Tentang Rahn\n");
printf("\t\t 2. Harga Emas Hari ini\n");
printf("\t\t 3. Atur Harga Emas \n");
printf("\t\t 4. Menu Rahn \n");
printf("\t\t 5. Logout Penaksir\n");
printf("\t\t 6. Keluar\n");
printf("\t\t ==============================================\n");
printf("\t\t Jawaban Anda: ");
scanf("%d",&pilih);
if(pilih == 1){tentang_rahn();}
else if(pilih == 2){harga_emas();}
else if(pilih == 3){setting_harga_emas();}
else if(pilih == 4){menu_rahn();}
else if(pilih == 5)
{
system("cls");
printf("\t\t ==============================================\n");
printf("\t\t LOGOUT SUKSES \n");
printf("\t\t ==============================================\n");
printf("\t\t Tekan 'ENTER' untuk melanjutkan");
getch();menu_utama();
}
else if(pilih == 6){menu_keluar();}
else{
system("cls");
printf("\t\t ==============================================\n");
printf("\t\t Maaf, perintah yang Anda masukkan 'Salah'\n");
printf("\t\t Silakan masukkan nomor 1-6\n");
printf("\t\t ==============================================\n");
printf("\t\t Tekan ENTER untuk kembali");

39
getch(); menu_penaksir();}
}

3.2.8. Tentang Rahn

void tentang_rahn()
{
system("cls");
printf("\t\t ==============================================\n");
printf("\t\t === TENTANG RAHN ===\n");
printf("\t\t ==============================================\n");
printf("\t\t 1. Pengertian Rahn\n");
printf("\t\t 2. Rukun dan Syarat Akad Rahn\n");
printf("\t\t 3. Kembali ke Menu Penaksir\n");
printf("\t\t ==============================================\n");
printf("\t\t Jawaban Anda: ");
scanf("%d",&pilih);
if (pilih == 1)
{
system("cls");

printf("\t====================================================
=============\n");
printf("\t========= PENGERTIAN RAHN
=========\n");

printf("\t====================================================
=============\n");
printf("\t Menurut bahasa, rahn berarti tetap, kekal dan
berkesinambungan.\n");
printf("\tRahn juga bermakna al-habsu yang berarti menahan atau
jaminan.\n");
printf("\tAkad rahn dalam istilah terminologi positif disebut dengan
barang\n");
printf("\tjaminan, agunan dan runggahan. Dalam islam rahn
merupakan sarana \n");
printf("\tsaling tolong-menolong bagi umat Islam, tanpa adanya
imbalan.\n\n");
printf("\tSecara terminologi ada beberapa defenisi rahn yang
dikemukakan\n");
printf("\toleh ulama fiqh :\n\n");

40
printf("\t1. Ulama Malikiyah mendefenisikannya dengan:\n");
printf("\t Harta yang dijadikan pemiliknya sebagai jaminan utang
yang \n");
printf("\t bersifat mengikat.\n");
printf("\t Menurut mereka, yang dijadikan barang jaminan bukan
hanya \n");
printf("\t harta yang bersifat materi,\n");
printf("\t tetapi juga bersifat manfaat tertentu.\n\n");
printf("\t2. Ulama Hanafiyah mendefenisikannya dengan menjadikan
sesuatu \n");
printf("\t (barang) sebagai jaminan terhadap hak (piutang) yang
mungkin \n");
printf("\t dijadikan sebagai pembayar hak (piutang) itu, baik
seluruhnya \n");
printf("\t maupun sebagian dari barang tersebut.\n\n");

printf("\t====================================================
=============\n");
printf("\t=== Tekan ENTER untuk kembali ke Menu sebelumnya
===");
getche();tentang_rahn();
}
else if (pilih == 2)
{
system("cls");

printf("\t====================================================
=============\n");
printf("\t========= RUKUN DAN SYARAT RAHN
=========\n");

printf("\t====================================================
=============\n");
printf("\tRukun Akad Rahn Adalah : \n");
printf("\t a). Syarat Marhun Bih (hutang).\n");
printf("\t b). Objek yang digadaikan (marhun).\n");
printf("\t c). Hutang (marhun bih).\n");
printf("\t d). Ijab qabul (sighat).\n");

printf("\t====================================================
=============\n");
printf("\tSyarat Akad Rahn Adalah : \n");
printf("\t a). Syarat Marhun Bih (hutang).\n");
printf("\t b). Sighat ( ijab dan qabul).\n");
printf("\t c). Syarat yang terkait dengan orang yang berakal.\n");

41
printf("\t====================================================
=============\n");
printf("\t=== Tekan ENTER untuk kembali ke Menu sebelumnya
===");
getche();tentang_rahn();
}
if(pilih == 3)
{
menu_penaksir();
}
else{system("cls");
printf("\t\t ==============================================\n");
printf("\t\t Maaf, perintah yang Anda masukkan 'Salah'\n");
printf("\t\t Silakan masukkan nomor 1-3\n");
printf("\t\t ==============================================\n");
printf("\t\t Tekan ENTER untuk kembali");getche();tentang_rahn();
}
}

3.2.9. Harga Emas

void harga_emas()
{
system("cls");
printf("\t\t ==============================================\n");
printf("\t\t === HARGA EMAS HARI INI ===\n");
printf("\t\t ==============================================\n");
printf("\t\t || Price/Gram (Rp) ||\n");
printf("\t\t ==============================================\n");
printf("\t\t Rp.%d \n",ganti_harga_emas);
printf("\t\t ==============================================\n");
printf("\t\t Masukkan 1 untuk kembali ke menu sebelumnya\n");
printf("\t\t ==============================================\n");
printf("\t\t Jawaban Anda: ");
scanf("%d",&pilih);
switch(pilih)
{case 1: menu_penaksir();break;default: system("cls");
printf("\t\t =========================================\n");
printf("\t\t Maaf, perintah yang Anda masukkan 'Salah'\n");
printf("\t\t Silakan masukkan nomor 1 \n");
printf("\t\t =========================================\n");
printf("\t\t Tekan ENTER untuk kembali");

42
getch(); harga_emas();break;
}
}
3.2.10. Menu Rahn

void menu_rahn()
{
system("cls");
printf("\t\t ==============================================\n");
printf("\t\t === RAHN ===\n");
printf("\t\t ==============================================\n");
printf("\t\t 1. Pendaftaran Akad\n");
printf("\t\t 2. Penaksiran Emas\n");
printf("\t\t 3. Peminjaman\n");
printf("\t\t 4. Menu Penaksir\n");
printf("\t\t 5. Logout Penaksir\n");
printf("\t\t ==============================================\n");
printf("\t\t Jawaban Anda: ");scanf("%d",&pilih);system("cls");
if(pilih == 1)
{
formulir_pendaftaran();
}
else if(pilih == 2)
{
system("cls");
printf("\t\t ====================================\n");
printf("\t\t === PENAKSIRAN EMAS ===\n");
printf("\t\t ====================================\n");
printf("\t\t Masukkan No.Pendaftaran:
");scanf("%d",&input_pendaftaran);
if(pendaftaran_awal == input_pendaftaran)
{
printf("\n\t\t Masukkan Berat Emas :
");scanf("%d",&berat_emas);
printf("\t\t Masukkan Harga Emas Hari ini :
Rp.%d",ganti_harga_emas);
printf("\n\t\t Masukkan Kadar Emas (70%/75%/86%/92%) :
");scanf("%d",&kadar_emas);
printf("\t\t ====================================\n");
printf("\t\t Hasil Taksiran : Rp.%d \n",
berat_emas*ganti_harga_emas*kadar_emas/100,&hasil);
printf("\t\t ====================================\n");
printf("\t\t Tekan ENTER untuk kembali");

43
getche();menu_rahn();
}
else
{menu_rahn();}

}else if(pilih == 3){hitung_peminjaman();}


if(pilih == 4){menu_penaksir();}
if(pilih == 5)
{
system("cls");
printf("\t\t
===============================================\n");
printf("\t\t LOGOUT SUKSES \n");
printf("\t\t
===============================================\n");
printf("\t\t Tekan 'ENTER' untuk melanjutkan");
getch(); menu_utama();
}
else{system("cls");
printf("\t\t ===============================================\n");
printf("\t\t Maaf, perintah yang Anda masukkan 'Salah'\n");
printf("\t\t Silakan masukkan nomor 1-5\n");
printf("\t\t ===============================================\n");
printf("\t\t Tekan ENTER untuk kembali");getch(); menu_rahn();}
}

3.2.11. Hitung Peminjaman

void hitung_peminjaman()
{
system("cls");
printf("\t\t ==============================================\n");
printf("\t\t === PEMINJAMAN ===\n");
printf("\t\t ==============================================\n");
printf("\t\t Masukkan No.Pendaftaran: ");scanf("%d",&input_pendaftaran);
if(pendaftaran_awal == input_pendaftaran)
{
printf("\n\t\t Masukkan Hasil Taksiran :
");scanf("%d",&taksiran);
printf("\t\t Masukkan Plafon (92/93/95) : ");scanf("%d",&plafon);
printf("\t\t Peminjaman : Rp.%d",
(taksiran/100)*plafon);
printf("\n\t\t ========================================\n");

44
printf("\t\t Tekan ENTER untuk kembali");
getche();menu_rahn();
}
else
{menu_rahn();}
}

3.2.12. Formulir Pendaftaran

void formulir_pendaftaran()
{
do
{
system("cls");
printf("\n\n\n\t\t\t Silakan daftarkan Penggadai
baru\n\n");sleep(100);

strcpy(tanggal_pendaftaran[x],"");
strcpy(nama_penggadai[x],"");
strcpy(kartu_identitas[x],"");
strcpy(nomor_kartu_identitas[x],"");
strcpy(jenis_kelamin[x],"");
strcpy(agama[x],"");
strcpy(alamat[x],"");
strcpy(nomor_telepon[x],"");
strcpy(pekerjaan[x],"");
strcpy(status[x],"");
strcpy(nama_ibu_kandung[x],"");
do {printf("\tNama : ");fflush (stdin);gets
(nama_penggadai[x]);} while (strcmp (nama_penggadai[b],"")==0);
do {printf("\tKartu Identitas (KTP/SIM) : ");fflush
(stdin);gets (kartu_identitas[x]);} while((strcmp(kartu_identitas[b],"KTP")!=0) &&
(strcmp(kartu_identitas[b],"SIM")!=0));
do {printf("\tNomor Kartu Identitas : ");fflush (stdin);gets
(nomor_kartu_identitas[x]);} while (strcmp (nomor_kartu_identitas[b],"")==0);
do {printf("\tJenis Kelamin (L/P) : ");fflush (stdin);gets
(jenis_kelamin[x]);} while
(((strcmp(jenis_kelamin[b],"l")!=0)&&(strcmp(jenis_kelamin[b],"L")!=0))&&((strc
mp(jenis_kelamin[b],"p")!=0)&&(strcmp(jenis_kelamin[b],"P")!=0)));
do {printf("\tAgama : ");fflush (stdin);gets
(agama[x]);} while (((strcmp(agama[b],"Islam")!=0) &&
(strcmp(agama[b],"Kristen")!=0) && (strcmp(agama[b],"Hindu")!=0) &&
(strcmp(agama[b],"Budha")!=0)));

45
do {printf("\tAlamat : ");fflush (stdin);gets
(alamat[x]);} while (strcmp (alamat[b],"")==0);
do {printf("\tNomor Telepon : ");fflush (stdin);gets
(nomor_telepon[x]);} while (strcmp (nomor_telepon[b],"")==0);
do {printf("\tPekerjaan : ");fflush (stdin);gets
(pekerjaan[x]);} while (strcmp (pekerjaan[b],"")==0);
do {printf("\tStatus (Menikah/Lajang) : ");fflush (stdin);gets
(status[x]);} while ((strcmp(status[b],"Menikah")!=0) &&
(strcmp(status[b],"Lajang")!=0));
do {printf("\tNama Ibu Kandung : ");fflush (stdin);gets
(nama_ibu_kandung[x]);} while (strcmp (nama_ibu_kandung[b],"")==0);
time_t tanggal=time(NULL);
strcpy(tanggal_pendaftaran[x],ctime(&tanggal));
system("cls");
printf("\n Nama : %s\n", nama_penggadai[x]);
printf(" Kartu Identitas (KTP/SIM) : %s\n",
kartu_identitas[x]);
printf(" Nomor Kartu Identitas : %s\n",
nomor_kartu_identitas[x]);
printf(" Jenis Kelamin (L/P) : %s\n", jenis_kelamin[x]);
printf(" Agama : %s\n", agama[x]);
printf(" Alamat : %s\n", alamat[x]);
printf(" Nomor Telepon : %s\n", nomor_telepon[x]);
printf(" Pekerjaan : %s\n", pekerjaan[x]);
printf(" Status (Menikah/Lajang) : %s\n", status[x]);
printf(" Nama Ibu Kandung : %s\n",
nama_ibu_kandung[x]);
printf(" Tanggal registrasi : %s\n",
tanggal_pendaftaran[x]); pendaftaran[x] = pendaftaran_awal + x;
printf(" Nomor Pendaftaran : %d\n", pendaftaran[x]);
x++;

do
{
printf("\n Apakah data sudah benar? (Y/T)");
fflush(stdin);jawaban = getchar();
jawaban1 = ((jawaban == 'Y') || (jawaban == 'y') ||
(jawaban =='T') || (jawaban == 't'));
if(!jawaban1)
{system("cls");
printf("\t\t ==============================================\n");
printf("\t\t Maaf,Pilihan yang anda masukkan tidak ada. \n");
printf("\t\t ==============================================\n");
printf("\t\t Hanya ada pilihan Y atau T ");}} while(!jawaban1);

46
}while((jawaban == 't')||(jawaban == 'T'));menu_rahn();
}
3.2.13. Setting Harga Emas

void setting_harga_emas()
{
system("cls");
printf("\t================================================\n");
printf("\t=== SETTING HARGA EMAS ===\n");
printf("\t================================================\n");
printf("\t Harga Harga Emas Per Gram adalah Rp.
%d\n",ganti_harga_emas);
printf("\t================================================\n");
printf("\tSilahkan masukan Harga Emas baru Per-Gram :
");scanf("%d",&ganti_harga_emas);
system("cls");
printf("\t================================================\n");
printf("\t=== SETTING HARGA EMAS ===\n");
printf("\t================================================\n");
printf("\t Harga Harga Emas Per-Gram sudah diganti menjadi Rp. %d
\n",ganti_harga_emas);
printf("\t================================================\n");

printf("\t Silakan tekan ENTER untuk KEMBALI


");getche();menu_penaksir();
}

3.2.14. Menu Keluar


void menu_keluar()
{
system("cls");
printf("\t\t ==============================================\n");
printf("\t\t === MENU KELUAR ===\n");
printf("\t\t ==============================================\n");
printf("\t\t Apakah Anda ingin Keluar dari Aplikasi? \n");
printf("\t\t Y atau T \n");
printf("\t\t ==============================================\n");
printf("\t\t Jawaban Anda: ");scanf("%s",&keluar1);
if((keluar1 == 'Y')||(keluar1 == 'y')){keluar();}
else if((keluar1 == 'T')||(keluar1 == 't'))
{
system("cls");

47
printf("\t\t ==============================================\n");
printf("\t\t PILIH LOGIN \n");
printf("\t\t ==============================================\n");
printf("\t\t 1.Login Teller\n");
printf("\t\t 2.Login Penaksir\n");
printf("\t\t ==============================================\n");
printf("\t\t Jawaban Anda: ");scanf("%d",&pilih);
switch(pilih)
{
case 1:login_teller();break;
case 2:login_penaksir();break;
default:
system("cls");
printf("\t\t ==============================================\n");
printf("\t\t Maaf, perintah yang Anda masukkan
'Salah'\n");
printf("\t\t Silakan masukkan nomor 1-2\n");
printf("\t\t ==============================================\n");
printf("\t\t Tekan ENTER untuk kembali");
getch();menu_keluar();break;
}
}
}

3.2.15. Keluar

void keluar()
{system("cls");printf("\n\n\t\t\t\t
T");sleep(150);printf("E");sleep(150);printf("R");sleep(150);printf("I");sleep(150);p
rintf("M");sleep(150);printf("A ");sleep(150);
printf("K");sleep(150);printf("A");sleep(150);printf("S");sleep(150);printf("I");sleep
(150);printf("H\n\n");sleep(150);}

48
3.3. Screenshot Tampilan
3.3.1. Menu Utama

Gambar 3.1 Menu Utama


Gambar di atas menampilkan tampilan awal program Akad Rahn yang dimana di dalamnya
terdapat menu login teller dan penaksir

3.3.2. Menu Penaksir

Gambar 3.2 Menu Penaksir

Gambar di atas menampilkan tampilan menu penaksir yang terdiri dari Tentang Rahn,
harga Emas, Atur harga emas dan menu Rahn.

49
3.3.3. Menu Rahn

Gambar 3.3 Menu Rahn

Gambar di atas menampilkan tampilan Menu Rahn yang terdiri dari pendaftaran,
penaksiran emas, peminjaman dan pencarian Pengggadai.

3.3.4. Pendaftaran Penggadai

Gambar 3.4 Pendaftaran Penggadai

Gambar diatas menampilkan tentang proses penginputan data Penggadai atau pendaftaran
awal penggadai.

50
3.3.5. Penaksiran Emas

Gambar 3.5 Penaksiran Emas

Gambar di atas menampilkan tentang cara menghitung penaksiran emas pada aplikasi Akad
Rahn.

3.3.6. Peminjaman

Gambar 3.6 Pinjaman

Gambar di atas menampilkan tentang cara menghitung pinjaman pada aplikasi Akad Rahn.

51
3.3.7. Menu Teller

Gambar 3.7 Menu Teller

Gambar di atas menampilkan tampilan menu teller yang terdiri dari pembayaran tebusan
dan pembayaran cicilan.

3.3.8. Pembayaran Tebusan

Gambar 3.8 Pembayaran Tebusan

Gambar di atas menampilkan tentang cara penghitungan pembayaran tebusan pada aplikasi
Akad Rahn.

52
3.3.9. Pembayaran Cicilan Pertama

Gambar 3.9 Pembayaran Cicilan Pertama

Gambar di atas menampilkan tentang cara penghitungan cicilan pertama pada aplikasi
Akad Rahn.

3.3.10. Pembayaran Cicilan Selanjutnya

Gambar 3.10 Pembayaran Cicilan Selanjutnya

Gambar di atas menampilkan tentang cara penghitungan cicilan selanjutnya pada aplikasi
Akad Rahn.

53
BAB IV
PENUTUP

4.1. Kesimpulan
Akad Rahn Rahn adalah tetap, kekal, dan jaminan. Didalam ilmu fiqih, gadai biasa
disebut dengan Rahn. Menurut beberapa mazhab, Rahn berarti: perjanjian penyerahan harta
yang dijadikan pemiliknya sebagai cerminan hutang yang nantinya dapat dijadikan sebagai
pembayar hak piutang tersebut, baik seluruhnya maupun sebagian.
Terdapat 2 (dua) jenis akad Rahn yang umumnya dikenal di dalam khazanah Islam
yaitu: Rahn hiyzi dan Rahn takmny atau Rahn rasmy. Untuk Rahn jenis kedua lebih
familiar disebut dengan Rahn tashjly. Rahn hiyzi adalah akad penyerahan atas hak
kepemilikan barang dalam penguasaan pemberi utang, artinya, posisi Marhun dalam Rahn
hiyzi berada di tangan pemberi utang, sedangkan Rahn takmny atau Rahn rasmy adalah
akad (Rahn) atas barang bergerak dimana pemberi hutang hanya menguasai hak
kepemilikan sedangkan fisik barang masih berada dalam penguasaan rhin sebagai
penerima hutang. Dengan Bahasa C kita dapat mempermudah dalam melakukan transaksi
Akad Rahn sehingga diharapkan software tersebut berjalan dengan baik dan maksimal.

4.2. Saran
Program Bahasa C yang kami buat ini diharapkan dapat membantu proses transaksi
Akad Rahn. Sehingga kami dapat mengharapkan kegiatan tersebut berjalan dengan lancar.
Aplikasi ini akan berjalan dengan baik apabila SDM yang mempergunakannya dengan baik
dan benar sesuai peraturan Akad Rahn.

54
DAFTAR PUSTAKA

Unsri.Analisa Algoritma.
http://www.unsri.ac.id/upload/arsip/ANALISIS%20ALGORITMA.pdf
(diakses tanggal 25 September 2012).
Wikipedia.Flowchart.
http://en.wikipedia.org/wiki/Flowchart (diakses tanggal 25 September 2012).
Wikipedia.Algoritma.
http://id.wikipedia.org/wiki/Algoritma (diakses tanggal 25 September 2012).
Scribd.Pengertian Rahn.
http://id.scribd.com/doc/19285078/PENGERTIAN-RAHN
(diakses tanggal 26 September 2012)
Ikhsan, Muhammad. Logika dan Algoritma.
http://www.academia.edu/1178544/Logika_Dan_Algoritma
(diakses 8 Desember 2012)
Wikipedia.Bahasa Pemrograman.
http://id.wikipedia.org/wiki/C_%28bahasa_pemrograman%29
(diakses 8 Desember 2012)

55

Anda mungkin juga menyukai