JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama
Kasus A : Enkripsi Kalimat (waktu: 25 menit, score:25) Sebagai kurir yang bertugas untuk mengirimkan pesan ke kantor pusat, namun agar pesan yang dikirim tidak dapat dimengerti oleh pihak yang tidak berkepentingan maka pesan tersebut harus dienkripsi. Untuk melakukan enkripsi pesan tersebut tidak digunakan teknik yang rumit, cukup mengganti huruf pada kalimat dengan huruf setelahnya. Misalnya string berisi “Mampus Gue”, maka string tersebut akan berubah menjadi ”Nbnqvt Hvf”, karena huruf setelah huruf ”M” adalah ”N”, huruf setelah huruf ”a” adalah ”b”, huruf setelah huruf ”m” adalah ”n”, huruf setelah huruf ”p” adalah ”q”, huruf setelah huruf ”u” adalah ”v”, huruf setelah huruf ”s” adalah ”t”, spasi diabaikan, huruf setelah huruf ”G” adalah ”H”, huruf setelah huruf ”u” adalah ”v”, huruf setelah huruf ”e” adalah ”f” Input Baris pertama diisi oleh jumlah kalimat yang akan dienkripsi (1≤N≤20), baris berikutnya adalah kalimat-kalimat yang akan dienkripsi Output Kalimat-kalimat hasil enkripsi Contoh Input 2 MampusGue C`m`mfF`msdmf
Output NbnqvtHvf DanangGanteng
Algoritma & Pemrograman I
Ver/Rev : 1/1
Halaman : 1 dari 13
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama
Kasus B : Mungkin Maksud Anda ?? (waktu: 30 menit, score:30) Sebuah permain yang bernama “Mungkin Maksud Anda”, adalah permainan yang mengganti kata dengan kata yang anda inginkan pada kalimat kalimat yang telah diberikan. Input Baris pertama oleh jumlah kalimat (1≤nK≤5) Baris kedua sampai ke nK adalah kalimat yang dimaksud Baris selanjutnya kata yang anda cari Baris selanjutnya kata pengganti kata yang dicari Output Kalimat yang telah diganti katanya Contoh Input 2 Saya sudah ganteng Sudah ganteng saya jenius ganteng kasep
Algoritma & Pemrograman I
Output Saya sudah kasep Sudah kasep saya jenius
Ver/Rev : 1/1
Halaman : 2 dari 13
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama
Kasus C : Pecah Kalimat (waktu: 25 menit, score:25) Seorang mahasiswa ditugaskan untuk membuat sebuah aplikasi untuk memecah kalimat menjadi kata, misalkan kalimat “Saya lumayan cakep”, dipecah menjadi tiga kata yaitu: Saya Lumayan Cakep Input Baris pertama oleh jumlah kalimat (1≤nK≤5) Baris kedua sampai ke nK adalah kalimat yang akan dipecah menjadi kata-kata Output Baris baris yang berisi kata-kata yang telah dipecah dari kalimat masukan. Contoh Input 3 Saya ini cakep Udah Cakep juga ganteng Saya juga rajin
Algoritma & Pemrograman I
Output Saya Ini Cakep Udah Cakep Juga Ganteng Saya Juga Rajin
Ver/Rev : 1/1
Halaman : 3 dari 13
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama
Kasus D : Nomor Telepon (waktu: 25 menit, score:25) Tombol telepon standar terdiri dari angka 0-9, dimana untuk angka 2-9 berasosiasi dengan hurufhuruf seperti ditunjukan oleh tabel berikut ini : Digit Huruf Digit Huruf 2 ABC 6 MNO 3 DEF 7 P QRS 4 GHI 8 TUV 5 JKL 9 WXYZ Melakukan konversi suatu kata dalam nomor telepon menjadi nomor sesuai dengan angka yang memiliki asosiasi dengan huruf tersebut Input Baris pertama diisi oleh jumlah kata yang akan dienkripsi (1≤N≤20), baris berikutnya adalah N buah kata-kata yang akan dikonversi menjadi angka-angka Output Angka hasil konversi N buah kata Contoh Input 4 GARUDA NUMBERS PINTAR POLISI
Output 427832 6862377 746827 765474
Algoritma & Pemrograman I
Ver/Rev : 1/1
Halaman : 4 dari 13
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama
Kasus E : Huruf Vokal (waktu: 20 menit, score:25) Seorang anak sedang belajar menghitung huruf vokal pada sebuah kalimat dan menyusunnya, misal ada kalimat “saya sehat” maka anak itu akan menuliskan “aaea” Input Baris pertama oleh jumlah kalimat (1≤nK≤5) Baris kedua sampai ke nK adalah kalimat yang dimaksud Output Baris pertama sampai n berisi kata yang terdiri dari huruf vokal pada masing-masing kalimat masukan. Contoh Input 4 Saya sedang belajar string String itu menyenangkan Saya ga mau menyerah Walau programming itu memusingkan
Output aaeeaai iiueeaa aaaaueea aauoaiiueuia
Algoritma & Pemrograman I
Ver/Rev : 1/1
Halaman : 5 dari 13
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama
Kasus F : String -2 (waktu: 15 menit, score:20) Pada suatu hari ada seorang anak sedang bermain-main dengan string, anak itu tiba-tiba ingin membentuk sesuatu bentukan dari stringnya. Saat itu di sedang memainkan string berikut: @@##@@## dan hasil bentuknya: @ @@ @@# @@## @@##@ @@##@@ @@##@@# @@.##@@## Input Baris pertama oleh jumlah kata(1≤nK≤5) Baris kedua sampai ke nK adalah kalimat yang dimaksud Output Tampilan bentuk stringnya Contoh 2 @@##@@## Kasep
Algoritma & Pemrograman I
@ @@ @@# @@## @@##@ @@##@@ @@##@@# @@.##@@## K Ka Kas Kase Kasep
Ver/Rev : 1/1
Halaman : 6 dari 13
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama
Kasus G : Character Tracking (waktu: 15 menit, score:20) Seorang anak sedang belajar menghitung dan membaca dengan ibunya. Setiap ibunya mengucapkan 1 kalimat, dan 1 karakter, maka si anak akan meyebutkan pada urutan ke berapa saja karakter yang disebutkan itu berada. Contoh si ibu menyebutkan “Anak yang pintar”, lalu si ibu bertanya pada anaknya huruf “n” ada ada dimana aja, si anak menyebutkan 2,8,13. Input Baris pertama jumlah kalimat (1≤nK≤10) Baris pertama diisi oleh sebuah kalimat dengan panjang karakter (1≤p≤1000) Baris kedua diisi dengan karakter yang dicari Output Posisi dimana karakter itu ditemukan Contoh Input 2 Anak yang pintar n Saya Senang Belajar String S Walau pusing yang penting senang U
Algoritma & Pemrograman I
Output 2 8 13 1 6 21 5 8
Ver/Rev : 1/1
Halaman : 7 dari 13
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama
Kasus H : Deret Ganjil yang Serakah (waktu: 15 menit, score:20) Pada sebuah kisah hiduplah 2 orang anak bersaudara, yaitu ganjil dan genap. Suatu ketika mereka mendapat buah jeruk dari pamannya sebanyak 9 buah. Si ganjil pun mengambil 7 buah jeruknya dan si genap hanya di beri 2. Terinspirasi dari cerita tersebut seorang kakek tua yang sedang bermain deret angka ingin membuat bilangan ganjil menjadi 7 kali lipatnya dan yang genap hanya 2 kali lipatnya Input Baris pertama merupakan banyaknya deret bilangan (0 < banyak ≤ 15), baris kedua merupakan banyaknya bilangan pada deretnya (0 < n ≤ 100), dan baris selanjutnya adalah bilangan pada masing-masing deretnya Output Hasil deret bilangan sebanyak yang dimasukan dan bilangannya telah diubah sesuai kasus. Contoh Input 2 5 12345 78241 2 3 10 5 7 625
Output 7 4 21 8 35 49 16 4 8 7
20 35 49 12 4 35
Algoritma & Pemrograman I
Ver/Rev : 1/1
Halaman : 8 dari 13
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama
Kasus I : Munculnya Tidak Habis Dibagi 3 dan 5 (waktu: 15 menit, score:20) Ada seorang mahasiswa yang sedang asik belajar statistika. Mahasiswa tersebut sedang menyelesaikan soal deret yang habis dibagi 3 dan 5. Kemudian dia iseng-iseng mencari bilangan yang tidak habis dibagi 3 dan 5 dari tabel bilangan yang hanya berisi bilangan acak. . Input Baris pertama merupakan banyaknya baris (0 < b ≤ 15), dan baris kedua merupakan banyaknya kolom (0 < k ≤ 25), baris selanjutnya adalah bilangan-bilangan pada posisi baris dan kolomnya Output Tampilkan bilangan yang tidak habis dibagi 3 dan 5. Contoh Input 2 2 45 6 35 4 5 17 10 8 9 3 16 2 0 4 7 33 22 51 60 78 100 15 26 31 14
Algoritma & Pemrograman I
Output 4
17 8 16 2 4 7 22 26 31 14
Ver/Rev : 1/1
Halaman : 9 dari 13
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama
Kasus J : Baris jadi kolom, kolom jadi baris (waktu: 15 menit, score:20) Pada sebuah kasus matematika, seorang mahasiswa diberi tugas oleh dosennya untuk mengubah sebuah array berdimensi dua, yaitu baris menjadi kolom , dan kolom menjadi baris. Input Baris kedua banyaknya kolom (k) dan baris (b) array Baris ketiga sampai sampai b adalah nilai dari array berdimensi banyak Output Array yang telah diubah antara kolom dan barisnya Contoh Input 34 123 567 890
Output 158 269 370
Algoritma & Pemrograman I
Ver/Rev : 1/1
Halaman : 10 dari 13
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama
Kasus K : Horizontal, Vertikal, dan Diagonal (waktu: 25 menit, score:30) Seorang anak SD ditugasi oleh gurunya semacam puzzle dengan kolom dan baris yang sama, masing2 kolom pada baris diberi nilai, si anak disuruh menjumlahkan nilai yang ada pada semua kolom secara horizontal, vertical, diagonal. Input baris pertama diisi oleh jumlah kolom/baris (1≤N≤10) baris ke 2 sampe ke N selanjutnya di isi oleh N kolom nilai Output baris pertama kolom ke 1 diisi dengan menjumlahkan seluruh nilai (secara horizontal) pada baris 1, baris pertama kolom ke 2 diisi dengan menjumlahkan seluruh nilai pada baris 2, seterusnya hingga baris pertama kolom ke N diisi dengan menjumlahkan seluruh nilai pada baris ke N, baris kedua kolom ke 1 diisi dengan menjumlahkan seluruh nilai (secara vertikal) pada kolom 1, baris kedua kolom ke 2 diisi dengan menjumlahkan seluruh nilai pada kolom ke 2, seterusnya hingga baris kedua kolom ke N diisi dengan menjumlahkan seluruh nilai pada kolom ke N, baris ketiga kolom 1 diisi dengan menjumlahkan seluruh nilai pada diagnonal pertama baris ketiga kolom 2 diisi dengan menjumlahkan seluruh nilai pada diagnonal kedua (pasti memiliki dua diagonal) Contoh No Input 1 3 315 214 125 2 2 15 23
Output 978 6 4 14 97 65 38 47
Algoritma & Pemrograman I
Ver/Rev : 1/1
Halaman : 11 dari 13
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama
Kasus L : Tabel untuk AM (waktu: 15 menit, score:20) Ada seorang pria yang sedang bermain dengan tabel kosong. Dia ingin memenuhi tabel kosong tersebut dengan karakter A dan M, tetapi karakter ‘A’ hanya pada baris dan kolom yang apabila dijumlahkan tidak habis dibagi dua bilangan tertentu dan karakter ‘M’ diisikan pada sisanya yang kosong. Input Baris pertama merupakan banyaknya baris (0 < b ≤ 25), baris kedua merupakan banyaknya kolom (0 < k ≤ 25), baris ketiga merupakan bilangan pembagi pertama (0 < bil1 ≤ 15), dan baris keempat merupakan bilangan pembagi kedua (0 < bil2 ≤ 15) Output Hasil array setelah diisi dengan karakter ‘A’ dan ‘M’ Contoh Input 2 2 2 3 3 7 2 3
Algoritma & Pemrograman I
Output MM MM
MMMAMAM MMAMAMM MAMAMMM
Ver/Rev : 1/1
Halaman : 12 dari 13
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama
Kasus M : Yuu kita tukar (waktu: 20 menit, score:25) Seorang anak sedang bermain game di komputernya, game itu mempunyai prinsip menukar menukar baris pada kumpulan nilai, misal baris 2 ditukar dengan baris 3. Input Baris pertama jumlah input (1≤n≤10) Baris kedua banyaknya kolom (k) dan baris (b) array Baris ketiga sampai sampai b adalah nilai dari array berdimensi banyak Baris selanjutnya adalah nomor baris yang akan ditukar Output Baris pertama dan selanjutnya nilai dari array berdimensi banyak yang telah ditukar barisnya Contoh Input 1 34 145 786 493 245 23
Algoritma & Pemrograman I
Output 145 493 786 245
Ver/Rev : 1/1
Halaman : 13 dari 13