Transcription

Catatan KuliahLatihan SoalPemrograman Komputer Idisusun olehNanda Arista Rizki, M.Si.PROGRAM STUDI MATEMATIKAFAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAMUNIVERSITAS MULAWARMAN2019

Daftar IsiDaftar Isii1 Pengenalan Bahasa Pascal11.1Soal Pendahuluan . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11.2Perulangan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51.3Larik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61.4Prosedur dan Fungsi . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.5Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15i

BAB 1Pengenalan Bahasa PascalSelain Free Pascal (offline software), Anda dapat menggunakan Online PascalCompiler seperti https://rextester.com/l/pascal online compiler, https://ideone.comatau compiler lainnya.1.1Soal Pendahuluan1. Apakah sintaks berikut ada yang salah? Jika salah, maka perbaiki kesalahannya! Jika benar, maka tuliskan hasil outputnya!123PROGRAM soal1Uses Crt;Var45678BeginWrite('Soal Nomor 1');read;End2. Apakah sintaks berikut ada yang salah? Jika salah, maka perbaiki kesalahannya! Jika benar, maka tuliskan hasil outputnya!1PROGRAM soal2;1

2Uses CRT;34567begINWrite('Soal Nomor 2');readln();enD.3. Apakah sintaks berikut ada yang salah? Jika salah, maka perbaiki kesalahannya! Jika benar, maka tuliskan hasil outputnya!12345PROGRAM soal3;Uses CRT;VAR x:integer;beginWrite('Soal Nomor 3');writeln('x ');readln(x);writeLN('x 1 ',x 1);end.4. Apakah sintaks berikut ada yang salah? Jika salah, maka perbaiki kesalahannya! Jika benar, maka tuliskan hasil outputnya!12345678PROGRAM soal4;Uses CRT;Var x:integer;beginWrite('Soal Nomor 4');beginend;end.5. Apakah sintaks berikut ada yang salah? Jika salah, maka perbaiki kesalahannya! Jika benar, maka tuliskan hasil outputnya!123456PROGRAM 5soal5;Use CRT;Var x:integer;beginWrite(Soal Nomor 5);READLN;Pemrograman Komputer I2Nanda Arista Rizki, M.Si.

7end.6. Apakah sintaks berikut ada yang salah? Jika salah, maka perbaiki kesalahannya! Jika benar, maka tuliskan hasil outputnya!1Uses CRT;234567beginWrite('Soal Nomor 6');x: 10;READ;end.7. Apakah sintaks berikut ada yang salah? Jika salah, maka perbaiki kesalahannya! Jika benar, maka tuliskan hasil outputnya!123PROGRAM soal7;Uses CRT;x:string;456789beginWrite('Soal Nomor 7');x: 10;READLN;end.8. Apakah sintaks berikut ada yang salah? Jika salah, maka perbaiki kesalahannya! Jika benar, maka tuliskan hasil outputnya!12345PROGRAM soal8;BeginUses CRT;Write('Soal Nomor 8');end.9. Apakah sintaks berikut ada yang salah? Jika salah, maka perbaiki kesalahannya! Jika benar, maka tuliskan hasil outputnya!Pemrograman Komputer I3Nanda Arista Rizki, M.Si.

1234567891011PROGRAM soal9;Uses CRT;VAR x:integer;beginWrite('Soal Nomor 9');x: 1;repeatx: x 1;writeln('x 1 ',x);until x 10end.10. Apakah sintaks berikut ada yang salah? Jika salah, maka perbaiki kesalahannya! Jika benar, maka tuliskan hasil outputnya!12345678910111213PROGRAM soal10;Uses CRT;VAR x:integer;beginWrite('Soal Nomor 10');x: 10;while x 0 DOBEGINx: x 1;writeln(x);END;writeend.Pemrograman Komputer I4Nanda Arista Rizki, M.Si.

1.2Perulangan1. Buatlah program dengan menggunakan perintah write dan perulangan, yangdapat menampilkan angka 1 sebanyak n kali, seperti berikut ini. 11111111{z · · · 1}n kali2. Buatlah program dengan menggunakan perintah writeln dan perulangan,yang dapat menampilkan angka 1 sebanyak n kali, seperti berikut ini.1 1 1 n kali . . 1 3. Buatlah program dengan menggunakan perintah writeln dan perulangan,yang dapat menampilkan barisan aritmatik sebanyak n kali, seperti berikutini. 1 2 3 n kali . . n 4. Buatlah program dengan menggunakan dua buah perulangan, yang dapat menampilkan hasil berikut ini.111 · · · 1 222 · · · 2 333 · · · 3n kali . . nnn · · · n {z}m kali5. Buatlah program dengan menggunakan dua perulangan dan kondisi if, yangdapat menampilkan hasil berikut ini.122333Pemrograman Komputer I5Nanda Arista Rizki, M.Si.

