Anda di halaman 1dari 13

Tutorial DasarTurboPascal 7.

0
Oleh: Patrisius Bimasakti

Apa itu Turbo Pascal? Pascal merupakan suatu bahasa komputer tingkat tinggi yang dibuat sekitar tahun 1970 oleh Niklaus Wirth dan digunakan untuk pendidikan komputer. Nama Pascal diambil dari seorang ahli matematika yang bernama Blaise Pascal yang menemukan mesin hitung pertama. Bahasa Pascal dirancang untuk menyelesaikan masalah dari berbagai kalangan pemakai, mulai dari para mahasiswa, pendidik, dan ilmuwan. Srtuktur Pascal program ... ; { Program heading } uses ... ; { Uses clause } label ... ; { Labels } const ... ; { Constants } type ... ; { Types } var ... ; { Variables } procedure ... ; { Procedures } function ... ; { Functions } begin statement; { Statements } ... end. Contoh program Pascal sederhana Program tutorial_pertamaku; Uses crt; Begin Clrscr; Writeln(halo ini tugas pertamaku); Readln; End. Type variable Pascal yang di sediakan: 1. Ordinal type Type data yang mempunyai urutan pasti. Dan di bagi menjadi: -Integer Type variable yang beguna untuk pengolahan data yang bulat, type ini masih terbagi atas berberapa menurut jangkauan data dan ukurannya : Tipe variable integer: Type Jangkuan Ukuran Shortint Word -128..127 0..65535
PATRISIUS BIMASAKTI TH. 2011

8 bit 16 biT

Integer Longint Byte

-32768..32767 -2147483648..2147483647 0..255

16 bit 32 bit 8 bit

- Char Type variabel yang berguna untuk pengolahan character ASCII, type character ini penulisannya ditandai dengan dua buah petik tunggal seperti : 'A', '3','*',#7 untuk menyatakan ' harus ditulis '''' - Boolean Type varibale yang berguna untuk pengolahan hal yang hanya mempunyai dua ketentuan yaitu benar(TRUE) dan salah(FALSE) saja. 2.Real types Type variable yang beguna untuk pengolahan data yang tidak bulat, untuk type real ini juga terbagi atas beberapa : Type Jangkauan Ketelitian Ukuran Real 2.9e-39..1.7e38 11-12 digit 6 bit Single 1.5e-45..3.4e38 7-8 7-8 digit 4 bit Double 5.0e-324..1.7e308 15-16 digit 8 bit Extended 3.4e-4932..1.1e4932 19-20 digit 10 bit Comp -9.2e18..9.2e18 19-20 digit 8 bit Untuk pengolahan type variabel diatas di sediakan berbagai jenis operator antara lain: Operator Integer type Real type + Penjumlahan Penjumlahan Pengurangan Pengurangan * Perkalian Perkalian / Pembagian Pembagian DIV Hasil bagi MOD Sisa Bagi Operator NOT AND OR XOR SHR SHL Type Bitwise Negation Bitwise AND Bitwise inclusive OR Bitwise exclusive OR Bitwise shift-left Bitwise shift-right Boolean type Logical Negation Logical AND Logical inclusive OR Logical exclusive OR

Operator relasi yang mengembalikan hasil Boolean Operator Fungsi := Menyatakan nilai = Sama dengan <> Tidak sama dengan

PATRISIUS BIMASAKTI

TH. 2011

< > <= >= Cara menggunakan variable di dalam pascal Program tutor2_var; Uses crt; Var name: string; Umur: byte; Begin Clrscr; Write(masukkan nama: ); readln(name); Write(masukkan umur: ); readln(umur); Write(hai nama saya ,name); Write(saya berumur ,umur); Readln; End.

Lebih kecil Lebih besar Lebih kecil atau sama dengan Lebih besar atau sama dengan

Cara membatasi jumlah karakter pada variable Program tutor3_var; Uses crt; Var name: string[20]; {dibatasi sebanyak 20 karakter} Umur: byte[3]; {dibatasi sebanyak 3 karakter} Begin Clrscr; Write(masukkan nama: ); readln(name); Write(masukkan umur: ); readln(umur); Write(hai nama saya ,name); Write(saya berumur ,umur); Readln; End. Program penghitungan matematika pada pascal Program tutor4_var; Uses crt; Var a,b,c,d,e,f : real Begin Clrscr; a:=60; b:=6;

PATRISIUS BIMASAKTI

TH. 2011

c:=a+b; d:=a-b; e:=a*b; f:=a/b; writeln(hasil readln; writeln(hasil readln; writeln(hasil readln; writeln(hasil end.

{pembagian hanya dapat dengan variable real} penjumlahan ,c:2:2);{:2:2 berguna untuk membatasi tempat decimal} pengurangan ,d:2:2); perkalian ,e:2:2); pembagian ,f:2:2);

Menggunakan posisi kursor Program tutor5_gotoxy; Begin Clrscr; Gotoxy(5,6); Writeln(saya sedang belajar); readln; Gotoxy(9,10); Writeln(turbo); readln; Gotoxy(10,18); Writeln(pascal 7.0); readln; End. Konvensi Penjumlah (+), Pengurangan (-), dan Perkalian (*) : integer dengan integer = integer integer dengan real = real real dengan real = real Konvensi Pembagian (/) : Selalu menghasilkan real. Pembagian bulat dengan Div : Menghasilkan Integer.

Menggunakan if_else Program tutor6_if_else; Uses crt; Var angka1,angka2 : longint; Begin Clrscr; Write(angka pertama: ); readln(angka1); Write(angka kedua: ); readln(angka2);

PATRISIUS BIMASAKTI

TH. 2011

Begin Writeln(==========================); Writeln(perbandingan angka antara: ,angka1, dan ,angka2); If angka1 < angka2 then Writeln(angka yang lebih besar adalah: ,angka2) Else writeln(angka yang lebih besar adalah: ,angka1); Readln; End; End. Apa yang disebut looping? Secara sederhana looping diartikan sebagai proses berulang terhadap statement maupun serangkaian statement lebih dari satu kali. Contoh program looping a. for Program tutor7_looping_for; Uses crt; Var i: integer; Begin Clrscr; For i:= 1 to 5 do write(ini yang ke ,i); readln; end. b. While Program tutor8_looping_while; Uses crt; Var i: integer; Lagi: char; Begin Lagi:= (y); While (lagi = y) or (lagi = y) do begin Clrscr; for i:= 10 downto 1 do writeln(ini yang ke ,i); readln; write(mau hitung lagi apa tidak (y/t)); readln(lagi); end; end. c. Case Program tutor9_case; Var pilih : char;

PATRISIUS BIMASAKTI

TH. 2011

Begin Clrscr; Write(pilih 1 atau 2: ); readln(pilih); Case pilih of 1: write(anda memilih 1); 2: write(anda memilih 2); Else write(anda memilih yang lain); End; Readln; End. d. Procedure dan Repeat program tutor10_pro_re; uses crt; var pilih : integer; {ini adalah procedure} procedure penjumlahan; var a,b,c : integer; begin writeln(penjumlahan); write(nilai 1: ); readln(a); write(nilai 2: ); readln(b); write(hasil: ,a+b); readln; end; procedure pengurangan; var a,b,c: integer; begin writeln(pengurangan); write(nilai 1: ); readln(a); write(nilai 2: ); readln(b); write(hasil: ,a-b); readln; end; procedure perkalian; var a,b,c: integer; begin writeln(perkalian); write(nilai q: ); readln(a); write(nilai 2: ); readln(b); write(hasil: ,a*b); readln; end; procedure pembagian; var a,b,c: real; begin writeln(pembagian);

PATRISIUS BIMASAKTI

TH. 2011

write(nilai 1: ); readln(a); write(nilai 2: ); readln(b); write(hasil: ,a/b); readln; end; {ini adlah bagian utama} begin repeat clrscr; writeln(PILHAN); writeln(______________________________); writeln(1. Penjumlahan); writeln(2. Pengurangan); writeln(3. Perkalian); writeln(4. Pembagian); writeln(5. Exit); writeln(______________________________); writeln; write(silahkan anda memilih angka); readln(pilih); {ini bagian pemanggilan procedure} 1 : penjumlahan; 2 : pengurangan; 3 : perkalian; 4 : pembagian; End; Until pilih = 5; End. Random dan randomize Kedua berfungsi menghasilkan bilangan random, bilangan random sering digunakan untuk mensimulasikan dunia nyata yang penuh dengan ketidakpastian. Kita tidak akan mendiskusikan hal ini, tetapi pemakaian kedua perintah tersebut. Randomize digunakan untuk menginisialisasi suatu bibit random secara acak yang cukup dipanggil sekali saja. Random digunakan untuk mendapatkan bilangan random(bilangan), yang akan menghasilkan bilangan 0 s/d bilangan-1. Misalnya num:=random(50); berarti variabel num mungkin berisi salah satu bilangan 0 s/d 49. Cobalah contoh berikut : Program tutor11_random; Uses crt; Vari : byte; Begin Clrscr;

PATRISIUS BIMASAKTI

TH. 2011

randomize; for i:=1 to 10 do write(random(30),' '); end. Coba hilangkan "randomize", dan jalankan beberapa kali, bagaimana dengan bilangan yang dihasilkan apakah sama pada setiap percobaan ? Jadi, selalu gunakan "randomize" untuk menjamin kerandoman bilangan yang dihasilkan pada setiap run. Menentukan luas dan keliling segitigasiku-siku Peghitungan keliling segitiga siku-siku identik dengan Pythagoras kan? Lihat contoh dibawah ini! Program tutor12_pythagoras; Var a,t,p,L,K : real; Begin Clrscr; Writeln(MENGHITUNG LUAS DAN KELILING SEGITIGA SIKU-SIKU); Write(===============================================); Write(masukkan alas: ); readln(a); Write(masukkan tinggi: ); readln(t); Begin P:=sqrt(sqr(a)+sqr(t)); L:=a*t; K:=a+t+p; Writeln(luas ,L:2:2); Writeln(keliling ,K:2:2); Readln; End; End. Pada penghitunga sisi miring menggunakan sqrt untuk akar pangkat 2 dan sqr untuk pangkat 2. Menentukan bilangan ganjil genap Program tutor13_ganjil_genap; var bil: longint; begin writeln('MENENTUKAN JENIS BILANGAN'); writeln('-------------------------'); write('Masukkan angka: ');readln(bil); if ((bil=2) or (bil=3) or (bil=5) or (bil=7)) then write('bilangan prima')

PATRISIUS BIMASAKTI

TH. 2011

else if ((bil mod 2 <> 0) and (bil mod 3 <> 0) and (bil mod 5 <> 0) and (bil mod 7 <> 0)) then write('bilangan prima') else write('bukan bilangan prima'); if bil mod 2 = 0 then writeln(' dan genap') else writeln(' dan ganjil'); readln; end. bintang segitiga Setelah sebelumnya kita bermain dengan if, sekarang ke for. Program di bawah ini akan memunculkan output berupa sekumpulan bintang yang membentuk tangga Program tutor14_bintang; const akhir=18; var baris, kolom: integer; begin for baris:=1 to akhir do begin for kolom:=1 to baris do write('*'); writeln; end; readln; end. Coba dech dijalankan, gimana hasilnya? menarik bukan?. Sekarang kita coba menampilkan sekumpulan bintang yang membentuk kubus. Membuat bintang kubus Program tutor15_kubus; uses crt; Var i, j, x, y:integer; Begin clrscr; Write('Masukkan Dimensi Kubus: ');Readln(x); y:=0; For i:=1 to x do Begin

PATRISIUS BIMASAKTI

TH. 2011

