Anda di halaman 1dari 44

Wahyu Sumantri Sutiar, S.T.

SMK PGRI 1 KOTA SUKABUMI

BAB I
ALGORITMA PEMROGRAMAN

1.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, algoritma adalah deretan
langkah komputasi yang mentransformasikan masukan menjadi keluaran [COR89].

Perhatikan contoh algoritma sederhana berikut :


Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang harus dilakukan adalah:
1) Menyiapkan Peralatan Tulis
2) Menulis surat
3) Surat dimasukkan ke dalam amplop tertutup
4) Amplop ditempeli perangko secukupnya.
5) Pergi ke Kantor Pos terdekat untuk mengirimkannya
Algoritma menghitung luas persegi panjang:
1) Masukkan panjang (P)
2) Masukkan lebar (L)
3) Luas P * L
4) Tulis Luas

Pemrograman Dasar kelas X semester 1 dan 2 | 1


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

c. 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.

d. Definisi Program / Pemrograman


Pemrograman adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang
dibuat oleh programmer (pembuat program) Program adalah kumpulan instruksi atau perintah yang disusun
sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan.
(Menurut P. Insap Santosa)
Bahasa Pemrograman adalah alat untuk membuat program
Contoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll.
Secara garis besar, unsur-unsur pemrograman adalah Input Proses Output.

Proses
Input Output
Pengolahan Data

Memory

1) Input
Bagian ini merupakan proses untuk memasukkan data ke komputer melalui device yang ada misalnya
keyboard, mouse, scanner dll. Program melakukan proses membaca data yang akan diolah dari device
tersebut.
2) Output
Bagian ini merupakan proses untuk menampilkan data yang telah diolah, melaporkan hasil pegolahan data
melalui device seperti monitor, printer dll. Program melakukan proses mencetak data ke device tersebut.
3) Proses
Bagian ini merupakan proses mengolah data yang diinputkan dengan nenerapkan metode-metode, teknik-
teknik, algoritma-algoritma yang ada. Proses ini menghasilkan data output yang akan dioutputkan kepada
pengguna program.

Beda Algoritma dan Program ?


Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program
adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman.
Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.
Pemrograman Dasar kelas X semester 1 dan 2 | 2
Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Beberapa pakar memberi formula bahwa:


Program = Algoritma + Bahasa (Struktur Data)

Penerjemah Bahasa Pemrograman


Untuk menterjemahkan bahasa pemrograman yang kita tulis maka diperlukan Compiler dan interpreter.
Compiler adalah suatu program yang menterjemahkan bahasa program (Source code) ke dalam bahasa obyek
(object code) secara keseluruhan program.
Interpreter berbeda dengan Compiler, interpreter menganalisis dan mengeksekusi setiap baris dari program
secara keseluruhan. Keuntungan dari interpreter adalah
dalam eksekusi yang bisa dilakukan dengan segera. Tanpa melalui tahap kompilasi, untuk alas an ini
interpreter digunakan pada saat pembuatan program berskala besar.

Paradigma Pemrograman :
1) Pemrograman Prosedural
a) Berdasarkan urutan-urutan, sekuensial
b) Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan
instruksi yang dikerjakan secara berurutan.
c) Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.
2) Pemrograman Fungsional
a) Berdasarkan teori fungsi matematika
b) Fungsi merupakan dasar utama program.
3) Pemrograman Terstruktur
a) Secara berurutan dan terstrukrtur.
b) Program dapat dibagai-bagi menjadi prosedur dan fungsi.
c) Contoh: PASCAL dan C
4) Pemrograman Modular
a) Pemrograman ini membentuk banyak modul.
b) Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri
c) Sebuah program dapat merupakan kumpulan modul-modul.
d) Contoh: MODULA-2 atau ADA
5) Pemrograman Berorientasi Obyek
a) Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan
method/event/prosedur yang dapat dimanipulasi
b) Contoh: C++, Object Pascal, dan Java.
6) Pemrograman Berorientasi Fungsi
a) Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan
bahasa pemrograman ini.
b) Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.
7) Pemrograman Deklaratif
a) Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah
dengan implementasi algoritma.
b) Contoh: PROLOG

e. Belajar Memprogram dan Belajar Bahasa Pemrograman


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, bahasa-bahasa 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.
Pemrograman Dasar kelas X semester 1 dan 2 | 3
Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

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.

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 ?

1.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
Pemrograman Dasar kelas X semester 1 dan 2 | 4
Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

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?

Menggunakan perintah repeat


Repeat N time
aksi

Algoritma tulis kalimat 100 kali


Repeat 100 times
Tulis ”saya berjanji tidak akan nakal dan malas”

Menggunakan perintah For


For pencacah pengulangan dari 1sampai N do
Aksi

Algoritma tulis kalimat 100 kali


For i dari 1 sampai 100 do
Tulis ”saya berjanji tidak akan nakal dan malas”

Menggunakan Repat Until


Repeat
Pemrograman Dasar kelas X semester 1 dan 2 | 5
Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Aksi
Until Kondisi

Algoritma tulis kalimat 100 kali


Repeat
Tulis ”saya berjanji tidak akan nakal dan malas”
Until sudah 100 kali

Latihan
1. Sebutkan tiga struktur dasar algoritma
2. Buat algoritma secara deskriptif menggunakan perintah pemilihan tentang sikap yang harus dilakukan bila
menemui pengatur lalu lintas di jalan raya.
3. Buat algoritma secara deskriptif menggunakan perintah For...do untuk menuliskan kalimat ”Hallo World”
sebanyak 10 kali
4. Buat algoritma secara deskriptif menggunakan perintah While...Do untuk menuliskan kalimat ”Hallo
World” sebanyak 10 kali
5. Buat algoritma secara deskriptif menggunakan perintah Repeat...Until untuk menuliskan kalimat ”Hallo
World” sebanyak 10 kali

1.3 Pengenalan Variabel


Peubah (Variabel) adalah tempat dimana kita dapat mengisi atau mengosongkan nilainya dan
memanggil kembali apabila dibutuhkan. Setiap variabel akan mempunyai nama (identifier) dan nilai.
Variable digunakan untuk menyimpan data. Dengan demikian tanpa variabel, sebuah rogram tidak akan dapat
melakukan apa-apa. pendeklarasian variable bersifat opsional, maksudnya Anda bisa mendeklarasikannya
atau tidak. Bila Anda memberi nilai pada suatu variable, Anda telah mendeklarasikan variable tersebut.

Sebagai contoh :
X = 50; // X bernilai 50

Aturan-aturan tersebut yaitu:


a) Nama variabel harus diawali dengan huruf.
b) Tidak boleh menggunakan spasi pada satu nama variabel. Spasi bisa diganti dengan karakter underscore
(_).
c) Nama variabel tidak boleh mengandung karakter-karakter khusus, seperti : .,+, -, *, /, <, >, &, (, ) dan
lain-lain.
d) Nama variabel tidak boleh menggunakan kata-kata kunci d bahasa Pemrograman

1.4 , 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
Pemrograman Dasar kelas X semester 1 dan 2 | 6
Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

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 Operator Contoh Keterangan


^ 5^2 Akar
() 2+(5-4) Kurung
* 1*2 Perkalian
Aritmatika
/ 2/2 Pembagian
+ 2+2 Penjumlahan
- 2-1 Pengurangan
= A=2 Samadengan
< A<2 Lebih kecil
> A>2 Lebih besar
Perbandingan
<= A<=2 Lebih kecil sama dengan
>= A>=2 Lebih besar sama dengan
<> A<>2 Tidak sama dengan
And A and B True jika a dan b true
Logika Or A or B True jika a or b true
Xor A xor B 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

1. 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
Pemrograman Dasar kelas X semester 1 dan 2 | 7
Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Write (x,y)

Contoh sebuah pernyataan dalam notasi deskriptif


Isikan nilai x ke dalam min

Maka notasi pseudo-code nya dalam notasi algoritmik menjadi:


min←x

Algoritmik
min←x

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 Bahasa pascal
{program penjumlahan} Program penjumlahan;
Deklarasi Uses crt;
A:integer Var A,B,C:integer;
B:integer Begin
C:integer A:=1
Algoritma B:=1
A←1 C:=A+B
B←1 write(C)
C←A+B 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)

jml←lm*hk

write (‘Jumlah bayar : ‘,jml)

Terjemahkan algoritma diatas kedalam bahasa pemrograman Turbo Pascal

Test formatif
Proses program yang dikehendaki:
Pemrograman Dasar kelas X semester 1 dan 2 | 8
Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

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. Pertemuan 5 : Flowchart/Penggunaan tool flowchart


Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu program,
yang menyatakan arah alur program tersebut.

Berikut adalah beberapa simbol yang digunakan dalam menggambar suatu


flowchart :
SIMBOL NAMA FUNGSI

TERMINATOR Permulaan/akhir program

GARIS ALIR
Arah aliran program
(FLOW LINE)

Proses inisialisasi/pemberian harga


PREPARATION
awal

Proses perhitungan/proses pengolahan


PROSES
data

INPUT/OUTPUT Proses input/output data, parameter,


DATA informasi

PREDEFINED
Permulaan sub program/proses
PROCESS
menjalankan sub program
(SUB PROGRAM)

Perbandingan pernyataan,
DECISION penyeleksian data yang memberikan
pilihan untuk langkah selanjutnya

ON PAGE Penghubung bagian-bagian flowchart


CONNECTOR yang berada pada satu halaman

OFF PAGE Penghubung bagian-bagian flowchart


CONNECTOR yang berada pada halaman berbeda

Pemrograman Dasar kelas X semester 1 dan 2 | 9


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Dari contoh algoritma di atas tentang menentukan apakah suatu bilangan adalah bilangan ganjil atau bilangan
genap, flowchart dari program adalah sebagai berikut :

Start A

Input
Bilangan
Apakah T
Sisa =
0
Hitung sisa Y
bagi antara
Cetak Cetak
bilangan
Genap Ganjil
dengan 2

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

Pemrograman Dasar kelas X semester 1 dan 2 | 10


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

BAB II
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.

Contoh Studi kasus:


{Dalam bentuk notasi algoritmik} 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: ‘)
Pemrograman Dasar kelas X semester 1 dan 2 | 11
Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Read (lm)
Write (‘Harga kamar per hari: ‘)
Read (hk)

Jml←lm*hk

If jml > 100000 then


Byrakh←jml – (jml*0.1)
Else
byrakh←jml
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
- Nama siswa (nana variable namasis)
- Nilai c (nama variable nilaic)
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. Pertemuan 2: percabangan 2 kondisi


Kontruksi IF-THEN hanya menyediakan satu alternatif aksi jika suatu persyaratan (kondisi) dipenuhi.
Kadang-kadang kita perlu memilih melakukan aksi alternative jika suatu kondisi tidak memenuhi. Jadi, ada
dua kasus, tetapi hanya salah satu dari keduanya yang harus dipilih satu untuk dikerjakan. Notasi algoritmik
untuk masalah dengan dua buah kasus adalah dengan menggunakan kontruksi IF-THEN-ELSE (jika-maka-
kalau tidak)
{Dalam bentuk notasi algoritmik} Notasi Flowchart

If kondisi then
Aksi1
else
aksi2
endif

Pemrograman Dasar kelas X semester 1 dan 2 | 12


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Contoh Studi kasus:

{Dalam bentuk notasi algoritmik} 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)

Jml←lm*hk

If jml > 200000 then


Byrakh←jml – (jml*0.2)
Ket← ‘Dapat discount’

Else
byrakh←jml
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)

Pemrograman Dasar kelas X semester 1 dan 2 | 13


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

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. Pertemuan 3: Percabangan lebih dari 2 kondisi


Masalah yang mempunyai tiga buah kasus atau lebih dapat dianalisis dengan intruksi
IF-THEN-ELSE bertingkat-tingkat.

{Dalam bentuk notasi algoritmik} Notasi Flowchart

If kondisi1 then
Aksi1
Else
If kondisi2 then
Aksi2
Else
If kondisi3 then
Aksi2
Endif
Endif
Endif

Pemrograman Dasar kelas X semester 1 dan 2 | 14


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Contoh Studi kasus:


{Dalam bentuk notasi algoritmik} 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 Discount


Jml > 300000 30%
200000 < jml < 300000 20%
100000 < jml < 200000 10%
100000 < jml 0

Program nginap
Deklarasi
Lm:integer
Hk:real
Jml:real
Byrakh:real
Ket:string
Algoritma
Read (lm)
Read (hk)

Jml←lm*hk

If jml > 300000 then


Byrakh←jml – (jml*0.2)
Else
If jml >= 200000 then
byrakh←jml
Ket← ‘Tidak dapat discount’
Endif
Write (‘Jumlah bayar : ‘,jml)
Write (‘Keterangan : ‘,ket)
Write (‘Total bayar akhir : ‘,byrakh)

Pemrograman Dasar kelas X semester 1 dan 2 | 15


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

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 Mutu Huruf


Nilai C >= 85 A
70 <= nilai_c < 85 B
55 <= nilai_c < 70 C
40 <= nilai_c < 55 D
39 <= nilai_c 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. Pertemuan 4: Percabangan bersarang


Untuk masalah dengan dua kasus atau lebih, kontruksi case dengan menyederhanakan penulisan IF-
THEN-ELSE yang bertingkat-tingkat sebagaimana pada contoh-contoh sebelumnya ini. Kontruksi CASE
sebagai berikut:
{Dalam bentuk notasi algoritmik} Notasi Flowchart

Program genap
Deklarasi
X : integer
Algoritma
Read (x)
Case x mod 2
0 : write (‘genap’)
1 : write (‘ganjil’)
Endcase

Pemrograman Dasar kelas X semester 1 dan 2 | 16


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Contoh Studi kasus:


{Dalam bentuk notasi algoritmik} 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

Contoh Studi kasus:

{Dalam bentuk notasi algoritmik} Notasi Flowchart

