Pages

Selasa, 10 Juni 2014

Artikel Pararel Computing



Artikel Tentang Komputasi dan Komputasi Pararel
1.   Komputasi
Komputasi adalah sebuah istilah umum untuk segala jenis pemrosesan informasi untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Komputasi merupakan sebuah subjek dari Komputer Sains, yang menganalisa apa yang bisa maupun tidak bisa dilakukan secara komputasi. Hal ini ialah apa yang disebut dengan teori komputasi, suatu sub-bidang dari ilmu komputer dan matematika.
Secara umum iIlmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). Pembelajaran dari teori komputasi terfokus untuk menjawab pertanyaan pokok tentang hal apa saja yang bisa dilakukan komputasi terhadapnya dan ketersediaan resource (sumber daya) yang dibutuhkan untuk melakukan komputasi tersebut. Untuk menjawab pertanyaan pertama, computability theory (teori komputabilitas) menguji masalah-masalah komputasi mana yang dapat dipecahkan oleh berbagai model komputasi. Pertanyaan kedua dialamatkan untuk teori kompleksitas komputasi, yang mempelajari waktu dan biaya yang berhubungan dengan pemecahan masalah komputasi. 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.

2.   Pararel Computing
Pararel Computing atau 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.
Komputer dikatakan sebagai mesin komputasi paralel jika memenuhi beberapa syarat berikut ini:
-Data yang diproses dipecah menjadi bagian-bagian terpisah yang bekerja secara independen dan terus-menerus.
- Proses pengeksekusian instruksi ganda. Sehingga dalam sekali waktu, bisa dihasilkan 2 atau lebih suatu output data. Untuk lebih detilnya bisa dibaca pada sub bab taksonomi Flynn. Yang dalam hal ini sangat berbeda dengan paradigma perkembangan pengolahan data yang berkisar pelebaran jalur data, bukan penjamakan instruksi
- Dapat menyelesaikan tugas lebih cepat daripada dengan perangkat serial.
Distributed computing
Merupakan sebuah sistem komputer dengan memori terdistribusi, dimana masing-masing elemen pemrosesan dihubungkan oleh jaringan.
Architectural parallel computer
Michael J. Flynn menciptakan satu diantara sistem klasifikasi untuk komputer dan program paralel, yang dikenal dengan sebutan Taksonomi Flynn. Flynn mengelompokkan komputer dan program berdasarkan banyaknya set instruksi yang dieksekusi dan banyaknya set data yang digunakan oleh instruksi tersebut.
1. SISD (Single Instruction stream, Single Data stream) 
      Komputer tunggal yang mempunyai satu unit kontrol, satu unit prosesor dan satu unit     memori Instruksi dilaksanakan secara berurut tetapi boleh juga overlap dalam tahapan eksekusi (overlap) Satu alur instruksi didecode untuk alur data tunggal.
2. SIMD (Single Instruction stream, Multiple Data stream)
Komputer yang mempunyai beberapa unit prosesor di bawah satu supervisi satu unit common control. Setiap prosesor menerima instruksi yang sama dari unit kontrol, tetapi beroperasi pada data yang berbeda.
     3. MISD (Multiple Instruction stream, Single Data stream)
      Sampai saat ini struktur ini masih merupakan struktur teoritis dan belum ada komputer dengan model ini.
4. MIMD (Multiple Instruction stream, Multiple Data stream)
Organisasi komputer yang memiliki kemampuan untuk memproses beberapa program dalam waktu yang sama. Pada umumnya multiprosesor dan multikomputer termasuk dalam  kategori ini.
OpenMP (Open Multi-Processing) adalah sebuah antarmuka pemrograman aplikasi (API) yang mendukung multi processing shared 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, dan variabel 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.
Sejarah OpenMP dimulai dari diterbitkannya API pertama untuk Fotran 1.0 pada Oktober 1997 oleh OpenMP Architecture Review Board (ARB). Oktober tahun berikutnya OpenMP Architecture Review Board (ARB) merilis standart C / C++. Pada tahun 2000 mengeluarkan versi 2.0 untuk fotran dan poda tahun 2002 dirilis versi 2.0 untuk C / C++. Pada tahun 2005 dirilis versi 2.5 yang merupakan pengabungan fotran, C, dan C++/ pada mei 2008 versi 3.0 yang terdapat didalmnya konsept tasks dan task construct.
OpenMP mengimplementasi multithreading. Bagian kode yang akan dijalankan secara parallel ditandai sesuai dengan Preprocessor directif sehingga akan membuat thread-thread sebelum dijalnkan. Setiap thread memiliki id yang di buat mengunakan fungsi ( omp_get_thread_num() pada C/C++ dan OMP_GET_THREAD_NUM() pada Fortran). Secara default, setiap thread mengeksekusi kode secara parallel dan independent. "Work-sharing constructs" dapat dapat digunakan untuk membagi tugas antar thread sehingga setiap thread menjalankan sesuai bagian alokasi kodenya. Fungsi OpenMP berada pada file header yang berlabel “omp.h” di C / C++

Multicore gpu cuda
        Sebuah GPU (Graphical Processing Unit) pada awalnya adalah sebuah prosesor yang berfungsi khusus untuk melakukan rendering pada kartu grafik saja, tetapi seiring dengan semakin meningkatnya kebutuhan rendering, terutama untuk mendekati waktu proses yang realtime /sebagaimana kenyataan sesungguhnya, maka meningkat pula kemampuan prosesor grafik tersebut. akselerasi peningkatan teknologi GPU ini lebih cepat daripada peningkatan teknologi prosesor sesungguhnya (CPU), dan pada akhirnya GPU menjadi General Purpose, yang artinya tidak lagi hanya untuk melakukan rendering saja melainkan bisa untuk proses komputasi secara umum.
penggunaan Multi GPU dapat mempercepat waktu proses dalam mengeksekusi program karena arsitekturnya yang natively parallel. Selain itu Peningkatan performa yang terjadi tidak hanya berdasarkan kecepatan hardware GPU saja, tetapi faktor yang lebih penting adalah cara membuat kode program yang benarbenar bisa efektif berjalan pada Multi GPU.

     CUDA merupakan teknologi anyar dari produsen kartu grafis Nvidia, dan mungkin belum banyak digunakan orang secara umum. Kartu grafis lebih banyak digunakan untuk menjalankan aplikasi game, namun dengan teknologi CUDA ini kartu grafis dapat digunakan lebih optimal ketika menjalankan sebuah software aplikasi. Fungsi kartu grafis Nvidia digunakan untuk membantu Processor (CPU) dalam melakukan kalkulasi dalam proses data.
      CUDA merupakan singkatan dari Compute Unified Device Architecture, didefinisikan sebagai sebuah arsitektur komputer parallel, dikembangkan oleh Nvidia. Teknologi ini dapat digunakan untuk menjalankan proses pengolahan gambar, video, rendering 3D, dan lain sebagainya. VGA – VGA dari Nvidia yang sudah menggunakan teknologi CUDA antara lain : Nvidia GeForce GTX 280, GTX 260,9800 GX2, 9800 GTX+,9800 GTX,9800 GT,9600 GSO, 9600 GT,9500 GT,9400 GT,9400 mGPU,9300 mGPU,8800 Ultra,8800 GTX,8800 GTS,8800 GT,8800 GS,8600 GTS,8600 GT,8500 GT,8400 GS, 8300 mGPU, 8200 mGPU, 8100 mGPU, dan seri sejenis untuk kelas mobile (VGA notebook).
Singkatnya, CUDA dapat memberikan proses dengan pendekatan bahasa C, sehingga programmer atau pengembang software dapat lebih cepat menyelesaikan perhitungan yang komplek. Bukan hanya aplikasi seperti teknologi ilmu pengetahuan yang spesifik. CUDA sekarang bisa dimanfaatkan untuk aplikasi multimedia. Misalnya meng-edit film dan melakukan filter gambar. Sebagai contoh dengan aplikasi multimedia, sudah mengunakan teknologi CUDA. Software TMPGenc 4.0 misalnya membuat aplikasi editing dengan mengambil sebagian proces dari GPU dan CPU. VGA yang dapat memanfaatkan CUDA hanya versi 8000 atau lebih tinggi.

Komentar Pribadi
        Dengan adanya kemampuan untuk komputasi maka pekerjaan yang dilakukan akan semakin mudah dan akan menghemat waktu pengerjaan. Karena komputasi pararel menggunakan teknologi yang bisa dibilang cukup canggih dan komputasi ini diterapkan pada super computer, dimana super computer ini digunakan oleh negara-negara maju seperti Amerika Serikat, China, Jerman dan negara maju lainnya. Tetapi masih banyak juga yang belum menggunakan teknologi ini karena memakan biaya yang tidak sedikit, karena hal itulah menyebabkan banyak negara belom menggunakan sistem teknologi ini dalam skala besar termasuk Indonesia.


Keadilan



Istilah keadilan (iustitia) berasal dari kata "adil" yang berarti: tidak berat sebelah, tidak memihak, berpihak kepada yang benar, sepatutnya, tidak sewenang-wenang. Dari beberapa definisi dapat disimpulkan bahwa pengertian keadilan adalah semua hal yang berkenan dengan sikap dan tindakan dalam hubungan antarmanusia, keadilan berisi sebuah tuntutan agar orang memperlakukan sesamanya sesuai dengan hak dan kewajibannya, perlakukan tersebut tidak pandang bulu atau pilih kasih; melainkan, semua orang diperlakukan sama sesuai dengan hak dan kewajibannya.
Ada beberapa jenis keadilan, yaitu:
  • Keadilan Komutatif (Iustitia Commutativa): Keadilan komutatif adalah keadilan yang memberikan kepada masing-masing orang apa yang menjadi bagiannya, di mana yang diutamakan adalah objek tertentu yang merupakan hak dari seseorang. Keadilan komutatif berkenaan dengan hubungan antarorang/antarindividu. Di sini ditekankan agar prestasi sama nilainya dengan kontra prestasi.
  • Keadilan Distributif (Iustitia Distributiva): Keadilan distributif adalah keadilan yang memberikan kepada masing-masing orang apa yang menjadi haknya, di mana yang menjadi subjek hak adalah individu, sedangkan subjek kewajiban adalah masyarakat. Keadilan distributif berkenaan dengan hubungan antara individu dan masyarakat/negara. Di sini yang ditekankan bukan asas kesamaan/kesetaraan (prestasi sama dengan kontra prestasi). Melainkan, yang ditekankan adalah asas proporsionalitas atau kesebandingan berdasarkan kecakapan, jasa, atau kebutuhan. Keadilan jenis ini berkenaan dengan benda kemasyarakatan seperti jabatan, barang, kehormatan, kebebasan, dan hak-hak.
  • Keadilan legal (Iustitia Legalis): Keadilan legal adalah keadilan berdasarkan undang-undang. Yang menjadi objek dari keadilan legal adalah tata masyarakat. Tata masyarakat itu dilindungi oleh undang-undang. Tujuan keadilan legal adalah terwujudnya kebaikan bersama (bonum commune). Keadilan legal terwujud ketika warga masyarakat melaksanakan undang-undang, dan penguasa pun setia melaksanakan undang-undang itu.
  • Keadilan Vindikatif (Iustitia Vindicativa): Keadilan vindikatif adalah keadilan yang memberikan kepada masing-masing orang hukuman atau denda sebanding dengan pelanggaran atau kejahatan yang dilakukannya. Setiap warga masyarakat berkewajiban untuk turut serta dalam mewujudkan tujuan hidup bermasyarakat, yaitu kedamaian, dan kesejahteraan bersama. Apabila seseorang berusaha mewujudkannya, maka ia bersikap adil. Tetapi sebaliknya, bila orang justru mempersulit atau menghalangi terwujudnya tujuan bersama tersebut, maka ia patut menerima sanksi sebanding dengan pelanggaran atau kejahatan yang dilakukannya.
  • Keadilan Kreatif (Iustitia Creativa): Keadilan kreatif adalah keadilan yang memberikan kepada masing-masing orang bagiannya, yaitu berupa kebebasan untuk mencipta sesuai dengan kreativitas yang dimilikinya. Keadilan ini memberikan kebebasan kepada setiap orang untuk mengungkapkan kreativitasnya di berbagai bidang kehidupan.
  • Keadilan Protektif (Iustitia Protectiva): Keadilan protektif adalah keadilan yang memberikan proteksi atau perlindungan kepada pribadi-pribadi. Dalam masyarakat, keamanan dan kehidupan pribadi-pribadi warga masyarakat wajib dilindungi  dari tindak sewenang-wenang pihak lain. Menurut Montesquieu, untuk mewujudkan keadilan protektif diperlukan adanya tiga hal, yaitu: tujuan sosial yang harus diwujudkan bersama, jaminan terhadap hak asasi manusia, dan konsistensi negara dalam mewujudkan kesejahteraan umum.
Keadilan dalam penerapannya tidaklah mesti terlalu lugas. Pengenaan keadilan yang bersifat lugas justru menimbulkan ketidakadilan. Seperti kata ungkapan "summum ius, summa iniura" (penerapan hukum secara penuh, penuh ketidakadilan). Karena itu, dalam mewujudkan keadilan diperlukan prinsip lain untuk mengimbanginya, yaitu kepatutan (aequitas). Prinsip kepatutan dimaksudkan untuk mendorong terwujudnya keadilan sosial.
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 :
a)      Keadilan distributif (justitia distributiva) adalah keadilan yang secara proporsional yang diterapkan dalam lapangan hukum publik secara umum.
b)     Keadilan komutatif (justitia cummulativa) adalah keadilan dengan mempersamakan antara prestasi dengan kontraprestasi.
c)      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.