Rabu, 09 Oktober 2013

BAB I Pendahuluan Basic

 Sesi/Perkuliahan ke: 1

Tujuan Instruksional Khusus :        
1.     Agar mahasiswa dapat mengetahui tujuan mempelajari bahasa pemrograman BASIC
2.     Agar mahasiswa dapat mengetahui konsep dasar pemrogramam BASIC
3.     Agar mahasiswa dapat mengetahui kelebihan dan kekurangan BASIC

Pokok Bahasan : PENDAHULUAN

Deskripsi singkat : Dalam pertemuan ini akan mempelajari tentang pengenalan BASIC, Jenis-jenis bahasa pemrograman BASIC, notasi dan ekspresi dalam BASIC dan variable-variabel dalam BASIC. Pengenalan BASIC ini berguna untuk  mengikuti perkuliahan berikutnya tentang Statement Input-Output.

Referensi :
  1. Seri Diktat Kuliah : Pengantar Algoritma dan Pemrograman : Teknik diagram alur dan bahasa Basic Dasar, Penerbit Gunadarma
  2. Yay Singleman, Business Programming Logic 2nd –ed, Prentice Hall Engelwood Cliffs, NewJersey, 1982.
  3. Gottfried, Programming in BASIC, MC Graw Hil, Ne York, 1981.
  4. Insap Santosa, Program-program Terapan Menggunakan Quick Basic, Andi Yogyakarta.
  5. Jogiyanto, Teori dan Aplikasi dan Program Komputer Bahasa Basic, Andi Yogyakarta.
  6. Rijanto Tosin, Quick Basic, Dinastindo.

v   BASIC (Beginner’s All-purpose Symbolic Instruction Code)

§  Diciptakan Prof . John G. Kemeny dan Thomas Kurtz di Darthmouth College, New Hampshire USA, program dijalankan pertama kali 1 Mei 1964.

§  BASIC  merupakan   bahasa   tingkat tinggi  (high level language) yang bersifat intrepreter yaitu memungkinkan untuk mengoperasikan komputer secara interaktif, program dapat ditulis, dijalankan, dirubah, dan dijalankan lagi tanpa harus melalui tahap kompilasi, seperti bahasa tingkat tinggi lainnya yang berbentuk compiler.

§  Jenis-Jenis bahasa BASIC di antaranya :
-          BASICA
-          GW-BASICA
-          MBASIC
-          Turbo BASIC
-          Quick BASIC
-          QBASIC
-          POWER BASIC
-          Dll

§  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 Mode
modus  ini pada setiap awal program harus diberi nomor baris dan untuk menjalankan program digunakan command RUN
Contoh :             10        LET =5

25                LET B=7

35                PRINT A+B
36                END
Output
12

§  Konsep dasar BASIC  terdiri dari kumpulan statement. Tiap-tiap  statement ditulis dengan diawali oleh suatu nomor baris atau nomor statement. Bila tidak diberi nomor baris maka akan langsung dikerjakan (secara direct mode).

§  Program BASIC mempunyai struktur sebagai berikut :
Nomor baris  <statement>

Contoh :        10 PRINT “     HALO SAYA BASIC              “
                        20 PRINT “                   SELAMAT KENAL               “
                        30 PRINT “                 SILAHKAN MENCOBA   “

                        no                                statement
                        baris

§  Variabel        :  adalah nama atau simbol yang digunakan untuk mewakili suatu nilai. Nilai dari variabel dapat berubah-ubah di dalam proses program.

Contoh :        10  C=10
20        F=1.8 * C + 32
30        PRINT F
Output
50

            C dan F pada contoh diatas adalah yang disebu dengan variabel. Variabel C mewakili nilai 10 dan F mewakili hasil perhitungan pada baris 30.

§  Elemen-elemen statement
Statemen dibentuk dari elemen-elemen lain yang diawali dengan suatu verb. Elemen-elemen yang dapat membentuk suatu elemen adalah konstanta, variabel, operator, ungkapan dan fungsi.
1.      Konstanta
Nilai yang sudah pasti di dalam program dan  nilainya tidak berubah selama proses program. Di dalam BASIC dikenal 2 macam konstanta yaitu :
-          Konstanta Numerik
F Nilai numerik yang sudah pasti di dalam program, yang ditulis tidak diantara tanda petik  dua (“).
F Dapat berupa konstanta integer, fixed point constant, floating point constant, hexadecimal constant dan octal constant.
-          Konstanta Non numerik
F Disebut konstanta string atau literal string yaitu nilai yang disajikan dalam tanda petik dua (“)
F Panjang maksimum konstanta string 254 karakter.

