• Tidak ada hasil yang ditemukan

Penyamarataan membantu untuk menyederhanakan daftar tanpa batas ini untuk: sqr = {(x,x*x) x didalam Nat}

N/A
N/A
Protected

Academic year: 2021

Membagikan "Penyamarataan membantu untuk menyederhanakan daftar tanpa batas ini untuk: sqr = {(x,x*x) x didalam Nat}"

Copied!
30
0
0

Teks penuh

(1)

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

(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:

(3)

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

(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

(5)

5

Type Systems

Prosentase besar kesalahan didalam program adalah

dalam kaitan dengan aplikasi operasi ke object jenis yang bertentangan. Jenis sistem telah dikembangkan untuk

(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.

(7)

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.

(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.

(9)

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.

(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

(11)

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

(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.

(13)

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

(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.

(15)

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.

(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

(17)

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

(18)

Definisi jenis tidak diperlukan untuk menjadi global. Kesamaan struktural adalah penting didalam sistem

distribusi pemrograman, dimana program terpisah harus mengkomunikasikan jenis data.

(19)

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.

(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.

(21)

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.

(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

(23)

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.

(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.

(25)

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.

(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.

(27)

27

Sistem yang sepenuhnya Monomorphic jarang.

Kebanyakan bahasa pemrograman berisi beberapa

operator atau prosedur yang mengijinkan argumentasi lebih dari satu 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.

(29)

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.

(30)

Type Completeness

Prinsip Jenis Kelengkapan. Tidak ada operasi yang dapat berlaku semaunya terbatas yang berhubungan dengan

Referensi

Dokumen terkait

Biaya overhead pabrik ( factory overhead cost ) adalah biaya produksi selain biaya bahan baku dan biaya tenaga kerja langsung yang terdiri dari macam biaya yang

Dengan sudah masuknya beberapa jenis hewan yang dapat membantu penyebaran biji ke lahan revegetasi, sebenarnya merupakan simptom terjadinya rekolonisasi, tetapi kondisi

Penelitian ini bertujuan untuk mengetahui hasil belajar siswa dengan menggunakan model Pembelajaran Numbered Heads Together (NTH) dalam mata pelajaran IPA materi

Nilai defisit sebesar - US$ 62,97 juta tercatat pada neraca perdagangan Italia dengan Indonesia di bulan September 2015, meskipun turun 26,69% dibandingkan dengan

Bayi baru lahir yang sakit/kecil (BB kurang dari 2500 gram atau umur kehamilan kurang dari 37 minggu), perlu penambahan kehangatan tubuh untuk mempertahankan

Merupakan penyebab kedua demensia yang terjadi pada hampir 40 % kasus. Demensia ini berhubungan dengan penyakit serebro dan kardiovaskuler seperti hipertensi, kolesterol tinggi,

Bagi Rumah Sakit diharapkan laporan kasus ini sebagai bahan masukan dalam melaksanakan Asuhan Keperawatan pada Tn.P dengan Gangguan Sistem Penglihatan Katarak di Wisma Matahari

Desa Mekar Jaya memiliki Sarana dan Prasarana untuk masyarakat yang terdapat di tiap dusun, yang meliputi sarana prasarana dibidang pemerintahan,