Thursday, January 8, 2015

Algoritma & Pemrograman 1
Teknik Percabangan 1
4. Teknik Percabangan
Struktur keputusan adalah struktur program yang
melakukan proses pengujian untuk pengujian untuk
mengambil suatu keputusan apakah suatu baris atau blok
instruksi akan diproses atau tidak. Pengujian kondisi ini
dilakukan untuk memilih salah satu dari beberapa alternatif
yang tersedia.
Syarat dalam dunia pemrograman adalah sebuah
pernyataan boole, yang dapat bernilai benar(true) atau salah
(false). Biasanya sebuah syarat terdiri dari operand-operand
yang dihubungkan dengan operator logika. Yaitu :
=,<>,>,<,<=,>=, and(Dan) dan or(atau).
Mulai
Syarat Perintah 1
Perintah 2
SELESAI
Read
Y
T
Algoritma & Pemrograman 1
Teknik Percabangan 2
A. IF..THEN…ELSE
Pemrograman dapat mengatur tindakan yang akan dilakukan kalau kondisi bernilai
benar ataupun tindakan yang akan dijalankan kalau kondisi salah dengan
IF...THEN...ELSE
Bentuk umum IF...THEN...ELSE dibagi menjadi 2 kelompok :
1. IF...THEN...ELSE Satu baris
2. IF...THEN...ELSE Banyak baris
IF...THEN...ELSE Satu Baris
Di dalam program jika menjumpai dua kemungkinan atau pilihan pencabangan,
dapat menggunakan IF...THEN...ELSE satu baris.
Bentuk Umum :
IF kondisi THEN { statement1 │nobar1 │GOTO label1 }
[ ELSE { statement2 │ nobar2 │ GOTO label2 } ]
dengan parameter-parameternya :
Kondisi : syarat yang akan ditest
statement1,dan statement 2: statement yang akan dikerjakan
nobar1, nobar2 : nomor baris yang dituju
label1, label2 : label baris yang dituju
Parameter :
 kondisi atau syarat yang ditest dinyatakan dengan operator relasi atau operator
pembanding (<, <=, =, >=, >, < >).
 Nobar1, dan nobar2 menunjukkan label baris yang berupa angka
 Label1, dan label2 menunjukkan label baris yang berupa label alphanumeris (diawali
dengan huruf)
Algoritma & Pemrograman 1
Teknik Percabangan 3
Bentuk umum diatas bisa dijelaskan sebagai berikut :
 Jika kondisi bernilai benar, maka salah satu dari tiga pilihan dibelakang statement
THEN akan dikerjakan.
 Jika kondisi salah, maka salah satu dari tiga pilihan dibelakang statement ELSE akan
dikejakan.
 Jika statement ELSE tidak ditulis maka proses eksekusi langsung akan melompat ke
