Sabtu, 04 Desember 2010

MODUL TURBO PASCAL

1.PERKENALAN DENGAN PASCAL

1.1 Struktur Program Pascal
 Strukturnya terdiri dari judul program dan blok program, Blok                     Program terbagi dua lagi,yaitu bagian deklarasi dan bagian pernyataan
                 
1.2 Contoh Progam Pascal


 

 Program contoh;
 Var   a,  b,  c  : integer;
 Begin
     c  :=  a +  b  :
     writeln (‘Jumlah =  ’,c);
End.
           
Keterangan:
                  1.Baris pertama adalah judul (nama) program, judul program ini tidak
                     harus dibuat, karena tidak dibaca  oleh computer.
                  2.Baris kedua adalah bagian deklarasi
                     a,  b,  atau  c adalah variabel, boleh dengan huruf besar atau huruf kecil
                     jadi variabel-variabel ini harus di umumkan lebih dulu, bahwa dia
                     bertype integer (bilangan bulat).
                  3.Baris-baris yang berada di antara Begin dan End. adalah pernyatan
                     Pernyataan (statemen)
                     c := a + b;  artinya : variabel c diberi nilai sebesar hasil penjumlahan n          nilai  variable a dan nilai variable b
writeln (‘Jumlah = ’, c); artinya: pertama-tama ditampilkan tulisan  
Jumlah = ,karena yang diapit tanda petik tunggal akan
langsung dicetak sama seperti itu aslinya. Sedangkan c yang tidak ada pe               ngapitnya akan dicetak nilainya
             
1.3.Deklarasi Konstanta
      Pada program diatas yang di deklarasikan adalah variabel, sedangkan                     pada program di bawah ini yang di deklarasikan adalah konstanta .


 

                       Program konstanta
                    Conts  pot = 0,2;     
                                gaji = 2500; 
                                nama = ’Ketut Jiwa’;
                    Begin
                    Writeln(‘potongan =  ‘,pot);
                    Writeln(‘gaji     = ‘,gaji);
                    Writeln(‘nama peg. = ‘,nama);
                    End.

1.4.Type variabel
      Variabel mempunyai beberapa type (jenis) yang harus di deklarasikan antara                       lain adalah type : real, integer, boolean, string, char dll
       Contoh programsederhana

:
              
                   Program contoh_type;
                 Var  total, gaji, tunjangan : real;
                         menikah : boolean ;
                         anak : integer;
                         ket : string;
                 Begin
                         gaji := 5500;
                         menikah := true;
                         anak:= 3 ;
                         tunjangan := 0,25 * gaji * anak;
                         total := gaji + tunjangan ;
                         ket := ’pegawai rajin ‘;
                         writeln (‘Gaji Bulanan = ‘,gaji ) ;
                         writeln (‘Tunjangan =;tunjangan );
                         writeln (‘Gaji total = ‘,total) ;
                         writeln (‘Sudah menikan = ‘,menikah);
                         writeln (‘Jumlah Anak = ‘,anak);
                         writeln (‘Predikatnya = ‘,ket);
                 End.
            
Keterangan :
1.tanda (:=) adalah pemberian nilai kepada variable.
2.Pencetakan nilai variabel bertype real sebaiknya di format sebagai berikut:   writeln (‘Gaji Bulanan =  ‘,gaji :7:2);
gaji :7:2 artinya nilai dari variable gaji  diberi tempat 7 digit dan dua tempat di belakang koma.  Sedangkan untuk type integer (bilangan bulat) caranya memformat adalah c:7  artinya nilai variable c diberikan tujuh tempat atau 7  digit. tidak perlu ada tempat di belakang koma, karena type integer adalah bilangan bulat.

1.5.Deklarasi type
       Type- type seperti real, integer, boolean dan lain- lainnya kadang-kadang  sebelum dideklarasikan pada variabel, terlebih dulu di berti  nama dengan memakai kata cadangan type. Untuk lebih jelasnya cobalah program berikut ini:.


 

       Program nama_tipe;
      Type  pecahan = real;
                bulat = integer;
                logika = boolean;
                aksara = string
      Var    total,  gaji,  tunj : pecahan;
               menikah : logika ;
               anak : bulat;
               ket : aksara;
       Begin
              gaji := 5500;
              menikah := true;
              anak:= 3;
              tunjangan := 0,25 * gaji * anak ;
              total := gaji + tunjangan ;
              ket := ’pegawai rajin ‘;
              writeln (‘Gaji Bulanan = ‘,gaji ) ;
              writeln (‘Tunjangan =;tunjangan );
              writeln (‘Gaji total = ‘,total) ;
              writeln (‘Sudah menikan = ‘,menikah);
              writeln (‘Jumlah Anak = ‘,anak);
              writeln (‘Predikatnya = ‘,ket);
             readln ;
     End.
      
 Keterangan :
1.      Tipe-tipe variabelnya diberi nama dulu kemudian barulah digunakan  pada var 
2.      Mengenai  pertanyaan readln, adalah digunakan untuk menyetopj agar penampilan  di layar setelah program dijalankan dapat kita lihat .
       

 2. PERINTRAH PADA TARBO PASCAL .

2.1 Menjalankan program Tarbo Pascal .
Untuk menjalankan program ,sebaiknya di periksa lebih dulu programnya ,           apakah ada kesalahan atau sudah betul cara pengetikannya ? Untuk itu sebaiknya diperiksa dengan menekan F9, lalu diadakan perbaikan.
Untuk menjalankan tekan Ctrl+ F9 atau klik RUN , lalu klik lagi RUN.
       
