MIND MAP DALAM TEKNOLOGI

MIND MAP DALAM TEKNOLOGI

Kapanpun Anda memiliki suatu pemikiran, dari suatu ide gila sampai menghadapi masalah logika pemrograman, cobalah mind map untuk memvisualisasikannya. Joko Nurjadi

MIND MAP? Dukun dari mana lagi itu? Tenang, mind map bukan julukan seorang sakti yang memiliki mantra dan ramuan ajaib untuk ditukar dengan lembaran rupiah Anda. Mind map pada dasarnya hanyalah sebuah tool yang hanya memerlukan sebuah bidang polos—misalnya kertas—dan peralatan menggambar. Seperti juga dukun, mind map tidak menjamin segala sesuatu terselesaikan. Tetapi, kelebihan mind map adalah menggali potensi yang ada dalam otak manusia.

Awal Mula

“Banyak jalan menuju Roma”, ungkapan ini menunjukkan bahwa suatu tujuan dapat dicapai dengan berbagai cara. Demikian pula untuk setiap pemikiran yang bisa saja tercetus setiap saat. Untuk mewujudkannya, Anda dapat menuangkan pemikiran itu terlebih dahulu dalam bentuk catatan, rekaman, atau sebuah gambar.

Teknik mind map merupakan teknik memetakan pemikiran dalam bentuk gambar. Tidak berlebihan jika dikatakan otak manusia bagaikan sebuah kanvas gambar yang sangat luas, gambar-gambar yang ada di otak Anda tidak hanya berasal dari citra yang dikirimkan mata, tetapi juga dari imajinasi otak Anda sendiri.

Mudah untuk membuktikannya, baca novel favorit Anda yang memiliki ratusan halaman yang dipenuhi dengan teks tanpa disertai gambar sedikit pun, otak Anda tetap dapat menciptakan gambar sesuai versi otak masing-masing untuk memvisualisasikan tokoh atau lokasi di dalam cerita.

Sesekali visualisasi tersebut tercipta karena memang dipandu oleh teks yang mendukung. Tetapi, jika ada tool yang langsung dapat meng-copy gambar dari otak para pembacanya ke dalam format gambar, maka akan terdapat banyak versi gambar yang bervariasi, berbeda dari otak yang satu dengan yang lain.

Dengan mind map, Anda akan mengenal suatu teknik melaku-kan representasi visual dari sebuah pemikiran, yang disusun dalam bentuk radial (memencar), sehingga dapat digunakanuntuk pemecahan masalah, pengambilan keputusan, ataupun sekadar menjabarkan sesuatu dalam bentuk gambar.

Dasar pemikiran mind map sebenarnya telah digunakan selama berabad-abad oleh para pendidik, insinyur, psikolog, dan orang awam. Adalah Tony Buzan, yang memperkenalkan mind map yang disesuaikan dengan tekniknya sendiri, dengan karya yang dituangkan melalui buku-bukunya, salah satunya yang paling popular adalah Use Your Head.

Ilustrasi Kasus

Penggunaan mind map dapat dicontohkan pada kondisi sebagai berikut, bayangkan di dalam sebuah ruang kelas, Anda tengah mengikuti sebuah sesi pelajaran yang dibawakan seorang dosen. Bagaimana cara Anda mencatat keterangan dosen yang dengan bersemangat berbicara dan juga menulis? Beberapa kemungkinan yang Anda lakukan tanpa mind map:

  • Mencatat apapun yang ditulis dosen di papan tulis, sebelum Gambarseseorang menghapusnya (kalau perlu, foto papan tulisnya).
  • Memilih untuk berkonsentrasi mendengarkan penjelasan dosen, masalah catatan nanti tinggal pinjam dari teman.
  • Menyalakan tape recorder yang merekam penjelasan dosen (yang kemungkinan besar tidak pernah diputar ulang).
  • Cuek saja, dan berdoa soal ujian akan bocor.

Isu penting di sini, yang biasanya selalu menjadi dilemma adalah mana yang lebih penting, mencatat atau mendengarkan? Apalagi saat dosen berbicara sambil menulis dengan kecepatantinggi, rasanya ingin sekali menyihir sang dosen agar bergerak dengan slow motion!

Mungkin Anda dapat mulai mencoba teknik mind map untuk menggambarkan penjelasan dosen. Saat Anda melakukannya, maka otak Anda akan berusaha memahami dan proses mencatat tetap dilakukan dengan cara Anda sendiri. Lebih jauh lagi, bisa jadi Anda masih sempat berpikir pengembangan yang lebih luas saat melihat gambar mind map Anda, tidak terpaku pada ruang lingkup penjelasan yang dipaparkan dosen. Kreativitas semacam ini tentu lebih sulit dilakukan otak manusia saat yang berada di depan mata adalah kertas penuh tulisan (apalagi jika tulisan Anda mirip dengan resep obat), walau tidak berarti gambar di dalam mind map Anda harus indah.

Setelah katakanlah satu minggu hingga satu bulan, otak Anda juga mungkin akan lebih senang melihat kembali gambar Anda dibandingkan tulisan Anda, proses memanggil kembali (recall) informasi umumnya akan diserap lebih cepat melalui gambar dibandingkan tulisan.

Beberapa sumber menyatakan, dibandingkan dengan teknik mencatat konvensional, teknik mind map dapat meningkatkan efisiensi belajar hingga mencapai 15%. Walaupun tentu saja, semuanya tergantung pada apakah Anda suka menggunakan metode tersebut, coba beberapa metode, dan pilihlah metode yang paling Anda sukai dengan hasil yang terbaik untukAnda.

Membuat Mind Map

Mind map sangat mudah dipahami setelah Anda mengetahui dasarnya (yang juga sangat sederhana), menurut Tony Buzan, beberapa panduan untuk menggambar mind map adalah:

1. Mulai dari bagian tengah kertas kosong dengan sisi panjang diletakkan mendatar.

2. Gunakan gambar untuk ide sentral.

3. Gunakan warna.

4. Hubungkan cabang-cabang secara hirarki radial.

5. Buat garis hubung yang melengkung.

6. Gunakan satu kata kunci untuk setiap garis.

7. Gunakan gambar, selain pada gambar sentral.

Untuk lebih jelasnya, Anda dapat melihat sebuah contoh sederhana mind map yang menjelaskan mengenai permodelan map itu sendiri, seperti pada Gambar 1.

Setelah Anda memahami dasar-dasar sebuah mind map, umumnya tidak sulit untuk memahami gambar mind map yang lain.

Mind Map dan Teknologi

Dalam dunia teknologi, apakah mind map berguna? Ternyata bukan hal yang sama sekali baru jika mind map digunakan dalam pengembangan software, bisnis, pendidikan, dan lain sebagainya yang berhubungan erat dengan aspek teknologi. Penulis sendiri yang bergelut dalam dunia pemrograman pernah menghadapi sebuah permasalahan logika pemrograman yang berjam-jam tidak terpecahkan, ternyata dapat diselesaikan dalam hitungan menit setelah menggambar mind map.

Bahkan kini telah tersedia wikipedia dalam bentuk mind map, Anda dapat mencobanya pada situs http://www.wikimindmap. org/. Cara pencariannya mirip dengan situs wikipedia.org, hanya saja hasilnya yang biasa merupakan artikel panjang, kini ditampilkan secara visual dalam bentuk mind map! Contoh berikut ini akan membandingkan konten yang ditampilkan antara wikipedia.org dan wikimindmap.org, dengan kata kunci “Global Warming”, wikipedia.org akan menampilkan konten seperti pada Gambar 2.

Sekadar ilustrasi, jika Anda melakukan copy paste artikel ini ke dalam Microsoft Word, maka Anda akan mendapatkan konten ini berisi lebih dari 5.000 kata atau sekitar 17 halaman, itupun setelah bagian referensi (yang berjumlah ratusan referensi) dihapus. Sedangkan, jika Anda mencari kata kunci “Global Warming” pada wikimindmap.org, yang akan tampil adalah seperti pada Gambar 3.

Seperti pada wikipedia.org, Anda akan mendapatkan informasi mengenai global warming, hanya saja ditampilkan secara visual. Ide utama (global warming) cukup termuat dalam satu layar, di mana masing-masing cabang dapat dieksplorasi lebih lanjut.

Beberapa topik dapat dikembangkan menjadi topik utama, dan beberapa topik dapat di-expand membentuk cabang-cabang yang baru. Contohnya jika Anda ingin mengetahui apa saja penyebab global warming, klik pada “Causes”, maka akan tampil penyebab-penyebab global warming.

Ungkapan “satu gambar bermakna ribuan kata” rupanya berlaku di sini. Sudah pasti Anda hanya membutuhkan waktu yang lebih singkat untuk membaca dan memahami konten wikimindmap.org, dibandingkan dengan wikipedia.org.

Dengan pendekatan visual mind map ini, otak Anda dimungkinkan untuk memahami suatu topik beserta hubungannya secara cepat.

Pastinya terdapat pro dan kontra mengenai mana yang lebih baik, tetapi menurut penulis hal itu bukanlah sesuatu yang harus diperdebatkan. Anggaplah konten wikimindmap.org meru-pakan summary, sedangkan konten wikipedia.org merupakan detailnya, tinggal tergantung pada situasi dan kondisi Anda, apakah sedang membutuhkan konten summary ataupun detail, dengan masing-masing kelebihan dan kekurangannya.

Mind map juga dapat digunakan untuk saling bertukar pikiran. Sudah tidak asing bagi kita saat ini jika pendistribusian dan sharing data menjadi demikian mudah tanpa kita harus bertemu secara fisik satu sama lain, semuanya berkat adanya teknologi. Tetapi, menyamakan persepsi ternyata bukanlah pekerjaan mudah.

Dalam beberapa kasus, banyak orang merasa mereka harus saling bertemu dengan alasan komunikasi melalui telepon, e-mail, chat, dirasakan tidak mampu menyamai fungsi bertukar pikiran secara langsung, bahkan tidak jarang kita masih belum dapat memahami pikiran lawan bicara sekalipun telah berbicara bertatap muka.

Dengan mind map yang mudah dipahami, Anda dapat membaca dan memahami pemikiran orang lain, dan sebaliknya mengutarakan pemikiran Anda kepada orang lain. Tetapi, bagaimana cara saling bertukar gambar mind map? Salah satu alternatifnya, Anda dapat menggunakan software mind map.

Software Mind Map

Pilihan software mind map cukup banyak tersedia, yang gratis maupun yang komersial. Untuk software mind map gratis, diantaranya FreeMind, Semantik, Pimki, View Your Mind, dan seterusnya. Sedangkan untuk software mind map komersial, pilihannya antara lain adalah 3D Topicsape, ConceptDraw MindMap, HeadCase, Inspiration, juga software dari Tony Buzan sendiri, yaitu iMindMap. Juga terdapat layanan mind map dalam bentuk web aplikasi online sehingga memungkinkan Anda membuat dan melakukan kolaborasi mind map dengan rekan-rekan Anda, kapan dan di mana saja sejauh Anda dapat mengakses Internet. Situs http://www.mindmeister.com atau http://www.min-domo.com adalah beberapa contoh situs yang menyediakan layanan tersebut.

Dalam salah satu bukunya, Tony Buzan juga memberikan contoh mengenai penemu-penemu besar yang menggunakan konsep mind map—atau setidaknya menggunakan gambar dan simbol untuk menuangkan pikiran mereka—seperti Leonardo Da Vinci, Charles Darwin, Galileo Galilei, Albert Einstein, dan seterusnya.

Software mind map membuat Anda memiliki fasilitas yang memungkinkan untuk dapat membuat dan melakukan sharing mind map dengan cara yang jauh lebih mudah dibandingkan para penemu besar di masa lalu. Dan siapa tahu pemikiran Anda yang dituangkan dalam mind map dapat berguna. Salah satu contoh mind map yang informatif dan sering di-forward melalui e-mail atau ditemukan pada blog-blog adalah mind map mengenai global warming.

Software-software mind map mudah digunakan jika Anda sudah memahami mind map. Umumnya, yang membedakan antara software mind map satu dengan yang lain adalah bentuk-bentuk simbol dan gambar yang digunakan dan juga format file penyimpanan.

Mind Map vs Diagram Lain

Terdapat banyak jenis diagram dengan aturannya masing-masing, mungkin Anda telah cukup pusing dengan yang namanya Flow Chart, Data Flow Diagram, Network Diagram, dan seterusnya, dan kini ditambah lagi dengan mind map!

