Senin, 21 September 2015

TUGAS PERTEMUAN 2 PROGRAM SEDERHANA

Program Sederhana dengan Menggunakan Type Data Sederhana dan Majemuk
Program sederhana dengan Tipe data Integer
program phytagoras;
uses wincrt;
var a,b,c,i,j,k:integer;
begin
     writeln ('program segitiga phytagoras');
     writeln('masukkan sisi pertama'); readln(i);
     writeln('masukkan sisi kedua'); readln(j);
     writeln('masukkan sisi ketiga'); readln(k);
     if (i>j) and (i>k) then begin c:=i; b:=j; a:=k end
     else if (j>i) and (j>k) then begin c:=i; b:=j; a:=k end
          else begin c:=k; b:=i; a:=j end;
     writeln;
     writeln ('a= ',a,'b= ',b,'c= ',c);
     if (c*c=a*a+b*b)
        then begin
        writeln ('karena ','c','2 > ','a','2 +','b','2 maka');
        writeln ('segitiga tersebut adalah segitiga siku-siku') end

    else if (c*c>a*a+b*b)
          then begin
          writeln ('karena ','c','2>','a','2+','b','2 maka');
          writeln('segitiga tersebut adalah segitiga tumpul')end
          else begin
          writeln('karena','c','2<','a','2+','b','2 maka');
          writeln('segitiga tersebut adalah segitiga lancip')end
     end.

 Program Sederhana dengan Tipe Data Real 
Program Hitung_Luas_Balok;
Uses wincrt;
Var panjang:real;
    lebar:real;
    tinggi:real;
    Luasbalok:real;
Begin
     write('masukkan nilai panjang:'); readln(panjang);
     write('masukkan nilai lebar:'); readln(lebar);
     write('masukkan nilai tinggi:'); readln(tinggi);
     writeln;
     Luasbalok:=2*(panjang*lebar+lebar*tinggi+panjang*tinggi);
     writeln('Nilai luasbalok adalah:',luasbalok:0:2);
End.
  Program Sederhana dengan Tipe Data Bolean
Program display_bool;
Uses wincrt;
Begin
write('!!! PROGRAM TIPE DATA BOLEAN !!!');
writeln;
write('================================');
writeln;
writeln('>> laki-laki ');
writeln;
Writeln('>> perempuan ');
writeln;
writeln('^_^ TERIMA KASIH SUDAH MENCOBA ^_^');
End.
CONTOH 2 :
program boolean;
{ekspresi boolean}
uses wincrt;
begin
clrScr;
writeln (' S > s =', 'S' <'s');
writeln ('s > S =', 's' > 'S');
writeln ('5 > 2 =', 5 > 2);
readln;
end.
 Program Sederhana dengan Tipe Data Char
Program menampilkan_huruf;
uses wincrt;
var Alfabet:char;
begin
     write('!!! PROGRAM MENAMPILKAN CHAR !!!');
     writeln;
     write('+++==========================+++');
     writeln;
     writeln;
     writeln ('== Huruf Alfabet " S " Ditampilkan ==');
    
end.

Tipe Data Majemuk
ØProgram dengan Tipe Data String
program warna_baju;                                           
uses wincrt;
var hari,pakai:string;
begin
     write('masukkan hari:'); readln(hari);
     writeln;
     if (hari='senin') then
        pakai:='pink'
     else if (hari='selasa') then
          pakai:='coklat susu'
     else if (hari='rabu') then
          pakai:='biru'
     else if (hari='kamis') then
          pakai:='merah'
     else if (hari='jumat') then
 pakai:='kuning'
     else if (hari='sabtu') then
          pakai:='coklat'
     else if (hari='minggu') then
         pakai:='hitam';
     writeln('jadi baju yang anda pakai hari ini adalah:',pakai);
     end.
Program Penggunaan Jenis Operator Data Pada Tipe Data Sederhana Dalam Bahasa Pemograman Pascal
1.OPERATOR ARITMATIKA
program menghitung_usia;
uses wincrt;
var TgS, BlS, Ths, TgL, BlL, ThL : Integer;
   X1: Integer;
   X2: Integer;
   X3: Integer;
   X4: Integer;
   TTH: Integer;
   UsiaThn: Integer;
   UsiaBln: Integer;
   UsiaHr: Integer;