2.      Variabel
Syarat penulisan nama variabel  :
1.    Boleh gabungan antara huruf, angka dan titik, tetapi karakter pertama harus berupa huruf.
Contoh :  A,A2,NILAI,P3K,MODAL,ALI
2.    Panjang nama variabel maksimum 40 karakter
Contoh :  NOMERMAHASISWA
3.    Tidak boleh ada “blank” atau dipisahkan dengan kosong/spasi diantara karakter-karakter.
4.    Tidak boleh ada “special karakter”, kecuali yang mempunyai maksud tertentu untuk variabel, yang harus diletakkan paling belakang dari nama variabel. Karakter khusus yang diijinkan : $,%,! Dan #
Contoh : NAMA$,NOURUT!,X#,JUMLAH%.
-       Spesial karakter $, menunjukkan variabel adalah variabel string, berisi nilai huruf.
-       Spesial karakter #! menunjukkan variabel adalah variabel numerik ketepatan tunggal, berisi nilai angka ketepatan 7 digit.
-       Spesial karakter #, menunjukkan variabel adalah variabel numerik ketepatan ganda, berisi nilai angka ketepatan lebih.
-       Spesial karakter %, menunjukkan variabel adalah variabel numerik integer, berisi nilai angka bulat.
-       Nama variabel yang tidak mengandung spesial karakter adalah nama variabel numerik single precision (sama dengan nama variabel yang mengandung spesial karakter).
5.    Nama variabel tidak boleh sama dengan BASIC reserved word.

§  Jenis-jenis  Variabel :
-       Variabel Numerik ketepatan tunggal (single precision), dapat mewakili nilai berkisar dari 2.938736 x 10-39 sampai dengan 1.701412 x 1038 dengan ketepatan 7 digit. Biasanya dibelakang variabel ini diberi tanda !.
Contoh : 10  A=22/7
                           20  B!=20/3
30  PRINT A
40  PRINT B!
Output
3.142857
6.666667

-        Variabel numerik ketepatan ganda (double precision), dapat mewakili nilai berkisar antara 2.938745877055719 x 10-39 sampai dengan 1.701411834604692 x 1038 dengan ketepatan samapai dengan 16 digit. Biasanya variabel ini ditunjukkan dengan tanda # diakhir namanya.
Contoh :        10  A#=22/7
20     B#=22/7#
30     PRINT A#
40     PRINT B#

Output
3.142857074737549
3.142857142857143


-        Variabel numerik bulat/integer, mengandung nilai bulat berkisar dari nilai –32768. Bila nilai yang diberikan oleh variabel ini berupa nilai pecahan, maka akan dibulatkan ke bawah bila nilai pecahannya kurang dari setengah dan dibulatkan keatas jika nilainya lebih besar atau sama dengan setengah.
Contoh :        10 A%=22/7
                           20 B%=20/3
                           30 PRINT A%
                           40 PRINT B%
                           Output
                           3
                           7

-         Variabel string, yaitu variabel yang dapat menyimpan nilai string. Variabel string ditunjukkan oleh namanya yang diakhiri dengan karakter khusus $.
Contoh :        10  NAMA$=”Ira Windarti”
20     PRINT NAMA$
Output
Ira Windarti

3.      Operator
1.      Aritmetic operator  :  (), ^ atau    , * , / , | , MOD, + , -
2.      Relational operator : <, >, <= , >= , = , <>
3.      Logical operator : NOT, AND, OR , XOR, EQV, IMP

4.              Ungkapan (Expression)
1.      Ungkapan Numerik
Disebut juga dengan ungkapan matematis (angka-angka), adalah ungkapan yang semua operan-operannya (variabel, konstanta, atau hasil fungsi) brertipe numerik.
Contoh :  Z = 1/(X^2+y^3)
-       yang disebut dengan ungkapan numerik adalah : 1/(X^2+y^3)
-       dan hasil dari ungkapan numerik adalah nilai numerik
contoh :               
10  A=3  :  B=4
20        PRINT SQR (A^2+B^2)
Output
5

-       Ungkapan pada no. baris 10 hanya terdiri dari konstanta numerik saja.
-       Ungkapan pada no. baris 20 terdiri dari operand var, numerik A, var, numerik B, konst. Numerik 2 dan fungsi matematis SQR.
-       Karena semua operand-nya bertipe numerik, maka hasil ungkapan numerik ini adalah nilai numerik (5).
                                               
2.      Ungkapan String
Disebut dengan ungkapan alphanumerik, adalah ungkapan yang semua operannya ( var.,konst, atau hasil fungsi) bertipe string.
Contoh  :   10  A$=”BAHASA”
20        PRINT “LATIHAN”+A$+”BASIC”
Output
                                                                        LATIHAN BAHASA BASIC
                                                                       
-       Hasil dari ungkapan string diatas adalah nilai string
-       Pada no. baris 10, ungkapan string hanya berupa konstanta string saja dan pada no baris 20, ungkapan string mempunyai operand var, string A$, konstanta string “LATIHAN” dan “BASIC”
-       Operator yang dapat digunakan pada ungkapan string ini hanya berupa operator + saja.

3.      Ungkapan Hubungan
Adalah ungkapan yang menggunakan operator hubungan untuk membandingkan dua buah nilai operand. Ungkapan ini banyak ditemui pada statement IF untuk menyeleksi  kondisi dua buah operand guna mengetahi bagaimana hubungannya.

Contoh  :               10  A=25
20        IF A>5 THEN PRINT “A LEBIH
BESAR DARI 5”
                                                                        Output
                                                                        A LEBIH BESAR DARI 5

-       pada no.baris 20 ungkapan a>5 adalah ungkapan hubungan 

4.      Ungkapan Logika
Ungkapan yang dibentuk dengan menggunakan operator logika. Operand dari ungkapan ini semuanya harus berbentuk nilai-nilai logika.
Contoh :
150 IF NILAI.TUGAS$<”D”AND NILAI.UJIAN>55 THEN 180
-       Ungkapan ini akan menghasilkan nilai benar atau salah, tergantung dari kondisi yang diseleksinya, apakah benar NILAI.TUGAS<”D” dan NILAI.UJIAN>55
-       Jika keduanya benar, maka hasil dari ungkapan ini adalah benar.
-       Hasil dari operator logika AND akan bernilai salah bila salah satu ada yang salah.
SOAL LATIHAN  :
1.      Variabel manakah yang penulisannya salah di dalam QBASIC :
PRINT
NOMOR MAHASISWA
JUM%LAH
DATA
NILAI#
NAMA$
COUNTER%
5NILAI

Jawab :     
-          PRINT ®  reserved word
-          NOMOR MAHASISWA ®  ada spasi
-          JUM%LAH ® tanda % harus diakhir nama variable
-          DATA ®  reserved word
-          5NILAI ® awal nama variabel harus huruf

2.      Bagaimanakah penulisan di dalam QBASIC untuk ungkapan-ungkapan di bawah ini ?
1. AXB-A+AXC
3. Ö (A+B)
2. 5/5A-7B3
4. 5A2+B

Jawab :
1.         A*B-A+A*C                         3. (A+B)^1/2
5/5*A-7*B^3                          4. 5*A^2+B

BAB V Statement Input pada Qbasic

 Tujuan Instruksional Khusus :
       1.   Agar mahasiswa dapat  memahami teknik kounter.
2.      Agar mahasiswa dapat menggunakan variabel kounter dalam membatasi perulangan.
3.      Agar mahasiswa dapat memahami dan menggunakan statemen INPUT dalam program.

Pokok Bahasan : STATEMEN INPUT

Deskripsi Singkat :  Dalam pertemuan ini akan mempelajari tentang definisi kounter, membatasi pengulangan dengan menggunakan kounter serta statemen input. Materi ini berguna  dalam membuat program looping dan program input, selain itu juga untuk mengikuti perkuliahan berikutnya tentang array.