baris dibawah statement IF.
Bagan alir IF satu baris
a b
Gambar a. Tanpa statement ELSE
b. Dengan statement ELSE
Contoh :
1. IF i >= kali THEN 20
2. IF ( i <= 100 ) AND ( i >= 80 ) THEN PRINT i
3. IF ( i >= 100 ) OR ( i <= 80 ) THEN PRINT i
4. IF i >= kali THEN GOTO 20 ELSE kali = kali + 1
5. CLS
INPUT “Total Pembelian :” , TotalBeli
Korting = 0
Tidak
Menghitung
nilai kondisi
i
Kondisi
Dipenuhi
?
Kerjakan
statement
Ke statement berikutnya
Menghitung
nilai kondisi
Kondisi
Dipenuhi
?
Kerjakan
Statement1
Kerjakan
Statemen2
Ke statement berikutnya
Ya Tidak Ya
Algoritma & Pemrograman 1
Teknik Percabangan 4
IF TotalBeli >= 100000 THEN Korting = .1 * TotalBeli ElSE Korting = 0
PRINT “Korting = “ ; Korting
END
Dalam Penulisan statement IF...THEN...ELSE satu baris, semua parameter harus
ditulis menjadi satu baris statement.
IF...THEN...ELSE Banyak baris
Di dalam program jika kita menjumpai lebih dari dua kemungkinan atau lebih
pilihan pencabangan, kita bisa menggunakan IF...THEN...ELSE banyak baris.
4 aturan penggunaan blok IF...THEN...ELSE yaitu :
1. Di belakang statement THEN tidak boleh ada statement apapun selain baris
komentar. Jika anda menuliskan sesuatu statement, kompiler akan menganggapnya
sebagai statement IF...THEN...ELSE satu baris.
2. Kata ELSE, ELSEIF dan END IF hanya boleh diawali dengan nomor baris atau
label baris. Jika tidak, maka kata ini harus merupakan kata awal dari baris tersebut.
3. Blok IF harus terletak sebagai statement pertama dalam suatu baris.
4. Blok harus diakhiri dengan END IF.
Bentuk Umum :
IF kondisi1 THEN
Statement1
[ ELSEIF kondisi2 THEN
[ statement2 ] ]
.
.
[ ELSE
[ statementn ] ]
END IF
Algoritma & Pemrograman 1
Teknik Percabangan 5
dengan parameter-parameternya :
kondisi1,
kondisi2, … : syarat yang harus ditest
statement1,
statement2, … : blok statement yang akan dikerjakan sesuai dengan
kondisi yang dipenuhi.
Bentuk umum diatas bisa dijelaskan sebagai berikut :
 Jika kondisi1 bernilai benar, blok statement1 akan dikerjakan diteruskan ke statement
IF.
 Jika kondisi1 bernilai salah, kompiler akan mentest kondisi2.Jika bernilai benar, maka
