Download - Algoritma dan Pemrograman
![Page 1: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/1.jpg)
Algoritma dan PemrogramanModular Programming (Bagian 1)
![Page 2: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/2.jpg)
Topik Bahasan
• Modular Programming• Fungsi (Function)• Deklarasi Fungsi• Memanggil Fungsi• Merancang Fungsi
![Page 3: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/3.jpg)
1. MODULAR PROGRAMMING
![Page 4: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/4.jpg)
Modular Programming
• Modular : Tersusun dari beberapa modules
• Modules : bagian penyusun yang memiliki kegunaan/fungsi khusus
• Divide and Conquer
![Page 5: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/5.jpg)
Modular Programming
• Pendekatan modular banyak digunakan dalam kehidupan sehari-hari
• Rumah : Tembok + Lantai + Pintu + Jendela + Atap
• Kepanitiaan : Ketua, Wakil, Sekretaris, Bendahara, Sie Acara, Sie Publikasi, dsb
![Page 6: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/6.jpg)
Modular Programming
• Komponen pada PC/Laptop juga dirancang secara modular
• Komponen : Motherboard, VGA Card, Sound Card, Memory, Processor, Harddisk, Display, dsb
![Page 7: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/7.jpg)
Motherboard + VGA Card + Memory + Processor + Harddisk + HSF
![Page 8: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/8.jpg)
Modular Programming
• Memecah suatu masalah besar menjadi masalah-masalah yang lebih kecil
• Memecah tanggung jawab (memudahkan pengaturan dan pencarian kesalahan)
• Penggunaan ulang (reusable)
• Bila ketergantungan antar bagian kecil akan memudahkan pengembangan di masa mendatang
![Page 9: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/9.jpg)
Modular Programming
• Memecah program menjadi bagian-bagian kecil
• Bagian-bagian kecil tersebut : Fungsi (Function)
• Terdapat beberapa istilah : function, procedure, subroutine
![Page 10: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/10.jpg)
Modular Programming
• Fungsi mengelompokkan berdasarkan tanggung jawab/cakupan pekerjaan
• Panitia Paskah Fungsi Ketua + Fungsi Sekretaris + Fungsi Bendahara + dsb
• Misal : Sie Acara membutuhkan dana 2 juta untuk dekorasi, siapa yang perlu dihubungi?
![Page 11: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/11.jpg)
Modular Programming
• Fungsi Pada bidang matematika
![Page 12: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/12.jpg)
2. FUNGSI (FUNCTION)
![Page 13: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/13.jpg)
![Page 14: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/14.jpg)
Fungsi
• Suatu program yang besar dan kompleks dibagi menjadi bagian-bagian kecil, yaitu function/fungsi
• Anda masih ingat struktur dasar program C ?
Int main() {… Ini sebuah fungsi
}
![Page 15: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/15.jpg)
Fungsi
• println(“Hello world”);
• scanf(“%d”, &input);
• getch();
• Fungsi ada yang memerlukan input dan ada yang tidak memerlukan input
• Reusable fungsi dapat digunakan ulang tanpa perlu menulis dari awal lagi
![Page 16: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/16.jpg)
Fungsi : Berdasarkan Asal
• Standard Library Function– Fungsi bawaan C, ada di header file standard seperti
conio.h, stdio.h, dsb– printf(), getch(), scanf(), gets(), dsb
• Programmer Defined Function– Fungsi buatan sendiri, dibuat sesuai dengan
kebutuhan– Fungsi dapat diletakkan di header file tambahan
maupun di dalam program utama
![Page 17: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/17.jpg)
Fungsi : Berdasarkan Sifat
• Fungsi yang mengembalikan nilai
• Fungsi yang tidak mengembalikan nilai
• Return Value
![Page 18: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/18.jpg)
Return Value
• Return Value adalah nilai yang dikembalikan dari suatu fungsi
![Page 19: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/19.jpg)
Fungsi : Mengembalikan Nilai
• Fungsi ini memiliki return value
• Ciri-cirinya : – Tidak ada keyword void– Ada keyword return
![Page 20: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/20.jpg)
Fungsi : Tidak Mengembalikan Nilai
• Fungsi ini tidak memiliki return value
• Ciri-cirinya : – Terdapat keyword void– Tidak ada keyword return
![Page 21: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/21.jpg)
3. DEKLARASI FUNGSI
![Page 22: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/22.jpg)
Deklarasi Fungsi
• Fungsi yang merupakan bagian dari Standard Library Function tidak perlu dideklarasikan ulang
• Hanya perlu men-include headers file
• Contoh : #include <stdio.h>
![Page 23: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/23.jpg)
Deklarasi Fungsi
• Suatu program C minimal memiliki 1 fungsi, yaitu fungsi main()
• Fungsi main() ini sebagai titik awal jalannya program
![Page 24: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/24.jpg)
Deklarasi Fungsi
• Untuk menggunakan fungsi buatan sendiri, langkah pertama adalah mendeklarasikannya
• Bentuk Umum :
![Page 25: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/25.jpg)
Bagian Utama Deklarasi Fungsi
• Tipe Data
• Nama Fungsi
• Parameter
![Page 26: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/26.jpg)
1. Tipedata kembalian: float2. NamaFungsi: rupiahkedolar3. Parameter : rupiah, bertipe float4. Return value : dollar, bertipefloat
![Page 27: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/27.jpg)
Posisi Penulisan Fungsi (1)
Fungsi A
Fungsi B
Fungsi C
main
![Page 28: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/28.jpg)
Posisi Penulisan Fungsi (2)
main
Fungsi AFungsi BFungsi C
prototype Aprototype Bprototype C
Jika penulisan fungsi di bawah fungsi main(), anda perlu menuliskan function prototype di atas fungsi main().
![Page 29: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/29.jpg)
Prototype Fungsi
![Page 30: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/30.jpg)
Prototype Fungsi
Mana saja deklarasi prototype fungsi yang benar?
A. int funct(char x, char y);B. char funct(char x)C. void funct();D. char x();E. int char funct(double y, int d);F. lingkaranfunct(double jari);
![Page 31: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/31.jpg)
4. MEMANGGIL FUNGSI
![Page 32: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/32.jpg)
Memanggil Fungsi
• Fungsi dipanggil dengan menuliskan nama fungsi tersebut
• Misal : int luaspersegi(int sisi) {
return sisi * sisi;}
• Memanggilnya : int luas = luaspersegi(10);
![Page 33: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/33.jpg)
Memanggil Fungsi
![Page 34: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/34.jpg)
5. MERANCANG FUNGSI
![Page 35: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/35.jpg)
Merancang Fungsi
• Apakah fungsi perlu input? – Jika perlu, ada berapa input dan apa tipe data
masing-masing input tersebut• Apakah fungsi perlu mengembalikan nilai? – Jika perlu, nilai apa yang perlu dikembalikan
• •Algoritma yang digunakan untuk mengolah input menjadi output
![Page 36: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/36.jpg)
Ringkasan
• Modular Programming : membagi program menjadi bagian-bagian yang lebih kecil
• Bagian kecil tersebut : Fungsi
• Program C sebenarnya terdiri dari minimal 1 fungsi, yaitu fungsi main()
![Page 37: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/37.jpg)
Ringkasan
• Fungsi dapat dibuat sendiri maupun fungsi bawaan dari library C
• Fungsi ada yang mengembalikan nilai dan ada yang tidak mengembalikan nilai
• Fungsi dipanggil dengan menuliskan nama fungsi
![Page 38: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/38.jpg)
ADA PERTANYAAN ?
![Page 39: Algoritma dan Pemrograman](https://reader036.vdokumen.com/reader036/viewer/2022062305/56815755550346895dc4fd0e/html5/thumbnails/39.jpg)
Minggu Depan
• Test Komprehensif
• Modular Programming (2)– return vs void– Parameters (function arguments)– Variabel scope– Latihan soal