job sheet untuk smk jurusan rpl algoritma dasar

53
Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar & Pemrograman 1. Output Program Untuk menampilkan output atau keluaran program pada Pascal menggunakan perintah : Write : menampilkan output kemudian kursor masih pada baris yang sama. WriteLn : menampilkan output kemudian kursor pindah baris. Tugas: Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan. Perhatikan perbedaan fungsi write dan writeln kemudian simpan pada Ms Word dan dikumpulkan. Simpan program menggunakan nama contoh1, contoh2, contoh3, dan sterusnya. Contoh 1 : begin Write('hello'); Write(' saya belajar pascal '); ReadLn(); end. Contoh 2 : begin WriteLn('hello'); Write('saya belajar pascal '); ReadLn(); end. Contoh 3 : begin WriteLn('PROGRAM PERTAMA SAYA');

Upload: taufik-kharis

Post on 20-Jan-2016

544 views

Category:

Documents


26 download

DESCRIPTION

job shet algo

TRANSCRIPT

Page 1: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar & Pemrograman

1. Output ProgramUntuk menampilkan output atau keluaran program pada Pascal menggunakan perintah :Write : menampilkan output kemudian kursor masih pada baris yang sama.WriteLn : menampilkan output kemudian kursor pindah baris.

Tugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Perhatikan perbedaan fungsi write dan writeln kemudian simpan pada Ms Word dandikumpulkan.Simpan program menggunakan nama contoh1, contoh2, contoh3, dan sterusnya.Contoh 1 :beginWrite('hello');Write(' saya belajar pascal ');ReadLn();end.Contoh 2 :beginWriteLn('hello');Write('saya belajar pascal ');ReadLn();end.Contoh 3 :beginWriteLn('PROGRAM PERTAMA SAYA');Write('Saya anak SMKN 2 Buduran');Write(' sedang belajar pascal, ');Write(' ternyata pascal');Write(' itu mudah');Write(' dan menyenangkan');ReadLn();end.Contoh 4:beginWriteLn('PROGRAM PERTAMA SAYA');Writeln('Saya anak SMKN 2 Buduran');Writeln('sedang belajar pascal, ');

Page 2: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

WriteLn();WriteLn();Writeln('ternyata pascal');Writeln('itu mudah');Writeln('dan menyenangkan');ReadLn();end.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 3 of 432. Operasi MatematikaDalam operasi matematika pascal menggunakan beberapa operator yang dapatdigunakan untuk proses perhitungannya. Gunakan operator yang ada dalam tabel untukoperasi perhitungan pada program yang dibuat.Operator Operasi Tipe Operand Tipe Hasil* Perkalian real, realinteger, integerreal, integerrealintegerrealDIV Hasil Pembagianyang utuhinteger, integer Integer/ Pembagian real real, realinteger, integerreal, integerrealrealrealMOD Sisa pembagian integer, integer Integer+ Penambahan real, realinteger, integerreal, integerrealintegerreal- Pengurangan real, realinteger, integerreal, integerrealintegerrealTugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Perhatikan fungsi matematika dan tanda koma (,) kemudian simpan pada Ms Worddan dikumpulkan.Contoh 1:

Page 3: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

beginWriteLn( 3 * 2);Writeln( 4 / 3);Writeln( 4 / 3 :0:2);Writeln(4 div 3);Writeln( 4 mod 3);Writeln( 4 + 3);Writeln( 4 - 3);ReadLn();end.Contoh 2:beginWriteLn( '3 * 2 = ', 3 * 2);Writeln( '4 / 3 = ', 4 / 3);Writeln( '4 / 3 = ', 4 / 3 :0:2);Writeln('4 div 3 = ',4 div 3);Writeln('4 mod 3 = ', 4 mod 3);Writeln( '4 + 3 = ',4 + 3);Writeln('4 - 3 = ', 4 - 3);ReadLn();end.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 4 of 433. Input, Variabel, dan Type dataVariabel adalah nama tempat yang digunakan untuk menyimpan data pada memorikomputer. Nilai dari suatu variabel dapat berubah sewaktu – waktu ketika programsedang dijalankan.Jika kita menggunakan pengenal variabel di dalam program, maka variabel tersebutharus kita deklarasikan terlebih dahulu. Pada waktu kita mendeklarasikan suatu variabel,maka kita harus menentukan tipe dari datanya. Type dari data ini menunjukkan suatunilai yang dapat digunakan oleh variabel bersangkutan. Pada pokok bahasan ini akandijelaskan bentuk type data standar, yaitu dapat berbentuk tipe-tipe data numerikinteger, numerik real, karakter, string dan boolean.Tipe data integerData numerik integer merupakan nilai bilangan bulat baik dalam bentuk desimalmaupun hexadesimal. Nilai integer hexadesimal diawali dengan tanda dollar ($).Pascalmenyediakan 5 macam tipe data integer yang masing-masing mempunyai jangkauannilai yang berbeda seperti pada tabel berikut :Tipe Ukuran Memori Jangkauan NilaiByte 1 byte 0..255ShortInt 1 byte -128..127Integer 2 byte -32768..32767Word 2 byte 0..65535LongInt 4 byte -2147483648..2147483647Tipe data RealNilai konstanta numerik real berkisar dari 1E-38 sampai dengan 1E+38 dengansignifikansi sampai dengan 11 digit . E menunjukkan nilai 10 pangkat. Nilai konstanta

Page 4: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

numerik real menempati memori sebesar 6 byte. Berikut tabel tipe data real.Type Jangkauan Ketelitian UkuranReal 2.9e-39..1.7e38 11-12 digit 6 bitSingle 1.5e-45..3.4e38³ 7-8 digit 4 bitDouble 5.0e-324..1.7e308 15-16 digit 8 bitExtended 3.4e-4932..1.1e4932 19-20 digit 10 bitComp -9.2e18..9.2e18 19-20 digit 8 bitTipe data Karakter (Char)Nilai data karakter berupa sebuah karakter yang ditulis diantara tanda petik tunggal,seperti misalnya ‘A’, ‘a’, ‘!’, ‘%’, ‘5’ dan sebagainya. Penggunaan variabel untukmenyimpan data tipe karakter ini harus dideklarasikan dengan tipe char.Tipe data StringNilai data string merupakan urut-urutan dari karakter yang terletak di antara tanda petiktunggal. Bila karakter petik merupakan bagian dari konstanta string, maka dapat ditulisdengan menggunakan dua buah petik tunggal berurutan. Nilai data string akanmenempati memori sebesar banyaknya karakter string ditambah dengan 1 byte. Bilapanjang dari suatu string di dalam deklarasi variabel tidak disebutkan, maka dianggappanjangnya adalah 255 karakter.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 5 of 43Tugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Perhatikan fungsi variabel dan posisi variabel pada output program kemudian simpanpada Ms Word dan dikumpulkanContoh 1 :Petunjuk setelah program dijalankan ketik ’ Saya sedang belajar pascal ’ kemudiantekan enter.Input dataRead : Membaca input data dari keyborad dan kursor masih pada baris yangsama.ReadLn : Membaca input data dari keyborad dan kursor berpindah baris.vartulisan : string [100];beginWrite('ketik tulisan anda : ');ReadLn(tulisan);WriteLn(tulisan);WriteLn(tulisan);WriteLn(tulisan);WriteLn(tulisan);WriteLn(tulisan);ReadLn();end.Contoh 2 :varangka : integer;begin

Page 5: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

Write('ketik angka anda : ');ReadLn(angka);WriteLn(angka);WriteLn('angka yang anda masukan adalah : ', angka);WriteLn(angka, ' adalah angka yang anda masukan ');WriteLn('adalah ', angka, ' yang anda masukan ');WriteLn(angka);ReadLn();end.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 6 of 434. Algoritma SekuensialAlgoritma sequensial adalah algoritma yang dijalankan secara berurutan dari barispertama hingga baris terakhir tanpa terjadi pengulangan pada baris atau berpindah kebaris lain yang tidak urut.Contoh 1:Program menghitung luas persegi panjang.Tugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Perhatikan cara pembacaan variabel pada output program kemudian simpan pada MsWord dan dikumpulkanAlgoritmaRumus luas persegi panjang adalah Luas = p * l, pada rumus ini terdapat 3 variabel yangdigunakan untuk menyimpan data yaitu (Luas, p, l) type data bisa menggunakan integeratau real.ProgamvarLuas, p, l : integer;beginWrite('input p : ');ReadLn(p);Write('input l : ');ReadLn(l);Luas := p * l ;WriteLn('Luas persegi panjang adalah : ', Luas);ReadLn();end.Contoh 2:Program menghitung luas Lingkaran.Tugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Perhatikan cara pembacaan variabel pada output program kemudian simpan pada MsWord dan dikumpulkanAlgoritmaRumus luas lingkaran Luas = phi * r * r, pada rumus ini terdapat 2 variabel dan 1konstanta yang digunakan untuk menyimpan data yaitu (Luas, r) type data yangdigunakan real.

Page 6: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 7 of 43Progamconstphi = 3.14;varLuas, r : real;beginWrite('input r : ');ReadLn(r);Luas := phi * r * r ;WriteLn('Luas lingkaran adalah : ', Luas:0:2);ReadLn();end.Contoh 3:Program menghitung konversi suhu.Tugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Perhatikan cara pembacaan variabel pada output program kemudian simpan pada MsWord dan dikumpulkanAlgoritmaRumus konversi dari celcius ke reamur adalah R = 0.8 * C. Type data yang digunakanadalah real.Tabel konversi Dari Celsius keSkala yang diinginkan FormulaKelvin K = °C + 273,15Fahrenheit °F = °C × 1,8 + 32Reaumur °R = °C × 0,8ProgramvarReamur, c : real;beginWriteln('program konversi suhu ');Write('input suhu dalam celcius : ');ReadLn(c);reamur := 0.8 * c ;WriteLn('suhu dari celcius ke reamur : ', reamur:0:2);ReadLn();end.TugasBuat konversi dari celcius ke kelvin dan fahrenheitJob SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 8 of 435. Algoritma Percabangan (Kondisional)

Page 7: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

Algoritma percabangan adalah algoritma dimana terdapat baris yang akan diuji sebelummenjalankan baris berikutnya. Hasil dari pengujian kondisi adalah BOOLEAN atau kondisiyang bernilai benar dan salah.Tugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Perhatikan output program yang bertipe BOOLEAN atau TRUE dan FALSE kemudiansimpan pada Ms Word dan dikumpulkanContoh 1 :vara, b, c : boolean;begina := 4 < 5;b := 4 = 4;a := 4 > 5;Writeln(a);Writeln(b);Writeln(c);ReadLn();end.Operator relasi yang mengembalikan hasil BooleanOperator Fungsi:= Menyatakan nilai= Sama dengan<> Tidak sama dengan< Lebih kecil> Lebih besar<= Lebih kecil atau sama dengan>= Lebih besar atau sama denganIF Satu KondisiBentuk umum dari IF satu kondisi dengan satu kemungkinan jawaban adalah:IF kondisi pengujian thenBlok program yang dijalankan jika benarPada pengujian kondisi. IF akan menguji apakah kondisi pengujian bernilai TRUE atauFALSE. Jika TRUE maka baris program dibawah IF akan dijalankan.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 9 of 43Contoh 2:varnilai: integer;beginWrite('Input nilai yang akan diuji : ');ReadLn(nilai);if nilai mod 2 = 0 thenWrite ('Nilai yang anda masukan adalah GENAP');ReadLn();end.Bentuk umum dari IF satu kondisi dengan dua kemungkinan jawaban adalah:

Page 8: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

IF kondisi pengujian thenBlok program yang dijalankan jika pengujian bernilai BENARElseBlok program yang dijalankan jika pengujian bernilai SALAHPada pengujian kondisi. IF akan menguji apakah kondisi pengujian bernilai TRUE atauFALSE. Jika TRUE maka baris program dibawah IF akan dijalankan. Jika FALSE makabaris program dibawah ELSE akan dijalankan.Contoh 3:varnilai: integer;beginWrite('Input nilai yang akan diuji : ');ReadLn(nilai);if nilai mod 2 = 0 thenWrite ('Nilai yang anda masukan adalah GENAP')elseWrite ('Nilai yang anda masukan adalah GANJIL');ReadLn();end.Contoh 4 :Program Diskon pembelian. Jika pembelian lebih besar sama dengan 1000 maka akanmendapatkan diskon 20%.AlgoritmaSetiap pembelian akan diuji apakah nilai pembeliannya lebih besar dari 1000 makapembeli akan mendapatkan diskon 20%, jika kurang dari 100 maka pembelian tetapsesuai dengan harga beli. Variabel yang digunakan adalah realJob SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 10 of 43Programvarbeli, total : real;beginWrite('Input pembelian : ');ReadLn(beli);if beli >= 1000 thenbegintotal := beli * 0.8 ;Write ('total pembelian setelah diskon ', total:0:2);endelseWrite ('pembelian tanpa diskon ', beli:0:2);ReadLn();end.IF Dua KondisiBentuk umum dari IF dua kondisi dengan satu kemungkinan jawaban adalah:IF kondisi pengujian 1 and atau or kondisi pengujian 2 thenBlok program yang dijalankan jika pengujian bernilai BENAR

Page 9: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

ElseBlok program yang dijalankan jika pengujian bernilai SALAHPada pengujian kondisi. IF akan menguji apakah kondisi pengujian bernilai TRUE atauFALSE. Jika TRUE maka baris program dibawah IF akan dijalankan.Dua kondisi yang sering digunakan adalah AND dan OR. Tabel kebenaran AND dan ORadalah sebagai berikut:Tabel Kebenaran ANDKondisi 1 Kondisi 2 OutputTrue (1) True (1) True (1)True (1) False (0) False (0)False (0) True (1) False (0)False (0) False (0) False (0)Tabel Kebenaran ORKondisi 1 Kondisi 2 OutputTrue (1) True (1) True (1)True (1) False (0) True (1)False (0) True (1) True (1)False (0) False (0) False (0)Contoh 5:Buat sebuah program untuk menyatakan lulus dan tidak lulus siswa. Jika siswamemperoleh nilai antara 60 – 100 maka siswa dinyatakan lulus.Algoritma :Nilai siswa akan diuji pada kondisi 1 terlebih dahulu, kemudian kondisi 2 diuji hasil darikondisi 1 dan kondisi 2 akan di kombinasikan sesuai dengan tabel kebenaran. Jikamenggunakan AND maka kedua kondisi tersebut harus bernilai TRUE untukmenghasilkan nilai TRUEJob SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 11 of 43Tugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Perhatikan output program yang berisi pengujian kondisi kemudian simpan pada MsWord dan dikumpulkanProgramvarnilai : integer;beginWrite('Input Nilai Siswa : ');ReadLn(nilai);if (nilai >= 60) and (nilai <= 100) thenWrite ('Anda LULUS')elsewrite ('Anda TIDAK LULUS');ReadLn();end.Contoh 6:Nested IF (IF bersarang)IF bersarang adalah kondisi IF yang dijalankan jika kondisi bernilai TRUE kemudian

