SlideShare a Scribd company logo
1 of 34
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 
(;).
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);
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
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)
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’
4. Instruksi Input-Output adalah sebagai berikut : 
Algoritma Pascal 
Read(variabel); Read(variabel); 
Readln(variabel); 
Write(“Teks”, variabel); Write(“Teks”, variabel); 
Writeln(“Teks”, variabel);
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
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.
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);
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.
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;
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.
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.
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.
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
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
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 */ 
…. 
….
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
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>
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
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(); 
}
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; 
}
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);
Contoh : 
Algoritma C 
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); 
switch (gol) 
{ 
case ‘A’ : upah = 5000; break; 
case ‘B’ : upah = 6000; break; 
case ‘C’ : upah = 7500; break; 
case ‘D’ : upah = 9000; break; 
default write(“Golongan Salah !”); 
upah = 0; 
} 
If (jamkerja > 150) 
{ lembur = (jamkerja – 150) * upah * 1.25; 
gaji = 150 * upah; 
} 
else 
{ lembur= 0; 
gaji = jamkerja * upah; 
} 
total = gaji + lembur; 
printf(“Gaji yang diterima Sdr. %s“, nama, “adalah = 
Rp. %8.2f”, total); 
getch(); 
}
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) 
{ 
… 
}
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 ++; 
} 
}
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); 
}
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); 
}
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
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; 
}
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
#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'); 
}
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 :
Proses Nilai Bahasa Pemrograman Terstruktur 
Nomor Bp : 
Nama Mahasiswa : 
Nilai Angka : 
Nilai Huruf : 
Bobot : 
Keterangan : 
Masih Ada Data ? :

More Related Content

What's hot (20)

5 perulangan
5 perulangan5 perulangan
5 perulangan
 
Alwin pascal-02
Alwin pascal-02Alwin pascal-02
Alwin pascal-02
 
Materi dasar-pascal
Materi dasar-pascalMateri dasar-pascal
Materi dasar-pascal
 
Materi Pelajaran Program Pascal
Materi Pelajaran Program PascalMateri Pelajaran Program Pascal
Materi Pelajaran Program Pascal
 
Pertemuan 4
Pertemuan 4Pertemuan 4
Pertemuan 4
 
Algoritma pemrograman 9
Algoritma pemrograman 9Algoritma pemrograman 9
Algoritma pemrograman 9
 
Pertemuan 3
Pertemuan 3Pertemuan 3
Pertemuan 3
 
Uts alpro ii
Uts alpro iiUts alpro ii
Uts alpro ii
 
Algoritma pemrograman 10
Algoritma pemrograman 10Algoritma pemrograman 10
Algoritma pemrograman 10
 
Algoritma pemrograman 8
Algoritma pemrograman 8Algoritma pemrograman 8
Algoritma pemrograman 8
 
Dasar Dasar Algoritma
Dasar Dasar AlgoritmaDasar Dasar Algoritma
Dasar Dasar Algoritma
 
Algoritma dan Pemrograman C++ (Perulangan)
Algoritma dan Pemrograman C++ (Perulangan)Algoritma dan Pemrograman C++ (Perulangan)
Algoritma dan Pemrograman C++ (Perulangan)
 
Materi dasar-pascal
Materi dasar-pascalMateri dasar-pascal
Materi dasar-pascal
 
Algoritma pemrograman 11
Algoritma pemrograman 11Algoritma pemrograman 11
Algoritma pemrograman 11
 
Algoritma pemrograman 7
Algoritma pemrograman 7Algoritma pemrograman 7
Algoritma pemrograman 7
 
Konsep dasar pemrograman pascal
Konsep dasar pemrograman pascalKonsep dasar pemrograman pascal
Konsep dasar pemrograman pascal
 
C04 struktur percabangan_22
C04 struktur percabangan_22C04 struktur percabangan_22
C04 struktur percabangan_22
 
Modul iii
Modul iiiModul iii
Modul iii
 
Struktur Bahasa Pascal[1]
Struktur Bahasa Pascal[1]Struktur Bahasa Pascal[1]
Struktur Bahasa Pascal[1]
 
modul algoritma Bab 5
modul algoritma Bab 5modul algoritma Bab 5
modul algoritma Bab 5
 

Similar to listiati univ bung hata (1110013211051) Bahasa pemrograman pascal

Similar to listiati univ bung hata (1110013211051) Bahasa pemrograman pascal (20)

Alwin pascal-02
Alwin pascal-02Alwin pascal-02
Alwin pascal-02
 
Pascal - Pendahuluan2.txt - Notepad.pdf
Pascal - Pendahuluan2.txt - Notepad.pdfPascal - Pendahuluan2.txt - Notepad.pdf
Pascal - Pendahuluan2.txt - Notepad.pdf
 
Bahasa pemrograman pascal
Bahasa pemrograman pascalBahasa pemrograman pascal
Bahasa pemrograman pascal
 
modul algoritma Bab 7 record
modul algoritma Bab 7 recordmodul algoritma Bab 7 record
modul algoritma Bab 7 record
 
