Wednesday, December 28, 2011

file_get_contents file access is disabled

pada waktu membuka url, dengan kode :
file_get_contents($url)

saya mendapat error seperti ini:

Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in XXXX.php on line XX

setelah saya cek ternyata server (hosting) saya tidak mendukung untuk file_get_contents() / disable olah pelimik hosting.

sedangkan aplikasinya tidak bisa berjalan kalau file_get_contents() tersebut tidak aktif.

solusinya bisa mengunakan curl.

function curl_get_contents ($url) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CaURLOPT_URL, $url);
$html = curl_exec($curl);
curl_close($curl);
return $html;
}


kemudian saya ubah kode menjadi seperti ini:
ubah :
file_get_contents($url)

menjadi:
curl_get_contents($url)

dan bisa berjalan dengan baik.

Menyimpan dan mengambil gambar dari Database dengan ADODB

Bagaimana cara menyimpan gambar ke dalam sebuah database, dengan pemprogramman VB6 ?
Berikut, penggalan kode yang mungkin bisa menjadi insipirasi anda.

1. Buat Database sebagai berikut (gunakan MS ACCESS / SQL SERVER). saya sudah pernah mencoba dengan MySQL Tapi tidak bisa mengunakan fungsi ini jika gambar berukuran kurang dari 1 MB.

Buat table tbl_photo di database anda.

TBL_PHOTO
---------
IDPHOTO AUTO NUMBER
PHOTO IMAGE / BLOB


2. Buat Project Visual basic 6
3. Sebelumnya anda tambahkan terlebih dahulu library Microsoft Scripting Runtime pada menu Project > Referance.
library ini memiliki sejumlah fungsi yang berhubungan dengan pengolahan File & directory. anda bisa melakukan pengecekan apakah file ada didalam sebuah directory atau tidak anda.
4. Tambahkan Libary Microsoft ActiveX data Object 2.x library (anda bisa ambil versi yang terakhir 2.8)
5. berikut fungsi save & get image ke database

Function saveImage(rs As Object, FieldName, mPicture As Object, fileExt As String)
Dim strPath As String
Dim strIn As String
Dim fo As New FileSystemObject

Dim mystream As New ADODB.Stream
Set mystream = New ADODB.Stream
mystream.Type = adTypeBinary


If Not IsNull(mPicture) Then
strPath = App.Path & "\savePic.jpg"
If fo.FileExists(strPath) Then
Kill strPath
End If
If mPicture <> 0 Then
SavePicture mPicture, strPath

mystream.Open
mystream.LoadFromFile strPath
rs.Fields(FieldName) = mystream.Read

End If
End If
mystream.Close
End Function
Function LoadImageFromDB(rs As Object, FieldName, mPicture As Object)
Dim strOut As String
Dim strFileout As String
Dim mystream As New ADODB.Stream
mystream.Type = adTypeBinary


If Trim(rs.Fields(FieldName).Value & "") <> "" Then
strOut = Space(rs.Fields(FieldName).ActualSize)

' Save the image to file

strFileout = App.Path & "\LoadPic.jpg"
If strOut <> "" Then
If Dir(strFileout, vbArchive Or vbHidden Or vbNormal Or vbReadOnly Or vbSystem) <> "" Then Kill strFileout
mystream.Open
mystream.Write rs.Fields(FieldName)
mystream.SaveToFile strFileout, adSaveCreateOverWrite
Set mPicture.Picture = LoadPicture(strFileout)

Else
Set mPicture.Picture = Nothing
End If
mystream.Close
End If
End Function




anda bisa download sourcecodenya disini: http://bit.ly/sN60qI

Monday, November 7, 2011

Membuat account Paypal

Beberapa bulan yang lalu saya membuat account paypal, karena kebetulan lagi perlu untuk pembayaran secara online. ada beberapa hal yang akan saya share dengan anda semua.

Keuntungan dari memiliki account ini adalah :
* Bisa menerima pembayaran dari Luar negeri, mata uang Dolar, Euro dll.
* Ada fasilitas konversi mata uang.
* Bisa digunakan sebagai pembayaran untuk pembelian barang di toko online (amazon.com, ebay.com).
* Bisa menarik dana dari paypal dan di pindahkan ke bank local indonesia.
* Bisa membuat Invoice di account ini.
* Bisa digunakan untuk account pembayaran kalau misalkan mempunyai toko online.

Kekurangannya yang saya alami :
* Penerimaan dana di kenakan biaya :(  tidak seperti kita menerima transferan dari orang di account bank lokal kita.
* Total penerikan (withdraw) < 1,500,000 di kenakan fee Rp. 16.000,- diatas itu Free.
* Nilai konversi ke Rupiah lebih rendah di banding dengan nilai kurs yang ada di bank lokal (klikbca.com), misal di BCA $1=9,050,- di Paypal cuman 8,700,-
* Penarikan dana (Withdraw) dibutuhkan waktu 2 hari kerja. jadi misalkan nariknya hari jumat maka dia akan diproses hari senin/selasa, bisanya sih hari senin sudah terkirim.

Berikut tahapan-tahapan yang saya lakukan waktu membuat account paypal :

1. Saya mendaftar di paypal (gratis) di situs www.paypal.com
2. Setelah itu saya diminta untuk verify account, karena jika belum verifed ada limit untuk withdraw(penarikan) / penerimaan dana terbatas.
3. Untuk verifikasi harus mengunakan kartu kredit. Kebetulan saya sendang tidak ada kartu kredit, akhirnya cari-cari info dapat cara mengunakan VCC (Virtual Credit Card) saya beli dengan harga Rp.80,000. kemudian saya aktivasi account saya sesuai dari panduan pihan VCC. dan setelah 2 hari saya buka account saya VERIFIED.
4. Tapi waktu itu account saya masih Personal, akhirnya saya upgrade menjadi Premier, kerena tidak ada biaya tambahan dan versi premier jauh lebih lengkap.


Segini dulu pengalaman dari saya, nanti kalau ada tambahan lagi akan saya update...

 Ayo... bikin account paypal sekarang juga :)

Monday, August 1, 2011

Membuat Function di SQL Server


Pada database server (SQL Server/MySQL) terdapat fasilitas untuk pembuatan function, function digunakan untuk membuat printah dan di jalankan ketika select / update data.

contoh:
select substring(fnama,1,2) from tabel1

pada contoh penggalan sintak sql diatas substring merupakan fungsi yang telah di definiskan (defult) oleh sql server. dan kita bisa membuat fungsi sendiri sesuai dengan kebutuhan.

contoh seperti ini:

select
(case when Harga is null then 0 else Harga end * 
case when JmlBeli is null then 0 else JmlBeli end) as totalBeli
from penjualan


kondisi diatas mengecek jika isi field harga/jmlbeli itu null maka di ganti dengan 0, karna nilai NULL jika di kali dengan nilai berapapun hasilnya NULL, untuk itu harus di ubah dulu menjadi 0.

Dari contoh diatas baru beberapa baris saja, bagaimana jika sql yang kita tulis itu banyak dan komplek, akan sangat memusingkan jika harus mengetik sepanjang itu. Untunglah ada function di sql server.

beginilah sintax untuk membuat function di sql server:


CREATE FUNCTION [dbo].[ceknull]
(
-- @AUTHOR YUSUF HERMANTO


@fnilai float
)
RETURNS float
AS
BEGIN
DECLARE @n float

if (@fnilai is NULL)
begin
set @n = 0 
end
else
begin
set @n = @fnilai
end


return convert(float,@n)


END

kemudian execute sintax diatas, dan selanjutnya kita bisa panggil sintax sql diatas seperti ini:

select
(ceknull(harga) * ceknull(JmlBeli)) as totalBeli
from penjualan

labih singkat kan... :)

Mengambil gambar dalam directory protected


Misalkan kita ada gambar di dalam sub folder dalam sebuah components(di folder yang lain juga).

application
+ components
- images
- add.png
- modify.png

dan kita ingin mengambil gambar tersebut dan menampilkannya di <img> html tag.
untuk melakukan ini di Yii kita perlu mempublish dahulu file-file yang akan di panggil agar bisa di kenal.

// di gunakan untuk mendapatkan directory dari images
// appliacation/components/images
$imagePath=Yii::getPathOfAlias('application.components.images');

// mempublistnya ke dalam directory asset
$baseUrl = Yii::app()->assetManager->publish($imagePath);

// menampilkan gambar
echo CHtml::image($baseUrl.'/add.png');
echo CHtml::image($baseUrl.'/modify.png');


pada baris ini :
$imagePath=Yii::getPathOfAlias('application.components.images');

berarti kita mempublish seluruh file yang ada di folder tersebut, jika hanya ingin mempublish file tertentu bisa menggantinya sebagai berikut:
$imagePath=Yii::getPathOfAlias('application.components.images.add.png');

Wednesday, July 27, 2011

Multiple Rows to Single Row


Maksud dari judul ini adalah misalkan kita ingin menjadikan isi dari beberapa baris menjadi satu baris, deretean baris tersebut menjadi kolom-kolom.
contoh data:

Misal kita namakan tabel ini tabel: T_ORDER

order_id              product_order
--------                   ------------
SO201101            MOUSE
SO201101            KEYBOARD
SO201101            SOFTWARE

nah kita ingin menjadikan data tersebut menjadi:

order_id              ORDER PRODUK
--------                   -------------
SO201101            MOUSE, KEYBORAD, SOFTWARE


terus bagaimana caranya menggunakan sintax SQL

SELECT pm.fk,
                (
                SELECT
                                P.[product_order] + ','
                FROM
                                T_ORDER P
                WHERE
                                P.fk = PM.fk
                ORDER BY P.[product_order] FOR XML PATH('')
) as [ORDER PRODUK]
FROM T_ORDER
AS PM group by pm.fk

PM => Alias/Nama lain dari tabel T_ORDER

Friday, July 22, 2011

Menampilkan data di GridView dengan CSqlDataProvider

Di Yii ada 2 class data provider yang disediakan untuk bisa menjadi sumber data pada grid view / list view. Bedanya adalah asal data itu dihasilkan. Jika CSqlDataProvider data yang kita perolah kita proses dari Sintax SQL (String), sedangkan CActiveDataProvider kita peroleh dari Class (Object) ActiveRecord.

Pada artikel ini akan di bahas tentang pengunakan CSqlDataProvider sebagai sumber data dalam Sebuah Gridview.

1. Kita anggap kita sudah belajar Yii sebelumnya, jadi untuk cara-cara pembuatan file controller, view sudah kita pahami.
2. Pada controller kita buat fungsi untuk mengambil data.
public function getCustomerList(){

// Ambil data Customer list
$sql ="SELECT a.*,b.name as groupname
FROM `customer` as a
left join customer_group as b
on a.customer_group_id = b.customer_group_id";

//menentukan jumlah baris yang ada(ini akan berhubungan dengan pagination)
$count = Yii::app()->db->createCommand('select COUNT(*) from customer')->queryScalar();

//buat sql data provider
$dprov = new CSqlDataProvider($sql,array(
'totalItemCount'=>$count,
'keyField'=>'customer_id',
'pagination'=>array('pageSize'=>20),
'sort'=>array(
'attributes'=>array(
// kode ini jika adalah menempatkan atribut yang bisa di sorting/urutkan.
'firstname','lastname','groupname','email','date_added','status','telephone'
),
),
)
);
return $dprov;

}

public function actionGridViewList(){
$model = $this->getCustomerList();

$this->render('/account/admin',array('model'=>$model));
}
3. kita buat kode di bagian viewnya (untuk menampilkan data di CGridView).

$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'gridcust',
'dataProvider'=>$model,
'enableSorting'=>true,
'columns'=>array(


array(
'header'=>'Nama Customer'),
'value'=>'$data[firstname]." ".$data[lastname]',
'name'=>'firstname',
),
array(
'header'=>Yii::t('MGlobal', 'tbl.email'),
'name'=>'email',
),


array( // display a column with "view", "update" and "delete" buttons
'class'=>'CButtonColumn',
),


),
));

4. dan jika anda berhasil makan hasilnya akan tampil seperi gambar dibawah ini


reference:
* www.yiiframework.com

Monday, July 18, 2011

Membuat Store Procedure di SQL Server.

Pada pembuatan aplikasi database kita mengunakan database server sebagai sebagai media untuk menyimpan data, contoh SQLServer & MySQL ada beberapa contoh aplikasi database server yang lainnya.

Pada database server biasanya ada fasilitas Store Procedure. Untuk MySQL server baru ada fasilitas ini sejak versi 5.x.x keatas (yang terbaru).

Beberapa manfaat yang bisa kita dapatkan (ini manfaat yang saya rasakan saja) :
* kita bisa membuat perintah/manipulasi data, sebelum data di proses ke database (update, delete, insert, select).
* performance lebih cepat ketimbang query langsung (tergantung juga dari query yang dibuat).
* ringkas


cara pembuatan store procedure pada database SQL SERVER:

CREATE PROCEDURE SP_SIMPANCUSTOMER
---- variable untuk input parameter
@KODE VARCHAR(5),
@NAMA VARCHAR(50)
@FLAG VARCHAR(1)
AS
BEGIN
declare @sf varchar(20);

if(@FLAG == 1)
--- awal untuk sebuah kondisi
BEGIN
@sf = "ONLINE"
end

else
begin
@sf = "OFFLINE"
end

insert into tbl_customer
(kode,nama,asal)
values
(@KODE,@NAMA,@sf)

END
GO


kemudian untuk memanggil/mengunakan prosedurnya:

exec SP_SIMPANCUSTOMER 'A001','PT. INDO INDO AJA','1'

keterangan:
* varibel di awali dengan simbol @.
* pada pengalan code SQL diatas dapat diartikan bahwa kita akan membuat store procedure dengan nama SP_SIMPANCUSTOMER dengan data masukan KODE,NAMA & FLAG dengan tipe varchar.
* kemudian store procedure akan memproses terhadap nilai @FLAG jika nilai itu 1 maka akan membuat data "ONLINE" dan selain itu "OFFLINE".
* kemudian lakukan penyimpanan data ke tabel tbl_customer.

referance:
* msdn.microsoft.com

Sunday, July 17, 2011

Mengaktifkan button First / Last Pada GridView (Paging)

Saat kita mengunakan CGridView Control dari Yii, tampilan standar pagernya adalah First dan Last tidak tampil. yang tampil hanya Previous dan Next. Seperti yang terlihat pada gambar dibawah ini:




pada gambar diatas posisi pager saat ini adalah 3, berarti ada 4 kemugkinan yang bisa dipilih, First,Previous,Next atau Last, sedangkan yang tampil hanya dua pilihan Previous & Next.
misalkan saja code untuk menampilkan data di CGridView seperti ini:

$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$model,
'pager'=>array('class'=>'CLinkPager'),
'enableSorting'=>true,
'columns'=>array(
'firstname', // display the 'title' attribute
'lastname', // display the 'name' attribute of the 'category' relation
array(
'name'=>'E-mail',
'value'=>$data->email,
),
array( // display a column with "view", "update" and "delete" buttons
'class'=>'CButtonColumn',
),
),
));


karena pada artikel ini kita membahas pager maka attributes selain pager kita diamkan dulu / tidak dibahas. Kita coba bahas di pager saja:

'pager'=>array('class'=>'CLinkPager')

kode diatas dimaksudkan bahwa pager yang di pakai CGridView itu diturunkan (extended) dari class CLinkPager, karena default dari pager adalah CPagination.
mengapa memilih CLinkPager ?
Karena pada class ini kita bisa mengatur Nama label dari First, Next, Previous dan Last sesuai dengan keinginan kita.

ok, balik lagi ke topik sebelumnya soal tombol page First & Last. Bagaimana nampilkannya ? karna di propertis dari CGridView sendiri tidak ada ?
jawabannya terletak pada pager.css yang ada di directory framework(framework/web/widgets/pagers/pager.css).
coba perhatikan class dari css ini:

/**
* Hide first and last buttons by default.
*/
ul.yiiPager .first,
ul.yiiPager .last
{
display:none;
}


jika kita tidak ingin tombol First & Last tidak tampil biarkan css class diatas seperti itu. tapi kalau mau kita munculkan ubah seperti ini:

ul.yiiPager .first,
ul.yiiPager .last
{

}

maka kita akan mendapatkan paging seperti ini:




referensi:
* www.yiiframework.com
* http://www.yiiframework.com/search/?type=api-suggest&q=clinkpager

Thursday, July 14, 2011

Debugging di Visual Studio 2010

Debugging sering kita lakukan untuk menguji program / melihat alur proses yang ada di program, dengan mengecek satu persatu / langkah demi langkah, untuk mengatasi bug dari program.

berikut ini adalah proses mendebug program pada Visual Studio 2010.

Memulai Mendebug [F5]
Untuk memulai proses debug anda bisa pilih menu "Start Debugging" atau dengan cara tekan tombol "F5"

Breakpoints [F9]
Digunakan untuk menandai baris kode yang akan di debug.
untuk membuat breakapoints anda tinggal klik pada side bar code atau bisa juga tekan "F9" pada baris kode yang akan anda beri tanda breakapoints.
dengan memberikan breakapoints berarti ketika anda masuk kedalam kode yang telah diberitanda program akan berhenti dan program akan membawa anda ke baris kode tersebut.

Debug dengan Breakpoints
Misalkan anda telah menandai kode dengan breakpoints yang mana anda ingin menghentikan proses dan ingin mengecek baris perbaris dari kode yang telah anda buat. Jalankan proses debug dengan tekan 'F5' dan program akan di hentikan pada kode program yang telah anda berikan breakpoints.
ada beberapa tool yang digunakan untuk melakukan debug program antara lain :


Step Over [F10]
ini digunakan untuk mendebug kode baris demi baris, anda bisa melakukannya dengan menekan tombol 'F10'

Step Into [F11]
digunakan untuk mendebug kode dan akan mendebug sampai ke sub methodnya.
untuk melakukannya tekan tombol 'F11'

Step Out [Shift - F11]
Digunakan jika anda ingin keluar dari debug di dalam suatu method.

Continue
gunakan perintah ini untuk melanjutkan proses program, anda bisa klik key 'F5' untuk menjalankan proses ini.

Set Next Statement
ini mengijinkan anda untuk memindah posisi dari debug anda. shortcut dari kontrol ini adalah 'Ctrl + Shift + F10'

VB.NET: String

String.Length


Digunakan untuk mendapatkan jumlah karakater pada sebuah String.

System.String.Length() As Integer


Mengembalikan nilai Integer, berarti mengembalikan jumlah karakater.
contoh:
"test".Length()



nilai yang akan dihasilkan adalah: 4, merupakan jumlah karakater pada String "test".

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
StringLength()
End Sub

Sub StringLength()
Dim sNama As String

sNama = "Visual Basic"
MsgBox(sNama.Length)

End Sub
End Class

kode diatas akan menghasilkan nilai: 12, karena variable sNama terdapat 12 karakater.

String.Insert
digunakan untuk menyisipkan String pada posisi index yang ditentukan pada sebuah instance dari String.

System.String.Insert(Integer ind, String str) as String


Parameters:

- ind -> Index dari string yang akan disisipkan.
- str -> Nilai yang akan disisipkan

Return:
String - nilai yang dihasilkan dari fungsi ini adalah string.

Exceptions:

System.ArgumentOutOfRangeException: Jika posisi index negatif atau posisi index lebih dari total karakater.

System.ArgumentNullException : jika arguman Null


Sub StringInsert()
Dim sn As String
sn = "VB.NET"
Dim sNilai As String = sn.Insert(6, " 2010")
MsgBox(sNilai.ToString)
End Sub

kode diatas akan menghasilkan nilai : VB.NET 2010

String.IndexOf()
digunakan untuk mendapatkan posisi(index) dari sebuah karakater. nilai dihasilkan adalah Number. jika tidak ditemukan nilai yang dihasilkan adalah -1.

System.String.IndexOf(String str) As Integer

Parameters:

str - Nilai string yang akan dicari.

Returns:

Integer - Nilai number/posisi index, mengembalikan posisi karakater.
jika tidak ditemukan akan menghasilkan nilai : -1

Sub StringIndexOf()

Dim sn As String
sn = "Visual Basic 2010"
MsgBox(sn.IndexOf("2010"))

End Sub

kode diatas akan mengembalikan nilai: 13, merupakan posisi dari nilai "2010"

Event Enter pada Yii.

Bagaimana untuk membuat event enter pada sebuah textbox, misalkan kita mau pindah dari textbox 1 ke textbox yang berkutnya.
disini kita akan mengunakan JQuery sebagai pemrograman untuk memprosesnya, di Yii ada perintah sendiri untuk meng mnyisipkan printah (script) javascript

terdapat pada clss CClientScript dan method registerScript

http://www.yiiframework.com/doc/api/1.1/CClientScript#

ini digunakan untuk menyisipkan perintah javascript



