10 Tips Meningkatkan Performa Query SQL

Bagi sebagian diantara kita, berurusan dengan query adalah hal yang pasti dilakukan setiap hari. Kadang performa query kita terasa begitu lambat, apalagi ketika berhadapan dengan data yang sangat besar. Mungkin kita melewatkan hal-hal kecil yang dapat berpengaruh besar terhadap performa query tersebut. Bayangkan jika query itu berupa stored procedure yang akan terus digunakan dalam aplikasi.

Berikut ini 10 tips meningkatkan performa query (stored procedure) yang kita buat:

  • Gunakan NOCOUNT
    SQL Server secara default memberikan informasi tentang berapa row data yang terpengaruh dari query kita (177 row(s) affected). Jika kita tidak memerlukan informasi ini, matikan dengan SET NOCOUNT ON. Hal ini akan mengurangi network traffic yang digunakan untuk pengiriman informasi tersebut.

    CREATE PROC dbo.NamaProc
    AS
    SET NOCOUNT ON
    –Isi Procedure

  • Akses Tabel dengan NOLOCK
    Kebanyakan akses tabel tidak membutuhkan fitur ini. Matikan dengan WITH (NOLOCK) setelah nama tabel. NOLOCK dalam query select tidak hanya mengabaikan Exclusive Lock namun juga Shared Lock sehingga tidak akan ada delay ketika proses lain melakukan write ke tabel yang sedang kita read.

    CREATE PROC
    dbo.NamaProc
    AS
    SET NOCOUNT ON
    SELECT Id, [Name]
    FROM NamaTabel WITH (NOLOCK)

  • Hindari Penggunaan OR dalam WHERE
    Gunakan IF ELSE menggantikan OR. Misalnya ketika kita membuat fungsi search yang parameternya fleksibel, dalam contoh ini email dan name, dimana salah satu parameter pasti null.

    SELECT Id FROM NamaTabel
    WHERE Email = @Email OR Name = @Name
    Menjadi
    IF @Email IS NULL
    SELECT Id FROM NamaTabel
    WHERE [Name] = @Name
    ELSE
    SELECT Id FROM NamaTabel
    WHERE Email = @Email

  • Sesuaikan Tipe Data
    Kita bisa saja menjalankan query walaupun tipe data parameter dengan field pada tabel berbeda, namun hal ini akan menurunakn performa query kita karena SQL Server akan terlebih dahulu mengkonversi tipe data agar tersebut sama.Misalnya tipe data Id pada tabel NamaTabel adalah Integer.

    CREATE PROC
    dbo.NamaProc
    @Id VARCHAR(20)
    AS
    SELECT [Name], Email FROM NamaTabel
    WHERE Id = @Id

  • Gunakan Penulisan Nama Objek Secara Lengkap
    Menuliskan nama objek secara lengkap (server.database.schema.objectName) membantu SQL Server langsung menuju ke objek yang kita maksud tanpa perlu melakukan pencarian dan meningkatkan peluang penggunaan kembali (reuse) execution plan yang sudah ada jika objek sudah pernah digunakan.

    SELECT Id, [Name] FROM DBName.dbo.NamaTabel
    EXEC DBName.dbo.NamaProc

  • Kurangi Pemanggilan GETDATE(), Gunakan Variabel
    Jika kita membuat sebuah stored procedure yang banyak memanggil fungsi GETDATE(), gantikan fungsi-fungsi tersebut dengan sebuah variabel date yang kita assign dengan GETDATE() sehingga pemanggilan fungsi tersebut tidak perlu dilakukan berulang-ulang.

    DECLARE @Date DATETIME
    SET @Date = GETDATE()

  • Jangan Menggunakan Awalan “SP_” Untuk Nama Store Procedure
    Jika sebuah stored procedure diawali dengan “SP_” ketika eksekusi SQL Server akan terlebih dahulu mencari objek tersebut dalam System Stored Procedures, hal ini akan menurunkan performa dan bahkan menghasilkan hasil yang salah jika nama stored procedurenya sama.

  • Gunakan IF EXISTS (SELECT 1) Menggantikan (SELECT * atau SELECT NamaKolom)
    Untuk mengecek keberadaan data pada suatu tabel kita sering menggunakan IF EXISTS. IF EXISTS akan mengembalikan nilai true jika statement kondisinya mengembalikan nilai apapun, baik itu “1” ataupun semua kolom, dan semua hasil itu tidak digunakan. Jadi, untuk mengurangi network traffic dan mengurangi pemrosesan data, gunakanalah “1” daripada data pada tabel.

    IF
    EXISTS (SELECT * FROM NamaTabel WHERE Id = @Id) atau IF EXISTS (SELECT Id FROM NamaTabel WHERE Id = @Id)
    Menjadi
    IF EXISTS (SELECT 1 FROM NamaTabel WHERE Id = @Id)

  • Gunakan sp_executesql Menggantikan EXECUTE
    Jika kita menggunakan sp_executesql untuk mengeksekusi query berkali-kali SQL Server akan menggunakan kembali (reuse) execution plan yang sudah ada, hal ini akan menigkatkan performa. Execution plan hanya dapat digunakan kembali jika setiap karakter dari query sama persis.

    DECLARE
    @Query VARCHAR(MAX)
    DECLARE @Id INT
    SET @Id = 7
    SET @Query = ‘SELECT * FROM dbo.NamaTabel WHERE Id = ‘ + CONVERT(VARCHAR(10),@Id)
    EXEC (@Query)
    Pada contoh di atas ketika parameter @Id berubah, execution plan pada saat @Id = 7 tidak dapat digunakan kembali.
    Jika kita ubah menjadi:
    DECLARE @Query VARCHAR(MAX)
    SET @Query = ‘SELECT * FROM dbo.tblPerson WHERE Id = @Id
    EXECUTE sp_executesql @Query, ‘@Id INT‘, @Id = 7
    Perubahan parameter tidak mempengaruhi SELECT statement sehingga execution plan dapat terus digunakan kembali walaupun parameter berubah.

  • Hindari Penggunaan Cursor
    Cursor memakan banyak resource untuk me-maintain posisinya saat proses, hal ini menurunkan performa query kita. Usahakanlah mengganti penggunaan cursor dengan WHILE dan SET. SQL Server memiliki perofrma yang baik untuk operasi SET.

Visual Studio LightSwitch #5: Web – Desktop Switching, Publishing, dan Mekanisme Update

Hai.. Setelah selesai mempelajari Relasi dan Computed Data sekarang kita sudah sampai pada pembahasan ke-5, yaitu tentang Web – Desktop Switching, Publishing, dan Mekanisme Update.

Dari bahan-bahan sebelumnya yang kita hasilkan adalah sebuah aplikasi desktop. Lalu bagaimana kalau ternyata yang kita butuhkan adalah aplikasi web? Oh, mudah saja.. Mari kita lakukan bersama.

Masih menggunakan contoh project yang sebelumnya. Kita masuk ke Application Designer (Solution Explorer – klik kanan nama aplikasi – Properties). Lalu pindah ke tab Application Type. Apa yang Anda temukan? J Mari kita ubah pada bagian Client, ubah dari Desktop menjadi Web. Application Server akan secara otomatis berubah ke opsi kedua (IIS), biarkan apa adanya, lalu Run.

Jika mengalami masalah coba gunakan IE (Internet Explorer) ya.. Dan hasilnya..

Sama persis dengan desktop application yang tadi kita buat, namun sekarang sudah menjadi web application.

Sekarang masuk ke Publishing.

Ngomong-ngomong selama ini ada yang memperhatikan button di kanan atas (Layar Desain)? Sudah mencoba masuk ke sana? Ini adalah fitur untuk mengubah screen kita selagi aplikasi di-Run sehingga memudahkan kita untuk menyesuaikan tampilan tanpa melakukan Run berulang-ulang kali seperti jika kita mengubah dari editor (Visual Studio). Silahkan dicoba.

Lalu, apa yang akan terjadi kalau fungsi itu terus ada, nanti aplikasi kita bisa diacak-acak user dong? Tenang saja, fitur tersebut hanya muncul ketika proses development (Solution Configuration = Debug). Jika Solution Configuration kita ganti ke Release akan hilang sendiri.. 🙂

Untuk publish kita masuk ke Application Designer lagi, lalu di tab Application Type ada tombol Publish, klik saja. Oya, untuk contoh ini saya kembali ke settingan awal, Desktop, Run application services on the end user’s machine, supaya lebih cepat.

Berikut ini langkah-langkah dalam LightSwitch Publish Application Wizard yang saya lakukan:

  • Client Configuration: Desktop
  • Application Server Configuration: Local
  • Lihat Publish Output
  • Publish

Untuk tab-tab yang lain dalam contoh ini tidak perlu diganti, namun jika Anda membutuhkan konfigurasi lebih lanjut dengan tab yang lain, silahkan dilakukan.

Setelah proses publishing selesai kita akan mendaptkan file untuk instalasi aplikasi yang kita buat. File tersebut terletak pada lokasi seperti yang tertulis pada tab Publish Output tadi. Jika sudah menemukannya, maka itulah installer aplikasi kita, silahkan coba install.

Sudah? Hasilnya sama kan? Yap, Publishing telah selesai.

Lalu muncul pertanyaan, ini kan aplikasi desktop, kalau kita install pada banyak computer, ketika ada perubahan apakah harus kita install ulang semua? Bagaimana dengan update aplikasi? Tenang saja, LightSwitch sudah menangani masalah itu dengan Mekanisme Updatenya.

Pastikan Anda sudah menginstall aplikasi yang Anda buat tadi. Kita kembali ke Visual Studio, kali ini saya gunakan contoh perubahan berupa penggantian uturan menu. Kita ke Application Designer – masuk ke tab Screen Navigation. Pada Tasks akan muncul:

  1. Customers List Detail
  2. Transaksi Headers List Detail

Kita akan ubah urutan ini, pilih Customers List Detail, lalu pada sisi kanan ada tombol berupa panah, tekan panah ke bawah (Move Down), sehingga urutan menjadi:

  1. Transaksi Headers List Detail
  2. Customers List Detail

Pilih Transaksi Headers List Detail, pada bagian bawah, “Current startup screen”, klik Set. Hal ini akan membuat Transaksi Headers List Detail menjadi stratup screen ketika aplikasi baru dijalankan. Hasil akhirnya menjadi:

  1. Transaksi Headers List Detail
  2. Customers List Detail

Setelah selesai mengubah Screen Navigation, publish lagi dengan cara yang sama dengan yang telah kita lakukan. Pada LightSwitch Publish Application Wizard, jika kita perhatikan pada tab Summary, Application Version akan berubah dari yang sebelumnya (sebelunya 1.0.0.0 menjadi 1.0.1.0) menandakan kita telah melakukan perubahan.

Setelah publish selesai, jalankan lagi aplikasi kita.

Dan, apa yang Anda dapatkan? Pasti Anda akan melihat sebuah window kecil terbuka sebelum masuk ke aplikasi Anda, saat itulah update aplikasi dilakukan. Lalu bagaimana dengan aplikasi Anda? Pastinya sudah berubah sesuai dengan keinginan, dalam hal ini urutan menu sudah berubah dan startup screen menjadi Transaksi Headers List Detail. Mudah kan?

Ok, cukup sekian untuk tema kali ini. Berikutnya saya masih akan kembali dengan topic Hak Akses, User dan Login, dan Fungsi Tambahan

Terima kasih 🙂

Visual Studio LightSwitch #4: Relasi dan Computed Data

Hai.. Kembali lagi ke LightSwitch, setelah bermain-main dengan Interface dan Bahasa kali ini saya akan membahas tentang Relasi dan Computed Data.

Sedari awal kita hanya menggunakan sebuah table, bagaimana kalo kita punya banyak table dan memiliki relasi? Mari kita lakukan!

Kita buat dua table baru, seperti contoh-contoh pada umumnya, kita ambil kasus penjualan. Tabel pertama adalah TransaksiHeader, dimana table ini akan memiliki relasi dengan Customer (Customer melakukan transaksi), dan table kedua adalah TransaksiDetail dimana table ini akan berhubungan dengan TransaksiHeader (TransaksiDetail adalah item dari TransaksiHeader).

Dari Solution Explorer, klik kanan pada ApplicationData, Add Table, lalu perhatikan pada item-item diatas nama table, pilih Add: Relationship, dan bentuk relasi one to many dari Customer ke TransaksiHeader (lihat gambar). Visual Studio LightSwitch 2011 akan membantu kita dengan memberikan deskripsi tentang relasi yang kita buat di bawah gambar relasi. Lalu OK.

Lalu, pada TransaksiHeader kita tambahkan TanggalTransaksi dengan tipe Date. Hasilkan akan tampak seperti ini.

Lanjut ke table kedua, buat lagi table baru dengan langkah awal yang sama, beri nama TransaksiDetail. Buat relationship one to many dari TransaksiHeader ke TransaksiDetail.

Yap, dengan begitu kita sudah memiliki table yang saling ber-relasi. Customer – TransaksiHeader – TransaksiDetail.

Kita langsung lanjut ke acara Computed Data. Nah, kita tambahkan lagi atribut pada TransaksiDetail:

  • NamaItem, tipe data String
  • HargaSatuan, tipe data Money, ubah currency menjadi IDR
  • Quantity, tipe data Integer
  • SubTotal, tipe data Money, ubah currency menjadi IDR

