bahan fiskom 1

Upload: vino-setiyawan

Post on 06-Jul-2015

661 views

Category:

Documents


0 download

TRANSCRIPT

I. DASAR-DASAR ALGORITMA DAN PEMROGRAMAN1. PendahuluanSetelah mempelajari materi ini, dan berdiskusi, serta mengerjakan tugas membuat algoritma dan program sederhana untuk menyelesaikan masalah-masalah fisika, diharapkan Anda mahasiswa mampu menyusun algorima pemrograman sederhana, dan dapat membuat program sederhana untuk menyelesaikan masalah-masalah fisika.

2. AlgoritmaAlgoritma adalah prosedur yang merinci suatu rangkaian operasi penyelesaian suatu masalah. Setiap algoritma mempunyai ciri-ciri sebagai berikut: 1. Tiap langkah dalam algoritma didefinisikan secara persis. Aksi yang harus dilaksanakan dirinci secara jelas untuk tiap kasus 2. Harus sampai pada penyelesaian masalah setelah berhingga langkah 3. Tiap algoritma yang berarti mempunyai nol atau lebih masukan dan mempunyai satu atau lebih keluaran 4. Algoritma harus dibuat seumum mungkin. Algoritma harus dapat diterapkan pada sembarang anggota dari suatu kelas masalah. Cara menyatakan algoritma dapat dengan memakai kode pseudo, yaitu kalimat-kalimat yang katakatanya sudah mempunyai makna tertentu atau dapat juga dengan cara menggambarkannya dalam bentuk suatu bagan alir. Contoh: Jari-jari lingkaran adalah 5 cm. Hitung keliling dan luasnya! Penyelesaian: 1. Mengubah bentuk umum ke bentuk komputer: Bentuk umum Bentuk komputer

Keliling = PI x 2 x R Luas = PI x R2

K = PI*2*R L = PI*(R^2)

2. Algoritma Program: a. Dalam bentuk kode pseudo (kalimat-kalimat) (1) Membaca nilai PI=3.14 (2) Ditanya Jari-jari ? Diisi ke variabel R (3) Dihitung keliling lingkaran: K = PI*2*R (4) Cetak nilai K (5) Dihitung luas lingkaran: L = PI*(R^2) (6) Cetak nilai L

1

b. Dalam bentuk bagan alir (flow chart)

Mulai

A

PI=3.14

Cetak nilai K

Masukan nilai R

L=PI*(R^2)

K=PI*2*R

Cetak nilai L

A 3. Bentuk Program: PI=3.14 INPUT Jari-jari; R K=PI*2*R PRINT Keliling lingkaran =;K L=PI*(R^2) PRINT Luas lingkaran =;L

Selesai

3. Simbol-simbol bagan alirSimbol Arti/KegunaanProses. Digunakan untuk menuliskan suatu persamaan matematis yang harus dilaksanakan, misalnya menjumlah dua buah perubah Predefined Process. Digunakan untuk menuliskan suatu kegiatan yang apabila dituliskan menggunakan persamaan matematis menjadi cukup panjang sehingga tidak praktis. Misalnyanya: hitung invers matriks menggunakan metode Gauss-Jordan Terminal. Digunakan untuk awal dan akhir suatu bagan alir Pemilihan proses. Digunakan untuk memilih suatu proses sesuai dengan kondisi yang diberikan. Simbol ini biasanya digunakan untuk menggambarkan statemen IF Masukan/keluaran. Simbol ini bisa digunakan untuk menggambarkan piranti masukan/keluaran secara umum Dokumen. Simbol ini digunakan untuk menggambarkan keluaran yang akan dicetak menggunakan printer atau alat pencetak lain

2

Layar tampilan. Digunakan untuk menggambarkan keluaran yang akan ditampilkan pada layar tampilan (CRT) Cakram magnetik. Digunakan untuk menggambarkan bahwa suatu kegiatan akan mengoperasikan data yang akan dibaca dari cakram magnetis, atau kegiatan tersebut akan menulis/merekam data ke dalam cakram magnetis Sambungan. Digunakan untuk menggambarkan sambungan bagan seandainya bagan alir tersebut tidak bisa digambar dalam satu halaman. Arah proses/kendali. Digunakan untuk menunjukkan arah aliran data atau kendali dalam bagan alir yang dimaksud

Tugas: Buatlah bentuk umum ke bentuk komputer dan algoritma program dalam bentuk kode pseudo (kalimat-kalimat) maupun dalam bentuk bagan alir (flow chart) untuk permasalahan-permasalahan sebagai berikut: 1. 2. 3. D. Menghitung luas sebuah travesium Menghitung kecepatan akhir dan perpindahan suatu benda yang bergerak lurus beraturan apabila percepatannya nol dan tidak nol Menghitung titik tertinggi dan jarak terjauh dari gerak parabola

Referensi Susila, I Nyoman. 1993. Dasar-dasar Metode Numerik. Jakarta: Depdikbud Santosa, P. Insap. 1997. Program-program Terapan Menggunakan Quick Basic. Jogyakarta: Andi Offset

3

II. MENGOPERASIKAN VISUAL BASICA. PendahuluanSetelah mempelajari materi ini, dan berdiskusi, praktek mengoperasikan interpreter Visual Basic serta mengerjakan tugas, Anda diharapkan mampu menjalankan program Visual Basic serta membuat program sederhana. B. Mengenal Ms-Visual Basic 6.0 Ms-Visual Basic 6.0 adalah bahasa pemrograman yang bekerja dalam lingkup Ms-Windows. MsVisual Basic 6.0 dapat memanfaatkan kemampuan Ms-Windows secara optimal. Kemampuannya dapat dipakai untuk merancang program aplikasi yang berpenampilan seperti program aplikasi lainnya berbasis Ms-Windows. Memulai Visual Basic Untuk memulai Visual Basic, lakukan langkah-langkah sebagai berikut. 1. Klik start 2. Tunjuk all programs, lanjutkan dengan Microsoft Visual Studio 6.0, lalu pilih Microsoft Visual Basic 6.0 3. Pilih Standar.EXE, kemudian klik open. Maka pada layar komputer akan muncul tampilan seperti pada Gambar 1 di bawah ini.

Gambar 1. Tampilan awal Visual Basic 6.0

4

Toolbar standar Fungsi masing-masing tombol pada toolbar standar adalah sebagai berikut.

Gambar 2. Toolbar Standar dan fungsinya

5

Toolbox Untuk mengatur desain dari aplikasi yang akan dibuat, diperlukan sejumlah tombol objek yang terdapat pada toolbox. Berikut ini fungsi masing-masing toolbox.

Gambar 3. Tombol kontrol dan fungsinya

6

Gambar 3 (lanjutan). Tombol kontrol dan fungsinya

Jendela Untuk Membuat Program Ada dua jendela yang digunakan untuk membuat program yaitu jendela Code dan jendela Object. Untuk menuliskan program, klik View pada menu bar kemudian pilih View yang dipilih pada jendela form. Project Ketika kita memulai menjalankan Visual Basic, maka pada layar akan muncul Project 1. Form 1 (form). Project merupakan suatu kumpulan modul atau program aplikasi itu sendiri. File project disimpan dengan nama file berakhiran .VBP. File ini berfungsi untuk menyimpan seluruh komponen program. Apabila kita membuat suatu program aplikasi baru, maka secara otomatis project tersebut akan diisi dengan objek Form1. Dalam jendela Project Explorer ditampilkan suatu struktur hierarki Code. Maka akan ditampilkan jendela Code yang digunakan untuk menulis kode program yang terhubung dengan objek

7

project tersebut yang berisi semua item yang terkandung di dalamnya. Dengan Project Explorer, kita dapat memilih objek yang kita buat dengan mudah. Pada jendela projek terdapat tiga icon, yaitu icon View Code, View Object, dan Toggle Folder. Icon View Code dipakai untuk menampilkan jendela editor kode program. Icon View Object dipakai untuk menampilkan bentuk formulir (Form). Icon Toggle Folders berguna untuk menampilkan folder tempat penyimpanan file. Properties Window Properties Window merupakan suatu jendela yang digunakan untuk menampung nama properti kontrol yang terpilih. Pengaturan properti merupakan hal yang sangat penting untuk membedakan objek yang satu dengan yang lainnya. Pada jendela properti ditampilkan jenis dan nama objek yang kita pilih secara berurutan berdasarkan abjad atau berdasarkan kategori. Untuk menampilkan jendela properti adalah sebagai berikut 1. Klik tombol Properties Window pada toolbar property atau 2. Pilih View-Properties Window, atau 3. Tekan F4 Form Layout Window Form Layout Window merupakan sebuah jendela yang digunakan untuk mengatur posisi form saat program dijalankan. Pada saat kita mengarahkan pointer mouse ke bagian form, maka pointer mouse akan berubah menjadi anak panah empat arah. Kita dapat memindahkan posisi form pada layar monitor dengan menggunakan drag and drop. Untuk menampilkan jendela Form Layout Window, adalah sebagai berikut. 1. Klik tombol Form Layout Window pada toolbar standar atau 2. Pilih perintah View- Form Layout Window Immediate Window Immediate Window merupakan sebuah jendela yang digunakan untuk mencoba beberapa perintah dengan mengetik baris program di dalamnya. Kita dapat melihat hasilnya secara langsung. Hal ini biasa dilakukan dan sangat membantu proses pengujian suatu perintah sebelum dimasukan ke dalam program. Untuk mengaktifkan jendela Immediate Window, yaitu sebagai berikut. 1. Pilih perintah View- Immediate Window atau 2. Klik tombol Immediate Window pada toolbar Debug atau 3. Ctrl+G Form Window Form Window merupakan jendela desain dari sebuah program aplikasi. Form dapat dibayangkan sebagai kertas atau meja kerja yang dapat dilukisi atau diletakkan ke dalamnya objek-objek lain. Kita dapat mendesain sebuah program aplikasi dengan menempatkan kontrol-kontrol yang ada di bagian toolbox pada area form. Pada jendela form juga terdapat beberapa elemen yang dapat kita gunakan untuk mengatur tampilan.

8

Pada saat kita membuat suatu program aplikasi (proyek baru), akan otomatis tersedia satu form dan dinamai Form1. Dalam satu proyek, kita dapat menggunakan lebih dari satu form. Biasanya pada saat mendesain proyek, pada form terdapat titik-titik yang membentuk garis atau grid. Grid sangat berguna untuk membantu pengaturan tata letak objek yang akan dimasukkan ke dalam form. Code Window Code Window merupakan sebuah jendela yang digunakan untuk menuliskan kode program kontrol yang kita pasang pada jendela form dengan cara terlebih dahulu memilih kontrol tersebut pada kotak objek. Kode program adalah serangkaian tulisan perintah yang akan dilaksanakan jika suatu objek dijalankan. Kode program ini akan mengontrol dan menentukan jalannya suatu objek. Event Event merupakan suatu kejadian yang akan diterima oleh suatu objek. Event yang diterima objek berfungsi menjalankan kode program yang ada dalam objek tersebut. Contoh: Private Sub Command1_Click Kode program di atas menunjukkan cara menggunakan event Click pada objek Command1. Apabila objek Command1 diklik, maka kode program yang terletak di bawah baris kode program tersebut akan dijalankan. Method Method adalah sekumpulan perintah yang memiliki fungsi hampir sama dengan suatu fungsi atau prosedur. Perbedaannya adalah, dalam method, perintah-perintah tersebut sudah disediakan dalam suatu objek. Suatu method dapat ditampilkan dengan cara mengetikan nama objek dan diikuti dengan tanda titik dan nama metodenya. Method umumnya digunakan untuk menjalankan perintah khusus pada suatu objek tertentu. Module Module memiliki fungsi yang hampir sama dengan form, tetapi module tidak berisi objek dan bentuk standar. Selain itu module berisi kode program atau prosedur yang dapat digunakan oleh program aplikasi. Kita dapat menambahkan suatu module ke dalam program aplikasi dengan menggunakan perintah Project-Add Module, dan kemudian mengisinya dengan suatu kode program yang akan digunakan oleh aplikasi tersebut.

C. Membuat Program Aplikasi Langkah Umum Membuat Program Aplikasi Sekarang marilah kita membuat program aplikasi yang pertama yaitu sebuah Timer. Program yang pertama ini tidak akan kita bahas secara rinci karena dimaksudkan untuk membantu memahami secara sekilas kemampuan dan cara membuat program aplikasi dengan MS-Visual Basic 6.0. Langkah-langkah umum untuk membuat program aplikasi adalah sebagai berikut:

9

1. Gambar komponen dan tata letak ke dalam jendela Form menggunakan peranti dalam jendela Toolbox. 2. Tentukan properti pada tiap komponen menggunakan jendela Properties. 3. Tulis kode program untuk event (suatu kejadian yang dirasakan objek, misalnya tunjuk, klik atau kejadian lainnya) yang bersangkutan pada tiap komponen. Membuat program aplikasi timer Untuk membuat contoh program aplikasi timer, ikuti langkah-langkah berikut ini. 1. Klik ganda tulisan Forms pada jendela proyek (sampai muncul tulisan Forml), dilanjutkan dengan mengklik ganda pada tulisan Forml, sehingga muncul tampilan Forml di layar 2. Klik icon Command Button (lihat Gambar 4a). 3. Klik dan tahan, lalu seret (dragging) dalam daerah jendela Form dengan arah diagonal sehingga terbentuk objek (tombol) Command1 seperti pada Gambar 4b. 4. Pada jendela Properties, isilah Caption dengan tulisan Start (lihat Gambar 4c). Perlu diketahui, jika Anda ingin mengubah isi properti dari suatu objek, maka objek tersebut harus sedang dipilih (dengan cara mengklik objek yang bersangkutan).

(a)

(b)Gambar 4. Membuat tombol command

(c)

5. Buat tiga buah kotak teks, kali ini menggunakan cara yang berbeda, yaitu cukup klik ganda pada icon TextBox sebanyak tiga kali. Anda akan mendapatkan kotak teks sebanyak tiga buah dengan ukuran dan nama default (otomatis dari MSVisual Basic 6.0), yaitu Text1, Text2 dan Text3. Ketiga kotak tersebut saling bertindihan dan terletak di tengah jendela Form, sehingga Anda harus menggeser dan meletakkan ketiga kotak teks seperti Gambar 5.

10

Gambar 5. Tata letak komponen aplikasi

6. Kosongkan isi Text pada ketiga kotak teks dengan cara menghapus isi kolom Text pada jendelaProperties. 7. Buat objek Timer dengan mengklik ganda icon Timer. Objek Timer ini letaknya boleh di mana saja karena pada saat aplikasi dijalankan, objek tersebut tidak akan ditampilkan di layar. Yang kita perlukan nanti adalah pelaksanaan objek Timer ini. Setelah itu, isilah interval waktu timer pada kolom Interval di jendela Properties dengan angka 1 8. Klik ganda pada tombol Command1 (tombol Start) sehingga muncul editor program dan tuliskan isi kode program sebagai berikut:

Dim Awal, Akhir, Lama As Single Private Sub Command1_Click() If Command1.Caption = "Start" Then Awal = Now Text1.Text = Format(Awal, "hh:mm:ss") Command1.Caption = "Stop" ElseIf Command1.Caption = "Stop" Then Akhir = Now Lama = Akhir - Awal Text3.Text = Format(Lama, "hh:mm:ss") Command1.Caption = "Selesai" ElseIf Command1.Caption = "Selesai" Then End End If End Sub

11

9. Klik pada kotak daftar Object dan pilih Timer. Akan muncul sisipan kode untuk event Timer.Tuliskan kode programnya seperti berikut:

Private Sub Timer1_Timer() If Command1.Caption = "Stop" Then Text2.Text = Format(Now, "hh:mm:ss") Text3.Text = Format(Now - Awal, "hh:mm:ss") End If End Sub10. Sampai di sini, pembuatan program aplikasi sudah selesai. Tutuplah jendela editor kode program dengan mengklik tombol Close (berbentuk tanda silang di pojok kanan atas jendela editor kode program). Anda akan dibawa lagi ke tampilan Form. Catatan:

Jika editor kode program hanya dapat menampilkan satu procedure dalam satu saat, maka Anda dapat berpindah antar-procedure dengan menekan tombol Ctrl+Page Up atau Ctrl+Page Down.

