24 Feb 2015
Sudah sebulan ini laptop saya lemot.
Apa maksudnya lemot? Seperti apa yang dibilang lemot?
Pada waktu kuliah dulu, di tahun 1999, komputer saya spesifikasinya Pentium 233 MMX dengan RAM 32 MB (Mega, bukan Giga). Dia berjalan cukup responsif dengan sistem operasi Windows 98 SE. Di tahun 2000, Microsoft merilis Windows 2000 Professional. Saya instal di komputer saya tersebut, dan dia langsung lemot seperti bekicot.
Gambar diambil dari sini
Laptop saya sekarang ini spesifikasinya cukup mumpuni, yaitu sebagai berikut:
- Processor Pentium Core i5
- RAM 8 GB
- Solid State Disk Corsair 128 GB
Laptop tersebut diinstal Ubuntu 14.04 yang selalu up-to-date dengan partisi /home
terpisah dan terenkripsi.
Dengan spesifikasi tersebut, normalnya laptop saya ini bekerja sekejap mata. Tekan tombol power, sekejap mata muncul halaman login. Isikan password, sekejap mata muncul desktopnya. Klik icon Chrome, dalam sekejap Gmail sudah tersaji. Nah, sudah sebulan ini dia lemot, seperti Pentium 233 MMX yang diinstal Windows 2000 Professional dulu.
Berikut langkah-langkah yang saya tempuh sampai akhirnya menemukan solusinya, sebulan kemudian ;)
Lanjut membaca ...
24 Feb 2015
Membuat kandang ayam berbeda dengan membuat rumah. Demikian pula membuat rumah berbeda dengan membangun mall. Jumlah pekerja yang terlibat jauh berbeda. Keragaman bahan baku dan peralatannya tidak sama. Kita cuma membutuhkan beberapa papan kayu, paku, dan palu dalam membuat kandang ayam. Tapi tentunya kita tidak bisa menggunakan bahan, alat, dan cara kerja yang sama dalam pembangunan gedung.
Hal yang sama berlaku di pembuatan software. Untuk tugas kuliah, cukup install Netbeans atau Eclipse, kita bisa kerjakan aplikasi sampai selesai. Akan tetapi, untuk membangun aplikasi besar, dibutuhkan persenjataan yang lebih lengkap, diantaranya:
- version control
- build tools
- automated testing
- continuous integration
- issue tracker
- dan lain sebagainya
Dalam artikel ini, kita akan membahas tentang apa itu build tools, mengapa kita gunakan, dan bagaimana cara menggunakannya.
Lanjut membaca ...
13 Feb 2015
Pengen cepat jadi expert?
Caranya sederhana. Cukup bikin blog, kemudian konsisten menulis tentang topik tertentu paling tidak seminggu sekali.
Waduh, menulis itu sulit. Apalagi konsisten.
Makanya saya bilang sederhana, bukan mudah :)
Sebetulnya membuat blog jaman sekarang sudah semakin mudah dan murah. Tanpa keluar uang sepeserpun kita sudah bisa punya blog bagus. Desain tampilan juga banyak tersedia free. Bahkan desain gratis tersebut sudah responsive, artinya tetap bagus dilihat dari berbagai ukuran layar.
Setelah blog kita jadi, tempat menaruhnya pun gratis. Beberapa yang populer diantaranya: wordpress, tumblr, dan lain sebagainya.
Buat kita para programmer, tersedia juga aplikasi blog yang geeky, diantaranya jekyll, octopress (dibangun di atas jekyll), middleman, ghost, dan teman-temannya.
Berbagai aplikasi yang saya sebutkan di atas memiliki kesamaan, semuanya adalah static content generator. Artinya, dia mengkonversi tulisan kita menjadi HTML. File HTML tersebut tinggal kita upload ke webserver merek apapun. Dia juga tidak butuh database server. Ini akan sangat menyederhanakan kebutuhan di sisi server.
Pada artikel ini, kita akan membahas cara membuat blog menggunakan Jekyll dan kemudian memasangnya di PaaS provider Openshift.
Lanjut membaca ...
16 Dec 2014
Masih dari pertanyaan di grup Facebook, berikut kode programnya (saya edit sedikit supaya sesuai)
Alternatif Pertama
public class CobaPertama (){
String a;
public void coba1(){
a = "ari";
System.out.println(a);
}
public void coba2(){
a = "ira";
System.out.println(a);
}
}
Alternatif Kedua
public class CobaKedua (){
public void coba1(){
String a = "ari";
System.out.println(a);
}
public void coba2(){
String a = "ira";
System.out.println(a);
}
}
Pertanyaannya sebagai berikut
lebih cepatan mana y masta performance aplikasi yg entar kt buat
Lanjut membaca ...
16 Dec 2014
Ada pertanyaan di grup Facebook yang cukup menarik untuk kita bahas di sini. Sample code yang ditanyakan saya modifikasi sedikit supaya lebih cocok.
Class Mahasiswa
public class Mahasiswa {
private String nama;
private Date tanggalLahir;
private JenisKelamin jenisKelamin;
// getter setter
}
public enum JenisKelamin{
PRIA, WANITA
}
Class SimpanMahasiswaServlet
public class SimpanMahasiswaServlet extends HttpServlet {
private MahasiswaDao md = new MahasiswaDao();
public void doPost(HttpServletRequest req, HttpServletResponse resp){
Mahasiswa m = new Mahasiswa();
m.setNama(req.getParameter("nama"));
SimpleDateFormat formatTanggal = new SimpleDateFormat("yyyy-MM-dd");
m.setTanggalLahir(formatTanggal.parse(req.getParameter("tanggal")));
m.setJenisKelamin(JenisKelamin.valueOf(req.getParameter("jenis")));
md.simpan(m);
}
}
Class MahasiswaDao
public class MahasiswaDao {
public void simpan(Mahasiswa m){
String sql = "INSERT INTO mahasiswa values (?,?,?)";
PreparedStatement ps = koneksi.prepareStatement(sql);
ps.setString(1, m.getNama());
ps.setDate(2, new java.sql.Date(m.getTanggalLahir().getTime()));
ps.setString(3, m.getJenisKelamin().name());
ps.executeUpdate();
}
}
Pertanyaan : Lebih kenceng mana contoh kode di atas (menggunakan class Mahasiswa) dibandingkan langsung saja pakai Map/Array ?
Supaya lebih jelas, berikut contoh yang pakai array.
public class SimpanMahasiswaServlet extends HttpServlet {
private MahasiswaDao md = new MahasiswaDao();
public void doPost(HttpServletRequest req, HttpServletResponse resp){
String[] m = new String[3];
m[0] = req.getParameter("nama");
m[1] = req.getParameter("tanggal");
m[2] = req.getParameter("jenis");
md.simpan(m);
}
}
Class MahasiswaDao
public class MahasiswaDao {
public void simpan(String[] m){
String sql = "INSERT INTO mahasiswa values (?,?,?)";
PreparedStatement ps = koneksi.prepareStatement(sql);
for(int i=0; i<m.length; m++){
ps.setString(i, m[i]);
}
ps.executeUpdate();
}
}
Pembuatan class Mahasiswa
di atas merupakan salah satu implementasi prinsip encapsulation
dalam OOP. Class Mahasiswa
disebut dengan istilah domain class, yaitu class yang dibuat untuk memodelkan kasus yang akan dibuat.
Lanjut membaca ...