• Tidak ada hasil yang ditemukan

Tugas UTS Pemrograman Berorientasi Obyek

N/A
N/A
Protected

Academic year: 2021

Membagikan "Tugas UTS Pemrograman Berorientasi Obyek"

Copied!
7
0
0

Teks penuh

(1)

Tugas UTS Pemrograman Berorientasi Obyek

Group A

Setiap mahasiswa mengerjakan satu soal dari group ini menurut aturan sebagai berikut: • NRP berakhiran angka 1 mengerjakan soal nomor 1

• NRP berakhiran angka 2 mengerjakan soal nomor 2 • NRP berakhiran angka 3 mengerjakan soal nomor 3 • NRP berakhiran angka 4 mengerjakan soal nomor 4 • NRP berakhiran angka 5 mengerjakan soal nomor 5 • NRP berakhiran angka 6 mengerjakan soal nomor 6 • NRP berakhiran angka 7 mengerjakan soal nomor 7 • NRP berakhiran angka 8 mengerjakan soal nomor 8 • NRP berakhiran angka 9 mengerjakan soal nomor 9 • NRP berakhiran angka 0 mengerjakan soal nomor 10 Nilai pengerjaan group ini adalah 60%.

1. Buat sebuah program untuk mencari proses perkalian dibawah ini * * * x * * --- * * * * * * * --- * * * *

sedemikian rupa sehingga jumlah semua digit dalam masing-masing kolom sama. Hint: ada 2 jawaban.

411 * 13 = 5343, semua kolom berjumlah 10

2. Buat sebuah program yang mencari faktor prima terbesar dari angka yang di-inputkan oleh user.

• Gunakan tipe data long untuk menerima input angka dari user. Jangan gunakan tipe data int.

• Jika user memberi input angka negatif atau pecahan, program menampilkan pesan kesalahan dan meminta input ulang dari user.

Masukkan sebuah angka positif: 6254378921

(2)

The largest divisor of 6254378921 is 893482703

3. Buat sebuah program yang mencari semua kombinasi dari memasukkan tanda + dan - pada baris angka 123456789 sedemikian rupa sehingga ekspresi aritmatika yang dihasilkan jika dihitung akan berjumlah 100. Tanda + dan - hanya bisa dipilih salah satu untuk tiap digit. • Angka 1 bisa didahului oleh - atau +. Jadi, mula-mula angka 1 bisa menjadi angka negatif atau angka positif.

• Semua digit angka yang lain bisa:

• Didahului oleh -, yang berarti memulai angka baru untuk dikurangkan dari perhitungan yang sedang berlangsung

• Didahului oleh +, yang berarti memulai angka baru untuk ditambahkan dari perhitungan yang sedang berlangsung

• Tidak didahului oleh - ataupun +, yang berarti digit angka tersebut adalah bagian dari digit angka didepannya / dikirinya.

Hint: total ada 12 jawaban

1 + 23 - 4 + 5 + 6 + 78 - 9 = 100

4. Buat sebuah program yang menerima inputan alphanumerik dari user yang diakhiri dengan penekanan tombol enter; setelah itu program akan menghitung dan menampilkan berapa kali sebuah digit angka ada dalam inputan tadi. Contoh:

Enter characters: 82 7 7ah835 7621 653847 76124 g72g Digits: 1 2 3 4 5 6 7 8

Count: 2 4 2 2 2 3 6 3

5. Buat sebuah program yang menampilkan semua kotak dengan 3 × 3 sel; dimana dalam tiap sel terdapat sebuah angka satu digit (angka 1 – 9) dan hasil penjumlahan baris, kolom, dan diagonalnya adalah sama. Hint: total ada 8 variasi.

4, 3, 8 9, 5, 1 2, 7, 6

6. Buat sebuah program yang menerima input bilangan bulat positif dan kemudian membuat segitiga abjad seperti dibawah ini:

Enter a positive number: 15 A BCB DEFED GHIJIHG KLMNONMLK PQRSTUTSRQP VWXYZABAZYXWV CDEFGHIJIHGFEDC KLMNOPQRSRQPONMLK TUVWXYZABCBAZYXWVUT DEFGHIJKLMNMLKJIHGFED OPQRSTUVWXYZYXWVUTSRQPO ABCDEFGHIJKLMLKJIHGFEDCBA

(3)

NOPQRSTUVWXYZAZYXWVUTSRQPON BCDEFGHIJKLMNOPONMLKJIHGFEDCB

7. Buat sebuah program yang menerima inputan alphanumerik yang diakhiri penekanan tombol enter. Program tersebut kemudian akan:

• menghitung dan menampilkan jumlah blank characters (spaces, tabs, & new lines) • menghitung dan menampilkan panjang kata terpendek

• menghitung dan menampilkan panjang kata terpanjang