supaya editor kode program dapat menampilkan beberapa procedure dalam satu saat, maka Anda dapat mengaturnya dengan memilih menu Tools, Options lalu pilih lembar Editor dan beri tanda silang pada pillhan Default to Full Module View.

Menyimpan program aplikasi Sebelum program aplikasi dicoba dijalankan, sebaiknya disimpan dulu. Cara menyimpannya adalah dengan mengklik icon Save (berbentuk disket). File yang disimpan terdiri dari dua buah, yaitu file Form dan Project. Berilah nama keduanya dengan nama Timer Menjalankan program aplikasi Setelah Anda simpan program aplikasi yang telah dibuat, jalankanlah program aplikasi dengan memilih menu Run lalu Start atau tekan tombol fungsi F5. Anda dapat juga menjalankan program aplikasi dengan mengklik icon Start . Jalankan program aplikasi dengan meng klik tombol Start, maka tombol Start akan berubah menjadi tombol Stop dan penghitungan waktu mulai berjalan. Selanjutnya jika kemudian Anda klik tombol Stop, maka tombol Stop akan berubah menjadi tombol selesai dan penghitungan waktu berhenti, tetapi program masih dalam kondisi berjalan. Jika kemudian Anda klik tombol Selesai, maka pelaksanaan program dihentikan dan Anda akan dibawa kembali ke tampilan Form atau editor kode program.

12

Membuat file EXE Anda dapat membuat file EXE dari program aplikasi yang sudah selesai dibuat, sehingga dapat dijalankan langsung oleh MS-Windows, misalnya lewat icon Start lalu Run, atau lewat Windows Explorer, atau lewat icon Start lalu Programs (setelah ditambahkan dalam setting Taskbar). Untuk membuat file EXE dari program aplikasi, caranya secara singkat adalah sebagai berikut: 1. Pilih menu File. 2. Pilih Make .exe. 3. Tentukan nama file (misalnya Timer.exe) dan lokasinya dalam drive. 4. Tentukan pilihan-pilihan pembuatan file EXE jika dikehendaki (dengan mengklik tombol Options), kemudian klik OK. Menutup program aplikasi Pada saat Anda membuat program aplikasi baru atau Anda keluar dari program MS-Visual Basic 6.0, maka Program aplikasi yang sekarang ada di memori komputer akan otomatis ditutup. Jadi tidak diperlukan perintah khusus untuk menutup program aplikasi. Pada saat suatu program aplikasi akan tertutup, biasanya ada peringatan untuk menyimpan program tersebut. Peringatan ini akan muncul jika program belum tersimpan atau ada modifikasi pada program tersebut

Referensi Alam, M. Agus. 2001. Microsoft Visual Basic Versi 6.0, Belajar Sendiri. Jakarta: Elex Media Komputindo Triyuliana, Agnes Heni (ed). 2006. Panduan Pemrograman dan Refensi Kamus Visual Basic 6.0. Jogyakarta: Andi

13

III. TIPE DATA DAN STATEMEN BAHASA VISUAL BASICA. Pendahuluan Setelah mempelajari materi ini, berdiskusi, dan praktek membuat program sederhana serta mengerjakan tugas, Anda diharapkan mampu menggunakan statemen-statemen bahasa pemrograman Visual Basic, mengenal tipe data, menyatakan suatu peubah dan menerapkannya untuk membuat program sederhana untuk memecahkan masalah fisika B. Tipe Data 1. 2. Tipe data skalar, yaitu suatu peubah atau konstanta yang hanya menyimpan sebuah nilai data Tipe data terstruktur, yaitu peubah yang menyimpan lebih dari sebuah nilai data 1. Tipe Untai atau string adalah deretan karakter yang bisa terdiri dari maksimum 32.767 karakter. 2. Bilangan integer adalah bilangan yang tidak mempunyai titik desimal. 3. Bilangan riil presisi tunggal, yaitu bilangan yang mempunyai titik desimal. Mempunyai ketelitian 6 angka di belakang titik desimal. 4. Bilangan riil presisi ganda, yaitu bilangan yang mempunyai titik desimal. Mempunyai ketelitian 15 angka di belakang titik desimal. 5. Konstanta, adalah suatu data yang nilainya sudah didefinisikan sebelum program dieksekusi dan nilainya tidak akan berubah selama program tersebut dieksekusi. C. Peubah (Variabel) Peubah atau variabel adalah nama yang mewakili nilai data dimana nilai tersebut bisa berubah pada saat program dieksekusi. Ada dua macam peubah yaitu peubah untai atau string dan peubah numeris. Nama peubah dapat berisi maksimum sampai 40 karakter, dengan karakter pertama berupa huruf diikuti huruf lain atau angka. Untuk menyatakan tipe peubah maka pada akhir nama peubah diberi tanda sebagai berikut: $ untuk peubah bertipe untai atau string, contoh: Nama$ % untuk peubah bertipe numeris integer, contoh: F% ! untuk peubah bertipe numeris presisi tunggal, contoh: Vt! # untuk peubah bertipe numeris presisi ganda, contoh: St# Penulisan nama peubah tanda tanda pada akhiranya diartikan sebagai peubah bertipe numeris presisi tunggal. Nama peubah tidak boleh kata kunci Visual Basic seperti: SIN, COS, LOG dll. Latihan: Tuliskan program berikut ini, pelajari hasilnya

Tipe data skalar

Private Sub Form_activate()

14

Dim A As Single Dim B As Double A=1/3 B=1/3 Form1.Print "Single: ", A * 1000000000# Form1.Print "Double: ", B * 1000000000# End Sub

Referensi Alam, M. Agus J. 2001.Microsoft Visual Basic Versi 6.0. Jakarta: Elex Media Komputindo Chandra, Fajar. 1994. Aplikasi Matematika dalam Bahasa Basic. Jakarta: Dinastindo Jogiyanto. 1994. Teori dan Aplikasi Program Komputer Bahasa Basic. Jogyakarta: Andi Offset

15

IV. UNGKAPAN DAN OPERATORA. Pendahuluan Setelah mempelajari materi ini, berdiskusi, dan praktek membuat program sederhana serta mengerjakan tugas, Anda diharapkan mampu menggunakan ungkapan dan operator dalam penyusunan program Basic B. Ungkapan Dan Operator Ungkapan dapat berupa konstanta untai atau numeris, perubah atau nilai tunggal yang diperoleh dengan mengkombinasikan konstanta, peubah atau ungkapan lain menggunakan operator. Operator ini akan melakukan operasi matematis atau operasi logika terhadap nilai-nilai ini. Operator di dalam Quick Basic dibagi menjadi empat kategori yaitu operator aritmatika, relasi, logika dan fungsi. Operator aritmatika a. Pemangkatan (^) b. Pembalikan tanda bilangan (negasi) c. Perkalian dan pembagian (* dan /) d. Pembagian integer (\), yaitu pembagian tanpa sisa. Misal 10\4=2 e. Aritmatika modulo, adalah nilai integer dari sisa pembagian. Misal 10 MOD 3=1 f. Penjumlahan dan pengurangan (+ dan -) g. Penggabungan string ( &) Urutan operasi (yang akan dikerjakan terlebih dahulu) dari operator aritmatika di atas adalah: ^, negasi, * dan /, \, MOD, + dan -. Untuk operator: * dan / dengan + dan - , yang akan dikerjakan terlebih dahulu adalah operator yang ditulis duluan (yang paling kiri). Apabila dikehendaki operasi + atau dikerjakan terlebih dahulu karena tuntutan formula matematika, maka operasi tersebut harus diletakan di dalam tanda kurung.

Latihan: Tuliskan program di bawah ini kemudian Anda pelajari hasilnya

Private Sub Form_Activate() Form1.Print "2+3x4="; 2 + 3 * 4 Form1.Print 2 ^ 4 Form1.Print -2 ^ 4 Form1.Print (-2) ^ 4 Form1.Print 16 ^ 0.5 Form1.Print 11 / 2

16

Form1.Print 11 \ 2 Form1.Print 11 Mod 2 Form1.Print "2" + 3 Form1.Print "2" + "3" Form1.Print "Bandung" + "Kota" + "Kembang" Form1.Print "sin (30)="; Sin(3.14 / 180 * 30) Form1.Print "tg (45)="; Tan(3.14 / 180 * 45) Form1.Print "akar 4="; Sqr(4) End SubTugas: Tuliskan ungkapan Visual Basic untuk ungkapan aljabar di bawah ini!

