• Tidak ada hasil yang ditemukan

Bahasa Pemrograman Tingkat Rendah

N/A
N/A
Protected

Academic year: 2019

Membagikan "Bahasa Pemrograman Tingkat Rendah"

Copied!
18
0
0

Teks penuh

(1)

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

(2)

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

(3)

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

(4)

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:

(5)

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):

(6)

<= 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.

(7)

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$)

PRINT

FOR a = 1 TO jum

PRINT LEFT$(nama$, a) 'PRINT MID$(nama$, a, 1) NEXT a

END

(8)

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…..”

(9)

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”

(10)

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

(11)

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

(12)

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

(13)

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”

(14)

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

(15)

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

(16)

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

PRINT

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

PRINT

FOR i = 1 TO 5

PRINT "Nilai ke "; i; " = "; nilai% NEXT

(17)

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

(18)

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

Referensi

Dokumen terkait

Dalam kebanyakan teori persediaan, komponen biaya pembelian tidak dimasukkan ke dalam biaya total sistem persediaan karena diasumsikan bahwa harga barang per

Tanah merupakan salah satu faktor lingkungan yang mempengaruhi pertumbuhan tanaman dan dapat dimanipulasi melalui teknik silvikultur dalam rangka perbaikan kesuburan

kebijakan yang dibentuk juga dikaitkan dengan masalah polusi udara tersebut, misalnya yaitu. pembatasan penggunaan kendaraan bermotor, batas emisi gas pembuangan, dan

Dengan demikian maka aborsi terhadap wanita yang hamil akibat perkosaan dapat menghilangkan pidana bagi pelakunya dengan alasan medis atau kesehatan.. Pasal 299 KUHP

jadwal penyusunan dan penyerahan laporan realisasi pertanggungjawaban kegiatan harus segera dikumpulkan. BPMPD Kabupaten Buol masih dalam tahap menjalankan

Dari beragam definisi kepuasan konsumen yang telah dikemukakan oleh para ahli pemasaran, dapat disimpulkan bahwa kepuasan konsumen merupakan suatu tanggapan perilaku konsumen

Menentukan tanggung jawab dan wewenang bagi pemegang jabatan, (4) Memberi data yang lebih jelas mengenai performa kinerja bagi atasan, (5) Data analisis jabatan dapat

Akta Perhubungan Perusahaan 1967 adalah undang-undang buruh utama yang mengawal selia perhubungan serta mengekalkan keharmonian industri antara majikan, pekerja