Modul Basic

  • Upload
    accis

  • View
    363

  • Download
    1

Embed Size (px)

Citation preview

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 QBASICBahasa BASIC (Beginner's All Purpose Symbolic Instruction Code) dibuat oleh John G.Kemmeny dan Thomas E.Kurtz 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 (www.justbasic.com). Contoh BASIC-LIKE programming lainnya dapat dilihat di www.basic.mindteq.com (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 BASICJelajah ke folder QB dan klik ganda file QB yang bertipe Application (QB.EXE). 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

1

Praktikum Bahasa Pemrograman

MENU PENTING PADA QUICKBASICLingkungan 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 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

2

Praktikum Bahasa PemrogramanFile 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 BASICInteger: 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 karakterTabel 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

3

Praktikum Bahasa Pemrograman

LATIHAN 1. JENDELA IMMEDIATE1. 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 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

4

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 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.5Bukalah file SOURCE\L5-5.BAS 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 BAWAANFungsi 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.1Bukalah file SOURCE\L6-1.BAS 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.2Bukalah file SOURCE\L6-2.BAS yang berisi code seperti di bawah dan jalankan program, masukkan nilai sin x lebih kecil dari 1CLS 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. COMPILERQuickBASIC 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.11. Buka file SOURCE\QUADRAT.BAS (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 QUADRAT.EXE dan pilih/klik STAND-ALONE EXE FILE 4. Klik MAKE EXEFile Edit View Search Run Debug Calls Options Help QUADRAT.BAS 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: QUADRAT.EXE PRI IF P [ ] Produce Debug Code Produce: ELS ( ) EXE Requiring BRUN45.EXE 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 QUADRAT.EXE (yang bertipe Application) dan QUADRAT.OBJ (yang bertipe OBJ File)

8. Klik ganda file QUADRAT.EXE (yang bertipe Application) 9. Jalankan program

SELESAI

Jurusan Sipil Universitas Hasanuddin

22

Praktikum Bahasa Pemrograman

Function Derived equivalentsSecant 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