Struktur Data Probabilistik: Bloom Filter

Struktur data mainstream seperti List, Map, Set, Tree, dll. banyak digunakan untuk mencapai hasil tertentu berkaitan dengan ada atau tidaknya data, mungkin bersama dengan jumlah kemunculannya dan semacamnya. Struktur data probabilistik akan memberikan efisiensi memori, hasil yang lebih cepat, bentuk hasil lebih ke ‘mungkin’ daripada ‘pasti’. Tampaknya tidak intuitif untuk menggunakan struktur data probabilistik untuk saat ini, tetapi tutorial ini akan mencoba meyakinkan bahwa jenis struktur data ini memiliki tempat pemanfaatan khusus dan kita mungkin menemukannya berguna dalam skenario tertentu.

Dalam posting ini, kita akan mendiskusikan tentang salah satu struktur data probabilistik paling populer yang disebut Bloom filter. Silakan Akses Tutorial ini!

Tutorial Hadoop untuk Pemula

Jumlah data telah meningkat pesat dalam satu dekade terakhir. Ini termasuk volume besar dari berbagai format data yang dibangkitkan pada kecepatan sangat tinggi. Pada masa awal, bukanlah tugas yang berat untuk mengelola data, tetapi dengan meningkatnya data, telah menjadi lebih sulit untuk menyimpan, memroses, dan menganalisisnya. Data demikian dikenal sebagai Big Data. Bagaimana kita mengelola big data? Gunakan Hadoop, suatu framework yang dapat digunakan untuk menyimpan (store), memroses dan menganalisis big data.

Dalam tutorial ini kita akan mendiskusikan hal-hal berikut:

1. Mengapa Hadoop?
2. Apa itu Hadoop?
3. Hadoop HDFS
4. Hadoop MapReduce
5. Hadoop YARN
6. Kasus penggunaan Hadoop
7. Demo HDFS, MapReduce, dan YARN

Berminat? silakan download tutorial ilustratif ini, hanya 18 halaman koq 🙂

Hadoop MapReduce, Bagaimana Kerjanya?

MapReduce adalah suatu software framework dan programming model yang digunakan untuk pemrosesan jumlah data yang besar. Program MapReduce bekerja dalam dua fase, yaitu Map dan Reduce. Tugas Map berurusan dengan splitting dan mapping dari data sedangkan tugas Reduce melakukan shuffle dan reduce terhadap data.

Hadoop mampu menjalankan program MapReduce yang ditulis dalam berbagai bahasa: Java, Ruby, Python, dan C++. Program MapReduce sifatnya parallel, jadi sangat berguna bagi  pelaksanaan analisis data skala besar menggunakan banyak mesin di dalam cluster.

Inputan atau masukan untuk setiap fase adalah pasangan key-value. Setiap programmer harus menetapkan dua fungsi: fungsi map dan fungsi reduce.

Bagaimana MapReduce ini bekerja? Klik dan Baca Tutotorial yang disadur dari situs web guru99 ini!

Setup dan Reset Password Root MySQL pada Linux Ubuntu 18.04 Bionic Beaver

Tutorial ini bertujuan untuk memperlihatkan cara mensetup dari awal atau mereset password bagi pengguga root dari server basis data MySQL versi 5.7 yang berjalan pada Linux Ubuntu 18.04 (Bionic Beaver). Sebagaimana diketahui, mulai Ubuntu 18.04, instalasi MySQL dan MariaDB server tidak dituntaskan oleh installer mysql-server (via apt install mysql-server) dengan penentuan password root. Kita harus melakukannya secara manual menggunakan perintah mysql_secure_installation. Namun, pada beberapa kasus (termasuk di Elementary 5 dan Ubuntu 18.04.2 yang saya gunakan), pendekatan ini tidak berhasil.

Selain untuk membuat password baru bagi pengguna root (karena lupa misalnya), panduan ini juga dapat digunakan untuk menuntaskan Instalasi MyQL Server dan MariaDB tersebut, termasuk pada distribusi Linux berbasis Debian dan Ubuntu seperti Elementary dan Linux Mint.

Silakan download, baca, praktekkan dan semoga masalah terkait instalasi MySQL server dan “lupa” password root tuntas…tas… tas. Aamiin.

Mengenal Blockchain: Teknologi di Belakang Bitcoin

Dalam bahasa yang sederhana, Blockchain dapat didefinisikan sebagai suatu rantai blok (chain of the block) yang mengandung informasi. Teknik ini digunakan untuk mentimestamp dokumen digital sehingga tidak mungkin untuk membackdate atau merubahnya.

Blockchain digunakan untuk mengamankan transfer item-item seperti uang, properti, kontrak, tanpa memerlukan perantara pihak ketiga seperti Bank atau Pemerintah. Begitu data direkam ke dalam suatu blockchain, maka sudah sangat sulit untuk mengubahnya.

Blockchain merupakan suatu protokol software (seperti SMTP untuk email). Namun, Blockchains tidak dapat berjalan tanpa Internet. Disebut pula meta-technology karena ia mempengaruhi teknologi lain. Blockchain tersusun dari beberapa bagian: database, aplikasi software, beberapa komputer yang terkoneksi, dll.

Beberapa kali diistilahkan sebagai Bitcoin Blockchain atau Ethereum Blockchain dan kadang-kadang mata uang virtual atau token digital lainnnya. Namun, sebagian besarnya berbicara mengenai buku besar terdistribusi (distributed ledgers).

Dalam tutorial ini, kita akan mempelajari:

• Apa itu Blockchain?
• Bukan Blockchain!
• Arsitektur Blockchain
• Bagaimana Transaksi Blockchain Bekerja?
• Mengapa kita membutuhkan Blockchain?
• Versi Blockchain
• Varian Blockchain
• Kasus Penggunaan Blockchain
• Kasus Penggunaan Nyata dari Blockchain
• Bitcoin cryptocurrency: Aplikasi Blockchain Paling Populer
• Blockchain vs. Basis Data Bersama
• Mitos tentang Blockchain
• Keterbatasan teknologi Blockchain

Silakan download dan baca Tutorialnya. In syaa Allah dapat dituntaskan dalam 10 menit. Aamin.

Mata Kuliah Sistem Terdistribusi, Apa sih Isinya?

Di Universitas Trunojoyo Madura (UTM), Mata kuliah “pengantar” Sistem Terdistribusi (SisTer) mempunyai kode TIK-604. Artinya disediakan untuk Kita Semester 6. Penekanannya adalah pada teknik atau konsep fundamental untuk mewujudkan suatu sistem terdistribusi yang berfungsi, bermanfaat, dan berkinerja tinggi. Matakuliah SisTer ini hanya mempunyai satu tujuan utama, yaitu Kita (Kita) memperoleh pemahaman mengenai prinsip dan paradigma yang mendasari Sistem Terdistribusi, seperti Komunikasi antar entitas dalam dan antar jaringan, konkurensi (kebersamaan), sinkronisasi (penyelerasan), replikasi dan caching (penggKitaan data dan aplikasi), konsistensi dan toleransi kegagalan. Jadi, Kita harus betul-betul memahami konsep atau cara kerja dari SisTer. Terdengar Abstrak? Tidak juga, beberapa contoh akan memudahkan kita mendiskusikan konsep-konsep klasik dan modern di bidang yang sedang sangat dibutuhkan ini.

Continue reading

Memulai Pemrograman Node.js di Ubuntu 14.04

MEAN, singkatan dari MongoDB, Express.js, Angular.js dan Node.js merupakan gabungan 4 framework alias tool yang sedang trend dalam pengembangan aplikasi web. MongoDB adalah document-orieted database. 3 framework javascript di atas semuanya tangguh. Node adalah seperti sistem operasi atau web server yang dapat dihubungkan ke database server MongoDB, MySQL atau server database lain. Express digunakan untuk menyederhakan perintah-perintah Javascript yang ada di Node. Sedangkan angular lebih fokus untuk membangun sisi client dari aplikasi Web.

Tulisan saya kali ini mencoba untuk menjelaskan cara memulai menggunakan Node untuk membangun aplikasi Web, mulai dari instalasinya di Linux Ubuntu, cara menggunakan node secera interaktif, membuat program shell (mirip command line) dan membangun aplikasi web berbasis server. Semoga tutorial singkat ini memberikan manfaat. Aamiin.

Continue reading

It’s Docker Time: Saatnya Virtualisasi Dengan Docker

Alhamdulillah, beberapa hari terakhir kemarin mendapat kesempatan berbagi dan belajar bersama staf Pengelola sistem Hosting dan Software developer PTIK Universitas Trunojoyo Madura (UTM). Kami sharing cara menggunakan Docker untuk membangun lingkungan pengembangan aplikasi web yang ringan, mudah dan portabel. Kami lebih lanjut juga mempelajari mengenai HAProxy untuk mewujudkan sistem hosting yang mendukung reverse proxy dan load balancing namun tetap stabil, ringan tetapi powerful. Terakhir kami diskusi mengenai teknik persistensi data pada implementasi Docker untuk Server database MySQL. Banyak pengetahuan yang diperoleh….

Bagi rekan yang berminat mempelajari Docker dan HAProxy, Slide Training ini Insya ALLAH dapat dijadikan salah satu referensi. Mengenai instalasi Docker, silakan akses http://docker.com, mudah koq, cuma sebaris.

HAProxy: Reverse Proxy dan Load Balancer bagi Container Docker

Docker semakin banyak digunakan oleh para pengelola sistem hosting. setiap aplikasi dan domain dapat diletakkan di dalam suatu container terisolasi. Imagenya dapat dibawa dan dijalankan (menjadi container) dimana pun (selama ada Docker server) tanpa khawatir adanya ketidak-cocokan library (pada server Linux) dari aplikasi yang akan dijalankan. semua kebutuhan aplikasi telah dimasukkan ke dalam Image. Pengelola hosting cukup menjalankan Image tersebut dan mengatur akses Internet ke containernya. Singkatnya, administrator tinggal export dan import container Docker dan SELESAI. Tidak perlu lagi konfigurasi web server, pluginnya dan database. semuanya setelah setelah aplikasi dinyatakan siap PUBLISH.

Continue reading

Pembuatan Image MySQL-Server di Docker

A. Container tak persisten
B. Container persisten dengan Data Volume
C. Container persisten dengan Data-only Container

A. Container Tak Persisten

1. Buat direktori bernama “mysql-server”, cd (masuk) ke dalam direktori tersebut.
2. Buat file Dockerfile dengan isi sebagai berikut:
Continue reading