Minggu, 05 Mei 2013

Menghitung Jumlah Hari dalam Satu Bulan dengan PHP

Halo pembaca sekalian, sudah sekian lama saya tidak posting di blog ini. Akhirnya saya mendapatkan waktu kosong untuk posting ditengah kesibukan pekerjaan saya. Kali ini saya akan sharing sedikit hal tentang PHP, fokusnya adalah mengenai fungsi yang ada pada PHP, yang digunakan untuk menghasilkan jumlah hari dalam satu bulan tertentu dan tahun tertentu. Mungkin untuk beberapa pembaca ada yang sudah mengetahui fungsi ini, namun saya anggap ada juga pembaca yang belum mengetahuinya. Berikut penjelasannya.
Untuk beberapa waktu, saya sempat bingung saat mencari cara untuk mendapatkan jumlah hari dalam satu bulan tertentu. Awalnya, saya berpikir untuk menggunakan fungsi yang ada pada SQL, tapi ternyata saya temukan sebuah fungsi yang siap untuk digunakan (langsung dipanggil) pada PHP. Fungsinya adalah call_days_in_month(). Fungsi ini menghasilkan return value berupa bilangan integer, yaitu jumlah hari dalam satu bulan berdasarkan parameter yang kita masukkan. Adapun parameter yang harus dimasukkan dalam fungsi ini antara lain, tipe kalender, bulan, dan tahun. Untuk lebih jelasnya, perhatikan kode berikut.
Berdasarkan list kode di atas, setelah dieksekusi atau skripnya dijalankan, maka hasil yang seharusnya diperoleh adalah 30. Perlu untuk diketahui, parameter bulan dan tahun dapat disesuaikan dengan kebutuhan aplikasi. Saya di sini memberi contoh dengan asumsi bahwa bulan yang dimasukkan adalah bulan dan tahun berjalan (dari sistem). Sekian posting saya kali ini. Semoga bermanfaat. Terimakasih.
Selengkapnya...

Jumat, 29 April 2011

Web Based Application Design (Desain aplikasi berbasis web)

Untuk posting saya yang kedua ini, saya akan membagikan sebuah inspirasi atau arahan bagi para mahasiswa atau bahkan orang yang ingin membuat aplikasi berbasis website. Isi dari posting ini merupakan penjelasan dan terjemahan dari artikel yang saya temukan melalui googling, yang berjudul "User Interface Design for Web Application". Klik selengkapnya.
Berdasarkan berbagai pengalaman dan pelajaran yang diterima dalam membuat sebuah website, mungkin para pembaca sekalian masih memiliki cara pandang yang sama, antara "membuat website" dan "membuat aplikasi berbasis website". Cara pandang yang dimaksud adalah bahwa kedua hal tersebut sama dalam proses pembangunannya, khususnya pada saat implementasi desain website dan content-nya, dengan kata lain membuat aplikasi berbasis website sama dengan membuat website. Ternyata, setelah saya membaca artikel "User Interface Design for Application Website" ini, saya menyadari bahwa kedua hal tersebut adalah berbeda. "Membuat website" yang selama ini kita lakukan adalah membuat sebuah web yang fokus kepada konten yang ingin ditampilkan kepada pengunjungnya. Hal ini mungkin ditujukan untuk mengenalkan sebuah produk, profil perusahaan, dll. Tentu untuk mendapatkan target dari pembaca, website yang dibuat haruslah menarik dan pastinya mengandung banyak text, gambar, atau bahkan animasi untuk menampilkan apa yang ingin kita perlihatkan kepada pengunjung.
Berbeda dengan aplikasi berbasis website, walaupun ada kata website yang terkandung di dalamnya, namun konteks dan target dari aplikasi berbasis website tentunya berbeda dengan website pada umumnya. Analoginya adalah seperti kita menggunakan sebuah aplikasi berbasis desktop. Aplikasi berbasis web sama dengan aplikasi/software pada umumnya, yaitu dibuat untuk menyelesaikan sebuah tugas atau pekerjaan tertentu, yang dalam hal ini dilakukan pada jaringan intranet atau internet dalam menyelesaikan tugas tersebut. Jika kita melihat perbandingan ini, tentu saja kita dapat melihat bahwa untuk desain aplikasi berbasis website akan berbeda dengan website pada umumnya. Aplikasi berbasis website tidak akan banyak mengandung text, gambar, ataupun animasi, namun akan banyak mengandung form-form input untuk menyelesaikan sebuah tugas/pekerjaan.
Jadi, dapat disimpulkan bahwa, fokus dari pembuatan sebuah website adalah kontennya, sedangkan fokus dari pembuatan sebuah aplikasi berbasis website adalah task-based interface, yaitu dalam bentuk form-form yang nantinya akan diisi oleh penggunanya.
Melihat dari perbedaan ini, maka dalam proses analisis pengguna dan konten dalam pembuatan website dan aplikasi berbasis website tentu saja akan berbeda. Berdasarkan artikel tersebut, proses analisis untuk website berbasis konten (website), biasanya mengacu pada pertanyaan-pertanyaan berikut:
  • Informasi apa yang dibutuhkan atau kira-kira dibutuhkan oleh pengunjung? (Pertanyaan ini akan menjurus kepada daftar topik dari website)
  • Informasi apa yang paling penting untuk ditampilkan? (pertanyaan ini akan menjurus kepada halaman utama atau Home dalam website yang akan dibangun)
  • Apa topik utama dan apa saja sub-sub topiknya? (pertanyaan ini akan menjurus kepada link/navigasi utama dan sub navigasinya)
Sedangkan untuk aplikasi berbasis website, hal-hal yang perlu diperhatikan dalam analisisnya, antara lain:
  • Apa tugas/pekerjaan utama yang akan dilakukan oleh pengguna dalam aplikasi tersebut?
  • Tugas mana saja yang merupakan bagian dari sebuah tugas (bagian-bagian tugas)
  • Tugas apa saja yang dilakukan secara linear atau berkelanjutan?
  • Tugas apa yang dilakukan berulang pada session yang sama?
  • Dll.
Itulah beberapa hal penting yang harus diperhatikan dalam membuat sebuah website atau aplikasi berbasis website. Berdasarkan pertanyaan-pertanyaan di atas, dapat kita simpulkan bahwa analisis dalam membuat sebuah website yang fokus kepada konten dan website yang fokus kepada tugas (aplikasi) adalah berbeda. Pertanyaan-pertanyaan di atas juga pada nantinya akan mempengaruhi desain dan implementasi bentuk website yang akan dibuat. Berikut ini beberapa hal yang membedakan antara "website" dan "aplikasi berbasis website" dari sisi desainnya.
  • Visited Link (link yang sudah dikunjungi): website pada umumnya menggunakan metode ini untuk mengingatkan atau memperlihatkan kepada pengunjungnya link-link yang sudah dikunjunginya, sehingga mudah untuk dibedakan atau diidentikasi. Namun, aplikasi berbasis website yang isinya didominasi oleh form, memberi arti bahwa kita tidak benar-benar mengunjungi halaman tersebut, namun kita hanya melakukan suatu input dalam sebuah form dan biasanya juga dilakukan berulang-ulang pada halaman yang sama. Jadi, visited link untuk aplikasi berbasis website, menurut artikel ini tidak diperlukan atau tidak terlalu penting.
  • Frame: Dalam website pada umumnya, frame digunakan untuk menampilkan halaman yang berbeda dalam satu halaman yang sama, biasanya digunakan dalam navigasi website. Namun, untuk aplikasi berbasis website, sepertinya masih menjadi perdebatan oleh banyak web developer oleh karena fungsinya yang tidak efektif.
  • Page Titles (judul halaman): Website pada umumnya akan lebih baik jika menggunakan sebuah judul halaman yang bersifat dinamis, untuk memudahkan bookmarking, sehingga judul dari halaman mudah untuk dikenali. Namun untuk aplikasi berbasis website, sepertinya bookmarking dan pemberian judul ini tidak terlalu diutamakan, karena yang utama adalah membedakan antara suatu tugas dengan tugas lainnya.
  • Home Page (halaman utama): Halaman ini biasanya ditemukan pada saat pertama kali kita mengunjungi sebuah website. Halaman utama dalam website pada umumnya, biasanya akan menjelaskan informasi terbaru dari website tersebut, promosi produk ata perkenalan produk yang ditawarkan, dll. Untuk aplikasi berbasis website: berikut ini beberapa pilihan yang dapat diaplikasikan dalam halaman Home aplikasi anda menurut artikel.
    • Main menu seperti aplikasi tradisional: bentuknya dapat berupa tombol-tombol yang dimodifikasi dengan icon-icon yang sesuai dengan task/pekerjaan yang dapat dilakukan pada saat mengunjungi link tersebut.
    • Overview produk: hal ini biasanya berguna untuk mengingatkan kembali ata memperingatkan penggunanya akan produk-produk yang ditampilkan (seperti amazon.com)
    • System statistic, live data: menampilkan data yang ter-update secara otomatis untuk memberikan keputusan bagi pengguna dalam melakukan aksi-aksi yang dapat dilakukannya
    • Help: bagi pengguna baru, hal ini akan sangat bermanfaat, yaitu dengan menampilkan konten dari aplikasi dan hal-hal yang dapat dan tidak dapat dilakukan juga bantuan dalam mengerjakan sebuah pekerjaan dalam sebuah form.
Itulah beberapa hal penting yang membedakan antara membuat website dan aplikasi berbasis website, khususnya dari sisi desain dan implementasinya terhadap konten yang ditampilkan. Semoga dapat memberikan pencerahan atau ide dalam membuat sebuah website dan atau aplikasi berbasis website bagi pembaca sekalian. Terimakasih.
Selengkapnya...

Sabtu, 12 Maret 2011

PHP Editor Tools

Hai, salam kenal. Untuk posting pertama ini, saya akan menjelaskan tentang tools dalam development aplikasi berbasis website, khususnya dalam membuat kode PHP. Hal ini tentu saja sudah dikenal dan mungkin ada beberapa tools yang sudah sering kita gunakan. Saya di sini hanya akan menjelaskan beberapa tools saja dan informasi lain terkait hal-hal yang perlu diperhatikan dalam memilih tools untuk develpoment kode PHP, yang saya kutip sebagian dari buku PHP 5 for Dummies. Pada dasarnya, PHP editor terbagi menjadi 2 tipe, diantaranya.
  • Programming Editors
  • Integrated Development Environment (IDE)

Programming editors adalah salah satu tipe text editor yang dikhususkan dalam development kode-kode pemrograman, yang mempunyai beberapa fitur untuk memudahkan programmer dalam development kode pemrograman. Fitur-fitur tersebut antara lain,
  • Color highlighting: salah satu fitur programming editor yang memberikan pewarnaan terhadap bagian-bagian kode programming sesuai dengan kaidahnya dan untuk membedakan kode/syntax yang satu terhadap yang lainnya.
  • Indentation: fitur yang membuat indentation atau perbedaan jarak tulis secara otomatis, sesuai dengan kode kurung (yang biasanya menandakan start & end kode), untuk memudahkan pembacaan kode.
  • Line numbers (baris kode): fitur yang memberikan informasi baris kode sesuai dengan baris kode yang telah dituliskan pada file kode yang bersangkutan.
  • Multiple file: fitur yang dapat membuka beberapa file dalam satu jendela.
  • dll.

Fitur-fitur di atas adalah beberapa fitur yang sudah lazim dimiliki oleh programming editor dan merupakan fitur yang memudahkan programmer dalam development kode pemrograman. Contohnya adalah sebagai berikut.
  1. Arachnophilla: multi-platform editor dibuat dengan basis Java. (www.arachnoid.com/arachnophilia/)
  2. BBEdit: Editor pemrograman yang dikhususkan untuk sistem operasi Macintosh. (www.barebones.com/products/bbedit/index.shtml)
  3. EditPlus: editor khusus sistem operasi Windows. (www.editplus.com)
  4. Emacs: Salah satu programming editor yang ber-license freeware alias gratis dan disediakan dalam berbagai sistem operasi. (www.gnu.org/software/emacs/emacs.html)
  5. HTML-Kit: Salah satu programming editor khusus untuk sistem operasi Windows, yang ber-license freeware atau gratis (www.chami.com/html-kit/).

Itulah beberapa programming editor yang mungkin sudah perbah anda gunakan atau anda kenal dalam dunia pemrograman. Beberapa diantaranya merupakan rekomendasi untuk pemrograman PHP, seperti Emacs dan HTML-Kit, karena tools ini memiliki keunggulan dalam GUI yang familiar dan mudah untuk dipelajari.
Integrated Development Environment (IDE) adalah seluruh fitur dan area kerja yang dibutuhkan dalam development aplikasi, yang di-bundel dalam sebuah aplikasi yang terintegrasi. Programming editor adalah bagian dari IDE ini. Beberapa fitur di bawah ini adalah fitur yang biasanya dimiliki oleh IDE.
  • Debugging: fitur tracing atau pengujian kode pemrograman yang dimasukkan ke dalam IDE.
  • Previewing: fitur untuk memperlihatkan hasil atau output yang dihasilkan dari kode pemrograman yang dibuat.
  • Testing: fitur untuk testing kode yang dibuat (berbeda dengan debugger).
  • Project management: fitur untuk meng-organisasikan kode ke dalam project dan me-managenya di dalam aplikasi yang terintegrasi (IDE).
  • Backup: fitur backup secara otomatis yang biasanya dalam periodik tertentu.

Fitur-fitur itulah yang merupakan standar fitur yang dimiliki oleh IDE dan merupakan fitur yang tidak selalu ada atau dimilki oleh programming editor lain. Beberapa contohnya adalah sebagai berikut.
  1. Adobe Dreamweaver: salah satu IDE yang paling populer dan paling banyak digunakan dalam development aplikasi, walaupun dari segi harga, aplikasi ini tergolong aplikasi dengan harga yang mahal.
  2. Komodo: salah satu tools development yang bersifat open-source, namun tidak gratis (www.activestate.com/Products/Komodo/).
  3. Maguma: IDE yang dikhususkan bagi pengguna sistem operasi Windows. Terdapat 2 versi berbeda, yang disesuaikan dengan cost penggunanya (www.maguma.com).
  4. PHPEdit: salah satu IDE yang gratis atau freeware (www.phpedit.net/products/PHPEdit).
  5. Zend Studio: menurut saya, inilah salah satu IDE dengan fitur paling cocok untuk gaya pemrograman sekarang ini, karena sudah didukung dengan konsep pemrograman berbasis objek, khususnya bagi pemrograman PHP. Sayangnya, IDE ini tidak gratis (www.zend.com/store/products/zend-studio.php).

Itulah beberapa contoh IDE yang banyak digunakan dan merupakan rekomendasi dari saya, untuk development aplikasi, khususnya aplikasi berbasis web dan menggunakan pemrograman PHP. Semoga informasi ini dapat bermanfaat dan dapat dijadikan panduan dalam development aplikasi, khusunya mahasiswa yang sedang menyusun Tugas Akhir di jurusan Informatika. Terimakasih.
Selengkapnya...