LINQ pada .NET 3.5

LINQ (Language Integrated Query) adalah feature baru pada .NET 3.5 yang cukup banyak mendapat perhatian dari para developer saat ini. Apa saja yang bisa dilakukan dengan LINQ? Jika anda ingin mengetahuinya lebih jauh anda dapat mendownload presentation dari Luca Bolognese, LINQ Lead Program Manager dan

Michael Pizzo Software Architect Data Programmability, Microsoft Corporation. slide presentasi mereka dapat di download pada link dibawah ini:

Apa yang baru dari C# 3.0/C# 2008?

C# 3.0 sudah direlease bersamaan dengan .NET 3.5, adapun fitur tambahan dalam C# 3.0 adalah:

  • WF (Windows Workflow)
  • WCF (Windows Communication Foundation)
  • WPF (Windows Presentation Foundation)
  • LINQ (Language Integrated Query)

Untuk mendukung fitur-fitur diatas bahasa C# 3.0 ditambah beberapa fungsionalitas baru yaitu:

  • Local Variable Type Inference
  • Object Initializers
  • Collection Initializers
  • Anonymous Types
  • Auto-Implemented Properties
  • Extension Methods
  • Lambdas
  • Query Expressions
  • Expression Trees
  • Partial Methods

Apa yang baru dari VB9/VB2008?

VB9 sudah direlease bersamaan dengan .NET 3.5, pada versi barunya ini VB9 mengalami beberapa penambahan fitur yang cukup signifikan dan lebih memudahkan developer untuk membuat program, adapun beberapa tambahan feature yang ada di VB9 diantaranya:

  • WF (Windows Workflow)
  • WCF (Windows Communication Foundation)
  • WPF (Windows Presentation Foundation)
  • LINQ (Language Integrated Query)

Untuk mendukung fitur-fitur diatas bahasa VB9 ditambah beberapa fungsionalitas baru yaitu:

  • Query expressions
  • XML literals
  • XML element access
  • Nullable types
  • Object initializers
  • Local type inference
  • Lambda Expressions
  • Extension methods
  • Expression trees
  • Anonymous types
  • Ternary Operator
  • Coalesce Operator
  • Relaxed Delegates
  • Partial Methods

Tujuannya adalah untuk :

  • Memudahkan dalam meng-query data dengan adanya LINQ sehingga mempunyai standar bahasa query yang sama untuk mengambil nilai dari object collection, DataSet, Database, dan XML
  • Memudahkan bekerja dengan file XML

Fungsi Simple PHP Secure Login & Remove Directory Rekursif

PHP Secure Login

Kadang kala kita bingung n cemas untuk sistem login kita. Kita takut ada serangan semacam SQL injection pada web yang kita buat. Banyak orang2 tidak bertanggung jawab dengan memasukkan querry di HTML Header kita. Oleh karena itu kita perlu membuat sistem login yang aman namun simple. Di bawah ini aku share aja cara login sistem yang pernaha aku buat, kalau ada kelemahan n kekurangan mohon saran n perbaikan, aku juga masih belajar,
session_start();
$nama_halaman=”.: L O G I N :.”;
$passwd=$_POST[password];
$user_post=$_POST[usernya];
if (empty($passwd) or empty($user_post))
{
// echo “tes”;
header(“location:login2.php”);
}
else
{
include(“../config.inc.php”);

$cari = array (“‘#’si”,
“‘<script[^>]*?>.*?</script>’si”, //INI ADALAH FUNGSI UNTUK MENCARI TAG HTML
“‘<[\/\!]*?[^<>]*?>’si”,
“‘([\r\n])[\s]+'”,
“‘&(quot|#34);’i”,
“‘&(amp|#38);’i”,
“‘&(lt|#60);’i”,
“‘&(gt|#62);’i”,
“‘&(nbsp|#160);’i”,
“‘&(iexcl|#161);’i”,
“‘&(cent|#162);’i”,
“‘&(pound|#163);’i”,
“‘&(copy|#169);’i”,
“‘&#(\d+);’e”);

$ganti = array (“”, //INI ADALAH FUNGSI UNTUK MEREPLACE TAG HTML
“”,
“\\1”,
“\””,
“&”,
“<“,
“>”,
” “,
chr(161),
chr(162),
chr(163),
chr(169),
“chr(\\1)”);

$usernya = preg_replace($cari, $ganti, $user_post);
$passwordnya = preg_replace($cari, $ganti, $passwd);

Object Oriented Programming in C# (Part1)

Pengantar Object Oriented

Aplikasi berbasis windows dan web adalah program yang sangat kompleks yang menyajikan tampilan menarik kepada user dan menawarkan user interface yang kompleks dengan tombol, dropdown, popup menu, toolbox, dan masih banyak komponen yang lain. Dibelakang user interface tersebut masih ada hubungan bussiness prosess yang kompleks seperti misal hubungan antara Product, Customer, dan Order yang melibatkan banyak logika dan pengolahan data.

Untuk menangani berbagai kompleksitas yang terjadi maka programmer mengembangkan teknik yang diberi nama “Objcet Oriented Programming”, dengan tujuan yang sederhana yaitu mengatur kompleksitas dengan memodelkan aspek esensial yang ada. Jika model yang dikembangkan semakin mendekati problem yang akan dipecahkan maka semakin mudah pula persoalan tersebut dapat dimengerti sehingga program lebih mudah ditulis dan di-maintain.

Problem yang akan dipecahkan dan semua informasi yang berhubungan dengan problem tersebut sering disebut sebagai problem domain. Misal jika anda ingin membuat program untuk keperluan Inventory dan Sales di suatu perusahaan maka problem domainnya adalah semua informasi tentang perusahaan tersebut yang berhubungan dengan pengaturan stok inventory, cara penjualan, pemasukan penjualan dan data lainnya. Manaager penjualan dan Manager bagian gudang akan menjadi problem domain expert yang dapat membantu anda dalam menyelesaikan masalah.

Design dari Object Oriented harus berisi objek-objek yang ada pada problem domain tersebut. Sebagai contoh jika problem domainnya adalah mesin ATM maka objek didalamnya seharusnya adalah customer, rekening, dll.

Pada level pertama untuk mendesain anda harus berpikir interaksi antar objek-objek tersebut, dilihat dari status, kapabilitas, dan tanggung jawabnya.

  • Status : programmer harus mengacu pada kondisi status objek tersebut. Sebagai contoh anda mempunyai objek untuk merepresentasikan customer maka status dari customernya adalah customer address, phone number, email, sejarah pembelian customer, dsb.
  • Kapabilitas / Hak : customer dapat memiliki kapabilitas tapi programmer harus memilih yang berhubungan dengan problem domainnya diantaranya untuk membuat rekening, menarik tabungan, menyimpan tabungan, transfer dsb.
  • Tanggung Jawab: bersama dengan kapabilitas /hak ada pula tanggung jawab. Customer mempunyai tanggung jawab untuk mengisi informasi alamat tempat tinggalnya.

Class vs Object

Apa sich bedanya?. Jika anda ingin membangun rumah Class adalah blueprint / gambar (berisi spesifikasi lengkap dari rumah yang akan dibuat, ukuran, jumlah, dll).
Sedangkan object adalah bentuk fisik / rumah yang dibangun berdasarkan blueprint / class yang sudah ada, biasa disebut instan class.

image

Mendefinisikan Class

Class di C# dapat terdiri dari kumpulan variable (field), property dan method. Cara untuk menggunakan class adalah dengan membuat instan class-nya. Untuk menjalankan class maka harus ada satu method main pada class tersebut. contoh pendeklarasian class di C# sebagai berikut:

   1: public class Time
   2:     {
   3:         // private variables
   4:         private int year;
   5:         private int month;
   6:         private int date;
   7:         private int hour;
   8:         private int minute;
   9:         private int second;
  10:  
  11:         // public methods
  12:         public void DisplayCurrentTime()
  13:         {
  14:             Console.WriteLine("Menampilkan Waktu..");
  15:         }
  16:     }
  17:  
  18:     class Program
  19:     {
  20:         static void Main(string[] args)
  21:         {
  22:             Time timeObject = new Time(); //membuat instan class
  23:             timeObject.DisplayCurrentTime();
  24:         }
  25:     }

 

Access Modifiers

Access Modifiers digunakan untuk menentukan hak akses dari class dan method, adapun access modifier yang ada pada C# sebagai berikut:

image

Continue reading

Membuat Thumbnail Image di PHP

Haloo…

Aku ikut2an nyumbang postingan yah…

Seringkali kita mencoba mengecilkan suatu image yang kita ambil dari data di database agar dapat ditampilkan di website sesuai kehendak kita…Kita dapat mengecilkannya dengan mensetting width dan height di HTML secara langsung. Akan tetapi timbul permasalahan apabila yang ingin kita buata adalah web dinamis yang ukuran image aslinya berbeda-beda smentara kita harus mengecilkan image dengan ukuran yang konsisten/dengan kata lain membuat thumbnail. Pernah liat friendster khan…??di friend image gitu khan pake prinsip thumbnail…Aku coba sharing aja mengenai fungsi thumbnail punyaku…

Gini kodenya

file thumnail.func.php

<?php
function thumbnail_dimas($width,$height){

/* maksimal thumbnail yang dibuat */
$max_width = 75;
$max_height = 75;

/* memaksimalkan lebar apabila lebih panjang lebar */
if($width>$max_width){
$scale = (float)$max_width/(float)$width;
$width = (int) $width*$scale;
$height = (int) $height*$scale;
}

/* memaksimalkan tinggi apabila lebih panjang tinggi */
if($height>$max_height){
$scale = (float)$max_height/(float)$height;
$width = (int) $width*$scale;
$height = (int) $height*$scale;
}

/* memastikan jika gambar kecil banget */
if($width<2){
$width = 2;
}
if($height<2){
$height = 2;
}

return array($width,$height);
}
?>

fungsi di atas akan membuat ukuran thumnail width=maks 75 dan height juga 75, jadi image itu tidak akan discretch, tetapi menyesuaikan mana dulu yang nyampe 75(height atau widthnya)

kemudian file tersebut akan dipanggil oleh file utama dengan kode :

<?

include(“thumnail.func.php”);

while($data3=mysql_fetch_row($sql3)) //===================>> INI UNTUK SECONDARY FOTO
{
list($image_width,$image_height) = GetImageSize(“$data3[0]”); //==========>> FUNGSI SCALE IMAGE
list($thumb_width,$thumb_height) = thumbnail_dimas($image_width,$image_height);
echo “<img src=\”$data3[0]\” height=\”$thumb_height\” width=\”$thumb_width\” /> “;
}
?>

$data3=adalah data image yang diperoleh dari database.

Semoga dengan sample code di atas teman2 bisa membuata thumnail image untuk ukuran gambar berapapun menjadi thumbnail yang ukurannya tetap konsisten….

Thnx so much, just in vixio