Get me outta here!

Friday, May 20, 2016

Array Dalam C++

A. Inisialisasi Array

Larik atau sering disebut sebagai array adalah sekumpulan elemen dengan tipe yang sama pada memori yang lokasinya berurutan, namun dapat diakses secara terpisah dengan menggunakan index sebagi pengenal penunjuk lokasi memori larik. 

Itu artinya sebagi contoh kita dapat menyimpan 5 buah nilai bertipe int, dengan menggunakan larik, kita tidak perlu mendeklarasikan 5 buah variabel berbeda, tetapi cukup dengan identifier (pengenal) sebuah variabel saja.

Setiap kotak melambangkan sebuah nilai dalam integer dengan nomor index mulai dari 0. Seperti variabel lainnya sebuah array perlu dideklarasikan terlebih dahulu sebelum dapat digunakan. 

type name[element]

Dimana type adalah type data yang berlaku, misalnya int, float. Name merupakan identifier sebagai nama variabel dan element merupakan jumlah larik yang akan dideklarasikan (diapit dengan tanda kurung siku). 

Untuk mendeklarasikan sebuah larik bernama nilai dengan tipe integer, dapat dilakukan dengan perintah seperti berikut ini :

int nilai[5]

Keyika kita pertama kali mendeklarasikan sebuah larik dengan lingkup lokal, maka apabila tidak diberi nilai awal (inisialisasi), maka larik tersebut tidak memiliki nilai default, sehingga nilainya tidak dapat diperkirakan, sampai kita memberikan sebuah nilai kelarik tersebut. Sedangkan apabila tidak diberi nilai awal, maka larik akan otomatis diberi nilai 0.

Pada saat kita mendeklarasikan sebuah larik, kita juga dapat langsung memberikan nilai awal pada larik tersebut. Untuk itu kita dapat menggnakan perintah seperti berikut ini :

int nilai [5] =  {16, 2, 50, 40, 1234}

dengan diapit oleh tanda kurung kurawal dan menggunakan tanda koma untuk memisahkan masing-masing nilai.

B. Jenis-Jenis Array

1. Array 1 Dimensi

Array 1 dimensi, array adlah hal yang paling penting dalam setiap bahasa pemrograman. Menurut definisi, array adalah alokasi memori statis. Ini mengalokasikan memori untuk tipe data yang sama sekali berurutan .

Contoh Programnya sebagai berikut :

//Contoh 1:
#include<iostream>
using namespace std;

int main()
{
            int ujian [6]= {75,65,85,70,90,77};
   for(int i=0;i<6;i++)
   {
            cout<<"Nilai ujian dari index ke "<<i <<" = "<<ujian [i]<<endl;
   }
   
   return 0;
}

Ouput Programnya :

 2. Array 2 Dimensi

Array 2 dimensi sering digambarkan/dianalogi sebagai sebuah matrik. Jika array berdimensi satu hanya terdiri dari 1 baris dan banyak kolom, araay berdimensi dua terdiri dari banyak baris dan banyak kolom yang bertipe sama.


Deklarasi array 2 dimensi :

tipe_data nama_array[jml_baris][jml_kolom]

Keterangan :
a. tipe_data : menyatakan jenis tipe data element array (int, float dan sebagainya)
b. nama_array : menyatakan nama variabel yang dipakai.
c. jml_baris : menunjukan jumlah maksimal baris.
d. jml_kolom : menunjukan jumlah maksimal kolom.

Contoh program array 2 dimensi :

#include<iostream>
using namespace std;

int main()
{
   int matrix[3][4]={{5,10,1,11},{4,7,67,-9},{9,0,45,3}};
   for(int i=0;i<3;i++)
   {
                for(int j=0;j<4;j++)
      {
                cout<<matrix[i][j]<<"  ";
      }
      cout<<endl;
   }
   return 0;
}

Output program nya adalah :


3. Array 3 Dimensi

#include <iostream>
using namespace std;

int main()
{
 cout << "Nama : Agustin DC" << endl;
 cout << "NIM : 8948" << endl << endl;

 int A[2][4] = {1,2,3,4,5,6,7,8};
 int i, j;

 cout << "Aplikasi Matriks Ordo 2X4" << endl;
 for(i = 0; i < 2; i++) {
  for(j = 0; j < 4; j++) {
   cout << "A[" << i << "][" << j << "] = " << A[i][j] << endl;
  }
  cout << endl;
 }


 return 0;
}

Output programnya sebagi berikut:


Referensi :

Buku Pemrograman C++, penulis Tri Basuki Kurniawan dan Misinem, penerbit Ardana Media Yogyakarta



Wednesday, May 18, 2016

Bebrapa Contoh Program Menggunakan Fungsi Nonvoid dan Void

Dibawah ini merupakan beberapa contoh program dengan menggunakan fungsi non void dan void untuk menghitung :
1.      Luas Bujur Sangkar
2.      Keliling Bujur Sangkar
3.      Luas Persegi Panjang
4.      Keliling Persegi Panjang
5.      Luas Lingkaran

6.      Keliling Lingkaran

Langsung saja kita akan membahas tentang coding programnya :

A. Menggunakan Fungsi Non void

//Nama : Agustin Dwi Cahyani
//15.02.8948(D3 MI 01)
//Mengunakan fungsi non void

#include <iostream>

float luasbj(float sisi)
{return (sisi*sisi);}
float kelbuj(float sisi)
{return (4*sisi);}

float luaspj(float pj, float le)
{return (pj*le);}
float kelilingpj(float pj, float le)
{return 2*(pj+le);}

float luasling(float r)
{return (3.14*r*r);}
float keling(float r)
{return (2*3.14*r);}


using namespace std;
int main(){
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++++++";
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++++++";
 cout<<"\nProgram Untuk Menghitung Bangun Datar Bujur Sangkar";
float s;
cout<<"\nMasukan nilai sisi\t\t=";cin>>s;
luasbj(s);
cout<<"\nLuas Bujur Sangkar\t\t="<<luasbj(s);
kelbuj(s);
cout<<"\nKeliling Bujur Sangkar\t\t="<<kelbuj(s);
cout<<endl;
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++++++";
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++++++";

cout<<"\nProgram Untuk Menghitung Bangun Datar Persegi Panjang";

float pp,lb;
cout<<"\nMasukan Panjang Persegi Panjang\t=";cin>>pp;
cout<<"\nMasukan Lebar Persegi Panjang\t=";cin>>lb;
luaspj(lb,pp);
cout<<"\nLuas Persegi Panjang\t\t="<<luaspj(lb,pp);
kelilingpj(lb,pp);
cout<<"\nKeliling Persegi Panjang="<<kelilingpj(lb,pp);
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++++++";
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++++++";

cout<<"\nProgram Untuk Menghitung Bangun Datar Lingkaran";

float jari;
cout<<"\nMasukan Jari-jari\t\t=";cin>>jari;
luasling(jari);
cout<<"\nLuas Lingkaran\t\t\t="<<luasling(jari);
keling(jari);
cout<<"\nKeliling Lingkaran\t\t="<<keling(jari);
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++++++";
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++++++";

return 0;
}

Outputnya sebagai berikut :



















B. Menggunakan Funsi Void
Perhatikan coding program dibawah ini :

//Nama : Agustin Dwi Cahyani
//15.02.8948(D3MI01)

#include <iostream>

void luasbj(float &lb, float sisi)
{ lb =sisi*sisi;}
keliling(float &kb, float sisi)
{kb=4*sisi;}

void luaspj(float &lpj, float pj, float le)
{ lpj =pj*le;}
kelilingpj(float &kpj, float pj, float le)
{kpj=2*(pj+le);}

void luasling(float &luling, float r)
{ luling =3.14*r*r;}
kelilingling(float &keling, float r)
{keling=2*3.14*r;}


using namespace std;
int main(){
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++++++";
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++++++";
 cout<<"\nProgram Untuk Menghitung Bangun Datar Bujur Sangkar";
float s, hsla;
cout<<"\nMasukan nilai sisi\t\t=";cin>>s;
luasbj(hsla,s);
cout<<"\nLuas Bujur Sangkar\t\t="<<hsla;
keliling(hsla,s);
cout<<"\nKeliling Bujur Sangkar\t\t="<<hsla;
cout<<endl;
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++++++";
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++++++";

cout<<"\nProgram Untuk Menghitung Bangun Datar Persegi Panjang";

float pp,lb,hsl;
cout<<"\nMasukan Panjang Persegi Panjang\t=";cin>>pp;
cout<<"\nMasukan Lebar Persegi Panjang\t=";cin>>lb;
luaspj(hsl,lb,pp);
cout<<"\nLuas Persegi Panjang\t\t="<<hsl;
kelilingpj(hsl,lb,pp);
cout<<"\nKeliling Persegi Panjang="<<hsl;
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++++++";
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++++++";

cout<<"\nProgram Untuk Menghitung Bangun Datar Lingkaran";

float jari,hslb;
cout<<"\nMasukan Jari-jari\t\t=";cin>>jari;
luasling(hslb,jari);
cout<<"\nLuas Lingkaran\t\t\t="<<hslb;
kelilingling(hslb,jari);
cout<<"\nKeliling Lingkaran\t\t="<<hslb;
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++++++";
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++++++";

return 0;
}

Output Programnya adalah






Contoh Program Percabangan Bersarang dalam Kehidupan Sehari-hari

Pembahasan percabangan bersarang dalam c++ sebenarnya sudah dijelaskan diartikel sebelumnya. Ini merupakan tambahan beberapa contoh Program percabangan bersarang dalam kehidupan sehari-hari, kita bisa menggunakan percabangan bersarang ada pilihan. 
Dibawah ini merupakan beberapa contoh program dengan menggunakan if bersarang :

1. Program untuk nilai huruf yang diinputkan oleh user dan mencari keterangan kelulusan dari nilai angka yang diinputkan oleh user.

#include <iostream>

using namespace std;
int main(){
   int nilai;
   string index, ket;
   cout << "Masukkan nilai = ";
   cin  >> nilai;
  
   if(nilai >= 60){
      ket = "Selamat anda lulus.";
     
      if(nilai >= 80){
         index = "A";
      } else if(nilai >= 70){
         index = "B";
      } else {
         index = "C";
      }
   }

   else {
      ket = "Maaf, anda belum lulus.";
      if(nilai >= 40){
         index = "D";
      } else {
         index = "E";
      }
   }
   cout << "Status = " << ket << endl;
   cout << "Index Nilai = " << index << endl;

 return 0;
}

Output dari program diatas adalah














Penjelasan dari program diatas adalah
a. include <iostream>
Ini merupakan header dari file tersebut

b. using namespace std;
Jika tidak memakai ini makadisebelum cin dan cout akan diberi std semua

c. int main (){
Ini merupakan fungsi utama dalam sebuah program

d. int nilai;
string index, ket;
Sebelumnya kita deklarasikan terlebih dahulu variabel-variabelnya. variabel nilai dideklarasikan dengan tipe integer dan variabel index dan ket di deklarasikan dengan tipe string.

e.




Kita disuruh menginputkan nilai kita di variabel nilai
f.














Ini merupakan if bersarang, jika kita tadi menginputkan nilai lebih dari sama dengan 60 maka di beri keterangan "Selamat Anda Lulus" dan apabila nilai yang kita inputkan tadi lebih dari sama dengan 80 maka akan diberi nilai huruf A, kalau nilai yang kita inputkan lebih dari sama dengan 70 maka akan mendapat nilai B, dan selain itu mendapat nilai C.
Selain itu akan mendapatkan keterangan "Maaf anda belum lulus" jika nilai lebih besar sama dengan 40 akan mendapat nilai D, dan jika nilai kurang dari 40 maka akan mendapat nilai E.

g.


Dan akan Keterangan nilai akan ditampilakan dalam variabel ket dan Index nilai akan ditampilkan dalam variabel index.

2. Mencari nilai tertinggi dari 3 nilai yang diinputkan oleh user.

# include <iostream>
using namespace std;
int main ()
{
int a, b, c, x;
cout << "Angka Tertinggi";
cout << "\n===============";

cout << "\n \nMasukkan angka pertama:"; cin>> a;
cout << "Masukkan angka kedua:"; cin>> b;
cout << "Masukkan angka ketiga:"; cin>> c;

if (a> b)
{
if (a> c)
{cout << "Angka tertinggi adalah: ";
cout << a;}
else
{cout << "Angka tertinggi adalah: ";
cout << c;}
}
else if (b> c)
{
if (b> a)
{cout << "Angka tertinggi adalah: ";
cout << b;}
else
{cout << "Angka tertinggi adalah: ";
cout << a;}
}
else if (c> a)
{
if (c> b)
{cout << "Angka tertinggi adalah: ";
cout << c;}
else
{cout << "Angka tertinggi adalah:";
cout << b;}
}
else
{cout << "ketiga angka adalah sama.";}
return 0;

}

Output programnya adalah 

















Referensi

Buku Dasar Pemrograman C+, penulis Hanif Al-Fatta, S.Kom, penerbit Andi Yogyakarta.




Tuesday, May 17, 2016

Fungsi dalam C++

Pada bagian ini kita akan mempelajari gaya pemrograman modular dengan menggunakan fungsi. Fungsi adalah sekumpulan operasi yang kita enkaptulasi dan mengembalikan nilai keprogram utama atau calling rutin. Ekapsulai adalah penyembunyian data, informasi, atau detail. Sekali sebuah fungsi ditulis, kita hanya perlu memperhatikan apa yang dilakukan oleh fungsi tersebut., yaitu data apa yang dibutuhkan dan output apa yang dihasilkan. Detail mengenai cara kerja program tidak perlu dipermaslahkan lagi.
A. Konsep Fungsi

Dengan menggunakan fungsi kita dapat memanfaatkan fasilitas yang oleh sebuah bahasa prosedural dengan baik. Program akan lebih mudah dikelola dan lebih modular apabila menggunakan fungsi.

Type name(parameter1, parameter2,.... {statement}

Dimana :
  1. Type adalah tipe data yang ditentukan sebagai tipe data hasil keluaran sebuah fungsi.
  2. Name adalah identifier yang digunakan untuk memanggil sebuah fungsi.
  3. Parameter adalah sejumlah nilai yang diberikan kepada sebuah fungsi dan pemanggilannya sebagai nilai awal proses. Sebuah parameter terdiri dari tipe data diikuti dengan nama variabelnya. Masing-masing variabel dapat dipisah dengan menggunakan koma.
  4. Statement adalah sebuah perintah yang apabila lebih dari satu perintah, maka perlu diapit tanda kurung kurawal.
B. Keuntungan Memakai Fungsi
  1. Memudahkan dalam mengembangkan program. Karena suatu program dapat dibagi menjadi beberapa sub-sub program yang lebih kecil, yang mana dalam hal ini pengembangan bagian program lebih difokuskan pada sub-sub yang memerlukan pengembangan saja. Tidak perlu mencari dalam seluruh bagian program.
  2. Menghemat ukuran program, karena bererapa perintah yang sama dan dijalankan beberapa kali dalam program dapat disajikan satu kali saja dalam suatu fungsi, yang mana kemudian fungsi tersebut dapat dipanggil berulang kali.


C. Jenis Fungsi

Jenis fungsi atau modular dalam C++ ada 2 yaitu :
1. Standar library Function
yaitu fungsi fungsi yang telah disediakan oleh C dalam file-file header atau librarynya. Contoh dalam fungsi ini misalnya: clrscr(),getch() dan masih banyak lagi. Untuk fungsi ini kita harus mendeklarasikan terlebih dahulu library yang akan digunakan yaitu dengan menggunakan prosesor direktif. Misalnya #include<iostream>.

2. Programmer-Defineed Function

Programmer-Defineed fungction adalah fungsi yang dibuat oleh programmer itu sendiri. Fungsi ini memiliki nama tertentu yang unik dalam program, letaknya terpisah dari program utama dan bisa dijadikan satu kedalam suatu library buatan programmer itu sendiri yang kemudian juga di-includkan jika ingin menggunakannya.

Jenis fungsi programmer-Defineed Function juga ada dua yaitu 

a. Fungsi bertipe Void
Fungsi bertipe void juga disebut juga prosedur. Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut. 
  • Ciri ciri fungsi menggunakan tipe void :Tidak ada keyword return.
  • Tidak ada tipe data didalam deklarasi fungsi.
  • Menggunakan keyword void.
Didala fungsi tipe void ini tidak memiliki nilai kembalian fungsi, dan keyword void juga digunakan jika suatu function tidak mengandung parameter apapun.

Contoh pendeklarasian tipe fungsi ini adalah:
void tamplikan_jumlah(int a, int b)
{int jml;
jml=a+b;
cout<<jml;}

Agar lebih jelasnya perhatikan contoh program dibawah ini :













Penjelasan dari programnya, 
Program diatas merupakan program yang digunakan untuk menghitung luas persegi panjang dengan menggunakan fungsi void. Didalam program diatas terdapat fungsi void dengan parameter int &lpj, int l, int p. Itu semua disebut dengan parameter dalam sebuah fungsi. Fungsi void dideklarasikan diatas main atau dibawah using name space. Dan didalam fungsi void parameter untuk rumus luas tersebut ditulis dengan diawali tanda "&".
Kemudian dibawah main terdapat deklarasi untuk memanggil fungsi luas tersebut. Dideklarasikan dengan tipe integer. Didalam fungsi void tidak ada keyword return untuk fungsi luas. 

Agar lebih jelasnya kita amati outputnya









b. Fungsi Bertipe Non void

Dalam fungsi non void disebut juga function, disebut non-void karena mengembalikan nilai yang berasal dari keluaran hasil proses function itu tersebut 

Agar lebi jelasnya amati contoh program dibawah ini :




















Penjelasan dari program diatas :
Program diatas merupakan program untuk menghitung keliling bujur sangkar dengan menggunakan fungsi non void. Jadi tidak ada keyword void dan ada return keliling untuk mengembalikan nilai tersebut. Sebelumnya dideklarasikan terlebih dahulu parameternya.
Kemudian akan dituliskan fungsi non void ( int keliling; keliling = a*s) kemudiakan akan direturn kan keliling. Setelah proses pendeklarasian fungsi dan parameternya. Dibawah main akan dipanggil fungsi non void keliling bujur sangkar tersebut.


Hasil outputnya sebagi berikut :






Referensi :

Buku Pemrograman C++, Penulis Tri Basuki Kurniawan dan Misinem, penerbit Ardana Media, Sleman-Yogyakarta



Contoh Program Perulangan Bersarang

1. Ini merupakan contoh program perulangan bersarang sehingga output yang dihasilkan adalah sebagai berikut.












Coding untuk membuat program seperti diatas adalah













Penjelasan untuk coding diatas adalah

1.      #include <iostream>   : sebagai header file dari program
2.      Using namespace        : Jika tidak memakai itu didepan cin dan cout di tambahkan std::
3.      int main(){                   : fungsi utama dari sebuah program.
4.      int batas, x, t;              : Deklarasi variabel untuk for
5.      Perulangan yang pertama
for(x=batas_segitiga; x>=1; x--)
x=10 dan x>=1
x—berarti setiap perulangan x akan dikurangi 1, jadi 10-1=9 begitu seterusnya sampai perulangan itu berhenti jika kondisi tersebut bernilai False
Jika kondisi itu benar maka akan dilanjutkan keperulangan yang kedua.

Perulangan yang kedua
for(t=x; t>=1; t--){
cout<<t*x<<" ";}
cout<<endl;}

Artinya jika t=x dan n kurang dari sama dengan 1 jika kondisi itu benar maka akan lanjut keproses berikutnya yaitu proses perkalian t*x dan cout diberi spasi.
t—berarti setiap perulangan t akan dikurangi 1, jadi 10-1=9 begitu seterusnya sampai perulangan itu berhenti jika kondisi t bernilai False
Cout<<endl; berarti ganti baris
Jika kondisi itu salah maka akan kembali keperulangan yang pertama.

Agar lebih jelas nya perhatikan contoh prosesnya
6.      x=10
10>=1 ? maka T

t yang pertama bernilai 10
a.      t=10
t>=1
10>=1 ? maka T, Jika true maka akan dilanjutkan keproses dibawahnya yaitu perkalian t dengan x
cout <<t*x<<” “; berarti 10*10=100, terus diberi spasi
t—berarti 10-1 = 9

b. t yang kedua berarti bernilai 9
t=9
t>=1
9>=1 ? maka T, Jika true maka akan dilanjutkan keproses dibawahnya yaitu perkalian t dengan x

cout <<t*x<<” “; berarti 10*9=90, terus diberi spasi
t—berarti 9-1 = 8

c. t yang selanjutnya berarti bernilai 8
t=8
t>=1
8>=1 ? maka T, Jika true maka akan dilanjutkan keproses dibawahnya yaitu perkalian t dengan x

cout <<t*x<<” “; berarti 10*8=80, terus diberi spasi
t—berarti 8-1 = 7

Begitu seterusnya sampai konsi tersebut bernilai false.

2. Program menggunakan perulangan bersarang sehingga output yang dihasilkan sebagai berikut

















Coding Program nya sebagi berikut :

















Penjelasan program :

1.      #include <iostream>   : sebagai header file dari program
2.      Using namespace        : Jika tidak memakai itu didepan cin dan cout di tambahkan std::
3.      int main(){                   : fungsi utama dari sebuah program.
4.      int tinggi_segitiga, i, j : Deklarasi variabel untuk for

for(i=tinggi_segitiga;i>=0;i--)
i=tinggi_segitiga
i=12
i<=12
1<=12 ? Jika T kerjakan ke perulangan yang dibawahnya yaitu
for(j=i;j>=0;j--){
cout<<" ";}

a.      Perulangan bersarang pertama
for(j=i;j>=0;j--)
j=i
j=12
j>=0
12>=0 ? Maka T
cout<<" "; artinya jika benar akan mencetak spasi.
J—artinya j-1 = 12-1 = 11. Untuk nilai j selanjutnya bernilai 11
Dan akan dilakukan perulangan jika kondisinya bernilai T, dan akan  berhenti jika kondisinya bernilai F. Dan akan dilanjutkan ke perulangan bersarang yang kedua.

b.      Perulangan bersarang kedua
for(j=1; j<=tinggi_segitiga-i; j++)
tinggi segitiganya tadi bernilai 12
J=1 artinya j ini diberi nilai awal 1
J<=tinggi_segitiga-i
1<=12-1
1<=11 ? Maka T
Akan dicetak karakter berupa karakter bintang “*” cout<<"*";
J++ berarti 1+1=2
Nilai untuk variabel j selanjutnya adalah 2

J=1
J<=tinggi_segitiga-i
2<=12-
2<=11 ? Maka T
Akan dicetak karakter berupa karakter bintang “*” cout<<"*";
J++ berarti 1+2=3
Nilai untuk variabel j selanjutnya adalah 3

Dan perulangan tersebut akan berhenti kondisi bernilai F yaitu  jika j<=tinggi_segitiga-12 à 12<=11 dan akan dilanjutkan keperulangan yang selanjutnya.

c.       Perulangan bersarang ketiga
for(j=1; j<tinggi_segitiga-i; j++){
cout<<"*";}

j=1 (J DIBERI NILAI AWAL 1)
1<tinggi_segitiga-i
1<12-1
1<11 ? maka T
Akan dicetak karakter berupa karakter bintang “*” cout<<"*";
J++ berarti 1+1=2
Nilai untuk variabel j selanjutnya adalah 2
Dan perulangan tersebut akan berhenti kondisi bernilai F yaitu  jika j<tinggi_segitiga-12 à 11<11
cout<<endl; à berarti ganti baris

1.      for(i=tinggi_segitiga; i>=0; i--){
i=tinggi_segitiga
i=12
i>=0
12>=0 ? Maka T
Jika T kerjakan ke perulangan yang dibawahnya yaitu
for(j=0;j<=tinggi_segitiga-i; j++)

a.      Perulangan bersarang yang pertama
for(j=0;j<=tinggi_segitiga-i; j++)

j=0 (j diberi nilai awal 0)
j<=tinggi_segitiga-0
0<=12-0 ? Maka T
Jika True akan dicetak spasi à cout<<" ";
J++ berarti j+1 à 0+1=1
Nilai j berikutnya adalah 1

J=1
j<=tinggi_segitiga-i
1<=12-1
1<=11? Maka T
Jika True akan dicetak spasi à cout<<" ";
J++ berarti j+1 à 1+1=2
Nilai j berikutnya adalah 2
Begitu seterunya hingga pernyataan tersebut bernilai False, jika False maka akan dilanjutkan keperulangan yang selanjutnya yaitu for(j=1; j<=i; j++)

b.      Perulangan bersarang yang kedua
for(j=1; j<=i; j++)                             
j=1(j diberi nilai awal 1)
j<=i
1<=1 ? Maka T
Jika True akan dicetak bintang “*” à cout<<"*";
J++ berarti j+1 à 1+1=2
Nilai j berikutnya adalah 2
Begitu seterunya hingga kondisi tersebut bernilai False, jika kondisi tersebut bernilai False maka akan dilanjutkan keperulangan berikutnya yaitu for(j=1; j<=i-1; j++)

c.       Perulangan bersarang yang ketiga
for(j=1; j<=i-1; j++)

j=1 (j diberi nilai awal 1)
j<=i-1
1<=12-1
1<=11 ?? Maka T

Jika True akan dicetak bintang “*” à cout<<"*";
J++ berarti j+1 à 1+1=2
Nilai j berikutnya adalah 2
Begitu seterunya hingga kondisi tersebut bernilai False, jika kondisi tersebut bernilai False maka perulangan akan berhenti.

3. Program menggunakan perulangan bersarang sehingga output yang dihasilkan sebagai berikut













Coding Program nya sebagai berikut :




























Penjelasan dari programnya :
1.      #include <iostream>   : sebagai header file dari program
2.      Using namespace        : Jika tidak memakai itu didepan cin dan cout di tambahkan std::
3.      int main(){                   : fungsi utama dari sebuah program.
4.      int m, k                                    : Deklarasi variabel untuk for
5.      for (m=1; m<=5; m++) à untuk setengah segitiga pertama

m=1
m<=5
1<=5 ? Maka T
m++ à berarti setiap perulangan akan ditambah 1 jadi untuk perulangan selanjutnya nilai variable m=1+1=2

Cout<<endl berarti ganti baris
Dan akan dilanjutkan keperulangan for (k=m; k<=5; k++)

a.         for (k=m; k<=5; k++) k=m
k=1
k<=5
1<=5 ? Maka T?
{cout<<"*"<<" ";} à jika True maka akan dicetak bintang dan spasi
K++ à berarti k+1=1+1=1 , nilai untuk variable k selanjutnya adalah 2
Begitu seterusnya hingga kondisi bernilai False, jika kondisi itu bernilai False maka perulangan akan berhenti.

6.      for(m=5; m>=1; m--) à untuk setengah segitiga kedua

m=5
m>=1
5>=1 ? Maka T jika T maka akan dilanjutkan keperulangan for bersarang “for(k=5; k>=m; k--)

m-- à berarti setiap perulangan akan dikurang 1 jadi m=5-1=4, untuk nilai variable m selanjutnya bernilai 4

Cout<<endl berarti ganti baris
Dan akan dilanjutkan keperulangan for(k=5; k>=m; k--)

a.      for(k=5; k>=m; k--)
k=5
k>=5
5>=5 ? Maka T
{cout<<"*"<<" ";} à jika True maka akan dicetak bintang dan spasi

k-- à berarti setiap perulangan akan dikurangi 1 à k-1=5-1=4 , nilai untuk variable k selanjutnya adalah 4
Begitu seterusnya hingga kondisi bernilai False, jika kondisi itu bernilai False maka perulangan akan berhenti.

cout<<endl; à berarti ganti baris setelah perulangan yang tadi berhenti

7.      for (m=1; m<=5; m++) à untuk setengah segitiga pertama yang digabung menjadi segitiga
{cout<<endl;

m=1
m<=5
1<=5 ? Maka T jika T maka akan dilanjutkan keperulangan for bersarang “for (k=1; k<=m; k++)
m++ à berarti setiap perulangan akan ditambah 1 jadi m=1+1=2, untuk nilai variable m selanjutnya bernilai 2

a.      for (k=1; k<=m; k++)
k=1
k<=m
1<=1 ? Maka T
{cout<<"*"<<" ";} à jika True maka akan dicetak bintang dan spasi

k++ à berarti setiap perulangan akan ditambah 1 à k+1=1+1=2 , nilai untuk variable k selanjutnya adalah 2
Begitu seterusnya hingga kondisi bernilai False, jika kondisi itu bernilai False maka perulangan akan berhenti.

8.      for(m=1; m<=5; m++) à untuk setengah segitiga kedua yang digabung menjadi segitiga
{cout<<endl;

m=1
m<=5 ? Maka T jika T maka akan dilanjutkan keperulangan for bersarang “for(k=5; k>=m; k--)
m++ à berarti setiap perulangan akan ditambah 1 jadi m=1+1=2, untuk nilai variable m selanjutnya bernilai 2

a.      for(k=5; k>=m; k--)
k=5
k>=m
5>=1 ? Maka T
{cout<<"*"<<" ";} à jika True maka akan dicetak bintang dan spasi

k-- à berarti setiap perulangan akan dikurangi 1 à k-1=5-1=4 , nilai untuk variable k selanjutnya adalah 4
Begitu seterusnya hingga kondisi bernilai False, jika kondisi itu bernilai False maka perulangan akan berhenti.