Jumat, 26 Juni 2015

SISTEM PENDIDIKAN BERBASIS TEKNOLOGI INFORMASI DAN KOMUNIKASI.

1. PENDAHULUAN
1. 1. Latar Belakang
Perkembangan komputer dalam bidang pendidikan, khususnya dalam pembelajaran sebenarnya merupakan mata rantai dari sejarah teknologi pembelajaran. Sejarah teknologi pembelajaran sendiri merupakan kreasi berbagai ahli terkait, yang pada dasarnya ingin beruapaya dalam mewujudkan ide-ide praktis dalam menerapkan prinsip dikdaktik, yaitu pembelajaran yang menekankan perbedaan individual baik dalam kemampuan maupun kecepatan. Teori-teori psikologi persekolah yang terkati dengan belajar tuntas (mastery learning) dengan tokoh-tokohnya seperti B. Carrol, Jerome S. Brunner dan Benjamin S. Bloom juga sangat berpengaruh terhadap perkembangan teknologi pembelajaran. Selain itu kerangka acuan yang tekait dengan perancangan atau desain pembelajaran juga turut menyemarakan perkembangan teknologi pembelajaran yang selanjutnya digunakan juga sebagai acuan dalam penyusunan bingkai kerja dalam pengembangan pembelajaran berdasarkan komputer.
Persepktif historis pembelajaran berasaskan komputer dimulai dari munculnya ide-ide untuk menciptakan perangkat teknologi terapan yang memungkinkan seseorang melakukan proses belajar secara individual dengan menerapkan prinsip-prinsip didaktik tersebut. Dalam sejarah teknologi pembelajaran kita menemukan bahwa karya Didney L. Pressey (1960) untuk menciptakan mesnin mengjar atau teaching machine bida dicatat sebagai pelopor dalam pemanfaatan teknologi dalam pembelajaran.
Pressey memandang bahwa mesin tes ini bida digunakan pula dalam mengajar dan dengan sedikit mengubah tujuan, dari tujuan menguji menjadi tujuan mengajar akhirnya alat itu digunakan juga sebagai mesin mengajar.
Pada tahun 1964, seorang ahli psikologi dari aliran behaviarisme yang ternama B.F Skiner menciptakan pembelajaran terprogram (berprogram) atau progamed instruction. Sistem pembelajaran terprogram memungkinkan interaksi prinsip dengan siswa dan interaksi siswa dengan guru yang dilakukan secara langsung, tetapi melalui program yang bidas berbentuk tulisan, rekaman radio, film dan sebagainya. Prinsip yang digunakan sejalan dengan prinsip belajar yang dikembangkannya, yaitu conditioning operan dimana siswa belajar melalui serangkaian stimulus-respon dan dalam program itu stimulus (pertanyaaan) ditemukan sendiri oleh siswa. Dalam program ini diberikan “kunci jawaban” yang dibisa diperiksa siswa setelah merespon, sehingga siswa mengetahui apakah responya b enar atau salah. Program linear ini dapat pula bercabang (branching). Model-model pembelajaran terpogram, baik program linear maupun branching inilah yang mewarnai pengembangan perangkat lunak dalam sistem pembelajaran berasaskan komputer.
2. PEMBAHASAN
2.1 Teknologi Komputer
Komputer adalah hasil karya manusia yang mampu membawa perubahan besar dalam berbagai bidang pekerjaan manusia, termasuk dalam bidang pendidikan. Dalam bidang pendidikan, komputer sebagai hasil teknologi modern sangat membuka kemungkinan-kemungkinan yang besar untuk menjadi alat pendidikan. Khususnya dalam pembelajaran, komputer dapat digunakan sebagai alat untuk menyampaikan informasi atau ide-ide yang terkandung dalam pembelajaran kepada peserta didik. Selain itu, komputer dapat digunakan sebagai media yang memungkinkan peserta didik belajar secara mandiri dalam memahami konsep. Hal ini sangat memungkinkan karena komputer mempunyai kemampuan mengkombinasikan teks, suara, warna, gaambar, gerak dan video serta membuat suatu kepintaran yang sanggup menyajikan proses interaktif.
2.2. Teknologi Informasi dan Komunikasi Dalam Dunia Pendidikan
Pada umumnya dalam bidang pendidikan, penggunaan teknologi berbasis komputer merupakan cara untuk menghasilkan atau menyampaikan materi dengan menggunakan sumber-sumber yang berbasis mikri prosesor, dimana informasi atau materi yang disampaikan disimpan dalam bentuk digital, bukan dalam bentuk cetakan. Berbagai jenis aplikasi disimpan dalam pendidikan umumnya dikenal dengan istilah “computer asissted Intruction (CAI)” atau pembelajaran berbantuan komputer (PBK). Dalam pembelajaran berbantuan komputer, peserta didik berhadapan dan berinteraksi secara langsung dengan komputer. Interaksi antara komputer dengan peserta didik ini terjadi secara individual, sehingga apa yang dialami oleh peserta didik akan berbeda dengan apa yang dialami peserta didik yang lainnya.
Pembelajaran dengan berbantuan komputer “Computer Assisted Intructioan (CAI) telah dikembangkan akhir-akhir ini dan telah membuktikan manfaatnya untuk membantu guru dalam mengjar dan membantu peserta didik dalam belajar. Komputer diharapkan dapat membantu puluhan peserta didik dan dimasa yang akan datang dapat membantu ribuan peserta didik sekaligus komputer dalam menyampaikan bahan pengajaran dengan melibatkan peserta didik secara aktif serta membolehkan umpan balik.
Disamping sebagai CAI pemanfaatan komputer dapat berupa CBI (Computer Based Instrction) yaitu pembelajaran berbasis Komputer. Dalam pamanfaatan komputer sebagai CBI ini terdapat 4 model yaitu: drill and practice, tutorial, simulasi dan games instuctions. Pembelajaran Berbasis Komputer yang bersifat individual learning (pembelajaran individual), dan mastery learning (belajar tuntas). Pembelajaran Berbasis Komputer dilaksanakan pada laboratorium komputer yang ada di sekolah.
3. PENUTUP
3. 1. Kesimpulan
Pemanfaatan TIK dalam pendidikan yaitu Perkembangan teknologi informasi dan komunikasi yang sangat pesat, sejak lama telah dimanfaatkan dalam dunia pendidikan. Seperti penemuan kertas, mesin cetak, radio, video taperecorder, film, televisi, overhead proyector (OHP), dan computer baik dalam bentuk computer asissted instuctional (CAI), maupun dalam bentuk somputer based instuctiona (CBI) serta e-learning telah dimanfaatkan dalam proses pendidikan.
Pada hakikarnya alat-alat tersebut ternyata dapat dimanfaatkan dalam proses pendidikan, bahkan dapat meningkatkan efektivitas, efisiensi dan kualitas hasil pembelajaran.
4. DAFTAR PUSTAKA
Prawiradilaga Salma, 2004. Mozaik Teknologi Pendidikan. Jakarta: Penerbit Kencana.
Supriyanto Aji, 2005. Pengantar Teknologi dan Informasi. Jakarta : Penerbit Salemba Infotek.
www.teknologipendidikan.wordpress.com

Sabtu, 13 Juni 2015

Instalasi Server dengan Ubuntu

Instalasi Server dengan Ubuntu

Pertama-tama agar ilmu yang akan kita pelajari ini berguna, ada baiknya jika kita mengetahui apa itu server dan apa fungsinya. Server, jika kita artikan ke dalam bahasa Indonesia artinya pelayan, jadi jika komputer server bisa dikatakan bertugas untuk melayani permintaan client nya yang masih berada didalam satu jaringan komputer. Selain itu, server juga bertugas mengatur lalu lintas sebuah jaringan dan menyediakan resource yang dapat digunakan oleh komputer lain dalam jaringan tersebut.

Maka dari itu, server diwajibkan memiliki RAM yang tinggi, karena dalam waktu yang bersamaan server harus melayani permintaan beberapa komputer client. Begitu juga dengan processor dan sistem operasi nya, diharapkan mempunyai performa yang tinggi dan handal.

Selanjutnya untuk mempelajari sebuah arsitektur client-server, maka diperlukan lebih dari 1 komputer. Karena akan ada yang bertindak sebagai server dan client. Akan tetapi jika kita mempelajari itu sendirian dan hanya memiliki satu komputer atau laptop, kita bisa menggunakan software virtualisasi. Pada percobaan kali ini, kami menggunakan software virtualisasi tersebut untuk menjadikannya sebagai server dari jaringan. Software virtual yang digunakan adalah Oracle VM VirtualBox yang dapat digunakan sebagai sistem operasi tambahan didalam sistem operasi utama.

Pada VirtualBox ini akan dibuat virtual mechine untuk instalasi server Ubuntu, berikut langkah-langkahnya :

1. Klik New atau Baru pada VM Virtualbox Manager.
  2. Isi nama untuk virtual machine, lalu klik Next.
  3. Sesuaikan ukuran memori dengan kebutuhan.
 4. Klik New setelah memilih pembuatan Virtual Hardisk.
 5. Untuk tipe berkas hardisk pilih VDI (Virtualbox Disk Image), lalu klik Lanjut.
 6. Pada penyimpanan hardisk fisik pilih dinamik, lalu klik Lanjut.
 7. Untuk ukuran Hardisk sesuaikan dengan kebutuhan. Lalu klik Buat.
Demikian telah terbuat virtual machine server, selanjutnya lakukan pengaturan untuk virtual machine tersebut. Berikut langkah-langkahnya :
1. Klik Button pengaturan pada VirtualBox.
 2.Pada kolom sistem, ubah urutan boot pertama dari CD/DVD dan kedua dari Hardisk.
 3. Pada kolom penyimpanan, klik icon CD(kosong). Lalu klik icon CD pada kolom Drive CD/DVD.
 4. Lalu, pilih sebuah berkas CD/DVD virtual.
 5. Pilih file ISO yang sudah disediakan sebelumnya, lalu klik open.
 6. Pada kolom jaringan/network disini kami menggunakan 2 buah network adapter. Pada adapter 1 pilih NAT. dan pada adapter 2 pilih adapter ter-bridge lalu klik OK.

Pengaturan untuk VirtualMachine server sudah selesai, maka klik button Mulai pada VirtualBox.
 Server Ubuntu akan berjalan dan melakukan konfigurasi seperti berikut :
1. Pilih Language English.
2. Pilih Install Ubuntu Server.
 3. Lalu untuk bahasa penginstalan pilih English.
 4. Untuk Location, pilih other (karena Indonesia tidak ada).
 5.Maka akan muncul pilihan continent, pilih Asia. dan selanjutnya pilih Indonesia.
 6. Pada pilihan Configure the keyboard pilih No lalu tekan Enter.
  7. Pilih English(US) untuk keyboard dan English untuk keyboard input.
  8. Pada Configure the Network pilih eth0.

  9. Masukan Hostname yang merupakan nama untuk komputer.
   10. Lalu isi username. Diisi misalnya saya isi ubuntu.
  11. Setelah mengisikan nama pengguna, anda diminta untuk memasukkan password.
  12. Pada configure the clock pilih jakarta.
  13. Pada partitioning method pilih Guided - use entire disk and setup L-VM.
  14. Tekan enter pada pilihan select disk to partition.
  15. Pilih yes lalu tekan enter.
  16. Continue
  17. Pilih yes lalu tekan enter.

  18. Pada pilihan proxy biarkan saja kosong.
  19. Untuk pilihan software tekan tombol spasi untuk memilih software disini saya pilih OpenSSH Server.
  20. Untuk pilihan Install GRUB boot loader pilih yes.
  21. Finish the instalation tekan enter.
  22. Ubuntu Server siap digunakan.

Mencoba TOOLS-TOOLSnya sebagai berikut :
1. Tes Koneksi
 2. Tes DHCP
 3. Tes DNS
 4. Tes FTP Hasil konfigurasi (Menggunakan filezila di tes di windows xp) upload
 5. Tes WEB Hasil Konfigurasi (Tes di windows xp)

Jumat, 12 Juni 2015

Aplikasi Client Server Sederhana

1. GET IP ADDRESS

Program di bawah ini merupakan program yang dapat digunakan untuk mengecek IP komputer yang sedang kita pakai.

import java.net.*;
public class getip {
public static void main(String args[]) throws Exception {
InetAddress host = null;
host = InetAddress.getLocalHost();
byte ip[] = host.getAddress();
for (int i=0; i<ip.length; i++) {
if (i > 0) {
System.out.print(".");}
System.out.print(ip[i] & 0xff);}
System.out.println();
}}

 
Jika kalian ingin mencoba program di atas, maka copy paste saja program di atas ke dalam notepad kalian. Lalu simpan dengan nama getip.java, setelah disimpan selanjutnya buka command prompt kalian, lalu compile program tersebut dengan cara mengetikkan javac getip.java. setelah program tersebut dicompile maka program tersebut sudah siap untuk dijalankan dengan mengetik java getip pada command prompt kalian. Setelah itu tampil output seperti gambar di bawah ini :
Pada line pertama terdapat syntax import java.net.*;, Sintax ini digunakan untuk mengimport semua library yang berada di dalam folder net pada folder java. Library yang diimport tadi akan digunakan pada program ini untuk menampilkan ip address komputer kita. Pada line kedua terdapat sintax public class getip {, pada syntax tersebut menyatakan bahwa kita membuat sebuah class dengan nama getip. Pada line ketiga terdapat syntax public static void main(String args[]) throws Exception {, syntax tersebut menyatakan hawa class getip adalah class utama pada program penampilan ip address tersebut sehingga file javanya diberi nama getip.java. InetAddress host = null; digunakan untuk mendeklarasikan InetAddress terhadap objek host yang memiliki nilai awal null. host = InetAddress.getLocalHost(); syntax ini menyatakan bahwa objek host di beri nilai yaitu InetAddress.getLocalHost(). byte ip[] = host.getAddress(); syntax ini menyatakan bahwa kita membuat sebuah variable yg bertipe data array byte yang bernama ip yang dimana isinya diambil dari host.getAddress(), artinya dia memanggil method getAddress pada objek host yang telah di deklarasikan tadi. Lalu dibuat perulangan untuk mencetak ip address computer tersebut.

 2. GET HOST NAME 
Program di bawah ini merupakan program yang dapat digunakan untuk mengecek nama komputer yang sedang kita pakai.
import java.net.*;
public class getname {
public static void main(String args[]) throws Exception {
InetAddress host = null;
host = InetAddress.getLocalHost();
System.out.println("Nama komputer Anda: " +
host.getHostName());
}}
 
Berikut adalah hasil ketika kita menjalankan program getname tersebut.
Penjelasan program dan cara menjalankannya sama seperti pada program sebelumnya ( getip ). Yang membedakan adalah jika pada program getip menggunakan syntax host.getAddress(); untuk mengetahui ip computer yang sedang kita pakai, maka pada program getname menggunakan syntax host.getHostName(); untuk menampilkan nama computer yang kita pakai.

3. CHATTING SEDERHANA CLIENT - SERVER DENGAN SOCKET PROGRAMMING

simpleServer.java
import java.io.*;
import java.net.*;
public class simpleServer {
public final static int TESTPORT = 5000;
public static void main(String args[]) {
ServerSocket checkServer = null;
String line;
BufferedReader is = null;
DataOutputStream os = null;
Socket clientSocket = null;
try {
checkServer = new ServerSocket(TESTPORT);
System.out.println("Aplikasi Server hidup ...");
} catch (IOException e) {
System.out.println(e);
}
try {
clientSocket = checkServer.accept();
is = new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
os = new DataOutputStream(clientSocket.getOutputStream());
} catch (Exception ei) {
ei.printStackTrace();
}
try {
line = is.readLine();
System.out.println("Terima : " + line);
if (line.compareTo("tanda_seru") == 0) {
os.writeBytes("Asek, password benar");
} else {
os.writeBytes("Maaf, saya tidak mengerti");
}
} catch (IOException e) {
System.out.println(e);
}


try {
os.close();
is.close();
clientSocket.close();
} catch (IOException ic) {
ic.printStackTrace();
}
}
}

 

simpleClient.java
import java.io.*;
import java.net.*;
public class simpleClient {
public final static int REMOTE_PORT = 5000;
public static void main(String args[]) throws Exception {
Socket cl = null;
BufferedReader is = null;
DataOutputStream os = null;
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
String userInput = null;
String output = null;
// Membuka koneksi ke server pada port REMOTE_PORT
try {
cl = new Socket(args[0], REMOTE_PORT);
is = new BufferedReader(new
InputStreamReader(cl.getInputStream()));
os = new DataOutputStream(cl.getOutputStream());
} catch(UnknownHostException e1) {
System.out.println("Unknown Host: " + e1);
} catch (IOException e2) {
System.out.println("Erorr io: " + e2);
}
// Menulis ke server
try {
System.out.print("Masukkan kata kunci: ");
userInput = stdin.readLine();
os.writeBytes(userInput + "\n");
} catch (IOException ex) {
System.out.println("Error writing to server..." + ex);
}
// Menerima tanggapan dari server
try {
output = is.readLine();
System.out.println("Dari server: " + output);
} catch (IOException e) {
e.printStackTrace();
}
// close input stream, output stream dan koneksi
try {
is.close();
os.close();
cl.close();
} catch (IOException x) {
System.out.println("Error writing...." + x);
}
}
}


Untuk program ini kita membutuhkan 2 komputer untuk menjalankannya. 1 komputer bertindak sebagai server dan 1 komputer lainnya bertindak sebagai client. Pada sisi server save file yang bernama simpleServer.java sedangkan pada sisi client save file yang bernama simpleClient.java. Lalu compile program simpleServer.java di sisi server dan compile simpleClient.java di sisi client. lalu jalankan program simpleServer terlebih dahulu, setelah program simpleServer running maka running program simpleClient dengan cara java simpleClient <nama komputer server>.
Server
Client
 Server
 Client
 Server
 Client

Rabu, 13 Mei 2015

Pemrosesan Terdistribusi

Pengolahan Data Terdistribusi (PDT)



I . PENGERTIAN DATA TERDISTRIBUSI
Pengolahan data terdistribusi pada sistem komputer saat ini digambarkan sebagai banyak komputer atau processor yang besar maupun kecil dalam jarak yang jauh yang dihubungkan dengan jaringan telekomunikasi. Hal yang penting dalam sistem terdistribusi adalah lokasi dan masalah perancangan data.


Ada beberapa definisi mengenai pengolahan data terdistribusi, antara lain :
  • Penempatan sumber daya komputer pada pemakainya.
  • Struktur organisasi pengolahan data dengan kemampuan yang terpusat, dan pengolahan paling sedikit bagian dari suatu aplikasi dengan cara yang terdesentralisasi.
  • Sejumlah node pengolahan data dihubungkan dengan jaringan telekomunikasi terhadap host (server / pusat) yang juga digunakan untuk mengontrol keseluruhan jaringan.
  • Cara pembagian sumber daya komputer pada suatu organisasi sehingga sedekat mungkin dengan aplikasinya secara geografis maupun organisasional.
  • Sistem pengolahan data terdistribusi adalah suatu sistem dimana program-program aplikasi untuk pengolahan datanya berada di node-node yang terpisah dan saling dihubungkan dan dirancang dengan kontrol yang ketat dan terintegrasi.
Karakteristik pengolahan data terdistribusi antara lain :
  • Beberapa data digunakan pada banyak lokasi.
  • Sering diperlukan sistem manajemen database yang memberikan akses kepada banyak pemakai dengan view yang berbeda dari data yang sama.
  • Peningkatan biaya penyimpanan per bit pada unit penyimpan yang sangat besar lebih rendah dibandingkan pada penyimpan yang lebih kecil.
  • Beberapa masalah pada data yang terpisah secara geografis adalah masalah integritas, kepemilikan, dan kemacetan (deadlock) ketika banyak processor meng-update data yang sama.
Pengolahan data di masa depan merupakan perkembangan mesin komputer yang pesat yang kebanyakan dihubungkan dengan jaringan telekomunikasi. Saat ini telah banyak komputer dengan ukuran kecil dengan harga yang murah. Namun komputer mini tidak akan menggantikan komputer besar, dengan alasan beberapa fungsi dan data masih harus terpusat. Oleh karena itu maka tugas seorang perancang sistem adalah untuk :
  • memutuskan distribusi mesin atau processor yang bagaimana yang paling baik.
  • Penghubung yang bagaimana yang diperlukan.
  • Di mana data harus disimpan.

II . TUJUAN PENGOLAHAN DATA TERDISTRIBUSI
Tujuan Utama Pengolahan Data Terdistribusi :
  • Otonomi lokal
    Memberikan tingkat otonomi lokal dalam komputasi kepada kelompok pemakai lokal.
  • Pengoperasian yang terpisah dan kontrol yang terpusat
    Mengijinkan pengoperasian pengolahan data yang terdistribusi yang ditingkatkan dengan pelayanan dan database yang terpusat, dengan berbagai tingkat kontrol yang terpusat.
  • Produktivitas Pemakai
    Menyediakan teknik dan bahasa sehingga pemakai dapat memberi hasil yang maksimum dalam menggunakan sistem komputer.
  • Pengembangan aplikasi oleh kelompok pemakai
    Menyediakan infrastruktur bagi kelompok pemakai untuk mengembangkan aplikasinya secara mudah dan fleksibel dengan pengontrolan untuk mencegah masalah kompabilitas.
  • Dialog Terminal
    Membuat terminal mudah digunakan dengan struktur dialog yang menghasilkan intelegensia yang terdistribusi.
  • Akses untuk sumber daya dan data yang jaraknya jauh
    Memudahkan user lokal untuk mengakses berbagai sumber daya yang berguna dari lokasi yang berbeda, termasuk program dan data.
  • Jarak menjadi tidak nyata
    Membuat jarak menjadi tidak nyata dengan menggunakan jaringan yang sesuai rancangannya.
  • Ketersediaan (availability)
    Menghindari kegagalan sistem yang dapat dilihat oleh pemakai dan memaksimumkan ketersediaan interface sistem bagi pemakai.
  • Privacy dan Keamanan
    Mencegah pengaksesan data dan sumber daya tanpa ijin dan melindungi data dari kegagalan maupun tindak kejahatan.
  • Audit
    Menjamin peng-update-an record yang penting, seperti data keuangan, yang dapat di audit dengan penuh.
  • Ketepatan dan Konsistensi
    Menggunakan kontrol ketepatan pada semua input, dan mencegah terjadinya banyak versi dari data yang sama yang tersedia bagi pemakai dalam tingkat peng-update-an yang berbeda.
  • Kemudahan pengubahan
    Menyadari bahwa sistem terdistribusi akan berkembang dan berubah dengan konstan, dan mendukung perubahan ini tanpa perusakan dan pengeluaran.
  • Proteksi
    Program dan struktur data logik yang ada tidak perlu dikerjakan kembali ketika perubahan sistem atau program lain dibuat.
  • Penyembunyian kerumitan
    Sistem sedapat mungkin menyembunyikan kerumitan dari user.
Hal Teknis yang Diperlukan Untuk Mencapai Tujuan :
  • Penggunaan komputer mini dan mikro
    Menghubungkan komputer mikro, mini dan besar menjadi sistem yang paling efektif biayanya.
  • Teknik Database
    Menggunakan teknik database untuk menjamin data yang sama dapat diakses oleh banyak pemakai dengan cara yang fleksibel.
  • Jaringan Komputer
    Menggunakan jaringan yang dirancang untuk pengiriman data, surat dan mungkin juga suara atau yang lainnya.
  • Struktur jaringan yang fleksibel
    Memberikan struktur jaringan yang memberikan fleksibilitas yang tinggi untuk menambah node atau sirkuit, yang menangani lalu lintas terminal dan juga lalu lintas komputer ke komputer.
  • Kontrol saluran yang standar
    Menggunakan prosedur kontrol saluran yang standar untuk menghubungkan terminal-terminal dan untuk interkoneksi komputer.
  • Terminal virtual
    Menggunakan standar terminal virtual, unit logika dan tampilan, sehingga ketika terminal atau PC user diubah, program yang digunakan tidak perlu dituliskan kembali.
  • Kriptografi
    Menggunakan kriptografi yang memerlukan keamanan transmisi yang ketat.
  • Keamanan
    Menggunakan teknik keamanan yang ketat jika diperlukan.
  • Audit
    Menggunakan peralatan yang membuat sistem mudah di-audit.
  • Bahasa tingkat tinggi
    Menggunakan bahasa tingkat tinggi khususnya bagi user untuk mencapai fleksibilitas maksimum dalam mengakses data dan produktivitas maksimum dalam pengembangan aplikasi.
  • Kamus data
    Menggunakan kamus data untuk menjamin kompabilitas, field, record dan struktur data yang digunakan dalam unit penyimpanan yang terdistribusi.
  • Strategi
    Mengembangkan strategi pengolahan data, termasuk di dalamnya tiga sub strategi, yaitu : pengolahan data terdistribusi, database dan jaringan. Oleh karena itu diperlukan pengembangan struktur manajemen untuk menjalankan strategi tersebut, diantaranya :
    • Administrasi sistem terdistribusi, untuk menjamin bahwa sistem yang terpisah dapat dihubungkan dan bekerja sama sebaik mungkin.
    • Administrasi data terdistribusi, untuk membantu perancang data terdistribusi dalam merancang struktur data yang sesuai, dan juga untuk menjamin kompabilitas antara data pada PC yang terpisah, serta untuk mendokumentasikan data dalam kamus data.
    • Administrasi jaringan, untuk menjamin pengembangan jaringan yang sesuai.

III . PENGARUH PENGOLAHAN DATA TERDISTRIBUSI PADA ORGANISASI
Tujuan utama PDT (Pengolahan Data Terdistribusi) adalah untuk meningkatkan dan memperluas penggunaan komputer bagi pemakai.
Pemakai (end user) diartikan sebagai orang yang pekerjaannya dibantu dengan komputer, misalnya akuntan, kepala toko, bank teller, ahli sains, manajer, para professional, atau staf kantor pusat.
PDT memberi fasilitas logika, penyimpanan data, ataupun komputasi yang dibawa langsung ke lokasi pemakainya.

Macam-macam pengaruh PDT pada organisasi :
  • Departemen pemakai memiliki fasilitas komputer dan akses data yang lebih baik. Pengolahan data dapat online dengan waktu respon yang cukup cepat.
  • Departemen pemakai bertanggung jawab dalam menggunakan komputer mereka.
  • Pemasukan data dipindahkan ke departemen pemakai, sehingga mereka bertanggung jawab atas ketepatan datanya.
  • Proses informasi fungsional dapat didistribusikan sedangkan yang strategi dipusatkan.
  • Manajemen fungsional lebih efisien dan bertanggung jawab untuk kegiatan masing-masing (tidak lagi mempersalahkan komputer yang jauh).
  • Manajemen strategi mempunyai logistik yang luas pada satu lokasi.
  • Kontrol strategi ketat pada persediaan manajemen kas dan fungsi.
  • Untuk kontrol strategi yang terpusat dan pendistribusian proses fungsional diperlukan reorganisasi perusahaan.
  • Departemen pengolahan data dan hubungannya dengan departemen lain merupakan faktor dalam restrukturisasi.
  • Manager departemen harus mampu dalam menggunakan komputer yang sekarang mudah tersedia bagi mereka.
  • Jaringan data tidak lagi dipengaruhi oleh jarak, sehingga pengolahan dapat secara nasional maupum multinasional.
  • Keterlibatan top manajemen penting dalam mengikuti perkembangan teknologi dan menyelesaikan masalah yang disebabkan oleh PDT.
reference: http://arulsagita.blogspot.com/p/pengolahan-data-terdistribusi-pdt.html

Senin, 13 April 2015

DOCKER

Link Slide Share : 
http://www.slideshare.net/rija21/docker-46698736


DOCKER(Developer Tool Berbasis Container)
Docker adalah sebuah platform terbuka untuk developer, sysadmin atau siapapun yang bertujuan menggunakan sebuah platform untuk membangun, mendistribusikan dan menjalankan aplikasi dimanapun; laptop, data center, virtual mesin ataupun cloud. Docker membuat proses pemaketan aplikasi bersama komponennya (dependencies ) secara cepat dalam sebuah container yang terisolasi, sehingga dapat dijalankan dalam infrastruktur local (local data center) ataupun cloud tanpa melakukan perubahan/konfigurasi lagi pada container, selama host menjalankan Docker Engine.

Docker merupakan software open source di bawah
yang bisa dipergunakan secara gratis. 
 
Arsitektur Docker                
Docker menggunakan arsitektur client-server. Docker client mengirimkan request berupa perintah kepada Docker daemon untuk membangun, mendistribusikan dan menjalankan container Docker.
 
  • Docker Daemon: Seperti terlihat pada gambar, Docker daemon berjalan pada mesin host. Pengguna tidak berinteraksi secara langsung dengan Docker daemon tapi melalui Docker client.
  • Docker Client: Docker client merupakan bentuk dari Docker binary dan merupakan user interface utama untuk Docker, yang menerima perintah dari pengguna dan berkomunikasi dengan Docker daemon.
Beberapa Terminologi dalam penggunaan Docker
  • Docker images: Image Docker merupakan sebuah template yang bersifat read-only. Contohnya sebuah image yang berisi sistem operasi Ubuntu dengan Apache dan aplikasi web yang telah kita instalkan. Image ini digunakan untuk menjalankan container. Docker menyediakan cara yang sederhana untuk membangun image baru atau merubah image yang sudah ada. Jika melihat Docker Index kita akan menemukan banyak image yang sudah banyak dibuat oleh pengguna lain yang bisa kita gunakan sebagai base image. Misalnya kita akan membangun sebuah aplikasi PHP dengan apache web server dan mysql, maka kita hanya perlu mendownload base image berupa LAMP server lalu kita tinggal menambahkan aplikasi PHP yang sudah kita buat.
  • Docker Container: Container merupakan sebuah image bersifat read-write yang berjalan di atas image. Docker menggunakan union-file sistem sebagai back-end file sistem containernya, dimana setiap perubahan yang disimpan pada container akan menyebabkan terbentuknya layer baru di atas base image. Jadi container merupakan layer dimana kita bisa melakukan instalasi aplikasi di dalamnya. Masing-masing container yang berjalan terisolasi dan platform aplikasi yang aman.
  • Docker Registry: Docker registry adalah tempat penyimpanan (public atau private) dimana kita bisa mengupload dan mendownload image. Registry public Docker disebut dengan Docker Hub. Di dalamnya terdapat banyak image, bisa merupakan image yang kita buat sendiri ataupun image yang lain.
Istilah lain-lain:
  • Dockerfile: merupakan sebuah skrip otomasi (builder) yang membangun sebuah image. Sebuah Dockerfile merupakan dokumen text atau skrip yang berisi semua perintah yang biasanya kita lakukan manual untuk membangun sebuah image. Dengan menggunakan perintah docker build dari terminal, kita akan melihat Docker membangun image step by step mengeksekusi perintah berurutan. Kita ambil contoh sebuah skrip Dockerfile:
FROM ubuntu:latest
MAINTAINER
RUN apt-get update && apt-get -y install apache2 && apt-get clean
EXPOSE 80
CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
skrip Dockerfile di atas digunakan untuk membuat sebuah image yang terinstall apache daemon di dalamnya. Untuk cara penggunaannya saya akan menulisnya pada artikel terpisah.
  • Repository: Docker menggunakan kata ini mirip dengan yang digunakan pada Github dan source control system lainnya, namun jenis yang berbeda. Repository berupa ID untuk setiap image yang disimpan dalam registry. Ketika kita menjalankan perintah docker commit maka image itu akan kita beri nama dengan format username/nama_image. Ketika kita mengupload image tersebut dengan perintah docker push, index akan melihat nama image dan memastikan tidak ada nama repository yang sama, jika tidak maka index akan memeriksa apakah kita memliki akses terhadap repository tersebut, maka selanjutnya kita diijinkan untuk mengupload image versi baru ke repository tersebut.
  • Docker Index: Docker index dengan Docker hub registry merupakan hal yang terpisah. Index mengatur user account, permission, search, tagging dan hal lain yang tersimpan pada web interface public. Ketika kita menjalankan perintah docker run, hal itu digunakan untuk mencari pada index bukan registry. Atau ketika kita menjalankan perintah docker pull ataupun docker push, index akan menentukan apakah kita diijinkan untuk mengakses atau memodifikasi image, dan selanjutnya registry adalah bagian yang akan menyimpan image tersebut setelah kita mendapatkan permisi dari index.
Perbandingan dengan virtual mesin
Docker sangat ringan dan cepat jika dibandingkan dengan virtual mesin yang berbasis hypervisor, sehingga menjadikan Docker sebagai alternatif yang efisien untuk developer tooling. Sebagai light-weight virtualization Docker hampir tidak menambah overhead pada mesin host. Hal ini membuat docker mempunyai beberapa keuntungan:
  • Layer virtualisasi yang ditawarkan Docker hampir tidak menambah overhead seperti virtualisasi berbasis hypervisor pada mesin virtual, besarnya overhead hanya sebesar layanan aplikasi yang dijalankan pada container itu sendiri (app process)
  • Keuntungan kedua adalah kita bisa menjalankan banyak container dalam mesin host.
Hasil pengujian saya, dibandingkan dengan VM VirtualBox, dalam menjalankan 5 mesin virtual ubuntu (berbasis text) dengan memory 192 MB, Virtualbox menghabiskan memory lebih dari 1 GB, sedangkan Docker dengan 10 container ubuntu hanya menghabiskan 27 MB.
Note: Pengujian pada mesin virtual Ubuntu dilakukan dalam kondisi fresh install
Perkembangan Docker dalam dunia produksi
Saat ini Docker dengan cepat menjadi standar tool berbasis container, dan banyak diintegrasikan oleh project PaaS seperti Dokku, Deis, Flynn atau Vagrant.
Beberapa server farm terbesar saat ini menggunakan container. Pengembangan web yang besar seperti Google dan Twitter dan platform provider seperti Heroku dan dotCloud berjalan dengan teknologi container, pada skala ratusan ribu atau bahkan jutaan container yang berjalan secara paralel.
References:
http://http://fahmpress.blogspot.com/2014/10/docker-developer-tool-berbasis-container/