Senin, 17 Maret 2014

Pascal or Delphi

Pascal or Delphi

Standard
Karena 2 minggu ini sedang di sibukkan dengan pembuatan 2 laporan praktikum mengenai PASCAL yang harus ACC ,maka saya akan membagikan kesenangan yang sedang saya alami ini kepada kalian. oke silahkan nikmati ya .semua tentang PASCAL !
Sejarah Singkat
Pascal
Delphi menggunakan bahasa Pascal, sebuah bahasa terstruktur generasi ketiga, yang sering juga disebut sebagai bahasa highly typed, bahasa dengan aturan tipe data yang ketat. hal ini akan menghasilkan program yang bersih, dengan gaya pemrograman yang konsisten, dan yang terpenting dapat diandalkan untuk berbagai aplikasi. Pascal mengalami sejarah yang panjang:
Awal mula
Kemunculan Pascal boleh dikatakan terlamabt dalam sejarah bahasa pemrograman. Karena muncul belakangan, Pascal dapat belajar dari pendahulunya seperti Fortran, Cobol, dan PL/1 yang muncul sekitar awal 1960-an. Niklaus Wirth menyatakan bahwa di mulai mengembangkan Pascal tahun 1968, dengan implemetasi pertama dilakukan pada mesin seri CDC 6000 di tahun 1970.
Bahasa C belum muncul sampai tahun 1972. C dibuat dengan tujuan yang berbeda dengan Pascal. C dibuat sebagai bahasa tingkat tinggi yang juga memberikan kemudahan akses pada level bahasa rendah seperti yang diberikan oleh assembly. Pascal dibangun untuk menghasilkan aplikasi yang terstruktur dan mudah dikelola.
Tahun 1970-an
Pada tahun 1975, Wirth bekerja bersama Jensen untuk menghasilkan buku referensi Pascal “Pascal User Manual and Report”. Wirth beralih dari Pascal tahun 1977 untuk mengerjakan Modula – penerus Pascal.
Tahun 1980-an
Tahun 1982 muncul ISO Pascal. Ada even besar pada bulan November 1983, dengan keluarnya Turbo Pascal. Tahun 1987 Turbo Pascal sudah mencapai rilis 4. Turbo Pascal mengungguli lawan-lawannya dalam hal kecepatan kompilasi dan eksekusi, meninggalkan pesaingnya dengan kelemahannya.
Dari Turbo Pascal menuju Delphi
Delphi, sebuah lingkungan pengembangan pemrograman yang cukup ampuh di lingkungan Windows© dan Linux© (dengan nama Kylix) muncul pertama kali pada tahun 1995. Delphi, merupakan kelanjutan dari Turbo Pascal©.
Borland sepertinya mengadu untung saat memunculkan Pascal versi Object Oriented. Namun ternyata keberanian itu memperoleh imbalan karena memang IDE tetap disukai dan waktu kompilasi maupun eksekusi tetap cepat.
Versi pertama Delphi terasa sangat terbatas kemampuannya dibandingkan dengan Delphi yang ada saat ini, namun saat itu Delphi meraih sukses karena faktor kecepatan. Pada era 1990-an Delphi terus berubah dengan cepat.
Delphi version 8
Dari versi pertama Delphi sekarang sudah sampai versi 8, yang mengikuti jalur arsitektur Microsoft© Net. Namun demikian Delphi tetap merupakan, menurut hemat penulis, development tool yang terbaik untuk Windows maupun Linux. Pascal adalah bahasa yang jernih, dan lebih disiplin daripada Basic, dan dalam hal adaptasi pemograman objek juga lebih baik daripada Basic.
KONSEP DASAR PEMROGRAMAN TERSTRUKTUR
Tujuan mempelajari materi pemrograman terstruktur
Agar memahami cara menyederhanakan kerumitan program dan meningkatkan program supaya mudah dimengerti, dites, dan dimodifikasi.
Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program.
Ada 5(lima) langkah yang dapat dilakukan oleh programmer dalam proses pemecahan suatu masalah
1. Menganalisis dan memahami persoalan yang ada dan mengembangkan suatu
urutan proses logika untuk menyelesaikan masalah tersebut dalam bentuk algoritma.
2. Menentukan bentuk data apa yang diperlukan (sebagai input di dalam program yang akan dibuat) dan apa saja yang akan dihasilkan (sebagai output dari program yang akan dibuat)
3. Pengkodean dari algoritma yang sudah dibuat diterjemahkan kedalam bentuk-bentuk statement-statement yang sesuai dan yg terdapat di dalam bahasa pemrograman yang digunakan.
4. Melakukan test program dari proses logika yang sudah dibuat, apakah program tersebut sudah benar atau masih harus direvisi.
5. Melakukan pendokumentasian program sebagai back-up.
Tujuan Pemrograman Terstruktur
1. Meningkatkan kehandalan program
2. Program mudah dibaca dan ditelusuri
3. Menyederhanakan kerumitan program
4. Pemeliharaan program
5. Meningkatkan produktivitas pemrograman.
Ciri Pemrograman Terstruktur
Pemrograman terstruktur mempunyai ciri-ciri sbb:
1. Mengandung teknik pemecahan masalah yang tepat dan benar
2. Memiliki algoritma pemecahan masalah yg sederhana, standard an efektif.
3. Penulisan program memiliki struktur logika yang benar dan mudah dipahami
4. Program hanya terdiri dari tiga struktur dasar, yaitu struktur berurutan, struktur seleksi dan struktur perulangan.
5. Menghindari penggunaan pernyataan GOTO, yang akan menjadikan program tidak terstruktur dengan baik.
6. Biaya Pengujian yang dibutuhkan rendah.
7. Biaya perawatan dan dokumentasi yang dibutuhkan rendah.
3(tiga) standar program yang baik
1. Pemecahan Masalah
2. Penyusunan Program
3. Perawatan Program
Standar Pemecahan Masalah
1. Teknik TOP-DOWN
Merupakan teknik pemecahan masalah yang paling umum digunakan, karena pada teknik ini suatu masalah yg besar atau kompleks dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil, dari kelompok yang lebih kecil itu dianalisa.
2. Teknik BOTTOM-UP
Teknik ini, bila ada masalah yang besar atau kompleks, maka pemecahan masalah dilakukan dengan menggabungkan prosedur-prosedur yang menjadi satu kesatuan program guna menyelesaikan masalah tersebut.
Karakteristik Pemrograman Terstruktur
1. Bahasa Pemrograman Yang Berkualitas
Setiap bahasa pemrograman mempunyai kelebihan dan kekurangan. Kriteria yang digunakan untuk menilai kelebihan dan kekurangan suatu bahasa pemrograman.
2. Tata Letak penulisan program yang benar
Pada beberapa bahasa pemrograman tingkat tinggi seperti Pascal,C,dan sebagainya.setiap pernyataan / perintah selalu diakhiri dengan karakter tertentu, seperti titik(.),koma(,), titik koma (;) atau <enter>
3. Portabilitas Program yg fleksibel
Portabilitas suatu program ditentukan oleh sejauh mana ketergantungan program tersebut terhadap mesin computer atau sistem operasi.
4. Struktur organisasi data yang benar
Ada beberapa tipe organisasi file data yang digunakan, yaitu susunan berurutan (Sequential), berurutan diindeks (Indexed Sequential), acak indeks(indexed random)
MEMBANGUN PROGRAM
Untuk menyusun sebuah program yang besar dan kompleks,pemrogram membutuhkan tahapan penyusunan yang sistematis dan terpadu, sebagai berikut:
1. Definisi Masalah
2. Analisis Kebutuhan
3. Desain/Penyusunan Algoritma
4. Pengkodean/Pemrograman
5. Testing dan Debugging
6. Pemeliharaan
7. Dokumentasi
Untuk memecahkan suatu masalah sederhana pemrogram tidak perlu melalui ketujuh tahap tersebut, tetapi cukup dengan mengidentifikasikan masalah, yaitu menetukan input, proses dan output yang diinginkan, menentukan algoritma, mengimplementasikannya dengan suatu bahasa pemrograman tertentu dan melakukan testing.
Contoh
Buatlah program untuk menghitung secara  berurutan luas beberapa persegi panjang,jika diketahui panjang dan lebar sisi-sisinya sebagai berikut:
Ketentuan Panjang Lebar
Persegi Panjang 1 35 5
Persegi Panjang 2 20 10
Persegi Panjang 3 25 5
Persegi Panjang 4 125 75
Kemudian tampilkanlah luas persegi panjang tersebut di atas.
Jawab
Identifikasi Masalah

Data input : data yang akan diinputkan pada saat program dieksekusi
Ketentuan Panjang Lebar
Persegi Panjang 1 35 5
Persegi Panjang 2 20 10
Persegi Panjang 3 25 5
Persegi Panjang 4 125 75
Proses : langkah-langkah pengolahan data yang harus dilakukan pada saat program Dieksekusi
Luasspp1 = panjang 1 * lebar 1
Luasspp2 = panjang 2 * lebar 2
Luasspp3 = panjang 3 * lebar 3
Luasspp4 = panjang 4 * lebar 4
Output : menampilkan isi variable luasspp1, luasspp2, luasspp3, dan luaspp4
Algoritma

Proses perulangan  : Ulangi langkah-langkah berikut sebanyak 4 kali
Input                     : Baca data panjang,lebar
Proses                   : Hitung Luasspp = panjang * lebar
Output                   : Cetak isi variable luasspp
Sistematika Penulisan Program
1.    Inisialisasi
Nama  Program,Piranti yang akan digunakan, konstanta, variabel, fungsi dan prosedur.
2.    Input
Menuliskan perintah-perintah untuk memasukkan data
3.    Proses
Proses-proses  pengolahan data, baik berupa rumus matematika, statistik maupun logika.
4.    Output
Menampilkan hasil pengolahan
Testing dan debuging (istilah untuk menyebut pengujian pada program )
Testing adalah  proses mengeksekusi program secara intensif untuk menemukan kesalahan.
Debugging adalah saat menemukan kesalahan sampai kesalahan itu diperbaiki sehingga tidak ada kesalahan lagi.
Agar komputer dapat memahami program yang disusun dengan suatu bahasa pemrograman, maka dibutuhkan suatu penerjemah, yaitu interpreter dan compiler
Interpreter adalah menterjemahkan instruksi perinstruksi memeriksa sintaksis,leksikal dan semantik dari setiap instruksi program. Jika ditemukan kesalahan sintaksis maka interpreter akan menampilkan pesan kesalahan.
Compiler adalah menterjemah secara keseluruhan sekaligus baik sintaksis,leksikal,semantik dan logika programnya) dan dihasilkan file executable program.
Cara Penulisan  Algoritma
Ada beberapa langkah pemecahan masalah dapat dituliskan dengan beberapa cara :
1.    Uraian Deskriptif (seperti bahasa sehari-hari)
2.    Pseudocode (kode yang mirip dengan kode program yang sebenarnya)
3.    Bagan Alir (Flow Chart).
DASAR- DASAR PASCAL

Perhatikan program berikut:
program pertama(input,output);

begin

   writeln(1+1);

end.
Dari program tersebut didapat
katakunci (keyword) : program, begin, dan end.
pengenal (identifier) : pertama, input, output,  dan writeln
tipe data (konstanta) : 1
operator : +
ekspresi : 1 + 1
Baris pertama dari program tersebut oleh kebanyakan sistem (compiler) Pascal diabaikan atau tidak diproses.
Untuk Turbo Pascal for Windows perlu ditambah baris
uses WinCrt;
setelah baris program. Jika digunakan Delphi baris yang perlu ditambahkan adalah
{$APPTYPE CONSOLE}
Ekspresi (1+1) oleh sistem Pascal akan langsung dievaluasi dan menghasilkan nilai 2. Dengan demikian statemen tersebut akan sama dengan statemen writeln(2).
Dasar-dasar sintak leksikal di Pascal
Pascal termasuk bahasa pemrograman yang menganut pada format bebas. Artinya program tidak perlu dibagi dalam baris dan kolom. Dengan kata lain suatu program Pascal dapat ditulis dalam 1 baris saja atau dalam banyak baris, yang oleh compiler Pascal akan dianggap sama saja. Namun program tersebut akan berbeda rasaanya jika dibaca oleh manusia yang lebih memilih tata letak yang baik.
Program Pascal tersusun atas deretan karakter ASCII (termasuk karakter EOL – end of line).  Pada penulisan di buku keyword sering ditulis dalam bentuk huruf tebal, namun dalam penyimpanannya hanya disimpan dalam bentuk melulu karakter.
Pascal tidak mengenal pembedaan huruf kecil dan huruf kapital, kecuali dalam konstanta string.
Komentar
Anda dapat menambah komentar dalam program, yang merupakan keterangan tambahan bagi orang yang membaca program tersebut tetapi tidak berarti apa-apa bagi compiler Pascal.
Dalam Pascal ada beberapa cara penulisan komentar:
  1. Tanda “{” dan “}” digunakan untuk mengapit keterangan. Artinya teks diantara kedua tanda itu akan diabaikan oleh compiler.
  2. Tanda “(*” dan “*)” juga digunakan untuk mengapit keterangan. Tanda ini dapat digunakan jika dalam keterangan mengandung tanda “{” atau “}”.
  3. Tanda “//” digunakan untuk mengawali keterangan dalam 1 baris. Setelah ganti baris komentar berakhir. Jadikomentar hanya berlaku pada teks di belakang tanda “//” ini.
Program yang baik biasanya akan diawali dengan komentar yang berisi antara lain:
  • informasi pembuat program
  • nama program
  • kegunaan program
  • dan tanggal dilakukannya perubahan terakhir.
Keluaran dan Tipe data
Prosedur writeln dapat digunakan untuk menampilkan nilai dari tipedata:
  • integer : 1, -2, 34566
  • real : 3.14, 1.0E+07
  • char : ‘a’, ‘z’,’%’,’#’
  • string : ‘selamat pagi’,’mahasiswa’,’Jum”at’
  • boolean : true, false
Prosedur writeln tidak dapat digunakan untuk menampilkan nilai dari tipe data yang dibuat oleh pemrogram seperti : enumerasi, array, dan record. Namun demikian untuk tipe data buatan yang merupakan subtipe dari tipe data standar di atas, writeln masih dapat digunakan.
write berfungsi seperti writeln namun tidak diikuti dengan ganti baris. Dengan demikian write(1); write(2); akan menghasilkan 12.
writeln dan write dapat menampung lebih dari satu nilai yang akan ditampikan secara berurutan.
Contoh:
writeln('Hasilnya adalah : ',1+1)
dapat ditulis dalam bentuk
write('Hasilnya adalah : ');

writeln(1+1);
Perhatikan bahwa writeln(1+1) berbeda dengan writeln(’1+1′). Yang pertama akan menghasilkan 2 sedang yang kedua akan menghasilkan “1+1″. Tidak dilakukan evaluasi pada string (teks yang diapit tanda petik tunggal), kecuali ” yang berarti petik tunggal.
Anda dapat menentukan panjang karakter yang akan ditampilkan. Misalnya write(1:3) akan menghasilkan angka 1 dengan 3 karakter yaitu : ” 1″.
Jika data yang akan ditampilkan tidak dapat dimuat dalam panjang yang ditentukan, Pascal akan menampilkannya menurut panjang yang dibutuhkan oleh nilai tersebut.
Jika nilai 3.14 ingin ditampikan “3.14″ bukan “3.13000E+00″ Anda harus menentukan panjang angka desimalnya. Format penulisannya menjadi writeln(3.14:4:2). Nilai 2 menunjukkan panjang angka desimalnya.
Variabel
Variabel adalah lokasi memory yang digunakan untuk menyimpan nilai. Pada lokasi memori ini dapat dilakukan:
  • penyimpanan data
  • pembacaan data/pengambilan data
Pada saat menyimpan data, jika lokasi tersebut sudah pernah diisi data maka data lama akan tertindis oleh data yang baru. Pembacaan data tidak mengubah nilai data yang tersimpan di variabel.
Variabel dalam Pascal selalu mempunyai tipe data. Dengan demikian:
 var n : integer;
  • nilai data yang dapat disimpan hanya yang cocok tipenya dengan tipe data variabel.
untuk deklarasi di atas nilai 'A' tidak dapat disimpan di n
  • setiap variabel harus mempunyai nama yang berbeda.

Latihan

Apa yang dihasilkan oleh program berikut?
program lat1;

var n,m : integer;

begin

  n := 1;

  m := n+1;

  m := m+1;

  n := m * m;

  writeln(n);

end.
Untuk melacak jalannya program perlu dikenal titik-titik pemantauan program. Titik-titik tersebut adalah :
  • statemen yang akan dikerjakan
  • nilai setiap variabel pada saat itu
  • teks yang dihasilkan
Dari contoh program di atas, pelacakan dilakukan mulai pada baris keempat, yang memuat statemen pertama (setelah begin). Pada titik itu semua variabel belum terisi, dan tidak ada yang ditampilkan oleh program.
Ekspresi
Ekspresi berisi penghitungan nilai.
Ekspresi tersusun atas :
  • data literal (konstanta), seperti 1 atau ‘a’
  • variabel, seperti n
  • operator, seperti +,-,*,/,mod,div
  • fungsi, seperti sqrt, sin, cos
  • kurung, ( dan )
Jika tidak ada tanda kurung secara eksplisit, pengelompokan operan dan operator tergantung pada tingkat prioritas operator. Misalnya * lebih tinggi prioritasnya daripada +.
Operator yang mempunyai prioritas sama akan dikerjakan mulai dari kiri ke kanan.
Struktur ekspresi dapat divisualisasi dengan menggunakan pohon operator, yang menunjukkan aliran nilai yang masuk ke operator.
Ekspresi a + b * 3 dapat digambarkan sbb:
      +

     / \ 

    a   *

       / \

      b   3
Pascal mengharuskan pemanggilan fungsi menggunakan tanda kurung. Misal
 

  sin(x) atau ln(a+b)
Jika Anda tidak yakin mengenai urutan prioritasnya, gunakan saja tanda kurung. Cara lain, Anda dapat menggunakanvariabel temporer. Misalnya daripada menulis Anda dapat menggantinya dengan

Latihan

Tulis program untuk menghitunguntukdan. Hasil akhir ditampilkan dengan format 1 tempat di belakang koma.
Tipe data
Banyak fungsi dan operator yang dapat dikenakan pada tipe data bawaan (boolean, integer, real, dan char).
Setiap operator atau fungsi berlaku untuk tipe data tertentu dan menghasilkan nilai dengan tipe data tertentu juga.
Misal div: integer x integerinteger
Artinya argumen untuk div dua-duanya harus integer dan hasil dari div bertipe integer juga.
Dengan demikian “jumlah div 0.25″ menjadi error karena tipe data tidak cocok dengan pola operator div. Bilangan 0.25 bukan integer melainkan real.

Contoh lain :
/: integer x integerreal
Berarti / selalu menghasilkan nilai bertipe real.
Jika Anda mencoba mengisi variabel bertipe integer dengan bilangan real, Anda akan mendapat error. Dalam statemen pengisian nilai (:=) tipe variabel dan tipe nilainya harus kompatibel, yang berartti kedua tipe sama persis atau hampir sama.
Sehingga a := b / 25 akan error jika a dideklarasikan sebagai variabel bertipe integer.
Beberapa operator bersifat overloaded yaitu satu operator, mempunyai pola 2 atau lebih. Misalnya:
+ : integer x integerinteger
+ : real x realreal

Jika diperlukan Pascal secara otomatis akan mengubah tipe integer menjadi real. Namun demikian tidak berlaku sebaliknya. Anda harus menggunakan fungsi trunc arau round.
Apa tipe data hasil dari ekspresi berikut?
  • 1*1+2.4
  • ln(7 mod 3)
Input
Program Baca;

var n : integer;

begin

  write('Ketik nilai untuk n : ');

  readln(n);

  writeln(n * (n + 1) div 2);

end.
Readln digunakan intuk mengisi nilai variabel dari keyboard.
Dengan demikian readln(n) mirip dengan n := ….
Dalam pernyataan pengisian nilai, nilai berasal dari dalam program. Nilai tersebut dapat berupa konstanta (eksplisit tertulis) atau hasil dari perhitungan. Dalam pertanyaan read, nilai berasal dari pengguna.
Read dan Readln hanya dapat digunakan untuk membaca data yang bertipe standar char, integer, string, atau real. Kecuali jika data tersebut berasal dari file, maka read dapat digunakan juga membaca bentuk tipe data lain.
Perbedaan antara read dan readln adalah : readln akan mengabaikan data yang masih ada dibelakangnya sampai ditemukan tanda ganti baris.
Readln(x, y) identik dengan read(x); readln(y);
Urutan pembacaan:
  • Data dibaca secara urut satu-persatu : artinya tidak ada data yang terlewati dan tidak boleh dibaca dua kali
  • Data masukan dapat dianggap sebagai deretan karakter yang harus dibaca pada karakter pertama. Artinya untuk membaca karakter kedua, maka dilakukan pembacaan terhadap karakter pertama dan dengan demikian karakter pertama akan hilang dari deretan dan karakter kedua bergeser menjadi karakter pertama.
Penahan masukan:
  • Walaupun program Anda hanya membutuhkan masukan 1 karakter, sistem operasi masih mengijinkan pengguna untuk mengisi lengkap 1 baris hingga ditekan tombol “Enter”
  • Karakter yang sudah telanjur masuk, tetapi tidak dibutuhkan oleh program akan ditahan oleh sistem operasi.
  • Jika masih ada karakter dalam tahanan sistem operasi, dan program berikutnya membutuhkan masukan, maka karakter yang ditahan tadi akan dilepas untuk memenuhi permintaan data, tanpa perlu pemasukan data dari pengguna.
Akhir baris:
  • Tanda akhir baris dalam sistem MS-DOS/Windows menggunakan dua karakter yaitu : CR (Carriage Return) (ASCII 13) dan LF (Line Feed) (ASCII 10). Dalam sistem Unix hanya menggunakan satu karakter yaitu LF.
  • Fungsi eoln digunakan untuk mendeteksi apakah karakter berikutnya adalah CR. Jika ya eoln bernilai true. Fungsi ini tidak mengubah posisi masukan.
  • Fungsi readln membaca sampai dengan tanda LF pada akhir baris. Pemanggilan readln dengan atau tanpa argumen akan memindah posisi masukan ke baris berikutnya.
Pemasukan bilangan:
  • Sistem operasi selalu memberikan deretan karakter kepada program
  • Jika Anda memanggil read dengan argumen n (integer), maka read akan melakukan pembacaan karakter (angka) dari sistem operasi, menghitung nilai integer dari masukan tersebut dan menyimpannya sebagai integer di n.
    • read akan mengabaikan spasi di awal dan akhir bilangan atau tanda ganti baris. Namun demikian, jika di dalam deretan angka terdapat karakter lain (misalnya huruf), akan mengakibatkan error. Dalam sistem Turbo Pascal, dalam setiap masukan bilangan harus diikuti oleh spasi atau tanda ganti baris.

Latihan

Tulis program untuk menghitunguntuk nilaidandan nilaiyang dibaca dari masukan pengguna.
PERCABANGAN
If
program musik;

var tahun : integer;

begin

  write('Kapan Mozart lahir?');

  readln(tahun);

  if tahun=1756 then

    writeln('Benar. Selamat!')

  else

    writeln('Maaf. Anda belum benar.');

end.
Pernyataan tunggal dapat segera diikuti then dan else.
Jika lebih dari satu pernyataan, maka pernyataan-pernyataan itu harus diapit dengan begin dan end
  if tahun=1756 then begin

    writeln('Benar. Selamat!');

    jawabanbenar := jawabanbenar+1;

  end
Secara teknis, konstruksi begin … end dianggap satu pernyataan, walaupun berisi banyak statemen.
Tanda “;” sebelum else akan menimbulkan error.
Agar tampilan nampak terstruktur dan enak dilihat gunakan indentasi. Walaupun cara ini tidak berpengaruh pada compiler karena compiler tidak mengenal perbedaan ada 2 spasi atau 1 spasi atau ganti baris sekalipun.
Versi terakhir di atas bisa juga ditulis dalam bentuk:
if tahun = 1756 then

        begin

               writeln('Benar. Selamat!');

               jawabanbenar := jawabanbenar + 1;

        end
Sebaiknya Anda konsisten menggunakan salah satu model indentasi.

Latihan

Buatlah suatu program yang dapat menentukan apakah bilangan yang dimasukkan adalah merupakan bilangan positif atau bilangan negatif.
Contoh :
Masukkan sembarang bilangan : -5
-5 adalah bilangan negatif
Pernyataan if dapat berkalang, artinya pada pernyataan bagian then atau pernyataan bagian else dapat berisi pernyataan if lain. Bentuk if … then …else if …then biasa digunakan.
Penggunaan AND untuk pemeriksaan seluruh kasus
Misalnya kita mempunyai sederetan pertanyaan (seperti dalam ujian) dan kita ingin tahu apakah seluruh pertanyaan terjawab dengan benar atau tidak. Untuk menyelesaikan permasalahan ini dapat ditempuh beberapa cara:
  • Pertama, kita dapat menggunakan AND
 if (jawab1=1756) and (jawab2=1685)

   and .... then

   writeln('Semua jawaban benar!');
  • Kedua, kita dapat menghitung jumlah jawaban yang benar seperti contoh sebelumnya, nilai jawabanbenar bertambah satu demi satu setiap ada jawaban yang benar. Seteleah semua soal dikerjakan, kita tinggal membandingkan nilai jawaban benar dengan jumlah soal. Jika keduanya sama, maka berarti semua jawaban benar.
  • Ketiga, kita dapat menggunakan variabel “benarsemua”, yang pertama diisi dengan nilai True. Jika didapatkan jawaban yang salah, maka nilai variabel ini berubah menjadi False. Jika sampai akhir, nilai variabel ini tetap True, berarti semua jawaban benar.
Latihan
Gunakan variabel boolean untuk mengecek apakah tiga deretan karakter yang dimasukkan bernilai ‘yyn’.
Case
Statemen case digunakan jika diinginkan ada beberapa alternatif pernyataan yang akan dikerjakan, tetapi hanya satu yang benar-benar dikerjakan.
Pemilihan pernyataan yang dikerjakan ditentukan oleh nilai ekspresi yang cocok dengan nilai label yang mendahului pernyataan alternatif.
Sintaksis untuk pernyataan case adalah :
CASE {ekspresi} OF

 case label1 : pernyataan-1;

 case label2 : pernyataan-2;

 case label3 : pernyataan-3;

 ...

 case labeln : pernyataan-n;

 else pernyataan-else;

END;
Cara kerja pernyataan case adalah sebagai berikut:
  1. Ekspresi dievaluasi, nilainya dicocokkan dengan label.
  2. Nilai ekspresi tersebut dibandingkan dengan nilai pada label. Jika ada yang cocok maka pernyataan yang menyertainya dikerjakan.
  3. Jika tidak ada label yang cocok dengan nilai tersebut dan ada pernyataan-else, maka pernyataan-else dikerjakan.
Tugas : Program seleksi
Tugas : Program seleksi
Buatlah 2 program untuk mencari data terbesar dari 3 data, dengan mengacu pada 2 flowchart berikut:
Flowcart pertama
Flowcart kedua
ITERASI
Pengantar
Struktur Iterasi Pada saat diinginkan mengulang-ulang instruksi dalam program yang dibuat, saat itulah diperlukan iterasi. Struktur iterasi secara sederhana menentukan berapa kali suatu instruksi atau kelompok instruksi diulang. Pada suatu kasus jumlah iterasi sudah dapat ditentukan sebelumnya namun pada kasus yang lain jumlah iterasi tidak dapat ditentukan sebelumnya. Untuk kasus kedua, proses akan berhenti berulang atau keluar dari iterasi setelah tidak memenuhi syarat untuk dilakukannya iterasi. Syarat tersebut dapat dipenuhi kapan saja. Algoritma iterasi:
  1. Inisialisasi pencacah
  2. Jika pencacah < maksimum kerjakan
    1. instruksi yang diulang
    2. naikkan nilai pencacah
jika tidak kerjakan langkah 4
  1. Kembali ke langkah 2
  2. Selesai
Ada beberapa macam struktur iterasi yaitu:
  1. for
  2. while
  3. repeat
Dalam for jumlah iterasi sudah dapat ditentukan terlebih dahulu sedang pada while dan repeat untuk melakukan atau menghentikan iterasi perlu dilakukan pengecekan kondisi.
Pada iterasi while, pengecekan kondisi dilakukan sebelum mengerjakan instruksi yang diulang. Selama kondisi memenuhi syarat (bernilai True), maka instruksi yang diulang dikerjakan. Dengan demikian jika pada saat pertama kali kondisi sudah tidak memenuhi syarat, maka instruksi yang diulang tidak pernah dikerjakan.
Pada iterasi repeat, instruksi yang diulang dikerjakan terlebih dahulu baru kemudian dicek kondisinya. Jika kondisi bernilai True maka iterasi dihentikan. Dengan demikian instruksi yang diulang pasti pernah dikerjakan paling tidak sekali.
For
Mungkin struktur iterasi for adalah struktur yang paling mudah dipahami. Dalam for dilakukan pencacahan berapa instruksi yang mengikutinya diulang-ulang. Untuk keperluan ini dideklarasikan terlebih dahulu variabel bertipe ordinal (misal integer) sebagai variabel pencacat jumlah perulangan. Contoh deklarasi:
var 

  cacah : integer;
Variabel cacah dinamakan variabel kendali iterasi. Variabel ini digunakan sebagai pencacat sudah berapa kali suatu instruksi dijalankan. Struktur iterasi for kemudian ditulis sbb:
for cacah := 1 to 10 do
Memo1.Lines[Kount].Add(‘Selamat pagi’);
Iterasi tersebut dapat diartikan “Untuk nilai cacah dari 1 sampai dengan 10 tambahkan ‘Selamat pagi’ pada baris terakhir pada Memo1. Pada contoh tersebut, hanya ada satu instruksi yang ada dalam iterasi.
Memo1.Lines[Kount].Add(‘Selamat pagi’);
Jika ada lebih dari satu instruksi yang ingin diulang maka diperlukan pengelompokan instruksi tersebut dengan menggunakan begin dan end Untuk for ada dua ‘variasi’, yang pertama untuk pencacah naik dan yang kedua untuk pencacah turun. Prinsip dasar keduanya sama saja, yaitu digunakan untuk mengulang instruksi sejumlah nilai yang sudah ditentukan.
var cacah : integer;

...

for cacah := awal to akhir do

  begin

   KerjakanSesuatu;

   KerjakanYangLain;

  end;
Variabel cacah harus dideklarasikan secara lokal dan bertipe ordinal. Awal dan Akhir adalah variabel yang bertipe sama atau kompatibel dengan tipe data cacah. Untuk pencacah turun, to pada iterasi for diganti dengan downto. Jika diinginkan berhenti dari iterasi walaupun nilai akhir belum tercapai, gunakan break.
Repeat
Struktur Repeat
Instruksi di antara repeat dan until akan dikerjakan terus menerus sampai kondisi bernilai True. Jika kondisi tidak pernah mencapai True, instruksi akan terus menerus dikerjakan selamanya tanpa henti.
repeat
KerjakanSesuatu;
KerjakanYangLain;
until kondisi;
Instruksi di antara repeat dan until akan dikerjakan sekali, kemudian nilai kondisi dicek. Jika bernilai True, iterasi dihentikan. Namun jika bernilai False, instruksi yang diulang akan dikerjakan lagi. Penggunaan break juga diperbolehkan dalam repeat.
   repeat
     if (Nilai < 1) then
       break;
     Nilai := Nilai * Nilai;
   until (Nilai > 1000000);

Pada kasus ini, iterasi repeat mengulang instruksi untuk mengalikan Nilai dengan Nilai sampai bernilai lebih dari 1000000. Namun demikian, jika Nilai pada awalnya berisi kurang dari 1, maka iterasi langsung dihentikan. Hal ini dilakukan untuk mencegah perulangan yang tanpa henti. Seperti diketahui bahwa suatu bilangan jika dikalikan dengan bilangan itu sendiri nilainya akan bertambah besar, kecuali bilangan itu kurang dari 1. Misalnya 2 x 2 adalah 4, namun 0.5 x 0.5 adalah 0.25 yang lebih kecil dari 0.5. Oleh karena iterasi akan berhenti jika Nilai > 1000000, dan ini tidak akan tercapai jika Nilai < 1, maka iterasi akan dikerjakan terus-menerus tanpa henti. Dengan adanya break perulangan yang terus menerus untuk kasus tersebut tidak perlu terjadi.

While
Iterasi While
Instruksi dalam While akan dikerjakan selama kondisi bernilai True. Jika kondisi ini tidak pernah mencapai False, instruksi akan diulang terus-menerus tanpa henti.
while kondisi do
     begin

       KerjakanSesuatu; 

       KerjakanYangLain;

     end;
Kondisi harus ekspresi boolean. Pertama, nilai kondisi ini dicek. Jika bernilai True, instruksi antara begin dan end dikerjakan. Jika bernilai False, instruksi tidak dikerjakan. Begin dan end boleh dihilangkan jika hanya ada 1 instruksi yang diulang.
Procedure
Anda sudah menggunakan procedure dan function dalam topik-topik yang lalu mungkin tanpa Anda sadari. Write, Writeln, Read, dan Readln adalah contoh procedure yang digunakan untuk menulis atau membaca data. Sedang abs, sqrt, sqr, sin, dan cos adalah contoh fucntion yang memang sudah disediakan oleh sistem Pascal.
Ternyata kita juga dapat membuat procedure atau function buatan kita sendiri dan diperlakukan seperti procedure atau function yang disediakan oleh sistem. Procedure dan function ini termasuk dalam subprogram. Kegunaan subprogram adalah untuk mempermudah pengelolaan dan penyederhanaan program.
Struktur Rancangan Puncak-Turun dengan Procedure
Program tersusun atas beberapa modul. Modul kemudian dapat diimplementasikan dengan subprogram (procedure atau function).
Kapan procedure digunakan? Pada umumnya setiap modul dapat diimplemtasikan dalam bentuk procedure atau function. Namun untuk modul yang sangat sederhana bentuk procedure atau function tidak diperlukan. Keputusan penggunaan modul atau tidak dapat didasarkan pada bagaimana secara keseluruhan program menjadi lebih mudah dipahami.
Jika modul hanya terdiri atas 1 baris saja, lebih baik tidak usah dijadikan procedure. Jika modul terdiri atas banyak baris, lebih baik dijadikan procedure saja. Inin untuk mempermudah pemahaman program secara keseluruhan. Perlu dicatat di sini bahwa keputusan untuk menjadikan modul menjadi procedure atau tidak, hanya menyebabkan pada perbedaan keterbacaan program, bukan pada hasil program.
Perancangan Procedure
Pengertian Subprogram
Subprogram adalah bagian dari program yang dirancang untuk melaksanakan suatu tugas tertentu. Idenya adalah konsep tentang modularitas : program dipecah atas subprogram-subprogram yang lebih kecil. Dengan cara ini, program akan lebih mudah dimengerti, dan jika ada kesalahan di dalam proses pengolahan data akan lebih mudah untuk melokalisirnya.
Di dalam Pascal subprogram bisa berwujud prosedur atau fungsi. Secara garis besar, konstruksi keduanya mirip dengan program. Prosedur dan fungsi bisa dikatakan sebagai ’program kecil’. Keduanya bisa memiliki deklarasi-deklarasi, bagian badan, bahkan prosedur atau fungsi yang lain.
Aturan umum yang dapat digunakan untuk menentukan perlunya dibuat suatu prosedur atau fungsi : bagilah suatu penyelesaian persoalan (solusi) menjadi subsolusi-subsolusi yang lebih kecil. Masing-masing subsolusi diwujudkan dalam bentuk prosedur atau fungsi. Contoh : masalah pengelolaan data karyawan dapat dibagi menjadi bagian pemasukan data, pengubahan data, penampilan data, dan penghapusan data. Wujudkan masing-masing bagian tersebut dalam sebuah procedure atau function.
Procedure
Prosedur adalah bentuk subprogram yang semata-mata bertugas mengerjakan suatu aktivitas. Struktur pendefinisian prosedur adalah sebagai berikut.
procedure nama-prosedur [ ( deretan-parameter ) ] ;
[ bagian d e k l a r a s i konstanta , t ipe , v a r i abe l , dan prosedur /
f u n g s i ]
begin
[ statemen-statemen dalam badan prosedur ]
end ;
Terlihat bahwa struktur prosedur mirip dengan struktur program Pascal. Perbedaannya adalah pada kata procedure dan adanya deretan parameter yang menyertainya. Tentang parameter akan dibicarakan kemudian. Prosedur digunakan dengan cara memanggil namanya. Sebagai contoh, pada program pengelolaan data karyawan, jika diinginkan untuk mengubah data karyawan, maka prosedur ubah data dipanggil untuk melaksanakan hal tersebut. Begitu nama sebuah prosedur dipanggil di suatu bagian program, maka eksekusi program akan berpindah ke prosedur tersebut. Program akan mengerjakan apa yang diminta di dalam prosedur tersebut. Setelah selesai, eksekusi akan kembali kepada bagian pemanggil.
Sintaksis Procedure
Sintaksis Parameter dalam Procedure
Contoh 1
Buatlah procedure untuk menampilkan pola kotak dari huruf ’*’ dengan tinggi dan lebar n. Nilai dan merupakan parameter masukan procedure. Contoh untuk = 4 dan = 5, hasilnya berbentuk :
*****
*****
*****
*****
Jawab:
Terlihat bahwa untuk persoalan tersebut lebih mudah diselesaikan dengan iterasi. Setiap baris diulang sebanyak dan jumlah baris adalah m. Dengan demikian bentuk programnya menjadi:
Contoh 2:
Buatlah procedure untuk menampilkan pola segitiga dari huruf ’*’ dengan tinggi dan lebar n. Nilai merupakan parameter masukan procedure. Contoh untuk = 5, hasilnya berbentuk:
*
**
***
****
*****
Jawab:
Terlihat bahwa untuk persoalan tersebut juga lebih cocok diselesaikan dengan iterasi. Setiap baris diulang sebanyak nilai ibergerak dari 1 sampai dengan n, dan jumlah baris adalah n. Dengan demikian bentuk programnya menjadi:
Contoh 3:
Buatlah procedure untuk menampilkan pola kotak dari karakter ’*’ seperti Contoh 4.??, tetapi bagian tengah berisi spasi. Contoh untuk = 4 dan = 5, hasilnya berbentuk :
*****
* *
* *
*****
Jawab:
Untuk menyelesaikan persoalan ini perlu dicari pola, kapan harus dicetak spasi dan kapan ahrus dicetak ’*’. Untuk ini, kita perhatikan kapan harus mencetak ’*’, yaitu baris pertama, baris terkahir, kolom pertama, dan kolom terakhir. Baris pertama tercetak saatnilai = 1, sedang baris terakhir tercetak saat nilai m. Kolom pertama berarti nilai = 1 dan kolom terakhir berarti n. Dengan demikian bentuk programnya menjadi:

Contoh 4
Buatlah procedure untuk menampilkan pola segi tiga dari huruf ’*’ seperti Contoh 4.??, tetapi bagian tengah berisi spasi. Contoh untuk = 5, hasilnya berbentuk :
*
**
* *
* *
*****
Jawab:
Untuk menyelesaikan persoalan ini juga perlu dicari pola, kapan harus dicetak spasi dan kapan harus dicetak ’*’. Perhatikan kapan harus mencetak ’*’, yaitu kolom pertama, baris terkahir, dan diagonal. Kolom pertama tercetak saatnilai = 1, sedang kolom terakhir berarti n. Kolom diagonal terjadi saat nilai j. Dengan demikian bentuk programnya menjadi:
Contoh 5:
Bagaimana bentuk aplikasi lengkap dalam GUI untuk menampilkan pola kotak dan segitiga seperti contoh sebelumnya?
Jawab:
Desain from untuk persoalan ini terlihat seperti Gambar.
Program menampilkan Kotak dan Segitiga dalam GUI
Gambar: Desain Form Program Pola Kotak dan Segitiga
Soal Latihan
Parameter, Procedure Bersarang
Parameter Nilai
Parameter adalah sarana untuk berkomunikasi antara bagian pemanggil dengan prosedur atau fungsi yang dipanggilnya. Parameter digunakan bagian pemanggil untuk memberikan data pendukung aktivitas prosedur/fungsi, atau menerima kembali data hasil pemrosesan oleh prosedur/fungsi. Parameter yang digunakan dalam mendefinisikan prosedur atau fungsi disebut parameter formal, dan parameter yang digunakan untuk memanggil prosedur/fungsi disebut parameter aktual. Keduanya bisa sama, bisa juga berbeda.
Ada dua jenis parameter formal, yaitu parameter nilai dan parameter variabel. Parameter nilai digunakan jika ia hanya diharapkan membawa data pendukung dari bagian pemanggil untuk diberikan kepada prosedur/fungsi. Isi dari parameter nilai tidak akan berubah, meskipun di dalam prosedur/fungsi ia dimodifikasi. Sebaliknya, selain dimaksudkan untuk membawa data ke prosedur/fungsi, parameter variabel diharapkan juga untuk membawa data hasil pemrosesan kembali ke bagian pemanggil. Konsekuensinya, isi parameter variabel dapat berubah selama terjadi pemrosesan di dalam prosedur/fungsi. Perubahan ini akan diterima oleh bagian pemanggil.
Berdasarkan uraian di atas, dapat ditarik suatu kesimpulan. Gunakan parameter nilai jika kita hanya ingin memberikan data kepada prosedur/fungsi tanpa perlu mengubah isinya. Gunakan parameter variabel jika kita juga mengharap isi parameter tersebut berubah sesuai hasil pemrosesan yang dilakukan oleh prosedur/ fungsi.
Aturan Cakupan dan Procedure Bersarang
Deklarasi pengenal tipe data, variabel, konstanta, prosedur, maupun fungsi memiliki ruang lingkup tertentu. Secara umum, aturannya adalah : segala sesuatu hanya akan dikenal di mana ia dideklarasikan. Jika sebuah pengenal dideklarasikan di level program, maka semua bagian program akan mengenalnya. Jika sebuah pengenal dideklarasikan di sebuah prosedur atau fungsi, maka ia hanya akan dikenal di prosedur atau fungsi tersebut. Konsep di atas sering dinyatakan juga dengan lokalitas dan globalitas pengenal.
Pengenal dengan ruang lingkup meliputi seluruh program disebut pengenal global, sementara yang ruang lingkupnya lebih kecil (sebatas prosedur atau fungsi) disebut pengenal lokal. Pemrograman yang baik adalah pemrograman yang tidak menggunakan banyak pengenal, khususnya variabel, yang bersifat global. Jika ada nama pengenal global dan pengenal lokal yang sama, maka yang digunakan adalah pengenal lokal.
Contoh lain mengenai cakupan variabel lokal atau global dapat dilihat pada Program dibawah ini.
Tabel 5.1: Ruang lingkup variabel dalam program Cakupan
Function
Sebagai subprogram, kegunaan fungsi mirip dengan prosedur. Fungsi diaktifkan juga dengan memanggil namanya. Perbedaan utamanya adalah bahwa selain mengerjakan suatu aktivitas tertentu, fungsi akan mengembalikan suatu nilai hasil pemrosesan yang dilakukannya kepada bagian pemanggil. Tata cara pendefinisian fungsi adalah sebagai berikut.
Pendefinisian fungsi dapat digambarkan dalam diagram sintaksis seperti tampak pada Gambar sintaksis fungsi Karena fungsi akan mengembalikan suatu nilai, maka nilai kembalian ini harus diperlakukan sebagaimana mestinya. Yang umum dilakukan adalah menampungnya dalam sebuah variabel dengan tipe yang sama dengan tipe data nilai kembalian.
Gambar : Sintaksis Fungsi
Contoh :
Buatlah fungsi salam yang akan mengembalikan nilai teks ’Selamat pagi!’.
Jawab:
Persoalan ini dapat dijawab dengan mudah karena hanya mengembalikan nilai konstanta string. Berikut dua model fungsi yang dapat dibuat:
Contoh :
Buatlah fungsi untuk menghitung fungsi Kuadrat f(x) = 4x2+6x-19 dengan masukan adalah x!
Jawab:
Nilai 4x2+6x-19 dalam Pascal berbentuk 4*x*x + 6*x – 19. Dengan demikian bentuk fungsi Kuadrat adalah
Contoh :
Nilai faktorial bilangan bulat n adalah 1x2x3x…x(n – 1)xn. Bagaimana bentuk fungsi tersebut jika dibuat dalam Pascal?
Jawab:
Fungsi faktorial dapat dibuat dengan menggunakan iterasi dari 1 sampai dengan n dengan setiap kali mengalikan nilai hasil dengan i. Bentuk fungsi faktorial menjadi:
Contoh :
Ingin dibuat fungsi untuk menghitung selisih antara dua waktu yang ditulis dengan format ’jj:mm:dd’. Hasil selisih juga dalam format ’jj:mm:dd’. Baik jj, mm, maupun dd harus ditulis dengan 2 angka (digit). Bagaimana bentuk fungsi untuk maksud tersebut?
Jawab:
Algoritme yang bisa digunakan untuk menghitung selisih tersebut adalah seperti Algoritme dibawah ini Berdasarkan algoritme tersebut dapat disusun fungsi dalam Pascal sebagai berikut:
Algoritme : Algoritme fungsi SelisihWaktu
Fungsi StrToInt adalah mengubah dari tipe data string menjadi integer, sedang Copy digunakan untuk mengambil sepotong string. Dec(sm) identik dengan sm := sm – 1. Di bagian akhir fungsi tersebut menggunakan FormatFloat untuk menghasilkan selisih dalam string. Variabel sj, sm, dan sd bertipe integer (bilangan) padahal hasil akhir fungsi adalah string. Oleh karena itu bilangan ini harus diubah ke dalam bentuk string. Untuk keperluan ini digunakan FormatFloat.
Array
Tipe Data Terstruktur
Pascal mendukung 3 macam kategori tipe data: tipe data sederhana, tipe data terstruktur, dan tipe data pointer. Sejauh ini kita telah bicarakan tipe data sederhana yang mempunyai karakteristik umum bahwa setiap variabel yang bertipe sederhana tersebut mempunyai data tunggal. Sekarang kita akan memulai memperhatikan tipe data terstruktur yang meliputi array, record, dan file (berkas). Semua tipe data tersebut mempunyai karakteristik umum bahwa pengenal tunggal dapat mewakili banyak item data. Setiap item data dapat diakses secara terpisah. Dengan demikian, item-item dalam tipe data terstruktur dapat dimanipulasi bersamaan ataupun secara terpisah, tergantung pada keperluan masing-masing aplikasi.
Array Satu Dimensi
Array digunakan untuk mewadahi agregat data (kumpulan dari beberapa data). Ciri array adalah data-data anggotanya memiliki tipe yang sama. Banyak sekali contoh data yang dapat diwujudkan dengan array, beberapa di antaranya adalah:
• sederetan data hasil percobaan
• kelompok mahasiswa dalam satu kelas
• sederetan karakter pembentuk kata atau kalimat
Array dapat diilustrasikan sebagai sebuah vektor :
Tiap kotak, disebut dengan elemen array, berfungsi seperti halnya sebuah variabel : dapat diisi dengan sebuah data dari tipe tertentu. Tiap kotak mempunyai nomor yang disebut indeks yang berfungsi untuk memberi identitas kotak tersebut. Untuk menunjuk sebuah kotak di dalam array, gunakan nomor indeks kotak tersebut. Di dalam Pascal, array diwujudkan dengan pertama mendeklarasikan tipe datanya, kemudian diikuti dengan definisi variabel dengan tipe data tersebut. Deklarasi array dapat ditulis dalam kelompok type sebagai berikut
atau dalam kelompok var sebagai berikut
Diagram sintaksis untuk deklarasi array tampak seperti gambar dibawah.
Pemrosesan Array
Array diakses melalui elemen-elemen dari variabelnya.
Tidak jarang pengaksesan array melibatkan proses perulangan dengan perintah kendali for..do:
Gambar : Sintaksis Array
Array Dimensi Banyak
Pada pembahasan sebelumnya, indeks atau subscript pada larik jumlahnya hanya sebuah dan larik ini disebut dengan larik dimensi satu (one dimensional array). Larik dapat juga berdimensi lebih dari satu yang disebut dengan larik dimensi banyak (multidimensional array), yang dapat berdimensi dua (two dimensional array), berdimensi tiga (three dimensional array) dan seterusnya. Secara prinsip, larik dimensi lebih dari 2 penanganannya sama dengan larik dimensi 2. Larik dimensi 2 mewakili suatu bentuk tabel atau matrik, yaitu indeks yang pertama dapat menunjukkan baris dan indeks kedua dapat menunjukkan kolom dari tabel atau matrik. Bentuk deklarasi larik dimensi 2 dapat berupa :
nama-larik = array[tipe-indeks1] of array[tipe-indeks2] of tipe-larik
atau dapat ditulis :
nama-larik = array[tipe-indeks1,tipe-indeks2] of tipe-larik
Contoh larik dimensi 2 :
program array;
uses wincrt;
var
tabel : array[1..3,1..2] of byte;
i, j : byte;
begin
tabel[1,1] := 5;
tabel[1,2] := 25;
tabel[2,1] := 200;
tabel[2,2] := 22;
tabel[3,1] := 75;
tabel[3,2] := 50;
for i := 1 to 3 do
begin
for j := 1 to 2 do
write(tabel[i,j]:10);
writeln;
end;
end.

sumber : http://dwimahesaputra.wordpress.com/2012/04/20/pascal-or-delphi/

Tidak ada komentar:

Posting Komentar

If it doesn't move, it doesn't meet *Aziz Mukhroni *