I. KATA PENGANTAR
Dewasa ini sudah banyak berkembang bahasa-bahasa pemrograman tingkat tinggi yang pemakaiannya sudah sangat mudah, hanya klik dan drag saja. Namun meskipun demikian tetap saja programmer harus menuliskan kode-kode program agar objek-objek yang sudah mereka buat dapat bertingkah laku/bekerja sesuai dengan yang diinginkan. Secara singkat dapat dikatakan bahwa sebuah program pasti terdapat alur logika yang menyebabkan program tersebut dapat bekerja dengan benar. Modul algoritma dan pemrograman ini sangat penting bagi mahasiswa program studi Ilmu Komputer pada khususnya karena menjadi dasar bagi mahasiswa untuk mempelajari bahasa pemrograman.
Pada modul ini diberikan contoh-contoh kasus untuk mempermudah memahami konsep. Karena sebuah contoh dapat memberikan inspirasi pemecahan masalah yang mirip. Tetapi patut diingat bahwa sebuah masalah di dalam pemrograman, bila diberikan kepada pemrogram yang berbeda, boleh jadi mempunyai aneka ragam solusi (dalam hal ini algoritma), mulai algoritma yang kusut karena banyak sekali percabangannya, sampai pada algoritma yang kurang efisien karena banyak sekali pengulangan instruksi yang sama dalam menganalisa kasus. Dengan mempelajari modul ini diharapkan nantinya Anda dapat memecahkan masalah secara metodologis, yaitu sesuai dengan skema (model) yang benar. Ketaatan menggunakan skema niscaya akan menghasilkan algoritma yang efisien dan mudah dipahami sehingga menghasilkan program yang baik pula.
Sebagai akhir kata, semoga modul ini dapat diterima oleh para pembaca dalam mempelajari komputer, khususnya yang mempelajari mengenai bahasa penrograman Pascal serta dapat menambah wawasan bagi para pembaca dalam pembuatan program secara terstruktur.
Yogyakarta, Desember 2007
II. PENDAHULUAN
Pascal adalah suatu bahasa pemrograman terstruktur yang cukup terkenal sampai saat ini dan terus mengalami perkembangan. Pencipta bahasa Pascal adalah Niclaus Wirth (EidgenOssische Technishe Hoschule, Zurich, Swiss). Nama pascal sendiri diambil untuk mengenang dan mengabadikan seorang matematikawan Perancis bernama Blaise Pascal (1623-1662), penemu mesin penjumlah mekanis yang pertama kali.
Bahasa Pascal lahir sebagai hasil pengembangan dari bahasa ALGOL-60. Versi pertama Pascal muncul pada tahuin 1970, dan laporan pertama mengenai bahasa ini baru dipublikasikan pada tahun 1971. Pada tahun 1974, buku berjudul Pascal User manuial dan Report dipublikasikan. Buku ini ditulis oleh Niklaus Wirth dan Kathleen Jensen. Kepopuleran Pascal berkembang seiring dengan berkembangnya PC. Pada platform ini terdapat sejumlah compiler Pascal. Salah satunya adalah Turbo Pascal, yang dikeluarkan oleh Borland International. Turbo Pascal telah mengalami pembaharuan semenjak versinya yang pertama. Tercatat pada tahun 1992, Turbo Pascal versi 7.0 telah dirilis. Yang menarik, Turbo Pascal bukan hanya sekedar compiler. Turbo Pascal menyediakan suatu lingkungan terpadu (dikenal dengan sebutan IDE, Integreted Development Environment), yang diantaranya berisi:
z Kompiler (untuk mengkompilasi program menjadi suatu objek yang dipahami computer)
z Debugger (untuk membantu mencari kesalahan program)
z Linker (Untuk menggabungkan file objek dan file pustakka serta membentuk file exutable)
z Editor (untuk menulis program sumber)
Pada modul ini akan menjelaskan mengenai cara-cara penyusunan program menggunakan bahasa Pascal beserta pembuatan dan penulisan struktur data menggunakan tipe-tipe data yang ada pada bahasa Pascal.
III. STRUKTUR PROGRAM PASCAL
A.1. Tujuan Instruksional Umum
Setelah mempelajari modul ini Anda diharapkan mampu menyelesaikan permasalahan dengan membangun algoritma dan mengimplementasikan dengan menggunakan struktur data sederhana
2. Tujuan Instruksional Khusus
Setelah menyelesaikan modul ini Anda diharapkan dapat :
a. menjelaskan struktur dasar bahasa PASCAL minimal untuk membangun program yang sederhana.
b. menyebutkan dan menjelaskan element-element pada bahasa PASCAL minimal 2 element dengan benar.
c. Membedakan cara pendeklarasian type data yang ada dalam Pascal minimal 80 % benar.
d. menyebutkan operator yang digunakan dalam bahasa Pascal minimal 5 jenis operator dengan benar.
B. URAIAN MATERI
1) Mengenal Lingkungan Turbo Pascal
Turbo Pascal memiliki menu batang pada bagian atas layer. Item-item dari menu ini berupa:
File
Berisi berbagai perintah untuk operasi yang berhubungan dengan file, seperti:
- membuat program baru, - menyimpan file,
- mencetak program ke printer, - memuat program ke editor, - mengubah direktori kerja, - keluar ke DOS untuk sementara, - keluar dari Turbo Pascal
Edit
Berisi berbagai perintah yang berhubungan dengan operasi penyuntingan program, sperti:
- menyalin dan membuang teks - melihat isi clipboard.
Search
Diantaranya berguna untuk mencari dan mengganti teks Run
Diantaranya untuk:
- menjalankan/mengeksekusi program, - mengatur eksekusi perintah per langkah - mengisikan parameter baris perintah. Compile
Diantaranya untuk:
- mengkompilasi program ke disk atau ke memori
- mengkompilasi secara cerdas terhadap program yang multifile - menampilkan informasi mengenai program, memori dan EMS. Debug
Untuk melakukan debugging (pencarian kesalahan). Tools
Diantaranya untuk menampilkan jendela pesan kesalahan Options
Untuk mengatur berbagai pilihan untuk: - Debugger
- Linker
Cara menggunakan menu ditunjukkan pada tabel 1. Tabel 1. Cara menggunakan menu dalam turbo Pascal
Tindakan Dengan Mouse Dengan Keyboard
Menampilkan sebuah menu
Gerakan penunjuk mouse ke nama menu dan kemudian klik tombol.
Tekan tombol <alt> dan tekan huruf kunci dari menu yang dikehendaki Menuliskan perintah Gerakkan pnunjuk mouse ke
suatu perintah dalam menu. Klik tombol kiri
Tekan tombol yang menjadi kunci dari perintah
¬ Menulis Program
Anda dapat memulai untuk membuat program dengan mengikuti langkah sebagai berikut:
(1) Pilih menu File (Alt+F), (2) Pilih New
Sebagai contoh, Anda dapat menulis program berikut ini: PROGRAM Lat1
BEGIN
WriteLn(‘Selamat Belajar Turbo Pascal’); END.
Tombol Enter perlu ditekan untuk pindah dari baris akhir ke baris baru.
¬ Menyimpan Program
Program yang telah dibuat atau dimodifikasi sebaiknya disimpan ke disk sebelum dijalankan. Langkah ini perludilakuakan agar program yang baru saja ditulis tidak hilang bila computer mendadak mati saat program dieksekusi atau karena sebab-sebab lain.
Cara menyimpan program adalah sebagi berikut: (1) Pilih menu File (Alt+F),
(2) Pilih Save
Setelah jendela tersebut muncul, ketik nama file yang dikehendaki. Misalnya:
Lat1 kemudian tekan Enter
¬ Menjalankan/mengeksekusi Program
Utuk menjalankan program yang telah berda pada editor, lakukan langkah berikut:
(1) Pilih menu Run (Alt+R), (2) Pilih Run
Langkah ini akan menyebabkan:
• Program akan dikompilasi terlebih dulu (kecuali kalau pernah dikompilasi dan tidak ada perubahan lagi).
• Sekiranya tak ada kesalahan sintaks pada program, program akan segera dijalankan.
¬ Menutup Program
Program yang sedang berada pada editor sekarang dapat di tutup dengan cara sebagai berikut:
(1) Tekan Alt+W (menu Window), (2) Pilih Close.
¬ Membuka File Program
Program yang tersimpan di dalam disk dapat dipanggil dan diletakkan ke editor dengan cara sebagai berikut:
(1) Tekan Alt+F (menu File), (2) Pilihlah Open
¬ Keluar dari Turbo Pascal
Jika Anda bermaksud keluar dari Turbo Pascal dan kembali ke Sistem Operasi, langkah yang diperlukan adalah sebagai berikut:
(1) Tekan ALT+F (menu File), (2) Pilihlah Exit.
¬ Meminta Bantuan dari Turbo Pascal
Anda dapat memilih menu Help untuk keperluan ini. Cara yang lain, Anda dapat meletakkan kursor pada suatu kata (misalnya WriteLn dan menekan tombol Ctrl+F1 sehingga dokumentasi dari kata tersebut akan segera ditampilkan).
2. Bentuk Umum Struktur Program Pascal
Penyusunan program bahasa PASCAL disusun perintah demi perintah, dengan perintah yang teratas akan dikerjakan terlebih dahulu. Sehingga apabila terjadi kesalahan atau error pada program, maka pendeteksian dapat ditelusur pada no baris yang terjadi kesalahan (biasanya ditunjukkan oleh posisi kusor) atau pada baris sebelumnya.
Secara umum, bahasa pemrograman yang berbasiskan prosedur terdiri dari blok/sub program, yang memiliki tiga bagian utama yaitu:
1. Kepala Program 2. Bagian deklarasi 3. Bagian Statement
Demikian halnya dengan bahasa pemrograman Pascal yang merupakan salah satu dari bahasa procedural. Bentuk program Pascal mirip dengan kebanyakan program bahasa tingkat tinggi lainnya. Bentuk umumnya adalah :
1. JUDUL PROGRAM 2. BLOK PROGRAM
a. Bagian deklarasi (Tidak selalu digunakan semua, bisa satu bisa sebagian saja deklarasi yang digunakan)
- deklarasi label - deklarasi konstanta - deklarasi type - deklarasi variabel
- deklarasi subroutine (deklarasi prosedur /deklarasi fungsi) b. Bagian pernyataan / statemen
2.1. Judul Program
Judul Program sifatnya sebagai dokumentasi saja atau bersifat opsional. Anda dapat membuang baris ini tanpa mengubah hasil program. Kegunaannya adalah sebagai identitas program dan dikenal sebagai kepala program. Sekalipun bersifat opsional, sebuah program dianjurkan agar diawali dengan baris semacam ini.,
Bentuk umumnya sbb :
Program [nama program] (daftar pengenal) Contoh :
Program pengenal;
Keterangan : Program adalah kata cadangan
Pengenal adalah nama program
2.2. Bagian Deklarasi
Bagian deklarasi merupakan bagian program untuk mendefinisikan tipe data suatu variable, konstanta, serta fungsi dan prosedur yang akan digunakan pada program. Selain itu, bagian deklarasi dapat juga digunakan untuk memberi
nilai awal suatu variable. Dengan kata lain, deklarasi digunakan untuk memperkenalkan suatu nama kepada Compiler program.
Bagian deklarasi diatas tentu saja belum tentu ada didalam program. Malahan, sebuah program dapat saja tidak melibatkan bagian deklarasi sama sekali. Urutan bagian-bagian yang ada pada bagian deklarasi dapat dibolak-balik. Yang penting, sebelum menggunakan sesuatu tersebut harus ada terlebih dulu (sudah dideklarasikan).
1). Deklarasi Label
Adalah menyatakan lokasi tempat pernyataan yang dituju oleh sebuah pernyataan GOTO dalam program
Sintaks : Label daftar_label;
2). Deklarasi Konstanta
Jika dalam membuat suatu program Anda sering menggunakan bilangan numeric atau string yang sama berkali-kali, maka sebaiknya bilangan atau kalimat tersebut dideklarasikan sebagai suatu konstanta.
Untuk mendeklarasikan konstanta harus diawali dengan kata baku const. Dengan mendefinisikan const maka variabel tersebut tidak dapat diubah nilainya dalam program utama.
Bentuk umumnya :
CONST pengenal1 = nilai1; Pengenal2 = nilai2; Contoh :
CONST
Keterangan = ‘Data panjang sisi miring segitiga siku-siku’; Sisi_siku_1 = 20;
Sisi_siku_2 = 10.5; Konstanta yg disediakan pascal a.l:
- pi = 3.1415926536 - false = bernilai logika salah - true = bernilai logika benar - maxint = 32767
Konstanta juga dapat dideklarasikan dengan tipenya :
Bentuk umumnya :
CONST pengenal1 : Tipe1 = nilaiKonstanta1; Pengenal2 : Tipe2 = nilaiKonstanta2; Contoh :
CONST
BanyakData : byte = 250; Jumlah : integer = 20; 3). Deklarasi Variabel
Variabel adalah identifier yg berisi data yang dapat berubah-ubah nilainya didalam program. Variabel harus dideklarasikan lebih dulu dengan tujuan untuk memesankan tempat di dalam memori sesuai dengan tipe data yg digunakan.
Sintaks :
Var Daftar_variabel : tipe data;
Contoh :
Var
i, i2 : integer; s : string; Penjelasan:
Untuk mendeklarasikan variable pada Pascal, digunakan reserved word var, kemudian diikuti dengan nama variable (identifier) yang ingin digunakan, dan kemudian tipe data dari variable tersebut.
Syarat penamaan variabel / pengenal :
1. panjang karakter dari suatu variabel terdiri dari antara 1 sampai dengan 40 karakter.
2. pada pascal identifier tidak bersifat case sensitive (huruf besar dan kecil tidak dibedakan )
3. kombinasi huruf dengan angka dengan posisi pertama harus huruf 4. tidak boleh mengandung spasi, spasi dapat diganti dengan garis bawah 5. tidak boleh menggunakan character khusus seperti (*, /, %,@ dsb).
4). Deklarasi Type
Digunakan untuk mendefinisikan nama tipe data baru yang berbeda dengan tipe data yang sudah disediakan oleh PASCAL.
Sintaks : Type
Pengenal_1 = tipe_1; .
.
pengenal_n = tipe_n;
Dalam hal ini:
• Pengenal berupa suatu nama pengenal yang didefinisikan sendiri • Tipe dapat berupa sembarang tipe data
Pembuatan tipe baru bisa dilakukan untuk tipe data terstruktur seperti record atau array. Tipe yang dideklarasikan pada TYPE ini dapat dipakai untukmendeklarasikan variable (ataupun argument dari suatu subprogram). Contoh :
5). Deklarasi Subroutine
Bagian deklarasi subroutine atau subprogram digunakan untuk mendeklarasikan subroutine (prosedur atau fungsi yang Anda buat sendiri). Sebagai contoh, Deklarasi seperti diatas akan dibahas secara khusus pada materi tentang Subroutine.
2.3. Bagian Statement
Statemen adalah perintah pengerjaan program. Kumpulan statemen membentuk program. Statemen berada dibagian deklarasi statemen dengan diawali kata cadangan begin dan end.
Sintaks : begin
daftar_statemen; end;
Bagian ini diawali kata tercadang BEGIN, diikuti nol atau sejumlah pernyataan dan kemudian diakhiri dengan kata tercadang END dan tanda titik (.). dengan demikian statemen
BEGIN END.
Merupakan contoh program terpendek pada Turbo Pascal, mengingat: • Bagian kepala program hanya bersifat opsional,
• Bagian deklarasi boleh tidak ada
• Peryataan di dalam bagaian pernyataan boleh tidak ada
Tentu saja, program tersebut tidak akan menghasilkan apa-apa kalau dijalankan, karena memang tidak ada tindakan yang menyuruh computer untuk melakukan sesuatu.
Bagian pernyataan sering disebut program utama (main program). Bgaian inilah yang menjadi titik awal pengeksekusian program.
Ketentuan penulisan statemen
1. Diakhiri dengan titik koma jika blok statement bukan blok utama program, sedangkan apabila blok statement adalah blok utama program, maka reserved word end harus diakhiri dengan tanda titik(.)
2. Huruf besar atau huruf kecil tidak dibedakan 3. Dalam satu baris boleh lebih dari satu statemen.
4. Satu statemen boleh terdiri dari beberapa baris 5. Konstanta tidak boleh dipecah dalam beberapa baris
Statemen terdiri dari :
1. Statemen pengerjaan
Digunakan utk memasukkan suatu nilai tertentu ke dalam suatu variabel. Sintaks : pengenal_variabel := ungkapan;
Contoh :
2. Statemen prosedur
Digunakan utk mengaktifkan suatu prosedur yg telah didefinisikan pemakai atau oleh Pascal
Contoh :
3. Statemen Lompatan
statement yang digunakan untuk melompati statement-statement lain. Yang termasuk dalam kategori statement ini yaitu:
4. Statemen kosong
statemen yg tidak berisi symbol apapun contoh : begin
end;
3. Elemen-elemen Dalam Bahasa Pemrograman Pascal
Ketika kita mempelajari suatu bahasa pemrograman, kita akan menjumpai elemen-elemen yang pada dasarnya serupa antara satu bahasa
dengan bahasa yang lain. Hal itu dikarenakan elemen-elemen tersebut merupakan bagian dari tata bahasa pemrograman yang bersangkutan. Berikut adalah element-element pada bahasa pemrograman Pascal
1. Tipe data 2. Aturan Leksikal 3. Expression
1). Tipe Data
Pascal telah menyediakan beberapa tipe data yang sudah siap dipakai. Pada saat mendeklarasaikan sebuah variabel secara otomatis harus mendeklarasikan tipe data yang dapat ditampung oleh variabel tersebut.
Tipe data dalam Pascal dibagi menjadi 3 bagian A. Tipe Data sederhana
Tipe data sederhana merupakan tipe data yang paling kecil, yang hanya melibatkan satu item data, misalnya tipe data integer, string, real, Boolean, dan sebagainya. Kita dapat juga mendefinisikan sendiri tipe data ini. Tipe data yang didefinisikan sendiri tersebut diistilahkan enumerated data type a. Tipe bilangan bulat
Tipe data ini digunakan untuk menyimpan bilangan bulat. Macam-macam tipe bilangan bulat dalam Pascal adalah sbb :
Tipe Jangkauan Ukuran
Shortint Integer Longint Byte word -128 … 127 -32768 … 32767 -2147483648 … 2147483647 0 … 255 0 … 65535 8 bit 16 bit 32 bit 8 bit 16 bit
Untuk memberi nilai pada tipe bilangan bulat dapat menggunakan basis decimal maupun heksadesimal yang ditandai dengan tanda $
Contoh : Var
x, y : integer; begin
x := 16; { dengan decimal }
b. Tipe Boolean
Tipe data ini hanya dapat bernilai benar dan salah. Tipe Boolean ukurannya 1 byte.
Contoh :
c. Tipe Karakter
Tipe data ini digunakan untuk menyimpan data alfanumeris seperti ‘A’, ‘Z’, ‘@’, dsb.. Tipe data char ukurannya 1 byte.
Contoh :
d. Tipe Subajangkauan
Tipe data ini memungkinkan Anda mendeklarasikan tipe yang berada pada jangkauan tertentu. Tipe ini hamper sama dengan tipe bilangan bulat, bedanya Anda bebas menentukan jangkauan dari tipe ini.
Contoh :
e. Tipe Terbilang
Tipe data ini memungkinkan Anda memberi nama pada beberapa nilai tertentu. Var B1 : boolean; begin b1 := true; b1 := false; Var ch : char; begin ch := ‘A’;
ch := #65 { sama artinya dengan ch := ‘A’} ch := chr(65); { sama artinya dengan ch := ‘A’}
Type Bulan = 1 .. 12; Var Januari : Bulan; begin Januari := 1;
Contoh :
f. Tipe Real
Tipe data ini digunakan untuk menyimpan bilangan real. Macam-macamnya sebagai berikut :
Tipe Jangkauan Digit penting Ukuran
Real Single Double Extended comp 2.9*10-39 … 1.7*1038 1.5*10-45 … 3.4*1038 5.0*10-324 … 1.7*10308 3.4*10-4932 … 1.1*104932 -263+1 … 263 - 1 11 – 12 7 – 8 15 – 16 19 – 20 19 - 20 6 byte 4 byte 8 byte 10 byte 8 byte Contoh : g. Tipe string
Tipe data ini digunakan untuk menyimpan data yang berupa untaian karakter. Contoh : Var kalimat : string; begin kalimat := ‘ISTA’; Type
TipeHari = (Minggu, Senin, Selasa, Rabu, Kamis, Jumat, Sabtu); Var hari : TipeHari; begin hari := Minggu; hari := Senin; Var x, y : real; begin
x := 123.45; {menuliskan nilai dengan tanda titik} y := 1.2345E+2 { menuliskan nilai dengan eksponen}
String adalah suatu jenis variabel yang tidak dapat ‘di operasikan’ dengan operator matematika. String lebih banyak menyebut sebagai variabel yang berupa teks. Suatu variabel string tidak harus berisi suatu teks (rangkaian karakter/huruf) tetapi bisa juga berisi suatu angka. Contoh :
B. Tipe Data terstruktur
Tipe data terstruktur merupakan tipe data yang menampung beberapa item data. Bentuk dari tipe data ini dapat berupa array (terdiri dari item-item yang memiliki tipe data yang sama) ataupun record (terdiri dari item-item yang boleh memiliki tipe data yang berbeda).
a. Type Larik (Array)
Yang dimaksud array yaitu tipe data berindeks yang terdiri dari satu atau lebih
elemen/komponen yang memiliki tipe data yang sama. Sintaks :
Var nama_larik : array [batas_bawah … batas_atas] of type_larik;
Contoh :
b. Tipe Rekaman
Tipe data ini digunakan untuk merepresentasikan kumpulan (set) elemen/komponen yang memiliki satu jenis atau lebih tipe data. Tiap element disebut juga field atau property atau attribute
c. Tipe Himpunan
Tipe ini digunakan untuk menyimpan kumpulan nilai yang bertipe sama. Sintak :
Type
Nama_himpunan = set of tipeData Contoh :
Type
Karakter = set of char;
C. Tipe Data Pointer
Tipe data pointer digunakan untuk menunjuk pada alamat memory suatu data yang lain. Jadi tipe data pointer pada dasarnya tidak menyimpan nilai data secara langsung,melainkan hanya menyimpan alamat dimana data berada.
Pendeklarasian pointer hampir sama dengan pendeklarasian variabel biasa, bedanya Anda harus menambahkan tanda ^ di depan tipe pointer. Contoh :
2). Aturan Leksikal
Yang dimaksud aturan leksikal yaitu aturan yang digunakan dalam membentuk suatu deklarasi, definisi, maupun statement hingga menjadi satu program yang utuh. Aturan ini meliputi beberapa element antara lain:
a. Token b. Komentar c. Identifier
d. Keywords (Reserved Words) e. Operator
A. Token
Token yaitu element terkecil pada bahasa pemrograman yang memiliki arti penting bagi compiler. Yang termasuk token antara lain: identifier, keywords(reserved words), operator, dan sebagainya.
Var
P1 : ^integer; P2 : ^char;
Token yang satu dengan yang lain dipisahkan dengan satu atau lebih spasi, tab, baris baru, atau komentar.
B. Komentar
Komentar yaitu teks (kumpulan karakter) yang diabaikan oleh Compiler. Komentar sangat berguna untuk memberi catatan mengenai bagian program tertentu sebagai referensi baik bagi programmer itu sendiri maupun orang lain yang membaca kode program tersebut.
Pada bahasa Pascal, teks yang berada di antara kurung kurawal pembuka {dan kurung kurawal tutup } akan dianggap sebagai komentar. Selain itu, dapat pula menggunakan tanda (* sebagai pembuka komentar, dan tanda *) sebagai penutup. Contoh:
C. Identifier
Identifier merupakan kumpulan karakter yang digunakan sebagai penanda untuk nama variable, nama tipe data, fungsi, prosedur, dan sebagainya. Aturan penulisan identifier pada bahasa Pascal Yaitu: suatu identifier harus diawali oleh karakter non angka sebagai berikut:
tersebut di atas, namun tidak boleh menggunakan karakter khusus/spesial seperti + - * / ? ! { } [ ] dan sebagainya. Berikut adalah contoh-contoh identifier yang benar maupun salah.
Tetapi sebagai catatan yang perlu diingat, identifier pada bahasa Pascal bersifat case insensitive (huruf besar dan huruf kecil dianggap sama). Sebagai contoh, identifier No_Telpon dan no_telpon pada bahasa Pascal dianggap sama.
D. Keywords (Reserved Words)
Keywords atau Reserved words merupakan kata-kata yang telah ada/didefinisikan oleh bahasa pemrograman yang bersangkutan. Kata-kata tersebut telah memiliki definisi yang sudah tetap dan tidak dapat diubah. Karena telah memiliki definisi tertentu, maka kata-kata ini tidak dapat digunakan sebagai identifier.
Pada bahasa Pascal, yang termasuk reserved words antara lain:
E. Operator
Operator digunakan untuk menyatakan suatu perhitungan/operasi. Operator yang digunakan untuk operasi yang melibatkan satu operand disebut unary operator. Jika melibatkan dua operand maka disebut binary operator, dan jika melibatkan tiga operand, operator tersebut disebut ternary operator. 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 = 10 + 5 * 2
Karena precedence operator * lebih tinggi daripada operator + maka nilai A adalah 20, diperoleh dari perkalian 5 dan 2, kemudian dijumlahkan dengan 10. Untuk mendahulukan eksekusi precedence yang lebih rendah dapat digunakan tanda ( dan ) sebagai contoh:
A = (10 + 5) * 2
Variable A akan memiliki nilai 30, diperoleh dari penjumlahan 10 dan 5, kemudian dikalikan 2.
Operator dapat dikategorikan menjadi beberapa jenis antara lain: 1. Assignment Operator
2. Arithmetic Operator
3. Bitwise dan Logical Operator 4. Relational Operator
5. Pointer Operator
Berikut akan dibahas lima kelompok operator tersebut di atas. Sebagai catatan, masih terdapat operator-operator yang belum tercakup pada kelompok tersebut di atas. Yang dibahas di sini hanya bagian-bagian yang sangat umum.
a. Assignment Operator
Operator ini digunakan untuk memberi nilai suatu identifier. Pada bahasa Pascal, digunakan tanda titik dua dan tanda sama dengan := untuk memberi nilai pada variable. Contoh:
C := A + B; atau C := 4;
b. Arithmetic Operator
Yang termasuk di dalam operator arithmetic yaitu operator yang digunakan untuk melakukan operasi aritmatika, seperti:
Operator-operator yang disebut di atas termasuk binary operator karena melibatkan dua operand. Terdapat pula operator unary, yaitu tanda – dan + yang digunakan sebagai penanda bilangan negative atau positif.
Contoh : X := y + z; X := a – b – c –d; X := 5 * 9 * 3.14; X:= a / b; X := a + b – c * d; X := 10 div 2; X := I mod j;
Yang perlu Anda perhatikan disini adalah bahwa Pascal mengenal dua macam pembagian.
• Yang pertama pembagian dengan operator /. Pembagian ini selalu menghasilkan bilangan real / pecahan.
• Yang kedua adalah pembagian dengan operator DIV. Pembagian ini sellu menghasilkan bilangan bulat dan operannya juga selalu bilangan bulat.
c. Bitwise dan Logical Operator
Operator ini digunakan untuk melakukan operasi bit dan logika. Operasi ini hanya dapat dikenakan pada operan bertipe bilangan bulat dan hasil operasinya juga selalu bilangan bulat. Yang termasuk di dalam operator ini antara lain:
Operator Operasi
Not Invers
And Logika and
Or Logika or
Xor Logika xor
Shl Penggeseran bit ke kiri shr Penggeseran bit ke kanan
¬ Operator Not
Operator ini digunakan untuk membalik nilai logika dari operand Boolean. Selain itu juga memungkinkan operator NOT digunakan pada operand numeric integer, yang akan mengakibatkan pembalikan bitwise. Contoh : Begin Writeln(not true); Writeln(not false); Writeln(not 0); Writeln(not 5); End. Hasil Run : False True -1 -6
Keterangan :
o Nilai dari Not 1 adalah -1, disebabkan karena nilai 0 tersebut akan tersimpan di memori dengan bentuk bilangan binary.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
o Operator not akan membalik nilai bit (bitwise),yang bernilai 1 menjadi 0 dan sebaliknya, sehingga Not 0 akan menjadi
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
sign bit
o Bit yang paling kanan menunjukkan sign bit, yaitu menunjukkan tanda positif (bila bilangannya nol) dan negative (bila bilangannya 1). Pad kasus diatas karena tandanya satu maka menunjukkan bilai negative. Pada Pascal menggunakan cara komplemen dua, yaitu bila nilainya negative diartikan dengan cara mengurangi nilai biner tersebut dengan satu kemudian nilai bit dibalik.
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 dibalik nilai bit menjadi
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 = 1
dan sign bit sebelumnya menunjukkan nilai negative, berarti 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 = -1
o Jadi (not 0) nilainya menjadi -1 ¬ Operator AND
Operator ini digunakan untuk mengevaluasi masing-masing bit pada operan-operannya. Untuk operand AND, jika bit dari kedua operan bernilai 1 maka bit hasiloperasinya juga bernilai 1, jika tidak bit hasil bernilai 0. Contoh : Begin Writeln(12 and 23); End. Hasil Run : 4
Keterangan :
o Operator arithmetic AND bekerja dengan membandingkan bit demi bit dari lemen-elemen yang dibandingkan sebagai berikut :
12 nilai binarynya : 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 23 nilai binarynya : 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
12 AND 23 bernilai : 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 = 4 o Jadi (12 AND 23) nilainya menjadi 4
¬ Operator OR
Operator ini digunakan untuk mengevaluasi masing-masing bit pada operan-operannya. Untuk operand OR, jika bit dari kedua operan bernilai 0 maka bit hasil operasinya juga bernilai 0, jika tidak bit hasil bernilai 1.
Contoh :
Keterangan :
o Operator arithmetic OR bekerja sama dengan operator AND 12 nilai binarynya : 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 23 nilai binarynya : 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
12 OR 23 bernilai : 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 = 31 o Jadi (12 OR 23) nilainya menjadi 31
¬ Operator XOR
Operator ini digunakan untuk mengevaluasi masing-masing bit pada operan-operannya. Untuk operand XOR, jika bit dari kedua operan bernilai 0 atau 1 maka bit hasil operasinya bernilai 0, jika tidak bit hasil bernilai 1. Contoh : Begin Writeln(12 OR 23); End. Hasil Run : 31 Begin Writeln(12 XOR 23); End. Hasil Run : 27
Keterangan :
o Operator arithmetic XOR bekerja dengan membandingkan bit demi bit dari lemen-elemen yang dibandingkan sebagai berikut :
12 nilai binarynya : 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 23 nilai binarynya : 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
12 XOR 23 bernilai : 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 = 27 o Jadi (12 XOR 23) nilainya menjadi 27
¬ Operator SHL
Operator ini digunakan untuk menggeser (shift) sejumlah bit ke kiri (left) dengan nilai bit 0
Contoh :
Keterangan :
o Bit dari lemen-elemen yang akan digeser sebagai berikut : 12 nilai binarynya : 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0
digeser 5 bit kekiri : 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 = 384
¬ Operator SHR
Operator ini digunakan untuk menggeser (shift) sejumlah bit ke kanan (right)
Contoh :
Keterangan :
o Bit dari lemen-elemen yang akan digeser sebagai berikut : 12 nilai binarynya : 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 digeser 5 bit kekiri : 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 = 5
d. Relational Operator
Operator relasional digunakan untuk membandingkan nilai dua operand. Sebagai catatan, operand yang dibandingkan harus memiliki tipe data
Begin Writeln(12 OR 5); End. Hasil Run : 384 Begin Writeln(160 SHR 5); End. Hasil Run : 5
yang sama, kecuali untuk bilangan bulat (bertipe integer) dan bilangan pecahan (bertipe real atau float). Yang termasuk operator relasional yaitu:
Operator Operasi Tipe Operan
= Sama dengan Tipe sederhana, pointer
himpunan, string
<> Tidak sama dengan Tipe sederhana, pointer himpunan, string
< Kurang dari Tipe sederhana, string
> Lebih dari Tipe sederhana, string
<= Kurang dari atau sama dengan Tipe sederhanastring >= Lebih dari atau sama dengan Tipe sederhana, string
<= Subset dari Tipe himpunan
>= Superset dari Tipe himpunan
Contoh :
e. Pointer Operator
Operator pointer digunakan untuk melakukan operasi pada operand yang berupa pointer. Pada bahasa Pascal, digunakan tanda ^ sebagai deference pointer seperti dijelaskn pada deklarasi pointer pada pembahasan sebelumnya.
3) Expression
Yang dimaksud dengan expression (ekspresi) yaitu suatu pernyataan yang menghasilkan suatu nilai. Expression tersusun dari operator dan operand
Const A = 5; B = 3; Begin Writeln(a=b); Writeln(a=5); Writeln(a<>b); Writeln(a>b); Writeln(a>=b); Writeln(a<b); Writeln(a<=b); End. Hasil Run : False True True True True False False
yang digunakan untuk menghitung atau memberi suatu nilai suatu variable atau identifier.
Expression yang paling sederhana yaitu nama variable. Expression yang lebih kompleks akan melibatkan operator-operator, maupun pemanggilan function atau procedure. Berikut adalah contoh expression:
C. EVALUASI FORMATIF
1 ). Sebutkan struktur dari bahasa pemrograman PASCAL ! 2 ). Sebutkan 4 jenis statemen yang ada dalam bahasa Pascal
3 ). Sebutkan 5 element yang termasuk aturan leksikal pada bahasa Pascal 4 ). Sebutkan minimal 5 jenis operator yang digunakan pada bahasa Pascal 5 ). Diasumsikan A, B, dan C adalah variabel Boolean dan nilai A dan B adalah
true, sedangkan C adalah False. Evaluasi setiap ekspresi berikut ini : a. A and C b. A or B and C c. A and B or C d. A xor B and C e. A or (not B) f. Not (A or B xor C)
6 ). Jika diketahui x adalah variabel bertipe integer, dari nilai-nilai berikut, manakah yang dapat diberikan pada x ?
a. $a d. -$FF b. 10.1 e. $AAAA c. 40000 f. 0010
IV. STATEMENT INPUT DAN OUTPUT
A.1. Tujuan Instruksional Umum
Setelah mempelajari modul ini Anda diharapkan mampu menyusun program sederhana menggunakan statemen input dan output untuk memecahkan masalah.
2. Tujuan Instruksional Khusus
Setelah menyelesaikan modul ini Anda diharapkan dapat :
a. membedakan penggunaan perintah READ dan READLN untuk menyusun program dalam bahasa PASCAL dalam waktu maksimal 10 menit..
b. membedakan penggunaan perintah WRITE dan WRITELN untuk menyusun program dalam bahasa PASCAL dalam waktu maksimal 10 menit
B. URAIAN MATERI
1. Perintah Output
Untuk mencetak hasil pengolahan data (keluaran), Pascal mempunyai dua statemen yaitu write dan writeln. Dengan adanya kedua perintah ini tentunya ada interaksi antara manusia/pemakai dengan program yang dijalankannya. Kedua statemen ini dapat berisi sembarang argumen.
Bentuk Umum statemen output adalah :
Write(<variabel | string | numeric>); atau Writeln (<variabel | string | numeric>); Perbedaan antara write dan writeln adalah :
Write akan menampilkan hasil ke layar tanpa disertai ganti baris sehingga tampilan berikutnya akan terletak pada baris yang sama.
Writeln akan menampilkan hasil ke layar dengan disertai pergantian baris sehingga tampilan berikutnya akan terletak pada baris berikutnya.
Jika Anda akan menampilkan string (kalimat, kata, karakter ataupun symbol) tertentu maka harus diikuti dengan tanda kutip tunggal ( ‘ ) dan diakhiri dengan tanda kutip tunggal juga.
Contoh :
Hasil Tampilannya adalah :
Jika yang akan ditampilkan adalah isi dari variabel atau konstanta, maka Anda tidak perlu menuliskan kutip tunggal pada awal dan akhirvariabel atau konstanta tersebut. Anda cukup menuliskan nama variabel atau konstanta tersebut yang diapit tanda kurung dan diakhiri dengan titik koma.
Contoh :
2. Format Angka
format angka digunakan untuk mengatur hasil tampilan sebuah variabel integer ataupun real. Sebagai contoh
Program satu; Begin
Write ( ‘ SELAMAT’ );
Writeln( ‘BELAJAR PEMROGRAMAN KOMPUTER’ );
Writeln( ‘~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~’ );
Write( ‘ di Lab Kom III Jl I Dewa Nyoman Oka ’);
Write(32); End.
Yang akan ditampilkan ke layar sebuah kalimat
Yang akan ditampilkan ke layar sebuah simbol
Yang akan ditampilkan ke layar sebuah bilangan numerik Program satu; Const A = 5; JumlahSiswa = 10; Begin Write ( A ); Writeln( JumlahSiswa ); End.
SELAMATBELAJAR PEMROGRAMAN KOMPUTER ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tampilan hasil variabel b ternyata ditampilkan dalam bentuk eksponensial. Bagaimana kalau diinginkan tampilan hasilnya adalah 30.00. Untuk menampilkan maka Anda harus memformat tampilannya menggunakan aturan yang telah ditentukan oleh bahasa PASCAL.
• Format untuk variabel integer
Bentuk Umum statemen output menggunakan format angka integer adalah :
Write(<variabel>:m); atau
Writeln (<variabel >:m);
Keterangan :
m : disini mempunyai arti bahwa isi variabel akan ditampilkan dalam bentuk m digit. Dalam hal ini akan menyebabkan isi variabel akan ditampilkan dalam bentuk rata kanan.
Contoh : Hasil Run : ISI A = 100 ISI B = 3.0000000000E+01 Hasil Run : ISI A = 10 ISI B = 100 ISI C = 1000
TAMPILAN TAMPAK RATA KANAN SEMUA
• Format untuk variabel real
Bentuk Umum statemen output menggunakan format angka real adalah :
Write(<variabel>:m:n); atau
Writeln (<variabel >:m:n);
Keterangan :
m : disini mempunyai arti bahwa isi variabel akan ditampilkan dalam bentuk m digit dengan posisi (m – n) untuk memisah decimal (titik) n : untuk menentukan banyaknya digit yang digunakan untuk angka
dibelakang koma. Misalkan :
o Writeln(‘ISI A = ‘, A:5:1)
Perintah A:5:1 mempunyai arti bahwa
Tiga kotak digunakan untuk angka di depan titik Æ kolom 1,2,3
Satu kotak digunakan untuk memisahkan decimal (titik) Æ kolom 4
Satu kotak digunakan untuk angka dibelakang titik Æ kolom 5
o Writeln(‘ISI A = ‘, A:7:3)
Perintah A:7:3 mempunyai arti bahwa
Tiga kotak digunakan untuk angka di depan titik Æ kolom 1,2,3
Satu kotak digunakan untuk memisahkan decimal (titik) Æ kolom 4
Satu kotak digunakan untuk angka dibelakang titik Æ kolom 5,6,7
Contoh :
3. Perintah Input
Untuk contoh pada bagian 4.2.1.1. semua proses masukan tidak
melibatkan pemakai. Conoth program tersebut mempunyai nilai yang tetap.
Sehingga apabila di run berulang kali maka hasil keluarannya akan tetap sama
apabila dilakukan proses running satu kali. Untuk melibatkan pemakai, dalam hal
ini pemakai dapat menginputkan data dari keyboard, maka pemakai dapat
memanfaatkan statement READ dan READLN yang telah disiapkan oleh
PASCAL.
Bentuk umum :
READ (variabel_penampung_data) atau READLN(variabel_penampung_data)
Perbedaan antara READ dan READLN adalah bila memakai READ maka kelebihan data yang diinputkan tidak akan dibuang, sedangkan apabila menggunakan READLN kelebihan data yang diinputkan akan dibuang.
Hasil Run :
ISI A = 100 ISI B = 30.0
TAMPILAN ISI A RATA KIRI TAMPILAN ISI B RATA KANAN
Contoh :
C. EVALUASI FORMATIF
2.
3. Buatlah algoritma dan program untuk mengkonversi suhu dari Celcius ke Fahrenheit. Masukan program ini adalah suhu dalam Celcius berupa bilangan real. Keluaran dari program adalah suhu dalam Fahrenheit.
EVALUASI
Pilihlah salah satu jawaban yang Anda anggap paling benar 1. Ciri-ciri bahasa terstruktur di bawah ini adalah, kecuali :
A. Berurutan
B. Tidak Ada Loncatan C. Memiliki Blok Yang Jelas
D. Satu pintu masuk dan satu pintu keluar pada blok pengulangan.
2. Deklarasikan manakah yang tidak diizinkan oleh compiler Pascal ? A. type X = string[1];
B. type X = array[1..50000]of char; C. type X = array[-1000..1000] of longint; D. type X = array[0..30000]of longint;
3. Cara yang benar untuk mendeklarasikan string adalah : A. var a : string of char;
B. var a : string[1..255]; C. var a : string[255];
D. var a : string[255] of char;
4. Manakah yang mendeklarasikan A sebagai konstanta bertipe dengan tepat ? A. const A = 350;
B. const B = 350; A = B * 10; C. const A : Real = 350; D. const A = integer (350);
5. Manakah yang benar dari deklarasi dibawah ini :
A. program a; C. program abc;
const k = 10; const p : 6;
B. program pqr; D. program satu;
6. Deklarasi manakah yang tidak benar A. var E : set of char;
B. var E : set of (sapi, kelinci, domba, ayam); C. var E : set of (‘S’,..,’Z’);
D. var E : set of 1 .. 15;
7. Layout program dalam Pascal yang benar adalah
A. program [identifier]; C. program [identifier];
begin var [identifier];
type [identifier]; begin
var [identifier]; [program utama];
[program utama]; end;
end; procedure [identifier]; begin
end.
B. begin D. var [identifier];
end. Begin
[program utama];
end;
8. Berikut adalah pernyataan yang benar tentang identifier, KECUALI …. A. karakter pertama dari suatu identifier harus berupa huruf
B. hanya huruf, angka, dan underscore(_) yang diperbolehkan untuk dijadikan unsure pembentuk identifier.
C. panjang karakter dari suatu identifier bebas tetapi hanya 40 karakter pertama yang signifikan.
D. tanda titik koma dipergunakan untuk membentuk qualified identifier
9. Daftar manakah yang hanya berisi operator dalam bahasa Pascal ? A. mod, div, or, in
B. not, and, mod, for C. read, eof, write, writeln D. array, record, set, object.
10. Var n, m : integer; begin
n := 16 shl 4; m := 16 shr 4; end.
Berapakah nilai n setelah program diatas selesai dieksekusi ?
A. 1 C. 256
B. 16 D. 64
11. Dari program pada soal no. 10, berapakah nilai m setelah selesai dieksekusi
A. 1 C. 256 B. 16 D. 64 12. Var a, b : integer; begin a := 10; b := 25; a := a xor b; b := a xor b; a := a xor b; writeln(a,’ ‘,b); end.
Output program diatas adalah :
A. 10 25 C. 10 10
B. 25 25 D. 25 10
13. Bila D, M, Y bertipe integer dan D = 2, M = 9, Y = 86, apakah output dari writeln( D and M or Y ) ? A. true C. 86 B. 22 D. 9 14. var r : real; begin r := 147.0; writeln(r:10:5); end;
Apa tampilan program diatas ?
A. 00147 C. 147.0000
15. Diketahui program berikut ini var U : integer;
begin
U := 3;
Writeln(‘Umur saya ‘,U:3,’ tahun’); End.
Apakah output program diatas
A. Umur saya 3 tahun C. Umur saya 3 tahun B. Umur saya 3.00 tahun D. Umur saya 003 tahun
16. Bagaimana cara Anda mengetikkan input untuk program berikut ini ? var Umur, Tinggi, Berat : real;
begin
write(‘Masukkan umur, tinggi dan berat badan Anda : ‘); readln(Umur,Tinggi, Berat); End. A. 16, 170, 61.5 C. 16 170 61.5 B. 16; 170; 61.5 D. 16 170 61,5 17. var a : real; begin a:= 34.555; writeln(a:4:2); end;
Apa tampilan program diatas ?
a. 34.55 C. 34.56
C. 3455 D. 34.6
Jawablah pertanyaan dibawah ini !
18. Jika diketahui y adalah variabel bertipe real, dari nilai-nilai berikut, manakah yang dapat diberikan pada y ?
A. .3 D. $5.0 B. 1E2 E. -5E-5 C. 3E+4.2 F. 3,14
19. Berapakah nilai variabel z pada program berikut ini Var x, y, z : byte; Begin x := 20; y := 20; z := x * y; End.
20. Berapakah nilai variabel cek pada program berikut ini const R = 0.01; Var a, b, c , d : real; cek : Boolean; Begin a := 2.0; b := 3.0; c := 5.0; d := a * R + b * R + c * R; cek := ( d = 0.2); End. 21.
22. 23 . program kata; var a, b, c : integer; begin a := 10.4; b := 20; c := a*b; writeln(‘hasil perhitungan : ‘); writeln(A,’+’,B,’=’,C:5:0); write(C:8:2); end.
a. Pesan kesalahan apakah yang terjadi apabila program diatas dieksekusi.
b. Bagaimana deklarasi variabel yang benar apabila bagian statemen tidak berubah.
c. Apabila program sudah benar, apakah output dari program diatas
Umpan Balik dan Tindak Lanjut
Cocokkanlah jawaban anda dengan Kunci Jawaban Evaluasi yang terdapat di bagian lampiran modul ini dan hitunglah jumlah jawaban anda yang benar. Kemudian gunakan rumus di bawah ini untuk mengetahui tingkat penguasaan anda dalam materi Modul ke-1.
Rumus :
% 100
25 ×
= Jumlah jawabananda yangbenar penguasaan
Tingkat
Arti tingkat penguasaan yang anda capai : 90% - 100% = baik sekali
80% - 89% = baik 70% - 79% = sedang - 69% = kurang
Kalau Anda mencapai tingkat penguasaan 80% atau lebih, Anda dapat meneruskan ke modul berikutnya. Bagus ! Tetapi kalau nilai Anda dibawah 80%, Anda harus mengulang Modul ke-1 terutama yang belum Anda kuasai.
BAHAN BACAAN
Brassard, Gilles, and Bratley, Paul, 1996, Fundamentals of Algorithmics, Prentice Hall, Englewood Cliffs, New Jersey.
Budiyanto, Alex, 2003, Pengantar Algoritma dan Pemrograman, www.Ilmu Komputer.com
Jogiyanto H.M, 1995, Turbo Pascal versi 5.0, jilid 1, Andi Offset, Yogyakarta.
Munir, Rinaldi, Ir, dan Lidya, Leoni, Ir., 1998, Algoritma dan Pemrograman I, Informatika, Bandung.
Pranata, Antony, 2000, Algoritma dan Pemrograman, J & J Learning, Yogyakarta.
LAMPIRAN
KUNCI JAWABAN FORMATIF
1. B 2. B 3. C 4. C 5. A 6. C 7. B 8. D 9. A 10. C 11. A 12. D 13. C 14. D 15. C 16. C 17. C 18. B DAN E
19. 144 (Karena Byte Hanya Bisa Menampung Nilai 0 Sampai 255) 20. FALSE
21. Isi variabel gol = ‘AB’ yang merupakan tipe string sedangkan type data yang dipesankan adalah bertype char
22. isi variabel a tidak sesuai dengan nilai a yang sudah dikonstankan.
23 a. Terdapat pesan kesalahan type mismatch, karena isi variabel tidak sesuai dengan deklarasi type data yang dipesankan
b. type variabel a dan c diubah menjadi type data real c. hasil perhitungan :
A+B= 280 280.00