Sabtu, 20 Mei 2017

Mengenal Lokomotif CC 203

   Lokomotif CC 203 adalah lokomotif diesel elektrik milik PT Kereta Api Indonesia yang diproduksi oleh General Electric Transportation dan PT GE Lokomotif Indonesia dengan nomor model U20C. Menurut Ir. Hartono, A.S., M.M., dosen STTD Bekasi, dalam komentarnya di Majalah KA edisi Mei 2014, lokomotif ini adalah "lokomotif hasil pengembangan desain dari lokomotif CC 201 dari segi data teknis, namun pada bentuk kabin masinis ujung pendeknya yang aerodinamis, serta diperlebar untuk kenyamanan dan mengurangi penumpang liar."
   Lokomotif ini bergandar Co'Co'. Artinya adalah lokomotif dengan dua bogie yang mempunyai tiga poros/gandar penggerak yang masing-masing digerakkan oleh motor traksi tersendiri.
Yang membedakan adalah lokomotif CC 203 menggunakan motor diesel dengan dua tingkat Turbocharger sehingga dayanya mesinnya 2.150 hp.
  

 SEJARAH OPERASIONAL CC 203

 

   Untuk menyambut peluncuran KA kelas Argo yang masih baru pada tahun 1995, Perumka (nama PT KAI saat itu) mendatangkan lokomotif ini, sebagai penerus dari CC 201 dan dikhususkan sebagai penarik kereta ekspres, langsung dari Amerika Serikat sebanyak 12 unit. Pada awal operasi tahun 1995, lokomotif CC 203 menjadi andalan untuk menarik KA penumpang kelas eksekutif full di Jawa.
Launching (peluncuran) perdana lokomotif CC 203 saat itu bersamaan dengan peresmian kereta api Argo Bromo dan Argo Gede di Stasiun Gambir, Jakarta. Jarang sekali CC 203 berdinas menarik KA ekonomi apalagi KA barang.

   Karena itu, alokasi persebaran lokomotif CC 203 hanya di depot lokomotif yang melayani KA-KA komersial/eksekutif argo/satwa. Depot lokomotif yang mendapat alokasi CC 203 yaitu Jatinegara, Bandung, Cirebon, Semarang Poncol, Yogyakarta, Sidotopo. Depot lokomotif Jember, Madiun dan Purwokerto mendapat alokasi dari ex depot lokomotif Sidotopo, Bandung dan Semarang Poncol meskipun jumlah lokomotif CC 203 yang ada di Jawa berjumlah 37 unit.

   Lokomotif ini juga merupakan lokomotif pertama buatan Indonesia (PT INKA bekerja sama dengan General Electric), karena lokomotif CC 203 13-41 diproduksi di pabrik PT INKA di Madiun.
Berbeda di Jawa, alokasi lokomotif CC 203 juga bisa dijumpai di wilayah operasional Divisi Regional 3 Sumatera Selatan, tepatnya di Subdivre 3.2 Tanjungkarang. Sebanyak 4 unit CC 203 yang beroperasi namun khusus untuk melayani dinasan KA pulp & kayu karena memang sarananya milik PT Tanjung Enim Lestari Pulp and Paper (PT TEL).
   Namun saat ini CC 203 di Divre 3 kondisinya telah memprihatinkan dan terancam tidak bisa berdinas lagi (karena pada awal pengoperasiannya loko ini selalu diforsir), bahkan KA pulp PT TEL sekarang lebih sering ditarik lokomotif CC 204 atau CC 202 yang lebih handal untuk angkutan barang.

CC 203 40 (CC 203 02 03) menarik kereta api Pasundan.
Hadirnya lokomotif CC 204 ternyata menggeser keberadaan CC 203 selama ini, sebagai penarik kereta ekspres. Namun, sejak dimutasinya semua lokomotif CC 204, peran CC 203 pun tergusur dengan lokomotif CC 206 yang memiliki dua kabin masinis. Maka, saat ini CC 203 hanya menarik kereta-kereta bisnis, campuran, dan ekonomi jarak jauh dan jarang menarik kereta eksekutif karena perannya telah tergantikan oleh CC 206.

KINERJA CC 203


Mesin dan desain

CC 203 menggunakan mesin yang sama dengan CC 201, yaitu GE 7FDL-8. Desain kabin yang aerodinamis dibuat di Goninan Locomotive Work (kini UGL Rail) di Australia dengan desain dari General Electric. Sekarang kabin juga dibuat di PT INKA untuk keperluan perbaikan dan restorasi.
Pada dasawarsa 2000-an, lokomotif ini sempat dipasangi semacam topi yang kemungkinan merupakan kotak AC, namun akhirnya dihilangkan. Sejumlah foto-foto lawas CC203 semasa menggunakan livery Departemen Perhubungan banyak yang memperlihatkan lokomotif yang masih dipasangi kotak AC tersebut.

Logo dan livery


Selain itu, kecuali CC 203 31 - CC 203 34, dulu terdapat logo Kementerian Perhubungan di bagian depan/shorthood-nya yang merupakan ciri khas yang mencolok pada lokomotif ini sebab pembuatan lokomotif ini selain didanai oleh perusahaan General Electric sendiri juga dibantu dengan dana dari pemerintah melalui Kementerian Perhubungan. Namun sekarang semua unit lokomotif ini menggunakan logo PT KAI terbaru sekaligus skema livery baru, tanpa menggunakan lagi logo tersebut. Untuk CC 203 31 - CC 203 34 menggunakan striping khas PT TEL sebagai pemilik lokomotif tersebut, yaitu hijau.

Alokasi CC 203

Indonesia membuat lokomotif ini sejak tahun 1995-2000. Terdiri dari empat generasi, yaitu:
  • CC 203 generasi I (produksi 1995, nomor 01-12, buatan GE Transportation, Amerika Serikat)
  • CC 203 generasi II (produksi 1997-1998, nomor 13-30)
  • CC 203 generasi III (produksi 1999-2000, nomor 31-37)
  • CC 203 generasi IV (produksi 2000, nomor 38-41)
     
    Sampai saat ini jumlahnya adalah 37 unit di Jawa dan 4 unit di Lampung. Alokasinya saat ini adalah sebagai berikut.
    Depo Induk Lokomotif
    Jatinegara (JNG) CC 203 15 (CC 203 98 03), CC 203 16 (CC 203 98 04), CC 203 17 (CC 203 98 05), CC 203 18 (CC 203 98 06), CC 203 19 (CC 203 98 07), CC 203 20 (CC 203 98 08), CC 203 21 (CC 203 98 09), CC 203 22 (CC 203 98 10), CC 203 23 (CC 203 98 11)
    Bandung (BD) CC 203 02 (CC 203 95 02), CC 203 03 (CC 203 95 03), CC 203 04 (CC 203 95 04), CC 203 05 (CC 203 95 05), CC 203 06 (CC 203 95 06)
    Purwokerto (PWT) CC 203 07 (CC 203 95 07), CC 203 08 (CC 203 95 08), CC 203 09 (CC 203 95 09), CC 203 12 (CC 203 95 12), CC 203 13 (CC 203 98 01)
    Madiun (MN) CC 203 11 (CC 203 95 11), CC 203 30 (CC 203 98 18), CC 203 35 (CC 203 01 05), CC 203 41 (CC 203 02 04)
    Semarang Poncol (SMC) CC 203 28 (CC 203 98 16), CC 203 29 (CC 203 98 17)
    Yogyakarta (YK) CC 203 01 (CC 203 95 01), CC 203 10 (CC 203 95 10)
    Sidotopo (SDT) CC 203 25 (CC 203 98 13), CC 203 26 (CC 203 98 14), CC 203 27 (CC 203 98 15), CC 203 36 (CC 203 01 06), CC 203 37 (CC 203 01 07), CC 203 38 (CC 203 02 01), CC 203 39 (CC 203 02 02), CC 203 40 (CC 203 02 03).
    Jember (JR) CC 203 14 (CC 203 98 02), CC 203 24 (CC 203 98 12)
    Tanjung Karang (TNK), Lampung CC 203 31 (CC 203 01 01), CC 203 32 (CC 203 01 02), CC 203 33R (CC 203 01 03), CC 203 34 (CC 203 01 04)    
     
     

    Data teknis


    Sumber tenaga Diesel elektrik
    Desainer GE Transportation dan UGL Rail
    Produsen GE Transportation
    PT GE Lokomotif Indonesia
    Nomor seri CC 203
    Model GE U20C
    Tanggal dibuat 1995-2000
    Jumlah dibuat 42 unit
    Spesifikasi roda
    Susunan roda AAR C-C
    Klasifikasi UIC Co'Co'
    Dimensi
    Lebar sepur 1067 mm
    Diameter roda 914 mm
    Panjang 14.135 mm
    Lebar 2.642 mm
    Tinggi maksimum 3.637 mm
    Jarak antara alat perangkai 15.214 mm
    Jarak antarpivot 7.680 mm
    Jarak gandar 3.304 mm
    Tinggi alat perangkai 775 mm
    Berat
    Berat kosong 78 ton
    Berat siap 84 ton
    Berat adhesi 84 ton
    Bahan bakar
    Jenis bahan bakar High-Speed Diesel
    Kapasitas bahan bakar 3.028 liter
    Kapasitas pelumas 984 liter
    Kapasitas air pendingin 684 liter
    Kapasitas bak pasir 510 liter
    Sistem mesin
    Penggerak utama GE 7FDL-8
    Jenis mesin 4 langkah, 2 tingkat Turbocharger
    Generator GT 581
    Motor traksi 6 unit
    Tipe: GE 761, DC-DC
    Kinerja
    Perbandingan roda gigi 90:21
    Kecepatan maksimum 120 km/jam
    Kecepatan minimum kontinu 24 km/jam
    Daya mesin 2.150 hp
    Daya ke generator/converter 2.000 hp
    Jari-jari lengkung terkecil 56.7 m
    Lain-lain
    Rem lokomotif Rem udara tekan, dynamic brake, rem parkir
    Sistem keselamatan Locotrack, Vigilance control panel
    Tipe kompresor Gardner Denver WBO
    Jenis suling/klakson lokomotif WABCO AA-2
    Informasi kepemilikan dan karier
    Perusahaan pemilik PT Kereta Api Indonesia
    PT Tanjung Enim Lestari Pulp and Paper
    Daerah operasi Pulau Jawa dan Sumatera Selatan
    Mulai dinas 1995
    bersamaan dengan peluncuran KA Argo Bromo
    Keadaan Semua beroperasi

    Sumber data
    Wikidata:GE U20C locomotives
    Wikipedia CC 203 PT. INKA
    Majalah KAI Edisi Mei 2014, halaman 6 s.d. 19  

Jumat, 19 Mei 2017

OPPO F3

   Tak bisa dipungkiri bahwa Oppo menjadi salah satu smartphone tersukses di Indonesia pada tahun 2016 lalu. Hal tersebut tentu tak lepas dari deretan smartphone selfie yang diluncurkan tahun 2016 lalu. Seperti Oppo F1, Oppo F1 Plus dan Oppo F1s. Dan untuk tahun 2017 ini Oppo juga telah mempersiapkan seri terbaru dari F Series yang bernama Oppo F3.


   Selain memiliki tampilan mewah dengan body metal, Oppo F3 ini juga hadir dengan sederet spesifikasi berkualitas dan memiliki mutu tinggi. Seperti, didukung dengan ukuran layar lebar 5,5 inci resolusi 1080 x 1920 yang terlihat sangat jernih dan mempesona, Apalagi masih dimaksimalkan dengan teknologi layar IPS LCD yang mampu menyuguhkan sudut pandang luas pada layar. Lebih sempurnaya lagi layarnya juga sudah dilapisi dengan Gorilla Glass 5 untuk memproteksi lebih pada layar.
   Dari keluarga F Series, tentu sektor kamera juga menjadi salah satu yang diunggulkan dari Oppo F3 ini. Benar saja ponsel terbaru Oppo ini dilengkapi dengan lensa kamera utama 13 MP +PDAF, dan LED Flash. yang menarik untuk kebutuhan foto selfienya, Oppo F3 ini mengandalkan dual kamera depan 16 MP + 8 MP + Screen Flash yang sangat menyenangkat ketika digunakan untuk selfie dan vidio call.
   Dalam hal softwarenya, menjalankan OS Android marsmallow yang dibalut dengan ColorOS 3.0, sementara untuk hardwarenya ditenagai dengan prosesor Mediatek MT6750T, Octa-core 1.5 GHz Cortex-A53 yang dipadukan dengan RAM 4 GB, sehingga kinerja yang dihasilkan lebih responsif.      Dengan sederet spesifikasi unggulan tentu kinerjanya juga akan menghabiskan daya baterai, untungnya Oppo F3 ini sudah dilengkapi dengan baterai cukup besar 3200 mAh lengkap dengan fast charging.

Harga dan Spesifikasi Oppo F3


Harga  Rp 4,3 Jutaan
SPESIFIKASI
Status  SudahTersedia
Jaringan 2G GSM, 3G HSDPA, HSPA
4G LTE Cat4 150/50 Mbps
Dual SIM, Nano SIM
Dimensi Dimensi : 153.3 x 75.2 x 7.3 mm
Berat : 153 gram
Material Bahan : Full Metal
LED Notifikasi : Ada
Layar Lebar : 5,5 inci IPS LCD Capacitive
Resolusi : 1080 x 1920 pixel, Kepadatan Layar : ~ 401 ppi
Corning Gorilla Glass 5, 2,5D Curved Screen
Sistem Operasi Android OS Marsmallow
User Interface : ColorOS 3.0
Prosesor Chipset : Mediatek MT6750T
CPU : Octa-core 1.5 GHz Cortex-A53
GPU : Mali-T860MP2
Kamera Kamera Belakang : 13 MP, f/2.2, phase detection autofocus, LED flash
Vidio 2160p@30fps
Kamera depan : Dual 16 MP (1/3.1″ sensor size, f/2.0) + 8 MP, f/2.4
Memori Memori Internel : 64 GB
RAM : 4 GB
Slot MicroSD 256 GB
Konektifitas Wi-Fi 802.11 a/b/g/n, WiFi Direct, hotspot, microUSB 2.0, USB On-The-Go
Sensor Fingerprint , Ambient Light, Proxymity, Accelometer, Gyroscope, Compass
Baterai Li-Ion 3200 mAh
Non-Removable, Fast Charging
Warna Gold, Rose Gold
Kelebihan Oppo F3
  • Suguhkan tampilan menggoda dengan body metal aluminium yang kan menunjang penampilan kamu jadi lebih elegan dan berkelas
  • Layar super lebar 5,5 inci dengan resolusi 1080 x 1920 pixel yang sangat nyaman digunakan untuk menikmati segala konten media seperti main game atau nonton vidio.
  • Dengan panel layar IPS LCD yang menyuguhkan tampilan layar terlihat lebih bagus dengan menyuguhkan sudut pandang luas pada layar
  • Ditambah lagi juga sudah disediakan Gorilla Glass 5 yang akan memberikan proteki lebih bagi layar
  • Koneksi internetnya sudah mendukung 4G LTE, sehingga browsing internet lebih cepat dan mudah
  • Beroperasi dengan Dual SIM yang dapat aktif bersamaan, sehingga takperlu bongkar pasang SIM card
  • Kinerja cukup ngebut dengan dukungan prosesor Mediatek MT6750T, Octa-core 1.5 GHz Cortex-A53
  • Dibekali memori RAM yang sangat besar 4 GB untuk performa lebih mantab dan smooth saat digunakan untuk menjalankan aplikasi
  • Dapat digunakan untuk menyimpan banyak data dengan memori internal 64 GB yang masih dapat dimaksimalkan dengan Slot MicroSD 256 GB
  • Mengandalkan kamera utama beresolusi 13 MP yang telah dilengkapi dengan PDAF dan LED Flash yang mampu menyuguhkan hasil foto lebih berkualitas
  • Kamera utamanya juga dapat digunakan untuk melakukan perekaman 2160p@30fps
  • Selain itu juga dilengkapi dengan Dual kamera depan beresolusi 16 MP dan 8 MP, sehingga kegiatan foto selfie jadi lebih mengasikkan
  • Sementara untuk sokongan dayanya ditenagai dengan baterai cukup besar 3200 mAh yang dapat digunakan untuk menunjang kinerja smartphone dengan baik
  • Selain itu juga telah dilengkapi dengan fast charging untuk pengisian baterai jadi lebih cepat dan mudah

Kekurangan Oppo F3
  • Belum dilengkapi dengan IP68 ( Tahan air dan debu )
  • Baterai bersifat Non-Removable alias tidak bisa dilepas 
  •  
  Nah demikian informasi yang saya dapat sampaikan mengenai Spesifikasi, Fitur, Kelebihan dan Kekurangan serta referensi Harga Oppo F3. Informasi tersebut kami rangkum dari berbagai sumber yang dapat dipercaya. Terima kasih telah mengunjungi enriquegerard.blogspot.com Semoga Bermanfaat..