Program empatpersegipanjang
Deklarasi
Nomormenu:integer
Panjang,lebar:real
Luas,keliling,diagonal:real
Algoritma
Write (‘Menu empat persegi panjang’)
Write (‘1. Hitung luas’)
Write (‘2. Hitung keliling’)
Write (‘3. Hitung panjang diagonal’)
Write (‘4. Keluar program’)
Write (‘Masukan pilihan anda [1/2/3/4] : ’)
Read (nomormenu)

Case nomormenu
1: read (panjang, lebar)
luas←panjang*lebar
write (luas)
2: read (panjang, lebar)
keliling←2*panjang+2*lebar
write (keliling)
3: Read (panjang, lebar)

diagonal←sqrt(panjang*panjang+lebar*lebar)
write (diagonal)
4: write (‘keluar program… sampai jumpa’)
endcase

Pemrograman Dasar kelas X semester 1 dan 2 | 17


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

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)

jml←lm*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’: byrakh←jml-(jml*0.3)
x = ‘2’: byrakh←jml-(jml*0.2)
x = ‘3’: byrakh←jml-(jml*0.1)
x = ‘4’: byrakh←jml
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 :
Pemrograman Dasar kelas X semester 1 dan 2 | 18
Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

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 !

Pemrograman Dasar kelas X semester 1 dan 2 | 19


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

BAB III
ALGORITMA PERULANGAN

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. Pertemuan 1: Perulangan dengan kondisi di awal (While…Do)

Bentuk umum pernyataan WHILE adalah

While kondisi do
Aksi
Endwhile

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 Notasi Flowchart


Deklarasi
I : integer
Algoritma
i←1
while I < 10 do {ulangi sebanyak 10 kali}
write (‘hello world’)
i←i+1 {loop variant}
endwhile

Pemrograman Dasar kelas X semester 1 dan 2 | 20


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Latihan praktek 1: Latihan praktek 2:


Mencetak angka dari angka 1 s.d 10 Mencetak angka angka 1 sampai N
Program cetaksampai10 Program cetak1sampaiN
Deklarasi Deklarasi
K : integer N:integer
Algoritma i:integer
i←1 Algoritma
while I < 10 do Read(N)
write (i) i←1
i←i+1 while i < N do
endwhile write (i)
i←i+1
endwhile

Latihan praktek 3: Latihan praktek 4: Latihan praktek 5:


Menghitung 1+2+3+…+N (N>0) Menghitung rata-rata Program meluncurkanrocket
Program penjumlahanderet Program hitungrata_rata Deklarasi
Deklarasi Deklarasi I : integer
N : integer N : integer Algoritma
I : integer X : integer i←100
Jumlah : integer I : integer while i > 0 do
Algoritma Jumlah : integer write (i)
Read(N) Ratarata : real i←i-1
jumlah←0 Algoritma endwhile
i←1 Read(N) write (‘Go….’)
while i < N do i←1
jumlah←jumlah+i while i < N do
i←i+1 read (x)
endwhile jumlah←jumlah * x
write (jumlah) i←i+1
endwhile
ratarata←jumlah/n
write (ratarata)

Test formatif :
Rubah algoritma pada latihan praktek 1 s.d 5 kedalam bentuk flowchart

2. Pertemuan 2: Perulangan dengan kondisi di akhir (Repeat…Until)


Bentuk umum pernyataan REPEAT adalah

Repeat
Aksi
Until kondisi

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.

Pemrograman Dasar kelas X semester 1 dan 2 | 21


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Mencetak pesan “Hallo world” sebanyak 10 kali


Program mencetakbanyak_halloworld Notasi Flowchart
Deklarasi
I : integer
Algoritma
i←1
repeat
write (‘hello world’)
i←i+1 {loop variant}
until I > 10

Latihan praktek 1: Latihan praktek 2:


Mencetak angka dari angka 1 s.d 10 Mencetak angka angka 1 sampai N
Program cetaksampai10 Program cetak1sampaiN
Deklarasi Deklarasi
K : integer N:integer
Algoritma i:integer
i←1 Algoritma
Repeat Read(N)
write (i) i←1
i←i+1 repeat
until i > 10 write (i)
i←i+1
until I > N

Latihan praktek 3: Latihan praktek 4: Latihan 5:


Menghitung 1+2+3+…+N (N>0) Menghitung rata-rata Program peluncuranrocket
Program penjumlahanderet Program hitungrata_rata Deklarasi
Deklarasi Deklarasi I : integer
N : integer N : integer Algoritma
I : integer X : integer i←100
Jumlah : integer I : integer repeat
Algoritma Jumlah : integer write (i)
Read(N) Ratarata : real i←i-1
jumlah←0 Algoritma until I < 0
i←1 Read(N) write (‘Go….’)
repeat i←1
jumlah←jumlah+i repeat
i←i+1 read (x)
until I > N jumlah←jumlah * x
write (jumlah) i←i+1
until I > n
ratarata←jumlah/n
write (ratarata)

Pemrograman Dasar kelas X semester 1 dan 2 | 22


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Test formatif :
Rubah algoritma pada latihan praktek 1 s.d 5 kedalam bentuk flowchart dan terjemahkan kedalam bahasa
pemrograman pascal

3. Pertemuan 3: Perulangan sebagai pencacah naik


Intruksi for digunakan untu menghasilkan pengulangan sejumlah kali yang telah dispesifikasikan.
Jumlah pengulangan diketahui atau dpat ditentukan sebelum eksekusi. Untu mencacah berapa kali
pengulangan dilakukan, kita memerlukan sebuah peubah (variable) pencacah (counter).
Peubah ini nilainya selalu bertambah satu setiap kali pengulangan dilakukan. Jika cacah pengulangan
sudah mencapai jumlah yang dispesifikasikan, maka proses pengulangan berhenti.

Bentuk umum pernyataan FOR adalah

For pencacah←nilai_awal to nilai_akhir do


Aksi
endfor

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.

Mencetak pesan “Hallo world” sebanyak 10 kali


Program mencetakbanyak_halloworld
Deklarasi
I : integer
Algoritma
For i←1 to 10 do
Write (‘Hallo World’)
Endfor

Latihan praktek 1:
Mencetak angka dari angka 1 s.d 10
Program cetaksampai10
Deklarasi
i : integer
Algoritma
For i←1 to 10 do
write (i)
endfor

Latihan praktek 1: Latihan praktek 1: Latihan praktek 3:


Mencetak angka angka 1 Menghitung 1+2+3+…+N Menghitung rata-rata
sampai N Program penjumlahanderet Program hitungrata_rata
Deklarasi Deklarasi
Program cetak1sampaiN N : integer N : integer
Deklarasi I : integer X : integer
N:integer Jumlah : integer I : integer
i:integer Algoritma Jumlah : integer
Algoritma Read(N) Ratarata : real
Read(N) jumlah←0 Algoritma
For i←1 to N do For i←1 to N do Read(N)
write (i) jumlah←jumlah+i For i←1 to 10 do
endfor Endfor read (x)
write (jumlah) jumlah←jumlah + x
endfor
ratarata←jumlah/n
write (ratarata)

Pemrograman Dasar kelas X semester 1 dan 2 | 23


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Test formatif :
Rubah algoritma pada latihan praktek 1 s.d 4 kedalam bentuk flowchart dan terjemahkan kedalam bahasa
pemrograman pascal

4. Pertemuan 4: Perulangan sebagai pencacah turun


Intruksi for digunakan untu menghasilkan pengulangan sejumlah kali yang telah dispesifikasikan.
Jumlah pengulangan diketahui atau dpat ditentukan sebelum eksekusi. Untu mencacah berapa kali
pengulangan dilakukan, kita memerlukan sebuah peubah (variable) pencacah (counter).
Peubah ini nilainya selalu bertambah satu setiap kali pengulangan dilakukan. Jika cacah pengulangan
sudah mencapai jumlah yang dispesifikasikan, maka proses pengulangan berhenti.

Bentuk umum pernyataan FOR adalah

For pencacah←nilai_akhir downto nilai_awal do


Aksi
endfor

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.

Mencetak pesan “Hallo world” sebanyak 10 kali

Program mencetakbanyak_halloworld
Deklarasi
I : integer
Algoritma
For i←10 downto 1 do
Write (i)
Endfor
Write (‘go….’)

Test Formatif
1. Buatlah algoritma untuk menghitung jumlah N buah bilangan ganjil pertama (yaitu 1+3+5+....)
catatan. N adalah bilangan bulat tidak negatif
2. Buatlah algoritma untuk menghitung jumlah bilangan ganjil dari 1 sampai N (yaitu 1+3+5+...+N).
(perhatikan perbedaan soal latihan ini dengan soal nomor 1)

Pemrograman Dasar kelas X semester 1 dan 2 | 24


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

BAB IV
BAHASA PEMROGRAMAN

1. Pertemuan 1: Pengenalan bahasa pemrograman (Bahasa Pascal)


Bahasa Pascal merupakan bahasa yang sangat populer di dunia, terlebih karena digunakan sebagai
bahasa untuk mengajarkan pemrograman terstruktur bagi para siswa/mahasiswa di pelbagai sekolah
SMK/perguruan tinggi, baik di Indonesia maupun negara lainnya. Sebagai bahasa pemrograman yang
terstruktur, bahasa ini menyediakan sejumlah kontrol (berupa REPEAT, WHILE dan FOR) serta mendukung
pembuatan program yang tersusun atas sejumlah blokblok kecil (yang dikenal dengan sebutan rutin pada
berbagai bahasa pemrograman). Blok-blok kecil ini dapat dipakai untuk membentuk blok yang lebih besar,
dan secara keseluruhan membentuk program kerja. Keuntungan dari pemrograman terstruktur, program
mudah dibuat, dipahami dan dikembangkan.
Pencipta bahasa Pascal adalah Niklaus Wirth (EidgenOssische Technishe Hochshule, Zurich, Swiss).
Nama Pascal sendiri diambil untuk mengenang dan mengabadikan seorang matematikawan Perancis
bernama Blaise Pascal (1623-1662), penemu mesin penjumlah mekanis yang pertama kali.
Bahasa Pascal lahir sebagai hasil pengembangan dari bahasa ALGOL-60. Versi pertama Pascal muncul
pada tahun 1970 dan laporan pertama mengenai bahasa ini baru dipublikasikan pada tahun 1971. Pada tahun
1974, buku berjudul Pascal User Manual and Report dipublikasikan. Buku ini ditulis oleh Niklaus Wirth dan
Kathleen Jensen. Kepopuleran Pascal berkembang seiring dengan berkembangnya PC. Pada platform ini
terdapat sejumlah kompiler Pascal. Salah satunya Turbo Pascal, yang dikeluarkan oleh Borland
International. Turbo Pascal telah mengalami perubahan semenjak versinya yang pertama. Tercatat pada
tahun 1992, Turbo Pascal versi 7.0 telah dirilis.
Yang menarik, Turbo Pascal bukanlah sekedar kompiler. Turbo Pascal menyediakan suatu lingkungan
terpadu (dikenal dengan sebutan IDE, Integrated Development Environment), yang diantaranya berisi :
1) Kompiler (untuk mengkompilasi program menjadi suatu objek yang dipahami oleh komputer)
2) Debugger (untuk mencari kesalahan program)
3) Linker (untuk menggabungkan file objek dan file pustaka serta membentuk file executable)
4) Editor (untuk menulis program sumber)
Kompiler (+Linker) yang tersedia dapat dipakai untuk mengkompilasi program menjadi file yang executable
(dapat dieksekusi secara langsung dari prompt DOS). Namun demikian pemrogram juga 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.

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
Pemrograman Dasar kelas X semester 1 dan 2 | 25
Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Hasilnya :
Saya
Belajar Turbo
Pascal Versi 7.0

Tugas:
Buatlah Program cetak dilayar Biodata diri anda

2. Pertemuan 2: Pengenalan Tools/Framework pengembangan program

Turbo Pascal memiliki 7 buah menu utama yang terdiri dari : File, Edit, Run, Compile, Options, Debug,
dan Break / Watch.
Table dibawah ini adalah hotkey yang digunakan dalam turbo pascal :
Kunci Fungsi Ekivalen menu
F1 Mengaktifkan jendela pertolongan.
F2 Menyimpan berkas yang ada pada editor. File / Save
F3 Memanggil program kedalam editor. File / Load
F4 Mengeksekusi program sampai posisi kursor. Run / Go to cursor
F5 Memperbesar atau memperkecil jendela yang aktif.
F6 Mengganti jendela yang aktif.
F7 Melacak kedalam subrutin. Run / Trace into
F8 Melompati pemanggil subrutin.
F9 Mengaktifkan perintah ‘Make’. Compile / Make
F10 Berpindah dari menu-menu ke jendela yang aktif.
Alt + F1 Memanggil jendela pertolongan yang terakhir dibaca.
Alt + F3 Memanggil jendela pertolongan yang terakhir dibaca.
Alt + F5 Memilih berkas untuk dimuat. File / Pick
Alt + F6 Memperlihatkan hasil eksekusi File / user screen
Alt + F9 Mengganti isi jendela yang aktif.
Alt + B Mengkompilasi program. Compile
Alt + C Mengaktifkan menu Break / Watch.
Alt + D Mengaktifkan menu compile.
Alt + E Mengaktifkan menu debug.
Alt + F Mengaktifkan editor.
Alt + O Mengakaktifkan menu file.
Alt + R Mengaktifkan menu option.
Alt + X Mengaktifkan menu run. Run / Program reset
Ctrl + F1 Keluar dari Turbo Pascal dan kembali ke DOS. Debug / Call Stack
Ctrl + F2 Menampilkan menu pertolongan bahasa. Debug / Evaluate
Ctrl + F3 Menghentikan pembetulan. B / Add Watch
Ctrl + F4 Menampilkan isi tumpukan. B / Toggle breakpoint
Ctrl + F7 Melakukan penghitungan atau mengubah nilai peubah. Run / Run
Ctrl + F8 Menambahkan ungkapan pada jendela watch.
Ctrl + F9 Toggles Breakpoint.
Ctrl + F10 Menjalankan program.
Menampilkan versi layar monitor