blok statement2 akan dikerjakan, diteruskan ke statement END IF. Dst
Contoh :
CLS
PRINT “1. Nasi Soto Ayam”
PRINT “2. Nasi Rames”
INPUT “Pilihan (1..2) : “, Pil%
IF PIL% = 1 THEN
PRINT “Nasi Soto Ayam”
ELSEIF PIL% = 2 THEN
PRINT “Nasi Rames”
ELSE
PRINT “Pilihan Anda tidak dimengerti”
END IF
END
Algoritma & Pemrograman 1
Teknik Percabangan 6
Bagan alir blok IF...THEN...ELSE
SELECT …CASE
Statement SELECT CASE dapat digunakan untuk memilih satu diantara sejumlah
alternatif.
Perbedaan SELECT CASE dan IF…THEN…ELSE :
• SELECT CASE kondisi yang ditest hanya sebuah, jika memenuhi proses eksekusi
akan diteruskan ke bagian tertentu dari suatu program berdasarkan nilai kondisi yang
ditest. Jika tidak akan berlanjut ke kondisi berikutnya.
• IF…THEN…ELSE banyak baris dapat mentest lebih dari sebuah kondisi yang satu
sama lain saling berbeda.
Test
Kondisi1
Dipenuhi
?
Test
Kondisi2
Dipenuhi
?
Test
Kondisin
Dipenuhi
?
Tidak Tidak
Ya Ya
Menghitung nilai
Kondisi1 sampai kondisin
Kerjakan
Statement1
Kerjakan
Statement2
Kerjakan
Statement1
Kerjakan
Statement1
KerjakanStatement berikutnya
Tidak
Ya
Algoritma & Pemrograman 1
Teknik Percabangan 7
Bentuk Umum :
SELECT CASE ungkapan
CASE nilai1
[ statement1 ]
[ CASE nilai2
[ statement2 ] ]
.
.
[ CASE ELSE
[ statementn ] ]
END SELECT
dengan parameter-parameternya :
ungkapan : sembarang ungkapan (numeris atau untai)
nilai1,
nilai2, … : nilai-nilai dari parameter ungkapan
statement1,
statement2, …: statement-statement yang akan dikerjakan.
Contoh :
CLS
PRINT “1. Nasi Soto Ayam”
PRINT “2. Nasi Rames”
PRINT “3. Nasi Gudeg”
INPUT “Pilihan (1..3) : “, Pil%
SELECT CASE Pil%
CASE 1
PRINT “Nasi Soto Ayam”
CASE 2
PRINT “Nasi Rames”
CASE 3
PRINT “Nasi Gudeg”
CASE ELSE
Algoritma & Pemrograman 1
Teknik Percabangan 8
PRINT “Pilihan Anda tidak dimengerti”
END SELECT
END
Bagan alir statement SELECT CASE
Untuk menentukan ungkapan yang mempunyai jangkauan tertentu bisa digunakan
bentuk umum sebagai berikut :
1. CASE ungkapan TO ungkapan
Jika menggunakan kata baku TO tulislah ungkapan yang mempunyai nilai yang
paling kecil terlebih dahulu.
Contoh :
CLS
PRINT “Ketik sebuah karakter” ;
Kar$ = INPUT(1)
PRINT kar$
SELECT CASE Kar$
CASE “A” TO “Z”
PRINT “Merupakan huruf kapital”
CASE “a” TO “z”
SELECT CASE
Kerjakan
Statement1
Kerjakan
Statement1
Kerjakan
Statement1
Kerjakan
Statement1
END SELECT
Ke statement berikutnya
. . . . . .
Menghitung
Nilai ungkapan
Algoritma & Pemrograman 1
Teknik Percabangan 9
PRINT “Merupakan huruf kecil”
CASE “0” TO “9”
PRINT “Merupakan digit”
CASE “ “
PRINT “Spasi yang Anda tekan”
CASE “!”, “@”, “#”, “$”, “%”, “^”, “&”, “*”
PRINT “Anda menekan suatu tombol”
CASE ELSE
PRINT “Bukan angka, huruf, spasi ataupun”
PRINT “Simbol !, @, #, $, %, ^, &, *”
END SELECT
END
2. CASE IS oprelasi ungkapan
Oprelasi : sembarang ungkapan relasi ( <, <=, =, >=, >, <>)
Contoh :
CLS
INPUT “Tahun : “, Tahun%
SELECT CASE Tahun%
CASE IS < 1945
PRINT “Tahun sebelum kemerdekaan”
CASE IS = 1945
PRINT “Tahun kemerdekaan”
CASE IS > 1945
PRINT “Masa pasca kemerdekaan”
END SELECT
END
Algoritma & Pemrograman 1
Teknik Percabangan 10
Hubungan Antar Kondisi
1. HUBUNGAN DAN
Merupakan hubungan antar kondisi yang mensyaratkan
ke-2 kondisi terpenuhi.
Contoh :Untuk menentukan penerimaan calon pegawai
ditentukan kriteria sbg :
- Umur di atas 30 tahun, dan
- Nilai test lebih besar dari 60
Untuk pegawai yang telah menikah mendapat tunjangan istri
besarnya tunjangan istri ditentukan berdasarkan masa kerja.
Untuk masa kerja kurang dari tiga tahun mendapat
tunjangan sebesar 3% dari gaji pokok, sedangkan masa
kerja sama dengan atau lebih besar dari tiga tahun
mendapat tunjangan sebesar 6% dari gaji pokok.
Capeg diterima
Capeg tidak diterima
Umur >30 Y Nilai >60 Y
T T
Algoritma & Pemrograman 1
Teknik Percabangan 11
2. HUBUNGAN ATAU
Merupakan hubungan antar kondisi yang mensyaratkan
hanya salah satu kondisi yang terpenuhi.
Contoh :Tunjangan pensiun diberikan kepada pegawai
yang berusia lebih dari 60 tahun. Untuk pegawai yang
mempunyai masa kerja lebih dari 20 tahun juga
mendapat tunjangan tsb.
Status =
“Kawin”
TJ = 6%*GP
TJ = 3% * GP
MK >= 3
Tdk medapat Tunj.
pensiun
Medapat Tunj. pensiun
Umur >60 MK >20
Y Y
T
T
T
Y
T
Y
Algoritma & Pemrograman 1
Teknik Percabangan 12
Latihan:
Mulai
T<20
X=S+T
X=S-T
SELESAI
BACA T,S
X
Y
T
AlGorItma PemRoGraman
TIPE- TIPE DATA
DALAM TURBO PASCAL
Secara umum, tipe data dalam pemrograman Pascal adalah:
– Tipe data sederhana
– Tipe data standard (standard data type)
--> Integer, Real, Boolean, Char, dan String
– Tipe data didefinisikan pemakai (user defined data type)
--> subrange dan enumerasi
– Tipe data terstruktur
--> Array, record, set, file
– Tipe data penunjuk
--> Pointer
Tipe data berfungsi membatasi jangkauan data ynag akan dilaksanakan.
TIPE DATA SEDERHANA
Tipe Data Standard
– Integer
Tipe integer adalah tipe data yang nilainya bulat. Ada 5 macam tpe integer, yaitu:
Tipe Jangkauan Nilai (Range) Format
Shortint -128 .. 127 Signed 8 bit
Integer -32768 .. 32767 Signed 16 bit
Longint -2147483648 .. 2147483647 Signed 32 bit
Byte 0 .. 255 Unsigned 8 bit
Word 0 .. 65535 Unsigned 8 bit
Contoh deklarasi:
Var A, B, C : Integer;
D, E, F : Longint;
Operator-operator yang berlaku pada tipe data integer, yaitu :
Operator arithmatik : +, - , *, /, div, mod
Operator logic : <, = , > , <= , >= , <>
– Real
Real merupakan tipe bilangan pecahan. Bilangan real bisa dinyatakan dalam bentuk
eksponensial. Ada 5 macam tipe real, yaitu:
Tipe Jangkauan Nilai Digit Signifikan Ukuran
Real 2,9 x 10-38 .. 1,7 x 1038 11 - 12 6 byte
Single 1,5 x 10-45 .. 3,4 x 1038 7 - 8 4 byte
Double 5.0 x 10-324 .. 1,7 x 10308 15 - 16 8 byte
Extended 3,4 x 10-4932 .. 1,11 x 104932 19 - 20 10 byte
Comp -263 + 1 .. 263 - 1 19 - 20 8 byte
Contoh deklarasi:
Var A, B, C : Real;
D, E, F : Double;
Operasi – operasi yang bisa dikerjakan oleh tipe data real adalah:
• Operasi biner, seperti penjumlahan (+), pengurangan (-), perkalian (*), dan
pembagian (/)
• Operasi uner. Contoh: -4.25, +1.25
– Boolean
Boolean adalah tipe data yang hanya mempunyai dua kemungkinan, yaitu true dan
false. Biasanya tipe data ini digunakan untuk perbandingan.
Var A, B, C : Boolean;
Operator NOT, OR, AND, dan XOR dapat dibentuk secara bersamaan menjadi
sebuah ungkapan Boolean yang rumit.
Misal:
Var A,B,C: Boolean;
Begin
C := false; B := true;
A := (Not(C) AND Not (B)) XOR (C);
Write(A); readln;
End.
Menurut anda, berapakah nilai A?
– Char
Char adalah semua tombol yang terdapat pada keyboard atau lebih lengkapnya
semua karakter yang terdapat pada kode ASCII.
Catatan : Apabila char ingin dijadikan sebagai konstanta maka karakter yang
dimasukkan harus diapit dengan tanda kutip satu. Dan apabila karakter itu berupa
tanda kutip satu maka harus diapit dengan dua tanda kutip satu
Beberapa fungsi untuk memanipulasi tipe daa char:
– Ord(x) dengan x adalah data bertipe char. Fungsi ini digunakan untuk
memperoleh nilai urutan dalam kode ASCII yang digunakan untuk
melambangkan karakter tersebut. Contoh: Ord('C') adalah 67.
– Char(x) dengan x adalah data bertipe byte. Fungsi ini adalah kebalikan dari
fungsi Ord. Nilai yang diperoleh merupakan karakter ASCII yang dinyatakan
dengan urutan ke x. Contoh: Char(67) adalah 'C'.
– Pred(x) dengan x adalah data bertipe char. Fungsi ini digunakan untuk
mengetahui karakter yang mendahului x. Contoh: Pred('h') adalah 'g'.
– Succ(x) dengan x adalah data bertipe char. Fungsi ini digunakan untuk
mengetahui karakter sesudah x. Contoh: Succ('h') adalah 'i'. Jika x tidak
mempunyai penerus, maka nilai fungsi ini tidak terdefinisikan.
– Upcase(x) dengan x adalah data bertipe char. Jika x merupakan huruf kecil maka
akan dikembalikan huruf kapitalnya. Contoh: upcase('a') adalah 'A'.
– String
String adalah data yang berisi sederet karakter yang terletak diantara tanda kutip
satu. Jika karakter kutip merupakan bagian dari konstanta string, maka ditulis
dengan menggunakan dua buah tanda kutip satu berurutan. Nilai data string akan
menempati memori sebesar maksimla jumlah karakter yang dapa ditampung
ditambah denga 1 byte (index ke-0) untuk menyimpan panjang string yang
sebenarnya. Jika panjang string tidak ditulis, maka panjang string dianggap 255
karakter. Panjang string yang diijinkan antara 1 sampai 255.
Bentuk umum dari deklarasi tipe string adalah:
Var pengenal : string[panjang];
dimana
pengenal : nama variabel
panjang : bilangan bulat yang menunjukkan banyaknya karakter (1 – 255).
Untuk tipe data string, operator yang berlaku adalah operator penggabungan (+).
Tipe data didefinisikan pemakai (user-defined data type)
– Subrange
Tipe data subrange adalah suatu range yang menunjukkan nilai terkecil dan nilai
terbesar yang dapat dipergunakan. Deklarasi tipe data subrange mempunyai bentuk:
Type pengenal = konstanta1 .. konstanta2;
dimana:
pengenal : nama tipe data yang dideklarasikan
konstanta1 : batas bawah nilai data
konstanta2 : batas atas nilai data
Kedua konstanta di dalam subrange harus bertipe ordinal yang sama, di mana nilai
konstanta pertama lebih kecil atau sama dengan nilai konstanta kedua. Tipe data
real tidak dapat digunakan sebagai nilai subrange, karena buka tipe ordinal. Contoh:
Type tanggal = 1 .. 31;
bulan = 1 .. 12;
– Enumerated
Tipe data enumerated (skalar) menunjukkan kumpulan dari nilai yang urutannya
sudah pasti. Nilai dari tipe yang dideklarasikan ini akan diwakili dengan pengenal –
pengenal (identifiers) yang akan menjadi nilai suatu konstanta. Contoh:
Type bahasa = (delphi, java, c, pascal, basic);
bulan = (maret, april, mei, juni, juli);
Tipe data bulan mempunya 5 elemen dari maret sampai juli. Dari urutannya, maret
adalah identifier berupa konstanta bernilai 0 dan juli bernilai 4. Yang perlu diperhatikan
dengan tipe data skalar ini adalah tipe data ini sudah berbeda dengan tipe standar yang
ada dan pascal tidak mengijinkan operasi dengan tipe data yamg berbeda.
Derajat Operator
Anda sudah mengenal beberapa tipe data di dalam Pascal dan operatornya. Di dalam
Pascal, operator – operator tersebut memiliki derajat atau tingakatan. Adapun kegunaan
dari derajat ini adalah Pascal dapat menentukan operator mana yang akan di jalankan
terlebih dahulu.
Misal: x := 4 + 5 * 3
Menurut anda, berapakah nilai dari x? Apakah 27 (hasil dari 9 * 3) atau 19 (hasil dari 4 +
15)
Berikut ini urutan operator berdasarkan derajatnya:
@, not, *, /, div, mod, as, and, shl, shr, +, -, or, xor, :=, <>, <, >, <=, >=, in
Berdasarkan dari urutan operator di atas, maka nilai x pada x := 4 + 5 * 3 adalah 19,
karena operator * lebih dulu dikerjakan daripada operator +.
Akan tetapi, jika kita ingin agar operator + dikerjakan terlebih dahulu, kita bisa
meletakkan operasi penjumlahan tersebut di dalam kurung, musalnya: x := (4 + 5) * 3. Di
sini nilai x itu adalah 27, karena di dalam Pascal operasi yang di dalam kurung akan
dilakukan terlebih dahulu, tidak dipengaruhi oleh derajat operator.
INPUT OUTPUT DI DALAM PASCAL
Write dan Writeln
Perintah ini digunakan untuk mencetak kata-kata atau variable ke layer kompuer.
Sebagai contoh untuk mencetak kata ‘Sedang Belajar Pascal’, perintah yang diberikan
adalah:
Write(‘Sedang Belajar Pascal’);
atau
Writeln(‘Sedang Belajar Pascal’);
Jika menggunakan write, setelah mencetak kata – kata atau variable, kursor akan
diletakkan di samping hasil cetakan. Jka menggunakan perintah writeln, setelah
mencetak kata – kata atau variable, kursor akan dipindahkan ke bawah satu baris
dengan posisi horizontal pada awal baris. Untuk mencetak suatu variable, tidak perlu
tanda petik satu. Contoh:
Var A : integer;
Begin
A:= 9;
Writeln(A);
End.
Dengan menggunakan write atau writeln, kita bisa menampilkan kata – kata dan variable
dengan tanda koma (,) sebagai pemisah antara variable dan kata - kata, Contoh:
Var A : integer;
Begin
A:= 9;
Writeln(‘Nilai A adalah ’, A);
End.
Terkadang kita menemukan prosedur write atau writeln yang ditulis seperti ini,
writeln(‘Asyik’: 10) Jika ditulis seperti ini, maka akan menghasilkan space yang
disediakan untuk menuliskan kata asyik di layar monitor adalah 10 karakter, mulai dari
kiri ke kanan. Coba tuliskan program berikut ini:
begin
write(‘Sehat’: 10); write(‘Senang’: 10);
readln;
end.
Perhatikan apa yang terjadi pada penggalan program di atas!
Selain itu, dengan menggunakan write atau writeln, kita dapat mengatur berapa banyak
angka di belakang koma yang akan ditampilkan di layar monitor jika kita ingin
menampikan bilangan real, caranya adalah dengan menuliskan seperti program di
bawah ini
Begin
Write(1/3: 5 : 2); write(2/3: 5: 2);
Readln;
End.
Read dan Readln
Read atau readln digunakan untuk menerima masukan dari user untuk disimpan ke
dalam suatu variable. Contoh:
Var A: Integer;
Begin
Write(‘Masukkan nilai A: ’);readln(A);
Writeln(‘Nilai yang anda masukkan adalah: ’, A);
End.
Catatan:
Terkadang kita menggunakan fungsi readln pada satu baris sebelum kata end.. Hal ini
dimaksudkan agar suatu program tidak akan langsung terminate (berhenti) tanpa
menunggu suatu masukan dari user. Adapun masukan tersebut berupa penekanan
tombol enter pada keyboard.
Komentar
Komentar adalah bagian dari program yang tidak akan diproses oleh compiler (Free
Pascal). Komentar hanya digunakan untuk dokumentasi saja. Cara pemberian komentar
adalah dengan menambahkan // untuk 1 baris atau {…} untuk lebih dari 1 baris. Contoh
pemberian komentar:
Program Komentar;
Begin
//Ini Adalah Komentar
(Pernyataan – pernyataan ini
Tidak kan Diproses}
End.
Unit
Di dalam Pascal, ada bagian yang disebut sebagai unit. Unit ini menyimpan fungsi dan
prosedur standard yang sudah didefinisikan oleh pembuat compiler. Beberapa unit
standard yang ada dalam Pascal adalah Crt, System, Graph, Dos, Printer, dan Overlay.
Cara penggunaan unit adalah dengan menambahkan statemen:
Uses nama_unit;
pada bagian Deklarasi.
Misal:
Uses Crt;
Beberapa fungsi dan prosedur yang ada dalam unit Crt:
Clrscr
Clrscr adalah suatu prosedur untuk membersihkan layer. Contoh:
Uses crt;
Begin
Writeln(‘Layar Sudah Bersih’);
Readln;
End.
Readkey
Readkey adalah fungsi masukan yang hanya akan mengambil satu karakter masukan.
Jenis variable yang dapat diinput oleh readkey pun hanya jenis variable karakter.
Contoh:
Uses crt;
Var A : Char;
Begin
Write(‘Tekan karakter apa saja di dalam keyboard’);
A := Readkey;
Writeln(‘Karakter yang barusan anda tekan adalah: ’, A);
Readln;
End.
TextBackground
TextBackground merupakan prosedur untuk mengganti warna background tulitan yang
ditampilhan di layer dengan warna yang kita inginkan. Perintah yang digunakan adalah:
Textbackground(warna);
Warna merupakan variable yang bias diganti dengan nama warna atau nilai warna
tersebut:
Warna Konstanta Nilai Warna Konstanta Nilai
Hitam Black 0 Coklat Tua Dark Brown 8
Biru Blue 1 Biru Muda Light Blue 9
Hijau Green 2 Hijau Muda Light Green 10
Cyan (Biru
Laut)
Cyan 3 Cyan Muda Light Cyan 11
Merah Red 4 Merah Muda Light Red 12
Magenta Magenta 5 Magenta Muda Light
Magenta
13
Coklat Brown 6 Kuning Yellow 14
Coklat Muda Light Gray 7 Putih White 15
Contoh:
Uses Crt;
Begin
Textbackground(Red);
Writeln(‘Laboratorium Komputasi FMIPA UGM’);
Readln;
End.
Textcolor
Textcolor merupakan prosedur yang digunakan untuk mewarnai tulisan. Perintahnya
adalah:
Textcolor(warna);
Cara pengisian warna sama dengan Textbackground.
Contoh:
Uses crt;
Begin
Textbackground(Red);
Textcolor(Blue);
Writeln(‘Laboratorium Komputasi FMIPA UGM’);
Readln;
End.
Beberapa fungsi dan prosedur untuk operasi Aritmatika:
Sqr(Value) fungsi ini digunakan untuk menghasilkan nilai perpangkatan
Sqrt(Value) fungsi ini digunakan untuk menghasilkan nilai akar pangkat dua
Abs(Value) untuk menghasilkan nilai mutlak
Ln(Value) untuk mencari nilai logaritma natural
Exp(Value) untuk mencari nilai eksponennya
Trunc(Value) untuk memotong nilai real ke suatu nilai integer
Round(Value) untuk membulatkan nilai real ke nilai integer yang terdekat
STRUKTUR PERCABANGAN
Struktur percabangan atau sering disebut dengan struktur kontrol ini memungkinkan
programmer untuk membuat program yang dapat memilih satu langkah di antara
sejumlah langkah untuk dikerjakan.
Dalam Pascal disediakan 2 buah struktur kontrol seleksi, yaitu:
a. Struktur IF……THEN…..
Merupakan struktur kontrol di mana suatu aksi dilaksanakan berdasarkan kondisi
logikanya (benar atau salah). Struktur if .. then … sendiri memiliki 4 jenis, yaitu:
• Bentuk 1
if (kondisi) then aksi;
{Jika kondisi benar maka aksi akan dilaksanakan dan sebaliknya }
• Bentuk 2
if (kondisi) then aksi1 else aksi2 ;
{Jika kodisi benar maka aksi1 diaksanakan, jika kondisi salah maka aksi2
akan dilaksanakan}
• Bentuk 3
if (kondisi1) then aksi1 else
if (kondisi2) then aksi2 else
……………………..
if (kondisi-n) then aksi-n ;
{Jika kondisi1 benar maka aksi1 dilaksanakan tanpa membaca kondisi2 dan
seterusnya. Jika kondisi1 salah maka aksi2 dilaksanakan tanpa membaca
aksi3 dan selanjutnya. Demikian seterusnya}
• Bentuk 4
if (kondisi1) then aksi1 ;
if (kondisi2) then aksi2 ;
……………………….
if (kondisi-n) then aksi-n ;
{Masing-masing kondisi akan dibaca dan aksi akan tetap dilaksanakan. Jadi
masing-masing struktur terpisah satu dengan yang lain}
Contoh program 1:
Program menghitung akar kwadrat
uses crt;
var A,B,C:integer;
x1,x2,D:real;
begin
clrscr;
write('Baca koofisien:');readln(A,B,C);writeln;
writeln(A,'x*x + (',B,') x +',C);
if A=0 then writeln('Bukan persamaan kwadrat') else
begin
D:=(B*B) - (4*A*C);
writeln('Determinannya :',D:2:2);readln;
if D>0 then
begin
writeln('Persamaan kwadrat mempunyai 2 akar yang berbeda');
x1:= (-B + sqrt(D))/(2*A);
x2:= (-B - sqrt(D))/(2*A);
writeln('Akar-akarnya adalah:',x1:2:2,'dan',x2:2:2);
end else
if D=0 then
begin
writeln('Persamaan kwadrat mempunyai akar yang sama'
x1:= -B/(2*A);
x2:= -B/(2*A);
writeln('Akar-akanya adalah:',x1:2:2);
end else
writeln('Tidak memiliki akar riil');
end;
readln;
end.
Contoh Program 2:
Program Konversi nilai
Uses Crt;
var Nilai : Byte;
begin
clrscr;
write('Baca nilai :');readln(Nilai);
if nilai>=80 then write('Nilai = A') else
if nilai>=65 then write('Nilai = B') else
if nilai>=41 then write('Nilai = C') else
if nilai>=26 then write('Nilai = D') else
write('Nilai = E');
readln;
end.
Catatan:
Jika anda menggunakan else, perlu diinga bahwa satu baris sebelum else
tidak diperkenankan mengandung tanda ;
b. Struktur CASE…OF…
Merupakan peluasan dari struktur IF. Karena kalau dalam struktur IF hanya
disediakan dua pilihan (berdasarkan kondisi logikanya) maka dalam struktur
Case ..of dimungkinkan untuk memilih satu pilihan di antara banyak pilihan yang
ada. Bentuk umumnya :
Case var_pilih of
Pilih1 : aksi1 ;
Pilih2 : aksi2 ;
……………. ;
pilih-n : aksi-n ;
end;
atau
Case var_pilih of
pilih1 : aksi1 ;
pilih2 : aksi2 ;
……………. ;
pilih-n : aksi n;
else aksi-n+1
end;
Catatan :
Ekspresi yang digunakan dalam statemen Case adalah yang mempunyai tipe
ordinal yaitu dengan batas antara (-32768 s/d 32767). Sehingga tipe lain seperti
integer yang bertipe longint, tipe string atau real tidak boleh digunakan.
Contoh program 3:
Program Konversi nilai 2
Uses Crt;
Var Nilai : integer;
begin
Clrscr;
write('Baca nilai =');readln(Nilai);
Case Nilai of
0..25 : writeln('Nilainya = E');
26..39 : writeln('Nilainya = D');
40..64 : writeln('Nilainya = C');
65..79 : writeln('Nilainya = B');
80..100: writeln('Nilainya = A');
else
writeln('Tidak ada nilai yang dimaksud');
end;readln;
end.
Catatan : Program ini akan memberikan nilai yang sama persis dengan yang
menggunakan struktur IF.
Latihan
1. Buatlah program untuk menentukan suatu bilangan yang dimasukkan oleh user,
merupakan bilangan genap atau ganjil
2. Buatlah sebuah program untuk menentukan bilangan tahun yang dimasukkan
oleh user merupakan bikangan tahun kabisat atau bukan
3. Buatlah sebuah program yang akan meneriman masukan bilangan bulat dari
user. Jika bilangan yang dimasukkan 0, maka program akan menampilkan string
‘Minggu’; jika user memasukkan bilangan 1, maka program akan menampilkan
string ‘Senin’; dan seterusnya sampai Sabtu; jika user memasukkan bilangan
lebih dari 6, maka akan keluar string ‘Hari tidak valid’.