Menggabungkan fungsi perulangan dan percabangan pada suatu program merupakan bentuk?

Mari kita sedikit mengenal apa itu perulangan:

Mungkin anda juga pernah dihukum guru anda untuk menulis sebuah kalimat perjanjian yang intinya tidak akan mengulangi perbuatan salah anda sampai papan tulis penuh.

Saya tidak akan bolos sekolah lagi

Saya tidak akan bolos sekolah lagi

Catatan: Anggaplah bagian titik-titik merupakan tulisan yang sama.

Seperti yang bisa anda lihat diatas, kita diminta untuk menulis kalimat yang sama sebanyak (contoh: 50 kali). Tentunya hal ini menjadi pekerjaan yang melelahkan.

Namun kabar baiknya, kita mengenal fungsi perulangan atau looping.

Dalam bahasa pemrograman kita akan membutuhkan looping untuk mengerjakan sesuatu yang sifatnya berulang. Dalam contoh diatas mencetak tulisan 50 kali.

Dengan perulangan, anda bisa menghemat sekian banyak baris kode yang pada dasarnya cukup diketik satu kali. Untuk itulah program perulangan digunakan.

( Silahkan baca: Algoritma Perulangan )

Perulangan dapat diartikan sebagai berikut:

Perulangan (atau dalam bahasa inggris disebut dengan loop) adalah instruksi program yang bertujuan untuk mengulang beberapa baris perintah.

Fungsi paling sederhana yaitu untuk mempermudah melakukan suatu proses yang berulang-ulang, seperti mencetak angka dari 1 – 100.

Ada 3 cara untuk melakukan perulangan di C++ yaitu: for, while, & do while.

Penulisan dasar format perulangan for dalam C++ adalah sebagai berikut:

for (start; condition; increment) { statement; }

Start adalah kondisi pada saat awal perulangan.

Biasanya kondisi awal ini digunakan untuk membuat dan memberikan nilai kepada variabel yang digunakan untuk mengontrol perulangan.

Misalkan, kita akan membuat variabel i, maka untuk kondisi start ini, kita juga harus memberikan nilai awal untuk variabel i, misalnya dengan 1, maka i=1.

Misalkan kita ingin menghentikan perulangan jika variabel i telah mencapai nilai 10, maka pada bagian condition ini kita membuat perintah i<=10.

Yang berarti selama nilai i kurang atau sama dengan 10, terus lakukan perulangan.

Increment adalah bagian yang digunakan untuk memproses variabel agar bisa memenuhi kondisi akhir perulangan.

Umumnya nilai variable tersebut bertambah (i++) / berkurang (i--) 1 (satu).

Condition adalah kondisi yang harus dipenuhi agar perulangan dijalankan. Selama kondisi ini terpenuhi, maka C++ akan terus melakukan perulangan.

Statement adalah bagian kode program yang akan diproses secara terus-menerus selama proses perulangan berlangsung.

Kita membuat blok program di antara tanda kurung kurawal ({ dan }) sebagai penanda bahwa bagian di dalam kurung kurawal inilah yang akan dikenai proses perulangan.

Contoh looping dengan fungsi for pada program c++:

#include <iostream> using namespace std; void CetakAngka (int i, int j){ for (i = 1; i <= j; i++){ cout << i << '\n'; } } int main () { CetakAngka (1,10); }

Dalam perulangan while, program akan terus melakukan perulangan dengan mengeksekusi pernyataan target selama kondisi tertentu bernilai benar.

Penulisan dasar format perulangan while dalam C++ adalah sebagai berikut:

while(condition){ statement; }

Condition adalah kondisi yang harus dipenuhi agar perulangan berlangsung.

Kondisi ini mirip seperti dalam perulangan for.

Condition ini akan diperiksa pada tiap perulangan, dan hanya jika hasilnya FALSE, maka proses perulangan berhenti. Artinya kita tidak tahu berapa banyaknya perulangan.

Karena, selama condition bernilai TRUE, maka perulangan akan terus dilakukan.

Statement adalah kode program yang akan diulang.

Tanda kurung kurawal diperlukan untuk membatasi blok program yang akan diulang. Jika statement hanya terdiri dari 1 baris, maka tidak diperlukan.

Contoh perulangan dengan fungsi while dalam program c++:

#include <iostream> using namespace std; int main () { int a = 1; while( a < 10 ) { cout << "value of a: " << a << endl; a++; } return 0; }

