• Tidak ada hasil yang ditemukan

Pertemuan 18. Function (Fungsi) Script Program :

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pertemuan 18. Function (Fungsi) Script Program :"

Copied!
12
0
0

Teks penuh

(1)

Pertemuan 18

Function (Fungsi)

Fungsi merupakan blok dari kode yang dirancang untuk melaksanakan tugas khusus.

Pada intinya fungsi berguna untuk :

 Mengurangi pengulangan penulisan program yang berulang atau sama.

 Program menjadi terstruktur sehingga mudah dipahami. Struktur Fungsi :

tipe_data nama_fungsi (parameter) { pernyataan/statement; pernyataan/statement; } Contoh Soal : Tampilan Input : Script Program : #include<conio.h> #include<stdio.h> #include<iostream.h> garis() { cout<<"---"<<endl; }

int hasil(int uts,int uas) { return ((uts+uas)/2); } main() { char nim[8],nama[20],*ket,lagi; int uts,uas; float rata; ulang: clrscr(); garis();

cout<<"\tPerhitungan Nilai Mahasiswa"<<endl; garis();

cout<<"Nomor Induk Mahasiswa : ";cin>>nim; cout<<"Nama Mahasiswa : ";gets(nama); cout<<"Nilai UTS : ";cin>>uts; cout<<"Nilai UAS : ";cin>>uas; rata=hasil(uts,uas);

if (rata>60) {ket="LULUS";} ---

Perhitungan Nilai Mahasiswa

--- Nomor Induk Mahasiswa : <input>

Nama Mahasiswa : <input>

Nilai UTS : <input>

Nilai UAS : <input>

--- Nilai Rata-Rata Mahasiswa dengan NIM <output> adalah <output>

--- Input Data Lagi [Y|T]…?

(2)

else

{ket="GAGAL";} garis();

cout<<"Nilai Rata-Rata Mahasiswa dengan NIM "<<nim<<" adalah : "<<rata<<endl;

garis();

cout<<"Input Data Lagi [Y|T]...? ";cin>>lagi; if (lagi=='Y' || lagi=='y')

{goto ulang;} getch();

}

Latihan Soal :

Tampilan Input dan Output :

Ketentuan Soal :

Buat Fungsi untuk menghitung Total Bayar.

--- Transaksi Penjualan Handphone

--- Nomor Transaksi : <input>

Nama Pembeli : <input> Merk Handphone : <input> Tipe Handphone : <input> Kondisi [Baru|Second] : <input>

Harga : <input>

Jumlah Beli : <input>

--- Total Bayar : Rp. <output>

--- Uang Bayar : Rp. <input>

Uang Kembali : Rp. <output>

--- TERIMA KASIH…

(3)

Pertemuan 19

Function (Fungsi) Lanjutan

Contoh Soal : Tampilan Input :

Tampilan Output :

Ketentuan Soal :

Sebuah Toko Kue mempunyai daftar menu sebagai berikut :

Kode Daftar Kue Harga

BB Bolu Black Forest Rp. 60.000 CC Chesse Cake Rp. 45.000 BC Banana Cake Rp. 25.500 SC Strawbery Cake Rp. 35.000

 Gunakan perintah percabangan (if dan strcmp) untuk menentukan harga kue.

 Jumlah Bayar = Harga Kue x Jumlah Beli.  Buat Fungsi untuk mencetak garis.

 Buat Fungsi untuk menentukan Nama dan Harga Kue.  Buat Fungsi untuk menghitung Jumlah Bayar.

Script Program : #include<conio.h> #include<stdio.h> #include<iostream.h> garis() { cout<<"---"<<endl; }

int hitung(int harga,int jumbel) {

return harga*jumbel; }

char* nakue(char kokue[2]) DAFTAR MENU TOKO “NIKMAT”

*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--* 1. BOLU BLACK FOREST (BB) 2. CHESSE CAKE (CC) 3. BANANA CAKE (BC) 4. STRAWBERI CAKE (SC) Nama Pembeli : --- Kode Kue : Jumlah Beli :

TOKO KUE “NIKMAT” STRUK PEMBAYARAN *--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--* Nama Pembeli : Kode Kue : Nama Kue : Harga Kue : Rp. Jumlah Kue : --- Jumlah Bayar : Rp.

(4)

