Setelan dasar Instalasi Drupal bagi pengguna pemula

Drupal merupakan perangkat sistem pengembangan website yang lumayan kompleks. Dibandingkan versi sebelumnya (< versi 6.x), Drupal versi 7 hadir dengan antarmuka yang lebih baik sehingga memudahkan pengguna pemula dalam melakukan kostumisasi pada Drupal. Namun demikian tidak semua perangkat kostumisasi tertanam secara default. Artikel ini sengaja saya tulis untuk memudahkan pengguna pemula mengenai apa saja yang perlu dan harus dilakukan setelah sukses melakukan instalasi Drupal yang pertama. Beberapa saran dan anjurannya adalah:

  1. Menentukan konsep situs. Anda harus menentukan konsep situs yang akan Anda buat dengan jelas. Perlu Anda ketahui bahwasanya Drupal bisa digunakan untuk membuat sebuah situs Blog pribadi, profil usaha, e-commerce, forum diskusi, web portal dari skala kecil, skala menengah hingga kelas enterprise. Penentuan konsep yang jelas akan meminimalisasi penggunaan modul tambahan sehingga modul yang nantinya kita tambahkan benar-benar yang kita butuhkan. Penggunaan modul yang efisien akan mengakibatkan situs berjalan dengan gegas, cepat dan stabil.
  2. Mengaktifkan modul inti. Modul inti berikut ini terkadang belum aktif ketika pertama kali Drupal di install, pastikan Anda mengaktifkan modul ini karena sangat bermanfaat ketika kita akan melakukan konfigurasi situs:
    • Update Manager, modul ini berguna untuk memudahkan pemasangan modul dan tema tanpa melalui control panel hosting. Pastikan situs Anda sudah muncul tautan +Install new Module di kiri atas halaman konfigurasi Moduleatau +Install new theme pada halaman Appearance
    • Path, modul ini berguna untuk mengkonfigurasi URL ramah sehingga situs mudah dikenali oleh search engine. Pastikan situs Anda sudah bisa mengaktifkan opsi URL ramah melalui Configuration > Search & metadata > URL Friendly.
  3. Menambahkan modul kontribusi.
    1. Admin menu, modul ini berguna untuk menampilkan semua sistem menu menjadi menu toolbar yang dropdown sehingga mengurangi memuat halaman secara berulang dan mempersingkat menuju suatu halaman konfigurasi.
    2. Pathauto, berfungsi untuk memudahkan pembuatan URL ramah secara otomatis. Biasanya nama URL ramah berdasarkan judul artikel dan bisa dikonfigurasi sesuai keinginan kita. Dengan konten yang memiliki URL yang ramah akan menjadikan situs kita menjadi SEO Friendly. Modul ini membutuhkan modul token akar bisa diaktifkan.
      • Contoh URL tidak ramah: http://situsku.com/?q=node/891
      • Contoh URL ramah: http://situsku.com/cara-mempercepat-akses-website
    3. Wysiwyg, modul ini adalah antarmuka untuk penambahan pustaka teks editor seperti CKEditor, IMCE, TinyMCE dll. Jika Anda suka dengan antarmuka tunggal Anda bisa langsung menggunakan modul CKEditor. (Saya menyarankan CKEditor karena teks editor ini akan menjadi teks editor standar Drupal versi 8).
    4. IMCE, ini adalah modul untuk file manager (upload, delete, resize image) agar berkas bisa diunggah ke server hosting Anda.
    5. Modul Anti Spammer. Modul ini wajib Anda tanam di situs Anda untuk menghindari gangguan dari pengguna usil terutama serangan dari robot-robot spammer. Dan saya sangat menganjurkan modul Captcha free dan Honeypotsebagai modul anti spammernya. Selain mudah dalam konfigurasinya juga sangat kuat dan tidak membutuhkan pendaftaran ke server pihak ketiga seperti modul Mollom (walaupun bagus tapi membutuhkan registrasi di server lain dan kadang mengganggu kinerja sistem kita sendiri). Dari pengalaman pribadi, menggunakan salah satu dari dua modul diatas benar-benar ampuh untuk mengurangi spammer hingga nyaris tidak ada gangguan.
  4. Mematikan modul inti.
    1. Overlay. Walaupun memudahkan dengan tampilannya yang menarik, tapi sangat lambat jika digunakan pada jaringan internet yang standar. (Dan modul ini tidak digunakan lagi pada Drupal 8).
    2. Toolbar. Modul ini tidak bisa menampilkan menu secara dropdown, fungsinya tergantikan dengan modul Admin menu.
  5. Anjuran konfigurasi sistem.
    • Jika situs Anda tidak memiliki pengguna tambahan aktifkan opsi pendaftaran anggota menjadi [x]Only administrator dari menuadmin/config/people/accounts.
    • Jika situs Anda mayoritas anggotanya adalah pengguna dari Indonesia aktifkanlah opsi bahasa lokal dengan Bahasa Indonesia untuk memudahkan pengguna yang mengaksesnya. Aktifkan modul inti Locale dan impor berkas terjemahan antarmuka Drupal bahasa Indonesia dari situs resmi.
    • Aktifkanlah Cache situs, untuk mempercepat akses ke pengguna anonim. Jika informasi situs Anda jarang diperbarui, setel masa aktif cache dengan durasi yang lama dan sebaliknya jika situs Anda sering mengalamai perubahan data setel dengan masa waktu yang lebih cepat.
    • Aktifkan pemampatan berkas CSS tunggal, terutama jika situs Anda digunakan untuk mengakomodasi pengguna dari browser versi lama (Internet Explorer). Centang opsi [x] Aggregate and compress CSS files pada konfigurasi menuPerformance.
  6. Anjuran pemilihan tema.
    • Pilihlah tema yang bersifat responsive yakni tema yang bisa menyesuaikan tampilan secara otomatis pada berbagai jenis piranti gadget pengakses situs. Dengan tema yang responsive Anda tidak perlu membuat disain situs yang berbeda-beda untuk berbagai macam gadget.
    • Pilihlah tema yang support HTML5.
    • Jika punya kemampuan ngoprek atau mau belajar untuk ngoprek tema, gunakanlah tema framework dan buatlah tema turunannya (subtema). Tema framework yang populer adalah ZenOmegaAdaptive Bootstrap dll.
    • Jika Anda sudah familier atau fanatik dengan tema tertentu tetapi memiliki jumlah kolom dan region yang tidak memadai (sedikit), gunakanlah modulPanel. Dengan modul ini tema favorit Anda akan memiliki jumlah kolom dan region yang nyaris tak terbatas.

 

sumber : http://drupal.or.id/artikel/setelan-dasar-instalasi-drupal-bagi-pengguna-pemula

Magang #2 Pelatihan App Inventor di SMA 2 Cimahi dan SMK 11 Bandung

11 Maret 2013

Pelatihan App Inventor di SMA 2 Cimahi 

Laporan di sma 2 cimahi :
Kegiatan berjalan lancar.
semua peserta mempunyai antusias bagus
ada kendala disisi teknis :
1. hardware
2. OS

jenis kegiatan :
Tutorial & Workshop (lab activity)
Sasaran :
membuat aplikasi sederhana menggunakan fungsi2 yang ada di Ai2live (Offline)

DSC_0093

DSC_0094 DSC_0095 DSC_0097

DSC_0098

Pelatihan App Inventor di SMK 11 Bandung

Jumlah siswa yang ikut pelatihan 30 orang :

DSC_0106

Dokumentasi Magang:

2014-03-11 13.59.55 2014-03-12 14.33.27

DSC_0108

DSC_0105

DSC_0099

DSC_0100

DSC_0101

DSC_0103

DSC_0102

DSC_0104

Magang #1 Brigding D1 Kerma Seamolec

Jadwal Magang 20 – 30 Januari 2014

Kami mahasiswa D4 Batch 8 TMD (Teknik Media Digital) merupakan angkatan terbanyak dari angkatan-angkatan sebelumnya. Kami berjumlah 90 orang lebih. Bicara soal penempatan magang kami dibagi menjadi 3 kelompok besar :

  1. Magang di Polda seluruh provinsi di Indonesia, dimana tiap 1 orang mahasiswa mewakili satu provinsi. Tambahan ada yang magang di PTIK sebagai pengontrol dari seluruh jaringan polda yang saling terkoneksi dengan jaringan internet dan di syncronize ke satu server aplikasi BBB (BigBlueButton) dan atau WEBX. Garis besarnya mahasiswa ditugaskan untuk mewujudkan PJJ (Pendidikan Jarak Jauh) bagi kepolisian dalam rangka meningkatkan sumber dayanya.
  2. Magang di Pertamina, dimana Seamolec juga bekerja sama dengan pertamina dalam suatu kegiatan, sehingga dibutuhkan 4 orang mahasiswa D4 untuk magang disana.
  3. Magang di Sekolah-sekolah tingkat menengah di Bandung dan Malang. Nah, disini pasisi saya. Saya ditugaskan untuk magang disekolah-sekolah yang ada di sekitaran Kota Bandung.  Hingga laporan Ini ditulis saya dan teman-teman 29 orang lainnya yang magang di Kota Bandung belum bisa memulai keigiatan magang dikarenakan belum mendapat balasan surat persetujuan magang dari pihak Dinas Pendidikan Kota Bandung. Sebenarnya penempatan mahasiwa magang di sekolah menengah atas dikota Bandung juga mempunyai program yang sejalan dengan program walikota cup Bandung. Dimana kami akan berperan sebagai pembimbing pada siswa di sekolah dalam pembuatan aplikasi smartphone (Android) yang nantinya akan dilombakan dengan kota Malang. Continue reading

