IRMA WATI ,,,,,11.1B.12
Borland c++
Rabu, 03 Juli 2013
Rabu, 27 Juni 2012
pertemuan 12
Class untuk Object Oriented Programming (OOP)
1. Pengertian OOP
Object Oriented Programming atau yang lebih dikenal dengan OOP adalah pemrograman yang menitikberatkan kepada objek-objek untuk menyelesaikan tugas atau proses dari program tersebut. Sedangkan penitikberatkan ini dimaksudkan adanya interaksi pengiriman nilai, pesan atau pernyataan antar objek. Kemudian objek yang merespon hasil dari interaksi tersebut akan membentuk suatu tindakan atau aksi (methode).
Class
Calss merupakan gambaran atau abstraksi karakter dan sifat dari suatu objek. Class juga dapat mendefinisikan ciri dan perilaku objek tersebut.
Object
Object (objek) adalah suatu data atau entitas yang berwujud maupun tidak berwujud, memiliki sifat (karakteristik) tertentu sesuai dengan kondisi atau status dari penggunaannya. Data atau entitas di dalam pemrograman dapat disebut dengan blok
fungsi.
Contoh pensil adalah suatu objek yang memiliki attribute (karakter) jenis, warna, panjang dan lain-lain.
Methode merupakan tata cara objek tersebut diperlakukan, atau penggunaan atau manfaat dari objek tersebut. Pensil juga memiliki methode (perilaku) seperti diruncingkan, digunakan dan lainlain.
1. Keuntungan Penggunaan OOP
Adapun keuntungan atau manfaat dari penggunaan OOP adalah:
1. Natural
OOP dapat melakukan pendekatan terhadap objek yang menggambarkan segala sesuatu yang nyata, seperti sifat suatu benda maupun kegunaan dari benda tersebut.
2. Modular
Objek yang sudah dibentuk dapat dikelompokkan kembali dengan objek-objek yang lain, seperti kelompok alat tulis yang dapat dikelompokkan kembali dengan kelompok pensil, kelompok buku dan lain-lain.
3. Mudah diperbaharui
Dikarenakan sifat jangkauan dari objek memiliki bagian private dan public, maka jika bagian private ingin digunakan pada objek-objek lain dapat diperbaharui dengan menempatkan objek lain tersebut di bagian public.
4. Dapat didaur ulang
Suatu objek yang telah didefinisikan baik jenis, bentuk, ciri maupun perilaku dapat didefinisikan kembali dengan objek yang lain. Misalkan objek rumah yang memiliki ciri umum ada pintunya, jendelanya, atapnya, temboknya dan lian-lain, dapat didefinisikan kembali ciri-ciri tersebut dengan menyebutkan cirinya masingmasing seperti temboknya yang memiliki ciri jenisnya, ketebalannya, warna catnya dan lain-lain.
2. Tata Cara Penggunaan Pemrograman Berbasis
Obyek:
1. Fungsi dan data menjadi satu kesatuan yang disebut obyek
2. Obyek-obyek dalam OOP bersifat aktif
3. Cara pandang : program bukan urut-urutan instruksi tapi diselesaikan oleh
obyek-obyek yang bekerjasama untuk menyelesaikan masalah
Bentuk umum dari kelas:
Contoh deklarasi :
Pernyataan diatas digunakan untuk mendefinisikan variabel bernama sport. Pada C++ variabel seperti sport berkedudukan sebagai variabel kelas yang biasa disebut dengan objek.
Pada sebuah kelas, item-item di dalamnya bisa bersifat private atau public. Secara default, semua item di dalam kelas bersifat private. Jadi tanpa menuliskan kata kunci private, semua item di dalam kelas sudah private.
A. Public pada kelas
Public (public) menyatakan bahwa deklarasi variabel atau item-item yang ada di dalam kelas dapat diakses dari luar kelas.
B. Private pada Kelas
Private digunakan pada kelas untuk memproteksi anggota-anggota tertentunya agar tidak dapat diakses dari luar kelas secara langsung
2. Konstruktor
Konstruktor (constructor) merupakan suatu fungsi dari anggota suatu kelas yang memiliki nama yang sama dengan nama kelas fungsi itu berada. Konstruktor ini digunakan untuk mengalokasikan ruang untuk suatu objek dan untuk memberikan nilai awal.
3. Destruktor
Destruktor merupakan suatu fungsi anggota yang dijalankan secara otomatis manakala suatu objek akan terbebas dari memori karena lingkup keberadaannya telah menyelesaikan tugasnya.
Destruktor harus mempunyai nama yang sama dengan kelas dan diawali karakter tilde(~) atau karakter tak terhingga. Destruktor digunakan secara khusus manakala suatu objek menggunakan memori dinamis selama keberadaannya dan kemudian melepaskan memori itu setelah tidak menggunakannya lagi.
4. Array pada Kelas
Anggota dari suatu kelas dapat pula berupa array. Berikut ini contoh anggota dari suatu kelas yang berupa array.
5. Karakterisitk OOP
Di dalam penggunaan konsep pemrograman yang berbasis objek atau yang disebut Object Oriented Pemrograman (OOP), haruslah memiliki karakteirstik. Adapun karakteristik tersebut adalah memiliki sifat turunan atau pewarisan (Inheritance), satu nama memiliki banayak sifat atau perilaku (Polymorphism),
pembungkusan sifat dari objek yang berbeda (Encapsulation). Berikut akan dijelaskan karakteristik OOP tersebut:
1. Inheritance
Inheritance memungkinkan programmer untuk "menurunkan" sebuah class menjadi class lain yang lebih spesifik dan memiliki fungsi yang lebih komplit. Inheritance merepresentasikan hubungan "seperti" atau "sejenis" (a kind of). Sebagai contoh, sebuah perahu motor adalah seperti perahu namun dengan kemampuan lebih, yakni memiliki motor. Contoh lain adalah kendaraan jenis mobil (sebagai super class) dan memiliki tipe sport (sebagai subclass), bila digabung menjadi mobil sport. Ketika kita menurunkan sebuah class dari class yang lain, class yang baru akan mewarisi semua attribute dan method dari class yang sudah ada. Class yang
sudah ada disebut dengan base class atau super class atau parent class dan class yang baru disebut dengan derived class atau subclass, atau child class. Dengan inheritance, kita dapat men daur ulang program kita atau bahkan men daur ulangprogram orang lain agar sesuai dengan kebutuhan kita. Tanpa inheritance, kelas merupakan sebuah unit yang berdiri sendiri. Inheritance akan membentuk suatu konsep dimana jika konsep yang diatas berubah maka perubahan akan juga berlaku pada yang ada dibawahnya. Inherate sangat mirip
dengan hubungan orang tua dengan anak. Manakala suatu kelas menerima warisan, semua anggota data dan fungsi juga akan menerima warisan, walalupun tidak semuanya akan dapat di akses oleh anggota fungsi dari kelas.
Di dalam C++ penentuan akses pada inheritance ada tiga macam, yaitu :
1. Public
Penentuan akses berbasis public menyebabkan anggota dari public dari sebuah kelas utama akan menjadi anggota public kelas turunan dan menyebabkan juga anggota protect kelas utama menjadi anggota protect kelas turunan, namun untuk anggota kelas private tetap pada private kelas utama.
2. Private
Penentu akses berbasis private menyebabkan anggota dari anggota public dari kelas utama akan menjadi anggota protect kelas turunan, dan menyebabkan anggota dari kelas utama menjadi anggota protect kelas turunan, namun untuk anggota kelas private tetap pada private kelas utama.
3. Protected
Penentu akses berbasis protect menyebabkan anggota dari anggota protect dan public dari kelas utama akan menjadi anggota private dari kelas turunan. Anggota private dari kelas utama selalu menjadi anggota private kelas utama. Pada waktu mendeklarasikan suatu kelas, anda dapat menandai bahwa suatu kelas berasal dari mana, yaitu dengan tanda titik dua (:) setelah nama kelas, tipe asalnya bias berupa public atau yang lainnya dan dari kelas mana berasal. Berikut penulisan sintaksisnya:
Class kucing_besar : Public predator
2. Polymorphism
Polymorphisms adalah kemampuan 2 buah object yang berbeda untuk merespon pesan permintaan yang sama dalam suatu cara yang unik. Contoh, saya melatih lumba-lumba saya dengan perintah untuk meloncat dan juga saya melatih burung untuk merespon perintah saya untuk berkicau. Saya lakukan latihan untuk
merespon kepada mereka dengan perintah lisan. Melalui polymorphism saya tahu bahwa anjing dan burung akan merespon dengan gonggongan atau kicauan. Dengan cara dan kemampuan seperti ini, jenis akses tertentu dapat diterapakan dengan berbagai cara oleh objek-objek yang memiliki tipe yang berbeda atau memiliki banyak bentuk. Fungsi virtual merupakan dasar dari polymorphism yang berkerja hanya dengan pointer-pointer dan referensi dan hanya mendeklarasikan method sebagai virtual.
Adapun aturan dari virtual function sebagai berikut:
1. Virtual function harus anggota class.
2. Anggota class bukan anggota yang bersifat statis.
3. Anggota class dapat diakses dengan pointer objek.
4. Virtual function tidak dapat memiliki virtual constructor, akan tetapi dapat berupa virtual destructor.
3. Encapsulation
Ciri penting lainnya dari OOP adalah encapsulation. Encapsulation adalah sebuah proses dimana tidak ada akses langsung ke data yang diberikan, bahkan hidden. Jika ingin mendapat data, maka harus berinteraksi dengan objek yang bertanggung jawab atas dara tersebut. Berikut cirri dari encapsulation:
1. Variabel dan method dalam suatu obyek dibungkus agar terlindungi
2. Untuk mengakses, variabel dan method yang sudah dibungkus tadi perlu
interface
3. Setelah variabel dan method dibungkus, hak akses terhadapnya dapat ditentukan.
4. Konsep pembungkusan ini pada dasarnya merupakan perluasan dari tipe data
struktur
Dua hal dalam enkapsulasi :
1. Information hiding
2. Menyediakan perantara (method) untuk mengakses data
Pada intinya, encapsulation adalah pemisahan antara bagian private dan public pada sebuah objek. Atau, dapat dipandang sebagai pemisahan antara interface (bagian private) dan implementation (bagian public).
Objek-objek lain yang hendak berinteraksi dengan objek ini akan mengirimkan sebuah pesan (message) dan objek ini akan mengerjakan sesuatu dan mengirimkan pesan balik sebagai jawaban jika diperlukan.
Keuntungan utama dari encapsulation tentu saja adalah penyembunyian implementasi (implementation hiding). Dengan implementation hiding, kita dapat memperbaiki bagaimana objek kita bekerja tanpa harus khawatir bagaimana menginformasikan perubahan tersebut ke objek-objek yang lain. Selama kita tidak merubah interface dari objek kita, objek-objek yang lain akan tetap dapat menggunkan objek kita.
pertemuan 11
Structure
Struktur digunakan untuk mengelompokan sejumlah data yang mempunyai
tipe data yang berbeda. Variabel-variabel yang membentuk sebuah struktur
dinamakan elemen struktur. Struktur sama seperti Record di dalam Bahasa
Pemrograman Pascal
1. Deklarasi Structure
Structure dapat deklarasikan seperti berikut:
2. Structure dengan Array dan Function
Penggunaan Array sering dikaitkan dengan Structure, sehingga membentuk
Array dari Structure. Berikut bentuk deklarasi array struktur:
Suatu elemen-elemen dari suatu Struktur dapat dikirimkan ke dalam suatu
function dengan cara yang sama seperti mengirimkan suatu variabel sederhana ke
dalam suatu function.
pertemuan 10
* FUNGSI*
- Mengurangi pengulangan penulisan program yang berulangan atau sama.
- Program menjadi lebih terstruktur, sehingga mudah dipahami dan dapat lebih dikembangkan.
Fungsi-fungsi yang sudah kita kenal sebelumnya adalah fungsi main(), yang bersifat mutlak, karena fungsi ini program akan dimulai, sebagai contoh yang lainnya fungsi printf(), cout() yang mempunyai tugas untuk menampilkan informasi atau data kelayar dan masih banyak lainnya.
Struktur Fungsi
Sebuah fungsi sederhana mempunyai bentuk penulisan sebagai berikuT :
Nama_fungsi(argumen)
{
… pernyataan / perintah;
… pernyataan / perintah;
… pernyataan / perintah;
}
Keterangan:
- Nama fungsi, boleh dituliskan secara bebas dengan ketentuan, tidak menggunakan spasi dan nama-nama fungsi yang mempunyai arti sendiri.
- Argumen, diletakan diantara tanda kurung “( )” yang terletak dibelakang nama fungsi. Argumen boleh diisi dengan suatu data atau dibiarkan kosong.
- Pernyataan / perintah, diletakan diantara tanda kurung ‘{ }’. Pada pemanggilan sebuah fungsi, cukup dengan menuliskan nama fungsinya.
Prototipe dan Parameter Fungsi
Prototipe merupakan uraian dari blok fungsi yang dapat digunakan untuk mendeklarasikan ke kompiler mengenai:
• Tipe data keluaran dari fungsi.
• Jumlah parameter yang digunakan
• Tipe data dari masing-masing parameter yang digunakan.
Prototipe fungsi dituliskan di atas blok program utama dan diakhiri dengan tanda qualifier titik koma ( ; ), sedangkan blok program fungsi yang mengandung perintah-perintah atau pernyataan-pernyataan dari program berada di bawah blok program utama yang memiliki keuntungan sebagai berikut:
• Kompiler akan melakukan konversi antara tipe parameter dalam definisi dan parameter fungsi.
• Jika jumlah parameter yang digunakan dalam definisi fungsi dan pada saat pemanggilan fungsi berbeda atau tidak sama, maka akan menunjukkan kesalahan.
Sedangkan yang dimaksud dengan parameter pada fungsi adalah suatu pendefinisian nilai-nilai dari objek-objek yang dideklarasikan pada bagian argumen di fungsi. Nilai-nilai pada objek-objek tersebut didapat dari variabel-variabel yang barada pada program utama.
Terdapat dua macam para parameter fungsi, yaitu :
• Parameter formal adalah variabel yang terdapat pada daftar parameter yang berada didalam definisi fungsi.
• Parameter Aktual adalah variabel yang digunakan pada pemanggilan suatu fungsi.
Bentuk penulisan Parameter Formal dan Parameter Aktual
Di dalam bahasa C++ ada dua cara untuk melewatkan nilai-nilai parameter ke dalam fungsi dari nilai-nilai variabel, yaitu:
Pemanggilan dengan nilai ( Call by Value )
Pada pemanggilan dengan nilai yaitu nilai dari parameter aktual akan dimasukkan ke parameter formal. Dengan cara ini nilai parameter aktual tidak dapat berubah, walaupun nilai dari parameter formal berubah.
Pemanggilan dengan Referensi (Call by Reference)
Pemanggilan dengan referensi merupakan pemanggilan nilai suatu parameter di dalam fungsi ke parameter actual yang disimpan pada alamat memori dengan menggunakan pointer. Cara ini dapat dipakai untuk mengubah isi suatu parameter aktual dengan melaksanakan pengubahan nilai dari suatu parameter yang dilakukan di dalam fungsi.
Pernyataan return().
Digunakan untuk mengirimkan nilai atau nilai dari suatu fungsi kepada fungsi yang lain yang memanggilnya. Pernyataan return() diikuti oleh argumen yang berupa nilai yang akan dikirimkan. Syarat utama dalam pembuatan fungsi return adalah nama fungsi yang dapat mengembalikan nilai, dikarenakan nilai hasil dari
parameter formal akan disimpan pada nama fungsi.
Jenis Variabel
Jenis Variabel pada C++ ini sangat berguna didalam penulisan suatu fungsi agar penggunaan didalam penggunaan suatu variabel tidak salah. Terdapat beberapa jenis variabel yaitu:
• Variabel Lokal.
• Variabel Eksternal atau Global.
• Variabel Statis.
Variabel Lokal
Variabel Lokal adalah variabel yang dideklarasikan didalam fungsi dan hanya dikenal oleh fungsi yang bersangkutan. Variabel lokal biasa disebut dengan Variabel Otomatis.
Variabel Eksternal
Variabel Eksternal adalah variabel yang dideklarasikan diluar fungsi yang bersifat global yang artinya dapat digunakan bersama-sama tanpa harus dideklarasikan berulang-ulang. Untuk pendeklarasian variabel ekternal ini, diluar dari fungsi main(), yang selama ini pendeklarasian variabel selalu didalam fungsi main().
Variabel Statis
Variabel Statis dapat berupa variabel local atau variabel eksternal Sifat variabel statis ini mempunyai sifat antar lain.
• Jika variabel statis bersifat local, maka variabel hanya dikenal oleh fungsi tempat variabel dideklarasikan.
• Jika variabel statis bersifat eksternal, maka variabel dapat dipergunakan oleh semua fungsi yang terletak pada file yang sama ditempat variabel statis dideklarasikan.
• Jika tidak ada inisialisasi oleh pemrograman secara otomatis akan diberikan nilai awal nol.
Suatu variabel statis diperoleh dengan menambahkan kata-kunci static didepan penentu tipe data variabel.
Fungsi inline
Fungsi inline ( inline function ) digunakan untuk mengurangi lambatnya eksekusi program dan mempercepat eksekusi program terutama pada program yang sering menggunakan atau memanggil fungsi yang berlebih. terutama programprogram yang menggunakan pernyataan perulangan proses seperti for, while dan do –while.Inline function dideklarasikan dengan menambahkan kata kunci inline didepan tipe data.
Function Overloading
Function Overloading adalah mendefinisikan beberapa fungsi, sehingga memiliki nama yang sama tetapi dengan parameter yang berbeda. Dapat diartikan bahwa fungsi yang overload berarti menyediakan versi lain dari fungsi tersebut. Salah satu kelebihan dari C++ adalah Overloading. Sebagai contoh membentuk fungsi yang sama dengna tipe yang berbeda-beda dan dibuatkan pula nama fungsi yang berbeda-beda pula.
Minggu, 17 Juni 2012
pertemuan 9
POINTER
Pointer merupakan sebuah variabel yang berisi alamat dari variabel lain. Suatu pointer digunakan untuk menunjukan ke suatu alamat memori sehingga alamat dari suatu variabel dapat diketahui dengan mudah.
** Operator Pointer
Terdapat dua macam operator pointer yang disediakan oleh Borland C++ :
1. Operator dereference ( & )
2. Operator reference ( * )
1. Operator Dereference ( & )
Didalam mendeklarasikan suatu variabel harus pada lokasi yang pasti didalam penggantian memori.Pada umumnya kita tidak dapat menentukan dimana variabel akan ditempatkan Terkadang secara otomatis dilakukan oleh kompiler dan sistem operasi yang sedang aktif, tetapi sesekali sistem operasi akan memberikan banyak alamat yang kita tidak mengetahui dimana variabel ditempatkan. Hal ini dapat dilakukan dengan memberikan suatu identifier “&” (ampersand sign) didepan nama variabel, operator ini biasa disebut dengan “address of” atau operator alamat. Dengan menggunakan operator dereference ( & ) ini, suatu variabel akan menghasilkan alamat lokasi memori.
2. Operator Reference ( * )
Dengan menggunakan operator anda dapat mengakses secara langsung nilai yang terdapat didalam variabel yang berpointer, hal ini dapat dilakukan dengan menambahkan identifier asterisk ( * ), agar dapat menterjemahkan nilai sebenarnya dari suatu variabel. Operator ini biasa disebut dengan “value pointed by”.
Dengan menggunakan operator reference ( * ) ini, menghasilkan nilai yang berada pada suatu alamat memori.
** Deklarasi Pointer Pada Konstanta
Suatu pointer dapat dideklarasikan secara konstanta atau secara tetap tidak dapat diubah. Untuk mendeklarasikan pointer secara konstanta dengan memberikan kata const didepan nama konstanta.
Bentuk penulisan:
tipe_data * const nama_konstanta;
** Deklarasi Pointer Pada Variabel
Karena keakhlian dari pointer untuk menunjuk secara langsung kesuatu nilai, memeriksa satu persatu data yang memiliki pointer pada saat variabel tersebut pertama kali dideklarasikan.
Bentuk penulisan:
tipe_data *nama_variabel;
** Pointer Pada Pointer
Tidak terbatas menunjuk alamat dari suatu variabel, pointer dapat pula menunjuk ke pointer lainnya. Didalam pendeklarasianya, hanya menambahkan pointer reference ( * ) pada variabel yang akan ditunjuk.
** Pointer pada Array
Konsep Array diantaranya banyak loncatan dari pointer satu ke pointer yang lain. karena secara internal array juga menyatakan alamat, yaitu pengenal array sama dengan alamat pada elemen pertama, pada array.
** Pointer pada String
perubahan nilai pointer yang di tunjukkan oleh penambahan nilai pointer, secara default, pembacaan
dilakukan mulai dari pointer pertama, karena sudah terjadi penambahan.
Pointer merupakan sebuah variabel yang berisi alamat dari variabel lain. Suatu pointer digunakan untuk menunjukan ke suatu alamat memori sehingga alamat dari suatu variabel dapat diketahui dengan mudah.
** Operator Pointer
Terdapat dua macam operator pointer yang disediakan oleh Borland C++ :
1. Operator dereference ( & )
2. Operator reference ( * )
1. Operator Dereference ( & )
Didalam mendeklarasikan suatu variabel harus pada lokasi yang pasti didalam penggantian memori.Pada umumnya kita tidak dapat menentukan dimana variabel akan ditempatkan Terkadang secara otomatis dilakukan oleh kompiler dan sistem operasi yang sedang aktif, tetapi sesekali sistem operasi akan memberikan banyak alamat yang kita tidak mengetahui dimana variabel ditempatkan. Hal ini dapat dilakukan dengan memberikan suatu identifier “&” (ampersand sign) didepan nama variabel, operator ini biasa disebut dengan “address of” atau operator alamat. Dengan menggunakan operator dereference ( & ) ini, suatu variabel akan menghasilkan alamat lokasi memori.
2. Operator Reference ( * )
Dengan menggunakan operator anda dapat mengakses secara langsung nilai yang terdapat didalam variabel yang berpointer, hal ini dapat dilakukan dengan menambahkan identifier asterisk ( * ), agar dapat menterjemahkan nilai sebenarnya dari suatu variabel. Operator ini biasa disebut dengan “value pointed by”.
Dengan menggunakan operator reference ( * ) ini, menghasilkan nilai yang berada pada suatu alamat memori.
** Deklarasi Pointer Pada Konstanta
Suatu pointer dapat dideklarasikan secara konstanta atau secara tetap tidak dapat diubah. Untuk mendeklarasikan pointer secara konstanta dengan memberikan kata const didepan nama konstanta.
Bentuk penulisan:
tipe_data * const nama_konstanta;
** Deklarasi Pointer Pada Variabel
Karena keakhlian dari pointer untuk menunjuk secara langsung kesuatu nilai, memeriksa satu persatu data yang memiliki pointer pada saat variabel tersebut pertama kali dideklarasikan.
Bentuk penulisan:
tipe_data *nama_variabel;
** Pointer Pada Pointer
Tidak terbatas menunjuk alamat dari suatu variabel, pointer dapat pula menunjuk ke pointer lainnya. Didalam pendeklarasianya, hanya menambahkan pointer reference ( * ) pada variabel yang akan ditunjuk.
** Pointer pada Array
Konsep Array diantaranya banyak loncatan dari pointer satu ke pointer yang lain. karena secara internal array juga menyatakan alamat, yaitu pengenal array sama dengan alamat pada elemen pertama, pada array.
** Pointer pada String
perubahan nilai pointer yang di tunjukkan oleh penambahan nilai pointer, secara default, pembacaan
dilakukan mulai dari pointer pertama, karena sudah terjadi penambahan.
Selasa, 12 Juni 2012
pertemuan 8
** Macro Dan File Header **
Adalah suatu perintah yang termasuk kedalam program, tetapi bukanlah instruksi dari program itu sendiri, tetapi untuk preprocessor. Preprocessor ini dijalankan secara otomatis oleh kompiler, ketika didalam proses penterjemahan (Compile) program berlangsung, didalamnya membuat nilai pembuktian pertama dan menterjemahkan code program didalam kode objek. Didalam penggunaan preprocessor directive selalu dimulai dengan tanda : #
Ada beberapa bentuk preprocessor directive, diantaranya :
1. # define
Digunakan untuk mendefinisikan suatu nilai tertentu kepada suatu nama
konstanta. Bentuk umum dari preprocessor directive #define ini adalah : #define nama_konstanta teks:
Dalam pendeklarasian preprocessor directive #define, Nama_Konstanta ditulis dengan menggunakan huruf besar, untuk membedakannya dengan nama_variabel. Sedangkan Teks merupakan suatu nilai yang diberikan pada nama_konstanta.
Teks dapat berupa:
* Numerik contoh : #define PI 3.14
* Karakter contoh : #define HURUF ‘B’
* String contoh : #define JABATAN “INSTRUCTOR”
* Pernyataan contoh : #define CETAK (“Borland C++”)
* Fungsi Sederhana contoh : #define LUAS_KUBUS (n*n)
2. # include
Preprocessor #include telah dibahas pada bab sebelumnya, yaitu berfungsi untuk memasukkan atau menyertakan file-file header kedalam program yang akan dibuat. Dalam penulisan #include ada dua bentuk penulisan :
#include "nama_file_header"
atau
#include <nama_file_header>
Bentuk penulisan #include mempunyai arti yang berbeda, yaitu:
* #include "nama_file_header"
“Pertama kali compiler akan mencari file header yang disebutkan pada directori yang sedang aktif dan apa bila tidak ditemukan akan mencari pada directori dimana file header tersebut berada “.
* #include <nama_file_header>
“Pertama kali compiler akan mencari file header yang disebutkan pada directori yang ada file headernya, kecuali pada directori yang sedang aktif".
3. # if - #endif
Preprocessor #if - #endif digunakan untuk mengkompilasi jika pernyataan kondisi pada #if bernilai benar, jika tidak maka, diabaikan. Pernyataan kondisi berupa ekspresi konstanta yang dideklarasikan dengan #define.
Bentuk Penulisan : # if ekspresi-konstanta
penyataan;
#endif
5. # elif
Preprocessor # elif digunakan untuk mengkompilasi dari pernyataan bertingkat. Dalam hal ini # elif sama halnya seperti # elseif, merupakan kombinasi dari # if dan # else. Perintah dijalankan sesuai dengan kondisi yang telah ditentukan, Hasil hanya dapat dijalankan sesuai dengan ketentuan yang benar. Bentuk #elif
diikuti oleh ekspresi-konstanta. Benuk Penulisan : # if ekspresi-konstanta-1
Penyataan-1;
# elif ekspresi-konstanta-2
Penyataan-2;
# elif ekspresi-konstanta-n
Penyataan-n;
# endif
6. # undef
Preprocessor #undef digunakan untuk menghilangkan nilai yang telah didefiniskan dari daftar definisi.
7. # ifdef - # ifndef
Preprocessor # ifdef dan # ifendef memberikan bagian dari program yang akan dikompile, hal ini dapat dilakukan jika sudah konstanta didefiniskan pada bagian # define, hal ini merupakan parameter yang khusus yang harus terdefinisi.
Benuk umum penulisan sebagai berikut : # ifdef
nama-konstanta pernyataan;
# endif
Penjelasan : Jika nama-konstanta terdefinisi maka, pernyataan akan dijalankan, jika nama-konstanta tidak terdefinisi maka, pernyataan akan diabaikan.
Latihan :
Buatlah program menghitung luas dan keliling lingkaran. Proses berada didalam file header, nama file header yang diinginkan : lingkaran.h
Tampilan Yang Diinginkan:
Masukkan Nilai Jari-jari : ... <di-input>
Luas Lingkaran : ... < hasil proses >
Keliling Lingkaran : ... < hasil proses >
Jawab :
Preprocessor Directives
Adalah suatu perintah yang termasuk kedalam program, tetapi bukanlah instruksi dari program itu sendiri, tetapi untuk preprocessor. Preprocessor ini dijalankan secara otomatis oleh kompiler, ketika didalam proses penterjemahan (Compile) program berlangsung, didalamnya membuat nilai pembuktian pertama dan menterjemahkan code program didalam kode objek. Didalam penggunaan preprocessor directive selalu dimulai dengan tanda : #
Ada beberapa bentuk preprocessor directive, diantaranya :
1. # define
Digunakan untuk mendefinisikan suatu nilai tertentu kepada suatu nama
konstanta. Bentuk umum dari preprocessor directive #define ini adalah : #define nama_konstanta teks:
Dalam pendeklarasian preprocessor directive #define, Nama_Konstanta ditulis dengan menggunakan huruf besar, untuk membedakannya dengan nama_variabel. Sedangkan Teks merupakan suatu nilai yang diberikan pada nama_konstanta.
Teks dapat berupa:
* Numerik contoh : #define PI 3.14
* Karakter contoh : #define HURUF ‘B’
* String contoh : #define JABATAN “INSTRUCTOR”
* Pernyataan contoh : #define CETAK (“Borland C++”)
* Fungsi Sederhana contoh : #define LUAS_KUBUS (n*n)
2. # include
Preprocessor #include telah dibahas pada bab sebelumnya, yaitu berfungsi untuk memasukkan atau menyertakan file-file header kedalam program yang akan dibuat. Dalam penulisan #include ada dua bentuk penulisan :
#include "nama_file_header"
atau
#include <nama_file_header>
Bentuk penulisan #include mempunyai arti yang berbeda, yaitu:
* #include "nama_file_header"
“Pertama kali compiler akan mencari file header yang disebutkan pada directori yang sedang aktif dan apa bila tidak ditemukan akan mencari pada directori dimana file header tersebut berada “.
* #include <nama_file_header>
“Pertama kali compiler akan mencari file header yang disebutkan pada directori yang ada file headernya, kecuali pada directori yang sedang aktif".
3. # if - #endif
Preprocessor #if - #endif digunakan untuk mengkompilasi jika pernyataan kondisi pada #if bernilai benar, jika tidak maka, diabaikan. Pernyataan kondisi berupa ekspresi konstanta yang dideklarasikan dengan #define.
Bentuk Penulisan : # if ekspresi-konstanta
penyataan;
#endif
4. # if - #else - #endif
Prepocessor # if – # else -# endif untuk mengkompilasi jika pernyataan
kondisi pada # if bernilai benar, jika # if bernilai salah maka,
pernyataan #else dikompilasi. Bentuk Penulisan : # if ekspresi-konstanta
pernyataan-1;
# else
pernyataan-2;
# endif
5. # elif
Preprocessor # elif digunakan untuk mengkompilasi dari pernyataan bertingkat. Dalam hal ini # elif sama halnya seperti # elseif, merupakan kombinasi dari # if dan # else. Perintah dijalankan sesuai dengan kondisi yang telah ditentukan, Hasil hanya dapat dijalankan sesuai dengan ketentuan yang benar. Bentuk #elif
diikuti oleh ekspresi-konstanta. Benuk Penulisan : # if ekspresi-konstanta-1
Penyataan-1;
# elif ekspresi-konstanta-2
Penyataan-2;
# elif ekspresi-konstanta-n
Penyataan-n;
# endif
6. # undef
Preprocessor #undef digunakan untuk menghilangkan nilai yang telah didefiniskan dari daftar definisi.
7. # ifdef - # ifndef
Preprocessor # ifdef dan # ifendef memberikan bagian dari program yang akan dikompile, hal ini dapat dilakukan jika sudah konstanta didefiniskan pada bagian # define, hal ini merupakan parameter yang khusus yang harus terdefinisi.
Benuk umum penulisan sebagai berikut : # ifdef
nama-konstanta pernyataan;
# endif
Penjelasan : Jika nama-konstanta terdefinisi maka, pernyataan akan dijalankan, jika nama-konstanta tidak terdefinisi maka, pernyataan akan diabaikan.
Pembuatan File Header
File header adalah file dengan akhitan .h, isi file header adalah deklarasi fungsi dan definisi konstanta.
Selain file-file header standar, kita dapat juga membuat file header sediri, dengan cara yang sama seperti membuat file editor. Yang harus diperhatikan pada saat menyimpan file header yang telah dibuat harus digunakan akhiran .h .Latihan :
Buatlah program menghitung luas dan keliling lingkaran. Proses berada didalam file header, nama file header yang diinginkan : lingkaran.h
Tampilan Yang Diinginkan:
Masukkan Nilai Jari-jari : ... <di-input>
Luas Lingkaran : ... < hasil proses >
Keliling Lingkaran : ... < hasil proses >
Jawab :
/*lingkaran.h
*/
#define awal {
#define akhir }
#define mulai() main()
#define cetak cout
#define tampil cprintf
#define masuk scanf
#define hapus() clrscr()
#define jika if
#define warna textcolor
#define tahan getche()
Simpan pada direktori C:\BC5\INCLUDE\..... , selanjutnya compile file lingkaran.h .
Buatlah program di bawah ini , kemudian gunakan header yang sudah anda buat ..
*/
#define awal {
#define akhir }
#define mulai() main()
#define cetak cout
#define tampil cprintf
#define masuk scanf
#define hapus() clrscr()
#define jika if
#define warna textcolor
#define tahan getche()
Simpan pada direktori C:\BC5\INCLUDE\..... , selanjutnya compile file lingkaran.h .
Buatlah program di bawah ini , kemudian gunakan header yang sudah anda buat ..
/*-----------------------------------*/
/*program
dengan file header sendiri*/
/*----------------------------------*/
#include
<stdio.h>
#include
<conio.h>
#include
<iostream.h>
#include
"lingkaran.h"
mulai()
awal
int r,L,K;
hapus();
warna(5);
tampil("\nPROGRAM MENGHITUNG LUAS DAN KELILING LINGKARAN\n");
cout<<endl;
cout<<"Masukkan Nilai Jari-jari = ";cin>>r;
L = 3.14*r*r;
K = 3.14*r;
cout<<endl;
cout<<"-----------------------------------------"<<endl;
cout<<endl;
cout<<"\tLuas Lingkaran : "<<L<<endl;
cout<<"\tKeliling Lingkaran : "<<K<<endl;
cout<<endl;
cout<<"-----------------------------------------";
tahan;
akhir
Minggu, 10 Juni 2012
pertemuan 7
"ARRAY"
Variabel Larik atau lebih dikenal dengan ARRAY adalah Tipe terstruktur
yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Suatu
Array mempunyai jumlah komponen yang banyaknya tetap. Banyaknya komponen
dalam suatu larik ditunjukan oleh suatu indek untuk membedakan variabel yang satu
dengan variabel yang lainnya.
Variabel array dalam Borland C++, dapat digolongkan menjadi dua buah dimensi :
• Array Berdimensi Satu.
• Array Berdimensi Dua
>> Array Berdimensi Satu
Sebelum digunakan, variabel array perlu dideklarasikan terlebih dahulu. Cara
mendeklarasikan variabel array sama seperti deklarasi variabel yang lainnya, hanya
saja diikuti oleh suatu indek yang menunjukan jumlah maksimum data yang disediakan.
Bentuk Umum pendeklarasian array :
Keterangan :
• Type Data : Untuk menyatakan type data yang digunakan.
• Ukuran : Untuk menyatakan jumlah maksimum elemen array.

Suatu array dapat digambarkan sebagai kotak panjang yang berisi kotak-kotak kecil didalam kotak panjang.

a. Inisialisasi Array Berdimensi Satu
Inisialisasi adalah memberikan nilai awal terhadap suatu variabel
b. Mengakses Array Berdimensi Satu
Suatu array, dapat diakses dengan menggunakan subscript atau indexnya.
Bentuk umum pengaksesan dengan bentuk :
Nama_Array[Subscript/Index]
>> Array Berdimensi Dua
Array dimensi dua tersusun dalam bentuk baris dan kolom, dimana indeks
pertama menunjukan baris dan indeks kedua menunjukan kolom. Array dimensi dua
dapat digunakan seperti pendatan penjualan, pendataan nilai dan lain sebagainya.
Bentuk Umum pendeklarasian array :
Keterangan:
• Type Data : Untuk menyatakan type data yang digunakan.
• Index-1 : Untuk menyatakan jumlah baris
• Index-2 : Untuk menyatakan jumlah kolom
Contoh Pendeklarasian Array :

a. Inisialisasi Array Berdimensi Dua
Inisialisasi adalah memberikan nilai awal terhadap suatu variabel
b. Mengakses Array Berdimensi Dua
Suatu array, dapat diakses dengan menggunakan subscript atau indexnya
>> Sorting dalam C++
a. Selection Sort
Tehnik pengurutan dengan cara pemilihan elemen atau proses kerja dengan
memilih elemen data terkecil untuk kemudian dibandingkan & ditukarkan dengan
elemen pada data awal, dst sampai seluruh elemen shg akan menghasilkan pola data yang telah disort.
Prinsip kerja dari teknik ini adalah sebagai berikut :
1. Pengecekan dimulai data ke-1 sampai dengan data ke-n
2. Tentukan bilangan dengan Index terkecil dari data bilangan tersebut
3. Tukar bilangan dengan Index terkecil dengan bilangan pertama ( I =1 ) dari data bilangan tersebut
4. Lakukan langkah 2 dan 3 untuk bilangan berikutnya ( I= I+1 ) sampai didapatkan urutan yg optimal.
b. Buble Sort
Prinsip Kerja dari Bubble Sort adalah :
1. Pengecekan mulai dari data ke-1 sampai data ke-n
2. Bandingkan data ke-n dengan data sebelumnya (n-1)
3. Jika lebih kecil maka pindahkan bilangan tersebut dengan bilangan yg ada didepannya satu persatu
4. Jika lebih besar maka tidak terjadi pemindahan
5. Ulangi langkah 2 dan 3 s/d sort optimal.
c. Insertion Short
Prinsip dasar Insertion adalah secara berulang-ulang menyisipkan / memasukan setiap elemen. ke dalam posisinya / tempatnya yg benar.
1. Prinsip Kerja Insertion Sort adalah
2. Pengecekan mulai dari data ke-1 sampai data ke-n
3. Bandingkan data ke-I ( I = data ke-2 s/d data ke-n )
4. Bandingkan data ke-I tersebut dengan data sebelumnya (I-1),Jika lebih kecil maka data tersebut dapat disisipkan ke data awal sesuai dgn posisisi yang seharusnya.
5. Lakukan langkah 2 dan 3 untuk bilangan berikutnya ( I= I+1 ) sampai didapatkan urutan yg optimal.
Contoh latihan soal :
Sebuah perusahaan ayam goreng dengan nama “GEROBAK FRIED
CHICKEN” yang telah lumayan banyak pelanggannya, ingin dibantu dibuatkan program untuk membantu kelancaran usahaannya.“GEROBAK FRIED CHICKEN” mempunyai daftar harga ayam sebagai berikut :
Kode Jenis Harga
----------------------------------
D Dada Rp. 2500
P Paha Rp. 2000
S Sayap Rp. 1500
----------------------------------
Buatlah programnya dengan ketentuan:
• Setiap pembeli dikenakan pajak sebesar 10% dari pembayaran.
• Banyak Jenis, Jenis Potong dan Banyak Beli diinput.
• Tampilan yang diinginkan sebagai berikut:
Layar Masukkan
GEROBAK FRIED CHICKEN
---------------------
Kode Jenis Harga
--------------------------
D Dada Rp. 2500
P Paha Rp. 2000
S Sayap Rp. 1500
--------------------------
Banyak Jenis : ... <diinput>
Jenis Ke - ... <proses counter>
Jenis Potong [D/P/S] : ... <diinput>
Banyak Potong : ... <diinput>
<<Terus berulang tergantung Banyak Jenis>>
Layar Keluaran
GEROBAK FIRED CHICHEN
-------------------------------------------------------------
No. Jenis Harga Bayak Jumlah
Potong Satuan Beli Harga
-------------------------------------------------------------
... ....... .... .... Rp ....
... ....... .... .... Rp ....
------------------------------------------------------------
Jumlah Bayar Rp ....
Pajak 10% Rp ....
Total Bayar Rp ....
Variabel Larik atau lebih dikenal dengan ARRAY adalah Tipe terstruktur
yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Suatu
Array mempunyai jumlah komponen yang banyaknya tetap. Banyaknya komponen
dalam suatu larik ditunjukan oleh suatu indek untuk membedakan variabel yang satu
dengan variabel yang lainnya.
Variabel array dalam Borland C++, dapat digolongkan menjadi dua buah dimensi :
• Array Berdimensi Satu.
• Array Berdimensi Dua
>> Array Berdimensi Satu
Sebelum digunakan, variabel array perlu dideklarasikan terlebih dahulu. Cara
mendeklarasikan variabel array sama seperti deklarasi variabel yang lainnya, hanya
saja diikuti oleh suatu indek yang menunjukan jumlah maksimum data yang disediakan.
Bentuk Umum pendeklarasian array :
Tipe_Data Nama_Variabel[Ukuran
Keterangan :
• Type Data : Untuk menyatakan type data yang digunakan.
• Ukuran : Untuk menyatakan jumlah maksimum elemen array.
Suatu array dapat digambarkan sebagai kotak panjang yang berisi kotak-kotak kecil didalam kotak panjang.
a. Inisialisasi Array Berdimensi Satu
Inisialisasi adalah memberikan nilai awal terhadap suatu variabel
b. Mengakses Array Berdimensi Satu
Suatu array, dapat diakses dengan menggunakan subscript atau indexnya.
Bentuk umum pengaksesan dengan bentuk :
Nama_Array[Subscript/Index]
>> Array Berdimensi Dua
Array dimensi dua tersusun dalam bentuk baris dan kolom, dimana indeks
pertama menunjukan baris dan indeks kedua menunjukan kolom. Array dimensi dua
dapat digunakan seperti pendatan penjualan, pendataan nilai dan lain sebagainya.
Bentuk Umum pendeklarasian array :
Tipe_Data Nama_Variabel[index-1][index-2]
Keterangan:
• Type Data : Untuk menyatakan type data yang digunakan.
• Index-1 : Untuk menyatakan jumlah baris
• Index-2 : Untuk menyatakan jumlah kolom
Contoh Pendeklarasian Array :
a. Inisialisasi Array Berdimensi Dua
Inisialisasi adalah memberikan nilai awal terhadap suatu variabel
b. Mengakses Array Berdimensi Dua
Suatu array, dapat diakses dengan menggunakan subscript atau indexnya
>> Sorting dalam C++
a. Selection Sort
Tehnik pengurutan dengan cara pemilihan elemen atau proses kerja dengan
memilih elemen data terkecil untuk kemudian dibandingkan & ditukarkan dengan
elemen pada data awal, dst sampai seluruh elemen shg akan menghasilkan pola data yang telah disort.
Prinsip kerja dari teknik ini adalah sebagai berikut :
1. Pengecekan dimulai data ke-1 sampai dengan data ke-n
2. Tentukan bilangan dengan Index terkecil dari data bilangan tersebut
3. Tukar bilangan dengan Index terkecil dengan bilangan pertama ( I =1 ) dari data bilangan tersebut
4. Lakukan langkah 2 dan 3 untuk bilangan berikutnya ( I= I+1 ) sampai didapatkan urutan yg optimal.
b. Buble Sort
Prinsip Kerja dari Bubble Sort adalah :
1. Pengecekan mulai dari data ke-1 sampai data ke-n
2. Bandingkan data ke-n dengan data sebelumnya (n-1)
3. Jika lebih kecil maka pindahkan bilangan tersebut dengan bilangan yg ada didepannya satu persatu
4. Jika lebih besar maka tidak terjadi pemindahan
5. Ulangi langkah 2 dan 3 s/d sort optimal.
c. Insertion Short
Prinsip dasar Insertion adalah secara berulang-ulang menyisipkan / memasukan setiap elemen. ke dalam posisinya / tempatnya yg benar.
1. Prinsip Kerja Insertion Sort adalah
2. Pengecekan mulai dari data ke-1 sampai data ke-n
3. Bandingkan data ke-I ( I = data ke-2 s/d data ke-n )
4. Bandingkan data ke-I tersebut dengan data sebelumnya (I-1),Jika lebih kecil maka data tersebut dapat disisipkan ke data awal sesuai dgn posisisi yang seharusnya.
5. Lakukan langkah 2 dan 3 untuk bilangan berikutnya ( I= I+1 ) sampai didapatkan urutan yg optimal.
Contoh latihan soal :
Sebuah perusahaan ayam goreng dengan nama “GEROBAK FRIED
CHICKEN” yang telah lumayan banyak pelanggannya, ingin dibantu dibuatkan program untuk membantu kelancaran usahaannya.“GEROBAK FRIED CHICKEN” mempunyai daftar harga ayam sebagai berikut :
Kode Jenis Harga
----------------------------------
D Dada Rp. 2500
P Paha Rp. 2000
S Sayap Rp. 1500
----------------------------------
Buatlah programnya dengan ketentuan:
• Setiap pembeli dikenakan pajak sebesar 10% dari pembayaran.
• Banyak Jenis, Jenis Potong dan Banyak Beli diinput.
• Tampilan yang diinginkan sebagai berikut:
Layar Masukkan
GEROBAK FRIED CHICKEN
---------------------
Kode Jenis Harga
--------------------------
D Dada Rp. 2500
P Paha Rp. 2000
S Sayap Rp. 1500
--------------------------
Banyak Jenis : ... <diinput>
Jenis Ke - ... <proses counter>
Jenis Potong [D/P/S] : ... <diinput>
Banyak Potong : ... <diinput>
<<Terus berulang tergantung Banyak Jenis>>
Layar Keluaran
GEROBAK FIRED CHICHEN
-------------------------------------------------------------
No. Jenis Harga Bayak Jumlah
Potong Satuan Beli Harga
-------------------------------------------------------------
... ....... .... .... Rp ....
... ....... .... .... Rp ....
------------------------------------------------------------
Jumlah Bayar Rp ....
Pajak 10% Rp ....
Total Bayar Rp ....
Jawab :
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <iomanip.h>
#include <string.h>
main( )
{
int x ,a ,ulangi;
char jenis[6] = {'D','d','P','p','S','s'} ,*ket[6];
long bapot[6], jumhar[6] = {0}, hasat[6] = {2500 ,2000 ,1500};
long jumbar[6]= {0}, pajak[6], totba[6];
pesan:
clrscr( );
cout<<"\tGEROBAK FRIED CHICKEN\n";
cout<<"\t---------------------\n";
cout<<"\t Kode Jenis Harga\n";
cout<<"\t---------------------\n";
cout<<"\t [D] Dada Rp. 2500\n";
cout<<"\t [P] Paha Rp. 2000\n";
cout<<"\t [S] Sayap Rp. 1500\n\n";
cout<<"\t---------------------\n\n";
cout<<"\tBanyak Jenis : ";cin>>x;
jumbar[x] = 0;
if (x <= 0)
{
cout<<"\n\t\tBanyak Jenis Tidak Boleh Null";
goto akhir;
}
else
{
for(a = 1 ; a <= x; ++a)
{
cout<<"\tJenis Ke - "<<a;
cout<<"\n\tJenis Potong [D/P/S] : ";cin>>jenis[a];
cout<<"\tBanyak Potongan : ";cin>>bapot[a];
cout<<"\t------------------------\n";
if (jenis[a] == 'D' || jenis[a] == 'd')
{
ket[a] = "Dada ";
hasat[a] = 2500;
}
else if (jenis[a] == 'P' || jenis[a] == 'p')
{
ket[a] = "Paha ";
hasat[a] = 2000;
}
else if (jenis[a] == 'S' || jenis[a] == 's')
{
ket[a] = "Sayap";
hasat[a] = 1500;
}
else
{
cout<<"\nAnda Salah Masukan Kode Jenis Potongan.";
hasat[a] = 0;
}
jumhar[a] = hasat[a] * bapot[a];
jumbar [x] = jumbar[x] + hasat[a] * bapot[a];
if (jumbar[x] == 0)
{
pajak[x] = 0;
totba[x] = 0;
}
else
{
pajak[x] = jumbar[x] * 0.1;
totba[x] = jumbar[x] + pajak[x];
}
}
}
cout<<"\n\n\tGEROBAK FRIED CHICKEN\n";
cout<<"------------------------------------------------\n";
cout<<"No.| Jenis | Harga | Banyak | Jumlah\n";
cout<<" | Potong | Satuan | Beli | Harga\n";
cout<<"================================================\n";
for (a = 1; a <= x; ++a)
{
cout<<" "<<a<<" | "<<ket[a]<<" | "<<hasat[a];
cout<<" | "<<bapot[a]<<" | Rp. "<<jumhar[a]<<endl;
}
cout<<"------------------------------------------------\n";
cout<<"\t\t\tJumlah Bayar Rp. "<<jumbar[x]<<endl;
cout<<"\t\t\tPajak 10% Rp. "<<pajak[x]<<endl;
cout<<"\t\t\tTotal Bayar Rp. "<<totba[x];
cout<<"\n\n\tAnda Ingin Memesan Lagi? [Y/T] = ";
ulangi = getche();
if (ulangi == 'Y' || ulangi == 'y')
goto pesan;
else
cout<<"\n\n\t\tTerima Kasih";
akhir:
getch( );
}
#include <stdio.h>
#include <conio.h>
#include <iomanip.h>
#include <string.h>
main( )
{
int x ,a ,ulangi;
char jenis[6] = {'D','d','P','p','S','s'} ,*ket[6];
long bapot[6], jumhar[6] = {0}, hasat[6] = {2500 ,2000 ,1500};
long jumbar[6]= {0}, pajak[6], totba[6];
pesan:
clrscr( );
cout<<"\tGEROBAK FRIED CHICKEN\n";
cout<<"\t---------------------\n";
cout<<"\t Kode Jenis Harga\n";
cout<<"\t---------------------\n";
cout<<"\t [D] Dada Rp. 2500\n";
cout<<"\t [P] Paha Rp. 2000\n";
cout<<"\t [S] Sayap Rp. 1500\n\n";
cout<<"\t---------------------\n\n";
cout<<"\tBanyak Jenis : ";cin>>x;
jumbar[x] = 0;
if (x <= 0)
{
cout<<"\n\t\tBanyak Jenis Tidak Boleh Null";
goto akhir;
}
else
{
for(a = 1 ; a <= x; ++a)
{
cout<<"\tJenis Ke - "<<a;
cout<<"\n\tJenis Potong [D/P/S] : ";cin>>jenis[a];
cout<<"\tBanyak Potongan : ";cin>>bapot[a];
cout<<"\t------------------------\n";
if (jenis[a] == 'D' || jenis[a] == 'd')
{
ket[a] = "Dada ";
hasat[a] = 2500;
}
else if (jenis[a] == 'P' || jenis[a] == 'p')
{
ket[a] = "Paha ";
hasat[a] = 2000;
}
else if (jenis[a] == 'S' || jenis[a] == 's')
{
ket[a] = "Sayap";
hasat[a] = 1500;
}
else
{
cout<<"\nAnda Salah Masukan Kode Jenis Potongan.";
hasat[a] = 0;
}
jumhar[a] = hasat[a] * bapot[a];
jumbar [x] = jumbar[x] + hasat[a] * bapot[a];
if (jumbar[x] == 0)
{
pajak[x] = 0;
totba[x] = 0;
}
else
{
pajak[x] = jumbar[x] * 0.1;
totba[x] = jumbar[x] + pajak[x];
}
}
}
cout<<"\n\n\tGEROBAK FRIED CHICKEN\n";
cout<<"------------------------------------------------\n";
cout<<"No.| Jenis | Harga | Banyak | Jumlah\n";
cout<<" | Potong | Satuan | Beli | Harga\n";
cout<<"================================================\n";
for (a = 1; a <= x; ++a)
{
cout<<" "<<a<<" | "<<ket[a]<<" | "<<hasat[a];
cout<<" | "<<bapot[a]<<" | Rp. "<<jumhar[a]<<endl;
}
cout<<"------------------------------------------------\n";
cout<<"\t\t\tJumlah Bayar Rp. "<<jumbar[x]<<endl;
cout<<"\t\t\tPajak 10% Rp. "<<pajak[x]<<endl;
cout<<"\t\t\tTotal Bayar Rp. "<<totba[x];
cout<<"\n\n\tAnda Ingin Memesan Lagi? [Y/T] = ";
ulangi = getche();
if (ulangi == 'Y' || ulangi == 'y')
goto pesan;
else
cout<<"\n\n\t\tTerima Kasih";
akhir:
getch( );
}
Hasil keluaran :
Langganan:
Postingan (Atom)