Kamis, 18 Mei 2017

Borland C++



BORLAND C ++
Contoh 1-2 :
#include <conio.h>
#include <dos.h>
#include <stdlib.h>
#define VIDEO_INT 0x10  // BIOS Video Interrupt


int main(void)

{

union REGS in, out;   // Deklarasi variabel


in.h.ah = 0x09;       // AH = 9 heksadesimal
in.h.al = 'E';        // AL = 41 heksadesimal, huruf A
in.h.bh = 0x00;     // BH = 0, halaman video
in.h.bl = 0x09;       // BL = 9, warna huruf dan dasar
in.h.ch = 0x00;       // CH dan CL menentukan banyak
in.h.cl = 0x05;       // huruf yang akan dicetak

clrscr();

int86(VIDEO_INT, &in, &out);

getch();


return EXIT_SUCCESS;
]

Contoh 3-4:
#include <conio.h>
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>

#define VIDEO_INT 0x10         //Nonor Interupsi 10h
#define UCHAR unsigned char

void setMode(UCHAR mode);       //Deklarasi Fungsi untuk
                             //Mengubah mode VIDEO
int main(void)
{
 printf("Tekan ENTER untuk mengubah gerakan. . .\n");
  getch();
setMode(0x20);                //Ubah mode video
printf("Mode 02 heksadesimal.\n");  // Informasi
printf("Tekan Enter Untuk Kembali Ke Gerakan Normal. . .");
getch();
setMode(0x20);               // Kembali ke mode normal
printf("*Gerakan Normal*\n");
getch();
return EXIT_SUCCESS;
}
void setMode(UCHAR mode)
{
union REGS in, out;          // Deklarasi variabel
in.h.ah = 0x09;              // Register AH = 0
in.h.al = mode;              // Register AL = mode
int86(VIDEO_INT, &in, &out);    // Jalankan interupsi
return;
}
Contoh 5:
#include <conio.h>
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>

#define VIDEO_INT 0x10

void getMode(union REGS *reg);

int main(void)
{
union REGS layar;

getMode(&layar);

printf("Informasi Layar\n");
printf("Banyak kolom\t\t: %d\n", layar.h.ah);
printf("Nomor mode\t\t: %0x\n", layar.h.al);
printf("Halaman tampilan\t: %d\n", layar.h.bh);

getch();

return EXIT_SUCCESS;
}
void getMode(union REGS *reg)
{
union REGS *in;
in->h.ah = 0x19;
int86(VIDEO_INT, in, reg);
return;
}
Contoh 6:
#include <conio.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);

int main(void)
{
UCHAR baris, kolom;

getCursorPos(&baris, &kolom);  // Baca posisi kursur
writeChar('1', 0x6f);          // Cetak huruf 1
setCursorPos(baris, ++kolom);  // Pindahkan kursor
writeChar('3', 0x6f);          // Cetak huruf 3
setCursorPos(baris, ++kolom);  // Pindahkan kursor
writeChar('1', 0x6f);          // Cetak huruf 1
setCursorPos(baris, ++kolom);  // Pindahkan kursor
writeChar('6', 0x6f);          // Cetak huruf 6
setCursorPos(baris, ++kolom);  // Pindahkan kursor
writeChar('1', 0x6f);          // Cetak huruf 1
setCursorPos(baris, ++kolom);  // Pindahkan kursor
writeChar('1', 0x6f);          // Cetak huruf 1
setCursorPos(baris, ++kolom);  // Pindahkan kursor
writeChar('3', 0x6f);          // Cetak huruf 3
setCursorPos(baris, ++kolom);  // Pindahkan kursor
writeChar('9', 0x6f);          // Cetak huruf 9
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;
}


Contoh 7:
#include <conio.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)
{
UCHAR baris, kolom;
getCursorPos(&baris, &kolom);   // Baca posisi kursor
writeChar('>', 0x5f);           // Cetak karakter >

setCursorPos(baris, ++kolom);   // Pindahkan kursor
writeString(" 13161139 ", 0x9f);
getCursorPos(&baris, &kolom);
setCursorPos(baris, ++kolom);
writeChar('<', 0x5f);           // Cetak karakter <
setCursorPos(baris, ++kolom);   // Pindahkan kursor
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 sampai kolom
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;
}


Contoh 8:
#include <conio.h>
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>

#define VIDEO_INT 0x10         // Nomor interupsi video
#define UCHAR unsigned char    // Tipe data UCHAR

UCHAR getCharAttr(UCHAR *attr);

int main(void)

{

UCHAR huruf, warna;

clrscr();                       // Bersihkan layar
gotoxy(10, 10); textcolor(20);   // Warna karakter
textbackground(1);              // Warna dasar karakter
cprintf(" ENRIQUE GERARD ");     // Cetak string
gotoxy(11, 10);                  // Pindah posisi kursor

huruf = getCharAttr(&warna);    // Baca nilai karakter
                                            // dan atributnya
gotoxy(1, 7);
printf("Karakter pada baris 5 kolom 13: %c\n", huruf);
printf("Warna\\atribut dari karakter  : %#x\n", warna);
getch();

return EXIT_SUCCESS;
}

UCHAR getCharAttr(UCHAR *attr) // Fungsi untuk membaca

{                              // karakter dan atributnya

union REGS in, out;          // pada posisi kursor


in.h.ah = 0x08;              // AH = 8 heksadesimal
in.h.bh = 0x00;              // BH = 0, halaman layar
int86(VIDEO_INT, &in, &out); // Lakukan interupsi

*attr = out.h.ah;    // Salin nilai AH di attr

return out.h.al;         // Kembalikan nilai AL

}

Contoh 9:
#include <conio.h>
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>

#define VIDEO_INT 0x10
#define UCHAR unsigned char

void setMode(UCHAR mode);
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)
{
UCHAR baris, kolom;
UCHAR pilih;

setMode(3);
setCursorPos(4, 4); writeChar(213, 0x17);
setCursorPos(4, 74); writeChar(184, 0x17);
setCursorPos(20, 4); writeChar(192, 0x17);
setCursorPos(20, 74); writeChar(217, 0x17);

for (baris = 5; baris < 20; baris++)
{
setCursorPos(baris, 4); writeChar(179, 0x17);
setCursorPos(baris, 74); writeChar(179, 0x17);
}

for (kolom = 5; kolom < 74; kolom++)
{
setCursorPos(4, kolom); writeChar(205, 0x17);
setCursorPos(20, kolom); writeChar(196, 0x17);
}
setCursorPos(4, 5); writeChar(181, 0x17);
setCursorPos(4, 6);
writeString("ENRIKO GERARDIUS 13161139", 0x8f);
setCursorPos(4, 55); writeChar(198, 0x17);
for (baris = 20; baris < 20; baris++)
{
for (kolom = 20; kolom < 74; kolom++)
{
setCursorPos(baris, kolom);
writeChar(0x10, 0x1e);
}

}
setCursorPos(19, 47);
writeString("Akhiri program (Y/T)? [   ]", 0x5e);

for (;;)
{
setCursorPos(19, 71);
pilih = getch();
writeChar(pilih, 0x1e);
if ((pilih == 'Y') || (pilih == 'y'))
break;
}
return EXIT_SUCCESS;
}
void setMode(UCHAR mode)  // Mengubah mode
{                         // tampilan layar
asm mov ah, 0x00;       // Register AH = 0
asm mov al, mode;       // Register AL = mode
asm int VIDEO_INT       // Lakukan interupsi
return;
}
void getCursorPos(UCHAR *y, UCHAR *x)  // Baca posisi 20
{                                   // 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 sampai kolom
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;
}

Contoh 10:

#include <dos.h>
#include <stdlib.h>
#include "screen.cpp" // Header screen.cpp

int main(void)
{
UCHAR i, j;
Screen *layar = new Screen();

layar->setAttribute(0x9f);
layar->setActivePage(0);
layar->writeString("13161139");
layar->setAttribute(0xcf);
layar->setActivePage(1);
layar->writeString("Enriko Gerardius");

for (i = 1; i < 11; i++)
{
j = i % 2;
layar->setVisualPage(j);
delay(2000);
}

Tugas Jaringan Komputer IV

TUGAS JARINGAN KOMPUTER IV Resume Pertemuan 1 – 13   Pengertian dari jaringan computer adalah :          Jaringan computer adal...