lanjut post berikutnya yaitu tentang Turbo pascal yuk :D hehe
Pemrogaraman Pascal
Pemrograman Pascal adalah salah satu bahasa pemrograman yang tidak lekang dimakan waktu. sebagai bahan pembelajaran demi menigaktakn mutu pembelajaran pemrograman bagi mahasiswa maka di gunakan bahasa pemrograman turbo pascal. Pada praktek ini kami menggunakan turbo pascal 1,5.
TPW adalah program yang digunakan dalam penggunaan bahasa pemrograman PASCAL pada komputer dengan operating sistem adalah windows. Turbo Pascal sendiri merupakan versi yang populer dalam PASCAL. PASCAL sudah menjadi bahasa standar dalam dunia pendidikan komputer.
Pascal adalah salah satu bahasa pemrograman yang paling sederhana dan merupakan bahasa yang dasar. Sehingga bisa jadi bagi seseorang yang pengin jadi programmer bahasa pascal salahsatu yang kudu dikuasai.
Pada semester 3 ini kami ada mata Pemrograman I. Dan praktikumnya menggunakan program TPW ini. Tidak terlalu sulit untuk mengerti bahasa pascal ini.
Sebab struktur dalam pascal memiliki banyak kesamaan dengan struktur dalam algoritma. Jadi yang penting kita mengetahui algoritmanya maka dengan hanya mengubah bentuk strukturnya sesuai Pascal dalam program TPW ini maka program yang kita susun dengan algoritma tersebut akan dapat dijalankan.
itulah sekilas tentang materi pemrograman I dan menggunakan bahasa Turbo Pascal.
itulah sekilas tentang materi pemrograman I dan menggunakan bahasa Turbo Pascal.
2. Tipe data
a. integer = bilangan bulat
b. real = desimal
c. string = kata dan kalimat
d. char = ‘a’ atau ‘b’
e. Boolean = true dan false
3. Latihan Soal
Pada Pertemuan praktek pertama dipemrograman I, saya belajar cara mencetak kalimat pada layar pascal, menghitung luas bangun datar dan voliume bangun ruang.
1. Untuk latihan pertama kami membuat hasil output ‘belajar bahasa pascal’ dan ‘sekolah(enter) tinggi informatika(enter) dan komputer.
2. Program untuk Menghitung Luas persegi panjang dan volume balok, adapun rumusnya adalah:
Luas persegi panjang = Panjang(p) * Lebar(L)
Volume Balok = Panjang(p) * Lebar(L) * Tinggi(T)
1. Latihan Pertama.
A. progam pertamaku;
Uses wincrt;
Begin
Write(‘Belajar Pascal pertamaku’);
End.
Outputnya : Belajar Pascal Petamaku
B. program pertamaku;
uses wincrt;
uses wincrt;
writeln(‘sekoalh’);
writeln(‘Tinggi Informatika’);
writeln(‘Dan Komputer’);
end.
Outputnya: Sekolah
Tinggi Informatika
Dan Komputer
2. Menghitung Luas Persegi Panjang dan volume balok.
uses wincrt;
var
panjang,lebar,tinggi:integer;
begin
write(‘panjang=’);readln(panjang);
write(‘lebar=’);readln(lebar);
write(‘tinggi=’);readln(tinggi);
writeln(‘Luas =’,panjang * lebar);
writeln(‘Volume balok =’,panjang * lebar * tinggi);
end.
Proses PengulanganDalam pemerosesan suatu data atau penghitungan serigkali dijumpai peroses penghilangan yang amat membosankan bila dikerjakan secara manual. Dalam hal ini pemakain komputer akan sangat berguna untuk melakukan pengulangan proses tersebut.
Bahasa pascal mengenal beberapa macam cara untuk melakukan proses pengulangan, yaitu:
Bahasa pascal mengenal beberapa macam cara untuk melakukan proses pengulangan, yaitu:
a. While…do…
b. Repeat….until…
c. For…to…do…
d. If…then…
e. Case…of…
a. Pernyataan while..do..
Pernayataan ini dilakukan untuk melakukan proses pengulangan bila kondisi atau syrat tertentu yang terdapat pada awal blok terpenuhi. Proses pengulangan setelah pernyataan Do dilakukkan bila kondisi pada pernyataan While terpenuhi. Bila proses pengulangan tersebut terdiri dari beberapa pernyataan, maka harus dibuat blok dengan diawali pernyataan Begin dan diakhri pernyataan End.
Contoh program sederhana.
1.Program While_do_pertama;
Uses wincrt; Const c:= 1609344
Var a,b:real ;
Begin
Writeln(‘konversi’);
Writeln(‘kilometer mil’);
a:=0;
while a< 20 do
begin
a:= a + 1;
b:= c* a;
writeln(a : 15 : 2, b: 8:2);
end;
end.
2.Program While_do_kedua;Uses wincrt;
Var
jumlah, data ,i: integer;
lagi : char;
rata_rata : real;
rata_rata : real;
Begin
Lagi:='Y';
Lagi:='Y';
while Lagi='Y' do
begin
Write ('Masukan Nilai : ');
inc(i);
inc(i);
Readln(Data);
Jumlah:=jumlah+data;
Write ('Apakah anda ingin menginputkan data lagi (Y/T)?: ');
Lagi:=upcase(readkey);
Lagi:=upcase(readkey);
writeln;
end;
writeln;
rata_rata:=Jumlah/i;
writeln('Hasil rata-rata : ',rata_rata:0:2);
end.
b. Repeat…until…
Selain While..do..,bahasa pascal mengenal pasangan pernyataan Repeat…Until.. untuk proses pengulangan. Proses pengulangan terjadi setelah pernyataan Repeat berakhir pada pernytaan Until. Bila kondisi pada pernyataan Until masih terpenuhi, proses pengulangan akan dilakukan lagi.
Contoh program:
1.Program Repeat_Until_pertama;
uses wincrt;
var
i:integer;
begin
clrscr;
i:=1;
repeat
writeln(‘Bahasa Pemograman Pascal’);
i:=i+1;
until (i>5);
readln;
end.
i:integer;
begin
clrscr;
i:=1;
repeat
writeln(‘Bahasa Pemograman Pascal’);
i:=i+1;
until (i>5);
readln;
end.
2.Program repeat_until_kedua;
uses wincrt;
var
jumlah,I,data:integer;
lagi :char;
rata_rata : real;
Begin
repeat
Write ('Masukkan Nilai : ');
inc(i);
readln(data);
jumlah:=(jumlah +data);
Write ('Apakah anda ingin menginputkan data lagi (Y/T) ?');
Lagi:=upcase (readkey);
writeln;
until lagi='T';
write;
rata_rata:=jumlah/i;
writeln('Hasil rata-rata :',rata_rata:0:2);
End.
c. For…to…do…
1.Program for_do_pertama;
uses wincrt;
var
x,y:integer;
begin
for y:= 10 downto 1 do
begin
for x:= 1 to y do
begin
write('*');
end;
writeln;
end;
end.
uses wincrt;
var
x,y:integer;
begin
for y:= 10 downto 1 do
begin
for x:= 1 to y do
begin
write('*');
end;
writeln;
end;
end.
2.Program for_do_kedua;
uses wincrt;
var
x,a,c,y,i:integer;
begin
y:=1;
x:=10;
a:=10;
c:=28;
gotoxy(a,i);
for i:=1 to 18 do begin
write('*');
end;
for i:=1 to 10 do begin
gotoxy(a,i);write('*');
gotoxy(c,i);write('*');
writeln;
inc(a);
dec(c);
end;
end
d. If…then…Salah satu dari tiga konstruksi fundamental adalah percabangan/branching. Dalam pascal, percabagan menggunakan syntax if then else dan case of.
IF kondisi THEN
BEGIN
…
END;
Dengan ELSE:
IF kondisi [and] kondisi [or] kondisi THEN
BEGIN
…
END {memang tanpa titik koma di sini; sebelum ELSE tidak perlu titik koma!!!}
ELSE
BEGIN
…
END;
BEGIN
…
END;
Dengan ELSE:
IF kondisi [and] kondisi [or] kondisi THEN
BEGIN
…
END {memang tanpa titik koma di sini; sebelum ELSE tidak perlu titik koma!!!}
ELSE
BEGIN
…
END;
Apabila kondisi terpenuhi, maka program akan menjalankan b\perintah yang ada setelah THEN. Tapi jika kondisi tidaki terpenuhi, maka program akan menjalankan program setelah ELSE.
Contoh penggunaan:
1.Progaram if_then_pertama;
Var i: integer;
Begin
Write(’Masukkan bilangan antara 1-100: ‘); readln(i);
If i<=50 then
Write(’bilangan kecil’)
Else
Write(’bilangan besar’);
End.
Begin
Write(’Masukkan bilangan antara 1-100: ‘); readln(i);
If i<=50 then
Write(’bilangan kecil’)
Else
Write(’bilangan besar’);
End.
2.program if_then_kedua;
uses wincrt;
var
nama:string;
nilai:integer;
begin
clrscr;
writeln(‘Nama dan Nilai Mahasiswa’);
writeln(‘————————-’);
write(‘Nama = ‘);
readln(nama);
write(‘Nilai = ‘);
readln(nilai);
if (nilai >=85) then begin
writeln(‘Nilai Huruf = A’);
end else if (nilai >=75) then begin
writeln(‘Nilai Huruf = B’);
end else if (nilai >=60) then begin
writeln(‘Nilai Huruf = C’);
end else if (nilai >=50) then begin
writeln(‘Nilai Huruf = D’);
end else if (nilai <50) then begin
writeln(‘Nilai Huruf = E’);
end;
readln;
end.
e. Case..of..
Penggunaan Case OF ini lkebih berguna jika kondisi yang dibandingkan berupa range. Lihat contoh berikut:
CASE nilai OF
80..100 : grade:=’A';
70..79 : grade:=’B';
55..69 : grade:=’C';
45-54 : grade:=’D';
ELSE grade:=’E';
END;
80..100 : grade:=’A';
70..79 : grade:=’B';
55..69 : grade:=’C';
45-54 : grade:=’D';
ELSE grade:=’E';
END;
1.Prorgram case_of_pertama;uses wincrt;
var
Nilai : char;
begin
write ('Masukkan Grade Nilai = '); readln(Nilai);
Case Nilai of
'A' : writeln ('Nilai = 90');
'B' : writeln ('Nilai = 80');
'C' : writeln ('Nilai = 60');
'D' : writeln ('Nilai = 50');
'E' : writeln ('Nilai = 30');
end;
Case Nilai of
'A','B','C' : writeln ('Keterangan = Lulus');
'D' : writeln ('Keterangan = Tidak Lulus');
else writeln ('Keterangan = TB')
end;
Case Nilai of
'A' : write ('Koment = Sangat Memuaskan');
'B' : write ('Koment = Memuaskan');
'C' : write ('Koment = Cukup');
'D' : write ('Koment = Tidak Cukup') ;
else write ('Koment = Sangat Kurang');
end;
end.
var
Nilai : char;
begin
write ('Masukkan Grade Nilai = '); readln(Nilai);
Case Nilai of
'A' : writeln ('Nilai = 90');
'B' : writeln ('Nilai = 80');
'C' : writeln ('Nilai = 60');
'D' : writeln ('Nilai = 50');
'E' : writeln ('Nilai = 30');
end;
Case Nilai of
'A','B','C' : writeln ('Keterangan = Lulus');
'D' : writeln ('Keterangan = Tidak Lulus');
else writeln ('Keterangan = TB')
end;
Case Nilai of
'A' : write ('Koment = Sangat Memuaskan');
'B' : write ('Koment = Memuaskan');
'C' : write ('Koment = Cukup');
'D' : write ('Koment = Tidak Cukup') ;
else write ('Koment = Sangat Kurang');
end;
end.
2.program Case_of_kedua;
uses wincrt;
var
nama:string;
nomor,jumlah,harga:integer;
diskon,pajak,total:real;
lagi:char;
begin
clrscr;
writeln(‘<<< program swalayan >>>’);
writeln(‘========================’);
lagi:=’Y';
while lagi=’Y’ do begin
write(‘masukan nomor program=’); readln(nomor);
case nomor of
1:begin
write(‘masukan nama barang=’); readln(nama);
write(‘masukan jumlah barang=’); readln(jumlah);
write(‘masukan harga satuan Rp=’); readln(harga);
total:=jumlah*harga;
writeln(‘total harga Rp=’,total:0:2)
end;
2:begin
write(‘masukan nama barang=’); readln(nama);
write(‘masukan harga barang Rp=’); readln(harga);
if harga >= 100000 then begin
diskon:=80/100*harga;
total:=harga-diskon;
writeln(‘harga barang setelah didiskon Rp=’,total:0:2);
end else if harga < 100000 then begin
diskon:=10/100*harga;
total:=harga-diskon;
end;
writeln(‘harga barang setelah didiskon Rp=’,total:0:2);
end;
3:begin
write(‘masukan nama barang=’); readln(nama);
write(‘masukan harga barang Rp=’); readln(harga);
pajak:=10/100*harga;
total:=harga-pajak;
writeln(‘harga barang setelah kena pajak Rp=’,total:0:2);
end;
4:writeln(‘>>>keluar dari program<<<’);
end;
write(‘untuk melanjutkan program tekan Y/N=’); readln(lagi);
end;
readln;
end.
5. Arrray
Suatu array yang terdiri atas banyak variable dengan tipe data sama, dimana masing- masing elemen variable mempunyai nilai indeks. Setiap elemen array mampu untuk menyimpan satu jenis data (yaitu variable). Suatu aray dinyatakan denag type, sehingga variable yang bekerja dinyatakna denagn :
A = array [batas bawah..batas atas] of type data
Array dibedakan menjadi 3 macam, yaitu :
1. Array 1 dimensi
2.Array 2 dimensi
3. Array 3 dimensi
1. Array 1 dimensi
2.Array 2 dimensi
3. Array 3 dimensi
1. Array 1 Dimensi
Array 1 dimensi merupakan array yang mempunyai satu indeks.
Contoh :
Contoh :
1. program array_satu_dimensi; Var tanda : Array [ 1…10] of integer
Contoh program pada praktek :
Uses wincrt;
Var lagi:char;
i,j:integer;
arraystr: array[1..25] of string;
Begin
{inisialasi ARRAY}
lagi:='Y';
i:=1;
repeat
clrscr;
write('Masukan nama : '); readln(arraystr[i]);
inc(i);
write('Apakah anda ingin memasukan data lagi (Y/T)?');
lagi:=upcase(readkey);
until lagi<>'Y';
clrscr:
{cetak array}
for j:= 1 to i do begin
writeln(arraystr[j]);
end;
end.
Uses wincrt;
Var lagi:char;
i,j:integer;
arraystr: array[1..25] of string;
Begin
{inisialasi ARRAY}
lagi:='Y';
i:=1;
repeat
clrscr;
write('Masukan nama : '); readln(arraystr[i]);
inc(i);
write('Apakah anda ingin memasukan data lagi (Y/T)?');
lagi:=upcase(readkey);
until lagi<>'Y';
clrscr:
{cetak array}
for j:= 1 to i do begin
writeln(arraystr[j]);
end;
end.
2. program array_satu_dimensi;
Program Mencari_Bilangan_Prima_Dengan_Array;
Uses wincrt;
Var
Prima : Array[1..100] of Integer;
i,j : Integer;
bil : Integer;
Begin
ClrScr;
For i := 2 to 100 Do
Begin
Prima[i]:=i;
For j:= 2 to i-1 Do
Begin
bil := (i mod j); {* i dibagi j dicek apakah 0*}
If bil = 0 then Prima[i]:=0; {*jika habis dibagi,berarti bkn prima*}
End;
If Prima[i]<> 0 Then Write(Prima[i],’ ‘); {*cetak array yg prima*}
End;
Readln;
End.
Uses wincrt;
Var
Prima : Array[1..100] of Integer;
i,j : Integer;
bil : Integer;
Begin
ClrScr;
For i := 2 to 100 Do
Begin
Prima[i]:=i;
For j:= 2 to i-1 Do
Begin
bil := (i mod j); {* i dibagi j dicek apakah 0*}
If bil = 0 then Prima[i]:=0; {*jika habis dibagi,berarti bkn prima*}
End;
If Prima[i]<> 0 Then Write(Prima[i],’ ‘); {*cetak array yg prima*}
End;
Readln;
End.
2. Array 2 Dimensi
Array 2 dimensi merupakan arra yang mempunyai 2 buah indeks. Array 2 dimensi dipakai untuk memepermudah pengertian tentang posisi, ciri khas, atau arti dari nama variable tersebut.
Contoh :
Var X: Array [1..2,1…3] of integer;
Pernyataan pada contoh diatas berarti bahwa variable X mempunyai 6 suku yaitu :
X [1,1] X [2,1]
X [1,2] X [2,2]
X [1,3] X [2,3]
Untuk membaca atau member nilai pada array 2 dimensi biasanya digunakan struktur control For..To…Do..
Contoh :
For I := 1 to 2 do
For J := 1 to 3 do
Readln (x[I,j]);
1. Program array_dua_dimensi;contoh program pada praktek :
Program Array_2;
Uses wincrt;
Var lagi:char;
i,j:integer;
arraystr: array[1..5,1..3] of string;
label cetak;
Begin
{inisialasi ARRAY}
lagi:='Y';
repeat
inc(i);
clrscr;
gotoxy(20,2); write('Masukan nama : '); readln(arraystr[i,1]);
gotoxy(20,3); write('Masukan nim : '); readln(arraystr[i,2]);
gotoxy(20,4); write('Masukan nilai : '); readln(arraystr[i,3]);
gotoxy(20,6); write('Apakah anda ingin memasukan data lagi (Y/T)?'); lagi:=upcase(readkey);
until lagi<>'Y';
cetak:
clrscr;
{cetak array}
for J:= 1 to I do begin
writeln('___data ke- ',J);
writeln('Nama : ',arraystr[J,1]);
writeln('Nim : ',arraystr[J,2]);
writeln('Nilai : ',arraystr[J,3])
writeln
end;
end.
Program Array_2;
Uses wincrt;
Var lagi:char;
i,j:integer;
arraystr: array[1..5,1..3] of string;
label cetak;
Begin
{inisialasi ARRAY}
lagi:='Y';
repeat
inc(i);
clrscr;
gotoxy(20,2); write('Masukan nama : '); readln(arraystr[i,1]);
gotoxy(20,3); write('Masukan nim : '); readln(arraystr[i,2]);
gotoxy(20,4); write('Masukan nilai : '); readln(arraystr[i,3]);
gotoxy(20,6); write('Apakah anda ingin memasukan data lagi (Y/T)?'); lagi:=upcase(readkey);
until lagi<>'Y';
cetak:
clrscr;
{cetak array}
for J:= 1 to I do begin
writeln('___data ke- ',J);
writeln('Nama : ',arraystr[J,1]);
writeln('Nim : ',arraystr[J,2]);
writeln('Nilai : ',arraystr[J,3])
writeln
end;
end.
2.program array_dua_dimensi;Program Deklarasi_Array_Dua_Dimensi;
Uses wincrt;
Var Tabel : Array[1..3,1..2] of Integer;
i,j : Integer;
Begin
ClrScr;
Tabel[1,1]:=1;
Tabel[1,2]:=2;
Tabel[2,1]:=3;
Tabel[2,2]:=4;
Tabel[3,1]:=5;
Tabel[3,2]:=6;
For I := 1 to 3 Do Begin For J:= 1 to 2 Do Begin Writeln('Elemen ',i,',',j,'= ',tabel[i,j]);
End;
End;
Readln;
End.
Uses wincrt;
Var Tabel : Array[1..3,1..2] of Integer;
i,j : Integer;
Begin
ClrScr;
Tabel[1,1]:=1;
Tabel[1,2]:=2;
Tabel[2,1]:=3;
Tabel[2,2]:=4;
Tabel[3,1]:=5;
Tabel[3,2]:=6;
For I := 1 to 3 Do Begin For J:= 1 to 2 Do Begin Writeln('Elemen ',i,',',j,'= ',tabel[i,j]);
End;
End;
Readln;
End.
3. Array 3 Dimensi
Array 3 dimensi merupakan array yang tersusun atas 3 buah indeks.
Contoh :
Var x :Array [1..2, 1..2, 1..3] of integer
Pernyataan tersebut berarti bahwa variable x mempunyai suku yaitu:
x[1,1,1] x[1,2,1]
Contoh :
Var x :Array [1..2, 1..2, 1..3] of integer
Pernyataan tersebut berarti bahwa variable x mempunyai suku yaitu:
x[1,1,1] x[1,2,1]
x[1,1,2] x[1,2,2]
x[1,1,3] x[1,2,3]
dan seterusnya.
sumber : http://andirianto.blogspot.com/2011/11/rangkuman-materi-pemrograman-pascal.html
0 komentar:
Posting Komentar