Praktikum 04 IF2132 Revisi

8
Praktikum 04 IF2132 / Pemrograman Komputer Semester I 2014/2015 IF2132_Praktikum04 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_<nim>_XXy.c dengan: <nim> : 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: 3. Seluruh file di-upload setelah dikompres menjadi 1 file dengan nama: P04_<nim>.zip atau P04_<nim>.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 /* NIM/Nama : Nama file : Topik : Tanggal : Deskripsi : */

description

prokom

Transcript of Praktikum 04 IF2132 Revisi

Page 1: Praktikum 04 IF2132 Revisi

Praktikum 04 IF2132 / Pemrograman KomputerSemester I 2014/2015

IF2132_Praktikum04

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_<nim>_XXy.c

dengan:

<nim> : 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:

3. Seluruh file di-upload setelah dikompres menjadi 1 file dengan nama: P04_<nim>.zip

atau P04_<nim>.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 ☺

/* NIM/Nama :

Nama file :

Topik :

Tanggal :

Deskripsi : */

Page 2: Praktikum 04 IF2132 Revisi

Praktikum 04 IF2132 / Pemrograman KomputerSemester I 2014/2015

IF2132_Praktikum04

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 ArrayBuatlah 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.

Page 3: Praktikum 04 IF2132 Revisi

Praktikum 04 IF2132 / Pemrograman KomputerSemester I 2014/2015

IF2132_Praktikum04

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

-end-

Masukan -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

-end-

Masukan -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

-end-

Page 4: Praktikum 04 IF2132 Revisi

Praktikum 04 IF2132 / Pemrograman KomputerSemester I 2014/2015

IF2132_Praktikum04

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

-end-

3. 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 bukan palindrom

• Buatlah sebuah fungsi Palindrom yang memeriksa apakah elemen-elemen sebuah

array adalah palindrom atau bukan.

• Buatlah sebuah prosedur BacaArrayChar yang berfungsi untuk mengisi array

sesuai input user.

Page 5: Praktikum 04 IF2132 Revisi

Praktikum 04 IF2132 / Pemrograman KomputerSemester I 2014/2015

IF2132_Praktikum04

• 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 nilai Huruf[0] : mMasukkan nilai Huruf[1] : aMasukkan nilai Huruf[2] : lMasukkan nilai Huruf[3] : aMasukkan nilai Huruf[4] : m

Palindrom

====================================PALINDROM

====================================

Masukkan ukuran array : 2

Masukkan nilai Huruf[0] : iMasukkan nilai Huruf[1] : kMasukkan nilai Huruf[2] : a

Bukan Palindrom

4. Prosedur, Fungsi, dan ArrayHidrokarbon 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.

Page 6: Praktikum 04 IF2132 Revisi

Praktikum 04 IF2132 / Pemrograman KomputerSemester I 2014/2015

IF2132_Praktikum04

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

Page 7: Praktikum 04 IF2132 Revisi

Praktikum 04 IF2132 / Pemrograman KomputerSemester I 2014/2015

IF2132_Praktikum04

......

Sampel[n]

Bensin: x mol

Oksigen: y mol

========

Hasil output

Sampel[1]

Sempurna

Jumlah Karbon Dioksida: 8 mol

Jumlah Air: 9 mol

......

Sampel[n]

<Hasil Pembakaran>

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

Page 8: Praktikum 04 IF2132 Revisi

Praktikum 04 IF2132 / Pemrograman KomputerSemester I 2014/2015

IF2132_Praktikum04

1 3

Output 120

==============================

Input 5 6 1 10 3

4 1

Output 3628800