Begin
     writeln('            ^-^ PROGRAM MENGHITUNG USIA ^-^');
     WRITELN;
     WRITELN;
     Write('Masukkan Tgl Sekarang       : '); Readln(TgS);
     Write('Masukkan Bulan Sekarang     : '); Readln(BlS);
     Write('Masukkan Tahun Sekarang     : '); Readln(ThS);
     Writeln;
     Write('Masukkan Tgl Lahir          : '); Readln(TgL);
     Write('Masukkan Bulan Lahir        : '); Readln(BlL);
     Write('Masukkan Tahun Lahir        : '); Readln(ThL);
Writeln;
     X1 := 30-TgL;
     X2 := (12 - BlL) * 30;
     X3 := ((ThS - 1)-ThL) * 360;
     X4 := ((BlS-1)*30)+TgS;
     TTH:=(X1+X2+X3+X4);
     UsiaThn:=TTH Div 360;
     UsiaBln:=((TTH - (UsiaThn * 360)) Div 30);
     UsiaHr:=TTH Mod ((UsiaThn*360)+(UsiaBln*30));
     writeln('           ^-^ USIA ANDA SEKARANG ^-^');
     writeln;
     writeln;
     Writeln(UsiaThn , ' Tahun');
     Writeln(UsiaBln, ' Bulan');
     Writeln(UsiaHr, ' Hari')  ;
end.
2. Operator Relasional
program menghitung_nilai;
uses wincrt;
var nama : string;
    kehadiran:integer;
    nilaikehadiran:real;
    tugas : real;
    nilaitugas : real;
    Kuis  : real;
    nilaikuis : real;
    Mid   : real;
    nilaiMid   : real;
    Final : real;
    nilaifinal: real;
    total:real; 
begin
     writeln('=============================');
     writeln('     PROGRAM NILAI AKHIR');
     writeln('=============================');
     write('masukkan nama                     : ')           ; readln( nama);
     write('masukkan Jumlah kehadiran         : ')    ; readln(kehadiran);
     write('masukkan Nilai Tugas              : ')         ; readln( tugas);
     write('masukkan Nilai Kuis               : ')          ; readln( kuis);
     write('masukkan Nilai Midtest            : ')       ; readln( mid);
     write('masukkan Nilai Final              : ')         ; readln( final);
    
   
     nilaikehadiran := ((kehadiran * (100/14))*10 )/100;
     nilaitugas := (tugas *15)/100;
     nilaikuis := (kuis*10)/100;
     nilaimid := (mid*25)/100;
     nilaifinal := ( final*40)/100;
     total := nilaikehadiran + nilaitugas + nilaikuis + nilaimid + nilaifinal;
     writeln(total :2:0);
     if (total>= 85) then
     write('grade nilai anda A')
     else if ( total >= 75) then
     write('grade nilai anda B')
     else if total >= 65 then
     write('grade nilai anda C')
     else if total >= 55 then
     write('grade nilai anda D')
     else if total < 55 then
     write('grade nilai anda E')   
end.
    3. Operator Logic
program operator_logic;
uses wincrt;
var angka:integer;
      nilai :integer;
      i:integer;
begin
write('Masukan Nilai = '); readln(nilai);
{for i :=1 to 5 Do}
if(nilai < 5)then
write('Angka benar')
else
write('Angka Salah');
end.
4. Operator Not
Program operator_NOT;
{ekspresi menggunakan }
Uses wincrt;
begin
clrscr;
writeln ('A >a=','A'<'a');
writeln ('A<A =','A'>'A');
readln;
end.
5. Operator Or

Program operator_OR;
{ekspresi menggunakan }
Uses wincrt;
begin
clrscr;
writeln ('A >a =','A'>'a');
writeln ('a <A =','a'>'A');
writeln ('A >a=','A'<'a');
writeln ('A <a=','A'<'a');
readln;
end. 
6. Operator And
Program operator_AND;
{ekspresi menggunakan }
Uses wincrt;
begin
clrscr;
writeln ('A >a =','A'>'a');
writeln ('a <A =','a'<'A');
writeln ('a <A =','a'<'A');
writeln ('a <A =','a'>'A');
readln;
end.
7. Program Operator XOR
Program operator_XOR;
{ekspresi menggunakan }
Uses wincrt;
begin
clrscr;
writeln ('A >a =','A'>'a');
writeln ('a <A =','a'>'A');
writeln ('a <A =','a'>'A');
writeln ('a <A =','a'<'A');
readln;
end.
8. Operator Assigment
program Assigment;
uses wincrt;
var x,y,z:integer; {variabel x,y dan z belum memiliki nilai}
begin
x:=11;{nilai variabel x}
y:=20; {nilai variabel y}
z:=y+x; {memproses x dan y ke dalam variabel z}
write('nilai hasil proses penugasan = ',z);
readln;
end.                           
end.

