Entri Populer

Jumat, 04 November 2011

STATMENT KONDISI DAN PERULANGAN DALAM Q BASIC

1.Pengertian Statement Kondisi dan Perulangan
Kondisi dalam bahasa pemrograman QBasic

Laporan yang berulang, sementara kondisi benar. Ketika kondisi salah komputer melompat ke laporan setelah LOOP. Jika kondisi salah di awal, maka laporan tersebut tidak dilaksanakan.

Perulangan dalam bahasa pemrograman QBasic

merupakan suatu kondisi yang memenuhi untuk melakukan perulangan statement tertentu sampai kondisi tersebut tidak terpenuhi sehingga perulangan dihentikan.

2. Bentuk Umum
Bentuk Umum Statement Perulangan :

1. FOR … NEXT
Digunakan untuk mengontrol jalannya perulangan pada program, dimana statement tersebut akan mengalami perulangan selama kondisi atau pernyataan masih memenuhi syarat.

3. While…do
Perintah yang berjalan bila di dalam loop ada nilai yang mengontrol loop dan nilainya terus berubah sehingga akhir program akan kluar dari loop

4. Repeat.. until
Pernyataan repeat akan menghasilnkan paling sedikit 1 x eksekusi statement

5. Goto
Instruksi yang mentransfer program ke lokasi lain yang dinyatakan dengan label.

Bentuk Umum Kondisi :

Kondisi dapat mengambil bentuk sebagai berikut:
X <Y
X kurang dari Y.
X <= Y
X kurang dari atau sama dengan Y.
X = Y
sama dengan Y. X
X> = Y
X lebih besar dari atau sama dengan Y.
X> Y
X lebih besar daripada Y.
X <> Y
X tidak sama dengan Y.



CLS (Clean Screen) untuk menghapus layar dari tampilan yang sebelumnya
DATA 52, 66 maksudnya adalah data yang diterima adalah angka 52, 56
dan di READ (baca) dengan variabel A, B

LET (Memberikan harga suatu variabel) jadi data 52, 66 akan di tambah dan dibagi 2 yang menghasilkan X
if (jika) X lebih besar dari 52 sampai 70
maka hasil yang diperoleh PRINT (cetakan) "MAHASISWA GAGAL"
tapi tidak terjadi bila angka yang dihasilkan 80,
karna akan menghasilkan PRINT (cetakan) "MAHASISWA LULUS"
dan di akhiri dengan END






CLS (Clean Screen) untuk menghapus layar dari tampilan yang sebelumnya
INPUT (masukan) untuk variabel "MASUKAN NILAI" dengan variable A numeric
if (jika) variable A lebih dari 70 menghasilkan

PRINT (cetakan) "MAHASISWA LULUS"
tapi bila dibawah 70 maka hasil PRINT (cetakan) "MAHASISWA TIDAK LULUS"
dan untuk mengakhiri semua variabel gunakan END IF





CLS (Clean Screen) untuk menghapus layar dari tampilan yang sebelumnya
pertama PRINT (cetak) untuk mencetak nama suatu variable ketika ditampilkan, misalnya MENU MAKANAN
Lalu ketik PRINT (cetak) untuk mencetak nama suatu variable pada MENU MAKANANNYA. Seperti 1.PECEL AYAM, 2. PECEL LELE, 3. NASI GORENG

Tidak lupa membuat Perintah INPUT (masukan) untuk variabel
“MASUKAN PILIHAN (1,2,3)” dengan variable A

Lalu berikan perintah SELECT CASE untuk menyeleksi atau mengeksekusi kondisi yang ditest, sehingga perintah CASE ini berlaku untuk variable antara 1-3 saja

dan akhiri semua dengan END
dan jangan lupa END SELECT untuk mengakhiri SELECT CASE

Modul 3
STRUKTUR KENDALI PERULANGAN

LOOPING

Salah satu kelebihan komputer daripada manusia adalah ia tidak
pernah bosan terhadap tugas-tugas rutin. Inilah yang menyebabkan
komputerisasi selalu diterapkan terhadap tugas-tugas yang rutin.

1 Looping Counter

Digunakan untuk proses berulang yang jumlah perulangannya
ditentukan berdasarkan perhitungan (sistem counter).

FOR counter = mulai TO selesai [STEP selisih]
Statement

NEXT [counter]

Contoh :

Mencetak nilai faktorial 7, dimana 7!=1x2x3x4x5x6x7

Fak = 1
For I = 2 To 7 Step 1
Fak = Fak * I ‘ Fak menjadi Fak * I
Next I
Print “Nilai faktorial 7 :”, Fak
END

Mencetak 10 suku bilangan fibonanci yang pertama, dimana :
fibo(1) = 1
fibo(2) = 1
fibo(n) = fibo(n-1) + fibo(n-2)
sehingga hasilnya : 1,1,2,3,5,8,13,21,34,55

For I = 1 To 10 Step 1 ‘ Looping 10 kali
If I = 1 Then ‘ Jika suku ke 1
fKurangSatu = 1
Print 1
ElseIF I = 2 Then ‘ Jika suku ke 2
fKurangDua = 1
Print 1
Else ‘ Untuk suku ke n
fibo = fKurangSatu+fKurangDua
Print fibo
fKurangSatu = fKurangDua
fKurangDua = fibo
End IF
Next I
END

2 Looping Trapping

Perulangan jenis ini ditentukan berdasarkan kondisi tertentu.

Pemeriksaan diawal

DO [{WHILE | UNTIL} ekspresi logika]
Statement

LOOP

Contoh :

Mencari KPK dari dua bilangan

Input “Bilangan pertama :”, pertama
Input “Bilangan kedua :”, kedua

If pertama > kedua Then ‘Jika bilangan pertama lebih besar
Lipat = pertama
Bagi = kedua
Else
Lipat = kedua
Bagi = pertama
End IF

N = 1

Do While ((Lipat*N) Mod Bagi) 0 ‘Kelipatan dinaikan jika
N = N + 1 ‘sisa bagi belum nol
Loop

Print “KPK kedua bilangan adalah :”, (Lipat*N)
END

NB : operator matematika MOD adalah untuk sisa bagi

Pemeriksaan diakhir

DO
[statementblock]
LOOP [{WHILE | UNTIL} ekspresi logika]

Contoh :

Program password, program akan terus menanyakan password sampai
jawabannya benar.

password$ = “INDOPROG”
DO
Color 7,0
Print “Password”;
Color 0,0
Input pass$

LOOP until pass$ = password$
Print “Selamat bergabung !”
END

Perintah EXIT DO dapat digunakan untuk meninggalkan proses DO -
LOOP

Contoh :

N = 1
password$ = “INDOPROG”
DO
Color 7,0
If N > 3 Then
EXIT DO
End IF
Print “Password”;
Color 0,0
Input pass$
N = N + 1
LOOP until pass$ = password$
If N > 3 Then
Print “Akses ditolak !”
Else
Print “Selamat bergabung !”
End IF
END

TUGAS

1. Buatlah program menentukan bilangan yang dimasukkan merupakan
bilangan PRIMA atau tidak.

2. Buatlah program mencetak tabel pertumbuhan simpanan anda di
bank.

Jumlah simpanan ?
Suku bunga bank/tahun ?
Lama simpanan ?

Tabel pertumbuhan

————————————————————
Tahun Awal Tahun Bunga/tahun Pajak Akhir Tahun
————————————————————
1
2
.
.
.
Awal Tahun 1 = Jumlah simpanan
Bunga/tahun = Awal Tahun * Suku bunga bank/100
Pajak dihitung berdasarkan :
Jika Awal Tahun + Bunga/tahun > 7500000
Pajak = 20% dari Bunga/tahun
Jika tidak
Pajak = 0
Akhir Tahun = Awal Tahun + Bunga/tahun – Pajak
Awal Tahun ke n = Akhir Tahun n – 1

Modul 4 – VARIABEL ARRAY

{ Oktober 4, 2007 @ 5:36 am } · { QBasic }
{ Tags: basic, pemograman, QBasic } · { Komentar (2) }

MODUL 4
VARIABEL ARRAY

Array adalah sekumpulan data yang menggunakan nama variabel yang
sama. Tiap-tiap nilai dari array disebut sebagai elemen dan memiliki
index. Setiap elemen array adalah sebuah variabel juga.

Menciptakan Variabel Array

Untuk menciptakan variabel array dapat menggunakan perintah :

DIM variable[(subscripts)] [AS type]

Contoh :

DIM A(20) As Integer

Akan menciptakan variabel array yang bernama A yang memiliki 20
elemen (mulai dari index 0 s/d 19), yang masing-masing dapat
menampung data integer, dan memiliki nilai awal 0 (nol).

Menggunakan Variabel Array

Penggunakan Variabel Array sama saja dengan variabel biasa, cuma
kita perlu menyebutkan nomor index elemen yang diinginkan.

Contoh :

A(0) = 100
A(1) = 200
A(2) = 300

Akan mengisi nilai 100 ke elemen pertama, 200 ke elemen kedua,
dan 300 ke elemen ketiga.

Catatan : Elemen pertama dari array dimulai dengan nomor index 0

Contoh lain :

For I = 0 To 19 Step 1
Input “Masukkan Nilai :”,A(I)
Next I

Akan menanyakan kepada pemakai untuk mengisi elemen pertama s/d
elemen keduapuluh.

Contoh lain :

Total = 0
For I = 0 To 19 Step 1
Total = Total + A(I) ‘A(0), A(1), …, A(19)
Next I
Print “Total :”,Total

Akan menjumlahkan nilai elemen pertama s/d elemen keduapuluh ke
variabel total.

Dalam Quick Basic, kita mengenal dua jenis variabel array, yakni
dynamic array dan static array. Static array dapat kita bentuk
tanpa perintah khusus, tetapi terbatas sampai nomor index ke 10
saja tanpa dipengaruhi jumlah dimensi.

Contoh :

For I = 0 To 10 Step 1
Input “Masukkan Nilai :”,B(I)
Next I
Total = 0
For I = 0 To 10 Step 1
Total = Total + B(I)
Next I
Print “Total :”,Total

Program diatas dapat dijalankan tanpa kesalahan walaupun variabel
array B tidak dideklarasikan sebagai variabel array. Hal ini
karena kita menggunakan Static array yang otomatis disediakan
oleh Quick Basic, tetapi hanya terbatas sampai nomor index ke 10
saja.

Pada defaultnya index awal dari variabel array adalah dimulai
dari 0, tetapi hal ini bisa diubah dengan perintah OPTION BASE 1.

Contoh :

OPTION BASE 1
DIM A(30)

For I = 1 To 30
Input “Masukkan Nilai :”,A(I)
Next I

Index awal dari variabel array dapat juga ditentukan pada saat
deklarasi.

Contoh :

DIM C(5 To 15)

For I = 5 To 15 Step 1
Input “Masukkan Nilai :”,A(I)
Next I

Akan menghasilkan variabel array C, dengan elemen pertama
memiliki nomor index 5, dan elemen terakhir memiliki nomor index
15.

Anda dapat juga menggunakan fungsi LBound dan UBound untuk
mendapatkan index awal dan index akhir dari suatu array.

Contoh :

DIM C(5 To 15)

For I = LBound(C) To UBound(C) Step 1
Input “Masukkan Nilai :”,A(I)
Next I

Static Array dan Dynamic Array

Pada QBasic, semua array yang dideklarasikan dengan numerik
adalah Static Array, dan array yang dideklarasikan dengan
variabel adalah Dynamic Array.

Contoh :

DIM D(30)

D adalah variabel Static Array

E = 30
DIM F(E)

F adalah variabel Dynamic Array, karena jumlah elemennya
ditentukan dengan menggunakan variabel E, dalam hal ini 30.

