500 likes | 690 Views
Pemrograman BASIC. Pengantar Komputer Teknik Sipil dan Perencanaan Universitas Gunadarma. Disusun Oleh : Dr. Lily Wulandari. Pendahuluan. BASIC ( B eginner’s A ll-purpose S ymbolic I nstruction C ode)
E N D
Pemrograman BASIC PengantarKomputer TeknikSipildanPerencanaan UniversitasGunadarma DisusunOleh: Dr. Lily Wulandari
Pendahuluan • BASIC (Beginner’s All-purpose Symbolic Instruction Code) • DiciptakanProf . John G. KemenydanThomas KurtzdiDarthmouth College, New Hampshire USA, program dijalankanpertama kali 1 Mei 1964 • BASICmerupakanbahasatingkattinggi (high level language) yang bersifatintrepreteryaitumemungkinkanuntukmengoperasikankomputersecarainteraktif, program dapatditulis, dijalankan, dirubah, dandijalankanlagitanpaharusmelaluitahapkompilasi, sepertibahasatingkattinggilainnya yang berbentuk compiler.
Modus operasipadaBASIC • Modus langsung / Direct Mode / Immediate Mode / Command Mode modus inicarakerjanyamiripdengankalkulatordimanahasillangsungditampilkan. Contoh : Print 5+10 atau ? 5+10 15 15
2. Modus tidaklangsung / Indirect Mode / Program Mode modus inipadasetiapawal program harusdiberinomorbarisdanuntukmenjalankan program digunakan command RUN Contoh : 10 LET =5 20 LET B=7 30 PRINT A+B 40 END RUN 12
KONSEP Dasar BASIC • Terdiridarikumpulanstatement. Tiap-tiapstatement ditulisdengandiawaliolehsuatunomorbarisataunomor statement. Bilatidakdiberinomorbarismakaakanlangsungdikerjakan (secaradirect mode). • Program BASIC mempunyaistruktursebagaiberikut : Nomorbaris <statement>
Variabel :adalahnamaatausimbol yang digunakanuntukmewakilisuatunilai. Nilaidarivariabeldapatberubah-ubahdidalamproses program. 10 C=10 20 F=1.8 * C + 32 30 PRINT F
Elemen-Elemen Statement Statemendibentukdarielemen-elemen lain yang diawalidengansuatu verb. • Konstanta Nilai yang sudahpastididalam program dannilainyatidakberubahselamaproses program. Di dalamBASICdikenal 2 macamkonstantayaitu : • KonstantaNumerik Nilainumerik yang sudahpastididalam program, yang ditulistidakdiantaratandapetikdua (“). Dapatberupakonstanta integer, fixed point constant, floating point constant, hexadecimal constant dan octal constant. • Konstanta Non numerik Disebutkonstanta string atau literal string yaitunilai yang disajikandalamtandapetikdua (“) Panjangmaksimumkonstanta string 254 karakter.
2. Variabel Syaratpenulisannamavariabel : • Bolehgabunganantarahuruf, angkadantitik, tetapikarakterpertamaharusberupahuruf. Contoh : A,A2,NILAI,P3K,MODAL,ALI • Panjangnamavariabelmaksimum 40 karakter Contoh : NOMERMAHASISWA • Tidakbolehada “blank” ataudipisahkandengankosong/spasidiantarakarakter-karakter. • Tidakbolehada “special karakter”, kecuali yang mempunyaimaksudtertentuuntukvariabel, yang harusdiletakkan paling belakangdarinamavariabel. Karakterkhusus yang diijinkan : $,%,! Dan # Contoh : NAMA$,NOURUT!,X#,JUMLAH%. • Spesialkarakter $, menunjukkanvariabeladalahvariabel string, berisinilaihuruf. • Spesialkarakter #! menunjukkanvariabeladalahvariabelnumerikketepatantunggal, berisinilaiangkaketepatan 7 digit.
Spesialkarakter #, menunjukkanvariabeladalahvariabelnumerikketepatanganda, berisinilaiangkaketepatanlebih. • Spesialkarakter %, menunjukkanvariabeladalahvariabelnumerik integer, berisinilaiangkabulat. • Namavariabel yang tidakmengandungspesialkarakteradalahnamavariabelnumeriksingle precision (samadengannamavariabel yang mengandungspesialkarakter). • Namavariabeltidakbolehsamadengan BASIC reserved word. • Jenis-jenisVariabel : • VariabelNumerikketepatantunggal (single precision),dapatmewakilinilaiberkisardari 2.938736 x 10-39sampaidengan 1.701412 x 1038denganketepatan 7 digit. Biasanyadibelakangvariabelinidiberitanda !. Contoh : 10 A=22/7 20 B!=20/3 30 PRINT A 40 PRINT B!
Variabelnumerikketepatanganda (double precision),dapatmewakilinilaiberkisarantara 2.938745877055719 x 10-39sampaidengan 1.701411834604692 x 1038denganketepatansamapaidengan 16 digit. Biasanyavariabeliniditunjukkandengantanda # diakhirnamanya. Contoh : 10 A#=22/7 20 B#=22/7# 30 PRINT A# 40 PRINT B# RUN 3.142857074737549 3.142857142857143 • Variabelnumerikbulat/integer, mengandungnilaibulatberkisardarinilai –32768. Bilanilai yang diberikanolehvariabeliniberupanilaipecahan, makaakandibulatkankebawahbilanilaipecahannyakurangdarisetengahdandibulatkankeatasjikanilainyalebihbesaratausamadengansetengah.
Contoh : 10 A%=22/7 20 B%=20/3 30 PRINT A% 40 PRINT B% • Variabel string, yaituvariabel yang dapatmenyimpannilai string. Variabel string ditunjukkanolehnamanya yang diakhiridengankarakterkhusus $. Contoh : 10 NAMA$=”MuthiaEkaDyahPalupi” 20 PRINT NAMA$ 3. Operator • Aritmetic operator : (), ^ atau , * , / , | , MOD, + , - • Relational operator : <, >, <= , >= , = , <> • Logical operator : NOT, AND, OR , XOR, EQV, IMP
4. Ungkapan (Expression) • UngkapanNumerik • Disebutjugadenganungkapanmatematis (angka-angka), adalahungkapan yang semuaoperan-operannya (variabel, konstanta, atauhasilfungsi) brertipenumerik. • Contoh : Z = 1/(X^2+y^3) 2. Ungkapan String • Disebutdenganungkapanalphanumerik, adalahungkapan yang semuaoperannya ( var.,konst, atauhasilfungsi) bertipe string. Contoh : 10 A$=”BAHASA” 20 PRINT “LATIHAN”+A$+”BASIC” 3. UngkapanHubungan • Adalahungkapan yang menggunakan operator hubunganuntukmembandingkanduabuahnilai operand. Ungkapaninibanyakditemuipada statement IF untukmenyeleksikondisiduabuah operand gunamengetahibagaimanahubungannya.
Contoh : 10 A=25 20 IF A>5 THEN PRINT “A LEBIH BESAR DARI 5” 4. UngkapanLogika • Ungkapan yang dibentukdenganmenggunakan operator logika. Operand dariungkapaninisemuanyaharusberbentuknilai-nilailogika. Contoh : 150 IF NILAI.TUGAS$<”D”AND NILAI.UJIAN>55 THEN 180 • Ungkapaniniakanmenghasilkannilaibenaratausalah, tergantungdarikondisi yang diseleksinya, apakahbenar NILAI.TUGAS<”D” dan NILAI.UJIAN>55 • Jikakeduanyabenar, makahasildariungkapaniniadalahbenar. • Hasildari operator logika AND akanbernilaisalahbilasalahsatuada yang salah.
Statement LET • Digunakanuntukmemasukansebuahnilai/hargakedalamsuatuvariabeldimanadargasuatuvariabelbolehberubah. B.U. LET var = nilai Contoh : LET A = 9 LET B = 4 LET B = A LET NAMA$ = “SAYA”
Statement REM • digunakanuntukmemberikankomentar program, yaitu ; • Judul program • Penjelasan program • Keterangantentanglangkah-langkahprogram,dsb. • Statement REM dapatdiletakkandimanapundidalam program, baikdiawalpeogram, ditengah program, diakhir program tanpamempengaruhiproses program. Contoh : REM PROGRAM LUAS PERSEGI PANJANG LET PANJANG = 5 LET LEBAR = 4 REM PROSES LUAS = PANJANG * LEBAR
Statement PRINT • Digunakanuntukmenampilkan data darihasilpengolahanpadalayartampilan. Data yang ditampilkandapatmerupakanekspresi. • B. U. PRINT [deretanekspresi] • Ket : ekspresiadalahhimpunankarakternumerikdanatau string yang dapatdipisahkandengan ( , dan ; ) • Padapenulisan statement PRINT dapatmenggunakanpemisah ( , dan ; )untukmengaturjaraktampilanpadalayar. • (,) untukmengaturtampilandalamzonatertentujarak 11-14 spasi(kolom) dalamsatulayarterdapat 80 kolom • (;) mengaturjarakkira-kirasatuspasi(kolom)
Statement READ-DATA • Statement READ akanmembacanilai-nilai yang didefinisikandalam statement DATA kedalamvariabel yang adadalaminstruksi READ. • Statement READ-DATA dapatdigunakanuntukmembacaderetannilai yang berbedajenisnya. • Statement DATA dapatdiletakandimanasaja, namundisarankanuntukmeletakkannyadiawalatauakhir program gunamempermudahpencariannya. • Jenisvariabelharussamadenganjenisdatayangdibaca. Apabilajenisvariabeltidaksamadenganjenis data yang dibacmaka BASIC akanmenampilkanpesankesalahan.
Jumlah data harussamaataulebihbesardarijumlahvariabel. Apabilaterdapatkekurangan data maka BASIC akanmenampilkanpesankesalahan OUT OF DATA dan program akandihentikan. • B. U. READ var1[,var2, ….] DATA data1[,data2,….] Contoh : DATA 1,3,5,7,9 Output program tsb : READ A,B,C,D,E 1 5 9 PRINT A; C , E END
Contoh READ A, B Output program tsb : PRINT A; B OUT OF DATA READ A, B PRINT A DATA 2, 4, 6 END
Statement RESTORE • Nilai yang terteraada statement DATA hanyadapatdibacasatu kali sajadenganinstruksi READ, statement RESTORE menyebabkan data yang samadibacasekalilagidengannamavariabel yang dapatberbeda. • B.U. RESTORE [ label I Baris ] Ket : jika label ataubaristidakdidefinisikanmaka statement RESTORE akanmengembalikanpembacaan data pada statement DATA yang pertama. Contoh: READ X,Y Output program tsb : PRINT X ; Y 1 2 RESTORE 1 2 3 READ A, B, C PRINT A ; B ; C DATA 1,2,3,4 END
Statemen INPUT • Statemen INPUT digunakanuntukmembacanilai data yang diketikkanlewatpapanketikdanmemberikannilai data tersebutpadasuatu variable yang ditulisdibelakangstatemen input. • Denganstatemen INPUT program dapatmembaca data tipenumeris, danatau string. • Bentukumumstatemen INPUT adalah : INPUT [ prompt {; | ,} ] daftar Dengan Prompt : untai string sebagai prompt Daftar : daftarnama variable yang nilainyaakandibacalewatpapanketik; antarasatu variable dengan variable yang lain harusdipisahkantandabacakoma.
Contoh REM PROGINPUT1 PRINT “MASUKKAN SEBUAH BILANGAN =” INPUT N PRINT “KUADRATNYA ADALAH = “; N * N END Output : MASUKKAN SEBUAH BILANGAN = ? 4 KUADRATNYA ADALAH = 16
Statemen LINE INPUT • Maksuddaristatemeniniadalahhendakmemasukkan data kedalam variable string denganmenganggapbahwaseluruh data yang dimasukkandianggapterdirihanya 1 data item, walaupundipisahkanolehkoma. Jikadibandingkandenganstatemen INPUT antara data item yang dipisahkandengankomadianggaplebihdari 1 data item. LINE INPUT “KESUKAAN ANDA ?”, N$ PRINT N$; “ADALAH KESUKAAN ANDA.” END Output : KESUKAAN ANDA ?RENANG, MAKAN DAN BELAJAR RENANG, MAKAN DAN BELAJAR ADALAH KESUKAAN ANDA
INPUT “ISIKAN 3 KATA:”, SATU$,DUA$,TIGA$ LINE INPUT “ISIKAN KALIMAT:”, KALIMAT$ PRINT PRINT “KATA SATU =”, SATU$ PRINT “KATA DUA =”,DUA$ PRINT “KATA TIGA =”,TIGA$ PRINT KALIMAT$ END Output : ISIKAN 3 KATA : BELAJAR,BASIC,ASYIK ISIKAN KALIMAT: BELAJAR,BASIC,ASYIK KATA SATU = BELAJAR KATA DUA = BASIC KATA TIGA = ASYIK BELAJAR,BASIC ASYIK
Statement IF-THEN ; alihberyarat • Statement IF-THEN digunakanuntukmemeriksasebuahkondisidanmengeksekusisatuataulebihbaris program, jikadanhanyajikakondisiterpenuhi. • Instruksi IF-THEN dengansyarattunggal, merupakaninstruksiuntukmemeriksasebuahkondisisaja. • Instruksi IF-THEN dengansyaratmajemuk, merupakansebuahinstruksiuntukmemeriksalebihdarisatubuahkondisi. Kondisi-kondisitersebutdihubungkandengan operator-operator logika, seperti AND atau OR. • Statement IF-THEN jugadigunakanuntukmemeriksakondisidari data string. Apabilakondisinyaterpenuhimakabaris-baris program akandieksekusi.Untukpemeriksaankondisi data string digunakan operator relasi yang akanmendeteksinilai ASCII dari data tersebut.
Contoh 10 DATA 55, 66 Output program : 20 READ N1, N2 MAHASISWA LULUS 30 LET X = ( N1 + N2 ) / 2 40 IF X > 60 THEN 70 50 PRINT “MAHASISWA GAGAL” 60 GO TO 80 70 PRINT “MAHASISWA LULUS” 80 END
Statement GO TO ; alihtanpasyarat • Statement GO TO digunakanuntukmengubahurutaneksekusi program kebarisinstruksi yang ditunjukkanolehnomorbarisatau label. • B. U. GO TO [ nomorbaris I label ] Contoh : 10 LET A = 7 Output dari program tsb : 20 LET B = 8 7 30 LET C = A + B 40 PRINT A 50 GO TO 70 60 PRINT C 70 END
Statement PRINT lanjutan • PRINT TAB • Digunakanuntukmengaturjarakekspresikeekspresiberikutnyapadasatubarispencetakanataumemungkinkankitamengaturmulaikolomkeberapahasildicetak. • B. U. PRINT TAB (n) [{;II,} TAB(m) I ekspresi [{;II,} …]] Contoh : PRINT TAB(5) ; “BELAJAR” Output dari program tsb : PRINT TAB(3) ; “ BAHASA” 01234567 PRINT “ BASIC” BELAJAR END BAHASA BASIC
PRINT USING • Digunakanuntukmenampilkaninformasi yang berupanilaivariabeldengan format yang rapi, biasanyadigunakandalampencetakantabel-tabel. • B. U. PRINT USING Format Tampilan; DeretEkspresi Ket : • Format menunjukkan format pencetakan yang berupaekspresi string yang berisisejumlahkarakter • DeretEkspresiadalahungkapan yang nilainyaakandicetak
Contoh NAMA$ = “Maria Herjani” N = 95.65 PRINT USING “ NAMA : \ \ NILAI ###.## “; NAMA$,N Ket : \ \ 7 karakterdiisidengan 7 hurufsesuaidenganjumlahspasi yang beradadiantaratanda backslash tsb. Output : Maria H NILAI 95.65
1. Pengulangan Tunggal • Untukmenghindaripenulisaninstruksisecaraberulangan (looping), BASIC menyediakan statement FOR-NEXT. Dimanabanyaknyaiterasipengulangandapatditentukan. Perhatikancontoh program berikut CLS CLS PRINT “KOMPUTER” FOR I = 1 TO 5 PRINT “KOMPUTER” PRINT “KOMPUTER” PRINT “KOMPUTER” NEXT I PRINT “KOMPUTER” END PRINT “KOMPUTER” END
Contoh CLS PRINT “ LANGKAH KE NILAI VARIABEL K” PRINT “ -------------------------------------------------------“ FORMAT$ = “ ## ## “ COUNTER = 1 FOR K = 1 TO 20 STEP 2 PRINT USING FORMAT$; COUNTER; K COUNTER = COUNTER + 1 NEXT K END
Contoh OUTPUT : LANGKAH KE NILAI VARIABEL K 1 1 2 3 3 5 4 7 5 9 6 11 7 13 8 15 9 17 10 19
2. PENGULANGAN JAMAK • Pengulanganjamakdikenalsebagai Nested Looping yang merupakanpengulangan yang terjadididalamsuatupengulangan. Perhatikanbentukbagandibawahini : • padabagandiatasterlihatbahwadidalam statement FOR I ……NEXT I terdapatpengulangan lain yaitu statement FOR J …….. NEXT J
Contoh CLS PRINT “ VARIABEL I VARIABEL J “ PRINT “ =============================” BARIS = 3 FOR I = 1 TO 3 LOCATE BARIS,6 : PRINT I FOR J = 1 TO 5 LOCATE BARIS, 25 : PRINT J BARIS = BARIS + 1 NEXT J LOCATE BARIS, 1 PRINT “ -------------------------------------------------“ BARIS = BARIS + 1 NEXT I END
OUTPUT : VARIABEL I VARIABEL J ========================== 1 1 2 3 4 5 -------------------------------------------------- 2 1 2 3 4 5 -------------------------------------------------- 3 1 2 3 4 5 --------------------------------------------------
PERINTAH WHILE …WEND • Statement WHILE ….. WEND merupakanalternatif lain untukmelakukanpengulanganproses. WHILE kondisi1 Statement1 -------------- Blok-1 -------------- WEND
CLS HITUNG = 0 WHILE HITUNG < 7 PRINT HITUNG HITUNG = HITUNG + 1 WEND PRINT “PROSES PENGULANGAN SELESAI” PRINT “KARENA NILAI VARIABEL HITUNG = “; HITUNG END OUTPUT : 0 1 2 3 4 5 6 PROSES PENGULANGAN SELESAI KARENA NILAI VARIABEL HITUNG = 7
PERINTAH DO LOOP • Statement DO LOOP merupakanalternatif lain pengulanganproses. Cara kerjanyamirip statement WHILE ….. WEND. Namun statement DO LOOP lebihfleksibel, sebabpada statement DO LOOP terdapatfasilitasuntukkeluardaripengulangan, tanpaharusmemenuhikondisi yang telahditetapkan. Ada 4 macam statement DO LOOP, yaitu: • DO WHILE ….. LOOP • DO UNTIL ….. LOOP • DO ….. LOOP WHILE • DO ….. LOOP UNTIL
PERINTAH DO WHILE ….. LOOP • Perhatikanbagandibawahini : • DO WHILE Statement1 --------------- Blok-1 --------------- LOOP CLS OUTPUT : HITUNG = 10 10 DO WHILE HITUNG > 1 9 PRINT HITUNG 8 IF HITUNG = 5 THEN EXIT DO 7 HITUNG = HITUNG – 1 6 LOOP 5 PRINT “PROSES SELESAI” PROSES SELESAI END
PERINTAH DO UNTIL ….. LOOP • Statement inimempunyaibentuksebagaiberikut : DO UNTIL kondisi1 Statement1 --------------- Blok-1 --------------- LOOP HITUNG = 10 OUTPUT DO UNTIL HITUNG <= 1 10 PRINT HITUNG 9 HITUNG = HITUNG – 1 8 LOOP 7 PRINT “PROSES SELESAI” 6 END 5 4 3 2 PROSES SELESAI
PERINTAH DO ….. LOOP WHILE Pengulanganakanberakhirjika kondisi1 bernilaibenar. JWB$ = “ “ DO Statement1 ------------- Blok-1 ------------- LOOP WHILE kondisi1 DO CLS INPUT JWB$ LOOP WHILE JWB$ <> “Y” AND JWB$ <> “Y” END
PERINTAH DO … LOOP UNTIL DO Statement1 …………. Blok1 …………. LOOP UNTIL kondisi1 • Pengulangandidalamblok statement akanberakhirjika kondisi1 telahterpenuhiataubernilaibenar. JUMLAH = 0 CLS DO JUMLAH = JUMLAH + 1 PRINT “********************” LOOP UNTIL JUMLAH = 5 END
PERINTAH EXIT DO • Statement EXIT DO merupakansuatucarauntukkeluardariprosespengulangandidalamblok statement DO …. LOOP. Perhatikanbagandibawahini : DO Statement1 …………. IF kondisi2 THEN EXIT DO Blok1 …………. …………. LOOP UNTIL kondisi1 Statement2
Contoh CLS HITUNG = 10 DO WHILE HITUNG > 1 PRINT HITUNG IF HITUNG = 5 THEN EXIT DO END IF HITUNG = HITUNG – 1 LOOP PRINT “PROSES SELESAI” END OUTPUT : 10 9 8 7 6 5 PROSES SELESAI