Dokumen tersebut merupakan materi tentang algoritma dan pemrograman array serta contoh-contoh soal dan penyelesaiannya menggunakan bahasa C++. Terdapat penjelasan konsep algoritma, konstruksi algoritma, dan kode program C++ untuk menyelesaikan berbagai masalah yang melibatkan penggunaan array.
1. Algoritma dan Pemrograman – I (4 sks)
Array dan Terapannya
Ir. Sihar, MT.
T. Informatika – Fak. Teknologi Informasi
Bandung – 2007
2. 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.
3. 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:
4. 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:
5. 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:
6. 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.
7. 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:
AlgoritmadanpemrogramanC++
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)
8. 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
9. 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’
10. 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:
11. 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
12. 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
13. 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
14. 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:
15. 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.
16. 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:
17. 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: