Sabtu, 28 Maret 2020

Control Statement, Fungsi, dan Variabel dalam C

1. Control Statement


Control Statement adalah suatu mekanisme yang mengendalikan jalannya atau pengeksekusiannya blok kode tertentu, baik itu dengan perulangan maupun dengan pernyataan kondisional atau seleksi. Ada beberapa statement yang termasuk control  statement yaitu statements if-else, else-if, goto(), switch(), break, continue, for(), while() dan do-while.


ü  Statement for() digunakan untuk membuat perulangan yang dikontrol oleh nilai-nilai tertentu yaitu initial(nilai awal), condition(kondisi), increment/decrement(penambahan/penurunan).
ü  Statement while() sama dengan statement for() tetapi pada statement while memeriksa kondisi dahulu, bila kondisi benar maka perulangan akan dilaksanakan.
ü  Statement do-while, kombinasi antara statement diatas, cara kerjanya langsung mengerjakan badan loop, kemudian kondisi diperiksa jika benar maka dilanjutkan bila tidak perulangan selesai.

1. IF
<?php
$t=date(“H”);  //mengambil data jam dari
waktu komputer server
if ($t>”0″ && $t<“5” )*
{
echo “Sekarang masih fajar”;
}
?>

*contoh manipulasi control expression dengan menggunakan ekspresi aritmatika ,relasi dan boolean

IF-ELSE
<?php
$t=date(“H”);
if ($t<“5”)
{
echo “Sekarang masih fajar”;
}
else
{
echo “Sekarang tidak fajar lagi”;
}
?>
3
NESTED-IF
<?php
$t=date(“H”);
if ($t<“5”)
{
echo “Sekarang masih fajar”;
}
if ($t>”5″)
{
echo “Sekarang tidak fajar lagi”;
}
?>

IF-ELSEIF
<?php
$t = date(“H”);// data diambil dari komputer

if ($t < “10”) {
echo “Have a good morning!”;
} elseif ($t < “20”) {
echo “Have a good day!”;
} else {
echo “Have a good night!”;
}
?>
SWITCH-CASE
<?php
$favcolor = “red”;

switch ($favcolor) {
case “red”:
echo “Your favorite color is red!”;
break;
case “blue”:
echo “Your favorite color is blue!”;
break;
case “green”:
echo “Your favorite color is green!”;
break;
default:
echo “Your favorite color is neither red, blue, nor green!”;
}
?>

2. FOR
<?php
for ($x = 0; $x <= 10; $x++)
{
echo “The number is: $x <br>”;
}
?>
FOR-EACH
<?php
$colors = array(“red”,”green”,”blue”, “yellow”);
foreach ($colors as $value) {
echo “$value <br>”;
}
?>
3. WHILE
<?php
$x = 1;
while($x <= 5)
{
echo “The number is: $x <br>”;
$x++;
}
?>
DO-WHILE
<?php
$x = 1;

do
{
echo “The number is: $x <br>”;
$x++;
} while ($x <= 5);
?>

2. Fungsi

Fungsi adalah sub-program yang bisa digunakan kembali baik di dalam program itu sendiri, maupun di program yang lain.
Contoh fungsi yang sering kita buat adalah fungsi main().

Argumen Fungsi dengan Konstanta atau Variabel

  Konstanta adalah sebuah tetapan yang tidak dapat diubah nilainya ketika program berjalan. Dalam bahasa C, para programmer biasanya menggunakan sebuah makro untuk membuat suatu konstanta, yaitu dengan mendefinisikanya melalui directive #define.
  Meskipun tidak bersifat mutlak, namun kebanyakan para programmer C mendefinisikan sebuah makro dengan menggunakan huruf besar (kapital). Selain menggunakan directive #define, bahasa C juga menyediakan kata kunci const untuk membentuk suatu konstanta. Berikut ini bentuk umum pembulatanya.
  Const  tipe_data nama_konstanta = nilai_kontan;
  Sebagai contoh apabila kita akan membuat kosntanta PI dengan menggunakan kata kunci const, maka kita akan menuliskanya sebagai berikut.
  Const double PI = 3.1416;
  Variabel yang terdapat pada bahasa C cukuo beragam, untuk itu kita harus mengenalnya satu per satu sehingga kita tidak akan merasa kesulitan dalam mengiplementasikannya ke dalam sebuah program. Menurut jenisnya, variabel dalama bahasa C dibedakan menjadi empat macam.

Recurssion

Rekursif adalah fungsi yang memanggil dirinya sendiri secara langsung ataupun tidak, dan proses pemanggilannya itu disebut rekursi. Masalah yang dapat diselesaikan secara rekursif adalah masalah yang dibagi menjadi satu atau lebih masalah-masalah serupa yang lebih kecil.
Simple Cases adalah kondisi-kondisi yang dapat diselesaikan secara langsung tanpa perlu di-rekursi dan biasanya digunakan sebagai tanda akhir dari sebuah rekursi. Recursive Case adalah kondisi-kondisi yang diselesaikan dengan cara memanggil fungsi itu sendiri dengan problem yang semakin berkurang mendekati simple case.

Dalam potongan program:
.
Contoh :
Simple Case : if(bilangan2==1) return bilangan1;
Recursive Case : return bilangan1 + Perkalian(bilangan1, bilangan2-1);
Hasil Output : 20
Potongan Iterasi :
int Perkalian(int bilangan1, int bilangan2)
{
int pro=0;
for (int i=bilangan2;i>=1;i–)
{
pro+=bilangan1;
}
return (pro);

Recurssion

Rekursif adalah fungsi yang memanggil dirinya sendiri secara langsung ataupun tidak, dan proses pemanggilannya itu disebut rekursi. Masalah yang dapat diselesaikan secara rekursif adalah masalah yang dibagi menjadi satu atau lebih masalah-masalah serupa yang lebih kecil.
Simple Cases adalah kondisi-kondisi yang dapat diselesaikan secara langsung tanpa perlu di-rekursi dan biasanya digunakan sebagai tanda akhir dari sebuah rekursi. Recursive Case adalah kondisi-kondisi yang diselesaikan dengan cara memanggil fungsi itu sendiri dengan problem yang semakin berkurang mendekati simple case.

Dalam potongan program:
.
Contoh :

Coba perhatikan contoh berikut:
#include <stdio.h>
int sum(int n);
 
void main(){
    int number, result;
 
    printf("Enter a positive integer: ");
    scanf("%d", &number);
 
    result = sum(number);
 
    printf("sum = %d", result);
}
 
int sum(int num){
    if (num!=0)
        return num + sum(num-1); // fungsi sum() memanggil dirinya sendiri
    else
        return num;
}

Hasilnya:
Mengapa hasilnya bisa 21?
Karena kita menginputkan nilai 6, maka akan sama dengan:
1 + 2 + 3 + 4 + 5 + 6 = 21

Variabel Lokal dan Variabel Global

Variabel lokal dan variabel global akan sering kita temukan dalam pembuatan fungsi.
Variabel global adalah variabel yang bisa diakses dari semua fungsi. Sedangkan variabel lokal adalah variabel yang hanya bisa diakses dari dalam fungsi itu sendiri.

Contoh:
#include <stdio.h>
 
// membuat variabel global
int nilai = 9;
 
void main(){
    // membuat variabel lokal
    int nilai = 7;
 
    // mencetak variabel
    printf("Nilai: %d\n", nilai);
}

Pada contoh di atas, kita membuat variabel global bernama nilai.
Lalu di dalam fungsi main(), kita membuat variabel lagi bernama nilai dengan nilai yang berbeda.
Variabel yang ada di dalam fungsi main() adalah variabel lokal.
Lalu, berapakah hasil outputnya?
Jawabannya: 7
Mengapa bisa 7?
Karena variabel nilai kita buat ulang di dalam fungsi main.
Sekarang coba hapus variabel lokal yang ada di dalam main, 

sehingga akan menjadi seperti ini:
#include <stdio.h>
 
// membuat variabel global
int nilai = 9;
 
void main(){
    // mencetak variabel
    printf("Nilai: %d\n", nilai);
}

Maka hasil outputnya akan 
9. Karena variabel yang dipakai adalah variabel global.

3. Variable

Variabel adalah ‘penanda’ identitas yang digunakan untuk menampung suatu nilai. Nilai tersebut dapat diubah sepanjang kode program. Secara teknis, variabel merujuk kepada suatu alamat di memory komputer. Setiap variabel memiliki nama yang sebagai identitas untuk variabel tersebut.
Sesuai dengan namanya, isi dari variabel bisa berubah dari waktu ke waktu tergantung kebutuhan. Ini berbeda dari konsep konstanta yang kita bahas dalam tutorial sebelumnya. Untuk konstanta, nilai tersebut akan tetap dan tidak bisa diubah sepanjang kode program.
Sebagai contoh, jika saya membuat program menghitung luas lingkaran, saya bisa membuat variabel ‘jari2‘ dan mengisinya dengan nilai ‘7’, kemudian di dalam kode program, saya bisa mengubah nilainya menjadi ‘8’, ’10’ atau ‘1000’. Sedangkan jika ‘jari2‘ ini dibuat sebagai konstanta, maka nilainya akan tetap ‘7’ sepanjang program dijalankan.

Aturan Penamaan Variabel dalam Bahasa C
Penamaan variabel merujuk ke aturan identifier yang pernah kita bahas beberapa tutorial sebelumnya. Berikut aturan penamaan variabel di dalam bahasa pemrograman C:
§  Variabel bisa terdiri dari huruf, angka dan karakter underscore / garis bawah ( _ ).
§  Karakter pertama dari variabel hanya boleh berupa huruf dan underscore ( _ ), tidak bisa berupa angka. Meskipun dibolehkan, sebaiknya tidak menggunakan karakter underscore sebagai awal dari variabel karena bisa bentrok dengan beberapa variabel settingan program.
§  Variabel harus selain dari keyword. Sebagai contoh, kita tidak bisa memakai kata int sebagai nama variabel, karena int merupakan keyword untuk menandakan tipe data integer.
§  Beberapa compiler bahasa C ada yang membatasi panjang variabel maksimal 31 karakter. Agar lebih aman, sebaiknya tidak menulis nama variabel yang lebih dari 31 karakter.

1. Variabel Auto


Variabel auto sebenarnya merupakan variabel normal yang dideklarasikan di dalam lingkup (scope) atau blok program tertentu. variabel jenis ini sebenarnya merupakan nama lain dari variabel lokal. Dengan kata lain, variabel ini hanya akan dikenal dalam suatu blok program saja, misalnya blok pemilihan, pengulangan, maupun fungsi. Meskipun sama dengan variabel lokal, tapi kita bisa saja secara eksplisit menambahkan kata kunci auto di depan pendeklarasiannya. Jenis variabel ini akan dialokasikan di memori pada saat program mengeksekusi badan blok dan didealokasikan secara otomatis ketika eksekusi blok berakhir.

Perhatikan contoh kode dibawah ini:
 {
     int A;
     auto int B;
     .....
}

Pada potongan kode diatas, variabel A dan B sama-sama merupakan variabel lokal / variabel auto yang hanya dikenal di dalam blok program bersangkutan.

2. Variabel Statis

Variabel statis adalah variabel yang menempati ruang memori kumputer secara permanen, artinya nilai terakhir dari variabel ini akan terus disimpan. Dalam C++, untuk menyatakan variabel statis adalah dengan menggunakan kata kunci static.

Bentuk umum pendeklarasian variabel statis adalah sebagai berikut:
 static  tipe_data  nama_variabel;
Contoh:
 static int ABC;
static char DEF;

3.   Variabel Register

Tidak seperti variabel biasa yang berada di memori, variabel register ini akan disimpan di register CPU. Dengan demikian, untuk mengisikan atau mengubah nilai dari variabel register tentunya tidak memerlukan akses memori sehingga prosesnya juga akan lebih cepat. Dalam C++, variabel register hanya dapat diisi oleh tipe data charint dan pointer saja serta hanya boleh dideklarasikan sebagai variabel lokal ataupun parameter dari sebuah fungsi. Untuk mendeklarasikan variabel register, kita harus menggunakan kata kunci register.

Bentuk umum dari pendeklarasian variabel register adalah sebagai berikut:

register  tipe_data  nama_variabel;

Berikut ini adalah contoh program yang akan menunjukkan cara mendeklarasikan dan mengubah variabel register.

#include <iostream>

using namespace std;

// Membuat fungsi untuk menghitung M pangkat e
int Hitung(register int M, register int e){
     register int temp;
     temp = 1;
     for (;e;e--){
     temp = temp * M;
     }
     return temp;
     }
     // Fungsi Utama
     int main()
    int MD;
   MD = Hitung(4,5); // 4 pangkat 5   cout<<MD<<endl;
   return 0;
   }

4. Variabel Eksternal

Variabel eksternal adalah variabel global yang ada atau sudah dideklarasikan di dalam file lain. variabel jenis ini biasa digunakan apabila program yang kita tulis berjumlah lebih dari satu file. Cara membuat variabel eksternal adalah dengan menyertakan kata kunci extern di depan deklarasi variabel bersangkutan.

Sebagai gambaran, perhatikan dua buah contoh file kode program berikut ini.

File pertama: Variabel Eksternal 1.cpp
 #include <iostream>

using namespace std;

int a;

// Mendeklarasikan prosedur eksternal
extern void TulisNilai();

int main(){
     a = 99;
     TulisNilai();

     return 0;
}

File kedua: Variabel Eksternal 2.cpp
 #include <iostream>

using namespace std;

// Mendeklarasikan variabel eksternal
extern int a;

void TulisNilai(void){
     cout<<"Nilai a : "<<a<<endl;
}

Pada contoh ini, dalam file kedua (Variabel Eksternal 2.cpp) kita mendeklarasikan variabel eksternal a. variabel tersebut sebenarnya bukan variabel baru, melainkan variabel a yang sudah dideklarasikan oleh file pertama (Variabel Eksternal 1.cpp). Selain variabel eksternal, dalam file pertama kita juga akan menggunakan fungsi TulisNilai() yang sebenarnya terdapat di dalam file kedua. Maka dari itu, kita perlu mendeklarasikan fungsi eksternal di dalam file pertama dengan menggunakan kata kunci extern.

Sumber :

https://www.codepolitan.com/control-statement-dalam-c-588708d44caa2
http://www.materidosen.com/2017/03/4-jenis-variabel-dalam-c-lengkap-contoh.html
https://www.duniailkom.com/tutorial-belajar-c-pengertian-variabel-dan-cara-penulisan-variabel-bahasa-c/