Senin, 19 Maret 2012

komputasional semantic

Model Komputasi



Ada tiga model dasar komputasional– fungsional, logika, dan imperatif. Sebagai tambahan terhadap satuan nilai-nilai dan operasi yang berhubungan, masing-masing model komputasional mempunyai satu set operasi yang digunakan untuk menggambarkan komputasi.

a. Model Fungsional : terdiri dari satu set nilai-nilai, fungsi-fungsi dan operasi aplikasi fungsi dan komposisi fungsi. Fungsi dapat mengambil fungsi lain sebagai argumentasi dan mengembalikan fungsi sebagai hasil (higher-order function). Suatu program adalah koleksi definisi fungsi-fungsi dan suatu komputasi adalah aplikasi fungsi.

b. Model Logika : terdiri dari satu set nilai-nilai, definisi hubungan dan kesimpulan logis. Program terdiri dari definisi hubungan dan suatu komputasi adalah suatu bukti(suatu urutan kesimpulan).

c. Model Imperatif : terdiri dari satu set nilai-nilai yang mencakup suatu keadaan dan operasi tugas untuk memodifikasi pernyataan. Pernyataan adalah set pasangan nilai-nama dari konstanta dan variabel. Program terdiri dari urutan tugas dan suatu komputasi terdiri dari urutan pernyataan.

Definisi Sintaks, Sematik, dan Pragmatis

Sintaks : aturan gramatikal atau komposisi suatu program yang mengatur tata cara penulisan huruf, angka dan karakter lain.

Contoh : pada pembuatan program Pascal antara dua statement dipisahkan oleh titik koma (;).

X := 1 ; X := X + 1;

Semantik : mendefinisikan arti dari dari program yang benar secara sintaks dari bahasa pemrograman tersebut.

Contoh : Pada pembuatan program C

Int vector [10]

Arti semantiknya : akan menyebabkan ruang sebanyak 10 elemen integer diberikan kepada variabel bernama vector ( 0 – 9 untuk array dalam C)

Pragmatis : memperhatikan tentang pemakaian bahasa, area aplikasi, kemudahan implementasi dan penggunaan, dan sukses bahasa didalam desain pelaksanaan tujuannya. Kekuatan yang membentuk suatu bahasa pemrograman meliputi arsitektur komputer, praktek rancang-bangun perangkat lunak (terutama daur hidup perangkat lunak), model komputasional, dan daerah aplikasi (contoh: alat penghubung pemakai, sistem pemprograman, dan sistem ahli).

Tujuan umum bahasa pemrograman berpegang pada prinsip desain bahasa pemrograman yang berikut.

Prinsip Kelengkapan Komputasional

Model komputasional untuk tujuan umum suatu bahasa pemrograman harus universal.

Prinsip Implementasi

Implementasi harus efisien dalam penggunaan waktu dan ruangnya. Prinsip Memprogram harus ditulis dalam suatu bahasa yang mencerminkan daerah masalah.

Prinsip Desain Bahasa pemrograman

Suatu bahasa program harus dirancang untuk memudahkan agar dapat dibaca dan ditulis untuk para pemakai manusianya dan pelaksanaan efisien pada perangkat keras yang tersedia.

Keadaan dapat dibaca dan ditulis dimudahkan oleh prinsip yang berikut.

Prinsip Kesederhanaan

Bahasa harus didasarkan atas yang paling sedikit

Prinsip Orthogonal

Fungsi mandiri harus dikendalikan oleh mekanisme mandiri.

Prinsip Keteraturan

Satu set object disebut reguler berkenaan dengan kondisi beberapa jika, dan hanya jika, kondisi dapat digunakan untuk masing-masing unsur set.

Prinsip Sifat Ekstensibilitas(dapat diperpanjang)

Object baru dari tiap kelas sintaktis mungkin dibangun (digambarkan) dari dasar dan digambarkan membangun dengan suatu cara sistematis.

Prinsip keteraturan dan ekstensibilitas memerlukan konsep dasar bahasa harus diterapkan secara konsisten dan yang bersifat universal.

Pada halaman berikut kita akan belajar bahasa pemrograman sebagai perwujudan model komputasional, ilmu semantik sebagai hubungan antara model komputasional dan sintaksis, dan berhubungan pragmatis.

Prinsip Clarity, Simplicity dan Unity

Bahasa pemrograman harus dapat menolong programmer untuk membuat suatu desain program jauh sebelum programmer melakukan coding.

Kemudahan, kesederhanaan dan kesatuan merupakan suatu kombinasi yang membantu programmer mengembangkan suatu algoritma sehingga algoritma yang dihasilkan mempunyai kompleksitas yang rendah.

