Anda di halaman 1dari 40

ALGORITMA DAN PEMROGRAMAN

MODUL PRAKTIKUM

MATA KULIAH

ALGORITMA DAN
PEMROGRAMAN

Dosen Pengampu :
Muh. Nadzirin Anshari Nur, S.Kom,.MT

Digunakan dalam lingkungan sendiri

2
ALGORITMA DAN PEMROGRAMAN

MODUL 1
PENGENALAN PROGRAM C++
DAN
PERNYATAAN MASUKAN-KELUARAN

A. MAKSUD, TUJUAN, ALAT DAN BAHAN


1. MAKSUD
Mengenal cara menggunakan bahasa pemrograman C++ dengan menggunakan C++
Builder dan mengenala pernyataan masukan dan keluaran dalam C++. .
2. TUJUAN
Agar mahasiswa dapat :
 mengoperasikan C++ Builder (memakai console)
 menggunakan pernyataan masukan dan keluaran
 membuat algoritma untuk memecahkan permasalahan tertentu yang harus
diselesaikan menggunakan pernyataan masukan dan keluaran
 membuat program lengkap dengan menggunakan pernyataan masukan – keluaran.

3. ALAT DAN BAHAN


1. Komputer / Laptop ( Minimal Dual Core , Memory 1 GB )
2. Sistem Operasi Windows / Linux
3. Software C++

B. TEORI
1. PENGANTAR C++
Bahasa C pertama kali diciptakan pada tahun 1972 oleh Brian W. Kernighan dan
Dennis M. Ritchie. Perkembangan bahasa C adalah C++ yang diciptakan tahun Bjarne
Stroustrup sekitar tahun 1983. Beberapa yang mengeluarkan bahasa C++ adalah Microsoft
dan Borland. Dalam pembuatan modul praktikum ini yang digunakan sebagai acuan adalah
Borland C++ versi 5.
Program paling sederhana yang dapat dijalankan C++ adalah :
void main()
{
}

3
ALGORITMA DAN PEMROGRAMAN

Program tersebut tidak menghasilkan apapun saat dijalankan. main( ) adalah program
utama yang dibatasi oleh tanda { dan }. Program C++ dapat ditulis dalam editor C++.
Langkah-langkah untuk memulai C++ Builder adalah sebagai berikut :
1. buka program dari icon C++Builder5, maka akan tampil :

2. Klik menu File kemudian pilih New, akan muncul tampilan sebagai berikut :

4
ALGORITMA DAN PEMROGRAMAN

3. Pilih icon Console Wizard, klik OK akan muncul tampilan :

4. Setelah langkah 3 selesai dikerjakan maka akan muncul tampilan yang siap digunakan
untuk menuliskan program

5. Hapus isi editor berikut dan gantikan dengan :


#pragma argsused #pragma argsused
GANTI
int main(int argc, char* argv[]) DENGAN void main( )
{ {
return 0;
} }

6. Editor siap digunakan untuk menuliskan program


7. Untuk menjalankan perintah tekan F9 atau pilih menu bar Run dan pilih Run.
8. Untuk menyimpan program sorot menu bar File dan pilih save as untuk menyimpan
unit dan save as project untuk menyimpan project.

5
ALGORITMA DAN PEMROGRAMAN

2. PERNYATAAN MASUKAN DAN KELUARAN


Pernyataan keluaran digunakan untuk menampilkan output (keluaran) ke standart
output (biasanya layar monitor). Pernyataan yang digunakan adalah cout, dan dituliskan
sebagai berikut : .
cout << “yang akan ditampilkan ” ;
Jika diinginkan untuk pindah baris, gunakan karakter khusus \n.
Pernyataan masukan digunakan untuk memasukkan data masukan secara interaktif
ke dalam program. Cara yang paling banyak digunakan adalah memasukkan data dengan
mengetikannya dari keyboard. Dalam C++ pernyataan yang digunakan adalah cin. Bentuk
pernyataan cin untuk membaca data dari keyboard dan meletakkannya ke sebuah variabel
dituliskan sebagai berikut : cin >> var;
Dalam pembuatan program perlu diperhatikan masalah penamaan item atau yang
biasa dikenal sebagai pengenal (identifier), yaitu sembarang nama yang diberikan untuk
kelas, obyek, fungsi, variabel, dan sebagainya. Beberapa ketentuan untuk pembuatan
(penulisan) pengenal :
 Bisa kombinasi huruf, angka, atau karakter khusus
 Karakter pertama harus huruf atau garis bawah ( _ )
 Panjang maksimal 32
 bersifat case sensitive (misalnya huruf besar dan kecil dibedakan)
 tidak boleh sama dengan reserved words.

Dalam operasi untuk mengolah data, perlu diperhatikan tipe data dari masukan
(input) maupun keluaran (output) demikain juga operator yang digunakan.. Tabel berikut
mengenai tipe data dasar (standar) dalam C ++ beserta nilai rangenya.

Tipe data dasar dalam C++ :


TIPE RANGE
unsigned char 0 s/d 255
Char -128 s/d 127
short int -32,768 s/d 32,767
unsigned int 0 s/d 4,294,967,295

6
ALGORITMA DAN PEMROGRAMAN

Int -2,147,483,648 s/d 2,147,483,647


unsigned long 0 s/d 4,294,967,295
Enum -2,147,483,648 s/d 2,147,483,647
Long -2,147,483,648 s/d 2,147,483,647
Float 3.4 E-38 s/d 1.7 E+38
Double 1.7 E-308 s/d 3.4E+308
long double 3.4 E-4932 s/d 1.1 E+4932
near pointer Tidak teraplikasi
far pointer Tidak teraplikasi

Tabel operator aritmetika :


Operator Arti Kategori tipe data
+ Tambah numeris
_ Kurang Numeris
* Kali Numeris
/ Bagi Numeris
% modulus Bilangan bulat
(sisa hasil bagi)

3. PRAKTEK
PERCOBAAN I

1. Praktekkan contoh program berikut, amati dan cetak hasilnya !


Program digunakan untuk mencetak (menampilkan output )tulisan :
“ SAYA BELAJAR C++”
“ Pertama tidak mudah tetapi semua bisa dipelajari !”

/* PROGRAM PERTAMAKU */
#pragma argsused
#include <iostream.h>
#include <conio.h>

void main()
{
cout<<"SAYA BELAJAR C++\n ";
cout<<"Pertama tidak mudah tetapi semua bisa
dipelajari!";
getch();

7
ALGORITMA DAN PEMROGRAMAN

2. Amati hasilnya, jika dari program nomor 1


a. karakter khusus \n ditiadakan
b. pernyataan getch() ditiadakan
Apa yang dapat Anda simpulkan dari soal nomor 2a dan 2b ?
3. Cobalah program nomor 3 berikut :
/* PROGRAM NOMOR 3 */
#pragma argsused
#include <iostream.h>
#include <conio.h>

void main()
{
char nama[20];
int umur;

cout<<"Masukkan nama panggilan : ";


cin>>nama;

cout<<"Berapa umurmu ?";


cin>>umur;
cout<<"NAMAKU : "<<nama<<'\n';
cout<<"UMUR : "<<umur<<" tahun";
getch();
}

4. Cobalah program untuk mencari luas persegi panjang berikut :


Algoritma :
1. masukkan panjang
2. masukkan lebar
3. tuliskan rumus mencari Luas persegipanjang
4. tampilkan hasil perhitungan Luas persegipanjang

Programnya :
/* PROGRAM MENCARI LUAS PERSEGIPANJANG */
#pragma argsused
#include <iostream.h>
#include <conio.h>

void main()

8
ALGORITMA DAN PEMROGRAMAN

{
int p,l,Luas;

cout<<"masukkan panjang : ";


cin>>p;
cout<<"masukkan lebar : ";
cin>>l;
Luas = p*l; // RUMUS LUAS PERSEGIPANJANG
cout<<" Luas persegipanjang = "<<Luas;
getch();
}

4. TUGAS
Buatlah algoritma dan program untuk mencari keliling dan luas lingkaran.

9
ALGORITMA DAN PEMROGRAMAN

MODUL 2
PERNYATAAN SELEKSI

A. MAKSUD, TUJUAN, ALAT DAN BAHAN


1. MAKSUD
Mengenal cara menggunakan pernyataan seleksi (kondisional) dalam C++.
2. TUJUAN
Agar mahasiswa dapat :
 membuat algoritma untuk memecahkan permasalahan tertentu yang harus
diselesaikan menggunakan pernyataan kondisional
 menggunakan pernyataan if
 menggunakan pernyataaan switch
3. ALAT DAN BAHAN
1. Komputer / Laptop ( Minimal Dual Core , Memory 1 GB )
2. Sistem Operasi Windows / Linux
3. Software C++

B. TEORI
Aliran kondisional digunakan untuk mengarahkan percabangan aliran eksekusi program.
Dalam C++ terdapat 2 pernyataan kondisional yaitu dalam bentuk if..dan switch. Alur
eksekusi program ditentukan dari nilai kebenaran kondisi yang ditentukan.
Bentuk pernyataan if dan if..else.. :
a. if (kondisi)
{perintah}

b. if (kondisi)
{perintah 1}
else
{perintah 2}

Pada bentuk pernyataan a, jika (kondisi) bernilai benar maka {perintah} akan dikerjakan
jika bernilai salah tidak akan mengerjakan apa-apa. Pada pernyataan b, jika (kondisi )
bernilai benar maka {perintah 1} akan dikerjakan tetapi jika bernilai salah {perintah 2}
yang akan dikerjakan.
Bentuk kondisional switch :

10
ALGORITMA DAN PEMROGRAMAN

switch (variabel)
{
case <konstanta 1> : {perintah 1}; [break;]
case <konstanta 2> : {perintah 2}; [break;]
:
case <konstanta n> : {perintah n}; [break;]
default : {perintah lain};
}

Dari bentuk kondisional switch di atas jika <konstanta 1> dipenuhi maka akan
mengerjakan perintah 1, jika <konstanta 2> yang dipenuhi maka akan mengerjakan
{perintah 2} demikian seterusnya; tetapi jika salah satu konstanta tidak dipenuhi maka
akan dikerjakan {perintah lain}.

C. PRAKTEK
PERCOBAAN II

1. Kerjakan (praktekkan) contoh program nomor a dan b berikut , amati dan cetak !
a. Terdapat aturan penilaian : jika nilai mahasiswa di atas 50 maka mahasiswa lulus
tetapi jika nilai di bawah atau sama dengan 50 mahasiswa tidak lulus.

Algoritmanya :
1. masukkan nilai mahasiswa
2. jika (nilai > 50) maka kerjakan nomor 3, jika tidak kerjakan nomor 4
3. tampilkan tulisan “Mahasiswa Lulus”
4. tampilkan tulisan “ Mahasiswa belum bisa Lulus !”

Programnya :
// PROGRAM CONTOH1
#include <iostream.h>
#include<conio.h>
#pragma argsused

void main()
{
char nilai;

11
ALGORITMA DAN PEMROGRAMAN

cout << "masukkan nilaimu : ";


cin >>nilai;
if (nilai > 50)
cout << "Mahasiswa Lulus"<<endl;
else
cout << "Mahasiswa belum bisa Lulus !"<<endl;
getchar();
}

b. Akan dicari hasil operasi dari 2 buah bilangan yang dikenai salah satu operator-
operator berikut :
+ : kedua bilangan akan dijumlahkan - : bilangan I dikurangi bilangan II
* : kedua bilangan dikalikan / : bilangan I dibagi bilangan II

Algoritmanya :
1. masukkan bilangan I
2. masukkan bilangan II
3. masukkan operator
4. jika operator +, maka bilangan I + bilangan II
5. jika operator -, maka bilangan I – bilangan II
6. jika operator *, maka bilangan I * bilangan II
7. jika operator /, maka bilangan I / bilangan II.
8. tampilkan hasilnya.
9.
10.
Programnya :
// PROGRAM CONTOH2
#include<iostream.h>
#include<conio.h>
#pragma argsused
void main()
{
char op;
double bil1, bil2, hasil;
cout<<"masukkan bil I :" ; cin>>bil1;
cout<<"masukkan bil II :" ; cin>>bil2;
cout<<"masukkan operator : "; cin>>op;
switch(op)
{

12
ALGORITMA DAN PEMROGRAMAN

case '+' : hasil = bil1 + bil2; break;


case '-' : hasil = bil1-bil2; break;
case '*' : hasil = bil1*bil2; break;
case '/' : hasil = bil1/bil2; break;
}
cout<<"hasilnya = "<<hasil<<endl;
getch();

2. Buatlah program yang dapat digunakan oleh pemakai untuk memilih apakah akan
menghitung luas lingkaran atau kelilinga lingkaran dengan tampilan sebagai berikut :

PILIHAN
A. HITUNG LUAS LINGKARAN
B. HITUNG KELILING LINGKARAN
MASUKKAN PILIHAN (A,B, atau C ) :

D. TUGAS
Buatlah algoritma dan kemudian programnya untuk melakukan konversi nilai dari angka
menjadi huruf dengan ketentuan sebagai berikut :
0 – 20 : nilai E
21 – 40 : nilai D
41 – 60 : nilai C
61 – 80 : nilai B
81 – 100 : nilai A

13
ALGORITMA DAN PEMROGRAMAN

MODUL 3
PERNYATAAN PERULANGAN

A. MAKSUD ,TUJUAN, ALAT DAN BAHAN


1. MAKSUD
Mengenal cara menggunakan pernyataan perulangan dalam C++.
2. TUJUAN
Agar mahasiswa dapat :
 membuat algoritma untuk memecahkan permasalahan tertentu yang harus
diselesaikan menggunakan pernyataan perulangan
 menggunakan pernyataan while, do..while, dan for
3. ALAT DAN BAHAN
4. Komputer / Laptop ( Minimal Dual Core , Memory 1 GB )
5. Sistem Operasi Windows / Linux
6. Software C++

B. TEORI
Salah satu proses yang ada dalam pemrograman adalah proses perulangan. Proses
perulangan adalah suatu proses di mana komputer akan mengeksekusi satu atau lebih
pernyataan berulang kali sampai suatu kondisi yang ditentukan terpenuhi. Pernyataan
perulangan (operasi kalang) dalan C ++ terdapat 3 pernyataan yaitu while, do..while,
dan for. Pernyataan while dan do..while digunakan jika jumlah perulangannya belum
pasti, sedangkan pernyataan for digunakan jika jumlah perulangannya sudah pasti.

Pernyataan while

Bentuk pernyataan while :


while (kondisi)
{
perintah;
}

Selama (kondisi) bernilai benar maka {perintah} akan dikerjakan dan pengerjaan

{perintah} baru berhenti jika (kondisi) bernilai salah.

14
ALGORITMA DAN PEMROGRAMAN

Pernyataan do..while
Bentuk pernyataan do..while :
do
{
perintah;
} while(kondisi)
kalang do..while akan menguji kondisi pada akhir kalang. Pengerjaan {perintah}
dilakukan terus menerus selama nilai (kondisi) dipenuhi atau bernilai benar.

Pernyataan for
Bentuk pernyataan for :
for (<inisialisasi variabel kendali>; kondisi; <modifikasi variabel kendali>)
{
perintah;
}
dapat juga dituliskan
for ( ; kondisi; <modifikasi variable kendali>)
{
perintah;
}
bentuk di atas inisialisasi variabel kondisi sudah dituliskan sebelumnya. Contoh untuk
kedua pernyataan tersebut :
for (cel= 0; cel<=100; cel=cel+10);
dapat dituliskan sebagai berikut :
cel = 0;
for ( ;cel<=100; cel=cel+10);

C. PRAKTEK
PERCOBAAN III

nomor 1
Program-program di bawah ini digunakan untuk menampilkan bilangan antara 0 – 50 yang
merupakan kelipatan 4. Cobalah ketiga program berikut !
Algoritma :

15
ALGORITMA DAN PEMROGRAMAN

1. bilangan di assign (diberi nilai) 0


2. selama bilangan < 50, kerjakan langkah nomor 3 – 6
3. bilangan  bilangan + 1
4. cari sisa hasil bagi bilangan tersebut jika dibagi 4
5. jika sisa hasil bagi = 0, maka bilangan tersebut termasuk kelipatan 4
6. tampilkan bilangan tersebut

PROGRAM 1

// PROGRAM MENGGUNAKAN WHILE //


#include<conio.h>
#include<iostream.h>
#pragma argsused
void main()
{
int bil,sisa;
bil = 0;
while (bil<50)
{

bil=bil+1; sisa = bil%4;


if (sisa == 0)
cout<<bil<<" ";
}
getch();
}

PROGRAM 2

// PROGRAM MENGGUNAKAN DO..WHILE //


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

void main()
{
int bil, sisa;
bil=0;
do
{
bil=bil+1;
sisa = bil%4;
if (sisa==0)
cout<<bil<<" ";
} while (bil < 50);
getch();
}

16
ALGORITMA DAN PEMROGRAMAN

PROGRAM 3

//PROGRAM MENGGUNAKAN FOR //


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

void main()
{
int bil, sisa;
bil=0;
for (bil;bil<50;bil++)
{
sisa = bil%4;
if (sisa==0) cout<<" " << bil;
}
getch();
}

nomor 2
Buatlah algoritma dan program untuk mengkonversi suhu dari celcius ke Reamur dan
Fahreinheit dengan bentuk tampilan sebagai berikut :

CELCIUS REAMUR FAHREINHEIT


-10 -8 14
0
10
20
30
40
50
60
70
80
90

17
ALGORITMA DAN PEMROGRAMAN

100

D. TUGAS
Apa perbedaan pernyataan break dan continue pada pernyataan berkalang, jelaskan dan
berikan contoh programnya !

18
ALGORITMA DAN PEMROGRAMAN

MODUL 4
A R R A Y (L A R I K)

A. MAKSUD ,TUJUAN, ALAT DAN BAHAN


1. MAKSUD
Mengenal cara menggunakan tipe data larik dalam C++.
2. TUJUAN
Agar mahasiswa dapat :
 membuat algoritma untuk memecahkan permasalahan tertentu yang harus
diselesaikan menggunakan larik
 membuat program dengan menggunakan larik (array)
3. ALAT DAN BAHAN
1. Komputer / Laptop ( Minimal Dual Core , Memory 1 GB )
2. Sistem Operasi Windows / Linux
3. Software C++

B. TEORI
Array adalah tipe data yang terdiri dari sekumpulan data/elemen yang mempunyai tipe
yang sama. Array secara garis besar dibedakan menjadi array dimensi satu dan array
multi dimensi (lebih dari 1 dimensi). Dalam modul praktikum ini hanya akan dibahasa
sampai pada array dimensi dua.

Array Dimensi Satu


Bentuk dari array dimensi satu :
tipe_elemen_array nama_array [ indeks];
Indeks dimulai dari 0 (bukan 1), pengaksesan array dimensi satu ditulisakan :

nama_array [indeks];
Contoh deklarasi array : int data [10];
diilustrasikan sebagai berikut :

data :
0 1 2 ……… 9  indeks

19
ALGORITMA DAN PEMROGRAMAN

Array Dimensi Dua


Bentuk array dimensi dua :
tipe_elemen_array nama_array [ indeks1,indeks2];
Dalam array dimensi dua terdapat dua indeks yang mewakili baris dan kolom. Indeks 1

mewakili baris dan indeks 2 mewakili kolom. Pengaksesan array dimensi dua :

nama_array [ indeks1][indeks2];

Contoh deklarasi array dimensi dua :

short int tabel [3][4];


artinya terdapat variabel yang bernama tabel yang di deklarasikan sebagai array
dimensi dua dengan jumlah maksimal barisnya = 3 dan kolom = 4; serta tipe komponen
datanya adalah short int.
Ilustrasinya sebagai berikut :
1 2 3 4  indeks mewakili kolom
1
Tabel : 2 tabel [2][3]
3
indeks mewakili jumlah baris

C. PRAKTEK
PERCOBAAN IV

nomor 1

Terdapat 5 data yang dimasukkan melalui keyboard dan data tersebut akan disimpan
serta tidak boleh terhapus dan diminta untuk ditampilkan kembali.
Algoritma :
1. sediakan 5 tempat untuk menyimpan data (deklarasi array)
2. untuk i = 1, masukkan data ke 1 melalui keyboard
3. ulangi langkah nomor 4 dan nomor 5 sampai i = 5 untuk memasukkan data
4. i  i + 1;
5. masukkan data ke i, simpan data di lokasi ke i

20
ALGORITMA DAN PEMROGRAMAN

6. tampilkan seluruh data yang tadi di masukkan


Programnya :
/* PROGRAM MEMASUKKAN 5 DATA */
#pragma argsused
#include<iostream.h>
#include<conio.h>

void main()
{
int data[5]
int i;
cout<<"masukkan data : "<<endl; /*memasukkan
data*/
for (i=1;i<=5;i=i+1)
{
cout<<"data ke "<<i<<" : ";
cin>> data[i];
}
cout<<"KESELURUHAN DATA"<<endl; /*menampilkan data
*/
for (i=1; i<=5;i++)
{
cout<<"data ke "<<i<<": "<<data[i]<<endl;
}
getch();
}
nomor 2

Terdapat tabel sebagai berikut :


NIM Nilai
1001 80
1002 79
1003 81
1004 69
1005 75

Program untuk menampilkan isi tabel di atas adalah sebagai berikut :

/* PROGRAM MENAMPILKAN ISI TABEL */


#pragma argsused
#include <iostream.h>
#include <conio.h>
void main()
{
int tabel [5][2];
short int i,j;

cout <<"tabel nilai"<<endl;

21
ALGORITMA DAN PEMROGRAMAN

cout <<" "<<endl;


cout <<"N I M "<<" "<<"Nilai"<<endl;
cout <<"================ "<< endl;
tabel[1][1] = 1001; tabel[1][2] = 80;
tabel[2][1] = 1002; tabel[2][2] = 79;
tabel[3][1] = 1003; tabel[3][2] = 81;
tabel[4][1] = 1004; tabel[4][2] = 69;
tabel[5][1] = 1004; tabel[5][2] = 75;

for (i=1;i<=5;i++) /* untuk menampilkan isi tabel */


{
for(j=1;j<=2;j++)
{
cout<<tabel[i][j]<<" ";
}
cout<<" "<<endl;
}
getch();
}

nomor 3

Kembangkan program nomor 1 dengan mencari nilai maksimal, nilai minimal, dan

rata-rata dari kelima data yang dimasukkan

D. TUGAS
Buatlah algoritma dan program untuk mengurutkan 10 data yang dimasukkan melalui

keyboard !

22
ALGORITMA DAN PEMROGRAMAN

MODUL 5
STRING

A. MAKSUD ,TUJUAN, ALAT DAN BAHAN


1. MAKSUD
Mengenal tipe data string dan operasi-operasi pada tipe data string di dalam C++.

2. TUJUAN
Agar mahasiswa dapat :

 Memahami tipe data string dan operasi-operasinya


 membuat algoritma untuk memecahkan permasalahan tertentu yang berkenaan
dengan tipe data string
 membuat program lengkap deangan menggunakan operasi-operasi pada string.
3. ALAT DAN BAHAN
1. Komputer / Laptop ( Minimal Dual Core , Memory 1 GB )
2. Sistem Operasi Windows / Linux
3. Software C++

B. TEORI
String dapat berupa konstanta atau variabel. String sebagai variabel belum

diperkenalkan tetapi konstanta string sejak awal sudah diperkenalkan, misalnya pada

pernyataan :

cout<<”Belajar keras biar lulus ujian “<<endl;

Dalam C++ tipe string diartikan sebagai larik karakter, sehingga dideklarasikan

sebagai : char nama_variabel [jumlah_maksimal_karakter];

Contoh dekalrasinya adalah :

char kata[20];

23
ALGORITMA DAN PEMROGRAMAN

Artinya : dideklarasikan variabel kata sebagai string yang terdiri dari 20 karakter termasuk

null („\0‟) yang menyatakan akhir dari string.

Dalam memasukkan tipe data string, operator << pada cin hanya bisa membaca

masukkan hingga terdapat spasi, tab, atau enter. Solusi untuk mengatasi masalah tersebut

dengan menggunakan fungsi get() dan getline() pada obyek cin dalam bentuk :

cin.get(nama_variabel_string, jumlah_maksimal_karakter) dan

cin. getline (nama_variabel_string, jumlah_maksimal_karakter),

contohnya : cin. get (kata,20); dapat di cin.get(kata, sizeof(kata));

cin. getline(kata,20); tulis cin,getline(kata,

sizeof(kata));

Contoh selengkapnya terdapat di bagian PRAKTEK.

Dalam bahasa C++ terdapat fungsi-fungsi yang berlaku pada string antara lain :

 gcount() : menghitung jumlah karakter


 strcpy() : menyalin string
 strlen() : menghitung panjang string
 strrev() : membalik isi string
 strlwr() : merubah ke huruf kecil
 strupr() : merubah ke huruf capital
Terdapat juga beberapa makro (semacam fungsi, tetapi didefinisikan dengan #define) yang

berbasis karakter, antara lain :

24
ALGORITMA DAN PEMROGRAMAN

 islower( ) : hasil benar jika argumennya huruf kecil


 isupper( ) : hasil benar jika argumennya huruf kapital
 ispunct( ) : hasil benar jika argumennya berupa tanda baca
 isspace( ) : hasil benar jika argumennya berupa karakter spasi, tab, dan enter.
Keseluruhan makro didefinisikan pada file CTYPE.H; sehingga pada program harus

dituliskan # include<ctype.h>

C. PRAKTEK
PERCOBAAN V

nomor 1
Cobalah ketiga program berikut, amati hasilnya dan buatlah kesimpulan dari hasil
pengamatan Anda !
/*PROGRAM PERTAMA */

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

void main()
{
char kalimat[20];

cout<<"Masukkan kalimat (lebih dari 2 kata) : "<<endl;


cin>>kalimat;
cout<<"Kalimat yang tadi dimasukkan adalah : "<<kalimat;
getch();
}

/* PROGRAM KEDUA */

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

void main()
{
char kalimat[20];

25
ALGORITMA DAN PEMROGRAMAN

char kalimatku[25];

cout<<"Masukkan kalimat (lebih dari 2 kata) : "<<endl;


cin.get(kalimat,sizeof(kalimat));

cout<<"masukkan kalimat yang lain : "<<endl;


cin.get(kalimatku,sizeof(kalimatku));

cout<<"Kalimat pertama yang tadi dimasukkan adalah : "<<kalimat<<endl;


cout<<"Kalimat kedua yang tadi dimasukkan adalah : "<<kalimatku;
getch();
}

/* PROGRAM KETIGA */

#pragma argsused
#include <iostream.h>
#include <conio.h>
void main()
{
char kalimat[20];
char kalimatku[25];

cout<<"Masukkan kalimat (lebih dari 2 kata) : "<<endl;


cin.getline(kalimat, sizeof(kalimat));

cout<<"masukkan kalimat yang lain : "<<endl;


cin.getline(kalimatku, sizeof(kalimatku));

cout<<"Kalimat pertama yang tadi dimasukkan adalah : "<<kalimat<<endl;


cout<<"Kalimat kedua yang tadi dimasukkan adalah : "<<kalimatku;
getch();
}

nomor 2
Cobalah program 2 : program untuk menghitung banyaknya huruf capital, huruf
kecil, tanda baca, dan jumlah spasi dalam suatu kalimat .

/* PROGRAM 2 */
#pragma argsused
#include <iostream.h>
#include <conio.h>
#include <ctype.h>
void main()
{
char kalimat[100];
int i, kapital=0, kecil=0,
spasi=0,tbaca = 0;

26
ALGORITMA DAN PEMROGRAMAN

clrscr;
cout<<"Masukkan kalimat : "<<endl;
cin.getline(kalimat,sizeof(kalimat));

for (i=0;kalimat[i];i++)

if (islower(kalimat[i])) kecil++;

if (isupper(kalimat[i])) kapital++;

if (ispunct(kalimat[i])) tbaca++;

if (isspace(kalimat[i])) spasi++;
}
cout<<"Jumlah huruf kapital : "<<kapital<<endl;
cout<<"Jumlah huruf kecil : "<<kecil<<endl;
cout<<"Jumlah tanda baca : "<<tbaca<<endl;
cout<<"Jumlah spasi : "<<spasi<<endl;
getch();
}

nomor 3
Kembangkan program nomor 2 di atas sehingga dapat digunakan untuk merinci
tanda baca yang ada dalam kalimat yang dimasukkan, tampilannya sebagai berikut :
Masukkan kalimat :
Lia, Eno, dan dia sedang makan; betulkah ?
Jumlah huruf kapital :2
Jumlah huruf kecil : 21
Jumlah spasi :6
Jumlah tanda baca :4
jumlah titik : 0
jumlah koma : 2
jumlah tanda tanya : 1
jumlah tanda baca yang lain : 1

D. TUGAS
Buatlah algoritma dan programnya untuk menghitung banyak kata dalam suatu
kalimat !

27
ALGORITMA DAN PEMROGRAMAN

MODUL 6
FUNGSI

A. MAKSUD ,TUJUAN, ALAT DAN BAHAN


1. MAKSUD
Mengenal cara menggunakan fungsi dalam C++.
2. TUJUAN
Agar mahasiswa dapat :
 membuat algoritma untuk memecahkan permasalahan tertentu yang harus
diselesaikan menggunakan fungsi
 membuat sub program menggunakan fungsi
 membuat program lengkap yang mengandung fungsi
3. ALAT DAN BAHAN
1. Komputer / Laptop ( Minimal Dual Core , Memory 1 GB )
2. Sistem Operasi Windows / Linux
3. Software C++

B. TEORI
Fungsi merupakan cara pembagian program menjadi bagian-bagian yang lebih kecil
(sub program) dan dapat dipanggil beberapa kali dari program utama. Tujuan dari
pembuatan fungsi adalah menghemat ukuran program terutama jika terdapat beberapa
deretan instruksi yang sama yang digunakan di beberapa tempat dalam program.
Fungsi yang lain adalah untuk memudahkan dalam mengembangkan program.
Deklarasi fungsi adalah sebagai berikut :
tipe_hasil Nama_fungsi (tipe_parameter nama_parameter)

pernyataan ;

Contoh penulisan fungsi :

28
ALGORITMA DAN PEMROGRAMAN

tipe hasil nama fungsi tipe parameter

parameter formal

double kuadrat (double A)

{ _____________

_____________ pernyataan

Setelah penulisan bagian kepala fungsi, tidak boleh ada tanda titik koma (;). Terdapat

aturan dalam C++, jika penulisan fungsi diletakkan di bawah program utama, maka harus

mendeklarasikan prototype fungsi terlebih dahulu sebelum program utama; tetapi jika

penulisan fungsi terletak di atas program utama tidak perlu mendefinisikan prototype

terlebih dahulu.

Terdapat 2 cara pengiriman parameter yaitu secara nilai (by value) dan secara

acuan (by reference). Parameter yang dikirimkan secara nilai hanya akan mengakibatkan

perubahan pada fungsi tetapi tidak perubahan pada fungsi tersebut tidak mempengaruhi

hasil pada program utama. Pengiriman secara acuan akan mengakibatkan perubahan pada

program utama dikarenakan pengaruh dari hasil di fungsi. Jika parameter akan dikirimkan

secara acuan, maka tambahakan karakter & sebelum parameter formal.

C. PRAKTEK

PERCOBAAN VI

nomor 1
Cobalah program 1 dan program 2 yang mengandung fungsi untuk menampilkan garis
( ============). Amati hasilnya !

PROGRAM 1

29
ALGORITMA DAN PEMROGRAMAN

// PROGRAM MENGANDUNG FUNGSI


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

void garis()
{
cout<<"================="<< endl;
}

void main()
{
clrscr();
char kal[50];
garis();
cout<<" AKU BELAJAR"<<endl;
garis();
cout<<"masukkan namamu : "<<endl;
cin>>kal;
garis();
getch();
}

PROGRAM 2
// PROGRAM MENGANDUNG FUNGSI
#pragma argsused
#include<iostream.h>
#include<conio.h>

void garis(); // prototipe fungsi garis()


void main()
{
clrscr();
char kal[50];
garis();
cout<<" AKU BELAJAR"<<endl;
garis();
cout<<"masukkan namamu : "<<endl;
cin>>kal;
garis();
getch();
}

void garis() //fungsi untuk menampilkan garis


{
cout<<"================="<< endl;
}

nomor 2

30
ALGORITMA DAN PEMROGRAMAN

Terdapat 2 buah bilangan, akan ditukar nilainya. Contoh input dan outputnya sebagai
berikut :
nilai awal : 12 -7
setelah ditukar : -7 12

Algoritma fungsi :
1. bilangan I diletakkan di tempat sementara untuk menyimpan bilangan tersebut
2. bilangan II diletakkan di tempat yang tadinya berisi bilangan I
3. bilangan yang tadinya disimpan di tempat sementara dipindahkan ke tempat untuk
menyimpan bilangan II
atau lebih singkatnya sebagai berikut :
1. tempat sementara  bilangan I
2. bilangan I  bilangan II
3. bilangan II  tempat sementara

Fungsinya sebagai berikut :

int tukar(int &bil1,int &bil2)


{
int temp;
temp = bil1;
bil1 = bil2;
bil2 = temp;
}

Buatlah programnya secara lengkap untuk menukar kedua buah bilangan sehingga
menghasilkan input dan output seperti di atas !
nomor 3
Buatlah program yang lengkap yang mengandung fungsi untuk mencari pangkat 3 dari
suatu bilangan bulat (Buatlah algoritmanya dari fungsi tersebut) !

D. TUGAS
Buatlah sebuah program yang mengandung fungsi-fungsi berikut :
1. memasukkan elemen matrik
2. menjumlahkan dan mengurangi dua buah matrik
3. mengalikan dua buah matrik
Buat juga algoritma masing-masing fungsi !

31
ALGORITMA DAN PEMROGRAMAN

MODUL 7
REKURSIF

A. MAKSUD ,TUJUAN, ALAT DAN BAHAN


1. MAKSUD
Mengenal penggunaan proses rekursif di dalam C++.

2. TUJUAN
Agar mahasiswa dapat :

 membuat algoritma untuk memecahkan permasalahan tertentu yang harus


diselesaikan menggunakan rekursif
 membedakan proses yang bersifat iterative dan rekursif
 membuat program lengkap yang mengandung rekursif

3. ALAT DAN BAHAN


1. Komputer / Laptop ( Minimal Dual Core , Memory 1 GB )
2. Sistem Operasi Windows / Linux
3. Software C++

B. TEORI
Rekursif adalah proses pemanggilan fungsi dari dalam fungsinya sendiri, dengan

kata lain suatu fungsi dapat memanggil fungsi yang merupakan dirinya sendiri.

Suatu masalah yang diselesaikan dengan pernyataan-pernyataan program yang bersifat

iteratif dapat juga diubah menjadi fungsi yang bersifat rekursif.

Proses rekursif dapat dijelaskan dalam contoh untuk menghitung pangkat dari

suatu bilangan, misalnya bilangan 8 dipangkatkan 6 :

86 = 8 x 8 x 8 x 8 x 8 x 8 sebanyak 6 kali

secara umum dapat dirumuskan

AN = A x A x A x ……. X A sebanyak N kali; dapat dituliskan sebagai berikut :

32
ALGORITMA DAN PEMROGRAMAN

AN = A x A(N-1)

A(N-1) = A x A(N-2)

:
:
A2 = A x A1
A1 = A x A0

A0 =1

Rumusan di atas dapat diimplementasikan dalam fungsi yang bersifat rekursif :

double Pangkat (double bil, int N)

if (bil==0) return 1;

else proses memanggil dirinya sendiri

return bil * Pangkat(bil, N-1);

Pencarian suatu bilangan yang dipangkatkan dapat diselesaikan juga dengan cara iterasi,

proses iterasi tersebut dinyatakan sebagai berikut :

if (N == 0) cout<<"hasil=1"<<endl;
else
{
hasil=bil;
for (i=1;i<N;i++)
{
hasil=hasil*bil;
}
}

33
ALGORITMA DAN PEMROGRAMAN

C. PRAKTEK
PERCOBAAN VII

nomor 1
Cobalah program berikut dan tuliskan hasilnya:

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

int cetak(int N)
{
cout<<N<<endl;
if (N>0) cetak(N-1);
};

void main()
{
clrscr();
int X,Y;
cout<<"Tampilkan hasilnya jika nilai yang dikirim : ";
cin>>X;
Y = cetak(X);
getch();
}

nomor 2
Cobalah program 2 berikut , untuk mencari pangkat tertentu dari suatu bilangan dengan
cara iterasi, buatlah program secara lengkap menggunakan fungsi rekursif yang sudah
diberikan di atas !

PROGRAM 2
/* SECARA ITERASI */
#pragma argsused
#include <iostream.h>
#include <conio.h>

void main()
{
int bil,N,i,hasil;

34
ALGORITMA DAN PEMROGRAMAN

cout<<"Bilangan yang akan dipangkatkan : "; cin>>bil;


cout<<"pangkatnya : ";cin>>N;

if (N == 0) cout<<"hasil=1"<<endl;
else
{
hasil=bil;
for(i=1;i<N;i++)
{
hasil=hasil*bil;
}
}
cout<<"Hasil perpangkatan = "<<hasil;
getch();
}

nomor 3
Buatlah program untuk mencari total jumlah 20 bilangan asli yang pertama dengan
menggunakan :
4. cara iteratif
5. rekursif

D. TUGAS
Buatlah algoritma dan program dengan menggunakan fungsi rekursif untuk mencari nilai
factorial dari sutau bilangan , contoh :
Input :4!
Output : 4 x 3 x 2 x 1 = 24

35
ALGORITMA DAN PEMROGRAMAN

MODUL 8
STRUKTUR

A. MAKSUD ,TUJUAN, ALAT DAN BAHAN


1. MAKSUD
Mengenal penggunaan struktur di dalam C++.

2. TUJUAN
Agar mahasiswa dapat :

 membuat algoritma untuk memecahkan permasalahan tertentu yang harus


diselesaikan menggunakan struktur
 membuat program dengan menggunakan struktur
3. ALAT DAN BAHAN
1. Komputer / Laptop ( Minimal Dual Core , Memory 1 GB )
2. Sistem Operasi Windows / Linux
3. Software C++

B. TEORI
Struktur adalah salah satu tipe data yang digunakan untuk mengelompokkan sejumlah data

yang mempunyai tipe yang berlainan. Tipe data struktur dideklarasikan dengan

menggunakan kata kunci struct. Deklarasi tipe data struktur sebagai berikut :

struct nama_tipe_struktur

{ ___________
___________ nama anggota struktur beserta tipenya
___________
};

36
ALGORITMA DAN PEMROGRAMAN

Contoh deklarasi struktur:

struct mahasiswa
{
int NIM;
char nama[25];
double IPk;
};

Suatu variabel yang dideklarasikan sebagai struktur dapat dituliskan sebagai berikut :

struct mahasiswa struct mahasiswa


{ {
int NIM; int NIM;
char nama[25]; ATAU char nama[25];
double IPk; double IPk;
}; } data;
mahasiswa data;

Suatu struktur dapat juga mengandung struktur yang lain, sebagai contoh :

struct masuk_kuliah
{
int tgl;
char bulan[30];
int tahun;
};

struct mahasiswa
{

37
ALGORITMA DAN PEMROGRAMAN

int NIM;
char nama[25];
double IPk;
masuk_kuliah awal;
}data;

Pengaksesan struktur menggunakan bentuk : variabel_struktur . nama_anggota

Contoh : data.IPk = 3.73;


data.awal.tahun = 2003;

Penggunaan struktur dapat juga digabungkan dengan larik, seperti dalam ilustrasi berikut :

1 2 3 4 5 n

101 103 105

Ali Ita Rio

3.2 2.78 2.98

Larik dengan indeks 1 berisi data mahasiswa : NIM 101, Nama Ali dan IPk 3,2. Indeks

nomor 2 berisi data mahasiswa dengan NIM 103, Nama Ita, dan IPk 2,78. Indeks nomor

berisi data mahasiswa dengan NIM 105, Nama Rio, dan IPk 2,98. Implementasi

programnya dapat dilihat pada C. PRAKTEK nomor 3.

C. PRAKTEK

PERCOBAAN VIII

38
ALGORITMA DAN PEMROGRAMAN

nomor 1
Cobalah program berikut dan tuliskan hasilnya:
#pragma argsused
#include<iostream.h>
#include<conio.h>
void main()
{
struct masuk_kuliah
{
int tgl;
char bulan[30];
int tahun;
};
struct mahasiswa
{
int NIM;
char nama[25];
double IPk;
masuk_kuliah awal;
}data;
cout<<"masukkan NIM : ";
cin>>data.NIM; cout<< endl;
cout<<"masukkan Nama : ";
cin>>data.nama; cout<<endl;
cout<<"masukkan IPk : ";
cin>>data.IPk; cout<<endl;
cout<<"Data yang tadi dimasukkan :"<<endl;
cout<<"NIM : "<<data.NIM<<endl;
cout<<"Nama: "<<data.nama<<endl;
cout<<"IPk : "<<data.IPk;
getch();
};

nomor 2
Lengkapilah program nomor 1 jika diinginkan untuk memasukkan dan menampilkan
data tanggal, bulan, dan tahun pertama kali terdaftar menjadi mahasiswa !

nomor 3
Cobalah program berikut, amati hasilnya, dan kembangkan sehingga tidak hanya 3 data
mahasiswa yang dapat disimpan (jumlah data yang dimasukkan sesuai keinginan user)
#pragma argsused
#include<iostream.h>
#include<conio.h>

void main()
struct mahasiswa
{

39
ALGORITMA DAN PEMROGRAMAN

int NIM;
char nama[25];
double IPk;
} data;

mahasiswa dataku[3]; //deklarasi array dengan anggotanya bertipe


struktur
int i;

clrscr();
cout<<"MASUKKAN DATA MAHASISWA ! "<< endl;
for(i=1;i<=3;i++)
{
cout<<"mahasiswa ke "<<i<<endl;
cout<<" NIM : "; cin>>dataku[i].NIM;
cout<<"nama : "; cin>>dataku[i].nama;
cout<<"IPk : "; cin>>dataku[i].IPk;
cout<<endl;
}
getch();
}

D. TUGAS
Buatlah algoritma dan programnya dengan mengembangkan program nomor 3 di atas
sehingga bisa menampilkan hasil sebagai berikut :
NIM Nama IPk
101 Ali 3.20
103 Ita 2.78
105 Rio 2.98
110 Lia 1.78
. . .
. . .

40

Anda mungkin juga menyukai