Assalamu'alaikum,
udah lebih setahun gak ngpost, nih ada sedikit pencerahan bagi yang membutuhkannya :) semoga membantu ;)
Penggunaan Operator dalam program Pascal
Operator digunakan untuk menyatakan suatu perhitungan/operasi. Di dalam suatu operasi dapat terdapat banyak operator. Urutan eksekusi dari operator-operator disebut juga operator precedence. Precedence yang lebih rendah akan dieksekusi belakangan, misalnya:
A = 20 + 5 * 3
Karena precedence operator * lebih tinggi daripada operator + maka nilai A adalah 35, diperoleh dari perkalian 5 dan 3, kemudian dijumlahkan dengan 20. Untuk mendahulukan eksekusi precedence yang lebih rendah dapat digunakan tanda ( dan ) sebagai contoh:
A = (20 + 5) * 3
Variabel A akan memiliki nilai 75, diperoleh dari penjumlahan 20 dan 5, kemudian dikalikan 3.
Dalam bahasa pemrograman, sebuah proses dibagi menjadi:
1. Operand à berupa variabel atau nilai.
2. Operator à tanda-tanda yang dipakai untuk mengolah.
Terdapat banyak jenis operator, yaitu:
· Assignment operator (operator pengerjaan)
Ditandai dengan simbol titik dua diikuti oleh tanda sama dengan (:=), digunakan untuk memberi nilai ke suatu variabel / untuk memberi nilai suatu identifier.
· Arithmatic operator (Binary Operator)
Digunakan untuk pengolahan nilai matematika / mengoperasikan dua buah operand yang berbentuk konstanta ataupun variabel. Operator ini digunakan untuk operasi aritmatika yang berhubungan dengan nilai tipe data Integer dan Real.
Operasi yang dilakukan adalah :
a. Operator +, digunakan untuk melakukan penjumlahan.
ü Bila tipe Operandnya real dan real, maka tipe hasilnya real.
ü Bila tipe Operandnya integer dan integer, maka tipe hasilnya integer.
ü Bila tipe Operandnya real dan integer, maka tipe hasilnya real.
b. Operator –, digunakan untuk melakukan pengurangan.
ü Bila tipe Operandnya real dan real, maka tipe hasilnya real.
ü Bila tipe Operandnya integer dan integer, maka tipe hasilnya integer.
ü Bila tipe Operandnya real dan integer, maka tipe hasilnya real.
c. Operator *, digunakan untuk perkalian.
ü Bila tipe Operandnya real dan real, maka tipe hasilnya real.
ü Bila tipe Operandnya integer dan integer, maka tipe hasilnya integer.
ü Bila tipe Operandnya real dan integer, maka tipe hasilnya real.
d. Operator /, digunakan untuk pembagian bilangan real.
ü Bila tipe Operandnya real dan real, maka tipe hasilnya real.
ü Bila tipe Operandnya integer dan integer, maka tipe hasilnya real.
ü Bila tipe Operandnya real dan integer, maka tipe hasilnya real.
e. Operator div, digunakan untuk melakukan pembagian bilangan bulat.
ü Bila tipe Operandnya integer dan integer, maka tipe hasilnya integer.
f. Operator mod yang digunakan untuk mendapatkan sisa dari pembagian.
ü Bila tipe Operandnya integer dan integer, maka tipe hasilnya integer.
· Comparison / Relational operator
Digunakan untuk perbandingan 2 nilai operand sehingga menghasilkan nilai true dan false. Operand yang dibandingkan harus memiliki tipe data yang sama, kecuali untuk bilangan bulat (bertipe integer) dan bilangan pecahan (bertipe real atau float).
Ditandai dengan:
= sama dengan
<> tidak sama dengan
> lebih dari
>= lebih dari sama dengan
< kurang dari
<= kurang dari sama dengan
IN seleksi dari anggota himpunan
· Logical operator (Bitwise Operator),
Digunakan untuk perbandingan logika antara dua pernyataan atau lebih / untuk operasi bit per bit pada nilai integer.
Acuan bilangan desimal ke bilangan biner yaitu:
| Desimal | Binner |
| 0=0 | 0 |
| 1=20 | 1 |
| 2=21 | 10 |
| 4=22 | 100 |
| 8=23 | 1000 |
| 16=24 | 10000 |
| 32=25 | 100000 |
| dst | dst |
Contohnya: bilangan biner dari 35 yaitu:
35= 32 → 100000
2 → 100
1 → 1
100101
Maka bilangan biner dari 35 adalah 100101.
Operator ini ditandai dengan:
a. Operator Not → digunakan untuk pembalikan bitwise, yaitu nilai 1 bit menjadi bit 0 dan sebaliknya nilai bit 0 menjadi bit 1
b. Operator And → digunakan untuk membandingkan dua buah elemen, hasilnya akan benar bila keduanya benar. Bila logika benar diberi simbol 1 dan logika salah diberi simbol 0.
| A | B | A and B |
| 1 | 1 | 1 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 0 | 0 | 0 |
Operator And bekerja dengan membandingkan bit demi bit dari elemen-elemen yang dibandingkan, sebagai berikut.
12 nilai binarinya adalah 01100
23 nilai binarinya adalah 10111
12 AND 23 bernilai 00100 adalah 4 (22)
c. Operator Or → digunakan untuk membandingkan dua buah elemen, hasilnya akan benar bila salah satu atau keduanya benar. Bila logika benar diberi simbol 1 dan logika salah diberi simbol 0.
| A | B | A or B |
| 1 | 1 | 1 |
| 1 | 0 | 1 |
| 0 | 1 | 1 |
| 0 | 0 | 0 |
Misalnya ungkapan 12 or 23 akan bernilai 31, dengan cara:
12 nilai binarinya adalah 1100
23 nilai binarinya adalah 10111
12 or 23 bernilai 11111 adalah 31 (24+23+22+21+1)=(16+8+4+2+1)
d. Shift Xor → digunakan untuk membandingkan dua buah elemen, hasilnya akan benar bila salah satunya saja yang benar. Bila logika benar diberi simbol 1 dan salah diberi simbol 0.
| A | B | A or B |
| 1 | 1 | 0 |
| 1 | 0 | 1 |
| 0 | 1 | 1 |
| 0 | 0 | 0 |
Misalnya ungkapan 12 Xor 23 akan bernilai 27 didapat dari:
12 nilai binarinya 1100
23 nilai binarinya 10111
12 Or 23 bernilai 11011 adalah 27 (24+23+22+1)=(16+8+2+1)
e. Operator Shl → digunakan untuk menggeser sejumlah bit ke kiri dengan nilai bit 0 atau menambah jumlah nol (0) ke kanan.
Misalnya ungkapan 5 shl 2 akan bernilai 20 didapat dari:
5 nilai binarinya adalah 101
Digeser 2 bit ke kiri (ditambah nilai 0 sebanyak 2 buah) menjadi 10100= 20
f. Operator Shr → digunakan untuk menggeser sejumlah bit ke kanan dengan nilai bit 0 atau membuang angka paling kanan
Misalnya ungkapan20 shr 2 akan bernilai 5 didapat dari:
20 nilai binarinya adalah 10100
Digeser 2 bit ke kanan (dibuang 2 bit dari kanan) menjadi 101= 5
· Unary operator
Operator ini menggunakan sebuah operand saja, dapat berupa unary minus dan unary plus. Unary minus digunakan untuk menunjukkan nilai negatif, baik pada operand numerik, real maupun integer. Unaru plus adalah operator untuk memberi tanda plus.
Contoh : +2.5, a+(-b) dll
· Pointer Operator
Operator pointer digunakan untuk melakukan operasi pada operand yang berupa pointer. Pada bahasa Pascal, digunakan tanda ^ sebagai deference pointer.
· Address operator
· Set operator
Digunakan untuk operasi himpunan.
· String operator
Digunakan untuk operasi string. Hanya ada sebuah operator string saja, yaitu operator + yang digunakan untuk menggabungkan dua buah nilai string.
Contoh :
Nama1 := ‘Sistem’;
Nama2 := ‘Komputer’;
Nama3 := ‘Nama1+Nama2’;
Maka, hasil yang didapat adalah Sistem Komputer.
Tipe data numerik integer dan numerik real
1. Tipe Data Numerik Integer
Tipe data integer adalah bilangan yang tidak mempunyai titik desimal / bilangan pecahan. Ciri-ciri tipe data integer adalah :
1. Bilangan atau angka yang tidak memiliki titik desimal atau pecahan, seperti 10, +225, -10,+25.
2. Tipe dituliskan sebagai integer atau int
3. Jangkauan nilai bergantung pada implementasi perangkat keras komputer, misalnya dari -11 s/d +12; untuk algoritma tidak kita batasi.
4. Operasi aritmetik yaitu : tambah(+), kurang(-), kali(*), bagi(/), sisa hasil bagi(%)
5. Operasi pembanding yaitu : lebih kecil(<), lebih besar(>), sama(=), tidak sama(<>).
Data numerik integer merupakan nilai bilangan bulat baik dalam bentuk desimal maupun hexadesimal. Nilai integer hexadesimal diawali dengan tanda dollar ($). Turbo Pascal menyediakan 5 macam tipe data integer yang masing-masing mempunyai jangkauan nilai yang berbeda, yaitu:
| Tipe | Ukuran Memori | Jangkauan Nilai |
| Byte | 1 byte | 0..255 |
| Shortint | 1 byte | -128..127 |
| Integer | 2 byte | -32768..32767 |
| Word | 2 byte | 0..65535 |
| Longint | 4 byte | -2147483648..2147483647 |
Operator yang dapat digunakan pada data tipe integer :
· + (penjumlahan)
· - (pengurangan)
· * (perkalian)
· div (pembagian)
· mod (sisa pembagian)
2. Tipe Data Numerik Real
Tipe data real adalah bilangan yang mengandung pecahan, minimal harus ada satu digit sebelum dan sesudah titik desimal. Contoh bilangan real: 34.265 -3.55 0.0 35.997E+11, dimana E merupakan simbol perpangkatan 10. Jadi 452.13 mempunyai nilai sama dengan 4.5213e2. Ciri-ciri tipe data real adalah :
v Bilangan atau angka yang bisa memiliki titik desimal atau pecahan, dan ditulis seperti 235.45, +13.99, -87.76 atau dalam notasi ilmiah seperti 1.245E+03, 7.45E-02.
v Tipe dituliskan sebagai real
v Jangkauan nilai bergantung pada implementasi perangkat keras komputer, misalnya dari -2.9E-39 s/d +1.7E+38, untuk algoritma tidak dibatasi.
v Operasi aritmatik dan pembandingan juga berlaku bagi bilangan biasa.
Nilai konstanta numeril real berkisar dari 1E-38 sampai dengan 1E+38 dengan mantisa yang signifikan sampai dengan 11 digit. E menunjukkan nilai 10 pangkat. Nilai konstanta numeril real menempati memori sebesar 6 byte.
Type variabel 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 tipe variabel integer dan real 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 yang dapat digunakan pada data tipe real adalah :
· + (penjumlahan)
· - (pengurangan)
· * (perkalian)
· / (pembagian)
Mendefinisikan Permasalahan
Yang dimaksud mendefinisikan permasalahan yaitu harus mengerti dengan baik mengenai permasalahan apa yang ingin diselesaikan. Contoh:
a) Permasalahan menghitung luas persegi, dengan data yang diketahui adalah sisi-sisi persegi tersebut.
b) Permasalahan menampilkan bilangan dengan kelipatan tertentu dari 0 hingga range tertentu.
Setelah mengetahui dengan baik mengenai permasalahan yang ingin diselesaikan, langkah selanjutnya yaitu membuat rumusan algoritma untuk memecahkan masalah. Rumusan tersebut dapat disusun dalam bentuk pseudocode ataupun flowchart.
Apabila langkah 1 dan 2 belum melibatkan bahasa pemrograman, maka langkah ketiga ini telah mulai melibatkan bahasa pemrograman Pascal. Implementasi tersebut mengacu pada algoritma yang telah disusun pada langkah sebelumnya, baik itu variabel-variabel yang digunakan maupun alur program.
PEMBAHASAN
LATIHAN PRAK 1.
1. ALGORITMA
1) Mulai
2) Deklarasi variabel
A, B : integer
Hasil : real
3) Const / Inisialisasi (tetapkan A:= 50, B:= 20)
4) Proses
a. Operator Pangkat
Hasil := Exp(ln(A)*B)
b. Operator Kali
Hasil := A * B
c. Operator Bagi
Hasil := A / B
d. Operator Modulo
Hasil := A MOD B
e. Operator Divide
Hasil := A DIV B
f. Operator Tambah
Hasil := A + B
g. Operator Kurang
Hasil := A - B
5. Tampilkan Hasil
6. Selesai
2. FLOWCHART
![]() |
3. BAHASA PROGRAM
(*Program Menggunakan Operator*)
Program Operator;
uses crt;
var A, B : integer;
hasil: real;
begin
clrscr;
writeln('Program Operator Test');
writeln;
A:= 50;
B:= 20;
(*Operator Pangkat*)
hasil:=Exp(ln(A)*B);
writeln('A^B= ',Hasil:4:2);
writeln;
(*Operator Kali*)
hasil:= A*B;
writeln('A*B = ',Hasil:4:2);
writeln;
(*Operator Bagi*)
hasil:= A/B;
writeln('A/B = ',hasil:4:2);
writeln;
(*Operator Modulo (Mod)*)
hasil:= A mod B;
writeln('A mod B = ',hasil:4:2);
writeln;
(*Operator Devide (Div)*)
hasil:= A div B;
writeln('A div B = ',hasil:4:2);
writeln;
(*Operator Tambah*)
hasil:= A+B;
writeln('A + B = ',hasil:4:2);
writeln;
(*Operator Kurang*)
hasil:= A-B;
writeln('A - B = ',hasil:4:2);
writeln;
repeat until keypressed;
end.
4. OUTPUT

