Pengantar Komputer Teknik Sipil dan Perencanaan Universitas Gunadarma Pemrograman BASIC Pengantar Komputer Teknik Sipil dan Perencanaan Universitas Gunadarma Disusun Oleh: Dr. Lily Wulandari
Pendahuluan BASIC (Beginner’s All-purpose Symbolic Instruction Code) Diciptakan Prof . John G. Kemeny dan Thomas Kurtz di Darthmouth College, New Hampshire USA, program dijalankan pertama kali 1 Mei 1964 BASIC merupakan bahasa tingkat tinggi (high level language) yang bersifat intrepreter yaitu memungkinkan untuk mengoperasikan komputer secara interaktif, program dapat ditulis, dijalankan, dirubah, dan dijalankan lagi tanpa harus melalui tahap kompilasi, seperti bahasa tingkat tinggi lainnya yang berbentuk compiler.
Modus operasi pada BASIC Modus langsung / Direct Mode / Immediate Mode / Command Mode modus ini cara kerjanya mirip dengan kalkulator dimana hasil langsung ditampilkan. Contoh : Print 5+10 atau ? 5+10 15 15
2. Modus tidak langsung / Indirect Mode / Program Mode modus ini pada setiap awal program harus diberi nomor baris dan untuk menjalankan program digunakan command RUN Contoh : 10 LET =5 20 LET B=7 30 PRINT A+B 40 END RUN 12
KONSEP Dasar BASIC Terdiri dari kumpulan statement. Tiap-tiap statement ditulis dengan diawali oleh suatu nomor baris atau nomor statement. Bila tidak diberi nomor baris maka akan langsung dikerjakan (secara direct mode). Program BASIC mempunyai struktur sebagai berikut : Nomor baris <statement>
Variabel : adalah nama atau simbol yang digunakan untuk mewakili suatu nilai. Nilai dari variabel dapat berubah-ubah di dalam proses program. 10 C=10 20 F=1.8 * C + 32 30 PRINT F
Elemen-Elemen Statement Statemen dibentuk dari elemen-elemen lain yang diawali dengan suatu verb. Konstanta Nilai yang sudah pasti di dalam program dan nilainya tidak berubah selama proses program. Di dalam BASIC dikenal 2 macam konstanta yaitu : Konstanta Numerik Nilai numerik yang sudah pasti di dalam program, yang ditulis tidak diantara tanda petik dua (“). Dapat berupa konstanta integer, fixed point constant, floating point constant, hexadecimal constant dan octal constant. Konstanta Non numerik Disebut konstanta string atau literal string yaitu nilai yang disajikan dalam tanda petik dua (“) Panjang maksimum konstanta string 254 karakter.
2. Variabel Syarat penulisan nama variabel : Boleh gabungan antara huruf, angka dan titik, tetapi karakter pertama harus berupa huruf. Contoh : A,A2,NILAI,P3K,MODAL,ALI Panjang nama variabel maksimum 40 karakter Contoh : NOMERMAHASISWA Tidak boleh ada “blank” atau dipisahkan dengan kosong/spasi diantara karakter-karakter. Tidak boleh ada “special karakter”, kecuali yang mempunyai maksud tertentu untuk variabel, yang harus diletakkan paling belakang dari nama variabel. Karakter khusus yang diijinkan : $,%,! Dan # Contoh : NAMA$,NOURUT!,X#,JUMLAH%. Spesial karakter $, menunjukkan variabel adalah variabel string, berisi nilai huruf. Spesial karakter #! menunjukkan variabel adalah variabel numerik ketepatan tunggal, berisi nilai angka ketepatan 7 digit.
Spesial karakter #, menunjukkan variabel adalah variabel numerik ketepatan ganda, berisi nilai angka ketepatan lebih. Spesial karakter %, menunjukkan variabel adalah variabel numerik integer, berisi nilai angka bulat. Nama variabel yang tidak mengandung spesial karakter adalah nama variabel numerik single precision (sama dengan nama variabel yang mengandung spesial karakter). Nama variabel tidak boleh sama dengan BASIC reserved word. Jenis-jenis Variabel : Variabel Numerik ketepatan tunggal (single precision), dapat mewakili nilai berkisar dari 2.938736 x 10-39 sampai dengan 1.701412 x 1038 dengan ketepatan 7 digit. Biasanya dibelakang variabel ini diberi tanda !. Contoh : 10 A=22/7 20 B!=20/3 30 PRINT A 40 PRINT B!
Variabel numerik ketepatan ganda (double precision), dapat mewakili nilai berkisar antara 2.938745877055719 x 10-39 sampai dengan 1.701411834604692 x 1038 dengan ketepatan samapai dengan 16 digit. Biasanya variabel ini ditunjukkan dengan tanda # diakhir namanya. Contoh : 10 A#=22/7 20 B#=22/7# 30 PRINT A# 40 PRINT B# RUN 3.142857074737549 3.142857142857143 Variabel numerik bulat/integer, mengandung nilai bulat berkisar dari nilai –32768. Bila nilai yang diberikan oleh variabel ini berupa nilai pecahan, maka akan dibulatkan ke bawah bila nilai pecahannya kurang dari setengah dan dibulatkan keatas jika nilainya lebih besar atau sama dengan setengah.
Contoh : 10 A%=22/7 20 B%=20/3 30 PRINT A% 40 PRINT B% Variabel string, yaitu variabel yang dapat menyimpan nilai string. Variabel string ditunjukkan oleh namanya yang diakhiri dengan karakter khusus $. Contoh : 10 NAMA$=”Muthia Eka Dyah Palupi” 20 PRINT NAMA$ 3. Operator Aritmetic operator : (), ^ atau , * , / , | , MOD, + , - Relational operator : <, >, <= , >= , = , <> Logical operator : NOT, AND, OR , XOR, EQV, IMP
4. Ungkapan (Expression) Ungkapan Numerik Disebut juga dengan ungkapan matematis (angka-angka), adalah ungkapan yang semua operan-operannya (variabel, konstanta, atau hasil fungsi) brertipe numerik. Contoh : Z = 1/(X^2+y^3) 2. Ungkapan String Disebut dengan ungkapan alphanumerik, adalah ungkapan yang semua operannya ( var.,konst, atau hasil fungsi) bertipe string. Contoh : 10 A$=”BAHASA” 20 PRINT “LATIHAN”+A$+”BASIC” 3. Ungkapan Hubungan Adalah ungkapan yang menggunakan operator hubungan untuk membandingkan dua buah nilai operand. Ungkapan ini banyak ditemui pada statement IF untuk menyeleksi kondisi dua buah operand guna mengetahi bagaimana hubungannya.
Contoh : 10 A=25 20 IF A>5 THEN PRINT “A LEBIH BESAR DARI 5” 4. Ungkapan Logika Ungkapan yang dibentuk dengan menggunakan operator logika. Operand dari ungkapan ini semuanya harus berbentuk nilai-nilai logika. Contoh : 150 IF NILAI.TUGAS$<”D”AND NILAI.UJIAN>55 THEN 180 Ungkapan ini akan menghasilkan nilai benar atau salah, tergantung dari kondisi yang diseleksinya, apakah benar NILAI.TUGAS<”D” dan NILAI.UJIAN>55 Jika keduanya benar, maka hasil dari ungkapan ini adalah benar. Hasil dari operator logika AND akan bernilai salah bila salah satu ada yang salah.
Statement Input-Output
Statement LET Digunakan untuk memasukan sebuah nilai/harga kedalam suatu variabel dimana darga suatu variabel boleh berubah. B.U. LET var = nilai Contoh : LET A = 9 LET B = 4 LET B = A LET NAMA$ = “SAYA”
Statement REM digunakan untuk memberikan komentar program, yaitu ; Judul program Penjelasan program Keterangan tentang langkah-langkah program,dsb. Statement REM dapat diletakkan dimanapun didalam program, baik diawal peogram, ditengah program, diakhir program tanpa mempengaruhi proses program. Contoh : REM PROGRAM LUAS PERSEGI PANJANG LET PANJANG = 5 LET LEBAR = 4 REM PROSES LUAS = PANJANG * LEBAR
Statement PRINT Digunakan untuk menampilkan data dari hasil pengolahan pada layar tampilan. Data yang ditampilkan dapat merupakan ekspresi. B. U. PRINT [deretan ekspresi] Ket : ekspresi adalah himpunan karakter numerik dan atau string yang dapat dipisahkan dengan ( , dan ; ) Pada penulisan statement PRINT dapat menggunakan pemisah ( , dan ; )untuk mengatur jarak tampilan pada layar. (,) untuk mengatur tampilan dalam zona tertentu jarak 11-14 spasi(kolom) dalam satu layar terdapat 80 kolom (;) mengatur jarak kira-kira satu spasi(kolom)
Statement READ-DATA Statement READ akan membaca nilai-nilai yang didefinisikan dalam statement DATA kedalam variabel yang ada dalam instruksi READ. Statement READ-DATA dapat digunakan untuk membaca deretan nilai yang berbeda jenisnya. Statement DATA dapat diletakan dimana saja, namun disarankan untuk meletakkannya diawal atau akhir program guna mempermudah pencariannya. Jenis variabel harus sama dengan jenis datayang dibaca. Apabila jenis variabel tidak sama dengan jenis data yang dibac maka BASIC akan menampilkan pesan kesalahan.
Jumlah data harus sama atau lebih besar dari jumlah variabel Jumlah data harus sama atau lebih besar dari jumlah variabel. Apabila terdapat kekurangan data maka BASIC akan menampilkan pesan kesalahan OUT OF DATA dan program akan dihentikan. 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 END
Statement RESTORE Nilai yang tertera ada statement DATA hanya dapat dibaca satu kali saja dengan instruksi READ, statement RESTORE menyebabkan data yang sama dibaca sekali lagi dengan nama variabel yang dapat berbeda. B.U. RESTORE [ label I Baris ] Ket : jika label atau baris tidak didefinisikan maka statement RESTORE akan mengembalikan pembacaan 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 digunakan untuk membaca nilai data yang diketikkan lewat papan ketik dan memberikan nilai data tersebut pada suatu variable yang ditulis di belakang statemen input. Dengan statemen INPUT program dapat membaca data tipe numeris, dan atau string. Bentuk umum statemen INPUT adalah : INPUT [ prompt {; | ,} ] daftar Dengan Prompt : untai string sebagai prompt Daftar : daftar nama variable yang nilainya akan dibaca lewat papan ketik; antara satu variable dengan variable yang lain harus dipisahkan tanda baca koma.
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 Maksud dari statemen ini adalah hendak memasukkan data ke dalam variable string dengan menganggap bahwa seluruh data yang dimasukkan dianggap terdiri hanya 1 data item, walaupun dipisahkan oleh koma. Jika dibandingkan dengan statemen INPUT antara data item yang dipisahkan dengan koma dianggap lebih dari 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 ; alih beryarat Statement IF-THEN digunakan untuk memeriksa sebuah kondisi dan mengeksekusi satu atau lebih baris program, jika dan hanya jika kondisi terpenuhi. Instruksi IF-THEN dengan syarat tunggal, merupakan instruksi untuk memeriksa sebuah kondisi saja. Instruksi IF-THEN dengan syarat majemuk, merupakan sebuah instruksi untuk memeriksa lebih dari satu buah kondisi. Kondisi-kondisi tersebut dihubungkan dengan operator-operator logika, seperti AND atau OR. Statement IF-THEN juga digunakan untuk memeriksa kondisi dari data string. Apabila kondisinya terpenuhi maka baris-baris program akan dieksekusi.Untuk pemeriksaan kondisi data string digunakan operator relasi yang akan mendeteksi nilai 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 ; alih tanpa syarat Statement GO TO digunakan untuk mengubah urutan eksekusi program ke baris instruksi yang ditunjukkan oleh nomor baris atau label. B. U. GO TO [ nomor baris 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 Digunakan untuk mengatur jarak ekspresi ke ekspresi berikutnya pada satu baris pencetakan atau memungkinkan kita mengatur mulai kolom keberapa hasil dicetak. 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 Digunakan untuk menampilkan informasi yang berupa nilai variabel dengan format yang rapi, biasanya digunakan dalam pencetakan tabel-tabel. B. U. PRINT USING Format Tampilan; Deret Ekspresi Ket : Format menunjukkan format pencetakan yang berupa ekspresi string yang berisi sejumlah karakter Deret Ekspresi adalah ungkapan yang nilainya akan dicetak
Contoh NAMA$ = “Maria Herjani” N = 95.65 PRINT USING “ NAMA : \ \ NILAI ###.## “; NAMA$,N Ket : \ \ 7 karakter diisi dengan 7 huruf sesuai dengan jumlah spasi yang berada diantara tanda backslash tsb. Output : Maria H NILAI 95.65
PENGULANGAN DAN PEMBACAAN DATA
1. Pengulangan Tunggal Untuk menghindari penulisan instruksi secara berulangan (looping), BASIC menyediakan statement FOR-NEXT. Dimana banyaknya iterasi pengulangan dapat ditentukan. Perhatikan contoh 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” 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 Pengulangan jamak dikenal sebagai Nested Looping yang merupakan pengulangan yang terjadi di dalam suatu pengulangan. Perhatikan bentuk bagan di bawah ini : pada bagan di atas terlihat bahwa di dalam statement FOR I ……NEXT I terdapat pengulangan lain yaitu statement FOR J …….. NEXT J
Contoh CLS PRINT “ VARIABEL I VARIABEL J “ 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 “ -------------------------------------------------“ NEXT I END
OUTPUT : VARIABEL I VARIABEL J ========================== 1 1 2 3 4 5 -------------------------------------------------- 2 1 3 1
PERINTAH WHILE …WEND Statement WHILE ….. WEND merupakan alternatif lain untuk melakukan pengulangan proses. WHILE kondisi1 Statement1 -------------- Blok-1 -------------- WEND
PRINT “PROSES PENGULANGAN SELESAI” CLS HITUNG = 0 WHILE HITUNG < 7 PRINT HITUNG HITUNG = HITUNG + 1 WEND PRINT “PROSES PENGULANGAN SELESAI” PRINT “KARENA NILAI VARIABEL HITUNG = “; HITUNG END OUTPUT : 1 2 3 4 5 6 PROSES PENGULANGAN SELESAI KARENA NILAI VARIABEL HITUNG = 7
PERINTAH DO LOOP Statement DO LOOP merupakan alternatif lain pengulangan proses. Cara kerjanya mirip statement WHILE ….. WEND. Namun statement DO LOOP lebih fleksibel, sebab pada statement DO LOOP terdapat fasilitas untuk keluar dari pengulangan, tanpa harus memenuhi kondisi yang telah ditetapkan. Ada 4 macam statement DO LOOP, yaitu: DO WHILE ….. LOOP DO UNTIL ….. LOOP DO ….. LOOP WHILE DO ….. LOOP UNTIL
PERINTAH DO WHILE ….. LOOP Perhatikan bagan di bawah ini : 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 ini mempunyai bentuk sebagai berikut : 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 Pengulangan akan berakhir jika kondisi1 bernilai benar. JWB$ = “ “ DO Statement1 ------------- Blok-1 ------------- LOOP WHILE kondisi1 CLS INPUT JWB$ LOOP WHILE JWB$ <> “Y” AND JWB$ <> “Y” END
PERINTAH DO … LOOP UNTIL Statement1 …………. Blok1 …………. LOOP UNTIL kondisi1 Pengulangan di dalam blok statement akan berakhir jika kondisi1 telah terpenuhi atau bernilai benar. JUMLAH = 0 CLS JUMLAH = JUMLAH + 1 PRINT “********************” LOOP UNTIL JUMLAH = 5 END
PERINTAH EXIT DO Statement EXIT DO merupakan suatu cara untuk keluar dari proses pengulangan di dalam blok statement DO …. LOOP. Perhatikan bagan di bawah ini : 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