ARRAY
ØPengertian Array (Larik)
Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut.



Suatu array dapat dibedakan atas 2 (dua) bagian, yaitu :
a. Array Berdimensi Satu

Array berdimensi satu dapat dikatakan sebagai suatu daftar yang linier atau sebuah kolom. Bentuk deklarasi dari array jenis ini dalam bahasa Pascal adalah:
VAR nama_array : ARRAY [index] OF jenis_elemen;
 Contoh Program :
program percabangan;
uses wincrt;
var
Nmhari : array[1..7] of string;
a : integer;
Begin
for a:= 1 to 7 do
begin
write('Nama Hari Ke-',a,' :');
readln(nmhari[a]);
end;
CLRSCR;
writeln('================');
writeln('NAMA-NAMA HARI');
writeln('================');
for a:= 1 to 7 do
writeln(a,' ',nmhari[a]);
end.
Array tidak hanya dapat berupa suatu varibel yang dideklarasikan di bagian deklarasi variabel, tetapi dapat juga berupa konstanta (const).
Contoh
program kkk;
Uses winCrt;
Const
Tetap : Array[1..4] of Integer=(7,10,21,20);
Var i : Integer;
Begin
  For i:= 1 to 4 Do
  Writeln('Nilai Konstan array ke ',i:2,' =',Tetap[i]);
  Readln;
End.



b. Array Dimensi Dua

Array dimensi dua ini dapat dianggap sebagai sebuah matriks yang jumlah kolomnya  lebih dari satu. Bentuk deklarasi :
VAR nama_array : ARRAY  [indeks_baris,indeks_kolom] OF jenis;
Array 2 dimensi dapat mewakili suatu bentuk tabel atau matrik, yaitu indeks pertama menunjukkan baris dan indeks ke dua menunjukkan kolom dari tabel atau matrik.
Untuk mengetahui cara mendeklarasikan dari penggunaan aray dua dimensi dapat dilihat pada listing program dibawah ini.

Program_Deklarasi_Array_Dua_Dimensi; 
Uses Crt;
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.
Ø Keunggulan array adalah :
1. Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu
secara langsung tanpa melalui elemen-elemen lain.
2. Jika telah berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemenelemen
tetangga, baik elemen pendahulu atau elemen penerus.
Ø Kelemahan array adalah :
1. Array mempunyai fleksibilitas rendah, karena array mempunyai batasan harus bertipe
homogen. Kita tidak dapat mempunyai array dimana satu elemen adalah karakter, elemen
lain bilangan, dan elemen lain adalah tipe-tipe lain
2. Kebanyakan bahasa pemrograman mengimplementasikan array dengan ukuran statik
yang sulit diubah ukurannya di waktu eksekusi. Bila penambahan dan pengurangan
terjadi terus-menerus, maka representasi statis ini bersifat tidak efisien dalam penggunaan
memori.
Record pada Bahasa Pemrograman Pascal
Ø Definisi Record 
Record merupakan sebuah rekaman yang disusun  oleh beberapa field. Tiap field berisi data dari tipe dasar atau bentukan tertentu. Record mempunyai kelebihan untuk menyimpan sekumpulan elemen data yang berbeda-beda tipenya.
program data_record;
uses wincrt;
type
tsiswa = record
noabsensi :integer;
nama :string[25] ;
end;
var s:tsiswa;
begin
     write('!!! DATA MAHASISWA !!!');
     writeln;
     writeln('======================');
     writeln;
     writeln('Isikan Data Anda');
write('No Absensi :');readln(s.noabsensi);
write('Nama       :');readln(s.nama);
writeln('-------------------------------');
writeln('Data-Data Diatas Merupakan Benar');
writeln('No Absensi :',s.noabsensi);
write('Nama :',s.nama);
end

Tidak ada komentar:

Posting Komentar