for j:=1 to x do Begin y:=y+1; write(y:4); if y mod x=0 then Writeln; End; End; readkey; End. Gimana? baguskan? Sekarang tugas kamu membuat sekumpulan bintang berbentuk piramida dan berbentuk tangga terbalik (seperti program pertama di atas tetapi terbalik) Membuat daftar di toko Di pelajaran sebelumnya telah dijelaskan cara penggunaan array dan record. Sekarang kita akan menggabungkan array dan record tersebut. Perhatikan program di bawah ini: Program tutor16_toko; type dmhs=record nrp:string[10]; nama:string[25]; alamat:string[50]; end; var data:array[1..3] of dmhs; i:integer; begin for i:=1 to 3 do begin write('nrp : ');readln(data[i].nrp); write('nama : ');readln(data[i].nama); write('alamat : ');readln(data[i].alamat); end; writeln; writeln('Data ditampilkan'); for i:=1 to 3 do begin writeln('nrp : ', data[i].nrp); writeln('nama : ', data[i].nama); writeln('alamat : ', data[i].alamat); end;

10

PATRISIUS BIMASAKTI

TH. 2011

readln; end. Apa yang dimaksud array? Array itu adalah tipe data terstuktur yang berguna untuk menyimpan sejumlah data yang bertipe sama. Program tutor17_array; Uses crt; Var buah: array [1..3] of string; i : integer; begin clrscr; for i:= 1 to 3 do begin write(masukkan buah-buahan ke ,I,:); readln(buah[i]); end; writeln; writeln;(isi buah-buahan tadi : ); for i:= 1 to 3 do writeln(buah ke ,I,: ,buah[i]); readln; end. Dengan hanya menggunakan satu nama variabel yaitu buah, kita bisa menyimpan 3 nilai yang berbeda. Misalkan yang kita masukkan adalah melon, duku dan mangga. maka buah[1] bernilai melon, buah[2] bernilai duku dan buah[3] bernilai mangga. Apa yang disebut record; Program tutorial18_record; type buah = record nama: string; harga: longint; end; var data:buah; Begin write('nama buah: ');readln(data.nama); write('harga buah: ');readln(data.harga); write('ditampilkan'); write('nama');readln(data.nama); writeln('harga');readln(data.harga); End. Apa yang bisa kamu ambil kesimpulan dari program di atas? Bingung? Jadi gini, dengan menggunakan record (di sini bernama buah) kita bisa membuat tipe data yang berisi beberapa

11

PATRISIUS BIMASAKTI

TH. 2011

data yang berlainan tipe (nama dengan jenis string, dan harga dengan jenis long integer) yang ini disebut field. Perhatikan baris ke 6, di situ dideklarasikan bahwa variabel data bertipe buah. Otomatis yang dimiliki buah (nama dan harga) dimiliki juga oleh data. Setelah itu lihat baris ke 8 dan 9. Nama buah disimpan dalam field nama dan harga buah disimpan di dalam field harga. Untuk bisa menyimpan data di field, urutannya harus variabel.field (contohnya di sini data.nama atau data.harga). Begitu juga bila kita ingin menampilkan isi field tersebut. Tipe data seperti ini sangat berguna kedepannya loohh... Apalagi jika digabungkan dengan array. Penggunaan fungsi Program tutor19_fungsi Uses crt; Var hasil: integer; Function itung(a,b:integer); integer; Begin Itung:=a+b; End; Begin Clrscr; Hasil:=itung(7,9); Writeln(hasil 7+9 sama dengan ,hasil); Readln; End. Mencari bilangan prima Program tutor20_prima; Uses crt; Var prima: array[1..11] of integer; I,j: integer; Bil: integer; Begin Clrscr; For i:= 2 to 11 do Begin Prima[i]:=I; For j:= 2 to i-1 do Begin Bil:= (I mod j); If bil= 0 then prima[i]:=0; End; If prima[i] <> 0 then write(prima[i], ); End; Readln;

12

PATRISIUS BIMASAKTI

TH. 2011

End.

Deret angka Uses crt; Procedure deret(n: word); Begin Write(n:3); If n < 10 then Deret(n+1); End; Var n: word; Begin Clrscr; n:= 0; deret(n); readln; end.

13

PATRISIUS BIMASAKTI

TH. 2011

Anda mungkin juga menyukai