Membuat Aplikasi Webcame (Capture image & Save Image) pada Bahasa Pemograman Java

Berikut ini saya akan coba berbagi mengenai pembuatan aplikasi webcam menggunakan java. Disini saya menggunakan netbeans 6.9. Untuk penggunaan netbeans nya hampir sama untuk semua IDEnya baik yang IDE 6.9 maupun diatasnya. Langsung saja berikut ini bentuk tampilan interfacenya:

webcam1

Hasil Running Program:

webcam4

Komponen yang dibutuhkan:

  1. Dua buah jToggleButton, jToggleButton1 untuk menampilkan video camera webcamnya  dan jToggleButton2 untuk menampilkan preview image hasil capture.
  2. Dua buah jButton, jButton1 untuk tombol capture dan jButton2 untuk tombol save image hasil capture.
  3. tambahan JMF (java media framework)–> cari di google 🙂
  4. library jImage, klik disini.

Selanjutnya buat project baru dengan nama sesuai keinginan anda disini saya memberikan nama project SkaWebcam.

webcam2

Setelah itu buat interface seperti pada gambar 1 :

webcam1

Kemudian dari menu design kita beralih ke menu source, cara mengganti ke menu source dapat dilihat pada gambar dibawah ini:

webcam3

Setelah itu pada menu source program kita tambahkan method baru dengan nama :

private void initcamera() throws IOException, NoPlayerException, CannotRealizeException

Berikut source program untuk initcamera nya:

private void initcamera() throws IOException, NoPlayerException, CannotRealizeException{
 MediaLocator mlocator = new MediaLocator("vfw://0");
 player = Manager.createRealizedPlayer(mlocator);

this.jToggleButton1.add(player.getVisualComponent());
 player.start();
 }

Selanjutnya ditambahkan method setimagebutton:

private void setimagebutton(JToggleButton button, Image image){
 button.setIcon(new ImageIcon(image));
 }

Untuk source code lengkap program saya tuliskan dibawah ini, mohon diperhatikan penambahan import dan fungsi try catch dari masing-masih method.

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * form_webcame.java
 *
 * Created on Jan 19, 2014, 5:44:54 PM
 */

package skawebcam;

import java.awt.Image;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.media.Buffer;
import javax.media.CannotRealizeException;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.NoPlayerException;
import javax.media.Player;
import javax.swing.ImageIcon;
import javax.swing.JToggleButton;
import javax.media.control.FrameGrabbingControl;
import javax.media.format.VideoFormat;
import javax.media.util.BufferToImage;
import JImage.JIResizeImage;
import java.awt.image.BufferedImage;
import java.awt.FileDialog;
import java.io.File;
import javax.imageio.ImageIO;

/**
 *
 * @author sandroe
 */
public class form_webcam extends javax.swing.JFrame {

Player player;
 BufferedImage BI;
 String namafile;

/** Creates new form form_webcame */
 public form_webcam() {
 try {
 initComponents();
 initcamera();
 } catch (IOException ex) {
 Logger.getLogger(form_webcam.class.getName()).log(Level.SEVERE, null, ex);
 } catch (NoPlayerException ex) {
 Logger.getLogger(form_webcam.class.getName()).log(Level.SEVERE, null, ex);
 } catch (CannotRealizeException ex) {
 Logger.getLogger(form_webcam.class.getName()).log(Level.SEVERE, null, ex);
 }

 }

private void initcamera() throws IOException, NoPlayerException, CannotRealizeException{
 MediaLocator mlocator = new MediaLocator("vfw://0");
 player = Manager.createRealizedPlayer(mlocator);

this.jToggleButton1.add(player.getVisualComponent());
 player.start();
 }

private void setimagebutton(JToggleButton button, Image image){
 button.setIcon(new ImageIcon(image));
 }

/** This method is called from within the constructor to
 * initialize the form.
 * WARNING: Do NOT modify this code. The content of this method is
 * always regenerated by the Form Editor.
 */
 @SuppressWarnings("unchecked")
 // <editor-fold defaultstate="collapsed" desc="Generated Code">
 private void initComponents() {

jToggleButton1 = new javax.swing.JToggleButton();
 jToggleButton2 = new javax.swing.JToggleButton();
 jButton1 = new javax.swing.JButton();
 jButton2 = new javax.swing.JButton();
 jLabel1 = new javax.swing.JLabel();
 jLabel2 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
 setBackground(new java.awt.Color(0, 153, 204));

jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/skawebcam/capture.png"))); // NOI18N
 jButton1.setText("Capture");
 jButton1.addActionListener(new java.awt.event.ActionListener() {
 public void actionPerformed(java.awt.event.ActionEvent evt) {
 jButton1ActionPerformed(evt);
 }
 });

jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/skawebcam/save.png"))); // NOI18N
 jButton2.setText("Save");
 jButton2.addActionListener(new java.awt.event.ActionListener() {
 public void actionPerformed(java.awt.event.ActionEvent evt) {
 jButton2ActionPerformed(evt);
 }
 });

jLabel1.setText("Sandru Kharisma");

jLabel2.setText("49013100");

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
 getContentPane().setLayout(layout);
 layout.setHorizontalGroup(
 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 .addGroup(layout.createSequentialGroup()
 .addContainerGap()
 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 .addGroup(layout.createSequentialGroup()
 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 .addGroup(layout.createSequentialGroup()
 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, 112, Short.MAX_VALUE)
 .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 112, Short.MAX_VALUE)
 .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.TRAILING))
 .addGap(71, 71, 71))
 .addGroup(layout.createSequentialGroup()
 .addComponent(jLabel1)
 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
 .addComponent(jToggleButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE))
 .addComponent(jToggleButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 353, javax.swing.GroupLayout.PREFERRED_SIZE))
 .addContainerGap())
 );
 layout.setVerticalGroup(
 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 .addGroup(layout.createSequentialGroup()
 .addContainerGap()
 .addComponent(jToggleButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 194, javax.swing.GroupLayout.PREFERRED_SIZE)
 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
 .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
 .addGap(18, 18, 18)
 .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
 .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
 .addComponent(jLabel1)
 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 .addComponent(jLabel2))
 .addGroup(layout.createSequentialGroup()
 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 .addComponent(jToggleButton2, javax.swing.GroupLayout.DEFAULT_SIZE, 159, Short.MAX_VALUE)))
 .addContainerGap())
 );

pack();
 }// </editor-fold>

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
 // TODO add your handling code here:
 FrameGrabbingControl fgc = (FrameGrabbingControl) player.getControl("javax.media.control.FrameGrabbingControl");
 Buffer buffer = fgc.grabFrame();
 BufferToImage bimage = new BufferToImage((VideoFormat) buffer.getFormat());
 Image image = bimage.createImage(buffer);

JIResizeImage resize = new JIResizeImage();
 BI = (BufferedImage) image;
 Image image2 = resize.rescale(BI, 30);

this.setimagebutton(jToggleButton2, image2);
 }

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
 // TODO add your handling code here:
 FileDialog fd = new FileDialog(form_webcam.this, "Save File", FileDialog.SAVE);
 fd.show();
 if (fd.getFile() != null){
 namafile = fd.getDirectory() + fd.getFile() + ".jpg";
 try {
 File buat = new File(namafile);
 try {
 ImageIO.write(BI, "jpg", buat);
 } catch (Exception ex) {
 Logger.getLogger(form_webcam.class.getName()).log(Level.SEVERE, null, ex);
 }

} catch (Exception e) {
 }
 }
 }

/**
 * @param args the command line arguments
 */
 public static void main(String args[]) {
 java.awt.EventQueue.invokeLater(new Runnable() {
 public void run() {
 new form_webcam().setVisible(true);
 }
 });
 }

// Variables declaration - do not modify
 private javax.swing.JButton jButton1;
 private javax.swing.JButton jButton2;
 private javax.swing.JLabel jLabel1;
 private javax.swing.JLabel jLabel2;
 private javax.swing.JToggleButton jToggleButton1;
 private javax.swing.JToggleButton jToggleButton2;
 // End of variables declaration

}

Berikut ini video tutorial pembuatan aplikasinya :

Menambahkan library file .jar pada Java Netbeans

Pada tulisan ini saya akan coba berbagi bagaimana cara menambahkan library yang ber-ekstensi jar pada project yang ada pada Netbeans. Terkadang kita membutuhkan library tambahan untuk kebutuhan suatu project misalnya saja library untuk format font pada aplikasi notepad menggunakan java. Langsung saja berikut langkah-langkahnya:

  1. Buka Netbeans, selanjutnya pada project yang ingin ditambahkan library, klik project yang akan ditambahkan library. Pada project terdapat folder library, klik kanan folder tersebut lalu pilih Add Jar/folder

1          2. Selanjutnya pilih file jar pada komputer/laptop anda  yang akan ditambahkan pada project.

2

 

 

Sekian tutorialnya semoga bermanfaat ^_^

Update Linux di Jaringan yang Menggunakan Proxy

Untuk jaringan yang tidak ada proxy, update linux menggunakan perintah :

apt-get update

atau

sudo apt-get upate

Untuk jaringan yang menggunakan proxy, kita harus setting proxy untuk jaringan yang kita gunakan. Langkah-langkah yang digunakan yaitu buka terminal linux, selanjutnya masukkan masukkan syntax untuk penggunaan proxy-nya. Pada kasus ini saya menggunakan jaringan/ Hospot ITB, berikut ini syntax yang digunakan:

Yang tidak menggunakan username dan password:


export http_proxy="http://proxy yang digunakan:port proxy"

Menggunakan username dan password:

export http_proxy="http://username:password@proxy yang digunakan:port proxy"

//contoh

export http_proxy="http://sandroe:kosong@cache.itb.ac.id:8080"

Untuk type HTTPS dan FTP cukup ganti http dengan https/ftp. Sekian tutorialnya…Semoga membantu 😀