handout komputasi pascal final

Upload: dinda-dwi-c

Post on 10-Feb-2018

235 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/22/2019 Handout Komputasi Pascal Final

    1/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 1

    BAB I

    PENGANTAR PASCAL

    A.Program Turbo PascalPascal adalah salah satu bahasa pemrograman tingkat tinggi (high level language). Nama

    Pascal diambil dari nama seorang ahli matematika dan filosofi terkenal abad 17 dari

    Perancis, yaitu Blaise Pascal. Bahasa ini dirancang oleh Prof. Niklaus Wirth dari Technical

    University di Zurich, Switzerland. Turbo Pascal adalah salah satu versi Pascal yang paling

    popular dan banyak digunakan saat ini. Bentuk tampilan awal Turbo Pascal adalah sebagai

    berikut:

    Menu BarAdalah fasilitas yang ada pada setiap aplikasi window. Ada delapan Menu Utama yang

    dapat dipanggil dengan menggunakan tombol Alt+[Huruf pertama dari menu]. Misal

    ingin memanggil menu File, tekan tombol Alt+F.

    Toolbar

    Adalah kumpulan tombol-tombol bergambar yang berfungsi untuk memberikanperintah pada komputer

    EditorBerfungsi untuk menulis dan menyunting program.

    Menu Bar

    Editor

    Toolbar

  • 7/22/2019 Handout Komputasi Pascal Final

    2/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 2

    B.Struktur Bahasa PascalProgram dalam bahasa pascal, ditulis dengan struktur sebagai berikut:

    Program () Kepala Program

    USES

    LABEL

    CONST

    TYPE

    VAR

    Bagian Deklarasi

    BEGIN

    END.

    Bagian Pernyataan

    Kepala ProgramDalam Pascal, posisi kepala program adalah diawal program. Sintak dari kepala

    program adalah:

    Program ()

    Penulisan Nama boleh sembarang, tapi harus dimulai dengan huruf dan bukanReserve

    Word (kata baku yang telah digunakan Pascal dan mempunyai definisi tertentu, misal

    BEGIN, USES, dsb). Dapat terdiri dari kombinasi huruf, angka dan garis bawah.

    Maksimal 127 karakter dan tidak ada perbedaan antara huruf besar dan huruf kecil.

    Dalam memberikan Nama sebaiknya yang mempunyai arti sesuai dengan program

    yang akan dibuat.

    Contoh:ProgramHitung_Luas;

    Program Soal_1;

    ProgramSegitiga (Masuk, Keluar);

    Bagian Deklarasi

    Dalam Pascal, semua unit, label, konstanta, tipe, variabel, fungsi dan prosedur yang

    akan digunakan harus dideklarasikan terlebih dahulu. Keenam deklrasi tersebut tidak

  • 7/22/2019 Handout Komputasi Pascal Final

    3/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 3

    harus ada semua Sebuah program bisa saja hanya mengandung deklarasi variabel.

    Berikut ini adalah bentuk masing-masing deklarasi.

    No Jenis deklarasi Bentuk Deklarasi1 Unit USES

    , ,...,;

    Contoh:

    USESWincrt, unit1,unit2;

    2 Label LABEL

    , ,...,;

    Contoh:

    LABEL

    50, Penutup, Selesai;

    3 Konstanta CONST

    = ;.

    .

    . = ;

    Contoh:

    CONSTMaksData=100;

    Konversi=25;

    4 Tipe TYPE = ;

    .

    .

    . = ;

    Contoh:

    TYPE

    Tanggal=1..31;

    5 Variabel VAR = ;

    .

    .

    .

    = ;

    Contoh:

    VARNilai : Real;

    Jumlah : Integer;

    Tgl:Tanggal;

    6 Fungsi dan Prosedur Function():;

    atau

    Procedure();

    Contoh:

    FunctionPangkat(a,b:integer):integer;ProcedureTukar (data1, data2:real);

    Bagian Pernyataan

    Bagian pernyataan diawal dengan kata BEGIN serta diakhiri dengan kata END dan

    tanda titik. Setiap pernyataan diakhiri dengan tanda titik kona (;). Pernyataan-

    pernyataan yang disusun mengikuti algoritma tertentu diletakkan pada bagian ini.

  • 7/22/2019 Handout Komputasi Pascal Final

    4/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 4

    C.Tipe Data dalam PascalAda beberapa macam tipe data dalam Pascal, diantaranya adalah :

    1. Integer, adalah susunan angka yang tidak mengandung koma. Disebut jugabilangan bulat. Nilainya terletak antara -32768 s/d 32767.

    2. Byte, adalah merupakan bagian dari integer. Nilainya terletak antara 0 s/d 255.3. Real, merupakan tipe bilangan yang mengandung pecahan. Nilainya terletak antara

    1E-38 s/d 1E+38.

    4. Boolean, berhubungan dengan dua keadaan logika. Dapat bernilai True atau False.5. Char, merupakan tipe yang hanya terdiri dari sebuah simbol karakter ASCII6. String, merupakan tipe yang terdiri dari sejumlah karakter.

    D.Operator dan OperandBerikut ini adalah operator yang ada dalam bahasa Pascal :

    No Kategori Operator Operator Operasi Jenis Operand Hasil Contoh

    1 Pengerjaan

    (Assignment)

    := Memberi nilai Integer

    Real

    Integer

    Real

    A:=B

    Biner (Binary) * Perkalian Real, Real

    Integer, Integer

    Real,Integer

    Real

    Integer

    Real

    A*B

    / Pembagian Real Real, RealInteger, Integer

    Real,Integer

    RealReal

    Real

    A/B

    + Pertambahan Real, RealInteger, Integer

    Real,Integer

    RealInteger

    Real

    A+B

    - Pengurangan Real, Real

    Integer, IntegerReal,Integer

    Real

    IntegerReal

    A-B

    DIV Pembagian bulat Integer, Integer Integer A DIV B

    MOD Sisa Pembagian Integer, Integer Integer A MOD B

    2 Unary + positif Integer

    Real

    Integer

    Real

    +A

    - negatif IntegerReal

    IntegerReal

    -A

    3 Logika (logical) NOT Boolean, Boolean Boolean NOT(A)

    AND Boolean, Boolean Boolean A AND B

    OR Boolean, Boolean Boolean A OR B

    4 Hubungan(Relational)

    = Sama dengan Boolean, Boolean Boolean A = B

    Tidak sama

    dengan

    Boolean, Boolean Boolean A B

    > Lebih besar dari Boolean, Boolean Boolean A > B< Kurang dari Boolean, Boolean Boolean A < B

    >= Lebih besar atausama dengan

    Boolean, Boolean Boolean A >= B

  • 7/22/2019 Handout Komputasi Pascal Final

    5/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 5

    Operator dalam Pascal mempunyai hirarki. Tabel berikut ini menunjukkan prioritas atau

    hirarki pengerjaan operator dalam Pascal.

    Kelompok Operator PrioritasNOT 1

    * / DIV MOD AND 2+ - OR 3

    = = 4

    Contoh :

    Berikut ini adalah contoh program Pascal sederhana

    Programtambah; Kepala Program

    Useswincrt;

    Var Bagian DeklarasiA,B,C:integer;

    Begin

    A:=70;

    B:=100; Bagian Pernyataan

    C:=A+B;

    Writeln(C);

    End.

    SOAL1. Sebutkan jenis konstanta berikut ini: (real, integer, char, boolean atau string)

    a. 87.767b. 100c. 0

    d. Falsee. Testf. 5.5

    g. Trueh. 1.5E+8i. 0

    2. Diberikan Cuplikan Program dibawah ini:Angka1:=4;

    Angka2:=100;

    Hasil:=Angka2+Angka1;

    Writeln(Hasil);

    A. Lengkapilah program tersebut sehingga dapat dijalankan di Turbo Pascal.B. Ada berapa variabel dalam program tersebut?

    3. Tuliskan persamaan matematika berikut ini kedalam ekspresi bahasa pascal.a.

    ED

    CBA

    += c. F

    D

    CBA

    += e.

    E

    CABD

    .2

    ..42 =

    b. FED

    BA =

    .

    d.IH

    GF

    ED

    BA

    +

    +=

    . f. J

    I

    H

    GF

    EDCBA +

    +

    += )(

  • 7/22/2019 Handout Komputasi Pascal Final

    6/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 6

    BAB II

    PERNYATAAN INPUT dan OUTPUT

    Dalam bahasa Pascal pernyataan input adalah pernyataan yang digunakan untuk

    memasukkan data. Pernyataan input yang ada di Pascal adalah READ dan READLN.

    Sedangkan pernyataan output adalah pernyataan yang digunakan untuk menampilkan hasil.

    Ada dua pernyataan output yaitu WRITE dan WRITELN.

    A.Pernyataan WRITE dan WRITELNBentuk pernyataan WRITE dan WRITELN:

    WRITE ();

    AtauWRITELN ();

    Jika pernyataan WRITELN yang digunakan, setelah menampilkan hasil maka kursor ganti

    baris. Sedangkan jika pernyataan WRITE yang digunakan, setelah menampilkan hasil

    maka kursor tidak ganti baris. Dalam format penulisan WRITE dan WRITELN jika yang

    akan ditampilkan adalah suatu kata/kalimat yang tidak disinpan dalam suatu variabel, maka

    kata/kalimat tersebut harus ditulis diantara tanda petik tunggal ().

    WRITE atau WRITELN dapat menerima argumen berupa variabelBentuk Pernyataan : WRITE (); WRITELN ();

    Contoh : WRITE (Kata);

    WRITE (Umur);

    WRITELN (Kata);

    WRITELN (Umur);

    WRITE atau WRITELN dapat menerima argumen bertipe data dasar (seperti boolean,real atau integer) bahkan char atau string.

    Contoh : WRITE (TRUE);

    WRITE (27.5);

    WRITE (100);

    WRITE (a);

    WRITE (Statistika);

    WRITELN (TRUE);

    WRITELN (27.5);

    WRITELN (100);

    WRITELN (a);

    WRITELN (Statistika);

  • 7/22/2019 Handout Komputasi Pascal Final

    7/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 7

    WRITE atau WRITELN dapat menerima argumen lebih dari satu. Jika argumen lebihdari satu maka harus dipisahkan oleh tanda koma (,).

    Contoh : WRITE (Hasilnya adalah : , jawab);

    WRITE LN (Hasilnya adalah : , jawab);

    WRITE atau WRITELN dapat menerima argumen berupa ekspresi.Contoh : WRITE (A+B-50);

    WRITE (20*82/2);

    WRITELN (A+B-50);

    WRITELN (20*82/2);

    WRITELN bisa juga tanpa argumen. Biasanya digunakan untuk membuat bariskosong;

    Contoh : WRITELN;

    Contoh :Program untuk memberikan contoh perbedaan WRITE dan WRITELN.

    Program Tulis;

    Uses wincrt;

    Begin

    Write(Satu);

    Write( );

    Write(Dua, );

    Writeln(Tiga);Writeln(Empat);

    End.

    Hasilnya :

    B.Memformat keluaran dari WRITE dan WRITELNUntuk mengatur penampilan hasil pernyataan WRITE dan WRITELN dapat dilakukan

    formating. Untuk memformat data dilakukan dengan menambah tanda titik dua (:) diikuti

    dengan bilangan yang menyatakan lebar ruang untuk menampilkan data:

    Data : n

  • 7/22/2019 Handout Komputasi Pascal Final

    8/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 8

    Format ini menyebabkan data ditampilkan rata kanan pada ruang dengan ukuran sebesar n

    karakter.

    Contoh : WRITE (A:10);

    WRITE (-45:10);

    WRITELN (Data:10);

    WRITELN (12.42 : 10);

    Untuk argumen data real, format dapat dilakukan sebagai berikut:

    Data : n : p

    Dimana: n adalah lebarnya ruang

    p adalah banyaknya angka desimal

    Contoh : WRITE (432.8984 : 10 : 2);

    WRITE (-4598.908756 : 10 : 2);

    WRITELN (Data : 10 : 2);

    WRITELN (12.42 : 10 : 0);

    Contoh :Program untuk memberikan contoh pengaturan format tampilan.

    Program bilangan;

    Uses wincrt;

    Begin

    Write(Matematika:10);

    Writeln(80:7);

    Write(Biologi:10);

    Writeln(100:7);Write(Fisika:10);

    Writeln(50:7);

    End.

    Hasilnya :

    C.Pernyataan READ dan READLNBentuk pernyataan READ READLN:

    READ () ;

    Atau

    READLN () ;

  • 7/22/2019 Handout Komputasi Pascal Final

    9/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 9

    Tiap-tiap data yang dimasukkan harus sesuai dengan tipe variabelnya. Setelah data

    dimasukkan, tombol ENTER ditekan. Perbedaan antara READ dan READLN adalah pada

    sifat menangani kelebihan data yang diinputkan

    READ : Jika ada kelebihan data, pernyataan ini tidak akan membuangnya. Kelebihandata tersebut akan diberikan pada pernyataan READ atau READLN berikutnya.READLN : Jika ada kelebihan data, pernyataan ini akan membuangnya. Kelebihan data

    tersebut tidak akan diberikan pada pernyataan READ atau READLN

    berikutnya.

    Contoh :Program untuk menunjukkan perbedaan antara READ dan READLN

    1. Program Satu;

    Uses Wincrt;

    Var

    A, B, C, D:Integer;

    Begin

    Writeln(Masukkan Data Tiga Buah, Pisahkan dengan Spasi !);

    Read(A, B);

    Writeln (A=,A);

    Writeln (B=,B);

    Readln(C);

    Writeln(C=,C);

    End.

    Hasilnya :

    2. Program Dua;Uses Wincrt;

    Var

    A, B, C, D:Integer;

    Begin

    Writeln(Masukkan Data Tiga Buah, Pisahkan dengan Spasi !);

    Readln(A, B);

    Writeln (A=,A);

    Writeln (B=,B);

  • 7/22/2019 Handout Komputasi Pascal Final

    10/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 10

    Readln(C);

    Writeln(C=,C);

    End.

    Hasilnya :

    Terlihat bahwa pada program Dua data untuk variabel C harus dimasukkan ulang, hal itu

    disebabkan penggunaan READLN.

    SOAL

    1. Apa hasil program berikut ini:a. Program Satu;

    Uses Wincrt;

    Var Data1, Data2:Real;

    Begin

    Data1:=76.87392;Data2:=987.543269;

    Writeln('Hasil',Data1+Data2:10:2);

    End.

    b. Program Satu;

    Uses Wincrt;

    Begin

    Write('ITS',' ');Write('Statistika');

    Writeln(' ');

    Write('Surabaya');

    End.

    2. Buat Program untuk proses berikut ini:a. Input: Nama dan Tahun Lahir

    Proses : Menghitung Umur

    Output: Nama dan Umur

    b. Input: Panjang dan Lebar suatu

    persegi panjang

    Proses: Menghitung Luas Persegi

    Panjang

    Output: Luas Persegi Panjang

    c Mencari nilai maksimum dari ketigabuah data

    Input : Tiga buah Data X1, X2 dan X3

    Proses: mencari nilai maksimum

    Output: nilai maksimum dari tiga buah

    data tersebut.

  • 7/22/2019 Handout Komputasi Pascal Final

    11/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 11

    BAB III

    PERNYATAAN BERSYARAT

    Pernyataan bersyarat adalah pernyataan yang akan menjalankan pernyataan yang

    mengikutinya sesuai dengan syarat tertertentu. Ada 2 buah pernyataan bersyarat, yaitu IF

    dan CASE.

    A.Pernyataan IFBentuk pernyataan IF:

    IF THEN ;

    Syarat

    Logika Pernyataan

    Benar(True)

    Salah(False)

    Gambar 1. Flowchart Statement IF THEN

    IF THEN

    ELSE ;

    SyaratLogika

    Benar(True)

    Salah(False)

    Pernyataan-1

    Pernyataan-2

    Gambar 2. Flowchart Statement IF THEN ELSE

  • 7/22/2019 Handout Komputasi Pascal Final

    12/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 12

    Jika syarat logika bernilai Benar maka yang akan dijalankan adalah pernyataan yang

    mengikuti THEN, dan sebaliknya jika syarat logika bernilai Salah maka yang akan

    dijalankan adalah pernyataan yang mengikuti ELSE. Jika pernyataan yang mengikuti

    THEN atau ELSE lebih dari satu maka harus diawali oleh Begin dan diakhiri oleh End.

    Statement End sebelum ELSE tidak boleh ada tanda titik koma (;).

    IF THEN begin

    ;

    ;

    .

    .

    ;

    end

    ELSE begin

    ;

    ;

    .

    .

    ;

    end;

    Contoh :Program untuk menentukan apakah suatu bilangan itu positif atau negatif.

    Program bilangan;

    Uses wincrt;

    Var bil :integer;

    Begin

    Readln(bil);

    If bil >= 0 Then writeln(Positif)

    Else writeln (Negatif)

    End.

    B.Pernyataan IF Bersarang (nested)Jika ada dua pernyataan IF atau lebih, dimana pernyataan IF yang satu berada di dalam

    pernyataan IF yang lain, maka pernyataan tersebut disebut Bersarang (nested).

    Contoh bentuk pernyataan IF Bersarang:

    IF THEN

    ELSE IF THEN

    ELSE IF THEN

    ElSE ;

  • 7/22/2019 Handout Komputasi Pascal Final

    13/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 13

    SyaratLogika-1

    Benar(True)

    Salah(False)

    Pernyataan-1

    SyaratLogika-2

    SyaratLogika-3

    Pernyataan-4Pernyataan-3Pernyataan-2

    Salah(False)

    Salah(False)

    Benar(True)

    Benar(True)

    Gambar 3. Flowchart Statement IF THEN Bersarang

    Contoh :Program untuk menentukan bonus pegawai berdasarkan total penjualan. Kriteria bonus

    adalah sebagai berikut:

    Total Penjualan (Rp) Bonus Yang Didapat (Rp)

    Total 500.000 30.000

    250.000Total= 250000 Then writeln(Bonus = 20.000)

    Else If Total >= 50000 Then writeln(Bonus = 10.000)

    Else writeln(Tidak Ada Bonus)

    End.

    C.Pernyataan CASEBentuk pernyataan CASE:CASE OF

    : ;

    : ;.

    .

    : ;

    ELSE ;

    END;

  • 7/22/2019 Handout Komputasi Pascal Final

    14/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 14

    variabel-pemilih=daftar-label-1

    Benar

    (True)

    Salah(False)

    Pernyataan-1

    variabel-pemilih=daftar-

    label-2

    variabel-

    pemilih=daftar-label-n

    Pernyataan-n

    PernyataanLain

    Pernyataan-2

    Salah(False)

    Salah(False)

    Benar(True)

    Benar

    (True)

    .....

    Gambar 4. Flowchart Statement CASE

    Variabel pemilih tidak boleh bertipe real. Pernyataan yang akan dijalankan sesuai

    dengan daftar-label yang memuat nilai variabel pemilih. Jika nilai dari variabel pemilih

    tidak ada dalam semua daftar label, maka pernyataan yang akan dijalankan adalah

    pernyataan yang mengikuti ELSE. ELSE dalam pernyataan CASE boleh tidak ada.

    Sama halnya dengan pernyataan IF, Jika pernyataan yang mengikuti daftar-label lebih

    dari satu maka harus diawali oleh Begin dan diakhiri oleh End.

    Contoh :

    1. Program untuk menentukan apakah suatu Character (huruf) yang kita masukkanadalah huruf vokal atau bukan..PROGRAM HURUF;

    USES WINCRT;

    VAR DATA:CHAR;

    BEGIN

    READLN(DATA);

    CASE DATA OF

    'A','I','U','E','O' :writeln('Huruf Besar Vokal');

  • 7/22/2019 Handout Komputasi Pascal Final

    15/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 15

    'a','i','u','e','o' :writeln('Huruf Kecil Vokal');

    ELSE writeln ('Bukan huruf Vokal');

    END;

    END.

    2. Program untuk menentukan apakah suatu Character yang kita masukkan adalahhuruf atau angka..PROGRAM HURUF;

    USES WINCRT;

    VAR DATA:CHAR;

    BEGIN

    READLN(DATA);

    CASE DATA OF

    'A'..'Z' :writeln('Huruf Besar');

    'a'..'z' :writeln('Huruf Kecil');

    '0'..'9' :writeln ('Angka');

    END;END.

    SOAL :

    1. Tuliskan statement Pascal untuk kasus berikut ini:a. Jika mempunyai anak maka hitung: tunjangan anak = tunjangan*banyaknya anakb. Tampilkan tulisan Genap atau Ganjil sesuai dengan data yang dimasukkan.2. Buat program mencari penyelesaian akar dari persamaan kuadrat :

    A X2

    + B X + C = 0Akar persamaan ini dapat memberikan tiga kemungkinan penyelesaian berdasarkan

    nilai D = B2 4 A C:

    a. D > 0 : Akar berlainanb. D = 0 : Akar kembarc. D < 0 : Akar bilangan kompleksPenyelesaian Akar :

    A

    DBX

    212

    =

    (Gunakan Statement IF)

    3. Buat Program untuk menentukan apakah seorang mahasiswa mendapatgrade A, B, C, D atau E berdasarkan nilai yang didapat. (Gunakan

    Statement IF).

    4. Buat program untuk menampilkan proses berikut ini:Ditampilkan menu :

    1. Soto Rp. 5000,-

    2. Bakso Rp. 3000,-

    3. Nasi Pecel Rp. 4000,-

    Selanjutnya ditanyakan mana yang akan dibeli dan jumlah porsinya.

  • 7/22/2019 Handout Komputasi Pascal Final

    16/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 16

    Setelah itu, hitung harga yang harus dibayar, dengan rumus:

    Harga yg hrs dibayar = harga menu yg dipilih * banyaknya porsi

    (Gunakan Statement IF).

    5. Kerjakan kasus 2,3,4 dengan Statement CASE

  • 7/22/2019 Handout Komputasi Pascal Final

    17/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 17

    BAB IV

    PERNYATAAN PERULANGAN

    Pernyataan perulangan adalah pernyataan yang akan menjalankan pernyataan yang

    mengikutinya secara berulang sampai syarat tertertentu terpenuhi. Ada 3 buah pernyataan

    perulangan, yaitu FOR, WHILE dan REPEAT.

    A. Statement FOR

    Statement FOR adalah suatu perintah yang berfungsi untuk melakukan proses

    pengulangan, dimana jumlah pengulangannya sudah diketahui. Bentuk dari statement

    FOR adalah:

    FOR {Variabel} := {Nilai Awal} TO {Nilai Akhir} DO

    BEGIN

    {Statement 1}

    {Statement 2}

    ....

    {Statement n}

    END;

    Benar(True)variabel =

    nilai akhir

    Salah(False)

    variabel:=nilai awal

    Pernyataan

    variabel:=variabel+1

    Gambar 5. Flowchart Statement FOR TO DO

  • 7/22/2019 Handout Komputasi Pascal Final

    18/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 18

    FOR {Variabel} := {Nilai Awal} DOWNTO {Nilai Akhir}

    DO

    BEGIN

    {Statement 1}{Statement 2}

    ....

    {Statement n}

    END;

    Benar(True)variabel =

    nilai akhir

    Salah(False)

    variabel:=nilai awal

    Pernyataan

    variabel:=variabel -1

    Gambar 6. Flowchart Statement FOR DOWNTO DO

    Jika Nilai Awal < Nilai Akhir gunakan statement FOR TO DO. Sedangkan jika Nilai

    Awal > Nilai Akhir gunakan statement FOR DOWNTO DO.

    Contoh :Ingin dibuat program untuk menampilkan deret berikut:

    1,3,5,7,.......suku ke-n

    PROGRAM DERET;

    USES WINCRT;

    VAR I, N:INTEGER;

    BEGIN

    READLN(N);

    FOR I:=1 TO N DO

    WRITELN(2*I-1);

    END.

  • 7/22/2019 Handout Komputasi Pascal Final

    19/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 19

    Contoh :Ingin dibuat program untuk menampilkan huruf M hingga A:

    PROGRAM HURUF;

    USES WINCRT;

    VAR I:CHAR;

    BEGIN

    FOR I:=M DOWNTO A DO

    WRITELN(I);

    END.

    B. Statement FOR BersarangUntuk menangani masalah tertentu, ada kemungkinan statement FOR yang digunakan

    lebih dari satu dan statement FOR yang satu dapat berada didalam statement FOR yang

    lain. Bentuk yang seperti ini disebut FOR Bersarang (nested FOR)

    Contoh :

    Ingin dibuat program untuk menampilkan bentuk seperti berikut ini:

    *

    **

    ***

    ****

    PROGRAM TAMPIL;USES WINCRT;

    VAR

    I,J:INTEGER;

    BEGIN

    FOR I:=1 TO 4 DO

    BEGIN

    FOR J:=1 TO I DO

    WRITE(*);

    WRITELN;

    END;

    END.

    C.Penggunaan Statement FOR Dalam Persamaan yang MengandungSimbol atau

    Untuk menangani persamaan matematika/statistika yang mengandung simbol atau ,

    perlu bantuan statement pengulangan. Diberikan bentuk persamaan sebagai berikut:

  • 7/22/2019 Handout Komputasi Pascal Final

    20/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 20

    =

    +=n

    i

    i bdatay1

    )(

    Dari bentuk tersebut diatas, terlihat bahwa ada 3 komponen penting yaitu:

    Hasil penjumlahan disimpan di variable Y Yang masuk kedalam sigma adalah (DATAi+B) Variabel penghitung (indeks) adalah I dan berjalan mulai 1 sampai dengan N

    Bentuk pengulangan dengan menggunakan FOR, adalah:

    READLN(N);

    Y:=0;

    FOR I:=1 TO N DO

    BEGIN

    READLN(DATA);

    Y:=Y+(DATA+B)

    END;

    WRITELN(Y)

    N diberi harga tertentu

    Y diberi harga awal 0 karena bentuk Sigma

    Variable penghitung I berjalan mulai 1 hingga N

    Mulai pengulangan

    Membaca Data

    Ybaru= Ylama+{persamaan yang masuk dalanm sigma}

    Akhir pengulangan

    Cetak nilai Y

    Untuk persamaan:

    =

    +=n

    i

    i bdatay1

    )(

    Dari bentuk tersebut diatas, terlihat bahwa ada 3 komponen penting yaitu:

    Hasil perkalian disimpan di variable Y Yang masuk kedalam phi adalah (DATAi+B) Variabel penghitung (indeks) adalah I dan berjalan mulai 1 sampai dengan N

    Bentuk pengulangan dengan menggunakan FOR, adalah:

    READLN(N);

    Y:=1;

    FOR I:=1 TO N DO

    BEGIN

    READLN(DATA);

    Y:=Y*(DATA+B)

    END;

    WRITELN(Y)

    N diberi harga tertentu

    Y diberi harga awal 1 karena bentuk phi

    Variable penghitung I berjalan mulai 1 hingga N

    Mulai pengulangan

    Membaca Data

    Ybaru= Ylama*{persamaan yang masuk dalam sigma}

    Akhir pengulangan

    Cetak nilai Y

    D.Statement WHILEStatement WHILE adalah suatu perintah yang berfungsi untuk melakukan proses

    pengulangan, dimana pengulangan akan terus dilakukan jika kondisi tertentu dipenuhi.

    Jika banyaknya pengulangan diketahui tapi kenaikan atau penurunan pengulangan

    tidak sebesar satu, statement IF tidak cocok untuk digunakan. Sebagai alternatif dapat

    digunakan statement WHILE atau REPEAT. Sedangkan jika banyaknya pengulangan

  • 7/22/2019 Handout Komputasi Pascal Final

    21/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 21

    tidak diketahui maka statement IF tidak dapat digunakan, sehingga harus digunakan

    statement WHILE atau REPEAT. Bentuk dari statement WHILE adalah:

    WHILE {Kondisi} DO

    BEGIN

    {Statement 1}{Statement 2}

    ....

    {Statement n}

    END;

    Benar(True)

    Kondisi

    Salah

    (False)

    Pernyataan

    AkhirWHILE

    Gambar 6. Flowchart Statement WHILE

    Contoh :Ingin dibuat program untuk menampilkan deret berikut:

    1,3,5,7,.......suku ke-n

    PROGRAM DERET;

    USES WINCRT;

    VAR

    N,I : INTEGER;

    BEGIN

    READLN(N);

    I:=1;

    WHILE I

  • 7/22/2019 Handout Komputasi Pascal Final

    22/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 22

    E. Statement WHILE untuk Jumlah Pengulangan Yang Diketahui

    Statement WHILE dapat digunakan untuk pengulangan dengan jumlah pengulangan yang

    diketahui. Selain untuk pengulangan dengan kenaikan dan penurunan sebesar 1, statement

    WHILE dapat digunakan juga pada pengulangan dengan kenaikan dan penurunan tidak

    sebesar 1.

    Contoh:Program untuk pengulangan dengan kenaikan sebesar 1 atau menggantikan perintah:

    For i:=1 to 20 do writeln(i)

    Program Ulang;

    Uses Wincrt;

    Var

    i:integer;

    BeginI:=1; {nilai awal}

    While i

  • 7/22/2019 Handout Komputasi Pascal Final

    23/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 23

    Contoh:Program untuk menampilkan bilangan real dari 1 sampai 10 dengan kenaikan sebesar 0.5.

    Program Ulang;

    Uses Wincrt;

    Vari:real;

    Begin

    I:=1; {nilai awal}

    While i

  • 7/22/2019 Handout Komputasi Pascal Final

    24/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 24

    Contoh :Ingin dibuat program untuk menampilkan bentuk seperti berikut ini:

    *

    *****

    ****

    PROGRAM TAMPIL;

    USES WINCRT;

    VAR

    I,J:INTEGER;

    BEGIN

    I:=1;

    WHILE I

  • 7/22/2019 Handout Komputasi Pascal Final

    25/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 25

    Repeat

    Benar(True)

    Kondisi

    Salah

    (False)

    Pernyataan

    Akhir

    Repeat

    Gambar 6. Flowchart Statement REPEAT

    Contoh :Ingin dibuat program untuk menampilkan deret berikut: 1,3,5,7,.......suku ke-n

    PROGRAM DERET;

    USES WINCRT;

    VAR

    N,I:INTEGER;

    BEGINREADLN(N);

    I:=1;

    REPEAT

    WRITELN(2*I-1);

    I:=I+1;

    UNTIL I > N;

    END.

    I. Statement REPEAT untuk Jumlah Pengulangan Yang Diketahui

    Statement REPEAT dapat digunakan untuk pengulangan dengan jumlah pengulangan yang

    diketahui dan nilai kenaikan atau penurunan sebesar nilai tertentu (sebesar 1 atau tidaksebesar 1).

    Contoh:Program untuk pengulangan dengan kenaikan sebesar 1 atau menggantikan

    perintah:

    For i:=1 to 20 do writeln(i)

  • 7/22/2019 Handout Komputasi Pascal Final

    26/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 26

    Program Ulang;

    Uses Wincrt;

    Var

    i:integer;

    Begin

    i:=1; {nilai awal}

    Repeat

    Writeln(i);

    i:=i+1; {menaikkan nilai i}

    Until i > 20;

    End.

    J. Statement REPEAT untuk Jumlah Pengulangan Yang TidakDiketahui

    Jika dalam proses pengulangan tidak diketahui banyaknya pengulangan, maka dapat

    digunakan statement WHILE atau REPEAT.

    Contoh:Program untuk menampilkan karakter yang dimasukkan lewat keyboard secara

    berulang-ulang hingga karakter * dimasukkan.

    Program Ulang;

    Uses Wincrt;Var

    x:char;

    Begin

    Repeat

    Writel(Masukkan bilangan: );

    Readln (x);

    Until x = *;

    End.

    K. Statement REPEAT Bersarang (Nested REPEAT)

    Sama halnya dengan statement FOR dan WHILE, ada kemungkinan statement REPEAT

    yang digunakan lebih dari satu dan statement REPEAT yang satu dapat berada didalam

    statement REPEAT yang lain.

  • 7/22/2019 Handout Komputasi Pascal Final

    27/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 27

    Contoh :Ingin dibuat program untuk menampilkan bentuk seperti berikut ini:

    *

    **

    *******

    PROGRAM TAMPIL;

    USES WINCRT;

    VAR

    I,J:INTEGER;

    BEGIN

    I:=1;

    REPEAT

    J:=1;

    REPEAT

    WRITE(*);J:=J+1;

    UNTIL J > I ;

    WRITELN;

    I:=I+1;

    UNTIL I > 4;

    END.

    SOAL

    1.

    Apa hasil dari cuplikan program dibawah ini:a. N:=10;

    I:=1;

    K:=0;

    REPEAT

    K:=K+I;

    WRITELN(K);

    I:=I+1;

    UNTIL I > N;

    b. FOR J:=1 TO 5

    FOR K:=1 TO 5

    WRITELN(J*2, ,K*3);

    2. Buat program untuk menampilkan deret (sampai suku ke-n) : 1 3 9 27 ......3. Buat program yang pada awalnya meminta data lebar dan tinggi, lalu buat

    gambar persegipanjang berdasarkan data lebar dan tinggi. Misalkan lebar=10

    dan tinggi=4, maka gambar yang dihasilkan adalah:

    **********

    **********

    **********

    **********

  • 7/22/2019 Handout Komputasi Pascal Final

    28/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 28

    4. Buat tampilan berikut ini:a. 111

    222

    333

    444

    b. 122

    333

    4444

    c. 112

    123

    1234

    d. 121

    321

    4321

    5. Buat program untuk menghitung:a. abb. n!c. menghitung rata-rata

    Catatan : Untuk soal no 2, 3, 4 dan 5 masing-masing dikerjakan dengan

    menggunakan statement FOR, WHILE dan REPEAT.

  • 7/22/2019 Handout Komputasi Pascal Final

    29/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 29

    BAGIAN V

    ARRAY

    A. Array

    Array (larik) menyatakan tipe data terstruktur yang berupa kumpulan elemen-elemen

    dengan tipe data yang sama. Tipe Array dapat ditulis sebagai berikut:

    Array [Indeks_1,,Indeks_n] of Tipe_Dasar

    Array Dimensi SatuArray berdimensi satu merupakan array dengan ciri memiliki tipe indeks hanya satu buah.

    Contoh deklarasi variabel dengan tipe array berdimensi satu:

    VAR X : ARRAY[1..10] of Integer;

    Untuk menyimpan suatu nilai kedalam lokasi array, dapat dilakukan dengan instruksi :

    D[i]:=nilai;

    atau dimana i adalah indeks array

    READLN(D[i]);

    Sedangkan untuk menampilkan nilai yang ada di salah satu elemen array dapat dengan

    cara:

    WRITELN(D[i]); dimana i adalah indeks elemen array

    Array Dimensi DuaArray berdimensi dua merupakan array dengan ciri memiliki tipe indeks dua buah. Contoh

    deklarasi variabel dengan tipe array berdimensi dua:

    VAR Y : ARRAY[1..5,1..10] of Integer;

    Untuk menyimpan suatu nilai kedalam lokasi array, dapat dilakukan dengan instruksi :

    D[i,j]:=nilai;

    atau dimana i,j adalah indeks array

    READLN(D[i,j]);

    Sedangkan untuk menampilkan nilai yang ada di salah satu elemen array dapat dengan

    cara:

    WRITELN(D[i,j]); dimana i,j adalah indeks elemen array

  • 7/22/2019 Handout Komputasi Pascal Final

    30/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 30

    Contoh :1. Menghitung rata-rata dari n buah data

    PROGRAM RATA2;

    USES WINCRT;

    VARI,N :INTEGER;

    RATA:REAL;

    DATA:ARRAY [1..50] OF REAL;

    BEGIN

    READLN(N);

    FOR I:=1 TO N DO

    BEGIN

    READLN(DATA[I]);

    END;

    RATA:=0;

    FOR I:=1 TO N DOBEGIN

    RATA:=RATA+DATA[I];

    END;

    WRITELN(RATA=,RATA/N);

    END.

    2. Menentukan matriks transpose.PROGRAM KEBALIKAN;

    USES WINCRT;

    VAR

    BARIS,KOLOM,I,J:INTEGER;

    A,B:ARRAY [1..20,1..20] OF REAL;

    BEGIN

    READLN(BARIS);

    READLN(KOLOM);

    {baca data matriks A}

    FOR I :=1 TO BARIS DO

    BEGIN

    FOR J:=1 TO KOLOM DO

    BEGINREADLN(A[I,J]);

    END;

    END;

    {B=A}

    FOR I :=1 TO KOLOM DO

    BEGIN

    FOR J:=1 TO BARIS DO

  • 7/22/2019 Handout Komputasi Pascal Final

    31/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 31

    BEGIN

    B[I,J]:=A[J,I];

    END;

    END;

    {mencetak Matriks B}FOR I :=1 TO KOLOM DO

    BEGIN

    FOR J:=1 TO BARIS DO

    BEGIN

    WRITE(B[I,J]:0:2, );

    END;

    WRITELN;

    END;

    END.

    SOAL:

    1. Buat program untuk menghitung varians dari n buah data2. Buat program untuk mengurutkan n buah data3. Buat program menampilkan bil prima kurang dari 100 (yaitu 2, 3, 5, 7, .... 997)4. Buat program untuk mengalikan dua buah vektor (vektor baris maupun vektor

    kolom).

    5. Buat program untuk membuat matriks transpose.

  • 7/22/2019 Handout Komputasi Pascal Final

    32/33

    Komputasi________________________________________________________________

    D3 Statististika ITS____________________________________________________Hal 32

    BAGIAN VI

    FILE TEKS

    A. File Teks

    Dengan bekerja pada file, data atau program yang dibuat tidak akan hilang. Salah satu tipe

    file dalam Pascal adalah File Teks. File teks mempunyai ciri yaitu karakter yang

    menyebabkan baris baru. Oleh karena itulah elemen pada file teks adalah baris. Tanda

    akhir baris pada file teks adalah carriage return(CR) dan line feed(LF).

    B. Deklarasi File Teks

    Contoh cara mendeklarasikan file teks dalam Pascal adalah sebagai berikut:

    VarFilevar : text; {Filevar adalah variabel teks file}

    C. Statement dalam File Teks

    1. Assign(filevar,filename);Digunakanuntuk mengawali semua operasi yang melibatkan File. Filevar adalah

    variabel teks file yang sudah dideklarasikan. Sedangkanfilename adalah nama file

    yang bertipe string.

    2. Rewrite(filevar)Digunakan untuk membuka dan menciptakan file baru pada disk.

    3. Reset(filevar)Digunakan untuk membuka file yang sudah ada di disk.

    4. Write(filevar, x)Digunakan untuk menyimpan data yang ada pada variabel x kedalam file dan penunjuk

    file akan bergeser ke arah sesudah data.

    5. Writeln(filevar, x)Digunakan untuk menyimpan data yang ada pada variabel x kedalam file dan penunjuk

    file akan bergeser ke baris berikutnya.

    6. Read(filevar, x)Digunakan untuk membaca sebuah data yang ada pada file dan disimpan dalam

    variabel x setelah itu penunjuk file akan bergeser ke arah sesudah data.

    7. Readln(filevar, data)Digunakan untuk membaca sebuah data yang ada pada file dan disimpan dalam

    variabel x setelah itu penunjuk file akan bergeser ke baris berikutnya.

  • 7/22/2019 Handout Komputasi Pascal Final

    33/33

    Komputasi________________________________________________________________

    8. Close(filevar)Untuk menutup file yang sedang aktif.

    Contoh :

    Ingin dibuat program untuk menyimpan data beripa bilangan 1 sampai 10 kedalamfile.

    PROGRAM TAMPIL;

    USES WINCRT;

    VAR

    F:TEXT;

    I:INTEGER;

    BEGIN

    Assign(f,c:\hasil.txt);

    Rewrite(f);

    For i:=1 to 10 do

    Writeln(f,i);Close(f);

    END.

    SOAL:

    1. Buat program untuk menyimpan n buah data yang dimasukkan lewat keyboard.2. Baca data yang sudah disimpan pada soal no 1) lalu hitung nilai rata-rata dan

    varians nya

    3. Buat program untuk mengurutkan n buah data yang disimpan pada soal no 1) danhasil urutannya disimpan pada file lain.