Sejarah Komputasi Modern

0 komentar

Kata “komputer” pertama kali di perdengarkan kepada public pada tahun 1613, hal ini mengacu pada perhitungan aritmatika dan kata “komputer” digunakan dalam pengertian itu sampai pertengahan abad ke-20. Dari akhir abad ke-19 dan seterusnya.Berkembanganya komputer akhirnya makna komputer menjadi sebuah mesin yang melakukan komputasi.

Sejarah komputer modern dimulai dengan dua teknologi yang terpisah- perhitungan otomatis dan dapat di program-tapi tidak ada satu perangkat pun yang dapat dikatakan sebagai komputer, karena sebagian penerapan yang tidak konsisten istilah tersebut. Contoh-contoh awal perangkat penghitung mekanis termasuk sempoa (yang berasal dari sekitar 150-100 SM). Seorang pahlawan dari Alexandria (sekitar 10-70 AD) membangun sebuah teater mekanis yang diadakan bermain berlangsung 10 menit dan dioperasikan oleh sebuah sistem yang kompleks dengan tali dan drum yang dipakai sebagai sarana untuk memutuskan bagian dari mekanisme. Ini adalah inti dari programmability.

salah satu tokoh yang sangat mempengaruhi perkembangan komputasi modern adalah John von Neumann (1903-1957), Beliau adalah ilmuan yang meletakkan dasar-dasar komputer modern.Von Neumann telah menjadi ilmuwan besar abad 21. Von Neumann memberikan berbagai sumbangsih dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer yang di salurkan melalui karya-karyanya . Beliau juga merupakan salah satu ilmuwan yang terkait dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu.

Sejarah singkat dari perjalanan hidup dari Von Neumann , dilahirkan di Budapest, Hungaria pada 28 Desember 1903 dengan nama Neumann Janos. Dia adalah anak pertama dari pasangan Neumann Miksa dan Kann Margit.Nama keluarga diletakkan di depan nama asli. Sehingga dalam bahasa Inggris, nama orang tuanya menjadi Max Neumann. Pada saat Max Neumann memperoleh gelar, maka namanya berubah menjadi Von Neumann. Setelah bergelar doktor dalam ilmu hukum, dia menjadi pengacara untuk sebuah bank. Pada tahun 1903, Budapest merupakan tempat lahirnya para manusia genius dari bidang sains, penulis, seniman dan musisi.

Von Neumann belajar berbagai tempat dan beberapa tempatnya di Berlin dan Zurich. Di tempat itu beliau mendapatkan diploma pada bidang teknik kimia pada tahun 1926. Pada tahun yang sama dia mendapatkan gelar doktor pada bidang matematika dari Universitas Budapest. Keahlian Von Neumann terletak pada bidang teori game yang melahirkan konsep seluler automata, teknologi bom atom, dan komputasi modern yang kemudian melahirkan komputer. Kegeniusannya dalam bidang matematika telah terlihat semenjak kecil dengan mampu melakukan pembagian bilangan delapan digit (angka) di dalam kepalanya.

Beliau pernah mengajar di Berlin dan Hamburg, Von Neumann pindah ke Amerika pada tahun 1930 dan bekerja di Universitas Princeton pada saat yang bersamaan Von Neumann menjadi salah satu pendiri Institute for Advanced Studies.

Von Neumann sangat tertarik pada hidrodinamika dan kesulitan penyelesaian persamaan diferensial parsial nonlinier yang digunakan, Von Neumann kemudian beralih dalam bidang komputasi. Von Neumann menjadi seorang konsultan pada pengembangan komputer ENIAC, dia merancang konsep arsitektur komputer yang masih dipakai sampai sekarang. Arsitektur Von Nuemann adalah seperangkat komputer dengan program yang tersimpan (program dan data disimpan pada memori) dengan pengendali pusat, I/O, dan memori.

Berikut ini beberapa contoh komputasi modern sampai dengan lahirnya ENIAC :

  • Konrad Zuse’s electromechanical “Z mesin”.Z3 (1941) sebuah mesin pertama menampilkan biner aritmatika, termasuk aritmatika floating point dan ukuran programmability. Pada tahun 1998, Z3 operasional pertama di dunia komputer itu di anggap sebagai Turing lengkap.
  • Berikutnya Non-programmable Atanasoff-Berry Computer yang di temukan pada tahun 1941 alat ini menggunakan tabung hampa berdasarkan perhitungan, angka biner, dan regeneratif memori kapasitor.Penggunaan memori regeneratif diperbolehkan untuk menjadi jauh lebih seragam (berukuran meja besar atau meja kerja).
  • Selanjutnya komputer Colossus ditemukan pada tahun 1943, berkemampuan untuk membatasi kemampuan program pada alat ini menunjukkan bahwa perangkat menggunakan ribuan tabung dapat digunakan lebih baik dan elektronik reprogrammable.Komputer ini digunakan untuk memecahkan kode perang Jerman.
  • The Harvard Mark I ditemukan pada 1944, mempunyai skala besar, merupakan komputer elektromekanis dengan programmability terbatas.
  • Lalu lahirlah US Army’s Ballistic Research Laboratory ENIAC ditemukan pada tahun 1946, komputer ini digunakan unutk menghitung desimal aritmatika dan biasanya disebut sebagai tujuan umum pertama komputer elektronik (ENIAC merupaka generasi yang sudah sangat berkembang di zamannya sejak komputer pertama Konrad Zuse ’s Z3 yang ditemukan padatahun 1941).

Apa itu Version Control

1 komentar

Version control dikenal dengan banyak istilah. Ada yang menyebut Configuration Management Tool, Source Code Management (SCM), atau Source Control. Dalam hal ini, istilah yang digunakan adalah Version Control. Kemampuan  menggunakan  version   control  merupakan   hal   yang langka di kalangan programmer Indonesia. Di bangku kuliah Teknik Informatika,   Ilmu Komputer,  atau  jurusan  lain yang  sejenis,  kita tidak   diajarkan   tentang  version   control.   Bahkan   kita   tidak diberitahu kalau ada perangkat yang disebut version control. Di dunia kerja di Indonesia,  tidak banyak perusahaan yang sudah menggunakan  version   control.   Kalaupun   digunakan,   biasanya programmer   diharapkan   untuk   belajar   secara   otodidak   tanpa pelatihan.
Kalau begitu, kenapa kita harus repot-repot belajar menggunakan version control? Terlepas   dari   kondisi   lokal   di   Indonesia,   perangkat   ini   adalah standar minimal untuk tim programmer di dunia. Di belahan dunia yang  lain,  ribuan programmer terlibat dalam proyek open source, masing-masing   berada   di   negara   yang   berbeda,   tidak   saling mengenal,   tidak   pernah   bertemu   muka,   berkomunikasi   hanya melalui   internet.   Tetapi   mereka   mampu   menghasilkan   aplikasi perangkat lunak yang berkualitas tinggi dalam waktu yang wajar.  Kolaborasi  dengan  skala  besar   seperti   ini  dimungkinkan dengan penggunaan  version   control.  Dengan   jumlah   orang   yang   begitu besar,   sulit   sekali   mengelola   perubahan   source   code   yang dihasilkan   tiap   programmer.   Perubahan   pada   satu   file   sangat mungkin   akan   terhapus   atau   diganti   dengan   file   lain   oleh programmer   lain.   Apabila   terjadi   kesalahan,   sangat   sulit   untuk mengembalikan kondisi aplikasi seperti sebelum terjadi error.  Version   control   dapat  menyediakan   akses   untuk   banyak   orang sekaligus,  mirip dengan sharing  folder  yang biasa kita gunakan. Bedanya dengan sharing folder, version control mampu:

  • mencatat   isi   perubahan   dan   pelaku   perubahan,   dengan demikian kalau ditemukan 'keanehan' pada kode program, kita   dapat   melacak   siapa   yang   membuat   'keanehan' tersebut dan kapan 'keanehan' tersebut muncul
  • menyediakan   fungsi   undo   untuk   tim,   yaitu   dapat mengembalikan   kondisi   kode   program  ke   periode   yang diinginkan   (minggu   kemarin,   sebelum   bugfix,   dan sebagainya)
  • melihat   riwayat   perubahan   kode,   dari   pertama   dibuat, sampai kondisi terakhir saat ini.
  • memungkinkan   pengembangan   kode   secara   paralel, misalnya aplikasi  yang sama dibuat  dalam berbagai  versi secara berbarengan.

