PRAKTIKUM
ALGORITMA DAN PEMROGRAMAN I
Oleh
1
DAFTAR ISI
I. Pendahuluan………………………………..……………………………
…………………………………..5
……………………………………8
16
V. Pemilihan………………………………..……………….
……………..18
VI. Pengulangan…………………………..……………….
……………….27
VII. Prosedur…………………………………………..….
………………….38
VIII. Fungsi……………………………………………….
…………………….41
IX. Array………………………………….
………………………………… ..45
2
I. PENDAHULUAN
1.1. ALGORITMA
3
1.3. LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM
TURBO C++
Langkah-langkahnya :
1. Bukalah software Turbo C++, akan terlihat tampilan awal Turbo
C++
sebagai berikut :
4
Setelah kita kompile file yang berisi source code, maka sebagai
hasil kompilasi tersebut kita akan mendapatkan suatu file yang
bisa dijalankan (executable file). Menjalankan program yang kita
buat berarti menjalankan file hasil proses kompilasi tersebut.
5
2.2. FUNGSI MAIN ()
Fungsi ini menjadi awal dan akhir eksekusi program C++. main
adalah nama judul fungsi. Melihat bentuk seperti itu dapat kita ambil
kesimpulan bahwa batang tubuh program utama berada didalam
fungsi main( ). Berarti dalam setiap pembuatan program utama, maka
dapat dipastikan seorang pemrogram menggunakan minimal sebuah
fungsi.
main adalah nama judul fungsi.Sedangkan :
{
cout << “ Hallo Dunia”<<endl;
}
(dimulai dari tabda { hingga tanda} ) disebut tubuh fungsi.Lebih
spesifik lagi,semua yang terletak didaalm tanda {} disebut blok.
Tanda () digunakan untuk mengapit argumen fungsi,yaitu nilai
yang akan dilewaatkan ke fungsi.Tanda { pada fungsi main()
menyatakan awal eksekusi program.Adapun } pada fungsi main
merupakan akhir eksekusi program.
Kata void yang mendahului main() dipakai untuk menyatakan
bahwa fungsi ini tidak memiliki nilai balik
Fungsi yanga akn dieksekusi pertama kali oleh c++
Void main ()
Batas atas program
{
cout<<”Hallo dunia”<<endl;
}
pernyataan
Tubuh Fungsi main ()
Batas akhir program
2.3. KOMENTAR
Komentar merupakan bagian yang penting dalam
program.Kehadirannya sangat membantu pemrogram taupun orang
lain dalm memahami program,karena berupa penjelasan mengenai
program atau bagian-bagian dari program.Komentar tidak pernah
dicompile oleh compiler. Dalam C++ terdapat 2 jenis komentar, yaitu :
6
2.4. TANDA SEMICOLON
Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah
pernyataan. Setiap pernyataan harus diakhiri dengan sebuah tanda
semicolon.
7
Hasil
eksekusinya
Penulisan pada
turbo C++
3.1 VARIABEL
variable = ekspresi ;
8
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama
harus berupa huruf. Bahasa C ++ bersifat case-sensitive
artinya huruf besar dan kecil dianggap berbeda. Jadi antara
nama, Nama dan NaMa dianggap berbeda.
2. Tidak boleh mengandung spasi. Kalaupun diperlukan maka yang
digunakan adalah tanda underscore “_”.
3. Tidak boleh mengandung simbol-simbol khusus.Yang termasuk
simbol khusus yang tidak diperbolehkan antara lain : $, ?, %,
#, !, &, *, (, ), -, +, =dsb.
4. Panjangnya bebas, tetapi hanya 32 karakter pertama yang
terpakai.
3.2 DEKLARASI
Deklarasi diperlukan bila kita akan menggunakan pengenal
(identifier) dalam program. Identifier dapat berupa variable, konstanta
dan fungsi.
1. Deklarasi Variabel
Bentuk umumnya :
Nama_tipe nama_variabel ;
Misalnya :
int x; //x di sini sebagai variabel bertype integer
float luas; //luas adalah variabel bertype float
dsb.
Contoh 1:
Buatlah sebuah program menghitung volume balok dengan panjang =
2,lebar = 2,dan tinggi = 1.type data tinggi,panjang, lebar dan volume
adalah integer.
Maka penulisan pada turbo C++ :
#include <iostream.h>
void main ()
{
Int volume,panjang,lebar,tinggi; //volume, panjang, lebar, dan
tinggi sebagai variable bertype integer
panjang = 2; //nilai dari panjang sudah ditentukan yaitu 2
lebar=2; //nilai dari lebar sudah ditentukan yaitu 2
9
tinggi =1; //nilai dari tinggi sudah diketahui yaitu 1
volume =panjang*lebar*tinggi; //deklarasi rumus volume
cout<<"volume balok adalah "<<volume;
}
Hasil
eksekusinya
Penulisan pada
turbo C++
10
cout<<"masukkan b : ";cin>>b; // nilai b sebagai masukan
cout<<"masukkan c : ";cin>>c; // nilai c sebagai masukan
cout<<"masukkan d : ";cin>>d; // nilai d sebagai masukan
m=((a-b)/(3*a*c))*(1-(b/(c*d))); //deklarasi rumus
cout<<"nilai m adalah"<<m<<endl;
}
Hasil
eksekusinya
Penulisan pada
turbo C++
Contoh 3 :
Buatlah sebuah program untuk menghitung rumus !
− b + 2c 2 + 4ab
x=
2c
a,b,dan c sebgai masukan
Maka penulisan pada c++ pada
Penulisan
#include <iostream.h>turbo C++
Penulisan pada
turbo C++
11
void main ()
{
float a,b,c,x; // type data berupa float
cout<<"masukkan a : ";cin>>a; // a sebagai masukan
cout<<"masukkan b : ";cin>>b; // b sebagai masukan
cout<<"masukkan c : ";cin>>c; // c sebagai masukan
x=(-b+2*c*c+4*a*b)/(2*c); // deklarasi rumus
cout<<"nilai x adalah"<<x<<endl; // mengeluarkan hasil x
}
Hasil
eksekusinya
Penulisan pada
turbo C++
2. Deklarasi Konstanta
b. Menggunakan #define
Contoh : #define PI 3.14152965
12
Keuntungan menggunakan #define apabila dibandingkan dengan
const adalah kecepatan kompilasi, karena sebelum kompilasi
dilaksanakan, kompiler pertama kali mencari symbol #define (oleh
sebab itu mengapa # dikatakan prepocessor directive) dan
mengganti semua Phi dengan nilai 3.14152965.
Contoh 4:
Buat program menghitung volume bola dengan phi sebagai konstanta
dan jari-jari sebagai masukan.
Maka penulisan pada C++
#include <iostream.h>
void main ()
{
const float phi=3.14; // phi menggunakan type data const float
float volume,jari_jari; //volume dan jari-jari menggunakan
typedata float
cout<<"masukkan jari_jari bola";cin>>jari_jari; // jari-jari
sebagai masukan
volume =1.33*phi*jari_jari*jari_jari*jari_jari; //deklarasi rumus
volume
cout<<"volume bola adalah"<<volume; //mengeluarkan hasil
}
13
Hasil
eksekusinya
Penulisan pada
turbo C++
Pada contoh diatas variable phi menggunakan type data float karena
nilainya sudah pasti 3,14.Namun pada penulisan bukan ditulis (3,14)
namun ditulis (3.14) karena turbo c++ tidak dapat membaca tanda
(,),Apabila tertulis tanda (,) tidak akan menyebabkan eror namun hasil
yang didapatkan salah.Untuk jari-jari dan volume menggunakan type
data float karena phi merupakan bilangan decimal maka ada
kemungkinan untuk mengasilakn bilangan decimal pula.
1.Tipe Dasar
14
+2.147.438.647
Float 4 3,4E-38 hingga 6-7
3,4E38
Double 8 1.7E-308 hingga 15-16
1.7E308
Long 10 3.4E-4932 hingga 19
Double 1.1E4932
Tipe data yang berhubungan dengan bilangan bulat adalah char, int ,
long. Sedangkan lainnya berhubungan dengan bilangan pecahan.
Type dasar dapat dibagi menjadi 2:
a. Karakter & string literal
b. Keyword & identifier
Contoh 5:
#include<iostream.h>
#include<string.h>
void main()
{
cout<<strlen("Fakultas Ilmu komputer")<<endl;
cout<<strlen("Teknik informatika")<<endl;
cout<<strlen("unsri")<<endl;
}
Outputnya :
22
18
5
Dalam C++, terdapat beberapa karakter khusus yang disebut escape
sequence character, yaitu
KARAKTER KETERANGAN
15
Penulisan pada
turbo C++
\0 Karakter ber-ASCII nol(karakter null)
\a Karakter bell
\b Karakter backspace
\f Karakter ganti halaman
\n Karakter baris baru(newline)
\r Karakter carriage return(ke awal baris)
\t Karakter tab horizontal
\v Karakter tab vertikal
\\ Karakter \
2. Type Bentukan
Merupakan tipe yang dibentuk dari tipe dasar. Dapat juga
dikatakan tipe yang terstruktur.
a. Type struktur
Struktur terdiri dari data ang disebut field.
Bentuk umumnya:
16
IV. OPERATOR DAN STATEMENT I/O
4.1 OPERATOR
Operator adalah symbol yang biasa dilibatkan dalam program
untuk melakukan sesuatu operasi atau manipulasi.
1. OPERATOR PENUGASAN
Opeartor penugasan dalam bahasa C++ berupa tanda sama
dengan(“=”).
2. OPERATOR ARITMATIKA
cout<<m<<”+”<<n<<”=”<< m + n <<endl;
cout<<m<<”-”<<n<<”=”<< m - n <<endl;
cout<<m<<”*”<<n<<”=”<< m * n <<endl;
cout<<m<<”/”<<n<<”=”<< m / n <<endl;
cout<<m<<”%”<<n<<”=”<< m % n <<endl;
cout<<”-”<<m<<”=”<<-m <<endl;
}
Outputnya:
54 + 5=59
54 - 5=49
54 * 5=270
54 / 5=10
54 % 5=4
-54 = -54
3. OPERATOR HUBUNGAN(PERBANDINGAN)
17
dengan Y
> Lebih besar X>Y Apakah X lebih besar Y
< Lebih kecil X<Y Apakah X lebih kecil Y
>= Lebih besar atau X>= Apakah X lebih dari sama
sama dengan Y dengan Y
<= Lebih kecil atau X<= Apakah X kurang dari sama
sama dengan Y dengan Y
5. OPERATOR BITWISE
6 . OPERATOR LOGIKA
Operator logika digunakan untuk menghubungkan dua atau lebih
ungkapan menjadi sebuah ungkapan berkondisi.
18
V. PEMILIHAN
Suatu struktur dasar Algoritma yang memiliki satu atau lebih
kondisi tertentu dimana sebuah instruksi dilaksanakan jika sebuah
kondisi/persyaratan terpenuhi. Ada beberapa struktur dasar pemilihan:
5.1 PERNYATAAN if
if (kondisi)
pernyataan;
19
Contoh 1:
Buatlah program mencetak “bilangan genap”,jika sebuah bilangan
bulat yang dibaca merupakan bilangan genap!
Hasil
eksekusinya
Penulisan pada
turbo C++
20
Bentuk Umum Dua Kasus:
if (kondisi)
pernyataan1;
else
pernyataan2;
if (kondisi)
{
Pernyataan1;
Pernyataan1a;
Peryataan1b;
}
else
{
Pernyataan 2;
Pernyataan2a;
Pernyataan2b;
}
Contoh 2:
Buat program menentukan kelulusan SPMB melalui nilai SPMB dan
matematika IPA.Dengan ketentuan nilai SPMB >50 dan nilai
matematika IPA > 70 maka apabila memenuhi buat pernyataan “Lulus
di IF Unsri Layo”.Jika tidak buat pernyataan “Anda lulus di UNSRI layo
tapi tahun depan”.
Maka penulisan pada C++ :
#include <iostream.h>
void main()
{ //batas awal program
int nilai; //type data nilai
int mtk; //type data mtk
cout<<".::Program penentuan lulus spmb::.\n\n";
cout<<"Masukkan nilai anda";
cin>>nilai; // masukan nilai SPMB
cout<<"Masukkan nilai matematika ipa anda";
21
cin>>mtk; // masukan nilai matematika IPA
else
{ //batas awal else
cout<<"Anda lulus di IF UNSRI Layo tapi tahun depan"<<endl;
//penyataan jika kondisi tidak terpenuhi
} // batas akhir else
} //batas akhir program
Hasil
eksekusinya
Penulisan pada
turbo C++
Pada contoh diatas terdapat kondisi jika nilai SPMB bernilai lebih besar
dari 60 dan nilai matematika IPA lebih besar dari 70 maka muncul
pernyataan Anda lulus di IF UNSRI layo.jika tidak maka pernyataan
yang keluar adalah Anda lulus di IF UNSRI layo tapi tahun
depan.Pernyataan pertama akan muncul jika kedua kondisi terpenuhi
namun jika salah satu saja kondisi tidak terpenuhi maka pernyataan
kedua yang akan muncul.Kedua kondisi ini dihubungkan oleh operator
“&&” yang menyatakan kedua kondisi harus terpenuhi (lihat operator
logika).Menggunakan tanda “{“ daan “}” untuk membatasi pemilihan.
Pernyataan if didalam if
Pernyataan if yang terletak didalam if sering disebut dengan
nested if atau if bersarang.Salh satu bentuknya :
22
if (kondisi1)
pernyataan1;
else if (kondisi2)
pernyataan2;
else if (kondisi3)
pernyataan3;
else if (kondisiM)
pernyataanM;
else /*Opsional*/
pernyataanN; /*Opsional*/
Contoh 3:
Buat program untuk menentukan nilai dalam huruf dengan ketentukan
mencari nilai akhir
Nilai akhir = (15% *laporan)+(15%*kuis)+(30%*mid)+(40%*uas)
Ketentuannya : A >85 s/d 100
B >70 s/d 85
C >55 s/d 70
D >40 s/d 55
E <40
23
cout<<"nilai akhir anda adalah"<<NA<<endl;
Hasil
eksekusinya
Penulisan pada
turbo C++
Pada contoh diatas teerdapat lima kondisi untuk menentukan nilai dari
hasil nilai SPMB + nilai matematika ipa.Kedua kondisi tersebut harus
terpenuhi untuk mendapatkan sebuah nilai.Cara pencarian nilai,yaitu
24
dieksekusi dari awal.Jika kondisi awal tidak terpenuhi maka kondisi
kedua,jika tidak terpenuhi juga ,maka dilihat kondisi ketiga.Sampai
pada kondisi keempat.Jika kondisi keempat tidak terpenuhi maka
kondisi terakhir yang akan dieksekusi.
25
Contoh 4:
Buatlah program untuk menentukan hari dengan menggunakan case
26
cout<<"Anda Memilih Hari Minggu"<<endl;//pernyataan 7
break;
}
}
}
Hasil
eksekusinya
Penulisan pada
turbo C++
27
VI. PENGULANGAN
Contoh 1:
Buatlah program menampilkan deret bilangan 1 -10 !
Maka penuliasan pada C++:
# include <iostream.h>
void main ()
{
int i;
28
cout <<" "<<i;
}
}
Hasil
eksekusinya
Penulisan pada
turbo C++
Contoh 2:
j = 0; // inisialisasi awal
cout <<"Program Menampilkan Bilangan 1-10"<<endl;
29
j = j + i; // penjumlahan
}
cout <<"\n\n.Jumlahnya ="<<j<<endl;
}
Hasil
eksekusinya
Penulisan pada
turbo C++
Contoh 3:
30
{
cout <<" "<<i<<endl;
}
}
}
Hasil
eksekusinya
Penulisan pada
turbo C++
Contoh 4:
Buatlah program menghitung factorial dengan batas akhir factorial
sebagai masukan
31
cout<<"Faktorialnnya :"<<faktor <<endl;
}
Hasil
eksekusinya
Penulisan pada
turbo C++
Contoh 5:
Buatlah program menghitung pengkat dengan bilangan dan
pemangkatnya sebagai masukan.
#include <iostream.h>
void main()
{
int i,a,n,pangkat;
pangkat =1;
i=1;
32
for (i=1;i<=n;i++)
{
pangkat = pangkat *a;
}
cout <<"\nhasil"<<pangkat;
}
Hasil
eksekusinya
Penulisan pada
turbo C++
Contoh 6:
Buatlah program membuat bintang dengan bentuk persegi
33
{
cout <<"*";
}
cout <<endl;
}
}
Hasil
eksekusinya
Penulisan pada
turbo C++
while (kondisi)
{
pernyataan ;
}
34
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
pertama bernilai salah.
Contoh 7:
Buatlah program untuk menghitung pemangkatan dengan bilangan
dan pemangkat sebagai masukan.dengan menggunakan while
pangkat =1;
i=1; //mula-mula diisi sama dengan satu
while (i<=n)
{
pangkat = pangkat *a;
i++; //menaikkan pencacah sama dengan satu
}
cout <<"\nhasil"<<pangkat;
}
35
Hasil
eksekusinya
Penulisan pada
turbo C++
do
{
pernyatan ;
} while(kondisi);
Contoh 8:
Buatlah program mneghitung pangkat dengan menngunakan do while
#include <iostream.h>
void main()
{
int i,a,n,pangkat;
pangkat =1;
i=1;
do
36
{
pangkat = pangkat *a;
i++;
}
while (i<=n);
cout <<"\nhasil"<<pangkat;
}
Hasil
eksekusinya
Penulisan pada
turbo C++
37
VII. PROSEDUR
Contoh 1:
Buatlah prosedur sederhana memanggil garis
Hasil
eksekusinya
Penulisan pada
turbo C++
38
Pada contoh diatas memengggil prosedur garis yang prosedur garisnya
di buat dibagian bawah sekali.Ketika diperlukan maka prosedur garis
dapat dipanggil.
Contoh 2:
Buatlah program menghitung luas lingkaran dengan menggunakan
prosedur dan ada prosedur input dan prosedur output.
void main()
{
int r;
{
float luas;
const float phi =3.14;
39
Penulisan pada
turbo C++
Hasil
eksekusinya
Contoh 3:
#include<iostream.h>
faktorial (n,fak);
cout<<"Faktorialnya"<<fak<<endl;
}
for( i=1;i<=n;i++)
{
fak = fak *i ;
}
}
40
Penulisan pada
turbo C++
Hasil
eksekusinya
41
VIII. FUNGSI
8.1. FUNGSI
PROTITE FUNGSI
Sebuah fungsi tidak dapat dipanggil kecuali sudah dideklaraikan,
deklarasi fungsi dikenal dengan sebutan prototipe fungsi. Prototipe
fungsi berupa :
1. Nama Fungsi
2. Tipe nilai fungsi
3. Jumlah dan tipe argumen
Dan diakhiri dengan titik koma, sebagaimana pada pendeklarasian
variabel.
Sebagai contoh:
1. long kuadrat (long l) ;
Pada contoh pertama, fungsi kuadrat ( ) mempunyai argument
bertipe long dan nilai balik bertipe long.
2. void garis ( );
Pada contoh kedua, fungsi garis ( ) tidakmemiliki argumen dan
nilai baliknya tidak ada (void).
3. double maks (double x, double y)
42
Pada contoh ketiga, fungsi maks( ) mempunyai dua buah
argumen, dengan masing-masing argumen bertipe double.
PARAMETER
Parameter adalah sarana komunikasi antar fungsi. Pengertian antar
fungsi adalah antara fungsi dengan fungsi lain termasuk antara fungsi
dengan fungsi utama. Dalam pemograman yang melibatkan fungsi,
diusahakan agar fumgsi bersifat independen artinya tidak tergantung
pada fungsi lain. Setiap fungsi hanya mengerjakan satu tugas tertentu.
Antar fungsi saling berkomunikasi menggunakan parameter. Terdapat
dua macam bentuk parameter dalam hubungannya dengan
penggunan fungsi dalam program yaitu :
43
…………..
}
Contoh :
#include <iostream.h>
void main()
44
{
int n;
cout<<"Masukkan bilangan";cin>>n;
cout<<"Faktorialnya "<<faktorial(n);
}
int faktorial(int N)
{
int i, fak;
fak=1;
for(i=1;i<=N;i++)
{
fak=fak*i;
}
return fak;
}
Penulisan pada
turbo C++
Hasil
eksekusinya
45
IX. LARIK (ARRAY)
9.1 LARIK
Perhatikan :
o Tanda kurung [ ] digunakan untuk menunjukkan elemen larik
o Perhitungan elemen larik dimulai dari 0, bukan 1
C++ tidak mengecek larik. Bila anda menyatakan int x[10], ini
artinya 10 elemen yang dimulai dari 0. Karena itu elemen terakhir larik
adalah x[9]. Bila anda salah mereferensikannya dengan x[10], anda
akan mendapatkan harga yang tidak terpakai. Akan lebih buruk lagi
jika anda memberikan harga ke x[10], yang tidak dapat diterima.
46
Empat pernyataan diatas memberikan nilai kepada array ujian.
Tetapi sebelum kita memberikan nilai kepada array, kita harus
mendeklarasikannya terlebih dahulu, yaitu :
int ujian[4];
Perhatikan bahwa nilai 4 yang berada didalam tanda kurung
menujukkan jumlahelemen larik, bukan menunjukkan elemen larik
yang ke-4. Jadi elemen larik ujian dimulai dari angka 0 sampai 3.
Pemrogram juga dapat menginisialisasi larik sekaligus
mendeklarasikannya, sebagai contoh :
Elemen terakhir dari larik diisi dengan karakter ‘\0’. Karakter ini
memberitahu kompiler bahwa akhir dari elemen larik telah dicapai.
Walaupun pemrogram tidak dapat melihat karakter ini secara eksplisit,
namun kompiler mengetahui dan membutuhkannya.
Sekarang kita akan membuat daftar beberapa nama pahlawan di
Indonesia
char pahlawan[3][15] ;
char pahlawan[0][15] = “Soekarno”;
char pahlawan[1][15] = “Diponegoro”;
char pahlawan[2][15] = “Soedirman”;
Larik dapat dikirim dan dikembalikan oleh fungsi. Pada saat larik
dikirim ke dalam fungsi, nilai aktualnya dapat dimanipulasi
47
48