SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
TOKI Smansasoo Goes to OSN 2009



          MODUL 01 DASAR PEMROGRAMAN PASCAL

1.1 Pengenalan : menulis, menyimpan, run, compile.
         Run adalah menjalankan program yang diketik pada
    jendela editor. Compile adalah mengubah bahasa
    pemrograman tingkat tinggi yang telah diketik ke bahasa
    mesin dan menyimpannya ke disk dalam bentuk executetable
    program.
     1. Tulis potongan program dibawah
            { File : first .pas}
            Program kesan;
            Begin
                     Writeln(‘Tim olimpiade komputer’);
            End.

     2.   Simpan ke dalam file sooko1.pas
     3.   Compile program ini.
     4.   Jalankan menu run
     5.   Jalankan menu  debug  user screen untuk melihat
            hasilnya

1.2 Kerangka Program Pascal
         Program Pascal merupakan kumpulan fungsi, prosedur,
    dan variable. Sebuah fungsi merupakan sekumpulan baris
    program     yang     mengerjakan      tugas    tertentu    dan
    mengembalikan hasilnya. Sebuah fungsi terdiri dari sebuah
    nama fungsi, daftar variable, satu blok kode yang membentuk
    fungsi tersebut. Sebuah blok dimulai dari kata “begin”, diikuti
    dengan beberapa statement dan diakhiri dengan kata “end”.

     PROGRAM namaProgram (File List);
        CONST
              { deklarasi Constanta }
        TYPE
              { deklarasi Type }
        VAR
              { deklarasi Variable}
        BEGIN
              { Statement yang akan dijalankan }
        END.




       Tim Olimpiade Komputer SMAN 1 Sooko                       |    1
TOKI Smansasoo Goes to OSN 2009



            Program contoh ;
            Uses crt;
            Function tambah (x,y: integer): integer;
            Begin
                     Tambah:=x+y;
            End;
            Var
                     hasil : integer ;
            begin
                     clrscr;
                     hasil := tambah(5,5);
                    writeln(‘5+5 = ’,hasil);
                    readln;
            end.



    1.3 Tanda – tanda baca dalam pascal
        Berikut beberapa tanda baca yang ada dalam bahasa pascal
        berikut fungsinya :
            Tanda Baca       Kegunaan
            .                Akhir dari program utama
            :                Deklarasi tipe konstanta, variable dan fungsi
            ;                Akhir dari suatu perintah
            =                Inisialisasi Konstanta
            ..               Menyatakan range dalam array
            ,                Pemisah antara nama – nama variabel
            ^                Tanda control atau tanda penunjuk (pointer)
           contoh:
            Program contoh2 ;
            Uses crt;
            Const
                     Pi=3.14;
            Function luas_lingkaran (r : integer): real;
            Begin
                     Luas_lingkaran:=pi*r*r;
            End;
            Var
                     hasil : real ;
                     data_nilai1,data_nilai2 : array [1..44] of integer;
            p: ^real;
            begin
                     clrscr;
                     hasil := luas_lingkaran(5);
                    p^:=hasil;
                    writeln(^G,’luas lingkaran dengan r = 5 adalah ‘,hasil);
                    readln;
            end.




2 |T i m    Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



1.4 Pengenal (identifier)
    Syarat-syarat penamaan sebuah identifier adalah :
    a. Dapat sepanjang apapun
    b. Harus diawali dengan huruf atau underscore(_)
    c. Karakter ke dua dan selanjutnya dapat berupa huruf, angka
        , atau underscore
    d. Tidak boleh ada 2 identifier dalam satu program
    e. Tidak boleh berupa reserved word. Reserved word adalah
        kata yang telah dikenal oleh pascal yang telah mempunyai
        kegunaan tertentu.

    Contoh penulisan identifier yang benar:
    - Coba1
    - Jari_jari
    - Programcoba_coba

    Contoh penulisan identifier yang salah
    - Coba 1 (mengandung spasi)
    - Jari-jari (mengandung karakter -)
    - 2b (diawali dengan angka)
    - To (reserved word)

    Contoh penggunaan identifier:
         Program coba1;
         Var
                 a,b:byte;
         type
                 c=word
         begin
         ……
         End.
    Pada program diatas, terdapat 4 buah identifier, yaitu coba1
    sebagai nama program, a,b digunakan sebagai identifier dari
    deklarasi var, dan c sebagai identifier nama type.




       Tim Olimpiade Komputer SMAN 1 Sooko                     |   3
TOKI Smansasoo Goes to OSN 2009



    1.5 Reserved word




    1.6 Tipe Data
        Tipe data menyatakan pola penyajian data dalam computer:
        karakter, bilangan, string, record. Dalam Pascal tipe data
        digolongkan menjadi 4 yaitu tipe data standart, tipe data di
        definisikan oleh pemakai, tipe data terstruktur dan tipe data
        penunjuk. Tabel dibawah menampilkan beberapa tipe data
        standart dan domainnya yang dikenal dalam pascal.

                Nama Tipe      byte         Jangkauan Bilangan
                   Byte         1                  0..255
                   Char         1                -128… 127
                 Integer        2              -32768..32767
                  Word          2                 0..65535
                 LongInt        4       -2147483648….2147483647
                   Real         4              Le-38 … le+ 38
                  String       N+1
                 Boolean        1                  0…1




4 |T i m   Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009




1.7 Variable
         Variabel adalah penampung data yang isinya dapat
         diubah-ubah di dalam program. Data yang dapat
         disimpan adalah data sesuai dengan tipenya.
         Nama variabel terdiri dari huruf, angka dan garis bawah,
         dan hanya dapat didahului oleh huruf atau garis bawah
         dengan ketentuan :
         a. Nama variabel tidak dapat disela dengan spasi
         b. Tidak dapat menggunakan reserved words
         c. Huruf besar dan huruf kecil sama saja
         d. Panjang variabel yang dianggap/ dikenal hanya 63
             karakter pertama

     Deklarasi Variable
     Sebelum bisa digunakan maka variable harus dideklarasikan
     terlebih dahulu. Pendeklarasian berarti memesan ruang di
     memori dan menyatakan tipe data yang bisa disimpannya.
     Bentuk umum
     Var
         Daftar_variabel : tipe_data;
     Contoh
     Var
         Incl, bill : integer,


       Tim Olimpiade Komputer SMAN 1 Sooko                     |    5
TOKI Smansasoo Goes to OSN 2009



              Flagl   : char,
              Nama    : array[1..10] of char,

           Pemberian (assignment) nilai ke variable
           Pemberian nilai hanya bisa dilakukan setelah sebuah variabel
           dideklarasikan.
           Bentuk umum
              Variable := nilai;
           Contoh
              Incl     := 0;
              Bill      := 10;

    1.8 Konstanta
        Konstanta berbeda dengan variable, dimana isi dari konstanta
        tidak bisa diubah dengan cara pemberian (assignment) nilai.
        Bentuk umum
            Const
                     Variable=nilai
        Contoh
            Const
                     Pi       = 3,14;
                     Chl      = ’A’;

    1.9 Menampilkan Data dengan write dan writeln
           Fungsi write digunakan untuk mencetak data ke layar
           tanpa berganti baris setelahnya
           Fungsi writeln digunakan untuk mencetak data ke layar
           dengan berganti baris setelahnya
           String yang dicetak bisa ditambahi karakter khusus
           (escape sequence) yang didahului dengan tanda “#”
           misalnya Baris baru (#10), Bel (#7).
           Mencetak dengan menggunakan format
           Untuk mencetak pada posisi x, y layar, digunakan
           perintah GOTO baru setelah itu digunakan perintah write.
           Untuk dapat menggunakan perintah ini program harus
           melibatkan unit standar Crt
           Untuk mengeset warna teks dan background teks
           digunakan perintah text              color dan text
           background


6 |T i m    Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



1.10 Menerima masukan dengan read dan readln
     Prosedur read dapat digunakan untuk menerima masukan
     dari keyboard. Tiap-tiap data yang dimasukkan harus sesuai
     dengan tipe variabelnya. Prosedur readln untuk memasukkan
     data perbaris, artinya setelah di tekan maka akan ganti baris,
     sedangkan prosedur read tidak
     Bentuk Umum
         Read (nama_variabel);
     Contoh
         Read (bil1);
         Readln (bil1);

     Contoh :
       /* File : write.pas */
       Program masukan ;
       Uses crt;
       Var
                Bil1     : integer;
                Real1    : real ;
                ch1      : char ;
       begin
                write(‘Masukkan bilangan bulat : ’);
                read(bil1);
                writeln(‘Bilangan yang dimasukkan adalah’, bil1);
                writeln(‘Masukkan bilangan real : ’);
                read(real1);
                writeln(‘Bilangan yang dimasukkan adalah’,real1:8:3);
                writeln(‘Masukkan satu karakter : ’);
                read(ch1);
                writeln(‘Karakter yang dmasukkan adalah ’,ch1:3);
       end.




       Tim Olimpiade Komputer SMAN 1 Sooko                       |      7
TOKI Smansasoo Goes to OSN 2009


    1.11    Tentang daftar shortcut pada Free Pascal




8 |T i m   Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



                   MODUL 02 OPERATOR


       Operator merupakan suatu simbol yang digunakan untuk
operator dan manipulasi data dalam. Dalam bahasa Pascal Operator
dikelompokkan dalam 9 kategori.
2.1 Operator Assignment
   Merupakan operator yang berfungsi untuk memberikan suatu
   nilai ke sebuah variabel.
   Bentuk umum
         Variabel := 50,75;
2.2 Operator Binary
    Merupakan Operator yang berfungsi untuk mengoperasikan
   dua operand. Operand dapat berupa konstanta ataupun
   variabel. Digunakan untuk operasi aritmatika.
                       Tabel 2.1 Operator Binary
   Operator Operasi              Tipe operand    Tipe hasil

   +          Penambahan       Integer, real    Integer, Real

   -          Pengurangan      Integer, Real    Integer, Real

   *          Perkalian        Integer, Real    Real, Real

   /          Pembagian        Integer, Real    Real, Real

   DIV        Pembagian,       Integer          Integer
              bulat
   MOD        Sisa             Integer          Integer

contoh 1:
   {File : opr_binary.pas}
   Program binary;
   begin
      writeln(‘ 5 + 3 = ’,5+3);
      writeln(‘ 3 – 5 = ’,3-5);
      writeln(‘ 5 * 3 = ’,5*3);
      writeln(‘ 5 / 3 = ’,5/3);
      writeln(‘ 5 div 3 = ’,5 div 3);
      writeln(‘ 5 mod 3 = ’,5 mod 3);
   end.




         Tim Olimpiade Komputer SMAN 1 Sooko                    |   9
TOKI Smansasoo Goes to OSN 2009



    Contoh2 Soal OSP 2008




    2.3 Operator Unary
        Disebut operator unary karena operator ini hanya menggunakan
        sebuah operand saja. Operator ini dapat berupa unary plus dan
        unary minus. Unary plus untuk menunjukkan tanda positif pada
        suatu bilangan dan unary minus untuk menunjukkan tada
        negatif.
        Misal :
             -25              not 1
             +25              not 12
             Not(true)

    2.4 Operator Bit.
        Merupakan opetrator yang berfungsi untuk operasi bit per bit
        pada nilai integer.
                                Tabel 2.2 Operasi Bit
           Operator Operasi               Tipe Operand Hasil operasi
           NOT          Negasi            Integer      Integer
           AND          And               Integer      Integer
           OR           Or                Integer      Integer
           XOR          Xor               Integer      Integer
           Shl          Shift left        Integer      Integer
           Shr          Shift right       Integer      Integer

       Contoh 2:



10 | T i m   Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



     {File : opr_bit.pas}
     Program opr_bit;
     Begin
        writeln(‘not 0 =’,not 0);
        writeln(‘not 1 =’,not 1);
        writeln(‘1 or 2 =’,1 or 2);
        writeln(‘1 and 2 =’,1 and 2);
        writeln(‘1 shr 2 =’,1 sh1 2);
     end.


   Contoh 3;
     {File : decbiner.pas}
     Program dec_biner;
     Var dec : integer;
     Begin
        writeln(‘Masukkan angka Integer : ’);
        readln(dec);
        writeln(‘’);
        writeln(‘Nilai binernya : ’);
        writeln(dec shr 7 and 1);
        writeln(dec shr 6 and 1);
        writeln(dec shr 5 and 1);
        writeln(dec shr 4 and 1);
        writeln(dec shr 3 and 1);
        writeln(dec shr 2 and 1);
        writeln(dec shr 1 and 1);
        writeln(dec shr 0 and 1);
        readln;
     End.


2.5 Operator Relasi
    Merupakan operator yang berfungsi untuk membandingkan
    hubungan antara dua buah operand dan akan didapatkan hasil
    tipe boolean, yaitu true atau false.
                      Tabel 2.3 Operator Relasi
       Operator Operasi                 Operator Operasi
       <           Lebih kecil          >=       Lebih besar atau
                                                 sama dengan.
       <=          Lebih kecil atau     =        Sama dengan
                   sama dengan
       >           Lebih besar          <>       Tidak sama
                                                 dengan
       IN          Seleksi dari
                   angka himpunan



     Tim Olimpiade Komputer SMAN 1 Sooko                      |     11
TOKI Smansasoo Goes to OSN 2009




    2.6 Operator Logika
        Terdapat 4 buah operator logika, yaitu Not, And, Or, Xor. Bentuk
        operator ini sama dengan operator bit. Namun pengunaannya
        lain. Operator ini bekerja dengan nilai-nilai logika yaitu true dan
        false.

                Tabel 2.4 Kebenaran operasi AND dan OR
       Operator AND
        Kondisi 1 Kondisi 2 Hasil
        Salah      Salah       Salah
        Salah      Benar       Salah
        Benar      Salah       Salah
        Benar      Benar       Benar
       Operator OR
        Kondisi 1 Kondisi 2 Hasil
        Salah      Salah       Salah
        Salah      Benar       Benar
        Benar      Benar       Benar
        Benar      Benar       Benar
       Operator XOR
        Kondisi 1 Kondisi 2 Hasil
        Salah      Salah       Salah
        Salah      Benar       Benar
        Benar      Benar       Benar
        Benar      Benar       Salah

    2.7 Operator Alamat
        Turbo Pascal memberikan dua buah operator khusus yang
        berhubungan dengan alamat di memori.
                         Tabel 2.5 Operator alamat.
           Operator Keterangan
           @           Alamat dari operator akan menghasilkan alamat
                       dari suatu variabel
           ^           Akan memberikan nilai dari alamat yang
                       ditunjukkan suatu variabel pointer.
        Penjelasan lebih lanjut akan dibahas pada bab 8.



12 | T i m   Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



2.8 Operator Set
    Merupakan operator yang digunakan untuk operasi himpunan.
                       Tabel 2.6 Operator set
                 Operator    Operasi
                 +           Union
                 -           Perbedaan Himpunan
                 *           Perkalian Himpunan

2.9 Operator String
    Merupakan operator yang digunakan untuk operasi string.
    String1+String2;

{ File : opt_str.pas}
Program opt_str;
Uses crt;
Var
        Nama1, Nama2, Nama3 : String[15];
Begin
        Clrscr;
        Nama1 :=’Budi ‘;
        Nama2 :=’Santosa ‘;
        Nama3 := Nama1+Nama2;
        Writeln (Nama3);
        Readkey;
End.




     Tim Olimpiade Komputer SMAN 1 Sooko                      |   13
TOKI Smansasoo Goes to OSN 2009




14 | T i m   Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



        MODUL 03 STRUKTUR KONTROL PEMILIHAN


3.1 Pernyataan if dengan satu aksi




             Gambar 3.1 Flowchart pernyataan if dengan satu aksi

        Pada model pernyataan pada gambar 3.1, sebuah aksi
    akan dikerjakan jika syarat bernilai benar.
    Bentuk umum :
         If (syarat) then
               aksi1;
        Aksi bisa terdiri dari satu baris pernyataan atau berupa
    sekumpulan (blog) baris pertanyaan.
    LATIHAN 1
         {File : ifl.pas}
         Program ifl;
         Uses crt;
         Var
             a : Integer;
         Begin
             Writeln(‘Contoh if satu kasus’);
             Write(‘Ketikkan suatu nilai integer :’);
             Readln (a) ;
             If (a>0) then
                Begin
                  Writeln (‘Nilai ‘,a,’ adalah nilai positif’);
                End;
             Readkey;
         End.




                        Kode 3.1 program ifl.




     Tim Olimpiade Komputer SMAN 1 Sooko                      |    15
TOKI Smansasoo Goes to OSN 2009



    3.2 Pernyataan if dengan dua aksi
        Uraian
        Pada model pernyataan gambar 3.2, aksi1 akan dikerjakan jika
        syarat bernilai benar, sedangkan jika salah maka aksi2 yang
        dikerjakan.
        Bentuk umum :
             If (syarat) then
                      Aksi1
             Else
                      Aksi2;




              Gambar 3.2 Flowchart pertanyan if dengan dua aksi.
         LATIHAN2

             { File : if2.pas}
             Program if2;
             Uses crt;
             Var
                   a :    Integer;
             Begin
                   Writeln (‘Contoh if dua kasus ‘);
                   Write (‘Ketikkan suatu nilai positif’);
                   Readln (a);
                   If (a>0) then
                       Begin
                          Writeln (‘Nilai ‘,a,’ adalah nilai positif’);
                      End
                   Else
                      Begin
                          Writeln (‘Nilai ‘,a,’ adalah nilai negatif’);
                      End;
                   Readkey;
             End.




16 | T i m   Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



3.3 Pernyataan if dengan lebih dari dua aksi
    Uraian
    Karena pilihan aksi yang dikerjakan lebih dari dua, maka dapat
    dibuat model bertingkat/ bersarang/ nested.




     Gambar 3.3 Flowchart pertanyan if dengan lebih dari dua aksi.

     LATIHAN 3

        {File : if3.pas}
        Program if3;
        Uses crt;
        Var
            a : Integer;
        Begin
            Writeln ‘Contoh if dua kasus ‘);
            Write (‘Ketikkan suatu nilai integer :’);
            Readln(a);

           If (a>0) then
              Begin
                  Writeln (‘Nilai ‘,a,’ adalah nilai positif’);
              End
           Else
              If(a=0) then
                  Begin
                    Writeln(‘nilai ‘,a,’ adalah nol’);
                  End
              Else
                  Begin
                    Writeln(‘Nilai ‘,a,’ adalah nilai negatif’);
                  End;
           Readkey;

        End.




                           Kode 3.3 Program if3




      Tim Olimpiade Komputer SMAN 1 Sooko                      |     17
TOKI Smansasoo Goes to OSN 2009




    3.4 Pernyataan case
            Tangga if-else-if dapat digunakan menguji beberapa
            syarat tetapi sulit digunakan pernyataan case of, sebuah
            variabel dapat secara berturut-turut diuji oleh daftar
            konstanta (bilangan bulat atau karakter). Jika sesuai
            dengan sebuah konstanta, maka dikerjakan sesuai
            dengan pernyataan yang mengikuti konstanta tersebut.
            Pernyataan setelah else akan dikerjakan bila tidak ada
            konstanta yang tidak sesuai. Else bersifat optional, bila
            tidak ada else maka tidak ada yang dikerjakan. Ada
            beberapa hal yang perlu diperhatikan :
            a. Case of hanya dapat memeriksa sebuah konstanta
                 atau range dari konstanta yang bukan bertipe real.
                 Sedang      if    dapat  memeriksa     syarat-syarat
                 lain(<,<,<>,dsb).
            b. Tidak ada dua konstanta yang sama dalam sebuah
                 case

         LATIHAN 4

              {File : case – of.pas}
              Pogram caseof;
              Var cc:char;
              Begin
                    Writeln(‘ketikkan sebuah huruf, akhiri dengan Enter : ‘)
                    Read(cc);
                    Case cc of
                       ‘0’..’9’ : writeln (‘yang anda ketik adalah angka ‘);
                       ‘a’,’e’,’I’,’u’,’o’ : writeln(‘yang anda ketik adalah
                            huruf vokal’);
                       ‘b’..’d’,’f’..’h’,’j’..’n’,’p’..’t’,’v’..’z’ :writeln
                            (‘ yang anda ketik adalah huruf konsonan’);
                       Else writeln (‘yang anda ketik adalah karakter’);
                    End;
                    Readln;
              End.




18 | T i m   Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



     MODUL 04 STRUKTUR KONTROL PENGULANGAN


    Struktur kontrol pengulangan dalam bahasa pemrograman
dikenal dengan loop. Pengulangan dilakukan terus menerus sampai
dipenuhi suatu keadaan tertentu. Dalam pascal dikenal tiga jenis
pengulangan dan peryataan yang digunakan adalah :
    • for
    • while-do
    • repeat-until

4.1 Pengulangan dengan for
        Perulangan for dapat berbentuk perulangan positif,
    negatif, dan bersarang. Pada perulangan for diperlukan
    sebuah variable kontrol, nilai awal untuk inisialisasi, sehingga
    perulangan bisa dilakukan dan nilai akhir untuk kondisi
    mengakhiri perulangan.
   Bentuk Menaik :
        for variable-kontrol:=nilai-awal to nilai-akhir do
        pernyataan;
    Bentuk Menurun :
        for  variable-kontrol:=nilai-awal         downto    nilai-
        akhir do pernyataan ;
    Bentuk loop dalam loop :
            for variable-kontrol1:=nilai-awal1 to nilai-
        akhir1 do
                 for   variable-kontrol2:=nilai-awal2 to
             nilai- akhir2 do
                pernyataan ;
    LATIHAN 1
       {File : writefor.pas}
       Program Writefor;
       Var
              i, N: Integer;
       Begin
              Writeln(‘Baca N, print 1 s/d N’);
              Write(‘N=’);
              Read(N);
              for i:=1 to N do
              Writeln(i);
              Writeln(‘Akhir Program’);
              Readln;
       End.


                                        Kode 4.1 Program Writefor


     Tim Olimpiade Komputer SMAN 1 Sooko                         |     19
TOKI Smansasoo Goes to OSN 2009



        LATIHAN 2
              {File : fornaik.pas}
              Program ForNaik;
              Var
                   i, awal,akhir: Integer;
              Begin
                   awal:=1;
                   akhir:=5;
                   for i:=awal to akhir do
                   Writeln(i);
                   read(i);
              End.

                                              Kode 4.2 Program ForNaik
        LATIHAN 3
              Program ForTurun;
              Var
                   i, bawah,atas: Integer;
              Begin
                   bawah:=1;
                   atas:=5;
                   for i:=atas to bawah do
                   Writeln(i);
                   read(i);
              End.

                                             Kode 4.3 Program ForTurun
        LATIHAN 4
              Program ForChr;
              Uses crt;
              Var ch:char;
              Begin
                   for ch:=’a’ to ‘z’ do
                   Writeln(ch);
                   ReadKey;
              End.

                                               Kode 4.4 Program ForChr
        LATIHAN 5
              Program Forenum;
              Uses crt;
              Type
                   Namahari=(senin,selasa,rabu,kamis,jumat,sabtu);
              Var Hari : NamaHari;
              Begin
                   for Hari:=senin to sabtu do
                   Begin
                            Writeln(‘PASCAL’);
                   End;
                   Readln;
              End.

                                             Kode 4.5 Program forenum



20 | T i m   Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



    LATIHAN 6
         {File : over.pas}
         Var
              x : byte;
              j : Integer;
         Begin
              J:=265;
                  for x:=0 to j do {nilai batas yang diberikan
              melibihi jaringan bilangan}
                       Writeln(x);
              Readln;
         End.

                                       Kode 4.6 Program ForByte
    LATIHAN 7
         {File : srgloop.pas}
         Program srgloop;
         Uses crt;
         Var
              i, j : integer;
         Begin
              clrscr;
              Writeln(‘Contoh loop dalam loop’);
              For i:=1 to 3 do
                       begin
                       for j:=1 to 3 do
                                Write{‘*’};
                       Writeln(‘ ’);
                       End;
         End.

                                        Kode 4.7 Program srgloop

4.2 Pengulangan dengan while-do
        Pada pengulangan jenis ini, pengecekan syarat dilakukan
    diawal. Pengulangan dengan while-do ini digunakan untuk
    melakukan proses perulangan suatu pernyataan terus-
    menerus selama kondisi ungkapan logika pada syarat masih
    bernilai logika benar.
    Bentuk Umum :
       while syarat do
       perintah;




     Tim Olimpiade Komputer SMAN 1 Sooko                     |     21
TOKI Smansasoo Goes to OSN 2009



         LATIHAN 8

               {File : while.pas}
               Program while;
               Uses crt;
               Var
                    i: Integer;
               Begin
                    clrscr;
                    i:=1;
                    while i<=5 do
                             begin
                             Writeln(i);
                             i:=i+1;
                             end;
                    ReadKey;
               End;


                                              Kode 4.8 Program while
        LATIHAN 9

               {File : priwhile.pas}
               Program priwhile;
               Var
                    N, i : Integer;
               Begin
                    Writeln(‘Nilai N =’);
                    Read(N);
                    i:=1;
                    while i<=N do
                    begin
                             writeln(i);
                             i:=i+1;
                    end;
                    ReadKey;
               End;


                                            Kode 4.9 Program Priwhile
    4.3 Pengulangan dengan repeat-until
            Berbeda dengan dua jenis perulangan sebelumnya, syarat
        perulangan pada Repeat...Until dicek pada akhir perulangan.
        Repeat...Until digunakan untuk mengulang statemen-statemen
        sampai (until) kondisi yang diseleksi di Until terpenuhi.
        Bentuk Umum :
           repeat
                     perintah;
                     ...
           until syarat;



22 | T i m   Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



LATIHAN 10
     {File : repeatUn.pas}
     Program RepeatUntil
     Var
          i : integer;
     Begin
          clrscr;
          i:=0;
     Repeat
          writeln(i);
          i:=i+1;
     until i=5;
     End.

                               Kode 4.10 Program repeat until
LATIHAN 11
     {File : whiledo.pas}
     Program whiledo;
     Uses crt;
     Var
          nama : String[20];
     Begin
          clrscr;
          Write(‘Ketik nama siswa( X=selesai ):’);
          Readln(nama);
          While (nama[1]<>’X’) do
          Begin
             write(‘Ketik nama siswa ( X=selesai ): ’);
             readln (nama);
          End;
     End.



                                  Kode 4.11 Program whiledo
LATIHAN 12
   {File : RepForv.pas}
   Program RepForv;
   Uses crt;
   Var
   x : byte;
   Begin
          Repeat
                   x:=x+1;
                   Write(x,’ ‘);
                   If keypressed then
   break; {keluar paksa dari loop tanpa peduli syarat}
          Until x>=256;
   End.


                                  Kode 4.12 Program repForv




 Tim Olimpiade Komputer SMAN 1 Sooko                      |     23
TOKI Smansasoo Goes to OSN 2009



    LATIHAN 13 Soal OSP 2008




    LATIHAN 13 Soal OSP 2008 (kombinasi while do – for)




24 | T i m   Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



                      MODUL 05 ARRAY

5.1   Array Satu Dimensi
      Array adalah deretan variabel yang berjenis sama dan
      mempunyai nama yang sama. Pada bahasa Pascal, array
      mempunyai lokasi yang bersebelahan, alamat terkecil
      menunjukkan elemen pertama dan alamat terbesar
      menunjuk pada elemen terakhir
      Bentuk umum :
          Nama_array:array [ukuran] of tipe
      Tipe        = menyatakan tipe data dasar
      Ukuran = menyatakan banyaknya elemen pada array
      Contoh :
           Nilai : array[1..10] of Integer;

      LATIHAN 1

         {File : tabel.pas}
         Program tabel;
         Uses crt;
         Var
                I,N      : Integer;
                Tab      : array[1..10] of Integer;
         Begin
                Clrscr;
                N:=5;
                Writeln (‘Isi dan print tabel’);
                For i:=0 to N do
                Begin
                         Tab[i] := i;
                End;
                For i:=0 to N do
                Begin
                         Writeln(‘Tabel[‘,1,’]=’,tab[i];
                End;
                Readkey;
         End.




      Tim Olimpiade Komputer SMAN 1 Sooko                    |    25
TOKI Smansasoo Goes to OSN 2009



             LATIHAN 2
               {File : tab_rata.pas}
               Program rata;
               Uses crt;
               Conts
                      MAKS_TES : 5;
               Var
                      i        : Integer;
                      nilai_total, rata-rata : Real;
                      nilai_test : array[1..MAKS_TES] of Real;
               Begin
                      {Pemasukan nilai};
                      Writeln (‘Pemasukan 5 buah nilai pada tabel’);
                      For i:=1 to MAKS_TES do
                      Begin
                               Write(‘Nilai tes ke ‘,I,’ : ‘);
                               Readln(nilai_test[i]);
                      End;
                      nilai_total:=0;
                      for i:=1 to MAKS_TES do
                      Begin
                               Nilai_total:=nilai_total+nilai_test[i];
                      End;
                      {menghitung nilai rata-rata}
                      Rata-rata := total nilai/MAKS_TES;
                      Writeln (‘Nilai rata-rata : ‘,rata_rata:3:2);
                      Readkey;
               End.



    5.2      Array Multi Dimensi
                    Dalam bahasa pascal kita dapat membuat array
             hingga beberapa dimensi, misalnya array dua dimensi yang
             pada dasarnya adalah sebuah daftar yang terdiri array-array
             satu dimensi.
             Bentuk umum
                   nama array : array[ukuran1] of array [ukuran2] of tipe;
                   nama_array : array[ukuran1, ukuranN] of tipe;
             tipe         = menyatakan tipe data dasar
             ukuran1      = menyatakn banyaknya element pada array pada dimensi ke-1
             ukuranN      = menyatakn banyaknya element pada array pada dimensi ke-N




26 | T i m    Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



LATIHAN3

      {File : matrik.pas}
      Program matrik;
      Uses crt;
      Var
             I,j      : Integer;
             B : array[1..3,1..5] of Integer;
      Begin
             clrscr;
             writeln(‘memasukkan data matrik 3x3 ‘);
             for I := 1 to 3 do
                      for j:=1 to 3 do
                      begin
                               gotoxy(10+4*I,3+j*2);readln(b[I,j]);
                      end;
             gotoxy (2,14);textColor(3);write(‘Data matrik yang
                      diinputkan adalah : ‘);
             textcolor(6);
             for i:=1 to 3 do
                      for j:=1 to 3 do
             Begin
                      Gotoxy(10+4*I,15+2*j);write(b[I,j]);
             End;
             Readkey;
      End.




5.3     Inisialisasi Array
                Inisialisasi array dapat dilakukan pada saat
        pendeklarasiannya. Pada array multidimensi, inisialisasi
        dimulai dari dimensi yang paling besar. Untuk setiap dimensi
        dimulai dari indeks yang paling paling kecil . Pada pascal cara
        proses inisialisasi diletakkan pada bagian deklarasi konstanta.
        Const
          I       :array[1..10] of Integer = (12,45,67,34,2,5,60,8,19,21);
          Matrix :array[1..3,1..4]            of           Integer               =
          (42,47,63,45,6,43,62,8,19,21);




        Tim Olimpiade Komputer SMAN 1 Sooko                                  |       27
TOKI Smansasoo Goes to OSN 2009




28 | T i m   Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



          MODUL 06 PROCEDURE DAN FUNCTION

6.1 Procedure
    Procedure merupakan blok baris perintah sebagai sebagai satu
    kesatuan yang mengerjakan tugas khusus
    Keuntungan menggunakan procedure :
    1. Program menjadi terstruktur
    2. Dapat mengurangi pengulangan kode
    Procedure dipanggil dan digunakan di dalam blok baris
    perintah yang lainnya dengan menyebutkan judul
    procedurnya. Procedure dapat menerima nilai dari luar
    ataupun mengirimkan nilai keluar yang dilewatkan melalui
    parameter. Terkait dengan procedure, dikenal dua macam
    variabel yaitu :
    1. Variabel loKal : variabel yang dideklarasikan di dalam
         procedure, variabel ini tidak dikenal di luar procedure
    2. Variabel global : Variabel yang dideklarasikan di luar
         semua procedure, sehingga akan dikenal di seluruh bagian
         program.

     Bentuk umum
        Procedure nama_procedure(deklarasi parameter);
        Begin
        ……………………
        End;


     Dalam pascal ada dua jenis pengiriman parameter:
     1. Pengiriman parameter secara nilai (by value)
         Bila parameter dikirim secara nilai, parameter formal,
         maka perubahan-perubahan yang terjadi pada nilai
         parameter formal di procedure tidak akan mempengaruhi
         nilai parameter nyata
     2. Pengiriman parameter secara acuan (by reference)
         Bila parameter dikirim secara nilai, parameter formal,
         maka perubahan-perubahan yang terjadi pada nilai



     Tim Olimpiade Komputer SMAN 1 Sooko                      |     29
TOKI Smansasoo Goes to OSN 2009



               parameter formal di procedure akan mempengaruhi nilai
               parameter nyata

    LATIHAN 1

        {File : procedur.pas}
        Program procedur;
        Uses crt;
        Var
               a        : Integer;
               {parameter by value}
        Procedure ubah1(x:integer);
        Begin
               writeln(‘parameter by value‘);
               writeln(‘Nilai akan diubah menjadi 5‘);
               x:=5;
        end;
        {parameter by reference}
        Procedure ubah2(var x:integer);
        Begin
               Writeln(‘parameter by reference’);
               Writeln(‘Nilai akan diubah menjadi 5’);
               x:=5;
        end;

        begin
        clrscr;
        a:=10;
        writeln(‘Nilai sebelum diubah adalah ‘, a);
        ubah1 (a);
        writeln(‘nilai setelah diubah adalah ‘,a);
        ubah2(a);
        writeln(‘nilai setelah diubah adalah ‘,a);
        readln;

        end.



    6.2 Function
               Function mirip dengan procedure, bedanya function
        harus mengembalikan suatu nilai. Nilai yang dikembalikan
        terdapat pada nama function.
        Bentuk umum
             Nama function(deklarasi parameter):tipe data;
             Begin
             ……………nama function:=nilai;
             End;




30 | T i m   Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



LATIHAN 2

   {File : fungsi1.pas}
   Program fungsi1;
   Uses crt;
   Var
          a, b, c : Integer;
          {funsi memakai parameter by value}
   Function tambah(a,b:integer): Integer;
   Begin
          Tambah:=a+b;
   end;
   Begin
          Clrscr;
          Write(‘A = ‘);
          Readln (a);
          Write (‘B = ‘);
          Readln (b);
          c:=jumlah(a,b);
          writeln (‘Jumlah tersebut adalah : ‘,c);
          readln;
   end.



LATIHAN 3 SOAL OSP 2008




     Tim Olimpiade Komputer SMAN 1 Sooko                     |    31
TOKI Smansasoo Goes to OSN 2009




32 | T i m   Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



                        MODUL 07 STRING

7.1 Pendeklarasian String
         String merupaka salah satu type data bentukan untuk
    menyatakan data teks kalimat atau serangkaian karakter. Pada
    bahasa Pascal panjang maksimum string yang diijinkan adalah
    255 karakter.
Bentuk Umum.
   Nama_variable : string[panjang string];
   Nama_variabel : string;
Bila tidak di sebutkan panjang string maka secara default
panjangnya adalah 255.
Contoh
   Nama : String[15];
Mendeklarasikan variabel string nama dengan panjang karakter 15.

7.2 Memasukkan Data String dengan read/readln
         Pemasukkan data string ke dalam suatu variabel bisa
    dilakukkan dengan memakai read ataupun readln. Fungsi
    read/readln akan membaca seluruh karakter yang akan diketik
    sampai tombol enter ditekan. Dalam hal ini tidak ada
    pengecekan terhadap batas array. Panjang string dikurangi
    ukuran array ditambah karakter NULL.
Bentuk umum.
   read(nama_array);
   readln(nama_array);


7.3 Inisialisasi String
          Inisialisasi string bisa dilakuan dengan assignment karakter
    per karakter ataupun tidak.
Bentuk Umum
   nama_variabel[]=data_string;
Contoh
Const :
   Nama1:String = {‘T’,’U’,’R’,’B’,’ ’,’C’,’0’};
   Nama2:String = ‘Tim Olimpiade Komputer’;



      Tim Olimpiade Komputer SMAN 1 Sooko                          |     33
TOKI Smansasoo Goes to OSN 2009



    7.4 Menampilkan Isi Variabel String Ke Layar
               Untuk menampilkan isi variabel string, pernyataan yang
        dapat digunakan perintah write atau writeln.
    Bentuk Umum
       Writeln(var_string);
       Write(var_string);
        {File : str.pas}
        Program str;
        Uses crt;
        Var kompiler : string;
        Procedure bentuk1;
        Begin
          kompiler=’Bentuk 1’;
          write(kompiler);
          end;
        end;
        pocedure bentuk2;
        begin
          kompiler=’Bentuk 2’;
          writeln(kompiler);
        end;
        begin
          bentuk1();
          bentuk2();
          readln;
        end.



    7.5 Mengakses Elemen String
               Variabel string merupakan bentuk khusus dari array
        bertipe char, oleh karena itu elemen dari variabel string dapat
        diakses seperti pengaksesan elemen array.
        {File : hitkar.pas}
        Program hitkar;
        Const maks=256;
        Var teks : string(maks);
        Jumkar i: Integer;
        Begin
              Writeln(‘Masukkan suatu kalimat : ’);
              Readln(teks);
              Jumkar := 0;
              For i:=0 to maks do
                      If teks[i]=’a’ then
                             Jumkar:=jumkar+1;
              Writeln(‘jumlaah karakter a = ’,jumkar);
        end;




34 | T i m   Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



7.6 Beberapa Fungsi Mengenai String
         Pascal menyediakan fungsi untuk memanipulasi string,
    diantaranya:
                  Tabel 7.1 Fungsi manipulasi string
 Fungsi/       Bentuk pemakaian          Kegunaan
 procedure
 Insert        Insert( sumber : String , Menyisipi string mulai pada posisi
               tujuan : String , Indeks :        indek dengan string sumber.
               Integer)
 Str           Str(x:width:decimal, s:string)    Mengubah Nilai numerik (x)
                                                 menjadi string (s)
 Val           Val(NilaiString,NilaiNumerik,     Mengkonversi NilaiString menjadi
               PosisiSalah)                      nilai Numerik posisiSalah bernilai
                                                 nol bila tidak terjadi kesalahan
                                                 dalam proses konversi.
 Copy          Str1:=Copy(str2,index,count)      Menyalin karakter sejumlah count
                                                 mulai posisi index.
 Concat        Str:=concat(s1,s1,...,sn)         Merangkai beberapa string, sama
                                                 dengan operator string ‘+’
 Pos           Index:=pos(substr,string)         Mencari posisi dari suatu substring
                                                 dalam string
 Length        Panj:=length(str)                 Menghitung panjang atau jumlah
                                                 karakter dalam string.


contoh :
 var                                              Var
   s : string;                                      A,B: String;
 begin                                              C: String[10];
   s := 'TOKI';                                   Begin
   insert('KI', s, 2);                                A:='TOKI MEMANG';
   writeln(s);                                        B:='HEBAT';
 end.                                                 C:=A+B;
                                                      if (Pos(B)>0) Then
                                                    Begin
 var s : string;                                        Writeln('A');
 begin                                              end else
   s:='TOKI GO GET GOLD!';                              Writeln('B');
   delete(s, 1, length(s)-12);                    end.
   writeln(s):
 end.




       Tim Olimpiade Komputer SMAN 1 Sooko                                     |       35
TOKI Smansasoo Goes to OSN 2009



    7.7 String Sebagai Parameter Fungsi
               String sebagai parameter fungsi pada dasarnya sama
        dengan array sebagai parameter fungsi, karena string dapat
        dianggap array dari karakter.
        {File : kiri.pas}
        Program kiri;
        Var kalimat : string;
              I, panj : Integer;
        Procedure     strkiri(strin:string;n    :    Integer:var
        strhasil:string);
        Var i:Integer;
        Begin
              Strhasil1:=copy(strin,1,n)
        End;
        Begin
              Panj:=length();
              For i=0 to panj do
              Begin
                      Strkiri(kalimat, panj-1, hasil);
              End;
        End.




36 | T i m   Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



                       MODUL 08 RECORD


    Merupakan tipe data terstruktur, dimana beberapa variabel
    dengan tipe data berbeda dapat dikumpulkan bersama dan
    mengacu pada suatu nama yang sama
    Record dipakai untuk menyatakan informasi yang
    berhubungan
    Variabel-variabel yang membentuk sebuah record dinamakan
    field, record di dalam Pascal sama dengan struktur pada C
Bentuk umum
Type
         Nama_record = Record
                Tipe_data variabel : tipe – data;
                . . .
                Tipe_data variabel N : tipe – data;
         End;
Contoh


 Type
          dt_siswa = Record {   deklarasi tipe data record }
                   nrp      :   string [7];
                   nama     :   string [20];
                   alamat   :   string [40]
                   nilai    :   real;
          end;
 Var
 Siswa1,siswa2     : dt_siswa; { deklarasi variabel record siswa }


Variabel siswa1, siswa2, adalah variabel record yang bertipe
dt_siswa.
 8.1 Operasi Terhadap Field Record
          Field Record dapat dapat ditunjuk dengan memakai
          operator titik. Misalnya, variabel siswa1 bertipe record
          seperti contoh di atas, maka mengisi nilai dengan 72.5
          dilakukan dengan :
          Siswa1.nilai := 72.5;
          Mencetak isi dari elemen nama
          Writeln (‘Nama siswa adalah ‘, siswa1.nama);
          Memberi nilai data alamat
          Read (siswa1.alamat);


        Tim Olimpiade Komputer SMAN 1 Sooko                     |    37
TOKI Smansasoo Goes to OSN 2009



         LATIHAN 1

             { file : record.pas}
             Program record;
             Uses crt;
             Type
                      dt_siswa = record
                               nrp      :   string [7];
                               nama     :   string [20];
                               alamat   :   string [40];
                               nilai    :   real;
                      end;

             Var
                   Siswa1 : dt_siswa;

             Function index ( nilai : real ) : Char;
             Begin
                   If (nilai>=90) then
                      Index := ‘A’
                      Else if nilai>=75 then
                               Index := ‘B’
                               Else if nilai >=60 then
                                        Index := ‘C’
                                        Else if nilai >= 50 then
                                                 Index := ‘D’
                                                 Else
                                                          Index := ‘E’;
             End;
             Begin
             Clrscr;
             Write (‘masukkan NRP       : ‘);
             Readln(siswa1.nrp);
             Write(‘Masukkan Nama : ‘);
             Readln(siswa1.nama);
             Write(‘Masukkan Alamat : ‘);
             Readln(siswa1.alamat);
             Write(‘Masukkan Nilai : ‘);
             Readln(siswa1.nilai);
             Clrscr;
             Writeln(‘Data yang anda masukkan :’);
             Writeln(‘NRP      : ‘,siswa1.nrp);
             Writeln(‘Nama     : ‘,siswa1.nama);
             Writeln(‘Alamat : ‘,siswa1.alamat);
             Writeln(‘Nilai    : ‘,siswa1.nilai:3:2);
             Writeln(‘Index     nilai     yang     diperoleh           ‘,
             index(siswa1.nilai));

             Readkey;
             End.



     8.2 Inisialisasi Record
               Cara menginisialisasi record sama dengan variabel-
         variabel lain. Inisialisasi dapat dilakukan tersendiri atau
         bersama-sama dengan pendefinisian format record.


38 | T i m   Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009



                     MODUL 09 OPERASI FILE

Untuk dapat diolah lebih lanjut, maka data perlu disimpan dalam
sebuah file. Sebuah file terdiri dari kumpulan record yang
mempunyai tipe yang sama.
Operasi terhadap file umumnya terdiri dari:
    1. Operasi untuk membuka dan mencipta file.
    2. Melakukan proses terhadap file.
    3. Menutup file.

9.1 Membuka dan Menciptakan File
Sebelum sebuah file dapat diakses, maka file harus dibuka terlebih
dahulu. Berikut adalah langkah-langkah yang harus dilakukan ketika
membuka file:
    1. Mendeklarasikan variabel bertipe file yang menunjuk ke
         file.
          Var
                    File_variabel : file of tipe_file;
    2.    Menghubungkan variabel ke file.
          Assign(file_variabel, nama_file);
    3.    Membuka/menciptakan file.
          Ada beberapa perintah dalam pascal untuk membuka file,
          yaitu:
          a. Membuka file untuk pembacaan.
                Reset (file_variabel);
          b.    Membuka file untuk penambahan.
                Append(file_variabel);
          c.    Menciptakan file
                Rewrite(file_variabel);
                Catatan :   jika file yang diciptakan sudah ada, maka
                            akan menghapus file tersebut dan
                            mencipatakan yang baru dan masih
                            kosong.




         Tim Olimpiade Komputer SMAN 1 Sooko                      |     39
TOKI Smansasoo Goes to OSN 2009



    9.2 Melakukan proses terhadap file
    Setelah file dapat dibuka atau diciptakan, dapat dilakukan
    pemrosesan data dari file, yaitu :
        1. Membaca isi file.
                      Read(file_variabel, variabel_data);
                      Readln(file_variabel, variabel_data);
        2.   Menulis ke file.
                      Write(file_variabel, variabel_data);
                      Writeln(file_variabel, variabel_data);


    9.3 Menutup file
    Setelah file selesai diproses, maka file perlu ditutup.
             Close(variabel_file);
    Variabel_file adalah variabel yang menunjuk ke file.

    9.4 File Biner dan File Teks
    1. File dapat dibedakan menjadi dua jenis yaitu biner dan teks. File
        biner menyimpan data dalam bentuk biner. Sedangkan file teks
        menyimpan data dalam bentuk karakter. Data integer 255 dalam
        file biner akan selalu memerlukan dua byte memory. Disimpan
        dalam bentuk 11111111. Sedangkan dalam file teks data 255
        akan disimpan sebagai karakter 2,5,5.
    2. Mode pengaktifan seperti dijelaskan pada modul 13.1 perlu
        ditambahi t untuk file teks, dan b untuk file biner. Misalnya
        mode w menjadi wt untuk membuat file teks, atau wb untuk
        membuat file biner.

    9.5 Memakai feof()
    Fungsi ini dipakai untuk memdeteksi akhir file saat membaca data.
       Function eof(Fvariabel_file):bool;
    Hasilnya akan true jika akhir file sudah tercapai.




40 | T i m   Olimpiade Komputer SMAN 1 Sooko
TOKI Smansasoo Goes to OSN 2009




{File : baca.pas}
Program baca;
Uses crt;
Var
      F : text;
      s : string;
begin
      clrscr;
      write(‘masukkan nama file yang akan dibaca : ’);
      readln(s);
      assign(F,s);
      reset(F);
      while not EOF(F) do
      begin
              readln(F,s);
              writeln(s);
      end;
      close(F);
end

               Kode 9.1 Program Ptr.

{File : tulis.pas}
Program tulis;
Uses crt;
Var
      F : text;
      s : string;
Begin
      clrscr;
      write(‘Inputkan nama file yang akan di buat’);
      readln(s); assign(F,s);
      rewrite(F);
      writeln(‘Tulis kalimat diikuti dengan enter.’);
      writeln(‘Untuk keluar : Inputkan baris kosong.’);
      repeat
              readln(s);
              if s=’’then break;
              writeln(F,s);
      until true;
      close(F);
end.

               Kode 9.2 Pogram Tulis




 Tim Olimpiade Komputer SMAN 1 Sooko                  |    41
TOKI Smansasoo Goes to OSN 2009




42 | T i m   Olimpiade Komputer SMAN 1 Sooko

Más contenido relacionado

La actualidad más candente

Ayo membuat program pascal
Ayo membuat program pascalAyo membuat program pascal
Ayo membuat program pascalHary Purwoko
 
Konsep dasar bahasa__pascal_ok-libre
Konsep dasar bahasa__pascal_ok-libreKonsep dasar bahasa__pascal_ok-libre
Konsep dasar bahasa__pascal_ok-libreBoelepe Icheks
 
Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiDevi Apriansyah
 
Referensi pemrograman bahasa pascal
Referensi pemrograman bahasa pascalReferensi pemrograman bahasa pascal
Referensi pemrograman bahasa pascalMutiara Aprilian
 
Materi dasar-pascal
Materi dasar-pascalMateri dasar-pascal
Materi dasar-pascalFaisal Amir
 
pengenalan c+
pengenalan c+pengenalan c+
pengenalan c+aks247
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum AlgoritmaEnvaPya
 
Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaArif Punk Street
 
Algoritma & pemrograman 2
Algoritma & pemrograman 2Algoritma & pemrograman 2
Algoritma & pemrograman 2Mulyana Yana
 
Dasar dasar algoritma - 3 kontrol-1
Dasar dasar algoritma - 3  kontrol-1Dasar dasar algoritma - 3  kontrol-1
Dasar dasar algoritma - 3 kontrol-1Rachmat Narendra
 
2 konsep dasar pascal
2   konsep dasar pascal2   konsep dasar pascal
2 konsep dasar pascalachieasik89
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemogramanPANJI_ADITYAN
 

La actualidad más candente (17)

Ayo membuat program pascal
Ayo membuat program pascalAyo membuat program pascal
Ayo membuat program pascal
 
Konsep dasar bahasa__pascal_ok-libre
Konsep dasar bahasa__pascal_ok-libreKonsep dasar bahasa__pascal_ok-libre
Konsep dasar bahasa__pascal_ok-libre
 
Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iii
 
Referensi pemrograman bahasa pascal
Referensi pemrograman bahasa pascalReferensi pemrograman bahasa pascal
Referensi pemrograman bahasa pascal
 
Function
FunctionFunction
Function
 
Materi dasar-pascal
Materi dasar-pascalMateri dasar-pascal
Materi dasar-pascal
 
pengenalan c+
pengenalan c+pengenalan c+
pengenalan c+
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum Algoritma
 
modul algoritma Bab 4
modul algoritma Bab 4modul algoritma Bab 4
modul algoritma Bab 4
 
Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritma
 
Modul pd
Modul pdModul pd
Modul pd
 
Algoritma & pemrograman 2
Algoritma & pemrograman 2Algoritma & pemrograman 2
Algoritma & pemrograman 2
 
Pascal
PascalPascal
Pascal
 
Dasar dasar algoritma - 3 kontrol-1
Dasar dasar algoritma - 3  kontrol-1Dasar dasar algoritma - 3  kontrol-1
Dasar dasar algoritma - 3 kontrol-1
 
2 konsep dasar pascal
2   konsep dasar pascal2   konsep dasar pascal
2 konsep dasar pascal
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemograman
 
Modul praktikum c++
Modul praktikum c++Modul praktikum c++
Modul praktikum c++
 

Similar a Pemrograman Dasar Pascal

Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asliNadya Olivia
 
Bahasa pemrograman pascal
Bahasa pemrograman pascalBahasa pemrograman pascal
Bahasa pemrograman pascalNadya Olivia
 
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-pascalMaryanto Sumringah SMA 9 Tebo
 
Minggu 4 - Notasi Pseudocode.pptx
Minggu 4 - Notasi Pseudocode.pptxMinggu 4 - Notasi Pseudocode.pptx
Minggu 4 - Notasi Pseudocode.pptxAnnaUrnika1
 
Dasar dasar turbo pascal
Dasar dasar turbo pascalDasar dasar turbo pascal
Dasar dasar turbo pascalDuriani
 
Tugas mu'thi modul pascal
Tugas mu'thi modul pascalTugas mu'thi modul pascal
Tugas mu'thi modul pascalMu'thi Cinsayf
 
Faris persentasi
Faris persentasiFaris persentasi
Faris persentasisetiwan
 
Dasar pemrograman turbo pascal
Dasar pemrograman turbo pascalDasar pemrograman turbo pascal
Dasar pemrograman turbo pascalArum Mbedioen
 
Awal dasar belajar c++
Awal dasar belajar c++Awal dasar belajar c++
Awal dasar belajar c++farizky berian
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
PASCAL ( MODUL 2)
PASCAL ( MODUL 2)PASCAL ( MODUL 2)
PASCAL ( MODUL 2)Hardini_HD
 
PASCAL ( MODUL 2)
PASCAL ( MODUL 2)PASCAL ( MODUL 2)
PASCAL ( MODUL 2)Hardini_HD
 

Similar a Pemrograman Dasar Pascal (20)

Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asli
 
Bahasa pemrograman pascal
Bahasa pemrograman pascalBahasa pemrograman pascal
Bahasa pemrograman pascal
 
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
 
Modul ii
Modul iiModul ii
Modul ii
 
Alpro referensi
Alpro referensiAlpro referensi
Alpro referensi
 
Minggu 4 - Notasi Pseudocode.pptx
Minggu 4 - Notasi Pseudocode.pptxMinggu 4 - Notasi Pseudocode.pptx
Minggu 4 - Notasi Pseudocode.pptx
 
Modul 2
Modul 2Modul 2
Modul 2
 
Dasar dasar turbo pascal
Dasar dasar turbo pascalDasar dasar turbo pascal
Dasar dasar turbo pascal
 
Tugas mu'thi modul pascal
Tugas mu'thi modul pascalTugas mu'thi modul pascal
Tugas mu'thi modul pascal
 
Faris persentasi
Faris persentasiFaris persentasi
Faris persentasi
 
Dasar pemrograman turbo pascal
Dasar pemrograman turbo pascalDasar pemrograman turbo pascal
Dasar pemrograman turbo pascal
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemograman
 
Awal dasar belajar c++
Awal dasar belajar c++Awal dasar belajar c++
Awal dasar belajar c++
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++
 
Pascal buku
Pascal bukuPascal buku
Pascal buku
 
Pascal01
Pascal01Pascal01
Pascal01
 
Alwin pascal-02
Alwin pascal-02Alwin pascal-02
Alwin pascal-02
 
PASCAL ( MODUL 2)
PASCAL ( MODUL 2)PASCAL ( MODUL 2)
PASCAL ( MODUL 2)
 
PASCAL ( MODUL 2)
PASCAL ( MODUL 2)PASCAL ( MODUL 2)
PASCAL ( MODUL 2)
 

Pemrograman Dasar Pascal

  • 1. TOKI Smansasoo Goes to OSN 2009 MODUL 01 DASAR PEMROGRAMAN PASCAL 1.1 Pengenalan : menulis, menyimpan, run, compile. Run adalah menjalankan program yang diketik pada jendela editor. Compile adalah mengubah bahasa pemrograman tingkat tinggi yang telah diketik ke bahasa mesin dan menyimpannya ke disk dalam bentuk executetable program. 1. Tulis potongan program dibawah { File : first .pas} Program kesan; Begin Writeln(‘Tim olimpiade komputer’); End. 2. Simpan ke dalam file sooko1.pas 3. Compile program ini. 4. Jalankan menu run 5. Jalankan menu  debug  user screen untuk melihat hasilnya 1.2 Kerangka Program Pascal Program Pascal merupakan kumpulan fungsi, prosedur, dan variable. Sebuah fungsi merupakan sekumpulan baris program yang mengerjakan tugas tertentu dan mengembalikan hasilnya. Sebuah fungsi terdiri dari sebuah nama fungsi, daftar variable, satu blok kode yang membentuk fungsi tersebut. Sebuah blok dimulai dari kata “begin”, diikuti dengan beberapa statement dan diakhiri dengan kata “end”. PROGRAM namaProgram (File List); CONST { deklarasi Constanta } TYPE { deklarasi Type } VAR { deklarasi Variable} BEGIN { Statement yang akan dijalankan } END. Tim Olimpiade Komputer SMAN 1 Sooko | 1
  • 2. TOKI Smansasoo Goes to OSN 2009 Program contoh ; Uses crt; Function tambah (x,y: integer): integer; Begin Tambah:=x+y; End; Var hasil : integer ; begin clrscr; hasil := tambah(5,5); writeln(‘5+5 = ’,hasil); readln; end. 1.3 Tanda – tanda baca dalam pascal Berikut beberapa tanda baca yang ada dalam bahasa pascal berikut fungsinya : Tanda Baca Kegunaan . Akhir dari program utama : Deklarasi tipe konstanta, variable dan fungsi ; Akhir dari suatu perintah = Inisialisasi Konstanta .. Menyatakan range dalam array , Pemisah antara nama – nama variabel ^ Tanda control atau tanda penunjuk (pointer) contoh: Program contoh2 ; Uses crt; Const Pi=3.14; Function luas_lingkaran (r : integer): real; Begin Luas_lingkaran:=pi*r*r; End; Var hasil : real ; data_nilai1,data_nilai2 : array [1..44] of integer; p: ^real; begin clrscr; hasil := luas_lingkaran(5); p^:=hasil; writeln(^G,’luas lingkaran dengan r = 5 adalah ‘,hasil); readln; end. 2 |T i m Olimpiade Komputer SMAN 1 Sooko
  • 3. TOKI Smansasoo Goes to OSN 2009 1.4 Pengenal (identifier) Syarat-syarat penamaan sebuah identifier adalah : a. Dapat sepanjang apapun b. Harus diawali dengan huruf atau underscore(_) c. Karakter ke dua dan selanjutnya dapat berupa huruf, angka , atau underscore d. Tidak boleh ada 2 identifier dalam satu program e. Tidak boleh berupa reserved word. Reserved word adalah kata yang telah dikenal oleh pascal yang telah mempunyai kegunaan tertentu. Contoh penulisan identifier yang benar: - Coba1 - Jari_jari - Programcoba_coba Contoh penulisan identifier yang salah - Coba 1 (mengandung spasi) - Jari-jari (mengandung karakter -) - 2b (diawali dengan angka) - To (reserved word) Contoh penggunaan identifier: Program coba1; Var a,b:byte; type c=word begin …… End. Pada program diatas, terdapat 4 buah identifier, yaitu coba1 sebagai nama program, a,b digunakan sebagai identifier dari deklarasi var, dan c sebagai identifier nama type. Tim Olimpiade Komputer SMAN 1 Sooko | 3
  • 4. TOKI Smansasoo Goes to OSN 2009 1.5 Reserved word 1.6 Tipe Data Tipe data menyatakan pola penyajian data dalam computer: karakter, bilangan, string, record. Dalam Pascal tipe data digolongkan menjadi 4 yaitu tipe data standart, tipe data di definisikan oleh pemakai, tipe data terstruktur dan tipe data penunjuk. Tabel dibawah menampilkan beberapa tipe data standart dan domainnya yang dikenal dalam pascal. Nama Tipe byte Jangkauan Bilangan Byte 1 0..255 Char 1 -128… 127 Integer 2 -32768..32767 Word 2 0..65535 LongInt 4 -2147483648….2147483647 Real 4 Le-38 … le+ 38 String N+1 Boolean 1 0…1 4 |T i m Olimpiade Komputer SMAN 1 Sooko
  • 5. TOKI Smansasoo Goes to OSN 2009 1.7 Variable Variabel adalah penampung data yang isinya dapat diubah-ubah di dalam program. Data yang dapat disimpan adalah data sesuai dengan tipenya. Nama variabel terdiri dari huruf, angka dan garis bawah, dan hanya dapat didahului oleh huruf atau garis bawah dengan ketentuan : a. Nama variabel tidak dapat disela dengan spasi b. Tidak dapat menggunakan reserved words c. Huruf besar dan huruf kecil sama saja d. Panjang variabel yang dianggap/ dikenal hanya 63 karakter pertama Deklarasi Variable Sebelum bisa digunakan maka variable harus dideklarasikan terlebih dahulu. Pendeklarasian berarti memesan ruang di memori dan menyatakan tipe data yang bisa disimpannya. Bentuk umum Var Daftar_variabel : tipe_data; Contoh Var Incl, bill : integer, Tim Olimpiade Komputer SMAN 1 Sooko | 5
  • 6. TOKI Smansasoo Goes to OSN 2009 Flagl : char, Nama : array[1..10] of char, Pemberian (assignment) nilai ke variable Pemberian nilai hanya bisa dilakukan setelah sebuah variabel dideklarasikan. Bentuk umum Variable := nilai; Contoh Incl := 0; Bill := 10; 1.8 Konstanta Konstanta berbeda dengan variable, dimana isi dari konstanta tidak bisa diubah dengan cara pemberian (assignment) nilai. Bentuk umum Const Variable=nilai Contoh Const Pi = 3,14; Chl = ’A’; 1.9 Menampilkan Data dengan write dan writeln Fungsi write digunakan untuk mencetak data ke layar tanpa berganti baris setelahnya Fungsi writeln digunakan untuk mencetak data ke layar dengan berganti baris setelahnya String yang dicetak bisa ditambahi karakter khusus (escape sequence) yang didahului dengan tanda “#” misalnya Baris baru (#10), Bel (#7). Mencetak dengan menggunakan format Untuk mencetak pada posisi x, y layar, digunakan perintah GOTO baru setelah itu digunakan perintah write. Untuk dapat menggunakan perintah ini program harus melibatkan unit standar Crt Untuk mengeset warna teks dan background teks digunakan perintah text color dan text background 6 |T i m Olimpiade Komputer SMAN 1 Sooko
  • 7. TOKI Smansasoo Goes to OSN 2009 1.10 Menerima masukan dengan read dan readln Prosedur read dapat digunakan untuk menerima masukan dari keyboard. Tiap-tiap data yang dimasukkan harus sesuai dengan tipe variabelnya. Prosedur readln untuk memasukkan data perbaris, artinya setelah di tekan maka akan ganti baris, sedangkan prosedur read tidak Bentuk Umum Read (nama_variabel); Contoh Read (bil1); Readln (bil1); Contoh : /* File : write.pas */ Program masukan ; Uses crt; Var Bil1 : integer; Real1 : real ; ch1 : char ; begin write(‘Masukkan bilangan bulat : ’); read(bil1); writeln(‘Bilangan yang dimasukkan adalah’, bil1); writeln(‘Masukkan bilangan real : ’); read(real1); writeln(‘Bilangan yang dimasukkan adalah’,real1:8:3); writeln(‘Masukkan satu karakter : ’); read(ch1); writeln(‘Karakter yang dmasukkan adalah ’,ch1:3); end. Tim Olimpiade Komputer SMAN 1 Sooko | 7
  • 8. TOKI Smansasoo Goes to OSN 2009 1.11 Tentang daftar shortcut pada Free Pascal 8 |T i m Olimpiade Komputer SMAN 1 Sooko
  • 9. TOKI Smansasoo Goes to OSN 2009 MODUL 02 OPERATOR Operator merupakan suatu simbol yang digunakan untuk operator dan manipulasi data dalam. Dalam bahasa Pascal Operator dikelompokkan dalam 9 kategori. 2.1 Operator Assignment Merupakan operator yang berfungsi untuk memberikan suatu nilai ke sebuah variabel. Bentuk umum Variabel := 50,75; 2.2 Operator Binary Merupakan Operator yang berfungsi untuk mengoperasikan dua operand. Operand dapat berupa konstanta ataupun variabel. Digunakan untuk operasi aritmatika. Tabel 2.1 Operator Binary Operator Operasi Tipe operand Tipe hasil + Penambahan Integer, real Integer, Real - Pengurangan Integer, Real Integer, Real * Perkalian Integer, Real Real, Real / Pembagian Integer, Real Real, Real DIV Pembagian, Integer Integer bulat MOD Sisa Integer Integer contoh 1: {File : opr_binary.pas} Program binary; begin writeln(‘ 5 + 3 = ’,5+3); writeln(‘ 3 – 5 = ’,3-5); writeln(‘ 5 * 3 = ’,5*3); writeln(‘ 5 / 3 = ’,5/3); writeln(‘ 5 div 3 = ’,5 div 3); writeln(‘ 5 mod 3 = ’,5 mod 3); end. Tim Olimpiade Komputer SMAN 1 Sooko | 9
  • 10. TOKI Smansasoo Goes to OSN 2009 Contoh2 Soal OSP 2008 2.3 Operator Unary Disebut operator unary karena operator ini hanya menggunakan sebuah operand saja. Operator ini dapat berupa unary plus dan unary minus. Unary plus untuk menunjukkan tanda positif pada suatu bilangan dan unary minus untuk menunjukkan tada negatif. Misal : -25 not 1 +25 not 12 Not(true) 2.4 Operator Bit. Merupakan opetrator yang berfungsi untuk operasi bit per bit pada nilai integer. Tabel 2.2 Operasi Bit Operator Operasi Tipe Operand Hasil operasi NOT Negasi Integer Integer AND And Integer Integer OR Or Integer Integer XOR Xor Integer Integer Shl Shift left Integer Integer Shr Shift right Integer Integer Contoh 2: 10 | T i m Olimpiade Komputer SMAN 1 Sooko
  • 11. TOKI Smansasoo Goes to OSN 2009 {File : opr_bit.pas} Program opr_bit; Begin writeln(‘not 0 =’,not 0); writeln(‘not 1 =’,not 1); writeln(‘1 or 2 =’,1 or 2); writeln(‘1 and 2 =’,1 and 2); writeln(‘1 shr 2 =’,1 sh1 2); end. Contoh 3; {File : decbiner.pas} Program dec_biner; Var dec : integer; Begin writeln(‘Masukkan angka Integer : ’); readln(dec); writeln(‘’); writeln(‘Nilai binernya : ’); writeln(dec shr 7 and 1); writeln(dec shr 6 and 1); writeln(dec shr 5 and 1); writeln(dec shr 4 and 1); writeln(dec shr 3 and 1); writeln(dec shr 2 and 1); writeln(dec shr 1 and 1); writeln(dec shr 0 and 1); readln; End. 2.5 Operator Relasi Merupakan operator yang berfungsi untuk membandingkan hubungan antara dua buah operand dan akan didapatkan hasil tipe boolean, yaitu true atau false. Tabel 2.3 Operator Relasi Operator Operasi Operator Operasi < Lebih kecil >= Lebih besar atau sama dengan. <= Lebih kecil atau = Sama dengan sama dengan > Lebih besar <> Tidak sama dengan IN Seleksi dari angka himpunan Tim Olimpiade Komputer SMAN 1 Sooko | 11
  • 12. TOKI Smansasoo Goes to OSN 2009 2.6 Operator Logika Terdapat 4 buah operator logika, yaitu Not, And, Or, Xor. Bentuk operator ini sama dengan operator bit. Namun pengunaannya lain. Operator ini bekerja dengan nilai-nilai logika yaitu true dan false. Tabel 2.4 Kebenaran operasi AND dan OR Operator AND Kondisi 1 Kondisi 2 Hasil Salah Salah Salah Salah Benar Salah Benar Salah Salah Benar Benar Benar Operator OR Kondisi 1 Kondisi 2 Hasil Salah Salah Salah Salah Benar Benar Benar Benar Benar Benar Benar Benar Operator XOR Kondisi 1 Kondisi 2 Hasil Salah Salah Salah Salah Benar Benar Benar Benar Benar Benar Benar Salah 2.7 Operator Alamat Turbo Pascal memberikan dua buah operator khusus yang berhubungan dengan alamat di memori. Tabel 2.5 Operator alamat. Operator Keterangan @ Alamat dari operator akan menghasilkan alamat dari suatu variabel ^ Akan memberikan nilai dari alamat yang ditunjukkan suatu variabel pointer. Penjelasan lebih lanjut akan dibahas pada bab 8. 12 | T i m Olimpiade Komputer SMAN 1 Sooko
  • 13. TOKI Smansasoo Goes to OSN 2009 2.8 Operator Set Merupakan operator yang digunakan untuk operasi himpunan. Tabel 2.6 Operator set Operator Operasi + Union - Perbedaan Himpunan * Perkalian Himpunan 2.9 Operator String Merupakan operator yang digunakan untuk operasi string. String1+String2; { File : opt_str.pas} Program opt_str; Uses crt; Var Nama1, Nama2, Nama3 : String[15]; Begin Clrscr; Nama1 :=’Budi ‘; Nama2 :=’Santosa ‘; Nama3 := Nama1+Nama2; Writeln (Nama3); Readkey; End. Tim Olimpiade Komputer SMAN 1 Sooko | 13
  • 14. TOKI Smansasoo Goes to OSN 2009 14 | T i m Olimpiade Komputer SMAN 1 Sooko
  • 15. TOKI Smansasoo Goes to OSN 2009 MODUL 03 STRUKTUR KONTROL PEMILIHAN 3.1 Pernyataan if dengan satu aksi Gambar 3.1 Flowchart pernyataan if dengan satu aksi Pada model pernyataan pada gambar 3.1, sebuah aksi akan dikerjakan jika syarat bernilai benar. Bentuk umum : If (syarat) then aksi1; Aksi bisa terdiri dari satu baris pernyataan atau berupa sekumpulan (blog) baris pertanyaan. LATIHAN 1 {File : ifl.pas} Program ifl; Uses crt; Var a : Integer; Begin Writeln(‘Contoh if satu kasus’); Write(‘Ketikkan suatu nilai integer :’); Readln (a) ; If (a>0) then Begin Writeln (‘Nilai ‘,a,’ adalah nilai positif’); End; Readkey; End. Kode 3.1 program ifl. Tim Olimpiade Komputer SMAN 1 Sooko | 15
  • 16. TOKI Smansasoo Goes to OSN 2009 3.2 Pernyataan if dengan dua aksi Uraian Pada model pernyataan gambar 3.2, aksi1 akan dikerjakan jika syarat bernilai benar, sedangkan jika salah maka aksi2 yang dikerjakan. Bentuk umum : If (syarat) then Aksi1 Else Aksi2; Gambar 3.2 Flowchart pertanyan if dengan dua aksi. LATIHAN2 { File : if2.pas} Program if2; Uses crt; Var a : Integer; Begin Writeln (‘Contoh if dua kasus ‘); Write (‘Ketikkan suatu nilai positif’); Readln (a); If (a>0) then Begin Writeln (‘Nilai ‘,a,’ adalah nilai positif’); End Else Begin Writeln (‘Nilai ‘,a,’ adalah nilai negatif’); End; Readkey; End. 16 | T i m Olimpiade Komputer SMAN 1 Sooko
  • 17. TOKI Smansasoo Goes to OSN 2009 3.3 Pernyataan if dengan lebih dari dua aksi Uraian Karena pilihan aksi yang dikerjakan lebih dari dua, maka dapat dibuat model bertingkat/ bersarang/ nested. Gambar 3.3 Flowchart pertanyan if dengan lebih dari dua aksi. LATIHAN 3 {File : if3.pas} Program if3; Uses crt; Var a : Integer; Begin Writeln ‘Contoh if dua kasus ‘); Write (‘Ketikkan suatu nilai integer :’); Readln(a); If (a>0) then Begin Writeln (‘Nilai ‘,a,’ adalah nilai positif’); End Else If(a=0) then Begin Writeln(‘nilai ‘,a,’ adalah nol’); End Else Begin Writeln(‘Nilai ‘,a,’ adalah nilai negatif’); End; Readkey; End. Kode 3.3 Program if3 Tim Olimpiade Komputer SMAN 1 Sooko | 17
  • 18. TOKI Smansasoo Goes to OSN 2009 3.4 Pernyataan case Tangga if-else-if dapat digunakan menguji beberapa syarat tetapi sulit digunakan pernyataan case of, sebuah variabel dapat secara berturut-turut diuji oleh daftar konstanta (bilangan bulat atau karakter). Jika sesuai dengan sebuah konstanta, maka dikerjakan sesuai dengan pernyataan yang mengikuti konstanta tersebut. Pernyataan setelah else akan dikerjakan bila tidak ada konstanta yang tidak sesuai. Else bersifat optional, bila tidak ada else maka tidak ada yang dikerjakan. Ada beberapa hal yang perlu diperhatikan : a. Case of hanya dapat memeriksa sebuah konstanta atau range dari konstanta yang bukan bertipe real. Sedang if dapat memeriksa syarat-syarat lain(<,<,<>,dsb). b. Tidak ada dua konstanta yang sama dalam sebuah case LATIHAN 4 {File : case – of.pas} Pogram caseof; Var cc:char; Begin Writeln(‘ketikkan sebuah huruf, akhiri dengan Enter : ‘) Read(cc); Case cc of ‘0’..’9’ : writeln (‘yang anda ketik adalah angka ‘); ‘a’,’e’,’I’,’u’,’o’ : writeln(‘yang anda ketik adalah huruf vokal’); ‘b’..’d’,’f’..’h’,’j’..’n’,’p’..’t’,’v’..’z’ :writeln (‘ yang anda ketik adalah huruf konsonan’); Else writeln (‘yang anda ketik adalah karakter’); End; Readln; End. 18 | T i m Olimpiade Komputer SMAN 1 Sooko
  • 19. TOKI Smansasoo Goes to OSN 2009 MODUL 04 STRUKTUR KONTROL PENGULANGAN Struktur kontrol pengulangan dalam bahasa pemrograman dikenal dengan loop. Pengulangan dilakukan terus menerus sampai dipenuhi suatu keadaan tertentu. Dalam pascal dikenal tiga jenis pengulangan dan peryataan yang digunakan adalah : • for • while-do • repeat-until 4.1 Pengulangan dengan for Perulangan for dapat berbentuk perulangan positif, negatif, dan bersarang. Pada perulangan for diperlukan sebuah variable kontrol, nilai awal untuk inisialisasi, sehingga perulangan bisa dilakukan dan nilai akhir untuk kondisi mengakhiri perulangan. Bentuk Menaik : for variable-kontrol:=nilai-awal to nilai-akhir do pernyataan; Bentuk Menurun : for variable-kontrol:=nilai-awal downto nilai- akhir do pernyataan ; Bentuk loop dalam loop : for variable-kontrol1:=nilai-awal1 to nilai- akhir1 do for variable-kontrol2:=nilai-awal2 to nilai- akhir2 do pernyataan ; LATIHAN 1 {File : writefor.pas} Program Writefor; Var i, N: Integer; Begin Writeln(‘Baca N, print 1 s/d N’); Write(‘N=’); Read(N); for i:=1 to N do Writeln(i); Writeln(‘Akhir Program’); Readln; End. Kode 4.1 Program Writefor Tim Olimpiade Komputer SMAN 1 Sooko | 19
  • 20. TOKI Smansasoo Goes to OSN 2009 LATIHAN 2 {File : fornaik.pas} Program ForNaik; Var i, awal,akhir: Integer; Begin awal:=1; akhir:=5; for i:=awal to akhir do Writeln(i); read(i); End. Kode 4.2 Program ForNaik LATIHAN 3 Program ForTurun; Var i, bawah,atas: Integer; Begin bawah:=1; atas:=5; for i:=atas to bawah do Writeln(i); read(i); End. Kode 4.3 Program ForTurun LATIHAN 4 Program ForChr; Uses crt; Var ch:char; Begin for ch:=’a’ to ‘z’ do Writeln(ch); ReadKey; End. Kode 4.4 Program ForChr LATIHAN 5 Program Forenum; Uses crt; Type Namahari=(senin,selasa,rabu,kamis,jumat,sabtu); Var Hari : NamaHari; Begin for Hari:=senin to sabtu do Begin Writeln(‘PASCAL’); End; Readln; End. Kode 4.5 Program forenum 20 | T i m Olimpiade Komputer SMAN 1 Sooko
  • 21. TOKI Smansasoo Goes to OSN 2009 LATIHAN 6 {File : over.pas} Var x : byte; j : Integer; Begin J:=265; for x:=0 to j do {nilai batas yang diberikan melibihi jaringan bilangan} Writeln(x); Readln; End. Kode 4.6 Program ForByte LATIHAN 7 {File : srgloop.pas} Program srgloop; Uses crt; Var i, j : integer; Begin clrscr; Writeln(‘Contoh loop dalam loop’); For i:=1 to 3 do begin for j:=1 to 3 do Write{‘*’}; Writeln(‘ ’); End; End. Kode 4.7 Program srgloop 4.2 Pengulangan dengan while-do Pada pengulangan jenis ini, pengecekan syarat dilakukan diawal. Pengulangan dengan while-do ini digunakan untuk melakukan proses perulangan suatu pernyataan terus- menerus selama kondisi ungkapan logika pada syarat masih bernilai logika benar. Bentuk Umum : while syarat do perintah; Tim Olimpiade Komputer SMAN 1 Sooko | 21
  • 22. TOKI Smansasoo Goes to OSN 2009 LATIHAN 8 {File : while.pas} Program while; Uses crt; Var i: Integer; Begin clrscr; i:=1; while i<=5 do begin Writeln(i); i:=i+1; end; ReadKey; End; Kode 4.8 Program while LATIHAN 9 {File : priwhile.pas} Program priwhile; Var N, i : Integer; Begin Writeln(‘Nilai N =’); Read(N); i:=1; while i<=N do begin writeln(i); i:=i+1; end; ReadKey; End; Kode 4.9 Program Priwhile 4.3 Pengulangan dengan repeat-until Berbeda dengan dua jenis perulangan sebelumnya, syarat perulangan pada Repeat...Until dicek pada akhir perulangan. Repeat...Until digunakan untuk mengulang statemen-statemen sampai (until) kondisi yang diseleksi di Until terpenuhi. Bentuk Umum : repeat perintah; ... until syarat; 22 | T i m Olimpiade Komputer SMAN 1 Sooko
  • 23. TOKI Smansasoo Goes to OSN 2009 LATIHAN 10 {File : repeatUn.pas} Program RepeatUntil Var i : integer; Begin clrscr; i:=0; Repeat writeln(i); i:=i+1; until i=5; End. Kode 4.10 Program repeat until LATIHAN 11 {File : whiledo.pas} Program whiledo; Uses crt; Var nama : String[20]; Begin clrscr; Write(‘Ketik nama siswa( X=selesai ):’); Readln(nama); While (nama[1]<>’X’) do Begin write(‘Ketik nama siswa ( X=selesai ): ’); readln (nama); End; End. Kode 4.11 Program whiledo LATIHAN 12 {File : RepForv.pas} Program RepForv; Uses crt; Var x : byte; Begin Repeat x:=x+1; Write(x,’ ‘); If keypressed then break; {keluar paksa dari loop tanpa peduli syarat} Until x>=256; End. Kode 4.12 Program repForv Tim Olimpiade Komputer SMAN 1 Sooko | 23
  • 24. TOKI Smansasoo Goes to OSN 2009 LATIHAN 13 Soal OSP 2008 LATIHAN 13 Soal OSP 2008 (kombinasi while do – for) 24 | T i m Olimpiade Komputer SMAN 1 Sooko
  • 25. TOKI Smansasoo Goes to OSN 2009 MODUL 05 ARRAY 5.1 Array Satu Dimensi Array adalah deretan variabel yang berjenis sama dan mempunyai nama yang sama. Pada bahasa Pascal, array mempunyai lokasi yang bersebelahan, alamat terkecil menunjukkan elemen pertama dan alamat terbesar menunjuk pada elemen terakhir Bentuk umum : Nama_array:array [ukuran] of tipe Tipe = menyatakan tipe data dasar Ukuran = menyatakan banyaknya elemen pada array Contoh : Nilai : array[1..10] of Integer; LATIHAN 1 {File : tabel.pas} Program tabel; Uses crt; Var I,N : Integer; Tab : array[1..10] of Integer; Begin Clrscr; N:=5; Writeln (‘Isi dan print tabel’); For i:=0 to N do Begin Tab[i] := i; End; For i:=0 to N do Begin Writeln(‘Tabel[‘,1,’]=’,tab[i]; End; Readkey; End. Tim Olimpiade Komputer SMAN 1 Sooko | 25
  • 26. TOKI Smansasoo Goes to OSN 2009 LATIHAN 2 {File : tab_rata.pas} Program rata; Uses crt; Conts MAKS_TES : 5; Var i : Integer; nilai_total, rata-rata : Real; nilai_test : array[1..MAKS_TES] of Real; Begin {Pemasukan nilai}; Writeln (‘Pemasukan 5 buah nilai pada tabel’); For i:=1 to MAKS_TES do Begin Write(‘Nilai tes ke ‘,I,’ : ‘); Readln(nilai_test[i]); End; nilai_total:=0; for i:=1 to MAKS_TES do Begin Nilai_total:=nilai_total+nilai_test[i]; End; {menghitung nilai rata-rata} Rata-rata := total nilai/MAKS_TES; Writeln (‘Nilai rata-rata : ‘,rata_rata:3:2); Readkey; End. 5.2 Array Multi Dimensi Dalam bahasa pascal kita dapat membuat array hingga beberapa dimensi, misalnya array dua dimensi yang pada dasarnya adalah sebuah daftar yang terdiri array-array satu dimensi. Bentuk umum nama array : array[ukuran1] of array [ukuran2] of tipe; nama_array : array[ukuran1, ukuranN] of tipe; tipe = menyatakan tipe data dasar ukuran1 = menyatakn banyaknya element pada array pada dimensi ke-1 ukuranN = menyatakn banyaknya element pada array pada dimensi ke-N 26 | T i m Olimpiade Komputer SMAN 1 Sooko
  • 27. TOKI Smansasoo Goes to OSN 2009 LATIHAN3 {File : matrik.pas} Program matrik; Uses crt; Var I,j : Integer; B : array[1..3,1..5] of Integer; Begin clrscr; writeln(‘memasukkan data matrik 3x3 ‘); for I := 1 to 3 do for j:=1 to 3 do begin gotoxy(10+4*I,3+j*2);readln(b[I,j]); end; gotoxy (2,14);textColor(3);write(‘Data matrik yang diinputkan adalah : ‘); textcolor(6); for i:=1 to 3 do for j:=1 to 3 do Begin Gotoxy(10+4*I,15+2*j);write(b[I,j]); End; Readkey; End. 5.3 Inisialisasi Array Inisialisasi array dapat dilakukan pada saat pendeklarasiannya. Pada array multidimensi, inisialisasi dimulai dari dimensi yang paling besar. Untuk setiap dimensi dimulai dari indeks yang paling paling kecil . Pada pascal cara proses inisialisasi diletakkan pada bagian deklarasi konstanta. Const I :array[1..10] of Integer = (12,45,67,34,2,5,60,8,19,21); Matrix :array[1..3,1..4] of Integer = (42,47,63,45,6,43,62,8,19,21); Tim Olimpiade Komputer SMAN 1 Sooko | 27
  • 28. TOKI Smansasoo Goes to OSN 2009 28 | T i m Olimpiade Komputer SMAN 1 Sooko
  • 29. TOKI Smansasoo Goes to OSN 2009 MODUL 06 PROCEDURE DAN FUNCTION 6.1 Procedure Procedure merupakan blok baris perintah sebagai sebagai satu kesatuan yang mengerjakan tugas khusus Keuntungan menggunakan procedure : 1. Program menjadi terstruktur 2. Dapat mengurangi pengulangan kode Procedure dipanggil dan digunakan di dalam blok baris perintah yang lainnya dengan menyebutkan judul procedurnya. Procedure dapat menerima nilai dari luar ataupun mengirimkan nilai keluar yang dilewatkan melalui parameter. Terkait dengan procedure, dikenal dua macam variabel yaitu : 1. Variabel loKal : variabel yang dideklarasikan di dalam procedure, variabel ini tidak dikenal di luar procedure 2. Variabel global : Variabel yang dideklarasikan di luar semua procedure, sehingga akan dikenal di seluruh bagian program. Bentuk umum Procedure nama_procedure(deklarasi parameter); Begin …………………… End; Dalam pascal ada dua jenis pengiriman parameter: 1. Pengiriman parameter secara nilai (by value) Bila parameter dikirim secara nilai, parameter formal, maka perubahan-perubahan yang terjadi pada nilai parameter formal di procedure tidak akan mempengaruhi nilai parameter nyata 2. Pengiriman parameter secara acuan (by reference) Bila parameter dikirim secara nilai, parameter formal, maka perubahan-perubahan yang terjadi pada nilai Tim Olimpiade Komputer SMAN 1 Sooko | 29
  • 30. TOKI Smansasoo Goes to OSN 2009 parameter formal di procedure akan mempengaruhi nilai parameter nyata LATIHAN 1 {File : procedur.pas} Program procedur; Uses crt; Var a : Integer; {parameter by value} Procedure ubah1(x:integer); Begin writeln(‘parameter by value‘); writeln(‘Nilai akan diubah menjadi 5‘); x:=5; end; {parameter by reference} Procedure ubah2(var x:integer); Begin Writeln(‘parameter by reference’); Writeln(‘Nilai akan diubah menjadi 5’); x:=5; end; begin clrscr; a:=10; writeln(‘Nilai sebelum diubah adalah ‘, a); ubah1 (a); writeln(‘nilai setelah diubah adalah ‘,a); ubah2(a); writeln(‘nilai setelah diubah adalah ‘,a); readln; end. 6.2 Function Function mirip dengan procedure, bedanya function harus mengembalikan suatu nilai. Nilai yang dikembalikan terdapat pada nama function. Bentuk umum Nama function(deklarasi parameter):tipe data; Begin ……………nama function:=nilai; End; 30 | T i m Olimpiade Komputer SMAN 1 Sooko
  • 31. TOKI Smansasoo Goes to OSN 2009 LATIHAN 2 {File : fungsi1.pas} Program fungsi1; Uses crt; Var a, b, c : Integer; {funsi memakai parameter by value} Function tambah(a,b:integer): Integer; Begin Tambah:=a+b; end; Begin Clrscr; Write(‘A = ‘); Readln (a); Write (‘B = ‘); Readln (b); c:=jumlah(a,b); writeln (‘Jumlah tersebut adalah : ‘,c); readln; end. LATIHAN 3 SOAL OSP 2008 Tim Olimpiade Komputer SMAN 1 Sooko | 31
  • 32. TOKI Smansasoo Goes to OSN 2009 32 | T i m Olimpiade Komputer SMAN 1 Sooko
  • 33. TOKI Smansasoo Goes to OSN 2009 MODUL 07 STRING 7.1 Pendeklarasian String String merupaka salah satu type data bentukan untuk menyatakan data teks kalimat atau serangkaian karakter. Pada bahasa Pascal panjang maksimum string yang diijinkan adalah 255 karakter. Bentuk Umum. Nama_variable : string[panjang string]; Nama_variabel : string; Bila tidak di sebutkan panjang string maka secara default panjangnya adalah 255. Contoh Nama : String[15]; Mendeklarasikan variabel string nama dengan panjang karakter 15. 7.2 Memasukkan Data String dengan read/readln Pemasukkan data string ke dalam suatu variabel bisa dilakukkan dengan memakai read ataupun readln. Fungsi read/readln akan membaca seluruh karakter yang akan diketik sampai tombol enter ditekan. Dalam hal ini tidak ada pengecekan terhadap batas array. Panjang string dikurangi ukuran array ditambah karakter NULL. Bentuk umum. read(nama_array); readln(nama_array); 7.3 Inisialisasi String Inisialisasi string bisa dilakuan dengan assignment karakter per karakter ataupun tidak. Bentuk Umum nama_variabel[]=data_string; Contoh Const : Nama1:String = {‘T’,’U’,’R’,’B’,’ ’,’C’,’0’}; Nama2:String = ‘Tim Olimpiade Komputer’; Tim Olimpiade Komputer SMAN 1 Sooko | 33
  • 34. TOKI Smansasoo Goes to OSN 2009 7.4 Menampilkan Isi Variabel String Ke Layar Untuk menampilkan isi variabel string, pernyataan yang dapat digunakan perintah write atau writeln. Bentuk Umum Writeln(var_string); Write(var_string); {File : str.pas} Program str; Uses crt; Var kompiler : string; Procedure bentuk1; Begin kompiler=’Bentuk 1’; write(kompiler); end; end; pocedure bentuk2; begin kompiler=’Bentuk 2’; writeln(kompiler); end; begin bentuk1(); bentuk2(); readln; end. 7.5 Mengakses Elemen String Variabel string merupakan bentuk khusus dari array bertipe char, oleh karena itu elemen dari variabel string dapat diakses seperti pengaksesan elemen array. {File : hitkar.pas} Program hitkar; Const maks=256; Var teks : string(maks); Jumkar i: Integer; Begin Writeln(‘Masukkan suatu kalimat : ’); Readln(teks); Jumkar := 0; For i:=0 to maks do If teks[i]=’a’ then Jumkar:=jumkar+1; Writeln(‘jumlaah karakter a = ’,jumkar); end; 34 | T i m Olimpiade Komputer SMAN 1 Sooko
  • 35. TOKI Smansasoo Goes to OSN 2009 7.6 Beberapa Fungsi Mengenai String Pascal menyediakan fungsi untuk memanipulasi string, diantaranya: Tabel 7.1 Fungsi manipulasi string Fungsi/ Bentuk pemakaian Kegunaan procedure Insert Insert( sumber : String , Menyisipi string mulai pada posisi tujuan : String , Indeks : indek dengan string sumber. Integer) Str Str(x:width:decimal, s:string) Mengubah Nilai numerik (x) menjadi string (s) Val Val(NilaiString,NilaiNumerik, Mengkonversi NilaiString menjadi PosisiSalah) nilai Numerik posisiSalah bernilai nol bila tidak terjadi kesalahan dalam proses konversi. Copy Str1:=Copy(str2,index,count) Menyalin karakter sejumlah count mulai posisi index. Concat Str:=concat(s1,s1,...,sn) Merangkai beberapa string, sama dengan operator string ‘+’ Pos Index:=pos(substr,string) Mencari posisi dari suatu substring dalam string Length Panj:=length(str) Menghitung panjang atau jumlah karakter dalam string. contoh : var Var s : string; A,B: String; begin C: String[10]; s := 'TOKI'; Begin insert('KI', s, 2); A:='TOKI MEMANG'; writeln(s); B:='HEBAT'; end. C:=A+B; if (Pos(B)>0) Then Begin var s : string; Writeln('A'); begin end else s:='TOKI GO GET GOLD!'; Writeln('B'); delete(s, 1, length(s)-12); end. writeln(s): end. Tim Olimpiade Komputer SMAN 1 Sooko | 35
  • 36. TOKI Smansasoo Goes to OSN 2009 7.7 String Sebagai Parameter Fungsi String sebagai parameter fungsi pada dasarnya sama dengan array sebagai parameter fungsi, karena string dapat dianggap array dari karakter. {File : kiri.pas} Program kiri; Var kalimat : string; I, panj : Integer; Procedure strkiri(strin:string;n : Integer:var strhasil:string); Var i:Integer; Begin Strhasil1:=copy(strin,1,n) End; Begin Panj:=length(); For i=0 to panj do Begin Strkiri(kalimat, panj-1, hasil); End; End. 36 | T i m Olimpiade Komputer SMAN 1 Sooko
  • 37. TOKI Smansasoo Goes to OSN 2009 MODUL 08 RECORD Merupakan tipe data terstruktur, dimana beberapa variabel dengan tipe data berbeda dapat dikumpulkan bersama dan mengacu pada suatu nama yang sama Record dipakai untuk menyatakan informasi yang berhubungan Variabel-variabel yang membentuk sebuah record dinamakan field, record di dalam Pascal sama dengan struktur pada C Bentuk umum Type Nama_record = Record Tipe_data variabel : tipe – data; . . . Tipe_data variabel N : tipe – data; End; Contoh Type dt_siswa = Record { deklarasi tipe data record } nrp : string [7]; nama : string [20]; alamat : string [40] nilai : real; end; Var Siswa1,siswa2 : dt_siswa; { deklarasi variabel record siswa } Variabel siswa1, siswa2, adalah variabel record yang bertipe dt_siswa. 8.1 Operasi Terhadap Field Record Field Record dapat dapat ditunjuk dengan memakai operator titik. Misalnya, variabel siswa1 bertipe record seperti contoh di atas, maka mengisi nilai dengan 72.5 dilakukan dengan : Siswa1.nilai := 72.5; Mencetak isi dari elemen nama Writeln (‘Nama siswa adalah ‘, siswa1.nama); Memberi nilai data alamat Read (siswa1.alamat); Tim Olimpiade Komputer SMAN 1 Sooko | 37
  • 38. TOKI Smansasoo Goes to OSN 2009 LATIHAN 1 { file : record.pas} Program record; Uses crt; Type dt_siswa = record nrp : string [7]; nama : string [20]; alamat : string [40]; nilai : real; end; Var Siswa1 : dt_siswa; Function index ( nilai : real ) : Char; Begin If (nilai>=90) then Index := ‘A’ Else if nilai>=75 then Index := ‘B’ Else if nilai >=60 then Index := ‘C’ Else if nilai >= 50 then Index := ‘D’ Else Index := ‘E’; End; Begin Clrscr; Write (‘masukkan NRP : ‘); Readln(siswa1.nrp); Write(‘Masukkan Nama : ‘); Readln(siswa1.nama); Write(‘Masukkan Alamat : ‘); Readln(siswa1.alamat); Write(‘Masukkan Nilai : ‘); Readln(siswa1.nilai); Clrscr; Writeln(‘Data yang anda masukkan :’); Writeln(‘NRP : ‘,siswa1.nrp); Writeln(‘Nama : ‘,siswa1.nama); Writeln(‘Alamat : ‘,siswa1.alamat); Writeln(‘Nilai : ‘,siswa1.nilai:3:2); Writeln(‘Index nilai yang diperoleh  ‘, index(siswa1.nilai)); Readkey; End. 8.2 Inisialisasi Record Cara menginisialisasi record sama dengan variabel- variabel lain. Inisialisasi dapat dilakukan tersendiri atau bersama-sama dengan pendefinisian format record. 38 | T i m Olimpiade Komputer SMAN 1 Sooko
  • 39. TOKI Smansasoo Goes to OSN 2009 MODUL 09 OPERASI FILE Untuk dapat diolah lebih lanjut, maka data perlu disimpan dalam sebuah file. Sebuah file terdiri dari kumpulan record yang mempunyai tipe yang sama. Operasi terhadap file umumnya terdiri dari: 1. Operasi untuk membuka dan mencipta file. 2. Melakukan proses terhadap file. 3. Menutup file. 9.1 Membuka dan Menciptakan File Sebelum sebuah file dapat diakses, maka file harus dibuka terlebih dahulu. Berikut adalah langkah-langkah yang harus dilakukan ketika membuka file: 1. Mendeklarasikan variabel bertipe file yang menunjuk ke file. Var File_variabel : file of tipe_file; 2. Menghubungkan variabel ke file. Assign(file_variabel, nama_file); 3. Membuka/menciptakan file. Ada beberapa perintah dalam pascal untuk membuka file, yaitu: a. Membuka file untuk pembacaan. Reset (file_variabel); b. Membuka file untuk penambahan. Append(file_variabel); c. Menciptakan file Rewrite(file_variabel); Catatan : jika file yang diciptakan sudah ada, maka akan menghapus file tersebut dan mencipatakan yang baru dan masih kosong. Tim Olimpiade Komputer SMAN 1 Sooko | 39
  • 40. TOKI Smansasoo Goes to OSN 2009 9.2 Melakukan proses terhadap file Setelah file dapat dibuka atau diciptakan, dapat dilakukan pemrosesan data dari file, yaitu : 1. Membaca isi file. Read(file_variabel, variabel_data); Readln(file_variabel, variabel_data); 2. Menulis ke file. Write(file_variabel, variabel_data); Writeln(file_variabel, variabel_data); 9.3 Menutup file Setelah file selesai diproses, maka file perlu ditutup. Close(variabel_file); Variabel_file adalah variabel yang menunjuk ke file. 9.4 File Biner dan File Teks 1. File dapat dibedakan menjadi dua jenis yaitu biner dan teks. File biner menyimpan data dalam bentuk biner. Sedangkan file teks menyimpan data dalam bentuk karakter. Data integer 255 dalam file biner akan selalu memerlukan dua byte memory. Disimpan dalam bentuk 11111111. Sedangkan dalam file teks data 255 akan disimpan sebagai karakter 2,5,5. 2. Mode pengaktifan seperti dijelaskan pada modul 13.1 perlu ditambahi t untuk file teks, dan b untuk file biner. Misalnya mode w menjadi wt untuk membuat file teks, atau wb untuk membuat file biner. 9.5 Memakai feof() Fungsi ini dipakai untuk memdeteksi akhir file saat membaca data. Function eof(Fvariabel_file):bool; Hasilnya akan true jika akhir file sudah tercapai. 40 | T i m Olimpiade Komputer SMAN 1 Sooko
  • 41. TOKI Smansasoo Goes to OSN 2009 {File : baca.pas} Program baca; Uses crt; Var F : text; s : string; begin clrscr; write(‘masukkan nama file yang akan dibaca : ’); readln(s); assign(F,s); reset(F); while not EOF(F) do begin readln(F,s); writeln(s); end; close(F); end Kode 9.1 Program Ptr. {File : tulis.pas} Program tulis; Uses crt; Var F : text; s : string; Begin clrscr; write(‘Inputkan nama file yang akan di buat’); readln(s); assign(F,s); rewrite(F); writeln(‘Tulis kalimat diikuti dengan enter.’); writeln(‘Untuk keluar : Inputkan baris kosong.’); repeat readln(s); if s=’’then break; writeln(F,s); until true; close(F); end. Kode 9.2 Pogram Tulis Tim Olimpiade Komputer SMAN 1 Sooko | 41
  • 42. TOKI Smansasoo Goes to OSN 2009 42 | T i m Olimpiade Komputer SMAN 1 Sooko