Laman

Selasa, 15 Desember 2015

3. CARA KERJA TCP/IP

Pengertian TCP IP Layer | Jenis Layer dan Cara kerja TCP IP 

Pengertian TCP IP Layer | Bagian Layer dan Cara kerja TCP IP-, Transmission Control Protocol/Internet Protocol (TCP/IP) adalah suatu set aturan standar komunikasi data yang digunakan dalam proses transfer data dari satu komputer ke komputer lain di jaringan komputer tanpa melihat perbedaan jenis hardwareProtokol TCP/IP ini terbentuk dari 2 komponen yaitu 
Transmission Control Protocol (TCP) dan Internet Protocol (IP). Protokol ini dikembangkan oleh Advence Research Project Agency (ARPA) untuk departemen pertahananAmerika pada tahun 1969. TCP/IP sebagai sebuah protokol standar untuk menghubungkan komputer-komputer dan jaringan untuk membentuk sebuah jaringan yang luas (WAN). Sebuah alamat TCP/IP adalah nilai biner berukuran 32 bit yang diberikan ke setiap host dalam sebuah jaringan.




Protokol ini tidaklah dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol (protocol suite). Setiap layer menyediakan service-service yang akan digunakan oleh layer diatasnya, ada 2 buah fungsi yang berbeda yaitu sbb:
1. same-layer interaction : dua buah komputer menggunakan protokol untuk saling berkomunikasi dengan layer yang sama pada komputer lainnya.
2. adjacent-layer interaction : pada satu komputer, sebuah layer menyediakan servis-servis yang akan digunakan oleh layer yang berada diatasnya
Pengertian TCP/IP Layer



1. Network Interface Layer

Layer ini bertanggung jawab mengirim dan menerima data ke dan dari media fisik, media fisiknya dapat berupa kabel, fiber optic, atau gelombang radio. Karena tugasnya ini protocol pada layer ini harus mampu menterjemahkan sinyal listrik menjadi data digital yang dimengerti komputer, yang berasa dari peralatan lain yang sejenis.
Protokol-protokol yang ada pada layer ini antara lain SLIP (Serial Line Internet Protocol), PPP (Point to Point Protocol), dan ARP (Address Resolution Protocol) yaitu protocol yang digunakan untuk menerjemahkan alamat logic ke dalam alamat hardware atau sebaliknya dari alamat hardware ke dalam alamat logic (Reverse ARP).

2. Internet Layer

Protocol-protocol yang berada pada layer ini bertanggung jawab dalam proses pengiriman paket ke alamat yang tepat. Pada layer ini terdapat beberapa protocol penting, antara lain:
  • IP (Internet Protocol), adalah protokol di internet yang mengurusi masalah pengalamatan dan mengatur pengiriman paket data hingga sampai ke alamat  yang benar.
  • ICMP (Internet Control Message Protocol), adalah protokol yang bertugas mengirimkan pesan-pesan kesalahan bila terjadi masalah pengiriman paket data.

3. Transport Layer

Transport layer merupakan layer komunikasi data yang mengatur aliran data antara dua host, untuk keperluan aplikasi di atasnya. Dua protokol yang sangat penting pada layer ini adalah:
  1. TCP (Transmission Control Protocol), yaitu protokol yang menjamin keandalan pengiriman data dengan menggunakan proses acknowledgement yaitu sinyal pemberitahuan bahwa data telah sampai / diterima.
    Protokol TCP selalu meminta konfirmasi setiap selesai mengirimkan data,  apakah data sudah sampai di tujuan dengan selamat, bila sudah maka TCP  akan mengirimkan data urutan berikutnya, bila belum maka akan dilakukan pengiriman ulang (retransmisi), data yang dikirim maupun yang diterima selalu menggunakan nomor pengurutan.
  2. UDP (User Datagram Protocol). Lain halnya dengan protokol TCP, untuk protokol  UDP adalah protokol yang tidak menggunakan proses acknowledgement dan pengurutan, sehingga lapisan diatas protokol ini tidak pernah mengetahui sampai atau tidaknya paket data yang dikirim ke tujuan.

4. Application Layer

Pada layer inilah terletak semua aplikasi  yang menggunakan protocol TCP/IP, misalnya:
  • FTP (File Transfer Protocol), yaitu protocol untuk transfer file.
  • Telnet, yaitu protocol untuk akses dari jarak jauh.
  • SMTP (Simple Mail Transfer Protocol), yaitu protocol untuk pertukaran e-mail.
  • HTTP (Hypertext Transfer Protocol), yaitu protocol untuk transfer file HTML dan Web.

Bagaimana Cara Kerja pada TCP/IP..??

 

Dalam TCP/IP terjadi penyampaian data dari protocol yang berada di satu layer ke protocol di layer lain. Setiap protocol memperlakukan semua informasi yang diterimanya dari protocol lain sebagai data. Jika suatu protocol menerima data dari protocol lain di layer atasnya ia akan menambahkan informasi tambahan miliknya ke data tersebut. Informasi ini memiliki fungsi yang sesuai dengan fungsi  protocol tersebut.
Setelah itu data ini diteruskan lagi ke protocol pada layer dibawahnya  Hal yang sebaliknya terjadi jika suatu protocol menerima dari protocol lain yang berada pada leyer dibawahnya. jika data yang diterima dianggap valid, maka protocol akan melepas informasi tambahan tersebut, untuk kemudian meneruskan data itu ke protocol lain yang berada pada layer di atasnya.
Demikian Sob  tentang Pengertian TCP IP Layer | Bagian Layer dan Cara kerja TCP/IP semoga dapat membatu sobat dalam Jaringan Komputer, kebetulan ane juga lagi puncak-puncaknya ngebahas TCP/IP dan OSI model dalam Mata Kuliah jaringan komputer.

 

4. Kelebihan & Kekurangan Wireless di bandingkan dengan Media Transmisi lainnya


Pengertian Media Transmisi  Kelebihan dan Kekurangan

 

Simple Information - dalam membangun sebuah jaringan komputer kita terlebih dahulu harus mengetahui media atau peralatan apa saja yang digunakan untuk membangun sebuah jaringan komputer, Seperti Cara Mengkrimping Kabel LAN Dengan RJ 45 dan Urutan Warna Crossover dan Straight. Salah satunya adalah media transmisi yang merupakan media yang digunakan untuk pengiriman atau penerimaan sebuah informasi atau data.

Media Transmisi
Media yang dapat mentransmisikan data. Data yang ditransmisikan dapat melalui 3 media :
  1. Copper Media (media tembaga)
  2. Optical Media (media optik)
  3. Wireless Media (media tanpa kabel)
1. Copper Media
Merupakan media transmisi yang terbuat dari tembaga yang biasa disebut dengan kabel. Data yang dikirim melalui kabel dalam bentuk sinyal-sinyal listrik digital. Jenis-jenis kabel transmisi data yang digunakan pada jaringan antara lain, Coaxial, STP, UTP.

a. Kabel Coaxial
Kabel Coaxial
Kabel ini sering digunakan sebagai kabel tv, disebut juga sebagai kabel BNC (Bayonet Naur Connector). Coaxial banyak digunakan pada LAN karena memiliki perlindungan derau yang bagus, murah , dan mampu mengirim data dengan kecepatan standar. Ada 3 jenis konektor pada kabel coaxial, yaitu T-konektor, I-Konekor (socket), dan BNC konektor.

Kelebihan serta kekurangan dari penggunaan kabel coaxial :

Kelebihan :
  • Murah
  • Jarak jangkauan yang luas
  • Dapat digunakan untuk menyalurkan informasi sampai dengan 900 kanal telepon
  • Karena menggunakan penutup isolasi maka kecil kemungkinan terjadi interferensi dengan system lain.
Kekurangan :
  • Instalansi yang rumit
  • Redaman yang relative besar, sehingga untuk hubungan jauh harus dipasang repeater-repeater.
  • Jika kabel dipasang diatas tanah, rawan terhadap gangguan-gangguan fisik yang dapat berakibat putusnya hubungan.
b. Twisted Pair
    Terdiri dari 2 jenis :

1. Shielded Twisted Pair (STP)
Shielded Twisted Pair (STP)
Terdiri dari 4 buah kabel yang dipilin (twisted pair). Berikut kelebihan dan kekurangan dari STP.

Kelebihan :
  • Tahan terhadap interferensi gelombang eletromagnetik baik dari dalam maupun dari luar.
  • Memiliki perlindungan dan antisipasi tekukan kabel
Kekurangan :
  • Pada frekuensi tinggi attenuasi meningkat
  • Terjadinya “crosstalk” dan sinyal “noise” pada frekuensi tinggi
  • Instalansi yang cukup rumit
  • Jarak jangkauan hanya 100m, dan mahal.

