
Hak Cipta pada Kementerian Pendidikan dan Kebudayaan Dilindungi Undang-Undang

Kontributor


Cetakan ke-1, 2014
Disusun dengan
Huruf Arial, 11pt
![]()
![]()
KATA PENGANTAR
Puji syukur kami panjatkan kepada
Tuhan yang Maha Esa atas tersusunnya buku teks ini, dengan harapan dapat digunakan sebagai buku teks Pemrograman
Dasar untuk siswa Sekolah Menengah Kejuruan
(SMK) Bidang Keahlian
Teknologi Informasi.
Penerapan kurikulum 2013 mengacu
pada paradigma belajar
kurikulum abad 21 menyebabkan terjadinya perubahan, yakni dari pengajaran (teaching) menjadi BELAJAR
(learning), dari pembelajaran yang berpusat kepada guru (teachers-centered) menjadi pembelajaran yang berpusat kepada peserta
didik (student-centered), dari pembelajaran pasif (pasive learning) ke cara belajar peserta didik aktif (active
learning-CBSA) atau Student
Active Learning-SAL.
Buku
teks “Pemrograman Dasar” ini disusun berdasarkan
tuntutan paradigma pengajaran dan pembelajaran kurikulum 2013 diselaraskan berdasarkan pendekatan model pembelajaran yang sesuai dengan kebutuhan belajar
kurikulum abad 21, yaitu pendekatan model pembelajaran berbasis peningkatan keterampilan proses sains.
Penyajian buku teks untuk Mata
Pelajaran Pemrograman Dasar ini disusun dengan tujuan agar peserta didik dapat melakukan proses pencarian pengetahuan
berkenaan dengan materi pelajaran
melalui berbagai aktivitas proses sains sebagaimana dilakukan oleh para ilmuwan
dalam melakukan eksperimen ilmiah
(penerapan pendekatan saintifik), dengan demikian peserta didik diarahkan untuk menemukan sendiri berbagai
fakta, membangun konsep, dan nilai-nilai baru
secara mandiri. Pendekatan saintifik ini meliputi
proses 5 M,yaitu
mengamati, menanya, mencoba/mengumpulkan informasi, mengasosiasikan, dan mengkomunikasikan.
Kementerian Pendidikan dan Kebudayaan, Direktorat Pembinaan Sekolah Menengah
Kejuruan, dan Direktorat Jenderal Peningkatan Mutu Pendidik dan Tenaga Kependidikan menyampaikan terima kasih, sekaligus saran kritik demi kesempurnaan buku teks ini dan penghargaan kepada semua pihak yang telah
berperan serta dalam membantu terselesaikannya
buku teks siswa untuk Mata Pelajaran ″Pemrograman Dasar” Kelas X Semester 2 Sekolah Menengah
Kejuruan (SMK).
Jakarta, 12 Desember 2014
Menteri Pendidikan dan Kebudayaan
DAFTAR ISI
Bab 1. Pengenalan Bahasa
Pemrograman...................................................................................... 5
1.1 Kegiatan
Belajar 1 Pengenalan Bahasa Pemrograman................................ 5
1.2 Kegiatan Belajar 2 Struktur Bahasa
Pemrograman Pascal.......................... 21
1.3 Kegiatan Belajar 3 Standar Input Output............................................ 33
1.4 Kegiatan Belajar 4Kompilasi Program dan Perbaikan Kesalahan.................. 45
Bab 2. Variabel, Tipe Data dan Operator....................................................................................... 55
2.1 Kegiatan Belajar 1 Variabel, Tipe Data dan Konstanta............................. 55
2.2 Kegiatan Belajar 2 Operator dan Ekspresi........................................... 74
Bab 3. Struktur
Percabangan......................................................................................................... 87
3.1 Kegiatan
Belajar 1 Percabagnan 1 Kondisi........................................... 87
3.2 Kegiatan Belajar 2 Percabangan Dengan 2 Kondisi.................................. 97
3.3 Kegiatan
Belajar 3 Percabangan Lebih Dari 2 Kondisi.............................. 107
3.4 Kegiatan Belajar 4 Percabangan Bersarang......................................... 118
Bab 4. Struktur
Perulangan.......................................................................................................... 125
4.1 Kegiatan Belajar 1 Perulangan Dengan
Kondisi di Awal........................... 125
4.2 Kegiatan Belajar 2 Perulangan Dengan
Kondisi di Akhir.......................... 139
4.3 Kegiatan Belajar 3 Perulangan Dengan
Kondisi Dinputkan User.................. 147
4.4 Kegiatan Belajar 4 Perulangan Dengan
Pernyataan Break &
Continue........... 154
Bab 5. Pengembangan Algoritma Aplikasi................................................................................. 161
5.1 Kegiatan Belajar 1 Pengembangan Aplikasi dan Analisis Pemecahan Masalah.... 161
5.2 Kegiatan Belajar 2 Error Handling............................................................................ 169
5.3 Kegiatan Belajar 3 Debugging.................................................................................. 178
5.4 Kegiatan Belajar 4 Study
Kasus Proyek Pengembangan Aplikasi................... 187
![]()
![]()

Kompetensi Inti
dan Kompetensi Dasar Kompetensi Inti
KI 1 : Menghayati dan mengamalkan ajaran agama yang dianutnya.
KI 2 : Menghayati dan Mengamalkan perilaku
jujur, disiplin,tanggungjawab, peduli (gotong
royong, kerjasama, toleran, damai), santun, responsif dan proaktif dan menunjukan sikap sebagai bagian dari
solusi atas pelbagai permasalahan dalam berinteraksi secara efektif dengan lingkungan sosial dan alam serta dalam menempatkan diri sebagai cerminan
bangsa dalam pergaulan
dunia.
KI 3 : Memahami, menerapkan
dan menganalisis pengetahuan faktual, konseptual, dan procedural berdasarkan rasa ingin tahunya tentang ilmu
pengetahuan, teknologi, seni, budaya,
dan humaniora dalam wawasan kemanusiaan, kebangsaan, kenegaraan, dan peradaban terkait
penyebab fenomena dan kejadian dalam bidang kerja yang spesifik
untuk memecahkan masalah.
KI 4 : Mengolah, menalar,
dan menyaji dalam ranah konkret dan ranah abstrak terkait dengan pengembangan dari yang
dipelajarinya di sekolah secara mandiri, dan
mampu melaksanakan tugas
spesifik di bawah pengawasan langsung.
Kompetensi Dasar:
1.1.
Memahami nilai-nilai keimanan dengan menyadari hubungan
keteraturan dan kompleksitas alam dan jagad
raya terhadap kebesaran
Tuhan yang menciptakannya.
1.2.
Mendiskripsikan kebesaran
Tuhan yang menciptakan Pelbagai sumber energi di alam.
1.3.
Mengamalkan nilai-nilai keimanan
sesuai dengan ajaran agamanya dalam kehidupan
sehari-hari
2.1.
Menunjukkan
perilaku ilmiah (memiliki rasa ingin tahu; objektif; jujur; teliti; cermat; tekun;
hati-hati; bertanggung jawab; terbuka; kritis; kreatif; inovatif dan peduli lingkungan) dalam aktivitas sehari- hari
sebagai wujud implementasi sikap dalam melakukan percobaan dan berdiskusi
2.2.
Menghargai kerja individu dan kelompokdalam aktivitas
sehari-hari sebagai wujudimplementasi melaksanakan percobaandan melaporkan hasil percobaan
3.4. Menerapkan
bahasa pemrograman
4.4. Mengolah algoritma ke dalam bentuk kode program
komputer
3.5. Menerapkan
penggunaan tipe data, variabel, konstanta, operator dan ekspresi
4.5. Mengolah data menggunakan konsep tipe data, variabel, konstanta, operator dan ekspresi.
3.6. Menerapkan struktur kontrol
percabangan dalam bahasa
pemrograman
4.6. Memecahkan masalah menggunakan struktur kontrol percabangan
3.7. Menerapkan
struktur kontrol perulangan dalam bahasa pemrograman.
4.7. Memecahkan
masalah menggunakan struktur
kontrol perulangan.
3.8. Menerapkan
keseluruhan konsep algoritma
dalam penyelesaian masalah kompleks
4.8. Menganalisa
kesalahan dalam program
Peta Konsep

Saat kalian belanja di swalayan ataupun super market pernahkah kalian
memperhatikan bagaimana kasir
bekerja?Apakah dari banyaknya belanjaan pelanggan, sang kasir menghitung manual satu persatu belanjaan mereka?Iya
benar, tentu saja mereka tidak menghitung secara manual, karena bisa dibayangkan antrian yang terjadi mungkin
bisa sangat panjang.Hal ini tentu merugikan
pelanggan dan supermarket itu
sendiri.Pelanggan merasa jenuh, dan
banyak waktu yang terbuang sia-sia
untuk mengantri, sehingga kepuasan
pelanggan menurun. Tentu ini juga akan
berdampak terhadap swalayan itu sendiri. Untuk
itu mereka menggunakan aplikasi atau software
khusus yang digunakan untuk kasir. Dengan software ini, kasir dapat memeriksa
barang belanjaan dengan cepat
(menggunakan barcode reader), sehingga dapat menentukan harga setiap barang yang dibeli dan
menjumlahkan semuanya dengan sangat mudah dan cepat.
Demikian juga ketika kita bertransaksi
di bank, membayar pajak listrik, membayar pajak motor, melakukan pemeriksaan di rumah sakit dan masih banyak
lagi yang menggunakan aplikasi atau
software khusus untuk melayani pengguna/pelanggannya sehingga menjadi lebih
cepat dan praktis. Inilah mengapa
kehidupan modern tidak dapat dipisahkan dengan perkembangan teknologi informasi, di mana salah satu bentuknya adalah penerapan aplikasi
atau software.
Salah
satu hal yang harus disyukuri
bahwa Tuhan menciptakan manusia, membekali dengan kecerdasan sehingga dengan
kehendakNya manusia bisa membuat sebuah aplikasi yang amat membantu pekerjaan manusia
termasuk membantu kasir
dalam
berkerja. Pernahkah telintas dipikiran kalian bagaimana cara membuat
aplikasi perhitungan yang bermanfaat itu?Bagaimana aplikasi
itu bisa menghitung dengan cepat?Bagaimana memerintahnya mengerjakan menghitung?Nah untuk memahami bagaimana
suatu aplikasi dikembangkan dan dibuat, kalian harus
mengerti dulu apa itu bahasa pemrograman.
1.1.
KEGIATAN BELAJAR 1 PENGENALAN BAHASA
PEMROGAMAN
1.1.1
Tujuan Pembelajaran
1. Siswa memahami pengertian software bahasa pemrograman, konsep dan manfaatnya dalam kehidupan nyata
2.
Menginstall salah satu bahasa
pemrograman, dalam hal ini
bahasa pemrograman Pascal
5
1.1.2
Aktivitas Kegiatan Belajar
1.1.2.1.
Mengamati
Kasus 1
Marwa Berlatih Membuat Kue
Marwa ingin sekali bisa membuat kue tapi dia tidak bisa membuatnya sendiri.
Akhirnya dia mendekati ibu dan meminta ibu
mengajarinya.
Marwa : “Ibu, bagaimana cara membuat kue? Aku mau belajar membuatnya”
Ibu : “Oke, pertama kamu harus menyiapkan semua bahan yang dibutuhkan
ada telur, tepung
terigu mentega, coklat, dan pengembang, sana ambil dulu
dikulkas” Marwa : “Siap…. Ini bu semua sudah komplit”
Ibu :”Bagus,
sekarang kamu kocok telurnya, setelah itu masukan tepung terigu mentega, coklat
dan pengembangnya hingga tercampur rata” Marwa : “Begini ya bu?”
Ibu : “Ya benar, kalau sudah tuang ke cetakan
dan masukan ke dalam oven sampai mengembang, kalo sudah segera dikeluarkan biar tidak gosong”
Marwapun
mengikuti semua instruksi yang dianjurkan ibu. Dan akhirnya kue siap Dihidangkan.
Kasus 2
Budi Membuat Program
Komputer Yang Menyapa
Budi ingin membuat
aplikasi menggunakan komputer,
maka diapun mulai meminta komputer
melakukan setiap instruksi
darinya. Untuk itu dia menuliskan kode dalam suatu bahasa pemrograman untuk membuat program tersebut.

Setelah dijalankan maka muncul

1.1.2.2.
Menanya
Setelah melakukan pengamatan, coba buatlah pertanyaan seperti contoh berikut.
1.
Apa yang dilakukan Marwa agar dia bisa
membuat kue?
2.
Apa yang dilakukan Budi agar komputer bisa menyapanya?
3. Pada kasus 1, siapa yang memberi intruksi
dan kepada siapa? Sedangkan pada kasus 2, siapa ke siapa?
4.
Adakah perbedaan instruksi yang diberikan ibu dengan instruksi
yang diberikan budi?
5.
Apa itu program komputer?
6.
Kode apakah yang dituliskan Budi?
1.1.2.3.
Mencari Informasi/Mencoba
Dari 2 contoh diatas kita temui bahwa
Marwa dan Budi sama-sama menginginkan sesuatu.
Marwaingin bisa membuat kue, kemudian apa yang dia lakukan? Ya, Marwa
berbicara kepada ibu untuk
membantunya membuat kue.Dan ibu menyampaikan instruksi-instruksi dengan jelas
agar Marwa mengerti.
Begitu pula Budi yang menginginkan
komputer bekerja membuatkan Budi sebuah program agar komputer bisa menyapanya, maka apa yang Budi lakukan?
Untuk mengutarakan keinginannya maka dia berkomunikasi dan memberi instuksi
kepada komputer melalui
suatu bahasa tertentu,
yang disebut sebagai
Bahasa Pemrograman. Dia memberikan instruksi:
Program
Menyapa -> mengidentifikasi judul program
Clrscr -> instruksi
membersihkan layar
BEGIN
-> Instruksi untuk mulai membuat Writeln->
Instruksi untuk menuliskan
Readln-> Instruksi untuk membaca dan menampilkan
END ->
Instruksi mengakhiri progam.
Jadi, untuk membuat sebuah program bisa berjalan sesuai
runtutan kerja atau algoritma sesuai yang
kita kehendaki maka kita harus menggunakanbahasa atau suatu intruksi standar
yang bisa dimengerti komputer, bahasa itulah yang dikenal dengan
Bahasa
Pemrogaman.
Program dan Bahasa Pemrograman
Kalian
tentu tidak asing lagi dengan program komputer,
kan? Setiap hari tentu kalian menggunakan program
komputer atau disingkat
program saja. Lalu apa definisi
program? Bagaimana cara kerja
dan pembuatannya?
Menurut
definisi,programkomputer adalah kumpulan
instruksi yang digunakan
untuk mengatur komputer agar
melakukan suatu tindakan tertentu.Jadi komputer tidak akan bisa apa-apa jika tidak ada program di dalamnya. Sebuah komputer atau laptop secanggih
apa pun spesifikasinya tanpa program sistem
operasi maka tidak ada gunanya. Demikian juga untuk lebih optimal kemanfaatannya perlu dipasang
berbagai program seperti pengolah kata, pengolah angka, pengolah grafis, program video, musik hingga game. Semua program
tersebut pada dasarnya memberikan instruksi
kepada komputer sedemikain rupa sehingga bisa melakukan berbagai
macam hal sesuai dengan fungsi program tersebut. Orang yang
mengembangkan program disebut dengan programmer.
![]()
Komputer bekerja dengan operasi-operasi biner, yaitu mengolah data-data
berupa barisan biner 0 dan 1 sehingga
tidak mungkin ketika seorang programmer memerintahkan untuk menulis pesan langsung dimengerti oleh komputer. Oleh karena itu harus ada suatu bahasa yang penghubung agar komputer mengerti
instruksi atau perintah yang diberikan.Bahasa penghubung inilah yang disebut dengan bahasa
pemrograman. Bahasa
Pemrogramanadalah suatu instruksi standar untuk memerintahkomputer.Untuk
menjadi sebuah program maka kode-kode yang sudah dituliskan dalam bahasa pemrograman diubah ke dalam bahasa mesin yang dimengerti oleh komputer dengan
menggunakan interpreter
atau compiler. Proses perubahan ini disebut dengan
interprestasi atau kompilasi. Hasil kompilasi inilah yang menghasilkan program komputer. Penjelasan lebih detail mengenai
keduanya akan dibahas
pada bagian akhir Bab ini.



Menurut kedekatannya dengan mesin komputer,
bahasa pemrogaman di bagi menjadi
beberapa tingkatan diantaranya:
1. Bahasa Mesin
Bahasa mesin merupakan
rangkaian instruksi yang terdiri dari kode biner, contohnya 0001110011. Bahasa ini menempati
tingkatan yang paling rendah karena bahasa ini bisa langsung
dieksekusi oleh processor, sehingga bahasa mesin sering kali digunakan untuk kompilasi
oleh compiler pada bahasa pemrograman lain, yang lebih tinggi tingkatnya.
2.
Bahasa Tingkat Rendah
Bahasa tingkat rendah merupakan rangkaian instruksi
menggunakan kode-kode singkat (kode mnemonic) contohnya
bahasa Assembly.
3.
Bahasa Tingkat Menengah
Bahasa tingkat menengah merupakan rangkaian instruksi
gabungan antara bahasa manusia dengan
kode-kode simbolik, contohnya {,},?,<,>&&,$,dsb. Yang termasuk
bahasa menengah yakni bahasa C.
4.
Bahasa Tingkat Tinggi
Bahasa tingkat tinggi merupakan rangkaian
instruksi yang menggunakan unsur kata-kata manusia sehingga lebih mudah untuk dimengerti contohnya begin, end, if, for, while, and, or dsb. Untuk bahasa ini diperlukan compiler untuk
mengompilasi ke dalam bahasa mesin sehingga
dimengerti komputer. Yang termasuk kategori ini adalah Pascal dan Basic
Mengenal Bahasa Pascal
Dalam buku Pemrograman Dasar ini, digunakan
bahasa Pemrograman Pascal.
Mengapa Pascal? Seperti
yang dijelaskan sebelumnya bahasa pemrograman Pascal, selanjutnya disingkat bahasa Pascal,
adalah salah satu bahasa
tingkat tinggi, yang menggunakan perintah-perintah sebagaimana bahasa sehari-hari. Dalam Bahasa Pascal digunakan perintah-perintah sepertiread, write, pernyataan if then, while do,
repeat until, begin,end, dan
sebagainya yang dimengerti oleh
kebanyakan orang, sehingga menjadi bahasa Pascal mudah dipelajari, khususnya untuk mengenalkan pemrograman, melatih kemampuan
algoritma dan pemecahan masalah.
Bahasa
Pascal pertama kali dirancang oleh Profesor “Niklaus
Wirth” dari Technical
Uneversity di Zurich, Switzerland pada tahun 1971. Nama Pascal sendiri
terinspirasi nama seorang matematikawan
Perancis, Blaise Pascal yang pertama kali menciptakan mesin penghitung. Bahasa Pascal
kala itu dikembangkan untuk memudahkan para mahasiswa dalam mempelajari pemrogaman secara sistematis.
Mengenal Tools/Framework Pengembangan Program
Seperti yang telah disampaikan
sebelumnya bahwa Pascal termasuk bahasa pemrogaman tingkat tinggi sehingga
dibutuhkan sebuah compiler
atau tools pengembang yang berfungsi menterjemahkan bahasa kedalam bahasa yang dimengerti
komputer.
Beberapa compilerPascal diantaranya GNU Pascal, Free Pascal, Dev Pascal dan Turbo Pascal, dan Delphi.Dari beberapa compiler
tersebut, untuk pembelajaran buku ini menggunakan FreePascal.FreePascal memiliki keunggulan yakni cocok digunakan
untuk berbagai platform
Sistem Operasi diantanya: DOS,Linux, Windows, FreeBSD, PalmOs dan masih
banyak yang lain. Tools ini gratis (freeware) dan dapat didownload di www.freepascal.org. Selain sebagai compiler, kita bisa langsung
menggunakan FreePascal sebagai editor, sehingga kita bisa membuat dan mengedit
kode sekaligus mengkompilasi menjadi sebuah aplikasi.
Berikut ini tampilan program FreePascal yang digunakan hingga pembahasan nanti di kelas

XI.
Installasi Free Pascal
Pernahkan kalian menginstal suatu aplikasi di komputer?Mudah, bukan? Nah sekarang
mari kita melihat bagaimana cara melakukan instalasi Free Pascal.
Sebelumnya download dulu program installasi Free Pascal di alamat website
ressminya, www.freepascal.org. Setelah file installasi selesai didownload, lakukan langkah-langkah berikut.
1. Double klik pada freepascal.exe setelah itu tunggu hingga muncul
tampilan seperti berikut, kemudian klik next.

2.
Kemudian akan muncul
pengaturan untuk memilih lokasi penyimpanan file installasi, secara default akan tersimpan pada folder C tapi
jika ingin mengganti maka klik browse,
kemudian klik next.
3.
Memilih komponen apa saja yang
akan diinstall, pilih full installation agar komponen yang terinstall lengkap,
kemudian klik next.

4. Memilih folder untuk penempatan setup Free Pascal, untuk pengaturan default maka diletakan
di folder Free Pascal, kemudian klik next.

5.
Memilih Additional Task atau fungsi tambahan.

6.
Kemudian muncul kotak info bahwa aplikasi
siap diinstall, kemudian
klik next.

7.
Tunggu hingga proses selesai.

8.

Kemudian akan muncul kotak informasi terkait
Free Pascal. Kemudian klik Next
9.
Klik Finish,
setelah selesai


Setelah selesai double klik icon Free Pascal
dan akan muncul halaman depan seperti ini:
Dengan aplikasi inilah nantinya kita
akan bekerja untuk membuat program, di awali dengan menyusunalgoritmauntuk menentukan input, proses dan output yang dikehendaki kemudian
menuliskan algoritma dalam bentuk kode program menggunakan format bahasa Pascal
(mengkoding), setelah itu mengkompilasi untuk menghasilkan program
dalam bentuk file berekstensi
exe (excutable). Bahasan tentang Struktur Bahasa dan Kompilasi akan dikupas pada kegiatan belajar berikutnya.
Agar mengenal lebih dekat
mengenai Free Pascal, lakukan kegiatan
pada LKS berikut.
LEMBAR KERJA SISWA
Lakukan instruksi kerja berikut!
1.
Lakukan Instalasi Free Pascal sesuai langkah-langkah yang telah dipaparkan sebelumnya. File bisa di unduh di http://www.freepascal.org/download.var.
2.
Setelah selesai coba lakukan
langkah-langkah berikut ini:
a.
Double Click pada ikon Free
Pascal untuk menjalankan aplikasi.
b.
Pada Menu bar pilih File -> New
c.

Kemudian Tuliskan kode berikut
Simpan dengan mengklik
menu File->Save as, kemudian beri nama coba1.pas.

Seperti ini tampilan kode program
kalian.
Setelah itu pada Menu Bar klik Compile, kemudian
pilih Compile lagi, atau tekan tombol pada keyboard Alt+F9. Berikut ini hasilnya.

Dapatkah kalian jelaskan ini proses apa? Apa arti Compile
successful? Coba periksa pada folder di mana file coba1.pas, apakah ada file lain
dengan nama coba1 juga terbentuk, apa ekstensinya?
Jawab:.............................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
d. Kembali ke kode program kalian
di Free Pascal.
Setelah kompilasi berhasil
(sukses), berikutnya klik pada Menu Bar kemudian
pilih Run atau tekan Ctrl
+ F9, apa hasilnya? Jawab:..............................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
e. Dapatkah kalian menyebutkan tujuan program diatas? Apakah output yang
muncul? Jawab:
………………………………………………………………………………………………………
……………………………………………………………………………………………..............
........................................................................................................................................
........................................................................................................................................
3.

Berikut adalah program
perkalian sederhana menggunakan bahasa pascal.
a.
Coba tuliskan kembali program
diatas menggunakan Free Pascal. Setelah itu tekan Alt + F9 untuk mengkompilasi, jika sudah sukses,
tidak ada kesalahan tekan Ctrl+F9 untuk menjalankan programnya. Jelaskan
apa yang dikerjakan program tersebut?
b.
Tuliskan Algoritma dari program
tersebut menggunakan bahasa kalian sendiri (bahasa natural), mulai dari input, proses dan hasilnya sebagaimana pada Semester 1.
Jawab: a.…………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………
…………………………………………………………………………………............................................... b.………………………………………………………………………………………………………………....
……………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………
…………………………………………………………………………………...............................................
1.1.2.4.
Mengasosiasikan
Tuliskan kesimpulan kalian mengenai beberapa
hal berikut.
|
No |
Istilah |
Arti/Keterangan |
|
1 |
Program |
...................................................................................................... ...................................................................................................... ...................................................................................................... |
|
2 |
Bahasa Pemrograman |
...................................................................................................... ...................................................................................................... ...................................................................................................... |
|
3 |
Kompilasi |
...................................................................................................... ...................................................................................................... ...................................................................................................... |
|
4 |
Compiler |
...................................................................................................... ...................................................................................................... |
|
|
|
...................................................................................................... |
|
5 |
Free Pascal |
...................................................................................................... ...................................................................................................... ...................................................................................................... |
|
6 |
Alt+F9 |
...................................................................................................... ...................................................................................................... ...................................................................................................... |
|
7 |
Ctrl+F9 |
...................................................................................................... ...................................................................................................... ...................................................................................................... |
1.1.2.5.
Mengkomunikasikan
Presentasikan hasil LKS dan kesimpulan
kalian di depan kelas, diskusikan
dengan teman- teman sekelas yang lain.
1.1.2.3 Rangkuman
1. Bahasa pemrogaman adalah instruksi standar yang dimengerti komputer dan
digunakan untuk menyampaikan kumpulan
instruksi dalam alur Algoritma program.
2.
Tingkatan bahasa
pemrogaman:
1.
Bahasa Mesin
2.
Bahasa Tingkat Rendah
3.
Bahasa Tingkat Menengah
4. Bahasa Tingkat Tinggi
3.
Untuk bahasa pemrogaman tingkat
tinggi diperlukan adanya jembatan berupa tools atau compiler agar instruksi
dalam bahasa tingkat
tinggi bisa dieksekusi oleh komputer. Contoh compileruntuk Bahasa Pascal adalah Free Pascal.
1.1.3.4 Tugas
Cermati kembali
soal nomer 3, Modifikasi program
tersebut menjadi program
penjumlahan, Jelaskan algoritma penyelesaian program tersebut.
1.1.3.5.
Uji Kompetensi
A.
Soal Pilihan Ganda
Pilihlah jawaban
yang paling benar diantara pilihan
a,b,c,d dan e!
1.
Tingkatan paling rendah suatu bahasa pemrogaman adalah…
a.
Algoritma
b.
Bahasa Pemrogaman
c.
Bahasa Mesin
d.
Bahasa Assembly
e.
Bahasa Tingkat Rendah
2.
Tingkatan bahasa pemrogaman yang menggunakan unsur kata-kata manusia
adalah…
a.
Bahasa Mesin
b.
Bahasa Biner
c.
Bahasa Tingkat Tinggi
d.
Bahasa Tingkat Rendah
e.
Bahasa Menengah
3. Tingkat bahasa pemrogaman yang menggunakan gabungan antara bahasa manusia dengan
kode-kode simbolik adalah…
a. Bahasa Tingkat Tinggi
b.
Bahasa Mesin
c.
Bahasa Rendah
d.
Bahasa Tingkat Menengah
e.
Bahasa Biner
4.
Berikut ini contoh bahasa pemrogaman tingkat tinggi kecuali…
a.
Pascal
b.
PHP
c.
Java
d.
C
e.
Visual Basic
5.
Berikut ini termasuk
tools atau framework pengembangan
pascal kecuali…
a.
Free Pascal
b.
Neat Beans
c.
Delphi
d.
Dev Pascal
e.
Turbo Pascal
B.
Soal Essay
Jawablah dengan benar pertanyaan berikut
ini!
1.
Apa yang dimaksud dengan
bahasa pemrogaman?
2.
Sebutkan fungsi tools/framework bahasa pemrogaman!
3.
Apakah kelebihan tools/framework Free Pascal dibanding yang lain?
4. Sebutkan klasifikasi tingkatan bahasa pemrogaman, dan masing-masing perbedaannya.
5. Sebutkan langka-langkah instalasi Free Pascal!
1.2.
KEGIATAN BELAJAR 2 STRUKTUR BAHASA
PEMROGAMAN PASCAL
1.2.1.
Tujuan Pembelajaran
Siswa memahami
struktur bahasa pemrograman Pascal.
1.2.2.
Aktivitas Kegiatan Belajar
Pada kegiatan sebelumnya kita telah memahami
apa itu bahasa pemrograman dan kaitannya
dengan algoritma, nah kali ini kita akan belajar tentang struktur dan cara
penulisankode program menggunakan Bahasa Pascal. Untuk memahaminyamari lakukan kegiatan
belajar berikut.
1.2.2.1. Mengamati
1.

Perhatikan contoh kode program
penghitung luas lingkaran berikut
2.

Berikut contoh kode program perhitungan diskon
1.2.2.2.
Menanya
Berdasarkan pengamatan kalian di atas,
buatlah pertanyaan-pertanyaan seperti contoh
berikut.
1.
Dari kedua contoh diatas
adakah persamaan dalam hal penulisan
kode program?
2.
Coba kalian sebutkan pada bagian mana saja
yang terlihat sama.
3.
Dari kedua contoh diatas
adakah perbedaan dalam hal
penyusunan program?
4.
Coba kalian sebutkan pada bagian mana saja yang terlihat berbeda!
5.
Bagaimana struktur kode program dalam Pascal?
1.2.2.3.
Mengumpulkan Informasi/Mencoba
Kalian sudah belajar Algoritma pada
materi semester lalu bukan? Nah, pada subab inilah kalian akan mengaplikasikan ilmu yang telah kalian dalami
sebelumnya untuk berlatih membuat suatu
program. Caranya adalah dengan menerjemahkan algoritma baik dalam bentuk
pseudocode, bahasa natural ataupun
flowchart ke bentuk kode (source
code) bahasa
pemrograman tertentu, atau
selanjutnya disingkat kode program saja. Setiap bahasa pemrogaman memiliki
aturan atau tata cara penulisan
kata, ekspresi maupun pernyataan disebut dengan sintaks.
Secara umum, struktur kode dari sebuah program komputer terdiri dari dua bagian utama yaitu bagian judul dan blok program.
Sedangkan blok program terdiri dari bagian deklarasi dan pernyataan. Struktur kode program mirip atau dapat dikatakan
sama denganstruktur algoritma, ada judul,
deklarasi dan pernyataan (deskripsi). Yang membedakan hanya pada aturan
penulisan, di mana dalam bahasa
pemrograman, bahasa yang digunakan sudah baku dan detail, sehingga tidak menoleransi kesalahan-kesalahan kecil yang
tidak sesuai dengan sintaksnya, meskipun hanya titik, koma, atau tanda petik saja.
Contoh struktur kode program
dengan Bahasa Pascal dapat dilihat
pada Gambar 1.1.
Judul Program
Judul
program digunakan untuk mengidentifikasikan nama program yang dibuat. Untuk penulisan judul program sifatnya
optional jadi boleh dicantumkan atau tidak, namun untuk keperluan identifikasi lebih baik judul
ada dan diberi nama sesuai dengan tujuan program. Nama program diawali dengan kata Program, sebagai kata baku dalam
Pascal, diikuti dengan nama program atau identifier.
Aturan pemberian nama identifer,
dalam hal ini termasuk judul
program adalah sebagai
berikut.
1.
Nama identifier harus dimulai dengan karakter huruf alfabet a-z atau A-Z.
2. Setelah karakter pertama, dapat dilanjutkan dengan karakter afanumerik (angka maupun huruf) dan underscore
(_).
3. Dalam penulisan identifier tidak boleh menggunakan karakter-karakter berikut ini.
~ ! @
# $
% ^ & * ( ) + ` - = { } [ ] : " ; ' <>
? , . / |
4.
Tidak boleh menuliskan identifier dengan nama yang sama pada kata kunci
dari Pascal, seperti
and, array, begin, case, const, div, do, downto, else, end, file, for,
forward, function, goto, if, in,
label, mod, nil, not, of, or, packed, procedure, program, record, repeat, set, then,
to, type, until, var, while,
with
5. Jika ingin tetap digunakan, maka kata tersebut harus dirangkai
dengan kata/karakter yang lain. Misal program_if, begin1.
Program
Luas_lingkaran;
Judul Program
|
Program
Luas_lingkaran; |

Gambar 1.1. Struktur kode
program dengan Bahasa Pascal
Berikut ini contoh
pemberian nama Progam yang benar.
Program
LuasLingkaran; Program Luas_Lingkaran Program
Luas2; Program L_uas;
Berikut ini contoh nama program yang salah
Program Luas Lingkaran;
Program Luas-Lingkaran; Program
Luas^Lingkaran. Program 2Luas;
Di akhir nama program harus diikuti
dengan tanda semicolon/titik koma
(;).
Identifier juga digunakan untuk memberi nama variabel ,konstanta, sub program
seperti function dan prosedur, sehingga format penamaan harus sesuai dengan aturan di atas.
Deklarasi Program
Sebagaimana dalam algoritma, bagian
deklarasi adalah bagian persiapan di mana semua hal yang diperlukan oleh program pada bagian deskripsi
didefinisikan di sini. Yang termasuk dari bagain deklarasi
adalah sebagai berikut.
1. Unit, yaitu fungsi-fungsi tambahan dari Pascal,
cara memanggilnya adalah dengan menggunakan kata kunci Uses.
Sebagai contoh pada program di atas adalah penggunaan Uses
crt.Uses crt diperlukan karena kode program menggunakan perintah clrscr
untuk membersihkan layar. Perintah ini disediakan oleh unit crt.
2.
Konstanta, yaitu suatu nilai yang besarnya
tetap (konstan) selama
program dijalankan
3. Deklarasi Variabel, yaitu identifer atau nama-nama untuk menyimpan nilai beserta denan
tipe datanya.
4. Deklarasi Tipe data baru
yang didefinisikan oleh programmer
5.
Prosedur dan fungsi
Penjelasan lengkap mengenai
komponen bagian deklarasi akan dibahas pada Bab 2 nanti.
Bagian Pernyataan/Statement
Pada bagian ini dituliskan urutan-urutan instruksi yang perlu dieksekusi oleh program. Aturan
penulisan;
1. Bagian program inti diawali dengan
Begin(tanpa diikuti tanda baca) dan diakhiri dengan
End (diikuti tanda titik (.) )
2.
Dalam Pascal penggunaan
huruf besar dan kecil tidak dipermasalahkan (tidak sensitive-case)
3. Untuk setiap perintahatau pernyataan, diakhiri
dengan titik koma (;), boleh ada lebih dari 1 pernyataan dalam tiap baris.
Contoh:
Boleh juga dituliskan
Pernyataan1; Pernyataan2;
Pernyataan1;Pernyataan2;
Namun demikian agar penulisan lebih terstruktur dan mudah dalam menemukan adanya kesalahan,
lebih baik satu pernyataan satu baris dan digunakan aturan indentasi
sebagaimana ketika menyusun algoritma
pada Semester 1.
4. Jika ada struktur
percabangan (kondisi bersyarat) atau perulangan dengan lebih dari satu pernyataan, diawali dengan begin dan diakhiri
dengan end dan titik koma
(;)
Contoh:
If (kondisi) then
Begin Pernyataan_If1;
Pernyataan_If2; End;
Jika pernyataan dlam struktur hanya satu saja maka Begin dan End
boleh dihilangkan
If (kondisi) then
Pernyataan_If1;
5. Komentar dituliskan di antara tanda kurung {} Contoh
Program
Luas_lingkaran; {Program ini
menghitung luas lingkaran} uses crt;
varr : integer; L : real;
Tulisan “Program ini menghitung luas lingkaran” tidak akan
tercetak pada program yang sudah jadi, karena diletakkan di antara kurung { } maka ini hanya sebagai
komentra untuk menerangkan bagian Judul mengenai apa
tujuan program. Hal ini memudahkan orang lain untuk memahami atau mengedit program tersebut.
Sebagai tambahan, dalam bahasa Pascal,
penulisan write atau WRITE atau Write dianggap
sama karena tidak case-sensitive seperti
di Bahasa C. Demikian juga dengan nama identifier a atau A, luas atau Luas, Phi atau PHI dianggapsebagai identifier yang sama.
Untuk lebih jelasnya perhatikan contoh-contoh berikut.
Contoh 1

Program Pascal yang paling sederhana adalah sebagai berikut.
Program di atas hanya terdiri
dari begin dan end saja, tapi dapat dijalnkan oleh Pascal, tanpa ada
kesalahan. Namundemikian tidak ada output apapun dalam program ini.
Contoh 2

Program di atas meskipun
tanpa judul dapat dijalankan oleh Pascal, di mana dalam program tersebut menampilkan isi dari variabel a,
yang sudah dideklarasikan di awal. Tulisan di antara kurung { } adalah komentar yang tidak akan dieksekusi oleh
program. Komentar ini bertujuan untuk memberikan informasi
kepada pengguna mengenai
kode program yang dituliskan.
Contoh 3

Program Menghitung Luas Segitiga
Kode program ini lebih lengkap, ada judul, bagian deklarasi,
dan bagian pernyataan. Dari program

diatas maka dapat diketahui algoritma dalam bahasa natural sebagai berikut.
Berikut ini penjelasan kode program satu demi satu.
1.
Judul Program, nama programnya adalah Luas_segitiga
2.
Bagian Deklarasi, diantaranya
ü Uses crt; ini
digunakan untuk menyiapkan
layar di awal program.
ü Var Luas,a,t: real, artinya menyiapkan variabel-variabel seperti Luas, a, t sekaligus tipe
datanya yaitu bilangan real.
3. Bagian Pernyataan, terdiri dari beberapa
urutan instruksi:
ü Begin Digunakan sebagai penanda akan memulai instruksi program
ü Clrscr, digunakan untuk membersihkan
layar
ü Write(‘Masukan nilai
alas=’); Meminta input nilai alas
ü Readln(a); Menyimpan inputan nilai dalam variable a
ü Writeln(‘Masukan nilai tinggi=’); Meminta input nilai tinggi
ü Readln(t); Menyimpan inputan nilai dalam variable t
ü Luas:=1/2 (a * t); Proses perhitungan Luas Segitiga
ü Writeln(‘Luas Segitiganya adalah=’, Luas); Menampilkan luas segitiga
ü End. Digunakan untuk mengakhiri instruksi program.
Agar lebih jelas pemahaman
kalian mengenai struktur kode program
dan sintaks penulisan
dalam bahasa Pascal, kerjakan LKS berikut.
LEMBAR KERJA SISWA
1.

Perhatikan kode program
berikut
a. Tunjukan Nama Program, bagian Deklarasi dan bagian Pernyataan. Apakah
semua bagian sudah lengkap?
Jelaskan bagian-bagain tersebut!
b. Salinlah program tersebut dalam Free Pascal kemudian tekan Alt+ F9
untuk menjalankan program. Bagaimana
hasilnya? Tuliskan semua kesalahan yang muncul dan perbaiki. Ulangi lagi sampai proses kompilasi
sukses. Jika sudah berhasil, maka jalankan program dengan menekan
Ctrl+F9.
c. Setelah menjalankan program
dapatkah kalian tuliskan
Algoritma program Konversi_panjang diatas menggunakan
bahasa natural?
Jawab:
a. ..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
b. ..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
c. ..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
2.

Perhatikan kode Program
berikut!
a. Apakah program diatas sudah lengkap bagian-bagiannya? Coba tunjukan
Nama program, bagian deskripsi
dan bagian pernyataannya!
b. Salinlah program tersebut dalam Free Pascal dan coba kompilasi.
Bagaimana hasilnya? Tulis semua
kesalahan dan perbaiki hinga kompilasi sukses. Jalankan program dengan menekan Ctrl+F9
c. Setelah menjalankan program
dapatkah kalian membaca
hasil keluarannya, kenapa?
Perintah apa yang harus ditambahkan?
Jawab:
a. .......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
b. .......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
c. .......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
1.2.2.4.
Mengasosiasikan
Dari hasil pembahasan dan pekerjaan LKS, tuliskan kesimpulan kalian mengenai hal-hal
berikut.
|
No |
Istilah |
Arti/Keterangan |
|
1 |
Bagian-bagian Kode Program |
...................................................................................................... ...................................................................................................... ...................................................................................................... |
|
2 |
Fungsi Judul
Program |
...................................................................................................... ...................................................................................................... |
|
3 |
Fungsi Bagian
deklarasi |
...................................................................................................... ...................................................................................................... ...................................................................................................... |
|
4 |
Fungsi bagian
pernyataan |
...................................................................................................... ...................................................................................................... ...................................................................................................... |
|
5 |
Identifier |
...................................................................................................... ...................................................................................................... ...................................................................................................... |
|
6 |
Sintaks |
...................................................................................................... |
|
|
|
...................................................................................................... |
|
|
|
...................................................................................................... |
1.2.2.5.
Mengkomunikasikan
Presentasikan hasil pekerjaan
LKS dan kesimpulan kalian di depan kelas, diskusikan dengan
teman-teman sekelas yang lain.
1.2.3.
Rangkuman
Struktur bahasa
pemrogaman pascal terdiri dari:
1.
Judul Program, untuk mengidentifikasi nama program.
2.
Bagian Deklarasi, digunakan untuk mengenalkan berbagai
pengenal atau kebutuhan
yang diperlukan program ketika dijalankan.
3.
Bagian Pernyataan, untuk menjelaskan urutan instruksi dalam menyelesaikan program
1.2.4.
Tugas
Carilah contoh program sederhana menggunakan bahasa pascal,
kemudian coba jelaskan
bagaimana algoritma untuk
menyelesaikan program tersebut,
sebutkan pula struktur progamnya.
1.2.5.
Uji Kompetensi
A.
Soal Pilihan Ganda
Pilihlah jawaban
yang paling benar diantara pilihan
a,b,c,d dan e!
1.
Berikut ini bagian dari struktur
pasccal yang berfungsi untuk
mengidentifikasikan nama
program adalah…
a.
Judul Program
b.
Header Program
c.
Footer Program
d.
Deklarasi
e.
Statement
2.
Bagian dari struktur pasccal yang berfungsi untuk urutan-urutan instruksi yang perlu
dieksekusi oleh program adalah…
a.
Deklarasi
b.
Judul Program
c.
Statement
d.
Header
e.
Content
3.
Bagian dari struktur pasccal yang berfungsi untuk
mengenalkan berbagai pengenal
adalah…
a.
Deklasrasi
b.
Statement
c.
Judul Program
d.
Content
e.
Header
4.
Begin pada struktur pascal berfungsi untuk…
a.
Mengulangi Program
b.
Memulai eksekusi statement
c.
Mengakhiri eksekusi
d.
Menghapus Program
e.
Menghapus Layar
5.
Tanda semicolon ( ; ) pada struktur bahasa pascal digunakan
untuk…
a.
Mendeklarasikan tipe data
variable
b.
Mendeklarasikan nilai
suatu variable
c.
Menutup statement
d.
Memulai Program
e.
Mengakhiri Program
B.
Soal Essay
Jawablah dengan benar pertanyaan berikut
ini!
1.
Apakah yang dimaksud dengan
struktur bahasa pemrograman?
2.
Sebutkan apa saja struktur bahasa
pascal!
3.

Sebutkan aturan penulisan masing-masing bagian pada struktur
bahasa pascal! Cermati soal berikut ini:
4.
Tuliskan kembali program diatas dan tunjukan strukturnya!
5.
Dengan menggunakan bahasa natural
tuliskan alur algoritma
program tersebut!
1.3.
KEGIATAN BELAJAR 3 STANDAR
INPUT OUTPUT
Pada kegiatan belajar sebelumnya kalian
telah memahami struktur kode program dengan bahasa
Pascal. Dalam sebuah kode program terdapat Judul Program, Deklarasi dan
Pernyataan. Pada bagian pernyataan
dituliskan rangkaian instruksi untuk menyelesaikan suatu permasalahan atau program, dimulai dari instruksi untuk
memasukan data atau INPUT data
kemudian data itu diproses atau PROSES data dan menampilkan hasilnya
atau OUTPUT data. Kalian sudah diperkenalkand engan perintah read dan
write di kegiatan belajar sebelumnya. Dua perintah ini adalah standar input dan
output dalam Bahasa Pascal.
1.3.1. Tujuan Pembelajaran
Siswa memahami standar
input dan output
dalam bahasa pemrograman Pascal dan menggunakannya untuk membuat program.
1.3.2. Aktivitas Kegiatan Belajar
1.3.2.1.
Mengamati
Kasus 1
Perhatikan kode program dan keluaran dari dua program
berikut.
1.

Program Pertama
Output:

2.
Program Kedua


Output:
Kasus 2
Hasil menjalankan sebuah kode program,
nampak di layar berupa inputan dan tampilan
berikut.
1.

Program pertama
2. Program Kedua

3.

Program Ketiga
Bilangan 2, 3 dan 4 adalah inputan
dari user sedangkan
Hasil Penjumlahan adalah outputnya.
1.3.2.2.
MENANYA
Setelah mengamati, coba buat pertanyaan seperti pertanyaan berikut
ini:
Kasus1
1.
Apa perbedaan diantara kedua algoritma tampilan hobi program
diatas?
2.
Instruksi apa yang membuat
tampilan dari kedua program berbeda?
3.
Perintah apa saja dalam Pascal untuk menampilkan output? Apa fungsi tiap perintah
input dan bagaimna sintaksnya?
Kasus 2
1.
Apa perbedaan diantara ke dua cara membaca nilai input diatas?
2.
Instruksi apa yang membuat cara membaca nilai inputan di atas?
3.
Perintah apa saja dalam Pascal untuk menampilkan output? Apa fungsi tiap perintah
input dan bagaimna sintaksnya?
1.3.2.3.
Mengumpulkan Informasi/Mencoba
Dalam
pemrograman, secara garis besar ada tiga tahap, yaitu INPUT, PROSES, dan OUTPUT.
Ketiganya terangkai dalam bagian pernyataan dalam kode program. Standar masukan pada Pascal adalah keyboard, sedangkan
standar output dalam Pascal adalah monitor. Artinya dalam Pascal umumnya semua input dimasukkan lewat keyhasilnya
juga pada file. board dan output ditampilkan melalui layar monitor.
Selain itu, dalam Pascal juga dikenal standar input output lain, yaitu dengan melakukan operasi pada
file, artinya kita bisa membaca input
dari file dan mencetak pada file.
Namun demikian pembahasan mengenai operasi file akan dibahasa di kelas XI nanti.
Standar Output.
Lihat kembali
algoritma pada kasus 1

Untuk menampilkan data ke layar digunakan instruksi Write dan Writeln.Apa bedanya?
Kode program 1 hanya menggunakan perintah write sedangkan
kode program 2 menggunakan perintah writeln.
Hasilnya pada kode program satu menghaslkan output semua dalam satu baris,sedangkan kode program 2, satu perintah
cetak ditulis pada satu
baris. Apa kesimpulannya?
Ada
beberapa perbedaan untuk instruksi write
dan writeln:
1.
Writedigunakan untuk menampilkan data ke layar tanpa disertai pergantian
baris baru, jadi data berikutnya akan menyambung pada baris yang sama
2.
Writelndigunakan untuk menampilkan data ke layar kemudian mencetak baris baru.
Perintah write atau writeln dapat digunakan
untuk menuliskan beberapa hal berikut:
a. Nilai Contoh :
Write (5); {menuliskan
nilai bilangan bulat 5} Writeln(‘Halo apa kabar’); {menuliskan string ‘halo apa
kabar’) Write (‘a’); {menuliskan
karakter ‘a’}
Writeln(3.14); {menuliskan
bilangan real 3.14}
b. Variabel
Contoh:
A:=5;
Kata:=’Halo apa kabar’;
StatusLulus:=True;
Write(A); {menuliskan isi variabel A}
Writeln(Kata); {menuliskan isi variabel Kata} Writeln(StatusLulus); {menuliskan isi variabel StatusLulus}
c. operasi nilai-nilai atau variabel Contoh:
writeln(3+2); {menuliskan hasil jumlahan }
write(A*2); {menuliskan hasil
perkalian A*2}
write('Aku'+’Bisa'); {menuliskan string
‘Aku’ diikuti ‘bisa’}
d. Gabungan ketiga bentuk di atas (nilai, variabel, dan operasinya) Contoh:
Write(‘Luas segitiga= ‘, Luas) {menuliskan ‘Luas segitiga = ‘, diikuti
nilai variabel luas} Write(a,b); {menuliskan nilai variabel a diikuti nilai variabel b} Writeln (Hasil penjumlahan adalah ‘, a+b);
Write (‘Luas segitiga
dengan alas ‘, a,
‘dan tinggi ‘, t, ‘adalah ’, Luas);
{menuliskan string diikuti
nilai a, kemudian
string, nilai t, string, dan nilai Luas}
Standar Output
Perhatikan kembali berbagai macam bentuk output pada Kasus 2.
|
2 |
2 3 4 |
2 3 |
|
3 |
Hasil
Penjumlahan =9 |
4 |
|
4 |
|
Hasil
Penjumlahan =9 |
|
Hasil
Penjumlahan =9 |
|
|
Input berupa bilnagan 2, 3, dan 4 dibaca oleh program
melalui perintah membaca input. Dalam Pasca
perintah dasar membaca input adalah Read dan Readln. Apa bedanya? Kode-kode
berikut adalah kode dari pembacaan ketiga
inputan di atas.
|
{Kode 1} Readln(A); Readln(B); Readln (C); Writeln(‘Hasil penjumlahan =’,A+B+C); |
{Kode 2} Read (A); Read(B); Readln(C); Writeln(‘Hasil penjumlahan =’,A+B+C); Alternatif : Readln (A, B, C); Writeln(‘Hasil penjumlahan =’,A+B+C); |
{Kode 3} Read(A); Readln(B); Readln(C); Writeln(‘Hasil penjumlahan =’,A+B+C); Alternatif : Readln
(A, B); Readln (C); Writeln(‘Hasil penjumlahan =’,A+B+C); |
|
Output: |
Output |
Output |
|
2 |
2 3 4 |
2 3 |
|
3 |
Hasil Penjumlahan =9 |
4 |
|
4 |
|
Hasil Penjumlahan =9 |
|
Hasil Penjumlahan =9 |
|
|
Berdasarkan contoh kode program di atas, apa perbedaan
antara perintah read dan readln?
1. Read mengambil/membaca nilai dari layar
yang diinptakan melalui
keyboard menyimpannya dalam variable dan kursor tetap pada baris input.
2.
Readln mengambil/membaca nilai dari layar yang diinputkan
melalui keyboard kemudian
memerintahkan ganti baris (kursor turun pada
baris berikutnya)
Untuk lebih memahami perintah
Write, Writeln, Read dan Readln perhatikan contoh berikut:
![Text Box: Program Latihan1; Uses crt;
Var a: String[30]; b : Integer; c: String[3];
Begin
Clrscr;](file:///C:/Users/Think/AppData/Local/Temp/OICE_88CF49BE-3D83-41A8-BACD-90C3E732287C.0/msohtmlclip1/01/clip_image080.gif)
Contoh1
![Text Box: Program Latihan1; Uses crt;
Var a: String[30]; b : Integer; c: String[3];
Begin
Clrscr;](file:///C:/Users/Think/AppData/Local/Temp/OICE_88CF49BE-3D83-41A8-BACD-90C3E732287C.0/msohtmlclip1/01/clip_image080.gif)

Maka
ketika dijalankan akan muncul:

Mengatur format
penulisan
Secara default, perintah write atau writeln menuliskan
dengan rata kiri, namun kita juga bisa menuliskan
dengan rata kanan, dengan memberikan ruang yang lebih pada data yang akan dituliskan. Perhatikan contoh berikut.

Keluarannya adalah sebagai berikut.

Dengan menambahkan :20 di belakang nilai yang dituliskan
akan memberikan ruang 20 karakter untuk menulis,
sehingga penulisannya menjadi
rata kanan. Ini bisa diterapkan terhadap nilai maupun variabel.
Contoh :
Write (nama:20); {nama adalah variabel bertipe string}
Write(tinggi_badan:10); {ringgi_badan adalah
variabel dengan tipe integer} Write(5/2:10); {menuliskan nilai 5/2
dengan diberikan ruang 10 karakter}
Khusus untuk penulisan bilangan
real, dapat juga dituliskan
format berapa angka di belakang
koma. Misalkan sebagai berikut.
Write(Rerata:10:2)
Artinya
nilai rerata dituliskan pada ruang den an 10 digit
dengan dua angka di belakang koma.
Agar lebih memahami
bagaimna format input dan output, kerjakan
LKS berikut dengan teman sekelompok kalian.
LEMBAR KERJA SISWA
1.
Berikut tampilan suatu program
setelah dijalankan

a. Dengan konsep write dan writeln tuliskan
program yang menampilkan pola bintang diatas,
perintah hanya boleh dituliskan write (‘*’) atau writeln(‘*’) saja, jadi hanya
satu bintang untuk satu kali cetak.
b. Untuk mengetahui kebenaran program maka coba jalankan program tersebut
di Free Pascal
Jawab:
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
2.
![Text Box: Program Latihan1; Uses crt;
Var a: String[30]; b : Integer;
c: String[3]; Begin
Clrscr;
Write(‘Masukan Nama:’); Readln(a); Write(‘Masukan Umur:’); Readln(b);
Write(‘Masukan Pendidikan Terakhir:’);
Readln(c);
Write(‘Nama Saya’,a, ‘Umur Saya’,b, ‘Pendidikan Terakhir:’,c);
Readln; End.](file:///C:/Users/Think/AppData/Local/Temp/OICE_88CF49BE-3D83-41A8-BACD-90C3E732287C.0/msohtmlclip1/01/clip_image088.gif)
Lihat kembali kode program
pada Contoh 1
a. Salin kode program di atas ke dalam Free Pascal,
kemudian ganti write diganti dengan
writeln. Tuliskan bagaimana
outputnya!
b. Jelaskan apa perbedaanya dibandingkan dengan menggunakan perintah write saja,manakah yang lebih sesuai?
Jawab
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
3.
Berikut ini program untuk perhitungan keliling lingkaran.
a. Lengkapilah program berikut
ini, program membaca
inputan jari-jari dan menampilkan hasil
perhitungannya.

b. Untuk mengetahui kebenarannya salin kedalam Free Pascal Jawab:
a. Program Keliling_lingkaran;
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
1.3.2.4.
Mengasosiasikan
Tuliskan kesimpulan kalian mengenai perintah
input dan output pada Bahasa Pascal dengan
melengkapi tabel isian berikut.
|
No |
Istilah |
Arti/Keterangan |
|
1 |
Perintah write () |
...................................................................................................... |
|
|
|
...................................................................................................... |
|
|
|
...................................................................................................... |
|
2 |
Perintah writeln() |
...................................................................................................... |
|
|
|
...................................................................................................... |
|
|
|
...................................................................................................... |
|
3 |
Perintah read() |
...................................................................................................... |
|
|
|
...................................................................................................... |
|
|
|
...................................................................................................... |
|
4 |
Perintah readln() |
...................................................................................................... |
|
|
|
...................................................................................................... |
|
|
|
...................................................................................................... |
|
|
|
|
|
|
|
|
1.3.2.5.
Mengkomunikasikan
Presentasikan hasil pekerjaan kalian di depan kelas, diskusikan dengan temaan sekelas
yang lain.
1.3.3. Rangkuman
1.
Perintah membaca input dalam Bahasa Pascal menggunakan perintah dasar berikut.
a. Read mengambil/membaca nilai dari layar yang diinputakan melalui keyboard
menyimpannya dalam variable
dan kursor tetap pada baris input.
b. Readln mengambil.membaca nilai dari layar yang diinputakan melalui keyboard kemudian
kursor turun pada baris berikutnya
2.
Perintah cetak dalam Bahasa Pascal menggunakan perintah dasar berikut.
a. Write digunakan untuk menampilkan data ke layar tanpa disertai
mencetak baris baru jadi data berikutnya akan menyambung pada baris yang sama
b. Writeln digunakan untuk menampilkan data ke layar kemudian mencetak
baris baru.
1.3.4.
Tugas
1. Buatlah program sederhana untuk mencetak tampilan berikut (tanpa
inputan) Nama : Dwi Septiningsih
Alamat : Solo
Sekolah : SMK Negeri 7 Surakarta
Bidang :
Multimedia Rata-rata UAN : 8.5
2. Buatlah program sederhana untuk membaca inputan bilangan berikut. 1
2 3
4 5 6
7 8 9
10
1.3.5.
Uji Kompetensi
A.
Soal Pilihan Ganda
1. Kode pascal yang digunakan
untuk menampilkan data ke
layar tanpa disertai mencetak baris
baru adalah…
a. Write
b.
Writeln
c.
Read
d.
Readln
e.
Create
2. Kode pascal yang digunakan untuk menampilkan data ke layar disertai
mencetak baris baru adalah…
a.
Create
b.
Createln
c.
Readln
d.
Writeln
e.
Write
3. Kode pascal yang digunakan untuk mengambil/membaca nilai dari layar dan kursor tetap pada baris input adalah…
a. Readln
b.
Read
c.
Create
d.
Createln
e.
Ln
4. Kode pascal yang digunakan untuk mengambil/membaca nilai dari layar dan
kursor tetap pada baris input dan kursor turun pada baris berikutnya adalah…
a. Read
b.
Readln
c.
Createln
d.
Write
e.
Writeln
5.
Untuk menampilkan kata Nama Saya maka kode yang benar adalah…
a.
Read(“Nama Saya”);
b.
Write(Nama Saya);
c.
Write(‘Nama Saya’);
d.
Writeln(Nama Saya).
e.
Readln(Nama Saya)
B.
Soal Essay
Berikut program untuk soal nomer 1- 5.
Program
hitung_nilai; Uses crt;
Var
jumlah_benar, nilai : integer; Begin
1. …………………………………………………………….
2. ………………………………………………………………...
3. ………………………………………………………………..
4. ………………………………………………………………..
5. ………………………………………………………………..
End.
Program
diatas digunakan untuk menghitung nilai ujian pilihan ganda, dimana nilai
diperoleh dari jumlah benar dibagi banyaknya
soal.
1.
Tuliskan kode untuk menampilkan Judul Program
=== NILAI UJIAN MTK ===
2.
Tuliskan kode untuk menampilkan perintah meminta input jumlah soal yang dijawab benar.
3. Tuliskan kode untuk menyimpan jumlah soal yang dijawab benar dalam variable
jumlah_benar
4.
Tuliskan kode untuk menghitung nilai
5.
Tuliskan kode untuk menampilkan hasil perhitungan.
1.4.
KEGIATAN BELAJAR 4 KOMPILASI
PROGRAM DAN PERBAIKAN
KESALAHAN
Di awal Bab kita sudah mengenal istilah
kompilasi program? Masih ingat, kan apa maksud
dari mengkompilasi program?
Kemudian Pernahkah kalian mendapati error saat menjalankan program? Bagaimana cara memperbaikinya? Untuk memahami dan menemukan jawabannya maka mari lakukan kegiatan belajar berikut ini:
1.4.1.
Tujuan Pembelajaran
Siswa
memahami cara mengkompilasi program dan memperbaiki kesalahan-kesalahan penulisan kode program dalam Bahasa Pascal.
1.4.2. Aktivitas Kegiatan belajar
1.4.2.1. Mengamati
1.

Suatu program disusun
sebagai berikut:
Kemudian ketika ditekan Alt + F9 muncul kotak peringatan sebagai
berikut:

Kemudian ketika
ditekan Ctrl + F9
muncul tampilan berikut:

2.

Program yang kedua disusun
sebagai berikut
Kemudian ketika ditekan Alt + F9 muncul kotak peringatan sebagai
berikut:

Kemudian ketika ditekan Ctrl + F9 tampil
peringatan yang sama:

1.4.2.2.
Menanya
Dari hasil
pengamatan kalian di atas,
buatlah pertanyaan seperti contoh berikut.
1. Dari duakode program
di atas, manakah
yang berhasil dikompilasi? Program manakah yang sukses dan dapat
dijalankan?
2. Mengapa ada program
yang bisa sukses
saat di jalankan? Dan mengapa program
yang lain tidak bisa untuk dijalankan?
3.
Apa fungsi perintah untuk menekan Alt + F9 dan Ctrl + F9?
4.
Jika ada pesan Complie failed,
apa artinya? Apa bedanya dengan Compile Successfull?
5. Kesalahan-kesalahan apa sajakah yang sering muncul dalam penulisan kode program dengan
Bahasa Pascal?
6.
Bagaimana memperbaiki kesalahan-kesalahan penulisan dalam bahasa Pascal?
1.4.2.3.
Mengumpulkan Informasi/Mencoba
Mari kita analisa bersama, dari kegiatan
mengamati diatas diberikan dua buah contoh kode program. Kode pertama berhasil dikompilasi, dan dijalankan
programnya dengan baik. Ini berarti tidak
ada kesalahan sintaks atau penulisan pada kode program. Sedangkan pada kode
program kedua ditemukan sebuah
kesalahan dalam penulisan kode program
seperti berikut.

Jika ditekan enter maka program
Free Pascal akan mengarahkan di mana letak
kesalahan, dan apa kesalahan kode tersebut.

Pesan
yang muncul adalah:
“selisih.pas(7,3) Fatal:Syntax error,
“;” expected but “identifier READLN”
for............ ”
, artinya
kesalahan terjadi pada baris 7, kolom
3 di mana diharapkan ada tanda “;” sebelum perintah
readln. Jika ditekan enter maka posisi
kursor akan menuju tempat kesalahan dan kita
dapat memperbaiki langsung
kode program di atas dengan menambahkan tanda “;” sebelum
readln seperti berikut.


Tekan Alt+F9 hasilnya adalah sebagai berikut.
Meskipun
sudah benar, tapi peletakan tanda “;” tadi dapat diperbaiki, dengan meletakkan
tanda “;” pada akhir baris di
atasnya, karena tanda tersebut adalah akhir dari pernyataan pada baris di atasnya.

Kompilasi Program
Pada kegiatan belajar sebelumnya, telah
dijelaskan sekilas mengenai apa itu kompilasi. Yaitu proses menerjemahkan kode program dalam bahasa pemrograman, ke bahasa mesin yang sehingga dapat dimengerti dan dijalankan
oleh komputer. Proses kompilasi sendiri dibantu oleh translator yaitu program yang mengambil inputan sebuah program yang ditulis pada
satu bahasa program ke bahasa yang
lain. Pada bahasa tingkat tinggi termasuk di dalamnya bahasa Pascal translatornya adalah Compiler, di mana salah satunya
adalah Free Pascal.
Dalam proses kompilasi, dilakukan proses pengecekan untuk mengetahui kebenaran
dalam hal penulisan
instruks, apakah sudah sesuai kaidah dan struktur penulisan Bahasa
Pemrogrman tersebut atau belum. Jika belum, maka proses kompilasi tidak akan diteruskan hingga
benar.
Untuk melakukan kompilasi
pada Compiler Free Pascal
maka berikut langkah-langkahnya:
1.
Membuat File baru klik File->New File
2.
Kemudian simpan data klik File->Save beri nama
3.

Setelah itu perhatikan pada
menu bar terapat menu compile pilih compile.
Atau juga bisa
menekan Alt + F9
4. Kemudian untuk menjalankan program maka pada menu bar pilih menu Run atau dengan menekan
Ctrl + F9

Namun demikian meskipun dilihat dari kaidah (sintaks) sudah
benar beldum berarti program yang dihasilkan
sudah benar. Perlu dilihat juga apakah output yang dihasilkan sudah sesuai dengan
yang diharapkan atau belum. Jika belum bisa jadi terjadi
kesalahan di luar sintaks, seperti
kesalahan logika (logical error) atau run-time
error.
Memperbaiki Kesalahan
Dari penjelasan di atas
ada beberapa tipe kesalahan yang mungkin
bisa terjadi. Secara garis besar, kita dapat membedakan jenis kesalahan-kesalahan dalam pembuatan program
sebagai berikut.
1.
Syntax Error
Jenis eror ini adalah jenis yang paling sering dijumpai,
erornya program dikarenakan adanya penulisan
perintah yang diketik tidak sesuai dengan aturan bahasa pemrogaman.Contohnya penulisan
perintah tidak diakhiri
dengan semicolon (;), lupa menyebutkan tipe data pada variabel,
salah dalam penulisan identifer, salah penulisan dalam operator-operator
perhitungan, pemberian tanda titik
atau tanda petik, dan sebagainya. Meskipun sering muncul eror jenis ini pada umumnya mudah untuk diatasi karena Compiler
Messageakan mendeteksi kesalahan pada baris ke berapa, biasanya kesalahan
penulisan ada pada baris tersebut dan atau pada baris sebelum/sesudahnya.
2.
Run-Time Error
Runtime Eror terjadi
manakala program menuliskan kode untuk sesuatu
yang tidak memungkinkan. Misalnya mengakses
file yang tidak ada, terjadi
kesalahan alokasi memori, atau bisa juga bukan karena penulisan progam tapi karena tidak sengaja
menghapus file penting
aplikasi.Untuk eror jenis ini dapat dilakukan pencegahan dengan memberikan validasi
atau penanganan error (error handling/exception) sehingga kesalahan
tidak berakibat berhentinya program di tengah jalan.
3.
Logical Eror
Jenis Eror ini cukup sulit untuk dilacak,
karena biasanya tidak dituliskan kesalahan
pada compiler massage,
namun saat program
dijalankan belum sesuai dengan yang kita harapkan.Untuk mengatasinya maka perlu dilakukan pengecekan secara runtut alur kerja program
yang berkaitan.
Pada pembahasan awal ini kita hanya fokus pada syntax error
saja, sedangkan untuk jenis error 2 dan 3 akan
di bahas pada Bab 5.
Untuk memperjelas pemahaman kalian
mengenai cara memperbaiki kesalahan, khususnya
kesalahan sintaks dalam bahasa Pascal, kerjakan LKS berikut.
LEMBAR KERJA
SISWA
1.

Berikut ini adalah hasil dari kompilasi suatu
program
a.
Apa saja kesalahan yang ada dalam program tersebut?
b.
Bagaimana cara memperbaikinya? Lakuakan pengecekan menggunakan Free Pascal
2.

Salinlah Program berikut kedalam Free Pascal

a. Tuliskan semua kesalahan penulisan pada program
diatas? Tuliskan juga pesan yang muncul untuk setiap
kesalahan.
b. Bagaimana cara memperbaiki kesalahan tersebut? Jawab:
a. ………………………………………………………………………………………………………………
………………………………………………………………………………………………………………
……………………………………………………………………………………………........................
………………………………………………………………………………………………………………
……………………………………………………………………………………………........................
………………………………………………………………………………………………………………
……………………………………………………………………………………………........................
………………………………………………………………………………………………………………
……………………………………………………………………………………………........................ b. ………………………………………………………………………………………………………………
……………………………………………………………………………………………………..............
………………………………………………………………………………………………………….......
1.4.2.4.
Mengasosiasikan
Dari hasil pekerjaan LKS kalin, tuliskan kesalahan-kesalahan sintaks yang sering muncul dalam penulisan kode progam menggunakan Bahasa Pascal.
|
No |
Jenis Kesalahan Sintaks |
|
1 |
............................................................................................................................................... |
|
2 |
............................................................................................................................................... |
|
3 |
............................................................................................................................................... |
|
4 |
............................................................................................................................................... |
|
5 |
............................................................................................................................................... |
|
6 |
............................................................................................................................................... |
|
7 |
............................................................................................................................................... |
|
8 |
............................................................................................................................................... |
1.4.2.5.
Mengkomunikasi
Presentasikan hasil pekerjaan LKS dan kesimpulan
kalian di depan kelas.
1.4.3.
Rangkuman
1. Proses kompilasi adalah
proses menerjemahkan bahasa pemrograman ke bahasa mesin sehingga dapat dijalankan oleh komputer.
2.
Jenis kesalahan yang sering muncul:
Ø Syntax Error
Ø Run-Time Error
Ø Logical Error
3. Cara memperbaiki kesalahan adalah dengan
meneliti kembali sintaks penulisan
maupun alur algoritma
penyelesaian program.
1.4.4.
Tugas
Cari kesalahan-kesalahan sintaks lain yang bisa muncul pada penulisan
algoritma, minimal 3 macam beserta contohnya.
1.4.5. Uji Kompetensi
Soal Essay
Jawablah dengan benar pertanyaan berikut
ini.
1.
Apa yang dimaksud dengan mengkompilasi program?
2.
Bagaimana cara mengkompilasi program menggunakan Free Pascal?
3.
Sebutkan perbedaan antara proses compile dan running?
4.
Bagaimana cara me_Running program pada Free Pascal?
5.
Jelaskan penyebab jenis kesalahan
Syntac Eror !
6.
Bagaimana cara memperbaiki jenis kesalahan Syntac Eror ?
7.
Jelaskan penyebab jenis kesalahan Runtime Eror !
8.
Bagaimana cara memperbaiki jenis kesalahan Runtime Eror ?
9.
Jelaskan Penyebab jenis kesalahan Logical Eror !
10. Bagaimana cara memperbaiki jenis kesalahan Logical
Eror ?

2.1. KEGIATAN BELAJAR 1VARIABEL, TIPE DATA DAN KONSTANTA
Dalam pembahasan di semester satu,
kalian sudah mengenal apa itu variabel dan tipe data, bukan? Bagaimana di Bahasa Pascal? Hal ini tidak jauh berbeda,
hanya sintaks atau penulisan saja yang harus tepat sesuai dengan kaidah pemrograman Bahasa Pascal. Pada pembelajaran ini pembahasan mengenai variabel dan tipe data akan
lebih jelas.
2.1.1. Tujuan Pembelajaran
1.
Siswa memahami penulisan variabel,
tipe data dan konstanta dalam Bahasa Pascal
2.
Siswa mampu menentukan variabel,
tipe data dan konstanta dalam permasalahan pemrograman
2.1.2.
Aktivitas kegiatan belajar
2.1.2.1. Mengamati
Coba kalian
amati dan bandingkan beberapa
kode program berikut :
![Text Box: program biodata;
varnama, alamat : string[30]; umur:integer;
begin
write (‘Masukkan nama Anda:’ );
readln(nama); write(‘Masukkan alamat : ‘); readln(alamat);
write(‘Masukkan Umur Anda:’);
readln(umur);
writeln(‘Nama Anda adalah : ‘, nama); writeln(‘Alamat Anda adalah : ‘, alamat); writeln(‘Umur Anda adalah ‘, umur); readln;](file:///C:/Users/Think/AppData/Local/Temp/OICE_88CF49BE-3D83-41A8-BACD-90C3E732287C.0/msohtmlclip1/01/clip_image120.gif)
Kasus 1
![Text Box: program biodata;
varnama, alamat : string[30]; umur:integer;
begin
write (‘Masukkan nama Anda:’ );
readln(nama); write(‘Masukkan alamat : ‘); readln(alamat);
write(‘Masukkan Umur Anda:’);
readln(umur);
writeln(‘Nama Anda adalah : ‘, nama); writeln(‘Alamat Anda adalah : ‘, alamat); writeln(‘Umur Anda adalah ‘, umur); readln;](file:///C:/Users/Think/AppData/Local/Temp/OICE_88CF49BE-3D83-41A8-BACD-90C3E732287C.0/msohtmlclip1/01/clip_image120.gif)
55
![]()
Kasus 2

Kasus 3

2.1.2.2.
Menanya
Dari ketiga
kode program diatas,
buatlah pertanyaan seperti berikut.
1.
Apa tujuan dari setiap program di atas?
2.
Bagian manakah yang mendeklarasikan variabel?
3.
Variabel apa saja yang ada/diperlukan tiap program? Bagaimana
cara menetukannya?
4.
Apa itu konstanta, bagian manakah yang mendeklarasikan konstanta?
5.
Sebutkan tipe data dari tiap variabel
pada source code di atas! Mengapa harus berbeda-beda?
2.1.2.3.
Mengumpulkan Informasi/Mencoba Variabel
Kalian masih ingat apakah arti variabel?
Iya, variabel adalah suatu nama atau simbol untuk menyimpan sebuah nilai. Atau lebih tepatnya variabel
adalah sebuah nama yang diberikan
oleh programmer yang
berfungsi sebagai tempat penyimpanan data, sehingga dapat dimanipulasi oleh program. Seperti pada contoh pada source code di atas, Progam
Biodata diperlukan variabel nama, alamat dan umur.
Pada program menghitung volume diperlukan variabel r,t, V yang
mewakili jari-jari, tinggi, dan
volume tabung. Sedangkan pada Program UAN diperlukan variabel NilaiMat, NilaiIngg, NilaiInd, rerata, dan stsLulus.
Variabel ini ditentukan sesuai dengan
kebutuhan dari solusi permasalahan. Karena Volume tabung adalah Volume = pr2t, maka tentu kita membutuhkan
variabel untuk mewakili Volume, jari-jari dan tinggi,
dan satu lagi adalah p sebagai konstanta. Jadi ada 3 variabel
dan 1 konstanta.
Demikian juga dengan kelulusan, karena
tergantung dari nilai ketiga mata pelajaran, maka variabel-variabel yang dibentuk
pun menyesuaikan.
Jenis nilai yang disimpan variabel tentu
berbeda-beda sesuai dengan kebutuhan, ingat kembali materi pada semester 1. Variabel namadan alamat tentu
menyimpan nilai berupa susunan huruf, atau yang
dulu dikenalkan sebagai string (dalam
Pascal disebut juga string),
Volume, r, dan t menyimpan nilai
bilangan real, sedangkan variabel nilaiMat, nilaiInd menyimpan nilai bilangan
bulat (mungkin juga bilangan real, sesuai kebutuhan). Jenis-jenis data inilah yang disebut
sebagai TIPE DATA. Oleh karena itu dalam mendeklarasikan variabel harus didefinisikan juga tipe data yang akan digunakan. Hal ini sekaligus
digunakan program untuk menentukan besarnya
memori sebagai tempat penyimpanan variabel
tersebut.
Sintaks Penulisan
Variabel
![]()
Berikut ini adalah sintaks
pendeklarasian variabel.
Jika ada beberapa variabel
dengan tipe data sama, sintaksnya adalah:
![]()

Jika ada beberapa variabel
dengan tipe data berbeda-beda sintaksnya adalah:
Pemberian Nama Variabel
Pemberian nama variabel
sebagaimana pemberian nama identifier seperti
yang dijelaskan pada Bab 1, sebagai
berikut.
1. Nama identifier harus dimulai dengan karakter huruf alfabet a-z atau A-Z.
2. Setelah karakter pertama,
dapat dilanjutkan dengan
karakter afanumerik (angka maupun huruf)
dan underscore (_).
3.
Dalam penulisan identifier tidak boleh menggunakan karakter-karakter berikut ini.
~ ! @
# $
% ^ & * ( ) + ` - = { } [ ] : " ; ' <>
? , . / |
4.
Tidak boleh menuliskan identifier
dengan nama yang sama
pada kata kunci dari Pascal, seperti and, array,
begin, case, const,
div, do, downto,
else, end, file,
for, forward, function, goto, if, in, label, mod, nil, not, of, or, packed, procedure, program, record, repeat,
set, then, to, type, until, var, while,
with
5. Jika ingin tetap digunakan, maka kata tersebut
harus dirangkai dengan kata/karakter yang lain. Misal program_if, begin1.
Aturan tersebut
juga berlaku untuk pemberian nama konstanta, tipe data buatan,
dan sub program (procedure dan function).
Berikut ini contoh pemberian nama variabel yang benar.
Jari_jari, jari2,
Volume_Balok, LuasPersegi,
Luas_segi3, record3.
Berikut ini contoh nama variabel
yang salah
Jari^2, jari-jari,
Volume Balok, p*l, 2jari, alam@t
Konstanta
Variabel dapat diturunkan dari kebutuhan
input, output, dan segala sesuatu yang dilibatkan dalam pengolahan input menjadi output.
Pemberian nilai variabel
dapat dilakukan melalui
perintah baca (input) maupun
dari pernyataan pemberian nilai (assignment), dengan demikian nilai variabel dapat berubah-ubah selama proses dijalankan. Jika diperlukan suatu nilai yang tetap, maka dibutuhkan konstanta. Dalam hal ini, sebagai contoh karena besaran
nilai p adalah tetap, tidak berubahselama perhitungan maka p yang diwakili dengan variabel
Phi dideklarasikan sebagai
konstanta. Jadi konstanta adalah variabel yang mempunyai
nilai tunggal, dimana nilai tunggal tersebut
tidak dapat berubah
ketika program sudah dieksekusi. Sebagaimna juga variabel konstants mempunyai tipe data tertentu
yang menyesuaiakan nilai yang diberikan
dalam deklarasi konstanta.
![]()
Sintaks deklarasi penggunaan konstanta adalah
sebagai berikut :
Contoh deklarasi
konstanta pada beberapa tipe :
ConstA = 100;
ConstPi = 3.14;
ConstOperator = ‘+’;
ConstPesan = ‘Selamat Datang’;
Tipe Data
Tipe data merupakan
klasifikasi jenis data dari variabel
atau object yang terdapat dalam program computer.
Jenis data yang digunakan dalam variabel merupakan
bagian penting dalam pengkodean
pemrograman computer. Ketepatan pemilihan data pada variabel atau konstanta
akan sangat menentukan pemakain
sumber daya komputer (terutama memori komputer). Sehingga dalam pemilihan tipe data yang akan digunakan
dalam variabel dan konstanta akan mempengaruhi efesiensi dan kinerja dari program tersebut.
Secara garis besar tipe data dalam
Pascal dibagi menjadi 3 kategori, yaitu tipe data sederhana (tunggal), Tipe data pointer dan tipe data
terstruktur (stuctured data). Masing-masing kategori dapat dibai lagi menjadi beberapa jenis lagi seperti
pada Gambar 2.1.
1.
Tipe Data Sederhana
Tipe data sederhana merupakan tipe data paling dasar yang
terdapat dalam pascal. Tipe data ini mewakili
satu objek yaitu hanya satu nilai yang dapat disimpan dalam tipe data ini sehingga disebut juga tipe data tunggal. Tipe data sederhana dibagi
menjadi dua yaitu tipe data standar dan User Defined.
a. Standar, merupakan tipe data yang umum dijumpai dalam berbagai bahasa pemrograman. Tipe data standar meliputi
integer, real, character
dan boolean.
1)
Integer
Tipe data integer merupakan tipe data berupa bilangan
bulat. Tipe data ini cocok untuk variabel-variabel
seperti: jumlah anak, bulan, tahun, dan sebagainya. Berat badan, tinggi, suhu, panjang, lebar, nominal uang dapat
juga dimasukkan dalam tipe data ini, meskipun
dapat juga dimasukkan ke dalam tipe data lain seperti bilangan
real.
Dalam bahasa Pemrograman, terkait dengan penggunaan memori untuk menyimpan
variabel, maka tipe data integer, dibagi menjadi beberapa kelas sesuai
dengan kebutuhan. Sebagai contoh untuk variabel
jumlah anak, maka kita dapat memperkirakan batasan
berapa maksimalnya. Jumlah anak biasanya tidak leboh dari 10, maka
dipilih tipe data integer dengan
jangkauan yang kecil, yaitu byte. Sedangkan untuk nominal uang, karena tidak mungkin bernilai negatif, dan
jangkaunnya yang tinggi (bisa
mencapai ratusan juta atau milyar)
bisa digunakan tipe data cardinal,
dan sebagainya. Hal ini penting
untuk diperhatikan agar program kita lebih efisien.
Tabel jenis-jenis tipe data integer dapat
dilihat pada Tabel 2.1.

