Skip to main content

[Dokumentasi] Fungsi terbilang pada Microsoft SQL

Hasil dari browsing diinternet untuk fungsi terbilang pada Microsoft SQL Server.
Sumber : http://songkar13.blogspot.com/2013/10/membuat-fungsi-terbilang-di-sql-server.html
CREATE FUNCTION terbilang(@the_amount money)
RETURNS varchar(250) AS
BEGIN
DECLARE
    @divisor    bigint,
    @large_amount    money,
    @tiny_amount    money,
    @the_word    varchar(250),
    @dividen    money,
    @dummy        money,
    @weight    varchar(100),
    @unit        varchar(30),
    @follower    varchar(50),
    @prefix    varchar(10),
    @sufix        varchar(10)
--SET NOCOUNT ON
SET @the_word = ''
SET @large_amount = FLOOR(ABS(@the_amount) )
SET @tiny_amount = ROUND((ABS(@the_amount) - @large_amount ) * 100.00,0)
SET @divisor = 1000000000000.00
IF @large_amount > @divisor * 1000.00
    RETURN 'OUT OF RANGE'
   
WHILE @divisor >= 1
BEGIN       
    SET @dividen = FLOOR(@large_amount / @divisor)
    SET @large_amount = CONVERT(bigint,@large_amount) % @divisor
   
    SET @unit = ''
    IF @dividen > 0.00
        SET @unit=(CASE @divisor
            WHEN 1000000000000.00 THEN 'TRILYUN '
            WHEN 1000000000.00 THEN 'MILYAR '           
            WHEN 1000000.00 THEN 'JUTA '               
            WHEN 1000.00 THEN 'RIBU '
            ELSE @unit
        END )
    SET @weight = ''   
    SET @dummy = @dividen
    IF @dummy >= 100.00
        SET @weight = (CASE FLOOR(@dummy / 100.00)
            WHEN 1 THEN 'SE'
            WHEN 2 THEN 'DUA '
            WHEN 3 THEN 'TIGA '
            WHEN 4 THEN 'EMPAT '
            WHEN 5 THEN 'LIMA '
            WHEN 6 THEN 'ENAM '
            WHEN 7 THEN 'TUJUH '
            WHEN 8 THEN 'DELAPAN '
            ELSE 'SEMBILAN ' END ) + 'RATUS '
    SET @dummy = CONVERT(bigint,@dividen) % 100
    IF @dummy < 10.00
    BEGIN
        IF @dummy = 1.00 AND @unit = 'RIBU'
        BEGIN
            IF @dividen=@dummy
                SET @weight = @weight + 'SE'
            ELSE
                SET @weight = @weight + 'SATU '
        END
        ELSE
        IF @dummy > 0.00
            SET @weight = @weight + (CASE @dummy
                WHEN 1 THEN 'SATU '
                WHEN 2 THEN 'DUA '
                WHEN 3 THEN 'TIGA '
                WHEN 4 THEN 'EMPAT '
                WHEN 5 THEN 'LIMA '
                WHEN 6 THEN 'ENAM '
                WHEN 7 THEN 'TUJUH '
                WHEN 8 THEN 'DELAPAN '
                ELSE 'SEMBILAN ' END)
    END
    ELSE
    IF @dummy BETWEEN 11 AND 19
        SET @weight = @weight + (CASE CONVERT(bigint,@dummy) % 10
            WHEN 1 THEN 'SE'
            WHEN 2 THEN 'DUA '
            WHEN 3 THEN 'TIGA '
            WHEN 4 THEN 'EMPAT '
            WHEN 5 THEN 'LIMA '
            WHEN 6 THEN 'ENAM '
            WHEN 7 THEN 'TUJUH '
            WHEN 8 THEN 'DELAPAN '
            ELSE 'SEMBILAN ' END ) + 'BELAS '
    ELSE
    BEGIN
        SET @weight = @weight + (CASE FLOOR(@dummy / 10)
            WHEN 1 THEN 'SE'
            WHEN 2 THEN 'DUA '
            WHEN 3 THEN 'TIGA '
            WHEN 4 THEN 'EMPAT '
            WHEN 5 THEN 'LIMA '
            WHEN 6 THEN 'ENAM '
            WHEN 7 THEN 'TUJUH '
            WHEN 8 THEN 'DELAPAN '
            ELSE 'SEMBILAN ' END ) + 'PULUH '
        IF CONVERT(bigint,@dummy) % 10 > 0
            SET @weight = @weight + (CASE CONVERT(bigint,@dummy) % 10
                WHEN 1 THEN 'SATU '
                WHEN 2 THEN 'DUA '
                WHEN 3 THEN 'TIGA '
                WHEN 4 THEN 'EMPAT '
                WHEN 5 THEN 'LIMA '
                WHEN 6 THEN 'ENAM '
                WHEN 7 THEN 'TUJUH '
                WHEN 8 THEN 'DELAPAN '
                ELSE 'SEMBILAN ' END )
    END
   
    SET @the_word = @the_word + @weight + @unit
    SET @divisor = @divisor / 1000.00
END
IF FLOOR(@the_amount) = 0.00
    SET @the_word = 'NOL '
SET @follower = ''
IF @tiny_amount < 10.00
BEGIN   
    IF @tiny_amount > 0.00
        SET @follower = 'KOMA NOL ' + (CASE @tiny_amount
            WHEN 1 THEN 'SATU '
            WHEN 2 THEN 'DUA '
            WHEN 3 THEN 'TIGA '
            WHEN 4 THEN 'EMPAT '
            WHEN 5 THEN 'LIMA '
            WHEN 6 THEN 'ENAM '
            WHEN 7 THEN 'TUJUH '
            WHEN 8 THEN 'DELAPAN '
            ELSE 'SEMBILAN ' END)
END
ELSE
BEGIN
    SET @follower = 'KOMA ' + (CASE FLOOR(@tiny_amount / 10.00)
            WHEN 1 THEN 'SATU '
            WHEN 2 THEN 'DUA '
            WHEN 3 THEN 'TIGA '
            WHEN 4 THEN 'EMPAT '
            WHEN 5 THEN 'LIMA '
            WHEN 6 THEN 'ENAM '
            WHEN 7 THEN 'TUJUH '
            WHEN 8 THEN 'DELAPAN '
            ELSE 'SEMBILAN ' END)
    IF CONVERT(bigint,@tiny_amount) % 10 > 0
        SET @follower = @follower + (CASE CONVERT(bigint,@tiny_amount) % 10
            WHEN 1 THEN 'SATU '
            WHEN 2 THEN 'DUA '
            WHEN 3 THEN 'TIGA '
            WHEN 4 THEN 'EMPAT '
            WHEN 5 THEN 'LIMA '
            WHEN 6 THEN 'ENAM '
            WHEN 7 THEN 'TUJUH '
            WHEN 8 THEN 'DELAPAN '
            ELSE 'SEMBILAN ' END)
END
   
SET @the_word = @the_word + @follower
IF @the_amount < 0.00
    SET @the_word = 'MINUS ' + @the_word
   
RETURN @the_word
END

Comments

Popular posts from this blog

[Dokumentasi] Reporting Program VB6 dengan Crystal Report 8.5 menggunakan TTX File (II)

Dalam tulisan kali ini, kita akan menampilkan data dari program aplikasi yang kita buat dengan VB6 ke laporan Crystal Report (TTX File). Di bagian sebelumnya, sudah disampaikan langkah-langkah pembuatan laporan Crystal Report dengan TTX File. Untuk menghubungkan laporan tersebut dari program aplikasi yang kita buat, dapat mengikuti langkah-langkah berikut : 1. Buka IDE Ms. VB 6, pilih New - Standard Exe, kemudian klik tombol Open 2. Pilih menu Project - Component (Ctrl+T), tab Controls akan menampilkan daftar komponen teregister yang dapat kita gunakan untuk program aplikasi kita, ceklis komponen Crystal Report Viewer Control, kemudian klik tombol OK 3. Pilih menu Project - References, ceklis Crystal Reports 8.5 ActiveX Designer Run Time Library dan Microsoft ActiveX Data Objects 2.x Library, kemudian klik tombol OK 4. Pada Toolbox akan menambah 1 komponen dengan nama CRViewer, drag komponen tersebut dan drop di form yang kita gunakan. 5. Atur tata letak komponen tersebut pada for...

[Dokumentas] Reporting Program VB6 dengan Crystal Report 8.5 menggunakan TTX File (I)

Ada beberapa cara menampilkan laporan dengan crystal report dari program yang kita buat menggunakan visual basic (khususnya VB6). Salah satu contoh yang saya anggap paling gampang dan tidak ribet yakni dengan menggunakan TTX File. Kenapa saya katakan paling gampang, karena dengan menggunakan TTX File, kita hanya memerlukan bantuan recordset sebagai datasource nya, sehingga kita hanya "bermain" dengan perintah SQL untuk menampilkan datanya. Adapun langkah-langkah pembuatan laporan nya sebagai berikut : 1. Buka Crystal Report yang sudah terinstall di PC, kemudian di awal akan langsung menampilkan pilihan Create (buat report baru) atau Open (modifikasi laporan), pilih Create - As a Blank Report (akan ditampilkan form Data Explorer) 2. Pada Data Explorer, pilih More Data Sources - Active Data - Active Data (Field Definition Only) 3. Kita akan dihadapkan pada form Select Data Source. Di sini kita bisa membuat file TTX sendiri dengan menggunakan bantuan Notepad, jika kita sudah...

Twitter memposting keuntungan pertama meski ada masalah bot

Jaringan sosial lambat berkembang karena berkaitan dengan kekhawatiran akan jutaan akun palsu yang melakukan tweet dan retweet di seluruh platform.   Ada jutaan akun palsu yang melakukan tweet , retweet dan like ke sebagian besar akun terkenal di Twitter. Jadi apa yang akan dilakukan perusahaan tentang hal itu?   Masalahnya telah menggelegak di bawah permukaan di Twitter selama bertahun-tahun. Tapi itu dibawa ke permukaan oleh The New York Times, yang menemukan perusahaan yang menghasilkan uang dengan menggunakan bots - program komputer otomatis yang terkadang berperan sebagai orang sungguhan - untuk memperbanyak pengikut selebriti, eksekutif bisnis, dan bahkan anggota dewan Twitter sendiri sebenarnya punya. Twitter mulai membersihkan jutaan akun palsu untuk menanggapi hal ini. Sulit untuk mengatakan berapa banyak akun palsu di luar sana. Sebuah studi yang dirilis tahun lalu menemukan bahwa sebanyak 15 persen akun Twitter aktif dikendalikan oleh bot. Twitter menga...