Friday, November 4, 2011

Pragmatik

Pragmatik

Pragmatik dari bahasa pemrograman termasuk permasalahan seperti kemudahan dalam implementasi, efisiensi dalam aplikasi dan metode pemrograman. Slonneger & Kurtz
kata kunci & frase : keras, tidak keras, evaluasi keinginan, evaluasi malas, evaluasi perintah normal, menjepit waktu, melalui nilai, melalui referensi, melalui nama, melalui nilai, melalui hasil, melalui hasil – nilai, pengaliasan.

Heaps and Pointers

Prosedur penyembuhan dan fungsi abstraksi sebagai nilai kelas satu adalah penyebab lain yang potensial dari referensi yang berbayang (Dangling References). (Watt). Sebuah variabel heap adalah salah satu yang dapat dibuat dan dihapus kapan saja. Variabel heap itu tidak bernama /anonim dan  diakses melalui pointer.
Heap adalah blok penyimpanan dimana di dalamnya bagian dialokasikan dan dibebaskan dalam beberapa cara yang relatif tidak terstruktur. Awalnya elemen dari heap dihubungkan dalam beberapa mode untuk membentuk free space list. Pembuatan dari variabel heap diminta oleh sebuah operasi yang disebut allocator yang mengembalikan pointer kepada variabel yang baru dibutat.
Untuk mengalokasikan sebuah elemen, elemen pertama yang ada di daftar dihapus dari daftar dan pointer dikembalikanke operasi yang meminta storage. Umur dari variabel heap bertambah sejak dari dibuat hingga tidak digunakan lagi. Sering juga ada operasi yang di sebut deallocator yang memaksa penghapusan variabel heap yang sudah ada. Saat sebuah elemen dibebaskan, element tersebut langsung dihubungkan lagi ke dalam free space list. Jika semua referensi dari variabel heap rusak / hancur, maka variabel tersebut menjadi sampah (Garbage). Ruang memorinya menjadi tidak dapat digunakan oleh variabel lain sejak kekayaan referensi tersebut harus ada untuk mengembalikan ruangan ke free space list.
Masalah dari dangling references dapat dihilangkan. Solusinya adalah dengan membatasi penugasan sehingga referensi untuk variabel lokal tidak dapat ditugaskan untuk variabel dengan waktu yang lebih lama. Pembatasan ini membutuhkan pengecekan selama operasi dan terkadang dapat juga membatasi programmer. Solusi lainnya adalah menjaga jumlah referensi dengan setiap variabel. Sebuah penghitungan bulat disebut References Count dihubungkan dengan setiap elemen heap.
References Count mengindikasikan jumlah pointer terhadap elemen yang ada. Awalnya penghitungan diset menjadi 1. Setiap pointer terhadap elemen dibuat, maka Reference Count bertambah dan setiap pointer terhadap elemen dihapus, maka Reference Count berkurang. Sisa ruangannya tidak dialokasikan ulang sampai Reference Count mencapai nol. Metode dari penghitungan referensi (Reference Counting) dihasilkan dalam substansi ruang dan waktu. Solusi lainnya adalah dengan menyediakan Garbage Collection. Ide dasarnya adalah untuk memperbolehkan Garbage untuk dibangkitkan untuk mencegah Dangling References. Saat free space list sudah habis dan lebih banyak storage dibutuhkan, penghitungan akan dihentikan (ditunda) dan prosedur khusus yang disebut Garbage Collector akan mengidentifikasi Garbage danmengembalikannya ke free space list. Ada dua tahap dalam Garbage Collection, tahap pemberian tanda (Marking Phase) dan tahap pengumpulan (Collecting Phase).
Marking Phase : Dimulai dari luar heap dengan pointers yang menunjuk ke arah elemen heap aktif. Rantai pointers akan diikuti dan setiap elemen heap di dalam rantai ditandai untuk mengindikasikan bahwa elemen tersebut aktif. Saat tahap ini selesai, hanya elemen heap aktif yang ditandai sebagai “active”.
Collecting Phase : Selama tahap ini heap akan di pindai dan setiap elemen yang tidak aktif dipindahkan ke free space list dan bit yang ditandai akan di set ulang untuk persiapan Garbage Collection berikutnya.

Coroutines

Coroutines digunakan dalam simulasi bahasa dan untuk beberapa kasus memberikan kendali struktur yang natural daripada hierarki panggilan subprogram biasa. Coroutines mungkin dikira sebagai subprogram yang tidak perlu dimatikan se…belum kembali ke Alling Routine. Pada tahap selanjutnya program pemanggil mungkin “melanjutkan” eksekusi dari coroutine pada bagian eksekusi dihentikan. Coroutine kemudian muncul sebagai persamaan dengan kendali memberikan dari satu ke yang lainnya selama itu diperlukan. Dari dua coroutine, sudah sewajarnya bila kita memasukkannya dalam set coroutine. Dari penjelasan yang diberikan coroutine, sepertinya coroutine tidak perlu recursive. Hal ini mengijinkan kita untuk menggunakan hanya satu rekaman aktivasi untuk setiap coroutine dan alamat dari setiap rekaman aktivasi dapat dipertahankan.
Setiap rekaman aktivasi diperluas untuk menambahkan lokasi untuk menyimpan CI untuk coroutine yang cocok. Dimulai dengan lokasi dari instruksi pertama coroutine. Saat coroutine menemukan operasi lanjutan, coroutine akan menyimpan alamat dari instruksi selanjutnya dalam rekamanaktivasi.
Alamat dari CI untuk coroutine yang dilanjutkan didapatkan dari rekaman aktivasi untuk coroutine tersebut.

Safety

Tujuan dari deklarasi ada 2. Kebutuhan bahwa semua nama harus dideklarasikan adalah sangat penting untuk mengecek saat pengejaan. Tidak jarang bagi seorang programmer untuk salah mengetikkan nama. Saat deklarasi tidak dibutuhkan, mak…a tidak ada cara untuk menentukan jika nama tersebut merupakan nama baru atau jika telah terjadi kesalahan pada pengetikkan nama sebelumnya.
Tujuan kedua dari deklarasi adalah membantu algoritma type checker. Type checker dapat menentukan jika ketikan yang dimaksud dari suatu variabel cocok dengan penggunaan variabelnya. Type checker seperti ini dapat digunakan pada waktu yang diatur mengizinkan generasi dari kode yang lebih efisien sejak waktu operasi type check tidak perlu dilakukan.
Type checking — Statis, deklarasi import / export dinamis dan type checking yang kuat memfasilitasi keamanan yang lebih. Saat programmer harus menentukan tipe dari semua keadaan, dan mendeklarasikan hanya satu keadaan dengan pengidentifika…si yang ditentukan dengan bidang yang ditentukan ; Compiler (Penyusun) kemudian hanya mengecek penggunaan setiap keadaancmelawan peraturan pengetikan yang ketat. Dengan overloading atau penarikan kesimpulan ketikan, penyusun harus menarik kesimpulan informasi yang tidak diberikan oleh programmer, kesalahan ini cenderung ada sejak kesalahan kecil dapat berpengaruh secara drastis terhadap apa yang penyusun lakukan.

Perspektif sejarah dan Further Reading

Pragmatik adalah cabang ilmu bahasa yang mempelajari struktur bahasa secara eksternal, yakni bagaimana satuan kebahasaan itu digunakan dalam komunikasi. Menurut Leech (1993), pragmatik adalah studi mengenai makna ujaran dalam situasi tertentu. Sementara Levinson (dalam Siregar 2002) men- definisikan pragmatik sebagai telaah mengenai relasi antar bahasa dan konteks
yang merupakan dasar bagi suatu catatan atau laporan pemahaman bahasa. Dengan demikian ia merupakan telaah mengenai kemampuan pemakai bahasa dalam menghubungkan serta menyerasikan kalimat-kalimat dan konteks secara tepat.
Pragmatik dan tindak tutur memandang konteks sebagai pengetahuan bersama antara pembicara dan pendengar dan pengetahuan tersebut mengarah pada interpretasi suatu tuturan. Pengetahuan atau konteks tertentu dapat mengakibatkan manusia mengidentifikasi jenis-jenis tindak tutur yang  berbeda. Berbicara tentang pragmatik di dalam mangupa berarti berbicara tentang penggunaan perangkat tindak tutur dalam tuturan. Kehadiran perangkat tindak tutur ini ada yang wajib dan ada pula yang bersifat opsional bergantung kepada kepentingannya. Searle (dalam Wijana 1969) mengatakan bahwa secara pragmatis setidak-tidaknya ada tiga jenis tindakan yang dapat diwujudkan oleh seorang penutur, yaitu tindak lokusi, tindak ilokusi dan tindak perlokusi.Tindak lokusi adalah tindak tutur yang digunakan untuk menyatakan sesuatu, tindak ilokusi adalah tindak yang digunakan selain untuk menyatakan sesuatu juga digunakan untuk melakukan sesuatu sedangkan tindak perlokusi adalah tindak tutur yang pengutaraannya dimaksudkan untuk mempengaruhi lawan tutur. Berkaitan dengan hal ini untuk memahami metafora dalam upacara mangupa harus terikat dengan konteks. Misalnya dalam masyarakat Mandailing ditemukan ungkapan metaforis ulos na so ra buruk yang bermakna adat yang tidak akan pernah punah. Adat itu dilambangkan kepada ulos yang tidak akan rusak sampai kapanpun.

No comments:

Post a Comment