Pages

Thursday, September 15, 2011

Tugas PIK Part II

1.  Tipe Data dan Operator

Tanda operasi (operator) di dalam bahasa Pascal di kelompokkan dalam :

      * Assignment Operator ( operator pengerjaan)  -> ditandai dengan penggunaan titik dua dan diikuti sama dengan ( : = )
Contoh –> A : = B

      * Binary Operator ( operator biner) -> digunakan untuk mengoperasikan 2 buah operand yang berbentuk konstanta ataupun variable.  Operator ini biasanya digunakan untuk operasi aritmatika, seperti penjumlahan, pengurangan, MOD, DIV, dll.


Operator

Operasi
Tipe operand
Tipe hasil
*
Perkalian
real,real
integer,integer
real,integer
real
integer
real
DIV
Pembagian bulat
integer,integer
integer
/
Pembagian real
real,real
integer,integer
real,integer
real
real
real
MOD
Sisa pembagian
integer,integer
integer
+
Pertambahan
real,real
integer,integer
real,integer
real
integer
real
-
pengurangan
real,real
integer,integer
real,real
real
integer
real

Contoh :
                        15*5                hasilnya           75
                        20/3                 hasilnya           6.6666666667E+00
                        20 div 3           hasilnya           6
                        20 mod 3         hasilnya           2

* Unary Operator (Operator Tunggal) ->  operator ini menggunakan sebuah operand saja dapat berupa unary minus dan unary plus.
Contoh : +2.5, a+(+b) 


      * Bitwise Operator -> digunakan untuk operasi bit per bit pada nilai interger.
Operator yang digunakan (NOT, AND, OR, XOR, Shl, Shr)
Contoh :
short x;
x = 170 & 34;
Hasil Operasi :
170 = 0000 0000 1010 1010
34 = 0000 0000 0010 0010 &
0000 0000 0010 0010 = 34

     * Relational Operator ( Operator Relasi) -> untuk membandingkan dua buah nilai, yang nantinya akan menghasilkan nilai boolean (True atau False).  Terdiri dari operator : =, <, >, <=, >=, <>
Contoh :
#include <stdio.h>
void main() {
  printf(“ 3 < 5 bernilai : %d\n”, 3 < 5);
  printf(“15 >= 3 * 5 bernilai : %d\n”, 15 >= 3 * 5);
  printf(“ 8 == 7 bernilai : %d\n”, 8==7);
  printf(“11<=5+4 bernilai : %d\n”, 11<=5+4);
}
  
Outputnya :

  3 < 5 bernilai : 1
  15>=3*5 bernilai : 1
  8==7 bernilai : 0
  11<=5+4 bernilai : 0
   
     * Logical Operator ( Operator Logika) -> Terdapat 4 buah logical operator yaitu : NOT, AND, OR dan XOR. Operator ini bekerja dengan nilai-nilai logika, yaitu True dan False. Logical Operator berguna untuk melakukan pengecekan lebih dari satu kondisi dan dapat diterapkan di php.
contoh :

<?php
$a = 10;
$b = 50;
if ($a > 10 && $b > 10)
if ($a > 10 || $b > 10)
if ($a > 10 xor $b > 10)
if (!($a > 10))
?>
  
      * Set Operator (Operator Himpunan ) -> digunakan untuk operasi himpunan
contoh :
 
     * String Operator -> digunakan untuk operasi string. Hanya ada sebuah operator string saja, yaitu operator + yang digunakan untuk menggabungkan dua buah nilai string.
 Contoh : 
                        Nama1 := ‘Indira ‘;
                        Nama2 := ‘Savitri’;
                        Nama3 := Nama1 + Nama2;

sumber :   http://d3sspid3.blogspot.com/2008/03/belajar-program-pascal-yu.html                         http://www.indrabt.com/logical-operator-pada-perintah-if.html
               http://lecturer.eepis-its.edu/~tessy/kuliah/prakdb2/OAI_SQL15.pdf  
               http://tri_s.staff.gunadarma.ac.id
               http://kampus.goldie.web.id/attachments/article/147/Sesi%203%20-%20Operator%20%28Bag%201%29.pdf  
               www.slidefinder.net/P/Pertemuan_Struktur_Kontrol.../14988951       
  

2.  Array dan Record

Array (Larik) => merupakan tipe data tersetruktur dimana didalamnya terdiri dari komponen – komponen yang mempunyai tipe data yang sama. 

Contoh :
1)  Array Nilai siswa

