bahasa pemrograman basic dengan quick basic

Upload: nanang-santosa

Post on 13-Jul-2015

884 views

Category:

Documents


8 download

TRANSCRIPT

BAHASA PEMROGRAMAN BASIC dengan Quick BASIC Oleh : Hendra, ST. Modul 1 DASAR-DASAR QBASIC Bahasa BASIC dibuat oleh John G.Kemmeny dan Thomas E.Kurtz lebih dari 20 tahun yang lalu dan merupakan bahasa tingkat tinggi yang relatif mudah dipelajari dan dimengerti. Dalam perkembangannya , Bahasa BASIC dikembangkan dalam dua jenis, yaitu interpreter dan compiler. Interpreter seperti GWBASIC pada sistem operasi MS-DOS, maupun BASICA pada sistem operasi PC-DOS, sedangkan salah satu compilernya yang terkenal adalah Quick BASIC yang dilengkapi dengan sistem pemrograman yang terstruktur, Quick Library, on-line help yang terpadu, editor yang efisien (bisa merapikan teks serta memberitahukan kesalahan syntax penulisan suatu perintah)

MENGAKTIFKAN QUICK BASIC Untuk mengaktifkan Quick BASIC diperlukan sistem Quick BASIC yang minimal terdiri dari file QB.EXE/QBasic.EXE. Jika kita telah memiliki file tersebut tinggal diberi perintah QB pada Dos Prompt. Contoh A>QB atau A>QBasic Setelah pemberian perintah tersebut, pemakai akan dihadapkan kepada suatu editor sebagai tempat pengetikan program yang akan dikembangkan. Dibagian atas editor terdapat perintah menu yang dapat diaktifkan dengan Tombol Alt disertai huruf depan dari masing-masing pilihan. File

/------------------\ | New Program | memulai program baru | Open Program... | memuat program dari diskette ke RAM | Save | menyimpan program ke diskette (file *.BAS) | Save As... | menyimpan program ke nama yang lain |------------------| | Print... | mencetak program ke printer |------------------| | Exit | keluar ke Dos permanen \------------------/ Edit /----------------------\ | Undo Alt+Backspace | membatalkan perubahan terakhir | Cut Shift+Del | memotong tulisan Blok ke ClipBoard | Copy Ctrl+Ins | menduplikasi tulisan Blok ke ClipBoard | Paste Shift+Ins | menyisip ClipBoard ke posisi Kursor | Clear Del | menghapus tulisan yang di Blok |----------------------| | New SUB... | | New FUNCTION... | \----------------------/ Options /-----------------\ | Display... | mengatur tampilan layar | Help Set Path | mengatur default Dos Path | Syntax Checking | mengatur keaktifan pemeriksaan Syntax \-----------------/ Run /---------------------\ | Start Shift+F5 | menjalankan program yang aktif | Restart | mereset memory program | Continue F5 | melanjutkan program yang terhenti \---------------------/ MEMBUAT PROGRAM PADA QUICK BASIC Apa yang dimaksud dengan pemrogram komputer ? Pemrograman komputer berarti anda memberitahukan kepada komputer

ada yang anda ingin dia lakukan. Untuk memberitahukan komputer apa yang harus dia lakukan, anda membutuhkan kata-kata khusus (special words). Kata-kata ini disebut sebagai kata-kata kunci (key words). Ketika anda menempatkan kata-kata kunci ini dalam program anda sehingga kelihatan seperti kode khusus (special code) yang disebut sebagai CODE dan pekerjaan menulis program disebut CODING.

