oleh :
arif zainurrohman
danni setiadi
sepdia mautia putri
I.
JUDUL
PROGRAM : Program
Karaoke
II.
DESKRIPSI
PROGRAM :
Program kali ini
merupakan program mandiri yang berjudul Program Karaoke dimana pada program ini, menginput data
member dan bukan member serta jenis ruangan yang digunakan, beserta dengan tipe
harga yang di input sebelumnya. Dan output yang dihasilkan menghasilkan nama yang berupa
member atau bukan dan berlaku potongan pada member dan tak berlaku untuk bukan
member, kemudian output yang dihasilkan yaitu jam masuk dan jam keluar dari
pelanggan, setelah itu jenis ruangan yang dipilih, dan uang kembalian yang
dihasilkan. Dalam program karaoke ini terdapat 5 pendeklarasian yang berbeda, yaitu (1)
tipe pendeklarasian const yang digunakan untuk mendeklirkan garis1, garis2,
garsed1, garsed2, gar2, gar1, gar3, garspas, spasi, spasi2, teks1=’Program
Mandiri Karaoke’; teks2=’Ardasep Karaoke’;
dan teks3=’2012’; bagian const ini akan dipanggil pada bagian deskripsi
nantinya (2) Type, pendeklarasian tipe type ini menggunakan tipe terstruktur yaitu record pada field karaoke,
seperti karaoke=record kd member: bertipe data word, dan nama yaitu string[20]
dengan batasan string [20]. (3) tipe pendeklarasian ketiga ini menggunakan tipe
terstruktur juga yaitu record dengan field-field kdruang:word, jenis
:string[10], status:string[10], kapasitas:string[10]. Pendeklrasian ini
nantinya akan dipanggil pada pemanggilan menu pengurusan ruangan. (4) Pendeklrasian
selajutnya yaitu type dengan nama_record nya berupa waktu=record dan field yang
digunakan hanya jam:integer (bilangan bulat). (5) pada bagian pendeklrasian ini
yaitu Deklarasi Variabel
atau Var dengan variabel yang digunakan berupa filekaraoke : file of karaoke
ini menyatakan bahwa dengan variabel filekaraoke tipe yang di maskud di ambil
dari file karaoke pada folder yang sama nantinya, kemudian filetempat, data,
data1, nama, j:array [0..3] of waktu, menunjukkan elemen array dengan indeks
awal 0 dan berakhir dengan indeks akhirnya 3,
harga1,harga2,pajak,potongan,total,ubay,ukem: real, jenru:string[10],
pil,pul,pal,pel,pol:char, dan x,y,i: integer.
Pendekrasian pada
bagian variabel ini menunjukkan variabel-variabel yang akan digunakan sebagai
patokan pada bagian procedure pelanggan. Pada program karaoke ini terdapat 13
jenis procedure yang memiliki fungsi yang berbeda satu sama lain. Pada
procedure title hanya menempatkan teks1, teks2, dan teks3 serta garis. Dengan bantuan go to
x dan y ini mempermudah pembacaan program.
Pada procedure menu
ini menuliskan deretan menu utama yang akan dipanggil yaitu (1) nMenu
pengurusan anggota (2) menu pengurusan ruangan (3) Pelanggan (4) keluar
program dengan pilihan [1..4]. untuk mempermudah peletakkan digunakan patokan
nilai x:=30 dan y:=6. Procedure bukafile, merupakan suatu procedure yang
digunakan dengan menempatkan terlebih dahulu file karaoke.txt yang telah berisi
data dan di panggil setelah terdapat pemanggilan, maka ketika menuliskan/
memasukkan input file karaoke otomatis terisi. Sama halnya dengan procedure
bukafile, file yang dibuka berbeda yaitu file tempat .txt pada folder yang sama.
Procedure akhir ni
di panggil pada akhir program, dengan patokan kolom 30 dan 10. Penulisan program
mandiri otomatis berda pada tengah layar. Isi dari procedure ini berisi kondisi
dimana Jika variabel ‘lagi’ dipanggil dan kemudian enter maka kondisi tersebut
bernilai benar dan kembali ke menu utama.
Pada procedure
tambah ini, variabel yang ditentukan ada 4 yaitu lagi:char; ada:boolean; (True atau False),
i:integer; dan NOCR:word. Dengan pemberian label satu memudahkan pengulangan
yang nantinya akan terdapat label 2 dan 3. Label satu berisi file output yang di buka dengan perintah
lagi:=’y’ dan Bukafile. Jika input serta output menghasilkan nilai nol kemudian
di ulang dengan variabel ada bernilai false, i=0. Maka program
melaksanakan pemanggilan untuk menambah member, dan menginput kode member. Ketika ‘ada’
bernilai ‘false’ dan i tidak seukuran dengan ukuran file karaoke, maka program
akan melaksanakan perintah selanjutnya dengan mencari file karaoke dan membaca
file karaoke, jika data file karaoke ‘kdmember’=’NOCR’ maka ‘ada’ bernilai
‘true’ dan kalau tidak program menjalankan inc(i) yaitu memasukkan nilai ‘i’
(include nilai i). Pada kondisi selanjutnya jika ‘ada’ menyatakan ‘true’ maka
program menghasilkan pemanggilan ‘Member ini sudah ada’. Kalau tidak maka file
karaoke dicari, dengan memasukkan input nama dan input file karaoke. Jika
sudah, maka akan muncul pemanggilan untuk menambah data lagi. Smapai variabel
‘lagi’ tidak bernilai ‘Y’, lalu file karaoke ditutup.
Procedure tambah1 ini sama halnya dengan procedure
tambah, variabel yang digunakan juga sama tetapi label pada procedure tambah1
ini menunjukkan label ke dua. Jika pernyataan ‘lagi’ pada procedure tambah1
bernilai ‘Y’, dan jika input sekaligus output menghasilkan nilai 0 kemudian, di
ulang dengan kondisi ‘ada’ bernilai ‘false’, i sama dengan 0 maka mencetak
‘.........’ dan kode ruangan. Dan ketika ‘ada’ bernilai ‘false’ lagi dan i
berukuran bukan 0 maka pemanggilannya mencari filetempat, dengan keluaran
‘Penulisan kode ruang telah ada’
Pada procedure edit
ini berisi program untuk mengubah status ruangan, dan menghasilkan kode ruangan
yang akan diubah serta jenis ruangan yang dimaksud tersebut yang mana. Kemudian pada
procedure Hapus; procedure ini berisi mengenai Penghapusan datamember yang
telah ada. Ini memudahkan untuk menghapus member yang dimana jika member
tersebut tidak ingin lagi menjadi member di tempat karaoke ini. Dengan membaca file karaoke yaitu karaoke.txt dari folder
dan menghapus file yang tersimpan di karaoke.txt. Procedure hapus1;
selanjutnya, berkenaan dengan dengan penghapusan ruangan yang telah disediakan,
caranya sama saja dengan procedure hapus; tetapi yang membedakan adalah bahwa file yang diangkut merupakan
filetempat.txt yang diambil pada folder dan ketika file penghapusan benar maka
otomatis mengubah isi filetempat.txt. sampai dengan variabel ‘lagi’ tidak sama
dengan ‘Y’ procedure program terhenti.
Pada procedure tampil; berbeda dengan procedure
sebelumnya karena procedure ini digunakan untuk menampilkan program yang sudah di
input oleh pemakai, dengan kondisi jika input maupun output yang dihasilkan
tidak sama dengan 0, maka program menuliskan ‘Maaf Data Masih Kosong’ Dan jika
tidak program akan memulai untuk memasukkan No. , Kode, dan nama member yang
dimaksud.
Procedure tampil1; ini sama halnya dengan procedure
tampil; yang sebelumnya pada procedure tampil1 ini menampilkan Data ruangan,
yang termasuk didalamnya yaitu No. Kode, Jenis Ruangan, Status ruangan ( Free
atau tidak), kemudian kapasitas dari ruangan tersebut.
Pada Procedure pelanggan, ini merupakan procedure yang
dikhususkan buat pelanggan yang terikat dengan member sebelumnya. Pada
procedure pelanggan ini; berisi nama pelanggan, jam masuk dan jam keluar. Pada
jam masuk jika j[1]jam > 24 kemudian sampai dengan j[1].jam<25 maka
merupakakan input waktu masuk dan pada jam keluar jika j[2].jam>24 atau
j[2].jam < j[1].jam dan waktu total didapatkan dari
j[3].jam:=j[2].jam-j[1].jam. Untuk jenis ruangan berlaku 2 jenis yaitu vvip dan
vip. Untuk jenis ruang VVIP berlaku harga1 yang didapatkan jika j[3].jam
dikalikan dengan 200000. Dan untuk jenis VIP berlaku harga2 dengan
j[3].jam*100000. Untuk semua jenis ruangan berlaku potongan biaya, potongan
biaya pertama untuk jenis ruang pertama potongan = 0.1*harga1. Dan jenis potongan
kedua berlaku =0.1*harga2. Dan untuk setiap jenis ruangan berlaku pajak 10000.
Dan untuk total biaya total= harga1 ataupun harga2 + pajak – potongan biaya.
Untuk Procedure pelanggan yang tidak terikat dengan member maka pemanggilan
procedure yang dihasilkan tidak berlaku diskon bagi member. Jadi, bentuk
pemanggilannya sama dengan pelanggan dengan member.
Pada procedure anggota ini menampilkan menu-menu
kepengurusan anggota yang terdiri dari tambah anggota, tampilkan data anggota,
dan hapus data anggota. Begitu juga dengan procedure ruangan dengan bentuk
pemanggilan menu kepengurusan anggota yang terdiri dari Tambah data ruangan,
tampilkan data ruangan, ubah status ruangan, dan terakhir hapus data ruangan.
Ibu kota , 10 Oktober 2013
akhukum fillah arif zainurrohman
0 komentar:
Posting Komentar