Jumat, 03 Agustus 2007

Why ASP

Saatnya membuat program untuk implementasi alur logika dari sistem yang akan saya bangun menggunakan bahasa pemrograman untuk aplikasi web yang saya bisa. Karena latar belakang saya adalah bahasa Basic, maka secara naluriah :) saya memilih untuk menggunakan Active Server Pages. Karena selain relatif mudah digunakan untuk saya, ASP juga memberikan saya kemudahan untuk melakukan pengembangan di komputer yang saya miliki. Hal tersebut dikarenakan project saya sebelumnya di kantor juga menggunakan ASP dan dengan memilih ASP saya tidak memerlukan proses untuk menginstal bermacam-macam program tambahan. Cukup ke control panel->lalu windows component->dan kemudian saya pilih IIS. Installer kemudian meminta saya memasukkan instalasi windows; yang lainnya tinggal memenuhi petunjuk khas instalasi windows yang mudah dan simple.

Bagi saya yang bertipe penantang keterbatasan murni dan bukan orang yang terlalu fanatik dengan bahasa tertentu dan dengan berbagai jargon tertentu, bahasa pemrograman yang saya gunakan bukanlah sesuatu yang terlalu dianggap sebagai salah satu faktor penting dalam pembuatan sebuah aplikasi. Bagi saya yang novice advanced ini ;), bahasa adalah sebuah tool. Oleh karena itu sebuah tool adalah sesuatu yang relatif terhadap sang operator, dalam hal ini adalah programmer. Oleh karena itu persetan banget dengan .NET, php atau apapun namanya yang lain! Karena selama saya bisa menggunakan ASP yang simple but faster, saya tokh masih bisa membuat sebuah aplikasi yang handal. Nah, tentunya hal tersebut bukan sekedar bergantung dengan penulisan algoritma di dalam bahasa yang saya gunakan, akan tetapi lebih merupakan gabungan diantara pengalaman, kedisiplinan dan ketekunan serta pengetahuan dan insialisasi topik permasalahan dari sistem yang saya bangun. Kata singkatnya, hal tersebut haruslah lebih dahulu di rencanakan dan didalami lebih dahulu, bukan sekedar langsung terjun berperang ria tanpa tahu bagaimana medannya.

Wuek ... aku baru tahu kalau tulisan ini terlalu melebar :D ...

Nah, terkait dengan ASP, sebenarnya ini merupakan sebuah lingkungan pengembangan aplikasi yang dibuat oleh microsoft untuk pengembangan aplikasi web, sehingga kita bisa mengatakan bahwa ASP bukan merupakan sebuah bahasa pemrograman. Sedangkan bahasa yang digunakan bisa menggunakan VBScript dan juga JScript. Kalau kita pernah menggunakan Visual Basic atau mengenal bahasa turunan dari BASIC, VBScript memiliki syntax yang sama dengannya. Sedangkan bagi yang pernah menggunakan bahasa C, JScript juga memiliki syntax yang sama. Menggunakan ASP kita bisa menggabungkan syntax HTML dan native script yang kita pilih. Sedangkan untuk menunjukkan bahwa bagian kode kita adalah bagian dari ASP, kita tinggal menambahkan tag <% dan %>, atau dengan cara lain menggunakan <script language=vbscript|javascript runat=server>.

Karena sifatnya yang seperti itulah saya bisa menggunakan kemudahan syntax basic dan menggabungkannya dengan flexibilitas dan kekayaan library yang dimiliki oleh javascript, misalnya penggunaan Regular Expression yang lebih kaya di javascript dibandingkan dengan vbscript.

Sebagai contoh adalah potongan kode dari library yang saya kembangkan dan saya gunakan untuk membuat definisi tag saya sendiri.


<%
function parseTag(byval sText)
sText = killHTML(sText)
sText = setLink(sText) ' it must be link 1st
sText = setOther(sText)
sText = setQuoteCode(sText) ' then quote
sText = setFont(sText) ' set font
sText = setSmiley(sText) ' then last ! smiley
parseTag = setBR(sText)
end function
%>


Untuk parseTag(..) tersebut saya menggunakan bahasa VBScript. Akan tetapi saya menginginkan sebuah cara untuk melakukan pemrosesan dengan tag yang saya kembangkan sendiri, misalnya [b]tebal[/b] akan menghasilkan hal yang sama dengan <b>tebal</b>, dan beberapa tag spesifik yang lain. Untuk itu saya memilih menggunakan library dari bahasa JSCript yang kaya untuk melakukan hal tersebut, dengan flexibilitas yang diberikan oleh library Regular Expression nya.

Untuk itu saya tinggal menulis syntax berikut.


<script language=javascript runat=server>
....
function setLink(sText)
{
// /(\[link)(\=?)([^\]]*)(\]{1})([^\[]+)(\[\/link\])/ - since v.0.6 a
// { s1 }{ s2}{ s3 }{ s4 }{ s5 }{ s6 }
var re = /(\[link)(\=?)([^\]]*)(\]{1})([^\[]+)(\[\/link\])/gi; // [link=abc.com]ccc[/link] OR [link]abc.com[/abc]
var s = new String(sText);
s = s.replace(re,
function(str,s1,s2,s3,s4,s5,s6)
{
var linkz = s3.length == 0 ? s5 : s3;
linkz = linkz.toLowerCase();
if(linkz.substr(0,6) != 'mailto')
{
if(linkz.toString().search(/(ht|f)tp(s?)\:\/\//i) == -1)
linkz = 'http://' + linkz;
}
if(s2.length == 0)
{
return "<a target=_blank href=\"" + linkz + "\">" + s5 + "</a>";
}
return "<a target=_blank href=\"" + linkz + "\">" + s5 + "</a>";
});
return s;
}
function removeTAGG(sText)
{
return (new String(sText)).replace(/\[([^\]]+)\]/gi, "");
}
....
</script>


Dan seperti yang dilihat, fungsinya bisa dipanggil oleh bagian ASP yang menggunakan VBScript seperti memanggil fungsi dalam bahasanya sendiri (Tentu saja ada beberapa batasan dalam variable advance). Kalau dilihat, sepertinya ASP memiliki konsep yang sama dengan salah satu sifat .NET. Hal tersebut adalah kebebasan dalam menggunakan bahasa pemrograman. Tentunya dalam hal ini tidak bisa dibilang sama dengan apa yang dimiliki oleh .NET ;).

Nah cukup sudah, saya lumayan capek neh ... mau tidur dulu yah ;)...

Tidak ada komentar: