Handout Komputasi Pascal Final
Handout Komputasi Pascal Final
Menu Bar Adalah 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 memberikan perintah pada komputer
D3 Statististika ITS____________________________________________________Hal 1
Komputasi________________________________________________________________
Kepala Program
USES <deklarasi unit> LABEL <deklarasi label> CONST <deklarasi konstanta> TYPE <deklarasi tipe> VAR <deklarasi variabel> <deklarasi fungsi dan prosedur> Bagian Deklarasi
Bagian Pernyataan
Kepala Program Dalam Pascal, posisi kepala program adalah diawal program. Sintak dari kepala program adalah: Program <Nama> (<Daftar parameter>) Penulisan Nama boleh sembarang, tapi harus dimulai dengan huruf dan bukan Reserve 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: Program Hitung_Luas; Program Soal_1; Program Segitiga (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
D3 Statististika ITS____________________________________________________Hal 2
Komputasi________________________________________________________________
harus ada semua Sebuah program bisa saja hanya mengandung deklarasi variabel. Berikut ini adalah bentuk masing-masing deklarasi.
No
1
Jenis deklarasi
Unit
Bentuk Deklarasi
USES <nama unit-1>, <nama unit-2>,...,<nama unit-n>; Contoh: USES Wincrt, unit1,unit2;
Label
LABEL <nama label-1>, <nama label-2>,...,<nama label-n>; Contoh: LABEL 50, Penutup, Selesai;
Konstanta
CONST <nama konstanta-1> = <nilai konstanta-2>; . . . <nama konstanta-n> = <nilai konstanta-n>; Contoh: CONST MaksData=100; Konversi=25;
Tipe
TYPE <nama tipe-1> = <bentuk tipe-2>; . . . <nama tipe-n> = <bentuk tipe-n>; Contoh: TYPE Tanggal=1..31;
Variabel
VAR <nama variabel-1> = <tipe variabel-2>; . . . <nama variabel-n> = <tipe variabel-n>; Contoh: VAR Nilai : Real; Jumlah : Integer; Tgl:Tanggal;
Function <nama fungsi>(<daftar paramater>):<type fungsi>; atau Procedure <nama prosedure>(<daftar paramater>); Contoh: Function Pangkat(a,b:integer):integer; Procedure Tukar (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 (;). Pernyataanpernyataan yang disusun mengikuti algoritma tertentu diletakkan pada bagian ini.
D3 Statististika ITS____________________________________________________Hal 3
Komputasi________________________________________________________________
Pembagian Real
A/B
Pertambahan
A+B
Pengurangan
A-B
DIV MOD 2 Unary + 3 Logika (logical) NOT AND OR = <> > < >= <= 5 String +
A DIV B A MOD B +A -A NOT(A) A AND B A OR B A=B A <> B A>B A<B A >= B A <= B A+B
Hubungan (Relational)
Sama dengan Tidak sama dengan Lebih besar dari Kurang dari Lebih besar atau sama dengan Lebih kecil atau sama dengan Menggabung dua buah nilai string
D3 Statististika ITS____________________________________________________Hal 4
Komputasi________________________________________________________________
Operator dalam Pascal mempunyai hirarki. Tabel berikut ini menunjukkan prioritas atau hirarki pengerjaan operator dalam Pascal.
Kelompok Operator
NOT * / DIV MOD AND + - OR = <> <= >=
Prioritas
1 2 3 4
Contoh :
Berikut ini adalah contoh program Pascal sederhana Program tambah; Uses wincrt; Var A,B,C:integer; Begin A:=70; B:=100; C:=A+B; Writeln(C); End. Kepala Program
Bagian Deklarasi
Bagian Pernyataan
SOAL
1. Sebutkan jenis konstanta berikut ini: (real, integer, char, boolean atau string) a. 87.767 d. False g. True b. 100 e. Test h. 1.5E+8 c. 0 f. 5.5 i. 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. A = B + C b.
DE
c. A = B + C F
D
2 e. D = B 4. A.C
2.E
A=
B F D.E
d. A = B F + G
D.E H +I
f. A = ( B + C ) D E H + J
F +G I
D3 Statististika ITS____________________________________________________Hal 5
Komputasi________________________________________________________________
Contoh :
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);
D3 Statististika ITS____________________________________________________Hal 6
Komputasi________________________________________________________________
WRITE atau WRITELN dapat menerima argumen lebih dari satu. Jika argumen lebih dari 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 baris kosong; 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 :
D3 Statististika ITS____________________________________________________Hal 7
Komputasi________________________________________________________________
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 WRITELN (Data : 10 : 2); WRITELN (12.42 : 10 : 0);
Contoh :
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 :
D3 Statististika ITS____________________________________________________Hal 8
Komputasi________________________________________________________________
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. Kelebihan data 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);
D3 Statististika ITS____________________________________________________Hal 9
Komputasi________________________________________________________________
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
Mencari nilai maksimum dari ketiga buah data Input : Tiga buah Data X1, X2 dan X3 Proses: mencari nilai maksimum Output: nilai maksimum dari tiga buah data tersebut.
D3 Statististika ITS____________________________________________________Hal 10
Komputasi________________________________________________________________
A. Pernyataan IF
Bentuk pernyataan IF: IF <syarat logika> THEN <Pernyataan>;
Syarat Logika
Salah (False)
Benar (True)
Pernyataan
IF <syarat logika>
Syarat Logika
Salah (False)
Benar (True)
Pernyataan-1
Pernyataan-2
Komputasi________________________________________________________________
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 <syarat logika> THEN begin <Pernyataan-11>; <Pernyataan-12>; . . <Pernyataan-1n>; end ELSE begin <Pernyataan-21>; <Pernyataan-22>; . . <Pernyataan-2m>; 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.
D3 Statististika ITS____________________________________________________Hal 12
Komputasi________________________________________________________________
Syarat Logika-1
Benar (True)
Salah (False)
Syarat Logika-2
Benar (True)
Salah (False)
Syarat Logika-3
Benar (True)
Salah (False)
Pernyataan-1
Pernyataan-2
Pernyataan-3
Pernyataan-4
Contoh :
Program untuk menentukan bonus pegawai berdasarkan total penjualan. Kriteria bonus adalah sebagai berikut: Total Penjualan (Rp) Total 500.000 250.000Total<500.000 50.000Total<250.000 Total < 50.000 Program bonus; Uses wincrt; Var Total :real; Begin Readln(Total); If Total >= 500000 Then writeln(Bonus = 30.000) Else If Total >= 250000 Then writeln(Bonus = 20.000) Else If Total >= 50000 Then writeln(Bonus = 10.000) Else writeln(Tidak Ada Bonus) End. Bonus Yang Didapat (Rp) 30.000 20.000 10.000 0
C. Pernyataan CASE
Bentuk pernyataan CASE: CASE <variabel-pemilih> OF <daftar-label-1> : <Pernyataan-1>; <daftar-label-2> : <Pernyataan-2>;
. .
Komputasi________________________________________________________________
Benar (True)
Pernyataan-1
Benar (True)
Pernyataan-2
Benar (True)
Pernyataan-n
.....
Salah (False)
Pernyataan Lain
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 masukkan adalah 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');
D3 Statististika ITS____________________________________________________Hal 14
Komputasi________________________________________________________________
'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 adalah huruf 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 anak b. Tampilkan tulisan Genap atau Ganjil sesuai dengan data yang dimasukkan. 2. Buat program mencari penyelesaian akar dari persamaan kuadrat : A X2 + B X + C = 0 Akar persamaan ini dapat memberikan tiga kemungkinan penyelesaian berdasarkan nilai D = B2 4 A C: a. D > 0 : Akar berlainan b. D = 0 : Akar kembar c. D < 0 : Akar bilangan kompleks B D Penyelesaian Akar : X 12 = 2A (Gunakan Statement IF) 3. Buat Program untuk menentukan apakah seorang mahasiswa mendapat grade 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.
D3 Statististika ITS____________________________________________________Hal 15
Komputasi________________________________________________________________
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
D3 Statististika ITS____________________________________________________Hal 16
Komputasi________________________________________________________________
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;
variabel:=nilai awal
Benar (True)
Pernyataan
variabel:=variabel+1
D3 Statististika ITS____________________________________________________Hal 17
Komputasi________________________________________________________________
FOR {Variabel} := {Nilai Awal} DOWNTO {Nilai Akhir} DO BEGIN {Statement 1} {Statement 2} .... {Statement n} END;
variabel:=nilai awal
Benar (True)
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.
D3 Statististika ITS____________________________________________________Hal 18
Komputasi________________________________________________________________
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.
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.
D3 Statististika ITS____________________________________________________Hal 19
Komputasi________________________________________________________________
y = (data i + b)
i =1
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
y = (data i + b)
i =1
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 WHILE
Statement 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
D3 Statististika ITS____________________________________________________Hal 20
Komputasi________________________________________________________________
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;
Kondisi
Benar (True)
Salah (False)
Akhir WHILE
Pernyataan
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 <= N DO BEGIN WRITELN(2*I-1); I:=I+1; END; END.
D3 Statististika ITS____________________________________________________Hal 21
Komputasi________________________________________________________________
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; Begin I:=1; {nilai awal} While i<= 20 do Begin Writeln(i); i:=i+1; End; End.
{menaikkan nilai i}
Yang Diingat !
Ada nilai awal terhadap variabel penghitung, yaitu: i:=1 Ada pertambahan nilai terhadap variabel penghitung, yaitu: i:=i+1 Ada kondisi yang menyebabkan pengulangan berhenti, yaitu: While i<= 20 do
Contoh:
Program untuk pengulangan dengan penurunan sebesar 1 atau menggantikan perintah: For i:=20 downto 1 do writeln(i) Program Ulang; Uses Wincrt; Var i:integer; Begin I:=20; {nilai awal} While i>0 do Begin Writeln(i); i:=i-1; End; End.
{menurunkan nilai i}
D3 Statististika ITS____________________________________________________Hal 22
Komputasi________________________________________________________________
Contoh:
Program untuk menampilkan bilangan real dari 1 sampai 10 dengan kenaikan sebesar 0.5. Program Ulang; Uses Wincrt; Var i:real; Begin I:=1; {nilai awal} While i<= 10 do Begin Writeln(i:5:2); i:=i+0.5; End; End.
{menaikkan nilai i}
Contoh:
Program untuk menampilkan karakter yang dimasukkan lewat keyboard secara berulangulang hingga karakter * dimasukkan. Program Ulang; Uses Wincrt; Var x:char; Begin x:=a; While x <> * do Begin Writeln(Masukkan bilangan: ); Readln (x); End; End.
D3 Statististika ITS____________________________________________________Hal 23
Komputasi________________________________________________________________
Contoh :
Ingin dibuat program untuk menampilkan bentuk seperti berikut ini: * ** *** **** PROGRAM TAMPIL; USES WINCRT; VAR I,J:INTEGER; BEGIN I:=1; WHILE I <= 4 DO BEGIN J:=1; WHILE J <=I DO BEGIN WRITE(*); J:=J+1; END; WRITELN; I:=I+1; END; END.
H. Statement REPEAT
Statement REPEAT adalah suatu perintah yang berfungsi untuk melakukan proses pengulangan, dimana pengulangan akan berhenti jika kondisi yang tertulis di akhir pengulangan dipenuhi. Sintak dari statement REPEAT adalah: REPEAT {Statement 1} {Statement 2} .... {Statement n} UNTIL {Kondisi};
D3 Statististika ITS____________________________________________________Hal 24
Komputasi________________________________________________________________
Repeat
Pernyataan
Salah (False)
Kondisi
Benar (True) Akhir Repeat
Contoh :
Ingin dibuat program untuk menampilkan deret berikut: PROGRAM DERET; USES WINCRT; VAR N,I:INTEGER; BEGIN READLN(N); I:=1; REPEAT WRITELN(2*I-1); I:=I+1; UNTIL I > N; END. 1,3,5,7,.......suku ke-n
Contoh:
Program untuk pengulangan dengan kenaikan sebesar 1 atau menggantikan perintah: For i:=1 to 20 do writeln(i)
D3 Statististika ITS____________________________________________________Hal 25
Komputasi________________________________________________________________
Program Ulang; Uses Wincrt; Var i:integer; Begin i:=1; {nilai awal} Repeat Writeln(i); i:=i+1; Until i > 20; End.
{menaikkan nilai i}
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.
D3 Statististika ITS____________________________________________________Hal 26
Komputasi________________________________________________________________
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; b. FOR J:=1 TO 5 I:=1; FOR K:=1 TO 5 K:=0; WRITELN(J*2, ,K*3); REPEAT K:=K+I; WRITELN(K); I:=I+1; UNTIL I > N;
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: ********** ********** ********** **********
D3 Statististika ITS____________________________________________________Hal 27
Komputasi________________________________________________________________
4. Buat tampilan berikut ini: a. 111 b. 1 222 22 333 333 444 4444 5. Buat program untuk menghitung: a. ab b. n! c. menghitung rata-rata
c. 1 12 123 1234
d. 1 21 321 4321
Catatan : Untuk soal no 2, 3, 4 dan 5 masing-masing dikerjakan dengan menggunakan statement FOR, WHILE dan REPEAT.
D3 Statististika ITS____________________________________________________Hal 28
Komputasi________________________________________________________________
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
Sedangkan untuk menampilkan nilai yang ada di salah satu elemen array dapat dengan cara: WRITELN(D[i]); dimana i adalah indeks elemen array
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
D3 Statististika ITS____________________________________________________Hal 29
Komputasi________________________________________________________________
Contoh :
1. Menghitung rata-rata dari n buah data PROGRAM RATA2; USES WINCRT; VAR I,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 DO BEGIN 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 BEGIN READLN(A[I,J]); END; END; {B=A} FOR I :=1 TO KOLOM DO BEGIN FOR J:=1 TO BARIS DO
D3 Statististika ITS____________________________________________________Hal 30
Komputasi________________________________________________________________
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. 2. 3. 4. Buat program untuk menghitung varians dari n buah data Buat program untuk mengurutkan n buah data Buat program menampilkan bil prima kurang dari 100 (yaitu 2, 3, 5, 7, .... 997) Buat program untuk mengalikan dua buah vektor (vektor baris maupun vektor kolom). 5. Buat program untuk membuat matriks transpose.
D3 Statististika ITS____________________________________________________Hal 31
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 32
Komputasi________________________________________________________________
Contoh :
Ingin dibuat program untuk menyimpan data beripa bilangan 1 sampai 10 kedalam file. 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) dan hasil urutannya disimpan pada file lain.
D3 Statististika ITS____________________________________________________Hal 33