Tuesday, June 10, 2014

Komputasi dan Paralel Processing

menurut http://belajar-pemrograman2.blogspot.com/2013/03/komputasi-modern.html

Komputasi Modern merupakan sebuah sistem yang akan menyelesaikan masalah matematis menggunakan komputer dengan cara menyusun algoritma yang dapat dimengerti oleh komputer yang berguna untuk menyelesaikan suatu masalah.  Dalam komputasi modern terdapat perhitungan dan pencarian solusi dari masalah. Perhitungan dari komputasi modern adalah akurasi, kecepatan, problem, volume dan besar kompleksitas.

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.

Komputansi modern mempunyai karakteristik komputasi modern yang terdiri atas 3 macam, yaitu :
1. Komputer-komputer penyedia sumber daya bersifat heterogenous karena terdiri dari berbagai jenis perangkat keras, sistem operasi, serta aplikasi yang terpasang.
2.    Komputer-komputer terhubung ke jaringan yang luas dengan kapasitas bandwidth yang beragam.
3.  Komputer maupun jaringan tidak terdedikasi, bisa hidup atau mati sewaktu-waktu tanpa jadwal yang jelas.

Jenis-jenis komputasi modern :

1. Mobile computing
Mobile computing atau komputasi bergerak memiliki beberapa penjelasan, salah satunya komputasi bergerak merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel dan mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel.

Dan berdasarkan penjelasan tersebut, untuk kemajuan teknologi ke arah yang lebih dinamis membutuhkan perubahan dari sisi manusia maupun alat. Dan dapat dilihat contoh dari perangkat komputasi bergerak seperti GPS, juga tipe dari komputasi bergerak seperti smart phone, dan lain sebagainya.

2. Grid computing
Komputasi grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan masalah komputasi skala besar.

3. Cloud computing
Komputasi cloud merupakan gaya komputasi yang terukur dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet.


Dampak adanya komputasi modern

Salah satu dampak dari adanya komputasi modern adalah dapat membantu manusia untuk menyelesaikan masalah-masalah yang kompleks dengan menggunakan computer. Salah satu contohnya adalah biometric. Biometric berasal dari kata Bio dan Metric. Kata bio diambil dari bahasa yunani kuno yang berarti Hidup sedangkan Metric juga berasal dari bahasa yunani kuno yang berarti ukuran, jadi jika disimpulkan biometric berarti pengukuran hidup.

Tapi secara garis besar biometric merupakan pengukuran dari statistic analisa data biologi yang mengacu pada teknologi untuk menganalisa karakteristik suatu tubuh ( individu ). Nah dari penjelasan tersebut sudah jelas bahwa Biometric menggambarkan pendeteksian dan pengklasifikasian dari atribut fisik. Terdapat banyak teknik biometric yang berbeda, diantaranya:

- Pembacaan sidik jari / telapak tangan
- Geometri tangan
- Pembacaan retina / iris
- Pengenalan suara
- Dinamika tanda tangan.

menurut http://soulofmine.wordpress.com/2011/04/01/parallel-processing/

PARALLEL PROCESSING

Pengertian

Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya.

Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanyadiperlukan 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.

Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.

Komputasi paralel membutuhkan:

· algoritma

· bahasa pemrograman

· compiler

Sebagai besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai lebih dari satu. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapat melakukan parallel processing dengan menghubungkannya dengan komputer lain pada jaringan. Namun, parallel processing ini memerlukan software canggih yang disebut distributed processing software.

Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga parallel computing.

Contoh struktur pengiriman permintaan dan jawaban dari parallel processing

Aristektur Komputer Parallel

Taksonomi Flynn dan model pemrosesan parallel

Keempat kelompok komputer tersebut adalah :

1. Komputer SISD (Single Instruction stream-Single Data stream)

Pada komputer jenis ini semua instruksi dikerjakan terurut satu demi satu, tetapi juga dimungkinkan adanya overlapping dalam eksekusi setiap bagian instruksi (pipelining). Pada umumnya komputer SISD berupa komputer yang terdiri atas satu buah pemroses (single processor). Namun komputer SISD juga mungkin memiliki lebih dari satu unit fungsional (modul memori, unit pemroses, dan lain-lain), selama seluruh unit fungsional tersebut berada dalam kendali sebuah unit pengendali. Skema arsitektur global komputer SISD dapat dilihat pada gambar .1 (a).

2. Komputer SIMD (Single Instruction stream-Multiple Data stream)

Pada komputer SIMD terdapat lebih dari satu elemen pemrosesan yang dikendalikan oleh sebuah unit pengendali yang sama. Seluruh elemen pemrosesan menerima dan menjalankan instruksi yang sama yang dikirimkan unit pengendali, namun melakukan operasi terhadap himpunan data yang berbeda yang berasal dari aliran data yang berbeda pula. Skema arsitektur global komputer SIMD dapat dilihat pada gambar .1 (b).

3. Komputer MISD (Multiple Instruction stream-Single Data stream)

Komputer jenis ini memiliki n unit pemroses yang masing-masing menerima dan mengoperasikan instruksi yang berbeda terhadap aliran data yang sama, dikarenakan setiap unit pemroses memiliki unit pengendali yang berbeda. Keluaran dari satu pemroses menjadi masukan bagi pemroses berikutnya. Belum ada perwujudan nyata dari komputer jenis ini kecuali dalam bentuk prototipe untuk penelitian. Skema arsitektur global komputer MISD dapat dilihat pada gambar .1 (c).

4. Komputer MIMD (Multiple Instruction stream-Multiple Data stream)

Pada sistem komputer MIMD murni terdapat interaksi di antara n pemroses. Hal ini disebabkan seluruh aliran dari dan ke memori berasal dari space data yang sama bagi semua pemroses. Komputer MIMD bersifat tightly coupled jika tingkat interaksi antara pemroses tinggi dan disebut loosely coupled jika tingkat interaksi antara pemroses rendah.

Paralel prosessing komputasi adalah proses atau pekerjaan komputasi di komputer dengan memakai suatu bahasa pemrograman yang dijalankan secara paralel pada saat bersamaan. Secara umum komputasi paralel diperlukan untuk meningkatkan kecepatan komputasi bila dibandingkan dengan pemakaian komputasi pada komputer tunggal.

Berikut ini adalah gambar perbedaan antara komputasi tunggal dengan parallel komputasi :

Komputasi Tunggal / serial
Komputasi Paralel
Message Passing Interface (MPI).

MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel. Proses yang dijalankan oleh sebuah aplikasi dapat dibagi untuk dikirimkan ke masing – masing compute node yang kemudian masing – masing compute node tersebut mengolah dan mengembalikan hasilnya ke komputer head node. Untuk merancang aplikasi paralel tentu membutuhkan banyak pertimbangan – pertimbangan diantaranya adalah latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor.

MPI ini merupakan standard yang dikembangkan untuk membuat aplikasi pengirim pesan secara portable. Sebuah komputasi paralel terdiri dari sejumlah proses, dimana masing-masing bekerja pada beberapa data lokal. Setiap proses mempunyai variabel lokal, dan tidak ada mekanisme suatu proses yang bisa mengakses secara langsung memori yang lain. Pembagian data antar proses dilakukan dengan message passing, yaitu dengan mengirim dan menerima pesan antar proses.

MPI menyediakan fungsi-fungsi untuk menukarkan antar pesan. Kegunaan MPI yang lain adalah

1. menulis kode paralel secara portable,

2. mendapatkan performa yang tinggi dalam pemrograman paralel, dan

3. menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak begitu cocok dengan model data paralel.

PVM (Parallel Virtual Machine)

Adalah paket software yang mendukung pengiriman pesan untuk komputasi parallel antar komputer. PVM dapat berjalan diberbagai macam variasi UNIX atau pun windows dan telah portable untuk banyak arsitektur seperti PC, workstation, multiprocessor dan superkomputer.

Sistem PVM terbagi menjadi dua. Pertama adalah daemon, pvmd, yang berjalan pada mesin virtual masing-masing komputer. Mesin virtual akan dibuat, ketika User mengeksekusi aplikasi PVM. PVM dapat dieksekusi melalui prompt UNIX disemua host. Bagian kedua adalah library interface rutin yang mempunyai banyak fungsi untuk komunikasi antar task . Library ini berisikan rutin yang dapat dipanggil untuk pengiriman pesan, membuat proses baru, koordinasi task dan konfigurasi mesin virtual.

