SUB PROGRAM (FUNGSI)

dokumen-dokumen yang mirip
PROCEDURE DAN FUNCTION

MATERI IV ARRAY. Materi Praktikum Pemograman Bahasa C++ dengan menggunakan variabel Array

Contoh function 1 : Output : // function example The result is 8 #include <iostream.h>

Function. Function adalah satu blok instruksi yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program. Format dari function :

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

Pertemuan Function. Obyektif Praktikum : 1. Mengerti konsep dasar penggunaan Function

FUNGSI. tipe Tipe nilai yang dihasilkan oleh fungsi. Jika tidak dinyatakan, hasil fungsi dianggap bilangan bulat (int)

KU-1072 PENGENALAN TEKNOLOGI INFORMASI B (PTI B)

MODUL 7 FUNGSI A. Tujuan. B. Petunjuk. C. Dasar Teori

SUB PROGRAM P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

Struktur Kontrol. Contoh, Akan tercetak x is 100 jika nilai yang disimpan pada variable x adalah 100:

SUBPROGRAM (SUBRUTIN)

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

BAB 6 FUNGSI TUJUAN PRAKTIKUM

Algoritma Pemrograman 2B (Pemrograman C++)

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

Algoritma dan Pemrograman. Pertemuan Ke-11 Function

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

Spesifikasi: Ukuran: 14x21 cm Tebal: 225 hlm Harga: Rp Terbit pertama: Februari 2005 Sinopsis singkat:

3. Struktur Perulangan dalam Bahasa C++

MODUL. Fungsi (Function) Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

FUNCTIONS. Function adalah satu blok instruksi yang akan dieksekusi ketika dipanggil dari bagian lain dalam suatu program.

FUNGSI II. Variabel Statis. Sifat variabel statis: Sintaks: static tipe_data nama_variabel; Contoh: static int angka;

PEMROGRAMAN BERORIENTASI OBJEK

BAB VII. FUNCTION. A. Pengantar Function. #include <iostream.h> #include <conio.h> { clrscr(); // detail function

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

Praktikum Modul Praktikum ke Judul Materi Tujuan / Sasaran Waktu (lama) Aplikasi yang digunakan

Subprogram (dalam Bahasa C++ + Flowchart)

Pengenalan C++ Oleh : Dewi Sartika

Fungsi. Fungsi. Dasar Komputer & Pemrograman 1. dipecah Sub Program. Program. Dasar Komputer & Pemrograman TC22052 Kartika Firdausy - UAD

Kurikulum Qt. Chapter 4 Function. Fungsi

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA April 1, 2010 BAB 8 REKURSIF

KONSEP DASAR. menyusunnya menjadi potongan-potongan mudah untuk ditangani dibanding. conquer.

UJIAN TENGAH SEMESTER KU1072/PENGENALAN TEKNOLOGI INFORMASI B SEM /2014

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2016

PERTEMUAN 7 REVIEW (QUIZ)

Alpro & Strukdat 1 C++ (Sub Program) Dwiny Meidelfi, S.Kom., M.Cs.

Program menjadi terstruktur Dapat mengurangi pengulangan kode program. Fungsi dapat diimplementasikan dalam tiga bentuk :

3. Struktur Perulangan dalam C++

BAB 6. FUNGSI. Tujuan penggunaan fungsi : 1. Program menjadi terstruktur 2. Dapat mengurangi pengulangan kode program.

SL 1201 Materi tentang Fungsi

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-5 Rekursif

Selection / Pemilihan PEMILIHAN

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

MODUL. Pointer. Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

Kontrak Kuliah. Stored Procedures and Function. Edi Sugiarto, S.Kom, M.Kom

Tipe Data dan Variabel

Identifier dan Tipe Data

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

Pemrograman Dasar C. Minggu 6

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

Untuk mengurangi pengulangan program yang sama agar program menjadi terstruktur, rapi dan lebih mudah dikembangkan.

PERTEMUAN 3 KONSEP TIPE DATA

OPERASI PERNYATAAN KONDISI

PERTEMUAN 2 KONSEP DASAR PEMROGRAMAN

Fungsi, Parameter, Rekursi

5. Fungsi. S. Indrianii L, M.T

Array 1 A. TUJUAN PEMBELAJARAN

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA

8.1 FUNGSI, DEKLARASI DAN DEFINISI NYA

Algoritme dan Pemrograman

PROSEDUR DAN FUNGSI (PROCEDURE & FUNCTION)

POINTER. Pemrograman Bahasa C++

