Selasa, 10 Mei 2016

Parallel Computation 2

Pengantar Thread Programming
Dalam ilmu komputer , sebuah thread eksekusi adalah urutan terkecil instruksi diprogram yang dapat dikelola secara mandiri olehscheduler , yang biasanya bagian dari sistem operasi . Pelaksanaan benang dan proses berbeda antara sistem operasi, tetapi dalam kebanyakan kasus benang adalah komponen dari sebuah proses. Beberapa thread dapat eksis dalam sumber yang sama proses dan berbagi seperti memori , sedangkan proses yang berbeda tidak berbagi sumber daya tersebut. Secara khusus, benang dari sebuah proses berbagi instruksi (code executable) dan konteksnya (nilai-nilai variabel yang pada saat tertentu).
Pada prosesor tunggal, multithreading umumnya dilaksanakan oleh waktu mengiris (seperti dalam multitasking ), dan unit pengolahan pusat (CPU) beralih antara benang perangkat lunak yang berbeda. Ini konteks switching umumnya terjadi cukup sering bahwa pengguna merasakan benang atau tugas sebagai berjalan pada waktu yang sama. Pada multiprosesor atau multi-core sistem, benang dapat dijalankan secara bersamaan benar, dengan setiap prosesor atau inti mengeksekusi thread terpisah secara bersamaan; pada prosesor atau inti dengan benang hardware , software benang terpisah juga dapat dijalankan secara bersamaan oleh benang hardware terpisah.
Pengantar Massage Paising, Open MP (Multi Processing)
Massage Passing adalah suatu teknik bagaimana mengatur suatu alur komunikasi messaging terhadap proses pada system. Message passing dalam ilmu komputer adalah suatu bentuk komunikasi yang digunakan dalam komputasi paralel , pemrograman-berorientasi objek , dan komunikasi interprocess . Dalam model ini, proses atau benda dapat mengirim dan menerima pesan yang terdiri dari nol atau lebih byte, struktur data yang kompleks, atau bahkan segmen kode ke proses lainnya dan dapat melakukan sinkronisasi. Objek didistribusikan dan metode sistem remote doa seperti ONC RPC , CORBA , Java RMI , DCOM , SOAP , . NET Remoting , CTO , QNX Neutrino RTOS , OpenBinder , D-Bus , Unison RTOS dan serupa pesan lewat sistem.Paradigma Message passing yaitu :
  1. Banyak contoh dari paradigma sekuensial dipertimbangkan bersama-sama.
  2. Programmer membayangkan beberapa prosesor, masing-masing dengan memori, dan menulis sebuah program untuk berjalan pada setiap prosesor.
  3. Proses berkomunikasi dengan mengirimkan pesan satu sama lain
OpenMP adalah sebuah antarmuka pemrograman aplikasi (API) yang mendukung multi processingshared memory pemrograman di C, C++ dan Fortran pada berbagai arsitektur, termasuk Unix dan Microsoft Windows platform. OpenMP Terdiri dari satu set perintah kompiler,perpustakaan rutinitas, danvariabel lingkungan yang mempengaruhi run-time. Banyak Aplikasi dibangun dengan model hibrida pemrograman paralel dapat dijalankan pada komputer cluster dengan menggunakan OpenMP dan Message Passing Interface (MPI), atau lebih transparan dengan menggunakan ekstensi OpenMP non-shared memory systems.
Pengantar Pemrograman CUDA CPU
CUDA (Compute Unified Device Architecture) adalah suatu skema yang dibuat oleh NVIDIA agar NVIDIA selaku GPU(Graphic Processing Unit) mampu melakukan komputasi tidak hanya untuk pengolahan grafis namun juga untuk tujuan umum. Jadi, dengan CUDA, kita dapat memanfaatkan cukup banyak processor yang dimiliki oleh NVIDIA untuk berbagai perhitungan. GPU yang ada  saat ini seperti ATI pun sudah memiliki banyak processor di dalamnya. Pada ATI, skema yang mereka bangun disebut ATI Stream. Saat ini pemrograman paralel menjadi sangat penting karena kebutuhan kemampuan komputasi komputer yang terus meningkat seperti kemampuan multitasking dan pengolahan grafis yang andal. Metode saat ini dalam peningkatan peforma komputer juga berbeda dengan masa lampau dimana peningkatan clock dari processor yang diutamakan. Peningkatan clock juga dibatasi oleh kemampuan fisik dari perangkat digital yaitu persoalan daya dan panas.
Platform CUDA dapat diakses oleh pengembang perangkat lunak melalui library CUDA-accelerated , perintah kompiler (seperti OpenACC ), dan ekstensi untuk bahasa pemrograman standar industri, termasuk C, C++ dan Fortran . C / C++ programmer menggunakan CUDA C / C + +, yang disusun dengan “nvcc”, NVIDIA LLVM berbasis C / C++ compiler, dan Fortran programmer dapat menggunakan ‘CUDA Fortran’, yang disusun dengan PGI CUDA Fortran compiler dari The Portland Grup. Selain library, arahan compiler, CUDA C / C++ dan CUDA Fortran, platform CUDA mendukung interface komputasi lainnya, termasuk Khronos Grup ‘s OpenCL , Microsoft DirectCompute , dan C++ AMP . Pemrograman pihak ketiga juga tersedia untuk Python , Perl , Fortran , Java , Ruby , Lua , Haskell, Matlab , IDL , dan dukungan asli di Mathematica.
Dalam permainan komputer industri, GPU yang digunakan tidak hanya untuk rendering grafis tetapi juga dalam perhitungan fisika permainan (efek fisik seperti puing-puing, asap, api, cairan), contoh termasuk PhysX dan Bullet . CUDA juga telah digunakan untuk mempercepat aplikasi non-grafis dalam biologi komputasi , kriptografi dan bidang lainnya oleh urutan besarnya atau lebih.
Beberapa kelebihan dari pemrograman CUDA :
  • Tersebar membaca – kode dapat membaca dari alamat sewenang-wenang dalam memori.
  • Memori bersama – CUDA memperlihatkan cepat memori bersama wilayah (sampai 48KB per Multi-Processor) yang dapat dibagi di antara benang. Ini dapat digunakan sebagai cache dikelola pengguna, memungkinkan bandwidth yang lebih tinggi daripada yang mungkin menggunakan pencarian tekstur.
  • Download lebih cepat dan readbacks ke dan dari GPU.
  • Dukungan penuh untuk integer dan bitwise operasi, termasuk pencarian tekstur bulat.

Parallel Computation

Komputasi paralel didefinisikan sebagai penggunaan sekumpulan sumberdaya komputer secara simultan untuk menyelesaikan permasalahan komputasi. Secara prinsip komputer paralel membagi permasalahan sehingga menjadi lebih kecil untuk dikerjakan oleh setiap prosesor / CPU dalam waktu yang bersamaan/simultan / concurrent dan prinsip ini disebut paralelisme. Konsep program parallel :
–  Memerintahkan set instruksi (pandangan programmer).
–  File executable (pandangan sistem operasi)
Pada dasarnya, konsep parallel system merupakan suatu bentuk penawaran solusi dari proses computing yang terlalu berat, sehingga dapat dipecah sedemikian hingga tidak memberatkan system kerja komputer itu sendiri
Berdasarkan tingkat paralelismenya prosesor paralel dapat dibagi menjadi beberapa tingkat sebagai berikut :
  1. Komputer Array.
  2. Prosesor array : beberapa prosesor yang bekerja sama untuk mengolah set instruksi yang sama dan data yang berbeda – beda atau biasa disebut SIMD (Single Instruction-stream Multiple Data)
  3. Prosesor vektor : beberapa prosesor yang disusun seperti pipeline.
  4. Multiprosesor, yaitu sebuah sistem yang memiliki 2 prosesor atau lebih yang saling berbagi memori.
  5. Multikomputer, yaitu sebuah sistem yang memiliki 2 prosesor atau lebih yang masing-masing prosesor memiliki memori sendiri.
Jenis-Jenis Pemrosesan Paralel
Pemrosesan paralel dapat dibagi ke dalam beberapa klasifikasi, sebagai berikut :
Berdasarkan simetri penjadwalannya, pemrosesan parallel dapat dibagi dalam beberapa jenis:
a) Asymmetric Multiprocessing (ASMP)
b) Symmetric Multiprocessing (SMP)
c) ClusteringPoliteknik Telkom Sistem Komputer
Berdasarkan aliran instruksi dan datanya, pemrosesan parallel dapat dibagi dalam beberapa jenis:
a) SISD (Single Instruction on Single Data Stream)
b) SIMD (Single Instruction on Multiple Data Stream)
c) MISD (Multiple Instruction on Single Data Stream)
d) MIMD (Multiple Instruction on Multiple Data Stream)
Berdasarkan kedekatan antar prosesor, pemrosesan parallel dapat dibagi dalam beberapa jenis:
a) Multikomputer (Loosely Coupled/ local memory) dengan memori yang terdistribusi
b) Multiprosesor (Tightly Coupled/ global memory) dengan memori yang dapat digunakan bersama (shared memory)
Distributed Processing 
Yang dimaksud Distribusi Processing adalah mengerjakan semua proses pengolahan data secara bersama antara komputer pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan melalui jalur komunikasi. Setiap komputer tersebut memiliki prosesor mandiri sehingga mampu mengolah sebagian data secara terpisah, kemudian hasil pengolahan tadi digabungkan menjadi satu penyelesaian total. Jika salah satu prosesor mengalami kegagalan atau masalah yang lain akan mengambil alih tugasnya.
Contoh dari Distributed Data Processing System adalah: ATM, komputer yang dirancang untuk tugas-tugas melaksanakan proyek, analisis finansial, penjadwalan waktu dan akuntansi. Contoh lainnya, pengolahan data pada server yahoo yang tersebar hampir di seluruh dunia secara distribusi, setiap wilayah mempunyai server masing-masing. Seperti di indonesia mempunyai server tersendiri sehingga pengolahan data tidak di pusat melainkan di wilayah masing-masing.
Architectual Parallel Computer
Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.
Arsitektur paralel komputer menurut Klasifikasi Flynn’s:
SISD
Single Instruction – Single Data. Komputer ini memiliki hanya satu prosesor dan satu instruksi yang dieksekusi secara serial. Komputer ini adalah tipe komputer konvensional. Menurut mereka tipe komputer ini tidak ada dalam praktik komputer paralel karena bahkan mainframe pun tidak lagi menggunakan satu prosesor. Klasifikasi ini sekedar untuk melengkapi definisi komputer paralel. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.
SIMD
Single Instruction – Multiple Data. Komputer ini memiliki lebih dari satu prosesor, tetapi hanya mengeksekusi satu instruksi secara paralel pada data yang berbeda pada level lock-step. Komputer vektor adalah salah satu komputer paralel yang menggunakan arsitektur ini. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).
MISD
Multiple Instructions – Single Data. Teorinya komputer ini memiliki satu prosesor dan mengeksekusi beberapa instruksi secara paralel tetapi praktiknya tidak ada komputer yang dibangun dengan arsitektur ini karena sistemnya tidak mudah dipahami. Sampai saat ini belum ada komputer yang menggunakan model MISD.
MIMD
Multiple Instructions – Multiple Data. Komputer ini memiliki lebih dari satu prosesor dan mengeksekusi lebih dari satu instruksi secara paralel. Tipe komputer ini yang paling banyak digunakan untuk membangun komputer paralel, bahkan banyak supercomputer yang menerapkan arsitektur ini. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
Sistem komputer paralel dibedakan dari cara kerja memorinya menjadi shared memory dan distributed memory. Shared memory berarti memori tunggal diakses oleh satu atau lebih prosesor untuk menjalankan instruksi sedangkan distributed memory berarti setiap prosesor memiliki memori sendiri untuk menjalankan instruksi. Adapun komponen-komponen utama dari arsitektur komputer paralel cluster PC antara lain:
  1. Prosesor (CPU). Bagian paling penting dalam sistem, untuk multicore terdapat lebih dari satu core yang mengakses sebuah memori (shared memory).
  2. Bagian ini dapat diperinci lagi menjadi beberapa bagian penyusunnya seperti RAM, cache memory dan memori eksternal.
  3. Sistem Operasi. Software dasar untuk menjalankan sistem komputer.
  4. Cluster Middleware. Antarmuka antara hardware dan software.
  5. Programming Environment dan Software Tools. Software yang digunakan untuk pemrograman paralel termasuk software pendukungnya.
  6. User Interface. Software yang menjadi perantara hardware dengan user.
  7. Software berisi program permasalahan yang akan diselesaikan.
  8. Penghubung satu PC (prosesor) dengan PC yang lain sehingga memungkinkan pemanfaatan sumberdaya secara simultan.

Senin, 18 April 2016

File Sistem Terdistribusi

File Sistem Terdistribusi ( Distributed File System , disingkat DFS) adalah file sistem yang mendukung sharing files dan resources dalam bentuk penyimpanan persistent di sebuah network. File server pertama kali dibuat pada tahun 1970 dan Sun NFS (Network File System) menjadi DFS pertama yang banyak digunakan setelah awal pemunculannya di tahun 1985. DFS yang terkenal selain NFS adalah AFS (Andrew File System) dan CIFS (Common Internet File System).

Sebuah file server menyediakan file service ke client. Dari sisi client terdapat interface untuk file service dalam hal operasi primitif file, seperti membuat file (create), menghapus (delete) dan read / write file. Komponen perangkat keras utama yang mana file server mengontrolnya adalah sebuah local storage (umumnya disk drive / HDD). Ditempat itulah file-file tersimpan dan dari tempat tersebut request client meretrive file. Pada DFS client, server dan juga perangkat penyimpanan merupakan mesin terpisah dalam sebuah lingkungan terdistribusi (Intranet). Jadi, aktifitas layanan (service) dibawa melewati jaringan (network), jadi selain sistem memiliki satu data terpusat, sistem memiliki beberapa perangkat penyimpanan independent. Konfigurasi konkret dan juga implementasi dari sebuah DFS dapat beragam bentuknya. Dalam beberapa konfigurasi, server berjalan sebagai dedicated machine (layanan terpusat) atau juga menjadi server dan client. DFS dapat diimplementasikan sebagai bagian dari Sistem Operasi Terdistribusi dengan sebuah layer software yang tugasnya mengatur komunikasi antara sistem operasi konvensional dan file system.

File system yang terdistribusi mengemulasikan fungsionalitas dari file sistem tak terdistribusi untuk program client yang berjalan pada komputer remote. File sistem terdistribusi juga menyediakan hal-hal pokok untuk pengorganisasian komputer yang berbasiskan jaringan intranet.

Pengenalan File Service
File service adalah suatu  perincian  atau  pelayanan dari file system yang ditawarkan pada komputer client.  Suatu file server adalah implementasi dari file service dan berjalan pada satu atau lebih mesin. File itu sendiri berisi dari nama, data dan atribut file seperti kepemilikan file, ukuran, waktu pembuatan file dan hak akses file. File sistem merupakan mekanisme penyimpanan on-line serta untuk akses, baik data maupun program yang berada dalam system operasi.

Karakteristik dari File System
File Sistem adalah bertanggung jawab untuk pengorganisasian, penyimpanan, pencarian keterangan, penamaan, sharing atau pembagian dan protection atau perlindungan dari file-file. File berisi dari dua bagian penting yaitu data dan atribut. File sistem didesain untuk menyimpan dan mengatur banyak dan besar file dengan fasilitas untuk membuat, memberi nama dan menghapus file. File system juga bertanggung jawab untuk pengontrolan dari akses file, akses terbatas ke file oleh user yang berhak dan tipe-tipe dari akses yang diminta.

- Operasi pada file (=data + atribut)
>Create / delete
>Query / Modifikasi Atribut
>Open / Close
>Read / Write
>Akses Kontrol

- Organisasi penyimpanan
>Struktur direktori (hirarki, pathname)
>Metadata (pengaturan informasi file) : atribut file, informasi struktur direktori, Dll.

Atribut File
1. File adalah kumpulan informasi berkait yang diberi nama dan direkam pada penyimpanan sekunder. Atribut file terdir dari :
2. Nama Merupakan satu-satunya informasi yang tetap dalam bentuk yang bisa  dibaca oleh manusia (human readable form)
3. Type Dibutuhkan untuk sistem yang mendukung beberapa tipe berbeda Lokasi Merupakan pointer atau penunjuk ke device dan lokasi file pada device tersebut berada
4. Ukuran (Size) Ukuran file pada saat itu, baik dalam byte, huruf ataupun blok Proteksi Informasi mengenai kontrol akses, misalnya siapa saja yang boleh membaca, menulis dan mengeksekusi file
5. Waktu, tanggal dan identifikasi pengguna Informasi ini biasanya disimpan untuk :
     - Pembuatan file
     - Modifikasi terakhir yang dilakukan pada file
     - Penggunaan terakhir file

Atribute file
>Panjang File
>Creation Timestamp
>Read Timestamp
>Write Timestamp
>Attribute Timestamp
>Reference Count
>Owner
>Tipe File
>Daftar Akses Kontrol

Struktur File System
- Modul direktori : menghubungkan nama file dengan ID file
- Modul File : menghubungkan ID dengan file tertentu
- Modul Akses Kontrol : memeriksa permission utuk operasi yang diminta
- Modul Akses File : read / write data file atau atribut
- Modul Blok : akses dan alokasi blok disk
- Modul Perangkat : disk I/O dan buffering

Komponen File service
Komponen-komponen file service adalah terdiri dari :
*File Service
  Pengoperasian dari masing-masing file.
*Directory Service
  Management atau pengaturan direktori


>Naming Service
- Location Independence :
*File dapat dipindahkan tanpa penggantian nama
- Hal yang umum untuk penamaan file dan directori :
*Mesin + nama path e.g / machine / path atau machine : path
*Mounting File sistem secara remote kedalam hirarki local file.
*Single name space yang sama pada semua mesin.
- Dua level penamaan :

*Nama simbolik yang dilihat user dan nama binary yang dilihat oleh sistem.

Selasa, 22 Maret 2016

Remote Procedure Call


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.

Kelebihan RPC
Relatif mudah digunakan :
Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan procedure.  Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan low  level details seperti  socket, 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. Struktur Protokol Message RPC Call Message Dilakukan oleh klien, dimana meminta server untuk mengeksekusi suatu prosedur.
Terdapat nilai-nilai unsigned integer yang digunakan untuk mengidentifikasi prosedurremote yang diminta:
1. Nomor Program
2. Nomor Versi dari Program
3. Nomor Prosedur
Reply Message dikirimkan oleh server jaringan, bervariasi tergantung apakah call messages yang diminta klien diterima atau ditolak.
Mengandung informasi:
1. RPM mengeksekusi call message dengan sukses
2. Implementasi remote tidak sesuai dengan protokol yang digunakan (versi yang lebih tinggi atau lebih rendah ditolak)
3.Program remote tidak tersedia pada sistem remote
4. Program remote tidak mendukung versi yang diminta klien
5. Nomor prosedur yang diminta tidak ada
Fitur dalam RPC:
1. Batching Calls
Mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara berurutan.
2. Broadcasting Calls
Menijinkan klien untuk mengirimkan paket data ke jaringan dan menunggu balasan dari network.
3. Callback Procedures
Mengijinkan server untuk bertindak sebagai klien dan melakukan PRC callback ke proses yang dijalankan klien.
4. Select Subrutin
Memeriksa deskripsi suatu file dan messages dalamantrian untuk melihat apakah siap dibaca atau ditulis,atau ditahan. (mengijinkan server untuk menginterupsi suatu aktivitas).

