Tugas Individu Teknik Kompilasi E
Weni Octavia_202131055
Menjelaskan tentang 4 metode pengiriman parameter dan
contoh study kasusnya yaitu:
1. Call
by values
Metode pengiriman parameter call by
value mengirimkan nilai dari parameter ke fungsi yang dipanggil. Dalam metode
ini, salinan nilai parameter diteruskan ke fungsi, dan perubahan yang terjadi
pada parameter di dalam fungsi tidak akan mempengaruhi nilai asli dari
parameter tersebut di luar fungsi.
·
Contoh Study Kasus:
Kita memiliki fungsi
"tambahDua(angka)" yang bertujuan untuk menambahkan angka 2 ke nilai
yang diberikan. Ketika fungsi ini dipanggil dengan parameter 5, nilai 5 dikirim
ke fungsi, tetapi nilai 5 itu sendiri tidak
berubah di luar fungsi. Berikut study kasus penggunaan dalam
programnya:
def
tambahDua(angka):
angka
= angka + 4
print("Nilai
di dalam fungsi:", angka)
nilai
= 8
print("Nilai
sebelum fungsi:", nilai)
tambahDua(nilai)
print("Nilai
setelah fungsi:", nilai)
Output
Nilai
sebelum fungsi: 8
Nilai
di dalam fungsi: 12
Nilai
setelah fungsi: 8
2. Call
by references
Metode pengiriman parameter call by references
merupakan salah satu metode pengiriman parameter dalam pemrograman di mana
alamat memori variabel asli dikirim ke fungsi, sehingga perubahan yang terjadi
pada parameter di dalam fungsi akan mempengaruhi nilai variabel asli di luar
fungsi tersebut. Dalam call by reference, perubahan nilai parameter di dalam
fungsi akan terlihat oleh pemanggil fungsi.
·
Contoh Study Kasus:
Kita memiliki fungsi "ubahNilai(list_angka)"
yang bertujuan untuk mengubah elemen pertama dari daftar angka menjadi 10.
Ketika fungsi ini dipanggil dengan daftar angka [1, 2, 3], perubahan akan
terjadi pada daftar asli di luar fungsi. Berikut study kasus
penggunaan dalam programnya:
def
ubahNilai(list_angka):
list_angka[0] = 10
print("Nilai di dalam fungsi:",
list_angka)
angka
= [1, 2, 3]
print("Nilai
sebelum fungsi:", angka)
ubahNilai(angka)
print("Nilai
setelah fungsi:", angka)
Output
Nilai
sebelum fungsi: [1, 2, 3]
Nilai
di dalam fungsi: [10, 2, 3]
Nilai
setelah fungsi: [10, 2, 3]
3. Call
by restore
Metode pengiriman parameter call by
restore merupakan mekanisme pengiriman parameter dalam pemrograman di mana
salinan nilai parameter dikirimkan ke subrutin atau fungsi. Dalam call by
restore, perubahan yang terjadi pada nilai parameter di dalam subrutin tidak
mempengaruhi nilai parameter di luar subrutin tersebut. Setelah subrutin
selesai dieksekusi, nilai parameter di luar subrutin tidak terpengaruh dan
tetap sama seperti sebelumnya.
·
Contoh Study Kasus:
Kita memiliki fungsi
"ubahString(kata)" yang bertujuan untuk mengubah karakter pertama
dari sebuah string menjadi '@'. Meskipun kita mengubah referensi dalam fungsi,
perubahan tersebut tidak akan mempengaruhi referensi asli di luar fungsi.
Berikut study kasus penggunaan dalam programnya:
def
ubahString(kata):
kata = "@" + kata[1:]
print("Nilai di dalam fungsi:",
kata)
teks
= "Halo"
print("Nilai
sebelum fungsi:", teks)
ubahString(teks)
print("Nilai
setelah fungsi:", teks)
Output
Nilai sebelum fungsi: Halo
Nilai di dalam fungsi:
@alo
Nilai
setelah fungsi: Halo
4. Call
by name
Metode pengiriman parameter call by
name merupakan salah satu metode pengiriman parameter dalam pemrograman. Dalam
metode ini, argumen-argumen yang dilewatkan ke suatu fungsi tidak dievaluasi
saat fungsi tersebut dipanggil. Sebaliknya, evaluasi terjadi hanya saat argumen
digunakan di dalam fungsi. Ini berarti setiap kali argumen diakses, ekspresi
yang menghasilkan nilai tersebut akan dievaluasi ulang.
·
Contoh Study Kasus:
Kita memiliki fungsi
"hitung(operand1, operand2)" yang bertujuan untuk mencetak hasil
penjumlahan operand1 dan operand2. Ketika fungsi ini dipanggil dengan ekspresi
"3 + 4", ekspresi tersebut dievaluasi setiap kali digunakan
di dalam fungsi. Berikut study kasus penggunaan dalam programnya:
def
hitung(operand1, operand2):
print("Hasil:", operand1 +
operand2)
print("Pertama")
hitung(3
+ 4, 5)
print("Kedua")
hitung(2 * 2, 3 + 1)
Output
Pertama
Hasil: 9
Kedua
Hasil: 8
5. Pengembangan makro
Metode pengiriman parameter call by
makro merupakan proses menggunakan makro untuk menggantikan atau memperluas
bagian kode tertentu dengan potongan kode yang telah ditentukan sebelumnya. Penggunaan
makro dapat mempercepat pengembangan perangkat lunak dengan mengurangi dan
memudahkan kode yang kompleks atau panjang. Studi kasus pengembangan makro
bergantung pada bahasa pemrograman yang digunakan, seperti penggunaan
preprocessor directives dalam C/C++.
·
Contoh Study Kasus:
Kita memiliki makro
"kuadrat(x)" yang bertujuan untuk menghasilkan kuadrat dari suatu
angka. Kita dapat menggunakan makro ini untuk menggantikan kode yang berulang
dalam program kita. Berikut study kasus penggunaan dalam programnya:
def
kuadrat(x):
return x ** 2
angka1
= 10
hasil1
= kuadrat(angka1)
print("Hasil kuadrat dari", angka1, "adalah", hasil1)
angka2
= 5
hasil2
= kuadrat(angka2)
print("Hasil kuadrat dari", angka2, "adalah", hasil2)
Output
Hasil kuadrat dari 10 adalah 100
Hasil kuadrat dari 5 adalah 25
Komentar
Posting Komentar