DIKTAT KULIAH
PEMROGRAMAN DASAR
Erna Kumalasari Nurnawati
PROGRAM STUDI
TEKNIK
INFORMATIKA S1
JURUSAN TEKNIK
INFORMATIKA
FAKULTAS TEKNOLOGI
INDUSTRI
INSTITUT SAINS & TEKNOLOGI AKPRIND
YOGYAKARTA
2012
Pengenalan Komputer Proses transformasi data berbantukan komputer
Gambar 1. Diagram
tansformasi data
Bahasa (language)
Adalah suatu sistim untuk berkomunikasi. Bahasa tertulis menggunakan simbol
(yaitu huruf) untuk membentuk kata. Dalam ilmu komputer,bahasa manusia disebut
bahasa alamiah (natural languages), dimana komputer tidak bisa memahaminya,
sehingga diperlukan suatu bahasa komputer.
Bahasa pemrograman (programming
language)
Komputer mengerjakan transformasi data berdasarkan kumpulan perintah -
program - yang telah dibuat oleh pemrogram. Kumpulan
perintah ini harus dimengerti oleh komputer, berstruktur tertentu (syntax) dan
bermakna. Bahasa pemrograman merupakan notasi untuk memberikan perintah secara tepat program komputer. Berbeda
dengan bahasa alamiah, mis. Bahasa Indonesia, Inggris dsb. yang merupakan
bahasa alamiah(natural language), sintaks dan semantik bahasa pemrograman
(komputer) ditentukan secara kaku, sehingga bahasa pemrograman juga disebut
sebagai bahasa formal (formal language). Jadi, dalam bahasa pemrograman yang
digunakan sebagai alat komunikasi untuk memberikan perintah kepada komputer
tidak berlaku kebebasan berekspresi seperti laiknya dalam bahasa alamiah.
Pemrograman dalam pengertian luas meliputi seluruh kegiatan yang tercakup dalam
pembuatan program, termasuk analisis kebutuhan (requirement's analysis) dan
keseluruhan tahapan dalam perencanaan (planning) , perancangan (design) dan
pewujudannya (implementation). Dalam pengertian yang lebih sempit, pemrograman
merupakan pengkodean (coding atau program writing = penulisan program) dan
pengujiannya (testing) berdasarkan rancangan tertentu. Pemahaman yang lebih
sempit ini sering digunakan dalam pembuatan program-program terapan komersial
yang membedakan antara system analyst yang bertanggung jawab dalam menganalisa
kebutuhan, perencanaan dan perancangan program dengan pemrogram (programmer)
yang bertugas membuat kode program dan menguji kebenaran program.
Generasi bahasa pemrograman:
• Generasi I: machine language
• Generasi II: assembly language : Asssembler
• Generasi III: high-level programming language: C, PASCAL, dsb.
• Generasi IV: 4 GL (fourth-generation language): SQL
• Generasi II: assembly language : Asssembler
• Generasi III: high-level programming language: C, PASCAL, dsb.
• Generasi IV: 4 GL (fourth-generation language): SQL
2. Bahasa Tingkat Rendah (low-level language)
Merupakan bahasa assembly atau
bahasa mesin. Lebih dekat ke mesin (hardware), dimana high-level programming
languages dekat pada bahasa manusia.
-
Bahasa Mesin (machine language)
Bahasa mesin merupakan representasi
tertulis machine code (kode mesin), yaitu kode operasi suatu mesin tertentu.
Bahasa ini bersifat khusus untuk mesin tertentu dan "dimengerti"
langsung oleh mesin, sehingga pelaksanaan proses sangat cepat. Bahasa mesin
kelompok komputer tertentu berlainan dengan bahasa mesin kelompok komputer yang
lain. Abstraksi bahasa ini adalah kumpulan kombinasi kode biner "0"
dan "1" yang sangat tidak alamiah bagi kebanyakan orang - kecuali
insinyur pembuat mesin komputer. Karena tidak alamiah bagi kebanyakan orang,
bahasa mesin juga disebut bahasa tingkat rendah.
-
Bahasa Assembly (assembly language)
Bahasa rakitan (assembly language)
merupakan notasi untuk menyajikan bahasa mesin yang lebih mudah dibaca dan
dipahami oleh manusia. Bahasa ini sudah menggunakan simbol alpabet yang
bermakna (mnemonic). Contoh “MOV AX 1111”, pindahkan ke register AX nilai
1111.Proses data oleh komputer berdasarkan perintah bahasa rakitan adalah
cepat. Meski demikian masih merepotkan-bahkan bagi kebanyakan pemrogram, karena
masih harus mengingat-ingat tempat penyimpanan data. Bahasa rakitan juga
bersifat khusus untuk mesin tertentu. Contoh: Assembler.
2. Bahasa Tingkat Tinggi (high-level language)
Adalah bahasa pemrograman yang dekat dengan bahasa manusia, kelebihan utama
dari bahasa ini adalah mudah untuk di baca, tulis, maupun diperbaharui, sebelum
bisa dijalankan program harus terlebih dahulu di-compile. Contoh Ada, Algol,
BASIC, COBOL, C, C++, FORTRAN, LISP, dan Pascal, dsb. Pada generasi bahasa
pemrograman terakhir sekarang ini, kedua cara interpretasi dan kompilasi
digabungkan dalam satu lingkungan pengembangan terpadu (IDE = integrated
development environment). Cara interpretasi memudahkan dalam pembuatan program
secara interaktif dan cara kompilasi menjadikan eksekusi program lebih cepat. Pertama program dikembangkan interaktif,
kemudian setelah tidak ada kesalahan keseluruhan program dikompilasi. Contoh
bahasa program seperti ini adalah Visual BASIC yang berbasis BASIC dan Delphi
yang berbasis PASCAL. Bahasa tingkat tinggi bersifat portable. Program yang
dibuat menggunakan bahasa tingkat tinggi pada suatu mesin komputer bersistem
operasi tertentu, hampir 100% bisa digunakan pada berbagai mesin dengan aneka
sistem operasi. Kalaupun ada perbaikan sifatnya kecil sekali.
3. 4GL (fourth-generation
language)
Lebih dekat ke
bahasa manusia dibandingkan dengan high-level programming languages. Biasanya
dipakai untuk mengakses database. Contoh perintah pada bahasa SQL: FIND ALL
RECORDS WHERE NAME IS "JOHN"
Bahasa Pemrograman untuk
tujuan tertentu
Tabel 2. Bahasa
Pemrograman untuk tujuan tertentu. (Mc. Connell, h 46)
Tabel 2. Rasio pernyataan bahasa
tingkat tinggi dengan kode bahasa rakitan yang setara. (Mc.
Connell, h 46)
+
Compiler Adalah suatu program yang menterjemahkan bahasa
program (source code) ke dalam bahasa objek (object code). Compiler
menggabungkan keseluruhan bahasa program dikumpulkan kemudian disusun kembali.
Gambar 3. proses
kompilasi program komputer
Tahapan Kompilasi:
1. Pertama
source code ( program yang ditulis) dibaca ke memory komputer.
2. source code tersebut diubah menjadi object code (bahasa assembly)
3. object code dihubungkan dengan library yang dibutuhkan untuk membentuk file yang bisa di eksekusi.
2. source code tersebut diubah menjadi object code (bahasa assembly)
3. object code dihubungkan dengan library yang dibutuhkan untuk membentuk file yang bisa di eksekusi.
Compiler
memerlukan waktu untuk membuat suatu program yang dapat dieksekusi oleh
komputer. Tetapi, program yang diproduksi oleh Compiler bisa berjalan lebih
cepat dibandingkan dengan yang diproduksi oleh Interpreter, dan bersifat
independen.
Interpreter
berbeda dengan compiler, Interpreter menganalisis dan mengeksekusi setiap baris dari program tanpa melihat program secara keseluruhan. Keuntungan dari Interpreter adalah dalam eksekusi yang bisa dilakukan dengan segera. Tanpa melalui tahap kompilasi, untuk alasan ini interpreter digunakan pada saat pembuatan program berskala besar.
Interpreter
berbeda dengan compiler, Interpreter menganalisis dan mengeksekusi setiap baris dari program tanpa melihat program secara keseluruhan. Keuntungan dari Interpreter adalah dalam eksekusi yang bisa dilakukan dengan segera. Tanpa melalui tahap kompilasi, untuk alasan ini interpreter digunakan pada saat pembuatan program berskala besar.
Tipe Pemrograman
1.
Pemrograman terstruktur
Pemrograman terstruktur
adalah cara pemrosesan data yang terstuktur. Terstruktur dalam: analisa, cara
dan penulisan program. Prinsip pemrograman terstruktur:
a.
Gunakan rancangan pendekatan dari atas ke bawah (top down design),
b. Bagi program ke dalam modul-modul logika yang sejenis,
c. Gunakan sub-program untuk proses-proses sejenis yang sering digunakan,
d. Gunakan pengkodean terstruktur: IF ... THEN, DO ... WHILE dan lain-lainnya,
e. Hindarkan penggunaan perintah GO TO bila tidak diperlukan,
f. Gunakan nama-nama bermakna (mnemonic names), dan
g. Buat dokumentasi yang akurat dan berarti.
Dalam perencanaan dan perancangan dari atas ke bawah, kategori dan
penyelesaian masalah dimulai dari bagian yang utama kemudian dibagi menjadi
bagian yang lebih kecil. Rancangan
cara ini memudahkan penulisan, pengujian, koreksi dan dokumentasi program.
Tahapan rancangan atas ke bawah dalam pemrograman:
1.
Tentukan keluaran (output) yang diminta, masukan (input) yang diperlukan dan
proses-proses utama yang diperlukan untuk transformasi data.
2. Membagi proses utama ke dalam modul-modul fungsional.
3. Buat algoritma msing-masing modul, dari modul utama ke sub-sub modul.
Setiap
modul dalam proses rancangan atas ke bawah biasanya dibatasi dalam isi maupun
batasan-batasan berikut:
1. Setiap modul hanya mempunyai satu masukan dan keluaran
2. Setiap modul hanya mewakili satu fungsi program.
Rancangan (design) terstruktur:
1. Membagi program menjadi sub-program
2. Menekankan fungsionalitas.
3. Cocok untuk sistem yang banyak mempunyai fungsi independen. Gaya penulisan
program terstruktur:Menggunakan indentasi sehingga jelas struktur dan kontrol
program.Memudahkan pembacaan, pemahaman, penelusuran kesalahan dan pembuatan
koreksi.
2.
Bahasa pemrograman prosedural - terstruktur
Bahasa pemrograman
prosedural adalah bahasa pemrograman yang mendukung pembuatan program sebagai
kumpulan prosedur. Prosedur-prosedur ini dapat saling memanggil dan dipanggil
dari manapun dalam program dan dapat menggunakan parameter yang berbeda-beda
untuk setiap pemanggilan. Prosedur adalah bagian dari program untuk melakukan
operasi-operasi yang sudah ditentukan dengan menggunakan parameter tertentu.
Bahasa pemrograman terstruktur adalah pemrograman yang mendukung abstraksi
data, pengkodean terstruktur dan kontrol program terstruktur. Kontrol program
terstruktur:
1. Runtun - urut (sequence)
2. Pilihan (selection)
3. Pengulangan (repetition - loop)
Gambar 4. Tahap
pengembangan program
1. Batasan Masalah Merencanakan
sistim dan spesifikasi program: Siapa yang akan menggunakan program dan untuk
apa? dengan cara:
- Menentukan tujuan dan hasil yang akan dicapai
- Menentukan hal-hal yang diperlukan oleh sistim
- Pengumpulan data
2. Pengembangan Model Pembuatan model dari sistim yang akan kita bangun, model
adalah suatu gambaran sederhana dari sistim yang kita buat. Dengan pembuatan
model akan terlihat dengan jelas hubungan antara objek-objek dalam sistim yang
akan kita bangun. Untuk penyelesaian aritmatik, biasanya model dibuat dalam
bentuk rumus matematik.
Contoh:
Untuk membuat program
luas_lingkaran kita membuat model matematis c = a x b
3. Rancangan algoritma Pembuatan urutan
instruksi yang akan ditulis pada program ( dijelaskan lebih lanjut)
4. Pemrograman Implementasi algoritma ke dalam program (algoritma sendiri dalam
komputer adalah merupakan program).
5. Uji dan Validasi Pengujian terhadap program : seperti kesalahan penulisan
(syntax error) , kesalahan saat eksekusi (runtime error) kesalahan logika
program (program berjalan tapi menghasilkan output yang salah- fatal error).
6. Dokumentasi Pembuatan catatan pada program terutama pada modul-modul yang
rumit.
Contoh:
Sistem Pengembangan Software Life Cycle
Gambar 5. Sistim
Pengembangan Software Life Cycle
Perencanaan dan perancangan program komputer
juga disebut pembuatan algoritma. Secara umum, algoritma: "kumpulan urutan perintah
yang menentukan operasi-operasi tertentu yang diperlukan untuk menyelesaikan
suatu masalah ataupun mengerjakansuatu tugas". Bila data yang
digunakan benar, maka algoritma akan selalu berhenti dengan memberikan hasil
yang benar pula. Pembuatan algoritma harus selalu dikaitkan dengan:
a. Kebenaran algoritma, yakni bila program selesai maka hasilnya juga benar
b. Kompleksitas - lama dan jumlah - waktu proses dan penggunaan memori.
Algoritma - dan tentu program yang baik, bercirikan:
a. Tepat sasaran: memenuhi spesifikasi pekerjaan dan bekerja sesuai tujuan
b. Flexible dan portable: - Flexible untuk dikembangkan lebih lanjut - Portable
untuk digunakan pada berbagai sistem dan mesin
c. Bersih dari kesalahan sistem ataupun lojik
d. Murah:
- Efisien dalam penggunaan piranti memori dan penyimpanan lainnya.
- Cepat waktu pelaksanaannya.
e. Didokumentasi dengan baik untuk pengoperasian, pemeliharaan dan
pengembangan.
f. Algoritma merupakan pemberian (description) pelaksanaan suatu proses.Sebuah
proses dikerjakan oleh pemroses mengikuti algoritma yang sudah dibuat.
Algoritma merupakan urutan langkah instruksi yang logis. Setiap
langkahinstruksi mengerjakan suatu tindakan aksi. Bila suatu aksi dilaksanakan,
maka operasi atau sejumlah operasi yang bersesuaian dengan aksi itu dikerjakan
oleh pemroses.
Hasil atau pengaruh suatu aksi diamati dengan membandingkan keadaan sebelum
(t0) dan sesudah suatu aksi dikerjakan (t1).
t0: kumpulan data ke 1 .. N belum terurut membesar
Algoritma PENGURUTAN DATA
t1: kumpulan data ke 1 .. N terurut membesar
Aturan Penulisan Teks Algoritma
Tidak ada notasi yang baku dalam penulisan teks
algoritma. Algoritma bukanlah program yang harus mengikuti aturan-aturan
tertentu. Meski demikian, algoritma dituliskan mendekati gaya bahasa
pemrograman umumnya. Misal, tulis nilai X dan Y, dituliskan dalam algoritma
sebagai write(X,Y). Perhatikan dalam notasi write(X,Y) ini hanya memerintahkan
penyajian nilai X ke piranti keluaran (output). Dalam notasi itu juga tidak
memasalahkan format ataupun bentuk-bentuk tampilan lainnya, seperti dicetak
dalam satu baris X dan Y, pemakaian pemisah antara X dan Y menggunakan koma
atau spasi. Hal-hal yang bersifat teknis ini baru dipikirkan waktu penulisan
program. Algoritma adalah bebas bahasa pemrograman.
Teks
Algoritma
Mengikuti alur konsep pemrograman prosedural, suatu teks algoritma disusun dalam tiga bagian, yaitu:
a. Bagian kepala algoritma,
b. Bagian deklarasi, dan
c. Bagian deskripsi algoritma.
Setiap bagian disertai dengan penjelasan atau dokumentasi tentang maksud pembuatan teks. Bagian penjelasan diawali dan diakhiri dengan simbol { dan }.
Algoritma NAMA_ALGORITMA { Penjelasan tentang algoritma yang menguraikan secara singkat hal-hal yang dilakukan oleh algoritma }
DEKLARASI { Semua nama yang digunakan, meliputi nama-nama: tipe, konstanta, variabel. Juga nama sub-program dinyatkan di sini }
DESKRIPSI { Semua langkah atau aksi algoritma dituliskan di sini }
Contoh:
1). Kepala algoritma: Algoritma Luas_Lingkaran { Menghitung luas lingkaran dengan ukuran jejari tertentu. Algoritma menerima masukan jejari lingkaran, menghitung luasnya, dan menyajikan hasilnya ke piranti keluaran } Perhatian, dalam menulis nama-nama dalam algoritma harus mempunyai makna yang mencerminkan proses, sifat atau identitas lainnya yang melekat dengan suatu proses, tipe, konstanta, variabel, sub-program dan lain-lainnya.Nama-nama yang bermakna disebut mnemonic.
Mengikuti alur konsep pemrograman prosedural, suatu teks algoritma disusun dalam tiga bagian, yaitu:
a. Bagian kepala algoritma,
b. Bagian deklarasi, dan
c. Bagian deskripsi algoritma.
Setiap bagian disertai dengan penjelasan atau dokumentasi tentang maksud pembuatan teks. Bagian penjelasan diawali dan diakhiri dengan simbol { dan }.
Algoritma NAMA_ALGORITMA { Penjelasan tentang algoritma yang menguraikan secara singkat hal-hal yang dilakukan oleh algoritma }
DEKLARASI { Semua nama yang digunakan, meliputi nama-nama: tipe, konstanta, variabel. Juga nama sub-program dinyatkan di sini }
DESKRIPSI { Semua langkah atau aksi algoritma dituliskan di sini }
Contoh:
1). Kepala algoritma: Algoritma Luas_Lingkaran { Menghitung luas lingkaran dengan ukuran jejari tertentu. Algoritma menerima masukan jejari lingkaran, menghitung luasnya, dan menyajikan hasilnya ke piranti keluaran } Perhatian, dalam menulis nama-nama dalam algoritma harus mempunyai makna yang mencerminkan proses, sifat atau identitas lainnya yang melekat dengan suatu proses, tipe, konstanta, variabel, sub-program dan lain-lainnya.Nama-nama yang bermakna disebut mnemonic.
2)
Deklarasi algoritma:
DEKLARASI { nama konstanta }
const PHI = 3.14; { Nilai phi = 22/7 }
{ nama peubah } var R : real; { input jejari lingkaran bilangan riil }
l_Lingkaran : real; { luas lingkaran bilangan riil }
{ nama sub program }
procedure TUKAR(input/output A:integer, input/output B:integer)
{ Mempertukankan nilai A dan B.Parameter A dan B sudah terdefinisi nilainya.Setelah pertukaran, A berisi nilai B dan B berisi nilai A }
const PHI = 3.14; { Nilai phi = 22/7 }
{ nama peubah } var R : real; { input jejari lingkaran bilangan riil }
l_Lingkaran : real; { luas lingkaran bilangan riil }
{ nama sub program }
procedure TUKAR(input/output A:integer, input/output B:integer)
{ Mempertukankan nilai A dan B.Parameter A dan B sudah terdefinisi nilainya.Setelah pertukaran, A berisi nilai B dan B berisi nilai A }
3)
Deskripsi algoritma: Bagian ini merupakan bagian inti algoritma yang berisikan
uraian langkah-langkah penyelesaian suatu masalah. Setiap langkah algoritma
dibaca dari atas ke bawah. Urutan penulisan menentukan urutan pelaksanaan
perintah.
{ Baca data jejari lingkaran R.Jika R <= 0 tulis pesan
data salah, selain itu hitung luas ingkaran. Tampilkan luas lingkaran. }
baca(R);
jika R <= 0 then tulis("Data salah !")
selain itu l_Lingkaran = PHI x R x R;
tulis(l_Lingkaran);
baca(R);
jika R <= 0 then tulis("Data salah !")
selain itu l_Lingkaran = PHI x R x R;
tulis(l_Lingkaran);
E. Diagram Alir (Flow chart) Merupakan bentuk grafis/visual dari algoritma
Bentuk umum dari simbol-simbol dalam diagram alir:
Contoh
pemakaian flowchart:
-Sequential (berurutan)
perhitungan volume dan luas permukaan silinder
perhitungan volume dan luas permukaan silinder
Selection/Branching Structure (Struktur pemilihan)
Repetition/Looping Structure(Struktur pengulangan)
Kombinasi
Pseudocode Pseudocode adalah
penulisan algoritma menggunakan gaya
bahasa pemrograman pemrograman tertentu. Contoh deskripsi algoritma di atas
bila ditulis menggunkan gaya
bahasa PASCAL akan berbentuk:
BEGIN { mulai } { input }
read(R);
{ proses } jika R <= 0
then tulis("Data salah !")
selain itu l_Lingkaran = PHI x R x R;
{ output } tulis(l_Lingkaran);
END; { selesai }
read(R);
{ proses } jika R <= 0
then tulis("Data salah !")
selain itu l_Lingkaran = PHI x R x R;
{ output } tulis(l_Lingkaran);
END; { selesai }
BAHASA PASCAL
1.SejarahPASCAL
Merupakan
pengembangan dari bahasa ALGOL 60, bahasa pemrograman untuk sains komputasi.
Tahun 1960, beberapa ahli komputer bekerja untuk mengembangkan bahasa ALGOL,
salah satunya adalah Dr. Niklaus Wirth dari Swiss Federal Institute of
Technology (ETH-Zurich), yang merupakan anggota grup yang membuat ALGOL. Tahun
1971, dia menerbitkan suatu spesifikasi untuk highly-structured language
(bahasa tinggi yang terstruktur) yang menyerupai ALGOL. Dia menamainya dengan
PASCAL (seorang filsuf dan ahli matematika dari Perancis) Pascal bersifat data
oriented, yaitu programmer diberi keleluasaan untuk mendefinisikan data
sendiri. Pascal juga merupakan teaching language (banyak dipakai untuk
pengajaran tentang konsep pemrograman). Kelebihan yang lain adalah penulisan
kode Pascal yang luwes, tidak seperti misalnya FORTRAN, yang memerlukan
programmer untuk menulis kode dengan format tertentu. Bentuk dasar program
Pascal adalah seperti berikut:
program TITLE ;
begin pernyataan;
pernyataan
end.
begin pernyataan;
pernyataan
end.
2. PASCAL
sebagai bahasa terstruktur
Sebagai bahasa terstruktur, PASCAL mempunyai ciri-ciri sebagai berikut:
1. Berurutan
Susunan dari kode-kode dalam teks Pascal harus ditulis secara urut dari atas, pernyataan-pernyataan yang ditulis lebih awal akan dieksekusi lebih dahulu. Oleh karena itu, suatu pernyataan yang menyangkut suatu variabel di dalam program, maka variable itu harus terdefinisi dahulu sebelumnya. Hal ini terutama menyangkut pada pemanggilan sub-program oleh sub-program yang lain. Bisa dibaca lebih lanjut pada bagian sub-program.
2. Blok dengan batas-batas yang jelas.
Pascal memberikan pembatas yang jelas pada tiap-tiap blok, seperti pada blok program utama, sub-program, struktur kontrol (pengulangan/ pemilihan), dll. Pemakaian kata kunci begin untuk mengawali operasi pada blok dan end untuk menutupnya memudahkan programmer menyusun programnya dengan mudah.
Sebagai bahasa terstruktur, PASCAL mempunyai ciri-ciri sebagai berikut:
1. Berurutan
Susunan dari kode-kode dalam teks Pascal harus ditulis secara urut dari atas, pernyataan-pernyataan yang ditulis lebih awal akan dieksekusi lebih dahulu. Oleh karena itu, suatu pernyataan yang menyangkut suatu variabel di dalam program, maka variable itu harus terdefinisi dahulu sebelumnya. Hal ini terutama menyangkut pada pemanggilan sub-program oleh sub-program yang lain. Bisa dibaca lebih lanjut pada bagian sub-program.
2. Blok dengan batas-batas yang jelas.
Pascal memberikan pembatas yang jelas pada tiap-tiap blok, seperti pada blok program utama, sub-program, struktur kontrol (pengulangan/ pemilihan), dll. Pemakaian kata kunci begin untuk mengawali operasi pada blok dan end untuk menutupnya memudahkan programmer menyusun programnya dengan mudah.
Seperti
contoh:
If X>0 then
begin Write ( ‘ bilangan positif’);
Writeln ( ‘ program selesai’);
end;
begin Write ( ‘ bilangan positif’);
Writeln ( ‘ program selesai’);
end;
3. Satu pintu masuk dan satu pintu keluar pada blok
pemilihan dan pengulangan. Contoh di atas juga mengilustrasikan pintu masuk
tunggal pada suatu blok pemilihan yaitu suatu test logika X>0, dengan pintu
keluaran yang satu pula (satu disini maksudnya bukan dua baris perintah output
tapi suatu paket perintah yang dirangkai dengan begin .. end.
3.
Bakuan PASCAL
Dibakukan oleh ISO pada tahun 1983 dan dikembangkan dalam beberapa versi, diantaranya: USCD PASCAL, MS PASCAL, TURBO PASCAL dll. Dengan semakin berkembangnya teknologi dalam komputasi, Pascal dimanfaatkan untuk pengembangan DELPHI (berasal dari nama suatu kota di masa Yunani kuno), suatu bahasa pemrograman visual yang menonjolkan pada efek grafis dan orientasi pada objek-objek yang siap dipakai, karena memiliki Visual Component Library (VCL).
Dibakukan oleh ISO pada tahun 1983 dan dikembangkan dalam beberapa versi, diantaranya: USCD PASCAL, MS PASCAL, TURBO PASCAL dll. Dengan semakin berkembangnya teknologi dalam komputasi, Pascal dimanfaatkan untuk pengembangan DELPHI (berasal dari nama suatu kota di masa Yunani kuno), suatu bahasa pemrograman visual yang menonjolkan pada efek grafis dan orientasi pada objek-objek yang siap dipakai, karena memiliki Visual Component Library (VCL).
4.
Struktur Bahasa PASCAL secara umum
Pascal mempunyai struktur sebagai berikut:
1. Bagian Judul Program
2. Bagian Deklarasi
a. Deklarasi tipe data (TYPE)
b. Deklarasi variabel (VAR)
c. Deklarasi konstanta (CONST)
d. Deklarasi label (LABEL)
e. Deklarasi sub-program (PROCEDURE dan FUNCTION)
3. Bagian Program Utama Perintah-perintah.
Pascal mempunyai struktur sebagai berikut:
1. Bagian Judul Program
2. Bagian Deklarasi
a. Deklarasi tipe data (TYPE)
b. Deklarasi variabel (VAR)
c. Deklarasi konstanta (CONST)
d. Deklarasi label (LABEL)
e. Deklarasi sub-program (PROCEDURE dan FUNCTION)
3. Bagian Program Utama Perintah-perintah.
Teks
Pascal setidaknya memiliki bagian Judul Program, bagian Deklarasi, dan Bagian
Program Utama yang berupa perintah-perintah. Sedangkan untuk bagian deklarasi
menyesuaikan dengan isi dari program itu sendiri.
Contoh
program PASCAL:
program TAMBAH_00; { Menjumlahkan dua bilangan yang
nilainya diberikan dalam perintah}
var X, Y, Z: integer; { Deklarasi variabel X,Y dan Z sebagai bilangan bulat }
BEGIN { Program Utama Mulai }
X := 50; { Perintah memberikan nilai 50 pada var. X }
Y := 25; { Perintah memberikan nilai 25 pada var. Y }
Z := X + Y; { Perintah menjumlahkan X dan Y serta menyimpan hasilnya ke Z}
var X, Y, Z: integer; { Deklarasi variabel X,Y dan Z sebagai bilangan bulat }
BEGIN { Program Utama Mulai }
X := 50; { Perintah memberikan nilai 50 pada var. X }
Y := 25; { Perintah memberikan nilai 25 pada var. Y }
Z := X + Y; { Perintah menjumlahkan X dan Y serta menyimpan hasilnya ke Z}
END. { Akhir
Program Utama }
Pada contoh ini nilai X dan Y tidak bisa sembarang,
karena didefiniskan tertentu. Agar nilai X dan Y bisa bebas ditentukan, nilai X
dan Y dibaca dari default input.
program TAMBAH_01; { Menjumlahlan dua buah bilangan yang
dibaca dari default input }
var X, Y, Z: integer; { Deklarasi variabel X,Y dan Z sebagai bilangan bulat }
BEGIN { Program Utama Mulai }
read(X); { Membaca nilai X lewat key-board }
read(Y); { Membaca nilai Y lewat key-board }
Z := X + Y; { Menjumlahkan X dan Y serta menyimpan hasilnya ke Z }
write(Z); { Menyajikan Z ke layar monitor }
END. { Akhir Program Utama }
var X, Y, Z: integer; { Deklarasi variabel X,Y dan Z sebagai bilangan bulat }
BEGIN { Program Utama Mulai }
read(X); { Membaca nilai X lewat key-board }
read(Y); { Membaca nilai Y lewat key-board }
Z := X + Y; { Menjumlahkan X dan Y serta menyimpan hasilnya ke Z }
write(Z); { Menyajikan Z ke layar monitor }
END. { Akhir Program Utama }
Dasar Bahasa PASCAL
Unsur-unsur
Pemrograman
a. Mendapatkan data dengan membaca data dari default input (key board, file atau sumber data lainnya).
b. Menyimpan data ke dalam memori dengan struktur data yang sesuai,
c. Memproses data dengan instruksi yang tepat.
d. Menyajikan atau mengirimkan hasil olahan data ke default output (monitor, file atau tujuan lainnya).
Dalam mengolah data diperlukan pengelolaan instruksi terstruktur:
a. Beberapa instruksi dikelompokkan dalam satu blok atau model yang mengerjakan tugas tertentu.
b. Beberapa perintah dilaksanakan dengan persyaratan tertentu.
c. Beberapa perintah dilaksanakan berulang dengan jumlah pengulangan tertentu. Identifier Digunakan untuk nama: Program, Sub-program (procedure dan function),
nama: Variable, Constant, Type, Label.
Nama-nama ini digunakan untuk pemakaian dan pemanggilan dalam program. Ketentuan penulisan identifier
a. Nama identifier harus dimulai dengan karakter huruf alfabet: a sampai z, A sampai Z atau karakter '_' (underscore - garis bawah)
b. Karakter berikutnya boleh karakter numerik (0 .. 9) atau kombinasi alphanumerik (huruf-numerik).
c. Panjang nama, pada berbagai versi Pascal umumnya antara 32 - 63.
d. Tidak boleh menggunakan karakter istimewa: + - * / | \ = < > [ ] . , ; : ( ) ^ @ { } $ # ~ ! % & ` " ' dan ? Contoh penulisan:
Penulisan yang benar: X _PQR Beta Sudut_Alpha luasLingkaran
Penulisan yang salah: 3D sisi-Kanan B#
Jenis identifier
a. Identifier umum
Merupakan identifier yang didefinisikan sendiri oleh pemrogram. Pemrogram mempunyai kebebasan untuk menentukan nama identifiernya, dengan syarat nama tersebut tidak sama dengan identifier standar dan reserved word yang akan dibahas lebih lanjut. Hal ini untuk mencegah kesalahan yang bisa timbul akibat tumpang tindih identifier dalam program.
b. Identifier Standar (Baku)
Merupakan identifier yang didefinisikan oleh pembuat kompiler Pascal. Biasanya pembuat kompiler menyediakan suatu library yang sudah ada didalam kompiler. Library berisi berbagai procedure, fungsi atau unit yang sudah siap pakai. Misalnya Turbo Pascal Windows 1.5 memiliki suatu unit untuk memproses output yaitu wincrt, gotoxy, yang dengan mudah bisa dipakai oleh programmer di dalam menuliskan kode-kode programnya. Dinamai Identifier Standar karena suatu kompiler tidak harus memilikinya, masing-masing kompiler dimungkinkan mempunyai identifier yang berbeda untuk suatu tugas yang hampir sama. Misalnya Turbo Pascal versi DOS menggunakan crt untuk melakukan fungsi yang sama dengan wincrt (TPW 1.5). Beberapa Identifier Standar yang dimiliki oleh kompiler-kompiler Pascal antara lain:
a. Mendapatkan data dengan membaca data dari default input (key board, file atau sumber data lainnya).
b. Menyimpan data ke dalam memori dengan struktur data yang sesuai,
c. Memproses data dengan instruksi yang tepat.
d. Menyajikan atau mengirimkan hasil olahan data ke default output (monitor, file atau tujuan lainnya).
Dalam mengolah data diperlukan pengelolaan instruksi terstruktur:
a. Beberapa instruksi dikelompokkan dalam satu blok atau model yang mengerjakan tugas tertentu.
b. Beberapa perintah dilaksanakan dengan persyaratan tertentu.
c. Beberapa perintah dilaksanakan berulang dengan jumlah pengulangan tertentu. Identifier Digunakan untuk nama: Program, Sub-program (procedure dan function),
nama: Variable, Constant, Type, Label.
Nama-nama ini digunakan untuk pemakaian dan pemanggilan dalam program. Ketentuan penulisan identifier
a. Nama identifier harus dimulai dengan karakter huruf alfabet: a sampai z, A sampai Z atau karakter '_' (underscore - garis bawah)
b. Karakter berikutnya boleh karakter numerik (0 .. 9) atau kombinasi alphanumerik (huruf-numerik).
c. Panjang nama, pada berbagai versi Pascal umumnya antara 32 - 63.
d. Tidak boleh menggunakan karakter istimewa: + - * / | \ = < > [ ] . , ; : ( ) ^ @ { } $ # ~ ! % & ` " ' dan ? Contoh penulisan:
Penulisan yang benar: X _PQR Beta Sudut_Alpha luasLingkaran
Penulisan yang salah: 3D sisi-Kanan B#
Jenis identifier
a. Identifier umum
Merupakan identifier yang didefinisikan sendiri oleh pemrogram. Pemrogram mempunyai kebebasan untuk menentukan nama identifiernya, dengan syarat nama tersebut tidak sama dengan identifier standar dan reserved word yang akan dibahas lebih lanjut. Hal ini untuk mencegah kesalahan yang bisa timbul akibat tumpang tindih identifier dalam program.
b. Identifier Standar (Baku)
Merupakan identifier yang didefinisikan oleh pembuat kompiler Pascal. Biasanya pembuat kompiler menyediakan suatu library yang sudah ada didalam kompiler. Library berisi berbagai procedure, fungsi atau unit yang sudah siap pakai. Misalnya Turbo Pascal Windows 1.5 memiliki suatu unit untuk memproses output yaitu wincrt, gotoxy, yang dengan mudah bisa dipakai oleh programmer di dalam menuliskan kode-kode programnya. Dinamai Identifier Standar karena suatu kompiler tidak harus memilikinya, masing-masing kompiler dimungkinkan mempunyai identifier yang berbeda untuk suatu tugas yang hampir sama. Misalnya Turbo Pascal versi DOS menggunakan crt untuk melakukan fungsi yang sama dengan wincrt (TPW 1.5). Beberapa Identifier Standar yang dimiliki oleh kompiler-kompiler Pascal antara lain:
abs arctan boolean char
cos dispose eof eoln exp false input integer ln maxint new odd ord output pack
page pred read readln real reset rewrite round sin sqr sqrt succ text true
trunc write writeln
C. Identifier "reserved word", yaitu yang sudah didefinisikan dan
digunakan oleh bahasa PASCAL sendiri (Kita tidak bisa menamai identifier kita
dengan ini).
and array begin case const div do downto else end file for forward
function goto if in label mod nil not of or packed procedure program record
repeat set then to type until var while with
Deklarasi Variable:
Mendeklarasikan varibel adalah:
a. Memberikan nama variabel sebagai identitas pengenal
b. Menentukan tipe data variabel
Contoh deklarasi variabel:
Mendeklarasikan varibel adalah:
a. Memberikan nama variabel sebagai identitas pengenal
b. Menentukan tipe data variabel
Contoh deklarasi variabel:
var K : integer;
R : real;
C : char;
T : boolean;
R : real;
C : char;
T : boolean;
Beberapa
identifier yang sejenis bisa dideklarasikan bersamaan.
var i, j, k : integer;{Variabel i, j dan k sebagai
integer}namaMHS, alamatMHS : char; {Nama dan alamat mahasiswa }
Deklarasi Konstanta:
Mendeklarasikan konstanta adalah:
a. Memberikan nama konstanta sebagai identitas pengenal
b. Menentukan nilai konstanta
Contoh deklarasi konstanta:
Mendeklarasikan konstanta adalah:
a. Memberikan nama konstanta sebagai identitas pengenal
b. Menentukan nilai konstanta
Contoh deklarasi konstanta:
const MaximumSize = 100; {integer }
ExitCommand = 'Q'; {char }
ExitCommand = 'Q'; {char }
Tipe Data
Tipe
data yang disediakan oleh PASCAL meliputi:
1. Tipe Data Sederhana
merupakan tipe data dasar yang sering dipakai oleh program, meliputi: integer (bilangan bulat), real (bilangan pecahan), char (alphanumerik dan tanda baca), dan boolean (logika). Untuk data integer dan real masing-masing terbagi menjadi beberapa kategori
a. Bilangan Integer
merupakan tipe data berupa bilangan bulat, terbagi atas beberapa kategori seperti terlihat dalam tabel 1. tabel 1 menunjukkan jenis data, ukuran dalam memori dan rentang nilainya.
1. Tipe Data Sederhana
merupakan tipe data dasar yang sering dipakai oleh program, meliputi: integer (bilangan bulat), real (bilangan pecahan), char (alphanumerik dan tanda baca), dan boolean (logika). Untuk data integer dan real masing-masing terbagi menjadi beberapa kategori
a. Bilangan Integer
merupakan tipe data berupa bilangan bulat, terbagi atas beberapa kategori seperti terlihat dalam tabel 1. tabel 1 menunjukkan jenis data, ukuran dalam memori dan rentang nilainya.
tabel 1. Tipe Data Bilangan Integer
Contoh bilangan
integer adalah: 34 6458 -90 0 1112 Penggolongan tipe data integer tersebut
dimaksudkan untuk membatasi alokasi memori yang dibutuhkan misalkan untuk suatu
perhitungan dari suatu variabel bilangan diperkirakan nilai maksimumnya 32767
kita cukup mendeklarasikan variabel bilangan sebagai integer (2 byte), daripada
sebagai longint(4 byte). Di dalam kompilernya, Pascal menyediakan konstanta
untuk bilangan Integer yaitu: MaxInt and MaxLongInt, pemrogram bisa
menggunakannya di dalam programnya tanpa harus terlebih dahulu
mendefinisikannya.
-MaxInt bernilai 32.767 -MaxLongint bernilai 2.147.483.647.
contoh:
Program display_maxint;
uses wincrt;
begin writeln (maxint)
end.
Hasilnya: 32.767
uses wincrt;
begin writeln (maxint)
end.
Hasilnya: 32.767
b. Bilangan Real
Bilangan real atau nyata merupakan jenis bilangan pecahan, dapat dituliskan secara biasa atau model scientific . 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. Penggolongan tipe data bilangan real dapat dilihat pada tabel 2.
tabel 2. Bilangan Real
Bilangan real atau nyata merupakan jenis bilangan pecahan, dapat dituliskan secara biasa atau model scientific . 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. Penggolongan tipe data bilangan real dapat dilihat pada tabel 2.
tabel 2. Bilangan Real
C. Char
tipe data ini
menyimpan karakter yang diketikkan dari keyboard, memiliki 266 macam yang
terdapat dalam tabel ASCII (American Standard Code for Information
Interchange). Contoh: 'a' 'B' '+', dsb. Yang perlu diingat bahwa dalam
menuliskannya harus dengan memakai tanda kutip tunggal. Jenis data ini
memerlukan alokasi memori sebesar 1(satu) byte untuk masing-masing data.
D. Tipe Data Boolean
merupakan tipe
data logika, yang berisi dua kemungkinan nilai: TRUE (benar) atau FALSE
(salah). Turbo Pascal for Windows memiliki tiga macam jenis ini yaitu: Boolean,
WordBool, dan LongBool. Tipe boolean memakai memori paling kecil, sedangkan
WordBool dan LongBool dipakai untuk menulis program yang sesuai dengan
lingkungan Windows.
Tabel 2. Tipe Data Boolean
Sebagai bilangan ordinal boolean true
mempunyai nilai 1(satu), sedangkan false nilainya adalah 0(nol).
Contoh:
Program display_bool;
uses wincrt;
begin writeln(ord(true));
writeln(ord(false));
end.
Hasilnya: 1 0 3.2.
Tipe Data Terstruktur
tipe
ini terdiri atas : array, record, set, dan file. String adalah tipe data jenis
array, tetapi karena string memiliki kekhasan tersendiri sebagai array dari
karakter maka penulis perlu memberikan penjelasan tersendiri. Sedangkan untuk
array, record, dan file perlu dijelaskan dalam bab yang lain karena agak banyak
hal-hal yang perlu dibahas.
a. Tipe Data String String
Merupakan suatu data yang menyimpan array (larik),
sebagai contoh 'ABCDEF' merupakan sebuah konstanta string yang berisikan 6 byte
karakter. Ukuran Tempat untuk tipe data ini adalah 2 s/d 256 byte, dengan
jumlah elemen 1 s/d 255. String dideklarasikan dengan string [ konstanta ] atau
string. Bila ukuran string tidak didefinisikan maka akan banyak memakan ruang,
karena ukuran string menyesuaikan dengan defaultnya. Misalkan
var kata: string [20]; atau var kata: string; karena string merupakan array
dari karakter. Maka kata[1] merupakan karakter pertama dari string, kemudian
kata[2], merupakan elemen kedua, dst.
Contoh:
Program hal_string;
Uses wincrt;
var s : string;
begin s:='Hello';
writeln(s);
writeln('panjang dari string adalah: ',ord(s[0]));
end.
Karakter
nol merupakan karakter yang menyatakan panjang string. Sehingga ord(s[0])
menyatakan panjang dari string tersebut. Panjang string juga bisa dinyatakan
sebagai length(s).
routines
pada Pascal untuk manipulasi string :
-Length : menghasilkan
panjang string.
Syntax : length(s)
Contoh : n:=length(s);
Misal s:='pemrograman'; n akan sama dengan 11.
-Copy : mengkopi suatu ekstrak karakter dari sebuah string.
Syntax : copy(s,dari,banyaknya)
Contoh : st:=copy(s,5,3); mengekstrak 3 karakter dari s, dimulai dari karakter
kelima.
Misal s:='Who are you ?'; st adalah 'are'.
catatan: bila indek lebih bear dari panjang string maka hasilnya akan kosong:
Contoh : st:=copy(s,15,4); { kosong} jika banyaknya string yang akan diekstrak
lebih besar dari s, maka hasilnya adalah bagian yang tersisa dari string.
Contoh : st:=copy(s,9,10); st hasilnya adalah 'you ?'
-Pos : menghasilkan posisi dari suatu substring dari suatu string.
Syntax : Pos(substr,s)
Contoh : n:=pos('are','Who are you ?'); { n:=5; }
Jika substring tidak ditemukan, maka hasilnya 0.
-Val : mengkonversi string ke numerik.
Syntax : val(strvar,numvar,errorcode)
strvar adalah variabel string yang akan dikonversi, numvar variabel numerik (
bisa integer atau real, dan errorcode adalah variabel integer yang menyimpan
error code (kode kesalahan). Jika errorcode adalah 0, konversi berhasil.
Sebaliknya, hal ini akan menunjukan posisi dimana pada strvar yang menyebabkan
kegagalan.
Contoh :
program konversiangka;
uses wincrt;
var s : string;
e : integer; r : real;
begin
write('masukkan angka : ');
readln(s);
val(s,r,e);
if e<>0 then writeln('salah pada posisi : ',e)
else writeln('itu adalah : ',r:4:3);
end.
uses wincrt;
var s : string;
e : integer; r : real;
begin
write('masukkan angka : ');
readln(s);
val(s,r,e);
if e<>0 then writeln('salah pada posisi : ',e)
else writeln('itu adalah : ',r:4:3);
end.
-Str :
mengkonversi numerik ke string.
Syntax : str(numvar,strvar)
Contoh :
Syntax : str(numvar,strvar)
Contoh :
program konversiangka_1;
uses wincrt;
var s : string;
i : integer;
begin
write('masukkan angka: ');
readln(i);
str(i,s);
writeln('itu adalah: ',s);
end.
uses wincrt;
var s : string;
i : integer;
begin
write('masukkan angka: ');
readln(i);
str(i,s);
writeln('itu adalah: ',s);
end.
-Concat
: Menggabungkan dua atau lebih string.
Syntax : concat(s1,s2,...,sn)
Contoh : st:=concat(s1,s2); Jikas1='ABC' dan s2='DEF',
st akan menjadi 'ABCDEF' st:=concat('Borland ','Pascal ','ver. ','7.0'); akan menjadi 'Borland Pascal ver. 7.0'
-Insert : Menyisipkan suatu string ke dalam string yang lain.
Syntax : insert(asal,target,indek)
Contoh :
Syntax : concat(s1,s2,...,sn)
Contoh : st:=concat(s1,s2); Jikas1='ABC' dan s2='DEF',
st akan menjadi 'ABCDEF' st:=concat('Borland ','Pascal ','ver. ','7.0'); akan menjadi 'Borland Pascal ver. 7.0'
-Insert : Menyisipkan suatu string ke dalam string yang lain.
Syntax : insert(asal,target,indek)
Contoh :
program sisip ;
uses wincrt;
var s1, s2 : string;
begin
s1:='tidak ';
s2:='saya bekerja';
insert(s1,s2,6);
writeln(s2); {saya tidak bekerja }
end.
Jika
hasilnya lebih dari 255 maka akan terpotong menjadi 255.
-Delete : menghapus n karakter dari string s berawal dari indek i.
Syntax : delete(s,i,n);
Contoh :
-Delete : menghapus n karakter dari string s berawal dari indek i.
Syntax : delete(s,i,n);
Contoh :
program hapus;
uses wincrt;
var s : string;
begin
s:='saya seorang insinyur';
delete(s,6,3);
writeln(s); { 'saya sang insinyur'}
end.
uses wincrt;
var s : string;
begin
s:='saya seorang insinyur';
delete(s,6,3);
writeln(s); { 'saya sang insinyur'}
end.
-Fillchar
: mengisi string s dengan karakter c sampai s sama dengan n-1 panjang
karakternya.
Syntax : fillchar(s,n,c); Hati-hati : s[0] akan tertumpuki, jangan lupa menambahkan s[0]:=chr(n-1); untuk menormalkannnya.
Contoh :
Syntax : fillchar(s,n,c); Hati-hati : s[0] akan tertumpuki, jangan lupa menambahkan s[0]:=chr(n-1); untuk menormalkannnya.
Contoh :
program isikarakter;
uses wincrt;
var s : string;
begin
fillchar(s,51,'=');
s[0]:=chr(50);
end.
uses wincrt;
var s : string;
begin
fillchar(s,51,'=');
s[0]:=chr(50);
end.
b.
Tipe Data Set
Sebuah set merupakan suatu himpunan yang berisi nilai (anggota). set merupakan Tipe data yang khusus untuk Pascal. Set dalam pemrograman sangat mirip dengan himpunan dalam ilmu matematika,
contoh: A = { 1, 2, 3, 4, 5 }
Syntax: set of contoh:
type Digits = set of 0..9;
Letters = set of 'A'..'Z';
type Day = (Sun, Mon, Tue, Wed, Thu, Fri, Sat);
CharSet = set of Char;
Digits = set of 0..9;
Days = set of Day;
const EvenDigits: Digits = [0, 2, 4, 6, 8];
Vowels: Letters = ['A', 'E', 'I', 'O', 'U', 'Y'];
Kita tidak bisa menulis atau membaca isi dari set, tetapi kita bisa melakukan operasi yang lain dengan data yang ada pada set (mis. relasional).
Sebuah set merupakan suatu himpunan yang berisi nilai (anggota). set merupakan Tipe data yang khusus untuk Pascal. Set dalam pemrograman sangat mirip dengan himpunan dalam ilmu matematika,
contoh: A = { 1, 2, 3, 4, 5 }
Syntax: set of contoh:
type Digits = set of 0..9;
Letters = set of 'A'..'Z';
type Day = (Sun, Mon, Tue, Wed, Thu, Fri, Sat);
CharSet = set of Char;
Digits = set of 0..9;
Days = set of Day;
const EvenDigits: Digits = [0, 2, 4, 6, 8];
Vowels: Letters = ['A', 'E', 'I', 'O', 'U', 'Y'];
Kita tidak bisa menulis atau membaca isi dari set, tetapi kita bisa melakukan operasi yang lain dengan data yang ada pada set (mis. relasional).
Contoh:
Program contoh_set;
Uses wincrt;
type hari = (ahad, sen, sel, rab, kam,jum, Sab);
var semua_hari : set of hari;
hari_kerja : set of sen .. jum;
hari_ini : hari;
begin
hari_ini:=sen;
if hari_ini in hari_kerja then
writeln('HARI INI HARI KERJA')
else
writeln('HARI LIBUR');
end.
Uses wincrt;
type hari = (ahad, sen, sel, rab, kam,jum, Sab);
var semua_hari : set of hari;
hari_kerja : set of sen .. jum;
hari_ini : hari;
begin
hari_ini:=sen;
if hari_ini in hari_kerja then
writeln('HARI INI HARI KERJA')
else
writeln('HARI LIBUR');
end.
Salah satu manfaat dari penggunaan
tipe data set adalah untuk mengecek apakah suatu nilai muncul dalam suatu range
tertentu. Misalnya, untuk mementukan apakah suatu karakter berupa lower case
letter (huruf kecil), mis. Ch adalah tipe Char, kita bisa menulis,
if (Ch >= 'a') and (Ch <= 'z') then Writeln( Ch,' merupakan
huruf kecil.');
atau, dengan notasi set, kita
bisa menulis ,
if Ch in ['a'..'z'] then Writeln( Ch,' merupakan huruf kecil.');
-Tipe
Data Pointer
Pointer merupakan variabel khusus yang berisi suatu address (alamat) di lokasi lain didalam memory. Suatu variabel yang points(menunjuk) ke sesuatu sehingga disebut pointer. Ada dua macam pointer:
-typed(tertentu): merupakan pointer yang menunjuk pada tipe data tertentu pada variable.
-generic(umum): merupakan pointer yang tidak menunjuk pada tipe data tertentu pada variable.
Contoh deklarasi pointer:
Pointer merupakan variabel khusus yang berisi suatu address (alamat) di lokasi lain didalam memory. Suatu variabel yang points(menunjuk) ke sesuatu sehingga disebut pointer. Ada dua macam pointer:
-typed(tertentu): merupakan pointer yang menunjuk pada tipe data tertentu pada variable.
-generic(umum): merupakan pointer yang tidak menunjuk pada tipe data tertentu pada variable.
Contoh deklarasi pointer:
var p : ^integer;
Contoh di atas merupakan
deklarasi variabel p sebagai pointer dari integer. Dengan menambahkan tanda
caret (^) di depan nama tipe data variabel yang dideklarasikan:
contoh :
program contoh_pointer1;
uses wincrt;
var p : ^integer;
m, n : integer;
begin
m:=10;
n:=15;
p:=@m; { p sekarang menunjuk ke m }
p^:=12; { hal ini sama dengan m:=12; }
p:=@n; { p sekarang menunjuk ke n }
p^=m; { { hal ini sama dengan n:=m; }
writeln('m = ',m,', n = ',n); { m = 12, n = 12 }
end.
uses wincrt;
var p : ^integer;
m, n : integer;
begin
m:=10;
n:=15;
p:=@m; { p sekarang menunjuk ke m }
p^:=12; { hal ini sama dengan m:=12; }
p:=@n; { p sekarang menunjuk ke n }
p^=m; { { hal ini sama dengan n:=m; }
writeln('m = ',m,', n = ',n); { m = 12, n = 12 }
end.
Ketika p
menunjuk ke m ( p:=@m;), mengakses p^ sama dengan mengakses m. Dalam membuat
program, dalam penggunaan pointer kita memerlukan alokasi memori tertentu:
Ketika kita mendeklarasikan variabel pointer dalam "var" sehingga
merupakan suatu static variable, yang mana Static variable ini dibatasi oleh
kapasitas 64KB untuk tiap module. Yang berarti dalam program utama kita hanya
bisa menggunakan hanya 64KB dan tiap unit Pascal hanya bisa memakai 64KB.
Sehingga kita perlu memecahkan program kebeberapa unit. Salah satu teknik yang
dipakai untuk mengatasi persoalan ini adalah seperti program berikut.
Program contoh_pointer2;
uses wincrt;
Type Pemployee = ^Temployee;
Temployee = record Name : string[10];
Position : char;
Salary : longint;
end;
var p : pemployee;
begin
new(p);
p^.name:='Saddam';
p^.position:='S';
p^.salary:=3000;
writeln(p^.name,' ',p^.position,' ',p^.salary);
dispose(p);
end.
uses wincrt;
Type Pemployee = ^Temployee;
Temployee = record Name : string[10];
Position : char;
Salary : longint;
end;
var p : pemployee;
begin
new(p);
p^.name:='Saddam';
p^.position:='S';
p^.salary:=3000;
writeln(p^.name,' ',p^.position,' ',p^.salary);
dispose(p);
end.
Pada
blok begin...end blok, kita bisa melihat meskipun p tidak menunjuk pada suatu
variable tetapi dapat diisi dengan nilai. Pernyataan new(p); tidak memerlukan
alokasi memori. Setelah itu kita bisa melakukan apapun pada variabel tersebut
sampai kita membuangnya dari memori dengan memakai perintah dispose(p);.
Variable dengan cara ini dinamakan dengan dynamic variable.
Generic Pointer adalah pointer tanpa tipe data tertentu. Biasanya, pointer berkaitan dengan tipe data khusus, sedangkan generic pointer tidak.
Deklarasi:
Generic Pointer adalah pointer tanpa tipe data tertentu. Biasanya, pointer berkaitan dengan tipe data khusus, sedangkan generic pointer tidak.
Deklarasi:
Var P : pointer;
Dipergunakan
sebagai buffer sementara (tidak permanen). Sehingga kita bisa melepasnya untuk
suatu saat tidak diperlukan. Untuk itu pointer sangat bagus karena sifatnya
yang dinamis. Tetapi, generic pointer tidak sama dengan typed pointer. Typed
pointer menggunakan "new" untuk menampung memori dan "dispose"
untuk melepasnya. Generic pointer menggunakan "getmem"
untuk mendapatkan memori dan "freemem" untuk melepasnya. Pada
pointer dengan tipe tertentu, program Pascal mengetahui ukuran dari memori yang
harus dilaokasikan, sedangkan tipe umum (generic pointer) Pascal tidak bisa,
karena Pascal tidak mengetahui variabel apa yang akan dipakai. Sehingga dengan
getmem kita perlu untuk menentukan berapa besar memori yang akan kita
alokasikan. Ukuran terbesar adalah 65532 bytes (hampir 64K).
Program contoh_pointer2;
uses wincrt;
Var P : pointer;
Begin
Getmem(p,8192); { Reserve 8192 bytes }{ We use it then }
freemem(p,8192); { Release it, 8192 bytes }
end.
uses wincrt;
Var P : pointer;
Begin
Getmem(p,8192); { Reserve 8192 bytes }{ We use it then }
freemem(p,8192); { Release it, 8192 bytes }
end.
4. Operator
Beberapa operator yang disediakan oleh PASCAL:
1. Aritmatika
2. Boolean
3. Relasional
4. Set
Tabel 2. Operator Aritmatika PASCAL 1. Aritmatika
2. Boolean
3. Relasional
4. Set
Contoh :
9 + 2 (hasil: 11)
9 - 2 (hasil: 7)
9 * 2 (hasil: 18) 9 / 2 (hasil: 4.5)
9 div 2 (hasil: 4)
9 mod 2 (hasil: 1)
Tabel 3. Operator Boolean PASCAL
Tabel 3. Operator Relasional
Contoh: Misal suatu variable A:=9 dan B:=2,
maka: A = B (hasil: FALSE);
A <= B (hasil: FALSE) A <> B (hasil: TRUE);
A >= B (hasil: TRUE)
A < B (hasil: FALSE)
A > B (hasil: TRUE)
4. Operasi pada Set
a. Operasi Relasional pada Set
Ada empat perbandingan relasional yang diperkenankan pada set.
a. Operasi Relasional pada Set
Ada empat perbandingan relasional yang diperkenankan pada set.
PERINTAH
INPUT - OUTPUT
1. Assignment
Komputer bisa mengolah dan menampilkan sesuatu yang ada di dalam memori. Merupakan cara tersederhana untuk "menempatkan" (assign) data ke memori.
Contoh:
Komputer bisa mengolah dan menampilkan sesuatu yang ada di dalam memori. Merupakan cara tersederhana untuk "menempatkan" (assign) data ke memori.
Contoh:
program luas_PersegiPanjan_00; {Program untuk menghitung luas
bangun empat persegi panjang} uses wincrt;
var panjangPSP, lebarPSP, luasPSP : integer;
{Mendeklarasikan variable panjang, lebar dan luas persegi panjang sebagai integer}
BEGIN {Program MULAI}
panjangPSP := 25;
lebarPSP := 20;
luasPSP := panjangPSP * lebarPSP;
END. {Program SELESAI}
2. Perintah Input (read atau readln) var panjangPSP, lebarPSP, luasPSP : integer;
{Mendeklarasikan variable panjang, lebar dan luas persegi panjang sebagai integer}
BEGIN {Program MULAI}
panjangPSP := 25;
lebarPSP := 20;
luasPSP := panjangPSP * lebarPSP;
END. {Program SELESAI}
Perintah digunakan untuk membaca data dari default input - keyboard.
SYNTAX read(x); atau readln(x);
Contoh:
program luas_PersegiPanjang_00;
{ Program untuk menghitung luas bangun empat persegi panjang. }
uses wincrt;
var panjangPSP, lebarPSP, luasPSP :integer;
{ Mendeklarasikan variable panjang, lebar dan luas persegi panjang sebagai integer. }
BEGIN { Program MULAI }
{Membaca dari data panjang dan lebar persegi panjang, default input unit dan default format tanpa ganti baris}
read(panjangPSP);
readln(lebarPSP);(pengisian variabel pertama dan kedua dipisahkan dengan spasi) luasPSP:=panjangPSP*lebarPSP;{Menghitung luas persegi panjang}
END. { Program SELESAI }
{ Program untuk menghitung luas bangun empat persegi panjang. }
uses wincrt;
var panjangPSP, lebarPSP, luasPSP :integer;
{ Mendeklarasikan variable panjang, lebar dan luas persegi panjang sebagai integer. }
BEGIN { Program MULAI }
{Membaca dari data panjang dan lebar persegi panjang, default input unit dan default format tanpa ganti baris}
read(panjangPSP);
readln(lebarPSP);(pengisian variabel pertama dan kedua dipisahkan dengan spasi) luasPSP:=panjangPSP*lebarPSP;{Menghitung luas persegi panjang}
END. { Program SELESAI }
Perintah
read atau readln dapat digunakan untuk membaca data lebih dari satu sekaligus
dengan berbagai format.
Contoh:
program bacaCampuran; { Membaca data sekaligus
menggunakan perintah read }
uses wincrt;
var nimMHS : character;
umurMHS : integer;
statusMHS: boolean;
BEGIN
readln(nimMHS,umurMHS,statusMHS);
{setelah mengisi semua variabel , harus diikuti dengan Enter}
END.
3. Perintah Output (write atau
writeln ) uses wincrt;
var nimMHS : character;
umurMHS : integer;
statusMHS: boolean;
BEGIN
readln(nimMHS,umurMHS,statusMHS);
{setelah mengisi semua variabel , harus diikuti dengan Enter}
END.
Perintah digunakan untuk menyajikan data ke default output - key-board.
SYNTAX Write(x); atau writeln(x);
Contoh: write('TES'); Perintah ini akan menampilkan teks string TES ke
layar monitor pada posisi kursor sebelum perintah write dilaksanakan. Setelah
menyajikan ke layar, kursor pindah ke ujung teks TES pada baris yang sama.
writeln('TES'); Perintah ini akan menampilkan teks TES ke layar monitor pada
posisi kursor sebelum perintah write dilaksanakan. Setelah menyajikan ke layar,
kursor pindah ke awal baris berikutnya.
program luas_PersegiPanjan_01;
{Program untuk menghitung luas bangun empat persegi panjang. input dibaca dari keyboard dan output ditampilkan ke layar monitor }
uses wincrt;
var panjangPSP, lebarPSP, luasPSP : integer;
{ Mendeklarasikan variable panjang, lebar dan luas persegi panjang sebagai integer. }
BEGIN { Program MULAI }
{ Membaca dari data panjang dan lebar persegi panjang; default input unit dan default format dengan memberikan pentunjuk ke pemakai tanpa ganti baris. Setelah membaca data kursor pindah ke baris baru. }
write('Panjang = '); readln(panjangPSP);
write('Leabar = '); readln(lebarPSP); { Menghitung luas persegi panjang. }
luasPSP := panjangPSP * lebarPSP;
{ Menyajikan hasil hitungan luas persegi panjang ke unit default output dan default format.Setelah menyajikan kursor pindah ke baris baru. }
writeln('Luas = ', luasPSP);
END. { Program SELESAI }
{Program untuk menghitung luas bangun empat persegi panjang. input dibaca dari keyboard dan output ditampilkan ke layar monitor }
uses wincrt;
var panjangPSP, lebarPSP, luasPSP : integer;
{ Mendeklarasikan variable panjang, lebar dan luas persegi panjang sebagai integer. }
BEGIN { Program MULAI }
{ Membaca dari data panjang dan lebar persegi panjang; default input unit dan default format dengan memberikan pentunjuk ke pemakai tanpa ganti baris. Setelah membaca data kursor pindah ke baris baru. }
write('Panjang = '); readln(panjangPSP);
write('Leabar = '); readln(lebarPSP); { Menghitung luas persegi panjang. }
luasPSP := panjangPSP * lebarPSP;
{ Menyajikan hasil hitungan luas persegi panjang ke unit default output dan default format.Setelah menyajikan kursor pindah ke baris baru. }
writeln('Luas = ', luasPSP);
END. { Program SELESAI }
Catatan:
Argumen perintah writeln boleh berupa ekspresi.
Contoh perintah penyajian writeln('Luas = ', luasPSP); bisa dikerjakan dengan perintah:
writeln('Luas = ', panjangPSP * lebarPSP);
Contoh perintah penyajian writeln('Luas = ', luasPSP); bisa dikerjakan dengan perintah:
writeln('Luas = ', panjangPSP * lebarPSP);
4.
Format Penyajian Data
a. Format Penyajian Tipe Data Integer dan String
Perintah digunakan untuk menyajikan data ke unit default output - monitor dengan user-defined format.
a. Format Penyajian Tipe Data Integer dan String
Perintah digunakan untuk menyajikan data ke unit default output - monitor dengan user-defined format.
SYNTAX
Write(A:n); atau writeln(B:n);
A, B = ekspresi
yang akan disajikan nilainya n = maksimum tempat yang disediakan, n harus lebih
besar dari banyak karakter atau digit yang terkandung di dalam A. Sajian format
ini mengatur tampilan rata kanan (right justified) Contoh: Bila N adalah
bilangan bulat bernilai 5, maka:
Perintah: Ditampilkan di
monitor:
writeln(N:5);
_ _ _ _ 5
writeln(N*10:5);
_ _ _ _50
writeln(N*100:5);
_ _ __500
_ _ _ _ 5
writeln(N*10:5);
_ _ _ _50
writeln(N*100:5);
_ _ __500
b. Format Penyajian Tipe Data
Real
Perintah digunakan untuk menyajikan data ke unit default output - monitor dengan user-defined format.
Perintah digunakan untuk menyajikan data ke unit default output - monitor dengan user-defined format.
SYNTAX Write(R:n:d); atau writeln(E);
R, E =
ekspresi yang akan disajikan nilainya n = maksimum tempat yang disediakan untuk
angka termasuk tanda titik sebagai tanda pemisah desimal. d = maksimum tempat
yang disediakan untuk angka desimal. Sajian format ini mengatur tampilan rata
kanan (right justified)
Contoh: Bila R = 123.45 dan S = 12.355, maka:
Perintah: Ditampilkan di monitor:
writeln(R:6:2); 123.45
writeln(S:6:2); 12.35
Bilangan dengan tipe real bila ditampilkan menggunakan default format akan disajikan menggunakan format floating point. Untuk contoh nilai R dan S di atas, default format sajiannya adalah: R 1.2345E2 S 1.2355E1
Contoh: Bila R = 123.45 dan S = 12.355, maka:
Perintah: Ditampilkan di monitor:
writeln(R:6:2); 123.45
writeln(S:6:2); 12.35
Bilangan dengan tipe real bila ditampilkan menggunakan default format akan disajikan menggunakan format floating point. Untuk contoh nilai R dan S di atas, default format sajiannya adalah: R 1.2345E2 S 1.2355E1
c.
Perintah untuk menyajikan tampilan ke printer
SYNTAX Write(LST,ABC ); atau writeln(LST,OPK);
Monitor komputer umumnya dibagi dalam 80 kolom dan 25 baris dengan kolom ke
1 dan baris ke 1 terletak di pojok kiri atas. Dalam lingkungan pemrograman yang
beorientasi teks, pengaturan interaksi pengguna dengan komputer menggunakan
tampilan-tampilan teks yang posisinya diatur dalam komposisi baris dan kolom.
SYNTAX GotoXY(X,Y);
X
menyatakan kolom dan Y menyatakan baris. Untuk PASCAL versi tertentu, masih
dilengkapi dengan perintah penghapusan seluruh layar dan penghapusan dari
posisi kursor hingga akhir baris.
SYNTAX ClrScr; dan CLrEOL;
Contoh:
program contohGOTO_XY; { Contoh penggunaan perintah
gotoXY untuk pengaturan tampilan. } uses winCRT;
var panjangPSP, lebarPSP, luasPSP, kelilingPSP: real;
BEGIN
clrScr; { Membersihkan tampilan keseluruhan layar }
{Membuat tampilan untuk meminta masukan data mulai kolom ke 25 baris ke 10 layar} gotoXY(25,10); write('Masukkan data persegi panjang : ');
gotoXY(25,11); write('Panjang = '); read(panjangPSP);
gotoXY(25,12); write('Lebar = '); read(lebarPSP); {Melakukan operasi matematika} kelilingPSP := 2 * (panjangPSP + lebarPSP);
luasPSP := panjangPSP * lebarPSP;
{ Membuat tampilan untuk output mulai kolom ke 25 baris ke 14 layar. }
gotoXY(25,14); write('Keleling = ', kelilingPSP:8:2);
gotoXY(25,15); write('Luas = ', luasPSP:8:2);
END.
var panjangPSP, lebarPSP, luasPSP, kelilingPSP: real;
BEGIN
clrScr; { Membersihkan tampilan keseluruhan layar }
{Membuat tampilan untuk meminta masukan data mulai kolom ke 25 baris ke 10 layar} gotoXY(25,10); write('Masukkan data persegi panjang : ');
gotoXY(25,11); write('Panjang = '); read(panjangPSP);
gotoXY(25,12); write('Lebar = '); read(lebarPSP); {Melakukan operasi matematika} kelilingPSP := 2 * (panjangPSP + lebarPSP);
luasPSP := panjangPSP * lebarPSP;
{ Membuat tampilan untuk output mulai kolom ke 25 baris ke 14 layar. }
gotoXY(25,14); write('Keleling = ', kelilingPSP:8:2);
gotoXY(25,15); write('Luas = ', luasPSP:8:2);
END.
STRUKTUR KONTROL PROGRAM
1.
Struktur Pengulangan
Secara alamiah, suatu proses bisa berupa proses berurutan dari awal hingga selesai, pilihan berdasarkan kondisi tertentu atau pengulangan bedasarkan batasan tertentu pula. PASCAL menyediakan beberapa konstruksi perintah untuk melakukan proses-proses itu, yaitu:
Secara alamiah, suatu proses bisa berupa proses berurutan dari awal hingga selesai, pilihan berdasarkan kondisi tertentu atau pengulangan bedasarkan batasan tertentu pula. PASCAL menyediakan beberapa konstruksi perintah untuk melakukan proses-proses itu, yaitu:
1. For ... to ... do
2. While ... do
3. Repeat ... until
4. goto
2. While ... do
3. Repeat ... until
4. goto
Beberapa kemungkinan proses
pengulangan adalah jumlah pengulangan sudah tertentu atau ditentukan dalam
program atau jumlah pengulangan tidak tentu tergantung banyak data yang harus
diproses atau kenginan pemakai.
a. Struktur FOR < KONDISI > DO Digunakan bila jumlah pengulangan sudah diketahui atau sudah tertentu.
for variabel:= <awal> to <akhir> do
begin
:
:
pernyataan
:
:
end;
Keterangan: begin
:
:
pernyataan
:
:
end;
Variabel : merupakan nama variabel yang digunakan sebagai kendali pengulangan,
<awal> : menyatakan kondisi awal nilai variabel kendali pengulangan,
<akhir> : menyatakan kondisi akhir nilai variabel kendali pengulangan,
<perintah>: merupakan instruksi(-instruksi) yang perlu dilakukan.
Contoh: Misalkan i adalah suatu variabel dalam integer
For i:=1 to 5 do
begin
writeln(‘mari membuat program’);
end;
Akan Menghasilkan : begin
writeln(‘mari membuat program’);
end;
mari membuat program
mari membuat program
mari membuat program
mari membuat program
mari membuat program
sebanyak lima baris, kemudian berhenti. Apabila kita akan melakukan pengulangan secara ‘cacah mundur’ kita bisa memakai kata kunci ‘downto’
SYNTAX for variabel:= <awal> downto <akhir> do
begin
:
:
perintah;
:
:
end;
Contoh: Misalkan i adalah suatu variabel dalam integer :
:
perintah;
:
:
end;
For i:=5 downto 1 do
begin
writeln(‘mari membuat program’);
end;
Akan Menghasilkan : begin
writeln(‘mari membuat program’);
end;
mari membuat program
mari membuat program
mari membuat program
mari membuat program
mari membuat program
Contoh:
Setiap akhir
minggu Melly, seorang mahasiswa yang mendapatkan kiriman biaya hidup bulanan
dengan jumlah agak pas-pasan, selalu mencatat pengeluarannya per-minggu di luar
sewa kamar selama satu bulan. Di akhir bulan ia menghitung total pengeluarannya
selama sebulan dan menghitung rerata pengeluarannya per minggu selama bulan
itu. Bila sebulan dianggap 4 minggu, buat program komputer untuk menghitung
pengeluaran Tertib seperti itu.
Minggu
ke
Pengeluaran
(Rp.)
1
170.000
2
175.000
3
175.000
4
180.000
Penyelesaian:
1. Rumus penyelesaian:
rerataOHM = SUM( ongkosHPM[i] )/m; i = 1 .. m, m = 4.
2. Algoritma:
2.1 Kosongkan variabel penjumlah (accumulator) jumlahOHB - total ongkos hidup perbulan.
2.2 Baca data ongkosHPM - ongkos hidup minggu ke i.
2.3 Tambahkan ongkosHPM ke jumlahOHB, jumlahOHB = jumlahOHB + ongkosHPM.
2.4 Ulangi 2.2 dan 2.3 hingga 4 kali.
2.5 rerataOHM = jumlahOHB / 4.
1. Rumus penyelesaian:
rerataOHM = SUM( ongkosHPM[i] )/m; i = 1 .. m, m = 4.
2. Algoritma:
2.1 Kosongkan variabel penjumlah (accumulator) jumlahOHB - total ongkos hidup perbulan.
2.2 Baca data ongkosHPM - ongkos hidup minggu ke i.
2.3 Tambahkan ongkosHPM ke jumlahOHB, jumlahOHB = jumlahOHB + ongkosHPM.
2.4 Ulangi 2.2 dan 2.3 hingga 4 kali.
2.5 rerataOHM = jumlahOHB / 4.
program hitung_rerataOHB;
uses winCRT;
var ongkosHPM, jumlahOHB, rerataOHM : real;
i, m : integer;
begin
jumlahOHB := 0.0; { Nilai awal penjumlah }
m := 4; { Jumlah minggu dalam sebulan dianggap 4 }
for i := 1 to m do
begin
write('Data minggu ke : ', i,' : ');
readln(ongkosHPM);
jumlahOHB := jumlahOHB + ongkosHPM;
end;
rerataOHM := jumlahOHB/m;
writeln('Total ongkos hidup per bulan = Rp ',jumlahOHB:7:2);
writeln('Rerata ongkos hidup per minggu =Rp ',rerataOHM:7:2);
end.
uses winCRT;
var ongkosHPM, jumlahOHB, rerataOHM : real;
i, m : integer;
begin
jumlahOHB := 0.0; { Nilai awal penjumlah }
m := 4; { Jumlah minggu dalam sebulan dianggap 4 }
for i := 1 to m do
begin
write('Data minggu ke : ', i,' : ');
readln(ongkosHPM);
jumlahOHB := jumlahOHB + ongkosHPM;
end;
rerataOHM := jumlahOHB/m;
writeln('Total ongkos hidup per bulan = Rp ',jumlahOHB:7:2);
writeln('Rerata ongkos hidup per minggu =Rp ',rerataOHM:7:2);
end.
Latihan: kembangkan program ini
hingga bisa mencatat pengeluaran maksimum dan minimum serta minggu
pengeluarannya.
Proses pengulangan juga boleh berada di dalam suatu kontrol proses pengulangan pula. Proses seperti ini disebut proses bersarang.
Proses pengulangan juga boleh berada di dalam suatu kontrol proses pengulangan pula. Proses seperti ini disebut proses bersarang.
b. Struktur WHILE
<Ekspresi Boolean> DO <Statement>
Perintah-perintah akan dilaksanakan apabila ekspresi boolean dalam keadan benar. Di dalam loop ada nilai yang mengontrol loop, yang nilainya harus berubah sehingga pada akhirnya program akan keluar dari loop.
Logika dari pengulangan ini adalah seperti di bawah ini:
�[op��
�span>Perintah-perintah akan dilaksanakan apabila ekspresi boolean dalam keadan benar. Di dalam loop ada nilai yang mengontrol loop, yang nilainya harus berubah sehingga pada akhirnya program akan keluar dari loop.
Logika dari pengulangan ini adalah seperti di bawah ini:
R, E =
ekspresi yang akan disajikan nilainya n = maksimum tempat yang disediakan untuk
angka termasuk tanda titik sebagai tanda pemisah desimal. d = maksimum tempat
yang disediakan untuk angka desimal. Sajian format ini mengatur tampilan rata
kanan (right justified)
Contoh: Bila R = 123.45 dan S = 12.355, maka:
Perintah: Ditampilkan di monitor:
writeln(R:6:2); 123.45
writeln(S:6:2); 12.35
Bilangan dengan tipe real bila ditampilkan menggunakan default format akan disajikan menggunakan format floating point. Untuk contoh nilai R dan S di atas, default format sajiannya adalah: R 1.2345E2 S 1.2355E1
Contoh: Bila R = 123.45 dan S = 12.355, maka:
Perintah: Ditampilkan di monitor:
writeln(R:6:2); 123.45
writeln(S:6:2); 12.35
Bilangan dengan tipe real bila ditampilkan menggunakan default format akan disajikan menggunakan format floating point. Untuk contoh nilai R dan S di atas, default format sajiannya adalah: R 1.2345E2 S 1.2355E1
c.
Perintah untuk menyajikan tampilan ke printer
SYNTAX Write(LST,ABC ); atau writeln(LST,OPK);
Monitor komputer umumnya dibagi dalam 80 kolom dan 25 baris dengan kolom ke
1 dan baris ke 1 terletak di pojok kiri atas. Dalam lingkungan pemrograman yang
beorientasi teks, pengaturan interaksi pengguna dengan komputer menggunakan
tampilan-tampilan teks yang posisinya diatur dalam komposisi baris dan kolom.
SYNTAX GotoXY(X,Y);
X
menyatakan kolom dan Y menyatakan baris. Untuk PASCAL versi tertentu, masih
dilengkapi dengan perintah penghapusan seluruh layar dan penghapusan dari
posisi kursor hingga akhir baris.
SYNTAX ClrScr; dan CLrEOL;
Contoh:
program contohGOTO_XY; { Contoh penggunaan perintah
gotoXY untuk pengaturan tampilan. } uses winCRT;
var panjangPSP, lebarPSP, luasPSP, kelilingPSP: real;
BEGIN
clrScr; { Membersihkan tampilan keseluruhan layar }
{Membuat tampilan untuk meminta masukan data mulai kolom ke 25 baris ke 10 layar} gotoXY(25,10); write('Masukkan data persegi panjang : ');
gotoXY(25,11); write('Panjang = '); read(panjangPSP);
gotoXY(25,12); write('Lebar = '); read(lebarPSP); {Melakukan operasi matematika} kelilingPSP := 2 * (panjangPSP + lebarPSP);
luasPSP := panjangPSP * lebarPSP;
{ Membuat tampilan untuk output mulai kolom ke 25 baris ke 14 layar. }
gotoXY(25,14); write('Keleling = ', kelilingPSP:8:2);
gotoXY(25,15); write('Luas = ', luasPSP:8:2);
END.
var panjangPSP, lebarPSP, luasPSP, kelilingPSP: real;
BEGIN
clrScr; { Membersihkan tampilan keseluruhan layar }
{Membuat tampilan untuk meminta masukan data mulai kolom ke 25 baris ke 10 layar} gotoXY(25,10); write('Masukkan data persegi panjang : ');
gotoXY(25,11); write('Panjang = '); read(panjangPSP);
gotoXY(25,12); write('Lebar = '); read(lebarPSP); {Melakukan operasi matematika} kelilingPSP := 2 * (panjangPSP + lebarPSP);
luasPSP := panjangPSP * lebarPSP;
{ Membuat tampilan untuk output mulai kolom ke 25 baris ke 14 layar. }
gotoXY(25,14); write('Keleling = ', kelilingPSP:8:2);
gotoXY(25,15); write('Luas = ', luasPSP:8:2);
END.
ARTIKEL TERKAIT PERLU DIBACA...!/LE'E MOS ARTIKEL NE'E:




















Tidak ada komentar:
Posting Komentar