Prinsip RPC dalam program Client-Server:
Skema RPC ini dilakukan juga pada proses-proses yang running di komputer  berlainan Sebelum mekanisme RPC digunakan, data  harus di-packaging ke dalam format transimisi. Langkah ini dinamakan marshalling

Proxy bertanggung jawab untuk marshalling data, kemudian mengirimkan data
dan meminta instans dari komponen (remote)
Stub menerima request, unmarshall data, dan memanggil method yang diminta. Kemudian proses mengembalikan nilai yang diinginkan .
Langkah-langkah dalam RPC:
1.  Prosedur client memanggil client stub
2.  Client stub membuat pesan dan memanggil OS client
3.  OS client mengirim pesan ke OS server
4.  OS server memberikan pesan ke server stub
5.  Server stub meng-unpack parameter-parameter untuk memanggil server
6.  Server mengerjakan operasi, dan mengembalikan hasilnya ke server stub
7.  Server stub mem-pack hasil tsb dan memanggil OS server
8.  OS server mengirim pesan (hasil) ke OS client
9.  OS client memberikan pesan tersebut ke client stub
10.  Client stub meng-unpack hasil dan mengembalikan hasil tersebut ke client
Fitur dalam RPC:
Batching Calls: Fitur Batching calls mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara sequence ( berurutan )
Broadcasting Call: Fitur Broadcasting mengijinkan klien untuk mengirimkan paket data kejaringan dan menunggu balasan dari network. FItur ini menggunakanprotokol yang berbasiskan paket data seperti UDP/IP sebagai mediumnya.Broadcast RPC membutuhkan layanan port mapper RPC untuk mengimplementasikan fungsinya.
Menggunakan select SubrutiN: Fitur ini akan memeriksa deskripsi dari suatu file dan messages dalamantrian untuk melihat apakah mereka siap untuk dibaca (diterima) atauditulis (dikirim), atau mereka dalam kondisi ditahan sementara. Prosedurini mengijinkan server untuk menginterupsi suatu aktivitas, memeriksadatanya, dan kemudian melanjutkan proses aktivitas tersebut.

Object Remote

Meskipun teknologi RPC ini relatif sudah memberikan kenyamanan bagi developer, tapi perkembangan yang terjadi di bidang pemrograman berorientasi objek akhirnya menuntut kehadiran teknologi baru. Sederet teknologi akhirnya benar-benar muncul, antara lain; RMI (Remote Method Invocation), CORBA (Common Object Request Broker Architecture), dan SOAP (Simple Object Access Protocol).

Senin, 07 Maret 2016

Tugas P1

  A.  Pengertian Komputasi
   Ilmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaankomputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). Dalam penggunaan praktis, biasanya berupa penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu.
    Bidang ini berbeda dengan ilmu komputer (computer science), yang mengkaji komputasi, komputer dan pemrosesan informasi. Bidang ini juga berbeda dengan teori dan percobaan sebagai bentuk tradisional dari ilmu dan kerja keilmuan. Dalam ilmu alam, pendekatan ilmu komputasi dapat memberikan berbagai pemahaman baru, melalui penerapan model-model matematika dalam program komputer berdasarkan landasan teori yang telah berkembang, untuk menyelesaikan masalah-masalah nyata dalam ilmu tersebut.
      Teori komputasi adalah cabang ilmu komputer dan matematika yang membahas apakah dan bagaimanakah suatu masalah dapat dipecahkan pada model komputasi, menggunakan algoritma. Bidang ini dibagi menjadi dua cabang: teori komputabilitas dan teori kompleksitas, namun kedua cabang berurusan dengan model formal komputasi.
      Untuk melakukan studi komputasi dengan ketat, ilmuwan komputer bekerja dengan abstraksi matematika dari komputer yang dinamakan model komputasi. Ada beberapa model yang digunakan, namun yang paling umum dipelajari adalah mesin Turing. Sebuah mesin Turing dapat dipikirkan sebagai komputer pribadi meja dengan kapasitas memori yang tak terhingga, namun hanya dapat diakses dalam bagian-bagian terpisah dan diskret. Ilmuwan komputer mempelajari mesin Turing karena mudah dirumuskan, dianalisis dan digunakan untuk pembuktian, dan karena mesin ini mewakili model komputasi yang dianggap sebagai model paling masuk akal yang paling ampuh yang dimungkinkan. Kapasitas memori tidak terbatas mungkin terlihat sebagai sifat yang tidak mungkin terwujudkan, namun setiap permasalahan yang "terputuskan" (decidable) yang dipecahkan oleh mesin Turing selalu hanya akan memerlukan jumlah memori terhingga. Jadi pada dasarnya setiap masalah yang dapat dipecahkan (diputuskan) oleh meisn Turing dapat dipecahkan oleh komputer yang memiliki jumlah memori terbatas.

  B.   Perkembangan Implementasi Komputasi
