Lisensi Software

Senin, 28 Mei 2012 | komentar


PENGERTIAN LISENSI SOFTWARE

http://toysbox.wordpress.com/2010/05/22/lisensi-komersial-software/

Bagi Anda yang kesehariannya sering berkutat dengan komputer, tentu istilah lisensi software bukanlah sesuatu yang baru. Namun walaupun demikian terkadang jika ada yang bertanya lisensi itu apa, kita kesulitan untuk menjawabnya. Nah, artikel ini akan membantu Anda untuk memahami apa yang dimaksud dengan lisensi software.


a. Definisi Lisensi

1. Lisensi menurut secara umum

Lisensi adalah izin yang diberikan oleh pemilik rahasia dagang kepada pihak lain melalui suatu perjanjian berdasarkan pada pemberian hak (bukan pengalihan hak) untuk menikmati manfaat ekonomi dari suatu rahasia dagang yang diberi perlindungan dalam jangka waktu tertentu dan syarat tertentu.

2. Lisensi menurut UU No 19 th 2002 ttg Hak Cipta Bab I pasal 1

Lisensi adalah “izin yang diberikan oleh Pemegang Hak Cipta atau Pemegang Hak Terkait kepada pihak lain untuk mengumumkan dan/atau memperbanyak Ciptaannya atau produk Hak Terkaitnya dengan persyaratan tertentu”.

b. Definisi Program Komputer atau Software

Dalam Bab I Ketentuan Umum Pasal 1 Undang-undang Hak Cipta disebutkan bahwa program komputer adalah “Sekumpulan instruksi yang diwujudkan dalam bentuk bahasa, kode, skema, ataupun bentuk lain, yang apabila digabungkan dengan media yang dapat dibaca dengan komputer akan mampu membuat komputer bekerja untuk melakukan fungsi-fungsi khusus atau untuk mencapai hasil yang khusus, termasuk persiapan dalam merancang instruksi-instruksi tersebut”.

c. Definisi Lisensi Software

Jadi, lisensi software adalah “hak eksklusif bagi pencipta dan atau pemegang hak cipta suatu software untuk mengumumkan dan memperbanyak software ciptaannya, yang timbul secara otomatis setelah software tersebut diciptakan tanpa mengurangi pembatasan menurut peraturan perundang-undangan yang berlaku”.

Dari definisi tersebut dapat kita lihat bahwa ada dua kata kunci, yaitu izin dan persyaratan tertentu. Hal ini berarti izin itu dapat diberikan oleh pemegang hak cipta kepada pihak lain dengan persyaratan tertentu. Software atau program komputer merupakan salah satu bentuk karya intelektual seseorang, sehingga tidaklah mengherankan jika software tersebut termasuk ciptaan yang dilindungi oleh undang-undang.Hal ini berarti si pencipta software tadi memiliki hak eksklusif untuk mengumumkan atau memperbanyak ciptaannya atau memberikan izin untuk itu dengan tidak mengurangi pembatasan-pembatasan menurut peraturan perundang-undangan yang berlaku, atau yang sering disebut dengan hak cipta.

2. JENIS-JENIS LISENSI SOFTWARE

Justisiari P. Kusumah [2006] menyebutkan bahwa ada beberapa jenis lisensi yang diberikan terhadap suatu software, antara lain:

a. Lisensi Komersial (Full Version)

Jenis lisensi komersial adalah lisensi yang diberikan kepada software-software yang bersifat komersial dan digunakan untuk kepentingan-kepentingan komersial (bisnis). Misalnya : sistem operasi Microsoft Windows (98, ME, 200, 2003, Vista), Microsoft Office, PhotoShop, Corel Draw, Page Maker, AutoCAD, beberapa software Anti Virus (Norton Anti, MCAffee, Bitdefender, Kaspersky), Software Firewall (Tiny, Zona Alarm, Seagate), dan lain sebagainya. Tidak ada jalan lain yang diperbolehkan untuk mendapatkan lisensi software ini kecuali dengan membayar sejumlah harga yang telah ditetapkan.

b. Lisensi Percobaan/Shareware Licensi

Jenis lisensi percobaan software (shareware) adalah jenis lisensi yang diberikan kepada software-software yang bersifat percobaan (trial atau demo version) dalam rangka uji coba terhadap software komersial yang akan dikeluarkan sebelum software tersebut dijual secara komersial atau pengguna diijinkan untuk mencoba terlebih dahulu sebelum membeli software yang sebenarnya (Full Version) dalam kurun waktu tertentu, misalnya 30 s/d 60 hari.

Termasuk pula dalam lisensi jenis ini ada evaluation version dimana software yang diluncurkan belum bisa disebut full version, dengan tujuan sebagai evaluasi kinerja software tersebut. Sehingga, user akan memberikan feedback kepada developer software yang berguna sebagai penyempurnaan software tersebut, baik dari segi tampilan atau bahkan adanya bug dalam software tersebut. Misalnya saja saat Windows 7 versi evaluation diujicobakan secara gratis namun hanya berfungsi selama kurang lebih 1 tahun sejak Mei 2009 dan akan berakhir Juni 2010, meskipun sekarang telah diluncurkan versi lengkapnya.

Yang termasuk shareware di antaranya adalah nagware, dimana pada software tersebut sering muncul peringatan yang akan hilang jika melakukan registrasi (membayar), namun software tersebut masih tetap bias digunakan meski belum diregistrasikan. Misalnya, ACDSee (sampai versi 2.42)

c. Lisensi Software Terbatas/Limited License

Jenis lisensi terbatas adalah jenis lisensi yang diberikan kepada software-software yang bersifat non komersial/freeware dan digunakan hanya untuk kepentingan-kepentingan non komersial seperti pada instritusi pendidikan (sekolah dan kampus) dan untuk penggunaan pribadi, misalnya antivirus SmadAV yang bukan versi PRO, dan sebagainya.

d. Lisensi Bebas Pakai/Freeware License

Jenis lisensi freeware adalah software/aplikasi yang bersifat gratis.Kita tidak perlu membeli atau memasukkan nomor serial (keygen) dari software tersebut, tapi hak cipta tetap milik pembuat software. Kita tidak boleh merubah hak cipta dan isi dari software tersebut, apalagi menjualnya ke orang lain. Dengan kata lain kita hanya boleh memakai saja. Dan sumber kodenya bersifat tertutup, atau closed source. Contoh dari aplikasi freeware adalah Winamp, Firefox atau Google Chrome, Yahoo!Mesenger, Pidgin, dan sebagainya.

Freeware, sesuai dengan namanya adalah software yang benar-benar gratis atau bebas untuk digunakan, developer software tidak pernah meminta Anda untuk membayar apapun kepadanya.Dalam beberapa kasus kemampuan freeware malah lebih bagus ketimbang software berbayar.Beberapa freeware memberikan persyaratan bahwa software tersebut hanya boleh digunakan untuk penggunaan pribadi (personal) bukan untuk digunakan untuk keperluan komersil.
Stripware

Varian dari freeware yang menawarkan versi gratis dari software komersial dengan fasilitas yang terbatas, biasanya ditandai dengan pemberian nama Personal Edition/Lite Version/Basic.
Contoh : Eudora Lite, InnoculateIT Personal Edition, Real Player Basic, Linux (distribusi Corel)
Adware

Varian dari freeware yang menampilkan iklan pada tampilan software (umumnya berupa banner)
Contoh : GoZilla!, JetAudio (mulai versi 4.7), Eudora Pro (mulai versi 4.2)
Optionware

Varian dari freeware yang meminta imbalan secara sukarela dalam bentuk selain uang, misalnya : email (mailware), prangko (stampware), surat/kartupos, dll, bahkan ada yang meminta anda untuk menyumbang kan sejumlah uang kepada yang membutuhkan, bahkan ada yang hanya meminta Anda untuk berhenti menggerutu tentang sulitnya hidup (!).

e. Lisensi Open Source

