SlideShare a Scribd company logo
1 of 40
Algoritma Pemrograman
Modul 9-2:
Fungsi
Konsep Fungsi
• Fungsi pada hakekatnya serupa dengan
prosedur tetapi dalam pelaksanaannya harus
mengembalikan suatu nilai ke program yang
menggunakan (memanggil) fungsi. Prosedur
tidak harus mengembalikan nilai, hanya bisa
mengembalikan nilai melalui parameter
input/output (in-out), atau variabel global.
9/10/2014 Algoritma Pemrograman, @SUARGA 2
Bentuk Umum
Fungsi nama_fungsi ( parameter formal )  tipe_hasil
{ spesifikasi fungsi }
Deklarasi
{ variabel lokal }
Deskripsi
{ langkah / proses yang dilakukan oleh fungsi }
…………….
…………….
{ pengembalian nilai }
return hasil.
9/10/2014 Algoritma Pemrograman, @SUARGA 3
Contoh sederhana:
• Fungsi Matematis : f(x) = x2 + 8x + 10.
Fungsi F ( input real x )  real
{ menghitung nilai fungsi f(x) = x^2 + 8x + 10 }
Deklarasi
real y;
Deskripsi
y  x * x + 8 * x + 10;
return y;
9/10/2014 Algoritma Pemrograman, @SUARGA 4
Fungsi Nama-Bulan
• Algoritma Tanggal_Lahir
• { algoritma ini memanggil fungsi untuk menampilkan nama bulan }
•
• Deklarasi
• integer tanggal, bulan, tahun;
• string nama_bulan;
• fungsi Nama_bulan ( input integer bln )  string;
•
• Deskripsi
• write ( “tanggal : “ ); read ( tanggal );
• write ( “bulan : “ ); read ( bulan );
• write ( “tahun : “ ); read ( tahun );
•
• nama_bulan  Nama_bulan ( bulan );
• write ( tanggal, ‘ – ‘, nama_bulan, ‘ – ‘, tahun );
•
9/10/2014 Algoritma Pemrograman, @SUARGA 5
fungsi Nama_bulan ( input integer bln )  string
{ fungsi yang mengembalikan nama bulan berdasarkan angka bulan }
Deklarasi
string nama_bln;
Deskripsi
case ( bln )
1 : nama_bln  “Januari”;
2 : nama_bln  “Februari”;
3 : nama_bln  “Maret”;
4 : nama_bln  “April”
…
11 : nama_bln  “Nopember”;
12 : nama_bln  “Desember”;
endcase.
return nama_bln;
9/10/2014 Algoritma Pemrograman, @SUARGA 6
Angka ke kata (1 digit)
• Algoritma Angka_1_digit
• { menterjemahkan angka 1 digit menjadi kata }
•
• Deklarasi.
• integer angka;
• string kata;
• fungsi digit (input integer d)  string;
•
• Deskripsi.
• { masukkan angka-nya }
• write (“masukkan angkanya : “);
• read (angka);
• { panggil fungsi-nya }
• kata  digit (angka);
• { tampilkan hasil }
• write ( angka, “ = “, kata );
9/10/2014 Algoritma Pemrograman, @SUARGA 7
Fungsi digit (input integer d )  string
{ fungsi yang mengubah angka menjadi kata }
Deklarasi.
string kata;
Deskripsi
case ( d )
0 : kata  “nol”;
1 : kata  “satu”;
2 : kata  “dua”;
3 : kata  “tiga”;
4 : kata  “empat”;
5 : kata  “lima”;
6 : kata  “enam”;
7 : kata  “tujuh”;
8 : kata  “delapan”;
9 : kata  “sembilan”;
endcase.
return kata;
9/10/2014 Algoritma Pemrograman, @SUARGA 8
Angka ke Kata (2 digit)
• Selanjutnya bagaimana menterjemahkan angka
maksimum 2 digit (maksimum 99) kedalam kata. Angka
tersebut harus dipisahkan menjadi d2 puluhan dan d1
satuan, dengan cara sebagai berikut:
d2  angka  10; yaitu hasil bagi bulat dari angka
dengan 10
d1  angka % 10; yaitu sisa pembagian dari angka
dengan 10
• Misalnya : angka 25, maka d2 = 2 dan d1 = 5,
kemudian d2 diterjemahkan ke kata dan ditambah kata
“puluh” disambung dengan terjemahan d1 dalam kata,
sehingga: angka = digit(d2) + “puluh “ + digit(d1).
9/10/2014 Algoritma Pemrograman, @SUARGA 9
Algoritma Angka_2_digit
{ menterjemahkan angka maksimum dua digit menjadi kalimat }
Deklarasi.
integer angka, d2, d1;
string angka1, angka2;
fungsi digit ( input integer d )  string;
Deskripsi.
write ( “Masukkan angka 2 digit : “);
read ( angka );
d2  angka  10;
d1  angka % 10;
{ perlu diseleksi apakah angka diatas 20 atau dibawah 20 }
9/10/2014 Algoritma Pemrograman, @SUARGA 10
if ( d2 > 1 )
then angka2  digit ( d2 ) + “puluh”;
if ( d1 = 0 )
then angka1  ‘ ‘;
else angka1  digit ( d1 ) ;
endif.
{ angka 10 hingga 19 }
else if ( d2 = 1 )
then if ( d1 = 0 )
then angka2  “sepuluh”;
angka1  ‘ ‘;
else if ( d1 = 1 )
then angka2  “sebelas”;
angka1  ‘ ‘;
else angka2  digit ( d1 ) + “belas”;
angka1  ‘ ‘;
endif.
endif.
9/10/2014 Algoritma Pemrograman, @SUARGA 11
{ angka dari 0 hingga 9 }
else angka2  ‘ ‘;
if ( d1 = 0 )
then angka1  “nol“;
else angka1  digit ( d1 );
endif.
endif.
endif.
write ( angka, ‘ = ‘ , angka2 + angka1 );
9/10/2014 Algoritma Pemrograman, @SUARGA 12
• fungsi digit ( input integer d )  string
• { menterjemahkan digit ke dalam satu kata }
• Deklarasi
• string kata;
• Deskripsi
• case ( d )
• 1 : kata  “satu”;
• 2 : kata  “dua”;
• 3 : kata  “tiga”;
• 4 : kata  “empat”;
• 5 : kata  “lima”;
• 6 : kata  “enam”;
• 7 : kata  “tujuh”;
• 8 : kata  “delapan”;
• 9 : kata  “sembilan”;
• endcase.
• return kata;
9/10/2014 Algoritma Pemrograman, @SUARGA 13
Fungsi dalam C++
• Pada hakekatnya cara mendefinisikan Prosedur
dan Fungsi dalam C++ tidak ada perbedaan
menyolok.
tipe_return Nama_fungsi(argume) {
… isi fungsi ….
return (hasil);
}
• Prosedur biasa-nya memakai tipe void artinya
tidak mengembalikan nilai.
• Fungsi memakai tipe sesuai dengan tipe data dari
variabel yang dikembalikan (return variable).
9/10/2014 Algoritma Pemrograman, @SUARGA 14
contoh
/*******************************************
* Triangle -- compute area of a triangle *
* *
* Parameters *
* width -- width of the triangle *
* height -- height of the triangle *
* *
* Returns *
* area of the triangle *
*******************************************/
float triangle(float width, float height)
{
float area; // Area of the triangle
area = width * height / 2.0;
return (area);
}
Fungsi dipanggil sbb: LuasSegi3 = triangle( 10, 5) , menghasilkan 25.0
9/10/2014 Algoritma Pemrograman, @SUARGA 15
Call by Value
• Secara default C++ mengenal parameter
dalam bentuk call-by-value, yaitu parameter
aktual hanya menyerahkan nilai-nya ke
argumen. Sehingga walaupun nilai dari
argumen ini berubah di-dalam fungsi nilai
paramter aktual-nya tidak berubah.
9/10/2014 Algoritma Pemrograman, @SUARGA 16
Contoh Call-by-Value
#include <iostream>
using namespace std;
// This function won't work
// C++ mengenal call by Value
void inc_counter(int counter)
{
++counter;
}
main()
{
int a_count = 0; // Random counter
inc_counter(a_count);
// nilai a_count tetap nol
cout << a_count << 'n';
return (0);
}
9/10/2014 Algoritma Pemrograman, @SUARGA 17
Call-by-Reference
• Agar parameter aktual ber-interaksi dengan
argumen maka harus dilakukan call-by-reference.
• Yaitu dengan menambahkan simbol ‘&’ didepan
argumen, misalnya:
void inc_counter(int &counter)
{
++counter;
}
9/10/2014 Algoritma Pemrograman, @SUARGA 18
contoh
// Works, call by reference
#include <iostream>
using namespace std;
// perhatikan argumen memakai &
void inc_counter(int &counter)
{
++counter;
}
main ()
{
int a_count = 0; // Random counter
inc_counter(a_count);
// hasilnya 1
cout << a_count << 'n';
return (0);
}
9/10/2014 Algoritma Pemrograman, @SUARGA 19
9/10/2014 Algoritma Pemrograman, @SUARGA 20
9/10/2014 Algoritma Pemrograman, @SUARGA 21
9/10/2014 Algoritma Pemrograman, @SUARGA 22
9/10/2014 Algoritma Pemrograman, @SUARGA 23
Function Overloaded
• Nama yang sama digunakan beberapa fungsi,
biasa-nya dalam pemanggilan tipe parameter
menjadi acuan dari fungsi yang akan dipanggil.
9/10/2014 Algoritma Pemrograman, @SUARGA 24
9/10/2014 Algoritma Pemrograman, @SUARGA 25
Fungsi Rekursif
• Prosedur atau fungsi rekursif adalah prosedur
atau fungsi yang secara berulang kali memanggil
dirinya sendiri, hingga dicapainya suatu kondisi
yang membuatnya berhenti.
• Suatu prosedur atau fungsi boleh saja ditulis
normal tanpa rekursif namun apabila komputasi
yang dilaksanakannya merupakan suatu proses
yang berulang maka ada baiknya ditulis rekursif
agar kelihatan lebih sederhana.
• Pada hakekatnya prosedur rekursif biasanya di-
eksekusi lebih lama dibanding perulangan biasa,
karena secara internal prosedur rekursif memakai
“stack memory” yang biasanya terbatas.
9/10/2014 Algoritma Pemrograman, @SUARGA 26
• Sebagai contoh, ketika menghitung faktorial,
katakanlah 6!, maka secara normal bisa ditulis
sebagai:
fact = 6 * 5 * 4 * 3 * 2 * 1 = 720;
atau dalam bentuk perulangan:
fact = 1;
for i=2 to 6
fact = fact * i;
9/10/2014 Algoritma Pemrograman, @SUARGA 27
bentuk rekursif dari komputasi faktorial ini dapat
ditulis juga sebagai berikut:
6! = 6 * 5!
= 6 * 5 * 4!
= 6 * 5 * 4 * 3!
= 6 * 5 * 4 * 3 * 2!
= 6 * 5 * 4 * 3 * 2 * 1!
= 6 * 5 * 4 * 3 * 2 * 1 * 0!
dimana 0! = 1.
9/10/2014 Algoritma Pemrograman, @SUARGA 28
• Terlihat pada bentuk tersebut diatas adanya proses
perhitungan yang rekursif, karena secara berulang
memanggil fungsi faktorial dengan dimensi yang
berkurang. Bentuk formula rekursif ini dapat
didefinisikan sebagai berikut:
n! = 1 bila n = 0
= n*(n-1)! bila n > 0
bentuk fungsi rekursifnya sebagai berikut:
fungsi factorial(N)  int
if (N = 0)
then return 1
else return (N*factorial(N-1));
9/10/2014 Algoritma Pemrograman, @SUARGA 29
• Dalam C++, fungsi ini bisa ditulis sbb:
long faktorial (long N) {
if (N == 0)
return (1);
else
} return (N*Factorial(N-1));
• Cara lain:
long factorial (long a) {
if (a > 1)
return (a * factorial(a-1));
else
return(1);
}
9/10/2014 Algoritma Pemrograman, @SUARGA 30
9/10/2014 Algoritma Pemrograman, @SUARGA 31
1-digit angka ke kata dalam C++
//Angka1Digit.cpp
//mengubah digit angka ke kata
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;
//prototype
string digit(int d);
int main() {
int angka;
string kata="";
char ulang;
ulang = 'Y';
9/10/2014 Algoritma Pemrograman, @SUARGA 32
while (ulang =='Y') {
cout << "Masukkan 1 digit angka n";
cout << "Negatif berarti EXIT : ";
cin >> angka;
if (angka >= 0) {
kata = digit(angka);
cout << angka << " = " << kata << "nn";
}
else ulang = 'N';
}
system("PAUSE");
return 0;
}
9/10/2014 Algoritma Pemrograman, @SUARGA 33
string digit(int d) {
string kata;
kata = "? angka";
switch(d) {
case 0 : kata = "nol"; break;
case 1 : kata = "satu"; break;
case 2 : kata = "dua"; break;
case 3 : kata = "tiga"; break;
case 4 : kata = "empat"; break;
case 5 : kata = "lima"; break;
case 6 : kata = "enam"; break;
case 7 : kata = "tujuh"; break;
case 8 : kata = "delapan"; break;
case 9 : kata = "sembilan"; break;
default : cout << "bukan 1 digitn";
}
return kata;
}
9/10/2014 Algoritma Pemrograman, @SUARGA 34
9/10/2014 Algoritma Pemrograman, @SUARGA 35
2 digit angka ke kata dalam C++
//Angka2Digit.cpp
//mengubah 2 digit angka ke kata
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;
//prototype
string digit(int d);
int main() {
int angka, d2, d1;
string angka1, angka2;
char ulang;
angka1=""; angka2="";
ulang = 'Y';
while (ulang =='Y') {
do {
cout << "Masukkan 2 digit angka n";
cout << "Negatif berarti EXIT : ";
cin >> angka;
} while (angka > 99);
9/10/2014 Algoritma Pemrograman, @SUARGA 36
if (angka >= 0) {
d2 = angka / 10;
d1 = angka % 10;
// angka >= 20
if (d2 > 1) {
angka2 = digit(d2) + "puluh";
if (d1 == 0) {
angka1 = "";
}
else angka1 = digit(d1);
}
// angka 10 hingga 19
else if (d2 == 1) {
if (d1==0) {
angka2 = "Sepuluh";
angka1 = "";
}
else if (d1==1) {
angka2 = "Sebelas";
angka1 = "";
}
9/10/2014 Algoritma Pemrograman, @SUARGA 37
else {
angka2 = digit(d1) + "belas";
angka1 = "";
}
}
// angka 0 hingga 9
else {
angka2 = "";
if (d1 == 0)
angka1 = digit(d1);
else
angka1 = digit(d1);
}
cout << angka << " = " << angka2 << " "
<< angka1 << "nn";
}
else ulang = 'N';
}
system("PAUSE");
return 0;
}
9/10/2014 Algoritma Pemrograman, @SUARGA 38
string digit(int d) {
string kata;
kata = "? angka";
switch(d) {
case 0 : kata = "nol"; break;
case 1 : kata = "satu"; break;
case 2 : kata = "dua"; break;
case 3 : kata = "tiga"; break;
case 4 : kata = "empat"; break;
case 5 : kata = "lima"; break;
case 6 : kata = "enam"; break;
case 7 : kata = "tujuh"; break;
case 8 : kata = "delapan"; break;
case 9 : kata = "sembilan"; break;
default : cout << "bukan 2 digitn";
}
return kata;
}
9/10/2014 Algoritma Pemrograman, @SUARGA 39
9/10/2014 Algoritma Pemrograman, @SUARGA 40

