Sunday, June 21, 2015

Koneksi Database SQL Server pada Codeigniter

Untuk menghubungkan PHP(codeigniter) dengan SQL Server, dibutuhkan driver tambahan dan setting yang tepat. Sebagai informasi, versi aplikasi penulis gunakan:
  • Microsoft SQL Server 2008 R2 Express
  • XAMPP 5.6.3-0
  • PHP 5.6.3 TS
  • Apache 2.4.10
  • Codeigniter 2.2.2

Pertama, cek versi PHP yang telah terpasang(Thread Safe (TS) atau Non Thread Safe (NTS)). Buka web browser, arahkan ke http://localhost/xampp/ lalu klik tautan phpinfo(). Lihat bagian Thread Safety, jika tertulis enabled maka versi PHP adalah Thread Safe (TS), selain itu adalah Non Thread Safe (NTS).

Selanjutnya, unduh  Microsoft Drivers for PHP for SQL Server. Sesuaikan dengan versi PHP yang digunakan. Saat artikel ini ditulis, terdapat 4 versi driver:
  1. SQLSRV20.EXE: tidak ada keterangan, membutuhkan Microsoft SQL Server 2008 R2 Native Client versi x86
  2. SQLSRV30.EXE: kompatibel dengan PHP 5.4, membutuhkan Microsoft SQL Server 2012 Native Client versi x86
  3. SQLSRV31.EXE: kompatibel dengan PHP 5.5 and 5.4, membutuhkan Microsoft ODBC Driver 11 (atau yang lebih tinggi)
  4. SQLSRV32.EXE: kompatibel dengan PHP 5.6, 5.5, and 5.4, membutuhkan Microsoft ODBC Driver 11 (atau yang lebih tinggi)

Sesuai informasi yang penulis peroleh pada langkah sebelumnya, maka penulis perlu mengunduh dan memasang Microsoft® ODBC Driver 11 for SQL Server® - Windows dan SQLSRV32.EXE. Sesuaikan dengan versi Windows yang akan digunakan, untuk Windows 64-bit unduh berkas 1033\x64\msodbcsql.msi, sedangkan untuk Windows 32-bit unduh berkas 1033\x86\msodbcsql.msi. Untuk memasang SQLSRV32.EXE dapat dilakukan dengan cara double click berkas yang telah diunduh, atau bisa juga dengan cara mengekstraknya menggunakan aplikasi WinRAR atau 7Zip. Kopi berkas php_sqlsrv_56_ts.dll (sesuai spesifikasi yang penulis gunakan) yang didapat dari SQLSRV32.EXE ke FOLDER_XAMPP\php\ext. Buka berkas FOLDER_XAMPP\php\php.ini menggunakan text editor, pada bagian Dynamic Extensions tambahkan:
;extension=php_ldap.dll
extension=php_sqlsrv_56_ts.dll

Untuk melakukan tes koneksi, buat sebuah file .php dengan isi:
<?php
$serverName = "(local)"; //sesuaikan dengan spesifikasi yang digunakan
$conn = sqlsrv_connect( $serverName);

if( $conn === false )
{
     echo "Could not connect.\n";
     die( print_r( sqlsrv_errors(), true));
}

if( $client_info = sqlsrv_client_info( $conn))
{
       foreach( $client_info as $key => $value)
      {
              echo $key.": ".$value."\n";
      }
}
else
{
       echo "Client info error.\n";
}

sqlsrv_close( $conn);
?>

Buka berkas .php yang telah dibuat menggunakan web browser, jika terlihat pesan kesalahan "Could not connect..." berarti koneksi belum berhasil, cek detil pesan kesalahan yang ditampilkan. Selain itu, berarti SQL Server siap dikoneksikan dengan codeigniter. Untuk konfigurasi yang diperlukan untuk SQL Server (database.php pada codeigniter) adalah:
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'XXXXX';
$db['default']['password'] = 'XXXXX';
$db['default']['database'] = 'tutorial';
$db['default']['dbdriver'] = 'sqlsrv';
$db['default']['pconnect'] = FALSE;





Referensi:
  • https://futbolsalas15.wordpress.com/2014/02/23/7-steps-to-make-sql-server-and-codeigniter-works/
  • http://www.manjustudio.com/2013/01/09/codeigniter-mssql-sqlsrv/
  • https://msdn.microsoft.com/en-us/library/cc296165(v=sql.105).aspx

Tuesday, June 2, 2015

Instalasi OS X 10.8 Mountain Lion pada Notebook Asus N43SL

Beberapa tahun lalu, tepatnya pada tahun 2013, adalah pertama kalinya penulis berhasil menginstalasikan OS X (10.8 alias Mountain Lion) kedalam notebook (Asus N43SL). Walaupun masih ada bug yang belum bisa penulis atasi, tapi penulis merasa cukup puas karena ini merupakan pengalaman pertama dan bisa digunakan acuan untuk instalasi notebook lainnya. Penulis akan membagikan langkah-langkah yang penulis lakukan saat itu.

USB installer OS X 10.8 penulis dapatkan dengan cara membeli di sebuah forum jual beli. Siapkan tetikus eksternal, karena papan sentuh internal tidak berfungsi saat proses instalasi. Pasang USB flashdisk di port USB2, set BIOS untuk booting melalui USB. Gunakan "-x -v" sebagai boot argument. Pasang OS X 10.8 di partisi yang diinginkan. Reboot.

Lakukan booting melalui USB, kali ini pilih partisi yang telah dipasang OS X. Gunakan "-x -v" sebagai boot argument. Setelah berhasil login, hapus berkas / kext dengan nama awal AMDRadeon, ATI, GeForce, NVDA serta berkas dengan nama AppleIntelCPUPowerManagement.kext dari /System/Library/Extensions. Hapus berkas / kext AppleACPIPS2Nub.kext, ApplePS2Controller.kext, FakeSMC.kext, NullCPUPowerManagement.kext dari /Extra/Extensions. Unduh aplikasi Pandora's Box kemudian buka. Pasang aplikasi / kext berikut:

  1. FakeSMC.kext
  2. patched / patching Kexts > FakeSMC Plug-in
  3. patched / patching Kexts > Power Management > NullCPUPowerManagement.kext
  4. Applications > Chameleon Wizard
  5. Applications >  Kext Utility
  6. Applications >  DSDT Editor
  7. Applications >  ShowAllFiles
  8. Applications >  HWMonitor
Reboot.

Selanjutnya adalah, melakukan pembaruan sistem dari versi 10.8 menjadi 10.8.5. Unduh OS X Mountain Lion Update v10.8.5 (Combo) lalu pasang. Unduh kemudian buka aplikasi myHack, pilih Remove Problematic Extension. Ulangi langkah sebelumnya, yaitu hapus berkas / kext dengan nama awal AMDRadeon, ATI, GeForce, NVDA serta berkas dengan nama AppleIntelCPUPowerManagement.kext dari /System/Library/Extensions. Reboot.

Unduh lalu buka aplikasi MultiBeast, pasang kext berikut:
  1. Drivers & Bootloaders > Drivers > Miscellaneous > USB 3.0 - Universal
Buka aplikasi Pandora's Box, pasang kext berikut:
  1. Laptop Support Option -> Battery Management -> AppleACPIPlatform roll back
  2. Laptop Support Option -> Battery Management -> AppleSmartBatteryManager.kext
  3. patched / patching Kexts -> Network -> Wireless -> WifiInjector
Hapus AppleHDA.kext dan IOAudioFamily.kext dari /System/Library/Extensions. Unduh lalu buka aplikasi Kext Utility, pasang kext berikut:
  1. AsusNBWMI.kext
  2. ApplePS2Controller.kext
  3. AppleACPIPS2Nub.kext
  4. AppleHDA.kext
  5. IOAudioFamily.kext
Unduh lalu buka aplikasi Chameleon Wizard, gunakan pengaturan seperti berikut:
  1. Install > Install method -> Boot0hfs
  2. salin smbios.plist dari USB ke /Extra
  3. SMBios > MacBook Pro (8,1)
Ubah hak akses: sudo chmod 755 /Extra/org.chameleon.Boot.plist
Contoh isi org.chameleon.Boot.plist yang penulis gunakan:
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>GeneratePStates</key>
<string>Yes</string>
<key>EnableWifi</key>
<string>Yes</string>
<key>Graphics Mode</key>
<string>1366x768x32</string>
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>-v</string>
<key>Timeout</key>
<string>5</string>
<key>UseKernelCache</key>
<string>Yes</string>

Unduh berkas DSDT.aml, silahkan cari di forum hackintosh baik dalam maupun luar negeri, letakkan di /Extra. Beberapa pengaturan tambahan yang penulis lakukan antara lain:
  • Disable Bluetooth Assistant
    • System Preferences -> Bluetooth -> Advanced -> Uncheck Open Bluetooth Setup Assistant at startup if no keyboard is detected
    • System Preferences -> Bluetooth -> Advanced -> Uncheck Open Bluetooth Setup Assistant at startup if no mouse or trackpad is detected
  • Disable hibernation
    • sudo pmset -a hibernatemode 0
    • sudo rm /var/vm/sleepimage