{

if (!strcmp(kokue,"BB") || !strcmp(kokue,"bb")) {return "Bolu Black Forest";}

else

if (!strcmp(kokue,"CC") || !strcmp(kokue,"cc")) {return "Chesse Cake";}

else

if (!strcmp(kokue,"BC") || !strcmp(kokue,"bc")) {return "Banana Cake";}

else

{return "Strawbery Cake";} }

int harga(char kokue[2]) { if (!strcmp(kokue,"BB") || !strcmp(kokue,"bb")) {return 65000;} else if (!strcmp(kokue,"CC") || !strcmp(kokue,"cc")) {return 45000;} else if (!strcmp(kokue,"BC") || !strcmp(kokue,"bc")) {return 25000;} else {return 35000;} } main() { char kokue[2],nama[30]; int jumbel,jumbay; clrscr();

cout<<"DAFTAR MENU TOKO NIKMAT"<<endl; cout<<"*--*--*--*--*--*--*--*--*"<<endl; cout<<"1. BOLU BLACK FOREST (BB)"<<endl;

cout<<"2. CHESSE CAKE (CC)"<<endl; cout<<"3. BANANA CAKE (BC)"<<endl; cout<<"4. STRAWBERI CAKE (SC)"<<endl; cout<<endl;

cout<<"Nama Pembeli : ";gets(nama); garis();

cout<<"Kode Kue : ";cin>>kokue; cout<<"Jumlah Beli : ";cin>>jumbel; jumbay=hitung(harga(kokue),jumbel);

clrscr();

cout<<" TOKO KUE NIKMAT"<<endl; cout<<" STRUK PEMBAYARAN"<<endl;

cout<<"*--*--*--*--*--*--*--*--*--*--*--*--*"<<endl; cout<<"Nama Pembeli : "<<nama<<endl;

cout<<"Kode Kue : "<<kokue<<endl;

cout<<"Nama Kue : "<<nakue(kokue)<<endl; cout<<"Harga Kue : Rp. "<<harga(kokue)<<endl; cout<<"Jumlah Kue : "<<jumbel<<endl;

garis();

cout<<"Jumlah Bayar : Rp. "<<jumbay<<endl; cout<<endl;

cout<<" TERIMA KASIH ATAS KUNJUNGANNYA"<<endl; getch();

(5)

Pertemuan 20

STRUCTURE

Structure digunakan untuk mengelompokkan sejumlah data yang mempunyai tipe data yang berbeda. Variable-variable yang membentuk sebuah structure dinamakan elemen structure. Structure sama seperti record.

Penggunaan structure nama_structur.nama_variabel Deklarasi Structure struct { elemen structure ; …. …. } nama_tipe_structure ;

Contoh :

Tampilan Input :

Tampilan Output :

Ketentuan Soal : 1. Uang pendaftaran 100000.

2. Biaya materi ditentukan berdasarkan Nama Paket dan Materi. Paket

Kode

Materi Nama Materi Reguler Intensif Private

VB Visual Basic 300000 500000 800000

WP Web Programming 400000 800000 1000000

3. Total Bayar = Uang Pendaftaran + Biaya Materi. 4. Bonus diperoleh berdasarkan Total Bayar. SE7EN Computer Center

--- Tanggal Pendaftaran : <input>

No Pendaftaran : <input>

--- Nama Pendaftar : <input>

Pilihan Paket [1] Reguler [2] Intensif [3] Private

Pilih Kode Paket [1|2|3] : <input> Pilihan Materi

[VB] Visual Basic

[WP] Web Programming : <input> Pilih Kode Materi : <input>

SE7EN Computer Center Data Pendaftaran

--- Tanggal Pendaftaran : <output>

No Pendaftaran : <output> Uang Pendaftaran : <output>

--- Nama Pendaftar : <output>

Paket Yang Dipilih : <output> Materi Yang Dipilih : <output> Biaya Materi : Rp. <output> Total Bayar : Rp. <output>

Potongan : Rp. <output>

Jumlah Bayar : Rp. <output>

Bonus : <output>

--- Uang Muka : Rp. <input>

(6)

Jika Total Bayar > 1000000 maka akan mendapatkan Potongan 10% dari Total Harga dan Bonus Flash Disk 8 GB, selain itu hanya mendapat bonus Flash Disk 2 GB.

5. Sisa Angsuran = Total Bayar – Uang Muka.

6. Buat structur untuk mengelompokkan data kursus dengan nama kursus. Script Program : #include<conio.h> #include<stdio.h> #include<iostream.h> main() { struct { char kopaket,*nmpaket,komateri[2],*nmmateri; long biaya; }kursus; char tanggal[10],nodaf[10],nama[20],*bonus; long pot,jumbay,tobia,umuka,sisaang; const udaftar=100000; clrscr();

cout<<" SE7EN Computer Center"<<endl;

cout<<"---"<<endl; cout<<"Tanggal Pendaftaran : ";gets(tanggal);

cout<<"No Pendaftaran : ";cin>>nodaf;

cout<<"---"<<endl; cout<<"Nama Pendaftar : ";gets(nama);

cout<<"Pilihan Paket"<<endl; cout<<"[1] Reguler"<<endl; cout<<"[2] Intensif"<<endl; cout<<"[3] Private"<<endl;

cout<<"Pilih Kode Paket [1|2|3] : ";cin>>kursus.kopaket; cout<<"Pilihan Materi"<<endl;

cout<<"[VB] Visual Basic"<<endl; cout<<"[WP] Web Programming"<<endl;

cout<<"Pilih Kode Materi : ";cin>>kursus.komateri; if (kursus.kopaket=='1') {kursus.nmpaket="Reguler";} else if (kursus.kopaket=='2') {kursus.nmpaket="Intensif";} else {kursus.nmpaket="Private";} if (!strcmp(kursus.komateri,"VB")) { kursus.nmmateri="Visual Basic"; if (kursus.kopaket=='1') {kursus.biaya=300000;} else if (kursus.kopaket=='2') {kursus.biaya=500000;} else {kursus.biaya=800000;} } else {kursus.nmmateri="Web Programming"; if (kursus.kopaket=='1') {kursus.biaya=400000;} else if (kursus.kopaket=='2') {kursus.biaya=800000;} else {kursus.biaya=1000000;} } tobia=udaftar+kursus.biaya; if (tobia>=1000000) {pot=0.1*tobia;bonus="Flash Disk 8 GB";} else {pot=0;bonus="Flash Disk 2 GB";} jumbay=tobia-pot; clrscr();

cout<<" SE7EN Computer Center"<<endl;

cout<<"---"<<endl; cout<<"Tanggal Pendaftaran : "<<tanggal<<endl;

cout<<"No Pendaftaran : "<<nodaf<<endl;

cout<<"Uang Pendaftaran : Rp. "<<udaftar<<endl; cout<<"---"<<endl; cout<<"Nama Pendaftar : "<<nama<<endl;

(7)

cout<<"Materi Yang Dipilih : "<<kursus.nmmateri<<endl; cout<<"Biaya Materi : Rp. "<<kursus.biaya<<endl; cout<<"Total Biaya : Rp. "<<tobia<<endl;

cout<<"Potongan : Rp. "<<pot<<endl; cout<<"Jumlah Bayar : Rp. "<<jumbay<<endl; cout<<"Bonus : "<<bonus<<endl;

cout<<"---"<<endl; cout<<"Uang Muka : Rp. ";cin>>umuka;

sisaang=tobia-umuka;

cout<<"Sisa Angsuran : Rp. "<<sisaang; getch();

}