Page 10: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

terjadi pengujian lagi. Jika kondisi bernilai FALSE maka IF didalam tidak akan dijalankanmelainkan langsung ke Else.Algoritma:Berikut adalah contoh penggunaan IF bersarang. Pertama nilai akan diuji apakan nilaiberada diantara 0 sampai 100 (IF pertama), jika kondisi ini bernilai TRUE maka akanmenjalankan IF didalam (IF kedua) dimana nilai akan diuji apakah nilai yang dimasukan>= 60 dan <= 100 jika TRUE maka akan menampilkan ’Anda Lulus’ jika FALSE makaakan menampilkan ’Anda TIDAK LULUS’. Tapi jika nilai tidak berada pada 0 sampai 100atau tidak memenuhi IF pertama maka akan menampilkan tulisan ’Out of range’.Tugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Perhatikan output program yang berisi pengujian kondisi kemudian simpan pada MsWord dan dikumpulkanvarnilai : integer;beginWrite('Input Nilai Siswa : ');ReadLn(nilai);if (nilai >= 0) and (nilai <= 100) thenbeginif (nilai >= 60) and (nilai <= 100) thenWrite ('Anda LULUS')elsewrite ('Anda TIDAK LULUS');endelsewrite ('out of range');ReadLn();end.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 12 of 43Tugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Perhatikan output program yang berisi pengujian kondisi kemudian simpan pada MsWord dan dikumpulkanContoh 7:varnilai : integer;beginWrite('input nilai anda : ');ReadLn(nilai);if (nilai >= 0) and (nilai <= 40 ) thenWrite('Nilai anda adalah D');if (nilai >= 41) and (nilai <= 55 ) thenWrite('Nilai anda adalah C');if (nilai >= 56) and (nilai <= 65 ) thenWrite('Nilai anda adalah B');

Page 11: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

if (nilai >= 66) and (nilai <= 100 ) thenWrite('Nilai anda adalah A')elseWrite('out of range');ReadLn();end.Contoh 8:Program pengujian bilangan prima, genapm dam ganjil.Tugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Perhatikan output program yang berisi pengujian kondisi kemudian simpan pada MsWord dan dikumpulkanvarbil: integer;beginWrite('input bilangan : ');ReadLn(bil);if ((bil=2) or (bil=3) or (bil=5) or (bil=7)) thenWrite ('bilangan prima dan ')else if ((bil mod 2 <> 0) and (bil mod 3 <> 0)and (bil mod 5 <> 0) and (bil mod 7 <> 0)) thenwrite ('bilangan prima dan ');if bil mod 2 = 0 thenWrite ('bilangan genap')elsewrite ('bilangan ganjil');ReadLn();end.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 13 of 43Tugas:Buat sebuah program untuk menampilkan Zodiak anda. Tanggal dan bulan dimasukkanmenggunakan angka. Misalnya bulan 5 akan dianggap bulan mei.Case OfCase adalah percabangan yang mempunyai pengujian kondisi dimana variabel yang diujihanya bertipa INTEGER dan CHAR.Bentuk penulisan case of adalah:Case {variable of type: integer or character ONLY} of{input statement- within inverted commas if of type char} : {code..}{input statement- within inverted commas if of type char} : {code..}End; {End Case}Contoh 9:Berikut adalah sebuah program yang akan mengkonversikan angka menjadi huruf dari 0sampai 9. saat kita memasukkan angka maka angka yang kita masukan akan diuji di sisikiri jika angka yang kita masukan ada maka tampilan di sebelah kanan akan dijalankan.Program.var

Page 12: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

angka: integer;beginWrite('input angka : ');ReadLn(angka);case angka of0 : write ('NOL');1 : write ('SATU');2 : write ('DUA');3 : write ('TIGA');4 : write ('EMPAT');5 : write ('LIMA');6 : write ('ENAM');7 : write ('TUJUH');8 : write ('DELAPAN');9 : write ('SEMBILAN');else ;write ('OUT OF RANGE');end;ReadLn();end.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 14 of 43Contoh 10:Pengujian nilai yang dikonversikan menjadi huruf dimana nilai 0 – 100 akandikonversikan menjadi A – D.Tugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Perhatikan output program yang berisi pengujian kondisi kemudian simpan pada MsWord dan dikumpulkanProgramvarnilai : integer;beginWrite('input nilai anda : ');ReadLn(nilai);case nilai of0..40 :beginWrite('Nilai anda adalah D');end;41..55 :beginWrite('Nilai anda adalah C');end;56..65 :beginWrite('Nilai anda adalah B');

Page 13: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

end;66..100 :beginWrite('Nilai anda adalah A');end;elseWrite('out of range');end;ReadLn();end.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 15 of 43Algoritma PengulanganPengulangan adalah algoritma dimana baris program yang ditentukan akan di eksekusisecara berulang – ulang sampai batas yang telah ditentukan. Jika batas telah tercapaimaka pengulangan akan berhenti.Contoh:Jika kita mengupas 15 jeruk. Cara yang pertama kita lakukan adalah mengambil jerukyang pertama kemudian mengupasnya. Setelah selesai jeruk yang pertama kemudian kejeruk yang kedua dan seterusnya sampai jeruk ke 15 terkupas.dari cerita diatas terdapat 3 hal yang harus diketahui sebelum menggunakanpengulangan.1. Inisialisasi atau pengenalan objek yang akan diulang. Contoh diatas adalah15 jeruk yang belum terkupas.2. Iterasi atau pengulangan. Contoh diatas adalah mengupas dari 1 sampai 15kali untuk 15 jeruk.3. Kondisi berhenti. adalah kondisi dimana semua proses pengulangan akanberhenti. dari contoh diatas adalah 15 jeruk yang telah terkupas.For DoPerulangan dengan pernyataan For do digunakan untuk mengulang pernyataan atausatu blok pernyataan berulang kali sejumlah yang ditentukan. Perulangan denganpernyataan For dapat berbentuk perulangan positif, perulangan negatif dan perulangantersarang.1. Perulangan positif.Perulangan positif adalah perulangan dengan penghitung dari kecil ke besar ataupertambahan positif. Perulangan positif dapat dibentuk dengan menggunakanpernyataan For-To-Do.Bentuk umum for do:For variabel-kontrol:=nilai awal To nilai akhir DoStatemen atau Pernyataan;Variabel kontrol, nilai awal, nilai akhir harus betipe integerContoh 1 :Buat tampilan program yang akan menampilkan tulisan ”Saya Belajar” sebanyak 5 baris.Programvari : integer;begin

Page 14: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

for i := 1 to 5 doWriteln('saya belajar pascal ');ReadLn();end.Tugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Perhatikan output program yang berisi pengulangan kemudian simpan pada Ms Worddan dikumpulkanJob SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 16 of 43Contoh 2:vari : integer;beginfor i := 1 to 5 doWriteln('saya belajar pascal ');Writeln('di SMKN2 ');Writeln('buduran sidoarjo ');ReadLn();end.Contoh 3:Jika baris yang akan dikerjakan oleh for lebih dari satu baris maka baris – baris yangakan dijalankan harus dimulai dengan begin dan di akhiri dengan end.vari : integer;beginfor i := 1 to 5 dobeginWriteln('saya belajar pascal ');Writeln('di SMKN2 ');Writeln('buduran sidoarjo ');WriteLn();end;ReadLn();end.Contoh 3:Program untuk menampilkan angka pengulangan mulai 1 sampai sepuluh.vari: integer;beginfor i := 1 to 10 doWrite(i);ReadLn();end.Contoh 4:vari: integer;

Page 15: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

beginfor i := 1 to 10 doWrite(i:4);ReadLn();End.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 17 of 43Contoh 5:Program yang digunakan untuk menampilkan bilangan prima antara 0 sampai 30.Tugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Perhatikan output program yang berisi bilangan prima, buat contoh pengujian denganbeberapa angka. kemudian simpan pada Ms Word dan dikumpulkanvari : integer;beginfor i := 2 to 30 dobeginif ((i=2) or (i=3) or (i=5) or (i=7)) thenWrite (i:3)else if ((i mod 2 <> 0) and (i mod 3 <> 0)and (i mod 5 <> 0) and (i mod 7 <> 0)) thenwrite (i:3);end;ReadLn();end.Perulangan tersarangPerulangan tersarang adalah perulangan yang berbeda di dalam perulangan yanglainnya. Perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis,kemudian perulangan yang lebih luar baru akan akan bertambah, mengerjakanperulangan yang lebh dalam lagi mulai dari nilai awalnya dan seterusnya.Contoh 6:vari,j: integer;beginfor i := 1 to 10 dobeginfor j := 1 to 5 dobeginWrite(i:8);Write(j:3);end;WriteLn();end;ReadLn();end.Perulangan negatif

Page 16: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

Perulangan negatif adalah perulangan dengan penghitung dari besar ke kecil ataupertambahan negatif. Perulangan negatif dapat dibentuk dengan menggunakanpernyataan For-DownTo-Do.Bentuk umum:For variabel-kontrol:= nilai awal DownTo nilai akhir DoStatemen atau penyataanJob SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 18 of 43Contoh 7:Program untuk menampilkan bilangan yang mulai dari 10 turun sampai ke 0programvari : integer;beginfor i := 10 downto 0 dowrite (i:3);readln;end.Contoh 8:Program untuk menampilkan bintang dalam formasi segitiga.Tugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Perhatikan output program yang menampilkan bintang dalam formasi segitiga.kemudian simpan pada Ms Word dan dikumpulkanProgram:vari,j : integer;beginfor i := 10 downto 0 dobeginfor j := 1 to i dobeginwrite ('*');end;WriteLn();end;readln;end.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 19 of 43While DoPerulangan ini menggunakan pernyataan While—Do. Pernyataan While—Do digunakanuntuk melakukan proses perulangan suatu pernyataan atau blok pernyataan terusmenerusselama kondisi ungkapan logika pada While masih bernilai logika benar.

Page 17: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

Bentuk UmumWhile kondisi Do PernyataanContoh 1:Baris i:= 0 adalah baris yang menyatakan awal pengulangan. Dan while i < 10 adalahbaris menyatakan akhr pengulangan. Baris i:= i + 1 adalah baris yang menyatakanincrement atau pengulangan naik satu step.Programvari : integer;begini := 0;while i < 10 dobeginWriteln('looping ke : ',i, ' saya belajar pascal');i:= i + 1 ;end;ReadLn();end.Program yang digunakan untuk menampilkan bilangan prima antara 0 sampai 100.menggunakan while do.Tugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Perhatikan output program yang berisi bilangan prima, catat perbedaanmenggunakan for dan while. kemudian simpan pada Ms Word dan dikumpulkanContoh 2:vari : integer;begini := 2 ;while i < 100 dobeginif ((i=2) or (i=3) or (i=5) or (i=7)) thenWrite (i:3)else if ((i mod 2 <> 0) and (i mod 3 <> 0)and (i mod 5 <> 0) and (i mod 7 <> 0)) thenwrite (i:3);i := i + 1 ;end;ReadLn();end.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 20 of 43Repeat UntilStruktur Repeat…Until digunakan untuk mengulang pernyataan-pernyataan atau blokpernyataan sampai kondisi yang diseleksi di Until terpenuhi.Bentuk mumnya adalah:Repeat pernyataan Until kondisi akhir

Page 18: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

Contoh 1:Baris i:= 0 adalah baris yang menyatakan awal pengulangan. Dan until = 10 adalahbaris menyatakan akhir pengulangan. Baris i:= i + 1 adalah baris yang menyatakanincrement atau pengulangan naik satu step.vari : integer;begini := 0 ;repeatWriteLn('looping ke : ',i,' saya belajar pascal');i := i + 1 ;until i = 10 ;ReadLn();end.Contoh 2:Program yang digunakan untuk menampilkan bilangan prima antara 0 sampai 100.menggunakan repeat until.Tugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Perhatikan output program yang berisi bilangan prima, catat perbedaanmenggunakan for, while, dan repeat. kemudian simpan pada Ms Word dandikumpulkanvari : integer;begini := 2 ;repeatbeginif ((i=2) or (i=3) or (i=5) or (i=7)) thenWrite (i:3)else if ((i mod 2 <> 0) and (i mod 3 <> 0)and (i mod 5 <> 0) and (i mod 7 <> 0)) thenwrite (i:3);i := i + 1 ;end;until i = 100 ;ReadLn();end.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 21 of 43Contoh 3:Membuat deret fibonacci:Deret fibonacci diawali dari deret 2 angka1 1Angka ini kemudian dijumlahkan menjadi angka yang ke 31 1 2Setiap angka berikutnya adalah penjumlahan dari 2 angka sebelumnya.

Page 19: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

1 1 2 3 5 8 13 21…Demikian sampai jumlah deret yang di inginkan ditampilkan. Contoh diatas adalah 8deret fibonacci.varFibonacci1, Fibonacci2 : integer;temp : integer;count,n : integer;beginwriteln ('----MEMBUAT DERET FIBONACCI ---');write ('masukkan jumlah deret : ');readln (n);count := 0;Fibonacci1 := 0;Fibonacci2 := 1;repeatwrite (Fibonacci2:3);temp := Fibonacci2;Fibonacci2 := Fibonacci1 + Fibonacci2;Fibonacci1 := Temp;count := count + 1until count = n;readln;end.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 22 of 43ProcedureProcedure atau subrutin adalah sub program yang digunakan untuk mengurangi jumlahcode dari program. Jika kita membuat program dalam bentuk yang panjang dimanaterdapat beberapa perintah yang di ulang – ulang namun bukan loop maka kita bisamenggunakan procedure.Bentuk umum dari procedure adalah:procedure Name;const(* Constants *)var(* Variables *)begin(* Statements *)end;Untuk memanggil procedure yang dibuat cukup dengan namanya.Name;Program yang ada pada procedure tidak akan dijalankan sampai nama procedurenyadipanggil.Contoh code programvari : integer;procedure cetak;

Page 20: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

