Latihan &kasus alpro-I_sns

17
Algoritma dan Pemrograman – I (4 sks) Array dan Terapannya Ir. Sihar, MT. T. Informatika –Fak. Teknologi Informasi Bandung – 2007

Transcript of Latihan &kasus alpro-I_sns

Algoritma dan Pemrograman – I (4 sks)

Array dan Terapannya

Ir. Sihar, MT.

T. Informatika – Fak. Teknologi Informasi

Bandung – 2007

Daftar Pustaka

1) Burgess, M. C Programming Tutorial, 4th Edition. Faculty of Engineering, Oslo College. 1999.

2) Dasgupta, S., Papadimitriou, C. Algorithms. McGraw-Hill. 2006.

3) Kleinberg, J., Tardos, E. Algorithm Design. Addison-Wesley. 2006.

4) Sedgewick, R. Algorithms in C++, Parts 1-4: Fundamentals, Data

Structure, Sorting, Searching, Third Edition. Addison-Wesley Professional. 1998.

5) Simamora, S.N.M.P. “Diktat SK-100 Dasar Komputer dan Pemrograman". Dept. Sistem Komputer, Fak. Teknik, ITHB. Bandung. 2002.

6) Simamora, S.N.M.P. “Diktat Kuliah SI101 Pengantar Teknologi Informasi”, Departemen Sistem Informasi. Fak. Teknik. ITHB. Bandung. 2002.

7) Simamora, S.N.M.P. “Diktat Kuliah IF101 Pengantar Teknik Informatika”. Departemen Teknik Informatika. Fak. Teknik. ITHB. Bandung. 2002.

8) Wear, L.L., Pinkert, J.R., Lane, W.G. Computers, An Introduction to

Hardware and Software Design. McGraw-Hill. 1991.

Sebuah kata dengan panjang=N adalah input-value dari end-user. Lakukan

pertukaran indeks karakter (math-based) ke-3 dan 4 serta ke-2 dan 6 dimana N

harus lebih besar dari 5. Tunjukkan tampilan kata tsb dengan menggunakan

metode array dan looping.

Kasus:

Solusi: Konstruksi algoritma

kata[2] ↔ kata[6] dan kata[3] ↔ kata[4]

Mis: mamamia ⇒ miammaa

Algoritma dan pemrograman C++ Tampilan jalannya program:

Sebuah kata dengan panjang=N adalah input-value dari end-user. Carilah panjang

kata yang diketikkan oleh end-user tsb beserta tampilan kata dengan

menggunakan metode array dan looping.

Kasus:

Solusi:

Algoritma dan pemrograman C++

Pada translator C/C++, untuk menghitung panjang kata digunakan sintaks:

strlen(...) yang tersimpan pada library C++ dalam header-file: string.h

Tampilan jalannya program:

Sebuah kata dengan panjang=N adalah input-value dari end-user. Jika dilakukan

pertukaran karakter ke-2 dan 4 (indeks math-based), tampilkanlah array kata

yang baru tsb dimana panjang kata tidak boleh lebih kecil dari 4 dan maksimal 10.

Kasus:

Solusi:

Algoritma dan pemrograman C++ Tampilan jalannya program:

Jika sebuah kata=“belajar” akan ditulis terbalik susunan karakternya, tulislah

konstruksi algoritma serta algoritma dan pemrograman C++.

Kasus:

Solusi:

Algoritma dan pemrograman C++ Tampilan jalannya program:

Konstruksi algoritma

b e l a j a r r a j a l e b

Penjelasan: panjang kata=7, looping

pertukaran hanya dilakukan 3 kali, yakni:

karakter ke-1 dan karakter ke-7; karakter ke-

2 dan karakter ke-6; karakter ke-3 dan

karakter ke-5.

Jika sebuah kata isinya adalah input-value oleh end-user akan ditulis terbalik

susunan karakternya, tulislah konstruksi algoritma serta algoritma dan

pemrograman C++.

Kasus:

Solusi:

Alg

ori

tma

da

n p

em

rog

ram

an

C+

+

Tampilan jalannya program:

Konstruksi algoritma ⇒ Untuk melakukan proses mengeja terbalik

karakter pada suatu kata adalah dengan

melakukan proses pertukaran karakter ‘ujung ke

ujung’ sebanyak setengah dari N (N=panjang kata,

dan kelipatan genap)

Ada sepuluh bilangan yang tertampung dalam array K, tampilkan bilangan

tersebut dengan melakukan proteksi jika end-user mengetikkan bilangan negatip;

apabila kesepuluh bilangan merupakan input-value.

Kasus:

Solusi:

Algoritma dan pemrograman C++ Tampilan jalannya program:

Penjelasan: Instruksi goto memerintahkan

translator untuk berpindah ke label

bernama selesai apabila end-user

mengetikkan bilangan negatip; getch()

merupakan kondisi interupsi program

untuk menerima penekanan tombol dari

end-user agar melanjutkan jalannya

program. Instruksi goto tidak

membutuhkan header-file, sedangkan

getch() membutuhkan header-file yang

disebut: conio.h

Sebuah array zL dengan panjang=7 merupakan tipe-data karakter kelompok

bilangan 1 atau 0. Apabila diketahui isi zL=1010101, sisipkanlah karakter ‘s’ pada

setiap bilangan 0.

Kasus:

Solusi:

Algoritma dan pemrograman C++ Tampilan jalannya program:

zL[0] = ‘1’

Konstruksi algoritma

zL[1] = ‘0’

zL[2] = ‘1’

zL[3] = ‘0’

zL[4] = ‘1’

zL[5] = ‘0’

zL[6] = ‘1’

‘s’

‘s’ ‘s’

Ada sepuluh bilangan dalam bentuk karakter di-input-kan oleh end-user. Tulislah

algoritma dan pemrograman C++ dengan menggunakan metode array untuk

menampung kesepuluh bilangan tsb dan menampilkannya ke layar-komputer.

Kasus:

Solusi:

Algoritma dan pemrograman C++ Tampilan jalannya program:

Tulislah algoritma dan pemrograman C++ untuk menampilkan nama lengkap

(terdiri dari nama depan dan nama belakang) dimana hasil input-value oleh end-

user.

Kasus:

Solusi:

Algoritma dan pemrograman C++ Tampilan jalannya program:

Penjelasan: Kedua nama ditampung pada dua variabel array masing-masing:

nmdpn dan nmblk dengan panjang-array yang disediakan sebesar 50; dengan

asumsi panjang nama seseorang tidak mungkin melebihi dari 20 karakter

Ada delapan bilangan dalam bentuk numerik yakni: zK={-2,4,11,0,-99,3,6,9}.

Tulislah algoritma dan pemrograman C++ untuk menampilkan kedelapan bilangan

ke layar-komputer apabila setiap indeks ganjil (math-based) ditambahkan dengan

1.

Kasus:

Solusi:

Algoritma dan pemrograman C++ Tampilan jalannya program:

zL[0] = -2

Konstruksi algoritma

zL[1] = 4

zL[2] = 11

zL[3] = 0

zL[4] = -99

zL[5] = 3

zL[6] = 6+ 1

+ 1 + 1

zL[7] = 9

+1

Ada delapan bilangan dalam bentuk numerik di-input-kan oleh end-user. Tulislah

algoritma dan pemrograman C++ untuk menampilkan kedelapan bilangan ke

layar-komputer apabila setiap indeks ganjil (math-based) ditambahkan dengan -1.

Kasus:

Algoritma dan pemrograman C++ Tampilan jalannya program:

Solusi:

zL[0] = -2

Konstruksi algoritma (misalkan: -2 3 4 12 3 0 56 3)

zL[1] = 3

zL[2] = 4

zL[3] = 12

zL[4] = 3

zL[5] = 0

zL[6] = 56- 1

- 1 - 1

zL[7] = 3

-1

Jika x1 merupakan nilai logarima bilangan dasar 10, maka tulislah algoritma dan

pemrograman C++ untuk menampilkan sepuluh bilangan bulat nilai logarima

bilangan dasar 10 pertama yang tersimpan dalam x1.

Kasus:

Solusi: agar sepuluh bilangan dapat tertampung dalam satu variabel, maka variabel tsb

harus dalam bentuk array.

Algoritma dan pemrograman C++ Tampilan jalannya program:

Jika x1 merupakan nilai logarima bilangan dasar 10, maka tulislah algoritma dan

pemrograman C++ untuk menampilkan sepuluh bilangan bulat nilai logarima

bilangan dasar 10 dimana bilangan pertama didapatkan dari end-user dan

tersimpan dalam x1.

Kasus:

Solusi:

Algoritma dan pemrograman C++ Tampilan jalannya program:

Penjelasan: Oleh sebab lebar dan

domain data sangat lebar maka

digunakan tipe-data: double.

Jika x1 merupakan nilai perpangkatan bilangan 3, maka tulislah algoritma dan

pemrograman C++ untuk menampilkan sepuluh bilangan bulat nilai perpangkatan

bilangan dasar 3 dimana bilangan pertama didapatkan dari end-user dan

tersimpan dalam x1.

Kasus:

Solusi:

Algoritma dan pemrograman C++ Tampilan jalannya program:

Jika x1 merupakan nilai akar pangkat 3 suatu bilangan, maka tulislah algoritma

dan pemrograman C++ untuk menampilkan secara horisontal sepuluh bilangan

nilai akar pangkat 3 secara menurun dimana bilangan pertama didapatkan dari

end-user dan tersimpan dalam x1.

Kasus:

Solusi:

Algoritma dan pemrograman C++ Tampilan jalannya program: