Anda di halaman 1dari 3

Latihan soal

1. Buatlah program yang menerima input data berupa barisan bilangan antara 0 sampai 31, dan output berupa grafik batang. Input diambil dari file teks, dan output dituliskan dalam file teks. Batasi banyaknya data tidak lebih besar dari 20. (grafik.cpp)
E:\> grafik Anda dapat melihat hasilnya dengan mengetikkan: type grafik.output.txt E:\> type grafik.output.txt 33 | 32 | 31 | ## ## 30 | @@ ## ## 29 | @@ ## ## ## 28 | @@ ## ## ## 27 | @@ ## ## ## ## 26 | @@ ## ## ## ## 25 | ## @@ ## ## ## ## 24 | ## @@ ## ## ## ## @@ ## 23 | ## @@ ## ## ## @@ ## @@ ## 22 | ## @@ ## ## ## @@ ## @@ ## 21 | ## @@ ## ## ## @@ ## @@ ## 20 | ## @@ ## ## ## @@ ## @@ ## 19 | ## @@ ## ## ## @@ ## @@ ## 18 | ## @@ @@ ## ## ## @@ ## @@ ## 17 | ## ## @@ @@ ## ## @@ ## @@ ## @@ ## 16 | ## ## @@ @@ ## ## @@ ## @@ ## @@ ## 15 | ## ## @@ ## @@ ## ## @@ ## @@ ## ## @@ @@ ## 14 | ## ## @@ ## @@ ## ## @@ ## @@ ## @@ ## @@ @@ ## 13 | ## ## @@ ## @@ ## ## @@ ## @@ ## @@ ## @@ @@ ## 12 | ## ## @@ ## @@ ## ## @@ ## @@ ## @@ ## @@ ## @@ ## 11 | ## @@ ## @@ ## @@ ## ## @@ ## @@ ## @@ ## @@ ## @@ ## 10 | ## @@ ## @@ ## @@ ## ## @@ ## @@ ## @@ ## @@ ## @@ ## 9 | ## @@ ## @@ ## @@ ## ## @@ ## @@ ## @@ ## @@ ## @@ ## 8 | ## @@ ## @@ ## @@ ## ## @@ ## @@ ## @@ ## @@ ## @@ ## 7 | ## @@ ## @@ ## @@ ## ## @@ ## @@ ## @@ ## @@ ## @@ ## 6 | ## @@ ## @@ ## @@ ## ## @@ ## @@ ## @@ ## @@ ## @@ ## 5 | ## @@ ## @@ ## @@ ## ## @@ ## @@ ## @@ ## @@ ## @@ ## 4 | ## @@ ## @@ ## @@ ## @@ ## @@ ## @@ ## @@ ## @@ ## @@ ## 3 | ## @@ ## @@ ## @@ ## @@ ## @@ ## @@ ## @@ ## @@ ## @@ ## 2 | ## @@ ## @@ ## @@ ## @@ ## @@ ## @@ ## @@ ## @@ ## @@ ## 1 | ## @@ ## @@ ## @@ ## @@ ## @@ ## @@ ## @@ ## @@ ## @@ ## @@ ----------------------------------------------------------------1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Gambar 1.1 Contoh tampilan soal nomor 1

2. Input himpunan A dan B, yang masing-masing anggotanya adalah karakter. Tampilkan output gabungan, irisan, dan komplemen antara A dan B. (himpunan.cpp)
E:\> himpunan Anggota-anggota A: abcdef Anggota-anggota B: pqrsbdf A = {a, b, c, d, e, f} B = {b, d, f, p, q, r, s} A union B = {a, b, c, d, e, f, p, q, r, s} A iris B = {b, d, f} komplemen A = {g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z}

Gambar 1.2 Contoh tampilan soal nomor 2

3. Buatlah sebuah program untuk menghitung fungsi polinomial. Program menerima masukan deretan bilangan koefisien (koefisien paling kanan pangkatnya paling kecil, yaitu 0), kemudian program akan menanyakan harga x. Hitung hasilnya. (polinom.cpp)
E:\> polinom Koefisien-koefisien: 5 4 3 2 1 x = 3 Hasilnya adalah 547

Gambar 1.3 Contoh tampilan soal nomor 3

4. Buatlah sebuah program yang menerima barisan bilangan dari parameter program, kemudian tampilkan kembali, dengan bilangan yang sama ditulis sekali saja. (sekali.cpp)
E:\> sekali 1 4 2 2 5 6 1 4 1 1 4 2 5 6

Gambar 1.4 Contoh tampilan soal nomor 4

5. Buatlah program yang menghasilkan dua buah matriks bilangan acak, dengan ukuran yang acak juga, kemudian tampilkan hasil kalinya. (mtracak.cpp)

E:\> mtracak Matriks A: 1 5 3 2 1 9 1 4 3 Matriks B: 4 5 2 Matriks AB: 35 31 30

Gambar 1.5 Contoh tampilan soal nomor 5

6. Jika Anda pernah bermain catur, Anda mengetahui bahwa setiap langkah kuda selalu 3 kotak ke samping dan 2 kotak ke atas atau sebaliknya. Dari sebuah kotak tertentu kuda dapat bergerak ke kotak lain, dan kemudian bergerak ke kotak lain lagi, dan seterusnya, hingga mencapai kotak tertentu. Sekarang Anda diminta membuat program untuk menghitung langkah minimum bagi kuda tersebut untuk bergerak dari sebuah kotak ke sebuah kotak yang lain, dan menampilkan langkah-langkahnya. Koordinat kotak asal dan kotak tujuan dimasukkan oleh user melalui parameter program. (kudamin.cpp)
E:\> kudamin C4 H1 8 7 6 5 4 3 2 1 . . . . . . . . A . . . . . . . . B . . . . 0 . . . C . . . . . . 1 . D . . . . . . . . E . . . . . . . 2 F . . . . . 3 . . G . . . . . . . 4 H

Hanya diperlukan 4 langkah dari C4 ke H1

Gambar 1.6 Contoh tampilan soal nomor 6

7. Sekali lagi mengenai permainan catur. Dalam sebuah papan catur n x n, Anda diminta menyusun n ratu sedemikian hingga tidak ada ratu yang dapat saling menyerang. User akan memasukkan input n melalui parameter program, dan program menampilkan hasilnya. (nratu.cpp)
E:\> nratu 5 5 4 3 2 1 @ . . . . A . . . @ . B . @ . . . C . . . . @ D . . @ . . E

Gambar 1.7 Contoh tampilan soal nomor 7

8. Buatlah program yang menerima masukan berupa rumus senyawa kimia melalui parameter program, kemudian program akan menampilkan daftar unsur dalam senyawa tersebut beserta banyaknya, kemudian menghitung massa senyawa tersebut. Anda dibebaskan untuk memasukkan unsur-unsur apa saja, tetapi untuk memudahkan, pilih simbol unsur yang hanya terdiri dari 1 huruf, dan batasi bilangan tidak lebih dari 9. (senyawa.cpp)
E:\> senyawa CH3COOH Jumlah atom C ada 2 Jumlah atom H ada 4 Jumlah atom O ada 2 Massanya adalah 60

Gambar 1.8 Contoh tampilan soal nomor 8

9. Jika Anda mempelajari teori bahasa dan automata, Anda pasti mengenal ekspresi regular seperti ini: ab*a*c(b|a)a*c*. Buatlah program untuk menguji apakah sebuah kata yang Anda masukkan termasuk dalam bahasa tersebut atau tidak. Untuk lebih jelas mengenai ekspresi regular dan algoritmanya, Anda dapat membaca buku-buku teori bahasa dan automata. (regex.cpp)
ab*a*c(b| a)a*c*

b a a c

c a

E:\> regex abacbac abacbac termasuk. E:\> regex acbba acbba tidak termasuk.

Gambar 1.9 Contoh tampilan soal nomor 9

10. Buatlah program untuk mencari dot product, sudut dan resultan dari dua buah vektor. Vektor dimasukkan oleh user, gunakan tipe data double untuk setiap elemennya, dan batasi dimensinya tidak lebih dari 100. (vektor.cpp)
E:\> vektor Vektor a: 10 0 5 35 1 Vektor b: 27 4 3 2 1 6 a b a+b a.b <(a,b) = = = = = 10u0 + 5u2 + 35u3 + u4 27u0 + 4u1 + 3u2 + 2u3 + u4 + 6u5 37u0 + 4u1 + 8u2 + 37u3 + 2u4 + 6u5 356 69.90916304 derajat

Gambar 1.10 Contoh tampilan soal nomor 10

Anda mungkin juga menyukai