Modul Pemrograman Algoritma C++
Modul Pemrograman Algoritma C++
Hari Rabu : ada dua buah hardisk bertipe sama, berkapasitas sama maka
hardisk tersebut dapat di cloning (berarti ada aksi men cloning hardisk)
Hari Kamis: ada dua buah hardisk bertipe sama,berkapasitas tidak sama maka
hardisk tersebut dapat di cloning (berarti ada aksi men cloning hardisk)
Hari Jumat: ada dua buah hardisk yang tidak bertipe sama,berkapasitas tidak
sama maka hardisk tersebut tidak bisa di cloning ( berarti tidak ada aksi men cloning
hardisk )
Hari Sabtu : jika ada dua buah hardisk yang tidak bertipe sama, berkapasitas
sama maka hardisk tersebut tidak bisa di cloning(berarti tidak ada aksi men cloning
hardisk)
C. Contoh PERULANGAN:
Karena mendapatkan suatu pesanan maka kentang yang harus di kupas 500 buah tetapi
kalau belum cukup: kupas 1 kentang lagi
F. Pseudo code :
Pseudo code merupakan suatu tanda yang menyerupai (pseudo) program atau merupakan
penjelasan cara menyelesaikan suatu masalah.
Pseudo code sering digunakan manusia untuk menuliskan algoritma
G. Flowchart :
Flowchart merupakan bentuk gambar atau diagram yang mempunyai satu atau dua arah
aliran secara sekuensial berfungsi untuk mendesain program dan mempresentasikan
program.
H. Lambang-lambang flowchart
I. Pengenalan Bahasa C++
Program C++
K. Fungsi Main()
Program C++ memang tidak akan pernah lepas dari suatu fungsi/function. Hal ini
karena merupakan cirri OOP. Sebuah program C++ minimal memiliki satu fungsi yaitu
main(). Fungsi ini merupakan bagian yang diapit dengan { dan } disebut blok (tubuh
fungsi). Dalam hal ini { merupakan tanda awal blok dan } adalah tanda akhir blok.
Seperti halnya dalam pascal, { dalam pascal identik dengan BEGIN, sedangkan } identik
dengan END. Perintah void bermakna bahwa fungsi main() tidak mengembalikan
nilai/value. Cara penulisan fungsi main() Tidak mutlak seperti diatas. Berikut ini cara
penulisan yang lain:
#include”iostream.h”
int main()
{
cout<<”selamat datang adik2 mahasiswa FIK\n”;
return0;
}
L. Statement
Perintah cout<<”selamat datang adik2 mahasiswa FIK\n”; merupakan salah satu contoh
statement. Perintahn tersebut digunakan untuk mencetak tulisan pda layar. Setiap statement harus
diakhiri dengan ;
Hal yang menjadi catatan penting di sini bahwa program C++ bersifat Case Senstitive, artinya
huruf besar dan kecil dianggap beda.
Tanda \n digunakan untuk pindah baris.
M. File Header
Pada contoh di atas, iostream.h disebut file header. File header tersebut diperlukan agar
perintah cout bisa dijalankan. Apabila file header tersebut dihapus, maka akan terjadi error. Untuk
mengkses file header, digunakan perintah
#include<file header>,atau #include”file header”
Dalam suatu program bisa jadi melibatkan lebih dari satu file header.
Catatan:
Perintah cout<<”selamat datang adik2 mahasiswa FIK\n”; dapat diganti dengan
printf(“selamat datang adik2 mahasiswa FIK\n”);
Akan tetapi untuk bisa menggunakan printf diperlukan file header stdio.h. sebagai contoh
#include”stdio.h”
Void main()
{
Printf(“selamat datang adik2 mahasiswa FIK\n”);
}
N. Menghapus Layar
Dalam C++ perintah clrscr(); digunakan untuk menghapus/membersihkan layar. Perintah
ini akan bisa dijalankan setelah ditambahkan file header conio.h
Contoh:
#include "stdio.h"
#include "conio.h"
clrscr();
void main()
{
printf ("selamat datang adik2 mahasiswa FIK\n");
}
Latihan
A. Ubahlah salah satu huruf menjadi huruf besar pada perintah include compilelah, apa
hasilnya?
B. Lakukanlah hal yang sama untuk conio,iostream,void,main,clrscr,cout,\n
C. Buat kesimpulan berdasarakan analisis kalian pada point A dan B.
TUGAS MANDIRI
1. Dengan menggunakan perintah cout atau printf,buatlah program C++ untuk menampilkan
data-data seorang siswa, tampilan seperti berikut :
NAMA : DIISIKAN NAMA KALIAN SENDIRI
ALAMAT : ALAMAT SENDIRI
TEMPAT LAHIR : TEMPAT LAHIR KALIAN SENDIRI
TANGGAL LAHIR : TANGGAL LAHIR KALIAN SENDIRI
LOCAL : LOCAL KALIAN SENDIRI
2.1 VARIABEL
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu
nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu
tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan. Untuk memperoleh
nilai dari suatu variable digunakan pernyataan penugasan (assignment statement), yang
Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan
sebagai berikut :
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa
huruf. Bahasa C ++ bersifat case-sensitive artinya huruf besar dan kecil dianggap
(underscore). Yang termasuk symbol khusus yang tidak diperbolehkan antara lain
: $, ?, %, #, !, &, *, (, ), -, +, =dsb.
2.2 DEKLARASI
Contoh :
int x; // Deklarasi x bertipe integer
char y, huruf, nim[10]; // Deklarasi variable bertipe char
float nilai; // Deklarasi variable bertipe float
double beta; // Deklarasi variable bertipe double
int array[5][4]; // Deklarasi array bertipe integer
CONTOH :
2.2.2 DEKLARASI KONSTANTA
Menggunakan #define
pertama kali mencari symbol #define (oleh sebab itu mengapa # dikatakan
CONTOH :
2.3 TIPE DATA
1. Tipe Dasar.
2. Tipe Bentukkan.
sizeof(tipe)
float x = 3.345;
int p = int(x);
Outputnya :
18125
Darimana angka 18125 diperoleh ? Jika variable tidak diinisialisai, namun nilai
keluarannya diminta, maka compiler dengan bijak akan menampilkan nilai acak yang
“ B “ Karakter
Panjang String
Contoh :
Perhatikan, bahwa disetiap akhir baris pernyataan diakhiri dengan tanda titik – koma
Dalam C++, selain \n terdapat juga beberapa karakter khusus yang biasa disebut escape
individual yang disebut token, yang memuat nama variable, konstanta, keyword, operator
OUTPUT = 66
Baris pertama berisi suatu prepocessor directive yang bukan bagian sebenarnya dari
Program
Suatu tipe data yang merupakan kumpulan dari tipe data lainnya. Struktur terdiri
dari data yang disebut field. Field – field tersebut digabungkan menjadi satu tujuan untuk
Bentuk umumnya :
Contoh :
Perhatikan bahwa pada akhir dari typedef struct diberi tanda semicolon.
Latihan :
Tabung (Rumus Volume Tabung : phi x jari-jari x jari-jari x tinggi) dan Luas
Tabung (Rumus Luas tabung : 2 x phi x jari-jari x tinggi )dimana jari-jari 7 dan
tinggi 24.
2. Buatlah program untuk mencatat data mahasiswa yang terdiri dari field nama,
1. Pernyataan If-Else
Ket :
Kondisi adalah pernyataan relasi yang akan diuji kebenarannya. Kondisi bisa
berbentuk pernyataan relasi tunggal maupun pernyataan relasi majemuk yang
dihunbungkan dengan operator logika.
Statement adalah satu atau lebih perintah yang akan dikerjakan jika kondisi
bernilai benar.
Kesimpulan:
Pernyataan if mempunyai pengertian, "Jika kondisi bernilai benar, maka statement 1 akan
dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan statement 2".
Contoh program :
# include <iostream.h>
# include <conio.h>
clrscr();
main ()
{
int bil;
cout <<"Masukkan bilangan ! : ";
cin >>bil;
if(bil%2) //Jika bil habis dibagi 2, maka
{
cout <<"Bilangan ganjil";
}
else //Jika bil tidak habis dibagi 2, maka
{
cout <<"Bilangan genap";
}
getch();
}
Kondisi yang diperiksa di dalam perintah if bisa berupa kumpulan operasi yang
dihubungkan dengan satu atau lebih operator logika.
Bentuk umum If-Else Multi Kondisi.
if(kondisi1 &&/|| kondisi2 .......dst)
{
statement;
}
.....dst
Ket:
Kondisi 1, kondisi 2, dst adalah beberapa pernyataan relasi yang akan diuji
kebenarannya. Hasil akhir dari seluruh kondisi inilah yang akan menentukan
apakah blok statement akan dikerjaka atau tidak.
Operator "&&" digunakan untuk menghubungkan dua relasi dengan logika AND.
Hasil akhir akan bernilai benar apabila kedua kondisi benar. Dan bernilai salah
apabila kedua kondisi atau salah satu kondisi bernilai salah.
Operator "||" digunakan untuk menghubungkan dua relasi dengan logika OR.
Hasil akhir akan bernilai benar apabila kedua kondisi benar atau salah satunya
benar. Dan bernilai salah apabila kedua kondisi bernilai salah.
Contoh program :
#include <iostream.h>
main()
{
int N;
cout << "Masukkan nilai = ";
cin >> N;
cout << "Nilai huruf = ";
if (N >= 80)
cout << "A";
if ((N >= 60) && (N < 80))
cout << "B";
if ((N >= 40) && (N < 60))
cout << "C";
if (N < 40)
cout << "D";
}
TUGAS :
1. Menentukan apakah nilai yang diinput adalah bilangan positif atau negative, dan
buat flowchartnya !!
2. Buat program untuk menentukan apakah mahasiswa dapat mengikuti ujian atau
tidak.
Dengan parameter nilai ujian + nilai praktek . (Range nilai 0-200)
Dengan kondisi nilai > 100 layak ikut ujian, nilai < 100 tidak layak ikut ujian
Buat flowchartnya!!
PERTEMUAN 4
STATEMENT CONTROL
A Tujuan
B. Statement FOR
{..}
Contoh:
#include<iostream.h>
void main()
int a;
for(a=1;a<=5;a++)
cout<<"hello world\n";
Perintah diatas akan menampilkan teks hello world sebanyak 5 buah. Perhatikan tanda
a++. Apa maksudnya? Selain berupa angka,pencacah perulangan juga dapat berupa
karakter.
Contoh:
For(huruf=”z”; huruf>=”a”;huruf--)
{
Cout<<”huruf abjad=”<<huruf<<”\n”;
Perintah di atas akan menampilkan teks huruf abjad =….. mulai dari Z sampai dengan A.
perhatikan perintah huruf
For(angka=1;angka<=6; angka+=2)
Perintah di atas akan menampilkan angka 1,3,5. Kok bisa? Perhatikan perintah angka+=2.
Di bawah ini adalah program untuk mencetak bilangan genap yang kurang dari n(n
diperoleh dari input).
#include<iostream.h>
#include<conio.h>
Void main()
Int bil,n;
Cout<<”masukan n=”;
Cin>>;
For(bil=0;bil<n;bil++)
If(bil%2++0)cout<<bil<<””;
}
Latihan
1. Buatlah program C++ untuk membuat tampilan segitiga seperti di bawah ini
menggunakan FOR.
*
**
***
****
*****
2. Buatlah program C++ untuk membuat tampilan belah ketupat seperti di bawah ini
menggunakan FOR
*
***
*****
***
*
Statement FOR dengan while
While(kondisi)
{..}
Contoh:
#include<iostream.h>
void main()
int a;
for (a=1;a<=5;a++)
Dengan
#include <iostream.h>
void main()
int a;
(a=1);
while(a<=5)
cout<<"hello world\n";
a++;
}
Jika anda menggunakan WHILE, pastikan bahwa suatu saat bagian kondisi sampai bernilai
FALSE. Apabila tidak, proses perulangan akan terus berjalan selamanya. Contoh progam di
bawah ini digunakan untuk menjumlahkan sejumlah data angka. Angka yang akan dijumlahkan
diinputkan satu-persatu. Proses pemasukan data angka akan berhenti ketika dimasukkan angka-1.
Setelah itu tampil hasil penjumlahannya..
#include<iostream.h>
void main()
int data,jumlah,cacah;
data=0;
jumlah=0;
cacah=0;
while(data!=-1)
cin>>data;
jumlah+=data;
cacah++;
cout<<"rata-rata:"<<"jumlah/cacah";
While((kondisi1)&&(kondisi2))
{..}
Statement DO…WHILE
Perintah DO …..WHILE hamper sama dengan WHILE sebelumnya. Sintaknya:
Do
{..}
while(kondisi);
Contoh ;
#include<iostream.h>
void main()
int a;
(a=1);
do
cout<<"hello world\n";
while(a==0);
perintah di atas akan muncul satu buah hello world. Bandingkan dengan berikut ini:
#include<iostream.h>
void main()
int a=1;
while(a==0)
{
cout<<”hello world\n”;
a++;
Perintah di atas sama sekali tidak menampilkan hello world, karena kondisinya langsung
FALSE
Tugas
Buatlah program dengan C++ untuk menampilkan semua penyelesaian dari persamaan
x+y+z=20. Dengan x,y,z bilangan bulat >0.
---------------------------------------
Xyz
----------------------------------------
0 0 20
0 1 19
0 2 18
dst
PERTEMUAN KELIMA
BREAK
Berfungsi untuk menghentikan suatu proses perulangan yang sedang terjadi. Biasanya
dikarenakan oleh suatu kondisi
Contoh:
#include <stdio.h>
#include <conio.h>
void main()
printf("%d\n",i);
if(i==10)break;
}
Hasil dan Flowchart
Start
i=1
no
i<1000
output
yes
i=10
Break
no
i=i+1
end
Penjelasannya
Program diatas akan menampilkan angka dari 1 sampai dengan 10 saja walaupn
diperulangan udah di set dari 1 sampai 1000.
Kenapa bisa seperti itu, itu semua disebabkan oleh perintah break yang diberikan pada
saat kondisi i=10.
Angka diatas ditampilkan 1-10 karena perintah untuk mencetak diletakkan sebelum
perintah break
Contoh lain:
#include <stdio.h>
#include <conio.h>
void main(){
if(i==10)break;
printf ("%d\n",i);
}
Start
i=1
no
i<1000
yes
i=10
output Break
i=i+1
end
Penjelasaanya
Program diatas akan menampilkan angka dari 1 sampai dengan 9 saja walaupn
diperulangan udah di set dari 1 sampai 1000.
Kenapa bisa seperti itu, itu semua disebabkan oleh perintah break yang diberikan pada
saat kondisi i=10.
Angka diatas ditampilkan 10 tidak ditampilkan karena perintah untuk mencetak
diletakkan sesudah perintah break
CONTINUE
Contoh:
#include <stdio.h>
#include <conio.h>
void main()
if(i==5) continue;
printf("%d\n",i);
}
Penjelasannya
Program diatas tidak menampilkan angka 5 karena, pada saat angka 5 akan ditampilkan,
perintah continue dijalankan , sehingga perintah mencetak dibagian bawahnya tidak
akan dikerjakan dan langsung melanjutkan ke perulangan berikutnya.
Statemen lompatan atau goto dapat digunakan untuk melompat dari suatu proses ke
bagian proses yang lainnya di dalam program. Bentuk umum dari statemen goto adalah
sebagai berikut:
goto label;
misalnya ni statemennya:
goto berhenti;
akan membawa proses program melompat ke bagian program lain yang ditunjukan oleh
label bernama Berhenti:. Nama label ini harus ditulis(‘:’).
Contoh programnya.
Program ini merupakan program yang diguanakan untuk menyeleksi nilai dari variabel b,
jika nilai b adalah sama dengan nilai nol, maka proses program akan melompat ke bagian
yang ditunjukan oleh label yang bernama tak_berhingga:
#include<stdio.h>
void main()
{
float a,b;
printf("masukan nilai a?");
scanf("%f",&a);
printf("masukan nilai b?");
scanf("%f",&b);
if(b==0)goto tak_berhingga;
printf("%f dibagi dengan %f adalah%f\n",a,b,a/b);
goto selesai;
tak_berhingga:
printf("%f dibagi dengan nol adalah tak berhingga\n",a);
selesai:
;
}
Pada contoh program diatas, perhatikanlah bahwa label yang bernama selesai: diikuti
oleh statemen kosong. Penulisan label ini sebenarnya dapat juga ditulis sebagai berikut:
{
Selesai:
}
Penulisan seperti ini walaupun benar, tetapi sekarang sudah tidak sesuai dengan standar
dari ANSI lagi. Standar ANSI yang baru menyarankan suatu label harus diikuti dengan
suatu statemen. Jika suatu label tidak diikuti oleh suatu statemen, supaya sesuai dengan
standar ANSI, maka dapat diikuti dengan statement kosong, sehingga akan berbentuk:
{
Selesai:
; /*menunjukan statemen kosong*/
}
Arrays
Array adalah himpunan elemen (variable) dengan tipe yang sama dan disimpan secara
berurutan dalam memory yang ditandai dengan memberikan index pada suatu nama
variable. Contohnya, kita dapat menyimpan 5 nilai dengan tipe int tanpa harus
mendeklarasikan 5 identifier variabel yang berbeda. Perhatikan contoh dibawah ini :
Bagian kosong diatas merepresentasikan elemen array, dalam kasus ini adalah nilai
integer. Angka 0 - 4 merupakan index dan selalu dimulai dari 0. Seperti penggunaan
variable pada umumnya, array harus dideklarasikan terlebih dahulu, dengan format sbb
:
Inisialisasi array
Ketika mendeklarasikan array lokal (didalam fungsi), jika tidak diberikan nilai
maka isi dari array tidak akan ditentukan (undetermined) sampai nilai diberikan. Jika
mendeklarasikan array global array (diluar semua fungsi) maka isi dari array akan di-
iniisialisasikan sebagai 0 :
name[index]
Maka dari contoh sebelumnya nama yang digunakan untuk mengakses masing-
masing elemen:
billy[2] = 75;
Dan jika nilai elemen ketiga tadi akan diberikan ke variable a, maka dapat dituliskan:
a = billy[2];
Contoh : Output :
int main ()
{
for ( n=0 ; n<5 ; n++ )
{
result += billy[n];
}
cout << result;
return 0;
}
Contoh lain = program untuk menampilkan data array dari hasil inisialisasi:
#include <iostream.h>
#include <conio.h>
void main()
{
int data[5]={4,1,0,-9,8};
int elemen;
for(elemen=0;elemen<=4;elemen++)
{
cout<<"data ke-"<<elemen<<":"<<data[elemen];
}
}
Array Multidimensi
Array Multidimensi dapat dikatakan sebagai array dari array. Contoh dibawah ini adalah
array berdimensi 2 :
Maka pendeklarasiannya :
Contoh
Penggunaan konstanta defined (#define) untuk mempermudah jika akan melakukan perubahan.