More Related Content

What's hot

Modul pascal
Modul pascalModul pascal
Modul pascalshediazz
 
struktur pengulangan di pascal bagian 2
struktur pengulangan di pascal bagian 2struktur pengulangan di pascal bagian 2
struktur pengulangan di pascal bagian 2Alfian Syamsurizal
 
Pascal tutorialtpascal701
Pascal tutorialtpascal701Pascal tutorialtpascal701
Pascal tutorialtpascal701Alvin Setiawan
 
Praktikum fix 2
Praktikum fix 2Praktikum fix 2
Praktikum fix 2inggar tri
 
Ayo membuat program pascal
Ayo membuat program pascalAyo membuat program pascal
Ayo membuat program pascalHary Purwoko
 
Bab Iii Kondisi
Bab Iii KondisiBab Iii Kondisi
Bab Iii Kondisiformatik
 
Pemrograman Modular
Pemrograman ModularPemrograman Modular
Pemrograman ModularDimara Hakim
 
Algoritma dan pemrograman 1
Algoritma dan pemrograman 1Algoritma dan pemrograman 1
Algoritma dan pemrograman 1Javra Ketoprak
 
Perulangan,stack,record
Perulangan,stack,recordPerulangan,stack,record
Perulangan,stack,recordsamsonarieska
 
Struktur pemrograman pascal
Struktur pemrograman pascalStruktur pemrograman pascal
Struktur pemrograman pascalJefry Jefry
 
3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait SinglyKelinci Coklat
 
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman TerstrukturKelinci Coklat
 
Algoritma perulangan
Algoritma perulanganAlgoritma perulangan
Algoritma perulanganazkiyaku
 

What's hot (20)

Algoritma pemrograman 3
Algoritma pemrograman 3Algoritma pemrograman 3
Algoritma pemrograman 3
 
Modul pascal
Modul pascalModul pascal
Modul pascal
 
Algoritma flowchart
Algoritma flowchartAlgoritma flowchart
Algoritma flowchart
 
struktur pengulangan di pascal bagian 2
struktur pengulangan di pascal bagian 2struktur pengulangan di pascal bagian 2
struktur pengulangan di pascal bagian 2
 
Pascal tutorialtpascal701
Pascal tutorialtpascal701Pascal tutorialtpascal701
Pascal tutorialtpascal701
 
Praktikum fix 2
Praktikum fix 2Praktikum fix 2
Praktikum fix 2
 
Ayo membuat program pascal
Ayo membuat program pascalAyo membuat program pascal
Ayo membuat program pascal
 
Bab Iii Kondisi
Bab Iii KondisiBab Iii Kondisi
Bab Iii Kondisi
 
Pemrograman Modular
Pemrograman ModularPemrograman Modular
Pemrograman Modular
 
Algoritma dan pemrograman 1
Algoritma dan pemrograman 1Algoritma dan pemrograman 1
Algoritma dan pemrograman 1
 
Perulangan,stack,record
Perulangan,stack,recordPerulangan,stack,record
Perulangan,stack,record
 
Presentasi pertemuan3
Presentasi pertemuan3Presentasi pertemuan3
Presentasi pertemuan3
 
Struktur pemrograman pascal
Struktur pemrograman pascalStruktur pemrograman pascal
Struktur pemrograman pascal
 
Materi dasar-pascal
Materi dasar-pascalMateri dasar-pascal
Materi dasar-pascal
 
3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly
 
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
 
Topik 8 Perulangan
Topik 8 PerulanganTopik 8 Perulangan
Topik 8 Perulangan
 
Algoritma perulangan
Algoritma perulanganAlgoritma perulangan
Algoritma perulangan
 
5 perulangan
5 perulangan5 perulangan
5 perulangan
 
Tugas Praktikum ke dua
Tugas Praktikum ke duaTugas Praktikum ke dua
Tugas Praktikum ke dua
 

Similar to FUNGSI (20)

E1 e117049 nurfadhila fahmi_tugas3
E1 e117049 nurfadhila fahmi_tugas3E1 e117049 nurfadhila fahmi_tugas3
E1 e117049 nurfadhila fahmi_tugas3
 
PostgreSQL Stored-procedure
PostgreSQL Stored-procedurePostgreSQL Stored-procedure
PostgreSQL Stored-procedure
 
Function
FunctionFunction
Function
 
Materi algoritma dan pemrograman insan unggul new
Materi algoritma dan pemrograman insan unggul newMateri algoritma dan pemrograman insan unggul new
Materi algoritma dan pemrograman insan unggul new
 
Fungsi
FungsiFungsi
Fungsi
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Dasar Dasar Algoritma
Dasar Dasar AlgoritmaDasar Dasar Algoritma
Dasar Dasar Algoritma
 
Modul c++
Modul c++Modul c++
Modul c++
 
Cc++
Cc++Cc++
Cc++
 
Tugas mu'thi modul pascal
Tugas mu'thi modul pascalTugas mu'thi modul pascal
Tugas mu'thi modul pascal
 
#2 Introduction Operator in Kotlin.pptx
#2 Introduction Operator in Kotlin.pptx#2 Introduction Operator in Kotlin.pptx
#2 Introduction Operator in Kotlin.pptx
 
DASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMADASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMA
 
Alpro referensi
Alpro referensiAlpro referensi
Alpro referensi
 
Topik 10 Fungsi
Topik 10 FungsiTopik 10 Fungsi
Topik 10 Fungsi
 
Pseudocode
PseudocodePseudocode
Pseudocode
 
Structure and pointer
Structure and pointerStructure and pointer
Structure and pointer
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
modul algoritma Bab 1
modul algoritma Bab 1modul algoritma Bab 1
modul algoritma Bab 1
 
Pertemuan 07 - Pemrograman C
Pertemuan 07 - Pemrograman CPertemuan 07 - Pemrograman C
Pertemuan 07 - Pemrograman C
 
Dasar c
Dasar cDasar c
Dasar c
 

Recently uploaded

tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxmawan5982
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1udin100
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxRezaWahyuni6
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMmulyadia43
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdftsaniasalftn18
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CAbdiera
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfbibizaenab
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...Kanaidi ken
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...Kanaidi ken
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASKurniawan Dirham
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..ikayogakinasih12
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptArkhaRega1
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docxbkandrisaputra
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxRezaWahyuni6
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxWirionSembiring2
 
Lembar Catatan Percakapan Pasca observasidocx
Lembar Catatan Percakapan Pasca observasidocxLembar Catatan Percakapan Pasca observasidocx
Lembar Catatan Percakapan Pasca observasidocxbkandrisaputra
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfCandraMegawati
 

Recently uploaded (20)

tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptx
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdf
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docx
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptx
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
 
Lembar Catatan Percakapan Pasca observasidocx
Lembar Catatan Percakapan Pasca observasidocxLembar Catatan Percakapan Pasca observasidocx
Lembar Catatan Percakapan Pasca observasidocx
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
 

