Dasar Komputer & Pemrograman 1A PERTEMUAN 4 1. STRUKTUR DATA Struktur data adalah suatu koleksi atau kelompok data yang dapat dikarakterisasikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Tujuan : Efisiensi waktu proses Efisiensi resources (RAM, storage) Kemudahan pemrograman (karena lebih jelas) Di dalam sistem desimal, 123000 = 0.123 * 106 di sini 0.123 adalah mantissa atau pecahan, sedangkan 6 adalah eksponennya. Secara umum suatu bilangan real X dituliskan M * RE di Tipe Data : 1) Tipe Data Sederhana a. Data Sederhana Tunggal : Integer Adalah anggota dari himpunan bilangan : {..., -(n+1), -n, ..., -2, -1, 0, 1, 2, ..., n, n+1, ...} Operasi dasar : +, -, *, /, ^ Real Data numerik yang bukan termasuk integer, digolongkan dalam jenis data real. Jenis data ini ditulis menggunakan titik desimal (atau koma desimal). Bilangan real dimasukkan ke dalam memori komputer memakai sistem floating point, merupakan versi yang disebut Scientific Notation. Di sini penyajiannya terdiri atas dua bagian, yaitu : mantissa (pecahan) dan eksponen. Contoh : sini: M dijadikan pecahan, R adalah radixnya dan E merupakan eksponennya. Boolean Jenis data ini disebut juga jenis data logical. Elemen dari jenis data ini mempunyai nilai salah satu dari true atau false. Operator yang dikenal pada boolean, yaitu: o Operator Logika, yaitu : AND, OR, NOT Operator AND akan menghasilkan nilai true, jika kedua operand bernilai true. Operator OR akan menghasilkan nilai true, jika salah satu operand bernilai true Operator NOT merupakan “precedence” dari operator AND dan OR. Dalam suatu ekspresi yang tidak menggunakan tanda kurung, operator NOT harus dievaluasi sebelum operator AND dan OR. o Operator Relasional, yaitu : >, <, >=, <=, <> dan = Contoh : 6 < 8 = True 9 > 8 = False Karakter Jenis data karakter merupakan elemen dari suatu himpunan yang terdiri atas bilangan, abjad dan simbol Hal 1 Dasar Komputer & Pemrograman 1A khusus. (0,1,...,8,9, A, B, ..., Y,Z, +, -,*,√, ...} b. Data Sederhana Majemuk : string Barisan hingga karakter yang dibentuk oleh suatu kumpulan dari karakter. Karakter yang digunakan untuk membentuk suatu string disebut alfabet. Dalam penulisannya, suatu string berada dalam tanda “aphosthrope”. Contoh : Misal diberikan himpunan alfabet A = {C,D,1}. String yang dapat dibentuk dari alfabet di atas antara lain : ‘CD1’,’CDD’,’DDC’,’CDC1’,... dan sebagainya, termasuk “null string” atau “empty string” 2) Tipe Data Berstruktur a. Struktur sederhana : array, record b. Struktur majemuk Linier : stack (tumpukan), queue (antrian), linear linked list Non Linier : tree (pohon), graph Mapping ke Storage 1. Integer Bentuk mapping ke storage dari integer dapat dilakukan dengan beberapa cara, yaitu : a. Skema Sign and Magnitude Cara ini merupakan bentuk konvensional yang digunakan manusia untuk menyatakan suatu bilangan dalam bentuk biner. Di sini representasi bilangan positif dan negatif hanya dibedakan dengan tanda saja. Biasanya tanda positif atau negatif ditunjukkan oleh digit terdepan dari bentuk binernya, untuk representasi dengan jumlah digit tertentu. Contoh : +5 | + 101 atau 5 | 101 -5 | - 101 Catatan : tanda + biasanya diabaikan Dengan cara ini kita akan mendapatkan kesulitan dalam menentukan tanda pada saat melakukan operasi terhadap dua bilangan yang berbeda tandanya. b. Skema One’s Complement Jika x bilangan bulat non negatif maka x’ bilangan binary negatif dari x sedemikian Sehingga x + x’ = R R = 2N – 1 N = jumlah digit maksimum x’ = R - x Contoh : Bila N = 4, maka R = 24 - 1= 15 x = 5 | 0101 x’ = R - x = 15 - 5 = 10 ⎢ 1010 (-5) c. Skema Two’s Complement Jika x bilangan bulat non negatif maka x’ bilangan binary negatif dari x sedemikian sehingga x + x’ = R R = 2N N = jumlah digit maksimum x’ = R – x Contoh : Bila N = 4, maka R = 24 = 16 x = 5 | 0101 x’ = R – x = 16 - 5 = 11 | 1011 (-5) Hal 2 Dasar Komputer & Pemrograman 1A 2. PENYAJIAN DATA Data adalah sesuatu yang belum mempunyai arti bagi penerimanya dan masih memerlukan adanya suatu pengolahan. Informasi merupakan hasil pengolahan dari sebuah model, formasi, organisasi, ataupun suatu perubahan. Bentuk dari data yang memiliki nilai tertentu, dan bisadigunakan untuk menambah pengetahuan bagi yang menerimanya. Hirarki Penyajian Data: Pengertian data yang diolah oleh komputer, cara penyajiannya dapat dibagi dalam beberapa tingkatan/hirarchi, yaitu: a. Byte/Karakter : Merupakan satuan data paling kecil. Karakter bisa berbentuk huruf (A s/d Z, atau a s/d z), berbentuk angka (0 s/d 9), ataupun berbentuk tanda baca lainnya lagi. b. Field : Merupakan kumpulan dari karakter-karakter yang membentuk suatu arti tertentu; Misalnya, Field untuk Nomor Mahasiswa, Field untuk NamaMahasiswa, Field untuk Mata Pelajaran dan lainnya. c. Record : Merupakan kumpulan dari field-field yang membentuk sebuah arti. Misalkan kumpulan field NIRM, NAMA MATERI PENDIDIKAN pada akhirnya membentuk sebuah record. d. File : File merupakan kumpulan dari record-record. Adalah suatu cara untuk mewakili besaran dari suatu item fisik. Sistem bilangan yang banyak dipergunakan oleh manusia adalah system biilangan desimal, yaitu sistem bilangan yang menggunakan 10 macam simbol untuk mewakili suatu besaran. Sistem ini banyak digunakan karena manusia mempunyai sepuluh jari untuk dapat membantu perhitungan. Lain halnya dengan komputer, logika di komputer diwakili oleh bentuk elemen dua keadaan yaitu off (tidak ada arus) dan on (ada arus). Konsep inilah yang dipakai dalam sistem bilangan binary yang mempunyai dua macam nilai untuk mewakili suatu besaran nilai. Selain system bilangan biner, komputer juga menggunakan system bilangan octal dan hexadesimal. Teori Bilangan 1. Bilangan Desimal Sistem ini menggunakan 10 macam symbol yaitu 0,1,2,3,4,5,6,7,8,dan 9. system ini menggunakan basis 10. Bentuk nilai ini dapat berupa integer desimal atau pecahan. Integer desimal : adalah nilai desimal yang bulat, misalnya 8598 dapat diartikan : 8 x 103 = 8000 5 x 102 = 500 Dengan demikian, hirarchi penyajian data dengan urutan dari kecil kebesar adalah sebagai berikut: Byte/Character -> Field --> Record --> File 9 x 101 = 90 8 x 100 = 8 8598 position value/palce value 1. SISTEM BILANGAN (NUMBER SYSTEM) absolute value Hal 3 Dasar Komputer & Pemrograman 1A Absolue value merupakan nilai untuk masing-masing digit bilangan, Dasar penujmlahan biner adalah : sedangkan position value adalah merupakan penimbang atau bobot 0+0=0 dari masing-masing digit tergantung dari letak posisinya, yaitu nernilai 0+1=1 basis dipangkatkan dengan urutan posisinya. 1+0=1 Pecahan desimal : adalah nilai desimal yang mengandung nilai pecahan 1+1=0 dibelakang koma, misalnya nilai 183,75 adalah pecahan desimal yang terbesar ninari 1, maka harus dikurangi dengan 2 (basis), jadi 2 – 2 = dapat diartikan : 0 dengan carry of 1 1 x 10 2 = 100 contoh : 8 x 10 1 = 80 3 x 10 0 = 3 7 x 10 –1= 0,7 5 x 10 –2= 0,05 dengan carry of 1, yaitu 1 + 1 = 2, karena digit 1111 10100 + 100011 atau dengan langkah : 183,75 2. Bilangan Binary Sistem bilangan binary menggunakan 2 macam symbol bilangan berbasis 2digit angka, yaitu 0 dan 1. Contoh bilangan 1001 dapat diartikan : 1 0 0 1 1x20 0x21 0x22 1x23 Operasi aritmetika pada bilangan Biner : a. Penjumlahan b. Pengurangan =1 =0 =0 =8 10 (10) Bilangan biner dikurangkan dengan cara yang sama dengan pengurangan bilangan desimal. Dasar pengurangan untuk masingmasing digit bilangan biner adalah : 0-0=0 1-0=1 Hal 4 Dasar Komputer & Pemrograman 1A 1-1=0 0–1=1 dengan borrow of 1, (pinjam 1 dari posisi sebelah kirinya). Contoh : 11101 1011 10010 dengan langkah – langkah : d. Pembagian Pembagian biner dilakukan juga dengan cara yang sama dengan bilangan desimal. Pembagian biner 0 tidak mempunyai arti, sehingga dasar pemagian biner adalah : 0:1=0 1:1=1 c. Perkalian Dilakukan sama dengan cara perkalian pada bilangan desimal. Dasar perkalian bilangan biner adalah : 0x0=0 1x0=0 0x1=0 1x1=1 3. Bilangan Oktal Sistem bilangan Oktal menggunakan 8 macam symbol bilangan berbasis 8 digit angka, yaitu 0 ,1,2,3,4,5,6,7. Hal 5 Dasar Komputer & Pemrograman 1A Position value system bilangan octal adalah perpangkatan dari nilai 8. Contoh : 1 2(8) = …… (10) 2x80 = 2 1x81 = 8 10 Jadi 10 (10) Operasi Aritmetika pada Bilangan Oktal: a. Penjumlahan Langkah-langkah penjumlahan octal : - tambahkan masing-masing kolom secara desimal - rubah dari hasil desimal ke octal - tuliskan hasil dari digit paling kanan dari hasil octal - kalau hasil penjumlahan tiap-tiap kolom terdiri dari dua digit, b. Pengurangan Pengurangan Oktal dapat dilaukan secara sama dengan pengurangan bilangan desimal. Contoh : maka digit paling kiri merupakan carry of untuk penjumlahan kolom selanjutnya. Contoh : c. Perkalian Langkah – langkah : - kalikan masing-masing kolom secara desimal - rubah dari hasil desimal ke octal Hal 6 Dasar Komputer & Pemrograman 1A - tuliskan hasil dari digit paling kanan dari hasil octal - kalau hasil perkalian tiap kolol terdiri dari 2 digit, maka digit paling kiri merupakan carry of untuk ditambahkan pada hasil perkalian kolom selanjutnya. Contoh : 2. Bilangan Hexadesimal Sistem bilangan Oktal menggunakan 16 macam symbol bilangan berbasis 8 digit angka, yaitu 0 ,1,2,3,4,5,6,7,8,9,A,B,C,D,Edan F. Dimana A = 10, B = 11, C= 12, D = 13 , E = 14 dan F = 15. Position value system bilangan octal adalah perpangkatan dari nilai 16. Contoh : Operasi Aritmetika Pada Bilangan Hexadesimal : a. Penjumlahan Penjumlahan bilangan hexadesimal dapat dilakukan secara sama dengan penjumlahan bilangan octal, dengan langkah-langkah sebagai berikut : d. Pembagian Langkah-langkah penjumlahan hexadesimal : Hal 7 Dasar Komputer & Pemrograman 1A - tambahkan masing-masing kolom secara desimal - rubah dari hasil desimal ke hexadesimal - tuliskan hasil dari digit paling kanan dari hasil hexadesimal - kalau hasil penjumlahan tiap-tiap kolom terdiri dari dua digit, maka digit paling kiri merupakan carry of untuk penjumlahan kolom selanjutnya. Contoh : c. Perkalian Langkah – langkah : - kalikan masing-masing kolom secara desimal - rubah dari hasil desimal ke octal - tuliskan hasil dari digit paling kanan dari hasil octal - kalau hasil perkalian tiap kolol terdiri dari 2 digit, maka digit paling kiri merupakan carry of untuk ditambahkan pada hasil b. Pengurangan Pengurangan bilangan hexadesimal dapat dilakukan secara sama perkalian kolom selanjutnya. Contoh : dengan pengurangan bilangan desimal. Contoh : Hal 8 Dasar Komputer & Pemrograman 1A Konversi Bilangan Adalah suatu proses dimana satu system bilangan dengan basis tertentu akan dijadikan bilangan dengan basis yang alian. a. Konversi dari bilangan Desimal 1. Desimal Biner Yaitu dengan cara membagi bilangan desimal dengan dua kemudian diambil sisa pembagiannya. Contoh : 45 (10) = …..(2) 45 : 2 = 22 + sisa 1 22 : 2 = 11 + sisa 0 d. Pembagian 11 : 2 = 5 + sisa 1 Contoh : 5 : 2 = 2 + sisa 1 2 : 2 = 1 + sisa 0 101101(2) ditulis dari bawah ke atas Hal 9 Dasar Komputer & Pemrograman 1A 2. Desimal Oktal 5. Biner Oktal Yaitu dengan cara membagi bilangan desimal dengan 8 kemudian Dapat dilakukan dengan mengkonversikan tiap-tiap tiga buah digit diambil sisa pembagiannya. biner yang dimulai dari bagian belakang. Contoh : Contoh : 385 ( 10 ) = ….(8) 11010100 (2) = ………(8) 385 : 8 = 48 + sisa 1 48 : 8 = 6 + sisa 0 11 010 100 601 (8) 3 3. Desimal Hexadesimal Yaitu dengan cara membagi bilangan desimal dengan 16 kemudian diambil sisa pembagiannya. 2 diperjelas : 100 = 0 x 2 0 =0 0x21=0 Contoh : 1x22=4 1583 ( 10 ) = ….(16) 4 96 6 = 98 + sisa 15 96 : 16 = 6 + sisa 2 4 Begitu seterusnya untuk yang lain. 62F (16) 4. Biner Desimal Yaitu dengan cara mengalikan masing-masing bit dalam bilangan dengan position valuenya. 6. Biner Hexademial Dapat dilakukan dengan mengkonversikan tiap-tiap empat buah digit biner yang dimulai dari bagian belakang. Contoh : Contoh : 1 0 0 1 11010100 1x20 =1 1101 0100 0x21 =0 D 0x22 =0 7. Oktal Desimal 1x23 =8 10 4 (10) Hal 10 Dasar Komputer & Pemrograman 1A Yaitu dengan cara mengalikan masing-masing bit dalam bilangan 010101010000(2) = 55F (16) 10. Hexadesimal Desimal dengan position valuenya. Contoh : Yaitu dengan cara mengalikan masing-masing bit dalam bilangan 1 2(8) = …… (10) dengan position valuenya. Contoh : 2x80=2 C7(16) = …… (10) 1x81=8 10 7 x 16 0 = C x 16 1 = 192 Jadi 10 (10) 8. Oktal Biner 199 Dilakukan dengan mengkonversikan masing-masing digit octal ke tiga digit biner. 7 Jadi 199 (10) 11. Hexadesimal Oktal Contoh : Dilakukan dengan cara merubah dari bilangan hexadesimal menjadi 6502 (8) ….. = (2) biner terlebih dahulu kemudian dikonversikan ke octal. 2 = 010 Contoh : 0 = 000 55F (16) = …..(8) 5 = 101 55F(16) = 010101011111(2) 6 = 110 010101011111 (2) = 2537 (8) jadi 110101000010 9. Oktal Hexadesimal Dilakukan dengan cara merubah dari bilangan octal menjadi Latihan : Kerjakan soal berikut dengan benar ! bilangan biner kemudian dikonversikan ke hexadesimal. 1. Sebutkan dan jelaskan empat macam sistem bilangan ! Contoh : 2. Konversikan bilangan berikut : 2537 (8) = …..(16) a. 10101111(2) = ………….(10) 2537 (8) = 010101011111 b. 11111110(2) = ………….(8) Hal 11 Dasar Komputer & Pemrograman 1A c. 10101110101(2) = …………(16) 3. Konversi dari : a. ACD (16) = ………(8) b. 174 (8) = ……..(2) 4. BC1(16) 2A (16) X 5. 245 (8) : 24 (8) =……..(8) Hal 12