DATA & STRUKTUR DATA PERTEMUAN 2 IMAM SIBRO MALISI NIM : 0931464013
STRUKTUR DATA Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian Struktur Data yang tepat didalam proses pemrogramman, akan menghasilkan Algoritma yang lebih jelas dan tepat sehingga menjadikan program secara keseluruhan lebih sederhana.
Pada garis besarnya, Data dapat dikategorikan menjadi : A. Type Data Sederhana / Data Sederhana Terdiri dari : 1. Data Sederhana Tunggal Misalnya : Integer, Real/Float, Boolean dan Character 2. Data Sederhana Majemuk Misalnya : String B. Struktur Data 1. Struktur Data Sederhana Misalnya Array dan Record
2. Struktur Data Majemuk Terdiri dari : a. Linier b. Non Linier Misalnya : Stack, Queue dan Linear Linked List. b. Non Linier Misalnya : Pohon (Tree), Pohon Biner (Binary Tree), Pohon Cari Biner (Binary Search Tree), General Tree serta Graph
2 . REAL / FLOATING POINT Type data yang merupakan bilangan pecahan. Merupakan Bilangan Bulat dan tidak mengandung Jenis Data Real/float ditulis dgn menggunakan pecahan. seperti : ...-3,-2,-1,0,1,2,3,.... titik(koma) desimal. Misalnya : 0.32 4,35 -131.128 Type Real dapat juga ditulis dengan Rumus : M = Pecahan, R = Radix, e = Exponen, X = Hasil Bilangan, Misalnya : 3.2 * 10-1 = 0.32 4.35 * 102 = 435 M * Re = X
Type data REAL Typ e Rang e (Byt e) F l oa t 3. 4 x 10 -38 s/ d 3.4 x 10 +38 4 D ou bl e 1. 7 x 10 -30 8 s/ d 1. 7x10 + 308 8 L o ng D ou bl 3. 4 x 10 -49 32 s/ d 1. 1x1 0 + 4932 10
3. BOOLEAN ATAU LOGICAL Type data yang hanya mempunyai dua bentuk keluaran yaitu nilai True dan False (Benar dan Salah) yang dinyatakan dengan 1 dan 0, Sehingga satuan data yang eterpakai cukup satu bit saja. Operator yang digunakan adalah : And, Or, Not, Xor
INPUT NOT(!) AND(&&) OR(II) A B C !A !B !C A&&B&&C AIIBIIC 1
4. CHARACTER Type data yang terdiri dari aksara (simbol) yang meliputi digit numerik, character alfabetik dan spesial character. Untuk menuliskan tipe char, karakter perlu ditulis di dalam tanda petik tunggal ( ‘ ) Contoh : ‘A’ karakter berupa huruf A ‘1’ karakter berupa angka 1 ‘*’ karakter simbol *
5. STRING Merupakan type data majemuk yang terbentuk dari kumpulan character sebanyak 256 (default) dengan jangkauan niai 0 - 255. Kumpulan character yang digunakan untuk membentuk String dinamakan alfabet. Pemberian nilai String diapit dengan tanda petik ganda (“) Bentuk umum penulisan tipe data ini adalah : pengenal = nama variabel panjang = bilangan bulat yg menunjukan jumlah karakter Contoh : char nama[15] ;
Operator Dalam Bahasa C++ Oprator Aritmatika Keterangan pow Pangkat sqrt Mengitung akar % Sisa hasil bagi (modurus) * , / Perkalian,Pembagian + , - Penjumlahan, Pengurangan
Operator Dalam Bahasa C++ Operator Pemberian Nilai Aritmatika Keterangan * = Perkalian / = Pembagian % = sisa hasil bagi += Pemjulahan -= pengurangan
Operator Dalam Bahasa C++ Oprator unary Keterangan + Tanda plus - Tanda minus Oprator penambahan pengurang Keterangan ++ Penambahan -- pengurangan
Operator Dalam Bahasa C++ Relasi Keterangan = Sama dengan (assingnmet) != Tidak sama dengan > Lebih besar < Lebih kecil == Sama dengan (bukan assignment) >= Lebih besar atau sama dengan <= Lebih kecil atau sama dengan
Operator Dalam Bahasa C++ Operetor Bittwise Keterangan ~ NOT << Shift Left >> Shift Right & AND ^ XOR | OR
TYPE TERSTRUKTUR (Dalam Program C++) Bermanfaat untuk mengelompokkan sejumlah data dengan tipe data yang berlainan. Contoh : struct data_pegawai { int nip; char nama[25]; char alamat[40]; }
Latihan Soal Struktur Data Pertemuan 1 1. Type data dibawah ini, yang tidak termasuk dalam tipe data sederhana tunggal, adalah : a. Boolean c. Integer b. String d. Real/float 2. ==, <=, >=, !=, termasuk dalam operator … a. Aritmatika c. Relasi b. Unary d. Bitwise
3. Type data yang menghasilkan bentuk keluaran nilai True dan False (Benar dan Salah), adalah : a. Boolean c. Integer b. String d. Real/float 4. void main() { ....(a).... x,y,z; clrscr(); cout <<“\n input nilai X=“; cin >> x; cout <<“\n input nilai Y=“; cin >> y; z = x + y; cout <<“\n hasil penjumlahan =“ << z; getch(); } Tipe data yang tepat untuk (a) adalah …. a. Boolean c. Integer b. String d. Real/float
5. void main() { int r = 10; int s; clrscr(); s = 10 + ++r; cout <<“r = “<< r << ‘\n’; cout <<“s = “<< s << ‘\n’; getch(); } Hasil eksekusi dari program diatas adalah …. a. r = 11, s = 21 c. r = 10, s = 21 b. r = 11, s = 20 d. r = 10, s = 20
SISTEM BILANGAN
Sistem Bilangan adalah suatu cara untuk mewakili besaran item suatu fisik. Sistem bilangan menggunakan basis (base/radix) tertentu yang tergantung dari jumlah bilangan yang digunakan. Suatu sistem bilangan, senantiasa mempunyai Base (radix), absolute digit dan positional (place) value.
Jenis-Jenis Sistem Bilangan Sistem Bilangan Desimal (Decimal Numbering System) Sistem Bilangan Biner (Binary Numbering System) Sistem Bilangan Oktal (Octenary Numbering System) Sistem Bilangan Hexagonal (Hexadenary Numbering System)
Konversi Bilangan DEC OKT HEX BIN 0000 1 0001 2 0010 3 0011 4 0100 5 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 10 1000 9 11 1001 DEC OKT HEX BIN 10 12 A 1010 11 13 B 1011 14 C 1100 15 D 1101 16 E 1110 17 F 1111 20 10000 21 10001 18 22 10010 Dan Seterusnya….
Konversi dari Desimal ke Biner, Oktal, Hexa Bilangan Desimal merupakan bilangan berbasis 10 dengan digit 0,1,2,3,…,9 Konversi bilangan dari desimal ke biner, oktal, dan hexa dengan cara membagi bilangan desimal dengan basis bilangan masing-masing hingga: Sisa Akhir ≤ basis tidak dapat dibagi lagi Hasil pembagian diambil dari bawah ke atas.
Konversi dari Biner ke Desimal, Oktal, Hexa Bilangan Biner merupakan bilangan berbasis 2 dengan digit hanya 0 (off) dan 1 (on) Konversi dari Biner ke Desimal, Okta, dan Hexa: Konversi B D B O B H Keterangan Dari Kanan ke Kiri Place Value dikalikan dengan absolute digit bilangan biner awal Setiap 3 bilangan biner dikelompokkan dari kanan ke kiri Setiap kelompok dicari bilangan oktalnya Setiap 4 bilangan biner dikelompokkan dari kanan ke kiri Setiap kelompok dicari bilangan Hexanya Contoh 101(B) = ….. (D) 10110(B) = ….. (O) 10110(B) = ….. (H) Perhitungan (1.22)+(1.21)+(1.20) = 5 010| 110 2 6 0001 | 0110 1 6 Hasil 101(B) = 5 (D) 10110(B) = 26 (O) 10110(B) = 16 (H)
Konversi dari Oktal ke Desimal, Biner, Hexa Bilangan Oktal merupakan bilangan berbasis 8 dengan digit 0,1,2,3,…,7. Konversi dari Oktal Desimal : Dari kanan ke kiri, place value dikalikan dengan absolute digit bilangan oktal awal. Konversi dari Oktal Biner : Setiap satu bilangan oktal dijadikan kelompok bilangan biner yang terdiri atas 3 digit Konversi dari Oktal Hexa : Tidak ada cara langsung mengubah oktal ke biner. Dapat dilakukan melalui biner atau desimal
Konversi Hexa ke Biner, Oktal, dan Desimal Bilangan Hexa merupakan bilangan berbasis 16 dengan digit 0 – 9 dan A – F Konversi dari Hexa Desimal : dari kanan ke kiri place value dikalikan dengan absolut digit bilangan hexa awal Konversi dari Hexa Biner : Setiap 1 (satu) bil. Hexa dijadikan bil. Biner yang terdiri atas 4 digit Konversi dari Hexa Oktal : Tidak ada cara langsung mengubah hexa ke oktal, tetapi dapat dilakukan dengan mengkonversi ke biner atau desimal dahulu