Soal Pemrograman Comptius untuk Lebaran Berikut ini adalah soal-soal pemrograman untuk latihan selama libur Lebaran (2 kali pertemuan Comptius dihilangkan). Soal ini terdiri dari 4 bagian @ 2 soal dan 1 bagian @ 1 soal. Anda diperbolehkan mengerjakan salah satu soal untuk setiap bagian. Tetapi akan lebih baik bila anda mengerjakan seluruh soal untuk melatih kemampuan pemrograman anda. Kesembilan soal yang terdapat dalam file ini merupakan soal dengan materi sampai pada looping. Saya sendiri tidak memasukkan array ke dalam soal karena array harus diperlajari lebih mendalam sebelum diberi soal latihan. Jawaban dikumpulkan pada pertemuan pertama setelah libur Lebaran dalam bentuk hard-copy yaitu di-print. Sertakan nama dan kelas karena hasil penilaian akan dimasukkan sebagai nilai ekstrakurikuler. Bila Anda menemui kesulitan dalam mengerjakan soal, anda dapat membaca contoh soal pada bagian akhir dari soal-soal berikut ini. Selain itu kalau bingung juga bisa email ke email saya di [email protected] atau [email protected] atau Yahoo Messenger dengan username “william_trans” lewat SMS dari nomor HP yang sudah pernah saya umumkan ke Anda semua. Akhir kata, saya ucapin selamat berlibur dan berlebaran. Jangan lupa untuk seringsering latihan supaya lebih jago lagi pemrogramannya. Soalnya dari pengalaman saya dan orang-orang lain, yang bikin kita mampu untuk pemrograman adalah latihan. ;) Selamat mengerjakan, William (Digimaster Etersoul) PS: Peace yooo... Bukan maksud bikin liburan u hancur gara-gara ada soal ini... Cuma latihan memang harus ada kan di setiap pembelajaran. Hehehe... Klo u semua cape bikin soalnya, gue sendiri cape bikin soalnya trus nanti bakal cape ngoreksinya... Impas kan? Hope the best from all of you... :D Kerjakan 1 soal dari 2 soal pilihan berikut ini. HINT: Keempat soal berikut ini menggunakan looping sederhana. 1. Buat program untuk membentuk segitiga dari bilangan yang di-input. Segitiga terbentuk dari bintang (*). Bilangan input yang valid adalah antara 1 sampai 20. Contoh input 1: 5 Contoh output 1: * ** *** **** ***** Contoh input 2: 3 Contoh output 2: * ** *** 2. Buat program untuk membentuk persegi dari bilangan yang di-input. Persegi terbentuk dari pagar (#). Bilangan input yang valid adalah antara 1 sampai 20. Contoh input 1: 5 Contoh output 1: ##### ##### ##### ##### ##### Contoh input 2: 3 Contoh output 2: ### ### ### Kerjakan salah 1 dari 2 soal berikut ini. HINT: Kedua soal yang ada di bawah ini menggunakan algoritma perhintungan dan looping sederhana. 3. Buat program untuk membentuk deret bilangan antara 0 sampai 9 sesuai dengan jumlah satuan dari urutan bilangan tersebut. Bilangan input yang valid adalah antara 0 sampai 5000. Contoh input 1: 31 Contoh output 1: 1234567890123456789012345678901 Contoh input 2: 10 Contoh output 2: 1234567890 4. Buat program untuk membentuk deret fibbonaci sebanyak bilangan yang diinput. Deret dibentuk ke samping dan dipisahkan dengan spasi. Deret fibonnaci merupakan deret di mana angka yang dibentuk merupakan penjumlahan dari 2 angka sebelumnya. Deret ini selalu dimulai dari angka 0 dan 1. Bilangan input yang valid adalah antara 1 sampai 50. Contoh input 1: 8 Contoh output 1: 0 1 1 2 3 5 8 13 Contoh input 2: 15 Contoh output 2: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 Dari contoh dapat dilihat bahwa deret ke 3 dibentuk dari 0 + 1 = 1; deret ke-4 dibentuk dari 1 + 2 = 3; deret ke-5 dibentuk dari 2 + 3 = 5; dan seterusnya. Kerjakan salah satu dari 2 soal pilihan berikut ini. HINT: Kedua soal berikut ini mengkombinasikan selection dan looping sederhana. 5. Buat program untuk membentuk persegi di mana baris ganjil akan dibentuk oleh bintang (*), sedangkan baris genap dibentuk oleh pagar (#). Bilangan input yang valid adalah antara 1 sampai 20. Contoh input 1: 5 Contoh output 1: ***** ##### ***** ##### ***** Contoh input 2: 3 Contoh output 2: *** ### *** 6. Buat program untuk membentuk persegi bila input berupa bilangan genap, dan segitiga bila input berupa bilangan ganjil. Lebar persegi atau panjang/tinggi segitiga tergantung dari jumlah bilangan yang dimasukkan. Segitiga dibentuk dari bintang (*), sedangkan persegi dibentuk dari pagar (#). Bilangan input yang valid adalah antara 1 sampai 20. Contoh input 1: 5 Contoh output 1: * ** *** **** ***** Contoh input 2: 4 Contoh output 2: #### #### #### #### Kerjakan salah satu dari 2 soal pilihan berikut ini. HINT: Kedua soal berikut ini mengkombinasikan looping sederhana dan logika posisi dan spasi. 7. Buat program untuk mencetak segitiga terbalik dengan aturan yang terdapat seperti nomor 1. Contoh input 1: 5 Contoh output 1: ***** **** *** ** * Contoh input 2: 3 Contoh output 2: *** ** * 8. Buat program untuk mencetak jajaran genjang ke arah kiri bawah / kanan atas di mana panjang dan lebar jajaran genjang sesuai dengan input bilangan yang dimasukkan. Jajaran genjang dibentuk dari pagar (#). Input yang valid adalah antara 1 sampai 10. Contoh input 1: 5 Contoh output 1: ##### ##### ##### ##### ##### Contoh input 2: 3 Contoh output 2: ### ### ### Kerjakan soal berikut ini. HINT: Tidak ada hint untuk soal berikut. 9. Bokek merupakan salah seorang pekerja dari Micocok yang merupakan perusahaan software yang membuat sistem operasi Whendown. Bokek sendiri telah banyak bekerja di perusahaan software lainnya sebagai office boy sehingga ia memiliki banyak kemampuan yang tidak dimiliki orang lain. Salah satunya adalah menghapus tanpa sengaja file di komputer sendiri karena mental “bersih-bersih” yang dimiliki. Alhasil, sang bos Micocok pun memerintahkan Bokek untuk membuat sebuah program untuk mendata kerugian karena si Bokek suka main hapus file perusahaan itu. Berikut ini adalah proses yang harus dibuat. a. Awalnya user harus memasukkan sebuah bilangan 1 atau 2 sebagai option di main menu. Angka 1 berarti perhitungan kerugian sangat besar yaitu $10 per file yang dihapus. Sedangkan angka 2 berarti perhitungan kerugian kecil yaitu $1 per file yang dihapus. b. Setelah user melewati tahap pertama, user diminta memasukkan jumlah file yang terhapus. c. Tampilkan hasil dari perhitungan sesuai dengan pilihan yang dibuat dan perhitungan dilakukan dengan : biaya per file dikali jumlah file yang dihapus. d. Keluar dari program. Contoh pengerjaan soal: Buat sebuah program untuk menampilkan bilangan genap antara 1 sampai bilangan yang di-input bila bilangan yang diinput merupakan bilangan genap, dan menampilkan bilangan ganjil antara 1 sampai bilangan yang di-input bila bilangan yang diinput merupakan bilangan ganjil. Setiap bilangan yang ditampilkan dipisahkan oleh spasi. Input yang valid adalah antara 1 sampai 5000. Contoh input 1: 13 Contoh output 1: 1 3 5 7 9 11 13 Contoh input 2: 18 Contoh output 2: 2 4 6 8 10 12 14 16 18 Jawaban : uses crt; var a,i: integer; begin clrscr; readln(a); if a mod 2 = 1 then begin for i:= 1 to a do begin if i mod 2 = 1 then write(i, ‘ ‘); end; end else begin for i:= 1 to a do begin if i mod 2 = 0 then write(i, ‘ ‘); end; end; readkey; end. --== Selamat mengerjakan ==--