Minggu, 25 November 2012

pengenalan pemrogaman dengan menggunakan C++


1.Pengenalan C++
merupakan bahasa pemrogaman yang berada ditingkat menengah  yaitu di antara tingkat rendah dan tingkat tinggi yang biasanya di sebut BAHASA TINGKAT TINGGI DENGAN PERINTAH ASSAMBLY bahasa c mempunyai banyak kemampuan yang sering di gunakandi antaranya kemampuan untuk mmebuat perangkat lunak,misalnya Dbase, word  STAR da lain-lain.
Bahasa C juga merupakan pengembangan dari bahasa B yang di tulis oleh ken Thompson pda tahun 1970.
Untuk pertama kalinya bahasa C di tulis brian W,Kernighan dan Danies M,Ricthie pada tahun 1972.
Pada tahun 1980 seorang ahli yang bernama Bjarne stroustroup mengembangkan beberapa hal dari bahasa C yang di namakan ‘’C WHITE CLASSES’’ yang berganti nama pada tahun pada 1983 menjadi  C++  penambahan yang terdapat pda C++ adalah objek oriente programming (OPP) yang mempunyai tujuan utamanya adalah membantu membuat dan mengelola progam yang besar dan komleks.
2.Stukuktur progam C++
Strukutur progam C++ terdiri sejumlah BLOK fungsi,setiap fungsi terdiri satu atau beberapa pernyataan yang melaksanakan tugas tertentu.
Struktu progam C++ juga sama , sepert struktur  progam C yang terdahulu.
3.Tipe data
Tipe data
Ukuran memori
Jumlah digit
Char
1byte

Int
2 byte

Short
2 byte

Long
4 byte

Float
4 byte
5-7
Duble
8 byte
15-16
Long double
10 byte
19




4. Konstanta
Adalah suatu nilai yang sifatnya tetap.secara garis besar konstanta di bagi menjadi dua yaitu
·         Konstanta bilangan
Dalam konstanta bilangan di bagi menjadi tiga kelompok antar lain
~konstanta bilangan bulat
Ialah konstanta yang tidak mengandung titik bilangan desimal.
~konstanta decimal berpresisi tunggal (floating point)
~konstanta decimal berpresisi ganda (double precision)
·         Konsntanta teks
Konstanta teks,di bagi menjadi dua antara lain
~konstanta karakter(character)
Data karakter hanya terdiri dari sebuah karakter saja yang di apit oleh tanda kutip ( ‘ )data karkter dapat di ubah menjadi huruf abjad(huruf besar atau kecil) angka atau notasi atau symbol.
~data teks (string)
Data string merupakan rangkaian dari beberapa karakter yang di apit 
Oleh tanda kutip ganda ( “ ).

5.VARIABEL
Suatu tempat yang menampung data atau constanta di memori
Yang mempunyai nilai atau data yang dapat berubah_rubah selama proses progam.

Dalam pemberian nama varibel,ada ketntuan-ketentuan antar lain
~tidak boleh menggunakan spasi dan boleh menggunakan garis bawah
~tidak boleh di awali dengan angka dan di awali oleh operator aritmatika.

VARIBEL ADI BAGI menjadi dua kelompok yaitu
~VARIABEL NUMERIK
Vriabel numeric di bagi menjadi 3 macam
>bilangan bulat
>bilangan desimal berpresisi tungal floting point
>bilangan desimal berpresisi gandaatau double precision.

~VARIABBEL TEXT
>character (karakter tunggal )
>string (untuk rangkaian karakter)
6.perintah keluaran
Perintah setandar output yang di sediakan olehborlan C++  di antaranya adalah:
>print  :mrupakan fungsi keluaran yang opling umumuntuk menampilkan infomasi ke layar.
>puts   :di gunakan untuk mencetak STRING ke layar puts berasal Dri kata PUT STING
>putchar :di gunakan untuk menampilkan karakter ke layar,
Penampilan karakter tidak di akhiri dengan pindah baris
>cout  :merupakan sebuah objek di dalam C++ di gunakan untuk menampilkan Sesutu kelayar , untuk menggunakan fungsi cout ini harus menyertakan file header iostremm.h

7.Perintah masukan
perintah steandar input yang telah di sedikan oleh borlan C++
yang di antaranya.
>Scanf : di gunakan untuk memasukan berbagai jenis data.
>gets :di gunakan untuk memasukan data string
>Cin : merupakan suatu objek di dalam C++.yang di gunakan untuk memasukan data,untuk menggunakan cin ini harus menyertakan file header oiostrem.h
>Getch: di gunakan untuk membaca  sebuah karakter  dengan sifat  karakter yang di masukan tidak perlu di akhiri dengan menekan tombol ENTER.dengan karakter yang akan di masukan tidak akan di tampilkan di layar. File header yang harus di sertakan adalah conio.h
>gatche :di pakai untuk membaca sebuah karakter dengan sifat karakter yang di masukan tidak perlu di akhiri dengan menekan tombol  ENTER. Dan karakter yang di masukan di tampilkan ke layar. File header yang di masukaan adalah conio.h

8.OPERATOR  ARIMATIKA
Operator untuk operasi aritmatika yang  tergolong sebagai operator binary.
Contoh;
 tabel operator aritmatika
  Operator
   Ketrangan
     Contoh
*
Perkalian
6*5
/
Pembagian
8/4
%
Sisa pembagian
6%9
+
Penjumlahan
5+5
-
pengurangan
4-2

Operator yang tergolong sebagai operator unary
Contoh:
Tabel unary
      Operator
    Keterangan
       Contoh
            +
Tanda plus
+3
            -
Tanda minus
-4
9.operator logika
Operator relasi yang di gunakan untuk menghubungkan untuk menghubungkan dua buahoperasi relasi menjadi sebuah ungkapan kondisi.hasil dari operasi logika ini menghasilkan nilai numerik, 1(true) 0 (false)

Tabel operator relasi

operator
keterangan
& &
Operator logika AND
I I
Operator logika OR
!
Operator logikaNOT

~OPERATOR LOGIKA AND
Di gunakan untuk menghubungkan dua atau lebih ekpresi relasi,akan di anggap BENAR,bila semua ekpresi relasi yang di hubung kan benilai BENAR.
~OPERATOR LOGIKA OR
Di gunakan untuk menghubungkan dua atau lebih ekpresi relasi,akan di anggap benar bila salah satu ekpresi relasi yang di hubungkan bernilai  BENAR.
Dan bila ekpresi relasi yang di hubungkanBernilai  SALAH,maka akan bernila SALAH.
~OPERATOR LOGIKA NOT
Operator logika NOT akan memberikan nilai KEBALIKAN dari ekpresi yang di sebutkanjika nuilai yang di sebutkan bernila BENAR maka maka akan menghasilkan nilai SALAH.begitu juga sebaliknya.
10.operator penyeleksi kondisi
Pernyataan Percabangan di gunakan untu memcah suatu persoalan untuk mengmbil suatu keputusan di antara sekian pernyataan yang adauntuk keperluan pengambilan keputusan.
Borlan C++ mempunyai bebrapa perintah antara lain
~pernyataan IF
Mempunyai pengertian”jika kondisi bernilai benar maka perintah akan di kerjakan dan bila tidak memnuhi syarat maka akan di abaikan”.
~pernyataan IF-ELSE
Pengertian iF mempunyai pengertian yaitu “jika kondisi bernilai benar maka perintah-1 akan di kerjakandan jika tidak memnuhi syarat maka akan mengerjakan perintah-2’’.
~pernyataanNESTED-IF
Ialah  pernyataan if yang berada di dalam pernyataanif yang lainnya.
~pernyataanNESTED-IF majemuk
Bentuk dari if-else sebetulnya sama dengan nested if,keuntungan dari penggunaan if-else brtingkat sebanding dengan nested if yaitu penulisan bahasanya yang sederhana.
~pernyataan swtch-case
Bentuk dari pernytaan switch-case merupakan pernyataan yang di rancang khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif.
Switch-case ini berguna untuk memeriksaq data yang bertipe karakter atau integrer.


11.operasi perulangan
Dalam operasi perulangan selalu di jumpai bahasa pemrogaman.

Ada beberapa perintah  perulangan di antaranya.
~Pernyataan For
Perulangan yang pertama adalah  for,bentuk umum pernyataan for sebagai berikut
For (inisialisasi;syarat pengulangan;pengubah nilai pencacah)

Apa bila pernyataan for lebih dari satu maka penytaan-pernyataan tersebut harus di letakan di dalan tanda kurung.
For (inisialisasi;syarat pengulangan;pengubah nilai pencacah)∑

Penyataan\perintah;
Penyataan\perintah;
 Penyataan\perintah;

Kegunaan  dari masing masing argument di atas yaitu:
Inisialisasi  :merupakan bagian untuk memberikan nilai awal untuk variable-variabel tertent.
Syarat pengulangan:memegang control terhadap pengulangan,karena bagian ini yang akan mebnentukan suatu perulangan di teruskan atau di hentikan.
Pengubah nilai pencacah:mengatur kenaikan atau penurunan pencacah.
~peernyataan nested-for
Adalah suatu perulangan for di dalam perulangan yang lainnya.
11.Aray
; merupakan koleksi data dimana setiap elemen memakai nama dan tipe yang sama serta setiap elemen diakses dengan membedakan indeks array-nya. Berikut adalah contoh variable bernama c yang mempunyai lokasi memori yang semuanya bertipe int.
C[0] = -45;
C[1] = 6;
C[2] = 0;
C[3] = 72;
C[4] = 1543;
C[5] = 43;
C[6] = 4;
Masing-masing nilai dalam setiap lokasi mempunyai identitas berupa nama c dan nomor indeks yang dituliskan di dalam tanda kurung ‘[..]’. sebagai contoh, 72 adalah nilai dari c[3].
Deklarasi Array
Variable
array dideklarasikan dengan mencantumkan tipe dan nama variable yang diikuti dengan banyaknya lokasi memori yang ingin dibuat. Dengan demikian, deklarasi untuk variable array c di atas adalah :
int c[7];
Perlu diperhatikan bahwa C++ secara otomatis menyediakan lokasi memori yang sesuai dengan yang dideklarasikan, dimana nomor indeks selalu dimulai dari 0. Nilai suatu variable array dapat juga diinisialisasi secara langsung pada saat deklarasi, misalnya;
Int c[7] = {-45, 0, 6, 72, 1543, 43, 4}
Berarti setiap lokasi memori dari variable
array c langsung diisi dengan nilai-nilai yang dituliskan didalam tanda kurung kurawal.
Banyaknya lokasi memori dapat secara otomatis disediakan sesuai degan banyaknya nilai yang akan dimasukkan, seperti contoh berikut yang tentunya membuat variable array dengan 10 lokasi memori:
Int x []={10, 15 12, 5, 13, 9, 6, 17, 25, 31};
Untuk memperjelas gambaran anda tentang
array perhatikan contoh aplikasi variable array, yaitu program untuk menghitung jumlah setiap elemen dalam suatu array.
Sebagai gambaran dari
program tersebut, dapat dibuat sebuah algoritma sebagai berikut:
  1. Tentukan elemen array sebanyak yang diinginkan (dalam hal ini, elemen array tersebut berjumlah 12 buah)
  2. Tentukan nilai awal indeks, batas akhir indeks dan kenaikannya (dalam hal ini, nilai awal indeks adalah 0, batas akhir indeks adalah jumlah elemen array diatas yaitu 12 dikurangi dengan 1, kenaikannya adalah 1)
  3. Lakukan perulangan sesuai dengan langkah 2
  4. Lakukan penjumlahan masing-masing elemen array sampai batas akhir indeks terpenuhi
  5. Tampilkan penjumlahan semua elemen array
  6. Selesai.
Sedangkan implementasi dalam program dapat dilihat berikut ini.
1
2
3
4
5
6
7
8
9
10
11
12
/*Program :array1.cpp*/
#include <stdio.h>
#define SIZE 12
main()
{
  int a[SIZE]={1, 3, 5, 4, 7, 2, 99, 16, 45, 67, 89, 45};
  int indeks, total =0;
  for(indeks=0; indeks<=SIZE-1; indeks++)
    total += a[indeks];
  printf("\nTotal setiap elemen array adalah %d",total);
  return 0;
}
Bila program diatas dijalankan, akan muncul hasil :
Total setiap elemen
array adalah 383
Adapun keterangan dari program diatas adalah sebagai berikut :
Hasil penjumlahan setiap elemen
array diperoleh dari jumlah data atau elemen array sebanyak 12 buah yang sudah didefinisikan pada awal program yaitu #define SIZE 12. Kemudian setiap elemen array dari a[0] yang berisi data, a[1] yang berisi data 3 di jumlahkan sampai dengan a[11] yang berisi data 45. Proses penjumlahan dilakukan pada loop dimulai dari 0 sampai data yang terakhir atau elemen terakhir.
Array Dimensi Satu
Bentuknya :
Tipe nama_var[ukuran];
Dengan :
Tipe : menyatakan jenis elemen
array (int, char, unsigned, dan lain-lain)
Ukuran : menyatakan jumlah maksimal elemen
array
Contoh :
Float nilai_ujian[5];
Pada turbo C++ array disimpan dalam memori secara berurutan. Elemen pertama berindeks nol digambarkan sebagai berikut :
Nilai_ujian[0]
Nilai_ujian[1]
Nilai_ujian[2]
Nilai_ujian[3]
Nilai_ujian[4]
Masing-masing berbentuk float dan berjumlah 5 elemen.
Selain itu, deklarasi
array juga dapat berupa :
Static int bulan[12]={1,2,3,4,5,6,7,8,9,10,11,12}
Sesuai dengan deklarasi
array diatas, maka isi variable array telah ditentukan yaitu :
Bulan[0] bernilai 1
Bulan[1] bernilai 2
Bulan[2] bernilai 3
Bulan[3] bernilai 4
Bulan[4] bernilai 5
Bulan[5] bernilai 6
Bulan[6] bernilai 7
Bulan[7] bernilai 8
Bulan[8] bernilai 9
Bulan[9] bernilai 10
Bulan[10] bernilai 11
Bulan[11] bernilai 12
Untuk memperjelas tentang array dimensi satu, perhatikan maslah berikut ini :
Misalkan Anda diminta membuat algoritma dan program untuk menampilkan bilangan dari 1 sampai bilangan 10, dengan pangkatnya masing-masing. Adapun batas nilai maksimal yang disimpan adalah 100.
Sesuai yang telah Anda pelajari , bahwa
bilangan 1 pangkatnya adalah 1. Hasil ini diperoleh dari 1*1, kemudian bilangan 2 pangkatnya adalah 4, hasil ini diperoleh dari 2*2 sampai bilangan 10 yang pangkatnya adalah 100, hasil ini diperoleh dari 10*10.
Algoritma dari permasalahan diatas adalah berikut ini :
1. Tentukan elemen
array untuk menampung nilai perkalian
2. Tentukan nilai awal indeks, batas akhir indeks dan kenaikannya (dalam hal ini , nilai awal indeks adalah 0, batas akhir indeks adalah 10, dan kenaikannya adalah 1)
3. Lakukan
perulangan sesuai langkah 2
4. Nilai awal indeks ditambah dengan 1
5. Lakukan perkalian masing-masing elemen
array sampai batas akhir indeks terpenuhi.
6. Tampilkan perkalian semua elemen
array
7. Selesai .
Contoh program array dimensi satu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/*Program :array2.cpp*/
#include <stdio.h>
int main()
{
  int square[100];
  int i; /*loop index*/;
  int k; /*the integer*/

  /*calculate the squares */
  for (i=0; i<10; i++)
  {
    k= i+1;
    square[i]=k*k;
    printf("\nPangkat dari %d adalah %d ", k, square[i]);
  }
  return 0;
}
Bila program dijalankan akan muncul hasil :
Pangkat dari 1 adalah 1
Pangkat dari 2 adalah 4
Pangkat dari 3 adalah 9
Pangkat dari 4 adalah 16
Pangkat dari 5 adalah 25
Pangkat dari 6 adalah 36
Pangkat dari 7 adalah 49
Pangkat dari 8 adalah 64
Pangkat dari 9 adalah 81
Pangkat dari 10 adalah 100
Penjelasan :
Dari
program diatas, Anda dapat melihat ada 10 buah elemen yang masing-masing nilainya akan dipangkatkan, mulai dari 1 sampai 10. Dimana dalam memori sudah dipesan tempat sebanyak 100.
Sedangkan apabila
array akan dikirim ke sebuah fungsi caranya adalah hanya dengan mencantumkan nama array tanpa diikuti dengan tanda apapun, seperti contoh berikut :
int c[5] = {-45, 0, 6, 72, 1543};


JUMLAH (c, 5)
—-
Dalam contoh diatas, yang memanggil fungsi JUMLAH dengan mengirimkan argument berupa variable array c dan sebuah konstanta 5. Perhatikan bahwa variable array ditulis hanya c tanpa notasi tambahan apapun. Deklarasi variable array yang menjadi parameter dari suatu fungsi dituliskan dengan nama variable array yang diikuti dengan tanda kurung [], tanpa menuliskan banyaknya lokasi memori yang diinginkan.
ARRAY DIMENSI DUA
Struktur array yang dibahas diatas mempunyai satu dimensi, sehingga variabelnya disebut variable array berdimensi satu. Pada bagian ini ditunjukkan array berdimensi lebih dari satu, yang sering disebut dengan array berdimensi dua.
Sebagai
contoh, sebuah matrik B berukuran 2 X 3 dapat dideklarasikan dalam C seperti berikut : int B[2][3] = {[2, 4, 1}, {5, 3, 7}}; yang menempati lokasi memori dengan susunan sebagai berikut :
0 1 2
0 2 4 1
1 5 3 7
Dan definisi variable untuk setiap elemen tersebut adalah :
0 1 2
0 b[0][0] b[0][1] b[0][2]
1 b[1][0] b[1][1] b[1][2]
Sebagai implementasi dari keterangan diatas, perhatikan program berikut ini :
Contoh Program array dimensi dua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*Program :array2.cpp*/
#include <stdio.h>
void printArray(int[][3]);
main()
{
  int matrik1[2][3] = {{1, 2, 3},{4, 5, 6}};
  int matrik2[2][3] = {1, 2, 3, 4, 5};
  int matrik3[2][3] = {{1, 2},{4}};
  printArray (matrik1);
  printArray (matrik2);
  printArray (matrik3);
  return 0;
}

void printArray (int a[][3])
{
  int i,j;
  for (i=0; i<=1; i++)
  {
    for (j=0; j<=2; j++)
    printf("%d",a[i][j]);;
    printf("\n");
  }
}
Bila program diatas dijalankan, akan mucul hasil :
123
456
123
450
120
400
Penjelasan :
Dari
program diatas untuk matrik 1, penulisannya adalah 123 456, sedangkan pada matrik 2 penulisannya adalah 123 450. 0 disini mempunyai arti tempat yang disediakan untuk data kolom ke 3 dan baris ke 2 tidak diisi. Sedangkan matrik 3 penulisannya adalah 120 400. Dari matrik 3 disini kita bisa melihat bahwa pada baris pertama kolom ketiga data tidak diisi dan dianggap 0 dan pada baris kedua kolom kedua dan ketiga juga tidak diisi juga diisi 0.
Dalam
program tersebut, juga digunakan fungsi untuk menampung hasil penjumlahan matrik.
Perhatikan
contoh lain :
Int datasiswa[4][3];
Deklarasi diatas digunakan untuk mendeklarasikan suatu data siswa yang berbentuk demikian :
No Nama Kelas Jumlah Siswa
Tahun 1989 Tahun 1990 Tahun 1991
1 Kelas 1 50 55 49
2 Kelas 2 60 60 55
3 Kelas 3 56 56 56
4 Kelas 4 49 50 54
Dari deklarasi diatas maka angka empat [4] menyatakan jumlah kelas, dan angka indek [3] menyatakan tahun.
Data siswa [0][2] adalah Kelas 1 dan jumlah siswa tahun 1990 yaitu 55. Atau jumlah siswa kelas 1 pada tahun 1990 adalah 55.
Bentuk data siswa dapat juga digambarkan sebagai berikut :
1 2 3
1 50 55 49
2 60 60 55
3 56 56 56
4 49 50 54
Array ini dapat pula diberi nilai tetap dengan static seperti pada array dimensi satu. Deklarasinya adalah sebagai berikut :
Static int jumlah [4][3]=
{
50, 55, 49,
60, 60, 55,
56, 56, 56,
49, 50, 54
};
ARRAY DIMENSI BANYAK
Array ini seperti array dimensi dua tetapi dapat memiliki ukuran yang lebih besar. Sebenarnya array dimensi banyak ini tidak terlalu sering digunakan, tetapi sewaktu-waktu kalau dimensi yang dibutuhkan banyak, maka array ini sangat memegang peranan yang penting.
Bab 3 Bentuk Perulangan & Penyeleksian Kondisi

Materi
1. Bentuk – bentuk Perulangan

Dalam hampir setiap program yang kompleks mutlak memerlukan suatu perulangan dan percabangan. Tujuan perulangan disini adalah untuk mengulang statement atau blok statement berulang kali sesuai
sejumlah yang ditentukan pemakai. Dalam materi ini akan memberikan gambaran konsep dasar dari pengertian diatas.

