Archive

Author Archive

Tutorial-Doctrine (Part-2-Schema)

November 3rd, 2010
Comments Off

Skema/Schema, merupakan definisi database yang akan digunakan dalam sistem yang kita kembangkan. Skema ini harus disimpan di dalam folder ./root/schema.

Untuk mempermudah dalam melakukan pemeliharaan sistem, maka skema database yang akan dibuat disimpan dan didefinisikan dalam format YAML. Adapun aturan/syntax penulisannya adalah sebagai berikut:

schema

Catatan :

  • Gunakan spasi untuk mengganti karakter TAB.
  • Tambahkan spasi setelah tanda titik dua (“:”).
  • Penamaan identifier hanya boleh mengandung huruf dan under score (_)

Type data yang bisa digunakan:

Type Data

Keterangan

integer(n) Bilangan bulat, n = nilai maksimal
string(n) Teks/Karakter, n=panjang karakter
boolean Hanya bernilai TRUE/FALSE
timestamp Tanggal dan Waktu dengan format : “YYYY-MM-DD H:M:S”
date Tanggan dengan format : “YYYY-MM-DD”
time Waktu dengan format: “H:M:S”
float Bilangan Real
decimal(n) Bilangan Desimal dengan n buah di belakang koma
enum Type data yang nilainya sudah didefinisikan

Dalam tutorial ini, kita akan mencoba membuat schema untuk aplikasi penjualan sangat sangat sederhana sekali. Silahkan buat schema berikut, kemudian simpan di folder ./root/schema dengan nama toko_skema.yml.
<skema_toko.yml>

yml

download skema_toko.yml

Di dalam file skema di atas, kita mendefinisikan enam table dan enam model. Nama table dan nama model boleh berbeda, tapi disarankan sama. Untuk penulisan nama table disarankan menggunakan huruf capital di awal setiap kata yang mendefinisikan nama model tersebut.

Dalam definisi file YAML di atas, berikut penjelasannya :

detect_relations: true

Mendefinisikan, bahwa CLI (Command Line Interface) harus melakukan deteksi dan membuat Relasi antar model secara secara otomatis.

actAs: [Timestampable]

Mendefinisikan agar di setiap class model yang dibuat dapat melakukan pencatatan tanggal pembuatan dan tanggal update untuk setiap data yang tersimpan di dalamnya.

package: Master

Mendefinisikan package yang digunakan, yaitu Master


options:
type: MyISAM

Mendefinisikan tipe table yang akan digunakan di dalam database.

Pembuatan Model

Model dalam konsep MVC, secara sederhana diartikan sebagai representasi dari table-tabel dan relasinya yang tersimpan di dalam database.

Pembuatan model ini sendiri, dapat dilakukan secara manual, maupun secara otomatis dengan bantuan tool yang telah disediakan oleh doctrine. Untuk mempermudah proses pengembangan dan pemeliharaan, disarankan untuk menggunakan tool, karena dengan bantuan tool ini, maka model, dan database (termasuk table dan relasinya) akan secara otomatis dibuatkan/digenerate dari file skema yang tersimpan di dalam folder ./root/schema.

Untuk membuat model secara otomatis, langkah-langkahnya sebagai berikut:

  1. Buka Comand Line (cmd)
  2. Kemudian pindahkan direktori kerja ke interpreter php yang dimiliki webserver.
    >Cd c:\xampp\php
  3. Eksekusi file : .\toko\doctrine dengan parameter build-all-reload
    >php c:\xampp\htdocs\toko\doctrine build-all-reload
  4. Masukan “y”, jika muncul pertanyaan konfirmasi.
  5. Finish…

Asumsi:

  • XAMPP diinstall di C:\
  • Root Direktori Aplikasi adalah “toko”

Sampai tahap ini, kita telah berhasil membuat model sesuai yang didefinisikan di dalam ./root/schema/toko_skema.yml. Model yang telah dibuat bisa dilihat di ./root/models.

Author: yaya Categories: PHP-Doctrine, Programming Tags: , ,

Efektifitas Pemblokiran Situs Porno

October 24th, 2010
Comments Off

Pemerintah dalam upaya mencerdaskan kehidupan bangsa, terus melakukan berbagai aksi penertiban dan perapian konten multimedia yang tersebar di berbagai penjuru situs, terutama situs-situs dan provider lokal.

Sebagai salah satu bentuk nyata-nya yaitu penerbitan UU ITE, perancangan RPM Konten Multimedia yang diperbaharui menjadi RPM Tatacara Penanganan Pelaporan atau Pengaduan Konten Internet, dan berbagai upaya lainnya. Semua upaya tersebut harus kita akui sebagai kemajuan dan kepedulian pemerintah terhadap perkembangan konten informasi yang mayoritas akan berpengaruh terhadap kemajuan maupun kemunduran pola pikir bangsa Indonesia.

Good job untuk pemerintah…

Namun di balik itu semua, kita sebagai masyarakat IT, harus turut membantu pemerintah dalam memikirkan solusi efektif berkenaan dengan penanganan masalah2 tersebut, sesuai dengan slogan yang selalu kita utarakan : “Dari Rakyat, Oleh Rakyat dan Untuk Rakyat”. Nah bagaimana kita bisa berperan membantu pemerintah? Tentunya dengan membantu mengamati dan memberi saran terhadap peraturan-peraturan maupun produk-produk pemerintah lainnya berkaitan dengan upaya pemerintah di atas. Lebih jauhnya, jika kita sebagai pengembang ataupun ilmuwan, mari kita sumbangkan pemikiran kita untuk menciptakan teknologi-teknologi yang membantu proses pelaksanaan peraturan pemerintah yang dikeluarkan.

Sebagai hasil pengamatan, selama ini pemerintah selalu mengumandangkan “Blokir Situs Porno”, “Hapus Konten Ilegal”, berbagai action pun dilakukan. Namun, pemerintah sendiri melupakan pokok utama dari upaya mereka sendiri, yaitu kita sebagai masyarakat IT. Saya kira hampir sebagian besar masyarakat indonesia ingin membantu upaya pemerintah melakukan pemblokiran situs-situs ilegal (seperti situs porno). Namun pemerintah sendiri tidak (saya yakin belum) menyediakan layanan pengaduan yang efektif. adapun pelayanan yang disediakan hanya melalui line telepon, email dan melalui kantor pengaduan di:

Posko Pengaduan Pemblokiran Internet yang Memuat Konten Pornografi
Contact Centre Ditjen Aplikasi Telematika
Lt. 2 gedung depan, kantor Kementerian Kominfo
jam 09.00 s/d. 14.00 WIB

atau via No. Telp. :
021 – 38997800
atau via email :
aduankonten@depkominfo.go.id

Hal ini sangat tidak efektif, pemerintah tidak mengingat, sebagian besar target mereka adalah masyarakat IT, atau bahkan pengguna Internet. Yang selalu menjadi pertanyaan dari keseriusan pemerintah adalah, “Kenapa sampai saat ini pemerintah tidak(saya yakin belum) menyediakan sistem pelaporan online??”.  Sistem Online di sini yang saya maksudkan adalah seperti layaknya sistem pengaduan berbasis web, yang memiliki support-center yang bisa diakses melalui chat, dan lain sebagainya. Masa pemerintah harus kalah sama para pebisnis online, yang selalu menyediakan cs online, sistem pelaporan pembayaran dan lain sebagainya.

Lalu bagaimana kebutuhan sistem minimal yang harus terpenuhi? Saya kira cukup seperti berikut:

  1. Melayani pelaporan tanpa user authentifikasi.
    Sistem yang dibuat harus mampu melayani pelaporan secara cepat, hal ini bisa saja diberikan fasilitas pelaporan public tanpa verifikasi data pelapor. Toh yang dibutuhkan hanya informasi alamatnya saja bukan? Memang sih, kemungkinan kebohongan datanya sangat besar, namun tetap bisa menjadi salah satu perhatian, walaupun dengan low priotity.
  2. Melayani membership
    Sistem juga harus dapat memberikan fasilitas membership atau keanggotaan. Nah di sini pelapor harus diverifikasi, salah satu caranya dengan mengunggah scan kartu identitas mereka.

    Data yang dilaporkan oleh authenticated user seperti ini, bisa diset dengan high priority. Jika pelaporan mereka akurat, maka bisa diberikan reward, berupa apapun. Misalnya saja, untuk 1 situs porno yang terblokir, pemerintah bisa memberi penghargaan berupa rupiah sebesar Rp xxx,xx. Toh itu lebih baik, daripada dana penangan konten porno-nya digunakan untuk hal-hal yang tidak perlu bukan?

  3. Terhubung dengan berbagai Provider Internet Lokal
    Sistem juga harus memberi fasilitas kepada provider-provider lokal maupun mita-mitra pemerintah (dalam hal ini mitra pemblokir situs porno), untuk melihat hasil pelaporan, siapa tahu mereka mau membantu verifikasi dan pengecekan data.
  4. Menyediakan Artikel-artikel tentang penangan Pemblokiran Situs Porno
    Nah, disamping itu, pemerintah juga dapat memberikan artikel dan tutorial kepada masyarakat awam untuk melakukan tindakan pencegahan pengaksesan situs porno oleh keluarga mereka. untuk sumber artikel sendiri, pemerintah bisa meminta tokoh-tokoh IT untuk berkontribusi, atau bisa mempekerjakan penulis konten.

Mudah-mudahan artikel ini bisa memberi sedikit gambaran penangan situs porno dari sudut pandang orang awam seperti saya. Semoga pemerintah saat ini juga sedang mengembangkan sistem serupa/sejenis sesuai pemikiran yang saya tuangkan pada artikel ini..

“Dari Rakyat, Oleh Rakyat, Untuk Rakyat”, jika itu yang membuat sebagian orang untuk berdemo turun ke jalan, kenapa tidak kita berperan aktif dalam penanganan situs porno ini…

Salam..

Author: yaya Categories: Dunia IT Tags: , , ,

Tutorial Doctrine (Part-1-Installasi)

October 23rd, 2010
Comments Off

Doctrine merupakan salah satu ORM yang berjalan di PHP 5.2.x ke atas. Dikembangkan oleh doctrine-project.org. pada saat ini versi stabil terbarunya telah mencapai versi 1.2.3. Namun dalam tutorial ini hanya akan digunakan versi 1.1.6.

NB:
ORM (Object Relational Mapping) adalah teknik pemrograman yang digunakan untuk memetakan Relasional Database ke dalam Virtual Database yang dapat diakses langsung melalui bahasa pemrograman, salah satunya dipetakan ke dalam object-object Model.

Installasi

Doctrine dapat diinstal melalui berbagai cara, namun pada tutorial ini, digunakan doctrine sandbox yang dapat di download di sini. Pada saat tutorial ini dibuat, versi terbarunya yang stabil sudah mencapai versi 1.2.3.

Untuk installasi ikuti langkah-langkah berikut:

  1. Pastikan Di Web Server Anda terinstall PHP 5.2.x (silahkan cari referensi lain)
  2. Pastikan Versi  MySQL yang anda gunakan minimal 4.x
  3. Download Doctrine-1.1.6-Sandbox
  4. Ekstraksi file “Doctrine-1.1.6-Sandbox.tgz” di webroot atau htdocs
  5. Rename direktori hasil ekstraksi “Doctrine-1.1.6-Sandbox”, menjadi direktori applikasi yang akan dibuat, misalnya “toko”.
  6. Sampai tahap ini, installasi telah berhasil dilakukan.

Struktur Direktori

Setelah melakukan installasi, di dalam folder toko, kita akan menemukan struktur direktori sebagai berikut :

direktori

Keterangan Isi Direktorinya :

File/Folder

Keterangan

./toko/data Terdiri dari folder fixtures dan sql. fixtures digunakan untuk menyimpan file yaml yang digunakan untuk melakukan import data. sql digunakan untuk menyimpan file schema hasil export dalam format sql
./toko/lib Di dalam direktori ini, tersimpan seluruh librari doctrine yang dibutuhkan
./toko/migrations Tempat Menyimpan class-class migratios yang telah dibuat/digerate, dan akan digunakan dalam proses migrasi
./toko/models Tempat Menyimpan class-class model yang telah dibuat/digerate
./toko/schema Tempat menyimpan file Skema database dalam format YAML yang digunakan untuk menggenerate struktur table dan model
./toko/config.php Berisi konfigurasi PATH dan konfigurasi Doctrine untuk siap pakai
./toko/doctrine File yang dapat dieksekusi (CLI) untuk membantu bekerja dengan Doctrine
./toko/doctrine.php File Konfigurasi untuk CLI (default dibuat oleh pengembang)
./toko/index.php Contoh penggunaan Doctrine Sederhana

Konfigurasi Koneksi dan Database

Sebelum memulai bekerja, mari kita persiapkan konfigurasi database yang dibutuhkan.

Silahkan Buka file ./toko/config.php kemudian ubah kode berikut :

define('DSN', 'mysql://root:@localhost/doctrine11sandbox');

menjadi:

define('DSN', 'mysql://root:@localhost/toko');

Catatan :
user     = root
password    = “”
host    = localhost
database    = toko

kemudian tambahkan baris berikut setelah baris terakhir :

Doctrine::loadModels('models');

Finish…

Akhirnya konfigurasi telah selesai kita lakukan, tunggu tutorial berikutnya untuk mencoba implementasi.

Author: yaya Categories: PHP-Doctrine, Programming Tags:

CI – Fungsi Session Yang Tersembunyi..

September 23rd, 2010
Comments Off

Kemarin saat melakukan debuging sebuah sistem yang dibangun menggunakan Code Igniter, ditemukan sedikit permasalahan untuk menampilkan seluruh isi session yang sedang aktif. Setelah googling ke sana ke mari, dan sedikit berdoa, akhirnya ditemukan sebuah fungsi yang ternyata tidak dibahas di dalam manual-book, yaitu fungsi: all_userdata().

Berikut contohnya:

$this->session->all_userdata();

Semoga bermanfaat. Untuk membedah fungsi-fungsi lainnya, silahkan buka file library dan helpernya sendiri, maka niscaya anda akan menemukan fungsi-fungsi yang belum/tidak tercantum di dalam dokumentasi,,:D

Salam CI,,

KKN Tematik POSDAYA di Desa Sudalarang

September 5th, 2010
Comments Off

timKuliah kerja nyata merupakan salah satu mata kuliah wajib bagi mahasiswa Universitas Pendidikan Indonesia. Pada kesempatan ini, kelompok saya ditempatkan di sebuah desa berkembang, yaitu Desa Sudalarang, Kecamatan Sukawening Kabupaten Garut. Kegiatan KKN ini berlangsung selama 40 hari, sejak 21 Juli 2010 sampai dengan 30 Agustus 2010. Adapun tema yang diusung adalah POSDAYA, yaitu POS Pemberdayaan Keluarga yang meliputi empat bidang utama, yaitu: Bidang Kesehatan, Pendidikan, Lingkungan dan Kewirausahaan.

Dari keempat bidang kajian tersebut, dua bidang yang menjadi focus utama kami, yaitu bidang kesehatan dan kewirausahaan. Hal ini dilatarbelakangi oleh penemuan permasalahan yang timbul di masyarakat sebagai hasil survey dan identifikasi. Adapun permasalahan tersebut, yaitu:

  1. Mayoritas penduduk bekerja sebagai kuli bangunan,petani dan pencari kayu ke hutan. Padahal dari hasil pertanian dihasilkan jagung yang cukup banyak. Hal ini terjadi karena belum adanya sector wirausaha yang memanfaatkan potensi keunggulan local.
  2. Kesadaran penduduk akan pentingnya kesehatan dan makanan bergizi relative rendah. Hal ini terbukti dengan pola hidup sebagian masyarakat yang lebih mengutamakan pembangunan rumah yang megah dibanding mendahulukan pemenuhan kebutuhan gizi, yang akibatnya terjadi gizi buruk.

Dari kedua hal di atas, maka langkah yang dilakukan untuk memecahkan permaslahan tersebut, adalah:

  1. Melakukan pembentukan wadah POSDAYA untuk diajak bekerjasama dan menjadi kader penerus usaha pemberdayaan keluarga pasca KKN.
  2. Melakukan penyuluhan kesehatan dan makanan bergizi.
    Hal ini dilakukan guna menginformasikan bahwa pola hidup sehat dan makanan bergizi itu tidak harus mahal. Warga cukup memanfaatkan sumberdaya local yang tersedia pun sudah cukup. Terutama dari segi makanan bergizi.
  3. Melakukan lokakarya pengolahan jagung menjadi keripik dan emping jagung.
    kebunjagungMengingat jagung yang menjadi salah satu komoditas desa ini hanya dijual mentah tanpa diolah terlebih dahulu, maka, dilakukanlah lokakarya pembuatan keripik dan emping jagung bagi ibu-ibu dan warga setempat. Hal ini dimaksudkan untuk meningkatkan nilai jual jagung sendiri, dan mencoba membuka lapangan usaha baru bagi masyarakat.

Sebagai hasil dari kegiatan-kegiatan di atas, maka terbentuklah POSDAYA Jamberea yang siap meningkatkan pemberdayaan keluarga berbasis keunggulan lokal. Sebagai salah satu tindak lanjut dari program kewirausahaan, dibentuk pula kelompok usaha CENDANA yang memproduksi keripik dan emping jagung. Kelompok ini diharapkan mampu menjadi penggerak bidang usaha keripik jagung dan mampu menyerap tenaga kerja di lingkungan sekitar.

keripikBagi pembaca yang ingin berkontribusi dan mengembangkan usaha keripik jagung, bisa menghubungi saya melalui email: yayawihardi-et-gmail.com (ganti –e- dengan @). Insya Allah nanti akan saya sambungkan dengan ketua penggerak POSDAYA desa setempat.

Kami sampaikan terimakasih kepada semua pihak yang telah berperan selama kegiatan KKN berlangsung, baik itu pihak LPPM UPI, tim KKN Desa Sudalarang, maupun seluruh aparat pemerintah dan lapisan masyarakat Desa Sudalarang dan Kecamatan Sukawening, Garut.