Anda di halaman 1dari 17

1

KATA PENGANTAR
Tim Penulis mengucapkan puji syukur atas ke hadirat Allah SWT yang telah memberikan
rahmat-Nya berupa petunjuk dan kesehatan kepada tim penulis, sehingga dapat menyelesaikan
laporan yang berjudul Program Peminjaman Buku Perpustakaan dengan baik.
Maksud dan tujuan penulisan laporan ini adalah untuk memenuhi Nilai Tugas Akhir Mata
Kuliah Bidang Keahlian Algoritma dan Pemrograman. Selain itu, laporan ini diharapkan dapat
menambah wawasan mahasiswa mengenai algoritma dan pemrograman serta dapat
menerapkannya dalam kehidupan sehari-hari.
Selama penyusunan laporan ini, banyak suka dan duka yang tim penulis alami. Mulai dari
pengumpulan bahan, proses penyusunan, sampai proses penyuntingan. Namun, berkat doa dan
ketekunan, tim penulis dapat menyelesaikan tugas ini dengan baik dan tepat waktu.
Tidak lupa tim penulis mengucapkan terima kasih kepada seluruh pihak yang turut
membantu penyelesaian laporan ini, diantaranya orang tua tim penulis, Bapak Hamidillah Ajie
selaku dosen pengajar Mata Kuliah Bidang Keahlian Algoritma dan Pemrograman, teman-teman
PTIK 2013, serta seluruh pihak yang tak dapat disebutkan satu-persatu.
Tim Penulis menyadari bahwa laporan ini sarat akan kekurangan dan masih jauh dari kata
sempurna. Maka dari itu, mohon maaf yang sebesar-besarnya atas kesalahan dan kekurangan tim
penulis.
Akhir kata, Tim Penulis ucapkan terimakasih kepada seluruh pembaca. Semoga para
pembaca dapat memetik manfaat dari laporan ini. Harapan tim penulis, semoga pembaca dapat
menambah wawasannya melalui laporan ini.
Jakarta, Juni 2014

Kelompok 8 NR


2

BAB I
DESKRIPSI FUNGSI DAN PROGRAM
1.1. Deskripsi Umum Program
Program ini adalah berisikan mengenai sebuah simulasi kecil peminjaman buku di
perpustakaan. Sebuah perpustakaan adalah sebuah tempat dimana terdapat banyak arsip
dan dokumen dalam bentuk buku yang dapat dipinjam oleh khalayak umum dengan syarat
dan ketentuan tertentu.
Tim Penulis mengambil tema perpustakaan dengan judul Perpustakaan Digital
karena di dalamnya terdapat elemen input-output yang dapat disimulasikan dalam sebuah
program sederhana. Selain itu perpustakaan memiliki manfaat yang besar bagi banyak
orang terutama dalam bidang pendidikan dan IPTEK.
Dalam program terdapat beberapa fitur untuk menginput serta output yang
dihasilkan layaknya sebuah perpustakaan. Input utama yang harus ada di dalam program ini
adalah :
1. Jumlah Buku yang akan Dipinjam
2. Kode Buku yang akan Dipinjam
3. Tanggal Peminjaman Buku
4. Data Buku yang akan Dikembalikan
5. Tanggal Pengembalian Buku
Sedangkan output dari program ini adalah :
1. Banyak Buku yang dipinjam beserta data peminjamannya
2. Perhitungan Denda Peminjaman (apabila ada) saat buku dikembalikan
Di awal program akan ada menu utama yang terpampang dan dapat dipilih oleh user,
menu itu antara lain :
1. Pinjam Buku
Menu pinjam buku digunakan untuk melakukan peminjaman dari beberapa buku yang
ditawarkan. User diminta untuk memasukkan Jumlah buku yang akan dipinjam (sesuai
ketentuan maksimal). Kemudian, memasukkan kode buku tertera akan dipinjam serta
3