KATA, DATA, PERINTAH, dan FUNGSI BANTU merupakan komponen utama suatu program yang saling berinteraksi. Pembuatan program dalam Quick BASIC tidak terlepas dari keempat komponen di atas dalam baris-baris perintah yang berkapasitas maksimum 256 character yang mencakup identitas baris, perintah, dan kata-kata(Remark). Identitas baris bisa berupa nomor baris (0-65529) [menjaga kompatibilitas dengan GWBASIC maupun BASICA], dan bisa berupa label dengan ketentuan : - Maksimum 40 character, dimulai dengan huruf A..Z, diakhiri dengan tanda : - huruf besar/kecil sama, tidak sama dengan reserved word, dan tidak pakai spasi Setiap proses yang berhubungan dengan pengolahan data biasanya memerlukan tempat penampung sementara dalam memory yang disebut variabel dan dalam pengolahannya diperlukan operator dan fungsi bantu. Jenis Type Variabel pada Quick Basic : /--------------------------------------------------------------------------\ |Data Type |Suffix|Maximum |Minimum | Size| |--------------------------------------------------------------------------| |||| |Strings | $ | 32,767 chars. | 0 chars. | | |Integers | % | 32,767 |-32,768 | 2 | |Long Integers | & | 2,147,483,647 |-2,147,483,648 | 4 | |Single (7-digit) precision | ! |+3.402823 E+38 |+1.401298 E-45 | 4 | __ |Double (15-digit) precision| # |+1.7976931 D+308|+4.940656 D-324 | 8 | __ |User-Defined Data Types |----------------------------------------------/ \---------------------------/

Nama variabel juga memiliki ketentuan antara lain : - Maksimum 40 character, diawali dengan huruf A..Z, diakhiri dengan $, %, &, !, # untuk menunjukan type - Tidak boleh sama dengan reserved word, tidak boleh pakai spasi dan spesial character. Operator pada Quick BASIC dibagi atas 5 jenis, antara lain : 1. Arithmetic operators : melakukan tugas perhitungan /--------------------\ /----------------------------\ |Operator|Kegunaan | |Operator|Kegunaan | |--------------------| |----------------------------| || | ^ | Pangkat | | \ | Pembagian integer | | - | Negatif | | MOD | Sisa bagi | | * | Perkalian | | + | Penjumlahan | | / | Pembagian | | - | Pengurangan | \--------------------/ \----------------------------/ 2. Relational operators : membandingkan strings dan nilai numerik /--------------------------------------\ |Operator|Kegunaan | |--------------------------------------| | = | Sama dengan | | | Tidak sama dengan | | < | Lebih kecil | | > | Lebih besar | | = | Lebih kecil atau sama dengan| \--------------------------------------/ Relational operators akan menghasilkan dua kemungkinan nilai yaitu -1 jika benar dan 0 jika salah. 3. Logical operators : test kondisi dan manipulasi bits /-----------------------------------------------------\ |Expresi1|Expresi2| NOT | AND | OR | XOR | EQV | IMP | |-----------------------------------------------------| ||||||| |T|T|F|T|T|F|T|T| |T|F|F|F|T|T|F|F|

|F|T|T|F|T|T|F|T| |F|F|T|F|F|F|T|T| \-----------------------------------------------------/ Functional operators : operator pelengkap String operators : mengabung (+), dan membandingkan String PERINTAH DASAR INPUT OUTPUT Komputer hanya melaksanakan apa yang diperintahkan pemrogram. Jadi, dalam membuat program untuk menyelesaikan suatu masalah, kita harus tahu cara penyelesaiannya. Untuk itu diperlukan tahaptahap dalam menyelesaikan masalah tersebut. INPUT dan OUTPUT merupakan awal dan akhir pengolahan suatu data. Tanpa proses INPUT, kita tidak dapat memperoleh data untuk diolah dan data-data yang telah selesai diolah tidak akan berarti tanpa proses OUTPUT. Syntax : INPUT [;]["Prompt"{,|;}], Var list PRINT [expresion list {,|;}] Contoh 1 : REM Program mencari Isi Bujursangkar INPUT "MASUKKAN SISI BUJURSANGKAR :",S ISI = S * S PRINT "ISI DARI BUJURSANGKAR ADALAH :",ISI END Contoh 2 : REM Program Isi Data INPUT "MASUKKAN NAMA ANDA ";NM$ INPUT "MASUKKAN UMUR ANDA ";UR% INPUT "MASUKKAN TGL,BLN,THN HARI INI ";TG%,BL%,TH% PRINT "NAMA : ";NM$ PRINT "UMUR : ";UR% PRINT "TANGGAL : ";TG% PRINT "BULAN : ";BL% PRINT "TAHUN : ";TH% END

Catatan : Untuk memberi keterangan pada program dapat digunakan REM atau ' LATIHAN 1. Aktifkan QBasic.EXE, dan anda akan dihadapkan pada suatu WELCOME dialog box, tekan Esc untuk mengabaikannya. Selanjutnya anda akan melihat lingkungan kerja QBasic yang terbagi atas dua bagian : Bagian atas adalah "Jendela Editor" dan Bagian bawah adalah "Jendela Immedietly". 2. Perhatikan letak kursor sekarang (pada Jendela Editor), tekan function key (F6) untuk mengaktifkan Jendela Immedietly, dan (F6) sekali lagi untuk sebaliknya. 3. Ketiklah ekspresi berikut pada jendela immedietly dengan diawali perintah print (?). Contoh : 1+2 diketik sebagai ?1+2 Ekspresi : Hasilnya ? 1 + 2 _____ Penjumlahan 2 - 1 _____ Pengurangan 2 * 3 _____ Perkalian 5 / 2 _____ Pembagian 5 \ 2 _____ mengapa ? ____________ Pembagian bulat 5 Mod 2 _____ mengapa ? ____________ Sisa bagi 3^2 _____ Pangkat 1+2*6^2/4-1 _____ Urutan operasi (1+2)*6^2/4-1 _____ Prioritas operasi Tuliskan kesimpulan anda tentang : 1. Pembagian bulat ____________________________________________ 2. Sisa bagi __________________________________________________ 3. Urutan operasi _____________________________________________

4. Prioritas operasi __________________________________________ 1 > 2 _____ lebih besar 1 < 1 _____ lebih kecil 2 = 2 _____ sama dengan 2 >= 2 _____ lebih besar atau sama 1 2) and (2 = 2) _____ Operasi And (1 > 2) and (1 < 2) _____ Operasi And (1 < 2) and (2 = 2) _____ Operasi And (3 2) and (1 > 2) _____ Operasi And (1 > 2) and (2 = 2) _____ Operasi Or (1 > 2) and (1 < 2) _____ Operasi Or (1 < 2) and (2 = 2) _____ Operasi Or (3 2) and (1 > 2) _____ Operasi Or (1 > 2) Xor (2 = 2) _____ Operasi Xor (1 > 2) Xor (1 < 2) _____ Operasi Xor (1 < 2) Xor (2 = 2) _____ Operasi Xor (3 2) Xor (1 > 2) _____ Operasi Xor (1 > 2) Eqv (2 = 2) _____ Operasi Eqv (1 > 2) Eqv (1 < 2) _____ Operasi Eqv (1 < 2) Eqv (2 = 2) _____ Operasi Eqv (3 2) Eqv (1 > 2) _____ Operasi Eqv (1 > 2) Imp (2 = 2) _____ Operasi Imp (1 > 2) Imp (1 < 2) _____ Operasi Imp (1 < 2) Imp (2 = 2) _____ Operasi Imp (3 2) Imp (1 > 2) _____ Operasi Imp Not (1 > 2) _____ Operasi Imp Not (2 > 2) _____ Operasi Imp Not (1 > 2) Or (2 = 2) And (3 < 2) ______ Urutan operasi Tuliskan kesimpulan anda tentang urutan operasi pada operator

logika. 4. Ketiklah ekspresi berikut pada jendela immedietly : A = 123 B = 1234567890 C% = 32767 D% = 100000 Overflow, mengapa ? D& = 100000 E$ = "Indoprog" F$ = 123 Type mismatch, mengapa ? G = "hendra" Type mismatch, mengapa ? H_1 = 123 expected : end-of-statement, mengapa ? nilai ujian = 90 Syntax error, mengapa ? next = 5 expected : variable or end-of-statement ? cls = 6 expected : variable or end-of-statement ? A% = 1.2 Berapa nilai A% ? A% = 1.5 Berapa nilai A% ? Tuliskan kesimpulan anda tentang variabel dan nama variabel 5. Ketiklah ekspresi berikut pada jendela immedietly dengan diawali perintah print (?). 1 + 1 ______ 1 + "100" Type mismatch, mengapa ? "A" + "B" ______ Tuliskan kesimpulan anda operator pada type data. 6. Ketiklah statement berikut pada jendela immedietly Print "Untuk kemajuan Indonesia" Hasilnya : __________________________________