Pemrograman Dasar kelas X semester 1 dan 2 | 26


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

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 pembetulan-
pembetulan 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.
Pemrograman Dasar kelas X semester 1 dan 2 | 27
Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

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.

Menu Compile [Alt + F9]


Perintah ini digunakan untuk mengkompile program atau bisa juga kita bilang kalau program yang telah kita
buat tadi dengan bahasa pascal di terjemahkan kedalam bahasa komputer agar si komputer ini mengerti apa-
apa saja perintah kita.

Submenu Make
Pilihan ini digunakan untuk mengaktifkan perintah make, jika file yang primer telah diberi nama, maka file
ini akan dikompilasi, jika tidak maka file yang terakhir yang sedang dimuat di editor akan dikompilasi..
Pilihan ini sangat berguna jika terdapat beberapa program yang secara fisik terpisah tetapi secara logikanya
merupakan suatu kesatuan.

Submenu Build
Perintah ini mirip dengan perintah make, hanya saja perintah build ini sifatnya bebas, sedangkan perintah
make hanya akan mengkompilasi file-file selain file yang digunakan.

Submenu Destination [Memory]


Perintah ini secara umumnya hanya berfungsi untuk memilih apakah hasil kompilasi akan disimpan dalam
cakram atau folder sebagai file yang bertipe .EXE atau hanya di pengingat utama yang akan hilang pada saat
anda keluar dari Turbo Pascal.

Submenu Find Error


Dari namanya anda pasti sudah tahu, yah perintah ini digunakan untuk menentukan lokasi kesalahan pada
saat program dijalankan [run time error]. Lokasi kesalahan dinyatakan dengan format seg:off, misalnya
2BE0:FFD4. jika anda kembali ke IDE, turbo pascal akan menempatkan kursor pada baris dimana terjadi
kesalahan. Jika anda terlanjur memindahkan kursor sembarangan maka anda bisa memindahkan kembali
kursor ke tempat kesalahan dengan menekan Ctrl + Q + W.

Submenu Primary File


Perintah ini digunakan untuk menyatakan bahwa file .PAS akan dikompilasi pada saat make [F9] atau build
[Alt + C + B] diaktifkan.
Submenu Get info
Tidak salah lagi, perintah ini digunakan untuk menampilkan jendela informasi dari program .PAS yang
sedang anda gunakan, termasuk ukuran kode sumber [dalam sumber dan baris], ukuran file .EXE atau .TPU
dalam byte dan data

Menu Options
Pilihan pada menu yang satu ini berfungsi mengkonfigurasi untuk mengoptimalkan penggunaan fasilitas-
fasilitas pada turbo pascal.

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.

Pemrograman Dasar kelas X semester 1 dan 2 | 28


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

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}.

Boolean Evaluation [Short Circuit] :


Digunakan untuk memilih pembangkitan kode pada saat operasi logika [operasi Boolean] dijalankan.
Pilihan ini sama dengan penunjuk kompiler {$B}.

Numeric Processing [Software] :


Digunakan untuk memilih pembangkitn kode operasi titik mengambang [floating point] yang
didukung oleh Turbo Pascal. Pilihan ini juga sama dengan penunjuk kompiler {$N}

Emulation [On] :
Mengaktifkan atau menonaktifkan linking dengan run – time yang mengemulasikan ke prosessor
numeric 8087. pilihan ini sama dengan penunjuk kompiler {$E}

Debug Information [On] :


Digunakan untuk membangkitkan atau tidak membangkitkan informasi pada saat didalam program
terjadi kesalahan. Pilihan ini sama dengan penunjuk kompiler {$D}.

Local Symbol [On] :


Digunakan untuk mengaktifkan atau menonaktifkan symbol informasi local.
Conditional defines:
Digunakan untuk menyatakan penunjuk kompiler berkondisi.

Memory sizes:
Digunakan untuk mengkonfigurasi peta pengingat. Dengan penunjuk kompiler{$M}.
Stack Size:
ukuran segmen tumpukan maksimum 64 K dengan standart 16 K.

Low Heap limit:


ukuran heap minimum standart adalah 0 K.

High Heap limit:


ukuran heap maksimum adalah 655360 byte.

Pemrograman Dasar kelas X semester 1 dan 2 | 29


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Submenu Linker
Pilihan ini digunakan untuk mengatur konfigurasi built in linker.

Map File [Off] :


Menentukan berapa banyak informasi dalam berkas peta map yang akan dihasilkan. Berkas peta
akan ditempatkan dalam direktori .EXE dengan akhiran .MAP

Segment :
Informasi segment [Nama, Ukuran, Awal dan Akhir segment dan kelasnya].

Public :
Informasi segment, semua nama-nama symbol dan alamatnya dan titik masukkan program.

Detailed :
segement, informasi symbol dan titik masukkan program dan nomor barisnya dan tabel-tabel modul.

Submenu Environment
Pilihan ini digunakan untuk memberitahukan Turbo Pascal dimana bisa ditemukan berkas yang akan
dikompilasi, di link dengan dilengkapi dengan menu-menu pertolongan.

Config Auto Save [Off] :


Digunakan untuk mencegah kehilangan setting komfigurasi yang telah anda lakukan.

Edit Auto Save [Off] :


Digunakan untuk mencegah kehilangan berkas yang disebabkan oleh penyimpanan otomatis pada
saat anda menggunakan Run / Step Over atau Run / Run.

Backup Files [On] :


Secara standard, turbo pascal akan membangkitkan berkas backup pada saat anda menyimpan
berkas. Yang biasa kita lihat dengan .BAK

Tab Size [2] :


Digunakan untuk mengatur ukuran Tab pada editor. Ukuran yang diperbolehkan adalah 2 sampai 16
dengan defaultnya 8.

Zoom Windows [Off] :


Jika di On kan maka, Jendela Edit, Watch, dan Output akan diperluas sampai satu layar penuh.

Screen Size [25 line] :


Digunakan untuk memilih ukuran layar. Dengan standard 25 baris, 43 baris [EGA] atau 50 baris
[VGA]. Pilihan ini hanya bisa diaktifkan jika perangkat kerasnya mendukung.

Submenu Directories
Pilihan menu ini digunakan untuk menunjukkan kepada Turbo Pascal lokasi setiap direktori yang diperlukan.

Turbo directory :
Digunakan untuk menemukan berkas konfigurasi [.TP] dan berkas pertolongan [Turbo.HLP].

EXE & TPU directory :


Digunakan untuk menyimpan berkas .EXE dan .TPU.

Include Directories :
Digunakan untuk menentukan direktori yang berisi Include File.

Unit Directories :
Digunakan untuk memberitahu TP dimana berkas-berkas unit berada.

Object Directories :
Digunakan untuk menentukan direktori yang berisi berkas [.OBJ].

Pick file name :


