Jumat, 13 Mei 2016

Membuat Progress Bar Pada Borland C++

Mau buat Program seperti ini di Borland C++?



Ini Listingnya,

#include <conio.h>
#include <stdio.h>
#include <dos.h>
#include <stdlib.h>

#define VIDEO_INT 0x10
#define UCHAR unsigned char

void getCursorPos(UCHAR *y, UCHAR *x);
void setCursorPos(UCHAR y, UCHAR x);
void writeChar(UCHAR letter, UCHAR attr);
void writeString(UCHAR *str, UCHAR attr);

int main(void)
{
   unsigned short int i, jeda;

    setCursorPos(3,10);
    writeString("Contoh Progress Bar", 0x0f); // Cetak String
    setCursorPos(4,10);
    writeString("-------------------", 0x0f); // Cetak String Garis
    setCursorPos(5,10);
    writeString("Waktu Jeda (maks. 3) :    Detik", 0x0f); // Cetak String
   setCursorPos(5,34);

   scanf("%hu",&jeda);
   jeda *= 100;

    setCursorPos(8,10);
    writeChar(0xda, 0x0f); // Cetak Sudut kiri atas
    setCursorPos(8,34);
    writeChar(0xbf, 0x0f); // Cetak sudut kanan atas
    setCursorPos(10,10);
    writeChar(0xc0, 0x0f); // Cetak sudut kiri bawah
    setCursorPos(10,34);
    writeChar(0xd9, 0x0f); // Cetak sudut kanan bawah
    setCursorPos(9,10);
    writeChar(0xb3, 0x0f); // Cetak garis tegak kiri
    setCursorPos(9,34);
    writeChar(0xb3, 0x0f); // Cetak garis tegak kanan

    for(i=11; i<=33; i++)
    {
        setCursorPos(8,i);
        writeChar(0xc4, 0x0f); // Cetak Character
        setCursorPos(10,i); // Pindahkan kursor
        writeChar(0xc4, 0x0f); // Cetak Character
    }

      for (i = 11; i <= 33; i++)
   {
       setCursorPos(9, i);
      writeChar(0xdb,0x0e);
      delay(jeda);
   }

   setCursorPos(9, 36);
   writeString("SELESAI",0x0f);
   getch();

    return EXIT_SUCCESS;
}

void getCursorPos(UCHAR *y, UCHAR *x) // Baca posisi
{ // kursor
    UCHAR row, col;

    asm mov ah, 0x03; // Register AH = 3 heksadesimal
    asm mov bh, 0x00; // Register BH = 0 heksadesimal
    asm int VIDEO_INT; // Lakukan interupsi
    asm mov row, dh; // Salin register DH ke row
    asm mov col, dl; // Salin register DL ke col

    *y = row; *x = col; // Salin row ke y, col ke x

    return;
}

void setCursorPos(UCHAR y, UCHAR x) // Memindahkan
{ // Posisi kursor
    asm mov ah, 0x02; // Register AH = 3 heksadesimal
    asm mov bh, 0x00; // Register BH = 0 heksadesimal
    asm mov dh, y; // Register DH = letak baris
    asm mov dl, x; // Register DL = letak kolom
    asm int VIDEO_INT; // Lakukan interupsi

    return;
}

void writeChar(UCHAR letter, UCHAR attr) // Mencetak
{ // huruf
    asm mov ah, 0x09; // Register AH = 9 heksadesimal
    asm mov al, letter; // Register AL = hurufnya
    asm mov bh, 0x00; // Register BH = 0 heksadesimal
    asm mov bl, attr; // Register BL = warna huruf
    asm mov ch, 0x00; // Register CH dan CL menentukan
    asm mov cl, 0x01; // banyak pencetakan
    asm int VIDEO_INT; // Lakukan interupsi

    return;
}

void writeString(UCHAR *str, UCHAR attr) // Mencetak
{ // string
    UCHAR x, y;

    getCursorPos(&y, &x); // Simpan posisi kursor

    for (; *str != '\0'; str++) // Loop sampai ditemukan
    { // NULL
        if (x > 79)
        { // Jika sudah sampaikolom
            y++; x = 0; // ke-80, pindah baris dan
        } // pindah ke kolom ke-1

    setCursorPos(y, x++); // Pindahkan posisi kursor
    writeChar(*str, attr); // Cetak per karakter
    }

    return;
}

Senin, 11 April 2016

Query DML (Data Manipulation Language)

Merupakan sub bahasa SQL yang berfungsi memanipulasi data yang ada di dalam basis data atau database.
Perintah yang termasuk didalam DML adalah INSERT, SELECT, UPDATE, dan DELETE.

INSERT
Berfungsi untuk menyisipkan, memasukkan, atau menyimpan data dari luar sistem kedalam database.
BU :
INSERT INTO nama_tabel (nama field1, namafield2….,namafield n)
VALUES (value1, value2,…,valuen)
Atau
INSERT INTO nama_tabel
VALUES (value1, value2,…,valuen)
Contoh:
INSERT INTO Mahasiswa (Nim,Nama,Tgl_Lahir, Alamat)
VALUES ("12047021","FAUZI","19/07/1986","KALIBATA")
Atau
INSERT INTO Mahasiswa
VALUES("12047020","RUDI", "08/08/1986","TANGERANG")

SELECT
Menampilkan Isi Dari Data Pada Tabel
Contoh: Select * From Mahasiswa --> Untuk Menampilkan Seluruh Data Pada Tabel Mahasiswa

SELECT INTO
Untuk membentuk tabel baru dengan cara mengcopy (backup) seluruh data dari tabel aktif.
BU:
SELECT nama field1, namafield2….,namafield n
INTO nama_tabel_baru
FROM nama_tabel_aktif
Atau
SELECT *
INTO nama_tabel_baru
FROM nama_tabel_aktif
Contoh:
SELECT * INTO mahasiswa_baru From mahasiswa

UPDATE
Perintah update berfungsi untuk mengubah satu atau lebih data field yang terdapat
pada satu atau lebih record.
BU :
UPDATE nama_tabel SET field=value WHERE kriteria
Atau
UPDATE nama_tabel SET field1=value1, field n=value n WHERE kriteria
Contoh: UPDATE Mahasiswa SET Nama="Pondok Pinang No. 73" WHERE NIM="12047020"

DELETE
Berfungsi untuk menghapus satu atau beberapa record dari suatu tabel.
BU :
DELETE * From nama_tabel WHERE Kriteria
Contoh: DELETE *
From Mahasiswa WHERE Nim="12047020"

Download Materi Disini

Rabu, 23 Maret 2016

Konversi Bilangan Pada C++

Disini kita akan membuat sebuah program aplikasi untuk mengkonversi sebuah nilai karakter menjadi bilangan numerik yang dapat dijumlahkan atau dihitung.

mulailah dengan membuat project dengan
Target Type    : Application(exe)
Platform          : DOS (Standard)
Target Model  : Small
Frameworks   : Class Library
Math Support : Floating Point/Emulation


Script Program:

#include <math.h> /* Deklarasi prototype atof */
#include <stdlib.h> /* Deklarasi prototype gcvt */
#include "screen.cpp" /* Fungsi anggota writeString */

#define KEY_INT 0x16 /* Nomor interupsi keyboard */
#define KEY_BACKSPACE 0x08 /* Tombol Backspace */
#define KEY_RETURN 0x0d /* Tombol Enter */
#define KEY_TAB 0x09 /* Tombol Tab */
#define KEY_SPACE 0x20 /* Tombol spasi */
010
011 #define NULL 0x00 /* ASCII 0 */
012 #define TRUE 1
013
014 UCHAR *getString(Screen *scr, UCHAR *str, UCHAR max);
015
016 int main(void)
017 {
018 Screen *layar = new Screen();
019 double luas, keliling, jari2;
020 UCHAR *str, str2[16];
021
022 layar->setMode(0x03);
023 layar->setCursorPos(5, 10);
024 layar->writeString("Luas dan Keliling Lingkaran");
025 layar->setCursorPos(6, 10);
026 layar->writeString("---------------------------");
027 layar->setCursorPos(8, 10);
028 layar->writeString("Panjang jari-jari =");
029 layar->setCursorPos(8, 30);
030
031 /* Input jari-jari ke dalam variabel str */
032 str = getString(layar, str, 15);
033
034 /* Ubah str menjadi numerik double lalu simpan di jari2 */
035 jari2 = atof(str);
036
037 /* Hitung luas dan keliling lingkaran 

*/
038 luas = M_PI * pow(jari2, 2);
039 keliling = 2 * M_PI * jari2;
040
041 layar->setCursorPos(9, 10);
042 layar->writeString("Luas =");
43
043 layar->setCursorPos(9, 30);
044
045 /* Ubah menjadi string, maks. angka 10 digit */
046 gcvt(luas, 10, str2);
047
048 layar->writeString(str2);
049 layar->setCursorPos(10, 10);
050 layar->writeString("Keliling =");
051 layar->setCursorPos(10, 30);
052
053 /* Ubah menjadi string, maks. angka 10 digit */
054 gcvt(keliling, 10, str2);
055
056 layar->writeString(str2);
057 layar->setCursorPos(12, 10);
058 layar->writeString("Tekan ENTER ...");
059
060 getString(layar, str2, 0);
061
062 delete layar; return EXIT_SUCCESS;
063 }
064
065 UCHAR *getString(Screen *scr, UCHAR *str, UCHAR max)
066 {
067 UCHAR key, i, x, y;
068
069 key = i = 0;
070
071 while (TRUE)
072 {
073 asm mov ah, 0x00;
074 asm int KEY_INT;
075 asm mov key, al;
076
077 if ((key == KEY_BACKSPACE) && (i > 0))
078 {
079 scr->getCursorPos(&y, &x);
080 scr->setCursorPos(y, --x);
081 scr->writeChar(KEY_SPACE);
082
083 *(str + i) = NULL; i--;
084 }
085
086 if ((key >= 32) && (key <= 126) && (i < max))
087 {
088 scr->getCursorPos(&y, &x);
089 scr->writeChar(key);
090 scr->setCursorPos(y, ++x);
091
092 *(str + i) = key; i++;
093 }
094
095 if ((key == KEY_TAB) && (i < max))
096 {
097 scr->getCursorPos(&y, &x);
098 scr->writeChar(KEY_SPACE);
099 scr->setCursorPos(y, ++x);
44
100
101 *(str + i) = KEY_SPACE; i++;
102 }
103
104 if (key == KEY_RETURN)
105 {
106 *(str + i) = NULL;
107 break;
108 }
109
110 if (i == max) *(str + i) = NULL;
111 }
112
113 return str;
114 }

Rabu, 09 Maret 2016

Seminar “Mengajar dengan Kecerdasan Hati dan Spiritual”

Seminar ini diselenggarakan oleh Bina Sarana Informatika pada tanggal 4 Maret 2016 dengan pembicara Prof. Dr. Ir. Marsudi Wahyu Kisworo, beliau adalah Rektor Institute of Perbanas.

Pengenalan HTML

 Pengenalan HTML Hypertext   Markup   Language   (HTML)   adalah   sebuah   bahasa   untuk menampilkan konten di web. HTML sendiri adalah ba...