Praktikum 04 IF2132 / Pemrograman Komputer Semester I 2014/2015 Topik: Prosedur, Fungsi, dan Array Tujuan : Memahami program sederhana yang menerapkan prosedur dan fungsi. Aturan Pelaksanaan: 1. Tuliskan jawaban setiap soal di sebuah file teks yang diberi nama P04_
_XXy.c dengan:
: NIM peserta.
XX
: nomor soal (2 digit, contoh: 01).
y
: butir soal (contoh: a), diisi hanya jika dibutuhkan.
2. Untuk setiap file yang Anda buat, buat header sebagai berikut: /* NIM/Nama
:
Nama file
:
Topik
:
Tanggal
:
Deskripsi
:
*/
3. Seluruh file di-upload setelah dikompres menjadi 1 file dengan nama: P04_.zip atau P04_.tar.gz. 4. HANYA FILE YANG DAPAT DI-COMPILE YANG AKAN DIPERIKSA. File yang tidak dapat di-compile akan otomatis mendapatkan nilai 0. 5. Tugas ini bersifat INDIVIDUAL. Tidak ada toleransi bagi pencontek. Jika terbukti, baik yang dicontek maupun yang mencontek akan mendapatkan nilai 0. 6. Ikuti petunjuk asisten untuk pengumpulan tugas ini. Selamat bekerja ☺
IF2132_Praktikum04
Praktikum 04 IF2132 / Pemrograman Komputer Semester I 2014/2015 Deskripsi Soal Buatlah program-program berikut dalam bahasa C++ 1. Prosedur, Fungsi, dan Array (Tidak Dikerjakan) Seorang petualang memiliki tas yang berisi 6 slot. Tas tersebut dapat diisi barang apapun untuk keperluan petualangan. Buatlah sebuah program yang mengatur isi tas tersebut. Tas dilambangkan dengan array string yang memiliki 6 buah tempat yang dapat diisi oleh string. String merupakan nama barang yang akan dibawa petualang tersebut. Petualang dapat mengisi tas dengan barang, melihat isi tas, dan mengosongkan tas. Ketentuan : 1. Array dibuat di sebuah prosedur bernama MakeBag(); 2. Proses memasukkan barang ke dalam tas dibuat sebagai fungsi insertItem(); yang membutuhkan masukan string dan mengembalikan nilai 0. (fungsi yang diperlakukan seakan-akan sebagai prosedur) 3. Sang petualang hanya dapat mengosongkan tas secara langsung, dibuat dengan prosedur emptyBag(); 4. Array yang dibuat adalah array global. Contoh: Input
50
Output
D
2. Prosedur, Fungsi, dan Array Buatlah sebuah program tulis dan baca nilai. Program ini menggunakan satu array berisi 20 yang diisi oleh nilai bertipe integer dengan range 0-100. Program ini memiliki 2 buah prosedur yaitu inputNilai dan bacaNilai. Prosedur inputNilai meminta pengguna untuk memasukan nilai bertipe integer sebanyak 20 kali atau kurang. User dapat menghentikan proses masukan dengan mengisi nilai -999. Program akan memberi tahu pengguna bila pengguna sudah tidak bisa memasukan nilai ke array. IF2132_Praktikum04
Praktikum 04 IF2132 / Pemrograman Komputer Semester I 2014/2015 Prosedur bacaNilai dapat menampilakan nilai dari indeks yang pengguna minta. Contoh: Masukan -999 untuk berhenti memasukan nilai Nilai ke-1: 90 Nilai ke-2: 70 Nilai ke-3: -999 Indeks keberapa yang ingin dilihat nilainya? 2 Nilai: 70 -endMasukan -999 untuk berhenti memasukan nilai Nilai ke-1: 90 Nilai ke-2: 70 Nilai ke-3: -999 Indeks keberapa yang ingin dilihat nilainya? 4 Indeks tidak terdaftar -endMasukan -999 untuk berhenti memasukan nilai Nilai ke-1: 90 Nilai ke-2: 70 . . . Nilai ke-20: 60 Indeks sudah penuh Indeks keberapa yang ingin dilihat nilainya? 2 70 -endIF2132_Praktikum04
Praktikum 04 IF2132 / Pemrograman Komputer Semester I 2014/2015
Masukan -999 untuk berhenti memasukan nilai Nilai ke-1: 90 Nilai ke-2: 110 Masukan salah Nilai ke-2: -999 Indeks keberapa yang ingin dilihat nilainya? 1 Nilai: 90 -end3. Prosedur, Fungsi, dan Array Diberikan sebuah array karakter yang bernama Huruf dan berukuran n elemen. Susunan elemen-elemen array tersebut membentuk sebuah kata. Akan ditentukan apakah kata yang dibentuk oleh rangkaian elemen tersebut bersifat palindrom. Sebuah kata bersifat palindrom jika dibaca dari kiri atau kanan menghasilkan kata yang sama. Contoh : m
a
l
a
m
palindrom
k
a
t
a
k
palindrom
t
a
a
t
palindrom
k
u
r
s
i
•
Buatlah sebuah fungsi Palindrom yang memeriksa apakah elemen-elemen sebuah
bukan palindrom
array adalah palindrom atau bukan. •
Buatlah sebuah prosedur BacaArrayChar yang berfungsi untuk mengisi array sesuai input user.
IF2132_Praktikum04
Praktikum 04 IF2132 / Pemrograman Komputer Semester I 2014/2015 •
Buatlah sebuah program utama yang meminta user membuat sebuah array sesuai masukan user, mengisi array dengan prosedur BacaArrayChar, dan menentukan apakah elemen array tersebut adalah palindrom dengan fungsi Palindrom.
Contoh: ==================================== PALINDROM ==================================== Masukkan ukuran array : 4 Masukkan Masukkan Masukkan Masukkan Masukkan
nilai nilai nilai nilai nilai
Huruf[0] Huruf[1] Huruf[2] Huruf[3] Huruf[4]
: : : : :
m a l a m
Palindrom ==================================== PALINDROM ==================================== Masukkan ukuran array : 2 Masukkan nilai Huruf[0] : i Masukkan nilai Huruf[1] : k Masukkan nilai Huruf[2] : a Bukan Palindrom
4. Prosedur, Fungsi, dan Array Hidrokarbon jika dibakar idealnya akan menghasilkan air dan karbon dioksida. Pada bahan bakar minyak terjadi hal yang sama ketika dilakukan pembakaran. Namun ada kalanya pembakaran terjadi tidak sempurna karena kurangnya oksigen. Buatlah sebuah prosedur untuk mengetahui apakah pembakaran sempurna atau tidak sempurna. Prosedur menerima masukan jumlah bensin dan oksigen. Prosedur akan menampilkan hasil pembakaran beserta kadar zat yang dihasilkan oleh pembakaran.
IF2132_Praktikum04
Praktikum 04 IF2132 / Pemrograman Komputer Semester I 2014/2015 Catatan : Bensin yang digunakan memiliki RON 100 (murni Oktana). Gas yang digunakan untuk pembakaran hanya oksigen, tidak termasuk gas lain di udara. Jenis masukan bensin dan oksigen dalam satuan mol. Berikut ini reaksi kimia pembakarannya : Reaksi Pembakaran: C8H18 + 25/2 O2 → 8 CO2 + 9 H2O Untuk pembakaran tidak sempurna, cari sisa mol bensin yang tidak terbakar. Sisa bensin tersebut adalah jumlah bensin awal dikurangi jumlah bensin yang terbakar sempurna (mengikuti jumlah oksigen). Jadi pada pembakaran tidak sempurna terdapat sisa bensin yang tidak terbakar. Pada pembakaran sempurna, jumlah oksigen yang berlebih tidak perlu ditampilkan. Pengguna akan memasukan banyaknya sampel yang akan dimasukkan. Program akan meminta masukan bensin dan oksigen sebanyak jumlah sampel tadi. Tips : Buat tipe bentukan bensin Typedef struct { int bensin; Int oksigen; } Sample; Kemudian buat array Sample sebanyak jumlah sample dari pengguna. Berikut contoh tampilan: ======= Masukan jumlah sample: n ======= Masukan sampel: Sampel[1] Bensin: 1 Oksigen: 13 Sampel[2] Bensin: 2 Oksigen: 26 IF2132_Praktikum04
Praktikum 04 IF2132 / Pemrograman Komputer Semester I 2014/2015 ...... Sampel[n] Bensin: x mol Oksigen: y mol ======== Hasil output Sampel[1] Sempurna Jumlah Karbon Dioksida: 8 mol Jumlah Air: 9 mol ...... Sampel[n] Jumlah Karbon Dioksida: x mol Jumlah Air: y mol 5. Prosedur, Fungsi, dan Array Buatlah sebuah prosedur baca5() yang meminta input 5 bilangan, lalu memvalidasi bilangan-bilangan tersebut. Jika bilangan-bilangan tersebut >= 1 dan < 13, maka input valid dan dimasukkan ke dalam sebuah array global, dan jika tidak valid maka minta user untuk input kembali. Buatlah sebuah fungsi max(int a, int b) yang mengembalikan nilai yang maksimal antara a dan b. Kemudian buatlah fungsi faktorial(int n) yang akan mengembalikan nilai faktorial dari n. (factorial(5) = 1 x 2 x 3 x 4 x 5 = 120) Buatlah program utama yang akan memanggil prosedur baca5(), kemudian membaca input 2 bilangan a dan b, lalu mencari nilai factorial dari max(array ke-a, array ke-b). Contoh: Input
5 6 1 10 3
IF2132_Praktikum04
Praktikum 04 IF2132 / Pemrograman Komputer Semester I 2014/2015 13 Output
120
============================== Input
5 6 1 10 3 41
Output
3628800
IF2132_Praktikum04