• Tidak ada hasil yang ditemukan

BAB 1 PENDAHULUAN 1.1 Latar Belakang

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 1 PENDAHULUAN 1.1 Latar Belakang"

Copied!
28
0
0

Teks penuh

(1)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Seiring dengan perkembangan teknologi informasi dan komunikasi yang semakin pesat dewasa ini, telah membuat bola dunia terasa semakin kecil dan ruang seakan menjadi tak berjarak lagi dan hampir semua aspek kehidupan menggunakan komputer. Mulai dari wahana teknologi informasi dan komunikasi yang paling sederhana berupa perangkat radio dan televisi hingga internet dan telepon genggam dengan protokol aplikasi tanpa kabel. Tentu saja teknologi informasi tidak akan berarti apa-apa tanpa didukung oleh sistem informasi yang dalam hal ini adalah aplikasi-aplikasi yang ditanam dalam perangkat teknologi tersebut.

Penggunaan dari perangkat lunak (software) dalam personal computer (PC) dapat dikembangkan ke berbagai kebutuhan sesuai dengan permintaan pemakai. Dalam penelitian ini akan dikembangkan salah satu pemakaian dari perangkat lunak dalam PC yaitu sebagai pelafalan dan konversi bilangan menjadi kalimat dengan menggunakan Borland Delphi Versi 6.0, dimana penelitian ini dimaksudkan untuk melihat sejauh mana penggunaan aplikasi ini dapat berguna bagi para pemakai yang berkecimpung dalam bidang keuangan dan atau yang melakukan kegiatan keuangan. Misalnya dalam penulisan kwitansi yang menggunakan penulisan kalimat dari nilai suatu bilangan tertentu. Kecenderungan yang terjadi adalah bahwa penulisan pembilangan nilai tersebut kurang teliti terutama apabila memuat bilangan yang terdiri dari banyak digit.

Komputerisasi pelafalan dan konversi bilangan menjadi kalimat dengan menggunakan Borland Delphi 6.0 akan memiliki keunggulan / kelebihan dari pelafalan dan konversi bilangan menjadi kalimat secara manual. Beberapa keunggulan tersebut selain mengoptimalkan fungsi komputer sebagai PC adalah mengolah data secara cepat dan menampilkan hasil yang lebih teliti.

(2)

1.2 Perumusan Masalah

Berdasarkan latar belakang yang telah diuraikan, masalah utama yang dihadapi adalah bagaimana mengurangi kekurangtelitian dalam penulisan pembilangan suatu nilai bilangan menjadi kalimat.

1.3 Batasan Masalah

Dalam penelitian ini, agar penelitian tidak menjadi melebar, peneliti lebih menekankan pada pembahasan yang juga merupakan pembatasan masalah yaitu pelafalan dan konversi bilangan menjadi kalimat dengan menggunakan Borland Delphi 6.0. Sedangkan penelitian yang dilakukan adalah dalam bentuk rekayasa perangkat lunak.

1.4 Tujuan Penelitian

1. Memberikan gambaran secara umum mengenai sistem kerja dari pelafalan dan konversi bilangan menjadi kalimat dengan menggunakan Borland Delphi 6.0

2. Menunjukkan seberapa optimalnya kinerja dari komputerisasi pelafalan dan konversi bilangan menjadi kalimat dengan menggunakan Borland Delphi 6.0 3. Mengaplikasikan perangkat lunak ( software ) untuk membuat pelafalan dan

konversi bilangan menjadi kalimat sehingga mengurangi kekurang telitian dalam pembilangan nilai bilangan

1.5 Manfaat Penelitian

Diharapkan setelah selesainya penelitian ini bisa bermanfaat bagi : 1. Masyarakat

Memberikan informasi dan pandangan kepada masyarakat tentang pemanfaatan tools pada Borland Delphi 6.0 untuk pelafalan konversi bilangan menjadi kalimat.

2. Peneliti

Dapat mengembangkan kemampuan dalam ilmu pengetahuan dan teknologi dibidang aplikasi IT dalam wacana intelektualitas yang dimiliki.

(3)

3. Akademis

Dapat mengembangkan permasalahan lebih luas dan kompleks berdasarkan konsep-konsep yang sudah ada. Hasil penelitian yang diusulkan ini dapat bermanfaat untuk pengembangan IPTEK terutama dalam bidang keuangan untuk mengurangi kekurang telitian dalam pembilangan nilai bilangan menjadi kalimat.

1.6 Metodologi Penelitian

Agar penelitian ini dapat memberikan hasil yang baik, maka penulisan laporannya menggunakan berbagai macam data, keterangan data, serta informasi penting yang diperoleh dari berbagai sumber, didasarkan pada :

1.6.1 Jenis Data

1. Data Primer, yaitu data yang diperoleh secara langsung dari obyek penelitian

2. Data Sekunder, yaitu data yang diperoleh dari buku-buku, literatur sebagai pelengkap dalam penyusunan proposal penelitian ini. 1.6.2 Metode Pengumpulan Data

1. Metode Studi Pustaka, yaitu metode pengumpulan data melalui pemahaman literatur maupun buku dan juga browsing internet sebagai acuan untuk menentukan landasan teori.

2. Metode Observasi atau pengamatan, yaitu pengumpulan data dengan melakukan pengamatan dan pencatatan secara langsung mengenai hal-hal yang diselidiki.

1.7 Sistematika Penulisan

Untuk penulisan laporan penelitian ini, peneliti menggunakan tahapan penulisan sebagai berikut :

BAB I : PENDAHULUAN

Berisi latar belakang, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan.

(4)

BAB II : LANDASAN TEORI

Berisi tentang teori-teori dasar pelafalan dan konversi bilangan menjadi kalimat serta gambaran umum tentang Borland Delphi 6.0

BAB III : IMPLEMENTASI PROGRAM

Berisi tentang implementasi dari program pelafalan dan konversi bilangan menjadi kalimat dengan menggunakan Borland Delphi 6.0.

BAB IV : PENUTUP

Berisi tentang kesimpulan dan saran-saran dari hasil penelitian.

DAFTAR PUSTAKA LAMPIRAN

(5)

BAB 2

LANDASAN TEORI

2.1 Pelafalan

Menurut Kamus Besar Bahasa Indonesia, lafal berarti cara pembacaan atau cara pengejaan dari sebuah kata atau kalimat. Dalam penelitian ini berarti dari sebuah bilangan yang dimasukkan, akan diberikan cara pembacaannya dalam Bahasa Indonesia.

Masalah yang akan diutarakan dalam penelitian ini adalah tingkat kesalahan dalam membuat kalimat dari pelafalan bilangan, penyebab terjadinya kesalahan dan cara mengatasi kesalahan yang terjadi.

2.2 Konversi

Kata konversi dalam Kamus Besar Bahasa Indonesia diartikan sebagai perubahan bentuk dari satu bentuk ke bentuk yang lain. Dalam hal ini, dimaksudkan sebagai perubahan dari penulisan berupa angka menjadi penulisan dalam kata – kata atau kalimat.

2.3 Borland Delphi 6.0

Seperti telah disebutkan sebelumnya, peneliti akan menggunakan Borland Delphi 6.0 sebagai bahasa penyusun software-nya. Bahasa pemrograman ini merupakan bentuk pengembangan teknologi visual dari Bahasa Pascal yang telah beredar sebelumnya. Adapun beberapa alasan penggunaan program ini adalah sebagai berikut :

• Borland Delphi menyediakan kemudahan dalam penyusunan layout aplikasi berbasis Windows 9x.

• Borland Delphi mendukung tampilan berbasis grafis.

• Borland Delphi dilengkapi berbagai macam objek yang secara umum dapat dikatakan lengkap, baik dalam hal komponen visual maupun dalam hal fungsi-fungsi yang tersedia di dalamnya. (Anthony Pranata, Pemrograman Borland Delphi 3, Andi Yogyakarta)

(6)

Dengan memandang beberapa alasan tersebut, maka penulis bermaksud menggunakan berbagai kelebihan tersebut untuk menyusun suatu aplikasi yang ideal.

Mengenal IDE Delphi

IDE (Integrated Development Environment) Delphi merupakan tampilan awal yang kita lihat pada saat pertama kali kita menjalankan program Delphi.

Pada dasarnya IDE Delphi dibagi menjadi enam bagian utama, yaitu Menu, Speed Bar, Component Palette, Form Designer, Code Editor, dan Object Inspector. (Madcoms, Pemrograman Borland Delphi 6, Jilid 1, Andi Yogyakarta)

Form Designer

Code Editor Object Inspector

Component Palette Speed Bar Menu

(7)

BAB 3

IMPLEMENTASI PROGRAM

3.1 Penjelasan Singkat

Banyak program, terutama yang berhubungan dengan keuangan membutuhkan fungsi untuk menyebutkan nilai sebuah angka. Seperti dapat dilihat dalam sebuah kuitansi, faktur, atau yang lainnya. Disini akan diuraikan sebuah program sederhana yang berguna untuk menghasilkan kalimat dari sebuah angka. Dalam penelitian ini digunakan aplikasi Borland Delphi. Dan fitur yang dimiliki amatlah sederhana. Sebagai nilai tambah, program yang dibuat dalam penelitian ini dapat menyebutkan / melafalkan hasil pengkonversian angka yang dimasukkan menjadi kalimat yang terbaca.

Adapun program yang dibuat ini hanya bisa menyebutkan bilangan maksimal sepanjang 14 angka bilangan bulat. Tidak bisa menyebutkan negatif. Dan angka yang dimasukkan ke dalam program tidak dilakukan pengujian apapun, kecuali panjang angka. Jadi dianggap angka yang digunakan terhadap fungsi ini berupa angka bulat sederhana, tanpa format apapun.

Cara yang ditempuh untuk menyebut sebuah bilangan adalah dengan membuat sebuah tabel kata dari angka 1 sampai 9. Satu buah tabel tingkat bilangan (ribu, juta, milyar, triliun). Tabel ini dibuat dalam bentuk array. Ketika melakukan proses penyebutan angka, bilangan yang akan disebutkan, akan diurai menjadi array angka. Misalnya 6745, akan diurai menjadi array,

angka[1] = 5 angka[2] = 4 angka[3] = 7 angka[4] = 6

Selanjutnya, dilakukan iterasi untuk menyebut angka. Iterasi dilakukan terhadap sebuah blok yang terdiri dari 3 angka, mulai dari kanan, atau dari larik angka terkecil. Untuk contoh di atas, pada iterasi pertama, akan diambil tiga buah elemen array, yaitu angka[1], angka[2], dan angka[3].

Tiga buah angka ini "diterjemahkan" menggunakan tabel yang sudah dibuat terlebih dahulu. Diperhatikan juga posisi angka untuk ratusan, puluhan,

(8)

dan satuan. Selesai menterjemahkan satu blok, diperiksa, dan diberi kata untuk tingkatan, yaitu ribu, atau juta, atau milyar, atau triliun. Setelah itu dilanjutkan ke blok berikutnya, yaitu angka[4], angka[5], dan angka[6].

Tampilan Program

Tampilan dari program yang dibuat dalam penelitian ini adalah seperti yang dapat dilihat berikut ini :

Gambar 3.1. Tampilan Program

Secara umum, dapat dilihat bahwa pada program ini memiliki tampilan yang sederhana serta fungsi – fungsi yang sederhana pula. Terdapat inputan bilangan yang ingin dikonversikan / dilafalkan. Selain itu terdapat tombol “Konversi” yang digunakan untuk mengkonversikan bilangan yang sudah diinputkan menjadi kalimat. Sedangkan tombol “Lafalkan” digunakan apabila dari bilangan yang dimasukkan hanya akan didengarkan suara pelafalannya. Hasil pengkonversian akan ditampilkan di sebelah label “Terbilang”. Dan terdapat tombol “Reset” untuk mengosongkan kotak isian bilangan serta mereset semua nilai variabel yang digunakan dalam program. Dan tombol terakhir yaitu “Exit” digunakan untuk mengakhiri jalannya program.

Alur Jalannya Program

Jika dijelaskan dengan kalimat, maka alur jalannya program ini dapat diurutkan sebagai berikut :

1. Masukkan bilangan yang akan dikonversi / dilafalkan.

2. Jika tombol “Konversi” yang dipilih, maka akan dijalankan prosedur untuk mengubah angka yang diinputkan tersebut menjadi kalimat. Prosedur ini akan dijelaskan lebih lanjut pada bagian berikutnya.

(9)

3. Jika tombol “Lafalkan” yang dipilih, maka prosesnya sama dengan tombol “Konversi” namun ditambah dengan pengucapan kalimat hasil konversi tersebut. Adapun data suara yang akan dimainkan, telah disimpan dalam sebuah tabel database tertentu yang akan dimuat oleh komponen media player dari program. 4. Hasil konversi akan ditampilkan pada bagian “Terbilang”

5. Tombol “Reset” digunakan untuk membersihkan kotak inputan bilangan serta mereset ulang semua variabel yang digunakan dalam prosedur – prosedur program ini.

6. Tombol “Exit” digunakan untuk mengakhiri jalannya program. Struktur Tabel yang Digunakan

Pada program ini digunakan sebuah tabel database yang berfungsi sebagai tempat penyimpanan data suara yang nantinya akan dimainkan pada saat hasil konversi bilangan akan dilafalkan.

Tabel yang digunakan adalah bertipe paradox, yang merupakan bawaan dari Borland Delphi. Adapun struktur tabel yang digunakan adalah sebagai berikut:

(10)

Sedangkan isi tabel adalah semua data kata yang dapat digunakan untuk membentuk kalimat hasil konversi bilangan, beserta lokasi file suara yang akan dimainkan jika akan dilafalkan. Isi tabel dapat dilihat pada gambar berikut ini :

Gambar 3.3. Isi Tabel yang Digunakan

Dari tabel dapat dilihat bahwa sebenarnya ada 21 (dua puluh satu) kata yang dapat digunakan sebagai kombinasi pembentukan kalimat hasil konversi bilangan. Kata – kata tersebutlah yang digunakan sebagai pembentuk kalimat hasil konversi bilangan.

Penjelasan Prosedur Utama dalam Program

Perlu diketahui bahwa Borland Delphi memposisikan semua komponen dalam program sebagai objek yang mandiri. Dalam objek tersebut terdapat properti serta kejadian yang dapat ditangani. Prosedur yang dimaksud sebelumnya, terletak pada penanganan kejadian masing – masing objek. Misalnya tombol “Konversi” akan menjalankan prosedur tertentu yang dipicu oleh adanya penekanan tombol tersebut.

(11)

a. Prosedur Penekanan Tombol “Konversi” atau “Lafalkan”

Prosedur ini akan dijalankan pada saat tombol “Konversi” atau “Lafalkan” ditekan. Pada prinsipnya kedua tombol ini akan menjalankan prosedur yang sama, namun yang berbeda adalah pada bagian penampilan kalimat hasil konversi serta pada saat memperdengarkan kalimat hasil pelafalan. Untuk lebih jelasnya, dapat dilihat pada penjelasan berikut ini :

procedure Tfbil.konversiClick(Sender: TObject);

var angka : array[1..14] of integer; {penyimpanan bilangan} kata : array[0..9] of string; {pelafalan bilangan} basis : array[0..4] of string; {basis bilangan} panjang : integer; {panjang bilangan} loop1,loop2,tingkat,delay,res : integer; {counter}

subkalimat,kata1,kata2,kata3 : string; {menampung hasil terbilang} Bagian tersebut memuat deklarasi variabel yang digunakan dalam prosedur ini. Variabel angka nantinya akan digunakan sebagai penampung bilangan yang dimasukkan berdasarkan posisi keberadaan angka tersebut. Misalnya 6745, akan diurai menjadi array,

angka[1] = 5 angka[2] = 4 angka[3] = 7 angka[4] = 6

Variabel kata digunakan untuk menampung kata – kata hasil konversi bilangan dari nol hingga sembilan. Variabel basis digunakan untuk menampung kata – kata yang merupakan basis bilangan yaitu ribu, juta, dan seterusnya. Variabel panjang digunakan untuk mengetahui panjang bilangan yang dimasukkan. Selain itu diperlukan variabel lain yang dipergunakan sebagai counter serta untuk menampung kalimat hasil konversi.

begin

{inisialisasi data array} kata[0]:=' '; kata[1]:=' satu '; kata[2]:=' dua '; kata[3]:=' tiga '; kata[4]:=' empat '; kata[5]:=' lima '; kata[6]:=' enam '; kata[7]:=' tujuh '; kata[8]:=' delapan '; kata[9]:=' sembilan ';

(12)

basis[0]:=' '; basis[1]:=' ribu '; basis[2]:=' juta '; basis[3]:=' milyar '; basis[4]:=' triliun ';

Bagian ini digunakan untuk memberikan nilai awal kepada tiap – tiap variabel array yang digunakan.

{menghitung panjang bilangan}

panjang:=StrLen(PChar(inbil.Text));

Bagian ini digunakan untuk menghitung panjang karakter dari bilangan yang telah dimasukkan.

{memasukkan angka-angka dalam bilangan ke dalam array} for loop1:= 1 to panjang do

angka[loop1]:=strtoint(copy(inbil.Text,panjang-loop1+1,1));

Bagian ini digunakan untuk memasukkan satu per satu bilangan pada posisi tertentu di array seperti yang telah dijelaskan sebelumnya.

loop1:=1; {digunakan untuk indeks bilangan} tingkat:=0; {digunakan untuk indeks basis}

kalimat:=''; {inisialisasi variabel penampung hasil terbilang} Bagian ini digunakan untuk memberikan nilai awal kepada tiap – tiap variabel loop1, tingkat dan kalimat yang digunakan.

Potongan program berikut ini adalah bagian iterasi yang digunakan untuk mengubah bilangan yang dimasukkan menjadi kalimat. Iterasi akan dilakukan sejumlah panjang bilangan yang dimasukkan.

while (loop1<=panjang) do begin subkalimat:=''; kata1:=''; kata2:=''; kata3:='';

Bagian ini digunakan untuk memberikan nilai awal kepada tiap – tiap variabel yang digunakan nantinya untuk menampung kalimat hasil konversi bilangan. Perlu diketahui bahwa sebenarnya skema konversi bilangan akan berulang setiap tiga digit bilangan dari belakang, yaitu satuan, puluhan, dan ratusan. Baru setelah itu terdapat basis bilangan yaitu ribuan, jutaan, dan seterusnya. Oleh karena itu proses pembacaan bilangan yang akan dikonversikan, dibuat untuk menangani ratusan, puluhan, dan satuan, seperti yang dapat dilihat pada potongan program berikut ini :

(13)

{ratusan} if (angka[loop1+2]<>0) then if (angka[loop1+2]=1) then kata1:=' seratus ' else kata1:=kata[angka[loop1+2]]+' ratus ';

Bagian tersebut menangani digit untuk ratusan. Jika digit ratusan adalah “1” maka kata hasil konversinya adalah seratus. Sedangkan apabila ternyata digit ratusan adalah bilangan yang lain, maka hasil konversinya adalah pembacaan digit tersebut ditambah dengan kata “ratus”.

{puluhan atau belasan} if (angka[loop1+1]<>0) then if (angka[loop1+1]=1) then if (angka[loop1]=0) then kata2:='sepuluh'

else if (angka[loop1]=1) then kata2:='sebelas'

else kata2:=kata[angka[loop1]]+' belas ' else

kata2:=kata[angka[loop1+1]]+' puluh ';

Bagian tersebut menangani digit untuk puluhan atau belasan. Jika digit ratusan adalah “1” maka kata hasil konversinya adalah belasan. Namun jika digit di belakangnya adalah “0” maka hasil konversinya adalah “sepuluh”. Sedangkan apabila ternyata digit puluhan adalah bilangan yang lain, maka hasil konversinya adalah pembacaan digit tersebut ditambah dengan kata “puluh”.

{satuan}

if (angka[loop1]<>0) then if (angka[loop1+1]<>1) then kata3:=kata[angka[loop1]];

Bagian tersebut menangani digit untuk satuan. Bagian ini hanya melakukan pembacaan digit tersebut saja.

{pengujian bila 0 semua dan penambahan basis} if ((angka[loop1]<>0) or (angka[loop1+1]<>0) or (angka[loop1+2]<>0)) then

subkalimat:=kata1+kata2+kata3+basis[tingkat]; {menggabungkan sub kalimat ke kalimat utuh} kalimat:=subkalimat+kalimat;

loop1:=loop1 + 3; tingkat:=tingkat + 1; end;

(14)

Bagian terakhir dalam iterasi adalah penggabungan kalimat hasil konversi sehingga nantinya dapat dilakukan pembacaan yang utuh dari hasil konversi bilangan tersebut.

{mengganti satu ribu menjadi seribu jika diperlukan} kalimat:=StringReplace(kalimat,'satu

ribu','seribu',[rfReplaceAll,rfIgnoreCase]); {apabila inputan bilangan hanya nol}

if inbil.Text='0' then kalimat:='nol';

Bagian tersebut menangani pengecualian yang mungkin terjadi pada saat konversi yaitu apabila ada kemungkinan hasil konversi adalah “satu ribu”, maka akan diganti dengan “seribu”. Selain itu juga dilakukan pengecualian jika ternyata bilangan yang dimasukkan adalah “0”, maka hasil konversinya adalah “nol”.

Bagian berikut ini digunakan untuk membedakan penekanan tombol mana yang dilakukan. Apabila tombol “Konversi” yang ditekan, maka hanya akan ditampilkan kalimat hasil konversi, namun jika ternyata tombol “Lafalkan” yang ditekan, maka akan dimainkan suara yang memperdengarkan cara pelafalan kalimat tersebut.

case (sender as TButton).Tag of 1 : {tombol KONVERSI}

{menampilkan kalimat pada terbilang} terbilang.Caption:=kalimat;

2 : {tombol LAFALKAN} begin

{parsing kalimat untuk nantinya dilafalkan} parsing(kalimat);

for loop2:=1 to jmlkata do begin tdata.FindKey([subkal[loop2]]); mainsuara.FileName:=tdata.FieldValues['Suara']; mainsuara.Open; mainsuara.Play; for delay:=1 to 70000000 do application.processMessages; {delay} mainsuara.Stop; mainsuara.Close; end; jmlkata:=0;

for res:=1 to 30 do subkal[res]:=''; end;

end; end;

Ketika tombol “Lafalkan” yang ditekan, maka kalimat hasil konversi sebelumnya akan dicari datanya per kata dari tabel. Dari data tabel itu pula, dimainkan

(15)

file suara yang akan menyuarakan hasil pelafalan kalimat tersebut melalui komponen media player.

b. Prosedur Penekanan Tombol “Reset”

Berikut adalah potongan prosedur yang akan dijalankan pada saat tombol “Reset” ditekan. Prosedur ini digunakan untuk menghapus tampilan kalimat hasil konversi yang mungkin sebelumnya telah dilakukan. Selain itu, prosedur ini juga akan menghapus inputan bilangan yang mungkin telah dimasukkan sebelumnya.

Procedure Tfbil.resetClick(Sender: Tobject); begin

{digunakan untuk mengeset ulang tampilan} terbilang.Caption:=’’;

inbil.Clear; kalimat:=’’; end;

c. Prosedur Penekanan Tombol “Exit”

Prosedur terakhir yang dilakukan adalah pada saat tombol “Exit” ditekan. Tombol ini digunakan untuk mengakhiri jalannya program.

procedure Tfbil.exitClick(Sender: TObject); begin

Application.Terminate; {menghentikan aplikasi} end;

(16)

BAB 4

KESIMPULAN DAN SARAN

4.1 Kesimpulan

Berdasarkan pembahasan dari bab-bab sebelumnya, kita dapat mengetahui konsep dasar dari pelafalan dan konversi dari bilangan menjadi kalimat serta sistem kerja dari aplikasi Borland Delphi 6.0, sehingga dapat disimpulkan sebagai berikut :

1. Pelafalan ini dapat digunakan untuk angka-angka dengan digit yang panjang ( terutama di sektor ekonomi ).

2. Dapat digunakan sebagai pembelajaran bagi anak-anak dengan tampilan yang lebih menarik dalam pembelajaran interaktif.

3. Pelafalan ini tidak hanya bisa dilihat dalam bentuk tampilan tetapi juga bisa dengan audio, sehingga bisa dikembangkan dalam bentuk pembelajaran multimedia pelafalan.

4.2 Saran

1. Dalam penelitian selanjutnya, diharapkan bisa dikembangkan dengan bilangan pecahan dan bilangan negatif.

2. Jumlah digit yang ada bisa dikembangkan lagi dengan digit yang lebih panjang ( lebih dari 14 digit ).

3. Pelafalan dapat dibuat dengan bahasa pemrograman lain yang nantinya dapat dikonversikan atau di-load ke Web.

4. Aplikasi ini dapat juga diterapkan untuk pembelajaran interaktif bagi anak-anak karena cara kerjanya sama dengan pelafalan bilangan untuk anak-anak-anak-anak.

(17)

DAFTAR PUSTAKA

1. Kamus Besar Bahasa Indonesia

2. Abdul Kadir, Dasar pemrograman Delphi 5, Jilid 1 dan 2, Andi Yogyakarta 3. Anthony Pranata, Pemrograman Borland Delphi 3, Andi Yogyakarta 4. Madcoms, Pemrograman Borland Delphi 6, Jilid 1, Andi Yogyakarta 5. Reky ([email protected] ), Fungsi Terbilang, 23 Juni 2007

(18)

JADWAL PELAKSANAAN PENELITIAN

No Kegiatan

Bulan

Jan-08 Feb-08 Mar-08 Apr-08 Mei-08 Jun-08 Jul-08

3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 1 2 3 4 5 1 2 3 4 5 1 Persiapan Proposal 2 Review dan Revisi 3 Studi Pustaka &

Analisa 4 Desain & Implementasi 5 Pengujian & Evaluasi 6 Penyusunan Laporan

Hasil Penelitian 7 Seminar 8 Revisi

(19)

PERSONALIA PENELITIAN

1. Ketua Peneliti

Nama lengkap dan gelar : Vensy Vydia, S. Kom

NIS : 06557003102081

Pangkat / Gol : Penata Muda / IIIa

Jabatan : Dosen

Sifat Penelitian : Tidak Berkelanjutan

Fakultas : Teknologi Informasi & Komunikasi

Jurusan : Teknologi Informasi

Bidang Keahlian : Teknologi Informasi Alamat Kantor : Universitas Semarang 2. Anggota Peneliti I

Nama lengkap dan gelar : Desi Purwanti K, S. Kom, M. Kom

NIS : 06557003102112

Pangkat / Gol : Penata Muda / IIIa

Jabatan : Dosen

Sifat Penelitian : Tidak Berkelanjutan

Fakultas : Teknologi Informasi & Komunikasi

Jurusan : Teknologi Informasi

Bidang Keahlian : Teknologi Informasi Alamat Kantor : Universitas Semarang 3. Anggota Peneliti II

Nama lengkap dan gelar : Robby Kurniawan Budhi, S. Kom

NIS : 06557003102113

Pangkat / Gol : Penata Muda / IIIa

Jabatan : Dosen

Sifat Penelitian : Tidak Berkelanjutan

Fakultas : Teknologi Informasi & Komunikasi

Jurusan : Teknologi Informasi

Bidang Keahlian : Teknologi Informasi Alamat Kantor : Universitas Semarang

(20)

LAMPIRAN 1

SURAT PERJANJIAN

PELAKSANAAN PENELITIAN DOSEN MUDA

(21)

LAMPIRAN 2

Kode Program

unit ulafal; interface uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, MPlayer, DB, DBTables; type Tfbil = class(TForm) Label1: TLabel; inbil: TEdit; Label2: TLabel; konversi: TButton; lafal: TButton; terbilang: TLabel; reset: TButton; exit: TButton; mainsuara: TMediaPlayer; tdata: TTable;

procedure konversiClick(Sender: TObject); procedure resetClick(Sender: TObject); procedure exitClick(Sender: TObject); procedure parsing(kal : string); procedure FormShow(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end; var fbil: Tfbil;

kalimat : string; {kalimat hasil terbilang} subkal : array[1..30] of string; {potongan kata}

jmlkata : integer; {jumlah potongan kata} implementation

{$R *.dfm}

procedure Tfbil.konversiClick(Sender: TObject);

var angka : array[1..14] of integer;{penyimpanan bilangan} kata : array[0..9] of string; {pelafalan bilangan} basis : array[0..4] of string; {basis bilangan} panjang : integer; {panjang bilangan}

(22)

loop1,loop2,tingkat,delay,res : integer; {counter} subkalimat,kata1,kata2,kata3 : string; {menampung hasil

terbilang} begin

{inisialisasi data array} kata[0]:=' '; kata[1]:=' satu '; kata[2]:=' dua '; kata[3]:=' tiga '; kata[4]:=' empat '; kata[5]:=' lima '; kata[6]:=' enam '; kata[7]:=' tujuh '; kata[8]:=' delapan '; kata[9]:=' sembilan ';

for loop1:=1 to 14 do angka[loop1]:=0; basis[0]:=' ';

basis[1]:=' ribu '; basis[2]:=' juta '; basis[3]:=' milyar '; basis[4]:=' triliun ';

{menghitung panjang bilangan}

panjang:=StrLen(PChar(inbil.Text));

{memasukkan angka-angka dalam bilangan ke dalam array} for loop1:= 1 to panjang do

angka[loop1]:=strtoint(copy(inbil.Text,panjang-loop1+1,1)); loop1:=1; {digunakan untuk indeks bilangan}

tingkat:=0; {digunakan untuk indeks basis}

kalimat:=''; {inisialisasi variabel penampung hasil terbilang} while (loop1<=panjang) do begin subkalimat:=''; kata1:=''; kata2:=''; kata3:=''; {ratusan} if (angka[loop1+2]<>0) then if (angka[loop1+2]=1) then kata1:=' seratus ' else kata1:=kata[angka[loop1+2]]+' ratus '; {puluhan atau belasan}

if (angka[loop1+1]<>0) then if (angka[loop1+1]=1) then if (angka[loop1]=0) then kata2:='sepuluh'

(23)

else if (angka[loop1]=1) then kata2:='sebelas'

else kata2:=kata[angka[loop1]]+' belas ' else kata2:=kata[angka[loop1+1]]+' puluh '; {satuan} if (angka[loop1]<>0) then if (angka[loop1+1]<>1) then kata3:=kata[angka[loop1]];

{pengujian bila 0 semua dan penambahan basis} if ((angka[loop1]<>0) or (angka[loop1+1]<>0) or (angka[loop1+2]<>0)) then

subkalimat:=kata1+kata2+kata3+basis[tingkat]; {menggabungkan sub kalimat ke kalimat utuh} kalimat:=subkalimat+kalimat;

loop1:=loop1 + 3; tingkat:=tingkat + 1; end;

{mengganti satu ribu menjadi seribu jika diperlukan} kalimat:=StringReplace(kalimat,'satu

ribu','seribu',[rfReplaceAll,rfIgnoreCase]); {apabila inputan bilangan hanya nol}

if inbil.Text='0' then kalimat:='nol'; {mengetahui tombol mana yang ditekan} case (sender as TButton).Tag of

1 : {tombol KONVERSI}

{menampilkan kalimat pada terbilang} terbilang.Caption:=kalimat;

2 : {tombol LAFALKAN} begin

{parsing kalimat untuk nantinya dilafalkan} parsing(kalimat);

for loop2:=1 to jmlkata do begin

tdata.FindKey([subkal[loop2]]); {mencari data pada tabel}

mainsuara.FileName:=tdata.FieldValues['Suara']; {menentukan file yang dibuka}

mainsuara.Open; {membuka komponen media player}

mainsuara.Play; {memainkan suara media player} for delay:=1 to 70000000 do

application.processMessages; {delay}

mainsuara.Stop; {menghentikan suara media player}

mainsuara.Close; {menutup komponen media player}

(24)

jmlkata:=0; {mengosongkan jumlah kata}

for res:=1 to 30 do subkal[res]:=''; {mengosongkan potongan kalimat}

end; end;

end;

procedure Tfbil.resetClick(Sender: TObject);

begin

{digunakan untuk mengeset ulang tampilan}

terbilang.Caption:=''; {membersihkan tampilan hasil terbilang}

inbil.Clear; {membersihkan inputan bilangan yang diinputkan}

kalimat:=''; {mengosongkan hasil terbilang} end;

procedure Tfbil.exitClick(Sender: TObject);

begin

Application.Terminate; {menghentikan aplikasi} end;

procedure Tfbil.parsing(kal : string);

var tanda : integer; {penanda spasi antar kata} panjangkal : integer; {panjang kalimat hasil terbilang} huruf : string; {karakter yang terbaca}

kata : string; {potongan kata} begin panjangkal:=StrLen(PChar(kalimat)); jmlkata:=0; tanda:=1; kata:=''; while tanda<=panjangkal do begin huruf:=copy(kalimat,tanda,1); if huruf<>' ' then inc(jmlkata); while (huruf<>' ') do begin huruf:=copy(kalimat,tanda,1); subkal[jmlkata]:=subkal[jmlkata]+huruf; inc(tanda); end; inc(tanda); end; end;

procedure Tfbil.FormShow(Sender: TObject);

begin

tdata.Open; {buka tabel data} end;

(25)

procedure Tfbil.FormClose(Sender: TObject; var Action: TCloseAction);

begin

tdata.Close; {tutup tabel data} end;

(26)

LAPORAN PENELITIAN

PELAFALAN DAN KONVERSI BILANGAN MENJADI KALIMAT

MENGGUNAKAN BORLAND DELPHI 6.0

Oleh :

Vensy Vydia, S. Kom

Desi Purwanti K, S. Kom, M. Kom

Robby Kurniawan B, S. Kom

Proyek Penelitian Ini Dibiayai Oleh Universitas Semarang

Dengan Surat Perjanjian

No. 09 / LPPM USM / I / 2008

LEMBAGA PENELITIAN DAN PENGABDIAN KEPADA MASYARAKAT

UNIVERSITAS SEMARANG

(27)

HALAMAN IDENTITAS DAN PENGESAHAN LAPORAN AKHIR HASIL PENELITIAN

1. a. Judul Penelitian b. Bidang Ilmu

: :

Pelafalan dan Konversi Bilangan Menjadi Kalimat Menggunakan Borland Delphi 6.0

Teknologi Informasi 2. Ketua Peneliti a. Nama b. NIS c. Pangkat / Gol d. Jabatan e. Sifat Penelitian f. Fakultas / Jurusan g. Bidang Keahlian h. Alamat Kantor i. Alamat Rumah : : : : : : : : :

Vensy Vydia, S. Kom 06557003102081 Penata Muda / IIIa Dosen

Tidak Berkelanjutan TIK / Teknologi Informasi Teknologi Informasi

Jl. Soekarno-Hatta Tlogosari Semarang Jl. Jatiluhur Timur III no. 8 Rt. 04 / Rw. V Semarang 50261

3. Jumlah Anggota Peneliti a. Nama Anggota Peneliti I b. Nama Anggota Peneliti II

: : :

2 ( dua ) orang

Desi Purwanti K, S. Kom, M. Kom Robby Kurniawan B, S. Kom 4. Lokasi Penelitian : Kampus Universitas Semarang 5. Lama Penelitian : 3 bulan

6. Biaya Penelitian : Rp 1.500.000,-

( satu juta lima ratus ribu rupiah ) 7. Sumber Biaya : Universitas Semarang

Mengetahui, Dekan Fakultas TIK,

Titin Winarti, S. Kom, MM NIS. 06557003102049

Semarang, Juni 2008 Ketua Penelitian,

Vensy Vydia, S. Kom NIS. 06557003102081

Ketua Lembaga Penelitian dan Pengabdian Kepada Masyarakat

Dr. Ir. P. Widiyaningrum, MS NIS. 06557002100045

(28)

LEMBAR REVIEWER

1. b. Judul Penelitian

b. Bidang Ilmu

:

:

Pelafalan dan Konversi Bilangan Menjadi Kalimat Menggunakan Borland Delphi 6.0

Teknologi Informasi 2. Ketua Peneliti a. Nama b. NIS c. Pangkat / Gol d. Jabatan e. Sifat Penelitian f. Fakultas / Jurusan g. Bidang Keahlian : : : : : : :

Vensy Vydia, S. Kom 06557003102081 Penata Muda / IIIa Dosen

Tidak Berkelanjutan TIK / Teknologi Informasi Teknologi Informasi

3. Jumlah Anggota Peneliti : 2 ( dua ) orang

4. Lokasi Penelitian : Kampus Universitas Semarang 5. Lama Penelitian : 3 bulan

6. Tempat Penelitian : Fakultas Teknologi Informasi & Komunikasi

Menyetujui, Pereviewer,

Titin Winarti, S. Kom, MM NIS. 06557003102049

Semarang, Juni 2008 Ketua Penelitian,

Vensy Vydia, S. Kom NIS. 06557003102081

Gambar

Gambar 2.1.  Bagian – bagian IDE Delphi
Gambar 3.1. Tampilan Program
Tabel yang digunakan adalah bertipe paradox, yang merupakan bawaan  dari Borland Delphi
Gambar 3.3. Isi Tabel yang Digunakan

Referensi

Dokumen terkait

Berdasarkan uraian di atas, maka penulis berkeinginan untuk membuat siswa kelas XI Rekayasa Perangkat Lunak (RPL) B SMKN 2 Trenggalek tertarik dengan pembelajaran

Banyak orang yang telah membuat bahasa pemodelan pembangunan perangkat lunak sesuai teknologi pemograman yang berkembang pada saat itu, misalnya yang sempat berkembang

Rumusan masalah pada tugas akhir ini adalah jika pengukuran kualitas perangkat lunak diukur dari prosesnya, maka metode dan teori apakah yang sesuai digunakan

Tujuan dari penelitian ini adalah untuk menghasilkan metode yang dapat digunakan untuk menganalisis ambiguitas kebutuhan perangkat lunak berdasarkan kriteria kebutuhan yang

Tahap kedua yang dilakukan adalah analisis dan desain, pada tahapan ini dilakukan analisa untuk merancang perangkat lunak pendeteksi gaya berjalan ala

Aplikasi Aircraft Maintenance System (AMS) Pesawat Fokker 50 merupakan aplikasi/perangkat lunak berbasis web perawatan pesawat yang dibuat untuk membantu divisi

Sedangkan menurut Furry Arifin (2011) dalam tulisannya pada jurnal yang berjudul “MANAJEMEN PROYEK PERANGKAT LUNAK”, manajemen proyek berupa sekumpulan tahap yang

Prinsip perancangan User familiarity merupakan desain user interface yang dapat dikenali dengan mudah oleh pengguna yang menggunakan perangkat lunak atau