Maret 2014 - Elang Sakti
Download Ebook Belajar Arduino PDF, Arduino untuk pemula
Jasa Pembuatan Program Arduino, pemrograman Arduino
# Hack Your Skills! to be Professional Mechatronics

Membuat USB to Serial RS232 dengan Kabel DKU-5 dan Ponsel Bekas

Tidak ada komentar
Membuat USB to Serial RS232 dengan Kabel DKU-5 dan Ponsel Bekas
Gambar rangkaian USB to serial dengan kabel DKU-5
Berniat untuk nyoba gimana hyperterminal jika dihubungkan ke mikro, ternyata baru tau kalo hyperterminal bisa dipake untuk analisa dan akuisisi data dari mikro. Misal kayak print atau semacam logger. Jadi kita bisa tahu apakah data yang diproses oleh mikro itu benar atau masih keliru.

Setelah searching, eh nemu hyperterminal dan koneksi rs232. Awalnya bingung, gimana kalo pake leptop, kan ndak ada port serialnya. Setelah searching lagi, nemu solusi, yaitu pake usb to rs232 atau usb to serial. Nah, ketika sambil baca-baca nemu artikel tentang bagaimana menjadikan kabel DKU-5 sebagai pengganti usb to serial. Kenapa kok bisa begitu? Karena pada kabel DKU-5, pada bagian head belakang usbnya agak ngembung, nah di situ ada perangkat elektronik untuk mengkonversi dari usb ke serial. Terlepas dari bagaimana cara kerjanya, kita akan fokus pada fungsi port pada kabel tersebut.

Untuk membuat usb to serial dengan kabel DKU-5, sebenarnya sederhana saja. Kita hanya butuh menghubungkan pin ke 5, 6, dan 7 ke mikro. Dimana pin-pin tersebut mewakili dari Rx, Tx, dan Ground. Seperti tampak pada gambar berikut:

Kabel PIN DKU-5 Membuat USB to Serial RS232 dengan Kabel DKU-5 dan Ponsel Bekas
Gambar posisi pin kabel DKU-5
Biasanya, untuk menjadikan DKU-5 sebagai usb to serial, maka konektor di atas dibuang. Kabel langsung diberikan atau dipasang pada konektor DB9 untuk konek ke port di mikro. Atau ada juga yang hanya menambahkan kabel pin untuk dihubungkan ke kaki mikro secara langsung. Tapi kali ini, kita tidak akan merusak kabel yang sudah ada, melainkan kita akan membuat kabel konektor yang berfungsi sebagai interface dari DKU-5 ke DB9 dengan port yang biasa dipake untuk DKU-5 pada ponsel bekas.

Jadi bahan-bahan yang diperlukan yaitu, kabel secukupnya, port DB9 male (laki), port charger / untuk koneksi DKU-5 pada ponsel bekas (misal 6610, 6615, dll). Sehingga bahan-bahan port seperti tampak pada gambar di bawah. Ini saya copot dari ponsel bekas.

Kabel PIN DKU-5 Membuat USB to Serial RS232 dengan Kabel DKU-5 dan Ponsel Bekas 2

Kalo untuk DB9 male beli, 3rebu. Seperti ini.

PIN kabel serial Kabel PIN DKU-5 Membuat USB to Serial RS232 dengan Kabel DKU-5 dan Ponsel Bekas
Gambar pin untuk konektor DB9
Setelah dirangkai berdasarkan pin-pin yang sudah diberi tanda di atas, maka jadilah USB to serial dengan DKU-5 tanpa harus merusaknya. Sori, tulisannya singkat, dan terkesan buru-buru. Ini sudah capek dari tadi, cuman untuk ninggalin jejak aja. Kapan-kapan kalo ada waktu tak perbaiki tulisan ini. Kalo ada waktu. (nggak janji :p )

Selanjutnya, untuk mengecek hasilnya bisa menggunakan Hyperterminal atau PuTTY. Untuk lebih detailnya bisa cek di tulisan berikut:
1. Cek DKU-5 / USB to Serial dengan Hyperterminal
2. Cek DKU-5 / USB to Serial dengan PuTTY

Written by ElangSakti
Membuat USB to Serial RS232 dengan Kabel DKU-5 dan Ponsel Bekas
Bahasan: Gambar rangkaian USB to serial dengan kabel DKU-5 Berniat untuk nyoba gimana hyperterminal jika dihubungkan ke mikro, ternyata baru ...
Published at Senin, 31 Maret 2014, Updated at Senin, 31 Maret 2014
Reviewed by dr. on
Rating: 4.7

Tidak ada komentar :

Posting Komentar

# Hack Your Skills! to be Professional Mechatronics

C : Pemrograman LCD 8x2 dengan ATMega16 - CodeVision

Tidak ada komentar
Bahasa C : Pemrograman LCD 8x2 dengan ATMega16 - CodeVision
Gambar trainer kit dengan atmega16
Bismillah.. Alhamdulillah setelah seharian berkutat dengan manual LCD dan masalah mikro yang pinya sudah rusak, akhirnya bisa juga bikin program untuk nulis di LCD 8x2.

Cerita dikit. Jadi, awalnya ada masalah dengan Switch dan LEDnya, seperti pada posting sebelumnya (Membuat Lampu Berjalan), ketika switch ditekan, maka ada dua led yang menyala. Kemudian di kasus lain, ada 4 led yang tidak mau menyala, kemudian di kasus lainnya lagi, ada 4 led nyala terus. Ternyata ketika tak periksa sau-persatu, ada yang aneh dari kombinasi PORT yang dipake oleh switch dan LED. Hasil percobaannya seperti ini:

LED SWITCH    HASIL
 A    B        BIT 2 & 3 nyala (DOBEL)
 A    C        BIT 2 - 5 nyala terus
 A    D        (OK)
 B    A        (OK)
 B    C        BIT 2 - 5 nyala terus
 B    D        (OK)
 C    A        BIT 2 - 5 tidak nyala
 C    B        BIT 2 - 5 tidak nyala
 C    D        BIT 2 - 5 tidak nyala
 D    A        (OK)
 D    B        BIT 2 & 3 nyala (DOBEL)
 D    C        BIT 2 - 5 nyala terus
 
 OK = normal.

Pertikan yang normal hanya port A dan D. Ternyata setelah diskusi dan tanya-tanya di forum, PIN input untuk PORTB dan PORTC ada yang rusak. Penyebabnya katanya switch langsung nyambung ke ground, sehingga terjadi HOTPLUG yang menyebabkan pin internal pada mikrokontroller rusak. Untuk saja pin outputnnya ndak rusak. Kemudian solusi yang disarankan adalah memberikan resistor 330/220 ohm untuk inputan. Jangan langsung nyambung ke ground atau VCC.

Itu masalah pertama.

Masalah kedua, tak nemu orang yang make LCD 2x8 seperti yang saya pake. Tak googling juga sangat susah nyarinya, mungkin karena umunya orang-orang tidak memasangkan ATMega16 dan LCD 8x2. Akhirnya setelah mencari tahu tentang produk LCD tersebut, ternyata buatan cina. Websitenya http://www.goodview-lcd.com/. Zzzzzz... tidaaaak...

Kemudian tak cari berdasarkan kode dan tulisan yang ada dibelakangnya, saya ketikkan di google "0802A rev.c  pc-001 94v e 243002 rohs" dan hasilnya nihil, kemudian saya hapus satu persatu keywordnya hingga menjadi "0802A rohs", nah,, alhamdulillah ada yang jual LCD ini. Akhirnya dapet manual datasheetnya di toko online crystalfonts (https://www.crystalfontz.com/products/document/898/CFAH0802AGYHJT_v1.0.pdf). Dari datashet tersebut, ditemukanlah manual yang sebenarnya, kitab paling benar di bumi ini terkait pengoperasian LCD 8x2 yang semacam tak bermerk. x)

Setelah pelan-pelan baca dari siang sampek malem ini, akhirnya selesai juga :D alhamdulillah,, dan hasil dari kodingnya seperti berikut:

#include <mega16a.h>
#include <delay.h>

#define CMD_DDR DDRC
#define CMD_PORT PORTC
#define CMD_RS PORTC.0
#define CMD_RW PORTC.7
#define CMD_EN PORTC.6

#define LCD_PORT PORTD
#define LCD_PIN PIND
#define LCD_DDR DDRD

#define LED_PORT PORTA
#define LED_DDR DDRA 

void LCD_init(void);
void LCD_cmd(unsigned char cmd);
void LCD_char(unsigned char data);
void LCD_string(unsigned char data[]);
void LCD_ready(void);
void LCD_linecol(unsigned char line,unsigned char col);
unsigned char LCD_busy(void);

char *elang = "elang";
char *sakti = "sakti";
void main(void){
    LED_DDR = 0xFF;
    LED_PORT = 0xFF;
    LED_PORT = 0b00110010;
    CMD_DDR = 0xFF;
                   
    LCD_init();
    
    LCD_linecol(1,2);
    LCD_string(elang);
    
    LCD_linecol(2,3);
    LCD_string(sakti);
}

void LCD_init(void){
    delay_ms(50);
    LCD_cmd(0b00111000); //0b0011NF00 f-set
    delay_ms(1);
    
    LCD_cmd(0b00111000); //0b0011NF00 f-set
    delay_ms(1);
    
    LCD_cmd(0b00001111); //0b00001DCB on
    LCD_ready();
    delay_ms(1);
    
    LCD_cmd(0b00000001); //0b00000001 clear
    LCD_ready();
    delay_ms(1);
    
    LCD_cmd(0b00000110); //0b000001DS entrymode
    LCD_ready();
    delay_ms(1);
}

void LCD_cmd(unsigned char cmd){
    LCD_DDR = 0xFF;
    
    CMD_RS = 0;
    CMD_RW = 0;
    CMD_EN = 1;
    LCD_PORT = cmd;
    CMD_EN = 0;
}

void LCD_linecol(unsigned char line,unsigned char col){
    unsigned char tmp;
    switch(line){
        case 1:
            tmp = 0x00 + col;
            break;
        case 2:
            tmp = 0xC0 + col;
            break;
    }
    LCD_cmd(tmp); 
}

void LCD_string(unsigned char data[]){
    int loop = 0;
    while(data[loop]!='\0'){
        LCD_char(data[loop]);
        LCD_ready();
        loop++;
    }
}

void LCD_char(unsigned char data){
    LCD_DDR = 0xFF;
    
    CMD_RS = 1;
    CMD_RW = 0;
    CMD_EN = 1;
    LCD_PORT = data;
    CMD_EN = 0;
}

void LCD_ready(void){
    while ((LCD_busy() & 0x80) == 0x80);
}

unsigned char LCD_busy(void){
    unsigned char tmp;
    CMD_DDR = 0xFF;
    CMD_RS = 0;
    CMD_RW = 1;
    CMD_EN = 1;
    tmp = LCD_PIN;
    CMD_EN = 0;
    return tmp;
}



Nah, keluaran untuk program tersebut adalah seperti di atas. :D

Written by ElangSakti
C : Pemrograman LCD 8x2 dengan ATMega16 - CodeVision
Bahasan: Gambar trainer kit dengan atmega16 Bismillah.. Alhamdulillah setelah seharian berkutat dengan manual LCD dan masalah mikro yang pinya ...
Published at , Updated at
Reviewed by dr. on
Rating: 4.7

Tidak ada komentar :

Posting Komentar

# Hack Your Skills! to be Professional Mechatronics

C : Membuat Lampu Berjalan Sederhana ATMEGA16

1 komentar

Bismillah... Yak, ini adalah program pertama dan kedua saya untuk ATMega16, koding perdana :D Sebenernya koding yang kedua dan ketiga sih, sebab yang pertama cuman ngidupin led sebiji, kemudian dilanjut dengan negidupin semua led dan seterusnya dan seterusnya.

Program ini dibuat dengan WinAVR, sebenarnya rada bingung mau pake CodeVision atau WinAVR. Jadi untuk awal saya coba keduanya. Lalu keputusan ketemu setelah mulai koding buat nampilin karakter di LCD. Pada WinAVR, rada ribet kalo misal mau ngakses bit per bit, enakan di CodeVision. Jadi, selanjutnya-selanjutnya kayaknya bakal make CodeVision. :)

Nah, untuk program pertama di bawah ini, ini fungsinya ngidupin led pake switch. Jadi ketika salah satu tombol switch dipencet, maka led salah satu led akan menyala sesuai index (posisi) switch itu berada.

Pada umunya untuk pin pada mikro itu ada tiga bagian yang harus diperhatikan, DDRx, ini berfungsi untuk nentukan pin pada PORTx akan dijadikan input atau ouput. Kemudian PORTx, ini berfungsi sebagai input (setelah diinisialisasi ditentukan oleh DDRx). Kemdian PINx, ini berfungsi ketika pin sebagai inputan (setelah diinisialisasi oleh DDRx).

#include <avr/io.h>
#include <avr/delay.h>
#define LED PORTB
#define DDRLED DDRB
#define PORTSWITCH PORTC
#define DDRSWITCH DDRC
#define SWITCH PINC

int main(void){
 DDRLED = 0xFF;
 DDRSWITCH = 0x00;
 PORTSWITCH = 0xFF;
 
 int REF = 0xFF;
 while(1){
  LED = SWITCH;
 }
}


Sedangakan untuk program yang kedua ini, berfungi untuk membuat lampu berjalan (maksudnya bergerak). Eh, maksudnya, nyala lednya bergantian, jadi kalo diliat dari jauh lednya menyala bergantian dari mati, nyala sendirian, nyala berdua, dan seterusnya.

#include <avr/io.h>
#include <avr/delay.h>
#define LED PORTB
#define DDRLED DDRB
int main(void){
 DDRLED = 0xFF;

 int REF = 0xFF;
 while(1){
  LED = REF;
  _delay_ms(100);
  
  REF >>= 1;
  if(REF==0x00){
   LED = REF;
   _delay_ms(100);
   
   REF = 0xFF;
  }
 }
}

Script di atas masih ditulis menggunakan WinAVR. Untuk gambarnya ndak ada. Tulisan ini sebagai catetan saja, soalnya ketika artikel ini ditulis, mikro-nya sudah diisi dengan program lainnya. Jadi kalo mau liat gambarnya, coba saja sendiri. :v

Written by ElangSakti
C : Membuat Lampu Berjalan Sederhana ATMEGA16
Bahasan: Bismillah... Yak, ini adalah program pertama dan kedua saya untuk ATMega16, koding perdana :D Sebenernya koding yang kedua dan ketiga sih...
Published at , Updated at
Reviewed by dr. on
Rating: 4.7

1 komentar :

Posting Komentar

# Hack Your Skills! to be Professional Mechatronics

Mulai Belajar Mikrokontroler Bareng mega16.h

Tidak ada komentar
Mulai Belajar Mikrokontroler dengan mega16.h - ATMega16
Gambar trainer kit dengan ATmega16
Bismillah... Setelah melakukan persiapan dan perburuan peralatan. Akhirnya hari ini belajar mikrokontrollernya bisa dimulai.

Belajar pembuka dimulai dengan produk usb programmer yang sudah dibeli sejak setahun yang lalu, tapi akhirnya terbengkalai karena masih belum bisa membuat sysmin dan juga IC-nya belum nentuin mau pake apa.

Beberapa hari terakhir akhirnya punya kesempatan untuk membeli DTcombo avr-51 trainer kit dan beli IC atmega 8L. dalam pikiran, akhirnya bisa mulai belajar. Hore. Tapi di luar perkiraan, ternyata programmer yang saya punya dulu tidak kompatibel dengan trainer yang tak beli. Sebenarnya ketidakkompatibelannya hanya pada header / konektornya saja sih, Tapi bagi pemula seperti saya tentu menjadi masalah tersendiri. Alhamdulillah setelah browsing sana-sini, bisa terpecahkan juga caranya. :D

Oiya, karena trainer ini tidak support atmega8L, maka IC-nya nggak kepakek. Jadi tadi sore beli tipe atmega16. Tapi busetnya, harganya 50 rebu, padahal harga di internet aja masih 40 rebu. Anyway, gak masalaha sih karena biar belajarnya lebih cepat. Selain itu ada banyak kesulitan yang dihadapi, dari kabel yang tidak kompatibel juga, konektornya kurang. Beli black house juga ndak ada, adanya malah ampenol yang seperti itu adanya -,,-

Dan alhamdulillah, walau tak ada manusia yang membantu secara langsung. Allah masih ngasi kesabaran untuk membaca manual dari kit, trainer, spesifikasi, dan cara kerja ini-itu dari hasil browsing yang tentu tak secepat jika ada yang ngajari secara langsung. Alhamdulillah masih bisa diberi kesabaran dan keinginan untuk belajar. :D

Yak, akhirnya setelah solder sana-sini buat putus-nyambung kabel konektor, nyiapin power supply, dan berjibaku dengan solder yang sudah mulai tumpul, dan tentu sudah sangat payah, alhamdulillah semuanya lancar.

let's begin.

Written by ElangSakti
Mulai Belajar Mikrokontroler Bareng mega16.h
Bahasan: Gambar trainer kit dengan ATmega16 Bismillah... Setelah melakukan persiapan dan perburuan peralatan. Akhirnya hari ini belajar mikroko...
Published at Jumat, 28 Maret 2014, Updated at Jumat, 28 Maret 2014
Reviewed by dr. on
Rating: 4.7

Tidak ada komentar :

Posting Komentar

# Hack Your Skills! to be Professional Mechatronics

Perjalanan Panjang Pencari Kebenaran

Tidak ada komentar
Genting!! :D, lagi penasaran dengan how http proxy works sehingga muncul pedagang dan pebisnis gaya baru, pedagang akun dan bandwidth. :D
Berawal dari :

01. http://febru.soluvas.com/2013/12/inject-http-header-linux-python-all.html
02. http://sourceforge.net/projects/injectheaderquery/
03. http://www.debasish.in/2012/07/http-to-https-proxy-tunnel-using-python_4947.html
04. http://technet.microsoft.com/en-us/magazine/2007.06.cableguy.aspx
05. http://gray-world.net/projects/papers/html/cctde.html
06. http://www.sans.org/reading-room/whitepapers/covert/http-tunnels-proxies-1202

Tapi masih bingung. Sudah ada file exe yang biasa dipake, tapi pake yang nomer 02 kok ndak bisa-bisa,, apakah ada tambahan kombinasi khusus atau memang hostnya yang berubah? Entahlah, setelah stack penuh, pindah ke perjalanan selanjutnya. Harus bisa decompile file exe ini!! :D

Yang berkaitan dengan file exe -nya , cari-cari gimana cara decompile filenya biar  bisa dipejari, eh malah nemu web yang beginia, lompat dari web satu ke web yang lain berdasarkan clue-clue dan kata kuncil yang saling berhubungan.

01. http://thelegendofrandom.com/blog/archives/1472 (cara nganalisis)
02. http://thelegendofrandom.com/blog/tools (buat analisis)
03. https://tuts4you.com/download.php?list.11 (unpacker)
04. http://upx.sourceforge.net/ (unpacker)

Yang paling asik itu Exeinfo PE, masak sampek ada "Lamer Info" hehe..  tapi bagus, berguna buat saya yang memang sangat awam haha. :p

Written by ElangSakti
Perjalanan Panjang Pencari Kebenaran
Bahasan: Genting!! :D, lagi penasaran dengan how http proxy works sehingga muncul pedagang dan pebisnis gaya baru, pedagang akun dan bandwidth. :D ...
Published at Jumat, 21 Maret 2014, Updated at Jumat, 21 Maret 2014
Reviewed by dr. on
Rating: 4.7

Tidak ada komentar :

Posting Komentar

# Hack Your Skills! to be Professional Mechatronics

Teknik Long Polling di Twitter, Facebook, dan Google Plus

Tidak ada komentar
Tulisan ini hanya analisa kasar dan tahap awal untuk mengetahui apa itu yang disebut long polling. Sebenarnya dalam teknologi website, yang membedakan antara model lama dan model baru salah satunya adalah teknik pengambilan data dari server.

Teknik lama dalam HTTP yaitu:
1. Client mengirim Request halaman web ke server
2. Server memproses Request
3. Server mengirim satu halaman data ke CLient
4. Client mengganti halaman dengan halaman yang baru yang didapat dari server

Teknik baru:
1. Client mengirim Request (sebagian atau seluruh) halaman web ke server
2. Server memproses Request
3. Server mengirim (sebagian atau seluruh) halaman ke Client
4. Client (menambah atau mengganti sebagian atau seluruh) halaman sesuai response dari server

Anda akan lebih paham jika sudah tahu dan pernah mengimplementasikan Ajax. Jika belum, cobalah! Sebab dunia teknologi berubah setiap hari, jika kita tidak terus mengupdate skil, kita akan merana mendalam-dalam karena keterbelakangan pengetahuan. Ini berlaku untuk praktisi dan akademisi. Oke, whatever.

Tulisan ini tidak bermaksud untuk membahas tentang Ajax, reverse ajax, polling, dan long polling. Tapi, hanya ingin menunjukkan media sosial (Google Plus, Twitter, dan Facebook) yang katanya menggunakan teknik long polling, tapi kok responnya beda. Perbedaan respon ini mungkin karena perbedaan bahasa pemrograman atau tekniknya yang memang tidak pure long polling.

1. Google Plus dibangun dengan Python
2. Twitter dibangun dengan Ruby
3. Facebook dibangun dengan PHP

Gambar ini adalah penerapan Long Polling dengan PHP dan Ajax yang saya download dari github. Dalam hal ini, koneksi dari client ke server akan terus tersambung yang ditandai dengan gambar loading di belakang request (perhatikan di belakang get baris kedua, ada gambar lingkaran - Biar gede, klik aja gambarnya). Pada web lokal, itu akan bergerak selamanya, kecuali saya matikan servernya.


Tapi berbeda dengan yang diterapkan oleh Google Pluas, Twitter, dan Facebook. Mereka melakukan request ke sever dalam durasi beberapa detik. Entah apa alasannya. Sebab ketika saya coba di local, setiap ada satu koneksi, maka beban memori akan meningkat, makin banyak koneksi, makin banyak pula memori yang dibutuhkan.

Facebook

Teknik Long Polling di Twitter, Facebook, dan Google Plus 1


Goole Plus

Teknik Long Polling di Twitter, Facebook, dan Google Plus 2


Twitter

Teknik Long Polling di Twitter, Facebook, dan Google Plus 3


Dari tampilan itu yang paling bersih keliatannya twitter haha..

Written by ElangSakti
Teknik Long Polling di Twitter, Facebook, dan Google Plus
Bahasan: Tulisan ini hanya analisa kasar dan tahap awal untuk mengetahui apa itu yang disebut long polling. Sebenarnya dalam teknologi website, yan...
Published at Minggu, 16 Maret 2014, Updated at Minggu, 16 Maret 2014
Reviewed by dr. on
Rating: 4.7

Tidak ada komentar :

Posting Komentar

# Hack Your Skills! to be Professional Mechatronics

KUTIP : Langkah Praktis Menyihir Hati Manusia

Tidak ada komentar
01. Senyumlah di hadapan orang lain.
02. Mulailah dengan mengucapkan salam.
03. Pilihlah kata-kata indah yang menyejukkan ketika memberikan sapaan ketika bertemu dan beramah tamah.
04. Sampaikan do'a kebaikan untuknya, keluarga dan untuk kedua orang tuanya ketika berpisah.
05. Hormati yang besar.
06. Sayangi yang kecil.
07. Terima kritikan dengan jiwa bersih.
08. Jangan tinggikan suara ketika bicara dan diskusi.
09. Akui kesalahan ketika melakukannya.
10. Akui kelebihan orang yang memang mempunyai kelebihan.
11. Cuekkan kekurangan dan kesalahan teman.
12. Nasehati orang yang salah dengan lemah lembut, penuh hikmah dan bijaksana.
13. Beri sedekah kepada orang fakir dan miskin.
14. Maafkan orang yang telah menzalimimu.
15. Muliakan tamu dan tetanggamu.
16. Hubungkan silaturrahim dengan karib kerabatmu.
17. Berikan hak kepada setiap pemiliknya.
18. Beri bantuan kepada yang membutuhkan.
19. Lindungi yang butuh perlindungan.
20. Bantulah orang menyelesaikan keperluan dan kesulitannya.

Hasilnya:
Bila mampu melakukan ini bisa dijamin akan mampu menyihir hati-hati manusia. Apabila bicara akan didengar. Apabila berpendapat akan diikuti. Apabila bertamu dihormati. Dan ia akan dicintai oleh orang sekelilingnya.
*by Zulfi Akmal


Kesemua poin di atas adalah Akhlak Rasulullah, jadi mari kita coba belajar untuk mengikutinya. :D

Written by ElangSakti
KUTIP : Langkah Praktis Menyihir Hati Manusia
Bahasan: 01. Senyumlah di hadapan orang lain. 02. Mulailah dengan mengucapkan salam. 03. Pilihlah kata-kata indah yang menyejukkan ketika memberik...
Published at Sabtu, 08 Maret 2014, Updated at Sabtu, 08 Maret 2014
Reviewed by dr. on
Rating: 4.7

Tidak ada komentar :

Posting Komentar

# Hack Your Skills! to be Professional Mechatronics

PHP : Munculkan atau Sembunyikan Semua Error dan Notice

Tidak ada komentar
Bagi pembelajar PHP, pengetahuan ini termasuk hal yang mendasar, sebab yang namanya programmer (dan khususnya developer PHP) tentu akan menemukan kesalahan ketika membuat program baik dalam segi penulisan (sintaks, salah koma, salah titik dua, dlsb) atau salah logika sehingga program kita ngabisin banyak memori.

Tidak masalah jika kita punya akses ke OS server, atau kita bisa mengubah konfigurasi yang ada di php.ini (studi kasus kita adalah Apache web Server), sehingga kita bisa ngatur apakah kita lagi develope atau production. Bedanya, ketika lagi develope, semua error boleh muncul (termasuk Notice), sebab kita bisa lebih tahu bagaimana membuat program PHP yang benar disamping juga kita akan dikasi petunjuk manakala script kita salah / error. Berbeda ketika sudah masa production, eror sekecil apapun harus disembunyikan sebab itu bisa menjadi informasi penting yang bisa digunakan sebagai bekal untuk menyerang. Sehingga, semua eror dan Notice harus disembunyikan, dan ngaturnya ada di php.ini.

Hal ini akan menjadi masalah jika tidak punya akses untuk mengatur php.ini, misal aplikasi kita numpang di server orang lain.

Solusi?

Gunakan fasilitas yang disediakan oleh Apache atau PHP untuk meng-overwrite konfigurasi yang ada di php.ini, misal dengan .htaccess atau dengan script PHP (fungsi ini_set() dan error_reporting()). Kali ini kita akan bahas yang pake PHP aja. Perhatikan script berikut :

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
ini_set('track_errors', 1);
?>


Script di atas berfungsi untuk menampilkan seluruh Error dan Notice. Kalo belum tahu apa itu notice, mungkin artikel ini ( Solusi Peringatan "Notice: Undefined offset: N" pada PHP ) bisa membantu. Script tersebut bisa disisipkan di file yang dipake (include) oleh semua file dalam aplikasi kita. Misal file yang berisi konfigurasi database.

Jika ingin menyembunyikan semua Error dan Notice, gunakan script seperti di bawah ini:

<?php
error_reporting(0);
ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);
ini_set('track_errors', 0);
?>


Semoga bermanfaat dan Have a nice day. :D


Written by ElangSakti
PHP : Munculkan atau Sembunyikan Semua Error dan Notice
Bahasan: Bagi pembelajar PHP, pengetahuan ini termasuk hal yang mendasar, sebab yang namanya programmer (dan khususnya developer PHP) tentu akan me...
Published at , Updated at
Reviewed by dr. on
Rating: 4.7

Tidak ada komentar :

Posting Komentar