tanggal peminjaman yang otomatis di-input dengan mengambil tanggal dari waktu lokal
komputer.
2. Kembalikan Buku
Menu ini berguna untuk mengembalikan buku yang telah dipinjam oleh user. Apabila
telah ada buku yang dipinjam maka user dapat mengembalikannya dengan memasukkan
data buku yang dipinjam serta tanggal pengembalian yang di dapat dari waktu lokal
komputer. Apabila user belum melakukan peminjaman atau telah mengembalikan
semua buku maka menu ini tidak dapat digunakan sampai ada buku yang dipinjam.
3. Buku yang Dipinjam dan Aturan Peminjaman
Menu ini berfungsi untuk menampilkan status dari buku yang telah dipinjam seperti data
buku keberapa, kode buku, judul buku, tanggal peminjaman, serta tanggal jatuh tempo
dari peminjaman buku. Buku yang Dipinjam akan ditampilkan apabila terdapat buku
yang telah dipinjam. Aturan peminjaman juga terpampang di menu ini seperti ketentuan
peminjaman, lama peminjaman, dan ketentuan denda.
4. Exit
Exit ini ada pada menu pilihan terakhir yang berfungsi untuk keluar dari program.
Apabila user ingin keluar dari program maka harus memilih menu ini dan data yang telah
diinput akan terhapus.

1.2. Deskripsi Tiap Fungsi
1.2.1. Fungsi dengan Nilai Balik
Fungsi hanya akan mengembalikan sebuah nilai ke bagian yang memanggilnya atau
dengan kata lain sebuah fungsi hanya mengerjakan satu tugas saja. Berikut adalah beberapa
fungsi yang digunakan dalam program ini.
A. int MenuPinjamBuku (int *, int *);
Adalah fungsi yang akan menyimpan jumlah buku peminjam, kode buku yang dipinjam dan
tanggal peminjaman dari tiap buku. Awalnya jumlah buku akan dicek terlebih dahulu,
apabila lebih dari 0 maka peminjam hanya boleh meminjam buku jumlahnya tidak lebih dari
Peminjaman Maksimal, namun apabila ada 0 maka lanjut akan meminta jumlah buku.
Peminjam akan diminta untuk menginput jumlah buku yang akan dipinjam. Kemudian
memasukkan kode buku yang ingin dipinjam dan tanggal peminjaman akan di-input secara
4

otomatis dengan memanggil fungsi tanggal_pinjam (int ); yaitu menggunakan tanggal dari
waktu local (local time) pada komputer. Diakhir peng-inputan data dalam fungsi ini akan
memanggil fungsi BukuDipinjam (int *, int *); untuk menampilkan data buku yang telah
dipinjam.

B. int MenuKembalikanBuku (int *, int *);
Adalah fungsi yang menjalankan menu kembalikan buku akan menyimpan jumlah buku
peminjam setelah dikembalikan, kode buku peminjam setelah dikembalikan dan tanggal
pengembalian buku. Fungsi ini pada dasarnya adalah untuk mengembalikan buku yang telah
dipinjam. Awalnya jumlah buku akan dicek terlebih dahulu, apabila belum/tidak ada buku
yang dipinjam maka peminjam tidak bisa menggunakan menu ini dan harus meminjam
terlebih dahulu, namun apabila ada buku yang dipinjam maka peminjam dapat
mengembalikan buku dengan menginput data buku. Kemudian disinilah fungsi
tanggal_kembali (); akan dipanggil untuk mengambil data tanggal dari waktu lokal dari
komputer, namun karena ini adalah program simulasi maka untuk memastikan bahwa fungsi
lama_pinjam(int ,int ,int ,int ) dan denda(int ); berjalan dengan baik maka sebaiknya
mengganti tanggal dari komputer sesuai keinginan. Terkahir fungsi ini akan memanggil
fungsi denda(int ); untuk menampilkan denda peminjaman apabila pengembalian telah
lewat dari jatuh tempo.

C. int denda (int );
Adalah sebuah fungsi untuk menghitung denda peminjaman apabila tanggal pengembalian
buku lebih dari 7 hari dengan mengoperasikan tanggal pengembalian dan peminjaman.
Sebelumnya perlu didapatkan data lama peminjaman dengan operasi selisih dari tanggal
peminjaman dan pengembalian. Sehinggal dalam fungsi ini akan dipanggil 2 fungsi lain
untuk membantu menghitung lama peminjaman buku yaitu fungsi hitung_hari (int ,int ,int);
dan fungsi lama_pinjam(int ,int ,int ,int ). Setelah didapatkan waktu dari peminjaman buku
maka tugas fungsi ini hanya menghitung berapa hari denda yang akan dihitung dan jumlah
denda.



5

D. int hitung_hari (int ,int ,int );
Adalah fungsi untuk menghitung jumlah hari pada tanggal tanggal yang telah diinput
sehingga nanti akan diselisihkan di fungsi lama_pinjam(int ,int ,int ,int ) untuk mendapatkan
lama hari peminjaman buku. Fungsi ini dibutuhkan untuk membedakan perhitungan tanggal
di tiap bulan karena kita tahu ada bulan yang berjumlah 28, 30, dan 31 bahkan 29 hari untuk
tahun kabisat. Fungsi ini juga tidak luput dari tahun kabisat yang berjumlah 366 hari
sehingga data lama peminjaman dapat diperoleh dengan akurat.

E. int lama_pinjam(int ,int ,int ,int )
Adalah sebuah fungsi untuk menghitung lama waktu peminjaman buku dengan menghitung
selisih hari dari tanggal peminjaman dan tanggal pengembalian. Dalam fungsi ini sebenarnya
membutuhkan fungsi tambahan untuk menghitung hari dari tanggal peminjaman dan
pengembalian sehingga dibuatlah fungsi hitung_hari (int ,int ,int ); agar fungsi ini hanya
menjalankan operasi selisih tanggal peminjaman dan pengembalian.

1.2.2. Fungsi Tanpa Nilai Balik (Prosedur)
Prosedur akan mengembalikan satu atau lebih nilai atau bahkan tidak
mengembalikan nilai sama sekali ke bagian yang memanggilnya, atau dengan kata lain
sebuah prosedur dapat mengerjakan lebih dari satu tugas.
A. Deklarasi Variable
Pernyataan deklarasi variabel digunakan untuk mendeklarasikan satu atau lebih variabel
dan memberinya nama. Ketika komputer mengeksekusi deklarasi variabel, komputer akan
menyediakan ruangan di memori kemudian menyimpan alamat ini sesuai dengan nama
variabel yang diberikan. Deklarasi variable berbentuk seperti : nama_tipe nama_variabel;
Dalam program ini menggunakan tipe data seperti biasa pada umumnya seperti.
int Buku[MAKSIMALPINJAM], JBPinjam;
char pilih;

6

Namun ada 1 tipe data khusus yang tim penulis gunakan yaitu Array of Struct (Array
Berstruktur). Array of Struct adalah jenis data hasil gabungan kelebihan Array dan Struct,
kelebihan Array adalah dapat di implementasikan kedalam looping for, dan kelebihan Struct
adalah dapat menyimpan data dengan tipe yang berbeda. Seperti yang digunakan untuk
mendeklarasikan tanggal peminjaman, tanggal pengembalian dan kumpulan buku seperti
pada contoh di bawah ini.
struct tanggal{
int hari, bln, thn;
};
struct Perpus{
char judul[30];
int kode;
};
struct tanggal pjm[MAKSIMALPINJAM], bck;
struct Perpus kumpulanbuku[JUMLAHBUKU] =
{"Algoritma & Pemrograman ",1,
"Filsafat Ilmu ",2,
"Matematika Diskrit ",3,
"Psikologi Perkembangan ",4,
"Komunikasi Data ",5,
"Pengantar Ilmu Pendidikan ",6,
"Pendidikan Kewarganegaraan",7
};
B. void main (){
Pernyataan ini mendeklarasikan fungsi utama, bahwa suatu program C dapat berisi banyak
fungsi, yang harus selalu memiliki sebuah fungsi utama (main function). Kata Void
menandakan fungsi main tidak bertipe. Berarti berupa function yang void sehingga tidak
mengembalikan nilai status program, sehingga nilai status program tidak bisa diketahui .

C. char menu ();
Adalah sebuah fungsi untuk memanggil fungsi menu utama yg berisi 4 menu dan akan
menyimpan angka menu yang dipilih. Sebenarnya input yang diminta berupa angka, namun
disini tim penulis menggunakan tipe data char agar apabila yang di-input adalah karakter
maka menu akan terus terbuka dan tidak error (dengan pengulangan do-while) dan juga
angka juga merupakan karakter sehingga dapat digunakan juga.


7


F. void BukuDipinjam (int *, int *);
Adalah fungsi yang menampilkan status peminjaman buku yang telah dipinjam yaitu data
buku keberapa, kode buku, judul buku dan tanggal peminjaman. Kegunaan fungsi hanyalah
untuk melihat data dari buku yang telah dipinjam dan tidak lebih. Apabila belum/tidak ada
buku yang dipinjam maka tidak akan menampilkan hasil apapun, hanya tabel kosong.

D. void AturanPeminjaman ();
Adalah sebuah prosedur yang apabila dipanggil hanya akan menampilkan sejumlah kalimat
berupa aturan peminjaman dari program ini. Karena tidak menghasilkan nilai balik maka
program ini dapat dikatakan sebuah prosedur.

G. void tanggal_pinjam (int );
Adalah sebuah fungsi untuk menyimpan tanggal peminjaman yang telah diambil dari waktu
lokai (local time) komputer. Artinya simulasi program ini bersifat real time dengan asumsi
bahwa tanggal pada komputer sesuai dengan keadaan sebenarnya. Fungsi ini tidak
menghasilkan nilai balik dan hanya menyimpan data tanggal yang telah di dapat ke dalam
Array of Struct yaitu pjm.hari, pjm.bln dan pjm.thn.
H. void tanggal_kembali ();
Adalah sebuah fungsi yang hampir sama yaitu untuk menyimpan tanggal pengembalian yang
telah diambil dari waktu lokai (local time) komputer. Sebenarnya isi dari fungsi sama namun
yang membedakan adalah tempat penyimpanan dari data tanggal yang telah di dapat yaitu
bck.hari, bck.bln dan bck.thn. Karena simulasi bersifat real time, maka akan sedikit sulit
untuk memastikan fungsi perhitungan lama peminjaman dan denda berjalan dengan baik
karena tidak mungkin program dijalankan berhari-hari. Sehingga dibuatlah solusi untuk
dengan cara mengubah tanggal di komputer (dimajukan) pada saat buku akan dikembalikan.
Dengan begini kita dapat memastikan bahwa fungsi perhitungan lama peminjaman dan
denda berjalan dengan baik mengingat program ini hanyalah simulasi dari keadaan
sebenarnya.

8

1.3. Cara Penggunaan Program
Program perpustakaan digital ini berfungsi untuk mendata buku yang dipinjam dan
yang dikembalikan. Program ini memudahkan kita untuk mengetahui tanggal berapa untuk
pengembalian buku dan mengetahui berapa denda yang diperoleh apabila terlambat
mengembalikan buku. Berikut adalah cara penggunaan program perpustakaan digital tersebut :
1. Jalankan execute program tersebut, kemudian program akan muncul
2. Di dalam program terdapat 4 menu, yaitu :
1. Pinjam Buku
Berfungsi untuk melakukan penginputan data untuk buku yang akan dipinjam
2. Kembalikan Buku
Berfungsi untuk melakukan pengembalian buku yang sudah dipinjam
3. Status & Peminjaman
Pada menu ini terdapat data-data buku yang sudah dipinjam beserta tanggal
jatuh tempo pengembalian bukunya.
4. Exit.
Jika sudah selesai menggunakan program ini, pilihlah menu 4 untuk keluar dari
program.

3. Masukkan angka 1 untuk melakukan peminjaman buku. Pada menu Pinjam Buku ini,
terdapat data judul buku beserta kode buku, serta berapa buku yang akan dipinjam.
Misalkan Anda hanya ingin meminjam satu buku, maka masukkan angka 1, jika ingin
meminjam 2 buku, masukkan angka dua, begitu seterusnya hingga maksimal 3 buku.
Jika Anda memasukkan lebih dari 3 buku, maka tertulis Jumlah Buku yang Anda dapat
Input Tidak Sesuai <Maks. 3> !, kemudian akan ada perintah lagi untuk menginput
jumlah buku, dan jika Anda sudah meminjam satu buku sebelumnya, maka Anda bisa
meminjam dua buku kembali. Setelah menginput jumlah buku, kemudian tekan Enter.
Berikut Screenshots nya :
9


Apabila menginput jumlah buku lebih dari 3 :

Apabila sudah meminjam satu buku :

10

Apabila sudah meminjam buku maksimal :


4. Kemudian Anda diminta untuk menginput data buku apa yang akan dipinjam dengan
memasukkan kode buku tersebut. Kode buku terdiri dari angka 1-7. Misalkan Anda ingin
meminjam buku Algoritma & Pemrograman, maka Anda masukkan angka 1, kemudian
Enter. Jika Anda menginput angka lebih dari 1-7, maka akan muncul tulisan Kode Buku
yang Anda Masukkan Tidak Terdaftar!, lalu muncul perintah untuk memasukkan kode
buku kembali. Kemudian muncul tanggal peminjaman sesuai dengan tanggal pada
komputer beserta data peminjaman buku berupa tabel yang terdiri dari data buku ke-,
kode buku, judul buku, dan tanggal peminjaman. Berikut Screenshotnya :



11

Apabila salah input kode buku :


5. Jika ingin mengembalikan buku, tekan 2. Pada menu Kembalikan Buku terdapat data
peminjaman buku dengan isi seperti yang sudah disebutkan di point 4. Kemudian Anda
diperintah untuk memasukkan data buku keberapa yang akan dikembalikan, misalnya 2
buku yang Anda pinjam, tetapi hanya ingin mengembalikan satu buku saja, maka
masukkan buku ke berapa yang akan Anda kembalikan. Disini kami akan
mengembalikan satu buku Algoritma & Pemrograman yang sebelumnya sudah
dipinjam, maka masukkan 1, kemudian tekan Enter. Kemudian akan muncul tulisan
Anda Mengembalikan Buku Berjudul Algoritma & Pemrograman, Lama Peminjaman,
Lama Keterlambatan, Denda Buku yang dikembalikan sebesar Rp 100/hari. Kemudian
muncul data buku yang dipinjam, jika Anda masih mempunyai data buku yang masih
dipinjam, maka muncul data buku tersebut. Jika tidak ada yang masih dipinjam, maka
kolom data buku yang dipinjam tersebut akan kosong. Kemudian tekan sembarang
tombol untuk kembali ke menu utama. Tanggal pengembalian sudah otomatis
mengikuti tanggal pada komputer. Berikut screenshots nya:
12



Apabila mengembalikan terlambat 1 hari :






13


Apabila mengembalikan terlambat 1 minggu :


Apabila mengembalikan terlambat 1 bulan :

14


Apabila mengembalikan buku terlambat 1 tahun :



6. Masukkan angka 3 untuk melihat status buku yang dipinjam atau belum dikembalikan,
dan 5 poin aturan peminjaman. Tekan sembarang tombol untuk kembali ke menu
utama.
15



7. Jika sudah selesai menggunakan program, maka masukkan angka 4 untuk Exit.

















16

BAB II
PENUTUP
2.1. Kesimpulan
Program Peminjaman Buku Perpustakaan ini dibuat berdasarkan implementasi yang
sebenar-benarnya di lapangan. Dalam program terdapat beberapa fitur untuk menginput
serta output yang dihasilkan layaknya sebuah perpustakaan. Input utama yang harus ada di
dalam program ini adalah :
1. Jumlah Buku yang akan Dipinjam
2. Kode Buku yang akan Dipinjam
3. Tanggal Peminjaman Buku
4. Data Buku yang akan Dikembalikan
5. Tanggal Pengembalian Buku
Sedangkan output dari program ini adalah :
1. Banyak Buku yang dipinjam beserta data peminjamannya
2. Perhitungan Denda Peminjaman (apabila ada) saat buku dikembalikan
2.2. Saran
Dalam pembelajaran Algoritma dan Pemrograman, diharapkan agar memahami lebih
banyak lagi mengenai fungsi, prosedur, dan tipe data. Sebagai mahasiswa Teknik Informatika &
Komputer dituntut untuk memahami dasar dari pembuatan program karena pastinya
berhubungan satu sama lain. Oleh sebab itu, pemahaman konsep sangatlah penting agar
mampu diterapkan dalam kehidupan sehari-hari.
2.2.1. Bagi Mahasiswa
1. Hendaknya lebih awal memahami dan menyiapkan diri dalam menghadapi Ujian
Akhir Semester (UAS) yang akan datang.
2. Hendaknya mahasiswa menjunjung tinggi nama baik institusi kampus.
3. Mahasiswa harus selalu bertanya kepada dosen mengenai materi yang telah
dipaparkan dan mengerjakan tugas dengan memahai materi terlebih dahulu

17

3.2.2. Bagi Dosen
1. Hendaknya dosen selalu memberikan bimbingan serta pengarahan dan informasi
yang diperlukan oleh mahasiswa dan menjawab setiap pertanyaan
2. Kegiatan belajar mengajar harus selalu dihubungkan dengan kehidupan nyata agar
mahasiswa lebih memahami konsep dari setiap materi yang dibahas

Anda mungkin juga menyukai