0% menganggap dokumen ini bermanfaat (0 suara)
32 tayangan9 halaman

TP Modul 5 Andi Pangeran Bangsawan

Diunggah oleh

seegroup78
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
32 tayangan9 halaman

TP Modul 5 Andi Pangeran Bangsawan

Diunggah oleh

seegroup78
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 9

Nama : ANDI PANGERAN BANGSAWAN

NIM : 101072300155
Kelas : 23-03
TP Modul 5
2022/2023

1. Jelaskan pengertian fungsi dan prosedur dan berikan contoh sintaksnya!

2. Jelaskan perbedaan dari variabel lokal dan variabel global!

3. Apa yang dimaksud dengan pointer? Sebutkan operator yang terdapat pada pointer serta
fungsinya!
4. Apa kegunaan dari prototipe fungsi ? Bagaimana cara membuat fungsi tanpa menuliskan
prototypenya ?

5. Perhatikan program berikut!


#include <stdio.h>
int tambah(int, int);
void main(){
int a = 29, b = 100, c=77;
tambah(c,b);
}
int tambah(int x, int y){
printf("Isi dari variabel x dan y adalah : %d dan %d", x,y);
}
Jelaskan mengapa program di bawah menampilkan output dari variabel x dan y dengan
nilai 77 dan 100!

6. Buatlah sebuah program menggunakan FUNGSI yang dapat menghitung volume sebuah
kerucut!
Contoh :

==== INPUT ====


Masukkan jari-jari dari kerucut(cm) : 10
Masukkan tinggi dari kerucut(cm) : 21
==== OUTPUT ====
Volume kerucut tersebut adalah 2200.00 cm^3
7. Buatlah sebuah program menggunakan prosedur untuk menentukan indeks nilai dan
keterangan lulus yang diinputkan oleh user maksimal 100 dengan ketentuan sebagai
berikut!

Tidak Lulus : 0 <= Tidak lulus <= 65


D : 65 < D <= 70
C : 70 < C <= 75
B : 75 < B <= 80
A : > 80 A <=100

Contoh:

==Input==

Masukan Nilai : 83

==Output==

Nilai : 83

Keterangan : Lulus

Index Nilai Anda A

8. Buatlah program untuk menghitung percepatan, menggunakan :


a. Fungsi(NIM GENAP)
b. Prosedur(NIM GANJIL)

Contoh program :

[INPUT]
masukkan kecepatan akhir m/s : 46.6
masukkan kecepatan awal m/s : 19.78
masukkan besar waktu dalam second : 3.52
[OUTPUT]
maka percepatan 7.62 m/s^2
JAWABAN!
1.A.) fungsi adalah blok kode yang dibuat untuk melakukan tugas tertentu.
Contoh sintaks fungsi dalam C:
// Deklarasi fungsi
tipe_kembalian nama_fungsi(tipe_parameter1 nama_parameter1, tipe_parameter2
nama_parameter2, ...) {
// Isi fungsi
}

// Contoh penggunaan
int tambah(int a, int b) {
return a + b;
}
B.) Prosedur adalah blok kode yang dibuat untuk melakukan tugas tertentu tetapi tidak
mengembalikan nilai.
Contoh sintaks prosedur dalam C:
// Deklarasi prosedur
void nama_prosedur(tipe_parameter1 nama_parameter1, tipe_parameter2
nama_parameter2, ...) {
// Isi prosedur
}
//contoh penggunaan
Void cetak_hello( ) {
Printf(“Hello,World!\n”);
}
2. 1. Ruang Lingkup (Scope):
• Variabel lokal hanya dapat diakses dan digunakan di dalam blok kode di mana variabel
tersebut dideklarasikan. Di luar blok kode tersebut, variabel lokal tidak dapat diakses.
• Variabel global dapat diakses dari mana saja dalam program, baik di dalam maupun di
luar fungsi atau blok kode. Variabel global biasanya dideklarasikan di luar fungsi utama
dan dapat digunakan di seluruh program.
2.Lifetime (Masa Hidup):
• Variabel lokal hidup selama fungsi atau blok kode di mana variabel tersebut
dideklarasikan sedang berjalan. Ketika fungsi atau blok kode selesai dieksekusi, variabel
lokal tersebut akan dihapus dari memori.
• Variabel global hidup selama program berjalan. Mereka diberi nilai saat program dimulai
dan dihapus dari memori saat program berakhir.
3. Keamanan dan Keterbacaan Kode:
• Variabel lokal cenderung lebih aman karena hanya berlaku di dalam konteks tertentu,
sehingga mengurangi risiko kesalahan perubahan nilai yang tidak disengaja.
• Variabel global dapat menyebabkan kompleksitas yang lebih tinggi dalam pemeliharaan
kode karena dapat diakses dari berbagai bagian dalam program, sehingga sulit untuk
melacak perubahan nilai yang terjadi.
4.Pengaruh Terhadap Performa:
• Variabel lokal cenderung lebih efisien dalam penggunaan memori karena hanya hidup
selama blok kode tertentu berjalan.
• Variabel global dapat memakan memori lebih banyak karena mereka tetap ada selama
program berjalan.