Perbedaan Static Array dan Dynamic Array :
1. Memory Static Array dialokasikan oleh QBasic pada awal
eksekusi program dimulai, sedangkan Memory Dynamic Array
dialokasikan secara dinamis pada saat eksekusi program
berlangsung.
2. Static Array tidak dapat dideklarasi ulang, sedangkan Dynamic
Array dapat dideklarasikan ulang dengan perintah REDIM

Contoh :

DIM A(10)
REDIM A(20)

Akan terjadi kesalahan, karena variabel A adalah Static Array.

B = 10
DIM C(B)
REDIM C(30)

Tidak terjadi kesalahan.

Catatan : REDIM akan menghapus isi array, dan mendimensi ulang
jumlah elemennya.

3. Static Array tidak dapat dihapus dari memory, sedangkan
Dynamic Array dapat dihapus dari memory dengan perintah ERASE.

OPTION BASE 1
DIM A(3)
A(1) = 1
A(2) = 2
A(3) = 3

ERASE A

Print A(1) ‘ akan tercetak 0
Print A(2) ‘ akan tercetak 0
Print A(3) ‘ akan tercetak 0

Karena perintah Erase hanya mereset isi variabel Static Array ke
0 (jenis numeric) atau “” (Null) (jenis string), sedangkan
Variabel dan dimensinya tetap dipertahankan.

Contoh Lain :

OPTION BASE 1
B = 3
DIM C(B)
C(1) = 1
C(2) = 2
C(3) = 3

ERASE C

Print C(1) ‘ terjadi kesalahan subscript out of range

Karena variabel array C telah dihapus dari memory.

Variabel Array Multi Dimensi

Anda dapat membentuk variabel array 2 atau 3 dimensi dengan
perintah dim.

Contoh :

DIM A(10,10)

Akan membentuk array 11 baris (0 s/d 10), 11 kolom (0 s/d 10)
(121 elemen)

Cara pemakaian array Multi Dimensi sama saja dengan array 1
dimensi yaitu perlu disebutkan nomor indexnya masing-masing.

Contoh :

A(2,2) = 5

Akan mengisi nilai 5 ke elemen baris 3 kolom 3 dari Array dua
dimensi A. (ingat index dimulai dari 0, kecuali dengan pernyataan
OPTION BASE 1)

Bahan Latihan

1. Susun sebuah program dengan ketentuan berikut :
– program menanyakan jumlah data
– program menerima data sesuai dengan jumlah data satu persatu
– program mengurut data tersebut secara ascending
– program menghitung :
1. data terbesar
2. data terkecil
3. rata-rata
4. median

2. Buatlah program faktur sederhana dengan ketentuan :
– program menanyakan Tanggal dan Penjual
– program menanyakan
1. Jumlah
2. Satuan
3. Nama barang
secara berulang sampai jumlah yang dimasukkan 0 (nol)
– hasil menghasilkan tampilan faktur berikut :

FAKTUR PENJUALAN

Tanggal : 01-Jan-1995
Penjual : Budianto
——————————————————–
No. Jlh Satuan Nama Barang Harga @ Jumlah
=========================================
1. 30 Kotak Diskette 3M 15,000.00 450,000.00
2. 10 Buah Pita printer 7,000.00 70,000.00
=========================================
Total : 520,000.00
——————————————————–

Modul 5 – FUNGSI BANTU BAWAAN

{ Oktober 4, 2007 @ 5:30 am } · { QBasic }
{ Tags: basic, pemograman, QBasic } · { Tinggalkan sebuah Komentar }

Modul 5
FUNGSI BANTU BAWAAN

Fungsi bantu adalah fasilitas yang disediakan untuk membantu
programmer dalam mengembangkan program. Dengan adanya fungsi
bantu bawaan programmer tidak perlu mengembangkan program untuk
melakukan hal yang sama.

Contoh :
Pada Qbasic telah tersedia fungsi bantu Sinus yang dapat
digunakan untuk mendapatkan nilai sinus dari suatu sudut dalam
radian.

Dim B As Double
B = Sin(30 * 3.14/180)

Akan mengisi nilai sinus sudut 30 derajat ke variabel B

Tanpa mengunakan fungsi bantu Sinus, programmer dapat
mengembangkan program sendiri untuk melakukan hal yang sama,
tetapi hal ini tentu saja menuntut pengetahuan yang lebih
mendalam.

Contoh :
Dengan menggunakan Ekspansi Trigonometris, suatu nilai Sinus
dapat diturunkan.

DIM S AS DOUBLE
DIM Sinus AS DOUBLE
S = 30 * 3.14 / 180 ‘ Sudut 30 derajat dalam radian
F = 1
Tanda = 1
Sinus = S
FOR I = 2 TO 11
F = F * I ‘ Menghitung nilai faktorial
IF I MOD 2 = 1 THEN ‘ Suku 3, 5, 7, 9, 11
Tanda = -Tanda ‘ Tanda -1, 1, -1, 1, dst
Sinus = Sinus + (S ^ I / F * Tanda)
END IF
NEXT I
B = Sinus

Potongan program diatas akan menghasilkan nilai Sinus 30 derajat
ke variabel B.

Dengan menggunakan fungsi bantu bawaan yang telah tersedia
pekerjaan programmer akan lebih terfokus pada program yang akan
dikembangkan.

FUNGSI BANTU STRING

LEFT$ (stringexpression,n)
Mengembalikan sejumlah karakter string dari suatu data string
dari sebelah kiri.

Contoh :
Print Left$(“IndoProg”,4) ‘ Akan mencetak Indo

RIGHT$ (stringexpression,n)
Mengembalikan sejumlah karakter string dari suatu data string
dari sebelah kanan.

Contoh :
Print Right$(“IndoProg”,4) ‘ Akan mencetak Prog

MID$(stringexpression,start[,length])
Mengembalikan sejumlah karakter string dari suatu string mulai
posisi tertentu.

Contoh :
Print Mid$(“1234567890″,3,4) ‘ Akan mencetak 3456
Print Mid$(“1234567890″,3) ‘ Akan mencetak 34567890

LTRIM$(stringexpression)
Mengembalikan string dengan menghilangkan spasi sebelah kiri.

Contoh :
A$ = ” 100″
B$ = LTRIM$(A$)
Print A$ ‘Akan mencetak 100
Print B$ ‘Akan mencetak 100

RTRIM$(stringexpression)
Mengembalikan string dengan menghilangkan spasi sebelah kanan.

INSTR([start,]stringexpression1,stringexpression2)
Mencari posisi suatu string pada string lain (0 jika tidak
ditemukan).

Contoh :
Print INSTR(“ABCD”,”B”) ‘Akan mencetak 2
Print INSTR(4,”ABCDABCD”,”A”) ‘Akan mencetak 5
Print INSTR(“ABCD”,”a”) ‘Akan mencetak 0

LCASE$(stringexpression)
Mengembalikan suatu string yang telah diubah ke huruf kecil.

Contoh :
Print LCase$(“IndoProg”) ‘Akan mencetak indoprog

UCASE$(stringexpression)
Mengembalikan string yang telah dibuat huruf besar.

Contoh :
Print UCase$(“IndoProg”) ‘Akan mencetak INDOPROG

SPACE$(n)
Mengembalikan string yang berisi sejumlah spasi.

Contoh :
Print Space$(30), “IndoProg”

STRING$(m,n) atau STRING$(m,stringexpression)
Mengembalikan string yang mengandung sejumlah character yang
berulang.

Contoh :
Print String$(10,65) ‘ Akan mencetak AAAAAAAAAA
Print String$(10,”A”) ‘ Akan mencetak AAAAAAAAAA

LEN(stringexpression)
Mengembalikan jumlah huruf suatu data string.

Contoh :
Print Len(“Indonesia Programmer”) ‘ Akan mencetak 20

FUNGSI BANTU KONVERSI

STR$(numeric-expression)
Mengembalikan string dari suatu expresi numeric

Contoh :
A = 100
B$ = Str$(A) ‘B berisi “100″

VAL(stringexpression)
Mengembalikan numeric dari suatu expresi string

Contoh :
B$ = “100″
A = Val(B) ‘A berisi 100
C = “IndoProg”
D = Val(C) ‘D berisi 0

ASC(stringexpression)
Mengembalikan nilai ASCII dari suatu character.

Contoh :
Print Asc(“A”) ‘Akan mencetak 65

CHR$(n)
Mengembalikan character ASCII n.

Contoh :
Print Chr$(65) ‘Akan mencetak “A”

FUNGSI BANTU ARITMATIKA

SIN(numeric-expression)
COS(numeric-expression)
TAN(numeric-expression)
ATN(numeric-expression)
Mengembalikan nilai trigonometri.
numeric-expression dinyatakan dalam radian (sudut*3.14/180).

Cukup jelas

EXP(numeric-expression)
Mengembalikan nilai exponential.

Cukup jelas

LOG(numeric-expression)
Mengembalikan nilai logaritma natural.

Cukup jelas

SQR(numeric-expression)
Mengembalikan nilai akar pangkat dua.

Contoh :
Print Sqr(9) ‘Akan mencetak 3

INT(numeric-expression)
Mengembalikan nilai bulat dari suatu desimal.

Contoh :
Print Int(3.5) ‘Akan mencetak 3

FUNGSI BANTU RANDOM

RANDOMIZE [integer-expression]
RANDOMIZE TIMER
Memberikan bibit kepada nilai random.

RND
Mengembalikan nilai pseudo random antara 0 s/d HASIL THEN PRINT “TERLALU BESAR”
IF TEBAK < HASIL THEN PRINT “TERLALU KECIL”
LOOP UNTIL HASIL=TEBAK
PRINT “TEBAKAN ANDA SEBANYAK “;N;” KALI”
END

Latihan :
1. Bandingkan hasil Sinus dengan fungsi bantu Sin dan Ekspansi
Trigonometris.

2. Buatlah program putar String “Indonesia Programmer” dari kiri
ke kanan.

3. Bagaimana kalau putar dari kanan ke kiri.

4. Cobalah program tebak angka, berapa kali anda mampu
selesai menebaknya?

Modul 6 – FUNGSI CIPTAAN DAN SUB RUTIN

{ Oktober 4, 2007 @ 5:25 am } · { QBasic }
{ Tags: basic, pemograman, QBasic } · { Tinggalkan sebuah Komentar }

MODUL 6
FUNGSI CIPTAAN DAN SUB RUTIN

Fungsi Ciptaan
Fungsi-fungsi bawaan yang disediakan oleh QBasic adalah bersifat
umum, sehingga kadang-kadang programmer harus membuat fungsi
sendiri sesuai dengan kebutuhannya.

Misalnya :
Dalam mengembangkan program keuangan, seorang programmer akan
banyak membutuhkan fungsi-fungsi Time Value of Money seperti
Present Value, Future Value, Depresiasi dll.

QBasic menyediakan fasilitas bagi programmer yang ingin
mengembangkan fungsi ciptaannya sendiri. Adapun tata cara
penulisannya adalah sebagai berikut :

FUNCTION namafungsi[(parameterlist)] [STATIC]
[statementblock]
namafungsi = expression
[statementblock]
END FUNCTION

type data yang dikembalikan ditentukan oleh akhiran pada nama
tersebut(%, &, !, #, atau $) yang masing-masing adalah INTEGER,
LONG, SINGLE, DOUBLE dan STRING.

Contoh :

FUNCTION SLN#(cost AS double, salvage AS double, life AS single)
SLN# = (cost-salvage)/life
END FUNCTION

Fungsi diatas adalah fungsi ciptaan untuk menghitung depresiasi
dengan metode garis lulus.

Contoh Lain :

FUNCTION FV#(pv AS double, rate AS single, term AS integer)
Dim npv as double, i as integer
npv = pv
FOR i = 1 TO term STEP 1
npv = npv + npv*rate ‘nilai akhir = pokok + bunga
NEXT i
FV# = npv
END FUNCTION

atau dengan rumus pertumbuhan

FUNCTION FV#(pv AS double, rate AS single, term AS integer)
FV# = np*(1+rate)^term
END FUNCTION

Fungsi diatas adalah fungsi ciptaan untuk menghitung Future Value
dari suatu nilai uang, jika diketahui suku bunga per periode dan
jumlah periode yang diinginkan.

Contoh :
Misalnya anda memiliki uang Rp. 1.000.000 (satu juta), anda
menyimpannya ke Bank dengan suku bunga 10% per tahun, berapa uang
anda setelah disimpan 3 tahun ?

Catatan :
Pada Qbasic, fungsi ciptaan disimpan pada lokasi yang berlainnan
dengan program utama, untuk beralih ke program utama maupun
fungsi ciptaan anda dapat menggunakan tombol F2

Anda dapat menggunakan perintah EXIT FUNCTION untuk keluar dari
fungsi.

Contoh :

FUNCTION PRIMA! (bilangan AS LONG)
DIM i AS INTEGER
IF bilangan < 2 THEN
PRIMA! = 0 ‘semua bilangan < 2 bukan prima
ELSEIF bilangan < 4 THEN
PRIMA! = 1 ‘bilangan 2 dan 3 adalah prima
ELSE
i = 2 ‘bagi bilangan tersebut mulai
DO WHILE i 0 THEN
baca = angka$(a100, posisi) + “ratus”
END IF
IF a10 = 1 THEN ‘Sepuluh s/d Sembilanbelas
baca = baca + angka$(a10 * 10 + a1, posisi)
ELSE
IF a10 > 0 THEN ‘Duapuluh s/d Sembilanpuluh
baca = baca + angka$(a10, posisi) + “puluh”
END IF
IF a1 > 0 THEN ‘Satu s/d Sembilan
baca = baca + angka$(a1, posisi)
END IF
END IF
ratus$ = baca
END FUNCTION

FUNCTION terbilang$ (x AS LONG)
DIM milyar AS INTEGER, juta AS INTEGER, ribu AS INTEGER, satu AS
INTEGER
DIM baca AS STRING
IF x = 0 THEN ‘Jika x = Nol
baca$ = angka$(0, 1) ‘Dibaca Nol
ELSE
milyar = x \ 1E+09 ‘Ambil bagian ratusan milyar
juta = (x MOD 1E+09) \ 1000000 ‘Ambil bagian ratusan juta
ribu = (x MOD 1000000) \ 1000 ‘Ambil bagian ratusan ribu
satu = x MOD 1000 ‘Ambil bagian ratusan
IF milyar > 0 THEN
baca = ratus$(milyar, 4) + “milyar”
END IF
IF juta > 0 THEN
baca = baca + ratus$(juta, 3) + “juta”
END IF
IF ribu > 0 THEN
baca = baca + ratus$(ribu, 2) + “ribu”
END IF
IF satu > 0 THEN
baca = baca + ratus$(satu, 1)
END IF

END IF
terbilang$ = baca
END FUNCTION

Modul 7 – TYPE DATA RECORD

{ Oktober 4, 2007 @ 4:58 am } · { QBasic }
{ Tags: basic, pemograman, QBasic } · { Tinggalkan sebuah Komentar }

Modul 7
TYPE DATA RECORD

Record Type merupakan type ciptaan yang dibuat oleh pemakai
sesuai dengan tuntutan program. Record Type merupakan type
variabel yang terdiri dari kumpulan type-type standar Quick
Basic.

Mendeklarasikan suatu Record Type

Pada QBasic Record Type dapat dideklarasikan dengan penulisan
berikut :

Syntax :
Type nama
AS
AS

End Type

Contoh :

Type PESERTA
Nomor AS String*10
Nama AS String*20
Email AS String*30
Umur AS Integer
End Type

Mendeklarasikan type data PESERTA yang merupakan kumpulan dari
data Nomor, Nama, Email, dan Umur.

Mendeklarasikan Variabel Record Type

Untuk mendeklarasikan variabel berdasarkan Record Type tertentu
dengan menggunakan perintah DIM.

Contoh :

Dim DataPeserta As PESERTA

Mendeklarasikan variabel DataPeserta yang memiliki type PESERTA,
sehingga variabel DataPeserta memiliki komponen Nomor, Nama,
Email dan Umur.

Menggunakan Variabel Record Type

Pemakaian variabel Record Type sama saja dengan variabel biasa,
dan kita juga dapat menyatakan masing-masing komponennya.

Contoh :

Dim Peserta1 As PESERTA
Dim Peserta2 As PESERTA
Dim Temp As PESERTA

Peserta1.Nomor = 9224 ‘komponen Nomor
Peserta1.Nama = “Hendra” ‘komponen Nama
Peserta1.Email = “hendra@indoprog.com” ‘Komponen Email
Peserta1.Umur = 27 ‘Komponen Umur

Peserta2.Nomor = 9241 ‘komponen Nomor
Peserta2.Nama = “Limada” ‘komponen Nama
Peserta2.Email = “limada@hsbc.com” ‘Komponen Email
Peserta2.Umur = 26 ‘Komponen Umur

Record Type banyak digunakan dalam pengolahan data, dan random
file karena menawarkan fleksibilitas dan kemudahan dalam
pemakaiannya.

Contoh :

Temp = Peserta1
Peserta1 = Peserta2
Peserta2 = Temp

atau

SWAP Peserta1, Peserta2

Menukar data Peserta1 dengan Peserta2 dan sebaliknya, tanpa perlu
menyebutkan sub komponennya. Dapatkah saudara bayangkan kalau hal
tersebut tidak menggunakan Record Type ?

Contoh :

‘Program isi data siswa dan sortir

‘DEKLARASI RECORD TYPE SISWA
Type SISWA
NOINDUK AS STRING * 10
NAMA AS STRING * 15
TEORI AS SINGLE
PRAKTEK AS SINGLE
RATA AS SINGLE
End Type

Input “Masukkan jumlah siswa “;JS

Dim DSiswa(JS) AS SISWA ‘Deklarasi Array DSiswa
‘berdasarkan Record Type SISWA
‘MENGISI DATA
For I = 1 TO JS STEP 1
Print “RECORD KE -”;I
Input “NO.INDUK :”,DSISWA(I).NOINDUK
Input “NAMA :”,DSISWA(I).NAMA
Input “TEORI :”,DSISWA(I).TEORI
Input “PRAKTEK :”,DSISWA(I).PRAKTEK
DSISWA(I).RATA = (DSISWA(I).TEORI+DSISWA(I).PRAKTEK)/2
NEXT I

‘MENGURUT DATA BERDASARKAN NILAI RATA-RATA
For I = (JS-1) TO 1 STEP -1
Sempurna = 1
For J = 1 TO I
If DSISWA(J).RATA < DSISWA(J+1).RATA THEN
SWAP DSISWA(J),DSISWA(J+1)
Sempurna = 0
End If
Next J
If Sempurna = 1
I = 0
End If
Next I

CLS
Print ” HASIL UJIAN SISWA”
Print ” BASIC PROGRAMMING MEI 2001″
Print
Print “——————————————————————-”
Print “NO.INDUK NAMA TEORI PRAKTEK RATA-RATA LULUS “
Print “——————————————————————-”
POLA$=”\ \ \ \ ###.## ###.## ###.## \ \ “

VIEW PRINT 4 TO 23

For I = 1 TO JS
IF DSISWA(I).RATA < 60 THEN LULUS$=”TIDAK” ELSE LULUS$ = “YA”
PRINT USING POLA$;DSISWA(I).NOINDUK;DSISWA(I).NAMA;DSISWA(I).TEORI;
DSISWA(I).PRAKTEK;DSISWA(I).RATA;LULUS$
Next I

Tidak ada komentar:

Posting Komentar