Yii::app()->clientScript->registerScript('test', '
$(\'#textfield1\').keypress(function(e){
if(e.keyCode == 13) {
$(\'#textfield2\').focus();
}
});
');


kuncinya terdapat di pada script

if(e.keyCode == 13) {
$(\'#textfield2\').focus();
}

keycode 13 merupakan kode ASCII untuk tombol Enter

setelah itu kita bisa panggil programnya seperti di bawah ini dan bisa pindah ke textfield dengan tekan tombol Enter

echo CHtml::textField('textfield1', 'a', array('id' => 'textfield1'));
echo CHtml::textField('textfield2', 'b', array('id' => 'textfield2'));
Reference: www.yiiframework.com

Membuat Box Bahasa dan memanggilnya di setiap halaman web dibuka

Langkah pertama adalah kita mengubah baris kode pada configurasi pada main.php, menjadi


return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'Toko Onlineku',
'language'=>'id', // id jika ingin menjadikan default bahasa yang di pakai indonesia
// eg jika Bahasa inggris



dan nantinya kita bisa memanggilnya:


Yii::app()->language


Selanjutnya di kita buat komponent file pada directory component, sebut saja nama file controllernya LangBox.php


<?php
// controller untuk Language Box
class LangBox extends CWidget {
   
    public function run(){
        $currlang = Yii::app()->language; // ambil settingan bahasa yang ada sekarang
        $this->render('langBox',array('currentLang'=> $currlang)); // tampilkan di view
    }
   
}
?>
kemudian pada directory: components->view kita buat file langBox.php
<?php echo CHtml::form();
?>
    <div id="langdrop">
        <?php echo CHtml::dropDownList('_lang', $currentLang, array(
            'en' => 'English', 'id' => 'Indonesia','ru' => 'Rusia'), array('submit' => '')) ?>
    </div>
</form>

setelah itu kita buat class LayoutHandler agar bisa di panggil setiap halaman di buka:
<?php
// handle Layout initial request

// When Application started this the first step to do

class LayoutHandler extends CApplicationComponent {
   
    public function init(){

       parent::init();
           $app = Yii::app();
        if (isset($_POST['_lang']))
        {
            $app->language = $_POST['_lang'];
            $app->session['_lang'] = $app->language;
        }
        else if (isset($app->session['_lang']))
        {
            $app->language = $app->session['_lang'];
        }
}
?>


kemudian simpan di directory components.
dan selanjutnya kita modifikasi lagi bagian main.php (configation) menjadi:



return array(
    'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
    'name'=>'Toko Onlineku',
    'language'=>'id',

    // preloading 'log' component
    'preload'=>array('log','layoutHandler'),

    'components'=>array(
       
        'layoutHandler'=>array(
                'class'=>'LayoutHandler',
            ),



dan selanjutnya untuk menampilkan box language panggil dengan perintah:

<?php $this->widget('LangBox'); ?>

Wednesday, June 8, 2011

Bagimana membuat controller serta View baru di Yii ?


Bagimana membuat controller serta View baru di Yii PHP Framework ?

di Yii menerapkan konsep MVC, sehingga terdiri dari bagian berikut:
- Model : merupakan class untuk mengontrol data dan validasi
-> bisa diturunkan dari Class CModel
- View : digunakan sebagai tampilan dari halaman.
- Controller : merupakan class untuk mengontrol aktifitas dari View dan Controller.
-> pada controller kita bisa memanggil view serta melakukan proses eksekusi yang lainnya.

Adapun susunan directorynya sebagai berikut :

Protected
- Controller
- Views
- Model

Bagaimana membuat Halaman baru ? (dengan catatan sudah mengenerate standard dari aplikasi dengan Yii)

Misalkan kita hendak membuat sebuah halaman tentang partfolio.

1. Membuat sebuah Controller
- PageController.php

class PageController extends Controller {

public function actionMypage(){
$this->render('mypage');
}
}

kemudian simpan di directory Controller
protected
- Controller
-> PageController.php

2. Membuat View
- mypage.php

<?php
echo 'My Page';
?>

kemudian simpan di directory view
protected
- views
-> mypage.php


dan selanjutnya anda bisa mamanggil view ini dari url sebagai berikut :
http://localhost/yourapp/index.php?r=page/mypage
* page merupakan nama class dari controller
* mypage adalah nama method dari controller

reference :
www.yiiframework.com

Thursday, May 19, 2011

ASP - Mengecek File

Untuk melakukan pengecekan terhadap sebuah file (gambar) pada ASP (Classic), dapat memanfaatkan library dari Scripting.FileSystemObject
library ini juga bisa di gunakan pada aplikasi desktop (vb6/vb.net)


<%
'ASP

function isFileExist(sfile)
dim fs

'mendefinisikan object File Sytem Object (library)
'yang digunakan sebagai pengakses dari sebuah file / directory

set fs=Server.CreateObject("Scripting.FileSystemObject")
if fs.FileExists(server.mappath(sfile))=true then
 isFileExist = true
else
 isFileExist = false
end if
set fs=nothing
end function

dim sFile

sFile = "/img/found.jpg"

if isFileExist(sFile) then

' ada file
else
' tidak ada file

end if

%>

Wednesday, March 23, 2011

VB.NET: Option Explicit [On][Off]

Option Explicit [On][Off]
Perintah ini mengijinkan kita untuk bisa mendefinisikan variable atau tidak.
jika mode dari perintah ini ON maka semua variable di dalam Class harus di definisikan, sedangkan jika mode Off variable bisa tidak di definisikan terlebih dahulu.

Option Explicit [On Off]

Perintah ini ditempatkan di bagian awal dari sebuah Class.

Berikut ini contoh :

Option Explicit Off

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click

sProg = "VB.NET"

MsgBox(sProg)
End Sub
End Class


dari contoh kode diatas kita tidak perlu mendefinisikan variable sProg, bisa juga Option Explicit Off tidak di tulis.

dan kode dibawah ini jika kita ingin agar semua variable di definisikan :


Option Explicit On

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click

sProg = "VB.NET"

MsgBox(sProg)
End Sub
End Class

Friday, March 18, 2011

OpenOffice

Anda mungkin pernah mendengar / bahkan sudah menggunakan openOffice sebagai pengganti dari microsoft Office, openoffice juga biasa disebut oOo.

Beberapa waktu lalu dikantor tempat saya bekerja mencoba untuk mengupgrade dari Ms Office ke OpenOffice, berikut ini beberapa alasannya :

1. OpenOffice free software, jadi kita tidak perlu kawatir dengan licensi
2. OpenOffice Uptodate maksudnya adalah kita bisa dapatkan software dari openoffice terbaru secara gratis. tinggal download dan install di komputer pribadi kita :)
3. OpenOffice hampir mirip dengan Microsoft Office, fitur2 yang ada di MS Office sebagian besar bisa berjalan di OpenOffice.
4. OpenOffice bisa membuka file-file Ms Office (Excel, Word, Power Point)
5. Aman dari virus, sejauh ini saya belum mendapatkan file yang bertipe OpenOffice terkena virus dibanding dengan file yang berformat Microsoft Office. Tapi tidak menutup kemungkinan bisa terjadi juga pada OpenOffice.

Berikut ini Aplikasi yang terdapat pada Open Office:

1. OpenOffice Writer (ini mirip dengan microsoft word)
2. OpenOffice Math (digunakan untuk perhitungan matematika)
3. OpenOffice Calc (digunakan untuk spreed sheet / sama dengan Microsoft Excel)
4. OpenOffice Impress (digunakan untuk membuat presentasi / sama dengan Microsoft Power Point)
5. OpenOffice Base (digunakan untuk membuat database File / sama dengan Microsoft Access)
6. OpenOffice Draw (digunakan untuk menggambar)

Tampilan :
oOo Calc


oOo Writer


oOo Impress



Tempat mendapatkannya :
Untuk mendapatkan OpenOffice bisa anda download dari link ini
pada saat tulisan ini diposting openoffice sudah release di versi 3.3.0

OS:
OpenOffice bisa berjalan di beberapa Sistem Operasi: Windows, Linux dan Mac


so.., silahkan di coba... :)

Monday, February 14, 2011

SQL Server Express Edition

Microsoft merelease SQL Server versi Express sekitar tahun 2005 bersamaan dengan Visual Studio 2005. ini juga di lanjutkan pada versi 2008
Yang menarik buat saya adalah Database ini free alias gratis (mudah-mudahan memang benar begitu) Versi SQL Server Express yang bisa di download : * SQL Server 2005 Express * SQL Server 2008 Express Ukuran size dari database ini adalah 4 GB, jadi lumayan besar. untuk info lebih detail bisa di baca di sini disediakan juga SQL Server Management Studio Express sebagai pengolah dari database tersebut bisa di download di sini