Top Banner
1 Power Domain Teori Set menyediakan suatu notasi elegan untuk uraian perhitungan. Keluarga bahasa Pascal menyediakan set gabungan dan simpangan dan keanggotaan set. Set dari semua subsets dari sebuah set adalah set tenaga dan digambarkan: PS = { s | s is a subset of S } P={ s | s is a subset} Subtype dan subrange adalah contoh dari pembangun set tenaga.
30

Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

Mar 23, 2019

Download

Documents

NguyễnNhân
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

1

Power Domain

• Teori Set menyediakan suatu notasi elegan untuk uraian

perhitungan.

• Keluarga bahasa Pascal menyediakan set gabungan dan

simpangan dan keanggotaan set.

• Set dari semua subsets dari sebuah set adalah set

tenaga dan digambarkan:

PS = { s | s is a subset of S }

P={ s | s is a subset}

• Subtype dan subrange adalah contoh dari pembangun

set tenaga.

Page 2: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

2

Fungsi adalah subsets daerah produk. Sebagai contoh,

fungsi persegi dapat diwakili sebagai subset daerah

produk Nat x Nat.

sqr = {(0,0),(1,1),(2,4),(3,9),...}

Penyamarataan membantu untuk menyederhanakan

daftar tanpa batas ini untuk:

sqr = {(x,x*x)| x didalam Nat}

Page 3: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

3

Recursively Defined Domain

Daerah batasan pengulangan adalah daerah yang

definisinya menjadi bentuk:

D:... D...

Definisi disebut berulang karena nama daerah “berulang”

pada sisi kanan dari definisi. Daerah batasan

pengulangan tergantung pada abstrak karena nama

daerah adalah suatu bagian penting dari definisi daerah.

Page 4: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

4

Lebih dari satu set boleh mencukupi suatu definisi

berulang. Bagaimanapun, mungkin saja ditunjukkan

bahwa suatu definisi berulang selalu mempunyai solusi

terkecil. Solusi terkecil adalah suatu subset solusi yang

lain.

Solusi terkecil daerah batasan pengulangan yang

digambarkan didapat melewati suatu urutan perkiraan

(D0, D1,...) ke daerah dengan daerah yang menjadi batas

dari urutan perkiraan (D= limi--> infty Di). Batas

adalah solusi yang terkecil pada definisi daerah berulang.

Page 5: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

5

Type Systems

Prosentase besar kesalahan didalam program adalah

dalam kaitan dengan aplikasi operasi ke object jenis yang

bertentangan. Jenis sistem telah dikembangkan untuk

membantu programmer didalam pendeteksian kesalahan.

Page 6: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

6

Suatu sistem jenis adalah satu set aturan untuk

penjelasan jenis dan menghubungkan suatu jenis dengan

ungkapan didalam bahasa.

Suatu sistem jenis menolak suatu ungkapan jika tidak

menghubungkan suatu jenis dengan ungkapan. Jenis

pemeriksaan boleh berjalan pada waktu kompilasi atau

waktu berjalan atau kedua-duanya.

Page 7: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

7

Jika kesalahan diharapkan untuk dideteksi pada waktu

kompilasi maka suatu sistem pengecekan jenis statis

diperlukan. Satu pendekatan ke pemeriksaan jenis statis

adalah untuk memerlukan programmer untuk menetapkan

jenis masing-masing obyek didalam program.

Page 8: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

8

Ini mengizinkan kompilator untuk melaksanakan jenis

pemeriksa sebelum pelaksanaan program dan ini adalah

pendekatan yang diambil oleh bahasa seperti Pascal,

Ada, C++, dan Java.

Jika pendeteksian kesalahan diharapkan untuk ditunda

sampai waktu pelaksanaan, maka pemeriksaan jenis

dinamis diperlukan.

Page 9: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

9

Didalam pemeriksa jenis dinamis, masing-masing nilai

data berlabel dengan jenis informasi sehingga lingkungan

waktu berjalan dapat memeriksa kecocokan jenis dan

mungkin melaksanakan konversi jenis jika perlu. Bahasa

program Lisp, Scheme dan Small-Talk adalah contoh dari

