Anda di halaman 1dari 68

KATA PENGANTAR

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.

PETA KEDUDUKAN BAHAN AJAR


Peta kedudukan bahan ajar merupakan suatu diagram yang menjelaskan struktur mata
pelajaran dan keterkaitan antar mata pelajaran dalam satu kelompok bidang studi keakhlian.
Gambar 1 menjelaskan peta kedudukan bahan ajar untuk program studi keahlian Teknik Komputer
dan Jaringan. Kelompok C1 merupakan kelompok mata pelajaran wajib dasar bidang studi
keahlian. C2 merupakan kelompok mata pelajaran wajib dasar program keahlian dan C3
merupakan kelompok mata pelajaran wajib paket keahlian.
Gambar 1. Peta Kedudukan Bahan Ajar Kelompok C2 Mata Pelajaran Pemrograman Dasar

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.

Gambar 3. Diagram Proses Metode Scientifik-Eksperimen Ilmiah


B.

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

pembelajaran untuk membentuk suatu kesimpulan 5) mengkomunikasikan hasil dengan membuat


laporan portofolio. Laporan tersebut merupakan tagihan yang akan dijadikan sebagai salah satu
referensi penilaaian.
D. Tujuan Akhir.
Setelah mempelajari uraian materi dalam bab pembelajaran dan kegiatan belajar diharapkan
peserta didik dapat memiliki kompetensi sikap, pengetahuan dan ketrampilan yang berkaitan
dengan materi:
Konsep algoritma sebagai pemecahan masalah
Pemecahan masalah secara algoritma menggunakan konsep deskriptif atau flowchart
Menerapkan bahasa pemrograman
Penerapan algoritma kedalam bentuk pemrograman
Membangun Aplikasi Algoritma
E. Kompetensi Inti Dan Kompetensi Dasar
1. Kompetensi Inti 1 : Menghayati dan mengamalkan ajaran agama yang dianutnya.
Kompetensi Dasar :
1.1. Memahami nilai-nilai keimanan dengan menyadari hubungan keteraturan dan
kompleksitas alam dan jagad raya terhadap kebesaran Tuhan yang menciptakannya
1.2. Mendeskripsikan kebesaran Tuhan yang menciptakan berbagai sumber energi di alam
1.3. Mengamalkan nilai-nilai keimanan sesuai dengan ajaran agama dalam kehidupan seharihari.
2. Kompetensi Inti 2: Menghayati dan Mengamalkan perilaku jujur, disiplin, tanggung jawab,
peduli (gotong royong, kerjasama, toleran, damai), santun, responsif dan proaktif dan
menunjukan sikap sebagai bagian dari solusi atas berbagai permasalahan dalam berinteraksi
secara efektif dengan lingkungan sosial dan alam serta dalam menempatkan diri sebagai
cerminan bangsa dalam menempatkan diri sebagai cerminan bangsa dalam pergaulan dunia.
Kompetensi Dasar:
2.1. Menunjukkan perilaku ilmiah (memiliki rasa ingin tahu; objektif; jujur; teliti; cermat;
tekun; hati-hati; bertanggung jawab; terbuka; kritis; kreatif; inovatif dan peduli
lingkungan) dalam aktivitas sehari-hari sebagai wujud implementasi sikap dalam
melakukan percobaan dan berdiskusi
2.2. Menghargai kerja individu dan kelompok dalam aktivitas sehari-hari sebagai wujud
implementasi melaksanakan percobaan dan melaporkan hasil percobaan
3. Kompetensi Inti 3: Memahami, menerapkan dan menganalisis pengetahuan faktual,
konseptual, dan prosedural berdasarkan rasa ingin tahunya tentang ilmu pengetahuan, teknologi,
seni, budaya, dan humaniora dalam wawasan kemanusiaan, kebangsaan , kenegaraan, dan
peradaban terkait penyebab fenomena dan kejadian dalam bidang kerja yang spesifik untuk
memecahkan masalah.
Kompetensi Dasar:
3.1 Memahami penggunaan data dalam algoritma dan konsep algoritma pemrograman
3.2 Memahami struktur algoritma serta menganalisis data dalam suatu algoritma percabangan
3.3 Memahami Struktur algoritma serta menganalisa data dalam suatu algoritma perulangan
3.4 Menerapkan bahasa pemrograman
3.5 Menerapakan penggunaan tipe data, variabel, konstanta, operator dan ekspresi
3.6 Menerapkan struktur kontrol pencabangan dalam bahasa pemrograman
3.7 Menerapkan struktur kontrol perulangan dalam bahasa pemrograman
3.8 Menerapkan Keseluruhan konsep algoritma dalam penyelesaian masalah kompleks
4. Kompetensi Inti 4: Mengolah, menalar, dan menyaji dalam ranah konkret dan ranah abstrak
terkait dengan pengembangan dari yang dipelajarinya di sekolah secara mandiri, dan mampu
melaksanakan tugas spesifik dibawah pengawasan langsung.
Kompetensi Dasar:
4.1 Menggukan algoritma pemrograman untuk memecahkan permasalahan
4.2 Menggunakan algoritma percabangan untuk memecahkan permasalahan
4.3 Memecahkan permasalahan dengan algoritma perulangan
4.4. Mengolah algoritma ke dalam bentuk kode program komputer
4.5 Mengolah data menggunakan knsep tipe data, variable, konstanta, operator, dan ekspresi.
4.6 Memecahkan masalah menggunakan struktur control percabangan
4.7 Memecahkan masalah menggunakan struktur control perulangan
4.8 Menganalisa kesalahan dalam program
F. Cek Kemampuan Awal.
1. Jelaskan apa yang dimaksud algoritma
2. Jelaskan apa yang dimaksud dengan flowchart
3. Jelaskan apa yang dimaksud dengan tipe data, variable dan konstanta

4. Sebutkan aplikasi-aplikasi pemrograman terstruktur

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,

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

Gambar 1. (penemu 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.

Input

Proses
Pengolahan Data

Memory

Output

Gambar 2. Unsur Pemrograman


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 metodemetode, 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.
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, 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?

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
Aksi
Until Kondisi
Algoritma tulis kalimat 100 kali
Repeat
Tulis saya berjanji tidak akan nakal dan malas
Until sudah 100 kali
Test formatif
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

3. Pertemuan 3 : Pengenalan Variabel, Type Data, Operator


a. Peubah (Variable)
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

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.

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
(FLOW LINE)

Arah aliran program

PREPARATION

Proses inisialisasi/pemberian harga


awal

PROSES

Proses perhitungan/proses pengolahan


data

INPUT/OUTPUT
DATA

Proses input/output data, parameter,


informasi

PREDEFINED
PROCESS
(SUB PROGRAM)

Permulaan sub program/proses


menjalankan sub program

DECISION

Perbandingan pernyataan,
penyeleksian data yang memberikan
pilihan untuk langkah selanjutnya

ON PAGE
CONNECTOR

Penghubung bagian-bagian flowchart


yang berada pada satu halaman

OFF PAGE
CONNECTOR

Penghubung bagian-bagian flowchart


yang berada pada halaman berbeda

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.

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: )
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
-

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

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

Pertemuan 3: Percabangan lebih dari 2 kondisi


Masalah yang mempunyai tiga buah kasus atau lebih dapat dianalisis dengan intruksi IFTHEN-ELSE bertingkat-tingkat.
{Dalam bentuk notasi algoritmik}
If kondisi1 then
Aksi1

Notasi Flowchart

Else
If kondisi2 then
Aksi2
Else
If kondisi3 then
Aksi2
Endif
Endif
Endif

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

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}
Program genap
Deklarasi
X : integer
Algoritma
Read (x)
Case x mod 2

Notasi Flowchart

0 : write (genap)
1 : write (ganjil)
Endcase

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

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.

Pertemuan 1: Perulangan dengan kondisi di awal (WhileDo)


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

Pertemuan 2: Perulangan dengan kondisi di akhir (RepeatUntil)


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.

Mencetak pesan Hallo world sebanyak 10 kali


Program mencetakbanyak_halloworld
Deklarasi
I : integer
Algoritma
i1
repeat
write (hello world)
ii+1 {loop variant}
until I > 10

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.

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 pencacahnilai_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 i1 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 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.

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 pencacahnilai_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 i10 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)
F. Bahasa Pemrograman
Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar 4 ini siswa diharapkan dapat :
1) Menerapkan bahasa pemrograman
2) Mengolah algoritma ke dalam bentuk kode program komputer
Uraian Materi
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.
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.

Pertemuan 2: Pengenalan Tools/Framework pengembangan program

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

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.

F8

Melompati pemanggil subrutin.

F9

Mengaktifkan perintah Make.

F10

Berpindah dari menu-menu ke jendela yang aktif.

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

Memanggil jendela pertolongan yang terakhir


dibaca.
Memilih berkas untuk dimuat.

Run / Trace into


Compile / Make

File / Pick
File / user screen

Memperlihatkan hasil eksekusi.


Mengganti isi jendela yang aktif.

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.

Run / Program reset


Debug / Call Stack
Debug / Evaluate
B / Add Watch
B / Toggle breakpoint
Run / Run

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.

Tampilan User Screen


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

Untuk lebih jelasnya tentang pengoperasian blok diatas, lebih baik kita langsung saja praktekan,
disini saya akan memberikan contoh yang paling mudah yaitu mengkopi blok

Tampilan sebelum suatu blok dipilih


Procedure FLU.GERAK samapai end [8 baris] akan dipilih sebagai blok. Maka kita letakkan kursor
kita di huruf p di kata procedure dan kita tekan Ctrl + K + B. kemudian kursor dipindahkan ke
tempat di sebelah kanan d dari kata end dan kita tekan Ctrl + K + K. maka tampilan akan berubah
menjadi tampilan yang dibawah ini.

Tampilan setelah diblok


Untuk mengkopi blok, tempatkanlah kursor dimana blok tersebut akan dikopi. Kemudian tekanlah
Ctrl + K + C maka blok akan dikopi. Begitu juga dengan perintah blok yang lain, caranya sama
dengan teknik pengkopian diatas

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.

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

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.

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

G. Tipe Data, Variabel, Operator dan Ekspresi


Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar 5 ini siswa diharapkan dapat :
1) Memahami penggunaan tipe data, variable, konstanta, operator dan ekspresi
2) Mengolah data menggunakan konsep tipe data, variable, konstanta, operator dan ekspresi
Uraian Materi
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
BYTE
SHORTINT
INTEGER
WORD
LONGINT

Ukuran memori
(dalam byte)
1
1
2
2
4

Jangkauan nilai
0..255
-128..127
-32768..32767
0..65535
-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


Tipe

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

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
076

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

Ctrl F9 lalu isi datanya


Nama Siswa :
Nilai Ujian :
Ctrl F5 lihat hasilnya

Ctrl F9 lalu Alt F5


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];
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

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

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

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

Listing Program Tipe Data Sederhana


Uses Crt;
Var Nb
: String[20];
Hbr, U,Hs : Longint;
Jb
: Byte;
Dis, Hby,K : Real;
Tipe
: Char;
Begin Clrscr;
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.

Cth. Program Operator


Listing Program Operator
USES CRT;
BEGIN
CLRSCR;
WRITELN(15=10);
WRITELN(15>10);
WRITELN(15 DIV 2);
WRITELN(15 MOD 2);
WRITELN(15/2);
WRITELN(12 AND 23);
WRITELN(12 OR 23);
READLN;
END.
Hasilnya
False
True
7
1
7.5000000E+00
4
31

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

2) Mengalisis untuk memecahkan masalah menggunakan struktur control percabangan


Uraian Materi
Lihat materi ajar algoritma percabangan kegiatan belajar 2
I. Struktur Kontrol Perulangan
Setelah mengikuti kegiatan belajar 7 ini siswa diharapkan dapat :
1) Memahami struktur control percabangan dalam bahasa pemrograman
2) Mengalisis untuk memecahkan masalah menggunakan struktur control percabangan
Uraian Materi
Lihat materi ajar algoritma perulangan kegiatan belajar 3
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 ;
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

2. Pertemuan 2: Analisa Pemecahan Masalah


