PEMROGRAMAN VISUAL
Oleh :
I.BAHASAPEMROGRAMAN
A.SejarahPerkembanganBahasaPemrograman
Perkembanganbahasapemrogramanmungkintidaksemudahyangkitakira,namun
perkembangantersebutsangatlahsulitdanmemakanwaktuyanglamahinggabisamenjadi
bahasapemrogramanyangbisakitanikmatisekarangini.
Pembagiangenerasibahasaadalahsepertiberikut:
1. FirstGenerationLanguage(1GL)adalahbahasamesinataulevelinstruksidandata,
yang diberikan kepada prosesor agar dapat bekerja. Pada komputer konvensiona
terdiridarideretanangka0dan1.
2. SecondGeneration Language (2GL) adalah bahasa pemrograman assembler (orang
juga mengenalnya sebagai bahasa assembly). Pada bahasa perograman generasi
keduainiassemblermengubahpernyataanbahasapemrogramankebahasamesin.
3. ThirdGeneration Language (3GL) merupakan bahasa pemrograman yang masuk
dalamgenerasiketiga.Iniadalahbahasapemrogramantingkattinggi,sepertiPL/1,C,
atauJava.
4. FourthGenerationLanguage(4GL)adalahbahasapemrogramanyangdidesainlebih
natural, sehingga makin mudah digunakan. FifthGeneration Language (5GL)
adalah bahasa pemrograman yang menggunakan interface pengembangan visual
atau grafik untuk membuat bahasasumbernya, yang biasanya di compile dengan
compiler3GLatau4GL.
B.JenisJenisBahasaPemrograman
Jenisjenisbahasapemrogramansecaraumumdibagimenjaditigayaitu:
Bahasa Mesin adalah bahasa yang berisi kodekode mesin yang hanya dapat
diinterpretasikan langsung oleh mesin (komputer). Sering juga disebut native code
(bahasa yang sangat tergantung pada jenis mesin tertentu). Bahasa ini merupakan
bahasa tingkat terendah (Low Level Language) dan berupa kode biner: 0 dan 1.
Esekusi bahasa ini sangat cepat tapi sangat sulit pula untuk dipelajari manusia.
Contoh: untuk mesin IBM/370. Misal; 0001100000110101 = 1835 yang berarti
mengkopikanisiregister5keregister3.
Bahasa Assembly adalah bahasa simbol dari bahasa mesin. Setiap kode bahasa
mesin memiliki simbol sendiri dalam bahasa Assembly. Misalnya ADD untuk
penjumlahan, MUL untuk perkalian, SUB untuk pengurangan, dan lainlain.
SekumpulankodekodebahasaAssemblydapatmembentukmakroinstruksi.Bahasa
Assembly juga memiliki program pendebugnya,tidak seperti bahasa mesin.
Misalnya:TurboAssemblerdandebugdiDOS.Assemblerakanmencocokkantoken
simboldariawals/dakhir,kemudiandikodekanmenjadibahasamesin.Eksekusinya
cepat,masihlebihmudahdipelajaridaripadabahasamesin,ukuranfilehasilsangat
kecil. Tetapi tetap kurang bersahabat untuk dipelajari (not resembles human
language)danprogramnyasangatpanjang.
Bahasa Tingkat Tinggi (High Level Language) yang lebih dekat dengan bahasa
manusia.Bahasainijugamemberikanbanyaksekalifasilitaskemudahanpembuatan
program, misalnya: variabel, tipe data, konstanta, struktur kontrol, loop, fungsi,
prosedur dan lainlain. Contoh bahasa ini: Pascal, Basic, C++, dan Java. Bahasa ini
mendukunginformationhiding,enkapsulasi,danabstractdatatype.Bahasatingkat
tinggi terdiri dari beberapa generasi, misalnya generasi ke3 (Pascal, C/C++) dan
generasi ke4 (Delphi, VB, VB.NET, Visual Foxpro). Dibandingkan bahasa mesin dan
Assembly, High Level Language lebih mudah dipelajari dan bahasanya mendekati
permasalahan yang akan dipecahkan, kode program pendek tetapi eksekusinya
menjadilebihlambat.
Pada penjelasan selanjutnya akan membahas mengenai pemrograman
visualyangnotabennyaadalahtermasukbahasapemrogramantingkattinggi.
II.PEMROGRAMANVISUAL
Pemrograman visual adalah metode pembuatan program dimana programmer
membuat koneksi antara objekobjek dengan cara menggambar, menunjuk,, dan mengklik
padadiagramdanikondandenganberinteraksidengandiagramalur.Jadi,programmerbisa
menciptakan program dengan cara mengklik pada ikon yang mewakili rutinrutin
pemrograman secara umum. Tujuan pemrograman visual adalah agar pemrograman
menjadi lebih mudah bagi para programmer dan lebih mudah diakses oleh kalangan
nonprogrammer dengan meminjam bahasa OOP (Object Oriented Programming), dan
mempraktikanya secara grafis atauvisual. Pemrograman visual memungkinkan pengguana
untuk lebih fokus pada pemecahan masalah ketimbang cara menangani bahasa
pemrograman. Di sini Anda tidak perlu mempelajari sintaks atau menulis kode. Bahasa
pemrogramanVisualantaralainVisualBasic,VisualC++danVisualFoxpro.
A.VisualBASIC
Contoh pemrograman visual adalah Visual BASIC, bahasa pemrograman
berorientasi objek yang berbasis Windows dari Microsoft yang mengizinkan pengguna
mengembangkanaplikasiWindowsdanOfficedengan:
(1)membuattombolperintah,kotakteks,jendeladantoolbar,
(2)selanjutnyaakandilinkkeprogramBASICyangkecilyangmelakukantindakantertentu.
Visual BASIC merupakan evendriven, artinya program menunggu pengguna melakukan
sesuatu(event),sepertiklikpadaikon,dankemudianprogramakanmerespons.Misalnya
, pada permulaan pengguna dapat menggunakan piranti geser dan turunkan (dragand
drop) untuk mengembangkan antar muka pengguna grafis yang dibuaat secara otomatis
oleh program. Karen penggunaanya mudah, Visual BASIC memungkinkan programmer
pemulauntukmencipatakanaplikasiaplikasiberbasiswindowsyangmenarik.
Sejak diluncurkan pada 1990, pendekatan Visual Basic menjadi norma untuk
bahasa pemrograman. Sekarang ada banyak lingkungan visual untuk banyak bahasa
pemrograman termasuk C, C++, Pascal, dan Java. Visual BASIC terkadang disebut rapid
B.VisualC++
Visual C++ adalah bahasa pemrograman C++ versi Microsoft. Didasarkan pada
bahasaC,C++adalahversipembaharuandariCyangmengambilbahasaCkeevolusibahasa
pemrogramanarasberikutnyayangmenyediakanpemrogramanberorientasiobjek.
Visual C++ adalah bahasa yang dikompilasi. Sebuah compiler C++ (bahasa
pemrograman C++ yang merupakan bagian dari Visual C++ kita) mengambil instruksi
instruksi bahasa C++ dan menterjemahkannya ke dalam format yang dapat dibaca
komputer. Kompiler C++ adalah perangkat yang digunakan komputer untuk memahami
instruksiinstruksibahasaC++didalamprogramAnda.MicrosoftVisualC++datangbersama
editor miliknya dan lingkungan pemrograman terpadu yang membuat pemrograman
menjadimudahdikelola.
Setelah Anda menulis kode Visual C++, Anda menjalankannya melalui Visual C++,
menghasilkaninstruksiyangterkompilasidenganbenardanmenjalankanprogramtersebut.
Sebuah praprosesor membaca pengarah praprosesor program untuk mengontrol
pengkompilasian. Perhatikan bahwa program Visual C++ Anda harus dilewatkan melalui
praprosesor sebelum program dikompilasi. Praprosesor membaca simbolsimbol khusus di
dalam kode yang disebut pengarah praprosesor yang Anda masukkan di dalam program,
untuk mengontrol pengkompilasian program. Visual C++ dengan sendirinya membentuk
langkah praprosesor, sehingga tidak perlu pemahaman tambahan bagi Anda selain
meletakkan pengarah praprosesor ke dalam programprogram Anda. Program Anda harus
melalui tahapan terakhir setelah pengkompilasian dan sebelum pengeksekusian. Tahapan
inidisebuttahapanlinkingataulinkediting.PadasaatprogramAndadilink,programyang
disebut linker memasok informasi yang diperlukan saat pengeksekusian ke program yang
dikompilasi.
C.VisualFoxPro
Visual FoxPro adalah bahasa pemrograman Pemrograman berorientasi objek dan
pemrogramanproseduraldariMicrosoft.Awalnyabahasapemrogramaninidikenaldengan
nama FoxBASE yang diluncurkan oleh Fox Software pada awal 1984. Fox Technologies
kemudian bergabung dengan Microsoft pada 1992 sehingga di depan nama FoxBASE
ditambahkanawalan"Visual".
Versi terakhir FoxPro (9.0) dapat berjalan pada sistem operasi Mac OS, DOS,
Windows, dan Unix. Visual FoxPro 3.0, versi "Visual" pertama, akhirnya tersingkir karena
hanyamendukungMacOSdanWindows,danversiberikutnyahanyamendukungWindows
saja. Versi terkini Visual FoxPro adalah berdasarkan teknologi Component Object Model
COM dan Microsoft telah menyatakan bahawa mereka tidak berniat untuk mencipta versi
Microsoft.NET.
MODUL 1
PENGENALAN PASCAL
1.1
orientasinya pada segala tujuan, dirancang oleh Professor Niklaus Wirth dari
Technical University di Zurich, Switzertland. Nama PASCAL diambil dari nama
seorang ahli matematika dan philosophi terkenal abad 17 dari Perancis.
Profesor Niklaus Wirth memperkenalkan kompiler bahasa Pascal pertama
kali untuk komputer CDC 6000 (Control Data Corporation) yang dipublikasikan
pada tahun 1971 dengan tujuan untuk membantu mengajar program komputer
secara sistematis, khususnya untuk memperkenalkan pemograman yang
terstruktur (structured programming). Jadi Pascal adalah bahasa yang ditujukan
untuk membuat program terstruktur.
Dalam waktu yang singkat, Pascal telah menjadi bahasa yang paling
populer di kalangan pelajar universitas dan merupakan bahasa yang diajarkan di
beberapa perguruan tinggi. Beberapa profesional komputer juga mulai beralih ke
bahasa Pascal. Kenyataannya, Pascal merupakan bahasa yang paling cepat
populer dibandingkan dengan bahasa-bahasa komputer tingkat tinggi yang
lainnya.
1.2
Page1
4. Pengkodean
a. Pilih bahasa pemrograman yang sesuai
b. Menterjemahkan algoritma ke bahasa pemrograman
5. Mencari Kesalahan
a. Kesalahan sintaks (penulisan program)
b. Kesalahan Pelaksanaan: Semantik, Logika, dan ketelitian
6. Uji dan Verifikasi Program
7. Dokumentasi Program
8. Pemiliharaan Program
a. Memperbaiki kekurangan yang ditemukan kemudian
b. Memodifikasi, karena perubahan spesifikasi
1.2
Struktur dari suatu program Pascal terdiri dari sebuah judul program (program
heading) dan suatu blok program (program block) atau badan program (body
program). Blok program dibagi dua yaitu bagian deklarasi (declaration part) dan
bagian pernyataan (statement part). Bagian deklarasi dapat terdiri dari deklarasi
label (labels declaration), deklarasi konstanta (constants declaration), deklarasi
tipe (type declaration), deklarasi varioabel (variabels declaration), deklarasi
prosedur (procedures declaration) dan deklarasi fungsi (function declaration).
Secara ringkas, struktur program Pascal terdiri dari:
1. Judul Program
2. Blok Program
a. Bagian deklarasi
Deklarasi label
Definisi konstanta
Deinisi tipe
Deklarasi variabel
Deklarasi prosedur
Deklarasi fungsi
Page2
b. Bagian pernyataan
Judul program
Bagian deklarasi
Bagian pernyataan
Berikut ini kerangka umum program yang terdapat di dalam bahasa pascal.
Judul Program
Biasanya sama dengan nama program.
Penulisan judul program:
1. terdapat pada awal pembuatan program
2. nama program diketik tanpa adanya spasi
3. diakhiri dengan tanda titik koma ( ; )
Contoh:
Program Pertamaku;
atau
Program Pertama_ku;
Page3
Daftar Unit
Berisi daftar unit yang akan digunakan di dalam program. Unit merupakan suatu
modul program yang terpisah dan digunakan untuk menyimpan proses-proses
tertentu yang berkaitan. Biasanya unit dibuat untuk program yang cukup besar
sehingga program dapat lebih bersifat modular dan mudah untuk dibaca. Pada
contoh dibawah kita menggunakan statemen uses crt; dan uses wincrt;
yang artinya kita menggunakan suatu unit yang bernama crt atau wincrt, yaitu
unit yang berisi kumpulan rutin (berupa prosedur maupun fungsi) yang berkaitan
dengan pengontrolan PC, yang meliputi layar, keyboard, warna dan juga suara.
Karena kita sudah mendaftarkan unit tersebut dalam program yang kita tulis,
maka kita diperbolehkan untuk menggunakan semua rutin-rutin yang terdapat di
dalam unit tersebut. Misalnya rutin clrscr yang berfungsi untuk membersihkan
layar.
Contoh: uses Crt;
uses WinCrt;
Bagian Deklarasi
bagian deklarasi digunakan jika di dalam program menggunakan pengenal
(identifier). Macam-macam deklarasi :
-
deklarasi konstanta
deklarasi variable
deklarasi prosedur
deklarasi fungsi
deklarasi label
Pengenal (identifier) yang didefinisikan sendiri bebas, tetapi dengan ketentuanketentuan sebagai berikut:
1. terdiri dai gabungan huruf dan angka dengan karakter pertama harus
berupa huruf.
2. tidak boleh mengandung spasi
3. tidak boleh mengandung simbol-simbol khusus kecuali garis bawah ( _ ).
4. panjangnya bebas tapi 63 karakter pertama yang dianggap signifikan
Page4
contoh :
(deklarasi tipe data)
Type
Larik = array[1..100] of integer;
(deklarasi konstanta)
Const
N = 100;
(deklarasi variable)
Var
Nama : string;
X : integer;
(deklarasi prosedur)
Procedure Tulis(s : string);
Begin
Writeln(s);
End;
(deklarasi fungsi)
Function Kuadrat (a : integer) : integer;
Begin
Kuadrat := a * a;
End;
(deklarasi label)
Label BARIS;
Bagian Pernyataan
Merupakan perintah-perintah yang akan dituliskan. Statemen-statemen ini harus
berada di dalam blok begin end. Masing-masing akhir statemen diakhiri dengan
titik koma ( ; ).
Page5
Contoh:
begin
Writeln('Selamat datang di dunia Pascal);
end.
Jadi program secara keseluruhan adalh sebagai berikut:
program Pertama;
uses
winCrt;
begin
Writeln('Selamat datang di dunia Pascal);
end.
Tampilan di layar setelang di running:
program penjumlahan_langsung;
uses wincrt;
var
Luas,p,l:integer;
begin
p:=20;
l:=25;
Luas:=p*l;
writeln(Jadi Luas=',Luas);
end.
Page6
Output
LATIHAN 1
1. SEMPURNAKAN PROGRAM DIBAWAH INI !
program menghitung_jarak
uses wincrt
var
X1,X2,Y1,Y2:integer
d real
begin
writeln(program menghitung jarak titik A dan B)
writeln(======================================)
writeln
write(Masukkan Nilai A (X1):) readln (X1)
write(Masukkan Nilai B (X2):) readln (X2)
write(Masukkan Nilai A (Y1):) readln (Y1)
write(Masukkan Nilai B (Y2):) readln (Y2)
d:=sqrt(sqr(X2-X1) + sqr(y2-y1))
Page7
writeln
writeln(jadi jarak titik A ke titik B adalah :
d:0:2)
end
2.
Page8
MODULIIElemenDasarPascal
MODUL II
ELEMEN DASAR PASCAL
KOMENTAR PROGRAM
Komentar program merupakan bagian program yang tidak ikut dieksekusi sehingga
kehadirannya tidak mempengaruhi jalannya program.
Pada umumnya bahasa Pascal hanya mendukung dua macam cara untuk membuat
komentar program, yaitu:
1. Menggunakan tanda (*...*)
Komentar ini dapat digunakan untuk menuliskan komentar yang banyaknya lebih dari
satu baris.
Contoh
(* Ini adalah komentar program yang banyaknya satu baris*)
(* Ini juga merupakan komentar program dengan banyak
baris
readln;
end.
MODULIIElemenDasarPascal
Bila program dijalankan maka didapatkan output:
mencoba menuliskan komentar program
Dari output yang dihasilkan ini membuktikan bahwa kehadiran komentar tidak
berpengaruh terhadap program.
VARIABEL
Variabel adalah suatu pengenal yang didefinisikan oleh programmer untuk
menyimpan nilai atau data tertentu yang dibutuhkan dalam program pada saat program
sedang berjalan (run-time). Dengan demikian nilai tersebut juga dapat kita ubah sesuai
dengan kebutuhan program.
Bentuk umum pendeklarasian variabel:
Var
NamaVariabel : tipe_data;
Contoh:
Var
x : integer;
x,y,z : integer;
@mail?! : string;
2. Tidak boleh diawali dengan angka
Contoh:
2Dimensi : Tpoint;
3. Tidak boleh menggunakan kata kunci yang sudah terdapat di dalam bahasa Pascal.
Contoh:
For : integer;
While : boolean;
MODULIIElemenDasarPascal
Contoh program penggunaan variabel didalam program:
Program LatVar2;
uses wincrt;
var
bilangan: integer;
hasil: longint;
begin
clrscr;
write('Masukkan sebuah bilangan: ');
readln(bilangan);
hasil:=bilangan*bilangan*bilangan;
write(bilangan,'^3= ',hasil);
readln;
end.
{mendefinisikan prosedur}
Procedure Proc1;
Begin
MODULIIElemenDasarPascal
....
End;
{mendefinisikan fungsi}
Function Func1: integer;
Begin
.......
End;
{pogram utama}
Begin
.....
End.
Pada kode program di atas, VarGlobal merupakan variabel yang bersifat global
sehingga akan dikenali oleh setiap bagian program, baik prosedur Proc1, fungsi
Func1 maupun oleh program utama.
2. Variabel Lokal
Artinya variabel yang dideklarasikan di dalam suatu rutin tertentu sehingga hanya
dikenali oleh rutin yang bersangkutan saja.
Contoh:
Function Func1: integer;
Var
VarLokal : integer;
Begin
.........
End;
Pada kode di atas, variabel VarLokal merupakan variabel bertipe integer yang sifatnya
lokal dan hanya dikenal fungsi Func1 saja.
MODULIIElemenDasarPascal
Konstanta
Didalam pembuatan program sering kali kita perlu untuk mendefinisikan konstanta
atau tetapan, dimana nilainya tidak dapat diubah selama program sedang berjalan. Hal ini
tentu berbeda dengan variabel yang nilainya dapat diubah kapan saja sesuai kebutuhan
program. Dalam bahasa Pascal pembuatan konstanta menggunakan kata kunci const.
Bentuk umum pendeklarasian konstanta:
const
NamaKonstanta1 = nilai_konstanta1;
NamaKonstanta2 = nilai_konstanta2;
......
Contoh:
const
MYPI = 3.1416;
MAX_RECORD = 100;
PENERBIT = CV INFORMATIKA BANDUNG;
end.
MODULIIElemenDasarPascal
Bila program dijalankan maka didapatkan output:
A[1] = 10
A[2] = 20
A[3] = 30
A[4] = 40
A[5] = 50
MODULIIElemenDasarPascal
LATIHAN 2
1. Buatlah sebuah program untuk menentukan keliling dan luas lingkaran dengan
menambahkan definisi konstanta. Berikut adalah outputnya
MODULIIElemenDasarPascal
ModulIIITipeData
MODULIII
TIPEDATA
Jenis/TipeData
Padawaktusebuahvariabeldideklarasikanmakatipenyasekaligusditentukan.Tipedarisuatu
variabelmenyatakan:
a. Jenis nilai yang dapat disimpan dalam lokasi memori untuk variabel tersebut, (membatasi
himpunannilainilaiyangdapatdipunyaivariabeltersebut)
b.Jenisoperasiyangdapatdilakukanterhadapvariabelyangbersangkutan.
TipeDasar
Merupakantipetipeyangtelahdidefinisikanolehkompilersehinggakitatinggalmenggunakan
saja.Tipedasardibagidalamlimabagianyaitu:
1. TipeBilanganBulat
Merupakantipeordinal(memilikiurutan).Yangtermasukdalamtipebilanganbulat
dalampascaladalah:
TipeData
UkurandalamByte
RentangNilai
ShortInt
128..127
Integer
327.68..32.767
Longint
2.147.483.648..
2.147.483.647
Byte
0..255
Word
0..65.535
2. TipeBilanganRiil
Merupakantipedatauntukmerepresentasikanbilanganbilanganriil(floatingpoint).
Tipedatayangtermasukkedalamtipebilanganriiladalah:
DasarPemrogramanUMB
Page1
ModulIIITipeData
TipeData
Ukuran(Byte) RentangNilai
Real
2.9x1039sampai1.7x1038
Single
1.5x1045sampai3.4x1038
Double
5.0x10324sampai1.7x10308
Extended
10
3.4x104932sampai1.1x104932
Comp
9.2x1018sampai9.2x1018
3. TipeKarakter
Digunakanuntukmerepresentasikannilainilaiyangbertipekarakter.Contoh
pendeklarasianvariabelyangbertipekarakter.
Var
Karakter_angka:char;
Huruf:char;
Sedangkanuntukprosesmemasukkannilaikedalamvariabeltersebutadalahdengan
sebagaiberikut:
Begin
Karakter_angka:=1;
Huruf:=A;
End.
4. TipeString
Merupakankumpulandarikarakteryangterangkaimenjadisatukataataupunkalimat.
MisalPemrogramanPascal,Informatika,dansebagainya.Contohpendeklarasian
variabelyangbertipestring:
Var
Nama:string{mengalokasikanruanguntuk256karakter}
Nama:string[10]{mengalokasikanruanguntuk10karakter}
DasarPemrogramanUMB
Page2
ModulIIITipeData
5. TipeLogika
Merupakantipeyanghanyamemilikiduabuahnilaiyaitubenardansalah.Dalampascal
untukmendefinisikandatadatalogikdisediakantipeboolean.
OPERATORDALAMPASCAL
Dalam menulis program kita tidak mungkin terlepas dari penggunaan operator. Operator
sendiri didefinisikan sebagai sesuatu yang digunakan untuk melakukan operasioperasi
tertentu,misalnyaoperasiaritmatika,penggabunganstringdanbanyaklagiyanglainnya.
OperatorAssignment
Operator assignment digunakan untuk melakukan pemberian nilai terhadap suatu variabel
sehingga operator ini juga sering dikenal dengan operator penugasan. Dalam bahasa Pascal
operatoryangdigunakanuntukmelakukanhaliniadalahoperator:=.Berikutinibentukumum
untukmelakukanpemberiannilaiterhadapsuatuvariabel.
NamaVariabel:=nilai_yang_akan_dimasukkan;
Contoh:
Var
x:integer;
y:real;
str:string;
Begin
x:=123;
y:=56.04;
str:=Mencobamemasukkannilaikedalamvariabel;
....
End.
DasarPemrogramanUMB
Page3
ModulIIITipeData
Contohprogramyangmenggunakanoperatorassignment:
program operatorpenugasan;
uses wincrt;
var
x : integer;
begin
clrscr;
x := 10;
writeln('Nilai x mula-mula
:',x);
x := x + 20;
writeln('Nilai x setelah ditambah 20 : ',x);
x := x-5;
writeln('Nilai x setelah dikurangi 5 : ',x);
readln;
end.
Bilaprogramdijalankanmakadidapatkanoutput:
Nilaixmulamula:10
Nilaixsetelahditambah20:30
Nilaixsetelahdikurangi5:25
OperatorAritmatika
Bahasa Pascal menyediakan beberapa operator yang dapat digunakan dalam operasi
aritmatika,sepertipenjumlahan,pengurangan,perkalian,pembagiandanpenentuansisabagi.
Operator
JenisOperasi
TipeOperand
TipeHasil
Contoh
Penjumlahan
Integer,real
Integer,real
a+b
Pengurangan
Integer,real
Integer,real
x1
Perkalian
Integer,real
Integer,real
a*b
Pembagianuntuk Integer,real
real
5/3
Integer
10div4
integer
10mod3
bilanganriil
div
Pembagianuntuk Integer
bilanganbulat
mod
Sisabagi
DasarPemrogramanUMB
integer
Page4
ModulIIITipeData
OperatorLogika
Operatorlogikadigunakanuntukmelakukanoperasioperasiyangmenghasilkannilailogik(true
danfalse).Bahasapascalmenyediakan4buahoperatorlogika,yaitu:
Operator
JenisOperasi
TipeOperand
TipeHasil
not
Contoh
Negasi
boolean
boolean
not(x=y)
and
Conjunction
boolean
boolean
(x>1)and(x<=5)
or
Disjunction
boolean
boolean
(x<1)or(x>5)
xor
Exlusive
boolean
boolean
AxorB
disjunction
OperatorRelasional
Operatorrelasionaladalahoperatoryangdigunakanuntukmenentukanrelasiatauhubungan
dariduabuahnilaiatauoperand.Operatoriniterdapatdalamsebuahekspresiyangselanjutnya
akan menentukan benar atau tidaknya ekspresi tersebut. Operator relasional biasanya
digunakanuntukmelakukanpengecekankondisidalamblokpemilihan.Adapunyangtermasuk
kedalamoperasionaldidalambahasaPascaladalahsebagaiberikut:
Operator JenisOperasi
TipeOperand
TipeHasil
Contoh
Tipedasar,string,
boolean
A=3
boolean
A<>3
boolean
A<1
boolean
A>5
boolean
A<=B
boolean
A>=B
Samadengan
Pchar,set
<>
<
Tidaksama
Tipedasar,string,
dengan
Pchar,set
Lebihkecil
Tipedasar,string,
Pchar
>
Lebihbesar
Tipedasar,string,
Pchar
<=
>=
Lebihkecilatau
Tipedasar,string,
samadengan
Pchar,set
Lebihbesaratau
Tipedasar,string,
samadengan
Pchar,set
DasarPemrogramanUMB
Page5
ModulIIITipeData
Latihan
1. Buatlahprogramygmemintauseruntukmemasukkannamadanberisalamdengan
memanggilkembaliinputanyangtaditelahdimasukkan.Outputnyaadalahsebagaiberikut:
2.Buatlahprogramkasirsederhanasepertidibawahini!
DasarPemrogramanUMB
Page6
ModulIVPemilihan(StatemenIF)
MODUL IV
PEMILIHAN (STATEMEN IF)
Dalam pemograman, secara umum statemen dapat didefinisikan sebagai suatu bagian program
yang dapat dieksekusi. Secara garis besar, statemen didalam bahasa Pascal dapat
dikategorikan ke dalam beberapa kelompok, yaitu sebagai berikut:
Penugasan (assignment)
Pemilihan
Peloncatan
Pendefinisian label
Pemilihan, iterasi dan peloncatan merupakan statemen yang digunakan untk melakukan control
program. Label berguna untuk membantu dalam statemen peloncatan, khususnya untuk
menggunakan statemen goto. Sedangkan ekspresi digunakan untuk menyatakan nilai logika
yang pada umumnya terdapat dalam pengkodisian.
x := 10;
jumlah := jumlah + 1;
str := Pascal;
4.2 Pemilihan
Blok pemilihan merupakan blok kontrol yang digunakan untuk memilih statemen atau aksi-aksi
yang akan dilakukan, dimana pemilihan tersebut didasarkan atas nilai dari kondisi-kondisi
tertentu. Suatu aksi akan dikerjakan atau dieksekusi oleh program apabila kondisi yang
didefinisikan untuk aksi tersebut bernilai benar (true). Sebaliknya, bila kondisi tidak terpenuhi
DasarPemrograman|UMB
Page1
ModulIVPemilihan(StatemenIF)
atau salah (false) maka program akan melakukan aksi lain (bila ada) atau langsung keluar dari
blok pemilihan. Dalam bahasa Pascal, blok pemilihan dapat didefinisikan dengan 2 cara, yaitu
dengan menggunakan statemen if atau case.
4.2.1 Statemen if
Statemen if akan diikuti oleh ekspresi (sebagai kondisi yang akan diperiksa) dan selalu
berpasangan dengan kata kunci then.
masuk
salah
kondisi
benar
Statemen di
dalam blok
kontrol
keluar
DasarPemrograman|UMB
Page2
ModulIVPemilihan(StatemenIF)
Adapun bentuk umum statemen if satu kasus yaitu:
{apabila hanya terdiri dari satu statemen}
if (ekspresi) then
statemen ;
Statemen
writeln(x, ' lebih besar dari 10');
hanya akan dilakukan apabila nilai x yang dimasukkan oleh user lebih besar dari 10. artinya
apabila user memasukkan nilai lebih kecil atau sama dengan 10, maka statemen tersebut akan
diabaikan.
DasarPemrograman|UMB
Page3
ModulIVPemilihan(StatemenIF)
4.2.1.2 Dua Kasus
Statemen if yang melibatkan dua kasus merupakan perluasan dari statemen if satu kasus. Pada
bentuk pemilihan ini terdapat statemen tambahan yang digunakan untuk mengatasi kejadian
pada saat kondisi yang didefinisikan bernilai salah atau tidak terpenuhi. Berikut ini gambar yang
dapat mengilustrasikan proses logik dari statemen if dua kasus:
masuk
salah
kondisi
benar
Statemen jika
kondisi
terpenuhi
Statemen jika
kondisi tidak
terpenuhi
keluar
Dari gambar diatas jelas terlihat bahwa terdapat statemen alternatif yang akan dieksekusi
apabila kondisi yang didefinisikan bernilai salah. Untuk mendefinisikan blok pemilihan jenis ini,
kita harus menggunakan kata kunci else.
Bentuk umum pendefinisiannya:
if (kondisi) then
Statemen_jika_kondisi_benar {INGAT, tidak diakhiri ;}
else
Statemen jika kondisi salah ;
Apabila kondisi bernilai benar (true), maka yang akan dilakukan adalah statemen pertama.
Sebaliknya, apabila salah (false) maka yang akan dilakukan adalah statemen kedua, yaitu
statemen yang terdapat pada bagian else.
Bentuk umum tersebut berlaku apabila kita hanya memiliki satu baris statemen yang akan
dilakukan. Satu hal lagi yang perlu diperhatikan yaitu statemen pertama (sebelum kata kunci
DasarPemrograman|UMB
Page4
ModulIVPemilihan(StatemenIF)
(else) tidak boleh diakhiri oleh titik koma (;). Apabila ingin menempatkan titik koma, maka
harus menempatkan statemen tersebut ke dalam sebuah blok (begin...end). hal tersebut juga
berlaku apabila statemen lebih dari satu baris, seperti yang ditunjukkan dibawah ini:
if (kondisi) then
begin
Statemen_jika_kondisi_benar ; {diakhiri titik koma}
end
else
Statemen_jika_kondisi_salah ;
DasarPemrograman|UMB
Page5
ModulIVPemilihan(StatemenIF)
4.2.1.3. Tiga Kasus atau Lebih
Bentuk ini merupakan bentuk pemilihan yang sedikit kompleks, karena memiliki tiga
buah atau lebih kasus sehingga akan terdapat statemen if di dalam if lainnya, yang sering
dikenal dengan if bersarang (nested-if). Berikut ini gambar yang dapat mengilustrasikan proses
logik yang terjadi di dalam statemen if yang memiliki tiga kasus atau lebih.
masuk
Kondisi1
Kondisi2
salah
salah
benar
Statemen jika
kondisi1 benar
terpenuhi
Kondisi3
Statemen jika
kondisi2
terpenuhi
salah
benar
Statemen jika
kondisi3
terpenuhi
Statemen jika
kondisi3 tidak
terpenuhi
keluar
Dari gambar tersebut tampak bahwa apabila kondisi pertama tidak terpenuhi, maka program
akan mengecek kondisi kedua. Apabila ternyata kondisi kedua juga belum terpenuhi maka
program akan mengecek kondisi berikutnya, begitu seterusnya sampai ditemukan kondisi yang
sesuai. Namun apabila ternyata semua kondisi yang didefinisikan tidak terpenuhi, maka
program akan mengeksekusi statemen alternatif yang berada pada bagian akhir (di dalam
bagian else yang terakhir).
DasarPemrograman|UMB
Page6
ModulIVPemilihan(StatemenIF)
Bentuk umum pendefinisian statmen if yang memiliki tiga kasus atau lebih:
if (kondisi1) then begin
Statemen_jika_kondisi1_benar;
Contoh program:
end else begin
Statemen default;
end;
DasarPemrograman|UMB
Page7
ModulIVPemilihan(StatemenIF)
4.2.2. Statemen case
Apabila kondisi yang didefinisikan di dalam statemen if semakin banyak maka hal tersebut akan
menjadi sangat kompleks. Oleh karena itu, bahasa Pascal menyediakan alternatif lain untuk
melakukan pemilihan yang didasarkan pada nilai-nilai konstan tertentu, yaitu dengan
menggunakan statemen case. Dalam statemen case, nilai-nilai konstan yang didefinisikan
sebagai nilai pilihan harus bernilai unik dan berasal dari tipe ordinal (misalnya char, integr,
byte, boolean). Nilai tersebut juga harus berupa nilai konstan (tidak boleh berupa variabel
maupun ekspresi).
Bentuk umum pendefinisian statemen case:
case(ekspresi) of
nilai_konstan1 : statemen1;
nilai_konstan2 : statemen2;
else
statemen_default;
end;
Statemen default yang berada pada bagian else di atas bersifat opsional, artinya bisa
dituliskan bisa juga tidak, hal ini tentu tergantung dari kasus program yang akan kita tulis.
DasarPemrograman|UMB
Page8
Modul5Runtunan
MODUL5
RUNTUNAN
Algoritmamerupakanruntunan(sequence)satuataulebihinstruksi,yangberartibahwa:
1. Tiapinstruksidikerjakansatupersatu;
2. Tiapinstruksidilaksanakantepatsekali;tidakadainstruksiyangdiulang;
3. Urutan instruksi yang dilaksanakan pemroses sama dengan urutan instruksi
sebagaimanayangtertulisdidalamteksalgoritmanya;
4. akhirdariinstruksiterakhirmerupakanakhiralgoritma.
Urutan instruksi di dalam algoritma adalah penting. Urutan instruksi menunjukkan urutan
logik penyelesaian masalah. Bergantung pada masalahnya, urutan instruksi yang berbeda
mungkin tidak ada pengaruhnya terhadap solusi persoalan, tetapi mungkin juga
menghasilkankeluaranyangberbedapula.
5.1
Urutaninstruksiyangtidakberpengaruhterhadapsolusipersoalan.
Dibacaduabuahnilaiintegerdarikeyboard,AdanB.Hitungjumlahkeduanyadan
hasilkalikeduanya,lalucetakhasiljumlahdankalikepirantikeluaran.
program runtunan_1;
uses wincrt;
var
a, b,c,d : integer;
begin
write('masukan nilai A : '); readln(a);
write('masukan nilai B : '); readln(b);
c:=a+b;
d:=a*b;
writeln('C= ',c,' dan D= ',d);
end.
{1}
{2}
{3}
{4}
Output:
Jikaurutanno.3dan4ditukarkansebagaiberikut:
DasarPemrograman|UMB
Page1
Modul5Runtunan
program runtunan_1;
uses wincrt;
var
a, b,c,d : integer;
begin
write('masukan nilai A : '); readln(a);
write('masukan nilai B : '); readln(b);
d:=a*b;
c:=a+b;
writeln('C= ',c,' dan D= ',d);
end.
{1}
{2}
{4}
{3}
Makaoutputyangakandikeluarkanakanbernilaisama.
Tapijikaurutanno.1dan2ditukarkansebagaiberikut:
program runtunan_1;
uses wincrt;
var
a, b,c,d : integer;
begin
d:=a*b;
c:=a+b;
write('masukan nilai A : '); readln(a);
write('masukan nilai B : '); readln(b);
writeln('C= ',c,' dan D= ',d);
end.
{4}
{3}
{1}
{2}
Makaoutputyangakandikeluarkanakanbernilaibeda.
DasarPemrograman|UMB
Page2
Modul5Runtunan
5.2
Urutaninstruksiberpengaruhterhadapsolusipersoalan.
Diketahuiduabuahnilaiinteger,masingmasingdisimpandidalamduabuahpeubah
Outputnya:
Jikaproses(b:=temp)ditukarurutannyasepertiberikut:
program runtunantukar_2;
uses wincrt;
var a, b,temp : integer;
begin
a:=2;
b:=3;
writeln('A= ',a,' dan B= ',b);
temp:=a;
b:=temp;
a:=b;
writeln('A= ',a,' dan B= ',b);
end.
DasarPemrograman|UMB
Page3
Modul5Runtunan
Outputnya:
Kedua program di atas akan memberikan hasil yang berbeda. Pada program pertama
akan memberikan hasil yang diinginkan sebaliknya pada program kedua nilai A dan b tidak
akan bertukar.
Program Konversi_Detik;
uses wincrt;
Const Satuhari = 60 * 60 * 24;
Var
Detik: longint;
hr, jm, mn, dt: integer;
Begin
Write ('masukkan waktu (dalam detik): ');
Readln(detik);
Writeln(detik,' detik terdiri dari');
jm := detik
div 3600;
DasarPemrograman|UMB
Page4
Modul5Runtunan
LATIHAN
1. Bila diketahui deskripsi di bawah ini, berapa hasil akhir A?
A
5
B
12
A
A+2
B
A+2
A
A+B
Output (A)
2. Bila diketahui deskripsi di bawah ini, berapa hasil akhirnya bila m diberi nilai 5?
Input (m)
P
m*2
M
P+100
P
P+m
Output (P)
3. Diketahui deskripsi di bawah ini, bila k diberi nilai 4, berapa hasil akhirnya ?
Input(k)
K
5+(2*k) 3*(5+k)
Output (k)
4. Diketahui deskripsi di bawah ini, bila a diberi nilai 10 berapa hasil akhirnya?
Input(a)
a
a*2
b
a
b
b+a
Output (b)
DasarPemrograman|UMB
Page5
Statemen Case Of
Apabila kondisi yang didefinisikan di dalam statemen if semakin banyak maka hal
tersebut akan menjadi sangat kompleks. Oleh karena itu, bahasa Pascal menyediakan alternatif
lain untuk melakukan pemilihan yang didasarkan pada nilai-nilai konstan tertentu, yaitu dengan
menggunakan statemen case. Dalam statemen case, nilai-nilai konstan yang didefinisikan
sebagai nilai pilihan harus bernilai unik dan berasal dari tipe ordinal (misalnya char,
integer, byte, boolean). Nilai tersebut juga harus berupa nilai konstan (tidak boleh
berupa variabel maupun ekspresi).
Bentuk umum pendefinisian statemen case:
case(ekspresi) of
nilai_konstan1 : statemen1;
nilai_konstan2 : statemen2;
else
statemen_default;
end;
Statemen default yang berada pada bagian else di atas bersifat opsional, artinya bisa
dituliskan bisa juga tidak, hal ini tentu tergantung dari kasus program yang akan kita tulis.
case x of
1, 2, 3 : write('1 to 3');
2 : write('2');
end
Page1
program cek;
uses wincrt;
var
c : char;
begin
write('Enter a digit :');
readln(c);
case c of
'0'..'9' : writeln('OK');
'a'..'z', 'A'..'Z' : writeln('Ini adalah huruf');
else
writeln('Apa ini?');
end
end.
Bila program dijalankan maka didapatkan output:
Enter a digit : 1
OK
Atau
Enter a digit : a
Page2
program mahasiswa;
uses wincrt;
var sel : integer;
yn : char;
nama, nim : string;
begin
writeln('[1].pembuka');
writeln('[2].isi biodata');
writeln('[3].penutup');
write('masukan menu pilihan [1-3] : ');
readln(sel);
if sel = 1 then
begin
writeln('selamat datang!!!');
end;
if sel = 2 then
begin
write('masukan nim : ');
readln(nim);
write('masukan nama : ');
readln(nama);
end;
if sel = 3 then
begin
writeln(sampai jumpa!!!');
end;
end.
Page3
program mahasiswa;
uses wincrt;
var sel : integer;
nama, nim : string;
begin
writeln('[1].pembuka');
writeln('[2].isi biodata');
writeln('[3].penutup');
write('masukan menu pilihan [1-3] : ');
readln(sel);
case (sel) of
1:
begin
writeln('selamat datang!!!');
end;
2:
begin
write('masukan nim : ');
readln(nim);
write('masukan nama : ');
readln(nama);
end;
3:
begin
LATIHAN
writeln(sampai jumpa!!!');
1. Buatlah program seperti dibawah ini dengan menggunakan Case of!
end;
end;
end.
Page4
program hitung;
uses wincrt;
var sel : integer;
nilai1, nilai2,jumlah, kurang, kali : integer;
begin
writeln('[1].penjumlahan');
writeln('[2].pengurangan);
writeln('[3].perkalian');
write('masukan menu pilihan [1-3] : ');
readln(sel);
case (sel) of
1:
begin
writeln(PENJUMLAHAN');
write('masukan nilai1 : ');
readln(nilai1);
write('masukan nilai2 : ');
readln(nilai2);
jumlah:=nilai1+nilai2;
write('Hasil penjumlahannya : ',jumlah);
end;
2:
Begin
writeln(PENGURANGAN');
write('masukan nilai1 : ');
readln(nilai1);
write('masukan nilai2 : ');
readln(nilai2);
kurang:=nilai1-nilai2;
write('Hasil pennguranganya : ',kurang);
end;
3:
Begin
writeln(PERKALIAN');
write('masukan nilai1 : ');
readln(nilai1);
write('masukan nilai2 : ');
readln(nilai2);
kali:=nilai1*nilai2;
write('Hasil perkaliannya : ',kali);
end;
end;
end.
Page5
Page6
ModulVIIStatemenPengulangan
MODUL VII
STATEMEN PENGULANGAN
Pengulangan (loop) merupakan bentuk yang sering ditemui di dalam suatu program aplikasi. Di
dalam bahasa Pascal, dikenal tiga macam perulangan, yaitu dengan menggunakan pernyataan
For, While-Do, dan RepeatUntil.
3.
Blok pengulangan merupakan suatu blok program yang memiliki mekanisme untuk melakukan
pengeksekusian statemen secara berulang yang bertujuan untuk membuat program yang kita
tulis menjadi efisien. Perhatikan contoh program berikut ini:
Page1
ModulVIIStatemenPengulangan
Program UlangStatemen;
Uses wincrt;
Begin
Clrscr;
Writeln(Bahasa Pemograman Pascal);
Writeln(Bahasa Pemograman Pascal);
Writeln(Bahasa Pemograman Pascal);
Writeln(Bahasa Pemograman Pascal);
Writeln(Bahasa Pemograman Pascal);
Readln;
End.
Output:
Tampak pada program diatas bahwa untuk menuliskan teks Bahasa Pemograman Pascal ke
layar sebanyak lima kali, kita harus menuliskan statemen
Writeln(Bahasa Pemograman Pascal);
sebanyak lima kali juga. Bayangkan jika kita dituntut untuk menuliskannya sebanyak 50 kali
atau bahkan 100 kali. Hal ini tentu akan merepotkan, membosankan, dan juga menyita waktu
anda. Bahasa Pascal memiliki tiga buah konstruksi untuk melakukan pengulangan, yaitu
dengan menggunakan for, while...do dan repeat...until.
Bentuk Umum :
a. FOR i=v1 TO v2 DO statement
b. FOR i=v1 DOWNTO v2 DO statement
Page2
ModulVIIStatemenPengulangan
id = v1
id = v1
t = v2
t = v2
false
id <= t
true
statement
id = succ (id)
FOR - TO
false
id >= t
true
statement
id = pred (id)
FOR - downto
Contoh :
Var I : integer;
Begin
For I := 1 to 5 Do Writeln(Pascal);
End.
Hasilnya :
Pascal
Pascal
Pascal
Pascal
Pascal
Penjelasan :
Berarti statement WriteLn(Pascal) akan diulang sebanyak 5 kali, yaitu dengan penghitung I
dari nilai awal 1 sampai dengan nilai akhir 5.
Dasar Pemrograman Pascal | UMB
Page3
ModulVIIStatemenPengulangan
Contoh :
Penulisan statement yang akan diproses berulang kali tersebut dapat juga ditulis dalam bentuk
blok statement (diawali dengan Begin dan diakhiri dengan And), walaupun hanya berisi sebuah
statement saja, sebagai berikut :
Var
I : integer;
Begin
For I := 1 to 5 Do
Begin
WriteLn(Pascal);
End;
End.
Page4
ModulVIIStatemenPengulangan
Page5
ModulVIIStatemenPengulangan
Output:
Penjelasan:
Program diatas akan melakukan statemen sebanyak 5 kali, dari mulai indeks ke-1 sampai
indeks ke-5, sehingga dilayar monitor akan tampil teks Bahasa Pemograman Pascal sebanyak
5 buah.
Contoh2: program yang didalamnya terdapat pengulangan yang menggunakan statemen for
yang ditulis dalam bentuk blok statemen (diawali dengan Begin dan diakhiri dengan End),
walaupun hanya berisi sebuah statemen saja.
program statemenfor2;
uses wincrt;
var
i :integer;
begin
clrscr;
for i:= 1 to 5 do
begin
writeln('Bahasa Pemograman Pascal');
end;
end.
Page6
ModulVIIStatemenPengulangan
Output:
Contoh3: program yang didalamnya terdapat proses perulangan sebanyak 2 buah statemen
dalam satu blok statemen.
program statemenfor2;
uses wincrt;
var
i :integer;
begin
clrscr;
for i:= 1 to 5 do
begin
write(i);
writeln(' Bahasa Pemograman Pascal');
end;
end.
Page7
ModulVIIStatemenPengulangan
Output:
Bandingkan program contoh sebelumnya dengan program berikut ini yang tidak menggunakan
blok statemen:
program statemenfor2;
uses wincrt;
var
i :integer;
begin
clrscr;
for i:= 1 to 5 do
write(i);
writeln(' Bahasa Pemograman Pascal');
end.
Page8
ModulVIIStatemenPengulangan
Output:
Penjelasan:
Maka yang diulang hanya sataemen pertama saja, statemen berikutnya tidak termasuk dalam
perulangan karena tidak dalam bentuk blok statemen.
Page9
ModulVIIStatemenPengulangan
Contoh program yang didalamnya menggunakan pengulangan yang bersifat menurun:
program statemenfor5;
uses wincrt;
var
i:integer;
begin
clrscr;
{melakukan pengulangan dengan indeks awal = 5}
for i:=5 downto 1 do begin
writeln(i);
end;
readln;
end.
Bila program dijalankan maka didapatkan output:
Page10
MODULVIIPERULANGAN
MODUL VII
STATEMENT PERULANGAN 2
Pengulangan (loop) merupakan bentuk yang sering ditemui di dalam suatu program
aplikasi. Di dalam bahasa Pascal, dikenal tiga macam perulangan, yaitu dengan
menggunakan pernyataan For, While-Do, dan RepeatUntil.
7.1
digunakan untuk melakukan proses perulangan suatu pernyataan atau blok pernyataan
terus-menerus selama kondisi ungkapan logika pada While masih bernilai logika benar.
Bentuk Umum : While kondisi ungkapan Do Pernyataan
Contoh :
program while-do;
uses wincrt;
Var
i : Integer;
Begin
i:=0;
While i<5 Do
Begin
Writeln(i);
i:=i+1;
End;
End.
Page1
MODULVIIPERULANGAN
Perhatikan pada bagian listing program yang menyatakan pengulangan sintak :
List Program
Penjelasan
WHILE i<5 DO
Begin
Writeln(i);
Mencetak variabel i
i:=i+1;
End;
7.2
Page2
MODULVIIPERULANGAN
Bila program dijalankan akan menghasilkan:
1
2
3
4
5
Perhatikan list program yang berada diantara fungsi pustaka repeat dan until.
List Program
Penjelasan
REPEAT
Writeln(i);
Mencetak variabel i
i:=i+1;
UNTIL i>5;
Contoh :
program berat_ideal;
uses wincrt;
var
t,m:real;
j:char;
begin
repeat
clrscr;
begin
write('Masukkan tinggi badan Anda=');readln(t);
m:=((t-100)-(0.1*(t-100)));
writeln('Berat ideal Anda= ',m:2:0);
write('Anda Ingin menghitung lagi?=');readln(j);
end;
until (j <> 'y');
end.
Page3
MODULVIIPERULANGAN
LATIHAN
1. Buatlah suatu program untuk menampilkan bilangan ganjil dari 1 sampai 100 dengan
menggunakan perulangan FOR!
2. Buatlah tampilan seperti dibawah ini!
A
BC
DEF
GHIJ
3. Buatlah suatu program yang menerima input bilangan bulat positif. Program sistem
dapat menentukan apakah input bilangan tersebut adalah bilangan prima atau bukan!
Page4
2/16/2013
ReviewTugas
Programganjil;
useswincrt;
var
i,n:integer;
J:char;
begin
repeat
write(Masukann=');
readln(n);
writeln;
f i t d
fori:=1tondo
if(imod2=1)then
writeln(i);
Writeln(Andainginmengulanglagi?);
Read(j);
Until(j<>y)
end.
ReviewTugas2
programbil_prima;
useswincrt;
varx,i,j:integer;
iji
begin
write('Masukkanangka=');
readln(i);
writeln;j:=0;
forx:=1toido
if(imodx=0)then
j:=j+1;
writeln(i);
ifj=2then
write('inibilanganprima')else
write('inibukanbil.prima');
end.
2/16/2013
Random
The Random command will give you a random number
from 0 to the number you give it 1. The Random
command generates the same random numbers every
time you run a program so the Randomize command is
used to make them more random by using the system
clock.
Randomize;
i:=Random(100);
ContohProgramRandom
programRand;
var
i:Integer;
,j
begin
Randomize;
i:=Random(10);
write(i);
it (i)
j:=Random(10);
write(j);
end.
Variabel random
karena bernilai angka
maka bertipe kan
integer
RandomCommand
Nilai pada variabel i
akan diacak dari 0
0 10
Variabel i ditampilkan
setelah diacak(random)
2/16/2013
Latihan
1.Buatlahprogramperkaliandariduabuahvariabel
yangnilainyarandom,dimanapenggunamenginput
hasilperkaliannyadansistemakanmengecek
kesalahannya!
A
ORD
ORDadalahMerubahnilaisuatuvariabeldaribentuk
karakterkebentuklongint.
karakterkebentuklongint
programubah1;
useswincrt;
varx:integer;
b i
begin
write(ord('B'));
end.
2/16/2013
CHR
CHRadalah Merubah nilai dari byteke bentuk karakter
yangsesuai
i dengan
d
k d ASCII.
kode
ASCII
programubah2;
useswincrt;
var x:byte;
begin
forx:=0to255do
write(chr(x));
end.
Programcariascii;
useswincrt;
var
x:byte;
lagi:char;
b i
begin
lagi:='Y';
while(upcase(lagi)='Y')do
begin
clrscr;
write('KodeASCIIyangingin');
write('AndaLihat!(0255):');readLn(x);
writeLn;
writeLn('KodeASCIInyaadalah:',CHR(x));
writeLn;
write('Maulihatlagi?(y/t):');
readLn(lagi);
end;
end.
2/16/2013
Upcase
programhurufkeciljdbesar;
useswincrt;
varx:char;
begin
clrscr;
write( KetiksatuHurufkecil: );readLn(x);
write('KetiksatuHurufkecil:');readLn(x);
writeLn('Hurufyangdiketikjadi:',UpCase(x));
readLn;
end.
programconversion_character;
useswincrt;
functionKHuruf(s:string):string;
var
x:byte;
panjang:integer;
begin
panjang:=length(s);
f
forx:=1topanjangdo
t
j
d
begin
ifs[x]<>upcase(s[x])then
s[x]:=upcase(s[x])
else
ifs[x]=''thens[x]:=s[x]
else
s[x]:=chr(ord(s[x])+32);
end;
KHuruf:=s;
end;
var
k:string;
begin
write('Writeaword=');readln(k);
writeln;
writeln('yourwardare:',k);
writeln;
writeln('afterconversion=',KHuruf(k));
end.
2/16/2013
2/16/2013
Copy
Syntax
Contoh
8 10 12
program salinkata;
uses wincrt;
Var
S : String;
Begin
S := 'Who are you ?';
writeln(S);
S := Copy(S, 9, 3); { meng-copy kata you }
Writeln(
hasil copy : ',S);
Writeln('hasil
S);
End.
2/16/2013
Pos
: get the position of a substring from a string.
Syntax : Pos(substr,s)
Contoh :
Insert
Syntax
Contoh
program sisip;
uses wincrt;
var
s1, s2 : string;
begin
s1 :='aku cinta kalian';
writeln('kalimat utama = ',s1);
s2:
tidak ';;
s2:='tidak
writeln('kata yang akan disisipkan = ', s2);
insert(s2,s1,5);
readln;
writeln('setelah di insert = ',s1);
end.
2/16/2013
Val
: konversi string ke numeric
Syntax : val(strvar,numvar,errorcode)
- strvar adalah variabel string yang akan dikonversi
- numvar is variabel numeric yang bertipekan integer
maupun real
- errorcode is an integer variable that holds the error
code. If errorcode is 0,, conversion success. Otherwise,,
it points at the position of strvar that cause failure
2/16/2013
program konversi;
uses wincrt;
var
s : string;
e : integer;
r : real;
begin
write('Enter a number : '); readln(s);
val(s,r,e);
if e<>0 then
writeln('Error at position : ',e)
else
writeln('That was : ',r:4:3);
end.
Str
Syntax
Contoh
program konversi2;
uses wincrt;
var
s : string;
i : integer;
g
begin
write('Input an integer : '); readln(i);
str(i,s);
writeln('That was : ',s);
end.
ARRAY
Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang
mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik
mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik
ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan
menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte,
word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik
mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data
tersebut.
Grades = Array [1..5] of Integer;
Alpha_counters = Array ['a' .. 'z'] of Integer;
Nama = Array [1..4] of String[30];
List = Array [1..100] of 1..100;
Avg_list = Array [1..50] of Real;
Flag_list = Array [1..10] of Boolean;
Contoh Program2 :
Program Contoh_Array_Input2;
Uses wincrt;
Var jurusan : array[1..5] of String;
Begin
ClrScr;
jurusan[1]:=Teknik Informatika;
jurusan[2]:=Sistem Informasi;
jurusan[3]:=Ekonomi;
jurusan[4]:=Teknik Elektro;
jurusan[5]:=Desain Grafis;
Writeln('nilai varibel jurusan ke 1 = ', jurusan[1]);
Readln;
End.
Contoh Program3 :
Program Contoh_Array_Input3;
Uses wincrt;
Var jurusan : array['a'..'z'] of String;
Begin
ClrScr;
jurusan['a']:='Teknik Informatika';
jurusan['b']:='Sistem Informasi';
jurusan['c']:='Ekonomi;
jurusan['d']:='Teknik Elektro';
jurusan['e']:='Desain Grafis';
Writeln('nilai varibel jurusan ke 1 = ', jurusan['a']);
Readln;
End.
Salah satu cara untuk menampilkan semua nilai data dalam variabel array adalah dengan
menggunakan struktur looping seperti FOR atau WHILE.
1. FOR
Program Contoh_Array_ulang1;
Uses wincrt;
Var jurusan : array[1..5] of String;
Begin
ClrScr;
jurusan[1]:=Teknik Informatika;
jurusan[2]:=Sistem Informasi;
jurusan[3]:=Ekonomi;
jurusan[4]:=Teknik Elektro;
jurusan[5]:=Desain Grafis;
for i:= 1 to 5 do
begin
writeln('nilai varibel jurusan ke-,i,= ', jurusan[i]);
end;
End.
Output :
2. WHILE DO
Program Contoh_Array_ulang2;
Uses wincrt;
Var jurusan : array[1..5] of String;
Begin
ClrScr;
jurusan[1]:=Teknik Informatika;
jurusan[2]:=Sistem Informasi;
jurusan[3]:=Ekonomi;
jurusan[4]:=Teknik Elektro;
jurusan[5]:=Desain Grafis;
i:=1;
while i <= 5 do
begin
writeln('nilai varibel jurusan ke-',i,'= ', jurusan[i]);
i:=i+1;
end;
End.
Output :
Program Contoh_Array_Input;
Uses wincrt;
Var jurusan : array[1..5] of String;
i : integer;
Begin
For i:= 1 to 5 do
begin
write('Masukan jurusan : ');
readln(jurusan[i]);
writeln('Jurusan index ke-',i,' adalah ',jurusan[i]);
end;
End.
Program Contoh_Array_Input;
Uses wincrt;
Var jurusan : array[1..5] of String;
i : integer;
Begin
Write(Masukan data array yang diperlukan = );
Readln(i);
For i:= 1 to i do
begin
write('Masukan jurusan : ');
readln(jurusan[i]);
writeln('Jurusan index ke-',i,' adalah ',jurusan[i]);
end;
End.
LATIHAN
Buatlah program yang di dalamnya terdapat 3 array yaitu untuk NIM, NAMA, JURUSAN
yang semua variabelnya berasal dari inputan pengguna!
LATIHAN
Program bilangan romawi merupakan program untuk menconversi bilangan desimal
menjadi bilangan romawi.
Berikut beberapa contoh bilangan romawi :
I = 1 XL = 40 D = 500
IV = 4 L = 50 CM = 900
V = 5 XC = 90 M = 1000
IX = 9 C = 100
X = 10 CD = 400
Berikut adalah source code dalam bahasa pascal untuk program conversi dari bilangan
desimal ke bilangan romawi :
program Romawi;
uses wincrt;
const rom : array [1..13] of string
('M','CM','D','CD','C','XC','L','XL','X','IX','V','IV','I');
des : array [1..13] of integer =
(1000,900,500,400,100,90,50,40,10,9,5,4,1);
var
bil,i: integer;
roma : string;
begin
write('Masukan suatu bilangan [1..3999] : ');
readln(bil);
if (bil>0) and (bil<4000) then
begin
for i:=1 to 13 do
begin
while (bil>= des[i]) do
begin
bil
:= bil - des[i];
else
writeln('Tidak diketahui simbol romawinya...');
end.