def name(x):
    print(x)
    return

nama = input('Masukan Nama Anda: ')
name(nama)

'''
by default python is call by references mean
if you 'change' variable it make the data will change to
'''
def  ubah(listSaya):
    listSaya.append([1, 2, 3, 4])
    print('Nilai dalam fungsi {}'.format(listSaya))

listSaya = [10, 20, 30]
ubah(listSaya)
print('Nilai diluar fungsi {}'.format(listSaya))


'''
Call by value, this will not change the variable
if you declare some ne assignment with the same name
that mean you create a local variable
'''
def  ubah2(listSaya):
    listSaya = [1, 2, 3, 4]
    print('Nilai dalam fungsi {}'.format(listSaya))

listSaya = [10, 20, 30]
ubah2(listSaya)
print('Nilai diluar fungsi {}'.format(listSaya))
361688a99bdcdda5ea57b41273e7e4464674a296
def name(x):
    print(x)
    return


<mask token>


def ubah(listSaya):
    listSaya.append([1, 2, 3, 4])
    print('Nilai dalam fungsi {}'.format(listSaya))


<mask token>

def name(x):
    print(x)
    return


<mask token>


def ubah(listSaya):
    listSaya.append([1, 2, 3, 4])
    print('Nilai dalam fungsi {}'.format(listSaya))


<mask token>


def ubah2(listSaya):
    listSaya = [1, 2, 3, 4]
    print('Nilai dalam fungsi {}'.format(listSaya))


<mask token>

def name(x):
    print(x)
    return


<mask token>
name(nama)
<mask token>


def ubah(listSaya):
    listSaya.append([1, 2, 3, 4])
    print('Nilai dalam fungsi {}'.format(listSaya))


<mask token>
ubah(listSaya)
print('Nilai diluar fungsi {}'.format(listSaya))
<mask token>


def ubah2(listSaya):
    listSaya = [1, 2, 3, 4]
    print('Nilai dalam fungsi {}'.format(listSaya))


<mask token>
ubah2(listSaya)
print('Nilai diluar fungsi {}'.format(listSaya))

def name(x):
    print(x)
    return


nama = input('Masukan Nama Anda: ')
name(nama)
<mask token>


def ubah(listSaya):
    listSaya.append([1, 2, 3, 4])
    print('Nilai dalam fungsi {}'.format(listSaya))


listSaya = [10, 20, 30]
ubah(listSaya)
print('Nilai diluar fungsi {}'.format(listSaya))
<mask token>


def ubah2(listSaya):
    listSaya = [1, 2, 3, 4]
    print('Nilai dalam fungsi {}'.format(listSaya))


listSaya = [10, 20, 30]
ubah2(listSaya)
print('Nilai diluar fungsi {}'.format(listSaya))

def name(x):
    print(x)
    return

nama = input('Masukan Nama Anda: ')
name(nama)

'''
by default python is call by references mean
if you 'change' variable it make the data will change to
'''
def  ubah(listSaya):
    listSaya.append([1, 2, 3, 4])
    print('Nilai dalam fungsi {}'.format(listSaya))

listSaya = [10, 20, 30]
ubah(listSaya)
print('Nilai diluar fungsi {}'.format(listSaya))


'''
Call by value, this will not change the variable
if you declare some ne assignment with the same name
that mean you create a local variable
'''
def  ubah2(listSaya):
    listSaya = [1, 2, 3, 4]
    print('Nilai dalam fungsi {}'.format(listSaya))

listSaya = [10, 20, 30]
ubah2(listSaya)
print('Nilai diluar fungsi {}'.format(listSaya))