Materi 2: Tipe Data dan Operator



Materi 2: Tipe Data dan OperatorTipe DataBahasa C++ menyediakan 7 tipe dasar, yaitu: char, int, short, long, float, double, dan long double. Cara pendeklarasian variable dan tipe data adalah:tipe_data nama_variable;jika suatu variable telah dideklarasikan, maka variable tersebut dapat diberi nilai, yaitu dengan cara:variable = nilai;tetapi pemberian nilai juga dapat dilakukan langsung saat mendeklarasikan variable, seperti berikut:tipe_data nama_variable = nilai;Ukuran memori untuk masing-masing tipe data sangat bergantung pada perangkat keras dari komputer yang digunakan. Karena itu jangkauan dari masing-masing tipe data juga dapat berbeda antara mesin satu dengan mesin yang lain. Ukuran memori dan jangkauan data untuk masing-masing tipe data dasar pada umumnya ditunjukkan pada tabel di bawah ini:Tipe DataUkuranMemori (byte)Jangkauan nilaiJumlahdigitpresisichar1-128 sampai 127int2-32768 sampai 32767long4-2147438648 sampai 2147438647float43.4x10-38 sampai 3.4x10386 – 7double81.7 x 10-308 sampai 1.7 x 1030815 – 16long double103.4x10-4932 sampai 3.4x10493219bool1true atau falseTipe data suatu variable ditentukan oleh jenis data yang akan digunakan pada variable. Jika variable yang digunakan untuk meyimpan data bilangan bulat saja, maka pilihannya adalah tipe bilangan bulat yaitu int atau long. Selain jenis data, dalam menentukan tipe data suatu variable juga harus melihat kemungkinan nilai maksimal yang akan ditampung. Misalnya suatu variable yang menunjukkan harga buku sebesar Rp 100.000,00 maka dapat digunakan tipe data int. Tipe-tipe data diatas memiliki modifikasi, yaitu berkaitan dengan dukungan terhadap nilai positif dan negatif. Modifikasi yang dimaksud adalah penambahan keyword signed dan unsigned. Tipe unsigned diterapkan pada tipe data bilangan bulat, tipe ini akan menyebabkan nilai yang dapat ditampung harus bernilai positif. Sifat ini juga menyebabkan jangkaun data dari tipe bilangan bulat yang dilengkapi unsigned akan berubah. Adapun pemodifikasian tipe signed merupakan default dari tipe-tipe data dasar, yang menyatakan bahwa data bernilai positif dan negatif.Pemodifikasian tipeTipe data yang samaJangkauan nilaisigned charChar-128 sampai 127signed intInt-32768 sampai 32767signed short intshort, signed short-32768 sampai 32767signed long intlong, long int, signed long-2147438648 sampai 2147438647unsigned char-0 sampai 255unsigned int-0 sampai 65535unsigned short intunsigned short0 sampai 65535unsigned long intunsigned long0 sampai 4294967295Dalam beberapa kompiler C++ seperti Dev C++ telah mendukung tipe data string, data bertipe string berbentuk kumpulan dari karakter-karakter dan data ditulis diantara dua tanda petik, contoh “hello world”. Jika kompiler tidak mendukung tipe data string maka untuk membuat string dapat menggunakan array dari char. Tipe data charAdalah tipe data karakter yang bisa menyimpan mulai dari: a – z, A – Z, ‘!’, ‘@’, dsb. Tipe data char ditulis diantara tanda petik tunggal dan hanya berisi satu karakter. Karakter-karakter yang dikenal adalah karakter yang terdapat pada tabel ASCII (American Standard Code for Information Interchange). Contoh: char huruf = ‘c’;char inisial1 = ‘A’, inisial2 = ‘W’;char simbol = ‘#’;char simbol2 = ‘\\’;Karakter yang diawali dengan simbol \ mempunyai arti tersendiri. Karakter-karakter tersebut dikenal dengan karakter khusus atau disebut juga dengan escape sequence character.KarakterKeterangan\0Null\aKarakter bel\bKarakter backspace\fKarakter formfeed (ganti halaman)\nKarakter newline (pindah baris)\rKarakter carriage return (ke awal baris) tanpa linefeed\tKarakter tab horisontal\vKarakter tab vertikal\\Karakter \\’Karakter petik satu (‘)\”Karakter petik dua (“)\?Karakter tanda tanya (?)Contoh penulisan karakter biasa dan krakter khusus:Output dari kode diatas adalah:Maksud dari kode (int) ch adalah untuk melihat nilai karakter ‘a’ pada tabel ASCII.Tipe data intVariable bertipe int dideklarasikan dengan bentuk:int bil;setelah dideklarasikan variable bil dapat digunakan untuk menampung data bertipe integer. Bilangan bertipe integer adalah bilangan bulat yang terletak antara -32768 hingga 32767. Contoh penulisan dalam program:Hasil output dari kode diatas adalah:Seperti namanya, int hanya bisa bernilai bulat dan bukan pecahan (desimal). Jika suatu variable digunakan untuk menampung nilai hasil pembagian dua bilangan dan hasil pembagiannya tidak bulat, seperti contoh:int hasil_bagi_bulat = 5 / 2;maka hasilnya tetap bilangan bulat (dengan pembulatan ke atas atau ke bawah):2Hal ini terjadi karena 5 dibagi 2 = 2,5, sedangkan hasil_bagi_bulat adalah integer (bilangan bulat) 2,5 kemudian dibulatkan menjadi 2.Tipe data longTipe ini digunakan jika akan memproses bilangan bulat yang nilainyanya lebih besar dari integer. Contoh deklarasi variable bertipe long:long harga_mobil;Contoh program:Output dari kode diatas adalah:Tipe data float, double, dan long doubleTipe-tipe ini digunakan untuk memproses bilangan yang mengandung pecahan. Namun ketiganya memiliki perbedaan yaitu dalam hal kepresisian data dan jangkauan nilai yang dicakup.Contoh:Hasil output adalah:Untuk mengetahui tingkat kepresisian antara tipe data float, double, dan long double dapat digunakan manipulator setprecision yang terdapat pada file header “iomanip.h”.Hasil output adalah:Tipe data boolTipe data ini hanya berisi salah satu dari dua nilai berikut: true atau false. Nilai true biasanya disimbolkan dengan angka 1, dan nilai false disimbolkan dengan angka 0. Tipe data bool digunakan pada pernyataan-pernyataan yang mengandung logika atau pada pernyataan pemilihan (if - else). Contoh:Output program 2.6.cpp adalahOperatorOperator merupakan simbol yang biasa dilibatkan dalam program untuk melakukan suatu operasi atau manipulasi. Misalnya untuk menjumlahkan dua buah nilai, memberikan nilai ke suatu variable. Nilai yang dioperasikan disebut dengan operand. 3 + 2operandoperandoperatorJika dikelompokkan berdasarkan jumlah operand, operator dapat dikelompokkan menjadi tiga sifat, yaitu:SifatKeteranganContohUnaryHanya melibatkan satu operand-1BinaryMelibatkan dua operand1 + 2TernaryMelibatkan tiga operand(a > b) ? a:bBahasa C dan C++ memiliki banyak sekali operator. Operator-operator dalam bahasa C maupun C++ memiliki hierarki (tingkat pengerjaan/jenjang/precedence). Maksudnya, jika dalam suatu statement memiliki lebih dari satu operator maka operator dengan hierarki tertinggi akan dikerjakan terlebih dahulu, contoh:A = 5 * 8 – 9Maka hasil dari pengerjaan diatas adalah 31. Karena operator perkalian ( * ) memiliki tingkat hierarki lebih tinggi daripada operator pengurangan ( - ).Macam-macam operator, arah proses, dan hierarkinya adalah sebagai berikut:HierarchyOperatorDescriptionAssociativity1::Scope resolutionLeft-to-right2++?--Suffix/postfix increment and decrement()Function call[ ]Array subscripting.Element selection by reference->Element selection through pointer3++?--Prefix increment and decrementRight-to-left+?-Unary plus and minus!?~Logical NOT and bitwise NOT(type)Type cast*Indirection (dereference)&Address-ofsizeofSize-of4.*? ->*Pointer to memberLeft-to-right5*?/?%Multiplication, division, and remainder6+?-Addition and subtraction7<< ?>>Bitwise left shift and right shift8<? <=For relational operators < and ≤ respectively>? >=For relational operators > and ≥ respectively9==? !=For relational = and ≠ respectively10&Bitwise AND11^Bitwise XOR (exclusive or)12|Bitwise OR (inclusive or)13&&Logical AND14||Logical OR15?:Ternary conditionalRight-to-Left16=Direct assignment (provided by default for C++ classes)+= -=Assignment by sum and difference*=? /=? %=Assignment by product, quotient, and remainder<<=? >>=Assignment by bitwise left shift and right shift&=? ^=? |=Assignment by bitwise AND, XOR, and OR17,CommaLeft-to-rightOperator AritmatikaOperator aritmatika yang tergolong operator unary adalahOperatorKeteranganContoh-Tanda minus-1+Tanda plus+2Operator aritmatika yang tergolong operator binary adalahOperatorKeteranganContoh*Perkalian2 * 3/Pembagian7 /2%Modulus (sisa pembagian)5 % 4 = 1+Penjumlahan4 + 5-Pengurangan5 – 6 Contoh:Output:Operator PenugasanOperator penugasan yang berbentuk simbol sama dengan ( = ) berguna untuk memberikan suatu nilai ke suatu variable. Contoh:a = 1;c = 2 + (b = 1);a = b = c = d = e = 1;Operator Penurunan (decrement) dan Penaikan (increment)Operator penurunan disimbolkan dengan -- dan berguna untuk menurunkan nilai variable sebesar satu. Sedangkan operator penaikan disimbolkan dengan ++ dan berguna untuk menaikkan nilai variable sebesar satu. Contoh:x++ sama seperti ungkapan x = x + 1.y-- sama seperti ungkapan y = y – 1.Operator penurunan dan penaikan dapat ditempatkan di depan (pre-) atau di belakang (post-) variable. Efek dari penempatan operator dapat dilihat pada contoh berikut:a = 7;b = 2;c = b + a++;nilai c adalah 9 bukan 10. Pada contoh tersebut c diisi dengan penjumlahan antara b dan a. Setelah c terisi dengan hasil penjumlahan tersebut, nilai a baru dinaikkan satu, sehingga nilai a sekarang adalah 8. Persamaan c tersebut identik dengan:c = b + a;a = a + 1;lain halnya jika operator penaikan diletakkan di depan operand, maka operand tersebut akan dinaikkan nilainya terlebih dahulu sebelum proses lain dilakukan. Contoh:a = 7;b = 2;c = b + ++a;persamaan c tersebut identik dengan:a = a + 1;c = b + a;sehingga nilai c adalah 10.Operator BitwiseDigunakan untuk keperluan memanipulasi data dalam bentuk bit. Seluruh operator bitwise hanya bisa dikenakan pada operand bertipe data int atau char. C++ menyediakan enam operator bitwise yaituOperatorKeteranganContoh~Bitwise NOT~25<<Geser bit ke kiri25 << 2>>Geser bit ke kiri25 >> 2& Bitwise AND25 & 2^Bitwise XOR25 ^ 2|Bitwise OR25 | 2Contoh:Output:8210 = 00000000010100102 dan2610 = 00000000000110102Sehingga :82 << 2 00000001010010002 = 3281082 >> 2 00000000000101002 = 201082 & 26 0000000001010010200000000000110102------------------------- &00000000000100102 = 1810dan begitu juga untuk operasi OR dan XOR.~82 digunakan untuk komplemen, yaitu8210 = 00000000010100102 lalu dinegasikan tiap bitnya menjadi 11111111101011012 kemudian LSB ditambah 1 menjadi 1111111110101110 = 6545410 nilai ini melebihi jangkauan maksimum int yang berkisar di -32768 sampai 32767, sehingga nilai yang keluar yaitu 83.Operator MajemukOperator ini berguna untuk memendekkan suatu penulisan operasi penugasan, misalnya x = x + 2 menjadi x += 2.Operator Hubungan (Perbandingan)Operator Hubungan digunakan untuk membandingkan hubungan antara dua buah operand (sebuah nilai atau variable). Operator hubungan dalam bahasa C++:Operator KondisiOperator kondisi digunakan untuk memperoleh nilai dari dua kemungkinan, contoh:ungkapan1 ? ungkapan2 : ungkapan3Bila nilai ungkapan1 benar, maka nilainya sama dengan ungkapan2, bila tidak maka nilainya sama dengan ungkapan3.Contoh dalam program:Operator KomaOperator ini berguna untuk meletakkan dua buah ungkapan pada suatu kaidah yang memerlukan sebuah ungkapan saja. Contoh penggunaan padad pernyataan perulangan for:for(i=0, j=0; i<10; i++, j--) { ..}Operator LogikaOperator logika digunakan untuk menghubungkan dua atau lebih ungkapan menjadi sebuah ungkapan berkondisi.OperatorKeteranganContoh&&Logika ANDn && m||Logika ORn || m!Logika NOT!nContoh:Output:ExerciseJika diketahui x adalah variable bertipe integer, dari nilai-nilai berikut, manakah yang dapat diberikan pada x?105.740000Ubahlah ekspresi-ekspresi matematika berikut ke dalam bahasa C++A=πr2x=-b±b2-4ac2as=vt+12at2Terdapat dua buah variable A dan B yang bertipe integer. Variable A bernilai 10, dan varible B bernilai 20. Buatlah program untuk menukar nilai dua variable tersebut, sehingga A bernilai 20 dan B bernilai 10.Sebuah program untuk menghitung nilai seorang mahasiswa memiliki 5 variable untuk nama mahasiswa, nomor induk mahasiswa, nilai tugas, nilai mid semester, dan nilai ujian akhir semester. Nilai akhir dihitung dengan rumus: (nilai tugas * 20%) + (nilai mid semester * 40%) + (nilai ujian akhir semester * 40%). Buatlah program tersebut!Tulislah program untuk menampilkan jumlah hari, jam, menit, dan detik dari masukan yang berupa lamanya waktu dalam detik. Sebagai contoh, input 100.000 detik akan menghasilkan output 1 hari, 3 jam, 46 menit, 40 detik.Input dari program adalah bilangan bulat bertipe long. Output program adalah banyaknya hari, jam, menit, dan detik dari input tersebut. ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download