listiati univ bung hata (1110013211051) Bahasa pemrograman pascal
1. BAB V
STRUKTUR PROGRAM
1. Bahasa Pemrograman Pascal
Struktur Bahasa Pascal adalah sebagai berikut :
Judul Program
Blok Program
- Bagian Deklarasi
- Bagian Pernyataan
Keterangan :
Judul Program :
Judul dari program yang akan dibuat
Bagian Deklarasi :
Untuk pengenal (identifier) dari jenis constanta, label, variabel, type,
procedure & function yang dipakai pada bagian pernyataan.
Bagian Pernyataan :
Isi dari program yang akan dibuat, yang diawali oleh statement begin
dan diakhir oleh statement end.
Setiap pernyataan pada program pascal diakhiri oleh tanda titik koma
(;).
2. Di bawah judul program dapat disertakan perintah USES yang bertujuan
untuk mengaktifkan perintah-perintah yang ada pada program pascal.
Contoh :
- USES CRT;
Suatu perintah untuk mengatur kerja layar monitor dan keyboard atau
mengatur kerja I/O
Seperti :
Perintah clrscr (clear screen) tidak dapat digunakan jika tidak ada uses crt.
Statement-statement pada Bahasa Pascal
a. Statement Output (write atau writeln)
Bentuk umum :
write (‘Komentar’);
write (identifier); atau
write (‘Komentar’, identifier);
3. b. Statement Input (read atau readln)
Bentuk umum :
read (identifier); atau
readln (identifier);
ALgortima dan PASCAL
Perbandingan antara Algoritma dan PASCAL
1. Seperti algoritma, bahasa PASCAL memiliki suatu struktur utama sebagai
berikut :
PROGRAM nama_program
USES modul input-output, pustaka fungsi
VAR
{defenisi variabel yang sama dengan Deklarasi}
BEGIN
…. Instruksi pemrograman
…. Sama dengan deskripsi
END
4. 2. Beberapa tipe data yang dikenal dalam PASCAL
Jenis-jenis/Tipe data variabel pada program Pascal :
Tipe Keterangan
Integer angka bulat antara -32768 s/d 32767
Shortint bilangan bulat kecil antara -128 s/d 127
Longint bilangan bulat dengan nilai sangat besar (9 digit)
Char karakter tunggal dalam tanda kutip (single quote)
String deretan karakter dalam tanda kutip (double quote)
Real bilangan biasa antara -2.9 x 10-39 s/d 1.7 x 10+38
Single bilangan biasa hampir sama dengan real
Double bilangan biasa yang jauh lebih besar dari real
Extended bilangan biasa yang sangat besar lebih dari double
Boolean (True or False)
5. 3. Semua variabel harus didefinisikan dalam VAR sebelum
digunakan, misalnya sebagai berikut :
VAR umur : integer;
gaji : real;
nama : string;
nh : char;
Pemberian nilai variabel menggunakan tanda assigment “:=“, misalnya
sebagai berikut :
umur := 32;
gaji := 350000.50;
nama := “Muhammad Rafif Asyraf”
nh := ‘A’
6. 4. Instruksi Input-Output adalah sebagai berikut :
Algoritma Pascal
Read(variabel); Read(variabel);
Readln(variabel);
Write(“Teks”, variabel); Write(“Teks”, variabel);
Writeln(“Teks”, variabel);
7. Contoh:
Algoritma Pascal
Algoritma Hitung_Rata
{menghitung rata dari tiga angka}
Deklarasi
Real num1, num2, num3, rata;
String nama;
Deskripsi
Write (“Masukkan Nama Anda :”);
Read (nama);
write (“Masukkan angka 1 :”);
read (num1);
write (“Masukkan angka 2 :”);
read (num2);
write (“Masukkan angka 3 :”);
read (num3);
rata=(num1+num2+num3)/3;
write(“Rata-rata =“, rata);
write (“Terima Kasih “, nama);
PROGRAM Hitung_Rata;
USES CRT;
VAR
num1, num2, num3, rata : real;
nama : string;
BEGIN
Write (“Masukkan Nama Anda :”);
Readln (nama);
write (“Masukkan angka 1 :”);
readln (num1);
write (“Masukkan angka 2 :”);
readln (num2);
write (“Masukkan angka 3 :”);
readln (num3);
rata :=(num1+num2+num3)/3;
write(“Rata-rata =“, rata);
write (“Terima Kasih “, nama);
END
8. 5. Instruksi Pemilihan (Selection)
Algoritma Pascal
If (kondisi)
then aksi-1;
else aksi-2;
Endif.
If (kondisi)
then begin aksi-1 end
else begin aksi-2 end
Case(variabel)
nilai-1 : statement-1;break;
nilai-2 : statement-2;break;
nilai-3 : statement-3;break;
…
default : statement-n;
Endcase.
Case variabel of
nilai-1 : statement-1;
nilai-2 : statement-2;
nilai-3 : statement-3;
…
else statement-n
End.
9. Contoh :
Algoritma Pascal
Algoritma Gaji_Karyawan
{Algoritma menerima nama, golongan serta
jam kerja, kemudian menampilkan total gaji
yang diterima karyawan}
Deklarasi
real gaji, total, jamkerja, lembur, upah;
string nama;
char gol;
Deskripsi
write(“Masukkan Nama Karyawan :”);
read(nama);
write(“Masukan Golongan :”);
read(gol);
write(“Masukan Jam Kerja :”);
read(jamkerja);
PROGRAM Gaji_Karyawan;
USES CRT;
{menerima nama, golongan serta jam kerja,
kemudian menampilkan total gaji karyawan}
VAR
gaji, total, jamkerja, lembur, upah : real;
nama : string;
gol : char;
BEGIN
clrscr;
write(“Masukkan Nama Karyawan :”);
readln(nama);
write(“Masukan Golongan :”);
readln(gol);
write(“Masukan Jam Kerja :”);
readln(jamkerja);
10. Contoh :
Algoritma Pascal
Case(gol)
‘A’ : upah 5000;
‘B’ : upah 6000;
‘C’ : upah 7500;
‘D’ : upah 9000;
default :
write(“Golongan Salah !”);
upah 0;
Endcase.
If (jamkerja > 150)
then lembur (jamkerja – 150) * upah * 1.25;
gaji 150 * upah;
else lembur 0;
gaji jamkerja * upah;
Endif
Total gaji + lembur;
Write(“Gaji yang diterima Sdr. “, nama, “adalah =
Rp.”, total);
Case gol of
‘A’ : upah :=5000;
‘B’ : upah := 6000;
‘C’ : upah := 7500;
‘D’ : upah := 9000;
ELSE write(“Golongan Salah !”);
upah := 0;
End;
If (jamkerja > 150)
then Begin
lembur := (jamkerja – 150) * upah * 1.25;
gaji := 150 * upah;
End;
Else Begin
lembur:=0;
gaji := jamkerja * upah;
End
Total := gaji + lembur;
Writeln(“Gaji yang diterima Sdr. “, nama, “adalah =
Rp.”, total);
END.
11. 6. Instruksi Perulangan (Repetitision)
Algoritma Pascal
while(kondisi)
…
Endwhile
While (kondisi) do
Begin
………
end
Repeat
…
Until (kondisi)
Repeat
…
Until (kondisi);
For (var=awal To akhir step n)
…
endfor
For var=awal To akhir do
Begin
…
End;
12. Contoh :
Algoritma Pascal
Algoritma Perulangan_1
{mencetak angka 1 hingga 100}
Deklarasi
integer angka ;
Deskripsi
angka 1;
while (angka <=100) do
write (angka);
angka angka + 1;
endwhile.
PROGRAM Perulangan_1;
USES CRT;
{mencetak angka 1 hingga 100
menggunakan while}
VAR
angka : integer;
BEGIN
angka :=1;
while (angka <=100) do
Begin
writeln (angka);
angka := angka + 1;
End;
END.
13. Contoh :
Algoritma Pascal
Algoritma Perulangan_2
{Menghitung jumlah 1 + 2 + 3+ … + N,
N dimasukkan dari keyboard}
Deklarasi
integer cacah, N, jumlah ;
Deskripsi
write(“Masukkan Nilai N : “);
read(N);
cacah 1;
jumlah 0;
repeat
jumlah jumlah + cacah;
cacah cacah + 1;
until (cacah > N).
write(“Jumlahnya = “, jumlah);
PROGRAM Perulangan_2
USES CRT;
{Menghitung jumlah 1 + 2 + 3+ … + N,
N dimasukkan dari keyboard}
VAR
cacah, N, jumlah : integer;
BEGIN
write(“Masukkan Nilai N : “);
readln(N);
cacah := 1;
jumlah := 0;
repeat
jumlah := jumlah + cacah;
cacah := cacah + 1;
until (cacah > N);
writeln(“Jumlahnya = “, jumlah);
END.
14. Contoh :
Algoritma Pascal
Algoritma Perulangan_3
{Menghitung nilai Rata dari N buah bilangan}
Deklarasi
integer angka, cacah, N, jumlah ;
real rata;
Deskripsi
write(“Masukkan Nilai N : “);
read(N);
jumlah 0;
For (cacah = 1 to N step 1)
write(“Masukkan Bilangan Ke-”, cacah);
read (angka);
jumlah jumlah + angka;
endfor.
rata jumlah/N;
write(“Rata-rata = “, rata);
PROGRAM Perulangan_3;
USES CRT;
{Menghitung nilai Rata dari N buah bilangan}
VAR
angka, cacah, N, jumlah : integer ;
rata : real ;
BEGIN
write(“Masukkan Nilai N : “);
readln(N);
jumlah := 0;
For (cacah = 1 to N) do
Begin
write(“Masukkan Bilangan Ke-”, cacah);
readln(angka);
jumlah := jumlah + angka;
End;
rata := jumlah/N;
writeln(“Rata-rata = “, rata);
END.
15. 7. Prosedur
Algoritma Pascal
Prosedur nama_prosedur (parameter)
{spesifikasi prosedur}
Deklarasi
{deklarasi variabel lokal prosedur}
Deskripsi
{deskripsi dari tugas-tugas prosedur}
…
Tuliskan nama prosedur untuk memanggil
prosedur
Prosedur nama_prosedur (parameter);
Begin
….
….
End;
Tuliskan nama prosedur untuk memanggil
prosedur
16. Contoh :
Algoritma Pascal
Algoritma Luas_segitiga
{ menghitung luas segitiga dengan menggunakan
prosedur yang memanfaatkan parameter input
dan parameter output}
Deklarasi
real alas, tinggi, luas;
prosedur Hit_luas_segi_3 (input real a, t;
output real ls;);
Deskripsi
write(“Masukkan Alas Segitiga :”);
read(alas);
write(“Masukkan Tinggi Segitiga :”);
read(tinggi);
Hit_luas_segi_3 (alas, tinggi, luas);
write(“Luas Segitiga :”, luas);
Prosedur Hit_luas-segi_3 (input real a, t;
output real ls;)
{prosedur menghitung luas segi_3, menerima
a (alas) dan t (tinggi), mengembalikan ls (luas)}
Deklarasi{}
Deskripsi
ls a * t/2;
PROGRAM Luas_segitiga;
USES CRT;
{menghitung luas segitiga dengan menggunakan
prosedur yang mempunyai parameter}
VAR
alas, tinggi, luas: real;
PROCEDURE Hit_luas_segi_3 (a:real, t:real, ls:real);
Begin
ls := a * t / 2;
End;
{Program Utama}
BEGIN
write(“Masukkan Alas Segitiga :”);
readln(alas);
write(“Masukkan Tinggi Segitiga :”);
readln(tinggi);
Hit_luas_segi_3 (alas, tinggi, luas);
write(“Luas Segitiga :”, luas);
END
17. 2. Bahasa Pemrograman C
Struktur Bahasa C adalah sebagai berikut :
/* Processor Directive */
#include <file header>
/* Deklarasi Global */
<Deklarasi fungsi>
<Deklarasi variabel>
/* Fungsi utama P/
main()
{
… instruksi-instruksi
}
/* Deskripsi fungsi yang didefinisikan */
….
….
18. File header adalah file yang memuat definisi fungsi-fungsi yang telah
disediakan, misalnya fungsi input-output yang ada dalam file <stdio.h>,
sehingga file ini harus dimasukkan (include) di awal program yang
menggunakan fungsi input-output.
ALgortima dan C
Perbandingan antara Algoritma dan C
1. Beberapa tipe data yang dikenal dalam C
Jenis-jenis/Tipe data variabel pada program C :
Tipe Keterangan
int angka bulat antara -32768 s/d 32767
long int bilangan bulat yang jauh lebih besar (9 digit)
char karakter tunggal, String dibentuk dari array karakter
float bilangan real
double bilangan real yang sangat besar
19. 2. Cara mendeklarasikan variabel-variabel adalah sebagai berikut :
int umur;
float gaji;
char nama[20];
char jk;
Pemberian nilai kepada variabel dilakukan sebagai berikut :
umur = 20;
gaji = 456000.50;
strcpy(nama, “Nadhia Khairunnisa”);
jk = ‘P’
Pemberian nilai secara langsung kepada String seperti : nama = “Nadhia
Khairunnisa”; tidak diperkenankan, tetapi harus melalui fungsi “strcpy” yang
ada dalam pustaka <string.h>
20. 3. Instruksi Input-Output
Algoritma C
Read(variabel); scanf(“format”,variabel);
format :
%d untuk int
%f untuk float
%c untuk karakter
%s untuk string
Write(“teks”, variabel); printf(“format”, variabel);
format sama dengan format input
21. Contoh:
Algoritma C
Algoritma Hitung_Rata
{menghitung rata dari tiga angka}
Deklarasi
Real num1, num2, num3, rata;
String nama;
Deskripsi
Write (“Masukkan Nama Anda :”);
Read (nama);
write (“Masukkan angka 1 :”);
read (num1);
write (“Masukkan angka 2 :”);
read (num2);
write (“Masukkan angka 3 :”);
read (num3);
rata=(num1+num2+num3)/3;
write(“Rata-rata =“, rata);
write (“Terima Kasih “, nama);
/* PROGRAM Hitung_Rata */
include <stdio.h>
float num1, num2, num3, rata;
char nama[20];
main( )
{
printf(“Masukkan Nama Anda :”);
scanf(“%s”,nama);
printf(“Masukkan angka 1 :”);
scanf(“%f”,&num1);
printf(“Masukkan angka 2 :”);
scanf(“%f”,&num2);
printf(“Masukkan angka 3 :”);
scanf(“%f”,&num3);
rata = (num1+num2+num3)/3;
printf(“Rata-rata = %f“, rata);
printf(“Terima Kasih %s “, nama);
getch();
}
22. 4. Instruksi Pemilihan (Selection)
Algoritma C
If (kondisi)
then aksi-1;
else aksi-2;
Endif.
If (kondisi)
{ aksi-1 }
else
{ aksi-2 }
Case(variabel)
nilai-1 : statement-1;break;
nilai-2 : statement-2;break;
nilai-3 : statement-3;break;
…
default : statement-n;
Endcase.
switch (variabel)
{
case nilai-1 : statement-1; break;
case nilai-2 : statement-2; break;
case nilai-3 : statement-3; break;
…
default : statement-n;
}
23. Contoh :
Algoritma C
Algoritma Gaji_Karyawan
{Algoritma menerima nama, golongan serta
jam kerja, kemudian menampilkan total gaji
yang diterima karyawan}
Deklarasi
real gaji, total, jamkerja, lembur, upah;
string nama;
char gol;
Deskripsi
write(“Masukkan Nama Karyawan :”);
read(nama);
write(“Masukan Golongan :”);
read(gol);
write(“Masukan Jam Kerja :”);
read(jamkerja);
/* PROGRAM Gaji_Karyawan */
include <stdio.h>
/*Algoritma menerima nama, golongan serta
jam kerja, kemudian menampilkan total gaji
yang diterima karyawan */
float gaji, total, jamkerja, lembur, upah;
char nama[20];
char gol;
main( )
{
clrscr();
printf(“Masukkan Nama Karyawan :”);
gets(nama);printf(“n”);
printf(“Masukan Golongan :”);
scanf(“%c”,&gol);
printf(“Masukan Jam Kerja :”);
scanf(“%f”,&jamkerja);
25. 5. Instruksi Perulangan (Repetitision)
Algoritma C
while(kondisi)
…
Endwhile
while (kondisi)
{
………
}
Repeat
…
Until (kondisi)
do
{
…
}
while (kondisi);
For (var=awal To akhir step n)
…
endfor
for (var=awal; syarat ; perubahan)
{
…
}
26. Contoh :
Algoritma C
Algoritma Perulangan_1
{mencetak angka 1 hingga 100}
Deklarasi
integer angka ;
Deskripsi
angka 1;
while (angka <=100) do
write (angka);
angka angka + 1;
endwhile.
/* PROGRAM Perulangan_1 */
#include <stdio.h>
/* mencetak angka 1 hingga 100
menggunakan while */
int angka;
main( )
{
angka =1;
while (angka <=100)
{
printf(“%i”, angka);
angka ++;
}
}
27. Contoh :
Algoritma C
Algoritma Perulangan_2
{Menghitung jumlah 1 + 2 + 3+ … + N,
N dimasukkan dari keyboard}
Deklarasi
integer cacah, N, jumlah ;
Deskripsi
write(“Masukkan Nilai N : “);
read(N);
cacah 1;
jumlah 0;
repeat
jumlah jumlah + cacah;
cacah cacah + 1;
until (cacah > N).
write(“Jumlahnya = “, jumlah);
/* PROGRAM Perulangan_2 */
#include<stdio.h>
/* Menghitung jumlah 1 + 2 + 3+ … + N,
N dimasukkan dari keyboard */
int cacah, N, jumlah;
main( )
{
printf(Masukkan Nilai N : “);
scanf(“%i”,&N);
cacah = 1;
jumlah = 0;
do
{
jumlah = jumlah + cacah;
cacah = cacah + 1;
}
while (cacah > N);
printf(“Jumlahnya = %i “, jumlah);
}
28. Contoh :
Algoritma C
Algoritma Perulangan_3
{Menghitung nilai Rata dari N buah bilangan}
Deklarasi
integer angka, cacah, N, jumlah ;
real rata;
Deskripsi
write(“Masukkan Nilai N : “);
read(N);
jumlah 0;
For (cacah = 1 to N step 1)
write(“Masukkan Bilangan Ke-”, cacah);
read (angka);
jumlah jumlah + angka;
endfor.
rata jumlah/N;
write(“Rata-rata = “, rata);
/ * PROGRAM Perulangan_3 */
#include<stdio.h>
{Menghitung nilai Rata dari N buah bilangan}
int angka, cacah, N, jumlah;
float rata;
main( )
{
printf(“Masukkan Nilai N : “);
scanf(“%i”,&N);
jumlah = 0;
For (cacah = 1; cacah <= N; cacah++)
{
printf(“Masukkan Bilangan Ke-”, cacah);
scanf(“%i”,&angka);
jumlah = jumlah + angka;
}
rata = jumlah/N;
printf(“Rata-rata = %5.2f“, rata);
}
29. 6. Prosedur
Algoritma C
Prosedur nama_prosedur (parameter)
{spesifikasi prosedur}
Deklarasi
{deklarasi variabel lokal prosedur}
Deskripsi
{deskripsi dari tugas-tugas prosedur}
…
Tuliskan nama prosedur untuk memanggil
prosedur
Tipe_hasil nama_prosedur (parameter);
deklarasi parameter;
{
….
….
}
Tuliskan nama prosedur untuk memanggil
prosedur
30. Contoh :
Algoritma C
Algoritma Luas_segitiga
{ menghitung luas segitiga dengan menggunakan
prosedur yang memanfaatkan parameter input
dan parameter output}
Deklarasi
real alas, tinggi, luas;
prosedur Hit_luas_segi_3 (input real a, t;
output real ls;);
Deskripsi
write(“Masukkan Alas Segitiga :”);
read(alas);
write(“Masukkan Tinggi Segitiga :”);
read(tinggi);
Hit_luas_segi_3 (alas, tinggi, luas);
write(“Luas Segitiga :”, luas);
Prosedur Hit_luas-segi_3 (input real a, t;
output real ls;)
{prosedur menghitung luas segi_3, menerima
a (alas) dan t (tinggi), mengembalikan ls (luas)}
Deklarasi{}
Deskripsi
ls a * t/2;
/* PROGRAM Luas_segitiga */
#include<stdio.h>
{menghitung luas segitiga dengan menggunakan
prosedur yang mempunyai parameter}
float alas, tinggi, luas;
float Hit_luas_segi_3 (float a, float t, float ls);
main( )
{
printf(“Masukkan Alas Segitiga :”);
scanf(“%f”,&alas);
printf(“Masukkan Tinggi Segitiga :”);
scanf (“%f”,&tinggi);
Hit_luas_segi_3 (alas, tinggi, luas);
printf(“Luas Segitiga : %5.2f”, luas);
}
Hit_luas_segi_3 (a, t, ls)
float a, t, ls;
{
ls := a * t / 2;
}
31. Buatlah program C dengan untuk menampilkan lay-out sebagai berikut
Transaksi Pemesanan Catering
Tanggal :
Nomor Faktur :
Nama Pelanggan :
Jenis Menu :
Tarif Menu :
Jumlah Pesanan :
Discount :
Jumlah Pembayaran : Rp.
Masih Ada data ? (Y/T) :
Ketentuan Proses :
Tarif Menu :
Jika Jenis Menu = ‘Menu A’ maka Tarif Menu = 12500
Jika Jenis Menu = ‘Menu B’ maka Tarif Menu = 15000
Jika Jenis Menu = ‘Menu C’ maka Tarif Menu = 20000
Discount :
Jika Jumlah Pesanan > 500 mendapat discount 10% dari Jumlah Harga
Jumlah Pembayaran :
Jumlah Pembayaran = Jumlah Pesanan x Tarif Menu - Discount
32. #include<stdio.h>
#include<conio.h>
main()
{
char tgl[10], nofak[10], nmpel[25], jmenu[6];
int jpesan;
long int tarif;
long int jbayar, disc;
char mad;
do
{
clrscr();
gotoxy(20,3);printf("Transaksi Pemesanan Catering");
gotoxy(20,4);printf("~~~~~~~~~~~~~~~~~~~");
gotoxy(20,5);printf("Tanggal : ");
gets(tgl);
gotoxy(20,6);printf("Nomor Faktur : ");
gets(nofak);
gotoxy(20,7);printf("Nama Pelanggan : ");
gets(nmpel);
gotoxy(20,8);printf("Jenis Menu : ");
scanf("%s",jmenu);fflush(stdin);
if (strcmp(jmenu,"Menu-A")==0)
tarif=12500;
else
if (strcmp(jmenu,"Menu-B")==0)
tarif=15000;
else
tarif=20000;
gotoxy(25,9);printf("Tarif Menu : Rp. %li",tarif);
gotoxy(20,10);printf("Jumlah Pesanan : Porsi");
gotoxy(37,10);scanf("%i",&jpesan);fflush(stdin);
if (pesan.jpesan>500)
disc=0.1*pesan.jpesan*tarif;
else
disc=0;
jbayar=pesan.jpesan*tarif-disc;
gotoxy(25,11);printf("Discount : Rp. %lin",disc);
gotoxy(25,12);printf("Jumlah Pembayaran : Rp. %lin",jbayar);
gotoxy(20,13);printf("Tambah Data [Y/T]?");
scanf("%c",&mad);fflush(stdin);
}
while(mad=='y');
}
33. Buatlah flowchart program dan program C atau Pascal dengan masukkan berupa
suatu nilai antara 0 sampai dengan 100 dan memberikan keluaran berupa klasifikasi A,
B, C, D atau E untuk beberapa orang mahasiswa berdasarkan kriteria sebagai berikut :
Nilai Angka Nilai Huruf Bobot Keterangan
n_angka > 80 A 4 Lulus
65 < n_angka < 80 B 3 Lulus
55 < n_angka < 65 C 2 Lulus
40 < n_angka < 55 D 1 Gagal
n_angka < 40 E 0 Gagal
Gunakan variable bertipe float untuk menyimpan data nilai angka, variable bertipe
char untuk memegang nilai A, B, C, D, atau E, variable bertipe integer untuk
menyimpan data bobot, variabel bertipe string untuk keterangan, nomor bp dan nama
mahasiswa dengan lay-out sebagai berikut :
34. Proses Nilai Bahasa Pemrograman Terstruktur
Nomor Bp :
Nama Mahasiswa :
Nilai Angka :
Nilai Huruf :
Bobot :
Keterangan :
Masih Ada Data ? :