Anda di halaman 1dari 21

LAPORAN PRAKTIKUM VI

FUNGSI

Disusun untuk Memenuhi Matakuliah Praktikum Dasar Pemrograman C++


Dibimbing oleh Bapak Wahyu Sakti Gunawan Irianto

Oleh:
SITI AMINAH
160533611428
S1 PTI16 OFF D

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA
November 2016

FUNGSI
Tujuan

Setelah mempelajari bab ini diharapkan mahasiswa akan mampu


1. Memahami fungsi
2. Mendeklarasikan dan mendefinisikan fungsi
3. Menyelesaikan masalah menggunakan fungsi
4. Memahami metode pemanggilan fungsi
5. Membuat fungsi rekursif

DASAR TEORI

Dalam pembuatan program diataas terdapat suatu rumus permutasi. Agar program lebih
efisien dipisahkan antara rumus dengan program utama, sehingga dalam program utama
hanya ada perintah memanggil rumus untuk memproses suatu variable. Hal ini dalam
pemrograman diseut sebagai fungsi. Fungsi merupakan blok dari kode yang dirancang untuk
melakukan tugas khusu. Tujuan pembuatan fungsi adalah:
Program menjadi terstruktur
Dapat mengurangi duplikasi kode
Fungsi dapat dipanggil dari program atau fungsi yang lain
pada umumya fungsi memerlukan masukan yang disebut parameter atau argument. Hasil
akhir fungsi akan berupa nilai (nilai balik fungsi). Bentuk umum sebuah fungsi adalah:
Type fungsi berfungsi untuk menentukan tipe keluaran fungsi yang dapat berupa salah satu
tipe data C++ yang berlaku misalnya char atau int. default tipe yang tidak disebutkan
dianggap sebagai int.
Contoh :
Ckali{
Retrun (0);
}

PROTOTYPE FUNCTION
Sebuah program C++ dapat terdiri dari banyak fungsi. Salah satu fungsi tersebut harus
bernama main(). Jika fungsi yang lain dituliskan setelah fungsi main(), sebelum fungsi main
harus ditambahkan prototype function agar fungsi tersebut dapat dikenal. Hala tersebut tidak
berlaku jika penulisannya dilakukan sebelum fungsi main(). Misal :
Call by Value Vs Call by Reference
Ada dua cara pemanggilan fungsi yait : 1). Call by value. 2). Call by reference
1. Call by Value
Pemanggilan fungsi dengan melewatkan nilai parameter variable dalam defnisi fungsi.
Fungsi tersebut akan mengolah nilai yang dikrimkan kepadanya. Misalnya :

2. Call by Reference
Pemanggilan dengan referensi merupakan suatu usah melewatkan alamat dari suatu
variable ke dalam fungsi. Dengan pengubahan dilaukan didalam fungsi untuk
mengubah variable diluar fungsi. Misal:
A bernilai 20 X juga bernilai 20
B bernilai 30 Y juga bernilai 30
Selanjutnya nilai X dan Y diproses tetapi nilai A dan B akan tetap(tidak berubah).
Metode call by reference menggunakan operator pointer & dan * untuk
mengirimkan alamat variable ke sustu fungsi.
Fungsi Rekursif
Fumgsi rekursif adalah fungsi yang memanggil dirinya sendiri artinya fungsi tersebut
dipanggil di dalam tubuh fungsi itu sendiri. Parameter yang dilewatkan berubah
sebanyak fungsi itu dipanggil.
Latihan Praktikum 1
Pemrograman C++
Nama Program : pemanggilan fungsi
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream>
using namespace std;

void Rtukar(int*, int*);


void Vtukar(int, int);

main ()
{
int a,b;
a=99; b=11;
//call by reference
cout << "Nilai sebelum pemanggilan fungsi "<<endl;
cout << "Nilai a= " << a << " Nilai b= " << b << endl;
Rtukar (&a,&b);
cout << "Nilai setelah pemanggilan fungsi Rtukar: " << endl;
cout << "Nilai a= " << a << " Nilai b= " << b << endl << endl
<< endl;
//kembalikan ke nilai semula
a=99;
b=11;
//cal by value
cout << "\nNilai sebelum pemanggilan fungsi : " << endl;
cout << "Nilai a= " << a << " Nilai b= " << b << endl;
Vtukar (a,b);
cout << "Nilai setelah pemanggilan fungsi Vtukar: " << endl;
cout << "Nilai a= " << a << " Nilai b= " << b << endl;
return 0;
}

