YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

1

1 Bahasa Pemrograman

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.

Komputer dapat memahami perintah-perintah yang kita tulis dengan menerjemahkan bahasa yang kita gunakan menjadi bahasa yang dimengerti oleh komputer (bahasa mesin) menggunakan compileratau interpreter, keduanya merupakan suatu program.

Compiler merupakan penterjemah sumber bahasa program untuk diubah menjadi bahasa mesin dan menyimpannya ke suatu file yang dapat dieksekusi (executable file).

Interpreter juga merupakan suatu penterjemah sumber bahasa program, namun interpretermenerjemahkan baris per baris kode program yang hasilnya langsung disimpan ke dalam memori dan siap untuk di-eksekusi. Proses penerjemahan ini tidak disimpan ke dalam bentuk file yang dapat di-eksekusi, inilah yang membedakan antara interpreter dengan compiler.

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

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

1.2 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 LanguageBASIC 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 ProcessorPascal Diambil dari nama seorang sarjana Perancis Blaise Pascal. Pertama kali

dikembangkan oleh Niklauss Wirth, seorang ahli ilmu komputer dari Swiss, pada tahun 1970.

Page 2: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

2

PL/I Programing Language I, dikembangkan oleh IBM pada tahun 1964PROLOG Programming Logic, bahasa yang digunakan untuk menyusun Expert SystemRPG Report Program GeneratorSNOBOL String Oriented Symbolic Language

1.3 Algoritma

Sebelum memasuki dunia pemrograman terlebih dahulu kita harus mengenal Algoritma dalam pemrograman. Algoritma merupakan urutan langkah-langkah atau instruksi yang ditujukan untuk menyelesaikan suatu permasalahan tertentu. Istilah Algoritma dikenalkan oleh seorang ahli matematika yang bernama Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi. Bila suatu langkah-langkah tersebut akan selesai hanya jika mempunyai atau menghasilkan solusi, dan selalu berulang-ulang jika belum menemukan solusi, maka algortima tersebut masih dikatakan semi 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) program. Diagram alur digambarkan dengan menggunakan symbol-simbol sebagai berikut:

Simbol Keterangan

Simbol titik terminal (terminal point symbol) digunakan untuk menunjukkan awal dan akhir dari suatu proses

Simbol input/output digunakan untuk mewakili data input/ouput. Data didapatkan dari keyboard atau dari berkas yang disimpan dalam media penyimpan (disk).

Simbol proses digunakan untuk mewakili suatu proses.

Simbol garis alir digunakan untuk menunjukkan suatu arus dari proses.

Simbol penghubung (connector symbol) digunakan untuk menunjukkan sambungandari bagan alir yang terputus di halaman yang sama atau di halaman yang berbeda.

Simbol keputusan (decision symbol) digunakan untuk memilih kondisi percabangan di dalam program.

Simbol proses terdefinisi (predefined process symbol) digunakan untuk menunjukkan suatu operasi yang rinciannya ditunjukkan di tempat lain.

Simbol persiapan (preparation symbol) digunakan untuk memberi nilai awal suatu besaran (variabel).

Page 3: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

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

AniDzakwan

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

AYa

A

Page 4: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

4

2 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:GWBASICBASICAQUICK BASIC (QBASIC)TURBO BASIC

2.1 Menggunakan Microsoft QuickBASICMs. 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)

GWBasic:

10 Let A=520 Let B=630 C=A+B40 Print C50 End

QBasic:

A=5B=6C=A+BPrint CEnd

Page 5: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

5

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

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

2.3 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 INTEGERNilai = 5

2.4 OperatorAngka 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

Page 6: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

6

\ Pembagian dengan hasil bulat 4MOD 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 > Lebih besar<= Lebih kecil atau sama dengan>= Lebih besar atau sama dengan= Sama dengan<> Tidak sama dengan

Logical Operator terdiri dari NOT, AND dan OR.

2.5 Tipe DataTipe-tipe data yang disediakan oleh Basic antara lain:

Data Type Declaration Maximum MinimumStrings $ 32,767 chars. 0 chars.Integers % 32,767 -32,768Long Integers & 2,147,483,647 -2,147,483,648Single (7-digit) precision ! ±3.402823 E+38 ±1.401298 E-45Double (15-digit) precision # ±1.7976931 D+308 ±4.940656 D-324User Define Type

Untuk tipe data yang didefinisikan oleh user, contohnya adalah:

TYPE data_kuNama AS STRING * 40Kelas AS STRING*10Nilai AS Double

END TYPE

2.6 Statement Dasar BasicStatement dasar Basic dapat dijelaskan pada bagian berikut ini.

2.6.1 Statement LET • Digunakan untuk memasukan sebuah nilai/harga kedalam suatu variabel.• B.U. LET var = nilai• Harga suatu variabel boleh berubahContoh : LET A = 9

LET B = 4LET B = ALET C = A + BLET NAMA$ = “SAYA”

2.6.2 Statement REM • digunakan untuk memberikan komentar program, yaitu ;

- Judul Program- Penjelasan program - Keterangan mengenai variabel yang digunakan- Keterangan tentang langkah-langkah program,dsb.

• Statement REM dapat diletakkan dimanapun didalam program, baik diawal program, ditengah program, diakhir program tanpa mempengaruhi proses program.

Page 7: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

7

Contoh :REM PROGRAM MENGHITUNG LUAS PERSEGI PANJANGLET PANJANG = 5LET LEBAR = 4REM PROSESLUAS = PANJANG * LEBAR

2.6.3 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 titik koma, koma.

• Pada penulisan statement PRINT dapat menggunakan pemisah ( , dan ; )yang digunakan untuk mengatur jarak tampilan pada layar.

- (,) untuk mengatur tampilan dalam zona tertentu jarak kira-kira 11-14 spasi (kolom) dalam satu layar terdapat 80 kolom

- (;) mengatur jarak kira-kira satu spasiContoh :

LET A = 9 Output dari program tsb :LET B = 4 19 9 10LET B = A + 1 CLET C = A + BPRINT C , A ; BPRINT “C” END

� Modus operasi pada BASIC :1. 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

Ok Ok

2. Modus tidak langsung / Indirect Mode / Program Modemodus ini pada setiap awal program harus diberi nomor baris dan untuk menjalankan program digunakan command RUN

Contoh :10 LET =5

LET B=7PRINT A+BENDRUN12Ok

2.6.4 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” BELAJAREND BAHASA

BASIC

Page 8: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

8

2.6.5 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 EkspresiKet : Format menunjukkan format pencetakan yang berupa ekspresi string yang berisi sejumlah karakter Deret Ekspresi adalah ungkapan yang nilainya akan dicetak

Tabel parameter Format dalam PRINT USINGFormat Digunakan untuk:# Menampilkan nilai numerik biasa dengan digit sebanyak tanda (#)\ \ Menampilkan nilai string sejumlah spasi diantara tanda backslash ^ ^ ^ ^ Mencetak bilangan riil presisi tunggal dan atau presisi ganda menggunakan

format saintifik+# Menampilkan tanda (+) pada nilai positif untuk nilai numerik-# Menampilkan tanda (-) pada nilai negatif pada sebuah nilai numerik$# Menampilkan tanda ($) pada awal nilai numerik**# Menampilkan tanda (*) pada sisa spasi yang kosong diawal nilai numerik#, Menentukan bahwa pemisah untuk digit ribuan adalah tanda koma#.# Menentukan tanda pecahan desimal! Hanya menampilkan karakter pertama dari string& Menampilkan seluruh karakter dari string_ Menampilkan karakter dibelakang tanda garis bawah tersebut sebagai

karakter biasa

Contoh : NAMA$ = “Maria Herjani”N = 95.65PRINT USING “ NAMA : \ \ NILAI ###.## “; NAMA$,N

Ket : \ \ 7 karakter diisi dengan 7 huruf sesuai dengan spasi tanda tsb.Output : Maria H NILAI 95.65

2.6.6 Statement READ-DATA• Statement READ akan membaca nilai-nilai yang didefinisikan dalam statement DATA kedalam variabel yang ada dalam instruksi READ.

• Statement DATA dapat diletakan dimana saja, namun disarankan untuk meletakkannya diawal atau akhir program guna mempermudah pencariannya.

• Statement READ-DATA dapat digunakan untuk membaca deretan nilai yang berbeda jenisnya.• 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. 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 9PRINT A; C , EEND

READ A, B Output program tsb :PRINT A; B OUT OF DATAREAD A, BPRINT ADATA 2, 4, 6END

Page 9: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

9

2.6.7 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 2RESTORE 1 2 3READ A, B, CPRINT A : B : CDATA 1,2,3,4END

2.6.8 Statement INPUTStatemen 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 {; | ,} ] daftarDengan

Prompt : untai string sebagai promptDaftar : daftar nama variable yang nilainya akan dibaca lewat papan ketik; antara satu

variable dengan variable yang lain harus dipisahkan tanda baca koma.

Contoh 4 : REM PROGINPUT1PRINT “MASUKKAN SEBUAH BILANGAN =”INPUT NPRINT “KUADRATNYA ADALAH = “; N * NEND

Output :MASUKKAN SEBUAH BILANGAN =? 4KUADRATNYA ADALAH = 16

Contoh 5 : REM PROGINPUT2INPUT A,B,CPRINT A,B,C,DE = A+ B + C + DPRINT “HASIL JUMLAHNYA = “, EEND

Output :? 1,2,3 1 2 3 0HASIL JUMLAHNYA = 6

Contoh 6 : REM PROGINPUT3INPUT “MASUKKAN 2 NILAI =”; A,BC = A * BPRINT “HASIL KALI”; A;”DAN”; B;”=”; CEND

Output :MASUKKAN 2 NILAI =? 20,6HASIL KALI 20 DAN 6 = 120

Contoh 7 : REM PROGINPUT4INPUT “UMUR ANDA =”; UMURINPUT “SIAPA NAMA ANDA =”; NAMA$

Page 10: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

10

PRINT NAMA$;” BERUMUR ”;UMUR : ENDOutput :

UMUR ANDA = ?DUAPULUH?REDO FROM STARTUMUR ANDA = ?20SIAPA NAMA ANDA = CUNGKRINKCUNGKRINK BERUMUR 20

Beberapa hal yang perlu diperhatikan sehubungan dengan statemen INPUT adalah:• Statemen INPUT secara otomatis akan menampilkan tanda ? sebagai prompt, yang berarti program menunggu tanggapan anda untuk mengetikkan nilai data.

• Banyaknya nilai data yang diketikkan lewat papan ketik harus sama dengan banyaknya variable yang akan menerima nilai-nilai data tersebut.

• Tipe masing-masing data harus sesuai dengan tipe variable yang akan menerima data yang diketikkan.

• Jika ketentuan 2 dan 3 dilanggar, program akan menampilkan pesan kesalahan REDO FROM START, yang berarti harus mengetikkan nilai-nilai data dari awal.

2.6.9 Statement LINE INPUTMaksud 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.

Contoh 8 : REM PROGINPUT5LINE INPUT “KESUKAAN ANDA ?”, N$PRINT N$; “ADALAH KESUKAAN ANDA.”END

Output :KESUKAAN ANDA ?RENANG, MAKAN DAN BELAJARRENANG, MAKAN DAN BELAJAR ADALAH KESUKAAN ANDA

Contoh 9 : REM PROGINPUT6INPUT “ISIKAN 3 KATA:”, SATU$,DUA$,TIGA$LINE INPUT “ISIKAN KALIMAT:”, KALIMAT$PRINTPRINT “KATA SATU =”, SATU$PRINT “KATA DUA =”,DUA$PRINT “KATA TIGA =”,TIGA$PRINT KALIMAT$END

Output :ISIKAN 3 KATA : BELAJAR,BASIC,ASYIKISIKAN KALIMAT: BELAJAR,BASIC,ASYIK

KATA SATU = BELAJARKATA DUA = BASICKATA TIGA = ASYIKBELAJAR,BASIC,ASYIK

2.7 Operasi STRINGPenggabungan String Merupakan kombinasi dua atau lebih string dengan menggunakan operator “+”.Contoh:

A$ = “ MICROSOFT “B$ = “ QUICKBASIC “C$ = A$ + B$

Page 11: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

11

D$ = A$ + B$ + “KOMPILER”PRINT “C$ = “; C$PRINT “D$ = “; D$

Hasil program di atas adalah:

C$= MICROSOFT QUICKBASICD$= MICROSOFT QUICKBASIC KOMPILER

2.7.1 Fungsi-fungsi Umum

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 karakternyaNomor : nomor awal karakter yang akan diambilJumlah : jumlah karakter yang akan diambil.

Contoh:

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:

QuickBASICosoftKBasic RelBASIC Release 4.5, Microsoft

Fungsi STRING$Fungsi ini digunakan untuk membangkitkan sejumlah karakter tertentu.

BU:STRING$ ( panjang, {karakter|kodeascii} )

DenganPanjang : panjang karakter yg akan dibangkitkanKarakter : 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-----=====

Page 12: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

12

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

CLSINPUT "NAMA ANDA : ", nama$jum = LEN(nama$)PRINTFOR a = 1 TO jum PRINT LEFT$(nama$, a) 'PRINT MID$(nama$, a, 1)NEXT aEND

Tampilan program:

NAMA ANDA : Jhon Keboy

JJhJhoJhonJhonJhon KJhon KeJhon KebJhon KeboJhon Keboy

Contoh Operasi Matematika:

DIM A, B AS SINGLE

CLSINPUT "Masukan Nilai A = ", AINPUT "Masukan Nulai B = ", BPRINT A; " + "; B; " = "; A + BPRINT A; " - "; B; " = "; A - BPRINT A; " x "; B; " = "; A * BPRINT A; " / "; B; " = "; A / BPRINT A; " MOD "; B; " = "; A MOD BPRINT A; " ^ "; B; " = "; A ^ BEND

Bentuk tampilan program:

Masukan Nilai A = 14Masukan Nulai B = 9 14 + 9 = 23

Page 13: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

13

14 - 9 = 5 14 x 9 = 126 14 / 9 = 1.555556 14 MOD 9 = 5 14 ^ 9 = 2.066105E+10

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

2.8.1 Statement GOTOBerguna 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 kanan:

2.8.2 Statement IF… THEN …ELSEMerupakan statemen kendali yang selalu melakukan test terhadap kondisi tertentu.

Contoh:

Statmen ini dibagi menjadiu dua bagian yaituStatemen IF…THEN ELSE satu barisStatemen IF…THEN ELSE banyak baris

a. STATEMEN IF…THEN..ELSE satu barisBentuk Umum : IF kondisi Then {statemen 1 | nobar 1 | GOTO label 1} [ ELSE {statemen 2 | nobar 2 | GOTO label 2} ]dengan

kondisi : syarat yang akan diteststatemen1,statemen2 : statemen yang akan dikerjakannobar1,nobar2 : nomor baris yang akan ditujulabel1,label2 : label baris yang dituju

Mulai

Nama$Alamat$

“Hallo…”;Nama$“Alamatnya di “;Alamat$

“Selesai…..”

Selesai

Lagi$

Lagi$=”Y”

Tidak

Ya

Mulai

Nama$Alamat$

“Hallo…”;Nama$“Alamatnya di “;Alamat$

GOTO

“Selesai…..”

Selesai

Page 14: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

14

Ekspresi

Statement berikutnya

Statement 1

Tidak

Ya

IF (Ekspresi) THEN Statement 1End IFStatement berikutnya

Ekspresi

Statement 2

Statement 1

Tidak

Ya

IF (Ekspresi) THEN Statement 1ELSE Statement 2End IFStatement berikutnya

Statement berikutnya

b. Statemen IF…THEN…ELSE banyak barisBentuk Umum:

IF kondisi1 THENstatemen1

[ELSEIF kondisi2 THEN[statemen2]]

.

.[ELSE

[statemen n]]END IF

Contoh:

Mulai

Nama$NPM$Nilai

Nilai > 90

Abjad$=”A”

Ya

TIdak90 >= Nilai >75

Abjad$=”B”

Ya

TIdak75 >= Nilai >50

Abjad$=”C”

Ya

TIdak50 >= Nilai >0

Abjad$=”D”

Ya

TIdakAbjad$=”E”

Nama$NPM$NilaiAbjad$

Selesai

2.8.3 Statement SELECT CASEStatemen SELECT CASE mempunyai kegunaan yang hampir sama dengan statemen kendali IF…THEN…ELSE banyak baris.

Page 15: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

15

Perbedaan kedua statemen ini adalah pada statemen SELECT CASE kondisi yang dites hanya sebuah, dan proses eksekusi akan diteruskan ke bagian tertentu dari suatu program berdasar nilai kondisi yang dites.

Bentuk Umum:

SELECT CASE ungkapanCASE nilai1

[ statemen1 ][ CASE nilai2

[ statemen2 ] ]..[ CASE ELSE ]

statemen ] ]END SELECT

Contoh

Contoh Program dengan Teknik <Switch>:

flag = 0mulai:

INPUT "Press 1 for change and 0 for exit : ", btn$CLSSELECT CASE btn$CASE "1" IF flag = 1 THEN PRINT "LAMPU MENYALA"

flag = 0 ELSE PRINT "LAMPU PADAM"

flag = 1 END IFCASE "0" ENDEND SELECTGOTO mulaiEND

REM Contoh pemakaianREM IF..THEN..ELSEREM *****************1INPUT xIF x = 1 THEN

PRINT “Satu”ELSEIF x = 2 THEN

PRINT “Dua”ELSEIF x = 3 THEN

PRINT “Tiga”ELSE

PRINT “Salah..”END IF

REM Contoh PemakaianREM SELECT CASEREM ******************

INPUT xSELECT CASE x

CASE 1PRINT “Satu”

CASE 2PRINT “Dua”

CASE 3PRINT “Tiga”

CASE ELSEPRINT “Salah..”

END SELECT

Dengan ungkapan : sembarang ungkapan (numeris

atau non-numeris)nilai1,nilai2 … : nilai-nilai dari parameter ungkapanstatemen1,statemen2 : statemen-statemen yang akan

dikerjakan

Page 16: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

16

2.8.4 Statement Kalang (loop) / Iteration

Proses berulang (kalang) yaitu memproses sejumlah pernyataan beberapa kali, sampai suatu kondisi terpenuhi atau sebaliknya.

Contoh:

CLSINPUT “Banyaknya data: ”, MaxJumlah = 0counter = 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

2.8.5 Statement FOR…NEXTBentuk 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.langkah : pertambahan nilai pencacah.statemen : statemen-statemen yg akan diproses ulang.

Contoh:

CLSINPUT “Banyaknya data : ”,MaxJumlah = 0FOR Counter = Counter TO Max PRINT “Isikan data ke”;Counter; “:”; INPUT Nilai Jumlah = Jumlah + NilaiNEXT Counter

PRINT “Jumlah data:”; JumlahPRINT “Selesai”END

Mulai

Max

Jumlah=0Counter = 1

Nilai

Jumlah = Jumlah + Nilai

Counter = Max Counter = Counter + 1

Jumlah

Selesai

Ya

Tidak

Mulai

Max

Jumlah=0

Nilai

Jumlah = Jumlah + Nilai

Jumlah

Selesai

For Counter = 1 To Max

Next Counter

Page 17: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

17

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 JNEXT I

Nested loop tidak berpotongan (Benar)

FOR I = 1 TO 10 FOR J = 1 TO 5 PRINT I,J,I*J NEXT INEXT J

Nested loop berpotongan (Salah)

2.8.6 Statement WHILE…WENDBentuk Umum :

WHILE kondisi[statemen]

WEND

Dengankondisi : syarat yg hrs dipenuhi agar proses berulang bisa berlangsung.statemen : statemen yg akan diproses ulang.

Contoh2.8.6.1.1 CLSINPUT “Banyaknya data : ”,nJumlahData = 0I = 1 ‘variabel pencacah

WHILE I <= n PRINT “Isikan data ke”;I; “:”; INPUT dataKe JumlahData = JumlahData + dataKe I = I + 1WEND

PRINT “Jumlah data:”; JumlahDataPRINT “Selesai”END

2.8.7 Statement DO…LOOPPenggunaan statemen ini hampir sama dengan WHILE…WEND, namun dalam pemakaianDO…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 ]Statement

LOOP

Kondisi di akhir statemen

DOStatement

LOOP [ { WHILE | UNTIL } kondisi ]

Page 18: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

18

Contoh kondisi di awal statemen

Contoh kondisi di akhir statemen

2.8.8 Statement ON..GOTO, ON ERROR…GOTO, ON…GOSUB, ON ERROR…GOSUB

Bentuk Umum:ON ungkapan GOTO { nobar | label }

Denganungkapan : ungkapan numeris yg hrs menghasilkan nilai data numeris integer antara 1 – 255.nobar : nomor-nomor baris yg ditujulabel : nama-nama label baris yg dituju.

Contohnomor=0WHILE 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: ”; noWENDON nomor GOTO 10,20,30,4010 PRINT “PROSES INPUT DATA”:GOTO 4020 PRINT “PROSES EDIT DATA”:GOTO 4030 PRINT “PROSES HAPUS DATA”:GOTO 4040 END

CLSINPUT “Banyaknya data : ”,nJumlahData = 0I = 1 ‘variabel pencacah

DO WHILE I <= n PRINT “Isikan data ke”;I; “:”; INPUT dataKe JumlahData = JumlahData + dataKeLOOP

PRINT “Jumlah data:”; JumlahDataPRINT “Selesai”END

CLSINPUT “Banyaknya data : ”,nJumlahData = 0I = 1 ‘variabel pencacah

DO UNTIL I > n PRINT “Isikan data ke”;I; “:”; INPUT dataKe JumlahData = JumlahData + dataKeLOOP

PRINT “Jumlah data:”; JumlahDataPRINT “Selesai”END

CLSINPUT “Banyaknya data : ”,nJumlahData = 0I = 1 ‘variabel pencacah

DO PRINT “Isikan data ke”;I; “:”; INPUT dataKe JumlahData = JumlahData + dataKeLOOP WHILE I <= n

PRINT “Jumlah data:”; JumlahDataPRINT “Selesai”END

CLSINPUT “Banyaknya data : ”,nJumlahData = 0I = 1 ‘variabel pencacah

DO PRINT “Isikan data ke”;I; “:”; INPUT dataKe JumlahData = JumlahData + dataKeLOOP UNTIL I > n

PRINT “Jumlah data:”; JumlahDataPRINT “Selesai”END

Page 19: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

19

2.8.9 Statement GOSUB…RETURNStatement 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 }.<statement>.RETURN [ { nobar2 / label2 } ]

Dengan nobar1 : nomor baris awal subrutinlabel1 : label baris awal subrutinnobar2 : nomor baris yang dituju setelah subrutin selesai dikerjakan.label2 : label baris yang dituju setelah subrutin selesai dikerjakan.

2.8.10 Statement SUB…END SUBBentuk Umum:

SUB nama [ (dafpar) ].<statement>.[EXIT SUB [ <statemen>] ]END SUB

DenganNama : nama subrutinDafpar : nama-nama variabel yg menunjukkan tipe dan banyaknya argumen yang akan dilewatkan ke

dalam prosedur.

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.

2.8.11 Statement FUNCTION…END FUNCTIONMerupakan salah satu subrutin yang dapat mengembalikan nilai.

Bentuk Umum:FUNCTION nama [ (dafpar) ].<statemen>.[EXIT FUNCTION [<statemen>] ]END FUNCTION

DenganNama : nama subrutinDafpar : nama-nama variabel yg menunjukkan tipe dan banyaknya argumen yang akan

dilewatkan ke dalam prosedur.

Page 20: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

20

2.8.12 Statement SHAREDDigunakan 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)CLSINPUT "Nilai A = ", AINPUT "Nilai B = ", BGOSUB 100CALL tambahCALL kali(A, B)kali A, Bd = kurangPRINT "A - B = "; dPRINT "A / B = "; bagi(A, B)END

100 A = A + 5 PRINT "Nilai A = "; A RETURN

FUNCTION bagi (x, y) bagi = x / yEND FUNCTION

SUB kali (x, y) C = x * y PRINT "HASIL X . Y = "; CEND SUB

FUNCTION kurang SHARED A, B kurang = A - BEND FUNCTION

SUB tambah SHARED A, B C = A + B PRINT "A + B = "; CEND SUB

2.8.13 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]

Dengancacah : banyaknya elemen larik.

OUPUT:

Nilai A = 5Nilai B = 2Nilai A = 10

2 A + B = 12HASIL X . Y = 20HASIL X . Y = 20A - B = 8

Page 21: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

21

awal : nomor awal indexakhir : nomor akhir indextipe : tipe data masingmasing elemenPerbedaan antara variabel yang menggunakan array dan tidak menggunakan array dapat dipahami dengan bentuk program di bawah ini:

Menggunakan DIM Tanpa DIM

Contoh : DIM baristabel(5)DIM baristabel( 1 to 5)DIM baristabel(5) As Integer

Dari contoh deklarasi di atas maka akan disediakan ruang memori untuk array baristabel dengan jumlah elemen 5.

40 30 100 80 75

Untuk mengoperasikan array digunakan subscrib.Baristabel(1) = 40, Baristabel(2) = 30, Baristabel(3) = 100Baristabel(4) = 80, Baristabel(5) = 75

Contoh 1 : REM PROGARRAY1DIM A(5)LET A(1)=40 : A(2)=30 : A(3)=100 : A(4)=80 : A(5)=75C = A(1) + A(2) + A(3) + A(4) + A(5) PRINT A(1) , A(2) , A(3) , A(4) , A(5)PRINT “HASIL JUMLAH = “; CEND

Output:40 30 100 80 75HASIL JUMLAH = 325

Contoh 2 : REM PROGARRAY2DIM A(7)C= 1

10 READ A(C)IF C=7 THEN 20C = C + 1GOTO 10

20 PRINT A(3), A(5)PRINT A(1) + A(5)PRINT A(6), A(4+2)PRINT A(4)+A(3), A(7)DATA 8,6,5,4,2,5,6,2,2,1,7,10,5END

DIM nilai%(20)

CLSFOR i = 1 TO 5PRINT "Isi Nilai ke "; i;INPUT nilai%(i)NEXT

PRINTFOR i = 1 TO 5PRINT "Nilai ke "; i; " = "; nilai%(i)NEXTEND

CLSFOR i = 1 TO 5PRINT "Isi Nilai ke "; i;INPUT nilai%NEXT

PRINTFOR i = 1 TO 5PRINT "Nilai ke "; i; " = "; nilai%NEXTEND

Page 22: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

22

Output :5 2105 59 6

Contoh 3 : REM PROGARRAY3DATA “KEN AROK”, “KEN DEDES”DATA “TOHJAYA”, “ANUSAPATI”, “AMETUNG”K = 1

10 READ R$(K)IF K = 5 THEN 20K = K + 1GOTO 10PRINT R$(2) : PRINT R$(4)END

Output :KEN DEDESANUSAPATI

Pada program di atas, untuk pembacaan data menggunakan teknik kounter. Teknik lain yang lebih mudah adalah dengan menggunakan looping FOR NEXT.

Contoh 4 : REM PROGARRAY4DATA “KEN AROK”, “KEN DEDES”DATA “TOHJAYA”, “ANUSAPATI”, “AMETUNG”FOR K = 1 TO 5READ R$(K)NEXT KPRINT R$(2) : PRINT R$(4)END

Output :KEN DEDESANUSAPATI

Contoh 5 : REM PROGARRAY5DATA 5,8,9,8,5 DIM X(5)JUM = 0FOR K = 1 TO 5READ X(K) JUM = JUM + X(K)NEXT KRATA = JUM / 5PRINT “RATA-RATA =”; RATAEND

Output :RATA-RATA = 7

• Array Dimensi Dua

Array dimensi dua, lebih dikenal dengan matriks atau tabel, adalah sekumpulan elemen yang sejenis, dan posisi setiap elemennya ditentukan oleh dua buah subskrib yaitu nomor baris dan nomor kolom.

Bentuk umum deklarasi array dimensi 2 adalah :DIM namavar (baris,kolom) [As tipe] atauDIM namavar ( baris1 to baris2, kolom1 to kolom2) [As tipe]

Dengan Namavar : nama variable yang akan dideklarasikan sebagai array dua dimensi Baris : cacah barisKolom : cacah kolom

Page 23: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

23

Contoh : DIM M(2,3) atauDIM M( 1 to 2, 1 to 3)

Dari contoh deklarasi di atas maka akan disediakan ruang memori untuk array M dengan jumlah elemen 2 baris dan 3 kolom..

30 50 2010 10 10

Untuk mengoperasikan array digunakan subskrib.M(1,1)=30, M(1,2)=50, M(1,3)=20,M(2,1)=10, M(2,2)=10, M(2,3)=10

Contoh 6 : REM PROGARRAY6DIM M(2,3)M(1,1)=30: M(1,2)=50: M(1,3)=20M(2,1)=10: M(2,2)=10: M(2,3)=10PRINT M(1,1) +M(2,2)PRINT M(2,3)END