Referensi :
  1. Seri Diktat Kuliah : Pengantar Algoritma Dan Pemrograman  Teknik Diagram Alur Dan Bahasa BASIC Dasar, Penerbit GUNADARMA, Jakarta, 1991.
  2. Yay Singleman, Business Programming Logic 2nd –ed, Prentice Hall Engelwood Cliffs, New Jersey,1982.
  3. Gottfried, Programming in BASIC , Mc Graw Hill, New York, 1981
  4. Insap Santosa, Pemrograman Terapan Menggunakan QUICK BASIC, Andi Offset, Yogyakarta,1997.
  5. Jogiyanto, H.M.,Teori dan Aplikasi Program Komputer Bahasa BASIC, edisi 5, Andi Offset, Yogyakarta.
  6. Rijanto Tosin, Quik BASIC, Dinastindo.
v    Menggunakan Kounter
Kounter adalah suatu variabel pencacah yang digunakan untuk menghitung berapa kali proses telah berulang.
Variabel kounter biasa digunakan dengan statemen  NAMAVAR = NAMAVAR + 1

Berikut contoh program yang menggunakan kounter.

Contoh 1 :       REM PROGKOUNTER1
                        DATA  2,4,6,8,999
                        C = 0
          10          READ BIL
                        IF BIL = 999 THEN 20
                        C = C + 1
                        GO TO 10
          20          PRINT C
                        END

Output :
                    4

Pada program di atas yang dimaksud variable kounter adalah C. Setiap kali statemen        C = C + 1 dilaksanakan, maka harga C bertambah dengan 1.

Contoh 2 :       REM PROGKOUNTER2
                        N = 0 : K=0
10                READ  X
K = K + 1
                        IF K = 9 THEN  30
                        IF  X > 3 THEN 20
                        GOTO  10
            20        N = N + 1
                        GOTO 10
            30        PRINT N
                        DATA 1,4,2,3,5,6,5,9,2,8
                        END
Output :
                        5

Program di atas akan menghitung banyaknya bilangan-bilangan yang lebih besar dari 3. Variabel kounter dari program diatas adalah K, yang juga digunakan sebagai pemberhentian perulangan saat K = 9. Sedangkan N adalah variable penampung yang menghitung banyaknya bilangan yang lebih besar dari 3.

v Membatasi Perulangan Dengan Kounter
Pada beberapa program, variable kounter biasa digunakan untuk membatasi perulangan. Program akan berhenti sampai nilai variable kounter yang diinginkan dengan menggunakan statemen kondisi IF THEN.

Contoh 3 :   REM PROGKOUNTER3
                    C = 1 :  M = 0
            10    M = 2 * C - 1
                    PRINT M,
                    IF C = 10 THEN 20
                    C = C + 1
                    GOTO 10
           20     END
Output :
              1        3          5          7          9          11        13        15        17        19

Program di atas akan mencetak bilangan ganjil sebanyak 10 suku. Variable kounter C digunakan untuk memberhentikan proses pada saat nilai C = 10.
v Statemen INPUT
Statemen INPUT digunakan untuk membaca nilai data yang diketikkan lewat papan ketik dan memberikan nilai data tersebut pada suatu variable yang ditulis di belakang statemen input.
Dengan statemen INPUT program dapat membaca data tipe numeris, dan atau string.
Bentuk umum statemen INPUT adalah  :

            INPUT [ prompt {; | ,} ] daftar
Dengan
            Prompt : untai string sebagai prompt
            Daftar  : daftar nama variable yang nilainya akan dibaca lewat papan ketik; antara satu variable dengan variable yang lain harus dipisahkan tanda baca koma.

Contoh 4 :       REM PROGINPUT1
                        PRINT “MASUKKAN SEBUAH BILANGAN =”
                        INPUT N
                        PRINT “KUADRATNYA ADALAH = “; N * N
                        END
Output :
                        MASUKKAN SEBUAH BILANGAN =
                        ? 4
                        KUADRATNYA ADALAH = 16

Contoh 5 :       REM PROGINPUT2
                        INPUT A,B,C
                        PRINT A,B,C,D
                        E = A+ B + C + D
                        PRINT “HASIL JUMLAHNYA = “, E
                        END
Output :            
                          ? 1,2,3
                           1       2         3         0
                          HASIL JUMLAHNYA = 6

Contoh 6 :       REM PROGINPUT3
                        INPUT “MASUKKAN  2 NILAI =”; A,B
                        C = A * B
                        PRINT “HASIL KALI”; A;”DAN”; B;”=”; C
                        END
Output :
                        MASUKKAN 2 NILAI =? 20,6
                        HASIL KALI 20 DAN 6 = 120

Contoh 7 :       REM PROGINPUT4
 INPUT “UMUR ANDA              =”; UMUR
                         INPUT “SIAPA NAMA ANDA =”; NAMA$
                         PRINT NAMA$;” BERUMUR ”;UMUR : END
Output :
                        UMUR ANDA             = ?DUAPULUH
                        ?REDO FROM START
                        UMUR ANDA             = ?20
                        SIAPA NAMA ANDA = BIMA PERKASA
                        BIMA PERKASA BERUMUR 20

Beberapa hal yang perlu diperhatikan  sehubungan dengan statemen INPUT al:
1.      Statemen INPUT secara otomatis akan menampilkan tanda ? sebagai prompt, yang berarti program menunggu tanggapan anda untuk mengetikkan nilai data.
2.      Banyaknya nilai data yang diketikkan lewat papan ketik harus sama dengan banyaknya variable yang akan menerima nilai-nilai data tersebut.
3.      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.
v  Statemen LINE INPUT
            Maksud dari statemen ini adalah hendak memasukkan data ke dalam variable string
dengan menganggap bahwa seluruh data yang dimasukkan dianggap terdiri hanya 1 data item, walaupun dipisahkan oleh koma. Jika dibandingkan dengan statemen INPUT antara data item yang dipisahkan dengan koma dianggap lebih dari 1 data item.

Contoh 8 :       REM PROGINPUT5
LINE INPUT “KESUKAAN ANDA ?”, N$
                        PRINT N$; “ADALAH KESUKAAN ANDA.”
                        END
Output :
                        KESUKAAN ANDA ?RENANG, MAKAN DAN BELAJAR
                        RENANG, MAKAN DAN BELAJAR ADALAH KESUKAAN ANDA

Contoh 9 :       REM PROGINPUT6
INPUT “ISIKAN 3 KATA:”, SATU$,DUA$,TIGA$
                        LINE INPUT “ISIKAN KALIMAT:”, KALIMAT$
                        PRINT
                        PRINT “KATA SATU           =”, SATU$
                        PRINT “KATA DUA            =”,DUA$
                        PRINT “KATA TIGA            =”,TIGA$
                        PRINT KALIMAT$
                        END
Output :
                        ISIKAN 3 KATA : BELAJAR,BASIC,ASYIK
                        ISIKAN KALIMAT: BELAJAR,BASIC,ASYIK

                        KATA SATU              = BELAJAR
                        KATA DUA                = BASIC
                        KATA TIGA               = ASYIK
      BELAJAR,BASIC,ASYIK


LATIHAN
1.      Buatlah program dengan menggunakan kounter untuk menghasilkan deret jumlah bilangan genap dengan jumlah suku di input, dengan tampilan sbb :

JUMLAH SUKU = ….. (misalnya diinput 5)
2 + 4 + 6 + 8 + 10 = 30

Jawab :
REM PROGLATIHAN1
N = 1 : JML = 0
INPUT “JUMLAH SUKU =”, SUKU
     10   K = 2 * N
JML = JML + K
IF N = SUKU THEN 30 ELSE PRINT K;”+”;
N = N + 1
            GOTO 10
30      PRINT K;”=”;JML
END

2.      Buatlah program untuk menghitung luas dan keliling lingkaran  dengan jari-jari lingkaran nya diinput. Program juga akan menanyakan apakah akan menghitung lagi, jika ya maka akan dilakukan looping jika tidak maka program berhenti.
Jawab :
REM PROGLATIHAN2
   10     INPUT “JARI-JARI LINGKARAN=”; R
PHI = 3.14
LUAS = PHI * R * R
KELL = 2 * PHI * R
PRINT “LUAS LINGKARAN ADALAH = ” ; LUAS
PRINT “KELILING LINGKARAN ADALAH = “;KELL
INPUT “MAU HITUNG LAGI [Y/T] = “, LAGI$

IF LAGI$ = “Y” OR LAGI$=”y” THEN 10
END