0% menganggap dokumen ini bermanfaat (0 suara)
49 tayangan

Modul PK 2016

Dokumen tersebut merupakan jadwal kuliah mata kuliah Pemrograman Komputer yang mencakup (1) jadwal pertemuan dan materi yang akan dibahas setiap pertemuan, (2) aturan penilaian, dan (3) aturan perkuliahan. Mata kuliah ini akan membahas berbagai bahasa pemrograman seperti Quick Basic dan Visual Basic melalui 16 pertemuan selama semester.

Diunggah oleh

Capoeira Sitanggang
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
49 tayangan

Modul PK 2016

Dokumen tersebut merupakan jadwal kuliah mata kuliah Pemrograman Komputer yang mencakup (1) jadwal pertemuan dan materi yang akan dibahas setiap pertemuan, (2) aturan penilaian, dan (3) aturan perkuliahan. Mata kuliah ini akan membahas berbagai bahasa pemrograman seperti Quick Basic dan Visual Basic melalui 16 pertemuan selama semester.

Diunggah oleh

Capoeira Sitanggang
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 99

DIKTAT KULIAH

PEMROGRAMAN KOMPUTER

Quick Basic 4.5


Visual Basic 6.0

Program Studi Teknik Industri


Fakultas Teknologi Industri
Universitas Atma Jaya Yogyakarta
2016

0
JADWAL KULIAH
PEMROGRAMAN KOMPUTER
No Tanggal (2016) Minggu ke- Kegiatan Keterangan
1 15 Agus – 19 Agus 1 Asist. Umum+Algoritma
2 22 Agus – 26 Agus 2 Bab 1+2
3 29 Agus – 2 Sep 3 Bab 3
4 5 Sep – 9 Sep 4 Bab 4
5 12 Sep – 16 Sep 5 Bab 5
6 19 Sep – 23 Sep 6 Bab 6
Pembagian Kelompok
7 26 Sep – 30 Sep 7 Responsi 1 Tugas Besar
8 3 Okt – 14 Okt 8&9 UTS
Review Bab 1-6 dan Kumpul judul
9 17 Okt – 21 Okt 10
Pembahasan Responsi 1 Tugas Besar
10 24 Okt – 28 Okt 11 Bab 7
11 31 Okt – 4 Nov 12 Bab 8 (VB 1)
12 7 Nov – 11 Nov 13 Bab 9 (VB 2)
13 14 Nov – 18 Nov 14 Bab 10 (VB 3)
Presentasi Kemajuan
14 21 Nov – 25 Nov 15
Tugas Besar
Presentasi Tugas
15 28 Nov – 2 Des 16 Responsi 2
Besar
16 5 Des – 17 Des 17 & 18 UAS

Aturan Penilaian
Variabel Bobot
1. Pretest 10
2. Latihan 5
3. Tugas Take Home 15
4. Responsi 1 20
5. Responsi 2 20
6. UTS 15
7. UAS 15
Aturan Perkuliahan
1. Tugas harus diasistensikan minimum 1 kali. Jika tidak asistensi, maka nilai
tugas dipotong 50% (lembar asistensi harus dikumpul).
2. Tugas dengan isi sama (menyalin), maka nilai dibagi rata (oleh asisten).
3. Inhall (pindah kelas) maksimum 2 kali, dengan menyampaikan
pemberitahuan tertulis (surat) terlebih dahulu.
4. Tidak masuk (izin/sakit) maksimum 3 kali.
5. Tidak ada pretest/tugas/ujian susulan.
6. Tidak ada Remedial.
7. Pretest, Latihan dan Tugas Take Home setiap minggunya diupload di situs
kuliah.

1
Bab I
Dasar Pemrograman
1. Pendahuluan
Pemrograman Komputer. Pemrograman Komputer adalah aktivitas untuk membuat
Program Komputer. Program Komputer terdiri dari serangkaian instruksi atau perintah pada
komputer yang dapat membuat komputer menyelesaikan tugas tertentu. Pada umumnya
program komputer digunakan untuk menyelesaikan masalah tertentu, sehingga pada akhir
program yang telah dijalankan komputer dapat menghasilkan penyelesaian masalah tersebut.
Agar dapat memerintah komputer dalam penyelesaian masalah, manusia sebagai
pemakai komputer harus dapat berkomunikasi dengan komputer yang dipakainya. Akan
tetapi, komputer hanya dapat menjalankan perintah dalam ‘bahasa’ yang dikenalnya yaitu
bahasa mesin, ‘bahasa’ yang disusun berdasarkan dua kondisi yaitu arus listrik on atau off.
Bahasa ini dikenal dengan sebutan bahasa aras rendah (low-level language). Pemakai
komputer tentunya terbiasa berkomunikasi dengan bahasa ibunya, sehingga terlampau sulit
untuk dapat berkomunikasi dengan komputer dalam bahasa mesin. Sehingga untuk
menjembatani hal ini, disusunlah yang disebut dengan bahasa pemrograman. Di antara
beberapa bahasa pemrograman yang ada, sebagian dekat ke bahasa mesin dan sebagian
dekat ke bahasa manusia. Dekat artinya cenderung sama, sehingga juga mudah dipahami
oleh asal pengguna bahasa tersebut, komputer atau manusia. Karena bahasa pemrograman
banyak dikembangkan oleh manusia yang berbahasa ibu bahasa Inggris, bahasa manusia
yang didekati oleh bahasa pemrograman tentunya adalah bahasa Inggris juga. Bahasa-
bahasa pemrograman yang dekat dengan bahasa mesin dikelompokkan dalam bahasa aras
menengah (middle-level language), contoh : Assembly dan C. Sedangkan bahasa yang dekat
dengan bahasa manusia dikelompokkan dalam bahasa aras tinggi (high-level language),
contoh : BASIC (Beginners All-purpose Symbolic Instruction Code), FORTRAN (FORmula
TRANslator), COBOL (COmmon Business Oriented Language), Pascal, PL-I, dan Prolog.
Program Komputer dapat dituliskan dengan menggunakan bahasa pemrograman
apapun, asalkan proses yang diinginkan sudah tepat. Penerjemahan dari bahasa aras
tinggi/menengah ke bahasa aras rendah, dilakukan oleh komputer itu sendiri dengan
menggunakan program yang telah dibuat oleh pembuat bahasa. Ada dua jenis program
penerjemah yaitu compiler dan interpreter. Compiler menerjemahkan terlebih dahulu
keseluruhan baris-baris program menjadi bahasa aras rendah, baru menjalankan perintah-
perintahnya. Interpreter menerjemahkan dan menjalankan perintah baris demi baris.
Meskipun bahasa pemrograman satu dan lainnya berbeda dalam aturan penulisannya,
hal itu dapat dipelajari dengan mudah dengan cara membiasakan diri dalam mentaati aturan-
aturan yang telah disusun oleh pembuatnya. Aturan penulisan bahasa pemrograman
biasanya disertakan saat membeli paket perangkat lunak bahasa pemrograman tersebut
dalam bentuk buku petunjuk (Manual/Reference Books) atau dapat dibaca pada menu help
saat program bahasa pemrograman tersebut dijalankan.
Hal yang terpenting dalam menyusun program komputer adalah penyusunan urutan
langkah-langkah logis yang jelas dan terperinci dalam pemecahan masalah atau yang dikenal
dengan nama algoritma. Logis merupakan kata kunci dalam definisi algoritma. Logis berarti
nilai kebenaran dari langkah-langkah yang disusun harus dapat ditentukan, benar atau salah.
Perlu diingat bahwa komputer yang bekerja dengan dasar on dan off, sehingga hanya
mengenal dua kondisi mutlak tersebut benar atau salah. Komputer tidak mengenal penilaian

2
relatif seperti sedikit salah, mungkin benar, agak benar, dsb. Otak manusia normal dapat
menilai apakah suatu pernyataan logis atau tidak logis. Jadi, dengan menggunakan tata cara
penalaran yang baik algoritma sebaiknya disusun. (Munir dan Lidya, 1997)

2. Tahapan Pemrograman Komputer


Tahapan aktivitas yang dilakukan dalam Pemrograman Komputer adalah
mendefinisikan permasalahan, menyiapkan algoritma, menyiapkan diagram alir program,
menyusun program, mencoba dan menyempurnakan program, dan mendokumentasikan
setiap langkah. (LaBudde, 1987) Keenam tahapan tersebut dapat divisualisasikan melalui
diagram alir pada gambar 1-1. Untuk lebih jelas dalam mendalami tahap demi tahap, masing-
masing akan dibicarakan tersendiri.

Mendefinisikan Permasalahan

Mendokumentasikan Setiap Langkah


Menyiapkan Algoritma

Menyiapkan Diagram Alir Program

Menyusun Program

Mencoba dan Menyempurnakan Program

Gambar 1-1. Diagram Alir Tahapan Pemrograman Komputer

a. Mendefinisikan Permasalahan
Langkah ini merupakan langkah terpenting dan mendasari langkah-langkah yang lain.
Pendefinisian di sini berarti menentukan permasalahan yang ada kemudian memecahnya
menjadi hasil akhir (output) yang dikehendaki, data masukan (input) yang diperlukan, dan
dengan cara apa input dapat berubah menjadi output. Ketiga hal yang harus disebutkan dalam
langkah ini, haruslah dinyatakan dengan jelas. Artinya tidak ada hal yang tidak dapat
dimengerti atau bermakna ganda bagi manusia berotak normal.

b. Menyiapkan Algoritma
Seperti telah dijelaskan dibagian awal, algoritma adalah urutan langkah-langkah logis
yang jelas dan terperinci dalam pemecahan masalah. Dalam membuatnya harus
dipertimbangkan kemampuan atau batasan yang dimiliki oleh komputer maupun bahasa
pemrograman yang digunakan dalam berbagai hal, antara lain :
- kemampuan melakukan operasi aritmatika (terkadang terbatas pada operasi
penjumlahan, pengurangan, perkalian dan pembagian)
- kemampuan membandingkan dua hal, dan menentukan alternatif aktivitas
berdasarkan hasil pembandingan tersebut

3
- kemampuan memindahkan data dalam memory (ingatan komputer), yaitu bagian
komputer yang dapat digunakan untuk menyimpan instruksi dan data
- kemampuan menerima input dan mengeluarkan output
Algoritma yang baik, dapat menggabungkan kemampuan atau batasan komputer yang ada
untuk menyelesaikan masalah serumit apapun juga. Untuk itu, terkadang diperlukan beberapa
tahapan untuk menyempurnakan algoritma yang telah dibuat.
Hal lain yang perlu diperhatikan adalah komputer tidak mempunyai ingatan akan
masa lalu. Berbeda dengan otak manusia yang terus bekerja sehingga mempunyai ingatan
akan hal-hal yang telah dilakukannya, komputer tidak demikian. Asumsi bahwa komputer
hanya dapat berlogika dasar saja dan belum mengetahui segala sesuatu harus menjadi
pertimbangan dasar dalam membuat algoritma.
Sebelum proses dilanjutkan ke tahapan yang selanjutnya, algoritma perlu diuji
kebenarannya dengan cara membandingkan hasil pemikiran langsung otak manusia normal
dengan hasil langkah-langkah algoritma tersebut berdasarkan logika dasar. Algoritma
dikatakan telah benar apabila terhadap masukan dengan banyak variasi, hasil pembandingan
tersebut menunjukkan hal yang sama.
Pada umumnya, algoritma ditulis dengan bahasa sehari-hari manusia dan pada setiap
langkah yang ada diberi awalan nomor untuk menunjukkan urutan langkah dan identitas.
Dalam sebuah nomor sebaiknya hanya berisi satu perintah yang spesifik dan berbeda dengan
perintah pada nomor-nomor yang lain. Untuk lebih jelasnya dapat dilihat pada contoh 1-1.

c. Menyiapkan Diagram Alir Program


Diagram alir sebenarnya merupakan algoritma yang dinyatakan dalam bentuk
diagram/gambar. Seperti pepatah mengatakan ‘sebuah gambar melukiskan ribuan kata’,
maka sering dirasakan bahwa diagram alir lebih mudah difahami daripada algoritma.
Diagram Alir dibuat dengan menggunakan simbol-simbol tertentu yang masing-masing
mempunyai makna tersendiri. Tabel 1-1 berisi nama, gambar simbol, beserta makna yang
dipakai dalam pembuatan diagram alir. Diagram Alir harus dapat dengan tepat mencerminkan
arti dari algoritma yang sesungguhnya, dengan menggabung-gabungkan beberapa simbol
diagram alir seperti yang terdapat dalam Tabel 1-1.

Tabel 1-1. Daftar Nama, Simbol, dan Makna Diagram Alir

Nama Simbol Makna


PROCESS Menyatakan semua
perubahan pada data

PREDEFINED Menyatakan hubungan


antara program dengan
subprogram
INPUT/OUTPUT Menyatakan semua
operasi input/output data

4
PREPARATION Menyatakan semua
perubahan di luar data

DECISION Menyatakan pemilihan


berdasarkan
pembandingan
TERMINAL Menyatakan posisi awal
dan akhir program

CONNECTOR Menyatakan hubungan


suatu bagian program
dengan bagian yang lain
FLOWLINE Menyatakan urutan
langkah program dari suatu
tahap ke tahap lain
ANNOTATION Memberikan tambahan
keterangan

d. Menyusun Program
Dalam tahap ini, algoritma atau diagram alir yang telah dibuat diubah menjadi baris-
baris program sesuai dengan aturan bahasa pemrograman yang dikehendaki. Perlu
ditegaskan, dalam kuliah ini tidak dibahas aturan penulisan bahasa pemrograman tertentu
akan tetapi lebih menitikberatkan pada menyusun algoritma program untuk memecahkan
masalah, yaitu langkah-langkah logis yang jelas dan terperinci dalam pemecahan masalah,
dengan baik dan benar serumit apapun masalah yang dihadapi.
Untuk memberikan gambaran yang jelas dan memberikan penguasaan terhadap satu
bahasa pemrograman, dalam kuliah ini digunakan contoh-contoh dan latihan dengan
menggunakan bahasa pemrograman BASIC khususnya untuk Compiler Quick Basic 4.5.

e. Mencoba dan Menyempurnakan Program


Setelah program disusun, langkah ini dilakukan dengan interpreter atau compiler yang
sesuai. Proses mencoba program perlu dilakukan untuk menguji apakah program tersebut
telah dapat memecahkan permasalahan dengan baik dan benar. Kalau belum, pelacakan
kesalahan ditujukan pada dua sasaran yaitu algoritma yang disusun dan tata penulisan baris-
baris program.
Proses penyempurnaan program sering dilakukan para programmer setelah mencoba
program buatannya. Kadang kala terdapat hal yang sebelumnya tidak terpikirkan saat
menyusun algoritma, tetapi besar pengaruhnya terhadap program meskipun hal tersebut
hanya berlaku untuk kasus khusus saja. Hal lain yang sering disempurnakan adalah tampilan
dari program tersebut, untuk ini tidak merubah algoritma hanya masalah teknik input dan
output-nya saja.

f. Mendokumentasikan Setiap Langkah

5
Langkah ini tidak dilakukan setelah langkah pertama sampai langkah kelima selesai,
akan tetapi pada akhir setiap langkah itu sendiri perlu didokumentasikan hasil langkah
tersebut. Hal ini perlu diperlukan karena jarang terdapat suatu program yang dapat dibuat
dengan sekali jalan, artinya pada suatu waktu kadang kala perlu kembali pada tahap yang
sebelumnya khususnya setelah langkah kelima.
Untuk memberikan gambaran keenam tahapan pemrograman komputer tersebut di
atas, berikut ini terdapat dua contoh kasus yang membahas dengan rinci tahap demi tahap
yang telah dibicarakan terkhusus aktivitas pertama sampai dengan aktivitas ketiga. Dan untuk
semakin membiasakan diri dengan menganalisis masalah untuk dipecahkan dengan program
komputer, di akhir bab ini terdapat beberapa latihan pemecahan kasus yang dapat dikerjakan.

Contoh 1-1. jumlah Bilangan Positif, Negatif dan Nol


Buatlah tiga tahapan pertama pemrograman untuk menentukan jumlah bilangan positif,
jumlah bilangan negatif, dan jumlah bilangan nol dalam sederetan bilangan.

Mendefinisikan Permasalahan
Dari sederetan bilangan sebagai input, tentukan berapa jumlah bilangan positif, berapa jumlah
bilangan negatif, dan berapa jumlah bilangan nol sebagai output-nya.

Menyiapkan Algoritma
Untuk dapat mengerjakan tugas tersebut digunakan pencacah (counter) untuk masing-masing
kelompok yang akan ditentukan jumlahnya yaitu pencacah positif, pencacah negatif dan
pencacah nol. Algoritma yang digunakan untuk mengubah pencacah apabila terdapat suatu
bilangan yang dievaluasi adalah sebagai berikut :
1. Mulai
2. Jika bilangan positif, tambahkan angka satu ke pencacah positif
3. Jika bilangan negatif, tambahkan angka satu ke pencacah negatif
4. Jika bilangan nol, tambahkan angka satu ke pencacah nol
5. Selesai

Jika algoritma tersebut langsung dijalankan pada komputer, tidak akan berjalan dengan
normal. Karena komputer tidak dapat dengan langsung mengidentifikasi jenis bilangan
tersebut. Untuk menentukan jenis bilangan positif/negatif/nol, perlu digunakan kemampuan
komputer untuk membandingkan dua hal, sehingga algoritma perlu diubah menjadi :
1. Mulai
2. Jika bilangan > 0, tambahkan angka satu ke pencacah positif
3. Jika bilangan < 0, tambahkan angka satu ke pencacah negatif
4. Jika bilangan = 0, tambahkan angka satu ke pencacah nol
5. Selesai

Untuk mengevaluasi sederetan bilangan, algoritma di atas perlu ditambah beberapa baris lagi,
sehingga menjadi :
1. Mulai
2. Atur pencacah positif, pencacah negatif, pencacah nol berisi angka nol
3. Baca satu bilangan dari deretan bilangan yang belum diproses; Jika sudah tidak ada
bilangan lagi, lakukan langkah 7
4. Jika bilangan > 0, tambahkan angka satu ke pencacah positif dan kembali ke langkah
3
6
5. Jika bilangan < 0, tambahkan angka satu ke pencacah negatif dan kembali ke langkah
3
6. Jika bilangan = 0, tambahkan angka satu ke pencacah nol dan kembali ke langkah 3
7. Tampilkan isi pencacah positif, pencacah negatif, dan pencacah nol.
8. Selesai

Untuk membuktikan apakah algoritma tersebut di atas sudah dapat menyelesaikan


permasalahan yang ada, diperlukan pembuktian dengan menggunakan input yang acak dan
melakukan langkah demi langkah algoritma tersebut sesuai dengan logika dasar, lalu
dibandingkan dengan hasil yang diharapkan. Misalnya untuk contoh ini, digunakan input
deretan bilangan:

16, 3, -7, 0, 4, -6, -2, 8

Karena otak manusia sudah dapat merekam pengalaman masa lalu, dapat dengan cepat
ditentukan bahwa deretan tersebut terdiri dari 4 bilangan positif, 3 bilangan negatif, dan 1
bilangan nol. Untuk pembuktian algoritma, ketujuh langkah tersebut dilakukan pada barisan
tersebut, selengkapnya dalam tabel 1-2. Hasil akhirnya ternyata telah sama dengan hasil
identifikasi oleh otak manusia. Sehingga langkah ini dapat diakhiri sampai disini.

Menyiapkan Diagram Alir


Sesuai dengan algoritma terakhir di atas, diagram alirnya adalah diagram dalam gambar 1-2
di bawah ini.

Tabel 1-2. Hasil Pengujian Algoritma

Pencacah
Langkah Bilangan Positif Negatif Nol
1 - - - -
2 - 0 0 0
3 16 0 0 0
4 16 1 0 0
3 3 1 0 0
4 3 2 0 0
3 -7 2 0 0
4 -7 2 0 0
5 -7 2 1 0
3 0 2 1 0
4 0 2 1 0
5 0 2 1 0
6 0 2 1 1
3 4 2 1 1
4 4 3 1 1
3 -6 3 1 1
4 -6 3 1 1
5 -6 3 2 1

7
3 -2 3 2 1
4 -2 3 2 1
5 -2 3 3 1
3 8 3 3 1
4 8 4 3 1
3 - 4 3 1
7 - 4 3 1
8 - 4 3 1

Mulai

POSCTR = 0
NEGCTR = 0
ZEROCTR = 0

Cetak
Tidak POSCTR,
Ada BIL ?
NEGCTR,
ZEROCTR
Ya

Baca BIL
Selesai

NEGCTR = NEGCTR + 1 < BIL ... 0 > POSCTR = POSCTR + 1

ZEROCTR = ZEROCTR + 1

Gambar 1-2. Diagram Alir Program Menentukan Jumlah Bilangan Positif, Negatif, dan
Nol pada Sederetan Bilangan

Contoh 1-2. Menentukan Lamanya Waktu Percakapan Telepon


Buatlah tiga tahapan pertama pemrograman untuk menentukan lamanya waktu percakapan
telepon pada sebuah warung telekomunikasi

Mendefinisikan Permasalahan
Dengan mencatat waktu (jam:menit:detik) saat memulai percakapan dan waktu saat
mengakhiri percakapan sebagai input, ditentukan lamanya waktu percakapan
(jam:menit:detik) sebagai output-nya.

Menyiapkan Algoritma
Bila dilihat dan dipikirkan dengan otak manusia normal yang sedikit terlatih kemampuan
aritmatikanya, tentunya akan dengan cepat diperoleh algoritma sebagai berikut :
1. Mulai

8
2. Baca waktu saat memulai percakapan, misalkan j1:m1:d1
3. Baca waktu saat mengakhiri percakapan, misalkan j2:m2:d2
4. Hitung waktu percakapan (j3:m3:d3) sebagai selisih antara (j2:m2:d2) dengan
(j1:m1:d1)
5. Tampilkan waktu percakapan (j3:m3:d3)
6. Selesai

Akan tetapi, apabila algoritma di atas dipertimbangkan lagi untuk operasional dengan
komputer akan timbul permasalahan yang mendasar yaitu pada langkah ketiga. Otak manusia
yang terlatih mungkin telah mempunyai ingatan tentang cara mengurangkan jam dengan jam.
Agar algoritma dapat dioperasikan dengan komputer maka ingatan tersebut haruslah
dijabarkan dalam algoritma. Misalnya untuk menghitung selisih antara dua waktu, dilakukan
dengan mengubah masing-masing waktu dalam satuan detik, mengurangkannya, kemudian
mengubah kembali hasil selisih tersebut ke dalam bentuk jam:menit:detik. Sehingga algoritma
tersebut di atas dijabarkan menjadi
1. Mulai
2. Baca waktu saat memulai percakapan, misalkan j1:m1:d1
3. Baca waktu saat mengakhiri percakapan, misalkan j2:m2:d2
4. Konversi j1:m1:d1 ke dalam jumlah detik (det1)
5. Konversi j2:m2:d2 ke dalam jumlah detik (det2)
6. Hitung waktu percakapan (det3) sebagai selisih antara det2 dengan det1
7. Konversi det3 ke dalam bentuk j3:m3:d3
8. Tampilkan waktu percakapan (j3:m3:d3)
9. Selesai

Algoritma di atas masih belum sempurna untuk dioperasionalkan dengan komputer, karena
pada langkah 4,5 dan 7 cara mengubah antara dua bentuk penulisan waktu tersebut belum
jelas. Sekali lagi, untuk manusia yang sudah terbiasa untuk mengingatnya hal tersebut bukan
masalah, akan tetapi bagi komputer yang tidak punya ingatan akan masa lalu hal tersebut
adalah masalah besar! Untuk itu, langkah-langkah tersebut perlu dijabarkan dengan lebih teliti
:
1. Mulai
2. Baca waktu saat memulai percakapan, misalkan j1:m1:d1
3. Baca waktu saat mengakhiri percakapan, misalkan j2:m2:d2
4. Hitung det1 = j1 x 3600 + m1 x 60 + d1
5. Hitung det2 = j2 x 3600 + m2 x 60 + d2
6. Hitung det3 = det2 - det1
7. Hitung j3 = det3 div 3600
8. Hitung m3 = (det3 mod 3600) div 60
9. Hitung d3 = (det3 mod 3600) mod 60
10. Tampilkan waktu percakapan (j3:m3:d3)
11. Selesai

Pada langkah 7 – 9 di atas terdapat dua operator div (hasil bagi bulat) dan mod (sisa hasil
bagi) yang akan dibahas lebih lanjut pada bab selanjutnya.

9
Apakah algoritma yang terakhir ini sudah baik dan benar ? Silahkan diuji dan kalau belum baik
dan benar bagian mana yang harus disempurnakan ?

Menyiapkan Diagram Alir


Sesuai dengan algoritma terakhir di atas, diagram alirnya adalah diagram dalam gambar 1-3
yang terdapat di bawah ini.

Mulai

Baca j1:m1:d1

Baca j2:m2:d2

det1 = j1 x 3600 + m1 x 60 + d1

det2 = j2 x 3600 + m2 x 60 + d2

det3 = det2 - det1

j3 = det3 div 3600

m3 = (det3 mod 3600) div 60

d3 = (det3 mod 3600) mod 60

Tampilkan j3:m3:d3

Selesai

Gambar 1-3. Diagram Alir Program Menentukan Lamanya Waktu Percakapan

3. Dasar Pengoperasian Quick BASIC 4.5


Quick Basic 4.5 dapat diaktifkan dari harddisk atau dari disket, dengan syarat file
program tersebut (file QB.EXE dan file-file pendukung lainnya) sudah ada di dalam satu
folder/directory dalam harddisk atau disket.

a. Memulai Quick Basic


 Nyalakan komputer, sampai muncul tanda siapnya (DOS prompt).
- Bila booting dengan harddisk, muncul C:
- Bila booting dengan disket di drive A, muncul A:

10
 Bila komputer menggunakan sistem operasi Windows, klik Start - Program - MS DOS
Prompt untuk menyiapkan DOS prompt.
 Aktifkan folder/directory tempat QB berada lalu aktifkan editor Quick Basic
- Bila dari harddisk, C: QB 
- Bila dari disket di drive A, A: QB 
 Tekan tombol Esc satu kali untuk menghapus dialog box, sehingga diperoleh tampilan
editor Quick Basic. Setelah tampil editor Quick Basic tersebut, maka pemrogram sudah
dapat membuat program.

b. Penyusunan Program
Program disusun sesuai dengan algoritma atau diagram alir yang telah dibuat dengan
tata bahasa yang dimengerti oleh komputer, dalam kuliah ini akan digunakan bahasa BASIC
dengan Compiler QB-45. Program dituliskan pada editor Quick Basic yang sudah disiapkan
terlebih dahulu dengan cara seperti telah di bahas sebelumnya.

c. Bahasa Pemrograman BASIC


Untuk dapat menuliskan program dalam Compiler QB-45, tentunya bahasa
pemrograman BASIC harus dikuasai dengan baik. Dalam kuliah ini, dasar-dasar bahasa
tersebut akan dibicarakan sedikit demi sedikit seiring dengan materi yang dibahas. Secara
umum dalam bahasa BASIC terdapat kata-kata kunci (keyword) dan tanda-tanda (sign) yang
digunakan untuk menjalankan suatu perintah. Sebagai ilustrasi awal, berikut ini terdapat
beberapa perintah dalam bentuk keyword atau sign yang digunakan dalam contoh dalam bab
ini :
CLS : perintah untuk membersihkan layar output
INPUT : perintah untuk memasukkan harga ke dalam variabel
PRINT : perintah untuk menampilkan harga suatu variabel ke layar output
= : perintah untuk memasukkan sebuah ekspresi ke dalam variabel
Bila dijumpai sebuah keyword baru yang belum pernah dikenal, kita dapat menemukan
penjelasan tentang keyword tersebut dalam menu Help yang disediakan oleh Compiler QB-
45. Untuk mengakses hal tersebut, tekan tombol Alt Help kemudian pilih menu Index. Untuk
latihan awal, coba cari keterangan lengkap untuk perintah-perintah tersebut di atas (CLS,
INPUT, PRINT) !
Keterangan lain mengenai bahasa BASIC maupun kemampuan Compiler QB-45
dapat dilihat pada bagian lain pada menu tersebut. Jadi, apabila anda menemui hal yang tidak
jelas pada diktat ini mengenai kedua hal tersebut, anda harus membuka dan memperoleh
penjelasannya langsung dari menu ini!

d. Pelaksanaan Program
Untuk melaksanakan (mengeksekusi) program, tekan tombol fungsi F5 satu kali.
Setelah program selesai dikerjakan, pada layar monitor bagian bawah akan muncul komentar
“Press any key to continue” yang bertujuan untuk memberitahu pemrogram untuk menekan
sembarang tombol untuk kembali ke editor Quick Basic lagi. Untuk melihat lagi tampilan
program tekan tombol fungsi F4 satu kali, dan untuk kembali ke editor tekan F4 sekali lagi.

e. Menyimpan Program
Berkas program dapat disimpan di media disket atau harddisk. Di dalam disket,
program tersebut disimpan sebagai file. Karena isi setiap disket atau harddisk tidak terbatas

11
hanya satu file, maka setiap file harus mempunyai nama unik untuk identifikasi. Tujuannya
untuk membedakan satu file dengan file lainnya, dimana pemberian nama file harus tunduk
pada peraturan yang berlaku dalam sistem operasi DOS, seperti :
 tidak melebihi delapan karakter, contoh : TUGAS
 boleh berisikan angka atau abjad
 abjad boleh ditulis besar atau kecil, tapi keduanya akan dianggap abjad kecil
Untuk setiap nama file program, Quick Basic memberikan ekstensi yang terdiri dari tiga
karakter, yaitu : BAS.
Untuk menyimpan pertama kali sebuah program yang ditulis dengan Quick Basic,
maka tekanlah urutan tombol sebagai berikut : Alt File Save As, maka kemudian akan muncul
sebuah dialog box ditengah layar dengan menanyakan nama file sebagai berikut :
File name : _
Lalu ketikkanlah nama file untuk menyimpan program tersebut, misal disimpan di disket kerja
di drive C
File name : C:TUGAS 
Apabila setelah program disimpan pertama kali tersebut, ingin diulang
penyimpanannya, maka tekanlah tombol Alt File Save.

f. Pengolahan Program Dari Disket


Suatu kali pemrogram menginginkan untuk mengolah kembali file program yang telah
dibuat. Untuk melakukan pengolahan file program, maka program tersebut terlebih dahulu
dipindahkan dari disket ke memori. Prosedurnya Alt File Open atau Alt File Load file,
sehingga tampil box di tengah layar yang menanyakan nama file program yang akan diolah.
File name : _
Ketiklah nama file program yang akan diolah tersebut, misalnya :
File name : C:TUGAS

g. Pencetakan File Program


File program dapat dicetak melalui printer. Bila dikehendaki untuk mencetak program
ke printer yang terhubung langsung dengan CPU, maka tekanlah tombol-tombol berikut : Alt
File Print. Jika pemrogram ingin melakukan pencetakan ulang, tekanlah urutan tombol
tersebut lagi.

h. Menghapus File Dari Memori Dan Mengakhiri Quick Basic


Setelah selesai melakukan penyusunan suatu program dan pemrogram ingin
menyusun suatu program baru, maka file program yang ada harus dihapuskan lebih dulu dari
memori, dengan menekan tombol Alt File New. Jika program belum disimpan di disket maka
akan muncul pertanyaan, apakah program akan disimpan, dan ada empat pilihan jawaban :
 Yes : Sebelum menghapus program dari memori, terlebih dahulu program
disimpan di disket.
 No : Menghapus program dari memori tanpa menyimpan program di disket.
 Cancel : Membatalkan penghapusan program dari memori.
 Help : Menampilkan petunjuk.
Untuk mengakhiri pengoperasian Quick Basic dilakukan dengan menekan tombol Alt File Exit.

12
Contoh 1-2. Menentukan Lamanya Waktu Percakapan Telepon (Lanjutan)
Jika seseorang memulai percakapan pada pukul 2:55:30 dan mengakhiri pada pukul
3:1:27, buatlah program komputer dalam QB 4.5 yang dapat menghitung lamanya waktu
percakapan.

Program Komputer
Sesuai dengan algoritma pada contoh di atas, dapat dibuat program komputer dalam QB 4.5
seperti di bawah ini.

CLS
j1 = 2
m1 = 55
d1 = 30
j2 = 3
m2 = 1
d2 = 27
det1 = j1 * 3600 + m1 * 60 + d1
det2 = j2 * 3600 + m2 * 60 + d2
det3 = det2 - det1
j3 = det3 \ 3600
m3 = (det3 MOD 3600) \ 60
d3 = (det3 MOD 3600) MOD 60
PRINT j3; m3; d3
END

Bila program tersebut dieksekusi, hasilnya akan seperti


di bawah ini.

0 5 57

Contoh 1-3. Konversi Suhu dari derajat Celsius ke Fahrenheit


Buatlah sebuah program komputer untuk mengkonversi suhu dari derajat Celsius ke derajat
Fahrenheit.

Mendefinisikan Permasalahan
Dari sebuah bilangan yang menyatakan besarnya suhu dalam derajat Celsius sebagai input,
akan ditentukan nilai ekivalen suhu tersebut dalam derajat Fahrenheit sebagai output-nya.

Menyiapkan Algoritma
Untuk dapat mengerjakan tugas tersebut digunakan persamaan berikut ini, dengan variabel
F adalah besarnya suhu dalam derajat Fahrenheit dan C adalah besarnya suhu dalam derajat
Celsius.
9
F C  32
5
Sehingga Algoritma yang digunakan adalah sebagai berikut :
13
1. Mulai
2. Baca (masukkan) suhu dalam derajat Celsius, misalkan sama dengan (simpan dalam
variabel) C.
3. Hitung F = 9/5*C + 32
4. Tampilkan suhu dalam derajat Fahrenheit (F)
5. Selesai

Program Komputer
Sesuai dengan algoritma di atas, dapat dibuat program komputer dalam QB 4.5 seperti di
bawah ini.

CLS
INPUT “Celsius = ”; C
F = C * 9 / 5 + 32
PRINT “Fahrenheit = ”; F
END

4. Latihan
Buatlah secara urut semua tahap pembuatan program komputer (yang paling penting adalah
algoritma/diagram alir dan program dalam QB 4.5) untuk menyelesaikan masalah-masalah di
bawah ini :
1. Menghitung luas dan keliling lingkaran jika diketahui jari-jarinya r = 35 cm.

2. Menentukan volume kerucut dengan r = 20 cm dan tinggi h = 40 cm.

3. Menghitung keliling limas segitiga sama sisi dengan panjang sisi = 14 cm

4. Menghitung hambatan total paralel dengan tiga buah tahanan, dengan masukan R1 = 1
, R2 = 2 , dan R3 = 3 .

5. Menghitung biaya yang dikeluarkan untuk membuat sebuah tabung dengan tutup dan alas
jika harga bahan (plat) per meter perseginya adalah Rp. 12.000,-. Diinginkan tabung
tersebut memiliki diameter 2 m dan tinggi 3 m.

6. Menghitung biaya yang dikeluarkan dalam pembuatan suatu kerangka kubus, jika harga
per meter logam yang dipakai untuk membuat kerangka adalah Rp 2.500,- dan sisi-sisi
kubus 4 m.

7. Menghitung biaya yang dikeluarkan dalam penggunaan bensin jika kecepatan sebuah
mobil diketahui 110 km/jam dan t=240 menit (4 jam). Jika 1 liter bensin Rp5.000,- dapat
digunakan untuk 22 km.

8. Menghitung kecepatan mobil saat t=5 detik dengan percepatan 5 km/s2 dan kecepatan
awal 2 km/s.

14
Bab II
Elemen dan Struktur Dasar Program
Pada bagian ini, akan dibahas elemen-elemen dasar yang menyusun sebuah program
komputer. Pembahasan elemen dasar program komputer tidak dapat dilepaskan dari elemen
dasar algoritma. Apabila faktor keterbatasan dari komputer sudah dipertimbangkan dalam
membuat algoritma, seperti pada contoh 1-1 dan contoh 1-2, baris-baris program komputer
tidak akan berbeda jauh dengan baris-baris algoritma tersebut. Untuk membatasi, dianggap
bahwa algoritma yang disusun telah mempertimbangkan faktor komputer yang disebut
algoritma program, sehingga elemen dasar program tidak berbeda atau sama dengan elemen
dasar algoritma program.
Selain komponen-komponen dasar yang menyusun program, kita dapat mencermati
program/algoritma sebagai beberapa kesatuan baris-baris perintah yang biasa disebut
dengan struktur program. Di akhir bab ini, akan dibahas struktur dasar yang biasa menyusun
sebuah program.

1. Elemen Dasar Program


Seperti terlihat pada algoritma contoh 1-1 dan contoh 1-2, secara umum algoritma
program terdiri dari baris-baris perintah. Pada masing-masing baris perintah tersebut
mungkin terdapat variabel, konstanta, operator dan ekspresi. Lima hal tersebut merupakan
elemen-elemen dasar algoritma program.

a. Perintah
Perintah adalah instruksi yang memerintah komputer untuk melakukan hal-hal
tertentu. Perintah dapat meliputi banyak hal, seperti mengolah data yang tersimpan dalam
variabel, mengoperasikan variabel, membaca data dari perangkat masukan, menampilkan
data ke perangkat keluaran, dll. Biasanya satu baris algoritma program hanya terdiri dari satu
perintah yang spesifik.

b. Konstanta
Konstanta adalah suatu nilai yang besarnya tetap selama algoritma program tersebut
dijalankan.

c. Variabel
Variabel adalah tempat untuk menyimpan harga suatu data saat algoritma program
dijalankan. Selama algoritma program berjalan, variabel yangtelah diberi nama
khusustersebut, dapat diubah-ubah isinya. Tetapi perubahannya terbatas pada tipe data yang
sama. (Tipe data akan dibahas tersendiri pada akhir bab ini) Artinya, sebuah variabel tidak
dapat digunakan untuk menyimpan dua data yang berbeda tipenya tentunya pada saat yang
berlainan.

d. Operator
Operator adalah suatu proses pengolahan satu atau dua nilai data yang berupa
konstanta atau variabel yang menghasilkan nilai data yang lain. Contoh dari operator adalah
penjumlahan (+) dan pengurangan (–). Terdapat beberapa macam operator yang ada, dengan
catatan penggunaannya terbatas pada tipe data yang diproses.

15
e. Ekspresi
Ekspresi adalah gabungan operator, konstanta dan variabel yang menghasilkan
sebuah nilai tunggal. Ekspresi dibedakan berdasarkan jenis nilai yang diolah dan
dihasilkannya, yaitu ekspresi aritmatik, ekspresi logika, dan ekspresi relasional. Ekspresi
aritmatik menghasilkan nilai numeris dari nilai numeris, ekspresi logika menghasilkan nilai
logika dari nilai logika, dan ekspresi relasional menghasilkan nilai logika dari nilai yang lain.
Penggunaan dan contoh berbagai macam ekspresi dapat dilihat pada bahasan tentang tipe
data berikut ini.

2. Tipe Data
Secara umum, untuk dapat menyelesaikan permasalahan yang ada program komputer
bekerja dengan cara mengolah obyek/data di dalam variabel-variabel yang didefinisikan.
Sehingga untuk dapat membuat program komputer yang baik, perlu pengenalan yang
mendalam tentang 'data macam apa' yang dapat diolah dengan program yaitu tipe datanya.
Secara umum terdapat 6 jenis tipe data, yaitu : bilangan logik (logic), bilangan bulat (integer),
bilangan riil (real), karakter (character), string (string), dan tipe bentukan (user-defined).

a. Bilangan Logik
Bilangan logik disebut juga boolean (dari nama ahli matematika Robert Boole). Tipe
data ini hanya mengenal dua nilai yaitu : benar (true) dan salah (false). Istilah bilangan muncul
karena kita dapat menyatakan benar dengan angka 1 dan salah dengan angka 0.
Operator yang dapat digunakan dalam tipe data ini adalah not, and, or, xor, eqv, dan
imp. Hasil operasi dengan bilangan logik menghasilkan nilai dalam bilangan logik juga. Hasil
operasi untuk masing-masing operator tersebut dengan menggunakan a dan b yang
merupakan variabel bertipe bilangan logik terdapat pada tabel berikut ini.

Tabel 2-1. Tabel Kebenaran Hasil Operasi Bilangan Logik

A B Not b A and b A or b A xor b aeqvb aimpb


True True false True True False true True
True False true False True True false False
False True false False True True false True
False False true False False False true True

Tidak semua bahasa pemrograman mengenal variabel dan konstanta dalam tipe data
ini, akan tetapi operator dan ekspresi logika seperti di atas tetap dikenal dan digunakan
untuk melakukan pengendalian terhadap jalannya program. Cara mengendalikan jalannya
algoritma program dengan ekspresi logika akan dibicarakan pada Bab selanjutnya.
Bila dalam sebuah ekspresi logika terdapat beberapa operator logika yang digunakan
secara bersama-sama, prioritas urutan pengerjaan antara operator tersebut adalah operator
not, and, or, xor, eqv, dan imp. Dengan catatan bahwa prioritas utama adalah operator yang
berada di antara dua tanda kurung, ( ).

Contoh 2-1. Berbagai Ekspresi dalam Bilangan Logik


Misalkan p, q, r adalah konstanta-konstanta dalam bilangan logik yang masing-masing
mempunyai nilai benar, benar dan salah. Tentukan nilai dari ekspresi berikut ini :

16
a. not p and r
b. not (p and r)
c. p and q xor r and p
d. p and (q xor r) and p
e. q eqvnot r or p
f. not r imp p and not q

Jawaban:
a. not p and r
Dalam ekspresi ini, terdapat dua operator logika yaitu not dan and tanpa tanda kurung.
Prioritas urutan pengerjaan operator tersebut adalah operator not dikerjakan terlebih
dahulu, lalu operator and. Karena p bernilai benar, maka not p bernilai salah.
Sehingga not p and r bernilai salah.
b. not (p and r)
Meskipun ekspresi ini mirip dengan ekspresisoal a, namun adanya tanda kurung
membuat nilai ekspresi ini sangat berbeda dengan soal a. Karena terdapat tanda
kurung urutan pengerjaan operator dalam ekspresi tersebut adalah operator and yang
terdapat dalam tanda kurung terlebih dahulu, baru setelah itu operator not dikerjakan.
Karena p bernilai benar dan r bernilai salah, maka p and r bernilai salah. Sehingga
not (p and r) mempunyai benar.
c. p and q xor r and p
Dalam ekspresi ini terdapat tiga buah operator yang terdiri dari dua macam operator
yang urutan prioritas pengerjaannya adalah and dan xor. Sehingga seolah-olah
ekspresi tersebut dapat dituliskan menjadi (p and q) xor (r and p) karena operator and
harus dikerjakan terlebih dahulu. p and q bernilai benar dan r and p bernilai salah,
sehingga ekspresi ini bernilai benar.
d. p and (q xor r) and p
Meskipun ekspresi ini mirip dengan ekspresi soal c, namun dengan adanya tanda
kurung membuatnya jauh berbeda. Ekspresi q xor r yang berada dalam tanda kurung,
mempunyai nilai benar. Kemudian dua operator and yang berurutan dikerjakan
dengan urutan kiri ke kanan. Untuk yang pertama, p and (q xor r) mempunyai nilai
benar. Akhirnya, p and (q xor r) and p mempunyai nilai akhir benar.
e. q eqv not r or p
Dari ketiga operator yang ada dalam ekspresi di atas, operator not merupakan
operator yang mendapatkan prioritas pengerjaan yang pertama. Dalam hal ini not r
mempunyai nilai benar. Urutan pengerjaan selanjutnya adalah operator or. Untuk
ekspresi ini not r or p bernilai benar. Sehingga q eqv not r or p mempunyai nilai benar.

f. not r imp p and not q


Sama dengan ekspresisoal e, operator not merupakan operator yang mendapatkan
prioritas pengerjaan yang pertama not r mempunyai nilai benar dan not q mempunyai
nilai salah. Urutan pengerjaan selanjutnya adalah operator and Untuk ekspresi ini p
and not q mempunyai nilai salah, sehingga not r imp p and not q bernilai salah.
b. Bilangan Bulat

17
Tipe data ini sudah dikenal dalam kehidupan sehari-hari, khususnya dalam bidang
matematika. Bilangan Bulat (Integer) adalah bilangan yang tidak mengandung pecahan
desimal.
Dalam definisi matematika, bilangan bulat mempunyai batasan interval yang tidak
terhingga, (-,). Namun karena keterbatasan komputer dalam memproses angka, setiap
bahasa pemrograman selalu membatasi interval untuk tipe data ini dan membaginya menjadi
beberapa sub-tipe.
Operator yang dapat digunakan dalam tipe data ini meliputi dua macam operator yaitu
operator aritmetika (yang menghasilkan bilangan bulat dari dua bilangan bulat)dan operator
relasional (yang menghasilkan bilangan logik dari dua ekspresi aritmatika atau bilangan
bulat).
Operator aritmetika yang dapat digunakan adalah + (tambah), – (kurang), * (kali), /
(bagi), \atau div (pembagian integer), dan mod (sisa hasil bagi).
Operator relasional yang dapat digunakan adalah < (lebih kecil),  atau <= (lebih kecil
atau sama dengan), > (lebih besar),  atau >= (lebih besar atau sama dengan), = (sama
dengan), dan  atau <> (tidak sama dengan).
Hirarki dari operator aritmatika mulai dari yang tertinggi (dikerjakan pertama kali)
adalah kali dan bagi (sederajat), sisa hasil bagi, lalu tambah dan kurang (sederajat).
Disamping itu tanda kurung merupakan prioritas yang paling tinggi dan apabila terdapat
operator yang sederajat dikerjakan dari kiri ke kanan.
Secara umum apabila dalam suatu ekspresi terdapat ketiga macam operator, hirarki
pengerjaan operatornya adalah operator aritmatika, operator relasional, dan operator logika
kecuali bila terdapat tanda kurung, ().

Contoh 2-2. Berbagai Ekspresi dalam Bilangan Bulat


Tentukan nilai dari ekspresi-ekspresi berikut ini :
a. 10 / 3
b. 10 \ 3
c. 4 + 10 / 2
d. (4 + 10) / 2
e. 4 + 2 <= 2 – 4
f. 15 \ 7 <> 15 / 7
g. 3 + 4 * 2 – 6 > (3 + 4) * (2 – 6)
h. 8 – 4 \ 2 / 2 < 5 * 2 / (2 – 3 * 4)
i. 8 > 3 and 9 + 3 <= 0
j. 4 \ 3 = 0 imp 2 = 3
k. 10 mod 3
l. 5 \ 2
m. 54 mod 2
n. 4 \ 2
Jawaban
Hasildariekspresitersebut di atasadalah
a. 3
b. 3
c. 9
d. 7
e. salah

18
f. benar
g. benar
h. salah
i. salah
j. benar
k. 1
l. 2
m. 0
n. 2

