Friday, September 18, 2015

Perfect Mother

Cinta yang tulus itu, dari Ibu
Ibu, Mama, tapi aku biasa memanggil mama ku dengan panggilan khusus “amacin” merupakan panggilan singkat dari mama cinta. Seperti seorang kakak, seorang ibu yang luar biasa penyayang, seorang ibu yang luar biasa kuat. pahlawan wanita ku bernama mama. Tugas mu untuk hidup seperti benar - benar telah selesai. Mama seperti menyelesaikan semua. 
Haji. Aku masih ingat betul ditahun 2006, orang tuaku sangat bersemangat untuk mengikuti program arisan haji. Waktu itu malam hari di suplir dilaksanakan pengocokan urutan arisan haji, dan orangtua ku mendapat urutan yang ke-6. Walau sudah mengikuti arisan haji, itu dirasa belum cukup agar bisa menunaikan ibadah haji segera, mulailah menabung untuk langsung mendaftarkan porsi haji. Setelah mendapat nomor porsi haji berulang kali dilihat melalui website akan direncakanan berangkat tahun berapa. Setelah orangtuaku mendapatkan gilirannya (ke-6) uang arisannya pun langsung dugunakan untuk pelunasan, dan dalam 3tahun bisa berangkat ke Tanah Suci.
S2. Mamaku amatlah pintar, cerdas. Selama mengenyam pendidikan dari kecil sampai universitas (beasiswa semua). Bahkan pada waktu itu mama mengambil 4 prodi jurusan yang berbeda di Universitas Indonesia dan semuanya beasiswa, Namun, akhirnya yang dipilih mama ku adalah Matematika. Tapi bukan hanya menguasai matematika, mamaku juga menguasai Bahasa Jerman, karna waktu itupun mengambil prodi Bahasa Jerman. Setelah berkuliah D3, langsung mengajar menjadi guru dan menyambi mengambil pendidikan S1 di Universitas Terbuka, karena fleksiblenya waktu kuliah. Mama pun berhasil menyelesaikan kuliah S1nya itu saat aku SD dan adikku pun sekitar usia 5tahun atau 6tahun. Selagi aku kuliah tingkat 2, mama pun mengambil kembali pendidikan S2, dapat menyelesaikannya dengan tepat waktu, mengerjakan tesis yang luar biasa, dan lulus dengan IPK Cumlaude. Mama sudah selesai S2nya, aku waktu itu masih tingkat 3 atau 4 awal.
Rumah Baru. Beberapa kali jika hujan deras, kami kebanjiran. Banjir yang paling parah, waktu rumah kami masih sendirian, sekitar aku SMP. Sampai adikku dan aku disuruh tinggal di eyang karna banjir merendam setengah rumah kami. Dan beberapa banjir kecil yang juga kami alami, ya mungkin hanya setinggi lutut, dan kami hanya mengungsi kerumah tetangga. Walau banjir, dan kalau hujan cukup membuat kami yang di dalam rumah merasa ketakutan, karena kilat, sambaran petir, dan angin sangat terasa di rumah kami yang dipinggir persawahan. Kami sangat menyukai rumah yang penuh kenangan itu Dibangun oleh orangtua kami dengan uang 100Juta, kemudian dikeramik oleh tukang. Dan yang mengecat tembok rumah itu, kami sekeluarga! ya sekeluarga kami mengecat tembok rumah. Rumah itu benar2 penuh memory yang luar biasa. Tapi setelah orangtua ku pulang dari Haji, kami saat itu mengalami kebanjjiran dan datanglah keluarga ku menawarkan rumahnya yang lain agar dibeli oleh orangtua ku, dengan harga yang sangat murah, pembayaran bisa cicil, dan kami dipaksa membelinya. Rumah baru keadaan setengah jadi itupun di renovasi habis - habisan oleh mamaku. mulai dari pasang langit2 atas, menentukan cat rumah itu pilihan aku sama mama looh. keramik pakai tukang dan sangat diawasi dengan detail sama mama. Memasang pintu dan jendela satu persatu sesuai dengan tersedianya uang atau tidak. Pelunasan hutang pembayaran rumah, bahkan sampai pengurusan surat - surat rumah pun semua selesai diurus sendiri oleh mama ke notaris dan kelurahan (ditemani aku yang mengantar pakai motor)

Aku Lulus Kuliah. Permintaan mamaku waktu itu adalah aku bisa menyelesaikan kuliahku, jangan sampai terhenti ditengah jalan. Dan alhamdulilah, dengan izin Allah, jalanku untuk menyelesaikan S1 ku sangatlah mudah. Dan pada 19Oktober2014, mama telah melihatku memakai toga. Walau tidak dapat melihat secara langsung acara pengukuhanku karna mama saat itu sudah susah untuk bangun dari tempat tidurnya.

Aku di PPM. Mungkin ini salah satu lagi restu mamaku mengizinkan ku untuk tinggal di PPM, menyelesaikan pemanqulanku (tersisa beberapa yg belum), memberikanku kesempatan untuk mempersungguh agama, memperbanyak keilmuan.

Alhamdulillah. Alhamdulillahi Jaaza Kilahu Khoiro mama sayang.
Mama disaksikan baik. Dan kakak juga berusaha supaya jadi anak yang sholehah agar senantiasa bisa mendoakan mu, amacin sayang ..
Hj. Dwi Aji Astuti S.Pd (sebenarnya sudah memiliki gelar S2, namun saya tidak tahu)
Foto ini saat aku masih usia 4 atau 3 tahun. Kami keluarga kecil yang menghadiri acara nikahan teman mamaku

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