Fungsi Terbilang pada ASP 3 classic

Saya mengalami kesulitan dalam membuat fungsi terbilang untuk ASP 3 klassik. Yang banyak adalah fungsi terbilang xlam untuk EXCEL. Untuk itu saya modifikasi fungsi terbilang yang banyak bertebaran di google sehingga menghasilkan fungsi terbilang yang berjalan mulus untuk ASP 3 Classic/Klasik/Native 😀

Daripada ngoding lagi ga karuan, copas saja deh 😀 yang penting universal function

Tw

Cukup gunakan fungsi <!–#include file=”namafile.asp”–> dan gunakan fungsi response.write terbilang(1000000) akan menghasilkan tulisan Satu juta rupiah.

<% Function Val( myString ) ' Val Function for VBScript (aka ParseInt Function in VBScript). ' By Denis St-Pierre. ' Natively VBScript has no function to extract numbers from a string. ' Based shamelessly on MS' Helpfile example on RegExp object. ' CAVEAT: Returns only the *last* match found ' (or, with objRE.Global = False, only the *first* match) Dim colMatches, objMatch, objRE, strPattern ' Default if no numbers are found Val = 0 strPattern = "[-+0-9]+" ' Numbers positive and negative; use ' "ˆ[-+0-9]+" to emulate Rexx' Value() ' function, which returns 0 unless the ' string starts with a number or sign. Set objRE = New RegExp ' Create regular expression object. objRE.Pattern = strPattern ' Set pattern. objRE.IgnoreCase = True ' Set case insensitivity. objRE.Global = True ' Set global applicability: ' True => return last match only, ' False => return first match only. Set colMatches = objRE.Execute( myString ) ' Execute search. For Each objMatch In colMatches ' Iterate Matches collection. Val = objMatch.Value Next Set objRE= Nothing End Function Function Terbilang(Angka ) Dim n1 Dim nangka, Strjmlhuruf, intpecahan , strpecahan, urai, Bil1, strtot, bil2 Dim x, Y, z, i For i = 1 To Len(Angka) If Not Mid(Angka, i, 1) = "." Then nangka = nangka + Mid(Angka, i, 1) End If Next If Len(LTrim(nangka)) = 0 Then terbit = "Nol Rupiah" Exit Function End If Strjmlhuruf = LTrim(RTrim((nangka))) intpecahan = Val(Right(Mid(Angka, 15, 2), 2)) If (intpecahan = 0) Then strpecahan = "" End If x = 0 Y = 0 urai = "" While (x < Len(Strjmlhuruf)) x = x + 1 strtot = Mid(Strjmlhuruf, x, 1) Y = Y + Val(strtot) z = Len(Strjmlhuruf) - x + 1 Select Case Val(strtot) Case 1 If (z = 1 Or z = 7 Or z = 10 Or z = 13) Then Bil1 = "Satu " ElseIf (z = 4) Then If (x = 1) Then Bil1 = "Se" Else Bil1 = "Satu " End If ElseIf (z = 2 Or z = 5 Or z = 8 Or z = 11 Or z = 14) Then x = x + 1 strtot = Mid(Strjmlhuruf, x, 1) z = Len(Strjmlhuruf) - x + 1 bil2 = "" Select Case Val(strtot) Case 0 Bil1 = "Sepuluh " Case 1 Bil1 = "Sebelas " Case 2 Bil1 = "Dua Belas " Case 3 Bil1 = "Tiga Belas " Case 4 Bil1 = "Empat Belas " Case 5 Bil1 = "Lima Belas " Case 6 Bil1 = "Enam Belas " Case 7 Bil1 = "Tujuh Belas " Case 8 Bil1 = "Delapan Belas " Case 9 Bil1 = "Sembilan Belas " End Select Else Bil1 = "Se" End If Case 2 Bil1 = "Dua " Case 3 Bil1 = "Tiga " Case 4 Bil1 = "Empat " Case 5 Bil1 = "Lima " Case 6 Bil1 = "Enam " Case 7 Bil1 = "Tujuh " Case 8 Bil1 = "Delapan " Case 9 Bil1 = "Sembilan " Case Else Bil1 = "" End Select If (Val(strtot) > 0) Then If (z = 2 Or z = 5 Or z = 8 Or z = 11 Or z = 14) Then bil2 = "Puluh " ElseIf (z = 3 Or z = 6 Or z = 9 Or z = 12 Or z = 15) Then bil2 = "Ratus " Else bil2 = "" End If Else bil2 = "" End If If (Y > 0) Then Select Case z Case 4 bil2 = bil2 + "Ribu " Y = 0 Case 7 bil2 = bil2 + "Juta " Y = 0 Case 10 bil2 = bil2 + "Milyar " Y = 0 Case 13 bil2 = bil2 + "Trilyun " Y = 0 End Select End If urai = urai + Bil1 + bil2 Wend urai = urai + strpecahan Terbilang = urai & "Rupiah " Terbilang = LCase(Terbilang) n1 = UCase(Left(Terbilang, 1)) Terbilang = n1 & Mid(Terbilang, 2, Len(Terbilang) - 1) End Function %> read more

Mari belajar ASP 3 Klasik: TWqCMS

Seri belajar ASP klasik ini adalah seri terakhir, dimana saya buatkan CMS kecil-kecilan, yang bisa melakukan prosedur installasi, jika connection string: nama server mmsql/ip-address ada, database sudah dibuat. Tables akan otomatis dibuat oleh program. Artikel berdasarkan kategori, serta sistem administrasi. Dan tentu saja tampilan bisa dirubah dengan script css.

Fitur utama dari CMS (Content Management System) ini antara lain:

  • Frontpage dengan featured content (last post).
  • Category by post.
  • Custom Site skin / CSS.
  • Administration (add/edit/delete articles, category, user).
  • Single .asp file with auto file-naming detection.
  • Popular post & related post (berdasarkan kategori).
  • Cached object menggunakan server-application IIS (pada frontpage, css, header, footer, popular post).
twqcms 0005
Tampilan 404. file gambar Error ambil dari google.com
twqcms 0004
Baca artikel
twqcms 0002
Browse kategori artikel
twqcms 0001
tampilan frontpage

Di tes dengan menggunakan database SQL Server 2000 dan 2005. IIS bawaan Windows 2000 dan 2003. Secara teori tetep akan berjalan di Windows Server 2008(r2)/2012. Asalkan databasenya SQL Server 2000/2005. Pada SQL-Server diatas versi 2005, saya belum coba. Hal yang mungkin terjadi error pada database yang tidak dikenal, adalah proses installasi. Jika anda membuat tables secara manual, TWqCMS tetap akan berjalan.

twqcms 0010
tampilam list artikel pada administration
twqcms 0009
tampilan log
twqcms 0008
tampilan kategori
twqcms 0007
menambahkan kategori
twqcms 0006
site setup

Pada konfigurasi Windows 2000 server & Sql-server 2000, bisa langsung taruh file portal.asp ini pada root www. Ekstensi asp langsung bisa di parsing oleh IIS. Pada Windows 2003 server keatas: Eksekusi asp pada IIS harus diaktifkan secara manual.

Pada Windows 2003 server (r2) ada di Control-panel, Add remove programs, Add remove windows component, Application server (details) – Internet Information Services IIS (details), World Wide Services (details), Active Server Pages (cek). Entah kenapa ASP dianaktirikan pada Windows Server 2000 keatas 🙁 Padahal aspx bisa langsung di running, jika dotnet diaktfikan pada pembuatan situs di IIS.

twqcms 0015
Cara mengaktifkan ASP pada IIS Windows 2003 r2. Jangan lupa, sediakan cd installasi Windows ybs. (Disc 1)

Pada Windows 2008 (r2), semua setingan ada di Server roles. Ikuti link ini untuk lebih jelasnya: http://www.iis.net/learn/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/classic-asp-not-installed-by-default-on-iis

Untuk installasi TWqCMS, anda cukup membuat database baru pada SQLServer (2000/ 2005(r2)/ 2008(r2), beserta user name yang diberi hak penuh terhadap database tsb (grant). Lalu edit file portal.asp, rubah connection string [db] sesuai kebutuhan. Dan pindahkan file tsb ke folder tempat website berada. Cara membuat website pada IIS dan pembuatan database serta userlogin saya tidak jelaskan disini.

Jangan gunakan akun SA Ms-SqlServer pada situs produksi. Kecuali kepepet.

Tommy Wiranto

twqcms 0011
Tampilan awal app jika connection string benar, tetapi belum ada tables yang diperlukan (Proses installasi )
twqcms 0012
Form installasi akan dibuat otomatis (bawaan template instalasi).
User & password default ‘admin’ bisa dirubah saat proses diatas.
twqcms 0013
Proses installasi berhasil
twqcms 0003
Setelah installasi berhasil. Akan muncul halaman login. Isikan sesuai dengan user & password ketika installasi.

Demo ada di  http://www.twiranto.com/demo1/portal.asp

Administration   http://www.twiranto.com/demo1/portal.asp?do=login

User (readonly): tes
Password: tes

Pergantian user password, saya disable.

Untuk mengunduhnya, silakan klik link (buang extensi .txt dan ganti – menjadi . untuk bisa diparsing oleh IIS): http://www.twiranto.com/wordpress/portal-asp.txt

Mirror: DropBox

update:

Web Platform Installer: Adaptasi Microsoft terhadap trend

Mungkin agak sulit mengkonfigurasi php, mysql di lingkungan System Operasi Windows server bagi beberapa Sysadmin. Xampp bukanlah solusi, itu adalah kumpulan tools untuk pengembangan webapps di DESKTOP Windows — bukan untuk disituasi Produksi.

Balik lagi untuk mengenang bagaimana Microsoft beradaptasi terhadap cikal-bakal internet. Saat itu, mungkin tahun 1990an, NOVELL adalah rajanya jaringan; baik sekala kecil ataupun besar pada lingkungan korporasi. TCP-IP saat itu belum booming, entah karena faktor teknologi atau faktor-faktor lainnya.

Yang saya ingat, saat itu Novell tidak ber-adaptasi dengan protokol TCP-IP, memaksakan protokol IPX sebagai standard protokol komunikasi antara mesin. Sedangkan Windows karena memang OS tetap memasukkan fungsi TCP-IP yang saat ini sangat memegang peranan penting pada komunikasi global. Bahkan Microsoft beradaptasi memasukan protokol NETBIOS nya agar berjalan pada TCP-IP. itu adalah adaptasi yang bijak. Disamping itu tetap menggunakan IPX sebagai protokol utama.

Balik lagi ke topik; karena mayoritas webapps dibangun dengan bahasa yang tadinya hanya proyek iseng, PHP berkembang menjadi bahasa programming yang memegang peranan penting terhadap dunia internet. Sekilas bagi programmer pascal era dos, PHP adalah adaptasi dari bahasa buatan Borland tsb. Walaupun tidak sama-persis, seperti c++ dan Java. Hanya sekilas mirip.

Yang menjadi bahasan pada topik kali ini; Webserver pada Windows adalah Microsoft IIS. Sudah ada dari zaman Windows NT 3.x sampai Windows Server 2012. tetapi dukungan bahasa yang bisa dilayani oleh programming server-side adalah ASP dan ASPX (dotnet). Untuk dukungan bahasa lainnya, seperti Common Gateway Interface (.cgi), Pearl (.pl) membutuhkan dukungan software tambahan yang terinstall pada mesin yang IIS nya sudah dijadikan service. Jangan tanyakan apakah bisa menimbulkan masalah sekuriti atau tidaknya 😀

Nah biasanya .asp/.aspx membutuhkan partner untuk penyimpanan data. Dan tentu saja produk Microsoft untuk Database ada, yakni Microsoft SQL Server. Lain halnya dengan PHP, biasanya PHP berpartner dengan MySQL. Nah semenjak Mysql diakusisi oleh perusahaan database terbesar dunia, sang Oracle. Komunitas di Mysql, sepertinya jengah dengan komersialisasi MySQL yang dibangun bersama-sama. Dan terjadilah drop-in-replace MariaDB untuk MySQL. Sepertinya agak melenceng dari topik ya… 😀

So; IIS + php+mysql bisakan hidup dalam satu atap? Nah jawabnnya adalah Web Platform Installer atau biasa disebut WebPI (webpie). WebPI adalah bukti adaptasi perusahaan besar terhadap trend di dunia. ASP/ASPX rupanya kurang disukai oleh kebanyakan orang — entah kenapa.

Dengan WebPI; seorang newbies bahkan bisa menginstall WordPress dan CMS-CMS populer yang berbasikan php di mesin Windows Server 😀 Tinggal unduh WebPI yang ukurannya cukup mini. Setelah WebPI terinstall, program tsb berfungsi sebagai Launcher dan Installer yang akan otomatis mengunduh paket, program serta mengkonfigurasi, serta mengaktifkan layanan webappas yang dimaksud.

Lisensi? free. Minimum untuk versi OS-nya adalah Windows Server 2003 r2. Tetapi terakhir saya coba di 2003 r2 menggunakan WebPI 4.6 untuk installasi WordPress terjadi error. Jika anda mempunyai WebPI versi sebelumnya; mungkin bisa berhasil. Pada Windows Server 2008 r2 installasi WordPress/Drupal dengan WebPI 4.6 berhasil. Mulai dari mengunduh MySQL 5.1, modul-modul cache php pada IIS dll, sukses semua di install dan di konfigurasi. Mungkin WebPI 4.x memang ditujukan pada lingkungan Server 2008 r2 keatas 😀 *seperti biasa lah

Untuk Desktop Windows 7 saya sudah coba juga, dan bisa menggantikan XAMPP untuk pengembangan. Walaupun sebenarnya lebih baik menggunakan solusi XAMPP pada lingkungan desktop. Karena sangat cepat, tinggal double clik pada file installasi XAMPP, buka control-panel XAMPP, aktifkan Apache, Mysql — walaaa.. Saya bisa menaruh webapps apa saja, atapun mencoba script buatan sendiri pada desktop Windows. Dan ditambah fitur dari Bitnami, installasi webapps semakin dipermudah lagi, misalkan untuk menginstall Joomla, Drupal, WordPress tinggal ambil paket Bitnami untuk CMS tsb, dan segalanya akan otomatis 😀

 

microsoft webplattform installer 0002 microsoft webplattform installer 0001

 

Contoh: Wordpres, membutuhkan backend db MySQL 5x, PHP 5x, mod_rewrite dll. Klik pada WordPress, lalu tekan tombol Install. Lalu yang perlu diset adalah Password root MySQL saja 😀

Mari belajar ASP 3 IV

Server Side Include, apaan lagi tuh? Ini adalah perintah diluar tag <% %> yang berguna untuk menyisipkan script; baik yang serverside (asp); or client side (js/htm/css). Berbeda dengan server.execute(); hanya untuk eksekusi hasil file .asp. Contohnya seperti ini:

<!-- nama file: tes02.asp -->
<%= " ini file tes02.asp <hr>" %>
<!-- eof tes03.asp -->

 

<!-- nama file: tes02static-header.htm -->
<html><head><title>tes include</title><body>
<!-- eof tes02static-header.htm -->

 

<!-- nama file: tes02static-footer.htm -->
</body></html>
<!-- eof tes02static-footer.htm -->

 

<!-- nama file: tes03.asp -->
<!--#include file="tes02static-header.htm"-->
<%= "ini adalah file tes03.asp <hr> " %>
<!--#include file="tes02.asp"-->
<!--#include file="tes02static-footer.htm"-->
<!-- eof: tes03.asp --> read more

Mari belajar ASP 3 III

Bahasan selanjutnya adalah penggunaan response-response yang lain. Ada banyak penggunaan sintaks response; tetapi saya membahas hanya yang pernah saya gunakan saja.

  • response.Cookies: berguna untuk memberikan cookies ke browser client. Misalnya untuk menaruh informasi pembelian; jika memakai shopping chart, tanggal terakhir browsing dll. Sintaksnya mudah: <% response.cookies(“lastvisit”)=now%> . Yang artinya memberikan cookies lastvisit pada browser dengan isi tanggal sekarang. Untuk mengambil/membaca cookies gunakan <%= request.cookies(“lastvisit”)%>. <%= artinya alias untuk kode response.write  — tambahan properti .expires misalnya <% response.cookies(“lastvisit”).Expires=#May 10,2020# %> berarti memberi nilai kadaluarsa pada cookies lastvisit 10 Mei 2020.
  • response.redirect: Ini salah satu perintah yang saya sering gunakan. Gunanya untuk membelokkan url. contohnya <% response.redirect(“/app/login.asp”)%>, <% response.redirect(“http://anu.com/list.asp”) %>. Biasanya digunakan ketika verifikasi request form/querystring sukses tervalidasi.
  • response.End: Menghentikan script segera. Cukup <% response.end %> script dibawahnya akan tidak diproses lagi oleh webserver.

Penggunaan Session

Mirip dengan response.cookies, session juga menaruh cookies; tetapi tidak kelihatan valuenya oleh user; kode-kode acak. Biasanya untuk memverifikasi user yang login. Sintaksnya cukup mudah: Set Session(“login”)=”yes” artinya memberi variabel yes pada session login. Cara aplikasinya cukup mudah:

 

<!-- file: tes01.asp -->
<% sub header %>
<html><head>
<title> login </title>
<body>
<% end sub %>

<% sub footer %>
</body></html>
<% end sub %>

<%
sub loginver

if request.form("txt_username")="tommy" and request.form("txt_password")="oke" then
session("login")="yes"
session("username")=request.form("txt_username")
response.redirect ("tes01.asp?tugas=loggedin")
else
response.write "gagal login...<a href=""tes01.asp?err_login=yes"">kembali</a> "
end if
end sub

%>

<% sub loginpage %>
<form name="loginfrom" method="post" action="tes01.asp?tugas=loginver">
nama: <input type="text" name="txt_username" size="20"><br/>
pass: <input type="password" name="txt_password" size="20"><br/>
<input type="submit" value="login" name="cmd_submit">
</form>

<%
if request("err_login")="yes" then response.write "<font color=""red"">salah username/password</font>"
end sub %>

<% sub loggedin
if session("login")="yes" then
response.write "hallo " & session("username") & "<br>"
response.write "anda berhasil login di halaman ini"
response.write "<br><br> klik <a href=""tes01.asp?tugas=logout"">disini untuk logout</a>"
else
response.redirect ("tes01.asp?tugas=loginpage&err_login=yes")

end if

end sub %>

<% sub logout
session.abandon()
response.write "anda berhasil logout...<br>"
response.write "<a href=""tes01.asp""> klik disini untuk ke form login"
end sub
%>

<% '' fungsi utama page
call header
x=request("tugas")
Select case x
case "logout"
call logout
case "loginver"
call loginver
case "loggedin"
call loggedin
case "loginpage"
call loginpage
case else
call loginpage
end select

call footer
%> read more

Mari belajar ASP 3 II

Pada artikel belajar ASP 3 yang lalu, kita sudah belajar fungsi dasar, Hello World dan pengulangan menggunakan metoder for-next. Selain for-next looping (pengulangan) juga bisa dilakukan dengan, while-wend, do-loop until. Saya lebih banyak mengunakan for-next dan while-end.

Selanjutnya akan ada proses input dari form html atau request parameter file.

Dan terakhir untuk jilid ini, penjelasan sederhana mengenai fungsi prosedur (sub) dan fungsi application.server (cache data di ram IIS).

Sintaks While-End; karena keluarga BASIC, pasti mirip dengan pemrograman yang sejenis.

<% x=1
while x<6

 x=x+1
 response.write "baris ke: " & x & " " & vbnewline

wend %>

Lalu fungsi penting lainnya yang sering digunakan adalah pengambil keputusan. Fungsi ‘IF’, ‘Select case’.

contohnya

<% 
x=1 
for x=1 to 100 
if x=50 then response.write "ini loop ke 50 loh"
if x=100 then 
     response.write "selesai ..." 
     response.write "program diakhiri." 
 end if %>
next 
%>

Perhatikan if yang pertama, ini IF tipe langsung, biasanya dipakai untuk mengerjakan fungsi yang tidak banyak, misalnya echo ataupun memanggil fungsi.
If yang kedua memakai if-endif. Karena ada setelah x menjadi 100, akan terpicu mengaktifkan 2 sintaks response.write.

Contoh Fungsi if lainnya

<%
x=1
for x=1 to 100
 if x=5
   response.write "loop ke lima<br>" 
 else
   response.write "loop selain lima: " & x & "<br>"
end if
next
%>

 

If juga bisa di kondisikan juga menggunkaan “=” yang artinya sama, “<>” yang artinya tidak sama, atupun menggunakan “if not”. tergantung kebutuhan.

If not x=1

if <> x=1

Kedua sintaks diatas adalah sama.

Selanjutnya ‘Select Case’. Formatnya adalah

Select case [trigger/variabel]

 case “nama trigger”

”fungsi-fungsi

case ELSE

” fungsi akhir

End Select

Contoh pengaplikasiannya:

<% x=1
for x=1 to 100
select case x
case 1
response.write "pertama<br>"
case 50
response.write "lima puluh<br>"
case 100
response.write "selesai<br>"
case else
response.write x & "<br>"
end select
next
%> read more

Mari belajar ASP 3 klasik

Walaupun sudah mulai ditinggalkan, tidak ada salahnya mempelajari bahasa pemprograman server side ini. Gaya penulisan ASP 3 adalah Basic. So.. misalnya anda pernah belajar keluarga bahasa BASIC baik Gwbasic, Basica, qBasic, Quickbasic ataupun Turb Basic pasti lebih mudah mempelajarinya.

Skill HTML dasar diperlukan untuk mempelajari ASP. Karena saya terbiasa menggunakan text-editor untuk membuat aplikasi web. Text editor bisa memakai notepad++ ataupun editplus. Untuk mendapatkannya silakan cari di google.

Di artikel ini tidak membahas dulu cara koneksi dengan database. Cara yang mudah dulu saja; misalnya fungsi syntak ‘Select Case’, ‘if then else’, ‘for next’.

Editor yang saya sarankan adalah Notepad++ (free) dan editplus (berbayar). Karena sudah mengenali sintaks asp 3 klasik, agar mempermudah proses penulisan script.

Langsung saja, ada kasus, seperti ini. Tulisan “Saya belajar ASP” sebanyak 1000 baris yang muncul di browser. Gampang saja, buka frontpage/texteditor lalu bisa copy paste. yah kalau 1000 baris, kalau 100.000.000 baris? bisa copot itu tombol ctrl+v di keyboard anda. Nah dalam keluarga basic. cara mendisplay kata-kata ke browser, ASP menggunakan sintaks:

<% response.write “Hallo dunia” %>

Pengulangan printah bisa menggunakan sintaks: for … next. contohnya:

<% dim x ”ini deklarasi variabel sembarang

for x=1 to 1000
response.write “Saya belajar ASP <br>”
next %>

fungsi tag <br> diatas apa? itu adalah sintaks html yang berarti memberikan fungsi baris baru agar tulisan Saya belajar ASP tidak menyambung.

Tetapi uploadnya kemana? kebanyakan server hosting menggunakan PHP. bener juga. Kalau anda memakai system operating Windows XP pro/7 ultimate anda bisa menambahkan komponen Microsoft IIS yang akan mengkonfigurasi Windows anda menjadi server web latihan. Document root nya ada di C:inetpubwwwroot. Atau gunakan solusi virtualiasi. Install Vmware atau Virtualbox, lalu setup Windows server 2000/2003. dengan konfigurasi virtual ram nya 256, vharddisk minimal 4 gb.

Pada Windows 7 Ultimate adanya di Control panel (view as category) – Programs – Turn Windows feature on or off.

IIS win 7Pada Windows XP pro, kalau tidak salah ada di Control panel – Add remove programs – Add remove Windows Component. Banyak Windows XP pro yang tidak ada IIS nya. Cari yang versi orisinil yang Windows XP Pro saja, tanpa ada tambahan Aplikasi pre-installed. Juga ditemui di Windows 7 Ultimate.

 

kuncian: belajar asp 3 klasik classic