• Tidak ada hasil yang ditemukan

ALGORITMA PEMROGRAMAN 1C DOMAIN DAN TIPE

N/A
N/A
Protected

Academic year: 2021

Membagikan "ALGORITMA PEMROGRAMAN 1C DOMAIN DAN TIPE"

Copied!
38
0
0

Teks penuh

(1)

Indah Wahyuni

(2)

V

ALUE

 Suatu nilai (value): hal apapun yang mungkin

dapat dievaluasi, disimpan dalam suatu struktur data, dikirimkan sebagai suatu argumentasi

atau dikembalikan lagi sebagai hasil.

 Suatu perhitungan: suatu urutan operasi yang

diberlakukan untuk suatu nilai untuk menghasilkan suatu nilai.

 Dengan demikian nilai-nilai dan operasi adalah

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(3)

 Kumpulan dari argumen-argumen dan

hasil-hasil dari fungsi dikenal dengan domain dan co-domain.

 Domain akan ditandai sebagai kumpulan dari

nilai-nilai yang dikirimkan sebagai argumen-argumen atau dikembalikan sebagai hasil.

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

V

ALUE

(4)

 Dua kategori domain, yaitu :

 Primitive Domain

Sifatnya atomic

 Compound Domain

Kumpulan dari nilai-nilai yang dibangun dari domain-domain pembangun satu atau domain pembangun yang lain.

 Suatu domain: satu kumpulan elemen-elemen

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

D

OMAIN

(5)

E

LEMEN

-

ELEMEN

T

EORI

D

OMAIN

 Ada beberapa compound domain yang digunakan

dalam computer sign, yaitu: array, tupple, record, union, set, list, tree, file, relation, definition dan mapping.

 Compound domain dibangun oleh suatu domain

pembangun dibawah ini:

 Product domain  Sum domain  Function domain  Power domain  Recursive domain . P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(6)

1. P

RODUCT

D

OMAIN

(D

OMAIN

P

RODUK

)

 Domain-domain yang dibangun oleh pembangun

product domain disebut record dalam Pascal.

 Bentuk product domain adalah dasar dari

database relational dan pemrograman logic.

 Pada kasus biner, product domain pembangun, x,

membangun domain A x B dari domain A dan B.

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(7)

1. P

RODUCT

D

OMAIN

(D

OMAIN

P

RODUK

)

 Jika a adalah elemen dari A dan b adalah suatu

elemen dari B, maka (a,b) adalah suatu elemen dari A x B.

A X B = {(a,b)| a in A, b in B}

 Domain produk disebut “Cartesian” atau

“Cross” produk. . P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(8)

1. P

RODUCT

D

OMAIN

(D

OMAIN

P

RODUK

)

 Product Domain : D0 x … x Dn

 Assembly operation:

(a0 ,…,an ) in D0 x…x Dn where ai in Di and D0 x…x Dn = {(a0 ,…an ) | ai in Di}

 Disassembly operation: (a0 ,…,an ) | i = ai for 0

<= i <= n . P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(9)

2. S

UM

D

OMAIN

(D

OMAIN

S

UM

)

 Domain-domain yang dibangun oleh

pembangun sum domain disebut varian record dalam Pascal.

 Dalam kasus biner, sum domain pembangun,+,

membangun domain A + B dari domain A dan B.

 Jika a adalah elemen dari A dan b adalah elemen

dari B maka (A,a) dan (B,b) adalah unsur-unsur A + B A + B = {(A,a) | a in A} union {(B,b) | b in B} . P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(10)

2. S

UM

D

OMAIN

(D

OMAIN

S

UM

)

 Dimana A dan B disebut tags dan digunakan

untuk membedakan pendukung elemen A dan pendukung elemen B.

 Sum domain disebut juga disjoint union atau

co-product domain. . P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(11)

3. F

UNCTION

D

OMAIN

(D

OMAIN

F

UNGSI

)

 Domain-domain yang dibangun oleh pembangun

function domain disebut fungsi di dalam Haskell.

 Pembangun function domain membentuk domain

A B dari domain A dan B.

 Domain A B terdiri dari semua fungsi A ke B.

A disebut domain dan B disebut co-domain.

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(12)

4. P

OWER

D

OMAIN

(D

OMAIN

P

OWER

)

 Teori Set menyediakan suatu notasi untuk

uraian perhitungan.

 Pascal menyediakan operasi set gabungan

(union) dan simpangan dan keanggotaan set (intersection).

 Kumpulan dari semua subsets dari sebuah set

adalah power set dan digambarkan: PS = { s | s is a subset of S } . P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(13)

 Subtype dan subrange adalah contoh dari

pembangun power set.

 Power domain membangun suatu domain dari

elemen-elemen set.

 Untuk domain A, pembangun power domain

P() menciptakan domain P(A), suatu

kumpulan yang anggotanya adalah subset dari A. . P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(14)

TERDEFINISI REKURSIF

)

 Recursively defined domain adalah domain yang

didefinisikan dari bentuk D : … D …

 Definisi disebut Recursively sebab nama domain

“recurs/berulang” pada sisi kanan dari definisi.

 Tergantung pada abstrak karena nama domain

adalah suatu bagian penting dari definisi domain. . P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(15)

TERDEFINISI REKURSIF

)

 Lebih dari satu set boleh mencukupi suatu

recursively defined.

 Selalu mempunyai solusi terkecil.

 Solusi terkecil adalah suatu subset solusi yang

lain. . P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(16)

T

YPE

S

YSTEM

 Prosentase besar kesalahan di dalam program adalah

dalam kaitan dengan operasi ke object jenis yang bertentangan.

 Type system telah dikembangkan untuk membantu

programmer dalam pendeteksian kesalahan.

 Suatu type system adalah satu set aturan untuk

mendefinisikan jenis dan menghubungkan suatu type dengan ekspresi dalam bahasa.

Suatu type system menolak suatu ekspresi jika tidak

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(17)

T

YPE

S

YSTEM

 Type checking boleh berjalan pada waktu

kompilasi atau waktu berjalan atau kedua-duanya.

 Jika kesalahan diharapkan untuk dideteksi pada

waktu kompilasi maka suatu static type checking system diperlukan. . P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(18)

T

YPE

S

YSTEM

 Satu pendekatan ke static type checking

memerlukan programmer untuk menetapkan type masing-masing obyek di dalam program.

 Mengizinkan compiler untuk melaksanakan

type checking sebelum pelaksanaan program

 Pendekatan yang diambil oleh bahasa seperti

Pascal . P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(19)

1. T

YPE

C

HECKING

Suatu bahasa disebut :

 tidak berjenis (untype) jika tidak ada jenis abstrak

yang berlaku,

 Strong type jika menyelenggarakan jenis abstrak

(operasi mungkin diterapkan hanya untuk object jenis yang sesuai),

 Static type jika jenis ungkapan masing-masing dapat

ditentukan dari teks program,

 Dynamic type jika penentuan jenis beberapa

ungkapan tergantung pada perilaku waktu berjalan program. . P emro gr ama n, 2 01 2 19 Dom ai n & T ip e, Indah Wa hyuni

(20)

1. T

YPE

C

HECKING

(K

EUNTUNGAN

)

 Untyped adalah fleksibilitas mereka.

 Programmer mempunyai kendali penuh atas

bagaimana suatu nilai data digunakan

 Harus mengasumsikan tanggung jawab penuh

untuk mendeteksi aplikasi operasi ke type object yang bertentangan.

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(21)

1. T

YPE

C

HECKING

(K

EUNTUNGAN

)

 Strong type membantu untuk memastikan

portabilitas dan keamanan kode

 Memerlukan ketegasan dalam menggambarkan

type masing-masing object di dalam suatu program.

 Penting dalam kumpulan untuk pemilihan

operasi yang sesuai dan untuk optimisasi.

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(22)

1. T

YPE

C

HECKING

(K

EUNTUNGAN

)

 Static Type dikenal sebagai kebutuhan untuk

produksi software yang dapat dipercaya dan aman.

 Type static dipilih ketika efisiensi di dalam

waktu pelaksanaan adalah penting

 Kompilator pendukung digunakan untuk

mendukung rancang bangun software berjalan.

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(23)

1. T

YPE

C

HECKING

(K

EUNTUNGAN

)

 Dynamic type checking menyiratkan bahwa type

dicek pada waktu pelaksanaan

 Tiap-tiap nilai berlabel untuk mengidentifikasi

typenya dalam rangka membuat type checking mungkin.

 Hukuman untuk dynamic type checking adalah

biaya waktu dan ruang tambahan.

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(24)

2. T

YPE

E

QUIVALENCE

(K

ESAMAAN

J

ENIS

)

 Dua type tak dikenal (satuan object) adalah

sama jika mereka berisi elemen-elemen yang sama.

 Yang sama tidak bisa dikatakan type nama

mereka yang dulu, maka tidak diperlukan untuk memisah type union.

 Kapan type dinamai, ada dua pendekatan utama

untuk menentukan apakah dua type sama.

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(25)

2. T

YPE

E

QUIVALENCE

(K

ESAMAAN

J

ENIS

)

1.

Name Equivalence (kesamaan nama)

 Dua type adalah sama jika mereka

mempunyai nama yang sama.

 Type diberi nama berbeda diperlakukan

berbeda dan tidak bisa secara kebetulan dicampur hanya karena struktur mereka secara kebetulan adalah sama.

 Name equivalence perlu definisi type untuk

global. . P emro gr ama n, 2 01 2 25 Dom ai n & T ip e, Indah Wa hyuni

(26)

2. T

YPE

E

QUIVALENCE

(K

ESAMAAN

J

ENIS

)

2. Structural Equivalence (kesamaan struktural)

 Nama type diabaikan

 Elemen-elemen type dibandingkan untuk kesamaan yaitu dua type logic yang berbeda boleh menjadi kebetulan yang sama dan dapat dicampur.

 Definisi type tidak diperlukan untuk menjadi

global.

 Penting didalam distribusi pemrograman, dimana

. P emro gr ama n, 2 01 2 26 Dom ai n & T ip e, Indah Wa hyuni

(27)

2. T

YPE

E

QUIVALENCE

(K

ESAMAAN

J

ENIS

)

Definisi N.1:

 Dua type T, T’ adalah name equivalence if T

dan T’ memiliki nama yang sama.

 Dua type T, T’ adalah structural equivalence

if T dan T’ memiliki satuan nilai yang sama.

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(28)

2. T

YPE

E

QUIVALENCE

(K

ESAMAAN

J

ENIS

)

 Tiga aturan yang digunakan untuk

menentukan jika dua type adalah structural equivalence :

1. Suatu nama type sama secara struktur dengan dirinya sendiri

2. Dua type yang sama secara struktur jika mereka dibentuk dengan menerapkan type pembangun yang sama (secara berulang) ke type structural equivalence.

Setelah suatu deklarasi type, type n = T,

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(29)

3. T

YPE

I

NFERENCE

(

JENIS KESIMPULAN

)

 Type inference: masalah yang umum dalam

menjelmakan untyped atau sintaksis type parsial ke dalam terminologi yang baik.

 Deklarasi tetap Pascal adalah suatu contoh

type inference, type nama adalah kesimpulan dari type yang tetap.

 Dalam Pascal untuk pengulangan type index,

pengulangan dapat ditarik kesimpulan dari type recursively defined

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(30)

3. T

YPE

I

NFERENCE

(

JENIS KESIMPULAN

)

 Indeks pengulangan harus suatu variabel lokal

dari pengulangan.

 Suatu type checking harus mampu :

 Menentukan jika suatu program adalah type yang

baik dan

 Jika program adalah type yang baik, tentukan type

ekspresi manapun di dalam program

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(31)