LATIHAN PRAK 2.
1. ALGORITMA
1) Mulai
2) Deklarasi variabel
A, B : integer
Hasil : real
3) Masukkan (input) nilai A dan B
4) Proses
a. Operator Pangkat
Hasil := Exp(ln(A)*B)
b. Operator Kali
Hasil := A * B
c. Operator Bagi
Hasil := A / B
d. Operator Modulo
Hasil := A MOD B
e. Operator Divide
Hasil := A DIV B
f. Operator Tambah
Hasil := A + B
g. Operator Kurang
Hasil := A - B
5. Tampilkan Hasil
6. Selesai
2. FLOWCHART
![]() |
3. BAHASA PROGRAM
(*Program Menggunakan Operator*)
Program Operator;
uses crt;
var A, B : integer;
hasil: real;
begin
clrscr;
writeln('Program Operator Test');
writeln;
writeln('Ketikkan nilai A dan B!');
write('A = ');readln(A);
write('B = ');readln(B);
writeln;
(*Operator Pangkat*)
hasil:=Exp(ln(A)*B);
writeln('A^B= ',Hasil:4:2);
writeln;
(*Operator Kali*)
hasil:= A*B;
writeln('A*B = ',Hasil:4:2);
writeln;
(*Operator Bagi*)
hasil:= A/B;
writeln('A/B = ',hasil:4:2);
writeln;
(*Operator Modulo (Mod)*)
hasil:= A mod B;
writeln('A mod B = ',hasil:4:2);
writeln;
(*Operator Devide (Div)*)
hasil:= A div B;
writeln('A div B = ',hasil:4:2);
writeln;
(*Operator Tambah*)
hasil:= A+B;
writeln('A + B = ',hasil:4:2);
writeln;
(*Operator Kurang*)
hasil:= A-B;
writeln('A - B = ',hasil:4:2);
writeln;
repeat until keypressed;
end.
4. OUTPUT


