Sharing Tutorial Pemrograman, Database, Aplikasi, Informasi, Umum dan News Update

Articles by "pemrograman"

beberapa tahun belakangan framework CodeIgniter begitu populer dikalangan dunia programming karena banyak sekali kelebihan-kelebihan dibanding framework lainnya. disamping dokumentasi yang lengkap, framework yang ringan,  sudah object oriented juga selalu ada update-update baik dari sisi kelengkapan fitur maupun perbaikan-perbaikan lainnya.

oleh karena mungkin banyak di antara para pengguna framework codeigniter yang menggunakan versi lama sedangkan menggunakan xampp atau php versi baru terkadang ada beberpa hal yang perlu disesuaikan agar aplikasi atau sistem informasnya dapat berjalan lancar. 


pada sharing kaling ini akan berbagi tips terkait Session codeigniter. ketika aplikasi dijalankn menggunakan komputer lokal session dapat berjalan normal (login aplikasi berhasil) namun ketika aplikasi dihosting (upload ke server hosting) dihadapkan dengan problem selalu gagal login dan tetap pada halaman login tidak redirect ke halaman home (dashboard) padahal username & password sudah sesuai, sudah benar seperti halnya login di server lokal. 

problem tersebut biasanya disebabkan karena perbedaan versi php yang ada dilokal dengan versi php yang ada di server hosting sedangkan versi codeigniter yang kita gunakan adalah versi codeigniter lawas (3 ke bawah). 

solusinya adalah :
1. buka file pada direktori aplikasi : system/libraries/Session/Session.php
2. kemudian cari session_start() ,biasanya ada di baris 140
3. kemudian komen session_start() tersebut sepert : //session_start() atau /*session_start()*/
4. masih di file session.php, kemudian cari sintak/kodingan, kalau di saya ada di baris 312-318

// Security is king
ini_set('session.use_trans_sid', 0);
ini_set('session.use_strict_mode', 1);
ini_set('session.use_cookies', 1);
ini_set('session.use_only_cookies', 1);
ini_set('session.hash_function', 1);
ini_set('session.hash_bits_per_character', 4);

 kemudian komen sintak-sintak tersebut seperti ini.

/*
// Security is king
ini_set('session.use_trans_sid', 0);
ini_set('session.use_strict_mode', 1);
ini_set('session.use_cookies', 1);
ini_set('session.use_only_cookies', 1);
ini_set('session.hash_function', 1);
ini_set('session.hash_bits_per_character', 4);*/

5. dan yang terakhir buka file index.php yang ada di root aplikasi kita
                   Fungsi diff di PHP untuk mendapatkan waktu (tahun,bulan, hari, jam, menit, detik)

6. pada baris pertama index.php tersebut tambahkan sintak session_start(); 

kemudian lakukan refresh aplikasi (browser) dan mencoba kembali untuk login. apabila ada yang masih menemukan kendala silahkan kendala silahkan komentar dibawah atau berdiskusi via email.

Semoga bermanfaat & terimakasih.

Fungsi diff pada php digunakan untuk menghitung jarak atau rentang antara dua waktu / dua tanggal. misalnya untuk menghitung umur dll.


Berikut adalah contoh implentasi penggunanaan "diff" pada pemrograman php.
                $d1=new DateTime(tanggal_time1);
                $d2=new DateTime(tanggal_time2);
                $interval_kpi = $d1->diff($d2);
                $sprint='';
                if($interval_kpi->y != 0){
                    $sprint .=$interval_kpi->y .' Tahun ';
                }
                if($interval_kpi->m != 0){
                    $sprint .=$interval_kpi->m .' Bulan ';
                }
                if($interval_kpi->d != 0){
                    $sprint .=$interval_kpi->d .' Hari ';
                }
                if($interval_kpi->h != 0){
                    $sprint .=$interval_kpi->h .' Jam ';
                }
                if($interval_kpi->i != 0){
                    $sprint .=$interval_kpi->i .' Menit ';
                }
                if($interval_kpi->s != 0){
                    $sprint .=$interval_kpi->s .' Detik ';
                }             
                echo  $sprint;
  Semoga bermanfaat dan selamat mencoba

untuk kemanan dan tracking data terkadang kita harus tau dari komputer mana data tersebut di input selain dari alamat IP  kita juga bisa menyimpan nama komputer / hostname ke dalam database, caranya adalah dengan menggunakan sintak :
$hostname = gethostbyaddr('192.168.1.46')
 untuk alamat ip supaya dapat dinamis bisa mengikuti tutorial cara mendapatkan ip address di php sehingga ip dijadikan parameter dan menjadi dinamis

sekian tutorial cara mendapatkan hostname di php, semoga bermanfaat dan selamat mencoba

cara merge dari beberapa array di php adalah dengan menggunakan sintak
array_merge
Contohnya :
 $result = array_merge($tmp_non_retur, $tmp_retur, $tmp_penjualanbebas,  $tmp_nonreg);
Tetapi apabila diantara array-array tersebut ada yang merupakan array kosong maka kita perlu menambahkan validasi sintak (array),

Contoh :
   $result = array_merge(
        (array)$tmp_non_retur,
        (array)$tmp_retur,
        (array)$tmp_penjualanbebas,
        (array)$tmp_nonreg
        );
Sekian tutorial mengenai merge array di PHP, semoga bermanfaat dan selamat mencoba.

terkadang kita perlu menyimpan alamat ip komputer ke dalam database, tujuannya tiada lain adalah untuk tracking history dari komputer mana data di input dan kebutuhan lainnya. salah satu cara untuk menyimpan data ip komputer ke dalam database ada sebagai berikut :

1. membuat function getIp

public function getIp() {
    if (getenv('HTTP_CLIENT_IP')) {
    $ip = getenv('HTTP_CLIENT_IP');
    }
    elseif (getenv('HTTP_X_FORWARDED_FOR')) {
    $ip = getenv('HTTP_X_FORWARDED_FOR');
    }
    elseif (getenv('HTTP_X_FORWARDED')) {
    $ip = getenv('HTTP_X_FORWARDED');
    }
    elseif (getenv('HTTP_FORWARDED_FOR')) {
    $ip = getenv('HTTP_FORWARDED_FOR');
    }
    elseif (getenv('HTTP_FORWARDED')) {
    $ip = getenv('HTTP_FORWARDED');
    }
    else {
    $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
    }

2. Panggil funtion getIp
    $ip_addres = $this->os->getIp();
3. Set Ip ke kolom/field yang diinginkan
   $mutasi_stok_['alamat_ip'] = $ip_addres;



Semoga bermanfaat dan selamat mencoba,

Untuk membuat format currency di grid pada extjs adalah seperti berikut :
       {
            header: "Jumlah",
            dataIndex: 'jumlah',
            renderer: Ext.util.Format.formatNumber2,
            align:'right',
            width: 150
        },
        {
            header: "Jumlah Realisasi",
            dataIndex: 'jumlah_realisasi',
            renderer: Ext.util.Format.formatNumber2,
            align:'right',
            width: 150
        },

 Selamat Mencoba!

Pada postingan sebelumnya kita sudah mengetahui cara membuat fungsi menghitung usia/umur pada pemrograman PHP  dan pada postingan kali ini kita akan sama-sama mengetahui cara membuat function (fungsi) untuk menghitung usia pada database postgreSql, karena seperti pada postingan-postingan sebelumnya salah satu diantara kelebihan database postgreSql adalah kita bisa membuat function yang mana kapanpun kita akan berubah bahasa pemrograman seperti dari .net ke php ataupun sebaliknya function-function tersebut tetap bisa digunakan.

Function untuk menghitung usia atau umur pada database postgreSql adalah sebagai berikut :
  -- Function: hitung_usia(date, date)

-- DROP FUNCTION hitung_usia(date, date);

CREATE OR REPLACE FUNCTION hitung_usia(date1 date, date2 date)
  RETURNS numeric AS
$BODY$
DECLARE
    in_date1     date;
    in_date2     date;
    compute_age numeric(4);
   
begin
    compute_age = EXTRACT(YEAR FROM AGE(date2, date1));
    RAISE NOTICE 'a, %', compute_age;
        return compute_age;
end;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION hitung_usia(date, date)
  OWNER TO postgres;


 Kemudian untuk menggunakan function tersebut kita tinggal memanggilnya seperti ini :
select hitung_usia('1989-01-01','2016-01-01')
Selamat Mencoba & Terimakasih.

Pada Postingan sebelumany kita sudah mengetahui cara kill sever glassfish atau java dan cara start sever glassfish.  pada postingan kali ini kita akan mengetahui cara melakukan stop pada server glassfish melalui Console (Command Line) karena terkadang kita perlu melakukan stop pada server glassfish tergantung kodisi dilapangan ketika implementsi sistem atau ketika sistem sudah masuk production (live), script untuk melakukan stop server glassfish cukup simple dan caranya sama ketika akan melakukan start sever glassfish  artinya kita harus masuk ke linux server terlebih dahulu, kita bisa menggunakan software putty, bitvise dll. cara stop server glassfish pada server linux adalah sebagai berikut :


jadi scriptnya :
opt/glassfish/v3/glassfish/bin/asadmin stop-domain domain1
Setelah itu tinggal di execute atau tekan enter dan proses stop server glassfish akan berlangsung. Pada artikel ini kebetulan menggunakan "glassvishV3" dan di simpan di direktory "opt".

Semoga bermanfaat dan selamat mencoba.

Pada artikel sebelumnya kita sudah mengetahui cara melakukan kill pada server glassfish yang sudah hank atau permen space. setelah server dimatikan (di kill) langkah selanjutnya tentu saja kita harus melakukan startup kembali terhadap server glassfish tersebut supaya sistem/aplikasi dapat kembali digunakan.
Pada artikel ini akan dijelaskan bagaimana cara melakukan startup server glassfish menggunakan console (command line), pada contoh ini study kasusnya menggunakan linux Ubuntu.

Langkah pertama kita harus login ke server linux tersebut menggunakan bitvise, putty dll. pada artikel kali ini kita gunakan aplikasi bitvise, setelah kita sukses login k server linux akan menampilkan seperti berikut :


Setelah kita berhasil login kita tinggal melakukan execute script untuk menjalankan server glassfish, scriptnya sebegai berikut :

sudo opt/glassfish/v3/glassfish/bin/asadmin start-domain domain1
setelah itu tinggal di execute (tekan enter) dan proses startup server akan berlangsung.
Pada artikel ini kebetulan menggunakan "glassvishV3" dan di simpan di direktory "opt".

Semoga bermanfaat, apabila ada yang perlu di diskusikan silahkan komentari pada postingan ini, terimakasih.

Sering kita jumpai pada aplikasi-aplikasi atau sistem saat melakukan registrasi (pendaftaran) terutama melakukan registrasi data customer, pasien, nasabah dll sistem menerima inputan tanggal lahir kemudian dari tanggal lahir tersebut sistem harus dapat otomatis melakukan perhitungan usia/umur dari pasien,customer atau nasabah tersebut.
seperti contoh customer andi lahir tanggal 13/08/2002
maka sistem harus dapat otomatis mengkonversi manjadi : 13 tahun 8 bulan 13 hari.

salah satu contoh fungsi yang dapat kita gunakan untuk menghitung umur atau usia dengan menggunakan pemrograman PHP adalah seperti berikut :

function getHitungUmur($tgl_lahir){
        $date1 = new DateTime(date('Y-m-d', strtotime($tgl_lahir)));
        $date2 = new DateTime(date('Y-m-d'));
        $interval = $date1->diff($date2);
        //echo "difference " . $interval->y . " years, " . $interval->m." months, ".$interval->d." days ";
        $data = array(
                'year'=>$interval->y,
                'month'=>$interval->m,
                'day'=>$interval->d
        );
   
        return $data;
    }
 kemudian untuk menggunakan fungsi tersebut adalah seperti berikut :
$data_umur = $this->getHitungUmur($tgl_lahir);
 Selamat Mencoba dan Mengembangkan.

in_array terkadang kita gunakan untuk melakukan pengecekan data dalam bentuk array. solusi in_array dapat kita gunakan apabila data dalam array tersebut banyak dan tidak mungkin kita menggunakan foreach (looping) karena hal tersebut akan menyebabkan sistem / aplikasi menjadi berat dikarena harus melakukan pengecekan data (if, switch) secara looping. seperti contoh dibawah ini bagaimana cara implementasi in_array :

misalnya kita punya data array parameter : 
$data = array("apel","jeruk","semangka","anggur","pisang");
kemudian dilakukan pengecekan data :

if(in_array("jeruk"), $data)
     echo "data ditemukan";
else
    echo "data tidak ditemukan";

Selamat mencoba & semoga bermanfaat



Ketika sudah PermGen space error maka glassfish maupun aplikasi java yang bersangkutan tidak akan bisa dijalankan, salah satu solusi yang bisa kita lakukan adalah dengan melakukan kill dan restart server glassfish. Cara melakukan kill dan restart server glassfish pada sistem operasi linux bisa kita execute via command line dengan langkah-langkah sebagai berikut :
1. sudo netstat -npl | grep 8686
fungsinya untuk check port yang sedang running, output dari scrip tersebut :
tcp6 0 0 :::8686 :::* LISTEN 7865/java
langkah selanjutnya adalah melakukan kill pada proses java tersebut :
2. kill -9 7865
selanjutnya kita bisa melakukan start server glassfish kembali :

Semoga bermanfaat dan selamat mencoba


Pada aplikasi-aplikasi kode biasanya di generate otomatis oleh sistem dengan menggunakan Fungsi/Generator tertentu. kode biasanya digunakan pada tabel-tabel transaksi ataupun tabel master data, seperti untuk kode_barang, no_transaksi dll. kode-kode tersebut di generate sesuai kebutuhan user atau sistem. Tapi yang biasa umum dipakai dua atau tiga digit pertama kode alphabet digit selanjutnya tahun kemudian bulan lalu no urut incement, seperti : TRX1605000001.

TRX      : kode aphabet
16          : Tahun
05          : Bulan
000001  : No Urut

No urut : 000001 biasaya direset kembali ke no.1 tiap bulannya. Cara membuat generator kode pada java kita bisa menggunakan fungsi seperti berikut :

public String getGenerateCode() {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yy/MM");
        String tgl = dateFormat.format(Calendar.getInstance().getTime());
        String i;
        String id = transaksiSewaRentalFacadeRemote.findGenerateId(tgl);
        if (id == null) {
            id = "000001";
        } else {
            id = String.valueOf(Integer.valueOf(id) + 1);
        }
        String comCod = "";
        switch (id.length()) {
            case 1:
                id = "00000" + id;
                break;
            case 2:
                id = "0000" + id;
                break;
            case 3:
                id = "000" + id;
                break;
            case 4:
                id = "00" + id;
                break;
            case 5:
                id = "0" + id;
                break;
        }
        comCod = "TRX" + tgl +  id;
        return comCod;
    }
 Cara memangil fungsi ini cukut kita lakukan seperti ini :
transaksiSewaRental.setNoTransaksi(getGenerateCode());

Semoga bermanfaat & Selamat mencoba



Penggunanaan nama-nama bulan dengan bahasa indonesia sangat kita perlukan, seperti di struk, laporan, dll. Untuk menampilakn nama-nama bulan dengan bahasa indonesia maka kita perlu untuk membuat fungsi karena default bawaan tipe date() tidak ada bahasa indonesia nya.

Langkah pertama kita buat dulu array() bulan :

$bulan = array(
                '01' => 'JANUARI',
                '02' => 'FEBRUARI',
                '03' => 'MARET',
                '04' => 'APRIL',
                '05' => 'MEI',
                '06' => 'JUNI',
                '07' => 'JULI',
                '08' => 'AGUSTUS',
                '09' => 'SEPTEMBER',
                '10' => 'OKTOBER',
                '11' => 'NOVEMBER',
                '12' => 'DESEMBER',
        );

Untuk implementasi dari fungsi tersebut sangatlah mudah , kita tinggal panggil seperti ini :
 $bulan[date('m')]
 Contoh : date('m')  = 05 maka outpunya = MEI
Bandung, <?php echo date('d').' '.(strtolower($bulan[date('m')])).' '.date('Y') 
Output : Bandung, 25 Maret 2018

Selamat Mencoba.

inilahcode

{facebook#YOUR_SOCIAL_PROFILE_URL} {twitter#YOUR_SOCIAL_PROFILE_URL} {google-plus#YOUR_SOCIAL_PROFILE_URL} {pinterest#YOUR_SOCIAL_PROFILE_URL} {youtube#YOUR_SOCIAL_PROFILE_URL} {instagram#YOUR_SOCIAL_PROFILE_URL}

Contact Form

Name

Email *

Message *

Powered by Blogger.
Javascript DisablePlease Enable Javascript To See All Widget