32
  

MODUL ALGORITMA PEMOGRAMAN DASAR

  • Upload
    hadi

  • View
    43

  • Download
    0

Embed Size (px)

DESCRIPTION

ILKOM

Citation preview

 
 
 
 
Nah pertanyaan tadi adalah pertanyaan paling klasik dari setiap kita mulai belajar
pemprograman. Ada banyak sekali keluhan saat belajar pemprograman, sulit!,susah!,ribet!
Dan masih banyak lagi. Apa artinya itu semua apa memang pemprograman sulit dari sononya.
Gini deh kita liat jauh kebelakang. Yaitu tujuan diciptakannya komputer. Komputer diciptakan
sebagai alat yang mempermudah dengan struktur yang mudah pula, bayangin deh dari awal
dibikin sampe sekarang dasar dari komputer masih tetap sama, komputer Cuma tau 2 nilai ya
atau tidak.sangat simpel kan cara kerja komputer. Nah gimana dengan bahasa
pemprogramannya. nah karena komputer hanyalah sebatas mesin dibutuhkan bahasa yang
yang dipake supaya komputer itu ngerti apa yang kita mau.perlu diketahui bahasa
pemprograman yang ada sekarang itu sudah dibuat jauh lebih mudah dibanding bahasa
pemprograman sebelum – sebelumnya.
Sampai disini kita udah tau kalo komputer itu mesin yang diciptakan semudah
mungkin untuk memudahkan pekerjaan manusia. Right?. Jadi apa yang yang salah kok susah
banget belajarnya, diganti deh apa yang bisa disalahin?. Bner kita Cuma nyari – nyari alasan
ketika yang kita pelajari itu sulit. Karena semua itu kembali ke Mindset atau pola pikir kita
dalam mempelajari
Memang dalam belajar pemprograman ini sangat unik, dan jujur sangat asik, Sumpah!.
Itu dia kunci dari semuanya jangan anggap semua ini adalah beban kita lepas aja semuanya.
Kita bikin semua ini kayak game. Kalo gak bisa ya tinggal ulang lagi gampang kan. Tapi semua
game pasti ada aturan  –  aturannya supaya tetep asik, nah di pemprograman juga sama,
aturannya gampang kok pertama jangan terlalu fokus ke bahasanya ingat bahasa itu Cuma
alat. Ibaratnya kita masak ya kan kita tau cara pake alat  – alat masak didapur. TAPI gak punya
resep hayo mau ngapain. Itu sama persis dengan kalo kita lagi ngodding. Dan itu yang serring
 jadi masalah kita terlalu fokus ke kodingannya sampe hapal mati semua perintahnya. tapi saat
dikasih suatu masalah bingung mau dikodingnya gimana. Nah itu dia seninya bahasa
pemprograman. Disini dituntut untuk lebih kreatif dan menggunakan imajinasi. Ingat bahasa
pemprograman beda jauh dengan ilmu matematika.kalo ada orang yang ngomong
programmer itu harus kuat dimatematika, itu Cuma orang yang nyari – nyari alasan, karena
Di pemprograman tidak ada sistem hafalan kayak di matematika yang bikin pusing kkepala.
Tapi di pemprograman yang kita pakai adalah nalar kita, pola berfikir kita pada suatu
permasalahan dan bagaimana menyelesaikannya. Nah kalo udah siap ayo kita lanjut ke bab
selanjutnya
Di bab sebelumnya sempat disinggung kalo bahasa pemprograman Cuma alat,
lengkapnya alat yang dipakai untuk menyampaikan ke komputer supaya komputer itu ngerti.
Apa yang disampaikan itu cara kita menyusun perintah melalui alat bahasa pemmprograman
tadi dan bisa dijalankan sama komputer. Dan itulah yang disebut program. Di bab sebelumnya
 juga disebutkan kalo pemprograman sekarang itu jauh lebih mudah daripada pemprograman
pada masa – masa awal komputer, gimana sih bahasanya ini contohnya:
1011 0100 0000 0010
B402
Hayo siapa yang tahan ngodding pake perintah bahasa alien gitu?. Ayo kita bandingkan
dengan bahasa – bahasa tingkat tinggi.
Perintah Bahasa
perintahnya tapi cukup jelas kan perintah tersebut dan cara penulisannya daripada nulis
angka 0101 gitu hehehe.
INTI ALGORITMA
Diatas adalah alur sakti komputer. Ya diatas adalah langkah bagaimana komputer
memecahkan masalah, jadi kalau kita ingin memecahkan suatu permasalahan komputer cara
INPUT PROSES OUTPUT
 
 
berfikir kita juga harus diset untuk berpikir seperti komputer juga. Dan diatas adalah skema
sederhananya. Jadi gini dari input bagaimana kita memprosesnya itulah yang disebut proses
atau algoritma dan algoritma itu adalah pemecah masalah tersebut. Contoh gampangnya aja.
Membuat program menghitung keliling persegi. Dengan 1 input yaitu panjang sisi. Dan
outputnya keliling persegi tadi. Pertanyaannya bagaimana proses/algoritmannya???.
Cara berpikir kita gini aja. Gimana dengan input bisa keluar jadi output. Dalam kasus
ini keliling persegi. Yaudah tinggal masukkin aja rumus keliling persegi di dalam
proses/algoritmanya (keliling=sisi*4).
Kita coba satu lagi deh yang jauh dari matematika. bayangin Inputnya mie instan
mentah terus outputnya mie yang dipiring siap dimakan, nah gimana prosesnya. Silahkan
coba sendiri. Dan pastinya setiap mie instan dibungkusnya ada caranya gimana mie mentah
yang ada didalam bungkus itu bisa jadi siap dimakan. Nah kira - kira itu yang dinamakan
algoritma.
FLOWCHART
Kalau bikin algoritma dengan cara sebelumnya yaitu berisi pernyataan  –  pernyataan.
Takutnya bisa diartikan beda  – beda atau ambigu dan pastinya perlu waktu membacanya.
Nah oleh karena itu dipakailah flowchart tadi. Berikut ini simbol  – simbol standar flowchart.
Berikut adalah penjelasan dari simbol – simbol diatas
Terminator: menyatakan titik awal dan titik akhir dari sebuah flochart
Proses: menyatakan sebuah proses contohnya seperti proses aritmatika
Proses terdefinisi: menyatakan prosedur yang telah dibuat flowchartnya namun masih dalam
satu program
atau tidak
simbol ini
Contoh flowchart
Diatas adalah flowchart dari algoritma keliling persegi yang sebelumnya telah dibahas.
Gimana dengan flowchart semuanya jadi kelihatan lebih simpel kan. Itu dia kegunaan utama
dari flowchart menyederhanakan sebuah algoritma yang terkadang rumit dan multi tafsir
(ambigu,absurb).
MULAI
Pascal adalah bahasa pemprograman terstruktur diperkenalkan pertama kali tahun
1971 oleh Prof. Niklaus Wirth. Nah bahasa pascal sering dipakai untuk pembelajaran karena
perintah – perintah dari bahasa tersebut masih dasar jadi akan lebih mudah memahaminya
dibandingkan menggunakan bahasa modern seperti sekarang ini karena sintaks (perintah)
nya telah dikembangkan untuk bermacam - macam keperluan.
bahasa pascal program utama berada antara “begin” dan “end.” Dalam bahasa Pascal
 juga tidak diterapkan case sensitve artinya huruf kapital maupun huruf kecil oleh pascal di
anggap karakter yang sama (Contoh  A  Sama dengan a). Kemudian pascal juga dalam
menerjemahkan perintah yang ditulis tidak berdasarkan baris melainkan berdasarkan
perintah nah supaya perintah satu dengan yang lain tidak saling bertabrakan digunakanlah
tanda titik koma disetiap akhir dari perintahnya.
MUL I H RI SEB G I PROGR MMER
Nah setelah kita tahu banyak tentang bahasa pascal sekarang waktunya mencicipi
bahasa pascal tadi dengan mencoba membuat sebuah program.
F
Diatas adalah contoh program sederhana yang berfungsi untuk menampilkan teks. Menggunakan
perintah writeln(); sebenarnya ada lagi satu perintah untuk menampilkan teks yaitu write(); bedanya dengan
writeln kalo writeln setiap perintahnya akan menampilkan teks pada garis baru sedangkan write akan
menampilkan teks pada garis semula.untuk memahami lebih jelas perbedaanya silahkan dicoba modifikasi
sintaks diatas dengan merubah writeln(); menjadi write();. Karena writeln berfungsi untuk menampilkan teks
pada garis baru jadi writeln juga bisa digunakan untuk memberi jarak antara dua baris teks (satu ENTER lah
istilah gampangnya). Untuk mencoba silahkan sisipkan kode writeln; diantara dua writeln diatas
;  Jangan Lupa 
Perkenalkan:
LANJUT...
Setelah tadi nyoba codding sederhana sekarang kita coba lagi, dengan ditambahkan
kemampuan input didalam programnya
Diatas adalah source program sederhana dimana terdapat satu variabel (nama) bertipe string untuk
menyimpan inputan yang kemudian ditampilkan kembali kemudian ada juga perintah clrscr; ini berfungsi untuk
mengosongkan atau menghapus semua teks pada layar.
COBA YANG LEBIH SERU
Codding sebelumnya adalah contoh program sederhana yang cuma menggunakan
input dan output yaitu menginput dan kemudian menampilkan teks. Nah sekarang ayo kita
coba yang lebih seru dengan menyertakan “input –  proses  –  output” pasti asik. Contoh
program dibawah ini adalah mencari rata – rata dari 3 buah bilangan.
Diatas adalah sebuah program pemprosesan data lengkap yaitu berisi input proses output. Perintah – 
perintahnya hampir sama dengan program sebelumnya yaitu menginput data kedalam sebua variabel dalam hal
ini variabelnya adalah angka1,angka2, dan angka3 bertipe integer. Perbedaanya dari variabel – variabel tersebut
diproses dulu yaitu merata2kanya dan memasukkannya kedalam variabel hasil, sehingga yang di output adalah
variabel hasil tadi.
Gimana rasanya jadi programmer? Seru?. Oke sampai disini dari ketiga contoh
program diatas apa ada hal yang kurang dipahami?.
Kalo udah ngerti ketiga program diatas ayo kita Lanjut.
Uses crt; Var
Begin write(‘masukkan angka 1 : ’); readln(angka1);   write(‘masukkan angka 2 : ’); readln(angka2);   write(‘masukkan angka 3 : ’); readln(angka3);   hasil := (angka1+angka2+angka3)/3; writeln(“hasilnya adalah”);writeln(hasil :0:2);  
End.
Uses crt; Var
nama : string; Begin
writeln(“Selamat datang ”);writeln(hasil :0:2);   End.
 
 
Variabel
Variabel dalam program adalah sebuah nama yang dipakai untuk menyimpan nilai.
Data yang disimpan tidi juga bersifat dinamis artinya bisa diubah  –  ubah isinya sesuai
kebutuhan saat program berjalan. Variabel juga bersifat sementara artinya nilai didalam
variabel hanya akan disimpan selama program berjalan, tetapi saat program di close nilai
variabelnya juga akan hilang. Cara memasukkan nilai kedalam variabel oleh program ada dua
cara yaitu melalui input (readln,readkey ) atau dengan deklarasi (contoh:namavariabel := 1).
Ada beberapa ketentuan dalam menentukan nama variabel yang perlu diperhatikan. Untuk
lebih jelasnya ayo kita liat contoh – contoh dibawah ini
MENGENAL BERBAGAI MACAM TIPE DATA
Sebelumnya udah dijelaskan bahwa variabel adalah tempat untuk menampung
nilai/data dalam program. Nah bahasa Pascal menyediakan berbagai tipe data yang akan
disimpan kedalam variabel.
Tipe Bilangan Bulat
Byte 0 .. 255
Shortint -128 .. 127
Smallint -32768 .. 32767
Word 0 .. 65535
writelnn
writeln
Boolean True dan False (benar dan salah)
Banyak banget ya. Tenang aja gak harus kok ngapalin semua tipe data diatas. Cukup
diketahui aja kalo tipe data itu ada macem  – macem dan buanyak... nah tapi dibawah ini
adalah beberapa tipe data yang sering digunakan dalam pemprograman pascal.
INTEGER Untuk Bilangan
REAL Untuk bilangan Desimal
CHAR Untuk Satu karakter
BOOLEAN Untuk logika (benar/salah)
Cukup Enam Tipe data diatas saja yang perlu dipahami untuk digunakan di dalam
pemprograman. Simpel kan. 
Sebelum bisa digunakan didalam Program Variabel harus dideklarasikan dulu. Untuk
pendeklarasian dalam pascal ditulis diluar program utama (begin - end.) tepatnya diatas begin
dan menulis var diatas variabel-variabel yang dideklarasikan. Dan dalam penulisan deklarasi
variabelnya yaitu :
namavariabel : tipeData;
untuk contohnya bisa dilihat di program yang sebelumnya kita buat. Gampang aja kok
 
 
Pada bab sebelumnya telah dijelaskan bahwa komputer pada dasarnya adalah alat /
mesin logika. Karena itu di dalam pemprograman logika juga menjadi bagian yang sangat
penting jika ditemukan sebuah masalah yang membutuhkan pengambilan keputusan dari
beberapa pilihan.
Dalam pascal ada dua jenis seleksi kondisi
IF adalah salah satu perintah seleksi / logika dalam pascal. Sebenarnya konsepnya
sangat simpel. Sebuah perintah dilaksanakan jika sebuah kondisi atau persyaratan terpenuhi.
Ayo kita mulai dari yang paling sederhana
Pernyataan if
Pernyataan if akan menyeleksi sebuah peerintah yang akan dikerjakan apabila kondisi
bernilai benar sedangkan jika kondisi bernilai salah, maka perintah tersebut tidak akan
dijalankan. Satu hal yang perlu diperhatikan dalam penggunaan if jika perintah nya lebih dari
satu maka harus ditulis diantara begin..end;. supaya lebih jelas mungkin langsung aja ke
contoh coddingnya.
write(‘nilai anda : ’); readln(nilai);  
if(nilai > 60) then begin writeln(“Selamat anda lulus”);  writeln(“dengan nilai ”,nilai);  end;
End.
Dicodding diatas adalah penggunaan seleksi if. Pertama dilakukan input kedalam variabel nilai. Lalu
dibuat seleksi kondisi if dengan logika selama variable nilai (yang tadi diinput), berisi nilai yang lebih besar dari
60 maka akan dijalankan 2 perintah yaitu pertama mencetak teks selamat anda lulus dan kedua teks dengan
nilai [variabel nilai].
Pernyataan If..else
Masih sama-sama if juga tapi disini diakhirnya dikasih else.sebagai contoh kalau
seperti codding sebelumnya jika kondisinya bernilai salah maka akan tidak dijalankan begitu
saja nah dengan adanya perintah else ini jika kondisinya tidak terpenuhi maka akan dijalankan
perintah yang berada didalam else.satu hal dalam penggunaan else yaitu perintah yang ditulis
persis sebelum else harus tidak menggunakan titik koma. ayo ke codding lagi untuk lebih
 jelasnya.