Keberadaan berbagai macam versi diagram yang telah kita kenal, umumnya disesuaikan dengan fungsinya. Misalnya Net-work Diagram yang khusus diarahkan untuk menggambarkan jaringan telekomunikasi dan komputer, Data Flow Diagram digunakan dalam bidang sistem informasi, flow chart digunakan untuk merepresentasikan sebuah algoritma atau proses dalam bentuk skematik. Mind map tidak spesifik diarahkan untuk bidang tertentu, sehingga dapat digunakan dan dimengerti oleh siapa saja, otomatis mind map harus didesain dengan aturan yang sederhana dan mudah dipahami.

Mind map tidak menggantikan penggunaan diagram-diagram lain, terutama diagram pada bidang-bidang spesifik yang telah disebutkan di atas. Karena itu juga, kurang tepat untuk membandingkan kelebihan/kekurangan mind map dibandingkan diagram seperti flow chart, dan seterusnya.

Kecuali jika dibandingkan dengan diagram mind map versi lain, karena selain mind map versi Tony Buzan, juga terdapat teknik pemetaan pikiran yang lain dengan aturan yang berbeda, walaupun tetap intinya terletak pada pendayagunaan otak manusia.

Terdapat satu persamaan mind map dengan diagram manapun, yaitu sama-sama merupakan kegiatan menggambar dan menyusun. Karena itu, jangan remehkan minat meng-gambar anak-anak dan adik-adik kita, karena menggambar merupakan salah satu cara eksplorasi kemampuan otak yang luar biasa.[1]

LEBIH LANJUT

http://www.wikimindmap.org/

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. Joko Nurjadi

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. Semua-nya 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 file 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 meng-gunakannya 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), modifikasi (updating), dan penghapusan (deletion) 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 field yang perlu di-index, karena tidak semua field memerlukannya.

Ibaratnya membaca buku, proses pencarian atau scan akan membaca dari awal hingga akhir halaman. Pada field yang di-index, 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 field tertentu, index scan dapat mengurangi operasi pembacaan I/O sehingga tidak jarang menghasilkan kinerja yang lebih cepat.

Sebagai patokan, Anda dapat menentukan index pada field yang sering digunakan, misalnya field 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 field, 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 (01 sampai 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 field yang memperbolehkan nilai null. Sebagai gantinya, Anda dapat memberikan nilai default pada field tersebut.

Nilai null kadang rancu dalam intepretasi programer dan dapat mengakibatkan kesalahan logika pemrograman. Selain itu, field 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 field!

Jangan biarkan query Anda susah dibaca dan dipahami, kecuali Anda memang berniat membuat pusing siapapun yang melihat query Anda. Query panjang yang ditulis dalam 1baris 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 field yang terdapat pada sebuah table, tetapi jika Anda hanya ingin memproses field tertentu, maka sebaiknya Anda menuliskan field yang ingin diakses saja, sehingga query Anda menjadi SELECT field1, field2, field3 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 field 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.

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 kinerja, urutan operator yang diproses paling cepat adalah:

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 field 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 isi field 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 ataulokasi gambar di dalam database, dibandingkan menyimpan fisik gambar tersebut.

Kecuali jika Anda tidak memiliki pilihan lain, misalnya karena alasan keamanan atau tidak tersedianya tempat penyimpanan lain untuk gambar Anda selain di dalam database.

Tetapi, jelas jika Anda dapat memisahkan gambar secara fisik 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 beri-kut:

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 al-ternatif ini akan lebih baik. Mengapa? Dengan asumsi field dept memiliki index, sementara field 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.

Ah... Beda Tipis Saja!

Pastinya masih banyak terdapat teknik lain yang tidak akan dapat dibahas semuanya dalam artikel ini. Di antara (atau mungkin semua) teknik optimasi yang dibahas di atas, mungkin Anda akan menemukan bahwa setelah diuji dengan data sampel maka kinerja sebelum dan sesudah optimasi ternyata sama sekali tidak signifikan, beda tipis, atau tidak ada bedanya sama sekali!

Memang benar, dengan spesifi kasi hardware yang semakin meningkat, data yang relatif kecil, dan alur yang sederhana, Anda mungkin tidak akan mendapatkan perbedaan yang signifikan.

Tetapi jika Anda siap untuk terjun menghadapi tantangan menangani aplikasi yang lebih besar, maka perbedaan antara tanpa dan dengan optimasi akan sangat nyata, dengan pema-haman dan kebiasaan coding yang baik, Anda akan dapat menghasilkan aplikasi yang juga lebih baik.

Tidak ada salahnya menerapkan optimasi yang Anda ketahui sedini mungkin dalam pengembangan sistem aplikasi Anda.

Bahkan jika sebuah aplikasi tnampaknya memiliki kinerja yang cukup baik, tidak berarti lepas dari usaha optimasi lebih lanjut.

Terutama jika Anda mengharapkan aplikasi tersebut mampu berkembang lebih jauh, tidak pernah ada kata sempurna bagi suatu sistem aplikasi, tetapi setiap sistem selalu ada kesempatan menjadi lebih berguna. Salah satunya dengan selalu mencari cara yang lebih baik

LEBIH LANJUT

· http://blog.sqlauthority.com/

· http://blogs.msdn.com/queryoptteam/

· http://www.sql-server-performance.com

Oracle Database 11g Release 2 Telah Tersedia



Oracle—perusahaan software bisnis dunia—telah mengumumkan kehadiran Oracle Database 11g Release 2 yang kini dapat diunduh melalui Oracle Technology Networks (OTN). Generasi terbaru database ini digunakan untuk membantu organisasi menghantarkan informasi yang lebih baik ke seluruh enterprise. Di samping itu, Oracle Database 11g Release 2 digunakan untuk meningkatkan layanan yang lebih tinggi, tetapi dengan biaya yang lebih rendah.

Penekanan biaya itu nampak jelas melalui kemampuan menyatukan server yang memungkinkan organisasi mengurangi biaya server hingga mencapai 5x dengan menyelaraskan ketentuan yang ada, serta pengaturan database grid yang terkonsolidasi.

Kelebihan lain dari debutan terbaru Oracle ini juga nampak dari produktivitas DBA hingga 2x. Kemampuan self management terotomasi dapat membantu untuk melipat-gandakan produktivitas administrator database dibandingkan versi terdahulu Oracle Database.

"Pelanggan kita menginginkan feature-feature yang menawarkan kinerja dan ketersediaan yang lebih baik, biaya TI yang lebih rendah dan cara untuk mengantarkan informasi kepada business users mereka," kata Andy Mendelsohn (senior vice president of Database Server Technologies, Oracle).

"Ketersediaan Release 2 melengkapi solusi Oracle Database 11g dalam mengatasi tantangan TI dan bisnis sekarang ini, serta melanjutkan strategi untuk membantu pelanggan dalam memberikan layanan berkualitas tinggi dengan biaya rendah," tambah Andy.

Selama tiga dekade lebih, Oracle telah menjadi pencipta inovasi teknologi yang berdampak pada cara berbisnis.

Awas! Trojan Incar Pengguna Skype VoIP


Peneliti Symantec—vendor keamanan internet global—telah mengobservasi kehadiran Trojan yang mengincar pengguna Skype VoIP (Voice over Internet Protocol). Trojan ini memiliki kemampuan untuk merekam telepon Skype dan mengirim pembicaraan telepon pengguna ke penyerang via file MP3. Di sini Trojan bertindak sebagai penyadap telepon dan mencuri informasi dari komunikasi telepon Skype.

Symantec mendeteksi Trojan ini sebagai Trojan.Peskyspy dan dapat diunduh ke komputer dengan cara menipu pengguna melalui email scam atau taktik rekayasa sosial lainnya. Ketika Trojan telah menyusup ke dalam mesin, selanjutnya Trojan akan menggunakan aplikasi yang menangani pemrosesan audio dalam komputer dan menyimpan data pembicaraan telepon sebagai file MP3.

File MP3 kemudian dikirim melalui internet ke server yang telah ditentukan. Melalui server inilah, penyerang dapat mendengarkan rekaman pembicaraan tersebut. Merekam pembicaraan telepon dalam format MP3 pasti membuat ukuran file menjadi lebih kecil, artinya data yang dikirim ke jaringan juga lebih kecil, sehingga memercepat pengiriman dan menghindari deteksi.

Trojan tersebut menginfeksi PC melalui teknik hooking dan dapat menyadap pembicaraan bahkan sebelum panggilan ini mencapai Skype atau aplikasi audio lainnya. Hooks merupakan teknik yang digunakan untuk mengubah perilaku dari sebuah aplikasi, yang membuat Microsoft digunakan sebagai aplikasi audio.

Meskipun saat ini ancaman Trojan sudah sangat rendah, namun dikuatirkan penulis software dapat menambahkan fungsionalitas ini ke dalam serangan yang mereka atur sendiri. Oleh sebab itulah, pengguna komputer diharapkan menerapkan best practise keamanan, meng-install dan terus meng-update software keamanan mereka. Terakhir adalah hindari meng-klik link pada email yang mencurigakan.

Cara Setting Wireless dengan Backtrack 4 di Gunadarma Xmalang

Cara setting wireless di backtrack 4

Langkah pertama untuk mengaktifkan wireless di Backtrack 4 :
  • Buka terminal
  • ketik kwrite /etc/network/interfaces maka akan muncul
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp ( dhcp diubah menjadi static )

address 192.168.101.99 -> (digit 99 terserah) range 1 - 255
network 192.168.101.0 -> (range awal)
broadcast 192.168.101.255 -> (range akhir)
netmask 255.255.255.0
gateway 192.168.101.1
  • setelah itu save
  • ketik kwrite /etc/resolv.conf pada terminal
  • setelah itu ketik nameserver 203.130.231.98
  • setelah itu ketik sudo /etc/init.d/networking start -> berfungsi untuk mengaktifkan network pada wireless
  • ping ke server apakah dah da balesan dari server dengan cara ping 192.168.101.1
  • setelah itu coba ping ke google.com dengan mengetik ping www.google.com apabila dah da balesan dari google maka wireless telah bisa digunakan
Selamat Mencoba

Renren jadi sasaran Penjahat Cyber

Renren.com, Facebook versi China ini terdeteksi oleh Symantec telah terancam serangan cyber yang baru. Serangan tersebut hadir dalam format video Flash yang menyaru sebagai promosi video klip berjudul "Wish you were here" dari Pink Floyd. Video Flash yang dimaksud dapat dilihat pada gambar di samping.

Serangan yang menyasar situs jejaring sosial ini mengekploitasi cookie otentifikasi yang baru saat log-in agar bisa mengirimkan link yang sama dalam file flash ke semua teman yang ada dalam daftar mereka. Alhasil si penerima akan terkecoh dan mengira file datang dari sumber yang terpercaya.

Symantec Security memberikan beberapa saran bagi konsumen agar tidak menjadi mangsa si penjahat cyber. Berikut saran dari Symantec:

• Pastikan Anda cukup terlindungi - lengkapi diri Anda dengan software kemanan yang kuat dan ter-update untuk menghindari serangan virus ke komputer Anda. Norton 360 memberikan perlindungan menyeluruh dalam melawan virus, worm, hacker dan botnet, melindungi dari pencurian identitas ketika online serta melindungi dokumen penting.

• Selalu mengunduh aplikasi, dokumen, program, update software atau codec dari situs resmi atau sumber yang memiliki reputasi dan terpercaya.

• Hati-hati dengan tipuan rekayasa sosial. Trik ini sering menipu atau menarik seseorang agar bisa mengirimkan program jahat. Tetap waspada saat mengunjungi situs-situs yang menawarkan "film online gratis".

Oracle Akuisisi Sun

Proses akuisisi Sun Microsystems oleh Oracle akan segera mencapai titik akhir. Seperti dilansir situs ComputerWeekly, hari ini Departemen Kehakiman AS telah merestui proposal Oracle yang diajukan sejak April lalu. Para pemegang saham Sun sendiri telah menyepakati proposal tersebut pada 16 Juli 2009. Besar dana yang harus dikeluarkan Oracle dikabarkan mencapai US$ 7 miliar.

Dengan pembelian ini, Oracle akan secara resmi mendapat akses terhadap dua produk paling strategis yang dimiliki Sun, yaitu Java dan Solaris. Selama ini, kedua teknologi tersebut sudah menjadi tulang punggung manajemen basis data Oracle. Salah satunya adalah Oracle Fusion Middleware.

Dalam kesempatan sebelumnya, Sun memang menyambut baik akuisisi ini. "Oracle dan Sun telah bekerja sama sejak lama, lebih dari 20 tahun," ucap Scott McNealy (Sun Chairman). "Kombinasi dua kekuatan ini wajar terjadi dan akan menjadi tonggak baru dalam sejarah industri teknologi informasi," tambahnya.