2.2 Menyimpan program .
      Klik File, Save As, lalu tentukan drive dan folder, lalu ketik nama file-nya misalnya CONTOH1. PAS, kemudian klik save
Catatan : 1.Extension PAS, bebas, boleh tidak diketik.
               2.Cara lain :Tekan F2, sebagai pengganti klik File, Save As .

3 KOMPONEN TURBO PASCAL

3,1.Pernyataan (Statemen) Jamak
      Statemen jamak adalah lebih dari sebuah statemen yang harus dikerjakan oleh pernyataan yang ada di atasnya. Statemen jamak biasanya ditulis di antara begin........end.
      Dalam contoh program  berikut ini akan mempergunakan statemen  If-then
Bentuknya: If  kondisi  Then  pernyataan1, artinya: Jika kondisi benar, maka yang
dikerjakan adalah pernyataan1, dan jika kondisi bernilai salah maka yang akan dikerjakan adalah  pernyataan berikutnya ( pernyataan  yang di bawahnya).
      Contoh program sederhana:


 

                  Program pernyataan_jamak;
                Var nilai :real;
                      ket, komen : string [25];
                Begin
                      Nilai := 55.5;   
                      Ket  := ’Tidak Lulus’;
                      If nilai > 60 Then
                          Begin
                              Ket := ’Lulus’;
                              Komen := ’Memuaskan’;
                           End;
Writeln(’Keterangan :  ‘,Ket);
                Writeln (’Predikat :  ’,Komen);
                Readln;
                End.
                        
Keterangan :
1.Ket := ’Lulus’; dan Komen := ’Memuaskan’; adalah statemen jamak . dan jika Begin - End; dihapus maka hasilnya akan berbeda ..
2.Pernyataan If……Then……disebut juga penyeleksian kondisi.
                      

4.MEMASUKKAN DATA

4.1 Penangkapan data ada 2 macam, yaitu Read dan Readln.
      Prosedur Readln untuk memasukkan data perbaris, artinya setelah Anda menekan enter, maka akan berganti baris, sedangkan prosedur Read tidak berganti baris.                          
                              
Contoh program:sederhana:
            
      Program Celcius_Fahrenheit ;
      ( *program ini untuk mengkonversikan dari derajat Celcius menjadi     Fahrenheit * )
     Var  c, f     :real;
     Begin
          Write (‘Ketik berapa derajat celcius  ? ‘) ;
          Readln( c) ;
          F  := 1.8 * c + 32 ;
          Writeln ;
          Writeln (c,’derajat celcius adalah   ‘,F,’ derajat fahrenheit);
          Readln ;
     End .


    Keterangan :
1.readln(c) ; artinya memasukkan nilai ke variabel c , yaitu nilai yang anda ketik melalui key board.
2.readln ;adalah pernyataan untuk menyetop agar penampilan di layer setelah program dijalankan  dapat di lihat
3.Tulisan yang diapit oleh tanda (*…….*) adalah suatu komentar yang tidak akan di baca (diproses) oleh computer. Dan tanda  (*…….*) dapat diganti dengan tanda kurung kurawal { }.

4.2. Cara memasukkan data type Boolean.
       Data type boolean tidak dapat di masukkan seperti data input, tetapi hal itu kita atasi dengan cara memasukkan data type char,lalu dibandingkan, apakah sama atau lain. Kalau sama berarti true sebaliknya kalau lain berarti False

Contoh program sederhana:
 
    Program masuk –boolean :
    Var   a : char  ;
             B : boolean ;
     begin
          write (‘Silakan dijawab, Benar atau Salah  (B/S) ?’);
          readln(a);
          b := (a =  ’B’);
          writeln (‘Yang Anda maksudkan: ‘,b);
          readln ;
     end.
    
Keterangan:
Setelah program ini dijalankan maka akan muncul: Silakan dijawab, Benar atau Salah  (B/S) ? misalnya Anda menekan B, maka nilai variabel a =’B’ lalu dibawahnya ada pernyataan   b := (a =  ’B’); berarti è b :=(‘B’=’B’), maka hasilnya b := True, sebaliknya jika Anda menekan S, maka nilai variabel a =’S’ lalu dimasukkan dalam pernyataan   b := (a =  ’B’); berarti è b :=(‘S’=’B’), maka hasilnya b := False.

4.3 Memformat tampilan type integer, real , string
      Integer diformat dengan X:12
      Real diformat dengan      X:12:2
      String diformat dengan   X:12

Contoh program
      
         Program format_tampilan ;
         Var    bulat : integer ;
                   Pecah : real ;
                   Aks    : string ;
         Begin
             Bulat := 25;
             Pecah : = 2.57 ;
             Aks    : = ‘TURBO PASCAL’ ;
             Writeln(bulat :12 );
             Writeln(pecah :12:2);
             Writeln(aks :12);
             Readln;
        End.

       Hasilnya setelah di RUN .












2
5









2.
.5
7
T
U
R
B
O

P
A
S
C
A
L

 
 

     



4.4 Beberapa presedur standar yang harus melibatkan Uses crt; yaitu :
1.      Clrscr = menghapus /membersihkan layar
2.      Gotoxy(10,15) =memindahkan kursor ke kolom 10 dan baris 15 (layar terdiri dari 80 kolom, dan 25 baris).
3.      ClrEOL = menghapus semua karakter di sebelah kanan kursor
4.      Delline = menghapus semua karakter diposisi kursor dan baris-baris berikutnya bergeser ke atas.
5.      Insline =menambah 1 baris kosong pada posisi kursor dan baris-baris berikutnya bergeser ke bawah.
6.      Delay = untuk memperlambat proses program selama seperseribu detik. delay(5000) = memperlambat 1/1000 x 5000 = 5 detik.

5. PENGULANGAN

5.1 Pengulangan dengan For .....Do
      Misalnya:  For i:=1 to 5 Do  Pernyataan1; Berarti: Pernyataan1 akan diulang 5 kali, dengan nilai I bergerak dari 1, 2, 3, 4, 5  Pergerakan nilai seperti ini disebut naik atau positif..
      Bentuk lainnya adalah:  For i:=5 downto 1 Do Statemen1; Berarti; Statemen1 akan  diulang 5 kali, tetapi dengan hitungan turun atau negatif, yaitu: 5, 4, 3, 2, 1.

Contoh program sederhana:
           Var   x : integer ;
           Begin
                 Writeln(‘--------------------------‘);
                 Writeln(‘x   x*x   x*x*x   1/x   ‘);
                 For x:= 1 to  10  do
                 Writeln(x:3, x*x :8, x*x*x:8, 1/x :12:3);
                Writeln(‘---------------------------‘);
                readln ;
           End .

Keterangan: Pernyataan yang ada di bawah For …Do, akan diulang 10 kali
        Jika  For x:= 1 to  10  do  diganti dengan For x:= 10 downto 1 do ,maka pengulangan tetap terjadi 10 kali, hanya pergerakan nilai x mulai dari    10, 9, 8, 7, 6, 5, 4, 3, 2, 1.

5.2 Pengulangan bersarang, yaitu For ....do ada di dalam For ... do
      Contoh pogram sederhana:
            Var I, j : integer;
            Begin
      For i:=1 to 5 do
                      begin
                           For j:= 1 to 3 do
                              Write (i:8, j:4);
                      end ;
                     readln;
            End.



 

 Hasilnya:     1 1     1 2     1 3
                     2 1     2 2     2 3
                     3 1     3 2     3 3
                     4 1     4 2     4 3
                     5 1     5 2     5 3     

5.3 Pengulangan dengan While –Do
     Statemen While –Do digunakan untuk mengulang suatu statemen atau blok statemen terus-menerus selama kondisi bernilai true
Contoh program sederhana :
Var i : integer;
Begin
      i := 0;
      While i < 5  do
           Begin
               Writeln(i);
               i := i +1;
           End ;
      readln ;
End.

Contoh lain ,yaitu program untuk mencari rata-rata
Uses crt ;
Var  nilai, Total, rata  : real;
        n, i : integer ;
Begin
   Clrscr;
   Write(‘Berapa banyaknya data ?’); readln(n);
   i := 0;   total := 0 ;
   While i < n  do
       Begin
           i := i + 1;
           Write(‘Berapa data ke ‘, i,’?’); readln(nilai);
           Total := total + nilai ;
       End ;
       Rata := total / n ;
       Writeln(‘Total nilai ‘,total:8:2);
       Writeln(‘Rata-rata  ‘,rata :8:2);
       Readln ;
End .


Contoh program untuk menghetikan proses dengan data sentinel, data sentinel adalah bilangan untuk pemberitahukan bahwa pemasukan data telah selesai. Dalam program berikut ini data sentinelnya adalah 99999..
 
   Uses Crt ;
   Var
            Nilai, Total, Rata : Real ;
            I  : Interger ;
   BEGIN
      Clrscr ;
      I := 0 ; Total := 0 ; Nilai := 0 ;
      While nilai <> 99999 do
                Begin
                    I := I + 1 ;
                    Write(‘Berapa nilai ke ‘, I , ‘? ‘ ) ; Readln ( nilai ) ;
                   Total := Total  + Nilai ;
                 End ;
       Total := Total – 99999 ;
       I := I – 1 ;
    Rata : = Total / I
    Writeln ( ‘ Total Nilai = ‘ , Total : 8 : 2) ;
    Writeln ( ‘ Banyak Data = ‘ , I : 3) ;
    Writeln ( ‘Rata – rata = ‘ , Rata : 8 : 2) ;
    Readln ;
    END .

 Ket : Jika sudah di ketik 99999, maka While – Do akan berhenti .
  
Contoh memberhentikan program dengan Y/T 
   Uses Crt ;
   Var
   Nilai, Total, Rata : Real ;
   i : Integer ;
   Lagi : Char ;
   BEGIN
   Clrscr ;
   i := 0 ; Total := 0 ; Lagi  := ‘ Y ‘ ;
   While lagi = ‘Y‘ do
           Begin ;
               i := 0 + 1 ;
               Write ( ‘ Berapa Nilai ke ‘ , i , ‘ ? ‘ ) ; Readln ( Nilai ) ;
               Total : =  Total  + Nilai ;
               Write ( ‘ Ada Data Lagi ( Y / T ) ? ‘ ); Readln ( Lagi ) ;
           End ;
   Writeln ( ‘ Total Nilai = ‘ , Total : 8 : 2 ) ;
   Writeln ( ‘ Banyak Data  = ‘ , i : 3 ) ;
   Writeln ( ‘ Rata – ratanya = ‘ , rata : 8 : 2 ) ;
   Readln ;
   END .


5.4 WHILE – DO YANG BERSARANG
Contoh Programnya :

   Uses Crt ;
   Var
            Nilai, Total, Rata : Real ;
            I , N : Integer ;
            Lagi : Char ;
   Begin
            Lagi : = ‘Y‘ ;
            While Lagi  = ‘Y‘ Do
               Begin
                  Clrscr ;
                 Write(‘ Berapa Banyak Data ? ‘) ; Readln(N) ;
                  I := 0; Total := 0;
                         While I < N Do
                               Begin
                                  I := I + 1 ;
                                  Write(‘Ketik Nilai Ke ‘ ,I) ; Readln(Nilai) ;
                                  Total := Total + Nilai  ;
                                End ;
                             Rata := Total / I ;
                             Writeln(‘ Jumlah Nilai = ‘, Total : 8 : 2 ) ;
                             Writeln(‘ Banyak Data = ‘, I) ;
                             Writeln(‘ Rata – rata = ‘, Rata : 8 : 2 ) ;
                             Writeln(‘ Akan menghitung lagi ( Y/T ) ? ‘) ; Readln (Lagi);
              End ;
    End .


5.5 Pengulangan dengan Repeat…Until
       Repeat… Until digunakan untuk mengulang Statemen atau Blok Statemen sampai (Until) kondisi yang ditentukan terpenuhi.


 

            Var  i : Integer                      Keterangan :1.Dua statemen, yaitu i := i + 1 dan
             Begin                                    Writeln (i); akan diulang terus sampai terpenuhi
                  i : = 0 ;                              i = 5. Menurut program ini, nilai i yang pertama
                  Repeat                             tama adalah 0, kemudian ditambah 1 terus - me
                    i : = i + 1 ;                       nerus, sehingga nilainya  0. 1, 2,  3,  4, 5.
                    Writeln ( i ) ;                  Bila sudah mencapai maka program berhenti.
                  Until  i = 5;                   2.Repeat until, tidak memerlukan pembatas   
              End.                                 Begin …End tetapi boleh diisi kalau mau. 

5.6. Refeat … Until bersarang
Contoh sederhana:
 

  Var  A, B, C :Real;
  Begin
       Writeln(‘================‘);
       Writeln(‘sisi A  sisi B  sisi C ’);
       Writeln(‘----------------------------‘);
       A :=1 ;
       Repeat
                B := 0 ;
                  Repeat
                       C := Sqrt(A*A + B*B);
                       Writeln(A:6:2, B:9:2,  C:9:2);
                       B := B + 5;
                  Until B >25 ;
                  A := A + 1;
      Until A > 3 ;
      Writeln (‘================’);
  End.
Keterangan :1.  Pertama-tama yang diulang adalah repeat-until yang ada di dalam , sampai B > 25.
2.      Repeat - until yang diluar akan melakukan pengulangan, setelah refeat –until dalam berhenti.
3.      Agar lebih mengerti sebaiknya program di atas dicoba




6 MENYELEKSI KONDISI DENGAN IF .. Then …

6.1 Statemen If … then …
      Bentuknya:  If  a >5  then  writeln(‘Selamat‘);
                          Writeln(‘Sudah makan‘);
      Penjelasan:  1.Jika kondisi telah menunjukan  a>5, maka yang dikerjakan adalah  pernyataan writeln(‘Selamat‘); lalu dilanjutkan dengan statemen dibawahnya.
2.Jika  kondisi menentukan  a ≤  5, maka yang dikerjakan adalah langsung statemen yg dibawahnya: Writeln (‘Sudah makan ‘);
Contoh sederhana:
  Var    nilai: real ;
            Ket  : string [11];
  Begin
        Ket := ’Tidak Lulus’;
        Write(‘Berapa nilai yang diperoleh  ?’); readln(nilai);
        If  nilai > 60 then  ket := ’Lulus‘;
        Writeln(‘dinyatakan’, ket );
         Readln;
  End.

Contoh program menggunakan  If- then, Gotoxy (lihat pasal 4.4), byte
       Uses Crt ;
       Var  pilihan    :byte ;
               R, L, T, luas :real ;
       Begin
       Clrscr;
       Gotoxy(10,2); Writeln (‘Pilihan’);
       Gotoxy(10,4); Writeln (‘11. Menghitung luas lingkaran‘);
       Gotoxy(10,5); Writeln (’12. Menghitung luas segi tiga’);
       Gotoxy(10,8); Writeln (‘13, Menghitung luas segi- empat’);
       Gotoxy(10,10); Writeln(‘0. Selesai .’);
       Pilihan:=9;
       While (pilihan < 0) Or (pilihan > 3) Do
            Begin
                 Gotoxy(10,20); Writeln(‘pilih nomor (0-3) ?’);
                 Readln(pilihan);
             End;
       If  pilihan =1 then
             Begin
                    Write(‘Jari-jari lingkaran? ’); Read( R );
                    Luas := Pi * R * R;
                    Writeln(‘Luas lingkaran = ’,luas:9:2);
              End;
        If  pilihan =2 then
             Begin     
               Write(‘Panjang sisi alas ? ’) ; readln(L);
               Write(‘Tinggi segitiga ? ’); readln (T);
               Luas := 0.5 * L * T;
               Writeln(‘Luas segitiga = ‘,luas:9:2);
             End;



 

     If Pilihan = 3 Then
            Begin
            Write(‘Panjang segi-empat ? ’) ;Readln (T) ;
            Write(‘Lebar segi-empat ? ‘); Readln(L);
            Luas := T * L ;
            Write(‘Luas segi-empat = ’, Luas:9:2);
            End;
     End.

Keterangan :    pi = π =13,14
Rumus Luas Lingkaran  =  πR2
            Luas Segitiga  =   ½.(tinggi . alas)
            Luas Segi-empat  = panjang  x lebar

6.2. Statemen;  lF……..Them…….Else

Bentuknya; lF  a>5  then  Pernyataan satu
                          Else Pernyataan  dua ;
                          Pernyataan tiga;
       
       Keterangan:  1.  Jika a bernilai kurang dari 5, maka  Pernyataan satu yang diproses, kemudian dilanjutkan dengan Pernyataan tiga .

2.      Jika a  bernilai lebih  dari 5, maka yang diprotes  adalah pernyataan dua , kemudian dilanjutkan  dengan pernyataan tiga.                                    

Contoh sederhana

    Var  nilai :  real;
    Begin
            Write(‘Berapa memperoleh nilai ? ’);  readln,(nilai);
            If nilai >= 60 then    writeln (‘LULUS’);
            Else  writeln(‘Tidak Lulus’);
            Writeln(‘Itulah kenyataan………………!’);
            Readln;
    End

6.3  Statemen lF---then ---Else  yang  bersarang
     Ada beberapa bentuk bersarang  ;
 

  lf Kondisi1 Then
  Begin                                             If Kondisi1  Then
        If  Kondisi2  Then                        lF Kondisi2  Then
            Statemen1                                      Statemen1
        Else                                                Else
            Statemen2                                      Statemen2
           
        Statemen3                               Else               
  End.                                                         Statemen3
                                                                    Statemen4         
Bentuk lain yang lebih komplek


 

         lf  Kondisi1  Then
         Begin
                lf Kondisi2  Then
                   Begin
                      If  Kondisi3 Then
                          Begin
                              lf Kondiusi4 Then
                                  Statemen1
                              Else
                                  Statemen2
                         End;
                   End;
        End.


Contoh progam mencari penyelesaian  persamaan kuadrat


 

program IF_then_else_utk_mencari_akar_persamaan_kuadrat;
uses crt;
var A,B,C,D,Z1,Z2,X1,X2:real; {tidak boleh memakai var nil}
    lagi:char;
label ulang;
begin
ulang:
clrscr;
writeln('Brp nilai A B C ? '); readln(a,b,c);
IF a=0 THEN
   begin
   writeln('Coba ulang, sebab nilai A tidak boleh nol,(enter)');readln;
   goto ulang;
   end   {jangan diisi titik koma ;}
ELSE
   D:=b*b-4*a*c;
   If D=0 then
   writeln('Mempunyai akar kembar, yaitu: X1 = X2 = ',-b/2*a:5:2)
   Else                               {jangan diisi titik koma ; }
   if D>0 then
   begin
   writeln('Punya 2 akar berlainan, yaitu: X1 = ',(-b+sqrt(D))/2*a:5:2);
   writeln('dan X2 = ',(-b-sqrt(D))/2*a:5:2);
   end    {janagan diisi titik koma ;}
   else
   begin
   write('Punya 2 akar imaginer, yaitu: X1 = ',-b/2*a:5:2,' + ');
   writeln(sqrt(-D)/2*a:5:2,' i');
   write('                              X2 = ',-b/2*a:5:2,' - ');
   writeln(sqrt(-D)/2*a:5:2,' i');
   end;
writeln('Tekan enter untuk kembai ke program '); readln;
End.
             Stateman Case  Of.
Bentuk  Case – Of
Case Variable Of
Labe(1) : Statemen(1)
Labe(2) : Statemen(2)
Labe(3) : Statemen(3)
Labe(4) : Statemen(4)
 ……
Labe(n) : Statemen(n)
Else
Statemen(m)
End;


 
 
               
   






 



Beberapa contoh program yang sederhana;
1. Mengkonversikan huruf ke predikat.
var nilai:char;
begin
writeln('Nilai huruf yang didapat ?'); readln(nilai);
nilai:=upcase(nilai);
case nilai of
  'A':writeln('Sangat Baik');
  'B':writeln('Baik');
  'C':writeln('Cukup'); var nilai:integer;
  'D':writeln('Kurang');
  'E':writeln('Gagal');
  end;
  readln;
end.


2. Mengkonversikan angka ke string
 
var nilai:integer;
begin
writeln('Nilai/angka 0 - 10 yang didapat ?'); readln(nilai);
case nilai of
  10:writeln('Sangat Baik');
  9,8:writeln('Baik');
  7..5:writeln('Cukup');
  4:writeln('Kurang');
  3..0:writeln('Gagal');
  end;
  readln;
end.

3. Tanda-tanda bke bilangan.
program case_Of;
uses crt;
var nilai1, nilai2, hasil:real;
    operasi:char;
begin
clrscr;
hasil:=0;
lowvideo;
gotoxy(10,5); writeln('[            ]');
gotoxy(29,5); writeln('[ ]');
gotoxy(33,5); writeln('[            ]');
gotoxy(52,5); writeln('=');
gotoxy(55,5); writeln('[            ]');
highvideo;
gotoxy(11,5); readln(nilai1);
gotoxy(30,5); readln(operasi);
gotoxy(34,5); readln(nilai2);
case operasi of
  '+':hasil:=nilai1 + nilai2;
  '-':hasil:=nilai1 - nilai2;
  '*':hasil:=nilai1 * nilai2;
  '/':hasil:=nilai1 / nilai2;
  end;
  gotoxy(56,5); Writeln(hasil:15:2);
  readln;
end.

4.Konversi  dari suatu interval bilangan ke suatu statemen.
program case_Of;
uses crt;
var beli, pot:integer;
begin
clrscr;
lowvideo;
gotoxy(10,5); write('Brp total pembelian ?'); readln(beli);
case beli of
  0..1000:pot:=100;
  1001..10000:pot:=500;
  10001..30000:pot:=2000;
  end;
  writeln;
  gotoxy(10,7); Writeln('Jumlah Pembelian = Rp ',beli:6);
  gotoxy(10,8); Writeln('Potongan         = Rp ',pot:6);
  gotoxy(10,9); Writeln('-------------------------------  -');
  gotoxy(10,10);Writeln('Pembayaran       = Rp ',beli-pot:6);
  readln;
end.


7. TENTANG TIPE STRING.

7.1 Merangkai String..
       Panjang Sting yang diperkenankan oleh Pascal adalah 255 karakter, Operator yang dimiliki oleh String adalah tanda  +, yang artinya penggabungan .
       Contoh program sederhana;
program Operasi_string;
uses crt;
const bhs='Bahasa'; nama='Turbo Pascal';
begin
writeln('Pelajaran '+nama+' adalah ',bhs,' Programan');
readln;
end.

   Keterangan
        Bila dijalankan, hasilnya:

                    Pelajaran Turbo Pascal adalah    Bahasa Programan


7.2 Dua string adalah sama, jika isi dan panjangnya sama
Contoh: program sederhana:
program Syarat_v_Kondisi_berupa_string;
uses crt;
var bhs, nama:string;
begin
writeln('Pemrograman apa yg dipelajari ? ');readln(nama);
writeln('Bahasa apa yg dipelajari ? ');readln(bhs);
if nama=bhs then
     writeln('Benar....!!!')
     else
        writeln('Salah......???');
        readln;
end.

(

7.3 Perbandingan dua buah string .
      Urutan karakter dari string adalah menurut kode ASCII, dimana A < B < C < D < E dan seterusnya, di bawah ini disampaikan  sebagian dari tabel kode ASCII
Huruf
A
B
C
D
E
F
G
H
I
J
K
L
M
N
Kode
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Contoh sederhananya :
program Syarat_v_dgn_membandingkan_string;
uses crt;
var namaAnda, namaTeman:string;
begin
writeln('Ketik nama Anda ! ');readln(namaAnda);
writeln('Ketik nama Teman Anda ! ');readln(namaTeman);
if namaAnda=namaTeman then
     writeln('Namanya sama....!!!');
if namaAnda<namaTeman then
     writeln('Nama Anda urutannya lebih kecil')
     else
        writeln('Nama Anda urutannya lebih besar......???');
        readln;
end.



7.4 Procedure Standar.
7.4.1 Delete
         Misalnya   Bahasa:= ‘TURBO PASCAL’;
                           Delete (Bahasa, 4, 3) ;
         Aslinya : Nilai dari variabel Bahasa adalah  TURBO PASCAL .
                         Delete = mengapus, maka yang dihapus adalah mulai dari posisi ke 4,      ke kanan sebanyak 3 karakter, sehingga yang masih adalah                         TURPASCAL, yang terhapus adalah hurup B, hurup O dan Spasi .


Contoh program sederhana


 

Var  bahasa := string[16] ;
        urutan, posisi : integer;
Begin
         Bahasa := ‘BORLAND DELPHI 7’;
         For urutan := 1 to 16 Do
         Begin
              Posisi := 16 - urutan ;
              Delete (bahasa, posisi, I);
              Whiteln(Bahasa);
            End;
             Readln
    End.   

Bila program ini dinyalakan
BORLAND DELPHI
BORLAND DELPH
BORLAND DELP
BORLAND DEL   dan seterusnya.

7.4.2Insert = menyisipkan
Bentuknya :  Insert (‘*’, tulisan, 5);
Artinya :misalnya variabel tulisan = ‘SELAMAT’ , berarti kedalan  teks TULISAN akan disisipkan suatu karakter yaitu karakter * dan penyisipan dilakukan pada posisi ke 5.
Hasilnya : Variabel tulisan akan bernilai SELA*MAT

Contoh program sederhana :
program Penyisipan_string_dgn_Insert;
uses crt;
const n=1;
var namaAnda, tampung,namaTeman:string;
begin
writeln('Ketik nama Anda ! ');readln(namaAnda);
writeln('Ketik nama Teman Anda ! ');readln(namaTeman);

        Insert('XYZ',namaTeman,4); {artinya: namaTeman disisipi mulai no 4}
        Insert('Drs.',namaAnda,n);     {dgn huruf XYZ }

        tampung:=namaAnda; writeln(tampung);
        tampung:=namaTeman; writeln(tampung); {tampung type nya hrs string}
        readln;                           {tdk boleh Char walaupun 1 huruf}
end.


7.4.3 Str  berfungsi untuk  merubah status data dari bilangan menjadi string


2
1
4
7
5

 
Bentuknya : Str(21475:7, Sp );
Artinya: Bilangan 21475 diformal :7   menjadi      .Diubah statusny       
              Dan diubah statusnya  menjadi string .
                       Dan disimpan kedalam variabel Sp
             
Cotoh programnya:
program merubah_status_bilangan_menjadi_string_dgn_Str;
var nilai1,nilai2:integer;
    bil1, bil2:real;
    x1,x2:string;
Begin
nilai1:=1234;    {integer}
nilai2:=567;
write('Nilai1 + Nilai2 = ');
writeln(nilai1+nilai2);
str(nilai1:4,x1);
str(nilai2:4,x2);
write('Operasi string =');
writeln(x1+x2);

bil1:=1234.5;   {real}
bil2:=567.56;
write('bil1 + bil2 = ');
writeln(bil1+bil2:9:2);
str(bil1:9:2,x1);
str(bil2:9:3,x2);
write('Operasi string =');
writeln(x1+x2);
readln;
end.



7.4.4. Val = mengkonversikan nilai string menjadi numeric
Bentuknya  val(string, nilai, kesalahan );
Artinya   1.String = suatu variable atau constanta yang bertype string
                           Misalnya: Nama,  1247,  5,  147,  A5,   dll
2 Nilai string tersebut akan diubah menjadi bilangan (numerik), hingga bisa dijumlah, dikalikan atau dikurangkan. Dan setelah menjadi bilangan akan disimpan ke dalam variabel Nilai
3 Kesalahan adalah bilangan untuk menentukan letak kesalahannya

Contoh program :
program merubah_status_String_menjadi_bilangan_integer_real;
uses crt;
var posisiSalah:integer;
    NilaiReal:real;
    NilaiString:string[6];
Begin
clrscr;
{--Tidak ada kesalahan pd nilai String  --------------------}
nilaiString:='123.476';    {string}
val(nilaiString,NilaiReal,PosisiSalah);
writeln('-----------------------------------------');
writeln('nilaiString = ',nilaiString);
writeln('nilaiString + nilaiString = ',nilaiString+nilaiString);
writeln('nilaiReal+ 100:9:2 = ',nilaiReal+100:9:2);
writeln('PosisiSalah = ',posisiSalah);
{--Lihat ada kesalahan----huruf A --------------------------}
nilaiString:='1A23.476';    {string ada kesalahan pd posisi 2}
val(nilaiString,NilaiReal,PosisiSalah);
writeln('------------------------------------------');
writeln('nilaiString = ',nilaiString);
writeln('nilaiString + nilaiString = ',nilaiString+nilaiString);
writeln('nilaiReal+ 100:9:2 = ',nilaiReal+100:9:2);
write('PosisiSalah = ',posisiSalah,' dari depan ada huruf A');
readln;
end.

l
7,4,5 Copy berfungsi untuk  mengcopy sejumlah karakter
         Bentuknya: Copy(kar, 5, 3);
         Artinya   : kar = adalah sejumlah karakter, misalnya TURBO PASCAL
                          yang akan di Copy.
                          Angka 5 = menunjukan mulai posisi 5 ke kanan akan dicopy
                          Angka 3 = menunjukan banyaknya karakter yang akan dicopy
                          Berarti hasilnya  O P atau O, spasi, P

Contoh program:
 

program mengcopy_String;
uses crt;
var   nilaiString:string[16];
      huruf:string;
      i,j:integer;
Begin
clrscr;
nilaiString:='ABCDEFGHIJKL';    {string}
For i:=1 to 12 do
    begin
     huruf:=Copy(nilaiString,i,1); {type dp huruf harus string,}
     write(huruf,huruf);
     For j:=35 downto 16+i do{79 downto 33+i do      {tidak boleh CHAR  }
       begin
       gotoxy(j*2,10);
       writeln(huruf)
       end;
    end;
readln;
End.


7.4.6. Concat yang berfungsi untuk menggabungkan beberapa string. Jadi fungsinya sama persis dengan operator string +(plus).

Contoh program sederhana:
 

  Const  nama =: ‘Pascal’;
            dk   = ’dan keluarga’;
  Begin
        Writeln (contat(‘Bahasa’,Nama,’untuk Anda ‘, dk));
        Readln;
  End.
                 
         Jika dijalankan hasilnya: Bahasa Pascal untuk Anda dan keluarga

7.4.7 Pos gunanya untuk menentukan posisi suatu skring dalam string yang lain .
Contoh program sederhana


 

  Const  Abjad  = ’ABCDEFGHIJKLMNOPQRSTUVWXYZ’ ;
             Kar1 = ’ FGHI’;
             Kar2 = ’F’ ;
             Kar3 = ’JUGA’;
             Kar4 = ’DCB’;
             Kar5 = ’PQRST’;
  Begin
          Writeln (Pos(Kar1, abjad));
          Writeln (Kar2; ada di ,Pos(kar2, abjad));
          Writeln (Kar3; ada di,Pos(kar3 abjad));
          Writeln (kar4; ada di,Pos (kar4 adjad));
          Writeln (kar5; ada di, Pos (kar5  adjad));
          Readln;
  End.



Jika di jalankan didapat:
6
F ada di 6
JUGA ada di 0, karena ‘JUGA’ tidak beraturan letak hurufnya
DCB ada di 0, karena ‘DCB ,tidak sesuai dgn abjad urutannya .
PQRST ada di 16.

Contoh penggunaan POS pada program  yang lebih kompleks:
program kaki;
var feet,meter:real;
    lagi:char;
begin
lagi:='Y';
while (lagi='Y') or (lagi='y') do
  begin
  write('Brp Feet  ? '); readln(feet);
  meter :=feet*3.281;
  writeln(feet:7:2,' feet = ',meter:7:2,' meter');
  lagi:=' ';
  while pos(lagi,'YyNn')=0 do
     begin
     write('menghitung lagi ? '); readln(lagi);
     writeln('Untuk mengecek pos',pos(lagi,'YyNn'));
     end;
  end;
  readln;
end.



7,4,8 Length digunakan  untuk menghitung banyaknya karakter di dalam suatu string .

         Contoh program sederhana:
    Var   nama : string[50] ;
    Begin
          Writeln(‘Siapa nama Anda ?’); readln (nama);
          Writeln(‘Panjang nama Anda adalah ‘, length(nama);
          Readln ;
    End.
    
        Jika dijalankan :
        Siapa nama Anda? I WAYAN GEDE
        Panjang nama Anda adalah 12          

Ket :Spasi, titik, koma, juga dihitung oleh .Length

Contoh lain, yaitu cara untuk meletakan teks supaya di tengah-tengah layer secara  horizontal,  dengan  memanfaafkan Length



  program Membuat_tulisan_simetris;
  uses crt;
  var NamaAnda:string[50];
    huruf:string; {tidak mau type char}
    i,j,panjang,tengah:integer;
  Begin
  write('Ketik nama Anda  ! '); readln(namaAnda);
  panjang :=Length(namaAnda);
  tengah:=40-panjang div 2;
  clrscr;
  For i:=1 to 24 do begin gotoxy(1,i);write('||');end;
  For i:=1 to 24 do begin gotoxy(79,i);write('||');end;
  For i:=1 to 79 do begin gotoxy(i,1);write('=');end;
  For i:=1 to 79 do begin gotoxy(i,24);write('=');end;
  i:=1;
   For j:=tengah to Tengah+panjang do
     begin
        huruf:= copy(NamaAnda,i,1);
        gotoxy(j,10);
        write(huruf,' ');
        i:=i+1;
     end;
     readln;
  End.


                      
8. MEMASUKAN DATA

8.1 Menunggu penekanan tombol, sehingga tampilan setelah dijalankan dapat  dilihat lebih lama.
8.1.1 Dengan Readln, untuk menunggu penekanan Enter.
         Contoh  program sederhan:


 

          Uses Crt;
          Begin
               Writeln(‘Tekan  tombol Enter….’); readln;
                Clrscr ;
                Writeln(‘Apa chabar….?’); readln;
          End.

8.1.2 Menunggu penekanan sembarang tombol dengan fungsi Keypressed Keypressed akan bernilai boolean True bila pemakai sudah menekan sembarang tombol. Keypressed bernilai boolean False, Jika pemakai belum menekan sembarang tombol. Keypressed harus melibatkan Uses Crt;
  Contoh program sederhana
  User Crt;
  Begin
   While not keypressed do
   Writeln(‘Ulang lagi selama tidak menekan tombol’);
  End.

Penjelasan  : 1 Program jalan terus selama tidak menekan sembarang tombol
2 ika menekan tombol, maka keypressed akan bernilai True, dan  not Keypressed akan bernilai False
Untuk mengetahui nilai boolean dari pada keypressed dan not keypressed cobalah jalankan program berikut ini:
           
  Uses Crt ; {Statemen ini harus dilibatkan dlm penggunaan Keypressed}
  Var    I : integer;
  Begin
         I ;= 0; 
        While   I < 10  do
        Begin
            Writeln(‘Nilai Not Keypressed ‘, not keypressed);
            Writeln(‘Nilai Keypressed ‘, keypressed );
            I := I + l;
            delay(50000);  {untuk memperlambat proses program}
       End;
  End.


8.1.3 Readkey mempunyai 3macam kegunaan, yaitu:
1.      Menunggu penekanan tombol sembarang, hampir sama dengan fungsi Readln
2.      Untuk memasukan sebuah nilai karakter dari tombol yang di tekan misalnya tombol A - Z, 0 - 9, ^ , ? dan yang lain.  
     Contoh progaram
Uses Crt ;
Var   Tbl: Char;
Begin
Tbl := readkey; {Tbl bernilai char dari apa yang ditekan}
Writeln(‘Hasilnya ‘,Tbl); { nilai Tbl dapat dicetak}
End.

3.      Untuk menangkap nilai null  dan nilai extended code dari tombol khusus , yaitu tombol  F1, F2, F3, …….10
  Contoh programnya :  
  Uses Crt;
  Var  tombol : Char;
  Begin tombol := Readkey ; {untuk menangkap nilai null}
            if tombol = #0 then
                 Begin
                     tombol := readkey;
                     if tombol = #59 then
                        writeln(‘Tombol F1 yang Anda tekan’)
                     else
                      begin
                         writeln(‘Anda menekan tombol extended code’);
                       writeln(‘yang lain dari pada F1’);
                     end;                  
                 End;
            Else writeln(‘Tombol yang ditekan adalah ‘,tombol);
  END.


 


DAFTAR PUSTAKA

Jogiyanto Prof. Dr., (2005). Turbo Pascal Versi 5.0 Jilid 1, Penerbit ANDI yogyakarta, Yogyakarta..

Jogiyanto Prof. Dr., (2004). Bahasa Turbo Pascal Teori dan Aplikasi Program Komputer Jilid 2, Penerbit ANDI yogyakarta, Yogyakarta..

Abdul Kadir,(1999),Pemrograman Pascal Buku I, Andi Offset, Yogyakarta.

Abdul Kadir,(2002),Pemrograman Pascal Buku II, Andi Offset, Yogyakarta.


























Tidak ada komentar: