Latihan 1 c++

Soal :
Buat program menghitung suhu dan volume dengan data input Nama, NIM, Jurusan, Alamat, No HP, Email, Suhu (dalam Celcius), Panjang, Lebar, Tinggi, Jari-jari serta Alas, dan output Suhu (dalam satuan Kelvin, Reamur, Fahrenhit) serta Volume (Balok, Bola, Kerucut)
Jawaban :
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
main()
{
char nama[30], nim[9], jur[3], alamat[50], hp[15], email[30];
float c, k, r, f, p, l, t, j, a, vbalok, vbola, vkerucut;
printf(“PROGRAM MENGHITUNG SUHU DAN VOLUME Oleh : \n”);
printf(“\nNama   : “);
gets(nama);
printf(“NIM                    : “);
gets(nim);
printf(“Jurusan: “);
gets(jur);
printf(“Alamat    : “);
gets(alamat);
printf(“No Hp     : “);
gets(hp);
printf(“Email      : “);
gets(email) ;
cout << “\nMasukkan suhu dalam derajat Celcius            = “;
cin >> c;
k = c+273.15;
r = c*0.8;
f = (c*1.8)+32;
cout << “\nMaka luas suhu dalam derajat Kelvin              = ” << k
<< endl;
cout << “Maka luas suhu dalam derajat Reamur              = ” << r
<< endl;
cout << “Maka luas suhu dalam derajat Fahrenheit = ” << f
<< endl;
cout << “\nMasukkan panjang    = “;
cin >> p;
cout << “Masukkan lebar                        = “;
cin >> l;
cout << “Masukkan tinggi           = “;
cin >> t;
cout << “Masukkan jari-jari= “;
cin >> j;
cout << “Masukkan alas             = “;
cin >> a;
vbalok = p*l*t;
cout << “\nMaka volume Balok   = ” << vbalok
<< endl;
vbola = (4/3)*3.14*(j*j*j);
cout << “Maka volume bola                   = ” << vbola
<< endl;
vkerucut = 0.3*3.14*(j*j)*t;
cout << “Maka volume kerucut   = ” << vkerucut
<< endl;
printf(“\n –Terima kasih Anda Telah Menggunakan Program Ini–”);
getch();
}

Pernyataan break c++

Pernyataan break telah dibahas pada pernyataan pengambilan keputusan switch. Pernyataan break ini berfungsi untuk keluar dari struktur switch. Selain itu pernyataan break berfungsi keluar dari perulangan ( for, while dan do-while ). Jika pernyataan break dikerjakan, maka eksekusi akan dilanjutkan ke pernyataan yang terletak sesudah akhir dari badan perulangan ( loop ).
Do While dengan break :
/* ——————————- */
/* Program do – while dengan break */
/* ——————————- */
#include <stdio.h>
#include <conio.h>
main()
{
int bil = 1;
clrscr();
do
{
if (bil >= 6)
break;
cout<<bil;
}
while(bil++);
}
For dengan Break
/* —————————– */
/* Perulangan FOR dengan break; */
/* —————————– */
#include <stdio.h>
#include <conio.h>
main()
{
int bil=1;
clrscr();
while (bil <= 10)
{
if (bil > 5)
break;
cout << bil<<endl;
bil++
}
}

PROSES PERULANGAN c++

Pernyataan for
Perulangan yang pertama adalah for. Bentuk umum pernyataan for sebagai berikut :
for(inisialisasi;syarat pengulangan;pengubah nilai pencacah )
Bila pernyataan didalam for lebih dari satu maka pernyataan-pernyataan tersebut harus diletakan
didalam tanda kurung.
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )
{
pernyataan / perintah;
pernyataan / perintah;
pernyataan / perintah;
}
Kegunaan dari masing-masing argumen for diatas adalah :
  • Inisialisasi : merupakan bagian untuk memberikan nilai awal untuk variabel-variabel tertentu.
  • Syarat Pengulangan : memegang control terhadap pengulangan, karena bagian ini yang akan menentukan suatu perulangan diteruskan atau dihentikan.
  • Pengubah Nilai Pencacah : mengatur kenaikan atau penurunan nilai pencacah.
Sebagai contoh program untuk mencetak bilangan dari 1 hingga 10 secara menaik, sebagai berikut :
/* ————————— */
/* Program for – bilangan naik */
/* ————————— */
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
int a;
clrscr();
for(a = 1; a <= 10; ++a)
cout<<a;
}
Pernyataan nested – for
Pernyataaan Nested for adalah suatu perulangan for didalam perulangan for yang lainnya. Bentuk umum pernyataan Nested for sebagai berikut :
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )
{
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah)
{
pernyataan / perintah;
}
}
Didalam penggunaan nested-for, perulangan yang didalam terlebih dahulu dihitung hingga selesai, kemudian perulangan yang diluar diselesaikan.
/*—————————*/
/* Program for – Nested for */
/* ————————- */
#include<stdio.h>
#include<conio.h>
main()
{
int a, b;
clrscr();
for(a = 1; a <= 5; a++)
{
cout<<endl;
for(b = a; b <= 5; b++)
cout<<a;
}
}
Perulangan Tidak Berhingga
Perulangan tak berhingga merupakan perulangan ( loop ) yang tak pernah berhenti atau mengulang terus, hal ini sering terjadi disebabkan adanya kesalahan penanganan kondisi yang dipakai untuk keluar dari loop.
Sebagai contoh, jika penulisan perintah sebagai berikut :
/* ————————- */
/* Program for Tdk Berhingga */
/* ————————- */
#include<stdio.h>
#include<conio.h>
main()
{
int bil;
clrscr();
for (bil = 60; bil >=10; bil++)
cout<< bil;
}
Jika terjadi hal semacam ini, untuk menghentikan proses yang terus menerus semacam ini denan
menekan tombol CTRL – PAUSE atau CTRL – BREAK.
Pernyataan goto
Pernyataan goto merupakan instruksi untuk mengarahkan eksekusi program kepernyataan yang diawali dengan suatu label. Label merupakan suatu pengenal (identifier) yang diikuti dengan tanda titik dua ( : ). Bentuk pemakaian goto sebagai berikut :
goto label;

Contoh Penggunaan goto, dapat dilihat pada program berikut :
/* —————————— */
/* Program dengan pernyataan goto */
/* —————————— */
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
main()
{
int a, b;
char lagi;
atas:
clrscr();
cout<<”Masukkan Bilangan = “;
cin>>a;
b = a % 2;
cout<<”Nilai a % 2 adalah = “,a, b);
cout<<“Ingin Hitung Lagi [Y/T] : “);
lagi = getche() ;
if (lagi == ‘Y’ || lagi == ‘y’)
goto atas;
getch();
}
Pernyataan While
Bentuk umum perulangan while, dengan lebih dari perintah / pernyataan, sebagai berikut :
while ( syarat )
{
Pernyataan / perintah ;
}

Contoh Program
/* ——————- */
/* Program while.cpp */
/* ——————- */
#include <stdio.h>
#include <conio.h>
main()
{
int bil=1;
clrscr();
while(bil<=10)
{
cout<<bil;
++bil;
}
}
Pernyataan do – while
Pernyataan perulangan do – while merupakan bentuk perulangan yang melaksanakan perulangan terlebih dahulu dan pengujian perulangan dilakukan dibelakang.
Bentuk umum perulangan do – while, sebagai berikut :
do
Pernyataan / perintah ;
while ( syarat )
Bentuk umum perulangan do – while, dengan lebih dari perintah / pernyataan, sebagai berikut :
do
{
Pernyataan / perintah ;
}
while ( syarat )

Contoh Program :
/* —————— */
/* Program do – while */
/* —————— */
#include <stdio.h>
#include <conio.h>
main()
{
int bil=2;
clrscr();
do
{
cout<<bil;
bil+=2;
}
while(bil<=10);
}

Fungsi Untuk Operasi String c++

Kompiler seperti Borland C++ maupun TURBO C++ menyediakan sejumlah fungsi yang berkaitan dengan operasi string, antara lain :
  1. Fungsi Manipulasi String
  2. Fungsi Konversi string
  • Menggabungkan string dengan strcat() :
//*Contoh untuk menunjukkan efek strcat()
#include <iostream.h>
#include <conio.h>
#include <string.h>
Void main()
{
char st[128] = “satu dua”;
Clrscr();
Cout <<“Isi st semula : “<< st<< endl;
Strcat(st, “tiga empat lima”);
Cout <<“Isi st sekarang : “ << st << endl;
}
  • Menggabungkan dua buah string :
//*Contoh untuk menunjukkan penggunaan strcmp()
#include <iostream.h>
#include <conio.h>
#include <string.h>
Void main()
{
char st[128] = “satu dua”;
Char cpp[ ] = “c++”; Clrscr();
Cout <<“Masukkan sembarang string “<< endl;
Cin.getline(st, sizeof (st));
Int hasil = strcmp(st, cpp);
If (hasil==0)
Cout <<st << “==“<<cpp<<endl;
Else if (hasil<0)
Cout <<st << “<“<<cpp<<endl;
Else
Cout <<st << “>“<<cpp<<endl;
}
  • Mengetahui Panjang String dengan strlen()
//* contoh strlen() untuk memperoleh panjang string
#include <iostream.h>
#include <conio.h>
#include <string.h>
void main()
{
char bunga[15] = “mawar”;
char kosong[15] = “ “;
clrscr();
cout << strlen (bunga) << endl;
cout << strlen (kosong) << endl;
}
  • Mengkonversi ke huruf kecil dengan strlwr() & strupr()
//*Contoh untuk mengkonversi string ke huruf kecil atau sebalinya menggunakan strcat()
#include <iostream.h>
#include <conio.h>
#include <string.h>
Void main()
{
char st[128] = “satu dua”;
Clrscr();
Cout <<“Isi st semula : “<< st<< endl;
Strcat(st, “tiga empat lima”);
Cout <<“Isi st sekarang : “ << st << endl;
}
  • Membalik string dengan strrev()
//* contoh pemakaian strrev() untuk membalikstring
#include <iostream.h>
#include <conio.h>
#include <string.h>
void main()
{
char kompiler[ ] = “Borland C++”;
clrscr();
strrev(kompiler);
cout<< kompiler<<endl;
}
  • Contoh menyalin string dengan strcpy()
//* contoh pemakaian strrev() untuk membalikstring
#include <iostream.h>
#include <conio.h>
#include <string.h>
void main()
{
char teks[ ] = “C++ ok”;
char data[25];
clrscr();
strcpy(data, teks);
cout<<”isi data : “<< data<<endl;
}

Konversi String ke Angka atau sebaliknya.
Untuk melakukan konversi dari suatu string ke bilangan, pemrograman dapat menggunakan sejumlah fungsi bawaan.
Fungsi-fungsi yang telah tersedia dapat dilihat pada table berikut :
Fungsi Prototipe Keterangan
atoi stdlib.h Mengkoversi string argument menjadi nilai bertipe INT
atof stdlib.h Mengkoversi string argument menjadi nilai bertipe FLOAT
atol stdlib.h Mengkoversi string argument menjadi nilai bertipe Long Int

Beberapa contoh hasil pengkonversian stringkebilangan :
atof(“+2.1E+02”)        è 210
atof(“+2”)                   è 2
atof(“2ABC”)                         è 2
atof(“ 20.1”)                è 20
atoi(“+2.1E+02”)        è 2
atoi“+2”)                     è 2
atoi(“2ABC”)              è 2
atoi(“ 20.1”)                è 20
atol(“+2.1E+02”)        è 2
atoll(“+2”)                   è 2
atoll(“2ABC”)             è 2
atol(“ 20000000”)       è 20000000
PENYELESAIAN KONDISI

Pernyataan IF
Pernyataan if mempunyai pengertian, “ Jika kondisi bernilai benar, maka perintah akan dikerjakan dan jika tidak memenuhi syarat maka akan diabaikan”.
Bentuk umum dari pernyataan if
if (kondisi)
pernyataan;

  • Pernyataan IF – ELSE
Pernyataan if -else mempunyai pengertian, “ Jika kondisi bernilai benar, maka perintah-1 akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan perintah-2”.
Bentuk umum dari pernyataan if
if (kondisi)
perintah-1;
else
perintah-2;
Jika if-else diikuti dengan pernyataan majemuk maka bentuk penulisannya sebagai berikut :
if (kondisi)
{
perintah-1;

}
else
{
perintah-2;

}

  • Pernyataan NESTED IF
Nested if merupakan pernyataan if berada didalam pernyataan if yang lainnya. Bentuk penulisan pernyataan Nested if adalah :
if(kondisi)
if(kondisi)
…perintah;
else
…perintah;
else
if(kondisi)
…perintah;
else
…perintah;


  • Pernyataan IF – ELSE Mejemuk
Bentuk dari if-else bertingkat sebenarnya serupa dengan nested if, keuntungan penggunanan if-else bertingkat dibanding dengan nested if adalah penggunaan bentuk penulisan yang lebih sederhana
if(kondisi1)
{
..perintah;
..perintah;
}
else if(kondisi2)
{
..perintah;
..perintah;
}


else
{
..perintah;
..perintah;
}

Pernyataan switch – case
Pernyataan switch – case ini memiliki kegunaan sama seperti if – else bertingkat, tetapi penggunaannya untuk memeriksa data yang bertipe karakter atau integer. Bentuk penulisan perintah ini sebagai berikut :
switch (ekspresi integer atau karakter )
{
case konstanta-1 :
… perintah;
… perintah;
break;
case konstanta-2 :
… perintah;
… perintah;
break;
……
……
default :
… perintah;
… perintah;
}

Pernyataan break menunjukan bahwa perintah siap keluar dari switch. Jika pernyataan ini tidak ada, maka program akan diteruskan kecabang – cabang yang lainnya.
Contoh program penyelesaian kondisi :
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
char kode;
clrscr();
cout<<”Masukkan Kode Barang [A..C]
: “;
cin>>kode
switch(kode)
{
case ‘A’ :
case ‘a’ :
cout<<”Alat Olah Raga”;
break;
case ‘B’ :
case ‘b’ :
cout<<”Alat Elelktronik”;
break;
case ‘C’ :
case ‘c’ :
cout<<”Alat Masak”;
break;
default:
cout<<”Anda Salah Memasukan kode”;
break;
}
getch();

Inline Function dan Function Overloading c++

Inline Function
Fungsi inline ( inline function ) digunakan untuk mempercepat proses program, terutama program-program yang menggunakan sering menggunakan fungsi, terutama program-program yang menggunakan pernyataan perulangan proses seperti for, while dan do – while. Inline function dideklarasikan dengan menyisipkan kata kunci inline didepan tipe data.
/* ————————– */
/* Penggunaan inlide function */
/* ————————– */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
inline int hitung(int a, int b)
{
return(a * b);
}
main()
{
int k;
clrscr();
for(k = 1; k < 20; k++)
cout<< k <<”. “<<hitung(k, 2 * k) << endl;
getch();
}
Function Overloading
Function Overloading adalah mendefinisikan beberapa fungsi, sehingga memiliki nama yang sama. Dapat diartikan bahwa fungsi yang overload berarti menyediakan versi lain dari fungsi tersebut. Salah satu kelebihan dari C++ adalah Overloading. Sebagai contoh membentuk fungsi yang sama dengan tipe yang berbeda-beda dan dibuatkan pula nama fungsi yang berbedabeda pula.
/* ——————————- */
/* Penggunaan function overloading */
/* ——————————- */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
int hitung(int b);
long hitung(long c);
float hitung(float d);
void main()
{
clrscr();
cout<<hitung(4)<<endl;
cout<<hitung(2)<<endl;
cout<<hitung(3)<<endl;
cout<<hitung(5)<<endl;
getch();
} int hitung(int b)
{
return(b*b);
} long hitung(long c)
{
return(c*c);
}
double hitung(double d)
{
return(d*d);
}

Pernyataan return() dalam c++

Digunakan untuk mengirimkan nilai atau nilai dari suatu fungsi kepada fungsi yang lain yang memanggilnya. Pernyataan return() diikuti oleh argumen yang berupa nilai yang akan dikirimkan. Contoh pemakaian pernyataan return() dapatdilihat pada contoh berikut ;
/* ————————– */
/* Penggunaan Fungsi return() */
/* ————————– */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
tambah(int c); //prototype fungsi tambah
main()
{
int a, b = 5;
clrscr();
a = tambah(b);
cout<<”Nilai Setelah Pemanggilan Fungsi :”<<a;
getch();
} tambah(int c) //fungsi tambah
{
return(c+=2);
}