Implementasi Komputasi Modern pada Bidang Ekonomi
Pemrograman yang didesain khusus untuk komputasi ekonomi, dan pengembangan alat bantu dalam pendidikan komputasi ekonomi. Karena dibidang ekonomi pasti memiliki permasalahan yang harus dipecahkan oleh algoritma contohnya adalah memecahkan teori statistika untuk memecahkan permasalahan keuangan.
Salah satu contoh komputasi di bidang ekonomi adalah komputasi statistik. Komputasi statistik adalah jurusan yang mempelajari teknik pengolahan data, membuat program, dan analisis data serta teknik penyusunan sistem informasi statistik seperti penyusunan basis data, komunikasi data, sistem jaringan, dan diseminasi data statistik.

Implementasi Komputasi modern pada bidang Geografi
Geografi adalah ilmu yang mempelajari tentang lokasi serta persamaan, dan perbedaan (variasi) keruangan atas fenomena fisik, dan manusia di atas permukaan bumi. Komputasi  dalam bidang geologi biasanya di gunakan untuk peramalan cuaca, di Indonesia khususnya ada salah satu instansi Negara dengan nama BMKG (Badan Meteorologi, Klimatologi, dan Geofisika) yakni instansi negara yang meneliti mengamati tentang metereologi klimatologi kualitas udara dan geofisika supaya tetap sesuai dengan perundang undangan yang berlaku di Indonesia.

Implementasi Komputasi modern pada bidang Fisika
Implementasi komputasi modern di bidang fisika ada Computational Physics yang mempelajari suatu gabungan antara Fisika, Komputer Sains dan Matematika Terapan untuk memberikan solusi pada “Kejadian dan masalah yang kompleks pada dunia nyata” baik dengan menggunakan simulasi juga penggunaan algoritma yang tepat. Pemahaman fisika pada teori, eksperimen, dan komputasi haruslah sebanding, agar dihasilkan solusi numerik dan visualisasi / pemodelan yang tepat untuk memahami masalah Fisika.Untuk melakukan pekerjaan seperti evaluasi integral, penyelesaian persamaan differensial, penyelesaian persamaan simultan, mem-plot suatu fungsi/data, membuat pengembangan suatu seri fungsi, menemukan akar persamaan dan bekerja dengan bilangan kompleks yang menjadi tujuan penerapan fisika komputasi. Banyak perangkat lunak ataupun bahasa yang digunakan, baik MatLab, Visual Basic, Fortran, Open Source Physics (OSP), Labview, Mathematica, dan lain sebagainya digunakan untuk pemahaman dan pencarian solusi numerik dari masalah-masalah pada Fisika komputasi.

  C.   Pentingnya Komputasi Modern
Untuk memecahan masalah berdasarkan suatu inputan dengan menggunakan algoritma dimana penerapannya menggunakan berbagai teknologi yang telah berkembang seperti komputer. Dengan begitu waktu yang diperlukan untuk menemukan solusi atas masalah lebih cepat dan keakuratan dari selousi tersebut lebih tinggi dibandingkan dengan komputasi terdahulu yang umumnya menggunakan pena dan kertas maupun kapur dan batu tulis atau dikerjakan dengan menggunakan bantuan tabel.

 D.  Keterkaitan antara mobile computing dengan cloud computing
Mobile Computing adalah sebuah paradigma baru dalam kemajuan teknologi yang dapat melakukan komunikasi dengan jaringan  nirkabel sehingga user mampu melakukan perpindahan. Sekumpulan hardware, data dan perangkat lunak aplikasi yang mampu berpindah tempat. Kelas tertentu dalam sistem terdistribusi dimana beberapa node dapat bergerak bebas dan melakukan koneksi pada jaraingan yang berbeda.
Cloud computing merupakan pelengkap terbaru di dalam komputasi modern yang berbasis model dalam internet yang membuat suatu inovasi, dimana segala aktifitas komputerisasi dilakukan melalui internet : web.

