SlideShare a Scribd company logo
ALGORITMA, STRUKTUR DATA DAN
PEMROGRAMAN TERSTRUKTUR
Akmal, S.Si, MT
Erick Paulus, S.Si, M.Kom
Mata Kuliah : Struktur Data
Tujuan
 mahasiswa dapat membuat program
yang terstruktur dan modular
menggunakan prosedur dan fungsi dengan
tipe data dasar / sederhana menggunakan
bahasa C++ dengan benar

Pokok Bahasan
 Tipe Data dan Abstract Data Type (ADT)
 Algoritma dan bahasa C++
 Pemrograman Terstruktur (Fungsi / Prosedur)
Pemrograman Dan Algoritma
 Algoritma adalah rangkaian terurut langkah-langkah yang logis dan
sistematis yang disusun untuk menyelesaikan suatu masalah
 Program secara umum adalah : kumpulan instruksi atau perintah yang
disusun sedemikian rupa sehingga mempunyai urutan nalar yang logis
untuk menyelesaikan suatu persoalan yang dimengerti oleh komputer.
3 Skema Dasar Algoritma
1. Runtunan
2. Pemilihan / Seleksi
3. Pengulangan
Penulisan algoritma :
a. Diagram Alir / Flow Chart
b. Kode Semu / Pseudo Code
Struktur dan tipe data
Struktur data adalah koleksi dari elemen-elemen data yang dinyatakan dengan
sebuah nama, dengan sifat setiap elemen dapat memiliki tipe yang berlainan.
Struktur data biasa dipakai untuk mengelompokkan beberapa informasi yang
berkaitan menjadi sebuah kesatuan.
* Hirarki Tipe Data
a. Tipe sederhana
- Tipe ordinal
unsigned char 1 byte 0 .. 255
signed char/char 1 byte -128 .. 127
int 2 byte -32768 .. 32767
unsigned int 2 byte 0 .. 65535
longint 4 byte -2.147.483.648 .. 2.147.483.647
- Tipe real
float 4 byte 3.4E-38 .. 3.4E38
double 8 byte 1.7E-308 .. 1.7E308
· b. Tipe terstruktur
Tipe string
larik (array)
rekaman (record/structure)
berkas (file)
· c. Tipe pointer
Penulisan program dengan C++
/* Nama program :
Nama : Akmal
NPM :
Tanggal buat :
Deskripsi :
******************************************************/
// deklarasi header file / Preprocessor directive
// deklarasi fungsi / void
main() {
/* KAMUS Data*/
/* Deskripsi Algoritma*/
}
Pemilihan / Seleksi
Analisa Kasus Tunggal ( If )
 If digunakan untuk melakukan proses penyeleksian.
 Jika nilai if yang diseleksi bernilai true maka semua statement
yang ada di dalam blok if akan dijalankan.
Jika dijalankan maka akan didapatkan output "i = 1". Karena seleksi
pada kurung if() menghasilkan nilai true (!= 0), yaitu nilai i
adalah benar satu(1).
main() {
int i = 1;
if (i==1){
cout<<"i = 1”<<endl;
}
}
Analisa 2 kasus komplementer (If Else)
 Pernyataan Else digunakan sebagai alternatif apabila proses
seleksi if menghasilkan nilai false (==0). Maka semua block yang
ada pada statement else akan dijalankan
 Dapat dilihat bahwa di dalam seleksi if(i==1) menghasilkan nilai
false karena nilai i adalah 2. Maka blok yang dijalankan adalah
blok else, yaitu mencetak i is not 1
main() {
int i = 2;
if(i==1){
cout<<"i = 1”<<endl;
}
else{
cout<<"i is not 1”<<endl;
}
}
Analisa Banyak Kasus (If-Else IF)
 Alternatif else if digunakan sebagai pilihan jika proses seleksi ada
banyak. Misalkan kita harus menyeleksi variable untuk beberapa
pilihan
 Jalankan program dan akan dicetak i = 0. Karena seleksi pertama
yang memenuhi persyaratan. Yaitu if(i==0). Seleksi yang lain
yang tidak memenuhi persyaratan tidak akan dijalankan
main() {
int i = 0;
if(i==0){
cout<<"i = 0”<<endl;
}else if(i==1){
cout<<"i = 1”<<endl;
}else if(i==2){
cout<<"i = 2”<<endl;
}else{
cout<<"i is not 0, 1, or 2”<<endl;
}
}
PENGULANGAN / ITERASI
Pengulangan dengan Statement for
Syntaxnya adalah sbb :
for (inisialisasi ; kondisi kontinu; update) {
aksi ;
}
Ini merupakan bentuk yang sederhana untuk pengontrolan sebuah loop yang terdiri
atas tiga bagian terpisah. Ketiganya ini dimungkinkan untuk kosong.
contoh:
// Menghitung Sigma(i) = 1 + 2 + 3 + ... + n dengan for
main() {
int n, sigma = 0;
cout << “Masukkan bilangan integer positif”; cin >> n;
for (int i = 1; i <= n; i++) {
sigma += i;
}
cout << “Jumlahnya dari << n <<“ bil. pertama adalah : “ << sigma << endl;
}
Pengulangan dengan Statement while
syntaxnya adalah sbb :
while (kondisi) {
aksi;
}
Pertama sekali kondisi diperiksa dan jika kondisi tidak nol (contoh true) maka
statement akan dieksekusi kemudian kondisi dievaluasi lagi sampai kondisi adalah
nol (contoh false).
contoh :
// Program menghitung Sigma(i) = 1 + 2 + 3 + ... + n
// dengan while
main() {
int i=1, n, sigma = 0;
cout << “Masukkan bilangan integer positif”; cin >> n;
while (i<=n) {
sigma +=i;
i++;
}
cout << “Jumlah dari << n <<“ bil. pertama adalah : “ << sigma << endl;
}
Pengulangan dengan Statement do ... while
Syntaxnya adalah sbb:
do {
aksi
} while (kondisi);
Statement ini akan mengerjakan statement minimal satu kali (pertama yang
dilakukan) dan kemudian baru dievaluasi kondisinya. Akan terus diulang selama
kondisi bukan nol. Berhenti sampai kondisi bernilai nol (contoh false).
contoh :
main() {
int n, f = 1;
cout << “Masukkan bil integer positif : “; cin >> n;
cout << n << “ faktorial adalah : “;
do {
f *= n;
n--;
} while (n > 1);
cout << f << endl;
}
Pernyataan break
 Pernyataan break digunakan untuk keluar dari suatu
pengulangan ( loop) sehingga perintah-perintah lain
sesudah perintah break dalam suatu loop tidak akan
dikerjakan.
 Contoh : mencetak angka 1 .. 3
int bil;
for (bil = 1; bil <= 10 ; bil++) {
if (bil == 4)
break;
cout << bil << endl;
}
Pernyataan continue
 Pernyataan continue dimaksudkan untuk mengarahkan
eksekusi lompat ke kondisi pernyataan for, do…while atau
while sehingga kondisi akan dievaluasi lagi.
 Contoh : Mencetak 0 1 2 4
int i = 0;
while (i < 5) {
if (i == 3){
i++;
continue;
}
cout << i << endl;
i++;
}
Pengertian Fungsi
 Fungsi adalah objek (bagian program/rutin) yang
digunakan untuk memodularkan program
dengan suatu ciri mengembalikan suatu nilai
(return value)
 Semua variables yang dideklarasikan dalam
fungsi merupakan variable lokal, yang hanya
diketahui dalam fungsi bersangkutan
 Fungsi bisa memiliki parameter yang
menyediakan komunikasi antara function dengan
modul yang memanggil fungsi tsb. (Parameter
formal dan Parameter aktual)
 Parameters bersifat local variables
Penulisan Fungsi
TipeHasil namaFungsi(tipe1 par1, tipe2 par2 …) {
// kamus data local
……….
// Isi Fungsi
……….
return (hasil); // pengembalian hasil ke pemanggil
}
Pemanggilan :
hsl = namaFungsi (akt1, akt2 …)
Atau
cout<< namaFungsi (akt1, akt2 …)
Antara parameter actual dengan parameter formal harus bersesuaian
yaitu bertipe sama dan banyaknya juga sama
Fungsi void
 Procedure atau subroutine pada bahasa lain diimplementasikan pada C++
dengan menjadikannya sebagai fungsi dengan menempatkan kata kunci
void didepan nama procedure yang dibuat.
 Dalam hal ini tidak diperlukan adanya pengembalian nilai dari fungsi,
sehingga perintah return tidak dimasukkan
Penulisan Fungsi void
void NamaFungsi(tipe1 par1, tipe2 par2 …) {
// kamus data local
……….
// Isi Fungsi void
……….
}
Pemanggilan
NamaFungsi(akt1, akt2, …..)
Perbedaan Passing by value dan Passing by reference
Penulisan di parameter formal
Tipe par
Penulisan di parameter formal
Tipe& par
Formal hanya bisa baca nilai actual
(read only)
Bisa baca dan tulis (read /write)
Parameter formal merupakan salinan
dari aktual
Merupakan alias atau sinonim
Formal tidak mempengaruhi aktual Formal mempengaruhi aktual
Parameter aktual bisa berupa
konstanta, variable, dan ekspresi
Parameter aktual hanya dengan
variable
By value By reference
Latihan dan Tugas
1. Buat program modular untuk menampilkan output sbb (dicetak angka dan asterik):
Banyak baris : 4 (diinputkan dari keyboard)
1. * 1. * * * *
2. * * 2. * * *
3. * * * 3. * *
4. * * * * 4. *
Gunakan skema nested loop dengan a. 2 buah for
b. 2 buah while
2. Tentukan hasil program modular berikut:
void fungsiLoop1(int n) {
for (int i=0; i < n ; i++) {
if (i%2 == 0) cout << i+1 << endl;
else if (i%3 ==0) continue;
else if (i%5 ==0) break;
cout << "Akhir Dalam Loop"<<endl;
}
cout << "Akhir Luar Loop"<<endl;
}
int main() {
fungsiLoop1(8);
}
void fungsiLoop2(int n){
int i=1;
while (i < n) {
if (i < 3)
i += 2;
else cout << (i++) <<endl;
cout<< “Akhir loop” << endl;
}
cout << "ni = " << i;
}
int main() {
fungsiLoop2(7);
}
3. Buatlah program modular untuk mencari pangkat suatu bilangan dengan menggunakan
perulangan.
Masukkan satu bilangan : 2
Masukkan pangkatnya : 3
2 pangkat 3  pangkat (2,3) = 8
4. Buatlah program modular untuk menampilkan lagu anak ayam berikut menggunakan
perulangan:
Masukkan banyak anak ayam : 10 (dinputkan)
Lagunya :
Anak ayam turunlah 10
Mati satu tinggal 9
Anak ayam turunlah 9
Mati satu tinggal 8
…
Anak ayam turunlah 1
Mati satu tinggal induknya

More Related Content

What's hot

Graf Pohon
Graf PohonGraf Pohon
Graf Pohon
Septi Ratnasari
 
materi imk Menu
materi imk Menumateri imk Menu
materi imk Menu
Kukuh Aji
 
Relasi dan Hasil Kali Cartesius
Relasi dan Hasil Kali CartesiusRelasi dan Hasil Kali Cartesius
Relasi dan Hasil Kali Cartesius
Eman Mendrofa
 
Logika dan Pembuktian
Logika dan PembuktianLogika dan Pembuktian
Logika dan Pembuktian
Fahrul Usman
 
6. metode inferensi
6. metode inferensi6. metode inferensi
6. metode inferensi
eman02
 
Laporan hasil praktikum modul ii tipe data
Laporan hasil praktikum modul ii tipe dataLaporan hasil praktikum modul ii tipe data
Laporan hasil praktikum modul ii tipe data
Meycelino A. T
 
2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)
Kelinci Coklat
 
Model data relasional (3)
Model data relasional (3)Model data relasional (3)
Model data relasional (3)
Arib Herzi
 
Materi : Struktur Data (1 Pengantar)
Materi : Struktur Data (1 Pengantar)Materi : Struktur Data (1 Pengantar)
Materi : Struktur Data (1 Pengantar)
eka pandu cynthia
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquer
ohohervin
 
Interpolasi Newton
Interpolasi  NewtonInterpolasi  Newton
Interpolasi Newton
Ratih Vihafsari
 
Analisis ERD Database Rumah Sakit
Analisis ERD Database Rumah SakitAnalisis ERD Database Rumah Sakit
Analisis ERD Database Rumah Sakit
Fitria Nuri
 
Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)
zachrison htg
 
Fathoni m bahan ajar_if2018_prak.struktur data
Fathoni m bahan ajar_if2018_prak.struktur dataFathoni m bahan ajar_if2018_prak.struktur data
Fathoni m bahan ajar_if2018_prak.struktur data
STMIK
 
Materi 4 penyelesaian spl tiga atau lebih variabel
Materi 4 penyelesaian spl tiga atau lebih variabelMateri 4 penyelesaian spl tiga atau lebih variabel
Materi 4 penyelesaian spl tiga atau lebih variabel
radar radius
 
8 logika predikat
8  logika predikat8  logika predikat
8 logika predikat
Yulinda Nurhafina
 
Pengantar metode numerik
Pengantar metode numerikPengantar metode numerik
Pengantar metode numerik
putra_andy
 
Bab 2 logika predikat ta 2019
Bab 2 logika predikat ta 2019Bab 2 logika predikat ta 2019
Bab 2 logika predikat ta 2019
Sukma Puspitorini
 

What's hot (20)

Graf Pohon
Graf PohonGraf Pohon
Graf Pohon
 
materi imk Menu
materi imk Menumateri imk Menu
materi imk Menu
 
Relasi dan Hasil Kali Cartesius
Relasi dan Hasil Kali CartesiusRelasi dan Hasil Kali Cartesius
Relasi dan Hasil Kali Cartesius
 
Logika dan Pembuktian
Logika dan PembuktianLogika dan Pembuktian
Logika dan Pembuktian
 
Pertemuan 10
Pertemuan 10Pertemuan 10
Pertemuan 10
 
6. metode inferensi
6. metode inferensi6. metode inferensi
6. metode inferensi
 
Laporan hasil praktikum modul ii tipe data
Laporan hasil praktikum modul ii tipe dataLaporan hasil praktikum modul ii tipe data
Laporan hasil praktikum modul ii tipe data
 
2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)
 
Model data relasional (3)
Model data relasional (3)Model data relasional (3)
Model data relasional (3)
 
Materi : Struktur Data (1 Pengantar)
Materi : Struktur Data (1 Pengantar)Materi : Struktur Data (1 Pengantar)
Materi : Struktur Data (1 Pengantar)
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquer
 
Interpolasi Newton
Interpolasi  NewtonInterpolasi  Newton
Interpolasi Newton
 
Analisis ERD Database Rumah Sakit
Analisis ERD Database Rumah SakitAnalisis ERD Database Rumah Sakit
Analisis ERD Database Rumah Sakit
 
Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)
 
Fathoni m bahan ajar_if2018_prak.struktur data
Fathoni m bahan ajar_if2018_prak.struktur dataFathoni m bahan ajar_if2018_prak.struktur data
Fathoni m bahan ajar_if2018_prak.struktur data
 
Materi 4 penyelesaian spl tiga atau lebih variabel
Materi 4 penyelesaian spl tiga atau lebih variabelMateri 4 penyelesaian spl tiga atau lebih variabel
Materi 4 penyelesaian spl tiga atau lebih variabel
 
8 logika predikat
8  logika predikat8  logika predikat
8 logika predikat
 
Pengantar metode numerik
Pengantar metode numerikPengantar metode numerik
Pengantar metode numerik
 
Bab 2 logika predikat ta 2019
Bab 2 logika predikat ta 2019Bab 2 logika predikat ta 2019
Bab 2 logika predikat ta 2019
 
relasi himpunan
relasi himpunanrelasi himpunan
relasi himpunan
 

Similar to 1. Algoritma, Struktur Data dan Pemrograman Terstruktur

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 newasdammantap
 
Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iii
Devi Apriansyah
 
Pengenalan konsep pemrograman c++
Pengenalan konsep pemrograman c++ Pengenalan konsep pemrograman c++
Pengenalan konsep pemrograman c++
Aan Einsam
 
Praktikum
PraktikumPraktikum
Praktikum
inggar tri
 
Presentasi Pengenalan konsep pemrograman
Presentasi Pengenalan konsep pemrogramanPresentasi Pengenalan konsep pemrograman
Presentasi Pengenalan konsep pemrograman
Muraba Nasuha
 
Intruksi Fundamental Lanjutan
Intruksi Fundamental LanjutanIntruksi Fundamental Lanjutan
Intruksi Fundamental Lanjutan
Akmal Fajar
 
Function
FunctionFunction
Functionwindi1
 
Fungsi
FungsiFungsi
Fungsi
Rahmat Rijal
 
Struktur Runtunan Algoritma
Struktur Runtunan AlgoritmaStruktur Runtunan Algoritma
Struktur Runtunan Algoritma
casnadi
 
Materi VISUAL BASIC 2010 dffffffffffopppoo
Materi VISUAL BASIC 2010 dffffffffffopppooMateri VISUAL BASIC 2010 dffffffffffopppoo
Materi VISUAL BASIC 2010 dffffffffffopppoo
RikyFirmansyah9
 

Similar to 1. Algoritma, Struktur Data dan Pemrograman Terstruktur (20)

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
 
Cc++
Cc++Cc++
Cc++
 
Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iii
 
Pengenalan konsep pemrograman c++
Pengenalan konsep pemrograman c++ Pengenalan konsep pemrograman c++
Pengenalan konsep pemrograman c++
 
Praktikum
PraktikumPraktikum
Praktikum
 
Presentasi Pengenalan konsep pemrograman
Presentasi Pengenalan konsep pemrogramanPresentasi Pengenalan konsep pemrograman
Presentasi Pengenalan konsep pemrograman
 
Penjelasan Program
Penjelasan ProgramPenjelasan Program
Penjelasan Program
 
Intruksi Fundamental Lanjutan
Intruksi Fundamental LanjutanIntruksi Fundamental Lanjutan
Intruksi Fundamental Lanjutan
 
Function c++
Function c++Function c++
Function c++
 
Pertemuan II Function
Pertemuan II FunctionPertemuan II Function
Pertemuan II Function
 
Function
FunctionFunction
Function
 
Function
FunctionFunction
Function
 
Function c++
Function c++Function c++
Function c++
 
Fungsi
FungsiFungsi
Fungsi
 
Struktur Runtunan Algoritma
Struktur Runtunan AlgoritmaStruktur Runtunan Algoritma
Struktur Runtunan Algoritma
 
Modul 1-2
Modul 1-2Modul 1-2
Modul 1-2
 
Materi VISUAL BASIC 2010 dffffffffffopppoo
Materi VISUAL BASIC 2010 dffffffffffopppooMateri VISUAL BASIC 2010 dffffffffffopppoo
Materi VISUAL BASIC 2010 dffffffffffopppoo
 
Tm c++
Tm c++Tm c++
Tm c++
 
Tipe data
Tipe dataTipe data
Tipe data
 
Materi operator java
Materi operator javaMateri operator java
Materi operator java
 

More from Kelinci Coklat

Bab 7 integrasi numerik
Bab 7 integrasi numerikBab 7 integrasi numerik
Bab 7 integrasi numerik
Kelinci Coklat
 
Bab 6 turunan numerik
Bab 6 turunan numerikBab 6 turunan numerik
Bab 6 turunan numerik
Kelinci Coklat
 
Bab 5 interpolasi newton lanjutan
Bab 5 interpolasi newton lanjutanBab 5 interpolasi newton lanjutan
Bab 5 interpolasi newton lanjutan
Kelinci Coklat
 
Bab 5 interpolasi
Bab 5 interpolasiBab 5 interpolasi
Bab 5 interpolasi
Kelinci Coklat
 
Bab 4 sistem persamaan linear
Bab 4 sistem persamaan linearBab 4 sistem persamaan linear
Bab 4 sistem persamaan linear
Kelinci Coklat
 
Bab 3 penyelesaian persamaan tak linear
Bab 3 penyelesaian persamaan tak linearBab 3 penyelesaian persamaan tak linear
Bab 3 penyelesaian persamaan tak linear
Kelinci Coklat
 
Bab 2 perhitungan galat
Bab 2  perhitungan galatBab 2  perhitungan galat
Bab 2 perhitungan galat
Kelinci Coklat
 
Bab 1 pendahuluan
Bab 1 pendahuluanBab 1 pendahuluan
Bab 1 pendahuluan
Kelinci Coklat
 
Bab 8 persamaan differensial-biasa
Bab 8 persamaan differensial-biasaBab 8 persamaan differensial-biasa
Bab 8 persamaan differensial-biasa
Kelinci Coklat
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
Kelinci Coklat
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)
Kelinci Coklat
 
6. Stack (Struktur Data)
6. Stack (Struktur Data)6. Stack (Struktur Data)
6. Stack (Struktur Data)
Kelinci Coklat
 
8. Multi List (Struktur Data)
8. Multi List (Struktur Data)8. Multi List (Struktur Data)
8. Multi List (Struktur Data)
Kelinci Coklat
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
Kelinci Coklat
 
3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly
Kelinci Coklat
 
4.2. Operasi Dasar Singly Linked List 2 (primitive list)
4.2. Operasi Dasar Singly Linked List  2 (primitive list)4.2. Operasi Dasar Singly Linked List  2 (primitive list)
4.2. Operasi Dasar Singly Linked List 2 (primitive list)
Kelinci Coklat
 
Anuitas Biasa (Matematika Keuangan)
Anuitas Biasa (Matematika Keuangan)Anuitas Biasa (Matematika Keuangan)
Anuitas Biasa (Matematika Keuangan)
Kelinci Coklat
 
Bunga Majemuk (Matematika Keuangan)
Bunga Majemuk (Matematika Keuangan)Bunga Majemuk (Matematika Keuangan)
Bunga Majemuk (Matematika Keuangan)
Kelinci Coklat
 
Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)
Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)
Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)
Kelinci Coklat
 
Anuitas Tumbuh dan Variabel (Matematika Keuangan)
Anuitas Tumbuh dan Variabel (Matematika Keuangan)Anuitas Tumbuh dan Variabel (Matematika Keuangan)
Anuitas Tumbuh dan Variabel (Matematika Keuangan)
Kelinci Coklat
 

More from Kelinci Coklat (20)

Bab 7 integrasi numerik
Bab 7 integrasi numerikBab 7 integrasi numerik
Bab 7 integrasi numerik
 
Bab 6 turunan numerik
Bab 6 turunan numerikBab 6 turunan numerik
Bab 6 turunan numerik
 
Bab 5 interpolasi newton lanjutan
Bab 5 interpolasi newton lanjutanBab 5 interpolasi newton lanjutan
Bab 5 interpolasi newton lanjutan
 
Bab 5 interpolasi
Bab 5 interpolasiBab 5 interpolasi
Bab 5 interpolasi
 
Bab 4 sistem persamaan linear
Bab 4 sistem persamaan linearBab 4 sistem persamaan linear
Bab 4 sistem persamaan linear
 
Bab 3 penyelesaian persamaan tak linear
Bab 3 penyelesaian persamaan tak linearBab 3 penyelesaian persamaan tak linear
Bab 3 penyelesaian persamaan tak linear
 
Bab 2 perhitungan galat
Bab 2  perhitungan galatBab 2  perhitungan galat
Bab 2 perhitungan galat
 
Bab 1 pendahuluan
Bab 1 pendahuluanBab 1 pendahuluan
Bab 1 pendahuluan
 
Bab 8 persamaan differensial-biasa
Bab 8 persamaan differensial-biasaBab 8 persamaan differensial-biasa
Bab 8 persamaan differensial-biasa
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)
 
6. Stack (Struktur Data)
6. Stack (Struktur Data)6. Stack (Struktur Data)
6. Stack (Struktur Data)
 
8. Multi List (Struktur Data)
8. Multi List (Struktur Data)8. Multi List (Struktur Data)
8. Multi List (Struktur Data)
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
 
3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly
 
4.2. Operasi Dasar Singly Linked List 2 (primitive list)
4.2. Operasi Dasar Singly Linked List  2 (primitive list)4.2. Operasi Dasar Singly Linked List  2 (primitive list)
4.2. Operasi Dasar Singly Linked List 2 (primitive list)
 
Anuitas Biasa (Matematika Keuangan)
Anuitas Biasa (Matematika Keuangan)Anuitas Biasa (Matematika Keuangan)
Anuitas Biasa (Matematika Keuangan)
 
Bunga Majemuk (Matematika Keuangan)
Bunga Majemuk (Matematika Keuangan)Bunga Majemuk (Matematika Keuangan)
Bunga Majemuk (Matematika Keuangan)
 
Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)
Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)
Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)
 
Anuitas Tumbuh dan Variabel (Matematika Keuangan)
Anuitas Tumbuh dan Variabel (Matematika Keuangan)Anuitas Tumbuh dan Variabel (Matematika Keuangan)
Anuitas Tumbuh dan Variabel (Matematika Keuangan)
 

Recently uploaded

Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptxBab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
nawasenamerta
 
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdfINDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
NurSriWidyastuti1
 
Laporan pembina seni tari - www.kherysuryawan.id.pdf
Laporan pembina seni tari - www.kherysuryawan.id.pdfLaporan pembina seni tari - www.kherysuryawan.id.pdf
Laporan pembina seni tari - www.kherysuryawan.id.pdf
heridawesty4
 
Laporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdfLaporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdf
gloriosaesy
 
tugas modul 1.4 Koneksi Antar Materi (1).pptx
tugas  modul 1.4 Koneksi Antar Materi (1).pptxtugas  modul 1.4 Koneksi Antar Materi (1).pptx
tugas modul 1.4 Koneksi Antar Materi (1).pptx
d2spdpnd9185
 
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptxPPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
Kurnia Fajar
 
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptxJuknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
mattaja008
 
Seminar: Sekolah Alkitab Liburan (SAL) 2024
Seminar: Sekolah Alkitab Liburan (SAL) 2024Seminar: Sekolah Alkitab Liburan (SAL) 2024
Seminar: Sekolah Alkitab Liburan (SAL) 2024
SABDA
 
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Fathan Emran
 
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
RinawatiRinawati10
 
Koneksi Antar Materi Modul 1.4.ppt x
Koneksi Antar Materi Modul 1.4.ppt           xKoneksi Antar Materi Modul 1.4.ppt           x
Koneksi Antar Materi Modul 1.4.ppt x
johan199969
 
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docxINSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
lindaagina84
 
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptxPRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
muhammadyudiyanto55
 
Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
erlita3
 
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
MirnasariMutmainna1
 
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
muhammadRifai732845
 
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdfPaparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
SEMUELSAMBOKARAENG
 
Sapawarga - Manual Guide PPDB Tahun 2024.pdf
Sapawarga - Manual Guide PPDB Tahun 2024.pdfSapawarga - Manual Guide PPDB Tahun 2024.pdf
Sapawarga - Manual Guide PPDB Tahun 2024.pdf
TarkaTarka
 
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum MerdekaModul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Fathan Emran
 
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawasPrensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
suprihatin1885
 

Recently uploaded (20)

Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptxBab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
 
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdfINDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
 
Laporan pembina seni tari - www.kherysuryawan.id.pdf
Laporan pembina seni tari - www.kherysuryawan.id.pdfLaporan pembina seni tari - www.kherysuryawan.id.pdf
Laporan pembina seni tari - www.kherysuryawan.id.pdf
 
Laporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdfLaporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdf
 
tugas modul 1.4 Koneksi Antar Materi (1).pptx
tugas  modul 1.4 Koneksi Antar Materi (1).pptxtugas  modul 1.4 Koneksi Antar Materi (1).pptx
tugas modul 1.4 Koneksi Antar Materi (1).pptx
 
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptxPPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
 
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptxJuknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
 
Seminar: Sekolah Alkitab Liburan (SAL) 2024
Seminar: Sekolah Alkitab Liburan (SAL) 2024Seminar: Sekolah Alkitab Liburan (SAL) 2024
Seminar: Sekolah Alkitab Liburan (SAL) 2024
 
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
 
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
813 Modul Ajar KurMer Usaha, Energi, dan Pesawat Sederhana (2).docx
 
Koneksi Antar Materi Modul 1.4.ppt x
Koneksi Antar Materi Modul 1.4.ppt           xKoneksi Antar Materi Modul 1.4.ppt           x
Koneksi Antar Materi Modul 1.4.ppt x
 
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docxINSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
 
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptxPRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
 
Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
 
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
 
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
 
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdfPaparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
 
Sapawarga - Manual Guide PPDB Tahun 2024.pdf
Sapawarga - Manual Guide PPDB Tahun 2024.pdfSapawarga - Manual Guide PPDB Tahun 2024.pdf
Sapawarga - Manual Guide PPDB Tahun 2024.pdf
 
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum MerdekaModul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
 
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawasPrensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
 

1. Algoritma, Struktur Data dan Pemrograman Terstruktur

  • 1. ALGORITMA, STRUKTUR DATA DAN PEMROGRAMAN TERSTRUKTUR Akmal, S.Si, MT Erick Paulus, S.Si, M.Kom Mata Kuliah : Struktur Data
  • 2. Tujuan  mahasiswa dapat membuat program yang terstruktur dan modular menggunakan prosedur dan fungsi dengan tipe data dasar / sederhana menggunakan bahasa C++ dengan benar 
  • 3. Pokok Bahasan  Tipe Data dan Abstract Data Type (ADT)  Algoritma dan bahasa C++  Pemrograman Terstruktur (Fungsi / Prosedur)
  • 4. Pemrograman Dan Algoritma  Algoritma adalah rangkaian terurut langkah-langkah yang logis dan sistematis yang disusun untuk menyelesaikan suatu masalah  Program secara umum adalah : kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang logis untuk menyelesaikan suatu persoalan yang dimengerti oleh komputer. 3 Skema Dasar Algoritma 1. Runtunan 2. Pemilihan / Seleksi 3. Pengulangan Penulisan algoritma : a. Diagram Alir / Flow Chart b. Kode Semu / Pseudo Code
  • 5. Struktur dan tipe data Struktur data adalah koleksi dari elemen-elemen data yang dinyatakan dengan sebuah nama, dengan sifat setiap elemen dapat memiliki tipe yang berlainan. Struktur data biasa dipakai untuk mengelompokkan beberapa informasi yang berkaitan menjadi sebuah kesatuan. * Hirarki Tipe Data a. Tipe sederhana - Tipe ordinal unsigned char 1 byte 0 .. 255 signed char/char 1 byte -128 .. 127 int 2 byte -32768 .. 32767 unsigned int 2 byte 0 .. 65535 longint 4 byte -2.147.483.648 .. 2.147.483.647 - Tipe real float 4 byte 3.4E-38 .. 3.4E38 double 8 byte 1.7E-308 .. 1.7E308 · b. Tipe terstruktur Tipe string larik (array) rekaman (record/structure) berkas (file) · c. Tipe pointer
  • 6. Penulisan program dengan C++ /* Nama program : Nama : Akmal NPM : Tanggal buat : Deskripsi : ******************************************************/ // deklarasi header file / Preprocessor directive // deklarasi fungsi / void main() { /* KAMUS Data*/ /* Deskripsi Algoritma*/ }
  • 7. Pemilihan / Seleksi Analisa Kasus Tunggal ( If )  If digunakan untuk melakukan proses penyeleksian.  Jika nilai if yang diseleksi bernilai true maka semua statement yang ada di dalam blok if akan dijalankan. Jika dijalankan maka akan didapatkan output "i = 1". Karena seleksi pada kurung if() menghasilkan nilai true (!= 0), yaitu nilai i adalah benar satu(1). main() { int i = 1; if (i==1){ cout<<"i = 1”<<endl; } }
  • 8. Analisa 2 kasus komplementer (If Else)  Pernyataan Else digunakan sebagai alternatif apabila proses seleksi if menghasilkan nilai false (==0). Maka semua block yang ada pada statement else akan dijalankan  Dapat dilihat bahwa di dalam seleksi if(i==1) menghasilkan nilai false karena nilai i adalah 2. Maka blok yang dijalankan adalah blok else, yaitu mencetak i is not 1 main() { int i = 2; if(i==1){ cout<<"i = 1”<<endl; } else{ cout<<"i is not 1”<<endl; } }
  • 9. Analisa Banyak Kasus (If-Else IF)  Alternatif else if digunakan sebagai pilihan jika proses seleksi ada banyak. Misalkan kita harus menyeleksi variable untuk beberapa pilihan  Jalankan program dan akan dicetak i = 0. Karena seleksi pertama yang memenuhi persyaratan. Yaitu if(i==0). Seleksi yang lain yang tidak memenuhi persyaratan tidak akan dijalankan main() { int i = 0; if(i==0){ cout<<"i = 0”<<endl; }else if(i==1){ cout<<"i = 1”<<endl; }else if(i==2){ cout<<"i = 2”<<endl; }else{ cout<<"i is not 0, 1, or 2”<<endl; } }
  • 10. PENGULANGAN / ITERASI Pengulangan dengan Statement for Syntaxnya adalah sbb : for (inisialisasi ; kondisi kontinu; update) { aksi ; } Ini merupakan bentuk yang sederhana untuk pengontrolan sebuah loop yang terdiri atas tiga bagian terpisah. Ketiganya ini dimungkinkan untuk kosong. contoh: // Menghitung Sigma(i) = 1 + 2 + 3 + ... + n dengan for main() { int n, sigma = 0; cout << “Masukkan bilangan integer positif”; cin >> n; for (int i = 1; i <= n; i++) { sigma += i; } cout << “Jumlahnya dari << n <<“ bil. pertama adalah : “ << sigma << endl; }
  • 11. Pengulangan dengan Statement while syntaxnya adalah sbb : while (kondisi) { aksi; } Pertama sekali kondisi diperiksa dan jika kondisi tidak nol (contoh true) maka statement akan dieksekusi kemudian kondisi dievaluasi lagi sampai kondisi adalah nol (contoh false). contoh : // Program menghitung Sigma(i) = 1 + 2 + 3 + ... + n // dengan while main() { int i=1, n, sigma = 0; cout << “Masukkan bilangan integer positif”; cin >> n; while (i<=n) { sigma +=i; i++; } cout << “Jumlah dari << n <<“ bil. pertama adalah : “ << sigma << endl; }
  • 12. Pengulangan dengan Statement do ... while Syntaxnya adalah sbb: do { aksi } while (kondisi); Statement ini akan mengerjakan statement minimal satu kali (pertama yang dilakukan) dan kemudian baru dievaluasi kondisinya. Akan terus diulang selama kondisi bukan nol. Berhenti sampai kondisi bernilai nol (contoh false). contoh : main() { int n, f = 1; cout << “Masukkan bil integer positif : “; cin >> n; cout << n << “ faktorial adalah : “; do { f *= n; n--; } while (n > 1); cout << f << endl; }
  • 13. Pernyataan break  Pernyataan break digunakan untuk keluar dari suatu pengulangan ( loop) sehingga perintah-perintah lain sesudah perintah break dalam suatu loop tidak akan dikerjakan.  Contoh : mencetak angka 1 .. 3 int bil; for (bil = 1; bil <= 10 ; bil++) { if (bil == 4) break; cout << bil << endl; }
  • 14. Pernyataan continue  Pernyataan continue dimaksudkan untuk mengarahkan eksekusi lompat ke kondisi pernyataan for, do…while atau while sehingga kondisi akan dievaluasi lagi.  Contoh : Mencetak 0 1 2 4 int i = 0; while (i < 5) { if (i == 3){ i++; continue; } cout << i << endl; i++; }
  • 15. Pengertian Fungsi  Fungsi adalah objek (bagian program/rutin) yang digunakan untuk memodularkan program dengan suatu ciri mengembalikan suatu nilai (return value)  Semua variables yang dideklarasikan dalam fungsi merupakan variable lokal, yang hanya diketahui dalam fungsi bersangkutan  Fungsi bisa memiliki parameter yang menyediakan komunikasi antara function dengan modul yang memanggil fungsi tsb. (Parameter formal dan Parameter aktual)  Parameters bersifat local variables
  • 16. Penulisan Fungsi TipeHasil namaFungsi(tipe1 par1, tipe2 par2 …) { // kamus data local ………. // Isi Fungsi ………. return (hasil); // pengembalian hasil ke pemanggil } Pemanggilan : hsl = namaFungsi (akt1, akt2 …) Atau cout<< namaFungsi (akt1, akt2 …) Antara parameter actual dengan parameter formal harus bersesuaian yaitu bertipe sama dan banyaknya juga sama
  • 17. Fungsi void  Procedure atau subroutine pada bahasa lain diimplementasikan pada C++ dengan menjadikannya sebagai fungsi dengan menempatkan kata kunci void didepan nama procedure yang dibuat.  Dalam hal ini tidak diperlukan adanya pengembalian nilai dari fungsi, sehingga perintah return tidak dimasukkan Penulisan Fungsi void void NamaFungsi(tipe1 par1, tipe2 par2 …) { // kamus data local ………. // Isi Fungsi void ………. } Pemanggilan NamaFungsi(akt1, akt2, …..)
  • 18. Perbedaan Passing by value dan Passing by reference Penulisan di parameter formal Tipe par Penulisan di parameter formal Tipe& par Formal hanya bisa baca nilai actual (read only) Bisa baca dan tulis (read /write) Parameter formal merupakan salinan dari aktual Merupakan alias atau sinonim Formal tidak mempengaruhi aktual Formal mempengaruhi aktual Parameter aktual bisa berupa konstanta, variable, dan ekspresi Parameter aktual hanya dengan variable By value By reference
  • 19. Latihan dan Tugas 1. Buat program modular untuk menampilkan output sbb (dicetak angka dan asterik): Banyak baris : 4 (diinputkan dari keyboard) 1. * 1. * * * * 2. * * 2. * * * 3. * * * 3. * * 4. * * * * 4. * Gunakan skema nested loop dengan a. 2 buah for b. 2 buah while 2. Tentukan hasil program modular berikut: void fungsiLoop1(int n) { for (int i=0; i < n ; i++) { if (i%2 == 0) cout << i+1 << endl; else if (i%3 ==0) continue; else if (i%5 ==0) break; cout << "Akhir Dalam Loop"<<endl; } cout << "Akhir Luar Loop"<<endl; } int main() { fungsiLoop1(8); } void fungsiLoop2(int n){ int i=1; while (i < n) { if (i < 3) i += 2; else cout << (i++) <<endl; cout<< “Akhir loop” << endl; } cout << "ni = " << i; } int main() { fungsiLoop2(7); }
  • 20. 3. Buatlah program modular untuk mencari pangkat suatu bilangan dengan menggunakan perulangan. Masukkan satu bilangan : 2 Masukkan pangkatnya : 3 2 pangkat 3  pangkat (2,3) = 8 4. Buatlah program modular untuk menampilkan lagu anak ayam berikut menggunakan perulangan: Masukkan banyak anak ayam : 10 (dinputkan) Lagunya : Anak ayam turunlah 10 Mati satu tinggal 9 Anak ayam turunlah 9 Mati satu tinggal 8 … Anak ayam turunlah 1 Mati satu tinggal induknya