by Abu Zubayr

Perlukah Maintenance Sebuah Website ?

perlukah maintenance sebuah website ?

Setelah tahapan pembuatan website selesai, selanjutnya customer ditawarkan oleh penyedia jasa layanan (web developer) untuk memakai jasa maintenance ataupun tidak. Jika tidak ingin menggunakan jasa maintenance, maka customer hanya perlu membayar domain dan hosting yang ia sewa saja. Akan tetapi bisakah sesederhana itu untuk sebuah website yang diharapkan akan mendongkrak sebuah bisnis atau membuat website tersebut dibanjiri pengunjung tanpa adanya maintenance ? Jawabannya tentu saja tidak bisa.

Customer yang tidak menggunakan jasa maintenance dari web developer berarti ia harus memiliki seorang karyawan yang menguasai hal-hal yang berhubungan dengan web server, mail server, pemrograman, desain dan hal-hal teknis lainnya. Untuk mempekerjakan seorang karyawan yang menguasai hal-hal tersebut tentu ia harus merogoh kocek yang lumayan besar karena untuk gaji seorang yang memiliki keahlian seperti itu berkisar antara 4 – 6 juta, dan bisa saja lebih. Hal ini tentu berbeda dengan menggunakan jasa maintenance dari web developer yang harganya jauh lebih murah. Baiklah, sebelum masuk lebih jauh mengenai maintenance dan apa saja didalamnya, kita harus mengetahui terlebih dahulu pengertian dari maintenance dan web maintenance itu sendiri.

Menurut Lindley R.Higgins & R.Keith Mobley “Maintenance atau pemeliharaan adalah suatu kegiatan yang dilakukan secara berulang-ulang dengan tujuan agar peralatan selalu memiliki kondisi yang sama dengan awalnya. Maintenance juga dilakukan untuk menjaga peralatan tetap berada dalam kondisi yang dapat diterima oleh penggunanya”.

Maintenance website atau web maintenance adalah jasa pengelolaan website yang diberikan oleh web developer dimana pada masa maintenance tersebut website akan dipantau dan dikelola secara rutin, baik aktivitas yang bersifat teknis maupun non-teknis.

Dengan adanya maintenance, sebuah website akan senantiasa ter-update baik dari segi core engine pada website berbasis cms, keamanan dan lain sebagainya. Menggunakan jasa maintenance website tentu akan lebih efektif dan efisien karena website anda akan dikelola oleh sesorang yang memang profesional dibidangnya.

Beberapa alasan sebuah website, khususnya yang berbasis cms perlu dilakukan maintenance adalah sebagai berikut :
  1. Website berbasis konten (CMS) seperti Joomla, Wordpress, Drupal dan sebagainya setiap saat perlu dilakukan update core engine, plugin, module, template dan eksistensi lainnya. Proses peng-update-an ini perlu dilakukan agar meningkatkan kinerja website lebih baik lagi karena memiliki sejumlah fitur terbaru.
  2. Tingkat keamanan akan terpantau dan ditingkatkan dengan baik. Jika suatu saat mengalami gangguan seperti serangan hacker, halaman tak ditemukan dan gangguan-gangguan lainnya, maka akan segera diatasi dengan baik oleh seseorang yang profesional.
  3. Konten berupa (berita, artikel dan lain sebagainya) akan senantiasa ter-update sehingga membuat pengunjung merasa kecanduan mengunjungi website anda untuk mendapatkan informasi terbaru. Hal ini jika dilakukan maka secara otomatis maka akan meningkatkan citra yang lebih baik bagi bisnis/usaha/instansi anda.
  4. Terkadang juga terdapat komentar-komentar yang kurang baik dari para pengunjung website. Maka jika dilakukan maintenance secara teratur, komentar-komentar tersebut akan segera dibersihkan sehingga tidak mengganggu pengunjung-pengunjung lain.
  5. Mampu meningkatkan jumlah pengunjung dengan melakukan optimasi-optimasi khusus pada website.

Adapun yang akan dilakukan oleh web developer pada saat proses maintenance berlangsung adalah :
  1. Menjaga keamanan website dari hal-hal yang tidak diinginkan seperti serangan hacker dan sebagainya. Sehingga pada saat hal itu terjadi, proses perbaikan akan segera dilakukan.
  2. Update eksistensi setiap ada fitur terbaru yang disediakan oleh penyedia eksistensi tersebut.
  3. Mengelola konten seperti melakukan (penambahan, perubahan dan penghapusan) konten jika customer tidak sempat untuk melakukannya. Jadi customer hanya perlu mengirimkan konten yang akan dimasukkan kemudian selanjutnya akan diproses lebih lanjut agar konten tersebut lebih SEO friendly.
  4. Optimasi kecepatan akses website.
  5. Backup data secara rutin.
  6. Update gambar dan galeri foto, menu, sidebar dan peletakan posisi masing-masing modul sesuai dengan yang anda inginkan.
  7. Optimasi SEO on Page dan SEO off Page.
  8. Memasang iklan afiliasi jika ada customer atau orang yang ingin memasangnya di website anda jika diinginkan.
  9. Memasang iklan-iklan tertentu seperti google adsense dan sebagainya jika website tersebut sudah memenuhi syarat yang ditentukan oleh penyedia iklan jika diinginkan.
    Pemasangan iklan ini tentu akan menjadi pendapatan lain bagi customer tersebut selain dari pendapatan yang didapatkan dari bisnis/usaha yang sedang ia jalankan.

Selain hal-hal diatas tentunya bisa ditambahkan lagi sesuai dengan keinginan customer. Pada umumnya web developer menyediakan paket-paket tertentu untuk jasa maintenance yang bisa dipilih oleh customer mereka. Semakin banyak dan bagus fitur yang diberikan, maka semakin mahal pulalah pengeluaran untuk membayar jasa maintenance itu sendiri. Maka sesuaikanlah dengan budget yang anda miliki untuk menggunakan jasa maintenance.
Jadi jangan hanya membeli website, tapi gunakan jugalah jasa maintenance dari web developer, karena banyak sekali manfaat yang didapat dari proses maintenance tersebut bagi anda seperti yang telah saya jelaskan diatas.
Share:

Mengambil Key dari Map Java

mengambil Key dari Map Java

Bismillah…

Pada saat menggunakan kelas collections Map dan HashMap, terkadang kita ingin mengambil key-nya saja bukan value-nya. Kelas HashMap maupun interface Map tidak menyediakan method yang secara khusus digunakan untuk mengambil key-nya. Nah, cara untuk mengambil key tersebut adalah dengan membuat method sendiri yang akan me-return key bersangkutan yang terdapat pada list Map tersebut.

Berikut adalah contoh method yang dibuat untuk mengambil key dari Map yang kita buat.

public Object getKey(Map map, Object nilai){
        for(Object key:map.keySet()){
            if(map.get(key).equals(nilai))
                return key;
        }
        return null;
}
Untuk menggunakan method diatas caranya adalah sebagai berikut :