Masih sama dengan codding sebelumnya tapi kali ini ditambahkan perintah else
supaya ketika pernyataan if bernilai salah (dalam hal ini nilai tidak lebih besar dari 60) maka
bisa dijalankan perintah lainnya dalam coding diatas digunakan perintah menampilkan teks
Maaf anda harus mengulang tahun depan
Pernyataan If..else if
Sebelumnya udah dijelasin if berguna untuk menyeleksi berbagai perintah  – 
perintah yang membutuhkan keputusan dan pada coding diatas adalah contoh dimana
memilih antara 2 keputusan yaitu lebih besar dari 60 atau tidak. Tapi sering ditemukan
Bahas codding
end else
Nilai anda : 59
Misal nilai diisi 59
 
 
permasalahan yang lebih kompleks yaitu keputusan yang diambil lebih dari 2. Maka untuk
nyelesaikan masalah semacam itu bisa digunakan perintah else if. Jadi hampir sama dengan
else tapi ditambahkan seleksi kondisinya. Hampir sama dengan else yang perlu diperhatikan
yaitu setiap menuliskan perintah else if perintah sebelumnya harus tidak menggunakan ttik
koma. Untuk lebih jelasnya kita langsung ke contoh codding.
Codding kali ini memang agak panjang. Tapi kalau dipehatikan coddingnya hanya mengulang – ulang
perintah yang sama hanya ada sedikit perubahan disetiap perintah2nya. Masih memakai konsep program
sebelumnya yaitu program nilai. Tetapi program ini jauh lebih lengkap kemampuannya. Dengan menggunakan
else if keputusan yang diambil bisa jauh lebih banyak. Dari codding yang panjang ini sebenarnya hanya simpel
saja yaitu menyeleksi dari nilai yang diinput sebelumnya pertama menyeleksi apakah nilai < 40 jika benar maka
perintah dibawahnya yang akan dijalankan tapi jika bernilai salah akan lanjut menyeleksi ke elseif selanjutnya,
begitu terus menerus sampai else if terakhir jika masih bernilai salah maka yang dijalankan adalah perintah di
else.
if(nilai < 40) then begin
end else if (nilai < 60) then
begin writeln('Nilai anda D'); writeln('Maaf anda harus mengulang tahun depan');
end else if (nilai < 70) then
begin writeln('Nilai anda C'); writeln('Selamat anda lulus');
end else if (nilai < 90) then
begin writeln('Nilai anda B'); writeln('Selamat anda lulus');
end else if (nilai <= 100) then
begin writeln('Nilai anda A'); writeln('Selamat anda lulus');
end else
Nilai anda : 80
Nilai anda B
Selamat anda lulus
Sebelumnya kita telah mempelajari seleksi kondisi IF. Yang mempunyai struktur
sangat fleksibel untuk menyeleksi berdasarkan sebuah logika. Tapi juga ditemukan
permasalahan logika yang berdasarkan range (jarak) nilai – nilai. Jika dikerjakan menggunakan
if akan terjadi code yang sangat panjang, persis sepeti contoh codding terakhir di halaman
sebelumnya.Oleh karena itu dibutuhkan sebuah struktur yang lebih “khusus” untuk
melakukan tugas seperti ini. Lalu CASE OF datang untuk melakukan tugas tersebut. Untuk
membuktikan efektifnya CASE OF ini ayo kita coba rubah codding sebelunya menjadi
menggunakan case of.
Luar biasa kan?. Dengan case of codenya menjadi sangat pendek dan lebih praktis
karena range(jarak) nilai-nilainya ditulis langsung. Dan menghasilkan yang sama dengan yang
dilakukan if. Tapi case ini punya kekurangan yaitu Cuma bisa untuk logika semacam ini
selebihnya case tidak bisa dan harus dilakukan oleh if.
CASE OF
91..100: writeln(' nilai anda A(lulus)'); 71..90 : writeln(' nilai anda B(lulus)'); 61..70 : writeln(' nilai anda C(lulus)'); 41..60 : writeln(' nilai anda D(tidak lulus)'); 0..40 : writeln(' nilai anda E(tidak lulus)'); else
writeln('Maaf data yang anda masukkan salah'); end; readln;
end.
Pada bab- bab sebelumnya kita sudah mempelajari berbagai perintah pemprograman.
Nah tapi bagaimana jika kita dihadapkan pada suatu masalah yang harus melakukan hal yang
sama secara berulang ulang dalam jumlah besar. Contoh gampangnya saja untuk menulis
angka secara berurutan, mungkin jika hanya 1-5 itu mudah hanya menggunakan writeln 5 kali
bisa beres tapi bagaimana kalau dimina menulis angka 1-1000 apakah sanggup menggunakan
writeln hingga 1000x Pasti kan itu akan menjadi hal yang sangat membosankan dan yang
pastinya capek banget. Untuk mengefisienkan hal tersebut kita bisa menggunakan
perulangan. Dalam pascal sendiri menyediakan 3 jenis perulangan yaitu for,while dan repeat 
yang memiliki struktur dan cara penggunaan yang berbeda – beda tapi untuk kemampuannya
relatif sama. Mari kita mulai satu persatu
Perulangan for
Yang pertama akan kita bahas adalah Perintah for yang dalam penggunaanya
menggunakan 2 nilai yaitu sebagai titik awal dan titik akhir dalam membuat sebuah
perulangan. Dan salah satu dari nilai tersebut harus dimuat kedalam sebuah variabel integer.
Kemudian for juga ada 2 jenis for postitif (for..to..do) dan for negatif(for..downto..do)Supaya
lebih jelas kita ke contoh codding. 
uses crt;
begin write('Nomor: '); writeln(i);
end; readkey; End.
begin write('Nomor: '); writeln(i);
end; readkey; End.
...
 
 
Diatas adalah contoh sederhana penggunaan dua jenis for. Dari kedua jenis for diatas kesimpulan
gampangnya adalah for positif adalah perulangan for yang setiap sekali perulangannya nilainya ditambahkan +1
sebaliknya kalau perulangan negatif ditambah -1. Setiap nilai awal dari perulangan for harus dimasukkan
kedalam variabel ini gunanya jika dalam perintah didalam perulangannya bisa menggunakan variabel tersebut
untuk menghasilkan sebuah angka – angka yang urut. Persis seperti yang kita lakukan di contoh codding diatas 
Perulangan while
Selanjutnya kita belajar struktur perulangan while(selama). Berbeda dengan for while
hanya menggunakan 1 nlai yang menjadi logika dari kondisi nilai tersebut. Jadi “selama” nilai
tersebut bernilai benar maka perulangan akan terus dilakukan. While memiliki satu
kekurangan kalau dibandingkan for, yaitu tidak ada nilai yang secara otomatis membentuk
sebuah angka yang berurutan seperti dalam for. Tapi kalau ingin menggunakannya dalam
while kita harus melakukannya sendiri secara manual. Ayo kita ke contoh coddingnya supaya
lebih jelas.
Mari kita kupas satu persatu perintah  –  perintah dalam perulangan while. pertama dideklarasikan
variabel bernama i bertipe integer. Kemudian masuk ke program utama, karena kita ingin menghasilkan sebuah
nilai angka yang diawali dengan angka 1 maka nilai i nya diisi dengan angka 1, melalui perintah i:=1; selanjutnya
masuk ke perulangan whilenya pertama tama yang dilakukan oleh while adalah menyeleksi logika apakah i lebih
kecil dari 10 karena i berisi 1 maka benar 1 lebih kecil sama dengan dari 10 maka perintah didalam perulangan
dijalankan pertama perintah menulis ‘nomor’ dilayar kemudian menulis variabel i (berisi 1). Maka dihasilkan teks
nomor : 1. Selanjutnya perintah menambahkan i secara manual perintahnya adalah i:=i+1. Karena i berisi 2 maka
i:=1+1=2 jadi i sekarang berisi 2 atau bisa juga supaya gak ribet perintah itu dipersingkat menjadi inc(i); hasilnya
sama aja. Karena ini perulangan maka setelah end; balik lagi keatas(while) untuk menyeleksi apakah i <= 10
karena i=2 maka benar 2<=10 dan perintah – peritah tadi dijalankan kembali berulang – ulang hingga akhirnya
sampai dengan i berisi nilai 11 dan diseleksi oleh while apakah 11 <= 10 karena 11 lebih kecil sama dengan 10
bernilai salah maka perulangan berhenti sampai disitu.
Nah itu tadi kita melakukan sebuah perulangan seperti pada perulangan for positif nah bagaimana kalau
mau membuat program diatas menjadi seperti perulangan for negatif caranya cukup mudah hanya mengganti
perintah i:=i+1; jadi i:=i-1; atau dec(i); dan logika whilenya juga dibalik jadi while i >= 1.
Bahas codding
uses crt;
begin write('Nomor: '); writeln(i); i:=i+1; {bisa juga pake inc(i);}
end; readkey; End.
Perulangan Repeat until
Terakhir kita akan membahas perulangan repeat until. Repeat until ini agak mirip
dengan perulangan while dan memiliki satu nilai sebagai logika kondisi juga. bedanya kalau
while perulangan akan dijalankan selama nilai itu bernilai benar kalau repeat malah
sebaliknya perulangan akan terus dijalankan dan sampai nilainya bernilai benar baru akan
berhenti. Untuk penempatan struktur codenya repeat agak berbeda dengan while. Di repeat
nilai yang menjadi acuan logika tersebut ditempatkan dibawah setelah end; jadi diawalnya
hanya ada perintah repeat, mungkin supaya lebih jelas langsung ke contoh coddingnya aja
kali ya.
Dari code diatas sangat mirip dari perulangan while sebelumnya. Mari kita kupas satu persatu lagi
perintahnnya. Pertama deklarasi variabel i bertipe integer. Masuk ke program utama. Mengisi variabel i dengan
nilai 1. Masuk ke perulangan repeat, lalu menjalankan perintah mencetak teks nomor : dan variabel i. Dan juga
perintah untuk menambahkan nilai i, terakhir seleksi kondisi untuk menghentikan perulangannya, yaitu i=10
karena i sekarang bernilai 2. Maka kondisinya bernilai salah jadi perulangan dilanjutkan keatas lagi. Dan terus
menerus sampai akhirnya i nya bernilai 10 dan kondisinya bernilai benar baru perulangannnya berhenti.
uses crt;
begin write('Nomor: '); writeln(i); i:=i+1; {bisa juga pake inc(i);}
end; until i = 10; readkey; End.
Nomor: 1
Nomor: 2
Nomor: 3
Tentang bab ini
Apa yang sekilas mucul dipikiran kalo baca judul bab ini. Tipe data buatan? Tenang aja
kita gak bakal kayak kurang kerjaan kok bikin tipe data baru. Karena tipe data yang ada dalam
pascal ini sudah cukup banyak dan mencakup semua yang diperlukan dalam pemprograman.
Nah tipe data buatan ini sebenarnya cuma pengembangan dari dari tipe data yang sudah ada.
Kenapa?. Karena dengan tipe data yang sudah ada ini memang mencakup semua tapi di
beberapa program yang kompleks tipe data yang ada dirasa kurang efektif. Karena satu
variabel Cuma bisa menampung satu nilai. Nah gimana kalau untuk membuat program yang
mendata beberapa orang misalnya. Apakah setiap data orang yang ingiin diinput datanya
harus dibuat satu variabel, dalam pascal dan bahasa pemprograman lainnya bisa
menggunakan array untuk menyelesaikan masalah tersebut karena array bisa membuat satu
variabel bisa menampung banyak nilai. Kemudian data – data tiap orang gak Cuma satu ada
nama,alamat,TTL,dll. Sebenarnya itu gak masalah karena tiap data datanya dibuat di array
beres. Tapi ada yang pengen programnya lebih tertata rapi, apalagi kalo programnya
membutuhkan data  –  data yang banyak, yang takutnya agak sulit mengaturnya dan
ditakutkan data yang satu dengan yang lain tercampur maka bisa menggunakan record.
ARRAY
Konsep dasar dari array adalah memperbesar kapasitas dari satu variabel yang
biasanya hanya mampu menampung satu nilai saja menjadi bisa menampung banyak nilai.
Dan cara kerjanya seperti rak jadi memerlukan koordinat dari nilai array tadi. Ayo kita coba
mendeklarasikan variabel bertipe array.
Diatas adalah contoh pendeklarasian variabel bernama angka dengan array yang
berkapasitas 100 nilai yang bisa diisi oleh tipe data integer. Dalam variabel array untuk
perintah input maupun output harus menyertakan nilai indexnya supaya membedakan posisi
dari nilai tersebut misalnya angka[2]:= 54; atau writeln(angka[2]);. Kira  – kira seperti itu
penggunaan array. Contoh diatas adalah penggunaan array 1 dimensi sebenarnya array juga
bisa menggunakan array lebih dari satu dimensi
Var Angka : array[1..100] of integer
 
 
contoh:
dengan array dua dimensi diatas kapasitas yang bisa ditampung akan menjadi jauh
lebih besar dari array satu dimensi. Tapi pemanggilannya juga harus menggunakan dua
indeks. Contoh penggunaan matriks 2 dimensi ini adalah pada program matriks. Mari kita
coba contoh coddingnya.
Mungkin kelihatannya codding diatas sangat panjang. Tapi ayo kita kupas satu persatu perintahnya. Pertama
mendeklarasikan variabel bernama a bertipe array 2 dimensi masing masing berkapasitas 4 nilai (1-4) yang berisi
tipe data integer. Kemudian variabel baris dan kolom bertipe data integer. Selanjutnya kita masuk ke program
utama pertama kita disuguhi sebuah perulangan for dengan nilai kolom = 1 sampai 3. Didalam for ketemu lagi
for dengan variabel kolom = 1 sampai 3. Didalamnya adaperintah menuliskan kolom dan baris. Kemudian
perintah untuk menginput kedalam array berdasarkan baris dan kolom tadi. Selanjutnya ada perintah writeln
yang berguna untuk membuat jarak antara teks. Oke itu adalah perintah untuk menginput nilai kedalam array.
Selanjutnya kita akan menampilkan aray – array tersebut. Perintahnya hampir sama dengan proses input yaitu
dengan perulangan for berisi variabel baris = 1 sampai 3 dan didalamnya ada perulangan for dengan variabel
kolom= 1 sampai 3, nah didalam perulangan ini terdapat perintah untuk menampilkan array dengan indeks
baris dan kolom sesuai perulangan. Kemudian ada satu lagi perintah menampilkan teks yang berisi satu spasi ini
bertujuan supaya nilai antara kolom satu dengan yang lainnya tidak saling dempetan. Kemudian ada lagi perintah
witeln yang berguna membuat jarak antara baris satu dengan baris selanjutnya sehingga terbentuk sebuah
matriks.
uses wincrt; var a:Array[1..4,1..4] of integer; baris,kolom:integer;
begin
for baris:=1 to 3 do begin for kolom:=1 to 3 do
begin write('[',baris,',',kolom,'] = ');readln(a[baris,kolom]);
for baris:=1 to baris do begin
for kolom:=1 to kolom do begin
write(a[baris,kolom]); write(' '); end;
 
 
Nah itu adalah contoh dari penggunaan array dua dimensi dan diaplikasikan pada sebuah
matriks. Selain dua dimensi array masih bisa ditamah lagi menjdai dimensi  – dimensi yang
lebih banyak lagi sesuai kebutuhan. Mungkin sampai disini ada yang masih bingung tentang
array?. Jika udah ngerti semua kita lanjut ke pembahasan selanjutnya.
RECORD
Tipe data bentukan selanjutnya adalah record. Record tingkatannya lebih tinggi dibandingkan tipe data array maksudnya gini record bisa juga berisi tipe data array. Kemudian record juga tidak mempunyai kemampuan khusus seperti memperbesar kapasitas variabel seperti array(kecuali record yang berisi array, itu lain ceritanya), jadi record ini lebih mengelompokan sebuah tipe data agar lebith terstruktur dan rapi apalagi kalau program yang dibuat memerlukan pendeklarasian variabel tanpa record pasti terlihat berantakan dan bisa saja akan binggung saat menggunakannya saking banyaknya. Oleh karena itu untuk menghindari hal itu dibuatlah tipe data buatan record untuk merapikannya.berikut struktur penggunaan record
Jadi pertama pendeklarasian recordnya ditempaktkan pada type dengan menulis
namarecord=record; kemudian variabel  – variabel bentukan yang ingin dimasukan kedalam
record lengkap dengan tipedatanya. Kemudian pada variabel dideklarasikan dengan tipe data
record tadi. Mungkin supaya lebih jelas kita ke contoh codding.
type nama_record = record identifier_1 : tipe_data_1; identifier_2 : tipe_data_2; . . identifier_n : tipe_data_n;
end; var
variabel : nama_record;
End;
End.
 
 
Diatas adalah contoh sederhana penggunaan record pada sebuah program data buku. Jadi pada
program ini gunanya record mengelompokan data  – data yang berhubungan dengan buku (pada program ini
 judul,penulis dan harga). Dan dibuat dalam record bernama buku. Kemudian pada pendeklarasian variabelnya
