• Subprogram adalah pondasi block dari sebuah program yang memiliki bentuk terpentitng dalam konsep design bahasa pemrograman.

    Memiliki 2 dasar dari abstraksi fasilitas:

    1. Process abstraction
    2. Data abstraction

     

    Dasar dari sebuah subprogram adalah :

    -Memiliki sebuah subprogram pada setiap single entry point

    -Pemanggilan nya tergantung selama eksekusi dari subprogram yang di panggil

    -Control selalu mengembalikan ke pemanggil ketika memanggil menghentikan eksekusi subprogram

    1. Local Referencing Environment

    Local variable dapat stack dynamic

    Keuntungan :

    -Support recursion

    -Storage untuk local di share antara sesame subprogram

    Kerugian :

    -Alokasi / de-alokasi, waktu inisialisasi

    -Indirect addressing

    -Subprogram tidak bisa history sensitive

     

    Local variable static

    Keuntungan dan kerugian dari static adalah kebalikan dari stack dynamic

     

    1. Nested Subprogram

    Nested subprogram adalah subprogram yang diambil sesuai dengan keperluan, jadi tidak perlu menjalankan semua fungsi dari program untuk memanggil subprogram.

     

    1. Metode Parsing Parameter

    Formal parameter memiliki 3 model semantic yang berbeda yaitu :

    1. In mode
    2. Out mode
    3. In-out mode

     

    Implementasi model parsing parameter :

    1. Pass by value
    2. Pass by result
    3. Pass by value result
    4. Pass by reference
    5. Pass by name

    Implementasi parsing parameter method

    Dalam banyak bahasa komunikasi parameter mengambil tempat saat melakukan run-time stack. Pass by reference adalah implementasi tersimple dan hanya untuk address yang di tempatkan pada stack.

     

    1. Design Consideration

    Ada 2 pertimbangan yang di masukkan dalam parameter passing method yaitu:

    -Efisiensi

    -One-way / two-way data transfer

     

    2 metode diatas memiliki konflik :

    -Programming yang baik menyarankan access terbatas pada sebuah variable, yang berarti one-way setiap berhasil.

    -Pass by reference lebih efisien untuk pass struktur pada ukuran yang signifikan

     

    1. Parameter that are Subprogram

    Masalahnya ada pada referensi lingkungan untuk mengeksekusi subprogram passed harus digunakan yaitu :

    1. Shallow binding

    Pemanggilan statement memberlakukan melewati subprogram

    Sangat natural untuk dynamic scoped

    1. Deep binding

    Lingkungan dari definisi dari passed subprogram

    Paling natural untuk static scoped languange

    1. Ad hoc binding

    Lingkungan dari statement yang di panggil yang passed subprogram

    1. Overloaded Subprogram

    Subprogram yang memiliki nama yang sama dengan subprogram lain pada lingkungan referensi yang sama.

     

    1. Generic Subprogram

    Mangambil parameter dari tipe yang berbeda aktivasi. Overloaded subprogram memberikan ad hoc polymorphism. Subtype polymorphism adlaah variable tipe T dapat akses semua objek tipe T atau semua tipe turunan dari T.

     

    1. Closures

    Subprogram dan reference environment dimana di definisikan.

    -Reference environment dibutuhkan jika subprogram dapat di panggil dari mana arbitrary place pada subprogram.

    -Bahasa static scope yang tidak mengijinkan nested subprogram tidak membutuhkan closures

    -Hanya dibutuhkan jika subprogram mengakses variable pada nesting scopes dan dapat dipanggil dari mana saja.

     

    1. Coroutines

    Coroutine adalah subprogram yang memiliki multiple entries dan mengontrol nya untuk mereka sendiri, di support langsung pada Lua. Symmetric control adalah pemanggil dan yang di panggil coroutines dalam ukuran yang sama. couroutine call disebut dengan resume. Coroutines memberikan quasi-concurrent execution dari program unit.

    Posted by lorenzodor @ 4:40 pm

  • Leave a Reply

    Your email address will not be published. Required fields are marked *

 
WP_Modern_Notepad

Recent Comments

 
WP_Modern_Notepad

Recent Comments

Rekomendasi situs toto 98 toto

buku mimpi 3d terlengkap Teruapdate Terlengkap Paling Rekomended