void Rtukar (int *px, int *py)


{
int temp;
temp = *px;
*px = *py;
*py = temp;
cout << "Nilai pada fungsi dengan Call by value: " << endl;
cout << "Nilai px= " << *px << " Nilai py= " << *py << endl <<
endl << endl;
}

void Vtukar (int px, int py)


{
int temp;
temp = px;
px = py;
py = temp;
cout << "Nilai pada fungsi dengan Call by Value: " << endl;
cout << "Nilai px= " << px << " Nilai py= " << py << endl <<
endl << endl;
}
Output program :
Penjelasan program :
Program ini digunakan untuk membuat fungsi Vtukar dan Rtukar. Program ini merupakan
program fungsi call by value dan call by reference. Dalam fungsi call by value dan call by
reference menggunakan & yang disebut dengan alamat yang dipanggil. Fungsi * merupakan
isi dari alamat yang dipanggil. Program ini menggunakan file header #include <iostream.h>
untuk menampilkan perintah cin cout. Menggunakan fungsi main(). Proses yang dilakukan
yaitu mendeklarasikan variabel a b dengan tipe data integer. Yaitu a=99 dan b=11. Lalu
ditampilkan hasil nilai setelah pemanggilan yaitu a=11 dan b=99. Begitu juga dengan nilai
tukar pada Vtukar yaitu dari Rtukar dipanggil lagi ke Vtukar yaitu kembali lagi seperti nilai
awal yaitu Vtukar sama dengan a=99 dan b=11.

Latihan Praktikum 2
Pemrograman C++
Nama Program : mencari nilai terbesar dari suatu data
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
//fungsi
#include <stdio.h>
//deklarasi fungsi
int cari (int n1, int n2);
void prin (int m);

//main function
main()
{
int i=5;
int j=7;
int k;
k=cari(i,j);
prin (k);
return 0;
}
//<-- function definition here

int cari (int a, int b)


{
if (a>b) return a;
else return b;
}
void prin (int m)
{
printf("Bilangan terbesar adalah : %d\n",m);
}
//<-end function

Output program :

Penjelasan program :
Program diatas digunakan untuk mengetahui bilangan ynag terbesar dari data yang
diinputkan. Menggunakan header #include <stdio.h> untuk menampilkan perintah
printf dan scanf. dengan fungsi main (). Program diatas diproses dengan
mendeklarasikan variable i=5, j=7 dan k. nilai dari fungsi k ditentukan dengan mencari
parameter i dan j. nilai k dipanggil dengan cari (I,j). yaitu nilai k adalah nilai balik i. jika nilai
a>b maka nilai balik adalah a dan seb.aliknya. Lalu ditampilkan dengan ketentuan m
diperoleh dari k yang mempunyai nilai balik

Latihan Praktikum 3
Pemrograman C++
Nama Program : menghitung pajak.
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>

//deklarasi fungsi
int calcSalesTax(float purchase, float taxRate=0.1);
//main function
main()
{
float purchase;
cout<<"masukkan pembelian : ";
cin>>purchase;

float tax=calcSalesTax(purchase);
cout<<"Pajak pembelian adalah : "<<tax<<endl;
return 0;
}
int calcSalesTax(float purchase, float taxRate)
{
return purchase*taxRate;
}
Output program :

Penjelasan program :
Program diatas digunakan untuk menghitung pajak pemeblian.. Menggunakan header
#include <iostream.h> dengan fungsi main ().dengan menggunakan tipe data
float untuk mendeklarasikan purchase. Proses kita masukkan harga pembelian lalu
ditampilkan pada perintah cin. Dalam proses penghitungan pajak sudah ditentukan rumusnya
lalu memproses menghitung pada perintah :
float tax=calcSalesTax(purchase);
cout<<"Pajak pembelian adalah : "<<tax<<endl;
return 0;
}
int calcSalesTax(float purchase, float taxRate)
{
return purchase*taxRate;
}
Setelah melakukan pendeklarsian nilai kalkulasi pajak dengan rumus *10%. Kemudian akan
dihasilkan jika pembelian 100000 maka pajak yang dibayar yaitu 10000.

Latihan Praktikum 4
Pemrograman C++
Nama Program : latihan praktikum 4
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
/*aplikasi rekursif pada faktorial*/
#include <iostream.h>
int faktorial(int a)
{
if (a==1)
return 1;
else
return a*faktorial(a-1);
}

int main()
{
int x;
cout<<"Mencari Nilai Faktorial \n";
cout<<"Masukkan nilai n = ";
cin>>x;
cout<<"faktorial"<<x<<"!="<<faktorial(x)<<endl;
}

Output program :

Penjelasan program :
Program diatas digunakan untuk menghitung faktorial. Menggunakan header #include
<iostream.h> dengan fungsi int main (). Tipe data integer digunakan
untuk mendeklarasikan factorial. Pertama kita memasukkan bilangan angka,
kemudian dilanjutkan pada rumus a*factorial(a-1). Kemudian program akan menampilkan
hasil dari perhitungan. Dalam program kita masukkan nilai factorial dari 4 yaitu 24.

Latihan Praktikum 5
Pemrograman C++
Nama Program : menghitung bilangan fibonaci
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
/*aplikasi rekursif pada fibonacci*/
#include <iostream.h>

long fibo(long a)
{
if (a==1 || a==2)
return 1;
else
return fibo(a-1) + fibo (a-2);
}

int main()
{
int x;
cout<<"Mencari Nilai Fibonacci \n";
cout<<"Masukkan Nilai N= ";
cin>>x;
cout<<"Fibonacci "<<x<<" = "<<fibo(x)<<endl;
}
Output program :

Penjelasan program :
Program diatas digunakan untuk menghitung bilangan fibonaci. Menggunakan header
#include <iostream.h> dengan fungsi int main ().menggunakan tipe data long
untuk mendeklarasikan fibo. Proses pertama yaitu dengan memasukkan nilai deret ke-n
bilangan fibonaci. Misalkan kita menginputkan nili 7 maka akan dihasilkan bilangan
fibonacinya yaitu 13. Hasil tersebut didapat dari sebuah rumus perintah : return fibo(a-1)
+ fibo (a-2);. Dalam proses ini dilakukan pula proses if-else.

Tugas Praktikum 1
Pemrograman C++
Nama Program : rumus kombinasi
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>
int faktor(int x)
{
if(x!=1)
{
return x*faktor(x-1);
}
else
{
return 1;
}
}
int kombinasi(int n, int r)
{
return faktor(n)/(faktor(r)*faktor(n-r));
}

int main ()
{
int x,n,r,hasil,nfaktorial=1,rfaktorial=1,xfaktorial=1;
cout << "-----RUMUS KOMBINASI-----" << endl << endl;
cout << " n!"<<endl;
cout << " -----------"<<endl;
cout << " r! * (n-r)!"<<endl<<endl;
cout << "Masukkan nilai n : ";
cin >> n;
cout << "Masukkan nilai r : ";
cin >> r;
cout << endl << "Hasil " << n << " Kombinasi " << r << " adalah
: " << kombinasi(n,r);
}

Output program :

Penjelasan program :
Program diatas digunakan untuk menghitung kombinasi. Menggunakan header #include
<iostream.h> digunakan untuk menampilkan perintah cin cout. dengan fungsi int
main (). dalam proses kombinasi terdapat rumus yaitu; return faktor(n)/
(faktor(r)*faktor(n-r)); dari rumus tersebut nilai akan dikembalikan adlah ahsil
dari perhitungan fungsi factorial. Setelah melakukan perhitungan, maka nilai akan dibawa
dan dioutput dengan cout hasil cout << endl << "Hasil " << n << "
Kombinasi " << r << " adalah : " << kombinasi(n,r);

Tugas Praktikum 2
Pemrograman C++
Nama Program : menghitung luas permukaan,selimut dan volume tabung
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>
#include <stdio.h>

float luas_selimut (int r, int t)


{
float phi=3.14;
return 2*phi*r*t;
}
float luas_permukaan (int r, int t)
{
float phi=3.14;
return 2*phi*r*(r+t);
}
float volume(int r, int t)
{
float phi=3.14;
return phi*r*r*t;
}
void tampil()
{
int jari_jari, tinggi;
cout<<" MODUL FUNCTION \n";
cout<<" ----------------- \n";
cout<<" PROGRAM COMBINASI PROGRAM TABUNG \n";
cout<<" ---------------------------------- \n";
cout<<" Masukkan Nilai Jari-Jari Tabung : ";
cin>>jari_jari;
cout<<" Masukkan Nilai Tinggi Tabung : ";
cin>>tinggi;
cout<<" --------------------------------- \n";
cout<<" Nilai Luas Permukaan Tabung :
"<<luas_permukaan(jari_jari,tinggi)<<endl;
cout<<" Nilai Selimut Tabung : " <<luas_selimut(jari_jari,
tinggi)<<endl;
cout<<" Nilai Volume Tabung : "
<<volume(jari_jari,tinggi)<<endl;
cout<<"
--------------------------------------------------------\n";
}
int main ()
{
tampil ();
}
Output program :

Penjelasan program :
Program diatas digunakan untuk menghitung nilai luas permukaan tabung, nilai selimut
tabung dan nilai volume tabung. Menggunakan header #include <iostream.h>
dengan fungsi int main (). Dari program ini diberikan rumus yang dideklarasikan pada
tipe data float yaitu :
float luas_selimut (int r, int t)
{
float phi=3.14;
return 2*phi*r*t;
}
float luas_permukaan (int r, int t)
{
float phi=3.14;
return 2*phi*r*(r+t);
}
float volume(int r, int t)
{
float phi=3.14;
return phi*r*r*t;
}
Dari rumus fungsi tersebut ditampilkan pada void main sehingga dapat diketahui berapa nilai
hasil dari penghitungan 3 rumus diatas. Dari kita masukkan nilai jari-jari dan nilai tinggi
tabung setelah itu diproses dengan menggunakan perintah cout :
cout<<" Nilai Luas Permukaan Tabung :
"<<luas_permukaan(jari_jari,tinggi)<<endl;
cout<<" Nilai Selimut Tabung : " <<luas_selimut(jari_jari,
tinggi)<<endl;
cout<<" Nilai Volume Tabung : "
<<volume(jari_jari,tinggi)<<endl;
dari perintah tersebut diperoleh hasil untuk penghitungan rumus tabung.

Tugas Rumah 1
Pemrograman C++
Nama Program : menentukan batas
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream>
using namespace std;

int terbesar (int x[],int a)


{
int b;
for (int i=0; i<=a-1; i++)
if (x[i] > b)
{
b=x[i];
}
return(b);
}
int terkecil (int x[], int a)
{
int b=x[0];
for (int i=0; i<=a-1; i++)
if (x[i] < b)
{
b=x[i];
}
return (b);
}
int main()
{
int data [100];
int i=0;
char lanjut;

cout<<" MODUL FUNCTION \n";


cout<<"----------------- \n";
cout<<" MENENTUKAN BATAS \n";
cout<<"----------------- \n";

do
{
cout<<" Masukkan Data : ";
cin>>data[i];
cout<<" Masukkan Data Lagi? (y/n) : ";
cin>>lanjut;

i++;
}
while (lanjut == 'y' || lanjut == 'Y');

cout<<"\nData Terbesar Adalah : "<<terbesar(data,i)<<endl;


cout<<" Data Terkecil Adalah : "<<terkecil(data,i)<<endl;
return 0;
}
Output program :

