Scope Variabel

Scope variabel atau cakupan variabel merupakan suatu keadaan dimana pendeklarasian sebuah variabel di tentukan. Dalam scope variabel dikenal dua istilah yaitu local dan global. Variabel disebut local ketika variabel tersebut didefinisikan didalam sebuah fungsi def. Artinya, variabel tersebut hanya dapat di gunakan dalam cakupan fungsi tersebut. Dan jika sebuah variabel didefinisikan diluar fungsi maka variabel tersebut bersifat global. Artinya, variabel tersebut dapat digunakan oleh fungsi lain atau pun program utamanya.

Contoh penggunaan scope variabel :

def contohScope(X):
    X = 10
    print "Nilai X di dalam fungsi, x = ", X

# program utama
X = 30
print "Nilai x di luar fungsi, x = ", X
contohScope(X)

Output :

Nilai x di luar fungsi, x = 30
Nilai X di dalam fungsi, x = 10

Pada contoh diatas, variabel X didefinisikan di dua tempat yaitu di dalam fungsi contohScope() dan di dalam program utama. Ketika nilai X awal di beri nilai 30, kemudian di cetak, nilai X masih bernilai 30. Namun ketika kita memanggil fungsi contohScope() dengan mengirim parameter X yang bernilai 30, terlihat bahwa nilai X yang berlaku adalah nilai X yang didefinisikan didalam fungsi tersebut, atau nilai X yang bernilai 10. Ini terbukti bahwa variabel X yang di cetak dalam fungsi contohScope() merupakan variabel local yang didefinisikan didalam fungsi, bukan variabel X global yang dicetak di luar fungsi.

Contoh lain :

# fungsi mulai disini
def swap(x, y):
    print "Dalam fungsi:"
    print "\tSebelum proses:"
    print "\t\tNilai x", x
    print "\t\tNilai y", y
    z = x    x = y
    y = z
    print "\tSetelah proses:"
    print "\t\tNilai x", x
    print "\t\tNilai y", y

# program utama mulai disini
x = 12
y = 3
print "Sebelum memanggil fungsi, x bernilai", x
print "Sebelum memanggil fungsi, y bernilai", y
swap(x,y)
print "Setelah memanggil fungsi, x bernilai", x
print "Setelah memanggil fungsi, y bernilai", y

Output :

Sebelum memanggil fungsi, x bernilai 12
Sebelum memanggil fungsi, y bernilai 3
Dalam fungsi:
    Sebelum proses:
        Nilai x 12
        Nilai y 3
    Setelah proses:
        Nilai x 3
        Nilai y 12
Setelah memanggil fungsi, x bernilai 12
Setelah memanggil fungsi, y bernilai 3

results matching ""

    No results matching ""