BAHASA KOMPUTER
Agar manusia dapat berkomunikasi dengan komputer maka dibutuhkan suatu bahasa komunikasi yaitu bahasa komputer. Dengan bahasa ini komputer dapat memahami dan mengerti perintah-perintah yang kita berikan kepadanya.
Sebenarnya, komputer tidak mengerti perintah-perintah yang kita tulis menggunakan bahasa tertentu. Namun di dalam komputer tersebut terdapat penterjemah bahasa yang kita gunakan menjadi bahasa yang dimengerti oleh komputer yaitu compiler atau interpreter, keduanya merupakan suatu program. Jenis bahasa pemrograman komputer dibagi menjadi dua bagian yaitu bahasa tingkat rendah (yang agak sulit dimengerti bagi orang awam) dan bahasa tingkat tinggi (yang dapat di mengerti oleh manusia).
Bahasa Pemrograman Tingkat Rendah
Bahasa ini dibagi menjadi dua macam, yaitu Bahasa Mesin dan Bahasa Rakitan (Assembly). Dalam Bahasa Mesin semua perintah disandikan dengan deretan-deretan bit (binary digit) yang hanya mempunyai nilai digit 1 atau 0. Sedangkan dalam Bahasa Rakitan, perintah-perintah tersebut bisa digantikan dengan kode sandi yang bisa dipahami oleh manusia yaitu mnemonic code, Setiap mikroprosesor, mempunyai mnemonic code yang berlainan.
Bahasa Pemrograman Tingkat Tinggi
Bahasa pemrograman ini merupakan bahasa komputer yang mudah dipahami karena menggunakan bahasa percakapaan manusia sehari-hari. Diantaranya adalah:
Ada Diambil dari nama Augusta Ada Bryton, bangsawan dari Loveland, puteri Lord Byron; bahasa ini dikembangkan sekitar tahun 1974 dan 1980 untuk Departemen Pertahanan Amerika Serikat.
ALGOL ALGOrithmic Language (Bahasa Algoritma)
APL A Programming Language
BASIC Beginner’s All Purpose Symbolic Intsruction Code. Bahasa ini dikembangkan oleh John Kemeny dan Thomas Kutrz, digunakan untuk memberi kuliah mahasiswa di Dartmouth College tentang bagaimana menggunakan komputer.
C Dikembangkan oleh Bell Laboratories pada tahun 1970, bahasa ini sangat powerfull dan sering digunakan untuk membuat Sistem Operasi contohnya MS-DOS, LINUX, UNIX serta aplikasi DBASE, AUTOCAD dan game-game yang banyak kita jumpai. Ada yang mengatakan bahasa ini merupakan bahasa tingkat menengah karena sintaks bahasanya mirip bahasa tingkat tinggi dan mempunyai kemampuannya seperti bahasa tingkat rendah.
COBOL Common Business-Oriented Language. Bahasa ini dikembangkan di Departemen
Pertahanan Amerika Serikat pada tahun 1960
FORTRAN Formula Translation, dikembangkan sekitar tahun 1956.
LISP List Processor
Pascal Diambil dari nama seorang sarjana Perancis Blaise Pascal. Pertama kali dikembangkan oleh Niklauss Wirth, seorang ahli ilmu komputer dari Swiss, pada tahun 1970.
PL/I Programing Language I, dikembangkan oleh IBM pada tahun 1964
PROLOG Programming Logic, bahasa yang digunakan untuk menyusun Expert System
RPG Report Program Generator
SNOBOL String Oriented Symbolic Language
Algoritma
Perlu anda ingat bahwa dalam membuat algoritma anda harus mempunyai konsep IPO (Input, Proses dan Output). Langkah-langkah yang harus dilakukan dalam membuat algoritma adalah sebagai berikut:
- Identifikasi masalah yang ada
- Tentukan tujuan dari pemecahan masalah tersebut
- Analisa input-input apa saja yang berhubungan dengan masalah tersebut
- Cari proses-proses yang dapat menghasilkan tujuan berdasarkan input-input yang ada.
INPUT PROSES OUTPUT
Untuk mempermudah penjelasan dari Algoritma tersebut digunakan suatu diagram yang disebut diagram alur (Flowchart). Diagram alur digambarkan dengan menggunakan symbol-simbol sebagai berikut:
Terminator Menunjukkan awal kegiatan atau akhir kegiatan dari suatu program
Input/
Output Data Mewakili data input atau output dalam program
Proses Proses data yang dilakukan oleh komputer
Decision Percabangan dengan keputusan “ya” atau “tidak”
Document Mencetak data ke dalam bentuk dokumen
Display Menampilkan data ke monitor
Direct
Data Merekam dan mengambil data dari Database
Manual
Operation Proses yang dilakukan secara manual
Manual Input
Input data secara manual
Penghubung suatu diagram ke diagram lain
Preparation Operasi persiapan untuk langkah selanjutnya
Contoh penggunaan flowchart pada suatu algoritma adalah sebagai berikut:
Pada hari ini Dzakwan dan Ani ingin berangkat ke kantor bersama-sama. Ani harus menunggu Dzakwan di rumah sampai jam 6.00 pagi, jika lebih dari jam 6.00 pagi maka Ani akan pergi ke rumah Dzakwan untuk menjemputnya, namun jika Dzakwan sudah berangkat terlebih dahulu maka Ani akan berangkat sendiri ke kantor.
Flowchart:
Mulai
Ani Dzakwan
Ani menunggu
Dzakwan datang ?
Ani & Dzakwan berangkat bersama
Selesai
Jam < 6.00 pagi
Ani menjemput Dzakwan
Dzakwan ada di rumah?
Ani berangkat sendiri
Selesai Ya
Tidak
Tidak
Tidak Ya
A Ya
Bahasa Pemrograman BASIC
Bahasa pemrograman ini dikembangkan oleh John G. Kemeny, profesor dari Dartmourth College, beserta Thomas E. Kurtz pada tahun 1960. BASIC merupakan singkatan dari Beginner’s All purpose Symbolic Instruction Code di ditujukan untuk kalangan mahasiswa sebagai pengenalan menggunakan Komputer pada saat itu. Compiler dan interpreter yang dikembangkan untuk bahasa ini antara lain adalah:
• GWBASIC • BASICA
• QUICK BASIC (QBASIC) • TURBO BASIC
Menggunakan Microsoft QuickBASIC
Ms. QuickBASIC berjalan di sistem operasi DOS dengan bentuk tampilan adalah sebagai berikut:
Suatu program yang ditulis dengan bahasa Basic terdiri dari kumpulan pernyataan (statement). Pada Gwbasic atau Basica, setiap pernyataan harus diawali dengan nomor baris atau nomor statement sedangkan jika menggunakan Qbasic, nomor tersebut boleh tidak digunakan (Optional). Contohnya adalah sebagai berikut:
Perintah-perintah yang umum digunakan adalah: - <File New> Membuat file basic baru - <File Save> Menyimpan file basic
- <Run Start> Menjalankan program basic (SHIFT+F5) - <Run Continue>Menlanjutkan eksekusi program basic (F5) - <Run Restart> Merestart ulang eksekusi program basic
Elemen-elemen dari statement terdiri dari:
- Expression (konstanta, variabel, operator matematika, operator logika) - Selection (pemilihan keputusan)
- Iteration (pengulangan dalam suatu pernyataan)
- Jump (Pelompatan dari satu pernyataan ke pernyataan lain) - Label (label yang digunakan untuk alamat pelompatan)
- Block (fungsi dan prosedur yang merupakan bagian dari program)
GWBasic:
10 Let A=5 20 Let B=6 30 C=A+B 40 Print C 50 End
QBasic:
Konstanta
Nilai konstanta merupakan nilai yang sudah pasti dan tidak akan berubah selama proses program berlangsung. Komputer mengenal dua jenis nilai dasar yang terdiri dari numerik dan non-numerik (Alphanumerik), maka konstanta terdiri dua jenis nilai tersebut. Contoh:
Print 5 {konstanta numeric}
Print “89” {konstanta non-numeric}
Print “Dzakwan” {konstanta non-numeric}
Untuk nilai non-numerik dalam penulisannya harus di apit tanda kutip (“ “), umumnya nilai non-numerik disebut dengan string ($) yaitu nilai yang terdiri dari kumpulan beberapa karakter.
Variabel
Variabel merupakan nama atau symbol yang digunakan untuk menampung suatu nilai. Nilai dari variabel dapat diubah selama dalam proses program. Contoh:
A = 5 {A adalah variabel dan 5 adalah konstanta}
Nama$=”Dzakwan” {Nama$ adalah variable string yang berisi karakter-karakter}
B = A {B adalah variable yang menerima nilai dari variabel A}
Syarat-syarat penamaan variabel adalah sebagai berikut:
- karakter pertama harus dimulai dengan huruf dan karakter selanjutnya bebas (angka atau huruf). - Panjangnya maksimum 40 karakter
- Tidak mengandung spasi atau karakter-karakter khusus seperti $,%,!,#,* dll. (berbeda pengertiannya dengan variable Nama$, ini berarti nama variabelnya adalah “Nama” tanda $ setelah nama varaibel tersebut berarti tipe datanya adalah non-numerik)
- Nama variable tidak boleh sama dengan reserved words (if, while, wend, next, end if, dll).
Dalam membuat suatu variabel dapat dilakukan secara langsung atau dengan cara dideklarasikan terlebih dahulu. Untuk cara langsung contohnya adalah sebagai berikut:
Nilai% = 5 { variable nilai memiliki tipe data integer }
Atau dengan cara dideklarasikan terlebih dahulu
DIM Nilai AS INTEGER Nilai = 5
Operator
Angka dan variabel dapat digabungkan dengan operator untuk menyatakan suatu maksud. Jenis-jenis operator terdiri dari:
Arithmetic Operator (digunakan untuk perhitungan matematika):
Operator Keterangan Prioritas
( ) Kurung pemisah 1
^ Pemangkatan 2
* Perkalian 3
/ Pembagian 3
\ Pembagian dengan hasil bulat 4
MOD Modulus / Sisa bagi 5
+ (Numerik: Penjumlahan, Non-Numerik: Penggabungan) 6
- Pengurangan 6
Relational Operator (digunakan untuk menunjukkan g\hubungan tertentu dari dua elemen):
<= Lebih kecil atau sama dengan >= Lebih besar atau sama dengan = Sama dengan
<> Tidak sama dengan
Logical Operator terdiri dari NOT, AND dan OR.
Tipe Data
Tipe-tipe data yang disediakan oleh Basic antara lain:
Data Type Declaration Maximum Minimum
Strings $ 32,767 chars. 0 chars.
Integers % 32,767 -32,768
Long Integers & 2,147,483,647 -2,147,483,648 Single (7-digit) precision ! ±3.402823 E+38 ±1.401298 E-45 Double (15-digit) precision # ±1.7976931 D+308 ±4.940656 D-324 User Define Type
Untuk tipe data yang didefinisikan oleh user, contohnya adalah:
TYPE data_ku
Nama AS STRING * 40 Kelas AS STRING*10 Nilai AS Double END TYPE
OPERASI STRING
Penggabungan String Merupakan kombinasi dua atau lebih string dengan menggunakan operator “+”.
Contoh:
A$ = “ MICROSOFT “ B$ = “ QUICKBASIC “ C$ = A$ + B$
D$ = A$ + B$ + “KOMPILER” PRINT “C$ = “; C$
PRINT “D$ = “; D$
Hasil program di atas adalah:
C$= MICROSOFT QUICKBASIC
D$= MICROSOFT QUICKBASIC KOMPILER
Fungsi-fungsi manipulasi String
Fungsi LEFT$, RIGHT$, MID$
Fungsi ini digunakan untuk mengambil sejumlah karakter dimulai dari karakter paling kiri (LEFT$), dari kanan (RIGHT$), atau sembarang posisi (MID$).
Bentuk Umum:
{ LEFT$ | RIGHT$ } (untai1, jumlah) MID$ (untai1, nomor [,jumlah] ) Dengan:
Untai1 : string yang akan diambil karakternya Nomor : nomor awal karakter yang akan diambil Jumlah : jumlah karakter yang akan diambil.
kalimat$ = “QuickBASIC Release 4.5, Microsoft” PRINT LEFT$(kalimat$,10)
PRINT RIGHT$(kalimat$,5) PRINT MID$(kalimat$,5,10) PRINT MID$(kalimat$,6)
Hasil keluarannya:
QuickBASIC osoft KBasic Rel
BASIC Release 4.5, Microsoft
Fungsi STRING$
Fungsi ini digunakan untuk membangkitkan sejumlah karakter tertentu.
BU:
STRING$ ( panjang, {karakter|kodeascii} ) Dengan
Panjang : panjang karakter yg akan dibangkitkan Karakter : karakter yg akan dibangkitkan.
Kodeascii : kode ASCII dari karakter yg akan dibangkitkan.
Contoh:
PRINT STRING$(5,”A”) PRINT STRING$(5,”-”)
PRINT STRING$(5,205) ‘kode ascii 205 adalah bentuk =
Ouput:
AAAAA
---
=====
Fungsi SPACE$
Digunakan untuk membuat spasi dengan panjang tertentu.
BU:
SPACE$(panjang)
Dengan:
Panjang = menunjukkan banyaknya spasi.
Fungsi LEN (string)
Digunakan untuk mendapatkan jumlah karakter dari suatu string.
Contoh PROGRAM
CLS
INPUT "NAMA ANDA : ", nama$ jum = LEN(nama$)
FOR a = 1 TO jum
PRINT LEFT$(nama$, a) 'PRINT MID$(nama$, a, 1) NEXT a
END
NAMA ANDA : Jhon Keboy
J Jh Jho Jhon Jhon Jhon K Jhon Ke Jhon Keb Jhon Kebo Jhon Keboy
Contoh Operasi Matematika:
DIM A, B AS SINGLE
CLS
INPUT "Masukan Nilai A = ", A INPUT "Masukan Nulai B = ", B PRINT A; " + "; B; " = "; A + B PRINT A; " - "; B; " = "; A - B PRINT A; " x "; B; " = "; A * B PRINT A; " / "; B; " = "; A / B PRINT A; " MOD "; B; " = "; A MOD B PRINT A; " ^ "; B; " = "; A ^ B END
Bentuk tampilan program:
Masukan Nilai A = 14 Masukan Nulai B = 9 14 + 9 = 23 14 - 9 = 5 14 x 9 = 126 14 / 9 = 1.555556 14 MOD 9 = 5
14 ^ 9 = 2.066105E+10
Statement Kendali & Pemilihan
Merupakan statemen yang digunakan untuk mengubah urutan eksekusi program dari urutan semula (secara berurutan) menjadi urutan yang sembarang.
Statemen ini dibagi menjadi 4 kelompok yaitu: Statemen kendali tak bersyarat, (GOTO)
Statemen kendali bersyarat/pemilihan, (IF…THEN, SELECT… CASE)
Statemen kendali proses berulang/iteration, (FOR … NEXT, DO … LOOP, WHILE … WEND)
Statemen kendali terhitung, ( ON GOTO, ON GOSUB, ON ERROR GOTO, ON ERROR GOSUB)
STATEMEN GOTO
Berguna untuk melompatkan proses eksekusi ke suatu baris yang diberi nomor baris atau label tanpa harus mengetest suatu kondisi.
Bentuk Umum : GOTO { nomor baris | nama label } Contoh pada gambar di samping:
Mulai
Nama$ Alamat$
“Hallo…”;Nama$ “Alamatnya di “;Alamat$
GOTO
“Selesai…..”
STATEMEN IF… THEN …ELSE
Merupakan statemen kendali yang selalu melakukan test terhadap kondisi tertentu.
Contoh:
Statmen ini dibagi menjadiu dua bagian yaitu • Statemen IF…THEN ELSE satu baris • Statemen IF…THEN ELSE banyak baris
a. STATEMEN IF…THEN..ELSE satu baris
Bentuk Umum : IF kondisi Then {statemen 1 | nobar 1 | GOTO label 1} [ ELSE {statemen 2 | nobar 2 | GOTO label 2} ]
dengan
kondisi : syarat yang akan ditest
statemen1,statemen2 : statemen yang akan dikerjakan
nobar1,nobar2 : nomor baris yang akan dituju
label1,label2 : label baris yang dituju
Ekspresi
Statement berikutnya
Statement 1
Tidak Ya
IF (Ekspresi) THEN Statement 1 End IF
Statement berikutnya
Ekspresi
Statement 2
Statement 1
Tidak Ya
IF (Ekspresi) THEN Statement 1 ELSE Statement 2 End IF
Statement berikutnya Statement berikutnya
b. Statemen IF…THEN…ELSE banyak baris Bentuk Umum:
IF kondisi1 THEN statemen1 [ELSEIF kondisi2 THEN
[statemen2]] .
. [ELSE
[statemen n]] END IF
Contoh:
Mulai
Nama$ Alamat$
“Hallo…”;Nama$ “Alamatnya di “;Alamat$
“Selesai…..”
Selesai Lagi$
Lagi$=”Y”
M ulai
STATEMEN SELECT CASE
Statemen SELECT CASE mempunyai kegunaan yang hampir sama dengan statemen kendali
IF…THEN…ELSE banyak baris.
Perbedaan kedua statemen ini adalah pada statemen SELECT CASE kondisi yang ditest hanya sebuah, dan proses eksekusi akan diteruskan ke bagian tertentu dari suatu program berdasar nilai kondisi yang ditest.
Bentuk Umum:
SELECT CASE ungkapan CASE nilai1
REM Contoh pemakaian REM IF..THEN..ELSE
REM Contoh Pemakaian REM SELECT CASE
REM ******************
ungkapan : sembarang ungkapan (numeris atau non-numeris)
nilai1,nilai2 … : nilai-nilai dari parameter ungkapan statemen1,statemen2 : statemen-statemen yang akan
Contoh Program dengan Teknik <Switch>:
flag = 0 mulai:
INPUT "Press 1 for change and 0 for exit : ", btn$ CLS
SELECT CASE btn$ CASE "1"
IF flag = 1 THEN
PRINT "LAMPU MENYALA" flag = 0
ELSE
PRINT "LAMPU PADAM" flag = 1
END IF CASE "0" END END SELECT GOTO mulai END
Statement Kalang (loop) / Iteration
Proses berulang (kalang) yaitu memproses sejumlah pernyataan beberapa kali, sampai suatu kondisi terpenuhi atau sebaliknya.
Contoh:
CLS
INPUT “Banyaknya data: ”, Max Jumlah = 0
counter = 1 ; ‘variabel pencacah
ISIDATA:
PRINT “Isikan data ke ”; Counter; “: ”; INPUT Nilai
Jumlah = Jumlah + Nilai
IF Counter = Max THEN GOTO CETAKHASIL Counter = Counter + 1
GOTO ISIDATA
CETAKHASIL:
PRINT “Jumlah Semua data : ”; Jumlah PRINT “Selesai..”
END
Statement FOR…NEXT
Bentuk Umum:
FOR pencacah = awal TO akhir [STEP langkah] [Statemen]
NEXT [pencacah]
Dengan
pencacah : banyaknya proses dengan nama sembarang variabel numerik yg berfungsi mengendalikan berulang.
awal : nilai awal atau batas bawah pencacah.
akhir : nilai akhir atau batas atas pencacah.
Mulai
Max
Jumlah=0 Counter = 1
Nilai
Jumlah = Jumlah + Nilai
Counter = Max Counter = Counter + 1
Jumlah
Selesai Ya
langkah : pertambahan nilai pencacah.
statemen : statemen-statemen yg akan diproses ulang.
Contoh:
CLS
INPUT “Banyaknya data : ”,Max Jumlah = 0
FOR Counter = Counter TO Max
PRINT “Isikan data ke”;Counter; “:”; INPUT Nilai
Jumlah = Jumlah + Nilai NEXT Counter
PRINT “Jumlah data:”; Jumlah PRINT “Selesai”
END
Kalang Bersarang (nested loop)
Adalah statemen berulang yang berada di dalam statemen berulang lainnya.
FOR I = 1 TO 10 FOR J = 1 TO 5 PRINT I,J,I*J NEXT J
NEXT I
Nested loop tidak berpotongan (Benar)
FOR I = 1 TO 10 FOR J = 1 TO 5 PRINT I,J,I*J NEXT I
NEXT J
Nested loop berpotongan (Salah)
Statement WHILE…WEND
Bentuk Umum :
WHILE kondisi
[statemen] WEND
Dengan
kondisi : syarat yg hrs dipenuhi agar proses berulang bisa berlangsung.
statemen : statemen yg akan diproses ulang.
Contoh
CLS
INPUT “Banyaknya data : ”,n JumlahData = 0
I = 1 ‘variabel pencacah
WHILE I <= n
PRINT “Isikan data ke”;I; “:”; INPUT dataKe
JumlahData = JumlahData + dataKe I = I + 1
WEND
PRINT “Jumlah data:”; JumlahData PRINT “Selesai”
END
Mulai
Max
Jumlah=0
Nilai
Jumlah = Jumlah + Nilai
Jumlah
Selesai For Counter = 1 To Max
Statement DO…LOOP
Penggunaan statemen ini hampir sama dengan WHILE…WEND, namun dalam pemakaian DO…LOOP proses berulang bisa dilaksanakan selama suatu kondisi bernilai benar atau salah dan kondisi yang ditest bisa diletakkan di awal atau di akhir statemen ini.
Bentuk Umum:
Kondisi di awal statemen
DO [ { WHILE | UNTIL } kondisi ] Statemen
LOOP
Kondisi di akhir statemen
DO
Statemen
LOOP [ { WHILE | UNTIL } kondisi ]
Contoh kondisi di awal statemen
Contoh kondisi di akhir statemen
CLS
INPUT “Banyaknya data : ”,n JumlahData = 0
I = 1 ‘variabel pencacah
DO WHILE I <= n
PRINT “Isikan data ke”;I; “:”; INPUT dataKe
JumlahData = JumlahData + dataKe LOOP
PRINT “Jumlah data:”; JumlahData PRINT “Selesai”
END
CLS
INPUT “Banyaknya data : ”,n JumlahData = 0
I = 1 ‘variabel pencacah
DO UNTIL I > n
PRINT “Isikan data ke”;I; “:”; INPUT dataKe
JumlahData = JumlahData + dataKe LOOP
PRINT “Jumlah data:”; JumlahData PRINT “Selesai”
END
CLS
INPUT “Banyaknya data : ”,n JumlahData = 0
I = 1 ‘variabel pencacah
DO
PRINT “Isikan data ke”;I; “:”; INPUT dataKe
JumlahData = JumlahData + dataKe LOOP WHILE I <= n
PRINT “Jumlah data:”; JumlahData PRINT “Selesai”
END
CLS
INPUT “Banyaknya data : ”,n JumlahData = 0
I = 1 ‘variabel pencacah
DO
PRINT “Isikan data ke”;I; “:”; INPUT dataKe
JumlahData = JumlahData + dataKe LOOP UNTIL I > n
PRINT “Jumlah data:”; JumlahData PRINT “Selesai”
Statement ON..GOTO, ON ERROR…GOTO, ON…GOSUB, ON ERROR…GOSUB
Bentuk Umum:
ON ungkapan GOTO { nobar | label }
Dengan
ungkapan : ungkapan numeris yg hrs menghasilkan nilai data numeris integer antara 1 – 255.
nobar : nomor-nomor baris yg dituju
label : nama-nama label baris yg dituju.
Contoh
nomor=0
WHILE nomor <= 0 OR nomor > 4 CLS
PRINT “ 1. INPUT DATA” PRINT “ 2. EDIT DATA” PRINT “ 3. HAPUS DATA” PRINT “ 4. EXIT” : PRINT INPUT “PILIHAN ANDA: ”; no WEND
ON nomor GOTO 10,20,30,40
10 PRINT “PROSES INPUT DATA”:GOTO 40 20 PRINT “PROSES EDIT DATA”:GOTO 40 30 PRINT “PROSES HAPUS DATA”:GOTO 40 40 END
Statement GOSUB…RETURN
Statemen ini merupakan salah satu cara untuk memanggil subrutin dan kembali ke program utama. Subrutin yang akan dipanggil dengan statemen ini dikenali dengan label / baris.
Bentuk Umum:
GOSUB { nobar1 / label 1 } .
<statemen> .
RETURN [ { nobar2 / label2 } ]
Dengan
nobar1 : nomor baris awal subrutin label1 : label baris awal subrutin
nobar2 : nomor baris yang dituju setelah subrutin selesai dikerjakan. label2 : label baris yang dituju setelah subrutin selesai dikerjakan.
Statement SUB…END SUB
Bentuk Umum:
SUB nama [ (dafpar) ] .
<statemen> .
[EXIT SUB [ <statemen>] ] END SUB
Dengan
Nama : nama subrutin
Pemanggilan prosedur SUB bisa digunakan dengan salah satu dari kedua cara berikut:
Dengan menggunakan statemen CALL. Bentuk Umum:
CALL nama [ (dafarg) ]
Dengan
Nama : nama subrutin yang akan dipanggil.
Dafarg : daftar variabel yg akan dilewatkan ke dalam prosedur.
Tanpa menggunakan statemen CALL.
menggunakan nama subrutin yang akan dipanggil diikuti dengan daftar argumen yang akan dilewatkan. Dalam hal ini daftar argumen tidak perlu dituliskan di antara tanda kurung.
Statement FUNCTION…END FUNCTION
Merupakan salah satu subrutin yang dapat mengembalikan nilai.
Bentuk Umum:
FUNCTION nama [ (dafpar) ] .
<statemen> .
[EXIT FUNCTION [<statemen>] ] END FUNCTION
Dengan
Nama : nama subrutin
Dafpar : nama-nama variabel yg menunjukkan tipe dan banyaknya argumen yang akan dilewatkan ke dalam prosedur.
Statement SHARED
Digunakan untuk menyatakan bahwa sejumlah variabel akan dapat dimanipulasi baik dari program utama maupun dari dalam prosedur.
Contoh:
DECLARE SUB tambah () DECLARE SUB kali (x, y) DECLARE FUNCTION kurang () DECLARE FUNCTION bagi (x, y) CLS
INPUT "Nilai A = ", A INPUT "Nilai B = ", B GOSUB 100
CALL tambah CALL kali(A, B) kali A, B
d = kurang
PRINT "A - B = "; d
PRINT "A / B = "; bagi(A, B) END
100 A = A + 5
PRINT "Nilai A = "; A RETURN
FUNCTION bagi (x, y) bagi = x / y END FUNCTION
SUB kali (x, y) C = x * y
PRINT "HASIL X . Y = "; C
OUPUT:
Nilai A = 5 Nilai B = 2 Nilai A = 10 A + B = 12
HASIL X . Y = 20 HASIL X . Y = 20 A - B = 8
END SUB
FUNCTION kurang SHARED A, B kurang = A - B END FUNCTION
SUB tambah SHARED A, B C = A + B
PRINT "A + B = "; C END SUB
ARRAY (LARIK)
Array adalah sekumpulan data yang mempunyai tipe data sejenis, misalnya numeris integer atau string, dan diidentifikasikan dengan sebuah nama larik (variabel). Di dalam sebuah array posisi setiap rinci data, disebut dengan komponen atau elemen array, ditentukan oleh index yang menunjukkan letak sebuah elemen dalam sebuah array.
Array Dimensi Satu
Array dimensi satu, juga disebut dengan vektor, yaitu sebuah array yang terdiri dari sejumlah elemen, dan posisi setiap elemen ditentukan oleh sebuah subskrip.
Bentuk Umum:
DIM variabel ({cacah | awal TO akhir }) [AS tipe]
Dengan
cacah : banyaknya elemen larik.
awal : nomor awal index
akhir : nomor akhir index
tipe : tipe data masingmasing elemen
Menggunakan DIM Tanpa DIM
Array Dimensi Banyak
Contoh (Array dimensi DUA)
DIM nilai%(4, 4)
FOR i = 1 TO 4 FOR j = 1 TO 4
READ nilai%(i, j) NEXT j
NEXT i
DIM nilai%(20)
CLS
FOR i = 1 TO 5
PRINT "Isi Nilai ke "; i; INPUT nilai%(i)
NEXT
FOR i = 1 TO 5
PRINT "Nilai ke "; i; " = "; nilai%(i) NEXT
END
CLS
FOR i = 1 TO 5
PRINT "Isi Nilai ke "; i; INPUT nilai%
NEXT
FOR i = 1 TO 5
PRINT "Nilai ke "; i; " = "; nilai% NEXT
FOR i = 1 TO 4
Contoh Soal Praktek
a. Buatlah program BASIC yang memproses penjumlahan dua buah matrik yang mempunyai ordo 2 x 2:
b. Buatlah program BASIC yang berfungsi mengurutkan bilangan acak dari besar ke kecil !
Solusi:
a. PROGRAM Pejumlahan MATRIK ordo 2 x 2
DIM matrixA(2, 2)
DIM matrixB(2, 2), hasil(2, 2)
CLS
PRINT "Input matrik A:" FOR baris = 1 TO 2
PRINT "Input matrik B:" FOR baris = 1 TO 2
REM proses pemjumlahan matrik A + B
FOR baris = 1 TO 2 FOR kolom = 1 TO 2
hasil(baris, kolom) = matrixA(baris, kolom) + matrixB(baris, kolom) NEXT kolom
NEXT baris
b. PROGRAM Pengurut angka
DIM angka(100) CLS
i = 0 DO
i = i + 1
INPUT "Isi angka acak dan 0 jika selesai : ", angka(i) LOOP UNTIL angka(i) = 0
PRINT "angka acak:" FOR k = 1 TO i PRINT angka(k); NEXT
FOR k = 1 TO i FOR j = k TO i
IF angka(k) < angka(j) THEN temp = angka(j)
angka(j) = angka(k) angka(k) = temp END IF
NEXT j NEXT k PRINT
PRINT "angka urut:" FOR k = 1 TO i PRINT angka(k); NEXT
END