bahasa jenis dinamis.

Page 10: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

10

Type Checking

Suatu bahasa disebut :

• tidak berjenis jika tidak ada jenis abstrak yang berlaku,

• jenis kuat jika menyelenggarakan jenis abstrak (operasi

mungkin diterapkan hanya untuk object jenis yang

sesuai),

• jenis statis jika jenis ungkapan masing-masing dapat

ditentukan dari teks program,

• jenis dinamis jika penentuan jenis beberapa ungkapan

tergantung pada perilaku waktu berjalan program.

Page 11: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

11

Keuntungan dari bahasa tidak berjenis adalah

fleksibilitas mereka. Programmer mempunyai kendali

penuh atas bagaimana suatu nilai data digunakan tetapi

harus mengasumsikan tanggung jawab penuh untuk

mendeteksi aplikasi operasi ke object jenis yang tidak

cocok/bertentangan.

Page 12: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

12

Jenis kuat membantu untuk memastikan portabilitas dan

keamanan kode dan sering memerlukan programmer

dengan tegas menggambarkan jenis masing-masing

object di dalam suatu program. Ini penting juga dalam

kumpulan untuk pemilihan operasi yang sesuai dan untuk

optimisasi.

Page 13: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

13

Jenis statis secara luas dikenali sebagai kebutuhan untuk produksi perangkat lunak yang dapat dipercaya dan aman. Jenis statis yang memeriksa menyiratkan bahwa jenis dicek pada waktu kompilasi. Jenis statis dipilih ketika efisiensi di dalam waktu pelaksanaan adalah penting dan kompilator pendukung digunakan untuk mendukung rancang bangun perangkat lunak berjalan.

Page 14: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

14

Jenis pemeriksa dinamis menyiratkan bahwa jenis dicek

pada waktu pelaksanaan dan bahwa tiap-tiap nilai

berlabel untuk mengidentifikasi jenisnya dalam rangka

membuat jenis pemeriksa mungkin. Hukuman untuk

pemeriksaan jenis dinamis adalah biaya waktu dan ruang

tambahan.

Page 15: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

15

Type Equivalence

Dua jenis tak dikenal (satuan object) adalah sama jika

mereka berisi unsur-unsur yang sama. Yang sama tidak

bisa dikatakan jenis nama mereka yang dulu, maka tidak

diperlukan untuk memisah jenis union. Kapan jenis

dinamai, ada dua pendekatan utama untuk menentukan

apakah dua jenis sama.

Page 16: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

16

Name Equivalence

Didalam kesamaan nama dua jenis adalah sama jika

mereka mempunyai nama yang sama. Jenis diberi nama

berbeda perlakukan sebagai beda dan tidak bisa secara

kebetulan dicampur hanya karena struktur mereka secara

kebetulan adalah sama. Kesamaan nama perlu definisi

jenis untuk global.

Page 17: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

17

Structural Equivalence

Didalam kesamaan struktural, nama jenis diabaikan dan

unsur-unsur jenis dibandingkan untuk persamaan. Adalah

mungkin bahwa dua jenis logika yang berbeda boleh

menjadi kebetulan yang sama dan dapat dicampur.

Page 18: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

18

Definisi jenis tidak diperlukan untuk menjadi global.

Kesamaan struktural adalah penting didalam sistem

distribusi pemrograman, dimana program terpisah harus

mengkomunikasikan jenis data.

Page 19: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

19

Definisi N.1:

Dua jenis T, T' adalah kesamaan nama iff T dan T' adalah

nama yang sama.

Dua jenis T, T' adalah kesamaan struktural iff T dan T'

memiliki satuan nilai yang sama.

Page 20: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

20

Tiga aturan berikut yang digunakan untuk menentukan

jika dua jenis adalah kesamaan struktural :

• Suatu nama jenis sama secara struktur dengan dirinya

sendiri.

• Dua jenis yang sama secara struktur jika mereka

dibentuk dengan menerapkan jenis pembangun yang

sama (secara berulang) ke jenis kesamaan secara

struktural.

• Setelah suatu deklarasi jenis, jenis n = T, nama jenis n

secara struktural setara dengan T.

Page 21: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

21

Type Inference

Jenis kesimpulan adalah masalah yang umum dalam

menjelmakan tak berjenis atau sintaksis jenis parsial ke

dalam terminologi yang baik. Deklarasi tetap Pascal

adalah suatu contoh kesimpulan jenis, jenis nama adalah

kesimpulan dari jenis yang tetap. Dalam Pascal untuk

pengulangan jenis index pengulangan dapat ditarik

kesimpulan dari jenis batas pengulangan dan dengan

begitu indeks pengulangan harus suatu variabel lokal dari

pengulangan.

Page 22: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

22

Bahasa pemrograman Miranda dan Haskell adalah jenis

statis dan menyediakan sistem kesimpulan jenis kuat

sehingga seorang programmer tidak perlu

mendeklarasikan jenis apapun. Bahasa juga mengijinkan

para programmer untuk menyediakan spesifikasi jenis

eksplisit.

Page 23: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

23

Suatu pemeriksa jenis harus mampu :

• menentukan jika suatu program adalah jenis yang baik

dan

• jika program adalah jenis yang baik, tentukan jenis

ungkapan manapun di dalam program.

Page 24: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

24

Type declarations

Bahkan bahasa yang menyediakan suatu sistem

kesimpulan jenis mengijinkan para programmer untuk

membuat deklarasi jenis tegas/eksplisit. Sekalipun

kompiler dapat dengan tepat menyimpulkan jenis,

pembaca manusia mungkin harus meneliti beberapa

halaman kode untuk menentukan jenis suatu fungsi.

Page 25: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

25

Kesalahan kecil oleh programmer dapat menyebabkan

kompiler mengeluarkan pemberitahuan kesalahan atau

untuk menyimpulkan suatu jenis yang berbeda dibanding

yang diharapkan. Karena pertimbangan ini adalah praktek

pemrograman yang baik dengan tegas menyatakan jenis

atas semua kecuali kasus yang paling nyata.

Page 26: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

26

Polymorphism

Suatu sistem jenis adalah monomorphic jika masing-masing konstanta, variabel, parameter, dan hasil fungsi mempunyai suatu jenis unik. Jenis pemeriksa suatu sistem monomorphic adalah secara langsung. Tetapi sistem jenis monomorphic semata-mata adalah tidak memuaskan untuk penulisan perangkat lunak yang bisa dipakai kembali.

Page 27: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

27

Sistem yang sepenuhnya Monomorphic jarang.

Kebanyakan bahasa pemrograman berisi beberapa

operator atau prosedur yang mengijinkan argumentasi

lebih dari satu jenis.

Page 28: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

28

Definisi N.2:

• Monomorphisme: tiap-tiap konstanta, variabel, parameter, fungsi dan operator mempunyai suatu jenis unik.

• Pemuatan lebih mengacu pada penggunaan dari syntaksis tunggal pengenal untuk mengacu pada beberapa operasi berbeda yang dibedakan oleh jenis dan jumlah argumentasi pada operasi.

• Polymorphisme: suatu operator, fungsi atau prosedur yang mempunyai suatu keluarga jenis yang terkait dan beroperasi secara seragam atas argumentasinya dengan mengabaikan jenis.

• Suatu operasi polymorphic adalah yang dapat berlaku untuk jenis yang berbeda tetapi berhubungan dengan argumentasi.

Page 29: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

29

Suatu sistem jenis adalah polymorphic jika abstrak

beroperasi secara seragam pada argumentasi suatu

keluarga jenis terkait.

Polymorphisme jenis ini kadang-kadang disebut

polymorphisme parametric.

Page 30: Power Domain (Daerah Tenaga)henmedya.staff.gunadarma.ac.id/Downloads/files/29208/Minggu-06-DE.pdf · adalah suatu contoh kesimpulan jenis, jenis nama adalah kesimpulan dari jenis

30

Type Completeness

Prinsip Jenis Kelengkapan. Tidak ada operasi yang dapat

berlaku semaunya terbatas yang berhubungan dengan

nilai jenis.