Berikut  adalah  version control open source yang tersedia:

  • Concurrent Versioning System (CVS). Version control paling
    terkenal   di   dunia.   Usianya   yang   tua   dan   popularitas
    menyebabkan   banyak   aplikasi   pendukung   yang   tersedia.
    Integrasi dengan CVS biasanya sudah dimasukkan sebagai
    fitur   utama   dalam   editor-editor   kode   program   seperti
    Eclipse, Netbeans, dan sebagainya.
  • Subversion.  Aplikasi  version  control   yang  dibuat   dengan
    tujuan untuk menggantikan CVS.
    sumber : konsep dan penggunaan subversion oleh endy muhardin

Macbeth x Crooz Extended Tour at Bogor

0 komentar

Setelah sukses dengan kota kota sebelumnya, Macbeth x Crooz Indonesia Tour 2010 akan sekali lagi bermain di kota Bogor pada hari Sabtu tanggal 24 April 2010 yang bertempat di GOR Pajajaran.

Acara ini akan sepenuhnya di dukung oleh Petersays Denim, Macbeth dan Crooz Clothing. Band yang akan tampil di antaranya Killing Me Inside, Killed By Butterfly, Sweet As Revenge, Thirteen dan masih banyak lagi. Untuk info lebih lengkap silahkan kunjungi Macbeth Crooz Tour.

Support Your Local Scene :)

Google Web Toolkit

1 komentar

Pas lagi searching di google nemu nih yang baru dan menurut saya cukup unik. hehe
Kenapa unik karena Google Web Toolkit itu , dibilang bahasa pemrograman, bukan.Kalo di dibilang bahasa pemrograman, bukan? karena syntaxnya pake java. terus kalo di bilang framework? bisa juga, karena emang gak terintegrasi ama bahasa pemrograman lain, yang artinya bisa di dampingi ama php, java, asp, coldfision, rails, bahkan dengan framework java seperti spring,struts dan lainnya.
Jadi sebenernya apa itu google web toolkit ?? Google Web Toolkit merupakan sebuah framework yang merupakan framework RIA yang artinya Aplikasi Berbasis Web. jadi dengan GWT kita bisa membangun aplikasi layaknya aplikasi desktop namun berbasis Web. GWT merupakan framework yang bisa digunakan untuk menkonversi coding Java ke coding JavaScript, sehingga kita tidak perlu tau tentang javascript untuk membuat aplikasi berbasis web.

Arsitektur GWT :
GWT memiliki empat komponen utama: kompiler Java-ke-JavaScript, sebuah  "hosted" web browser, dan dua kelas java library (satu JAVA API dan satu lagi GWT API)

Fitur Google Web Toolkit:
- Open Source
- Readymade, Dinamis, reusable komponen UI
- RPC
- History manajemen Browser, debugging
- Browser yang kompatibel
- integrasi JUnit
- Internasionalisasi
- Interoperabilitas


Instalasi Google Web Toolkit

  • Instal Jawa SDK. Jika Anda tidak memiliki versi terbaru dari Java SDK diinstal, download dan install Sun Java SDK Standard Edition.
  • Download Google Web Toolkit. Download Google Web Toolkit paket untuk sistem operasi Anda di http://code.google.com/webtoolkit/download.html
  • Setalah selesai download Unzip Google Web Toolkit hasill downloadan tersebut:
    Jika anda menggunakan Windows, ekstrak file dari gwt-windows-1.3.3.zip dengan program seperti WinZip.
    Pada Mac dan Linux, Anda dapat mengekstrak paket dengan perintah seperti
    tar xvzf gwt-mac-1.3.3.tar.gz