c. Bilangan Riil
Tipe data ini juga sudah dikenal dalam kehidupan sehari-hari, khususnya dalam bidang
matematika. Seperti halnya bilangan bulat, setiap bahasa pemrograman juga membatasi
interval untuk tipe data ini dan membaginya menjadi beberapa sub-tipe.
Operator aritmetika yang dapat digunakan adalah + (tambah), – (kurang), * (kali), dan
/ (bagi). Sedangkan operator relasional yang dapat digunakan adalah < (lebih kecil),  atau
<= (lebih kecil atau sama dengan), > (lebih besar),  atau >= (lebih besar atau sama dengan),
dan  atau <> (tidak sama dengan). Hirarki dari operator aritmetika, relasional, dan logika
yang berlaku dalam tipe data ini sama dengan yang berlaku dalam tipe data bilangan bulat.

d. Karakter
Tipe data ini meliputi seluruh bentuk alphanumeris yang dikenal oleh komputer,
misalnya : ‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘$’, ‘%’, ‘?’, ‘#’. Daftar karakter
selengkapnya yang berjumlah 256 karakter terdapat dalam tabel ASCII.
Operator yang berlaku dalam tipe data ini hanyalah operator relasional. Karena
keseluruhan karakter terdaftar dalam tabel ASCII dengan urutan tertentu, urutan itulah yang
menunjukkan relasi <, >, , , =,  pada tipe data ini. Pada pengoperasiannya urutan tersebut
akan menentukan karakter yang akan dikerjakan terlebih dahulu.
Beberapa bahasa pemrograman tidak mengenal tipe data ini, termasuk bahasa
pemrograman BASIC.

Contoh 2-3. Ekspresi Relasional dalam Karakter


Tentukan nilai dari ekspresi-ekspresi berikut ini :
a. ‘a’ = ‘a’
b. ‘T’ = ‘t’
c. ‘y’  ‘Y’
d. ‘m’ < ‘z’
e. ‘Q’  ‘Z’

Jawaban
Hasildariekspresitersebut di atas adalah
a. benar
b. salah
c. benar
d. benar
e. salah

19
e. String
String adalah deretan karakter dengan panjang tertentu. Meskipun sebenarnya
panjang karakter dalam string tidak dibatasi, namun karena keterbatasan komputer dalam
memproses data, setiap bahasa pemrograman melakukan pembatasan.
Operator yang berlaku dalam tipe data ini adalah operator penyambungan (+) dan
operator relasional. Operator penyambungan, meskipun tandanya sama dengan tanda
operator jumlah aritmatika, namun pengertiannya berbeda. Operator ini berarti menyambung
dua string menjadi satu string. Operator relasional pada tipe data string sama sifatnya dengan
operator relasional pada tipe data karakter.

Contoh 2-4. Ekspresi dalam String


Tentukan nilai dari ekspresi-ekspresi berikut ini :
a. ‘Bulba’ + ‘Saur’
b. ‘Digimon’ + Tamers’
c. ‘1’ + ‘2’
d. ‘abcd’ = ‘abc’
e. ‘luffy’ < ‘LUFFY’

Jawaban
Hasildariekspresitersebut di atasadalah
a. ‘BulbaSaur’
b. ‘DigimonTamers’
c. ‘12’
d. salah
e. benar

f. Bentukan (User-Defined)
Pembuat program dapat membuat sendiri tipe data yang akan dipergunakan dalam
programnya. Tipe data bentukan ini merupakan gabungan dari tipe data yang ada, misalnya
gabungan antara string dengan integer. Nilai yang bisa disimpan sebagai tipe data ini juga
merupakan gabungan antara nilai pada tipe data yang digabungkan. Demikian halnya tentang
operator, masing-masing elemen dalam tipe data ini dapat dioperasikan dengan operator yang
dapat dilakukan pada masing-masing tipe data yang digabungkan.

3. Tipe Data dalam QB 4.5


Bahasa BASIC hanya mengenal tipe data Bilangan Bulat, Bilangan Riil, String, dan
tipe data Bentukan. Sebelum digunakan sebaiknya sebuah variabel atau konstanta
dideklarasikan terlebih dahulu. Untuk mendeklarasikan sebuah variabel mempunyai tipe data
tertentu digunakan perintah :
DIM NamaVariabel AS TipeData
Sedangkan untuk mendeklarasikan konstanta digunakan perintah :

CONST Nama Konstanta = Harga / Ekspresi


Apabila konstanta tersebut diinginkan termasuk dalam tipe data tertentu, Nama Konstanta
dapat ditambah akhiran tanda khusus yang menunjukkan tipe data yang dimaksud, begitu

20
juga dengan harganya. Adapun tanda-tanda khusus tersebut dapat dilihat pada pembahasan
masing-masing tipe data di bawah ini.
Nama di dalam variabel dan konstanta, sama seperti halnya semua elemen dasar
program, digunakan untuk membedakan elemen yang satu dengan elemen yang lain. Untuk
menjadi sebuah nama elemen program harus memenuhi syarat sebagai berikut :
1. Spesifik, artinya sebuah nama harus berbeda dengan nama yang lain : nama variabel,
konstanta, fungsi, dll termasuk perintah.
2. Karakter yang bisa digunakan adalah huruf, angka. Karakter yang lain tergantung bahasa
pemrograman : garis bawah (_) atau titik (.). Bahasa QB 4.5 hanya memperbolehkan
penggunaan titik.
3. huruf besar dan huruf kecil dianggap sama.
4. panjang tergantung bahasa pemrograman. Bahasa QB 4.5 memperbolehkan panjang
maksimal 64 karakter.

a. Bilangan Bulat
Bahasa BASIC mengenal dua sub-tipe Bilangan Bulat yaitu Integer dan Long Integer.
Integer mempunyai batasan bilangan dari –32768 sampai +32767, sedangkan Long Integer
dengan batasan –2147483648 sampai + 2147483647. Untuk mendeklarasikan variabel
Integer digunakan perintahDIM NamaVariabel AS INTEGER, sedangkan untuk variabel Long
Integer digunakan perintahDIM NamaVariabel AS LONG.
Untuk mengisikan angka yang bertipe data ini digunakan akhiran khusus. Akhiran
tanda % digunakan untuk Integer, dan akhiran tanda & digunakan untuk Long Integer. Contoh
: 10% menunjukkan sebuah harga yang bertipe Integer, sedangkan 100& menunjukkan
sebuah harga yang bertipe Long Integer.

b. Bilangan Riil
Bahasa BASIC mengenal dua sub-tipe Bilangan Riil yaitu Single Precision dan Double
Precision. Single Precision mempunyai batasan bilangan dari –3.37E+38 sampai +3.37E+38,
sedangkan Double Precision dengan batasan –1.67D+308 sampai +1.67D+308. (1E+10
sama artinya dengan 1D+10 yaitu 1.1010) Untuk mendeklarasikan variabel Single Precision
digunakan perintahDIM NamaVariabel AS SINGLE, sedangkan untuk variabel Double
Precision digunakan perintahDIM NamaVariabel AS DOUBLE.
Seperti halnya bilangan bulat untuk membedakan keduanya, pada angka yang
mengikuti tipe data ini diberi akhiran dengan tanda khusus. Akhiran tanda ! menunjukkan sub-
tipe Single Precision dan akhiran # menunjukkan sub-tipe Double Precision. Contoh : 10!
menunjukkan sebuah harga yang bertipe Single Precision, sedangkan 100# menunjukkan
sebuah harga yang bertipe Double Precision.

c. String
Dalam bahasa BASIC, string dibedakan menjadi dua yaitu Variable-length string dan
Fixed-length string. Persamaan antara keduanya adalah panjangnya maksimumnya
sebanyak 32767 karakter, dan perbedaannya adalah panjang karakter yang bisa berubah-
ubah pada Variable-length string dan panjang karakter yang tetap pada Fixed-length string.
Untuk mendeklarasikan variabel Variable-length String digunakan perintahDIM
NamaVariabel AS STRING, sedangkan untuk variabel Fixed-length String digunakan
perintahDIM NamaVariabel AS STRING*n. n adalah panjang string yang dipakai.
Untuk menggunakan tipe data ini, sebuah harga harus diapit dengan tanpa petik ganda
("). Contoh : "10" menunjukkan sebuah harga yang bertipe string.
21
Contoh 2-5. Pendeklarasian Variabel
Lihat kembali program komputer dalam Contoh 1-2 yang ada di halaman 12.
Tambahkanlah deklarasi variabel/konstanta seperlunya pada program tersebut!

Program dan Penjelasannya


Dalam program terdapat dua konstanta yang bisa dipakai yaitu yang digunakan untuk
mengkonversikan jam ke detik (yang bernilai 3600) dan mengkonversikan menit ke detik (yang
bernilai 60). Misalnya konstanta yang pertama diberi nama jam dan yang kedua diberi nama
menit. Untuk mendeklarasikan kedua konstanta ini digunakan perintah berikut ini :
CONST jam = 3600
CONST menit = 60
Sedangkan variabel yang ada dalam program tersebut berjumlah 12 (j1, j2, j3, dst).
Untuk mendeklarasikan masing-masing variabel, perlu dikaji jenis harga serrta berapa
harga/nilai minimum dan maksimum yang mungkin disimpan dalam masing-masing variabel.
Misalnya untuk j1, nilai yang mungkin disimpan adalah bilangan bulat dengan nilai minimum
0 dan nilai maksimum 24. Sehingga kita dapat memastikan bahwa tipe data yang sesuai untuk
j1 adalah Integer. Demikian seterusnya, sehingga program selengkapnya seperti berikut ini.

‘DeklarasiVariabel
DIM j1 AS INTEGER, m1 AS INTEGER, d1 AS INTEGER
DIM j2 AS INTEGER, m2 AS INTEGER, d2 AS INTEGER
DIM j3 AS INTEGER, m3 AS INTEGER, d3 AS INTEGER
DIM det1 AS LONG, det2 AS LONG, det3 AS LONG

‘DeklarasiKonstanta
CONST jam = 3600
CONST menit = 60

‘Program
CLS
j1 = 2
m1 = 55
d1 = 30
j2 = 3
m2 = 1
d2 = 27
det1 = j1 * jam + m1 * menit + d1
det2 = j2 * jam + m2 * menit + d2
det3 = det2 - det1
j3 = det3 \ jam
m3 = (det3 MOD jam) \ menit
d3 = (det3 MOD jam) MOD menit
PRINT j3; m3; d3
END

22
d. Bentukan (User-Defined)
Bahasa BASIC menyediakan fasilitas untuk membentuk tipe data sendiri untuk para
pembuat program yang mahir. Seperti telah dijelaskan di atas, tipe data ini merupakan
gabungan dari tiga tipe data yang dikenali BASIC. Untuk dapat membentuk tipe data sendiri,
digunakan bentuk umum perintah seperti di bawah ini :
TYPE NamaTipe
NamaElemen1 AS TipeData
NamaElemen2 AS TipeData
:
NamaElemenN AS TipeData
END TYPE

e. Larik (Array)
Larik (Array) bukan merupakan salah satu bentuk tipe data, tetapi merupakan salah
satu cara untuk menyatakan variabel. Dengan cara ini, sejumlah harga dengan tipe dan sifat
yang sama dapat disimpan dalam sebuah nama variabel. Identitas masing-masing harga
dinyatakan dalam indeks yang bertipe integer. Misalnya : X(1) = 10, X(2) = 15, X(3) = 100,
dst. Cara penulisan seperti ini banyak digunakan dalam bidang perhitungan vektor (dengan
larik satu dimensi), matriks (dengan larik dua dimensi), statistika (untuk data berindeks), dan
pemodelan matematis (dengan variabel berindeks, dapat mencapai larik n dimensi). Kunci
dalam penggunaan larik adalah kemampuan untuk memanipulasi/menggunakan indeks
semaksimal mungkin untuk menyelesaikan masalah yang ada.
Untuk dapat menggunakan larik dalam program, deklarasi variabel yang telah
dijelaskan sebelumnya sedikit dimodifikasi untuk memberi nilai indeks. Untuk larik satu
dimensi dengan jumlah indeks = Jumlah, digunakan perintah deklarasi :

DIM NamaVariabel(Jumlah) AS TipeData

Contoh 2-6. Penggunaan Larik Sederhana


Lihat kembali program komputer dalam Contoh 2-5. Gunakan Larik seperlunya dalam
program tersebut!

Program dan Penjelasannya


Dalam program di atas terdapat beberapa variabel dengan nama yang hampir sama
(dapat disamakan dengan indeks) dengan tipe data yang sama pula, misalnya j1, j2, dan j3;
m1, m2, dan m3. Variabel-variabel semacam ini dapat digabungkan menjadi satu dalam
sebuah larik. Program selengkapnya dapat dilihat di bawah ini.
‘Deklarasi Variabel
DIM j(3) AS INTEGER, m(3) AS INTEGER
DIM d(3) AS INTEGER, det(3) AS LONG

‘Deklarasi Konstanta
CONST jam = 3600
CONST menit = 60

23
‘Program
CLS
j(1) = 2
m(1) = 55
d(1) = 30
j(2) = 3
m(2) = 1
d(2) = 27
det(1) = j(1) * jam + m(1) * menit + d(1)
det(2) = j(2) * jam + m(2) * menit + d(2)
det(3) = det(2) - det(1)
j(3) = det(3) \ jam
m(3) = (det(3) MOD jam) \ menit
d(3) = (det(3) MOD jam) MOD menit
PRINT j(3); m(3); d(3)
END

4. Struktur Dasar Program


Selain mencermati komponen-komponen dasar yang menyusun program, kita dapat
mencermati program/algoritma sebagai beberapa kesatuan baris-baris perintah yang biasa
disebut dengan struktur program. Secara umum terdapat tiga macam struktur dasar yang
dapat menyusun program komputer, yaitu : Struktur Runtunan (Sequence), Struktur Pemilihan
(Selection), dan Struktur Perulangan (Repetition). Di dalam sebuah program yang
besar/panjang kemungkinan dapat dijumpai tiga macam struktur tersebut, atau dengan kata
lain program tersebut merupakan gabungan dari ketiga struktur tersebut. Tetapi mungkin saja
sebuah program hanya tersusun dari satu macam dari ketiga struktur tersebut.

a. Struktur Runtunan (Sequence)


Dalam struktur ini, baris-baris perintah program dikerjakan sesuai dengan urutan
penulisannya. Suatu baris perintah dikerjakan setelah baris sebelumnya telah selesai
dikerjakan. Algoritma dan program pada contoh 1-2 yang juga dilanjutkan pada contoh 2-5
dan 2-6, juga pada contoh 1-3 merupakan contoh algoritma dan program yang hanya
menggunakan struktur ini. Secara umum, sebuah algoritma atau bagian dari algoritma yang
mempunyai struktur ini mempunyai diagram alir seperti pada gambar di bawah ini.

24
Gambar 2-1. Diagram Alir Struktur Runtunan

Untuk menggunakan struktur ini dalam bahasa BASIC cukup dituliskan perintah-
perintah yang bersangkutan dari atas ke bawah.

b. Struktur Pemilihan (Selection)


Dalam struktur ini, terdapat suatu persyaratan yang merupakan ekspresi logika.
Apabila syarat tersebut dipenuhi (atau ekspresi logika tersebut bernilai benar) serangkaian
baris perintah dikerjakan dan apabila syarat tersebut tidak dipenuhi (ekspresi logika tersebut
bernilai salah) rangkaian baris perintah yang lain dikerjakan. Algoritma program pada contoh
1-1 merupakan contoh algoritma yang menggunakan struktur ini. Secara umum, sebuah
algoritma atau bagian dari algoritma yang mempunyai struktur ini mempunyai diagram alir
seperti pada gambar di bawah ini.

Salah Ekspresi Benar


Logika

Gambar 2-2. Diagram Alir Struktur Pemilihan


Untuk menggunakan struktur ini dalam bahasa BASIC diperlukan perintah khusus
yang disebut perintah struktur. Perintah struktur pemilihan yang tersedia adalah perintah IF
… THEN … ELSE … END IF (yang akan dibicarakan dalam Bab IV) dan SELECT CASE …
END SELECT IF (yang akan dibicarakan dalam Bab V).

c. Struktur Perulangan (Repetition)


Dalam struktur ini, terdapat serangkaian baris perintah yang diulang berdasarkan
persyaratan (ekspresi logika) tertentu. Pengulangan dapat terjadi baik pada nilai ekspresi
25
logika benar maupun pada nilai ekspresi logika salah, dan ekspresi logika dapat ditempatkan
pada awal maupun akhir pengulangan. Salah satu bentuk struktur pengulangan terlihat seperti
pada gambar diagram alir dibawah ini.
Untuk menggunakan struktur dapat digunakan perintah struktur FOR … NEXT (yang
akan dibicarakan dalam Bab VI) dan DO … LOOP (yang akan dibicarakan dalam Bab VII).

Ekspresi Benar
Logika

Salah

Gambar 2-3. Salah Satu Diagram Alir Struktur Pengulangan

Latihan
a. Penentuan nilai ekspresi dalam beberapa tipe data
Sebelum dapat menyusun program dengan baik, yang kemungkinan berisi dengan
berbagai macam ekspresi, kemampuan untuk dapat menentukan harga dari bermacam
ekspresi hendaknya dikuasai terlebih dahulu. Untuk itu tentukanlah harga ekspresi-ekspresi
di bawah ini.
1. a. 4+4/4*2
b. (5+5)/(5*2)
c. 6/2– 4*2
d. 6/(2– 3)*2
e. 6/(2– 3*2)
f. ((4+3)/(6+5/5)+15) mod 3

2. a. 6+2/2*3  7 div 1
b. 6+2/2*3 > 7 div 1
c. 3+4/4*3–8  8 mod 2
d. 3+4/4*3–8 < 8 mod 2
e. 3 – 9 div 2 – 4 = 0 div 2
f. (3 – 9) div (2 – 4)  0 mod 2
g. (44\3)* 2 mod 4
h. 2+4/5*6< 10 div 3

26
3. a. not (8+5 > 10 div 3)
b. (5  10/2) and (4*2  8)
c. (10+3*5  100 mod 3) or (6/2+1 = 2)
d. (3 < 8) xor (9 < 9)
e. (5  5) eqv (3  3)
f. (1+2/2-1 = 3) imp (15  3*4+1)
g. 10 mod 3\2 or 12\3 div 7

4. a. (‘B’ = ’b’) or (‘T’+’eh’  ‘Teh’)


b. (‘A’ > ’Z’) and (‘a’ = ‘z’)
c. not (‘T’ + ’I’  ‘TI’)
d. (‘UA’+’ ‘+’JY’ = ‘UAJY’) imp (‘Yogya’ = ‘Solo’)
e. (2+2 = 3) or (‘k’+’am’+’u’  ‘kamu’)
f. (9/3  3) eqv (‘k’+’am’+’u’ > ‘kamu’)

b. Pendeklarasian Variabel
Lihat kembali program komputer latihan soal no. 1 – 4 pada Bab I, identifikasi semua
variabel dan konstanta yang terdapat pada masing-masing program. Kemudian tentukanlah
jenis data dari masing-masing elemen tersebut. Setelah itu sempurnakanlah program dengan
mendeklarasikan semua konstanta dan variabel yang diperlukan dalam program.

c. Penyusunan Algoritma/Diagram Alir


Salah satu langkah penting dalam proses pembuatan program yang baik adalah
penyusunan Algoritma atau Diagram Alir. Buatlah dua haltersebutuntukmasalah-masalah di
bawahini.

1. Menentukan jenis suatu bilangan (merupakan input), bilangan genap atau bilangan ganjil.
Contoh kasus : input bilangan =21; jenisbilangan = bilanganganjil.

2. Menentukan jumlah digit dari suatu bilangan (merupakan input yang besarnya antara 0
sampai 100.000). Contoh kasus : input bilangan = 234; banyaknya digit = 3.

3. Menentukan kuadran dalam koordinat kartesian. Dalam koordinat kartesian terdapat 4


kuadran yaitu kuadran I, kuadran II, kuadran III, kuadran III, dan kuadran IV. Input berupa
koordinat titik yang dimaksud (x, y) dan keluaran berupa kuadran dari titik tersebut (I atau
II atau III atau IV).

4. Menentukan jenis suatu tahun, kabisat atau bukan. Dalam tahun masehi yang kita pakai
akan ditemui tahun kabisat setiap 4 tahun sekali, dengan pengecualian tahun-tahun
kelipatan 100 yang bukan merupakan kelipatan 400. Buatlah program untuk mengetahui
apakah suatu tahun merupakan tahun kabisat atau bukan.

5. Menentukan apakah suatu segitiga sama sisi atau tidak yang akan dibentuk oleh tiga buah
titik dengan koordinat yang berbeda pada bidang koordinat dua dimensi?

6. Menampilkan 12 bilangan asli yang pertama.

27
7. Menampilkan 9 bilangan genap yang pertama.

8. Menampilkan 12 bilangan ganjil yang pertama.

9. Menjumlahkan 6 bilangan asli yang pertama.

10. Menjumlahkan 5 bilangan genap yang pertama.

11. Menjumlahkan 7 bilangan ganjil yang pertama.

28
Bab III
Input dan Output

Telah sedikit disinggung dalam Bab II, bahwa cara pembuat program menggunakan
komputer untuk menyelesaikan masalah adalah dengan memerintahkan komputer untuk
mengolah obyek/data melalui variabel-variabel yang didefinisikan. Secara umum, dalam
setiap program akan terdapat sejumlah data yang ‘dimasukkan’ke dalamnya (yang sering
disebut dengan istilah input), kemudian setelah data tersebut mengalami pengolahan (yang
sering disebut dengan istilah process), akan terdapat sejumlah hasil yang ‘dikeluarkan’ dari
program tersebut (yang sering disebut dengan istilah output). Sehingga bila diilustrasikan,
sebuah program komputer akan bekerja dengan prinsip dasar seperti gambar di bawah ini.

Input Process Output

Gambar 3-1. Input-Process-Output Program Komputer

Bila kembali dicermati tahap pertama dari proses pembuatan program komputer
(mendefinisikan permasalahan) dalam Bab I, terlihat bahwa tiga hal tersebut (Input-Process-
Output) merupakan hal yang sangat penting sehingga ditentukan pertama kali dalam
keseluruhan tahapan proses pembuatan program komputer. Kemudian pada tahap berikutnya
(menyiapkan algoritma/diagram alir), Process yang merupakan proses/cara mengubah Input
menjadi Output dijabarkan lebih terperinci dalam baris-baris algoritma/diagram alir yang
disiapkan.
Dalam algoritma/diagram alir, Input dan Output sangat mudah untuk dinyatakan. Akan
tetapi sering kali hal ini dapat menimbulkan masalah yang besar bila bekerja dalam bahasa
pemrograman. Untuk itulah di dalam Bab ini akan dibicarakan dengan agak terperinci
perintah-perintah (Statements) Input dan Output dalam Quick BASIC 4.5. Secara umum
perintah-perintah tersebut dalam prosesnya akan menggunakan media-media (peripheral) IO
(Input-Output) standard yang dikenal oleh komputer seperti papan ketik (keyboard), file yang
tersimpan dalam disket (floppydisk maupun hard disk), layar monitor (screen), dan printer.

1. Perintah Input
Secara umum, semua Perintah Input mempunyai tujuan untuk
memasukkan/menyimpan suatu nilai ke dalam suatu variabel saat perintah tersebut
dijalankan. Asal dari nilai tersebut mungkin dari dalam baris perintah/program itu sendiri, dari
keyboard, atau dari file yang sudah ada. Berikut ini akan dijelaskan Perintah Input : LET,
SWAP, INPUT, dan READ - DATA
a. Perintah LET
Perintah LET digunakan untuk memasukkan sebuah nilai/ekspresi ke dalam sebuah
variabel dari baris perintah yang sama. Nilai/ekspresi yang akan dimasukkan harus
mempunyai tipe data yang sama dengan variabel (tipe data variabel diatur dalam bagian
deklarasi variabel). Dalam penggunaannya perintah LET boleh tidak dituliskan. Bentuk umum
perintah :
29
LET NamaVar = Ekspresi/Nilai
atau setara dengan
NamaVar = Ekspresi/Nilai

Contoh 3-1. Penggunaan Perintah LET


Lihat kembali program komputer dalam Contoh 2-5 yang ada di halaman 21.
Sebenarnya di dalam program tersebut terdapat banyak perintah LET, apabila perintah
tersebut dituliskan. Cermati program di bawah ini, yang akan menghasilkan keluaran yang
sama dengan program Contoh 2-5. Bandingkan kedua program tersebut!
‘Deklarasi Variabel
DIM j1 AS INTEGER, m1 AS INTEGER, d1 AS INTEGER
DIM j2 AS INTEGER, m2 AS INTEGER, d2 AS INTEGER
DIM j3 AS INTEGER, m3 AS INTEGER, d3 AS INTEGER
DIM det1 AS LONG, det2 AS LONG, det3 AS LONG
‘Deklarasi Konstanta
CONST jam = 3600
CONST menit = 60
‘Program
CLS
LET j1 = 2
LET m1 = 55
LET d1 = 30
LET j2 = 3
LET m2 = 1
LET d2 = 27
LET det1 = j1 * jam + m1 * menit + d1
LET det2 = j2 * jam + m2 * menit + d2
LET det3 = det2 - det1
LET j3 = det3 \ jam
LET m3 = (det3 MOD jam) \ menit
LET d3 = (det3 MOD jam) MOD menit
PRINT j3; m3; d3

END

b. Perintah SWAP
Perintah SWAP digunakan untuk menukar isi dua variabel yang telah dimasukkan
isinya sebelumnya. Tipe data dua variabel yang akan ditukar harus sama. Bentuk umum
perintah :
SWAP NamaVar1, NamaVar2

Contoh 3-2. Penggunaan Perintah SWAP


Pada program di bawah ini, nilai yang tersimpan dalam variabel A akan ditukar dengan
nilai yang tersimpan dalam variabel B.

‘Deklarasi Variabel
DIM A AS LONG, B AS LONG
‘Program
CLS
A = 5
B = 10
PRINT A, B
SWAP A, B 30
PRINT A, B
END
Karena variabel A semula bernilai 2, dan variabel B bernilai 5, dan setelah perintah
SWAP dikerjakan variabel A bernilai 5 dan B bernilai 2, maka output dari program tersebut
adalah sebagai berikut :

5 10
10 5

c. Perintah INPUT
Perintah INPUT digunakan untuk membaca nilai data yang diketikkan lewat papan
ketik dan memasukkan nilai data tersebut pada suatu variabel yang ditulis di belakang
perintah INPUT. Dengan perintah INPUT program dapat membaca data yang bertipe apa
saja. Nilai data String tidak perlu diletakkan diantara tanda kutip (“), kecuali jika String tersebut
berisi tanda baca. Tanda baca koma digunakan untuk memisahkan suatu nilai data dengan
data yang lain.
Bentuk umum perintah :

INPUT (;) “Ekspresi String”(, / ;)NamaVar1(,NamaVar2,....)

Contoh 3-3. Penggunaan Perintah INPUT


Untuk dapat memahami Perintah INPUT beserta maksud dari tanda-tanda yang ada
di dalam bentuk umum perintah INPUT cermati contoh program berikut ini :

'Deklarasi Variabel
DIM BIL AS INTEGER, UMUR AS INTEGER
DIM NAMA AS STRING, ALAMAT AS STRING
DIM A AS STRING, KOTA AS STRING
'Program
CLS
INPUT BIL
INPUT NAMA
INPUT ALAMAT
PRINT
INPUT "Masukkan Nilai A ="; A
INPUT "Masukkan Dua Bilangan ="; BIL, UMUR
PRINT
INPUT "NAMA ANDA = ", NAMA
INPUT "ALAMAT ANDA = ", ALAMAT
INPUT "KOTA ANDA = ", KOTA
INPUT ; "UMUR ANDA = ", UMUR
PRINT " TAHUN"
END

Jika program di atas dijalankan, pada layar output akan muncul tanda tanya ? yang
menunjukkan bahwa program menunggu anda memasukkan nilai data untuk variabel-variabel

31
yang ditulis di belakang INPUT. Setelah nilai data dimasukkan tekan tombol <enter> untuk
melanjutkan ke perintah berikutnya. Berikut ini adalah contoh eksekusi program tersebut :

? 99
? Rere
? Babarsari

Masukkan Nilai A =? "Nama,Mahasiswa"


Masukkan Dua Bilangan =? 1,2

NAMA ANDA = Rere


ALAMAT ANDA = Jl. Babarsari 26
KOTA ANDA = Yogyakarta
UMUR ANDA = 10TAHUN

Dari contoh di atas, buatlah kesimpulan tentang arti tanda titik koma (;) setelah
perintah INPUT, Ekspresi String di antara tanda kutip (“ … “), tanda koma setelah Ekspresi
String yang dapat digunakan bergantian dengan tanda titik koma!
Catatan yang lain adalah : banyaknya nilai data yang diketikkan pada papan ketik
harus sama dengan banyaknya variabel yang akan menerima nilai-nilai data tersebut, dan
tipe masing-masing data harus sesuai dengan tipe variabel. Jika ketentuan ini dilanggar maka
akan tampil pesan kesalahan “Redo From Start”, yang berarti harus mengetikkan nilai-nilai
data tersebut kembali (pada baris tersebut saja).

d. Perintah READ - DATA


Perintah READ digunakan untuk membaca nilai satu atau lebih variabel yang ditulis
dengan menggunakan perintah DATA. Masing-masing nilai yang terletak pada statemen
DATA dipisahkan dengan tanda koma ( , ).
Bentuk umum perintah :

READ NamaVar1, NamaVar2, NamaVar3, …


DATA Nilai1, Nilai2, Nilai3, …

Jika perintah DATA tidak ada, maka kompiler akan memberikan pesan kesalahan “Out
Of Data”. Jika banyaknya variabel lebih besar dari banyaknya nilai data yang akan
dimasukkan maka pesan kesalahan “Out Of Data” juga akan muncul, dan pelaksanaan
program dihentikan. Sebaliknya jika banyaknya variabel lebih sedikit dibanding dengan
banyaknya nilai data, kelebihannya akan diabaikan.
Perintah DATA dapat diletakkan dimana saja dari badan program, tetapi disarankan
untuk menjadikan satu kumpulan perintah DATA dan meletakkannya di awal atau akhir
program untuk mempermudah pencarian.
Perintah READ - DATA dapat digunakan untuk membaca deretan nilai yang berbeda
jenisnya. Tetapi tipe variabel dalam perintah READ dan tipe data dalam perintah DATA harus
sesuai. Jika tipenya tidak sama akan menyebabkan kesalahan : “Type Mismatch” atau
“Syntax Error” atau kesalahan jenis data atau kesalahan pemotongan angka (truncation
error).

32
Nilai data yang tertera pada perintah DATA hanya dapat dibaca satu kali saja dengan
perintah READ dalam satu kali eksekusi program. Untuk dapat membaca kembali nilai data
digunakan perintah RESTORE.
Bentuk umum :
RESTORE (label / nomor baris)

Jika tidak didefinisikan label atau nomor baris, maka perintah RESTORE akan
mengembalikan pembacaan data pada perintah DATA yang pertama.

Contoh 3-4. Penggunaan Perintah READ – DATA yang SALAH


Dengan sedikit memodifikasi contoh 3-2, berikut ini adalah program yang salah
menggunakan perintah READ – DATA. Cobalah jalankan program tersebut, lihat pesan
kesalahannya, kemudian coba perbaiki supaya hasilnya sama dengan program contoh 3-2!

‘Deklarasi Variabel
DIM A AS LONG, B AS LONG
‘Program
CLS
READ A, B
PRINT A, B
SWAP A, B
PRINT A, B
END

Hal yang sama terdapat pada contoh program di bawah ini, terdapat kesalahan dalam
penggunaan perintah READ – DATA. Cobalah jalankan program tersebut, lihat pesan
kesalahannya, kemudian coba perbaiki kesalahan yang ada.

‘Deklarasi Variabel
DIM A AS LONG, B AS LONG, C AS LONG, D AS LONG
‘Program
CLS
READ A, B, C, D
PRINT A, B, C, D
END
‘Data
DATA 15, 25, 35

Hal yang sama terdapat pada contoh program di bawah ini, terdapat kesalahan dalam
penggunaan perintah READ – DATA.

33
‘Deklarasi Variabel
DIM A AS INTEGER, B AS LONG,
DIM C AS STRING, D AS STRING

‘Program
CLS
READ A, B, C, D
PRINT A, B, C, D
END
‘Data
DATA UAJY, 20, 30, Mahasiswa

Bila program di atas dijalankan, program akan berhenti dan akan muncul pesan
kesalahan “Type Mismatch” atau “Syntax Error”. Hal ini disebabkan karena variabel pertama
yang berada dalam perintah READ (Variabel A) mempunyai tipe Integer, sedangkan nilai data
pertama yang akan dibaca merupakan String.
Hal lain yang perlu dicermati adalah variabel ketiga dalam perintah READ (Variabel C)
yang merupakan variabel String. Meskipun nilai data yang dimasukkan adalah nilai 10, nilai
ini tetaplah merupakan deretan karakter, bukan merupakan bilangan, sehingga nilai ini hanya
bisa dioperasikan sebagai string.
Sebuah contoh program dan output program dengan perintah READ – DATA yang
salah adalah sebagai berikut :

‘Deklarasi Variabel
DIM A AS INTEGER, B AS LONG,
DIM C AS STRING, D AS STRING

‘Program
CLS
READ A, B, C, D
PRINT A, B, C, D
END

‘Data
DATA 1.125, 30, Mahasiswa, UAJY

1 30 Mahasiswa UAJY

Bila program di atas dijalankan, memang tidak muncul pesan kesalahan apapun.
Tetapi apabila dicermati output program tersebut, khususnya pada penampilan variabel A
terdapat suatu kejanggalan. Nilai Data yang tertulis untuk variabel A adalah 1.125, akan tetapi
yang tertampil di layar output adalah harga 1. Hal ini terjadi karena A merupakan variabel
Integer yang tidak mengenal fraksi pecahan (desimal). Sehingga sebuah nilai desimal yang
akan dimasukkan ke dalam variabel tersebut dibulatkan terlebih dahulu. Kesalahan seperti ini
disebut dengan truncation error. Hal ini harus diantisipasi dengan cara mendeklarasikan
variabel yang tepat. Misalnya untuk program di atas, kita deklarasikan A sebagai SINGLE.

34
Contoh 3-4. Penggunaan Perintah READ – DATA dan RESTORE
Berikut ini adalah contoh penggunaan perintah RESTORE dalam program yang
menggunakan perintah READ – DATA. Program di bawah ini menggunakan style (gaya)
penulisan BASIC yang paling tradisional yaitu dengan menggunakan nomor pada awal setiap
baris program. Versi awal dari keluarga compiler BASIC seperti BASICA dan GW-BASIC
mengharuskan penggunaan nomor baris seperti di bawah ini, dan penggunaan nomor masih
diperbolehkan dalam QB 4.5 meskipun sifatnya hanya optional.
Pada baris perintah nomor 10, 70, 110, 200, 260 (penggunaan nomor memudahkan
untuk melakukan kutipan seperti ini) terdapat perintah dengan keyword REM yang sama
tugasnya dengan tanda petik tunggal (‘) yang sudah sering digunakan, yaitu untuk
memberikan keterangan tambahan dalam program karena semua karakter setelah perintah
tersebut tidak akan dijalankan sebagai baris program. Keterangan/Komentar seperti ini
sangat memudahkan pendokumentasian program itu sendiri, terutama untuk program-
program besar.

10 REM Deklarasi Variabel


20 DIM N1 AS INTEGER, N2 AS INTEGER, N3 AS INTEGER, N4 AS INTEGER
30 DIM NM1 AS STRING, NM2 AS STRING, NM3 AS STRING, NM4 AS STRING
40 DIM NA1 AS STRING, NA2 AS STRING, NA3 AS STRING, NA4 AS STRING
50 DIM NB1 AS STRING, NB2 AS STRING, NB3 AS STRING, NB4 AS STRING
60
70 REM Data
80 DATA 100, 90, 80, 70
90 DATA Rodolf, Ita, Galih, Micael
100
110 REM Program
120 READ N1, N2, N3, N4
130 READ NM1, NM2, NM3, NM4
140 PRINT NM1, N1
150 PRINT NM2, N2
160 PRINT NM3, N3
170 PRINT NM4, N4
180 PRINT
190
200 REM Membaca Ulang data dari nomor baris 90
210 RESTORE 90
220 READ NA1, NA2, NA3, NA4
230 PRINT NA1, NA2, NA3, NA4
240 PRINT
250
260 REM Membaca Ulang data dari atas
270 RESTORE
280 READ N1, N2, N3, N4
290 PRINT N1, N2, N3, N4
300 PRINT
310 READ NB1, NB2, NB3, NB4
320 PRINT NB1, NB2, NB3, NB4

35
330 END

Output program tersebut adalah sebagai berikut :

ERIC 100
RERE 90
VINCENT 80
DIO 70

ERIC RERE VINCENT DIO

100 90 80 70

ERIC RERE VINCENT DIO

Perintah DATA terdapat pada bagian awal program ini, sedangkan perintah RESTORE
ada pada baris perintah nomor 210 dan 260. Cermati tugasnya masing-masing. Cobalah pula
untuk menghilangkan satu demi satu perintah RESTORE tersebut dan jalankanlah program
tersebut, cermati apa yang terjadi!

2. Perintah Output
Secara umum, semua Perintah Output mempunyai tujuan untuk
menampilkan/mengeluarkan nilai yang tersimpan suatu variabel ke media Output yang ada
saat perintah tersebut dijalankan. Penampilan isi variabel tersebut dapat digabungkan dengan
isi varibel lain ataupun berbentuk ekspresi. Adapun media Output yang bisa digunakan antara
lain layar monitor (screen), printer, dan file. Berikut ini akan dijelaskan dua perintah Output :
PRINT, LPRINT.

a. Perintah PRINT
Perintah PRINT digunakan untuk menampilkan/mencetak sederetan ekspresi ke layar
monitor. Bentuk umum perintah :

PRINT [Ekspresi1] [,|;] [Ekspresi2] […]

Seperti telah dijelaskan pada bab II, ekspresi yang dimaksud di sini adalah gabungan
operator, konstanta dan variabel yang menghasilkan sebuah nilai tunggal. Ekspresi yang bisa
ditampilkan apa adanya dengan perintah ini hanyalah ekspresi yang menghasilkan nilai string
dan nilai numerik. Sedangkan ekspresi yang menghasilkan nilai logika, nilainya akan
ditampilkan sebagai simbol –1 untuk benar/true dan 0 untuk salah/false.
Tanda pemisah titik koma akan menyebabkan ekspresi kedua (atau ekspresi
berikutnya) dicetak tepat setelah ekspresi pertama (atau ekspresi sebelumnya). Untuk
ekspresi numerik sebelum dan sesudahnya diberi satu spasi kosong, sedangkan untuk
ekspresi string tanpa ada spasi kosong.
Tanda koma akan menyebabkan ekspresi kedua (atau ekspresi berikutnya) dicetak
pada awal zona kolom layar monitor berikutnya. Secara normal layar monitor dapat dibagi

36
menjadi 25 baris (1 - 25) dan 80 kolom (1-80). Daerah sepanjang 80 karakter kolom dibagi
dalam 6 zona. Zona I - V terdiri dari 14 karakter, sedangkan zona VI terdiri dari 10 karakter.
Apabila tidak ada ekspresi setelah perintah PRINT, di layar monitor akan tercetak satu
baris kosong.

Contoh 3-5. Penggunaan Perintah PRINT


Berikut ini adalah contoh penggunaan perintah PRINT. Untuk dapat memahami
perintah PRINT, cermati semua variasi dan kemungkinan yang ada pada tiap-tiap baris
program di bawah ini yang diawali dengan perintah tersebut! Bandingkan dengan output
program yang ada! Nilai dimasukkan ke dalam variabel dengan perintah READ.
‘Deklarasi Variabel
DIM A AS SINGLE, B AS SINGLE
DIM NAMA AS STRING, Jurusan AS STRING, Angkatan AS STRING
‘Program
CLS
READ A, B, NAMA, Jurusan, Angkatan
PRINT 100
PRINT A
PRINT A * B, 100 + A
PRINT A * B; 100 + A
PRINT A > B
PRINT NOT(A = A) OR (A <> B)
PRINT
PRINT "Nama Mahasiswa = "; NAMA
PRINT "Program Studi = "; Jurusan
PRINT "Angkatan = "; Angkatan
PRINT
PRINT "Isi Var A adalah"; A;
PRINT "dan Isi Var B adalah"; B
PRINT
PRINT NAMA; " adalah "; "Mahasiswa "; Jurusan;"Angkatan "; Angkatan
PRINT NAMA, " adalah ", "Mahasiswa ", Jurusan
END
‘Data
DATA 1.125, 8, Rodolf, Teknik Industri, 2013
Output program tersebut adalah sebagai berikut :

100
1.125
9 101.125
9 101.125
0
-1

Nama Mahasiswa = Rodolf


Program Studi = Teknik Industri

37
Angkatan = 2013

Isi Var A adalah 1.125 dan Isi Var B adalah 8

Rodolf adalah Mahasiswa Teknik Industri Angkatan 2013


Rodolf adalah Mahasiswa Teknik Industri

Pemakaian tanda koma (,) atau tanda titik koma (;) untuk memisahkan ekspresi yang
satu dengan ekspresi yang lain pada perintah PRINT seringkali kurang memenuhi kebutuhan,
karena banyaknya spasi yang akan dicetak. Seringkali kita menginginkan adanya spasi yang
banyaknya bisa kita atur sesuai kebutuhan. Hal ini bisa dilaksanakan dengan menyisipkan
perintah TAB(n) atau SPC(n) sebelum ekspresi yang akan ditampilkan dengan perintah
PRINT.
Perintah TAB(n) menunjukkan bahwa nilai ekpresi sesudah perintah ini akan dicetak
pada kolom ke n. Sedangkan perintah SPC(n) digunakan untuk memberi jarak sebanyak n
spasi antara satu ekspresi dengan ekspresi yang lain.
Sedangkan untuk mencetak karakter tertentu dengan jumlah tertentu, kita bisa
menggunakan perintah STRING$(n, “karakter”/kode ASCII) di dalam ekspresi setelah
perintah PRINT.

Contoh 3-6. Penggunaan Perintah TAB, SPC, STRING$


Berikut ini adalah contoh penggunaan perintah-perintah TAB, SPC, STRING$. Cermati
semua variasi dan kemungkinan yang ada pada tiap-tiap baris program di bawah ini dan
membandingkan output program yang ada!

10 CLS
20 PRINT "123456789012345678901234567890"
30 PRINT TAB(3); "Universitas"; TAB(15); "Atma Jaya"
40 PRINT SPC(3); "Universitas"; SPC(5); "Atma Jaya"
50 PRINT TAB(3); 25
60 PRINT STRING$(30, "*")
70 PRINT STRING$(15, "AB")
80 PRINT STRING$(30, 205)
90 PRINT STRING$(10, "205")
100 END

Output program tersebut adalah sebagai berikut :

123456789012345678901234567890
Universitas Atma Jaya
Universitas Atma Jaya
25
******************************
AAAAAAAAAAAAAAA
------------------------------
2222222222

38
Bandingkan antara perintah TAB pada baris 30 program dengan perintah SPC pada baris 40
program, lihat perbedaan yang ada pada output program! Cermati juga perintah TAB yang
diikuti ekspresi numerik pada baris 50! Dari baris 70 dan 90, kita dapat mempelajari bahwa
apabila string yang dipakai, hanya karakter pertama saja yang diambil untuk diulangi sejumlah
n kali. Bandingkan juga antara baris 80 yang menggunakan kode ASCII (Kode ASCII
selengkapnya dapat dilihat melalui menu Help QB 4.5) dan 90 yang menggunakan string!
Untuk menghasilkan tampilan yang lebih baik dan lebih mudah di atur, perintah USING
“format“; ekspresi dapat digunakan setelah perintah PRINT. “format“ merupakan string
yang menunjukkan format tampilan yang akan dicetak. Sedangkan ekspresi merupakan
daftar ekspresi (bisa lebih dari satu) yang nilainya akan dicetak. Beberapa tanda yang dapat
dimasukkan dalam “format” USING terdapat dalam Tabel berikut ini.

Tabel 3-1. Tabel Tanda Format dan Kegunaan dalam Perintah USING

Tanda Digunakan untuk

# mencetak ekspresi numerik dengan banyak digit sebanyak tanda #


^^^^ mencetak bilangan single precision dan atau double precision menggunakan
format scientific
#, menentukan bahwa pemisah untuk digit ribuan adalah tanda koma
#.# menentukan tanda pecahan desimal
! mencetak karakter pertama dari ekspresi string
\ \ mencetak ekspresi string sejumlah spasi diantara tanda \. Jika ekspresi yang
akan dicetak mempunyai panjang lebih dari yang disediakan maka ekspresi
selanjutnya akan diabaikan.
& mencetak seluruh karakter dari suatu ekspresi string

Dalam pemakaian format #, jika tanda # lebih sedikit dibanding dengan banyaknya angka
dalam ekspresi yang akan dicetak, keseluruhan angka dari ekspresi tersebut tetap akan
dicetak dengan tambahan tanda % di depan angka pertama. Format selengkapnya dapat
dilihat pada Menu Help QB 4.5.

Contoh 3-7. Penggunaan Perintah USING


Berikut ini adalah contoh penggunaan perintah PRINT dengan USING. Cermati semua
variasi dan kemungkinan yang ada pada tiap-tiap baris program di bawah ini dengan
membandingkan output program yang ada!

39
CLS
PRINT USING "###"; 1234
PRINT USING "####"; 1234
PRINT USING "######"; 1234
PRINT USING "$##,###"; 1234
PRINT USING "###,###,###.##"; 1234567.89123#
Nama$ = "Eric Gunarto"
N = 99
PRINT
PRINT USING "Nama = \ \ dengan nilai ###.#"; Nama$; N
PRINT USING "! "; "Universitas";
PRINT USING "! "; "Atma";
PRINT USING "! "; "Jaya";
PRINT USING "! "; "Yogyakarta"
PRINT USING "&"; "Universitas Atma Jaya Yogyakarta"
END

Output dari program di atas :

%1234
1234
1234
$ 1,234
1,234,567.89

Nama = Eric Gunarto dengan nilai 99


UAJY
Universitas Atma Jaya Yogyakarta

b. Perintah LPRINT
Perintah LPRINT digunakan untuk menampilkan/mencetak sederetan ekspresi ke
printer, apabila terdapat alat ini yang terhubung dan dalam kondisi on/nyala dengan komputer
yang digunakan. Bentuk umum perintah LPRINT sama dengan perintah PRINT (kecuali kata
kuncinya), demikian pula semua variasi yang dipakai dengan perintah PRINT (TAB, SPC,
STRING$, USING) dapat dipakai dengan perintah LPRINT.

40
3. Latihan

a. Penyempurnaan Program
Lihat kembali program komputer latihan soal no. 1 – 4 pada Bab I, yang telah diperbaiki
dengan menambahkan deklarasi variabel pada latihan no. b pada Bab II. Dengan
pengetahuan yang telah diperoleh dalam bab ini, sempurnakanlah program-program tersebut
pada bagian input dan outputnya sehingga program mempunyai sifat ‘general solver’ (dapat
digunakan untuk menyelesaikan masalah-masalah sejenis secara umum, misal untuk no. 1
dapat untuk menyelesaikan masalah tersebut berapapun panjang jari-jari lingkaran) dan
tampilannya menjadi ‘user-friendly’ (mudah dipakai oleh orang lain, bahkan yang tidak bisa
membuat program sekalipun).

b. Penyusunan Algoritma/Diagram Alir dan Program


Untuk masalah-masalah di bawah ini, susunlah Algoritma atau Diagram Alir terlebih
dahulu sebelum membuat program komputernya. Gunakan semua perintah telah dikenal
untuk membuat program yang sebaik-baiknya (algoritma yang benar, deklarasi variabel yang
tepat, perintah yang tepat, tampilan output yang interaktif, dll)

1. Mengkonversi panjang dalam yard, kaki, dan inchi menjadi ke dalam satuan meter.
Sebagai contoh, jika pengguna memasukkan 3 yard, 2 kaki, dan 8 inchi, maka program
menampilkan 3,556 meter. Masukkan dari program ini adalah panjang dalam yard, kaki,
dan inchi. Keluaran dari program ini adalah panjang dalam meter.
2. Menentukan suhu suatu ruangan dalam derajat Fahrenheit, Reamur dan Kelvin, apabila
telah diketahui suhu ruangan tersebut dalam derajat Celcius. Input pada program ini
adalah suhu dalam derajat Celcius dan keluarannya adalah suhu dalam Fahrenheit,
Reamur dan Kelvin.
3. Menampilkan jumlah hari, jam, menit, dan detik dari masukan yang berupa lamanya waktu
dalam detik. Sebagai contoh masukan 100.000 detik akan menghasilkan keluaran: 1 hari,
3 jam, 46 menit dan 40 detik.
4. Menghitung berat badan ideal mahasiswa. Data yang diinputkan adalah nama
mahasiswa, umur mahasiswa (dalam tahun), dan tinggi badan (dalam cm). Output dari
program adalah nama mahasiswa, umur mahasiswa (dalam tahun), dan tinggi badan
(dalam m, 2 digit dibelakang koma), berat badan ideal (dalam kg) . Rumus berat badan
ideal dalam kg adalah 90% * (tinggi badan(cm) – 100)
5. Menghitung nilai akhir seorang mahasiswa, dengan input Nama Mahasiswa, Nilai Tugas,
Nilai UTS dan Nilai UAS. Nilai akhir mahasiswa dihitung dengan prosentase nilai: 30%
tugas, 30% UTS, 40% UAS. Tampilkan sebagai output semua variabel yang ada.
6. Buatlah program untuk menampilkan KTM Anda dengan menggunakan perintah READ–
DATA. Output berupa: Nama, NPM, Prog. Studi, Fakultas, Alamat
7. Bagian pembuatan nota perusahaan suplier peralatan bengkel “LABPO” mengalami
kesulitan dalam membuat rincian nota untuk para pembeli. Atasan menerapkan peraturan
bahwa pembeli minimal harus membeli 5 jenis barang (@ max. 999 unit). Bantulah
mereka untuk membuat sebuah program dengan menginputkan nama barang, jumlah
barang yang dibeli, dan harga per-barang, sebanyak 5 kali, dan output berupa: harga

41
total per-barang, serta harga total seluruhnya. Gunakan perintah print using untuk
menampilkannya!
8. Komunitas anda akan mengikuti pertandingan mengejar cinta. Teman-teman Anda
mengetahui Anda sedang belajar pemrograman dan meminta Anda membuatkan
program untuk membuat format surat izin agar dapat mengikuti pertandingan mengejar
cinta. Buatlah program ini dengan input berupa Nama dan No. Mahasiswa. Batasi nama
hanya sebanyak 15 karakter saja (petunjuk: gunakan PRINT USING).
Contoh input dan output:

INPUT
Masukkan Nama : VinCos
Masukkan NIM : 7777

OUTPUT
Dengan hormat,

Bersamaan dengan surat ini, saya yang bertanda tangan di bawah ini:

Nama : VinCos
No.Mahasiswa : 7777

menyatakan bahwa saya tidak bisa mengikuti mata kuliah yang Bapak ajar, karena
harus mengikuti pertandingan mengejar cinta dalam rangka hari valentine. Demikian
surat ini saya buat, atas perhatian Bapak saya mengucapkan 'maacih eaaa!!!’.Muaachh
:* …

Yogyakarta, 9 Agustus 2016

VinCos

42
Bab IV
Struktur Pemilihan
dengan IF … THEN … ELSE … END IF
Dalam bab II telah dijelaskan bahwa terdapat tiga macam struktur dasar yang dapat
menyusun program komputer, yaitu : Struktur Runtunan (Sequence), Struktur Pemilihan
(Selection), dan Struktur Perulangan (Repetition). Sampai pada Bab III, struktur yang telah
digunakan untuk menyusun program (baik contoh maupun latihan) hanyalah Struktur
Runtunan saja.
Dalam bab ini, akan dibahas tentang Struktur Pemilihan di mana terdapat suatu
persyaratan yang merupakan operator logika yang digunakan untuk mengatur jalannya
program. Apabila syarat tersebut dipenuhi (atau operator logika tersebut bernilai benar)
serangkaian baris perintah dikerjakan dan apabila syarat tersebut tidak dipenuhi (operator
logika tersebut bernilai salah) rangkaian baris perintah yang lain dikerjakan.

1. Bentuk Umum Struktur Pemilihan dengan IF … THEN … ELSE … ENDIF


Secara umum, bagian program yang terbentuk dengan struktur pemilihan memiliki
diagram alir seperti pada gambar 4-1.

Salah Ekspresi Logika Benar

Gambar 4-1. Diagram Alir Struktur Pemilihan

Dalam bahasa BASIC, Struktur tersebut di atas ekivalen dengan bentuk umum perintah
berikut ini :

IF Ekspresi Logika THEN


: {perintah-perintah jika EL Benar}
ELSE
: {perintah-perintah jika EL Salah}
END IF

2. IF … THEN … ELSE … dengan Satu Baris Perintah


Apabila hanya terdapat satu baris perintah yang akan dijalankan pada masing-masing
kondisi persyaratan, yang mempunyai diagram alir seperti pada 4-2 dan 4-3, bentuk perintah
akan mengalami sedikit penyederhanaan. Untuk diagram alir pada gambar 4-2, yang hanya
melakukan satu perintah saja jika ekspresi logika syaratnya bernilai benar dan tidak

43
melakukan perintah apa-apa jika bernilai salah, bentuk perintahnya akan menjadi satu baris
saja :

IF Ekspresi Logika THEN Perintah jika EL Benar

Benar
Ekspresi Logika

Salah

Gambar 4-2. Diagram Alir Struktur Pemilihan IF … THEN …

Sedangkan untuk gambar 4-2, yang hanya melakukan satu perintah saja jika ekspresi logika
syaratnya bernilai benar dan juga hanya melakukan satu perintah saja jika bernilai salah,
bentuk perintahnya akan menjadi :

IF Ekspresi Logika THEN Perintah jika EL Benar ELSE Perintah jika EL Salah

Benar
Ekspresi Logika

Salah

Gambar 4-3. Diagram Alir Struktur Pemilihan IF … THEN … ELSE …

3. Pemilihan Berurutan dengan IF … THEN … ELSEIF … ELSE … ENDIF


Dalam menyelesaikan suatu masalah yang kompleks, sering kali dijumpai pemilihan
yang berurutan atau terdapat syarat majemuk. Secara umum, masalah tersebut terdapat pada
diagram alir gambar 4-4. Terlihat dari gambar tersebut, apabila syarat pertama (ekspresi
logika 1) dipenuhi (atau ekspresi logika tersebut berharga benar), terdapat serangkaian
perintah yang akan dikerjakan. Sedangkan, apabila tidak dipenuhi, syarat kedua (ekspresi
logika 2) akan diuji nilainya. Apabila bernilai benar, terdapat serangkaian perintah lain yang
akan dikerjakan. Demikian seterusnya, sampai syarat terakhir (ekspresi logika N) yang diuji
nilainya. Bila sampai syarat terakhir ini tidak terpenuhi, juga terdapat serangkaian perintah
lain yang akan dikerjakan.

44
Ekspresi Salah Ekspresi Salah Ekspresi Salah
Logika 1 Logika 2 Logika n

Benar Benar Benar

Gambar 4-4. Diagram Alir Struktur Pemilihan Berurutan

Dalam bahasa BASIC, Struktur tersebut di atas ekivalen dengan bentuk umum perintah
berikut ini :

IF Ekspresi Logika 1 THEN


:
: {perintah-perintah jika EL 1 Benar}
:
ELSEIF Ekspresi Logika 2 THEN
:
:{perintah-perintah jika EL 2 Benar}
:
:
:{syarat yang lain beserta perintahnya jika Benar}
:
ELSEIF Ekspresi Logika N THEN
:
:{perintah-perintah jika EL 3 Benar}
:
ELSE
:
:{perintah-perintah jika semua EL Salah}
:
END IF

Contoh 4-1. Menentukan Nilai Akhir Mahasiswa


Buatlah sebuah program untuk menentukan nilai akhir dari mahasiswa yang mengambil mata
kuliah praktikum dengan memperhatikan nilai pretest, nilai laporan dan nilai tugas besar. Nilai
akhir diperoleh dengan persamaan :
na = .3 * pretest + .4 * laporan + .3 * TB

Ketentuan yang dipakai dalam memberikan nilai pada mahasiswa adalah :


Jika 80 nilai akhir  100 maka nilai = A
Jika 70  nilai akhir < 80 maka nilai = B
Jika 55  nilai akhir < 70 maka nilai = C
Jika 40  nilai akhir < 55 maka nilai = D
45
Jika nilai akhir < 40 maka nilai = E
Algoritma
1. Mulai
2. Memasukkan nama, nilai tugas, nilai uts, dan nilai uas
3. Menghitung nilai akhir: na = .3 * pretest + .4 * laporan + .3 * TB
4. Menentukan nilai huruf dengan ketentuan:
Jika 80 nilai akhir  100 maka nilai = A
Jika 70  nilai akhir < 80 maka nilai = B
Jika 55  nilai akhir < 70 maka nilai = C
Jika 40  nilai akhir < 55 maka nilai = D
Jika nilai akhir < 40 maka nilai = E
5. Menampilkan nilai akhir dan nilai huruf
6. Selesai

Program Komputer

CLS
DIM nama AS STRING
DIM pretest AS SINGLE, laporan AS SINGLE, TB AS SINGLE
DIM na AS SINGLE, nilai AS STRING
PRINT "Program untuk menentukan nilai akhir praktikum seorang
mahasiswa"
PRINT
PRINT "Masukkan data mahasiswa"
PRINT "-------------------------"
INPUT "Nama mahasiswa : ", nama
INPUT "Nilai pretest : ", pretest
INPUT "Nilai laporan : ", laporan
INPUT "Nilai tugas besar : ", TB

na = .3 * pretest + .4 * laporan + .3 * TB

IF na >= 80 AND na <= 100 THEN


nilai = "A"
ELSEIF na >= 70 AND na < 80 THEN
nilai = "B"
ELSEIF na >= 55 AND na < 70 THEN
nilai = "C"
ELSEIF na >= 40 AND na < 55 THEN
nilai = "D"
ELSEIF na < 40 THEN
nilai = "E"
END IF
REM -- menampilkan nilai mahasiswa
PRINT "Nilai akhir :"; na
PRINT "Nilai huruf : "; nilai
END

46
Blok IF … END IF pada program di atas dapat disederhanakan menjadi :
IF na>= 80 THEN
nilai = "A"
ELSEIF na>= 70 THEN
nilai = "B"
ELSEIF na>= 55 THEN
nilai = "C"
ELSEIF na>= 40 THEN
nilai = "D"
ELSEIF na< 40 THEN
nilai = "E"
END IF

Penyederhanaan program di atas dapat dilakukan dengan syarat urutan dalam blok IF…END
IF tidak boleh dibalik atau teracak. Apabila ada urutan yang terbalik maka program tidak dapat
memberikan hasil seperti yang diinginkan, misalnya program diubah menjadi:

CLS
DIM nama AS STRING
DIM pretest AS SINGLE, laporan AS SINGLE, TB AS SINGLE
DIM na AS SINGLE, nilai AS STRING
PRINT "Program untuk menentukan nilai akhir praktikum seorang
mahasiswa"
PRINT
PRINT "Masukkan data mahasiswa"
PRINT "-------------------------"
INPUT "Nama mahasiswa : ", nama
INPUT "Nilai pretest : ", pretest
INPUT "Nilai laporan : ", laporan
INPUT "Nilai tugas besar : ", TB
na = .3 * tugas + .4 * uts + .3 * uas
IF na >= 55 THEN
nilai = "C"
ELSEIF na >= 80 THEN
nilai = "A"
ELSEIF na >= 70 THEN
nilai = "B"
ELSEIF na >= 40 THEN
nilai = "D"
ELSEIF na < 40 THEN
nilai = "E"
END IF
REM -- menampilkan nilai mahasiswa

47
PRINT "Nilai akhir :"; na
PRINT "Nilai huruf : "; nilai
END

sekilas program di atas sama dengan program sebelumnya tetapi, apabila dijalankan ternyata
memberikan hasil yang salah. Misalnya nilai akhir menghasilkan angka 80, dalam keluaran
program akan muncul nilai dalam huruf yaitu C. Hal ini terjadi karena program akan menguji
nilai akhir mulai dari kriteria teratas, sehingga nilai akhir 80 adalah benar menurut syarat 1
yaitu  55. Meskipun kriteria setelahnya adalah benar tetapi program akan berhenti dan
menampilkan output jika sudah menemukan yang sesuai kriteria.

4. Kombinasi Struktur
Bila dicermati diagram-diagram alir Struktur Pemilihan yang dibahas dalam bab ini,
dapat dilihat bahwa di dalam setiap struktur tersebut mungkin terdapat Struktur Runtunan.
Sebagai ilustrasi : pada gambar 4-1 terdapat dua rangkaian terpisah baris perintah yang juga
mengikuti struktur runtunan di dalam struktur pemilihan (satu rangkaian dikerjakan jika syarat
benar dan satu rangkaian dikerjakan jika syarat salah).
Di dalam statemen IF…THEN…ELSE…END IF juga dimungkinkan adanya statemen
IF…THEN…ELSE…END IF yang lain, yang berarti baha di dalam struktur pemilihan
dimungkinkan adanya struktur pemilihan yang lain. Antara struktur pemilihan yang satu
dengan struktur pemilihan yang lain tidak boleh saling berpotongan / bersilangan.

Gambar 4-5. Diagram Alir Struktur Pemilihan di dalam Struktur Pemilihan

Gambar 4.6 adalah contoh struktur pemilihan di dalam struktur pemilihan yang saling
bersilangan.

48
Gambar 4-6. Diagram Alir Dua Struktur Pemilihan yang Bersilangan
Latihan
a. Mengubah Algoritma/Diagram Alir menjadi Program
Lihat kembali algoritma/diagram alir yang telah dibuat pada latihan soal Bab II no. c. 1 – 4.
Dengan pengetahuan akan perintah struktur pemilihan yang dibicarakan pada Bab ini,
ubahlah algoritma/diagram alir tersebut menjadi sebuah program komputer yang baik.

b. Modifikasi Program
Lihat kembali program komputer latihan soal Bab III no. b. 4, dan 5. Ubahlah sedikit
program-program tersebut, sehingga input – outputnya untuk masing-masing nomor
adalah sebagai berikut :

4. Input : nama mahasiswa, umur mahasiswa (dalam tahun), tinggi badan (dalam cm),
berat badan (dalam kg).
Output : berat badan ideal (dalam kg), status (dalam kurus, ideal, atau gemuk).
Catatan : Seseorang dikatakan berstatus ideal bila berat badannya mendekati berat
badan ideal ( 2%), kurus bila kurang dari nilai tersebut, dan gemuk bila lebih dari nilai
tersebut.

5. Input : Nama Mahasiswa, Nilai Tugas, Nilai UTS dan Nilai UAS.
Output : Nilai akhir mahasiswa dalam angka dan huruf serta status kelulusan
Dengan ketentuan Seorang mahasiswa dikatakan sudah lulus dan tidak perlu
mengulang jika nilai akhir mahasiswa tersebut minimal B. jika nilai mahasiswa C, maka
statusnya lulus tapi disarankan untuk remidi. Jika nilai mahasiswa adalah D atau E,
mahasiswa tersebut tidak lulus. Nilai angka dan nilai huruf ditentukan seperti pada
contoh 4-1.

c. Penyusunan Algoritma/Diagram Alir dan Program


Untuk masalah-masalah di bawah ini, susunlah Algoritma atau Diagram Alir terlebih
dahulu sebelum membuat program komputernya. Gunakan semua perintah telah dikenal
untuk membuat program yang sebaik-baiknya (algoritma yang benar, deklarasi variabel yang
tepat, perintah yang tepat, tampilan output yang interaktif, penggunaan fungsi, dll)

1. DIGIVOLUTION menyewakan cd dan dvd film, lagu, software dan games dengan tarif
Rp 1700,00/kaset untuk 3 hari penyewaan. Keterlambatan pengembalian setelah 3
49
hari dikenakan denda Rp 500,00/hari/kaset. Buatlah sebuah program komputer
dengan input nama pelanggan, jumlah kaset yang disewa, tanggal peminjaman, dan
tanggal pengembalian. Outputnya adalah total biaya,sewa dan denda (jika kena
denda), yang harus dibayarkan oleh pelanggan tersebut!

2. Sebuah fungsi matematis, mempunyai persamaan :


f(x) = 1 untuk x < 0
2
f(x) = x +1 untuk 0  x < 5
f(x) = 10 * x – 24 untuk x  5
Buatlah sebuah program komputer untuk membuat tabel nilai fungsi tersebut di atas,
dari x = -5 sampai x = 15 dengan interval 0,5!

3. Buatlah program untuk menentukan bintang (zodiak) seseorang, dengan


memasukkan tanggal dan bulan kelahirannya.
22 Desember - 20 Januari : Capricorn
21 Januari - 20 Februari : Aquarius
21 Februari - 20 Maret : Pisces
21 Maret - 20 April : Aries
21 April - 21 Mei : Taurus
22 Mei - 21 Juni : Gemini
22 Juni - 22 Juli : Cancer
23 Juli - 22 Agustus : Leo
23 Agustus - 22 September : Virgo
23 September - 22 Oktober : Libra
23 Oktober - 21 November : Scorpio
22 November - 21 Desember : Sagitarius

4. Sebuah Instansi membagi karyawannya dalam 3 golongan, yaitu golongan 1, 2, dan


3. Pembagian gaji per bulan pada instansi tersebut adalah :
Karyawan golongan 1 :
Gaji Pokok : Rp 450.000,00
Tunjangan istri : Rp 110.000,00
Tunjangan anak : Rp 50.000,00/anak
Karyawan golongan 2 :
Gaji Pokok : Rp 650.000,00
Tunjangan istri : Rp 130.000,00
Tunjangan anak : Rp 60.000,00/anak
Karyawan golongan 3 :
Gaji Pokok : Rp 1.200.000,00
Tunjangan istri : Rp 185.000,00
Tunjangan anak : Rp 100.000,00/anak
Tunjangan jabatan : Rp. 300.000,00

Buatlah sebuah program komputer dengan input nama karyawan, golongan, status
perkawinan, dan jumlah anak untuk 6 orang karyawan instansi tersebut; dan output
gaji total seluruh karyawan tersebut!

50
5. Tetangga anda, Vincent, mendengar bahwa Anda sedang mempelajari pemrograman.
Dia meminta Anda membuatkan sebuah program untuk menghitung jumlah order
bahan yang masuk pada gudangnya oleh 3 vendor yang berbeda. Patrick memberikan
persentase order untuk vendor A 25%, vendor B 45% dan vendor C 30%.
Total biaya = 25% A + 45% B + 30% C
Program Anda harus dapat digunakan oleh pegawai untuk memasukkan Nama
Vendor, Jumlah bahan yang diorder dari masing-masing vendor, dan Harga vahan
masing-masing vendor. Output berupa: Jumlah yang harus dibayar kepada masing-
masing vendor dan Total biaya.
6. Raditya hartono adalah seorang pakar cinta yang terkenal di Desa Asmara. Sekarang
Radit sedang galau karena ada pasiennya yang meminta diramalkan kecocokannya
dengan pacarnya berdasarkan tinggi badan dan berat badan. Radit pun berdoa agar
mendapat pencerahan untuk menjawab masalah pasiennya tersebut. Di dalam
pencerahannya dikatakan bahwa pasangan ideal adalah pasangan yang tinggi si
cowok lebih tinggi 3 cm dikalikan selisih umur si cowok dan si cewek, dan berat si
cowok lebih berat 2.5 kg dikalikan dengan selisih umur si cowok dan si cewek.
Akhirnya Radit pun bermaksud untuk membuat program untuk menyelesaikan
permasalahan pasiennya ini. Bantu Radit dong untuk membuat program dengan
Ketentuan :
 Input :
- Nama cowok dan cewek
- Umur cowok dan cewek
- Tinggi cowok dan cewek
- Berat badan cowok dan cewek
 Apabila kriteria tinggi badan tidak memenuhi, katakan bahwa “Tinggi badan kalian
yang membuat kalian tidak bisa bersatu”
 Apabila kriteria berat badan tidak memenuhi, katakan bahwa “Berat badan kalian
yang membuat kalian tidak bisa bersatu”
 Apabila kriteria berat badan dan tinggi badan tidak memenuhi, katakan bahwa
“Selamanya kalian tidak bisa bersatu”
 Apabila kedua kriteria terpenuhi, katakan bahwa “Sebenarnya kalian pasangan
yang serasi tetapi kalian tetap tidak mungkin bisa bersatu”

7. Anda adalah seorang agen Densus 88 yang menyamar di markas teroris, dan Anda
ingin mengirimkan daftar buron Densus 88 yaitu :
1.Eric; 2. Hengki; 3.Vincent; 4.Dio; 5.Rudolf
Dan juga daftar senjata yang diperjual belikan di sekitar markas Anda yaitu :
1. Glock18
2. Deagle
3. MAC 10
4. M16
5. Bom Flashbang
6. Machine Gun
7. Shotgun Magnum
8. Helmet + Kevlar

51
Agar tidak ketahuan orang lain, Anda harus membuat sebuah program ber-password
untuk membuka program berisi informasi rahasia Anda itu. Password program tersebut
adalah “monkeyd” program harus dapat membaca password dalam huruf besar
maupun kecil. Jika password salah, akan muncul kalimat bahwa password ditolak.
Ada tiga buah menu setelah password benar:
1. Daftar buron,
2. Daftar senjata,
3. Keluar dari program.

Petunjuk: Gunakan IF....END IF. Semoga sukses !

8. Valen kini akhirnya bisa move on, saat ini dia sedang mencari belahan hatinya yang
baru. Sudah banyak yang mengantri di depan gerbang hatinya tetapi terlalu banyak
pilihan. Indah jadi BINGUNG!!!. Sebagai teman yang baik, kamu ingin membantu
Valen dalam menentukan pilihan dengan membuatkannya sebuah program ramalan
yang isinya adalah ramalan kecocokan. Ramalan dihitung berdasarkan selisih
banyaknya karakter dari nama Valen dan nama wanita yang menjadi calon.

 Bila selisih karakter>= 13 berarti : “CARI WONG LIYA BAEEEE!!"


 Bila selisih karakter>= 5 dan < 13 berarti:"PILIHAN YANG BAGUS TAPI, MASIH
ADA YANG LEBIH BAIK "
 Selain di atas berarti:"DIA YANG TERBAIK!! SEGERA KE PENGHULU!! "

Buatlah programnya dengan perintah IF...THEN dan jangan lupa membuat


algoritmanya, OK? (petunjuk: gunakan perintah LEN(var))

9. Reyno baru saja mendapat gaji mengajar dari Universitas Atma Jaya Yogyakarta,
dengan gaji tersebut dia ingin pergi berlibur. Tetapi dia masih bingung ingin pergi ke
Solo atau Surabaya. Dia akan berangkat menggunakan kereta api.

Untuk harga tiket ke Solo:


Eksekutif : Rp 50.000,00
Bisnis : Rp 25.000,00
Ekonomi : Rp 10.000,00

Untuk harga tiket ke Surabaya :


Eksekutif : Rp 150.000,00
Bisnis : Rp 95.000,00
Ekonomi : Rp 60.000,00
Pembelian tiket kereta api dikenakan pajak sebesar 5%, tentukan :
a) Harga tiker jika Reyno pergi ke Surabaya dengan menggunakan kereta api
eksekutif.
b) Harga tiker jika Reyno pergi ke Solo dengan menggunakan kereta api ekonomi.
c) Harga tiket jika kamu diajak Reyno untuk ikut berlibur ke Surabaya dengannya
dengan menggunakan tiket kereta api Bisnis.

52
BAB V
Struktur Pemilihan dengan
SELECT CASE … END SELECT

Dalam bab IV telah dibahas Struktur Pemilihan dengan perintah IF ..THEN …


ELSE … ENDIF. Dalam bab ini akan dibahas secara khusus sebuah perintah Struktur
Pemilihan yang mempunyai diagram alir mirip dengan gambar 4-4. Untuk memberikan
ilustrasi yang lebih jelas gambar tersebut terdapat juga di bawah ini.

Ekspresi Salah Ekspresi Salah Ekspresi Salah


Logika 1 Logika 2 Logika n

Benar Benar Benar

Gambar 5-1.Flowchart Struktur Pemilihan Berurutan

1. Bentuk Umum Struktur Pemilihan dengan SELECT CASE … END SELECT


Perintah ini dapat digunakan apabila semua Ekpresi Logika yang ada dalam
struktur pemilihan (Ekspresi Logika 1, Ekspresi Logika 2, dst) merupakan operasi
relasional dari dua ekspresi, dan ada sebuah ekspresi yang sama untuk
keseluruhan Ekspresi Logika yang ada. Dalam menuliskannya dalam perintah
struktur, ekspresi-ekspresi Logika yang ada dipecah menjadi dua. Ekspresi Logika
yang sama dituliskan setelah kata kunci SELECT CASE, dan yang berbeda
dituliskan setelah masing-masing kata kunci CASE.
Bentuk Umum Perintah ini adalah sebagai berikut :
SELECT CASE Ekspresi
CASE nilai 1
: {perintah-perintah jika Ekspresi = nilai 1}
:
CASE nilai 2
: {perintah-perintah jika Ekspresi = nilai 2}
:
:
CASE ELSE
: {perintah-perintah jika Ekspresi = nilai lain}
:
END SELECT

