Rabu, 16 November 2016

Percabangan dan Perulangan

Percabangan dan Perulangan 
Akademi Komunitas Negeri Kajen


A. Percabangan dalam C++
Dalam C++ percabangan digunakan untuk memecahkan persoalan dan mengambil keputusan dari beberapa pernyataan. Ada dua jenis percabangan yang bisa kita gunakan dalam pemrograman C++, yaitu sebagai berikut :
1. If
2. Switch
Dalam Percabangan baik menggunakan If maupun Switch, pernyataan (statemen) yang terdapat dalam sebuah block percabangan akan dieksekusi hanya jika kondisi yang didefinisikan terpenuhi (Bernialai Benar), Arinya jika kondisi tidak terpenuhi (bernilai salah) maka pernyataan (statemen)tersebut tidak akan dieksekusi.

1.      If
Struktur If dapat dibagi menjadi:
¤  Struktur If satu kondisi
¤  Struktur if dua kondisi
¤  Struktur if tiga kondisi atau lebih

* Struktur If satu kondisi
Struktur ini merupakan struktur yang paling sederhana karena hanya melibatkan satu buah kondisi yang akan diperiksa
Bentuk umum
//jika hanya terdapat satu statemen, dapat ditulis sebagai berikut
if (kondisi) Statemen;
            atau
if (kondisi)
            Statemen;
//jika terdapat lebih dari satu statemen
if (kondisi) {
            Statemen1;
            Statemen2;
            …
}
* Struktur If dua kondisi
Struktur percabangan jenis ini sedikit lebih komplek jika dibandingkan dengan struktur yang hanya memiliki satu buah kondisi, meskipun sebenarnya konsepnya sangat sederhana, yaitu pada struktur jenis ini terdapat sebuah statemen khusus yang berguna untuk mengatasi kejadian apabila kondisi yang disefinisikan tersebut tidak terpenuhi (bernilai salah)
Bentuk umum
if (kondisi) {
            //Statemen jika kondisi terpenuhi
            Statemen1;
            …
}
else {
            //Statemen jika kondisi tidak terpenuhi
            Statemen2;
            …
}

* Struktur If tiga kondisi
Percabangan jenis ini merupakan perluasan dari struktur percabangan if sebelumnya, yaitu dengan menyisipkan (menambahkan) satu atau lebih kondisi didalamnya
Bentuk umum
if (kondisi1) {
            Statemen1; //merupakan statemen jika kondisi1 benar
}
else if (kondisi2) {
            Statemen2; //merupakan statemen jika kondisi2 benar
}
else if (kondisi3) {
            Statemen3; //merupakan statemen jika kondisi3 benar
}
else {
            StatemenN; //merupakan statemen jika tidak ada kondisi yang benar
}

