Anda di halaman 1dari 28

ShintaEsabella

,ALGORITMA
M.T.I PEMROGRAMAN 2
Modular (Prosedur dan Fungsi)
Kode Program

Prosedur
adalah sebuah blok Prosedur

program tersendiri, .
.
.
yang merupakan bagian .

dari program lain yang Prosedur

lebih besar.

Program Utama
Contoh Program Prosedur
#include<iostream.h>
#include<conio.h>
void info_program();
void main()
{
info_program();
getch();
cout << “\n”;
info_program();
getche();
}
void info_program()
{
cout << “Selamat Belajar\n”;
cout << “di Universitas Teknologi Sumbawa”;
}
Fungsi
adalah sebuah blok program tersendiri yang
merupakan bagian dari program lain yang lebih besar
sama halnya dengan prosedur hanya saja fungsi
memiliki hasil keluaran

Masukkan Masukkan a=4 , b=2

Proses c=a*b

Keluaran c=8
PROSEDUR FUNGSI
Contoh Program Fungsi
#include<iostream.h>
#include<conio.h>
int kuadrat(int b);
void main()
{
cout << “kuadrat 2 adalah ” << kuadrat(2);
cout << “\nkuadrat 3 adalah ” << kuadrat(3);
cout << “\nkuadrat 4 adalah ” << kuadrat(4);
getche();
}
int kuadrat(int b)
{ int z;
z=b*b;
}
Rekursif
• Merupakan proses memanggil dirinya sendiri yang
biasa dilakukan oleh fungsi atau prosedur pada
pemrograman prosedural.
• Rekursif aka terus berjalan saampai kondisi berhenti
terpenuhi, mirip dengan perulangan /looping.
• Ada beberapa masalah yang akan lebih mudah jika
dipecahkan menggunakan fungsi rekursif. Disamping
itu kode program yang menggunakan fungsi rekursif
akan lebih mudah dipahami (lebih ringkas) dari pada
versi iterasinya.
CONTOH : Program mencari hasil nilai pangkat. misalnya 32 = 9.
Iterasi
#include <iostream.h>
#include <conio.h>
void main ()
{
int x,a,i,hasil=1;
cout <<"Program Iterasi Perpangkatan \n“ ;
cout << “Masukkan nilai x = "; cin >> x ;
cout << “Masukkan nilai a = "; cin >> a ;
for ( i = 1 ; i <=a ; i++ )
{
hasil = hasil*x;
}
cout<<“Hasil pemangkatan "<<x <<"^" <<a <<" = " <<hasil;
getche();
}
Rekursif
#include <iostream.h>
#include <conio.h>
int pangkat (int j, int k);
void main()
{ int x, a, hasil;
cout <<"Program Rekursif Perpangkatan \n“ ;
cout << “Masukkan nilai x = "; cin >> x ;
cout << “Masukkan nilai a = "; cin >> a ;
cout << “Hasil pemangkatan "<<x <<"^" <<a <<" = " <<pangkat(x,a);
getche(); }

int pangkat (int j, int k)


{int i, hasil= 1;
for ( i = 1 ; i <= k ; i++ )
hasil = hasil*j; }
Contoh menentukan bilangan Faktorial
#include <iostream.h>
#include <conio.h>
int fak(int n);
void main()
{clrscr();
int n;
cout << “Menentukan Nilai Faktorial \n”;
cout <<“ Input Nilai”; cin >> n;
cout << “Faktorial { “<<n<<“!} = ”<<fak(n)<<“\n”;
getche();
}
int fak(int n)
{int i, x=1; for (i=1;i<=n;i++){ x=x*i;}
}
Contoh Konversi Suhu

#include<iostream>
#include<conio.h>
void fahrenheit(float carifar, float c2);
void reamur(float carirea, float c2);
void kelvin(float carikel, float c2);
void main()
{
clrscr(); int hasil=1,c;
cout<< "Masukkan suhu dalam Celcius : ";
cin>>c;
fahrenheit(hasil,c); cout<<“\n”;
reamur(hasil,c); cout<<“\n”;
kelvin(hasil,c); cout<<“\n”;
getche();
}
void fahrenheit(float carifar, float c2)
{
carifar= c2*1.8+ 32;
cout<<“Nilai Fahrenheit : “<<carifar;
}
void reamur(float carirea, float c2)
{
carirea= c2*0.8;
cout<<“Nilai Reamur : “<<carirea;
}
void kelvin(float carikel, float c2)
{
carikel= c2+273.15;
cout<<“Nilai Kelvin : “<<carikel;
}
Bintang

#include<iostream.h>
#include<conio.h>
int bintangatas(int bil);
int bintangbawah(int bil);
void main()
{
clrscr();
int bil;
cout<<“Masukkan jumlah baris bintang: “; cin>>bil;
bintangatas(bil);
bintangbawah(bil);
getche();
}
int bintangatas(int bil)
{ int a,b;
for(a=1;a<=bil;a++)
{
for(b=bil;b>=a;b--)
cout<<“ “;
for(b=a;b<2*a;b++)
{
cout<<“*”;
}
for(b=2*(a-1);b>=a;b--)
{ cout<<“*”; }
cout<<“\n”;
}
}
int bintangbawah(int bil)
{ int a,b;
for(a=bil-1;a>=1;a--)
{
for(b=a;b<=bil;b++)
cout<<“ “;
for(b=2*a;b>a;b--)
{
cout<<“*”;
}
for(b>a;b<=2*(a-1);b++)
{ cout<<“*”; }
cout<<“\n”;
}
}
int bintang(int bil)
{ int a,b;
For(a=1;a<=bil;a++)
{ for(b=1;b<=a;b++)
cout<<“*”;
cout<<“\n”;
}
}
int bintang2(int bil)
{ int a,b;
For(a=1;a<=bil;a++)
{ for(b=bil-1;b>=a;b--)
cout<<“*”;
cout<<“\n”;
}}
Fibbonaci
• Barisan bilangan Fibonacci dapat dinyatakan sebagai berikut:
Fn = (x1n – x2n)/ sqrt(5)
dengan
Fn adalah bilangan Fibonacci ke-n
x1 dan x2 adalah penyelesaian persamaan x2 – x – 1 = 0.
Perbandingan antara Fn+1 dengan Fn hampir selalu sama untuk
sebarang nilai n dan mulai nilai n tertentu, perbandingan ini
nilainya tetap.
• Dapat juga dengan Logika berikut ;
Angka 1 = 0
Angka ke-2 = 1
Angka ke-3= angka 1+ Angka ke-2
Angka ke-4 = angka 2+ Angka ke-3
dst….
Contoh menentukan bilangan Fibbonaci
#include <iostream.h>
#include <conio.h>
int fibo(int n);
void main()
{clrscr(); int n;
cout << “Menentukan Nilai Fibbonaci\n”;
cout <<“ Input Nilai”; cin >> n;
cout << “Nilai Fibbonaci dari“<<n<<“bilangan = ”<<fibo(n) ;
getche(); }
int fibo(int n)
{
int i, next, a=0, b=1;
for (i=0;i<n;i++) {if (i<=1; {next=1;}
else {next= a+b; a=b; b=next;} } }
#include<iostream.h>
#include<conio.h>

void main(){ clrscr();


int i, n, a[100];
cout<<"----- Program Deret Fibonacci -----\n\n";
cout<<"Masukkan jumlah deret : "; cin>>n;
for(i=0; i<n; i++){ if(i<2) a[i]=i; else a[i]=a[i-2]+a[i-1]; }

cout<<"Fibonacci <<n<< deret adalah \n“ ;


for(i=0; i<n; i++)
{
cout<<a[i];
}
getche(); }
ShintaEsabella
,ALGORITMA
M.T.I PEMROGRAMAN 2
Array
• Array secara gambaran pada dunia nyata
hampir sama dengan tabel.
• Dimana tabel adalah sekumpulan elemen
yang pada setiap elemennya dapat di akses
dengan index.
• Array bisa digunakan untuk menyimpan
banyak data dalam sebuah tabel terstruktur.
ARRAY DIMENSI SATU
• Setiap elemen array dapat diakses melalui indeks.
• Indeks array secara default dimulai dari 0.
• Deklarasi Array
Bentuk umum :
Tipe_array nama_array[ukuran];
Contoh :
#include<iostream.h>
#include<conio.h>
void main()
{ int index, nilai[5];
clrscr();
cout << “Masukan nilai ke 5 mahasiswa DPK \n”;
for(index=0;index<5;index++)
{
cout << “Mahasiswa ke ” << index+1 << “ : “ ;
cin >> nilai[index];
}
cout << “\nNilai mahasiswa yang telah dimasukkan”;
cout << “\n”;
for(index=0;index<5;index++)
{
cout << nilai[index] << “ “ ;
}
getche(); }
ARRAY MULTIDIMENSI/2DIMENSI
• Mempunyai elemen-elemen yang disusun ke dalam baris dan
kolom dan digunakan sebagai tabel data

•Contoh : Nilai ujian dari mahasiswa satu kelas untuk beberapa


mata kuliah bisa ditempatkan dalam array 2 dimensi

Siswa ke B. Inggris Matematik


(no. (kolom 1) a (kolom 2)
baris)
1 A(1,1) = 56 A(1,2) = 44 56 44
2 A(2,1) = 42 A(2,2) = 36 57 36
89 73
3 A(3,1) = 89 A(3,2) = 73 A 90
= 86
4 A(4,1) = 65 A(4,2) = 86 48 51
5 A(5,1) = 48 A(5,2) = 51
Arrray 2 dimensi
• char a[3][5]
• Sama dengan matriks berukuran 3x5
• Pada kenyataan di memory:
Array 2 Dimensi
#include <iostream.h>
#include <conio.h>
void main()  
{ clrscr(); 
int matriks[2][4] = {{4, 3, 2, 1}, {5, 6, 7, 8}};  
int baris, kolom, jumlah = 0;    
for (baris = 0; baris < 2; baris += 1) 
{  for (kolom = 0; kolom < 4; kolom += 1) 
{  jumlah += matriks[baris][kolom];  }
}  
cout"Jumlah dari setiap nilai pd Array 2 dimensi adalah : “<<jumlah;
getche();
}  
Latihan
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
void main()
{
int i,j;
int data_jual[4][4];
for(i=1;i<=3;i++)
 {
   for(j=1;j<=3;j++)
  {
      cout<<“DATA PENJUALAN PT.ASRA”;
cout<<"Data Ke- "<<i<<"."<<j;
      cout<<"Jumlah Penjualan   : ";
cin>>data_jual[i][j];endl;
   }
   }
cout<<"\nData Penjualan Pertahun";
cout<<"------------------------------\n";
cout<<"No   2010   2011   2012\n";
cout<<"------------------------------\n";
for(i=1;i<=3;i++)
 {
   cout<<setiosflags(ios::left)<<setw(5)<<i;
   for(j=1;j<=3;j++)
  {
    cout<<setiosflags(ios::right)<<setw(4);
    cout<<data_jual[i][j];
    cout<<"  ";
  }
   cout<<“\n”;
 }
cout<<"------------------------------“;
getche();
}

Anda mungkin juga menyukai