LATIHAN PRAK 3.
1. ALGORITMA
1) Mulai
2) Deklarasi variabel
A, B : integer
Logik : boolean
3) Masukkan nilai A dan B
4) Proses
ü Operator Lebih Besar
logik:= A > B
ü Operatr lebih kecil
logik:= A < B
ü Operator Sama Dengan
logik:= A = B
ü Operator tidak sama dengan
logik:= A <> B
Tampilkan hasil
5) Tampilkan hasil
6) Selesai
2. FLOWCHART
![]() | |||
3. BAHASA PROGRAM
(*Program Menggunakan Operator*)
Program Operator;
uses crt;
var A, B : integer;
logik: boolean;
begin
clrscr;
writeln('Program Operator Test');
writeln;
write('Inputkan Harga A: ');readln(A);
write('Inputkan Harga B: ');readln(B);
writeln;
(*Operator Lebih Kecil*)
Logik:= A < B;
writeln('A < B = ',logik);
writeln;
(*Operator Lebih Besar*)
Logik:= A > B;
writeln('A > B = ',logik);
writeln;
(*Operator Sama Dengan*)
Logik:= A = B;
writeln('A = B = ',logik);
writeln;
(*Operator Tidak Sama Dengan*)
Logik:= A <> B;
writeln('A <> B = ',logik);
writeln;
writeln('Tekan Salah Satu Tombol ....!');
repeat until keypressed;
end.
4. OUTPUT





Tidak ada komentar:
Posting Komentar