Orthogonality

Orthogonality menunjuk kepada suatu atribut yang dapat dikombinasikan dengan beragam fitur bahasa pemrograman sehingga setiap kombinasinya mempunyai arti dan dapat digunakan.

Kewajaran untuk Aplikasi

Bahasa pemrograman membutuhkan sintaks yang cocok/tepat yang digunakan pada struktur program untuk merefleksikan struktur logika yang melandasi suatu algoritma.

Mendukung Abstraksi

Abstraksi merupakan suatu hal yang substansial bagi programmer untuk membuat suatu solusi dari masalah yang dihadapi. Kemudian abstraksi tersebut dapat dengan mudah diimplementasikan menggunakan fitur-fitur yang ada dalam bahasa pemrograman.

Kemudahan untuk Verifikasi Program

Verifikasi program merupakan hal penting bagi sebuah program karena dengan verifikasi yang mudah maka satu program akan dengan mudah dibangun dan dikembangkan.

Lingkungan Pemrograman

Bahasa pemrograman yang mempunyai lingkungan pemrograman yang baik dan lengkap akan memudahkan programmer untuk mengimplementasikan abstraksi yang sudah disusunnya.

Portabilitas Program

Salah satu kriteria penting untuk proyek pemrograman adalah kemudahan program yang sudah jadi untuk dipindah-pindahkan dari komputer yang digunakan untuk membuat dan mengembangkan ke komputer lain yang akan menggunakannya.

Biaya Penggunaan

Biaya merupakan elemen penting dalam mengevaluasi suatu bahasa pemrograman.

Ada beberapa biaya yang dapat diukur yaitu :

Biaya Eksekusi Program
Biaya Translasi/kompilasi Program
Biaya Penciptaan, Testing dan Penggunaan Program
Biaya Pemeliharaan Program


sumber : from email.

Selasa, 13 Maret 2012

Cloud Computing

Komputasi awan

(bahasa Inggris: cloud computing) adalah gabungan pemanfaatan teknologi komputer ('komputasi') dan pengembangan berbasis Internet ('awan'). Awan (cloud) adalah metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer. Sebagaimana awan dalam diagram jaringan komputer tersebut, awan (cloud) dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya.[1] Ia adalah suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service), [2] sehingga pengguna dapat mengaksesnya lewat Internet ("di dalam awan") [3] tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya.[4] Menurut sebuah makalah tahun 2008 yang dipublikasi IEEE Internet Computing "Cloud Computing adalah suatu paradigma di mana informasi secara permanen tersimpan di server di internet dan tersimpan secara sementara di komputer pengguna (client) termasuk di dalamnya adalah desktop, komputer tablet, notebook, komputer tembok, handheld, sensor-sensor, monitor dan lain-lain."[5]

Komputasi awan adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dan tren teknologi terbaru lain yang dikenal luas, dengan tema umum berupa ketergantungan terhadap Internet untuk memberikan kebutuhan komputasi pengguna. Sebagai contoh, Google Apps menyediakan aplikasi bisnis umum secara daring yang diakses melalui suatu penjelajah web dengan perangkat lunak dan data yang tersimpan di server. Komputasi awan saat ini merupakan trend teknologi terbaru, dan contoh bentuk pengembangan dari teknologi Cloud Computing ini adalah iCloud

Ada lima kriteria yang harus dipenuhi oleh sebuah sistem untuk bisa di masukkan dalam keluarga Cloud Computing, yaitu :

1. Swalayan (On Demand Self Service)

Seorang pelanggan dimungkinkan untuk secara langsung “memesan” sumber daya yang dibutuhkan, seperti processor time dan kapasitas penyimpanan melalui control panel elektronis yang disediakan. Jadi tidak perlu berinteraksi dengan personil customer service jika perlu menambah atau mengurangi sumberdaya komputasi yang diperlukan.

2. Akses Pita Lebar (Broadband Network Access)

Layanan yang tersedia terhubung melalui jaringan pita lebar, terutama untuk dapat diakses secara memadai melalui jaringan internet, baik menggunakan thin client, thick client ataupun media lain seperti smartphone.

3. Sumberdaya Terkelompok (Resource Pooling)

Penyedia layanan cloud, memberikan layanan melalui sumberdaya yang dikelompokkan di satu atau berbagai lokasi data center yang terdiri dari sejumlah server dengan mekanisme multi-tenant. Mekanisme multi-tenant ini memungkinkan sejumlah sumberdaya komputasi tersebut digunakan secara bersama-sama oleh sejumlah user, di mana sumberdaya tersebut baik yang berbentuk fisik maupun virtual, dapat dialokasikan secara dinamis untuk kebutuhan pengguna/pelanggan sesuai permintaan. Dengan demikian, pelanggan tidak perlu tahu bagaimana dan darimana permintaan akan sumberdaya komputasinya dipenuhi oleh penyedia layanan. Yang penting, setiap permintaan dapat dipenuhi. Sumberdaya komputasi ini meliputi media penyimpanan, memory, processor, pita jaringan dan mesin virtual.

4. Elastis (Rapid Elasticity)

Kapasitas komputasi yang disediakan dapat secara elastis dan cepat disediakan, baik itu dalam bentuk penambahan ataupun pengurangan kapasitas yang diperlukan. Untuk pelanggan sendiri, dengan kemampuan ini seolah-olah kapasitas yang tersedia tak terbatas besarnya, dan dapat “dibeli” kapan saja dengan jumlah berapa saja.

5. Layanan Yang Terukur (Measured Service)

Sumber daya cloud yang tersedia harus dapat diatur dan dioptimasi penggunaannya, dengan suatu sistem pengukuran yang dapat mengukur penggunaan dari setiap sumberdaya komputasi yang digunakan (penyimpanan, memory, processor, lebar pita, aktivitas user, dan lainnya). Dengan demikian, jumlah sumberdaya yang digunakan dapat secara transparan diukur yang akan menjadi dasar bagi user untuk membayar biaya penggunaan layanan.


Sebagaimana yang dikatakan sebagai bisnis service, dengan teknologi cloud anda sebaiknya mengetahui dan memastikan apa yang anda bayar dan apa yang anda investasikan sepenuhnya memang untuk kebutuhan anda menggunakan service ini. Anda harus memperhatikan pada beberapa bagian yaitu:

Service level – Cloud provider mungkin tidak akan konsisten dengan performance dari application atau transaksi. Hal ini mengharuskan anda untuk memahami service level yang anda dapatkan mengenai transaction response time, data protection dan kecepatan data recovery.
Privacy - Karena orang lain / perusahaan lain juga melakukan hosting kemungkinan data anda akan keluar atau di baca oleh pemerintah U.S. dapat terjadi tampa sepengetahuan anda atau approve dari anda.
Compliance - Anda juga harus memperhatikan regulasi dari bisnis yang anda miliki, dalam hal ini secara teoritis cloud service provider diharapkan dapat menyamakan level compliance untuk penyimpanan data didalam cloud, namun karena service ini masih sangat muda anda diharapkan untuk berhati hati dalam hal penyimpanan data.
Data ownership – Apakah data anda masih menjadi milik anda begitu data tersebut tersimpan didalam cloud? mungkin pertanyaan ini sedikit aneh, namun anda perlu mengetahui seperti hal nya yang terjadi pada Facebook yang mencoba untuk merubah terms of use aggrement nya yang mempertanyakan hal ini.
Data Mobility – Apakah anda dapat melakukan share data diantara cloud service? dan jika anda terminate cloud relationship bagaimana anda mendapatkan data anda kembali? Format apa yang akan digunakan ? atau dapatkah anda memastikan kopi dari data nya telah terhapus ?

Untuk sebuah service yang masih tergolong kritis untuk perusahaan anda, saran terbaik adalah menanyakan hal ini se detail detailnya dan mendapatkan semua komitmen dalam keadaan tertulis.
Apa yang dilakukan Smart Company saat ini ?

Ada banyak kesempatan pada organisasi IT khususnya untuk mensosialisasikan cloud service. Banyak organisasi yang mencoba untuk menambahkan firut ini kepada infrastruktur yang mereka miliki sebelumnya untuk mengambil keuntungan dari “cloud bursting“; khususnya jika anda membutuhkan kapasitas ekstra atau ekstra aktifitas, anda dapat memanfaatkan cloud ketimbang melakukan investasi resource secara in-house.

Development/test dan beberapa aktifitas yang mirip juga menjadi tempat yang bagus untuk cloud, memungkinkan anda untuk mengurangi pengeleluaran perkapita dan biaya data center yang terus meingkat dari sisi kecepatan dan uptime.

Sedangkan perusahaan yang tidak segan segan untuk mengimplementasi teknologi cloud untuk data mereka dan menyimpan nya sebagai fasilitas mereka sendiri untuk memastikan kebijakan perusahaan tersimpan dengan baik tentunya akan lebih baik, sehingga memastikan proses komputerasisasi pada cloud sebagai sistem proses yang dibutuhkan akan lebih independen.


sumber : wikipedia.org

Speed Test