Perulangan while dan do-while pada dasarnya hampir sama.

do { statement; } while (condition);

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.

Statement adalah kode program yang akan diulang & condition adalah kondisi yang harus dipenuhi agar perulangan berlangsung.

Contoh program looping dengan fungsi do while dalam pemrograman c++:

#include <iostream> using namespace std; int main () { int a = 1; do { cout << "value of a: " << a << endl; a = a + 1; } while ( a < 10 ); return 0; }

Meskipun perulangan atau looping memiliki fungsi yang sama, namun ketiga fungsi tersebut digunakan pada kondisi yang berbeda.

  • While - Perulangan while digunakan untuk kondisi perulangan dimana banyaknya perulangan tidak dapat dipastikan pada saat penulisan program.

  • For - Perulangan for digunakan untuk kondisi perulangan dimana jumlah perulangan telah di tentukan di awal.

  • do-while - Sama seperti perulangan while, dalam perancangan perulangan do-while ini kita harus memahami alur logika program yang dibuat. Banyaknya perulangan di tentukan pada saat program mencapai kondisi FALSE.

Kesalahan dalam alur logika akan membuat C++ tidak pernah berhenti (infinity loop).

Salah satu strukur kontrol dalam bahasa pemrograman c++ yang akan kita bahas adalah konsep percabangan. Idenya, kita akan belajar membuat program pengambil keputusan.

Sebelum itu, mari kita lihat pengertian dari percabangan terlebih dahulu:

Percabangan merupakan pemilihan statemen yang akan dieksekusi dimana pilihan tersebut didasarkan atas kondisi tertentu untuk mengarahkan jalannya program.

(Silahkan baca: Algoritma percabangan)

Dalam kehidupan sehari-hari terkadang kita dihadapkan pada kondisi dimana kita harus memilih suatu tindakan. Sebagai contoh ketika anda ingin menonton film di bioskop.

  • Jika anda memiliki tiket, maka anda boleh masuk untuk menonton film.

Nah, disana ada sebuah kondisi yang harus terpenuhi yaitu memiliki tiket.

Artinya jika anda tidak memiliki tiket (kondisi = FALSE) maka anda tidak diperbolehkan untuk menonton film di bioskop. Kurang lebih itulah contoh nyata konsep percabangan.

Intinya selama kondisi terpenuhi maka program akan dijalankan.

Begitu juga dalam membuat program, kita akan sedikit banyak berurusan dengan pilihan. Disini kita akan mengenal dua fungsi percabangan yaitu if else dan switch case.

Berikut ini merupakan contoh program C++ sederhana menggunakan fungsi if else:

#include <iostream> using namespace std; void pilihan (int x){ if (x==1) { cout << "Anda Memesan Nasi Goreng"; } else { cout << "Anda Memesan Nasi Kucing"; } } int main(){ int pilih; cout << "1. Nasi Goreng" << '\n'; cout << "2. Nasi Kucing" << '\n'; cout << "Masukan Pulihan Anda (1-2): "; cin >> pilih; pilihan (pilih); }

Mari kita bahas satu persatu:

Apabila variabel X bernilai 1 maka program akan mencetak “Anda pesan nasi goreng”, jika tidak (selain angka 1) maka program akan mencetak “anda memesan nasi kucing”.

Nah, didalam program utama saya hanya menyiapkan varibel pilih bertipe integer untuk menyimpan nilai inputan yang akan digunakan pada prosedur pilihan.

Mari kita lihat struktur dari fungsi If-else pada C++.

Secara sederhana, fungsi if dapat ditulis seperti berikut:

if (kondisi) { Statemen1; } else { Statemen2; }

Jadi cara kerjanya seperti ini: Jika kondisi bernilai benar (TRUE) maka statement1 akan dijakanlan, sedangkan jika bernilah salah (FALSE) maka statemen2 yang dieksekusi.

Macam-macam operator yang digunakan.

Operator Relasi - Operator ini digunakan untuk membandingkan 2 buah data untuk mendepatkan kondisi benar (TRUE) atau salah (FALSE). Berikut daftarnya:

OperatorKeterangan
==Sama dengan
!=Tidak sama dengan
<Kurang dari
>Lebih dari
<=Kurang dari atau sama dengan
>=Lebih dari atau sama dengan

Operator Logika - Faktanya, terkadang kita dihadapkan kondisi yang memiliki lebih dari satu syarat. Jika anda mengalami hal yang sama maka gunakan operator berikut:

OperatorKeterangan
&&And (Semua kondisi harus bernilai benar)
||Or (Salah satu harus bernilai benar)
!Not (Kebalikan dari kondisi sebenarnya)

Nested If atau If Bersarang - Seperti yang telah saya singgung diatas, terkadang kita akan dihadapkan pada kondisi yang sedikit lebih rumit dalam menentukan pilihan.

Jika anda paham struktur percabangan if else maka anda hanya perlu menambahkan fungsi if dalam sebuah program if tersebut. contohnya seperti bari kode berikut:

#include <iostream> using namespace std; void Hasil (int x, int y){ if (x==1) { if (y>=17){ cout << "Pria Dewasa"; } else{ cout << "Perjaka"; } } else { if (y>=17){ cout << "Wanita Dewasa"; } else{ cout << "Gadis"; } } } int main(){ int umur, kel; cout << "Jenis Kelamin" << '\n'; cout << "1. Laki-Laki" << '\n'; cout << "2. Perempuan" << '\n'; cout << "Masukan Pilihan Anda (1-2): "; cin >> kel; cout << "Masukan Umur Anda (1-100): "; cin >> umur; Hasil(kel,umur); }

Pada kasus ditas, kita ingin mengetahui bagaimana seseorang dikatakan gadis, perjaka, wanita dewasa, dan pria dewasa menggunakan dua syarat yaitu umur dan jenis kelamin.

Inti dari nested if adalah: Kita memiliki pecabangan didalam percabangan.

Secara pengertian, switch dapat diartikan sebagai berikut:

Switch adalah konsep percabangan yang digunakan untuk menyelesaikan sebuah masalah dengan sejumlah kemungkinan dengan kondisi konstan.

Namun pada dasarnya memiliki fungsi yang sama dengan percabangan if else.

Lalu apa yang membedakan kedua sintaks tersebut dan kapan anda menggunakan fungsi switch atau sebaliknya? Mari kita lihat strukur peercabangan switch case.

Secara sederhana peryataan switch dapat ditulis sebagai berikut:

switch (kondisi) { case constant1: statements-1; break; case constant2: statements-2; break; default: default-statements; }

Mari kita pelajari bagaimana cara kerja program switch.

Peryataan switch mengevaluasi kondisi dan memeriksa apakah sama dengan constant1. Jika ya, maka statements-1 akan dieksekusi hingga kode break;

Jika tidak maka switch akan memeriksa terhadap constant2 dan seterusnya hingga kondisi terpenuhi dan mengeksekusi program sesuai konsisi tersebut.

Namun, jika nilai kondisi tidak sesuai dengan konstanta yang telah ditentukan sebalumnya, maka program akan mengeksekusi peryataan default.

Catatan: Saat menemukan pernyataan break, maka program akan beralih ke akhir keseluruhan pernyataan switch (tanda “}” ) tanpa mengeksekusi baris dibawahnya.

Sedangkan keyword default akan bekerja jika semua kondisi tidak terpenuhi.

Berikut contoh sederhana program percabangan pada C++ menggunakan switch case:

#include <iostream> using namespace std; int pilihan; string text; int main(){ cout << "Daftar bahasa pemrograman:\n"; cout << "1. Java \n2. C++ \n3. PHP\n"; ulangi: cout << "Masukan pilihan anda (1-3): "; cin >> pilihan; switch(pilihan){ case 1: text="Anda memilih Pemrograman Java"; break; case 2: text="Anda memilih Pemrograman C++"; break; case 3: text="Anda memilih Pemrograman PHP"; break; default: goto ulangi; } cout << text; }

Disini saya menggunakan dua variabel, pertama variabel pilihan dengan tipe data integer yang akan kita gunakan sebagai kondisi pada peryataan switch.

Yang kedua variabel text dengan tipe data string yang akan kita gunakan untuk menyimpan tulisan sesuai pilihan kita sebelumnya.

Kemudian saya menggunakan input output seperti biasa, masih bingung silahkan baca:

  • Dasar Input & Output (I/O) pada C++ dengan Fungsi cin dan cout

Masuk ke pokok pembahasan kita kali ini, disini saya akan mengevalusi kondisi (pilihan) dengan konstanta 1-3 menggunakan fungsi switch case.

Namun apabila kondisi tidak terpenuhi maka fungsi default akan dieksekusi yaitu menuju ke indetifier ulangi: dan kita akan memasukan pilihan lagi.

Sebagai contoh: apabila anda memasukan angka 2, maka tulisan yang akan muncul adalah “Anda memilih pemrograman C++”.

Namun jika angka yang anda masukan bukan 1, 2, dan 3 maka program akan menuju identifier ulangi: karena kondisi default diberi fungsi goto ulangi.

Studi Kasus - Sekarang anda sudah mengetahui apa itu switch case dan bagaimana stuktur penulisannya, anda juga telah mengetahui apa fungsi break dan default.

Sebagai studi kasus, disini saya akan memberikan contoh program “NPM (Nomor Pokok Mahasiswa) Generator” menggunakan peryataan switch dalam bahasa c++.

#include <iostream> using namespace std; string tahun; int fakultas,prodi; string idtahun,idfakultas,idprodi,nomor,npm; int main(){ cout << "Masukan tahun: "; cin >> tahun; idtahun = tahun.substr(2,3); cout << "Fakultas:\n 1. Hukum\n 2. Pendidikan\n 3. Ilmu Kesehatan\n 4. Teknik\n"; cout << "Masukan fakultas anda: "; cin >> fakultas; switch (fakultas){ case 1: idfakultas="01"; cout << "Program Studi:\n 1. Ilmu Humum S1\n"; break; case 2: idfakultas="02"; cout << "Program Studi:\n 1. Bimbingan Konseling (S-1)\n 2. Pendidikan Guru PAUD (S-1) 3. Pendidikan Guru SD (S-1)\n"; break; case 3: idfakultas="03"; cout << "Program Studi:\n 1. Ilmu Keperawatan (S-1)\n 2. Keperawatan (D-3)\n 3. Farmasi (D-3)\n 4. Profesi Ners\n"; break; case 4: idfakultas="04"; cout << "Program Studi:\n 1. Teknik Industri (S-1)\n 2. Teknik Informatika (S-1)\n"; break; } cout << "Masukan pilihan anda: "; cin >> prodi; switch (prodi){ case 1: idprodi = "01"; break; case 2: idprodi = "02"; break; case 3: idprodi = "03"; break; case 4: idprodi = "04"; break; } cout << "Masukan Nomor Urut: "; cin >> nomor; npm=idtahun+"."+idfakultas+"."+idprodi+"."+nomor; cout << "NPM: " << npm; }

Dalam program diatas saya sengaja tidak menggunakan fungsi default sehingga bisa saja anda memasukan angka diluar nilai yang tersedia.

Tugas anda adalah memperbaiki program tersebut, sebagai petunjuk silahkan gunakan peryataan switch didalam switch (nested switch case).

Meskipun kedua peryataan tersebut digunakan untuk menyelesaikan program percabangan atau pilihan, namun terdapat perbedaan yang mendasar.

Secara penulisan, peryataan switch lebih rapi dan mudah dipahami dibanding peryataan if else bertingkat terlebih untuk kondisi dengan banyak kemungkinan.

Intinya seperti ini: Peryataan switch biasa digunakan untuk kondisi konstan (contoh: 200, 301), sedangkan if else untuk konsisi dengan logika (contoh: >10, !=0).

Sekian artikel contoh program percabngan c++ dari saya, semoga jelas.


Page 2

Mari kita sedikit mengenal apa itu perulangan: Mungkin anda juga pernah dihukum guru anda untuk menulis sebuah kalimat perjanjian yang intinya tidak akan mengulangi perbuatan salah anda sampai papan tulis penuh. Misalnya menulis: Saya tidak akan bolos sekolah lagi ………………………………………. ………………………………………. ………………………………………. Saya tidak akan bolos sekolah lagi Catatan:  Anggaplah bagian titik-titik merupakan tulisan yang sama. Seperti yang bisa anda lihat diatas, kita diminta untuk menulis kalimat yang sama sebanyak (contoh: 50 kali). Tentunya hal ini menjadi pekerjaan yang melelahkan. Namun kabar baiknya, kita mengenal fungsi perulangan atau looping. Dalam bahasa pemrograman kita akan membutuhkan  looping  untuk mengerjakan sesuatu yang sifatnya berulang. Dalam contoh diatas mencetak tulisan 50 kali. Dengan perulangan, anda bisa menghemat sekian banyak baris kode yang pada dasarnya cukup diketik satu kali. Untuk itulah program perulangan digunakan. ( Silahkan baca:  A