Penjelasan Variabel Global dan Kata Kunci Extern

  • Post
    codeorayo
    Keymaster
    none
    [img width=600,height=400]https://www.belajarcpp.com/wp-content/uploads/2018/01/global-variabel.png[/img]Variabel akan memiliki sifat akses yang berbeda berdasarkan dimana variabel tersebut didirikan, dan dengan apa dia didirikan. sebelumnya penulis telah jelaskan mengenai variabel lokal yang merupakan variabel bersifat lokal (Local Variable) yang didirikan di dalam blok dan hanya dapat dilihat atau diakses dari dalam ruang lingkup tersebut.

    Global VariableDalam mendirikan variabel kita dimungkinkan untuk mendirikan variabel di luar dari ruang lingkup functionGlobal variable atau Variabel Global adalah variabel yang didirikan di dalam file tapi diluar dari block luar lingkup seperti ruang linkup dari function dan lain-lain.

    Global variable memiliki sifat Static Duration, yang berarti variabel akan dibuat saat program dimulai dan dihancurkan ketika program berakhir.

    Contoh Program

    [table]

    [tr]

    [td]
    [/td]
    [td]

    Code:

    #include

    Code:

    #include


    Code:

    using

    Code:

    namespace

    Code:

    std;


     

    Code:

    string g_var=

    Code:

    “belajarcpp.com”

    Code:

    ;

    Code:

    //Global Variabel


     

    Code:

    void

    Code:

    anotherFunction(){


    Code:

        

    Code:

    cout<


    Code:

    }


     

    Code:

    int

    Code:

    main ()


    Code:

    {


    Code:

        

    Code:

    string lokal_var =

    Code:

    “lokal variabel”

    Code:

    ;

    Code:

    //Lokal variabel


    Code:

        

    Code:

    cout<


    Code:

        

    Code:

    anotherFunction();


     

    Code:

        

    Code:

    cout<


     

    Code:

        

    Code:

    return

    Code:

    0;


    Code:

    }


    [/td][/tr][/table]
    Contoh Program di atas adalah contoh penggunaan dari Global variabel yang memperlihatakan perbedaan antara variabel global dan variabel local.

    Code:

    g_var

     adalah variabel global yang didirikan di luar ruang lingkup kedua function di atas, dan karena hal itu variabel tersebut dapat dipanggil dari berbagai ruang lingkup sesudah deklarasi variabel tersebut.

    Dan untuk lokal variabel dengan identitas 

    Code:

    lokal_var

    , variabel tersebut hanya dapat dilihat dan diakses di dalam ruang lingkup itu sendiri dimana variabel itu didirikan.

    Global variable dapat dilihat dan diakses oleh semua ruang lingkup di dalam file tersebut, hal ini memungkinkan anda menggunakan satu variabel atau memori untuk beberapa proses yang berada pada ruang lingkup (seperti function) yang berbeda, hal ini juga memungkinkan kita untuk membuat interaksi antar ruang lingkup.

    Sebelumnya pernah penulis jelaskan pada artikel sebelumnya, bahwa deklarasi seperti variabel dapat memiliki identitas yang sama selama mereka berada pada ruang lingkup yang berbeda, termasuk dalam memiliki deklarasi dengan identitas sama pada induk ruang lingkup dan anak ruang linkup (scope di dalam scope).

    Variabel global tidak sama seperti variabel lokal. jika dalam variabel lokal identitas yang sama pada anak ruang lingkup akan menggantikan variabel pada induk ruang lingkup, hal tersebut membuat variabel pada induk ruang lingkup akan digantikan dengan variabel yang berada pada anak ruang lingkup.

    Tapi berbeda dengan variabel global kita dimungkinkan mengakses variabel global meskipun pada ruang lingkup terdapat variabel yang mempunyai identitas sama. Hal itu bisa kita lakukan menggunakan Scope Resolution Operator 

    Code:

    ::

    . Dengan tanda tersebut memungkinkan kita untuk memberitahu kompilator bahwa variabel yang dimaksud bukan lokal variabel tapi merupakan global variabel.

    Contoh Program :

    [table]

    [tr]

    [/tr]

    [/table]

    [td]
    [/td]
    [td]

    Code:

    #include


    Code:

    #include


    Code:

    using

    Code:

    namespace

    Code:

    std;


     

    Code:

    string nama=

    Code:

    “Global Variabel : belajarcpp.com”

    Code:

    ;

    Code:

    //Global Variabel


     

    Code:

    int

    Code:

    main ()


    Code:

    {


    Code:

        

    Code:

    string nama =

    Code:

    “Lokal Variabel : belajarcpp.com”

    Code:

    ;

    Code:

    //Local variabel


    Code:

        

    Code:

    cout<


    Code:

        

    Code:

    cout<<::nama<

    Code:

    //Scope Resolution Operator


    Code:

        

    Code:

    return

    Code:

    0;


    Code:

    }


    [/td]

    Code:

    extern

     KeywordSebenarnya Variabel global yang di dirikan di dalam file masih berada pada ruang lingkup, yaitu ruangkup file hal itu disebut sebagai Global Scope atau Global Namespace Scope, yang memberikan kemungkinan untuk diakses dimulai dari baris dimana dia didirikan hingga akhir dari file.

    Extern keyword adalah keyword tambahan untuk mendirikan variabel, 

    Code:

    extern

     keyword berfungsi untuk membuat variabel menjadi bersifat external linkage. Dengan menggunakan 

    Code:

    extern

     keyword kita dimungkinkan untuk membuat variabel yang dapat terhubung di file lain.

    Code:

    extern

     keyword biasanya digunakan untuk membuat komunikasi antar file, dengan membuat satu variabel yang dapat digunakan dalam beberapa file

    Contoh Penulisan

    [table]

    [tr]

    [/tr]

    [/table]

    [td]1
    [/td]
    [td]

    Code:

    extern

    Code:

    int

    Code:

    id;


    [/td]

    Contoh Program

    Code:

    testExtern.cpp

     :

    [table]

    [tr]

    [/tr]

    [/table]

    [td]1
    [/td]
    [td]

    Code:

    int

    Code:

    id = 30;


    [/td]

    Code:

    main.cpp

     :

    [table]

    [tr]

    [/tr]

    [/table]

    [td]
    [/td]
    [td]

    Code:

    #include


     

    Code:

    extern

    Code:

    int

    Code:

    id;

    Code:

    //Extern Keyword


     

    Code:

    int

    Code:

    main(){


    Code:

     

    Code:

    std::cout<


    Code:

    }


    [/td]

    Code:

    extern int id

     menyatakan bahwa variabel 

    Code:

    id

     merupakan external linkage dari variabel dengan identitas 

    Code:

    id

     pada file 

    Code:

    testExtern.cpp

    . Program di atas akan menampilkan angka 

    Code:

    30

     yang sesuai dengan nilai dari variabel 

    Code:

    id

     pada file 

    Code:

    testExtern.cpp

    .

    Untuk 

    Code:

    extern

     keyword hanya dapat digunakan pada variabel global, 

    Code:

    extern

     keyword tidak akan bisa melakukan linkage pada variabel yang bersifat 

    Code:

    static

     dan 

    Code:

    const

    .

    Ampuh! Ini rahasia mengembangkan aplikasi secara instan, tinggal download dan kembangkan. Gabung sekarang juga! Premium Membership [PRIVATE] https://premium.codeorayo.com
  • You must be logged in to reply to this topic.