Salah aturan main yang penting dalam PVM adalah adanya mekanisme program master dan slave/worker. Programmer harus membuat Kode master yang menjadi koordinator proses dan Kode slave yang menerima, menjalankan, dan mengembalikan hasil proses ke komputer master. Kode master dieksekusi paling awal dan kemudian melahirkan proses lain dari kode master. Masing-masing program ditulis menggunakan C atau Fortran dan dikompilasi dimasing-masing komputer. Jika arsitektur komputer untuk komputasi paralel semua sama, (misalnya pentium 4 semua), maka program cukup dikompilasi pada satu komputer saja. Selanjutnya hasil kompilasi didistribusikan kekomputer lain yang akan menjadi node komputasi parallel. Program master hanya berada pada satu node sedangkan program slave berada pada semua node.

Komunikasi dapat berlangsung bila masing-masing komputer mempunyai hak akses ke filesystem semua komputer. Akses kefile system dilakukan melalui protokol rsh yang berjalan di unix atau windows. Berikut adalah langkah pengaturan pada masing-masing komputer :

1. Buat file hostfile yang berisi daftar node komputer dan nama user yang akan dipakai untuk komputasi parallel. Bila nama user pada semua komputer sama misalnya nama user riset pada komputer C1, C2,C3 dan C4, maka hostfile ini boleh tidak ada. Hostfile ini dapat digunakan bila nama user di masing-masing komputer berbeda.

2. Daftarkan IP masing-masing komputer pada file /etc/hosts/hosts.allow dan /etc/hosts/hosts.equiv.

3. Penambahan dan penghapusan host secara dinamis dapat dilakukan melalui konsole PVM. Bila IP tidak didefinisikan pada hostfile¸ cara ini dapat digunakan.

Program PVM terdiri dari master dan slave, dimana program master dieksekusi paling awal dan kemudian melahirkan proses lain. PVM memanggil rutin pvm_spawn() untuk melahirkan satu atau dua proses lebih yang sama. Fungsi-fungsi untuk PVM versi bahasa C mempunyai rutin awalan pvm. Pengiriman dan penerimaan task diidentifikasi dengan TID (Task Identifier). TID ini bersifat unik dan digenerate oleh pvmd lokal. PVM berisi beberapa rutine yang mengembalikan nilai TID sehingga aplikasi user dapat mengidentifikasi task lain disistem.

Secara umum, langkah implementasi komputasi parallel sebagai berikut :

1. Jalankan PVM daemon pada setiap mesin dalam cluster

2. Jalankan program master pada master daemon

3. Master daemon akan menjalankan proses slave.

Hubungan antara komputasi modern dengan paralel processing

Komputasi Paralel merupakan teknik untuk melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer yang independen secara bersamaan. Biasanya digunakan untuk kapasitas yang pengolahan data yang sangat besar (lingkungan industri, bioinformatika dll) atau karena tuntutan komputasi yang banyak. Pada kasus yang kedua biasanya ditemukannya kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimai komputasi) dll. Untuk melakukan berbagai jenis komputasi paralel diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang nantinya dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan suatu masalah. Untuk itu maka digunakannya perangkat lunak pendukung yang biasa disebut middleware yang berperan untuk mengatur distribusi antar titik dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Salah satu middleware yang asli dikembangkan di Indonesia adalah OpenPC yang dipelopori oleh GFTK LIPI dan diimplementasikan di LIPI Public Center.

Komputasi paralel berbeda dengan multitasking. Multitasking itu sendiri adalah komputer dengan processor tunggal yang dapat mengeksekusi beberapa tugas secara bersamaan. Sedangkan komputasi paralel menggunakan beberapa processor atau komputer. Selain itu komputasi paralel tidak menggunakan arsitektur Von Neumann. Untuk lebih memperjelas lebih dalam mengenai perbedaan komputasi tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan beberapa processor), maka kita harus mengetahui 4 model komputasi yang digunakan, yaitu:
SIMD
SIMD
MISD
MIMD

Dalam upaya lebih murah pengolahan komputasi paralel menyediakan alternatif pilihan yang layak. Waktu idle siklus prosesor di seluruh jaringan dapat digunakan secara efektif oleh perangkat lunak komputasi terdistribusi yang canggih. Pengolahan paralel istilah digunakan untuk mewakili kelas besar teknik yang digunakan untuk memberikan tugas pengolahan simultan data untuk tujuan meningkatkan kecepatan komputasi dari sistem komputer.

Kelebihan:
• waktu eksekusi lebih cepat.
• throughput jadi lebih tinggi.

Kerugian:
• perangkat keras lainnya yang dibutuhkan.
• kebutuhan daya juga lebih.
• Tidak baik untuk daya rendah dan perangkat mobile.
(parallel processing adalah salah satu teknik komputasi modern).

http://gina-itsme.blogspot.com/2013/06/parallel-processing-dan-hubungan-dengan.html
http://herman-tempatbacaansantai.blogspot.com/2013/06/hubungan-antara-komputasi-modern-dan.html

Keadilan

menurut : http://id.wikipedia.org/wiki/Keadilan

Keadilan adalah kondisi kebenaran ideal secara moral mengenai sesuatu hal, baik menyangkut benda atau orang. Menurut sebagian besar teori, keadilan memiliki tingkat kepentingan yang besar. John Rawls, filsuf Amerika Serikat yang dianggap salah satu filsuf politik terkemuka abad ke-20, menyatakan bahwa "Keadilan adalah kelebihan (virtue) pertama dari institusi sosial, sebagaimana halnya kebenaran pada sistem pemikiran". Tapi, menurut kebanyakan teori juga, keadilan belum lagi tercapai: "Kita tidak hidup di dunia yang adil". Kebanyakan orang percaya bahwa ketidakadilan harus dilawan dan dihukum, dan banyak gerakan sosial dan politis di seluruh dunia yang berjuang menegakkan keadilan. Tapi, banyaknya jumlah dan variasi teori keadilan memberikan pemikiran bahwa tidak jelas apa yang dituntut dari keadilan dan realita ketidakadilan, karena definisi apakah keadilan itu sendiri tidak jelas. keadilan intinya adalah meletakkan segala sesuatunya pada tempatnya

menurut : http://jamaluddinmahasari.wordpress.com/2012/04/22/pengertian-keadilan-diambil-dari-pendapat-para-ahli/

Keadilan merupakan suatu hal yang abstrak, bagaimana mewujudkan suatu keadilan jika tidak mengetahui apa arti keadilan. Untuk itu perlu dirumuskan definisi yang paling tidak mendekati dan dapat memberi gambaran apa arti keadilan. Definisi mengenai keadilan sangat beragam, dapat ditunjukkan dari berbagai pendapat yang dikemukakan oleh para pakar di bidang hukum yang memberikan definisi berbeda-beda mengenai keadilan.

1. Keadilan menurut Aristoteles (filsuf yang termasyur) dalam tulisannya Retorica membedakan keadilan dalam dua macam :

Keadilan distributif atau justitia distributiva; Keadilan distributif adalah suatu keadilan yang memberikan kepada setiap orang didasarkan atas jasa-jasanya atau pembagian menurut haknya masing-masing. Keadilan distributif berperan dalam hubungan antara masyarakat dengan perorangan.
Keadilan kumulatif atau justitia cummulativa; Keadilan kumulatif adalah suatu keadilan yang diterima oleh masing-masing anggota tanpa mempedulikan jasa masing-masing. Keadilan ini didasarkan pada transaksi (sunallagamata) baik yang sukarela atau tidak. Keadilan ini terjadi pada lapangan hukum perdata, misalnya dalam perjanjian tukar-menukar.
2. Keadilan menurut Thomas Aquinas (filsuf hukum alam), membedakan keadilan dalam dua kelompok :

Keadilan umum (justitia generalis); Keadilan umum adalah keadilan menururt kehendak undang-undang, yang harus ditunaikan demi kepentingan umum.
Keadilan khusus; Keadilan khusus adalah keadilan atas dasar kesamaan atau proporsionalitas. Keadilan ini debedakan menjadi tiga kelompok yaitu :
Keadilan distributif (justitia distributiva) adalah keadilan yang secara proporsional yang diterapkan dalam lapangan hukum publik secara umum.
Keadilan komutatif (justitia cummulativa) adalah keadilan dengan mempersamakan antara prestasi dengan kontraprestasi.
Keadilan vindikativ (justitia vindicativa) adalah keadilan dalam hal menjatuhkan hukuman atau ganti kerugian dalam tindak pidana. Seseorang dianggap adil apabila ia dipidana badan atau denda sesuai dengan besarnya hukuman yang telah ditentukan atas tindak pidana yang dilakukannya.
3. Keadilan menurut Notohamidjojo (1973: 12), yaitu :

Keadilan keratif (iustitia creativa); Keadilan keratif adalah keadilan yang memberikan kepada setiap orang untuk bebas menciptakan sesuatu sesuai dengan daya kreativitasnya.
Keadilan protektif (iustitia protectiva); Keadilan protektif adalah keadilan yang memberikan pengayoman kepada setiap orang, yaitu perlindungan yang diperlukan dalam masyarakat.
4. Keadilan menurut John Raws (Priyono, 1993: 35), adalah ukuran yang harus diberikan untuk mencapai keseimbangan antara kepentingan pribadi dan kepentingan bersama. Ada tiga prinsip keadilan yaitu : (1) kebebasan yang sama yang sebesar-besarnya, (2) perbedaan, (3) persamaan yang adil atas kesempatan 8. Pada kenyataannya, ketiga prinsip itu tidak dapat diwujudkan secara bersama-sama karena dapat terjadi prinsip yang satu berbenturan dengan prinsip yang lain. John Raws memprioritaskan bahwa prinsip kebebasan yang sama yang sebesar-besarnya secara leksikal berlaku terlebih dahulu dari pada prinsip kedua dan ketiga.

5. Keadilan dari sudut pandang bangsa Indonesia disebut juga keadilan sosial, secara jelas dicantumkan dalam pancasila sila ke-2 dan ke-5 9, serta UUD 1945. Keadilan adalah penilaian dengan memberikan kepada siapapun sesuai dengan apa yang menjadi haknya, yakni dengan bertindak proposional dan tidak melanggar hukum. Keadilan berkaitan erat dengan hak, dalam konsepsi bangsa Indonesia hak tidak dapat dipisahkan dengan kewajiban. Dalam konteks pembangunan bangsa Indonesia keadilan tidak bersifat sektoral tetapi meliputi ideologi, EKPOLESOSBUDHANKAM. Untuk menciptakan masyarakat yang adil dan makmur. Adil dalam kemakmuran dan makmur dalam keadilan.

6. Keadilan menurut  Ibnu Taymiyyah (661-728 H) adalah memberikan sesuatu kepada setiap anggota masyarakat sesuai dengan haknya yang harus diperolehnya tanpa diminta; tidak berat sebelah atau tidak memihak kepada salah satu pihak; mengetahui hak dan kewajiban, mengerti mana yang benar dan mana yang salah, bertindak jujur dan tetap menurut peraturan yang telah ditetapkan. Keadilan merupakan nilai-nilai kemanusiaan yang asasi dan menjadi pilar bagi berbagai aspek kehidupan, baik individual, keluarga, dan masyarakat. Keadilan tidak hanya menjadi idaman setiap insan bahkan kitab suci umat Islam menjadikan keadilan sebagai tujuan risalah samawi.

menurut saya : Keadilan adalah bagaimana memperlakukan setiap orang sesuai dengan sebagaimana mestinya. Karena pada hakikatnya setiap orang pun juga punya kelebihan masing- masing, punya kekurangan masing- masing, dan setiap orang itu berada pada kondisi yang berbeda. Maka adil bukanlah dilihat dari memberikan sesuatu sama rata, melainkan benar- benar sesuai dengan kondisi orang tersebut. Adil pun penerapannya bisa sangat banyak, misalkan saja seorang Ibu yang harus adil terhadap anak- anaknya, seorang pimpinan perusahaan harus adil terhadap rekan- rekan kerjanya, seorang Guru harus adil pada setiap muridnya, seorang Pemimpin Bangsa harus adil kepada rakyatnya. Penerapan adil itu tidak bisa diukur dari suatu nominal, tetapi lebih kepada pemberian sesuatu kepada seseorang yang memang harus benar- benar sesuai dengan kemampuan/ kondisi orang itu.