Pertemuan 21

STRUCTURE – ARRAY – FUNCTION

• Total Upah = Upah Harian + Upah Lembur • Jam kerja normal adalah 8 jam.

(8)

• Jika jumlah jam kerja lebih dari 8 jam maka sisa jam kerjanya dihitung lembur.

• Upah Lembur = (Jumlah Jam Kerja – 8) * Upah Lembur per jam. • Total Upah = Upah Harian + Upah Lembur

Script Program : #include<iostream.h> #include<iomanip.h> #include<conio.h> #include<stdio.h> int harian (int gol) { if(gol==1) {return 25000;} else if(gol==2) {return 15000;} else {return 10000;} }

int lembur (int gol) { if(gol==1) {return 7500;} else if(gol==2) {return 5000;} else {return 3500;} } main() { struct { char nama[20]; int jamkerja,gol; float totalupah,lembur,harian; }buruh[100];

(9)

int i,j;

long total=0; clrscr();

cout<<" PT. KARYA PRIMA MANDIRI"<<endl; cout<<"---"<<endl;

cout<<"Perhitungan Upah Buruh Harian"<<endl; cout<<"Banyak Data Buruh : ";cin>>j;

cout<<endl; for(i=1;i<=j;i++) {

cout<<"Data Ke - "<<i<<endl;

cout<<"Nama Pegawai : ";gets(buruh[i].nama); cout<<"Golongan [1/2/3] : ";cin>>buruh[i].gol; cout<<"Jumlah Jam Kerja : ";cin>>buruh[i].jamkerja; if(buruh[i].jamkerja > 8 ) {buruh[i].lembur=(buruh[i].jamkerja- 8)* lembur(buruh[i].gol);} else {buruh[i].lembur=0;} cout<<endl; buruh[i].totalupah=harian(buruh[i].gol)+buruh[i].lembur; total=total+buruh[i].totalupah; } clrscr();

cout<<" PT. KARYA PRIMA MANDIRI"<<endl; cout<<"---"<<endl;

cout<<"No. Nama Buruh Gol Upah Harian Upah Lembur Total Upah"<<endl; cout<<"---"<<endl; for(i=1;i<=j;i++) { cout<<setiosflags(ios::left)<<setw(4)<<i; cout<<setiosflags(ios::left)<<setw(13)<<buruh[i].nama; cout<<setiosflags(ios::left)<<setw(6)<<buruh[i].gol; cout<<setiosflags(ios::left)<<setw(14)<< harian(buruh[i].gol); cout<<setiosflags(ios::left)<<setw(14)<<buruh[i].lembur; cout<<setiosflags(ios::left)<<setw(10)<< buruh[i].totalupah; cout<<endl; } cout<<"---"<<endl;

cout<<"Total Uang Yang Dikeluarkan Perusahaan : Rp. "<<total<<endl;

cout<<"---"<<endl; getch();

(10)

class { public : elemen class ; …. …. } nama_class ;

Pertemuan 22

CLASS

Class merupakan struktur data dari object. Class mempunyai persamaan dengan structure.

Bentuk Umum :

Contoh :

Tampilan Input :

Tampilan Output :

Ketentuan :

1. Perintah input : Nama Pembeli,Kode Pizza, Kode Ukuran, Ukuran Jumlah Beli dan Uang Bayar.

2. Buat class dengan nama pizza dengan anggota : Kode Pizza, Nama Pizza, Ukuran dan Harga.

3. Proses :

Nama dan Harga Pizza ditentukan berdasarkan Kode dan Ukuran Pizza :

Ukuran Pizza Kode

Pizza

Nama

Pizza Personal Sedang Besar

ML Meat Lovers 30000 50000 80000

--- TOKO PIZZA LEZAT

--- Nama Pembeli : <input>

Nama Pizza [ML] Meat Lovers [SS] Super Suprime [BP] Beetato Peeperoni

Kode Pizza : <input> Ukuran [P|S|B] : <input> Jumlah Beli : <input>

--- DETAIL PEMBELIAN PIZZA

--- Nama Pembeli : <output>

Nama Pizza : <output> Ukuran Pizza : <output> Harga Pizza : Rp. <output> Jumlah Beli : <output>

--- Sub Total : Rp. <output>

Potongan : Rp. <output>

Total Bayar : Rp. <output>

--- Uang Bayar : Rp. <input>

Uang Kembali : Rp. <output>

--- Input Data Lagi [Y | T] : <input>

(11)

SS Super Suprime 40000 60000 90000

BP Beetato Peeperoni 50000 70000 100000

4. Sub Total = Harga * Jumlah Beli.

5. Jika Jumlah Beli > 5 maka akan mendapatkan potongan 10% dari Sub Total, selain itu akan mendapatkan potongan 5% dari Sub Total.

6. Total Bayar = Subtotal – Potongan.

7. Uang Kembali = Uang Bayar – Total Bayar. Script Program :

#include<conio.h> #include<stdio.h> #include<iostream.h>

Char *ukuranpizza(char koukur) { if(koukur=='P') {return"Personal";} else if(koukur=='S') {return"Sedang";} else {return"Besar";} } main() { class { public: char kopizza[2],*napizza,koukur,*ukuran; int harga; }pizza; char nama[20],lagi; float jumbel,subtotal,potongan,tobay,ubay,ukem; awal: clrscr(); cout<<"---"<<endl; cout<<" TOKO PIZZA LEZAT"<<endl;

cout<<"---"<<endl; cout<<"Nama Pembeli : ";gets(nama);

cout<<"Nama Pizza"<<endl;

cout<<"[ML] Meat Lovers"<<endl; cout<<"[SS] Super Supreme"<<endl; cout<<"[BP] Beetato Peeperoni"<<endl;

cout<<"Kode Pizza : ";cin>>pizza.kopizza; cout<<"Ukuran [P|S|B] : ";cin>>pizza.koukur; cout<<"Jumlah Beli : ";cin>>jumbel;

if(!strcmp(pizza.kopizza,"ML")) { pizza.napizza="Meat Lovers"; if(pizza.koukur=='P') {pizza.harga=30000;} else if(pizza.koukur=='S') {pizza.harga=50000;} else {pizza.harga=80000;} } else if(!strcmp(pizza.kopizza,"SS")) { pizza.napizza="Super Supreme"; if(pizza.koukur=='P') {pizza.harga=40000;} else if(pizza.koukur=='S') {pizza.harga=60000;} else {pizza.harga=90000;} } else { pizza.napizza="Beetato Peeperoni"; if(pizza.koukur=='P') {pizza.harga=50000;} else

(12)

if(pizza.koukur=='S') {pizza.harga=70000;} else {pizza.harga=100000;} } subtotal=jumbel*pizza.harga; if(jumbel>5) {potongan=0.1*subtotal;} else {potongan=0.05*subtotal;} tobay=subtotal-potongan; clrscr(); cout<<"---"<<endl; cout<<" DETAIL PEMBELIAN PIZZA"<<endl;

cout<<"---"<<endl; cout<<"Nama Pembeli : "<<nama<<endl;

cout<<"Nama Pizza : "<<pizza.napizza<<endl; cout<<"Ukuran Pizza :

"<<ukuranpizza(pizza.koukur)<<endl;

cout<<"Harga : Rp. "<<pizza.harga<<endl; cout<<"Jumlah Beli : "<<jumbel<<endl;

cout<<"---"<<endl; cout<<"Subtotal : Rp. "<<subtotal<<endl;

cout<<"Potongan : Rp. "<<potongan<<endl; cout<<"Total Bayar : Rp. "<<tobay<<endl;

cout<<"---"<<endl; cout<<"Uang Bayar : Rp. ";cin>>ubay;

ukem=ubay-tobay;

cout<<"Uang Kembali : Rp. "<<ukem<<endl;

cout<<"---"<<endl; cout<<"Input Data Lagi [Y/T]...? ";cin>>lagi;

if(lagi=='Y'||lagi=='y') {goto awal;}

getch(); }

Referensi

Dokumen terkait

Tabel 7.4: Estimasi &amp; Proyeksi Jumlah ODHA, Infeksi Baru HIV, Kematian AIDS dan Kebutuhan ART Populasi Usia 15-49 Tahun di Indonesia. --- Table 7.4: Estimation

Hasil yang didapatkan dengan pendekatan metode wawancara dan pengumpulan dokumentasi dalam pengajuan pembiayaan kredit ini diharapkan ada suatu aplikasi formulir

Analisis proses pelaksanaan bimbingan agama Islam dalam meningkatkan religiusitas ABH di Pondok Pesantren Raden Sahid, melibatkan komponen bimbingan agama Islam

Indonesia sebagai negara yang tidak terlibat dalam konflik Laut Cina Selatan kini mulai terseret ke dalam pusaran konflik tersebut dikarenakan Cina juga memasukkan

Puji syukur kepada Tuhan Yang Maha Esa karena berkat Karunia-Nya, penulis dapat menyelesaikan tugas akhir yang berjudul “Perbedaan Pengaruh Penerapan Model

Hal yang paling berpengaruh terhadap kecepatan waktu transpor mukosilia hidung adalah kelompok yang terpapar debu gamping dengan p=0,07 dibandingkan dengan status

Menurut Reeves (2001) dalam Umiasih (2009), koefi sien hasil (Y) didefi nisikan sebagai tingkat pembentukkan biomassa mikroba atas penggunaan substrat selama fase

Keberadaan hutan kemiri pada saat ini merupakan bukti nyata bahwa petani sekitar hutan memiliki kemampuan yang dapat diandalkan dalam pengelolaan hutan kemiri, dengan kata