Parameter Fungsi c++

Terdapat dua macam para parameter fungsi, yaitu :
  1. Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi.
  2. Parameter Aktual adalah variabel yang dipakai dalam pemanggilan fungsi.
Bentuk penulisan Parameter Formal dan Parameter Aktual.
  1. Pemanggilan dengan nilai ( Call by Value )
Pemanggilan dengan nilai merupakan cara yang dipakai untuk seluruh fungsi buatan yang telah dibahas didepan. Pada pemanggilan dengan nilai, nilai dari parameter aktual akan ditulis keparameter formal. Dengan cara ini nilai parameter aktual tidak bisa berubah, walaupun nilai parameter formal berubah. Contoh Program :
/* ———————— */
/* Penggunaan Call By Value */
/* Program Pertukaran Nilai */
/* ———————— */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
tukar(int x, int y);
main()
{
int a, b;
a = 88; b = 77;
clrscr();
cout<<”Nilai Sebelum Pemanggilan Fungsi”;
cout<<”\na = “<<a<<” b = “<<b;
tukar(a,b);
cout<<”\nNilai Setelah Pemanggilan Fungsi”;
cout<<”\na = “<<a<<” b = “<<b;
getch();
} tukar(int x, int y)
{
int z;
z = x; x = y; y = z;
cout<<”\n\nNilai di dalam Fungsi Tukar()”;
cout<<”\nx = “<<x<<” y = “<<y;
cout<<endl;
}
  1. Pemanggilan dengan Referensi (Call by Reference)
Pemanggilan dengan reference merupakan upaya untuk melewatkan alamat dari suatu variabel kedalam fungsi. Cara ini dapat dipakai untuk mengubah isi suatu variabel diluar fungsi dengan melaksanakan pengubahan dilakukan didalam fungsi. Contoh :
/* Penggunaan Call By Reference */
/* Program Pertukaran Nilai */
/* —————————- */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
tukar(int *x, int *y);
main()
{
int a, b;
a = 88; b = 77;
clrscr();
cout<<”Nilai Sebelum Pemanggilan Fungsi”;
cout<<”\na = “<<a<<” b = “<<b;
tukar(&a,&b);
cout<<endl;
cout<<”\nNilai Setelah Pemanggilan Fungsi”;
cout<<”\na = “<<a<<” b = “<<b;
getch();
}
tukar(int *x, int *y)
{
int z;
z = *x; *x = *y; *y = z;
cout<<endl;
cout<<”\nNilai di Akhir Fungsi Tukar()”;
cout<<”\nx = “<<*x<<” y = “<<*y;
}
Pengiriman Data Ke Fungsi
  1. Pengiriman Data Konstanta Ke Fungsi
Mengirimkan suatu nilai data konstanta ke suatu fungsi yang lain dapat dilakukan dengan cara yang mudah, dapat dilihat dari program berikut :
/* Pengriman data Konstanta */
/* ———————— */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
luas(float sisi);
main()
{
float luas_bs;
clrscr();
luas_bs = luas(4.25);
cout<<”\nLuas Bujur Sangkar = “<<luas_bs;
getch();
} luas(float sisi)
{
return(sisi*sisi);
}
  1. Pengiriman Data Variabel Ke Fungsi
Bentuk pengiriman data Variabel, sama seperti halnya pengiriman suatu nilai data konstanta ke suatu fungsi, hanya saja nilai yang dikirimkan tersebut senantiasa dapat berubah-ubah. Bentuk pengiriman tersebut dapat dilihat dari program berikut:
/* ———————— */
/* Pengriman data Konstanta */
/* ———————— */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
luas(float sisi);
main()
{
float luas_bs, sisi_bs;
clrscr();
cout<<”\nMenghitung Luas Bujur Sangkar”<<endl;
cout<<”\nMasukan Nilai Sisi Bujur Sangkar : “;
cin>>sisi_bs;
luas_bs = luas(sisi_bs);
cout<<”\nLuas Bujur Sangkar = “<<luas_bs<<” Cm”;
getch();
} luas(float sisi)
{
return(sisi*sisi);
}