makala struktur data

23
S SISTEM DOSEN 1. Nike 2. Rang 3. Jorda 4. Cici S 5. Nura S Kampus Terpadu: Ring R Website: w MAKALAH STRUKTUR DATA M INFORMASI PERPUSTAAKAAN N PENGAMPU : RISKY ADITYA, S. KOM Ditulis Oleh: KELOMPOK III en Larasati (10.12.4766) gga Sopiandi (10.12.4799) an Setiawan (10.12.4734) Selviana Taolin (08.12.3096) adin (08.12.3410) STMIK AMIKOM Yogyakarta Road Utara Condong Catur Telp. (0274) 884201 Fax. (027 www.amikom.ac.id Email: [email protected] 74) 884208

Upload: rusdionoeko

Post on 14-Aug-2015

82 views

Category:

Documents


3 download

DESCRIPTION

tugas

TRANSCRIPT

Page 1: Makala struktur data

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

Page 2: Makala struktur data

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

Page 3: Makala struktur data

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

Page 4: Makala struktur data

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

Page 5: Makala struktur data

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

Page 6: Makala struktur data

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

Page 7: Makala struktur data

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

Page 8: Makala struktur data

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

Page 9: Makala struktur data

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

Page 10: Makala struktur data

Format :switch (<variabel>) {

case<kondisi 1>: <pernyataan 1>

case<kondisi 2>: <

default:

}

switch (<variabel>) {

case<kondisi 1>: <pernyataan 1>

case<kondisi 2>: <pernyataan 2>

Page 11: Makala struktur data

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

Page 12: Makala struktur data

Input Member :

Input Data Buku :

Input Tanggal :

PRINTED SCREEN

Page 13: Makala struktur data

Output :

Page 14: Makala struktur data

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-

Page 15: Makala struktur data

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;

Page 16: Makala struktur data

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]);

Page 17: Makala struktur data

//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";

Page 18: Makala struktur data

//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";

Page 19: Makala struktur data

//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";

Page 20: Makala struktur data

//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);

Page 21: Makala struktur data

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;

Page 22: Makala struktur data

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

-

Page 23: Makala struktur data

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 √

-

-

-