Output:4010

Contoh 7 : REM PROGARRAY7DIM A(3,2)FOR B = 1 TO 3FOR K = 1 TO 2READ A(B,K)PRINT A(B,K),NEXT KPRINTNEXT BPRINTDATA 1,2,1,2,1,2,1,2PRINT A(2,1)+A(3,1) : END

Output:1 21 21 22

Contoh 8:

DIM nilai%(4, 4)

FOR i = 1 TO 4 FOR j = 1 TO 4 READ nilai%(i, j) NEXT jNEXT i

FOR i = 1 TO 4 FOR j = 1 TO 4 PRINT nilai%(i, j); NEXT j PRINTNEXT i

DATA 4,6,8,3DATA 3,6,8,2

Page 24: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

24

DATA 2,7,5,4DATA 9,5,7,5

2.8.14 Array Dimensi BanyakArray dimensi banyak merupakan array yang dimensinya lebih dari satu.

Bentuk umum deklarasinya :DIM namavar (b,k,h,…,dn) [As tipe ] atauDIM namavar (b1 to b2,k1to k2, h1 to h2,…, dn1 to dn2) [As tipe]

Contoh : DIM M(2,3,4) atauDIM M(1 to 2, 1 to 3, 1 to 4)

Dalam operasinya menggunakan subskrib 3 dimensi, yaitu :M(1,1,1),M(1,1,2),M(1,1,3),M(1,1,4)M(1,2,1),M(1,2,2),M(1,2,3),M(1,2,4)M(1,3,1),M(1,3,2),M(1,3,3),M(1,3,4)M(2,1,1),M(2,1,2),M(2,1,3),M(2,1,4)M(2,2,1),M(2,2,2),M(2,2,3),M(2,2,4)M(2,3,1),M(2,3,2),M(2,3,3),M(2,3,4)

Latihan1. Buatlah sebuah program untuk menghasilkan laporan sbb:

DAFTAR GAJI PEGAWAI

NAMA TOTAL GAJI----------------------------------INA 1500000ANI 1300000NIA 1250000ANE 1000000ANU 7500000

Dengan variable subskrib nama, gapok, tunjangan diinput dengan looping menggunakan teknik kounter. Total gaji diperoleh dari gapok ditambah tunjangan.

Jawab :DIM NAMA$(5), GAPOK (5), TUNJ(5), TOTALGAJI(5)K= 1

10 INPUT “NAMA = “, NAMA$(K)INPUT “GAJI POKOK = “,GAPOK(K)INPUT “TUNJANGAN = “,TUNJ(K)TOTALGAJI(K) = GAPOK(K) + TUNJ(K)IF K=5 THEN 20K = K + 1GOTO 10CLS

20 PRINT “DAFTAR GAJI PEGAWAI”PRINTPRINT “ NAMA”;TAB(15);”TOTAL GAJI”PRINT “-----------------------------------“FOR K = 1 TO 5PRINT NAMA$(K);TAB(15);TOTALGAJI(K)NEXT KEND

2. Apakah output dari program dibawah ini !

DATA 1,1,1,2,1,2,2,1,2,2,2,1,2,999C(1) = 0 : C(2) = 0

10 READ XIF X = 999 THEN 20C(X) = C(X) + 1

Page 25: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

25

GOTO 1020 PRINT “CALON”,”JUMLAH SUARA”

PRINT “1 “, C(1)PRINT “2 “, C(2)END

Jawab :CALON JUMLAH SUARA62 7

3. Buatlah program untuk penjumlahan matriks A(2,3) dan B(2,3)

Jawab:DIM A(2,3),B(2,3),C(2,3)FOR J = 1 T0 2

FOR K = 1 TO 3INPUT A(J,K),B(J,K)C(J,K) = A(J,K) + B(J,K)NEXT K

NEXT JFOR J = 1 T0 2

FOR K = 1 TO 3PRINT C(J,K),NEXT KPRINT

NEXT JEND

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)

CLSPRINT "Input matrik A:"FOR baris = 1 TO 2 FOR kolom = 1 TO 2

PRINT "Baris ke "; baris; " kolom ke "; kolom; " = ";INPUT matrixA(baris, kolom)

NEXT kolomNEXT baris

PRINT "Input matrik B:"FOR baris = 1 TO 2 FOR kolom = 1 TO 2

PRINT "Baris ke "; baris; " kolom ke "; kolom; " = ";

=

+

1531111

8135

7286

Page 26: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

26

INPUT matrixB(baris, kolom) NEXT kolomNEXT baris

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

PRINT "HASIL PENJUMLAHAN MATRIK A + B ADALAH:"FOR baris = 1 TO 2 FOR kolom = 1 TO 2

PRINT "Baris ke "; baris; " kolom ke "; kolom; " = "; hasil(baris, kolom)

NEXT kolomNEXT barisEND

b. PROGRAM Pengurut angka

DIM angka(100)CLSi = 0DO 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 jNEXT kPRINTPRINT "angka urut:"FOR k = 1 TO i PRINT angka(k);NEXTEND

Page 27: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

27

3 MANIPULASI DATA

3.1 TIPE DATA

3.1.1 ! (Real Presisi Tunggal) (Operator)Pemakaian tanda ! adalah optional (boleh dipakai atau boleh tidak dipakai) untuk menentukan jenis suatu variabel sebagi floating point single precision (bilangan pecahan presisi tunggal). Jenis data ini memerlukan 4 byte memori. Batasan dari pemakaian variabel ini ialah bilangan pecah dengan ketelitian 7 digit.Untuk bilangan negatif nilai yang bisa ditampung:

Dari –3.402823 x 10+38 hingga –1.40129 x 10–45

Untuk bilangan positif nilai yang bisa ditampung:Dari 1.40129 x 10–45 hingga 3.402823 x 10+38

3.1.2 # (Real Presisi Ganda) (Operator)Tanda # dipakai untuk menetapkan jenis suatu variabel sebagai floating point double precisiom (bilangan pecahan presisi ganda). Jenis data ini memerlukan 8 byte memori. Batasan bilangan pecahan ini dengan ketelitian 16 digit.Untuk bilangan negatif : dari –1.797693134862316 x 10+308 hingga –4.94065 x 10–324

Untuk bilangan positif : dari 4.94065 x 10–324 hingga 1.797693134862316 x 10+308

3.1.3 % (Integer) (Operator)Tanda % digunakan untuk menentukan jenis suatu variabel sebagai bilangan bulat (integer). Data ini memerlukan ruang memori sebesar 2 byte. Batasan nilai variabel ini dari –32768 hinga +32767.

3.1.4 & (Long Integer) (Operator)Dipakai untuk menetapkan jenis variabel bilangan bulat panjang (long integer). Data ini memerlukan 4 byte memori dengan batasna nilai dari –2147483648 hingga +214748367.

3.1.5 $ (Karakater/string) (Operator)Tanda ini dipakai untuk menetapkan jenis variabel string. Batasan jumlah karakter untuk translator BASIC lama sebesar 255 karakter dan 32767 untuk jenis translator BASIC yang baru.

Contoh:

Y = 10/3 -> 3.333333Y! = 10/3 -> 3.333333Y# = 10#/3# -> 3.333333333333333Y% = 10/3 -> 3Y& = 10 ^ 7 -> 10000000Y$ = “Ini hanya sebuah karakter”

