NIM : 2305551048
Kelompok : 10
MODUL I
“DASAR PEMROGRAMAN, FUNGSI, DAN
PROSEDUR”
Tujuan
1. Mampu menerapkan dasar pemrograman bahasa C/C++ dalam
pembuatan program.
2. Mampu menggunakan dan menerapkan metode fungsi dan prosedur pada
sebuah program.
Tugas Pendahuluan
1. Sebutkan dan jelaskan secara rinci tipe data dasar yang digunakan dalam
bahasa C/C++ dan keperluan memori untuk masing-masing tipe data
serta berikan contoh pendeklarasian tipe data tersebut!
2. Jelaskan pengertian dan kegunaan dari flowchart! Lalu gambarkan dan
jelaskan fungsi masing-masing simbol yang terdapat dalam flowchart!
3. Jelaskan tentang konsep variabel lokal dan variabel global serta
perbedaannya!
4. Jelaskan tentang konsep fungsi dan prosedur, perbedaan keduanya, serta
aplikasinya dalam pemrograman dengan C/C++!
5. Jelaskan tentang konsep passing by value, passing by reference dan
perbedaannya, serta buatlah contoh program dengan Bahasa C/C++!
6. Jelaskan yang dimaksud dengan seni penulisan program beserta
contohnya!
7. Buatlah flowchart dan pseudocode (notasi algoritma) dari program pada
soal di bawah ini, lalu lakukan trace terhadap flowchart yang Anda buat
sehingga yakin bahwa flowchart tersebut sudah benar.
Jawaban
1. Berikut adalah tipe data dasar yang digunakan dalam bahasa C/C++ beserta
keperluan memori untuk masing-masing tipe data dan contoh pendeklarasiannya:
A. Tipe Data Boolean (bool):
Tipe data ini hanya memiliki dua nilai, yaitu True (1) atau False (0). Tipe data ini
biasanya digunakan untuk memberikan kepastian dan memastikan kebenaran dari
sebuah operasi atau kondisi program. Besarnya memori yang dibutuhkan tipe data
bool yaitu 1 byte atau 8 bit. Contoh pendeklarasian tipe data bool:
bool isTrue = true;
B.Tipe Data Character (char):
Tipe data ini memungkinkan kita untuk memesan memori berformat text (huruf,
angka, dan simbol) dengan karakter tunggal. Besarnya memori yang dibutuhkan
tipe data char yaitu 1 byte atau 8 bit. Contoh pendeklarasian tipe data char:
char grade = 'A';
C.Tipe Data Integer (int):
Tipe data ini memungkinkan kita untuk menyimpan data dalam bentuk bilangan
bulat. Besarnya memori yang dibutuhkan tipe data int yaitu 4 byte atau 32 bit.
Contoh pendeklarasian tipe data int:
int age = 20;
D.Tipe Data Floating Point (float):
Tipe data ini memungkinkan kita untuk menyimpan data dalam bentuk bilangan
pecahan dengan presisi tunggal. Besarnya memori yang dibutuhkan tipe data float
yaitu 4 byte atau 32 bit. Contoh pendeklarasian tipe data float:
float price = 10.99;
E.Tipe Data Double (double):
Tipe data ini memungkinkan kita untuk menyimpan data dalam bentuk bilangan
pecahan dengan presisi ganda. Besarnya memori yang dibutuhkan tipe data double
yaitu 8 byte atau 64 bit. Contoh pendeklarasian tipe data double:
double salary = 5000.50;
F.Tipe Data Valueless (void):
Tipe data ini berarti “tidak ada” atau “tidak mempunyai tipe data”. Void masih di
dalam kategori tipe data tetapi tidak bisa digunakan pada variabel biasa, void
biasanya digunakan pada function yang tidak mempunyai return value. Besarnya
memori yang dibutuhkan tipe data void yaitu 1 byte atau 8 bit. Contoh
pendeklarasian tipe data void:
void printMessage();
G.Tipe Data Wide Character (wchar_t):
Tipe data ini memungkinkan kita untuk memesan memori berformat text (huruf,
angka, dan simbol) dengan karakter tunggal yang lebih besar dari tipe data char.
Besarnya memori yang dibutuhkan tipe data wchar_t tergantung pada sistem
operasi yang digunakan. Contoh pendeklarasian tipe data wchar_t:
wchar_t letter = L'A';
5. Passing of Value :
Ketika suatu fungsi dipanggil dengan parameter yang diteruskan berdasarkan
nilai, salinan nilai argumen dibuat dan disimpan di lokasi memori baru.
Perubahan apa pun yang dilakukan pada parameter di dalam fungsi tidak
memengaruhi argumen awal.
Metode ini cocok bila Anda hanya perlu menggunakan parameter untuk
komputasi dan tidak memodifikasinya untuk program klien.
Passing of Reference :
Ketika suatu fungsi dipanggil dengan parameter yang diteruskan melalui referensi,
alamat argumen diteruskan ke fungsi tersebut.
Di dalam fungsi, referensi digunakan untuk mengakses argumen sebenarnya, dan
setiap perubahan yang dilakukan pada parameter akan memengaruhi argumen asli.
Metode ini berguna ketika Anda ingin mengubah argumen asli atau ketika Anda
memerlukan fungsi untuk mengembalikan lebih dari satu nilai.
Perbedaan Passing of Value dan Passing of Reference:
Dalam passing by value, salinan nilai argumen dibuat, sedangkan dalam passing
by reference, alamat argumen dilewatkan.
Perubahan yang dilakukan pada parameter di dalam fungsi tidak mempengaruhi
argumen asli dalam meneruskan nilai, sedangkan perubahan tersebut
mempengaruhi dalam meneruskan referensi.
Melewati nilai cocok bila Anda hanya perlu menggunakan parameter untuk
komputasi, sedangkan meneruskan referensi berguna bila Anda ingin mengubah
argumen asli atau mengembalikan lebih dari satu nilai.
int main() {
int num = 5;
// Pass by value
cout << "Before incrementByValue: " << num << endl;
incrementByValue(num);
cout << "After incrementByValue: " << num << endl;
// Pass by reference
cout << "Before incrementByReference: " << num << endl;
incrementByReference(num);
cout << "After incrementByReference: " << num << endl;
return 0;
}
6. Seni penulisan program adalah kemampuan untuk membuat kode program yang
indah, terstruktur, dan mudah dipahami. Keindahan dalam penulisan program
dapat dilihat dari struktur kode program dan tampilan program (hasil) yang
dihasilkan. Berikut adalah contoh seni penulisan program dalam bahasa C:
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
Jawaban
1. Judul
Dalam membuat penulisan paragraf minimal terdiri dari 3 baris dan 2
kalimat. Jika judul dan/atau 1 baris penjelasan judul tertinggal pada akhir halaman
berikan spasi agar judul sampai ke halaman berikutnya.
1.1 Subjudul Derajat Pertama Butir Pertama
Anak pertama harus berdekatan dengan induk mereka agar bisa menjadi
panutan bagi yang lainnya. Jika anak pertama berjauhan dengan paragraph
terakhir dari induk maka akan terkena konsekuensi.
1.2 Subjudul Derajat Pertama Butir Kedua
Berbeda dengan anak pertama, anak-anak lainnya harus memberi jarak
satu baris untuk sang kakak agar tidak berdesakan. Mereka pun akan mendapatkan
konsekuensi jika melanggar.
1.2.1 Subjudul Derajat Kedua Butir Pertama
Anak pertama harus berdekatan dengan induk mereka agar bisa menjadi
panutan bagi yang lainnya. Jika anak pertama berjauhan dengan paragraph
terakhir dari induk maka akan terkena konsekuensi.
2. Judul
Kembali pada penjelasan awal bahwa selain anak pertama, anak kedua
dan seterusnya harus memberikan ruang satu baris. Selanjutnya, contoh
penyisipan gambar dapat dilihat sebagai berikut.
3. Judul
Kembali pada penjelasan awal bahwa selain anak pertama, anak kedua
dan seterusnya harus memberikan ruang satu baris. Selanjutnya, contoh
penyisipan kode program dapat dilihat sebagai berikut.
#include <stdio.h>
int main() {
int num1, num2, result;
printf("Masukkan angka pertama\n> ");
scanf("%d", &num1);