PASCAL ( MODUL 3)
PASCAL ( MODUL 3)PASCAL ( MODUL 3)
PASCAL ( MODUL 3)
 
modul algoritma Bab 6
modul algoritma Bab  6modul algoritma Bab  6
modul algoritma Bab 6
 
97745784 asna-pascal
97745784 asna-pascal97745784 asna-pascal
97745784 asna-pascal
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
listiati univ bung hata (1110013211051) Materi pengenalan-pascal
listiati univ bung hata (1110013211051) Materi pengenalan-pascallistiati univ bung hata (1110013211051) Materi pengenalan-pascal
listiati univ bung hata (1110013211051) Materi pengenalan-pascal
 
Alwin pascal-04
Alwin pascal-04Alwin pascal-04
Alwin pascal-04
 
Pseudocode
PseudocodePseudocode
Pseudocode
 
Program Pascal
Program PascalProgram Pascal
Program Pascal
 
modul algoritma Bab 3
modul algoritma Bab 3modul algoritma Bab 3
modul algoritma Bab 3
 
PostgreSQL Stored-procedure
PostgreSQL Stored-procedurePostgreSQL Stored-procedure
PostgreSQL Stored-procedure
 
Tipe data dan array
Tipe data dan arrayTipe data dan array
Tipe data dan array
 
Pascal
Pascal Pascal
Pascal
 
Bab Iii Kondisi
Bab Iii KondisiBab Iii Kondisi
Bab Iii Kondisi
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Download
DownloadDownload
Download
 
Modul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasooModul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasoo
 

More from Maryanto Sumringah SMA 9 Tebo

More from Maryanto Sumringah SMA 9 Tebo (20)

Judul ptk mtk lena p. h. aritonang
Judul ptk mtk lena p. h. aritonangJudul ptk mtk lena p. h. aritonang
Judul ptk mtk lena p. h. aritonang
 
Laporan pengembangan diri lena p. h. aritonang
Laporan pengembangan diri lena p. h. aritonangLaporan pengembangan diri lena p. h. aritonang
Laporan pengembangan diri lena p. h. aritonang
 
Aulia rahmawati (lap. pengembangan diri)
Aulia rahmawati (lap. pengembangan diri)Aulia rahmawati (lap. pengembangan diri)
Aulia rahmawati (lap. pengembangan diri)
 
Tugas modul d lingkaran
Tugas modul d lingkaranTugas modul d lingkaran
Tugas modul d lingkaran
 
Jon hendri tugas pengembangan diri
Jon hendri tugas pengembangan diriJon hendri tugas pengembangan diri
Jon hendri tugas pengembangan diri
 
Jon hendri tugas ptk
Jon hendri tugas ptkJon hendri tugas ptk
Jon hendri tugas ptk
 
Tugas kelompok 4, lingkaran
Tugas kelompok 4, lingkaranTugas kelompok 4, lingkaran
Tugas kelompok 4, lingkaran
 
Klp 10 pengamatan video
Klp 10 pengamatan videoKlp 10 pengamatan video
Klp 10 pengamatan video
 
Klp 10 analisis pengamatan kompetensi 10
Klp 10 analisis pengamatan kompetensi 10Klp 10 analisis pengamatan kompetensi 10
Klp 10 analisis pengamatan kompetensi 10
 
Klp 10 tugas mandiri pemetaan pkg kompetensi 1 - 14
Klp 10  tugas mandiri pemetaan pkg kompetensi 1 - 14Klp 10  tugas mandiri pemetaan pkg kompetensi 1 - 14
Klp 10 tugas mandiri pemetaan pkg kompetensi 1 - 14
 
Workshop ptk ilham dani,s.pd sma n 18 tebo
Workshop ptk ilham dani,s.pd sma n 18  teboWorkshop ptk ilham dani,s.pd sma n 18  tebo
Workshop ptk ilham dani,s.pd sma n 18 tebo
 
Ptk ilham dani,s.pd sma n 18 tebo
Ptk ilham dani,s.pd sma n 18  teboPtk ilham dani,s.pd sma n 18  tebo
Ptk ilham dani,s.pd sma n 18 tebo
 
Proposal ptk (ike yuliarni sma n 13 muaro jambi)
Proposal ptk (ike yuliarni sma n 13 muaro jambi)Proposal ptk (ike yuliarni sma n 13 muaro jambi)
Proposal ptk (ike yuliarni sma n 13 muaro jambi)
 
Workshop ptk (ike yuliarni sma n 13 muaro jambi)
Workshop ptk (ike yuliarni sma n 13 muaro jambi)Workshop ptk (ike yuliarni sma n 13 muaro jambi)
Workshop ptk (ike yuliarni sma n 13 muaro jambi)
 
Laporan pengembangan diri (ike yuliarni sma n 13 muaro jambi)
Laporan pengembangan diri (ike yuliarni sma n 13 muaro jambi)Laporan pengembangan diri (ike yuliarni sma n 13 muaro jambi)
Laporan pengembangan diri (ike yuliarni sma n 13 muaro jambi)
 
Kompetensi 8 asli HERNANTO,S.Pd SMA4 - kerinci
Kompetensi 8 asli HERNANTO,S.Pd  SMA4 - kerinciKompetensi 8 asli HERNANTO,S.Pd  SMA4 - kerinci
Kompetensi 8 asli HERNANTO,S.Pd SMA4 - kerinci
 
B. tugas mandiri pemetaan pkg kompetensi 1 kel 14 HERNANTO,S.Pd SMA4 - ker...
B. tugas mandiri pemetaan pkg kompetensi 1  kel 14  HERNANTO,S.Pd  SMA4 - ker...B. tugas mandiri pemetaan pkg kompetensi 1  kel 14  HERNANTO,S.Pd  SMA4 - ker...
B. tugas mandiri pemetaan pkg kompetensi 1 kel 14 HERNANTO,S.Pd SMA4 - ker...
 
Tugas ptk HERNANTO,S.Pd SMA4 - kerinci
Tugas ptk  HERNANTO,S.Pd  SMA4 - kerinciTugas ptk  HERNANTO,S.Pd  SMA4 - kerinci
Tugas ptk HERNANTO,S.Pd SMA4 - kerinci
 
PKB Tugas individu HERNANTO,S.Pd SMA4 - kerinci
PKB Tugas individu HERNANTO,S.Pd  SMA4 - kerinciPKB Tugas individu HERNANTO,S.Pd  SMA4 - kerinci
PKB Tugas individu HERNANTO,S.Pd SMA4 - kerinci
 
Pkb heri purnomo, s.pd sma11 tebo
Pkb heri purnomo, s.pd sma11 teboPkb heri purnomo, s.pd sma11 tebo
Pkb heri purnomo, s.pd sma11 tebo
 

Recently uploaded

SOAL UJIAN SKKhhhhhhjjjjjjjjjjjjjjjj.pptx
SOAL UJIAN SKKhhhhhhjjjjjjjjjjjjjjjj.pptxSOAL UJIAN SKKhhhhhhjjjjjjjjjjjjjjjj.pptx
SOAL UJIAN SKKhhhhhhjjjjjjjjjjjjjjjj.pptx
FahrizalTriPrasetyo
 
10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt
taniaalda710
 
Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get CytotecAbortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptx
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptxManajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptx
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptx
arifyudianto3
 
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx
EnginerMine
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
FujiAdam
 

Recently uploaded (14)

sample for Flow Chart Permintaan Spare Part
sample for Flow Chart Permintaan Spare Partsample for Flow Chart Permintaan Spare Part
sample for Flow Chart Permintaan Spare Part
 
Laporan Tinjauan Manajemen HSE/Laporan HSE Triwulanpptx
Laporan Tinjauan Manajemen HSE/Laporan HSE TriwulanpptxLaporan Tinjauan Manajemen HSE/Laporan HSE Triwulanpptx
Laporan Tinjauan Manajemen HSE/Laporan HSE Triwulanpptx
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
SOAL UJIAN SKKhhhhhhjjjjjjjjjjjjjjjj.pptx
SOAL UJIAN SKKhhhhhhjjjjjjjjjjjjjjjj.pptxSOAL UJIAN SKKhhhhhhjjjjjjjjjjjjjjjj.pptx
SOAL UJIAN SKKhhhhhhjjjjjjjjjjjjjjjj.pptx
 
BAB_3_Teorema superposisi_thevenin_norton (1).ppt
BAB_3_Teorema superposisi_thevenin_norton (1).pptBAB_3_Teorema superposisi_thevenin_norton (1).ppt
BAB_3_Teorema superposisi_thevenin_norton (1).ppt
 
10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt
 
Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get CytotecAbortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
Abortion Pills In Doha // QATAR (+966572737505 ) Get Cytotec
 
Materi Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptx
Materi Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptxMateri Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptx
Materi Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptx
 
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptx
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptxManajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptx
Manajer Lapangan Pelaksanaan Pekerjaan Gedung - Endy Aitya.pptx
 
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx
2024.02.26 - Pra-Rakor Tol IKN 3A-2 - R2 V2.pptx
 
Presentasi gedung jenjang 6 - Isman Kurniawan.ppt
Presentasi gedung jenjang 6 - Isman Kurniawan.pptPresentasi gedung jenjang 6 - Isman Kurniawan.ppt
Presentasi gedung jenjang 6 - Isman Kurniawan.ppt
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptx
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
 

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);
  • 24. Contoh : Algoritma C 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); switch (gol) { case ‘A’ : upah = 5000; break; case ‘B’ : upah = 6000; break; case ‘C’ : upah = 7500; break; case ‘D’ : upah = 9000; break; default write(“Golongan Salah !”); upah = 0; } If (jamkerja > 150) { lembur = (jamkerja – 150) * upah * 1.25; gaji = 150 * upah; } else { lembur= 0; gaji = jamkerja * upah; } total = gaji + lembur; printf(“Gaji yang diterima Sdr. %s“, nama, “adalah = Rp. %8.2f”, total); getch(); }
  • 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 ? :