Masukkan kalimat: asd 1240 ja9329 asdil9g9 99hdh74g7 uggkuh236bltq63g isee ydbaaj35

Input memiliki 8 blanks, tabs, & new lines

Panjang kata terpendek: 3 Panjang kata terpanjang: 16

8. Buat sebuah program yang menampilkan menu dan melakukan operasi penjumlahan, pengurangan, perkalian, dan pembagian dua biliangan pecahan. User pertama-tama memasukkan a, s, m, d or q; dan kemudian dua bilangan pecahan. Jika masukkan berbeda dari 5 huruf tadi, user harus memasukkan ulang pilihannya. Jika yang dipilih adalah pembagian, program memeriksa bahwa angka kedua bukan nol.

Masukkan operasi:

a: addition s: subtraction m: multiplication d: division q: quit

a

Masukkan argumen pertama untuk penjumlahan: 1

Masukkan argumen kedua untuk penjumlahan: 2

1.0 + 2.0 = 3.0 Masukkan operasi: a: addition s: subtraction m: multiplication d: division q: quit d

Masukkan argumen pertama untuk pembagian: 10

Masukkan argumen kedua untuk pembagian: 4

10.0 / 4.0 = 2.5 Masukkan operasi: a: addition s: subtraction m: multiplication d: division q: quit q

(4)

9. Buat sebuah program yang meminta masukkan kalimat dari user. Program berperilaku sebagai berikut:

• Jika kalimat memiliki karakter alphanumerik lebih dari 50, program akan menampilkan

Terlalu banyak karakter alphanumerik! Dan kemudian program berhenti.

• Jika kalimat memiliki karakter yang bukan karakter alphanumerik, program akan menampilkan

Ada karakter bukan alphanumerik! Dan kemudian program berhenti.

• Jika ada kata yang panjangnya lebih dari 6 huruf, program akan menampilkan Ada kata yang terlalu panjang!

Dan kemudian program berhenti.

• Jika kalimat hanya terdiri dari spasi, program akan menampilkan Tidak ada karakter alphanumerik yang diinputkan! Dan kemudian program akan berhenti.

• Jika kalimat mengandung kata/kata-kata, program akan menghitung dan menampilkan secara terurut kata-kata yang memiliki huruf kapital mulai dari 0 sampai 6.

Berikut contoh output program:

Masukkan kalimat: Ini adalah sebuah contoh kalimat yang memiliki panjang 67 huruf alphanumerik.

Terlalu banyak karakter alphanumerik!

Masukkan kalimat: Yang ini punya 34 karakter alphanumerik Ada kata yang terlalu panjang!

Masukkan kalimat: kalau yang ini? Ada karakter bukan alphanumerik!

Masukkan kalimat:

Tidak ada karakter alphanumerik yang diinputkan!

Masukkan kalimat: Ini COntoh KATa Kata dengan 1 huruf kapital: Ini

Kata dengan 2 huruf kapital: COntoh

Kata dengan 3 huruf kapital: KATa

Masukkan kalimat: Ini conTOH YANG LeBih paNJaN G Kata dengan 1 huruf kapital:

Ini G

Kata dengan 2 huruf kapital: LeBih

Kata dengan 3 huruf kapital: conTOH

(5)

Kata dengan 4 huruf kapital: YANG

10. Buat sebuah program yang meminta masukkan dari user bilangan hexadecimal: angka dan huruf a-f atau A-F. Kemudian program akan melakukan pemeriksaan:

• jika nilai desimal yang akan dihasilkan lebih besar dari nilai maksimum tipe data long, program akan menampilkan:

Input terlalu besar atau tidak benar

• Jika input berupa karakter selain 0 – 9, atau ‘a’ – ‘f’, atau ‘A’ – ‘F’, program akan menampilkan:

Input salah

Setelah itu program akan mengkonversi bilangan tersebut ke bilangan desimal. Contoh: input 2af akan dikonversi menjadi 678.

Untuk program ini, jangan menggunakan Java exception. Masukkan angka hexadesimal: 3K

Input salah

Masukkan angka hexadesimal: abcdefabcdefabcdef Input terlalu besar atau tidak benar

Masukkan angka hexadesimal: 567a

Angka 567a dalam hexadesimal adalah 22138

Masukkan angka hexadesimal: aaaaaaaaaaaaaaa

Angka aaaaaaaaaaaaaaa dalam hexadesimal adalah 768614336404564650

Group B

Soal di group ini:

Soal nomor 1 dikerjakan oleh mahasiswa perempuan yang NRP-nya ganjil Soal nomor 2 dikerjakan oleh mahasiswa perempuan yang NRP-nya genap Soal nomor 3 dikerjakan oleh mahasiswa laki-laki yang NRP-nya ganjil Soal nomor 4 dikerjakan oleh mahasiswa laki-laki yang NRP-nya genap

Nilai pengerjaan group ini adalah 40%. Kerjakan soal di group ini setelah soal di group A selesai. Jika soal di group A belum selesai / dikerjakan dengan meng-copy program teman, pengerjaan soal group B tidak akan diterima.

1. Cryptarithm adalah salah satu puzzle/permainan dimana angka dicari untuk menggantikan huruf dari kata-kata tertentu sedemikian rupa sehingga kondisi yang diminta terpenuhi. Satu

(6)

syarat umum yang harus dipenuhi adalah semua kata-kata tidak boleh diawali oleh angka nol.

Contoh cryptarithm:

Carilah digit angka yang bisa digunakan menggantikan huruf-huruf dari kata: three, four, dan eight; sedemikian rupa sehingga:

• Three adalah bilangan prima • four adalah bilangan kuadrat • eight adalah bilangan pangkat 3

Contoh soal ini punya satu jawaban, yaitu: 42611 untuk three, 7056 untuk four, dan 13824 untuk eight. Jadi huruf t diganti dengan angka 4 dan huruf h diganti dengan angka 2, dst. Buat sebuah program yang mencari angka untuk menggantikan huruf-huruf dari kata one, two, seven, dan nine. Huruf yang berbeda diganti dengan angka yang berbeda pula. Dan huruf pertama digantikan dengan angka yang bukan nol, sedemikian rupa sehingga:

• one + one = two,

• seven adalah bilangan prima, dan, • nine adalah bilangan kuadrat.

Program harus menampilkan baris sebagai berikut:

one = ..., two = ..., seven = ... and nine = .... adalah sebuah jawaban. Maksimum indentasi untuk program ini adalah 6.

2. Buat sebuah program untuk menyelesaikan perkalian * * * * x * * * --- * * * * * * * * * * * * * * --- * * * * * * * Sedemikian rupa sehingga:

a. Tiap bintang merepresentasikan sebuah angka;

b. Semua digit dari bilangan perkalian pertama berbeda dengan digit sebelahnya dan tidak ada yang bernilai nol;

c. Semua digit dari bilangan perkalian kedua, hasil sementara, dan hasil akhir adalah digit yang muncul di bilangan perkalian pertama.

Output program haruslah seperti format diatas; dimana karakter bintang diganti dengan digit yang sesuai. Maksimum indentasi untuk program ini adalah 5.

3. Buat sebuah program yang mencari semua bilangan pecahan dalam format n/d, dimana n dan d adalah bilangan bulat positif bukan nol. Nilai n/d adalah 0.5. Semua angka bukan nol harus muncul SEKALI dan hanya SEKALI; bisa di n atau di d.

(7)

Output program haruslah dalam format: .... / ... = 0.5

Maksimum indentasi adalah 5.

4. Buat program yang mencari semua kombinasi untuk mengganti huruf A sampai O dengan angka 1 sampai 15 sedemikian rupa sehingga terbentuk segitiga seperti dibawah. Semua angka yang bukan di baris paling bawah adalah nilai absolut dari pengurangan dari dua angka dibawahnya. A B C D E F G H I J K L M N O

Output program haruslah berbentuk seperti segitiga diatas. Tiap kali menemukan satu jawaban benar, program membuat satu segitiga dimana huruf-huruf sudah diganti dengan angka-angka yang bersesuaian. Tidak ada batasan untuk spasi antar angka; hanya saja, pastikan output memang berbentuk segitiga.

Referensi

Dokumen terkait

[C1, C2, C5, P4, A1, A2, A3] Mahasiswa mampu mengetahui batasan yang digunakan dalam perencanaan bangunan tahan gempa (Mg ke 7)...

[r]

Berdasarkan uraian yang telah dijelaskan di atas, maka peneliti merasa tertarik untuk melakukan penelitian mengenai opini pengunjung/member Celebrity Fitness Sun Plaza Medan

Arah penelitian ini untuk mengembangkan ilmu pendidikan Islami yang digali dari al-Quran sebagai sumber utama pendidikan Islam dan untuk memperbaiki kualitas pembelajaran agama Islam

Kedua,  hutang  yang  mesti  dizakati  hanya  untuk  setahun,  yakni  hutang­  hutang  perdagangan.  Hutang  ini  wajib  dizakati  dengan  empat  syarat:  1) 

Kajian mengenai migrasi internasional menarik dan penting dilakukan untuk mengetahui penyebab terjadinya migrasi internasional pada perempuan desa serta

Jawaban : ILC adalah salah satu gagasan Bapak Karni Ilyas, sebagai pribadi yang masih terus bersemangat untuk tetap menjadi seorang Jurnalis, meski sudah menjadi

Dengan ini diberitahukan bahwa setelah dilakukan evaluasi penawaran berdasarkan ketentuan–ketentuan yang berlaku tentang Pengadaan Langsung dengan Prakualifikasi yang dilaksanakan