MODUL I STRUKTUR PROGRAM Pemrograman Komputer I.pdf · c. Tipe Data Dalam bahasa pemrograman...
Transcript of MODUL I STRUKTUR PROGRAM Pemrograman Komputer I.pdf · c. Tipe Data Dalam bahasa pemrograman...
PEMROGRAMAN KOMPUTER I / COMPUTER PROGRAMMING I
Program Studi Teknik Informatika Universitas Islam Riau 1
1. Tujuan
MODUL I
STRUKTUR PROGRAM
Setelah mengikuti Running Modul mahasiswa diharapkan dapat:
a. Mengetahui dan memahami struktur program C++
b. Memahami komponen program C++ dan kegunaan tiap komponennya
c. Memahami variabel dan tipe data dalam menyelesaikan sebuah kasus.
d. Memahami komponen program C++ dan kegunaan tiap komponennya
2. Alat dan Bahan
Alat & bahan yang digunakan adalah hardware perangkat PC beserta kelengkapannya
berjumlah 40 PC dengan Code block atau Borland C++ atau Java SDK dan editor IDE
(disarankan Netbeans) telah terinstall di masing-masing unit.
3. Teori dasar
a. Struktur Program
Agar dapat memahami bagaimana penulisan suatu program, maka terlebih dahulu
harus mengerti bagaimana struktur dari program tersebut. Berikut struktur program
C++.
Deklarasi Variabel Global;
Prototype Function
Pre-Processor
Void main()
{
Deklarasi Variabel Lokal;
Statement-1;
Statement-2;
….
Statement-n;
}
Program Studi Teknik Informatika Universitas Islam Riau 2
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Pre-processor ( compiler directif) digunakan untuk mengarahkan processor untuk
membaca file header. File header ini berisi fungsi-fungsi standar yang sudah disediakan
oleh C++, seperti fungsi I/O, matematik dsb.
Fungsi main() merupakan fungsi utama (fungsi yang harus ada ) dalam
sebuah program C++. Sebuah program C++ yang sangat sederhana dapat terdiri
atas satu fungsi utama saja
b. Variable (identifier)
Adalah pengenal (yang didefinisikan pemrogram) yang akan digunakan
dalam program. Beberapa syarat pemberian nama variable yaitu :
1. Dapat terdiri atas gabungan huruf dan angka tapi harus diawali dengan huruf
2. Tidak boleh mengandung spasi atau karakter khusus kecuali garis bawah
3. Tidak boleh menggunakan key-word C++
c. Tipe Data
Dalam bahasa pemrograman komputer, data yang digunakan umumnya
dibedakan menjadi data nilai numerik dan data nilai karakter. Nilai numerik dapat
dibedakan lagi menjadi numerik integer dan numerik pecahan.
Tipe Data Ukuran
(byte)
Rentang Nilai
Char 1 -128 s/d 127
Unsigned char 1 0 s/d 255
Int 2 -32,768 s/d 32,768
Unsigned int 2 0 s/d 65535
Short int 2 -32,768 s/d 32,768
Long 4 -2,147,438,648 s/d
2,147,438,648
Unsigned long 4 0 s/d 4,294,967,295
Float 4 3.4*10-38
s/d 3.4*1038
Double 8 1.7*10-308
s/d 1.7*10308
Long double 10 3.4*10-4932
s/d 1.1*104932
Void Data tidak bertipe
Program Studi Teknik Informatika Universitas Islam Riau 3
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
d. Constanta
Konsatanta adalah suatu nilai yang tidak berubah selama proses dari program,
contoh.
Float phi = 3.14
4. Latihan
L atihan I
#include <iostream.h>
void main()
{
cout << “Hello Word”;
}
Latihan II
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
int bil;
cout << “input sebuah bilangan :”;
cin >> bil;
cout << “bilangan yang diinputkan adalah :”<< bil;
getch()
}
Latihan III
Buat program untuk menampilkan tampilan seperti berikut
UNIVERSITAS ISLAM RIAU
UNGGUL DAN BERKARAKTER ISLAMI
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Latihan IV
Buat program untuk menampilkan tampilan seperti berikut
input npm =
input nama =
input kelas =
input nilai angka =
npm yang diinput =
nama yang diinput =
kelas yang diinput =
nilai angka yang diinput =
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
MODUL II
OPERATOR
1. Tujuan
Mengetahui jenis jenis operator pada C++ dan kegunaanya.
2. Alat dan Bahan
Alat & bahan yang digunakan adalah hardware perangkat PC beserta kelengkapannya
berjumlah 40 PC dengan Code block atau Borland C++ atau Java SDK dan editor IDE
(disarankan Netbeans) telah terinstall di masing-masing unit.
3. Teori dasar
a. Pengertian operator secara umum
Operator atau tanda operasi adalah suatu tanda atau simbol yang digunakan
untuk suatu operasi tertentu.
b. Operator Matematik
Adalah operator yang digunakan dalam proses matematik.Setiap operator pada
operasi matematik mempunyai derajat yang berbeda. Dalam suatu proses matematik
operator dengan derajat yang lebih tinggi akan lebih dahulu diproses dibandingkan
dengan operator dengan derajat yang lebih rendah. Tanda kurung ”( )” dapat
digunakan untuk merubah prioritas operasi pengerjaan.
* Perkalian
/ Pembagian
% Sisa Pembagian
+ Penjumlahan
- Pengurangan
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
c. Operastor Relasi
Digunakan untuk membandingkan nilai atara dua
variabel
> Besar dari
< Kecil dari
> = Besar sama dengan
< = Kecil sama dengan
= = Sama dengan
! = Tidak sama dengan
d. Operator Logika
&& and
|| or
! not
e. Operator Penugasan
Digunakan untuk memberikan nilai ke suatu variabel
= Sama dengan
f. Operator penaikan dan penurunan
++ Penaikan (menaikkan nilai suatu variabel sebesar 1)
-- Penurunan ( menurunkan nilai suatu variabel sebesar 1)
g. Operator Unary
+= Tambah
-= Minus
*= Perkalian
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
/= Perkalian
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
8 Program Studi Teknik Informatika Universitas Islam Riau
4. Latihan
Program I
#include <conio.h>
#include <iostream.h> main()
{
int a,b,c, Total;
cout <<"Input Nilai A"<<endl; cin>>a;
cout <<"Input Nilai B"<<endl; cin>>b;
cout <<"Input Nilai C"<<endl; cin>>c;
Total = a+b*c; cout <<"Total "<< Total<<endl; getch();
return 0; }
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
9 Program Studi Teknik Informatika Universitas Islam Riau
MODUL III
FUNGSI ARITHMATIK & MANIPULATOR
1. Tujuan
Mengetahui fungsi fungsi untuk menyelesaikan masalah arithmatik dan cara memanipulasi
hasil proses arithmatik.
2. Alat dan Bahan
Alat & bahan yang digunakan adalah hardware perangkat PC beserta kelengkapannya
berjumlah 40 PC dengan Code block atau Borland C++ atau Java SDK dan editor IDE
(disarankan Netbeans) telah terinstall di masing-masing unit.
3. Teori dasar
a. Fungsi Arithmatik
Adalah fungsi fungsi yang disediakan oleh C++ dalam meyelesaikan masalah
arithmatik, terdapat puluhan fungsi yang disediakan oleh C++ dalam meneyelesaikan
masalah arithmatik. Antara lain fungsi untuk perpangkatan, fungsi untuk menghitung
nilai akar dari suatau bilangan, fungsi untuk mencari nilai cosinus, tangen, sinus,
fungsi absolut dan lain-lain. Semua fungsi tersebut disediakan dalam file header
math.h
b. Manipulator
Digunakan untuk mengatur tampilan data, ada beberapa manipulator yang
disediakan oleh C++, manipulator ini disimpan dalam file header iomanip.h, adapun
operator-operator ini yaitu :
Manipulator Keterangan
Dec Menampilkan bilangan dalam basis decimal (basis 10)
Endl Menyisipkan baris baru dan mengosongkan stream
Ends Menyisipkan karakter akhir string
Flush Mengosongkan ostream
Hex Menampilkan bilangan dalam basis hexadesimal
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
10
Program Studi Teknik Informatika Universitas Islam Riau
Oct Menampilkan bilangan dalam basis octal
Setbase (int n) Mengubah basis bilangan
Setprecision (int n) Mengatur derajat ketelitian untuk bilangan floating point
Setw (int n) Mengatur lebar output
Setfill(int c) Menyetel karakter pemenuh berupa c
Setiosflags(long f) Menyetel format tampilan (lihat tabel setiosflags)
Tanda format untuk setiosflags() dan resetiosflags()
Nama tanda format
Keterangan
ios::left Menyetel rata kiri terhadap field yang diatur melalui setw()
ios::right Menyetel rata kiri terhadap field yang diatur
melalui setw()
ios::scientific Menformat keluaran dalam notasi eksponential ios::fixed Menformat keluaran dalam notasi decimal
ios::dec Menformat keluaran dalam basis 10 (decimal )
ios::oct Menformat keluaran dalam basis 8 (oktal )
ios::hex Menformat keluaran dalam basis 16 (hexadecimal)
ios::uppercase Memformat huruf pada notasi heksadecimal dalam bentuk huruf kapital
ios::showbase Menampilkan awalan 0x untuk bilangan heksadecimal atau 0 (nol) untuk bilangan oktal
ios::showpoint Menampilkan titik decimal pada bilangan
pecahan yang tidak memiliki bagian pecahan
ios::showpos Untuk menampilkan tanda + pada bilangan positif
4. Latihan
Program I
#include <math.h>
#include <stdio.h> int
main(void) {
double x = 2.0, y = 3.0;
printf("%lf raised to %lf is %lf\n", x, y, pow(x, y)); return 0; }
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
Program II
#include <iomanip.h>
#include <conio.h> #include
<iostream.h> void main() {
int x = 4321;
cout << “nilai x dalam hexadecimal :” <<hex<<x<<endl; cout <<
“nilai x dalam octal :” <<oct<<x; getch(); }
Program III
# include <iostream.h> #
include <conio.h>
# include <iomanip.h> #
include <math.h> void
main() {
clrscr(); double x; x = 9876.5436; cout << "tampilan 2 presisi :"<< setw(20)
<<setprecision(2)<<x;<<endl;
cout << "tampilan 3 presisi :"<< setw(20)
<<setprecision(3)<<x;<<endl;
cout << "tampilan 4 presisi :"<< setw(20)
<<setprecision(4)<<x;<<endl;
getch();
}
Program IV
# include < .............. >
void main()
{
clrscr(); double x; x = 9876.5436; cout << "tampilan 2 presisi :"; cout <<
setw(20)<<setprecision(2)
<<setiosflags(ios::left)<<x<<endl; cout <<
"tampilan 3 presisi :"; cout << setw(20)<<setprecision(3)
<<setiosflags(ios::left)<<x<<endl; cout <<
"tampilan 4 presisi :";
cout << setw(20)<<setprecision(4)
<<setiosflags(ios::left)<<x<<endl; getch(); }
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
MODUL IV.a
STRUKTUR KENDALI PERCABANGAN
1. Tujuan
a. Mengetahui fungsi fungsi kendali percabangan atau penyeleksian kondisi pada C++
dan kegunaannya
b. Mampu menganalisa penggunaan struktur kendali yang tepat dalam sebuah kasus
pemrograman
c. Mampu menganalisa penggunaan struktur kendali untuk beberapa kondisi dan
kaitannya dengan oprator logika
2. Alat dan Bahan
Alat & bahan yang digunakan adalah hardware perangkat PC beserta kelengkapannya
berjumlah 40 PC dengan Code block atau Borland C++ atau Java SDK dan editor IDE
(disarankan Netbeans) telah terinstall di masing-masing unit.
3. Teori dasar
a. Fungsi if
Digunakan untuk menyeleksi satu kemungkinan kondisi, baik kondisi benilai
benar atau bernilai salah.
Sintaks : If (kondisi )
{
statement_1;
statement_2;
…. staement_n;
}
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
b. Fungsi if .. else
Digunakan untuk menyeleksi dua kemungkinan atau lebih, dimana masing-
masing kondisi baik bernilai benar atau bernilai salah akan melakukan suatu
aksi Sintaks : If (kondisi_1)
{ statement_1;
statement_2;
….
staement_n;
}
else if (kondisi_2)
{ statement_1;
statement_2;
….
staement_n;
}
c. Membandingkan Data Bernilai string
Untuk membandingkan data yang (bernilai) string digunakan fungsi strcmp()
Description
Compares one string to another.
strcmp performs an unsigned comparison of s1 to s2, starting with the first
character in each string and continuing with subsequent characters until the
corresponding characters differ or until the end of the strings is reached.
If s1 is... return value
is... less than s2 < 0
the same as s2 = = 0
greater than s2 > 0
4. Latihan
Program I
#include < ... h>
void main()
{
clrscr();
int n_angka;
cout <<"input nilai angka :";cin>>n_angka;
if (n_angka >= 60)
printf("lulus");
else
printf("gagal");
getch();
}
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
Program II
void main()
{
clrscr();
int n_angka;
char ket[10];
cout <<"input nilai angka :";cin>>n_angka;
if (n_angka >= 60)
strcpy(ket,"lulus");
else
strcpy(ket,"gagal");
cout <<"keterangan :";cout<<ket;
getch();
}
Program III
mencari titik kuadran
x
layout :
mencari posisi
kuadran input titik
(p,x) : -4 input titik
(p,y) : 3 titik p(x,y) : ? 2
Program IV
Mencari bilangan terbesar dari b buah bilngan yang diinputkan
Layout :
Mencari bilangan maks
Input bilangan 1: Input bilangan 2:
Input bilangan 3:
Bilangan terbesar : ?
Bilangan terkecil :
y
2
II I
1
-2 -1 0
III
1 2
IV
3
-1
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
Program V
Menentukan jenis bilangan yang diinputkan, apakah bilangan genap atau bilngan ganjil
Layout : input sebuah bilangan : Jenis bilangan :
Program VI
Menentukan akar-akar dari suatu persamaan kuadrat
Nilai determinan D dapat dihitung dengan rumus D= b2 -4 * a* c Jika
D bernilai positif maka,
x1 = -b+√d
2 * a x2 =
-b-√d 2 * a
Jika D bernilai nol maka, x2
= -b
2 * a
Jika D bernilai negatif maka,
X1 = -b
2 * a x2 =
√-d 2 * a
Program VII
Menentukan nama jurusan berdasarkan kode jurusan
Layout : input kode jurusan : nama jurusan :
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
MODUL IV.b
STRUKTUR KENDALI PERCABANGAN
1. Tujuan
Mengetahui fungsi kendali percabangan atau penyeleksian kondisi dengan
menggunakan swith() pada C++.
2. Alat dan Bahan
Alat & bahan yang digunakan adalah hardware perangkat PC beserta kelengkapannya
berjumlah 40 PC dengan Code block atau Borland C++ atau Java SDK dan editor IDE
(disarankan Netbeans) telah terinstall di masing-masing unit.
3. Teori dasar
switch() digunakan untuk menyeleksi beberapa kemungkinan nilai, dimana nilai yang
akan diseleksi hanya dapat berupa konstanta, baik konstanta karakter maupun konstanta
numerik.
Sintaks : switch (switch_expression)
{ case expression :
[statement1;]
[statement2;]
...
[break;]
}
switch_expression
[default :
[statement1;]
[statement2;]
...]
Any valid cScript expression, including a function call. Unlike C++, the
switch_expression is evaluated for each case in a top-down fashion until a
match is found or no more case statements remain. expression
Any valid cScript expression, including a function call. statement
The statement to execute.
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
4. Latihan
Program I
void main()
{
clrscr();
int bobot;
gotoxy(20,5);cout <<"input nilai huruf :";cin>>n_huruf;
switch(n_huruf)
{
case 'a' : bobot = 4;
break;
case 'b' : bobot = 3;
break;
case 'c' : bobot = 2;
break;
case 'd' : bobot = 1;
break;
case 'e' : bobot = 0;
}
gotoxy(20,6);cout <<"bobot nilai :";cout<<bobot;
getch();
}
Program II
switch( someNumber ) {
case 3: //Execution continues to case bar()
case MyFunc():
DoSomeStuff();
// No break. Even if this case executes,
// the next case is still evaluated.
case W.Y.Z:
DoSomethingElse();
break; // If this case executes, switch ends here.
case 42:
DoItAll();
default:
// Anything not matching previous cases comes through here
}
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
Program III
Buat program untuk menyelesaikan masalah berikut
layout :
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
Program IV
layout :
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
menu 1. menghitung luas lingkaran
2. menghitung luas segitiga
3. keluar dari program input pilihan anda :
input kode bulan : 2 nama bulan : januari
Program V
Kerjakan dengan switch bersarang
layout :
menu A. menghitung kubus
B. menghitung lingkaran
C. keluar dari program Pilih nomor (A,B,C)
:
1. isi kubus
2. luas sisi kubus pilih nomor (1,2) :
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
MODUL V.a
STRUKTUR KENDALI PERULANGAN
1. Tujuan
a. Mengetahui fungsi fungsi kendali perulangan pada C++ dan kegunaannya.
b. Mampu mengetahui dan menggunakan statemen perulangan yang dapat
digunakan untuk membantu dalam memecahkan masalah
c. Dapat memilih statemen perulangan yang tepat untuk membantu memecahkan masalah.
2. Alat dan Bahan
Alat & bahan yang digunakan adalah hardware perangkat PC beserta kelengkapannya
berjumlah 40 PC dengan Code block atau Borland C++ atau Java SDK dan editor
IDE (disarankan Netbeans) telah terinstall di masing-masing unit
3. Teori dasar
a. for ()
Biasanya digunakan untuk perulangan yang bersifat tetap atau konstan (sudah
diketahui jumlah perulangannya).
Sintaks : for ( [initialization] ; [condition] ; [expression] ) statement
initialization
Initializes variables for the loop. initialization can be an expression or a
declaration. Variables are initialized before the first iteration of the loop.
condition
Must evaulate to either TRUE or FALSE. When FALSE, statement stops
executing .
Expression
The expression to evaluate after each iteration of the loop. expression usually
increments or decrements the initialization variable in some way.
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
statement
The statement to be executed. statement executes repeatedly as long as the value of condition remains TRUE.
4. Latihan
Program I
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
void main()
{
clrscr();
int x;
x = 0;
for(x=5;x>=0;x--)
cout << x <<endl;
getch();
}
Program II
#include < ..... >
void main()
{ clrscr();
int no;
no = 0;
int baris,celci;
float fahre;
cout<<"\nkonversi nilai celcius to fahrenheit";
cout<<"\n+-------------------------------- +";
cout<<"\n| no | celcius | fahrenheit |";
cout<<"\n+-------------------------------- +";
celci = 10;
for(no=1;no<=10;no++)
{ cout<<"|"<<setw(5)<<no<<"|"<<setw(10)<<celci;
celci = celci + 10;
cout<<"|";
fahre = 1.8*celci+32;
cout<<setprecision(2)<<setiosflags(ios::showpoint)
<<fahre;
}
getch();
}
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
Program III
Dengan menggunakan statemen perulangan for, buat program untuk menyelesaikan
masalah berikut
layout :
No Rupiah Jumlah liter
premium solar pertamax
1 100000 ? ? ?
2 90000 ? ? ?
10
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
fungsi A()
fungsi main()
fungsi B2() fungsi B1()
fungsi B()
MODUL VI.a
FUNGSI
1. Tujuan
Memahami tujuan penggunaan fungsi dalam sebuah program
Mengetahui cara pendeklarasian fungsi, pengiriman parameter dan pembuatan fungsi
2. Alat dan Bahan
Alat & bahan yang digunakan adalah hardware perangkat PC beserta kelengkapannya
berjumlah 40 PC dengan Code block atau Borland C++ atau Java SDK dan editor IDE
(disarankan Netbeans) telah terinstall di masing-masing unit.
3. Teori dasar
Sebuah fungsi berisi sejumlah pernyataan yang dikemas dalam sebuah nama. Nama
ini selanjutnya dapat dipanggil beberapa kali di beberapa tempat dalam program.
Bentuk umum dari fungsi tamapak sebagai berikut :
Tipe nama_fungsi(argumen1, argumen2,...)
{
. . .
. . .
}
Tujuan fungsi antara lain yaitu :
- Mempermudah dalam pengembangan program
- Menghemat dalam ukuiran program
Program Studi Teknik Informatika Universitas Islam Riau
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Sebelum suatu fungsi dibuat, fungsi tersebut terlebih dahulu harus dideklarasikan
yang disebut dengan prototype fungsi. Prototype ini berupa :
Nama fungsi
Tipe nilai balik fungsi
Jumlah dan type argumen
Contoh prototype fungsi
- Float tambah(float A,float B);
- Void garis();
3. Latihan
Program I
#include < ...... >
void garis();
float main()
{
clrscr();
garis();
cout<<endl;
cout <<"c++ programming";
cout<<endl;
garis();
getch();
return 0;
}
void garis()
{
for (int I=0;I<=15;I++)
cout<<"-";
}
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
Program II
#include < ...... h>
void segitiga(); void
lingkaran();
void main()
{
int pilih;
clrscr;
cout<<"\nmenu utama";
cout<<"\n[1].segitiga ";
cout<<"\n[2].lingkaran";
cout<<"\n[3].exit";
cout<<"\ninput pilihan :"; cin>>pilih; switch(pilih)
{ case 1 : segitiga(); break;
case 2 : lingkaran(); break;
default : exit;
}
getch();
}
void segitiga()
{
int alas,tgi;
float luas;
cout<<"input alas :";cin>>alas;
cout<<"input tinggi :";cin>>tgi; luas
= 0.5*alas*tgi;
cout<<"luas segitiga:";cout<<luas;
}
void lingkaran()
{
…..
……
}
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
MODUL VI.b
FUNGSI
1. Tujuan
a. Memahami paramater dalam sebuah fungsi
b. Mengetahui cara pertukaran parameter antar fungsi
2. Alat dan Bahan
Alat & bahan yang digunakan adalah hardware perangkat PC beserta kelengkapannya
berjumlah 40 PC dengan Code block atau Borland C++ atau Java SDK dan editor IDE
(disarankan Netbeans) telah terinstall di masing-masing unit.
3. Teori dasar
Ada kalanya sebuah informasi membutuhkan pertukaran informasi dengan fungsi
lain, pertukaran informasi ini dapat dilakukan dengan cara pertukaran nilai antar
parameter. Dalam pertukaran nilai antar parameter ini dapat dilakukan dengan dua cara
yaitu secara nilai(by value) atau secara acuan (by reference)
1. Pertukaran secara nilai
- Menyalin nilai dari parameter aktual ke parameter formal
- Pertukaran nilai ini bersifat satu arah yaitu dari parameter aktual ke parameter
formal, akibatnya jika terjadi perubahan nilai pada parameter aktual akan
mempengaruhi nilai pada parameter formal, tapi tidak untuk sebaliknya.
2. Pertukaran secara acuan (by reference)
- Pertukaran nilai ini bersifat dua arah, yaitu dari parameter aktual keparameter
formal dan dari parameter formal ke parameter aktual, akibatnya kalau terjadi
perubahan nilai pada salah satu parameter akan saling mempengaruhi.
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
Lingkup variabel menentukan keberadaan suatu variabel tertentu dalam fungsi.
Ada tiga jenis variabel pada suatu fungsi :
1. Variabel otomatis atau disebut juga variabel lokal, variabel ini mempunyai sifat
- Variabel hanya diciptakan saat fungsi dipanggil dan saat fungsi berakhir
(selesai dieksekusi) maka variabel akan sirna
- Hanya dapat diakses pada fungsi yang mendefenisikannya
2. Variabel eksternal atau disebut juga variabel global, variabel ini mempunyai sifat
- Variabel ini mempunyai durasi selama program dieksekusi, dengan kata lain,
memori yang digunakan untuk variabel ini tetap dipertahankan selama
program belum berakhir
- Variabel ini dapat diakses pada semua fungsi
3. Variabel static, variabel ini mempunyai sifat
- Jika variabel lokal yang dibuat statis, maka variabel ini tetap hanya dapat
diakses pada fungsi yang mendefenisikannya, akan tetapi nilainya tidak hilang
saat eksekusi fungsi berakhir
- Jika variabel eksternal yang dibuat static, variabel ini dapat diakses oleh
semua file yang mendefenisikan pada file yang sama dengan variabel
eksternal tsb (kode program ditaruh pada beberapa file)
4. Latihan
Program I
#include < ...... >
float tambah(float a,float b);
float main()
{
float hasil;
float x,y;
clrscr();
cout<<"input nilai x :";cin>>x;
cout<<"input nilai y :";cin>>y;
cout<<"hasil :";cout<<tambah(x,y);
cout<<"nilai x setelah pemanggilan fungsi tambah :";cout<<x;
cout<<"nilai y setelah pemanggilan fungsi tambah :";cout<<y;
getch();
return 0; }
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
float tambah(float a, float b)
{ float c;
c = a + b;
a=a+2;
b=b+2;
return(c); }
Program II
#include < ...... >
float tambah(float *a,float *b);
float main()
{
float hasil;
float x,y;
clrscr();
cout<<"input nilai x :";cin>>x;
cout<<"input nilai y :";cin>>y;
cout<<"hasil :";cout<<tambah(&x,&y); cout<<"nilai x setelah pemanggilan fungsi tambah :";cout<<x;
cout<<"nilai y setelah pemanggilan fungsi tambah :";cout<<y;
getch();
return 0;}
float tambah(float *a, float *b)
{
float c;
c = *a + *b;
*a=*a+2;
*b=*b+2;
return(c);
}
Program III
char *ket(int na);
void main()
{
clrscr();
int n_akhir;
cout<<"input nilai akhir :";scanf("%i",&n_akhir);
cout<<endl;
cout<<"keterangan :";printf("%s",ket(n_akhir));
getch();
return ; }
char *ket(int na)
{
if (na>65)
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
{
}
else
{
}
}
return("lulus");
return("gagal");
Program IV
char *proses(char a[3]);
main()
{
char kode[3];
printf("kode jurusan :");gets(kode);
printf("nama jurusan :");printf("%s",proses(kode));
getch();
}
char *proses(char a[3])
{
if(strcmp(a,"si")==0)
{
return("sistem informasi");
}
else
{
return("sistem komputer");
}
}
Program V
Dengan menggunakan fungsi buatlah program untuk menyelesaikan,
Mencari nilai huruf berdasarkan nilai angka Layout :
Input nobp :
Input nilai angka :
Nilai huruf :
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
Program VI
Mencari nilai terbesar, total dan rata-rata dari 3 buah bilangan yang diinput
Layout :
Input bil 1:
Input bil 2:
Input bil 3: Bilangan
terbesar : Total
bilangan :
Rata-rata :
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
MODUL VII
ARRAY
1. Tujuan
a. Memahami tujuan array dalam sebuah program
b. Mengetahui cara pembuatan array atau larik dalam program c++
2. Alat dan Bahan
Alat & bahan yang digunakan adalah hardware perangkat PC beserta kelengkapannya
berjumlah 40 PC dengan Code block atau Borland C++ atau Java SDK dan editor IDE
(disarankan Netbeans) telah terinstall di masing-masing unit.
3. Teori dasar
Array adalah kumpulan data yang bertipe sama yang menggunakan nama yang
sama. Setiap data ditandai dengan sebuah indeks, dan setiap data diakses melalui
indeksnya. Indeks array harus bertipe numerik bilangan bulat. C++ secara otomatis
akan memberi nilai awal nol terhadap array yang bersifat global. Tidak demikian
halnya kalau array didefenisikan secara lokal. Pemrogram harus mengatur sendiri nilai
awal array lokal.
Array dapat berdimensi satu, dua, tiga atau lebih. Array dimensi satu mewakili
bentuk suatu vektor, Array dimensi dua mewakili bentuk suatu matrik atau tabel. Array
dimensi tiga mewakili bentuk suatu ruang.
Suatu array dapat dideklarasikan dengan menyebutkan jumlah dari elemennya yang
ditulis antara tanda [], contoh :
int x[5];
Menunjukkan suatu array dimensi satu dengan nama x dideklarasikan dengan tipe
data int yang mempunyai lima buah elemen.
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
4. Latihan
Program I
Program berikut akan menghitung nilai total, rata-rata dan deviasi standar dari
sejumlah nilai data. Misalanya data yang ada adalah sebanyak N buah. Nilai-nilai
data ini adalah Xi. Nilai-nilai data ini dapat diwakili dengan suatu array X dengan
indek 0 sampai dengan N-1 dengan elemen X[0] menunjukkan nilai X1, X[1]
menunjukkan nilai X2 dan seterusnya. Total dari nilai-nilai data ini dapat
ditunjukkan dengan rumus :
Rata-rata nilai data dapat dihitung dengan rumus :
Rata = total / N
Deviasi standar kemudian dapat dihitung dengan rumus :
Program untuk menghitung nilai total, rata-rata dan deviasi standart ini adalah
sebagai berikut :
main()
{
int N,I;
float X[1000], total=0,rata,xi_rata_2=0,SD;
printf(”jumlah dari data =”); scanf(”%i”,&N);
for(I=0;I<N;I++)
{
printf(”nilai data ke %d ?”,I+1);
scanf(”%f”,&X[1]);
total = total + X[I];
}
rata = total / N;
for(I=0;I<N;I++)
{
PEMROGRAMAN KOMPUTER I / PROGRAMMING COMPUTER I
Program Studi Teknik Informatika Universitas Islam Riau
Xi_rata_2+=((X[I] – rata) * (X[I] – rata));
}
SD = sqrt(Xi_rata_2 / N) printf(”jumlah
data = %d”,N); printf(”total nilai
= %f”,total);
printf(”rata-rata nilai =%f”,rata);
printf(”deviasi standar = %f”,SD);
}
Program II
void main()
{
clrscr();
char nobp[5][10];
char nama[5][15];
int n_angka[5]; int
x,i
x= 0;
do
{
cout<<"input nobp :";cin>>nobp[x];
cout<<"input nama :";cin>>nama[x];
cout<<"nilai angka :";cin>>n_angka[x];
x++;
cout<<"masih ada data :";cin>>mad;
}
while (mad =='y'); getch();
clrscr();
cout<<"+ ------------------------------------- +";
cout<<"| no | nobp | nama | n angka |"; cout<<"+
--------------------------------------------- +";
for (i=0;i<x;i++)
{
cout<<"|"<<setw(5)<<i<<"|"<<setw(15)<<nobp[i]
<<"|"<<setw(20)<<nama[i]<<"|"
<<setw(10)<<n_angka[i]<<"|";
}
getch(); return;
}