Digunakan untuk menentukan nama dan lokasi pick file.
Pemrograman Dasar kelas X semester 1 dan 2 | 30
Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

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.

Submenu Edit Watch :


Pilihan ini akan membawa posisi watch ke kotak input sehingga anda bisa mengubahnya.

Pemrograman Dasar kelas X semester 1 dan 2 | 31


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Submenu Remove All Watches :


Menghapus semua rinci dalam jendela watch sekaligus memperkecil ukurannya sampai minimum.

Submenu Toggle Breakpoints [Ctrl + F8]:


mengatur suatu baris sebagai breakpoint. Dalam editor breakpoint ditunjukkan dengan highlight text.

Submenu Clear All Breakpoints:


Menghapus semua breakpoint yang telah diset.

Submenu View Next Breakpoint :


Digunakan untuk menggerakkan kursor ke posisi breakpoint berikutnya.

Perintah Dasar untuk Menggerakkan Kursor


Tombol Fungsi
Ctrl + S atau panah kiri Bergerak ke kiri satu karakter
Ctrl + D atau panah kanan Bergerak ke kanan satu karakter
Ctrl + A atau Ctrl + panah kiri Bergerak ke kiri satu kata
Ctrl + F atau Ctrl + panah kanan Bergerak ke kanan satu kata
Ctrl + E atau panah naik Bergerak ke atas satu baris
Ctrl + X atau panah turun Bergerak ke baah satu baris
Ctrl + W Memutar layar ke atas
Ctrl + Z Memutar layar kebawah
Ctrl + R atau PgUp Kehalaman sebelumnya
Ctrl + C atau PgDown Kehalaman berikutnya

Perintah Kursor Tambahan


Tombol Fungsi
Ctrl + U Membatalkan kegiatan
Ctrl + O + I atau Ctrl + Q + I Meng – On atau meng – Off kan autoindent
Ctrl + P Awal karakter kendali
Ctrl + K + D atau Ctrl + K + Q Keluar dari editor tanpa menyimpan
Ctrl + Q + F Mencari kata
Ctrl + Q + A Mencari kata dan menggantinya
Ctrl + Qn Mencari penanda tempat
Ctrl + Q + W Menuju ke posisi kesalahan
Ctrl + O + O Menyisipkan penunjuk kompiler
F10 Mengaktifkan menu utama
Ctrl + F1 Pertolongan bahasa
F3 Memuat berkas
Ctrl + O + F Mengisi On / Off secara optimal
Ctrl + Q + [ Pasangan tanda kurung kedepan
Ctrl + Q + ] Pasangan tanda kurung kebelakang
Ctrl + L Mengulang pencarian terakhir
Ctrl + Q + L Menyimpan kembali baris
Ctrl + K + S atau F2 Menyimpan dan meneruskan
Ctrl + Kn Mengatur penanda tempat
Ctrl + I atau Tab Tab
Ctrl + O + T atau Ctrl + Q + T Mode Tab
Ctrl + O + U Unindent On / Off

Tombol-Tombol Kendali Operasi Blok


Tombol Fungsi
Ctrl + K + Y Menghapus blok
Ctrl + K + V Memindah blok ke tempat lain
Ctrl + K + C Membuat duplikat blok
Ctrl + K + W Meyimpan blok ke dalam cakram
Ctrl + K + H Menyembunyikan atau menampilkan blok
Ctrl + K + R Membaca blok dari cakram untuk digabung di merge
Ctrl + K + T Menandai satu kata
Ctrl + K + P Mencetak satu blok
Ctrl + K + I Mengident blok
Ctrl + K + U Mengunident blok

Pemrograman Dasar kelas X semester 1 dan 2 | 32


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

3. Pertemuan 3: Instlasi Tools bahasa pemrograman


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.

Berikut langkah-langkah penginstalan Turbo Pascal yang dilakukan untuk windows 7.

Tahap 1
1. Pastikan kalian telah memliki aplikasi Dos Box. Dos Box yang dipakai adalah versi 0.74 yang
merupakan versi terbaru.
2. Buat sebuah folder di Drive C bernama TP7, setelah itu copy seluruh isi folder turbo pascal 7.0 ke
folder TP7 itu.
3. Install aplikasi Dos Box 0.74
4. Setelah selesai di install, bukalah aplikasi Dos box
5. Lalu ketik mount c c:\TP7, lalu enter
6. Setelah mounting selesai ketik c:, lalu enter
7. Terakhir ketik bin\tpx.exe, lalu enter.

Tahap 2
Jika program Turbo Pascal sudah dijalankan, ketik seperti berikut ini.
1. program coba; ,lalu enter
2. uses crt; ,enter
3. var nama: string; ,enter
4. Begin enter
5. Lalu tab sekali. write('masukan nama anda:'); readln (nama); enter
6. clrscr; enter
7. write ('HI',nama, 'apa kabar?'); enter
8. Hapus tab nya, Terakhir ketik End.
9. Lalu tekan alt+f, lalu save as ( nama program harus huruf kapital, contoh PROGRAM )
10. Tekan compile untuk mengubah program tersebut menjadi .exe
11. Untuk mencoba program tekan alt+run, lalu run
12. Jika sudah berhasil ketik apa saja untuk kembali
13. Kemudian Close Dos Box nya

Tahap 3
Untuk menjalankan program tersebut, buka kembali Dos Box nya. Lalu lakukan langkah berikut.
1. Ketik mount c c:\TP7
2. Setelah berhasil di mount ketik c:
3. Ketik nama program yang kalian save, sebagai contoh PROGRAM.exe
4. Lalu akan muncul pertanyaan " Masukan nama anda? "
5. Ketiklah nama anda
6. Terakhir akan muncul tulisan " hai..... apa kabar? "
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. Pertemuan 4: Struktur bahasa pemrograman, standar output dalam bahasa pemrograman,


standar input dalam bahasa pemrograman, kompilasi dan eksekusi program dan perbaikan
kesalahan

Menjalankan Program Pascal


Setelah selesai, cek lebih dahulu apakah Program Pascal sudah terinstal. Caranya :
Pilih Start, All Program, periksa daftar Program apakah Program Pascal sudah ada. Jika ada, klik Turbo
Pascal 7, kemudian muncul menu pilihan. Pilih Turbo Pascal 7.0 Jika berhasil, maka window Pascal akan
tampak di layar seperti gambar di bawah ini.
Pemrograman Dasar kelas X semester 1 dan 2 | 33
Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

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.

Mengetik Kode Program


Langkah berikutnya adalah memulai mengetik Program. Buka layar edit dengan cara : Pilih menu File, New

Anda langsung mulai mengetik teks program anda.

Menyimpan Program
• Teks program yang sudah diketik harus disimpan dengan cara : Pilih Menu File, Save. Ketik nama file
Program.
• Nama file maksimum 8 karakter. Jika anda mengetik lebih dari 8 karakter, maka akan dipotong oleh
program.
• Nama File Program Pascal secara otomatis akan diberi ekstensi PAS, misalnya kita memberi nama
CONTOH, maka pascal akan menyimpan dengan nama CONTOH.PAS.
• Cara cepat untuk menyimpan file program anda dengan menekan tombol F2.
Setiap ada perubahan edit dalam program, simpan lebih dahulu (Tekan F2) sebelum dijalankan.
• Jika file program yang sedang dibuka, anda ingin menyimpan dengan nama yang lain, maka simpan
dengan cara : Pilih menu File, Save As. Kemudian ketik nama filenya.

Menjalankan Program Pascal


• Program Pacal yang sudah anda ketik dan sudah disimpan dengan nama file, maka langkah selanjutnya
menguji apakah program anda sudah benar atau belum.
• Jalankan program dengan cara : Pilih menu Run, Run. Atau gunakan cara cepat denca cara : Tekan tombol
Ctrl dan F9 secara bersamaan.
• Jika benar, maka program akan berjalan dengan baik tetapi jika masih ada kesalahan, maka program akan
menampilkan informasi dari kesalahan program anda.
• Perhatikan informasi kesalahan yang ada di layar. Posisi kursor, menunjukkan lokasi dimana terletak
kesalahan dalam program anda.

Pemrograman Dasar kelas X semester 1 dan 2 | 34


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

• 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

Pemrograman Dasar kelas X semester 1 dan 2 | 35


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

BAB V
TIPE DATA, VARIABEL, OPERATOR DAN EKSPRESI

1. Pertemuan 1: Tipe data, Variabel dan Konstanta

TIPE Data
Tipe data yang dikenal dalam bahasa pascal antara lain :
 Tipe data sederhana / Jenis data yang standar (Dasar)
1. Integer
2. Real
3. Karakter
4. Boolean
 Tipe data non standar (user defined)
1. Enumerated
2. Sub-range
 Tipe data berstuktur
1. Array
2. Record
3. Set
4. File
 Jenis data Pointer

Integer
Jenis data ini merupakan nilai bilangan bulat, yang terdiri atas integer positif, integer negatif dan nol. Pada
TURBO PASCAL jenis data ini di bagi atas beberapa bagian.
Tipe Ukuran memori Jangkauan nilai
(dalam byte)
BYTE 1 0..255
SHORTINT 1 -128..127
INTEGER 2 -32768..32767
WORD 2 0..65535
LONGINT 4 -2147483648..2147483647

Operator Integer terdiri atas : + , - , * , DIV dan MOD

Var
Jumlah : byte;
Begin
Jumlah := 200;
WriteLn(‘Nilai JUMLAH = ‘,Jumlah);
End.
Hasilnya bila dijalankan :

Nilai JUMLAH = 200

Real
Penulisan untuk jenis data ini selalu menggunakan titik desimal. Nilai konstanta numerik real berkisar dari
1E-38 sampai dengan 1E+38 dengan mantissa yang signifikan sampai dengan 11 digit. E menunjukkan nilai
10 pangkat. Nilai konstanta numerik real menempati memori sebesar 6 byte.

Contoh :
123.45
12345.  salah, titik desimal tidak boleh dibelakang
12E5
12E+5
-12.34
.1234  salah, titik desimal tidak boleh dimuka

Pada TURBO PASCAL, jenis data ini dibedakan

Pemrograman Dasar kelas X semester 1 dan 2 | 36


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Tipe Ukuran memori Jangkauan nilai Digit signifikan


(dalam byte)
SINGLE 4 1.5x10E-45 .. 3.4x10E38 7-8
DOUBLE 8 5.0x10E-324 .. 1.7x10E308 15-16
EXTENDED 10 1.9x10E-4951 .. 1.1x10E4932 19-20
COMP 8 -2E+63+1 .. 2E+63-1 19-20

Operator untuk jenis data ini terdiri atas : + , - , * dan /

Karakter
Yang dimaksud dengan jenis data ini adalah karakter tunggal atau sebuah karakter yang ditulis diantara tanda
petik tunggal, seperti misalnya ‘A’, ’a’, ’!’, ’5’ dsb.

Dasarnya adalah ASCII CHARACTER SET.

Misalnya : 032 pada tabel ASCII CHARACTER SET menunjukkan karakter.

Blank.
033 !
048 0
076 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.

Pemrograman Dasar kelas X semester 1 dan 2 | 37


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

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 Contoh :
 Diawali huruf Luas_Segi_Tiga
 Tidak boleh ada spasi/blank LuasSegiTiga
 Tidak boleh menggunakan reserved word LuasS3
 Tidak boleh menggunakan simbol khusus,
LS3
kecuali underscore(tanda bawah)
 Panjang maximal 63 character

Pemrograman Dasar kelas X semester 1 dan 2 | 38


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Deklarasi Variabel Deklarasi Constanta


Adalah Elemen Data Yang Belum Memiliki Adalah Suatu Elemen Data Yang Sudah Ada
Nilai Dan Nilainya Dapat Berubah Ubah Nilainya Dan Nilainya Tetap
Contoh : Contoh :
Uses Crt; Uses Crt;
Var Nama : String[25]; Const Namasis= ‘Syaiful Anwar’;
Nilai : Integer; Ipk = 3.35;
Begin Mutu = ‘A’
Clrscr; Begin
Write( ‘Nama Siswa : ‘ ); Readln(Nama); Clrscr;
Write( ‘Nilai Ujian : ‘ ); Readln(Nilai); Write( ‘Nama Siswa : ‘ , Namasis);
End. Write( ‘Nilai Ipk : ‘ , Ipk);
Write( ‘Mutu Ujian : ‘ , Mutu);
Ctrl F9 Lalu Isi Datanya End.
Nama Siswa : …
Nilai Ujian : … Ctrl F9 Lalu Alt F5
Ctrl F5 Lihat Hasilnya Nama Siswa : Syaiful Anwar;
Nilai Ipk : 3.350000e+0
Mutu Ujian : A

Deklarasi Tipe - Deklarasi Label


Deklarasi Type
Pengenal (identifier) dari data yang digunakan harus diperkenalkan Tipenya. Jika ingin menggunakan tipe
data dengan nama yang dibuat oleh pemakai, maka harus disebutkan tipe data standarnya.
Contoh Tanpa Tipe Contoh Dengan Tipe

Var Nama : String[25]; Type Nm : String[25];


Kelas : String[7]; Kls : String[7];
Nilai : Integer; Nil : Integer;
Grade : Char; 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

Pemrograman Dasar kelas X semester 1 dan 2 | 39


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Format Tipe Data– Lokasi Cursor


Tampilan Terformat
Untuk mengatur bentuk tampilan dari tampilan default ke bentuk yang diinginkan atau Batasan cetak
 Parameter Char:n
Batasan cetak/ bentuk tampilan/ jarak tampil data char
 Parameter String:n
Batasan cetak/ bentuk tampilan/ jarak tampil data string
 Parameter Boolean:n
Batasan cetak/ bentuk tampilan/ jarak tampil data Boolean
 Parameter Integer:n
Batasan cetak/ bentuk tampilan/ jarak tampil data Integer
 Parameter Real:n:m
Batasan cetak/ bentuk tampilan/ jarak tampil data Real

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 Hasilnya :
Clrscr;
Writeln(‘Nama Kampus :’,Kampus); Nama Kampus :Bsi
Writeln(‘Nama Kampus :’,Kampus:3); Nama Kampus :Bsi
Writeln(‘Nama Kampus :’,Kampus:6); Nama Kampus : Bsi
Writeln(‘Nilai Rata :’,Nrata); Nilai Rata :2.500000e+00
Writeln(‘Nilai Rata :’,Nrata:3:0); Nilai Rata :3
Writeln(‘Nilai Rata :’,Nrata:6:1); Nilai Rata : 2.5
Writeln(‘Nilai Total :’,Ntotal:2); Nilai Total :55
Writeln(‘Nilai Total :’,Ntotal:5); Nilai Total : 55
Writeln(‘Cek Boolean :’,Cek); Cek Boolean :True
Writeln(‘Cek Boolean :’,Cek:7); Cek Boolean : True
Writeln(‘Huruf Abjad :’,Huruf); Huruf Abjad :A
Writeln(‘Huruf Abjad :’,Huruf:3); Huruf Abjad : A
Readln;
End.

Contoh Program Lokasi Cursor


BEGIN
CLRSCR;
GOTOXY(10,2);
WRITE(‘JUDUL INI TERCETAK DI KOLOM 10 BARIS 2’);
READLN;
END.

Pengunaan Uses Crt – Tipe Sederhana - Operator


Penggunaan Unit CRT (Cathoda Ray Tube)
 CLRSCR ;
Untuk membersihkan layar
 Delay (nilainya);
Untuk menghentikan program dalam satuan milisecond
 Gotoxy(x,y);
Untuk menempatkan kursor diposisi x dan y
 Window(x1,y1,x2,y2)
Untuk membuat batasan jendela pada layar

Test Formatif
1. Rubah Program Labelnya dgn Layout sbb
TEXT2 TEXT4 TEXT6
2. Buat luas dan Keliling lingkaran dengan menggunakan deklarasi type dan Var

Pemrograman Dasar kelas X semester 1 dan 2 | 40


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

2. Pertemuan 2: Operator dan ekspresi


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 Tipe operand Tipe hasil
* Perkalian real,real real
integer,integer integer
real,integer real
DIV Pembagian bulat integer,integer integer
/ Pembagian real real,real real
integer,integer real
real,integer real
MOD Sisa pembagian integer,integer integer
+ Pertambahan real,real real
integer,integer integer
real,integer real
- pengurangan real,real real
integer,integer integer
real,real real

Contoh :
15*5 hasilnya 75
20/3 hasilnya 6.6666666667E+00
20 div 3 hasilnya 6
20 mod 3 hasilnya 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 +7
-2.5 +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 : =, <, >, <=, >=, <>

Pemrograman Dasar kelas X semester 1 dan 2 | 41


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

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 Cth. Program Operator

Nama Barang :… Listing Program Operator


Jumlah Beli :… Uses Crt;
Harga Satuan : Rp. … Begin
Harga Barang : Rp. ___ Clrscr;
Tipe A/B/C/D :… Writeln(15=10);
Discount : Rp. ___ Writeln(15>10);
Harga Bayar : Rp. ___ Writeln(15 Div 2);
Uangnya : Rp. … Writeln(15 Mod 2);
Kembalinya : Rp. ___ Writeln(15/2);
Writeln(12 And 23);
Catatan : Writeln(12 Or 23);
Tanda … Berarti Program Diisi/Input Readln;
Tanda ___ Berarti Program Tampil/Cetak End.

Listing Program Tipe Data Sederhana Hasilnya


Uses Crt; False
Var Nb : String[20]; True
Hbr, U,Hs : Longint; 7
Jb : Byte; 1
Dis, Hby,K : Real; 7.5000000e+00
Tipe : Char; 4
Begin Clrscr; 31
Write(‘Nama Barang : ‘); Readln(Nb);
Write(‘Jumlah Beli : ‘); Readln(Jb);
Write(‘Harga Satuan : Rp. ‘); Readln(Hs);
Hbr:=Jb*Hs;
Writeln(‘Harga Barang: Rp. ‘,Hbr);
Write (‘Tipe A/B : ‘); Readln(Tipe);
If Tipe=‘A’ Then Dis:=5/100*Hbr
Else Dis:=0;
Writeln(‘Discount : Rp. ‘,Dis:8:1);
Hby:=Hbr-Dis;
Writeln(‘Harga Bayar : Rp. ‘,Hby:10:1);
Write(‘Uangya : Rp. ‘); Readln(U);
K:=U-Hby;
Write(‘Kembalinya : Rp. ‘,K:10:1);
Readln;
End.

Test Formatif
1. Buatlah Program Luas dan Keliling Lingkaran
2. Buatlah Program Persegi Panjang

Pemrograman Dasar kelas X semester 1 dan 2 | 42


Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

BAB VI
STRUKTUR KONTROL PERCABANGAN

BAB VII
STRUKTUR KONTROL PERULANGAN

Looping ( Perulangan )
1. Statement For....Do (Perulangan Counter)
B.U : For variabel_kontrol : = nilai_awal To nilai_akhir Do
Statement ;
B.U : For variabel_kontrol:= nilai_awal DownTo nilai_akhir Do
Statement ;
2. Statement While ... Do (Perulangan Kondisi Terpenuhi)
B.U : While ungkapan_logika Do
Statement ;
3. Statement Repaet...Until (Perulangan Kondisi Tidak Terpenuhi)
B.U : Repeat
Statement ;
Until ungkapan_logika ;

Program For_To ; Program For_DownTo; Program While ; Program Repeat;

Uses crt ; Uses crt ; Uses crt ; Uses crt ;


Var Var Var Var
i : byte ; i : byte ; i : byte ; i : byte ;
begin begin begin begin
clrscr ; clrscr ; clrscr ; clrscr ;
for i : = 1 to 5 do for i : = 5 downto 5 do I:=0; I:=1;
writeln (‘ Pascal ‘) ; writeln (‘ Pascal ‘) ; While I <= 5 Do Repeat
readln ; readln ; begin writeln ( I ) ;
end . end . writeln(I); I : = I +1;
I : = I +1 ; Until I >= 5
end ; readln ;
readln ; end .
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

BAB VIII
PENGEMBANGAN ALGORITMA APLIKASI

Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar 8 ini siswa diharapkan dapat :
1) Memahami keseluruhan konsep algoritma dalam penyelesaian masalah kompleks
2) Mengalisis kesalahan dalam program
Pemrograman Dasar kelas X semester 1 dan 2 | 43
Wahyu Sumantri Sutiar, S.T. SMK PGRI 1 KOTA SUKABUMI

Uraian Materi
1. Pertemuan 1: Definisi
2. Pertemuan 2: Analisa Pemecahan Masalah
3. Pertemuan 3: Debugging dan error handling
4. Pertemuan 4: Studi kasus proyek aplikasi program komputer

Pemrograman Dasar kelas X semester 1 dan 2 | 44

Anda mungkin juga menyukai