<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3515019263649678197</id><updated>2011-04-22T12:18:10.522+07:00</updated><category term='Artikel'/><category term='Pemrograman'/><title type='text'>Myworld</title><subtitle type='html'>jangan sungkan2 gabung ke blog saya.
Nanti malah ga keduman lho....Tenaaan!!!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nursahid447.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://nursahid447.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>jana laksromde</name><uri>http://www.blogger.com/profile/16901278356943551005</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_SMFa6j3YAMo/R-ecRK2lFkI/AAAAAAAAAEA/leTBgzoxbCg/S220/th_Foto454-1-1.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3515019263649678197.post-2947206804312420657</id><published>2008-03-26T15:44:00.001+07:00</published><updated>2008-03-30T00:17:52.635+07:00</updated><title type='text'></title><content type='html'>&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/aRPORLQCXwE"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/aRPORLQCXwE" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3515019263649678197-2947206804312420657?l=nursahid447.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nursahid447.blogspot.com/feeds/2947206804312420657/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3515019263649678197&amp;postID=2947206804312420657' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/2947206804312420657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/2947206804312420657'/><link rel='alternate' type='text/html' href='http://nursahid447.blogspot.com/2008/03/blog-post.html' title=''/><author><name>jana laksromde</name><uri>http://www.blogger.com/profile/16901278356943551005</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_SMFa6j3YAMo/R-ecRK2lFkI/AAAAAAAAAEA/leTBgzoxbCg/S220/th_Foto454-1-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3515019263649678197.post-8833329312305965387</id><published>2008-03-16T15:48:00.000+07:00</published><updated>2008-03-16T15:49:53.271+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pemrograman'/><title type='text'>BAHASA PEMROGRAMAN BASIC dengan Quick BASIC</title><content type='html'>DASAR-DASAR QBASIC&lt;br /&gt;&lt;br /&gt;        Bahasa BASIC dibuat oleh John G.Kemmeny dan Thomas E.Kurtz lebih&lt;br /&gt;        dari 20 tahun yang lalu dan merupakan bahasa tingkat tinggi yang&lt;br /&gt;        relatif mudah dipelajari dan dimengerti.&lt;br /&gt;&lt;br /&gt;        Dalam perkembangannya , Bahasa BASIC dikembangkan dalam dua&lt;br /&gt;        jenis, yaitu interpreter dan compiler. Interpreter seperti GW-&lt;br /&gt;        BASIC pada sistem operasi MS-DOS, maupun BASICA pada sistem&lt;br /&gt;        operasi PC-DOS, sedangkan salah satu compilernya yang terkenal&lt;br /&gt;        adalah Quick BASIC  yang dilengkapi dengan sistem &lt;br /&gt;&lt;span id="fullpost"&gt;pemrograman&lt;br /&gt;        yang terstruktur, Quick Library, on-line help yang terpadu,&lt;br /&gt;        editor yang efisien (bisa merapikan teks serta memberitahukan&lt;br /&gt;        kesalahan syntax penulisan suatu perintah)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        MENGAKTIFKAN QUICK BASIC&lt;br /&gt;&lt;br /&gt;        Untuk mengaktifkan Quick BASIC diperlukan sistem Quick BASIC yang&lt;br /&gt;        minimal terdiri dari file QB.EXE/QBasic.EXE. Jika kita telah&lt;br /&gt;        memiliki file tersebut tinggal diberi perintah QB pada Dos&lt;br /&gt;        Prompt.&lt;br /&gt;&lt;br /&gt;        Contoh&lt;br /&gt;&lt;br /&gt;        A&gt;QB &lt;Enter&gt;&lt;br /&gt;&lt;br /&gt;        atau&lt;br /&gt;&lt;br /&gt;        A&gt;QBasic &lt;Enter&gt;&lt;br /&gt;&lt;br /&gt;        Setelah pemberian perintah tersebut, pemakai akan dihadapkan&lt;br /&gt;        kepada suatu editor sebagai tempat pengetikan program yang akan&lt;br /&gt;        dikembangkan. Dibagian atas editor terdapat perintah menu yang&lt;br /&gt;        dapat diaktifkan dengan Tombol Alt disertai huruf depan dari&lt;br /&gt;        masing-masing pilihan.&lt;br /&gt;&lt;br /&gt;           File&lt;br /&gt;        /------------------\&lt;br /&gt;        | New Program      | memulai program baru&lt;br /&gt;        | Open Program...  | memuat program dari diskette ke RAM&lt;br /&gt;        | Save             | menyimpan program ke diskette (file *.BAS)&lt;br /&gt;        | Save As...       | menyimpan program ke nama yang lain&lt;br /&gt;        |------------------|&lt;br /&gt;        | Print...         | mencetak program ke printer&lt;br /&gt;        |------------------|&lt;br /&gt;        | Exit             | keluar ke Dos permanen&lt;br /&gt;        \------------------/&lt;br /&gt;&lt;br /&gt;          Edit&lt;br /&gt;        /----------------------\&lt;br /&gt;        | Undo   Alt+Backspace | membatalkan perubahan terakhir&lt;br /&gt;        | Cut        Shift+Del | memotong tulisan Blok ke ClipBoard&lt;br /&gt;        | Copy        Ctrl+Ins | menduplikasi tulisan Blok ke ClipBoard&lt;br /&gt;        | Paste      Shift+Ins | menyisip ClipBoard ke posisi Kursor&lt;br /&gt;        | Clear            Del | menghapus tulisan yang di Blok&lt;br /&gt;        |----------------------|&lt;br /&gt;        | New SUB...           |&lt;br /&gt;        | New FUNCTION...      |&lt;br /&gt;        \----------------------/&lt;br /&gt;&lt;br /&gt;          Options&lt;br /&gt;        /-----------------\&lt;br /&gt;        | Display...      | mengatur tampilan layar&lt;br /&gt;        | Help Set Path   | mengatur default Dos Path&lt;br /&gt;        | Syntax Checking | mengatur keaktifan pemeriksaan Syntax&lt;br /&gt;        \-----------------/&lt;br /&gt;&lt;br /&gt;          Run&lt;br /&gt;        /---------------------\&lt;br /&gt;        | Start      Shift+F5 | menjalankan program yang aktif&lt;br /&gt;        | Restart             | mereset memory program&lt;br /&gt;        | Continue         F5 | melanjutkan program yang terhenti&lt;br /&gt;        \---------------------/&lt;br /&gt;&lt;br /&gt;        MEMBUAT PROGRAM PADA QUICK BASIC&lt;br /&gt;&lt;br /&gt;        Apa yang dimaksud dengan pemrogram komputer ?&lt;br /&gt;&lt;br /&gt;        Pemrograman komputer berarti anda memberitahukan kepada komputer&lt;br /&gt;        ada yang anda ingin dia lakukan. Untuk memberitahukan komputer&lt;br /&gt;        apa yang harus dia lakukan, anda membutuhkan kata-kata khusus&lt;br /&gt;        (special words). Kata-kata ini disebut sebagai kata-kata kunci&lt;br /&gt;        (key words). Ketika anda menempatkan kata-kata kunci ini dalam&lt;br /&gt;        program anda sehingga kelihatan seperti kode khusus (special&lt;br /&gt;        code) yang disebut sebagai CODE dan pekerjaan menulis program&lt;br /&gt;        disebut CODING.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        KATA, DATA, PERINTAH, dan FUNGSI BANTU merupakan komponen utama&lt;br /&gt;        suatu program yang saling berinteraksi. Pembuatan program dalam&lt;br /&gt;        Quick BASIC tidak terlepas dari keempat komponen di atas dalam&lt;br /&gt;        baris-baris perintah yang berkapasitas maksimum 256 character&lt;br /&gt;        yang mencakup identitas baris, perintah, dan kata-kata(Remark).&lt;br /&gt;        Identitas baris bisa berupa nomor baris (0-65529) [menjaga&lt;br /&gt;        kompatibilitas dengan GWBASIC maupun BASICA], dan bisa berupa&lt;br /&gt;        label dengan ketentuan :&lt;br /&gt;&lt;br /&gt;        - Maksimum 40 character, dimulai dengan huruf A..Z, diakhiri&lt;br /&gt;        dengan tanda :&lt;br /&gt;        - huruf besar/kecil sama, tidak sama dengan reserved word, dan&lt;br /&gt;        tidak pakai spasi&lt;br /&gt;&lt;br /&gt;        Setiap proses yang berhubungan dengan pengolahan data biasanya&lt;br /&gt;        memerlukan tempat penampung sementara dalam memory yang disebut&lt;br /&gt;        variabel dan dalam pengolahannya diperlukan operator dan fungsi&lt;br /&gt;        bantu.&lt;br /&gt;&lt;br /&gt;        Jenis Type Variabel pada Quick Basic :&lt;br /&gt;        /--------------------------------------------------------------------------\&lt;br /&gt;        |Data Type                  |Suffix|Maximum         |Minimum         | Size|&lt;br /&gt;        |--------------------------------------------------------------------------|&lt;br /&gt;                                    |      |                |                |&lt;br /&gt;        |Strings                    |   $  | 32,767 chars.  | 0 chars.       |     |&lt;br /&gt;        |Integers                   |   %  | 32,767         |-32,768         |  2  |&lt;br /&gt;        |Long Integers              |   &amp;  | 2,147,483,647  |-2,147,483,648  |  4  |&lt;br /&gt;        |Single (7-digit) precision |   !  |+3.402823 E+38  |+1.401298 E-45  |  4  |&lt;br /&gt;                                            _                _&lt;br /&gt;        |Double (15-digit) precision|   #  |+1.7976931 D+308|+4.940656 D-324 |  8  |&lt;br /&gt;                                            _                _&lt;br /&gt;        |User-Defined Data Types    |----------------------------------------------/&lt;br /&gt;        \---------------------------/&lt;br /&gt;&lt;br /&gt;        Nama variabel juga memiliki ketentuan antara lain :&lt;br /&gt;        - Maksimum 40 character, diawali dengan huruf A..Z, diakhiri&lt;br /&gt;        dengan $, %, &amp;, !, # untuk menunjukan type&lt;br /&gt;        - Tidak boleh sama dengan reserved word, tidak boleh pakai spasi&lt;br /&gt;        dan spesial character.&lt;br /&gt;&lt;br /&gt;        Operator pada Quick BASIC dibagi atas 5 jenis, antara lain :&lt;br /&gt;&lt;br /&gt;        1. Arithmetic operators : melakukan tugas perhitungan&lt;br /&gt;        /--------------------\   /----------------------------\&lt;br /&gt;        |Operator|Kegunaan   |   |Operator|Kegunaan           |&lt;br /&gt;        |--------------------|   |----------------------------|&lt;br /&gt;                 |                        |&lt;br /&gt;        |   ^    | Pangkat   |   |   \    | Pembagian integer |&lt;br /&gt;        |   -    | Negatif   |   |  MOD   | Sisa bagi         |&lt;br /&gt;        |   *    | Perkalian |   |   +    | Penjumlahan       |&lt;br /&gt;        |   /    | Pembagian |   |   -    | Pengurangan       |&lt;br /&gt;        \--------------------/   \----------------------------/&lt;br /&gt;&lt;br /&gt;        2. Relational operators : membandingkan strings dan nilai numerik&lt;br /&gt;        /--------------------------------------\&lt;br /&gt;        |Operator|Kegunaan                     |&lt;br /&gt;        |--------------------------------------|&lt;br /&gt;        |   =    | Sama dengan                 |&lt;br /&gt;        |  &lt;&gt;    | Tidak sama dengan           |&lt;br /&gt;        |   &lt;    | Lebih kecil                 |&lt;br /&gt;        |   &gt;    | Lebih besar                 |&lt;br /&gt;        |  &lt;=    | Lebih besar atau sama dengan|&lt;br /&gt;        |  &gt;=    | Lebih kecil atau sama dengan|&lt;br /&gt;        \--------------------------------------/&lt;br /&gt;&lt;br /&gt;        Relational operators akan menghasilkan dua kemungkinan nilai&lt;br /&gt;        yaitu -1 jika benar dan 0 jika salah.&lt;br /&gt;&lt;br /&gt;        3. Logical operators     : test kondisi dan manipulasi bits&lt;br /&gt;        /-----------------------------------------------------\&lt;br /&gt;        |Expresi1|Expresi2| NOT | AND | OR  | XOR | EQV | IMP |&lt;br /&gt;        |-----------------------------------------------------|&lt;br /&gt;                 |        |     |     |     |     |     |&lt;br /&gt;        |    T   |    T   |  F  |  T  |  T  |  F  |  T  |  T  |&lt;br /&gt;        |    T   |    F   |  F  |  F  |  T  |  T  |  F  |  F  |&lt;br /&gt;        |    F   |    T   |  T  |  F  |  T  |  T  |  F  |  T  |&lt;br /&gt;        |    F   |    F   |  T  |  F  |  F  |  F  |  T  |  T  |&lt;br /&gt;        \-----------------------------------------------------/&lt;br /&gt;&lt;br /&gt;        Functional operators  : operator pelengkap&lt;br /&gt;        String operators      : mengabung (+), dan membandingkan String&lt;br /&gt;&lt;br /&gt;        PERINTAH DASAR INPUT OUTPUT&lt;br /&gt;&lt;br /&gt;        Komputer hanya melaksanakan apa yang diperintahkan pemrogram.&lt;br /&gt;        Jadi, dalam membuat program untuk menyelesaikan suatu masalah,&lt;br /&gt;        kita harus tahu cara penyelesaiannya. Untuk itu diperlukan tahap-&lt;br /&gt;        tahap dalam menyelesaikan masalah tersebut.&lt;br /&gt;&lt;br /&gt;        INPUT dan OUTPUT merupakan awal dan  akhir  pengolahan suatu&lt;br /&gt;        data. Tanpa proses INPUT, kita tidak dapat memperoleh data untuk&lt;br /&gt;        diolah dan data-data yang telah selesai diolah tidak akan berarti&lt;br /&gt;        tanpa proses OUTPUT.&lt;br /&gt;&lt;br /&gt;        Syntax :&lt;br /&gt;          INPUT [;]["Prompt"{,|;}], Var list&lt;br /&gt;          PRINT [expresion list {,|;}]&lt;br /&gt;&lt;br /&gt;        Contoh 1 :&lt;br /&gt;             REM Program mencari Isi Bujursangkar&lt;br /&gt;             INPUT "MASUKKAN SISI BUJURSANGKAR   :",S&lt;br /&gt;             ISI = S * S&lt;br /&gt;             PRINT "ISI DARI BUJURSANGKAR ADALAH :",ISI&lt;br /&gt;             END&lt;br /&gt;&lt;br /&gt;        Contoh 2 :&lt;br /&gt;             REM Program Isi Data&lt;br /&gt;             INPUT "MASUKKAN NAMA ANDA            ";NM$&lt;br /&gt;             INPUT "MASUKKAN UMUR ANDA            ";UR%&lt;br /&gt;             INPUT "MASUKKAN TGL,BLN,THN HARI INI ";TG%,BL%,TH%&lt;br /&gt;             PRINT "NAMA    : ";NM$&lt;br /&gt;             PRINT "UMUR    : ";UR%&lt;br /&gt;             PRINT "TANGGAL : ";TG%&lt;br /&gt;             PRINT "BULAN   : ";BL%&lt;br /&gt;             PRINT "TAHUN   : ";TH%&lt;br /&gt;             END&lt;br /&gt;&lt;br /&gt;        Catatan :&lt;br /&gt;        Untuk memberi keterangan pada program dapat digunakan REM atau '&lt;br /&gt;&lt;br /&gt;        LATIHAN&lt;br /&gt;&lt;br /&gt;        1. Aktifkan QBasic.EXE, dan anda akan dihadapkan pada suatu&lt;br /&gt;        WELCOME dialog box, tekan Esc untuk mengabaikannya. Selanjutnya&lt;br /&gt;        anda akan melihat lingkungan kerja QBasic yang terbagi atas dua&lt;br /&gt;        bagian : Bagian atas adalah "Jendela Editor" dan Bagian bawah&lt;br /&gt;        adalah "Jendela Immedietly".&lt;br /&gt;&lt;br /&gt;        2. Perhatikan letak kursor sekarang (pada Jendela Editor), tekan&lt;br /&gt;        function key (F6) untuk mengaktifkan Jendela Immedietly, dan (F6)&lt;br /&gt;        sekali lagi untuk sebaliknya.&lt;br /&gt;&lt;br /&gt;        3. Ketiklah ekspresi berikut pada jendela immedietly dengan&lt;br /&gt;        diawali perintah print (?).&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        1+2&lt;br /&gt;&lt;br /&gt;        diketik sebagai&lt;br /&gt;&lt;br /&gt;        ? 1 + 2&lt;br /&gt;&lt;br /&gt;        Ekspresi :     Hasilnya ?&lt;br /&gt;&lt;br /&gt;        1 + 2          _____   Penjumlahan&lt;br /&gt;        2 - 1          _____   Pengurangan&lt;br /&gt;        2 * 3          _____   Perkalian&lt;br /&gt;        5 / 2          _____   Pembagian&lt;br /&gt;        5 \ 2          _____   mengapa ? ____________ Pembagian bulat&lt;br /&gt;        5 Mod 2        _____   mengapa ? ____________ Sisa bagi&lt;br /&gt;        3^2            _____   Pangkat&lt;br /&gt;        1+2*6^2/4-1    _____   Urutan operasi&lt;br /&gt;        (1+2)*6^2/4-1  _____   Prioritas operasi&lt;br /&gt;&lt;br /&gt;        Tuliskan kesimpulan anda tentang :&lt;br /&gt;        1. Pembagian bulat ____________________________________________&lt;br /&gt;        2. Sisa bagi __________________________________________________&lt;br /&gt;        3. Urutan operasi _____________________________________________&lt;br /&gt;        4. Prioritas operasi __________________________________________&lt;br /&gt;&lt;br /&gt;        1 &gt; 2          _____   lebih besar&lt;br /&gt;        1 &lt; 1          _____   lebih kecil&lt;br /&gt;        2 = 2          _____   sama dengan&lt;br /&gt;        2 &gt;= 2         _____   lebih besar atau sama&lt;br /&gt;        1 &lt;= 2         _____   lebih kecil atau sama&lt;br /&gt;        3 &lt;&gt; 3         _____   tidak sama dengan&lt;br /&gt;&lt;br /&gt;        Mengapa True (-1) dan False (0) ?&lt;br /&gt;&lt;br /&gt;        (1 &gt; 2)  and (2 = 2)  _____ Operasi And&lt;br /&gt;        (1 &gt; 2)  and (1 &lt; 2)  _____ Operasi And&lt;br /&gt;        (1 &lt; 2)  and (2 = 2)  _____ Operasi And&lt;br /&gt;        (3 &lt;&gt; 2) and (1 &gt; 2)  _____ Operasi And&lt;br /&gt;&lt;br /&gt;        (1 &gt; 2)  and (2 = 2)  _____ Operasi Or&lt;br /&gt;        (1 &gt; 2)  and (1 &lt; 2)  _____ Operasi Or&lt;br /&gt;        (1 &lt; 2)  and (2 = 2)  _____ Operasi Or&lt;br /&gt;        (3 &lt;&gt; 2) and (1 &gt; 2)  _____ Operasi Or&lt;br /&gt;&lt;br /&gt;        (1 &gt; 2)  Xor (2 = 2)  _____ Operasi Xor&lt;br /&gt;        (1 &gt; 2)  Xor (1 &lt; 2)  _____ Operasi Xor&lt;br /&gt;        (1 &lt; 2)  Xor (2 = 2)  _____ Operasi Xor&lt;br /&gt;        (3 &lt;&gt; 2) Xor (1 &gt; 2)  _____ Operasi Xor&lt;br /&gt;&lt;br /&gt;        (1 &gt; 2)  Eqv (2 = 2)  _____ Operasi Eqv&lt;br /&gt;        (1 &gt; 2)  Eqv (1 &lt; 2)  _____ Operasi Eqv&lt;br /&gt;        (1 &lt; 2)  Eqv (2 = 2)  _____ Operasi Eqv&lt;br /&gt;        (3 &lt;&gt; 2) Eqv (1 &gt; 2)  _____ Operasi Eqv&lt;br /&gt;&lt;br /&gt;        (1 &gt; 2)  Imp (2 = 2)  _____ Operasi Imp&lt;br /&gt;        (1 &gt; 2)  Imp (1 &lt; 2)  _____ Operasi Imp&lt;br /&gt;        (1 &lt; 2)  Imp (2 = 2)  _____ Operasi Imp&lt;br /&gt;        (3 &lt;&gt; 2) Imp (1 &gt; 2)  _____ Operasi Imp&lt;br /&gt;&lt;br /&gt;        Not (1 &gt; 2)           _____ Operasi Imp&lt;br /&gt;        Not (2 &gt; 2)           _____ Operasi Imp&lt;br /&gt;&lt;br /&gt;        Not (1 &gt; 2) Or (2 = 2) And (3 &lt; 2) ______ Urutan operasi&lt;br /&gt;&lt;br /&gt;        Tuliskan kesimpulan anda tentang urutan operasi pada operator&lt;br /&gt;        logika.&lt;br /&gt;&lt;br /&gt;        4. Ketiklah ekspresi berikut pada jendela immedietly :&lt;br /&gt;&lt;br /&gt;        A   = 123&lt;br /&gt;        B   = 1234567890&lt;br /&gt;        C%  = 32767&lt;br /&gt;        D%  = 100000         Overflow, mengapa ?&lt;br /&gt;        D&amp;  = 100000&lt;br /&gt;        E$  = "Indoprog"&lt;br /&gt;        F$  = 123            Type mismatch, mengapa ?&lt;br /&gt;        G   = "hendra"       Type mismatch, mengapa ?&lt;br /&gt;        H_1 = 123            expected : end-of-statement, mengapa ?&lt;br /&gt;        nilai ujian = 90     Syntax error, mengapa ?&lt;br /&gt;        next = 5             expected : variable or end-of-statement ?&lt;br /&gt;        cls  = 6             expected : variable or end-of-statement ?&lt;br /&gt;&lt;br /&gt;        A%  = 1.2            Berapa nilai A% ?&lt;br /&gt;        A%  = 1.5            Berapa nilai A% ?&lt;br /&gt;&lt;br /&gt;        Tuliskan kesimpulan anda tentang variabel dan nama variabel&lt;br /&gt;&lt;br /&gt;        5. Ketiklah ekspresi berikut pada jendela immedietly dengan&lt;br /&gt;        diawali perintah print (?).&lt;br /&gt;&lt;br /&gt;        1 + 1                ______&lt;br /&gt;        1 + "100"            Type mismatch, mengapa ?&lt;br /&gt;        "A" + "B"            ______&lt;br /&gt;&lt;br /&gt;        Tuliskan kesimpulan anda operator pada type data.&lt;br /&gt;&lt;br /&gt;        6. Ketiklah statement berikut pada jendela immedietly&lt;br /&gt;&lt;br /&gt;        Print "Untuk kemajuan Indonesia"&lt;br /&gt;&lt;br /&gt;        Hasilnya : __________________________________&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Print "Untuk","kemajuan","Indonesia"&lt;br /&gt;&lt;br /&gt;        Hasilnya : __________________________________&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Print "Untuk";"kemajuan";Indonesia"&lt;br /&gt;&lt;br /&gt;        Hasilnya : __________________________________&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Print "Untuk"&lt;br /&gt;        Print "Kemajuan"&lt;br /&gt;        Print "Indonesia"&lt;br /&gt;        Hasilnya : _____________&lt;br /&gt;                   _____________&lt;br /&gt;                   _____________&lt;br /&gt;&lt;br /&gt;        Print "Untuk";&lt;br /&gt;        Print "Kemajuan";&lt;br /&gt;        Print "Indonesia"&lt;br /&gt;&lt;br /&gt;        Hasilnya : __________________________________&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Print 1,2,3&lt;br /&gt;&lt;br /&gt;        Hasilnya : __________________________________, mengapa ?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Print 1;2;3&lt;br /&gt;&lt;br /&gt;        Hasilnya : __________________________________, mengapa ?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Print tab(10),"Hendra";tab(30);"Wijaya"&lt;br /&gt;&lt;br /&gt;        Hasilnya : __________________________________, mengapa ?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Input nama$&lt;br /&gt;        print nama$&lt;br /&gt;&lt;br /&gt;        Hasilnya :? Hendra&lt;br /&gt;                  __________________________________&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Input "Masukkan nama :", nama$&lt;br /&gt;        print nama$&lt;br /&gt;&lt;br /&gt;        Hasilnya :Masukkan nama : Hendra&lt;br /&gt;                  __________________________________&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Input "Masukkan nama "; nama$&lt;br /&gt;        print nama$&lt;br /&gt;&lt;br /&gt;        Hasilnya :Masukkan nama ? Hendra&lt;br /&gt;&lt;br /&gt;                  __________________________________&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Input "Masukkan nama "; nama&lt;br /&gt;        print nama&lt;br /&gt;&lt;br /&gt;        Hasilnya : Masukkan nama ? Hendra&lt;br /&gt;                   Redo from start, mengapa ?&lt;br /&gt;&lt;br /&gt;        6. Program anda yang pertama.&lt;br /&gt;&lt;br /&gt;        Aktifkan ke jendela Editor&lt;br /&gt;        Ketiklah CODE berikut :&lt;br /&gt;&lt;br /&gt;        REM Program saya yang pertama&lt;br /&gt;        CLS&lt;br /&gt;        PRINT "Hello semua"&lt;br /&gt;        END&lt;br /&gt;&lt;br /&gt;        Simpan CODE diatas ke file Bab1F.Bas (gunakan menu File Save)&lt;br /&gt;&lt;br /&gt;        Jalankan program diatas (gunakan menu Run Start atau tekan F5)&lt;br /&gt;&lt;br /&gt;        7. Program dengan proses input/output&lt;br /&gt;&lt;br /&gt;        Gunakan menu File New untuk memulai program baru&lt;br /&gt;        Ketiklah CODE berikut :&lt;br /&gt;&lt;br /&gt;        REM Program menghitung luas persegi panjang&lt;br /&gt;        CLS&lt;br /&gt;        INPUT "Masukkan sisi panjang :", panjang&lt;br /&gt;        INPUT "Masukkan sisi lebar   :", lebar&lt;br /&gt;        LUAS = panjang * lebar&lt;br /&gt;        PRINT "Luas persegi panjang :", LUAS&lt;br /&gt;        END&lt;br /&gt;&lt;br /&gt;        Simpan CODE diatas ke file Bab1G.Bas&lt;br /&gt;&lt;br /&gt;        8. Buatlah program menghitung luas lingkaran.&lt;br /&gt;&lt;br /&gt;        9. Buatlah program konversi suhu Celcius ke Farenheit, Kelvin,&lt;br /&gt;        Reamur.&lt;br /&gt;&lt;br /&gt;        10. Beberapa perintah pengaturan INPUT OUTPUT&lt;br /&gt;&lt;br /&gt;        Pada tulisan ini tidak diberikan contoh untuk memancing&lt;br /&gt;        pertanyaan pada forum diskusi :).&lt;br /&gt;&lt;br /&gt;        CLS&lt;br /&gt;        Membersihkan layar dengan warna latar belakang&lt;br /&gt;&lt;br /&gt;        COLOR textcolor[,textbackground[,border]]&lt;br /&gt;        Mengatur warna tulisan, warna latar belakang, dan&lt;br /&gt;        warna border layar. Adapun nomor warna yang disediakan :&lt;br /&gt;        /----------------\ /----------------\ /----------------\ /------------------\&lt;br /&gt;        |  # | Warna     | |  # | Warna     | |  # | Warna     | |  # | Warna       |&lt;br /&gt;        |----------------| |----------------| |----------------| |------------------|&lt;br /&gt;             |                  |                  |                  |&lt;br /&gt;        |  0 | Hitam     | |  4 | Merah     | |  8 | Abu-abu   | | 12 | Merah muda  |&lt;br /&gt;        |  1 | Biru      | |  5 | Magenta   | |  9 | Biru muda | | 13 | Magenta muda|&lt;br /&gt;        |  2 | Hijau     | |  6 | Brown     | | 10 | Hijau muda| | 14 | Kuning      |&lt;br /&gt;        |  3 | Cyan      | |  7 | Putih     | | 11 | Cyan muda | | 15 | Putih terang|&lt;br /&gt;        \----------------/ \----------------/ \----------------/ \------------------/&lt;br /&gt;        Warna tulisan dapat dibuat berkedip dengan menambahkan 16 pada&lt;br /&gt;        nomor warna&lt;br /&gt;        Warna latar belakang hanya dapat dipilih nomor 0 s/d 7&lt;br /&gt;        Warna border dapat dipilih 0 s/d 15&lt;br /&gt;&lt;br /&gt;        PRINT USING formatstring; expressionlist[{,|;}]&lt;br /&gt;        Mencetak text dan variabel dengan format tertentu&lt;br /&gt;        formatstring, ekspresi string yang mengatur format pencetakkan&lt;br /&gt;        dengan picture sebagai berikut :&lt;br /&gt;        /------------Characters Picture untuk mengatur format data numerik ------------\&lt;br /&gt;        | #   Menentukan posisi digit            | -    Diletakan sesudah posisi digit |&lt;br /&gt;        | .   Menentukan posisi Desimal          |      mencetak tanda untuk negatif   |&lt;br /&gt;        | ,   Memunculkan pemisah ribuan,jutaan  | $$   Mencetak $ pada posisi kosong  |&lt;br /&gt;        | +   Menentukan posisi tanda numerik    | **   Mencetak * pada posisi kosong  |&lt;br /&gt;        |^^^^ Mencetak dalam  bentuk eksponensial| **$  Combinasi $ dan **             |&lt;br /&gt;        |-------------------Characters Picture untuk mengatur format data string-------|&lt;br /&gt;        | &amp;   Mencetak seluruh string            | \  \  Mencetak n+2 character, dimana|&lt;br /&gt;        | !   Mencetak huruf pertama dari String |       n adalah jumlah spasi \  \    |&lt;br /&gt;        \------------------------------------------------------------------------------/&lt;br /&gt;&lt;br /&gt;        WIDTH kolom,baris&lt;br /&gt;        Mengatur lebar text layar  40 atau 80 kolom dan pada monitor EGA&lt;br /&gt;        atau VGA mengatur jumlah baris layar 25,43,50 atau 60 (tergantung&lt;br /&gt;        pada jenis monitor)&lt;br /&gt;&lt;br /&gt;        LOCATE  [row] [,[col] [,[cursor] [,start [,stop]]]]&lt;br /&gt;        Memindahkan kursor pada layar ke posisi baris dan kolom tertentu.&lt;br /&gt;        cursor, nilai 0 cursor off, nilai 1 cursor on&lt;br /&gt;        start, baris awal kursor 0 s/d 31&lt;br /&gt;        stop, baris akhir kursor 0 s/d 31&lt;br /&gt;&lt;br /&gt;        SPC(n)&lt;br /&gt;        Meloncat sejumlah n spasi pada saat pencetakan dengan perintah&lt;br /&gt;        print.&lt;br /&gt;&lt;br /&gt;        TAB(n)&lt;br /&gt;        Mencetak output ke kolom n yang ditentukan.&lt;br /&gt;&lt;br /&gt;        VIEW PRINT baris_teratas To baris_terbawah&lt;br /&gt;        Membatasi baris teratas dan terbawah layar untuk memunculkan&lt;br /&gt;        tulisan.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3515019263649678197-8833329312305965387?l=nursahid447.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nursahid447.blogspot.com/feeds/8833329312305965387/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3515019263649678197&amp;postID=8833329312305965387' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/8833329312305965387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/8833329312305965387'/><link rel='alternate' type='text/html' href='http://nursahid447.blogspot.com/2008/03/bahasa-pemrograman-basic-dengan-quick.html' title='BAHASA PEMROGRAMAN BASIC dengan Quick BASIC'/><author><name>jana laksromde</name><uri>http://www.blogger.com/profile/16901278356943551005</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_SMFa6j3YAMo/R-ecRK2lFkI/AAAAAAAAAEA/leTBgzoxbCg/S220/th_Foto454-1-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3515019263649678197.post-4096291146781216059</id><published>2008-03-16T15:47:00.000+07:00</published><updated>2008-03-16T15:48:28.383+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pemrograman'/><title type='text'>STRUKTUR KENDALI IF</title><content type='html'>Struktur Kendali memegang peranan yang sangat penting dalam&lt;br /&gt;        pembuatan program dengan komputer, tanpa adanya struktur kendali&lt;br /&gt;        kita hanya dapat membuat program yang sederhana dimana prosesnya&lt;br /&gt;        hanya dijalankan dari baris pertama sampai selesai. Pada kasus-&lt;br /&gt;        kasus tertentu, ada kalanya baris tertentu tidak boleh&lt;br /&gt;        dilaksanakan apabila kondisi tidak dipenuhi, ataupun &lt;span id="fullpost"&gt;baris-baris&lt;br /&gt;        tertentu harus diulang sampai suatu kondisi terpenuhi.&lt;br /&gt;&lt;br /&gt;        TEST PILIHAN&lt;br /&gt;&lt;br /&gt;        Dengan perintah test pilihan seorang programer dapat menentukan&lt;br /&gt;        jalur-jalur proses yang harus dikerjakan oleh komputer&lt;br /&gt;        berdasarkan logika tertentu.&lt;br /&gt;&lt;br /&gt;        1. Pilih Tambahan&lt;br /&gt;&lt;br /&gt;        If  ekspresi logika Then&lt;br /&gt;            Statement&lt;br /&gt;            ...&lt;br /&gt;        End If&lt;br /&gt;&lt;br /&gt;        Berfungsi menentukan apakah kondisi (ekspresi logika) memenuhi&lt;br /&gt;        syarat untuk melaksanakan Statement-Statement yang di samping IF&lt;br /&gt;        Then ataupun berada dalam Block IF Then-End If.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        PTKP = 240000&lt;br /&gt;&lt;br /&gt;        If Nikah$ = "Y" Then&lt;br /&gt;           PTKP = PTKP + 120000&lt;br /&gt;        End If&lt;br /&gt;&lt;br /&gt;        Keterangan : Jika status nikah adalah "Y" (Ya), maka PTKP&lt;br /&gt;        (Penghasilan Tidak Kena Pajak) ditambah 120000&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        2. Pilih Antara Dua&lt;br /&gt;&lt;br /&gt;        IF ekspresi logika Then&lt;br /&gt;           Statement1&lt;br /&gt;           ...&lt;br /&gt;        Else&lt;br /&gt;           Statement2&lt;br /&gt;           ...&lt;br /&gt;        End If&lt;br /&gt;&lt;br /&gt;        Berfungsi menentukan Block Statement mana yang akan dilaksanakan&lt;br /&gt;        komputer, jika ekspresi logika menghasilkan nilai Benar maka&lt;br /&gt;        Statement1 akan dilaksanakan dan sebaliknya dengan Statement2.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        If JlhAnak &gt; 3 Then&lt;br /&gt;           PTKP = PTKP + (3 * 120000)&lt;br /&gt;        Else&lt;br /&gt;           PTKP = PTKP + (JlhAnak * 120000)&lt;br /&gt;        End If&lt;br /&gt;&lt;br /&gt;        Keterangan : Jika Jumlah Anak diatas 3 Orang, maka PTKP ditambah&lt;br /&gt;        360000, sebaliknya adalah JlhAnak dikali 120000.&lt;br /&gt;&lt;br /&gt;        3. Pilih Antara Banyak&lt;br /&gt;&lt;br /&gt;        IF ekspresi logika 1 Then&lt;br /&gt;           Statement1&lt;br /&gt;           ...&lt;br /&gt;        ElseIF ekspresi logika 2 Then&lt;br /&gt;           Statement2&lt;br /&gt;           ...&lt;br /&gt;        Else&lt;br /&gt;        Endif&lt;br /&gt;&lt;br /&gt;        Berfungsi menentukan  Block statement yang mana akan dijalankan&lt;br /&gt;        oleh komputer sesuai dengan ekspresi logika yang menghasilkan&lt;br /&gt;        nilai benar.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        PKP  = Penghasilan - PTKP    ' Penghasilan Kena Pajak 1 Bulan&lt;br /&gt;        PKPT = PKP * 12              ' Penghasilan Kena Pajak 1 Tahun&lt;br /&gt;&lt;br /&gt;        If PKPT &lt;= Then&lt;br /&gt;           PPH = 0&lt;br /&gt;        ElseIF PKPT &lt;= 25000000 Then&lt;br /&gt;           PPH = PKP * 0.05&lt;br /&gt;        ElseIF PKPT &lt;= 50000000 Then&lt;br /&gt;           PPH = 1250000 + (PKPT-25000000)* 0.1&lt;br /&gt;        ElseIF PKPT &lt;= 100000000 Then&lt;br /&gt;           PPH = 1250000 + 2500000 + (PKPT-50000000)*0.25&lt;br /&gt;        ElseIF PTKP &lt;= 200000000 Then&lt;br /&gt;           PPH = 1250000 + 2500000 + 7500000 + (PKPT-100000000)*0.25&lt;br /&gt;        Else&lt;br /&gt;           PPH = 1250000 + 2500000 + 7500000 + 25000000 + (PKPT-&lt;br /&gt;                 100000000)*0.35&lt;br /&gt;        End If&lt;br /&gt;&lt;br /&gt;        PPHB = PPH / 12              ' Pajak Penghasilan Bulan Tersebut&lt;br /&gt;&lt;br /&gt;        Keterangan : PPH dihitung berdasarkan PKPT&lt;br /&gt;&lt;br /&gt;        atau&lt;br /&gt;&lt;br /&gt;        Select Case Variabel&lt;br /&gt;          Case ekspresi 1&lt;br /&gt;               Statement1&lt;br /&gt;               ...&lt;br /&gt;          Case ekspresi 2&lt;br /&gt;               Statement2&lt;br /&gt;               ...&lt;br /&gt;          ...&lt;br /&gt;          Case Else&lt;br /&gt;               ...&lt;br /&gt;        End Select&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        Select Case PKPT&lt;br /&gt;          Case &lt;= 0&lt;br /&gt;               PPH = 0&lt;br /&gt;          Case &lt;= 25000000&lt;br /&gt;               PPH = PKP * 0.05&lt;br /&gt;          Case &lt;= 50000000&lt;br /&gt;               PPH = 1250000 + (PKPT-25000000)* 0.1&lt;br /&gt;          Case &lt;= 100000000&lt;br /&gt;               PPH = 1250000 + 2500000 + (PKPT-50000000)*0.15&lt;br /&gt;          Case &lt;= 200000000&lt;br /&gt;               PPH = 1250000 + 2500000 + 7500000 + (PKPT-100000000)*0.25&lt;br /&gt;          Case ELSE&lt;br /&gt;               PPH = 1250000 + 2500000 + 7500000 + 25000000 + (PKPT-&lt;br /&gt;                     100000000)*0.35&lt;br /&gt;        End Select&lt;br /&gt;&lt;br /&gt;        Contoh Lain :&lt;br /&gt;&lt;br /&gt;        Input "Masukkan Hari (1-7)", Hari&lt;br /&gt;&lt;br /&gt;        Select Case Hari&lt;br /&gt;          Case 1&lt;br /&gt;               Print "Senin"&lt;br /&gt;          Case 2&lt;br /&gt;               Print "Selasa"&lt;br /&gt;          Case 3&lt;br /&gt;               Print "Rabu"&lt;br /&gt;          Case 4&lt;br /&gt;               Print "Kamis"&lt;br /&gt;          Case 5&lt;br /&gt;               Print "Jumat"&lt;br /&gt;          Case 6&lt;br /&gt;               Print "Sabtu"&lt;br /&gt;          Case 7&lt;br /&gt;               Print "Minggu"&lt;br /&gt;          Case Else&lt;br /&gt;               Print "Tidak ada"&lt;br /&gt;        End Select&lt;br /&gt;&lt;br /&gt;        TUGAS&lt;br /&gt;&lt;br /&gt;        1.   Buatlah program perhitungan Pajak Penghasilan Perorangan&lt;br /&gt;        untuk penghasilan bulanan !&lt;br /&gt;&lt;br /&gt; http://www.pajak.go.id/UU/17-UU17TH00.doc&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3515019263649678197-4096291146781216059?l=nursahid447.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nursahid447.blogspot.com/feeds/4096291146781216059/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3515019263649678197&amp;postID=4096291146781216059' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/4096291146781216059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/4096291146781216059'/><link rel='alternate' type='text/html' href='http://nursahid447.blogspot.com/2008/03/struktur-kendali-if.html' title='STRUKTUR KENDALI IF'/><author><name>jana laksromde</name><uri>http://www.blogger.com/profile/16901278356943551005</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_SMFa6j3YAMo/R-ecRK2lFkI/AAAAAAAAAEA/leTBgzoxbCg/S220/th_Foto454-1-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3515019263649678197.post-4670827125982801684</id><published>2008-03-16T15:46:00.000+07:00</published><updated>2008-03-16T15:47:22.000+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pemrograman'/><title type='text'>STRUKTUR KENDALI PERULANGAN</title><content type='html'>LOOPING&lt;br /&gt;&lt;br /&gt;        Salah satu kelebihan komputer daripada manusia adalah ia tidak&lt;br /&gt;        pernah bosan terhadap tugas-tugas rutin. Inilah yang menyebabkan&lt;br /&gt;        komputerisasi selalu diterapkan terhadap tugas-tugas yang rutin.&lt;br /&gt;&lt;br /&gt;        1 Looping Counter&lt;br /&gt;&lt;br /&gt;        Digunakan untuk proses berulang yang &lt;br /&gt;&lt;span id="fullpost"&gt;jumlah perulangannya&lt;br /&gt;        ditentukan berdasarkan perhitungan (sistem counter).&lt;br /&gt;&lt;br /&gt;        FOR counter = mulai TO selesai [STEP selisih]&lt;br /&gt;            Statement&lt;br /&gt;            ...&lt;br /&gt;        NEXT [counter]&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        Mencetak nilai faktorial 7, dimana 7!=1x2x3x4x5x6x7&lt;br /&gt;&lt;br /&gt;        Fak = 1&lt;br /&gt;        For I = 2 To 7 Step 1&lt;br /&gt;            Fak = Fak * I                       ' Fak menjadi Fak * I&lt;br /&gt;        Next I&lt;br /&gt;        Print "Nilai faktorial 7 :", Fak&lt;br /&gt;        END&lt;br /&gt;&lt;br /&gt;        Mencetak 10 suku bilangan fibonanci yang pertama, dimana :&lt;br /&gt;        fibo(1) = 1&lt;br /&gt;        fibo(2) = 1&lt;br /&gt;        fibo(n) = fibo(n-1) + fibo(n-2)&lt;br /&gt;        sehingga hasilnya : 1,1,2,3,5,8,13,21,34,55&lt;br /&gt;&lt;br /&gt;        For I = 1 To 10 Step 1                  ' Looping 10 kali&lt;br /&gt;            If I = 1 Then                       ' Jika suku ke 1&lt;br /&gt;               fKurangSatu = 1&lt;br /&gt;               Print 1&lt;br /&gt;            ElseIF I = 2 Then                   ' Jika suku ke 2&lt;br /&gt;               fKurangDua = 1&lt;br /&gt;               Print 1&lt;br /&gt;            Else                                ' Untuk suku ke n&lt;br /&gt;               fibo = fKurangSatu+fKurangDua&lt;br /&gt;               Print fibo&lt;br /&gt;               fKurangSatu = fKurangDua&lt;br /&gt;               fKurangDua  = fibo&lt;br /&gt;            End IF&lt;br /&gt;        Next I&lt;br /&gt;        END&lt;br /&gt;&lt;br /&gt;        2 Looping Trapping&lt;br /&gt;&lt;br /&gt;        Perulangan jenis ini ditentukan berdasarkan kondisi tertentu.&lt;br /&gt;&lt;br /&gt;        Pemeriksaan diawal&lt;br /&gt;&lt;br /&gt;        DO [{WHILE | UNTIL} ekspresi logika]&lt;br /&gt;           Statement&lt;br /&gt;           ...&lt;br /&gt;        LOOP&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        Mencari KPK dari dua bilangan&lt;br /&gt;&lt;br /&gt;        Input "Bilangan pertama :", pertama&lt;br /&gt;        Input "Bilangan kedua :", kedua&lt;br /&gt;&lt;br /&gt;        If pertama &gt; kedua Then       'Jika bilangan pertama lebih besar&lt;br /&gt;           Lipat = pertama&lt;br /&gt;           Bagi  = kedua&lt;br /&gt;        Else&lt;br /&gt;           Lipat = kedua&lt;br /&gt;           Bagi  = pertama&lt;br /&gt;        End IF&lt;br /&gt;&lt;br /&gt;        N = 1&lt;br /&gt;&lt;br /&gt;        Do While ((Lipat*N) Mod Bagi) &lt;&gt; 0      'Kelipatan dinaikan jika&lt;br /&gt;           N = N + 1                            'sisa bagi belum nol&lt;br /&gt;        Loop&lt;br /&gt;&lt;br /&gt;        Print "KPK kedua bilangan adalah :", (Lipat*N)&lt;br /&gt;        END&lt;br /&gt;&lt;br /&gt;        NB : operator matematika MOD adalah untuk sisa bagi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Pemeriksaan diakhir&lt;br /&gt;&lt;br /&gt;        DO&lt;br /&gt;            [statementblock]&lt;br /&gt;        LOOP [{WHILE | UNTIL} ekspresi logika]&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        Program password, program akan terus menanyakan password sampai&lt;br /&gt;        jawabannya benar.&lt;br /&gt;&lt;br /&gt;        password$ = "INDOPROG"&lt;br /&gt;        DO&lt;br /&gt;           Color 7,0&lt;br /&gt;           Print "Password";&lt;br /&gt;           Color 0,0&lt;br /&gt;           Input pass$&lt;br /&gt;&lt;br /&gt;        LOOP until pass$ = password$&lt;br /&gt;        Print "Selamat bergabung !"&lt;br /&gt;        END&lt;br /&gt;&lt;br /&gt;        Perintah EXIT DO dapat digunakan untuk meninggalkan proses DO -&lt;br /&gt;        LOOP&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        N = 1&lt;br /&gt;        password$ = "INDOPROG"&lt;br /&gt;        DO&lt;br /&gt;           Color 7,0&lt;br /&gt;           If N &gt; 3 Then&lt;br /&gt;              EXIT DO&lt;br /&gt;           End IF&lt;br /&gt;           Print "Password";&lt;br /&gt;           Color 0,0&lt;br /&gt;           Input pass$&lt;br /&gt;           N = N + 1&lt;br /&gt;        LOOP until pass$ = password$&lt;br /&gt;        If N &gt; 3 Then&lt;br /&gt;           Print "Akses ditolak !"&lt;br /&gt;        Else&lt;br /&gt;           Print "Selamat bergabung !"&lt;br /&gt;        End IF&lt;br /&gt;        END&lt;br /&gt;&lt;br /&gt;        TUGAS&lt;br /&gt;&lt;br /&gt;        1. Buatlah program menentukan bilangan yang dimasukkan merupakan&lt;br /&gt;        bilangan PRIMA atau tidak.&lt;br /&gt;&lt;br /&gt;        2. Buatlah program mencetak tabel pertumbuhan simpanan anda di&lt;br /&gt;        bank.&lt;br /&gt;&lt;br /&gt;           Jumlah simpanan ?&lt;br /&gt;           Suku bunga bank/tahun ?&lt;br /&gt;           Lama simpanan   ?&lt;br /&gt;&lt;br /&gt;           Tabel pertumbuhan&lt;br /&gt;&lt;br /&gt;           ------------------------------------------------------------&lt;br /&gt;           Tahun  Awal Tahun   Bunga/tahun   Pajak       Akhir Tahun&lt;br /&gt;           ------------------------------------------------------------&lt;br /&gt;             1&lt;br /&gt;             2&lt;br /&gt;             .&lt;br /&gt;             .&lt;br /&gt;             .&lt;br /&gt;           Awal Tahun 1 = Jumlah simpanan&lt;br /&gt;           Bunga/tahun = Awal Tahun * Suku bunga bank/100&lt;br /&gt;           Pajak dihitung berdasarkan :&lt;br /&gt;           Jika Awal Tahun + Bunga/tahun &gt; 7500000&lt;br /&gt;                Pajak = 20% dari Bunga/tahun&lt;br /&gt;           Jika tidak&lt;br /&gt;                Pajak = 0&lt;br /&gt;           Akhir Tahun = Awal Tahun + Bunga/tahun - Pajak&lt;br /&gt;           Awal Tahun ke n = Akhir Tahun n - 1&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3515019263649678197-4670827125982801684?l=nursahid447.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nursahid447.blogspot.com/feeds/4670827125982801684/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3515019263649678197&amp;postID=4670827125982801684' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/4670827125982801684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/4670827125982801684'/><link rel='alternate' type='text/html' href='http://nursahid447.blogspot.com/2008/03/struktur-kendali-perulangan.html' title='STRUKTUR KENDALI PERULANGAN'/><author><name>jana laksromde</name><uri>http://www.blogger.com/profile/16901278356943551005</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_SMFa6j3YAMo/R-ecRK2lFkI/AAAAAAAAAEA/leTBgzoxbCg/S220/th_Foto454-1-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3515019263649678197.post-5477609438043616781</id><published>2008-03-16T15:44:00.000+07:00</published><updated>2008-03-16T15:45:06.059+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pemrograman'/><title type='text'>VARIABEL ARRAY</title><content type='html'>Array adalah sekumpulan data yang menggunakan nama variabel yang&lt;br /&gt;        sama. Tiap-tiap nilai dari array disebut sebagai elemen dan memiliki&lt;br /&gt;        index. Setiap elemen array adalah sebuah variabel juga.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Menciptakan Variabel Array&lt;br /&gt;&lt;br /&gt;        Untuk menciptakan variabel array dapat menggunakan &lt;br /&gt;&lt;span id="fullpost"&gt;perintah :&lt;br /&gt;&lt;br /&gt;        DIM variable[(subscripts)] [AS type]&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        DIM A(20) As Integer&lt;br /&gt;&lt;br /&gt;        Akan menciptakan variabel array yang bernama A yang memiliki 20&lt;br /&gt;        elemen (mulai dari index 0 s/d 19), yang masing-masing dapat&lt;br /&gt;        menampung data integer, dan memiliki nilai awal 0 (nol).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Menggunakan Variabel Array&lt;br /&gt;&lt;br /&gt;        Penggunakan Variabel Array sama saja dengan variabel biasa, cuma&lt;br /&gt;        kita perlu menyebutkan nomor index elemen yang diinginkan.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        A(0) = 100&lt;br /&gt;        A(1) = 200&lt;br /&gt;        A(2) = 300&lt;br /&gt;&lt;br /&gt;        Akan mengisi nilai 100 ke elemen pertama, 200 ke elemen kedua,&lt;br /&gt;        dan 300 ke elemen ketiga.&lt;br /&gt;&lt;br /&gt;        Catatan : Elemen pertama dari array dimulai dengan nomor index 0&lt;br /&gt;&lt;br /&gt;        Contoh lain :&lt;br /&gt;&lt;br /&gt;        For I = 0 To 19 Step 1&lt;br /&gt;            Input "Masukkan Nilai :",A(I)&lt;br /&gt;        Next I&lt;br /&gt;&lt;br /&gt;        Akan menanyakan kepada pemakai untuk mengisi elemen pertama s/d&lt;br /&gt;        elemen keduapuluh.&lt;br /&gt;&lt;br /&gt;        Contoh lain :&lt;br /&gt;&lt;br /&gt;        Total = 0&lt;br /&gt;        For I = 0 To 19 Step 1&lt;br /&gt;            Total = Total + A(I)     'A(0), A(1), ..., A(19)&lt;br /&gt;        Next I&lt;br /&gt;        Print "Total :",Total&lt;br /&gt;&lt;br /&gt;        Akan menjumlahkan nilai elemen pertama s/d elemen keduapuluh ke&lt;br /&gt;        variabel total.&lt;br /&gt;&lt;br /&gt;        Dalam Quick Basic, kita mengenal dua jenis variabel array, yakni&lt;br /&gt;        dynamic array dan static array. Static array dapat kita bentuk&lt;br /&gt;        tanpa perintah khusus, tetapi terbatas sampai nomor index ke 10&lt;br /&gt;        saja tanpa dipengaruhi jumlah dimensi.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        For I = 0 To 10 Step 1&lt;br /&gt;            Input "Masukkan Nilai :",B(I)&lt;br /&gt;        Next I&lt;br /&gt;        Total = 0&lt;br /&gt;        For I = 0 To 10 Step 1&lt;br /&gt;            Total = Total + B(I)&lt;br /&gt;        Next I&lt;br /&gt;        Print "Total :",Total&lt;br /&gt;&lt;br /&gt;        Program diatas dapat dijalankan tanpa kesalahan walaupun variabel&lt;br /&gt;        array B tidak dideklarasikan sebagai variabel array. Hal ini&lt;br /&gt;        karena kita menggunakan Static array yang otomatis disediakan&lt;br /&gt;        oleh Quick Basic, tetapi hanya terbatas sampai nomor index ke 10&lt;br /&gt;        saja.&lt;br /&gt;&lt;br /&gt;        Pada defaultnya index awal dari variabel array adalah dimulai&lt;br /&gt;        dari 0, tetapi hal ini bisa diubah dengan perintah OPTION BASE 1.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        OPTION BASE 1&lt;br /&gt;        DIM A(30)&lt;br /&gt;&lt;br /&gt;        For I = 1 To 30&lt;br /&gt;            Input "Masukkan Nilai :",A(I)&lt;br /&gt;        Next I&lt;br /&gt;&lt;br /&gt;        Index awal dari variabel array dapat juga ditentukan pada saat&lt;br /&gt;        deklarasi.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        DIM C(5 To 15)&lt;br /&gt;&lt;br /&gt;        For I = 5 To 15 Step 1&lt;br /&gt;            Input "Masukkan Nilai :",A(I)&lt;br /&gt;        Next I&lt;br /&gt;&lt;br /&gt;        Akan menghasilkan variabel array C, dengan elemen pertama&lt;br /&gt;        memiliki nomor index 5, dan elemen terakhir memiliki nomor index&lt;br /&gt;        15.&lt;br /&gt;&lt;br /&gt;        Anda dapat juga menggunakan fungsi LBound dan UBound untuk&lt;br /&gt;        mendapatkan index awal dan index akhir dari suatu array.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        DIM C(5 To 15)&lt;br /&gt;&lt;br /&gt;        For I = LBound(C) To UBound(C) Step 1&lt;br /&gt;            Input "Masukkan Nilai :",A(I)&lt;br /&gt;        Next I&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Static Array dan Dynamic Array&lt;br /&gt;&lt;br /&gt;        Pada QBasic, semua array yang dideklarasikan dengan numerik&lt;br /&gt;        adalah Static Array, dan array yang dideklarasikan dengan&lt;br /&gt;        variabel adalah Dynamic Array.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        DIM D(30)&lt;br /&gt;&lt;br /&gt;        D adalah variabel Static Array&lt;br /&gt;&lt;br /&gt;        E = 30&lt;br /&gt;        DIM F(E)&lt;br /&gt;&lt;br /&gt;        F adalah variabel Dynamic Array, karena jumlah elemennya&lt;br /&gt;        ditentukan dengan menggunakan variabel E, dalam hal ini 30.&lt;br /&gt;&lt;br /&gt;        Perbedaan Static Array dan Dynamic Array :&lt;br /&gt;        1. Memory Static Array dialokasikan oleh QBasic pada awal&lt;br /&gt;        eksekusi program dimulai, sedangkan Memory Dynamic Array&lt;br /&gt;        dialokasikan secara dinamis pada saat eksekusi program&lt;br /&gt;        berlangsung.&lt;br /&gt;        2. Static Array tidak dapat dideklarasi ulang, sedangkan Dynamic&lt;br /&gt;        Array dapat dideklarasikan ulang dengan perintah REDIM&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        DIM A(10)&lt;br /&gt;        REDIM A(20)&lt;br /&gt;&lt;br /&gt;        Akan terjadi kesalahan, karena variabel A adalah Static Array.&lt;br /&gt;&lt;br /&gt;        B = 10&lt;br /&gt;        DIM C(B)&lt;br /&gt;        REDIM C(30)&lt;br /&gt;&lt;br /&gt;        Tidak terjadi kesalahan.&lt;br /&gt;&lt;br /&gt;        Catatan : REDIM akan menghapus isi array, dan mendimensi ulang&lt;br /&gt;        jumlah elemennya.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        3. Static Array tidak dapat dihapus dari memory, sedangkan&lt;br /&gt;        Dynamic Array dapat dihapus dari memory dengan perintah ERASE.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        OPTION BASE 1&lt;br /&gt;        DIM A(3)&lt;br /&gt;        A(1) = 1&lt;br /&gt;        A(2) = 2&lt;br /&gt;        A(3) = 3&lt;br /&gt;&lt;br /&gt;        ERASE A&lt;br /&gt;&lt;br /&gt;        Print A(1)    ' akan tercetak 0&lt;br /&gt;        Print A(2)    ' akan tercetak 0&lt;br /&gt;        Print A(3)    ' akan tercetak 0&lt;br /&gt;&lt;br /&gt;        Karena perintah Erase hanya mereset isi variabel Static Array ke&lt;br /&gt;        0 (jenis numeric) atau "" (Null) (jenis string), sedangkan&lt;br /&gt;        Variabel dan dimensinya tetap dipertahankan.&lt;br /&gt;&lt;br /&gt;        Contoh Lain :&lt;br /&gt;&lt;br /&gt;        OPTION BASE 1&lt;br /&gt;        B = 3&lt;br /&gt;        DIM C(B)&lt;br /&gt;        C(1) = 1&lt;br /&gt;        C(2) = 2&lt;br /&gt;        C(3) = 3&lt;br /&gt;&lt;br /&gt;        ERASE C&lt;br /&gt;&lt;br /&gt;        Print C(1)     ' terjadi kesalahan subscript out of range&lt;br /&gt;&lt;br /&gt;        Karena variabel array C telah dihapus dari memory.&lt;br /&gt;&lt;br /&gt;        Variabel Array Multi Dimensi&lt;br /&gt;&lt;br /&gt;        Anda dapat membentuk variabel array 2 atau 3 dimensi dengan&lt;br /&gt;        perintah dim.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        DIM A(10,10)&lt;br /&gt;&lt;br /&gt;        Akan membentuk array 11 baris (0 s/d 10), 11 kolom (0 s/d 10)&lt;br /&gt;        (121 elemen)&lt;br /&gt;&lt;br /&gt;        Cara pemakaian array Multi Dimensi sama saja dengan array 1&lt;br /&gt;        dimensi yaitu perlu disebutkan nomor indexnya masing-masing.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        A(2,2) = 5&lt;br /&gt;&lt;br /&gt;        Akan mengisi nilai 5 ke elemen baris 3 kolom 3 dari Array dua&lt;br /&gt;        dimensi A. (ingat index dimulai dari 0, kecuali dengan pernyataan&lt;br /&gt;        OPTION BASE 1)&lt;br /&gt;&lt;br /&gt;        Bahan Latihan&lt;br /&gt;&lt;br /&gt;        1. Susun sebuah program  dengan  ketentuan berikut :&lt;br /&gt;           - program menanyakan jumlah data&lt;br /&gt;           - program menerima data sesuai dengan jumlah data satu persatu&lt;br /&gt;           - program mengurut data tersebut secara ascending&lt;br /&gt;           - program menghitung :&lt;br /&gt;             1. data terbesar&lt;br /&gt;             2. data terkecil&lt;br /&gt;             3. rata-rata&lt;br /&gt;             4. median&lt;br /&gt;&lt;br /&gt;        2. Buatlah program faktur sederhana dengan ketentuan :&lt;br /&gt;           - program menanyakan Tanggal dan Penjual&lt;br /&gt;           - program menanyakan&lt;br /&gt;             1. Jumlah&lt;br /&gt;             2. Satuan&lt;br /&gt;             3. Nama barang&lt;br /&gt;             secara berulang sampai jumlah yang dimasukkan 0 (nol)&lt;br /&gt;           - hasil menghasilkan tampilan faktur berikut :&lt;br /&gt;&lt;br /&gt;                               FAKTUR PENJUALAN&lt;br /&gt;&lt;br /&gt;           Tanggal : 01-Jan-1995&lt;br /&gt;           Penjual : Budianto&lt;br /&gt;           --------------------------------------------------------&lt;br /&gt;           No.  Jlh  Satuan  Nama Barang      Harga @      Jumlah&lt;br /&gt;           ========================================================&lt;br /&gt;            1.   30  Kotak   Diskette 3M    15,000.00   450,000.00&lt;br /&gt;            2.   10  Buah    Pita printer    7,000.00    70,000.00&lt;br /&gt;           ========================================================&lt;br /&gt;                                               Total :  520,000.00&lt;br /&gt;           --------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3515019263649678197-5477609438043616781?l=nursahid447.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nursahid447.blogspot.com/feeds/5477609438043616781/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3515019263649678197&amp;postID=5477609438043616781' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/5477609438043616781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/5477609438043616781'/><link rel='alternate' type='text/html' href='http://nursahid447.blogspot.com/2008/03/variabel-array.html' title='VARIABEL ARRAY'/><author><name>jana laksromde</name><uri>http://www.blogger.com/profile/16901278356943551005</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_SMFa6j3YAMo/R-ecRK2lFkI/AAAAAAAAAEA/leTBgzoxbCg/S220/th_Foto454-1-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3515019263649678197.post-7268431540203644051</id><published>2008-03-16T15:42:00.000+07:00</published><updated>2008-03-16T15:43:35.115+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pemrograman'/><title type='text'>FUNGSI BANTU BAWAAN</title><content type='html'>Fungsi bantu adalah fasilitas yang disediakan untuk membantu&lt;br /&gt;        programmer dalam mengembangkan program. Dengan adanya fungsi&lt;br /&gt;        bantu bawaan programmer tidak perlu mengembangkan program untuk&lt;br /&gt;        melakukan hal yang sama.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Pada Qbasic telah tersedia fungsi bantu Sinus yang &lt;br /&gt;&lt;span id="fullpost"&gt;dapat&lt;br /&gt;        digunakan untuk mendapatkan nilai sinus dari suatu sudut dalam&lt;br /&gt;        radian.&lt;br /&gt;&lt;br /&gt;        Dim B As Double&lt;br /&gt;        B = Sin(30 * 3.14/180)&lt;br /&gt;&lt;br /&gt;        Akan mengisi nilai sinus sudut 30 derajat ke variabel B&lt;br /&gt;&lt;br /&gt;        Tanpa mengunakan fungsi bantu Sinus, programmer dapat&lt;br /&gt;        mengembangkan program sendiri untuk melakukan hal yang sama,&lt;br /&gt;        tetapi hal ini tentu saja menuntut pengetahuan yang lebih&lt;br /&gt;        mendalam.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Dengan menggunakan Ekspansi Trigonometris, suatu nilai Sinus&lt;br /&gt;        dapat diturunkan.&lt;br /&gt;&lt;br /&gt;        DIM S AS DOUBLE&lt;br /&gt;        DIM Sinus AS DOUBLE&lt;br /&gt;        S = 30 * 3.14 / 180              ' Sudut 30 derajat dalam radian&lt;br /&gt;        F = 1&lt;br /&gt;        Tanda = 1&lt;br /&gt;        Sinus = S&lt;br /&gt;        FOR I = 2 TO 11&lt;br /&gt;            F = F * I                    ' Menghitung nilai faktorial&lt;br /&gt;            IF I MOD 2 = 1 THEN          ' Suku 3, 5, 7, 9, 11&lt;br /&gt;               Tanda = -Tanda            ' Tanda -1, 1, -1, 1, dst&lt;br /&gt;               Sinus = Sinus + (S ^ I / F * Tanda)&lt;br /&gt;            END IF&lt;br /&gt;        NEXT I&lt;br /&gt;        B = Sinus&lt;br /&gt;&lt;br /&gt;        Potongan program diatas akan menghasilkan nilai Sinus 30 derajat&lt;br /&gt;        ke variabel B.&lt;br /&gt;&lt;br /&gt;        Dengan menggunakan fungsi bantu bawaan yang telah tersedia&lt;br /&gt;        pekerjaan programmer akan lebih terfokus pada program yang akan&lt;br /&gt;        dikembangkan.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        FUNGSI BANTU STRING&lt;br /&gt;&lt;br /&gt;        LEFT$ (stringexpression,n)&lt;br /&gt;        Mengembalikan sejumlah karakter string dari suatu data string&lt;br /&gt;        dari sebelah kiri.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Print Left$("IndoProg",4)          ' Akan mencetak Indo&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        RIGHT$ (stringexpression,n)&lt;br /&gt;        Mengembalikan sejumlah karakter string dari suatu data string&lt;br /&gt;        dari sebelah kanan.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Print Right$("IndoProg",4)         ' Akan mencetak Prog&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        MID$(stringexpression,start[,length])&lt;br /&gt;        Mengembalikan sejumlah karakter string dari suatu string mulai&lt;br /&gt;        posisi tertentu.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Print Mid$("1234567890",3,4)       ' Akan mencetak 3456&lt;br /&gt;        Print Mid$("1234567890",3)         ' Akan mencetak 34567890&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        LTRIM$(stringexpression)&lt;br /&gt;        Mengembalikan string dengan menghilangkan spasi sebelah kiri.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        A$ = "   100"&lt;br /&gt;        B$ = LTRIM$(A$)&lt;br /&gt;        Print A$                           'Akan mencetak    100&lt;br /&gt;        Print B$                           'Akan mencetak 100&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        RTRIM$(stringexpression)&lt;br /&gt;        Mengembalikan string dengan menghilangkan spasi sebelah kanan.&lt;br /&gt;&lt;br /&gt;        INSTR([start,]stringexpression1,stringexpression2)&lt;br /&gt;        Mencari posisi suatu string pada string lain (0 jika tidak&lt;br /&gt;        ditemukan).&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Print INSTR("ABCD","B")            'Akan mencetak 2&lt;br /&gt;        Print INSTR(4,"ABCDABCD","A")      'Akan mencetak 5&lt;br /&gt;        Print INSTR("ABCD","a")            'Akan mencetak 0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        LCASE$(stringexpression)&lt;br /&gt;        Mengembalikan suatu string yang telah diubah ke huruf kecil.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Print LCase$("IndoProg")           'Akan mencetak indoprog&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        UCASE$(stringexpression)&lt;br /&gt;        Mengembalikan string yang telah dibuat huruf besar.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Print UCase$("IndoProg")           'Akan mencetak INDOPROG&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        SPACE$(n)&lt;br /&gt;        Mengembalikan string yang berisi sejumlah spasi.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Print Space$(30), "IndoProg"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        STRING$(m,n) atau STRING$(m,stringexpression)&lt;br /&gt;        Mengembalikan string yang mengandung sejumlah character yang&lt;br /&gt;        berulang.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Print String$(10,65)               ' Akan mencetak AAAAAAAAAA&lt;br /&gt;        Print String$(10,"A")              ' Akan mencetak AAAAAAAAAA&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        LEN(stringexpression)&lt;br /&gt;        Mengembalikan jumlah huruf suatu data string.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Print Len("Indonesia Programmer")  ' Akan mencetak 20&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        FUNGSI BANTU KONVERSI&lt;br /&gt;&lt;br /&gt;        STR$(numeric-expression)&lt;br /&gt;        Mengembalikan string dari suatu expresi numeric&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        A  = 100&lt;br /&gt;        B$ = Str$(A)                       'B berisi "100"&lt;br /&gt;&lt;br /&gt;        VAL(stringexpression)&lt;br /&gt;        Mengembalikan numeric dari suatu expresi string&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        B$ = "100"&lt;br /&gt;        A  = Val(B)                        'A berisi 100&lt;br /&gt;        C  = "IndoProg"&lt;br /&gt;        D  = Val(C)                        'D berisi 0&lt;br /&gt;&lt;br /&gt;        ASC(stringexpression)&lt;br /&gt;        Mengembalikan nilai ASCII dari suatu character.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Print Asc("A")                     'Akan mencetak 65&lt;br /&gt;&lt;br /&gt;        CHR$(n)&lt;br /&gt;        Mengembalikan character ASCII n.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Print Chr$(65)                     'Akan mencetak "A"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        FUNGSI BANTU ARITMATIKA&lt;br /&gt;&lt;br /&gt;        SIN(numeric-expression)&lt;br /&gt;        COS(numeric-expression)&lt;br /&gt;        TAN(numeric-expression)&lt;br /&gt;        ATN(numeric-expression)&lt;br /&gt;        Mengembalikan nilai trigonometri.&lt;br /&gt;        numeric-expression dinyatakan dalam radian (sudut*3.14/180).&lt;br /&gt;&lt;br /&gt;        Cukup jelas&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        EXP(numeric-expression)&lt;br /&gt;        Mengembalikan nilai exponential.&lt;br /&gt;&lt;br /&gt;        Cukup jelas&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        LOG(numeric-expression)&lt;br /&gt;        Mengembalikan nilai logaritma natural.&lt;br /&gt;&lt;br /&gt;        Cukup jelas&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        SQR(numeric-expression)&lt;br /&gt;        Mengembalikan nilai akar pangkat dua.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Print Sqr(9)                       'Akan mencetak 3&lt;br /&gt;&lt;br /&gt;        INT(numeric-expression)&lt;br /&gt;        Mengembalikan nilai bulat dari suatu desimal.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Print Int(3.5)                     'Akan mencetak 3&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        FUNGSI BANTU RANDOM&lt;br /&gt;&lt;br /&gt;        RANDOMIZE [integer-expression]&lt;br /&gt;        RANDOMIZE TIMER&lt;br /&gt;        Memberikan bibit kepada nilai random.&lt;br /&gt;&lt;br /&gt;        RND&lt;br /&gt;        Mengembalikan nilai pseudo random antara 0 s/d &lt; 1&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Randomize Timer&lt;br /&gt;        Print Int(RND*100)                 'Akan mencetak suatu bilangan&lt;br /&gt;                                           'random 0 s/d 99&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        FUNGSI BANTU WAKTU&lt;br /&gt;&lt;br /&gt;        DATE$&lt;br /&gt;        Mengembalikan tanggal system dalam string dengan format mm-dd-&lt;br /&gt;        yyyy.&lt;br /&gt;&lt;br /&gt;        TIME$&lt;br /&gt;        Mengembalikan waktu komputer dalam string dengan format hh:mm:ss.&lt;br /&gt;&lt;br /&gt;        TIMER&lt;br /&gt;        Mengembalikan jumlah detik sejak pukul 00:00:00&lt;br /&gt;        TIMER dapat digunakan pada perintah RANDOMIZE TIMER.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        'PROGRAM TEBAK ANGKA&lt;br /&gt;        CLS&lt;br /&gt;        RANDOMIZE TIMER :HASIL = INT(RND*100)+1&lt;br /&gt;        N = 0&lt;br /&gt;        DO&lt;br /&gt;          N = N + 1&lt;br /&gt;          INPUT "MASUKKAN TEBAKAN ANDA (1-100)";TEBAK&lt;br /&gt;          IF TEBAK &gt; HASIL THEN PRINT "TERLALU BESAR"&lt;br /&gt;          IF TEBAK &lt; HASIL THEN PRINT "TERLALU KECIL"&lt;br /&gt;        LOOP UNTIL HASIL=TEBAK&lt;br /&gt;        PRINT "TEBAKAN ANDA SEBANYAK ";N;" KALI"&lt;br /&gt;        END&lt;br /&gt;&lt;br /&gt;        Latihan :&lt;br /&gt;        1. Bandingkan hasil Sinus dengan fungsi bantu Sin dan Ekspansi&lt;br /&gt;        Trigonometris.&lt;br /&gt;&lt;br /&gt;        2. Buatlah program putar String "Indonesia Programmer" dari kiri&lt;br /&gt;        ke kanan.&lt;br /&gt;&lt;br /&gt;        3. Bagaimana kalau putar dari kanan ke kiri.&lt;br /&gt;&lt;br /&gt;        4. Cobalah program tebak angka, berapa kali anda mampu&lt;br /&gt;        selesai menebaknya?&lt;br /&gt;                  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3515019263649678197-7268431540203644051?l=nursahid447.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nursahid447.blogspot.com/feeds/7268431540203644051/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3515019263649678197&amp;postID=7268431540203644051' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/7268431540203644051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/7268431540203644051'/><link rel='alternate' type='text/html' href='http://nursahid447.blogspot.com/2008/03/fungsi-bantu-bawaan.html' title='FUNGSI BANTU BAWAAN'/><author><name>jana laksromde</name><uri>http://www.blogger.com/profile/16901278356943551005</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_SMFa6j3YAMo/R-ecRK2lFkI/AAAAAAAAAEA/leTBgzoxbCg/S220/th_Foto454-1-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3515019263649678197.post-3802539813493263360</id><published>2008-03-16T15:40:00.000+07:00</published><updated>2008-03-16T15:41:54.836+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pemrograman'/><title type='text'>FUNGSI CIPTAAN DAN SUB RUTIN</title><content type='html'>Fungsi Ciptaan&lt;br /&gt;        Fungsi-fungsi bawaan yang disediakan oleh QBasic adalah bersifat&lt;br /&gt;        umum, sehingga kadang-kadang programmer harus membuat fungsi&lt;br /&gt;        sendiri sesuai dengan kebutuhannya.&lt;br /&gt;&lt;br /&gt;        Misalnya :&lt;br /&gt;        Dalam mengembangkan program keuangan, seorang programmer akan&lt;br /&gt;&lt;span id="fullpost"&gt;banyak membutuhkan fungsi-fungsi Time Value of Money seperti&lt;br /&gt;        Present Value, Future Value, Depresiasi dll.&lt;br /&gt;&lt;br /&gt;        QBasic menyediakan fasilitas bagi programmer yang ingin&lt;br /&gt;        mengembangkan fungsi ciptaannya sendiri. Adapun tata cara&lt;br /&gt;        penulisannya adalah sebagai berikut :&lt;br /&gt;&lt;br /&gt;        FUNCTION namafungsi[(parameterlist)] [STATIC]&lt;br /&gt;            [statementblock]&lt;br /&gt;            namafungsi = expression&lt;br /&gt;            [statementblock]&lt;br /&gt;        END FUNCTION&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        type data yang dikembalikan ditentukan oleh akhiran pada nama&lt;br /&gt;        tersebut(%, &amp;, !, #, atau $) yang masing-masing adalah INTEGER,&lt;br /&gt;        LONG, SINGLE, DOUBLE dan STRING.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        FUNCTION SLN#(cost AS double, salvage AS double, life AS single)&lt;br /&gt;           SLN# = (cost-salvage)/life&lt;br /&gt;        END FUNCTION&lt;br /&gt;&lt;br /&gt;        Fungsi diatas adalah fungsi ciptaan untuk menghitung depresiasi&lt;br /&gt;        dengan metode garis lulus.&lt;br /&gt;&lt;br /&gt;        Contoh Lain :&lt;br /&gt;&lt;br /&gt;        FUNCTION FV#(pv AS double, rate AS single, term AS integer)&lt;br /&gt;           Dim npv as double, i as integer&lt;br /&gt;           npv = pv&lt;br /&gt;           FOR i = 1 TO term STEP 1&lt;br /&gt;               npv = npv + npv*rate        'nilai akhir = pokok + bunga&lt;br /&gt;           NEXT i&lt;br /&gt;           FV# = npv&lt;br /&gt;        END FUNCTION&lt;br /&gt;&lt;br /&gt;        atau dengan rumus pertumbuhan&lt;br /&gt;&lt;br /&gt;        FUNCTION FV#(pv AS double, rate AS single, term AS integer)&lt;br /&gt;           FV# = np*(1+rate)^term&lt;br /&gt;        END FUNCTION&lt;br /&gt;&lt;br /&gt;        Fungsi diatas adalah fungsi ciptaan untuk menghitung Future Value&lt;br /&gt;        dari suatu nilai uang, jika diketahui suku bunga per periode dan&lt;br /&gt;        jumlah periode yang diinginkan.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Misalnya anda memiliki uang Rp. 1.000.000 (satu juta), anda&lt;br /&gt;        menyimpannya ke Bank dengan suku bunga 10% per tahun, berapa uang&lt;br /&gt;        anda setelah disimpan 3 tahun ?&lt;br /&gt;&lt;br /&gt;        Catatan :&lt;br /&gt;        Pada Qbasic, fungsi ciptaan disimpan pada lokasi yang berlainnan&lt;br /&gt;        dengan program utama, untuk beralih ke program utama maupun&lt;br /&gt;        fungsi ciptaan anda dapat menggunakan tombol F2&lt;br /&gt;&lt;br /&gt;        Anda dapat menggunakan perintah EXIT FUNCTION untuk keluar dari&lt;br /&gt;        fungsi.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        FUNCTION PRIMA! (bilangan AS LONG)&lt;br /&gt;        DIM i AS INTEGER&lt;br /&gt;        IF bilangan &lt; 2 THEN&lt;br /&gt;           PRIMA! = 0                    'semua bilangan &lt; 2 bukan prima&lt;br /&gt;        ELSEIF bilangan &lt; 4 THEN&lt;br /&gt;           PRIMA! = 1                    'bilangan 2 dan 3 adalah prima&lt;br /&gt;        ELSE&lt;br /&gt;           i = 2                         'bagi bilangan tersebut mulai&lt;br /&gt;           DO WHILE i &lt;= SQR(bilangan)   'dari 2 s/d Akar dari bilangan&lt;br /&gt;               IF (bilangan MOD i) = 0 THEN&lt;br /&gt;                  PRIMA! = 0             'jika habis dibagi, bukan prima&lt;br /&gt;                  EXIT FUNCTION&lt;br /&gt;               END IF&lt;br /&gt;               i = i + 1&lt;br /&gt;           LOOP&lt;br /&gt;           PRIMA! = 1                    'jika tidak habis dibagi, prima&lt;br /&gt;        END IF&lt;br /&gt;        END FUNCTION&lt;br /&gt;&lt;br /&gt;        Menggunakan Fungsi Ciptaan&lt;br /&gt;&lt;br /&gt;        Cara menggunakan fungsi ciptaan sama saja dengan fungsi bawaan,&lt;br /&gt;        contoh :&lt;br /&gt;&lt;br /&gt;        DIM I AS LONG&lt;br /&gt;        FOR I = 1 To 30&lt;br /&gt;            If PRIMA!(I) = 1 Then&lt;br /&gt;               Print I&lt;br /&gt;            End If&lt;br /&gt;        NEXT I&lt;br /&gt;&lt;br /&gt;        Akan mencetak bilangan prima antara 1 s/d 30&lt;br /&gt;&lt;br /&gt;        Sub Rutin&lt;br /&gt;&lt;br /&gt;        Sub Rutin merupakan sebagian dari program. Adapun keuntungan dari&lt;br /&gt;        pembentukan adalah menghindari pengetikan yang berulang-ulang&lt;br /&gt;        terhadap bagian program yang sama, dan membuat program lebih&lt;br /&gt;        terstruktur.&lt;br /&gt;&lt;br /&gt;        Pada QBasic tata cara penulisan Sub Rutin adalah sebagai berikut:&lt;br /&gt;&lt;br /&gt;        SUB namasub [(Parameterlist)] [STATIC]&lt;br /&gt;          [statementblock]&lt;br /&gt;        END SUB&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Sub KOTAK(Y1%,X1%,Y2%,X2%)&lt;br /&gt;            posisiX% = POS(0)             'Simpan posisi kursor sekarang&lt;br /&gt;            posisiY% = CRSLIN&lt;br /&gt;            LOCATE Y1%,X1%&lt;br /&gt;            PRINT Chr$(218);String$(X2-X1-2,196);Chr$(191)&lt;br /&gt;            FOR I%=Y1% TO Y2% STEP 1&lt;br /&gt;                LOCATE I%,X1% : PRINT Chr$(179)&lt;br /&gt;                LOCATE I%,X2% : PRINT Chr$(179)&lt;br /&gt;            NEXT I%&lt;br /&gt;            LOCATE Y2%,X1%&lt;br /&gt;            PRINT Chr$(192);String$(X2-X1-2,196);Chr$(217)&lt;br /&gt;            LOCATE POSISIY%,POSISIX%&lt;br /&gt;        END SUB&lt;br /&gt;&lt;br /&gt;        Sub diatas akan mengambar suatu kotak ASCII single berdasarkan&lt;br /&gt;        koordinat yang diberikan.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        CALL KOTAK(5,10,20,70)&lt;br /&gt;&lt;br /&gt;        pengiriman argumen pada Sub Procedure terdapat dua cara antara&lt;br /&gt;        lain :&lt;br /&gt;        1. Secara referensi&lt;br /&gt;        Argumen yang diberikan dengan cara ini kepada procedure dan&lt;br /&gt;        diolah, kemudian hasil akhirnya akan didefinisikan pada variabel&lt;br /&gt;        tersebut pada main program.&lt;br /&gt;        2. Dengan Value/Nilai&lt;br /&gt;        Argumen ini hanya berupa nilai yang dipergunakan oleh procedure&lt;br /&gt;        pada saat pengolahan.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        SUB contoh(A as INTEGER)&lt;br /&gt;            A = 10&lt;br /&gt;        END SUB&lt;br /&gt;&lt;br /&gt;        Pengiriman argumen secara Referensi :&lt;br /&gt;&lt;br /&gt;        DIM Nilai As INTEGER&lt;br /&gt;        Nilai = 1&lt;br /&gt;        Call contoh(Nilai)            ' Call&lt;br /&gt;        Print Nilai                   ' Akan tercetak 10&lt;br /&gt;&lt;br /&gt;        Pengiriman argumen secara Value :&lt;br /&gt;&lt;br /&gt;        DIM Nilai As INTEGER&lt;br /&gt;        Nilai = 1&lt;br /&gt;        contoh(Nilai)                 ' Tanpa Call&lt;br /&gt;        Print Nilai                   ' Akan tercetak 1&lt;br /&gt;&lt;br /&gt;        ----------------------------------------------------------------&lt;br /&gt;        Jadi anda perlu berhati-hati dalam pemakaian Variabel yang&lt;br /&gt;        digunakan sebagai parameter pada saat pemanggilan SUB RUTIN.&lt;br /&gt;        ----------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;        static, menyatakan nilai variabel local dalam function tidak&lt;br /&gt;        dibuang ketika fungsi atau sub berakhir.&lt;br /&gt;&lt;br /&gt;        Dalam QBasic anda dapat menentukan tingkatan/sifat variabel yang&lt;br /&gt;        mengatur dimana variabel itu digunakan(level of access). Inilah&lt;br /&gt;        tingkatan tersebut :&lt;br /&gt;&lt;br /&gt;        1. Variabel Local, hanya bisa digunakan pada Sub Procedure atau&lt;br /&gt;        function tersebut telah selesai dikerjakan, maka variabel lokal&lt;br /&gt;        tersebut dibuang dari memory dan tidak lagi dipergunakan oleh&lt;br /&gt;        bagian program lain.&lt;br /&gt;&lt;br /&gt;        2. Variabel Shared, atau variabel global bisa digunakan pada&lt;br /&gt;        seluruh bagian program maupun Sub Procedure tertentu. Nilai&lt;br /&gt;        variabel ini dapat berubah selama program tersebut berjalan.&lt;br /&gt;&lt;br /&gt;        3. Variabel Static, adalah variabel local, tetapi variabel ini&lt;br /&gt;        nilainya tetap dipertahankan sampai pemanggilan berikutnya.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Latihan :&lt;br /&gt;        1. Buatlah fungsi ciptaan terbilang, contoh 1250 akan dibaca&lt;br /&gt;        sebagai "Seribu Duaratus limapuluh".&lt;br /&gt;&lt;br /&gt;        2. Buatlah sub kotak double.&lt;br /&gt;&lt;br /&gt;        Bilang.Bas&lt;br /&gt;&lt;br /&gt;        DECLARE FUNCTION angka$ (x AS INTEGER, posisi AS INTEGER)&lt;br /&gt;        DECLARE FUNCTION ratus$ (x AS INTEGER, posisi AS INTEGER)&lt;br /&gt;        DECLARE FUNCTION terbilang$ (x AS LONG)&lt;br /&gt;&lt;br /&gt;        PRINT terbilang$(1234567890)&lt;br /&gt;&lt;br /&gt;        FUNCTION angka$ (x AS INTEGER, posisi AS INTEGER)&lt;br /&gt;        SELECT CASE x&lt;br /&gt;               CASE 0: angka$ = "Nol"&lt;br /&gt;               CASE 1:&lt;br /&gt;                       IF posisi = 1 THEN&lt;br /&gt;                          angka$ = "Satu"  'Posisi paling akhir dibaca&lt;br /&gt;                       ELSE                'Satu&lt;br /&gt;                          angka$ = "Se"&lt;br /&gt;                       END IF&lt;br /&gt;               CASE 2: angka$ = "Dua"&lt;br /&gt;               CASE 3: angka$ = "Tiga"&lt;br /&gt;               CASE 4: angka$ = "Empat"&lt;br /&gt;               CASE 5: angka$ = "Lima"&lt;br /&gt;               CASE 6: angka$ = "Enam"&lt;br /&gt;               CASE 7: angka$ = "Tujuh"&lt;br /&gt;               CASE 8: angka$ = "Delapan"&lt;br /&gt;               CASE 9: angka$ = "Sembilan"&lt;br /&gt;               CASE 10: angka$ = "Sepuluh"&lt;br /&gt;               CASE 11: angka$ = "Sebelas"&lt;br /&gt;               CASE 12: angka$ = "Duabelas"&lt;br /&gt;               CASE 13: angka$ = "Tigabelas"&lt;br /&gt;               CASE 14: angka$ = "Empatbelas"&lt;br /&gt;               CASE 15: angka$ = "Limabelas"&lt;br /&gt;               CASE 16: angka$ = "Enambelas"&lt;br /&gt;               CASE 17: angka$ = "Tujuhbelas"&lt;br /&gt;               CASE 18: angka$ = "Delapanbelas"&lt;br /&gt;               CASE 19: angka$ = "Sembilanbelas"&lt;br /&gt;        END SELECT&lt;br /&gt;        END FUNCTION&lt;br /&gt;&lt;br /&gt;        FUNCTION ratus$ (x AS INTEGER, posisi AS INTEGER)&lt;br /&gt;        DIM a100 AS INTEGER, a10 AS INTEGER, a1 AS INTEGER&lt;br /&gt;        DIM baca AS STRING&lt;br /&gt;        a100 = x \ 100                     'Ambil angka ratusan&lt;br /&gt;        a10 = (x MOD 100) \ 10             'Ambil angka puluhan&lt;br /&gt;        a1 = x MOD 10                      'Ambil angka satuan&lt;br /&gt;        IF a100 &gt; 0 THEN&lt;br /&gt;           baca = angka$(a100, posisi) + "ratus"&lt;br /&gt;        END IF&lt;br /&gt;        IF a10 = 1 THEN                    'Sepuluh s/d Sembilanbelas&lt;br /&gt;           baca = baca + angka$(a10 * 10 + a1, posisi)&lt;br /&gt;        ELSE&lt;br /&gt;           IF a10 &gt; 0 THEN                 'Duapuluh s/d Sembilanpuluh&lt;br /&gt;              baca = baca + angka$(a10, posisi) + "puluh"&lt;br /&gt;           END IF&lt;br /&gt;           IF a1 &gt; 0 THEN                  'Satu s/d Sembilan&lt;br /&gt;              baca = baca + angka$(a1, posisi)&lt;br /&gt;           END IF&lt;br /&gt;        END IF&lt;br /&gt;        ratus$ = baca&lt;br /&gt;        END FUNCTION&lt;br /&gt;&lt;br /&gt;        FUNCTION terbilang$ (x AS LONG)&lt;br /&gt;        DIM milyar AS INTEGER, juta AS INTEGER, ribu AS INTEGER, satu AS&lt;br /&gt;        INTEGER&lt;br /&gt;        DIM baca AS STRING&lt;br /&gt;        IF x = 0 THEN                      'Jika x = Nol&lt;br /&gt;           baca$ = angka$(0, 1)            'Dibaca Nol&lt;br /&gt;        ELSE&lt;br /&gt;           milyar = x \ 1E+09              'Ambil bagian ratusan milyar&lt;br /&gt;           juta = (x MOD 1E+09) \ 1000000  'Ambil bagian ratusan juta&lt;br /&gt;           ribu = (x MOD 1000000) \ 1000   'Ambil bagian ratusan ribu&lt;br /&gt;           satu = x MOD 1000               'Ambil bagian ratusan&lt;br /&gt;           IF milyar &gt; 0 THEN&lt;br /&gt;              baca = ratus$(milyar, 4) + "milyar"&lt;br /&gt;           END IF&lt;br /&gt;           IF juta &gt; 0 THEN&lt;br /&gt;              baca = baca + ratus$(juta, 3) + "juta"&lt;br /&gt;           END IF&lt;br /&gt;           IF ribu &gt; 0 THEN&lt;br /&gt;              baca = baca + ratus$(ribu, 2) + "ribu"&lt;br /&gt;           END IF&lt;br /&gt;           IF satu &gt; 0 THEN&lt;br /&gt;              baca = baca + ratus$(satu, 1)&lt;br /&gt;           END IF&lt;br /&gt;&lt;br /&gt;        END IF&lt;br /&gt;        terbilang$ = baca&lt;br /&gt;        END FUNCTION&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3515019263649678197-3802539813493263360?l=nursahid447.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nursahid447.blogspot.com/feeds/3802539813493263360/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3515019263649678197&amp;postID=3802539813493263360' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/3802539813493263360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/3802539813493263360'/><link rel='alternate' type='text/html' href='http://nursahid447.blogspot.com/2008/03/fungsi-ciptaan-dan-sub-rutin.html' title='FUNGSI CIPTAAN DAN SUB RUTIN'/><author><name>jana laksromde</name><uri>http://www.blogger.com/profile/16901278356943551005</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_SMFa6j3YAMo/R-ecRK2lFkI/AAAAAAAAAEA/leTBgzoxbCg/S220/th_Foto454-1-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3515019263649678197.post-1362137753550037967</id><published>2008-03-16T15:39:00.000+07:00</published><updated>2008-03-16T15:40:38.618+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pemrograman'/><title type='text'>TYPE DATA RECORD</title><content type='html'>Record Type merupakan type ciptaan yang dibuat oleh pemakai&lt;br /&gt;        sesuai dengan tuntutan program. Record Type merupakan type&lt;br /&gt;        variabel yang terdiri dari kumpulan type-type standar Quick&lt;br /&gt;        Basic.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Mendeklarasikan suatu Record Type&lt;br /&gt;&lt;br /&gt;        Pada QBasic Record Type dapat dideklarasikan dengan &lt;br /&gt;&lt;span id="fullpost"&gt;penulisan&lt;br /&gt;        berikut :&lt;br /&gt;&lt;br /&gt;        Syntax :&lt;br /&gt;        Type nama&lt;br /&gt;             &lt;nama elemen 1&gt; AS &lt;typedata&gt;&lt;br /&gt;             &lt;nama elemen 2&gt; AS &lt;typedata&gt;&lt;br /&gt;             ...&lt;br /&gt;        End Type&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        Type PESERTA&lt;br /&gt;             Nomor AS String*10&lt;br /&gt;             Nama  AS String*20&lt;br /&gt;             Email AS String*30&lt;br /&gt;             Umur  AS Integer&lt;br /&gt;        End Type&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Mendeklarasikan type data PESERTA yang merupakan kumpulan dari&lt;br /&gt;        data Nomor, Nama, Email, dan Umur.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Mendeklarasikan Variabel Record Type&lt;br /&gt;&lt;br /&gt;        Untuk mendeklarasikan variabel berdasarkan Record Type tertentu&lt;br /&gt;        dengan menggunakan perintah DIM.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        Dim DataPeserta As PESERTA&lt;br /&gt;&lt;br /&gt;        Mendeklarasikan variabel DataPeserta yang memiliki type PESERTA,&lt;br /&gt;        sehingga variabel DataPeserta memiliki komponen Nomor, Nama,&lt;br /&gt;        Email dan Umur.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Menggunakan Variabel Record Type&lt;br /&gt;&lt;br /&gt;        Pemakaian variabel Record Type sama saja dengan variabel biasa,&lt;br /&gt;        dan kita juga dapat menyatakan masing-masing komponennya.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        Dim Peserta1 As PESERTA&lt;br /&gt;        Dim Peserta2 As PESERTA&lt;br /&gt;        Dim Temp     As PESERTA&lt;br /&gt;&lt;br /&gt;        Peserta1.Nomor = 9224                   'komponen Nomor&lt;br /&gt;        Peserta1.Nama  = "Hendra"               'komponen Nama&lt;br /&gt;        Peserta1.Email = "hendra@indoprog.com"  'Komponen Email&lt;br /&gt;        Peserta1.Umur  = 27                     'Komponen Umur&lt;br /&gt;&lt;br /&gt;        Peserta2.Nomor = 9241                   'komponen Nomor&lt;br /&gt;        Peserta2.Nama  = "Limada"               'komponen Nama&lt;br /&gt;        Peserta2.Email = "limada@hsbc.com"      'Komponen Email&lt;br /&gt;        Peserta2.Umur  = 26                     'Komponen Umur&lt;br /&gt;&lt;br /&gt;        Record Type banyak digunakan dalam pengolahan data, dan random&lt;br /&gt;        file karena menawarkan fleksibilitas dan kemudahan dalam&lt;br /&gt;        pemakaiannya.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        Temp = Peserta1&lt;br /&gt;        Peserta1 = Peserta2&lt;br /&gt;        Peserta2 = Temp&lt;br /&gt;&lt;br /&gt;        atau&lt;br /&gt;&lt;br /&gt;        SWAP Peserta1, Peserta2&lt;br /&gt;&lt;br /&gt;        Menukar data Peserta1 dengan Peserta2 dan sebaliknya, tanpa perlu&lt;br /&gt;        menyebutkan sub komponennya. Dapatkah saudara bayangkan kalau hal&lt;br /&gt;        tersebut tidak menggunakan Record Type ?&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        'Program isi data siswa dan sortir&lt;br /&gt;&lt;br /&gt;        'DEKLARASI RECORD TYPE SISWA&lt;br /&gt;        Type SISWA&lt;br /&gt;             NOINDUK AS STRING * 10&lt;br /&gt;             NAMA    AS STRING * 15&lt;br /&gt;             TEORI   AS SINGLE&lt;br /&gt;             PRAKTEK AS SINGLE&lt;br /&gt;             RATA    AS SINGLE&lt;br /&gt;        End Type&lt;br /&gt;&lt;br /&gt;        Input "Masukkan jumlah siswa ";JS&lt;br /&gt;&lt;br /&gt;        Dim DSiswa(JS) AS SISWA           'Deklarasi Array DSiswa&lt;br /&gt;                                          'berdasarkan Record Type SISWA&lt;br /&gt;        'MENGISI DATA&lt;br /&gt;        For I = 1 TO JS STEP 1&lt;br /&gt;            Print "RECORD KE -";I&lt;br /&gt;            Input "NO.INDUK  :",DSISWA(I).NOINDUK&lt;br /&gt;            Input "NAMA      :",DSISWA(I).NAMA&lt;br /&gt;            Input "TEORI     :",DSISWA(I).TEORI&lt;br /&gt;            Input "PRAKTEK   :",DSISWA(I).PRAKTEK&lt;br /&gt;            DSISWA(I).RATA = (DSISWA(I).TEORI+DSISWA(I).PRAKTEK)/2&lt;br /&gt;        NEXT I&lt;br /&gt;&lt;br /&gt;        'MENGURUT DATA BERDASARKAN NILAI RATA-RATA&lt;br /&gt;        For I = (JS-1) TO 1 STEP -1&lt;br /&gt;            Sempurna = 1&lt;br /&gt;            For J = 1 TO I&lt;br /&gt;               If DSISWA(J).RATA &lt; DSISWA(J+1).RATA THEN&lt;br /&gt;                  SWAP DSISWA(J),DSISWA(J+1)&lt;br /&gt;                  Sempurna = 0&lt;br /&gt;               End If&lt;br /&gt;            Next J&lt;br /&gt;            If Sempurna = 1&lt;br /&gt;               I = 0&lt;br /&gt;            End If&lt;br /&gt;        Next I&lt;br /&gt;&lt;br /&gt;        CLS&lt;br /&gt;        Print "                       HASIL UJIAN SISWA"&lt;br /&gt;        Print "                   BASIC PROGRAMMING MEI 2001"&lt;br /&gt;        Print&lt;br /&gt;        Print "-------------------------------------------------------------------"&lt;br /&gt;        Print "NO.INDUK   NAMA            TEORI     PRAKTEK   RATA-RATA   LULUS   "&lt;br /&gt;        Print "-------------------------------------------------------------------"&lt;br /&gt;        POLA$="\        \ \             \ ###.##    ###.##    ###.##      \     \ "&lt;br /&gt;&lt;br /&gt;        VIEW PRINT 4 TO 23&lt;br /&gt;&lt;br /&gt;        For I = 1 TO JS&lt;br /&gt;            IF DSISWA(I).RATA &lt; 60 THEN LULUS$="TIDAK" ELSE LULUS$ = "YA"&lt;br /&gt;            PRINT USING POLA$;DSISWA(I).NOINDUK;DSISWA(I).NAMA;DSISWA(I).TEORI;&lt;br /&gt;                              DSISWA(I).PRAKTEK;DSISWA(I).RATA;LULUS$&lt;br /&gt;        Next I&lt;br /&gt;&lt;br /&gt;        END&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3515019263649678197-1362137753550037967?l=nursahid447.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nursahid447.blogspot.com/feeds/1362137753550037967/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3515019263649678197&amp;postID=1362137753550037967' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/1362137753550037967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/1362137753550037967'/><link rel='alternate' type='text/html' href='http://nursahid447.blogspot.com/2008/03/type-data-record.html' title='TYPE DATA RECORD'/><author><name>jana laksromde</name><uri>http://www.blogger.com/profile/16901278356943551005</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_SMFa6j3YAMo/R-ecRK2lFkI/AAAAAAAAAEA/leTBgzoxbCg/S220/th_Foto454-1-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3515019263649678197.post-8685511311341604786</id><published>2008-03-16T15:37:00.000+07:00</published><updated>2008-03-16T15:39:00.731+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pemrograman'/><title type='text'>PENGOLAHAN SEQUENTIAL FILE</title><content type='html'>File merupakan fasilitas penyimpanan data pada external storage&lt;br /&gt;        yang bersifat permanen, jika dibandingkan dengan penyimpanan ke&lt;br /&gt;        RAM yang sifatnya sementara. Dengan pemakaian file kita dapat&lt;br /&gt;        menghemat pemakaian RAM komputer yang memiliki jumlah yang&lt;br /&gt;        terbatas serta dapat melakukan dokumentasi &lt;br /&gt;&lt;span id="fullpost"&gt;untuk jangka waktu&lt;br /&gt;        yang panjang.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Pada QBasic pengolahan file dapat dibagi atas tiga jenis, yaitu :&lt;br /&gt;        1. SEQUENTIAL FILE&lt;br /&gt;        2. RANDOM FILE&lt;br /&gt;        3. BINARY FILE&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Pada Sequential file (file urut) proses pengolahannya dilakukan&lt;br /&gt;        secara linier dari awal sampai akhir, tanpa bisa kembali kebagian&lt;br /&gt;        sebelumnya, kecuali proses dimulai lagi dari awal. Jadi dalam&lt;br /&gt;        pengolahan datanya bersifat first in first out, artinya pembacaan&lt;br /&gt;        data dari file ini harus dimulai dari data yang paling awal.&lt;br /&gt;&lt;br /&gt;        Pada umumnya pengolahan data yang menggunakan file sebagai media&lt;br /&gt;        INPUT maupun OUTPUT memiliki tiga tahap, yaitu :&lt;br /&gt;        1. Tahap membuka file (OPEN)&lt;br /&gt;        2. Tahap memproses (INPUT/OUTPUT)&lt;br /&gt;        3. Dan yang terakhir adalah tahap menutup file (CLOSE)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Membuka File SEQUENTIAL&lt;br /&gt;&lt;br /&gt;        Untuk membuka file sequential yang akan diproses dapat digunakan&lt;br /&gt;        penulisan sebagai berikut :&lt;br /&gt;&lt;br /&gt;        Syntax :&lt;br /&gt;        Open filename [FOR mode]  AS [#]filenum&lt;br /&gt;&lt;br /&gt;        dimana mode terdiri dari :&lt;br /&gt;        INPUT,  membuka file untuk proses INPUT&lt;br /&gt;        OUTPUT, membuka file baru untuk proses OUTPUT&lt;br /&gt;        APPEND, membuka file untuk untuk proses OUTPUT dimana data baru&lt;br /&gt;        ditambahkan pada bagian akhir.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        Open "Siswa.Dat" For Append AS #1&lt;br /&gt;&lt;br /&gt;        Akan membuka Siswa.Dat sebagai OUPUT dimana data baru ditambahkan&lt;br /&gt;        pada bagian akhir. Jika file Siswa.Dat belum ada, maka akan&lt;br /&gt;        dibuat yang baru.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Proses INPUT/OUTPUT&lt;br /&gt;&lt;br /&gt;        Perintah proses INPUT/OUTPUT pada sequential file sangat&lt;br /&gt;        tergantung kepada bentuk perlakuan terhadap data. Untuk penulisan&lt;br /&gt;        yang berorientasi pada baris, anda dapat menggunakan perintah&lt;br /&gt;        PRINT, dan pembacaanya dapat menggunakan LINEINPUT. Penulisan&lt;br /&gt;        yang berorientasi kepada data, anda dapat menggunakan perintah&lt;br /&gt;        WRITE dan INPUT untuk proses pembacaannya.&lt;br /&gt;&lt;br /&gt;        Syntax :&lt;br /&gt;        PRINT #filenumber,[USING stringexpressin;]expression list&lt;br /&gt;        WRITE #filenumber[,expressionlist]&lt;br /&gt;        INPUT #filenumber, variablelist&lt;br /&gt;        LINEINPUT #filenumber, variable-string&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        Write #1, "920403024","Hendra",80,90&lt;br /&gt;&lt;br /&gt;        menulis ke file nomor 1, dan data dapat dibaca kembali dengan&lt;br /&gt;        perintah :&lt;br /&gt;&lt;br /&gt;        Input #1,Nim$,Nama$,Teori,Praktek&lt;br /&gt;&lt;br /&gt;        Catatan :&lt;br /&gt;        Anda dapat menggunakan fungsi bantu EOF(filenumber) untuk&lt;br /&gt;        memeriksa apakah berada diposisi akhir file.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Proses CLOSE&lt;br /&gt;&lt;br /&gt;        Untuk menutup file dapat digunakan perintah CLOSE.&lt;br /&gt;&lt;br /&gt;        Syntax :&lt;br /&gt;        CLOSE #filenumber&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;        CLOSE #1&lt;br /&gt;&lt;br /&gt;        menutup file nomor 1.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        'PROGRAM MENGISI DATA KE FILE SISWA.DAT&lt;br /&gt;        OPEN "SISWA.DAT" FOR APPEND AS #1&lt;br /&gt;        DO&lt;br /&gt;            PRINT "DATA SISWA KE -";I&lt;br /&gt;            INPUT "NO.INDUK  :",NOINDUK$&lt;br /&gt;            IF NOINDUK$ &lt;&gt; "" THEN&lt;br /&gt;               INPUT "NAMA      :",NAMA$&lt;br /&gt;               INPUT "TEORI     :",TEORI&lt;br /&gt;               INPUT "PRAKTEK   :",PRAKTEK&lt;br /&gt;               WRITE #1,NOINDUK$,NAMA$,TEORI&lt;br /&gt;            ENDIF&lt;br /&gt;        LOOP UNTIL NOINDUK$ = ""&lt;br /&gt;        CLOSE #1&lt;br /&gt;        END&lt;br /&gt;&lt;br /&gt;        'PROGRAM BACA DATA DARI SISWA.DAT DAN MENCETAK KE LAYAR&lt;br /&gt;        CLS&lt;br /&gt;        OPEN "SISWA.DAT" FOR INPUT AS #1&lt;br /&gt;        PRINT "-------------------------------------------------------------------"&lt;br /&gt;        PRINT "NO.INDUK   NAMA            TEORI     PRAKTEK   RATA-RATA   LULUS   "&lt;br /&gt;        PRINT "-------------------------------------------------------------------"&lt;br /&gt;        POLA$="\        \ \             \ ###.##    ###.##    ###.##      \     \ "&lt;br /&gt;        VIEW PRINT 4 TO 23&lt;br /&gt;        WHILE NOT EOF(1)&lt;br /&gt;            INPUT #1, NO_INDUK$,NAMA$,TEORI,PRAKTEK&lt;br /&gt;            RATA = (TEORI+PRAKTEK)/2&lt;br /&gt;            IF RATA &lt; 60 THEN&lt;br /&gt;               LULUS$="TIDAK"&lt;br /&gt;            ELSE&lt;br /&gt;               LULUS$ = "YA"&lt;br /&gt;            ENDIF&lt;br /&gt;            PRINT USING POLA$;NO_INDUK$;NAMA$;TEORI;PRAKTEK;RATA;LULUS$&lt;br /&gt;        WEND&lt;br /&gt;        CLOSE #1&lt;br /&gt;        END&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3515019263649678197-8685511311341604786?l=nursahid447.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nursahid447.blogspot.com/feeds/8685511311341604786/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3515019263649678197&amp;postID=8685511311341604786' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/8685511311341604786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/8685511311341604786'/><link rel='alternate' type='text/html' href='http://nursahid447.blogspot.com/2008/03/pengolahan-sequential-file.html' title='PENGOLAHAN SEQUENTIAL FILE'/><author><name>jana laksromde</name><uri>http://www.blogger.com/profile/16901278356943551005</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_SMFa6j3YAMo/R-ecRK2lFkI/AAAAAAAAAEA/leTBgzoxbCg/S220/th_Foto454-1-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3515019263649678197.post-6971219966709639955</id><published>2008-03-16T15:36:00.000+07:00</published><updated>2008-03-16T15:37:30.047+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pemrograman'/><title type='text'>PENGOLAHAN FILE ACAK</title><content type='html'>Pada file sequential pengolahan datanya bersifat FIFO, tetapi&lt;br /&gt;        dalam pengolahan data kadang-kadang diperlukan proses pengolahan&lt;br /&gt;        yang sifatnya acak sehingga pengolahannya dapat dilakukan dengan&lt;br /&gt;        cepat dan sederhana.&lt;br /&gt;&lt;br /&gt;        File sequential banyak digunakan pada ekspor/impor data antar&lt;br /&gt;        sistem dimana format pada sistem yang satu tidak dikenali oleh&lt;br /&gt;        sistem lain, sehingga data dari &lt;span id="fullpost"&gt;suatu sistem perlu diekspor dalam&lt;br /&gt;        bentuk teks, kemudian diimpor kembali oleh sistem lain. Pada&lt;br /&gt;        pengolahan seperti ini tentu saja proses pengolahannya bersifat&lt;br /&gt;        FIFO.&lt;br /&gt;&lt;br /&gt;        Pengolahan data yang membutuhkan pencarian, pengurutan dan&lt;br /&gt;        perbaikan data tentu saja sulit menggunakan proses pengolahan&lt;br /&gt;        FIFO, karena akan menggunakan sumber daya yang besar dan menjadi&lt;br /&gt;        rumit. Pada pengolahan data seperti ini sangat dibutuhkan proses&lt;br /&gt;        pemasukan maupun pengambilannya berdasarkan alamat data tersebut.&lt;br /&gt;&lt;br /&gt;        Agar data dapat diambil dengan cepat, tentu saja dalam&lt;br /&gt;        penyimpannannya membutuhkan keteraturan, yaitu setiap data&lt;br /&gt;        memiliki ukuran yang sama, sehingga alamat data dapat didapatkan&lt;br /&gt;        dengan cepat.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        FILE ACAK&lt;br /&gt;&lt;br /&gt;        File acak didalam pengolahannya data ditempatkan dalam bentuk&lt;br /&gt;        record yang memiliki panjang yang tertentu. Dengan sistem&lt;br /&gt;        pengolahan yang demikian suatu record data dapat langsung dibaca&lt;br /&gt;        ataupun ditulis tanpa harus memproses record sebelumnya.  Dalam&lt;br /&gt;        hal ini type data record akan berperan.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        TYPE SISWA&lt;br /&gt;             NOINDUK AS STRING * 10&lt;br /&gt;             NAMA    AS STRING * 15&lt;br /&gt;             TEORI   AS SINGLE&lt;br /&gt;             PRAKTEK AS SINGLE&lt;br /&gt;             RATA    AS SINGLE&lt;br /&gt;        END TYPE&lt;br /&gt;        Dim DAT As SISWA&lt;br /&gt;&lt;br /&gt;        Perintah pengolahan file ACAK&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        1. Perintah membuka file ACAK&lt;br /&gt;&lt;br /&gt;        Sebelum suatu file randon dapat digunakan harus dibuka, jika file&lt;br /&gt;        tersebut belum ada, maka akan dibuat yang baru. Adapun perintah&lt;br /&gt;        membuka file ACAK adalah sebagai berikut :&lt;br /&gt;&lt;br /&gt;        OPEN namafile FOR RANDOM  AS [#]filenum [LEN=reclen]&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        OPEN "SISWA.REC" FOR RANDOM AS #1 LEN = LEN(DAT)&lt;br /&gt;&lt;br /&gt;        Membuka file "siswa.rec" untuk diolah secara acak sebagai file&lt;br /&gt;        nomor 1 dan ukuran tiap record adalah sama dengan ukuran variabel&lt;br /&gt;        DAT.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        2. Mendapatkan jumlah record pada file ACAK yang telah terbuka.&lt;br /&gt;&lt;br /&gt;        JlhRec = LOF(1)/LEN(DAT)&lt;br /&gt;&lt;br /&gt;        Jumlah record dalam file ACAK adalah ukuran keseluruhan file ACAK&lt;br /&gt;        dibagi dengan ukuran tiap record.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        3. Perintah input/output pada file ACAK&lt;br /&gt;&lt;br /&gt;        Perintah menulis data&lt;br /&gt;&lt;br /&gt;        PUT [#]filenum[,nomorrecord][,variable]&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        DAT.NOINDUK = "920403024"&lt;br /&gt;        DAT.NAMA    = "Hendra"&lt;br /&gt;        DAT.TEORI   = 70&lt;br /&gt;        DAT.PRAKTEK = 80&lt;br /&gt;        DAT.RATA    = (DAT.TEORI+DAT.PRAKTEK)/2&lt;br /&gt;&lt;br /&gt;        PUT #1,JlhRec+1,DAT&lt;br /&gt;&lt;br /&gt;        Menyimpan data dari variabel DAT ke file ACAK nomor 1, sebagai&lt;br /&gt;        record baru pada akhir file (JlhRec+1).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Perintah membaca data&lt;br /&gt;&lt;br /&gt;        GET [#]filenum[,nomorrecord][,variabel]&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        GET #1,1,DAT&lt;br /&gt;&lt;br /&gt;        Membaca data record nomor 1 dari file ACAK nomor 1 ke variabel&lt;br /&gt;        DAT.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        4. Perintah menutup file ACAK&lt;br /&gt;        Setelah selesai digunakan, file ACAK perlu ditutup untuk&lt;br /&gt;        memastikan semua data ditulis ke media penyimpanan, dan&lt;br /&gt;        memberikan indikator EOF.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        CLOSE #1&lt;br /&gt;&lt;br /&gt;        Menutup file acak nomor 1.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Contoh sederhana program pengolahan data dengan file ACAK.&lt;br /&gt;&lt;br /&gt;        'PROGRAM MENGISI DATA KE FILE SISWA.REC&lt;br /&gt;        TYPE SISWA&lt;br /&gt;             NOINDUK AS STRING * 10&lt;br /&gt;             NAMA    AS STRING * 15&lt;br /&gt;             TEORI   AS SINGLE&lt;br /&gt;             PRAKTEK AS SINGLE&lt;br /&gt;             RATA    AS SINGLE&lt;br /&gt;        END TYPE&lt;br /&gt;        DIM DAT AS SISWA&lt;br /&gt;        DIM NOINDUK AS STRING&lt;br /&gt;        OPEN "SISWA.REC" FOR RANDOM AS #1 LEN = LEN(DAT)&lt;br /&gt;        RECNO = LOF(1)/LEN(DAT)&lt;br /&gt;        DO&lt;br /&gt;           PRINT "DATA SISWA KE -";I&lt;br /&gt;           INPUT "NO.INDUK  :",NOINDUK&lt;br /&gt;           IF NOINDUK &lt;&gt; "" THEN&lt;br /&gt;              DAT.NOINDUK = NOINDUK&lt;br /&gt;              INPUT "NAMA      :",DAT.NAMA&lt;br /&gt;              INPUT "TEORI     :",DAT.TEORI&lt;br /&gt;              INPUT "PRAKTEK   :",DAT.PRAKTEK&lt;br /&gt;              DAT.RATA = (DAT.TEORI+DAT.PRAKTEK)/2&lt;br /&gt;              PUT #1,RECNO+1,DAT&lt;br /&gt;              RECNO = RECNO + 1&lt;br /&gt;           ENDIF&lt;br /&gt;        LOOP UNTIL NOINDUK = ""&lt;br /&gt;        CLOSE #1&lt;br /&gt;        END&lt;br /&gt;&lt;br /&gt;        'PROGRAM MENGURUT DATA DI FILE SISWA.REC&lt;br /&gt;        TYPE SISWA&lt;br /&gt;             NOINDUK AS STRING * 10&lt;br /&gt;             NAMA    AS STRING * 15&lt;br /&gt;             TEORI   AS SINGLE&lt;br /&gt;             PRAKTEK AS SINGLE&lt;br /&gt;             RATA    AS SINGLE&lt;br /&gt;        END TYPE&lt;br /&gt;        DIM DAT1 AS SISWA&lt;br /&gt;        DIM DAT2 AS SISWA&lt;br /&gt;        OPEN "SISWA.REC" FOR RANDOM AS #1 LEN = LEN(DAT)&lt;br /&gt;        JD = LOF(1)/LEN(DAT)&lt;br /&gt;        FOR I = (JD-1) TO 1 STEP -1&lt;br /&gt;            Sempurna = 1&lt;br /&gt;            FOR J = 1 TO I STEP 1&lt;br /&gt;                GET #1,J,DAT1&lt;br /&gt;                GET #1,J+1,DAT2&lt;br /&gt;                IF DAT1.NAMA &gt; DAT2.NAMA THEN&lt;br /&gt;                   PUT #1,J,DAT2&lt;br /&gt;                   PUT #1,J+1,DAT1&lt;br /&gt;                   Sempurna = 0&lt;br /&gt;                ENDIF&lt;br /&gt;            NEXT J&lt;br /&gt;            If Sempurna = 1 Then&lt;br /&gt;               I = 0&lt;br /&gt;            End IF&lt;br /&gt;        NEXT I&lt;br /&gt;        CLOSE #1&lt;br /&gt;        END&lt;br /&gt;&lt;br /&gt;        'PROGRAM BACA DATA DARI SISWA.REC DAN MENCETAK KE LAYAR&lt;br /&gt;        CLS&lt;br /&gt;        TYPE SISWA&lt;br /&gt;             NOINDUK AS STRING * 10&lt;br /&gt;             NAMA    AS STRING * 15&lt;br /&gt;             TEORI   AS SINGLE&lt;br /&gt;             PRAKTEK AS SINGLE&lt;br /&gt;             RATA    AS SINGLE&lt;br /&gt;        END TYPE&lt;br /&gt;        DIM DAT AS SISWA&lt;br /&gt;        OPEN "SISWA.REC" FOR RANDOM AS #1 LEN = LEN(DAT)&lt;br /&gt;        JD = LOF(1)/LEN(DAT)&lt;br /&gt;        PRINT -------------------------------------------------------------------"&lt;br /&gt;        PRINT "NO.INDUK   NAMA            TEORI     PRAKTEK   RATA-RATA   ULUS   "&lt;br /&gt;        PRINT "-------------------------------------------------------------------"&lt;br /&gt;        POLA$="\        \ \             \ ###.##    ###.##    ###.##      \     \ "&lt;br /&gt;        VIEW PRINT 4 TO 23&lt;br /&gt;        FOR I = 1 TO JD STEP 1&lt;br /&gt;            GET #1,I,DAT&lt;br /&gt;            IF DAT.RATA &lt; 60 THEN LULUS$="TIDAK" ELSE LULUS$ = "YA"&lt;br /&gt;            PRINT USING POLA$;DAT.NOINDUK;DAT.NAMA$;DAT.TEORI;&lt;br /&gt;                                DAT.PRAKTEK;DAT.RATA;LULUS$&lt;br /&gt;        NEXT I&lt;br /&gt;        CLOSE #1&lt;br /&gt;        END&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        LATIHAN&lt;br /&gt;&lt;br /&gt;        1. Buatlah program untuk mengisi data ke file PEGAWAI.REC.&lt;br /&gt;&lt;br /&gt;        NAMA         GOL  JAM KERJA&lt;br /&gt;        SURYAJAYA    A           50&lt;br /&gt;        SUTIMAN      C           48&lt;br /&gt;        JUSMAN       B           60&lt;br /&gt;        WIJAYA       A           50&lt;br /&gt;        YUSNI        B           48&lt;br /&gt;        TUTI         A           45&lt;br /&gt;&lt;br /&gt;        2. Buatlah program mengurut data pada PEGEWAI.REC berdasarkan&lt;br /&gt;        nama.&lt;br /&gt;&lt;br /&gt;        3. Buatlah program membaca data dari file PEGAWAI.REC dan&lt;br /&gt;        menghasilkan laporan dengan ketentuan.&lt;br /&gt;&lt;br /&gt;        - Gaji Pokok PEGAWAI ditentukan sebagai berikut :&lt;br /&gt;          Golongan      Gaji Pokok/Bulan&lt;br /&gt;              A         Rp.  175.000,00&lt;br /&gt;              B         Rp.  220.000,00&lt;br /&gt;              C         Rp.  350.000,00&lt;br /&gt;        - jika jam kerja &gt; 48 jam diberikan Bonus = (jam kerja - 48) * 5000/jam&lt;br /&gt;        - jika jam kerja &lt; 48 jan dikenakan Potongan = (48 - jam kerja) * 1000/jam&lt;br /&gt;        - Total Gaji = Gaji Pokok + Bonus - Potongan&lt;br /&gt;        Output yang diharapkan :&lt;br /&gt;&lt;br /&gt;                           P.T. JAYA WIJAYA&lt;br /&gt;                      JL. Kemerdekaan Barat No. 12&lt;br /&gt;                      ============================&lt;br /&gt;&lt;br /&gt;                          LAPORAN GAJI PEGAWAI&lt;br /&gt;           ========================================================&lt;br /&gt;           Nama      Gol  Jam     Gaji     Bonus Potongan    Total&lt;br /&gt;           Pegawai        Kerja   Pokok     (Rp)   (Rp)       (Rp)&lt;br /&gt;           --------------------------------------------------------&lt;br /&gt;           Suryajaya  C      50   350,000  10,000    -      360,000&lt;br /&gt;           Sutiman    B      48   200,000     -      -      200,000&lt;br /&gt;           ========================================================&lt;br /&gt;                                                 Total :    560,000&lt;br /&gt;           ========================================================&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;     &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3515019263649678197-6971219966709639955?l=nursahid447.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nursahid447.blogspot.com/feeds/6971219966709639955/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3515019263649678197&amp;postID=6971219966709639955' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/6971219966709639955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/6971219966709639955'/><link rel='alternate' type='text/html' href='http://nursahid447.blogspot.com/2008/03/pengolahan-file-acak.html' title='PENGOLAHAN FILE ACAK'/><author><name>jana laksromde</name><uri>http://www.blogger.com/profile/16901278356943551005</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_SMFa6j3YAMo/R-ecRK2lFkI/AAAAAAAAAEA/leTBgzoxbCg/S220/th_Foto454-1-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3515019263649678197.post-7069773877720797447</id><published>2008-03-16T15:34:00.000+07:00</published><updated>2008-03-16T15:36:14.097+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pemrograman'/><title type='text'>PENGOLAHAN FILE BINARY</title><content type='html'>Selain pengolahan data Sequential dan Random, QBasic juga&lt;br /&gt;        menyediakan pengolahan yang bersifat Binary. Pada pengolahan yang&lt;br /&gt;        bersifat Binary, file dapat dibaca/ditulis secara per-Byte pada&lt;br /&gt;        posisi yang diinginkan, sehingga tidak terikat kepada urutan&lt;br /&gt;        maupun struktur data.&lt;br /&gt;&lt;br /&gt;        Pengolahan yang bersifat Binary banyak digunakan &lt;span id="fullpost"&gt;untuk keperluan-&lt;br /&gt;        keperluan khusus yang membutuhkan akses langsung ke satuan data&lt;br /&gt;        di tingkat Byte. Misalnya membuat program Enkripsi dan Dekripsi&lt;br /&gt;        file, pada proses Enkripsi, isi suatu file disandikan byte-per-&lt;br /&gt;        byte sehingga tidak dapat dikenali lagi secara normal oleh sistem&lt;br /&gt;        yang membuatnya. Agar isi file tersebut dapat dikenali kembali,&lt;br /&gt;        maka diperlukan proses Dekripsi yang mengembalikannya ke keadaan&lt;br /&gt;        semula.&lt;br /&gt;&lt;br /&gt;        Pengolahan yang bersifat Binary juga banyak digunakan pada&lt;br /&gt;        pembuatan program AntiVirus, Crack, Game Cheat yang membutuhkan&lt;br /&gt;        akses ke byte level.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        1. Perintah membuka file Binary&lt;br /&gt;&lt;br /&gt;        Seperti pada pengolahan file umumnya, sebelum digunakan file&lt;br /&gt;        binary harus dibuka dengan perintah sebagai berikut :&lt;br /&gt;&lt;br /&gt;        OPEN namafile FOR BINARY AS [#]filenum&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        OPEN "Sandi.bin" FOR BINARY AS #1&lt;br /&gt;&lt;br /&gt;        Membuka file "Sandi.bin" untuk diolah secara binary sebagai file&lt;br /&gt;        nomor 1.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        2. Mendapatkan jumlah byte pada file binary yang telah terbuka.&lt;br /&gt;&lt;br /&gt;        JlhByte = LOF(1)&lt;br /&gt;&lt;br /&gt;        Fungsi LOF (Length Of File) akan mengembalikan ukuran file binary&lt;br /&gt;        dalam ukuran byte.&lt;br /&gt;&lt;br /&gt;        Catatan : 1 KB = 1024 Byte, 1 MB = 1024*1024&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        3. Perintah input/output pada file Binary&lt;br /&gt;&lt;br /&gt;        Perintah menulis data&lt;br /&gt;&lt;br /&gt;        PUT [#]filenum[,posisi][,variable]&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        MyData = 10&lt;br /&gt;        PUT #1, 101, MyData&lt;br /&gt;&lt;br /&gt;        Menulis karakter ASCII 10 (line feed) pada posisi byte ke 101&lt;br /&gt;        dalam file nomor 1.&lt;br /&gt;&lt;br /&gt;        Contoh Lain :&lt;br /&gt;&lt;br /&gt;        Dim MyChar As String*1&lt;br /&gt;        MyChar = Chr$(10)&lt;br /&gt;        Put #1, 101, MyChar&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Perintah membaca data&lt;br /&gt;&lt;br /&gt;        GET [#]filenum[,posisi][,variabel]&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        Dim MyChar As String*1&lt;br /&gt;        GET #1, 101, MyChar&lt;br /&gt;&lt;br /&gt;        Membaca data byte posisi ke dari file nomor 1 ke variabel&lt;br /&gt;        MyChar.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        4. Perintah menutup file Binary&lt;br /&gt;&lt;br /&gt;        Setelah selesai digunakan, file Binary perlu ditutup untuk&lt;br /&gt;        memastikan semua data ditulis ke media penyimpanan, dan&lt;br /&gt;        memberikan indikator EOF.&lt;br /&gt;&lt;br /&gt;        Nb. Untuk mempercepat proses I/O, sistem operasi menyediakan&lt;br /&gt;        memory buffer sebagai tempat pembacaan dan penulisan sementara.&lt;br /&gt;        Perintah Close untuk memastikan semua data dari buffer benar-&lt;br /&gt;        benar ditulis ke media penyimpanan.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        CLOSE #1&lt;br /&gt;&lt;br /&gt;        Menutup file binary nomor 1.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        'Program Enkripsi dan Dekripsi dengan kunci NOT&lt;br /&gt;&lt;br /&gt;        DIM Source AS STRING&lt;br /&gt;        DIM Target AS STRING&lt;br /&gt;        DIM FSize AS LONG&lt;br /&gt;        DIM MyChar AS STRING * 1&lt;br /&gt;        CLS&lt;br /&gt;        PRINT "Program Enkripsi/Dekripsi Data"&lt;br /&gt;        PRINT "Menggunakan operator NOT"&lt;br /&gt;        PRINT "------------------------"&lt;br /&gt;        INPUT "Masukkan Source :", Source&lt;br /&gt;        INPUT "Masukkan Target :", Target&lt;br /&gt;&lt;br /&gt;        IF Source = Target THEN&lt;br /&gt;           PRINT "Nama file source tidak boleh sama dengan target"&lt;br /&gt;        ELSE&lt;br /&gt;           OPEN Source FOR BINARY AS #1         'Buka source sebagai 1&lt;br /&gt;           OPEN Target FOR BINARY AS #2         'Buka target sebagai 2&lt;br /&gt;&lt;br /&gt;           FSize = LOF(1)                       'Mendapatkan ukuran file 1&lt;br /&gt;&lt;br /&gt;           FOR I = 1 TO FSize&lt;br /&gt;               GET #1, I, MyChar                'Baca byte posisi ke i&lt;br /&gt;                                                'dari source&lt;br /&gt;               MyChar = CHR$(255 - ASC(MyChar)) 'Enkripsi dengan NOT&lt;br /&gt;&lt;br /&gt;               PUT #2, I, MyChar                'Tulis ke posisi ke i&lt;br /&gt;                                                'Pada Target&lt;br /&gt;           NEXT I&lt;br /&gt;           CLOSE #1&lt;br /&gt;           CLOSE #2&lt;br /&gt;           PRINT&lt;br /&gt;           PRINT "Proses Selesai"&lt;br /&gt;        END IF&lt;br /&gt;        END&lt;br /&gt;&lt;br /&gt; &lt;br /&gt; 'Program Menghilangkan Password file *.Mdb Microsoft Access 97&lt;br /&gt;&lt;br /&gt; Dim nama As String&lt;br /&gt;        Dim huruf As String*1&lt;br /&gt;&lt;br /&gt; INPUT "Masukkan nama file :",nama&lt;br /&gt;&lt;br /&gt; IF Dir$(nama) = "" THEN&lt;br /&gt;&lt;br /&gt;    PRINT "File ";nama;" tidak ada !"&lt;br /&gt;&lt;br /&gt; ELSE&lt;br /&gt;    OPEN nama FOR BINARY AS #1&lt;br /&gt;&lt;br /&gt;           huruf = Chr$(134)&lt;br /&gt;    PUT #1, 66, huruf&lt;br /&gt;&lt;br /&gt;    CLOSE #1&lt;br /&gt;&lt;br /&gt;    PRINT "Password ";nama;" telah dihilangkan !"&lt;br /&gt;&lt;br /&gt; END IF&lt;br /&gt; END&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3515019263649678197-7069773877720797447?l=nursahid447.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nursahid447.blogspot.com/feeds/7069773877720797447/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3515019263649678197&amp;postID=7069773877720797447' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/7069773877720797447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/7069773877720797447'/><link rel='alternate' type='text/html' href='http://nursahid447.blogspot.com/2008/03/pengolahan-file-binary.html' title='PENGOLAHAN FILE BINARY'/><author><name>jana laksromde</name><uri>http://www.blogger.com/profile/16901278356943551005</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_SMFa6j3YAMo/R-ecRK2lFkI/AAAAAAAAAEA/leTBgzoxbCg/S220/th_Foto454-1-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3515019263649678197.post-2358277275815835922</id><published>2008-03-16T15:33:00.000+07:00</published><updated>2008-03-16T15:34:52.300+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pemrograman'/><title type='text'>PENGOLAHAN FILE KOMUNIKASI</title><content type='html'>Pada QBasic tersedia fasilitas untuk melakukan komunikasi data&lt;br /&gt;        melalui interface RS232 pada Serial Port COM1 dan COM2 yang&lt;br /&gt;        diperlakukan seperti pengolahan file.&lt;br /&gt;&lt;br /&gt;        Pada fasilitas perkantoran peralatan seperti PABX dapat&lt;br /&gt;        dihubungkan dengan PC melalui interface RS232 pada Serial Port&lt;br /&gt;        COM1 maupun COM2 untuk mendapatkan CMDR log dari pemakaian&lt;br /&gt;        telepon.&lt;br /&gt;&lt;br /&gt;        Dengan menggunakan fasilitas pada QBasic, anda dapat membuat&lt;br /&gt;        program untuk membaca data CMDR dari &lt;span id="fullpost"&gt;Serial Port COM1 maupun COM2&lt;br /&gt;        untuk disimpan maupun diolah menjadi informasi yang lebih baik,&lt;br /&gt;        misalnya perhitungan tarif pemakaian telepon tiap individu.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        1. Perintah membuka dan menginisialisasi saluran komunikasi&lt;br /&gt;&lt;br /&gt;        Perintah OPEN COM harus dilakukan sebelum peralatan dapat&lt;br /&gt;        digunakan untuk komunikasi melalui interface RS232.&lt;br /&gt;&lt;br /&gt;        OPEN "COMn: list1 list2" FOR RANDOM AS [#]nomor]&lt;br /&gt;&lt;br /&gt;        dimana :&lt;br /&gt;        n adalah nomor port komunikasi yang ingin dibuka&lt;br /&gt;          (1 = COM1, 2 = COM2).&lt;br /&gt;&lt;br /&gt;        list1 adalah parameter komunikasi yang sering digunakan :&lt;br /&gt;          [baud] [,[parity] [,[data] [,[stop]]]]&lt;br /&gt;&lt;br /&gt;          baud adalah baud rate dari peralatan yang dibuka :&lt;br /&gt;               75, 110, 150, 300, 600, 1200, 2400, 4800, 9600&lt;br /&gt;&lt;br /&gt;          parity adalah metode dari pemeriksaan pariti :&lt;br /&gt;               N (none)     E (even)    O (odd)&lt;br /&gt;               S (space)    M (mark)    PE (enable error checking)&lt;br /&gt;&lt;br /&gt;          data adalah jumlah data bit setiap byte :&lt;br /&gt;               5, 6, 7, 8&lt;br /&gt;&lt;br /&gt;          stop adalah jumlah stop bit :&lt;br /&gt;               1, 1.5, 2&lt;br /&gt;&lt;br /&gt;          Defaultnya: 300 baud, even parity, 7 data bits, 1 stop bit.&lt;br /&gt;&lt;br /&gt;        list2 adalah parameter komunikasi yang jarang digunakan yang&lt;br /&gt;        dipisahkan dengan koma.&lt;br /&gt;&lt;br /&gt;          Option    Description&lt;br /&gt;&lt;br /&gt;          ASC       Opens the device in ASCII mode.&lt;br /&gt;          BIN       Opens the device in binary mode.&lt;br /&gt;          CD[m]     Sets the timeout period (in milliseconds) on the&lt;br /&gt;                    Data Carrier Detect (DCD) line.&lt;br /&gt;          CS[m]     Sets the timeout period (in milliseconds) on the&lt;br /&gt;                    Clear to Send (CTS) line.&lt;br /&gt;          DS[m]     Sets the timeout period (in milliseconds) on the&lt;br /&gt;                    Data Set Ready (DS) line.&lt;br /&gt;          LF        Sends a line-feed character after a carriage&lt;br /&gt;                    return.&lt;br /&gt;          OP[m]     Specifies how long (in milliseconds) OPEN COM&lt;br /&gt;                    waits for all communications lines to become open.&lt;br /&gt;          RB[n]     Sets the size (in bytes) of the receive buffer.&lt;br /&gt;          RS        Suppresses detection of Request to Send (RTS).&lt;br /&gt;          TB[n]     Sets the size (in bytes) of the transmit buffer.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        OPEN "COM1:300,N,8,1,CD0,CS0,DS0,OP0,RS,TB2048,RB2048" FOR RANDOM AS #1&lt;br /&gt;&lt;br /&gt;        Akan membuka Serial Port COM1 sebagai file nomor 1, mengenai&lt;br /&gt;        parameter komunikasi sangat bergantung kepada setting pabrik&lt;br /&gt;        peralatan tersebut.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Membaca dari peralatan yang terbuka&lt;br /&gt;&lt;br /&gt;        INPUT$(n,nomor)&lt;br /&gt;&lt;br /&gt;        dimana&lt;br /&gt;        n adalah jumlah karakter yang dibaca.&lt;br /&gt;        nomor adalah nomor file yang terbuka.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        A$ = Input$(1,1)&lt;br /&gt;&lt;br /&gt;        Dimana akan menbaca 1 huruf dari file nomor 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Mengirim data ke peralatan yang terbuka&lt;br /&gt;&lt;br /&gt;        Anda dapat menggunakan perintah print untuk mengirim data ke&lt;br /&gt;        peralatan yang terbuka.&lt;br /&gt;&lt;br /&gt;        Print #nomor, ekspresi&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        Print #1, "A"&lt;br /&gt;&lt;br /&gt;        Akan mengirim huruf "A" ke file nomor 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Memeriksa keberadaan data pada Receive Buffer file komunikasi.&lt;br /&gt;&lt;br /&gt;        Anda dapat menggunakan fungsi LOC(nomorfile) untuk mengetahui&lt;br /&gt;        apakah input buffer dalam keadaan kosong atau berisi data.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        OPEN "COM1:300,N,8,1,CD0,CS0,DS0,OP0,RS,TB2048,RB2048" FOR RANDOM AS #1&lt;br /&gt;&lt;br /&gt;        DO&lt;br /&gt;&lt;br /&gt;          tekan$ = INKEY$&lt;br /&gt;          IF tekan$ &lt;&gt; "" THEN&lt;br /&gt;             PRINT #1, tekan$;        'Kirim apa yang ditekan&lt;br /&gt;          END IF&lt;br /&gt;          IF LOC(1) &lt;&gt; 0 THEN         'Jika ada data pada Recieve Buffer&lt;br /&gt;             baca$ = INPUT$(1, 1)     'Baca satu huruf&lt;br /&gt;             PRINT baca$;&lt;br /&gt;          END IF&lt;br /&gt;&lt;br /&gt;        LOOP&lt;br /&gt;&lt;br /&gt;        CLOSE #1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Program diatas adalah contoh Chatting sederhana melalui kabel&lt;br /&gt;        LapLink antara dua komputer yang dihubungkan melalui COM1.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Menutup file&lt;br /&gt;&lt;br /&gt;        Untuk menutup file, anda dapat menggunakan perintah close.&lt;br /&gt;&lt;br /&gt;        Close #nomor&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        Close #1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Contoh program komunikasi RS232 antara Pabx Rolm vscbx dengan PC&lt;br /&gt;        melalui COM1, untuk maintenance :&lt;br /&gt;&lt;br /&gt;        OPEN "COM1:300,E,7,1,CD0,CS0,DS0,OP0,RS,TB2048,RB2048" FOR RANDOM AS #1&lt;br /&gt;&lt;br /&gt;        DO&lt;br /&gt;&lt;br /&gt;          tekan$ = INKEY$&lt;br /&gt;&lt;br /&gt;          IF tekan$ &lt;&gt; "" THEN&lt;br /&gt;             PRINT #1, tekan$;        'Kirim apa yang ditekan&lt;br /&gt;          END IF&lt;br /&gt;&lt;br /&gt;          IF LOC(1) &lt;&gt; 0 THEN         'Jika ada data pada Recieve Buffer&lt;br /&gt;             baca$ = INPUT$(1, 1)     'Baca satu huruf&lt;br /&gt;             PRINT baca$;&lt;br /&gt;          END IF&lt;br /&gt;&lt;br /&gt;        LOOP&lt;br /&gt;&lt;br /&gt;        CLOSE #1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        Contoh program komunikasi RS232 antara Pabx Rolm vscbx dengan PC&lt;br /&gt;        melalui COM2, untuk CMDR Log :&lt;br /&gt;&lt;br /&gt;        OPEN "COM2:1200,E,7,1,CD0,CS0,DS0,OP0,RS,TB2048,RB2048" FOR RANDOM AS #1&lt;br /&gt;        OPEN "CMDR.LOG" FOR BINARY AS #2&lt;br /&gt;&lt;br /&gt;        JlhByte = LOF(2)&lt;br /&gt;&lt;br /&gt;        DO&lt;br /&gt;&lt;br /&gt;          tekan$ = INKEY$&lt;br /&gt;&lt;br /&gt;          IF LOC(1) &lt;&gt; 0 THEN         'Jika ada data pada Recieve Buffer&lt;br /&gt;             baca$ = INPUT$(1, 1)     'Baca satu huruf&lt;br /&gt;             JlhByte = JlhByte + 1&lt;br /&gt;             PUT #2, JlhByte, Baca$&lt;br /&gt;             PRINT baca$;&lt;br /&gt;          END IF&lt;br /&gt;&lt;br /&gt;        LOOP UNTIL tekan$ &lt;&gt; ""&lt;br /&gt;&lt;br /&gt;        CLOSE #1&lt;br /&gt;&lt;br /&gt;        CLOSE #2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3515019263649678197-2358277275815835922?l=nursahid447.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nursahid447.blogspot.com/feeds/2358277275815835922/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3515019263649678197&amp;postID=2358277275815835922' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/2358277275815835922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/2358277275815835922'/><link rel='alternate' type='text/html' href='http://nursahid447.blogspot.com/2008/03/pengolahan-file-komunikasi.html' title='PENGOLAHAN FILE KOMUNIKASI'/><author><name>jana laksromde</name><uri>http://www.blogger.com/profile/16901278356943551005</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_SMFa6j3YAMo/R-ecRK2lFkI/AAAAAAAAAEA/leTBgzoxbCg/S220/th_Foto454-1-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3515019263649678197.post-2598936382398421916</id><published>2008-03-16T15:20:00.000+07:00</published><updated>2008-03-16T15:33:40.510+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pemrograman'/><title type='text'>PENANGANAN ERROR</title><content type='html'>Sebagai manusia normal tidak akan terlepas dari berbagai&lt;br /&gt;        kesilapan, demikian juga seorang programmer dalam pengembangan&lt;br /&gt;        program dapat saja berbuat berbagai kesalahan maupun kesilapan.&lt;br /&gt;&lt;br /&gt;        Berdasarkan jenisnya kesalahan dalam pemrograman terbagi menjadi&lt;br /&gt;        tiga yaitu :&lt;br /&gt;        1. Syntax Error, adalah kesalahan yang &lt;span id="fullpost"&gt;disebabkan oleh kesalahan&lt;br /&gt;        tata cara penulisan tanda baca, kesalahan pemakaian operator dan&lt;br /&gt;        nilai. Kesalahan jenis ini akan dengan mudah dideteksi oleh&lt;br /&gt;        kompiler maupun interpreter.&lt;br /&gt;&lt;br /&gt;        2. Logical Error, adalah kesalahan yang disebabkan oleh kesalahan&lt;br /&gt;        logika maupun model atau metode yang digunakan untuk pemrosesan&lt;br /&gt;        data, sehingga menyebabkan informasi yang dihasilkan menjadi&lt;br /&gt;        salah. Kesalahan ini tidak dapat dideteksi oleh kompiler maupun&lt;br /&gt;        interpreter, kesalahan ini disadari setelah melihat penyimpanan&lt;br /&gt;        pada saat proses maupun hasil proses.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        N = 1&lt;br /&gt;        Do&lt;br /&gt;          Print N&lt;br /&gt;          N = N + 2&lt;br /&gt;        Loop Until N = 10&lt;br /&gt;&lt;br /&gt;        Program diatas tidak pernah berhenti, karena nilai N tidak pernah&lt;br /&gt;        sama dengan 10.&lt;br /&gt;&lt;br /&gt;        Kesalahan Logika dapat juga terjadi karena kesalahan pengetikan&lt;br /&gt;        nama variabel, dan ini merupakan salah satu kelemahan bahasa&lt;br /&gt;        pemrograman Basic, jika dibandingan dengan Pascal muapun C&lt;br /&gt;        Language dimana variabel harus dideklarasikan terlebih dahulu.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        GajiPokok  = 1000000&lt;br /&gt;        Bonus      = 10000&lt;br /&gt;        GajiBersih = GajiPokol + Bonus&lt;br /&gt;        Print GajiBersih                   'Hasilnya 10000, bukan 1010000&lt;br /&gt;&lt;br /&gt;        3. Runtime Error, adalah kesalahan yang disebabkan oleh tidak&lt;br /&gt;        tersedianya sumber daya atau kondisi yang normal bagi program&lt;br /&gt;        untuk berjalan dengan baik, misalnya kekurangan memori komputer,&lt;br /&gt;        disk full, atau pintu drive tidak terkunci, dll.&lt;br /&gt;&lt;br /&gt;        Sebagai programmer yang baik, tentu saja harus mampu menghasilkan&lt;br /&gt;        program dengan tingkat kesalahan yang minimal, dan usaha untuk&lt;br /&gt;        meminimalisasi tingkat kesalahan program disebut proses debug.&lt;br /&gt;&lt;br /&gt;        Pada QBasic tersedia berbagai fasilitas untuk menangani kesalahan&lt;br /&gt;        yang mungkin dilakukan oleh programmer, misalnya :&lt;br /&gt;&lt;br /&gt;        1. Fasilitas Syntax Checking pada menu Option yang sangat berguna&lt;br /&gt;        untuk mendeteksi kesalahan jenis "Syntax Error".&lt;br /&gt;&lt;br /&gt;        2. Menu Debug, yang memiliki fasilitas yang sangat bermanfaat&lt;br /&gt;        untuk melacak Logical Error, tetapi keberhasilannya sangat&lt;br /&gt;        tergantung kepada pemahaman programmer akan masalah yang terjadi.&lt;br /&gt;        Adapun fasilitas pada menu Debug adalah sebagai berikut :&lt;br /&gt;&lt;br /&gt;        a. Step atau F8, digunakan untuk menjalankan program baris per&lt;br /&gt;        baris, sehingga programmer dapat mengamati alur program secara&lt;br /&gt;        baris perbaris sambil mengevaluasi hasil output yang dihasilkan.&lt;br /&gt;&lt;br /&gt;        b. Procedure Step atau F10, digunakan untuk menjalankan program&lt;br /&gt;        baris per baris tanpa masuk ke bagian sub rutin, artinya sub&lt;br /&gt;        rutin dianggap sebagai satu baris dari program. Fasilitas ini&lt;br /&gt;        digunakan jika programmer telah yakin pada kebenaran sub rutin&lt;br /&gt;        yang dibuat, sehingga proses pencarian lebih terfokus pada bagian&lt;br /&gt;        tertentu.&lt;br /&gt;&lt;br /&gt;        c. Trace On, digunakan untuk memberikan sorotan pada baris yang&lt;br /&gt;        sedang dijalankan.&lt;br /&gt;&lt;br /&gt;        d. Toggle BreakPoint, digunakan untuk menandai baris dimana&lt;br /&gt;        proses eksekusi Pause dan masuk ke modus Step, fasilitas ini&lt;br /&gt;        dapat digunakan programmer untuk memperkecil jangkauan pencarian&lt;br /&gt;        kesalahan dengan modus Step karena tidak perlu melakukan Step&lt;br /&gt;        dari awal, tetapi Step dilakukan mulai pada baris dimana sumber&lt;br /&gt;        kesalahan dicurigai.&lt;br /&gt;&lt;br /&gt;        e. Clear Breakpoint, digunakan untuk menghapus semua Breakpoint.&lt;br /&gt;&lt;br /&gt;        f. On Error Goto label, digunakan untuk error handling, dimana&lt;br /&gt;        jika terjadi kesalahan, maka proses program dialihkan ke label&lt;br /&gt;        tertentu, dan jenis kesalahan dapat ditelusuri dari fungsi ERR&lt;br /&gt;        yang akan mengembalikan nomor kesalahan, dan proses dapat&lt;br /&gt;        diulangi dengan RESUME atau RESUME NEXT , dan anda dapat juga&lt;br /&gt;        menggunakan On Error Resume Next untuk mengabaikan kesalahan.&lt;br /&gt;        Fasilitas ini cocok untuk mengatasi Run Time Error,&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        ON ERROR GOTO Salah&lt;br /&gt;        OPEN "A:Sumber.Dat" FOR INPUT AS #1&lt;br /&gt;        DO WHILE NOT EOF(1)&lt;br /&gt;           LINE INPUT #1, Baris$&lt;br /&gt;           PRINT Baris$&lt;br /&gt;        LOOP&lt;br /&gt;        END&lt;br /&gt;        Salah:&lt;br /&gt;        SELECT CASE ERR&lt;br /&gt;           CASE 53&lt;br /&gt;&lt;br /&gt;                PRINT "File Sumber.Dat tidak ada"&lt;br /&gt;                END&lt;br /&gt;           CASE 71&lt;br /&gt;&lt;br /&gt;                PRINT "Drive tidak siap, [U]lang, [B]atal";&lt;br /&gt;                INPUT tanya$&lt;br /&gt;                IF tanya$ = "U" OR tanya$ = "u" THEN&lt;br /&gt;                   RESUME&lt;br /&gt;                ELSE&lt;br /&gt;                   END&lt;br /&gt;                END IF&lt;br /&gt;        END SELECT&lt;br /&gt;        END&lt;br /&gt;&lt;br /&gt;        Catatan : Nomor Error dapat dilihat pada bagian Help QBasic&lt;br /&gt;        "Runtime Error Code"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3515019263649678197-2598936382398421916?l=nursahid447.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nursahid447.blogspot.com/feeds/2598936382398421916/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3515019263649678197&amp;postID=2598936382398421916' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/2598936382398421916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/2598936382398421916'/><link rel='alternate' type='text/html' href='http://nursahid447.blogspot.com/2008/03/penanganan-error.html' title='PENANGANAN ERROR'/><author><name>jana laksromde</name><uri>http://www.blogger.com/profile/16901278356943551005</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_SMFa6j3YAMo/R-ecRK2lFkI/AAAAAAAAAEA/leTBgzoxbCg/S220/th_Foto454-1-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3515019263649678197.post-791796552970745177</id><published>2008-03-16T15:11:00.001+07:00</published><updated>2008-03-16T15:20:25.515+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pemrograman'/><title type='text'>AKSES LOW LEVEL</title><content type='html'>QBasic menyediakan beberapa perintah dan fungsi untuk akses Low&lt;br /&gt;        Level seperti akses memory langsung maupun akses ke nomor port&lt;br /&gt;        tertentu. Walaupun fasilitas Low Level yang disediakan sangat&lt;br /&gt;        terbatas jika dibandingkan dengan akses Low Level Turbo Pascal&lt;br /&gt;        maupun C Language.&lt;br /&gt;&lt;br /&gt;        Akses Low Level sangat menarik bagi programmer-programmer muda,&lt;br /&gt;        karena mampu menghasilkan proses-proses yang tidak mungkin&lt;br /&gt;        dilakukan dengan menggunakan pemrograman yang&lt;br /&gt;&lt;span id="fullpost"&gt;yang normal.&lt;br /&gt;&lt;br /&gt;        Beberapa perintah QBasic yang berkaitan dengan akses Low Level&lt;br /&gt;        adalah :&lt;br /&gt;&lt;br /&gt;        DEF SEG = alamat_segment&lt;br /&gt;&lt;br /&gt;        PEEK(alamat_offset), digunakan untuk mengambil data byte yang&lt;br /&gt;        dari alamat memori segment:offset.&lt;br /&gt;&lt;br /&gt;        POKE alamat_offset, ekspresi, digunakan untuk mengisi ekspres&lt;br /&gt;        byte ke alamat memori segment:offset&lt;br /&gt;&lt;br /&gt;        OUT nomor_port, ekspresi, digunakan untuk mengakses port dengan&lt;br /&gt;        nilai ekspresi.&lt;br /&gt;&lt;br /&gt;        INP(nomor_port), digunakan untuk mengambil nilai dari port.&lt;br /&gt;&lt;br /&gt;        Contoh :&lt;br /&gt;&lt;br /&gt;        'Anda dapat mengetahui tanggal ROM BIOS anda dengan menggambil&lt;br /&gt;        '8 byte mulai dari alamat FFFF:0005&lt;br /&gt;&lt;br /&gt;        CLS&lt;br /&gt;        PRINT "Tanggal Bios komputer anda :";&lt;br /&gt;        'Set Data Segment ke hexa FFFFF&lt;br /&gt;        DEF SEG = &amp;HFFFF&lt;br /&gt;        FOR i = 0 TO 7&lt;br /&gt;            'Mencetak byte per byte dari offset hexa 0005&lt;br /&gt;            PRINT CHR$(PEEK(i + 5));&lt;br /&gt;        NEXT i&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        'Anda dapat mengetahui jumlah RAM komputer anda dengan menggambil&lt;br /&gt;        '1 word (1 word = 2 byte) dari alamat 0040:0013&lt;br /&gt;        'Dalam hal ini RAM adalah konventional Memory&lt;br /&gt;&lt;br /&gt;        'Set Data Segment ke hexa 0040&lt;br /&gt;        DEF SEG = &amp;H40&lt;br /&gt;        RAM = PEEK(&amp;H13) + PEEK(&amp;H14) * &amp;H100&lt;br /&gt;        PRINT&lt;br /&gt;        PRINT "Jumlah konventional Memory :"; RAM; "KB"&lt;br /&gt;&lt;br /&gt;        'Pada jaman kejayaan DOS, dan diskete sebagai media penyimpanan,&lt;br /&gt;        'Virus Boot adalah Virus yang sangat terkenal misalnya Virus&lt;br /&gt;        'C Brain, Stoned, MichaelAngelo&lt;br /&gt;        'Salah satu metode melacak keberadaan Virus Boot di memory komputer&lt;br /&gt;        'kita adalah memeriksa konventional Memory komputer&lt;br /&gt;        'Jika jumlahnya &lt; 640, maka komputer dicurigai mengandung Virus Boot&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        'Anda dapat menggambil Real Time Clock PC dengan memanfaatkan&lt;br /&gt;        'Port 70H dan 71H, pada register :&lt;br /&gt;        ' 00   RTC seconds&lt;br /&gt;        ' 02   RTC minutes&lt;br /&gt;        ' 04   RTC hours&lt;br /&gt;        ' 06   RTC day of week&lt;br /&gt;        ' 07   RTC day of month&lt;br /&gt;        ' 08   RTC month&lt;br /&gt;        ' 09   RTC year&lt;br /&gt;        'Masukkan register yang akan dibaca/tulis ke port 70h&lt;br /&gt;        'baca/tulis pada port 71h&lt;br /&gt;&lt;br /&gt;        PRINT "Tanggal menurut RTC :";&lt;br /&gt;        OUT &amp;H70, &amp;H6&lt;br /&gt;        PRINT HEX$(INP(&amp;H71)); "/";&lt;br /&gt;        OUT &amp;H70, &amp;H8&lt;br /&gt;        PRINT HEX$(INP(&amp;H71)); "/";&lt;br /&gt;        OUT &amp;H70, &amp;H9&lt;br /&gt;        PRINT HEX$(INP(&amp;H71))&lt;br /&gt;&lt;br /&gt;        DO&lt;br /&gt;          LOCATE 13, 35&lt;br /&gt;          OUT &amp;H70, 0&lt;br /&gt;          PRINT HEX$(INP(&amp;H71)); ":";&lt;br /&gt;          OUT &amp;H70, 2&lt;br /&gt;          PRINT HEX$(INP(&amp;H71)); ":";&lt;br /&gt;          OUT &amp;H70, 4&lt;br /&gt;          PRINT HEX$(INP(&amp;H71))&lt;br /&gt;        LOOP UNTIL INKEY$ &lt;&gt; ""&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        'Anda dapat Menghapus Setting BIOS dengan kode berikut&lt;br /&gt;        'Diambil dari software BIOS 3.1 Crack&lt;br /&gt;        '&lt;br /&gt;        'Catatan : Jangan mencoba program ini tanpa pengetahuan tentang&lt;br /&gt;        'setting BIOS, segala yang anda lakukan adalah resiko anda&lt;br /&gt;        'sendiri&lt;br /&gt;        '&lt;br /&gt;        'mov dx, 070h&lt;br /&gt;        'mov al, 02Eh&lt;br /&gt;        'out dx, al&lt;br /&gt;        'inc dx&lt;br /&gt;        'xor al, al&lt;br /&gt;        'out dx, al&lt;br /&gt;        'mov dx, 070h&lt;br /&gt;        'mov al, 02Fh&lt;br /&gt;        'out dx, al&lt;br /&gt;        'inc dx&lt;br /&gt;        'xor al, al&lt;br /&gt;        'out dx, al&lt;br /&gt;        'int 20h&lt;br /&gt;        '&lt;br /&gt;        'Adapun Kode QBasicnya adalah sebagai berikut :&lt;br /&gt;        '&lt;br /&gt;        PRINT "Program reset BIOS"&lt;br /&gt;        PRINT "Proses ..."&lt;br /&gt;        OUT &amp;H70, &amp;H2E&lt;br /&gt;        OUT &amp;H71, &amp;H00&lt;br /&gt;        OUT &amp;H70, &amp;H2F&lt;br /&gt;        OUT &amp;H71, &amp;H00&lt;br /&gt;        PRINT "Selesai !"&lt;br /&gt;        END&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3515019263649678197-791796552970745177?l=nursahid447.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nursahid447.blogspot.com/feeds/791796552970745177/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3515019263649678197&amp;postID=791796552970745177' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/791796552970745177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/791796552970745177'/><link rel='alternate' type='text/html' href='http://nursahid447.blogspot.com/2008/03/akses-low-level_16.html' title='AKSES LOW LEVEL'/><author><name>jana laksromde</name><uri>http://www.blogger.com/profile/16901278356943551005</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_SMFa6j3YAMo/R-ecRK2lFkI/AAAAAAAAAEA/leTBgzoxbCg/S220/th_Foto454-1-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3515019263649678197.post-154147360767196582</id><published>2008-03-13T15:11:00.000+07:00</published><updated>2008-03-16T16:05:26.870+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Artikel'/><title type='text'>Membangun Postur Mental Menang</title><content type='html'>Masalah adalah makanan sehari-hari dalam kehidupan. Dari anak-anak sampai tua, semua orang dalam kehidupannya pasti menghadapi masalah. Namun ternyata, untuk satu masalah yang sama, orang yang berbeda bisa saja menghadapinya secara berbeda. Masalah X akan dihadapi secara berbeda oleh A dan B. A tak bisa menyelesaikan masalah X tersebut. Ternyata, B mampu. Mengapa ini bisa terjadi?&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;Posisi Mental&lt;br /&gt;Tak bisa dipungkiri, semua orang membutuhkan strategi mempertemukan keunggulan diri guna melawan kelemahan lawan. Kemenangan atau kekalahan dalam menghadapi problem sebenarnya tidaklah diukur oleh besar-kecil problem yang mayoritas telah didefinisikan oleh pencitraan umum sebagai suatu persoalan yang sulit, tidak mungkin atau sudah dicoba banyak orang tetapi gagal. Kenyataannya kemenangan dihasilkan oleh strategi bagaimana anda mendifinisikan keunggulan di dalam dan kekurangan di luar sehingga mampu memilih posisi untuk menempatkan postur diri (disebut juga postur mental) secara tepat di hadapan problem. Postur Diri adalah posisi mental tertentu yanganda gunakan dalam melihat suatu persoalan. Secara umum posisi mental setiap orang dapat &lt;br /&gt;dikategorikan sebagai berikut :&lt;br /&gt;&lt;br /&gt;A. Pemenang&lt;br /&gt;Problem seakan-akan seekor gajah dan mayoritas orang menempati posisi mental seperti yang dilakukan orang buta yang meraba gajah tersebut. Dengan posisi mental demikian maka apa yang didefinisikan tentang problem tidak bisa menjabarkan sisi mana yang lebih sederhana dan lebih dulu diselesaikan kecuali hanya dimiliki oleh sedikit orang dengan posisi pemenang. Karakteristik dominan dari seorang postur pemenang adalah sebagai berikut :&lt;br /&gt;&lt;br /&gt;1. Realistik - menempatkan posisi mental berada di atas realitas, tidak tenggelam di dalamnya.&lt;br /&gt;2. Mengakui - menerima diri, orang lain, dan keadaan dengan memahami hal-hal itu sebagaimana adanya (understanding as they are).&lt;br /&gt;3. Sederhana - mampu menempatkan diri secara tepat : tidak kurang dan tidak lebih&lt;br /&gt;4. Problem Solving - melihat persoalan dari partikulasi atau sudut yang paling mungkin untuk diselesaikan.&lt;br /&gt;&lt;br /&gt;Dengan posisi mental sebagai pemenang maka sangat dimungkinkan bahwa seseorang akan menghasilkan kemenangan di akhir pertandingan melawan problem hidupnya. Setidaknya pun ia masih belum menang secara total tetapi setidaknya sudah bisa mengalahkan mentalitas kalah di dalam dirinya.&lt;br /&gt;&lt;br /&gt;B. Pecundang&lt;br /&gt;Posisi mental kalah atau pecundang adalah kualitas mental yang melihat problem sebagai masalah absolut, sebuah alasan yang dijustifikasi, dan bukan tantangan yang menuntut solusi. Kekalahan itu bisa diekspresikan dengan penolakan dalam bentuk kerelaan hilangnya harga-diri sebagai manusia normal. Postur pecundang ini tidak bisa dilepaskan dari gaya hidup berbasis problem yang melihat kenyataan dengan kacamata masalah. Karakteristik dari gaya hidup berbasis problem adalah :&lt;br /&gt;&lt;br /&gt;1. Ketakutan terhadap sesuatu.&lt;br /&gt;2. Terintimidasi harapan pihak lain.&lt;br /&gt;3. Kebiasaan yang salah dalam menangani masalah.&lt;br /&gt;4. Perilaku reaktif semata.&lt;br /&gt;&lt;br /&gt;Dampak paling buruk dari postur pecundang adalah kerelaan hilangnya harga diri. Kerelaan ini kalau didukung dengan keberanian akan menghasilkan tindakan yang tidak saja merugikan diri sendiri melainkan tindakan brutal yang menghalalkan segala cara dan tentu saja merugikan orang lain.&lt;br /&gt;&lt;br /&gt;C. Pasrah&lt;br /&gt;Postur ini secara kualitatif berada di antara kedua postur di atas atau lebih tepatnya dikatakan postur berpotensi menang atau kalah, tergantung kemauannya untuk berkembang. Ciri khas yang paling menonjol adalah mempermasalahkan masalah yang sedang menimpanya sebab bagi dirinya masalah adalah sebatas apa yang ia rasakan tidak enak. Biasanya ia sama sekali tidak mengambil prakarsa solusi secara keseluruhan atau bagiannya sebab merasa orang lain di dekatnya lebih mampu. Penyebab dari postur ini adalah kekurangan perangkat sumber daya berupa: pengetahuan atau ketrampilan.&lt;br /&gt;&lt;br /&gt;Bagaimana Menjadi Pemenang?&lt;br /&gt;Dari ketiga postur di atas, tentu kita ingin diri kita menjadi pemenang, bukan yang pasrah atau pun pecundang. Bagaimana cara untuk mempunyai postur mental pemenang. Prinsip dasar pembelajaran-diri adalah manusia dilahirkan untuk menyelesaikan semua bentuk problem: kesulitan, dilema, teka-teki, atau misteri. Sesuai dengan perubahan dan kemajuan maka kompleksitas tiap bentuk pun bertambah sehingga mau tidak mau menuntut perbaikan kemampuan menciptakan solusi secara terus-menerus untuk menjadi lebih baik. Posisi mental pemenang dihasilkan dari upaya pembelajaran-diri secara terus menerus, perbaikan dan peningkatan dari beberapa materi berikut :&lt;br /&gt;&lt;br /&gt;1. Membangun Karakter&lt;br /&gt;Posisi mental pemenang merupakan cerminan karakter mental menang dan karakter menang didasarkan pada sejauhmana anda menjiwai keaslian diri anda. Orang yang memahami secara utuh siapa dirinya dengan peranan yang harus dimainkan, memahami bagaimana lingkungan dan masalah yang dihadapi maka ia akan menghasilkan karakter superior di mana ia menginjakkan kaki di atas bumi realitas tanpa was-was, atau rasa khawatir atas ancaman yang muncul dari sesuatu yang tidak diketahui atau virus "Jangan-jangan kalau..."&lt;br /&gt;Dalam menghadapi bentuk dan jenis problem yang sama masing-masing individu bisa memiliki karakter berbeda: kalah - menang. Karakter kalah sudah lebih dulu dikuasai oleh citra yang dibuat sendiri atau kerelaan menerima secara utuh definisi atau citra dari orang lain bahwa postur problem yang dihadapi lebih besar dan tidak lagi terbuka celah untuk dilumpuhkan.&lt;br /&gt;Memiliki posisi mental pemenang atas problem yang anda hadapi diawali dari upaya kristalisasi karakter mental menang bahwa diri anda lebih besar dari problem; bahwa jumlah solusi yang mampu anda temukan lebih banyak dari jumlah problem yang anda hadapi; bahwa anda memahami siapa diri anda: kekuatan, kelemahan, dan apa yang akan dilakukan. Karakater inilah yang harus terus-menerus anda bangun.&lt;br /&gt;&lt;br /&gt;2. Membangun Keyakinan&lt;br /&gt;Menghadirkan posisi pemenang atas problem mutlak membutuhkan keyakinan atas kepercayaan diri. Percaya diri dibentuk dari sejumlah alasan faktual tentang kemenangan masa lalu anda atas berbagai persoalan. Semakin banyak kesuksesan masa lalu yang anda kumpulkan akan menjadikan anda semakin "PD" menghadapi persoalan sekarang. Meskipun secara data tehnis bisa jadi berbeda antara problem masa lalu dan sekarang tetapi yang perlu anda kembangkan adalah karakter mental dan rasa percaya diri.&lt;br /&gt;Selain rasa percaya diri, bentuk keyakinan yang perlu anda kembangkan adalah keyakinan atas kekuatan yang menjadi sumber segala kekuatan di luar diri anda, yaitu keyakinan Anda tentang kekuasaan Allah Subhanahu wa Ta'ala. Orang yang tidak punya keyakinan bahwa dirinya dilindungi, dibantu, dijamin perbuatannya tidak sia-sia, maka postur diri yang dihasilkan adalah postur pasrah atau kalah. Persoalannya adalah bagaimana orang bisa "mendekati" Allah Subhanahu wa Ta'ala sehingga kekuatan-Nya yang begitu besar tidak dimubazirkan oleh cara memahami yang kurang sesuai.&lt;br /&gt;&lt;br /&gt;3. Membangun Dukungan&lt;br /&gt;Dukungan orang lain adalah power bagi anda untuk menghasilkan posisi mental pemenang. Tetapi mendapatkan dukungan adalah akibat dari usaha anda menciptakan alasan bagi orang lain bahwa anda layak didukung. Semua itu perlu dimulai dari dalam guna membangun kepercayaan dan kredibilitas secara moral dan professional. Moral adalah manifestasi kepribadian yang dibentuk oleh nilai-nilai luhur seperti kejujuran, keikhlasan, pengabdian dan lain-lain, sementara profesionalitas adalah penguasaan ketrampilan atau pengetahuan khusus.&lt;br /&gt;Untuk mendapatkan dukungan secara utuh, sebaiknya anda menjalankan program kelayakan dipercaya secara bersamaan: moral dan professional. Sebab kenyataan membuktikan bahwa kelayakan yang dibangun hanya dari salah satu unsur itu menyimpan kata 'tetapi' di akhirnya yang menandakan tidak utuh: "Anda jujur tetapi...?" Atau "Anda pintar tetapi..?"&lt;br /&gt;Membangun postur diri adalah pencapaian kualitas mental dalam menghadapi problem kehidupan dari waktu ke waktu. Prinsip yang paling mendasar adalah problem bukanlah 'kenyataan beku absolut yang tak bisa diubah' tetapi murni 'bayang-bayang pikiran' yang menyisakan sekian banyak sudut pandang. Kemenangan dan kekalahan dalam melawan problem bukan ditentukan oleh ukuran besar-kecil problem.&lt;br /&gt;Akan tetapi posisi mental yang kita pilih secara rasional untuk mengambil posisi mental pemenang. Sebab fakta alamiah menunjukkan bahwa semakin "besar" ukuran seseorang semakin besar pula ukuran problem yang dihadapi. Selamat mencoba.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3515019263649678197-154147360767196582?l=nursahid447.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nursahid447.blogspot.com/feeds/154147360767196582/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3515019263649678197&amp;postID=154147360767196582' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/154147360767196582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/154147360767196582'/><link rel='alternate' type='text/html' href='http://nursahid447.blogspot.com/2008/03/masalah-adalah-makanan-sehari-hari_1159.html' title='Membangun Postur Mental Menang'/><author><name>jana laksromde</name><uri>http://www.blogger.com/profile/16901278356943551005</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_SMFa6j3YAMo/R-ecRK2lFkI/AAAAAAAAAEA/leTBgzoxbCg/S220/th_Foto454-1-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3515019263649678197.post-5765754044339252842</id><published>2007-12-01T12:34:00.001+07:00</published><updated>2007-12-01T12:37:21.547+07:00</updated><title type='text'></title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="color: rgb(51, 51, 255); font-weight: bold;font-family:courier new;" &gt;Monggo dipun serat&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3515019263649678197-5765754044339252842?l=nursahid447.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nursahid447.blogspot.com/feeds/5765754044339252842/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3515019263649678197&amp;postID=5765754044339252842' title='4 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/5765754044339252842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3515019263649678197/posts/default/5765754044339252842'/><link rel='alternate' type='text/html' href='http://nursahid447.blogspot.com/2007/11/monggo-dipun-serat_30.html' title=''/><author><name>jana laksromde</name><uri>http://www.blogger.com/profile/16901278356943551005</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_SMFa6j3YAMo/R-ecRK2lFkI/AAAAAAAAAEA/leTBgzoxbCg/S220/th_Foto454-1-1.jpg'/></author><thr:total>4</thr:total></entry></feed>