2. Unshielded Twisted Pair (UTP)
    Ada beberapa kategori untuk kabel twisted pair, yaitu :
  1. Unshielded Twisted Pair (UTP)Kategori 1 (Cat-1), umumnya menggunakan konduktor padat standar AWG sebanyak 22 atau 24 pin dengan range impedansi yang lebar. Digunakan pada koneksi telepon dan tidak direkomendasikan untuk transmisi data.
  2. Kategori 2 (Cat-2), range impedansi yang lebar, sering digunakan pada sistem PBX dan sistem Alarm. Transmisi data ISDN menggunakan kabel kategori 2, dengan bandwidth maksimum 1 MBps.
  3. Kategori 3 (Cat-3), sering disebut kabel voice grade, menggunakan konduktor padat sebanyak 22 atau 24 pin dengan impedansi 100 Ω dan berfungsi hingga 16 MBps. Dapat digunakan untuk jaringan 10BaseT dan Token Ring dengan bandwidth 4 Mbps.
  4. Kategori 4 (Cat-4), seperti kategori 3 dengan bandwidth 20 MBps, diterapkan pada jaringan Token Ring dengan bandwidth 16 Mbps.
  5. Kategori 5 (Cat-5), merupakan kabel Twisted Pair terbaik (data grade) dengan bandwidth 100 Mbps dan jangkauan transmisi maksimum 100 m.
Kabel UTP mudah dalam penginstalan, murah serta ukurannya yang kecil. Namun rentan terhadap inteferensi gelombang elektromagnetik dan jarak jangkauan hanya 100m.

2. Optical Media
Optical Media
Ada tiga jenis fiber optic yang digunakan, yaitu single mode, multi mode dan plastic optical fiber yang berfungsi sebagai petunjuk cahaya dari ujung kabel ke ujung kabel lainnya. Dari transmitter receiver, yang mengubah pulsa elektronik ke cahaya dan sebaliknya, dalam bentuk light-emmiting diode ataupun laser.
  1. Kabel Fiber Optic single mode, merupakan jenis transmisi yang dapat mengantarkan data berkapasistas besar dengan kecepatan tinggi dengan jarak yang jauh, dan membutuhkan sumber cahaya dengan spectrum yang lebih kecil. 50 kali lebih cepat dibandingkan dengan multimode dalam mengantarkan transmisi karena memiliki core yang lebih kecil.
  2. Kabel Fiber Optic Multimode, dapat mengantarkan data berkapasitas besar dengan kecepatan tinggi untuk jarak menengah. Apabila jarak yang ditempuh melebihi 3000 kaki akan terjadi distrosi sinyal mengakibatkan pengiriman data tidak akurat.
  3. Plastic Optical Fiber, kabel yang terbuat dari plastic yang tingkat performa sama dengan fiber glass.
Kelebihan :
  • Kemampuan mengirim data dengan kapastitas yang besar dan jarak yang jauh.
  • Kecepatan transmisi hingga mencapai gigabits
  • Tingkat keamanan fiber optic yang tinggi
  • Lebih menghemat tempat, dibandingkan dengan kabel tembaga.
Kekurangan :
  • Harganya yang cukup mahal
  • Penggunaan yang cukup rumit.
Kabel fiber optic terdiri dari 2, satu berungsi untuk Transmit(Tx) dan satunya untuk Receive(Rx). Sehingga terjadi komunikasi 2 arah secara bersama-sama. ST untuk singlemode dan SC untuk multimode.
 
Lalu, apa saja yang dianggap menguntungkan sehingga banyak pengguna yang mulai beralih ke jaringan Wi-Fi?  
Yuk, simak ulasannya di artikel ini. Saya akan coba menjelaskan apa saja kelebihan dan kekurangan jika kamu menggunakan koneksi jaringan Wi-Fi.
 


Berikut kelebihan serta kekurangan jaringan Wi-Fi.


Kelebihan Jaringan Wi-Fi

Berikut kelebihan jaringan Wi-Fi:

1. Penggunanya bisa berpindah-pindah tempat

Karena tidak seperti jaringan kabel yang mengharuskan kita selalu terhubung via kabel, sehingga terkesan membatasi gerak kita. Pada jaringan Wireless Wi-Fi kita tidak perlu dipusingkan dengan kabel, kita terasa sedikit lebih bebas.

Penggunaan jaringan Wi-Fi memungkinkan kita lebih aktif dalam bergerak dan tidak terpaku di satu tempat saja. Perlu kita ketahui, kebutuhan akan mobilitas perangkat tanpa dibatasi kabel semakin tinggi.

2. Sudah banyak perangkat yang support Wi-Fi

Banyaknya perangkat yang support koneksi jaringan vi Wi-Fi juga menjadi alasan tersendiri. Mulai dari smartphone, tablet, laptop. bahkan personal komputer pun sudah bisa menikmati jaringan wireless Wi-Fi meski harus menambah perangkat Wi-Fi adapter.

Dengan sudah banyaknya perangkat yang support jaringan Wi-Fi tentunya bisa memantapkan kita untuk memilih Wi-Fi ketimbang kabel.

3. Sekali klik langsung konek

Tidak seperti jaringan kabel, yang mana kita harus mencolokan kepala konektor RJ-45 ke port Ethernet komputer/laptop kita

Wi-Fi sudah diatur sedemikian rupa oleh sang administrator untuk kemudahan penggunaannya. Kita hanya tinggal klik konek, otomatis sudah mendapat settingan (IP dinamis) dan tinggal internetan saja.

4. Instalasi lebih murah, cepat, rapi dan tidak ribet

Untuk melakukan pemasangan jaringan Wi-Fi, kita tidak terlalu membutuhkan banyak alat dan bahan. Kalau kita membandingkan dengan jaringan kabel, jelas jauh lebih murah Wi-Fi. Karena kita harus membeli tambahan kabel untuk instalasinya. Namun, jaringan Wi-Fi tidak demikian. Untuk harga perangkat seperti access point pun sudah ada yang lebih murah dibanding satu roll kabel UTP.

Selain murah instalasi juga lebih cepat. Ya, bagi mereka yang sudah berpengalaman, saya rasa tidak lebih dari 2 jam juga sudah selesai pemasangan jaringan Wi-Fi, itupun sudah siap dipakai. Dan lagi, instalasi jaringan juga terlihat lebih rapi dan tidak ribet, karena tidak terlalu menggunakan kabel terlalu banyak.

5. Penggunaan listrik lebih kecil

Ya, karena lebih sedikit perangkat yang digunakan dan cenderung lebih kecil ukurannya, penggunaan listrik pun terbilang kecil. Satu perangkat Wi-Fi Access point rata-rata hanya membutuhkan tegangan DC 9V dan 0.85A.


Kekurangan Jaringan Wi-Fi

Disamping kelebihannya yang sangat banyak, Wi-Fi juga masih memiliki beberapa kekurangan, yaitu sebagai berikut:

1. Keamanan harus lebih diperhatikan

Jaringan Wi-Fi tidak dibatasi dengan penggunaan kabel untuk setiap penggunanya. Hal ini juga berarti tidak membatasi pengguna luar yang bisa secara ilegal terkoneksi dengan jaringan Wi-Fi kita.

Ya, jaringan Wi-Fi bisa diakses secara publik, maka dari itu kita harus lebih protektif dalam mengamankannya kalau tidak ingin ada pengguna luar yang mengakses jaringan kita. Karena bisa saja mereka itu lebih pintar dan bisa dengan mudah mendapatkan informasi privat kita.

Namun, kamu jangan khawatir, karena sudah banyak perangkat wireless yang sudah menyertakan fitur-fitur pendukung keamanan, seperti sistem autentikasi WEP dan WPA. Kamu juga bisa meng-hidden SSID agar tidak diketahui orang lain.

2. Sinyal

Meskipun kamu bisa bebas bergerak, tapi kamu juga harus memikirkan seberapa jauh kamu berada di area Wi-F. Tidak terasa memang masalah sinyal ini kalau kita tetap berada dekat di sumber sinyal.

Selain itu pengaruh interferensi juga harus dipikirkan. Hal ini dapat menyebabkan gangguan saat melakukan transfer antar perangkat. Insterferensi ini sangat terasa efeknya jika kita berada pada area yang terdapat banyak jaringan Wi-Fi. Pencegahan dari masalah ini seharusnya sudah dipikirkan dari awal, sejak pemilihan channel frekuensi wireless yang digunakan.

3. Bandwith

Jaringan Wi-Fi sangat tidak cocok jika dalam jaringan yang dibangun nantinya diperuntukan untuk aktivitas transfer data berukuran besar. Salah satu penyebabnya adalah ketidakstabilan sinyal dan ada juga pengaruh interferensi.

Jika aktivitas transfer data dalam jaringan kamu tergolong besar, saya sarankan untuk menggunakan koneksi kabel, lebih cepat dan juga stabil. Meskipun sudah ada perangkat Wi-Fi yang sudah support data rate hingga 1 GBps, namun jaringan kabel masih dapat transfer lebih besar dari itu.

5. ASAL MULA INTERNET di INDONESIA


PERKEMBANGAN INTERNET di INDONESIA
 
                Jaringan computer masuk ke Indonesia sekitar akhir tahun 1980-an. Jaringan ini menghubungkan lima universitas dengan fasilitas dial-up yang disebut UNInet. Kelima universitas tersebut adalah Universitas Indonesia (UI), Universitas Gadjah Mada (UGM), Universitas Terbuka (UT), Institut Teknologi Bandung (ITB), dan Institut Teknologi Sepuluh Nopember (ITS). Jaringan ini tidak berkembang karena kurangnya infrastruktur yang memadai.
 
 

Berikut ini perkembangan Internet di Indonesia.
1. Tahun 1986 – 1987
Tulisan-tulisan awal Internet di Indonesia datang dari kegiatan amatir radio, khususnya di Amatir Radio Club (ARC) ITB.Bermodal pesawat Transceiver HF SSB Kenwood TS430 dengan computer Apple II, sekitar belasan anak muda ITB mempelajari paket radio band 40 m yang kemudian didorong ke arah TCP / IP. Para pelaku amatir radio Indonesia mengaitkan jaringan amatir Bulletin Board System (BBS), yang merupakan jaringan e-mail store dan forward yang mengaitkan banyak “server” BBS amatir radio seluruh dunia, agar e-mail dapat berjalan dengan lancar.
2. Tahun 1989 -1990
Berawal dari mailing list pertama, yaitu indonesians@janus.berkeley.edu, diskusi-diskusi antarteman mahasiswa Indonesia di luar negeri, pemikiran alternatif beserta kesadaran masyarakat ditumbuhkan. Pola mailing list ini ternyata terus berkembang menjadi sangat banyak sekali, terutama di host server di ITB & egroups.com. mailing list ini akhirnya menjadi salag satu sarana yang sangat strategis dalam pembangunan komunitas Internet di Indonesia.
                Di awal tahun 1990 komunikasi antara Onno W. Purbo yang waktu itu berada di Kanada dengan panggilan YC1DAV / VE3 dengan rekan-rekan amatir radio di Indonesia dilakukan melalui jaringan amatir radio ini. Dengan peralatan PC / XT dan walkie talkie berukuran sekitar 2 meter, komunikasi antara Indonesia-Kanada terus dilakukan dengan lancar melalui jaringan amatir radio.
3. Tahun 1992-1994
Teknologi packet radio TCP/IP yang diadopsi oleh rekan-rekan BPPT, LAPAN, UI, dan ITB yang kemudian menjadi tumpuan PaguyubanNet. AMPR-net (Amatir Packet Radio Network) menggunakan IP pertama yang di Internet dikenal dengan domain AMPR.ORG dan IP 44.132.
BPPT mengoperasikan gateway radio paket yang bekerja pada band 70 cm dengan menggunakan PC 386 dan sistem operasi DOS menjalankan program NOS yang digunakan sebagai gateway packet radio TCP/IP.
4. Tahun 1994-1995
Di tahun 1994-an mulai beroperasi ISP komersial pertama IndoNet. Sambungan awal Internet dilakukan menggunakan dial-up oleh IndoNet. Akses awal di IndoNet mula-mula memakai mode teks dengan shell account, browser lynx and e-mail client pine pada server AIX. Mulai 1995 beberapa BBS di Indonesia seperti Clarissa menyediakan jasa akses Telnet ke luar negeri. Dengan memakai remote browser Lynx di AS, pemakai Internet di Indonesia bisa akses Internet (HTTP).
Sejak tahun 1994 Internet masuk ke Indonesia dengan Top Level Domain ID (TLD ID) primer yang dibangun di server UUNET, lalu dilanjutkan dengan domain tingkat dua (second level domain). ISP (Internet Service Provider) pertama di Indonesia adalah IPTEKnet yang terhubung ke Internet dengan kapasitas bandwidth 64 Kbps. Di Indonesia, lembaga uang dapat memperkirakan pengguna Internet adalah APJII (Asosiasi Penyelenggara Jasa Internet Indonesia). Menurut APJII pengguna Internet sampai akhir tahun 2007, ada sekitar 17  juta.
Bandwidth adalah istilah yang menunjukkan kapasitas media dalam membawa informasi. Bandwidth digunakan dalam banyak hal, misalnya telepon, jaringan kabel, bus, sinyal frekuensi radio, dan monitor. Bandwidth diukur dengan putaran per detik (cycle per second) atau hertz (Hz), tetapi dapat juga digunakan dalam ukuran bit per second (bps)

Rabu, 11 November 2015

1570231068

"KOPI ITEM SABLON"


Kami menerima pemesanan sablon untuk :
  •  Kaos
  •  Switter 
  •  Jaket 

Ketentuan dalam diskon ini adalah  :
1.      Untuk jumlah pembelian dibawah 1 Juta, tidak mendapatkan diskon.
2.      Untuk jumlah pembelian 1 Juta sampai 5 Juta, mendapatkan diskon 10%.
3.      Untuk jumlah pembeliaan diatas 5 Juta, mendapatkan diskon 15%.
 
#include <iostream>
#include <stdlib.h>
using namespace std;

int potongan(int val){

    int totVal;
    totVal = val;

    if(val < 1000000){
        cout << "Tidak ada diskon" << endl;
        val = val;
        return totVal;
    } else if(val >= 1000000 && val <= 5000000){
        val = (val*10)/100;
        cout << "Diskon 10%" << endl;
        cout << "Besar Diskon yang Diberikan : Rp. " << val << endl;
        return totVal - val;
    } else if(val > 5000000){
        val = (val*15)/100;
        cout << "Diskon 15%" << endl;
        cout << "Besar Diskon yang Diberikan : Rp. " << val << endl;
        return totVal - (float)val;
    }
}

int main(){

    int harga, tot;
    char ans;

    do{
    system("CLS");

    cout << "\n\t\t\tKOPI ITEM SABLON"   <<endl;
    cout << "\t\t\t================\n\n" <<endl;

    cout << "Besar Pembelian : Rp. ";
    cin  >> harga;

    cout << endl;

    tot = potongan(harga);

    cout << "Harga yang Harus Dibayarkan : Rp. " << tot << endl;

    cout << "\nMau Diulang ? (Y/N) : ";
    cin  >> ans;
    }while(ans=='y'&&ans!='t' || ans=='Y'&&ans!='T');

       cout << "Terima Kasih \n\n";
       system("PAUSE");
}

 


 


   

 "TERIMA_KASIH"

dasar-dasar pemrograman

Pengenalan C++

Bahasa pemrograman C++ bisa disebut sebagai bahasa pemrograman tingkat menengah ( middle level programming language) yang berarti juga termasuk dalam bahasa tingkat tinggi (high level programming language).
Struktur C++
# include
main()
{
Instruksi-instruksi
}
Keterangan :
a. # include sebagai proses compiler dari c++ menjalankan program yang dinamakan preprosesor yang memiliki kemampuan menambahkan dan menghapus kode dari file sumber. Include berarti menyertakan kode dari file header yang ada didalam kurung, file header adalah file yang berisi deklarasi untuk berbagai fungsi yang dibutuhkan oleh program.
b. main()
Untuk mendeklarasi fungsi utama, bahwa suatu program c++ dapat berisi banyak fungsi, tetapi harus selalu memiliki sebuah fungsi utama ( main function). Fungsi adalah modul yang berisi kode-kode untuk menyelesaikan masalah-masalah tertentu.
c. {
Menandakan awal program.
d. Instruksi
Berisi perintah-perintah yang akan dilakukan program.
e. }
Menandakan akhir program.
Pendeklarasian tipe data variable.
Tipe data Fungsi atau kegunaan Jangkauan Contoh
Int Dapat menampung nilai positif atau nilai negative. -32768 sampai 32767 125
Float Dapat menampung semua nilai bilangan real, mewakili semua bilangan,dan bilangan dengan pecahan decimal. -1038 sampai +1038 56.12
Char Mewakili suatu karakter tunggal, sebuah huruf, 1 digit, atau tanda baca. 1 byte ‘A’
Deklarasi & Variabel
Bentuk penulisan
Tipe_data nama_variabel;
Contoh Deklarasi Variabel
char nama_mahasiswa;
char grade;
float rata_rata ;
int nilai;
Perintah Keluaran
Perintah standar output yang disediakan oleh Borland C++, diantaranya adalah :
• printf()
• puts()
• putchar()
• cout()
printf()
Fungsi printf() merupakan fungsi keluaran yang paling umum digunakan untuk menampilkan informasi kelayar.
contoh1:
#include
#include
#include
main()
{
int a=7;
char b=’G’;
clrscr();
printf(“%c Merupakan Abjad Yang Ke – %d”, b, a);
getch();
}puts()
Perintah puts() sebenarnya sama dengan printf(), yaitu digunakan untuk mencetak string ke layar. puts() berasal dari kata PUT STRING.
Perbedaan antara printf() dengan puts() adalah :
Contoh2:
#include
#include
#include
main()
{
char a[4]=”BSI”;
clrscr();
puts(“Saya Kuliah di. “); {put berfungsi untuk mencetak sekaligus mencipakan baris baru}
puts(a);
getch();
}
putchar()
Perintah putchar() digunakan untuk menampilkan sebuah karakter ke layar. Penampilan karakter tidak diakhiri dengan pindah baris.
Contoh3:
#include
#include
main()
{
clrscr();
putchar(‘B’);
putchar(‘S’);
putchar(‘I’);
getch();
}
cout()
Penjelasan Fungsi cout() merupakan sebuah objeck didalam C++ digunakan untuk menampilkan suatu data kelayar. Untuk menggunakan fungsi cout() ini, harus menyertakan file header iostream.h .
Contoh4:
#include
#include
#include
main()
{
float a, b, c;
a=7.5; b=8.4; c=0;
clrscr();
cout<<"Masukan Nilai A : "<<a;
cout<<"Masukan Nilai B : "<<b<<endl;
c = a + b;
cout<<"Masukan Nilai C : "<<c;
getch();
}
Perintah Masukan
Perintah standar input yang disediakan oleh Borland C++, diantaranya adalah :
• scanf()
• gets()
• cin()
• getch()
• getche()
scanf()
Fungsi scanf() digunakan untuk memasukkan berbagai jenis data.
Bentuk Umum dari fungsi ini adalah :
scanf("penentu format", &nama-variabel); format sama dengan format printf()
contoh5:
# include
# include
main()
{
int a, b, c = 0 ;
clrscr();
printf(“Masukan Nilai A = “); scanf(“%d”,&a);
printf(“Masukan Nilai B = “); scanf(“%d”,&b);
c = a + b;
printf(“Hasil Penjumlahan = %d”,c);
getch();
}
gets()
Fungsi gets() digunakan untuk memasukkan data string.
Bentuk Umum dari fungsi ini adalah :
gets(nama-variabel-array);
Perbedaan scanf dan gets
Contoh6:
# include
# include
main()
{
char nm1[20];
char nm2[20];
clrscr();
puts(“Masukan nama ke – 1 = “);
gets(nm1);
printf(“Masukan nama ke – 2 = “);
scanf(“%s”,&nm2);
printf(“\n\n”);
puts(“Senang Berkenalan Dengan Anda ..”);
puts(nm1);
printf(“Senang Berkenalan Dengan Anda ..%s”, nm1);
puts(“Senang Berkenalan Dengan Anda ..”);
puts(nm1);
printf(“\n\n”);
puts(“Senang Berkenalan Dengan Anda ..”);
puts(nm2);
printf(“Senang Berkenalan Dengan Anda ..%s”, nm2);
getch();
}
cin() Fungsi cin() merupakan sebuah objeck didalam C++ digunakan untuk memasukkan suatu data. Untuk menggunakan fungsi cin() ini, harus menyertakan file header iostream.h .
contoh7:
# include
# include
# include
main()
{
float a, b, c;
clrscr();
cout<>a;
cout<>b;
c = a + b;
cout<<"Nilai C : "<<c<<endl;
getch();
}
getch ()
Fungsi getch() (get character and echo) dipakai untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukan tidak akan ditampilkan di layar. File header yang harus disertakan adalah conio.h.
Contoh8:
# include
# include
main()
{
char kar;
clrscr();
printf(“Masukan Sebuah Karakter Bebas = “);
kar = getch();
printf(“\nTadi Anda Memasukan karakter %c”, kar);
getch();
}
getche ()
Fungsi getche()dipakai untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukan ditampilkan di layar. File header yang harus disertakan adalah conio.h.
Contoh9:
# include
# include
main()
{
char kar;
clrscr();
printf(“Masukan Sebuah Karakter Bebas = “);
kar = getche();
printf(“\nTadi Anda Memasukan karakter %c”, kar);
getch ();
}
Catatan : Getch() dan getche() penulisan sama
Operator Aritmatik
Operator Keterangan
+ pertambahan
* perkalian
% Sisa pembagian
– Pengurangan
/ Pembagian
Contoh1:
#include
#include
#include
main()
{
int a, b, c = 0, d = 0;
clrscr();
cout<>a;
cout<>b;
c = a % b;
d = a * b;
cout<<" Hasil dari C = A % B = "<<c<<endl;
cout<<" Hasil dari D = A * B = "<<d<<endl;
getch();
}
Operator Penambahan dan Pengurangan
A = A + 1 atau A = A – 1;
disederhanakan menjadi :
A += 1 atau A -= 1;
masih dapat disederhanakan menjadi A ++ atau A–
Notasi “ ++ “ atau “ — “ dapat diletakan didepan atau di belakang variabel.
Contoh A ++ atau ++A / A– atau –A
Kedua bentuk penulisan notasi ini mempunyai arti yang berbeda
• Jika diletakan didepan variabel, maka proses penambahan atau pengurangan akan dilakukan sesaat sebelum atau langsung pada saat menjumpai ekspresi ini, sehingga nilai variabel tadi akan langsung berubah begitu ekspresi ini ditemukan, sedangkan
• Jika diletakan dibelakang variabel, maka proses penambahan atau pengurangan akan dilakukan setelah ekspresi ini dijumpai atau nilai variabel akan tetap pada saat ekspresi ini ditemukan.
Contoh2:
/* Penggunaan Notasi Didepan Variabel*/
#include
#include
main()
{
int a = 10, b = 5;
clrscr();
printf(“Nilai A = %d”, a);
printf(“\nNilai ++A = %d”, ++a);
printf(“\nNilai A = %d”, a);
printf(“\nNilai B = %d”, b);
printf(“\nNilai –B = %d”, –b);
printf(“\nNilai B = %d”, b);
getch();
}
Contoh3:
/* Penggunaan Notasi Dibelakang Variabel*/
#include
#include
main()
{
int a = 10, b = 5;
clrscr();
printf(“Nilai A = %d”, a);
printf(“\nNilai A++ = %d”, a++);
printf(“\nNilai A = %d”, a);
printf(“\nNilai B = %d”, b);
printf(“\nNilai B– = %d”, b–);
printf(“\nNilai B = %d”, b);
getch();
}
Operator Relasi
Operator Keterangan
== Sama dengan (bukan pemberi nilai
!= Tidak sama dengan
> Lebih dari
= Lebih dari sama dengan
<= Kurang dari sama dengan
Contoh4:
#include
#include
#include
main()
{
float a, b, c, d, e, f, x, y;
clrscr();
cout<>x;
cout<>y;
a = x == y;
b = x != y;
c = x > y;
d = x = y;
f = x <= y;
cout<<endl;
cout<<"Hasil dari "<<x<<" == "<<y<<" = "<<a<<endl;
cout<<"Hasil dari "<<x<<" != "<<y<<" = "<<b<<endl;
cout<<"Hasil dari "<<x< “<<y<<" = "<<c<<endl;
cout<<"Hasil dari "<<x<<" < "<<y<<" = "<<d<<endl;
cout<<"Hasil dari "<<x<= “<<y<<" = "<<e<<endl;
cout<<"Hasil dari "<<x<<" <= "<<y<<" = "<<f<<endl;
getch();
}
Operator Logika
Operator Relasi digunakan untuk menghubungkan dua buah operasi relasi menjadi sebuah ungkapan kondisi. Hasil dari operator logika ini menghasilkan nilai numerik 1 (True) atau 0 (False).
Operator Keterangan
&& Operator Logika AND
|| Operator Logika OR
! Operator Logika NOT
Operator And
digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan dianggap BENAR, bila semua ekspresi relasi yang dihubungkan bernilai BENAR.
Contoh :
Ekspresi Relasi-1  A + 4 A + 5
Ekspresi Relasi-3  C – 3 >= 4
Contoh5:
/* Penggunaan Operasi Logika AND */
#include
#include
#include
main()
{
float a, b, c, d, e, f, g, h;
clrscr();
cout<>a;
cout<>b;
cout<>c;
// Proses
d = a + 4 a + 5;
f = c – 3 >= 4;
g = d && e && f;
cout<<endl<<endl;
cout<<"Program Ekspresi AND"<<endl<<endl;
cout<<"Hasil dari d = a + 4 < 10 adalah " <<d<<endl;
cout< a + 5 adalah ” <<e<<endl;
cout<= 4 adalah ” <<f;
cout<<endl<<endl;
cout<<"Hasil dari g = d && e && f adalah " <<g;
cout<<endl;
getch();
}
Operator OR
digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan dianggap BENAR, bila salah satu ekspresi relasi yang dihubungkan bernilai BENAR.
Contoh :
Ekspresi Relasi-1  A + 4 A + 5
Ekspresi Relasi-3  C – 3 > 4
Contoh6:
/* Penggunaan Operasi Logika OR */
#include
#include
#include
main()
{
float a, b, c, d, e, f, g, h;
clrscr();
cout<>a;
cout<>b;
cout<>c;
d = a + 5 > 10;
e = b > 5 + a ;
f = c – 4 <= 7;
g = d || e || f;
cout<<endl<<endl;
cout<<"Program Ekspresi OR"<<endl<<endl;
cout< 10 adalah ” <<d<<endl;
cout< 5 + a adalah ” <<e<<endl;
cout<<"Hasil dari f = c – 4 <= 7 adalah " <<f;
cout<<endl<<endl;
cout<<"Hasil dari g = d || e || f adalah " <<g;
cout<<endl;
getch();
}
Operator NOT
Operator logika NOT akan memberikan nilai kebalikkan dari ekspresi yang disebutkan. Jika nilai yang disebutkan bernilai BENAR maka akan menghasilkan nilai SALAH, begitu pula sebaliknya.
Contoh:
Ekspresi Relasi  A + 4 < 10
Contoh7:
/* Penggunaan Operasi Logika NOT */
#include
#include
#include
main()
{
int a, b, c;
clrscr();
cout<>a;
/* Proses */
b = (a + 4 < 10);
c = !(b);
cout<<endl<<"Program Ekspresi NOT "<<endl;
cout<<"Nilai A = "<<a<<endl;
cout<<"Nilai b = (a + 4 < 10) = "<<b<<endl;
cout<<"Nilai c = !(b) = "<<c;
getch();
}
Operasi Penyeleksian Kondisi
Pernyataan Percabangan digunakan untuk memecahkan persoalan untuk mengambil suatu keputusan diantara sekian pernyataan yang ada.
Pernyataan IF
if (kondisi)
{
Pernyataan;
……
}
Contoh1:
#include
#include
#include
main()
{
double tot_beli, potongan=0, jum_bayar=0;
clrscr();
cout<>tot_beli;
if (tot_beli >= 50000)
potongan = 0.2 * tot_beli;
cout<<"Besarnya Potongan Rp. "<<potongan<<endl;
jum_bayar = tot_beli – potongan;
cout<<"Jumlah yang harus dibayarkan Rp. "<<jum_bayar;
getch();
}
Pernyataan If Else
if (kondisi-1)
{
perintah-1;
….
}
else
{
perintah-2;
….
}
Contoh2:
#include
#include
#include
main()
{
double tot_beli, potongan=0, jum_bayar=0;
clrscr();
cout<>tot_beli;
if (tot_beli >= 50000)
potongan = 0.2 * tot_beli;
else
potongan = 0.05 * tot_beli;
cout<<"Besarnya Potongan Rp. "<<potongan<<endl;
jum_bayar = tot_beli – potongan;
cout<<"Jumlah yang harus dibayarkan Rp. "<<jum_bayar;
getch();
}
Pernyataan Nested If
if(syarat)
if(syarat)
… perintah;
else
… perintah;
else
if(syarat)
… perintah;
else
… perintah;
Contoh3:
#include
#include
#include
main()
{
char kd;
char ukr,merk[20];
long int hrg,byr,ppn,ttl,u_byr,u_kembali,byk;
clrscr();
cout<<"***Toko Kelontong Keroncongan***"<<endl;
cout<<"============================================="<<endl;
cout<<"A. Susu Dancow "<<endl;
cout<<" 1. Ukuran Kecil "<<endl;
cout<<" 2. Ukuran Sedang "<<endl;
cout<<" 3. Ukuran Besar "<<endl;
cout<<"B. Susu Bendera "<<endl;
cout<<" 1. Ukuran Kecil "<<endl;
cout<<" 2. Ukuran Sedang "<<endl;
cout<<" 3. Ukuran Besar "<<endl;
cout<<"C. Susu SGM "<<endl;
cout<<" 1. Ukuran Kecil "<<endl;
cout<<" 2. Ukuran Sedang "<<endl;
cout<<" 3. Ukuran Besar "<<endl;
cout<>kd;
cout<>ukr;
cout<>byk;
if(kd==’A’||kd==’a’)
{strcpy(merk,”Dancow”);
if(ukr==’1′)hrg=15000;
else if(ukr==’2′)hrg=26000;
else hrg=45000;}
else if(kd==’B’||kd==’b’)
{strcpy(merk,”Bendera”);
if(ukr==’1′)hrg=12000;
else if(ukr==’2′)hrg=22000;
else hrg=40000;}
else
{strcpy(merk,”SGM”);
if (ukr==’1′)hrg=20000;
else if(ukr==’2′)hrg=38000;
else hrg=70000;}
cout<<"Merk Susu :"<<merk<<endl;
cout<<"Harga :"<<hrg<<endl;
byr=hrg*byk;
cout<<"Pembayaran :"<<byr<<endl;
ppn=0.1*byr;
ttl=byr+ppn;
cout<<"PPN :"<<ppn<<endl;
cout<<"Total Bayar :"<<ttl<<endl;
cout<>u_byr;
u_kembali=u_byr-ttl;
cout<<"Uang Kembali :"<<u_kembali<<endl;
cout<<"Terima Kasih Anda Telah Ke Counter Kami"<<endl;
getch();
}
Pernyataan If – Else Majemuk
if (syarat)
{
… perintah;
… perintah;
}
else if (syarat)
{
… perintah;
… perintah;
}
else
{
… perintah;
… perintah;
}
Contoh4:
#include
#include
#include
main()
{
char nm_pes[20],nm[20],kode,tujuan[30];
int jml;
long int harga,ttl;
clrscr();
cout<<"PT TRAVELLING INDONESIA"<<endl;
cout<>nm;
cout<>kode;
cout<>jml;
if(kode==’1′)
{strcpy(tujuan,”Jakarta – Medan”);
strcpy(nm_pes,”Garuda Airlines”);
harga=400000;}
else if(kode==’2′)
{strcpy(tujuan,”Jakarta – Lampung”);
strcpy(nm_pes,”Asia Airlines”);
harga=200000;}
else
{strcpy(tujuan,”Jakarta – Palembang”);
strcpy(nm_pes,”Sriwijaya Airlines”);
harga=300000;}
ttl=jml*harga;
cout<<"Penumpang Yang Bernama :"<<nm<<endl;
cout<<"Nama Pesawat :"<<nm_pes<<endl;
cout<<"Tujuan :"<<tujuan<<endl;
cout<<"Harga Tiket :"<<harga<<endl;
cout<<"Total Bayar :"<<ttl<= 85, maka mendapat hadiah Seperangkat Komputer P4
– Jika Nilai Rata-Rata >= 70, maka mendapat hadiah Uang sebesar Rp. 500,000
– Jika Nilai Rata-Rata < 70, maka mendapat hadiah Hiburan
• Tampilan yang diinginkan sebagai berikut :
Layar Masukkan
PROGRAM HITUNG NILAI RATA-RATA
Nama Siswa : …
Nilai Pertandingan I : …
Nilai Pertandingan II : …
Nilai Pertandingan III : …
Layar Keluaran
Siswa yang bernama …
Memperoleh nilai rata-rata
dari hasil perlombaan yang diikutinya.
Hadiah yang didapat adalah ..
Pernyataan switch – case
switch (ekspresi integer atau karakter )
{
case konstanta-1 :
… perintah;
… perintah;
break;
case konstanta-2 :
… perintah;
… perintah;
break;
default :
… perintah;
… perintah;
}
Setiap cabang akan dijalankan jika syarat nilai konstanta tersebut dipenuhi dan default akan dijalankan jika semua cabang diatasnya tidak terpenuhi. Pernyataan break menunjukan bahwa perintah siap keluar dari switch. Jika pernyataan ini tidak ada, maka program akan diteruskan kecabang – cabang yang lainnya.
Contoh1:
#include
#include
#include
main()
{
char kode;
clrscr();
cout<>kode;
switch(kode)
{
case ‘A’ :
case ‘a’ :
cout<<"Alat Olah Raga";
break;
case 'B' :
case 'b' :
cout<<"Alat Elelktronik";
break;
case 'C' :
case 'c' :
cout<<"Alat Masak";
break;
default:
cout<<"Anda Salah Memasukan kode";
break;
}
getch();
}
Contoh2:
#include
#include
#include
main()
{
char nama[30],kd,bonus[20],jwb;
int jml;
long int hrg,ppn,total,pot;
atas:
clrscr();
cout<<"TOKO BUKU SEJAHTERA"<<endl;
cout<<"Jl.Keadilan No.16"<<endl
cout<<"Telp.7236573-7236574"<<endl;
cout<<"======================================="<<endl;
cout<>kd;
switch(kd)
{
case ‘A’:
case ‘a’:
{strcpy(nama,”Laskar Pelangi”);
hrg=50000;}
break;
case ‘B’:
case ‘b’:
{strcpy(nama,”Jangan Tinggalkan Aku”);
hrg=35000;}
break;
case ‘C’:
case ‘c’:
{strcpy(nama,”Mencari Mutiara di Dasar Hati”);
hrg=45000;}
break;
default:
cout<<"Anda Salah Memasukan Kode";
break;
}
cout<<"Nama Buku Yang Anda Beli :"<<nama<<endl;
cout<<"Harga Buku Yang Anda Beli :"<<hrg<<endl;
cout<>jml;
if (jml>=3)
{pot=0.1*hrg*jml;
strcpy(bonus,”Buku Saku”);}
else
{pot=0;
strcpy(bonus,”Maaf Anda Tidak Dapat Bonus”);}
cout<<"Anda Dapat Potongan : "<<pot<<endl;
cout<<"Bonus Yang Anda Peroleh : "<<bonus<<endl;
total=jml*hrg;
ppn=0.02*jml*hrg;
cout<<"Total Bayar Buku Yang Dibeli : "<<total<= 80 mendapat Grade A
• Nilai Akhir >= 70 mendapat Grade B
• Nilai Akhir >= 59 mendapat Grade C
• Nilai Akhir >= 50 mendapat Grade D
• Nilai Akhir < 50 mendapat Grade E
• Tampilan yang diinginkan sebagai berikut :
Layar Masukkan
PROGRAM HITUNG NILAI AKHIR
Nama Siswa : ……
Nilai Keaktifan : ……
Nilai Tugas : ……
Nilai Ujian : ……
Layar Keluaran
Siswa yang bernama
Dengan Nilai Persentasi Yang dihasilkan.
Nilai Keaktifan * 20% : …
Nilai Tugas * 30% : …
Nilai Ujian * 50% : …
Jadi Siswa yang bernama
memperoleh nilai akhir sebesar …
Grade nilai yang didapat adalah …
Latihan IF dan Switch case:
PT. DINGIN DAMAI, memberikan Honor tetap kepada karyawan kontraknya sebesar Rp. 300,000,- per bulan, dengan memperoleh tujangan-tunjangan sebagai berikut :
• Tunjangan Jabatan
Golongan Persentase
1 5%
2 10%
3 15%
Sebagai contoh : Jika seorang keryawan tersebut dengan golongan 3, maka mendapatkan tunjangan sebesasr 15% * Rp. 300,000,-
• Tunjangan Pendidikan
Kode Pendidikan Persentase
1 SMU 2,5%
2 D3 5%
3 S1 7,5%
• Honor Lembur
Jumlah jam kerja normal sebanyak 8 Jam Kerja. Honor lembur diberikan jika jumlah jam kerja sebih dari 8 jam, maka kelebihkan jam kerja tersebut dikalikan dengan honor lembur perjam sebesar Rp. 2,500 untuk setiap kelebihan jam kerja perharinya.
• Tampilan yang diinginkan sebagai berikut :
Layar Masukkan
Program Hitung Honor Karyawan Kontrak
PT. DINGIN DAMAI
Nama Karyawan : …
Golongan : …
Pendidikan (SMU/D3/S1) : …
Jumlah Jam Kerja : …
Layar Keluaran
Karyawan yang bernama : …
Honor yang diterima
Honor Tetap Rp. ….
Tunjangan jabatan Rp. ….
Tunjangan Pendidikan Rp. ….
Honor Lembur Rp. ….
———————————————— +
Honor Yang Diterima Rp. ….
Proses Perulangan
Perulangan For
Perulangan yang pertama adalah for. Bentuk umum pernyataan for sebagai berikut :
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )
Bila pernyataan didalam for lebih dari satu maka pernyataan-pernyataan tersebut harus diletakan didalam tanda kurung.
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )
{
pernyataan / perintah;
pernyataan / perintah;
pernyataan / perintah;
}
Keterangan:
* inisialisasi : nilai awal pada variabel
* syarat pengulangan : hal yang menentukan apakah suatu perulangan diteruskan atau dihentikan.
* pengubah nilai pencacah : pengatur nilai kenaikan atau penurunan nilai pencacah.
Contoh1:
/* ————————— */
/* Program for – bilangan naik */
/* ————————— */
#include
#include
#include
main()
{
int a;
clrscr();
for(a = 1; a <= 10; ++a)
cout<<a;
getch();
}
Contoh2:
/* ——————————*/
/* Program Menampilkan Warna – 1 */
/* ——————————*/
#include
#include
main()
{
int a=2, b=1, c=2, d=1, e;
clrscr();
for(e=1; 17>e; e++)
{
gotoxy(e, e); textcolor(e);
cprintf(“\nwarna ke-%d”,e);
}
getche();
}
Keterangan:
cprintf() = Menampilkan data dengan format pewarnaan teks dan pewarnaan latar belakang.
Perulangan Nested For
Pernyataaan Nested for adalah suatu perulangan for didalam perulangan for yang lainnya. Bentuk umum pernyataan Nested for sebagai berikut :
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )
{
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah)
{
pernyataan / perintah;
}
}
Contoh3:
/* ————————- */
/* Program for – Nested for */
/* ————————- */
#include
#include
#include
main()
{
int a, b;
clrscr();
for(a = 1; a <= 5; a++)
{
printf("\n");
for(b = a; b <= 5; b++)
cout<<a<<" ";
}
getch();
}
Pernyataan Goto
Pernyataan goto merupakan instruksi untuk mengarahkan eksekusi program ke-pernyataan yang diawali dengan suatu label. Label merupakan suatu pengenal (identifier) yang diikuti dengan tanda titik dua ( : ). Bentuk pemakaian goto sebagai berikut :
goto label;
contoh4:
/* —————————— */
/* Program dengan pernyataan goto */
/* —————————— */
#include
#include
#include
main()
{
int a, b;
char lagi;
atas:
clrscr();
cout<>a;
b = a % 2;
printf(“Nilai %d %% 2 adalah = %d”,a, b);
printf(“\n\nIngin Hitung Lagi [Y/T] : “);
lagi = getche() ;
if (lagi == ‘Y’ || lagi == ‘y’)
goto atas;
getch();
}
Pernyataan While
Pernyataan perulangan while merupakan instruksi perulangan yang mirip dengan perulangan for. Bentuk perulangan while dikendalikan oleh syarat tertentu, yaitu perulangan akan terus dilaksanakan selama syarat tersebut terpenuhi.
Bentuk umum perulangan while, sebagai berikut :
while ( syarat )
Pernyataan / perintah ;
Contoh5:
/* Program while01.cpp */
/* ——————- */
#include
#include
#include
main()
{
int bil=1;
clrscr();
while(bil<=10)
{
cout<<bil<<" ";
++bil;
}
getch();
}
Pernyataan do – while
Pernyataan perulangan do – while merupakan bentuk perulangan yang melaksanakan perulangan terlebih dahulu dan pengujian perulangan dilakukan dibelakang.
Bentuk umum perulangan do – while, sebagai berikut :
do
pernyataan / perintah ;
while ( syarat );
contoh6:
/* Program do – while */
/* —————— */
#include
#include
#include
main()
{
int bil=2;
clrscr();
do
{
cout<<bil<<" "; bil+=2;
}
while(bil<=10);
getch();
}
Latihan:
1. Buatlah program untuk menghitung 10 deret bilangan genap dengan hasilnya :
2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + 20 = 110
2. Buatlah program untuk menghitung 10 deret bilangan ganjil dengan hasilnya :
1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 19 = 100
Operasi String
Fungsi strcat()
Fungsi ini digunakan untuk menambahkan string sumber kebagian akhir dari string tujuan.
File header yang harus disertakan adalah : string.h dan ctype.h
Bentuk Penulisan :
strcat(tujuan, sumber);
contoh1:
#include
#include
#include
#include
#include
main()
{
char a1[20];
char a2[20];
clrscr();
cout<>a1;
cout<>a2;
strcat(a1, a2);
cout<<"Hasil Penggabungannya "<<a1;
getch();
}
Fungsi strlen()
Fungsi ini digunakan untuk memperoleh banyaknya karakter dalam string. File header yang harus disertakan adalah : string.h
Bentuk Penulisan :
strlen(str);
Contoh2:
#include
#include
#include
#include
main()
{
char huruf[20];
char pindah[20];
clrscr();
cout<<"Masukkan Sembarang Kata = ";
gets(huruf);
cout<<"Panjang Kata Yang Diinputkan = ";
cout<<strlen(huruf);
getch();
}
Fungsi strrev()
Penjelasan Fungsi ini digunakan untuk membalik letak urutan pada string. String urutan paling akhir dipindahkan keurutan paling depan dan seterusnya. File header yang harus disertakan adalah : string.h
Bentuk Penulisan :
strrev(str);
contoh3:
#include
#include
#include
#include
main()
{
char kata[20];
clrscr();
cout<<"Masukan Sembarang Kata = ";
gets(kata);
strrev(kata);
cout<<"Hasil Perubahan = "<<kata;
getch();
}
Fungsi Strlwr()
Fungsi ini digunakan untuk mengubah setiap huruf kapital (huruf besar ) dalam string menjadi huruf kecil.
File header yang harus disertakan adalah : string.h
Bentuk Penulisan :
strlwr(str);
contoh4:
#include
#include
#include
#include
main()
{
char kata[20];
clrscr();
cout<<"Masukan Sembarang Kata dengan Huruf Besar ="; gets(kata); strlwr(kata);
cout<<"Hasil Perubahan = "<<kata;
getch();
}
Fungsi strupr()
Fungsi ini digunakan untuk mengubah setiap huruf kecil dalam string menjadi huruf kapital ( huruf besar ).
File header yang harus disertakan adalah : string.h
Bentuk Penulisan :
strupr(str);
contoh5:
#include
#include
#include
#include
main()
{
char kata[20];
clrscr();
cout<<"Masukan Sembarang Kata dengan Huruf Kecil=";
gets(kata);
strupr(kata);
cout<<"Hasil Perubahan = "<<kata;
getch();
}
Latihan 1:
#include
#include
#include
#include
garis()
{cout<<"____________________________________________________"<<endl;}
float harga(float a);
main()
{
int i;
char lagi;
struct
{
char nama[5][20];
char najur[5][10];
int jubel[5],kode[5],tot[5];
}travel[5];
atas:
clrscr();
cout<<"\tTRAVEL SILIWANGI"<<endl;
garis();
for (i=1;i<3;i++)
{
cout<<"Data Ke- "<<i;
cout<<"\nMasukan Nama : ";gets(travel[i].nama[i]);
cout<>travel[i].kode[i];
cout<>travel[i].jubel[i];
}
for (i=1;i<3;i++)
{
if (travel[i].kode[i]==1)
strcpy (travel[i].najur[i],"JKT – SBY");
else if (travel[i].kode[i]==2)
strcpy(travel[i].najur[i],"SBY – BALI");
else
strcpy (travel[i].najur[i],"SBY – JKT");
}
for (i=1;i<3;i++)
{
travel[i].tot[i]=travel[i].jubel[i]*harga(travel[i].kode[i]);
}
garis();
cout<<"\tTRAVEL SILIWANGI"<<endl;
cout<<"No. Nama Jurusan Harga jumlah Total"<<endl;
garis();
for (i=1;i<3;i++)
{
cout<<setiosflags(ios::left)<<setw(4)<<i;
cout<<setiosflags(ios::left)<<setw(10)<<travel[i].nama[i];
cout<<setiosflags(ios::left)<<setw(15)<<travel[i].najur[i];
cout<<setiosflags(ios::left)<<setw(8)<<harga(travel[i].kode[i]);
cout<<setiosflags(ios::left)<<setw(5)<<travel[i].jubel[i];
cout<<setiosflags(ios::left)<<setw(10)<<travel[i].tot[i];
cout<<endl;
}
garis();
cout<<"\n\n\n\n"<<"apakah anda ingin input lagi?";
lagi=getche();
if (lagi=='y'||lagi=='Y')
goto atas;
getch();
}
float harga(float a)
{
if (a==1)
{
return 400000;
}
else if (a==2)
{
return 250000;
}
else
{
return 150000;
}
}
Hasil Tampilan:
Latihan2:
/* Program Gaji Karyawan Honerer */
/* Jawaban Kuis Pra UAS C++ A1 */
/* ================================= */
#include
#include
#include
#include
long Lembur(int LJam);
main()
{
struct
{
char NIK[10];
char Nama[25];
int JmlJam;
long Total;
}Karyawan[5];
int i,N;
clrscr();
cout<>N;
for(i=1;i<=N;i++)
{
clrscr();
cout<<"==============================="<<endl;
cout<<" PROGRAM GAJI KARYAWAN "<<endl;
cout<<" HONORER "<<endl;
cout<<"==============================="<<endl;
cout<<" Data Ke – : "<<i<<endl;
cout<>Karyawan[i].NIK;
cout<<" Nama Karyawan : ";gets(Karyawan[i].Nama);
cout<>Karyawan[i].JmlJam;
}
clrscr();
cout<<"==============================================="<<endl;
cout<<" RINCIAN GAJI KARYAWAN HONORER "<<endl;
cout<<"==============================================="<<endl;
cout<<" No NIK Nama Jumlah Jam Upah Lembur Total Gaji "<<endl;
cout<<"==============================================="<<endl;
for(i=1;i<=N;i++)
{
cout<<setiosflags(ios::right)<<setw(3)<<i<<" ";
cout<<setiosflags(ios::left)<<setw(10)<<Karyawan[i].NIK;
cout<<setiosflags(ios::left)<<setw(10)<<Karyawan[i].Nama;
cout<<setiosflags(ios::right)<<setw(3)<<Karyawan[i].JmlJam<<" ";
cout<<setiosflags(ios::right)<<setw(10)< 48)
Karyawan[i].Total = (((Karyawan[i].JmlJam – (Karyawan[i].JmlJam – 48)) * 2000) + (Lembur(Karyawan[i].JmlJam)));
else
Karyawan[i].Total = ((Karyawan[i].JmlJam * 2000) + Lembur(Karyawan[i].JmlJam));
cout<<setiosflags(ios::right)<<setw(10)<<Karyawan[i].Total<<endl;
}
cout<<"==============================================="< 48)
{
return(LJam – 48) * 3000;
}
else
{
return 0;
}
}
Hasil Tampilan:
Masukan Keluaran
Latihan3:
#include
#include
#include
#include
#include
main()
{
long int total;
int i,j;
char napeg[20],hari[12];
struct
{
float jumbar[5],kobar[5];
long int tot[5],harga[5];
char nabar[5][20];
}terima[5];
clrscr();
cout<>j;
cout<>napeg;
cout<>hari;
cout<<"_______________________________________________________________"<<endl;
cout<<"Rincian Data Barang "<<endl;
for(i=1;i<=j;i++)
{
cout<<"Data Barang Ke = "<<i<<endl;
cout<>terima[i].kobar[i];
cout<>terima[i].nabar[i];
cout<>terima[i].jumbar[i];
cout<>terima[i].harga[i];
cout<<endl;
}
clrscr();
cout<<"\t\t\t Laporan Data Barang "<<endl;
cout<<"\t\t\t PT.Makmur Sejahtera "<<endl<<endl<<endl;
cout<<"Hari = "<<hari<<"\t\t\t\t\t"<<"Nama Pencatat = "<<napeg<<endl;
cout<<"_______________________________________________________________"<<endl;
cout<<" No Kode Nama Barang Jumlah Harga Total "<<endl;
cout<<" Barang "<<endl;
cout<<"_______________________________________________________________"<<endl;
total = 0;
for(i=1;i<=j;i++)
{
terima[i].tot[i]=terima[i].jumbar[i]*terima[i].harga[i];
cout<<setiosflags(ios::left)<<setw(2)<<ends;
cout<<setiosflags(ios::left)<<setw(10)<<i;
cout<<setiosflags(ios::left)<<setw(10)<<terima[i].kobar[i];
cout<<setiosflags(ios::left)<<setw(15)<<terima[i].nabar[i];
cout<<setiosflags(ios::left)<<setw(13)<<terima[i].jumbar[i];
cout<<setiosflags(ios::left)<<setw(10)<<terima[i].harga[i];
cout<<setiosflags(ios::left)<<terima[i].tot[i];
total = total + terima[i].tot[i];
cout<<endl;
}
cout<<"_______________________________________________________________"<<endl;
cout<<"total bayar"<<setiosflags(ios::left)<<setw(50)<<ends<< total;
getch();
}
Latihan_IF:
#include
#include
#include
main()
{
char kd,judul[20],np[20],bonus[20],jwb;
int jumbel;
float harsat,j_pemby,dis,harber,tunj;
awal:
textbackground(0);
clrscr();
cout<<" \n Toko Kaset Utama \n"<<endl;
cout<>np;
cout<>kd;
cout<>jumbel;
cout<<"\n##################################"<<endl<=5)
dis=0.15*j_pemby;
else
dis=0;
if(kd==’1′ &&jumbel>=5)
tunj=5000;
else
if(kd==’2’&&jumbel>=5)
tunj=6000;
else
if(kd==’3’&&jumbel>=5)
tunj=7000;
else
tunj=0;
harber=j_pemby-dis+tunj;
cout<<"Judul Lagu : "<<judul<<endl;
cout<<"Bonus : "<<bonus<<endl;
cout<<"Harga : "<<harsat<<endl;
cout<<"Jumlah bayar : "<<j_pemby<<endl;
cout<<"Discount : "<<dis<<endl;
cout<<"Tunjangan : "<<tunj<<endl;
cout<<"Total Bayar : "<<harber<<endl<<endl;
cout<<"Mau Menghitung Lagi[Y/T]?";jwb=getche();
if(jwb=='Y'||jwb=='y')
goto awal;
getch();
}
Array / Larik
Variabel Larik atau lebih dikenal dengan ARRAY adalah adalah Tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang 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.
Array Berdimensi Satu
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.
Float Nil_Akhir[6];
Contoh1:
#include
#include
#include
#include
main()
{
int i;
char nama[5][20];
float nilai1[5];
float nilai2[5];
float hasil[5];
clrscr();
for (i=1;i<=2;i++)
{
cout<<"Data Ke- "<<i<<endl;
cout<<"Nama Siswa :";gets(nama[i]);
cout<>nilai1[i];
cout<>nilai2[i];
hasil[i]=(nilai1[i]*0.40)+(nilai2[i]*0.60);
cout<<endl;
}
clrscr();
cout<<endl<<endl;
cout<<"———————————————–"<<endl;
cout<<"No. Nama Siswa Nilai Nilai Hasil "<<endl;
cout<<" Teori Praktek Ujian "<<endl;
cout<<"———————————————–"<<endl;
for (i=1;i<=2;i++)
{
cout<<setiosflags(ios::left)<<setw(4)<<i;
cout<<setiosflags(ios::left)<<setw(18)<<nama[i];
cout<<setprecision(2)<<" "<<nilai1[i];
cout<<setprecision(2)<<" "<<nilai2[i];
cout<<setprecision(2)<<" "<<hasil[i]<<endl;
}
cout<<"———————————————–"<<endl;
getch();
}
Array Berdimensi Dua
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
Contoh2:
#include
#include
#include
#include
main()
{
int i, j;
int data_jual[4][4];
clrscr();
for(i=1;i<=3;i++)
{
for(j=1;j<=3;j++)
{
cout<<"Data Ke – "<<i<<" "<<j<<endl;
cout<>data_jual[i][j];
}
}
cout<<"Data Penjualan Pertahun"<<endl;
cout<<"———————–"<<endl;
cout<<"NO 2001 2002 2003"<<endl;
cout<<"———————–"<<endl;
for(i=1;i<=3;i++)
{
cout<<setiosflags(ios::left)<<setw(5)<<i;
for(j=1;j<=3;j++)
{
cout<<setiosflags(ios::right)<<setw(4);
cout<<data_jual[i][j]; cout<<" ";
}
cout<<endl;
}
cout<<"———————–"<<endl;
getch();
}
Latihan_array1:
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 : …
Jenis Ke – …
Jenis Potong [D/P/S] : …
Banyak Potong : …
… <>
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 ….
FUNGSI
Fungsi (Function) merupakan blok dari kode yang dirancang untuk melaksanakan tugas khusus.
Kegunaan dari fungsi ini adalah untuk:
 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
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.
/* pembuatan fungsi garis() */
#include
#include
#include
garis()
{
printf(“\n———————-\n”);
}
/* program utama */
main()
{
clrscr();
garis(); //memanggil fungsi garis
cout<<"AMIK BSI – Salemba 22"<<endl;;
garis(); //memanggil fungsi garis
getche();
}
Prototipe Fungsi
Prototipe fungsi digunakan untuk mendeklarasikan ke kompiler mengenai: • Tipe data keluaran dari fungsi.
• Jumlah parameter yang digunakan
• Tipe data dari masing-masing parameter yang digunakan.
Keuntungan didalam pemakai prototipe yaitu :
• 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.
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. Contoh pemakaian pernyataan return() dapat dilihat pada contoh berikut ;
Contoh pengiriman data konstanta
/* ———————— */
/* Pengriman data Konstanta */
/* ———————— */
#include
#include
#include
luas(float sisi);
main()
{
float luas_bs;
clrscr();
luas_bs = luas(4.25);
cout<<"\nLuas Bujur Sangkar = "<<luas_bs;
getch();
}
luas(float sisi)
{
return(sisi*sisi);
}
Keterangan :
Dalam struktur program diatas dilihat bahwa, pernyataan luas_bs=luas(4.25), akan dikirimkan nilai kepada fungsi luas(), untuk diolah lebih lanjut, yang nilai tersebut akan ditampung pada variabel sisi. Selanjutnya didalam fungsi return terjadi perkalian sisi dengan sisi, setelah itu hasil perkalian tersebut dikirim balik ke variabel luas_bs yang memanggil fungsi.
Contoh Pengiriman data variable:
/* ———————— */
/* Pengriman data Variabel */
/* ———————— */
#include
#include
#include
luas(float sisi);
main()
{
float luas_bs, sisi_bs;
clrscr();
cout<<"\nMenghitung Luas Bujur Sangkar"<<endl;
cout<>sisi_bs;
luas_bs = luas(sisi_bs);
cout<<"\nLuas Bujur Sangkar = "<<luas_bs<<" Cm";
getch();
}
luas(float sisi)
{ return(sisi*sisi); }
Latihan function
#include
#include
#include
potong(float harga,float disk);
garis ()
{
printf(“===============================”);
}
main()
{
char nama[20],jwb;
long int harga,total,disk;
ulang:
clrscr();
garis();
cout<<"\n\tToko Mas Jayakarta "<<endl;
cout<>nama;
cout<>harga;
if(harga=1000000&&harga<=5000000)
disk=harga*0.2;
else
disk=harga*0.35;
cout<<"Besar diskont yang diberikan :"<<disk<<endl;
total=potong(harga,disk);
cout<<"Besar harga yang harus dibayar :"<<total<<endl;
cout<<"\n\tAnda Ingin Input Lagi [Y/T]:";jwb=getche();
if(jwb=='Y'||jwb=='y')
goto ulang;
getch();
}
potong(float harga,float disk)
{ return(harga-disk); }
Macro
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 preprocessor directive, diantaranya adalah :
# define
Digunakan untuk mendefinisikan suatu nilai tertentu kepada suatu nama konstanta.
Bentuk umum dari preprocessor directive #define ini adalah:
#define nama_konstanta teks
Contoh :
Teks
#define A 6
Nama_Konstanta
Dalam pendeklarasian preprocessor directive #define,
Nama_Konstanta sebaiknya ditulis dengan menggunakan huruf besar, guna untuk membedakannya dengan nama_variabel. Sedangkan Teks merupakan suatu nilai yang diberikan pada nama_konstanta. Teks dapat berupa :
• Numerik  #define PI 3.14
• Karakter  #define HURUF ‘B’
• String  #define JABATAN “INSTRUCTOR”
• Pernyataan  #define CETAK (“Borland C++”)
• Fungsi Sederhana  #define LUAS_KUBUS (n*n)
Contoh1:
/* ————————– */
/* Program Penggunaan #define */
/* ————————– */
#include
#include
#include
#define PI 3.141592
#define L(n) PI*n*n
main()
{
clrscr();
cout<<"Luas Lingkaran dengan : "<<endl;
cout<<"Jari-jari = 5 adalah "<<L(5)<<endl;
cout<<"Jari-jari = 10 adalah "<<L(10)<<endl;
getche();
}
Contoh2:
/* ————————– */
/* Program Penggunaan #define */
/* ————————– */
#include
#include
#include
#define awal {
#define akhir }
#define mulai() main()
#define cetak cout
#define masuk cin
#define hapus() clrscr()
#define tahan() getch()
#define LS_KUBUS (sisi*sisi)
mulai()
awal
int sisi, ls_kubus;
hapus();
cetak<<"Program Penggunaan #define"<<endl<<endl;
cetak<>sisi;
ls_kubus = LS_KUBUS;
cetak<<"Luas Kubus adalah : "<<ls_kubus;
tahan();
akhir
# include
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
Pada 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
“Pertama kali compiler akan mencari file header yang disebutkan pada directori yang ada file headernya, kecuali pada directori yang sedang aktif.
Pembuatan File Header
File Header adalah suatu file dengan akhiran .h . File ini sebenarnya berisikan deklarasi fungsi dan definisi konstanta. Selain file-file header standar yang disediakan oleh C++, 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 .
Buatlah program file heder dibawah ini, kemudian simpan dengan nama : atur.h, pada folder kerja anda folder include
Contoh-1
/* atur.h */
#define awal {
#define akhir }
#define mulai() main()
#define cetak cout
#define tampil cprintf
#define masuk cin
#define hapus() clrscr()
#define jika if
#define warna textcolor
#define tahan getche()
Buatlah program dibawah ini, kemudian gunakan file header yang sudah anda buat dan simpan dengan nama : sendiri.cpp
/* ———————————- */
/* program dengan file header sendiri */
/* ———————————- */
#include
#include
#include
#include”atur.h”
mulai()
awal
int a, b, c;
hapus();
warna(4);
tampil(“\nPROGRAM PENJUMLAHAN\n”);
cetak<<endl;
cetak<>a;
cetak<>b;
c=a+b;
cetak<<"Hasil dari "<<a<<" + "<<b<<" = "<<c;
tahan;
akhir
Structure
Structure 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
Deklarasi Structure
Atau
Contoh1:
/* —————————- */
/* Program Penggunaan structure */
/* Nama File : struct1.cpp */
/* —————————- */
#include
#include
#include
main()
{
struct
{
char nim[5];
char nama[15];
int nilai;
} mahasiswa;
clrscr();
cout<>mahasiswa.nim;
cout<>mahasiswa.nama;
cout<>mahasiswa.nilai;
cout<<"\n\nData Yang di Inputkan adalah : \n\n";
cout<<"NIM = "<<mahasiswa.nim<<endl
cout<<"Nama = "<<mahasiswa.nama<<endl
cout<<"Nilai Akhir = "<<mahasiswa.nilai<<endl
getch();
}
Nested Structure
Contoh2:
/* ———————————– */
/* Program Penggunaan Nested structure */
/* ———————————– */
#include
#include
#include
main()
{
struct dtmhs
{
char nim[9];
char nama[15];
};
struct dtnil
{
float nil1;
float nil2;
};
struct
{
struct dtmhs mhs;
struct dtnil nil;
} nilai;
clrscr();
//-> masukan data
cout<>nilai.mhs.nim;
cout<>nilai.mhs.nama;
cout<>nilai.nil.nil1;
cout<>nilai.nil.nil2;
cout< menampilkan hasil masukan
cout<<"masukan NIM = "<<nilai.mhs.nim<<endl
cout<<"masukan Nama = "<<nilai.mhs.nama<<endl
cout<<"masukan Nilai UTS = "<<nilai.nil.nil1<<endl
cout<<"masukan Nilai UAS = "<<nilai.nil.nil2<<endl
cout<<endl;
getch();
return(0);
}
Structure dengan Array
struct
{
elemen_struktur;
…..
…..
} nama_tipe_struktur[jml_index];
Contoh3:
#include
#include
#include
main()
{
int i,j=1;
struct
{
char nim[10];
char nama[15];
float nilai;
} mhs[5];
clrscr();
for(i=1;i<=2;i++)
{
cout<<"Data ke-"<<i<<endl;
cout<>mhs[i].nim;
cout<>mhs[i].nama;
cout<>mhs[i].nilai;
cout<<endl;
}
for(i=1;i<=2;i++)
{
cout<<"Data ke-"<<i<<endl;
cout<<"NIM = "<<mhs[i].nim<<endl;
cout<<"Nama = "<<mhs[i].nama<<endl;
cout<<"Nilai Akhir = "<<mhs[i].nilai<<endl;
cout<<endl;
}
getch();
}
Structure dengan Function
/* —————————————— */
/* Program Penggunaan structure pada function */
/* Nama File : struct4.cpp */
/* —————————————— */
#include
#include
#include
char ket(float n);
main()
{
int i, j=1, k=1;
struct
{
char nim[5];
char nama[15];
float nilai;
} mhs[5];
clrscr();
for(i=0; i<2; i++)
{
cout<<"Data Ke – "<<j++<<endl;
cout<>mhs[i].nim;
cout<>mhs[i].nama;
cout<>mhs[i].nilai;
cout<<endl;
}
clrscr();
for(i=0; i<2; i++)
{
cout<<"Data Ke – "<<k++<<endl;
cout<<"NIM = "<<mhs[i].nim<<endl;
cout<<"Nama = "<<mhs[i].nama<<endl;
cout<<"Nilai Akhir = "<<mhs[i].nilai<<endl;
cout<<"Keterangan yang didapat = ";
cout<<ket(mhs[i].nilai)<<endl; cout< 65)
return ‘L’;
else
return ‘G’;
}