3.1.6 &B (Data Konstan Biner) (Operator)BU: &BxxxxxTanda &B di depan xxxx dipakai untuk menetapkan jenis suatu bilangan dasar 2 (sistem biner).Contoh: &B1011011.

3.1.7 &H (Data Konstan Heksa) (Operator)BU: &HxxxxxTanda &H di depan xxxx dipakai untuk menetapkan jenis bilangan dasar 16 (sistem heksadesimal).

Page 28: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

28

Contoh: &H10ABF

3.1.8 &O (Data Konstan Oktal) (Operator)BU: &OxxxxTanda &O di depan xxxx dipakai untuk menetapkan jenis bilangan 8 (sistem Oktal).Contoh: &O101767

3.1.9 ‘ / REM (Komentar) (Operator)BU: { ‘ / REM } keteranganIsi keterangan dapat berupa informasi apa saja yg berhubungan dengan penjelasan program atau identifikasi program / proses.

3.2 FUNGSI-FUNGSI STRING (MANIPULASI STRING)Fungsi-fungsi manipulasi string yang umum digunakan akan dijelaskan pada bagian berikut ini.

3.2.1 Fungsi LEN Digunakan untuk menghitung panjang dari suatu ungkapan string

Contoh 1 : INPUT “NAMA ANDA ?“;NAMA$PRINT “PANJANG NAMA ANDA ADALAH”;LEN (NAMA$);”KARAKTER”

Output :NAMA ANDA ? ARIEF KURNIAWANPANJANG NAMA ANDA ADALAH 15 KARAKTEROk

3.2.2 Fungsi LEFT$Digunakan untuk mengambil sejumlah karakter dari mulai posisi paling kiri

Contoh 2:Y$=”ABCDEFGHIJKLMNOPQRSTUVWXYZ”A$=LEFT$(Y$,6)PRINT “A$=”;A$END

Output :A$=ABCDEF

3.2.3 Fungsi RIGHT$Digunakan untuk mengambil sejumlah karakter dari mulai posisi paling kanan

Contoh 3 :Y$=”ABCDEFGHIJKLMNOPQRSTUVWXYZ”C$= RIGHT$(Y$,15)PRINT “C$=”;C$END

Output :C$= LMNOPQRSTUVWXYZ

Page 29: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

29

3.2.4 Fungsi MID$Digunakan untuk mengambil sejumlah karakter ditengah mulai posisi yang tertentu.

Contoh 4 :Y$=”ABCDEFGHIJKLMNOPQRSTUVWXYZ”E$= MID$(Y$,7,6)PRINT “E$=”;E$END

Output :E$= GHIJKL

3.2.5 Fungsi VALUE(VAL)Digunakan untuk mengkonversi data string menjadi data numerik

Contoh 5 : A$=”300” B$=”100” A=VAL(A$) B=VAL(B$) PRINT A$,B$,A$+B$ PRINT A,B,A+B

Output :300 100 300100300 100 400

3.2.6 Fungsi STR$Digunakan untuk mengkonversi data numerik menjadi data string.

Contoh 6 :A=300B=100A$=STR$(A)B$=STR$(B)PRINT A$,B$,A$+B$,STR$(A+B)PRINT A,B,A+B

Output :300 100 300100 400300 100 400

3.2.7 Fungsi ASCDigunakan untuk mencari kode ASCII dari karakter pertama suatu data string. Meskipun data string tersebut terdiri lebih dari 1 karakter, tetapi yang dilihat hanya pada karakater pertamanya.

Contoh 7 :PRINT ASC(“A”)PRINT ASC(“AGUSTUS”)

Output :6565Ok

Page 30: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

30

3.2.8 Fungsi CHR$Digunakan untuk mengkonversi dari kode ASCII ke karakter.

Contoh 8 :A=68B=35PRINT A;”Adalah Kode ASCII Untuk Karakter”;CHR$(A)PRINT B;”Adalah Kode ASCII Untuk Karakter”;CHR$(B)

Output :68 Adalah Kode ASCII Untuk Karakter D35 Adalah Kode ASCII Untuk Karakter #

3.3 FUNGSI ARITMATIKA

3.3.1 Fungsi SINDigunakan untuk mencari harga sinus suatu sudut yang dinyatakan dalam radian.

Contoh 9 :PRINT SIN(1.5)PRINT SIN(30)PRINT SIN(45)

Output0.997495

-0.9880316240928618 0.8509035245341184

3.3.2 Fungsi COSDigunakan untuk mencari harga cosinus suatu sudut yang dinyatakan dalam radian.

Contoh 10 :D= 3.14159/180PRINT COS(15*D)PRINT COS(30*D)PRINT COS(45*D)

Output :0.9659260.8660260.707107

3.3.3 Fungsi TANDigunakan untuk mencari harga tangen suatu sudut yang dinyatakan dalam radian. Bila sudut ingin dinyatakan dalam bentuk derajat,kalikan sudutnya dengan 0.015

Contoh 11 :PRINT TAN(1.5)PRINT TAN(30*.015)PRINT TAN(30)PRINT TAN(45)

Output :14.101420.483055-6.4053321.619775

Page 31: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

31

3.3.4 Fungsi ABS (Absolute)Digunakan untuk mengambil harga mutlak dari suatu ekspresi numeris.

Contoh 12 :PRINT ABS(-28.8)PRINT ABS(-5*3)PRINT ABS(3*4.2*2)

Output28.81525.2

3.3.5 Fungsi EXPDigunakan untuk untuk menghitung ex . Dengan bilang natural e = 2.71828

Contoh 13 :PRINT EXP(0)PRINT EXP(1)PRINT EXP((0.25)

Output :12.718281.284025

3.3.6 Fungsi SGNUntuk mengetahui sign dari suatu bilangan.Jika SGN(X) = 0 Jika X = 0.

SGN(X) = -1 Jika X = bilangan negatifSGN(X) = 1 Jika X = bilangan positif

Contoh 14 :PRINT(-0.25)PRINT(0)PRINT(1.75)

Output :-1 01

3.3.7 Fungsi LOGDigunakan untuk menghitung nilai logaritmadari suatu bilangan.

Contoh 15 :PRINT LOG(100)PRINT LOG(5)

Output :2.69897

Page 32: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

32

3.3.8 Fungsi SQRDigunakan untuk mengambil harga akar kuadrat dari suatu bilangan.

Contoh 16 :PRINT SQR(16)PRINT SQR(32*2)A=SQR(81)PRINT A

Output :489

3.3.9 Fungsi Integer (INT)Digunakan untuk membulatkan suatu pecahan ke bilangan bulat terkecil.

Contoh 17 :PRINT INT (- 3.5)PRINT INT (5.4)PRINT INT (7.8)PRINT INT(-2.25)

Output :-4 5 7-3

3.3.10 Fungsi FIXDigunakan untuk membuang nilai pecahan.

Contoh 18 :PRINT FIX(-3.5)PRINT FIX (5.4)PRINT FIX (7.8)PRINT FIX(-2.25)

Output :-3 5 7-2

3.3.11 Fungsi CINTDigunakan untuk membualtkan suatu pecahan ke bilangan bulat terbesar

Contoh 19 :PRINT CINT(3.5)PRINT CINT(5.4)PRINT CINT(7.8)

Output :458

Page 33: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

33

3.3.12 Fungsi Modulo (MOD)Digunakan untuk menghitung sisa pembagian dari dua buah operand

Contoh 20 : X=15 : Y=4 SISA=X MOD YPRINT“SISA PEMBAGIAN DARI”;X;”DIBAGI”;Y;”=”;SISAEND

Output :SISA PEMBAGIAN DARI 15 DIBAGI 4 = 3

3.3.13 Fungsi Random (RND)Digunakan untuk memberikan nilai acak. Setiap kali fungsi ini dilaksanakan harga yang diberikan akan berada diantara 0 (nol) dan 1 (satu).

Contoh 21 :FOR A=1 TO 3B=RND(A)PRINT”NILAI RANDOM DARI”;A;”ADALAH”;BNEXT : END

Output :NILAI RANDOM DARI 1 ADALAH .1213501NILAI RANDOM DARI 2 ADALAH .651861NILAI RANDOM DARI 3 ADALAH .8688611

LATIHAN

A$ =”MATAHARI PAGI”B$ = “ YANG INDAH”C$ = “BERSINAR”

a. Apakah hasil dari PRINT LEFT$(A$,8)+SPACE$(1)+C$b. Apakah hasil dari PRINT MID$(A$,5,4)+LEFT$(5)c. Apakah hasil dari PRINT LEN(B$) + LEN (C$)d. Apakah hasil dari PRINT MID$( A$+C$, LEN(C$)+1,4) +LEFT(B$,5)

JAWAB :

MATAHARI BERSINARHARIBERSIN18PAGIINDAH

Apakah output program di bawah ini !

PRINT “X”,”Y”FOR I = 1 to 4

READ XY = -ABS(10*LOG(X)) + 25IF Y < 0 THEN Y$ =”-“

IF Y > 0 THEN Y$ =”+”PRINT X, Y$

NEXT IDATA 1,5,25,50END

Jawab :X Y

Page 34: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

34

1 +5 +25 -50 -

TUGAS !!!

1. Apakah output program di bawah ini !

FOR I = 1 TO 26I$ = STR$(I)PANJANG = LEN(I$)ANGKA$ = MID$(I$,2,PANJANG)BENTUK$ = SPACE$(3-PANJANG)+”X”+ANGKA$+”=”+ANGKA$PRINT BENTUK$,IF I/3 = INT (I/3) THEN PRINT

NEXT IEND

2. Apakah output program di bawah ini !

‘**PROGRAM HITUNG FUNGSI COS(X) DERET TAYLOR**SUDUT = 60X = SUDUT / 57.2958T = 1: C = 1S1 = X^2

60 F = F + 2T = -T * S1 / ((F – 1) * F)C = C + TIF ABS(T) < 0.001 THEN 140GOTO 60

140 PRINT “COS 60 DERAJAD DERET TAYLOR =”;CPRINT “COS 60 DERAJAD DERET TAYLOR =”;COS(X)END

Page 35: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

35

4 MEMBUAT LAPORAN

Untuk membuat suatu laporan sederhana dalam bahasa BASIC perlu memperhatikan elemen-elemen yang dirangkai sedemikian rupa sehingga dapat mengimplementasikan suatu prosedur /tata cara/langkah-langkah penyelesaian suatu masalah. Elemen-elemen yang dimaksud antara lain adalah instruksi ,data, karakter,konstanta, variabel, operator, ungkapan dan fungsi.

Siklus pemrosesan data dimulai dengan pemasukan data, proses dan menampilkan informasi, dibutuhkan instruksi-instruksi masukan dan keluaran yang merupakan instruksi untuk membaca nilai data dari piranti masukan seperti papan ketik atau file dan menampilkan hasil proses ke piranti keluaran seperti monitor dan printer.

Dari uraian yang telah dikemukan bahasa BASIC dapat membantu pengguna komputer pemula dalam hal membuat laporan sederhana dengan struktur keputusan yaitu sebuah cara pemograman dengan instruksi-instruksi tertentu yang dapat digunakan untuk mengambil keputusan berdasarkan suatu kondisi.

Selain struktur keputusan, bahasa BASIC dapat menyajikan pemrograman dengan struktur perulangan, maksudnya dapat melakukan proses secara berulang-ulang, jika suatu kondisi dipenuhi atau sebaliknya. Didalam praktek proses perulangan biasa digunakan untuk beberapa hal, antara lain : (1). Mengulang proses pemasukan data, (2). Mengulang proses perhitungan dan (3). Mengulang proses penampilan hasil pengolahan data. Sebagai ilustrasi berikut kasus penyelesaian aplikasi akuntansi dan program neraca saldo.

Penyusunan program terstruktur dalam membuat laporan lengkap dengan pemberian No halaman di setiap ganti halaman dengan No urut yang dimulai dari awal akan berlanjut.setiap ganti halaman harus memiliki rancangan yang sistematis, mudah dibaca, dipahami dan dikoreksi serta menghindari penggunaan instruksi GOTO.

Salah satu metode penyusunan program terstruktur adalah pemograman modular. Dengan metode ini suatu masalah dipecah menjadi beberapa kelompok masalah yang lebih kecil, caranya membagi beberapa modul,maka masalah tersebut akan menjadi lebih sederhana, sehingga program dapat lebih mudah disusun dan dipahami.

Untuk menyusun program modular dapat digunakan konsep fungsi, prosedur ataupun subroutine. Pemahaman yang baik terhadap konsep ini akan memudahkan pemograman dalam menyusun suatu program yang terstruktur. Sebagai ilustrasi berikut kasus penyelesaian aplikasi Bisnis dan program Nota Bon (Soesianto,1992,h:339-342).

Dalam dunia bisnis, khususnya dalam bidang perdagangan banyak melibatkan masyarakat konsumen, hal tersebut tidak terlepas dari transaksi jual beli. Bagi penjual, adalah penting untuk mengetahui barang apasaja yang telah terjual berikut harganya. Bagi pembeli juga penting untuk mengetahui harga barang pada suatu saat, sehingga dapat mengetahui seberapa jauh kenaikan atau penurunan harga dari barang yang sama dibanding harga sebelumnya.

Untuk mengetahui informasi yang diperlukan, baik oleh penjual maupun pembeli, biasanya di setiap toko dibuat nota bon yang akan mencatat semua informasi yang berhubungan dengan transaksijual beli barang pada suatu saat. Pada contoh program berikut disajikan program untuk membuat nota bon dari sebuah toko penjual barang elektronik.

Dengan menggunakan statemen INPUT, operator dapat langsung memasukkan data transaksi jual beli yang telah dilakukan. Dengan mengatur format output, akan diperoleh bentuk output yang dikehendaki.

Salah satu bidang dalam ilmu Ekonomi adalah masalah Akuntansi yang banyak membicarakan tentang pembukuan. Dalam pembukuan antara lain menyangkut pembuatan berbagai laporan dan berbagai neraca yang salah satu diantaranya adalah NERACA SALDO.

Page 36: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

36

Pada contoh berikut disajikan program untuk membuat neraca saldo dengan jumlah rekening dibatasi hanya sampai 13 rekening. Tetapi hal ini tidak menutup kemungkinan untuk jumlah rekening yang lebih besar. Sebagai contoh kasus akan dibuat neraca saldo berdasarkan data-data berikut :PERUSAHAAN ROTI ‘ESSA’

NERACA SALDO30 SEPTEMBER 1984

Nama Rekening JumlahK A S Rp 1,976,000.00 PERLENGKAPAN KANTOR Rp 150,000.00 KENDARAAN BEMOTOR Rp 4,500,000.00 T A N A H Rp 1,000,000.00 HUTANG DAGANG Rp 150,000.00 MODAL Rp 7,550,000.00 PRIVE Rp 15,000.00 HASIL ANGKUTAN Rp 138,000.00 SEWA GEDUNG Rp 15,000.00 KEBUTUHAN KANTOR Rp 4,000.00 BENSIN DAN OLI Rp 110,000.00 GAJI PEGAWAI Rp 60,000.00 MACAM-MACAM ONGKOS Rp 8,000.00

Dalam neraca saldo ada kolom DEBET dan KREDIT, dimana jika salah satu kolom diisi, kolom lain dibiarkan kosong atau biasanya diisi dengan tanda “-“.Untuk mengatasi hal ini kolom DEBET dan KREDIT kedua-duanya dibaca. Hanya jika ada kolom yang harus dikosongkan atau diberi tanda “-“, maka data yang dibaca adalah bernilai 0 (nol). Jadi jika komputer membaca data 0 (nol) untuk suatu kolom (misalnya kolom DEBET) maka pada kolom tersebut berisi tanda “-“.

PROGRAM

REM **************************************110 REM * MEMBUAT NERACA SALDO *120 REM * Dibuat di : DI PUSKOMP UGM *130 REM **************************************140 REM150 PRINT CHR$(14); " PERUSAHAAN ROTI ESSA ": PRINT160 PRINT CHR$(14); " NERACA SALDO ": PRINT170 PRINT CHR$(14); " 30 SEPTEMBER 1984 ": PRINT180 PRINT "-------------------------------------------------------------"190 PRINT "| | S A L D O |"200 PRINT "| NAMA REKENING |-------------------------------------------"210 PRINT "| | DEBET | KREDIT |"220 PRINT "-------------------------------------------------------------"230 P = 0: Q = 0240 FOR I = 1 TO 13

READ A$, B, C IF B = 0 THEN 280 IF C = 0 THEN 300280 PRINT USING "| \ \ | - | Rp #######.## |"; A$; C GOTO 310300 PRINT USING "| \ \ | Rp #######.## | - |"; A$; B310 P = P + B Q = Q + C330 NEXT I340 PRINT "|===========================================================|"350 PRINT USING "| | Rp #######.## | Rp #######.## |"; P; Q360 PRINT "|===========================================================|"370 REM380 REM **************************************390 REM * DATA YANG DIPAKAI *400 REM **************************************410 REM420 DATA K A S ,1976000,0430 DATA PERLENGKAPAN KANTOR,150000,0440 DATA KENDARAAN BERMOTOR,4500000,0450 DATA T A NA H,1000000,0460 DATA HUTANG DAGANG,0,150000

Page 37: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

37

470 DATA MODAL,0,7550000480 DATA PRIVE,15000,0490 DATA HASIL ANGKUTAN,0,1380000500 DATA SEWA GEDUNG,15000,0510 DATA KEBUTUHAN KANTOR,4000,0520 DATA BENSIN DAN OLI,110000,0530 DATA GAJI PEGAWAI,60000,0540 DATA MACAM-MACAM ONGKOS,8000,0550 END

Penjelasan program

No. Baris Penjelasan100-140,370-410150-220 230

240-330260340-360420-540550

Penjelasan programMenulis judul dan kolom-kolomMemberi harga awal jumlah KREDIT dan DEBETMenulis isi kolom KREDIT atau DEBETTest isi B=0,kolom KREDIT yang diisiMenulis jumlah dan tutup kolomData yang dipakaiStatemen akhir proses

Hasil Program:

PERUSAHAAN ROTI ‘ESSA’NERACA SALDO

30 SEPTEMBER 1984

S A L D ONAMA REKENING DEBET KREDITRp 1976000.00Rp 150000.00Rp 4500000.00RP 1000000.00--Rp 15000.00-

Rp 4000.00RP 110000.00Rp 60000.00Rp 8000.00

----Rp 150000.00Rp 7550000.00-Rp 138000.00-----

K A S PERLENGKAPAN KANTOR KENDARAAN BERMOTOR T A N A H HUTANG DAGANG MODAL PRIVE HASIL ANGKUTAN SEWA GEDUNG KEBUTUHAN KANTOR BENSIN DAN OLI GAJI PEGAWAI MACAM-MACAM ONGKOS

RP 7838000.00 Rp 7838000.00

Page 38: Basic Beginner

Imam Muiz. 2008. Algoritma & Pemrograman 1Create 29 Agustus 2008, Update 01 September 2008e-mail: [email protected]

38

TUGAS :

1. Buat program untuk mencari nilai rata-rata mahasiswa Gunadarma yang mengikuti ujian Algoritma dan Pemograman 1.

INPUT : NAMA,NILAI AP-1A,NILAI AP-1B,NILAI AP-1C ( Variabel tentukan sendiri ) DATA : Buat minimal 10 recordOUTPUT :

DAFTAR NILAI ALGORITMA DAN PEMOGRAMAN 1MAHASISWA UNIVERSITAS GUNADARMA

AP-1A AP-1B AP-1C Rata-Rata99 x------------x 99 99 99 9999 x------------x 99 99 99 9999 x------------x 99 99 99 9999 x------------x 99 99 99 9999 x------------x 99 99 99 9999 x------------x 99 99 99 9999 x------------x 99 99 99 9999 x------------x 99 99 99 9999 x------------x 99 99 99 9999 x------------x 99 99 99 99

NILAINO NAMA

2. Buat program Daftar Gaji dari seluruh pegawai PT JARINGAN KOMPUTER dengan ketentuan :

INPUT : - NAMA - GOLDATA : Buat minimal 10 recordPROSES : - Jika GOL “1” � GAJI POKOK = 10000

GOL “ 2” � GAJI POKOK = 15000GOL “3” � GAJI POKOK = 20000

TUNJANGAN = 10% X GAJI POKOK GAJI BERSIH = GAJI POKOK+TUNJANGAN NO = NO+1

OUTPUT :

DAFTAR GAJI PEGAWAIPT JARINGAN KOMPUTER(Bulan September 2003)

No Nama Pegawai Gol Gaji Pokok Tunjangan Gaji Bersih99 x----------------x xxx 999,999,999.99 999,999,999.99 999,999,999.9999 x----------------x xxx 999,999,999.99 999,999,999.99 999,999,999.9999 x----------------x xxx 999,999,999.99 999,999,999.99 999,999,999.9999 x----------------x xxx 999,999,999.99 999,999,999.99 999,999,999.9999 x----------------x xxx 999,999,999.99 999,999,999.99 999,999,999.9999 x----------------x xxx 999,999,999.99 999,999,999.99 999,999,999.9999 x----------------x xxx 999,999,999.99 999,999,999.99 999,999,999.99

Sumber Pustaka:

Wallace Wang. 2007. Beginning Programming for Dummies. 4th Edition Wiley Publishing, Inc., Indianapolis, Indiana.

Jogiyanto HM, Akt., MBA, Ph. D. 1989. Analisis & Disain Sistem Informasi: pendekatan terstruktur teori dan praktek aplikasi bisnis. Penerbit Andi. Yogyakarta

Ir. F. Soesianto B.Sc.E, Ir. Eko Nugroho, Ir. P. Insap Santosa. 1986. Pemrograman Basic. Edisi kedua. Andi Offset. Yogyakarta


Related Documents