String key = (getKey(map, "ANDI").toString(); // contoh untuk key dengan tipe data String
int key = Integer.valueOf(getKey(map, 5).toString());// contoh untuk key dengan tipe data int
double key = Double.valueOf(getKey(map, 0.5).toString());// contoh untuk key dengan tipe data double
Share:

Unique Input dengan Map dan HashMap Java

unique input dengan Map dan HashMap java

Bismillah…

Pada suatu kondisi terkadang kita diminta untuk membuat sebuah program dimana data yang dimasukkan kedalam sebuah list tidak boleh terjadi duplikasi. Hal ini semacam primary key pada database, hanya saja disini kita diminta untuk langsung memasukkannya kedalam aplikasi yang kita buat. Nah, pada bahasa pemrograman java untuk memasukkan data tersebut kita bisa memanfaatkan kelas collections Map dan HashMap.

HashMap merupakan kelas implementasi dari Map, dimana kelas Map itu sendiri digunakan untuk memetakan nilai dengan key unique. HashMap berfungsi sebagai memory record yang dapat disimpan dalam sebuah Map.

Disini saya akan memberikan contoh cara memasukkan data mahasiswa dimana key yang sama tidak akan dimasukkan lagi.

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

/* 
data dengan id 1101 tidak akan dimasukkan dua kali, 
dan data yang dengan id 1101 yang diambil adalah data yang terakhir ditambahkan
*/

public class CollectionMap {
    private Map mhs = new HashMap<>();
    
    public CollectionMap(){
        mhs.put("1101", "ANDI");
        mhs.put("1102", "DONI");
        mhs.put("1103", "ALAM");
        mhs.put("1104", "DERI");
        mhs.put("1101", "ANDI");
                
        Iterator it = mhs.entrySet().iterator(); 
        while(it.hasNext())
            System.out.println(it.next());
        
        System.out.println("\nMahasiswa dengan nim 1101 adalah "+mhs.get("1101"));
    }
    
    public static void main(String[]args){
        new CollectionMap();
    }
}

Pada program diatas terdapat method put yang digunakan untuk memasukkan data kedalam list data. Kemudian untuk menampilkan seluruh data yang terdapat pada list tersebut saya gunakan interface Iterator. Sementara method get digunakan untuk mengambil nilai berdasarkan key.
Share:

Algoritma Naive Bayes Classifier Menggunakan Java

algoritma naive bayes classifier menggunakan java
Bismillah…

Sempat pada beberapa waktu yang lalu ada pengunjung blog saya meminta untuk membahas sebuah materi tentang algoritma Naive Bayes. Kemudian dialanjutkan dengan membuat contoh perhitungan sederhana algoritma tersebut menggunakan bahasa java. Dan alhamdulillah, sekarang saya bisa menyempatkan waktu untuk menulis materi yang dimintanya tersebut.

Seperti diketahui bahwa Naive Bayes adalah salah satu machine learning yang sampai saat ini masih digunakan untuk kasus klasifikasi data. Naive Bayes ditemukan oleh seorang ilmuan Inggris bernama Thomas Bayes. Pada perhitungannya, Naive Bayes menggunakan probabilitas dengan konsep dasar Teorema Bayes, yaitu teorema dalam ilmu statistik untuk menghitung peluang sebuah kejadian.

Teori Bayesian : Sebagai Dasar
  • X adalah data sampel dengan kelas (label) yang tidak diketahui
  • adalah hipotesa bahwa X adalah data dengan kelas (label) C. P(H) adalah peluang dari hipotesa H.
  • P(X) adalah peluang data sampel yang akan diamati.
  • P(X|H) merupakan peluang data sampel X, bila diasumsikan bahwa hipotesa benar (valid).
  • Untuk masalah klasifikasi, yang dihitung adalah P(H|X), yaitu peluang bahwa hipotesa benar (valid) untuk data sampel yang diamati :


Berikut ini adalah contoh sampel data yang akan kita gunakan untuk perhitungan algoritma Naive Bayes.
Age
Income
Student
Credit Rating
Buy Com
<=30
high
no
fair
no
<=30
high
no
excellent
no
31 s.d 40
high
no
fair
yes
>40
medium
no
fair
yes
>40
low
yes
fair
yes
31 s.d 40
low
yes
excellent
yes
<=30
medium
no
fair
no
<=30
low
yes
fair
yes
>40
medium
yes
fair
yes
<=30
medium
yes
excellent
yes
31 s.d 40
medium
no
excellent
yes
31 s.d 40
high
yes
fair
yes
>40
medium
no
excellent
no

Kemudian jika ada sebuah data baru yang belum memiliki kelas misalnya : x = (age<=30, income = medium, student = yes, credit_rating = fair), maka kelas dari data baru ini dapat dicari dengan cara berikut :
  • Hitung P(Xk|Ci) untuk setiap kelas i :
    P(age<=30 | buy_com = yes) = 2/9 = 0.222
    P(age<=30 | buy_com = no) = 3/5 = 0.6
    P(income = medium | buy_com = yes) = 4/9 = 0.444
    P(income = medium | buy_com = no) = 2/5 = 0.4
    P(student = yes | buy_com = yes) = 6/9 = 0.667
    P(student = yes | buy_com = no) = 1/5 = 0.2
    P(credit_rating = fair | buy_com = yes) = 6/9 = 0.667
    P(credit_rating = fair | buy_com = no ) = 2/5 = 0.4


  • Hitung P(X|Ci) untuk setiap kelas.
    P(X|buy_com = yes) = 0.222*0.444*0.667*0.667 = 0.044
    P(X|buy_com = no) = 0.6*0.4*0.2*0.4 = 0.019
  • P(X|Ci) * P(Ci)
    P(X|buy_com = yes) * P(buy_com = yes) = 0.028
    P(X|buy_com = no) * P(buy_com = no) = 0.007
  • Sehingga diketahui kelas dari data yang dimasukkan berada pada kelas (yes) karena memiliki nilai probabilitas yang besar.

Nah, sesudah tahu langkah perhitungannya selanjutnya adalah implementasi algoritma diatas kedalam program java. Data sampel diatas akan kita ambil dari database langsung. Untuk mengunduh data tersebut dalam format .sql bisa membuka link ini http://adf.ly/1fy60F. Jika sudah langsung saja kita ikuti langkah-langkah pembuatannya :

  1. Terlebih dahulu buat kelas Koneksi.java yang digunakan untuk koneksi ke database yang di unduh tadi dan masukkan kode dibawah ini.
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    public class Koneksi {
        public static Connection getConnection(){
            Connection con=null;
            try{
                Class.forName("com.mysql.jdbc.Driver");
                con=DriverManager.getConnection("jdbc:mysql://localhost:3306/bayes","root","");
            }
            catch(ClassNotFoundException | SQLException e){
                e.printStackTrace();
            }
            return con;
        }
    }
    
    Untuk nama database, sesuaikan dengan database yang telah anda buat sebelumnya.
  2. Setelah itu buat lagi sebuah kelas dengan nama Key.java. Kelas ini digunakan untuk memasukkan informasi kelas atau label yang terdapat pada database.
    
    public class Key {
        private int k;
        private String info;
        private double value;
    
        public Key(){
            this.k = 0;
            this.info = null;
            this.value = 0;
        }
        public Key(int k, String info){
            this.k = k;
            this.info = info;
        }
    
        public Key(int k, String info, double value){
            this.k = k;
            this.info = info;
            this.value = value;
        }
    
        public int getK(){
            return k;
        }
    
        public String getInfo(){
            return info;
        }
    
        public double getValue(){
            return value;
        }
    
        public void setK(int k) {
            this.k = k;
        }
    
        public void setInfo(String info) {
            this.info = info;
        }
    
        public void setValue(double value) {
            this.value = value;
        }
    }
    


  3. Setelah itu selanjutnya adalah membuat kelas inti yang memuat algoritma Naive Bayes. Nama kelas ini beri saja dengan nama Bayes.java.
    
    import java.text.DecimalFormat;
    import java.util.ArrayList;
    
    public class Bayes {
        private Object[][] data;
        private Object[] category;
        private Object[][] input;
        private double[][] temp;
        public ArrayList key = new ArrayList<>();
        private DecimalFormat df = new DecimalFormat("#.####");
        public ArrayList dataBaru = new ArrayList<>();
    
        public Bayes(Object[][] data, Object[] category, Object[][] input, int label, int jlhAtt){
            this.data = data;
            this.category = category;
            this.input = input;
            temp = new double[label][jlhAtt];
        }
    
        public void classify(int sum[]){
            int label[];
            int total = 0;
            for(int t = 0; t < sum.length; t++)
                    total+=sum[t];
            
            for(int k = 0; k < input.length; k++){
                for(int y = 0; y < input[k].length; y++){
                    label = new int[sum.length];                
                    for(int i = 0; i < data.length; i++){
                        for(int j = 0; j < data[i].length; j++){
                            if(data[i][j].equals(input[k][y])){
                                for(int v = 0; v < key.size(); v++)
                                    if(category[i].equals(key.get(v).getInfo()))
                                        label[key.get(v).getK()]++;                           
                            }
                        }
                    }
                    
                    //P(Xk|Ci)
                    for(int l = 0; l < label.length; l++){
                            temp[l][y] = (double)label[l]/sum[l];                       
                            System.out.println("P(Xk|Ci) variabel ke "+(y+1)+" = "
                                    + "("+(double)label[l]+"/"+sum[l]+"="+df.format(temp[l][y])+")");
                    }
                    System.out.println("------------------------------------------");
                }
    
                // P(X|Ci)
                double X[] = new double[sum.length];
                for(int i = 0; i < temp.length; i++){
                    for(int j = 0; j < temp[i].length; j++){
                        if(j!=0) // (47)
                            X[i] *= (double)temp[i][j];
                        else
                            X[i] = (double)temp[i][j]; 
                    }
                    System.out.println("P(X|Ci) : kelas ke ("+(i+1)+") = "+df.format(X[i]));
                }
                System.out.println("------------------------------------------");
                // P(X|Ci) * P(Ci)
                double c[] = new double[sum.length];
                for(int i = 0; i < X.length; i++){
                    c[i] = (double)sum[i]/total;                
                }
                addNewLabel(c, X, k);
            }
        }
    
        public void addNewLabel(double c[], double X[], int k){
            double max = -1;
            String info = "";
            for(int i = 0; i < c.length; i++){
                if(c[i]*X[i] > max){
                    max = c[i]*X[i];
                    info = key.get(i).getInfo();
                }
                if(i==c.length-1)
                    dataBaru.add(new Key(k, info, max));
                
                System.out.println("P(X|Ci) * P(Ci) kelas ke ("+(i+1)+") = "+df.format(c[i]*X[i]));
            }
        }
    
        public ArrayList getNewLabel(){
            return dataBaru;
        }
    }
    


  4. Terakhir buat sebuah kelas dengan nama Main.java untuk mencoba menjalankan algoritma Naive Bayes yang sudah kita buat diatas.
    
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.HashSet;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    
    public class Main {
        private Object[][] data;
        private Object[] category;
        private Object[][] klasifikasi = {{"<=30","medium","yesn","fair"}};// isi data input yang akan di klasifikasi disini
        private HashSet hash = new HashSet<>();    
        int sum[];
        private Bayes b;
        
        public void read_db()throws Exception{
            String Query = "select * from data_bayes";
            Statement st = Koneksi.getConnection().createStatement();
            ResultSet rs = st.executeQuery(Query);
            data = new Object[getRow()][5];
            
            System.out.println("Data :");
            int i = 0;
            while(rs.next()){
                for(int j = 0; j < data[0].length; j++){
                    data[i][j] = rs.getString(j+1);
                    System.out.print(data[i][j]+", ");
                }
                System.out.println();
                i++;
            }
            System.out.println("-----------------------------------");
            category = new Object[data.length];
            for(i = 0; i < data.length; i++){
                category[i] = data[i][data[i].length-1];
                hash.add(String.valueOf(category[i]));
            }        
            sum = new int[hash.size()];        
        }
        
        public void proses(){
            b= new Bayes(data, category, klasifikasi, hash.size(), 4);        
            if(!b.dataBaru.isEmpty()){
                b.dataBaru.clear();
                b.key.clear();
            }
            int idx = 0;
            for(String s:hash){
                for(int ii = 0; ii < category.length; ii++){
                    if(s.equals(String.valueOf(category[ii]))){
                        sum[idx]+=1;
                    }
                }
                b.key.add(new Key(idx, s));
                idx++;
            }
            b.classify(sum);
            System.out.println("\nHasil Klasifikasi :");
            int row = 0;
            for(Key key:b.getNewLabel()){
                System.out.println("Data ke "+(row+1)+" diklasifikasikan ke kelas :\t"+key.getInfo());
                row++;
            }
        }
        
        public Main(){
            try {
                read_db();
                proses();
            } catch (Exception ex) {
                Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        
        public int getRow()throws Exception{
            int row = 0;
            String Query = "SELECT COUNT(*) as baris FROM data_bayes";
            Statement st = Koneksi.getConnection().createStatement();
            ResultSet rs = st.executeQuery(Query);
            while(rs.next())
                row = rs.getInt("baris");
            st.close();
            rs.close();
            return row;
        }
        
        public static void main(String[]args){
            new Main();
        }
    }
    


  5. Setelah dijalankan terlihat hasilnya seperti gambar dibawah ini :
    hasil running naive bayes

Demikianlah tutorial Algoritma Naive Bayes Classifier Menggunakan Java. Semoga ada manfaatnya bagi anda dan saya. Jika ada pertanyaan mengenai tutorial diatas, silahkan bertanya melalui form komentar dibawah. Kemudian jika ingin meng-update secara rutin artikel yang kami posting dari blog ini, silahkan isi email anda pada isian Follow by Email dibawah.
Project program diatas bisa anda unduh melalui link ini http://adf.ly/1fusYL.

Terima kasih... wassalam
Share:

Cara Menghitung Umur Menggunakan Java

Bismillah…

Pada tutorial ini saya akan memberikan cara bagaimana menghitung umur menggunakan java. Perhitungan umur ini nanti bisa digunakan untuk mengetahui usia seseorang, barang ataupun masa jabatan yang umumnya digunakan pada aplikasi penggajian. Baiklah, berikut adalah tutorial Cara Menghitung Umur Menggunakan Java.

  1. Buat sebuah kelas misal dengan nama “Umur”.
  2. Deklarasikan variabel dibawah ini terlebih dahulu di dibawah kelas tersebut.
    private int th_start; 
    private int bln_start; 
    private int tgl_start;    
    private int tgl_end; 
    private int th_end;
    private int bln_end;
    private int th_hasil=0;
    private int bln_hasil=0;
    private int tgl_hasil=0;
    private SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");

  3. Kemudian buat sebuah constructor dengan 2 parameter seperti gambar dibawah ini.
    public Umur(Calendar start, Calendar end){
            String split_start[] = sdf.format(start.getTime()).split("-");
            th_start = Integer.valueOf(split_start[2]);
            bln_start = Integer.valueOf(split_start[1]);
            tgl_start = Integer.valueOf(split_start[0]);
            
            String split_end[] = sdf.format(end.getTime()).split("-");
            tgl_end = Integer.valueOf(split_end[0]);
            bln_end = Integer.valueOf(split_end[1]);
            th_end = Integer.valueOf(split_end[2]);        
    }
     

  4. Buat sebuah method dibawah ini untuk proses perhitungan umur.
       public void hitung_umur(){
            if ((tgl_end > tgl_start) && (bln_end > (bln_start - 1))){
                tgl_hasil = tgl_start + 30 - tgl_end;
                bln_hasil = (bln_start - 1) + 12 - bln_end;
                th_hasil = (th_start - 1) - th_end;
            }
            else if ((tgl_end > tgl_start) && (bln_end <= (bln_start - 1))){
                tgl_hasil = tgl_start + 30 - tgl_end;
                bln_hasil = bln_start - 1 - bln_end;
                th_hasil = th_start - th_end;
            }
            else if ((tgl_end <= tgl_start) && (bln_end > bln_start)){
                tgl_hasil = tgl_start - tgl_end;
                bln_hasil = bln_start + 12 - bln_end;
                th_hasil = (th_start - 1) - th_end;
            }
            else {
                tgl_hasil = tgl_start - tgl_end;
                bln_hasil = bln_start - bln_end;
                th_hasil = th_start - th_end;
            }
        }
    

  5. Override method toString dan masukkan kode dibawah.
        @Override
        public String toString(){
            String detail = "";
            if(th_hasil>0)
                detail+=th_hasil+" tahun ";
            if(bln_hasil>0)
                detail+=bln_hasil+" bulan ";
            if(tgl_hasil>0)
                detail+=tgl_hasil+" hari";
            if(detail.equals(""))
                detail = "-";
            return detail;
        }
    

  6. Contoh penggunaan kode diatas adalah sebagai berikut.
    public static void main(String[]args){
            Calendar start = Calendar.getInstance();
            start.set(2016+1900, 11, 15);//set tahun awal
            
            Calendar end = Calendar.getInstance();
            end.set(1992+1900, 12, 26);//set tahun akhir
            
            Umur umur = new Umur(start, end);
            umur.hitung_umur();
            System.out.println(umur.toString());
    }
    

Demikianlah tutorial Cara Menghitung Umur Menggunakan Java. Semoga ada manfaatnya bagi anda dan saya. Jika ada pertanyaan mengenai tutorial diatas, silahkan bertanya melalui form komentar dibawah. Kemudian jika ingin meng-update secara rutin artikel yang kami posting dari blog ini, silahkan isi email anda pada isian Follow by Email dibawah.
Kelas Umur.java diatas bisa diunduh melalui link ini jika diperlukan.

Terima kasih... wassalam
Share:

Membuat Konfigurasi Melalui File Properties dari Aplikasi Java

membuat konfigurasi melalui file properties dari aplikasi java

Bismillah…

Pada saat pembuatan aplikasi yang kompleks, terkadang kita membutuhkan konfigurasi dari luar terhadap aplikasi tersebut. Entah itu berupa konfigurasi database, direktori laporan dan atau yang lainnya. Dengan konfigurasi ini kita mampu membuat aplikasi lebih dinamis yang bisa di kontrol dari luar aplikasi itu sendiri. Misalnya untuk konfigurasi database, apabila terjadi perubahan nomor port, username, password atau atribut lainnya kita tak perlu menulis ulang pada kode program. Akan tetapi kita cukup mengubah isi yang ada pada file konfigurasi tersebut, yang selanjutnya dibaca nilai yang ada pada konfigurasi itu sendiri.

Pada bahasa pemrograman java, untuk membuat file konfigurasi kita bisa memanfaatkan kelas Properties yang berada pada package java.util. Pada tutorial ini saya akan memberikan contoh sederhana yaitu melakukan konfigurasi database. Tutorial ini kita mulai dari tahap pembuatan file konfigurasi, kemudian dilanjutkan dengan membaca sekaligus mengambil nilai properti yang dibuat. Baiklah, langsung saja kita masuki langkah-langkahnya :

  1. Buat sebuah kelas, misalnya dengan nama “Config”.
  2. Pada kelas tersebut buat 2 buah method untuk menyimpan serta membuka file properti. Method yang digunakan untuk menyimpan misalnya dengan nama “save_config” dan untuk membuka “load_config”. Kedua-dua method tersebut adalah method void.
  3. Kemudian deklarasi terlebih dahulu variabel berikut pada kelas Config.java.
        private String db_name;
        private String username;
        private String password;
        private int port;    
        private Properties prop = new Properties();
        File file = new File("D:/");// penempatan direktori/folder penyimpanan file konfigurasi
        

  4. Pada method save_config masukkan kode dibawah ini.
        public void save_config(){
     OutputStream output = null;
     try {
                output = new FileOutputStream(file.getAbsolutePath()+"/config_db.properties");// nama file konfigurasi config_db.properties
                File writer = new File(file.getAbsolutePath()+"/config_db.properties");// pembuatan file Objek file ini digunakan untuk mengecek status file
                if(!writer.canWrite()) // untuk mengecek file apakah bisa ditulis atau tidak
                    writer.setWritable(true);// jika file konfigurasi tersebu tak bisa ditulis, maka ubah terlebih dahulu writable menjadi true agar bisa ditulis
                prop.put("db_name", db_name);// method put digunakan untuk menulis file konfigurasi, dengan memuat parameter key dan value.
                prop.put("username", username);
                prop.put("password", password);
                prop.put("port", ""+port);
                prop.store(output, "Konfigurasi MySQL");// method store digunakan untuk menyimpan properti tersebut
                
     } catch (IOException io) {
      io.printStackTrace();
     } finally {
                if (output != null) {
                    try {
                        output.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
     }
        }    

  5. Kemudian untuk membaca isi file konfigurasi diatas pada method load_config tambahkan kode berikut :
       public void load_config(){
     InputStream input = null;
     try {
                input = new FileInputStream(file.getAbsolutePath()+"config_db.properties");
                prop.load(input);// method load digunakan untuk membuka file properties           
                System.out.println("db_name\t\t:"+prop.get("db_name"));// method get digunakan untuk mengambil nilai properti berdasarkan parameter key
                System.out.println("username\t:"+prop.get("username"));
                System.out.println("password\t:"+prop.get("password"));
                System.out.println("port\t\t:"+prop.get("port"));
     } catch (IOException ex) {
                ex.printStackTrace();
     } catch (Exception ex) {
                Logger.getLogger(Config.class.getName()).log(Level.SEVERE, null, ex);
            } finally {
                if (input != null) {
                    try {
                        input.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
     }
        }

  6. Terakhir adalah buat method main untuk menjalankan aplikasi, dan masukkan kode dibawah ini .
       public static void main(String[]args){
            Config con = new Config();
            con.db_name = "my_db";
            con.username = "root";
            con.password = "12345";
            con.port = 3306;        
            con.save_config();
            con.load_config();
        }

  7. Berikut adalah hasil saat program diatas dijalankan.
    hasil run program Config.java

Demikianlah tutorial Membuat Konfigurasi Melalui File Properties dari Aplikasi Java. Semoga ada manfaatnya bagi anda dan saya. Jika ada pertanyaan mengenai tutorial diatas, silahkan bertanya melalui form komentar dibawah. Kemudian jika ingin meng-update secara rutin artikel yang kami posting dari blog ini, silahkan isi email anda pada isian Follow by Email dibawah.
Kelas Config.java diatas bisa diunduh melalui link ini http://adf.ly/1fiLRb jika diperlukan.

Terima kasih... wassalam
Share:

Menulis, Membaca dan Menghapus Windows Registry dari Java

menulis, membaca dan menghapus windows registry dari java
Bismillah…

Bagi anda yang berkutat di sistem operasi Microsoft Windows pasti pernah mendengar yang namanya windows registry. Registry atau windows registry ini merupakan sebuah database yang digunakan untuk menyimpan konfigurasi pada sistem operasi Microsoft Windows. Konfigurasi yang disimpan tersebut bermacam-macam, ada konfigurasi user profile, software yang terinstal, port dan lain-lain. Untuk melihat file konfigurasi registry kita harus masuk terlebih dahulu ke halaman registry editor dengan mengetik “regedit” pada pencarian program atau bisa juga melalui halaman run aplikasi.

Saat kita membuka file tersebut, kita harus mengetahui struktur-struktur file dan folder yang ada didalamnya. Struktur registry itu sendiri terdiri dari Hive, Keys dan Subkeys dan terakhir adalah Value. Jika anda belum mengetahui pengertian struktur diatas, berikut saya berikan sedikit penjelasannya.
  • Hive merupakan struktur percabangan pertama pada registry. Hive terdiri dari HKEY_CURRENT_USER (HKCU), HKEY_LOCAL_MACHINE (HKLM), HKEY_CLASSES_ROOT (HKCR), HKEY_USERS (HKU), HKEY_CURRENT_CONFIG (HKCC) dan HKEY_DYN_DATA (HKDD) yang ditemukan di windows 95/98/ME. Untuk penjelasan mengenai masing-masing cabang hive bisa anda baca melalui artikel lain.
  • Keys merupakan pengatur pengelompokkan dalam registry. Keys ini nantinya akan menampung Values atau SubKeys.
  • Values adalah data yang disimpan dalam Keys atau SubKeys. Ada beberapa jenis values yang bisa disimpan dalam registry, yang paling umum berupa binary, strings dan DWORD.

Setelah mengetahui pengertian dan struktur yang terdapat pada registry, selanjutnya kita akan mencoba membuat program untuk menulis, membaca, dan menghapus windows registry dari java. Sebelum membuat program tersebut, unduh terlebih dahulu kedua library jna-4.2.1.jar dan jna-platform-4.2.1.jar di link berikut ini :
jna-4.2.1.jar : http://adf.ly/1fgjtJ
jna-platform-4.2.1.jar : http://adf.ly/1fgjyr

Jika sudah diunduh library tersebut, langsung kita masuki tutorialnya:
  1. Buat sebuah project baru pada netbeans anda.
  2. Didalam project tersebut buat sebuah kelas baru, misal dengan nama “TestRegistry.java”.
  3. Buat method main pada kelas “TestRegistry.java”.
  4. Tambahkan library yang tadi anda unduh ke dalam project tersebut.
  5. Pertama kita akan mencoba menulis sebuah file registry yang terletak di HKEY_CURRENT_USER (HKCU) pada method main.
    Caranya adalah sebagai berikut :
    • Masukkan kode berikut untuk membuat sebuah sub key baru.
      Advapi32Util.registryCreateKey(WinReg.HKEY_CURRENT_USER, "SOFTWARE\\ini_key_baru");
      SOFTWARE\\ini_key_baru maksudnya pada Hive HKCU akan ditambahkan sebuah sub key baru pada key SOFTWARE dengan nama “ini_key_baru” tersebut.

    • Kemudian untuk mengisi values pada sub key diatas masukkan kode dibawah ini.
      Advapi32Util.registrySetStringValue(WinReg.HKEY_CURRENT_USER, "SOFTWARE\\ini_key_baru", "kode_kunci", "bukadong");
      * Kode diatas digunakan untuk menambahkan values pada sub key ini_key_baru dengan jenis string. Values name diisi dengan “kode_kunci” dan memiliki values bukadong”.

      Advapi32Util.registrySetIntValue(WinReg.HKEY_CURRENT_USER, "SOFTWARE\\ini_key_baru","", 1);
      * Kode diatas digunakan untuk menambahkan values pada sub key ini_key_baru dengan jenis int. Values name dikosongkan dan nanti akan menjadi default dan memiliki values 1.

      Jika anda membuka registry editor maka akan tampak sub key baru yang ditambahkan seperti gambar dibawah ini.
      sub key baru registry editor


  6. Setelah menulis registry baru diatas, selanjutnya adalah kita mencoba membaca values yang terdapat pada sub key tersebut.
    Caranya adalah dengan menambahkan kode dibawah ini.
    String hasil = Advapi32Util.registryGetStringValue(WinReg.HKEY_CURRENT_USER,  "SOFTWARE\\ini_key_baru", "kode_kunci");
    int hasilint = Advapi32Util.registryGetIntValue(WinReg.HKEY_CURRENT_USER,  "SOFTWARE\\ini_key_baru","");
    System.out.println("Registry String: kode_kunci = "+hasil);
    System.out.println("Registry default = "+hasilint);
    


  7. Kemudian terakhir untuk menghapus sub key registry yang telah dibuat adalah dengan cara memasukkan kode ini:
    Advapi32Util.registryDeleteKey(WinReg.HKEY_CURRENT_USER, "SOFTWARE\\ini_key_baru");

Demikianlah tutorial Menulis, Membaca dan Menghapus Windows Registry dari Java. Jika ada pertanyaan mengenai tutorial diatas, silahkan bertanya melalui form komentar dibawah. Kemudian jika ingin meng-update secara rutin artikel yang kami posting dari blog ini, silahkan isi email anda pada isian Follow by Email dibawah.
Kelas TestRegistry.java diatas bisa diunduh melalui link ini.

Terima kasih... wassalam
Share:

Percantik Halaman Web Joomla dengan Menambahkan Galeri Foto

percantik halaman web joomla dengan menambahkan galeri foto

Sebuah situs yang mengusung tema keindahan alam, pariwisata, fotografi ataupun yang sejenisnya, akan terasa hambar jika tak memiliki sebuah halaman yang memuat galeri foto. Halaman tersebut saya katakan harus ada pada website yang sedang mereka kelola untuk menarik minat pengunjung. Sebagaimana diketahui bahwa yang ditawarkan berupa keindahan, maka tentu berkaitan erat dengan indera mata. Agak sulit mempercayai misalnya ada orang yang mengatakan kepada saya bahwa pantai di daerah A indah lho, tanpa ada bukti yang bisa saya lihat.

Website yang berisi tentang tempat-tempat wisata ataupun keindahan alam jika tak menghadirkan galeri foto maka akan membuat para wisatawan bertanya-tanya, benar atau tidak tempat yang diceritakan ini indah. Mungkin saja ada dari mereka berpendapat bahwa ini hanya sebatas perkataan saja. Toh bukti gambar tempatnya saja tidak ditampilkan oleh si pemilik tersebut pada websitenya. Hal semacam ini tentu tak kita inginkan. Karena akan menimbulkan keragu-raguan dimata para wisatawan, dan pada akhirnya akan merugikan si pemilik website karena berdampak pada berkurangnya jumlah wisatawan yang pergi berwisata ke tempatnya. Sebenarnya galeri foto ini tak hanya yang bertemakan keindahan saja yang memerlukannya, tetapi website-website instansi pemerintahan, sekolah dan sejenisnya juga memerlukannya untuk mempublikasikan kegiatan atau event-event tertentu yang mereka lakukan.

Nah, Mengingat hal ini penting, maka pada tulisan ini saya akan memberikan tutorial untuk memasang sebuah galeri foto pada halaman website. Website disini khususnya yang dibangun menggunakan CMS Joomla. Jenis komponen yang saya gunakan untuk membuat galeri tersebut adalah phoca gallery. Komponen tersebut berada dibawah lisensi GPL yang bisa anda gunakan tanpa mengeluarkan biaya untuk mendapatkannya. Untuk mengunduhnya bisa melalui link berikut ini http://adf.ly/1ffU5I.

Jika komponen tersebut sudah anda dapatkan, selanjutnya kita masuki langkah-langkah pemasangannya.

  1. Masuk ke halaman administrator.
    halaman login administrator joomla


  2. Pilih menu “Extentions → Manage → Install”.
    menu instal eksistensi joomla


  3. Lalu pada tab “Upload Package File”, tekan tombol Choose File.
    upload package instalasi eksistensi joomla


  4. Pilih paket komponen phoca gallery yang telah anda unduh sebelumnya, lalu tekan tombol Open.
    paket komponen phoca gallery


  5. Kemudian tekan tombol Upload & Install dan tunggu sampai proses instalasi selesai.
    upload dan instal paket komponen phoca gallery


  6. Pada saat proses instalasi selesai maka akan tampak halaman Control Panel phoca gallery seperti gambar dibawah ini.
    halaman control panel phoca gallery


  7. Untuk menambahkan galeri foto, tahap pertama adalah membuat kategori foto terlebih dahulu dengan cara memilih menu Categories.
    menu penambahan kategori foto joomla


  8. Kemudian tekan tombol New.
    menu menambah kategori foto baru pada phoca gallery


  9. Lalu isikan Title serta atribut lain jika diperlukan, dan dilanjutkan dengan menekan tombol Save & Close.
    pengisian atribut kategori phoca gallery


  10. Setelah itu untuk menambahkan foto-foto pada kategori tersebut, caranya yaitu dengan memilih menu Images, lalu tekan tombol New.
    menu penambahan foto baru


  11. Masukkan Title dan pilih Category yang telah anda buat sebelumnya.
    pengisian atribut foto


  12. Masukkan gambar yang akan anda tampilkan dengan menekan tombol Select Filename dan tekan tombol Choose File untuk memilih gambar yang ada di pc anda.
    memilih foto yang akan dimasukkan

  13. Kemudian tekan tombol Start Upload untuk meng-upload file foto tadi. Lalu pilih gambar yang baru saja selesai di upload dengan cara double klik gambar tersebut.
    memilih file gambar yang sudah di upload

  14. Setelah itu tekan tombol Save & Close untuk menyimpan file foto tadi kedalam galeri foto.

  15. Langkah selanjutnya setelah selesai menambahkan kategori dan foto tersebut adalah membuat sebuah navigasi yang mengarahkan ke halaman galeri foto. Caranya adalah pilih menu “Menus → Main Menu → Add New Menu Item”.
    menu penambahan menu item baru


  16. Masukkan Menu Title misalnya “Galeri Foto”, lalu pada pilihan “Menu Item Type” tekan tombol Select.
  17. Pilih Menu Item Type dengan “Phoca Gallery → List of Categories (Categories View)”.
    pemilihan menu item type phoca gallery


  18. Pastikan Status disamping kanan yaitu Published. Selanjutnya tekan tombol Save & Close.
    penyimpanan menu item galeri foto


  19. Buka halaman front-end website anda, kemudian pilih menu galeri foto yang tadi anda buat, maka akan terlihat halaman tersebut seperti dibawah ini.
    hasil pembuatan halaman galeri foto


Demikianlah tutorial Percantik Halaman Web Joomla dengan Menambahkan Galeri Foto. Semoga ada manfaatnya bagi anda dan saya. Jika ada pertanyaan mengenai tutorial diatas, silahkan bertanya melalui form komentar dibawah. Kemudian jika ingin meng-update secara rutin artikel yang kami posting dari blog ini, silahkan isi email anda pada isian Follow by Email dibawah.

Terima kasih... wassalam
Share:

Cara Mengganti Bahasa Administrator Joomla Menjadi Bahasa Indonesia

cara mengganti bahasa administrator joomla menjadi bahasa Indonesia
Bismillah ...

Pada saat awal pembuatan web menggunakan CMS Joomla, bahasa yang digunakan untuk mengelola pada halaman administrator adalah bahasa Inggris. Bahasa ini terkadang menyulitkan pengguna karena keterbatasan mereka pada penguasaan bahasa Inggris yang baik. Oleh sebab itu perlu dimasukkan bahasa yang dimengerti oleh admin website tersebut.

Joomla sendiri menyediakan eksistensi untuk mengganti bahasa itu sendiri melalui menu Languages. Nah disitu nanti akan ada daftar bahasa dunia yang bisa kita gunakan. Pada tutorial ini saya memberikan contoh tentang cara menginstal bahasa Indonesia. Untuk menginstal bahasa lainnya juga sama, tinggal memilih saja bahasa yang mau di instal tersebut.

Oke, langsung saja kita masuki langkah-langkah penginstalannya.
  1. Login ke halaman administrator
    halaman login administrator joomla


  2. Pada halaman Control Panel, pilih menu "Extentions -> Language(s)".
    pemilihan menu extentions language joomla


  3. Pada halaman languages tekan tombol "Instal Languages".
    tombol instal languages joomla


  4. Lalu pilih bahasa yang akan di gunakan. Pada tutorial ini saya memberi contoh menginstal bahasa Indonesia. Kemudian setelah memilih bahasa, dilanjutkan dengan menekan tombol "Instal" yang berada di pojok kiri.
    mengistal bahasa Indonesia pada joomla


  5. Tunggu sampai proses instalasi selesai.
    proses instalasi bahasa joomla


  6. Setelah proses instalasi selesai, pilih menu "Language(s) -> Installed".
    pemilihan menu languages installed untuk melihat daftar bahasa yang tersedia


  7. Selanjutnya pilih bahasa Indonesia, dan tekan tombol "Default" pada pojok kiri untuk menjadikan bahasa tersebut sebagai bahasa standard. Bahasa pada halaman front-end juga akan berubah menjadi bahasa Indonesia nantinya.
    pemilihan bahasa standard joomla


  8. Logout dari halaman administrator.
  9. Login kembali dan lihat terdapat pilihan bahasa yang sudah di instal tadi seperti gambar dibawah ini.
  10. Pilih bahasa yang akan digunakan pada halaman administrator, lalu tekan tombol "Log in" untuk masuk kembali kehalaman administrator.

Demikianlah tutorial Cara Mengganti Bahasa Administrator Joomla Menjadi Bahasa Indonesia. Semoga ada manfaatnya untuk andan dan saya. Jika ada pertanyaan mengenai tutorial diatas, silakan bertanya melalui form komentar dibawah. Kemudian jika ingin meng-update secara rutin artikel yang kami posting dari blog ini, silahkan isi email anda pada isian Follow by Email dibawah.

Terima kasih... wassalam
Share:
DigitalOcean Referral Badge
www.domainesia.com
Powered by Blogger.