Pertanyaan

Variabel Lokal dan Global Variabel yang dideklarasikan di dalam sebuah fungsi disebut variabel lokal dan hanya dapat diakses di dalam fungsi tersebut.Sebaliknya variabel yang dideklarasikan di luar fungsi disebut variabel global dan dapat diakses di seluruh program. y=15 # variabel global def another _function(): y = 30 #variabel lokal another _function() print("Value of y outside function:" y) Pada contoh di atas: Di dalam fungsi another __ function , variabel y adalah lokal dan memiliki nilai 30. - Di luar fungsi variabel y adalah global dan nilainya tetap 15 . Z = 8 #variabel global def test __ function(): Z = 20 #variabel lokal n:", z) test _function() print("Value of z outside function:", z) Apa output dari program di atas?Jelaskan mengapa nilai variabel Z di dalam fungsi berbeda dengan nilai z di luar fungsi!

Solusi

Terverifikasi Ahli
4.3 (286 Suara)
Asmi elit ยท Tutor selama 8 tahun

Jawaban

Output dari program tersebut adalah:```Value of y outside function: 15Value of z outside function: 8```**Penjelasan:**Perbedaan nilai variabel `Z` di dalam dan di luar fungsi disebabkan oleh konsep *scope* (cakupan) variabel dalam pemrograman. Variabel `Z` yang dideklarasikan di luar fungsi (`Z = 8`) adalah variabel global. Variabel `Z` yang dideklarasikan di dalam fungsi `test_function()` (`Z = 20`) adalah variabel lokal.* **Variabel Global:** Variabel global memiliki cakupan di seluruh program. Artinya, variabel ini dapat diakses dan dimodifikasi dari mana saja dalam program, baik di dalam maupun di luar fungsi.* **Variabel Lokal:** Variabel lokal hanya memiliki cakupan di dalam fungsi tempat ia dideklarasikan. Variabel lokal tidak dapat diakses dari luar fungsi tersebut. Lebih penting lagi, jika terdapat variabel lokal dengan nama yang sama dengan variabel global, variabel lokal akan *menaungi* (shadow) variabel global di dalam fungsi tersebut. Artinya, di dalam fungsi, referensi ke variabel `Z` akan mengacu pada variabel lokal `Z` (nilai 20), bukan variabel global `Z` (nilai 8).Setelah eksekusi `test_function()`, variabel global `Z` tetap mempertahankan nilai awalnya, yaitu 8, karena fungsi tersebut hanya memodifikasi variabel lokal `Z`. Begitu `test_function()` selesai dieksekusi, variabel lokal `Z` dihancurkan. Oleh karena itu, `print("Value of z outside function:", z)` akan menampilkan nilai variabel global `Z`, yaitu 8. Hal yang sama berlaku untuk variabel `y`.