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

PPTX
Erd dan contoh kasus
PDF
2. Array of Record (Struktur Data)
PDF
4 diagram relasi antar entitas (ERD)
PPTX
Jenis dan proses interupsi
DOCX
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
PPTX
Bab 5 penyederhanaan fungsi boolean
PPT
Notasi prefix infix-postifx- expression tree
PPTX
Html power point
Erd dan contoh kasus
2. Array of Record (Struktur Data)
4 diagram relasi antar entitas (ERD)
Jenis dan proses interupsi
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Bab 5 penyederhanaan fungsi boolean
Notasi prefix infix-postifx- expression tree
Html power point

What's hot (20)

PPTX
3 Linked List
PDF
Soal uas struktur data
PDF
Bab 3 Aljabar Boole
PDF
PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...
PDF
Kunci Jawaban kalkulus edisi 9[yunusFairVry.blogspot.com].pdf
PPTX
Tipe data abstract
DOCX
UML Aplikasi Rental Mobil
PPT
Jawaban Struktur data soal-latihan
PPTX
Operasi string dan kondisi if
PPTX
Deret Taylor dan McLaurin
PPT
Desain Top Down
PDF
6. Stack (Struktur Data)
DOCX
Latihan soal struktur data
PDF
Bahan ajar matematika dasar universitas
PDF
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
PPTX
Kisi kisi uas struktur data
PDF
Diagram Venn Beserta Contoh Soal
PPTX
Dts x dicoding #4 memulai pemrograman kotlin
PPTX
Presentasi konsep dasar html
PPT
03 limit dan kekontinuan
3 Linked List
Soal uas struktur data
Bab 3 Aljabar Boole
PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...
Kunci Jawaban kalkulus edisi 9[yunusFairVry.blogspot.com].pdf
Tipe data abstract
UML Aplikasi Rental Mobil
Jawaban Struktur data soal-latihan
Operasi string dan kondisi if
Deret Taylor dan McLaurin
Desain Top Down
6. Stack (Struktur Data)
Latihan soal struktur data
Bahan ajar matematika dasar universitas
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Kisi kisi uas struktur data
Diagram Venn Beserta Contoh Soal
Dts x dicoding #4 memulai pemrograman kotlin
Presentasi konsep dasar html
03 limit dan kekontinuan
Ad

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

PPTX
Materi algoritma dan pemrograman insan unggul new
PDF
DOCX
Laporan praktikum modul ii & iii
PPT
Pengenalan konsep pemrograman c++
PDF
Praktikum
PPT
Presentasi Pengenalan konsep pemrograman
DOCX
Penjelasan Program
DOC
Intruksi Fundamental Lanjutan
PDF
Function c++
PPT
Pertemuan II Function
PPT
PPT
Function
PDF
Function c++
PDF
Fungsi
PDF
Struktur Runtunan Algoritma
PDF
Modul 1-2
PPTX
Materi VISUAL BASIC 2010 dffffffffffopppoo
PPTX
PDF
Diskusi Dasar Pemrograman Pertemuan Ke-13.pdf
PDF
Materi algoritma dan pemrograman insan unggul new
Laporan praktikum modul ii & iii
Pengenalan konsep pemrograman c++
Praktikum
Presentasi Pengenalan konsep pemrograman
Penjelasan Program
Intruksi Fundamental Lanjutan
Function c++
Pertemuan II Function
Function
Function c++
Fungsi
Struktur Runtunan Algoritma
Modul 1-2
Materi VISUAL BASIC 2010 dffffffffffopppoo
Diskusi Dasar Pemrograman Pertemuan Ke-13.pdf
Ad

More from Kelinci Coklat (20)

PPT
Bab 7 integrasi numerik
PPTX
Bab 6 turunan numerik
PPT
Bab 5 interpolasi newton lanjutan
PPT
Bab 5 interpolasi
PPT
Bab 4 sistem persamaan linear
PPT
Bab 3 penyelesaian persamaan tak linear
PPT
Bab 2 perhitungan galat
PPTX
Bab 1 pendahuluan
PPT
Bab 8 persamaan differensial-biasa
PDF
5. Doubly Linked List (Struktur Data)
PDF
7. Queue (Struktur Data)
PPTX
8. Multi List (Struktur Data)
PDF
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
PDF
3. Pointer dan List Berkait Singly
PDF
4.2. Operasi Dasar Singly Linked List 2 (primitive list)
PDF
Anuitas Biasa (Matematika Keuangan)
PDF
Bunga Majemuk (Matematika Keuangan)
PDF
Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)
PDF
Anuitas Tumbuh dan Variabel (Matematika Keuangan)
PDF
Anuitas di Muka dan Ditunda (Matematika Keuangan)
Bab 7 integrasi numerik
Bab 6 turunan numerik
Bab 5 interpolasi newton lanjutan
Bab 5 interpolasi
Bab 4 sistem persamaan linear
Bab 3 penyelesaian persamaan tak linear
Bab 2 perhitungan galat
Bab 1 pendahuluan
Bab 8 persamaan differensial-biasa
5. Doubly Linked List (Struktur Data)
7. Queue (Struktur Data)
8. Multi List (Struktur Data)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
3. Pointer dan List Berkait Singly
4.2. Operasi Dasar Singly Linked List 2 (primitive list)
Anuitas Biasa (Matematika Keuangan)
Bunga Majemuk (Matematika Keuangan)
Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)
Anuitas Tumbuh dan Variabel (Matematika Keuangan)
Anuitas di Muka dan Ditunda (Matematika Keuangan)

Recently uploaded (20)

PDF
PPT Resources Seminar AITalks: AI dan Konseling GPT
PPTX
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
PPTX
Presentasi_Pembelajaran_Mendalam_Lengkap.pptx
DOCX
Modul Ajar Deep Learning PJOK Kelas 10 SMA Terbaru 2025
PDF
KASUS_INKUIRI_KOLABORATIF_KELAS_BAWAH-ISI-ARNI.pdf
PPTX
Bahan Presentasi Persamaan Elips .pptx
PPTX
MATERI MPLS TENTANG KURIKULUM DAN KEGIATAN PEMBELAJARAN
PPT
Teknologi-Pangan-Pertemuan-820728132309-.ppt
PDF
BAHASA INDONESIA KELAS 6 SD TEKS INFORMATIF
PPTX
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
PDF
lembar kerja LMS tugas pembelajaran mendalam
PPTX
PPT Kurikulum Berbasis Cinta tahun 2025.
PPSX
Teknik Trading Selang Seling Yang Dapat Digunakan Untuk Trading Manual Maupun...
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
PPTX
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
PPTX
PENGIMBASAN PEMBELAJARAN MENDALAM (DEEP LEARNING)
DOCX
Modul Ajar Pembelajaran Mendalam Senbud Seni Rupa Kelas XII Terbaru 2025
PPTX
5. Bahan Bacaan Asinkronus Modul 5_ Perencanaan Pembelajaran.pptx
PPTX
Modul 2. Berpikir Komputasional sebagai Dasar Koding untuk Kecerdasan Artifis...
DOCX
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
PPT Resources Seminar AITalks: AI dan Konseling GPT
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
Presentasi_Pembelajaran_Mendalam_Lengkap.pptx
Modul Ajar Deep Learning PJOK Kelas 10 SMA Terbaru 2025
KASUS_INKUIRI_KOLABORATIF_KELAS_BAWAH-ISI-ARNI.pdf
Bahan Presentasi Persamaan Elips .pptx
MATERI MPLS TENTANG KURIKULUM DAN KEGIATAN PEMBELAJARAN
Teknologi-Pangan-Pertemuan-820728132309-.ppt
BAHASA INDONESIA KELAS 6 SD TEKS INFORMATIF
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
lembar kerja LMS tugas pembelajaran mendalam
PPT Kurikulum Berbasis Cinta tahun 2025.
Teknik Trading Selang Seling Yang Dapat Digunakan Untuk Trading Manual Maupun...
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
PENGIMBASAN PEMBELAJARAN MENDALAM (DEEP LEARNING)
Modul Ajar Pembelajaran Mendalam Senbud Seni Rupa Kelas XII Terbaru 2025
5. Bahan Bacaan Asinkronus Modul 5_ Perencanaan Pembelajaran.pptx
Modul 2. Berpikir Komputasional sebagai Dasar Koding untuk Kecerdasan Artifis...
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025

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