Contoh soal / kasus

 Contoh Soal C++ mengenai If Else If Jenis Kelamin

Notasi Algoritma :

//Judul : Hallo dan Jenis Kelamin //Programmer : Dwi Ramdhona //Tanggal : 29 Desember 2022

//Kamus     Nama <- string     Jeniskelamin <- character

//Deskripsi     Masukan nama <- ?     Pilih jenis kelamin <- ?

    Output Nama <nama>, jenis kelamin <p/l>

Code :

                                    

//judul : nama dan jenis kelamin

//programer : Dwi Ramdhona

//tanggal : 29 Desember 2022

#include <iostream>

using namespace std;

//kamus

 string nama;

 char jeniskelamin;

//deskripsi

main ()

{

 cout << "Masukkan nama : "; getline (cin,nama);

 cout << "Pilih jenis kelamin (P/L) : "; cin >> jeniskelamin;

 cout << "===================================" <<endl;

 cout << "Halo " << nama << " , jenis kelamin " << jeniskelamin <<endl;

}









Array

 Array

Pengertian Array Dalam C++


Array merupakan tipe data terstruktur yang berguna untuk menyimpan sejumlah data yang bertipe sama. Bagian yang menyusun array disebut elemen array(isi), yang masing-masing elemen dapat diakses tersendiri melalui indeks array.

  • Antara satu Variabel dengan variabel lain di dalam array dibedakan berdasarkan Subscript
  • Sebuah subscript berupa bilangan di dalam Kurung siku […]
  • Melalui subscript inilah masing-masing elemen array dapat diakses.

Sebagai contoh, misalkan terdapat array A yang memiliki 10 buah elemen nilai yang bertipe integer, maka kita dapat mereprentasikannya dengan gambar berikut.



 

Perbedaan Array dengan Variabel Biasa

 

Perbedaan Array dengan Variabel Biasa

 

Deklarasi variabel array :

Bentuk umum dalam mendeklarasikan suatu variabel array adalah sebagai berikut : int nilai[6];
Untuk mendeklarasikan suatu variabel array, komponen yang dibutuhkan adalah :

  • Tipe data elemen array
  • Nama array
  • Jumlah elemen array

 

Terdapat dua cara umum dalam mendeklarasikan variabel array :

  1. Mendeklarasikan variabel array, tanpa memasukkan nilai ke dalam variabel tersebut:
    int nomor [6] ;
  2. Mendeklarasikan variabel array, dengan memasukkan nilanya sekaligus ke dalam variabel tersebut:
    int nomor [6] = { 10, 14, 28, 20, 23, 9 } ;

Macam – macam array dapat dibedakan menjadi :

1. Array berdimensi satu

Yaitu data-data akan disimpan dalam satu baris array, sehingga hanya dibutuhkan satu pernomoran indeks.
Misalkan kita ingin membuat program untuk mencari nilai rata-rata dari 5 buah data nilai yang diinputkan oleh user. Tanpa menggunakan array, maka programnya adalah sebagai berikut :

void main() {
float nilai1, nilai2, nilai3, nilai4, nilai5;
float jumlah, rata2;
cout<<“Program Menghitung Nilai Rata-rata”<<endl;
cout<<“Masukkan nilai ke 1 : “;
cin>>nilai1;
cout<<“Masukkan nilai ke 2 : “;
cin>>nilai2;
cout<<“Masukkan nilai ke 3 : “;
cin>>nilai3;
cout<<“Masukkan nilai ke 4 : “;
cin>>nilai4;
cout<<“Masukkan nilai ke 5 : “;
cin>>nilai5;
jumlah = nilai1 + nilai2 + nilai3 + nilai4 + nilai5;
rata2 = jumlah / 5;
cout<<“Nilai rata-rata adalah “<<rata2<<endl;
getch();
}

Pada program di ATAS kita memerlukan 5 buah variabel yang berbeda-beda untuk menyimpan 5 buah nilai. Bisa dibayangkan kesulitan yang dihadapi jika kita harus memproses data yang lebih banyak.
Jadi Untuk lebih mudahnya kita dapat menggunakan array, seperti pada program berikut :

void main()
{
float nilai[5];
float jumlah, rata2;
cout<<“Program Menghitung Nilai Rata-rata”<<endl;
for(int i=0; i<5; i++)
{
cout<<“Masukkan nilai ke “<<(i+1)<<” : “;
cin>>nilai[i];
}
jumlah = 0;
for(int i=0; i<5; i++)
{
jumlah = jumlah + nilai[i];
}
rata2 = jumlah / 5;
cout<<“Nilai rata-rata adalah “<<rata2<<endl;
getch();
}

 

BACA : Tpe Data dalam C++

 

2. Array Berdimensi Dua


Array dua dimensi sering digambarkan sebagai sebuah matriks
Array berdimensi dua memberikan kita kesempatan untuk menyimpan data baik dalam bentuk baris maupun dalam bentuk kolom. Oleh karena itu dibutuhkan dua buah nilai indeks.
Bentuk umum dalam mendeklarasikan array berdimensi dua adalah sebagai berikut :
tipe data namaVariabel [jumlah_baris] [jumlah_kolom]

Contoh Array Dimensi dua : 

 

Bentuk tabel diatas dapat dituangkan dalam bentuk array berdimensi dua dengan pendefinisian sebagai berikut :

Pada pendefinisian diatas :
3 menyatakan jumlah baris (mewakili jurusan)
4 menyatakan jumlah kolom (mewakili tahun kelulusan)

Contoh pengaksesan :
data_lulus[1][2] = 5;
Artinya, memberikan nilai 5 ke baris 1 kolom 2 (baris dan kolom dimulai dari 0).
cout<<data_lulus[1][2];
Artinya, menampilkan elemen data_lulus dengan subscript pertama (baris) berupa 1 dan subscript kedua (kolom) berupa 2.

 

Contoh Array Berdimensi dua

#include <iostream.h>
#include <conio.h>
int main()
{
int Nilai[4][3];
int pilih, i;
// memasukkan data ke dalam array berdimensi dua
Nilai[0][0] = 5; // nilai Nobita minggu ke 1
Nilai[0][1] = 3; // nilai Nobita minggu ke 2
Nilai[0][2] = 2; // nilai Nobita minggu ke 3
Nilai[1][0] = 72; // nilai Suneo minggu ke 1
Nilai[1][1] = 88; // nilai Suneo minggu ke 2
Nilai[1][2] = 60; // nilai Suneo minggu ke 3
Nilai[2][0] = 90; // nilai Shizuka minggu ke 1
Nilai[2][1] = 100; // nilai Shizuka minggu ke 2
Nilai[2][2] = 85; // nilai Shizuka minggu ke 3
Nilai[3][0] = 55; // nilai Giant minggu ke 1
Nilai[3][1] = 76; // nilai Giant minggu ke 2
Nilai[3][2] = 46; // nilai Giant minggu ke 3
// menampilkan nilai
while (1)
{
cout << “(0 = Nobita, 1 = Suneo, 2 = Shizuka, 3 = Giant)\n”;
cout << “Nama Siswa (masukkan kode angka) : “; cin >> pilih;
if ((pilih == 0) || (pilih == 1) || (pilih == 2) || (pilih == 3))
break; //keluar dari loop-while
}
cout << “\nNama Siswa : “;
if (pilih == 0) cout << “Nobita\n”;
if (pilih == 1) cout << “Suneo\n”;
if (pilih == 2) cout << “Shizuka\n”;
if (pilih == 3) cout << “Giant\n”;
for (i = 0; i < 3 ; i++)
{
cout << “Minggu ” << i+1 << ” : ” << Nilai[pilih][i] << “\n”;
}
getch();
return 0;
}

Output Data
(0 = Nobita, 1 = Suneo, 2 = Shizuka, 3 = Giant)
Nama Siswa (masukkan kode angka) : 2

Nama Siswa : Shizuka
Minggu 1 : 90
Minggu 2 : 100
Minggu 3 : 85

 