Gambar 2.1. Macam-macam tipe data
dalam Pascal
Tabel 2.1. Jenis-jenis tipe data
integer yang terdapat
dalam pascal.
|
Tipe |
Batas Bawah |
Batas Atas |
|
Integer |
-32768 |
32767 |
|
Cardinal |
0 |
4294967295 |
|
Smallint |
-128 |
127 |
|
Word |
0 |
65535 |
|
Longint |
-2147483648 |
2147483647 |
|
Byte |
0 |
255 |

Penulisan deklarasi dengan tipe data integer
adalah sebagai berikut
:
2)
Real
Tipe data real merupakan tipe data yang berisi bilangan yang bisa
memuat angka di belakang koma. Berbeda dengan integer yang hanya menyimpan bilangan bulat. Dalam tipe
data real nilai yang tersimpan dapat berupa bilangan desimal. Untuk
mengidentifikasi variabel dengan tipe
data real, dapat dilihat dari operasi yang dibutuhkan dalam proses perhitungan. Jika variabel tersebut
diperoleh dari operasi dari bilngan lain bertipe data real maka tipe datanya juga real. Sebagai
contoh Luas lingkaran, volume tabung dan kerucut termasuk bertipe data real karena melibatkan perkalian
dengan Phi»3.14 sehingga
hasilnya pasti ada angka di belakang koma. Selain itu adanya operasi
bagi (‘/’) juga menghasilkan bilangan
real. Sebagai contoh Luas segitiga
= (alas*tinggi)/2 termasuk
mempunyai tipe data real, demikian
juga rata-rata, suhu konversi dalam Reamur dan Farenheit, karena
melibatkan operasi pembagian.
Selain berdasarkan operasi, variabel dengan tipe data
bilangan real tergantung kebutuhan. Misalkan
menghitung tinggi badan. Kita bisa melakukan pembulatan tanpa koma sehingga tinggi badan bisa kita masukkan tipe data
integer. Jika ingin lebih teliti,
menggunakan koma, bisa menggunakan tipe data real.
Sebagaimana pada tipe data
integer, tipe data bilangan real ini dapat dibagi menjadi
beberapa kelas sesuai dengan
jangkauannya seperti pada Tabel 2.2.
Tabel 2.2. Jenis-jenis tipe data real berdasarkan jangkauannya
|
Tipe |
Batas Bawah |
Batas Atas |
|
Real |
2.9 x 10-39 |
1.7 x 1038 |
|
Single |
1.5 x 10-45 |
3.4 x 1038 |
|
Double |
5.0 x 10-324 |
1.7 x 10308 |
|
Extended |
3.4 x 10-4932 |
1.1 x 104932 |

Sedangkan penulisan deklarasi
variabel dengan tipe data real
adalah sebagai berikut.
3)
Character
Tipe data character
merupakan tipe data yang menyimpan karakter yang
berupa angka maupun huruf. Tipe data
character dalam pascal meliputi char
dan string. Tipe data char hanya
meyimpan 1 karakter saja. Variabel yang cocok untuk tipe data karakter adalah variabel yang nilainya hanya terdiri dari
satu karakter saja, contoh: JenisKelamin (nilainya bisa diwakili ‘L’ untuk laki-laki atau ‘P’ untuk perempuan),
Pilihan yang bernilai iya dan tidak (bisa diwakili
dengan ‘Y’ atau ‘N’), dan lain-lain.
Tipe data string merupakan susunan dari karakter-karakter
dengan batas maksimum 255 karakter,
tipe data string digunakan untuk menyimpan data text, misal nama, alamat dan sebagainya. Penulisan deklarasi variaebl
dengan tipe data characterdan stringadalah sebagai berikut :
![Text Box: var nama_variabel : char; atau
var nama_variabel : string[batasMaksimal];](file:///C:/Users/Think/AppData/Local/Temp/OICE_88CF49BE-3D83-41A8-BACD-90C3E732287C.0/msohtmlclip1/01/clip_image132.gif)
Keterangan: batasMaksimal diganti dengan banyaknya
karakter yang maksimal
dapat ditampung oleh variabel tersebut.
Contoh:
var
Gender:char; var pilihan:char;
var
nama:string[20];
var alamat:string [50];
4)
Boolean
Tipe data Boolean
merupakan tipe data yang hanya mempunyai dua nilai yaitu trueataufalse. Tipe data ini biasanya digunakan
variabel yang hanya mempunyai nilai benar
atau salah saja. Misalkan statusLulus, bisa bernilai True atau False; remidi,
bisa bernilai true atau false, Menikah, bisa bernilai true atau false, pdan sebagainya.
![]()
Penulisan deklarasi variabel dengan tipe data ini adalah ebagai berikut.
b.
User defined
Tipe data ini merupakan tipe data yang dibuat oleh sang programmer. Jadi setiap programmer dapat membuat tipe data baru yang
dibutuhkannya. User defined meliputi enumerated dan subrange.
1)
Enumerated
Tipe data enumerated merupakan tipe data yang didefinisikan
oleh programmer. Hal ini memungkinkan programmer untuk membuat tipe datanya sendiri,
yang terdiri dari kumpulan
symbol. Contoh penulisan code program tipe data enumerated adalah sebagai berikut:

Dari contoh diatas, baris pertama menunjukkan pembuatan
tipe data baru yaitu hari yang berisi
nama-nama hari, kemudian di baris kedua menunjukkan deklarasi penggunaan tipe data yang telah dibuat tadi.
2)
Subrange
Tipe data subrange merupakan
tipe data yang memungkinkan programmer untuk mendefinisikan
beberapa nilai dari tipe data tertentu. Misalkan seorang programmer ingin membuat tipe data nilai yang dimana tipe
data ini berisi bilangan integer dari 1 sampai 10. Contoh penulisan code program tipe data enumerated adalah sebagai berikut:

Dari contoh
diatas, baris pertama
merupakan tipe data baru yang berisi bilangan
integer dari satu sampai 10. Berikut beberapa
contoh lain untuk tipe
data subrange :

2.
Tipe Data Pointer
Sama seperti tipe data sederhana, pointer merupakan tipe
data yang dapat menyimpan satu nilai saja.
Bedanya adalah, sesuai dengan namanya tipe data ini berfungsi menunjuk, yaitu
alamat memori yang digunakan suatu
variabel dengan tipe data tertentu. Misalkan a adalah variabel dengan tipe
data integer. Variabel point adalah
variabel dengan tipe data pointer dari integer. Ketika variabel point diberi nilai dengan alamat a (alamat memori a), maka kita bisa mengubah
isi a melalui variabel point tersebut dengan langsung mengakses
ke memori tanpa melalui variabel
a. Tipe data ini sangat berguna untuk membangun suatu program dengan data
yang dinamis. Lebih jelasnya
akan dipelajari di kelas
XI nanti.
3.
Tipe Data Terstruktur
Berbeda dengan tipe data sederhana dan pointer, yang hanya
dapat menyimpan satu nilai saja, tipe
data terstruktur dapat menyimpan beberapa nilai dalam satu variabel. Tipe data
terstruktur adalah tipe data yang terdiri dari data-data tunggal,
yang diorganisasi oleh suatu tipe data terstruktur. Sebagai contoh, terdapat data
mengenai nilai ulangan 20 anak, apakah kita harus membuat 20 variabel
untuk menyimpan masing-masing nilai tersebut? Tentu ini akan menjadikan program komputer menjadi tidak efisien.
Mungkinkah kita bisa mengumpulkan semua variabel tersebut dalam satu wadah? Iya, bisa yaitu menggunakan tipe data
terstruktur. Inilah pentingnya data terstruktur dalam
algoritma atau pemrograman. Berikut ini jenis-jenis tipe data terstruktur.
a. Array
Array dapat diartikan sebagai larik, atau barisan. Array
digunakan untuk menyimpan banyak data
dengan tipe data yang sama. Sebagai contoh, dalam sebuah algoritma diberikan
input sejumlah data ulangan anak,
misalkan 40 anak. Jika untuk menyimpan data itu salah satu alternatifnya adalah memberikan variabel
Nilai1, Nilai2, dan seterusnya, hingga Nilai40. Bagaimna jika 100 anak? Maka cara ini
sangatlah tidak efisien. Data seperti ini dapat disimpan dalam satu wadah yang disebut dengan Array. Untuk lebih jelasnya
perhatikan ilustrasi berikut :
|
indeks |
1 |
2 |
…. |
n |
|
nilai(indeks) |
nilai(1) |
nilai(2) |
…. |
nilai(n) |
![]()
Elemen pertama Elemen terakhir
Berikut deklarasi
variabel dengan tipe data array pada Pascal.
![Text Box: Typenama_array : Array[nilai array] of tipe_data;](file:///C:/Users/Think/AppData/Local/Temp/OICE_88CF49BE-3D83-41A8-BACD-90C3E732287C.0/msohtmlclip1/01/clip_image139.gif)
![]()
Contoh :
b.
Record
Jika Array hanya mampu menyimpan sejumlah
data yang bertipe
sama, record, bisa menampung datat-data dengan tipe yang berbeda. Sebagai contoh
data seorang siswa, bisa terdiri dari
Nama, Nomor Induk Siswa, Alamat, Tempat Lahir, Jenis Kelamin, Kelas Umur. Agar data tersebut menjadi satu kesatuan
informasi maka perlu suatu wadah untuk menampung tipe data seperti itu, yaitu RECORD.
Berikut deklarasi tipe data
record dalam pascal :

![Text Box: Typebuku = record judul :string[30];
tahun_terbit = integer; pengarang = string[30]; end;](file:///C:/Users/Think/AppData/Local/Temp/OICE_88CF49BE-3D83-41A8-BACD-90C3E732287C.0/msohtmlclip1/01/clip_image142.gif)
Contoh:
c. File
Dalam pemrograman pascal terdapat tipe data file, dimana
data input dan output dari suatu program
dapat disimpan dalam bentuk file.txt. Selain menyimpan pascal daoat juga
membaca dan mengedit file.txt
tersebut. Sebagai contoh kita ingin
memproses suatu nilai ulangan dari 20 anak
yan telah tersimpan dengan format text. Tentunya sangat tidak efisien jika data
harus diinput satu persatu. Agar data
yang sudah ada dapa terbaca dalam pascal maka kita perlu tipe data file. Penjelasan mengenai penggunaan
tipe data ini dibahasa pada Buku Pemrograman
DasarKelas XI.
Berikut ini contoh bagaimana menentukan
variabel dan tipe data dalam suatu permasalahan.
Contoh 1.
Budi seorang programmer di SMP Nusantara akan membuat program
untuk menampilkan data nilai
siswa, dimana data yang akan ditampilkan meliputi : nomor induk siswa, nama
siswa, nilai matematika, nilai bahasa
Indonesia, nilai bahasa inggris dan rata-rata nilai. Dimana data yang diinputkan mempunyai peraturan yaitu
1)
nomor induk siswa terdiri dari 6
karakter,
2)
nama siswa maksimal 30 karakter,
3)
nilai matematika, nilai bahasa
Indonesia dan nilai bahasa inggris merupakan bilangan bulat skala 1 – 100,
4)
rata – rata nilai berupa bilangan desimal dengan dua digit angka di belakang
koma, yang diperoleh dari penjumlahan nilai matematika, bahasa Indonesia dan
bahasa inggris dibagi tiga.
Contoh data yang
akan diinputkan adalah
sebagai berikut :
|
Nomor induk siswa |
: A45789 |
|
Nama Siswa |
: Slamet
Sentosa |
|
Nilai Matematika |
: 80 |
|
Nilai Bahasa Indonesia |
: 76 |
|
Nilai Bahasa
Inggris |
: 70 |
|
Rata – rata nilai |
: 75.33 |
Bantulah budi untuk menentukan variabel dan tipe data yang
tepat dagian deklarasinya dalam Program!
Jawab:
Untuk menentukan
variabel dan tipe data yang tepat,
kita harus memperhatikan data apa saja yang
akan diinputkan ke dalam program. Pada contoh diatas data yang diinputkan
meliputi : nomor induk siswa, nama
siswa, nilai matematika, nilai bahasa Indonesia, nilai bahasa inggris dan rata- rata nilai. Kemudian kita perhatikan
contoh data yang akan diinputkan. Dengan demikian dapat ditentukan variabel dan tipe
data sebagai berikut.
1)
Coba perhatikan data nomor induk
siswa pada contoh di atas. Jika kita perhatikan, data nomor induk siswa terdiri dari 1 huruf dan 5
angka, maka tipe data yang tepat adalah string. Karena string dapat menyimpan
data berupa huruf atau karakter
dan angka. Sehingga
dapat ditentukan nama variabel NIS sebagai string dengan panjang
maksimal 6 karakter.
2)
Kemudian perhatikan data nama
siswa pada contoh diatas. Data nama siswa terdiri dari huruf, maka tipe data yang tepat adalah string. Karena string dapat menyimpan data berupa
huruf atau karakter.Sehingga dapat ditentukan nama variabel Nama sebagai string. Panjangnya dapat diperkirakan
maksimal 30.
3)
Selanjutnya, perhatikan data nilai
matematika. Data tersebut berupa bilangan bulat maka tipe data yang tepat adalah integer. Jika kita
perhatikan, data nilai bahasa Indonesia dan data nilai bahasa inggris mempunyai data yang sama dengan nilai matematika.
Maka tipe data yang tepat adalah
integer. Karena tipe data integer
dapat menyimpan bilangan bulat. Sehingga
dapat ditentukan nama variabel
Nilai_Mat, Nilai_BInd, Nilai_Inggris sebagai integer.
4)
Berikutnya, perhatikan data rata-rata
nilai. Data tersebut
di dapat dari penjumlahan nilai matematika,
bahasa Indonesia dan bahasa inggris dibagi tiga. Karena ada operasi pembagian, maka tipe
data yang tepat adalah
real.
![Text Box: Var NIS : string[6]; Nama: string[30]; Nilai_Mat : integer; Nilai_BInd : integer; Nilai_Inggris : integer; Rerata : real;](file:///C:/Users/Think/AppData/Local/Temp/OICE_88CF49BE-3D83-41A8-BACD-90C3E732287C.0/msohtmlclip1/01/clip_image143.gif)
Deklarasi variabel dan tipe data
Pada nomor induk siswa akan menyimpan data dengan maksimal
6 karakter, sedangkan pada nama siswa
maksimal 30 karakter. Sehingga, walaupun user menginputkan data lebih dari 30 karakter,
maka data yang tersimpan
tetap 30 karakter.
Setelah kita mempelajari tentang tipe data, coba kalian
kerjakan LKS berikut
secara berkelompok.
LEMBAR KERJA SISWA
1.
Roni adalah seorang junior
programmer perusahan di kota solo. Roni ditugaskan untuk membuat program untuk menghitung gaji karyawan.
Program tersebut menampilkan output berupa nomor induk karyawan, nama karyawan, gaji pokok, jumlah
anak, tunjangan anak, tunjangan istri
dan total gaji.
Terdapat ketentauan pada output program yang akan dibuat, diantaranya :
a.
Nomor induk karyawan terdiri dari 4 karakter
b.
Nama karyawan terdiri dari 30
karakter
c.
Tunjangan anak adalah 5 persen dari gaji pokok untuk setiap anak, tunjangan
anak diperoleh dari 5
persen gaji pokok dikalikan jumlah anak.
d.
Tunjangan istri adalah 10 persen
dari gaji pokok
e. Total gaji diperoleh dari hasil penjumlahan gaji pokok, tunjangan anak,
dan tunjangan istri. Berikut contoh output dari program yang akan dibuat
|
Nomor Induk Karyawan Nama Karyawan |
: L953 : Untung
Setia Budi |
|
Gaji Pokok |
: 2000000 |
|
Jumlah Anak |
: 2 |
|
Tunjangan Anak |
: 200000 |
|
Tunjangan Istri |
: 200000 |
|
Total Gaji |
: 2400000 |
Analisalah, tentukan variabel dan jelaskan tipe data yang tepat untuk digunakan pada program tersebut dan deklarasikan tipe data
tersebut pada pemrograman pascal?
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
2.

Terdapat suatu program
dengan source code berikut
ini :
Ketika
budi melakukakan penginputan data nis, program menjadi error dan penginputan
data tidak dapat dilanjutkan. Nis budi adalah A314, tentukan penyebab errornya
program tersebut?. Amati dan temukan
kesalahan sintaks pada kode
program di atas. Beri penjelasan
dan kemudian perbaiki sehingga
kode program di atas menjadi benar.
Jawab:
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
3. Ardan ingin membuat suatu program untuk persewaan CD film yang meliputi
Judul Film, Tahun, Genre, Pemeran,
jumlah copy, rating (Dewasa, Remaja atau Anak-anak), serta status tersedianya, iya atau tidak.
Berikut ini contoh
form isiannya: Judul : Beautiful Mind
Tahun : 2005
Genre : Drama
Pemeran :
Jumlah Copy : 2 Rating : Remaja
Tersedia : True
Bantulah ardan untuk menentukan variabel dan tipe data yang akan digunakan dalam program tersebut?
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
3.1.2.4.
Mengasosiasikan
Berdasarkan Lembar Kerja Siswa di
atas, buatlah kesimpulan mengenai
hal berikut.
1.
Dari mana sajakah kita menurunkan variabel
dalam menyusun kode program?
2.
Pertimbangan apa saja
yang dibutuhkan ketika menentukan tipe data dari variabel
3.
Sebutkan karakteristik variabel
dengan tipe data : integer, real, karakter, string, dan boolean
3.1.2.5.
Mengkomunikasikan
Presentasikan jawaban
kalian di depan kelas, kemudian
diskusikan jawaban kalian dengan teman
anda.
4.3.
Rangkuman
1.
Variabel adalah simbol yang digunakan
untuk menyimpan nilai dalam pemrograman
2.
Tipe data adalah jenis data yang dimiliki oleh variabel
3.
Tipe data terdiri dari tipe data sederhana, tipe data pointer, dan tipe
data terstruktur
4. Tipe data sederhanan terdiri dari tipe data standar
seperti integer, real, character, string,
dan boolean; dan tipe data user defined
seperti enumerator dan range.
5.
Tipe data terstruktur adalah tipe data
yang terdiri dari tipe data-tipe
data tunggal
6.
Tipe data terstruktur meliputi array, record, file dan set.
4.4. Tugas
1.
Buatlah bagian deklarasi variabel dari program berikut.
a.
program menghitung pajak
kendaraaan bermotor, di mana besar pajak ditentukan oleh jenis kendaraan
bermotor, tahun keluaran dan CC kendaraan.
b.
Algoritma menyimpan data koleksi
buku perpustakaan yang terdiri dari judul buku, pengarang, tahun, penerbit, dan harganya.
2. Carilah sebuah formulir pendaftaran, kemudian buatlah variabel sesuai
informasi yang didapat dari formulir tersebut
dan tipe datanya,
kemudian buatlah deklarasi
dalam bahasa pemrograman pascal.
3. Buatlah 5 konstanta dari rumus matematika, fisika, atau kimia yang
kalian ketahui.Dan buatlah deklarasi konstanta tersebut ke dalam pemrograman pascal.
4.5. Uji Kompetensi
A. Pilihan Ganda
1.
Berikutbeberapacontohpenamaanvariabel :
1.
nomor_induk_siswa
2.
namasiswa
3.
alamat
4.
gaji.orangtua
5.
golongan_darah
6.
peringkat.kelas
daricontohdiatasmanakahpenamaanvariabel yang sesuaipadapemrogramanpascal? a. 1,2,3
b. 3,4,6
c. 1,5,6
d. 2,3,4
e. 1,3,5
2.
Diketahuisebuah data dengantipedatanyasebagaiberikut :
1. Nama : ArdanSetiawan 2. No HP : 085477345123
3.
Tinggibadan : 170
4.
BeratBadan : 65.5
5.
Golongandarah : O
A.
String
B.
Integer
C.
Char
D.
Real
E.
Boolean
Manakahpasangan
data dengantipedatanyadibawahini yang benar ?
a. 1-A,2-B,3-C,4-D,5-E
b. 1-A,2-B,3-B,4-D,5-C
c. 1-A,2-A,3-D,4-D,5-C
d. 1-A,2-A,3-B,4-D,5-C
e. 1-C,2-D,3-D,4-B,5-E
3. Budi memiliki data nilaimatematikadari 10 siswa, budiinginmembuat 10 data tersebutmenjadisatutipe data terstruktur. Manakahtipe data terstruktur yang sesuaI denganmasalahdiatas?
a.
Array[1..10] of integer;
b. Array[1..10] of string;
c.
Type
Nilai
= record Nilai1 = integer;
……
Nilai10
= integer; End;
d.
Array [1..10] of real;
e.
Type
Nilai
= record Nilai1 = real;
…….
Nilai10
= real; End;
4. Berikut ini variabel yang pasti mempunyai tipe data real yaitu
....
5.
Di antara variabel-variabel berikut memerlukan tipe data string, kecuali ....
B. Essay

Buatlah bagian deklarasi
daris ebuah program untuk menghitung besar tagihan penggunaan air PDAM, jika pada
struk pembayaran diperoleh
seperti ini.
2.2 KEGIATAN
BELAJAR 2OPERATOR DAN EKSPRESI
Pada semester lalu kalian sudah dikenalkan mengenai
operator dan ekspresi. Masih ingatkah kalian
apa itu operator dan ekspresi?
Pada pembahasan kali ini kita akan menggunakannya dalam menyusun kode program.
1.2.1. Tujuan Pembelajaran
1.
Siswa memahami macam-macam operator dan ekspresi dalam Bahasa Pascal.
2.
Siswa mampu menggunakan operator
dan ekspresi yang tepat dalam
menyelesaikan masalah pemrograman.
1.2.2. Aktivitas Kegiatan Belajar
2.2.2.1. Mengamati

Amatilah kode program berikut :
Berikut ini contoh outputnya.

2.2.2.2.
Menanya
Setelah
mengamati kedua soure code diatas,
buatlah pertanyaan yang berkaitan dengan kedua source code
tersebut, misalkan
1.
Operator apa sajakah
yang digunakan dalam kode program
di atas?
2.
Bagian manakah yang disiebut ekspresi?
3.
Bagian manakah yang disebut assignment?
4.
Mengapa variabel d,e,c, mempunyai tipe
yang berbeda, ada yang integer, real, dan boolean?
5.
Apa maksud a mod b, a mod b =0, dan c:=(a mod b)?
2.2.2.3.
Mengumpulkan Informasi/Mencoba
Dari contoh di atas, ada beberapa
pernyataan yang melibatkan operasi dari dua buah variabel atau lebih, misalkan a*b, a/b, a mod b,
dan (a mod b)=0. Bentuk-bentuk ini disebut sebagai ekspresi, yaitu sesuatu yang jika
dievaluasi/diproses menghasilkan suatu nilai. Sebagai contoh dimasukkan nilai a adalah 30 dan b adalah
5.
a*b memberikan nilai 150 a/b memberikan
nilai 6.00
a mod b mememberikan nilai 0
(a mod b)=0
memberikan nilai TRUE.
Selanjutnya simbol-simbol *, /, mod dan = dsiebut sebagai
operator dan nilai yang dioperasikan disebut operan. Ketika nilai dari ekspresi diberikan
kepada variabel lain maka disebut
sebagai assignment.
d:=a*b; e:=a/b;
c:=(a mod b
=0)
Dalam Pascal assignment ditandai dengan := (titik dua sama
dengan). Selain ituperlu diperhatikan bahwa
operasi yang dilakukan menentukan tipe data dari variabel yang diberi nilai.
Variabel d tetap integer, e bertipe
real, sedangkan c menjadi boolean. Mengapa? Simak jenis-jenis operator berikut untuk mengetahui jawabannya.
Operator
Operator adalah sebuah symbol yang memberitahukan compiler pascal untuk melakukan sebuah operasi matematika maupun operasi
logika. Ada beberapa jenis operator dalam pemrograman pascal diantaranya perator aritmatika, operator relasional, operator Boolean
1. Operator aritmatika
Operator
aritmatika adalah operasi hitung dari bilangan-bilangan. Terdapat dua macam
tipe data bilangan yaitu integer dan
bilangan real. Operator-operator yang berlaku keduanya hampir sama, kecuali untuk bagian pembagian. Berikut
ini adalah operator-operator untuk tipe data integer dan bilangan real.Operator Aritmatika
pada Bilangan Integer
|
Operator |
Keterangan |
Contoh |
|
+ |
Menjumlahan dua
bilangan baik integer maupun real |
7+3=10 |
|
- |
Mengurangi bilangan pertama
dengan bilangan kedua
baik integer maupun real |
7-3=4 |
|
* |
Mengalikan dua bilangan,
baik integer maupun real |
7x3=21 |
|
/ |
Membagi dua
bilangan, baik integer maupun real |
10 / 2 = 5 |
|
Div |
Membagi bilangan integer
pertama dengan bilangan integer kedua, di mana
hasilnya adalah bagian bulat
dari hasil pembagiannya, selanjutnya disebut
pembagian bilangan bulat. |
7 div 3 = 2 |
|
Mod |
Sisa bagi dari hasil pembagian bilangan bulat antara
bilangan pertama dengan
kedua (keduanya integer) |
7 mod 3= 1 |
Perhatikan bahwa 7 = 3 x 2 +1, artinya 7 div 3 =
2 dan 7 mod 3= 1 Contoh program dengan operator
aritmatika


Dari kode program
di atas, dapat dilihat bahwa khusus untuk d bertipe
data real, karena
merupakan hasil pembagian, yang memungkinkan terjadinya bilangan real.
2.
Operator relasional
Operator relasional adalah operator
yang menghubungkan nilai dari variabel.
Hasil ekspresi dengan operator ini adalah nilai kebenaran True atau False. Berikut operator
relasional dalam Pascal.
|
Operator |
Penjelasan |
Contoh |
|
= |
Periksa apakah nilai
keduanya sama |
a=10, periksa apakah nilai variabel a sama dengan
10 |
|
<> |
Periksa apakah nilaia
keduanya tidak sama |
a<>10, periksa apakah
nilai variabel a tidak sama dengan 10 |
|
> |
Periksan apakah nilai pertama lebih besar
dari nilai kedua |
a>10, periksa apakah
nilai variabel a lebih besar10 |
|
< |
Periksan apakah nilai pertama lebih keci
dari nilai kedua |
A<10, periksa apakah nilai variabel a lebih
kecil 10 |
|
>= |
Periksan apakah nilai pertama lebih
besar atau sama dengan nilai kedua |
a>10,
periksa apakah nilai
variabel a lebih
besar sama dengan 10 |
|
<= |
Periksan apakah nilai pertama lebih
kecil atau sama dengan nilai kedua |
A<10,
periksa apakah nilai variabel a lebih
kecil sama dengan 10 |
Operator
relasional tidak hanya berlaku pada tipe data bilangan (integer dan real) namun
berlaku pula untuk tipe data lain seperti
karakter, string maupun boolean.
Sebagai contoh:
‘a’ < ‘c’ memberikan nilai true
if (Nama)=’Dwi’ then ....
If (StatusLulus=True) then ....
While (n>100) do ....
.
Operasi relasional seringkali muncul pada kondisi
bersyarat, yaitu pemenuhan suatu syarat untuk
melakukan proses lanjutan. Meskipun pembahasan kondisi bersyarat masih
pada Bab selanjutnya, tak ada
salahnya kita mengenal bentuknya terlebih dahulu untuk memahami pentingnya
operasi relasional.

Contoh program dengan operator relasional
Pertama kita perhatikan bagian
deklarasi variabel dan tipe data ayng digunakan dalam program di atas. Nama variabel pada program diatas adalah a, b,
c, d, e, f dimana variabel a dan b
menggunakan tipe data integer dan variabel c, d, e, f menggunakan tipe data
Boolean. Mengapa demikian? Perhatikan
main program pada source code di atas, variabel a dan b digunakan untuk menyimpan
nilai berupa angka, maka tipe data yang digunakan adalah integer.
Selanjutnya perhatikan variabel c, d, e, f pada main program, variabel c
nantinya akan menyimpan nilai dari
hasil operasi perbandingan variabel a dan variabel b. Pada variabel c akan terjadi
proses perbandingan apakah
variabel a lebih besar dari variabel b. Jika proses
tersebut dipenuhi artinya variabel a lebih besar dari
variabel b maka variabel c akan bernilai TRUE,
sedangkan jika proses tersebut tidak dipenuhi maka variabel c akan bernilai
FALSE. Selanjutnya variabel d, e, f
akan diproses sesuai dengan operasi relasional yang digunakan. Jika proses tersebut terpenuhi maka akan
bernilai TRUE sedangkan jika tidak terpenuhi maka akan bernilai FALSE.
Dari contoh program diatas kita dapat
mengetahui fungsi dari operator relasional yaitu untuk membandingkan dua nilai yang berbeda. Perbandingan yang terjadi pada dua nilai sesuai
dengan operator relasional yang digunakan. Apabila perbandingan tersebut
terpenuhi maka akan bernilai TRUE, dan
jika tidak terpenuhi akan bernilai
FALSE.
3.
Operator Boolean
Operator
Boolean adalah operator yang digunakan pada sebuah statement. Berikut beberapa operator
Boolean pada pascal :
|
Operator |
Penjelasan |
Contoh |
|
AND |
Jika kedua pernytaan yang dihubungakn
bernilai benar maka hasilnya
adalah benar, jika salah satu saja salah
maka hasilnya adalah salah |
(D<0) AND (a>0), artinya
D kurang dari 0 dan a lebih dari 0 |
|
OR |
Jika salah satu saja
pernytaan benar maka hasilnya adalah
benar, jika keduanya salah maka hasilnya akan salah |
(Umur>=60) OR (Umur<=6), artinya jika umur lebih besar 60 atau
kurang dari 6 |
|
NOT |
Digunakan untuk membalikkan nilai
kebenaran (ingkaran), jika pernytaan
bernilai benar maka
akan menjadi salah dan sebaliknya jika pernytaan salah akan menjadi benar |
NOT(Profesi==”guru”), artinya Profesinya selain guru |

Contoh program dengan operator Boolean
Dari contoh program
diatas dapat kita lihat fungsi dari operator
boolean yaitu untuk memhubungkan dua pernyataan atau lebih. Setiap pernyataan akan diproses apakah pernyataan tersebut bernilai TRUE atau FALSE. Selanjutnya program akan mengoperasikan operasi Boolean pada pernyataan
tersebut, untuk mengetahui
apakah operasi tersebut bernilai
TRUE atau FALSE.
Untuk lebih jelasnya, mengenai operator Boolean dapat
melihat tabel berikut : AND
|
Pernyataan pertama |
Pernyataan kedua |
Hasil |
|
TRUE |
TRUE |
TRUE |
|
TRUE |
FALSE |
FALSE |
|
FALSE |
TRUE |
FALSE |
|
FALSE |
FALSE |
FALSE |
OR
|
Pernyataan pertama |
Pernyataan kedua |
Hasil |
|
TRUE |
TRUE |
TRUE |
|
TRUE |
FALSE |
TRUE |
|
FALSE |
TRUE |
TRUE |
|
FALSE |
FALSE |
FALSE |
NOT
|
PERNYATAAN |
HASIL |
|
TRUE |
FALSE |
|
FLASE |
TRUE |
Setelah kita mempelajari
tentang konstanta, coba kalian kerjakan
LKS berikut secara berkelompok.
LEMBAR KERJA SISWA
1. Siti adalah salah satu siswa kelas 6 di SD MAJU SUKSES, Siti kesulitan
dalam menentukan volume kerucut.
Bantulah siti untuk menentukan volume kerucut dengan membuat suatu program untuk menghitung volume kerucut ?
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
2. Indah seorang pekerja kantoran di sutau perusahaan, disuruh membuat
suatu program untuk menampilkan data
gaji karyawan, dimana data tersebut meliputi : nomor induk karyawan, nama karyawan, jumlah anak, gaji pokok,
tunjangan anak, tunjangan istri,total gaji. Dimana tunjangan anak adalah
5 peren dari gaji pokok untuk setiap anak, tunjangan istri adalah 10
persen dari gaji pokok dan total
gaji adalah penjumlahan dari gaji pokok, tunjangan anak dan tunjangan istri. Bantulah indah untuk membuat program tersebut
?
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
3. Tiga orang pekerja ingin
mebandingkan gaji yang diperolehnya
bulan ini, perbandingan ini untuk menentukan manakah gaji yang paling banyak diperoleh dari tiga pekerja
tersebut. Konsep perbandingan
adalah setiap gaji dari tiga kerja tersebut dibandingkan dengan gaji pekerja
lainnya, sebagai contoh : pekerja
1 membandingkan gajinya
dengan pekerja 2 kemudakian
dibandingkan dengan pekerja 3, apabila gaji pekerja 1 lebih besar dari 2 pekerja lain maka outputnya
adalah TRUE. Begitu pula sebaliknya. Buatkanlah program untuk menentukan
perbandingan tersebut? Apabila gaji pekerja 1 adalah Rp. 2.500.000, pekerja 2 adalah Rp. 2.300.000 dan pekerja 3 adalah Rp. 3.000.000.
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
3.1.2.4. Mengasosiasikan
Berdasarkan Lembar
Kerja Siswa di atas, buatlah
kesimpulan mengenai apa yang kalian
pelajari seperti berikut.
1. Operator adalah
..............................................................................................................................
.........................................................................................................................................................
2.
Macam – macam operator
a. Operator aritmatika adalah ........................................................................................................
...................................................................................................................................................
Operator arimatika
meliputi ........................................................................................................
...................................................................................................................................................
...................................................................................................................................................
b. Operator relasional adalah ........................................................................................................
...................................................................................................................................................
Operator relasional meliputi .......................................................................................................
...................................................................................................................................................
...................................................................................................................................................
c. Operator Boolean adalah ...........................................................................................................
...................................................................................................................................................
Operator Boolean
meliputi ..........................................................................................................
...................................................................................................................................................
...................................................................................................................................................
3.
Cara kerja operator dalam pemrograman
pascal
a. Operator
aritmatika.....................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
b. Operator relasional .....................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
c. Operator Boolean
......................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
4. Ekspresi adalah ...............................................................................................................................
........................................................................................................................................................
5. Assignment adalah ..........................................................................................................................
.........................................................................................................................................................
3.1.3.
Rangkuman
1. Operator adalah sebuah symbol yang memberitahukan compiler
pascal untuk melakukan
sebuah operasi matematika maupun operasi logika
2.
Macam-macam operator: operator aritmatika, operator
relasional, dan operator boolean
3.
Ekspresi adalah sesuai yang dievaluasi
memberikan sebuah nilai
3.1.4.
Tugas
1. Buatlah program untuk mengetahui berapa lama Budi membayar angsuran
sebuah mobil. Jika diketahui harga mobil tersebut
adalah Rp. 375.000.000, gaji Budi tipa bulan adalah Rp.
3.500.000 dengan tunjangan anak sebesar Rp. 350.000 dan tunjangan istri sebesar Rp.
350.000
serta untuk kebutuhan setiap bulan budi adalah Rp 2.750.000.
2. Buatlah sebuah program
untuk menghitung besar tabungan tiap bulan. Besar tabungan dihitung
dengan carasaldo awal ditambah besar bunga yang didapatkan dikurangi dengan biaya
administrasi. Input berupa besar tabungan awal, besarnya prosentase bunga dan
biaya administrasi tiap bulan, outputnya
adalah besar tabungan
akhir.
3.1.5.
Uji Kompetensi
A.
Pilihan Ganda
1.
Diketahuisebuahrumus volume
bolaadalah4 𝜋𝑟3, bagaimanakah penulisan
rumus tersebut
3
dalam
pemrograman pascal? a. 4 / 3 x 3.14 x r3
b. 4 : 3 * 3.14 x r3
c. 4 / 3 * 3.14 * r * r *r
d. 4 / 3 * 3.14 * r3
e. 4 / 3 x 3.14 x r x r x
r
2.
Diketahui kode suatu program adalahsebagaiberikut :
a := 3;
b
:= 2;
c := 5;
nilai1 := a < b; nilai2
:= b < c; nilai3 := a > c;
Apahasildari nilia1, nilai2, nilai3 ketika program
dijalankan ?
a.
TRUE, TRUE, TRUE
b.
TRUE, FALSE, TRUE
c.
FALSE, TRUE, TRUE
d.
FALSE, TRUE, FALSE
e.
FALSE, FALSE, FALSE
3. Perhatikan source code berikut : a =20;
b =10;
c = a + b;
writeln('21 + 10 = ', c ); c = a - b;
writeln('21 - 10 = ', c );
apa yang terjadiketika program
dijalankan?
a.
Program berjalandenganbaik
b.
Terjadi error : illegal expression
c.
Terjadi error pada operator
program
d.
Program berhentiditengah proses
e.
Tidakterjadiapa – apapada program
4. Diketahui source code program sebagaiberikut a := 3;
b := 5;
c := 4;
d := 8;
e := a
> b AND c > d;
Agar nilai e menjadi
TRUE, makarumuspadavariabel e yang benaradalah ........................
a.
e
:= a < b AND c > d;
b.
e
:= a > c AND d > b;
c.
e
:= b < d; AND c > a;
d.
e
:= a > d AND c < b;
e.
e
:= b < c AND a > d;
5.
Boim membuat program dengan
main program sebagai
berikut
a := ‘32’;
b := ‘12’;
c := ‘45’;
d := a+b+c;
Apa hasil dari nilai d ketika program
dijalankan ?
a.
89
b. 322145
c. 98
d. 321245
e. 542123
B.
Essay
Buatlah sebuah program untuk menentukan besar gaji pegawai,
di mana gaji pegawai ditentukan oleh
gaji pokok, tunjangan keluarga, dan upah lembur. Tunjangan keluarga adalah 15 %
dari gaji pokok baik sudah menikah
atau belum. Jika sudah punya anak ditambahkan 5% dari gaji pokok untuk tunjungan tiap anak yang dimiliki.
Upah lembur dihitung banyak hari lembur dikalikan 100 ribu. Inputan berupa nama pegawai, bagian, status menikah,
jumlah anak, jumlah jam lembur. Outputnya adalah total
gaji yang diterimakan.

Pada semester sebelumnya sudah dibahasa
mengenai struktur percabangan atau kondisi bersyarat pada algoritma. Pada pembahasan
kali ini, kita akan menerapkannya pada Bahasa Pemrograman sehingga mengahasilkan suatu program yang dapat digunakan
untuk menyelesaikman permasalahan sehari-hari.
Banyak
permasalahan sehari-hari yang
memerlukan struktur percabangan untuk menyelesaikannya. Misalkan
seorang siswa bisa dikatakan lulus jika rata-rata nilai ujiannya lebih dari
60. Seorang peminjam buku akan dikenai denda jika terlambat mengembalikan buku
pinjaman. Pelanggan listrik
akan didenda jika membayar tagihan
lebih dari tanggal
20. Seorang pengguna
facebook bisa login ke facebook
jika user dan passwordnya benar, dan masih banyak lagi yang lain.
Kesemua permasalahan yang disebutkan di atas memerlukan persyaratan untuk dapat dilanjutkan dengan
sejumlah aksi tertentu. Bisa dikatakan tidak ada program
tanpa struktur percabangan di dalamnya.
Sebagaimana pembahasan pada algoritma, dalam bahasa pemrograman ini struktur percabangan terdiri dari beberapa macam, yaitu percabangan dengan 1 kondisi, 2 kondisi, lebih dari dua kondisi dan percabangan bersarang.
3.1. KEGIATAN BELAJAR 1PERCABANGAN 1 KONDISI
3.1.1. Tujuan Pembelajaran
Siswa memahami struktur
percabangan dengan 1 kondisi pada bahasa pemrograman Pascal dan menggunakannya untuk menyelesaikan permasalahan
sehari-hari.
3.1.2. Aktivitas Kegiatan belajar
3.1.2.1.
Mengamati
Perhatikan permasalahan berikut.
1. Sebuah Toko Baju memberlakukan diskon akhir tahun sebesar 20% untuk
semua koleksi yang dijual. Namun
diskon akan dinaikkan menjadi 25% jika total belanjaan lebih dari 200 ribu rupiah. Untuk itu toko tersebut
membutuhkansebuah program untuk menghitung jumlah uang yang harus dibayarkan oleh pelanggan untuk baju-baju yang telah dibeli.
2. Di sebuah perusahaan gaji pegawai teridri dari gaji pokok, tunjangan
keluarga dan dikurangi 30 ribu untuk asuransi
kesehatan pekerja. Gaji pokok tiap pekerja berbeda-beda sehingga
87
perlu diinputkan oleh operator, sedangkan tunjangan
keluarga dihitung sama untuk semua karyawan, sebesar
10% dari gaji pokok. Khusus
bagi karyawan dengan masa kerja lebih dari 20 tahun maka total gajinya akan ditambahkan dengan tunjangan pengabdian sebesar
500 ribu. Untuk itu persahaan
tersebut membutuhkan program
perhitungan gaji para karyawannya.
3.1.2.2.
Menanya
Dari hasil pengamatan di atas coba buatlah pertanyaan pertanyaan misal :
1. Bagaimana algoritma kedua
permasalahan di atas?
2. Berapa banyak persyaratan pada kedua permasalahn di atas?
3. Manakah persyaratan/kondisi pada kedua
algoritma di atas?
4.
Bagaiamana membuat struktur percabangan di Bahasa Pascal?
3.1.2.3.
Mengumpulkan Informasi/Mencoba
Ingat
kembali algoritma percabangan pada semester 1, di mana dengan pseudocode, struktur percabangan dengan
satu kondisi dapat dituliskan
IF (kondisi)
THEN
Pernyataan1 Pernyataan
2 dst
Jika dilihat pada permasalahan di atas, pada kasus 1,
setiap pembelanjaan dapat diskon sebesar 20%
dari harga normal. Namun jika total belanjaan lebih dari 200 ribu maka
diskonnya menjadi 25%, maka hal
ini dapat dinyatakan
dalam algoritma sebagai
berikut.
Pertama
tentukan semua variabel
terlebih, dahulu. Ada hargaTotalBelanja, prosentase diskon (skala 1-100),
besar diskon, dan
TotalBayar. Selanjutnya dibuat algoritma berikut.
Algoritma DiskonBaju
Variabel hargaNormal, ProsenDiskon,:integer BesarDiskon, hargaAkhir:bilangan real
1)
READ TotalBelanja
2)
ProsenDiskon=20
3) IF (TotalBelanja>=200000)
THEN
4)
ProsenDiskon=25
5)
BesarDiskon=(ProsenDiskon/100)*TotalBelanja
6) TotalBayar=TotalBelanja-BesarDiskon
7) WRITE TotalBayar
8)
END
Mengapa data harga normal, prosen diskon dengan besar
diskon dan harga akhir mempunyai tipe data yang berbeda? Hal ini dikarenakan, dalam perhitungan besar diskon melibatkan operasi / yang akan menghasilkan bilangan real,
sedangkan harga akhir hasil mengurangkan harga normal (integer) dengan harga diskon (real) sehingga menghasilkan bilangan real juga.
Selanjutnya algoritma di atas akan dikonveris ke dalam bahasa pemrograman Pascal.
Karena pseudocode yang kita bahas adalah pseudocode berbasis Pascal, maka tidak ada perubahan
yang berarti. Dalam bahasa pascal,
struktur percabangand engan 1 kondisi
dituliskan,
if (kondisi) then Pernyataan;
Jika pernyataan lebih dari satu maka dituliskan
if (kondisi) then Begin
Pernyataan1; Pernyataan2; dst;
end;

Sekarang kita lihat bagaimana menyajikan algoritma di atas
dalam bahasa Pascal.
Untuk permasalahan kedua kita tinggalkan untuk diskusi pada LKS berikut.
LEMBAR KERJA SISWA
1. Perhatikan kembali
permasalahan kedua
Di sebuah perusahaan gaji pegawai teridri dari gaji pokok,
tunjangan keluarga dan dikurangi 30
ribu untuk asuransi kesehatan pekerja. Gaji pokok tiap pekerja berbeda-beda
sehingga perlu diinputkan oleh
operator, sedangkan tunjangan keluarga dihitung sama untuk semua karyawan,
sebesar 10% dari gaji pokok. Khusus bagi karyawan dengan masa
kerja lebih dari 20 tahun maka total gajinya akan ditambahkan dengan tunjangan pengabdian
sebesar
500 ribu. Untuk itu persahaan
tersebut membutuhkan program
perhitungan gaji para karyawannya.
a. Buatlah algoritma dalam bentuk pseudocode menggunakan struktur
perulangan dengan 1 kondisi, dengan
input: nama karyawan, gaji pokok, masa kerja dan outputnya adalah total gaji
karyawan tersebut.
b. Tuliskan kode pemrograman dalam bahasa Pascal dengan ketentuan sebagai
berikut: Format input:
Nama karyawan : .....................
Besar Gaji Pokok:.....................
Masa Kerja:..............................
FormatOutput:
Total gaji karyawan
bernama Nama_KaryawansebesarRp...... ,00.
c. Kompilasi program yang sudah kalian buat hingga berhasil dijalankan Jawab :
a. Algoritma dalam pseudocode Algoritma GajiKaryawan Variabel ........................................
....................................... 1) READ ..........
2) READ ..........
3) READ ..........
4) Tunj_Keluarga = ...................
5) Total_Gaji = ..........................
6) IF (............. ) THEN
7)
Total_Gaji=Total_Gaji + ..........
8) WRITE
....................
9) END
b.

Kode pemrograman dengan bahasa
Pascal

c. Kompilasi kode program yang sudah dibuat dengan Free Pascal.
Perbaiki hingga kode kalian berhasil.
2. Perhatikan masalah berikut:
Sebuah persewaan komik memberikan batas waktu menyewa
adalah 3 hari dengan biaya sewa per
tiap buku adalah Rp1.500,00. Jika peminjam terlambat maka dikenakan denda sebesar Rp 1000,00 per buku per hari.
Buatlah program persewaan buku tersebut dengan
format tampilan programsebagai berikut.
PROGRAM PERSEWAAN BUKU
Nama Peminjam : ................................................
Jumlah Buku : ................................................
Lama Pengembalian (hari) : ..........
Biaya Sewa : ................................................
Biaya
Denda : ................................................
Total yang harus dibayar
: ...............................................
Ingat, kalian hanya boleh menggunakan percabangan dengan 1 kondisi saja, yaitu
bentuk IF THEN saja, tidak boleh yang lain.
Jawab:
Kalian dapat menggunakan bantuan
kode berikut, yaitu dengan mengsisi
titik-titik yang tersedia, atau sialakan boleh menggunakan ide sendiri jauh lebih baik.

3. Permasalahan berikut diambil dari buku semester 1 Bab 2, pada LKS Kegiatan belajar 1. Subsidi biaya pendidikan diberikan oleh pemerintah kepada semua penduduk
dengan besaran 50 ribu tiap anak tiap bulannya, yang hanya diberikan kepada semua keluarga
yang memiliki anak usia sekolah (6-17 tahun).
Bagi keluarga yang kurang mampu, subsidi dinaikkan menjadi 60 ribu per bulan ditambah dengan bantuan sosial sebesar 100 ribu per bulan. Ukuran keluarga tidak mampu dilihat dari penghasilan dan besarnya konsumsi
listrik tiap bulan.
Keluarga dikatakan kurang
mampu jika penghasilannya kurang dari 1 juta per bulan dan konsumsi listrik kurang dari 100 ribu per bulan.
Buatlah program
dengan Bahasa Pascal
dengan struktur percabangan dengan 1 kondisi,
dengan format input dan output sebagai berikut.
Input:
Nama Kepala Keluarga : ........................................................
Jumlah anak usia sekolah
(6-17 tahun) : .......................................................
Penghasilan per bulan : .......................................................
Konsumsi listrik tiap bulan : .......................................................
Output:
Besar Subdisidi Pendidikan : ..................................................................
Besar bantuan Sosial :..................................................................
Untuk membuat program
ini, kalin bisa membuka lagi algoritma pada pembahasan semester
lalu sehingga dengan mudah
menerapkannya pada bahasa Pascal. Jalankan
program sampai berhasil.
3.1.2.4.
Mengasosiasikan
Dari LKS yang telah kalian kerjakan buatlah kesimpulan mengenai
bagaimna penerapan struktur percabangan dengan satu kondisi pada bahasa Pascal?
3.1.2.5.
Mengkomunikasikan
Presentasikan jawaban
kalian di depan kelas, diskusikan hasilnya dengan kelompok
lain.
3.1.3.
Rangkuman
Struktur percabangan dengan
satu kondisi pada Bahasa Pascal
mempunyai sintaks sebagai
berikut.
if (kondisi) then Pernyataan;
Jika pernyataan lebih dari satu maka
dituliskan
if (kondisi) then Begin
Pernyataan1; Pernyataan2; dst;
end;
3.1.4.
Tugas
2.1.4. Tugas
1. Di suatu daerah ada kebijakan khusus mengenai pembayaran pajak bumi dan
bangunan. Setiap pencatatn pembayaran
pajak dicatat setiap tahun, dan dicatat apakah pembayar pajak selalu tepat waktu atau tidak. Jika tahun lalu pembayar
pajak tidak terlambat membayar dan saat pembayaran juga tidak terlambat maka dia akan mendapat keringanan potongan
sebesar 10% dari nilai pajak ditambah potongan
tunai Rp 10000,00.
Buatlahgkaprogram dengan Bahasa pascal untuk menyelesaikan
permasalahan di atas. Inputnya adalah nama pelanggan, besar pajak yang harus dibayar, status pembayaran tahun lalu
(terlambat atau tidak) dan outputnya adalah Total Besar Pajak yang harus dibayar.
2. Telusuri algoritma berikut.

a.
Tentukan output dari program di atas jika a=44, b=22, c =3
b.
Tentukanlah satu contoh inputan sehingga nilai a,b, dan c tidak berubah, jika bisa.
3. Cari permasalahan yang ada di sekitarmu yang dapat diselesaikan ke dalam bentuk
percabangan 1 kondisi.
Buatlah program dengan bahasa Pascal untuk
menyelesaikannya.
3.1.5. Uji Kompetensi
A.
Pilihan Ganda
1.
Format penulisan struktur percabangan dengan 1 kondisi
di dalam pascal adalah …
a.
if (kondisi) then
Pernyataan;
b.
if (kondisi) do
Pernyataan;
c.
if (kondisi)
Pernyataan;
d.
for(kondisi)then
Pernyataan;
e.
for (kondisi) do
Pernyataan;
2. Perhatikan potongan kode program berikut. diskon:=0;
if harga>500000 then
diskon := harga*0.05; hargatotal:=harga-diskon;
Jika
kita menginputkan harga sebesar 500000 maka nilai harga total menjadi .. a. 475000
b. 500000
c. 25000
d.
0
e. 525000
3. Diberikan potongan kode program berikut. p:=4;
q := 7;
if (p>q) then
p=p-q; writeln(p);
Keluaran dari
algoritma di atas adalah ....
a.
4
b.
7
c.
3
d.
-3
e.
11
4. Perhatikan potongan kode program berikut. if bil<=3 then
write(‘bagus’);
if bil>=3
then
write(‘biasa’);
Jika sebelumnya diberikan nilai bil := 3 maka outputnya
adalah ..
a.
error
b.
Bagus
c.
Biasa
d.
Bagusbiasa
e.
Tidak muncul apa apa
5. Perhatikan potongan kode program berikut. Hasil:=b+c;
If
a>b then begin
c:=a;
b:=a;
a:=c;
end;
hasil:=a-b;
Jika sebelumnya diberikan nilai a:=9
dan b:=3 maka outputnya adalah ...
a.
6
b.
-6
c.
9
d.
3
e.
12
B.
Essay
1. Buatlah program, dimana
user diminta menginputkan 3 bilangan dan outputnya adalah
bilangan terbesar!
3.2.
KEGIATAN BELAJAR 2PERCABANGAN DENGAN
2 KONDISI
3.2.1. Tujuan Pembelajaran
Sisiwa memahami
algoritma percabangan dengan
dua kondisi
3.2.2.
Aktivitas Kegiatan Belajar
3.2.2.1.
Mengamati
Perhatikan
kedua source codeberikut : Kode Program 1


Kode Program 2

3.2.2.2.
Menanya
Dari
kedua source code diatas buat lah pertanyaanseperti :
1. Adakah perbedaan antara 2 source code diatas ?
2. Apakah kedua source code tersebut
jika dibuat program
akan menghasilkan output yang sama?
3. Manakah yang lebih baik di antara kode di atas?
4. Kode 1 menggunakan percabnagan dengan
1 kondisi sedangkan kode 2 menggunakan percabangan dengan
dua kondisi, mengapa disebut demikian?
5.
Bagaimana format penulisan percabangan 2 kondisi dalam Bahasa
pascal?
6. Bagaimna cara kerja dari
percabangan 2 kondisi?
3.2.2.3.
Mengumpulkan Infromasi/Mencoba
Pada dasarnya program di atas adalah
program untuk menyelesaikan permasalahan yang
sama, hanya beda dalam penyajian
saja. Hal ini sebagaimna
pembahasan pada semester
1, bahwa ada percabngan
dengan 1 kondisi, 2 kondisi
atau lebih.
Pada percabangan 1 kondisi, ketika
kondisi dipenuhi maka proses tertentu akan dijalankan, jika tidak maka tidak dilakukan
apa-apa. Padahal dalam kehidupann nyata, permasalahan seringkali terjadi melibatkan dua kondisi.
Misalkan “Jika nilai lebih besar 60 maka lulus, jiak tidak, maka tidak lulus”; “Jika rajin belajar
maka naik kelas, jika tidak maka tinggal kelas”; “Jika bobot truk>=100 ton maka tidak boleh lewat,
jika kurang dari itu boleh lewat”. Kenyatannya seperti itu dalam kehidupan sehari-hari sehingga
percabangan dengan dua kondisi lebih banyak digunakan. Seperti halnya pada contoh di atas, sebenarnya mempunyai dua kondisi,
jika total belanja
<200 ribu maka diskonnya
20% jika lebih besar atau sama dengan 200 ribu maka diskonnya menjadi 25%. Oleh
karena itu pada percabangan dengan 1 kondisi pernyataan
Prosendiskon:=20
diletakkan sebelum struktur if then, karena digunakan
sebagai nilai default dari prosen diskon. Hal
ini dapat disjajikan dalam bentuk yang lebih cocok menggunakan struktur
if then else sebagai bentuk percabangan dengan dua kondisi.
Dalam
percabangan 2 kondisi ini digunakan struktur
if then else. Format penulisannya hampir sama dengan percabangan 1 kondisi bedanya di tambah dengan
else.
Bentuk umum penulisan if then else
sebagai berikut : If (syarat)
then
Pernyataan1
else
Pernyataan2;
Sintaks di atas jika hanya menggunakan pernyataan tunggal untuk setiap syarat. Jika pernyataan
lebih dari satu untuk tiap syarat, maka dapat ditambahkan begin dan end seperti
berikut.
If (syarat1) then begin
Pernyataan1; Pernyataan2;
end
else
begin
Pernyataan3; Pernyataan4;
End;
Cara kerja nya
bisa dijelaskan melalui gambar flowchart
berikut :

Bentuk flowchart
seperti di atas sudah
kita pelajari pada semester sebelumnya.
Agar lebih jelas kerjakan LKS berikut secara
berkelompok.
LEMBAR KERJA SISWA
1. Toko buah membuat suatu promo jika pembeli membeli apel lebih dari 2 kg
dan jeruk lebih dari 3 kg maka akan
mendapat diskon sebesar 10%, pelanggan yang tidak membeli apel lebih dari 2 kg dan jeruk 3 kg maka hanya
mendapatkan diskon 5%. Harga untuk 1 kg jeruk
adalah 10000 sedangkan
harga untuk 1 kg apel
adalah 15000.
a. Dari permasalahan tersebut
kode programnya menggunakan pascal!
b. Jelaskan cara kerja
if di dalam program tersebut! Jawab
a.

Kode Program
b.
Penjelasan:
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
2. Perhatikan kedua source berikut Kode Program
1

Kode Program
2

a.
Inputkan bilangan 3, telusuri
dengan source code 1
b.
Inputkan bilangan 3, telusuri
dengan source code 2
c.
Apakah hasil keduanya sama? Lantas
apa perbedaan keduanya? Manakah yang lebih efektif?
Lihat berapa kali harus memeriksa
syarat, jika banyaknya
pemeriksaan lebih sedikit maka berarti lebih efektif.
jawab
a. Hasil penelusuran source code 1
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
b.
Hasil penelusuran source code 2
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
c.
Penjelasan
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
3. Buatlah program dengan struktur percabangan dengan dua kondisi untuk
permasalahan berikut. (permasalahan ini diambil pada LKS semester
sebelumnya)
Pembayaran gaji karyawan di Perusahaan X terdiri dari 3
komponen utama, gaji Pokok, Tunjangan
masa kerja (TMK), dan tunjunagan keluarga (TK). TMK dihitung berdasarkan masa kerja, jika masa kerja >10 tahun
maka TMKnya adalah 500 ribu jika kurang dari itu TMK 100 ribu. Tunjangan keluarga dilihat dari status, Menikah
atau Belum Menikah, jika sudah menikah maka tunjangannya dihitung sebagai berikut
Tunjangan Istri=10% x Gaji Pokok
Tunjangan Anak=banyakanak x 2,5% xGajiPokok Tunjangan
Keluarga=Tunjangan Istri+Tunjangan Anak
Sehingga
gaji Totalnya adalah Gaji Pokok + Tunjangan masa kerja + Tunjnagan Keluarga Jika belum menikah
maka Tunjangan Keluarga
diganti dengan nama TabunganBerkeluarga sebesar
5% x Gaji Pokok, sehingga
total penerimaan gaji adlah gaji Pokok + Tunjangan Masa kerja
+ Tabungan Berkeluarga.
Kompilasi program
yang sudah kalian buat hingga
berhasil.
3.2.2.4.
Mengasosiasikan
Berdasarkan hasil pembahasan dan pengerjaan LKS kalian, apa yang dapat kalian simpulkan mengenai struktur percabangan dengan
dua kondisi dengan Bahasa Pascal. Jelaskan perbedannya dengan satu kondisi, mana yang lebih sering digunakan?
3.2.2.5.
Mengkomunikasikan
Presentasikan jawaban
kalian di depan kelas, diskusikan dengan kelompok/teman kalian yang lain.
3.2.3.
Rangkuman
Bentuk umum struktur percabnagan dengan dua kondisi
menggunakan bahasa Pascal
adalah sebagai berikut
If (syarat)
then
else
Pernyataan1
Pernyataan2;
untuk pernyataan tunggal
pada tiap syarat, atau If (syarat1) then
begin
Pernyataan1; Pernyataan2;
end
else
begin
Pernyataan3; Pernyataan4;
End;
Untuk pernyataan lebih dari satu untuk tiap syarat.
3.2.4.
Tugas
1.
Diberikan masalah berikut
Di
sebuah loket stasiun menyediakan tiket untuk dua kereta api, bisnis dan ekonomi. Harga tiket masing-masing kereta adalah sebagai berikut
|
Kategori/Kelas |
Bisnis |
Ekonomi |
|
Dewasa |
Rp 100.000,- |
Rp 100.000,- |
|
Anak |
Rp 50.000,- |
Rp 50.000,- |
|
Infant |
Rp 5.000,- |
Rp 5000,- |
Dari masalah di atas dibuatkan sebuah program untuk
menentukan harga tiket, di mana masukan
terdiri dari jenis kereta api yang dipilih, jumlah tiket yang dipesan, terdiri
dari tiket dewasa, anak-anak,
dan infant. Keluarannya adalah besar uang yang harus dibayar.
Tidak berhenti di sini, program juga meminta input berapa
besar uang yang dibayarkan dan mencetak besar kembalian.Buatlah program
dengan Bahasa Pascal
2. Carilah permasalahan di sekitarmu yang dapat diselesaikan dengan
membuat program yang memuat struktur
percabangan dengan dua kondisi.
3.2.5.
Uji Kompetensi
A. Pilihan
ganda
1. Jika seorang pegawai
mempunyai masa kerja lebih dari 5 tahun maka dia akan mendapatkan tambahan gaji sebesar 500000 sedangkan untuk yang lainnya
mendapat tambahan gaji 200000
Penulisan struktur percabangan yang sesuai dengan masalah diatas adalah …
a. if masakerja<=5 then tambahan:=500000;
else
tambahan := 200000;
b. if masakerja<=5 then tambahan:=200000; else
tambahan := 500000;
c. if masakerja>=5 then tambahan:=500000; else
tambahan := 200000;
d.
if masakerja<5 do
tambahan:=500000; else
tambahan := 200000;
e.
if masakerja>5 do
tambahan:=500000; else
tambahan := 200000;
2.
Perhatikan potongan kode program berikut :
if (masakerja>=5) and (gajitotal>3000000) then pajak := gajitotal*0.1;
else
pajak := gajitotal*0.05;
gajibersih := gajitotal-pajak;
Jika Agus sudah bekerja di perusahaan tersebut selama 4,5
tahun dan dikarenakan dia banyak
lembur sehingga gajitotalnya pada bulan ini adalah 3500000 maka gaji bersih
yang diterima agus adalah ….
a. 3482500
b. 3325000
c. 3150000
d. 3500000
e. 3000000
3. Perhatikan potongan kode program berikut if 10<=a<=20 then
write(‘bilangan diantara
10 sampai 20’);
if 21<=a<=40 then
write(‘bilangan diantara 21 sampai 40’); Jika nilai a adalah 9 maka outputnya adalah …
a.
bilangan diantara 10 sampai 20
b.
bilangan diantara 21 sampai 40
c.
program error
d.
tak ada yang terjadi
e.
muncul output bilangan
diantara 10 sampai
20 dan bilangan diantara 21 sampai 40
4.
Perhatikan potongan program berikut
if(1 <=
peringkat) and (peringkat<= 4) then beasiswa:=1000000;
else
if status =
‘kurang mampu’ then
beasiswa := 500000;
Tono selalu mendapat peringkat 1 di kelasnya dan dia
adalah siswa kurang mampu maka
total beasiswa yang di dapat adalah …
a. 1500000
b. 1000000
c. 750000
d. 500000
e. 0
5.
Perhatikan potongan algoritma berikut.
Readln(a);
Readln(b);
if ((a mod 2
=1) or (b mod a=0 ) then begin
c:=a+b d:=a-b end;
else
begin c:=2*a+b
d:=2*b-a end;
writeln(c,’ dan ’, d);
Apa keluaran
berturut-turut c dan dan jika diberikan a=4 dan b = 10
a. 24 dan 16
b.
14 dan 6
c. 14 dan -6
d. 24 dan 4
e.
8
dan 2
Essay
1. Buatlah
program untuk menentukan kelulusan berdasarkan rata-rata nilai UAN yang terdiri
dari matematika, bahasa indonesia,
bahasa inggris. Siswa dinyatakan lulus jika Rata-ratanya lebih besar sama
dengan 60 dan tidak ada nilai
yang kurang dari 50.
3.3.
KEGIATAN BELAJAR 3 PERCABANGAN LEBIH DARI DUA KONDISI
Pembahasan pada materi algoritma
yang lalu telah menjelaskan bagaimana
struktur percabangan dengan
dua macam penyajian, menggunakan struktur if then atau switch of. Secara garis besar, karena pseudocode yang
dibahas adalah pseudocde Pascal-like (mirip Pascal) maka tidak ada perbedaan
yang berbarti. Untuk itu pada pembahasan kali ini lebih banyak latihan
penyelesaian permasalahan.
3.3.1. Tujuan Pembelajaran
Siswa memahami percabangan lebih dari dua kondisi
dengan Bahasa Pascal
3.3.2.
Aktivitas Kegiatan Belajar
3.3.2.1.
Mengamati
Perhatikan masalah
berikut :
1. Perhitungan Gaji
Misalkan di sebuah perusahaan yang bergerak di bidang pemasaran, gaji pegawai dihitung
berdasarkan gaji pokok dan bonus dari omset penjualan
Jika
Omset>100 juta maka bonusnya adalah 1.5%*Omset Penjualan Jika Omset antara 50-100 juta, bonusny adalah 1% *OmsetPenjualan Jika kurang dari 50 juta maka ia tidak
mendapatkan bonus.
Bagaimna mengimplementasikan aturan
tersebut dalam program
komputer?
2.
Persewaan Mobil
Sebuah
persewaan mobil mempunyai 4 jenis koleksi mobil, Avanza, Xenia, Innova dan
Alphard. Biaya persewaan
mobil terdiri dari dua
komponen, yaitu Biaya Sewa dan Biaya Asuransi.
Berikut ini adalah Tabel biaya sewa mobil dan asuransi
|
Jenis Mobil |
Biaya sewa/hari |
Biaya Asuransi |
|
Avanza |
300 ribu |
15 ribu |
|
Xenia |
300 ribu |
15 ribu |
|
Innova |
500 ribu |
25 ribu |
|
Alphard |
750 ribu |
30 ribu |
Akan dirancang sebuah program untuk menghitung biaya
persewan mobil. Algoritma akan meminta
inputan berupa Jenis Mobil yang disewa, dan lama hari menyewa. Asuransi
dihitung sekali bayar untuk berapappun lama peminjaman. Biaya peersewaan dihitung
dengan menjumlahkan total
biaya sewa untuk n hari ditambah dengan biaya asuransi.
3.3.2.2.
Menanya
Dari masalah
diatas coba buatlah pertanyaan pertanyaan misal :
a. Bagaimna menyajikan persyaratan (percabangan) dengan lebih dari dua kondisi dalam bahasa Pascal
b.
Apakah bisa menggunakan bentuk if then else?
c.
Jika dalam algoritma ada bentuk switch of, apakah di
bahasa pemrogrman juga bisa?
d.
Kapan bentuk if then atau switch of digunakan?
3.3.2.3.
Mengumpulkan Informasi/Mencoba
Sebagaimana dalam penyajian
algoritma dengan pseudocode, di Bahasa Pascal kita bisa menggunakan
dua macam struktur untuk menyajian percabangan dengan lebih dari dua kondisi, yaitu dengan menggunakan struktur
if then else if atau dengan menggunakan bentuk switch of.
Struktur if then else if

Dalam pseudocode, percabangan dengan lebih dari dua kondisi dituliskan sebagai berikut.
Sehingga dapat dibuat flowchartnya dalam bentuk sebagai berikut.

Dalam hal ini untuk kasus
dapadt dituliskan flowchart
percabangannya dalam bentuk
berikut.

Demikian juga pada bahasa
Pascal, kita bisa menyajikan permasalahan di atas dalam
sitantks sebagai berikut.


sehingga untuk
permasalahan 1, dapat
dituliskan bagian percabngannya adalah
Bagaimana dengan permasalahan kedua? Pada permasalahan kedua ini,
kondisi jauh lebih banyak, dalam hal
ini ada 5 cabang atau kondisi sesuai dengan banyaknya jenis mobil. Selain itu dalam setiap
cabang ada lebih dari satu
pernyataan sehingga sehingga dapat dituliskan
kode dalam Pascalnya adalah sebagai berikut.
If (jenis_Mobil=’Avanza’) then
Begin
Pernyataan1; Pernyataan2;
End
Else if (jenis_Mobil=’Avanza’) then
Begin
Pernyataan1;
Pernyataan2;
End
Else if (jenis_mobil=’’Innova’) then
Pernyataan1;
Pernyataan2;
End Else
Sehingga dapat dituliskan bentuk flowchartnya adalah
sebagai berikut.
|
................ |
............... |
|
|
|
|
|
Detail program
akan dilanjutkan dalam diskusi
pengerjaan LKS.
Struktur case of
Perhatikan permasalahan kedua, dengan 5 kondisi (percabngan) maka penyajian algoritma
menjadi memanjang ke kanan. Dan ini akan menjadi kurang menarik dan efektif dalam penulisan,
meskipun hasilnya tetap sama. Alternatifnya adalah dengan menggunakan struktur case of sebagai mana pada
pembahasan algoritma.

Secara umum,
sintaks struktur case of adalah sebagai berikut.
Pada struktur case of, seluruh kemungkinan nilai didaftar dan diberikan
pernyataan yang sesuai dengan nilai
yang dimilki variabel. Ini tentu akan lebih efektif dibandingkan menggunakan if then else if secara berulang-ulang.
Kekuranganya bahwa struktur ini hanya bekerja pada variabel dengan tipe data ordinal, yaitu tipe data
yang dapat dihitung, dlam hal ini adalah integer, karakter atau tipe data set (tipe data
terstruktur). Jika variabel yang akan diubah dalam bentuk case of
belum menjadi salah satu bentuk ini maka perlu diubah ke salah satu
bentuk tipe data. Caranya? Sudah kalian
pelajari di pembahasan semester lalu.
Lihat kembali permasalah kedua, yaitu persewaan
mobil. Kita bisa membuatkan menu pilihan untuk mewakili setiap jenis mobil. Misalkan
ditampilkan di awal program
keterangan berikut.

Selanjutnya
kita bisa menggantikan setiap jenis dengan nilai var_pilih dari 1, 2, 3, atau 4
untuk masing-masing kategori
mobil. Dengan ini maka var_pilih
bertipe ordinal, sehingga
dapat diterapkan struktur
case sabagai berikut.


Selain kondisi
berupa data tunggal,
struktur case of juga dapat diterapkan pada interval data ordinal, emisalkan
sebagai berikut. Dalam algoritma penghitungan bonus karyawan berdasarkan omset jual di atas. Agar dapat
diterapkan struktur case of, maka besar omset jual dituliskan sebagai variabel dengan tipe integer (pembulatan) di
mana nilainya dalam satuan juta. Shingga jika variabel omset_jual= 125 artinya 125 juta, sehingga
bonusnya dihitung (1.5/100)*omset_jual*1000000. Sekali lagi, ini adalah salah satu bentuk
strategi untuk memecahkan masalah. Dengan demikian
kita bisa memberikan alternatif solusi kondisi
percabangan adalah sebagai berikut:

Struktur di atas meberikan gambaran bahwa struktur
case of dapat diterapkan pada rentang nilai
dari suatu data ordinal.
Bisa juga dengan
mengggunakan tipe data karakter seperti berikut.


Untuk lebih jelasnya kerjakan
LKS berikut.
LEMBAR KERJA SISWA
1.
Sempurnakan program untuk permasalahan 1 dengan struktur
if then else if!
2.
Sempurnakan program untuk permasalahan 2 dengan struktur if tehn
else if dan case of!
3.
Perhatikan masalah berikut :
Rizal ingin membuat program
untuk menghitung :
-
Luas persegi
-
Luas persegi panjang
-
Luas segitiga
-
Luas lingkaran
Dia ingin membuat user bisa memilih menu, setiap menu akan di digunakan untuk menghitung luas suatu bidang.
a.
Buatlah program yang sesuai dengan keinginan rizal!
b.
Agar lebih jelas lagi terangkan alur programnya dengan flowchart!
3.3.2.4.
Mengasosiasikan
Setelah mengerjakan soal soal diatas tuliskan kesimpulan kalian terkait dengan struktur percabangan dengan lebih dari dua kondisi!
a. Bagaimana penyajian struktur
percabangan dengan bahasa Pascal?
b. Kapan saat yang tepat dalam penggunaan if then else dan case of di dalam percabangan lebih dari 2 kondisi?
c. Apa kelebihan dan kekurangan masing-masing struktur if then else if dan case of.
3.3.2.5.
Mengkomunikasikan
Presentasikan jawaban
kalian di depan
kelas, kelompok lain menanggapi. Jalannya
diskusi dimimbing oleh Guru.
3.3.3.
Rangkuman
Struktur percabangaan dengan lebih dari dua kondisi
1.
Mengguanakan pernyataan if then else if
if (kondisi1) then pernyataan1
2.
Menggunakan pernyataan case of
Case
(variabelpilihan) of Nilai1: pernyataan1;
Nilai2:pernytaan2; Nilai3:pernyataan3;
3.3.4.
Tugas
1. Penilaian di sebuah sekolah
menggunakan format A, B, C, D, dan E
dengan kriteria sebagai berikut
|
Skor |
Huruf |
Kategori |
|
80-100 |
A |
Sangat Baik |
|
70-79 |
B |
Baik |
|
60-69 |
C |
Cukup |
|
40-59 |
D |
Tidak Baik |
|
Kurang dari 40 |
E |
Gagal |
Buatlah programpermasalahan di atas dengan
inputan Nama siswa,
skor dan menampilkan nilai dalam huruf dan kategori prestasinya. Buatlah dua
program, satu dengan struktur if then else if dan
case of.
2. . Buatlah sebuah algoritma
dalam bentuk pseudocode untuk penggajian yang ditentukan berdasarkan lama bekerja sebagai berikut.
|
Lama Kerja |
Gaji Pokok |
Tunjangan Kinerja |
Tunjangan keluarga |
Potongan premi Asuransi |
|
1-5 tahun |
1.200.000 |
20% x gaji
pokok |
15% x gaji
pokok |
15.000 |
|
6-10 tahun |
1.500.000 |
20% x gaji
pokok |
15% x gaji
pokok |
15.000 |
|
10-15 tahun |
2.000.000 |
25% x gaji
pokok |
15% x gaji
pokok |
20.000 |
|
Lebih dari |
3.000.000 |
25% x gaji
pokok |
15% x gaji
pokok |
20.000 |
|
15 tahun |
|
|
|
|
Diasumsikan
semua pegawai mendapatkan Tunjangan Kinerja dan tunjangan keluarga. Keseluruhan penerimaan gaji dipotong
premi asuransi.
a. Buatlah program dengan struktur CASE OF.
3. Temukan sebuah permasalahan yang memerlukan percabangan dengan lebih dari dua kondisi. Buat program penyelesainnyamasing-masing dengan
pernyataan if then else dan case of.
3.3.5.
Uji Kompetensi
1. Perhatikan potongan kode program berikut. case nilai of
38..48:write('E');
49..59:write('D');
60..70:write('C');
71..81:write('B');
else write('A')
end;
saat kita menginputkan nilai 100 outputnya
adalah …
a.
A
b.
B
c.
C
d.
D
e.
tidak ada
2. Perhatikan potongan kode program berikut : if nilai>=70 then
write(‘bagus’)
else if nilai> =60 then
write(‘cukup’);
ifnilai <60 then
write(‘remidi’);
else write(‘tidak remidi’);
Jika nilainya adalah 65 maka outputnya
adalah:
a. bagus
b. cukup
c. tidak remidi
d. cukup tidak remidi
e. remidi
3.
Jika aturan penilaian sebagai berikut
Jika nilai >=70 maka dicetak “bagus”
Jika 60<=nilai<70 maka dicetak “cukup” Jika kurang dari 60 maka dicetak “remidi”
Jika aturan tersebut
ditulis dengan menggunakan case of menjadi
…
a.
case nilai of
0-61:write(‘remidi’);
60-70:write(‘cukup’);
70-100:write(‘bagus’); end;
b.
case nilai of
0..59:write(‘remidi’);
60..69:write(‘cukup’);
70..100:write(‘bagus’);
end;
c.
case nilai of
0..60:write(‘remidi’);
61..70:write(‘cukup’);
71..100:write(‘bagus’);
end;
d.
case nilai of
0-60:write(‘remidi’);
61-70:write(‘cukup’);
71-100:write(‘bagus’); end;
e.
case nilai of
0<61:write(‘remidi’); 60<70:write(‘cukup’); 70<100:write(‘bagus’); end;
4. Case pilihan of '1':
hasil:=a+b; '2': hasil:=a-b; '3':hasil:=a*b; Elsehasil:=a/b; end;
Jika input a =15, b=3 dan
pilihan=5 maka outputnya adalah...
a.
18
b.
13
c.
45
d.
3
e.
0
5. Perhatikan potongan kode program berikut. Case tahun of
2000..2004: pajak:=150000;
2005..2009: pajak:=200000;
2010..2012: pajak:=300000;
2013..2014: pajak:=350000;
End;
Jika
aji membeli motor pada tahun 2007 maka dia harus membayar pajak motornya sebesar...
a. 150000
b. 200000
c. 300000
d. 350000
e. Tidak ada
Essay
1. Buatlah program dimana pengguna dapat memilih menghitung volume kubus, volume tabung dan volume
bola!
3.4. KEGIATAN BELAJAR 4 PERCABANGAN BERSARANG
3.4.1. Tujuan Pembelajaran
Siswa memahami percabnagan tersarang pada bahasa Pascal.
3.4.2.
Aktivitas Kegiatan Belajar
3.4.2.1.
Mengamati
Diberikan masalah sebagai berikut :
Sebuah
dealer memberikan daftar harga per merk berikut
adalah daftar harga motor di dealer
tersebut:
a.
Honda
Supra x 125 : 15000000
Megapro 18000000
Tiger 25000000
b. Yamaha
Jupiter 17000000
Mio 13000000
Vixion 22000000
c. Suzuki
Nex 12000000
Satria FU 18000000
Smash 13000000
Dari Ketentuan
diatas akan dibuat algoritma untuk mengetahui harga motor yang di pilih pelanggan.
3.4.2.2.
Menanya
Buatlah pertanyaan dari masalah diatas misal :
a. Bagaimana cara menyingkat penulisan menggunakan if bersarang?
b.
Bagaimana bentuk umum if bersarang?
c. Apakah bisa menggunakan case of pada if bersarang?
Pembahasan
If bersarang atau nested if adalah percabangan di dalam
percabangan. Kita bisa memasukkan struktur
if then di dalam struktur if then yang lain sehingga bisa membentuk sesuatu
yang lebih kompleks berbeda
saat kita hanya menggunakan percabanganbiasa. Bentuk umum dari if bersarang
adalah sebagai berikut :


Perhatikan contoh di atas, kita bisa membagi
permasalhan dulu berdasarkan pabrikan, yaitu Honda,Yamaha, dan Suzuki, selan,kjutnya
tiap-tiap pabrikan dipecah lagi berdasarkan jenis motor. Misalkan Honda menjadi Supra, megapro, dan Tiger; Yamaha menjadi
Jupiter, Mio dan Vixion. Dengan demikian
kita dapat menusliskan struktur
algoritma seperti berikut.

Flowchart dari struktur di atas
adalahseperti Gambar 3.1.
Agar lebih praktis,
kita daoat menggunakan struktur
case of untuk salah satu kategori apakah pabrikan atau tipe atau
keduanyaUntuk percabangan case of
untuk variabel pabrikan. Pertama tentu kita harus memberikan daftar menu pilihan pada bagian awal seperti berikut.
Jenis-jenis motor berdasarkan
pabrika:
1. Honda
2. Yamaha
3.
Suzuki
Masukkan nomor pabrikan
motor yang akan dibeli......... {input dari pengguna, dibaca
sebagai
pilihanmerk}
Jika user memasukkan angka 1,
maka user dihadapkan pada menu tipe motor untuk merk Honda
Tipe Motor merk Honda
1.
Supra
2. Megapro
3. Tiger
Masukkan nomor tipe motor
yang akan dibeli...... {input dari pengguna dibaca sebagai
pilihantipe}

Gambar 3.1. Flowchart percabangan bersarang
Begitu
juga dengan Merk Yamaha dan Suzuki. Tipe Motor merk yamaha
1.
Jupiter
2. Mio
3.
Vixion
Masukkan nomor tipe motor
yang akan dibeli...... {input dari pengguna dibaca sebagai
pilihantipe}
Tipe Motor merk Suzuki
1. Nex
2.
Satria
3.
Smash
Masukkan nomor tipe motor yang akan dibeli...... {input dari pengguna dibaca sebagai
pilihantipe}

Selanjutnya dapat dibentuk struktur case of nya sebagai berikut.
Kelebihan dari penggunaan menu adalah
bahwa dengan menomori menu maka tingkat kesalhan
memasukkan input oleh user dapat diminimalisir. Karena user mengetikkan
‘Honda’, atau ‘HONDA’ atau ‘honda’ dibaca
sebagai inputan yang berbeda sehingga
bisa jadi dengan maksud
yang sama tapi hasil yang dikehendaki bisa lain. Oleh karena itu penggunaan penomoran menu sangat diperlukan untuk kasus-kasus seperti ini.
Untuk lebih memperjelas pemahaman
kalian kerjakan LKS berikut secara berkelompok.
LEMBAR KERJA SISWA
1. Sempurnakan kode program
pada permasalahan di atas dengan dua macam struktur
if then else dan case of.
2.
Buatlah pogram untuk menentukan
besari hadiah lomba lari untuk tiga kategori
umur.
|
Kategori Umur |
Juara |
||
|
1 |
2 |
3 |
|
|
12-15 tahun |
3 juta |
2 juta |
1,5 juta |
|
16-21 tahun |
4 juta |
3 juta |
2 jura |
|
Di atas 21
tahun |
5 juta |
4 juta |
3 juta |
3.4.2.3.
Mengasosiasikan
Berdsarkan hasil pembahasan dan pengerjaan LKS di atas, tuliskan kesimpulan mengenai beberapa hal berikut.
1.
Kapan percabangan bersarang diperlukan?
2. Bagaimna sintaks percabangan bersarang pada Bahasa
Pascal? Struktur apa saja yang dapat digunakan?
3. Apa kelebihan dan kekurangan struktur
if then else dan case of untuk percabangan bersarang?
3.4.2.5. Mengkomunikasikan
Presentasikan jawaban
kalian di depan
kelas, kelompok lain menanggapi. Jalannya
diskusi dimimbing oleh Guru.
3.4.3.
Rangkuman
1.
Percabangan tersarang adalah struktur
percabangan di mana ada percabangan di dalam percabangan
2.
Percabangan tersarang dapat menggunakan strukttur if then else atau case of atau gabungan
keduanya
3.4.4.
Tugas
1.
Misalkan Tabel berikut adalah tabel mengenai besaran
pajak kendaraan bermotor
dilihat
|
Jenis Kendaraan Bermotor |
Tahun Keluaran |
||
|
Lebih dari 2012 |
2008-2012 |
<2008 |
|
|
Bebek |
220 ribu |
195 ribu |
180 ribu |
|
Matic |
225 ribu |
205 ribu |
190 ribu |
|
Sport |
240 ribu |
225 ribu |
200 ribu |
Buatlah program untuk menentukan besarnya
biaya pajak berdasrkan tabel di atas.
2.Misalkan di sebuah perusahaan sistem penggajian adalah berdasarkan masa kerja dan golongan. Masa kerja menentukan gaji pokok, sedangkan
golongan pegawai menentukan tunjangan jabatan. Gaji pokok menurut Masa kerja adalah
sebagai berikut.
|
Masa Kerja |
Gaji Pokok |
|
Kurang dari 5 tahun |
2.000.000 |
|
6-10 tahun |
2.500.000 |
|
Lebih dari 10
tahun |
3.000.000 |
Tunjangan jabatan
menurut Golongan pegawai
adalah sebagai berikut
|
Golongan |
Tunjangan |
|
1 |
1.000.000 |
|
2 |
1.500.000 |
|
3 |
2.000.000 |
Selain itu setiap pegawai mendapatkan tunjangan keluarga sebesar 15 % dari gaji pokok.
Susunlah sebuah program yang meminta masukan
berupa nama pegawai,
masa kerja dan Golongan pegawai
dan menampilkan output berupa penerimaan gaji tiap
bulan.
3.
Carilah masalah yang memerlukan percabangan bersarang, buatlah program untukmenyelesaikannya.
3.4.5.
Uji Kompetensi
Buatlah program dengan algoritma
tersarang untuk menentukan
besar tarif dasar listrik berdasarkan tabel berikut.
|
Kategori Pemakai |
Besaran tarif
untuk tiap Daya (per kWh) |
||
|
900 VA |
1300 VA |
2200 VA |
|
|
Rumah Tangga |
500 |
700 |
1000 |
|
Perusahaan |
800 |
1000 |
1200 |
|
Fasilitas Umum |
400 |
500 |
700 |
Program dibuat dengan meminta inputan berupa nama
pelanggan, nomor meteran, kategori, besar daya, jumlah pemakaian (dalam kWh). Outputnya
adalah besar tagihan
listrik yang harus dibayarkan.

Apa yang terjadi apabila seorang programmer
ingin membuat sebuah proses yang sama tapi
dalam jumlah yang lebih banyak? Apakah dia harus menuliskan nya berulang kali?
Ternyata, untuk menyelesaikan masalah ini, kita hanya perlu menggunakan sebuah struktur control
pengulangan. Lalu apa fungsi dari struktur
control pengulangan itu?
Struktur perulangan atau biasa disebut
dengan looping digunakan untuk mengatur proses
yang dijalankan secara berulang-ulang. Sehingga programmer tidak perlu
menuliskan script nya secara berulang
kali. Struktur kontrol perulangan mengijinkan kita untuk mengeksekusi sebuah statement
atau sekelompok statement
dalam jumlah yang banyak.
Pembahasan mengenai apa itu struktur perulangan dalam Algoritma sudah dijelaskan dengan detail di semester 1, termasuk apa
itu perulangan, bagaimna bentuk-bentuknya. Pada bab ini kita akan mengimplementasikan algoritma
perulangan tersebut dalam kode bahasa Pascal.
4.1. KEGIATAN BELAJAR 1 PERULANGAN DENGAN
KONDISI DIAWAL
4.1.1.
Tujuan pembelajaran
Siswa memahami konsep dan struktur
perulangan dengan kondisi
di awal.
4.1.2.
Aktivitas Belajar Siswa
4.1.2.1.
Mengamati

Coba perhatikan contoh kode program berikut.
125
![]()

Ketiga kode program di atas adalah contoh dari perulangan dengan
kondisi diawal.
4.1.2.2.
Menanya
Dari ketiga contoh kode program di atas,
buat pertanyaan yang berkaitan
dengannya, misalkan:
1. Apakah yang membedakan 3 souce code di
atas?
2.
Bagaimana cara kerja dari 3 kode program di atas?
3. Lalu, apa hasil eksekusi dari 3 kode program
di atas?
4. Ketiga kode program
di atas merupakan
contoh dari perulangan dengan kondisi di awal, lalu kapan kita akan
menggunakannya?
4.1.2.3.
Mengumpulkan Informasi/Mencoba
Jika kita lihat sekilas, maka kita bisa
menyimpulkan bahwa kode program pertama dan kedua
memiliki struktur yang hampir sama, yang membedakan hanya yang pertama
menggunakan pernyataan WHILE-DO,
sedangkan yang kedua menggunakan pernyataan FOR-DO. Bagaimana dengan yang ketiga? Yang ketiga
menunjukkan sebuah contoh penggunaan dari sebuah nested loops (perulangan bersarang/ perulangan di dalam perulangan).
Bagaimana cara kerja, hasil, dan kapan
ketiga kode program (pernyataan perulangan) tersebut di gunakan? Akan kita
bahas pada pembahasan berikut ini.
Sebagaimana yang pernah dijelaskan pada semster lalu bahwa struktur
perulangan merupakan struktur
yang tidak terpisahkan dengan algoritma dan pemrograman. Struktur
perulangan memungkinkan program untuk melakukan serangkaian perintah
secara berulang-ulang. Dan untuk
memenuhi syarat bahwa algoritma harus finite (terbatas) maka dalam perulangan
pasti ada titik pemberhentian. Jika
ternyata dalam sebuah kasus perulangan tidak mencapai titik berhenti maka dapat dikatakan algoritma tersebut salah.
Titik pemberhentian dapat diberikan dengan beberapa cara, sebagai berikut.
1.
Pemberhentian dengan syarat
Pemberhentian dengan syarat artinya ada sebuah kondisi yang akan menyebabkan perulangan berhenti. Pemberian syarat ini juga dapat dilakukan dengan dua cara,
yaitu
a. Syarat diberikan di awal, di mana selama persayaratan dipenuhi maka
dilakuakn serangkain perintah
b. Syarat diberikan di akhir, di mana
proses akan diulang-ulang sampai syarat dipenuhi.
Perbedaan antara
a dan b adalah ketika
syarat diberikan di awal, maka selama persayaratan itu dipenuhi , maka perulangan dilakukan. Jika kondisi
sudah tidak dipenuhi
maka berhenti. Sedangakan pada kasus syarat
di akhir, dikerjakan serangkaian langkah. Setiap selesai rangkaian langkah diperiksa apakah
kondisi sudah dicapai,
jika belum maka proses diulangi
lagi. Struktur yang sesuai dengan
perulangan dengan kondisi
di awal adalah
struktur WHILE DO sedangkan
untuk kondisi di akhir adalah dengan
REPEAT UNTIL.
2.
Pemberhentian dengan pencacah
Pemberhentian dengan pencacah, artinya dari awal sudah ditentukan bahwa perulangan akan dilakukan berapa kali. Pencacah
ini juga ada dua macam cara, yaitu
Pemberhentian
dengan pencacah naik artinya untuk suatu pencacah, misalkan i dari 1 sampai 100 lakukan rangkain langkah x. Artinya langkah tersebut akan diulangi
sebanyak seratus kali. Dalam pascal untuk kasus pencacah naik digunakan struktur
FOR TO DO.
Pemberhentian dengan
pencacah turun , artinya sebaliknya untuk suatu pencacah
i dari
100 sampai 1 lakukan rangkaian langkah x, artinya langkah x akan diulangi sebanyak seratus kali. Dalam pascal untuk kasus
pencacah naik digunakan struktur FOR DOWNTO DO
Penggunaan beberapa
macam pemberhentian di atas tergantung dari situasi dan kondisi, untuk
lebih jelasnya akan dijelaskan seperti berikut.
Perulangan dengan struktur WHILE DO
Dalam berbagai bahasa Pascal dikenal struktur WHILE DO, yang berarti
selama memenuhi kriteri/kondisi
tertentu, maka dilakukan serangkaian proses. Struktur ini dapat diterapkan pada contoh di atas
sebagai berikut.

Bentuk Umum:

Atau jika lebih dari satu pernyataan dapat dituliskan
Perhatikan Flow Diagram
berikut:

Untuk lebih jelasnya, perhatikan
contoh kode program
berikut, beserta dengan hasilnya.

Contoh 1


Perulangan dengan
struktur FOR DO
Perulangan dengan pencacah, yaitu
menggunakan struktur FOR DO dimasukkan dalam
pembahasan pada kegaiatan Belajar ini. Struktur ini digunakan untuk
mengulang statement atau satu blok statement berulang
kali sejumlah yang ditentukan.

Bentuk umum :

Untuk lebih jelasnya,
perhatikan contoh kode program
berikut, beserta hasilnya.

Penulisan pernyataan yang akan diproses berulang kali
tersebut dapat juga ditulis dalam bentuk blok
pernyataan (diawali dengan BEGIN dan diakhiri dengan END), walaupun hanya
berisi sebuah statement saja, sebagai
berikut :

Contoh 2

Dalam menyelesaiakan suatu permasalahan kita bisa
menggunakan salah satu bentuk perulangan, apakah While
Do ataupun For Do. Manakah
yang lebih baik? Keduanya mempunyai
kelebihan
dan kekurangan sendiri-sendiri. Ada permasalahan yang dapat diubah dalam dua
bentuk eprulangan tapi ada yang lebih mudah menggunakan bentuk For Do, tapi ada juga yang hanya bisa digunakan
bentuk While Do.

Perhatikan dua contoh
pertama pada bagian
mengamati.
Kedua program
di atas mempunyai keluaran yang sama yaitu mencetak
‘Pascal’ sebanyak
5 kali, yaitu
untuk i=1 sampai 5. Dalam While Do,
-
pertama i diberi nilai 1,
-
Periksa apakah i <= 5? Iya maka tuliskan ‘Pascal’
kemudian nilai i ditambah 1 menjadi 2
-
Periksa apakah i<=5? Iya , maka tuliskan Pascal,
i=i+1=3
-
Periksa apakah i<=5? Iya , maka tuliskan Pascal,
i=i+1=4
-
Periksa apakah i<=5? Iya , maka tuliskan Pascal,
i=i+1=5
-
Periksa apakah i<=5? Iya , maka tuliskan Pascal,
i=i+1=6
-
Periksa apakah i<=5?Tidak, maka STOP
Di sini i
berfungsi sebagai iterator
dan 5 sebagai nilai sentinel.
Dalam struktur FOR DO, iterator dan
sentinel diringkas dalam bentuk for i:=1 to 5, di mana i otomatis bertambah naik, mulai dari nilai awal 1 menjadi 5. Oleh karena itu struktur For Do disebut perulangan dengan
pencacah.
Contoh berikut kode program dengan dua struktur
berbeda untuk masalah yang sama.
Contoh 3.
Buatlah program untuk
mementukan suku ke-n dari barisan
berikut.
2,7,12,17,22, ....
Jawab:
Barisan di atas adalah
barisan aritmatika di mana selisih
tiap suku berturutan adalah 5. Dengan
struktur For Do.
![]()

Dari kode program di atas dapat dilihat bahwa suku pertama
adalah 2, sehingga dinyatakan nilai awal
suku:=2. Berikutnya untuk suku kedua, ketiga dan seterusnya (i=2, 3, 4, ..)
dihitung nilai suku setelahnya adalah suku sebelumnya ditambah 5 (suku:=suku+5).

Berikut ini programnya dengan struktur WHILE DO.
Contoh 4.
Buatlah program
untuk menentukan suku terbesar
yang kurang dari n dari barisan
2, 4, 8, 16, ....
Jawab:
Masalah ini kurang cocok diselesaikan dengan struktur FOR
DO karena banyaknya perulangan tidak
diketahui dengan pasti sehingga sulit mementukan ioterator dan nilai
sentinelnya. Dengan menggunakan struktur
While Do dapat diperoleh
solusi sebagai berikut.


Misalkan
n adalah 50, kita dapat menelusuri program di atas sebagai berikut. Suku=2,
periksa apakah suku<50? Ya, maka suku=suku*2=4
Suku=4, periksa apakah suku<50? Ya, maka suku=suku*2=8 Suku=8,
periksa apakah suku<50? Ya, maka
suku=suku*2=16 Suku=16, periksa
apakah suku<50? Ya, maka suku=suku*2=32 Suku=32, periksa
apakah suku<50? Ya, maka suku=suku*2=64
Suku=64, periksa apakah suku<50? STOP, lihat nilai terakhir suku adalah 64, karena ketika suku=32,
pasti masih tetap dikalikan 2, sehigga setelah iterasi berakhir maka perlu
dibagi lagi dengan 2.
Nested Loops (perulangan bersarang)
Dalam beberapa permasalahan sering dijumpai perulangan di dalam perulangan. Bisa menggunakan
berbagai struktur WHILE DO atau FOR DO atau kombinasi dari struktur perulangan yang berbeda-beda.
![Text Box: for variabel1:=nilai_awal1 to [downto] nilai_akhir1 do begin
for variabel2:=nilai_awal2 to [downto] nilai_akhir2 do begin
statement; end;
end;](file:///C:/Users/Think/AppData/Local/Temp/OICE_88CF49BE-3D83-41A8-BACD-90C3E732287C.0/msohtmlclip1/01/clip_image209.gif)
Sedangkan bentuk umum untuk perulangan bersarang
WHILE DO adalah sebagai berikut


Untuk lebih jelasnya, perhatikan contoh kode program berikut, beserta dengan hasilnya.
Dalam program di atas diulangai dari i=1 sampai
5.
i=1, ulangi
dari j=1 sampai
1 tuliskan ‘*’, kemudian ganti baris (writeln)
i=2,
ulangi dari j=1 sampai 2 tuliskan ‘*’ sehingga ada dua ‘*’ , kemudian ganti
baris (writeln) i=3, ulangi dari j=1
sampai 3 tuliskan ‘*’ sehingga ada tiga ‘*’ , kemudian ganti baris (writeln) i=4, ulangi dari j=1 sampai 4 tuliskan ‘*’
sehingga ada empat ‘*’ , kemudian ganti baris (writeln) i=5, ulangi dari j=1 sampai 5 tuliskan ‘*’ sehingga
ada lima ‘*’ , kemudian ganti baris
(writeln)
Agar pemahaman
kalian jelas mengenai
penggunaan struktur perulangan kerjakan
LKS berikut.
4.1.2.3. Mencoba/Mengumpulkan Informasi
Lembar Kegiatan Siswa
1. Diberikan algoritma dalam pseudocode sebagai berikut. Algoritma Kelipatan5
Variabel i, a:integer
WHILE (a< 50) DO WRITE a
END
a.
Ubahlah dalam bentuk kode Program
menggunakan Pascal
b.
Tuliskan output dari program yang kalian buat.
2. Buatlah program untuk menentukan suku ke-n dari barisan: 2, 5, 8, 11, ....
Dengan struktur WHILE DO
dan FOR DO.
3. Buatlah program untuk menampilkan data
seperti berikut:
|
1 |
2 |
3 |
4 |
5 |
1 |
|
|
|
|
|
1 |
2 |
3 |
4 |
|
1 |
2 |
|
|
|
|
1 |
2 |
3 |
|
|
1 |
2 |
3 |
|
|
|
1 |
2 |
|
|
|
1 |
2 |
3 |
4 |
|
|
1 |
|
|
|
|
1 |
2 |
3 |
4 |
5 |
(a) (b)
4.1.2.4. Mengasosiasikan
4.1.2.4. Berdasarkan Lembar Kerja Siswa di atas, buatlah
kesimpulan mengenai apa yang kalian
pelajari.
1. Perulangan dengan kondisi
di awal adalah
............................................................................................................................................
............................................................................................................................................
2. Di dalam pascal
sendiri, terdapat tiga kontrol perulangan dengan kondisi di awal, yaitu:
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
c. NESTED LOOP, digunakan
ketika
......................................................................................................................................
4.1.2.5. Mengkomunikasikan
Presentasikan jawaban kalian di depan kelas,
murid yang lain menanggapi. Jalannya
diskusi dibiimbing oleh Guru.
1.
Stuktur perulangan adalah struktur
dalam bahasa pemrograman yang mengulangi sejumlah
perintah sampai batas yang
ditentukan
2.
Struktur perulangan memerluakn iterator
dan sentinel sebagai
titik henti
3.
Struktur perulangan dengan kondisi
di depan menggunakan struktur WHILE DO
4.
Struktur perulangan dengan pencacah
menggunakan struktur FOR TO DO atai FOR DOWNTO
DO.
4.1.4. Tugas
Buatlah kode program
sederhana yang menggunakan struktur kontrol perulangan dengan kondisi di awal
untuk menyelesaikan suatu masalah, boleh menggunakan struktur kontrol FOR DO, WHILE
DO, atau NESTED LOOP. Jelasan atau presentasikan pada pertemuan yang akan datang.
4.1.5.
Uji Kompetensi
1.
Perhatikan kode program berikut. Var I : Integer ;
Begin
For I := 1 To 2 Do
Write(‘ Belajar ’); Writeln(‘Oke‘);
End.
Output dari program diatas adalah .....
|
a. Belajar Belajar Oke |
b. Belajar Oke Belajar Oke |
|
c. Belajar Oke Oke |
d. Belajar Oke Belajar |
|
e. Belajar
Belajar Oke Oke |
|
2. Perhatikan program dibawah
ini, outputnya adalah .....
Var i,j : byte;
Begin
End.
For
i := 1 To 3 Do Begin
For j := 3 DownTo i Do Write(j);
writeln;
End;
|
a. 123 12 1 |
b. 321 32 3 |
|
c. 1 12 123 |
d. 3 32 321 |
|
e. 321 21 1 |
|
3.Program untuk menghasilkan output : 5 4 3 2 1 adalah.....
|
a. var
i: byte; begin For i:= 5 to 1 Do Write(i); end. |
b. var
i: integer; begin For i:= 5 downto 1 Do Writeln(i); end. |
|
c. var
i: integer; begin For i:= 1 to 5 Do Write(i); end. |
d. var
i: byte begin For i:= 5 downto 1 Do Write(i); end. |
|
e. var
i: integer; begin For i:= 1 to 5 Do Writeln(i); end. |
|
4.
Perhatikan program berikut. Var a,b
: integer; Begin
For a := 1 to 5 Do For b:= 1 to a Do
Write(b);
End.
Output dari program
berikut :
a. 1 b. 12345 c. 12345 d. 112123123412345
12 1234
123 123
1234 12
5.
Output dari program berikut : Var i : integer;
Begin
i :=1;
While i <= 5 Do Begin
If 10 Mod i = 0 Then
Writeln(10 Div I); i := I + 1;
End; End.
|
a. 1 2 5 |
b. 10 5 2 |
|
c. 5 |
d. 2 5 10 |
|
e. 5 2 1 |
|
4.2. KEGIATAN BELAJAR 2 PERULANGAN DENGAN KONDISI DI AKHIR
Dengan Kegiatan
Belajar ini diharapkan siswa mampu memahami
perulangan dengan kondisi
berada di akhir dan
menerapkannya uuntuk menyelesaaikan masalah pemrograman.
4.2.2. Aktivitas belajar siswa
4.2.2.1.
Mengamati

Perhatikan Souce code berikut

Kedua contoh di atas adalah contoh kode program
dari struktur kontrol yang akan dibahas selanjutnya
4.2.2.1. Menanya
Dari kedua contoh kode program di atas, buat pertanyaan yang berkaitan dengan keduanya, misalkan:
1. Apakah hasil/output dari kode program
diatas?
2.
Bagaimana proses dari kode program diatas sehingga menghasilkan hasil/output tersebut?
![]()
Hasil/output, serta proses dari kode program di atas akan di jelaskan pada pembahasan berikut
ini
4.2.2.3.
Mengumpulkan Informasi
Sebagaimana yang dijelaskan pada KB
sebelumnya bahwa perulangan dapat dilakukan dengan
menyatakan kondisi di akhir. Berbeda dengan kondisi di awal, di mana selama
syarat (kondisi) dipenuhi maka
perintah dijalankan, pada kondisi di
akhir, perintah dijalankan sampai memenuhi kondisi
yang diinginkan. Struktur yang digunakan adalah struktur
Repeat Until.
REPEAT UNTIL
Digunakan untuk mengulang (repeat) statement atau blok
statement sampai (until) kondisi yang diseleksi
di Until tidak terpenuhi.

Bentuk Umum :
Coba perhatikan flow diagram berikut
ini

Benar
![]()
Untuk
lebih jelasnya, perhatikan contoh kode program berikut, beserta dengan
hasilnya. Contoh 1.


Program di atas diawali dengan nilai awal digit=1, kemudian
dilakukan perintah writeln (digit);
digit := digit + 1 hingga nilai digit>5.

Contoh 2.
Bagaimana jika kondisi diganti dengan a=21? Smaapi
kapanpun syarat ini tidak akan dipenuhi
karena
nilai dari a pasti genap, sedangkan 21 ganjil. Dengan demikian terjadi
perulangan terus menerus.
Lalu,kapan kita akan menggunakan Perulangan dengan kondisi di awal, dalam hal ini adalah WHILE DO dengan Perulangan dengan
kondisi di akhir yaitu REPEAT UNTIL, adalah Perbedaan antara struktur REPEAT-UNTIL dengan WHILE-DO adalah
sebagai berikut :
1) Paling sedikit statement-statement di dalam perulangan REPEAT-UNTIL diproses sekali,
karena seleksi kondisi ada pada statement Until yang terletak dibawah.
Sedang pada struktur WHILE-DO paling sedikit dikerjakan
nol kali, karena seleksi kondisi ada pada statement While
yang terletak diatas, sehingga kalau kondisi sudah tidak
terpenuhi, maka tidak akan masuk ke dalam lingkungan perulangan.
2) Pada REPEAT-UNTIL dapat tidak dipergunakan blok statement (tidak
diperlukan Begin dan End untuk menunjukkan batas perulangannya), karena batas perulangannya sudah ditunjukkan
oleh Repeat sampai dengan Until (Repeat dan Until sebagai pengganti Begin dan End).
Agar lebih jelas pemahaman kalian, kerjakan
Lembar Kerja Siswa Berikut.
LEMBAR KERJA SISWA
1. Buatlah program untuk menampilkan apakah data di dalam array memiliki nilai kurang dari 10 yang sudah terurut.
Jika iya tampilkan data, jika tidak tampilkan “tidak
ada”.
A: {12,34,65,78,98}
Jawab:
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
2. Buatlah program untuk menentukan suku ke-20
1, 1, 2, 3, 5, 8,........ {barisan bilangan
fibonacci}
Jawab:
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
3. Buatlah program untuk menentukan suku dari barisan
1, 2, 4, 7, 11..... yang kurang dari 200
Jawab:
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
Buatlah program menu dengan menggunakan struktur
kontrol REPEAT-UNTIL
dengan syarat
apabila user mengetikkan angka di luar pilihan, maka akan tampil lagi program menu. Tampilan menu seperti berikut:
Menu Perhitungan Balok
1.
Input Data
2.
Luas Balok
3.
Volume Balok
4.
Keliling Balok
5.
Selesai Pilihan anda (1-5)
Jawab:
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
4.2.2.4. Mengasosiasikan
Berdasarkan Lembar Kerja Siswa di atas, buatlah
kesimpulan mengenai apa yang kalian pelajari. 1. Perulangan dengan kondisi
di akhir adalah .............................................................................
2. Cara Kerja Struktur
REPEAT UNTIL, adalah........................................................................
..................................................................................................................................................
4.2.2.5. Mengkomunikasikan
Presentasikan jawaban
kalian di depan
kelas, kelompok lain menanggapi. Jalannya
diskusi dibiimbing oleh Guru.
4.2.3.
Rangkuman
1.
Perulangan dengan kondisi di akhir maksudnya
adalah perulangan sejumlah
perintah hingga suatu kondisi dipenuhi
2.
Perulangan dengan kondisi di
akhir menggunakan struktur
REPAT UNTIL.
4.2.4.
Tugas
1) Buatlah program menu tampilan login dengan memasukkan PIN dengan
menggunakan struktur kontrol REPEAT-UNTIL
dengan syarat apabila user salah memasukkan PIN maka program
menu akan tampil kembali. Tampilan menu seperti berikut:
Login Account PIN anda :
2) Buatlah kode program
sederhana untuk menentukan apakah bilangan yang diinputkan ganjil atau genap. User dapat melakukan
perhitungan ulang hingga 5 kali. Gunakan struktur Repeat Until.
4.2.5.
Uji Kompetensi
1. Looping pada WHILE DO dikerjakan minimal ... kali,
sedangkan pada REPEAT.
UNTIL
dikerjakan minimal...... kali.
|
a. 1 |
0 |
|
b. 1 |
1 |
|
c. 0 |
1 |
|
d. 0 |
0 |
|
e. 2 |
2 |
2.
Perhatikan Kode Program berikut Var a: integer;
begin
a := 2;
repeat
write(a,'
'); a := 2
until a = 3;
end.
Output dari program di atas
adalah a. 2 2 2
b.
2 2 2
c. 2 2 2
2 2 2
2 2 2
d.
2
e.
Infinite Loops
3.
Perhatikan Kode Program berikut. var i : integer;
begin
i:=0;
repeat
i:=i+1;
writeln(i); until i = 5;
readln; end.
Output dari program di atas adalah ....
|
a. 1 2 3 4 5 |
d. |
0 1 2 3 4 5 |
|
b. 1 |
e. |
0 |
|
2 |
|
1 |
|
3 |
|
2 |
|
4 |
|
3 |
|
5 |
|
4 |
|
|
|
5 |
|
c. 5 |
|
|
4.
Perhatikan kode program berikut. Var i: integer;
Begin
I:=1;
Repeat
Write(‘ini yang ke
‘,i);
I:=i+1;
Until i=2;
End.
Output dari program di atas berupa
a. Ini yang ke 1
b.
Ini yang ke 2
c. Ini yang ke 1 Ini yang ke 2
d. Ini yang ke 1
ini yang ke 2
e.
tidak ada output
5.
Perhatikan kode program berikut var a: integer;
begin
a:=5;
repeat
write(a,' '); a:=a+5;
until a>25; end.
Output dari program diatas berupa…
|
a. 5 10 15 20 25 |
d. 25 20 15 10 5 |
|
b. 5 |
e. 25 |
|
10 |
20 |
|
15 |
15 |
|
20 |
10 |
|
25 |
5 |
|
c. Infinite
Loops |
|
4.3. KEGIATAN BELAJAR 3 PERULANGAN DENGAN
KONDISI DIINPUTKAN USER
4.3.1. Tujuan Pembelajaran
Siswa memahami perulangan dengan kondisi diinputkan user
dan menggunakannya untuk menyelesaikan masalah pemrograman.
4.3.2. Aktivitas Kegiatan Belajar
Dalam bab ini, hampir sama dengan bab-bab sebelumnya. Tetapi, yang membedakan adalah dalam bab ini,
kita akan belajar bagaimana caranya kita akan menggunakan perulangan dengan kondisi sesuai dengan apa yang akan di
inputkan oleh si user. Sehingga nilai yang akan di hasilkan pun akan dinamis
atau menyesuaikan.
4.3.2.1. Mengamati

Perhatikan Program
berikut.
Program ini diambil
dari semester yang lalu mengenai
algoritma perulangan dengan
kondisi dari
user.
4.3.2.2.
Menanya
Dari contoh diatas, buat
pertanyaan seperti contoh berikut.
1. Tentukan apa maksud dari program
atas!
2. Kapan program berhenti?
3.
Variabel apakah yang menjadi
iterator?
4.
Berapa kali user bisa menghitung volume balok?
4.3.2.3.
Mencoba/Mengumpulkan Informasi
Aplikasi pemroograman dalam kehidupan
nyata, khususnya yang terkait dengan struktur
perulangan, memerlukan syarat yang diinputkan oleh pengguna. Sebagai contoh, dalam sebuah aplikasi kasir, ketika melayani pembeli,
seorang kasir akan memasukkan data barang-barang yang dibeli dengan barcode
reader, hingga akhirnya
kasir akan mengklik
sebuah tombol untuk menghitung
total belanjaan. Proses memasukkan data dari barang pertama, kedua, dan ke
barang- barang berikutnya, adalah
suatu bentuk perulangan. Dan perulangan ini akan berhenti hingga akhrinya
kasir mengeklik tombol untuk menghitung total belanjaan.
Contoh
lain misalkan dalam sebuah video game dengan koin, ketika seorang anak memasukkan
koin, kemudian bermain dan akhirnya terjadi game over. Berikutnya biasanya,
video game akan menampilkan hitungan
mundur menunggu anak untuk memasukkan koin berikutnya agar permainan dapat dilanjutkan. Bentuk hitugan mundur ini juga
menggunakan perulangan, dan akan
berhenti perulangan ini untuk dua kemungkinan, si anak memasukkan koin atau
perhitungan mundur selesai dan akhirnya masuk ke menu awal game kembali.
Kondisi
yang diinputkan dari user bisa diperoleh sebelum
perulangan atau di dalam perulangan itu sendiri. Contoh di atas
adalah kondisi dimasukkan oleh user di dalam perulangan itu sendiri.
Contoh pengambilan kondisi
sebelum perulangan adalah menentukan suku ke-n dari sebuah barisan.
Misalkan menetukan suku ke n dari barisan 1,2,3,5,8, Nilai n diperoleh
dengan
menerima masukan dari user sebelum perulangan
dilakukan.
Diskusikan LKS berikut
agar lebih jelas.
Lembar Kerja Siswa
1.
Tuliskan kode program untuk permasalahan
berikut
a. Menuliskan semua suku dari barisan
2,4,6,8... hingga suku ke-n
b. Mencari suku terbesar dari barisan 1,2,4,7,.... yang kurang dari n
Jalankan program
yang telah kalian buat! Jawab :
a. ..........................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
b. ..........................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
2. Sebuah program disusun untuk
menghitung besar biaya rekening PDAM. Algoritma meminta masukan berupa Nomor Meteran pelanggan, besar pemakaian (dalam meter kubik). Perhitungan biaya terdiri dari
-
Biaya Beban: Rp 15.000,-
-
Biaya pemakaian dengan aturan
10 m3 pertama,
biayanya Rp. 1200,- /
m3 Selebihnya dikenai
biaya Rp 2000/m3.
Algoritma harus menampilkan biaya PDAM.
Selanjutnya, program meminta input pengguna
apakah akan menghitung lagi atau tidak, hingga
akhirnya
pengguna menekan “Y” untuk keluar dari
algoritma. Susunlah program komputer
dari permasalahan di atas dan jalankan. Jawab:
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
3.
1 2 2 3 3 3 n...............n
Buatlah program untuk menampilkan angka
sebagai berikut:
dengan
nilai n, sesuai dengan masukkan dari user Jawab:
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
4.3.2.4. Mengasosiasikan
Berdasarkan Lembar Kerja Siswa di atas, buatlah kesimpulan
mengenai apa yang kalian pelajari menenai maksud
perulangan dengan kondisi
diinputkan user. Jelaskan
mengapa struktur seperti
ini penting di dunia pemrograman.
4.3.2.5. Mengkomunikasikan
Presentasikan jawaban kalian di depan kelas, murid yang lain menanggapi. Jalannya
diskusi dibimbing oleh Guru.
4.3.3.
Rangkuman
1.
Dalam struktur perulangan , kondisi
dapat ditentukan oleh user
2. Kondisi dapat diperoleh
dari user sebelum
perulangan atau di dalam perulangan itu sendiri.
4.3.4.
Tugas
1.
Buatlah sebuah program untuk menentukna suku ke-n dari barisan 2, 5, 8, 11, 14,
....
2. Buatlah sebuah program untuk menginputkan data mengonversi suhu dalam celcius
ke Reamur, farenheit dan Kelvin.
Dalam algoritma tersebut penguna dapat melakukan perhitungan secara
berulang-ulang hingga mengehndaki untuk mengakhiri perhitungan.
3. Tentukan jumlahan dari deret matematika berikut 2+4+8+16+...+2n
Dengan n ditentukan oleh pengguna.
4. Carilah sebuah permasalahan di seiktarmu yang membutuhkan perulangan
dengan kondisi yang diinputkan
user. Buatlah program untuk
menyelesaikannya
4.3.5.
Uji Kompetensi
Pilihlah jawaban yang benar dengan meberi
tanda silang pada huruf a, b, c, d, atau e.
1.
Perhatikan kode program dibawah ini, jika n=5 maka outputnya adalah .....
Var i,n,bil : integer; Begin
Readln(n); bil:=1;
For i := 1 to n Do bil
:= bil * i;
Writeln(bil); End.
Output dari program
di atas adalah.................
a. 120
b.
16
c. 24
d. 5
e. 1
2.
Perhatikan kode program berikut. var i,j,jml: byte;
begin
write('jumlah
bintang: '); readln(jml); j:=0;
repeat
i:=0; j:=j+1;
repeat
write('*'); i:=i+1;
until i=j;
writeln; until j=jml;
end.
Output dari program di atas jika jml = 3 adalah
|
a. |
* |
b. |
*** |
|
|
** |
|
*** |
|
|
*** |
|
*** |
|
c. |
*** |
d. |
* |
|
|
** |
|
* |
|
|
* |
|
* |
|
e. |
Salah semua |
|
|
3.
Perhatikan kode program berikut. Var I, n: integer;
Begin
Write(‘banyaknya pengulangan ?’);
readln(n); i:=1;
repeat
begin
write(i); i:=i+1;
end; until (i<=n)
end.
Output dari program di atas apabila n=0 adalah
|
a. 1 |
b. 12 |
|
c. 123 |
d. 1234 |
|
e. |
|
4.
Perhatikan kode program berikut. Var i,n: integer;
Begin
Write(‘banyaknya pengulangan ?’);
readln(n);
for i:=1 to n do
write(i);
end.
Output program
di atas jika n=0 adalah
|
a. 1 |
b. 12 |
|
c. 123 |
d. |
|
e. ERROR |
|
5.
Berikut ini pernyataan yang benar
mengenai perulangan dengan konsidi akhir diinputkan pengguna, kecuali ....
a.
Kondisi dapat di awal ataupun di akhir perulangan
b.
Inputan dari pengguna sebgai
sentinel dapat diberikan sebelum perulangan
c.
Inputan pengguna sebagai sentinel
dapat diberikan di dalam
perulangan
d.
Inputan pengguna sebagai sentinel
dapat diberikan setelah
perulangan selesai
e.
Dapat menggunakan REPEAT UNTIL
4.4. KEGIATAN BELAJAR 4 PERULANGAN DENGAN
PERNYATAAN BREAK & CONTINUE
4.4.1. Tujuan Pembelajaran
Siswa memahami penggunaan pernyataan break dan continue dalam perulangan dengan
bahasa Pascal.
4.4.2 Aktivitas kegiatan Belajar
4.4.2.1. Mengamati

Coba perhatikan contoh kode program berikut

Kedua Kode program diatas adalah contoh penggunaan struktur
kontrol yang akan kita behas berikut ini
4.2.2.2.
Menanya
Dari kedua contoh diatas, buat pertanyaan yang berkaitan dengan keduanya,
misalkan:
1. Apakah yang membedakan
kedua kode program diatas?
2.
Apakah hasil/output pada kedua kode program tersebut?
3. Bedakan antara kode program diatas dengan kode program yang tidak menggunakan pernyataan seperti di atas!
4.4.2.3.
Mengumpulkan Informasi/Mencoba
Perbedaan dari kedua kode program di atas adalah pada
penggunaan pernyataan BREAK dan CONTINUE. Walaupun
pada dasarnya hasil/output nya sama, tetapi pada penggunaan time execution (waktu
yang dibutuhkan untuk eksekusi) lebih cepat dibandingkan dengan yang tidak menggunakan kedua pernyataan tersebut.
Di dalam pascal sendiri
kedua pernyataan tersebut
di sampaikan dalam bentuk sebagai
berikut
1)
BREAK
Pernyataan BREAK di dalam Pascal memiliki
2 buah kegunaan, yaitu
1. Pernyataan break yang ditemukan di dalam sebuah perulangan, otomatis
akan menghentikan kontrol
perulangan tersebut dan kontrol program
selanjutnya akan dilanjutkan pada pernyataan setelah
perulangan
2. Pernyataan break juga dapat digunakan untuk menghentikan pernyataan
case of yang sudah dibahas pada
bab sebelumnya
Bentuk umum:
If (kondisi)
Break;
Coba perhatikan flow diagram berikut,
yaitu penggunaan break pada struktur WHILE
DO.
Kondisi Perulangan
Benar
Kondisi Break
Benar
Salah
Salah
![]()

![]()
Untuk lebih jelasnya, perhatikan contoh kode program berikut, beserta hasilnya berikut.

Contoh 1.

![]()
![]()

Perulangan di atas akan
dihentikan ketika a>15
sehingga yang ditampilkan
2)
CONTINUE
Pernyataan continue di dalam Pascal bekerja seperti
halnya pernyataan break. Break digunakan untuk menghentikan secara paksa
sebuah proses, tetapi continue secara paksa akan
melanjutkan perulangan selanjutnya, dan mengabaikan kode-kode diantara
keduanya. Bentuk umum:
![]()
![]()
Coba perhatikan flow diagram
berikut, yaitu penggunaan continue
pada struktur repeat until.

Benar
![]()
Untuk lebih jelasnya, perhatikan contoh kode program
berikut, beserta hasilnya

Contoh 2.

Kerjakan lembar
kerja siswa berikut secara berkelompok.
LEMBAR KERJA SISWA
1. Buatlah program komputer
menggunakan perulangan dengan perintah continue untuk menampilkan:
a.
semua bilangan yang bukan kelipatan 3 dari 1-30
b.
menjumlahkan semua yang bukan bilangan kelipatan
2 atau 5 dari 1 sampai n (diinputkan) user dengan
pernyataan:
Jawab:
a. ...........................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
b. ..........................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
2. Buatlah program untuk menghitung volume tabung secara berulang-ulang dengan menggunakan struktur WHILE DO dan
pernyataan break.
Jawab:
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
4.4.2.4. Mengasosiasikan
Berdasarkan Lembar Kerja Siswa di
atas, buatlah kesimpulan mengenai
apa yang kalian pelajari.
1. Pernyataan Break
digunakan ketika
..............................................................................................................................................
..............................................................................................................................................
2. Pernyataan Continue digunakan ketika
..............................................................................................................................................
..............................................................................................................................................
4.4.2.5. Mengkomunikasikan
Presentasikan jawaban kalian di depan kelas, kelompok
lain menanggapi. Jalannya
diskusi dibiimbing oleh Guru.
4.4.3.
Rangkuman
1. Pernyataan break yang ditemukan di dalam sebuah perulangan, otomatis
akan menghentikan kontrol
perulangan tersebut dan kontrol program
selanjutnya akan dilanjutkan pada pernyataan setelah
perulangan
2. Pernyataan continue secara paksa akan melanjutkan perulangan selanjutnya, dan mengabaikan kode-kode diantara keduanya.
4.4.4.
Tugas
Carilah sebuah permasalahan sederhana
yang memerlukan perulangan dengan pernyataan break atau continue di dalamnya,
masing-masing 1.
4.4.5.
Uji Kompetensi
Buatlah program
berikut:
1. Menuliskan semua bilangan dari 1 sampai n yang bukan kelipatan 3 atau 7 menggunakan perulangan dengan perintah continue
2. Memasukkan inputan nama, alamat, Sekolah,
Umur, dan menampilkannya secara berulang-ulang
menggunakan perulangan dengan perintyah break.

Apa yang sudah kita pelajari
dari semester 1 hingga semester
2, adalah meletakkan dasar- dasar
kemampuan pemecahan masalah dengan algoritma dan pemrograman. Dengan menguasai dasar-dasar algoritma dan bahasa pemrograman
menjadi suatu langkah untuk dapat mengembangkan
program atau aplikasi seperti aplikasi kasir,
rental, perpustakaan, sistem informasi sekolah,
dan sebagainya.
Pada bab terakhir
ini kalian akan dihadapkan pada berbagai permasalahan yang erat kaitannya dalam algoritma tpembuatan aplikasi dan bagaimana
implementasinya menggunakan bahasa Pemrograman. Jadi dalam membuat
aplikasi, harus diperhatikan urutan langkah dan strategi
mulai melakukan analisis terhadap permasalahan, merumuskan kebutuham , membuat desain, mengimplementasikan dengan bahasa
pemrograman, dan melakukan tes atau uji coba
terhadap program yang dihasilkan.
5.1.
KEGIATAN BELAJAR 1 PENGEMBANGAN APLIKASI DAN ANALISIS
PEMECAHAN MASALAH
5.1.1. Tujuan Pembelajaran
1. Siswa memahami langkah-langkah pengembangan aplikasi
2.
Siswa memahami langkah-langkah analisis
pemecahan permasalahan
5.1.2.
Aktivitas Kegiatan belajar
5.1.2.1. Mengamati
Perhatikan Tarif Dasar Listrik pada Gambar 5.1 dan struk pembayaran listrik pada Gambar
5.1.2.2.
Menanya
Buatlah pertanyaan terkait
dengan hasil pengamatan seperti contoh
1. Bagaimana cara perhitungan tagihan listrik?
2.
Informasi apa saja yang dicantumkan pada struk rekening listrik
3. Apa saja yang diperlukan untuk membuat aplikasi
pembayaran tagihan listrik
4. Bagaimana mengembangkan algoritma/aplikasi dari permasalahan nyata seperti pembayaran rekening listrik?
161

Gambar 5.1. Tarif dasar
Listrik

Gambar 5.2. Struk Pembayaran
Tagihan Listrik
5.1.2.3.
Mengumpulkan Informasi/Mencoba
Dalam membangun suatu program atau
aplikasi komputer, diperlukan strategi dan langkah- langkah sehingga program
dapat berjalan seperti
yang diharapkan oleh pengguna. Langkah-
langkah inilah yang menjadi strategi
bagaimna masalah dapat dipecahkan. Di sinilah peran penting
algoritma dalam pengembangan aplikasi. Namun demikian
sebelum membuat algoritma
atau langkah-langkah
penyelesaian masalah maka harus terlebih dahulu diketahui apa permasalahan dan apa saja yang dibutuhkan sebelum memecahkan masalah.
Ketika langkah-langkah penyelesaian masalah sudah diperoleh maka
langkah berikutnya adalah mengimplementasikan
dalam bentuk kode program sehingga
menghasilkan program. Program
pun juga harus diuji cobakan
terlebih dahulu sehingga
terhindar dari kesalahan-kesalahan baik kesalahan teknis ataupun
algoritmis. Program yang sudah lolos uji coba dapat digunakan oleh pengguna,
dengan tetap senantiasa evaluasi kesesuain
program dengan kebutuhan pengguna.
Dari uraian singkat di atas,
menggambarkan bahwa dalam mengembangkan aplikasi tidak sekedar koding dan koding
tapi perlu strategi
dan langkah-langkah yang terstruktur.
Untuk
menyusun sebuah komputer diperlukan langkah-langkah berkut.
Untuk menyusun sebuah program yang besar dan kompleks,
pemrogram membutuhkan tahapan
penyusunan yang sistematis dan terpadu, yaitu:
1.
Definisi Masalah
Pada tahap ini programmer harus mengetahui masalah yang akan
diselesaikan, apa tujuan dan kegunaan
program yang akan dibuat. Untuk itu diperlukan pengumpulan data baik lewat wawancara terutama
pengguna program, dan ketersediaan sumber daya
yang akan digunakan dalam pengembangan dan penerapan progam yang akan dibuat. Sebagai contoh program pembayaran
rekening listrik di atas. Program harus bisa
otomatis menghitung besarnya tarif listrik berdasarkan kelas pengguna, batas daya dan besarnya
penggunaan daya.
2.
Analisis Kebutuhan
Berdasarkan data yang diperoleh mengenai masalah yang akan
diselesaikan, langkah selanjutnya
adalah mengumpulkan kebutuhan untuk pengembanagan program. Untuk bisa menghitung besar tarif listrik,
pengguna harus menyiapkan tabel penentuan TDL
berdasarkan ketentuan dan cara perhitungannya sehingga bisa menyusun
algoritmanya. Selain itu kebutuhan-kebutuhan yang mendukung fungsi
tujuan juga harus diperhatikan,
misalkan bagaimana hasil perhitungan harus ditampilkan, apakah perlu dicetak atau tidak, atau misalkan
data pelanggan dan pemakaian daya harus diambil
langsung ke database PLN. Maka ini kebutuhan yang harus disiapkan agar program
dapat berjalan.
3.
Penyusunan Algoritma
Jika kebutuhan program sudah teridentifikasi, langkah
selanjutnya adalah menyusun algoritma
atau langkah-langkah penyelesainnya. Hal ini penting untuk memeudahkan penyusunan program. Tahap ini juga disebut
sebagai tahap desain.
Desain program
ini dapat disajikan dalam bentuk flowchart sehingga
mudah oleh programmer untuk menuangkannya ke dalam bahasa Pemrograman.
4.
Pengkodean/Pemrograman
Setelah proses desain atau penyusunan algoritma dilakukan, tahap selanjutnya adalah menuangkannya ke dalam bahasa pemrograman. Bahasa
Pemrograman dipilih sesuai
dengan hasil analisis kebutuhan program.
Jika program memerlukan database
untuk menyimpan, mengakses informasi, atau program harus mempunyai tampilan
menarik dengan berbagai
tombol dan menu, maka bahasa Pascal tidak
cocok untuk itu karena masih sangat sederhana. Untuk itu diperlukan
pemrograman visual seperti Delphi, VB net, dan sebagainya.
5.
Testing dan Debugging
Setelah proses pengkodean dilakukan langkah selanjutnya
adalah melakukan uji coba (testing) dan debugging. Langkah
uji coba ini penting untuk mengetahui apakah program
yang telah dihasilkan memberikan solusi yang benar sesuai dengan yang diharapkan. Jika belum maka perlu proses debugging
untuk mengetahui di mana letak kesalahannya dan bagaimana
cara memperbaikinya.
6.
Pemeliharaan
Program yang sudha berhasil diujicobakan kemudian
diaplikasikan oleh pengguna. Selama program
digunakan kekurangan-kekurangan dicatat
dan digunakan untuk memperbaiki
program yang sedang dijalankan. Pada proses ini modifikasi program dapat dilakukan
untuk memperbaiki kesalahan dan peningkatan
performance.
Langkah-langkah pengembangan ini dikenal dengan
Model Waterfall (air Terjun)
Analisis dan Desain Algoritma
Algoritma yang baik tidak hanya sekedar
benar dalam menentukan solusi,
namun juga harus efektif dan
efisien. Kriteria efektif berdasarkan seberapa bagus (optimal) penyelesaian
yang dihasilkan, sedangkan efisien
ini biasanya terkait dengan waktu eksekusi untuk menyelesaiakn suatu masalah. Dua buah algoritma memberikan hasil yang benar untuk suatu
permasalahan. Salah satu algoritma
disebut lebih efisien jika waktu yang diperlukan untuk mengakses proses lebih sedikit dibandingkan dengan yang lain.
Namun demikian dengan kecanggihan komputer sekarang, selisih waktu eksekusi biasanya sangat kecil sehingga
seakan-akan sama, padahal berbeda seper sekian detik.
Sebagai contoh kalian bisa membandingkan
dua buah mesin pencari. Mesin cari bisa kita
katakan efektif jika konten yang diberikan benar-benar sesuai dengan
harapan user. Sedangkan efisien terkait dengan berapa lama waktu pencarian.
Untuk suatu permasalahan yang rumit ada
beberapa strategi yang diterapkan. Strategi-
strategi ini dituangkan dalam desain algoritma. Ada beberapa strategi
teknik pemecahan masalah dalam algoritma, di antaranya adalah:
1.
Divide and Conquer
Teknik ini digunakan
untuk mememcahkan masalah
dalam skala yang besar kemudian
membagi-baginya menjadi masalah yang lebih sederhana. Dari masalah yang
sederhana ini diselesaikan dan hasilnya digabungkan dengan solusi dari bagian yang lain sehingga
didapatkan solusi dari permasalahan
utama.
2.
Decrease and Conquer
Berbeda dengan divide and conquer, teknik ini tidak membagi
maslah utama menjadi beberapa bagian, tapi mengurangi ukuran dari
permasalahan utama sehingga menjadi lebih sederhana.
3.
Transform and Conquer
Teknik ini merubah penyajian masalah ke dalam bentuk lain
agar lebih mudah diselesaikan. Sebagai contoh
: Menyelesaikan sistem persamaan
linear dengan matriks.
Untuk melatih kemampuan pemecahan masalah dengan algoritma, coba kerjakan LKS berikut secara berkelompok.
LEMBAR KERJA SISWA

Perhatikan kembali tabel TDL di atas.
Aturan perhitungan:
. Ada dua macam pemakaian yaitu REGULER
dan PRA BAYAR. Kita hanya fokus pada mepakaian REGULER.
Ada dua macam biaya yang harus ditanggung, yaitu Biaya Beban dan
biaya Pemakaian. Berikut ini beberapa
contoh cara penghitungan biaya tagihan listrik
tiap bulannya.
Batas daya 450 dan 900
VA
Biaya Beban= Rp 11.000
Biaya Pemakaian dihitung bertahap (per
blok)
-
Blok 1: 0-30 kWh dengan biaya Rp 169,-/kWh
-
Blok 2 : di atas 30
sampai 60 kWh dengan biaya Rp. 360,-/kWh
-
Blok 3: di atas 60
kWh dengan biaya Rp 495,-/kWh. Berikut
ini contoh perhitungannya.

Pemakaian kurang dari 30
kWh

Pemakaian di atas 30 kWh hingga 60 kWh

Pemakain di atas 60 kWh
Perhitungan yang
sama dilakukan untuk daya
pemakai 900 VA.
Batas Daya 1300 VA ke atas
Untuk kategori ini
Biaya Beban dihitung dengan Tarif Minimum dengan rumus
Tarif Minimum =
40 x
Daya tersambung (kVA) x Biaya
Pemakaian Biaya Pemakaian = Rp. 1.352,-
Tarif minimum berarti jika pemakaian kurang dari atau sama dengan 40 x Daya Tersambung (kVA) maka pelanggan tetap harus membayar
sebesar tarif minimum. Jika
lebih dari itu, dapat langsung dihitung besarnya biaya pemakaian saja (biaya
beban sudah otomatis masuk pada
perhitungan). Contoh :

Daya Tersambung 2.200 VA= 2,2 kV
Perhitungan yang sama diterapkan untuk daya tersambung 1.300 VA, 3500-5.500 VA dan 6.500
VA ke atas.
Berdasarkan tabel di atas, dengan angota kelompok yang
lain, buatlah rancangan algoritma untuk menentukan besaran
tarif listrik pelanggan. Bagilah tugas pembuatan
algoritma misalkan berdasarkan kategori/kelas tertentu. Ini
sekaligus menerapkan salah satu teknik yaitu Divide and Conquer. Gabungkan
hasil dari pekerjaan
menjadi satu kesatuan
algoritma. Sajikan algoritma
kalian dalam bentuk flowchart.
5.1.2.4.
Mengasosiasikan
Dari hasil kegiatan belajar
kali ini, tuliskan
kesimpulan kalian mengenai beberapa
hal berikut.
1.
Langkah-langkah pembuatan
program
2.
Arti algoritma yang efektif dan efisien
3.
Bagaimana strategi untuk menyelesaiakn masalah yang rumit dengan algoritma
5.1.2.5.
Mengkomunikasikan
Presentasikan pekerjaan
kalian di depan kelas, dan diskusikan dengan
teman-teman yang lain.
5.1.3.
Rangkuman
1.
Langkah-langkah pembuatan
program meliputi : definisi masalah,
analisis kebutuhan, perancangan algoritma (desain), pembuatan
kode atau programming, uji coba dan debugging dan pemeliharaan
2.
Analisis dan desain algoritma
diperlukan untuk mendapatkan algoritma yang efektif dan efisien
5.1.4.
Tugas
Carilah struk
pembayaran rekening air (PDAM), susun algoritma dalam bentuk flowchart.
5.1.5.
Uji Kompetensi
1.
Berikut ini adalah yang termasuk
dalam proses pengemabangan
aplikasi, kecuali ....
a.
analisis kebutuhan
b.
membuat desain/algoritma
c.
membuat kode program
d. memasarkan program
e.
pemeliharaan program.
2.
Mengetahui kegunan dan tujuan
pembuatan program termasuk dari
bagian proses.....
a. definisi masalah
b.
membuat desain/algoritma
c. membuat kode program
d.
memasarkan program
e.
pemeliharaan program.
3.
Proses di mana program senantiasa dievaluasi ketika sudah digunakan
oleh pelanggan dalam
rangka meningkatkan kinerja program tersebuttermasuk dalam proses .....
a.
definisi masalah
b.
membuat desain/algoritma
c. membuat kode program
d.
memasarkan program
e.
pemeliharaan program.
4.
Efisiensi dari sebuah algoritma
dapat dilihat berdasarkan .....
a.
kebenaran output
b.
optimlnya penyelesaian
c. running time
d.
harga
e.
keterbukaan untuk dapat digunakan
atau diubah pengguna
5.
Seorang programmer membduat program mencari rute terpendek di antara dua buah kota, dengan
cara memodelkan ke dalam bentuk data yang
dapat diolah ke komputer. Permasalahan dimodelkan dalam bentuk
titik-titik sebagai kota dan sisi sebagai jalan. Dari hasil model ini di bawa ke bentuk matriks angka. Teknik yang
programmer tersebut termasuk kategori ......
a. divide and conquer
b. brute force
c.
dynamic
d.
decrease and conquer
e.
Transform and Conquer
5.2.
KEGIATAN BELAJAR 2 ERROR HANDLING
Pernah kalian menggunakan program dan di
tengah kalian asik bekerja tiba-tiba hang, atau menutup sendiri? Ini bisa disebabkan adanya error yang muncul tapi belum diantisipasi oleh program tersebut.
5.1.1. Tujuan Pembelajaran
Siswa
memahami error handling
dalam pascal dan menerapkannya pada masalah pemrograman.
5.1.2. Aktivitas Kegiatan belajar
5.1.2.1. Mengamati

Perhatikan kode program berikut.
Program di atas berhasil
dikompilasi dengan baik tapi apa jadinya jika dimasukkan nilai a adalah 4 dan b adalah nol.

Sebagai perbandingan:
Dengan menggunakan software
Micosoft paint, akan dicoba membuka
file WORD, apa yang terjadi?

5.1.2.2.
Menanya
1.
Mengapa program pascal berhenti/keluar setelah kita inputkan karakter
2.
Pesan apa yang muncul?
3. Mengapa program Microsoft Paint tidak berhenti keluar
ketika salah memasukkan input?
4. Pesan apa yang muncul
di Microsoft paint
4. Strategi
apa agar program
di pascal tidak berhenti
ketika menjumpai kesalahan?
5.1.2.3.
Mengumpulkan Informasi/Mencoba
Dalam
pembuatan program, kesalahan
tidak hanya terjadi
pada kode program
(syntax error), kesalahan mungkin juga
terjadi di pihak pengguna seperti kesalahan
dalam menginputkan nilai ke dalam
program. Program yang baik adalah yang bisa mengantisipasi kesalahan seperti
itu sehingga tidak berhenti di tengah
jalan. Jika program berhenti di tengah jalan, maka pengguna harus memulai dari awal, dan tentu ini
menyebabkan banyaknya waktu yang hilang. Belum lagi jika user melakukan
sesalahan lagi.
Selain kesalahan penulisan (syntax
error) dikenal juga run-time error, yaitu kesalahan yang muncul saat program dijalankan. Sebagai contoh pembagian dengan nol.
Hasil:=a/b;
Agar program tidak langsung berhenti, maka perlu kesalahan perlu diantisipasi. Penanganan kesalahan
ini disebut error handling atau exception.
Kemampuan menangani error mutlak harus dikuasai oleh seorang programmer.
Di dalam Free Pascal disediakan beberapa
metode penangan error, di antaranya adalah menggunakan pernyataan Try ...Except, Try...Finally, dan Raise Exception.
1. Pernyataan Try.... Except.
Pernyataan ini menjalankan serangkaian proses dengan perintah
Try di depan, kemudian setelah itu diikuti Except, untuk menandakan kejadian khusus yang dideteksi sebagai error (kesalahan). Sintaks dari
pernyataan Try Except adalah sebagai
berikut.

Untuk dapat menggunakan pernyataan Try Except di bagian awal program harus dipanggil
dulu unit-unit yang terkait dengan pengguaan pernyataan ini.

Contoh 1.

Coba
kita jalankan dengan dengan masukan
=4 dan b=0

Ketika error
terjadi, yaitu adanya pembagian dengan nol
maka akan muncul pesan “Telah terjadi error” diikuti dengan tipe
kesalahan yang terjadi. Kejadian exception (pengecualian) dideteksi pada pernyataan Hasil:=a/b. Jika nilai b = 0 maka perintah di bawah pengecualian akan dilakukan jika tidka maka langkah-langkah dalam pengecualian tidak dilakukan.
2.
Pernyataan Try... Finally
Pernyataan Try .. Finally ini menjalankans erangkain proses
setelah perintah Try. Jika ada error ma
pada bagian error itu akan dilewati. Kemudian perintah-perintah setelah
pernyataan Finally akan dieksekusi apapun yang terjadi
baik ada kesalahan
atau tidak.

Sintak pernyataan Try ...Finally

Contoh 2.


Dengan input a=4 dan b=0 maka
keluarannya adalah:
Error sebenarnya terdeteksi tapi tidak ada tindakan khusus.
Hal ini terlihat ketika keluar dari program, akan muncul pesan berikut.

3.
Pernyataan Raise Exception
Dalam membuat program terkadang dibutuhkan suatu nilai
dengan rentang tertentu, Misalkan variabel
bulan, bernilai dari 1 sampai 12, tidak ada nilai 0 ataupun 13. Untuk
menghindari kesalahan seperti
ini digunakan pernyataan raise exception.
Berikut ini contoh
penggunannya:

Contoh 3.



Hasil outputnya untuk kesalahan
seperti nilai bulan=13 adalah sebagai berikut.
Agar pemahaman
kalian lebih jelas mengenai
penganganan error ini, kerjakan LKS berikut.
LEMBAR KERJA SISWA
1. Buatlah sebuah program untuk menentukan tinggi balok berdasarkan
Volume, panjang dan lebar balok. Gunakan pernyataan Try ...Except untuk menghindari kesalahan
dalam perhitungan.
Jawab:
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
2. Buatlah sebuah program untuk menentukan kecepatan rata-rata dari sebuah
mobil dalam suatu perjalanan dengan
masukan berupa jarak tempuh (dalam km) dan waktu perjalanan (dalam jam). Gunakan pernyataan Try ...Finally untuk penanganan kesalahan.
Jawab:
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
3. Buatlah sebuah proram untuk menentukan kelulusan berdasarkan rata-rata
nilai UAN yang terdiri dari
matematika, bahasa indonesia, dan bahasa inggris. Setiap nilai mempunyai range 0-100. Gunakan pernyataan raise exception untuk mengantisipasi kesalahan inputan.
Jawab:
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
5.2.2.4.
Mengasosiasikan
Dari hasil kegiatan
belajar ini, apa kesimpulan kalian mengenai error handling, mengapa
diperlukan dan bagaimana
cara melakukannya dalam bahasa Pascal.
5.2.2.5.
Mengkomunikasikan
Presentasikan hasil pekerjaan LKS kalian dan kesimpulan kalian
di depan kelas.
5.2.3.
Rangkuman
1.
Ada 3 macam kesalahan
dalam penyusunan program:
syntax error, run-time
error dan logical
error
2.
Run-time error harus diantisipasi agar program tidak
berhenti di tengah
jalan, cara mengantisipasi disebut dengan error handling
3.
Penanganan error dalam Pascal menggunakan pernyataan
Try Except, Try Finally dan Raise Exception
5.2.4.
Tugas
Buatlah sebuah program,
masing-masing satu yang melibatkan penanganan
error menggunakan pernyataan
Try Except, Try Finally dan Raise Exception
5.2.5.
Uji Kompetensi
Pilihlah jawaban yang benar dengan
memberikan tanda silang pada huruf a,
b, c, d, atau e.
1.
Berikut ini pernyataan yang
benar mengenai kesalahan dalam pembuatan program,
kecuali ....
a.
kesalahan dapat terjadi pada penulisan kode
b. kesalahan algoritma menyebabkan hasil yang keliru
c. kesalahan inputan dapat menyebabkan
program berhenti di tengah jalan
d.
Jika langkah-langkah algoritmanya sudah benar dan dituliskan sesuai sintaks, maka program tidak akan
berhenti di tengah jalan
e. kesalahan penulisan kode paling mudah dideteksi
2.
Misalkan dalam sebuah program
menghitung konversi suhu dari celcius
ke satuan lain. Programmer
ingin suhu dalam celcius mempunyai rentang dari -500C hingga 100 0C.
Untuk menjamin bahwa inputan sesuai dengan
rentang itu digunakan
pernyataan....
a.
Try Except
b.
Try Until
c.
Try Finally
d. Raise Exception
e. Raise Finally
3.
Agar program memberikan pengecualian ketika menemukan kesalahan
perhitungan, dengan tidak mengeksekusinya amun menampilkan
pesan kesalahan digunakan
pernyataan....
a. Try Except
b.
Try Until
c. Try Finally
d.
Raise Until
e. Raise Finally
4.
Agar program tidak mempedulikan kesalahan yang terjadi
namun tetap bisa melanajutkan pada proses selanjutnya, digunakan pernyataan.....
a.
Try Except
b.
Try Until
c. Try Finally
d.
Raise Until
e.
Raise Finally
5.
Maksud dari e.message pada pernyataan Try Except adalah ....
a. pesan yang diambil dari email
b. pesan dari pengguna
c. pesan yang didefinisikan di awal program
d.
pesan mengenai kesalahan yang terjadi
e. pesan setelah program berhenti
5.3. DEBUGGING
Selain syntax error dan run-time
error, ada satu macam kesalahan
lagi yang paling
sulit untuk dideteksi, yaitu kesalahan logika atau kesalahan algoritma.
5.3.1. Tujuan Pembelajaran
Siswa memahami apa itu debugging dan bagaimna melakukan nya dalam pemrograman Pascal
5.3.2.
Aktivitas Kegiatan Belajar
Sebuah penilaian
prestasi belajar diwakili
dengan huruf. Huruf ini diperoleh
berdasarkan nilai ujian
skala 0-100 dengan kategori sebagai berikut
Nilai 80-100: A
70-79 : B
60-69 : C
50-59 : D
0-49: E

Dari Perhatikan Kode
Program berikut, dan hasilnya.

5.3.2.2. Menanya
Dari hasil pengamatan kalian,
jawablah pertanyaan berikut ini.
1. Mengapa untuk nilai =100 hurufnya adalah D?
2. Mengapa terjadi kesalahan seperti itu?
3. Bagaimana cara/teknik mencari
kesalahan algortimik dalam kode program?
5.3.2.3.
Mengumpulkan Informasi/Mencoba
Mencari kesalahan logika dalam alur
algoritma pemrograman merupakan sesuatu yang
cukup sulit. Oleh karena itu digunakan istilah debugging
(mencari kutu). Kesalahan sekecil apapun jika itu merupakan kesalahan algortimik
akan mempengaruhi hasil dari program tersebut. Semakin kecil kesalahan itu maka
akan sulit mencarinya, sehingga diibaratkan sesulit mencari kutu.
Secara garis besar
melakukan debugging program dapat dilakukan dengan beberapa cara, yaitu:
1. menjalankan kode program baris demi baris (pernyataan
demi pernyataan)
2. menjalankan program hingga
baris tertentu, dengan menggunakan breakpoint
3. Melihat isi dari variabel memori
ketika program dijalankan.
Menjalankan Kode Baris demi Baris
Salah
satu strategi mencari
kesalahan adalah meneliti
baris per baris pernyataan dan mencoba,
apakah pada baris tersebut sudah benar atau belum. Ini bisa dilakukan secara
manual atau menggunakan perintah yang ada pada tool pembat aplikasi, dalam hal ini Free Pascal.
Mengecek baris per baris pernyataan apakah sudah benar dengan mencobakan
beberapa nilai, tentunya yang menghasilkan keluaran salah.
Misalkan dalam kode program di atas,
kita akan lihat satu persatu pernyataan dengan nilai input nilai=100. Berikut ini potongan bagian pernyataan. Akhir
pernyataan biasanya diakhiri dengan titik
koma. Selanjutnya adalah kita melakukan pemeriksaaan apakah pernyataan tersebut
sudah benar sesuai dengan harapan.
Untuk itu kita dapat melakukan secara bertahap, carannya
mulai dari atas, tentukan
pernyataan manakah yang akan diperiksa, kemudian beri tanda komentar untuk semua pernyataan di bawahnya. Contoh
sebagai berikut. Perintah writeln tidak dimasukkan dalam komentar karena dari sinilah kita mengetahui outputnya sudah sesuai atau belum.

Kemudian jalankan, apakah
hasilnya sudah sesuai?
Tentu untuk kasus
ini sudah, karena
hanya meminta inputan
nilai. Selanjutnya diambil pernyataan selanjutnya, keluarkan dari komentar.


Jalankan dan beri nilai variabel nilai=100.
Ternyata hasilnya sudah benar.

Langkah berikutnya
keluarkan pernyataan tersisa dari komentar.

Hal ini menandakan
bahwa kesalahan terletak pada pernyataan
Setelah mengetahui letak kesalahannya,
langkah selanjutnya adalah memperbaiki.
Kita lihat bahwa struktur percabangan
ini ternyata terpisah dari percabangan sebelumnya. Pada struktur percabangan sebelumnya program sudah memberikan
huruf = ‘A’ untuk nilai =100. Karena
ada struktur percabangan baru maka nilai diperiksa kembali sehingga karena
nilai>=50 hurufnya diganti
menjadi ‘D’. Algoritma yang benar harusnya:

Menggunakan BreakPoint
dan Watch
Jika kode program cukup banyak, maka pengecekan baris demi baris
memerlukan waktu yang lama. Hal ini
bisa diatasi dengan menentukan breakpoint. Caranya letakkan kursor di mana program
akan berhenti kemudian pilih menu
Debug, pilih Breakpoint.

Breakpoint akan mengakibatkan program
berhenti pada baris di mana breakpoint diset/ditentukan. Pada saat itu, proses
dikembalikan pada IDE dan dimungkinkan untuk dijalankan kembali.
Fasilitas Watch adalah fasilitas
untuk melihat isi variabel memori pada saat program dihentikan (oleh breakpoint). Watch
ditampilkan di window baru dengan memilih menu Debug,
pilih Add Watch atau dengan menekan Ctrl+F7.
Isikan dengan nama variabel
yang akan dilihat isinya.

Kemudian klik menu Debug, dan plih Watch sehingga
muncul jendela baru di bagian bawah.
Untuk perubahan isi dari variabel huruf, tekan F7 secara berturutan. Kursor
pada kode program berubah menunjukkan
sejauh mana eksekusi dilakukan, dan berpengaruh pada nilai huruf atau tidak?



Perubahan nilai variabel
huruf dapat dilihat
langkah demi langkah
sehingga kita bisa tahu kapan
kesalahan itu terjadi.
LEMBAR KERJA
SISWA
Terapkan teknik debugging
untuk menentukan kesalahan
dari kode program berikut.
1. Program menentukan besar biaya sewa CD, di mana biayanya
sama dengan jumlah CD dipinjam dikali biaya sewa per CD kemudian ditambahkan dengan denda
yang besarnya 500 per CD per hari keterlambatan. Biaya


Buatlah perhitungan manual
sebagai perbandingan, langkah
per langkah.
2.

Progam menentukan
jumlahan deret bilangan 1+4+7+10+13+... yang
kurang dari n
a. Apakah program di atas sudah menghasilkan output
yang benar?
b. Dapatkah kita terapkan
teknik debugging untuk
memperbaiki program di atas. Jika tidak jelaskan, jika bisa, lakukan.
5.3.2.4.
Mengasosiasikan
Dari hasil pekerjaan
LKS,buat kesimpulan apa itu debugging,
seberapa pentingnya proses
debugging ini, dan bagaimana melakukannya?
5.3.2.5.
Mengkomunikasikan
Presentasikan pekerjaan LKS kalian di depan kelas,
dan diskusikan dengan
teman-teman yang lain.
5.3.3.
Rangkuman
1.
Debugging adalah proses menemukan
kesalahan, terutama kesalaman
algoritmik dalam sebuah program
2.
Debugging dapat dilakukan dengan
menjalankan baris per baris perintah, atau sekumpulan perintah hingga titik tertentu (breakpoint) atau dengan melihat
isi dari variabel dari langkah per langkah.
5.3.4.
Tugas
Buat sebuah program dalam permasalahan sehari-hari yang
memerlukan beberapa rumus yang panjang, misalkan
penggajian, persewaan mobil, dan sebagainya. Kemudian tuliskan strategi
melacak kesalahan (debugging). Kumpulkan
dalam bentuk laporan tertulis dalam Microsoft
Word.
5.3.5.
Uji Kompetensi.
Pilihlah jawaban yang benar dengan memberikan tanda silang pada huruf a,
b, c, d, atau e.
1. Yang termasuk kesalahan
algoritmik adalah ....
a. menentukan operasi pada rumus
b. menuliskan format membaca inputan
c. memilih tipe data
d. pembagian dengan nol
e. memasukkan input di luar range
2. Salah dalam mentukan kondisi percabangan termasuk
kesalahan ....
a. sintaks
b. struktur
c. run-time error
d. algoritmik
e. user
3.
Untuk melihat isi variabel pada tiap langkah digunakan perintah
....
a.
Breakpoint
b.
Memory
c.
Watch
d.
Lookup
e.
Step
4.
Agar kita bisa memberhentikan program pada titik tertentu
digunakan perintah ....
a.
Breakpoint
b.
Memory
c.
Watch
d.
Lookup
e.
Step
5.
Setelah tahap uji coba dan debugging, langkah pada pembuatan program adalah ....
a.
Pemeliharaan
b.
Pemrograman
c.
Desain
d.
Analisis kebutuhan
e.
Selesai
5.4. KEGIATAN BELAJAR 4 STUDY KASUS PROYEK PENGEMBANGAN APLIKASI
Setelah hampir satu semester kalian
belajar dasar-dasar pemrograman dengan Pascal,
maka di akhir buku ini kalian akan menerapkan semuanya
dalam satu tugas, yaitu proyek membuat
program berskala besar dari permasalahan yang ada di kehidupan sehari-hari. Masing menyambung kegiatan sebelumnya, kita akan
menggunakan permasalahan pada KB 1, pada Bab
ini yaitu permasalahan pembuatan program penghitungan
tagihan listrik.
5.4.1. Tujuan Pembelajaran
Siswa mampu membuat aplikasi dalam kehidupan sehari-hari dengan Bahasa Pascal.
5.4.2.
Aktivitas kegiatan belajar Siswa
LEMBAR KERJA
SISWA
Dengan kelompok kalian, buatlah
program/aplikasi untuk menentukan besarnya tagihan listrik berdasarkan Tabel TDl dan keterangnnya berikut untuk
semua golongan dan batas daya. Tentukan
input dan outputnya dan buatlah format nya semenarik mungkin. Hasil pekerjaan
ini sekaligus sebagai evaluasi dari kegiatan
belajar ini.

Tabel di atas menggambarkan biaya yang harus dibayarkan oleh pelanggan PLN kategori Keperluan Rumah Tangga. Ada dua macam
pemakaian yaitu REGULER dan PRA BAYAR. Kita hanya
fokus pada mepakaian REGULER. Ada dua macam biaya yang harus ditanggung, yaitu Biaya Beban dan biaya Pemakaian. Berikut
ini beberapa contoh cara penghitungan biaya tagihan listrik tiap bulannya.
Batas daya 450
dan 900 VA
Biaya
Beban= Rp 11.000
Biaya Pemakaian dihitung bertahap (per
blok)
-
Blok 1: 0-30 kWh dengan biaya Rp 169,-/kWh
-
Blok 2 : di atas 30 sampai 60
kWh dengan biaya Rp. 360,-/kWh
-
Blok 3: di atas 60
kWh dengan biaya Rp 495,-/kWh. Berikut
ini contoh perhitungannya.

Pemakaian kurang dari 30
kWh

Pemakaian di atas 30 kWh hingga 60 kWh

Pemakain di atas 60 kWh
Perhitungan yang
sama dilakukan untuk daya
pemakai 900 VA.
Batas Daya 1300 VA ke atas
Untuk
kategori ini Biaya Beban dihitung dengan Tarif Minimum dengan rumus Tarif Minimum = 40 x Daya tersambung (kVA) x
Biaya Pemakaian
Biaya Pemakaian = Rp. 1.352,-
Tarif minimum berarti jika pemakaian kurang dari atau sama dengan 40 x Daya Tersambung (kVA) maka pelanggan
tetap harus membayar sebesar tarif minimum. Jika lebih dari itu, dapat langsung dihitung
besarnya biaya pemakaian saja (biaya beban sudah otomatis masuk pada perhitungan). Contoh :

Daya Tersambung 2.200 VA= 2,2 kV
Perhitungan yang sama diterapkan untuk daya tersambung 1.300 VA, 3500-5.500 VA dan 6.500
VA ke atas.
Buatlah
program/aplikasi perhitungan tagihan listrik di atas secara berkelompok. Buatlah
format input dan output semenarik mungkin.
DAFTAR PUSTAKA
Anany
Levitin, 2002. Introduction to the Design & Analysis of Algorithms, Addison
Wesley:United States
Munir, Rinaldi, 2011. Algoritma dan pemrograman dalam
bahasa Pascal dan C, Informatika Bandung
Michaël Van Canneyt, 2010. Reference guide for Free Pascal, version 2.4.2. http://web.fe.up.pt/~jmcruz/si/si.1011/doc/ref-fpc.pdf. Diakses
tanggal 25 Nopember 2014.
Motaz
Abdel Azeem,2012. Start programming using
Object Pascal Free Pascal/Lazarus. http://www.hnue.edu.vn/Portals/0/TeachingSubject/hoanglm/27736a95-2ee0-47c4-be13- d810aa36cd76ObjectPascalBasis.pdf. Diakses tanggal 25 Nopember 2014.
Pressman, RS, 2008. Software
Engineering: A Practitioner’s Approach. New York:McGraw-Hill.
Tim
Pembina TOKI, 2004. Seri Buku Persiapan Seleksi Tim Olimpiade Komputer
Indonesia:Buku Untuk Siswa, Referensi Pemrograman Bahasa Pascal Menggunakan Free Pascal Versi
1.0.10. Departemen Pendidikan Nasional Indonesia. Jakarta http://www.Freepascal.org. Diakses
tanggal 25 Nopember 2014.



Komentar
Posting Komentar