1.3Larik1. Misalkan A adalah matriks 3 3 yang didefinisikan sebagai berikutijA(i, ingga elemen ke (i, j) untuk matriks A dapat dinyatakan sebagaiA(i, j) i j,untuk i 1, 2, 3 dan j 1, 2, 3. Buatlah program yang menyatakan matriksA tersebut menggunakan array dan perulangan!2. Misalkan B adalah matriks 3 3 yang didefinisikan sebagai berikutPemrograman Komputer IijB(i, j)111*1121*2131*3210222*2232*3310320333*36Nanda Arista Rizki, M.Si.

Sehingga elemen ke (i, j) untuk matriks B dapat dinyatakan sebagai(B(i, j) i j, i j0,lainnyauntuk i 1, 2, 3 dan j 1, 2, 3. Buatlah program yang menyatakan matriksB tersebut menggunakan array, perulangan, dan pengkondisian if-else!3. Misalkan C adalah matriks 3 3 yang didefinisikan sebagai berikutijC(i, 3*3Sehingga elemen ke (i, j) untuk matriks C dapat dinyatakan sebagai(C(i, j) i j, i j1 j, lainnyauntuk i 1, 2, 3 dan j 1, 2, 3. Buatlah program yang menyatakan matriksC tersebut menggunakan array, perulangan, dan pengkondisian if-else!4. Misalkan D adalah vektor dengan panjang 5 yang didefinisikan sebagaiPemrograman Komputer IiD(i)1121 231 2 341 2 3 451 2 3 4 57Nanda Arista Rizki, M.Si.

Oleh karena itu, elemen ke i untuk vektor D dapat dinyatakan sebagai(1,i 1D(i 1) i, i 2, 3, 4, 5D(i) Buatlah program yang menyatakan vektor D tersebut menggunakan array danperulangan!5. Misalkan sigma D 5Pi adalah elemen ke 5 vektor D untuk soal Nomor 4.i 1Buatlah program yang menyatakan vektor D dan variabel sigma D tersebutmenggunakan array dan perulangan!6. Misalkan E adalah vektor dengan panjang 5 yang didefinisikan sebagaiiE(i)1121 431 4 941 4 9 1651 4 9 16 25Oleh karena itu, elemen ke i untuk vektor E dapat dinyatakan sebagai(E(i) 1,i 1E(i 1) i i, i 2, 3, 4, 5Buatlah program yang menyatakan vektor E tersebut menggunakan array danperulangan!7. Misalkan sigma E 5Pi2 adalah elemen ke 5 vektor E untuk soal Nomor 6.i 1Buatlah program yang menyatakan vektor E dan variabel sigma E tersebutmenggunakan array dan perulangan!8. Buatlah program yang dapat menghitung5Pi3 dengan menggunakan arrayi 1dan perulangan!9. Buatlah program yang dapat menghitung5Pi2 i3 dengan menggunakan arrayi 1dan perulangan!Pemrograman Komputer I8Nanda Arista Rizki, M.Si.

10. Buatlah program dengan menggunakan perulangan for, yang dapat menampilkan array seperti berikut iniPemrograman Komputer .0000.11223344······999901009Nanda Arista Rizki, M.Si.

1.4Prosedur dan Fungsi1. Berikanlah jawaban B jika pernyataan berikut adalah benar, dan jawaban Sjika pernyataan berikut adalah salah!(a) Suatu fungsi selalu memiliki satu atau lebih parameter.(b) Suatu prosedur mungkin memiliki satu atau lebih parameter.(c) Suatu fungsi selalu memberikan nilai hasil.(d) Suatu prosedur tidak dapat menghasilkan nilai.(e) Dalam pendefinisian prosedur, parameter yang digunakan harus didahulukan dengan menulis kata kunci VAR.(f) Nama fungsi dapat diberi nilai.2. Manakah fungsi yang tepat digunakan untuk menentukan suatu bilangan apakah merupakan bilangan genap atau ganjil. Fungsi tersebut akan bernilaiTRUE apabila bilangan yang diperiksa adalah genap dan bernilai FALSEapabila ganjil.(a) Sintaks ke 1.1234function cek(x: integer): boolean;begincek : boolean(x div 2);end;(b) Sintaks ke 2.1234function cek(x: integer): boolean;begincek : not boolean(x div 2);end;(c) Sintaks ke 3.1function cek(x: integer): boolean;Pemrograman Komputer I10Nanda Arista Rizki, M.Si.

234begincek : boolean(x mod 2);end;(d) Sintaks ke 4.1234function cek(x: integer): boolean;begincek : not boolean(x mod 2);end;(e) Sintaks ke 5.1234function cek(x: integer): boolean;begincek : boolean(x mod 2) 0;end;3. Buatlah program menggunakan prosedur yang dapat menuliskan ”Saya SukaPemrograman”!4. Perhatikan prosedur berikut1234Procedure kuadrat(var a: integer; b: Integer);Begina: b*b;End;567Varhasil: teln(hasil);End.Tentukan berapakah nilai yang ditampung di dalam variabel hasil!Pemrograman Komputer I11Nanda Arista Rizki, M.Si.

5. Perhatikan prosedur berikut1234procedure kali(x,y: integer; var z: integer);beginz: x*y;end;567varhasil: integer;8910111213beginkali(2,3, hasil);write(hasil);readln;end.Tentukan berapakah nilai yang ditampung di dalam variabel hasil! Selanjutnyajelaskan penggunaan kata kunci var dalam parameter tersebut!6. Diketahui fungsi untuk menghitung luas segitiga adalah sebagai berikut:L(a, t) 0.5 a t,dengan a dan t berturut-turut menyatakan panjang alas dan tinggi segitiga.Buatlah program menggunakan function untuk menghitung luas segitiga tersebut!hi7. Diberikan X x1 x2 · · · xn yang bertipe array dengan panjang n. Buatlah program dengan menggunakan function untuk menghitung rumus berikutnPxbar(X, n) xii 1n8. Berdasarkan function yang telah dibuat pada soal Nomor 6, buatlah programdengan menggunakan function untuk menghitung rumus berikutsd(X, n, xbar) Pemrograman Komputer I12vnuPu (xi xbar)2ti 1nNanda Arista Rizki, M.Si.

9. Misalkan A matriks berukuran 2 2 dengan elemen-elemennya didefinisikansebagai berikut"#a1 a2A a3 a4Jika diketahui rumus untuk menghitung determinan dari matriks A tersebutadalah1,D(A) a1 a4 a2 a3maka buatlah suatu program yang dapat menghitung determinan matriks 2 2dengan menggunakan function!10. Dalam permainan menara Hanoi, banyaknya langkah minimum jika diberikann tumpukan adalah(hanoi(n) 1,n 12 hanoi(n 1) 1, n 1Buatlah program yang dapat menghitung banyaknya langkah minimum untukmenyelesaikan permainan ini, dengan menggunakan recursive function!11. Jika diketahui solusi persamaan beda untuk masalah menara Hanoi adalahhanoi(n) 2n 1 n 1,maka buatlah program dengan menggunakan function yang dapat menghitungbanyaknya langkah minimum untuk menyelesaikan permainan ini (diberikann tumpukan)!12. Didefinisikan fungsi tambah yang dihitung secara rekursif berikuttambah(0, x) xtambah(n 1, x) tambah(n, x) 1,untuk n 0, dan n, x Z.Pemrograman Komputer I13Nanda Arista Rizki, M.Si.

Sebagai contoh, misalkan ingin menghitung hasil penjumlahan dari 2 dan 3,maka2 3 tambah(2, 3) tambah(1, 3) 1 (tambah(0, 3) 1) 1 (3 1) 1 4 1 5,karena tambah(0, 3) 3. Buatlah program yang dapat menghitung hasilpenjumlahan dari 4 dan 8, dengan menggunakan metode ini!Pemrograman Komputer I14Nanda Arista Rizki, M.Si.

1.5Record1. Buatlah sebuah program menggunakan record untuk menampilkan beberapaidentitas dari Mahasiswa!2. Buatlah sebuah program menggunakan record untuk menampilkan nama,kode, semester, dan SKS dari Mata kuliah!3. Buatlah sebuah program menggunakan record untuk menyatakan hari, waktukuliah, mata kuliah, ruang kuliah, semester, dan SKS dari Jadwal mata kuliah!Pemrograman Komputer I15Nanda Arista Rizki, M.Si.

maka buatlah program dengan menggunakan function yang dapat menghitung banyaknya langkah minimum untuk menyelesaikan permainan ini (diberikan n tumpukan)! 12.Dide nisikan fungsi tambah yang dihitung secara rekursif berikut tambah(0;x) x tambah(n 1;x) tambah(n;x) 1; untuk n 0, dan n;x 2Z. Pemrograman Komputer I 13 Nanda Arista Rizki, M.Si.