Jenis lisensi Open Source adalah jenis lisensi yang diberikan kepada software-software yang source code penuhnya tersedia bagi siapa pun yang menginginkannya (untuk dimodifikasi) atau menggunakan hak cipta publik yang dikenal sebagai GNU Public License (GPL) yang bisa Anda baca secara lengkap di http://www.gnu.org.

Adapun prinsip dasar GPL berbeda dengan hak cipta, GPL pada dasarnya berusaha memberikan kebebasan seluas-luasnya bagi pencipta software untuk mengembangkan kreasi perangkatnya dan menyebarkannya secara bebas kemasyarakat umum (publik). Tentunya dalam penggunaan GPL ini kita masih terikat dengan norma, nilai dan etika. Misalnya sangatlah tidak etis apabila kita mengambil software GPL kemudian mengemasnya menjadi sebuah software komersial dan mengklaim bahwa software tersebut adalah hasil karya atau ciptaannya. Sebagai contoh, dengan menggunakan lisensi GPL sistem operasi Linux yang saat banyak beredar di masyarakat Linux dapat digunakan secara gratis di seluruh dunia, bahkan listing program-nya (Source Code) dalam Bahasa C dari sistem operasi Linux tersebut secara terbuka dan dapat diperoleh secara gratis di internet tanpa dikategorikan membajak software dan melanggar hak cipta (HKI).

Lisensi software sangat beragam jenisnya.Berikut ini adalah penyebutan jenis-jenis lisensi software, berikut sedikit penjelasan dari masing-masing lisensi tersebut.

Berdasarkan jenis lisensi yang sudah dijelaskan tadi, berikut ini ada beberapa contoh lisensi yang ada, antara lain :

1. Open atau Select Licence
Jenis Open Licence atau Select Licence ini adalah jenis lisensi yang diberikan kepada suatu pengguna yang telah membeli atau membayar lisensi untuk penggunaan software tertentu yang akan dipasang (install) ke beberapa perangkat komputer yang akan dipergunakan. Biasanya lisensi jenis ini hanya akan ditunjukan oleh satu lembar surat lisensi untuk pemakaian beberapa perangkat komputer. Misalnya pembelian lisensi untuk pemakaian Sistem Operasi Microsoft Windows XP Profesional Editions untuk 50 unit perangkat komputer dan ditunjukan hanya dengan satu lembar surat lisensi.

Gambar 1. Open atau Select Licence

2. Original Equipment Manufacture (OEM)
Merupakan jenis lisensi yang diberikan kepada setiap perangkat yang dibeli secara bersamaan dengan penggunakan software-nya. Misalnya ketika kita membeli sebuah laptop atau notebook yang sudah dilengkapi dengan Sistem Operasi Microsoft Windows XP Profesional yang asli (original) yang ditunjukan dengan adanya stiker Certificate of Authenticity (COA) pada bagian bawah perangkat laptop atau notebook tersebut.
Gambar 2. Produk Original Equipment Manufacture (OEM) dan Certificate of Authenticity (COA

Biasanya kualitas dari stiker Certificate of Authenticity (COA) selalu diperbaiki agar tidak mudah rusak atau mudah dipalsukan oleh orang-orang tidak bertanggung jawab.

3. Full Price (Retail Product)
Jenis Full Price (Retail Product) ini adalah jenis lisensi yang diberikan kepada setiap pengguna yang telah membeli software secara terpisah dengan perangkat keras (hardware) secara retail. Biasanya pembelian perangkat lunak (software) ini akan dilengkapi dengan satu lembar surat lisensi yang lengkap dengan packaging serta manual book dari software tersebut.

Gambar 3. Contoh produk Full Price (Retail Product)

4. Academic License
Jenis Academic License ini adalah jenis lisensi yang diberikan kepada setiap institusi pendidikan (sekolah-sekolah atau kampus) dengan harga khusus dan biasanya dengan sejumlah potongan tertentu (non komersial) dan ditunjukan dengan satu lembar surat lisensi yang dapat dipergunakan pada sejumlah perangkat seperti yang tertera pada surat lisensi tersebut. Misalnya pembelian software dari Microsoft Corp yang akan dipergunakan dilingkungan sekolah atau kampus (Microsoft Voleme Licencing), MYOB, JAVA, Cisco, dan lain sebagainya.

Gambar 4.Academic License
5. Lisensi khusus bagi Independen Software Vendor (ISV)
Jenis Independen Software Vendor (ISV) ini adalah jenis lisensi yang diberikan kepada setiap Independen Software Vendor (ISV) untuk pembelian software-software yang digunakan untuk pembuatan aplikasi (Development Tools Software) dengan harga khusus dan biasanya dengan sejumlah potongan tertentu dan ditunjukan dengan satu lembar surat lisensi yang dapat dipergunakan pada sejumlah perangkat seperti yang tertera pada surat lisensi tersebut. Saat ini perusahaan pembuatan software seperti Microsoft Indonesia sudah mengeluarkan jenis lisensi ini yang khusus diberikan kepada ISV-ISV yang berada di bawah pembinaan Microsoft Indonesia, salah satunya adalah Perusahaan Andal Software (http://www.andalsoftware.com).

3. PERATURAN DAN UNDANG-UNDANG TENTANG LISENSI SOFTWARE

Alasan mengapa suatu produk software perlu dilindung dijelaskan dalam Undang-undang Hak Cipta yang secara lengkap berbunyi “Sekumpulan instruksi yang diwujudkan dalam bentuk bahasa, kode, skema, ataupun bentuk lain, yang apabila digabungkan dengan media yang dapat dibaca dengan komputer akan mampu membuat komputer bekerja untuk melakukan fungsi-fungsi khusus atau untuk mencapai hasil yang khusus, termasuk persiapan dalam merancang instruksi-instruksi tersebut.”

Undang-undang nomor 19 Tahun 2002 tentang Hak Cipta

1. Pasal 2 Ayat (2), pencipta atau pemegang hak cipta atas karya sinematografi dan program komputer memiliki hak untuk memberikan izin atau melarang orang lain yang tanpa persetujuannya menyewakan ciptaan tersebut untuk kepentingan yang bersifat komersial.
2. Pasal 15 Ayat (g), pembuatan salinan cadangan suatu program komputer oleh pemilik program komputer yang dilakukan semata-mata untuk digunakan sendiri.
3. Pasal 30 Ayat (1), tentang hak cipta atas ciptaan program komputer berlaku selama 50 (lima puluh) tahun sejak pertama kali diumumkan.
4. Pasal 45 – 46, tentang lisensi piranti lunak (Software).
5. Pasal 56, hak cipta berhak mengajukan gugatan ganti rugi.
6. Pasal 72 Ayat (1), barangsiapa dengan sengaja dan tanpa hak melakukan perbuatan sebagaimana dimaksud dalam pasal 2 ayat (1) atau pasal 49 ayat (1) dan ayat (2) dipidana minimal 1 bulan dan/atau minimal Rp. 1.000.000,- (Satu Juta Rupiah), atau pidana penjara maksimal 7 tahun dan/atau denda maksimal Rp. 5.000.000.000,- (Lima Miliar Rupiah).
7. Pasal 72 Ayat (2), barangsiapa dengan sengaja menjual kepada umum suatu ciptaan atau barang hasil pelanggaran hak cipta pidana penjara maksimal 5 tahun dan/atau denda maksimal Rp. 500.000.000,- (Lima Ratus Juta Rupiah).
8. Pasal 72 Ayat (3), barangsiapa dengan sengaja dan tanpa hak memperbanyak penggunaan untuk kepentingan komersial suatu program komputer dipidana dengan pidana penjara maksimal 5 tahun dan/atau denda maksimal Rp. 500.000.000,- (lima Ratus Juta Rupiah).
4. PEMBAJAKAN (PRIRACY) SOFTWARE

Dalam kamus Besar Bahasa Indonesia, istilah bajak mengandung banyak arti. Namun, dalam pembahasan artikel ini, arti yang lebih tepat adalah arti ke-tiga, yaitu mengambil hasil ciptaan orang lain tanpa sepengetahuan dan seizinnya.

Penggunaan software secara ilegal terjadi apabila seseorang memanfaatkan suatu software (seperti menginstall, menggunakan, mengunduh, mengubah, menjual, atau memperbanyak) tanpa memiliki izin (lisensi) dari pemegang hak cipta software yang dimaksud.Penggunaan software secara ilegal ini bisa terjadi pula apabila ada ketentuan-ketentuan dalam persyaratan lisensi yang dilanggar.Misalnya jika ada ketentuan bahwa software tidak boleh di-install di lebih dari satu komputer, kemudian ketentuan ini dilanggar, maka hal ini dapat dikategorikan ke dalam penggunaan software secara illegal, atau dengan istilah lain, membajak.

a. Jenis-jenis pembajakan software

a. Hardisk Loading
Jenis pembajakan software yang tergolong pada Hardisk Loading adalah pembajakan software yang biasanya dilakukan oleh para penjual komputer yang tidak memiliki lisensi untuk komputer yang dijualnya, tetapi software-software tersebut dipasang (install) pada komputer yang dibeli oleh pelangganya sebagai “bonus”. Hal ini banyak terjadi pada perangkat komputer yang dijual secara terpisah dengan software (terutama untuk sistem operasinya).Pada umumnya ini dilakukan oleh para penjual komputer rakitan atau komputer “jangkrik” (Clone Computer).

2. Under Licensing
Jenis pembajakan software yang tergolong pada Under Licensing adalah pembajakan software yang biasanya dilakukan oleh perusahaan yang mendaftarkan lisensi untuk sejumlah tertentu, tetapi pada kenyataanya software tersebut dipasang (install) untuk jumlah yang berbeda dengan lisensi yang dimilikinya (bisanya dipasang lebih banyak dari jumlah lisensi yang dimiliki perusahaan tersebut). Misalnya, suatu perusahaan perminyakan dengan nama “PT. Perusahaan Perminyakan” membeli lisensi produk AutoCAD dari perusahaan Autodesk. Perusahan tersebut membeli lisensi produk AutoCAD untuk 25 unit komputer di perusahaannya yang mempergunakan software AutoCAD sebagai aplikasi yang digunakan untuk menangani kebutuhan pekerjaan pada bidang perminyakan.Pada kenyataanya, “PT. Perusahaan Perminyakan” tersebut memiliki lebih dari 25 unit komputer yang menggunakan software AutoCAD, misalnya ada 40 unit komputer. “PT. Perusahaan Perminyakan” tersebut telahymelakukan pelanggaran Hak Cipta (Pembajakan software) dengan kategori Under Licensing untuk 15 unit komputer yang digunakan, yaitu dengan menggunakan software AutoCAD tanpa lisensi yang asli dari AutoDesk.

3. Conterfeiting
Jenis pembajakan software yang tergolong pada Conterfeiting adalah pembajakan software yang biasanya dilakukan oleh perusahaan pembuat software-software bajakan dengan cara memalsukan kemasan produk (Packaging) yang dibuat sedemikian rupa mirip sekali dengan produk aslinya. Seperti : CD Installer, Manual Book, Dus (Packaging), dll.

4. Mischanneling
Jenis pembajakan software yang tergolong pada Mischanneling adalah pembajakan software yang biasanya dilakukan oleh suatu institusi yang menjualnya produknya ke institusi lain dengan harga yang relatif lebih murah, dengan harapan institusi tersebut mendapatkan keuntungan lebih (revenue) dari hasil penjualan software tersebut. Sebagai contoh misalnya Kampus El-Rahma, bekerjasama dengan pihak Microsoft Indonesia untuk membeli lisensi produk Microsoft (Misalnya : Microsoft Windows Server 2003 = 10 Lisensi, Microsoft Windows XP Profesional = 100 Lisensi dan Minrosoft Office 2003 Enterprise Editions = 100 Lisensi). Karena Kampus El-Rahma merupakan salah satu instrukusi pendidikan (kampus), maka pihak Kampus El-Rahma mendapatkan harga khusus dari Microsoft Indonesia untuk pembelian lisensi (Academic License) atau bisa disebut Microsoft Volume License (MVL).Katakanlah untuk pembelian lisensi produk Microsoft Windows XP Profesional, Kampus El-Rahma hanya membayar sebesar $ 2 / Lisensi. Kemudian untuk mendapatkan untung, melalui koperasi mahaiswa atau koperasi karyawannya pihak Kampus El-Rahma menjual ke suatu perusahan software Windows XP Profesional berikut dengan lisensinya ke perusahan lain. Sebut saja perusahaan itu adalah “PT. Perusahan Lain”.Pihak Kampus El-Rahma menjual software tersebut dengan harga $ 5 / Lisensi.Padahal secara resmi kalau pihak “PT. Perusahan Lain” untuk membeli satu lisensi produk software Microsoft Windows XP Profesional harus membayar $ 8 / Lisensi.

5. End user copying
Jenis pembajakan software yang tergolong pada End user copying adalah pembajakan software yang biasanya dilakukan oleh sesorang atau institusi yang memiliki 1 (satu) buah lisensi suatu produk software, tetapi software tersebut dipasang (install) pada sejumlah computer, dan ini ADALAH KASUS TERBANYAK DAN TERBESAR YANG TERJADI DI INDONESIA.

6. Internet Piracy
Jenis pembajakan software banyak dilakukan dengan menggunakan media internet untuk menjual atau menyebarluaskan produk yang tidak resmi (bajakan), seperti : software, lagu (musik), film (video), buku, dan sebagainya dengan tujuan untuk mendapatkan keuntungan (bisnis).

b. Pengecualian Pembajakan

Pembajakan software sendiri pada hakekatnya adalah pelanggaran terhadap hak cipta atau yang tertuang secara khusus dalam Hak Kekayaan Intelektual (HKI) yang dilakukan oleh para pengguna.

Adapun pengecualian yang dapat dilakukan menurut undang-undang tersebut pada pasal 15 dijelaskan sebagi berikut :
1. Penggunaan ciptaan pihak lain untuk kepentingan pendidikan, penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik atau tinjauan suatu masalah dengan tidak merugikan kepentingan yang wajar dari pencipta.
2. Pengambilan ciptaan pihak lain, baik seluruhnya maupun sebagian, guna keperluan pembelaan di dalam atau di luar pengadilan;
3. Pengambilan ciptaan pihak lain, baik seluruhnya maupun sebagian, guna keperluan :
a. Ceramah yang semata-mata untuk tujuan pendidikan dan ilmu pengetahuan; atau
b. Pertunjukan atau pementasan yang tidak dipungut bayaran dengan ketentuan tidak merugikan kepentingan yang wajar dari pencipta;
4. Perbanyakan suatu ciptaan bidang ilmu pengetahuan, seni, dan sastra dalam huruf braille guna keperluan para tunanetra, kecuali jika perbanyakan itu bersifat komersial;
5. Perbanyakan suatu ciptaan selain program komputer, secara terbatas dengan cara atau alat apa pun atau proses yang serupa oleh perpustakaan umum, lembaga ilmu pengetahuan atau pendidikan, dan pusat dokumentasi yang nonkomersial semata-mata untuk keperluan aktivitasnya;
6. Perubahan yang dilakukan berdasarkan pertimbangan pelaksanaan teknis atas karya arsitektur, seperti ciptaan bangunan;
7. Pembuatan salinan cadangan suatu program komputer oleh pemilik program komputer yang dilakukan semata-mata untuk digunakan sendiri.

5.CARA MENANGGGULANGI PEMBAJAKAN SOFTWARE

Berdasarkan survei International Data Corporation (IDC) tahun 2007, Indonesia berada pada urutan ke 12 dari 108 negara dengan angka penggunaan software (perangkat lunak) ilegal mencapai 84 %. Angka persentasi ini menunjukkan perbaikan dibandingkan tahun sebelumnya, yakni pada tahun 2006 yang mencapai 85 % (Prihatman, 2009 dalam Sains dan Teknologi 2). Meskipun begitu, tingkat pembajakan software (perangkat lunak) ilegal hanya bisa dikurangi 1 % saja dalam waktu satu tahun dari tahun 2006-2007. Dilihat dari data ini, maka bisa kita simpulkan bahwa tingkat pembajakan software ilegal masih sangat tinggi di Indonesia. Sesungguhnya tingginya penggunaan software ilegal ini lambat laun akan mematikan kreatifitas masyarakat Indonesia, karena mereka hanya akan menjadi pengguna instant produk software proprietary (tertutup) saja tanpa mau mengutak-atik prosesnya.

Sesungguhnya kita bisa menghindari penggunaan Software ilegal yaitu dengan beralih ke penggunaan software open source (terbuka). Sebagaimana diketahui, Presiden Brazil Luiz Inacio Lula da Silva mencanangkan negaranya untuk menggunakan software open source agar dapat menghemat penggunaan uang negara (Kadiman K, Kompas 6/6/09).

Keuntungan lainnya dengan penggunaan software open source adalah melatih kita agar bisa menjadi seorang programer, karena software open source, source codenya yang terbuka dan bebas untuk dimodifikasi, dan dikembangkan. Hal ini tentu berbeda jika kita hanya menggunakan software proprietary (tertutup) sehingga hanya membuat kita sebagai pengguna saja. Sesungguhnya menggunakan software open source sangat cocok untuk negara-negara berkembang, karena akan menghemat penggeluaran belanja negara. Selain itu menurut Betti Alisjahbana (Praktisi Teknologi Informasi Indonesia), perusahaan-perusahaan di negara berkembang yang menggunakan software open source hanya akan mengeluarkan biaya 1/5 saja untuk biaya pelatihan SDM dari biaya pembelian lisensi software proprietary (tertutup).

Berdasarkan pengalaman yang dilakukan penulis, software open office 3 yang bersifatopen source hanya memiliki ukuran 151 MB saja, sehingga sangat muat untuk di simpan dalam Flashdisk yang berkapasitas kecil, tentu dengan ukuran kecil seperti ini sangat mudah untuk membawa open office 3 kemana-mana, karena bersifat free dan terbuka. Selain itu, tampilan dan kualitas open office 3 pun tidak kalah dengan software pengolah kata yang bersifat proprietary (tertutup).

Menggunakan software Open Office 3 menimbulkan rasa aman bagi penulis, karena kita mendapatkannya secara legal, karena software ini bebas dan terbuka dan dapat digunakan secara gratis. Sebagaimana diketahui, software-software proprietary (tertutup) mendapatkan perlindungan hukum di Indonesia yang menurut UU Hak Cipta no 19 tahun 2002 pasal 30 dikatakan bahwa : “Hak Cipta atas ciptaan Software (Program Komputer) mendapatkan perlindungan selama 50 tahun sejak pertama kali diumumkan” ini berarti, jika kita mengunakan software bajakan dalam masa waktu perlindungan 50 tahun tersebut, maka kita bisa dikenakan tindakan pidana yang menurut BAB XIII Tentang Ketentuan Pidana Pasal 72 : (3) dikatakan : “Barangsiapa dengan sengaja dan tanpa hak memperbanyak penggunaan untuk kepentingan komersial suatu program komputer dipidana dengan pidana penjara paling lama 5 (lima) tahun dan/atau denda paling banyak Rp. 500.000.000, 00 (lima ratus juta rupiah).

Oleh karena itu, maka gunakanlah software proprietary yang legal dimanapun baik itu untuk keperluan perkantoran, pendidikan, maupun bisnis. Namun, jika kita memiliki keterbatasan biaya untuk mendapatkan software proprietary yang dibeli secara legal, maka kita bisa menggunakan alternatif lain yaitu menggunakan software open sourceyang tersedia secara gratis. Oleh karena itu, kepada vendor-vendor pembuat Softwareproprietary (tertutup) harus bisa memberikan harga yang terjangkau khususnya bagi negara-negara berkembang seperti Indonesia, pemberian subsidi dan lisensi untuk penggunaan lebih dari 1 komputer agar diberikan agar masyarakat pun mampu membeli software proprietary yang legal. Lisensi penggunaan lebih dari satu komputer tentu akan meningkatkan penjualan software proprietary itu sendiri khususnya untuk segmen pendidikan, kesehatan, dan sosial. Karena bagaimana pun menurut pasal 15 UU no 19 tahun 2002 poin g dikatakan bahwa : “Pembuatan salinan cadangan suatu program komputer oleh pemilik program komputer (bukan pemegang hak cipta) yang dilakukan semata-mata untuk digunakan sendiri tidaklah dianggap sebagai pelanggaran hak cipta”. Melihat penjelasan poin ini, maka setidaknya UU masih memberikan hak kepada pembeli software asli untuk melakukan back up sofwere asli dengan tujuan untuk cadangan, asal tidak untuk dikomersilkan kembali. Maka, jika undang-undang memberikan keleluasaan ini, maka sudah saatnya vendor-vendor pembuat softwareproprietary memberikan penjualan lisensi untuk penggunaan lebih dari 1 komputer dengan harga yang terjangkau, sehingga akan meningkatkan penjualan dan masyarakat dapat membeli dengan biaya yang terjangkau. Strategi ini tepatnya ditujukan untuk segmen pendidikan, kesehatan, dan sosial.

Apapun pilihan anda, selalu belilah software proprietary yang legal atau gunakan softwareopen source, tidak ada masalah semua pilihan ada di tangan anda. Yang jelas, kita tetap terus bersalah jika melegalkan pembajakan software proprietary dan tidak pernah mau belajar software open source.

6. KESIMPULAN

Ada banyak sekali lisensi software yang beredar saat ini.Dan lisensi tersebut ada yang berbayar murni, berbayar dalam jangka waktu tertentu, ada juga yang gratis, namun ada pula yang gratis dengan syarat dan kondisi tertentu.Dengan adanya lisensi, diperlukan yang namanya peraturan sebagai pelindung hak cipta atas suaktu software.Maka, pemerintah Indonesia mengeluarkan peraturan perundang-undangan yang secara umum mengatur tentang Hak Kekayaan Intelektual (HKI) dan masuk pula di dalam UU tersebut tentang Hak Cipta.
Sayang, peraturan itu seakan tak digubris.Pembajakan software di Indonesia saat ini sudah sampai pada taraf memperihatinkan.Bahkan pada bulan Juni 2009 lalu, Indonesia tercatat sebagai negara ke-12 terburuk dalam hal pembajakan software.Dengan mudahnya software-software bisa didapatkan saat ini. Mulai dari dijual secara terbuka di pusat-pusat perbelanjaan (mall), pusat penjualan komputer, internet sampai pada pedagang kaki lima di pinggir-pingir jalan.
Upaya konkret antara masyarakat, praktisi IT, pemerintah, juga pihak berwajib serta siapa pun sangat diperlukan dalam menjaga keharmonisan dalam ruang lingkup lisensi software dan hak penciptaannya.

8 hal tentang mySQL

Minggu, 06 Mei 2012 | komentar


PHP+MySQL. Siapa yang tidak tahu bahwa duo sejoli ini adalah pasangan terpopular di dunia open source, bahkan di seluruh Internet. PHP telah menggeser Perl sebagai bahasa pilihan dalam membuat aplikasi Web, terutama bagi pemula. Dan PHP hampir selalu bersanding dengan MySQL; 90–95%+ skrip PHP di www.hotscripts.com mungkin bertuliskan “membutuhkan PHP dan MySQL”. Buku-buku PHP, termasuk untuk pemula, tidak akan dipandang afdol kalau belum membahas MySQL. Dan programer PHP, lambat atau cepat, mau atau tidak mau, pasti akan harus mengakrabi software database yang satu ini.
Sayangnya, banyak programer sudah bermain-main dan memakai MySQL secara live di situs produksi, padahal masih asing sama sekali dengan konsep database relasional. Bahkan sebetulnya MySQL juga banyak memiliki kekurangan dalam hal fitur SQL. Sehingga programer PHP tidak bisa memahami dan memanfaatkan kekuatan penuh database relasional + SQL.
Buat Anda para programer pemula yang memang masih awam dengan MySQL dan konsep database pada umumnya, tidak perlu minder atau khawatir. Di dunia IT yang bergerak serba cepat ini memang ada terlalu banyak hal yang harus dipelajari. Dan kebanyakan jadinya dipelajari sambil jalan, sambil dipraktikkan. Ketika mulai membangun CMS untuk satunet.com tahun 1999 pun, saya hanya punya skill terbatas tentang SQL: hanya tahu SELECT, UPDATE,DELETE, CREATE TABLE, dan DROP TABLE. Apa itu JOIN, bagaimana mengubah skema tabel, bagaimana mendesain database yang baik dan ternormalisasi, semuanya masih blank. Dan semua harus dipelajari sambil jalan. Tapi toh akhirnya semua baik-baik saja.
Lewat artikel ini kita akan membahas hal-hal dasar apa yang perlu diketahui agar bisa memakai MySQL dengan efektif dan efisien. Mari kita mulai dengan hal nomor satu:
1. Tabel MySQL bukanlah array
Programer PHP atau Perl tentu saja familiar dengan array dan hash, yang biasanya dipakai untuk menyimpan sekumpulan data terkait. Sebagian dari mereka yang tidak familiar dengan MySQL akan cenderung menganalogikan tabel database dengan array/hash (tepatnya, array of array atau array 2 dimensi). Tabel dipandang sama seperti sebuah array, hanya saja bisa berukuran besar sekali dan persisten (disimpan di disk).
Cara pandang ini tidak sepenuhnya salah, karena toh dalam mengambil record dari tabel biasanya ditampung ke dalam variabel array/hash. Hanya saja, cara pandang ini kadang-kadang membuat programer PHP melakukan sesuatu seperti:
$res = mysql_query("SELECT * FROM t1");
$rows = array();
while ($row = mysql_fetch_row($res)) $rows[] = $row;
echo "Jumlah record di tabel t1 = ", count($rows);
atau membuat tabel seperti:
CREATE TABLE t2 (
  f0 INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
  f1 INT UNSIGNED,
  f2 VARCHAR(5),
  f3 VARCHAR(200),
  f4 VARCHAR(200),
  f5 BLOB
);
Apa yang salah dengan kode PHP pertama di atas, yang bertujuan mencari jumlah record dalam sebuah tabel? Si programer, yang terlalu terobsesi menganggap tabel MySQL sebagai sebuah array, mencoba membangun dulu arraynya dengan mengisi satu-persatu elemen dari hasil query agar nantinya bisa menggunakan fungsi array count(). Masalahnya, bagaimana kalau jumlah record ada 100 ribu? 1 juta? 10 juta? Bukan itu saja, selesai di-count() variabel$rows langsung dibuang lagi! Padahal, ada cara yang jauh lebih efisien:
SELECT COUNT(*) FROM t1
Hasil querynya hanyalah sebuah record saja, tak peduli berapa pun ukuran tabel t1.
Lalu apa yang salah dengan kode SQL kedua? Si programer Perl, dalam hal ini, terobsesi ingin mengambil tiap record di tabel dengan fungsi DBI $sth->fetchrow_array()
@row = $sth->fetchrow_array();
print $row[0]; # f0
print $row[1]; # f1
print $row[2]; # f2
# ...
Enak bukan? Elemen ke-0 berisi nilai field f0, elemen ke-1 field f1, dst. Masalahnya, kemudahan ini mengorbankan nama field yang menjadi sangat tidak deskriptif. Belum lagi kalau tabel perlu diubah dengan menyisipkan field-field lain di antara field yang sudah ada. Atau field-field lama perlu dihapus. Semuanya akan menjadi mimpi buruk.
Sebagian pembaca mungkin geleng-geleng kepala. Apa benar ada programer PHP dan Perl yang melakukan kedua hal di atas? Percaya deh, ada. Saya pernah harus ketiban getah memaintain tabel dengan nama field kriptik seperti ini.
2. Bahasa SQL dan Fungsi-Fungsi MySQL
MySQL adalah database SQL bukan? Sayangnya, programer PHP pemula kadang terbatas sekali pengetahuan SQL-nya. Padahal, untuk menggunakan database MySQL dengan efektif, ia tidak boleh malas mempelajari bahasa kedua, yaitu SQL. Jika tidak belajar SQL, maka ada kemungkinan Anda akan melakukan hal-hal seperti:
$res = mysql_query("SELECT * FROM bigtable");
while ($row = mysql_fetch_assoc($res)) {
    if ($row['age'] >= 40) {
        echo "Ditemukan kustomer yang berusia lebih dari 40 tahun!\n";
        break;
    }
}
Apa salah kode di atas? Si programer PHP mencoba mensimulasikan klausa WHERE SQL dengan melakukan pengujian kondisi di kode PHP. Padahal, yang seharusnya dilakukan adalah:
SELECT * FROM bigtable WHERE age >= 40
Ini amat mengirit trafik client/server karena tidak semua record harus dikirimkan dari MySQL ke program PHP Anda.
Sebagian pembaca mungkin geleng-geleng kepala. Apa benar ada programer PHP yang seperti ini? Percaya deh, ada.
SQL sudah menyediakan cara untuk menyortir data, memformat tampilan, mengelompokkan dan memfilter record, dsb. MySQL juga terkenal banyak menyediakan fungsi-fungsi, mulai dari manipulasi tanggal, angka, string, dsb. Kenali SQL dan fungsi-fungsi MySQL; jangan duplikasikan ini semua di PHP sebab akan lebih efisien jika dilakukan di level MySQL.
Ini contoh lain programer PHP yang tidak memanfaatkan fasilitas dari MySQL:
$res = mysql_query("SELECT * FROM customers");
while ($row = mysql_fetch_assoc($res)) {
    # format semula yyyy-mm-dd...
    preg_match("/(\d\d\d\d)-(\d\d?)-(\d\d?)/", $row[date], $matches); 
    # ... dan ingin dijadikan dd/mm/yyyy
    $tanggal = "$matches[3]/$matches[2]/$matches[1]"; 
    echo "Nama=$row[name], Tanggal lahir=$tanggal<br>\n";
}
Padahal MySQL sudah menyediakan fungsi pemformatan dan manipulasi tanggal:
$res = mysql_query("SELECT name, DATE_FORMAT(date,'%d-%m-%Y') as tanggal ".
                   "FROM customers");
while ($row = mysql_fetch_assoc($res)) {
    # tidak perlu capek-capek manipulasi string lagi...
    echo "Nama=$row[name], Tanggal lahir=$row[tanggal]<br>\n";
}
Poin no. 2 ini kedengarannya klise, tapi, seperti nasihat Inggris bilang: know thy tools.
3. LIMIT, LIMIT, LIMIT
Salah satu alasan mengapa MySQL sangat cocok untuk aplikasi Web adalah mendukung klausaLIMIT. Dengan klausa ini, mudah sekali membatasi jumlah record hasil yang diinginkan dalam satu perintah SQL. Tidak perlu bermain kursor atau bersusah payah lewat cara lainnya. Belakangan database lain seperti PostgreSQL dan Firebird pun ikut mendukung fungsionalitasLIMIT (dengan sintaks yang tidak persis sama tentunya).
Sayangnya, programer PHP sendiri yang belum mengenal MySQL dengan baik tidak menggunakannya dengan semestinya.
$res = mysql_query("SELECT name FROM users ORDER BY date");
$rows = array();
for ($i=1; $i<=10; $i++) $rows[] = mysql_fetch_row($res);
Si programer hanya berniat mengambil 10 record, tapi menyuruh MySQL mengambil semua record yang ada dulu. Bagaimana kalau ada 100 ribu record? 1 juta record? 10 juta? Seharusnya, setiap kali Anda menginginkan hanya satu, sepuluh, lima belas record, Anda perlu memberitahu MySQL lewat klausa LIMIT.
SELECT name FROM users ORDER BY date LIMIT 10
Sehingga kita bisa mengirit trafik komunikasi client/server dan mengizinkan MySQL melakukan optimisasi terhadap query tersebut.
4. Tipe Data
Berbeda dengan PHP dan bahasa-bahasa skripting yang mengizinkan kita menaruh apa saja dalam sebuah $variable tanpa deklarasi tipe terlebih dahulu, di MySQL kita perlu mendeklarasikan tipe-tipe data semua field yang ada pada saat membuat sebuah tabel. Seorang programer PHP yang tidak kenal MySQL kadang-kadang cenderung memilih jenis data yang salah (umumnya: memilih VARCHAR() padahal ada tipe data yang lebih tepat) dikarenakan tidak mengenal jenis-jenis data yang tersedia.
Berikut beberapa contoh kurang tepatnya pemilihan tipe data: 1) memilih CHAR(8) atauVARCHAR(10) dan bukannya DATE untuk menyimpan tanggal; kerugiannya, lebih boros tempat dan tidak bisa memanfaatkan fungsi-fungsi khusus tanggal; 2) memilih CHAR(3) atau CHAR(6)ketimbang TINYINT UNSIGNED untuk menyimpan data boolean (“YES” dan “NO”; atau “TRUE” dan “FALSE”; padahal jauh lebih irit dinyatakan dengan 1 dan 0 yang hanya menempati 1 byte); 3) memilih FLOAT atau DOUBLE dan bukannya DECIMAL untuk menyimpan jumlah uang; kerugiannya, FLOAT dan DOUBLE adalah berbasis biner dan seringkali tidak eksak dalam menyimpan pecahan desimal.
Nomor 3 sering terjadi karena programer biasanya hanya mengenal single/double floating point number yang tersedia di bahasa pemrograman. Padahal database umumnya menyediakan angka pecahan berbasis desimal yang bisa eksak menyimpan pecahan desimal.
Manual MySQL amat membantu di sini; di subbab tentang Column Types dijelaskan dengan rinci jenis-jenis data yang ada, termasuk rentang nilai yang dapat ditampung, berapa byte yang ditempati tipe data tersebut, dsb.
5. Normalisasi dan Pemodelan
Normalisasi, skema, entiti-atribut, primary key (PK) dan foreign key (FK), tabel entiti, tabel relasi, OLTP & OLAP… semuanya adalah istilah-istilah yang umum dijumpai dalam pemodelan fisik database. Sayangnya, banyak programer pemula tidak memiliki kemampuan modeling. Sehingga jika disuruh mendesain skema database (sekumpulan tabel-tabel beserta nama field dan tipenya) hasilnya tidak optimal bahkan berantakan. Skema yang buruk berakibat terjadinya duplikasi data, tidak scalable, performance yang buruk, tidak memenuhi requirements, dsb.
Modeling tentunya tidak bisa diajarkan dalam 1–2 hari, apalagi dalam artikel yang singkat ini. Anda perlu membaca buku-buku mengenai pemodelan database dan belajar dari pengalaman maupun dari model-model yang sudah ada. Tapi beberapa nasihat yang mungkin bisa saya berikan di sini adalah sbb.
Satu, langkah pertama dalam pemodelan adalah menemukan entiti-entiti. Entiti bisa dibilang “objek” yang akan kita gelluti. Misalnya, customer, produk, dan transaksi. Setiap entiti umumnya ditaruh dalam satu tabel, tabel ini disebut tabel entiti. Langkah kedua adalah mencari atribut-atribut entiti tersebut. Misalnya tabel customers memiliki atribut sapaan, nama, alamat (jalan + kota + kodepos + propinsi + negara), tanggal record ini ditambahkan, dsb. Langkah ketiga adalah mencari relasi di antara entiti-entiti. Umumnya relasi adalah satu dari: 1-1, 1-many, many-many. Misalnya, relasi antara transaksi dan produk adalah many-many, artinya sebuah transaksi pembelian dapat berisi banyak produk dan sebuah produk tentu saja dapat dibeli dalam lebih dari satu transaksi. Setiap relasi juga akan ditempatkan pada tabel, yaitu tabel relasi.
Dua, dalam pemodelan tidak ada istilah model yang benar atau salah. Yang ada adalah model yang tepat dan tidak tepat untuk keperluan tertentu. Misalnya, untuk aplikasi sederhana modelnya sederhana. Semakin kompleks aplikasi, model pun semakin rumit (jumlah entiti, relasi, dan atribut akan bertambah). Pada umumnya, seiring kompleksitas bertambah, yang tadinya atribut akan berubah menjadi entiti dikarenakan adanya kenyataan hubungan 1-many/many-many antara atribut. Contohnya, tabel customers memiliki atribut alamat. Jika kita ingin mendukung banyak alamat untuk satu customers, maka alamat akan menjadi entiti dan menempati tabel sendiri. Lalu kita membuat tabel relasi customers-alamat.
6. Indeks
Indeks adalah sesuatu yang berkaitan erat dengan implementasi, bukan modeling. Kita seringkali perlu menambahkan indeks pada sebuah field atau banyak field dikarenakan jika tidak ditambahkan maka performance database tidak menjadi praktis. Serba-serbi indexing juga mungkin terlalu panjang untuk bisa dijelaskan dalam artikel pendek ini, tapi intinya setiap kolom yang: 1) memiliki rentang nilai cukup banyak; 2) terletak pada tabel yang berisi banyak record; 3) seringkali disebutkan di klausa WHERE dan/atau ORDER BY dan/atau GROUP BY; perlu diberi indeks. Ini dikarenakan indeks membantu mencari secara cepat sebuah nilai dari banyak nilai yang ada. Beberapa contoh:
* Setiap primary key umumnya otomatis diberi indeks oleh database server, meskipun tabelnya masih berisi sedikit record atau bahkan kosong. Ini dikarenakan database perlu selalu mengecek keberadaan sebuah nilai field ini manakala ada sebuah record yang ditambahkan (ingat, PK artinya tak boleh ada dua record yang mengandung nilai field ini yang sama). Tanpa indexing, pengecekan akan linear dan memakan waktu lama.
* Field tanggal lahir dalam tabel customers kemungkinan besar harus diindeks. Bahkandayofyear() field ini juga mungkin perlu diindeks. Mengapa? Karena: 1) rentang nilai cukup besar (365 hari dalam setahun x +- 60 jumlah tahun); 2) tabel customers potensial ukurannya besar; 3) sering disebutkan di klausa WHERE (misalnya mencari customer yang ultah hari ini).
* Field memo/notes kemungkinan besar tidak perlu diindeks (secara biasa). Mengapa? Karena meskipun 1) rentang nilai cukup besar; dan 2) tabel customers bisa besar; tapi 3) field ini tidak pernah disebutkan di klausa WHERE secara langsung (mis: Anda tidak pernah menyebutkan: …WHERE notes='nilai catatan tertentu' atau WHERE notes > 'nilai tertentu'). [Catatan: ada indeks lain yang “tidak biasa” di MySQL, yaitu FULLTEXT. Tapi ini di luar cakupan artikel kita kali ini.]
* Field jenis kelamin mungkin tidak perlu diindeks, kecuali jika perbandingan pria:wanita amat drastis bedanya. Mengapa? Sebab: 1) rentang nilai yang ada hanyalah dua: L (lelaki) dan P (perempuan). Meskipun Anda beri indeks, tidak akan memperbaiki kinerja.
7. Konkurensi, Locking, dan Transaksi
Programer web pemula kadang-kadang tidak menyadari bahwa program/skrip yang dibuatnya tidaklah seperti program desktop yang dijalankan oleh satu user. Melainkan, dalam satu waktu bisa saja ada 10 atau 100 user yang “menembak” skrip Anda di Web. Karena itu, isu locking dan konkurensi penting sekali. Contohnya adalah seperti ini:
$res = mysql_query("SELECT value FROM counters WHERE name='counter1'");
list ($value) = mysql_fetch_row($res);
$value++;
// do something else first...
$res = mysql_query("UPDATE counter SET value=$value WHERE name='counter1'");
Di antara baris pertama (saat kita mengambil nilai record) dan baris keempat (saat kita menaruh kembali nilai dalam record) mungkin saja telah terjadi beberapa kali perubahan terhadap si record. Misalnya, pada baris pertama klien1 memperoleh nilai $value = 100. Di baris 3 $value di-increment menjadi 101. Tapi apa yang terjadi jika selama selang waktu itu nilai record counter1 telah menjadi 103 (karena misalnya klien2, klien3, dan klien4 telah meng-incrementnya)? Oleh si klien1, counter1 direset kembali menjadi 101 dan akibatnya increment oleh klien2, klien3, dan klien4 hilang. Seharusnya nilai counter1 menjadi 104.
Untuk kasus di atas, pemecahannya cukup gampang. Lakukan increment secara atomik:
// tidak perlu ambil nilai counter dulu...
// do something else first...
$res = mysql_query("UPDATE counter SET value=value+1 WHERE name='counter1'");
Tapi dalam kasus lain, kadang-kadang kita harus melakukan locking terhadap tabel atau record untuk menjamin bahwa selama kita // do something else… klien2, klien3, dan klien4 tidak bisa seenaknya menaikkan nilai counter:
mysql_query("LOCK TABLES cuonters");
$res = mysql_query("SELECT value FROM counters WHERE name='counter1'");
list ($value) = mysql_fetch_row($res);
// do something else first... increase value or something...
$res = mysql_query("UPDATE counter SET value=$value WHERE name='counter1'");
mysql_query("UNLOCK TABLES");
atau (lebih baik karena kita tidak perlu melock keseluruhan tabel):
mysql_query("SELECT GET_LOCK('lock1')");
$res = mysql_query("SELECT value FROM counters WHERE name='counter1'");
list ($value) = mysql_fetch_row($res);
// do something else first... increase value or something...
$res = mysql_query("UPDATE counter SET value=$value WHERE name='counter1'");
mysql_query("SELECT RELEASE_LOCK('lock1')");
Ingat, locking dapat berakibat samping yaitu deadlock.
Transaksi. Transaksi pun sesuatu yang dipergunakan secara meluas di dunia database, tapi hampir tidak pernah kita jumpai di bahasa pemrograman (ini karena data di bahasa pemrograman ditaruh dalam variabel di memori semua; tidak ada isu disk yang crash/lambat/rusak/harus disinkronkan dengan data di memori). Karena itu Anda perlu memahami konsep ini dari buku-buku tentang database.
8. Jenis Tabel
Di MySQL dikenal istilah table handler dan jenis tabel. Saat ini ada 3 jenis tabel utama yang bisa dipakai di MySQL: MyISAM (default), BerkeleyDB, dan InnoDB. Yang perlu diketahui ada tiga hal: 1) tidak semua tabel mendukung transaksi (MyISAM tidak mendukung transaksi, jadi COMMIT dan ROLLBACK tidak melakukan sesuatu yang semestinya jika Anda menerapkan pada tabel MyISAM); 2) tidak semua tabel punya karakteristik performance yang sama (BerkeleyDB misalnya, lambat jika ukuran tabel besar) dan disimpan dengan cara yang sama (tabel MyISAM misalnya disimpan dalam 3 file: .MYI, .MYD, .frm sementara tabel-tabel dan database-database InnoDB disimpan bersama dalam daerah disk yang disebut tablespace; 3) distribusi MySQL yang bukan -Max tidak dikompile dengan dukungan terhadap BerkeleyDB dan InnoDB.
Nomor 3 penting Anda ketahui karena jika kita menginstruksikan MySQL untuk membuat database dengan jenis tertentu:
CREATE TABLE (...) TYPE=BDB;
Dan MySQL tidak dikompile untuk mendukung BerkeleyDB, maka MySQL tidak akan protes dengan error, melainkan membuatkan tabel tersebut untuk kita tapi dengan tipe default yaitu MyISAM. Jadi Anda perlu mengecek dulu menggunakan SHOW TABLE STATUS:
mysql> create table t4 (i int) type=innodb;
Query OK, 0 rows affected (0.00 sec)

mysql> show table status from mydb like 't4';
+------+--------+-...
| Name | Type   | ...
+------+--------+-...
| t4   | MyISAM | ...
+------+--------+-...
Ternyata MyISAM!
Penutup
Sebetulnya untuk memakai MySQL dengan baik dan benar diperlukan skill-skill dasar lain seperti membackup, merestore, mengeset parameter-parameter server, memonitor server, dsb. Tapi itu semua lebih merupakan tugas seorang administrator (DBA).
[Last-Modified: Mon Mar 3 01:53:20 2003]

Teknologi vs etika tradisional

Senin, 23 April 2012 | komentar


Perubahan proses bisnis akibat teknologi, melunturkan nilai etika sosial
  1. internet  melunturkan silaturahmi
Pada jaman sekarang sudah sering kita jumpai yaitu proses bisnis/sosial sudah mengalami perbedaandari pada bisnis pada zaman  dulu. Semakin pesat perkembangan teknologi yg menyebabkan hilangnya/lunturnya nilai etika tradisional .
Sebagai contoh kecil yaitu kejadian yang ada disekitar kita yaitu   orang-orang jaman dulu jual beli di pasar tawar-menawar barang yg ingin dibeli, tetapi pada saat sekarang ini tawar menawar dipasar pun bisa di bilang jarang, orang-orang lebih memilih membeli di supermarket, minimarket dan sebagainya.  Bahkan yg lebih modern lagi melalui internet. Pada jaman sekarang orang pada umunya lebih menyukai hal-hal yang praktis. Salah satunya memanfaaatkan fasilitas yang ada pada internet. Salah satu contohnya yaitu seseorang ingin membeli sandal jepit saja memilih pesan melalui internet, padahal didekat rumahnya terdapat sebuah pasar, yang tidak membutuhkan biaya tambahan untuk membayar biaya antar barang kalau memesan melalui internet. Secara tidak langsung kondisi tersebut telah merubah gaya hidup seseorang dan melunturkan etika tradisional seni/tradisi tawar menawar sehingga akan berdampak berkurangnya  silaturahmi antar satu orang dengan orang lain. Hal ini kalau dibiarkan terus menerus akan berakibat sifat individualism akan terus berkembang pada perilaku seseorang.
2. Laundry membuat orang menjadi malas mencuci
Fenoma terbaru pada masa sekarang salah satunya adalah begitu banyaknya bermunculan jasa pencucian baju (laundry). Daerah perkotaan misalnya seperti kota Yogyakarta adalah daerah yang memiliki prorspek yang baik untuk mengembangkan usaha tersebut. Tanpa orang sadari ternyata hal tersebut berdampak pada kebiasaan seseorang untuk bermalas-malasan. Karena orang yang malas pada umumnya beranggapan buat apa mengeluarkan tenaga yang sia2, lebih baik manfaaatkan fasilitas yang ada. Hal secara tidak berdampak pada mulai berkurangnya etika atau kebiasaan kita yang tadinya mau mencuci sendiri menjadi malas mencuci sendiri. Dengan adanya teknologi baru dalam hal ini yaitu mesin cuci, menimbulkan dapak positif maupun negative.
Dampak positif
* Membantu seseorang yang mempunyai kesibukan yang tinggi
* Membuat lapangan pekerjaan baru
* Membantu ibu rumah tangga yang punya bekerjaan banyak
Dampak negative
* Membuat orang menjadi bermalas-malasan
* Berkurangnya etika atau kebiasaan orang pada umunya (yang tadinya giat mencuci sendiri menjadi bermalas-malasan)
* Membiasakan orang hidup boros.
Dari 2 contoh tersebut dapat disimpulkan bahwa dengan semakin berkembangnya dunia teknologi dapat berakibat positif dan negative bagi seseorang tetapi hyal tersebut terganung dari orang tersebut. Apabila orang tersebut dapat memanfaatkan dengan baik akan membawa keuntungan bagi orang tersebut, tapi apabila tidak dapat mengaturnya dengan baik akan berakibat fatal bagi orang tersebut dan berakibat melunturkan nilai etika tradisional pada dirinya sendiri.
[ Fatkhur

Teknologi dan etika tradisional

| komentar


Proses Bisnis / sosial jaman sekarang sudah berbeda dengan jaman dahulu. Semakin pesat perkembangan teknologi yang ada saat ini dapat menyebabkan hilangnya nilai etika tradisional dalam berbisnis. Berikut  ini beberapa contoh perubahan proses bisnis/sosial akibat teknologi yang menghilangkan dan  melunturkan  nilai etika tradisional.
1. Proses jual beli
Model Kerja
Pada era teknologi modern masa kini, proses jual-beli bisa dilakukan di mal-mal, supermarket atau minimarket seperti Matahari, Carefour, Ramayana, AlfaMart, Giant dan lain sebagainya,  ataupun melalui internet dengan menggunakan jasa paypal atau pembayaran elektronik. Dalam pembayarannya pun sekarang bisa melalui transfer rekening melelui ATM, kartu kredit dll.
Proses bisnis dulunya dilaksanakan secara manual akan tetapi sekarang dengan adanya e- commerce(jual beli dalam internet) , maka proses bisnis dilaksanakan secara elektronik dalam hal ini menggunakan komputer sebagai media terjalinnya transaksi tersebut.
Adapun teknologi yang digunakan dalam proses bisnis e-commerce ini adalah dengan menggunakan komputer yang bisa mengakses internet . Selain itu proses e-commerce ini bisa dilaksanakan dengan menggunakan mobil- phone atau yang sering disebut dengan handphone,dengan menggunkan sms dansms banking .
Nilai etika tradisional yang hilang yaitu:
• Tidak adanya tawar menawar dalam proses jual-beli dan hilangnya rasa saling mengenalserta silaturahmi antar pembeli dan penjual.
Jaman dahulu orang melakukan proses transaksi jual beli di pasar. Dalam proses tersebut terdapat seni atau tradisi jual beli yaitu saling tawar menawar. Sedangkan jaman sekarang, karena kemajuan teknologi, orang-orang mulai melakukan proses jual-beli di mal-mal, supermarket, minimarket atau bahkan melakukan jual-beli di internet (on-line)  seperti menggunakan paypal (jual beli lewat media elektronik) atau sejenisnya. Hal ini justru menghilangkan etika tradisional, yaitu tawar menawar. Dengan adanya mal-mal seperti Matahari, Carefour, Ramayana, Giant atau yang sejenisnya saja kita sudah kehilangan seni atau tradisi tawar menawar, karena di mal-mal tersebut tidak ada barang yang bisa di tawar. Apalagi dengan adanya paypal kita jadi kehilangan etika saling silaturahmi, karena dengan adanya paypal, kita tidak bisa bertemu langsung dengan si penjual. Ataupun sebaliknya, yang secara otomatis kita tidak bisa bertemu dengan pembelinya.
• Rasa tanggung jawab
Rasa tanggung jawab dari para pengguna akan menjadi luntur karena dengan menggunakan e- commerce ini, pembeli dan penjual tidak bertemu secara langsung, akan tetapi bertemu didunia maya, jadi pembeli hanya perlu membuat account dan login kedalam layanan e-commerce, maka ia dapat langsung memesan barang yang ia mau. Namun dalam transaksi ini banyak juga orang yang tidak bertanggung jawab melakukan penipuan dalam proses jual beli melalui e-commerce ini. Rasa tanggung jawab disini bisa hilang karena pembeli bisa saja iseng-iseng dalam melakukan transaksi, dan ketika di konfirmasi oleh penyedia layanan, malah pembeli tidak mau menanggapi hal tersebut, sehingga bisa disimpulkan bahwa rasa tanggung jawab dari pembeli tersebut lama-kelamaan akan luntur bahkan hilang.
• Aktivitas
Dengan adanya e-commerce ini maka aktivitas pelanggan akan berkurang . Hal ini disebabkan dengan semakin mudahnya memesan suatu barang, maka para pelanggan hanya tinggal duduk di depan komputer, lalu tinggal transaksi dengan media komputer, maka barang yang diinginkan pun datang dengan jasa pengiriman.
Dengan berkurang aktivitas ini bisa berdampak buruk bagi para pelangan, terutama dibidang kesehatan, dengan berkurangnya aktivitas maka akan menyebabkan seluruh otot tubuh tidak bergerak sehingga akan menimbulkan bemacam penyakit.
• Nilai sosial
Dengan adanya e- commerce ini maka nilai sosial dari si pelanggan akan berkurang, karena sama halnya dengan pengurangan aktivitas diatas, maka kegiatan-kegiatan sosial pun nantinya akan semakin tidak dijalani oleh para pelanggan. karena para pelanggan hanya butuh komputer untuk mendapatkan apa yang mereka mau, jadi mereka akan berpikir buat apa bersosialisasi, karena tanpa adanya sosialisasi tersebut pun semua barang yang di inginkan bisa datang tepat waktu, cepat kerumah.
Mungkin seperti itulah beberapa pelunturan serta hilangnya nilai etika tradisional yang terjadi saat ini, di era globalisai dan era komunikasi akibat adanya e- commerce ini. Akan tetapi jika memang tidak berpasrah sepenuhnya pada layanan ini, maka hal tersebut diatas tidak akan terjadi.
2. Situs jejaring sosial / social engineering
Model kerja
Pada masa kini, orang-orang lebih mengutamakan berkomunikasi dengan menggunakan situs jejaring sosial seperti facebook , kaskus, koprol, IRC maupun yahoo messenger . Dengan jejaring sosial tadi kita dapat saling mengirim pesan, tukar-menukar informasi, foto atau gambar dan melakukan interaksi secara mudah tanpa harus bertemu dangan  pihak yang kita ajak berkomunikasi.
Nilai etika tradisional yang hilang
a. Orang jadi lebih sering berada di dunia maya sehingga menyebabkan kepekaan terhadap lingkungan sekitar menjadi kurang.
b. Sama seperti contoh “Orang berzakat melalui SMS”. Seperti implikasi silaturahmi yang tertunda.
c. Hilangnya kode etik dan rasa takut untuk melakukan hal-hal yang berbau pornografi dan pornoaksi
Penjelasan lebih lanjut Nilai Etika tradisional yang hilang:
Kepekaan terhadap lingkungan sekitar menjadi kurang biasanya terjadi apabila kita terlalu sering berada di dunia maya, sehingga kita tidak bisa tau apa yang terjadi di lingkungan sekitar kita. Banyak orang yang enggan keluar dari rumah, tidak mau  untuk bersosialisai karena sudah merasa cukup mendapatkan informasi melalui internet. Kebanyakan orang tersebut memang mendapatkan informasi yang dia inginkan, tapi apakah semua informasi ada di internet. Hal ini tentu saja berpengaruh pada rasa persaudaraan kita yang perlahan akan hilang.
Dengan adanya situs jejaring sosial juga sudah menghilangkan rasa takut pada diri kita untuk melakukan hal-hal yang berbau pornoaksi dan pornografi. Misalnya saja masa kini sudah ada yang namanya “facebook of sex”. Pada facebook tersebut, tidak sedikit orang yang “mengumbar” aurat mereka. Dan kita sebagai pengguna atau pemakai sudah merasakan hal yang lumrah untuk melihat hal-hal tersebut. Sudah tidak ada lagi rasa takut atau rasa berdosa untuk melihat hal-hal tersebut karena sudah tidak merasa diawasi lagi.
Dari dua contoh diatas perubahan proses bisnis / sosial akibat teknologi menyebabkan dan mengakibatkan nilai etika tradisional semakin luntur, dan bahkan hilang. Teknologi boleh maju tetapi nilai etika tradisional , moral itu tetap dijaga agar tidak luntur dan mempengaruhi perkembangan jaman. Perkembangan teknologi informasi akan berguna maksimal, bermanfaat apabila kita bisa menggunakannya ke hal-hal yang positif dan benar.

[ Dalz Malang ]
 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. Akhi Muslim - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger