0% menganggap dokumen ini bermanfaat (0 suara)
23 tayangan25 halaman

Dasar-Dasar QBasic untuk Pemula

Dokumen membahas dasar-dasar bahasa pemrograman QuickBASIC meliputi menu penting, jenis data dan variabel, serta latihan dasar di jendela Immediate.

Diunggah oleh

accull
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
23 tayangan25 halaman

Dasar-Dasar QBasic untuk Pemula

Dokumen membahas dasar-dasar bahasa pemrograman QuickBASIC meliputi menu penting, jenis data dan variabel, serta latihan dasar di jendela Immediate.

Diunggah oleh

accull
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

01010101011110100101101010101010101010101000101101110101000111101011010101001110010101010001110101011 11101101110101001010100101010101010001010111010101011110101010101101011011001010101010111011010101010 10101010010101001010100101010101010101010101001011101001100101010101111010010110101010101010101010100 01011011101010001111010110101010011100101010100011101010111110110111010100101010010101010101000101011 10101010111101010101011010110110010101010101110110101010101010101001010100101010010101010101010101010 10010111010011001010101011110100101101010101010101010101000101101110101000111101011010101001110010101 01000111010101111101101110101001010100101010101010001010111010101011110101010101101011011001010101010 11101101010101010101010010101001010100101010101010101010101001011101001100101010101111010010110101010 10101010101010001011011101010001111010110101010011100101010100011101010111110110111010100101010010101 01010100010101110101010111101010101011010110110010101010101110110101010101010101001010100101010010101 01010101010101010010111010011001010101011110100101101010101010101010101000101101110101000111101011010 10100111001010101000111010101111101101110101001010100101010101010001010111010101011110101010101101011 01100101010101011101101010101010101010010101001010100101010101010101010101001011101001100101010101111 01001011010101010101010101010001011011101010001111010110101010011100101010100011101010111110110111010 10010101001010101010100010101110101010111101010101011010110110010101010101110110101010101010101001010

10010101001010101001010101011110100101101010101010101010101000101101110101000111101011010101001110010 10101000111010101111101101110101001010100101010101010001010111010101011110101010101101011011001010101 01011101101010101010101010010101001010100101010101010101010101001011101001100101010101111010010110101 01010101010101010001011011101010001111010110101010011100101010100011101010111110110111010100101010010 10101010100010101110101010111101010101011010110110010101010101110110101010101010101001010100101010010 10101010101010101010010111010011001010101011110100101101010101010101010101000101101110101000111101011 01010100111001010101000111010101111101101110101001010100101010101010001010111010101011110101010101101 01101100101010101011101101010101010101010010101001010100101010101010101010101001011101001100101010101 11101001011010101010101010101010001011011101010001111010110101010011100101010100011101010111110110111 01010010101001010101010100010101110101010111101010101011010110110010101010101110110101010101010101001 01010010101001010101010101010101010010111010011001010101011110100101101010101010101010101000101101110 10100011110101101010100111001010101000111010101111101101110101001010100101010101010001010111010101011 11010101010110101101100101010101011101101010101010101010010101001010100101010101010101010101001011101 00110010101010111101001011010101010101010101010001011011101010001111010110101010011100101010100011101 01011111011011101010010101001010101010100010101110101010111101010101011010110110010101010101110110101 01010101010100101010010101001010101001010101011110100101101010101010101010101000101101110101000111101 01101010100111001010101000111010101111101101110101001010100101010101010001010111010101011110101010101 10101101100101010101011101101010101010101010010101001010100101010101010101010101001011101001100101010 10111101001011010101010101010101010001011011101010001111010110101010011100101010100011101010111110110 11101010010101001010101010100010101110101010111101010101011010110110010101010101110110101010101010101 00101010010101001010101010101010101010010111010011001010101011110100101101010101010101010101000101101

MODUL PRAKTIKUM BAHASA PEMROGRAMAN

LABORATORIUM KOMPUTER JURUS AN SIPIL F AKULT AS TEKNIK UNIVERSIT AS HAS ANUDDIN

Praktikum Bahasa Pemrograman

DASAR-DASAR QBASIC
Bahasa BASIC (Beginner's All Purpose Symbolic Instruction Code) dibuat oleh John [Link] dan Thomas [Link] di Dartmouth College pada tahun 1964 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 GW-BASIC 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). Dewasa ini banyak dikembangkan bahasa pemrograman BASIC-LIKE yang mirip dengan pemrograman bahasa BASIC klasik. Salah satu contoh adalah JustBasic yang merupakan freeware ([Link]). Contoh BASIC-LIKE programming lainnya dapat dilihat di [Link] (under windows atau Linux). Visual Basic yang umum digunakan dewasa ini adalah varian dari bahasa pemrograman BASIC. Bahasa BASIC yang digunakan tidak jauh beda dengan dialek-dialek kompiler BASIC namun dibarengi dengan desain pemrograman secara visual.

MENGAKTIFKAN QUICK BASIC


Jelajah ke folder QB dan klik ganda file QB yang bertipe Application ([Link]). Karena Qbasic tidak berbasis windows, untuk menghemat resource komputer maka jendela Qbasic dijalankan dengan layar penuh (full screen) dengan menekan tombol ALT+ENTER

Jurusan Sipil Universitas Hasanuddin

Praktikum Bahasa Pemrograman

MENU PENTING PADA QUICKBASIC


Lingkungan kerja QuickBasic terdiri dari terbagi atas dua bagian : Bagian atas adalah "Jendela Editor" dan Bagian bawah adalah "Jendela Immediate".
File Edit View Search Run Debug Calls Options Help Untitled JENDELA EDITOR Immediate JENDELA IMMEDIATE <Shift+F1=Help> <F6=Window> <F2=Subs> <F5=Run> <F8=Step> N 00001:001

File Edit View Search Run Debug Calls Options Help Untitled New Program MEMULAI PROGRAM BARU Open Program... MEMANGGIL PROGRAM DALAM DRIVE Merge... Save MENYIMPAN PROGRAM KE DRIVE Save As... MENYIMPAN PROGRAM KE DRIVE DENGAN NAMA BARU Save All Create File... Load File... Unload File... Print... DOS Shell Exit KELUAR

File Edit View Search Run Debug Calls Options Help Untitled 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 ISI CLIPBOARD DI POSISI KURSOR Clear Del MENGHAPUS TULISAN YANG DIBLOK New SUB... New FUNCTION...

Jurusan Sipil Universitas Hasanuddin

Praktikum Bahasa Pemrograman


File Edit View Search Run Debug Calls Options Help Start Shift+F5 MENJALANKAN PROGRAM Restart MERESET MEMORI PROGRAM Continue F5 MELANJUTKAN PROGRAM Modify COMMAND$... Make EXE File... COMPILER Make Library... Set Main Module...

DATA DAN VARIABEL PADA BASIC


Integer: bilangan bulat antara -32.767 32.767 Long integer : integer >32.767 Single precision : angka real yang dibatasi 6 digit di belakang koma Double precision : angka real yang lebih presisi hingga 15 digit di belakang koma String : teks dengan maksimum 32.767 karakter
Tabel 1. Jenis Type Variabel pada Quick Basic

Data Type Strings Integers Long Integers Single (7-digit) precision Double (15-digit) precision

Suffix $ % & ! #

Maximum 32.767 karakter 32.767 2,147,483,647 3.402823 E+38 1.7976931 D+308

Minimum 0 karakter -32.767 -2,147,483,648 1.401298 E-45 4.940656 D-324

Penulisan nama variabel (syntax) 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.
Tabel 2. Contoh Penulisan Variabel

Tipe Variabel String variable Integer variable Single-precision variable Double-precision variable

Contoh Syntax N$ LIMIT% MINIMUM! Pl#

Jurusan Sipil Universitas Hasanuddin

Praktikum Bahasa Pemrograman

LATIHAN 1. JENDELA IMMEDIATE


1. Aktifkan Qbasic dan selanjutnya anda akan melihat lingkungan kerja QBasic yang terbagi atas dua bagian : Bagian atas adalah "Jendela Editor" dan Bagian bawah adalah "Jendela Immediate". 2. Perhatikan letak kursor sekarang (pada Jendela Editor), tekan function key (F6) untuk mengaktifkan Jendela Immediate, dan (F6) sekali lagi untuk sebaliknya. 3. Ketiklah ekspresi berikut pada jendela Immediate dengan diawali perintah print (?) lalu tekan ENTER Contoh: 1+2 diketik sebagai: ?1+2 (lalu tekan ENTER untuk menjalankan statemen)
File Edit View Search Run Debug Calls Options Help Untitled Contoh Immediate ?1+2 <Shift+F1=Help> <F6=Window> <Enter=Execute Line> N 00001:005

LATIHAN 1.
Ekspresi : 1 + 2 "A" + "B" 5 / 2 5 \ 2 5 MOD 2 3^2 2^3 1+2*6^2/4-1 (1+2)*6^2/4-1 B C% D% D& E$ F$ = = = = = = Hasilnya ? _____ Penjumlahan _____ Penjumlahan _____ Pembagian _____ mengapa ? ____________ Pembagian bulat _____ mengapa ? ____________ Sisa bagi _____ Pangkat dua _____ Pangkat tiga _____ Urutan operasi _____ Prioritas operasi

1234567890 32767 100000 Overflow, mengapa ? 100000 "Teknik Sipil" 123 Type mismatch, mengapa ?

Jurusan Sipil Universitas Hasanuddin

Praktikum Bahasa Pemrograman

G = "Sipil" H_1 = 123 nilai ujian = 90 A% = 1.2 A% = 1.5 1 + "100"

Type mismatch, mengapa ? expected : end-of-statement, mengapa ? Syntax error, mengapa ? Berapa nilai A% ? Berapa nilai A% ? Type mismatch, mengapa ?

Mengapa True (-1) dan False (0) ?


1 2 1 3 > 2 >= 2 <= 2 <> 3 _____ _____ _____ _____ lebih lebih lebih tidak besar besar atau sama kecil atau sama sama dengan

LATIHAN 2. PERINTAH DASAR INPUT OUTPUT


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[;]["promptstring"{,|;}]variablelist Argumen ; Promptstring ; , variablelist Deskripsi Sebuah semikolon setalah INPUT menempatkan kursor pada baris yang sama setelah pemrogram menekan ENTER. Konstanta string yang ditampilkan di layar sebelum data dimasukkan. Menampilkan tanda tanya (?) di layar pada akhir promptstring. Menampilkan promptstring tanpa tanda tanya. Variabel data, dipisahkan dengan koma, untuk menerima nilai input.

Statemen INPUT menyebabkan program berhenti untuk menerima data.

Syntax :
PRINT [expresion list][{,|;}] Tanda baca , dan ; memberikan posisi Print: Posisi dari item yang ditampilkan ditentukan oleh tanda baca yang digunakan untuk memisahkan item di daftar. BASIC membagi baris ke dalam zone print yang masing-masing berjarak 14 spasi. Pada expression list, tanda baca koma menempatkan nilai ditampilkan pada zone berikutnya. Tanda baca semikolon menempatkan nilai ditampilkan setelah nilai sebelumnya pada zone yang sama. Statemen PRINT tanpa expression list akan menampilkan baris kosong

Jurusan Sipil Universitas Hasanuddin

Praktikum Bahasa Pemrograman

Contoh: PRINT "Teknik Sipil Unhas" Hasilnya : Teknik Sipil Unhas PRINT "Teknik","Sipil","Unhas" Hasilnya : Teknik Sipil PRINT "Teknik";"Sipil";Unhas" Hasilnya : TeknikSipilUnhas PRINT "Teknik" PRINT "Sipil" PRINT "Unhas" Hasilnya : Teknik Sipil Unhas PRINT "Teknik"; PRINT "Sipil"; PRINT "Unhas" Hasilnya : TeknikSipilUnhas PRINT "Teknik" PRINT PRINT "Sipil" Hasilnya : Teknik Sipil

Unhas

LATIHAN 2.1
Ketiklah statement berikut pada jendela Editor lalu tekan F5 untuk menjalankan program. Masukkan nilai dari variabel nama dengan nama anda lalu tekan ENTER. Mulailah dengan program baru (FILE NEW PROGRAM) sebelum menuliskan code berikutnya Code 1:
INPUT "Masukkan nama :", nama$ PRINT nama$

Code 2:
INPUT "Masukkan nama "; nama PRINT nama

Untuk code 2, mengapa hasilnya seperti itu?

Jurusan Sipil Universitas Hasanuddin

Praktikum Bahasa Pemrograman

LATIHAN 2.2.
Ketiklah statemen berikut pada jendela Editor lalu tekan F5 untuk menjalankan program. Masukkan nilai dari variabel lalu tekan ENTER
REM Program menghitung luas persegi panjang CLS INPUT "Masukkan sisi panjang :", panjang INPUT "Masukkan sisi lebar :", lebar luas = panjang * lebar rumus menghitung luas PRINT "Luas persegi panjang :"; luas END

Simpan CODE diatas ke file [Link] (gunakan menu File Save) pada folder SOURCE\. Jalankan program diatas (gunakan menu RUN START atau tekan F5) Catatan : REM atau apostrof ( )digunakan untuk memberi keterangan pada program. CLS digunakan untuk membersihkan layar

LATIHAN 3. 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 kasus-kasus tertentu, ada kalanya baris tertentu tidak boleh dilaksanakan apabila kondisi tidak dipenuhi, ataupun baris-baris tertentu harus diulang sampai suatu kondisi terpenuhi. Syntax :
IF booleanexpression1 THEN [statementblock-1] ELSEIF booleanexpression2 THEN [statementblock-2] . . . ELSE [statementblock-n]] END IF booleanexpression adalah ekspresi yang mana harus memberikan nilai true atau false. statementblock lebih. berisi beberapa statemen dalam satu baris atau

Jurusan Sipil Universitas Hasanuddin

Praktikum Bahasa Pemrograman

Contoh 1: Memilih antara dua kondisi Flowchart:

Code:
INPUT "UMUR PENGUNJUNG:"; umur IF umur > 10 THEN PRINT "KARCIS Rp. 20.000" ELSE PRINT "KARCIS Rp. 10.000" END IF

(file: [Link])

Penjelasan: Booleanexpression adalah umur > 10, Jika booleanexpression bernilai true (data umur yang dimasukkan >10 tahun), maka harga karcis adalah Rp. 20,000. Jika tidak maka harga karcis adalah Rp. 10,000 (Booleanexpression bernilai false) Contoh 2: Memilih lebih dua kondisi Flowchart:
MULAI

Code:
INPUT "PRIA ATAU WANITA :"; sex$ IF sex$ = "PRIA" THEN PRINT "PAKAIAN JAS" ELSEIF sex$ = "WANITA" THEN PRINT "PAKAIAN KEBAYA" ELSE PRINT "MASUKAN SALAH" END IF

INPUT JENIS KELAMIN

YA PRIA

PRINT PAKAIAN JAS

TIDAK PRINT PAKAIAN KEBAYA YA WANITA

TIDAK PRINT MASUKAN SALAH

SELESAI

(file: [Link])

Penjelasan: Booleanexpression1 adalah data masukan PRIA, Jika booleanexpression1 bernilai true maka tercetak Pakaian Jas (statementblock-1), Jika booleanexpression 1 bernilai false, maka eksekusi program lanjut ke booleanexpression2. Jika booleanexpression2 bernilai true (masukan data adalah WANITA) maka tercetak Pakaian Kebaya (statementblock-2). Jika booleanexpression2 bernilai false maka statementblock-3 akan dieksekusi dengan menampilkan tulisan Masukan Salah.

Jurusan Sipil Universitas Hasanuddin

Praktikum Bahasa Pemrograman

LATIHAN 3.1
Ketiklah statemen berikut pada jendela Editor lalu tekan F5 untuk menjalankan program. Masukkan nilai dari variabel lalu tekan ENTER Deskripsi:
X bilangan integer Jika X 25 maka Y = Jika X 50 maka Y = Jika X 75 maka Y = Jika X > 75 maka Y = Cetak nilai Y dan Z X X X X + + + + 10 dan Z = Y * 5 5 dan Z = Y * 4 2 dan Z = Y * 3 1 dan Z = Y * 2

Code: Mulailah dengan program baru (FILE berikut:


CLS INPUT "NILAI X = ", X% IF X% <= 25 THEN Y = X% + 10 Z = Y * 5 ELSEIF X% <= 50 THEN Y = X% + 5 Z = Y * 4 ELSEIF X% <= 75 THEN Y = X% + 2 Z = Y * 3 ELSE Y = X% + 1 Z = Y * 2 END IF PRINT "NILAI Y ="; Y PRINT "NILAI Z ="; Z

NEW PROGRAM) sebelum menuliskan code

LATIHAN 4. STRUKTUR KENDALI CASE


Alternatif lain dari kendali IF untuk mengontrol alur statemen adalah dengan kendali CASE. Syntax :
SELECT CASE testexpression [CASE expressionlist1] [statementblock-1] [CASE expressionlist2 [statementblock-2]] ... [CASE ELSE [statementblock-n]] END SELECT testexpression adalah suatu ekspresi numerik atau string. expressionlist berisi ekspresi bertipe sama dengan testexpression.
Jurusan Sipil Universitas Hasanuddin 9

Praktikum Bahasa Pemrograman

LATIHAN 4.1
Latihan 3.1 di atas dengan menggunakan kendali CASE. Ketiklah statemen berikut pada jendela Editor lalu tekan F5 untuk menjalankan program. Masukkan nilai dari variabel lalu tekan ENTER.
CLS INPUT "NILAI X = ", X% SELECT CASE X% CASE <= 25 Y = X% + 10 Z = Y * 5 CASE <= 50 Y = X% + 5 Z = Y * 4 CASE <= 75 Y = X% + 2 Z = Y * 3 CASE ELSE Y = X% + 1 Z = Y * 2 END SELECT PRINT "NILAI Y ="; Y PRINT "NILAI Z ="; Z

LATIHAN 4.2
Buka file SOURCE\[Link] yang mempunyai listing code seperti di bawah. Silahkan perhatikan dengan seksama source code dan output yang dihasilkan.
CLS INPUT "Masukkan Hari (1-7)", Hari SELECT CASE Hari CASE 1 PRINT "Senin" CASE 2 PRINT "Selasa" CASE 3 PRINT "Rabu" CASE 4 PRINT "Kamis" CASE 5 PRINT "Jumat" CASE 6 PRINT "Sabtu" CASE 7 PRINT "Minggu" CASE Else PRINT "Tidak ada" END SELECT

Jurusan Sipil Universitas Hasanuddin

10

Praktikum Bahasa Pemrograman

LATIHAN 4.3
Buka file SOURCE\[Link] yang mempunyai listing code seperti di bawah. Silahkan perhatikan dengan seksama source code dan output yang dihasilkan
CLS PRINT "PROGRAM PERHITUNGAN LUAS BIDANG" PRINT PRINT "1. SEGITIGA" PRINT "2. KUBUS" PRINT "3. PERSEGI PANJANG" PRINT "4. LINGKARAN" PRINT INPUT "PILIH TIPE BIDANG (1/2/3/4) : ", bid PRINT SELECT CASE bid CASE 1 INPUT "Panjang alas = ", alas INPUT "Tinggi = ", tinggi luas = alas * tinggi / 2 PRINT "Luas bidang = "; luas CASE 2 INPUT "Panjang sisi = ", sisi luas = sisi * sisi PRINT "Luas bidang = "; luas CASE 3 INPUT "Panjang = ", panjang INPUT "Lebar = ", lebar luas = panjang * lebar PRINT "Luas bidang = "; luas CASE 4 phi=3.14 INPUT "Diameter = ", diameter luas = phi*diameter^2 PRINT "Luas bidang = "; luas CASE ELSE PRINT "Masukan salah" PRINT "Pilihan masukan 1, 2, 3, atau 4" END SELECT

Jurusan Sipil Universitas Hasanuddin

11

Praktikum Bahasa Pemrograman

LATIHAN 5. STRUKTUR KENDALI PERULANGAN (LOOPING) 5.1. LOOPING COUNTER


Digunakan untuk mengontrol proses berulang yang jumlah perulangannya ditentukan. Syntax :
FOR counter = start TO end [STEP increment] [statement] NEXT [counter] counter adalah variabel numerik yang digunakan sebagai counter. start adalah nilai awal dan end nilai akhir counter increment adalah tingkat kenaikan/penurunan dalam perulangan loop

Contoh : Mencetak nilai faktorial 7, dimana 7! = 1 x 2 x 3 x 4 x 5 x 6 x 7 Code :


Fak = 1 FOR I = 2 TO 7 STEP 1 Fak = Fak * I NEXT I PRINT "Nilai faktorial 7 :", Fak

Penjelasan: Nilai variabel Fak awalnya adalah 1, sedangkan variabel I adalah 2. Statement dalam perulangan ini membuat nilai Fak baru menjadi = Fak * I. Dengan kenaikan 1 tingkat terhadap nilai I, komputer akan terus memperbaharui nilai variabel Fak sampai pada nilai I = 7. Langkah perulangan di atas bisa digambarkan sebagai berikut: Fak = 1 Fak = 1 * 2 = 2 nilai fak baru dengan I = 2 Fak = 2 * 3 = 6 nilai fak baru dengan I = 3 Fak = 6 * 4 = 24 nilai fak baru dengan I = 4 Fak = Fak * I Fak = 24 * 5 = 120 nilai fak baru dengan I = 5 Fak = 120 * 6 = 720 nilai fak baru dengan I = 6 Fak = 720 * 7 = 5040 nilai fak baru dengan I = 7

LATIHAN 5.1
Mulailah dengan jendela program baru dan ketiklah code untuk menghitung 10! Dan jalankan program untuk melihat hasilnya. Jawab : 10! = 3628800

Jurusan Sipil Universitas Hasanuddin

12

Praktikum Bahasa Pemrograman

5.2.

LOOPING TRAPPING

Perulangan jenis ini mengontrol aliran statemen yang berulang SAAT atau SAMPAI kondisi booleanexpression bernilai true. Syntax 1 :
DO [{WHILE | UNTIL} booleanexpression] [statementblock] LOOP

Syntax 2 :
DO [statementblock] LOOP [{WHILE | UNTIL} booleanexpression] {WHILE | UNTIL} adalah pemeriksaan ekspresi boolean untuk menilai apakah perulangan masih diperlukan atau tidak. Perulangan akan dilakukan oleh komputer SAAT (WHILE) atau SAMPAI (UNTIL) booleanexpression bernilai true. Dari kedua syntax di atas, pemeriksaan bisa dilakukan pada awal atau pada akhir perintah DO...LOOP

LATIHAN 5.2
Bukalah file SOURCE\[Link] yang berisi code seperti di bawah dan jalankan program.
DO INPUT "MASUKKAN NILAI ANTARA 0 SAMPAI 100,000:", X IF X >= 0 AND X < 100000 THEN PRINT X; "ADA DALAM RANGE 0 SAMPAI 100,000" ELSE PRINT X; "DI LUAR RANGE 0 SAMPAI 100,000" END IF LOOP

Program tidak berhenti dan terus mengulangi eksekusi code di atas. Kesalahan seperti ini termasuk Logical Error yang merupakan kesalahan yang disebabkan oleh kesalahan logika maupun model atau metode yang digunakan untuk pemrosesan data.

Tekan CTRL+PAUSE untuk kembali ke jendela editor...


Untuk menghindari hal seperti ini maka, perintah EXIT DO dapat digunakan untuk meninggalkan proses DO...LOOP.

Jurusan Sipil Universitas Hasanuddin

13

Praktikum Bahasa Pemrograman

LATIHAN 5.3
Edit file [Link] ini dengan menambahkan perintah EXIT DO dan memindahkan perintah PRINT X, seperti langkah yang terlihat di bawah : Blok code PRINT X; "ADA DALAM RANGE 0 SAMPAI 100,000" Potong (CUT) code tersebut menggunakan menu EDIT CUT Tempatkan kursor di bawah perintah LOOP Tempel (PASTE) code tadi dengan menu EDIT PASTE Ketik perintah EXIT DO di tempat yang telah kosong Hasil pengeditan seperti terlihat di bawah dan jalankan program (F5)
DO INPUT "MASUKKAN NILAI ANTARA 0 SAMPAI 100,000:", X IF X >= 0 AND X < 100000 THEN

EXIT DO
ELSE PRINT X; "DI LUAR RANGE 0 SAMPAI 100,000" END IF LOOP

PRINT X; "ADA DALAM RANGE 0 SAMPAI 100,000" Penjelasan: Jika kondisi IF X >= 0 AND X < 100000 terpenuhi (bernilai true) maka program akan keluar dari blok perulangan dan mencetak ADA DALAM RANGE 0 SAMPAI 100,000. Jika tidak (bernilai false) maka perulangan akan terus berlangsung. Flowchart di bawah menggambarkan perbandingan kedua code di atas: Flowchart sebelum di edit: Flowchart setelah di edit:

Cara lain untuk menghindari kesalahan di atas adalah menambahkan kondisi pada perintah LOOP. Coding yang lain untuk memperbaiki kasus latihan 5.2 adalah dengan : Mengubah booleanexpression pada perintah IF Menambahkan kondisi pada perintah LOOP Memindahkan perintah PRINT X di bawah perintah LOOP Sehingga coding menjadi:
Jurusan Sipil Universitas Hasanuddin 14

Praktikum Bahasa Pemrograman

DO INPUT "MASUKKAN NILAI ANTARA 0 SAMPAI 100,000:", X IF X <= 0 OR X > 100000 THEN PRINT X; "DI LUAR RANGE 0 SAMPAI 100,000" END IF

LOOP UNTIL X >= 0 AND X < 100000 PRINT X; "ADA DALAM RANGE 0 SAMPAI 100,000"

LATIHAN 5.4
Bukalah file SOURCE\[Link] yang berisi code seperti di atas, jalankan program dan bandingkan dengan hasil keluaran pada latihan 5.3 yang telah anda lihat sebelumnya Walaupun perintah LOOP telah diberi kondisi, namun logical error masih bisa terjadi jika kondisi yang diberikan tidak pernah terpenuhi. Program di bawah tidak pernah berhenti. karena nilai N tidak akan pernah sama dengan 10.
N = 1 DO PRINT N N = N + 2 LOOP UNTIL N = 10

5.3.

WHILE DAN UNTIL PADA PERINTAH DO...LOOP


Lakukan perulangan SAAT kondisi bernilai true Lakukan perulangan SAMPAI kondisi bernilai true Lakukan perulangan SAAT kondisi bernilai true

Jika dibahasakan dengan bahasa Indonesia, perintah berikut ini bisa berarti
DO WHILE ... LOOP DO ... LOOP UNTIL DO ... LOOP WHILE

Program di bawah untuk mencari Kelipatan Persekutuan Terkecil (KPK) dari dua buah bilangan. Perintah DO...LOOP pada awal digunakan untuk mengulang seluruh program jika pengguna masih ingin menggunakan program, saat pengguna memasukkan karakter Y atau y maka perulangan seluruh program akan dilaksanakan. Perintah DO...LOOP kedua untuk memeriksa masukan, jika masukan salah maka perulangan akan terus dilakukan SAMPAI masukan benar. Perintah DO...LOOP ketiga untuk memeriksa hasil bagi kelipatan. SAAT hasil bagi tidak sama dengan nol, maka perulangan akan dilakukan. Perintah DO...LOOP keempat untuk memeriksa masukan string JAWABAN$. Perulangan akan dilakukan SAMPAI nilai JAWABAN$ tidak sama dengan kosong. Penjelasan keyword dalam listing di bawah: MOD untuk operasi mencari hasil bagi (ingat praktek di jendela immediate di atas). PRINT tanpa expression list akan menampilkan baris kosong, ini hanya sekedar mengatur tampilan output. END perintah akhir program

Jurusan Sipil Universitas Hasanuddin

15

Praktikum Bahasa Pemrograman

Baris kosong antara code dalam jendela editor tidak berpengaruh apa-apa terhadap eksekusi, baris kosong sekedar mengatur tampilan struktur code program. Tanda apostrof () untuk memberi keterangan code program.
DO CLS PRINT "PROGRAM MENCARI KPK DUA BILANGAN BERBEDA" PRINT "MASUKKAN DUA BILANGAN" PRINT "BILANGAN PERTAMA HARUS LEBIH BESAR DARI BILANGAN KEDUA" PRINT DO INPUT "Bilangan pertama :", pertama INPUT "Bilangan kedua :", kedua IF pertama < kedua THEN PRINT PRINT "MASUKAN SALAH, BIL. PERTAMA HARUS > BIL. KEDUA" ELSEIF pertama = kedua THEN PRINT PRINT "MASUKAN SALAH, BIL. PERTAMA DAN KEDUA HARUS BERBEDA" END IF LOOP UNTIL pertama > kedua lipat = pertama bagi = kedua N = 1 DO WHILE ((lipat * N) MOD bagi) <> 0 N = N + 1 LOOP 'Kelipatan dinaikan jika 'sisa bagi belum nol

PRINT PRINT "KPK kedua bilangan adalah :", (lipat * N) PRINT DO INPUT "Coba bilangan lain? (Y/T)"; JAWABAN$ LOOP UNTIL JAWABAN$ <> "" LOOP WHILE JAWABAN$ = "Y" OR JAWABAN$ = "y" PRINT PRINT "SELAMAT TINGGAL" END

LATIHAN 5.5
Bukalah file SOURCE\[Link] yang berisi code seperti di atas, jalankan program dan cobalah memasukkan nilai yang bervariasi untuk melihat hasil keluarannya.

Jurusan Sipil Universitas Hasanuddin

16

Praktikum Bahasa Pemrograman

LATIHAN 6. 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.

6.1.

FUNGSI BANTU STRING

LEFT$ (stringexpression,n)

Mengembalikan sejumlah karakter string dari suatu data string dari sebelah kiri. Contoh :
PRINT LEFT$("Unhas",4) RIGHT$ (stringexpression,n) Mencetak Unha

Mengembalikan sejumlah karakter string dari suatu data string dari sebelah kanan. Contoh :
PRINT RIGHT$("Unhas",4) MID$(stringexpression,start[,length]) Mencetak nhas

Mengembalikan sejumlah karakter string dari suatu string mulai posisi tertentu. Contoh :
PRINT MID$("1234567890",3,4) PRINT MID$("1234567890",3) LTRIM$(stringexpression) Mencetak 3456 Mencetak 34567890

Mengembalikan string dengan menghilangkan spasi sebelah kiri. Contoh :


A$ = " 100" B$ = LTRIM$(A$) PRINT A$ PRINT B$ RTRIM$(stringexpression) Mencetak 100 Mencetak 100

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") PRINT INSTR(4,"ABCDABCD","A") PRINT INSTR("ABCD","a") LCASE$(stringexpression) Mencetak 2 Mencetak 5 Mencetak 0

Mengembalikan suatu string yang telah diubah ke huruf kecil. Contoh :


PRINT LCASE$("Unhas") Mencetak unhas

Jurusan Sipil Universitas Hasanuddin

17

Praktikum Bahasa Pemrograman

UCASE$(stringexpression)

Mengembalikan string yang telah dibuat huruf kapital. Contoh :


PRINT UCASE$("Unhas") Mencetak UNHAS STRING$(m,n) atau STRING$(m,stringexpression)

Mengembalikan string yang mengandung sejumlah character yang berulang. Contoh :


PRINT STRING$(10,65) PRINT STRING$(10,"A") LEN(stringexpression) Mencetak AAAAAAAAAA Mencetak AAAAAAAAAA

Mengembalikan jumlah huruf suatu data string. Contoh :


PRINT LEN("Indonesia Programmer") Mencetak 20

6.2.

FUNGSI BANTU KONVERSI

STR$(numeric-expression)

Mengembalikan string dari suatu expresi numeric Contoh :


A = 100 B$ = STR$(A) VAL(stringexpression) 'B berisi "100"

Mengembalikan numeric dari suatu expresi string Contoh :


B$ A C D = = = = "100" VAL(B) "Unhas" VAL(C) 'A bernilai 100 'D bernilai 0

ASC(stringexpression)

Mengembalikan nilai ASCII dari suatu character. Contoh :


PRINT ASC("A") CHR$(n) 'Mencetak 65

Mengembalikan character ASCII n. Contoh :


PRINT CHR$(65) 'Mencetak "A"

6.3.

FUNGSI BANTU ARITMATIKA

INT(numeric-expression)

Mengembalikan nilai bulat dari suatu desimal. Contoh :


PRINT INT(3.2) Mencetak 3

Jurusan Sipil Universitas Hasanuddin

18

Praktikum Bahasa Pemrograman

SIN(numeric-expression) COS(numeric-expression) TAN(numeric-expression) ATN(numeric-expression)

Mengembalikan nilai trigonometri. Numeric-expression dinyatakan dalam radian (sudut * 3.14 / 180). Contoh :
PRINT SIN (30 * 3.14/180) LOG(numeric-expression) Mencetak .4997701

Mengembalikan nilai logaritma natural (e). Contoh :


PRINT LOG (100) PRINT LOG (100) / LOG (10#) EXP(numeric-expression) Mencetak 4.60517 Mencetak 2 (log basis 10)

Mengembalikan nilai exponential (basis dari logharitma natural). Nilai numeric-expression harus lebih kecil atau sama dengan 88.02969 Contoh :
PRINT EXP (10) SQR(numeric-expression) Mencetak 22026.46

Mengembalikan nilai akar pangkat dua. Contoh :


PRINT SQR(9) Mencetak 3

LATIHAN 6.1
Bukalah file SOURCE\[Link] yang berisi code seperti di bawah dan jalankan program, masukkan nilai sudut = 30 dan nilai X =1000:
CLS PI = 4 * ATN (1#) nilai phi = 3.141592653 INPUT Sudut (derajat) = ,sudut x = sudut * PI / 180 konversi ke sudut radian PRINT Nilai sinus =; SIN(x) PRINT Nilai cosinus =; COS(x) PRINT Nilai tangen =; TAN (x) PRINT INPUT Nilai X =, x y = LOG (x) / LOG (10#) PRINT LOG basis 10 dari; x; adalah =; y PRINT LOG natural dari; x; adalah =; LOG (x) END

Dalam analisa trigonometri, QBasic hanya menyediakan fungsi SIN, COS, TAN, dan ATN. Sehingga jika operasi aritmatika memerlukan perhitungan invers sinus (sin-1) atau invers cosinus (cos-1) maka diperlukan formula derivasi tan-1 untuk memperoleh nilai sin-1 dan cos-1.

Jurusan Sipil Universitas Hasanuddin

19

Praktikum Bahasa Pemrograman

Contoh:

cos B = x / 1 = x tan B = (SQR (1 - x^2)) / x B = cos-1(x) B = tan-1((SQR (1 - x^2)) / x) cos-1(x) = tan-1((SQR (1 - x^2)) / x)

sin C = x / 1 = x tan C = x / (SQR (1 - x^2)) C = sin-1(x) C = tan-1(x / (SQR (1 - x^2)) sin-1(x) = tan-1(x / SQR(1 x^2))

LATIHAN 6.2
Bukalah file SOURCE\[Link] yang berisi code seperti di bawah dan jalankan program, masukkan nilai sin x lebih kecil dari 1
CLS pi = 4 * ATN(1#) DO INPUT "Masukkan nilai sin X"; X IF X = 1 THEN PRINT "Sudut dalam derajat = 90" END ELSEIF X > 1 THEN PRINT "MASUKAN SALAH" ELSE EXIT DO END IF LOOP radian = ATN(X / (SQR(1 - X ^ 2))) derajat = radian * 180 / pi PRINT "Sudut dalam derajat ="; derajat

Penjelasan: Jika nilai X = 1, maka tercetak sudut adalah 90 dan program akan berhenti dan tidak mengeksekusi code di bawahnya (Perhatikan adanya perintah END dalam statementblock pertama), Jika nilai X > 1 maka komputer akan meminta imput baru. Jika X < 1, barulah formula sin-1 dieksekusi.

Jurusan Sipil Universitas Hasanuddin

20

Praktikum Bahasa Pemrograman

LATIHAN 7. COMPILER
QuickBASIC adalah salah satu compiler pemrograman bahasa BASIC. Pada saat anda menjalankan file .BAS, program QuickBASIC berperan sebagai interpreter dengan kata lain code file .BAS tidak bisa dieksekusi tanpa program QuickBASIC. Untuk code program tanpa interpreter, maka code tersebut harus dikompilasi dengan compiler untuk membuat file .EXE.

LATIHAN 7.1
1. Buka file SOURCE\[Link] (file contoh tugas) 2. Klik RUN dan pilih MAKE EXE FILE...
File Edit View Search Run Debug Calls Options Help DO Start Shift+F5 CLS Restart PRINT "FUNGSI PARABOLA Y Continue F5 PRINT Modify COMMAND$... INPUT "masukkan nilai A INPUT "masukkan nilai B Make EXE File... INPUT "masukkan nilai C Make Library... D = B ^ 2 - (4 * A * C) PRINT Set Main Module... IF D < 0 THEN PRINT "nilai X adalah imajiner" ELSEIF D = 0 THEN X = -B / (2 * A) PRINT "Titik potong di sumbu X = "; X PRINT "Y maksimun/minimum = 0" PRINT "Luas bidang = 0" ELSEIF D > 0 THEN D1 = SQR(D) Immediate

3. Ketik nama file EXE yang akan dibuat sebagai [Link] dan pilih/klik STAND-ALONE EXE FILE 4. Klik MAKE EXE
File Edit View Search Run Debug Calls Options Help [Link] DO CLS PRINT "FUNGSI PARABOLA Y = AX^2 + BX + C" PRINT INPUT "masukkan nilai A : "; A INP Make EXE File INP D = EXE File Name: [Link] PRI IF P [ ] Produce Debug Code Produce: ELS ( ) EXE Requiring [Link] X () Stand-Alone EXE File P P < Make EXE > < Make EXE and Exit > < Cancel > < Help > P ELSEIF D > 0 THEN D1 = SQR(D) Immediate

Jurusan Sipil Universitas Hasanuddin

21

Praktikum Bahasa Pemrograman

5. Tutup program QuickBASIC (Pilih menu FILE EXIT) 6. Dengan Windows Explorer, jelajah direktori dimana program QuickBASIC dijalankan (dalam komputer lab berada di C:\QB) 7. Anda akan mendapatkan file [Link] (yang bertipe Application) dan [Link] (yang bertipe OBJ File)

8. Klik ganda file [Link] (yang bertipe Application) 9. Jalankan program

SELESAI

Jurusan Sipil Universitas Hasanuddin

22

Praktikum Bahasa Pemrograman

Function Derived equivalents


Secant Sec(X) = 1 / Cos(X) Cosecant Cosec(X) = 1 / Sin(X) Cotangent Cotan(X) = 1 / Tan(X) Inverse Sine Arcsin(X) = Atn(X / Sqr(-X * X + 1)) Inverse Cosine Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1) Inverse Secant Arcsec(X) = Atn(X / Sqr(X * X 1)) + Sgn((X) 1) * (2 * Atn(1)) Inverse Cosecant Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) 1) * (2 * Atn(1)) Inverse Cotangent Arccotan(X) = Atn(X) + 2 * Atn(1) Hyperbolic Sine HSin(X) = (Exp(X) Exp(-X)) / 2 Hyperbolic Cosine HCos(X) = (Exp(X) + Exp(-X)) / 2 Hyperbolic Tangent HTan(X) = (Exp(X) Exp(-X)) / (Exp(X) + Exp(-X)) Hyperbolic Secant HSec(X) = 2 / (Exp(X) + Exp(-X)) Hyperbolic Cosecant HCosec(X) = 2 / (Exp(X) Exp(-X)) Hyperbolic Cotangent HCotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) Exp(-X)) Inverse Hyperbolic Sine HArcsin(X) = Log(X + Sqr(X * X + 1)) Inverse Hyperbolic Cosine HArccos(X) = Log(X + Sqr(X * X 1))

Jurusan Sipil Universitas Hasanuddin

23

Praktikum Bahasa Pemrograman

Inverse Hyperbolic Tangent HArctan(X) = Log((1 + X) / (1 X)) / 2 Inverse Hyperbolic Secant HArcsec(X) = Log((Sqr(-X * X + 1) + 1) / X) Inverse Hyperbolic Cosecant HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) + 1) / X) Inverse Hyperbolic Cotangent HArccotan(X) = Log((X + 1) / (X 1)) / 2 Logarithm to base N LogN(X) = Log(X) / Log(N)

Jurusan Sipil Universitas Hasanuddin

24

Anda mungkin juga menyukai