54
Ada beberapa cara khusus untuk menyatakan nilai setelah kata kunci CASE.
Untuk menyatakan interval/range/antara nilai/ekspresi digunakan bentuk perintah
CASE Awal TO Akhir
Misalnya : CASE 1 TO 10, CASE 2*A TO 3+B. Sedangkan untuk menyatakan relasi
digunakan bentuk perintah
CASE IS Relasi
Misalnya : CASE IS = 10, CASE IS <= 2*A+A^2.
Sedangkan untuk menyatakan gabungan (OR) dari beberapa nliai, digunakan
tanda baca koma (,) antara nilai tersebut. Bentuk umumnya :
CASE Nilai1, Nilai2, Nilai3, ...
Misalnya : CASE IS = 10, 1 TO 10, 2*A TO 3+B

2. Perbandingan antara Perintah IF … END IF dengan SELECT CASE … END


SELECT
Di bawah ini terdapat sebuah contoh yang dapat digunakan untuk semakin
mendalami perintah SELECT CASE … END SELECT, karena contoh berikut ini
membandingkan antara baris-baris perintah dari perintah struktur pemilihan
dengan IF … THEN … ELSE … END IF dengan SELECT CASE … END SELECT.
Contoh 5-1: Kesetaraan antara Statemen IF…THEN…ELSE dengan SELECT
CASE…END SELECT
Cermati blok perintah IF … THEN … ELSE banyak baris di bawah ini :
A = 2 : B = 4 : C = 2 : D = 5 : E = 10
IF A < B THEN
PRINT “A < B”
ELSEIF A = C THEN
PRINT “A = C”
ELSEIF A >= D + E THEN
PRINT “A >= D + E”
ELSE
PRINT “TERIMA KASIH”
END IF
(perintah di atas akan setara dengan blok perintah berikut ini)
A = 2 : B = 4 : C = 2 : D = 5 : E = 10
SELECT CASE A
CASE IS < B
PRINT “A < B”
CASE IS = C
PRINT “A = C”
CASE IS >= D + E
PRINT “A >= D + E”

CASE ELSE
PRINT “TERIMA KASIH”
END SELECT

55
Apakah output darikeduaperintahtersebut?
Output dari program di atas adalah: A < B. Mengapa demikian?
Blok perintah SELECT CASE…END SELECT akan menjalankan statemen yang
nilainya memenuhi ungkapan yang mengikuti SELECT CASE. Dalam hal ini
ungkapan tersebut bernilai 2 dan nilai-nilai yang mengikuti CASE yang memenuhi
ungkapan tersebut adalah nilai < B dan = C. Dari dua nilai tersebut nilai < B –lah
yang dijalankan karena nilai tersebut dibaca terlebih dulu. Setelah membaca nilai
tersebut, program keluar dari blok perintah SELECT CASE…END SELECT.
Contoh 5-2: Program menghitung Luas dan Keliling Segi Empat
Program di bawah ini, menggunakan menu pilihan untuk memilih apa yang akan
dihitung: luas atau keliling segi empat.
DIM pil AS INTEGER
DIM r1 AS SINGLE, luas AS SINGLE
DIM r2 AS SINGLE, keliling AS SINGLE
DO
CLS
PRINT "Menu pilihan :"
PRINT "1. Menghitung luas segi empat"
PRINT "2. Menghitung keliling segi empat"
PRINT "3. Selesai"
INPUT "Masukkan pilihan anda (1-3) : ", pil
SELECT CASE pil
CASE 1
CLS
PRINT "Menghitung luas segi empat"
PRINT "-------------------------"
INPUT ; "Masukkan sisi 1 segi empat (dalam cm) : "; s1
INPUT ; “Masukkan sisi 2 segi empat (dalam cm) : “; s2
luas = s1 * s2
PRINT "Luas segi empat = "; luas; "cm persegi"
DO
LOOP UNTIL INKEY$<>""
CASE 2
CLS
PRINT "Menghitung keliling segi empat"
PRINT "-----------------------------"
INPUT ; "Masukkan sisi 1 segi empat (dalam cm) : "; s1
INPUT ; “Masukkan sisi 2 segi empat (dalam cm) : “; s2
keliling = 2 * s1 + 2 * s2
PRINT "Keliling segi empat = "; keliling; "cm"
DO
LOOP UNTIL INKEY$<>""
CASE 3
END
END SELECT
LOOP
END

56
LATIHAN

a. Memodifikasi Program
Lihat kembali program yang telah dibuat pada latihan soal BAB IV bagian b no 4
dan 6. Dengan pengetahuan akan perintah struktur pemilihan yang dibicarakan
pada bab ini, ubahlah program tersebut menjadi sebuah program komputer
dengan sistem menu pilihan, misalnya terdapat menu pilihan untuk :
- memasukkan data
- menampilkan hasil
- selesai
b. Penyusunan Algoritma,Flowchart,dan Program
Untuk masalah-masalah di bawah ini, susunlah Algoritma dan Flowchart
terlebih dahulu sebelum membuat program komputernya. Gunakan semua
perintah yang telah dikenal untuk membuat program terbaik (algoritma yang benar,
deklarasi variabel yang tepat, perintah yang tepat, tampilan output yang interaktif,
penggunaan subprogram, dll)
1. Buatlah program dengan menu pilihan utama (1-4) sebagai berikut :
1. Menu untuk segitiga siku-siku, didalamnya berisi :
a. Menghitung luas segitiga siku-siku
b. Menghitung keliling segitiga siku-siku
c. Kembali ke menu utama
2. Menu untuk kubus, didalamnya berisi :
a. Menghitung luas permukaan kubus
b. Menghitung volume kubus
c. Kembali ke menu utama
3. Menu untuk tabung, didalamnya berisi :
a. Menghitung luas permukaan tabung
b. Menghitung volume tabung
c. Kembali ke menu utama
4. Selesai
2. PT. Kereta Api Indonesia bekerja sama dengan sebuah agen tiket online KlikTiket
untuk pemesan tiket tujuan Solo dan Purwokerto. Agen tiket tersebut menerapkan
diskon untuk semua pemesan yang merupakan member dari agen tiket tersebut,
diskon yang didapat adalah 5% Untuk pemesanan tiket hanya dengan
memasukan 6 digit kode tiket. Dengan ketentuan sebagai berikut;
Digit 1-3 : Merupakan kode kota tujuan
Digit 4-5 : Merupakan kode kereta
Digit 6 : Merupakan kode kelas
Tujuan Kode Kereta Jam Kelas Harga
Solo (SLO) Prameks II (PR) 21:50 Bisnis (B) Rp. 125.000,-
Ekonomi (E) Rp. 75.000,-
Argo Lawu (AL) 14:30 Bisnis (B) Rp. 175.000,-

57
Ekonomi (E) Rp. 80.000,-
Lodaya (LD) 07:50 Bisnis (B) Rp. 145.000,-
Ekonomi (E) Rp. 70.000,-
Purwokerto Turangga (TR) 07:45 Bisnis (B) Rp. 185.000,-
(PWT)
Ekonomi (E) Rp. 90.000,-
Argo Wilis (AW) 11:45 Bisnis (B) Rp. 200.000,-
Ekonomi (E) Rp. 95.000,-
Mutiara Selatan (MS) 20:35 Bisnis (B) Rp. 225.000,-
Ekonomi (E) Rp. 100.000,-
Buatlah sebuah program komputer dengan input nama, status member, dan kode
tiket. Dengan output nama, status member, tujuan, nama kereta, kelas, jam
berangkat, biaya tiket, diskon, dan biaya setelah diskon.
3. Buat program untuk membedakan input (input merupakan 1 karakter berupa angka
atau huruf). Apabila berupa huruf, tentukan apakah huruf tersebut konsonan atau
vokal dan merupakan huruf kecil atau besar (kapital). Apabila berupa angka,
bedakan apakah angka tersebut genap atau ganjil dan merupakan bilangan positif,
nol, atau negatif. Gunakan Fungsi intrinsik VAL untuk mengubah string ke numerik.
4. Buat program untuk mengeja suatu bilangan 4 digit. Contoh :
Input = 6447
Ouput = Enam Ribu – Empat Ratus – Empat Puluh – Tujuh
5. Sebuah Rental Motor di Babarsari menyewakan 4 varian motor yaitu : Mio, Beat,
Vario, dan Revo. Dengan waktu penyewaan yang tersedia adalah 1 jam, 6 jam dan
1 hari dan 2 hari. Jika waktu penyewaannya adalah selama 1 hari dan 2 hari
masing-masing akan mendapatkan diskon 5% dan 10%. Harga tarif Rental Motor
Tata sebagai berikut :
Yamaha Mio :
 Tarif 1 jam : Rp. 10.500,-
 Tarif 6 jam : Rp. 21.000,-
 Tarif 1 hari : Rp. 50.000,-
 Tarif 2 hari : Rp. 110.000,-
Honda Beat :
 Tarif 1 jam : Rp. 9.000,-
 Tarif 6 jam : Rp. 18.000,-
 Tarif 1 hari : Rp. 40.000,-
 Tarif 2 hari : Rp. 90.000,-
Honda Vario :
 Tarif 1 jam : Rp. 10.000,-
 Tarif 6 jam : Rp. 20.000,-
 Tarif 1 hari : Rp. 45.000,-
 Tarif 2 hari : Rp. 100.000,-

58
Honda Revo :
 Tarif 1 jam : Rp. 9.500,-
 Tarif 6 jam : Rp. 19.000,-
 Tarif 1 hari : Rp. 42.000,-
 Tarif 2 hari : Rp. 95.000,-
Buatlah sebuah program komputer dengan input nama penyewa, jenis motor, dan
lama waktu sewa; dan sebagai output adalah nama penyewa, jenis motor, total
pembayaran, diskon yang didapat, dan total pembayaran setelah diskon.
6. Buatlah program ramalan jodoh. Input berupa namamu, nama gebetan, dan
gender-mu. Ramalan ditentukan dari jumlah karakter nama kalian dengan
ketentuan :
 Bila jumlah karakter nama gebetanmu < jumlah karakter namamu dan gender
gebetanmu perempuan tampilkan RAMALAN 1
 Bila jumlah karakter nama gebetanmu < jumlah karakter namamu dan gender
gebetanmu laki-laki tampilkan RAMALAN 2
 Bila jumlah karakter nama gebetanmu > jumlah karakter namamu dan gender
gebetanmu perempuan tampilkan RAMALAN 3
 Bila jumlah karakter nama gebetanmu > jumlah karakter namamu dan gender
gebetanmu laki-laki tampilkan RAMALAN 4
Isi ramalan 1-4 dibuat terserah Anda.

59
Bab VI
Struktur Perulangan dengan FOR … NEXT
Dalam bab II telah dijelaskan bahwa terdapat tiga macam struktur dasar yang
dapat menyusun program komputer, yaitu : Struktur Runtunan (Sequence), Struktur
Pemilihan (Selection), dan Struktur Perulangan (Repetition). Sampai pada Bab V,
struktur yang telah digunakan untuk menyusun program (baik contoh maupun latihan)
hanyalah Struktur Runtunan dan Struktur Pemilihan. Dalam bab ini, akan dibahas
sebuah Struktur Perulangan khusus, di mana terdapat serangkaian baris perintah (blok
perintah/blok statemen) yang diulang berdasarkan persyaratan khusus tertentu.

1. Bentuk Umum Struktur Perulangan dengan FOR … NEXT


Struktur Perulangan dengan FOR … NEXT, memiliki diagram alir seperti
berikut ini :

Var = Awal

Var = Var + Counter

T
Var > Akhir

Gambar 6-1. Diagram Alir Struktur Perulangan dengan FOR … NEXT

Berdasarkan diagram alir di atas, pada saat struktur perulangan dimulai


variabel Var diberi harga Awal. Kemudian pada setiap langkah perulangan harga yang
tersimpan pada variabel Var ditambah dengan Counter. Perulangan akan dihentikan
jika harga Var telah melebihi Akhir. Dalam QB 4.5. Struktur Perulangan seperti ini
mempunyai bentuk umum :
FOR Var = Awal TO Akhir [STEP Counter]
Blok statemen
NEXT Var

Variabel Var sering disebut variabel kendali, karena digunakan untuk


mengendalikan jalannya perulangan dalam struktur ini. Variabel kendali harus bertipe
numeris (integer atau real) dan boleh diberi nama apa saja asalkan menurut aturan
penamaan variabel.

60
Dengan mengetahui berapa nilai Awal, Akhir, dan Counter, dapat diperkirakan
berapa kali blok statemen tersebut diulangi. Misalnya harga Awal = 1, harga Akhir =
10, harga Counter = 1, maka blok statemen yang akan diulangi sebanyak 10 kali.
Dari bentuk umum, jika kata STEP dan counter tidak ditulis, maka counter
dianggap bernilai 1. Dalam pemakaian FOR … NEXT berlaku ketentuan :
 Jika nilai Awal < Akhir, Counter harus > 0
 Jika nilai Awal > Akhir, Counter harus < 0

Contoh 6-1. Statemen FOR … NEXT tanpa STEP


Cermati program komputer di bawah ini,

DIM J AS INTEGER
DIM K AS INTEGER
CLS
FOR J = 0 TO 2
K=J+1
PRINT K
NEXT J
END

Output program tersebut adalah


1
2
3

Ketika program mulai dijalankan, nilai dari variable J mula-mula = 0 karena


program tersebut tertulis FOR J = 0 to 2 sehingga ketika masuk kedalam statemen
perulangan FOR….NEXT, K yang pertama akan bernilai 0 + 1 = 1, kemudian nilai K
tersebut akan ditampilkan oleh statemen PRINT K.
Ketika mengeksekusi statemen NEXT J maka secara otomatis nilai J akan
ditambah dengan nilai counter yang didefinisikan pada statemen STEP. Karena tidak
terdapat statemen STEP, maka dalam program diatas nilai J akan ditambahkan
dengan 1, dikarenakan nilai J = 1 dan nilai 1 masih berada dalam range 0-2 maka baris
statemen yang terdapat dalam statemen perulangan FOR…NEXT akan dijalankankan
kembali sampai J bernilai 2.
Ketika J bernilai 2 dan bertemu dengan statemen NEXT J lagi maka nilai J
akan menjadi 3, dan 3 adalah lebih besar dari 2 sehingga perulangan tidak
diteruskan lagi.

Contoh 6-2. Bentuk lain Contoh Program 6-1


Contoh program 6-1 diatas dapat dituliskan dengan bentuk lain dengan output
yang sama dengan program seperti di bawah ini :

61
DIM A AS INTEGER
DIM B AS INTEGER
DIM J AS INTEGER
DIM K AS INTEGER
CLS
A=0
B=2
FOR J = A TO B
K=J+1
PRINT K
NEXT J
END

Dari contoh di atas, dapat dilihat bahwa Awal dan Akhir pada baris statemen
FOR tidak harus berbentuk bilangan tetapi dapat juga berbentuk nama variabel
asalkan isi dari variabel tersebut didefinisikansebelumnya.

Contoh 6-3. Statemen FOR … NEXT dengan STEP


Cermati program komputer di bawah ini,

DIM J AS SINGLE
DIM L AS SINGLE
CLS
FOR J = 0 TO 2 STEP 0.5
L=J+1
PRINT L
NEXT J
END

Output program tersebut adalah


1
1.5
2
2.5
3

Dari contoh diatas, dapat dilihat output berurutan dari 1 sampai 3 dengan
pertambahan nilai 0.5, ini karena nilai J bertambah setiap pengulanganya sebesar 0.5
(step 0.5).

2. Perulangan Tersarang (Nested Loop)


Di dalam statemen FOR … NEXT juga dimungkinkan adanya statemen FOR
… NEXT yang lain. Keadaan ini disebut dengan perulangan tersarang (nested loop).
Dalam perulangan tersarang ada 2 ketentuan yang berlaku :
1. Variabel kendali yang digunakan harus berlainan.
2. Antara perulangan yang satu dengan perulangan yang lain tidak boleh saling
berpotongan.

62
Pelanggaran atas dua ketentuan di atas menyebabkan tidak dapat berjalannya
program dengan baik. Ada kemungkinan kecil BASIC dapat mengeksekusi program
tersebut, tetapi logika program menjadi kacau.
Cermati gambar 6-2 untuk memberikan gambaran tentang perulangan
tersarang dan gambar 6-3 untuk memberikan gambaran tentang perulangan yang
berpotongan.

Gambar 6-2. Diagram Alir Struktur Perulangan Tersarang

Gambar 6-3. Diagram Alir Struktur Perulangan yang Berpotongan


Contoh 6-4. Bentuk-bentuk Nested Loop
Cermati tiga bentuk perulangan di bawah ini, kalau perlu salin dan jalankan dengan
compiler QB 4.5 :
a) perulangan tersarang berpotongan
FOR I = 1 TO 10
FOR J = 1 TO 10
PRINT I, J, I * J
NEXT I
NEXT J

63
b) perulangan tersarang tidak berpotongan
FOR I = 1
FOR J = 1 TO 10
PRINT I, J, I * J
NEXT J
NEXT I
c) perulangan tersarang dengan variabel yang sama
FOR I = 1 TO 10
FOR I = 1 TO 10
PRINT I, I, I * I
NEXT I
NEXT I

Catatan yang lain adalah, dalam perulangan tersarang banyaknya kata FOR
harus sesuai dengan banyaknya kata NEXT dengan variabel kendali yang sama. Akan
tetapi dapat juga ditulis seperti berikut :

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

Pada contoh di atas, jika ditulis NEXT I, J maka perulangan akan berpotongan.

Juga apabila dicermati kembali pembahasan mengenai Struktur Pemilihan


pada Bab IV, dapat dilihat di dalam struktur pemilihan boleh terdapat struktur pemilihan
yang lain, akan tetapi tidak diperbolehkan untuk membuat struktur pemilihan yang
bersilangan. Dari kedua hal tersebut di atas, dapat disimpulkan bahwa pedoman
umum untuk menggabungkan/mengkombinasikan antara ketiga struktur yang ada
adalah meletakkan sebuah struktur di dalam struktur yang lain. Sedangkan
larangan yang ada adalah menyilangkan antar struktur. Jadi boleh saja membuat
struktur pemilihan di dalam struktur pemilihan, struktur pengulangan di dalam struktur
pengulangan, struktur pemilihan di dalam struktur pengulangan, struktur pengulangan
di dalam struktur pemilihan, atau gabungan struktur yang lain.

3. Perintah EXIT FOR


Kadangkala eksekusi baris program dalam suatu perulangan FOR … NEXT
harus diakhiri sebelum seluruh baris program di dalamnya diproses. Untuk keperluan
tersebut dapat digunakan statemen EXIT FOR.

Contoh 6-5. Penggunaan Statemen EXIT FOR


Cermati Program di bawah ini

64
DIM I, J AS INTEGER
CLS
FOR I = 1 TO 1000
PRINT I, SQR(I)
FOR J = 1 TO 10000
NEXT J
IF INKEY$ <> “” THEN EXIT FOR
NEXT I
END

Program di atas akan mencetak hasil 1 sampai 1000 dengan akarnya. Secara
normal, program di atas akan dikerjakan sampai nilai > 1000. Jika diinginkan program
hanya mencetak nilai sampai 10, maka setelah nilai 10 dan akar 10 tercetak, harus
dihentikan dengan menekan sembarang tombol, sehingga kondisi yang dinyatakan
dalam statemen IF menjadi benar dan statemen EXIT FOR akan dikerjakan. Proses
eksekusi langsung melompat keluar dari batas statemen FOR … NEXT.

4. Mengatur Indeks Larik dengan Perintah FOR … NEXT


Dalam Bab II, telah disinggung bahwa dalam BASIC dikenal juga sebuah cara
penulisan variabel khusus yang disebut larik atau variabel berindeks. Sebagai kunci
dalam penggunaan larik adalah kemampuan untuk memanipulasi/menggunakan
indeks semaksimal mungkin untuk menyelesaikan masalah yang ada. Karena indeks
variabel merupakan bilangan bulat (integer) yang urut, maka perintah struktur
perulangan dengan perintah FOR … NEXT dapat digunakan untuk mengatur indeks
tersebut.

Contoh 6-6. Memasukkan dan Menampilkan Larik dengan FOR … NEXT

Cermati Program bawah ini:

DIM N AS INTEGER, i AS INTEGER, txt AS STRING

CLS
INPUT "Jumlah Data = ", N
DIM Nama(N) AS STRING, Nilai(N) AS SINGLE
PRINT

'Memasukkan Data
FOR i = 1 TO N
PRINT " Nama -"; i; "= ";
INPUT "", Nama(i)
PRINT "Nilai -"; i; "= ";
INPUT "", Nilai(i)
NEXT i

'Menampilkan Data

65
PRINT
PRINT "Nama Nilai "
PRINT "------------------"
txt = "\ \ ###.## "

FOR i = 1 TO N
PRINT USING txt; Nama(i); Nilai(i)
NEXT i
END

Sebagai salah satu contoh output program tersebut adalah sebagai berikut :

Jumlah Data = 3

Nama - 1 = Vincent
Nilai - 1 = 90
Nama - 2 = Dolep
Nilai - 2 = 80.5
Nama - 3 = Nico
Nilai - 3 = 75.333

Nama Nilai
------------------
Vincent 90.00
Dolep 80.50
Nico 75.33

5. Operasi Matriks dengan Perintah FOR … NEXT


Dengan perintah FOR…NEXT kita bisa menjalankan operasi untuk variabel-
variabel larik yang sudah dipelajari sebelumnya. Dalam hal ini kita akan mencoba
mempelajari operasi matriks yang merupakan larik dimensi dua dimana posisi setiap
elemennya ditentukan oleh dua buah indeks, yaitu no. baris dan no. kolom. Seperti
halnya larik dimensi satu, sebelum bisa digunakan, larik dimensi dua juga harus
dideklarasikan terlebih dahulu. Bentuk umum deklarasi larik dimensi dua adalah :

DIM var (baris, kolom) [AS tipe]


atau
DIM var (baris1 TO baris2,kolom1 TO kolom2) [AS tipe]
dengan :
var :nama variabel yang akan dideklarasikan sebagai larik dimensi dua
baris :banyaknya elemen baris
kolom :banyaknya elemen kolom
baris1 :no. baris dari elemen pertama

66
baris2 :no. baris dari elemen terakhir
kolom1 :no. kolom dari elemen pertama
kolom2 :no. kolom dari elemen terakhir
tipe :tipe data masing-masing elemen

Contoh Deklarasi matriks:

DIM MatriksA(5,8) AS INTEGER


DIM MatriksA(1 TO 5, 1 TO 8) AS INTEGER

Pembacaan elemen matriks (larik dimensi dua) dapat dibaca per baris atau
dibaca per kolom (tergantung indeksnya). Jika menggunakan statemen READ-DATA,
perlu hati-hati dalam menuliskan nilai datanya, karena kesalahan dalam menuliskan
urutan nilai data akan berakibat fatal. Cermati contoh 6-7 dan 6-8.

Contoh 6-7. Program membaca Matriks per baris


Program di bawah ini memasukkan matriks di bawah ini ke dalam variabel larik
dua dimensi MATRIKSA, dimulai dari baris pertama, kedua, lalu ketiga:
1 2 3
4 5 6
7 8 9

DIM I AS INTEGER
DIM J AS INTEGER
DIM MATRIKSA(3,3) AS INTEGER
FOR I = 1 TO 3
FOR J = 1 TO 3
READ MATRIKSA(I,J)
NEXT J
NEXT I
DATA 1,2,3
DATA 4,5,6
DATA 7,8,9

Contoh 6-8. Program membaca Matriks per kolom


Program di bawah ini memasukkan matriks yang sama dengan contoh 5-8 ke
dalam variabel larik dua dimensi MATRIKSA, dimulai dari kolom pertama, kedua, lalu
ketiga.
DIM I AS INTEGER
DIM J AS INTEGER
DIM MATRIKSA(3,3) AS INTEGER
FOR J = 1 TO 3
FOR I = 1 TO 3
READ MATRIKSA(I,J)
NEXT I

67
NEXT J
DATA 1,4,7
DATA 2,5,8
DATA 3,6,9

Contoh 6-9. Program mencetak Matriks


Untuk mencetak bentuk matriks seperti apa adanya, perlu hati-hati untuk
menentukan kapan berpindah baris. Sebagai contoh, dengan menggunakan matriks
pada contoh di atas, jika digunakan program:

FOR I=1 TO 3
FOR J=1 TO 3
PRINT
MATRIKSA(I,J)
NEXT J
NEXT I

memberikan hasil semua elemen larik akan ditulis ke bawah dengan setiap baris
hanya terdiri dari sebuah nilai elemen.
Untuk memahami hasil diatas, perlu diingat 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
beris berikutnya. Dengan demikian perlu diletakkan tanda koma atau titik koma di
belakang argumen yang dicetak, misalnya :

FOR I=1 TO 3
FOR J=1 TO 3
PRINT
MATRIKSA(I,J);
NEXT J
NEXT I

Dengan cara di atas, hasil keluaran yang diperoleh :


123456789

yang juga tidak benar.


Dengan demikian perlu ditambahkan suatu statemen untuk pindah ke beris
berikutnya, yang dapat dilaksanakan dengan :
FOR I=1 TO 3
FOR J=1 TO 3
PRINT

MATRIKSA(I,J);
NEXT J
PRINT
NEXT I

68
Tanda baca titik koma (;) statemen PRINT MATRIKSA(I,J) maksudnya supaya data
dicetak satu baris, sedang statemen PRINT setelah statemen NEXT J diperlukan
untuk berpindah baris.

Hasil keluarannya sesuai dengan bentuk matriks yang sebenarnya, yaitu :


123
456
789

Latihan

a. Modifikasi Program
1. Lihat kembali program komputer latihan soal Bab III no. b. 2. Modifikasilah program
tersebut, sehingga didapatkan output yang berupa tabel konversi derajat dimulai
dari 0C sampai 81C dengan interval 9C.

2. Lihat kembali program komputer latihan soal Bab III no. b. 4, dan 5. Modifikasilah
program-program tersebut, sehingga dapat mengolah sejumlah data (N data).
Misalnya untuk soal no. 5, dapat digunakan untuk menentukan nilai akhir dari 10
mahasiswa.

b. Penyusunan Algoritma/Diagram Alir dan Program


Untuk masalah-masalah di bawah ini, susunlah Algoritma atau Diagram Alir
terlebih dahulu sebelum membuat program komputernya. Gunakan semua perintah
yang telah dikenal untuk membuat program yang sebaik-baiknya (algoritma yang
benar, deklarasi variabel yang tepat, perintah yang tepat, tampilan output yang
interaktif, penggunaan fungsi, dll)

1. Buatlah program untuk menghitung nilai rata-rata, standar deviasi dari


sejumlah data numeris. Input dari program ini adalah jumlah data (N), dan
masing-masing nilai data (X1, X2, …, XN). Output dari program ini adalah rata-
rata dan standar deviasinya.

2. Buatlah program untuk menghitung nilai pecahan mata uang. Input dari
program ini adalah jumlah uang, sedangkan outputnya adalah detail pecahan
dari uang tersebut. Misalnya : dengan input Jumlah uang Rp 779.000,00, akan
dihasilkan output sebagai berikut :
7 lembar Rp 100000
1 lembar Rp 50000
7 lembar Rp 20000
0 lembar Rp 10000
1 lembar Rp 5000
4 lembar Rp 1000
0 lembar Rp 500
0 lembar Rp 100
Sisa uang = Rp 0
Jumlah lembaran = 20 lembar

69
3. Buatlah program untuk melakukan operasi-operasi matriks sederhana, seperti
menjumlahkan matriks, mengurangi matriks, mentranspose matriks,
mengalikan dua matriks, dengan ukuran matriks yang bervariasi.

4. Buatlah program dengan input jumlah baris, dengan output sbb:


Jumlahbaris = 9
1
2 4
3 9 18
4 16 32 48
5 25 50 75 100
6 36 72 108 144 180
7 49 98 147 196 245 294
8 64 128 192 256 320 384 448
9 81 162 243 324 405 486 567 648

5. Buatlah progam untuk mencari konstanta A dan B pada persamaan regresi


linear sederhana Y = AX + B.
N. XY   X. Y
di mana : A
N. X 2  ( X ) 2

B
 Y  A. X
N
dengan X = jumlah data x
Y = jumlah data y
XY = jumlah data x kali y
X2 = jumlah x kuadrat
N = banyak data

6. Buatlah sebuah program yang ketika Anda menginputkan sebuah kalimat, ia


dapat mengurutkan huruf-huruf tersebut serta membedakan antara huruf kecil
dan huruf kapital, juga menghitung banyaknya huruf vokal dan konsonan dalam
kalimat tersebut, termasuk spasi, serta dapat membalik urutan huruf dalam
kalimat tersebut berikut dengan mengenali huruf besar maupun kecilnya. Misal,
ketika Anda menginputkan kalimat “Vincent Suka Minum Susu” maka output
dari program tersebut adalah :
usuS muniM akuS tnecniV
spasi = 3
vokal =8
konsonan = 12
huruf besar = 4
huruf kecil = 16

70
7. Buatlah program untuk membuat piramida angka dengan input berupa jumlah
tingkat piramida dan output sbb.:
Tingkat piramida = 5
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

71
Bab VII
Struktur Perulangan dengan DO … LOOP
Seperti telah dijelaskan dalam Bab II, bahwa di dalam struktur perulangan
terdapat serangkaian baris perintah yang diulang berdasarkan persyaratan (ekspresi
logika) tertentu. Dalam Bab VI, juga telah dibahas salah satu bentuk khusus perintah
struktur perulangan dalam QB 4.5.
Dalam Bab ini akan dibahas struktur perulangan secara umum, di mana
pengulangan dapat terjadi baik pada nilai ekspresi logika benar maupun pada nilai
ekspresi logika salah, dan ekspresi logika dapat ditempatkan pada awal maupun akhir
pengulangan. Dengan demikian terdapat empat kemungkinan struktur perulangan,
yang masing-masing akan dibahas beserta perintah yang bersesuaian meskipun
sebenarnya perintah dasarnya sama yaitu DO … LOOP.

1. Perulangan DO UNTIL … LOOP


Struktur ini memiliki posisi ekspresi logika pada awal perulangan dan
perulangan akan dihentikan apabila nilai dari ekspresi logika tersebut benar. Lihat
diagram alir pada gambar 7-1. Bentuk umum perintah struktur ini adalah

DO UNTIL Ekspresi Logika


:
:
LOOP

Ekspresi
Benar
Logika

Salah

Gambar 7-1. Diagram Alir Struktur Perulangan DO UNTIL … LOOP

2. Perulangan DO WHILE … LOOP


Sama dengan struktur perulangan yang pertama struktur ini memiliki posisi
ekspresi logika pada awal perulangan, akan tetapi berbeda dalam cara perulangan
yaitu perulangan akan diteruskan apabila nilai dari ekspresi logika tersebut benar.
Lihat diagram alir pada gambar 7-2.

72
Ekspresi
Salah
Logika

Benar

Gambar 7-2. Diagram Alir Struktur Perulangan DO WHILE … LOOP

Bentuk umum perintah struktur ini adalah

DO WHILE Ekspresi Logika


:
:
LOOP

3. Perulangan DO … LOOP WHILE


Struktur ini memiliki posisi ekspresi logika pada akhir perulangan dan
perulangan akan diteruskan apabila nilai dari ekspresi logika tersebut benar. Lihat
diagram alir pada gambar 7-3.

Ekspresi
Benar Logika

Salah

Gambar 7-3. Diagram Alir Struktur Perulangan DO … LOOP WHILE

73
Bentuk umum perintah struktur ini adalah
DO
:
:
LOOP WHILE Ekspresi Logika

4. Perulangan DO … LOOP UNTIL


Struktur ini memiliki posisi ekspresi logika pada akhir perulangan dan
perulangan akan dihentikan apabila nilai dari ekspresi logika tersebut benar. Lihat
diagram alir pada gambar 7-4. Bentuk umum perintah struktur ini adalah

DO
:
:
LOOP UNTIL Ekspresi Logika

Ekspresi
Salah Logika

Benar

Gambar 7-4. Diagram Alir Struktur Perulangan DO … LOOP UNTIL

Kunci penggunaan dari struktur perulangan adalah penentuan bentuk struktur


dan ekspresi logika yang tepat untuk melakukan perulangan teserbut. Dengan
menggunakan ekspresi logika yang berbeda, keempat struktur tersebut dapat
menjalankan sebuah perulangan yang sama. Lihatlah contoh dibawah ini!

Contoh 7-1. Menampilkan n Bilangan Ganjil yang Pertama


Buatlah sebuah program komputer dalam bahasa BASIC untuk menampilkan n
bilangan ganjil yang pertama dengan empat macam struktur perulangan.

Permasalahan
Dengan memasukkan jumlah bilangan ganjil yang ingin ditampilkan (n), n bilangan
ganjil pertama ditampilkan sebagai output-nya.

74
Struktur Pengulangan DO UNTIL … LOOP
Algoritma
1. Mulai
2. Lakukan deklarasi untuk variabel I sebagai integer dan n sebagai integer
3. Memasukkan harga n
4. Mengatur I = 1
5. Jika I > n maka kerjakan langkah 9, jika tidak kerjakan langkah 6
6. Cetak 2 * I
7. I = I + 1
8. Ulangi langkah 4
9. Selesai

Program Komputer
DIM I AS INTEGER, n AS INTEGER
PRINT “Program Menampilkan n Bilangan Genap Pertama”
INPUT “n = “; n
I=1
DO UNTIL I > n
PRINT 2 * I
I=I+1
LOOP
END

Struktur Pengulangan dengan DO WHILE … LOOP


Algoritma
1. Mulai
2. Lakukan deklarasi untuk variabel I sebagai integer dan n sebagai integer
3. Memasukkan harga n
4. Mengatur I = 1
5. Jika I <= n maka kerjakan langkah 6, jika tidak kerjakan langkah 9
6. Cetak 2 * I
7. I = I + 1
8. Ulangi langkah 4
9. Selesai

Program Komputer
DIM I AS INTEGER, n AS INTEGER
PRINT “Program Menampilkan n Bilangan Genap Pertama”
INPUT “n = “; n
I=1
DO WHILE I <= n
PRINT 2 * I
I=I+1
LOOP
END

75
Struktur Pengulangan dengan DO … LOOP WHILE …
Algoritma
1. Mulai
2. Lakukan deklarasi untuk variabel I sebagai integer dan n sebagai integer
3. Memasukkan harga n
4. Mengatur I = 1
5. Cetak 2 * I
6. I = I + 1
7. Jika I <= n maka ulangi langkah 5, jika tidak kerjakan langkah 8
8. Selesai

Program Komputer
DIM I AS INTEGER, n AS INTEGER
PRINT “Program Menampilkan n Bilangan Genap Pertama”
INPUT “n = “; n
I=1
DO
PRINT 2 * I
I=I+1
LOOP WHILE I <= n
END

Struktur Pengulangan dengan DO … LOOP UNTIL …


Algoritma
1. Mulai
2. Lakukan deklarasi untuk variabel I sebagai integer dan n sebagai integer
3. Memasukkan harga n
4. Mengatur I = 1
5. Cetak 2 * I
6. I = I + 1
7. Jika I > n maka kerjakan langkah 8, jika tidak ulangi langkah 5
8. Selesai

Program Komputer
DIM I AS INTEGER, n AS INTEGER
PRINT “Program Menampilkan n Bilangan Genap Pertama”
INPUT “n = “; n
I=1
DO
PRINT 2 * I
I=I+1
LOOP UNTIL I > n
END

Seperti halnya perintah struktur yang lain, DO … LOOP dapat digabungkan


dengan struktur yang lain, asalkan prinsip dasar kombinasi struktur (menggabungkan
struktur dengan cara membuat struktur di dalam struktur) tidak dilanggar.

76
5. Keluar dari Struktur Perulangan dengan Perintah EXIT
Secara normal, proses perulangan dalam struktur perulangan akan dihentikan
apabila syarat penghentian proses perulangan tersebut telah dapat dipenuhi. Akan
tetapi dimungkinkan pula untuk mengakhiri jalannya (atau keluar dari) struktur
perulangan tanpa harus menunggu syarat tersebut terpenuhi, misalnya pada suatu
persyaratan/kondisi khusus. Hal ini bisa dilakukan dengan menuliskan perintah EXIT
untuk keperluan tersebut. Seperti yang telah dibicarakan dalam Bab VI.3., bentuk
umum untuk keluar dari perintah struktur perulangan FOR … NEXT adalah
EXIT FOR
Sedangkan bentuk umum untuk keluar dari perintah struktur perulangan DO
… LOOP adalah
EXIT DO
Latihan

a. Mengubah Algoritma menjadi Program


1. Menampilkan N bilangan ganjil yang pertama.
2. Menjumlahkan N bilangan genap pertama

b. Penyusunan Algoritma/Diagram Alir dan Program


Untuk masalah-masalah di bawah ini, susunlah Algoritma atau Diagram Alir
terlebih dahulu sebelum membuat program komputernya. Gunakan semua perintah
telah dikenal untuk membuat program yang sebaik-baiknya (algoritma yang benar,
deklarasi variabel yang tepat, perintah yang tepat, tampilan output yang interaktif,
penggunaan subprogram, dll)
1. Menampilkan deret Fibonacci sejumlah n suku seperti berikut ini :
1 1 2 3 5 8 13 …

2. Menghitung jumlah dari deret berikut ini :


4 + 11 + 18 + 25 + … + 4575

3. Menampilkan tingkatan piramida. Misalkan 5!


1
2 2
3 3 3
4 4 4 4
5 5 5 5 5

4. Menampilkan segitiga Pascal level n, sebagai berikut :

1 level 0
1 1 level 1
1 2 1 level 2
1 3 3 1 level 3
1 4 6 4 1 level 4
1 5 10 10 5 1 level 5
............. level n

77
5. Buatlah program menentukan faktorial! (gunakan perintah DO…LOOP)
Misalkan 7! = 5040

6. Buatlah program untuk membuat deret sejumlah n suku seperti di bawah ini

1 4 8 11 15 18 22 25 29 ….

7. Buatlah program seperti dibawah ini


1
12
123
1234
123
12
1

78
Bab VIII
Dasar-Dasar Visual Basic 1

Visual Basic adalah salah suatu development tools untuk membangun


aplikasi dalam lingkungan Windows. Dalam pengembangan aplikasi, Visual Basic
menggunakan pendekatan visual untuk merancang user interface dalam bentuk form,
sedangkan untuk kodingnya menggunakan dialek bahasa Basic yang cenderung
mudah dipelajari. Visual Basic merupakan salah satu bahasa pemrograman komputer
yang mendukung pemrograman berorientasi obyek (Object Oriented Programming =
OOP).
Dalam lingkungan Windows user interface sangat memegang peranan penting,
karena dalam pemakaian aplikasi yang kita buat, pemakai senantiasa berinteraksi
dengan user interface tanpa menyadari bahwa dibelakangnya berjalan instruksi-
instruksi program yang mendukung tampilan dan proses yang dilakukan.
Pada pemrograman Visual, pengembangan aplikasi dimulai dengan
pembentukkan user interface, kemudian mengatur properti dari objek-objek yang
digunakan dalam user interface, dan baru dilakukan penulisan kode program untuk
menangani kejadian-kejadian (event). Tahap pengembangan aplikasi demikian
dikenal dengan istilah pengembangan aplikasi dengan pendekatan Bottom Up.

1. Mengenal IDE VB 6
IDE (Integrated Developement Environment) Visual Basic merupakan
Lingkungan Pengembangan Terpadu bagi programmer dalam mengembangkan
aplikasinya. Dengan menggunakan IDE programmer dapat membuat user interface,
melakukan koding, melakukan testing dan debuging serta menkompilasi program
menjadi executable. Penguasaan yang baik akan IDE akan sangat membantu
programmer dalam mengefektifkan tugas-tugasnya sehingga dapat bekerja dengan
efisien.
Salah satu cara untuk mengaktifkan IDE Visual Basic adalah menjalankannya
dari Menu Start, pilih menu Program, dan pilih Microsoft Visual Basic 6.0 dan
akhirnya Microsoft Visual Basic 6.0. Sesaat anda aktif di IDE Visual Basic (gambar
8-1). Sebagai langkah awal, pilih Standard EXE dan klik tombol Open.

79
Gambar 8-1. Dialog box New ditampilkan sesaat anda menjalankan IDE VB 6

IDE Visual Basic 6 menggunakan model MDI (Multiple Document Interface).


Gambar 8-2 adalah gambar yang menunjukan bagian-bagian dan nama-nama jendela
yang dapat tampil pada IDE Visual Basic. Mungkin pada IDE anda hanya ditampilkan
sebagian jendela dibandingkan dengan Gambar 8-.2, anda tidak perlu terkejut, karena
penampilan dari jendela-jendela tersebut dapat diatur dengan perintah pada menu
View. Tidak semua jendela akan kita gunakan, tetapi hanya beberapa yang penting,
sedangkan yang lainnya bersifat khusus.

Gambar 8-2. IDE Visual Basic dengan jendela-jendela yang terbuka.

Sebagaimana dengan proses belajar ini, kita akan fokus pada beberapa jendela yang
penting terlebih dahulu sehingga konsentrasi tidak menjadi pecah, dan peserta belajar
menjadi bingung. Adapun jendela-jendela yang perlu anda perhatikan adalah sebagai
berikut :

80
 Menu Bar, digunakan untuk memilih tugas-tugas tertentu seperti menyimpan
project, membuka project, dll
 Main Toolbar, digunakan untuk melakukan tugas-tugas tertentu dengan
cepat.
 Jendela Project (Project Explorer), jendela ini berisi gambaran dari semua
modul yang terdapat dalam aplikasi anda. Anda dapat menggunakan Ctrl+R
untuk menampilkan jendela project, atau klik View > Project Explorer, ataupun
menggunakan icon ( )
 Jendela Form Designer, jendela ini merupakan tempat anda untuk merancang
user interface dari aplikasi anda. Jadi jendela ini menyerupai kanvas bagi
seorang pelukis. Bila jendela ini tidak muncul klik View > Object
 Jendela Toolbox, jendela ini berisi komponen-komponen yang dapat anda
gunakan untuk mengembangkan user interface. Bila jendela ini tidak muncul
klik View > Toolbox atau menggunakan icon ( )
 Jendela Code, merupakan tempat bagi anda untuk menulis koding. Anda dapat
menampilkan jendela ini dengan menggunakan kombinasi Shift-F7 atau klik
View > Code.
 Jendela Properties, merupakan daftar properti-properti object yang sedang
terpilih. Sebagai contohnya anda dapat mengubah warna tulisan (foreground)
dan warna latarbelakang (background). Anda dapat menggunakan F4 untuk
menampilkan jendela properti atau klik View > Properties Window atau
menggunakan icon ( )

2. Memahami Istilah Project, Property, Method dan Event


Object = komponen di dalam sebuah program
Property = karakteristik yang dimiliki object
Method = aksi yang dapat dilakukan oleh object
Event = kejadian yang dapat dialami oleh object

Sebagai ilustrasi, anda dapat menganggap sebuah mobil sebagai object yang
memiliki property, method dan event (gambar 8-3).

Gambar 8-3. Ilustrasi Object

81
3. Toolbox
Jendela Toolbox merupakan jendela yang sangat penting bagi anda. Dari
jendela ini anda dapat mengambil komponen-komponen (object) yang akan
ditanamkan pada form untuk membentuk user interface. Komponen-komponen yang
ada dalam toolbox membantu anda untuk merancang program dan anda mendapatkan
gambaran yang jelas akan program yang akan anda buat.

Gambar 8-4. Toolbox Visual Basic 6 dengan semua kontrol intrinsic.

Adapun secara garis besar fungsi dari masing-masing intrinsic kontrol tersebut adalah
sebagai berikut :
 Pointer bukan merupakan suatu kontrol; gunakan icon ini ketika anda ingin
memilih kontrol yang sudah berada pada form.
 PictureBox adalah kontrol yang digunakan untuk menampilkan image dengan
format: BMP, DIB (bitmap), ICO (icon), CUR (cursor), WMF (metafile), EMF
(enhanced metafile), GIF, dan JPEG.
 Label adalah kontrol yang digunakan untuk menampilkan teks yang tidak dapat
diperbaiki oleh pemakai. Biasanya digunakan untuk memberi keterangan
obyek-obyek dalam form.

82
 TextBox adalah kontrol yang mengandung string yang dapat diperbaiki oleh
pemakai, dapat berupa satu baris tunggal, atau banyak baris. Biasanya
digunakan untuk meng-input text.
 Frame adalah kontrol yang digunakan sebagai kontainer bagi kontrol lainnya.
 CommandButton merupakan kontrol hampir ditemukan pada setiap form, dan
digunakan untuk membangkitkan event proses tertentu ketika pemakai
melakukan klik padanya.
 CheckBox digunakan untuk pilihan yang isinya bernilai yes/no, true/false.
 OptionButton sering digunakan lebih dari satu sebagai pilihan terhadap
beberapa option yang hanya dapat dipilih satu.
 ListBox mengandung sejumlah item, dan user dapat memilih lebih dari satu
(bergantung pada property MultiSelect).
 ComboBox merupakan konbinasi dari TextBox dan suatu ListBox dimana
pemasukkan data dapat dilakukan dengan pengetikkan maupun pemilihan.
 HScrollBar dan VScrollBar digunakan untuk membentuk scrollbar berdiri
sendiri.
 Timer digunakan untuk proses background yang diaktifkan berdasarkan
interval waktu tertentu. Merupakan kontrol non-visual.
 DriveListBox, DirListBox, dan FileListBox sering digunakan untuk membentuk
dialog box yang berkaitan dengan file.
 Shape dan Line digunakan untuk menampilkan bentuk seperti garis, persegi,
bulatan, oval.
 Image berfungsi menyerupai image box, tetapi tidak dapat digunakan sebagai
kontainer bagi kontrol lainnya. Sesuatu yang perlu diketahui bahwa kontrol
image menggunakan resource yang lebih kecil dibandingkan dengan
PictureBox
 Data digunakan untuk data binding
 OLE dapat digunakan sebagai tempat bagi program eksternal seperti Microsoft
Excel, Word, dll.

Ketika anda sudah memilih object yang digunakan dalam user interface (UI), maka
anda harus mengatur property object tersebut. Salah satu property yang sering
digunakan pada komponen label dan command adalah Caption, yang digunakan untuk
menampilkan tulisan; sedangkan pada komponen textbox adalah text.
Cara penulisan (syntax) kode program untuk mengatur property sebuah object adalah
sebagai berikut :
Nama_object.property = value
Suatu object dapat menggunakan method tertentu untuk melakukan aksi. Cara
penulisan (syntax) kode program untuk menggunakan method dari sebuah object
adalah sebagai berikut :

Nama_object.method [argument]

Komponen ComboBox dan ListBox memeiliki beberapa method untuk mengatur isi di
dalamnya, yaitu :

83
 AddItem : menambah isi sesuai dengan argument yang diberikan berupa
tulisan.
Setiap kali ada isi yang ditambahkan akan diberikan nomer index secara otomatis
dimulai dari 0.
 RemoveItem : menghapus isi sesuai dengan argument yang diberikan berupa
nomer index dari isi yang dipilih.Setiap kali ada isi yang dihapus maka nomer index
akan disusun ulang secara otomatis.
 Clear : menghapus semua isi (tidak membutuhkan argument)

4. Latihan
A. Membuat salam
UI yang dibuat seperti gambar 8-5.

Gambar 8-5. User interface untuk latihan 1

Jika program dijalankan maka akan muncul tampilan seperti gambar 8-6, dan
jika anda isikan nama anda, misalnya EGUNZ, dan anda klik MASUK, maka akan
muncul tampilan seperti gambar 8-7. Jika anda klik selesai maka akan berakhir.

Gambar 8-6. Gambar saat program dijalankan

84
Gambar 8-7. Gambar saat program dijalankan dan klik MASUK

B. Melakukan perhitungan pada kotak


 Menghitung volume
 Menghitung luas permukaan
 Menghitung luas alas

UI yang dibuat seperti gambar 8-8

Gambar 8-8. User interface untuk latihan 2

Jika program dijalankan hasilnya seperti gambar 8-9.

85
Gambar 8-9. Hasil Program Latihan 2.

C. Melakukan perhitungan pada bola


 Menghitung volume
 Menghitung luas permukaan

D. Melakukan perhitungan pada tabung


 Menghitung volume
 Menghitung luas permukaan
 Menghitung luas alas

86
Bab IX
Dasar-Dasar Visual Basic 2

1. Penamaan Object
Secara default, Visual Basic akan memberi nama setiap object yang terdapat
pada user interface yang dibuat oleh pembuat program. Untuk setiap jenis object,
nama yang secara otomatis muncul merupakan urutan JenisObject-Nomor, misalnya
: Form1, Form2, Form3; Label1, Label2, Label3; Text1, Text2, Text3; Command1,
Command2, Command3. Untuk ukuran program yang besar, hal ini dapat
menimbulkan masalah yaitu kacau dalam identifikasi sebuah object.
Untuk menghindari kesulitan identifikasi object, disarankan untuk mengganti
nama object sesuai dengan representasi object tersebut, seperti : Txt_Nama,
Lbl_Pesan, Cmd_Mulai, Cmd_Selesai, dst. Nama sebuah object merupakan value
pada property (Name) object tersebut.

2. Menampilkan Object, Event, Method dan Property yang mungkin


Semua object yang ada dalam project dapat dilihat dan dipilih melalui combo
box di sebelah kiri atas code window.

Gambar 12-1. Code Window saat menampilkan daftar Object

Semua event yang mungkin diantisipasi sebagai pemicu aksi program dalam
suatu object yang ada dapat dilihat dan dipilih melalui combo box disebelah kanan
atas code window, dengan catatan object tersebut aktif pada combo object.

87
Gambar 12-2. Code Window saat menampilkan daftar Event

Semua method dan property yang bisa digunakan pada suatu object, akan
muncul dengan sendirinya dalam list ketika nama object telah diketikkan dalam code
dan diakhiri dengan tanda titik (.).Sehingga dapat menghindari kesalahan dalam
pengetikan object. Untuk property diawali dengan icon dan method diawali dengan
icon .

Gambar 12-3. Code Window saat menampilkan daftar Method dan Property

3. Transfer Variable dari dan ke Object Property


Dengan menggunakan konsep pemrograman visual, pengguna program hanya
dapat melihat tampilan yang disediakan melalui user interface yang disediakan. Hal ini
mempunyai konsekuensi bahwa input dan output program harus melalui object
property yang dapat ditampilkan dan atau dimodifikasi pada user interface, misalnya
property Caption dalam Label, property Text dalam TextBox, property Picture dalam
PictureBox, property List dalam ListBox.
Untuk mengubah nilai dari object property melalui code, dapat digunakan
perintah berikut ini :
NamaObject.Property = [Value]
[Value] dapat berupa konstanta yang tipenya sama dengan object property tersebut
atau merupakan ekspresi yang mungkin juga terdiri dari object property lain. Contoh-
contoh ekspresi yang dapat digunakan :

Txt_Nama.Text = ”Ita”
Txt_Nama.Text = Nama$ + ”Christy”
Txt_Nama.Text = UCase$(Txt_Input.Text)

Meksipun berbagai macam ekspresi dapat digunakan untuk mengubah nilai dari object
property, akan tetapi untuk proses program yang panjang hal ini mungkin agak
merepotkan. Untuk keperluan tersebut, disarankan untuk melakukan proses transfer
nilai object property dari dan ke variabel seperti gambar 12-4. Dengan cara yang
diusulkan ini, proses dalam program hanya menitikberatkan pada manipulasi variabel
saja. Memang diperlukan usaha tambahan untuk memasukkan nilai dari object
property ke dalam variabel sebagai input program dan mengembalikan nilai dari
variabel ke object property sebagai output, tetapi hal ini akan mempermudah proses

88
pembuatan program dan pelacakan kesalahan. Hal yang perlu diperhatikan adalah
tipe dari variabel dan object property diusahakan agar sama. Perintah untuk
memindahkan object property ke variabel adalah :
NamaVariabel = NamaObject.Property

Object
INPUT Variabel
Property

Proses

Object
OUTPUT Variabel
Property

User Interface Code Program

Gambar 12-4. Mekanisme Transfer Variabel dari dan ke Object Property

4. Sub Program (Modules) : Sub dan Function


Secara otomatis, sebenarnya VB6 telah membentuk subprogram untuk setiap
event yang akan diantisipasi sebagai pemicu jalannya suatu aksi. Perhatikan kembali
beberapa event pada code window program yang telah dibuat (misal Gambar 12-5),
setiap event pada object tertentu selalu diawali dengan perintah Private Sub ... dan
diakhiri dengan End Sub, kemudian untuk memisahkan antar event terdapat sebuah
garis horizontal.

Gambar 12-5. Code Window sebuah project

Untuk hal selain penangangan event, VB juga memungkinkan pembuat


program untuk mengelompokkan baris-baris program menjadi subprogram baik yang

89
berupa sub maupun function. Ingat kembali perbedaan mendasar antara sub dan
function! Subprogram dapat menjadi milik sebuah form saja, dengan menuliskan pada
code window untuk form yang bersangkutan dan dengan menggunakan kata kunci
Private di depan nama subprogram. Bentuk dasar penulisan sub dan function adalah
sebagai berikut :

Private Sub NamaSub(daftar parameter)


:
:
End Sub

Private Function NamaFunction(daftar parameter) As Tipe


:
:
End Function

Untuk membuat subprogram dapat digunakan untuk semua form yang terlibat
dalam project, subprogram harus dituliskan dalam Modules atau menggunakan kata
kunci Public di depan nama subprogram. Untuk memulai membuat modules, dapat
dilakukan langkah berikut : pada project explorer klik kanan Project, kemudian pilih
menu Add – Module. Hal yang perlu diperhatikan adalah saat menyimpan project,
seperti halnya form, module juga perlu untuk disimpan secara tersendiri.

5. Bekerja dengan Form


Saat bekerja dengan form, terdapat dua method yang penting yaitu Show dan
Hide. Show digunakan untuk menampilkan form, sedangkan Hide digunakan untuk
menyembunyikan form. Penulisan perintah dalam code adalah :
NamaForm.Show
NamaForm.Hide
Untuk mengatur kondisi form (terlihat atau tersembunyi) saat pertama kali program
dijalankan, property yang diatur adalah Visible. Ketika property Visible berisi True, form
akan terlihat saat program pertama kali dijalankan. Sedangkan jika berisi False, form
akan tersembunyi.
Property untuk Form yang penting lainnya adalah BorderStyle, Height dan
Width, Left dan Top, StartUpPosition, Moveable. BorderStyle digunakan untuk
mengatur jenis border form tersebut, antara lain : none (tanpa border), fixed single
(border yang tidak dapat diubah ukurannya), sizable (border yang dapat diubah
ukurannya). Height dan Width digunakan untuk mengatur tinggi dan lebar form. Left
dan Top digunakan untuk mengatur posisi form dihitung dari batas kiri dan atas layar.
StartUpPosition digunakan untuk mengatur posisi awal form (Manual, CenterOwner,
CenterScreen, WindowDefault). Moveable digunakan untuk mengatur apakah posisi
form dapat dipindahkan atau tidak.
Event terpenting pada form adalah event Load, yaitu kejadian saat form
tersebut pertama kali ditampilkan. Jika sebuah project hanya terdiri dari sebuah form,
maka baris perintah program (code) yang dituliskan diantara Private Sub Form_Load()
dan End Sub akan selalu dikerjakan pada saat permulaan project dijalankan.

90
Jika diinginkan untuk bekerja dengan jumlah form yang lebih dari satu, untuk
membuat form baru pada saat design caranya adalah pada project explorer klik kanan
Forms, kemudian pilih menu Add – Form.

6. Ringkasan sebagian Property, Method, Event penting pada beberapa Object


Sebagian besar object memiliki property yang hampir sama, seperti :
BorderStyle, Caption, Enabled, FontBold, FontItalic, FontName, FontSize,
FontUnderline, Height, Left, Name, Top Visible, dan Width. Masing-masing property
tersebut mempunyai kegunaan yang sama pada tiap object yang memilikinya.
Beberapa property lain yang penting beserta method dan event penting pada masing-
masing object terdapat pada tabel berikut ini.

Object Property Method Event


PictureBox Picture LoadPicture Click
Cls DblClick
Label Alignment - Click
AutoSize DblClick
TextBox MaxLength SetFocus Change
MultiLine LostFocus
PasswordChar
ScrollBars
SelLength
SelStart
SelText
Text
CommandButton Cancel - Click
CheckBox Default
OptionButton Value
HScrollBar LargeChange - Change
VScrollBar Max Scroll
Min
SmallChange
Value

91
Bab X
Dasar-Dasar Visual Basic 3

1. Bekerja dengan ListBox


Beberapa property penting yang dimiliki oleh ListBox beserta
penjelasannya masing-masing adalah sebagai berikut :
 List
Berisi array dari semua nilai yang disimpan pada ListBox. Untuk
mengakses sebuah item individual dapat digunakan perintah berikut :
NamaList.List(index)

Misalnya untuk memasukkan nilai yang tersimpan dalam list yang


bernama Lst_Barang dengan index ke-10 pada variabel NamaBarang,
digunakan perintah
NamaBarang = Lst_Barang.List(10)
 ListCount
Berisi jumlah item yang terdapat dalam ListBox. Nilai property ini tidak
dapat dimodifikasi, hanya dapat diambil untuk keperluan lain.
 ListIndex
Menunjukkan index dari item yang sedang dipilih dalam ListBox. Index
dari item pertama dalam ListBox adalah 0 dan bila tidak ada item yang
sedang dipilih property ini berharga -1. Saat program berjalan, bila
terdapat item dalam ListBox yang sedang dipilih, tampilan item tersebut
akan menonjol (highlight) dibandingkan item-item yang lain.
 Text
Berisi teks atau nilai yang tersimpan pada item yang sedang dipilih
dalam ListBox. Nilai property ini tidak dapat dimodifikasi, hanya dapat
diambil untuk keperluan lain.
 Sorted
Property ini bersifat boolean, bernilai True jika seluruh nilai dalam
ListBox akan otomatis ditampilkan urut secara naik (ascending) dan
bernilai False jika nilai ditampilkan sesuai urutan penambahannya.
 MultiSelect
Property ini mengontrol berapa banyak item dalam ListBox yang dapat
dipilih. Terdapat tiga nilai property ini : 0-None, hanya dapat memilih 1
item; 1-Simple, dapat memilih lebih dari 1 item; 2-Extended, dapat
memilih lebih dari 1 item dan menggunakan kombinasi tombol [Shift] dan
[Ctrl]
 Column
Property ini mengontrol cara pengaturan tampilan dalam bentuk kolom.
Nilai 0 akan menampilkan list dalam bentuk satu kolom. Sedangkan nilai
lain yang lebih dari 0 akan mengatur tampilan list dalam bentuk banyak
kolom dengan nilai tersebut menunjukkan jumlah item maksimal yang
dapat dimunculkan dalam list.

Sedangkan beberapa method penting yang dapat dilakukan pada


ListBox beserta penjelasannya masing-masing adalah sebagai berikut :

92
 AddItem
Method ini digunakan untuk menyisipkan/menambah item pada ListBox.
Bentuk umum dari method ini adalah
NamaList.AddItem text[,index]

Bila perintah tersebut digunakan secara lengkap, text akan disisipkan


pada ListBox dengan posisi index yang disebutkan. Akan tetapi bila index
tidak dituliskan (karena bersifat optional), maka text akan diletakkan
pada posisi terakhir dalam ListBox. Misalnya untuk menyisipkan item
Notebook pada Lst_Barang pada posisi ke 20, digunakan perintah
Lst_Barang.AddItem “Notebook”, 20

Apabila item tersebut akan diletakkan pada posisi terakhir dalam list
digunakan perintah
Lst_Barang.AddItem “Notebook”

Dalam penggunaan method ini, perlu diperhatikan juga nilai dari property
Sorted.
 RemoveItem
Method ini digunakan untuk membuang sebuah item pada ListBox.
Bentuk umum dari method ini adalah
NamaList.RemoveItem (index)

Index digunakan untuk menunjukkan posisi item pada ListBox yang akan
dibuang. Misalnya untuk membuang item yang saat ini sedang dipilih
pada Lst_Barang digunakan perintah
Lst_Barang.RemoveItem (Lst_Barang.ListIndex)

 Clear
Method ini digunakan untuk membuang seluruh item pada ListBox.
Bentuk umum dari method ini adalah
NamaList.Clear

2. Bekerja dengan ComboBox


ComboBox pada dasarnya merupakan kombinasi antara TextBox dan
ListBox. Perbedaan utama antara ListBox dan ComboBox adalah ComboBox
hanya dapat menampilkan item dalam satu kolom saja atau tidak mendukung
tampilan banyak kolom. Hampir semua property dan method yang dimiliki
ListBox juga dimiliki oleh ComboBox. Property terpenting dari ComboBox
adalah :
 Style
Style menunjukkan jenis ComboBox yang tertampil saat program
dijalankan dan mekanisme kerjanya. Terdapat tiga jenis ComboBox
yang ada yaitu : 0 – dropdown combo, 1 – simple combo, 2 – dropdown
list. Simple combo menunjukkan kombinasi yang paling sederhana
antara TextBox dan ListBox, yaitu sebuah object yang merupakan
gabungan langsung antara TextBox pada bagian atas dan ListBox pada
bagian bawah (lihat Gambar 13-1).

93
(a) (b) (c)
Gambar 13-1. (a) Tampilan Simple Combo serta Tampilan Dropdown
sebelum (b) dan sesudah (c) tombol panah di-click

Saat program dijalankan, dropdown mula-mula hanya menampilkan


tampilan seukuran textbox beserta tombol panah disebelahnya. Jika
tombol panah di-click akan muncul list secara lengkap, dan untuk
menghilangkan list ulangi click kembali tombol panah. Perbedaan antara
dropdown combo dan dropdown list adalah akses terhadap teks,
dropdown list hanya dapat memilih teks dari list sedangkan dropdown
combo dapat menuliskan teks seperti textbox.
 Text
Property ini dapat berisi teks yang dipilih dari list atau teks yang
dimasukkan dalam box oleh pengguna program.

3. Pembuatan Menu melalui Menu Editor


VB telah menyediakan fasilitas otomatis untuk menyusun daftar menu
dalam tiap form melalui Menu Editor (lihat Gambar 13-2). Untuk mengakses
Menu Editor, pilih melalui menu Tools – Menu Editor.

Gambar 13-2. Menu Editor Visual Basic 6

Sebuah menu memerlukan dua property yang harus dimasukkan yaitu


Caption dan Name. Caption adalah teks yang muncul pada form dan Name
adalah nama yang diperlukan untuk mengakses menu tersebut dalam code
program.

94
Command button panah dalam menu editor ( ), digunakan
untuk menggeser posisi menu (naik atau turun) dan level menu (kanan atau
kiri). Command button Next digunakan untuk menambah menu pada posisi
yang paling bawah, command button Insert digunakan untuk menyisipkan
menu, dan command button Delete digunakan untuk menghapus menu.
Satu-satunya event yang dapat menjadi pemicu aksi dalam menu adalah
event click. Dalam code program bentuk perintah umumnya adalah :

Private Sub NamaMenu_Click()


:
:
End Sub

4. Bekerja dengan Timer


Timer merupakan komponen yang digunakan untuk melakukan
pekerjaan yang berkaitan dengan waktu. Penggunaan komponen Timer
dilakukan dengan cara click ikon Timer yang berada dalam Toolbox lalu drag
menuju jendela form. Property penting yang dimiliki komponen Timer antara
lain:

Property Setting

Enabled True: Komponen Timer langsung


bekerja saat form dibuka.
False: komponen Timer akan bekerja
apabila terjadi event tertentu, misalnya
Command Button yang di-click.

Interval Interval waktu dinyatakan dalam


milliseconds. Menunjukan lama waktu
antara tiap terjadinya event.

95
Contoh 10-1.Penggunaan Komponen Timer
lbl_nama

lbl_hari

lbl_tgl lbl_tahun

lbl_bulan
lbl_jam

Timer1
Gambar 13-3. Form Jam Sebelum Program dijalankan

Deklarasi
Dim sekarang As Variant

Properties
Timer 1:
Interval = 1000
Lbl_jam :
lbl_jam.caption = “ 00 : 00 : 00”

Code Program
Private Sub Timer1_Timer()
sekarang = Now
lbl_hari.Caption = Format(sekarang, "ddd")
lbl_bulan.Caption = Format(sekarang, "mmm")
lbl_tahun.Caption = Format(sekarang, "yyyy")
lbl_tgl.Caption = Format(sekarang, "d")
lbl_jam.Caption = Format(sekarang, "h:mm:ss")

End Sub

96
FUNGSI TAMBAHAN PADA QUICK BASIC 4.5

1. Mengubah huruf kecil menjadi huruf besar (UCASE$)


contoh :
dim a as string, b as string
a = “Seperti Ini”
b = UCASE$ (a)
print b

outputnya adalah:
SEPERTI INI

2. Mengubah huruf besar menjadi huruf kecil (LCASE$)


contoh :
dim a as string,b as string
a = “GUNARTO”
b = LCASE$ (b)
print b

outputnya adalah:
gunarto
3. Menghitung jumlah huruf pada sebuah variable (LEN)
contoh :
dim a as string
a = “komputer”
b = len(a)
print b

outputnya adalah:
8

4. Membaca sebuah karakter pada sebuah variable (LEFT$, MID$, RIGHT$)


contoh :
dim a as string, b as string, c as string, d as string
a = “kencur”
b = LEFT$ (a,4)
c = MID$ (a,3,2)
d = RIGHT$ (a,4)
print “a=”,a
print “b=”,b
print “c=”,c
print “d=”,d

outputnya adalah:
a = kencur
b = kenc
c = nc
d = ncur

97
5. Membangkitkan bilangan random (RND)
contoh :
cls
randomize timer
a = rnd * 10
print a

outputnya:
5.540277
(catatan: perintah rnd mengeluarkan bilangan antara 0-1, apabila anda ingin
mengeluarkan bilangan random antara 1-100 maka gunakan rumus:
rnd * 100, demikian pula seterusnya)

6. Memberi warna pada hasil cetakan (COLOR)


contoh :
dim a as string
a = “happy holiday”
color 2
print a

outputnya adalah:
happy holiday
(dengan warna tulisan hijau)
ada 15 warna untuk quick basic 4.5 lihat pd help-index-color

7. Meletakkan hasil tampilan pada baris dan kolom tertentu (LOCATE)


contoh :
dim a as string
a = “selamat malam”
locate (12),(30)
print a

ingat : perintah locate (baris),(kolom) harus diletakkan sebelum perintah cetak,


pada QB 4.5 jumlah baris max 24 dan jumlah kolom max 78

8. Perintah untuk menuju suatu bagian program (GOTO)


cara penggunaan
1
.......
.......
goto 1

9. Menghitung jumlah akar pangkat 2 (SQR)


contoh :
a = 144
b = SQR(a)
print b

outputnya adalah :
12

98
10. Menggunakan perintah SLEEP
contoh :
cls
print “hahahaha”
sleep 2
print “hihihhihi”
end

catatan: angka yang diletakkan setelah perintah sleep menunjukkan satuan detik

ASCII CODE

99

Anda mungkin juga menyukai