Penjelasan program :
Program diatas digunakan untuk menentukan batas.. Menggunakan header #include
<iostream.h> dengan fungsi int main (). Dalam program ini kita dapat
menentukan data terbesar dan terkecil dari data yang kita inputkan. Kita dapat masukkan
sebuah data pada perintah :
do
{
cout<<" Masukkan Data : ";
cin>>data[i];
cout<<" Masukkan Data Lagi? (y/n) : ";
cin>>lanjut;

i++;
}
while (lanjut == 'y' || lanjut == 'Y');
untuk melakukan input data lagi kita dapat menggunakan perulangan do-while sampai batas
n. dari data yang kita inputkan akan ditampilkan di :
cout<<"\nData Terbesar Adalah :
"<<terbesar(data,i)<<endl;
cout<<" Data Terkecil Adalah :
"<<terkecil(data,i)<<endl;
return 0;
data terbesar dan terkecil dikembalikan pada melalui proses fungsi perulangan for:
int terbesar (int x[],int a)
{
int b;
for (int i=0; i<=a-1; i++)
if (x[i] > b)
{
b=x[i];
}
return(b);
}
int terkecil (int x[], int a)
{
int b=x[0];
for (int i=0; i<=a-1; i++)
if (x[i] < b)
{
b=x[i];
}
return (b);
}

Tugas Rumah 2
Pemrograman C++
Nama Program : mencari nilai terbesar dari suatu data
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream>
#include <math.h>
using namespace std;

float rata(int a[], int i)


{
float total=0;
for (int x=0; x<i; x++)
{
total=total+x[a];
}
return total/i;
}

float sb (int a[], int i)


{
float total=0;
for (int x=0; x<i; x++)
{
total = total + ((rata(a,i)-a[x])*(rata(a,i)-a[x]));
}
return sqrt(total/(i-1));
}

int main ()
{
int data[100],i=0;
char lanjut;

cout <<
"-----------------------------------------------------------------";
cout << "\n\t\t\tMODUL FUNCTION";
cout <<
"\n-----------------------------------------------------------------"
;
cout << "\n\t\t PROGRAM STANDAR DEVIASI";
cout <<
"\n-----------------------------------------------------------------"
<<endl;

do
{
cout << "Masukkan Data : ";
cin >> data[i];

cout << "Masukkan Data Lagi? (y/n) : ";


cin >> lanjut;

i++;
}while (lanjut == 'y' || lanjut == 'Y');

cout << "\n\nNilai Rata - Rata : " << rata(data,i)<<endl;


cout << "\n\nNilai Simpangan Baku : " << sb(data,i)<<endl;
}
Output program :
Penjelasan program :
Program diatas digunakan untuk menghitung nilai dari program standar deviasi yaitu nilai
rata-rata dan simpangan baku.. Menggunakan header #include <iostream.h> dengan
fungsi int main (). Kita dapat memasukkan data terlebih dahulu lalu jika terdapat
perulangan masukkan data lagi jika ya ketikan karakter y jika ingin berhenti ketikan karakter
n. dari data yang dimasukkan kita dapat mengetahui berapa nilai rata-rata dan nilai
simpangan baku dari data yang dimasukkan dengan rumus perintah;
float rata(int a[], int i)
{
float total=0;
for (int x=0; x<i; x++)
{
total=total+x[a];
}
return total/i;
}

float sb (int a[], int i)


{
float total=0;
for (int x=0; x<i; x++)
{
total = total + ((rata(a,i)-a[x])*(rata(a,i)-a[x]));
}
return sqrt(total/(i-1));
}.

Tugas Rumah 3
Pemrograman C++
Nama Program : mencari modus
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream>
using namespace std;

void modus (int x[],int i)


{
int total[100];
int mod[100];
int k = 1;
int z = 0;
int j = 0;
// mengurutkan secara ascending
for (int a=0; a < i; a++)
{
for (int b=(a+1); b< i; b++)
{
if (x[a] > x[b])
{
int temp;
temp = x[a];
x[a] = x[b];
x[b] = temp;
}
}
}
//menghitung berapa kali muncul tiap angka
for (int a=0; a<i; a++)
{
total[a]=0;
for (int b=0; b<i; b++)
{
if (x[a]== x[b])
total[a]++;
}
}
//menentukan nilai yang paling sering muncul
for (int a=0; a<i; a++)
{
if (total[a]>k)
{
k = total[a];
}
}
//jika modus lebih dari satu
for (int a=0; a<i; a++)
{
if (j==0)
mod[j]=0;
else
mod[j]=mod[j-1];
if (total[a] == k)
{
if(x[a] != mod[j])
{
mod [j] = x[a];
j++;
}
}
}
//jika semua angka muncul sama banyak
for (int a=0; a<i; a++)
{
if (total[a]==k)
z++;
}
if (z==i)
j=0;

//output
if (j==0)
cout << "\n\nTidak Ada Modus!\n\n" ;
else
{
cout << "\n\nData Yang Sering Diinputkan Adalah
: ";
for (int a=0; a< j ;a++)
{
cout << mod[a] << " ";
}
cout << "\n\n";
}
}

