Jumat, 11 November 2022

Cetak Output Pascal Berbaris Tidak Turun Kebawah

Cetak Output Pascal Berbaris Tidak Turun Kebawah - judulnya rasanya aneh ya. Tapi tak apa-apa biar unik sendiri, terkadang sebagai pemula bermain-main dengan codingan, banyak kesalahan, bahkan sampai bikin pusing terkadang kita mencari masalahnya dimana, masalah yang cukup sering saya alami salah satunya ketika membuat print out di consol pascal, cetakannya tidak turun dibawah (enter), tetapi malah berbaris ke arah kanan. 


Seperti Screenshoot gambar diatas, tulisan nama barang dan banyak barang berada sejajar, seharusnya tulisan tersebut berjejer kebawah biar terlihat rapi. 

Masalah ini sebenearnya sangat mudah mengatasinya. Coding tampilan diatas seperti terlihat pada potongan code pascal berikut ini: 

begin 
clrscr; 
write('Masukkan Nama Pelanggan : ');read(nama); 
write('Masukkan Banyak Data : ');readln(n); 
for i:=1 to n do 
begin 
 write('Nama Barang : ');read(sw[i].nabar); 
 write('Banyak Barang : ');read(sw[i].banyak); 
 write('Harga Satuan : ');read(sw[i].hasat); 
 sw[i].jlh:=sw[i].banyak * sw[i].hasat; 
 writeln(); 
end;

Untuk mengatasi permasalahan diatas, kita bisa menambah atau mengubah code read menjadi readln, 

Sehingga hasilnya telihat seperti code berikut: 



Kejadian-kejadian aneh pada pascal seperti Cetak Output Pascal Berbaris Tidak Turun Kebawah pasti banyak yang mengalaminya, atau mungkin error-error lain yang sebenarnya bisa disebabkan oleh kesalahan ketik seperti tadi. 

Untuk lengkap code swalayan tersebut diatas bisa di lihat pada code dibawah ini 



program swalayan;
uses crt;

Type Rswalayan=record
     jlh:longint;
     banyak:longint;
     nabar:string;
     hasat:longint;
     total:longint;
end;

var sw:array[1..100]of Rswalayan;
i,n:integer;
nama:string;
pembayaran, kembalian : longint;

begin
clrscr;
write('Masukkan Nama Pelanggan  : ');read(nama);
write('Masukkan Banyak Data     : ');readln(n);
for i:=1 to n do
begin
  write('Nama Barang    : ');readln(sw[i].nabar);
  write('Banyak Barang  : ');readln(sw[i].banyak);
  write('Harga Satuan   : ');readln(sw[i].hasat);
  sw[i].jlh:=sw[i].banyak * sw[i].hasat;
  writeln();
end;
clrscr();
gotoxy(10,10);write('-----------------------------------------------------------------------');
gotoxy(30,11);write('TOKO TIP TOP':20);
gotoxy(10,12);write('-----------------------------------------------------------------------');
gotoxy(10,13);write('Nama Pelanggan  : ',nama);
writeln();
gotoxy(10,14);write('No');
gotoxy(15,14);write('Nama Barang ');
gotoxy(35,14);write('Banyak Barang ');
gotoxy(52,14);write('Harga Satuan ');
gotoxy(68,14);write('Jumlah');

for i:=1 to n do
begin
gotoxy(10,15+i);write(i);
gotoxy(15,15+i);write(sw[i].nabar);
gotoxy(35,15+i);write(sw[i].banyak);
gotoxy(55,15+i);write(sw[i].hasat);
gotoxy(68,15+i);write(sw[i].jlh);

sw[i].total:=sw[i].total + sw[i].jlh;
end;
gotoxy(10,16+i);write('-----------------------------------------------------------------------');
gotoxy(10,17+i);write('Total              : ',sw[i].total);
gotoxy(10,18+i);write('Pembayaran         : ');readln(pembayaran);
gotoxy(10,19+i);write('Kembalian          : ',pembayaran-sw[i].total);
readln;
end.

Tampilan bahasa pemrograman toko dengan pascal diatas jadi seperti ini