menggunakan tipe data record tadi. Masuk ke program utama pertama adalah perintah untuk menginput judul
buku, penulis serta harga buku ke delam tipe data record. Dengan sebelumnya diberi keterangan dengan
perintah write sebagai keterangan dari data yang ingin diinputkan. Kemudian ada perintah clrscr; atau clear
screen yaitu perintah untuk menghapus semua teks yang ada dilayar. Perintah selanjutnya adalah menampilkan
kembali apa yang berada didalam tipe data record yaitu judul,penulis dan harga. Mudah aja kan penggunaan
record ini. Nah kalau diperhatikan penulisan variabel untuk tipe data record ini yaitu variabel.tipedata_record.
Kalau dirasa panjang karena kita akan terus menulis variabel – variabel yang sama. Ada triknya untuk mengatasi
proses nulis – nulis variabel yang sama terus gitu bisa menggunakan with namavariabel do. Diantara perintah – 
perintah yang menggunakan variable yang sama, dengan menggunakan begin end sebagai pembatasnya.
Bahas codding
Tentang bab ini
Pada bab ini kita akan mempelajari sub program. Atau program yang ada didalam
program. Bingung ya?. Jadi gini pada program – program yang rumit khususnya akan menjadi
sulit untuk dipahami alurnya bahkan oleh progammernya itu sendiri. Karena saking
banyaknya sintaks yang dipakai. Nah sub program berguna untuk mengatasi itu jadi program
 – program yang panjang tadi dipecah – pecah kedalam beberapa bagian didalam program dan
di program utamanya hanya memanggil nama sub programnya tadi tujuannya supaya lebih
mudah dipahami alurnya dan program jadi punya struktur yang lebih jelas. Keuntungannya
sub program yang lain adalah sub program bisa dipanggil beberapa kali. Jadi bisa menghemat
waktu ngetik sintaksnya. Jadi kalo ditemukan sintaks program yang harus mengetik perintah
 – perintah yang sama berulang – ulang ya tinggal dibuat subprogramnya.
yah kira – kira konsep dari subprogram itu seperti itu.
Prosedur(PROCEDURE)
gampang kira – kira struktur prosedur seperti ini
Simpel kan ?. nah itu adalah struktur penggunaan prosedur. Dan perintah itu ditulis sebelum
program utama dan jika ingin memakai sub program itu tinggal tulis nama prosedurnya.
Mungkin supaya lebih jelas langsung ke contoh coddingnya.
Procedure nama_prosedur; Begin
Uses crt; Procedure statusiasi; begin
writeln(‘ Nama Saya Vicki');  writeln(‘ 29 my age ');  writeln(‘ Saya sedang belajar Porcedure');
end;
 
 
Enak aja kan prosedur. Nah simpel aja kok.coba kita kupas satu  – satu kodingnya diatas. Jadi pertama
dideklarasikan prosedur dengan nama statusiasi. Dan berisi beberapa perintah untuk menampilkan teks. Lalu
kemudian pada program utama tingggal di panggil nama prosedurnya.
Oke disini kelihatannya materinya kurang seru yah Cuma gini doang. karena itu kita
akan bermain dengan prosedur ini lebih dalam supaya lebih seru lah. Prosedur adalah sebuah
sub program atau program didalam program, bener kan?. Karena dia program, prosedur juga
mempunyai kemampuan layaknya program utama yaitu membuat variabelnya atau disebut
lokal variabel.penulisannya juga hampir sama dengan program utama yaitu sebelum begin
dari prosedur. Tapi variabel ini hanya bisa digunakan pada prosedur itu saja. Supaya lebih jelas
kita ke codding.
Nah diatas adalah program yang mirip seperti program sebelumnya tapi ditambahkan proses input dan
menggunakan local variabel. Masih gampang ya kan. Pemakaian lokal variabel ini gunanya sama dengan
penggunaan prosedur. Supaya programnya lebih tertata jadi gak numpuk variabel yang banyak banget di
variabel utama. 
Masih ada satu lagi yang bisa kita eksplor dari prosedur ini yaitu. Prosedur yang
menggunakan parameter. Parameter ini gunanya untuk membuat prosedur jauh lebih
fleksibel. Kalo sebelumnya kita tau kalo prosedur Cuma dipakai untuk mempersingkat
penulisan sintaks yang diulang  –  ulang dan itu pun harus sama persis kan. Nah kalau
menggunakan parameter ini prosedur akan bersifat sebagai rumus. Jadi outputnya
tergantung inputnya juga. Bingung ya oke deh kita ke koding aja kalo gitu supaya jelas.
Bahas codding
begin write(‘ Nama  :');readln(‘nama’);  write(‘ Umur :'); readln(‘umur’); 
end;
end;
readkey; end. 
Diatas adalah contoh program sederhana yang pergunakan parameter. Jadi didalam prosedurnya isinya
Cuma rumus aja dan nilai inputannya langsung saat prosedur itu dipanggil bukan dalam prosedurnya, seperti
program yang sebelumnya. Ini lebih dinamis karena kita bebas mengisi nilai parameter tersebut.
Sampai disini kita udah nguasain materi tentang prosedur. Sebelum kita lanjut ke
pembahasan selanjutnya silahkan tanyakan jika ada yang dirasa masih membingungkan.
FunGSI(FUNCTION)
Sekarang kita akan mempelajari satu lagi sub program dalam pascal yaitu Function.
Function ini cara kerja dan juga penggunaannya juga hampir sama dengan prosedur. Yang
membedakan antara fungsi dengan prosedur adalah function bisa diisi sebuah nilai layaknya
variabel dan juga punya tipe datanya sendiri. Untuk lebih jelasnya kita liat struktur
penggunaan fungsi
yang membedakan fungsi dan prosedur ini hanya ruang lingkup penggunaanya. Fungsi ini
digunakan untuk sub program yang membutuhkan rumus, walaupun prosedur juga bisa
melakukan hal yang sama tapi karena fungsi mempunyai nilai balik, maka prosesnya akan
lebih efisien menggunakan fungsi. Mari kita coba kedalam contoh koddingnya.
Hampir mirip lah sama prosedur, mungkin bedanya seperti yang dijelaskan sebelumnya yaitu
function ini punya kapasitas untuk menyimpan nilai. Dan biasanya function ini hanya berisi rumus – rumus
yang menggunakan nilia function tadi sebagai tempat untuk menampung hasil dari rumus tadi seperti yang
ada pada contoh diatas. Kemudian karena local variabel tidak bisa digunakan pada program utama maka
dibuat juga variabel untuk digunakan pada program utama (a dan t bertipe integer). Sebagai variabel yang
menampung nilai input dari rumus yaitu alas dan tinggi. Selanjutnya, nah ini yang membedaka antara fungsi
uses wincrt;
var a,t:integer;
readkey; end.
Bahas codding
{perintah-perintah sub program} End;
dan prosedur. Disini fungsi bisa langsung dimasukkan dalam perintah tampil(write) tentu beserta
parameternya. Maka akan langsung bisa ditampilkan nilai balik dari fungsi nya tadi yang di sub programnya
melalui rumus (luassegitiga:= alas*tinggi/2).
 
 
Tentang bab ini
Ini adalah bab terakhir dalam modul ini. Biasanya bab terakhir adalah materi yang
paling sulit kan. Tapi tenang aja. Bab ini akan jadi bab paling asik diantara bab  –  bab
sebelumnya.
Ada yang bilang kalau pascal adalah bahasa pemprograman kuno yang saat ini udah
ketinggalan zaman. CIUS?. Kita akan coba mengeksplor kemampuan luar biasa yang terdapat
didalam pascal, yang kita akan sama  – sama coba membuktikan kalau pascal gak kalah kok
sama bahasa  – bahasa pemprograman yang populer sekarang. Bahkan kita juga akan coba
mempercantik tampilan program pascal. Menjadi lebih user friendly bahkan mendekati
seperti tampilan pada pemprograman berbasis visual seperti VB.
Menghentikan waktu di pascal
Perogram pascal yang mempunyai struktur sederhana pasti akan dengan mudah di proses
oleh procesor jaman sekarang. Dan waktu pemprosesannya hampir tidak terlihat karena
sebuah perintah dapat dijalankan dengan sekejap mata. Nah tapi dalam berbagai hal dan
kebutuhan diperlukan adanya jeda waktu antara perintah dengan perintah selanjutnya.
Seperti contohnya untuk mengetahui kesalahan sebuah program, untuk membuat efek
animasi tampilan dll, untuk melakukan hal tersebut dipascal kkita bisa menggunakan perintah
delay(); dan diisi dengan lamanya waktu yang ingin dihentikan dalam satuan miliseconnd
atau 1/1000 detik. Untuk lebih jelas penggunaan delay ini langsung aja ke contoh koding.
uses crt; begin write('Intialize Program'); delay(500);write('.'); delay(500);write('.'); delay(500);write('.'); delay(500);write('.'); delay(500);write('.'); readkey; end.
 
 
Membuat Pascal Berwarna
Pascal kita tau adalah bahasa pemprograman yang berjalan dibawah DOS. Dan
pastinya program yang berjalan di dos pasti akan bikin mata kita perih karena warnanya kalo
gak item ya putih. Tapi pascal juga memnyediakan perintah yang bisa membuat tampilan
program pascal yang berjalan dibawah DOS memiliki warna selain hitam putih.
Pertama untuk mewarnai teks kita menggunakan perintah textcolor();. Berikut adalah tabel warnanya
Diatas adalah beberapa warnanya. Untuk memakai warna  –  warna tersebut bisa
menggunakan kode angkanya bisa juga dengan kode hurufnnya.dan sintaks warna ini akan
mempengaruhi tampilan yang perintahnya ditulis dibawahnya. Untuk lebih jelas kita ke
contoh codding.
Selanjutnya kita akan mewarnai background dari teks nya. Menggunakan perintah
Textbackground(); penggunaanya sama dengan perintah sebelumnya tapi variasi
warnanya lebih terbatas, dari tabel sebelumnya yang bisa digunakan untuk perintah ini hanya
sampai nomor 7. Textbackground ini tidak hanya untuk mewarnai background dari teks tapi
Kode Warna 16 bit
0 black 8 grey
6 brown 14 yellow
Uses crt; Begin textcolour(blue); writeln(‘warnnku biru kan?’);  writeln(‘beneran biru ya?’); textcolour(14); writeln(‘nah sekarang warna kuning’);   readln; End.
Warnaku biru kan?
Beneran biru ya?
 
 
 juga bisa mewarnai seluruh area dari program dengan menuliskan perintah clrscr; setelah
perintah textbackground();. Mari kita ke contoh codding untuk lebih jelasnya.
Bedah Tampilan pascal
Seperti yang telah dijelaskan sebelumnya program pascal berjalan dibawah DOS. Satu
hal lagi yang pasti dari DOS adalah hanya bisa menampilkan teks. Pasti kurang nyaman kalau
program yang dipakai hanya berupa tulisan dan tulisan. Ada satu lagi perintah di pascal yang
bisa digunakan yaitu menampilkan teks ASCII. Apa itu ASCII?. Adalah sebuah kode karakter
yang digunakan pada komputer dan menjadi standar amerika, didalamnya terdapat karakter
alphabet, angka serta simbol. nah simbol  – simbol ini lah yang akan kita eksplorlebih jauh
untuk menciptakan tampilan pascal yang WOW. Berikut adalah kode ascii serta karakter yang
akan muncul pada program pascal.
Perintah yang digunakan adalah chr(); dan harus ditulis didalam perintah write();. Dan dibutuhkan ketelitian untuk membentuk teks  –  teks diatas menjadi sebuah tampilan
Uses crt; Begin textbackground(5); clrscr; readln; End.
OUTPUT
 
 
grafis. nah tapi juga bakal repot kalau berdasarkan kode – kode angka untuk membentuk satu
karakter saja. Nah ternyata karakter ascii ini juga bisa langsung ditulis kedalam pascalnya
tetapi bentuk karakternya akan berbeda antara tampilan dan yang di editor, yah solusinya
tetap beracuan pada kode  –  kode atau urutan karater tabel diatas itu aja untuk
menuliskannya. Berikut tabel karakter ASCII yang bisa langsung dicopas ke pascal.
128.  €  136. ˆ  144. 152. ˜  160. 168. ¨ 176. ° 184. ¸ 129. 137. ‰  145. ‘  153. ™  161. ¡ 169. © 177. ± 185. ¹ 130. ‚ 138. Š  146. ’  154. š  162. ¢ 170.  ª 178. ² 186. º 131. ƒ  139. ‹  147. “  155. ›  163. £ 171. « 179. ³ 187. » 132. „  140. Œ  148. ”  156. œ  164. ¤ 172. ¬ 180. ´ 188. ¼ 133. …  141. 149. •  157. 165. ¥ 173. - 181. µ 189. ½ 134. †  142.   150.  –   158.   166. ¦ 174. ® 182.  ¶ 190. ¾ 135. ‡  143. 151.  —   159. Ÿ  167. § 175.  ¯ 183. · 191. ¿ 192. À 200. È 204. Ì 208. Ð 210. Ò 215. × 217. Ù 221. Ý 193. Á 201. É 205. Í 209.  Ñ 211. Ó 216. Ø 218. Ú 222. Þ 194.  202. Ê 206. Î 212. Ô 219. Û 223. ß 195. à 203. Ë 207. Ï 213. Õ 220. Ü 196. Ä 214. Ö 197. Å 198.  Æ 199. Ç 224. à 232. è 236. ì 240. ð 242. ò 247. ÷ 249. ù 253. ý 225. á 233. é 237. í 241. ñ 243. ó 248. ø 250. ú 254.  þ 226. â 234. ê 238. î 244. ô 251. û 255. ÿ 227. ã 235. ë 239. ï 245. õ 252. ü 228. ä 246. ö 229. å 230. æ
231. ç
Kelihatannya ribet ya. Silahkan dicoba aja karena hasilnya sangat wow loh pokoknya gak sia  – 
sia deh hasilnya biar ribet – ribet kayak gini buatnya. Berikut adalah contoh koddingnya untuk
melihat hasil grafis yang bisa dibuat
 
 
Penggunaan teks ASCII juga tidak sampai disitu, kita juga bisa memberikan efek-efek pada
teks, menggunakan text to ASCII. Yang bisa ditemukan banyak sekali di internet website yang
menyediakan layanan merubah teks menjadi karakter ascii dengan pilihan jenis teks yang
banyak sekali salah satunya yang menurut saya lengkap yaitu :  http://patorjk.com/software/taag/