Contoh Array Operasi Matriks
Penjumlahan Matriks

  • Untuk menjumlahkan kedua matriks, dibutuhkan matriks yang memiliki ordo yang sama. Ordo adalah ukuran baris dan kolom. Apabila kita memiliki suatu matriks berukuran  2×3, maka kita memerlukan matriks lain yang berukuran 2×3 juga untuk dapat dijumlahkan
  • Proses yang terjadi adalah setiap elemen pada matriks pertama dijumlahkan dengan elemen pada matriks kedua sesuai dengan alamat baris dan kolomnya.

 

#include <iostream.h>
#include <conio.h>

int main()
{
int matrikA[3][4] = {7,6,9,3,5,7,4,2,7,9,2,2};
int matrikB[3][4] = {{3,6,8,6},{7,3,9,1},{8,5,9,4}};
int matrikC[3][4];
int i, j;
//penjumlahan matriks
for (i=0; i<3; i++)
{
for (j=0; j<4; j++)
{
matrikC[i][j] = matrikA[i][j] + matrikB[i][j];
}
}
//menampilkan data masing-masing matriks
cout << “\nData Matriks A : \n”;
cout << “================ \n”;
for (i=0; i<3; i++)
{
for (j=0; j<4; j++)
cout << matrikA[i][j] << ” “;
cout << “\n”;
}
cout << “\nData Matriks B : \n”;
cout << “================ \n”;
for (i=0; i<3; i++)
{
for (j=0; j<4; j++)
cout << matrikB[i][j] << ” “;
cout << “\n”;
}
cout << “\nData Matriks C = Matriks A + Matriks B : \n”;
cout << “======================================== \n”;
for (i=0; i<3; i++)
{
for (j=0; j<4; j++)
cout << matrikC[i][j] << ” “;
cout << “\n”;
}
getch();
return 0;
}

Otput Data

Contoh Array Memperoleh Bilangan Terbesar

Pada program ini, data akan dimasukkan ke dalam array, kemudian masing-masing data diperiksa hingga pada akhirnya didapatkan nilai terbesar.

#include <iostream.h>
#include <conio.h>
int main()
{
int data[10] = {3,23,10,44,87,8,29,37,26,21};
int max, i;
// menampilkan data pada array
cout << “Data pada array : \n”;
for (i=0; i<10; i++)
{
cout << data[i] << “\n”;
}
// memperoleh bilangan terbesar
max = data[0];
for (i=1; i<10; i++)
{
if (data[i] > max)
max = data[i];
}
cout << “\nBilangan terbesar yang diperoleh adalah : ” << max;
getch();
return 0;
}

 

Output Data

 

Mencari Suatu Data Pada Array

Prinsip utama dalam program ini adalah mengecek satu per satu data yang ada, untuk disesuaikan dengan nilai yang dimasukkan oleh user. Apabila ditemukan nilai yang sama, maka program akan berakhir dengan menampilkan kesimpulan dari pencarian tadi

Kelebihan Array :

  • Merupakan struktur penyimpanan data yang paling mudah.
  • Tipe data yang mampu menampung lebih dari satu data.
  • Memori ekonomis, bisa semua elemen terisi.
  • Waktu akses sama setiap elemen.
  • Dapat diakses secara random

Kekurangan Array :

  • Boros memory jika banyak elemen yang tidak digunakan.
  • Merupakan struktur penyimpanan data yang statis.
  • Kebanyakan bahasa pemrograman mengimplementasikan array statis yang sulit diubah ukurannya di pada waktu eksekusi. Bila penambahan dan pengurangan terjadi terus-menerus, maka representasi statis

Loop

Looping – Perulangan C++

adalah suatu pekerjaan yang dilakukan secara berulang-ulang sampai kondisi tertentu terpenuhi, juga Digunakan untuk menghasilkan perulangan sejumlah N kali yang dispesifikasikan.

Macam perulangan :

  • WHILE  // sementara
  • DO-WHILE
  • FOR

Pernyataan while

  • Pernyataan while merupakan salah satu pernyataan yang berguna untuk memproses suatu pernyataan atau
  • beberapa pernyataan beberapa kali. Bentuk pernyataan adalah sebagai berikut:

while (ungkapan)


pernyataan;

  • Bagian pernyataan yang mengikuti while akan dieksekusi selama ungkapan pada while bernilai benar (tidak sama dengan nol).
  • Perlu diketahui, pengujian terhadap ungkapan pada while dilakukan sebelum bagian pernyataan.
  • Oleh karena itu ada kemungkinan bagian pernyataan pada while tidak dijalankan sama sekali, yaitu kalau kondisi yang pertama kali bernilai salah.

Contoh Sederhana Flowchart Perulangan While :

  • Kontrol perulangan bisa diletakan sebelum atau sesudah pernyataan
  • Selama Kondisi bernilai benar, maka perulangan akan terus dilaksanakan
    Dan Pernyataan hanya dikerjakan ketika kondisi bernilai benar

 

Contoh sederhana Perulangan While :

 

#include <iostream.h>

#include <conio.h>

void main()

{

   clrscr();

   int i;    //sebagai variabel pencacah

   i = 0;   //mula-mula diisi nilai 0

   while (i < 10) // sementara

   {

                cout<<“Mengulang 10 Kali”<<endl;

               i++;        //menaikkan pencacah sebesar 1

   }

   getch();

}

Hasilnya akan Menulang Kata Yang ada didalam Cout<<“Mengulang 10 Kali“<<endl; sebanyak 10 kali

Pernyataan Do While :

  • Bagian pernyataan1 hingga pernyataanN dijalankan secara berulang sampai ungkapan bernilai salah (sama dengan nol).
  • Namun berbeda dengan while, pengujian dilakukan di belakang (setelah) bagian pernyataan.
  • Oleh karena itu, bagian pernyataan pada do-while minimal akan dijalankan sekali

Contoh Sederhana Flowchart Perulangan Do While

 

Contoh sederhana Perulangan Do While

 

#include <iostream.h>

#include <conio.h>
void main()

{   

clrscr();   

int i; //sebagai variabel pencacah   

i = 0; //mula-mula diisi nilai 0   

do   {    cout<<“C++”<<endl;     

i++; //menaikkan pencacah sebesar 1 

 }   

while (i < 10);   getch();}

getch ();

}

 

Pernyatan For :

Pernyataan for juga berguna untuk mengulang pengeksekusian terhadap satu atau sejumlah pernyatan.
Bentuknya adalah sebagai berikut :

for (ungkapan1; ungkapan2; ungkapan3;)

pernyataan;

 

FlowChart Prulangan for

 

 

 

Pernyatan for

 

Contoh Sederhana perulangan For :

 

#include <iostream.h>
#include <conio.h>

void main()

{
clrscr();
int i,n;
cout<<“Masukkan batas : “;
cin>>n;
for(i=1; i<=n; i++)
{
cout<<i<<” “;
}
getch();

}

Nested For (For Bertingkat)

 

Contoh sederhana Pernyataan Nested For :

#include <iostream>
#include <conio.h>

void main()
{
int a,b;
for (a = 1; a<=5; a++)
{
for (b = 1; b <= a; b++)
{
cout<<b;
}
cout<<endl;
}
getch();
}

Contoh Flowchart nested-for atau for bertingkat

Pernyatan break

 

Pernyataan break telah diperkenalkan pada pernyataan switch. Kegunaannya yaitu untuk keluar dari switch.
Selain itu, pernyataan break juga dapat digunakan pada pernyataan for, while, do-while.
Kegunaanya yaitu untuk memaksa keluar dari pernyataan-pernyataan tersebut.

 

Contoh sederhana Break :

#include <stdio.h>

main()
{
int bil = 1;
while (bil<=10)
{
if (bil>5)
break;
printf(“%i”,bil);
bil++;
}
}

—————–

Pada program di depan, tanpa kehadiran :
if (bil>5)
break;
Maka program akan menampilkan angka 1 hingga 10

 

Pernyataan continue :

 

Kegunaan pernyataan continue merupakan kebalikan dari break.
Pernyataan continue dipakai untuk mengarahkan eksekusi ke putaran / iterasi selanjutnya pada pernyataan pengulangan.

 

Contoh sederhana pernyataan Continue :

 

#include <stdio.h>

main()
{
int bil;
for (bil = 1; bil <= 10; bil++)
{
printf(“%i”,bil);
printf(” “);
continue;
printf(“Tulisan ini tidak muncul“);
}
}

 

Demikianlah Ulasan singkat mengenai Looping – Perulangan C++