a) Perulangan For.
Perulangan dengan statemen For digunakan untuk mengulang statemen atau suatu blok statemen berulang kali. Perulangan dengan statemen For dapat berupa perunlangan positif dan perulangan negatif.

• Perulangan For positif
contoh : perulangan positif untuk satu statement :
Uses Crt;
Var
i : Integer;
Begin
For i := 1 To 5 Do Writeln ('I Love Dinda’);
END.
Maka bila program diatas dicompile
hasilnya :
I Love Dinda
I Love Dinda
I Love Dinda
I Love Dinda
I Love Dinda
Penjelasan : Berati statemen I Love Dinda akan diulang sebanyak 5 kali yaitu dengan menghitung nilai i dari i ke 1 sampai nilai i terakhir yaitu i ke 5.

# Contoh dengan menggunakan blok statement: cara penulisannya dengan pada awal blok diawali dengan Begin dan pada akhir blok diakhiri dengan End;
Uses Crt;
Var
i : Integer;
Begin
For i:= 1 To 10 Do
Begin
Writeln ('I Love Dinda'); { blok statement }
End;
End.
Hasil yang akan didapat akan sama dengan contoh yang pertama, tapi yang harus diingat disini untuk penggunaan blok pada perulangan For biasanya mempunyai banyak statement [lebih dari 1 statement]


# Contoh 3 : Penggunaan perulangan For dalam blok statement untuk membuat tabel

Uses Crt;
Var
a,b,c : Integer;
bagi : Real;
Begin
Writeln('----------------------------------------------');
Writeln(' a a*a a*a*a 1/a ');
Writeln('----------------------------------------------');
For a := 1 To 10 Do
Begin
b:= a*a;
c:=a*a*a;
bagi := 1/a;
Writeln(a:4,c:10,d:10,bagi:12:3);
End;
Writeln ('----------------------------------------------');
End.
maka hasilnya :
----------------------------------------------
a a*a a*a*a 1/a
----------------------------------------------
1 1 1 1.000
2 4 8 0.500
3 9 27 0.333
4 16 64 0.250
5 25 125 0.200
6 36 216 0.167
7 49 343 0.143
8 64 512 0.125
9 81 729 0.111
10 100 1000 0.100
----------------------------------------------
• Perulangan For negatif : Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil.

Statement yang digunakan adalah For-DownTo-Do
contoh :
Uses Crt;
Var
i : Integer;
Begin
For i := 10 DownTo 1 Do Write (i:3);
End.
Hasil :
10 9 8 7 6 5 4 3 2 1

• Perulangan For tersarang
Perulangan For tersarang adalah perulangan For yang berada pada perulangan yang lainnya. Perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis, kemudian perulangan yang lebih luar baru akan bertambah, mengerjakan perulangan yang lebih dalam lagi mulai dari nilai awalnya dan seterusnya.
Contoh :
Var
a,b : Integer;
Begin
For a := 1 To 3 Do
Begin
For b := 1 To 2 Do Write (a :4,b:2);
Writeln;
End;
End.
Hasil :
1 1 1 2
2 1 2 2
3 1 3 2

• Perulangan While - Do
Penyeleksian kondisi digunakan untuk agar program dapat menyeleksi kondisi, sehingga program dapat menentukan tindakan apa yang harus dikerjakan, tergantung dari kondisi yang diseleksi tersebut. Perulangan While – Do tidak dilakukan jika kondisi tidak terpenuhi.
Contoh :
Uses Crt;
Var i : Integer;
Begin
i := 0;
While < 5 do
Begin
Write (i:3);
Inc (i); { sama dengan i:=i+1 }
End;
End.
Hasilnya :
0 1 2 3 4

• Perulangan While – Do tersarang
Perulangan While – Do tersarang (nested While - Do) merupakan perulangan While – Do yang satu di dalam perulangan While – Do yang lainnya.
Contoh :
Uses Crt;
Var
a, b : Integer;
Begin
ClrScr;
a:=1;
b:=1;
While a < 4 Do{ loop selama a masih lebih kecil dari 4 }
Begin
a := a+1;
While b < 3 Do{ loop selama b masih lebih kecil dari 3 }
Begin
Write (a:3,b:2);
b:=b+1;
End;
End;
Readln;
End.

• Perulangan Repeat - Until.
Repeat – Until digunakan untuk mengulang statement-statemen atau blok statement sampai (Until) kondisi yang diseleksi di Until tidak terpenuhi.
Sintak dari statement ini adalah :
Contoh :
Var
i : Integer;
Begin
i:=0;
Repeat
i:= i+1;
Writeln (i);
Until i=5;
End.
hasil :
1
2
3
4
5

• Repeat – Until tersarang
Repeat – Until tersarang adalah suatu perulangan Repeat - Until yang satu berada didalam perulangan Repeat – Until yang lainnya.
Contoh :
Var
a,b,c : Real;
Begin
Writeln('========================================');
Writeln(' sisi A sisi B Sisi C ');
Writeln (' =======================================');
a:= 1;
Repeat { perulangan luar }
b := 0;
Repeat{ perulangan dalam }
c:=Sqrt (a*a+b*b);
Writeln (a:6:2, b:9:2, c:9:2);
b:=b+5;
Until b>25; { berhenti jika b lebih besar dari 5 untuk
perulangan dalam }
a:=a+1;
Until a>3; { berhenti jika a lebih besar dari 3 untuk
perulangan luar }
Writeln(' =======================================');
End.

• Percabangan

 If - Then
§
Bentuk struktur If – Then adalah sebagai berikut :
If Kondisi Then Statement
Ungkapan adalah kondisi yang diseleksi oleh statement If. Bila kondisi yang diseleksi terpenuhi, maka statement yang mengikuti Then akan diproses, sebaliknya bila kondisi tidak terpenuhi, maka yang akan diproses statement berikutnya.
Misalnya :
If Pilihan = 2 Then
Begin{ jika kondisi terpenuhi, Yaitu jika pilihan = 2 }
......
......
End
Else{ jika kondisi tidak terpenuhi, yaitu jika pilhan tidak sama dengan 2}
Begin
.......
.......
End;
Contoh Program :
Uses Crt;
Var
Nilai : Real;
Begin
Write ('Jumlah Nilai :');
Readln (nilai); { Pemasukan data }
If nilai > 60 Then { seleksi kondisi variabel nilai }
Writeln('Lulus') { Dilaksanakan jika nilai lebih besar dari 60 }
Else
Writeln('Tidak lulus'); { Dilaksanakan jika variabel nilai lebih kecil dari 60 }
End.
Hasil :
Jika kita Memasukan 40 pada varibel nilai, Maka program diatas akan mencetak Tidak lulus.

 If tersarang (nested If)
§
Struktur If tersarang merupakan bentuk dari suatu statement If berada di dalam lingkungan statemen If yang lainya. Bentuk statement If tersarang sebagai berikut :

If kodisi1 Then atau If Kondisi1 Then
If kondisi2 Then Begin
statemen1 IF kondisi2 Then
Else statemen1
statemen2; Else
statemen2
End;

 Case - Of
§
Struktur Case – Of mempunyai suatu ungkapan logika yang disebut dengan selector dan sejumlah statemen yang diawali dengan suatu label permasalahan (case label) yang mempunyai tipe sama dengan selector.
Statement yang mempunyai case label yang bernilai sama dengan case label yang bernilai sama dengan nilai selector akan diproses sedang statemen yang lainya tidak.

Bentuk struktur dari Case - Of:

Case Variabel Kondisi Of
Case – Label 1; Statement 1;
Case – Label 2; Statement 2;
Case – Label 3; Statement 3;
Case – Label 4; Statement 4;
........
........
Case – Label n ; Statement n ;
End ; { end dari case }

Daftar Case label dapat berupa konstanta, range dari konstanta yang bukan bertipe real.
Contoh program ;
Program nilai;
Var
nil : Char ;
Begin
Write ('Nilai Numerik yang didapat :');
Readln (nil);
Case nil Of
'A': Writeln ('Sangat Baik’);
'B': Writeln('Baik’);
'C': Writeln('Cukup');
'D': Writeln('Kurang');
'E': Writeln('Sangat Kurang');
End;
End.
hasil : Nilai Numerik yang didapat : B Input Baik
Contoh Listing Program untuk Dicoba

1. Program input data dengan array.
Program Pemakaian_Array_Untuk_10_data_dengan_menggunakan_For;

Uses Crt;
Const
garis='------------------------------------------------------';
Var
nil1,nil2 : Array [1..10] Of 0..100; {Array dgn Type subjangkauan}
npm : Array [1..10] Of String [8];
nama : Array [1..10] Of String [15];
n,i,bar : Integer;
jum : Real;
tl : Char;
Begin
ClrScr;
{ pemasukan data dalam array }
Write ('Mau Isi Berapa Data:');
Readln (n);
For i:= 1 To n Do
Begin
ClrScr;
GotoXY(30,4+1); Write('Data Ke-:',i:2);
GotoXY(10,5+i); Write('NPM :'); Readln (npm[i]);
GotoXY(10,6+i); Write('Nama :'); Readln (nama[i]);
GotoXY(10,7+i); Write('Nilai 1 :'); Realdn(nil 1[i]);
GotoXY(10,8+i); Write('Nilai 2 :'); Readln(nil 2[i]);
End;
{ proses data dalam array }
ClrScr;
GotoXY(5,4); Write(Garis);
GotoXY(5,5); Write ('No');
GotoXY(9,5); Write ('NPM');
GotoXY(18,5); Write ('Nama');
GotoXY(34,5); Write ('Nilai 1');
GotoXY(41,5); Write ('Nilai 2');
GotoXY(47,5); Write ('Rata');
GotoXY(54,5); Write ('Abjad’);
GotoXY(5,6); Write (Garis);
{ proses Cetak isi array dan seleksi kondisi }
bar := 7;
For i:= 1 To n Do
Begin
jum:=(nil1[i]+nil2[i])/2;
If jum>= 90 Then tl:='A'
Else
If jum>80 Then tl:='B'
Else
If jum>60 then tl:='C'
Else
If jum 50 Then tl:='D'
Else
tl:='E';
{ cetak hasil yang disimpan di array dan hasil }
{ penyeleksian kondisi }
GotoYX(5,bar); Writeln(i:2);
GotoYX(9,bar); Writeln (NPM[i]);
GotoYX(18,bar); Writeln (NAMA[i]);
GotoYX(34,bar); Writeln (NIL1[i]:4);
GotoYX(41,bar); Writeln (NIL2[i]:4);
GotoYX(47,bar); Writeln (jum:5:1);
GotoYX(54,bar); Writeln (tl);
bar:=bar+1;
End;
GotoXY(5,bar+1);Writeln(garis);
Readln;
End.

2. Program jendela bergerak.
Program Window_Bergerak_dgn_delay;
Uses Crt;
Var i : Integer;
Begin
For i:=1 To 15 Do
Begin
Sound (i*100);
Delay (100);
NoSound;
End;
TextBackGround(black);
ClrScr;
For i := 1 To 9 Do
Begin
TextBackGround(white);
Window (42-i*4,10-i,38+i*4,15+i);
ClrScr;
Delay(100);
End;
TextColor(15);
GotoXY(28,2);Writeln('c');
GotoXY (8,3); Writeln ('3');
GotoXY (28,4); Writeln ('A');
TextColor(black);
GotoXY (44,3); Writeln ('3');
GotoXY (44,2); Writeln ('&');
TextColor (29,4); Writeln ('U');
TextColor (red*25);
GotoXY (30,3); Writeln ('B E L A J A R');
TextColor (black);
GotoXY (5,5); Write('c');
For i := 6 To 64 Do
Begin
GotoXY (i,5); Writeln ('');
End;
For i := 6 To 20 Do
Begin
GotoXY(5,i); Writeln('3 ');
End;
GotoXY (5,21); Writeln (' ');
TextColor(white);
GotoXY(65,5); Write('U');
For i := 6 To 65 Do
Begin
GotoXY (i,21); Writeln(' `);
End;
For i := 6 To 20 Do
Begin
GotoXY(65,i); Writeln('3');
End;
GotoXY (65,21); Writeln ('c');
TextColor(yellow);
Readln;
End.

13.fungsi
Merupakan blok dari kode yang di rancang untuk melaksanakan tugas khusus,
Kegunaan dari fungsi ini adalah untuk:
~mengurangi perulangan penulisan progam yang berulangan atau sama.
~progam menjadi lebih terstruktur, sehingga mudan di pahami dan dapat lebih di kembangkan.
 Keterangan
~nama fungsi boleh di tuliskan secara bebas dngan ketentuan tidak menggunakan pasi dan nama-nama yang mengandung arti sendiri.
~ARGUMEN di letakan di antara kurung “( )” yang terletak di belakang nama fungsi,argument boleh di isis oleh suatu data tau di biarkan kosong.
~pernyataan/perintah,di letakan di antar tanda kurung “( )”
kembangakan.