uses crt;
var Nilai : array[1..50] of real;
jumlah, rata : real;
i,a, JumDat : byte;
nama : string;
begin
clrscr;
{jumlah:=0;}
writeln(‘ Nilai Rata – Rata Praktikum Kelas
TK2A’);


Writeln(‘—————————————’);

write(‘Nama Mahasiswa =’ );readln(nama);
Write(‘Berapa Jumlah data = ‘);readln(JumDat);

for i := 1 to Jumdat do
begin
Write(‘Nilai Praktiklum ke
‘,i,’=');Readln(Nilai[i]);

end;
jumlah:=0;
for i:= 1 to JumDat do
begin
Jumlah := jumlah + Nilai[i];
rata := Jumlah/JumDat;
end;
writeln;
clrscr;
writeln(‘Nama Mahasiswa =’,nama);

for i := 1 to jumdat do
begin
writeln(‘Nilai Praktekm ke-’,i,’
=’,nilai[i]:3:0);

end;
writeln(‘Total Nilai = ‘, jumlah:8:0);
writeln(‘Nilai Rata – rata = ‘, Rata:8:1);
readln;
end.
  


 2) program ayam_goreng;


uses crt;
var
i,b:byte;
jenis,kdjenis:array [1..50]of string;
banyak,jmlharga,harga:array [1..50]of real;
totb,ppn,totjml,total:real;
begin
clrscr;
writeln(‘Ayam Goreng Fried Chicken’);
writeln(‘========================’);
writeln(‘Kode Jenis potong Harga’);
writeln(‘=============================’);
writeln(‘D Dada 3000 ‘);
writeln(‘P Paha 2500 ‘);
writeln(‘S Sayap 1500 ‘);
writeln(‘=============================’);
write(‘Masukan Jumlah Jenis : ‘);readln(b);
for i:=1 to b do
begin
writeln;
writeln(‘Jenis Ayam ke- ‘,i);
writeln;
write(‘Jenis Ayam Bagian [D/P/S] : ‘);readln(kdjenis[i]);
write(‘Jumlah Beli / Potong : ‘);readln(banyak[i]);
end;
writeln; clrscr;
writeln(‘ PROGRAM AYAM GORENG FRIED CHICKEN’);
writeln(‘======================================================================’);
writeln(‘NO JENIS POTONG HARGA SATUAN BANYAK BELI
JUMLAH HARGA ‘);

writeln;
totb:=0;
for i:=1 to b do
begin
if kdjenis[i]=’D’ then
begin
jenis[i]:=’Dada’;
harga[i]:=3000;
end
else if kdjenis[i]=’P’ then
begin
jenis[i]:=’Paha’;
harga[i]:=2500;
end
else if kdjenis[i]=’S’ then
begin
jenis[i]:=’Sayap’;
harga[i]:=1500;
end
else
begin
jenis[i]:=’Kepala’;
harga[i]:=1000;
end;

jmlharga[i]:=harga[i]*banyak[i];
totb:=totb+jmlharga[i];
ppn:=totb*0.1;
totjml:=totjml+banyak[i];
total:=totb+ppn
end;
for i:=1 to b do
begin

writeln(i:1,jenis[i]:9,harga[i]:14:0,banyak[i]:18:0,jmlharga[i]:19:0);

end;
writeln(‘=================================================================’);
writeln(‘ Jumlah Potong :
‘,totjml:2:0);

writeln(‘ Jumlah bayar :
‘,totb:2:0);

writeln(‘ PPN 10 % :
‘,ppn:2:0);

writeln(‘ Total bayar :
‘,total:2:0);

readln;
end.

3)
uses crt;
var
jp,i:byte;
np,nk:array[1..50]of string;
fsl:array[1..50]of char;
jml,hrg,ttl:array[1..50]of real;
tot:real;
lagi:char;
label awal,akhir;
begin
awal:
clrscr;
writeln(‘STASIUN “HARUS BERHENTI” ‘);
writeln(‘================================’);
write(‘masukan jumlah pemesan :’);readln(jp);
for i:=1 to jp do
begin
writeln(‘Data ke- ‘,i);
write(‘Nama pemesan :’);readln(np[i]);
write(‘Nama kereta :’);readln(nk[i]);
writeln(‘fasilitas [ 1.VVIP 3.BISNIS ');
write(' 2.VIP 4.EKONOMI ]
=’);readln(fsl[i]);

write(‘jumlah pesan :’);readln(jml[i]);
end;
writeln(‘ STASIUN “HARUS
BERHENTI” ‘);

writeln(‘ PROGRAM PENJUALAN TIKET
KERETA API’);


writeln(‘————————————————————————-’);

writeln(‘NO. Nama Pemesan Nama Kereta
Fasilitas Jumlah Pesan harga total’);

tot:=0;
for i:=1 to jp do
begin
if fsl[i]=’1′ then
hrg[i]:=200000
else
if fsl[i]=’2′ then
hrg[i]:=180000
else
if fsl[i]=’3′ then
hrg[i]:=140000
else
hrg[i]:=80000;
ttl[i]:=hrg[i]*jml[i];
tot:=tot+ttl[i];
end;
for i:=1 to jp do
begin

writeln(i:1,np[i]:10,nk[i]:12,fsl[i]:15,jml[i]:14:0,hrg[i]:12:0,ttl[i]:10:0);

end;
writeln(‘————————————————————————–’);
writeln(‘total pembayaran
=’,tot:9:0);

writeln(‘————————————————————————–’);
write(‘Mau input data lagi[Y/T]=’);readln(lagi);
if (lagi=’Y') or (lagi=’y') then
goto awal
else
goto akhir;
akhir:
readln;
end.
  
  

Record => Sebuah record rekaman disusun oleh beberapa field. Tiap field berisi data dari tipe dasar / bentukan tertentu. Record mempunyai kelebihan untuk menyimpan suatu sekumpulan elemen data yang berbeda-beda tipenya (di banding array).  
Contoh :
  1)  Misalkan pernyataan :
x.Nama
x.Usia
x.Kota
x.Kodepos
menjadi
with x do
Begin
Nama
Usia
Kota
Kodepos
end
Contoh.
program RECORD_INTRO;
type tanggal = record
bulan, hari, tahun : integer;
end;
var
waktu : tanggal;
begin {program utama}
with waktu do {mulai with}
begin
hari :=25;
bulan:=09;
tahun:=1983;
writeln('hari ini adalah ',hari,':',bulan,':', tahun)
end {akhir with}
end.




2) type
Data_mahasiswa = record
Nama : string;
Usia : integer;
Kota : String;
Kodepos : integer;
end;
Var
x: Data_mahasiswa;
1. Pengaksesan Elemen Record
x.Usia Nama variable disertai nama field.
x.Nama
x.Kota
x.Kodepos
Contoh.
program RECORD_INTRO;
type tanggal = record
bulan, hari, tahun : integer;
end;
var
waktu : tanggal;
begin
waktu.hari :=25;
waktu.bulan:=09;
waktu.tahun:= 1983;
writeln('hari ini adalah ',waktu.hari,':',waktu.bulan,':', waktu.tahun)
end.  
3) 


program rekor;
uses
crt;
type
TSiswa = record
nim : string[8];
nama : string[25];
agama : string[10];
ktp : string[25];
end;
var
s : TSiswa;
umur : integer;
ts : integer;
tl : integer;
begin
clrscr;
write (’Masukkan tahun sekarang: ‘);
readln (ts);
writeln (’Isikan data anda dalam Form ini’);
write (’NIM : ‘);
readln (s.nim);
write (’NAMA : ‘);
readln (s.nama);
write (’TAHUN LAHIR : ‘);
readln (tl);
umur := (ts-tl);
write (’AGAMA : ‘);
readln (s.agama);
write (’NO.KTP : ‘);
readln (s.ktp);
writeln;
writeln (’Berikut ini informasi yang anda berikan: ‘);
writeln (’NIM : ‘, s.nim);
writeln (’NAMA : ‘, s.nama);
writeln (’Umur : ‘, umur);
writeln (’AGAMA : ‘, s.agama);
writeln (’NO.KTP : ‘, s.ktp);
READLN;
end.

sumber : wsilfi.staff.gunadarma.ac.id/Downloads/files/1378/BhsC_Array.DOC
              http://materi-praktek.blogspot.com/2007/03/bag-vi-array.html
       http://materikuliah.blogspot.com/2007/10/type-data-dan-record-dalam-pascal.html
http://sahrulwijaya.blogspot.com/2009/04/pernyataan-record-dalam-aplikasi-pascal.html
http://dif4jc.wordpress.com/2007/06/22/array-pada-pascal/
http://acieee.wordpress.com/2010/03/24/contoh-program-record-pada-pascal/





3) KODE ASCII 

          sumber :http://www.cdrummond.qc.ca/cegep/informat/Professeurs/Alain/files/ascii.htm  

No comments:

Post a Comment