beberapa perintah pada command line GWT:

  • applicationCreator: ini menghasilkan kerangka struktur direktori untuk aplikasi Anda.
  • projectCreator: Script ini menghasilkan kerangka proyek, serta membangun Ant file atau proyek Eclipse, sesuai dengan apa yang menentukan baris perintah.
  • i18nCreator: ini menciptakan beberapa file yang dibutuhkan untuk menggunakan didunia pesan dengan GWT. jalan pintas menggambarkan aspek aplikasi dalam bagian lain.
  • junitCreator: Script ini dapat digunakan untuk Anda mulai menggunakan JUnit dengan GWT.

Untuk menuliskan code bisa menggunakan eclipse atau netbenans dan setelah semua selesai kita bisa mulai memmbuat aplikasi dengan google web toolkit dan Jika menemukan masalah, lakukan Googling untuk menemukan solusinya. Biasanya google akan membawa Anda ke forum-forum diskusi.

semoga bermanfaat :)

Website Tutorial Adobe Ilustrator dengan PHP dan MySQL

0 komentar

Praktikum semester 8 ini ada tugas suruh buat aplikasi multimedia, didalamnya terdapat 5 unsur multimedia, yaitu suara,gambar,video,animasi dan teks. Karena bingung mau buat apa yaudah buat website tutorial adobe ilustrator aja, jadi isi websitenya ada video-video tutorial adobe ilustrator. Ini websitenya bisa diliat disini :D http://anarchy88.com/nizar

Website ini dinamis jadi ada admin yang bisa menambah, mengedit dan menghapus dan memanage website. klik linknya kalo mau liat tampilan login admin http://anarchy88.com/nizar/loginadmin.php

source codenya bisa didownload di github.

 

ini beberapa screenshotnya :D

home

 video

loginadmin

OFFICE TAB 4.20

0 komentar

Software ini berguna buat yang suka menggunakan microsoft office (word,excel dan powerpoint (2003/2007). Fitur utama dari Office Tab adalah untuk menanamkan multiple tab di Microsoft Office 2003 atau Microsoft Office 2007. Dengan mulitple tab, kita dapat beralih ke dokumen yang berbeda (workbook dan presentasi) langsung seperti kita membuka tab di browser Firefox. Office Tab akan menghemat waktu kita saat kita menggunakan Microsoft Office 2003 atau Microsoft Office 2007, dan meningkatkan ketertiban dan efisiensi kerja. Cara installnya juga mudah tinggal next-next aja hehe :D

Tugas Pengantar Kecerdasan Buatan (Minggu Ke-8)

0 komentar

Pendahuluan

Script atau naskah merupakan skema representasi pengetahuan yang sama dengan frame, yaitu merepresentasikan pengetahuan berdasarkan karakteristik yang sudah dikenal sebagai pengalaman-pengalaman. Perbedaannya frame menggambarkan obyek, sedangkan script menggambarkan urutan peristiwa. Dalam menggambarkan urutan peristiwa, script menggunakan slot yang berisi informasi tentang orang, objek, dan tindakan-tindakan yang terjadi dalam suatu peristiwa.

Dalam menggambarkan urutan peristiwa, script menggunakan slot yang berisi informasi tentang orang, obyek, dan tindakan-tindakan yang terjadi dalam suatu peristiwa. Elemen-elemen script meliputi:

1. Kondisi input, yaitu kondisi yang harus dipenuhi sebelum terjadi atau berlaku suatu peristiwa dalam script.
2. Track, yaitu variasi yang mungkin terjadi dalam suatu script.
3. Prop, berisi obyek-obyek pendukung yang digunakan selama peristiwa terjadi.
4. Role, yaitu peran yang dimainkan oleh seseorang dalam peristiwa.
5. Scene, yaitu adegan yang dimainkan yang menjadi bagian dari suatu peristiwa.
6. Hasil, yaitu kondisi yang ada setelah urutan peristiwa dalam script terjadi.

Berikut elemen script :

1. jalur/track, yaitu variasi yang mungkin terjadi dalam suatu script
2. role/peran, yaitu peran yang dimainkan oleh seseorang dalam peristiwa
3. property, berisi objek-objek pendukung yang digunakan selama peristiwa terjadi
4. kondisi input, yaitu kondisi yang harus dipenuhi sebelum terjadi atau berlaku suatu peristiwa dalam script
5. scene, yaitu adegan yang dimainkan yang menjadi bagian dari suatu peristiwa
6. hasil, yaitu kondisi yang ada setelah urutan peristiwa dalam script terjadi.

Dan ini merupakan tugas pengantar kecerdasan buatan

Soal :

Buat naskah / script yang terdiri dari :

  1. Jalur / track
  2. Role (pemerannya)
  3. Properti (pendukung)
  4. Kondisi input
  5. Adegan / scene ( min 5 adegan max 10) : masing-masing adegan diperinci
  6. Hasil

Jawaban :

Pada tugas pengantar kecerdasan buatan minggu ke-8 ini, saya akan membuat script kejadian ketika kita mengikuti “Sidang Skripsi”.

Jalur (track) : Sidang Skripsi
Role (peran) : mahasiswa, dosen penguji
Property (pendukung) : soft cover penulisan, transparansi, lembar absensi, lembar hasil sidang, dll
Kondisi Input : mahasiswa yang penulisannya sudah disetujui oleh dosen pembimbing dan sudah terdaftar sebagai peserta sidang.

Adegan/scene ke-1 : Persiapan sidang
- Mahasiswa mendatangi ruang sidang.
- Dosen penguji mendatangi ruang sidang.
- Dosen penguji memberikan lembar absensi kepada mahasiswa.
- Mahasiswa mengisi lembar absensi.
- Mahasiswa memberikan lembar absensi ke dosen penguji.
- Mahasiswa menunggu giliran untuk di panggil sidang.

Adegan/scene ke-2 : Mahasiswa masuk ke ruang sidang
- Dosen penguji memanggil nama mahasiswa.
- Mahasiswa memasuki ruang sidang.
- Mahasiswa mempersiapkan transparansi.
- Mahasiswa memberikan soft cover penulisan kepada dosen penguji.

Adegan/scene ke-3 : Mahasiswa melakukan presentasi
- Mahasiswa mempresentasikan tentang penulisannya.
- Dosen penguji membaca penulisan mahasiswa.
- Dosen penguji bertanya tentang penulisan mahasiswa.
- Mahasiswa menjawab pertanyaan dosen penguji.

Adegan/scene ke-4 : Mahasiswa selesai sidang
- Dosen penguji menulis ada/tidaknya revisi di lembar hasil sidang.
- Mahasiswa membereskan transparansi.
- Dosen penguji memberikan lembar hasil sidang ke mahasiswa.

Adegan/scene ke-5 : Mahasiswa keluar dari ruang sidang
- Dosen penguji mempersilahkan mahasiswa keluar ruangan.
- Mahasiswa membawa kembali transparansi, soft cover penulisan dan lembar hasil sidang.
- Mahasiswa keluar ruangan.

Hasil
- Mahasiswa merasa senang.
- Mahasiswa merasa lega.
- Mahasiswa merasa bangga.
- Mahasiswa bersyukur.
- Mahasiswa kecewa.
- Mahasiswa pusing.

Subject, Verb, Complement , and Modifier

0 komentar

Tugas Bahasa Inggris Bisnis 2

1. Goerge is cooking dinner tonight
Subject / verb / c / modifier time

2. Henry and Marcia have visited the president
Subject / verb / complement

3. We can eat lunch in this restaurant today.
S / v / c / m place & time

4. Pat should have bought gasoline yesterday
S / v / c / m

5. Trees grow
S / v

6. It was raining at seven o’clock this morning
s / v / m

7. She opened a checking account at the bank last week
S / v / c / m.place & time

8. Harry is washing dishes right now.
S / v / c / m

9. She opened her book
S / v / c

10. Paul, William, and Marry were watching television a few minutes ago
S / v / c / m

JARINGAN SEMATIK (TUGAS PKB MINGGU KE-7)

0 komentar

Jaringan Semantik, kalimatnya sebagai berikut :

- Contoh Alat Elektronik adalah Handphone
- Handphone mempunyai merk Nokia dan Motorolla
- CDMA dan GSM merupakan jenis dari Nokia dan Motorolla
- Seri E, Express Music, fold, Z series merupakan type GSM
- Seri E memiliki tipe E63, dan E 71.
- Express Music memiliki tipe 5800
- Fold memiliki tipe 6600
- Z series memiliki tipe Z 6
- E 63 dan E 71 berbentuk candy bar
- Z6 dan 5800 berbentuk Slide
- 6600 berbentuk berbentuk flip
- 1265 dan 6316 adalah tipe dari CDMA
- 1265 berbentuk candy bar
- 6316 berbentuk slide

klik gambar untuk memperjelas :D

anu

TUGAS PENGANTAR KECERDASAN BUATAN MINGGU KE 6

0 komentar

SOAL

1. Representasikan fakta berikut menggunakan logika predikat dan logika proposisi !

  • Karjo adalah seorang laki-laki
  • Karjo adalah orang jawa
  • Karjo lahir tahun 1840
  • Setiap laki-laki pasti akan mati
  • Semua orang jawa mati pada saat krakatau meletus tahun 1883
  • Setiap orang pasti mati setelah hidup lebih dari 150 tahun
  • Sekarang tahun 2010
  • Mati berarti tidak hidup
  • Jika seseorang mati maka beberapa waktu kemudian dia pasti dinyatakan telah mati

2. Buktikan bahwa Karjo masih hidup atau mati saat ini !

 

JAWABAN :

1.) Merepresentasikan pengetahuan / fakta dengan menggunakan logika proposisi dan predikat

a. Karjo adalah seorang laki-laki

Jawab : laki-laki ( Karjo)

b. Karjo adalah orang jawa

Jawab : orang jawa ( Karjo)

c. Karjo lahir tahun 1840

Jawab : lahir ( Karjo, tahun 1840)

d. Setiap laki-laki pasti akan mati

Jawab : "x : laki-laki (x) –> mati (x)

e. Semua orang jawa mati pada saat Krakatau meletus tahun 1883

Jawab : "x: orang jawa(x) L meletus (Krakatau, tahun 1883) –>  mati (x)

f. Setiap orang pasti mati setelah hidup lebih dari 150 tahun

Jawab : "x: orang (x) L hidup ( >y) –>  mati (x)

g. Sekarang tahun 2010

Jawab : tahun (2010, sekarang)

h. Mati berarti tidak hidup

Jawab : Ø hidup (x) –>  mati (x)

i. Jika seseorang mati maka beberapa waktu kemudian dia pasti dinyatakan telah mati

Jawab : "x: orang(x) L waktu (y) –>  mati(x)

 

2.) Membuktikan bahwa Karjo telah mati

- Karjo lahir tahun 1840

- Sekarang tahun 2010

- Setiap orang pasti mati setelah hidup lebih dari 150 tahun

Kesimpulan : Karjo telah mati pada tahun 2010 karena telah hidup lebih dari 150 tahun

Jawab : "x: tahun (y,x) L hidup (>z) –>  mati(x)

- Karjo orang jawa

- Karjo lahir tahun 1840

- Setiap orang jawa mati pada saat Krakatau meletus tahun 1883

Kesimpulan : Karjo yang orang jawa pasti mati pada saat Krakatau meletus tahun 1883

Jawab : "x: orang jawa(x) L meletus (y,z) –>  mati(x)

Remote Procedure Call (RPC)

2 komentar

Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah server harus menyediakan layanan remote procedure. Pendekatan yang dilakuan adalah sebuah server membuka socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu harus menghubungi port yang mana, client bisa me- request kepada sebuah matchmaker pada sebuah RPC port yang tetap. Matchmaker akan memberikan port apa yang digunakan oleh prosedur yang diminta client.

RPC masih menggunakan cara primitif dalam pemrograman, yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak remote procedure. RPC menggunakan socket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah ter- install kedalam sistemnya, biasanya RPC ini digunakan untuk administrasi sistem. Sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya dari mana saja, selama sistemnya terhubung ke jaringan.

Umumnya protokol RPC yang digunakan pada saat ini adalah DCOM (Distributed Component Object Model). Saat ini ada alternatif protokol baru, yakni SOAP (Simple Object Access Protocol), yang berdasarkan pada teknologi XML.

Implementasi RPC

Sun Microsystems Open Network Computing (ONC) : RPC specification, XDR (eXternal Data Representation) standard, UDP atau TCP transport protocol.

Xerox Courier : RPC model, Data representation standard, XNS (Xerox Network Systems) SPP (Sequenced Packet Protocol) sebagai transport protocol, Apollo’s Network Computing Architecture (NCA), RPC protocol, NDR (Network Data Representation).

Kelebihan RPC

· Relatif mudah digunakan

Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan low level details seperti soket, marshalling & unmarshalling.

· Robust (Sempurna)

Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission-critical application yg memerlukan scalability, fault tolerance, & reliability.

Kekurangan RPC

· Tidak fleksibel terhadap perubahan

- Static relationship between client & server at run-time.

- Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.

· Kurangnya location transparency

- Misalnya premrogram hanya boleh melakukan pass by value, bukan pass by reference.

- Komunikasi hanya antara 1 klien & 1 server (one-to-one at a time).

- Komunikasi antara 1 klien & beberapa server memerlukan beberapa koneksi yg terpisah.

Prinsip RPC dalam program clien-server

untitled

Langkah-langkah dalam RPC

untitled1

1. Client procedure memanggil client stub secara normal

2. Client stub membuat pesan, memanggil local OS

3. Clients OS mengirim pesan ke remote OS

4. Remote OS member pesan ke server stub

5. Server stub membuka parameters, memanggil server

6. Server bekerja, mengembalikan hasil ke stub

7. Server stub mengepak itu kedalam pesan, memanggil local OS

8. Server OS mengirim pesan ke client OS

9. Client OS member pesan client stub

10. Stub membuka hasil, mengembalikan ke client

 

Contoh Implementasi RPC dengan SUN RPC

· Fungsi yg dipanggil client melalui RPC:

- bin_date_1:

No arguments.

Result in long integer: waktu saat ini, dlm jumlah detik sejak 00:00:00 GMT, January 1, 1970.

- str_date_1

Mengkonversi hasil bin_date_1 menjadi readable ASCII sring.

· Berkas yg dibuat programmer:

- Server procedure: date_proc.c

- RPC specification file: date.x

- Client main function: rdate.c

· date.x -> rpcgen ->

- Server stub: date_svc.c

- date.h

- Client stub: date_clnt.c

· Generate executable client program:

- cc o rdate rdate.c date_clnt.c lrpclib

· Generate executable server program:

- cc o date_svc date_proc.c date_svc.c lrpclib

 

http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch17s06.html

http://viyan.staff.gunadarma.ac.id/Downloads/files/11848/2_Komunikasi.pdf

Masalah Desain dalam Sistem Terdistribusi

1 komentar

Banyak proyek rekayasa perangkat lunak melibatkan otomatisasi dari "dunia nyata" sistem, yang terdiri dari interaksi entitas yang bekerja sama untuk melaksanakan tugas-tugas tertentu. Ini sistem dunia nyata sering menunjukkan kualitas intrinsik yang sejajar karakteristik yang melekat pada sistem distribusi perangkat lunak.

Salah satu kualitasnya ialah persetujuan . Sebuah sistem dunia nyata memiliki kualitas ini jika itu mencakup lebih dari satu entitas pada setiap saat, yang paling lakukan. Sebagai contoh, pertimbangkan sebuah sistem untuk paket pengiriman paket di seluruh dunia. Pada setiap waktu, sistem ini dapat mencakup banyak entitas fisik (misalnya, paket, pelanggan, dan lokasi) dan konsep-konsep abstrak (misalnya, tingkat, asal-usul, dan tujuan.) Masing-masing dapat berdiri sendiri dan perilaku secara bersamaan. Sistem distribusi perangkat lunak memberikan informasi persetujuan dengan menyalurkan objek melalui jaringan sumber daya komputasi. Sebaliknya, terpusat (single-prosesor) sistem hanya dapat mensimulasikan persetujuan.

Dalam sistem dunia nyata, satu kesatuan, seperti sebuah paket atau pelanggan, bisa gagal independen dari sisa sistem. Hal yang sama berlaku untuk sistem terdistribusi karena individu sumber daya komputasi dalam jaringan dapat gagal atau menjadi tidak terjangkau. Dalam sistem terpusat, kegagalan biasanya diperlakukan sebagai semua-atau-kondisi apa-apa.

Kualitas umum ketiga adalah dinamis, perubahan yang meningkat. Sistem dunia nyata jarang memerlukan shutdown yang lengkap untuk membuat perubahan dalam cara bahwa pekerjaan dilakukan. Bahkan, perubahan sering dianggap sebagai bagian integral dari sistem dunia nyata dan bukan proses eksternal. Dapatkah Anda gambar perusahaan perkapalan di seluruh dunia menghentikan seluruh operasi setiap kali sebuah kantor yang diperlukan untuk menambah peralatan baru atau membuka saluran distribusi baru? Situasi yang sama ada untuk sistem terdistribusi. Karena ketidakpraktisannya dari mematikan seluruh sistem terdistribusi, mekanisme untuk dinamis dan perubahan yang meningkat sering dibangun ke dalam infrastruktur.

Kemiripan antara dunia nyata dan sistem terdistribusi perangkat lunak, mungkin membawa kita untuk menyimpulkan bahwa model konseptual yang akurat yang pertama dapat dengan mudah berubah menjadi desain yang baik untuk saluran kedua. Namun, hal ini tidak benar karena beberapa halus dan tidak begitu-perbedaan halus dalam apa yang model mewakili dan karena masalah desain tambahan yang berkaitan dengan sistem terdistribusi. Secara umum, proses pergi dari analisis ke desain dalam pengembangan perangkat lunak selalu terlibat pemetaan atau transformasi model konseptual. Model yang digunakan selama analisis, terlepas dari apakah mereka formal atau informal, bertujuan untuk menjelaskan sistem dunia nyata dari masalah-domain perspektif. Konsep yang ditemukan dalam sebuah model analisis harus berhubungan langsung dengan konsep-konsep dalam sistem dunia nyata. Model perangkat lunak yang digunakan untuk desain, di sisi lain, melibatkan tingkat tambahan abstraksi dan melayani tujuan yang berbeda. Mereka menjelaskan konsep perangkat lunak, seperti objek, struktur, dan proses, yang hanya secara tidak langsung berhubungan dengan konsep-konsep dari masalah-domain. Tujuan dari desain model adalah untuk menyediakan cetak biru untuk implementasi dan kerangka kerja untuk evolusi berikutnya dari sistem. Idealnya, jarak konseptual antara analisis dan desain yang sesuai harus disimpan ke minimum.

Persyaratan untuk model konseptual yang lebih baik

Meskipun beberapa masalah di atas adalah karena alat-alat pengembangan yang tidak memadai untuk sistem terdistribusi, tidak mungkin lebih baik, lebih banyak peralatan canggih akan membuat perbedaan. Pada kenyataannya, mereka mungkin bahkan membuat masalah semakin buruk. Penggunaan yang tidak tepat alat baru sengaja dapat meningkatkan komunikasi dan sumber daya yang muncul berbagi, dan dengan demikian, lebih rumit desain. Sebuah sepenuhnya terintegrasi dan meminimalkan koleksi alat pembangunan secara substansial dapat mengurangi kompleksitas desain sistem terdistribusi. Namun, dalam pasar terbuka dengan berbagai keragaman platform dan dengan infus konstan teknologi baru, seperti lingkungan pengembangan tidak realistis. Harapan terbaik kita adalah untuk memperbaiki model konseptual sistem perangkat lunak didistribusikan. Abstraksi yang diusulkan ini harus memberikan software engineer kontrol atas keputusan desain, tapi memungkinkan mereka untuk menyembunyikan rincian ketika mereka tidak berhubungan dengan diskusi tertentu.

Kesimpulan

Dengan menambahkan abstraksi yang sesuai untuk model kita, kita juga bisa mengurangi jarak antara analisis konseptual dan desain.

Sumber : http://osm7.cs.byu.edu/ER97/workshop4/sc.html

Hello World!!

0 komentar

akhirnya buat blog juga, semoga dengan blog ini jadi rajin menulis hehe