Maklumat

Tulisan-tulisan terkini dapat juga didapatkan di halaman Kompasiana di alamat https://kompasiana.com/didikaha

Khusus untuk konten-konten sastra seperti puisi, cerpen dan esai silahkan kunjungi http://blog.edelweis-art.com. Terima kasih (Penulis)

Tampilkan postingan dengan label Teknologi. Tampilkan semua postingan
Tampilkan postingan dengan label Teknologi. Tampilkan semua postingan

Sabtu, Juni 20, 2020

Semangat dan Kontribusi Open Source dalam Menanggulangi Pembajakan



Hak Cipta merupakan sesuatu yang niscaya dan patut dijunjung tinggi adanya. Pelanggaran terhadap Hak Cipta, yang kita kenal dengan istilah pembajakan, karenanya patut disayangkan.

Namun, terkadang memang timbul dilema. Harga--lisensi--perangkat lunak (software) atau aplikasi yang cukup tinggi bahkan seringkali tidak terjangkau, menjadikan alasan banyak pengguna untuk memanfaatkannya secara ilegal. (baca selengkapnya)

Jumat, Maret 02, 2018

VSDC Free Video Editor: Aplikasi Gratis yang Bisa Diandalkan

Ada kalanya kita mengalami kendala atau kebutuhan tertentu dengan video atau foto-foto yang kita miliki. Misalnya ada beberapa bagian dalam video yang akan kita publikasikan yang kita rasa cukup menggangu atau terlalu pribadi, yang mesti kita hilangkan. Atau kita ingin menggabungkan beberapa video yang kita miliki menjadi sebuah video, atau membuat foto-foto kita menjadi sebuah rangkaian slideshow yang menarik. Atau kita ingin menyisipkan teks, memberi efek khusus bahkan menyisipkan video lain ke dalam video yang kita miliki. Atau kita ingin membuat sebuah video tutorial yang bahan-bahannya diambil dari beberapa video, audio dan gambar. Dan lain sebagainya.

Jika kita mencari aplikasi untuk memenuhi kebutuhan-kebutuhan kita tersebut di internet, sebenarnya akan kita temukan banyak. Namun sayangnya, kebanyakan tidaklah gratis. Atau, kalaupun gratis, biasanya ada batasan-batasan yang tidak mengenakkan seperti hanya bersifat trial (hanya dapat digunakan dalam jangka waktu pendek), fitur-fitur utamanya dikunci, durasi video yang dihasilkan pendek, atau ada tempelan watermark pada video yang telah kita edit atau buat. Toh, tidak semua yang gratis juga jelek. Satu di antaranya adalah VSDC yang dibuat oleh Flash-Integro LLC, cabang dari Vector Ltd yang bergerak dalam pengembangan software multimedia yang bersifat gratis. Ya, berbeda dari aplikasi-aplikasi gratis lainnya yang biasanya membatasi pada penggunaan fitur-fitur utamanya, VSDC Free Video Editor justeru dirilis secara lengkap untuk semua fiturnya. Versi berbayarnya adalah penambahan fitur yang bisa digunakan oleh para profesional seperti pengaturan lebih lanjut (advanced settings) untuk parameter spline dan pengubahan ukuran (resizing), resolusi subpiksel yang lebih tinggi, juga dukungan layanan teknis yang lebih diprioritaskan.




Jadi, tunggu apalagi? Silahkan buka www.videosoftdev.com/free-video-editor untuk mengunduh VSDC Free Video Editor dan Andapun akan tidak lagi galau dengan kendala-kendala pada video-video yang Anda miliki ;)

Kamis, Maret 01, 2018

Membuat Video Tutorial dengan CamStudio (Gratis!!)

Bagi Anda pengguna Windows yang sedang bingung mencari aplikasi yang dapat digunakan untuk membuat tutorial semacam panduan cara menginstal atau menjalankan aplikasi, panduan pengerjaan laporan menggunakan excel, dan lain sebagainya, CamStudio dapat dijadikan alternatif yang sangat bermanfaat, terutama karena sifatnya yang gratis untuk digunakan baik untuk keperluan pribadi atau nirlaba maupun komersial.

Seperti dijelaskan pada situs penyedianya, CamStudio.org, "CamStudio mampu merekam semua aktivitas layar dan audio di komputer Anda dan membuat file video AVI standar industri dan dengan menggunakan SWF Producer bawaannya dapat mengubah AVI tersebut menjadi video Streaming Flash yang ramping, yang berarti, hemat bandwidth (SWFs)."

Untuk mendapatkan aplikasi CamStudio, silahkan kunjungi situs penyedianya seperti tersebut di atas lalu cari tautan untuk mengunduhnya. Untuk menginstal CamStudio ke komputer Anda, silahkan ikuti baik-baik petunjuk di bawah ini, karena akan ada 'jebakan batman' jika Anda tidak jeli ;)

1. Klik dua kali pada file camstudio.exe yang telah Anda unduh


2. Klik Next


3. Klik Accept


4. Nah, di sini yang saya maksud 'jebakan batman'. Seperti aplikasi-aplikasi gratis lainnya, saat menginstal CamStudio, kita akan ditawari aplikasi lain pula untuk diinstal di komputer kita. Sebenarnya ini tidak sepenuhnya jebakan sih, karena jika ternyata Anda membutuhkannya, ini bisa menjadi semacam rejeki tambahan pula karena tidak perlu susah-susah mencarinya. Silahkan klik tombol Accept untuk mengintal aplikasi yang ditawarkan, atau klik Decline jika Anda memang tidak membutuhkannya


5. Selanjutnya proses penginstalan CamStudio akan berjalan. Tunggu hingga selesai


5. Klik Finish


6. Wait! Di sini Anda harus jeli pula. Setelah Anda klik Finish, kembali Anda akan ditawari aplikasi lainnya. Dan, it's up to you. Jika Anda memang tidak membutuhkannya, silahkan klik kembali tombol Decline


7. Nah, sekarang baru benar-benar selesai. Silahkan klik Close untuk mengakhiri. Jika Anda ingin langsung membuka aplikasi CamStudio, maka biarkan tanda centang pada bagian Launch the application on exit


Sekarang aplikasi CamStudio telah siap Anda gunakan :)


Beberapa Petunjuk Penggunaan


1. Memulai, menjeda, mengakhiri rekaman. Kita bisa melakukannya dengan mengklik menu File lalu pilih Record untuk memulai, pilih Pause untuk menjeda atau menghentikan sementara rekaman dan pilih Stop untuk menghentikan rekaman. Kita juga bisa memulai rekaman dengan mengklik tombol bulat berwarna merah dan mengklik tombol kotak berwarna biru untuk mengakhiri. Untuk menjeda rekaman, kita bisa juga gunakan tombol kotak hitam terbelah di antara tombol Record dan tombol Stop.



2. Mengatur area rekaman. Ada 4 pilihan area yang tersedia, yaitu Region, Fixed Region, Window dan Full Screen.  Untuk memilihnya, silahkan klik menu Region lalu tentukan area yang akan digunakan lalu klik tombol Record untuk memulai rekaman.


Region digunakan jika kita ingin menentukan area secara bebas baik posisi maupun ukurannya. Setelah mengklik tombol Record kita akan diminta untuk menentukan area yang akan direkam. Setelah itu, proses rekaman pun akan berjalan.

Fixed Region hampir sama dengan Region, bedanya ukurannya harus kita tentukan sebelumnya.

Window akan merekam aktifitas yang ada di dalam window aplikasi yang kita pilih, misalnya browser atau command prompt.

Window Browser

Window Command Prompt

Full Screen, sesuai namanya, akan merekam semua area pada layar komputer kita.

3. Menentukan format video rekaman. Secara default format video yang dihasilkan adalah AVI. Namun kita pun bisa mengaturnya sebagai MP4 atau Flash (SWF) melalui tombol di bawah menu Tools (lihat tombol yang dilingkari warna biru pada gambar di bawah ini). Klik tombol tersebut sebelum melakukan rekaman untuk menentukan jenis file rekaman.


4. Menempelkan watermark, teks (caption) atau penanda waktu. Ya, dengan CamStudio kita bisa membubuhkan watermark, teks ataupun penanda waktu pada video rekaman kita. Untuk melakukannya silahkan klik menu Effects lalu pilih Annotation dan pilih jenis yang akan kita bubuhkan. Untuk melakukan pengaturan, klik Options pada menu Effects.

Memilih dan Mengatur Tempelan

Pengaturan Tempelan

Pengaturan Teks Tempelan

Memilih Gambar untuk Tempelan Watermark

Pengaturan Tempelan Watermark

Rekaman dengan Tempelan Watermark edelweis-art.com di Bagian Bawah

5. Mengatur shortcut key. Perhatikan dua video di bawah ini.



Pada video pertama sangat terasa mengganggu dengan munculnya tampilan mengotak-atik aplikasi CamStudio baik di awal maupun di akhir video. Sementara pada video kedua, tayangan berjalan mulus tanpa ada 'iklan'.

Kenapa demikian padahal sama-sama menggunakan CamStudio? Sebabnya karena video pertama dibuat secara manual dengan mengklik tombol Record dan Stop langsung dari aplikasi CamStudio. Sementara untuk video kedua, perekaman dilakukan secara otomatis hanya dengan menekan tombol F8 (untuk memulai recording) dan menekan tombol F9 untuk mengakhirinya. Sebenarnya untuk video pertama bisa saja kita pun mendapatkan hasil yang mulus dengan memotong beberapa scene yang tidak perlu, namun itu artinya tidak utuh lagi. Hal ini tentu sangat-sangat merugikan terutama jika kita ingin merekam sesuatu secara utuh.

Untuk melakukan perekaman otomatis kita bisa melakukannya dengan memanfaatkan tombol pintas (shortcut key) untuk Record, Pause ataupun Stop. Sehingga, tanpa membuka-tutup aplikasi CamStudio kita bisa langsung melakukan perekaman dengan catatan aplikasi CamStudio dalam kondisi aktif. Untuk memastikan apakah CamStudio sedang aktif atau tidak, kita bisa melihatnya pada bagian hidden icons di pojok kanan bawah desktop (lihat gambar di bawah ini pada bagian yang dilingkari).


Secara default, shorcut key untuk Record dan Pause menggunkan tombol F8 sedangkan untuk Stop menggunakan tombol F9. Namun kita pun bisa mengaturnya sesuai kemauan kita. Silahkan klik menu Options lalu pilih Program Options kemudian Keyboard Shorcuts. Silahkan tentukan tombol-tombol mana saja yang ingin digunakan lalu klik OK.




6. Mengatur waktu rekaman. Misalnya Anda semestinya mengikuti kelas tutorial online yang waktunya telah ditentukan--dan tidak bisa digantikan--dan sayangnya videonya tidak dapat diunduh karena sesuatu hal sementara pada waktu bersamaan Anda mesti mengerjakan hal lainnya yang juga sama-sama penting, maka Anda bisa memanfaatkan CamStudio untuk membuat rekamannya untuk Anda simak kemudian. Yang perlu Anda lakukan hanyalah menentukan panjang durasi rekaman dan kemudian memulai proses recording. Pada waktu yang telah ditentukan, proses recording akan berhenti dengan sendirinya dan Andapun tinggal menyimpannya. Untuk mengatur waktu rekaman, silahkan klik menu Options lalu pilih Automatically stop recording. Silahkan tentukan durasi yang diinginkan (dalam hitungan detik), misalnya 300 untuk durasi 5 menit, lalu klik OK. Jangan lupa centang opsi Stop recording after a period of ...



7. Mengatur suara (audio). Ada tiga pilihan yang tersedia yaitu tanpa suara, menggunakan suara yang ada pada komputer (misalnya merekam video tutorial seperti pada contoh sebelumnya) atau menggunakan suara dari mikrofon (misalnya saat Anda sedang membuat video tutorial). Untuk mengatur suara, Anda bisa melakukannya melalui menu Options.


Berikut adalah salah satu contoh video yang saya rekam menggunakan CamStudio dan telah saya unggah di Youtube berkaitan dengan sebuah postingan saya di blog ini juga.


Demikianlah. Untuk pengaturan ataupun cara penggunaan lainnya, Anda dapat mengeksplorasinya sendiri lebih lanjut atau melihat petunjuk di halaman FAQ yang disediakan. Anda pun bisa menanyakan kendala yang Anda alami melalui CamStudio Support Forum. Mudah-mudahan bermanfaat :)

Oiya, saya juga telah membuat video panduan cara menginstal dan menggunakan aplikasi CamStudio di Youtube.

Kamis, Mei 25, 2017

API Data Wilayah Administratif di Indonesia

Sebagai pengembang aplikasi, adakalanya kita memerlukan data nama seluruh wilayah administratif yang ada di Indonesia, yang biasanya untuk mempermudah input data alamat.

Jika kita googling, maka sebenarnya telah banyak tersedia source untuk itu, terutama yang disediakan oleh lembaga formal/pemerintah seperti BPS, Kemendagri dan Kemendikbud. Namun demikian, kebanyakan source yang disediakan berupa 'data mentah' dalam bentuk pdf ataupun langsung ditampilkan di websitenya yang perlu pengolahan lagi untuk dapat kita pergunakan yang kadang cukup ribed. Meski ada juga yang menyediakannya dalam bentuk API, salah satunya Kemendikbud tersebut. Nah, melalui postingan ini, saya ingin berbagi tentang API Data Wilayah Administratif di Indonesia yang disediakan oleh Kemendikbud.


Awalnya saya mendapatkan informasi tentang data Kemedikbud tersebut dari portal Satu Data Indonesia (tentu, setelah sebelumnya bertanya-tanya ke mbah Google juga, hehehe).

API yang disediakan, bagi saya, cukup sederhana dan mudah digunakan, yaitu cukup dengan mengakses url http://jendela.data.kemdikbud.go.id/api/index.php/CWilayah/wilayahGET?mst_kode_wilayah=xxxxxx, di mana xxxxxx adalah kode wilayah master untuk mendapatkan data wilayahnya. Misalnya dengan xxxxxx sebagai kode wilayah suatu propinsi, maka kita akan mendapatkan daftar kabupaten/kota yang ada di propinsi tersebut. Demikian seterusnya, sampai dengan daftar desa/kelurahan yang ada di suatu kecamatan. Adapun kode wilayah pokoknya adalah 000000 yang akan menampilkan daftar propinsi yang ada di Indonesia.

Dengan pola seperti itu, sangat memungkinkan untuk kita menggunakannya di website ataupun aplikasi kita secara online, tanpa kita perlu mengunduh/memiliki databasenya sendiri. keuntungan lainnya, data yang kita tampilkan akan selalu mutakhir mengikuti perkembangan update data yang ada di situs Kemendikbud.

Berikut adalah contoh bagaimana menampilkan data wilayah tersebut di website kita dengan bantuan cURL dan jQuery.

Pertama, kita siapkan dua file: form.php dan update.php. File yang pertama kita gunakan untuk menampilkan form yang memuat data wilayah, sedangkan file yang kedua kita gunakan untuk mengolah data wilayah yang dibutuhkan.

Alurnya adalah, mula-mula data propinsi kita tampilkan saat halaman form.php dimuat, sementara data kabupaten/kota, kecamatan dan desa/kelurahan kita biarkan kosong. Selanjutnya, saat kita memilih atau mengganti data propinsi, maka data kabupaten/kota akan ditampilkan. Begitu seterusnya. Untuk menampilkan datanya, menggunakan method post() pada jQuery, form.php mengirimkan request ke  update.php yang selanjutnya akan diteruskan ke situs Kemendikbud. Data yang diterima oleh update.php akan diteruskan kembali ke form.php untuk ditampilkan.

Sebelum kita melanjutkan, kita perlu mengetahui juga model data yang akan kita terima dari situs Kemendikbud. Karena beda model data, beda pula penanganannya.



Ya, data yang akan kita diterima dari situs Kemendikbud adalah berupa JSON dengan hirarki seperti pada gambar di atas. Seperti terlihat, masing-masing data terdiri dari: kode_wilayah, nama dan mst_kode_wilayah.

Baiklah, sekarang kita lanjutkan dengan membuat script untuk halaman form.php dan update.php.

Silahkan copy terlebih dahulu script di bawah ini untuk kita gunakan/paste pada file form.php.

<!doctype html>
<html>
<head>
 <title>Data Wilayah Indonesia</title>
 <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
 <script type="text/javascript">
  $(document).ready(function(){
   updateData('pokok', '000000');

   $(".data-wilayah select").change(function(){
    var id_wilayah = $(this).attr('id');
    var kode_wilayah = $(this).val();

    if(id_wilayah!='kelurahan') {
     updateData(id_wilayah, kode_wilayah);
    }    
   })
  });

  function updateData(id_wilayah, kode_wilayah) {
   if(id_wilayah=='pokok') {
    $("#propinsi").empty().prepend('<option value="">-- Pilih Nama Propinsi --</option>');
   }

   if(id_wilayah=='pokok' || id_wilayah=='propinsi') {
    $("#kota").empty().prepend('<option value="">-- Pilih Nama Kabupaten/Kota --</option>');
   }

   if(id_wilayah=='pokok' || id_wilayah=='propinsi' || id_wilayah=='kota') {
    $("#kecamatan").empty().prepend('<option value="">-- Pilih Nama Kecamatan --</option>');
   }

   if(id_wilayah=='pokok' || id_wilayah=='propinsi' || id_wilayah=='kota' || id_wilayah=='kecamatan') {
    $("#kelurahan").empty().prepend('<option value="">-- Pilih Nama Desa/Kelurahan --</option>');
   }

   if(kode_wilayah!="") {
    $.post('update.php',{
     update: kode_wilayah
    }, function(data) {
     var data = jQuery.parseJSON(data);

     if(data.status==1) {
      var obj = '#propinsi';
      var content = '';

      if(id_wilayah=='propinsi') {
       obj = '#kota';
      } else if(id_wilayah=='kota') {
       obj = '#kecamatan';
      } else if(id_wilayah=='kecamatan') {
       obj = '#kelurahan';
      }

      $.each(data.content.data, function(i,d) {
       content += '<option value="'+d.kode_wilayah+'">'+d.nama+'</option>';
      });

      $(obj).append(content);
     }
    });
   }
  }
 </script>
</head>
<body>
 <h3>Data Wilayah Indonesia</h3>
 <form id="territory">
  <p class="data-wilayah"><label for="propinsi">Propinsi</label> <select id="propinsi">
   <option value="">-- Pilih Nama Propinsi --</option>
  </select></p>
  <p class="data-wilayah"><label for="kota">Kabupaten/Kota</label> <select id="kota">
   <option value="">-- Pilih Nama Kabupaten/Kota --</option>
  </select></p>
  <p class="data-wilayah"><label for="kecamatan">Kecamatan</label> <select id="kecamatan">
   <option value="">-- Pilih Nama Kecamatan --</option>
  </select></p>
  <p class="data-wilayah"><label for="kelurahan">Desa/Kelurahan</label> <select id="kelurahan">
   <option value="">-- Pilih Nama Desa/Kelurahan --</option>
  </select></p>
 </form>
</body> 
</html>

Selanjutnya, silahkan copy script di bawah untuk file update.php.

<?php

$return = array();
$return['status'] = 0;
$return['content'] = "";

function clearJSON($json_data) {
 if (0 === strpos(bin2hex($json_data), 'efbbbf')) {
       return substr($json_data, 3);
    } else {
     return $json_data;
    }
}

if(isset($_POST['update']) && trim($_POST['update'])!='') {
 $mst_kode_wilayah = trim($_POST['update']);
 $url = "http://jendela.data.kemdikbud.go.id/api/index.php/CWilayah/wilayahGET?mst_kode_wilayah=$mst_kode_wilayah";

 $ch = curl_init();

 curl_setopt($ch, CURLOPT_URL,$url);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

 if(curl_exec($ch) === false) {
  $output = '{"data":[]}';
 } else {
  $output = curl_exec($ch);
 }

 curl_close($ch);

 $json_data = clearJSON($output);
 $output = json_decode($json_data, true);

 if(count($output['data']) > 0) {
  $return['status'] = 1;
  $return['content'] = $output;
 }
}

echo json_encode($return);

?>

Pada form.php, kita gunakan function updateData() untuk menampilkan data wilayah. function ini dijalankan saat halaman dibuka untuk menampilkan data propinsi, dan akan dijalankan setiap kali ada perubahan data propinsi, kabupaten/kota maupun kecamatan untuk menampilkan data wilayah di bawahnya.

Sedangkan pada update.php, ketika ada request yang diterima dari form.php, menggunakan cURL, data yang di-request kemudian diambil dari website Kemendikbud. Jika data tersedia, data akan diteruskan kembali ke form.php dalam bentuk JSON. Begitupun jika datanya tidak tersedia, atau ada kendala saat mengambil data, tetap akan diinformasikan ke form.php.

Pada update.php, kita membuat function clearJSON() untuk memfilter/menangani karakter BOM yang (seringkali) 'menyusup' di awal teks data yang kita dapatkan. Dan kebetulan, pada data wilayah yang didapat dari website Kemendikbud, karakter tersebut muncul :).

Btw, jika Anda mengalami kendala dalam meng-copy script di atas, Anda bisa mengunduhnya di sini.

Mengunduh Data


Nah, bagaimana jika kita ingin mengambil datanya secara keseluruhan untuk kita masukkan ke database kita sendiri? Karena memang, untuk beberapa hal, ada kalanya menampilkan data dari database sendiri adalah lebih baik ataupun merupakan satu-satunya pilihan. Misalnya karena aplikasi yang kita kembangkan sifatnya offline.

Ya, meninjau pada API yang disediakan, maka kita memang harus mengambilnya satu demi satu, mulai dari data pokok (propinsi) sampai dengan data desa/kelurahan. Ribed, dong? Tergantung :). Jika kita hanya menggunakan metode 'apa adanya' sebagaimana yang disediakan, iya. Tapi jika sebagai pengembang kita mau sedikit jeli, sebenarnya kita bisa membuat/menggunakan metode atau fungsi rekursif untuk menanganinya.


Video di atas adalah capture proses download data full yang langsung saya inject ke database dan juga saya buat sebagai file csv. Insya Allah nanti saya update tulisan ini berkaitan dengan proses download data. Namun jika saat ini Anda memerlukannya, silahkan klik di sini untuk mengunduhnya.

Salam!

Selasa, Juli 16, 2013

Mengatasi Error Grub: "No Such Partition"

Bagi Anda yang menggunakan 'dual boot' sistem operasi (Windows dan Linux Ubuntu), mungkin Anda pernah, atau sedang mengalami masalah (biasanya setelah menambah atau menghapus partisi dari Windows) di mana saat menjalankan komputer atau laptop, tidak muncul daftar sistem operasi yang biasa ditampilkan oleh GRUB (Grand Unified Bootloader)-nya Ubuntu melainkan dua baris berikut:

error: no such partition.
grub rescue>

Ya, error ini muncul karena dengan ditambahkan atau dihapusnya partisi, posisi partisi Ubuntu menjadi tergeser, sehingga posisi bootloader (dalam hal ini GRUB) yang telah terekam pada MBR (Master Boot Record) komputer tidak lagi valid. Untuk mengatasinya, mula-mula kita lihat daftar partisi yang ada pada komputer dengan mengetikkan perintah 'ls':

grub rescue> ls

Hasilnya akan muncul daftar seperti di bawah ini:

(hd0)   (hd0,msdos7)   (hd0,msdos6)   (hd0,msdos5)   (hd0,msdos1)

Sekarang, coba cek masing-masing partisi, untuk mengetahui keberadaan Ubuntu dengan mengetikkan perintah 'ls (hdx,y)', misalnya:

grub rescue> ls (hd0,5)

Jika yang muncul sebagai berikut:

error: unknown filesystem.

maka isi partisi tersebut bukanlah Ubuntu. Coba lagi misalnya:

grub rescue> ls (hd0,6)

Jika yang muncul seperti berikut:

./  ../  lost+found/  etc/  media/  bin/  boot/  dev/  home/  lib/  ...

Maka berarti Ubuntu ada di partisi ini. Jika demikian, kita bisa melanjutkan dengan memanggil kembali GRUB dengan mengetikkan satu per satu baris-baris perintah berikut:

grub rescue> set prefix=(hd0,6)/boot/grub
grub rescue> set root=(hd0,6)
grub rescue> insmod normal
grub rescue> normal

Setelah itu, komputer akan kembali normal seperti biasa. Daftar pilihan sistem operasi akan muncul kembali.


Namun, ... ini belum selesai. Jika setelah ini Anda langsung menggunakan komputer Anda seperti biasa hingga Anda melakukan shutdown atau restart komputer, maka setelah komputer aktif kembali, error grub ini akan muncul kembali. Sebab, perintah di atas hanya digunakan untuk memanggil GRUB sekali itu. Untuk itu, agar nantinya GRUB bisa muncul dengan sendirinya seperti semula, Anda perlu mendaftarkan ulang GRUB. Caranya, masuk ke Ubuntu. Buka Terminal lalu ketik satu per satu dua baris perintah berikut:

sudo update-grub
sudo grub-install /dev/sda

Finished. :)

Senin, Juli 21, 2008

"Error Log!" yang Sering Terlupakan .. (Seri Joomla!)*

Membuat mungkin gampang, tapi yang susah adalah merawatnya.

Pepatah ini barangkali berlaku juga buat website yang kita miliki. Yah, merancang dan membangun sebuah web, barangkali tidaklah susah-susah amat. Terlebih sekarang sudah ada paket website "siap saji" seperti Joomla! yang ibarat mie instan, hanya perlu "diseduh" sebentar untuk kemudian dapat disajikan dan dinikmati. Namun yang menjadi persoalan adalah merawatnya kemudian. Karena bukan tidak mungkin website yang telah kita bangun dan kembangkan sedemikian rupa, akan menjadi sia-sia gara-gara di-obok-obok orang. Tidak terkecuali untuk web yang berbasis Joomla!. Meski sistem sekuritas Joomla! bisa dibilang oke, toh Joomla! sudah demikian populernya, di mana merupakan "dilema" tersendiri bahwa anatomi sistem Joomla! (tentang tata letak file dan folder) tentu sudah tersebar luas juga sebagai rahasia umum "peta harta karun" website yang bersangkutan. Mau tidak mau kita harus lebih ekstra waspada. Terlebih jika web yang kita kelola bersangkutan dengan hajat dan kepentingan banyak orang. Entah karena web kita merupakan web komunitas yang menghimpun banyak orang dengan beragam pengetahuan dan kepribadian (baca: sifat), entah karena domain yang kita miliki cukup nyentrik hingga menjadi incaran banyak orang, entah karena ketatnya persaingan bisnis yang kita geluti, hingga tidak mungkin ada satu-dua orang yang "tidak suka" dengan kita dan berusaha mengacaukan segala sistem yang kita miliki—termasuk website kita, bla bla bla ...

Banyak hal yang bisa kita lakukan untuk lebih meningkatkan keamanan website kita. Hal yang terpenting tentu saja melakukan back-up secara rutin, termasuk setelah kita melakukan pembaharuan (update) template, komponen maupun modul, ataupun penambahannya. Selain kita bisa melakukan back-up dari kontrol panel hosting web, khusus untuk web Joomla! kita pun bisa melakukannya dari halaman belakang (back-end) web Joomla! kita dengan memanfaatkan komponen back-up seperti yang ada di Joomla! Extensions Directory.

Kedua, jika dianggap perlu, kita bisa juga melakukan modifikasi terhadap file maupun folder bawaan Joomla! seperti mengganti login default administrator hingga dapat mengacaukan "peta harta karun" kita.

Ketiga, pastikan permissions untuk folder-folder penting seperti administrator, components, includes dan modules tidak lebih dari 755 dan untuk file-filenya tidak lebih dari 644.

Keempat, dan ini yang mungkin sering dilupakan, periksa Error Log! secara berkala. Error Log! menyajikan daftar log (akses) ke website yang dianggap menyalahi ataupun membahayakan. Dari Error Log! inilah kita bisa mengetahui siapa-siapa yang berusaha "campur-tangan". Termasuk mendapatkan informasi tentang kekeliruan prosedur yang kita jalankan serta informasi tentang file dan ataupun folder yang perlu dibenahi— yang bisa mnejadi rujukan saat terjadi instalasi error komponen, modul, mambot ataupun template. Dari Error Log! inilah kita bisa memutuskan langkah atau solusi apa kemudian. Misalnya memblokir IP pengunjung yang dianggap "nakal". Kita bisa mengakses error Log!, dari halaman cPanel, web kita ataupun dengan memanfaatkan komponen semacam yang bisa didapatkan di Joomla! Extensions Direktory

Salam! :)

* dimuat juga di kolom Tutorial ID Joomla!

Rabu, Mei 14, 2008

Mem-Password Dokumen Ms-Excel & Ms-Word

DALAM membuat sebuah dokumen, adakalanya kita membutuhkan sebuah privasi ataupun proteksi untuk dokumen tersebut. Misalnya saja kita membuat sebuah laporan keuangan yang sifatnya rahasia yang semestinya boleh diakses hanya oleh beberapa pihak, sementara komputer tempat dokumen tersebut berada, merupakan komputer "umum". Contoh lain, kita sedang membuat konsep "surat cinta" yang sifatnya sangat pribadi yang kita simpan di flash-disk yang kadang dipinjam orang lain. ;)

Nah, untuk menyiasati hal itu, tentu kita memerlukan semacam "gembok" yang hanya kita—dan beberapa orang tertentu—saja yang bisa membukanya.


Mengunci Dokumen Ms-Excel & Ms-Word

Untuk membuat password pada dokumen Ms-Excel & Ms-Word, eksekusinya adalah pada saat kita menyimpan dokumen tersebut.


  1. Klik Save atau Save As
  2. Pada kotak dialog "Save As" yang kemudian muncul, cari & klik Tools --> General Options
  3. Pada kotak opsional "Save", masukkan password yang kita kehendaki, baik untuk membuka ataupun merubah dokumen kemudian, lalu centang box "Read-only"—jika diperlukan (lihat gambar.1a & gambar.1b)


    (gambar.1a)




    (gambar.1b)


  4. Ulangi password yang telah kita masukkan tadi (lihat gambar.2a s.d gambar.3b)


    (gambar.2a)



    (gambar.2b)



    (gambar.3a)



    (gambar.3b)


  5. Simpan dokumen dengan nama yang kita kehendaki

Membuka & Merubah kembali Dokumen Ms-Excel & Ms-Word yang ter-Password


  1. Untuk membuka dokumen yang telah simpan dengan disertai password, maka kita perlu memasukkan password tersebut dengan benar (sifatnya "case sensitive", yaitu huruf kecil harus ditulis dengan huruf kecil, begitupun sebaliknya; lihat gambar.4a s.d gambar.5b)


    (gambar.4a)



    (gambar.4b)



    (gambar.5a)



    (gambar.5b)


  2. Ada dua opsi membuka dokumen, yaitu "Read-only; hanya untuk dibaca" & "untuk kita sisipi perubahan". Untuk opsi Read-only, baik untuk dokumen Ms-Excel maupun Ms-Word, kita cukup klik tombol "Read-only" (lihat gambar.5a & gambar.5b). Namun jika kita ingin menyisipkan perubahan pada dokumen yang akan kita buka, untuk dokumen Ms-Excel, setelah kita klik tombol "OK" (gambar.5a) kemudian kita klik tombol "No" pada kotak perintah berikutnya (lihat gambar.6). Untuk dokumen Ms-Word, cukup klik tombol "OK" (gambar.5b)


    (gambar.6)


  3. Untuk dokumen yang kita buka dengan opsi "Read-only", jika ternyata kemudian kita harus melakukan perubahan dokumen, maka kita harus menyimpannya dengan nama dokumen lain (lihat gambar.7a s.d gambar.7c)


    (gambar.7a)



    (gambar.7b)



    (gambar.7c)




WARNING!!
Ingat baik-baik password yang kita buat. Karena alih-alih kita ingin mengamankan dokumen, yang ada akhirnya kita kehilangan dokumen itu karena kita tidak bisa membukanya!!


Kamis, Februari 14, 2008

Agar Pengunjung Nyaman Membuka Situs Kita via HP

Perkembangan internet di masa sekarang ini, sungguh-sungguh begitu pesat adanya. Terutama jika menilik dari mudahnya akses untuk mendapatkan (baca: membuka)-nya. Terlebih sekarang internet tidak hanya bisa dibuka dari komputer biasa namun juga dari HP!! Hal yang begitu menguntungkan bagi kita yang mobile dalam segala gerak kita, yang tidak punya cukup banyak waktu untuk nongkrong di depan desktop dan laptop untuk sekedar membaca email ataupun berita--dan tidak mungkin menentengnya kemanapun.

Namun, mengingat kapasitas memori dan layar hp yang tidak sebesar dan selebar komputer biasa, tentu ada perbedaan pula antara akses internet dari desktop dan laptop dengan akses internet via hp. Satu hal yang menonjol di antaranya bahwa akses internet dari hp tidak memungkinkan kita untuk membuka situs dengan memori gambar yang besar serta desain situsnya yang "rumit" (akan sangat lama browser hp meloadingnya atau bahkan akan mengalami kegagalan/error). Karenanya situs-situs yang dikhususkan untuk dibuka melalui hp akan sangat minim gambar dan desainnya.

Dari sisi pengelola dan desainer web, tentu hal ini dapat sangat merugikan. Terlebih jika target pengunjung yang akan dijaring adalah orang-orang dengan mobilitas yang tinggi. Situs yang telah didesain sedemikian rupa (yang begitu bagus dibuka di desktop dan laptop) namun menjadi berantakan saat dibuka di hp. Mau tidak mau, harus dibuatkan satu desain situs lagi yang khusus diperuntukkan dibuka dari hp.

Namun, membuatkan desain baru lagi yang ditempatkan pada satu bagian di situs kita, inipun belum memaksimalkan pemecahan masalah. Misalkan kita menempatkan desain/file situs hp kita di bagian/folder "wap", maka bagi pengunjung untuk mengaksesnya haruslah menambahkan akhiran /wap saat mengetikkan alamat web kita di browser hp (menjadi http://www.nama_situs.com/wap). Hal yang kadangkala menjadi masalah, karena kebanyakan orang tahu (baca: menghafalkan) hanya nama situsnya saja, tanpa embel-embel apapun.

Menyiasati hal ini, ada satu trik yang bisa kita lakukan yaitu dengan menyisipkan pada halaman desain situs kita kode perintah yang kemudian akan dibaca oleh browser hp saat membuka situs kita untuk mengalihkan tujuan ke halaman situs yang dikhususkan untuk dibuka di hp.

Misalkan, seperti contoh di atas kita meletakkan file-file situs hp kita di folder "wap".

Pertama, buatlah file dengan nama mobile.php lalu isikan kode-kode perintah berikut di dalamnya:






Sisipkan file mobile.php tersebut di bagian atas file index.php ataupun file-file halaman situs kita lainnya dengan perintah include ("mobile.php");

Nah, sekarang saat pengunjung mengetikkan alamat situs kita (http://www.nama_situs.com) di browser hpnya secara otomatis halaman yang akan terbuka adalah halaman yang khusus untuk dibuka di hp (http://www.nama_situs.com/wap) dan dia tidak perlu ribed lagi menuliskan alamat situs hp kita tersebut secara lengkap. Contoh situs yang menggunakan trik ini adalah Google (www.google.com), Yahoo! (www.yahoo.com), B-TRIK (www.buana.co.id) dan Nokia (www.nokia.com). Asyik, kan??


P.S.: thanks for Bouvrie from Joomla! Community Forum. Script serupa untuk menyiasati masalah mobile browser tersebut bisa juga didownload via dpiNYC Literature.

Selasa, Januari 15, 2008

"Error Message" Instalasi CMS

Mendesain web sekarang-sekarang ini, semenjak dikembangkannya piranti berbasis CMS (Content Management System), sungguh sangat menguntungkan bagi para desainer maupun programer web, terutama bagi mereka yang belum ataupun tidak begitu akrab dengan bahasa-bahasa pemrograman semacam ASP, PHP dan Java. Karena dengan CMS, mereka tidak perlu lagi menulis dan mengutak-atik kode-kode rumit pemrograman, yang mana semua telah disediakan secara "instan" oleh CMS. Ya, instan, karena begitu instalasi CMS selesai, file-file dan data-data pendukung telah langsung tersedia. Mereka tinggal memilih dan mengelola konten-konten apa saja, ataupun template dan modul apa saja yang diinginkan untuk web yang dirancang. Fantastis!!

Ada beberapa jenis CMS, dari yang berbayar hingga yang gratisan. Sebut di antaranya Fedora, Mambo, Php-Nuke, Wordpress, TikiWiki dan Joomla!. Yang terakhir cukup terkenal di antara piranti-piranti CMS lainnya, tidak lain karena sifatnya yang opensource dan, terlebih lagi, gratis!! ;-) (daftar lengkap CMS bisa dilihat di sini).

Selain mudah digunakan, instalasi CMS pun cenderung mudah, tinggal klik next, next dan next. Pun kebanyakan webhosting kini menyediakan pula menu CMS untuk para kliennya.

Seperti pengalaman saya yang mencoba menggunakan Joomla!. Hanya dalam hitungan menit, web yang saya rancang telah on the way tanpa harus pusing-pusing menulis dan menyiapkan kode-kode dan file-file HTML, PHP, CSS maupun table-table databasenya.

Anyway, namun demikian ada beberapa hal pula yang perlu diperhatikan berkenaan dengan instalasi maupun penggunaan CMS (atau lebih spesifiknya: Joomla!). Ini berkenaan dengan register global pada penanganan data. Banyak webhosting yang default register global-nya pada posisi on. Ini tidak lain untuk mempermudah para kliennya yang menggunakan jasa hosting mereka tidaklah repot mengolah data. Sebab jika fungsi register global off, maka input data akan benar-benar melalui proses filtering yang "ketat" (lebih jelasnya bisa baca--antara lain--di blognya Mas SyaifulSabril). Padahal, pada kebanyakan CMS, termasuk Joomla! fungsi register global haruslah dimatikan alias pada posisi off tersebut. Hal ini dimaksudkan untuk lebih memproteksi web yang dibuat. Jika fungsi register global tetap on (fungsi ini bisa dilihat di info konfigurasi PHP di CPanel hosting) maka saat instalasi CMS akan keluar error message berupa "PHP register_globals setting is 'ON' instead of 'OFF'". Untuk mengakali hal ini, bisa dengan menyisipkan perintah "php_flag register_globals off" pada file .htaccess dengan cara mengeditnya secara manual. File ini biasanya berada di folder /public_html. Nah, setelah di-save kembali, maka error message tersebut pun akan hilang.


configuration.php is : Unwriteable

Uppss!! Ngedit kok nggak bisa, ya? Malah keluar warning: "An Error Has Occurred! Unable to open config file to write!" ???? Ya, ini dikarenakan fungsi writeable untuk file tersebut tidaklah aktif. Ini pun merupakan bagian dari sistem keamanan CMS. Untuk mengaktifkan fungsi writeable ini, bisa mengeditnya dari file manager yang terdapat di CPanel hosting. Cari file configuration.php tersebut. Klik kanan pada file ini, lalu pilih Change Permissions. Ubahlah kode keamanan (permission)-nya yang 644 menjadi 777 atau dengan mencentang semua fungsi (read, write & execute). Nah, sekarang bisa deh diutak-atik file atau menu global configuration tersebut. Jika kemudian didapati kasus yang sama semisal dalam mengedit html ataupun css template, bukalah folder untuk file yang bersangkutan pada CPanel hosting lalu lakukan langkah yang sama seperti untuk file configuration.php. Oya, jangan lupa, setelah selesai mengedit file-file tersebut, kembalikan kode keamanan 777 ke 644 atau hilangkan kembali centang yang kita buat baru tersebut.

Untuk kendala-kendala lainnya, jangan sungkan bertanya-tanya kepada para ahli baik melalui web maupun situs pribadi mereka yang banyak bertebaran semisal Blog Belajar CMS ataupun melalui forum-forum seperti Komunitas Joomla Indonesia & Milis KOMPUTER-TEKNOLOGI Atau bisa juga bertanya ke Om pinter Google ;-)


Kamis, Januari 10, 2008

Proyek Awal Tahun 2008

Alhamdulillah... setelah cukup ngos-ngosan, akhirnya website Buana Elektronik jadi juga.

Ngos-ngosan??? Yup!! Terutama karena lelahnya memburu domain yang "enak" dan "pas". Antara lain, meliputi kategori: gampang dieja dan tentu, gampang diingat.

Diskusi pun dimulai dengan Big Boss. Ketemulah nama "buana". Yup. Domain "buana" terasa pas. Domain "buana" dari Buana Elektronik. Mulailah perburuan. Cek sana, cek sini. Mulai dari ekstension *.com, *.net, *co.id. Ah, semua sudah ada yang punya. Tapi, upss... ekstension *.co.id sudah expired!! Mulai deh ngurus ke PANDI. Tapi, "maaf, Pak.. domain buana.co.id memang sudah expired. Tapi kami baru akan me-launching-nya lagi awal Januari besok..." help desk PANDI cukup membuat deg-degan juga. Awal Januari (sekedar catatan: saat itu masih awal-awal bulan Desember--2007). Deg-degan, karena berarti harus "siaga". Lengah dan telat sedikit aja, bisa deh itu domain jatuh ke tangan orang. Maklum, nama "buana" banyak dimiliki.

Klok, klok, klok, ....

Teng!!! SELAMAT TAHUN BARU 2008!!

Awal Januari sudah. Tanggal 2 pagi-pagi, buru-buru cek dan kontak ke PANDI. Tapi, lagi-lagi... "maaf, Pak, mungkin baru besok bisa dicek lagi. Hari ini kami akan melakukan listing ulang untuk nama-nama domain yang sudah expired."

tanggal 3 Januari, pagi-pagi juga, buru-buru cek avaibilitas buana.co.id di situs PANDI. Dan.... ahhhh, akhirnya, free juga. Langsung deh, registrasi. Urus ini, urus itu... tanggal 4 Januari di-approve juga. Dan, resmilah buana.co.id "terbeli"..

Sekarang soal hosting. Cari sana, cari sini, membandingkan satu dengan yang lain, pilihan akhirnya jatuh ke IDwebhost. Registrasi.... klik!! Lengkap sudah kini. Tinggal ngisi webnya.


Cling!! www.buana.co.id kini telah bisa dikunjungi!!!! Welcome.............!!!