program balik_kalimat;
uses wincrt;
const elemen = 200;
type s200 = string[elemen];
tumpukan = record
isi:s200;
atas: 0..elemen;
end;
var t: tumpukan;
i, k, l, m: integer;
kalimat, word: s200;
procedure awalan(var t: tumpukan);
begin
t.atas:=0;
end;
procedure push (var t:tumpukan; x: char);
begin
t.atas:=t.atas+1;
t.isi[t.atas]:= x;
end;
function pop(var t:tumpukan):char;
begin
pop:=t.isi[t.atas];
t.atas:=t.atas-1;
end;
begin
clrscr;
awalan(t);
writeln(‘==========================================’);
writeln(‘Tumpukan Untuk Membalik Kata Dalam Kalimat’);
writeln(‘==========================================’);
writeln;
write(‘Ketik Kalimat : ‘); readln (kalimat);
clrscr;
writeln(‘Kalimat Asli : ‘,Kalimat);
writeln;
writeln(‘Setelah Operasi Push dan Pop’);
for i:=1 to length(kalimat) do
begin
if (kalimat[i]=’ ‘) then
begin
for k:=(i-1) downto l do
word:=word+kalimat[k];
word:=word+kalimat[i];
end;
l:=length(word);
if i=length(kalimat) then
begin
for i:=length(kalimat) downto l do
word:=word+kalimat[i];
end;
end;
for i := 1 to (length(kalimat) + 1) do
push(t, word [i]);
for i := 1 to (length(kalimat) + 1) do
write (pop (t) );
readln;
end.
OUTPUT PROGRAM
==========================================
Tumpukan Untuk Membalik Kata Dalam Kalimat
==========================================
Ketik Kalimat : Nama saya adalah Rani Susanti
Kalimat Asli : Nama Saya adalah Rani Susanti
Setelah Operasi Push dan Pop
Susanti Rani adalah Saya Nama
Pengikut
Tentang Aku
Mahasiswa STMIK AMIKOM PWT
NIM 08.12.0516
program deret_bilangan_prima;
uses wincrt;
var i,temp:longint;
s, x, a, n : longint;
jml:integer;
function fakt (t : longint) : longint;
begin
temp := 0;
for i := 1 to t do if t mod i = 0 then inc (temp);
fakt:= temp;
end;
begin
clrscr;
writeln (‘Deret Bilangan Prima’);
writeln (‘——————————————–’);
write (‘Jumlah Bilangan Yang Ditampilkan Sebanyak : ‘);
repeat
readln(x);{meminta uses memasukkan jumlah deret bilangan}
until (x>=2);{input harus >=2}
writeln; writeln; writeln (‘Deret Bilangan Prima : ‘); writeln (”);
a := 1; s := 0;
repeat
if fakt (a) = 2 then
begin
write (a,’, ‘);
jml:=jml+a; inc (s);
end;
inc (a); until (s = x);
writeln; writeln(”);
write(‘Jika dijumlahkan, hasilnya : ‘,jml);
end.
OUT PUT
Deret bilangan prima
————————————-
jumlah bilangan yang ditampilkan sebanyak : 8
deret bilangan prima :
2, 3, 5, 7, 11, 13, 17, 19,
jika dijumlah, hasilnya : 77
Tugas Membuat program Data mahasiswa menggunakan array dan perulangan for .. do,,,,
==> Listing Program
Program Input_Data_mahasiswa;
uses wincrt;
const
garis='-----------------------------------------------------------------';
var
pti,bd,pi:array [1..10] of 0..100;
nama:array[1..10] of string[15];
n,i,bar,nim:integer;
jum:real;
tl:char;
begin
clrscr;
write('Banyaknya Mahasiswa: ');readln(n);
for i:=1 to n do
begin
clrscr;
gotoxy(30,4);write('Data Ke-',i:2);
gotoxy(10,5);write('Nama : ');readln(Nama[i]);
writeln('Nilai==>');
gotoxy(10,6);write('PTI : ');readln(pti[i]);
gotoxy(10,7);write('Basis Data : ');readln(bd[i]);
gotoxy(10,8);write('Pemrograman Internet : ');readln(pi[i]);
end;
clrscr;
gotoxy(5,1);writeln(garis);
gotoxy(5,2);writeln(' DATA MAHASISWA');
gotoxy(5,4);writeln(garis);
gotoxy(5,5);write(garis);
gotoxy(5,5);write('no ');
gotoxy(9,5);write('Nama ');
gotoxy(22,5);write('PTI ');
gotoxy(32,5);write('BD ');
gotoxy(42,5);write('PI ');
gotoxy(52,5);write('rata ');
gotoxy(62,5);write('Nilai ');
gotoxy(5,6);writeln(garis);
bar :=7;
for i:=1 to n do
begin
jum:=(pti[i]+bd[i]+pi[i])/3;
if jum>=90 then tl:='A'
else
if jum>80then tl:='B'
else
if jum>60then tl:='C'
else
if jum = 50 then tl:='D'
else
tl:= 'E';
gotoxy(5,bar);writeln(i:2);
gotoxy(9,bar);writeln(nama[i]);
gotoxy(22,bar);writeln(pti[i]);
gotoxy(30,bar);writeln(bd[i]:4);
gotoxy(40,bar);writeln(pi[i]:4);
gotoxy(50,bar);writeln(jum:5:1);
gotoxy(62,bar);writeln(tl);
bar:=bar+1;
end;
gotoxy(5,bar+1);writeln(garis);
readln;
end.
==> Output
1 ==> Banyaknya Mahasiswa : 3
2 ==> Data Ke- 1
Nama : Rani Susanti
Nilai ==> PTI : 90
Basis Data : 90
Pemrograman Internet : 95
Data Ke- 2
Nama : Siska
Nilai ==> PTI : 85
Basis Data : 85
Pemrograman Internet : 90
Data Ke- 3
Nama : Sasty
Nilai ==> PTI : 85
Basis Data : 80
Pemrograman Internet : 80
setelah enter maka akan muncul ===>
-------------------------------------------------------------------
DATA MAHASISWA
-------------------------------------------------------------------
No Nama PTI BD PI Rata-rata Nilai
-------------------------------------------------------------------
1 Rani Susanti 90 90 95 91.7 A
2 Siska 85 85 90 86.7 B
3 Sasty 85 80 80 81.7 B
-------------------------------------------------------------------
Pascal adalah bahasa pemrograman yang pertama kali di buat oleh Profesor Niklaus Wirth, seorang anggota International Federation of Information Processing (IFIP) pada tahun 1971. Dengan mengambil nama dari matematikawan Perancis, Blaise Pascal, yang pertama kali menciptakan mesin penghitung, Profesor Niklaus Wirth membuat bahasa Pascal ini sebagai alat bantu untuk mengajarkan konsep pemrograman komputer kepada mahasiswanya. Selain itu, Profesor Niklaus Wirth membuat Pascal juga untuk melengkapi kekurangan-kekurangan bahasa pemrograman yang ada pada saat itu.
Pada bahasa pascal Anda akan bermain dengan KEYBOARD bukan MOUSE, jadi untuk sementara lupakan fasilitas GUI yang dimanjakan oleh WINDOWS. sebab kita kembali ke tahun 80-an dimana PASCAL menjadi suatu bahasa Pemrograman pavorite dikalangan SCIENTIEST saat itu. Tombol keyboard yang paling pokok untuk mengakses program PASCAL adalah tombol : alt, esc, ctrl, F1 -- F12, ENTER, serta tombol anak panah. jadi bila salah satu tombol tersebut ada yang tidak berfungsi sebaiknya lupakan saja belajar pascal ini sampai Anda mengganti keyboard Anda dengan yang baru.
Untuk memulai pascal dari windows Anda dapat mengklik dua kali file TURBO.EXE, sedangkan bila melalui COMMAND PROMPT Anda dapat mengetikan perintah TURBO lalu tekan ENTER maka program PASCAL akan diload seperti gambar diatas. Tekan tombol ESC maka Program utama TURBO PASCAL akan di tampilkan, dari sini KEYBOARD menjadi senjata Anda untuk mengakses menu-menu yang ada di program utama PASCAL. Untuk lebih jelasnya mengenai penggunaan Keyboard pada pascal Anda dapat menekan tombol F1 yang akan memunculkan fasilitas HELP pada Pascal.
Untuk mengakses menu dari program pascal Anda gunakan tombol ALT di ikuti dengan Huruf pertama yang berwarna merah, contoh Anda akan mengakses menu File maka Anda dapat mengaksesnya dengan menekan tombol ALT dan huruf F. sekarang tekanlah tombol ALT+E, maka Anda berada pada mode editor, dan PASCAL siap untuk menerima perintah-perintah Program Anda. Sebagai perkenalan coba Anda ketikan program dibawah ini di editor PASCAL.
MENGENAL ARRAY
Array adalah suatu tipe data terstruktur yang terdapat dalam memori yang terdiri dari sejumlah elemen (tempat) yang mempunyai tipe data yang sama, variabel yang sejenis, komponen yang jumlahnya tetap.
Array dalam pascal terdiri dari 2 bentuk :
1. Array satu dimensi (Kumpulan elemen yang tersusun dalam satu baris)
Bu :
type
(NamaArray) = Array [indexArray] of tipedata;
atau
(NamaArray) : Array [indexArray] of tipedata;
2. Array dua dimensi (Sering digambarkan seperti matrik)
Bu :
Type
(NamaArray) = Array[indexArray1, indexArray2] of tipedata ;
Contoh :
1. Buat tampilan sebagai berikut :
Masukan Jumlah Data : (input)
Nilai Praktek ke- (output) : (input)
Nilai Praktek ke- (output) : (input)
Nilai Praktek ke- (output) : (input)
Program array_satu_dimensi;
uses crt;
var nilai : array[1..3] of real ;
i, jumlahdata : byte ;
begin
write(‘Masukan Jumlah data : ‘);readln(jumlahdata);
for i:=1 to jumlahdata do
begin
write(‘Nilai ke- ‘, i ,’ : ‘);readln(nilai[i]);
end;
readln;
end.
2. Buat Tampilan sebagai berikut :
Contoh Matrik :
2 3
3 4
8 10
program array_dua_dimensi;
uses crt;
var matrik : array[1..3,1..2] of shortint;
i, j : byte;
begin
writeln(‘Contoh Matrik :’);
matrik[1,1] := 2;
matrik[1,2] := 3;
matrik[2,1] := 3;
matrik[2,2] := 4;
matrik[3,1] := 8;
matrik[3,2] := 10;
for i:= 1 to 3 do
begin
for j:=1 to 2 do
write (matrik[i,j]:5);
writeln;
end;
readln;
end.
Menghitung Rata-rata menggunakan For
uses wincrt;
var nilai: array[1..3] of integer ;
jm,rata :real;
i : integer;
begin
writeln
for i:=1 to 3 do
begin
clrscr;
write (‘masukan data ke-1: ’);readln (nilai[1]);
write (‘masukan data ke-2:’) ;readln(nilai [2]);
write (‘masukan data ke-3:’); readln(nilai [3]);
jumlah := nilai[1]+nilai [2]+nilai [3] ;
rata := jumlah/3;
writeln;
writeln(‘jumlah nilai =’,jumlah 5:3’);
writeln(‘rata-rata nya =’,jumlah 5:3’);
readln;
end;
end.
OUTPUT
Masukan data ke-1 :50
Masukan data ke-2 :30
Masukan data ke-3:40
Jumlah nilai =120.00
Rata-ratanya =40.00
Menghitung Rata-rata Menggunakan Array
Uses wincrt;
var nilai : array [1..10] of integer ;
jm,rata : real;
begin
clrscr ;
write(‘menghitung rata-rata 10 buah nilai’);
write(‘nilai =’);readln(nilai [1] );
write(‘nilai =’);readln(nilai [2] );
write(‘nilai =’);readln(nilai [3] );
write(‘niali =’);readln(nilai [4] );
write(’nilai =’);readln(nilai [5] );
write(’nilai =’);readln(nilai [6] );
write(’nilai =’);readln(nilai [7] );
write(’nilai =’);readln(nilai [8] );
write(’nilai =’);readln(nilai [9] );
write(’nilai =’);readln(nilai [10] );
jm := nilai[1]+nilai[2]+nila[3]+nilai[4]+nilai[5]+nilai[6]+nilai[7]+nilai[8]+nilai[9]+nilai[10];
rata:= jm/10;
writeln;
writeln(‘jumlah =’,jm :9:2);
writeln(‘rata-rata =’,rata :9:2);
end.
Outpot
Menghitung rata-rata 10 buah nilai
Nilai=10
Nilai=20
Nilai=6
Nilai=8
Nilai=6
Nilai=8
Nilai=2
Nilai=4
Nilai=12
Nilai=8
Jumlah = 84.00
Rata-rata= 8.40
==> Program Array Menggunakan Looping
uses wincrt;
var nilai:array[1..10] of integer;
i,n:integer;
j,r:real;
begin
clrscr;
writeln('Menghitung Rata-rata');
write('masukkan Jumlah data [max 10]=');readln(n);
for i:= 1 to 10 do
begin
write('Nilai-',i,'=');readln(nilai[i]);
end;
j:=0;
for i:=1 to n do
begin
j:=j+nilai[i];
end;
r:=j/n;
writeln('Jumlah Seluruh Nilai =',j:2:2);
writeln('Rata-rata =',j:2:2);
end.
PROGRAM MENCARI NILAI RATA-RATA
Menggunakan Array ==>
uses wincrt;
var nilai : array [1..10] of integer ;
jm,rata : real;
begin
clrscr;
write (‘Menghitung rata-rata 10 buah nilai’);
write (‘Nilai = ’);readln (nilai [1] );
write (‘Nilai = ’);readln (nilai [2] );
write (‘Nilai = ’);readln (nilai [3] );
write (‘Nilai = ’);readln (nilai [4] );
write (‘Nilai = ’);readln (nilai [5] );
write (‘Nilai = ’);readln (nilai [6] );
write (‘Nilai = ’);readln (nilai [7] );
write (‘Nilai = ’);readln (nilai [8] );
write (‘Nilai = ’);readln (nilai [9] );
write (‘Nilai = ’);readln (nilai [10] );
uses wincrt;
var nilai:array[1..10] of integer;
i,n:integer;
j,r:real;
begin
clrscr;
writeln('Menghitung Rata-rata');
write('masukkan Jumlah data [max 10]=');readln(n);
for i:= 1 to 10 do
begin
write('Nilai-',i,'=');readln(nilai[i]);
end;
j:=0;
for i:=1 to n do
begin
j:=j+nilai[i];
end;
r:=j/n;
writeln('Jumlah Seluruh Nilai =',j:2:2);
writeln('Rata-rata =',j:2:2);
end.