x y z y x z xy z

x y x +y + a b 4 2 (x2 ) y xyz

x( y )

C. Operasi Relasi Operator relasi digunakan untuk membandingkan nilai dua buah peubah. Hasil pembandingan adalah benar (bukan nol) atau salah (nol). Hasil ini kemudian bisa digunakan untuk membuat suatu keputusan berdasarkan aliran programnya.

Operator = < > = Like IsContoh:

Relasi yang diuji Sama dengan Tidak sama dengan Lebih kecil dari Lebih besar dari Lebih kecil atau sama dengan Lebih besar atau sama dengan Mempunyai ciri yang sesuai Sama referensi objek

Private Sub Form_Activate() NF = InputBox("Nilai Fisika=") If NF > 7 Then Print "PINTAR" Else Print "BODOH" End SubTugas: Buat contoh penggunaan operator >= atau 20 AND NF>=8 OR NK>=8 THEN PRINT Masuk IPA ELSE PRINT Masuk IPS End SubTugas: Buat contoh penggunaan operasi logika pada permasalahan fisika

E. Operator Fungsional Dalam suatu ungkapan fungsi digunakan untuk memanggil suatu operasi yang telah didefinisikan sebelumnya pada operand. Contoh: SQR adalah fungsi untuk mengambil akar kuadrat dari suatu data numeris. Visual Basic mengenal dua macam fungsi, yaitu built-in function, yaitu fungsi yang disediakan kompiler seperti SIN, COS, ABS, INT dan user defined function, yaitu fungsi yang didefinisikan sendiri oleh pengguna dengan statemen yang dimulai dengan DEF FN. Fungsi ini hanya bisa digunakan oleh program yang mendefinisikannya. Referensi Alam, M. Agus J. 2001.Microsoft Visual Basic Versi 6.0. Jakarta: Elex Media Komputindo Chandra, Fajar. 1994. Aplikasi Matematika dalam Bahasa Basic. Jakarta: Dinastindo Santosa, P. Insap. 1997. Program-program Terapan Menggunakan Quick Basic. Jogyakarta: Andi Jogiyanto. 1994. Teori dan Aplikasi Program Komputer Bahasa Basic. Jogyakarta: Andi Offset

V. STATEMEN KONDISI DAN KENDALI 18

A. Pendahuluan Setelah mempelajari materi ini, berdiskusi, dan praktek membuat program sederhana serta mengerjakan tugas, Anda diharapkan mampu menggunakan statemen kondisi dan kendali dalam menyusun sebuah program untuk menyelesaikan masalah fisika B. Statemen kendali Statemen kendali adalah statemen yang digunakan untuk mengubah urutan eksekusi program dari urutan semula (secara berurutan) menjadi urutan yang sembarang sesuai kehendak programer. Secara umum statemen kendali dalam Visual Basic bisa dibagi menjadi 4 kelompok yaitu : 1. Statemen GOTO Statemen GOTO, berguna untuk melompatkan proses eksekusi ke suatu baris yang telah diberi nomor baris atau label tanpa harus menguji suatu kondisi. Bentuk umum statemen GOTO sebagai berikut. GOTO {nomor baris atau nama label} Nomor baris adalah adalah nomor baris program yang ditulis diawal suatu statemen Label adalah satu atau beberapa kata sembarang yang ditulis tanpa spasi dan diakhiri dengan tanda baca titik dua (:) Contoh penggunaan:

Private Sub Form_Activate() awal: Form1.Print "1. GLB" Form1.Print "2. GLBB" Form1.Print "3. GJB" Form1.Print "4. Selesai" pil = InputBox("Pilihan anda?") If pil = 1 Then GoTo GLB If pil = 2 Then GoTo GLBB If pil = 3 Then GoTo GJB If pil = 4 Then GoTo Selesai GLB: Form1.Print "Menghitung perpindahan pada GLB" V = InputBox("Masukkan kecepatan = ") t = InputBox("Masukkan selang waktu = ") S=V*t Form1.Print "Perpindahannya sejauh = "; S; "meter" GoTo awal GLBB:

19

Form1.Print "Menghitung kecepatan sesaat pada GLBB" Vo = InputBox("Masukkan kecepatan awal =") t = InputBox("Masukkan selang waktu") a = InputBox("Masukkan percepatan ") Vt = Vo + a * t Form1.Print "Kecepatan akhirnya adalah ="; Vt; "m/s" GoTo awal GJB: Form1.Print "Menghitung waktu benda jatuh" g = InputBox("Masukkan percepatan gravitasi =") h = InputBox("Masukkan ketinggian benda =") t = Sqr(2 * h / g) Form1.Print "Waktu jatuh adalah ="; t; "detik" GoTo awal Selesai: End Sub Awal, GLB, GLBB, GJB pada program di atas adalah merupakan labelTugas: Buat program untuk menyelesaikan masalah fisika yang menggunakan statemen kendali GOTO

2. Statemen IF ..THENELSE Bentuk umum statemen IF..THEN..ELSE secara keseluruhan dibagi menjadi 2 kelompok yaitu : ~ Stetemen IF..THEN. ELSE satu baris ~ Stetemen IF..THEN. ELSE banyak baris a. Stetemen IF..THEN. ELSE satu baris Bentuk umum Statemen IF..THEN. ELSE satu baris adalah sebagai berikut: IF kondisi THEN {statemen1 atau nobar1 atau GOTO label1} [ELSE {statemen 2 atau nobar2 atau GOTO label2}] Keterangan: Kondisi : syarat yang akan diuji logikanya, misalnya n>70 atau na 100 And EQ > 50 Then Print "Cerdas " Else Print "Bodoh" End Sub

Penjelasan: Kalau kita memasukan angka sehingga kedua kondisi di atas terpenuhi maka program akan mencetak teks Cerdas. Namun apabila salah satu kondisi tidak terpenuhi maka program akan mencetak teks Bodoh. b. Stetemen IF..THEN. ELSE banyak baris Bentuk umum Statemen IF..THEN. ELSE banyak baris adalah sebagai berikut:1) IF kondisi1 THEN

Statemen 1 [ELSEIF kondisi2 THEN [statemen2]] . . [ELSE [statemenn]] END IF

Contoh penggunaan:

Private Sub Form_Activate() NA = InputBox("Masukan Nilai Akhir") If NA > 75 Then HM$ = "A" ElseIf NA >= 65 Then HM$ = "B" ElseIf NA > 55 Then HM$ = "C" ElseIf NA >= 50 Then HM$ = "D" Else HM$ = "E" End If Print "HURUF MUTU YBS="; HM$ End SubTugas: Buat program untuk menyelesaikan masalah fisika yang menggunakan statemen kendali IF..THEN. ELSE satu baris dan banyak baris 3. Statemen SELECT CASE

21

Stemen SELECT CASE mempunyai kegunaan yang hampir sama dengan statemen kendali IF..THEN. ELSE banyak baris Bentuk umum: SELECT CASE ungkapan CASE nilai1 [statemen1] [CASE nilai2] [statemen2]] . . [CASE ELSE statemenn]] END SELECT Contoh penggunaan:

Private Sub Form_Activate() Nama$ = InputBox("Nama Mahasiswa") NA = InputBox("Nilai Akhir") Select Case NA Case 76 To 100 HM$ = "A" Case 66 To 75 HM = "B" Case 55 To 65 HM$ = "C" Case 50 To 54 HM$ = "D" Case Else HM$ = "E" End Select Print "Nama Mahasiswa :"; Nama$ Print "Huruf Mutu :"; HM$ End SubTugas: Buat program untuk menyelesaikan masalah fisika yang menggunakan statemen kendali SELECT CASE

4. Statemen ONGO TO

22

Statemen ini hanya bisa menguji sebuah kondisi yang mempunyai berbagai kemungkinan. Kondisi yang akan diuji hanya bisa mempunyai nilai data numerik integer atau bilangan bulat positif. Bentuk umum: ON ungkapan GOTO nobar atau label Contoh penggunaan:

