Puji syukur kami panjatkan kepada Tuhan yang Maha Esa atas tersusunnya buku teks ini,
dengan harapan dapat digunakan sebagai buku teks untuk siswa Sekolah Menengah Kejuruan
(SMK) Program Keahlian Teknik Komputer Jaringan, Bidang StudiTeknik Komputer dan
Informatika, Pemrograman Dasar
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) atau Student Active Learning.
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. Buku Teks Pemrograman Dasar ini digunakan
untuk kelas X semester I/II dan untuk kelas XI Semester I/II
Penyajian buku teks untuk Mata Pelajaran Pemrograman Dasar ini disusun dengan tujuan
agar supaya 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 scientifik), dengan demikian peserta didik diarahkan
untuk menemukan sendiri berbagai fakta, membangun konsep, dan nilai-nilai baru secara mandiri.
Penyusun,
Wahyu Sumantri Sutiar, S.T
DAFTAR ISI
GLOSARIUM
Algoritma adalah suatu metode khusus yang tepat dan terdiri dari serangkaian langkah yang
terstruktur dan dituliskan secara matematis, yang akan dikerjakan untuk menyelesaikan suatu
masalah dengan bantuan komputer.
Variabel adalah suatu pengenal (identifier) yang digunakan untukmewakili suatu nilai tertentu di
dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai dari suatu
variable bisa diubah-ubahsesuai kebutuhan.
Tipe data merupakan bagian program yang paling penting karena tipe data mempengaruhi setiap
instruksi yang akan dilaksanakan oleh computer.
Konstanta merupakan suatu nilai yang tidak dapat diubah selama proses program berlangsung.
Konstanta nilainya selalu tetap.
Operator artinya memberikan nilai 5 ke dalam variable a. Sebelah kiri tanda = dalam pernyataan
di atas, dikenal dengan lvalue (left value) dan di sebelah kanan tanda = dikenal dengan rvalue
(right value). lvalue harus selalu berupa variable, sedangkan rvalue dapat berupa variable, nilai,
konstanta, hasil operasi ataupun kombinasinya.
Pseudocode adalah deskripsi dari algoritma pemrograman computer yang menggunakan struktur
sederhana dari beberapa bahasa pemograman tetapi bahasa tersebut hanya ditujukan agar dapat
dibaca manusia.
Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu
program, yang menyatakan arah alur program tersebut.
Source Code adalah kumpulan dari beberapa kode bahasa pemrograman tertentu yang membentuk
sebuah deklarasi / perintah yang dapat dibaca oleh komputer dan untuk menjalankan source code
tersebut membutuhkan sebuah penterjemah dalam hal ini adalah software tertentu seperti 'Turbo
Pascal' untuk dieksekusi / dikompile.
Jaringan
Dasar
Perakitan
Komputer
BAB 1. PENDAHULUAN
A. Diskripsi.
Pemrograman Dasar adalah salah satu mata pelajaran wajib dasar program keahlian Teknik
Komputer dan Informatika (TKI). Berdasarkan struktur kurikulum mata pelajaran Pemrograman
Dasar disampaikan di kelas X semester 1/2 dan di kelas XI semeseter 1/2 masing-masing 2 jam
pelajaran. Untuk semester 1 topik materi pembelajaran menekankan pada Konsep dasar tentang
pemrogram dasar yakni Algoritma Pemrograman, Algoritma Percabangan, Algoritma Perulangan.
Sedangkan untuk semester 2 topik materi pembelajaran menekankan pada Bahasa pemrograman,
Tipe Data, Variable, Operator dan Ekspresi, Struktur Kontrol Pencabangan, Struktur Kontrol
Perulangan, dan Pengembangan Algoritma Aplikasi.
Pembelajaran Pemrograman Dasar ini menggunakan metode pendekatan scientifik. Dalam
pendekatan ini praktikum atau eksperimen berbasis sains merupakan bidang pendekatan ilmiah
dengan tujuan dan aturan khusus, dimana tujuan utamanya adalah untuk memberikan bekal
ketrampilan yang kuat dengan disertai landasan teori yang realistis mengenai fenomena yang akan
kita amati. Ketika suatu permasalahan yang hendak diamati memunculkan pertanyaan-pertanyaan
yang tidak bisa terjawab, maka metode eksperimen ilmiah hendaknya dapat memberikan jawaban
melalui proses yang logis. Proses-proses dalam pendekatan scientifik meliputi beberapa tahapan
(gambar 3) yaitu: mengamati, hipotesis atau menanya, mengasosiasikan atau eksperimen,
mengumpulkan atau analisa data dan mengkomunikasikan. Proses belajar pendekatan eksperimen
pada hakekatnya merupakan proses berfikir ilmiah untuk membuktikan hipotesis dengan logika
berfikir.
Prasyarat.
Berdasarkan peta kedudukan bahan ajar, mata pelajaran Pemrograman Dasar ini berdiri
sendiri dan bersama sama satu kelompok dengan mata pelajaran pemrograman web, system
operasi, perakitan computer dan simulasi digital. Pemrograman Dasar merupakan tahapan untuk
menyiapkan bagaimana memecahkan permasalahan dalam suatu pemrograman sehingga
menghasilkan program yang baik. Untuk memahami Pemrograman yang benar, dibutuhkan
pemahaman terhadap algoritma.
C. Petunjuk Penggunaan.
Buku pedoman siswa ini disusun berdasarkan kurikulum 2013 yang mempunyai ciri khas
penggunaan metode scientifik. Buku ini terdiri dari dua bab yaitu bab 1 pendahuluan dan bab 2
pembelajaran. Dalam bab pendahuluan beberapa yang harus dipelajari peserta didik adalah
diskripsi mata pelajaran yang berisi informasi umum, rasionalisasi dan penggunaan metode
scientifik. Selanjutnya pengetahuan tentang persyaratan, tujuan yang diharapkan, kompetensi inti
dan dasar yang akan dicapai serta test kemampuan awal.
Bab 2 menuntun peserta didik untuk memahami diskripsi umum tentang topik yang akan
dipelajari dan rincian kegiatan belajar sesuai dengan kompetensi dan tujuan yang akan dicapai.
Setiap kegiatan belajar terdiri dari tujuan dan uraian materi topik pembelajaran, tugas serta test
formatif. Uraian pembelajaran berisi tentang diskripsi pemahaman topik materi untuk memenuhi
kompetensi pengetahuan. Uraian pembelajaran juga menjelaskan diskripsi unjuk kerja atau
langkah-langkah logis untuk memenuhi kompetensi skill.
Tugas yang harus dikerjakan oleh peserta didik dapat berupa tugas praktek, eksperimen atau
pendalaman materi pembelajaran. Setiap tugas yang dilakukan melalui beberapa tahapan scientifik
yaitu : 1) melakukan pengamatan setiap tahapan unjuk kerja 2) melakukan praktek sesuai dengan
unjuk kerja 3) mengumpulkan data yang dihasilkan setiap tahapan 4) menganalisa hasil data
menggunakan analisa diskriptif 5) mengasosiasikan beberapa pengetahuan dalam uraian materi
BAB II PEMBELAJARAN
A. Diskripsi
Pemrograman Dasar merupakan matapelajaran yang membahas mulai dari Algoritma
Pemrograman, Algoritma Pencabangan, Algoritma Perulangan, Bahasa Pemrograman, Tipe Data,
Variabel, operator dan Ekspresi, Struktur Kontrol Pencabangan, Struktur Kontrol Perulangan, dan
Pengembangan Algoritma Aplikasi.
B. Kegiatan Belajar
Kegiatan belajar menjelaskan tentang aktifitas pembelajaran yang dilakukan siswa, meliputi
mempelajari uraian materi, mengerjakan test formatif dan tugas atau eksperimen dari proses
mengamati sampai menyusun laporan
C. ALGORITMA PEMROGRAMAN
Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar 1 ini siswa diharapkan dapat :
1) Memahami Algoritma
2) Menerapkan algoritma sebagai pemecahan masalah
3) Menganalisis permasalahan dengan menggunakan algoritma
Uraian Materi
1. Pertemuan 1 : Mengenal Konsep Algoritma
a. Masalah
Manusia hidup dengan segala masalah yang melingkupinya. Hidup pada dasarnya adalah
serangkaian aktivitas menyelesaikan masalah. Dalam Bahasa Indonesia, istilah lain yang sepandan
pengertiannya dengan kata masalah adalah persoalan (problem).
Masalah adalah pertanyaan atau tugas yang kita cari jawabannya.
Contoh beberapa masalah dalam kehidupan sehari-hari misalnya:
1) Diberikan setumpuk kartu pasien di sebuah tempat prektek dokter yang tersusun acak.
Setiap kartu mempunyai nomor registrasi pasien.
Bagaimana mengurutkan kartu-kartu tadi berdasarkan nomor urut pasien sehingga tersusun
dengan nomor kecil di atas dan nomor besar di bawah.
2) Diberikan sebuah daftar yang berisi nama-nama siswa baru yang diterima pada di sebuah
SMK. Daftar tersebut hanya berisi nomor peserta ujian yang diterima. Carilah apakah
seorang calon siswa baru yang nomor peserta ujiannya diketahui terdapat di dalam daftar
tersebut? Jawaban dari masalah ini adalah ya jika nomor tersebut ditemukan di dalam
daftar, atau tidak jika tidak terdapat di dalamnya.
3) Diberikan daftar nama pejabat baru beserta jumlah kekayaannya. Tentukan pejabat mana
yang mempunyai kekayaan paling besar? Jawaban dari masalah ini adalah nama pejabat
yang mempunyai kekayaan paling besar.
b.
Algoritma
Untuk masalah dengan instansiasi yang kecil, kita dapat menemukan solusinya dengan mudah
dan cepat. Bagaimana kalau instansiasi masalah berukuran besar? Misalnya pada masalah
pengurutan, jika n = 1000 jelas tidak mudah mengurutkan data sebanyak itu. Oleh karena itu, kita
perlu menuliskan prosedur yang berisi langkah-langkah pengurutan sehingga prosedur tersebut
dapat dijalankan oleh sebuah pemroses (komputer, manusia, robot, dan sebagainya) untuk
menghasilkan solusi setiap instansiasi masalah pengurutan. Kita katakana langkah-langkah
pengurutan itu untuk memecahkan masalah. Kita katakana langkah-langkah pengurutan itu untuk
memecahkan masalah. Prosedur yang berisi langkah-langkah penyelesaian masalah disebut
algoritma.
Algoritma adalah urutan langkah-langkah untuk memecahkan masalah.
Terdapat beberapa definisi lain dari algoritma tetapi prinsipnya senada dengan definisi yang
diungkapkan di atas yang kita kutip berbagai literature, antara lain:
Algoritma adalah deretan langkah-langkah komputasi yang mentransformasikan data
masukan menjadi keluaran [COR92].
Algoritma adalah deretan instruksi yang jelas untuk memecahkan masalah, yaitu untuk
memperoleh keluaran yang diinginkan dari suatu masukan dalam jumlah waktu yang
terbatas[LEV03].
Algoritma adalah prosedur komputasi yang terdifinisi dengan baik yang menggunakan
beberapa nilai sebagai masukan dan menghasilkan beberapa nilai yang disebut keluaran. Jadi,
Sejarah Algoritma
Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh. Orang
hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Anda
dikatakan algorist jika Anda menghitung menggunakan angka arab. Para ahli bahasa berusaha
menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah
matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal
yaitu Abu Ja far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat
menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang
artinya Buku pemugaran dan pengurangan (The book of restoration and reduction). Dari judul buku
itu kita juga memperoleh akar kata Aljabar (Algebra). Perubahan kata dari algorism menjadi
algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran sm
berubah menjadi thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka
lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi)
secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm
diserap menjadi algoritma.
Input
Proses
Pengolahan Data
Memory
Output
Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar memprogram
adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu
notasi tertentu yang mudah dibaca dan dipahami.
Sedangkan belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan
tata bahasanya, pernyataan-pernyataannya, tata cara pengoperasian compiler-nya, dan
memanfaatkan pernyataan-pernyataan tersebut untuk membuat program yang ditulis hanya dalam
bahasa itu saja. Sampai saat ini terdapat puluhan bahasa pemrogram, antara lain bahasa rakitan
(assembly), Fortran, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasabahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo.
Berdasarkan Terapannya, bahasa pemrograman dapat digolongkan atas dua kelompok besar:
1) Bahasa pemrograman bertujuan khusus. Yang termasuk kelompok ini adalah Cobol (untuk
terapan bisnis dan administrasi). Fortran (terapan komputasi ilmiah), bahasa rakitan (terapan
pemrograman mesin), Prolog (terapan kecerdasan buatan), bahasa-bahasa simulasi, dan
sebagainya.
2) Bahasa pemrograman bertujuan umum, yang dapat digunakan untuk berbagai aplikasi. Yang
termasuk kelompok ini adalah bahasa Pascal, Basic dan C. Tentu saja pembagian ini tidak
kaku. Bahasa-bahasa bertujuan khusus tidak berarti tidak bisa digunakan untuk aplikasi lain.
Cobol misalnya, dapat juga digunakan untuk terapan ilmiah, hanya saja kemampuannya
terbatas.
Yang jelas, bahasa-bahasa pemrograman yang berbeda dikembangkan untuk bermacam-macam
terapan yang berbeda pula.
Berdasarkan pada apakah notasi bahasa pemrograman lebih dekat ke mesin atau ke bahasa
manusia, maka bahasa pemrograman dikelompokkan atas dua macam:
1) Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap instruksinya langsung
dikerjakan oleh komputer, tanpa harus melalui penerjemah (translator). Contohnya adalah
bahasa mesin. CPU mengambil instruksi dari memori, langsung mengerti dan langsung
mengerjakan operasinya. Bahasa tingkat rendah bersifat primitif, sangat sederhana, orientasinya
lebih dekat ke mesin, dan sulit dipahami manusia. Sedangkan bahasa rakitan dimasukkan ke
dalam kelompok ini karena alasan notasi yang dipakai dalam bahasa ini lebih dekat ke mesin,
meskipun untuk melaksanakan instruksinya masih perlu penerjemahan ke dalam bahasa mesin.
2) Bahasa tingkat tinggi, yang membuat pemrograman lebih mudah dipahami, lebih manusiawi ,
dan berorientasi ke bahasa manusia (bahasa Inggris).Hanya saja, program dalam bahasa tingkat
tinggi tidak dapat langsung dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu
oleh sebuah translator bahasa (yang disebut kompilator atau compiler) ke dalam bahasa mesin
sebelum akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah Pascal, PL/I, Ada,
Cobol, Basic, Fortran, C, PHP, C++, dan sebagainya.
Test Formatif
1. Buatlah Algoritma Penerimaan Siswa Baru ?
2. Buatlah Algoritma Mengitung Luas Segitiga ?
3. Buatlah Algoritma menjahit pakaian ?
4. Buatlah Algoritma membuat nasi goreng?
5. Jelaskan perbedaan Algoritma dan pemrograman?
6. Sebutkan Keuntungan Pembuatan algoritma ?
7. Berdasarkan pada notasi bahasa pemrograman lebih dekat ke mesin atau ke bahasa manusia,
maka bahasa pemrograman dapat dikelompokkan menjadi, Sebutkan & Jelaskan ?
8. Berdasarkan pada notasi bahasa pemrograman lebih dekat ke mesin atau ke bahasa manusia,
maka bahasa pemrograman dapat dikelompokkan menjadi ? Sebutkan & Jelaskan?
9. Sebutkan dan Jelaskan paradigma pemrograman ?
2. Pertemuan 2 : Struktur Algoritma
a. Pernyataan
Sebuah algoritma merupakan deskripsi langkah-langkah pelaksanaan suatu proses. Setiap
langkah di dalam algoritma dinyatakan dalam sebuah pernyataan (statement) atau istilah lainnya
instruksi. Sebuah pernyataan berisi aksi (action) yang dilakukan. Bila sebuah pernyataan
dieksekusi oleh pemroses, maka aksi yang bersesuaian dengan pernyataan itu dikerjakan.
Sebagai contoh, misalkan di dalam algoritma ada pernyataan berikut:
Tulis Hello World
Maka pernyataan tersebut menggambarkan aksi menulis pesan Hallo World.
Pernyataan
Kalikan a dengan 2
Menggambarkan aksi mengalikan a dengan 2 dan hasil perkalian disimpan di dalam peubah a lagi.
b.
Kontruksi Dasar
Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut
dapat berupa runtunan aksi, pemilihan aksi, pengulangan aksi. Ketiga jenis langkah tersebut
membentuk kontruksi suatu algoritma. Jadi, sebuah algoritma dapat dibangun dari tiga buah
kontruksi atau struktur dasar, yaitu runtunan (sequence), pemilihan (selection), dan pengulangan
(repetition).
1) Runtunan
Sebuah runtunan terdiri dari satu atau lebih pernyataan, setiap pernyataan dtulis dalam satu baris
atau dipisahkan dengan tanda titik koma. Tiap pernyataan dikerjakan secara berurutan
(sekuensial) sesuai dengan urutannya didalam teks algoritma, yaitu sebuah instruksi
dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan. Urutan intruksi menentukan
keadaan akhir algoritma. Bila urutannya diubah, maka hasil akhirnya mungkin juga berubah.
Runtunan satu atau lebih pernyataan dinamakan pernyataan-gabungan (compound
statements).
Contoh runtunan.
s1, s2, s3, s4, s5
mula-mula proses melaksanakan pernyataan s1, pernyataan s2 dilaksanakan setelah pernyataan
s1 selesai. Selanjutnya, pernyataan s3 dilaksanakan setelah pernyataan s2 selesai. Demikian
seterusnya sampai pernyataan terakhir s5 dilaksanakan. Setelah pernyataan s5 selesai
dilaksanakan, algoritma berhenti.
2) Pemilihan
Adakalnya sebuah intruksi dikerjakan jika kondisi tertentu dipenuhi.
Ekspresi pernyataan pemilihan
If kondisi then
Aksi
Dalam bahasa indonesia, if berarti jika dan then artinya maka;
Kondisi adalah persyaratan yang dapat bernilai benar atau salah; aksi sesudah kata then hanya
dilaksanakan apabila kondisi bernilai benar. Sebaliknya, jika kondisi salah, maka aksi tidak
dilaksanakan.
Contoh :
If air di dalam ketel mendidih then
Matikan api kompor
If x habis dibagi 2 then
Tulis bahwa x bilangan genap
Struktur pemilihan if-then hanya memberikan satu pilihan aksi bila kondisi (persayaratan)
dipenuhi (bernilai benar), dan tidak memberi pilihan aksi lain bila kondisi bernilaii salah.
Bentuk pemilihan yang lebih umum ialah memilih satu ari dua buah aksi bergantung pada nilai
kondisinya:
If kondisi then
Aksi 1
Else
Aksi 2
Else artinya kalau tidak. Bila kondisi terpenuhi, aksi 1 akan dikerjakan, tetapi kalau tidak
(yaitu kondisi salah), aksi 2 yang akan dikerjakan. Misalnya pada pernyataan berikut:
If lampu a nyala then
Tekan tombol merah
Else
Tekan tombol biru
If x habis dibagi 2 then
Tulis genap
Else
Tulis ganjil
3) Pengulangan
Salah satu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama
berulang kali tanpa kenal lelah. Ini berbeda dengan manusia yang cepat lelah bila mengerjakan
pekerjaan yang sama berulang-ulang. Tidak hanya lelah, tetapi juga cepat bosan.
Contoh: menuliskan sebuah kalimat saya berjanji tidak akan nakal dan malas lagi yang sama
sebanyak 100 kali?
b.
Type Data
Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan
dalam pemrograman komputer.
c.
Konstanta
Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. Hampir sama
dengan variabel, konstanta juga digunakan untuk penyimpanan nilaisementara. Namun perbedaan
konstanta dengan variabel adalah pada konstanta tidak dapat mengubah nilainya jika sudah
dideklarasikan. Cara pendeklarasiannya pun berbeda dengan variabel. Pada konstanta digunakan
keyword const untuk mendeklarasikan variable.
Sebagai Contoh
Const phi=3.14
Const y=hallo world
d.
Operator
Operator adalah simbol yang digunakan dalam program untuk melakukan suatu operasi.
Operator berguna untuk melakukan suatu operasi pada suatu nilai. Operator pada Pascal sangatlah
umum sehingga mudah untuk dipahami. Disini kita akan membahas operator yang sering
digunakan.
Jenis Operator
Aritmatika
Perbandingan
Logika
Operator
^
()
*
/
+
=
<
>
<=
>=
<>
And
Or
Xor
Contoh
5^2
2+(5-4)
1*2
2/2
2+2
2-1
A=2
A<2
A>2
A<=2
A>=2
A<>2
A and B
A or B
A xor B
Keterangan
Akar
Kurung
Perkalian
Pembagian
Penjumlahan
Pengurangan
Samadengan
Lebih kecil
Lebih besar
Lebih kecil sama dengan
Lebih besar sama dengan
Tidak sama dengan
True jika a dan b true
True jika a or b true
True jika a dan b true, tapi
tidak keduanya
Test formatif
1. Tentukan salah atau benar pada nama-nama variabel berikut ini. Jika salah cobalah berikan
alasan.
a. nama.guru
b. NamaGuru
c. 2x
d. harga/buku
e. hargaPerBuku
2. Tentukan tipe data yang cocok untuk hal-hal berikut ini (perhatikan ini bukan nama variabel)
dan jelaskan alasannya.
a. Jumlah murid
b. Berat badan
c. Tinggi badan
d. Nama siswa
e. Tempat lahir
f. Tanggal lahir
4.
Pertemuan 4 : Pseudocode
Notasi Algoritmik yang baik adalah notasi yang mudah dibaca dan mudah pula ditransalasikan
ke dalam notasi bahasa pemrograman. Notasi algoritmik berupa pseudo-code mempunyai
korespondensi dengan notasi bahasa pemrograman sehingga proses penerjemahan dari pseudo-code
ke kode program menjadi lebih mudah.
Contoh sebuah pernyataan dalam notasi deskriptif
Tulis nilai x dan y maka pseudo-code nya dalam notasi algoritmik mungkin ditulis sebagai:
Write (x,y) notasi write berarti nilai x dicetak ke piranti keluaran.
Algoritmik:
Write (x,y)
Bahasa pascal
Write (x,y)
Contoh sebuah pernyataan dalam notasi deskriptif
Isikan nilai x ke dalam min
Maka notasi pseudo-code nya dalam notasi algoritmik menjadi:
minx
Algoritmik
minx
Bahasa Pascal
Min:=x;
Contoh sebuah pernyataan dalam notasi deskriptif
Rekam nilai x ke dalam min
Maka notasi pseudo-code nya dalam notasi algoritmik menjadi:
Write (Masukan nila x: )
Read (min)
Algoritmik
Read (min)
Bahasa Pascal
Write (masukan nila x: );
Read (min);
Contoh :
Algoritmik
{program penjumlahan}
Deklarasi
A:integer
B:integer
C:integer
Algoritma
A1
B1
CA+B
Bahasa pascal
Program penjumlahan;
Uses crt;
Var A,B,C:integer;
Begin
A:=1
B:=1
C:=A+B
write(C)
end.
write(C)
Latihan praktek:
Pada suatu penginapan memiliki perhitungan pembayaran nginap sebagai berikut :
Jumlah bayar dihitung dari lama menginap dikali dengan harga kamar per hari.
Program nginap
Deklarasi
Lm : integer
Hk : real
Algoritma
Write (Lama menginap : )
Read (lm)
Write (Harga kamar per hari : )
Read (hk)
jmllm*hk
write (Jumlah bayar : ,jml)
Terjemahkan algoritma diatas kedalam bahasa pemrograman Turbo Pascal
Test formatif
Proses program yang dikehendaki:
Masukan
- Banyaknya barang yang dibeli (nama variable qty)
- Harga satuan barang (nama variable hrgbrg)
Rumus
Jumlah bayar (nama variable jmlbyr) dihitung dari banyaknya barang yang dibeli dikali
harga satuan barang
Keluaran
-
Jumlah bayar
Tampilan dilayar
Banyaknya barang :
Harga satuan :
Jumlah bayar :
Terjemahkanlah studi kasus tersebut kedalam bentuk algoritma dan kedalam bahasa pemrograman
pascal?
Catatan : data banyak barang, harga satuan diinput sedangkan jumlah bayar otomatis
5.
NAMA
FUNGSI
TERMINATOR
Permulaan/akhir program
GARIS ALIR
(FLOW LINE)
PREPARATION
PROSES
INPUT/OUTPUT
DATA
PREDEFINED
PROCESS
(SUB PROGRAM)
DECISION
Perbandingan pernyataan,
penyeleksian data yang memberikan
pilihan untuk langkah selanjutnya
ON PAGE
CONNECTOR
OFF PAGE
CONNECTOR
Dari contoh algoritma di atas tentang menentukan apakah suatu bilangan adalah bilangan ganjil
atau bilangan genap, flowchart dari program adalah sebagai berikut :
Start
Input
Bilanga
n
Hitung sisa
bagi antara
bilangan
dengan 2
Apaka
h
Sisa =
0
Y
Cetak
Genap
Cetak
Ganjil
End
A
Test Formatif
1. Buat flowchart atau langkah-langkah mematikan komputer yang benar
2. Buat flowchart diagnosis komputer yang mengalami kerusakan
3. Buat flowchart pengetesan jaringan komputer
D. Algoritma Percabangan
Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar 2 ini siswa diharapkan dapat :
1) Memahami struktur algoritma
2) Menganalisis data dalam suatu algoritma percabangan
Uraian Materi
1. Pertemuan 1: percabangan 1 kondisi
Notasi algoritmik untuk analisis dengan satu kasus adalah dengan menggunakan kontruksi IF
THEN (jika maka) dalam bentuk pernyataan:
{Dalam bentuk notasi algoritmik}
Notasi Flowchart
If kondisi then
aksi
endif
Pernyataan diatas berarti bahwa aksi hanya dilaksanakan bila kondisi bernilai benar (true). Bila
kondisi salah (false), tidak ada aksi apa pun yang dikerjakan. Kata endif sengaja kita tambahkan
untuk mempertegas awal dan akhir IF-THEN.
Notasi Flowchart
Program genap
Deklarasi
X : integer
Algoritma
Read (x)
If x mod 2 = 0 then
Write (genap)
endif
Latihan praktek:
Pada suatu hotel memiliki perhitungan tentang pembayaran menginap yaitu:
Jumlah bayar dihitung dari lama menginap dikali dengan harga kamar/hari. Jika jumlah bayar
diatas sama dengan 100000, maka mendapat potongan 10%, jika tidak potongan tidak dapat. Total
akhir bayar dihitung dari jumlah bayar dikurangi potongan.
Program nginap
Deklarasi
Lm:integer
Hk:real
Jml:real
Byrakh:real
Algoritma
Write (Lama menginap: )
Read (lm)
Write (Harga kamar per hari: )
Read (hk)
Jmllm*hk
If jml > 100000 then
Byrakhjml (jml*0.1)
Else
byrakhjml
endif
write (Jumlah bayar : ,jml)
Write (Total bayar akhir : ,byrakh)
Buat flowchart untuk algoritma di atas dan terjemahkan kedalam bahasa pemrograman pascal?
Test formatif;
Proses program yang dikehendaki:
Masukan
-
Rumus
Keterangan nilai (nama variable KETNIL) ditentukan dari nilai ujian C, jika nilai C diatas
sama dengan 56, maka variable KETNIL berisi lulus, jika tidak variable KETNIL berisi
gagal
Keluaran
- Keterangan nilai
Tampilan di layar
Nama siswa :
Nilai c :
Keterampilan nilai :
Terjemahkanlah studi kasus tersebut kedalam bentuk algoritma, flowchart dan kedalam bahasa
pemrograman pascal?
Catatan : nama siswa dan nilai c di input sedangkan keterangan otomatis
2.
Notasi Flowchart
If kondisi then
Aksi1
else
aksi2
endif
Notasi Flowchart
Program genap
Deklarasi
X : integer
Algoritma
Read (x)
If x mod 2 = 0 then
Write (genap)
Else
Write (ganjil)
endif
Latihan praktek:
Pada suatu hotel memiliki perhitungan tentang pembayaran menginap yaitu:
Jumlah bayar dihitung dari lama menginap dikali dengan harga kamar/hari. Jika jumlah bayar
diatas sama dengan 200000, maka mendapat potongan 20% dan keterangan Dapat Discount, jika
tidak maka keterangan Tidak Dapat Discount. Total akhir bayar dihitung dari jumlah bayar
dikurangi potongan.
Program nginap
Deklarasi
Lm:integer
Hk:real
Jml:real
Byrakh:real
Ket:string
Algoritma
Write (Lama menginap : )
Read (lm)
Write (Harga kamar per hari : )
Read (hk)
Jmllm*hk
If jml > 200000 then
Byrakhjml (jml*0.2)
Ket Dapat discount
Else
byrakhjml
Ket Tidak dapat discount
Endif
Write (Jumlah bayar : ,jml)
Write (Keterangan : ,ket)
Write (Total bayar akhir : ,byrakh)
Buat flowchart untuk algoritma di atas?
Test formatif
Proses program yang dikehendaki:
Masukan
- Nama karyawan (nama variable namakry)
- Gaji pokok (nama variable gapok)
- Jumlah jam kerja (nama variable jmljamk)
Rumus
Gaji pokok (nama variable gator) dihitung dari gaji pokok dikali jumlah jam kerja. Jika gaji
kotor diatas sama dengan 500000 dikenakan pajak (nama variable tax) 5% dan pada
variable keterangan (nama variable ket) diisi pajak, sebaliknya jika gaji kotor dibawah
500000, tidak dikenakan pajak dan variable keterangan diisi Bebas Pajak, gaji bersih
yang diterima (nama variablenya gjterima) dihitung dari gaji kotor yang diterima (nama
variable gjterima) dihitung dari gaji kotor dikurangi pajak
Keluaran
- Jumlah bayar
Tampilan di layar
Nama karyawan :
Gaji pokok :
Jumlah jam kerja :
Gaji kotor :
Pajak :
Gaji bersih :
Keterangan :
Terjemahkanlah studi kasus tersebut kedalam bentuk algoritma, flowchart dan kedalam bahasa
pemrograman pascal?
Catatan : nama karyawan, gaji pokok dan jumlah jam kerja di input sedangkan gaji kotor, pajak,
gaji bersih dan keterangan otomatis.
3.
Notasi Flowchart
Else
If kondisi2 then
Aksi2
Else
If kondisi3 then
Aksi2
Endif
Endif
Endif
Notasi Flowchart
Program genap
Deklarasi
X : integer
Algoritma
Read (x)
If x > 0 then
Write (negatif)
Else
If x < 0 then
Write (positif)
Else
If x = 0 then
Write (nol)
Endif
endif
endif
Latihan praktek :
Pada suatu hotel memiliki perhitungan tentang pembayaran menginap yaitu:
Jumlah bayar dihitung dari lama menginap dikali dengan harga kamar/hari. Ketentuan discount
dapat dilihat pada tabel dibawah ini.
Jumlah bayar
Jml > 300000
200000 < jml < 300000
100000 < jml < 200000
100000 < jml
Program nginap
Deklarasi
Lm:integer
Hk:real
Jml:real
Byrakh:real
Ket:string
Algoritma
Read (lm)
Read (hk)
Discount
30%
20%
10%
0
Jmllm*hk
If jml > 300000 then
Byrakhjml (jml*0.2)
Else
If jml >= 200000 then
byrakhjml
Ket Tidak dapat discount
Endif
Write (Jumlah bayar : ,jml)
Write (Keterangan : ,ket)
Write (Total bayar akhir : ,byrakh)
Buat flowchart untuk algoritma di atas?
Test formatif :
Proses program yang dikehendaki
Masukan
- Nomor induk mahasiswa (nama variable nim)
- Nama siswa (nama variable namasis)
- Nilai C (nama variable nilai_c)
Rumus
Nilai mutu huruf (nama variable index) ditentukan dari tabel di bawah ini
Nilai
Nilai C >= 85
70 <= nilai_c < 85
55 <= nilai_c < 70
40 <= nilai_c < 55
39 <= nilai_c
Mutu Huruf
A
B
C
D
E
Keterangan nilai (nama variable KETNIL) ditentukan dari nilai ujian C, jika nila C diatas
sama dengan 56, maka variable KETNIL berisi LULUS, jika tidak variable KETNIL
berisi GAGAL
Keluaran
Mutu huruf dan Keterangan Nilai
Tampilan dilayar
Nomor induk Mahasiswa :
Nama siswa :
Nilia C :
Mutu huruf :
Keterangan nilai :
Terjemahkanlah studi kasus tersebut kedalam bentuk algoritma, flowchart dan kedalam bahasa
pemrograman pascal?
Catatan : nomor induk mahasiswa, nama siswa dan nilai C diinput sedangkan mutu huruf,
keterangan otomatis
4.
Notasi Flowchart
0 : write (genap)
1 : write (ganjil)
Endcase
Notasi Flowchart
Program genap
Deklarasi
X : integer
Algoritma
Read (x)
If x > 0 then
Write (negatif)
Else
If x < 0 then
Write (positif)
Else
If x = 0 then
Write (nol)
Endif
endif
endif
Notasi Flowchart
Case nomormenu
1: read (panjang, lebar)
luaspanjang*lebar
write (luas)
2: read (panjang, lebar)
keliling2*panjang+2*lebar
write (keliling)
3: Read (panjang, lebar)
diagonalsqrt(panjang*panjang+lebar*lebar)
write (diagonal)
4: write (keluar program sampai jumpa)
endcase
Latihan praktek :
Program nginap
Deklarasi
Lm : integer
X : char
Hk : real
Jml : real
Byrakh : real
Algoritma
Write (lama menginap : )
Read (lm)
Write (harga kamar per hari : )
Read (hk)
jmllm*hk
while true do
write (jumlah beli : ,jml)
write (<<<< Pilihan >>>>)
write (1. 300000 keatas)
write (2. 200000 < jml <= 300000)
write (3. 100000 < jml <= 200000)
write (4. Kebawah 100000)
write (4. Selesai)
write (Pilihan anda: )
read (x)
depend on (x)
x = 1: byrakhjml-(jml*0.3)
x = 2: byrakhjml-(jml*0.2)
x = 3: byrakhjml-(jml*0.1)
x = 4: byrakhjml
enddepend
write (Total bayar akhir : ,byrakh)
endwhile
Buat flowchart untuk algoritma di atas?
Test formatif 1
Proses program yang dikehendaki
Masukan
- Banyaknya barang yang dibeli (nama variable qty)
- Harga satuan barang (nama variable hrgbrg)
Rumus
Jumlah bayar (nama variable jmlbyr) dihitung dari banyaknya barang yang dibeli dikali
dengan harga satuan barang. Jika jumlah bayar diatas 600000 dapat disecount 20%, jika
jumlah barang di atas 400000 dapat discount 15%, jika jumlah bayar diatas 200000 diapat
discount 10%. Total bayar akhir (nama variable byrakh) dihitung dari jumlah bayar
dikurangi discount
Keluaran
Total bayar akhir
Tampilan di layar
Banyaknya barang :
Harga satuan :
Jumlah bayar :
<<< Menu >>>
1. 600000 ke atas
2. 400000 < jml <= 600000
3. 100000 < jml <= 200000
4. Kebawah 100000
Pilihan anda :
Total bayar akhir :
Terjemahkanlah studi kasus tersebut kedalam bentuk algoritma, flowchart dan kedalam bahasa
pemrograman pascal?
Catatan : nomor induk mahasiswa, nama siswa dan nilai C diinput sedangkan mutu huruf,
keterangan otomatis
Test formatif 2
1. Buat algoritma untuk menentukan apakah suatu bilangan merupakan bilangan prima atau
bukan, kemudian buat flowchart untuk program tersebut !
2. Buat algoritma untuk mencetak N buah bilangan prima yang pertama, kemudian buat
flowchart untuk program tersebut !
3. Buat algoritma untuk menentukan jenis akar dari suatu persamaan kuadrat, kemudian buat
flowchart untuk program tersebut !
4. Buat algoritma untuk menghitung jumlah N suku dari deret aritmatika berikut :
Sn = 3 + 7 + 11 + + (4n-1)
5. Buat algoritma untuk menghitung nilai faktorial dari suatu bilangan, kemudian buat flowchart
untuk program tersebut !
6. Buat flowchart untuk mencetak pasangan nilai X dan Y dimana hubungan antara X dan Y
memenuhi persamaan Y = X3 2X +1 dan nilai x berubah dari 10 sampai 10 !
E. Algoritma Perulangan
Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar 3 ini siswa diharapkan dapat :
1) Memahami struktur algoritma
2) Menganalisis data dalam suatu algoritma perulangan
Uraian Materi
Struktur pengulangan secara umum terdiri atas dua bagian:
1. Kondisi pengulangan, yaitu ekspresi Boolean yang harus dipenuhi untuk melaksanakan
pengulangan. Kondisi ini ada yang dinyatakan secara eksplisit oleh pemrograman atau
dikelola sendiri oleh komputer (implisit).
2. Badan (body) pengulangan, yaitu bagian algoritma yang di ulang
Disamping itu, struktur pengulangan biasanya disertai dengan bagian:
1. Isinisialisasi, yaitu aksi yang dilakukan sebelum pengulangan dilakukan pertama kali
2. Terminasi, yaitu aksi yang dilakukan setelah pengulangan selesai dilaksanakan
Inisialisasi dan terminasi tidak selalu harus ada, namun pada berbagai kasus inisialisasi umumnya
diperlukan.
Struktur pengulangan secara umum
<inisialisasi>
Awal pengulangan
Badan pengulangan
Akhir pengulangan
<terminasi>
1.
Aksi dilaksananakan berulangkali selama kondisi bernilai true. Jika kondisi bernilai false,
badan pengulangan tidak akan dimasuki, yang berarti pengulangan selesai.
Mencetak pesan Hallo world sebanyak 10 kali
Program mencetakbanyak_halloworld
Deklarasi
I : integer
Algoritma
i1
while I < 10 do {ulangi sebanyak 10 kali}
write (hello world)
ii+1 {loop variant}
endwhile
Latihan praktek 1:
Mencetak angka dari angka 1 s.d 10
Program cetaksampai10
Deklarasi
K : integer
Algoritma
i1
while I < 10 do
write (i)
ii+1
endwhile
Latihan praktek 2:
Mencetak angka angka 1 sampai N
Program cetak1sampaiN
Deklarasi
N:integer
i:integer
Algoritma
Read(N)
i1
while i < N do
write (i)
ii+1
endwhile
Notasi Flowchart
Latihan praktek 3:
Menghitung 1+2+3++N (N>0)
Program penjumlahanderet
Deklarasi
N : integer
I : integer
Jumlah : integer
Algoritma
Read(N)
jumlah0
i1
while i < N do
jumlahjumlah+i
ii+1
endwhile
write (jumlah)
Latihan praktek 4:
Menghitung rata-rata
Program hitungrata_rata
Deklarasi
N : integer
X : integer
I : integer
Jumlah : integer
Ratarata : real
Algoritma
Read(N)
i1
while i < N do
read (x)
jumlahjumlah * x
ii+1
endwhile
rataratajumlah/n
write (ratarata)
Latihan praktek 5:
Program meluncurkanrocket
Deklarasi
I : integer
Algoritma
i100
while i > 0 do
write (i)
ii-1
endwhile
write (Go.)
Test formatif :
Rubah algoritma pada latihan praktek 1 s.d 5 kedalam bentuk flowchart dan terjemahkan kedalam
bahasa pemrograman pascal
2.
Notasi ini mendasarkan pengulangan pada kondisi Boolean. Aksi di dalam badan kalang
diulang-ulang sampai kondisi bernilai true. Dengan kata lain, jika kondisi masih false, proses
pengulangan masih terus dilakukan . karena proses pengulangan suatu saat harus berhenti, maka di
dalam badan pengulangan harus ada pernyataan yang mengubah nilai peubah kondisi.
Latihan praktek 1:
Mencetak angka dari angka 1 s.d 10
Program cetaksampai10
Deklarasi
K : integer
Algoritma
i1
Repeat
write (i)
ii+1
until i > 10
Latihan praktek 2:
Mencetak angka angka 1 sampai N
Program cetak1sampaiN
Deklarasi
N:integer
i:integer
Algoritma
Read(N)
i1
repeat
write (i)
ii+1
until I > N
Latihan praktek 3:
Menghitung 1+2+3++N (N>0)
Program penjumlahanderet
Deklarasi
N : integer
I : integer
Jumlah : integer
Algoritma
Read(N)
jumlah0
i1
repeat
jumlahjumlah+i
ii+1
until I > N
write (jumlah)
Latihan praktek 4:
Menghitung rata-rata
Notasi Flowchart
Program hitungrata_rata
Deklarasi
N : integer
X : integer
I : integer
Jumlah : integer
Ratarata : real
Algoritma
Read(N)
i1
repeat
read (x)
jumlahjumlah * x
ii+1
until I > n
rataratajumlah/n
write (ratarata)
Latihan 5:
Program meluncurkanrocket
Program peluncuranrocket
Deklarasi
I : integer
Algoritma
i100
repeat
write (i)
ii-1
until I < 0
write (Go.)
Test formatif :
Rubah algoritma pada latihan praktek 1 s.d 5 kedalam bentuk flowchart dan terjemahkan kedalam
bahasa pemrograman pascal
3.
Program cetaksampai10
Deklarasi
i : integer
Algoritma
For i1 to 10 do
write (i)
endfor
Latihan praktek 2:
Mencetak angka angka 1 sampai N
Program cetak1sampaiN
Deklarasi
N:integer
i:integer
Algoritma
Read(N)
For i1 to N do
write (i)
endfor
Latihan praktek 3:
Menghitung 1+2+3++N
Program penjumlahanderet
Deklarasi
N : integer
I : integer
Jumlah : integer
Algoritma
Read(N)
jumlah0
For i1 to N do
jumlahjumlah+i
Endfor
write (jumlah)
Latihan praktek 4:
Menghitung rata-rata
Program hitungrata_rata
Deklarasi
N : integer
X : integer
I : integer
Jumlah : integer
Ratarata : real
Algoritma
Read(N)
For i1 to 10 do
read (x)
jumlahjumlah + x
endfor
rataratajumlah/n
write (ratarata)
Test formatif :
Rubah algoritma pada latihan praktek 1 s.d 4 kedalam bentuk flowchart dan terjemahkan kedalam
bahasa pemrograman pascal
4.
dapat memilih agar kompilasi dilakukan ke memori, sehingga pembuatan dan pengujian program
dapat dilakukan dengan cepat. Hal ini sangat bermanfaat pada masa pembuatan/pemodifikasian
program.
Sebagai perluasan dari pengembangan program secara modular (tersusun atas sejumlah
modul), Turbo Pascal juga memungkinkan pemrogram untuk membuat suatu pustaka yang berisi
sejumlah prosedur, fungsi ataupun elemen-elemen yang lain, yang dikompilasi secara terpisah.
Kemudian pustaka-pustaka tersebut dapat dipergunakan oleh suatu program, tanpa perlu
melibatkan kode/program sumbernya. Modul seperti ini biasa disebut unit.
Semenjak versi 5.5, Turbo Pascal menyediakan kemampuan pemrograman (PBO).
Pemrograman berorientasi objek yang terkenal dengan sebutan OOP (Object-Oriented
Programming) merupakan suatu metode pemrograman yang akhir-akhir ini sangat populer. OOP
atau PBO mengkombinasikan data dan fungsi atau prosedur yang mengaksesdata menjadi suatu
wadah yang disebut objek. Metode pemrograman ini dirasakan dapat mengatasi kesulitan yang
timbul pada pemrograman yang besar dan kompleks, sehingga dapat meningkatkan produktivitas
pemrogram.
Turbo Pascal merupakan bahasa pemrograman yang serbaguna. Anda dapat menggunakannya
untuk tujuan komputasi, pembuatan permainan (game) ataupun masalah masalah
Struktur Bahasa Pascal
Judul
Program <judulnya>;
Uses <unitnya>;
Bagian Deklarasi
Label <namalabelnya>;
Const <nama=nilai constantanya>;
Type <namatype:typedatanya>;
Var <nama_variabelnya>;
Procedure <nama_prosedurnya>;
Function <nama_fungsinya>;
Bagian Pernyataan
Begin
<pernyataan-pernyataan>;
End.
Contoh Program
Listing Programnya
Uses Crt;
Begin
WriteLn( Saya );
Write( Belajar );
WriteLn( Turbo );
Write( Pascal );
Write( Versi 7.0 );
End.
Tekan Ctrl F9 untuk ekseskusi program
Tekan F5 untuk melihat hasilnya
Hasilnya :
Saya
Belajar Turbo
Pascal Versi 7.0
Tugas:
Buatlah Program cetak dilayar Biodata diri anda
2.
Yah, kurang lebih seperti itulah tampilan awal Turbo Pascal, dari gambar diatas kita bisa lihat di
Turbo Pascal memiliki 7 buah menu utama yang terdiri dari : File, Edit, Run, Compile, Options,
Debug, dan Break / Watch. Untuk memilih salah satu dari menu itu anda bisa menekan tombol Alt
+ F (untuk memanggil menu file), atau menekan Alt + [huruf pertama dari menu]. Jika anda ingin
kembali ke menu utama anda bisa saja menekan tombol F10, untuk pindah dari menu satu ke menu
yang lain anda juga bisa menekan panah kanan () atau panah kiri (). Contohnya ketika anda
berada di menu File maka untuk pindah ke menu Compile anda cukup menggunakan tombol panah
kanan () atau panah kiri (), dan anda juga bisa langsung menekan huruf C. Untuk menutup menu
anda bisa menggunakan tombol Esc. Sebetulnya akan lebh mudah jika memanggil sebuah menu
dengan menggunakan hotkey, table dibawah ini adalah hotkey yang digunakan dalam turbo pascal :
Kunci
Fungsi
Ekivalen menu
F1
F2
File / Save
F3
File / Load
F4
Run / Go to cursor
F5
F6
F7
F8
F9
F10
Alt + F1
Alt + F3
Alt + F5
Alt + F6
Alt + F9
Alt + B
Alt + C
Alt + D
Alt + E
Alt + F
Alt + O
Alt + R
Alt + X
Ctrl + F1
Ctrl + F2
Ctrl + F3
Ctrl + F4
Ctrl + F7
Ctrl + F8
Ctrl + F9
Ctrl + F10
File / Pick
File / user screen
Compile
Mengkompilasi program.
Mengaktifkan menu Break / Watch.
Mengaktifkan menu compile.
Mengaktifkan menu debug.
Mengaktifkan editor.
Mengakaktifkan menu file.
Mengaktifkan menu option.
Mengaktifkan menu run.
Keluar dari Turbo Pascal dan kembali ke DOS.
Menampilkan menu pertolongan bahasa.
Menghentikan pembetulan.
Menampilkan isi tumpukan.
Melakukan penghitungan atau mengubah nilai
peubah.
Menambahkan ungkapan pada jendela watch.
Toggles Breakpoint.
Menjalankan program.
Menampilkan versi layar monitor
Nah, itu tadi adalah beberapa hotkey yang ada pada Turbo Pascal, sekarang kita langsung aja yah
mempelajari menu di Turbo Pascal ini.
Menu File
Didalam menu File banyak submenu yang bisa dipilih misalkan saja perintah Load / F3 yang
berfungsi untuk memanggil berkas yang sudah tersimpan, dan banyak lainnya.
Submenu Load
Pilihan ini digunakan untuk memanggil program dari suatu folder atau directory ke dalam editor.
Didalam submenu ini anda juga bisa memilih submenu yang lain dengan hanya menekan tombol
huruf depan dari submenu yang dituju, contohnya anda mau ke submenu New, maka anda tinggal
menekan huruf N.
Submenu Pick
Pilihan yang satu ini digunakan untuk mengambil salah satu dari beberapa buah program yang
sebelumnya telah dimuat ke dalam jendela Edit. Hal ini ditujukan agar kita tidak perlu repot-repot
lagi mencarinya di submenu load.
Submenu New
Program yang ada di editor akan dihapus dan program yang akan anda tulis dianggap sebagai
program yang baru dengan nama NONAME.PAS, nama ini bisa anda rubah ketika anda mau
menyimpannya.
Submenu Save [F2]
Pilihan ini digunakan untuk menyimpan suatu program yang sudah di edit ke dalam cakram atau
folder, jika nama program itu masih NONAME.PAS maka Turbo Pascal akan menanyakan pada
anda, nama apa yang akan anda berikan pada program yang akan disimpan tersebut. Atau anda juga
bisa menekan tombol F2.
Submenu Write to
pilihan ini digunakan untuk menggantikan program lama dengan program yang baru (istilah
kerennya Overwrite). Jika nama program anda sudah ada pada cakram atau folder maka ada
verifikasi dari Turbo Pascal untuk penggantian nama.
Submenu Directory
pilihan ini digunakan untuk menampilkan direktori dan nama-nama file yang anda inginkan. Anda
juga bisa menggunakan pilihan Load.
Submenu Change Dir
Pilihan yang satu ini digunakan untuk menampilkan direktori yang sedang digunakan dan juga bisa
digunakan untuk mengganti nama direktori yang baru.
Submenu OS shell
Perintah ini digunakan bagi anda yang ingin ke tampilan DOS tetapi tanpa mematikan Turbo
Pascalnya, untuk kembali lagi ke Turbo Pascal, anda tinggal mengetikan exit, tetapi biasanya
ketika anda sedang membuat suatu program atau mengedit suatu program perintah ini tidak dapat
dijalankan karena kurangnya kapasitas memory.
Submenu Quit [Alt + x]
Dari namanya sudah jelas, perintah ini digunakan untuk keluar dari Turbo Pascal dan kembali ke
prompt DOS.
Menu Edit
Perintah edit ini digunakan untuk mengaktifkan editor Turbo Pascal.
Menu Run [Ctrl + F9]
Perintah ini digunakan untuk mengeksekusi program yang sudah anda buat. Anda juga bisa
menekan Ctrl + F9 untuk mengeksekusi program anda.
Submenu Program Reset [Ctrl + F2]
Pilihan ini digunakan untuk memberitahukan Turbo Pascal bahwa anda selesai dengan pembetulanpembetulan dan menginisialisasi debugger untuk operasi yang lain. Pilihan ini sekaligus
membebaskan pengingat yang telah dialokasikan dan menutup semua berkas, tetapi tidak merubah
nilai-nilai perubah. Pilihan ini sangat berguna jika anda ingin menjalankan pilihan File / OS shell.
Submenu Go to Cursor [F4]
Pilihan ini digunakan untuk memulai / melanjutkan eksekusi program dimulai dari posisi saat
eksekusi dimulai sampai tempat kursor berada. Jika kursor berada pada statement yang bersifat
executable, seperti spasi atau baris komentar, maka eksekusi akan dilanjutkan sampai statement
yang bersifat executable.
Submenu Trace Into [F7]
Perintah ini digunakan untuk mengeksekusi baris berikutnya, jika ada pemanggilan ke suatu
subrutin, maka pelacakan akan dimulai dari statement pertama dari subrutin tersebut. Sekaligus
juga akan memuat berkas-berkas atau unit Include jika dimungkinkan.
Submenu Step Over
Step over ini memiliki cara kerja yang hampir sama dengan Trace Into, hanya saja jika statement
adalah sebuah prosedur atau fungsi, maka keseluruhan subrutin akan dikerjakan sekaligus dan
debugger akan berhenti pada statement sesudah pemanggilan ke subrutin.
Submenu User screen [Alt + F5]
Pada umumnya perintah ini digunakan untuk melihat hasil dari program yang telah compile dan
kita run. Pada tampilan ini IDE [Integrated Debugger Environment] berpindah-pindah pada saat
anda menjalankan dan mendebug program. Perintah ini juga digunakan oleh File / OS shell.
Submenu Compiler
Pilihan ini didalamnya pun masih banyak perintah yang lainnya seperti pengecekan batas,
pengecekan tumpukan dll, seperti yang anda lihat pada gambar di atas. contohnya pengecekan batas
[Range checking] adalah sama dengan {$R}. sekarang saya akan coba jelaskan satu persatu agar
lebih jelas dari masing-masing penggunaan ini.
Range checking [Off]:
Perintah ini digunakan untuk menghidupkan atau mematikan pengecekan batas. Jika
dihidupkan, kompiler akan membangkitkan kode yang akan mencek batas
index pada array dan string dan juga nilai yang dihasilkan dalam suatu statement
pemberian. Pilihan ini sama dengan petunjuk kompiler {$R}.
Stack checking [On]:
Digunakan untuk menghidupkan atau mematikan pengecekan kesalahan operasi I/O. Jika
dihidupkan pada saat terjadi kesalahan operasi I/O proses akan langsung dihentikan. Jika
dimatikan, kode kesalahan akan tersimpan dalam fungsi IO Result. Pilihan ini sama dengan
penunjuk kompiler {$I}.
Force far calls [Off]:
Digunakan untuk memilih model pemanggilan terhadap prosedur atau fungsi yang telah
dikompilasi. Model pemanggilan bisa secara far atau near. Pilihan ini sama dengan
penunjuk kompiler {$F}.
Allign Data [Word] :
Digunakan untuk mengatur cara penyimpanan perubah dan konstanta bertipe dari byte ke
word atau sebaliknya. Pilihan ini sama dengan penunjuk kompiler {$A}.
Overlay Allowed [Off] :
Mengaktifkan atau menonaktifkan pembakitan kode Overlay. Pilihan ini sama dengan
penunjuk kompiler {$O}.
Var string checking [Strict] :
Digunakan untuk mengendalikan cara pengecekan data string yang digunakan sebagai
parameter berubah. Pilihan sama dengan penunjuk kompiler {$V}.
Object Directories :
Digunakan untuk menentukan direktori yang berisi berkas [.OBJ].
Pick file name :
Digunakan untuk menentukan nama dan lokasi pick file.
Current pick file :
Digunakan untuk menunjukkan nama dan lokasi pick file, jika ada.
Submenu Parameters
Digunakan untuk memberikan parameter baris perintah [Command Line parameters] pada
program-program yang akan dijalankan.
Submenu Save Option
Digunakan untuk menyimpan semua pengaturan dalam menu Compiler, Environment, dan
Directories dalam berkas konfigurasi [standardnya adalah TURBO.TP]
Submenu Retrieve Options
Digunakan untuk memuat berkas konfigurasi yang sebelumnya disimpan dengan pilihan save.
Menu Debug
Pilihan-pilihan yang ada dalam menu ini terutama digunakan untuk melacak nilai-nilai perubah,
mencari letak suatu fungsi atau prosedur dan lain-lain.
Submenu Evaluate [Ctrl + F4] :
Dengan pilihan ini anda akan dibawa ke suatu jendela dengan 3 kotak yang memungkinkan
anda untuk menuliskan sembarang nama perubah / ungkapan, menunjukan nilai perubah /
ungkapan saat itu an memungkinkan anda untuk memberikan nilai yang baru untuk
sembarang perubah.
Submenu Call Stack [Ctrl + F3] :
Pada saat anda melakukan debugging, suatu jendela yang menunjukan daftar pemanggil
prosedur dan fungsi akan terlihat.
Submenu Find Procedure :
Memungkinkan anda untuk menuliskan nama prosedur dan fungsi dan kemudian mencari
dalam program yang sedang anda aktifkan.
Submenu Integrated Debugging [On]
Jika dipilih On, debugging dilakukan menggunakan IDE.
Submenu Stand Alone Debugging [Off]
Jika diset Off, dan compile / destination dipilih ke Disk debug information akan
ditambahkan ke dalam berkas .EXE untuk digunakan oleh Turbo Debugger.
Submenu Display Swapping [Smart]
Penampilan pada layar bisa dipilih salah satu dari 3 pilihan, Smart, Always atau Never.
Smart : debugger akan melihat kode yang sedang dieksekusi untuk melihat apakah
perlu menampilkan hasilnya ke layar.
Always : pilihan ini akan menyebabkan layar dipindah setiap kali suatu statement
dieksekusi.
Never : pilihan ini akan memberitahukan debugger untuk tidak melakukan
pemindahan layar.
Submenu Refresh Display :
Pilihan ini digunakan untuk memanggil kembali layar IDE. Hal ini perlu, terutama jika
program anda merusak tampilan yang sudah ada dalam layar.
Menu Break / Watch
Submenu Add Watch [Ctrl + F7] :
Digunakan untuk menambahkan rinci data, perubah atau ungkapan kedalam jendela watch.
Submenu Delete Watch :
Untuk menghapus ungkapan dalam jendela Watch pada saat jendela ini terlihat.
Fungsi
Ctrl + W
Ctrl + Z
Kehalaman sebelumnya
Kehalaman berikutnya
Fungsi
Ctrl + U
Membatalkan kegiatan
Ctrl + P
Ctrl + Q + F
Mencari kata
Ctrl + Q + A
Ctrl + Qn
Ctrl + Q + W
Ctrl + O + O
F10
Ctrl + F1
Pertolongan bahasa
F3
Memuat berkas
Ctrl + O + F
Ctrl + Q + [
Ctrl + Q + ]
Ctrl + L
Ctrl + Q + L
Ctrl + K + S atau F2
Ctrl + Kn
Tab
Mode Tab
Ctrl + O + U
Unindent On / Off
Fungsi
Ctrl + K + Y
Menghapus blok
Ctrl + K + V
Ctrl + K + C
Ctrl + K + W
Ctrl + K + H
Ctrl + K + R
Ctrl + K + T
Ctrl + K + P
Ctrl + K + I
Mengident blok
Ctrl + K + U
Mengunident blok
Untuk lebih jelasnya tentang pengoperasian blok diatas, lebih baik kita langsung saja praktekan,
disini saya akan memberikan contoh yang paling mudah yaitu mengkopi blok
3.
Turbo Pascal adalah sebuah sistem pengembangan perangkat lunak yang terdiri atas
kompiler dan lingkungan pengembangan terintegrasi (dalam bahasa inggris:Integrated
Development Environment - IDE) atas bahasa pemrograman pascal untuk sistem operasi
CP/M,CP/M-86 dan MS-DOS, yang dikembangkan oleh Borland pada masa kepemimpinan
Philippe Kahn. Nama Borland Pascal umumnya digunakan untuk paket perangkat lunak tingkat
lanjut (dengan kepustakaan yang lebih banyak dan pustaka kode sumber standar) sementara versi
yang lebih murah dan paling luas digunakan dinamakan sebagai Turbo Pascal. Nama Borland
Pascal juga digunakan sebagai dialek spesifik Pascal buatan Borland.
Borland telah menembangkan tiga versi lama dari Turbo Pascal secara gratis disebabkan karena
sejarahnya yang panjang khusus untuk versi 1.0, 3.02, dan 5.5 yang berjalan pada sistem
operasi MS-DOS.
Jika sudah sampai pada tahap terakhir, berarti kalian sudah berhasil menggunakan progrma turbo
pascal tersebut. Tetapi jika tidak sampai tahap terakhir, maka kalian melakukan kesalahan
pada tahap kedua karena tahap 2 sama sekali tidak boleh ada kesalahan dalam hal
pengetikkan kode di-atas.
4.
Sebelum bekerja, tentukan lebih dahulu tempat Program anda akan disimpan. Secara default, Pascal
menyimpan program di folder c:\Program Files\TP\Work\.
Kita dapat membuat folder lain sebagai tempat menyimpan program agar lebih mudah bagi kita
untuk mengetahuinya. Buat Folder lebih dahulu mis di drive D dengan nama PASCAL.
Jika folder PASCAL sudah selesai, aktifkan folder tersebut dengan cara :
Pilih menu File, Change Dir , kemudian hapus C:\PROGRA~1\TP\WORK\ ..
Ketik folder seperti berikut : D:\PASCAL\ kemudian tekan Enter
Folder PASCAL sudah aktif sehingga program yang dibuat akan tersimpan di folder PASCAL.
3. Mengetik Kode Program
Langkah berikutnya adalah memulai mengetik Program. Buka layar edit dengan cara : Pilih menu
File, New
Kesalahan pada gambar di atas menyatakan bahwa ada kesalahan tanda ; (titik koma)
ditemukan. Lokasi kesalahan terletak di posisi kursor.
Setelah diperiksa, maka kesalahan terletak pada baris sebelumnya (di atas posisi kursor) dimana
pada pernyataan readlan(b) tidak ada tanda ; perbaiki dengan menambahkan tanda titik koma,
kemudian simpan (F2) dan jalankan kembali.
Membuka File Program
Jika program anda sudah tersimpan dan akan dibuka kembali , maka buka program dengan cara :
Pilih Menu File, Open. Kemudian pilih file program anda yang akan dibuka.
Menutup Window
Kita dapat membuka beberapa file pada saat bekerja. Setiap File ditampilkan dalam window
masing-masing namun bertupuk sehingga hanya file yang paling depan yang tampak di layar. Cara
melihat file yang aktif : Pilih menu Window, Cascade. Klik file yang ingin ditampilkan di layar.
Cara untuk menutup Window :
Menutup window yang tampak di layar : Pilih menu Window, Close (Alt+F3)
Menutup semua window : Pilih menu Window, Close All
Keluar dari Program
Jika anda sudah selesai membuat program, maka anda dapat keluar dari Program dengan cara :
Pilih Menu File, Exit
Mencopy Kode Program
Untuk mempercepat pengetikan kode program, maka kode program yang sama dapat dicopy
dengan cara
Letakkan kursor di awal teks yang akan di blok.
Tekan tombol Shift dan tahan, tekan tombol End untuk memblok satu baris.
Tekan tombol Shift dan tahan, tekan tombol panah ke bawah untuk memblok lebih dari satu baris.
Copy teks yang diblok dengan cara : Pilih menu Edit, Copy
Pindahkan kursor ke posisi tempat meletakkan hasil copy-an.
Pilih menu Edit, Paste.
Menghapus Kode Program
Hapus kode program dengan cara :
Blok kode program yang akan dihapus
Pilih menu Edit, Cut
Ukuran memori
(dalam byte)
1
1
2
2
4
Jangkauan nilai
0..255
-128..127
-32768..32767
0..65535
-2147483648..2147483647
Ukuran memori
(dalam byte)
4
8
10
8
SINGLE
DOUBLE
EXTENDED
COMP
Jangkauan nilai
Digit signifikan
1.5x10E-45 .. 3.4x10E38
5.0x10E-324 .. 1.7x10E308
1.9x10E-4951 .. 1.1x10E4932
-2E+63+1 .. 2E+63-1
7-8
15-16
19-20
19-20
!
0
L
dst
String
Nilai data string merupakan urut-urutan dari karakter yang terletak di antara tanda petik tunggal.
Nilai data string akan menenpati memori sebesar banyaknya karakter stringnya ditambah dengan 1
byte. Bila panjang dari suatu string di dalam deklarasi variabel tidak disebutkan, maka dianggap
panjangnya adalah 255 karakter.
Contoh :
Var
Kampus : string[10];
Begin
Kampus := Gunadarma;
Write(Kampus);
End.
Boolean
Jenis data ini mempunyai nilai TRUE atau FALSE.
Operator untuk jenis data ini adalah :
1. Logical Operator, yaitu : NOT, AND dan OR
2. Relational Operator, yaitu : >, <, >=, <=, <> dan =
Jenis Data Non-Standard (User Defined)
Enumerated.
Jenis data ini terdiri atas barisan identifier yang terurut dimana setiap identifier tersebut dianggap
sebagai suatu individual data item (elemen data yang berdiri sendiri).
Pada saat mendeklarasikan jenis data ini kita harus menuliskan semua elemen-elemennya.
Bentuk umum deklarasinya adalah :
TYPE nama = (data_item_1, data_item_2, ., data_item_n);
Contoh :
TYPE hari = (sen,sel,rab,kam,jum,sab,ming);
TYPE warna = (red,blue,green,yellow,black,white);
Setelah jenis data ini dideklarasikan, maka selanjutnya kita dapat mendeklarasikan suatu
variabel yang berjenis data sama dengan jenis data ini.
Misalnya :
TYPE nama_hari = (sen,sel,rab,kam,jum,sab,ming);
VAR libur : nama_hari;
Fungsi standar yang dapat digunakan pada jenis data ini adalah :
PRED, SUCC dan ORD
Misalnya :
PRED (sel) = sen
SUCC (sen) = sel
ORD (sen) = 0
ORD (sel) = 1
dsb
Sub-Range.
Jenis data ini berupa range dari suatu kumpulan data yang mempunyai urutan..
Bentuk umum deklarasinya adalah :
TYPE nama = data_item_pertama .. data_item_terakhir;
Contoh :
TYPE jam_kuliah = 1 .. 10;
tanggal = 1 .. 31;
abjad = A .. Z;
TYPE bulan = (jan,feb,mar,apr,mei,jun,jul,agt,sep,okt,nov,des);
hari = (sen,sel,rab,kam,jum,sab,ming);
ata = agt .. jan;
pta = feb .. jun;
hari_kerja = sen .. jum;
Variabel
Perintah Dasar/Sederhana Pascal
Write ( Text/tulisan,Variabel);
Perintah untuk menampilkan atau cetak dilayar monitor tanpa pindah baris
WriteLn( Text/Tulisan,Variabel);
Perintah untuk menampilkan/cetak dilayar monitor lalu pindah baris kebawah
Read(Variabel);
Perintah untuk menginput/mengisi data tanpa pindah baris
ReadLn(Variabel);
Perintah untuk menginput/mengisi data lalu pindah baris
Digunakan untuk penamaan elemen-elemen deklarasi seperti Label, Constanta, type, variabel,
procedure, function
Syarat Identifier
Diawali huruf
Tidak boleh ada spasi/blank
Tidak boleh menggunakan reserved word
Tidak boleh menggunakan simbol khusus,
kecuali underscore(tanda bawah)
Panjang maximal 63 character
Contoh :
Luas_Segi_Tiga
LuasSegiTiga
LuasS3
LS3
Deklarasi Variabel
Adalah elemen data yang belum memiliki nilai
dan nilainya dapat berubah ubah
Contoh :
USES CRT;
VAR Nama : String[25];
Nilai : Integer;
BEGIN
CLRSCR;
WRITE( Nama Siswa : );
READLN(Nama);
WRITE( Nilai Ujian : );
READLN(Nilai);
END.
Deklarasi Constanta
Adalah suatu elemen data yang sudah ada
nilainya dan nilainya tetap
Contoh :
USES CRT;
CONST Namasis= Syaiful Anwar;
IPK
= 3.35;
Mutu = A
BEGIN
CLRSCR;
WRITE( Nama Siswa : , Namasis);
WRITE( Nilai IPK
: , IPK);
WRITE( Mutu Ujian : , Mutu);
END.
Var Nama :
String[25];
Kelas : String[7];
Nilai : Integer;
Grade : Char;
Type Nm :
String[25];
Kls : String[7];
Nil : Integer;
Gr : Char;
Var Nama : Nm;
Kelas : Kls;
Nilai
: Nil;
Grade : Gr;
Deklarasi Label
Deklarasi label digunakan untuk melompati beberapa perintah program. Memiliki arah dan tujuan
yaitu dengan menggunakan GOTO
PROGRAM DGN_LABEL;
Contoh Tipe Dalam Program
USES CRT;
LABEL A,B,C;
USES CRT;
BEGIN
TYPE Pecahan = Real;
CLRSCR;
Bulat = Integer;
WRITELN(TEXT1); GOTO A;
VAR A,T : Bulat;
WRITELN(TEXT2);
LS3 : Pecahan;
A:WRITELN(TEXT3); GOTO B;
BEGIN
WRITELN(TEXT4);
CLRSCR;
B:WRITELN(TEXT5); GOTO C;
WRITE(Masukkan Nilai Alas : );
WRITELN(TEXT6);
READLN(A);
C:READLN;
WRITE(Masukkan Nilai Tinggi : );
END.
READLN(T);
LS3:=(A*T)/2;
Hasilnya
WRITELN(Luas Segitiga:,LS3:8:1);
TEXT1
READLN;
TEXT3
END.
TEXT5
Format Tipe Data Lokasi Cursor
Tampilan Terformat
Untuk mengatur bentuk tampilan dari tampilan default ke bentuk yang diinginkan atau Batasan
cetak
Parameter Char:n
Uses Crt;
Const Kampus=Bsi; {Tipe String}
Nrata=2.5; {Tipe Real}
Ntotal=55; {Tipe Integer}
Cek =True; {Tipe Boolean}
Huruf =A; {Tipe Char}
BEGIN
Clrscr;
Writeln(Nama Kampus :,Kampus);
Writeln(Nama Kampus :,Kampus:3);
Writeln(Nama Kampus :,Kampus:6);
Writeln(Nilai Rata :,Nrata);
Writeln(Nilai Rata :,Nrata:3:0);
Writeln(Nilai Rata :,Nrata:6:1);
Writeln(Nilai Total :,Ntotal:2);
Writeln(Nilai Total :,Ntotal:5);
Writeln(Cek Boolean :,Cek);
Writeln(Cek Boolean :,Cek:7);
Writeln(Huruf Abjad :,Huruf);
Writeln(Huruf Abjad :,Huruf:3);
Readln;
End.
Hasilnya :
Nama Kampus :Bsi
Nama Kampus :Bsi
Nama Kampus : Bsi
Nilai Rata
:2.500000e+00
Nilai Rata
:3
Nilai Rata
: 2.5
Nilai Total :55
Nilai Total : 55
Cek Boolean :True
Cek Boolean : True
Huruf Abjad :A
Huruf Abjad : A
2.
TANDA OPERASI
Tanda operasi (operator) di dalam bahasa Pascal dikelompokkan ke dalam 9 kategori,
1. Assignment operator.
2. Binary operator.
3. Unary operator.
4. Bitwise operator.
5. Relational operator.
6. Logical operator.
7. Address operator.
8. Set operator.
9. String operator.
Assignment Operator
Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda sama
dengan (:=).
Contoh :
A:=B;
Binary Operator
Digunakan untuk mengoperasikan dua buah operand. Operand dapat berbentuk konstanta ataupun
variabel. Operator ini digunakan untuk operasi aritmatika yang berhubungan dengan nilai tipe data
integer dan real.
Operator
*
Operasi
Perkalian
DIV
/
Pembagian bulat
Pembagian real
MOD
+
Sisa pembagian
Pertambahan
pengurangan
Tipe operand
real,real
integer,integer
real,integer
integer,integer
real,real
integer,integer
real,integer
integer,integer
real,real
integer,integer
real,integer
real,real
integer,integer
real,real
Tipe hasil
real
integer
real
integer
real
real
real
integer
real
integer
real
real
integer
real
Contoh :
15*5
20/3
20 div 3
20 mod 3
hasilnya
hasilnya
hasilnya
hasilnya
75
6.6666666667E+00
6
2
Unary operator
Operator ini hanya menggunakan sebuah operand saja. Dapat berupa unary minus dan unary plus.
Unary minus digunakan untuk menunjukkan nilai negatif, baik pada operang numerik real maupun
integer. Unaru plus adalah operator untuk memberai tanda plus.
Contoh :
-5
-2.5
+7
+2.5
Bitwise operator
Digunakan untuk operasi bit per bit pada nilai integer. Terdiri dari operator NOT, AND, OR, XOR,
Shl, Shr.
Relational operator
Relational operator digunakan untuk membandingkan hubungan antara dua buah operand dan akan
didapatkan hasil tipe boolean, yaitu True atau False. Terdiri dari operator : =, <, >, <=, >=, <>
Logical operator
Terdapat 4 buah logical operator yaitu : NOT, AND, OR dan XOR. Operator ini bekerja dengan
nilai-nilai logika, yaitu True dan False.
Set operator
Digunakan untuk operasi himpunan.
String operator
Digunakan untuk operasi string. Hanya ada sebuah operator string saja, yaitu operator +
yang digunakan untuk menggabungkan dua buah nilai string.
Contoh :
Nama1 := Wahyu;
Nama2 := Sumantri Sutiar;
Nama3 := Nama1 + Nama2;
Buatlah
ContohProgram
ProgramLuas
TipeSegi
DataTiga
Sederhana
Nama Barang
Jumlah Beli
Harga Satuan
Harga Barang
Tipe A/B/C/D
Discount
Harga Bayar
Uangnya
Kembalinya
Catatan :
Tanda
Tanda ___
:
:
: Rp.
: Rp. ___
:
: Rp. ___
: Rp. ___
: Rp.
: Rp. ___
berarti program diisi/input
berarti program tampil/cetak
Test Formatif
1. Buatlah Program Luas dan Keliling Lingkaran
2. Buatlah Program Persegi Panjang
H. Struktur Kontrol Percabangan
Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar 6 ini siswa diharapkan dapat :
1) Memahami struktur control percabangan dalam bahasa pemrograman
Program For_DownTo;
Program While ;
Program Repeat;
Uses crt ;
Var
i : byte ;
begin
clrscr ;
for i : = 1 to 5 do
writeln ( Pascal ) ;
readln ;
end .
Uses crt ;
Var
i : byte ;
begin
clrscr ;
Uses crt ;
Var
i : byte ;
begin
clrscr ;
I:=0;
While I <= 5 Do
begin
writeln(I);
I : = I +1 ;
end ;
readln ;
end .
Uses crt ;
Var
i : byte ;
begin
clrscr ;
I:=1;
Repeat
writeln ( I ) ;
I : = I +1;
Until I >= 5
readln ;
end .
for i : = 5 downto 5 do
writeln ( Pascal ) ;
readln ;
end .
Test formatif
1. Buat deret bilangan ganjil dan deret bilangan genap
2. Buatlah deret bilangan Fibonanci 1 1 2 3 5 8 13 21 34 55
3. Buatlah deret
12345
b. 1
c.
5
d. 1 2 3 4 5
1234
12
45
2345
123
123
345
345
12
1234
2345
45
1
12345
12345
5
4. Buatlah deret
1.2 1.4 1.6 1.8
2.2 2.4 2.6 2.8
J. Pengembangan Algoritma Aplikasi
Setelah mengikuti kegiatan belajar 8 ini siswa diharapkan dapat :
1) Memahami keseluruhan konsep algoritma dalam penyelesaian masalah kompleks
2) Mengalisis kesalahan dalam program
Uraian Materi
1. Pertemuan 1: Definisi
DAFTAR PUSTAKA
Munir, Rinaldi., (2009), Algoritma dan Pemrograman dalam Bahasa Pascal dan C,
Bandung: Informatika.
Supardi, Yuniar., (2001), C & Flowchart Lewat Praktek, Jakarta: Dinastindo.
Sanjaya, Alwin., (2003), Cepat Mahir Basaha Pascal, Kuliah Berseri IlmuKomputer.Com
Copyright 2003 IlmuKomputer.Com
http://alehwoody.blogspot.com/2011/10/tipe-data-dan-operator-pada-pemograman.html
http://marliza.staff.gunadarma.ac.id/Downloads/files/12177/pertemuan+III.doc
http://faculty.petra.ac.id/thiang/download/dkp/Algoritma%20dan%20Flowchart.doc
http://smksedayu.files.wordpress.com/2009/07/modul-dasar-pascal.doc
Pembahasan 8
HIMPUNAN / SET
Himpunan termasuk salah satu tipe data terstruktur,yang terdiri dari sejumlah elemen yang bertipe
data sama.
Pendefinisian tipe data himpunana diawali dengan kata tercadang Set dan Of,kemudian didikuti
dengan tipe elemen.
Bentuk umum : SET OF tipe_elemen
Elemen Himpunan mempunyai bentuk eperti : [daftar_elemen] yang mana etiap elemen harus
bertipe sama.
Operator hubungan dalam himpunan
Himp1 = Himp2
Himp1 <> Himp2
Hasil bernilai True jika semua elemen dari Himp1 terdapat pada
Himp2
Hasil bernilai True jika semua elemen dari Himp2 terdapat pada
Himp1
Memeriksa elemen adalah anggota himpunan Himp atau
tidak.Hasil true jika elemen adalah anggota dari Himp
Elemen In Himp
Contoh Ungkapan
[1,2,3,4,5] * [1,3,5,7]
[1,2,3,4,5] * [6,7,8,9,10]
[1,2,3] * []
[1,2,3,4,5] + [6,7]
[1,2,4] + [1,2,3]
[1,2,3,4,5] - [1,2]
[1,2,3,4,5] - [4,5,6,7]
[4,5,6,7] - [1,2,3,4,5]
Hasil
[1,3,5]
[]
[]
[1,2,3,4,5,6,7]
[1,2,3,4]
[3,4,5]
[1,2,3]
[4,6,7]
H3:=H1-H2;
IF H3=[1,2,4] Then Writeln('H1-H2 Adalah [1,2,4]') Else Writeln('Salah');
Readln;
H3:=H1*H2;
IF H3=[3,5] Then Writeln('H1*H2 Adalah [3,5]') Else Writeln('Salah');
Readln;
END.
Pembahasan 9
ARRAY / LARIK
Array ( larik ) adalah tipe terstruktur yang terdiri dari sejumlah komponen yang mempuyai tipe
sama.
B.U : Array [ 1 . . 20 ] of tipe_data ; (Dimensi 1)
B.U : Array [1 . . 3 , 1 . . 2] of tipe_data; (Dimensi 2)
Contoh Program Array :
Uses crt ;
Var
Nama
: array [1..30 ] of string ;
Tugas, uts, uas, absen
: array [1..30] of integer ;
Rata
: array [1..30] of real ;
x , jd
: byte;
BEGIN
CLRSCR ;
Write ( Masukan Jumlah data : ) ; readln ( jd ) ;
For x : = 1 to jd do
begin
Writeln ( ***************************** ) ;
Writeln ( PENILAIAN UJIAN MAHASISWA BSI ) ;
Writeln ( ***************************** ) ;
Write ( Input Nama
: ) ; readln (nama[x] ) ;
Write ( Input Nilai Tugas
: ) ; readln (tugas[x] ) ;
Write ( Input Nilai Absen : ) ; readln (absen[x] ) ;
Write ( Input Nilai UTS
: ) ; readln (uts[x] ) ;
Write ( Input Nilai UAS
: ) ; readln (uas[x]) ;
Rata[x]:=(0.1*tugas[x])+(0.2*absen[x])+(0.3*uts[x])+(0.4*uas[x]);
End ;
CLRSCR ;
For i : = 1 to j do
Begin
Writeln ( ***************************** ) ;
Writeln ( PENILAIAN UJIAN MAHASISWA BSI ) ;
Writeln ( ***************************** ) ;
Writeln ( Nama
: , nama[i] ) ;
Writeln ( Nilai Tugas : , tugas[i] ) ;
Writeln ( Nilai Absen : , absen[i] ) ;
Writeln ( Nilai UTS
: , uts[i] ) ;
Writeln ( Nilai UAS
: , uas[i]) ;
Writeln ( **************************** ) ;
Writeln ( Rata-rata : , rata : 1: 0 ) ;
Readln ;
End;
END.
Pembahasan 10
PROCEDURE
Prosedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram
( program bagian ). Parameter pada procedure ada 2 :
Bentuk Umum :
PROGRAM Judul_Program ;
PROCEDURE judul_prosedur ;
Begin
.............
End ;
BEGIN
Pemanggilan
parameter
pada
prosedur
Contoh : By Value
Contoh : By Reference
Uses crt ;
Uses crt ;
Procedure Hitung (A,B :integer ); Procedure Hitung ( Var A, B, C : integer ) ;
Var
Begin
C : integer;
C : = A+B ;
Begin
End ;
C:=A+B;
Writeln ( Nilai C = , C ) ;
Var
End ;
X, Y, Z : integer ;
BEGIN
Var
X:=2;
X,Y : integer ;
Y:=3;
BEGIN
Hitung ( X, Y, Z ) ;
Write ( Nilai X : ) ; readln ( X ) ; Writeln ( X = , X, Y= , Y, Z = , Z ) ;
Write ( Nilai Y : ) ; readln ( Y ) ; Readln ;
Hitung ( X, Y ) ;
END.
Readln ;
Pembahasan 11
FUNGSI
Fungsi secara garis besar sama dengan prosedure baik parameter maupun pemanggilan
parameternya hanya yang membedakannya adalah nama fungsi harus dideklarasikan dengan type
datanya.
Bentuk Umum :
Bagian Fungsi
Program Utama
Parameter pada fungsi sama dengan parameter yang ada pada prosedure yaitu :
a. Pemanggilan secara Nilai ( By Value )
Contoh :
Uses crt ;
Function Hitung ( X, Y, Z : integer ) : integer ;
Begin
Z : = X+Y ;
Writeln ( Nilai X = , X ) ;
Writeln ( Nilai Y = , Y ) ;
Writeln ( Nilai Z = , Z ) ;
End ;
Var
A, B, C : integer ;
BEGIN
A:=5;B:=7;C:=3;
Hitung ( A, B, C ) ;
Writeln ( Nilai A =, A, Nilai B = , B, Nilai C = , C ) ;
Readln ;
END.
c. Pemanggilan secara Reference ( Acuan )
Contoh :
Uses crt ;
Function Hitung ( var A, B, C : integer ) : integer ;
Begin
Hitung : = A+B ;
C : = A* B ;
End ;
Var
X, Y, Z : integer ;
BEGIN
Write ( Nilai X : ) ; readln ( X ) ;
Write ( Nilai Y : ) ; readln ( Y ) ;
Writeln ;
Writeln ( X , + , Y, =, Hitung ( X, Y, Z )) ;
Writeln ( X, * ,Y, =, Z ) ;
Readln ;
END.
Argumen Mutlak
Eksponensial Argumen
Logaritma Natural Argumen
Kuadrat Argumen
Akar Argumen
angka Pi=3.14
bagian bulat angka real
bagian bulat angka real
bagian pecahan real
bulatkan angka real
Character ke ordinal
ordinal ke character
Pembahasan 12
RECORD
Adalah kumpulan item data (field) yang masing-masing dapat mempunyai tipe data yang beda
Contoh
Type
Lgn= Record
Kode : integer;
Nama : string[35];
Piutang : real;
End;
Var Langganan : Lgn;
Menggunakan Tipe Data Record
Tiap-tiap komponen field dari record dapat dipergunakan dengan cara menuliskan
Pengenalrecord.pengenalfield
Contoh
Langganan.Nama := Maulana ;
PengenalField
PengenalRecord
Penulisan statemen diatas dapat menyebabkan statement menjadi panjang
Contoh lain :
Lingkaran.Keliling := 2 * Pi * JariJari ;
Menggunakan Statemen With Do menjadi :
With Lingkaran Do
Begin
Keliling := 2 * Pi * JariJari ;
End;
Contoh :
Uses Crt;
Type
Recsis = Record
Nama : string[15];
Nu
: byte;
End;
Var DataSis : Array[1..10] of RecSis;
X, JD : Byte ;
Pred : String[6] ;
BEGIN
CLRSCR ;
Write( Jumlah Data : ) ; Readln(JD) ;
For X := 1 To JD Do
Begin
Write( Nama Siswa : ) ; ReadLn(Datasis[x].Nama) ;
Write( Nilai Ujian : ) ; ReadLn(Datasis[x].Nu) ;
End;
For X := 1 To JD Do
Begin
With Datasis[X] Do
Begin
IF Nu > 60 Then Pred := Lulus ;
Else Pred := Gagal ;
WriteLn(X, , Nama:10, ,Nu:2, , Pred:6);
End;
End;
ReadLn;
END.
Pembahasan 13
FILE
Suatu File terdiri dari urutn komponen yang mempunyai tipe sama. Berbeda dengan larik yang
jumlah komponennya sudah pasti, jumlah komponen dalam file sifatnya luwes, yaitu dapat
ditambah dan dikurangi sewaktu-waktu
File Teks
Merupakan file yang berisi kumpulan dari karakter yang dibentuk dalam baris-baris dan masingmasing baris diakhiri dengan tanda akhir dari baris berupa karakter carriage return dan karakter line
feed. File teks sebenarnya merupakan file dengan tipe char; tetapi mempunyai perbedaan, yaitu
nilai yang bukan tipe char dapat direkam dan dibaca oleh File Teks
Prosedur Standar File Teks
Append
: digunakan untuk membuka file yang telah ada untuk keperluan menambah data
ke dalam file
Write
: digunakan untuk merekam data ke file
Flush
: digunakan untuk segera merekam data yang ada di buffer ke file Teks
Read
: untuk membaca satu atau lebih nilai dari file ke dalam satu atau lebih variabel
SetTextBuf : digunakan untuk membuat buffer yang baru sebagai pengganti dari internal
buffer untuk file variabel
Fungsi Standar File Teks
EoLn
: untuk mengetahui apakah posisi dari file berada di end-of-line marker atau tidak
SeekEOF
: untuk menghasilkan status akhir dari File
SeekEoLn
: untuk menghasilkan status akhir baris
Contoh :
Uses Crt ;
Label a,b ;
Var
Vfbarang : text ;
Nabrg
: string [20 ];
Hrg
: longint ;
Jml
: integer ;
X, y
: byte ;
Ttl, gth
: longint ;
Lagi
: char ;
Pil
: byte ;
BEGIN
A:
Clrscr ;
Writeln ( MENU PILIHAN FILE TEXT ) ;
Writeln ( 1. Rekam Data File Baru ) ;
Writeln ( 2. Tambah Data File ) ;
Writeln ( 3. Lihat Data ) ;
Writeln ( 4. Exit ) ;
Write ( Silakan Pilih Menu [ 1/2/3/4 ] : ); readln ( pil ) ;
Case pil of
1..2 : begin
Assign (vfbarang,barang.txt ) ; { variabel file barang }
IF pil =1 then
Rewrite ( vfbarang )
Else
Append (vfbarang ) ;
Lagi : = Y ; X : = 0 ;
While (lagi =Y) or (lagi = T) do
begin
write ( Nama Barang : ) ; readln ( nabrg );
write ( Harga Barang : ) ; readln ( hrg ) ;
write ( Jumlah Barang : ) ; readln ( jml ) ;
write ( vfbarang, nabrg:1 5 , hrg : 10, jml : 4 ) ;
write ( Isi Data Lagi [ Y/T ] : ) ; readln ( lagi ) ;
end ;
close (vfbarang) ;
goto a ;
end ;
end;
begin
Assign ( vfbarang , barang.txt ) ;
Reset ( vfbarang ) ;
Writeln(
DATA PENJUALAN BARANG
) ;
Writeln(**************************************** ) ;
Writeln(No Nama Barang
Harga Jumlah Total ) ;
Writeln(*************************************** ) ;
{ proses dan cetak data detail }
y : = 0 ; fth : = 0 ;
While not eof ( vfbarang ) do
Begin
Read ( vfbarang, nabrg, hrg, jml ) ;
Total : = hrg * jml ;
gth : = gth + ttl ;
Inc ( y) ;
Write (y, ,nabar:15, ,hrg:7, ,jml:3, ,ttl) ;
End ;
{ garis penutup subtotal }
Writeln(**************************************** ) ;
Writeln (Grand Total:
Rp. , gth ) ;
Writeln(**************************************** ) ;
Close(vfbarang ) ;
Readln ;
goto a ;
end ;
Goto b ;
4 :
End ;
Readln ;
b:
END.
File Bertipe
Berbeda dengan file teks yang hanya dapat diakses secara urut, file bertipe disamping dapt pulajuga
diakses secara urut(sequential acces, dapat juga diakses secara aaak (randam access). Dan Tipe dari
file bertipe dapat berupa tipe integer, real, char, string array, record
Write
Read
Seek
:
:
:
Trunccate
FileSize
End;
Write(FileMHS,RecMHS);
End;
Close(FileMHS);
ReadLn;
END.
Lalu disimpan
Var
MHS=Record
NM
: string[15];
UTS,UAS : byte;
End;
FileMHS : File of MHS;
RecMHS : MHS;
No,Brs,JD,T,R,RN : byte;
P
: string[10];
K
: string[5];
BEGIN
CLRSCR;
Judul;
Assign(FileMHS,'C:\MHS.DAT');
Reset(FileMHS);
No:=0;
While Not EOF (FileMHS) Do
Begin
With RecMHS Do
Begin
Read(FileMHS,RecMHS);
T:= UTS+UAS; R:= T div 2; inc(No);
Case R of
00..59 : P:='Kurang';
60..74 : P:='Cukup';
75..84 : P:='Baik';
85..100: P:='Amat Baik';
End;
IF R<60 Then K:='Gagal' Else K:='Lulus';
WriteLn(No:3,' ',NM:15,' ',UTS:3,' ',UAS:3,' ',T:3,' ',R:3,' ',P:10,' ',K:5);
End;
End;
ReadLn;
Close(FileMHS);
END.
Pembahansan 14
PEMBUATAN UNIT BARU
Contoh Program Pembentukan Unitku
Unit Unitku;
Interface
Uses Crt;
Procedure Bersihkan;
Function Ls3(A,T:Integer):Real;
Implementation
Procedure Bersihkan;
Begin
Clrscr;
End;
Function Ls3(A,T:Integer):Real;
Begin
Ls3:=A*T/2;
End;
End
Lalu simpan
Contoh Program Pemakaian Unit Baru
Uses Unitku;
Var A,T :Integer;
Begin
Bersihkan;
Write('Nilai Alas :');Readln(A);
Write('Nilai Tinggi :');Readln(T);
Write('Luas Segitiga :',Ls3(A,T):5:1);
Readln;
End..