4. T

YPE

D

ECLARATION

(

JENIS DEKLARASI

)

 Bahasa yang menyediakan suatu type

inference system mengizinkan para

programmer untuk membuat deklarasi type eksplisit.

 Programmer harus meneliti beberapa halaman

kode untuk menentukan type suatu fungsi.

 Compiler mengeluarkan pemberitahuan

kesalahan:

 Kesalahan kecil oleh programmer

 Untuk menyimpulkan suatu type yang berbeda dibanding yang diharapkan.

. P emro gr ama n, 2 01 2 31 Dom ai n & T ip e, Indah Wa hyuni

(32)

5. P

OLYMORPHISM

 Suatu type system adalah monomorphic jika

masing-masing konstanta, variabel, parameter, dan hasil fungsi mempunyai suatu type unik.

 Type checking suatu system monomorphic

adalah type secara langsung.

 Tetapi system type monomorphic semata-mata

tidak memuaskan untuk penulisan software yang bisa dipakai kembali.

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(33)

5. P

OLYMORPHISM

 System yang sepenuhnya monomorphic jarang.

 Kebanyakan bahasa pemrograman berisi

beberapa operator atau prosedur yang

mengizinkan argumentasi lebih dari satu type.

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(34)

5. P

OLYMORPHISM

 Definisi N.2 :

 Monomorphism : tiap-tiap konstanta, variabel,

parameter, fungsi dan operator mempunyai suatu type unik.

 Pemuatan lebih mengacu pada penggunaan

dari sintaksis pengenal tunggal untuk mengacu pada beberapa operasi berbeda yang dibedakan oleh type dan jumlah argumentasi pada operasi.

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(35)

5. P

OLYMORPHISM

 Polymorphism: suatu operator, fungsi atau

prosedur yang mempunyai suatu keluarga type yang terkait dan berorientasi secara seragam

atas argumentasinya dengan mengabaikan type.

 Dapat berlaku untuk type yang berbeda tetapi

berhubungan dengan argumentasi.

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(36)

5. P

OLYMORPHISM

 Suatu type system adalah polymorphic jika

abstrak beroperasi secara seragam pada argumentasi suatu keluarga type terkait.

 Polymorphism type ini kadang-kadang disebut

parametric polymorphism. . P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(37)

KELENGKAPAN

)

 Prinsip type ini, tidak ada operasi yang dapat

berlaku semaunya, terbatas yang berhubungan dengan nilai type.

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

(38)

. P emro gr ama n, 2 01 2 Dom ai n & T ip e, Indah Wa hyuni

Referensi

Dokumen terkait

Error input category account tipe data tidak valid ………..99.

Menengah Tinggi KEMENPERIN Sektor sesuai KBLI 77301 (KBLI 2017, Sektor Perindustrian) yang konversi ke 5 KBLI Baru (KBLI 2020), termasuk 77391.

Permasalahan multikolinearitas pada data Indeks Pembangunan Manusia (IPM) Provinsi DKI Jakarta periode tahun 2010–2016 dapat diatasi dengan penggunaan metode Partial

Proses ini merupakan proses permintaan barang yang berdasarkan pengolahan dari data MPS yang diterima sebagai masukkan, sistem akan mengolah data dari data produk yaitu

Saya Siti Rubiati, mahasiswa program Sarjana Fakultas Ekonomi Program Studi Akuntansi Universitas Muria Kudus, pada saat ini saya sedang melakukan penelitian untuk

Pembangunan Rumah Oleh Perum Perumnas Provinsi Jawa Barat Tahun 2011. No Nama

Pada percobaan kali ini Titik akhir titrasi untuk langkah pembakuan natrium tiosulfat yaitu pada saat larutan sudah tidak berwarna yaitu dengan volume natrium tiosulfat yang

Karena darah yang mengalir dari sirkulasi darah yang kaya oksigen ke sirkulasi darah yang miskin oksigen, maka penampilan pasien tidak biru (asianotik). Namun, beban yang