Saturday, October 3, 2015

Mengelola Database Web Berskala Besar

Bukan bermaksud untuk copas isi blog, kali ini saya hanya ingin menyimpan artikel berharga dari mojokertocyber.com yang semoga saja bisa menjadi pengetahuan yang berguna bagi anda, langsung saja.
Bisakah Anda bayangkan ketika Anda memiliki berkas yang jumlahnya setiap hari bertambah. Ketika Anda hendak mengambil bagian yang terbawah, Anda pasti akan merasa kesulitan. Demikian juga pada database aplikasi (desktop maupun website). Dengan semakin banyaknya data yang masuk akan membuat kapasitas database semakin membengkak dan usaha yang dibutuhkan untuk mengambil data tertentu jug akan semakin sulit. Karena itu, diperlukan pengetahuan (dan seni) untuk mengelola database berskala besar. Berikut ini, kita akan membahas pengelolaan database aplikasi web dengan database MySQL.
MySQL
MySQL sangat populer digunakan dalam aplikasi web, termasuk oleh Facebook, Wikipedia, dan Twitter. Untuk perusahaan bisnis, kesalahan mengelola database bukan saja berarti kerugian pada sisi performa, tetapi ujung-ujungnya juga berpengaruh pada finansial.
Tentu saja pada umumnya kita tidak merasakan bahwa performa merupakan masalah besar jika database masih dalam skala kecil dan personal. Seseorang mungkin tidak pernah mengalami masalah dengan database walaupun rajin ngeblog pada website pribadinya selama sepuluh tahun. Namun, situasi yang sangat berbeda akan terjadi pada aplikasi website yang menyimpan ribuan record setiap harinya. Terkadang hal ini baru disadari belakangan saat aplikasi web semakin berkembang dan secara perlahan tetapi pasti performa mulai dirasakan menurun.
Saat mengalami hal tersebut, sebaiknya Anda tidak melakukan perbaikan/optimasi database secara live dengan database yang sebenarnya. Pasalnya, melakukan optimasi memerlukan percobaan berulang-ulang yang dikhawatirkan mengganggu aplikasi web. Karena itu, disarankan untuk melakukan dump database dari web server ke localhost dan melakukan berbagai perbaikan sampai benar-benar diyakini merupakan optimasi terbaik.
Salah satu cara memindahkan database dari server ke localhost adalah menggunakan fitur export dan import dari interface phpMyAdmin. Namun, jika database yang di-import  cukup besar, kemungkinan proses import akan berhenti di tengah jalan dan phpMyAdmin akan menampilkan pesan "Script timeout passed, if you want to finish import, please resubmit same file and import will resume."
Cara lain untuk memindahkan database tersebut adalah menggunakan command line mysql.exe dengan sintaks:
mysql -u username -p databasename < filename.sql
Contoh:
mysql -u root -p dbcompany < dump.sql
Proses ini memang memakan waktu yang relatif cukup lama untuk data yang besar. Cara lainnya adalah menambahkan baris berikut pada file config.inc.php:
$cfg[`ExcecTimeLimit'] = 0;
Lalu, Anda dapat melakukan import seperti biasa pada phpMyAdmin. Seperti pada cara pertama, proses import database akan memerlukan waktu relatif lama, bergantung pada besarnya data.
Sekedar catatan, pada MySQL 5.5 atau versi di atasnya, default storage engine yang digunakan untuk tabel adalah InnoDB (pada versi sebelumnya default adalah MyISAM). Untuk data yang besar, pemilihan storage engine ini cukup penting dan dimungkinkan untuk tabel tertentu dengan menggunakan MyISAM, sementara tabel lainnya menggunakan InnoDB.
MyISAM unggul dalam hal kecepatan, sementara InnoDB unggul dalam segi fitur. Sebagai contoh, InnoDB mendukung row locking, sementara MyISAM hanya mendukung table locking. Jika tabel Anda memiliki transaksi yang padat sehingga integritas data merupakan isu yang sangat penting, Anda dapat mempertimbangkan untuk  menggunakan storage engine InnoDB untuk tabel tersebut. Namun, untuk tabel yang banyak memerlukan pembacaan saja, MyISAM tampaknya lebih cocok diterapkan.
Optimasi 1: Index
Anda akan mengetahui masalah database dengan sendirinya saat aplikasi web menunjukkan performa yang menurun ataupun query bekerja dengan sangat lama. Penggunaan index pada kolom/field tertentu dapat dicoba untuk mempercepat pencarian walaupun pemberian index tetap memiliki konsekuensi (jika tidak, tentu seluruh field secara default akan di-index). Dengan melakukan index, diperlukan ruang harddisk yang lebih besar, terlihat pada file *.MYI yang merupakan file index engine MyISAM. Karena itu, harus diuji apakah menggunakan index tertentu akan membuat performa secara keseluruhan lebih baik atau lebih buruk. Secara umum, walau index mempercepat pencarian, jika terdapat banyak operasi manipulasi database (INSERT, DELETE, UPDATE), performanya justru dapat menurun.
Field yang dapat dipertimbangkan untuk di-index adalah field yang digunakan pada JOIN, GROUP BY, ORDER BY, atau digunakan pada kondisi WHERE.
Optimasi 2: Tipe data
Periksa kembali tipe data yang Anda gunakan, apakah ada yang dapat dioptimasiatau tidak. Untuk jumlah data yang besar, ketidaktepatan memberikan tipe data akan sangat memboroskan kapasitas. Contohnya tipe data MEDIUMINT yang memerlukan 3 bytes akan menggunakan ruang lebih hemat dibandingkan tipe data INT yang memerlukan 4 bytes. Namun, perlu diperhatikan juga bahwa konsekuensinya, nilai maksimal tipe data INT lebih besar (unsigned range dari 0-4.294.967.295). Bandingkan dengan nilai maksimal tipe data MEDIUMINT (unsigned range dari 0-16.777.215.).
Atribut signed atau unsignedjuga perlu dipertimbangkan. Signed berarti field tersebut menerima nilai minus atau dibawah 0, contohnya tipe data TINYINT signed dapat menampung nilai mulai -128 sampai 127. Sementara unsigned berarti nilai terkecil adalah 0, contohnya tipe data TiNYINT unsigned dapat menampung nilai mulai 0 sampai 255. Secara default, MySQL menentukan tipe data numerik dengan signed sehingga Anda perlu mengubahnya menjadi unsigned jika field tersebut tidak digunakan untuk menampung nilai minus.
Demikian pula penggunaan tipe data untuk menyimpan karakter/string, misalnya untuk field alamat. Walaupun sebuah alamat bisa saja cukup panjang, tentu tidak bijaksana memberikannya tipe data TEXT. Lebih baik menggunakan VARCHAR (100) jika nda berasumsi panjang maksimal alamat adalah seratus karakter dan validasi melalui aplikasi agar tidak dapat menyimpan alamat yang lebih panjang daripada seratus karakter.
Jika memungkinkan, deklarasikan setiap field dengan NOT NULL. Hal ini akan mengeliminasi pengecekan nilai NULL, walaupun Anda dapat mengabaikan saran ini jika Anda memang benar-benar perlu menyimpan nilai NULL. Gunakan nama field yang sederhana dan jelas. Contohnya pada tabel customer, buatlah field nama (bukannama_customer).
Untuk field yang menampung ID unik, pertimbangkan untuk menggunakan tipe data numerik ketimbang string karena lebih hemat dalam penggunaan memory/disk space dan tentu saja juga lebih cepat dalam mengakses 
          
Oleh: Joko Nurjadi/PCMedia
Source From http://mojokertocyber.com/cyber-tech/web-design/141-mengelola-database-web-berskala-besar.html

Tuesday, June 23, 2015

Dasar Pemrograman Logika

Setelah sebelumnya ane menuliskan dasar tentang Aritmatika sekarang ane mau coba share tentang LOGIKA di bahasa perograman.
Ok langsung aja untuk LOGIKA biasanya kita kenal dengan IF dan ELSE yang artinya JIKA dan SELAIN ITU.

untuk penggunaan IF ELSE sebagian besar pemrograman juga menggunakan tanda { dan }.
nah disini ane mau coba nerangin bagaimana cara membaca IF ELSE yang baik dan benar (menurut ane hehehe). biasanya ane gunakan IF ELSE ini buat coding eksekusi SIMPAN dan UPDATE.

ok untuk dasar kita coba buat sebuah perumpamaan IF ELSE menggunakan seperti ini : Jika Laki-Laki maka Tuliskan L Selain Itu maka tuliskan P

ane coba gunain contoh bahasa pemrograman yang global seperti php ata java yang menggunakan tanda { }

dari perumpamaan diatas tadi kita bisa menuliskan sebagai berikut :

if ( Laki-Laki ) {
       Tulis L;
}
else {
      Tulis P;
}

dari contoh penulisan diatas yang perlu diperhatikan adalah biasakan menuliskan nilai/isi dari IF dan ELSE dengan bertingkat dan menjorok ke tengah. karena dengan begitu akan memudahkan kita dalam mengartikan coding tersebut.
karena jika menuliskan dengan

if ( Laki-Laki){ Tulis L; } else { Tulis P; }

atau

if ( Laki-Laki ) {
Tulis L;
}
else {
Tulis P;
}

akan lebih sulit membaca makna dari koding tersebut.
dan cara membaca IF ELSE yang baik dan mudah dimengerti adalah

if ( Laki-Laki ) {
       Tulis L;
}
else {
      Tulis P;
}

- abaikan tanda kurung () yang ada pada if atau else.
- bacalah IF dengan kata Jika (memudahkan kita yang kurang lancar bahasa inggris. curcol dikit ye :p)
- bacalah tanda { Kurung Kurawal Buka dengan Kata MAKA
- baca kata else dengan SELAIN ITU

jadi untuk code if ( Laki-Laki) { bisa kita baca dengan JIKA Laki-Laki MAKA
barulah kita mambaca hasilnya berupa Tulis L;
karena ada { Kurung Kurawal Buka yang kita baca dengan kata MAKA jadi kita harus menuliskan } Kurung Kurawal Tutup untuk mebatasi akhir dari nilai Jika Maka Tersebut. apabila banyak nilai yang terjadi di dalam Logika IF ini tuliskanlah didalam antara { dan }.

Sepertihalnya kurung buka pasti ada kurung tutup. pasangan untuk IF adalah ELSE
jadi pada koding di atas ELSE bisa kita baca dengan SELAIN ITU karena jika syarat pada IF tidak terpenuhi maka nilai yang kita butuhkan adalah SELAIN Nilai di dalam IF.
atau dari logika diatas bisa dibaca Jika Bukan Laki-Laki berarti Perempuan ( Tulis P; ).

kesimpulan : jadi untuk posting kali ini hendaklah kita berusaha memahami isi dari koding yang kita buat karena tidak cukup hanya dengan mengerti arti dari koding-koding tersebut. cobalah explorasi dirimu untuk memahami sebuah masalah dengan cara pandangmu sendiri tanpa harus terpaku akan hal yang sebenarnya mempunyai arti yang sama.

semoga tulisan ini dapat dimengerti ya broooohhhh.... :D

by Kent-Os

Dasar Pemrograman Aritmatika

Sebagai Permulaan ane mau share pengalaman ane ngajarin tentang dasar pemrograman yang selama ini ane pikir gampang buat ane mengerti tapi engga buat temen-temen ane yang coba ane kasih tau tentang dasar ini (Sombong dikit gpp kan? hehehe).

okelah g usah bertele-tele lagi buat yang pertama ane mau share tentang ARITMATIKA

Aritmatika yang biasa kita kenal dengan penjumlahan ( + ) pengurangan ( - ) pembagian ( : )   dan juga perkalian ( x ) sebenernya udah kita kenal dari kita TK baik dari 1+1 sampe 1x8+20154-1632/0,5x0 yang hasilnya 0 juga hahahaha....
pada dasarnya isninya cuman bagaimana menambah, mengurangi, membagi dan mengkalikan nilai satu dengan yang lain.

akan tetapi dalam bahasa pemrograman contohnya javascript (yang lagi ane seriusin saat ini :p) banyak temen ane bingung bagaimana penggunaanya.
menurut ane semua bahasa pemrograman baik di javascript, php, vbscript, delphi ataupun bahasa pemrograman yang lain itu semuanya sama saja hanya saja penulisan sintax-nya saja yang berbeda antara satu bahasa pemrograman dengan bahasa pemrograman yang lain.

untuk contoh di pemrograman php biasanya kita harus memberikan nama pada nilai yang akan kita jumlahkan dengan menggunakan tanda $ seperti $x dan $y.
jadi untuk menjumlahkan 5 + 4 itu kita harus mendeklarasikan dahulu nilai 5 dengan 4 kedalam variable

contoh :
coding PHP

//memberikan variable x dengan nilai 5
$x=5;
//memberikan variable y dengan nilai 4
$y=4;
//variable untuk hasil
$z=0;

jadi untuk menjumlahkan 5 dan 4 kita cukup menuliskan

$z=$x+$y;

dan cara membaca coding tersebut adalah $x ditambah $y hasilnya $z bukan $z sama dengan $x ditambah $y karena untuk beberapa situasi yang kompleks justru akan membingungkan untuk kamu


contoh :
coding Javascript

//memberikan variable x dengan nilai 5
var x=5;
//memberikan variable y dengan nilai 4
var y=4;
//variable untuk hasil
var z=0;

jadi untuk menjumlahkan 5 dan 4 kita cukup menuliskan

z=x+y;

intinya sama dengan di pemrograman php akan tetapi hanya sintax saja yang berbeda.

kesimpulan buat posting kali ini adalah cobalah kalian baca sebuah coding dengan apa yang paling mudah kamu mengerti tanpa harus terpaku bagaimana coding itu tertulis. pemrograman adalah sebuah karya seni yang dimana kalianlah yang menjadi rajanya bukan coding yang merajai kita.

semoga tulisan ini dapat dimengerti buat kamu-kamu semua yang sedang belajar mengenai dasar-dasar pemrograman.

by Kent-Os

First Post

Selamat Datang Di Website my2torial.blogspot.com

sebagai penulis ane sendiri sebenernya bingung mau nulis apa d blog ini hehehe...
pada dasarnya ane cuma berbagi ilmu dan pengalaman yang pernah ane dapet sampe sekarang. makanya ane pilih kata my2torial (Baca : My Tutorial). karena ingin mengajarkan ilmu-ilmu yang ane dapet baik dari pengalaman ane sendiri maupun pengalaman orang lain yang tentunya ane harap bermanfaat buat kamu semua yang berkenan baca blog aneh ane ini :p
udah ah dah bingung ane mau ngomong apalagi dah muter-muter kaa kipas angin.
silahan liat-liat aja ada apa aja di web ane.

selamat membaca

Boot Windows Via USB

ass.wr.wb

hehehe,,,,
lagi coba-coba neh bikin blog,,,
gw punya sedikit info neh wat ente-ente yang windowsnya trouble
eh apesnya pas mo instal ulang ternyata cd Rom is optik lemah bahkan is dead,
tapi saya juga sangat mengusulkan untuk para pemakai notebook karena daripada mestinya mencari usb cd-ROM
tanpa panjang lebar tanpa tinggi lagi saya akan mulai kasih tau caranya,

pertama-tama anda harus punya PeToUSB
yang bisa anda download gratis,

lalu kita bisa mulai mencolokkan usb flasdisk ke komputer,
ingat lubang usb bukan lubang idung lho,,, hehehe,,,,
dan jangan lupa disk OS yang mau di copy ke FD,
eh iya rekomendasi FD wat xp minimal 1Gb,
dan 7 atau vista anda bisa gunakan 8Gb,

nah!!!!
kalo dah semua tinggal buka aplikasi PeToUSB
dan pasti muncul

sebelumnya pastikan terlebih dahulu bahwa destinaios drivenya benar

lalu Klik
tombol star Kemudian tekan Yes





Setelah
Format selesai tutup PeToUSB

Selanjutnya memasukkan Installan
Windows XP ke dalam flasdisk
klik 2x usb_prep8.cmd yang ada pada
folder usb_prep8

maka akan muncul seperti ini (CD Windows XP Sudah anda masukkan)

Tekan
sembarang tombol keyboard untuk melanjutkan


Tekan
1 untuk memilih drive dimana file instalasi windows berada, ( Change XP
Setup Source Path, currently )

Sebuah window akan muncul dan
pilih dimana drive yang berisi CD Setup Windows XP anda. Klik
[OK].misalnya di F , klik di situ,ok

Kemudian pilih menu nomor 3)
Change Target USB-Drive Letter, currently
Ketik huruf drive yang
berisi USB Flash Disk anda. Misalnya di drive H :


Setelah
selesai pilih menu nomor 4 Make New TempImage with XP LocalSource and
Copy to USB-Drive


Tekan
Y untuk memulai pemformatan


Tekan
tombol keyboard apa saja untuk melanjutkan


Tekan
yes untuk menyalin file temporary ke usb


tekan
Yes lagi


Tekan
Yes lagi

setelah itu tekan tombol apa saja untuk mengakhiri
proses
Setelah selesai akhirnya Flasdisk bisa di gunakan untuk melakukan
install ulang


Sebelum anda mulai melakukan instalasi pastikan
bahwa urutan booting anda sudah diatur supaya first bootnya dari USB
Flash Disk.
masuk aja ke menu BIOS. Caranya,hidupkan komputer/laptop
anda, tekan delete atau F2 pada keyboard

Setelah itu masuk ke
setting booting pada Bios
Ganti first boot (booting pertama) USB Hard
Drive/Flash Drive
Klik Save and Exit, komputer akan
restart.

Jika semua berjalan lancar, pada saat menyala kembali
komputer akan melakukan boot dari USB Flash Drive anda dan akan muncul
menu pilihan

Pilih menu [TXT Mode Setup Windows XP, Never Unplug
USB Drive Until After Logon].

PENTING: Jangan mencabut USB Flash
Drive sampai instalasi Windows XP sudah selesai seluruhnya.


Setup
Windows XP akan dimulai. Kerjakan seperti jika anda menggunakan CD

Setelah
setup selesai menyalin file-file ke dalam harddisk anda, setup akan
melakukan restart komputer.

PENTING: Pilih menu [GUI Mode Setup
Windows XP, Continue Setup + Start XP].
Setup Windows akan
melanjutkan setup dengan menggunakan tampilan GUI (Graphical User
Interface) sambil tetap menyalin dari USB Flash Drive.


Lanjutkan
instalasi seperti biasanya .

Jika sudah selesai anda dapat
mencabut USB Flash Drive. USB/Flasdisk anda tersebut dapat digunakan
untuk melakukan repair Windows XP anda apabila terjadi masalah atau
gangguan pada windows XP anda.