Anda di halaman 1dari 8

Uses wincrt; Var Des : Bin : String; Begin Write (Masukan Bilangan Desimal ReadLn Bin := Repeat Begin

n {Menghitung Biner Dari Sisa If Des mod 2 = 0 Then Bin := 0 + Else Bin := 1 + {Membagi Bulat Bil Des := End; Until Des WriteLn (Bilangan Biner End.

Integer; : ); (Des); ; Bagi} Bin Bin; Desimal} Des div 2; = 0; ,Bin);

Hasil

ALGORITMA DARI DESIMAL KE BINER 1.Deklarasikan variabel bin[20],angka,i,j 2.Masukkan nilai angka yang ingin diubah ke bentuk biner dan nyatakan ke variabel angka 3.Copy nilai angka tersebut ke variabel j,sehingga j=angka 4.Inisialisasi nilai i dengan 0 sehingga i=0 5.Proses ulang selama nilai angka >0 Hitung sisa pembagian antara angka dengan 2 dan nyatakan ke variabel bin[i] sehingga bin[i]=angka%2 Jumlahkan i dengan 1 dan nyatakan ke variabel i sehingga i++ Bagi nilai angka dengan 2 dan nyatakan ke variabel angka sehingga angka=angka/2 6.Proses ulang selama nilai j>0 Hitung nilai i dikurangi 1 dan nyatakan ke variabel i sehingga i Cetak nilai bin[i] Hitung nilai j dibagi 2 dan nyatakan ke variabel j sehingga j=j/2 Program selesai

VARIABEL ARRAY Array adalah sekumpulan data yang menggunakan nama variabel yang sama. Tiap-tiap nilai dari array disebut sebagai elemen dan memiliki index. Setiap elemen array adalah sebuah variabel juga.

Menciptakan Variabel Array Untuk menciptakan variabel array dapat menggunakan perintah : DIM variable[(subscripts)] [AS type] Contoh : DIM A(20) As Integer Akan menciptakan variabel array yang bernama A yang memiliki 20 elemen (mulai dari index 0 s/d 19), yang masing-masing dapat menampung data integer, dan memiliki nilai awal 0 (nol). Menggunakan Variabel Array Penggunakan Variabel Array sama saja dengan variabel biasa, Cuma kita perlu menyebutkan nomor index elemen yang diinginkan. Contoh : A(0) = 100 A(1) = 200 A(2) = 300 Akan mengisi nilai 100 ke elemen pertama, 200 ke elemen kedua, dan 300 ke elemen ketiga. Catatan : Elemen pertama dari array dimulai dengan nomor index 0 Contoh lain : For I = 0 To 19 Step 1 Input Masukkan Nilai :,A(I) Next I Akan menanyakan kepada pemakai untuk mengisi elemen pertama s/d elemen keduapuluh. Contoh lain : Total = 0 For I = 0 To 19 Step 1 Total = Total + A(I) A(0), A(1), , A(19) Next I Print Total :,Total Akan menjumlahkan nilai elemen pertama s/d elemen keduapuluh ke variabel total. Dalam Quick Basic, kita mengenal dua jenis variabel array, yakni dynamic array dan static array. Static array dapat kita bentuk tanpa perintah khusus, tetapi terbatas sampai nomor index ke 10 saja tanpa dipengaruhi jumlah dimensi.

Contoh : For I = 0 To 10 Step 1 Input Masukkan Nilai :,B(I) Next I Total = 0 For I = 0 To 10 Step 1 Total = Total + B(I) Next I Print Total :,Total Program diatas dapat dijalankan tanpa kesalahan walaupun variabel array B tidak dideklarasikan sebagai variabel array. Hal ini karena kita menggunakan Static array yang otomatis disediakan oleh Quick Basic, tetapi hanya terbatas sampai nomor index ke 10 saja. Pada defaultnya index awal dari variabel array adalah dimulai dari 0, tetapi hal ini bisa diubah dengan perintah OPTION BASE 1. Contoh : OPTION BASE 1 DIM A(30) For I = 1 To 30 Input Masukkan Nilai :,A(I) Next I Index awal dari variabel array dapat juga ditentukan pada saat deklarasi. Contoh : DIM C(5 To 15) For I = 5 To 15 Step 1 Input Masukkan Nilai :,A(I) Next I Akan menghasilkan variabel array C, dengan elemen pertama memiliki nomor index 5, dan elemen terakhir memiliki nomor index 15. Anda dapat juga menggunakan fungsi LBound dan UBound untuk mendapatkan index awal dan index akhir dari suatu array. Contoh : DIM C(5 To 15) For I = LBound(C) To UBound(C) Step 1 Input Masukkan Nilai :,A(I) Next I Static Array dan Dynamic Array

Pada QBasic, semua array yang dideklarasikan dengan numerik adalah Static Array, dan array yang dideklarasikan dengan variabel adalah Dynamic Array. Contoh : DIM D(30) D adalah variabel Static Array E = 30 DIM F(E) F adalah variabel Dynamic Array, karena jumlah elemennya ditentukan dengan menggunakan variabel E, dalam hal ini 30. Perbedaan Static Array dan Dynamic Array : 1. Memory Static Array dialokasikan oleh QBasic pada awal eksekusi program dimulai, sedangkan Memory Dynamic Array dialokasikan secara dinamis pada saat eksekusi program berlangsung. 2. Static Array tidak dapat dideklarasi ulang, sedangkan Dynamic Array dapat dideklarasikan ulang dengan perintah REDIM Contoh : DIM A(10) REDIM A(20) Akan terjadi kesalahan, karena variabel A adalah Static Array. B = 10 DIM C(B) REDIM C(30) Tidak terjadi kesalahan. Catatan : REDIM akan menghapus isi array, dan mendimensi ulang jumlah elemennya. 3. Static Array tidak dapat dihapus dari memory, sedangkan Dynamic Array dapat dihapus dari memory dengan perintah ERASE. OPTION BASE 1 DIM A(3) A(1) = 1 A(2) = 2 A(3) = 3 ERASE A Print A(1) akan tercetak 0 Print A(2) akan tercetak 0 Print A(3) akan tercetak 0

Karena perintah Erase hanya mereset isi variabel Static Array ke 0 (jenis numeric) atau (Null) (jenis string), sedangkan Variabel dan dimensinya tetap dipertahankan. Contoh Lain : OPTION BASE 1 B=3 DIM C(B) C(1) = 1 C(2) = 2 C(3) = 3 ERASE C Print C(1) terjadi kesalahan subscript out of range Karena variabel array C telah dihapus dari memory. Variabel Array Multi Dimensi Anda dapat membentuk variabel array 2 atau 3 dimensi dengan perintah dim. Contoh : DIM A(10,10) Akan membentuk array 11 baris (0 s/d 10), 11 kolom (0 s/d 10) (121 elemen) Cara pemakaian array Multi Dimensi sama saja dengan array 1 dimensi yaitu perlu disebutkan nomor indexnya masing-masing. Contoh : A(2,2) = 5 Akan mengisi nilai 5 ke elemen baris 3 kolom 3 dari Array dua dimensi A. (ingat index dimulai dari 0, kecuali dengan pernyataan OPTION BASE 1)

Pencabangan Pencabangan adalah konstruksi yang memungkinkan alur program meloncat ke titik lain, tidak lagi sekuensial, berdasar kondisi tertentu. Fitur ini memungkinkan komputer memilih langkah mana yang harus dilakukan, dan boleh dikata, merupakan kunci kecerdasan komputer.

Sebelum era paradigma pemrograman terstruktur, pencabangan membolehkan alur program meloncat ke mana saja (misal pada bahasa mesin, atau bahasa basic klasik). Namun terbukti bahwa kebebasan itu membuat alur program jadi kusut. Kata orang Italia, "spagethi programming", kata orang sunda "pabalieut". Karena itu pencabangan terstruktur yang dianjurkan dalam bahasa C adalah:
Pencabangan 1 blok : if (kondisional) {blok1} Pencabangan 2 blok : if (kondisional) {blok1} else {blok2} Pencabangan banyak blok dengan kesamaan integer : switch - case

Tata cara penulisan ketiga konstruksi itu bisa dilihat di referensi C. Sebagai programmer, ketrampilan yang diperlukan adalah memilih konstruksi mana yang diperlukan untuk masalah tertentu. Untuk itu cara berpikirnya adalah:
Pada sebuah masalah, tentukan variabel mana yang menjadi penentu pengambilan keputusan.

Minimal harus ada satu variabel. Kalau tak ada, artinya program itu sekuensial, tak perlu pencabangan. Kalau sampai lebih dari satu, pikirkan lagi. Sebisa mungkin, usahakan agar pengambilan keputusan dilakukan satu persatu, sehingga kita bisa memakai pencabangan bertingkat. Jika terpaksa variabel-variabel itu harus dipakai secara bersamaan untuk mengambil keputusan, ekspresi kondisional akan menjadi rumit, biasanya akan perlu operator && atau ||.
Untuk satu variabel itu, tentukan ada berapa kasus yang mungkin terjadi. Hal ini kita telaah

dengan menimbang semua kemungkinan nilai data (semesta), lalu mendefinisikan rentang nilai kasus (himpunan bagian). Jika tak ada himpunan bagian (semua semesta satu kasus), artinya program itu sekuensial. Jika ada satu himpunan bagian dan sisa semesta, kita perlu satu if atau if-else (tergantung apakah sisa semesta juga perlu pengolahan khusus). Sementara itu jika ada lebih dari satu himpunan bagian, kita harus memakai switch-case atau jejeran if - else if. Agak sulit ya teorinya. Dalam praktek, biarkan intuisi anda bermain. Kata hacker, "Real-programmer just know". Pengulangan Jika pencabangan digadang sebagai kunci kecerdasan komputer, pengulangan adalah kunci kerajinan komputer. Kalau dalam soal kecerdasan, komputer masih kalah dibanding manusia, dalam soal kerajinan ini komputer pasti menang. Coba, manusia mana yang mau mencari jarum di tumpukan jerami ? Komputer pasti mau saja. Buktinya, Google does it for living. Pengulangan adalah konstruksi agar komputer menjalankan satu blok instruksi berkali-kali selama kondisi tertentu memenuhi. Dalam bahasa C, ada tiga konstruksi pengulangan terstruktur, yaitu:
Pengulangan dengan pemeriksaan kondisi di awal: while (kondisi) {blok} Pengulangan dengan pemeriksaan kondisi di akhir: do {blok} while (kondisi)

Pengulangan mirip while, dilengkapi dengan inisialisasi dan update kondisi: for (inisialisasi

kondisi; kondisi; update kondisi) {blok} Dalam pemrograman, menulis pengulangan merupakan hal terberat yang harus dipikir pemrogram. Cara praktis untuk menyusunnya adalah:
Jejerkan saja dulu tahap-tahap sekuensial yang perlu dilakukan. Dari jejeran tersebut, lihat variabel apa yang berubah setiap ganti tahap. Variabel ini akan jadi

kondisi pengulangan.
Tentukan harga awal variabel, bisa ditentukan dari tahap pertama. Lalu cari keseragaman perubahan variabel antar tahap. Ini akan jadi rumus update kondisi. Lalu tentukan nilai variabel pada akhir pengulangan. Ini akan jadi ekspresi kondisi berhenti.

Eksekusi sekuensial Eksekusi secara berurutan atau sekuensial merupakan alur kontrol yang normal dilakukan oleh komputer dan juga paling sederhana, mengingat bentuk ini tidak memiliki struktur kontrol lainnya. Mengingat hal ini adalah sesuatu yang paling sederhana, maka kita dapat memahaminya dengan relatif mudah. Instruksi akan melakukan dieksekusi sesuai dengan urutan kemunculannya di dalam program, dari atas ke bawah, secara berurutan, langkah demi langkah. Analogi yang bisa kita gunakan untuk membayangkan hal ini adalah kita memiliki daftar to do. Sebelum masuk kelas, seorang santri di Daar el-Qolam akan melakukan hal berikut: 1. 2. 3. 4. Mandi Berpakaian dengan seragam Berkumpul di lapangan untuk doa bersama Berjalan menuju kelas masing-masing

Anda mungkin juga menyukai