Sekarang kita pilih SubTotal, lalu ke window Properties, lihat ada Is Computed? Check itu. Sekejap muncul link button Edit Method, klik saja, dan kita akan meluncur ke TransaksiDetail.cs, mari mulai sedikit menulis 😀

Hasil dari pengolahan harus di-set ke dalam variable result. Dalam contoh ini saya membuat perhitungan agar atribut SubTotal akan terisi dengan hasil dari HargaSatuan * Quantity.

Kita buat satu atribut Computed lagi ya. Kali ini kita buat di TransaksiHeader. Tambahkan lagi sebuah atribut dengan nama GrandTotal dengan tipe data Money. GrandTotal akan berisi jumlah dari SubTotal item-item yang memiliki relasi dengan TransaksiHeader.

Seperti tadi, kita masuk ke Edit Method, TransaksiHeader.cs, lalu tuliskan:

Nah, membuat computed atribut sudah selesai, tapi jangan buru-buru di Run dulu, soalnya kita belum membuat screen untuk table Transaksi ini. Mari kita buat dulu.

Seperti cara yang sebelumnya telah dibahas. Solution ExplorerScreensAdd ScreenList and Detail Screen – untuk Screen Data pilih TransaksiHeaders – lalu jangan sampai ketinggalan centang TransaksiHeader TransaksiDetails.

Kita centang TransaksiHeader TransaksiDetails maksudnya supaya screen tersebut selain menampilkan details (atribut-atribut) dari TransaksiHeader sendiri, menampilkan juga TransaksiDetail- TransaksiDetail yang ber-relasi dengan TransaksiHeader yang dipilih. Setelah selesai membuat screen, silahkan Run.

Ketika kita Add TransaksiHeader, customer akan berupa list karena TransaksiHeader telah memiliki relasi dengan Customer. Ketika kita Add TransaksiDetail, SubTotal dan GrandTotal akan secara otomatis terhitung. Begitulah contoh penggunaan relasi table dan computed atribut.

Selesai sudah bahan kali ini.. Semoga bermanfaat. Topik selanjutnya akan membahas tentang Web – Desktop Switching, Publishing, dan Mekanisme Update

Terima kasih 🙂

Visual Studio LightSwitch #3: Interface dan Bahasa

Selamat datang! 🙂

Kali ini saya akan membahas tentang Interface dan Bahasa. Masih ingat atau masih menyimpan project yang lalu tentang Validasi dan Format Data? Sehabis kita menambahkan beberapa atribut pada table Customer (Email, Tanggal Lahir, dan Saldo) lalu kita Run, ada sedikit kejanggalan, atribut tersebut tidak muncul pada kolom kanan Customers List Detail, namun ada pada saat Add atau Edit. Apa yang terjadi? Bagaimana supaya atribut tersebut muncul juga di kolom kanan?

Mari kita munculkan. Kembali ke Visual Studio LightSwitch 2011. Pada Solution Explorer, Double klik Screen CustomersListDetail, akan muncul hirarki dari screen yang kita pilih. Nah, di hirarki ini kita bisa mengubah komponen dari screen kita. Silahkan Anda baca sebentar.. Bagaimana? Terbayang kan? Cukup mudah dimengerti?

Kita pilih baris Customer Details, lalu akan muncul link button Add pada child paling akhir dari Customer Detail. Klik Add, dan silahkan tambahkan semua atribut baru yang ingin Anda tampilkan. Dalam contoh ini saya tambahkan Email, TanggalLahir, dan Saldo.

Silahkan coba Anda Run, bagaimana? Mereka sudah muncul kan? 🙂

Ngomong-ngomong interface, apa tampilan di LightSwitch ini bisa kita custom? Ya, bisa, tapi tidak begitu saja, custom interface bisa dilakukan dengan menggunakan extension.

Saya menggunakan contoh sebuah extension LightSwitch Metro Theme.

Tersedia cukup banyak extension yang mungkin bergunak untuk kita, silahkan jelajahi: Link ini

Download, execute, install, restart Visual Studio LightSwitch 2011, buka kembali project yang Anda buat, klik kanan pada application LightSwitchInAction (bukan Solution) – Properties, kita tiba pada Application Designer.

Pada tab Extensions akan muncul LightSwitch Metro Theme dengan keadaan unchecked, check agar dapat kita gunakan. Lalu pindah ke tab General Properties, pada Theme chooser akan muncul theme yang baru saja Anda install, dipilih saja.. Lalu Run.

Tadaa.. Tampilan aplikasi Anda telah berubah!

Oya, bagaimana dengan bahasa? Apakah mungkin diubah? Saya ingin menjadi Bahasa Indonesia? Bisa kok.. 🙂

Kembali ke Application Designer tadi, pada tab General Properties, di sana ada Culture, ganti saja menjadi Indonesian. Lalu perhatikan apa yang terjadi..

Nah, pembahasan kali ini cukup sekian. Sampai ketemu di episode selanjutnya, di sana saya akan membahas tentang Relasi dan Computed Data.

Terima kasih 🙂

Visual Studio LightSwitch #2: Validasi dan Format Data

Siap untuk kejutan berikutnya? Mungkin ketika mencoba membuat project baru seperti pada Visual Studio LightSwitch #1: Membuat Project, Database, dan Simple Screen Anda masih belum puas dan muncul pertanyaan bagaimana dengan validasi data? Format Data? Sema itu akan dibahas disini.

Saya lanjutkan menggunakan project yang sama dengan sebelumnya. Kembali ke table Customers (Double klik / Klik kanan – Open), tambahkan atribut-atribut baru: Email, TanggalLahir, dan Saldo.

Coba jalankan (Run), lalu edit data yang sudah ada atau masukan data baru. Bisakah Anda mengisi field-field yang seharusnya berupa angka dengan huruf? Bisakah Anda mengisi tanggal lahir bukan dengan format tanggal? Tentu bisa! Karena kita belum memberikan validasi, tipe data pada table kita masih String semua.

Ok, stop dan kembali edit table Customer. Ketika Anda coba mengganti tipe data, Anda akan melihat tipe data yang tidak biasa. Silahkan ikuti saya, ubah tipe data:

  • Telepon, dari String menjadi Phone Number
  • Email, dari String menjadi Email Address
  • TanggalLahir, dari String menjadi Date
  • Saldo, dari String menjadi Money

Tanpa basa-basi, silahkan coba Run kembali, dan masukan data sembarang yang tidak sesuai dengan format seharusnya. Apakah masih bisa? 🙂

Secara ajaib LightSwitch akan mem-validasi data yang Anda inputkan sesuai dengan tipe data yang dipilih. Dan bukan hanya ditinggalkan dengan validation issues seperti itu saja, untuk tipe data tertentu kita akan dibantu untuk mengisi dengan benar.

Contoh isian untuk tipe data Phone Number (dibantu dengan pengkategorian nomor telepon) dan Date (dibantu dengan date picker)

Bagaimana dengan tipe data Money? Kenapa currency-nya Dollar($), apakah bisa diganti ke Rupiah(Rp)? Jika tidak perlu dua digit decimal (.00) apakah bisa dihilangkan? Bisa!

Kembali ke Visual Studio LightSwitch, buka table Customer, klik pada baris Saldo (tipe data Money), buka Window Properties. Untuk mengubah format mata uang, cari Currency Code, ubah dari USD menjadi IDR. Untuk menghilangkan dua digit decimal, cari Decimal Places, ubah menjadi 0. Untuk property yang lain, silahkan explore sendiri ya.

Silahkan coba Run, lalu edit / add data. Bagaimana tipe data Money-nya? Sesuai keinginan Anda?

Ok, sekian saja bahasan mengenai Validasi dan Format Data pada LightSwitch 2011. Masih banyak sekali yang bisa di-explore, namun tidak memungkinkan saya tuliskan semua disini, jadi tidak cukup jika Anda berhenti disini, lanjutkan!

Bahasan berikutnya adalah tentang Interface dan Bahasa, sampai jumpa..

Terima Kasih 🙂

Visual Studio LightSwitch #1: Membuat Project, Database, dan Simple Screen

Hola! Setelah membaca sedikit tentang Visual Studio LightSwitch di (Microsoft Visual Studio) LightSwitch? Apa itu?, mari kita mulai untuk mencoba praktek langsung.

Kali ini saya akan membahas tentang bagaimana membuat project LightSwitch, membuat database untuk LightSwitch, dan membuat sebuah screen sederhana.

Pertama, pastikan Anda sudah meng-install Visual Studio LightSwitch 2011, jalankan aplikasi tersebut. Lalu pilih New Project dan gunakan template Lightswitch. Akan ada dua pilihan default, yaitu C# dan VB (dua teratas), sesuaikan dengan kebutuhan Anda. Dalam contoh ini, saya menggunakan C#.

Silahkan mengganti nama project, lokasi, dll jika perlu. Setelah itu tekan OK. Menunggu sebentar, akan muncul tampilan dimana Anda dipersilahkan untuk menentukan database yang mau digunakan. Apakah membuat database baru atau menggunakan database yang sudah ada. Pilih Create new table untuk database baru atau Attach to external Data Source untuk menghubungkan project ini dengan database yang sudah ada. Dalam contoh ini saya menggunakan database baru.

Setelah memilih Create new table, akan muncul sebuah tampilan yang table yang siap digunakan, silahkan buat table sesuai dengan kebutuhan Anda. Dalam contoh kali ini saya membuat sebuah table Customer dengan atribut berupa: Nama, Alamat, dan Telepon.

Setelah table Customer terbentuk. Sekarang kita tinggal membuat sebuah screen sebagai interface dari table Customer. Caranya dengan membuka Solution Explorer Klik kanan pada folder Screens Add Screen.

Akan muncul tampilan untuk memilih jenis screen yang mau kita gunakan. Dalam contoh ini saya gunakan List and Details Screen dan jangan lupa untuk mengubah Screen Data dari None menjadi table yang kita inginkan (Customers), lalu klik OK. Untuk jenis-jenis screen yang lain, silahkan dibaca atau dicoba sendiri 🙂

Selesai membuat screen, kita akan dibawa ke tampilan berbentuk hirarki yang merupakan komponen dari screen yang baru saja kita buat. Tidak usah diutak-atik, silahkan Run (F5). Dan…

Boom! Jadilah sebuah screen yang memiliki fungsi View, Add, Edit, Delete, Export data to Excel, Search, Filter & Sort dan Paging. Silahkan Anda coba untuk bermain dengan fungsi-fungsi yang ada. Setelah melakukan aktifitas, jangan lupa untuk menekan tombol Save di kiri atas untuk memastikan perubahan yang Anda lakukan tersimpan ke database.

Sekian untuk babak pertama. Bagaimana? Berapa menit yang Anda habiskan untuk membuat aplikasi seperti itu? Penasaran dengan fitur lainnya? Silahkan baca babak berikutnya yang akan membahas Validasi dan Format Data di Visual Studio LightSwitch #2: Validasi dan Format Data

Terima kasih 🙂

(Microsoft Visual Studio) LightSwitch? Apa itu?

Microsoft Visual Studio LightSwitch adalah sebuah development tool yang menyederhanakan dan mempermudah proses pembuatan aplikasi data-driven baik untuk desktop maupun web application.

LightSwitch membantu kita dalam menghadapai kebutuhan aplikasi yang fleksibel dan terus menerus bertumbuh sedangkan resource, dalam hal ini waktu dan orang, tidak selalu tersedia. Karena LightSwitch dapat digunakan dengan mudah tanpa memerlukan kemampuan teknis (coding) yang tinggi namun bisa menghasilkan aplikasi dengan cepat dan user friendly.

Dalam LightSwitch coding mungkin saja tidak dilakukan. LightSwitch menyederhanakan berbagai proses development mulai dari design UI sampai deployment.

LightSwitch membantu developer untuk menghasilkan lebih banyak dengan sedikit menulis (coding) dengan jalan meng-handle hal-hal rutin seperti: design, pembuatan menu, fungsi CRUD (Create, Read, Update, Delete), fungsi export, validasi, dll.

LightSwitch mendukung dua bahasa, yaitu C# dan VB.NET. Ketika meng-install LightSwitch 2011, jika kita memiliiki Visual Studio 2010 Professional atau Ultimate, LightSwitch akan menjadi seperti project template pada Visual Studio, namun jika tidak LightSwitch akan terinstall sebagai aplikasi terpisah.

10 Keuntungan Utama LightSwitch 2011:

  • Membangun aplikasi bisnis layaknya dibuat oleh seorang profesional
  • Membangan aplikasi yang baik dengan lebih cepat
  • Menyederhanakan proses development
  • Membangun aplikasi yang fleksibel terhadap perubahan
  • Dapat menambahkan fitur yang user-friendly dengan cepat
  • Dapat dengan mudah menambahkan fitur authentication yang kuat
  • Membuat aplikasi custom sesuai dengan bisnis yang dijalankan
  • Dapat di-custom menggunakan extensions
  • LightSwitch 2011 merupakan pasangan dari Visual Studio
  • Development dan mekanisme update yang cepat

 

Selengkapnya: Visual Studio LightSwitch 2011 Datasheet

Home Page Visual Studio LightSwitch 2011: www.microsoft.com/lightswitch