Print "Untuk","kemajuan","Indonesia" Hasilnya : __________________________________

Print "Untuk";"kemajuan";Indonesia" Hasilnya : __________________________________

Print "Untuk" Print "Kemajuan" Print "Indonesia" Hasilnya : _____________ _____________ _____________ Print "Untuk"; Print "Kemajuan"; Print "Indonesia" Hasilnya : __________________________________

Print 1,2,3 Hasilnya : __________________________________, mengapa ?

Print 1;2;3 Hasilnya : __________________________________, mengapa ?

Print tab(10),"Hendra";tab(30);"Wijaya" Hasilnya : __________________________________, mengapa ?

Input nama$ print nama$ Hasilnya :? Hendra __________________________________

Input "Masukkan nama :", nama$ print nama$ Hasilnya :Masukkan nama : Hendra __________________________________

Input "Masukkan nama "; nama$ print nama$ Hasilnya :Masukkan nama ? Hendra __________________________________

Input "Masukkan nama "; nama print nama Hasilnya : Masukkan nama ? Hendra Redo from start, mengapa ? 6. Program anda yang pertama. Aktifkan ke jendela Editor Ketiklah CODE berikut : REM Program saya yang pertama CLS PRINT "Hello semua" END Simpan CODE diatas ke file Bab1F.Bas (gunakan menu File Save) Jalankan program diatas (gunakan menu Run Start atau tekan F5) 7. Program dengan proses input/output Gunakan menu File New untuk memulai program baru Ketiklah CODE berikut : REM Program menghitung luas persegi panjang

CLS INPUT "Masukkan sisi panjang :", panjang INPUT "Masukkan sisi lebar :", lebar LUAS = panjang * lebar PRINT "Luas persegi panjang :", LUAS END Simpan CODE diatas ke file Bab1G.Bas 8. Buatlah program menghitung luas lingkaran. 9. Buatlah program konversi suhu Celcius ke Farenheit, Kelvin, Reamur. 10. Beberapa perintah pengaturan INPUT OUTPUT Pada tulisan ini tidak diberikan contoh untuk memancing pertanyaan pada forum diskusi :). CLS Membersihkan layar dengan warna latar belakang COLOR textcolor[,textbackground[,border]] Mengatur warna tulisan, warna latar belakang, dan warna border layar. Adapun nomor warna yang disediakan : /----------------\ /----------------\ /----------------\ /------------------\ | # | Warna | | # | Warna | | # | Warna | | # | Warna | |----------------| |----------------| |----------------| |------------------| |||| | 0 | Hitam | | 4 | Merah | | 8 | Abu-abu | | 12 | Merah muda | | 1 | Biru | | 5 | Magenta | | 9 | Biru muda | | 13 | Magenta muda| | 2 | Hijau | | 6 | Brown | | 10 | Hijau muda| | 14 | Kuning | | 3 | Cyan | | 7 | Putih | | 11 | Cyan muda | | 15 | Putih terang| \----------------/ \----------------/ \----------------/ \------------------/ Warna tulisan dapat dibuat berkedip dengan menambahkan 16 pada nomor warna Warna latar belakang hanya dapat dipilih nomor 0 s/d 7 Warna border dapat dipilih 0 s/d 15 PRINT USING formatstring; expressionlist[{,|;}] Mencetak text dan variabel dengan format tertentu formatstring, ekspresi string yang mengatur format pencetakkan

dengan picture sebagai berikut : /------------Characters Picture untuk mengatur format data numerik ------------\ | # Menentukan posisi digit | - Diletakan sesudah posisi digit | | . Menentukan posisi Desimal | mencetak tanda untuk negatif | | , Memunculkan pemisah ribuan,jutaan | $$ Mencetak $ pada posisi kosong | | + Menentukan posisi tanda numerik | ** Mencetak * pada posisi kosong | |^^^^ Mencetak dalam bentuk eksponensial| **$ Combinasi $ dan ** | |-------------------Characters Picture untuk mengatur format data string-------| | & Mencetak seluruh string | \ \ Mencetak n+2 character, dimana| | ! Mencetak huruf pertama dari String | n adalah jumlah spasi \ \ | \------------------------------------------------------------------------------/ WIDTH kolom,baris Mengatur lebar text layar 40 atau 80 kolom dan pada monitor EGA atau VGA mengatur jumlah baris layar 25,43,50 atau 60 (tergantung pada jenis monitor) LOCATE [row] [,[col] [,[cursor] [,start [,stop]]]] Memindahkan kursor pada layar ke posisi baris dan kolom tertentu. cursor, nilai 0 cursor off, nilai 1 cursor on start, baris awal kursor 0 s/d 31 stop, baris akhir kursor 0 s/d 31 SPC(n) Meloncat sejumlah n spasi pada saat pencetakan dengan perintah print. TAB(n) Mencetak output ke kolom n yang ditentukan. VIEW PRINT baris_teratas To baris_terbawah Membatasi baris teratas dan terbawah layar untuk memunculkan tulisan

Modul 2 STRUKTUR KENDALI IF Struktur Kendali memegang peranan yang sangat penting dalam pembuatan program dengan komputer, tanpa adanya struktur kendali kita hanya dapat membuat program yang sederhana dimana prosesnya hanya dijalankan dari baris pertama sampai selesai. Pada kasuskasus tertentu, ada kalanya baris tertentu tidak boleh dilaksanakan apabila kondisi tidak dipenuhi, ataupun baris-baris tertentu harus diulang sampai suatu kondisi terpenuhi. TEST PILIHAN Dengan perintah test pilihan seorang programer dapat menentukan jalur-jalur proses yang harus dikerjakan oleh komputer berdasarkan logika tertentu. 1. Pilih Tambahan If ekspresi logika Then Statement ... End If Berfungsi menentukan apakah kondisi (ekspresi logika) memenuhi syarat untuk melaksanakan Statement-Statement yang di samping IF Then ataupun berada dalam Block IF Then-End If. Contoh : PTKP = 240000 If Nikah$ = "Y" Then PTKP = PTKP + 120000 End If Keterangan : Jika status nikah adalah "Y" (Ya), maka PTKP (Penghasilan Tidak Kena Pajak) ditambah 120000

2. Pilih Antara Dua

IF ekspresi logika Then Statement1 ... Else Statement2 ... End If Berfungsi menentukan Block Statement mana yang akan dilaksanakan komputer, jika ekspresi logika menghasilkan nilai Benar maka Statement1 akan dilaksanakan dan sebaliknya dengan Statement2. Contoh : If JlhAnak > 3 Then PTKP = PTKP + (3 * 120000) Else PTKP = PTKP + (JlhAnak * 120000) End If Keterangan : Jika Jumlah Anak diatas 3 Orang, maka PTKP ditambah 360000, sebaliknya adalah JlhAnak dikali 120000. 3. Pilih Antara Banyak IF ekspresi logika 1 Then Statement1 ... ElseIF ekspresi logika 2 Then Statement2 ... Else Endif Berfungsi menentukan Block statement yang mana akan dijalankan oleh komputer sesuai dengan ekspresi logika yang menghasilkan nilai benar. Contoh : PKP = Penghasilan - PTKP ' Penghasilan Kena Pajak 1 Bulan

PKPT = PKP * 12 ' Penghasilan Kena Pajak 1 Tahun If PKPT 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 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 '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

Oleh : Hendra, ST. 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 = "[email protected]" 'Komponen Email Peserta1.Umur = 27 'Komponen Umur Peserta2.Nomor = 9241 'komponen Nomor Peserta2.Nama = "Limada" 'komponen Nama Peserta2.Email = "[email protected]" '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