Monday, October 17, 2011

HACKER CIPTAKAN JARINGAN SOSIAL SENDIRI




PARA HACKER saat ini telah memiliki jaringan sosial mereka sendiri, dibeking oleh GnuCitizen, sebuah grup hacking.Jaringan sosial yang disebut House of Hackers, telah memliki anggota sekitar
1000 orang sejak dirilis pada Mei 2008.GnuCitizen memberikan dukungan jaringan
untuk mempromosikan kolaborasi antara para peneliti keamanan. Pendiri situs ini mengatakan bahwa mereka menggunakan kata-kata “hacker” dalam artian positif. Pendiri GnuCitizen, Petko
D. Petkov mengatakan bahwa hacker adalah sekumpulan orang yang mengekspresikan
kemampuan mereka dengan cara-cara kreatif, pintar, unik sertamenarik. GnuCitizen juga menegaskan
bahwa mereka tidak mendukung aktivitas kriminal.
Jaringan sosial ini didesain agar para anggotanya dapat saling bertukar informasi,ide serta berkomunikasi antartim yang nantinya dapat berpartisipasi di lingkungan para hacker.
GnuCitizen juga mempunyai sisi bisnis yang mendukung para anggotanya agar dapat berkerja sebagai peneliti keamanan di berbagai proyek ataupun perusahaan. Jaringan sosial ini dibuat dengan menggunakan Ning, dan para programer dapat mengostumasi add-on dengan menggunakan Google Open Social API.GnuCitizen didirikan pada 2005 dan telah banyak menghasilkan penemuan
penting, seperti celah pada SNMP dan router BT Home Hub Wi-Fi.

CELAH BERBAHAYA SOFTWARE OPEN SOURCE

Sangat mengejutkan, sebuah celah berbahaya dengan dampak
yang sangat besar telah ditemukan di open source key generation.
Termasuk varian Linux Debian dan Ubuntu.


UNTUK SEMUA para pengkritik dan peneliti keamanan Microsoft, sepertinya harus memalingkan mukanya ke software open source. Ternyata open source tidak seaman yang orang pikir,
paling tidak jika dibandingkan dengan OS Windows.Baru-baru ini bahkan telah digelar sebuah keonferensi hacker yang menunjukkan betapa lemahnya sistem keamanan
Mac OS X, terlepas dari lambatnya patch yang dirilis oleh Apple. Operating system Mac dibajak hanya
dalam waktu 10 menit, dan di saat yang sama Linux
dan Windows ternyata lebih aman dari Mac.Saat ini, para peneliti keamanan telah menemukan
celah keamanan berbahaya yang digunakan di berbagai program keamanan Linux.
Celah ini sebenarnya telah dideteksi sejak tahun 2006 ketika para programer open source
tanpa sengaja menemukan kesalahan pada kode dasar Linux. Kesalahan pemograman
direduksi oleh generated program keys yang diciptakan oleh OpenSSL library.
Seorang hacker, H. D. Moore dari proyek Metasploit telah merilis sebuah “mainan” yang dapat membantu para hacker menjebol sistem keamanan Linux dan Ubuntu. Situs
Moore memberikan daftar key yang belum dikalkulasi berdasarkan celah pada Linux, agar para hacker dapat dengan mudah mengidentifi kasi sistem yang tidak
aman. Sayangnya, memperbaiki celah pada Linux tidak semudah memperbaiki kelemahan buffer overfl
ow. Debian, sebuah varian Linux yang ba nyak digunakan oleh para keamanan profesional
dan Ubuntu yang mayoritas digunakan oleh pengguna rumahan sama-sama terinfeksi.Lebih
jauh lagi, server-server Windows kemungkinan terkena dampak jika mereka menggunakan key
generated pada sistem Linux.

ACER ASPIRE PREDATOR

Perang PC gaming semakin seru, setelah HP merilis Blackbird 002 dan Dell dengan XPS 730, Acer tidak ingin ketinggalan dan mulai mengancam dengan mainan baru mereka.

ACER KEMBALI memberi kejutan untuk para maniakgame
dengan merilis Acer Aspire Predator, sebuah dekstop PC khusus
untuk gaming. Acer Aspire Predator dibalut dengan casing unik
dengan cover depan yang dapat diangkat serta sisi

samping inovatif untuk slot expansi.
Cover depan Acer Aspire Predator juga menyembunyikan
sebuah slot ekspansi, termasuk port frontmounted
dan multi-bay hard drive yang membuat
pengguna dapat menambah atau mengganti disk
tanpa harus membuka casing komputer itu sendiri.
Acer Aspire Predator dilengkapi dengan sistem
hardware game mumpuni, termasuk processor
Intel Core 2 Duo atau Core 2 Quad yang telah dioverclock
merupakan pilihan standar. Kemudian
diperkuat dengan video card nVIDIA GeForce
8800GT, dan sebuah mainboard nVIDIA nForce 780 dengan
kapasitas memory mencapai 8 GB.
Acer Aspire Predator versi kelas kakap dilengkapi dengan
dua atau bahkan tiga buah video card nVIDIA GeForce
9800GTX serta dual optical drive, dengan dukungan
teknologi Blu-ray.Acer Aspire Predator menggunakan sebuah hard drive dengan kapasitas raksasa, 1 TB. Jika masih kurang, casing ini masih memiliki tiga buah ruangan untuk hard drive tambahan.Acer masih belum merilis harga resmi untuk Acer Aspire Predator, yang jelas Acer akan membagi Acer Aspire Predator menjadi empat versi, yakni Sniper, Trooper, Crusher, dan versi tertinggi, Eliminator.

Wednesday, October 12, 2011

Membuat class Mobil

Selamat sore temen-temen ni saya buat kan source code aplikasi java,menggunakan bahasa pemograman java....
Di sini saya membuat sbuah class mobil...bagi temen-temen ingin mencobanya silahkan diparaktekan sendiri…..insallah dan yakin kagak bisa,,jika ada kesalahan mohon maklum,karna saya baru belajar bahasa pemograman java.....!!!!!!


Sekian terimah kasih

class Mobil{
    String aktifitas;
    String Warna;
    int kecepatan;
    void cekKecepatan(){
        if(kecepatan==0)
            aktifitas="pakir";/*
     }
      //method untuk mencetak atribut                                           
 }

package classmobil();
Mobil mobilku=new Mobil();
        mobilku.kecepatan=0;
        mobilku.warna="merah";
        mobilku.cekKecepatan();
        mobilku.cetakAtribut();
}
   
}
public class Main {
void cetakAtribut(){
    System.out.println("Aktifitas="+aktifitas);
    System.out.println("warna="+warna);
    System.out.println("kecepatan="+kecepatan);
}
    public static void main(String[] args) {
        // TODO code application logic here
        Mobil mobilku=new Mobil();
        mobilku.kecepatan=0;
        mobilku.warna="merah";
        mobilku.cekKecepatan();
        mobilku.cetakAtribut();
    }

}

Tuesday, October 11, 2011

BAHASA PEMROGRAMAN NUSA

SETELAH MELEWATI waktu yang cukup lama (11 tahun) akhirnya
translator (compiler, linker, interpreter) Nusa selesai dibuat.Nusa dibuat tidak sebagai bahasa pemrograman tanpa visi yang jelas dari seorang hobbyist. Nusa dibuat sebagai bahasa pemrograman
yang dirancang dengan serius dan ditargetkan untuk dipakai oleh banyak orang dari seluruh dunia. Inilah pembeda yang sangat jelas dengan banyak bahasa pemrograman lain
yang dibuat oleh segelintir praktisi TI lain di Indonesia.Tulisan awal ini memberi gambaran awal perjalanan belajar dari saya sebagai pembuat bahasa pemrograman Nusa. Nusa adalah hasil perjalanan panjang yang melibatkan masa berdiam di Indonesia, Jepang, Inggris, dan Amerika Serikat.

Pada Mulanya

Sejak tahun 1985 semua mahasiswa ITB harus mengikuti kuliah pemrograman komputer, apapun jurusannya. Bahasa pemrograman yang dipakai adalah BASIC (Beginners’ All-purpose
Symbolic Instruction Code), yang run di atas operating system DOS. Pada 20 November 1987 diluncurkan Turbo Pascal 4, yang menggebrak dunia pemrograman. Turbo Pascal 4 membuat pemrograman skala besar menjadi feasible di atas DOS karena dibuat sebagai tool yang terdiri atas compiler, linker,
dan IDE. Turbo Pascal 4 memungkinkan pembuatan program berukuran >64 KB tanpa harus memakai overlay (modul yang di-load secara dinamis). Pada tahun 1988, Turbo Pascal 5 muncul dengan penambahan
debugger dan tahun 1989 (2 Mei 1989) muncul Turbo Pascal 5.5 yang mengimplementasikan OOP (Object-Oriented Programming).Turbo Pascal 5.5 adalah salah satu tonggak penting yang
mendasari perkembangan Nusa.Sejak memahami OOP berdasarkan Turbo Pascal 5.5, penulis
sangat menyukai OOP. Borland sendiri sejak saat itu aktif mem-CODING

Minat pada OOP

Pada akhir dekade 1980, sangat sulit mendapatkan artikel tentang OOP pada majalah-majalah komputer dan buku-buku tentang OOP. Pada masa itu, hanya ada sedikit sekali majalah komputer dan artikel tentang OOP baru muncul pada suatu majalah komputer di awal tahun 1991.Walau demikian, pada awal tahun 1991 saya dan seorang rekan bernama Arief Setyawan memutuskan untuk mengerjakan tugas
akhir yang bertema “Object-Oriented”. Kami (bertiga dengan seorang mahasiswa Informatika 1986) mungkin adalah tiga mahasiswa pertama dari bidang studi Informatika yang mengerjakan
tugas akhir bertema Object-Oriented. Pada saat itu, UML sama sekali belum ada. Kami mengerjakan tugas akhir pada saat yang tepat. Pada periode 1988-1991, muncul beberapa buku yang

TOOL BARU JEBOL WINDOWS LOGON




Firewire lebih dari sekadar sebuah port untuk transfer data. Di tangan para hacker, Firewire dapat menjadi senjata yang mematikan. Salah satunya mampu menjebol sistem logon Windows.

MEMANFAATKAN FITUR kecil yang terdapat di Firewire, Adam Boileau merilis source code yang membuat siapapun dapat menjebol dialog box Windows Authentication pada PC apapun dengan port Firewire. Tool ini sangat sederhana, 200 baris skrip ditulis dengan menggunakan bahasa program Python
yang gunanya untuk memanfaatkan fi tur yang tertanam di port Firewire yang membuat akses langsung ke
memory komputer.Dengan menargetkan fungsi vital dimana Windows biasa menyimpan sistem otentifi kasi, tool milik Boileau mampu meniban kode keamanan Windows dengan beberapa patch yang mampu melewati
akses pemeriksaan password Windows. Boileau merilis skrip ini kali pertama pada tahun 2006 dan saat ini Boileau siap merilis untuk umum karena menurutnya.
Microsoft tidak memberikan patch untuk mengamankan sistem otentifi kasi logon Windows. Boileau
juga mengatakan bahwa ia pernah melihat sebuah skrip yang mampu menjebol sistem pemeriksaan password milik Windows Vista dengan menggunakan port PCMCIA pada laptop untuk memasukkan sebuah kartu Firewire dan kemudian menyerang laptop target setelah Windows menginstal otomatis driver card
Firewire. Sangat penting mengetahui bahwa fungsi Firewire lebih dari sekadar transfer
data, terlebih Firewire mempunyai akses langsung untuk direct Memory Access (DMA). Juga patut diperhatikan bahwa teknik skrip yang telah dijelaskan di atas juga dapat digunakan pada operating
system lain, termasuk Mac OS X dan Linux, bahkan beberapa hacker mampu memodifikasi iPod untuk menjalankan penyerangan Firewire DMA.

APPLE MACBOOK AIR

Apple mengklaim Macbook Air sebagai yang tertipis, sangat portabel,dan tidak sama dengan notebook yang beredar dipasaran. Bahkanmuat dimasukkan ke dalam amplop manila

JIKA ANDA membaca live-blog dari Macworld, akan tahu emuanya tentang laptop tipis terbaru Apple, Apple MacBook ir.Apple MacBook Air dimensinya sangat tipis, hanya 0,4-1,94cm dan lebarnya 32,5 cm, walaupun berat 1,36 kilogram tidak
bisa dianggap ringan untuk notebook zaman sekarang.Apple MacBook Air memiliki ketahanan baterai mencapai
5 jam dengan semua fi tur nirkabel diaktifkan. Layar 13,3 inci dengan teknologi LED cocok dengan keyboard auto-backlit yang membuat mengetik di kegelapan bukan halangan.Sayangnya, Apple MacBook Air tidak dilengkapi dengan optical drive, hanya satu buah Micro-DVI, USB 2.0 dan port audio.Dibuat dari bahan alumunium daur ulang, Apple MacBook Air cukup bersahabat dengan lingkungan, termasuk bebas mercuryarsenic dan PVC.Apple MacBook Air menggunakan processor Intel Core 2 Duo
1.6GHz yangdapat di-upgrade hingga1,8 GHz. Pada bagian depan, terdapat sebuah80 GB 1.8 inci hard drive yang sama dengan milik iPod dan 2GB DDR2 SDRAM 667MHz. Jika Anda ingin mengganti HDD dengan 64GB solid-state drive, siapkan saja dana lebih dan bagusnya, konektivitas WiFI 802.11n, dan
Bluetooth 2.1 sudah built-in.Apple MacBook Air juga tidak menggunakan optical drive,walaupun Anda dapat membeli eksternal DVD writing.                    










                                                                                                                                                                         nfo: www.apple.com


elemen game pada umumnya seperti score, point,
dan sebagainya.Second Life sendiri bukan satu-satunya dunia virtual
kompetitornyanseperti Active Worlds, ataupun Red Light Center.Second Life menggunakan software open source seperti Apache,MySQL, dan Squid, sementara
software client-nya yang dijalankan dari sisi client(sering disebut dengan viewer) mendukung sistem operasi Microsoft Windows 2000/XP, Mac OS X, dan kebanyakan
distro Linux.
Software viewer juga tersedia dari pihak ketiga, yang cukup popular
adalah Nicholaz Edition, atau OnRez Viewer. Terdapat juga alternatif bagi Anda yang tidak menginginkan tampilan grafi s dengan alasan kecepatan, dengan menggunakan viewer SLEEK atau Ajaxlife.Walaupun Web 3.0 sering dicontohkan dalam semantic web dengan analogi pencarian item oleh mesin yang memiliki kecerdasan buatan, ternyata banyak sekali alternatif pengembangan yang tidak

membatasi arah aplikasi Web 3.0.Second Life merupakan salah satu contoh dimana Web 3.0 dimanfaatkan untuk membuat simulasi dunia menjadi sebuah dunia virtual,dan hanyalah sebuah awal dari teknologi web menuju Web 3.0.



MICROSOFT INDONESIA merilis operating system Windows Vista edisi bahasa Indonesia yang menyediakan Paket Antarmuka Bahasa (PAB) versi terjemahan
parsial yang paling umum digunakan.Setelah Anda menginstal PAB, maka teks di dalam wisaya, kotak dialog, menu,topik Bantuan dan Dukungan, dan unsur
lainnya di dalam  interface pengguna akan ditampilkan dalam bahasa PAB.
Teks yang tidak diterjemahkan akan tetap dalam bahasa dasar Windows Vista.
Misalnya, jika Anda membeli Windows Vista versi bahasa Spanyol, dan menginstal
PAB Katalan, maka sebagian teks akan tetap dalam bahasa Spanyol.Anda bisa menginstal lebih dari satu PAB, agar masing-masing pengguna komputer bisa menampilkan interface pengguna dalam bahasa yang diinginkan. PAB hanya bekerja pada Windows Vista
versi 32-bit dan tidak bisa diinstal pada versi Windows sebelumnya atau Windows Vista versi 64-bit. Dan diharapkan Vista versi bahasa Indonesia ini dapat digunakan secara luas, mulai dari institusi pendidikan, sampai urusan bisnis.



Saturday, October 8, 2011

VIRUS UNTUK SANG PROGARAMER




Jika seblumnya kita dihantui olek virus model konvensional yang berbentuk executable,kini kekuatiran kita bertambah dengan munculnya virus baru dengan metode infeksi yang berbeda.virus ini di kenal dengan nama INDUC,virus ini di ciptakan untuk menyerang computer programmer atau sofwaer house yang menggunakan Delphi sebagai compiler atau bahasa pemogramanya.

Delphi 4-7
            Delphi adalah bahasa pemograman tingkat tinggi untuk platform windows yang berbasis pascal.bahasa pemogaraman ini dikembangkan oleh CodeGear(htt://www.codegear.com)sebelum adalah borlan,yang lalu kemudian code gear ini di akusisi oleh Embarcadero(hh://www.embarcadero.com)hingga kini,bahasa pemograman ini sudah mencapai versi Delphi 2009.walaupun begitu versi-versi lawas dari Delphi masih banyak digunakan oleh kebanyakan programmer,baik di Indonesia maupun di luar negri.apalagi mengigat beberapa versi baru maupun lawas compiler ini tersedia dalam versi gratis,tentunya sangat menguntungkan bagi sang programmer maupun sofwaer house.
            Delphi banyak digunakan untuk membagun aplikasi berbasis desktop maupun web,hingga kini,penggunaan Delphi lawas versi 6 hingga 7 masih banyak digunakn,Waupun ada juga beberapa yang menggunakan versi sebelumnya.
            Namaun.apakah perna terpikirkan oleh anda bahwa sebuah virus dapat menyerang compiler??inilah saat ini terjadi.virus Induc yang sedang ramai dibicarakan dapat menyerang compiler Delphi versi 4 hingga 7.dampaknya,setiap aplikasi yang dibuat akan tercemar oleh code virus ini.memang tidak bias dipastikan kapan awal mula virus ini menyebar.tetapi mengigat banyaknya sofwaer versi lama yang juga terinfeksi,bias menandakan bahwa sebenarya virus ini sudah lama melalangbuana.

OPTIMASI SQL

OPTIMASI SQL


Database administrator dan programer sering menggunakan SQL(Structured Query Language) untuk memberikan instruksi kepada database. Tetapi hati-hati, berikan instruksi yang tepat agar database Anda tidak ngambek.

JIKA DIIBARATKAN manusia, database adalah sahabat yang patuh dan mengerti pada setiap perintah yang diberikan, sayangnya terkadang tidak berlaku sebaliknya, kita tidak patuh dan tidak mengerti pada “perintah” yang diberikan database.
Database kadang dapat “mengomel” dengan berbagai cara,bisa jadi dalam bentuk performance yang menurun, pesan kesala han, atau bahkan hasil laporan yang tidak sesuai. Semuanya dapat kita minimalisasi, bahkan sebelum hal itu terjadi.

SQL dan RDBMS

Optimasi dapat dilakukan dengan berbagai cara, dengan memahami tuning performance pada database dan best practice dari berbagai sumber, Anda dapat memiliki fundamental yang kuat dalam mengoptimalkan kinerja database.
Beberapa teknik dan metoda mungkin memerlukan perlakuan khusus yang berbeda, tergantung pada database yang Anda gunakan.Sebagai contoh, peningkatan kinerja bisa dilakukan dari sisi administrasi database seperti konfi gurasi fi le dan peng-updatean service atau security pack, yang tentunya masing-masing database memiliki keunikan dan teknik tersendiri. Lalu, dengan pertimbangan kompatibilitas, adakah optimasi yang dapat dilakukan secara umum?
Terdapat seperangkat metode dan teknik yang umum diterapkan saat Anda bekerja dengan RDBMS (Relational Database Management System), mungkin tidak semuanya dapat Anda implementasikan karena sangat tergantung pada lingkungan
aplikasi masing-masing, tetapi setidaknya Anda dapat menggunakannya
sebagai panduan dan referensi untuk membentuk sistem yang terbaik sesuai dengan kondisi yang dihadapi.Optimasi melalui perintah SQL juga memegang peranan
yang tidak kalah penting. Inti dari SQL itu sendiri adalah perintah untuk melakukan pengambilan (retrieval), penambahan (insertion), modifi kasi (updating), dan penghapusan (deletion)CODING data, disertai dengan fungsi-fungsi pendukung administrasi dan managemen database. SQL sendiri merupakan sebuah bahasa atau pemrograman standar untuk RDBMS. Walaupun disebut bahasa, mungkin
sedikit janggal saat kita menyebut bahasa pemrograman SQL,lebih familiar jika yang terdengar adalah pemrograman C, Visual Basic, Java, Delphi, dan seterusnya.
Bahasa-bahasa yang disebut belakangan termasuk dalam pemrograman imperative, mudahnya adalah bahasa yang berbentuk instruksi-instruksi inti. Sedangkan, SQL termasuk dalam pemrograman declarative, yang lebih berbentuk kalimat
atau pernyataan.Dalam pengembangannya, SQL terbagi-bagi lagi dalam berbagai
extension sehingga melahirkan berbagai sebutan seperti SQL/PSM (Persistent Stored Modules) yang merupakan standar ANSI/ISO, T-SQL (Transact-SQL) dari Microsoft dan SyBase,PL/SQL (PL merupakan singkatan dari Procedural Language)
yang digunakan oleh Oracle, yang kemudian dikembangkan
lagi menjadi PL/pgSQL yang digunakan PostgreSQL.Cukup membingungkan, bukan? Untungnya konsep dan elemen-elemen dasar dalam SQL seperti statement, query,expression, ataupun clause tetap berlaku umum pada setiap
SQL extension.Kita cukupkan pembahasan teori sampai di sini, berikut adalah
beberapa optimasi sederhana yang dapat Anda lakukan, untuk setidaknya memperbaiki atau mencegah permasalahan, dan meningkatkan performa RDBMS Anda.

Index

Optimasi pertama yang kita bahas adalah permasalahan index,tentu Anda mengetahui bahwa index dapat meningkatkan kecepatan pencarian pada record yang diinginkan. Tetapi, Anda harus cukup selektif dalam memilih fi eld yang perlu di-index,karena tidak semua fi eld memerlukannya Ibaratnya membaca buku, proses pencarian atau scan akan membaca dari awal hingga akhir halaman. Pada fi eld yang diindex,pencarian dilakukan secara index scan, atau membaca
pada index, tidak langsung pada table yang bersangkutan.Sementara pencarian yang dilakukan langsung dengan membaca record demi record pada table disebut dengan table scan. Apakah index scan selalu lebih cepat dibandingkan dengan
table scan? Ternyata tidak juga, table scan bisa jadi bekerja lebih cepat saat mengakses record dalam jumlah relatif kecil,ataupun pada saat aplikasi memang memerlukan pembacaan table secara keseluruhan.
Sebaliknya dalam mengakses record yang besar pada fi eld tertentu, index scan dapat mengurangi operasi pembacaan I/Osehingga tidak jarang menghasilkan kinerja yang lebih cepat.Sebagai patokan, Anda dapat menentukan index pada fi eld
yang sering digunakan, misalnya fi eld yang sering diakses oleh
klausa WHERE, JOIN, ORDER BY, GROUP BY.

Menentukan Tipe Data

Tipe data merupakan permasalahan yang gampang-gampang susah. Dari sisi daya tampung, tipe data yang terlalu kecil atau sebaliknya terlalu besar bagi suatu fi eld, dapat menimbulkan bom waktu yang menimbulkan masalah seiring dengan pertambahan data yang pesat setiap harinya.Menentukan tipe data yang tepat memerlukan ketelitian dan analisa yang baik. Sebagai contoh, kita perlu mengetahui kapan kita menggunakan tipe data char atau varchar.Keduanya menampung karakter, bedanya char menyediakan ukuran penyimpanan yang tetap (fi xed-length), sedangkan varchar menyediakan ukuran penyimpanan sesuai dengan isi
data (variable-length).Patokan umum adalah menggunakan tipe data char jika fi eld
tersebut diperuntukkan untuk data dengan panjang yang konsisten. Misalnya kode pos, bulan yang terdiri dari dua digit (01sampai 12), dan seterusnya. Varchar digunakan jika data yang ingin disimpan memiliki panjang yang bervariasi, atau gunakan varchar(max) jika ukurannya melebihi 8000 byte.

Jangan Izinkan Allow Null

Jika memungkinkan, kurangi penggunaan fi eld yang memperbolehkan
nilai null. Sebagai gantinya, Anda dapat memberikan nilai default pada fi eld tersebut.
Nilai null kadang rancu dalam intepretasi programer dan dapat mengakibatkan kesalahan logika pemrograman. Selain itu, fi eld null mengonsumsi byte tambahan sehingga menambah beban pada query yang mengaksesnya.



Query yang Mudah Terbaca

Karena SQL merupakan bahasa declarative, maka tidak mengherankan
jika Anda membuat query berbentuk kalimat nan panjang walaupun mungkin hanya untuk keperluan menampilkan
satu fi eld! Jangan biarkan query Anda susah dibaca dan dipahami, kecuali Anda memang berniat membuat pusing siapapun yang melihat query Anda. Query panjang yang ditulis dalam 1 CODING baris jelas akan menyulitkan modifi kasi dan pemahaman, akan jauh lebih baik jika Anda menuliskan query dalam format yang
mudah dicerna.Pemilihan huruf besar dan kecil juga dapat mempermudah
pembacaan, misalnya dengan konsisten menuliskan keyword
SQL dalam huruf kapital, dan tambahkan komentar bilamana
diperlukan.

Hindari SELECT *

Select mungkin merupakan keyword yang paling sering digunakan, karena itu optimasi pada perintah SELECT sangat mungkin dapat memperbaiki kinerja aplikasi secara keseluruhan.
SELECT * digunakan untuk melakukan query semua fi eld yang terdapat pada sebuah table, tetapi jika Anda hanya ingin memproses fi eld tertentu, maka sebaiknya Anda menuliskan fi eld yang ingin diakses saja, sehingga query Anda menjadi SELECT fi eld1, fi eld2, fi eld3 dan seterusnya (jangan
pedulikan kode program yang menjadi lebih panjang!). Hal ini akan mengurangi beban lalu lintas jaringan dan lock pada table, terutama jika table tersebut memiliki banyak fi eld dan berukuran besar.

Batasi ORDER BY

Penggunaan ORDER BY yang berfungsi untuk mengurutkan data, ternyata memiliki konsekuensi menambah beban query, karena akan menambah satu proses lagi, yaitu proses sort. Karena itu gunakan ORDER BY hanya jika benar-benar dibutuhkan
oleh aplikasi Anda. Atau jika dimungkinkan, Anda dapat melakukan pengurutan
pada sisi client dan tidak pada sisi server. Misalnya dengan menampung data terlebih dahulu pada komponen grid dan melakukan sortir pada grid tersebut sesuai kebutuhan pengguna.

Subquery Atau JOIN

Adakalanya sebuah instruksi dapat dituliskan dalam bentuk subquery atau perintah JOIN, disarankan Anda memprioritaskan penggunaan JOIN karena dalam kasus yang umum akan menghasilkan performa yang lebih cepat.
Walaupun demikian, mengolah query merupakan suatu seni, selalu ada kemungkinan ternyata subquery bekerja lebih cepat dibandingkan JOIN, misalnya dalam kondisi penggunaan JOIN yang terlalu banyak, ataupun logika query yang belum optimal.

Menulis query dengan rapi dalam program.
106 KNOW-HOW 12/2008
Gunakan WHERE dalam SELECT

“Di mana ada gula di sana ada semut”. Untuk programer database,
pepatah itu perlu dimodifi kasi menjadi “di mana ada
SELECT di sana ada WHERE”, untuk mengingatkan pentingnya
klausa WHERE sebagai kondisi untuk menyaring record sehingga meminimalkan beban jaringan. Saat sebuah table dengan jumlah data yang sangat besar
diproses, juga terjadi proses lock terhadap table tersebut sehingga menyulitkan pengaksesan table yang bersangkutan
oleh pengguna yang lain. Bahkan jika Anda bermaksud memanggil seluruh record,
tetap menggunakan WHERE merupakan kebiasaan yang baik.Jika Anda telah menggunakan WHERE pada awal query, maka kapanpun Anda ingin menambahkan kondisi tertentu, Anda tinggal menyambung query tersebut dengan klausa AND diikuti kondisi yang diinginkan.Tapi bagaimana menggunakan WHERE jika benar-benar tidak ada kondisi apapun? Anda dapat menuliskan suatu kondisi yang
pasti bernilai true, misalnya SELECT .... WHERE 1=1. Bahkan
tools open source phpMyAdmin yang berfungsi untuk mena ngani database MySQL selalu menyertakan default klausa WHERE 1 pada perintah SELECT, di mana angka 1 pada MySQL berarti nilai true.

Kecepatan Akses Operator

WHERE 1=1 dan WHERE 0 <> 1 sama-sama merupakan kondisi
yang menghasilkan nilai true. Tetapi, dalam hal ini lebih baik
Anda menggunakan WHERE 1=1 daripada WHERE 0 <> 1. Hal ini dikarenakan operator = diproses lebih cepat dibandingkan
dengan operator <>.
Dari sisi
1. =
2. >, >=, <. <=
3. LIKE
4. <>
Tidak dalam setiap kondisi operator dapat disubtitusikan
seperti contoh sederhana di atas, tetapi prioritaskanlah penggunaan
operator yang tercepat.

Membatasi Jumlah Record

Bayangkan Anda menampilkan isi sebuah table dengan menggunakan
SELECT, dan ternyata table tersebut memiliki jutaan record yang sangat tidak diharapkan untuk tampil seluruhnya. Skenario yang lebih buruk masih dapat terjadi, yaitu query tersebut diakses oleh ratusan pengguna lain dalam waktu bersamaan!
Untuk itu, Anda perlu membatasi jumlah record yang berpotensi mengembalikan record dalam jumlah besar (kecuali memang benar-benar dibutuhkan), pada SQL Server, Anda dapat menggunakan operator TOP di dalam perintah SELECT.
Contohnya SELECT TOP 100 nama... akan menampilkan
100 record teratas fi eld nama. Jika menggunakan MySQL, Anda dapat menggunakan LIMIT untuk keperluan yang sama.

Batasi Penggunaan Function

Gunakan fungsi-fungsi yang disediakan SQL seperlunya saja. Sebagai contoh, jika Anda menemukan query sebagai berikut: SELECT nama FROM tbl_teman WHERE ucase(nama) = ‘ABC’, nampak query tersebut ingin mencari record yang memiliki
data berisi “abc”, fungsi ucase digunakan untuk mengubah si fi eld nama menjadi huruf besar dan dibandingkan dengan konstanta “ABC” untuk meyakinkan bahwa semua data “abc” akan tampil, walaupun dituliskan dengan huruf kecil, besar,
ataupun kombinasinya.
Tetapi, cobalah mengganti query tersebut menjadi SELECT nama FROM tbl_teman WHERE nama = ‘ABC’, perhatikan query ini tidak menggunakan function ucase. Apakah menghasilkan result yang sama dengan query pertama? Jika pengaturan database Anda tidak case-sensitive (dan umumnya secara
default memang tidak case-sensitive), maka hasil kedua query tersebut adalah sama. Artinya, dalam kasus ini Anda sebenarnya tidak perlu menggunakan function ucase!

Baca dari Kiri ke Kanan

Query yang Anda tulis akan diproses dari kiri ke kanan, misalkan terdapat query WHERE kondisi1 AND kondisi2 AND kondisi3, maka kondisi1 akan terlebih dahulu dievaluasi, lalu kemudian kondisi2, kondisi3, dan seterusnya. Tentunya dengan asumsi tidak ada kondisi yang diprioritaskan/dikelompokkan dengan
menggunakan tanda kurung.Logika operator AND akan langsung menghasilkan nilai false saat ditemukan salah satu kondisi false, maka letakkan kondisi yang paling mungkin memiliki nilai false pada posisi paling kiri. Hal ini dimaksudkan agar SQL tidak perlu lagi mengevaluasi kondisi berikutnya saat menemukan salah satu kondisi telah bernilai false. Jika Anda bingung memilih kondisi mana yang layak menempati
posisi terkiri karena kemungkinan falsenya sama atau tidak bisa diprediksi, pilih kondisi yang lebih sederhana untuk diproses.

Gambar dalam Database

Database memang tidak hanya diperuntukkan sebagai penyimpanan teks saja, tetapi dapat juga berupa gambar. Kalau pepatah mengatakan sebuah gambar bermakna sejuta kata, tidak berarti kita harus menyediakan tempat penyimpanan seukuran sejuta kata untuk menampung satu gambar! Akan lebih baik
bagi kinerja database jika Anda hanya menyimpan link atau
phpMyAdmin mengingatkan penggunaan WHERE.
CODING
12/2008 KNOW-HOW 107
lokasi gambar di dalam database, dibandingkan menyimpan fi sik gambar tersebut.
Kecuali jika Anda tidak memiliki pilihan lain, misalnya karena alasan keamanan atau tidak tersedianya tempat penyimpanan ain untuk gambar Anda selain di dalam database.Tetapi, jelas jika Anda dapat memisahkan gambar secara fi sik
dari database, maka ukuran dan beban database akan relatif
berkurang drastis, proses seperti back-up dan migrasi akan lebih mudah dilakukan.

Pengukuran Kinerja

Terdapat tools optimizer yang bervariasi untuk tiap RDBMS, Anda dapat menggunakannya sebagai panduan untuk meningkatkan kinerja query, di mana Anda dapat mengetahui berapa lama waktu eksekusi atau operasi apa saja yang dilakukan sebuah query. Jika Anda menemukan sebuah query tampak tidak optimal,
berusahalah menulis ulang query tersebut dengan teknik dan metode yang lebih baik. Semakin banyak query yang dapat dioptimasi, akan semakin baik kinerja aplikasi Anda. Terutama saat frekuensi pemakaian query tersebut relatif tinggi.

Back-up

Buatlah back-up otomatis secara periodik, sebaiknya tes dan simulasikan prosedur restore database dan perhitungkan waktu yang diperlukan untuk membuat sistem pulih kembali jika terjadi sesuatu yang tidak diharapkan pada database.
Lakukan proses back-up pada waktu di mana aktivitas relatif rendah agar tidak mengganggu kegiatan operasional.

Banyak Jalan Menuju Roma

Berikan satu masalah pada beberapa programer, maka Anda mungkin akan mendapatkan beberapa solusi yang berbedabeda. Banyak alternatif yang dapat diciptakan untuk menghasilkan sesuatu, tetapi tentunya kita menginginkan alternatif
yang terbaik. Karena itu, jangan ragu mencoba menuliskan ulang query
Anda dengan cara lain jika Anda melihat kemungkinan peningkatan kinerja, contohnya pada potongan query berikut:
WHERE SUBSTRING(nama,1,1) =’b’ Query di atas akan mengambil record dengan kondisi karakter pertama kolom nama adalah “b”, sehingga akan tampil isi
record seperti “Budi”, “Badu”, “Benny” dan seterusnya. Cara lain untuk menghasilkan record yang sama adalah sebagai berikut:
WHERE nama LIKE ‘b%’ Hasil yang ditampilkan kedua query tersebut akan sama, tetapi performa yang dihasilkan (terutama untuk record berukuran besar) akan berbeda. Umumnya kondisi LIKE akan bekerja dengan lebih cepat dibandingkan function SUBSTRING.
Contoh lain yang lebih kompleks adalah seperti query berikut:
SELECT NIP, nama FROM tbl_pegawai WHERE dept = ‘IT’ OR kota
= ‘jakarta’ OR divisi = ‘programer’
Perhatikan query di atas memiliki tiga kondisi yang dipisahkan
oleh klausa OR. Alternatif lain adalah dengan menuliskan query
sebagai berikut:
SELECT NIP, nama FROM tbl_pegawai WHERE dept = ‘IT’
UNION ALL
SELECT NIP, nama FROM tbl_pegawai WHERE kota = ‘jakarta
UNION ALL
SELECT NIP, nama FROM tbl_pegawai WHERE divisi = ‘programer’
Walaupun penulisan query menjadi lebih panjang, bisa jadi alternatif ini akan lebih baik. Mengapa? Dengan asumsi fi eld dept memiliki index, sementara fi eld kota dan divisi tidak diindex, query pertama tidak akan menggunakan index dan melakukan table scan. Berbeda dengan query kedua, index akan tetap
dilakukan pada sebagian query sehingga akan menghasilkan kinerja yang relatif lebih baik.

LEBIH LANJUT

GM Bagi Bagi Char PB Garena 2016/2017

Kumpulan Akun Char PB Pointblank Gratis 2017 Yang belum diambil   -  Apakah anda tahu, setiap minggunya GM memberikan PB gratis kepada pl...