Kebersamaan AM 4-5 Oktober 2011 (Hari Pertama)

Setelah ribuan tetes keringat jatuh ke tanah untuk mempersiapkan acara ini tiba juga saat eksekusinya..

Pagi itu (4 Oktober 2011) kami diminta berkumpul pukul 07.00 di Syahdan, walaupun busnya di Anggrek, rencana panitia sih spare waktu 30 menit, jadi 07.30 bisa berangkat, tapi pada kenyataannya kita baru berangkat 08.00 karena harus nunggu dua oknum, sebut saja I dan Y..

Sepanjang jalan, kami, atau lebih tepatnya anak-anak yang duduk di belakang, berusaha bernyanyi. Tapi, kekecewaan pun terjadi ketika sang supir menghidupkan lagu (suaranya kalah), apalagi lagunya ga bisa diikutin nyanyi. Sampai akhirnya ada yang request supaya lagunya dimatikan. Hehe.

11.20 kami sampai di Nisita, disambut oleh 4 orang dari team advance yang sudah menyiapkan dari hari sebelumnya

Sampai di penginapan kamar sudah dibagi dengan beberapa orang ga dapet kamar (hukuman buat yang telat).. Selesai cari-cari kamar, kami berkumpul di aula. Acara kebersamaan itu saya buka dengan beberapa kata yang sangat singkat. Maka, dimulailah..

Pemanasan dimulai dengan “Love Wink” dimana kita harus membuat dua lapis lingkaran yang jumlahnya sama, di tengah ada seorang yang ngedipin mata ke seorang lingkaran dalam, seorang di lingkaran luar yang tepat di belakangnya harus menjaga orang yang dikedipin itu supaya ga lari ke tengah.

Sekejap dari itu, ada pembagian kelompok dengan permainan binatang-binatangan, masing-masing orang mengambil secarik kertas yang bertuliskan nama hewan, lalu harus mencari sejenisnya dengan ciri khas suara hewan tersebut. Saya dapet kambing, bersama Amy, Bryan, Yudi, Abraham dan sumbangan seekor macan, Felix, soalnya team kita kurang orang.. 😛

Permainan berikutnya “Titanic”. Di sini kita dikasih selembar kain, kain itu harus dilipet sekecil-kecilnya dan semua anggota team kita harus ada diatas kain itu. Waktu itu semua team hampir sama kecilnya, akhirnya jadi adu lama ada diatas kain masing-masing. Satu team keluar sebagai pemenang, sayangnya udah lupa team mana.. Heheh.

Perutpun sudah lapar, tapi.. Berikutnya bukan makan, masih ada satu game lagi, “Wave”. Kami dibagi menjadi dua team dengan cara suit, orang-orang yang menang berkumpul, begitu juga yang kalah, lalu menetukan seorang yang akan dikorbankan. Karena saat itu belum tahu bagaimana permainannya, terpilihlah Otto dan David. Setelah diberikan cara permainannya, menyesallah kedua team.. Kami harus memindahkan orang terpilih itu dari depan barisan ke belakang melewati atas tangan, dengan membuat wave..

Di game “Wave” team saya(menang suit) menang.. Karena kami memilih strategi yang benar, walaupun belum yang paling benar menurut panitia. Saya sempat melihat team sebelah salah strategi dan mengganti metode ditengah-tangah, jadi mereka makan waktu banyak.

Selesai game ini, yang ditunggu-tunggu tiba.. Makan 😀 Saking semangatnya makanannya cepat habis, sampai-sampai si pak supir dan keneknya ga kebagian, padahal mereka udah bilang. Jadinya kita kasih uang aja, suruh beli makan sendiri 🙂

Selesai makan, saya, Otto, dan Yoshua pergi sebentar, kami ga ikut satu games, entah games apa, sepertinya ada hubungan dengan kata “Hai” dan “Hello”, kami ke penjaga pos Cibodas untuk bertanya-tanya ada objek wisata apa yang menarik di sekitar sana. Dengan pertimbangan tahun lalu AM 2010 sudah pernah ke Curug Cibeureum. Ternyata menurut penjaga pos, curug itu yang paling bagus, ada satu curug lagi, tapi kualitasnya kurang dari Curug Cibeureum. Keputusan mufakat diambil, kami teawalk ke Gunung Mas.