Private Sub Form_Activate() nopil = 0 While nopil = 0 Or nopil > 4 Form1.Print "pilih salah satu" Form1.Print "1 GLB" Form1.Print "2 GLBB" Form1.Print "3 GJB" Form1.Print "4 Selesai" nopil = InputBox("Pilihan anda") Wend On nopil GoTo 10, 20, 30, 40 10 Print "Menghitung GLB" V = InputBox("Masukkan kecepatan:") t = InputBox("Masukkan waktu tempuh:") S=V*t Print "Perpindahan"; S; "m/s" GoTo 40 20 Print "Menghitung kecepatan sesaat pada GLBB" Vo = InputBox("Masukkan kecepatan awal:") a = InputBox("Masukkan percepatan") t = InputBox("Masukkan selang waktu") Vt = Vo + (a * t) Print "Kecepatan sesaatnya adalah:"; Vt; "m/s" GoTo 40 30 Print "Menghitung waktu pada GJB" Print "Menghitung waktu benda jatuh" g = InputBox("Masukkan percepatan gravitasi") h = InputBox("Masukkan ketinggian benda") 23

t = Sqr(2 * h / g) Print "Waktu jatuh adalah ="; t; "detik" GoTo 40 40 Print "Selesai" End SubPenjelasan: Kalau kita memilih angka nol atau angka lebih dari 4 maka akan selalu muncul menu pilihan di atas.

Tugas: Buat program untuk menyelesaikan masalah fisika yang menggunakan statemen kendali ONGO TO

24

VI. STATEMEN KALANGA. Pendahuluan Setelah mempelajari materi ini, berdiskusi, dan praktek membuat program sederhana serta mengerjakan tugas, Anda diharapkan mampu menggunakan perulangan (kalang) dalam menyusun sebuah program untuk menyelesaikan masalah fisika B. Statemen Kalang (ITERASI atau LOOP) Yaitu suatu perintah untuk mengerjakan sesuatu secara berulang beberapa kali sejumlah yang diminta atau sampai suatu kondisi terpenuhi. Beberapa statemen kalang yaitu: FOR ... NEXT, WHILE WEND, DO LOOP, ON GOTO. 1. FOR.NEXT Bentuk umum pencacah FOR NEXT sbb : FOR pencacah = awal TO akhir (STEP langkah) (statemen 1) (statemen 2)) NEXT (pencacah) Dengan Pencacah Awal Akhir Langkah Statemen 1, Statemen 2 : statemen statemen yang akan diproses ulang : Nama sembarang peubah numeris yang berfungsi mengendalikan banyaknya berulang : Nilai awal atau batas bawah pencacah : Nilai akhir atau batas atas pencacah : pertambahan nilai pencacah (kalau akhir < awal maka langkah harus bertanda - ) proses

Apabila nilai awal > akhir dan langkah >0 atau awal < akhir dan langkah akhir Ya Akhir kalang

Tidak

Pencacah= pencacah + langkah

25

Contoh 1:

Private Sub Form_Activate() Form1.Print "Program menghitung nilai sinus" pi = 3.14 For A = 0 To 360 Step 15 y = Sin(A * pi / 180) Print "sin"; A; "="; y Next A End SubPenjelasan: Program ini menghitung nilai sinus dari nol sampai 360 dengan selang 15 derajat. Di dalam sebuah statemen FOR NEXT juga dimungkinkan ada statemen FOR NEXT yang lain. Keadaan seperti ini disebut kalang tersarang (nested loop). Pada kalang tersarang, ada dua ketentuan yang harus dipenuhi, (a) peubah kendali kalang yang satu harus berbeda dengan kalang yang lain, dan (b) antara kalang yang satu dengan kalang yang lain tidak boleh saling berpotongan. Contoh 2:

Private Sub Form_Activate() FOR i = 1 TO 10 FOR j = 1 TO 5 PRINT i, j, i*j NEXT j NEXT i End SubTugas: Buat contoh program yang menggunakan statemen FOR NEXT untuk menyelesaikan masalah fisika!

2. WHILE . WEND Statemen WHILE . WEND digunakan apabila kita tidak mengetahui dengan pasti berapa jumlah ulangan yang harus dilakukan, tetapi kita mengetahui dengan pasti kapan operasi harus berhenti. Bentuk umum: WHILE kondisi . Statemen . WEND

26

Contoh :

Private Sub Form_Activate() WHILE Data >0 Data=InputBox(Masukan data) jmh = jmh + Data WEND PRINT "Jumlah data"; jmh End SubPenjelasan: Program tersebut akan terus-menerus menjumlahkan data yang kita masukan dan baru akan berhenti kalau kita memasukan data yang besarnya nol atau negatif Tugas: Buat contoh program yang menggunakan statemen WHILE . WEND untuk menyelesaikan masalah fisika!

3. D0 LOOP D0 LOOP berfungsi sama dengan statemen WHILE . WEND, namun proses berulang bisa dilaksanakan selama suatu kondisi bernilai benar atau salah. Kondisi yang diuji bisa diletakkan di awal atau di akhir statemen ini. Bentuk umum statemen sebagai berikut.

DO {WHILE atau UNTIL} kondisi Statemen 1 statemen 2 LOOP Atau DO Statemen 1 statemen 2 LOOP {WHILE atau UNTIL} kondisi Contoh:

bil = 0 DO WHILE bil > 0 bil = bil + n n=InputBox("masukkan n") LOOP PRINT "jumlah ="; bilPenjelasan: Program akan terus menerus meminta data dan menjumlahkan data yang kita masukan sepanjang jumlah bilangan tersebut lebih besar dari nol. Tugas: Buat contoh program yang menggunakan statemen D0 LOOP untuk menyelesaikan masalah fisika!

27

VII. STATEMEN LARIKA. Pendahuluan Setelah mempelajari materi ini, berdiskusi, dan praktek membuat program sederhana serta mengerjakan tugas, Anda diharapkan mampu menggunakan larik (array) dalam menyusun sebuah program untuk menyelesaikan masalah fisika B. Larik (Array) Penyelesaian persoalan menggunakan komputer seringkali memerlu kan sejumlah rinci data yang mempunyai karakteristik serupa. Sa mpai saat ini kita hanya berurusan dengan rinci data tunggal (skalar), yaitu rinci data yang hanya mampu menyimpan sebuah nilai data, karena seti ap kali peubah tersebut diberi nilai yang baru, maka nilai yang lama akan hilang dan tidak bisa dipanggil kembali. Dalam kebanyakan pro gram-program terapan seringkali kita harus berurusan dengan sekelom pok data sejenis atau yang tidak sejenis tetapi mempunyai hubungan satu sama lain. Dengan alasan ini, maka hampir setiap bahasa pemrograman modern, termasuk Microsoft Visual BASIC, dilengkapi dengan fasilitas untuk mengolah data yang bertipe larik (array). Larik adalah sekumpulan data yang mempunyai tipe data sejenis, misalnya numeris integer atau untai, dan diidentifikasikan dengan sebuah nama larik (peubah). Di dalam sebuah larik posisi setiap rinci data, juga disebut dengan komponen atau elemen larik, ditentukan oleh suatu besaran yang disebut dengan subskrib atau index yang menunjukkan letak sebuah elemen dalam sebuah larik. Berdasarkan banyaknya subskrib yang menentukan letak suatu elemen dalam larik dikenal adanya larik dimensi satu, larik dimensi dua, dan larik dimensi banyak. Berikut akan dijelaskan masing-masing larik dan bagaimana cara mendeklarasikannya.

1. Larik Dimensi Satu Larik dimensi satu, juga disebut dengan vektor, adalah sebuah larik yang terdiri dari sejumlah elemen, dan posisi setiap elemen ditentukan oleh sebuah subskrib. Berbeda dengan peubah skalar, setiap larik harus dideklarasikan terlebih dahulu. Deklarasi larik digunakan untuk mengalokasikan ruang pengingat yang akan digunakan dan juga menentukan tipe data dari masing-masing elemen larik. Larik bisa dideklarasikan dengan menggunakan statemen DIM. Bentuk umum deklarasi larik dimensi satu adalah sebagai berikut: DIM peubah ({ cacah | awal TO akhir }) [AS tipe] cacah awal akhir tipe : banyaknya elemen larik. : nomor awal subskrib. : nomor akhir subskrib. : tipe data masing-masing elemen misal integer

28

Misalnya: DIM Cacah(1 To 15) As Integer DIM Jumlah(100 To 120) As String

Dari bentuk umum di atas bisa kita lihat bahwa larik dimensi satu bisa dideklarasikan dengan dua cara. Cara pertama untuk mendeklarasikan larik dimensi satu adalah: DIM barisTabel(10) As Single Dalam deklarasi ini peubah barisTabel adalah sebuah larik dimensi satu dengan 10 buah elemen yang bertipe numeris presisi tunggal, dan elemen-elemennya diberi nomor mulai dari elemen nomor 1 sampai dengan nomor 10. Cara yang kedua adalah: DIM barisTabel (1 TO 10) As Double yang mempunyai pengaruh yang sama dengan cara yang pertama. Gambar 6. berikut ini mengilustrasikan larik barisTabel lengkap dengan nilai masing-masing elemennya.

3

4

17

25

6

12

5

35

10

32

Gambar 6. Contoh larik dimensi satu. Sesuai dengan contoh di atas, maka elemen pertama dari larik barisTabel mempunyai nilai 3, dan elemen kelima dari larik barisTabel mempunyai nilai 6, dan seterusnya. Notasi yang digunakan untuk menyatakan nilai sebuah elemen larik adalah dengan menyebutkan nama larik diikuti dengan nomor elemennya. Sebagai contoh, elemen nomor 7 dan nomor 9 bisa ditulis dengan barisTabel(7) = 5 barisTabel(9) =10 Satu perbedaan dari kedua cara mendeklarasikan larik seperti ditunjukkan di atas adalah bahwa dalam cara pertama nomor elemen selalu dimulai dari nomor 1, sedangkan dengan cara kedua kita bisa memberikan nomor sembarang pada elemen pertama baik positif maupun negatif. Sebagai contoh, dalam deklarasi berikut: DIM vektorSatu%(5 TO 10) maka vektorSatu% adalah sebuah larik dimensi satu dengan 6 buah elemen yang nomor subskribnya dimulai dari 5 dan diakhiri dengan 10. Meskipun demikian, anda bisa mengubah cara penomoran elemen dalam cara pertama dengan menggunakan statemen OPTION BASE. Sebagai contoh: OPTION BASE 10 DIM tabelAngka!(5) berarti bahwa vektor tabelAngka! mempunyai 5 buah elemen dengan nomor subskribnya dimulai dari nomor 10 sampai dengan 14.

29

Berikut disajikan beberapa contoh deklarasi larik dimensi satu: DIM namaSiswa(50) AS STRING DIM gajiBulanan(25) AS Integer DIM rataRata! (1 TO 10) Contoh Program larik dimensi satu untuk menghitung selisih setiap data dengan rata-ratanya:

CLS

CacahData%=InputBox("masukkan n")DIM NilaiData!( CacahData%) JumlahData! = 0

FOR i% = 1 TO CacahData% NilaiData!(i%)= InputBox("data=")NEXT i%

FOR i% = 1 TO CacahData%JumlahData! = JumlahData! + NilaiData!(i%) NEXT i% Rerata! = JumlahData! / CacahData% Form1. PRINT Rata-rata = ; Rerata!2. Larik Dimensi Dua Larik dimensi dua, lebih dikenal dengan matrix atau tabel, adalah sekumpulan elemen yang sejenis, dan posisi setiap elemennya ditentukan oleh dua buah subskrib, yaitu nomor baris dan nomor kolom. Larik dimensi dua bisa dibayangkan sebagai sekumpulan larik dimensi satu yang berukuran sama. Gambar 2. menyajikan contoh larik dimensi dua dengan 8 buah kolom dan 5 buah baris. Seperti halnya larik dimensi satu, sebelum bisa digunakan larik dimensi dua juga harus dideklarasikan terlebih dahulu. Bentuk umum deklarasi larik dimensi dua adalah:

DIM peubah (baris, kolom) [AS tipe] atau DIM peubah (baris1 TO baris2, kolom1 TO kolom2) [AS tipe]

dengan peubah : nama peubah yang akan dideklarasikan sebagai larik dimensi dua. baris : cacah baris kolom : cacah kolom baris1 : nomor baris dari baris pertama baris2 : nomor baris dari baris terakhir kolom1 : nomor kolom dari kolom pertama kolom2 : nomor kolom dari kolom terakhir 30

kolomb a r i s 1 1121 31 41 2 12 22 32 42 3 13 23 33 43 4 14 24 34 44 5 15 25 35 45 6 16 26 36 46 7 17 27 37 47 8 18 28 38 48

Gambar 7. Contoh larik dimensi dua.

Dengan menggunakan bentuk umum di atas, larik dimensi dua dalam Gambar 7 harus dideklarasikan dengan: DIM matrixA (5, 8) AS INTEGER atau DIM matrixA (1 TO 5, 1 TO 8) AS INTEGER Seperti dijelaskan di atas, dalam larik dimensi dua posisi setiap elemen ditentukan oleh dua subskrib, yaitu nomor baris dan nomor kolom. Dalam hal ini nomor baris disebutkan terlebih dahulu. Dalam contoh di atas, maka elemen pada baris 2 kolom 5, ditulis dengan menggunakan notasi matrixA(2, 5), mempunyai nilai 15, dan elemen pada baris 5 kolom 2, ditulis dengan notasi matrixA(5, 2), mempunyai nilai 42.

2.1. Membaca Elemen Larik Dimensi DuaDengan memperhatikan Gambar 2., sebuah matrix bisa dibaca dengan dua cara, yaitu dibaca per baris atau dibaca per kolom. Jika anda menggunakan statemenREAD

dan DATA, maka anda perlu

berhati-hati dalam menuliskan urutan nilai datanya, karena kesalahan dalam menuliskan urutan nilai data akan bisa berakibat fatal. Program di bawah ini menyajikan contoh pembacaan elemen matrix. Program pertama akan membaca elemen larik per baris, dan program kedua akan membaca elemen larik per kolom. Contoh program 1

DIM matrixA(4, 4) FOR i% = 1 TO 4 FOR j% = 1 to 4 matrixA(i%,j%)=InputBox (matriks A=) NEXT j% NEXT i% Contoh program 2DIM matrixA(4, 4)FOR i% = 1 TO 4 FOR j% = 1 to 4

31

matrixA(j%, i%)=InputBox(Matrik A=) NEXT j% NEXT i%2.2. Mencetak Larik Dimensi Dua Untuk mencetak bentuk matrix seperti apa adanya anda perlu berhati-hati kapan anda harus berpindah baris. Sebagai contoh, dengan menggunakan matrix seperti pada Program 3, jika anda memberikan perintah:

FOR i% = 1 to 4

FOR j% = 1 to 4PRINT matrixA(i%, j%)

NEXT j% NEXT i%Hasil yang diberikan adalah bahwa semua elemen larik akan ditulis ke bawah dengan setiap baris hanya terdiri dari sebuah nilai elemen. Setelah anda melihat hasil di atas mungkin anda akan bertanya, mengapa demikian? Untuk memahami hasil di atas anda perlu mengingat kembali bagaimana statemen PRINT bekerja. Jika di belakang argumen tidak terdapat tanda baca koma atau titik koma, maka setelah mencetak nilai argumen statemen PRINT langsung akan pindah ke baris berikutnya. Dengan demikian anda perlu meletakkan tanda baca koma atau titik koma di belakang argumen yang dicetak, misalnya:

FOR i% = 1 to 4 FOR j% = 1 to 4 PRINT matrixA(i%, j%); NEXT j% NEXT i%Dengan cara di atas anda akan memperoleh hasil keluaran: 4 6 8 3 6 3 1 2 7 4 3 9 1 3 6 8 yang juga tidak benar. Dengan demikian, anda harus memberikan suatu statemen agar setelah satu baris selesai di cetak, maka perlu pindah baris sebelum mencetak berikutnya. Hal ini bisa dilaksanakan dengan:

FOR i% = 1 to 4 FOR j% = 1 to 4 PRINT matrixA(i%, j%); NEXT j% PRINT * diperlukan untuk berpindah baris * NEXT i%

Hasil 4 6 8 6 3 1 7 4 3 1 3 6

yang akan anda peroleh adalah: 3 2 9 832

CONTOH PROGRAM OPERASI MATRIKS 1. PENJUMLAHAN DUA MATRIKSCLS BA=InpuBox ("Jumlah Baris Matriks A") KA=InpuBox ("Jumlah Kolom Matriks A") BB = BA KB = KA DIM A(BA, KA), B(BB, KB), C(BA, KA) CLS LOCATE 1, 5: PRINT "MATRIKS A" FOR BRS = 1 TO BA FOR KLM = 1 TO KA YA = BRS + 2 XA = 3 * KLM LOCATE YA, XA: A(BRS, KLM)=InputBox(A= ) NEXT KLM NEXT BRS LOCATE 1, 40: PRINT "MATRIKS B" FOR BRS = 1 TO BB FOR KLM = 1 TO KB YB = BRS + 2 XB = 40 + (3 * KLM) LOCATE YB, XB: B(BRS, KLM)=InputBox(B= ) NEXT KLM NEXT BRS FOR BRS = 1 TO BA FOR KLM = 1 TO KA C(BRS, KLM) = A(BRS, KLM) + B(BRS, KLM) NEXT KLM NEXT BRS PRINT PRINT "MATRIKS A + B" FOR BRS = 1 TO BA FOR KLM = 1 TO KA PRINT C(BRS, KLM); NEXT KLM PRINT NEXT BRS

2. PERKALIAN MATRIKS DENGAN SKALARCLS BA=InputBox ("Jumlah Baris Matriks A") KA=InputBoc ("Jumlah Kolom Matriks A") INPUT "Pengali Matrik"; P DIM A(BA, KA), C(BA, KA) CLS LOCATE 1, 5: PRINT "MATRIKS A" FOR BRS = 1 TO BA FOR KLM = 1 TO KA YA = BRS + 2 XA = 3 * KLM

33

LOCATE YA, XA: A(BRS, KLM)=InputBox(A= ) NEXT KLM NEXT BRS FOR BRS = 1 TO BA FOR KLM = 1 TO KA C(BRS, KLM) = P * (A(BRS, KLM)) NEXT KLM NEXT BRS PRINT PRINT "Pengali: "; P PRINT "P x MATRIKS A" FOR BRS = 1 TO BA FOR KLM = 1 TO KA PRINT C(BRS, KLM); NEXT KLM PRINT NEXT BRS

3. MATRIKS TRANSPOSECLS INPUT "Jumlah Baris Matriks A"; BA INPUT "Jumlah Kolom Matriks A"; KA DIM A(BA, KA), C(KA, BA) CLS LOCATE 1, 5: PRINT "MATRIKS A" FOR BRS = 1 TO BA FOR KLM = 1 TO KA YA = BRS + 2 XA = 3 * KLM LOCATE YA, XA: INPUT " ", A(BRS, KLM) NEXT KLM NEXT BRS FOR BRS = 1 TO BA FOR KLM = 1 TO KA C(KLM, BRS) = A(BRS, KLM) NEXT KLM NEXT BRS PRINT PRINT "TRANSPOSE MATRIKS A" FOR BRS = 1 TO KA FOR KLM = 1 TO BA PRINT C(BRS, KLM); NEXT KLM PRINT NEXT BRS

4.PROGRAM PERKALIAN DUA BUAH MATRIKSCLS INPUT "Jumlah Baris Matriks A"; INPUT "Jumlah Kolom Matriks A"; INPUT "Jumlah Kolom Matriks B"; BB = KA DIM A(BA, KA), B(BB, KB), C(BA, CLS BA KA KB KB)

34

LOCATE 1, 5: PRINT "MATRIKS A" FOR BRS = 1 TO BA FOR KLM = 1 TO KA YA = BRS + 2 XA = 3 * KLM LOCATE YA, XA: INPUT " ", A(BRS, KLM) NEXT KLM NEXT BRS LOCATE 1, 40: PRINT "MATRIKS B" FOR BRS = 1 TO BB FOR KLM = 1 TO KB YB = BRS + 2 XB = 40 + (3 * KLM) LOCATE YB, XB: INPUT " ", B(BRS, KLM) NEXT KLM NEXT BRS FOR BRS = 1 TO BA FOR KLM = 1 TO KB FOR KALI = 1 TO KA D = A(BRS, KALI) * B(KALI, KLM) C(BRS, KLM) = C(BRS, KLM) + D NEXT KALI NEXT KLM NEXT BRS PRINT PRINT "MATRIKS A X B" FOR BRS = 1 TO BA FOR KLM = 1 TO KB PRINT C(BRS, KLM); NEXT KLM PRINT NEXT BRS

35

VIII. GRAFIK DENGAN VISUAL BASIC A. Pendahuluan Setelah mempelajari materi ini, berdiskusi, dan praktek membuat program sederhana serta mengerjakan tugas, Anda diharapkan mampu menggunakan pernyataan-pernyataan grafis dalam menyusun sebuah program animasi untuk menyelesaikan masalah fisika B. Sistem Koordinat Pada layar komputer titik asal terletak di ujung kiri atas, ke arah kanan dinamakan sumbu x positif dan ke arah bawah dinamakan sumbu y positif; sehingga seolah-olah tidak ada sumbu x negatif dan sumbu y negatif.

(0,0)

+

+1. Screen

Statemen screen digunakan untuk mengaktifkan mode grafik dan untuk memilih resolusi gambar.

a. Screen 0, digunakan hanya untuk teks, terdiri dari 40 kolom x 25 baris untuk ukuran karakternormal dan 80 kolom x 25 baris untuk ukuran karakter 8 x 8

b. Screen 1, digunakan untuk grafik resolusi menengah dengan ukuran layar 320 x 200 pixeldan untuk teks dengan format 80 kolom x 25 baris untuk ukuran karakter 8 x 8. Pada Screen 1 terdapat 4 warna latar depan dan 16 warna latar belakang

c. Screen 2, digunakan untuk grafik resolusi tinggi dengan ukuran layar 640 x 200 pixel danuntuk teks dengan format 40 kolom x 25 baris untuk ukuran karakter 8 x 8. Pada Screen 2 terdapat 1 warna latar depan dan 1 warna latar belakang

(0,0)

(319,0)

(0,0)

(639,0)

(0,199) a. Screen 12. Statemen LINE

(319,199)

(0,199) b. Screen 2

(639,199)

Statemen LINE digunakan untuk menggambar garis atau kotak dimulai dari satu titik ke titik yang lain. Dalam hal menggambar kotak, kotak tersebut bisa dicat/diblok/diberi warna dengan warna tertentu. Bentuk umum statemen LINE adalah:

LINE [[STEP] (x1, y1)] - [STEP] (x2, y2) [,[warna],B[F]] 36

Dengan (x1, y1) (x2, y2) warna STEP

: koordinat titik pangkal garis, atau koordinat titik pada sudut kiri atas : koordinat titik ujung garis, atau koordinat titik pada sudut kanan bawah : kode warna gambar/cat : kata STEP disebelah kiri koordinat menunjukkan bahwa (x1, y1) adalah perubahan koordinat dihitung dari posisi titik terakhir. Jika kata ini tidak ada, maka (x1, y1) dianggap sebagai koordinat absolut.

B F

:

Jika option B ditambahkan maka akan menggambar bentuk kotak dengan koordinat titik kiri atas (x1, y1) dan koordinat titik kanan bawah adalah (x2, y2)

: Option ini menunjukkan bahwa kita ingin mewarnai gambar kotak dengan warna yang ditunjukkan oleh parameter warna.

Contoh Program 1: Menggambar garis dan kotak

CLS : SCREEN 1 LINE (5, 5)-(100, 50), 2 LINE (5, 100)-(200, 250), 3,BFApabila dikehendaki menggambar garis berjalan maka gunakan perintah dengan statemen kalang dimana titik koordinatnya berupa variabel yang nilainya berubah sesuai dengan jalannya garis. Supaya gerak garis terlihat jelas, gunakan step kalang angka yang kecil. Contoh Program 2: Menganimasi garis

CLS : SCREEN 1 FOR X = 10 TO 200 STEP .005 LINE (X, 20) - (X+1, 20), 2 NEXT X FOR X = 200 TO 20 STEP -.005 LINE (X, X) - (X+1, X+1), 2 NEXT XTugas: 1. Buat program untuk menampilkan jalannya sinar yang mengenai cermin (hukum Snellius) 2. Buat program untuk menampilkan jalannya sinar istimewa pada lensa positif 3. Pelajari program Menggambarkan Grafik Sinus di bawah ini. Berikan penjelasan fungsi statemen atau perintah pada setiap baris program

CLS SCREEN 2 pi = 3.14 LINE (50, 50)-(50, 150) LINE (50, 100)-(680, 100) FOR x = 0 TO 630 STEP .05 y = SIN(x * pi / 180) b = 40 * y 37

x1 = 50 + x y1 = 100 - b LINE (x1, y1)-(x1 + 1, y1 + 1), 2 NEXT4. Buat program yang sama dengan no 3 tetapi untuk grafik y = a Cos (b+f) dengan nilai a (amplitudo) dan f (fase) dimasukan melalui keyboard

5. Statemen CIRCLEStatemen ini digunakan untuk menggambar lingkaran atau elips dengan jari-jari dan titik pusat yang tertentu. Bentuk umum statemen CIRCLE adalah: CIRCLE (x, y), jari-jari, warna, awal, akhir, rasio Dengan (x1, y1) Jari-jari warna awal akhir rasio : koordinat titik pusat lingkaran atau elips : Jari-jari lingkaran atau elips : kode warna gambar : Sudut awal penggambaran lingkaran atau elips, dinyatakan dalam radian, nilainya antara -2 sampai 2. : Sudut akhir penggambaran lingkaran atau elips, dinyatakan dalam radian, nilainya antara -2 sampai 2. : Perbandingan jari-jari y (ke arah atas) terhadap jari-jari x (ke arah kanan)

Contoh Program 3: Menggambar lingkaran, busur lingkaran, dan elips

SCREEN 1 CIRCLE (50, 30), 10, 1 CIRCLE (150, 30), 10, 1, -0.1, 3 CIRCLE (50, 100), 15, 1, , ,0.5Contoh Program 4: Menggambar lingkaran dianimasi

CLS SCREEN 1 FOR x = 1 TO 300 STEP 1 CIRCLE (x, 50), 25, 2 CLS NEXT x FOR y = 300 TO 1 STEP -1 CIRCLE (y, 150), 25, 2 CLS NEXT y ENDTugas: Pelajari program-program di bawah ini. Kenali maksud dari setiap statemennya.

38

Contoh Program 5: Gerak Parabola

CLS SCREEN 1 INPUT "Kecepatan awal v(50-75) ="; v INPUT "gravitasi g ="; g INPUT "elevasi a ="; a max = (v ^ 2 * SIN(2 * a * 3.14 / 180)) / g FOR x = 0 TO max STEP .05 y = x * TAN(a * 3.14 / 180) - (g * x ^ 2) / (2 * v ^ 2 * (COS(a * 3.14 / 180)) ^ 2) x1 = x + 10 y1 = 100 - y LINE (x1, y1)-(x1 + .5, y1), 2 NEXT Contoh Program 6: Gerak Peluru SCREEN 1 DIM ball(1 TO 300) CIRCLE (150, 30), 4, 1 PAINT (150, 30), "axa", 1 GET (142, 15)-(155, 45), ball CLS INPUT "Kecepatan awal v ="; v INPUT "gravitasi g ="; g INPUT "elevasi a ="; a max = (v ^ 2 * SIN(2 * a * 3.14 / 180)) / g FOR x = 0 TO max STEP .05 y = x * TAN(a * 3.14 / 180) - (g * x ^ 2) / (2 * v ^ 2 * (COS(a * 3.14 / 180)) ^ 2) x1 = x + 10 y1 = 100 - y PUT (x1, y1), ball, PSET NEXT Contoh Program 7: BOM SCREEN 1 DIM pesawat(1 TO 300) DIM bom(1 TO 300) CIRCLE (12, 10), 9, 1, , , .4 PAINT (12, 10), "aa", 1 CIRCLE (12, 7), 5, 2, 0, 3.14, .5 GET (1, 1)-(20, 13), pesawat CIRCLE (12, 12), 3, 1, , , .5 GET (9, 9)-(12, 12), bom PAINT (12, 12), "axa", 1 CLS INPUT "Kecepatan pesawat v ="; v INPUT "Ketinggian Pesawat h="; h INPUT "gravitasi g ="; g max = 2 * v ^ 2 * SIN(a * 3.14 / 180) * COS(a * 3.14 / 180) / g FOR x = 0 TO 200 STEP .05 39

y = x * TAN(a * 3.14 / 180) - (g * x ^ 2) / (2 * v ^ 2 * (COS(a * 3.14 / 180)) ^ 2) x1 = x + 10 y1 = h - y PUT (x1, h), pesawat, PSET PUT (x1, y1 + 10), bom, PSET NEXT Contoh Program 8: Gerak Jatuh Bebas SCREEN 1 DIM ball(1 TO 300) CIRCLE (150, 30), 10, 1 PAINT (150, 30), "axa", 1 GET (140, 10)-(160, 40), ball CLS LINE (1, 1)-(319, 199), 1, B LINE (30, 180)-(280, 180) PUT (150, 18), ball LOCATE 24, 7: PRINT " Tekan Esc untuk berhenti"; : b$ = INPUT$(1) DO a$ = INKEY$ FOR y = 1 TO 11.5 STEP .005 yt = y ^ 2 PUT (150, 17 + yt), ball, PSET NEXT y FOR y = 11.5 TO 1 STEP -.005 yt = y ^ 2 PUT (150, 17 + yt), ball, PSET NEXT y LOOP UNTIL a$ = CHR$(27) Contoh Program 9: pulsa gelombang CLS SCREEN 1 PRINT " PULSA GELOMBANG" PRINT " UJUNG TERIKAT" DIM PULSA%(1 TO 100) pi = 3.14592653589794# CIRCLE (251, 100), 2, 5, , .5 LINE (250, 70)-(250, 120): LINE (252, 70)-(252, 120) LINE (50, 100)-(252, 100), 2 FOR XJ = 1 TO 200 FOR x = 0 TO 35 y = x * TAN(60 * pi / 180) - (9.8 * x ^ 2) / (800 * (COS(60 * pi / 180)) ^ 2) x1 = 5 + x y1 = 100 - y LINE (x1 + XJ, y1)-(x1 + XJ + 2, y1), 2 GET (x1 + XJ, y1)-(x1 + XJ, y1), PULSA% PUT (x1 + XJ, y1), PULSA%, XOR NEXT x 40

LINE (0, 100)-(XJ, 100), 2 NEXT XJ CLS Contoh Program 10: Program Gelombang Berjalan PRINT " PULSA GELOMBANG" PRINT " UJUNG TERIKAT" LINE (250, 70)-(250, 120): LINE (252, 70)-(252, 120) LINE (200, 100)-(5, 100), 2 FOR XJ = 200 TO 1 STEP -1 FOR x = 0 TO 35 y = x * TAN(60 * pi / 180) - (9.8 * x ^ 2) / (800 * (COS(60 * pi / 180)) ^ 2) x1 = 5 + x y1 = y + 100 LINE (x1 + XJ, y1)-(x1 + XJ - 2, y1), 2 GET (x1 + XJ, y1)-(x1 + XJ, y1), PULSA% PUT (x1 + XJ, y1), PULSA%, XOR NEXT x LINE (252, 100)-(XJ + 38, 100), 2 NEXT XJ END Contoh Program 11: Tumbukan Lenting Sempurna SCREEN 1 DIM ball1(1 TO 300) DIM ball2(1 TO 300) CIRCLE (25, 100), 10, 2 GET (10, 90)-(40, 108), ball1 CIRCLE (300, 100), 10, 1 PAINT (300, 100), "axa", 1 GET (280, 90)-(315, 108), ball2 CLS LINE (1, 1)-(319, 180), 1, B LINE (10, 125)-(295, 125) PUT (15, 100), ball1, PSET PUT (280, 100), ball2, PSET LOCATE 4, 7: PRINT " Tumbukan Lenting Sempurna"; FOR x = 1 TO 125 STEP .01 PUT (14 + x, 100), ball1, PSET PUT (281 - x, 100), ball2, PSET NEXT FOR x = 125 TO 1 STEP -.01 PUT (14 + x, 100), ball1, PSET PUT (281 - x, 100), ball2, PSET NEXT

41