makala struktur data
DESCRIPTION
tugasTRANSCRIPT
STRUKTUR DATA
SISTEM INFORMASI PERPUSTAAKAAN
DOSEN PENGAMPU : RISKY ADITYA, S. KOM
1. Niken L
2. Rangga Sopiandi
3. Jordan
4. Cici Selviana Taolin
5. Nuradin
S
Kampus Terpadu: Ring Road Utara Condong Catur Telp. (0274) 884201 Fax. (0274) 884208
Website: www.amikom.ac.id
MAKALAH
STRUKTUR DATA
SISTEM INFORMASI PERPUSTAAKAAN
DOSEN PENGAMPU : RISKY ADITYA, S. KOM
Ditulis Oleh:
KELOMPOK III
Niken Larasati (10.12.4766)
Rangga Sopiandi (10.12.4799)
Jordan Setiawan (10.12.4734)
Cici Selviana Taolin (08.12.3096)
Nuradin (08.12.3410)
STMIK AMIKOM Yogyakarta
Kampus Terpadu: Ring Road Utara Condong Catur Telp. (0274) 884201 Fax. (0274) 884208
www.amikom.ac.id Email: [email protected]
Kampus Terpadu: Ring Road Utara Condong Catur Telp. (0274) 884201 Fax. (0274) 884208
I. LATAR BELAKANG
Dengan adanya kemajuan teknologi yang semakin pesat, semakin memudahkan dan
meringankan beban manusia dalam melakukan sebuah pekerjaan terutama dalam administrasi
sebuah Perpustakaan.Perkembangan ini sangatlah membantu dalam
cepat, efektif serta efisien.
Salah satu yang harus dikuasai oleh seorang
baik dengan bahasa pemrogaman C, C++, Basic, Pascal, dll. Dan yang terpenting seseorang itu bisa
membuat suatu program dengan baik, hal tersebutlah yang menjadi dasar utama.
Akan tetapi itu berhubungan juga dengan adanya tugas yang diberikan untuk membuat suatu
program, tim kami telah membuat program
pada pengembalian bukunya
menyelesaikan tugas yang diberikan oleh dosen dan yang paling penting seperti hal diatas yaitu
untuk menjadi pembelajaran mahasiswa itu sendiri agar bisa dalam membuat suatu program
dengan menggunakan bahasa pemrogaman C++ dan kedepannya mungki
walau pada akhirnya hanya sebatas kemampuan tim yang disamaratakan.
Perpustakaan adalah sebuah
kota atau institusi, dan dimanfaatkan oleh masyarakat ataupun institusi itu sendiri. Perpustakaan
merupakan sebuah sarana yang tepat untuk menyebarkan ilmu pengetahuan serta untuk
menambah wawasan.Karena disana banyak terdapat berbagai buku dari berbagai macam cabang
ilmu pengetahuan yang bisa kita baca tanpa harus membeli bahkan bisa pula dipinjam.
Seiring perkembangan teknologi, kami mencoba membuat sebuah sebuah sistem informasi
yang menangani administrasi perpustakaan yang berbasis desktop .Sistem ini diharapkan dapat
mambantu seorang pustakawan dalam bekerja, karena dapat menghemat waktu dan memudahkan
dalam pengarsipan.
PENDAHULUAN
Dengan adanya kemajuan teknologi yang semakin pesat, semakin memudahkan dan
meringankan beban manusia dalam melakukan sebuah pekerjaan terutama dalam administrasi
sebuah Perpustakaan.Perkembangan ini sangatlah membantu dalam menyajikan informasi yang
Salah satu yang harus dikuasai oleh seorang IT engineer adalah bisa membuat suatu program,
baik dengan bahasa pemrogaman C, C++, Basic, Pascal, dll. Dan yang terpenting seseorang itu bisa
u program dengan baik, hal tersebutlah yang menjadi dasar utama.
Akan tetapi itu berhubungan juga dengan adanya tugas yang diberikan untuk membuat suatu
program, tim kami telah membuat program SI Perpustakaan yang memudahkan perhitungan denda
lian bukunya. Alasan program (SI Perpustakaan) dibuat adalah untuk
menyelesaikan tugas yang diberikan oleh dosen dan yang paling penting seperti hal diatas yaitu
untuk menjadi pembelajaran mahasiswa itu sendiri agar bisa dalam membuat suatu program
menggunakan bahasa pemrogaman C++ dan kedepannya mungkin bisa lebih baik lagi
walau pada akhirnya hanya sebatas kemampuan tim yang disamaratakan.
Perpustakaan adalah sebuah tempat koleksi buku dan majalah yang dioperasikan oleh sebuah
dan dimanfaatkan oleh masyarakat ataupun institusi itu sendiri. Perpustakaan
merupakan sebuah sarana yang tepat untuk menyebarkan ilmu pengetahuan serta untuk
menambah wawasan.Karena disana banyak terdapat berbagai buku dari berbagai macam cabang
getahuan yang bisa kita baca tanpa harus membeli bahkan bisa pula dipinjam.
Seiring perkembangan teknologi, kami mencoba membuat sebuah sebuah sistem informasi
yang menangani administrasi perpustakaan yang berbasis desktop .Sistem ini diharapkan dapat
antu seorang pustakawan dalam bekerja, karena dapat menghemat waktu dan memudahkan
Dengan adanya kemajuan teknologi yang semakin pesat, semakin memudahkan dan
meringankan beban manusia dalam melakukan sebuah pekerjaan terutama dalam administrasi
menyajikan informasi yang
adalah bisa membuat suatu program,
baik dengan bahasa pemrogaman C, C++, Basic, Pascal, dll. Dan yang terpenting seseorang itu bisa
u program dengan baik, hal tersebutlah yang menjadi dasar utama.
Akan tetapi itu berhubungan juga dengan adanya tugas yang diberikan untuk membuat suatu
memudahkan perhitungan denda
) dibuat adalah untuk
menyelesaikan tugas yang diberikan oleh dosen dan yang paling penting seperti hal diatas yaitu
untuk menjadi pembelajaran mahasiswa itu sendiri agar bisa dalam membuat suatu program
n bisa lebih baik lagi
koleksi buku dan majalah yang dioperasikan oleh sebuah
dan dimanfaatkan oleh masyarakat ataupun institusi itu sendiri. Perpustakaan
merupakan sebuah sarana yang tepat untuk menyebarkan ilmu pengetahuan serta untuk
menambah wawasan.Karena disana banyak terdapat berbagai buku dari berbagai macam cabang
getahuan yang bisa kita baca tanpa harus membeli bahkan bisa pula dipinjam.
Seiring perkembangan teknologi, kami mencoba membuat sebuah sebuah sistem informasi
yang menangani administrasi perpustakaan yang berbasis desktop .Sistem ini diharapkan dapat
antu seorang pustakawan dalam bekerja, karena dapat menghemat waktu dan memudahkan
II. BATASAN MASALAH
Batasan-batasan masalah yang digunakan dalam pembuatan sistem ini adalah :
1. Data yang digunakan adalah data peminjam dan data buku
2. Interaksi antara program dan operator (pustakawan) menggunakan pertanyaan yang diberikan
melalui proses dialog
3. Untuk satu sesi peminjaman maksimal
4. Untuk keterlambatan akan dikenakan denda Rp.100,00 per hari
5. Bahasa pemrograman yang digunakan adalah C++
III. TUJUAN
Proyek ini bertujuan untuk membangun sebuah sistem informasi administrasi perpustakaan
berbasis desktop yang diperuntu
perpustakaan.Sehingga alasan efisiensi waktu
ataupun pengarsipan dapat teratasi.
Untuk member perpusatakaan itu sendiri, diharapkan akan mendapat sebuah layanan
transparan dengan adanya data
batasan masalah yang digunakan dalam pembuatan sistem ini adalah :
Data yang digunakan adalah data peminjam dan data buku
Interaksi antara program dan operator (pustakawan) menggunakan pertanyaan yang diberikan
Untuk satu sesi peminjaman maksimal 7hari, lebih dari itu akan mendapatkan denda
Untuk keterlambatan akan dikenakan denda Rp.100,00 per hari
sa pemrograman yang digunakan adalah C++
Proyek ini bertujuan untuk membangun sebuah sistem informasi administrasi perpustakaan
berbasis desktop yang diperuntukkan bagi para pustakawan dalam mengelola
alasan efisiensi waktu dan kemudahan dalam melakukan pemberkasan
ataupun pengarsipan dapat teratasi.
Untuk member perpusatakaan itu sendiri, diharapkan akan mendapat sebuah layanan
transparan dengan adanya data-data yang terprogram.
Interaksi antara program dan operator (pustakawan) menggunakan pertanyaan yang diberikan
, lebih dari itu akan mendapatkan denda
Proyek ini bertujuan untuk membangun sebuah sistem informasi administrasi perpustakaan
kan bagi para pustakawan dalam mengelola
dan kemudahan dalam melakukan pemberkasan
Untuk member perpusatakaan itu sendiri, diharapkan akan mendapat sebuah layanan
IV. TIME MAPPING KERJA
I. STRUCT DAN IMPLEMENTASINYA
Struktur adalah pengelompokan variabel
sama. Berbeda dengan array yang berisi kumpulan variabel
satu nama, maka suatu struktur dapat terdiri atas variabel
dalam satu nama struktur. Struktur biasa dipakai untuk mengelompokkan beberapa informasi
yang berkaitan menjadi sebuah.
Manfaat tipe data struct secara umum ad
ke dalam satu buah nama variabel saja. Kumpulan data tersebut diikat sedemikian rupa
menjadi satu.Kumpulan data di dalam sebuah struct bisa mempunyai tipe data dasar yang
beraneka ragam. Kumpulan data dalam sebu
kesatuan makna berkaitan dengan nama struct
maka isi struct-nya antara lain:
Variabel-variabel yang membentuk suatu struktur, selanjutnya disebu
dari struktur atau field. Dengan demikian dimungkinkan suatu struktur dapat berisi elemen
elemen data berbeda tipe seperti char, int, float, double, dan lain
adalah informasi data tanggal (date) yang berisi:
- day (hari)
- month (bulan), dan
- year (tahun)
• Mendefinisikan & Mendeklarasikan Struktur
Suatu struktur didefinisikan dengan menggunakan kata kunci struct. Contoh
pendefinisian sebuah tipe data struktur :
structtanggal {
int hari;
int bln;
int thn;
};
atau
structtanggal {
LANDASAN TEORI
DAN IMPLEMENTASINYA
Struktur adalah pengelompokan variabel-variabel yang bernaung dalam satu nama yang
sama. Berbeda dengan array yang berisi kumpulan variabel-variabel yang bertipe sama
satu nama, maka suatu struktur dapat terdiri atas variabel-variabel yang berbeda tipenya
dalam satu nama struktur. Struktur biasa dipakai untuk mengelompokkan beberapa informasi
yang berkaitan menjadi sebuah.
Manfaat tipe data struct secara umum adalah untuk menyimpan paket (sekumpulan) data
ke dalam satu buah nama variabel saja. Kumpulan data tersebut diikat sedemikian rupa
menjadi satu.Kumpulan data di dalam sebuah struct bisa mempunyai tipe data dasar yang
beraneka ragam. Kumpulan data dalam sebuah struct sangat dianjurkan membentuk sebuah
kesatuan makna berkaitan dengan nama struct-nya. Misal, jika struct-nya bernama
nya antara lain: hari, bulan dan tahun.
variabel yang membentuk suatu struktur, selanjutnya disebu
dari struktur atau field. Dengan demikian dimungkinkan suatu struktur dapat berisi elemen
elemen data berbeda tipe seperti char, int, float, double, dan lain-lain. Contoh sebuah struktur
adalah informasi data tanggal (date) yang berisi:
, dan
Mendefinisikan & Mendeklarasikan Struktur
Suatu struktur didefinisikan dengan menggunakan kata kunci struct. Contoh
pendefinisian sebuah tipe data struktur :
variabel yang bernaung dalam satu nama yang
variabel yang bertipe sama dalam
variabel yang berbeda tipenya
dalam satu nama struktur. Struktur biasa dipakai untuk mengelompokkan beberapa informasi
alah untuk menyimpan paket (sekumpulan) data
ke dalam satu buah nama variabel saja. Kumpulan data tersebut diikat sedemikian rupa
menjadi satu.Kumpulan data di dalam sebuah struct bisa mempunyai tipe data dasar yang
ah struct sangat dianjurkan membentuk sebuah
nya bernama tanggal
variabel yang membentuk suatu struktur, selanjutnya disebut sebagai elemen
dari struktur atau field. Dengan demikian dimungkinkan suatu struktur dapat berisi elemen-
lain. Contoh sebuah struktur
Suatu struktur didefinisikan dengan menggunakan kata kunci struct. Contoh
int hari, bln
};
Yang mendefinisikan sebuah tipe data struktur bernama
elemen (field) berupa :
- day
- month
- year
Dalam mendefinisikan sebuah struktur, elemen yang terkandung di dal
berupa sebuah struktur,
contoh :
• Mengakses Elemen Struktur
Elemen dari suatu variabel struktur dapat diakses dengan menyebutkan nama
struktur diikuti dengan operator titik (‘.’) dan nama dari elemen strukturnya. Cara
penulisannya sebagai berikut
• Menginisialisasi Struktur
Sebuah struktur juga bisa diinisialisasi pada saat dideklarasikan. Hal ini serupa dengan
inisialisasi array, yaitu elemen
}‘) dengan masing-masing dipisahkan dengan koma. Deklarasi struktur didahului dengan
kata kunci static, contoh
variabel_struktur.nama_field
bln, thn;
ang mendefinisikan sebuah tipe data struktur bernama tanggal yang memiliki tiga buah
Dalam mendefinisikan sebuah struktur, elemen yang terkandung di dal
Mengakses Elemen Struktur
Elemen dari suatu variabel struktur dapat diakses dengan menyebutkan nama
struktur diikuti dengan operator titik (‘.’) dan nama dari elemen strukturnya. Cara
penulisannya sebagai berikut
Menginisialisasi Struktur
Sebuah struktur juga bisa diinisialisasi pada saat dideklarasikan. Hal ini serupa dengan
rray, yaitu elemen-elemennya dituliskan di dalam sepasang kurung kurawal (‘{
masing dipisahkan dengan koma. Deklarasi struktur didahului dengan
kata kunci static, contoh
variabel_struktur.nama_field
yang memiliki tiga buah
Dalam mendefinisikan sebuah struktur, elemen yang terkandung di dalamnya bisa juga
Elemen dari suatu variabel struktur dapat diakses dengan menyebutkan nama variabel
struktur diikuti dengan operator titik (‘.’) dan nama dari elemen strukturnya. Cara
Sebuah struktur juga bisa diinisialisasi pada saat dideklarasikan. Hal ini serupa dengan
elemennya dituliskan di dalam sepasang kurung kurawal (‘{
masing dipisahkan dengan koma. Deklarasi struktur didahului dengan
static struct zodiak bintang =
{"kodeBuku", 005
• Array dan Struktur
Elemen-elemen dari suatu array juga dapat berbentuk sebuah struktur.Misalnya array
yang dipakai untuk menyimpan sejumlah
struktur berdimensi ini membentuk suatu tabel, dengan barisnya menunjukk
dari array-nya dan kolomnya menunjukkan elemen dari struktur. Dalam hal ini maka
deklarasi yang dibutu
struct dataPerpus{ /* definisi dari tipe dataPerpus */
char mahasiswa[30], nim[10], kodeBuku[3][5];
char judul[3][30], pengarang[3][30];
};
Setelah array dataPerpus
dalam gambardi bawah ini.
static struct zodiak bintang =
005, 005A, 123};
elemen dari suatu array juga dapat berbentuk sebuah struktur.Misalnya array
yang dipakai untuk menyimpan sejumlah data perpustakaan (struct
struktur berdimensi ini membentuk suatu tabel, dengan barisnya menunjukk
nya dan kolomnya menunjukkan elemen dari struktur. Dalam hal ini maka
deklarasi yang dibutuhkan adalah sebagai berikut :
/* definisi dari tipe dataPerpus */
char mahasiswa[30], nim[10], kodeBuku[3][5];
dul[3][30], pengarang[3][30];
dataPerpus dideklarasikan, maka ruang yang disediakan ditunjukkan
dalam gambardi bawah ini.
elemen dari suatu array juga dapat berbentuk sebuah struktur.Misalnya array
(struct dataPerpus).Array
struktur berdimensi ini membentuk suatu tabel, dengan barisnya menunjukkan elemen
nya dan kolomnya menunjukkan elemen dari struktur. Dalam hal ini maka
dideklarasikan, maka ruang yang disediakan ditunjukkan
II. Flow Control – Looping
Looping adalah sebuah perulangan dalam c++ yang digunakan untuk megulang sebuah
kode program tertentu. Dengan looping, seorang programer tidak lagi menulis kode program
secara berulang untuk kode yang fungsi dan penggunaanya sama , tetapi hanya
mendevenisikannya di dalam looping sehingga dapat menghemat space dalam menulis kode
sebuah program.
sintax looping biasanya ditulis sebagai berikut:
perulangan(pernyataan1; pernyataan2; pernyataan3)
{
isi perintah;
}
• Pernyataan1 adalah: pernyataan untuk menentukan dari mana perulangan akan
dimulai (batas bawah perulangan)
• Pernyataan2 adalah:
• Pernyataan3 adalah: pernyataan yang berfungsi untuk mengubah nilai peryataan1
agar dapat diulang. (biasanya fungsi
atas atau batas bawah, maka perulangan ter
dan akan minimbulkan sebuah eror).
Looping atau perulangan merupakan hal penting di dalam pembuatan program, sekarang
kita akan coba membahas mengenai looping. Ada 3 jenis Looping, yaitu
WHILE.
1. Perintah for()
for(inisialisasi nilai; syarat perulangan; perubahan nilai)
{
… perintah
}
Inisialisasi nilai adalah tempat dimana kita akan memberikan nilai awal pada
variable counter (variable yang digunakan untuk menghitung jumlah
Syarat perulangan adalah syarat yang harus dipenuhi agar perulangan tetap
dilakukan. Perubahan nilai adalah perubahan yang akan dilakukan pada setiap
putaran untuk menjamin bahwa perulangan tersebut tidak akan berlangsung
secara terus menerus.
Looping
Looping adalah sebuah perulangan dalam c++ yang digunakan untuk megulang sebuah
kode program tertentu. Dengan looping, seorang programer tidak lagi menulis kode program
secara berulang untuk kode yang fungsi dan penggunaanya sama , tetapi hanya
mendevenisikannya di dalam looping sehingga dapat menghemat space dalam menulis kode
sintax looping biasanya ditulis sebagai berikut:
(pernyataan1; pernyataan2; pernyataan3)
Pernyataan1 adalah: pernyataan untuk menentukan dari mana perulangan akan
dimulai (batas bawah perulangan)
Pernyataan2 adalah: pernyataan untuk menetukan batas atas perulangan
Pernyataan3 adalah: pernyataan yang berfungsi untuk mengubah nilai peryataan1
agar dapat diulang. (biasanya fungsi increment). Kalau perulangan tidak memiliki batas
atas atau batas bawah, maka perulangan tersebut disebut perulangan tak terhingga,
dan akan minimbulkan sebuah eror).
Looping atau perulangan merupakan hal penting di dalam pembuatan program, sekarang
kita akan coba membahas mengenai looping. Ada 3 jenis Looping, yaitu FOR, WHILE dan DO
ntah for()
for(inisialisasi nilai; syarat perulangan; perubahan nilai)
… perintah-perintah yang akan diulang
Inisialisasi nilai adalah tempat dimana kita akan memberikan nilai awal pada
variable counter (variable yang digunakan untuk menghitung jumlah
Syarat perulangan adalah syarat yang harus dipenuhi agar perulangan tetap
dilakukan. Perubahan nilai adalah perubahan yang akan dilakukan pada setiap
putaran untuk menjamin bahwa perulangan tersebut tidak akan berlangsung
secara terus menerus.
Looping adalah sebuah perulangan dalam c++ yang digunakan untuk megulang sebuah
kode program tertentu. Dengan looping, seorang programer tidak lagi menulis kode program
secara berulang untuk kode yang fungsi dan penggunaanya sama , tetapi hanya
mendevenisikannya di dalam looping sehingga dapat menghemat space dalam menulis kode
Pernyataan1 adalah: pernyataan untuk menentukan dari mana perulangan akan
pernyataan untuk menetukan batas atas perulangan
Pernyataan3 adalah: pernyataan yang berfungsi untuk mengubah nilai peryataan1
). Kalau perulangan tidak memiliki batas
sebut disebut perulangan tak terhingga,
Looping atau perulangan merupakan hal penting di dalam pembuatan program, sekarang
FOR, WHILE dan DO
Inisialisasi nilai adalah tempat dimana kita akan memberikan nilai awal pada
variable counter (variable yang digunakan untuk menghitung jumlah perulangan)
Syarat perulangan adalah syarat yang harus dipenuhi agar perulangan tetap
dilakukan. Perubahan nilai adalah perubahan yang akan dilakukan pada setiap
putaran untuk menjamin bahwa perulangan tersebut tidak akan berlangsung
2. Perintah while()
while(syarat perulangan
{
… perintah-perintah yang akan diulang
}
Berbeda dengan for(), while() tidak memiliki inisialisasi nilai. Oleh karena itu,
inisialisasi harus diberikan sebelum perintah while(). Statement yang melakukan
perubahan n
diulang. Hal ini perlu dilakukan untuk menjamin bahwa perintah while() tidak akan
melakukan perulangan terus menerus.
3. Perintah do while()
do
{
… perintah
} while(sya
Pada prinsipnya perintah do while() sama dengan while(). Perintah do while()
akan mengulang statement
apakah syarat perulangan masih terpenuhi atau tidak. Sedangkan perintah while()
memeriksa syarat perulangan terlebih dahulu. Oleh karena itu, perintah do while()
akan menjalankan statement miliknya minimal sebanyak 1 kali, meskipun syarat
pengulangan tidak terpenuhi.
Berikut cara membuat perulangan dengan do while() dengan benar
inisialisasi nilai;
do
{
… perintah
perubahan nilai;
} while(syarat perulangan)
Perhatikan tanda
Perintah while()
while(syarat perulangan
perintah yang akan diulang
Berbeda dengan for(), while() tidak memiliki inisialisasi nilai. Oleh karena itu,
inisialisasi harus diberikan sebelum perintah while(). Statement yang melakukan
perubahan nilai juga harus diberikan di dalam perintah-perintah yang akan
diulang. Hal ini perlu dilakukan untuk menjamin bahwa perintah while() tidak akan
melakukan perulangan terus menerus.
Perintah do while()
… perintah-perintah yang akan diulang
} while(syarat perulangan);
Pada prinsipnya perintah do while() sama dengan while(). Perintah do while()
akan mengulang statement-nya terlebih dahulu. Setelah itu ia akan memeriksa
apakah syarat perulangan masih terpenuhi atau tidak. Sedangkan perintah while()
iksa syarat perulangan terlebih dahulu. Oleh karena itu, perintah do while()
akan menjalankan statement miliknya minimal sebanyak 1 kali, meskipun syarat
pengulangan tidak terpenuhi.
Berikut cara membuat perulangan dengan do while() dengan benar
si nilai;
… perintah-perintah yang akan diulang
perubahan nilai;
} while(syarat perulangan)
Perhatikan tanda i++
Berbeda dengan for(), while() tidak memiliki inisialisasi nilai. Oleh karena itu,
inisialisasi harus diberikan sebelum perintah while(). Statement yang melakukan
perintah yang akan
diulang. Hal ini perlu dilakukan untuk menjamin bahwa perintah while() tidak akan
Pada prinsipnya perintah do while() sama dengan while(). Perintah do while()
nya terlebih dahulu. Setelah itu ia akan memeriksa
apakah syarat perulangan masih terpenuhi atau tidak. Sedangkan perintah while()
iksa syarat perulangan terlebih dahulu. Oleh karena itu, perintah do while()
akan menjalankan statement miliknya minimal sebanyak 1 kali, meskipun syarat
Berikut cara membuat perulangan dengan do while() dengan benar
Tanda ++ berfungsi untuk menambahkan nilai awal sebuah variable dengan
satu, jadi apabila nilai ‘a
maka nilai ‘a menjadi 2’. Adapula fungsi serupa lainnya, misalnya ‘a
a’.
III. Statement Percabangan (if, else, switch)
Statement percabangan dalam dunia pemrograman merupakan salah ilmu
pemrograman yang wajib dimiliki oleh setiap programmer.Logika dari statement
percabangan adalah layaknya ketika kita mencari sebuah jalan dari beberapa jalan.
1. IF statement
Statement ini merupakan statement percabangan paling dasar, jika suatu <kondis
terpenuhi alias bernilai true maka akan menjalankan <pernyataan> tertentu. Dan jika
tidak maka <pernyataan> tersebut tidak akan dijalankan.
Format : if (<kondisi>) <blok pernyataan>
2. IF-ELSE statement
Statement ini merupakan pengembangan dari “if” statem
<kondisi> tidak terpenuhi maka akan menjalankan <pernyataan lain>. Tetapi ketika
menemukan “else if” statement maka dilakukan pengecekan kembali.
Format :if (<kondisi>)
<blok pernyataan 1>
else if (<kondisi>)
<blok pernyataan 2>
else
<blok pernyataan 3>
3. SWITCH STATEMENT
Statement ini digunakan untuk melakukan percabangan alur yang efektif digunakan
untuk alur program mempersyaratkan banyak kondisi
Tanda ++ berfungsi untuk menambahkan nilai awal sebuah variable dengan
satu, jadi apabila nilai ‘a adalah 1’ setelah computer menjalankan perintah ‘a++’
maka nilai ‘a menjadi 2’. Adapula fungsi serupa lainnya, misalnya ‘a
Statement Percabangan (if, else, switch)
Statement percabangan dalam dunia pemrograman merupakan salah ilmu
pemrograman yang wajib dimiliki oleh setiap programmer.Logika dari statement
percabangan adalah layaknya ketika kita mencari sebuah jalan dari beberapa jalan.
Statement ini merupakan statement percabangan paling dasar, jika suatu <kondis
terpenuhi alias bernilai true maka akan menjalankan <pernyataan> tertentu. Dan jika
tidak maka <pernyataan> tersebut tidak akan dijalankan.
if (<kondisi>) <blok pernyataan>
ELSE statement
Statement ini merupakan pengembangan dari “if” statem
<kondisi> tidak terpenuhi maka akan menjalankan <pernyataan lain>. Tetapi ketika
menemukan “else if” statement maka dilakukan pengecekan kembali.
if (<kondisi>)
<blok pernyataan 1>
else if (<kondisi>)
<blok pernyataan 2>
k pernyataan 3>
SWITCH STATEMENT
Statement ini digunakan untuk melakukan percabangan alur yang efektif digunakan
untuk alur program mempersyaratkan banyak kondisi
Tanda ++ berfungsi untuk menambahkan nilai awal sebuah variable dengan
adalah 1’ setelah computer menjalankan perintah ‘a++’
maka nilai ‘a menjadi 2’. Adapula fungsi serupa lainnya, misalnya ‘a–‘, ‘++a’ dan ‘–
Statement percabangan dalam dunia pemrograman merupakan salah ilmu dasar
pemrograman yang wajib dimiliki oleh setiap programmer.Logika dari statement
percabangan adalah layaknya ketika kita mencari sebuah jalan dari beberapa jalan.
Statement ini merupakan statement percabangan paling dasar, jika suatu <kondisi>
terpenuhi alias bernilai true maka akan menjalankan <pernyataan> tertentu. Dan jika
Statement ini merupakan pengembangan dari “if” statement, ketika suatu
<kondisi> tidak terpenuhi maka akan menjalankan <pernyataan lain>. Tetapi ketika
menemukan “else if” statement maka dilakukan pengecekan kembali.
Statement ini digunakan untuk melakukan percabangan alur yang efektif digunakan
Format :switch (<variabel>) {
case<kondisi 1>: <pernyataan 1>
case<kondisi 2>: <
…
default:
}
switch (<variabel>) {
case<kondisi 1>: <pernyataan 1>
case<kondisi 2>: <pernyataan 2>
Input data buku yang di
Input tgl pengembalian
IMPLEMENTASI
Tidak
Ya
Tidak
Ya
START
Input nama mahasiswa
dan nim
Data mahasiswa
benar ?
Masukan banyak buku
yang di pinjam
Input data buku yang di
pinjam
Input tgl peminjaman
Input tgl pengembalian
Tgl kembali >= 7
hari ?
Output denda
Rp.100/hari
Output denda 0
END
Output denda 0
Input Member :
Input Data Buku :
Input Tanggal :
PRINTED SCREEN
Output :
Dalam membuat suatu program aplikasi yang baik adalah dengan menggunakan pemrograman
yang terstruktur yaitu adanya struktur data yang jelas
aplikasi yang bagus juga kadang dinilai dari GUI,
pengguna.
Aplikasi Perpustakaan ini pun sebenarnya masih bisa dikembangkan lebih jauh lagi supaya bisa
lebih menari.Akan tetapi batas kemampuan kami yang terbatas dan baru bisa sebatas ini.
dengan niat untuk terus belajar, program ini bias berkembang dengan lebih baik lagi dan lebih
bermanfat.
I. KELEBIHAN
Kelebihan program ini adalah :
1. Cukup simple, sehingga pengaplikasiannya mudah
2. Efisien, menghemat wqktu hitung
3. Terprogram sesuai kebutuhan user
II. KEKURANGAN
Kekurangan program ini :
1. Kurang kompleks jika diaplikasikan untuk system informasi perpustakaan digital
2. Hanya sebatas menghitung dan mendeklarasikan variable, belum ada antrian dan funsi
fungsi yang lain
3. Tampilan belum biasa dimaksimalkan
KESIMPULAN
Dalam membuat suatu program aplikasi yang baik adalah dengan menggunakan pemrograman
struktur data yang jelas, akan tetapi tidak cukup hanya itu program
aplikasi yang bagus juga kadang dinilai dari GUI, dimana hal tersebut langsung berinteraksi dengan si
ini pun sebenarnya masih bisa dikembangkan lebih jauh lagi supaya bisa
lebih menari.Akan tetapi batas kemampuan kami yang terbatas dan baru bisa sebatas ini.
at untuk terus belajar, program ini bias berkembang dengan lebih baik lagi dan lebih
ini adalah :
Cukup simple, sehingga pengaplikasiannya mudah
Efisien, menghemat wqktu hitung
Terprogram sesuai kebutuhan user
Kekurangan program ini :
Kurang kompleks jika diaplikasikan untuk system informasi perpustakaan digital
Hanya sebatas menghitung dan mendeklarasikan variable, belum ada antrian dan funsi
Tampilan belum biasa dimaksimalkan
Dalam membuat suatu program aplikasi yang baik adalah dengan menggunakan pemrograman
, akan tetapi tidak cukup hanya itu program
dimana hal tersebut langsung berinteraksi dengan si
ini pun sebenarnya masih bisa dikembangkan lebih jauh lagi supaya bisa
lebih menari.Akan tetapi batas kemampuan kami yang terbatas dan baru bisa sebatas ini.Emoga
at untuk terus belajar, program ini bias berkembang dengan lebih baik lagi dan lebih
Kurang kompleks jika diaplikasikan untuk system informasi perpustakaan digital
Hanya sebatas menghitung dan mendeklarasikan variable, belum ada antrian dan funsi-
SOURCE CODE
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
//STRUCT
struct tanggal{
int hari, bln, thn;
};
struct dataPerpus{
char mahasiswa[30], nim[10], kodeBuku[3][5];
char judul[3][30], pengarang[3][30];
};
//INISIALISASI STRUCT
struct tanggal pjm, balik, jatem;
struct dataPerpus dt;
main(){
int byk;
cout<<"\t\t**********************************"<<endl;
cout<<"\t\t PROGRAM PERPUSTAKAAN"<<endl;
cout<<"\t\t**********************************"<<endl<<end
LAMPIRAN
int hari, bln, thn;
char mahasiswa[30], nim[10], kodeBuku[3][5];
char judul[3][30], pengarang[3][30];
struct tanggal pjm, balik, jatem;
t**********************************"<<endl;
t PROGRAM PERPUSTAKAAN"<<endl;
t**********************************"<<endl<<endl;
cout<<"Nama mahasiswa\t: "; gets(dt.mahasiswa);
cout<<"NIM\t\t: "; cin>>dt.nim;
while(1){
cout<<endl<<"Banyak buku yang pinjam: "; cin>>byk;
if(byk>3){
cout<<"MAKSIMAL PEMINJAMAN 3 BUKU";
}else{
break;
}
}
//DATA BUKU
cout<<endl<<"**********************************"<<endl;
cout<<" INPUT DATA BUKU"<<endl;
cout<<"**********************************"<<endl;
for(int i=1; i<=byk; i++){
cout<<endl<<"Data Buku ke "<<i<<endl;
cout<<endl<<"Kode Buku\t: "; cin>>dt.kodeBuku[i];
cout<<"Judul Buku\t: "; gets(dt.judul[i]);
cout<<"Pengarang\t: "; gets(dt.pengarang[i]);
}
t: "; gets(dt.mahasiswa);
t: "; cin>>dt.nim;
cout<<endl<<"Banyak buku yang pinjam: "; cin>>byk;
cout<<"MAKSIMAL PEMINJAMAN 3 BUKU";
"**********************************"<<endl;
cout<<" INPUT DATA BUKU"<<endl;
cout<<"**********************************"<<endl;
for(int i=1; i<=byk; i++){
cout<<endl<<"Data Buku ke "<<i<<endl;
t: "; cin>>dt.kodeBuku[i];
t: "; gets(dt.judul[i]);
t: "; gets(dt.pengarang[i]);
//TANGGAL PEMINJAMAN
cout<<endl<<"Tanggal peminjaman: "<<endl;
while(1){
cout<<"Tanggal\t[1 - 30]
if(pjm.hari<=0||pjm.hari>30){
cout<<"---ERROR---\n";
}else{break;}
}
while(1){
cout<<"Bulan\t[1 - 12]\
if(pjm.bln<=0||pjm.bln>12){
cout<<"---ERROR---!\n";
}else{break;}
}
while(1){
cout<<"Tahun\t[yyyy]\t\t: "; cin>>pjm.thn;
if(pjm.thn<=0){
cout<<"---ERROR---\n";
}else{break;}
}
cout<<endl<<"Tanggal peminjaman: "<<endl;
30]\t: "; cin>>pjm.hari;
if(pjm.hari<=0||pjm.hari>30){
n";
\t: "; cin>>pjm.bln;
if(pjm.bln<=0||pjm.bln>12){
n";
t: "; cin>>pjm.thn;
n";
//TANGGAL PENGEMBALIAN
cout<<endl<<"Tanggal Kembali: "<<endl;
while(1){
cout<<"Tanggal\t[1 - 30]
if(balik.hari<=0||balik.hari>30){
cout<<"---ERROR---!\n";
}else{break;}
}
while(1){
cout<<"Bulan\t[1
if(balik.bln<=0||balik.bln>12){
cout<<"---ERROR
}else{break;}
}
while(1){
cout<<"Tahun\
if(balik.thn<=0){
cout<<"---ERROR
}else{break;}
}
cout<<endl<<"Tanggal Kembali: "<<endl;
30]\t: "; cin>>balik.hari;
if(balik.hari<=0||balik.hari>30){
n";
t[1 - 12]\t: "; cin>>balik.bln;
if(balik.bln<=0||balik.bln>12){
ERROR---!\n";
\t[yyyy]\t\t: "; cin>>balik.thn;
if(balik.thn<=0){
ERROR---!\n";
//TANGGAL PENGEMBALIAN
cout<<endl<<"Tanggal Kembali: "<<endl;
while(1){
cout<<"Tanggal\t[1 - 30]
if(balik.hari<=0||balik.hari>30){
cout<<"---ERROR---!\n";
}else{break;}
}
while(1){
cout<<"Bulan\t[1
if(balik.bln<=0||balik.bln>12){
cout<<"---ERROR
}else{break;}
}
while(1){
cout<<"Tahun\
if(balik.thn<=0){
cout<<"---ERROR
}else{break;}
}
cout<<endl<<"Tanggal Kembali: "<<endl;
30]\t: "; cin>>balik.hari;
if(balik.hari<=0||balik.hari>30){
n";
t[1 - 12]\t: "; cin>>balik.bln;
=0||balik.bln>12){
ERROR---!\n";
\t[yyyy]\t\t: "; cin>>balik.thn;
if(balik.thn<=0){
ERROR---!\n";
//PERHITUNGAN DENDA
int lamaPinjam = (balik.hari-pjm.hari)+((bali
int terlambat = lamaPinjam -
int denda=0;
if(lamaPinjam>7){
denda = terlambat *100*byk;
}
//PERHITUNGAN JATUH TEMPO PENGEMBALIAN
jatem.hari = pjm.hari+7;
jatem.bln = pjm.bln+(jatem.hari/31);
jatem.thn = pjm.thn+(jatem.bln/13);
if(jatem.hari>30){
jatem.hari-=30;
}
if(jatem.bln>12){
jatem.bln-=12;
}
clrscr();
cout<<"\t\t SIRKULASI PEMINJAMAN";
cout<<"\n\t -+-+-+-+-+-+-+-+
cout<<"\n\n\n\t+----------------------------------
cout<<"\n\t| DATA PEMINJAM
cout<<"\n \t+----------------------------------
cout<<"\n\t Nama\t: "<<dt.mahasiswa;
cout<<"\n\t NIM\t: "<<dt.nim;
cout<<"\n\n\n\t+----------------------------------
pjm.hari)+((balik.bln-pjm.bln)*30)+((balik.thn-pjm.thn)*360);
- 7;
denda = terlambat *100*byk;
//PERHITUNGAN JATUH TEMPO PENGEMBALIAN
jatem.bln = pjm.bln+(jatem.hari/31);
n = pjm.thn+(jatem.bln/13);
t SIRKULASI PEMINJAMAN";
+-+-+-+-+-+-+-+-+-+-";
----------------------------------+";
t| DATA PEMINJAM\t |";
----------------------------------+";
t: "<<dt.mahasiswa;
t: "<<dt.nim;
----------------------------------+";
pjm.thn)*360);
cout<<"\n\t| DATA BUKU
cout<<"\n \t+----------------------------------
for(int a=1; a<=byk; a++){
cout<<"\n\t"<<a<<". "<<"Kode Buku
cout<<"\n\t Judul Buku\t: "<<dt.judul[a];
cout<<"\n\t Pengarang\t: "<<dt.pengarang[a];
cout<<"\n\t ..................................";
}
cout<<"\n\n\n\t+----------------------------------
cout<<"\n\t| DATA WAKTU
cout<<"\n \t+----------------------------------
cout<<"\n\n\t Tanggal Pinjam : "<<pjm.hari<<"
cout<<"\n\t Tanggal Kembali : "<<balik.hari<<"
cout<<"\n\t Tanggal Jatuh tempo: "<<jatem.hari<<"
cout<<"\n\t Lama Peminjaman : "<<lamaPinjam<<" hari";
cout<<"\n\t Lama Keterlambatan : "<<terlambat<<" hari";
cout<<"\n\n\n\t+----------------------------------
cout<<"\n\t| DENDA \
cout<<"\n \t+----------------------------------
cout<<"\n\tDenda : Rp."<<denda<<",00";
cout<<"\n\t------------------------------------
getch();
}
t| DATA BUKU \t\t |";
----------------------------------+";
t"<<a<<". "<<"Kode Buku\t: "<<dt.kodeBuku[a];
t: "<<dt.judul[a];
t: "<<dt.pengarang[a];
..........................";
----------------------------------+";
t| DATA WAKTU\t\t |";
----------------------------------+";
t Tanggal Pinjam : "<<pjm.hari<<" - "<<pjm.bln<<" - "<<pjm.thn;
t Tanggal Kembali : "<<balik.hari<<" - "<<balik.bln<<" - "<<balik.thn;
t Tanggal Jatuh tempo: "<<jatem.hari<<" - "<<jatem.bln<<" - "<<jatem.thn;
t Lama Peminjaman : "<<lamaPinjam<<" hari";
Keterlambatan : "<<terlambat<<" hari";
----------------------------------+";
\t |";
----------------------------------+";
tDenda : Rp."<<denda<<",00";
--------------------------------";
"<<jatem.thn;
Tanggal : 20 Des 2011
NO NAMA
1. NIKEN LARASATI 10.12.4766
2. RANGGA SOPIANDI 10.12.4769
3. JORDAN SETIAWAN 10.12.
4. CICI SELVIANA TAOLIN 08.12.3096
Tanggal : 21 Des 2011
NO NAMA
1. NIKEN LARASATI
2. RANGGA SOPIANDI
3. JORDAN SETIAWAN
4. CICI SELVIANA TAOLIN
Tanggal : 22 Des 2011
NO NAMA
1. NIKEN LARASATI 10.12.4766
2. RANGGA SOPIANDI 10.12.4769
3. JORDAN SETIAWAN 10.12.
4. CICI SELVIANA TAOLIN 08.12.3096
Tanggal : 24 Des 2011
NO NAMA
1. NIKEN LARASATI 10.12.4766
2. RANGGA SOPIANDI 10.12.4769
3. JORDAN SETIAWAN 10.12.
4. CICI SELVIANA TAOLIN 08.12.3096
Tanggal : 30 Des 2011
NO NAMA
1. NIKEN LARASATI 10.12.4766
2. RANGGA SOPIANDI 10.12.4769
3. JORDAN SETIAWAN 10.12.
4. NURADIN 08.12.3410
5. CICI SELVIANA TAOLIN 08.12.3096
PRESENSI DAN AGENDA
NIM PROGRESS
10.12.4766 Penyusunan kelompok hasilnya 4
orang 10.12.4769
10.12.4734
08.12.3096
NIM PROGRESS
10.12.4766
Tidak ada progress,
pendataan anggota kelompok clear
10.12.4769
10.12.4734
08.12.3096
NIM PROGRESS
10.12.4766 Pencarian skrip dan penjelasan
referensi untuk menentukan bab-bab
laporan
10.12.4769
10.12.4734
08.12.3096
NIM PROGRESS
10.12.4766 Pencarian bab 1
10.12.4769 -
10.12.4734 Pencarian bab 2
08.12.3096 Pencarian bab 3
NIM PROGRESS
10.12.4766 Pengumpulan referensi bab 1 dan
script sebagian
10.12.4769 Pemahaman materi
10.12.4734 -
08.12.3410 Penambahan refrensi bab 1
08.12.3096 Pengumpulan referensi bab 3
(flowchart)
KEHADIRAN
√
√
√
√
KEHADIRAN
clear
√
√
√
√
KEHADIRAN
bab
√
-
√
√
KEHADIRAN
√
-
√
√
KEHADIRAN
√
√
-
√
√
Tanggal : 31 Des 2011
NO NAMA
1. NIKEN LARASATI 10.12.4766
2. RANGGA SOPIANDI 10.12.4769
3. JORDAN SETIAWAN 10.12.
4. NURADIN 08.12.3410
5. CICI SELVIANA TAOLIN 08.12.3096
Tanggal : 2 Jan 2012
NO NAMA
1. NIKEN LARASATI 10.12.4766
2. RANGGA SOPIANDI 10.12.4769
3. JORDAN SETIAWAN 10.12.
4. NURADIN 08.12.3410
5. CICI SELVIANA TAOLIN 08.12.3096
Tanggal : 3 Jan 2012
NO NAMA
6. NIKEN LARASATI 10.12.4766
7. RANGGA SOPIANDI 10.12.4769
8. JORDAN SETIAWAN 10.12.
9. NURADIN 08.12.3410
10. CICI SELVIANA TAOLIN 08.12.3096
NIM PROGRESS
10.12.4766 Pembahasan dan pengerjaan script
10.12.4769
10.12.4734 -
08.12.3410 Pengumpulan referensi tambahan bab
1
08.12.3096 Pembahasan dan pengerjaan script
NIM PROGRESS
10.12.4766 Penyelesaian dan revisi isi makalah
10.12.4769
10.12.4734
08.12.3410
08.12.3096 Revisi flowchart
NIM PROGRESS
10.12.4766 Finishing makalah dan slide presentasi
10.12.4769
10.12.4734
08.12.3410
08.12.3096
KEHADIRAN
Pembahasan dan pengerjaan script √
√
√
Pengumpulan referensi tambahan bab √
Pembahasan dan pengerjaan script √
KEHADIRAN
revisi isi makalah √
√
-
-
√
KEHADIRAN
makalah dan slide presentasi √
√
-
-
-