Keterkaitannya yaitu:
-Mobile computing menggunakan teknologi mobile untuk menjalankannya seperti handphone, carputer dan ultra mobile PC, sedangkan grid dan cloud computing menggunakan PC pada umumnya untuk menjalankannya.
-Biaya untuk pengadaan energi bagi mobile computing cenderung lebih mahal dibanding grid dan cloud computing apabila tidak ada sumber daya listrik karena membutuhkan sumber daya pengganti yaitu baterei.
-Mobile computing tidak terlalu membutuhkan tempat yang besar untuk mengoperasikannya dibanding grid dan cloud computing karena cenderung portable dan mudah dibawa kemana saja.

-Pada mobile computing, proses komputasi cenderung dilakukan sendiri oleh user. Pada grid computing, proses komputasi dilakukan terpusat maupun tidak terpusat dimana consumer membutuhkan discovery server. Pada cloud computing, proses komputasi membutuhkan ASP dan internet sebagai media penghubung.

Sumber :
http://shinuta-mine.blogspot.co.id/2011/09/mobile-computing-komputasi-bergerak.html
http://indrianaharianja.blogspot.co.id/2013/04/hubungan-cloud-computing-dengan.html
https://ianspace.wordpress.com/2011/03/05/komputasi-modern/
http://istanateknologi.blogspot.co.id/2015/04/pengertian-komputasi-dan-teori-komputasi.html
http://bintorobagus.blogspot.co.id/2015/04/implementasi-komputasi-modern-pada.html

Selasa, 17 November 2015

Ikhlas dan Sabar



Ikhlas dan sabar. Mungkin kata – kata ini sering sekali kita dengar dalam kehidupan sehari – hari. Kata ikhlas sering kali kita dengar saat kita kehilangan sesuatu. Baik benda, ataupun seseorang. Kata ikhlas, menurut saya adalah merelakan segala sesuatu yang kita miliki, hilang atau pergi dari hidup kita. Ikhlas sering kali sangat mudah untuk diucapkan, tetapi sangat sulit untuk diterapkan karena begitu tingginya ego seseorang. Kata “Ikhlas” lekat sekali dengan kata “Sabar”. Sabar sendiri menurut saya merupakan sebuah kata yang berarti menerima semua hal buruk yang telah kita dapat dengan lapang dada.
            Kejadian yang membuat saya mengerti kata ikhlas dan sabar adalah pada saat saya kehilangan orang – orang yang saya sayangi. Bukan Pacar, bukan Kekasih, ataupun bukan juga teman. Melainkan seseorang yang telah membesarkan dan merawat saya sejak kecil. Yaitu Pho – Pho (Nenek dalam bahasa Hakka) Pho – pho bagi saya lebih dari seorang ibu. Dari saya kecil sampai beranjak remaja, saya tinggal dan diasuh oleh Pho – pho saya. Hal yang membuat saya sedih adalah saat Pho – pho saya meniggal dunia pada 15 Maret 2006. Pada saat itu saya merasa sangat sedih, tak mampu diungkapkan dengan kata –kata, karena tidak dengan sakit yang parah, Ia meninggalkan saya yang telah dirawatnya sejak kecil. Tanpa tanda, tanpa kata – kata, saya hanya bisa merenung dan merasa tak percaya. Saya sangat tak terima akan hal itu. Mengapa harus pho – pho saya? Tak ada sakit parah yang dideritanya. Saya merasa sangat tidak menerima kenyataan itu. Saya merasa marah dengan Tuhan. Hari demi hari setelah wafatnya beliau, saya masih melihat Pho – pho selalu ada di rumah, baik di dapur, ruang depan, bahkan kamar sekalipun. Saya selalu sedih jika tersadar bahwa Ia sudah tiada. Waktu terus berlalu, setelah sekian lama Ia meninggalkan saya, saya menjadi sadar, bahwa semua orang akan pergi meninggalkan kita semua. Baik dengan sakit, atau tidak dengan sakit. Saya pun menyadari bahwa mengikhlaskan dan tetap sabar akan kehilangan seseorang yang kita kasihi, akan lebih baik dan memberikan ketengan bagi dia.



Legiun Veteran Republik Indonesia



Struktur Organisasi LVRI terdiri atas :
1.   Struktural Tetap
      a.   Dewan Pimpinan.
      b.   Dewan Pertimbangan.
      c.   Anak Organisasi.
      d.   Badan Pendukung.

2.   Struktural Tidak Tetap (Adhoc)
      a.   Dewan Kehormatan DPP LVRI
      b.   Tim Tanda Penghargaan LVRI
      c.   Tim Ahli

3.   Non Struktural
      a.  PIVERI
      b.  PPM

Susunan Organisasi DPP LVRI terdiri dari:
1.    Ketua Umum
2.    Wakil Ketua Umum I dan II
3.    Sekretariat Jenderal
4.    Departemen Kejuangan
5.    Departemen Hubungan Antar Lembaga
6.    Departemen Organisasi
7.    Departemen Kesejahteraan
8.    Departemen Perencanaan Umum dan Anggaran
9.    Departemen Validasi
10.   Bendahara
11.   Bantuan Hukum
12.   Hubungan Masyarakat


Tugas Pokok LVRI:
  1.   Menghayati, mengamalkan dan mengamankan Pancasila dengan tujuan untuk menjaga kelestarian serta pewarisannya kepada generasi muda sebagai penerus cita–cita Negara Kesatuan Republik Indonesia.
  2.   Menangkal semua paham/ajaran yang berten-tangan dengan Pancasila.
  3.   Memperjuangkan terlaksananya undang–undang dan peraturan perundang–undangan yang mengatur pembinaan dan pengawasan terhadap massa Veteran Republik Indonesia dalam rangka berpartisipasi sosial serta kerja sama dengan Pemerintah.
  4.  Memberikan bimbingan dan perlindungan terhadap kegiatan Legiun Veteran Republik Indonesia di segala bidang.
  5. Mengikutsertakan para anggota beserta keluarganya sesuai dengan kemampuan dan bakatnya dalam kegiatan pembangunan, koperasi maupun usaha swasta atau usaha lain yang tidak bertentangan dengan peraturan perundang – undangan yang berlaku.
  6.   Merehabilitasi dan meningkatkan kemampuan kerja cacat Veteran Republik Indonesia untuk mendapatkan atau menciptakan kondisi seperti yang didapat oleh mereka yang non cacat.
  7.  Mengusahakan pendidikan dan latihan bagi anggota dan keluarganya dalam rangka pening-katan kemampuan sumber daya manusia serta pemupukan kepribadian dan kesadaran ber-negara dan bela negara.
  8. Meningkatkan usaha kesejahteraan bagi ang-gota dan keluarganya.
  9. Memelihara hubungan kerjasama dan kemitraan dengan organisasi Veteran negara lain sejalan dengan politik luar negeri yang bebas dan aktif bagi kepentingan Negara Kesatuan Republik Indonesia.
  10. Memupuk persatuan dan kesatuan, serta jiwa patriot bangsa sesuai jiwa, semangat dan nilai – nilai kejuangan 1945.

Sistem Dasar Penggajian Anggota Legiun Veteran Republik Indonesia:
Bagi seorang Veteran Pejuang Kemerdekaan Republik Indonesia yang berbakti dalam masa Revolusi fisik yang menjadi pegawai Negeri, maka masa baktinya selama itu diperhitungkan dua kali lipat sebagai masa kerja yang diperhitungkan untuk penetapan gaji, sepanjang ia tidak kehilangan haknya sebagai pegawai Negeri. Berbeda dengan maksud dan isi pasal 7 Undang-undang No. 75 tahun 1957 - Lembaran Negara tahun 1957 No. 162 yang mengakui masa-berbakti dengan perhitungan dua kali lipat sebagai masa dinas hatiya untuk perhitungan pensiun (yang telah diganti dengan Undang-undang No. 15 tahun 1965 - Lembaran-Negara tahun 1965 No. 76), maka diadakanlah perubahan mengenai masa-berbakti Veteran Pejuang Kemerdekaan Republik Indonesia yaitu berupa pengakuan dengan perhitungan dua kali lipat dari masa-berbakti tersebut sebagai masa-kerja penuh guna penetapan gaji sebagai pegawai Negeri, dengan maksud agar benar-benar dirasakan adanya penghargaan terhadap masa-berbakti secara nyata.

Komentar :
Organisasi Legiun Veteran Republik Indonesia merupakan sebuah organisasi dibawah Kementrian Pertahanan Republik Indonesia. Dalam organisasi tersebut mengayomi seluruh veteran – veteran yang ada di seluruh tanah air, guna menigkatkan kesejahteraan anggota serta tetap menjaga komunikasi diantara sesame veteran baik di dalam negri maupun luar negri. Organisasi ini sangatlah berguna bagi masyarakat luas guna mengetahui apa arti nasionalisme dan semangat juang yang disosialisasikan oleh anggota – anggota LVRI di serluruh Indonesia. LVRI dalam kehidupan bernegara sangatlah penting, karena organisasi ini mengingatkan bagi seluruh masyarakat akan pengorbanan para pahlawan kita pada masa dulu berjuang.
Bayangkanlah bila tidak ada organisasi LVRI, mungkin generasi – generasi muda hanya bisa melihat sejarah perjuangan bangsa ini hanya dari media – media digital saja, dan belum tentu semua sejarah itu benar. Maka dari itu Organisasi LVRI ini sangat penting untuk menumbuhkan ke seluruh generasi muda Indonesia rasa nasionalisme dan rasa juang yang tinggi untuk mempertahankan Negara ini dari berbagai ancaman yang akan menghancurkan ideologi Pancasila dan menghancurkan Negara.


Sumber :