Exploring the Ocean of Science

Archive for October, 2009

Prosedur Sweeping Windows bajakan

Pihak POLRI TIDAK BERHAK Untuk mengambil komputer dari TKP kecuali TERBUKTI TERLIBAT dalam tindakan kriminal (praduga Tak bersalah) Misalnya dipergunakan untuk membuat CD/DVD bajakan itu sendiri, menjual software bajakan, mempubilkasikan secara umum (bersifat komersial) seperti isilagu/ringtone MP3, toko menjual barang ilegal (hard ware curian), credit card fraud, dll.

Proses PEMBUKTIAN KETERLIBATAN seseorang dalam tindakan kriminal yang menggunakan komputer membutuhkan waktu yang lama, termasuk melakukan pengintaian. Jadi, apabila ada POLISI yang berani masuk ke dalam warnet dan menyatakan harus menyita semua komputer yang ada berarti mereka adalah OKNUM yang tidak bertanggungjawab.

*Semua ada proses/prosedurnya*
Mengenai pemakaian windows original, pernyataan di bawah ini diperoleh langsung dari pihak Microsoft Indonesia dan juga melalui perwakilannya, yaitu Magenta Sebagai tempat pendaftaran MSRA.

*Pertama*
Akan ada perwakilan dari pihak yang merasa berkepentingan (misalnya Microsoft) yang lebih dikenal dengan sebutan SURVEYOR datang melakukan SURVEY, BUKAN RAZIA/PENYITAAN!!!. Mereka wajib Menunjukkan surat perintah
kerja (SPK) yang berisikan detail apa saja yang harus mereka kerjakan. User BERHAK melakukan konfirmasi dengan cara menelphone pihak microsoft Indonesia atau Magenta tentang keberadaan surveyor di lapangan tersebut.

*Kedua*
Apabila surveyor mendapatkan penggunaan software bajakan, maka surveyor tersebut BERHAK meminta surat pernyataan dari user yang WAJIB diisi data sesuai dengan keadaan dilapangan oleh user.

*Ketiga*
Pihak Microsoft/ MAgenta akan mengirim surat penawaran untuk menyelesaikan tindakan pelanggaran oleh user. Setelah user mengkonfirmasi tindakan yang telah diambil apakah memutuskan untuk menggunakan Windows original atau beralih ke solusi freeware seperti LINUX, pihak Microsoft/Magenta akan mengirimkan kembali seorang surveyor memastikan kebenaran di lapangan.

*Keempat*
Apabila user tidak merespon penawaran dan atau setelah surveyor mendatangi kembali masih mendapatkan pelanggaran, maka pihak microsoft/Magenta akan mengirimkan surat peringatan.

*Kelima*
Apabila user tidak merespone surat peringatan, maka piak microsoft/magenta akan memeperkarakan secara hukum dan menyerahkannya ke pihak POLRI.
Selanjutnya sepoerti proses hukum yang berlaku, POLRI akan mengirimkan surat panggilan pertama, kedua,ketiga dan apabila tidak direspon baru akan dilakukan penyitaan dan penyegelan tempat usaha.

*Catatan*
Diluar proses/prosedur di atas, User BERHAK mempertahankan kepemilikannya atas harta benda yang dibeli secara legal dan sebagai pembeli dapat memposisikan dirinya sebagai KORBAN. Tidak bisa suatu merek meperkarakan
merek lain, misalnya microsoft memeperkarakan Biling Explorer bajakan. Hal tersebut merupakan etika merek dagang terdaftar (registered trade mark) internasional.

Informasi ini dapat diperoleh melalui website Microsoft atau apabila kita mencoba mengaktifasi/update windows bajakan.

sumber:
http://www.son.web.id/2007/09/01/prosedur-sweeping-windows-bajakan/

Advertisements

Tentang BSA

Business Software Alliance (BSA) adalah asosiasi perdagangan nirlaba yang didirikan untuk memajukan sasaran industri piranti lunak dan mitra peranti kerasnya. Organisasi ini adalah organisasi terkemuka yang didedikasikan
untuk mendukung dunia digital yang legal dan aman. Dengan berkantor pusat di Washington, DC, BSA aktif di 80 negara lebih, dengan staf yang berdedikasi di 11 kantor di seluruh dunia: Brussels, London, Munich, Beijing, Delhi,
Jakarta, Kuala Lumpur, Taipei, Tokyo, Singapura, dan São Paulo. Anggota BSA meliputi Adobe, Apple, Autodesk, Avid, Bentley Systems, Borland, CA, Cadence Design Systems, Cisco Systems, CNC Software/Mastercam, Corel, Cyberlink,
Dassault Systèmes SolidWorks Corporation, Dell, EMC, HP, IBM, Intel, McAfee, Microsoft, Monotype Imaging, PTC, Quark, Quest Software, SAP, Siemens, Sybase, Symantec, Synopsys, dan The MathWorks.

Misi global BSA adalah untuk mempromosikan lingkungan legislatif dan legal jangka panjang di mana industri perangkat lunak bisa maju dan memberikan suara bulat untuk para anggotanya di seluruh dunia. Program-program BSA mencanangkan pengembangan inovasi, pertumbuhan, dan pasar yang kompetitif untuk piranti lunak komersial dan teknologi yang terkait. Anggota BSA optimis akan masa depan industri, namun percaya bahwa masa depan tidak
terungkap begitu saja. Dan, kami setuju bahwa saat ini adalah masa yang kritis bagi perusahaan untuk menangani permasalahan-permasalahan utama yang mempengaruhi inovasi.

Inisiatif Kebijakan Publik
Kebijakan publik BSA memiliki satu tujuan sederhana: untuk menciptakan pasar internasional yang dinamis, terbuka, dan bebas hambatan, di mana industri piranti lunak dan piranti keras dapat terus berkembang dan sukses. Upaya BSA untuk membuka pasar—dan menjaga keberadaannya—pada akhirnya akan memberi dampak yang nyata dan dapat dihitung bagi perusahaan. Upaya advokasi BSA mencerminkan prioritas industri ini untuk memastikan kelangsungan pertumbuhan dan inovasi ekonomi, baik dengan menghapus hambatan non-tarif untuk memasuki pasar, mencegah pembebanan pajak internet yang menyimpang, atau menegakkan hukum yang menekan pembajakan piranti lunak secara global.

Prioritas kebijakan BSA termasuk:
– Perlindungan kekayaan intelektual (hak cipta, paten, mandat teknologi);
– Pembukaan pasar untuk perdagangan yang bebas penghalang;
– Keamanan data;
– Peningkatan kesempatan di Brasil, Cina, India, Rusia, dan pasar berkembang lainnya;
– Inovasi dan pilihan peranti lunak;
– Pemerintahan elektronik (E-government*)*; dan
– Tenaga kerja dan pendidikan.

BSA memprioritaskan kegiatan dan sumber dayanya pada isu-isu yang memiliki dampak yang nyata dan signifikan terhadap kemampuan industri piranti lunak dan piranti keras untuk berhasil di pasar. Kami mendukung isu-isu dan
program ini melalui penelitian, pembelajaran, pencapaian lebih terhadap media, dan kegiatan publik yang dirancang untuk menarik perhatian prioritas industri dan mendorong adanya dialog mendalam mengenai masa depan dan
inovasi.

Program Anti-Pembajakan dan Kepatuhan
Menurut Laporan Pembajakan Global IDC, piranti lunak tak berlisensi mengakibatkan kerugian lebih dari $48 miliar pada tahun 2007, dengan 38% piranti lunak terpasang dalam PC secara ilegal. Pembajakan piranti lunak berpengaruh negatif pada penerbit piranti lunak, menciptakan persaingan yang tidak adil untuk perusahaan yang sah, merusak merek melalui distribusi produk di bawah standar, dan menghadapkan pelanggan pada berbagai risiko TI termasuk pembobolan keamanan dan kehilangan data.

BSA bertindak untuk melindungi hak kekayaan intelektual penyedia piranti lunak, menegakkan undang-undang hak cipta piranti lunak, dan mendorong kepatuhan. BSA menerima ribuan laporan dari pengguna akhir, pengecer,
penegak hukum, anggota, dan asosiasi yang berafiliasi mengenai detail penggunaan piranti lunak yang tak berlisensi dan ilegal. BSA mengatasi pelanggaran hak cipta pengguna akhir di tempat kerja yang telah dipasangi piranti lunak, namun belum membeli lisensi yang dibutuhkan. BSA juga menggunakan teknologi terbaru untuk melacak pen-download-an piranti lunak ilegal dan distribusi piranti lunak bajakan di internet melalui situs lelang online.

BSA menyadari bahwa salah satu jalan keluar terpenting untuk meningkatkan kepatuhan terhadap lisensi piranti lunak adalah meningkatkan kesadaran mengenai dampak negatif secara finansial dan operasional yang dihadapi oleh
perusahaan yang menggunakan piranti lunak tak berlisensi. Program kepatuhan lisensi BSA yang mendunia dirancang untuk menjangkau organisasi pengguna akhir dan kesatuan lain untuk mendidik mereka mengenai pentingnya manajemen aset piranti lunak dan nilai piranti lunak legal.

Anggota BSA :
Adobe
Agilent Technologies
Altium
Andal Software
Apple
Autodesk
Bamboomedia
Bentley Systems
CA
Cadence Design Systems
Cisco Systems
Collega Inti Pratama
Corel
Cyberlink
Dassault Systèmes SolidWorks Corporation
Dell
Embarcadero
Frontline PCB Solutions
HP
IBM
Intel
Intelix Global Crossing
Intuit
Mcafee
Microsoft
Mindjet
Minitab
Mitrais
NedGraphics
Pesona Edukasi
PTC
Quark
Quest
Rosetta Stone
SAP
Sheba Distribution
Siemens PLM Software, Inc.
Sybase
Symantec
Tekla
The MathWorks
Zahir

Sumber : http://www.bsa.org/country/BSA%20and%20Members/Our%20Members.aspx

Istri Umar bin Khatab Cerewet??

Adakah istri yang tidak cerewet? Sulit menemukannya. Bahkan istri Khalifah sekaliber Umar bin Khatab pun sama.

Seorang laki-laki berjalan tergesa-gesa menuju kediaman khalifah Umar
bin Khatab. Ia ingin mengadu pada khalifah; tak tahan dengan
kecerewetan istrinya. Begitu sampai di depan rumah khalifah, laki-laki
itu tertegun. Dari dalam rumah terdengar istri Umar sedang ngomel,
marah-marah. Cerewetnya melebihi istri yang akan diadukannya pada Umar.
Tapi, tak sepatah katapun terdengar keluhan dari mulut khalifah. Umar
diam saja, mendengarkan istrinya yang sedang gundah. Akhirnya lelaki
itu mengurungkan niatnya, batal melaporkan istrinya pada Umar.

Apa yang membuat seorang Umar bin Khatab yang disegani kawan maupun
lawan, berdiam diri saat istrinya ngomel? Mengapa ia hanya
mendengarkan, padahal di luar sana, ia selalu tegas pada siapapun?

Umar berdiam diri karena ingat 5 hal. Istrinya berperan sebagai BP4. Apakah BP4 tersebut?

1. Benteng Penjaga Api Neraka

Kelemahan laki-laki ada di mata. Jika ia tak bisa menundukkan pandangannya, niscaya panah-panah setan berlesatan dari matanya, membidik tubuh-tubuh elok di sekitarnya. Panah yang tertancap membuat darah mendesir, bergolak, membangkitkan raksasa dalam dirinya. Sang raksasa dapat melakukan apapun demi terpuasnya satu hal; syahwat. Adalah sang istri yang selalu berada di sisi, menjadi ladang bagi laki-laki untuk menyemai benih, menuai buah di kemudian hari. Adalah istri tempat ia mengalirkan berjuta gelora. Biar lepas dan bukan azab yang kelak diterimanya Ia malah mendapatkan dua kenikmatan: dunia dan akhirat. Maka, ketika Umar terpikat pada liukan penari yang datang dari kobaran api, ia akan ingat pada istri, pada penyelamat yang melindunginya dari liukan indah namun membakar. Bukankah sang istri dapat menari, bernyanyi dengan liuka yang sama, lebih indah malah. Membawanya ke langit biru. Melambungkan raga hingga langit ketujuh. Lebih dari itu istri yang salihah selalu menjadi penyemangatnya dalam mencari nafkah.

2. Pemelihara Rumah

Pagi hingga sore suami bekerja. Berpeluh. Terkadang sampai mejelang malam. Mengumpulkan harta. Setiap hari selalu begitu. Ia pengumpul dan terkadang tak begitu peduli dengan apa yang dikumpulkannya. Mendapatkan uang, beli ini beli itu. Untunglah ada istri yang selalu menjaga, memelihara. Agar harta diperoleh dengan keringat, air mata, bahkan darah tak menguap sia-sia Ada istri yang siap menjadi pemelihara selama 24 jam, tanpa bayaran. Jika suami menggaji seseorang untuk menjaga hartanya 24 jam, dengan penuh cinta, kasih sayang, dan rasa memiliki yang tinggi, siapa yang
sudi? Berapa pula ia mau dibayar. Niscaya sulit menemukan pemelihara rumah yang lebih telaten daripada istrinya. Umar ingat betul akan hal itu. Maka tak ada salahnya ia mendengarkan omelan istri, karena (mungkin) ia lelah menjaga harta-harta sang suami yang semakin hari semakin membebani.

3. Penjaga Penampilan

Umumnya laki-laki tak bisa menjaga penampilan. Kulit legam tapi berpakaian warna gelap. Tubuh tambun malah suka baju bermotif besar. Atasan dan bawahan sering tak sepadan. Untunglah suami punya penata busana yang setiap pagi menyiapkan pakaianannya, memilihkan apa yang pantas untuknya, menjahitkan sendiri di waktu luang, menisik bila ada yang sobek. Suami yang tampil menawan adalah wujud ketelatenan istri. Tak mengapa mendengarnya berkeluh kesah atas kecakapannya itu.

4. Pengasuh Anak-anak

Suami menyemai benih di ladang istri. Benih tumbuh, mekar. Sembilan bulan istri bersusah payah merawat benih hingga lahir tunas yang menggembirakan. Tak berhenti sampai di situ. Istri juga merawat tunas agar tumbuh besar. Kokoh dan kuat. Jika ada yang salah dengan pertumbuhan sang tunas, pastilah istri yang disalahkan. Bila tunas membanggakan lebih dulu suami maju ke depan, mengaku, ?akulah yang membuatnya begitu.? Baik buruknya sang tunas beberapa tahun ke depan tak lepas dari sentuhan tangannya. Umar paham benar akan hal itu.

5. Penyedia Hidangan

Pulang kerja, suami memikul lelah di badan. Energi terkuras, beraktivitas di seharian. Ia butuh asupan untuk mengembalikan energi. Di meja makan suami Cuma tahu ada hidangan: ayam panggang kecap, sayur asam, sambal terasi danlalapan. Tak terpikir olehnya harga ayam melambung; tadi bagi istrinya sempat berdebat, menawar, harga melebihi anggaran. Tak perlu suami memotong sayuran, mengulek bumbu, dan memilah-milih cabai dan bawang. Tak pusing ia memikirkan berapa takaran bumbu agar rasa pas di lidah. Yang suami tahu hanya makan. Itupun terkadang dengan jumlah berlebihan; menyisakan sedikit saja untuk istri si juru masak. Tanpa perhitungan istri selalu menjadi koki terbaik untuk suami. Mencatat dalam memori makanan apa yang disuka dan dibenci suami.

Dengan mengingat lima peran ini, Umar kerap diam setiap istrinya ngomel. Mungkin dia capek, mungkin dia jenuh dengan segala beban rumah tangga di pundaknya. Istri telah berusaha membentenginya dari api neraka, memelihara hartanya, menjaga penampilannya, mengasuh anak-anak, menyediakan hidangan untuknya. Untuk segala kemurahan hati sang istri, tak mengapa ia mendengarkan keluh kesah buah lelah.

Umar hanya mengingat kebaikan-kebaikan istri untuk menutupi segala cela dan kekurangannya. Bila istri sudah puas menumpahkan kata-katanya, barulah ia menasehati, dengan cara yang baik, dengan bercanda. Hingga tak terhindar pertumpahan ludah dan caci maki tak terpuji. Akankah suami-suami masa kini dapat mencontoh perilaku Umar ini. Ia tak hanya berhasil memimpin negara tapi juga menjadi imam idaman bagi keluarganya

**** Diolah dari Cahaya Iman, edisi kamis, 30 November 2006-11-30, Indosiar pukul 04:30 ***

Munculin Lagi File Super Hidden (gara2 virus nakal)

Untuk Flashdisk/HDD yang kena virus setelah dibersihin virusnya, tapi file-file didalamnya masih belum muncul, tapi apabila dibuka dipropertiesnya ada isinya, maka :

start > Run >cmd >

Masuk ke lokasi drive flashdisk / HDDnya contoh :
d:

Trus enter,lalu ketik :
attrib -s -h *.* +a /s /d

Keterangan:
-s (uncheck system attribute) & -h (uncheck hidden attribute) ngga bisa dipisahkan, jadi kalo mo pake -s ya harus dgn -h demikian juga
sebaliknya
-r (uncheck read-only) bisa juga dipakai tergantung kondisi, virus
biasanya ngga menset jadi read-only +a default attribute semua file
/s dipakai utk memproses file hingga ke seluruh folder dan subfolder /d dipake utk memproses folder juga (folder itu sendiri)

Semoga bermanfaat dan membantu

Source: my solution 4 TS Intersat

Tips Optimalisasi Database SQL

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 kesalahan, 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 konfigurasi 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 umumfi
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, bukanfiUntungnya 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 scanfiTernyata 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 (fixed-length), sedangkan varchar menyediakan ukuran penyimpanan sesuai dengan isi data (variable-length).
Patokan umum adalah menggunakan tipe data char jika field 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 modifikasi 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 dimodifikasi 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 apapunfiAnda 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 pertamafiJika 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. MengapafiDengan 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.

Sumber : PCMedia

Program Menu Jumlah dan Kurang Matriks dengan Pascal

Assalamualaikum…

Yang satu ni versi terbaru yang lebih lengkap dari penjumlahan matriks yang telah dibahas sebelumnya, pada program ini diberi sentuhan menu dan tambahan fungsi untuk pengurangan matriks. Met Mencoba ^_^

Program menu_matriks;
uses crt;
Type
matrix = array[1..2,1..3] of integer;
var
matrixa,matrixb : matrix;
p : byte;

{—-UNTUK MENU—–}

procedure menu(var pil:byte);
begin
clrscr;
Writeln(‘Menu Matrix’);
Writeln(‘ 1.Penjumlahan’);
Writeln(‘ 2.Pengurangan’);
Writeln(‘ 3.Exit’);
Write(‘Pilihan Anda : ‘);
Readln(pil);
end;

{—-UNTUK INPUT—-}

procedure Input(var i:matrix);
var x,z : integer;
begin
for z:=1 to 2 do
begin
for x:=1 to 3 do
begin
Write(‘Inputkan Matrix[‘,z,’ , ‘,x,’] : ‘);
Readln(i[z,x]);
end;
end;
end;

{—-UNTUK MENAMPILKAN MATRIX—-}
procedure Tampil(var i:matrix);
var x,z : integer;
begin
writeln;
for z:=1 to 2 do
begin
for x:=1 to 3 do
begin
Write(i[z,x]:4);
end;
Writeln;
end;
end;

{—-UNTUK PROSES PENJUMLAHAN—-}
procedure Jumlah(var a,b:matrix);
var k : matrix;
x,z : integer;
begin
writeln;
writeln(‘Hasil Penjumlahan Matriks’);
for z:=1 to 2 do
begin
for x:=1 to 3 do
begin
k[z,x] := a[z,x] + b[z,x];
write(k[z,x]:4);
end;
writeln;
end;
end;

{—-UNTUK PROSES PENGURANGAN—-}
procedure Kurang(var a,b:matrix);
var k : matrix;
x,z : integer;
begin
writeln;
writeln(‘Hasil Pengurangan Matriks’);
for z:=1 to 2 do
begin
for x:=1 to 3 do
begin
k[z,x] := a[z,x] – b[z,x];
write(k[z,x]:4);
end;
writeln;
end;
end;

{—-PROGRAM UTAMA—-}
begin
while p 3 do
begin
menu(p);
clrscr;
case p of
1: begin
writeln(‘Penjumlahan Matriks’);
writeln(‘Matriks I’);
Input(matrixa);
writeln;
writeln(‘Matriks II’);
Input(matrixb);
writeln;

clrscr;
Write(‘Matriks I’);
Tampil(matrixa);
writeln;
Write(‘Matriks II’);
Tampil(matrixb);
jumlah(matrixa,matrixb);
Readln;
end;
2: begin
write(‘Pengurangan Matriks’);
writeln(‘Matriks I’);
Input(matrixa);
writeln;
writeln(‘Matriks II’);
Input(matrixb);
writeln;

clrscr;
Write(‘Matriks I’);
Tampil(matrixa);
writeln;
Write(‘Matriks II’);
Tampil(matrixb);
kurang(matrixa,matrixb);
Readln;
end;
end;
end;
end.

Program Fibonacci dengan Pascal

Assalamualaikum,
Uhmmm…ini salah satu program pascal untuk membuat deret fibonacci (0 1 1 2 3 5 8 ….) dengan metode array

Met Mencoba…^_^

Program Fibonacci;

uses crt;
var
fib : array[1..100] of integer;
k,s : integer;

begin
clrscr;
write(‘Masukan banyaknya deret : ‘);
readln(k);
for s:=0 to k do
begin
if s <= 1 then
begin
fib[s] := s;
write(fib[s]:3);
end
else
begin
fib[s] := fib[s-1] + fib[s-2];
write(fib[s]:3);
end;
end;
readln;
end.