int main ()
{
int data [100],i=0;
char lanjut;

cout <<
"--------------------------------------------------------
---------";
cout << "\n\t\t\tMODUL FUNCTION";
cout <<
"\n------------------------------------------------------
-----------";
cout << "\n\t MENETUKAN DATA YANG SERING
DIINPUTKAN";
cout <<
"\n------------------------------------------------------
-----------"<<endl;

do {
cout << "Masukkan Data : ";
cin >> data[i];

cout << "Masukkan Data Lagi ? (y/n) : ";


cin >> lanjut;
i++;
}while (lanjut == 'Y' || lanjut == 'y');

modus (data,i);

}
Output program :

Penjelasan program :
Program diatas digunakan untuk mencari modus atau nilai yang sering muncul dari data yang
diinputkan.. Menggunakan header #include <iostream.h> dengan fungsi int main
(). dalam program ini digunakan fungsi perulangan do-while untuk mengulang masukkan
data. Jika ingin memasukkan data lagi maka tekan enter dan ketikkan kaarakter y jika ingin
berhenti maka ketikan karacter n maka setelah memasukkan karakter n kita dapat mengetahui
nilai modus dari beberapa data yang dimasukkan jika kita hanya memasukkan satu nilai saja
maka kan muncul kata tidak ada nilai modus karena modus merupakan nilai yang sering
muncul. Dalam rumus mencari nilai modus kita masukkan perintah perulangan for
menghitung berapa kali muncul nilai angka, perulangan for menentukan nilai yang sering
muncul, perulangan for jika modus lebih dari satu, perulangan for jika semua angka muncul
semua banyak, perulangan for jika tidak ada nilai modus,. Dari perulangan tersebut nanti
akan bisa dihasilkan nilai modusnya.
KESIMPULAN

1. Dalam belajar pemrograman terlebih dahulu harus mengerti tentang bahasa


pemrograman C++ maupun C
2. Harus mengetahui fungsi dan kegunaan dari setiap perintah yang akan kita gunakan
3. Dalam membuat program hendaknya kita mengetahui kegunaan dari program yang
dibuat
4. Harus memperhatikan cara penulisan yang benar agar tidak terjadi masalah error pada
waktu programing berlangsung seperti penuliasan header , tipe data, fungsi dan lain
sebagainya.
5. Ada dua cara pemanggilan fungsi yaitu: Call by value dan Call by reference
6. Tipe Fungsi berguna untuk menentukan tipe keluaran fungsi yang berupa salah satu tipe
data C++ misalnya int atau char. Jika tipe data tidak disebutkan maka dianggap sebagai
int.
7. Hasil akhir dari fungsi yaitu berupa nilai (nilai balik fungsi).
8. Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri, artinya fungsi tersebut
dipanggil di dalam tubuh fungsi itu sendiri. Parameter yang dilewatkan berubah
sebanyak fungsi itu dipanggil.
9. Harus menyukai mata kuliah pemrograman terlebih dahulu agar kita selalu senang dan
tak mudah mudah putus asa jika terjadi kendala ditengah-tengah berjalannya program

DAFTAR RUJUKAN

1. Tim Asisten Dosen. 2015. Modul 6 Fungsi. Malang: Universitas Negeri Malang.
2. Tim Asisten Dosen. 2015. Modul 5 perulangan. Malang: Universitas Negeri Malang.
3. Tim Asisten Dosen. 2015. Modul 2 operator. Malang: Universitas Negeri Malang.
4. Tim Asisten Dosen. 2015. Modul 3 operasi kondisi. Malang: Universitas Negeri Malang.

Anda mungkin juga menyukai