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
Entri Populer
-
1.Pengertian Statement Kondisi dan Perulangan Kondisi dalam bahasa pemrograman QBasic Laporan yang berulang, sementara kondisi benar. Ket...
-
LATARBELAKANG ejak dahulu kala, proses pengolahan data telah dilakukan oleh manusia. Manusia juga menemukan alat-alat mekanik dan elektron...
-
Model Komputasi Ada tiga model dasar komputasional-- fungsional, logika, dan imperatif. Sebagai tambahan terhadap satuan nilai-nilai dan ope...
-
Perintah kondisi atau perintah if then perintah yang digunakan untuk melakukan pengecekan suatu kondisi abila kondisi tersebut di...
-
FOR:ANDRY SYAHRIAL TO:RATIH PRATIWI apakah qu ambil keputusan putus salah ya? padahal aku cemburu karena takut kehilanangan dia&cuma ...
-
Weapons, Health, Armor & Money LXGIWYL = Weapon Set 1, Thug's Tools PROFESSIONALSKIT = Weapon Set 2, Professional Tools UZUMYMW...
-
kau begitu indah seindah pelangi setelah hujan kau begitu cantik secantik rembulan di malam hari kau juga begitu anggun.. mengalahkan p...
-
Hati siapa tak bimbang Situ botak minta dikepang Buah kedondong Buah atep Dulu bencong sekarang tetepp . Buah semangka buah duren Ngg...
-
Smuax tak bs Q percya, Seolah rasa ini tak pernah ad, Tiba2 datang, pergi pun gitu jua. PikirQ entah mgkn rasa itu benar2 ada atau han...
-
PANTUN JENAKA - PANTUN LUCU Bangkok kota seribu pagoda Mekah adalah kota suci Kuakui kau sungguh menggoda Tapi sayang kau seorang banci ...
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar