ig : Erixsyaifulr

Tugas 5 SMBD Analisis Desain Basisdata


Postingan kali ini yaitu tentang tugas 5 SMBD yaitu tentang Analisi Desain Basis Data. Untuk jawaban bisa dilihat dibawah ini



 Sekian postingan kali ini dari saya tentang tugas 5 SMBD Analisis Desain Basisdata, untuk file bisa didownload

Software pemrograman java


Untuk postingan yang ke sekian kalinya kali ini saya akan berbagi software untuk pemrograman JAVA, untuk softwarenya ada dua yaitu compiler dan aplikasi utamanya yaitu net beans.
langsung saja filenya download di bawah ini ;

  • Untuk file compiler bisa anda dapatkan di link ini
  • sedangkan untuk aplikasi net beans nya bisa anda dapatkan disini
sekian postingan saya kali ini semoga bermanfaat dan berkah.

Software program pascal


Nah untuk kali ini saya mau berbagi file untuk pemrograman pascal, dan bahannya yaitu :

  • free pascal (compiler) langsung bisa didownload disini (32 bit) dan disini (64 bit )
  • geany (aplikasi pemrogramannya) langsung download disini
ya hanya itulah yang dibutuhkan, untuk penginstalannya yaitu harus DIINGAT bahwa yang terlebih dahulu diinstal yaitu compilernya yaitu free pascal sesuai dengan jumlah bit PC anda.
Sekian dan terimakasih.

Tugas 4 SMBD Desain Basis Data


Assalamu'alaikum wr.wb
Postingan kali ini yaitu tentang tugas 4 SMBD tentang Desain Basis Data , langsung bisa dilihat dibawah ini


 Sekian postingan dari saya untuk tugas 4 SMBD, semoga bermanfaat. Untuk file bisa klik Wassalamu'alaikum wr.wb.

Cara membuat daftar isi di Ms Word tidak manual


Nah pada postingan kali ini saya akan menjelaskan bagaimana cara membuat daftar isi otomatis yaitu menggunakan Table of Content pada pembuatan makalah ataupun lainnya. Selama ini mungkin kita membuat daftar isi masih manual kan wkwk kita masih bikin titik-titik banyak dengan memencet tombol titik untuk membuat daftar isi. Nah langsung saja kali ini saya akan menjelaskan membuat daftar isi tanpa memencet tombol titik :), beginilah caranya :

  • Cara 1  Buka file atau dokumen yang telah anda buat, lalu buka di MS. Word 2007
  • Cara 2  Blok tulisan yang ingin Anda tampilkan dalam daftar isi, misalnya yang pertama kali Anda blok tulisan “BAB I. PENDAHULUAN”,
  • Cara 3   : Klik di menu Reference, pada Sub Menu Table of Contents klik di tulisan Add Teks nanti akan muncul pilihan mulai dari Level 1 sampai dengan Level 3. Silahkan Anda klik Level 1, Jangan kaget karena tulisan Anda akan bergeser ke sebelah kiri halaman dan tulisan akan berubah warna menjadi warna Biru. Anda bisa kembali menempatkannya ke bagian tengah dan mengganti warna tulisan menjadi hitam.


  • Cara 4 : Blok Sub Item dari Bab I tersebut misalnya “A. Latar Belakang
  • Cara 5 : Ulangi tahap 3 diatas, namun untuk Sub Item tersebut silahkan pilih Level 2. Begitu seterusnya untuk Sub Item lainnya.
  • Cara 6 : Ulangi semua tahap 2 sampai tahap 5 untuk Bab berikutnya.
  • Cara 7 : Silahkan buka halaman baru di file baru MS. Word atau buat halaman baru di  akhir tulisan (pilih yang Anda mau)
  • Cara 8 : Masih pada Menu Reference dan Sub Menu Table of Contents silahkan klik tulisan “Table of Contents” selanjutnya pilih pada “Automatic Table 1”


Nah kalau sudah nanti akan tampil daftar isi yang rapi seperti gambar dibawah walaupun tidak membuat titik-titik secara manual 


Jika sudah tampil dan misalnya kita melakukan perubahan pada dokumen kita tersebut, jangan lupa untuk mengupdate daftar isi yang telah kita buat sebelumnya , caranya yaitu

  • Pada References tab, Table of Contents group, klik Update Table. Atau klik di bagian daftar isi sehingga muncul tampilan seperti di bawah ini dan klik Update Table

  • Klik :


  1. Update page numbers only, bila perubahan hanya pada nomor halaman karena jumlah halaman bertambah/berkurang atau format nomor halaman berubah.
  2. Update entire table, bila ada penambahan/pengurangan heading atau bila ada perubahan teks pada heading atau judul bab.
Nah setelah anda mengupdate maka daftar halaman yang sebelumnya kita lakukan perubahan akan terupdate sendiri tanpa mengganti angka pada daftar isi.

\
Sekian postingan saya kali ini semoga bermanfaat , tengkiyu for reading.



Tugas makalah Pengamalan Pancasila Sila ke 3



Berikut ini adalah contoh makalah pengamalan sila Pancasila sila ke 3 yatitu "Persatuan Indonesia"



 Demikian postingan kali ini semoga bermanfaat.

Tugas 3 SMBD


Untuk postingan kali ini berisi tentang Tugas 3 Desain Basis Data


Demikian postingan untuk tugas 3 SMBD tentang Desain Basis Data. Untuk link download bisa klik

Tugas 2 SMBD


Postingan kali ini berisi tentang Studi Kasus DBMS

Demikian postingan kali ini semoga bermanfaat & thanks for reading.
  Link donwload bisa klik

Tugas 1 SMBD


Pada postingan kali ini berisi tentang Analisis Kode Data NIM dan NIK
Demikian postingan kali ini semoga bermanfaat, Untuk file bisa didownload

Antrian pos

program antrian_pos;
uses crt;
const max=10;
type antrian=record
no_kartu:array[1..max] of byte;
depan,belakang:0..max;
end;
type pos=record
no:longint;
nama,alamat:string;
end;
larik_pos=array[1..max] of pos;
var antri,dummy:antrian;
bayar:larik_pos;
pil,pilih,i,a,n,kilo:byte;
harga:longint;
bayarp,kilob,kembali:longint;

function habis(x:antrian):boolean;
begin if a=100+max then habis:=true else habis:=false; end;

function kosong(x:antrian):boolean;
begin if x.belakang=0 then kosong:=true else kosong:=false; end;

procedure masuk_antrian(var x:antrian);
begin
writeln('selamat dtang di kantor pos mailik kami bertiga');
inc(x.belakang); inc(a);
x.no_kartu[x.belakang]:=a;
writeln('Anda mendapat kartu antrian nomor ',a,' posisi antrian ke ',x.belakang);
writeln('silahkan sabar menunggu');
end;

procedure cetak_antrian(var x:antrian);
begin
writeln('Kondisi antrian saaat ini');
writeln('----------------------------------');
writeln('  posisi          nomor kartu');
writeln('----------------------------------');
for i:=x.depan to x.belakang do writeln(i:4,'   ',x.no_kartu[i]:15);
writeln('----------------------------------');
writeln('saat ini ada ',x.belakang,' pengantree');
end;

procedure cetak_pembayaran(var x:larik_pos);
begin
writeln('DAFTAR YANG SUDAH MENGIRIM BARANG');
writeln('---------------------------------------');
writeln('no     nama       no hp          alamat');
writeln('---------------------------------------');
for i:=1 to n do writeln(i,'   ',x[i].nama:5,'   ',x[i].no:8,'         ',x[i].alamat);
writeln('---------------------------------------');
writeln('saat ini ada ',n,' orang yang sudah mengirim sesuatu');
end;

procedure layanan_pos(var x:antrian;var y:larik_pos);
label ulang;
begin
clrscr;
writeln('Selamat datang di layanan pengiriman barang');
writeln('Anda memiliki nomor kartu dengan no kartu antrian ',x.no_kartu[x.depan],' silahkan masuk konter');
for i:=x.depan to x.belakang-1 do x.no_kartu[i]:=x.no_kartu[i+1];
dec(x.belakang);
inc(n);
writeln('Masukan data diri anda');
write('Nama     : ');readln(y[n].nama);
write('No HP      : ');readln(y[n].no);
write('Masukan alamat      : ');readln(y[n].alamat);
writeln('selamat datang di menu layanan pos milik kami bertiga');
writeln('1. Paket');
writeln('2. Surat');
writeln('3. Kilat Khusus');
writeln('4. Wassel');
writeln('Masukan pilihan anda');readln(pilih);
case pilih of
1:begin
clrscr;
writeln('Anda berada dalam menu paket, isi prosedur dibawah ini');
writeln('Berikut adalah daftar harga paket : ');
writeln('1. 1 kg = Rp. 2000,00');
writeln('2. 2 kg = Rp. 4000,00');
writeln('3. 3 kg = Rp. 6000,00');
writeln('4. 4 kg = Rp. 10000,00');
writeln('5. 5 kg = Rp. 20000,00');
ulang:
write('Berapa kilo paket yang akan anda kirim ? ');readln(kilo);
if (kilo<1) or (kilo>5) then begin writeln('maaf kami tidak bisa melayaninya karena minimal pengiriman 1 kilo dan maksimal 5 kilo');goto ulang;end;
if (kilo=1) then harga:=2000;
if (kilo=2) then harga:=4000;
if (kilo=3) then harga:=6000;
if (kilo=4) then harga:=10000;
if (kilo=5) then harga:=20000;
kilob:=kilo*harga;
writeln('anda harus membayar ',kilob,' rupiah');
write('Masukkan pembayarannya : ');readln(bayarp);
kembali:=bayarp-kilob;
writeln('anda membayar sebesar ',bayarp,' kembali sebesar ',kembali,' rupiah');
end;
end;
end;

procedure keluar_antrian(var x:antrian);
var keluar,pos,j:byte;ada:boolean;
ya:char;

begin
ada:=false;
writeln('Keluiar antrian');
cetak_antrian(x);
write('masukan nomer yang kan keluar');readln(keluar);
for i:=x.depan to x.belakang do
begin if x.no_kartu[i]=keluar then begin ada:=true; pos:=i;end;end;
if not ada then writeln('nomor tidak ditemukan')
else
begin
write('yakin mau keluar ? ');readln(ya);
if(ya='y') or (ya='Y') then
begin
for j:=pos to x.belakang-1 do x.no_kartu[j]:=x.no_kartu[j+1];
dec(x.belakang);
writeln('nomor kartu ',keluar,' sudah meninggalkan antrian');
end
else
writeln('nomor kartu ',keluar,' tidak jadi keluar');
end;
end;
 
procedure sisip_antrian(var x:antrian);
var pos:byte;
label ulang;

begin
writeln('Menyisipkan seseorang ke antrian');
inc(a);writeln('selamat datang di layannan pengiriman barang');
writeln('anda mendapat nomer antrian ',a);
cetak_antrian(x);
write('sehubungan anda mendapakan layanan khusus, anda boleh menentukan menentukan nomer antrian');
ulang:
write('masukan nomer antrian yang nada inginkan ');readln(pos);
if (pos<x.depan) or (pos>x.belakang+1) then
begin writeln('posisi tidak diijinkan, ulangi isi posisi antara ',x.depan,' sampai ',x.belakang+1,' : ');goto ulang;
end;
if pos=(x.belakang+1) then
begin  inc(x.belakang);x.no_kartu[x.belakang]:=a;end
else
begin
for i:=pos to x.belakang do
begin inc(dummy.belakang); dummy.no_kartu[dummy.belakang]:=x.no_kartu[i];dec(x.belakang);end;
inc(x.belakang);x.no_kartu[x.belakang]:=a;
for i:=dummy.depan to dummy.belakang do
begin
inc(x.belakang);
x.no_kartu[x.belakang]:=dummy.no_kartu[i];
dec(dummy.belakang);
end;
writeln('nomor antrian ',a,' telah disisipkan');
end;
end;



begin
antri.depan:=1;antri.belakang:=0;a:=100;n:=0;
repeat
clrscr;
writeln('Pengelolaan antian untuk mengirim barang');
writeln('1. Masuk antrian');
writeln('2. Layanan pembayaran');
writeln('3. Cetak antrian');
writeln('4. Cetak daftar pengirim barang');
writeln('5. Menyisipkan antrian');
writeln('6. Keluar dari antrian');
writeln('0. Selesai');
write('pilih menu');readln(pil);
case pil of
1:if habis(antri) then writeln('maaf hanya melayani 10 mahasiswa')else masuk_antrian(antri);
2:if kosong(antri) then writeln('tidak ada mahasiswa dalam antrian')else layanan_pos(antri,bayar);
3:if kosong(antri) then writeln('tidak ada pengantri saat ini')else cetak_antrian(antri);
4:cetak_pembayaran(bayar);
5:if habis(antri) then writeln('maaf nomer antrian sudah habis') else sisip_antrian(antri);
6:if kosong(antri) then writeln('Antrisn sudah kosong') else keluar_antrian(antri);
0:writeln('terimakasih') else writeln('anda slah memilih menu');
end;
readln;
until pil=0
end.

Input, Cetak, Edit, Hapus

program week10_A1_larik;
uses crt;
const max=10;
type larik1=array[1..max]of string;
larik2=array[1..max]of real;
var nim,nama,prodi:larik1;
ip:larik2;
pil:0..4; i,n:byte;

procedure Isi_data(var x,y,z:larik1; var a:larik2);
var yy:string; ya:char;
label ulang,ulang1;

begin
repeat
  inc(n);writeln('mengisi data mahasiswa ke',n);
  ulang:
  write('masukan nim    :');readln(yy);
  if n>0 then
  begin for i:=1 to n do
begin if x[i]=yy then
begin writeln('nim sudah digunakan, ulangi');goto ulang;end;
end;
  end;
  x[n]:=yy;
  write('masukan nama  :');readln(y[n]);
  write('masukan prodi :');readln(z[n]);
  ulang1:
  write('masukan ip    :');readln(a[n]);
  if (a[n]<=0)or(a[n]>4)then begin writeln('inputan tidak valid, ulangi');goto ulang1;end;
  writeln;
  write('apakah anda akan menambah mahsiswa lagi <y/t> :');readln(ya);
until (ya<>'y')and(ya<>'Y');
end;

procedure cetak_data(a,b,c:larik1; d:larik2);
begin
writeln('           DAFTAR MAHASISWA DENGAN IP NYA ');
writeln('--------------------------------------------------------');
writeln('No        NIM          Nama          Prodi           IP');
writeln('--------------------------------------------------------');
for i:=1 to n do
  writeln(i:2,'  ',a[i]:6,'  ',b[i]:12,'  ',c[i]:12,'  ',d[i]:6:2);
writeln('--------------------------------------------------------');
end;

procedure Edit_Data(var a,b,c:larik1;var d:larik2);
var edit:string; ada:boolean; pilih,pos:byte; ya:char;
label  ulang;

begin
writeln('mengedit data mahsaiswa');
write('masukkan nim mhs yg akan diedit  :');readln(edit);
ada:=false;
for i:=1 to n do if a[i]=edit then begin ada:=true;pos:=i;end;
if ada then
begin
ulang:
writeln('anda akan mengedit data mahasiswa dengan NIM',edit);
writeln('yang akan diedit: 1. Nama  2. Prodi  3. IP');
write('pilih salah satu   :  ');readln(pilih);
case pilih of
1: begin
writeln('anda akan mengedit nama');
writeln('Nama sebelum diedit  :  ',b[pos]);
write('masukan Nama yg baru:');readln(b[pos]);
   end;
2: begin
writeln('anda akan mengedit Prodi');
writeln('Prodi sebelum diedit  :',c[pos]);
write('masukan Prodi yg baru  :');readln(c[pos]);
   end;
3: begin
writeln('anda akan mengedit IP');
writeln('IP sebelum diedit  :',d[pos]);
write('masukan IP yg baru  :');readln(d[pos]);
   end else writeln('anda salah memilih menu, tidak jadi mengedit');
end;{end case}
writeln;
write('apakah anda akan mengedit lagi atribut lain dari NIM',edit,' <y/t> ?');readln(ya);
if (ya='y')or (ya='Y') then goto ulang else writeln('editing selesai');
end {end if ada}
else writeln('NIM',edit,'  tidak ditemukan');
end;

procedure hapus_nomor(var a,b,c:larik1;var d:larik2);
var hapus:byte; ya:char;

begin
write('masukkan nomor urut mahasiswa yang akan dihapus ; ');readln(hapus);
if(hapus<1) or (hapus>n) then writeln('nomor urut tidak valid')
else
begin
writeln('Anda akan menghapus data nomor urut ',hapus);
write('yakin akan dihapus<y/t> ?');readln(ya);
if (ya='y') or (ya='Y') then
begin
writeln('nomor urut',hapus,' dihapus');
for i:=hapus to n-1 do
begin a[i]:=a[i+1];b[i]:=b[i+1];c[i]:=c[i+1];d[i]:=d[i+1];end;
dec(n);
end
else writeln('Nomor urut',hapus,' tidak jadi dihapus');
end;
end;

procedure hapus_nim(var a,b,c:larik1;var d:larik2);
var hapus:string; pos:byte; ada:boolean;ya:char;

begin
write('masukkan nim yan akan dihapus : ');readln(hapus);
ada:=false;
for i:=1 to n do if a[i]=hapus then begin ada:=true;pos:=i;end;
if not ada then writeln('nim',hapus,'tidak ditemukan')
else
begin
writeln('Mahasiswa dengan nim: ',hapus,' ditemukan');
writeln('nama    :',b[pos]);
writeln('prodi   :',c[pos]);
writeln('IP      :',d[pos]:4:2);
write('yakin akan menghapus data tersebut <y/t> ?');readln(ya);
if (ya='y') or (ya='Y') then
begin
writeln('NIM',hapus,'dihapus');
for i:=pos to n-1 do
begin a[i]:=a[i+1];b[i]:=b[i+1];c[i]:=c[i+1];d[i]:=d[i+1];end;
dec(n);
end
else writeln('NIM',hapus,' tidak jadi dihapus');
end;
end;

procedure hapus_nama(var a,b,c:larik1;var d:larik2);
var hapus:string; pos,j:byte; ada:boolean;ya:char;

begin
write('masukkan  naama mhs yang akan dihapus :');readln(hapus);
ada:=false;
for i:=1 to n do if b[i]=hapus then
begin
ada:=true;
writeln('Nama mahasiswa :',hapus,' ditemukan');
pos:=i;
writeln('nama    :',a[pos]);
writeln('prodi   :',c[pos]);
writeln('IP      :',d[pos]:4:2);
write('yakin akan menghapus data tersebut <y/t> ?');readln(ya);
if (ya='y') or (ya='Y') then
begin
writeln('NIM',hapus,'dihapus');
for j:=pos to n-1 do
begin a[j]:=a[j+1];b[j]:=b[j+1];c[j]:=c[j+1];d[j]:=d[j+1];end;
dec(n);
end
else writeln('NIM',hapus,' tidak jadi dihapus');
end;
if not ada then writeln('Nama mahasiswa',hapus,' tidak ditemukan');
end;

procedure hapus_data(var a,b,c:larik1;var d:larik2);
var pilih:byte;

begin
writeln('Mengahpus data mahasiswa');
cetak_data(a,b,c,d);
writeln('Anda akan melakukan penghapusan berdasarkan');
writeln('1. No urut');
writeln('2. NIM');
writeln('3. Nama');
write('masukkan pilihan anda <1-3> ?');readln(pilih);
case pilih of
1:hapus_nomor(a,b,c,d);
2:hapus_nim(a,b,c,d);
3:hapus_nama(a,b,c,d);
end;
writeln('Enter untuk kembali ke menu utama');
end;


begin
n:=0;
repeat
clrscr;
writeln('mengelola data mahasiswa');
writeln('1. Input Data');
writeln('2. Cetak Data');
writeln('3. Edit Data');
writeln('4. Hapus Data');
writeln('0. Selesai');
write('masukkan pilihan anda <0-4> :');readln(pil);
case pil of
1: if n=max then writeln('kuota mhs sudah penuh')else Isi_Data(nim,nama,prodi,ip);
2: if n=0 then writeln('cingireeeeee!!!!!!!!!!!! urung ana datane broook')else Cetak_Data(nim,nama,prodi,ip);
3: if n=0 then writeln('daftar mhs masih kosong')else Edit_Data(nim,nama,prodi,ip);
4: if n=0 then writeln('daftar mhs masih kosong')else hapus_data(nim,nama,prodi,ip);
0: writeln('terimaksih') else writeln('anda salah pilih menu');
end;
readln;
until pil=0;
end.

Array bioskop

program bioskop122;
uses crt;
const max=10;
type larik1=array[1..max]of string;
larik2=array[1..max] of byte;
larik3=array[1..max] of real;
type bioskop=record
judul_film,jam_tayang:string;
no_kursi:larik2;
status:larik1;
tarif:larik3;
jum_penonton:byte;
pendapatan:real;
end;
larik_bioskop=array[1..4]of bioskop;
var xx1:larik_bioskop; i,j,pil,pilih:byte;


procedure inisialisasi(var x:larik_bioskop);
begin
writeln('Mengisi data theatre');
for j:=1 to 4 do
begin
write('Masukan judul film yang akan diputar di theatre: ',j,' : ');readln(x[j].judul_film);
write('Masukan jam tayangnya : ');readln(x[j].jam_tayang);
for i:=1 to max do
begin x[j].no_kursi[i]:=i;
  if x[j].no_kursi[i]<=3 then x[j].tarif[i]:=30000 else if x[j].no_kursi[i]<=7 then x[j].tarif[i]:=40000
  else x[j].tarif[i]:=50000;
  x[j].status[i]:='kosong';
  x[j].jum_penonton:=0;
end;
end;
end;

procedure cetak_bioskop(var x:larik_bioskop);
begin
writeln('Cetak kondisi kursi bioskop XX1');
writeln;
for j:=1 to 4 do
begin
writeln('judul film di theatre ',j,' :',x[j].judul_film);
writeln('jam tayang   :',x[j].jam_tayang);writeln;
writeln('--------------------------------------');
writeln('No kursi       Status          Tarif');
writeln('--------------------------------------');
for i:=1 to max do
writeln(x[j].no_kursi[i]:4,'    ',x[j].status[i]:6,'    ','Rp',x[j].tarif[i]:6:2);
writeln('--------------------------------------');
writeln('Jumlah penonton di XX1 saat ini : ',x[j].jum_penonton,' orang');
writeln('enter untuk melanjutkan');
readln;
end;
end;

procedure cetak_pendapatan(var x:larik_bioskop);
begin
writeln('Cetak pendapatan di Bioskop XX1');
writeln;
for j:=1 to 4 do
begin
writeln('Pendapatan di theatre ',j);
writeln('judul film   :',x[j].judul_film);
writeln('jam tayang   :',x[j].jam_tayang);writeln;
writeln('--------------------------------------');
writeln('No kursi       Status          Tarif');
writeln('--------------------------------------');
for i:=1 to max do
begin
writeln(x[j].no_kursi[i]:4,'    ',x[j].status[i]:6,'    ','Rp',x[j].tarif[i]:6:2);
if x[j].status[i]='isi' then x[j].pendapatan:=x[j].pendapatan+x[j].tarif[i]
end;
writeln('--------------------------------------');
writeln('Jumlah penonton di XX1 saat ini : ',x[j].jum_penonton,' orang');
writeln('Pendapatan saat ini : Rp',x[j].pendapatan:6:2);
writeln('enter untuk melanjutkan');readln;
end;
writeln('Pendapatan total XX1 :Rp ',x[1].pendapatan+x[2].pendapatan+x[3].pendapatan+x[4].pendapatan:8:2);
end;

procedure cetak_bioskop_per_thetare(var y:bioskop);
begin
writeln('Judul film :',y.judul_film);
write('Jam tayang   :',y.jam_tayang);writeln;
writeln('--------------------------------------');
writeln('No kursi       Status          Tarif');

writeln('--------------------------------------');
for i:=1 to max do
writeln(y.no_kursi[i]:4,'    ',y.status[i]:6,'    ','Rp',y.tarif[i]:6:2);
writeln('--------------------------------------');
writeln('Jumlah penonton di XX1 saat ini : ',y.jum_penonton,' orang');
end;


procedure beli_tiket(var y:bioskop);
var beli,no:byte;bayar,jum:real;
label ulang,ulang1;

begin
jum:=0;
writeln('Menu beli tiket');
write('Selamat datang di bioskop XX1');
cetak_bioskop_per_thetare(y);
write('Berapa tiket yang akan anda beli : ');readln(beli);
if(max-y.jum_penonton)<beli then writeln('Jumlah tiket tidak cukup')
else
begin
for i:=1 to beli do
begin
ulang:
write('pilih nomor kursi :');readln(no);
if(no<1)or(no>max) then begin writeln('Nomor kursi tidak valid, ulangi');goto ulang;end;
if y.status[no]='isi' then begin writeln('Nomor kursi telah terisi, ulang');goto ulang;end;
y.status[no]:='isi';jum:=jum+y.tarif[no];inc(y.jum_penonton);
end;
ulang1:
write('Bayar : Rp.');readln(bayar);
if (bayar<jum) then begin writeln('Pembayaran kurang,ulang');goto ulang1;end;
writeln('kembali :Rp',bayar-jum:8:2);
writeln('Terimakasih sudah membelintiket di XX1');
end;
end;

function penuh(y:bioskop):boolean;
begin if y.jum_penonton=max then penuh:=true else penuh:=false;end;

function kosong(y:bioskop):boolean;
begin if y.jum_penonton=0 then kosong:=true else kosong:=false;end;

procedure nonton(var x:larik_bioskop);
begin
 writeln('Membeli tiket bioskop');
 writeln('1. Beli tiket di theatre 1 Judul film :',x[1].judul_film);
 writeln('2. Beli tiket di theatre 2 Judul film :',x[2].judul_film);
 writeln('3. Beli tiket di theatre 3 Judul film :',x[3].judul_film);
 writeln('4. Beli tiket di theatre 4 Judul film :',x[4].judul_film);
 writeln('0. Tidak jadi beli tiket');
 write('Masukan pilihan anda');readln(pilih);
 case pilih of
 1:if penuh(x[pilih]) then writeln('theatre 1 sudah penuh')else beli_tiket(x[pilih]);
 2:if penuh(x[pilih]) then writeln('tiket di theatre 2 sudah penuh')else beli_tiket(x[pilih]);
 3:if penuh(x[pilih]) then writeln('tiket di theatre 3 sudah penuh')else beli_tiket(x[pilih]);
 4:if penuh(x[pilih]) then writeln('tiket di theatre 4 sudah penuh')else beli_tiket(x[pilih]);
 0:writeln('enter untuk kembali ke menu utama')else writeln('salah pilih mas');
 end;
 end;

 procedure cetak_bioskop_satuan(var x:larik_bioskop);
 begin
writeln('pilihan percetakan');
writeln('1. Cetak Theatre 1');
writeln('2. Cetak Theatre 2');
writeln('3. Cetak Theatre 3');
writeln('4. Cetak Theatre 4');
writeln('masukan pilihan anda');readln(pilih);
case pilih of
1:cetak_bioskop_per_thetare(x[pilih]);
2:cetak_bioskop_per_thetare(x[pilih]);
3:cetak_bioskop_per_thetare(x[pilih]);
4:cetak_bioskop_per_thetare(x[pilih]);
else writeln('anda salah memilih mas');
end;
writeln('enter untuk kembali ke menu utama');
end;
begin
repeat
clrscr;
writeln('Pengelolaan bioskop xx1');
writeln('1. Buat Bioskop');
writeln('2. Cetak bioskop');
writeln('3. Beli tiket');
writeln('4. Cetak pendapatan');
writeln('5. Cetak bioskop per thetare');
writeln('0. Selesai');
write('pilih menu :');readln(pil);
case pil of
1:inisialisasi(xx1);
2:cetak_bioskop(xx1);
3:nonton(xx1);
4:cetak_pendapatan(xx1);
5:cetak_bioskop_satuan(xx1);
0:writeln('Terimakasih')else writeln('Anda salah memilih menu');
end;
readln;
until pi=0;
end.




Record pinjam buku

program pinjam_buku_perpus;
uses crt;
const max=10;
type buku=record
     judul,pengarang:string;
     stok:byte;
     end;
     larik_buku=array[1..max] of buku;

type pinjam=record
     nama,judulb,pengarangb,blnb:string;
     tglb,thnb:integer;
     end;
     larik_pinjam=array[1..max] of pinjam;
   
type kembali=record
     nam,jb,pb,bulanb:string;
     tanggalb,tahunb:integer;
     end;
     larik_kembali=array[1..max] of kembali;
var buk:larik_buku;
    pinj:larik_pinjam;
     m,n,i,j,pil:byte;
     ketemu:boolean;
   
procedure isi_buku(var x:larik_buku);
 var ya:char;
label lagi;

begin
lagi:
inc(n);
write('masukkan judul buku baru : ');readln(x[n].judul);
write('masukkan pengarangnya    : ');readln(x[n].pengarang);
write('berapa exemplar          : ');readln(x[n].stok);
begin
      write('apakah akan menambah buku lagi ?<y/t> ');readln(ya);
      if ya='y' then goto lagi;
end;
end;
 
procedure tambah_buku(var x:larik_buku);
var baru1,baru2:string;
ya:char;
label lagi,ulang;

begin
lagi:
writeln('menambah buku baru');
ulang:
write('masukkan judul buku baru : ');readln(baru1);
write('masukkan pengarangnya    : ');readln(baru2);
for i:=1 to n do
     begin
      if (x[i].judul=baru1)and (x[i].pengarang=baru2) then
      begin
      ketemu:=true;
      writeln('Judul tersebut sudah ada di perpus');goto ulang;
      end;
     end;
begin
     inc(n);
     x[n].judul:=baru1;
     x[n].pengarang:=baru2;
     write('berapa exemplar          : ');readln(x[n].stok);
end;
begin
      write('apakah akan menambah buku lagi ?<y/t> ');readln(ya);
      if ya='y' then goto lagi;
end;
end;


procedure cetak_buku(var x:larik_buku);
begin
writeln('DAFTAR BUKU YANG ADA DI PERPUSTAKAAN ');
writeln('------------------------------------------------');
writeln('No    Judul             Pengarang       Stok');
writeln('------------------------------------------------');
for i:=1 to n do
writeln(i,'    ',x[i].judul:8,'        ',x[i].pengarang:12,'     ',x[i].stok:10);
writeln('------------------------------------------------');
end;

procedure cetak_pinjam(var x:larik_pinjam);
begin
writeln('DAFTAR PEMINJAM BUKU YANG PERPUSTAKAAN ');
writeln('-------------------------------------------------------------------------------');
writeln('No    Peminjam                Judul Buku        Pengarang       Tanggal pinjam');
writeln('-------------------------------------------------------------------------------');
for i:=1 to m do
writeln(i:3,'  ',x[i].nama:10,'    ',x[i].judulb:20,'    ',x[i].pengarangb:10,'  ',x[i].tglb:10,' ',x[i].blnb,' ',x[i].thnb);
writeln('-------------------------------------------------------------------------------');
end;

procedure pinjam_buku(var x:larik_buku);
var cari,cari2:string;
    nb,ya,bln:string;
    tgl,thn:integer;
    pos:byte;
label lagi;

begin
cetak_buku(buk);
lagi:
write('masukkan judul buku yang akan dipinjam  : ');readln(cari);
write('masukkan pengarang buku nya             : ');readln(cari2);
{cek}
ketemu:=false;
for i:=1 to n do
if (x[i].judul=cari)and(x[i].pengarang=cari2) then begin pos:=i;ketemu:=true;end;
{jika judul ditemukan}
if (ketemu) and (x[pos].stok>0) then
begin
     write('buku tersedia, masukkan nama anda : ');readln(nb);
     write('masukkan tanggal pinjam           : ');readln(tgl);
     write('masukkan bulan pinjam             : ');readln(bln);
     write('masukkan tahun pinjam             : ');readln(thn);
     {memasukkan ke array pinjam}
     inc(m);
     dec(x[pos].stok);
     pinj[m].nama:=nb;
     pinj[m].judulb:=cari;
     pinj[m].pengarangb:=cari2;
     pinj[m].tglb:=tgl;
     pinj[m].blnb:=bln;
     pinj[m].thnb:=thn;
end
else
begin
      writeln('maaf buku yang anda cari tidak ada');
      write('apakah akan meminjam buku lain ?<y/t> ');readln(ya);
      if ya='y' then goto lagi;
end;
end;

procedure kembali_buku(var x:larik_buku);
var kembali,nm,bulan:string;
tanggal,tahun:integer;
pos:byte;
label selesai;

begin
if m=0 then
begin writeln('Maaf tidak ada yang meminjam buku');goto selesai;end;
pos:=0;
writeln('Selamat datang di pengembalian buku ');
write('masukkan nama peminjam ');readln(nm);
write('masukkan judul buku yg kembali '); readln(kembali);
{menambahkan stok buku dg judul tsb}
for i:=1 to n do
begin
     if (x[i].judul)=kembali then inc(x[i].stok);
end;
{menghapus record di daftar peminjam buku}
for i:=1 to m do
     if (pinj[i].judulb=kembali) and (pinj[i].nama=nm) then pos:=i;
if pos<>0 then
begin
write('masukkan tanggal kembali           : ');readln(tanggal);
write('masukkan bulan kembali             : ');readln(bulan);
write('masukkan tahun kembali             : ');readln(tahun);
  writeln('judul ',kembali ,' dipinjam oleh ',nm,' sudah dikembalikan pada tanggal : ',tanggal,' ',bulan,' ',tahun);
  {hapus dan geser}
  for j:=pos to m-1 do  pinj[j]:=pinj[j+1];
  dec(m);
end
else writeln('maaf nama peminjam atau buku yang dikembalikan tidak benar');

selesai: end;

                     
begin{utama}
repeat
begin
     clrscr;
     writeln('Pengelolaan buku Perpustakaan IST AKPRIND YOGYAKARTA');
     writeln('0. Isi buku');
     writeln('1. Tambah judul buku');
     writeln('2. Cetak buku');
     writeln('3. Pinjam buku');
     writeln('4. Cetak peminjaman');
     writeln('5. Pengembalian buku');
     writeln('6. Selesai');
     write('Pilihan anda ==> ');readln(pil);
     case pil of
     0: isi_buku(buk);
     1: tambah_buku(buk);
     2: if n=0 then writeln('daftar buku masih kosong') else cetak_buku(buk);
     3: if n=0 then writeln('anda belum bisa meminjam buku') else pinjam_buku(buk);
     4: if m=0 then writeln('tidak ada yang meminjam') else cetak_pinjam(pinj);
     5: if m>0 then kembali_buku(buk) else writeln('maaf saat ini tidak ada yang sedang meminjam buku') ;
     6: writeln('Terimakasih ');
     end;
     readln;
     end
     until(pil=6);
end.

Translate