Struktur Kendali (While-Do, Repeat Until, For)






1.      While-Do
 Perulangan while dan do-while pada dasarnya hampir sama. Perbedaan terletak pada ’lokasi’ pengecekan kondisi perulangan.

Dalam struktur while, pengecekan untuk kondisi perulangan di lakukan di awal, sehingga jika kondisi tidak terpenuhi, maka perulangan tidak akan pernah dijalankan.

Namun pada perulangan do-while, pengecekan kondisi akan dilakukan di akhir perulangan, sehingga walaupun kondisi adalah FALSE, perulangan akan tetap berjalan minimal 1 kali.

Sebagai perbandingan, perhatikan contoh struktur while berikut ini:
   
<?php
$i=1000;
while ($i <= 10)
{
  echo "$i";
  echo "Tidak akan tampil di browser";
  $i=$i+1;
}
?>

Kode program diatas tidak akan menampilkan apa-apa, karena kondisi while ($i<=10) sudah menghasilkan nilai FALSE pada awal program (karena saya sudah mendefenisikan nilai $i=1000, pada baris pertama)

Namun jika kode diatas kita ubah menjadi do-while, maka berikut hasilnya:
   
<?php
$i=1000;
do
{
  echo "$i";
  echo "Akan tampil di browser";
  $i=$i+1;
} while ($i <= 10);
?>

Program diatas akan menampilkan ”1000Akan tampil di browser”. Hal ini terjadi karena pada struktur do-while, perulangan program akan tampil setidaknya 1 kali walaupun kondisi while menghasilkan FALSE.
 
Cara Penulisan Struktur Perulangan Do-While PHP

Penulisan struktur do-while mirip dengan struktur while, namun kita menambahkan perintah do di awal struktur. Berikut adalah format dasar penulisan struktur do-while dalam PHP:
do {
    statement;
    statement;
} while (condition);

Setelah perintah do, di dalam blok kurung kurawal adalah statement. Statement adalah kode program yang akan diulang. Kita bisa membuat beberapa kode program untuk menampilkan perintah seperti echo, atau perintah yang lebih kompleks. Namun di dalam bagian ini harus ada baris program yang digunakan sebagai ’penghenti’ perulangan.

Condition adalah kondisi yang harus dipenuhi agar perulangan berlangsung. Selama condition bernilai TRUE, maka perulangan akan terus dilakukan. Condition ini akan diperiksa pada tiap perulangan, dan hanya jika hasilnya FALSE, maka proses perulangan berhenti.

Sebagai contoh sederhana perulangan do-while, berikut adalah kode perulangan untuk menampilkan angka 1 sampai dengan 10 pada web browser:
   
<?php
$i=1;
do
{
  echo "$i";
  echo "<br />";
  $i=$i+1;
} while ($i <= 10);
?>

Tutorial Belajar PHP - Contoh Hasil Perulangan Do-While PHPAnda juga bisa menggunakan struktur do-while untuk perulangan bersarang (nested loop) seperti pada tutorial perulangan for dan while.

Sama seperti perulangan while, dalam perancangan perulangan do-while ini kita harus memahami alur logika program yang dibuat. Karena tidak seperti perulangan for dimana jumlah perulangan telah di tentukan di awal, untuk struktur do-while banyak perulangan di tentukan pada saat program mencapai kondisi FALSE. Kesalahan dalam alur logika akan membuat PHP tidak pernah berhenti memproses perulangan.

2.      Repeat – Until
Repeat until berfungsi hampir sama dengan While Do. Pada Repeat Until looping akan berhenti justru ketika kondisi berniali TRUE. Selain itu kondisi akan diuji pada akhir perulangan sehingga blok didalam perulangan akan dijalankan minimal satu kali walaupun kondisi yang ada masih FALSE. Repeat until digunakan untuk mengulang statement-statement(blok statement) sampai (until) kondisi yang diseleksi di until tidak terpenuhi.
Perbedaan perulangan repeat until dengan while Do terletak pada pengecekan kondisi. Jika pada pernyataan While Do kondisi di cek pada awal blok pernyataan yang harus diulang, sedangkan pada pernyataan repeat until kondisi di cek pada akhir blok pernyataan yang harus diulang. Perbedaab lainnya bila pernyataan While mengulang pernyataan selama kondisi masih terpenuhi sedangkan repeat until mengulang pernyataan selama kondisi belum terpenuhi. Bentuk umum pernyataan Repeat Until adalah sebagai berikut:
Repeat (pernyataan-pernyataan yang akan diulanng
Until (kondisi)

Contoh: program cetak 5 bilangan bulat pertama menggunakan repeat until
Program cetak;
Uses wincrt;
Var
I= Integer;
Begin
I:= 0;
Repeat
I:=I+1;
Writeln(I);
Until I=5;
End.


Repeat until tersarang adalah suatu perulangan repeat until yang satu berada didalam perulangan repeat until yang lainnya.
Contoh:
Program perulangan_repeat;
Var
I,J: Integer;
Begin
I:=0;
Repeat
I:= I+1;
J:=0;
Repeat
J:= J+1;
Writeln (I: 5, J:5);
Until I=3
Until J=3;
End.
3. FOR (pengulangan tanpa kondisi)
Pernyataan for adalah konstruksi pengulangan tanpa kondisi artinya instruksi-instruksi di dalam badan pengulangan diulangi sejumalah kali yang di spesifikasikan oleh pemogram. Dalam hal ini, jumlah pengulangan sudah diketahui sebelum konstruksi pengulangan eksekusi. Perulangan dengan pernyataan FOR digunakan untuk mengulang pernyataan/satu blok pernyataan berulanng kali sejumlah yang ditentukan. Jumlah pengulangan diketahui atau dapat ditentukan sebelum eksekusi. Untuk mencacah beberapa kali pengulangan diperlukan sebuah peubah (variable) pencacah (counter). Peubah ini nilainya selau bertambah 1 setiap kali pengulangan dilakukan. Jika cacah pengulangan sudah mencapai jumlah yang dispesifikasikan, maka proses pengulangan berhenti. Perulanngan denngan pernyataan FOR dapat berbentuk perulangan positif, perulangan negative, dan perulangan tersarang.
A. Perulangan positif
Adalah perulangan dengan penghitung dari kecil ke besar atau pertambahan positif. Perulangan positif dapat dibentuk dengan mengguanakan pernyataan For-To-Do, dengan bentuk umum:
For variable-kontrol:=nilai awal To nilai akhir D

Contoh: mencetak “saya rajin belajar” sebanyak 5 kali

Program cetak;
Uses wincrt;
Var
I : Integer
Begin
For I:=1 to 5 Do Writeln (‘saya rajin belajar’);
End.
B. Perulangan negative
Adalah perulangan dengan penghitung dari besar ke kecil/pertambahan negative. Perulangan negative dapat dibentuk dengan menggunakan pernyataan For-DownTo- Do, dengan bentuk umum:
For variable-kontrol := nilai awal DownTo nilai akhir Do
Contoh perulangan negaif
Contoh mencetak angka 5 sampai dengan 1

Program cetak_menurun;
Uses wincrt;
Var
I= integer;
Begin
For I:=5 downto 1 do
Begin
Writeln(I);
End;
End.
C. Perulangan bersarang
Adalah perulangan yang berbeda di dalam perulangan yang lainya.
Contoh perulangan bersarang:
Contoh mencetak matrix:
11 12 13
21 22 23
31 32 33
41 42 43
51 52 53

Program cetak2;
Uses wicrt;
Var
I,J: integer;
Begin
For I:= to 5 Do
Begin
For J:= 1 to 3 Do
Begin
Write(I:8,J:3);
End;
Writeln;
End;
End.
4.  Array
Merupakan tipe data terstruktur dimana didalamnya terdiri dari komponen-komponen yang mempunyai tipe data yang sama. Didalam suatu array jumlah komponen banyaknya adalah tetap. Didalam suatu array setiap komponen ditunjukan oleh suatu index yang unik. Index dari setiap komponen array menunjukan urutan data atau identitas yang mewakili data yang ada didalamnya.
Logika sederhananya array itu bisa disamakan dengan 2orang dengan nama yang sama didalam suatu komunitas, untuk membedakan antara nama yang satu atau dengan nama yang lain maka diberikan inisial tambahan untuk setiap nama.
Deklarasi array . didalam penulisan bahasa pemograman setiap penggunaan array harus dideklarasikan terlebih dahulu. Pendeklarasian array diawali dengan nama variable array diikuti dengan index array yang dituliskan didalam tanda “[..]”, diikuti dengan kata cadangan Of dan tipe data yang dibutuhkan.
Bentuk umum penulisan
Tanda_pengenal: array [..Tipe Index..] Of tipe data;
Contoh:
A : array [1…4] of integer;
B : array [1…5] of string;
C : array [1…10] of real;

ABC merupakan tanda pengenal/ nama variable dari array
1…4 merupakan tipe index dari array (menunjukan banyaknya data yang mampu disimpan)
Integer: menunjukan bahwa data yang di input berupa bilangan bulat

a) Array static adalah model pendeklarasian array dimana tipe data yang digunakan mempunyai nilai yang tetap. Nilai yang digunakan untuk menentukan jangakauan pada umumnya bernilai Integer.
Bentuk umum
Array [index type,…,index type] of base type

Index type menunjukan type data ordinal yang menunjukan batasan atau elemen Max terhadap seberapa besar variable tersebut menyimpan komponen.
Contoh:
Var arrayku: array [1….5] of char
Atau juga
Type
Jangkauan=1….5;
Var
Nilai: array [jangkauan] of integer
b) Array dinamis merupakan array yang tidak mempunyai suatu jangkauan/ukuran tetap. Tetapi ketika program dijalankan maka memory untuk suatu array dinamis diarelokasikan ketika kita menugaskan suatu nilai kepada array.
Bentuk umum
Array of base type
Contoh:
Var nilai: array of real;

Dari deklarasi tersebut nilai yang merupakan deklarasi array belum memperoleh nilai yang tetap, tetapi hanya diberikan batasan sebagai tipe data real. Untuk mendeklarasikan array tersebut kita harus menempatkan array didalam suatu memori. 


Operator




 
Operator dalam bahasa pemrograman adalah simbol yang memberitahu compiler atau interpreter untuk melakukan operasi matematika, relasional atau logika tertentu dan menghasilkan hasil akhir. Tutorial kali ini akan menjelaskan konsep operator dan menjelaskan bagaimana pentingnya sebuah operator dalam bahasa pemrograman.

Arithmetic Operators

Program komputer banyak digunakan untuk perhitungan matematis. Kita bisa menulis program komputer yang sederhana seperti menambahkan dua angka (2 + 3) dan kita juga bisa menulis sebuah program, yang bisa menyelesaikan persamaan kompleks seperti P (x) = x4 + 7x3 - 5x + 9. Anda harus sadar bahwa pada ungkapan pertama 2 dan 3 adalah operan dan + adalah operator. Konsep serupa ada pada Bahasa pemrograman.
Lihatlah dua contoh berikut:
?
1
2
3
4
 2 + 3

 P(x) = x4 + 7x3 - 5x + 9. <span style="font-family: "times new roman";"><span style="white-space: normal;">
 </span></span>
Kedua pernyataan ini disebut ekspresi aritmatika dalam bahasa pemrograman dan plus, minus  yang digunakan dalam ungkapan ini disebut operator aritmatika dan nilai yang digunakan dalam ungkapan ini seperti 2, 3 dan x, dll, disebut operan. Dalam bentuknya yang paling sederhana, ungkapan semacam itu menghasilkan hasil numerik.

Demikian pula, bahasa pemrograman menyediakan berbagai operator aritmatika. Tabel berikut mencantumkan beberapa operator aritmatika penting yang tersedia dalam bahasa pemrograman C. Asumsikan variabel A=10 dan variabel B=20,

Operator
Penjelasan
Contoh
+
Menambahkan 2 Jenis Operan
A + B = 20
-
Mengurangkan 2 Jenis Operan
A - B = -10
*
Mengkalikan Operan
A*B = 200
/
Membagi Operan
B/A = 2
%
Integer dari Operan
B%A = 0

Berikut adalah contoh sederhana Pemrograman C untuk memahami operator matematika di atas
Hasilnya adalah :

 

Relational Operators

Berikut adalah 2 jenis nilai variable :
A = 20
B = 10
Di sini, jelas bahwa variabel A >=  B. Jadi, kita memerlukan bantuan beberapa simbol untuk menulis ungkapan seperti itu yang disebut relational expressions. 

Berikut adalah jenis-jenis simbol dari Relational Operator

Operator
Deskripsi
Contoh
==
Memeriksa apakah nilai dari dua operan yang sama atau tidak, jika ya maka kondisi menjadi benar.
(A == B) is not true.
!=
Memeriksa apakah nilai dari dua operan yang sama atau tidak, jika nilai-nilai yang tidak sama maka kondisi menjadi benar
(A != B) is true.
>> 
Memeriksa apakah nilai operan kiri lebih besar dari nilai operan kanan, jika ya maka kondisi menjadi benar.
(A > B) is not true.
< 
Memeriksa apakah nilai operan kiri lebih kecil dari nilai operan kanan, jika ya maka kondisi menjadi benar.
(A < B) is true.
>=
Memeriksa apakah nilai operan kiri lebih besar sama dengan dari nilai operan kanan, jika ya maka kondisi menjadi benar
(A >= B) is not true.
<=
Memeriksa apakah nilai operan kiri lebih kecil sama dengan dari nilai operan kanan, jika ya maka kondisi menjadi benar
(A <= B) is true.

Berikut adalah contoh Relational Operator di dalam bahasa C:
 
Outputnya adalah 

Logical Operators

Operator logika sangat penting dalam bahasa pemrograman dan mereka membantu kita mengambil keputusan berdasarkan kondisi tertentu. Misalkan kita ingin menggabungkan hasil dari dua kondisi, maka logika AND dan OR logical operator membantu kita dalam menghasilkan hasil akhir.
Berikut adalah logical operator yang umum digunakan: Asumsikan A = 1 dan B = 0
Operator
Description
Example
&&
Disebut logical 'AND", memeriksa jika kedua operan tidak 0 semua , maka menjadi true
(A && B) is false.
||
Disebut logical "OR', memerika jika salah satu operan memiliki nilai 0, maka menjadi true
(A || B) is true.
!
Disebut logical 'NOT', untuk membalikkan keadaan logis dari operannya. Jika suatu kondisi benar maka akan menjadi false.
!(A && B) is true.

Berikut adalah contoh logical operator di bahasa C:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>

main() {

   int a = 1;
   int b = 0;

   if ( a && b ) {
  
      printf("This will never print because condition is falsen" );
   }
   if ( a || b ) {
  
      printf("This will be printed print because condition is truen" );
   }
   
   if ( !(a && b) ) {
  
      printf("This will be printed print because condition is truen" );
   }
}

Outputnya:
?
1
2
 This will be printed print because condition is true
 This will be printed print because condition is true

Contoh Operator dalam Bahasa C
Contoh Operator dalam Bahasa Python