beginWriteLn(' ini adalah tampilan yang berasal dari prosedur');WriteLn(' ini adalah baris kedua dari prosedur cetak');end;beginfor i := 1 to 5 docetak;ReadLn();end.PenjelasanPada prosedur diatas kita membuat prosedur bernama cetak yang berisi tulisan (iniadalah…). Sedangkan pada program utama terdapat looping atau pengulangan yangmenggunakan for untuk pengulangan pemanggilan prosedur cetak sebanyak 5Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 23 of 43Prosedur Dengan ParamaeterProsedur dengan parameter adalah prosedur yang menggunakan variabel sebagai tempatpenyimpanan hasil pengolahan dari prosedur yang dijalankan. Nilai yang dihasilkan olehprosedur dan disimpan pada variabel disebut dengan parameter.Contoh Program;vari : integer;procedure cetak (a:integer);beginWriteLn(' ini adalah tampilan ke ', a);end;beginfor i := 1 to 5 docetak (i);ReadLn();end.PenjelasanPada program diatas prosedur cetak digunakan untuk menampilkan tulisan (‘ini adalahtampilan….’) kemudian program utama akan akan memanggil prosedur teresbut dengancara looping atau pengulangan dan pada parameter cetak (a) di tukar dengan variabel (i)yang berisi peringkat pengulangan.Contoh1Procedure Hitung(A,B : integer);Var C : integer;BeginC := A + B;Writeln(‘ Nilai C = ‘,C)End;Var X,Y : integer;BeginWrite(‘Nilai X ? ‘);Readln(X);

Page 21: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

Write(‘Nilai Y ?’);Readln(Y);Hitung(X,Y);Readln();End.Contoh2vari : integer;st : string;procedure cetak (a:integer; var d:string);beginWriteLn(' ini adalah tampilan ke ', a);d:= 'dalam proses'end;beginfor i := 1 to 5 doJob SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 24 of 43cetak (i,st);WriteLn();//------ pemanggilan parameter sajaWriteLn(i);WriteLn(st);ReadLn();end.Tugas:Amati dan catat menggunakan bahasa anda sendiri tampilan program setelah dijalankan.Amati penggunaan dua variabel pada program utama dan dua variabel sebagaiparameter yang digunakan untuk menukar isi dari variabel. kemudian simpan pada MsWord dan dikumpulkanContoh 3: prosedur luas persegi dengan parametervarhasil:real;p, l : integer;procedure cetak (luas :real );beginluas:=p*l;Write('luas : ',luas:0:2);end;beginWrite('input p : ');ReadLn(p);Write('input l : ');ReadLn(l);cetak (hasil);ReadLn();end.

Page 22: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

FunctionFunction sama seperti procedure hanya saja pada function ada nilai yang dihasilkan dandikembalikan ke program utama.Bentuk umum dari function adalah:function Name (parameter_list) : return_type;Contoh program.vara, b : integer;function hasil : integer ;beginhasil:= 10;end;beginb:= 15;a:= hasil * b;WriteLn(' fungsi kali adalah ',a);ReadLn();end.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 25 of 43PenjelasanPada fungsi diatas function hasil berisi nilai 10. kemudian pada program utama terdapatvariabel (a) yang berisi perkalian antara hasil kali dengan (b). kemudian menampilkan(a).Contoh 2 program.vara, b : integer;function persegi (p:integer;l:real): real ;beginpersegi:= p*l;end;beginWrite(' input p : ');ReadLn(a);Write(' input l : ');ReadLn(b);WriteLn('hasil persegi adalah ', persegi(a,b):0:2);ReadLn();end.PenjelasanFungsi diatas adalah fungsi untuk menghitung luas persegi dimana variabel (l)Dan variabel (p) digunakan pada function. Program utama menggunakan variabel (a)dan (b) yang digunakan sebagai penukar variabel (p) dan (l). kemudian hasilnyadiletakan pada variabel (persegi).Tugas:Buat function untuk menghitung1. Luas dan keliling lingkaran

Page 23: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

2. Luas dan keliling persegi panjang3. Luas dan keliling Segitiga4. Konversi suhu dari C ke R dari R ke C, Dari C ke F dan F ke C, dari F ke R dan R keFFungsi TerbilangFungsi Terbilang ini digunakan untuk menampilkan tulisan konversi dari angka menjadihuruf. Misalnya 789 akan ditulis tujuh ratus delapan puluh sembilan. Pada prosespembuatan program ini menggunakan 2 function. Dimana function yang pertamadigunakan untuk menampilkan angka dibawah 12 dan function kedua digunakan untukmenampilkan angka sama dengan atau diatas 12.function bilang(x:longint):string;begincase x of0:bilang:='';1:bilang:='satu';2:bilang:='dua';3:bilang:='tiga';4:bilang:='empat';5:bilang:='lima';6:bilang:='enam';Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 26 of 437:bilang:='tujuh';8:bilang:='delapan';9:bilang:='sembilan';10:bilang:='sepuluh';11:bilang:='sebelas';end;end;function terbilang(x:longint):string;beginif x<12 thenterbilang := ' ' + bilang(x)else if x<20 thenterbilang:=terbilang(x-10)+'belas'else if x<100 thenterbilang:=terbilang(x div 10)+'puluh'+terbilang(x mod 10)else if x<200 thenterbilang:='seratus'+terbilang(x-100)else if x<1000 thenterbilang:=terbilang(x div 100)+'ratus'+terbilang(x mod 100)else if x<2000 thenterbilang:='seribu'+terbilang(x-1000)else if x<1000000 thenterbilang:=terbilang(x div 1000)+'ribu'+terbilang(x mod 1000)else if x<1000000000 thenterbilang:=terbilang(x div 1000000)+'juta'+terbilang(x mod

Page 24: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

1000000)elseterbilang:=terbilang(x div 1000000000)+'milyar'+terbilang(x mod1000000000);end;//-------- Program Utama ----------------//vari:longint;lanjut:char;beginrepeatwrite('masukkan angka:');readln(i);writeln('terbilang:',terbilang(i));write('Lagi? (Y/T)');readln(lanjut);until (lanjut='t')or(lanjut='T');end.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 27 of 43Operasi StringPascal menyediakan beberapa prosedur standar yang berguna untuk memanipulasistring, yaitu prosedur standar Delete, Insert, copy, concat.Delete StringDelete ini digunakan untuk membuang sejumlah karakter (jumlah yang ditunjukkanoleh nilai jumlah, mulai dari posisi tertentu (dintujukkan oleh nilai posisi) darisuatu tulisan (ditunjukkan oleh pengenal variabel string atau tulisan). Jika posisilebih besar dari panjang tulisan, maka tidak ada karakter yang akan terhapus.Bentuk umum dari prosedur ini adalah:Delete (tulisan yang akan dihapus, posisi mulai menghapus, jumlah yang dihapus)Contoh:Code Program...vartulisan: string [25];Begintulisan:='belajar pascal';delete (tulisan,9,2);writeln (tulisan);readln;End.Output ProgramContoh 2:Code Program....VarTulisan:string [10];

Page 25: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

I,j,posisi:integer;BeginTulisan:='Pascal';Writeln(tulisan);J:=length(tulisan);Posisi:=j;For I:=1 to j doBegindelete(Tulisan,posisi,1);writeln(tulisan);posisi:=j-i;End;readln;End.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 28 of 43Penjelasan code program:No Code Penjelasan1 VarTulisan:string [10];I,j,posisi:integer;Deklarasi Variabel yang akan digunakan oleh program2 Begin Mulai menjalankan program3 Tulisan:='Pascal'; Setting variabel tulisan dengan ’pascal’. Jadi variabel tulisan sama dengan’pascal’4 Writeln(tulisan); Tampilkan variabel tulisan5 J:=length(tulisan); Dapatkan panjang dari tulisan. Pada code ini program akan menghitungpanjangnya tulisan atau berapa banyak karakter yang digunakan untukmenulis pada pascal terdapat 6 karakter. Hasil dari code ini adalah integer.Jadi J sama dengan 66 Posisi:=j; Setting posisi sama dengan J. nilai dari posisi sekarang sama dengan J.7 For I:=1 to j do Ulang untuk I mulai dari 1 sampai J atau panjang tulisan.8 Begin Mulai pengulangan statemen atau pernyataan9 delete(Tulisan,posisi,1); Delete atau hapus. Tulisan yang dihapus adalah ’pascal’ posisi yang dihapusadalah J karena J sama dengan posisi (lihat no 6). Dan jumlah yang dihapusadalah 1.10 writeln(tulisan); Tampilkan tulisan yang telah dihapus (’pasca’). Ulangi sampai j = 111 posisi:=j-i; Posisi sama dengan J dikurangi i (posisi:= 5-1)12 End; Akhir statatemen dan kembli ke (no 8) for do sampai nilai akhir for do14 readln; Tampilkan kursor di akhir program agar tidak langsung menutup.15 End. Akhir dari programOutput ProgramInsert StringInsert ini digunakan untuk menyisipi suatu string (dintujukkan oleh s2) denganstring yang lainnya (dintujukkan oleh s1) mulai posisi yang ditentukan oleh nilai posisi.

Page 26: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

Bila hasil dari penyisipan string menghasilkan string yang panjangnya lebih dari 255karakter, maka yang akan ditampilkan hanya sampai dengan 255 karakter saja.Betuk umumnya:Insert (asal string,tujuan penambahan,Posisi penambahan)Contoh:Code programvars1, s2 : string;begins1:='Tidak ';s2:='Saya Suka Kamu';insert(s1,s2,6);writeln(s2);readln;End.Output ProgramJob SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 29 of 43Length StringLength ini digunakan untuk mengetahui panjang string atau tulisan. Hasil dari lengthadalah bilangan integer.Bentuk umum dari Length adalah:length (tulisan)Contoh:Buat program yang digunakan untuk menghitung panjang tulisan ’saya belajar pascal’.Code program...varpanjang : integer;tulisan : string;begintulisan:= 'saya belajar pascal';panjang:= length (tulisan);writeln (panjang);readln;end.Output programCopy StringCopy string ini kita dapat mengcopy string dari string asal yang dimulai dari posisi yangsudah ditentukan sebanyak karakter yang ingin dicopy. Hasil dari operasi ini adalahstring.Bentuk umum copy adalah:copy (tulisan,Posisi awal yang di copy,banyaknya karakter yang di copy)Contoh:Code program...var

Page 27: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

tulisan, hasil : string;begintulisan:= 'saya belajar pascal';hasil:= copy (tulisan,6,7);writeln (hasil);readln;end.PenjelasanPada program diatas perintah copy akan mengcopy tulisan ’saya belajar pascal’ mulaidari karakter ke 6 dan yang dicopy sebanyak 7 karakter.Output ProgramJob SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 30 of 43Contoh kombinasi copy dan insert...vartulisan, hasil, sisip : string;begintulisan:= 'saya belajar pascal';hasil:= copy (tulisan,6,7);sisip := 'saya program';insert(hasil,sisip,6);writeln (sisip);readln;end.Output ProgramConCatFungsi standar ini mempunyai operasi yang sama dengan operator ’+’ yaitumerangkai beberapa nilai string yang dintunjukkan oleh nilai S1, S2, … Sn.Bentuk Umumnya:ConCat(string1,string2,..String ke N)Contoh:…consts1= 'saya';s2= 'belajar';s3= 'pascal';vartulisan: string;begintulisan:= concat (s1,' ',s2,' ',s3);writeln (tulisan);readln;end.Output programJob SheetUntuk SMK Jurusan RPL

Page 28: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

Oleh : Isa Hamdan.Page 31 of 43Array (Larik)Definsi LarikSuatu larik (array) adalah tipe terstruktur yang terdiri dari sejumlah komponenkomponenyang mempunyai tipe sama. Suatu larik mempunyai jumlah komponenyang banyaknya tetap. Banyaknya komponen dalam suatu larik ditunjukkan oleh suatuindeks yang disebut tipe indeks. Tipe indeks ini berbentuk ungkapan tipe ordinal(tipe data yang berurutan). Tiap-tiap komponen pada larik dapat diakses denganmenunjukkan nilai indeksnya.Contoh:Kita mempunyai:larik bunga yang berisi data {mawar, melati, anggrek}larik hari yang berisi data {senin, selasa, rabu, kamis, jumat, sabtu, minggu}Array Satu DimensiLarik ini memiliki data yang berurutan dengan satu jenis yang sama dan tidak berbentuktabel.Dari contoh diatas dapat di gambarkan:Larik bungamawar melati AnggrekIndeks 1 Indeks 2 Indeks 3Dari gambar diatas jika kita ingin menampilkan bunga melati maka kita cukupmemanggil nomer indeks nya saja.Bentuk umum array satu dimensi adalah:Nama larik : array [jumlah indeks] of tipe dataDeklarasi arrayDari contoh bunga diatas dapat di deklarasikan array sebagai berikut:varbunga : array[1..3] of string;beginbunga [1]:='mawar';bunga [2]:='melati';bunga [3]:='anggrek';write (bunga [1]);readln;end.Contoh 2varbunga : array[1..3] of string;x : integer;beginbunga [1]:='mawar';bunga [2]:='melati';bunga [3]:='anggrek';write ('Masukkan Pilihan anda :');readln (x);writeln ('bunga yang anda pilih adalah :',bunga [x]);readln;end.

Page 29: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 32 of 43Contoh 3varbunga : array[1..10] of string;i : integer ;beginfor i := 1 to 3 dobeginWrite('input nama bunga : ');ReadLn(bunga[i]);end;WriteLn();writeln ('bunga yang anda masukan adalah : ');for i := 1 to 3 dobeginWriteln('bunga ke : ',i,' ', bunga[i]);end;readln;end.Contoh 4…varx:array[1..10] of integer;i,jum,n : integer;beginjum:=0;write('Masukkan data =');readln(n);for i:= 1 to n dobeginwrite('Data ke-',i ,'=');readln(x[i]);jum:=jum+x[i];end;writeln('Jumlah = ',jum);readln;end.Konversi Desimal ke BinerKonversi bilangan desimal ke biner ini menggunakan array yang digunakan untukmenyimpan hasil konversi bilangan. Logika program adalah sebagai berikut:Q: bilangan desimal yang dimasukanB: array [1..00] yang digunakan untuk menyimpan hasil konversiMisalnya bilangan desimal yang akan dikonversi adalah 95Looping Pembagian (Q) Hasil bagi Sisa (array biner)1 95/2 47 12 47/2 23 1

Page 30: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

3 23/2 11 14 11/2 5 15 5/2 2 16 2/2 1 07 ½ 0 1Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 33 of 43Looping bisa menggunakan Repeat – until atau While do karena kondisi pengulanganakhirnya tidak diketahui untuk konversi bilangan yang berbeda.Berikut adalah program konversi desimal ke binervari, q, n : integer;b : array [1..100] of integer;beginWrite('input desimal : ');ReadLn(q);I := 1;repeatB[I] := Q mod 2 ;Q := Q div 2 ;I := I + 1 ;until Q = 0 ;Write('hasil konversi : ');for n:= i-1 downto 1 dowrite(B[n]);ReadLn();end.Konversi Biner Ke Desimal Tanpa Arrayvar no,sum,x,rem,n:integer;beginwriteln('Masukan Bilangan BINER : ');read(no);sum:=0;n:=1;while no>0 dobeginrem:=no mod 10;no:=no div 10;rem:=rem*n;sum:=sum+rem;n:=n*2;end;writeln(sum);read(x);end.Konversi Biner Ke Desimal Dengan ArrayVar

Page 31: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

Binary:string;Len:integer;base:integer;counter:integer;Result:integer;Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 34 of 43Beginwriteln('Enter a binary number: ');Readln(Binary);Len:= Length(binary);Base:=1;Result:=0;For counter:=1 to Len dobegin;if (Binary[counter]='1') thenresult:= result+ base;base:=base*2;end;writeln(result);ReadLn();end.Array Dua DimensiArray dua dimensi terdiri indeks yang menunjukan baris dan kolom, pada tabel dibawahini terdapat 3 indeks baris dan 4 indeks kolom. Pada tabel dibawah. Baris ditandaidengan warna biru dan kolom ditandai dengan merah hati.Contoh 1.Untuk mengetahui berapa nilai yang didapat eko pada pelajaran delphi?Penyelesaian:Eko terdapat pada baris ke 2 dan delphi terdapat pada kolom ke 3 jadi nilai eko untukpelajaran delphi adalah [2,3] baris ke 2 dan kolom ketiga yang berisi nilai 11.Contoh 2:Berapa nilai yang didapat rudi pada pelajaran java?Penyelesaian.Rudi ada pada baris ke 3 dan java ada pada kolom ke 4 jadi nilai rudi pada pelajaranjava adalah [3,4] yang berisi nilai 16.1 2 3 4Algoritma Pascal Delphi Java1 Adi 5 6 7 82 Eko 9 10 11 123 Rudi 13 14 15 16Deklarasi array 2 dimensinilai :array[1..3, 1..4] of integer ;Nilai : nama arrayArray : deklarasi array1..3 : jumlah baris1..4 : jumlah kolom

Page 32: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

Integer : tipe data yang digunakan.Contoh:varnilai :array[1..3, 1..4] of integer ;x,y : integer;beginJob SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 35 of 43nilai [1,1]:= 5;nilai [1,2]:= 6;nilai [1,3]:= 7;nilai [1,4]:= 8;nilai [2,1]:= 9;nilai [2,2]:= 10;nilai [2,3]:= 11;nilai [2,4]:= 12;nilai [3,1]:= 13;nilai [3,2]:= 14;nilai [3,3]:= 15;nilai [3,4]:= 16;write ('masukan pilihan baris : ');read (x);write ('masukan pilihan kolom : ');read (y);write ('nilai pada baris ',x, ' dan kolom ',y, ' adalah : ', nilai[x,y]);readln;readln;end.Array Multi DimensiArray multi dimensi adalah array yang mempunyai lebih dari 2 komponen indeks yangdigunakan sebagai tempat penyimpanan data. Sebagai contoh kita gunakan array 3dimensi dibawah ini.xYZ1 2 312321Pada array 3 dimensi data array akan disimpan pada baris x, kolom y, dan sumbu z.untuk mendapatkan isi dari array kita harus menyebutkan indeksnya.Deklarasi array multi dimensinilai :array[1..3, 1..3, 1..2 ] of integer ;Job Sheet

Page 33: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

Untuk SMK Jurusan RPLOleh : Isa Hamdan.Page 36 of 43Penjumlahan MATRIKSPada array 3 dimensi data array akan disimpan pada baris x, kolom y, dan sumbu z.untuk mendapatkan isi dari array kita harus menyebutkan indeksnya.Deklarasi array multi dimensiContoh 1varangka : array [1..3, 1..3] of integer;jumlahX, jumlahY : array [1..3] of integer;i, j : integer;begin//--------- PENGULANGAN INPUT DATA MATRIKS -------------------for i := 1 to 3 dofor j := 1 to 3 dobeginWrite('masukan angka pada ', i , j ,' : ');ReadLn(angka[i,j]);end;//--------- PENGULANGAN PENJUMLAHAN MATRIKS -------------------for i := 1 to 3 dofor j := 1 to 3 dobeginjumlahX[i] := angka [i,j] + jumlahX[i];jumlahY[i] := angka [j,i] + jumlahX [i];end;//-------- PENGULANGAN MENAMPILKAN HASIL PENJUMLAHAN MATRIKS ---------for i := 1 to 3 dobeginWriteLn('jumlah sumbu X ke : ',i,jumlahX[i]);WriteLn('jumlah sumbu Y ke : ',j,jumlahY[j]);end;ReadLn();end.Contoh 2. . . . . . . .constkolom = 25;baris = 25;typematrix = array [1..baris, 1..kolom] of integer;varmatrix_A, matrix_B : matrix;a, b : integer;procedure InputMatrix(var x:matrix);vari,j:integer;

Page 34: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

beginfor i:=1 to a dobeginfor j:=1 to b dobeginJob SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 37 of 43Write('Masukan Elemen[',i,', ',j,'] : ');readln(x[i,j]);end;end;end;{----Cetak Matrix----}procedure CetakMatrix(var x:matrix);vari,j:integer;beginfor i:=1 to a dobeginfor j:=1 to b dobeginWrite(x[i,j]:4);end;writeln;end;end;{----Penjumlahan Matrix----}procedure JumlahMatrix(var x,y:matrix);varz:matrix;i,j:integer;beginfor i:=1 to a dobeginfor j:=1 to b dobeginz[i,j]:=x[i,j] + y[i,j];Write(z[i,j]:4);end;writeln;end;end;{----Program Utama----}beginwrite('Masukan Jumlah Baris : ');readln(a);write('Masukan Jumlah Kolom : ');readln(b);if (a>25) or (b>25) thenbegin

Page 35: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

writeln('Ada kesalahan ! max kolom dan baris adalah 25.');exit;end;clrscr;writeln('Input Martix A');InputMatrix(matrix_A);writeln;Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 38 of 43writeln('Input Martix B');InputMatrix(matrix_B);clrscr;writeln('Matrix A');CetakMatrix(matrix_A);writeln;writeln('Matrix B');CetakMatrix(matrix_B);writeln;writeln('Pemjumlahan Matrix A dan Matrix B');JumlahMatrix(matrix_A,matrix_B);ReadLn();end.Pengurutan Data (Sorting)Pengurutan data digunakan untuk mengurutkan sejumlah data yang dimasukan.Misalnyarangking siswa, atau peringkat siswa. Pengurutan data menggunakan array dimanasetiap data akan mendapatkan nomor indeks. Isi data dari setiap indeks akandibandingkan dari indeks yang pertama sampai indeks data yang terakhir.Contoh :vara: array[1..5] of Integer;i, j, tmp: Integer;begina[1] := 23;a[2] := 45;a[3] := 12;a[4] := 56;a[5] := 34;for i := 1 to 4 dofor j := i + 1 to 5 doif a[i] > a[j] thenbegintmp := a[i];a[i] := a[j];a[j] := tmp;end;for i := 1 to 5 dowriteln(i,': ',a[i]);

Page 36: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

readln;end.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 39 of 43Terdapat array a. Dengan 5 data23 45 12 56 34Index 1 Index 2 Index 3 Index 4 Index 5Kita akan buat urutan array atau nomor indeks dengan [I]Dan urutan setelah [I] atau (I + 1) dengan [J]I J23 45 12 56 34Index 1 Index 2 Index 3 Index 4 Index 5Proses pengurutan data adalah dengan menukar kedua nilai antara I dan J. Agar nilaidapat berpindah dan bergeser ke nilai berikutnya maka kita perlu tempat untukmenyimpan nilai yang lebih kecil. Tempat sementara tersebut kita sebut dengan [Temp]I J23 45 12 56 34Index 1 Index 2 Index 3 Index 4 Index 5TempLangkah pengurutan adalah dengan membandingkan nilai pada index 1 atau [I] danindeks seudahnya atau [J]. Jika nilai I lebih besar dari nilai J maka nilai J akan disimpandi [Temp]. Nilai [J] yang kosong akan di isi oleh Nilai [I] dan nilai [I] yang kosong akandi isi oleh nilai dari [Temp]. Perhatikan siklus pertukaran isi data pada indeks [I] dan [J].Pengulangan ini akan terus sebanyak indeks data yang dimasukkan....const Nmaks = 100;varA: array [1..Nmaks] of integer;I,j,N,temp : integer;beginwrite ('banyaknya data yang diurutkan :');readln(N);for I:=1 to N dobeginwrite('A[',i,'] =');readln(A[i]);end;for i:=1 to N dofor j:=i to N dobeginif A[i]>A[j] thenbegintemp:=A[i];A[i]:=A[j];A[j]:=temp;end;Job SheetUntuk SMK Jurusan RPL

Page 37: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

Oleh : Isa Hamdan.Page 40 of 43end;for i:=1 to n dowrite(A[i]:5,' ');readln;end.Pencarian Data (Searching)Pencarian data adalah proses membandingkan data antara data yang dimasukan ataudata yang akan dicari dengan sejumlah data yang sudah ada. Data yang ada biasanyadisimpan dalam sebuah array. Pencarian data dengan cara cepat adalah membandingkanindeks array dari depan dan belakang.Contoh :…varL: array[1..10] of integer;bil,i,j,k: integer;ketemu: boolean;beginwrite('Angka yang dicari= ');readln(bil);L[1]:=1;L[2]:=3;L[3]:=5;L[4]:=7;L[5]:= 9;L[6]:=11;L[7]:=13;L[8]:=15;L[9]:=17;L[10]:=19;ketemu:=FALSE;i:=1;j:=10;while (i<=j) and (not ketemu) do begink:=(i+j) div 2;if (L[k]=bil) thenketemu:=TRUEelse if (L[k]>bil) thenj:=k-1elsei:=k+1;end;if ketemu thenwriteln('Ditemukan! ')elsewriteln('Tidak ditemukan!');readln;end.

Page 38: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

Penjelasan.Pada proses pencarian data diatas dapat dibuat prosesnya sebagai berikut:Terdapat array LIndeks1Indeks2Indeks3Indeks4Indeks5Indeks6Indeks 7 Indeks8Indeks9Indeks101 3 5 7 9 11 13 15 17 19I JJob SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 41 of 43Pada array L terdapat sepuluh data yang masing – masing data diberi indeks oleh arraydari 1 sampai 10.proses pencarian diawali dengan membagi indeks array menjadi 2. indeks yang ke 1sampai ke 5 dan indeks ke 6 sampai ke 10. indeks dari 1 sampai 5 akan dicari oleh [I]dan indeks yang ke 6 sampai 10 akan dicari oleh [J]. jika data sudah ditemukan oleh Jmaka pencarian pada I tidak perlu dilakukan lagi. Demikian juga sebaliknya. Dengan caraini maka waktu pencarian bisa lebih cepat terutama pada proses pencarian data yangmelibatkan data ribuan.Latihan1. Buat algoritma menggunakan flowchart dan program untuk menghitung segi tiga,lingkaran, bujur sangkar, trapesium, belah ketupat, polygon, dan Hexagon.Pentunjuk pengerjaan1. Cari rumus setiap bangun yang akan dihitung2. Deklarasikan variabel yang digunakan3. Deklarasikan variabel hasil4. Tampilkan data yang di proses5. Tampilkan hasil dari proses6. selesai2. Buat program untuk menampilkanPetunjuk menampilkan dua digit dibelakang koma. [writeln ('Average = ',Average:0:2);]3. Buatlah algoritma untuk menghitung konversi suhu.dari Celcius menjadi Reamur dan

Page 39: Job Sheet Untuk SMK Jurusan RPL Algoritma Dasar

Farenheit. Input: suhu dalam CelciusProses: R = 4/5 * C dan F = 9/5 * C + 32Output: suhu dalam Reamur dan Farenheit4. Buatlah algoritma untuk mencari sisi miring dari suatu segitiga siku-siku, jikadiketahui panjang sisi yang membentuk sudut siku-siku. Input: a dan b, yaitupanjang sisi pembentuk sudut siku-sikuProses: c = √(a2 + b2)Petunjuk :Untuk menampilkan akar adalah:Sqrt (nilai yang di akarkan)5. Buatlah algoritma untuk untuk menghitung akar-akar persamaan kuadrat denganrumus D = B2 – 4 * A * CJika D < 0 maka didapat akar imajinerJika D = 0 maka X1 = X2 yang didapat dari D = -B / (2 * A)Jika D > 0 maka ada dua akar X1 = -B +√ (D/ 2 * A) dan X2= -B - +√ (D/ 2 * A)Ouput: sisi miring (c)6. Buatlah algoritma untuk mengecek bilangan di antara 2 bilangan masukan, apakahsama ataukah lebih besar salah satunya, dan tampilkan hasilnya.Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 42 of 437. Buatlah program untuk menghitung volume Tabung (Rumus Volume Tabung : phi xjari-jari x jari-jari x tinggi) dan Luas Tabung (Rumus Luas tabung : 2 x phi x jari-jarix tinggi )dimana jari-jari 7 dan tinggi 24.8. Buat Program untuk menampilkan sejumlah deret bilangan ganjil antara 1 sampaiN, dimana N dimasukkan oleh user.9. Buatlah program dalam bentuk menu yang mampu menghitung :a. Luas dan Keliling Bujur sangkarb. Luas dan Keliling persegi panjangc. Luas dan keliling lingkaran10. Buatlah program untuk mencetak deret 10 9 8 7 6 5 4 3 2 111. Buatlah program untuk mencetak (gunakan perulangan while atau for)* * * ** * ** **12. Buatlah program yang menampilkan 5 buah bilangan, yaitu mulai dari bilanagn ke 5sampai bilangan ke 1 dengan nilai awal bilangan 8. Tampilan bilangan tersebutadalah menurun dan contohnya adalah : bilangan ke 5, i=3 (diperoleh dari 8-5) danseterusnya sampai bilangan 1, i=7 (diperoleh dari 8-1=7)Job SheetUntuk SMK Jurusan RPLOleh : Isa Hamdan.Page 43 of 43Type , Set, RecordType