Publicado em Algotima C incluir ltstdio. hgt incluir ltconio. hgt incluir ltiostream. hgt definir MAXSTACK 100 typedef int itemType typedef struct int itemMAXSTACK int jml Stack int kosong (Stack s) return (s-gtjml0) int penuh (Stack s) return (s) - gtjmlMAXSTACK) void isi (itemType x, Stack s) se (penuh (s)) printf (8220nMaaf data sudah penuhn8221) else s-gtitems-gtjmlx (s-gtjml) void ambil (Stack s, itemType x) se (kosong ( S)) printf (8220nMaaf data masih kosongn8221) else 8211 (s-gtjml) xs-gtitems-gtjml s-gtitems-gtjml0 printf (8220nData i berhasil diambiln8221, x) void tampil (Stack s) if (kosong (s)) printf (8220nMaaf Data masih kosongn8221) else printf (8220n8221) para (int is-gtjml-1igt0i8211) printf (8220Data: dn8221, s-gtitemi) void hapus (Stack s) s-gtjml0 printf (8220nSemua data berhasil dihapusn8221) void main () Int pil Stack tumpukan itemType data init (amptumpukan) do printf (8220nMENU: n 1. Isin 2. Ambiln 3. Lihatn 4. Hapusn 5. Keluarn8221) printf (8220Masukkan pilihan: 8220) scanf (8220i8221, amppi L) interruptor (pil) caso 1: printf (8220nMasukkan data: 8220) scanf (8220i8221, ampdata) isi (data, amptumpukan) caso de falha 2: ambil (amptumpukan, ampdata) caso de ruptura 3: tampil (amptumpukan) caso de ruptura 4: Hapus (amptumpukan) break while (pil5) ada beberapa Algoritma Sorting, yaitu: 1.Insertion Classificar Salah satu algoritma classificar yang paling sederhana adalah inserir classificar. Ide dari algoritma ini dapat dianalogikan seperti mengurutkan kartu. Penjelasan berikut ini menerangkan bagaimana algoritma inserção classificar bekerja dalam pengurutan kartu. Anggaplah anda ingin mengurutkan satu set kartu dari kartu yang bernilai paling kecil hingga yang paling besar. Seluruh kartu diletakkan pada meja, sebutlah meja ini sebagai meja pertama, disusun dari kiri ke kanan dan atas ke bawah. Kemudian kita mempunyai meja yang lain, meja kedua, dimana kartu yang diurutkan akan diletakkan. Ambil kartu pertama yang terletak pada pojok kiri atas meja pertama dan letakkan pada meja kedua. Ambil kartu kedua dari meja pertama, bandingkan dengan kartu yang berada pada meja kedua, kemudian letakkan pada urutan yang sesuai setelah perbandingan. Proses tersebut akan berlangsung hingga seluruh kartu pada meja pertama telah diletakkan berurutan pada meja kedua. Algoritma inserção classificar pada dasarnya memilah dados yang akan diurutkan menjadi dua bagian, yang belum diurutkan (meja pertama) dan yang sudah diurutkan (meja kedua). Elemen pertama diambil dari bagian array yang belum diurutkan dan kemudian diletakkan sesuai posisinya pada bagian lain dari array yang telah diurutkan. Langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang tersisa pada bagian array yang belum diurutkan. 2.Selection Sort Jika anda diminuta untuk membuat algoritma classing tersendiri, anda mungkin akan menemukan sebuah algoritma yang mirip dengan seleção tipo. Layaknya classificar a inserção, algoritma ini sangat rapat dan mudah untuk diimplementasikan. Mari kita kembali menelusuri bagaimana algoritma ini berfungsi terhadap satu paket kartu. Asumsikan bahwa kartu tersebut akan diurutkan secara ascendente. Pada awalnya, kartu tersebut akan disusun secara linier pada sebuah meja dari kiri ke kanan, dan dari atas ke bawah. Pilih nilai kartu yang paling rendah, kemudian tukarkan posisi kartu ini dengan kartu yang terletak pada pojok kiri atas meja. Lalu cari kartu dengan nilai paling rendah diantara sisa kartu yang tersedia. Tukarkan kartu yang baru saja terpilih dengan kartu pada posisi kedua. Ulangi langkahlangkah tersebut hingga posisi kedua sebelum posisi terakhir dibandingkan dan dapat digeser dengan kartu yang bernilai lebih rendah. Ide utama dari algoritma seleção classificar adalah memilih elemen dengan nilai paling rendah dan menukar elemen yang terpilih dengan elemen ke-i. Nilai dari i dimulai dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 3.Merge Classificar Sebelum mendalami algoritma merge classificar, mari kita mengetahui garis besar dari konsep dividir e conquistar karena merge sort mengadaptasi pola tersebut. Pola Divide e Conquer Beberapa algoritma mengimplementasikan konsep rekursi untuk menyelesaikan permasalahan. Permasalahan utama kemudian dipecah menjadi sub-masalah, kemudian solusi dari sub-masalah akan membimbing menuju solusi permasalahan utama. Pada setiap tingkatan rekursi, pola tersebut terdiri atas 3 langkah. 8211 Divida Memilah masalah menjadi sub masalah 8211 Conquista Selesaikan sub masalah tersebut secara rekursif. Jika sub-masalah tersebut cukup ringkas dan sederhana, pendekatan penyelesaian secara langsung akan lebih efektif 8211 Kombinasi Mengkombinasikan solusi dari sub-masalah, yang akan membimbing menuju penyelesaian atas permasalahan utama 4.Quicksort Quicksort ditemukan oleh C. A.R Hoare. Seperti pada merge sort, algoritma ini juga berdasar pada pola divide-e-conquiste. Berbeda dengan merge sort, algoritma ini hanya mengikuti langkah langkah sebagai berikut: 1. Divida Memilah rangkaian dados menjadi dua sub-rangkaian Apq-1 dan Aq1r dimana setiap elemen Apq-1 adalah kurang dari atau sama dengan Aq dan setiap elemen pada Aq1r adalah lebih Besar atau sama dengan elemen pada Aq. Aq disebut sebagai elemen pivô. Perhitungan pada elemen q merupakan salah satu bagian dari prosedur pemisahan. 2. Conquistar Mengurutkan elemen pada sub-rangkaian secara rekursif Pada algoritma quicksort, langkah kombinasi tidak di lakukan karena telah terjadi pengurutan elemen elemen pada sub-array Algoritma Binary Search Binary Search adalah algoritma pencarian yang lebih efisien daripada algorima Sequential Search. Hal ini dikarenakan algoritma ini tidak perlu menjelajahi setiap elemen dari tabel. Kerugiannya adalah algoritma ini hanya bisa digunakan pada tabel yang elemennya sudah terurut baik menaik maupun menurun. Pada intinya, algoritma ini menggunakan prinsip divida e conquista, dimana sebuah masalah atau tujuan diselesaikan dengan cara mempartisi masalah menjadi bagian yang lebih kecil. Algoritma ini membagi sebuah tabel menjadi dua e memproses satu bagian dari tabel itu saja. Algoritma ini bekerja dengan cara memilih registro dengan indeks temh dari tabel dan membandingkannya dengan record yang hendak dicari. Jika recorde tersebut lebih rendah atau lebih tinggi, maka tabel tersebut dibagi dua dan bagian tabel yang bersesuaian akan diproses kembali secara rekursif. Programa do programa Contoh, binário, pada sequencial Programa C Ini adalah triagem paling lengkap. Incluir ltiostream. hgt incluir ltconio. hgt int data100, data2100 int n void tukar (int a, int b) int tt datab data databasea dataa t void exchangeort () para (int i0 iltn-1 i) para (int j (i1) Jltn j) se (dados i gt dataj) tukar (i, j) coutltltexchange sort selesailtltendl void selectionsort () int pos, i, j para (i0iltn-1i) pos i for (j i1jltnj) if (dataj lt datapos) pos j Se (pos i) tukar (pos, i) coutltltselection sort selesailtltendl void insertionsort () int temp, i, j para (i1iltni) temp datai ji -1 while (datajgttemp ampamp jgt0) dataj1 dataj j dataj1 temp coutltltinsertion sort selesailtltendl void QuickSort ( Int L, int R) o melhor tipo de tempo que tive int i, j int mid i L j R mid data (LR) 2 faz enquanto (datai lt mid) i enquanto (dataj gt mid) j if (L lt j) QuickSort (L, j) se (i lt R) QuickSort (i, R) void Input () coutltltMasukkan jumlah data cingtgtn para (int i0iltni) coutltltMasukkan dados ke-ltlt (i1) ltlt cingtgtdatai data2i datai void AcakLagi () for (int i0iltni ) Datai data2i co UtltltData sudah teracakltltendl void main () int pil clrscr () do clrscr () coutltltProgram Sorting Komplit. ltltendl coutltltltltendl coutltlt 1. Entrada Dataltltendl coutltlt 2. Bolha Sortltltendl coutltlt 3. Troca Sortltltendl coutltlt 4. Selecção Sortltltendl coutltlt 5. Inclusão Sortltltendl coutltlt 6. Breve Sortltltendl coutltlt 7. Tampilkan Dataltltendl coutltlt 8. Acak Dataltltendl coutltlt 9. Exitltltendl coutltlt cingtgtpil pilihan Anda Interruptor (pil) caso 1: Entrada () caso de ruptura 2: bubblesort () caso de ruptura 3: exchangesort () caso de ruptura 4: selectionsort () break case 5: insertionsort () break case 6: QuickSort (0, n-1) Coutltltquick sort selesailtltendl break case 7: Tampil () break case 8: AcakLagi () break getch () enquanto (pil9) contoh pesquisa de programa (binário) pada c: int binarysearch (int cari) int l, r, m int n 10 l 0 r n-1 int ketemu 0 enquanto (lltr ampamp ketemu0) m (lr) 2 se (datam cari) ketemu 1 else if (cari lt datam) r m-1 else l m1 if (ketemu 1) return 1 else return 0 Void main () clrscr () int cari, hasil coutltltmasukkan dados yang ingin dicari cingtgtcari hasil binarysearch (ca Ri) se (hasil 1) coutltltData adaltltendl else if (hasil 0) coutltltData Tidak adaltltendl getch () pesquisa do programa contoh (seqüencial) pada c: incluir ltiostream. hgt incluir ltconio. hgt void main () clrscr () int data8 int cari, Índice int ketemu0 coutltltmasukkan dados yang ingin dicari cingtgtcari para (int i0ilt8i) if (datai cari) ketemu1 index i break if (ketemu 1) coutltltData adaltltendl coutltltData terletak di index ke ltltindex else coutltltData Tidak adaltltendl getch () Penjelasan tentang ponteiro ponteiro adalah built - No tipo di C dan C, dimana C mengambil konsep ponteiro de C. Pointer sebenarnya sangat terkait dengan Resumo C Máquina, yaitu modelo mesin abstrak dimana programa C bekerja. Resumo C Máquina adalah mesin abstrak dimana mesin tersebut memiliki prosesor untuk menginterpretasikan fluxo de instrução, e memória endereçável yang terbagi kedalam 3 bagian. Memória automática, memória estática e memória livre. Memória endereçável memória adalah yang konten-nya dapat diambil jika diketahui alamatnya. Lebih jauh lagi, terdapat asumsi bahwa konten memori dapat di ambil dengan waktu konstan, tidak peduli berapa nilai alamat. Hal ini disebut dengan Random Access Memory. Penggunaan Awal Pointer Jika variabel merupakan isi memori, dan untuk mengakses isi memori tersebut diperlukan endereço, lalu bagaimana cara kita mengetahui alamat dari suatu variabel. Jawabannya adalah. Untuk kebanyakan kasus kita sama sekali tidak perlu tahu alamat dari sebuah variabel. Untuk mengakses sebuah variabel kita hanya perlu nama dari variabel tersebut. Tugas kompiler lah yang mentranslasikan nama ke alamat mesin yang diperlukan ole komputer. Akan tetapi terdapat beberapa kasus dimana kita tidak mungkin memberi nama pada sebuah entitas di program kita. Hal ini terjadi terutama saat kita menggunakan dados struktur dinamis seperti lista vinculada, matriz redimensionável, árvore dan lain sebagainya. Hal ini karena kita tidak mungkin memberi nama terhadap entitas yang mungkin ada atau tidak ada. Struktur seperti lista vinculada hampir mustahil dibuat tanpa ponteiro tanpa harus mendefinisikan LISP-like list. Inilah awal mula penggunaan apontador sebagai moniker. Istilah moniker di sini berarti sesuatu yang menunjuk atau mengacu kepada entitas lain. Istilah moniker ini bukanlah istilah padrão dan lazim. Tetapi sesuatu yang saya pilih impromptu untuk membedakan dengan ponteiro atau referência yang sudah memiliki arti tersendiri. Penggunaan ponderado sebagai moniker adalah untuk mengatasi kelemahan bahasa C awal. Dahulu fungsi fungsi di C hanya mengerti passa por valor. Pointer digunakan untuk mengemulasi passa por referência karena pointer berisi alamat ke objek lain, sehingga fungsi tersebut dapat mengubah objek tersebut dengan memanipulasi pointer. Pertanyaanya. Siapa yang bertugas menentukan alamat objek yang di tunjuk oleh pointer dalam kasus ini. Jelas bukan kompiler karena objek tersebut tidak bernama. Apakah kita sebagai programador menentukannya sendiri. Ternyata tidak. Hal tersebut ditentukan oleh fungsi malloc dan sejenisnya (dan juga new di C), atau untuk kasus passando ponteiro ke dalam fungsi, amplificador de operação. Jadi dalam hal ini kita tidak juga menentukan alamat sebuah objek. Argumento de arranjo de C dan C Sebelum membahas array di C dan di C, ada baiknya kita membahas tentang array. Array adalah asosiasi antara sebuah index dengan nilai. Jika diketahui sebuah index, kita akan mengetahui nilainya. Dari definisi ini: 1. Tidak disebutkan bahwa index harus integer, atau tipe tertentu. 2. Tidak desbutkan range dari indexnya dimulai dari nilai tertentu, Bahkan tidak disebutkan bahwa indeks nya memiliki batas bawah maupun batas atas. 3. Tidak disebutkan bahwa nilai harus disimpan secara contigous, bahkan tidak disebutkan bahwa nilainya harus di simpan sama sekali. Akan tetapi: 1. Banyak bahasa pemrograman yang di desain tahun 60-a hingga tahun 70-a menentukan bahwa índice array adalah inteiro inteiro atau sesuatu yang bisa dikonversi menjadi inteiro inteiro atau sesuatu yang memiliki nilai berurutan seperti inteiro. 2. Beberapa bahasa menentukan bahwa array dimulai dengan Post navigationPENJUMLAHAN dalam BINER Seperti bilangan desimal, bilangan biner juga dijumlahkan dengan cara yang sama. Pertama-tama yang harus dicermati adalah aturan pasangan dígito biner berikut: 1 1 0 - gt menyimpan 1 sebagai catatan bahwa jumlah dua yang terakhir adalah: 1 1 1 1 - gt dengan menyimpan 1 Dengan Hanya menggunakan penjumlahan-penjumlahan, kita dapat melakukan penjumlahan biner Seperti ditunjukkan di bawah ini: 1 1111 8211gt simpanan 1 ingat kembali aturan di atas 01011011 8211gt bilangan biner untuk 91 01001110 8211gt bilangan biner untuk 78 10101001 8211gt Jumlah dari 91 78 169 Kita akan menghitung penjumlahan biner yang terdiri dari 5 bilangan: 11101 bilangan 1) 10110 bilangan 2) 1100 bilangan 3) 11011 bilangan 4) 1001 bilangan 5) Untuk menjumlahkannya, kita hitung berdasarkan aturan yang berlaku, dan untuk lebih mudahnya perhitungan dilakukan bertahap 11101 bilangan 1) 10110 bilangan 2) 1100 bilangan 3) sebelumnya sy sebetulnya bingung, Artikel ini masuk kategori apa y8230. Di blog sy masukkan hardware saja okeee langsung saja ke intinya. Bilangan adalah lawan dari alfabeto atau karakter spesial, bilangan dapat diberikan operasi aritmatika seperti perkalian, pembagian, penjumlahan, dan pengurangan juga konversi ke jenis bilangan lainnya. Dalam dunia komputer dan digital bilangan dapat dibagi menjadi empat, yaitu: bilangan desimal bilangan biner bilangan hexa bilangan octal bilangan desimal adalah bilangan berbasis 10 terdiri dari kombinasi angka 0 s. d. 9, bilangan ini paling umum dijumpai dan dijadikan sebagai bilangan yang umum digunakan pada software yang berinteraksi langsung dengan manusia. Aritmatika bilangan desimal penjumlahan bilangan desimal tentunya sudah kita semua kenal (karena sejak SD sudah diajarin) BILANGAN BINER Postado em 05082017 por dunkom Biner adalah sistem nomor yang digunakan oleh perangkat digital seperti komputer, pemutar cd, dll Biner berbasis 2, tidak seperti menghitung sistem desimal Yang Basis 10 (desimal). Dengan kata lain, Biner Hanya memiliki 2 angka yang berbeda (0 dan 1) untuk menunjukkan nilai, tidak seperti Desimal yang memiliki 10 angka (0,1,2,3,4,5,6,7,8 dan 9). Contoh dari bilangan biner: 10011100 Seperti yang anda lihat itu hanya sekelompok nol dan yang, ada 8 angka dan angka-angka tersebut adalah bilangan biner 8 bit. Bit adalah singkatan dari Dígito binário, dan angka masing-masing digolongkan sebagai bit. Bit di paling kanan, angka 0, dikenal sebagai Mínimo Bit Significativo (LSB). Bit di paling kiri, angka 1, dikenal sebagai bit paling significikan (bit mais importante MSB) notasi yang digunakan dalam sistem digital: 4 bits Nibble 8 bits Byte 16 bits Word 32 bits Palavra dupla 64 bits Quad Word (ou parágrafo) Saat menulis bilangan Anda perlu menandakan bahwa nomor biner (base 2), misalnya, kita mengambil nilai 101, akan sulit untuk menentukan apakah itu suatu nilai biner atau desimal (desimal). Untuk menyiasati masalah ini adalah secara umum untuk menunjukkan dasar yang dimiliki nomor, dengan menulis nilai dasar dengan nomor, misalnya: 101 2 adalah angka biner dan 101 10 i adalah nilai decimal (denary. Setelah kita mengetahui dasar maka mudah untuk bekerja keluar nilai, misalnya : 101 2 12 2 02 1 12 0 5 (Lima) 101 10 110 2 010 1 110 0 101 (seratus satu) Satu hal lain tentang bilangan biner adalah bahwa adalah umum untuk menandai nilai biner negatif dengan menempatkan 1 (satu) di sisi kiri (Bit yang paling signifikan) dari nilai. Hal ini disebut tanda bit, kita akan membahas hal ini secara lebih rinci pada bagian selanjutnya dari tutorial. Nomor elektronik biner disimpan diproses menggunakan off atau pulsa elektrik, sistem digital akan menafsirkan Off dan On setiap proses Sebagai 0 dan 1. Dengan kata lain jika tegangan rendah maka akan mewakili 0 (fora), dan jika tegangan yang tinggi akan mewakili 1 (Ligado). Konversi biner ke desimal Untuk mengkonversi biner ke desimal Adalah sangat sederhana dan Dapat dilakukan seperti yang ditunjukkan di bawah ini: Misalkan kita ingin mengkonversi nilai 8 bit 10011101 menjadi nilai desimal, kita dapat menggunakan rumus seperti di bawah ini bahwa: Seperti yang Anda lihat, kita telah menempatkan angka 1, 2, 4, 8, 16, 32, 64, 128 (pangkat dua) dalam urutan numerik terbalik, dan kemudian ditulis nilai biner di bawah ini. Untuk mengkonversi, Anda Hanya mengambil nilai dari baris atas di mana ada angka 1 di bawah, dan kemudian menambahkan nilai-nilai tersebut bersamaan. Misalnya, dalam contoh, kta akan menjumlahkan angka pada baris atas yang diwakili oleka angka 1 dibawah maka dijumlahkan seperti ini. 128 16 8 4 1 157. Untuk nilai 16 bit Anda akan menggunakan nilai desimal 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768 (Pangkat dua ) Untuk konversi. Karena kita tahu biner adalah base 2 maka angka di atas dapat ditulis sebagai berikut. 12 7 02 6 02 5 12 4 12 3 12 2 02 1 12 0 157. Konversi desimal ke biner Untuk mengubah desimal ke biner juga sangat sederhana, Anda Hanya membagi nilai desimal dengan 2 dan kemudian menuliskan sisanya, ulangi proses ini sampai Anda tidak bisa membagi dengan 2 lagi, misalnya mari kita mengambil nilai desimal 157: 157 247 2 78 dengan Sisa 1 78 247 2 39 dengan sisa 0 39 247 2 19 dengan sisa 1 19 247 2 9 dengan sisa 1 9 247 2 4 dengan sisa 1 4 247 2 2 dengan sisa 0 2 247 2 1 dengan sisa 0 1 247 2 0 dengan sisa 1 Sistem bilangan biner atau sistem bilangan base dua adalah sebuah sistem penulisan angka dengan menggunakan dua simbol yaitu 0 dan 1. Sistem bilangan biner moderno ditemukan oleh Gottfried Wilhelm Leibniz pada abad ke-17. Sistem bilangan ini merupakan dasar diari semua sistem bilangan berbasis digital. Dari sistem biner, kita dapat mengkonversinya ke sistem bilangan Oktal atau Hexadesimal. Sistem ini juga dapat kita sebut dengan istilah bit. Atau Dígito binário. Pengelompokan biner dalam komputer selalu berjumlah 8, dengan istilah 1 Byte bita. Dalam istilah komputer, 1 Byte 8 bit. Kode-kode rancang bangun komputer. Seperti ASCII. Código Padrão Americano para Intercâmbio de Informação menggunakan sistem peng-kode - an 1 Byte. Perhitungan dalam biner mirip dengan menghitung dalam sistem bilangan lain. Dimulai dengan angka pertama, dan angka selanjutnya. Dalam sistem bilangan desimal, perhitungan mnggunakan angka 0 hingga 9, sedangkan dalam biner hanya menggunakan angka 0 dan 1. Contoh: mengubah bilangan desimal menjadi biner berdasarkan referensi diatas yang mendekati bilangan 10 adalah 8 (2 3), selanjutnya hasil pengurangan 10-8 2 (2 1). Sehingga dapat dijabarkan seperti berikut dari perhitungan di atas bilangan biner dari 10 adalah 1010 dapat juga dengan cara lain yaitu 10. 2 5 sisa 0 (0 akan menjadi angka terakhir dalam bilangan biner), 5 (hasil pembagian pertama). 2 2 sisa 1 (1 akan menjadi angka kedua terakhir dalam bilangan biner), 2 (hasil pembagian kedua): 2 1 sisa 0 (0 akan menjadi angka ketiga terakhir dalam bilangan biner), 1 (hasil pembagian ketiga): 2 0 sisa 1 (1 akan menjadi angka pertama dalam bilangan biner) karena hasil bagi sudah 0 atau habis, sehingga bilangan biner 10 1010 atau dengan cara yang singkat 1:20 (1) sisa hasil bagi dibaca dari belakang menjadi 1010 Bilangan Biner Sebagai contoh dari bilangan desimal , Untuk angka 157: 157 (10) (1 x 100) (5 x 10) (7 x 1) Perhatikan bilangan desimal ini sering juga disebut base 10. Hal ini dikarenakan perpangkatan 10 yang didapat dari 100, 101, 102, dst. Mengenal Konsep Bilangan Biner e Desimal Perbedaan mendasar dari metoda biner dan desimal adalah berkenaan dengan base. Jika desimal berbasis 10 (X10) berpangkatkan 10x, maka untuk bilangan biner berbasiskan 2 (X2) menggunakan perpangkatan 2x. Sederhananya perhatikan contoh di bawah ini Untuk Desimal: 14 (10) (1 x 10 1) (4 x 10 0) 10 4 14 Untuk Biner: 1110 (2) (1 x 2 3) (1 x 2 2) (1 x 2 1) (0 x 2 0) 8 4 2 0 14 Bentuk umum dari bilangan biner dan bilangan desimal adalah. Mengubah Angka Desimal ke Biner Untuk mengubah angka desimal menjadi angka biner digunakan metode pembagian dengan angka 2 sambil memperhatikan sisanya. Perhatikan contohnya 1. 205 (10) 205. 2 102 sisa 1 102. 2 51 sisa 0 51. 2 25 sisa 1 25. 2 12 sisa 1 12. 2 6 sisa 0 6. 2 3 sisa 0 3. 2 1 sisa 1 1 sebagai sisa akhir 822018221 Nota: Untuk menuliskan notasi binernya, pembacaan dilakukan dari bawah yang berarti 11001101 (2) 2. 60 (10) 60. 2 30 sisa 0 30. 2 15 sisa 0 15. 2 7 sisa 1 7. 2 3 Sisa 1 3. 2 1 sisa 1 1 sebagai sisa akhir 822018221 Nota: Dibaca dari bawah menjadi 111100 (2) atau lazimnya dituliskan dengan 00111100 (2). Ingat bentuk umumnnya mengacu untuk 8 dígitos Kalau 111100 (ini 6 dígitos) menjadi 00111100 (in sudah 8 dígitos). Aritmatika Biner Pada bagian ini akan membahas penjumlahan dan pengurangan biner. Perkalian biner adalah pengulangan dari penjumlahan dan juga akan membahas pengurangan biner berdasarkan ide atau gagás. Penjumlahan Biner Penjumlahan biner tidak begitu beda jauh dengan penjumlahan desimal. Perhatikan contoh penjumlahan desimal antara 167 dan 235 1 7 5 12, tulis 822028221 di bawah dan angkat 822018221 ke atas 167 235 8212- 402 Seperti bilangan desimal, bilangan biner juga dijumlahkan dengan cara yang sama. Pertama-tama yang harus dicermati adalah aturan pasangan digit biner berikut: 0 0 0 0 1 1 1 1 0 dan menyimpan 1 sebagai catatan bahwa jumlah dua yang terakhir adalah. 1 1 1 1 dengan menyimpan 1 Dengan Hanya menggunakan penjumlahan-penjumlahan di atas, kita dapat melakukan penjumlahan biner seperti ditunjukkan di bawah ini: 101111 8220simpanan 18221 ingat kembali aturan di atas 01011011 bilangan biner untuk 91 01001110 bilangan biner untuk 78 8212821282128212 10101001 Jumlah dari 91 78 169 Silahkan pelajari aturan-aturan pasangan dígito bang yang telah disebutkan di atas Contoh penjumlahan biner yang terdiri dari 5 bilangan 11101 bilangan 1) 10110 bilangan 2) 1100 bilangan 3) 11011 bilangan 4) 1001 bilangan 5) 821282128211 untuk menjumlahkannya, kita hitung berdasarkan Aturan yang berlaku, dan untuk lebih mudahnya perhitungan dilakukan bertahap 11101 bilangan 1) 10110 bilangan 2) 82128212- 110011 1100 bilangan 3) 82128212- 111111 11011 bilangan 4) 82128212- 011010 1001 bilangan 5) 82128212- 1100011 Jumlah Akhir. Sekarang coba tentukan berapakah bilangan 1,2,3,4 dan 5 Apakah memang perhitungan di atas sudah benar Pengurangan Biner Pengurangan bilangan desimal 73426 8211 9185 akan menghasilkan: 73426 lihat Angka 7 dan angka 4 dikurangi dengan 1 9185 dígitos desimal pengurang. 821282128212 - 64241 Hasil pengurangan akhir. Bentuk Umum pengurangan. 0 8211 0 0 1 8211 0 0 1 8211 1 0 0 8211 1 1 dengan meminjam 821618217 dari digit disebelah kirinya Untuk pengurangan biner dapat dilakukan dengan cara yang sama. Coba perhatikan bentuk pengurangan berikut: 1111011 desimal 123 101001 desimal 41 821282128212 - 1010010 desimal 82 Pada contoh di atas tidak terjadi 8220konsep peminjaman8221. Perhatikan contoh berikut 0 kolom ke-3 sudah menjadi 821608217, sudah dipinjam 111101 desimal 61 10010 desimal 18 8212821282128212 - 101011 Hasil pengurangan akhir 43. Pada soal yang kedua ini kita pinjam 821618217 dari kolom 3, karena ada selisih 0-1 pada kolom ke - 2. Lihat Bentuk Umum 7999 Hasil pinjaman 800.046 397.261 821.282.128.212-402.705 Sebagai contoh pengurangan bilangan biner 110001 8211 1010 akan diperoleh Hasil sebagai berikut: 1100101 1010 821282128212- - 100111 Komplemen Salah satu metoda yang dipergunakan dalam pengurangan pada komputer yang ditransformasikan menjadi penjumlahan dengan menggunakan minusradiks-komplemen Satu atau komplemen radiks. Pertama-tama kita bahas komplemen di dalam sistem desimal, dimana komplemen-komplemen tersebut secara berurutan disebut dengan komplemen sembilan dan komplemen sepuluh (komplemen di dalam system biner disebut dengan komplemen satu dan komplemen dua). Sekarang yang paling penting adalah menanamkan prinsip ini: 8220Komplemen sembilan dari bilangan desimal diperoleh dengan mengurangkan masing-masing dígito desimal tersebut ke bilangan 9, sedangkan komplemen sepuluh adalah komplemen sembilan ditambah 18221 Lihat contoh nyatanya Bilangan Desimal 123 651 914 Komplemen Sembilan 876 348 085 Komplemen Sepuluh 877 349 086 ditambah dengan 1 Perhatikan hubungan diantara bilangan dan komplemennya adalah simetris. Jadi, dengan memperhatikan contoh di atas, komplemen 9 dari 123 adalah 876 dengan simple menjadikan jumlahnya 9 (189, 279. 369) Sementara komplemen 10 didapat dengan menambahkan 1 pada komplemen 9, berarti 8761877 Pengurangan desimal dapat dilaksanakan dengan penjumlahan komplemen sembilan plus satu, Atau penjumlahan dari komplemen sepuluh 893 893 893 321 678 (komp. 9) 679 (komp. 10) 8212- 8211 8212- 8212- 572 1571 1572 1 8212- 572 angka 1 dihilangkan Analogi yang bisa diambil dari perhitungan komplemen di atas adalah, komplemen Satu dari bilangan biner diperoleh dengan jalan mengurangkan masing-masing dígito biner tersebut ke bilangan 1, atau dengan bahasa sederhananya mengubah masing-masing 0 menjadi 1 atau sebaliknya mengubah masing-masing 1 menjadi 0. Sedangkan komplemen dua adalah satu plus satu. Perhatikan Contoh. Bilangan Biner 110011 101010 011100 Komplemen Satu 001100 010101 100011 Komplemen Dua 001101 010110 100100 Pengurangan biner 110001 8211 1010 akan kita telaah pada contoh di bawah ini 110001 110001 110001 001010 110101 110110 821282128212 8211 821282128212 821282128212 100111 100111 1100111 dihilangkan Alasan teoritis mengapa cara komplemen ini dilakukan, Dapat dijelaskan dengan memperhatikan sebuah velocímetro mobilmotor dengan empat dígito sedang membaca nol Sistem Oktal dan Heksa Desimal Bilangan oktal adalah bilangan dasar 8, sedangkan bilangan heksadesimal atau sering disingkat menjadi heks. Ini adalah bilangan berbasis 16. Karena oktal dan heks ini merupakan pangkat dari dua, maka mereka memiliki hubungan yang sangat erat. Oktal dan heksadesimal berkaitan dengan prinsip biner 1. Ubahlah bilangan oktal 63058 menjadi bilangan biner. 6 3 0 5 oktal 110 011 000 101 biner Nota: Masing-masing digit oktal diganti dengan ekivalens 3 bit (biner) Untuk lebih jelasnya lihat tabel Digit Oktal di bawah 2. Ubahlah bilangan eyed 5D9316 menjadi bilangan biner. Heks biner 5 0101 D 1101 9 1001 3 0011 Nota: Jadi bilangan biner untuk heks 5D9316 adalah 0101110110010011 Untuk lebih jelasnya lihat tabel Digito Heksadesimal di bawah 3. Ubahlah bilangan biner 1010100001101 menjadi bilangan oktal. 011 010 100 001 101 biner 3 2 4 1 5 oktal Nota: Kelompokkan bilangan biner yang bersangkutan menjadi 3-bit mulai dari kanan 4. Ubahlah bilangan biner 101101011011001011 menjadi bilangan heks. 0010 1101 0110 1100 1011 biner 2 D 6 C B heksTabel Dígito Oktal Konversi Antar Basis Bilangan Sudah dikenal, dalam bahasa komputer terdapat empat base bilangan. Keempat bilangan itu adalah biner. Oktal. Desimal dan hexadesimal. Keempat bilangan itu saling berkaitan satu sama lain. Rumus atau cara mencarinya cukup mudah untuk dipelajari. Konversi dari desimal ke non-desimal, hanya mencari sisa pembagiannya saja. Dan konversi dari non-desimal ke desimal adalah: 1. Mengalikan bilangan dengan angka base bilangannya. 2. Setiap angka yang bernilai satuan, dihitung dengan pangkat NOL (0). Digit puluhan, dengan pangkat SATU (1), begitu pula dengan digit ratusan, ribuan, dan seterusnya. Nilai pangkat selalu bertambah satu ponto. Sunting Konversi Biner ke Oktal Metode konversinya hampir sama. Cuma, karena pengelompokkannya berdasarkan 3 bit saja, maka hasilnya adalah: 1010 (2). (8) Solusi: Ambil tiga digit terbelakang dahulu. 010 (2) 2 (8) Sedangkan sisa satu digit terakhir, tetap bernilai 1. Hasil akhirnya adalah: 12. Sunting Konversi Biner ke Hexadesimal Metode konversinya hampir sama dengan Biner ke Oktal. Namun pengelompokkannya sejumlah 4 bit. Empat kelompok bit paling kanan adalah posisi satuan, empat bit kedua dari kanan adalah puluhan, dan seterusnya. Contoh: 11100011 (2). (16) Solusi: kelompok bit paling kanan: 0011 3 kelompok bit berikutnya: 1110 E Hasil konversinya adalah: E3 (16) Sunting Konversi Biner ke Desimal Cara atau metode ini sedikit berbeda. Contoh: 10110 (2). (10) diuraikan menjadi: (1x2 4) (0x2 3) (1x2 2) (1x2 1) (0x2 0) 16 0 4 2 0 22 Angka 2 dalam perkalian adalah base biner - nya. Sedangkan pangkat yang berurut, menandakan pangkat 0 adalah satuan, pangkat 1 adalah puluhan, dan seterusnya. Sunting Konversi Oktal ke Biner Sebenarnya, por sua vez, haruslah sedikit menghafal tabel konversi utama yang berada di halaman atas. Namun dapat dipelajari dengan mudah. Dan ambillah tiga biner saja. Contoh: 523 (8). (2) Solusi: Dengan melihat tabel utama, didapat hasilnya adalah: 3 011 2 010 5 101 Pengurutan bilangan masih berdasarkan posisi satuan, puluhan dan ratusan. Hasil: 101010011 (2) Sunting Konversi Hexadesimal ke Biner Metode dan caranya hampir serupa dengan konversi Oktal ke Biner. Hanya pengelompokkannya sebanyak dua bit. Seperti pada tabel utama. Contoh: 2A (16). (2) Solusi: A 1010, 2 0010 caranya: A10 10:25 (0) - gtsisa 5:22 (1) 2:21 (0) 1:20 (1) ditulis dari hasil akhir hasil: 1010 2:21 (0) - gtsisa 1:20 (1) ditulis dari hasil akhir hasil: 010 jadi hasil dan penulisannya 0101010 sebagai catatan angka 0 diawal tidak perlu di tulis. Sunversi Desimal ke Hexadesimal Ada cara dan metodenya, namun bagi sebagian orang masih terbilang membingungkan. Cara termudah adalah, konversikan dahulu dari desimal ke biner. Lalu konversikan dari biner ke hexadesimal. Contoh: 75 (10). (16) Solusi: 75 dibagi 16 4 sisa 11 (11 B). Dan hasil konversinya: 4B (16) sunting Konversi Hexadesimal ke Desimal Caranya hampir sama seperti konversi dari biner ke desimal. Namun, bilangan basisnya adalah 16. Contoh: 4B (16). (10) Solusi: Dengan patokan pada tabel utama, B dapat ditulis dengan nilai 11. (4x16 1) (11x16 0) 64 11 75 (10) sunting Konversi Desimal ke Oktal Caranya hampir sama dengan konversi desimal ke hexadesimal. Contoh: 25 (10). (8) Solusi: 25 dibagi 8 3 sisa 1. Hasilnya dapat ditulis: 31 (8) 25. 8 sisa 1 3 -------- 3 hasilnya adalah 31 sunting Konversi Oktal ke Desimal Metodenya hampir sama dengan konversi hexadesimal ke desimal. Dapat diikuti dengan contoh di bawah ini: 31 (8). (10) Solusi: (3x8 1 )(1x8 0 ) 24 1 25 (10) P ada kesempatan ini, saya ingin coba menjabarkan tahap2 sederhana proses konversi bilangan desimal, biner, oktal dan heksadesimal. pertama x hal yang harus dilakukan, pergi kewarung buat beli rokok, sediakan teh maniskopi, tarik nafas yg dalam, ambil aba2 untuk melakukan perang dengan angka 0 dan 1 Bilangan desimal adalah bilangan yang menggunakan 10 angka mulai 0 sampai 9 berturut2. Setelah angka 9, maka angka berikutnya adalah 10, 11, 12 dan seterusnya. Bilangan desimal disebut juga bilangan berbasis 10. Contoh penulisan bilangan desimal. 17 10 . Ingat, desimal berbasis 10, maka angka 10-lah yang menjadi subscript pada penulisan bilangan desimal. Bilangan biner adalah bilangan yang hanya menggunakan 2 angka, yaitu 0 dan 1. Bilangan biner juga disebut bilangan berbasis 2. Setiap bilangan pada bilangan biner disebut bit . dimana 1 byte 8 bit . Contoh penulisan. 110111 2 . Bilangan oktal adalah bilangan berbasis 8, yang menggunakan angka 0 sampai 7. Contoh penulisan. 17 8 . Bilangan heksadesimal . atau bilangan heksa, atau bilangan basis 16, menggunakan 16 buah simbol, mulai dari 0 sampai 9, kemudian dilanjut dari A sampai F. Jadi, angka A sampai F merupakan simbol untuk 10 sampai 15. Contoh penulisan. C5 16 . Hmm. Sepertinya prolognya sudah cukup. Lanjut ke proses kalkulasi8230 Desimal ke binner Saya langsung saja ambil sebuah contoh bilangan desimal yang akan dikonversi ke biner . Setelah itu, akan saya lakukan konversi masing2 bilangan desimal, biner, oktal dan heksadesimal. Misalkan bilangan desimal yang ingin saya konversi adalah 25 10 . Maka langkah yang dilakukan adalah membagi tahap demi tahap angka 25 10 tersebut dengan 2, seperti berikut. 25. 2 12,5 Jawaban di atas memang benar, tapi bukan tahapan yang kita inginkan. Tahapan yang tepat untuk melakukan proses konversi ini sebagai berikut : 25. 2 12 sisa 1. 82128211gt Sampai disini masih mengerti kan Langkah selanjutnya adalah membagi angka 12 tersebut dengan 2 lagi. Hasilnya sebagai berikut : 12. 2 6 sisa 0. 82128211gt Ingat, selalu tulis sisanya. Proses tersebut dilanjutkan sampai angka yang hendak dibagi adalah 0, sebagai berikut : 25. 2 12 sisa 1. 12. 2 6 sisa 0. 6. 2 3 sisa 0. 3. 2 1 sisa 1. 1. 2 0 sisa 1. 0. 2 0 sisa 08230. (end) Nah, setelah didapat perhitungan tadi, pertanyaan berikutnya adalah, hasil konversinya yang mana Ya, hasil konversinya adalah urutan seluruh sisa-sisa perhitungan telah diperoleh, dimulai dari bawah ke atas. Maka hasilnya adalah 011001 2 . Angka 0 di awal tidak perlu ditulis, sehingga hasilnya menjadi 11001 2 . Sip Desimal ke oktal Lanjut8230..sekarang saya akan menjelaskan konversi bilangan desimal ke oktal. Proses konversinya mirip dengan proses konversi desimal ke biner, hanya saja kali ini pembaginya adalah 8. Misalkan angka yang ingin saya konversi adalah 33 10 . Maka. 33. 8 4 sisa 1. 4. 8 0 sisa 4. 0. 8 0 sisa 08230.(end) Hasilnya Coba tebak823041 8 . Desimal ke heksadesimal Sekarang tiba waktunya untuk mengajarkan proses konversi desimal ke heksadesimal 8230 Seperti biasa, langsung saja ke contoh. Hehe8230 Misalkan bilangan desimal yang ingin saya ubah adalah 243 10 . Untuk menghitung proses konversinya, caranya sama saja dengan proses konversi desimal ke biner, hanya saja kali ini angka pembaginya adalah 16. Maka : 243. 16 15 sisa 3. 15. 16 0 sisa F. 8212-gt ingat, 15 diganti jadi F.. 0. 16 0 sisa 08230.(end) Nah, maka hasil konversinya adalah F3 16 . Mudah, bukan Fiuh..Lanjut lagi8230 Biner ke desimal Sekarang kita beralih ke konversi bilangan biner ke desimal . Proses konversi bilangan biner ke bilangan desimal adalah proses perkalian setiap bit pada bilangan biner dengan perpangkatan 2, dimana perpangkatan 2 tersebut berurut dari kanan ke kiri bit bernilai 2 0 sampai 2 n . Langsung saja saya ambil contoh bilangan yang merupakan hasil perhitungan di atas, yaitu 11001 2 . Misalkan bilangan tersebut saya ubah posisinya mulai dari kanan ke kiri menjadi seperti ini. 1 0 0 1 1 Nah, saatnya mengalikan setiap bit dengan perpangkatan 2. Ingat, perpangkatan 2 tersebut berurut mulai dari 2 0 sampai 2 n. untuk setiap bit mulai dari kanan ke kiri. Maka : 1 82128212gt 1 x 2 0 1 0 82128212gt 0 x 2 1 0 0 82128212gt 0 x 2 2 0 1 82128212gt 1 x 2 3 8 1 82128212gt 1 x 2 4 16 8212gt perhatikan nilai perpangkatan 2 nya semakin ke bawah semakin besar Maka hasilnya adalah 1 0 0 8 16 25 10 . Nah, bandingkan hasil ini dengan angka desimal yang saya ubah ke biner di awal tadi. Sama bukan Sudah ini, sudah itu, sekarang8230.nah, konversi bilangan biner ke oktal . hehe8230siap Untuk merubah bilangan biner ke bilangan oktal, perlu diperhatikan bahwa setiap bilangan oktal mewakili 3 bit dari bilangan biner. Maka jika kita memiliki bilangan biner 110111 2 yang ingin dikonversi ke bilangan oktal, langkah pertama yang kita lakukan adalah memilah-milah bilangan biner tersebut, setiap bagian 3 bit . mulai dari kanan ke kiri, sehingga menjadi seperti berikut. Sengaja saya buat agak berjarak, supaya lebih mudah dimengerti. Nah, setelah dilakukan proses pemilah2an seperti ini, dilakukan proses konversi ke desimal terlebih dahulu secara terpisah. 110 dikonversi menjadi 6, dan 111 dikonversi menjadi 7. Hasilnya kemudian digabungkan, menjadi 67 8 . yang merupakan bilangan oktal dari 110111 2 8230 8220Tapi, itu kan kebetulan bilangan binernya pas 6 bit . Jadi dipilah2 3 pun masih pas. Gimana kalau bilangan binernya, contohnya, 5 bit 8221 Hehe8230Gampang..Contohnya 11001 2 . 5 bit kan Sebenarnya pemilah2an itu dimulai dari kanan ke kiri. Jadi hasilnya 11 dan 001. Ini kan sebenarnya sudah bisa masing2 diubah ke dalam bentuk desimal. Tapi kalau mau menambah kenyamanan di mata, tambahin aja 1 angka 0 di depannya. Jadi 011001 2 . Tidak akan merubah hasil perhitungan kok. Tinggal dipilah2 seperti tadi. Okeh Biner ke heksadesimal Selanjutnya adalah konversi bilangan biner ke heksadesimal . Hmm8230sebagai contoh, misalnya saya ingin ubah 11100010 2 ke bentuk heksadesimal. Proses konversinya juga tidak begitu rumit, hanya tinggal memilahkan bit 2 tersebut menjadi kelompok2 4 bit . Pemilahan dimulai dari kanan ke kiri, sehingga hasilnya sbb. Nah, coba lihat bit 2 tersebut. Konversilah bit 2 tersebut ke desimal terlebih dahulu satu persatu, sehingga didapat. 1110 14 dan 0010 2 Nah, ingat kalau 14 itu dilambangkan apa di heksadesimal Ya, 14 dilambangkan dengan E 16 . Dengan demikian, hasil konversinya adalah E2 16 . Seperti tadi juga, gimana kalau bilangan binernya tidak berjumlah 8 bit . Contohnya 110101 2 . Yaa8230Seperti tadi juga, tambahin aja 0 di depannya. Tidak akan memberi pengaruh apa2 kok ke hasilnya. Jadi setelah ditambah menjadi 00110101 2 . Selanjutnya, sudah gampang kan Oktal ke desimal Selanjutnya, konversi bilangan oktal ke desimal. Hal ini tidak terlalu sulit. Tinggal kalikan saja setiap bilangan dengan perpangkatan 8. Contoh, bilangan oktal yang akan dikonversi adalah 71 8 . Maka susunannya saya buat menjadi demikian. 1 7 dan proses perkaliannya sbb : 1 x 8 0 1 7 x 8 1 56 Maka hasilnya adalah penjumlahan 1 56 57 10 . Habis konversi oktal ke desimal, maka saat ini giliran oktal ke biner . Hehe..Langsung ke contoh. Misalkan saya ingin mengubah bilangan oktal 57 8 ke biner. Maka langkah yang saya lakukan adalah melakukan proses konversi setiap bilangan tersebut masing2 ke 3 bit bilangan biner. Nah, angka 5 jika dikonversi ke biner menjadi8230. 101 2 . Sip. Nah, 7, jika dikonversi ke biner menjadi8230 111 2 . Mantap. Maka hasilnya adalah 101111 2 . Jamin benar deh8230. Oktal ke heksadesimal Hmm8230berarti8230sekarang giliran konversi oktal ke heksadesimal. Untuk konversi oktal ke heksadesimal, kita akan membutuhkan perantara, yaitu bilangan biner. Maksudnya Maksudnya adalah kita konversi dulu oktal ke biner, lalu konversikan nilai biner tersebut ke nilai heksadesimalnya. Nah, baik yang konversi oktal ke biner maupun biner ke heksadesimal kan udah dijelaskan. Coba buktikan, bahwa bilangan oktal 72 8 jika dikonversi ke heksadesimal menjadi 3A 16 . Bisa kan Bisa dong8230 Heksadesimal ke desimal Selanjutnya adalah konversi bilangan heksadesimal ke desimal. Untuk proses konversi ini, caranya sama saja dengan proses konversi biner ke desimal, hanya saja kali ini perpangkatan yang digunakan adalah perpangkatan 16, bukan perpangkatan 2. Sebagai contoh, saya akan melakukan konversi bilangan heksa C8 16 ke bilangan desimal. Maka saya ubah dulu susunan bilangan heksa tersebut, mulai dari kanan ke kiri, sehingga menjadi sebagai berikut. 8 C dan kemudian dilakukan proses perkalian dengan perpangkatan 16, sebagai berikut : 8 x 16 0 8 C x 16 1 192 82128212gt ingat, C 16 merupakan lambang dari 12 10 Maka diperolehlah hasil konversinya bernilai 8 192 200 10 . Heksadesimal ke biner Tutorial berikutnya, konversi dari heksadesimal ke biner . Dalam proses konversi heksadesimal ke biner, setiap simbol dalam heksadesimal mewakili 4 bit dari biner. Misalnya saya ingin melakukan proses konversi bilangan heksa B7 16 ke bilangan biner. Maka setiap simbol di bilangan heksa tersebut saya konversi terpisah ke biner. Ingat, B 16 merupakan simbol untuk angka desimal 11 10 . Nah, desimal 11 10 jika dikonversi ke biner menjadi 1011 2 . sedangkan desimal 7 10 jika dikonversi ke biner menjadi 0111 2 . Maka bilangan binernya adalah 10110111 2 . atau kalau dibuat ilustrasinya seperti berikut ini. B 7 8212-gt bentuk heksa 11 7 8212-gt bentuk desimal 1011 0111 8212-gt bentuk biner Hasilnya disatukan, sehingga menjadi 10110111 2 . Understood . Heksadesimal ke oktal Last but not least . konversi heksadesimal ke oktal . Nah, sama seperti konversi oktal ke heksadesimal, kita membutuhkan bantuan bilangan biner. Lakukan terlebih dahulu konversi heksadesimal ke biner, lalu konversikan nilai biner tersebut ke oktal. Sebagai latihan, buktikan bahwa nilai heksadesimal E7 16 jika dikonversi ke oktal menjadi 347 8 . Hehe8230Kamu bisa.
No comments:
Post a Comment