Jumat, 26 Juni 2020

Parallelism Concept, Distributed Processing, Architectural Parallel Computer, Pengantar Thread Programming, Pengantar Massage Passing, OpenMP, Pengantar Pemrograman CUDA GPU.

Pemrograman CUDA GPU

CUDA adalah platform komputasi paralel dan model pemrograman yang dikembangkan oleh Nvidia untuk komputasi umum pada GPU-nya sendiri (unit pemrosesan grafis). CUDA memungkinkan pengembang untuk mempercepat aplikasi intensif komputasi dengan memanfaatkan kekuatan GPU untuk bagian komputasi yang dapat diparalelkan.

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

Parallelism concept
Paralelisme (parallelism) lahir dari pendekatan yang biasa dipergunakan oleh para perancang sistem untuk menerapkan konsep pemrosesan konkuren. Teknik ini meningkatkan kecepatan proses dengan cara memperbanyak jumlah modul perangkat keras yang dapat beroperasi secara simultan disertai dengan membentuk beberapa proses yang bekerja secara simultan pada modul-modul perangkat keras tersebut. Secara formal, pemrosesan paralel adalah sebuah bentuk efisien pemrosesan informasi yang menekankan pada eksploitasi dari konkurensi kejadian-kejadian dalam proses komputasi.Pemrosesan paralel dapat terjadi pada beberapa tingkatan (level) proses. Tingkatan tertinggi pemrosesan paralel terjadi pada proses di antara banyak job (pekerjaan) atau pada program yang menggunakan multiprogramming, time sharing, dan multiprocessing. Multiprogramming kemampuan eksekusi terhadap beberapa proses perangkat lunak dalam sebuah system secara serentak, jika dibandingkan dengan sebuah proses dalam satu waktu, dan timesharing berarti menyediakan pembagian selang waktu yang tetap atau berubah-ubah untuk banyak program. Multiprocessing adalah dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut. Multiprocessing sering diimplementasikan dalam perangkat keras (dengan menggunakan beberapa CPU sekaligus), sementara multiprogramming sering digunakan dalam perangkat lunak. Sebuah sistem mungkin dapat memiliki dua kemampuan tersebut, salah satu di antaranya, atau tidak sama sekali. Pemrosesan paralel dapat juga terjadi pada proses di antara prosedurprosedur atau perintah perintah (segmen program) pada sebuah program.

Distributed Processing
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.

Architectural Parallel Computer

SISD
Single Instruction – Single Data. Komputer ini memiliki hanya satu prosesor dan satu instruksi yang dieksekusi secara serial. Komputer ini adalah tipe komputer konvensional. 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. Sampai saat ini belum ada komputer yang menggunakan model MISD karena sistemnya tidak mudah.



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. 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. Memori. 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. Aplikasi. Software berisi program permasalahan yang akan diselesaikan.
  8. Jaringan. Penghubung satu PC (prosesor) dengan PC yang lain sehingga memungkinkan pemanfaatan sumberdaya secara simultan.

Pengantar Thread Programming
Thread dalam sistem operasi dapat diartikan sebagai sekumpulan perintah (instruksi) yang dapatdilaksanakan (dieksekusi) secara sejajar dengan ulir lainnya, dengan menggunakan cara time slice (ketika satu CPU melakukan perpindahan antara satu ulir ke ulir lainnya) atau multiprocess (ketika ulir-ulir tersebut dilaksanakan oleh CPU yang berbeda dalam satu sistem). Ulir sebenarnya mirip dengan  roses, tapi cara berbagi sumber daya antara proses dengan ulir sangat berbeda. Multiplethread dapat  dilaksanakan secara sejajar pada sistem komputer. Secara umum multithreading melakukan time-slicing  (sama dengan time-division multipleks), di manasebuah CPU bekerja pada ulir yang berbeda, di mana suatu kasus ditangani tidak sepenuhnya secara serempak, untuk CPU tunggal pada dasarnya benar-benar melakukan sebuah pekerjaan pada satu waktu. Thread saling berbagi bagian program, bagian data dan sumber daya sistem operasi denganthread lain yang mengacu pada proses yang sama. Thread terdiri atas ID thread, program counter, himpunan register, dan stack. Dengan banyak kontrol thread proses dapat melakukan lebih dari satu pekerjaan pada waktu yang sama.

Karakteristik Thread
Proses merupakan lingkungan eksekusi bagi thread-thread yang dimilikinya. Thread-thread di satu proses memakai bersama sumber daya yang dimiliki proses, yaitu :
  1. Ruang alamat.
  2. Himpunan berkas yang dibuka.
  3. Proses-proses anak.
  4. Timer-timer.
  5. Snyal-sinyal.
  6. Sumber daya-sumber daya lain milik proses.

Message Passing
Massage Passing merupkan 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. 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.



Terdapat beberapa metode dalam pengiriman pesan yaitu :
1. Synchronous Message Passing

Pengirim menunggu untuk mengirim pesan sampai penerima siap untuk menerima pesan. Oleh karena itu tidak ada buffering. Selain itu Pengirim tidak bisa mengirim pesan untuk dirinya sendiri.
2. Ansynchronous Message Passing
Pengirim akan mengirim pesan kapanpun dia mau. Pengirim tidak peduli ketika penerima belum siap untuk menerima pesan. Oleh karena itu diperlukan buffering untuk menampung pesan sementara sampai penerima siap menerima pesan. Selain itu pengirim dapat pesan untuk dirinya sendiri.

OpenMP (Open Multiprocessing)
OpenMP adalah Application Programing Interface (API) yang mendukung pemrograman multiprosesing shared memory dalam bahasa C/C++ dan fortran pada berbagai arsitektur dan sistem operasi diantaranya: Solaris, AIX, HP-UX,GNU/Linux, Mac OS X, dan Windows.



OpenMP adalah model portabel dan skalabel yang memberikan interface sederhana dan fleksibel bagi programer shared memory dalam membangun aplikasi paralel. Program multithread dapat ditulis dalam berbagai cara. Beberapa diantaranya memungkinkan untuk melakukan interaksi yang kompleks antar thread. OpenMP mencoba untuk memberikan kemudahan pemrograman serta membantu dalam menghindari kesalahan program, melalui pendekatan terstruktur. Pendekatan ini dikenal sebagai model pemrograman fork-join.
OpenMP bekerja berdasarkan model shared memory, maka secara default data dibagi diantara thread-thread dan dapat terlihat dari setiap thread. Terkadang program akan membutuhkan variabel dengan nilai thread spesifik. Jika setiap thread memiliki variabel duplikat akan sangat berpotensi memiliki nilai yang berbeda-beda pada setiap variabel duplikat tersebut.
Sinkronisasi (pengkoordinasian) aksi dari thread adalah sesuatu yang sangat penting untuk menjamin data yang harus dibagi dan untuk mencegah terjadinya data race condition. Secara default OpenMP telah menyediakan mekanisme untuk menunggu thread dalam suatu tim thread sehingga semua thread menyelesaikan tugasnya dalam region, kemudian dapat melanjutkan ke proses selanjutnya. Mekanisme ini dikenal sebagai barrier.

Sumber:

Rabu, 29 April 2020

Quantum Computation, Entanglement Quantum, Pengoperasian Data Qubit, Quantum Gates, dan Algoritma Shor

Quantum Computation
Merupakan alat hitung yang menggunakan mekanika kuantum seperti superposisi dan keterkaitan, yang digunakan untuk peng-operasi-an data. Perhitungan jumlah data pada komputasi klasik dihitung dengan bit, sedangkan perhitungan jumlah data pada komputer kuantum dilakukan dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.

Entanglement
Quantum entanglement adalah salah satu fenomena paling unik di dunia Quantum Fisika. Fenomena ini memungkinkan dua atom untuk mempunyai properti yang sama atau berlawanan satu sama lain, tanpa adanya interaksi diantara keduanya. Jadi meskipun jarak memisahkan dua atom itu, keduanya akan tetap terhubung seketika seolah ada sinyal yang mampu mempengaruhi keadaan mereka yang bergerak lebih cepat dari kecepatan cahaya. Agak sulit untuk membayangkan fenomena ini di dalam kejadian sehari-hari. Namun kita dapat membuat perumpamaan sebagai berikut.

Pengoperasian Data Qubit
Sebuah qubit adalah unit dasar informasi dalam sebuah komputer kuantum. Sementara sedikit dapat mewakili hanya satu dari dua kemungkinan seperti 0 / 1, ya / tidak, qubit dapat mewakili lebih: 0 / 1, 1 dan 0, probabilitas terjadinya setiap saat dikombinasikan dengan qubit lebih, dan semua yang secara bersamaan. Secara umum komputer kuantum dengan qubit n bisa dalam superposisi sewenang-wenang hingga 2 n negara bagian yang berbeda secara bersamaan (ini dibandingkan dengan komputer normal yang hanya dapat di salah satu negara n 2 pada satu waktu).
Untuk memanipulasi sebuah qubit, maka menggunakan Quantum Gates (Gerbang Kuantum). Cara kerjanya yaitu sebuah gerbang kuantum bekerja mirip dengan gerbang logika klasik. Gerbang logika klasik mengambil bit sebagai input, mengevaluasi dan memproses input dan menghasilkan bit baru sebagai output.

Quantum Gates
Quantum Gates / Gerbang Quantum merupakan sebuah aturan logika / gerbang logika yang berlaku pada quantum computing. Prinsip kerja dari quantum gates hampir sama dengan gerbang logika pada komputer digital. Jika pada komputer digital terdapat beberapa operasi logika seperti AND, OR, NOT, pada quantum computing gerbang quantum terdiri dari beberapa bilangan qubits, sehingga quantum gates lebih susah untuk dihitung daripada gerang logika pada komputer digital.

Algoritma Shor
Algoritma yang ditemukan oleh Peter Shor pada tahun 1995. Dengan menggunakan algoritma ini, sebuah komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini secara umum digunakan untuk mengamankan pengiriman data. Kode yang disebut kode RSA ini, jika disandikan melalui kode RSA, data yang dikirimkan akan aman karena kode RSA tidak dapat dipecahkan dalam waktu yang singkat. Selain itu, pemecahan kode RSA membutuhkan kerja ribuan komputer secara paralel sehingga kerja pemecahan ini tidaklah efektif.
Algoritma Shor bergantung pada hasil dari teori bilangan. Hasil ini adalah: fungsi periodik. Dalam konteks algoritma Shor, n akan menjadi bilangan yang akan difaktorkan. Jika dua bilangan tersebut adalah coprime itu berarti bahwa pembagi umumnya adalah 1. Perhitungan fungsi ini untuk jumlah eksponensial, dari itu akan mengambil waktu eksponensial pada komputer klasik. Algoritma Shor memanfaatkan paralelisme kuantum untuk melakukan jumlah eksponensial operasi dalam satu langkah.

Jumat, 10 April 2020

Cloud Computing, Grid Computing, Visualisasi, Distributed Computing, Map Reduce, dan No Sql

Distributed Computing adalah ilmu yang memecahkan masalah besar dengan memberikan bagian kecil dari masalah untuk banyak komputer untuk memecahkan dan kemudian menggabungkan solusi untuk bagian-bagian menjadi solusi untuk masalah tersebut.

Grid Computing adalah kombinasi sumber daya komputer dari beberapa domain administrasi untuk mencapai tujuan bersama. komputasi Grid (atau penggunaan dari komputasi grid) adalah menerapkan sumber daya dari banyak komputer dalam jaringan untuk masalah tunggal pada saat yang sama – biasanya untuk masalah ilmiah atau teknis yang memerlukan sejumlah besar siklus pengolahan komputer atau akses ke besar jumlah data.

Cloud computing adalah teknologi yang menggunakan internet dan server remote sentral dalam menjaga data dan aplikasi. Cloud komputasi memungkinkan konsumen dan bisnis untuk menggunakan aplikasi tanpa instalasi dan mengakses file pribadi mereka di setiap komputer dengan akses internet. Teknologi ini memungkinkan komputasi yang jauh lebih efisien dengan memusatkan penyimpanan, memori, pengolahan dan bandwidth.

Grid Computing
Mengumpulkan sumber daya komputer. komputasi Grid, atau hanya grid, adalah istilah generik yang diberikan kepada teknik dan teknologi yang dirancang untuk membuat kolam sumber daya komputer terdistribusi tersedia on-demand. Komputasi grid pada awalnya dipahami oleh para ilmuwan penelitian sebagai cara untuk menggabungkan komputer di jaringan untuk membentuk sebuah superkomputer didistribusikan untuk mengatasi perhitungan kompleks. Dalam dunia komersial, bertujuan grid untuk memaksimalkan pemanfaatan sumber daya komputasi suatu organisasi dengan membuat mereka shareable berbagai aplikasi (kadang-kadang disebut virtualisasi) dan, berpotensi, menyediakan komputasi on demand kepada pihak ketiga sebagai layanan utilitas. Bila digunakan dengan spesifikasi seperti WSRF dan WS-Pemberitahuan, sumber daya grid dapat muncul sebagai layanan web dalam arsitektur berorientasi layanan.

Distributed Computing
Komputasi terdistribusi merupakan bidang ilmu komputer yang mempelajari sistem terdistribusi. Sebuah sistem terdistribusi terdiri dari beberapa otonom komputer yang berkomunikasi melalui jaringan komputer . Komputer yang saling berinteraksi untuk mencapai tujuan bersama. Sebuah program komputer yang berjalan dalam sistem terdistribusi disebut program didistribusikan, dan didistribusikan program adalah proses penulisan program tersebut. Komputasi terdistribusi juga mengacu pada penggunaan sistem terdistribusi untuk memecahkan masalah komputasi. Dalam komputasi terdistribusi, masalah dibagi menjadi tugas banyak, setiap yang diselesaikan oleh satu komputer.

Cloud Computing
Cloud computing adalah internet berbasis komputer , dimana berbagi sumber daya, perangkat lunak dan informasi yang diberikan kepada komputer dan perangkat lain sesuai permintaan, utilitas publik seperti. Sebagian besar infrastruktur komputasi awan terdiri dari layanan yang handal disampaikan melalui data center dan dibangun pada server. Awan sering muncul sebagai titik akses tunggal untuk menghitung semua konsumen kebutuhan. Commercial penawaran komersial biasanya diharapkan untuk memenuhi kualitas layanan (QoS) persyaratan pelanggan dan biasanya menawarkan SLA.


Virtualisasi adalah sebuah teknik yang saat ini banyak diterapkan untuk memenuhi kebutuhan TI yang semakin tinggi namun diikuti dengan tuntutan untuk mengefisiensikan biaya yang digunakan semaksimal mungkin.  Virtualisasi adalah teknologi yang telah diterapkan secara luas saat ini dengan dampak peningkatan operasional dan finansial yang positif. Virtualisasi adalah konsep dimana akses ke sebuah hardware seperti server diatur sehingga beberapa operating system (guest operation system) dapat berbagi sebuah hardware.  Tujuan dari virtualisasi adalah kinerja tingkat tinggi, ketersediaan, keandalan, ketangkasan, atau untuk membuat dasar keamanan dan manajemen yang terpadu.
Virtualisasi memungkinkan kita untuk berbagi hardware untuk digunakan beberapa sistem operasi. Virtualisasi dapat membuat sebuah tempat penyimpanan tunggal yang besar terlihat menjadi beberapa tempat penyimpanan dengan ukuran yang lebih kecil.

Map Reduce danNoSQL (Not Only SQL) adalah sebuah pemogramaan framework guna untuk membantu user mengembangankan sebuah data yang ukuran besar dapat terdistribusi satu sama lain. Map-Reduce adalah salah satu konsep teknis yang sangat penting di dalam teknologi cloud terutama karena dapat diterapkannya dalam lingkungan distributed computing. Dengan demikian akan menjamin skalabilitas aplikasi kita.
Salah satu contoh penerapan nyata map-reduce ini dalam suatu produk adalah yang dilakukan Google. Dengan inspirasi dari functional programming map dan reduce Google bisa menghasilkan filesystem distributed yang sangat scalable, Google Big Table. Dan juga terinspirasi dari Google, pada ranah open source terlihat percepatan pengembangan framework lainnya yang juga bersifat terdistribusi dan menggunakan konsep yang sama, project open source tersebut bernama Apache Hadoop.
NoSQL adalah istilah untuk menyatakan berbagai hal yang didalamnya termasuk database sederhana yang berisikan key dan value seperti Memcache, ataupun yang lebih canggih yaitu non-database relational seperti MongoDB, Cassandra, CouchDB, dan yang lainnya.
Wikipedia menyatakan NoSQL adalah sistem menejemen database yang berbeda dari sistem menejemen database relasional yang klasik dalam beberapa hal. NoSQL mungkin tidak membutuhkan skema table dan umumnya menghindari operasi join dan berkembang secara horisontal. Akademisi menyebut database seperti ini sebagai structured storage, istilah yang didalamnya mencakup sistem menejemen database relasional.

Nosql adalah sebuah memcache dari bagian database sederhana yang berisi key dan value. Database ini bersifat struktur storage dimana sistem databasenya yang berbeda dengan sistem database relasional. Nosql tidak membutuhkan skema table dan menghindari operasi join dan berkembang secara horizontal. Selain itu NoSQL merupakan suatu bahasan yang jauh dari arti kata yang dibaca. Tidak berarti tanpa sql query. Melainkan bagaimana suatu sql query digunakan seminimal mungkin dalam suatu program database. Dengan memanfaatkan teknologi NoSQL ini, diharapkan mampu mengurangi beban server. Selain itu, hal ini juga memudahkan programmer dalam membuat suatu program dan proses pengembangannya. Penjelasan lebih mengenai NoSQL database akan dijelaskan pada sub bab dibawah ini.
Database NoSQL, juga disebut Not Only SQL, adalah sebuah pendekatan untuk pengelolaan datadan desain database yang berguna untuk set yang sangat besar data terdistribusi. NoSQL, yang mencakup berbagai teknologi dan arsitektur, berusaha untuk memecahkan masalah skala bilitas dan kinerja data yang besar yang database relasional tidak dirancang untuk menangani.NoSQL ini sangat berguna ketika perusahaan perlu untuk mengakses dan menganalisis sejumlah besar data terstruktur atau data yang disimpan dari jarak jauh pada beberapa virtual server di awan.
Berlawanan dengan kesalahpahaman yang disebabkan oleh namanya, NoSQL tidak melarangbahasa query terstruktur (SQL) Meskipun benar bahwa beberapa sistem NoSQL sepenuhnya non-relasional, yang lain hanya menghindari fungsi relasional dipilih seperti skema tabel tetap dan bergabung dengan operasi. Sebagai contoh, daripada menggunakan tabel, database NoSQL mungkin mengatur data menjadi objek, kunci / nilai berpasangan atau tupel.


Sumber :

Minggu, 22 Maret 2020

Konsep Komputasi Modern

Pengertian Komputasi Modern

Jadi Komputasi Modern adalah suatu pemecahan masalah menggunakan komputer untuk menghasilkan informasi-informasi yang bermanfaat bagi pengguna dalam kehidupan sehari-sehari. Secara umum, iIlmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika teknik penyelesaian numerik serta penggunaan komputer 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.

Komputasi modern dapat dimanfaakan untuk memecahkan masalah seperti dibawah ini:

Modeling (NN&GA)
Modeling merupakan suatu hal yang penting dalam melakukan suatu perhitungan yang rumit.

Problem Volume Besar (Down Sizzing atau paralel)
Data yang besar tentu membutuhkan suatu cara penyelesaian yang khusus. Karena data yang besar dapat menjadi masalah jika ada yang terlewatkan. Dengan metode ini data yang besar diparalelkan dalam pengolahan sehingga dapat diorganisir dengan baik.

Akurasi (big, Floating point)
Akurasi dibutuhkan dalam memecahkan masalah. Maka dari itu sebuah komputasi modern digunakan untuk menemukan sebuah jawaban yang akurat.

Kompleksitas
Untuk menangani masalah yang kompleks maka sebuah komputasi diharapkan dapat melakukan perhitungan yang kompleks.

Kecepatan
Masalah diharapkan dapat diselesaikan dengan cepat maka kecepatan menjadi sesuatu yang penting dalam mempersingkat waktu menjawab masalah.

Cabang ilmu Bioinformatika Bioinformatika merupakan suatu bidang interdisipliner. Banyak cabang-cabang disiplin ilmu yang terkait dengan Bioinformatika sehingga banyak pilihan bagi yang ingin mendalami Bioinformatika. Beberapa bidang yang terkait dengan Bioinformatika antara lain:

1. Biophysics
Biophysics adalah sebuah bidang interdisipliner yang mengaplikasikan teknik-teknik dari ilmu Fisika untuk memahami struktur dan fungsi biologi (British Biophysical Society).

2. Computational Biology
Computational biology merupakan bagian dari Bioinformatika yang paling dekat dengan bidang Biologi umum klasik. Fokus dari computational biologyadalah gerak evolusi, populasi, dan biologi teoritis daripada biomedis dalam molekul dan sel.

3. Medical Informatics
Medical informatics adalah sebuah disiplin ilmu yang baru yang didefinisikan sebagai pembelajaran, penemuan dan implementasi dari struktur dan algoritma untuk meningkatkan komunikasi, pengertian dan manajemen informasi medis.

4. Cheminformatics
Cheminformatics adalah kombinasi dari sintesis kimia, penyaringan biologis dan pendekatan data-mining yang digunakan untuk penemuan dan pengembangan obat (Cambridge Healthech Institute’s Sixth Annual Cheminformatics conference).

5. Genomics
Genomics adalah bidang ilmu yang ada sebelum selesainya sekuen genom, kecuali dalam bentuk yang paling kasar. Genomics adalah setiap usaha untuk menganalisa atau membandingkan seluruh komplemen genetik dari satu spesies atau lebih.








sumber :

Selasa, 07 Januari 2020

Artikel Sikap Tenggang Rasa Diantara Teman

1.   Pengertian Tenggang Rasa
Sikap tenggang rasa adalah suatu sikap hidup dalam ucapan, perbuatan, dan tingkah laku yang mencerminkan sikap menghargai dan menghormati orang lain. Kita harus dapat bergaul dengan siapa saja, dimana saja, dan kapan saja. Dengan tenggang rasa kita dapat merasakan atau menjaga perasaan orang lain sehingga orang lain tidak merasa tersinggung. Sikap tenggang rasa merupakan sikap yang memiliki nilai budi pekerti yang baik. Dengan memiliki sikap tenggang rasa ini, kita bisa menempatkan diri pada lingkungan pergaulan dengan benar sehingga tercipta suasana yang rukun, harmonis, serasi, selaras, dan seimbang.
Hal-hal penting yang harus kita miliki dalam pergaulan yang baik adalah sikap tenggang rasa. Pelaksanaan sikap tenggang rasa dapat kita wujudkan dalam:
a. Menghormati hak-hak orang lain.
b. Kerelaan membantu teman yang mengalami musibah.
c. Kesediaan menjenguk teman yang sedang sakit.
d. Kemauan mengendalikan sikap, perbuatan, dan tutur kata yang dapat menyinggung atau melukai perasaan orang lain.

2. Manfaat dari tenggang rasa
        Setiap orang mempunyai hak dan kewajiban asasi yang sama. Oleh karena itu masing-masing dari individu harus memiliki sifat tenggang rasa terhadap orang lain supaya mereka mendapatkan kesempatan menerima hak-haknya dan melaksanakan kewajiban dengan sebaik-baiknya.
        Sikap tenggang rasa dapat dikembangkan melalui beberapa bentuk. Salah satunya adalah apabila teman kita mendapatkan musibah, kita harus berusaha memberikan pertolongan atau bantuan semampu dan semaksimal mungkin yang kita bisa. Kita harus dapat ikut merasakan penderitaan yang dialami oleh orang lan. Apabila ada teman yang sedang sakit, kita diwajibkan untuk segera menjenguknya supaya hati teman kita yang sakit terhibur sehingga membuatnya semakin cepat sembuh.
        Di dalam pertemanan kita harus selalu mengendalikan sikap dan perilaku serta ucapan untuk menjaga agar tidak menyinggung atau menyakiti hati orang lain, sehingga hubungan pertemanan akan terjaga dan akan terus baik-baik saja.
Untuk contoh yang dapat dilakukan dalam hubungan pertemanan adalah sebagai berikut:
a. Jika kita tidak senang dihina orang, janganlah kita menghina orang lain.
b. Jika kita tidak senang dianggap remeh orang, jangan pula kita menganggap remeh orang lain.
c. Jika kita tidak mau hak kita diganggu, janganlah mengganggu hak orang lain.
Untuk manfaat-manfaat yang dapat diambil dari tenggang rasa antara lain:
a. Menumbuhkan rasa kasih sayang dan kepedulian terhada sesama.
b. Menciptakan suasana yang aman dan tentram dalam kehidupan antar sesama.
c. Mempererat rasa kekeluargaan dan keakraban antar sesama sehingga akan melahirkan suatu masyarakat yang adil dan makmur yang berdasar Pancasila.
d. Memupuk rasa tanggung jawab pada diri sendiri untuk melindungi dan membantu satu sama lain.
e. Memupuk rasa kebersamaan sehingga dapat menciptakan suatu kerukunan dalam kehidupan.

Regulasi dan Prosedur pengadaan barang atau jasa

Dalam menjalankan fungsi suatu perusahaan maka dibutuhkan logistik, peralatan, dan jasa yang akan menunjang optimalnya kinerja karyawan dari suatu instansi. Untuk proses pengadaan barang atau jasa tersebut akan meliputi beberapa kegiatan, yaitu rencana pembuatan, proses pembuatan, uji coba aplikasi, dan terakhir adalah proses implementasi aplikasi. Selain itu terdapat beberapa proses transaksi antara konsumen (client) dengan instansi (perusahaan) antara lain transaksi pembelian barang atau jasa, transaksi penerimaan barang atau jasa, dan transaksi penggunaan barang atau jasa.
Terdapat beberapa istilah yang terdapat dalam proses pengadaan barang dan jasa yaitu antara lain :
1. Barang
Barang merupakan objek dalam bentuk bahan baku, setengah jadi ataupun sudah jadi.
2. Jasa
Jasa merupakan suatu proses dimana instansi mampu menyediakan apa yang dibutuhkan oleh client atau pengguna dari jasa yang dibutuhkan.
3. Pejabat pembuat komitmen
Pejabat Pembuat Komitmen merupakan pemilik pekerjaan yang akan bertanggung jawab terhadap pengadaan jasa.
4. Penyedia barang dan jasa
Penyedia barang atau jasa adalah perusahaan yang mampu menyediakan barang atau jasa.

Prinsip dasar pengadaan barang atau jasa
Pengadaan barang atau jasa dilaksanakan dengan menggunakan prinsip dasar sebagai berikut:
1.   Transparan
Semua ketentuan dan informasi, baik teknis maupun administratif termasuk tata cara peninjauan, hasil peninjauan, dan penetapan penyedia barang/jasa harus bersifat terbuka bagi penyedia barang atau jasa yang berminat dan mampu tanpa diskriminasi.
2.   Adil
Tidak diskriminatif dalam memberikan perlakuan bagi semua calon penyedia barang atau jasa dan tidak mengarah untuk memberikan keuntungan kepada pihak tertentu, dengan cara atau alasan apa pun.
3.   Bertanggung Jawab
Mencapai sasaran baik fisik, kualitas, kegunaan, maupun manfaat bagi kelancaran pelaksanaan usaha sesuai dengan prinsip-prinsip dan kebijakan serta ketentuan yang berlaku dalam pengadaan barang atau jasa.
4.   Efektif
Sesuai dengan kebutuhan yang telah ditetapkan dan dapat memberikan manfaat yang sebesar-besarnya bagi para pihak terkait.
5.   Efisien
Menggunakan dana, daya, dan fasilitas secara optimal untuk mencapai sasaran yang telah ditetapkan dengan biaya yang wajar dan tepat pada waktunya.
6.   Kehati-hatian
Senantiasa memperhatikan atau patut menduga terhadap informasi, tindakan, atau bentuk apapun sebagai langkah antisipasi untuk menghindari kerugian material dan imaterial selama proses pengadaan, proses pelaksanaan pekerjaan, dan paska pelaksanaan pekerjaan.
7.   Kemandirian
Suatu keadaan dimana pengadaan barang atau jasa dikelola secara profesional tanpa benturan kepentingan dan pengaruh atau tekanan dari pihak manapun.
8.   Integritas
Pelaksana pengadaan barang atau jasa harus berkomitmen penuh untuk memenuhi etika pengadaan.
9.   Good Corporate Governance
Memenuhi prinsip-prinsip tata kelola perusahaan yang baik.

Rencana Bisnis : Cafe, Penjualan, dan Jasa Service (Laptop, Pc, dan Hp Android)
        Berbicara mengenai dunia bisnis tentu tidak luput dari pembahasan sebuah perusahaan, wiraswasta, perdagangan, dan lain sebagainya. Perkembangan dunia bisnis yang sekarang sedang ramai di masyarakat adalah bisnis di bidang Teknik Informasi dan Komunikasi (TIK). Disini saya akan membuat sebuah rencana bisnis yaitu dengan membuka sebuah usaha di bidang kuliner, penjualan alat-alat TIK dan jasa service (Laptop, Pc, dan Hp Android) yang akan saya beri nama “MJ Cafe IT”.

Gambaran Umum
MJ Cafe IT adalah sebuah usaha penjualan dan jasa service (Laptop, Pc, dan Hp Android). Selain itu juga MJ Cafe IT membuka sebuah cafe yang berfungsi ganda yang pertama adalah untuk pelanggan bersantai dan bersantap ria makanan yang ada di menu MJ Cafe IT agar tidak merasakan bosan disaat menunggu karyawan kami selesai memperbaiki device dari pelanggan yang rusak. Dan yang kedua adalah untuk tempat nongkrong anak muda yang suka bertukar ide dan gagasan tentang teknologi terbaru.
MJ Cafe IT terletak di sekitar perkantoran, kampus, serta sekolah. Memiliki gedung yang bertingkat dan luas. Untuk bagian cafe, penjualan, dan jasa service hanya dipisahkan oleh sekat kaca yang tidak tembus pandang, dan lantai atas digunakan untuk ruang cctv dan Gudang penyimpanan barang. MJ Cafe IT memiliki beberapa karyawan untuk masing-masing bagian.
Untuk mempromosikan usaha bisnis ini bisa dengan membagikan brosur atau dengan memasang sebuah iklan di media sosial, atau promosi via website. Dengan adanya MJ Cafe IT ini dapat memenuhi kebutuhan masyarakat untuk bidang TIK dan kuliner.

Komentar :
        Dari sekian banyak kesempatan yang ada dan ingin dijalankan semua tergantung dari kemampuan setiap masing-masing individu. Kemampuan atau skill memang sangat berpengaruh di dalam sebuah bisnis, tidak hanya skill yang harus dimiliki tetapi ada juga attitude terhadap konsumen yang harus dijaga.
        Untuk menciptakan dan mengembangkan sebuah usaha bisnis diperlukan usaha yang gigih dan komitmen yang kuat. Karena usaha dalam penjualan dan service seperti ini sudah sangat banyak dan kemungkinan untuk bersaing dengan usaha lain sangat besar. Dan perlu digaris bawah dalam persaingan bisnis seperti ini tidak perlu saling menjatuhkan antara pembisnis satu dengan yang lain.

Selasa, 19 November 2019

Prinsip Manajemen Waktu Yang Baik


Prinsip Manajemen Waktu
Menurut saya prinsip manajemen waktu sangatlah penting, karena apa? Karena dari manajemen waktu lah hidup lebih terarah, lebih teratur dalam menjalankan kehidupan yang lebih baik lagi dari sebelumnya. Dari masalah manajemen waktu ini lah bisa mempengaruhi kehidupan, pekerjaan, bahkan kesehatan seseorang. Seseorang yang bisa memanajemen waktu dengan baik biasanya memiliki kesempatan lebih untuk mendapatkan pekerjaan yang diharapkan, dan biasanya seseorang yang bisa memanajemen waktu dengan baik lebih awet muda dan sehat meskipun usianya sudah tidak muda lagi.
Untuk pengalaman pribadi saya mengenai manajemen waktu yang pertama adalah bagaimana saya menjalankan kehidupan sehari-hari, dari mulai bangun tidur sampai tidur lagi. Dimana diawal saya harus bangun sepagi mungkin untuk menunaikan kewajiban saya sebagai seorang muslim yaitu sholat subuh. Dan setelah sholat subuh biasanya saya langsung merapihkan tempat tidur dan mempersiapkan apa saja yang dibutuhkan untuk menjalani hari tersebut. Selain mahasiswa aktif yang masih ada kelas saya juga menjadi asisten di salah satu laboratorium di gunadarma sendiri dimana jika tidak ada kelas maka saya akan berada di lab tersebut dan jika ada kelas maka saya akan meninggalkan tugas di lab untuk menjalankan kewajiban saya sebagai mahasiswa yang masih aktif kuliah. Setelah selesai mempersiapkan semua yang dibutuhkan untuk hari itu, saya akan segera mandi dan dilanjutkan sarapan untuk mengisi tenaga sebelum memulai hari yang setiap harinya sangat teramat padat. Dan setelah itu saya akan berangkat ke kampus sesuai jadwal yang sudah ada. Setelah selesai semua kegiatan dikampus biasanya saya langsung pulang karena memang masih ada beberapa kegiatan dan tugas yang harus saya selesaikan dirumah. Sesampainya dirumah saya langsung membersihkan diri sebelum istirahat. Setelah selesai bersih-bersih saya langsung beristirahat sejenak dan melanjutkan kegiatan dan tugas yang ada dirumah. Setalah semua selesai dan waktunya tidur saya akan segera tidur untuk mengisi tenaga dan stamina untuk besok harinya. Dan tanpa ada manajemen waktu yang baik disini saya akan keteteran untuk melaksanakan semua kegiatan sehari-hari.
Untuk pengalaman pribadi saya yang kedua mengenai manajemen waktu adalah bagaimana saya membuat janji ke keluarga, teman, masyarakat, ataupun atasan yang berada di laboratorium yang saya ikuti. Sebelum membuat janji kepada siapapun, dimanapun, dan kapanpun saya harus melihat dan mengecek untuk hari dan waktu tersebut benar-benar kosong dan tidak ada kegiatan sama sekali. Karena jika tidak seperti itu maka akan sangat repot untuk memanajemen waktu pada hari yang bersangkutan. Dan setelah berada di hari dan waktu yang sudah disepakati biasanya saya datang lebih awal, karena saya mempunyai prinsip lebih baik menunggu daripada ditunggu.
Untuk pengalaman pribadi saya yang ketiga mengenai hal yang sama yaitu manajemen waktu adalah dimana saya bisa membagi waktu antara kewajiban saya kuliah, dan tanggung jawab kepada tugas yang laboratorium saya ikuti tersebut kasih. Disini saya biasanya sangat sulit untuk melakukan manajemen waktu karena jadwal saya yang sangat padat. Belum lagi ketika pacar saya mengajak jalan, makan, atau hanya sekedar berbagi cerita. Disini saya dan pasangan sangat diuji untuk memanajemen waktu dan keprofesionalitas nya. Biasanya saya mengerjakan tugas kuliah dimalam hari karena memang di siang hari saya sangat sulit untuk mengerjakan tugas kuliah, hal itu disebabkan karena beberapa hal. Antara lain adalah waktu saya untuk mengikuti kelas dan praktikum yang saya ikuti, belum lagi jika ada pekerjaan di laboratorium.
Masalah manajemen waktu bakalan jadi masalah yang serius untuk seetiap orang karena tanpa ada nya manajemen waktu yang baik maka tidak adan bisa setiap individu manusia menjalani hidup, pekerjaan, dan kesehatannya dengan baik. Makadari itu kesimpulan yang dapat ditarik dari pengalaman saya adalah pentingnya belajar memanajemen waktu dengan sebaik mungkin supaya hidup kita lebih terarah, dan terstruktur dengan baik. Kita bisa belajar memanajemen waktu dengan baik dengan cara kita membuat jalwal harian pribadi, membuat catatan mengenai janji, dan bisa juga datang ke seminar-seminar atau apapun itu yang sejenis berkaitan dengan cara memanajemen waktu dengan baik. Sudah ada dan banyak sekali contoh orang-orang yang kurang peduli terhadap masalah manajemen waktu dan pada akhirnya akan menyesal pada akhirnya. Salah satu contoh tidak bisa memanajemen waktu adalah kondisi kesehatan badan yang menurut, bera badan menurun, serta bisa juga ketika membuat cv akan bingung mau di isikan apa. Karena tanpa kita memanajemen waktu dengan baik maka tidak akan bisa melakukan sesuatu hal untuk membuat diri kita menjadi manusia yang lebih baik lagi.

Parallelism Concept, Distributed Processing, Architectural Parallel Computer, Pengantar Thread Programming, Pengantar Massage Passing, OpenMP, Pengantar Pemrograman CUDA GPU.

Pemrograman CUDA GPU CUDA adalah platform komputasi paralel dan model pemrograman yang dikembangkan oleh Nvidia untuk komputasi umum pa...