Kamis, 19 Oktober 2017

EthBooks - Toko Buku Elektronik Pertama Di Dunia Yang Menyediakan Topik Cryptocurrency

Perkembangan cryptocurrency saat ini mulai semakin pesat dan banyak orang yang penasaran apa itu cryptocurrency. Dengan banyaknya keinginan untuk tahu dengan cryptocurrency, maka orang-orang akan berusaha mencari informasi lewat media apapun. Hal ini muncul karena sering muncul pertanyaan seperti ini :
- Apa itu cryptocurrency ?
- Bagaimana cara memulai trading dengan cryptocurrency ?
- Bagaimana menyimpan cryptocurrency secara aman ?

Dan pertanyaan lain yang sering muncul bagi orang yang mungkin baru memulai atau mengenal cryptocurrency. Hal ini yang membuat munculnya Ethbooks sebagai toko buku elektronik pertama di dunia yang menyediakan topik tentang cryptocurrency yang dapat dilihat melalui situs www.ethbooks.net. Hal menarik munculnya Ethbooks yang menyediakan topik cryptocurrency karena saat ini kita tahu bahwa margin terbesar dari uang digital berasal dari Cina, Korea Selatan, Rusia, Kanada dan Amerika Serikat. Dan saat ini perkembangan Cryptocurrency mengalami kemajuan yang pesat.

Tujuan Ethbooks

Ethbooks bertujuan menjadi media penghubung dengan para legenda yang sudah lama menjalankan atau menggunakan cryptocurrency. Sehingga Ethbooks berfokus menyediakan buku elektronik dengan topik cryptocurrency. Cara kerjanya adalah Ethbooks memberikan kesempatan kepada penerbit untuk mengupload hasil karyanya secara gratis dan pembeli dapat mencari, mereview dan membeli buku  elektronik yang diminati berkaitan dengan topik cryptocurrency. Hal ini menjadikan Ethbook sebagai toko buku satu-satunya yang menyediakan buku elektronik yang berkualitas dan lengkap berkaitan dengan cryptocurrency.

Fitur Yang Dikembangkan

Ada beberapa fitur yang dikembangkan oleh Ethbook yang akan dimasukkan untuk mempermudah layanan kepada pembeli atau penerbit. Berikut fitur yang dikembangkan :
  1. Mesin Pencarian. Hal ini untuk mempermudah dalam pencarian dengan kata kunci judul, ISBN, seri dan penulis bagi pelanggan
  2. Best Seller. Fitur ini ditujukan untuk penjualan terbaik
  3. Pilihan Editor. Para editor akan memilih tiga buku elektronik yang berkualitas untuk ditempatkan di halaman ekspos bagian atas.
  4. Ebook Terbaru. Menampilkan buku elektronik terbaru yang diterbitkan di Ethbooks dan topiknya berkaitan dengan cryptocurrency.
  5. Kategori Populer. Menampilkan kategori populer di Ethbooks.
  6. Otentikasi. Dimana terdapat 2 faktor otentikasi untuk mencegah akses yang tidak valid.
  7. DDos Mitigasi. Ini merupakan layanan yang jadi prioritas utama dimana bertujuan untuk menjaga layanan tidak terganggu dimana layanan ini berbasis cloud.
  8. Implementasi SSL. Memastikan agar dalam proses pengiriman dan penerimaan data tetap aman maka diterapkan SSL (https).
  9. Password. Hal ini bertujuan untuk memastikan sandi disimpan dalam hash sebagai tambahan keamanan.
  10. PGP Enskripsi. Bertujuan untuk mengamankan EBK wallet disimpan di Ethbooks.
  11. Forum Ethbooks. Bertujuan untuk memudahkan dalam membahas isu penting yang berkaitan dengan cryptocurrency.
  12. Freebies. Bagian yang memberikan buku elektronik gratis.
  13. EthSquad. Teknologi anti pembajakan yang dimiliki oleh Ethbooks.

Ethbooks Token

Metode pembayaran pada Ethbooks dibangun dengan teknologi Etherium Smart dimana ada 2 metode yang digunakan :
  1. Storage (Penyimpanan). Pengguna dapat melakukan pembayaran melalui token EBK yang disimpan di toko Ethbooks untuk pembayaran yang cepat. Dimana dapat juga melalui MyEtherWallet, Mist, Jaxx, Exodus, Metamask, Ledger Nano atau Trezor.
  2. Ethbooks Currency. Pembayaran juga bisa melalui bursa token dimana harga buku elektronik juga dipublikasikan di EBK.
Demikian publikasi tentang Ethbooks, toko buku elektronik pertama di dunia yang menyediakan topik dari buku yang dipublikasi berkaitan dengan cryptocurrency. Untuk informasi lebih lanjut dapat mengunjungi situs dibawah ini :

Sabtu, 14 Oktober 2017

Testabilitas Yang Harus Dimiliki Oleh Programmer

Sesuai dengan judul dari tulisan ini maka idealnya seorang programmer harus memiliki kemampuan untuk menerapkan testabilitas pada software yang dibuat baik itu desain, sistem maupun produk dari software itu sendiri. Hal ini bertujuan agar mempermudah testing dalam membuat dan mendesain test case yang efektif dan lebih mudah.
Berbicara mengenai testabiltas, secara sederhana menurut James Bach, testabilitas software adalah seberapa mudah suatu program komputer untuk dites. Oleh karena itu, kadang programmer dapat membantu proses testing dan memberikan daftar item desain yang mungkin, fitur dan lain-lain yang dapat membantu jika tester dapat bekerja sama dengan programmer. Berikut karakteristik yang harus dimiliki oleh programmer :

Operability

Dalam hal ini seorang programmer dapat menerapkan yang disebut “Semakin baik software bekerja, maka akan membuat software dapat dites dengan efisien. Hal-hal yang diperhatikan adalah :

  1. Sistem mempunyai bug baru (bug menambah biaya tidak langsung pada proses testing, dengan adanya analisa dan pelaporan)
  2. Tidak ada bug yang menghentikan eksekusi tes
  3. Produk berubah dalam tahap fungsional (memungkinkan pengembangan dan testing yang simultan)

Observability

Karakter ini diterapkan dengan konsep “Apa yang Anda lihat, adalah apa yang Anda tes”. Hal ini berkaitan dengan sebagai berikut :

  1. Hasil dari setiap keluaran harus menunjukkan hasil dari masukan
  2. Kondisi sistem dan variabel dapat dilihat atau di query selama eksekusi berlangsung
  3. Kondisi dan variabel sistem lama juga dapat dilihat atau di query
  4. Semua faktor yang mempengaruhi keluaran dapat dilihat
  5. Keluaran yang salah dapat dengan mudah diidentifikasikan 
  6. Kesalahan internal dapat secara otomatis dideteksi oleh mekanisme tes yang menyeluruh
  7. Kesalahan internal secara otomatis dilaporkan
  8. Source code dapat diakses

Controllability

Ini merupakan kemampuan mengendalikan software, dimana dengan semakin baik programmer dapat mengendalikan software, maka semakin banyak testing dapat diotomatisasi dan dioptimalisasi. Untuk kontrol ini, programmer dapat menerapkan yaitu :

  1. Semua kemungkinan keluaran atau output dari program dihasilkan dari berbagai kombinasi masukkan
  2. Semua kode dieksekusi dari beberapa kombinasi masukan
  3. Kondisi hardware dan software serta variabel dapat dikontrol secara langsung oleh test engineer
  4. Format masukan dan keluaran harus konsisten dan terstruktur
  5. Testing dapat dengan mudah dispesifikasikan, otomasi dan dibuat ulang

Decomposability

Penerapan batasan untuk testing harus dilakukan dan dikendalikan agar lebih cepat dalam mengisolasi masalah dan melakukan testing ulang yang lebih baik. Untuk itu terapkan pada software sebagai berikut :

  1. Sistem software dibangun dari modul-modul yang independen
  2. Modul sofware dapat di tes secara independen (sendiri-sendiri)

Simplicity

Kesederhanaan fungsi pada software akan menjadikan aktifitas tes pada software semakin sedikit dan semakin sedikit yang dites maka semakin cepat juga dalam melakukan testing. Oleh karena itu, terapkan pada software sebagai berikut :

  1. Kesederhanaan fungsi (fitur yang ada dibuat seminimal mungkin untuk memenuhi kebutuhan yang ada)
  2. Kesederhanaan struktur (arsitektur dibuat sesederhana mungkin untuk menghindari kesalahan)
  3. Kesederhanaan kode (standar dari kode dibuat agar dengan mudah diinspeksi dan dirawat)

Stability

Sebuah software yang bagus adalah yang sedikit mengalami perubahan, karena dengan sedikit perubahan pada software maka semakin sedikit masalah atau gangguan testing. Hal ini bisa terjadi karena :

  1. Perubahan dari software terjadi kadang-kadang
  2. Perubahan dari software tidak terkendali
  3. Perubahan dari software tidak dapat divalidasi pada tes yang ada
  4. Software dapat melakukan perbaikan untuk kembali berjalan dengan baik (recovery) dari kegagalan proses

Understandability

Memberikan informasi yang banyak yang dimiliki oleh programmer maka akan menjadikan tes terhadap program berjalan dengan baik. Oleh karena itu, untuk pemahaman yang lebih baik terapkan hal sebagai berikut :

  1. Desain mudah dimengerti dan dipahami dengan baik
  2. Keterkaitan antara internal, eksternal, dan share komponen dipahami dengan baik
  3. Perubahan desain harus dikomunikasikan
  4. Dokumentasi teknis dapat dengan mudah diakses
  5. Dokumentasi teknis diorganisasi dengan baik
  6. Dokumentasi teknis berisi spesifikasi dan detail
  7. Dokumentasi teknis yang akurat
Itulah atribut atau karakteristik yang disarankan oleh Bach yang dapat digunakan oleh programmer agar pada saat mengembangkan suatu konfigurasi software seperti program, data dan dokumen dapat diterapkan sehingga dapat membantu testing.

Senin, 02 Oktober 2017

Change - Bank Masa Depan dan Pertama Di Dunia Menggunakan Kripto

Perkembangan teknologi saat ini sangat mempengaruhi berbagai macam industri, kita ambil contoh seperti Uber, AirBnB, dan Netflix yang menerapkan teknologi untuk mengembangkan model bisnis baru dan kreatif. Namun disisi lain, terutama industri perbankan masih menerapkan cara yang konvensional dalam sistem kerja dan hanya dilakukan oleh pemilik yang mapan dengan modal yang besar serta bergantung dengan keuangan yang didapat dari customer. Namun seiring waktu dengan inovasi yang signifikan maka penerapan teknologi pada sistem keuangan dapat dicapai untuk memberikan proposisi yang sesuai dengan kebutuhan pelanggan.
Banua Code kali ini akan membahas tentang bank kripto pertama di dunia yang memanfaatkan teknologi blockchain untuk menghubungkan FinTech di seluruh dunia. Siapakah dia?? Dia adalah Change Bank.. Profil mereka bisa di lihat di change-bank.com. Merupakan bank kripto pertama di dunia dengan menawarkan bebagai macam layanan perbankan seperti kartu bank, investasi, mata uang crypto dan lain-lain.

Layanan Perbankan dan Keunggulan

Global Onboarding

Rancangan pertama yang diterapkan oleh Change adalah Global Onboarding dimana Change akan memvalidasi secara otomatis transaksi oleh pengguna dengan pihak ketiga lainnya dengan Tokenisasi KYC bersama. Dimana layanan ini dapat dilakukan melalui platform aplikasi mobile yang diberi nama e-Know-Your-Customer (KYC).

Universal Crypto Wallet

Aplikasi Change memberikan layanan untuk penyimpanan kripto yang dimiliki. Hal ini mempermudah pengguna dalam bertransaksi seperti transfer dana atau lainnya. Hal ini mempermudah pengguna dalam melakukan kontrol mata uang kripto yang dimiliki pengguna secara intuitif dan mudah.

Payment Card

Untuk yang satu ini merupakan kebutuhan yang sangat diperlukan oleh pengguna Change, karena dengan menggunakan kartu dapat mempermudah untuk melakukan transaksi pembayaran dengan kripto di seluruh dunia baik yang online maupun offline.

Redefining Cash Back

Keuntungan pengguna yang bertransaksi menggunakan Change Card adalah cash back dari transaksi yang dilakukan baik online maupun offline. Ini merupakan hal yang sangat bagus untuk memberikan reward kepada pengguna dimana cash back yang di dapat adalah Change Coin.

Biaya Transaksi

Keunggulan dari Change adalah dengan tidak membebankan biaya kepada pengguna seperti membuka akun, transfer dana dan pembayaran lainnya. Hal ini karena Change merupakan bank digital yang melakukan pendekatan dan biaya yang transparan serta menyeluruh.

Tingkat Keamanan

Untuk tingkat keamanan transaksi, Change memberikan keamanan yang maksimal dan privasi bagi penggunanya. Hal ini karena Change sudah menggunakan teknologi blockchain dimana Change Card dapat dikunci dengan aplikasi.


Demikian penjelasan singkat tentang Change dimana merupakan bank pertama di dunia yang menggunakan Kripto untuk transaksi perbankan. Untuk penjelasan lebih lanjut dapat mengunjungi situs dari Change dibawah ini.

Official Website : https://change-bank.com
Whitepaper : https://drive.google.com/file/d/0B4RKXcemFwwbcy1NYk1IVXdTNmc/view
Bitcointalk profile : https://bitcointalk.org/index.php?action=profile;u=1102917;sa=summary
ETH address : 0x5d84aaa47EC9AaCD04867e2F1B59D0b7a63Cda5d

Kamis, 28 September 2017

Faktor Kualitas Sebuah Software

Assalamu'alaikum pembaca yang budiman..
Kali ini saya ingin menuliskan hal tentang kualitas software. Kenapa ingin menuliskan ini karena hari ini baru membahas bersama mahasiswa saya di kelas. Dimana bahasan yang saya sampaikan adalah tentang faktor kualitas sebuah software. Kenapa pentingnya memperhatikan kualitas software ? karena hal ini penting agar software yang kita hasilkan terutama bagi programmer yang bergelut dalam dunia koding dapat menerapkan pada proses pengembangan software. Hal ini juga bertujuan agar dengan menghasilkan software yang berkualitas, maka kepercayaan terhadap software yang kita buat akan kita dapatkan. Dan dengan kepercayaan klien terhadap kita akan meningkatkan profit yang kita dapatkan. Ini lah yang jadi pokok bahasan materi yang saya sampaikan kepada mahasiswa dan ini sangat menarik untuk dibahas agar paradigma programmer yang akan datang lebih terbuka untuk memperhatikan kualitas dari software yang dihasilkannya.
Secara umum, kualitas software dapat dibedakan menjadi 3 faktor yaitu fungsionalitas, rekayasa, dan adaptabilitas. Dari ketiga faktor tersebut dapat disebut juga sebagai dimensi dari ruang lingkup kualitas software. Dan dari ketiga faktor tersebut, terbagi lagi ke dalam beberapa faktor-faktor komponen yang lebih detail akan dijelaskan. Adapun faktor-faktor tersebut adalah :

Fungsionalitas

- Kebenaran (Correctness)
Sebuah software akan berkualitas jika software yang dibuat sesuai dengan spesifikasi yang dibutuhkan. Sehingga seorang programmer dalam membuat sebuah software jangan lepas atau keluar dari lingkup spesifikasi yang sudah ditetapkan karena spesifikasi yang sudah ditetapkan merupakan kebutuhan yang diinginkan.

- Reliability
Aplikasi yang dibuat diharapkan jangan sampai mengalami kegagalan pada saat digunakan. Hal ini penting agar fungsi dari aplikasi dibuat dapat diterapkan dan keinginan dari pengguna dapat di akomodasi di dalam software yang dibuat.

- Kegunaan (Usability)
Terkadang pengguna dari software adalah orang yang sudah lama menerapkan sistem secara manual dan pada saat sistem komputerisasi diterapkan maka pengguna tersebut harus belajar untuk memahami software yang dipakai. Oleh karena itu, penting seorang programmer memperhatikan karakter dari pengguna yang akan menggunakan aplikasi yang dibuat. Sehingga dari segi desain harus dibuat lebih mudah untuk digunakan atau bisa dikatakan "Jangan membuat software yang gampang bagi programmer sendiri tapi sulit bagi pengguna yang akan memakainya". Jadi jangan sampai hal itu terjadi.

- Integritas (Integrity)
Sebuah sistem di dalam software terdiri dari data yang penting, oleh karena itu penting pada saat membuat software untuk memperhatikan segi keamanan dari software agar tidak ada penyalahgunaan dari pihak yang tidak berwenang terhadap aplikasi.

Rekayasa

- Efisiensi (Efficiency)
Pada saat proses mengkoding program, seorang programmer berusaha agar kode program yang diterapkan pada aplikasi lebih efisien. Dimana diusahakan bila ada kode program yang sama, jangan dituliskan atau menggunakan procedure. Dan dari segi operasional jangan sampai pengguna merasa kerepotan pada saat menggunakan aplikasi.

- Testability
Sebuah software jika tidak dilakukan pengujian pada saat proses pengembangannya, maka tidak bisa diketahui apakah software sudah benar atau belum. Dan hal ini menjadi tolak ukur bahwa software sudah teruji dan sesuai persyaratannya.

- Dokumentasi
Seorang programmer harus terbiasa mendokumentasikan hasil dari pekerjaannya agar pada saat terjadi sesuatu hal yang tidak diinginkan masih ada histori dari proses koding. Dan juga membiasakan membuat blueprint dari software yang akan dibuat. Sehingga dengan terbiasa mengikuti dokumen yang dibuat, maka software yang dihasilkan pun sama dengan dokumen yang ada.

- Struktur
Seorang programmer harus terbiasa untuk menerapkan pola rekayasa yang baik. Menurut saya pola yang baik terdiri dari tahapan analisa sistem, desain atau perancangan, koding atau implementasi, testing dan pemeliharaan.

Adaptabilitas

- Fleksibilitas (Flexibility)
Sebuah software diharapkan dapat menyesuaikan dengan kebutuhan pengguna jika dikemudian hari ada pengembangan lanjutan. Oleh karena itu, software harus bisa dimodifikasi untuk disesuaikan dengan kebutuhan pengguna dan itu harus diterapkan pada aplikasi.

- Reusability
Aplikasi yang dibuat diharapkan dapat digunakan untuk pengembangan aplikasi lain. Dalam artian bahwa software dapat dipakai jika dikemudian hari terdapat pengembangan software lain dan tinggal mengintegrasikan dengan software yang baru.

- Maintainabillity
Sebuah software harus lebih mudah untuk dilakukan perbaikan jika terjadi kerusakan pada aplikasi. Hal ini menjadikan software semakin lama semakin teruji dengan adanya perbaikan yang terus menerus dan lebih mudah untuk langsung diperbaiki jika terdapat kerusakan.

Demikian beberapa faktor yang menentukan kualitas software dan diharapkan dengan menerapkan faktor tersebut pada software yang dibuat dapat meningkatkan kualitas dan meninggkatkan profit dari software tersebut.

Selasa, 26 September 2017

Saving Payment With UAHPAY

Banua code this time introduced on Cryptocurrency card offered by UAHPAY. Before we discuss about what services are offered by UAHPAY, first we get to know what it is UAHPAY. UAHPAY focus on the development of blockchain technology, trading platform and applications with a great platform. UAHPAY consists of a reliable team with skills that range from expert Cryptocurrency, Ukraine Politics, banking and security.

UAHPAY VISION

UAHPAY had a vision to provide a secure banking system for the citizens of Ukraine. And to increase the confidence and sense of security that is offered is blockchain technology. Services rendered for the client consists of a currency exchange in real time without the cost of interbank transfer, international, and other banking servicessuch as loans with repayments a lighter.


INTEGRATED FIAT PAYMENT SYSTEM

Integrated bank accounts with IBAN and SWIFT, debit Visa and Mastercard's, instant foreign exchange and online payment processing. All services will support fiat currencies and cryptocurrencies.

CRYPTOCURRENCY AND ICO EXCHANGE

Participate in Initial Coin Offerings and buy Cryptocurrerncies with their revolutionary online trading platform. Their goal is to provide a legal and regulated Government sponsored trading network.

FOREX CRYPTOASSET & COMMODITY EXCHANGE

Trade commodity backed Cryptocurrencies and other investment products such as equity traded, other equity based crypto funds such as Crypto Mortgage Bonds (CMB's) and Crypto Hedge Funds (CHF'S).

THE UAHPAY CARD

The advantage of using UAHPAY cards are as follows :

EARN CASH BACK

Cashback in UAH with each spend with UAHPAY Platinum card. Instant conversions from BTC and ETH. Their cards are accepted at over 30M merchants.

ANTI-FRAUD A.I

Merchant processing & blockchain Anti-Fraud solutions which use their revolutionary Artificial Intelligence & Biometric Anti-Fraud protection

CONCIERGE SERVICE

Need tickets to the big game? Marriage Proposal? Airline Tickets or Hotel? Their have covered with our 24/7 concierge service


APP FEATURES

Global Banking at customer fingertips. Both IOS and Android apps have been built in-house by their world class development team with a focus on ease of use and intuitive UI.
Their app puts customer in contact with a personal concierge who is always there for customer banking and other daily needs. Their integrated event ticket and travel service gives you deals on demand.

Features offered UAHPAY who became their goals include :

EASY E-KYC ONBOARDING

Their mobile onboarding process is done in house with real-time credit checks and facial recognition software and ID verification. This process is quick and painless.

SANCTIONS CHECKS

In order to comply with licensing and regulation their system will check against known sanctions against companies and individuals before completing the onboard process.

EASY P2P TRANSFERS

UAHPAY users can select 55 Cryptocurrency to perform the transfer or fiat payment amounts with quick, easy and instant

APPLE & GOOGLE PAY

One of their key payment features will include the ability to use the mobile phone to make purchases in store with the Apply and Google Pay API’s. Payments can be made quickly using the phone and without using the Chip and PIN function of your card which will greatly speed up the transaction processing time while in line at favorite merchant.

INTERBANK EXCHANGES

Quickly exchange, hold and spend fiat currency holdings within seconds. UAHPay will be one of only a few companies worldwide for offer to customers perfect interbank currency exchanges. This can save customers thousands of dollars a year in exchange fees.

NFC PAYMENTS (DIRECT)

Using their in app in person or web transfer function is as easy as scanning a QR code. NFC technology allows customer account details and transfers to be stored inside jewelry such as a payment ring or keychain token.

CROSS BORDER TRANSFERS

UAHPay will be a full service financial institution which will allow users to make cross border transfers using Western Union and SWFT Bank Transfers. All users will have IBAN ready bank accounts.

CRYPTO EXCHANGE

Using the CoinPayments API we allow our users to transfer Cryptocurrencies from over 55+ Altcoins at current exchange rates for a 1% fee.


As for the services provided by UAHPAY of which are as follows :
ACCOUNT SERVICES
- Savings Accounts
- Business Accounts
- Home & Business Loans
- Personal Lines of Credit

PAYMENT CARDS
- Visa and Mastercard Branding
- Real-time issuance
- Connected to Fiat Accounts
- Direct Crytocurrency Spending

CREDIT CARD PROCESSING
- Standard Merchant Processing
- Business Merchant Processing
- Altcoin Processing
- Anti-Fraud A.I and Client Fingerprinting

INSTANT ALTCOIN EXCHANGE
- Coinpayments Integration
- Real-Time Altcoin Exchanges

ERC20 CONTRACT CREATION
- Smart Contract Creation
- Smart Contract Auditing
- Smart Contract Consulting

ICO SALES PLATFORM
- Regulated ICO Exchange Platform
- Analytics and Audits
- ICO Development
- ICO Marketing and Web analytics

MOBILE WALLETS
- IOS Apps
- Android Apps
- Browser Apps

ANTI-FRAUD and NETWORK A.I
- Customized Content Training
- Workshops curriculum for customer team
- Full-day training at customer office
- Flexible time and location

Such information about UAHPAY delivered through media Banua Code. For more information you can visit through the information that can be seen here:

Official Website : https://www.uahpay.com/#intro
Whitepaper : https://www.uahpay.com/uahpay-v1.pdf
ANN Thread : https://bitcointalk.org/index.php?topic=2198436.0
Bitcointalk profile : https://bitcointalk.org/index.php?action=profile;u=1102917;sa=summary
ETH address : 0x5d84aaa47EC9AaCD04867e2F1B59D0b7a63Cda5d

Sabtu, 09 September 2017

File Service Di Dalam Sistem Terdistribusi

Pada bahasan kali ini akan dipaparkan tentang file service di dalam sistem terdistribusi. Tujuan pembahasan ini agar pembaca dapat memahami apa saja yang terjadi di dalam sistem terdistribusi sehingga sistem dapat berjalan dengan baik. Terlebih dahulu memahami file sistem terdistribusi atau dalam istilah bahasa inggris adalah Distributed File System (DFS). DFS adalah file sistem yang mendukung sharing files dan resources dalam bentuk penyimpanan persistent di sebuah network. File server pertama kali di kembangkan pada tahun 1970 dan Sun NFS (Network File System) menjadi DFS pertama yang banyak digunakan setelah awal muncul di tahun 1985. DFS yang terkenal selain NFS adalah AFS (Andrew File System) dan CIFS (Common Internet File System).
Sebuah file server menyediakan file service ke client. Dari sisi client terdapat interface untuk file service dalam hal operasi primitif file, seperti membuat file (create), menghapus (delete) dan read /write file. Komponen perangkat keras utama yang mana file server mengontrolnya adalah sebuah local storage (umumnya disk drive / HDD). Ditempat itulah file-file tersimpan dan dari tempat tersebut request client meretrive file. Pada DFS client, server dan juga perangkat penyimpanan merupakan mesin terpisah dalam sebuah lingkungan terdistribusi (Intranet). Jadi, aktifitas layanan (service) dibawa melewati jaringan (network), jadi selain sistem memiliki satu data terpusat, sistem memiliki beberapa perangkat penyimpanan independent. Konfigurasi konkret dan juga implementasi dari sebuah DFS dapat beragam bentuknya. Dalam beberapa konfigurasi, server berjalan sebagai dedicated machine (layanan terpusat) atau juga menjadi server dan client. DFS dapat diimplementasikan sebagai bagian dari Sistem Operasi Terdistribusi dengan sebuah layer software yang tugasnya mengatur komunikasi antara sistem operasi konvensional dan file system.
Parameter untuk mancapai DFS adalah transparansi. Secara ideal, DFS terlihat sebagai bentuk file system terpusat, faktor keseragaman (multiplicity) dan penyebaran server serta perangkat penyimpanan tidak terlihat oleh user. Oleh karena itu interface client yang digunakan program tidak akan membedakan antara file local dan remote. Semuanya tergantung dari implementator DFS untuk mengalokasikan file-file dan menyusun transportasi data. Kelebihan lain dari DFS adalah peningkatan performa. Yang menjadi tolak ukur pengukuran performa DFS adalah waktu yang dibutuhkan untuk merespon request layanan.
Saling berbagi media penyimpanan informasi sudah menjadi sesuatu hal yang penting dalam resource sharing. Desain service file terdistribusi yang baik adalah menyediakan akses distribusi file dengan performansi dan realibilitas yang sama atau lebih baik dari penyimpanan file-file dalam disk local dalam bentuk transparent.
Desain skala besar dari proses sistem penyimpanan baca tulis file pada wide area menimbulkan masalah pada load balancing, reliabilitas, avaibility dan security. File sistem yang terdistribusi mengemulasikan fungsionalitas dari file sistem tak terdistribusi untuk program client yang berjalan pada komputer remote. File sistem terdistribusi juga menyediakan hal-hal pokok untuk pengorganisasian komputer yang berbasiskan jaringan intranet.  

Pengenalan File Service

File service adalah suatu perincian atau pelayanan dari file system yang ditawarkan pada komputer client. Suatu file server adalah implementasi dari file service dan berjalan pada satu atau lebih mesin. File itu sendiri berisi dari nama, data dan atribut file seperti kepemilikan file, ukuran, waktu pembuatan file dan hak akses file. File sistem merupakan mekanisme penyimpanan on-line serta untuk akses, baik data maupun program yang berada dalam sistem operasi.  

Karakteristik dari File System

File Sistem adalah bertanggung jawab untuk pengorganisasian, penyimpanan, pencarian keterangan, penamaan, sharing atau pembagian dan protection atau perlindungan dari file-file. File berisi dari dua bagian penting yaitu data dan atribut. File sistem didesain untuk menyimpan dan mengatur banyak dan besar file dengan fasilitas untuk membuat, memberi nama dan menghapus file. File system juga bertanggung jawab untuk pengontrolan dari akses file, akses terbatas ke file oleh user yang berhak dan tipe-tipe dari akses yang diminta.

Operasi pada file (=data + atribut) 

  1. Create / delete 
  2. Query / Modifikasi Atribut 
  3. Open / Close 
  4. Read / Write 
  5. Akses Kontrol

Organisasi penyimpanan 

  1. Struktur direktori (hirarki, pathname) 
  2. Metadata (pengaturan informasi file) : atribut file, informasi struktur direktori, dan lain-lain  

Atribut File

File adalah kumpulan informasi berkait yang diberi nama dan direkam pada penyimpanan sekunder. Atribut file terdiri dari :
  1. Nama. Merupakan satu-satunya informasi yang tetap dalam bentuk yang bisa dibaca oleh manusia (human readable form) 
  2. Type. Dibutuhkan untuk sistem yang mendukung beberapa tipe berbeda 
  3. Lokasi. Merupakan pointer atau penunjuk ke device dan lokasi file pada device tersebut berada 
  4. Ukuran (Size). Ukuran file pada saat itu, baik dalam byte, huruf ataupun blok 
  5. Proteksi. Informasi mengenai kontrol akses, misalnya siapa saja yang boleh membaca, menulis dan mengeksekusi file 
  6. Waktu, tanggal dan identifikasi pengguna. Informasi ini biasanya disimpan untuk : Pembuatan file, Modifikasi terakhir yang dilakukan pada file, Penggunaan terakhir file.  

Struktur File System 


  1. Modul direktori : menghubungkan nama file dengan ID file
  2. Modul File : menghubungkan ID dengan file tertentu
  3. Modul Akses Kontrol : memeriksa permission utuk operasi yang diminta
  4. Modul Akses File : read / write data file atau atribut
  5. Modul Blok : akses dan alokasi blok disk
  6. Modul Perangkat : disk I/O dan buffering  

Komponen File service

Komponen-komponen file service adalah terdiri dari : 

  1. File Service. Pengoperasian dari masing-masing file. 
  2. Directory Service. Management atau pengaturan direktori 
  3. Naming Service
  • Location Independence : File dapat dipindahkan tanpa penggantian nama
  • Hal yang umum untuk penamaan file dan directori : 
  • Mesin + nama path e.g / machine / path atau machine : path 
  • Mounting File sistem secara remote kedalam hirarki local file. 
  • Single name space yang sama pada semua mesin.
  • Dua level penamaan : Nama simbolik yang dilihat user dan nama binary yang dilihat oleh sistem.      

Kebutuhan File System Terdistribusi

Transparansi (Client tidak menyadari adanya lingkungan terdistribusi) 

  1. Akses Transparan 
  2. Lokasi Transparan 
  3. Mobilitas Transparan 
  4. Performa Transparan 
  5. Scaling Transparan 
  6. Concurrent File Update 
  7. Replikasi File  
  8. Heterogenitas 
  9. Toleransi Kesalahan 
  10. Konsistensi 
  11. Keamanan 
  12. Efisiensi  

Kebutuhan File System Terdistribusi


  1. Transparency. Keseimbangan antara flesibilitas dan skalabilitas terhadap kompleksitas dan performansi dalam desainnya.
  2. Concurrent File Updates. Perbaruan file serentak bersamaan antara file server dan client. Kebanyakan arah sistem mengikuti standar UNIX dalam memberikan pelayanan advisory atau mendatory file atau record file level locking.
  3. File Replication. Replikasi dapat untuk share load, untuk mempertinggi fault tolerance, dan untuk mempertinggi scalability. Kebanyakan sistem yang ada dapat melayani caching dengan replication terbatas. Sebagian dapat melayani full replication.
  4. Hardware dan Operating Systems. Heterogenitas atau kesamaan adalah kebutuhan yang sangat penting dalam melayani keterbukaan.
  5. Fault Tolerance. Service harus terus menerus beroperasi walaupun terjadi kesalahan atau error pada client ataupun server
  6. Consistency
  7. Security. Semua sistem melayani mekanisme akses kontrol berbasiskan daftar akses kontrol (access control lists)
  8. Efficiency. Sistem harus dapat melayani perbandingan performance apakah lebih baik atau tidak.  
Opsi Desain dalam File Service 
- Stateful
- Stateless