FUNGSI

  • 2. Konsep Fungsi • Fungsi pada hakekatnya serupa dengan prosedur tetapi dalam pelaksanaannya harus mengembalikan suatu nilai ke program yang menggunakan (memanggil) fungsi. Prosedur tidak harus mengembalikan nilai, hanya bisa mengembalikan nilai melalui parameter input/output (in-out), atau variabel global. 9/10/2014 Algoritma Pemrograman, @SUARGA 2
  • 3. Bentuk Umum Fungsi nama_fungsi ( parameter formal )  tipe_hasil { spesifikasi fungsi } Deklarasi { variabel lokal } Deskripsi { langkah / proses yang dilakukan oleh fungsi } ……………. ……………. { pengembalian nilai } return hasil. 9/10/2014 Algoritma Pemrograman, @SUARGA 3
  • 4. Contoh sederhana: • Fungsi Matematis : f(x) = x2 + 8x + 10. Fungsi F ( input real x )  real { menghitung nilai fungsi f(x) = x^2 + 8x + 10 } Deklarasi real y; Deskripsi y  x * x + 8 * x + 10; return y; 9/10/2014 Algoritma Pemrograman, @SUARGA 4
  • 5. Fungsi Nama-Bulan • Algoritma Tanggal_Lahir • { algoritma ini memanggil fungsi untuk menampilkan nama bulan } • • Deklarasi • integer tanggal, bulan, tahun; • string nama_bulan; • fungsi Nama_bulan ( input integer bln )  string; • • Deskripsi • write ( “tanggal : “ ); read ( tanggal ); • write ( “bulan : “ ); read ( bulan ); • write ( “tahun : “ ); read ( tahun ); • • nama_bulan  Nama_bulan ( bulan ); • write ( tanggal, ‘ – ‘, nama_bulan, ‘ – ‘, tahun ); • 9/10/2014 Algoritma Pemrograman, @SUARGA 5
  • 6. fungsi Nama_bulan ( input integer bln )  string { fungsi yang mengembalikan nama bulan berdasarkan angka bulan } Deklarasi string nama_bln; Deskripsi case ( bln ) 1 : nama_bln  “Januari”; 2 : nama_bln  “Februari”; 3 : nama_bln  “Maret”; 4 : nama_bln  “April” … 11 : nama_bln  “Nopember”; 12 : nama_bln  “Desember”; endcase. return nama_bln; 9/10/2014 Algoritma Pemrograman, @SUARGA 6
  • 7. Angka ke kata (1 digit) • Algoritma Angka_1_digit • { menterjemahkan angka 1 digit menjadi kata } • • Deklarasi. • integer angka; • string kata; • fungsi digit (input integer d)  string; • • Deskripsi. • { masukkan angka-nya } • write (“masukkan angkanya : “); • read (angka); • { panggil fungsi-nya } • kata  digit (angka); • { tampilkan hasil } • write ( angka, “ = “, kata ); 9/10/2014 Algoritma Pemrograman, @SUARGA 7
  • 8. Fungsi digit (input integer d )  string { fungsi yang mengubah angka menjadi kata } Deklarasi. string kata; Deskripsi case ( d ) 0 : kata  “nol”; 1 : kata  “satu”; 2 : kata  “dua”; 3 : kata  “tiga”; 4 : kata  “empat”; 5 : kata  “lima”; 6 : kata  “enam”; 7 : kata  “tujuh”; 8 : kata  “delapan”; 9 : kata  “sembilan”; endcase. return kata; 9/10/2014 Algoritma Pemrograman, @SUARGA 8
  • 9. Angka ke Kata (2 digit) • Selanjutnya bagaimana menterjemahkan angka maksimum 2 digit (maksimum 99) kedalam kata. Angka tersebut harus dipisahkan menjadi d2 puluhan dan d1 satuan, dengan cara sebagai berikut: d2  angka 10; yaitu hasil bagi bulat dari angka dengan 10 d1  angka % 10; yaitu sisa pembagian dari angka dengan 10 • Misalnya : angka 25, maka d2 = 2 dan d1 = 5, kemudian d2 diterjemahkan ke kata dan ditambah kata “puluh” disambung dengan terjemahan d1 dalam kata, sehingga: angka = digit(d2) + “puluh “ + digit(d1). 9/10/2014 Algoritma Pemrograman, @SUARGA 9
  • 10. Algoritma Angka_2_digit { menterjemahkan angka maksimum dua digit menjadi kalimat } Deklarasi. integer angka, d2, d1; string angka1, angka2; fungsi digit ( input integer d )  string; Deskripsi. write ( “Masukkan angka 2 digit : “); read ( angka ); d2  angka 10; d1  angka % 10; { perlu diseleksi apakah angka diatas 20 atau dibawah 20 } 9/10/2014 Algoritma Pemrograman, @SUARGA 10
  • 11. if ( d2 > 1 ) then angka2  digit ( d2 ) + “puluh”; if ( d1 = 0 ) then angka1  ‘ ‘; else angka1  digit ( d1 ) ; endif. { angka 10 hingga 19 } else if ( d2 = 1 ) then if ( d1 = 0 ) then angka2  “sepuluh”; angka1  ‘ ‘; else if ( d1 = 1 ) then angka2  “sebelas”; angka1  ‘ ‘; else angka2  digit ( d1 ) + “belas”; angka1  ‘ ‘; endif. endif. 9/10/2014 Algoritma Pemrograman, @SUARGA 11
  • 12. { angka dari 0 hingga 9 } else angka2  ‘ ‘; if ( d1 = 0 ) then angka1  “nol“; else angka1  digit ( d1 ); endif. endif. endif. write ( angka, ‘ = ‘ , angka2 + angka1 ); 9/10/2014 Algoritma Pemrograman, @SUARGA 12
  • 13. • fungsi digit ( input integer d )  string • { menterjemahkan digit ke dalam satu kata } • Deklarasi • string kata; • Deskripsi • case ( d ) • 1 : kata  “satu”; • 2 : kata  “dua”; • 3 : kata  “tiga”; • 4 : kata  “empat”; • 5 : kata  “lima”; • 6 : kata  “enam”; • 7 : kata  “tujuh”; • 8 : kata  “delapan”; • 9 : kata  “sembilan”; • endcase. • return kata; 9/10/2014 Algoritma Pemrograman, @SUARGA 13
  • 14. Fungsi dalam C++ • Pada hakekatnya cara mendefinisikan Prosedur dan Fungsi dalam C++ tidak ada perbedaan menyolok. tipe_return Nama_fungsi(argume) { … isi fungsi …. return (hasil); } • Prosedur biasa-nya memakai tipe void artinya tidak mengembalikan nilai. • Fungsi memakai tipe sesuai dengan tipe data dari variabel yang dikembalikan (return variable). 9/10/2014 Algoritma Pemrograman, @SUARGA 14
  • 15. contoh /******************************************* * Triangle -- compute area of a triangle * * * * Parameters * * width -- width of the triangle * * height -- height of the triangle * * * * Returns * * area of the triangle * *******************************************/ float triangle(float width, float height) { float area; // Area of the triangle area = width * height / 2.0; return (area); } Fungsi dipanggil sbb: LuasSegi3 = triangle( 10, 5) , menghasilkan 25.0 9/10/2014 Algoritma Pemrograman, @SUARGA 15
  • 16. Call by Value • Secara default C++ mengenal parameter dalam bentuk call-by-value, yaitu parameter aktual hanya menyerahkan nilai-nya ke argumen. Sehingga walaupun nilai dari argumen ini berubah di-dalam fungsi nilai paramter aktual-nya tidak berubah. 9/10/2014 Algoritma Pemrograman, @SUARGA 16
  • 17. Contoh Call-by-Value #include <iostream> using namespace std; // This function won't work // C++ mengenal call by Value void inc_counter(int counter) { ++counter; } main() { int a_count = 0; // Random counter inc_counter(a_count); // nilai a_count tetap nol cout << a_count << 'n'; return (0); } 9/10/2014 Algoritma Pemrograman, @SUARGA 17
  • 18. Call-by-Reference • Agar parameter aktual ber-interaksi dengan argumen maka harus dilakukan call-by-reference. • Yaitu dengan menambahkan simbol ‘&’ didepan argumen, misalnya: void inc_counter(int &counter) { ++counter; } 9/10/2014 Algoritma Pemrograman, @SUARGA 18
  • 19. contoh // Works, call by reference #include <iostream> using namespace std; // perhatikan argumen memakai & void inc_counter(int &counter) { ++counter; } main () { int a_count = 0; // Random counter inc_counter(a_count); // hasilnya 1 cout << a_count << 'n'; return (0); } 9/10/2014 Algoritma Pemrograman, @SUARGA 19
  • 24. Function Overloaded • Nama yang sama digunakan beberapa fungsi, biasa-nya dalam pemanggilan tipe parameter menjadi acuan dari fungsi yang akan dipanggil. 9/10/2014 Algoritma Pemrograman, @SUARGA 24
  • 26. Fungsi Rekursif • Prosedur atau fungsi rekursif adalah prosedur atau fungsi yang secara berulang kali memanggil dirinya sendiri, hingga dicapainya suatu kondisi yang membuatnya berhenti. • Suatu prosedur atau fungsi boleh saja ditulis normal tanpa rekursif namun apabila komputasi yang dilaksanakannya merupakan suatu proses yang berulang maka ada baiknya ditulis rekursif agar kelihatan lebih sederhana. • Pada hakekatnya prosedur rekursif biasanya di- eksekusi lebih lama dibanding perulangan biasa, karena secara internal prosedur rekursif memakai “stack memory” yang biasanya terbatas. 9/10/2014 Algoritma Pemrograman, @SUARGA 26
  • 27. • Sebagai contoh, ketika menghitung faktorial, katakanlah 6!, maka secara normal bisa ditulis sebagai: fact = 6 * 5 * 4 * 3 * 2 * 1 = 720; atau dalam bentuk perulangan: fact = 1; for i=2 to 6 fact = fact * i; 9/10/2014 Algoritma Pemrograman, @SUARGA 27
  • 28. bentuk rekursif dari komputasi faktorial ini dapat ditulis juga sebagai berikut: 6! = 6 * 5! = 6 * 5 * 4! = 6 * 5 * 4 * 3! = 6 * 5 * 4 * 3 * 2! = 6 * 5 * 4 * 3 * 2 * 1! = 6 * 5 * 4 * 3 * 2 * 1 * 0! dimana 0! = 1. 9/10/2014 Algoritma Pemrograman, @SUARGA 28
  • 29. • Terlihat pada bentuk tersebut diatas adanya proses perhitungan yang rekursif, karena secara berulang memanggil fungsi faktorial dengan dimensi yang berkurang. Bentuk formula rekursif ini dapat didefinisikan sebagai berikut: n! = 1 bila n = 0 = n*(n-1)! bila n > 0 bentuk fungsi rekursifnya sebagai berikut: fungsi factorial(N)  int if (N = 0) then return 1 else return (N*factorial(N-1)); 9/10/2014 Algoritma Pemrograman, @SUARGA 29
  • 30. • Dalam C++, fungsi ini bisa ditulis sbb: long faktorial (long N) { if (N == 0) return (1); else } return (N*Factorial(N-1)); • Cara lain: long factorial (long a) { if (a > 1) return (a * factorial(a-1)); else return(1); } 9/10/2014 Algoritma Pemrograman, @SUARGA 30
  • 32. 1-digit angka ke kata dalam C++ //Angka1Digit.cpp //mengubah digit angka ke kata #include <cstdio> #include <cstdlib> #include <iostream> #include <cstring> using namespace std; //prototype string digit(int d); int main() { int angka; string kata=""; char ulang; ulang = 'Y'; 9/10/2014 Algoritma Pemrograman, @SUARGA 32
  • 33. while (ulang =='Y') { cout << "Masukkan 1 digit angka n"; cout << "Negatif berarti EXIT : "; cin >> angka; if (angka >= 0) { kata = digit(angka); cout << angka << " = " << kata << "nn"; } else ulang = 'N'; } system("PAUSE"); return 0; } 9/10/2014 Algoritma Pemrograman, @SUARGA 33
  • 34. string digit(int d) { string kata; kata = "? angka"; switch(d) { case 0 : kata = "nol"; break; case 1 : kata = "satu"; break; case 2 : kata = "dua"; break; case 3 : kata = "tiga"; break; case 4 : kata = "empat"; break; case 5 : kata = "lima"; break; case 6 : kata = "enam"; break; case 7 : kata = "tujuh"; break; case 8 : kata = "delapan"; break; case 9 : kata = "sembilan"; break; default : cout << "bukan 1 digitn"; } return kata; } 9/10/2014 Algoritma Pemrograman, @SUARGA 34
  • 36. 2 digit angka ke kata dalam C++ //Angka2Digit.cpp //mengubah 2 digit angka ke kata #include <cstdio> #include <cstdlib> #include <iostream> #include <cstring> using namespace std; //prototype string digit(int d); int main() { int angka, d2, d1; string angka1, angka2; char ulang; angka1=""; angka2=""; ulang = 'Y'; while (ulang =='Y') { do { cout << "Masukkan 2 digit angka n"; cout << "Negatif berarti EXIT : "; cin >> angka; } while (angka > 99); 9/10/2014 Algoritma Pemrograman, @SUARGA 36
  • 37. if (angka >= 0) { d2 = angka / 10; d1 = angka % 10; // angka >= 20 if (d2 > 1) { angka2 = digit(d2) + "puluh"; if (d1 == 0) { angka1 = ""; } else angka1 = digit(d1); } // angka 10 hingga 19 else if (d2 == 1) { if (d1==0) { angka2 = "Sepuluh"; angka1 = ""; } else if (d1==1) { angka2 = "Sebelas"; angka1 = ""; } 9/10/2014 Algoritma Pemrograman, @SUARGA 37
  • 38. else { angka2 = digit(d1) + "belas"; angka1 = ""; } } // angka 0 hingga 9 else { angka2 = ""; if (d1 == 0) angka1 = digit(d1); else angka1 = digit(d1); } cout << angka << " = " << angka2 << " " << angka1 << "nn"; } else ulang = 'N'; } system("PAUSE"); return 0; } 9/10/2014 Algoritma Pemrograman, @SUARGA 38
  • 39. string digit(int d) { string kata; kata = "? angka"; switch(d) { case 0 : kata = "nol"; break; case 1 : kata = "satu"; break; case 2 : kata = "dua"; break; case 3 : kata = "tiga"; break; case 4 : kata = "empat"; break; case 5 : kata = "lima"; break; case 6 : kata = "enam"; break; case 7 : kata = "tujuh"; break; case 8 : kata = "delapan"; break; case 9 : kata = "sembilan"; break; default : cout << "bukan 2 digitn"; } return kata; } 9/10/2014 Algoritma Pemrograman, @SUARGA 39