3. Pertemuan 3: Debugging dan error handling
4. Pertemuan 4: Studi kasus proyek aplikasi program komputer

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

Dua Himpunan Dikatakan sama jika jumlah elemen sama dan


masing-masing elemen sama.Hasilnya True bila Himp1 sama
dengan Himp2
Dua Himpunan Dikatakan tidak sama jika jumlah elemen tidak
sama dan masing-masing elemen tidak sama. Hasilnya True bila
Himp1 tidak sama dengan Himp2

Himp1 <= Himp2

Hasil bernilai True jika semua elemen dari Himp1 terdapat pada
Himp2

Himp1 >= 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

Operator Operasi Himpunan


Himp1 * Himp2
Himp1 + Himp2
Himp1 - Himp2

Operasi Interseksi himpunan.untuk memperoleh himpunan yang


terdiri dari elemen yang merupakan anggota himpunan Himp1
dan sekaligus juga merupakan anggota Himp2
Operasi penggabungan himpunan.Untuk memperoleh himpunan
yang terdiri dari gabungan elemen anggota Himp1 dan Himp2
Operasi selisih himpunan.Untuk memperoleh himpunan yang
terdiri dari elemen anggota Himp1 yang bukan anggota himpunan
Himp2

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]

Contoh Program Himpunan


Program Himpunan;
Uses Crt;
Type Hs = Set Of 1..9;
Var
H1,H2,H3 : Hs;
BEGIN
CLRSCR;
H1:=[1,2,3,4,5];
H2:=[3,5,6,7,8];
H3:=H1+H2;
IF H3=[1..8] Then Writeln('H1+H2 Adalah [1..8]') Else Writeln('Salah');
Readln;

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

Parameter didalam prosedur terdiri dari 2 yaitu :


..............
a. Parameter bersifat Lokal artinya bahwa nilai yang terdapat didalam suatu modul program
END.
hanya dapat digunakan pada modul yang bersangkutan sehingga tidak dapat digunakan pada
modul lain.
b. Parameter bersifat Global artinya bahwa nilai dapat digunakan pada semua modul maka nilai
tersebut harus dideklarasikan di atas modul yang akan menggunakannya.
Contoh : Parameter Lokal
Procedure Hitung ;
Var
X, Y : real ;
Begin
Write ( Nilai X ? ) ;
readln ( X ) ;
Y:=X*X;
Writeln ( Nilai Y ? , Y :1:
0);
End ;
BEGIN
Hitung ;
END.

Contoh : Paramater Global


Var
X, Y : Byte ;
Procedure Tambah ;
Begin
Write ( Input Nilai : ) ;
readln ( X ) ;
Y:=A+A;
End ;
BEGIN
Tambah ;
Writeln ( Nilai Y = , Y )
;
Readln;

Pemanggilan
parameter
pada
prosedur

terdiri dari 2 yaitu :


a.
Parameter Secara Nilai ( By Value )
Bersifat satu arah, jika terjadi perubahan pada subprogram, maka tidak akan mempengaruhi
program utama.
b.
Parameter Secara Acuan ( By Reference )
Bersifat dua arah, jika terjadi perubahan pada subprogram, maka program utamanya akan ikut
berubah.

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 ;

Contoh Program Prosedure Standar


Uses Crt;
Const Bsi='Bina Sarana';
Begin
Clrscr;
Writeln(Copy(Bsi,6,4));
Writeln(Pos('Sarana',Bsi));
Writeln(Length(Bsi));
Writeln(Concat(Bsi,' Informatika'));
Readln;
End.

mengambil sebagian dari string


mencari posisi string
panjang string
mengabungkan string

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 :

Function Identifier ( daftar_ parameter ) : type data ;


Contoh :
Uses crt ;
Function Hitung ( Var A, B : integer ) : integer ;
Begin
Hitung : = A+B ;
End ;
Var
X, Y : integer ;
BEGIN
Write ( Nilai X ? ) ; readln ( X ) ;
Write ( Nilai Y ? ) ; readln ( Y ) ;
Writeln ;
Writeln ( X, + , Y , =, Hitung ( X, Y )) ;
Readln ;
END.

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.

Contoh Function Standar Aritmatika & Transfer


Uses Crt;
Const
A=2;
B=-2;
C=4;
D=2.5;
E=2.3; F=2.7;
G='A';
Begin
Clrscr;
Writeln('Absnya
: ',A, '=' ,Abs(A));
Writeln('Absnya
: ',B, '=' ,Abs(-B));
Writeln('Expnya
: ',A, '=' ,Exp(A));
Writeln('Lnnya
: ',A, '=' ,Ln(A));
Writeln('Sqrnya
: ',A, '=' ,Sqr(A));
Writeln('Sqrtnya
: ',C,'=' ,Sqrt(C));
Writeln('Pinya
: ',Pi);
Writeln('Intnya
: ',D, '=' ,Int(D));
Writeln('Truncnya
: ',D, '=' ,Trunc(D));
Writeln('Fracnya
: ',D, '=' ,Frac(D));
Writeln('Roundnya
: ',E, '=' ,Round(E));
Writeln('Roundnya
: ',F, '=' ,Round(F));
Writeln('Ordnya
: ',G, '=' ,Ord(G));
Writeln('Chrnya
: ',A, '=' ,Chr(67));
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

Contoh Dengan Format


Uses Crt;
Const
A=2;
B=-2;
C=4;
D=2.5;
E=2.3; F=2.7;
G='A';
Begin
Clrscr;
Writeln('Absnya
: ',A, '=' ,Abs(A));
Writeln('Absnya
: ',B, '=' ,Abs(-B));
Writeln('Expnya
: ',A, '=' ,Exp(A):5:2);
Writeln('Lnnya
: ',A, '=' ,Ln(A):5:2);
Writeln('Sqrnya
: ',A, '=' ,Sqr(A));
Writeln('Sqrtnya
: ',C,'=' ,Sqrt(C):1:0);
Writeln('Pinya
: ',Pi:4:2);
Writeln('Intnya
: ',D:3:1, '=' ,Int(D):1:0);
Writeln('Truncnya
: ',D:3:1, '=' ,Trunc(D));
Writeln('Fracnya
: ',D:3:1, '=' ,Frac(D):3:1);
Writeln('Roundnya
: ',E:3:1, '=' ,Round(E));
Writeln('Roundnya
: ',F:3:1, '=' ,Round(F));
Writeln('Ordnya
: ',G, '=' ,Ord(G));
Writeln('Chrnya
: ',A, '=' ,Chr(67));
Readln;
End.

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

digunakan untuk merekam satu atau lebih nilai ke dalam file


digunakan untuk membaca atau lebih, nilai dari file
Digunkan untuk mengarahkan penunjuk file ke suatu komponen tertentu di
dalam file
digunakan untuk menghapus sejumlah komponen atau record mulai dari posisi
record tertentu
digunakan untuk menghasilkan jumlah dari komponen atau record

Contoh Program Bertipe Input Data


Uses Crt;
Type MHS = Record
NM
: string[15];
UTS,UAS : byte;
End;
Var
FileMHS : File of MHS;
RecMHS : MHS;
No, Bts, JD, T, RN : Byte;
BEGIN
CLRSCR;
Write('Jumlah Data : '); ReadLn(JD);
Assign(FileMHS,'C:\MHS.DAT');
ReWrite(FileMHS);
For No := 1 To JD Do
Begin
With RecMHS Do
Begin
Write('Nama : '); ReadLn(NM);
Write('UTS : '); ReadLn(UTS);
Write('UAS : '); ReadLn(UAS);

End;
Write(FileMHS,RecMHS);
End;
Close(FileMHS);
ReadLn;
END.
Lalu disimpan

Contoh Program Bertipe Tampil Data


Uses Crt;
Procedure Judul;
Begin
WriteLn('DAFTAR NILAI MAHASISWA');
WriteLn('--------------------------------------------------------------------');
WriteLn('No. Nama Mahasiswa UTS UAS Total Rata Predikat Kelulusan');
WriteLn('--------------------------------------------------------------------');
End;
Type

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

Anda mungkin juga menyukai