Kembali dari pejaga pos, kami bergabung dengan kawan-kawan yang lain ke acara “Hai – Hello” itu. Lalu main sedotan, permainan yang sudah beberapa kali saya ikuti, dan belum pernah berhasil. Sedotan dirangkai panjang diatas masing-masing telunjuk orang dalam satu team, lalu diturunkan bersama-sama, ga boleh ada yang lepas dari sedotan. Mungkin ga sih sebenernya? @-) Setelah semua kelompok berhasil, atau bisa disebut diberhasilkan, semua peserta diminta untuk siap-siap berangkat teawalk. Sayangnya ada seseorang yang ga ikutan teawalk, sebut saja C.. Hoho.

Berangkat..!! Perjalan ke Gunung Mas kira-kira setengah jam. Tiket masuknya 4.000 per orang dan busnya 10.000. Pemandangan yang aneh kami dapatkan, panas, tandus dan berdebu. Ternyata katanya sudah lama ga turun hujan, dan lagi ada regenerasi pohon teh, pohon-pohon yang sudah tua dicabut, umurnya sudah 50 tahun.

Tiba disana, bus parkir, kami kebingungan harus kemana, tidak seperti yang ada di bayangan kami. Untungnya ada seorang penjual layangan yang berubah profesi menjadi guide kami. Ada 3 paket: 4km, 8km, 10km. Karena cuaca cukup terik dan kedengarannya jauh, kami pilih yang 4km saja. Jalan, panas, aneh, tiba-tiba kita sudah kembali lagi ke lapangan dekat tempat awal.. Ini 4km ama 400m.

Setelah istirahat sebentar dan melihat Erik beratraksi Wushu, kami minta teawalk yang sesungguhnya pada sang guide. Akhirnya kita malah dibawa melewati “gurun debu” seperti di film-film cowboy, setiap langkah, debu-debu beterbangan. Melewati kebun teh yang sudah menjadi tumpukan batang dan akar, melewati secuil kebun teh yang masih hijau dan melewati jalanan yang begitu subur berkat kotoran kuda, dan tidak ketinggalan, panas..

Menyeberang jalan utama saat kami baru tiba ke Gunug Mas, kami lepas dari zona perang itu, kami mulai memasuki zona yang sewajarnya. Suasana mulai sejuk dan nyaman, panas matahari sudah tidak menyerap ke dalam sum-sum.

Terus berjalan, tak terasa waktu sudah menunjukkan pukul 17.00an. Kami kembali ke bus dan pulang. Rencananya mau nge-teh dulu di cafe di Gunung Mas, apa daya, dia tutup.

Di perjalanan kami mampir di sate kiloan PSK untuk menambah ransum BBQ. Setelah ditanya, ternyata yang dijual kiloan hanya sate kambing. Tapi, ya apa boleh buat, kami tetep harus nambah bahan, akhirnya kami beli sate ayamnya, 100 tusuk @2400 kalo ga salah, emang enak sih satenya..

Waktu kami lagi nunggu sate ternyata ada pasukan dari Jakarta (Pak Eddy, Pak Renan, Bani, Richard), janjian ketemu di sate PSK, Otto dan Esther yang nunggu dan ikut mobil sana. Ternyata mereka juga bawa ransum tambahan dari Jakarta 🙂

Sampai di penginapan dengan waktu yang hampir bersamaan, peserta diminta dibiarkan memiliki sedikit waktu senggang untuk istirahat dan bersih-bersih.

Setelah itu, tiba waktu makan malam, “All You Can Eat”, rasa lapar para peserta dipuaskan dengan cara yang unik. Makanan ditaruh per-set dalam bentuk memanjang, orang-orang berdiri di kedua sisi makanan dan saling berpasangan. Setiap orang diberikan sebuah sendok, dan makan dengan menyuapi pasangan diseberangnya. Hahah. Sungguh kreatif.

Setelah makanan habis, acara dilanjutkan dengan makan lagi, kali ini BBQ. Terlihat ada dua kubu, kubu pemanggang dan kubu penusuk. Masing-masing bekerja dengan penuh konsentrasi dan dedikasi.. Ada juga saat dimana kami bernyanyi bersama dan foto-foto.

Selesai BBQ, masih ada satu lagi, terakhir untuk hari ini, “Love Notes”, tapi sebelumnya ada kejutan dulu untuk Risa yang belum lama berulang tahun. Lanjut ke “Love Notes”, disini peserta disediakan kertas kecil untuk menuliskan apapun, lalu dapat dimasukkan ke amplop dengan nama orang atau divisi yang dituju. Kesempatan menulis diberikan hingga hari esok, sebelum kami pulang. Acara hari ini telah selesai.. Tidur-tidur.. Besok harus bangun pagi 😀

Selanjutnya hari kedua..