3.Pointer adalah adalah variabel yang berisi alamat memori dari variabel lain. Pointer digunakan
untuk mengakses variabel atau objek lain secara tidak langsung, dengan mengacu pada lokasi
memori tempat variabel atau objek tersebut disimpan.
Operator yang terdapat pada pointer adalah:
1. Operator Penunjuk (&): Operator ini digunakan untuk mendapatkan alamat memori
dari sebuah variabel. Misalnya, jika x adalah sebuah variabel, maka &x akan
memberikan alamat memori dari x.
2. Operator Dereferensi (*): Operator ini digunakan untuk mendapatkan nilai yang
disimpan di alamat yang ditunjukkan oleh pointer. Misalnya, jika ptr adalah pointer yang
menunjuk ke suatu variabel, maka *ptr akan memberikan nilai dari variabel yang
ditunjuk oleh ptr.
3. Operator Aritmatika Pointer: Pointer dalam C juga mendukung operasi aritmatika.
Misalnya, kita dapat menambahkan atau mengurangkan integer dari pointer untuk
memindahkan pointer ke lokasi memori yang berbeda. Operasi aritmatika pointer ini
bergantung pada tipe data yang ditunjukkan oleh pointer tersebut.
Misalnya, jika ptr adalah pointer yang menunjuk ke suatu tipe data, ptr++ akan
menunjuk ke lokasi memori berikutnya yang sesuai dengan tipe data yang ditunjuk oleh
ptr.
Perlu diperhatikan bahwa operasi aritmatika pointer ini harus dilakukan dengan hati-hati
untuk menghindari mengakses lokasi memori yang tidak valid.
4. Prototipe fungsi digunakan untuk memberi tahu kompiler tentang fungsi yang akan digunakan
di program sebelum fungsi tersebut benar-benar didefinisikan. Anda dapat membuat fungsi tanpa
menuliskan prototipenya dengan menuliskan definisi fungsi di atas tempat fungsi tersebut
dipanggil. Ini berarti Anda akan menuliskan seluruh kode fungsi di atas fungsi main atau tempat
di mana fungsi tersebut pertama kali digunakan
5. Program di bawah menampilkan output dari variabel x dan y dengan nilai 77 dan 100 karena
dalam pemanggilan fungsi tambah(c, b), nilai dari variabel c akan disalin ke dalam parameter x
dan nilai dari variabel b akan disalin ke dalam parameter y.
Namun, perlu dingat bahwa meskipun fungsi tambah dipanggil dalam main, hasil dari
pemanggilan fungsi tersebut tidak digunakan atau disimpan ke dalam variabel apa pun.
Sehingga, output dari printf dalam fungsi tambah hanya menampilkan nilai dari x dan y tanpa
nilai kembalian yang diminta oleh main.

6. #include <stdio.h>
#define PI 3.14159

// Deklarasi prototipe fungsi


double hitung_volume_kerucut(double jari_jari, double tinggi);

int main() {
double jari_jari, tinggi;

// Input jari-jari dan tinggi kerucut dari pengguna


printf("Masukkan jari-jari kerucut: ");
scanf("%lf", &jari_jari);

printf("Masukkan tinggi kerucut: ");


scanf("%lf", &tinggi);

// Hitung volume kerucut menggunakan fungsi


double volume = hitung_volume_kerucut(jari_jari, tinggi);

// Menampilkan hasil
printf("Volume kerucut dengan jari-jari %.2f dan tinggi %.2f adalah %.2f\n", jari_jari, tinggi,
volume);
return 0;
}

// Definisi fungsi hitung_volume_kerucut


double hitung_volume_kerucut(double jari_jari, double tinggi) {
return (1.0 / 3.0) * PI * jari_jari * jari_jari * tinggi;
}

int main() {
float jari_jari, tinggi;
printf("Masukkan jari-jari kerucut: ");
scanf("%f", &jari_jari);
printf("Masukkan
7. #include <stdio.h>

// Deklarasi prototipe prosedur


void tentukan_indeks_dan_keterangan(int nilai);

int main() {
int nilai;

// Input nilai dari pengguna


printf("Masukkan Nilai : ");
scanf("%d", &nilai);

// Memanggil prosedur untuk menentukan indeks dan keterangan


tentukan_indeks_dan_keterangan(nilai);

return 0;
}

// Definisi prosedur untuk menentukan indeks dan keterangan


void tentukan_indeks_dan_keterangan(int nilai) {
printf("Nilai : %d\n", nilai);

if (nilai <= 65) {


printf("Keterangan : Tidak Lulus\n");
printf("Indeks Nilai Anda Tidak Lulus\n");
} else if (nilai <= 70) {
printf("Keterangan : Lulus\n");
printf("Indeks Nilai Anda D\n");
} else if (nilai <= 75) {
printf("Keterangan : Lulus\n");
printf("Indeks Nilai Anda C\n");
} else if (nilai <= 80) {
printf("Keterangan : Lulus\n");
printf("Indeks Nilai Anda B\n");
} else {
printf("Keterangan : Lulus\n");
printf("Indeks Nilai Anda A\n");
}
}
8. a. Menggunakan fungsi (untuk NIM genap):
#include <stdio.h>

// Deklarasi prototipe fungsi


double hitung_percepatan(double kecepatan_akhir, double kecepatan_awal, double waktu);

int main() {
double kecepatan_akhir, kecepatan_awal, waktu;

// Input kecepatan akhir, kecepatan awal, dan waktu dari pengguna


printf("Masukkan kecepatan akhir m/s : ");
scanf("%lf", &kecepatan_akhir);

printf("Masukkan kecepatan awal m/s : ");


scanf("%lf", &kecepatan_awal);

printf("Masukkan waktu dalam second : ");


scanf("%lf", &waktu);

// Memanggil fungsi untuk menghitung percepatan


double percepatan = hitung_percepatan(kecepatan_akhir, kecepatan_awal, waktu);

// Menampilkan hasil
printf("Maka percepatan %.2f m/s^2\n", percepatan);

return 0;
}

// Definisi fungsi untuk menghitung percepatan


double hitung_percepatan(double kecepatan_akhir, double kecepatan_awal, double waktu) {
return (kecepatan_akhir - kecepatan_awal) / waktu;
}

b. Menggunakan prosedur (untuk NIM ganjil):


#include <stdio.h>

// Deklarasi prototipe prosedur


void hitung_percepatan(double kecepatan_akhir, double kecepatan_awal, double waktu);

int main() {
double kecepatan_akhir, kecepatan_awal, waktu;
// Input kecepatan akhir, kecepatan awal, dan waktu dari pengguna
printf("Masukkan kecepatan akhir m/s : ");
scanf("%lf", &kecepatan_akhir);

printf("Masukkan kecepatan awal m/s : ");


scanf("%lf", &kecepatan_awal);

printf("Masukkan waktu dalam second : ");


scanf("%lf", &waktu);

// Memanggil prosedur untuk menghitung percepatan


hitung_percepatan(kecepatan_akhir, kecepatan_awal, waktu);

return 0;
}

// Definisi prosedur untuk menghitung percepatan


void hitung_percepatan(double kecepatan_akhir, double kecepatan_awal, double waktu) {
double percepatan = (kecepatan_akhir - kecepatan_awal) / waktu;
printf("Maka percepatan %.2f m/s^2\n", percepatan);
}

Anda mungkin juga menyukai