Fungsi : Dasar Fungsi

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI

Memudahkan dalam pengembangan program Menghemat ukuran program

Sedangkan bentuk umum pendefinisian fungsi adalah : Tipe_fungsi nama_fungsi(parameter_fungsi) { statement statement... }

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Fungsi. Fungsi. y = f (x) = x m = jumlah ( a, b ) = a + b

Algoritma & Pemrograman FUNGSI. Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Bahasa C melengkapi fasilitas modular dengan menggunakan fungsi pada setiap SubProgram. Contoh pembagian program menjadi beberapa subprogram.

ilmu bahasa pemrograman ilmu c++ Copyright izie ilmu c++

Pemrograman Dasar M E T H O D / F U N G S I

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

Kurikulum Qt. { Basic OOP } Chapter 4. Function

December 11 PROSEDUR AKHMAD BILYYASIF.

MODUL V PERULANGAN. Perulangan digunakan untuk menjalankan satu atau lebih perintah secara berulang selama kondisi tertentu.

Komentar, Identifier, Konstanta dan Variabel

Function. Contoh function 1 : // function example #include <stdio.h> int addition (int a, int b){ int r; r=a+b; return (r); }

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

int fungsi_2() { int main() { fungsi_1(); fungsi_2(); return 0;

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Pointer & Function. Alfa Faridh Suni, S.T., M.T. PTIK

Tutorial 08 Pertemuan 12

INF-103 Pemrograman II FUNGSI C++ Dr. Taufik Fuadi Abidin, M.Tech Irvanizam, M.Sc. Program Studi Informatika FMIPA UNIVERSITAS KUALA

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

IT234 - Algoritma dan Struktur Data. Ramos Somya

MATERI/BAHAN PRAKTIKUM FUNGSI

Aplikasi Rekursif dalam Analisis Sintaks Program

MODUL 1 PENGENALAN PROGRAM C++ DAN PERNYATAAN MASUKAN-KELUARAN

BAB 4 PENGENALAN BAHASA C

Transkripsi:

MATERI V SUB PROGRAM (FUNGSI) Materi Praktikum Pemograman Bahasa C++ dengan menggunakan Fungsi Durasi 180 menit TIU/TIK 1. Pendahuluan 2. Pemahaman Prosedur dan Fungsi 3. Parameter Fungsi 4. Fungsi Rekursif 5. Fungsi Call By 6. Fungsi Overloading Referensi 1. Diktat dan Literatur 2. Schildt, C++: The Complete Reference Third Edition, McGraw-Hill, 1998 MTSI04

I. PENDAHULUAN Pada awal perkenalan bahasa C++ telah dibahas singkat seputar algoritma. Dasarnya, algoritma adalah suatu pemetaan yang membantu kita dalam merancang program. Hal ini dikarenakan sifat dari program adalah suatu proses tertentu yang memiliki susunan instruksi yang pasti. Masalah yang seringkali timbul adalah dalam suatu program dibutuhkan proses yang harus terjadi berulang-ulang. Mungkin proses perulangan menggunakan for atau while dapat mengatasi masalah ini. Namun kita akan membutuhkan hal lain apabila proses yang berulang itu adalah suatu program yang skalanya dapat dikatakan relatif kompleks. Fungsi/Prosedur merupakan suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas/perintah tertentu dan letaknya terpisah dari program utama. Dalam kesempatan ini kita akan membahas dengan fokus terhadap dua hal, yaitu prosedur dan fungsi. Pada dasarnya prosedur merupakan fungsi juga, namun prosedur tidak memberikan nilai balik seperti halnya fungsi. Format dari penulisan fungsi ini adalah : tipe_data namafungsi [daftar_parameter] instruksi-instruksi dalam fungsi return (nilai_balik_fungsi); Selain format penulisan yang perlu diketahui, dalam pembentukan program yang melibatkan banyak fungsi kita perlu memahami struktur umum yang terjadi dalam program tersebut, yaitu : a. Prototype (prosedur / fungsi pendukung) tipe_data namafungsi [daftar_parameter] Pada bagian ini, prosedur/fungsi pendukung yang akan digunakan pada fungsi utama dideklarasikan. Karena sifatnya yang berupa prototype, kita hanya perlu mendeklarasikan tipe data, nama fungsi, dan daftar parameter. b. Prosedur / Fungsi Utama main () instruksi-instruksi dalam fungsi prosedur/fungsi pendukung digunakan return [nilai_balik_fungsi]; Bagian ini adalah dimana fungsi utama dijalankan. Ciri khas yang membedakan fungsi utama ini dengan yang lainnya adalah fungsi ini dinamakan main. Hal ini menunjukkan bahwa instruksi-instruksi yang berada di dalam fungsi ini adalah instruksi yang akan dijalankan pertama kali. Instruksi-instruksi pada fungsi lain hanyalah bersifat pendukung. Bagian

c. Prosedur / Fungsi Pendukung tipe_data namafungsi [daftar_parameter] instruksi-instruksi dalam fungsi return [nilai_balik_fungsi]; Bagian ketiga ini adalah tempat prosedur/fungsi pendukung dijelaskan. Nama daripada fungsi ini telah dideklarasikan pada bagian prototype. Kemudian, instruksi yang ada di dalam fungsi pendukung dijelaskan rinci disini. II. PEMAHAMAN PROSEDUR DAN FUNGSI Sebelum melangkah lebih jauh, mari kita pahami lebih dalam mengenai fungsi dalam bahasa C++. Andaikan kita menemukan soal fungsi seperti ini : F (x) = 2x + 3 Fungsi dalam bahasa C++ prinsipnya sama dengan fungsi dalam matematika. Kita akan mempunyai suatu instruksi (proses dengan operator matematika), suatu variabel input ( x ), dan suatu nilai balik ( F(x) ). Dengan kata lain, fungsi matematika di atas dapat diterjemahkan menjadi berikut : int jumlah (int x) int y; y = 2*x+3; return (y); SUBPROGRAM : PROSEDUR Untuk lebih mudah memahaminya, perhatikan contoh berikut : INPUT DATA #1: main() cout << "Mencoba membuat bintang TANPA prosedur pendukung:\n"; cout << " * * * * * * * *\n"; OUTPUT DATA #1: Mencoba membuat bintang TANPA prosedur pendukung: * * * * * * * * KETERANGAN Perhatikan contoh di atas. Program di atas dapat kita namakan prosedur. Inti dari program tersebut adalah untuk mencetak karakter bintang, tanpa mengembalikan suatu nilai. Kita juga dapat membuat suatu prosedur dengan mengembalikan nilai dari program tersebut dengan nilai 0 (nol). Bagian II. PEMAHAMAN PROSEDUR DAN FUNGSI

Selanjutnya, perhatikan contoh prosedur dengan bantuan prosedur pendukung : INPUT DATA #2: void buatbintang(); //prototype prosedur main() cout << "Mencoba membuat bintang DENGAN prosedur pendukung:\n"; buatbintang(); //panggil prosedur buatbintang() void buatbintang() cout << " * * * * * * * *\n"; //pendefenisian prosedur OUTPUT DATA #2: Mencoba membuat bintang DENGAN prosedur pendukung: * * * * * * * * KETERANGAN Program di atas juga berupa prosedur. Namun pada program ini, kita menggunakan bantuan prosedur pendukung. Kita dapat melihat adanya prototype prosedur, prosedur utama dan prosedur pendukung. Pada fungsi utama, terjadi proses pemanggilan prosedur pendukung, yaitu dengan cara memanggil nama prosedurnya. Berikut adalah bentuk dari fungsi : INPUT DATA #3: SUBPROGRAM : FUNGSI int kali (int, int); int main () int y; y = kali (5,3); cout << "Hasilnya adalah " << y; int kali (int a, int b) int x; x = a * b; return (x); Bagian II. PEMAHAMAN PROSEDUR DAN FUNGSI

OUTPUT DATA #3: Hasilnya adalah 15 KETERANGAN Fungsi pendukung dipanggil pada fungsi utama dengan cara memanggil nama fungsinya. Kita dapat melihat proses: y = kali (5,3); Proses tersebut memanggil fungsi kali. Berikutnya nilai 5 disimpan ke variabel a dan nilai 3 disimpan ke variabel b. Dengan mengikuti instruksi dari fungsi kali, nilai a dan b dikalikan dan hasilnya disimpan pada variabel x. Nilai dari x ini kemudian dikembalikan dan disimpan ke dalam variabel y. Apabila kita akan membuat program yang jauh lebih rumit, maka fungsi ini akan sangat terasa manfaatnya. III. PARAMETER FUNGSI Secara garis besar, paramater data yang sering digunakan untuk fungsi adalah Parameter Data Biasa dan Parameter Data Array. Bentuk dari Parameter Data Biasa adalah bentuk parameter yang bertipe skalar, misalnya int, float, double, char, dan lain sebagainya. Berikut adalah contoh Fungsi Data Terbesar dengan menggunakan parameter data biasa : INPUT DATA #4: int terbesar(int, int, int); // prototype fungsi main () int a, b, c; cout << "Tulis tiga angka bulat : "; cin >> a; cout << "Tulis tiga angka bulat : "; cin >> b; cout << "Tulis tiga angka bulat : "; cin >> c; cout << "Nilai terbesar adalah: " << terbesar (a, b, c); // memanggil fungsi pendukung int terbesar(int x, int y, int z) // fungsi pendukung int maks = x; if (y > maks) maks = y; if (z > maks) maks = z; return maks; OUTPUT DATA #4: Tulis angka bulat pertama : 20 Tulis angka bulat pertama : 45 Tulis angka bulat pertama : 33 Nilai terbesar adalah: 45 Bagian III. PARAMETER FUNGSI

Untuk menggunakan Parameter Data Array, terdapat penulisan khusus untuk melakukannya. Berikut adalah contohnya : INPUT DATA #5: void cetakarray(int data[ ]); //prototype fungsi cetakarray main() int angka[ ] = 4,2,5,8; cetakarray (angka); //memasukkan data ke dalam Array //fungsi cetakarray dengan mengirimkan per angka void cetakarray(int data[ ]) //prosedur(tanpa nilai balik) for (int i=0; i<4; i++) cout << " Data ke-" << i+1 << " : " << data[i]; cout << "\n"; OUTPUT DATA #5: Data ke-1 : 4 Data ke-2 : 2 Data ke-3 : 5 Data ke-4 : 8 KETERANGAN Parameter Data Array memiliki ciri kurung siku ( [...] ) di dalam daftar parameter fungsi. Namun struktur program sisanya tetap sama dengan Parameter Data Biasa. IV. FUNGSI REKURSIF Fungsi rekursif adalah sebuah fungsi atau prosedur dimana salah satu isinya adalah pemanggilan kepada fungsi/prosedur yang sama dengan dirinya. INPUT DATA #6: unsigned long faktorial(unsigned long); int main() for (int i = 0; i <= 10; i++) cout << i << "! = " << faktorial(i) << "\n"; unsigned long faktorial(unsigned long angka) if (angka <= 1) return 1; else return angka * faktorial(angka - 1); Bagian IV. FUNGSI REKURSIF

OUTPUT DATA #6: 0! = 1 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880 10! = 3628800 KETERANGAN Perhatikan instruksi dari fungsi pendukung faktorial. Jika nilai angka masih diatas 1, maka kondisi if tidak terpenuhi. Hasilnya, proses akan berlanjut dengan memanggil fungsi faktorial (angka-1). Proses inilah yang dinamakan rekursif. Fungsi yang memanggil dirinya sendiri hingga akhirnya tercapai suatu kondisi yang dapat mengakhirinya. V. FUNGSI CALL BY Dalam menggunakan fungsi, kita membutuhkan data parameter berupa variabel. Variabel tersebut dapat dieksekusi dengan menggunakan call by value atau call by reference. Untuk mudah memahaminya, perhatikan contoh berikut : INPUT DATA #7: int kuadratbyvalue(int); int kuadratbyreference(int &); int main() int x = 3, z = 5; cout << "x = " << x << " sebelum kuadratbyvalue\n"; cout << "Nilai yang dikembalikan oleh kuadratbyvalue: " << kuadratbyvalue(x) << "\n"; cout << "x = " << x << " setelah kuadratbyvalue\n\n"; cout << "z = " << z << " sebelum kuadratbyreference \n"; cout << "Nilai yang dikembalikan oleh kuadratbyreference: " << kuadratbyreference(z) << "\n"; cout << "z = " << z << " setelah kuadratbyreference \n\n"; int kuadratbyvalue(int nilai) return nilai *= nilai; int kuadratbyreference(int &referensi) return referensi *= referensi; OUTPUT DATA #7: x = 3 sebelum kuadratbyvalue Nilai yang dikembalikan oleh kuadratbyvalue: 9 x = 3 setelah kuadratbyvalue z = 5 sebelum kuadratbyreference Nilai yang dikembalikan oleh kuadratbyreference: 25 z = 25 setelah kuadratbyreference Bagian V. FUNGSI CALL BY

KETERANGAN Perhatikan baik-baik program di atas. Perbedaan terletak pada saat nilai variabel kembai dicetak setelah melewati proses pemanggilan fungsi. Pada kasus call by value, nilai x adalah 3, sama dengan saat fungsi kuadratbyvalue belum dipanggil. Sedangkan pada kasus call by reference, nilai z berubah menjadi 25 ketika mencetak kembali. Call by Value : Hanya nilai dalam variabelnya diambil kemudian diproses lebih lanjut. Akan tetapi nilai yang terdapat pada variabel asal tidak terganggu (tidak mengalami perubahan). Singkat kata, kita hanya meng-copy nilai yang ada dalam variabel x. Call by Reference : Nilai beserta variabelnya ikut diproses bersamaan dengan pemanggilan fungsi. Hasilnya, nilai dalam variabel z akan ikut berubah mengikuti hasil dari fungsi call by reference. Untuk menggunakan pemanggilan ini, kita harus menyertakan tanda (&) sebelum nama variabelnya. Mari kita lihat bersama program berikut ini : INPUT DATA #8: VI. FUNGSI OVERLOADING void buatgaris(int tot); void buatgaris(int tot, char karakter); void buatgaris(char karakter, int tot); //prototype prosedur int main() buatgaris(8); cout << " Pemanggilan pertama :\n"; buatgaris(15, '+'); cout << " Pemanggilan kedua :\n"; buatgaris('*', 5); cout << " Pemanggilan ketiga :\n"; buatgaris(10); void buatgaris(int tot) for (int i=0; i<tot; i++) cout << " _"; cout << "\n\n"; //prosedur(tanpa nilai balik) void buatgaris(int tot, char karakter) //prosedur(tanpa nilai balik) for (int j=0; j<tot; j++) cout << " " << karakter; cout << "\n\n"; void buatgaris(char karakter, int tot) //prosedur(tanpa nilai balik) for (int k=0; k<tot; k++) cout << " " << karakter; cout << "\n\n"; OUTPUT DATA #8: Pemanggilan pertama : + + + + + + + + + + + + + + + Pemanggilan kedua : * * * * * Pemanggilan ketiga : Bagian VI. FUNGSI OVERLOADING

KETERANGAN Fungsi Overloading ditunjukkan pada program di atas. Kita dapat melihat terdapat 3 buah fungsi (dalam hal ini berupa prosedur) yang memiliki nama fungsi yang serupa yaitu, buatgaris. Meskipun begitu, setiap fungsi memiliki data parameter yang berlainan dan proses instruksi yang berlainan pula. VII. HASIL CAPAIAN 1. Mahasiswa mengetahui dan memahami pengertian subprogram, baik dalam bentuk prosedur maupun fungsi 2. Mahasiswa mampu membuat program sederhana yang menerapkan pemakaian subprogram 3. Mahasiswa mampu membuat program yang melibatkan proses-proses tertentu, seperti call by, overloading dan rekursif Bagian VII. HASIL CAPAIAN

VIII. ANALISA DAN TUGAS Suatu perusahaan sedang menghitung (rekap) hasil penjualan yang terjadi dalam kurun waktu satu tahun. Jumlah penjualan dihitung untuk setiap bulannya kemudian dilakukan perhitungan total dan rata-rata penjualan untuk tahun tersebut. Tugas Anda adalah membuat program tersebut beserta algoritmanya dengan ketentuan : 1. KRITERIA UTAMA yang harus terdapat dalam program tersebut adalah : a. Program dapat menyimpan nama perusahaan, tahun penjualan, dan nilai penjualan untuk setiap bulannya. b. Nilai penjualan untuk setiap bulan dapat ditampilkan dalam bentuk angka dan grafik sederhana. c. Program dapat menghitung total penjualan dan rata-rata penjualan dalam satu tahun. d. Program dapat menyimpulkan apakah status penjualan untuk tahun tersebut bersifat UNTUNG, BALIK MODAL, atau RUGI. 2. KRITERIA TAMBAHAN yang dapat Anda tambahkan adalah : a. Program memiliki sistem error-handling. Misalkan dapat mengantisipasi apabila input yang dimasukkan salah. b. Program memiliki sistem yang mudah untuk digunakan (user-friendly). Program HARUS mencakup : - Proses input/output (dengan perintah cin/cout) - Penggunaan percabangan (if-conditional) - Penggunaan proses perulangan (looping) - Penggunaan array - Penggunaan fungsi (minimal 2 (dua) buah fungsi/prosedur) CATATAN : Terlampir contoh hasil program. Tugas dikumpulkan kepada asisten. (format file *.cpp. Berikan Nama dan NIM anda pada bagian atas program). Bagian VIII. ANALISA DAN TUGAS