* If  Bersarang
Percabangan jenis ini merupakan perluasan dari struktur percabangan if sebelumnya, yaitu dengan menyisipkan (menambahkan) satu atau lebih percabangan di sebuah percabangan
Bentuk umum
if (kondisi1) {
            Statemen1; //merupakan statemen jika kondisi1 benar
            if (kondisi1b) {
                        Statemen1b; //merupakan statemen jika kondisi1b benar}
            else {
                        Statemen1c; //merupakan statemen jika kondisi1b tidak benar}}
else if (kondisi2) {
            Statemen2; //merupakan statemen jika kondisi2 benar}
else {
            StatemenN; //merupakan statemen jika tidak ada kondisi yang benar}

2.      Switch
           Selain mengunakan if, c++ juga menawarkan kepada kita untuk dapat melakukan percabangan (pemilihan) menggunakan Switch
Bentuk umum
Switch (ekspresi){
           case nilai_konstan1:
                       Statemen1;
                       break;
           case nilai_konstan2:
                       Statemen2;
                       break;
           case nilai_konstanN:
                       StatemenN;
                       break;
           default:
                       StatemenAlternatif;
}

Penjelasan Bentuk umum
¤  Statemen break digunakan sebagai statemen peloncatan agar keluar dari switch
¤  Statemen default berguna untuk mengeksekusi statemen alternative yaitu jika niali yang kita masukkan ternyata tidak sesuai dengan nilai konstanta yang didefinisikan (dalam If menggunakan statemen “else”)
¤  Tipe data dari ekspresi di slide sebelumnya harus berupa tipe ordinal, seperti bilangan bulat dan karakter, selain tipe tersebut c++ tidak mengijinkan

B. Pengulangan dalam C++
Pengulangan adalah suatu proses yang melakukan statemen-statemen dalam sebuah program secara terus-menerus sampai terdapat kondisi untuk menghentikannya. Struktur pengulangan akan sangat membantu dalam efisiensi program.
Dalam C++ terdapat 3 jenis struktur pengulangan, yaitu :
¤  Struktur For
¤  Struktur While
¤  Struktur Do While

*Struktur For
Struktur pengulangan jenis ini biasanya digunakan untuk melakukan pengulangan yang telah diketahui banyaknya, pada umumnya perulangan for adalah pengulangan yang paling mudah dipahami.
Bentuk Umum dari struktur pengulangan For
//Untuk pengulangan yang sifatnya menaik (increment), pastikan nialai awal < kondisi saat berjalan
For(variabel=niali_awal; kondisi_saat_berjalan; variable++){
            Statemen_yang_akan_diulang;
}
//Untuk pengulangan yang sifatnya menurun (decrement), pastikan nialai awal > kondisi saat berjalan
For(variabel=niali_awal; kondisi_saat_berjalan; variable--){
            Statemen_yang_akan_diulang;
}

Contoh
#include <iostream>
using namespace std;
int main(){
            int i, deret;
            char h;
           
            cout<<"\t\t===== Program Deret Huruf =====\n\n";
            cout<<"Berapa banyak deret huruf yang akan ditampilkan : "; cin>>deret;
           
            for(i=1,h='a';i<=deret;i++,h++){
                        cout<<"\nDeret Huruf No "<<i<<"adalah huruf "<<h;
            }
           
            return 0;
}

*Struktur For Bersarang
Konsep For bersarang sebenarnya sederhana, yaitu dalam sebuah pengulangan terdapat pengulangan yang lainnya
Bentuk Umum dari struktur pengulangan For Bersarang
For(variabel1=niali_awal; kondisi_saat_berjalan; variable1++){
            For(variabel2=niali_awal; kondisi_saat_berjalan; variable2++){
                        For(variabel3=niali_awal; kondisi_saat_berjalan; variable3++){
                                    Statemen_yang_akan_diulang;
                        }
            }
}

* Struktur While
Struktur pengulangan jenis ini adalah pengulangan yang melakukan pemeriksaan kondisi di awal blok struktur (berbeda dengan Do-While). Kita tahu bahwa pengulangan hanya akan dilakukan jika kondisi yang didefinisikan di dalamnya terpenuhi (bernilai benar).
Hal ini berarti jika kondisi yang didefinisikan tidak terpenuhi (bernilai salah) maka statemen-statemen yang terdapat dalam blok pengulangan pun tidak akan pernah dieksekusi oleh program

Bentuk Umum dari struktur pengulangan while
while (kondisi) {
           Statemen_yang_akan_diulang;
}
//contoh while bersarang (konsep sama dengan For Bersarang)
while (kondisi) {
           while (kondisi) {
                        Statemen_yang_akan_diulang;
           }
}

Contoh Program dengan While
int main(){
           int i, deret;
           char h;
          
           cout<<"\t\t===== Program Deret Angka =====\n\n";
           cout<<"Berapa banyak deret Angka yang akan ditampilkan : "; cin>>deret;
          
           i=0;
           while (i<=deret) {
                       cout<<i<<" ";
                       i++; //statemen ini berguna untuk menaikkan nilai i  (i = i + 1)
           }
          
           cout<<"\n\n=== Deret Selesai Ditampilkan ===\n\n";
           return 0;
}

* Struktur Do-While
Berbeda dengan struktur While yang melakukan pemeriksaan kondisi di awal blok perulangan, pada struktur Do-While kondisi justru ditempatkan di bagian akhir, hal ini menyebabkan struktur perulangan ini pasti akan melakukan satu kali proses (eksekusi statemen) walaupun kondisi yang didefinisikan tidak terpenuhi (bernilai salah)
Bentuk Umum dari struktur pengulangan while
do {
           Statemen_yang_akan_diulang;
} while (kondisi)
//contoh Do-While bersarang (konsep sama dengan For Bersarang)
do {
           do {
                       Statemen_yang_akan_diulang;
           } while (kondisi)
} while (kondisi)

Contoh Program dengan Do-While
int main(){
           int i, deret;
           char h;
          
           cout<<"\t\t===== Program Deret Angka =====\n\n";
           cout<<"Berapa banyak deret Angka yang akan ditampilkan : "; cin>>deret;
          
           i=0;
           while (i<=deret) {
                       cout<<i<<" ";
                       i++; //statemen ini berguna untuk menaikkan nilai i  (i = i + 1)
           }
          
           cout<<"\n\n=== Deret Selesai Ditampilkan ===\n\n";
           return 0;
}

Tidak ada komentar:

Posting Komentar