Tampilkan postingan dengan label CompiLer. Tampilkan semua postingan
Tampilkan postingan dengan label CompiLer. Tampilkan semua postingan

CompiLer mOdeL nUmerik : dEsain pembAngkit kOde simuLasi rEal-timE

Menyajikan desain prosesor bahasa domain-spesifik (domain-specific language (DSL)) yang mengunakan sebuah koleksi aljabar orde pertama, persamaan-persamaan differensial atau beda (difference) sebagai masukan dan menghasilkan sebuah kode executable yang mengerjakan/melaksanakan simulasi numerik real-time dari model yang dideskripsikan oleh persamaan-persamaan tersebut.

DSL merupakan suatu pendekatan rekayasa perangkat lunak umum yang dalam kasus ini memungkinkan (i) pengkodean yang mudah bagi berbagai variasi target, dan ii) enkapsulasi dan pemisahan yang baik model pemakai terhadap OS yang melingkupi dan lingkungan simulasi.

Fitur kunci dari desain adalah bahasa menengah yang merupakan sebuah varian dari lambda calculus yang diperkuat dengan semantik alokasi memori, sehingga memungkinak compiler membangkitkan sebuah representasi statis ’stack/heap’ yang digunakan oleh model, dan menjamin bahwa seluruh operasi memori melalui simulasi memiliki waktu konstan. Desain dideskripsikan disini menggunakan transformasi ‘type-preserving ‘ yang menjamin bahwa dengan model input yang benar secara sintaks, akan menghasilkan kode keluaran yang benar, dan tentunya menghemat memori juga.

SDCC (Small dEviCe C cOmpiLer)

Mikrokontroler saat ini tidak asing lagi dalam dunia elektronika, hampir semua peralatan elektronik dewasa ini menggunakan perangkat ini, mikrokontroller merupakan pengendali utama dalam peralatan elektronik saat ini, maka mikrokontroller merupakan suatu hal yang penting untuk di pelajari bagi mereka yang berkecimpung dalam dunia elektronika.

Mikrokontroller yang dibahas disini adalah mikrokontroller buatan ATMEL yang mudah ditemui dipasaran indonesia, yaitu : AT89S51, AT89S52, AT89S8252, AT89C2051, AT89C4051, AT89C51, AT89C52

AT89S51, AT89S52, AT89S8252 Mempunyai kemampuan serial downloading atau lebih dikenal dengan istilah In System Programming (ISP) sehingga mikrokontroler langsung dapat diprogram pada rangkaiannya tanpa harus mencabut IC untuk diprogram, Programmer ISP dapat dibuat menggunakan beberapa resistor via paralel port komputer sehingga bagi mereka yang belum memiliki programmer dapat tetap berkesperimen menggunakan mikrokontroller ini dengan biaya yang murah.

Pemrogramman AT89XX pada situs ini menggunakan bahasa C atas tersedianya SDCC ( Small Device C Compiler, C compiler gratis untuk pemrograman mikrokontroller) sehingga pemrograman akan lebih mudah dibandingkan penggunaan bahasa assembly.

SDCC Tutorial

SDCC (Small Device C Compiler)

Pemrograman mikrokontroller dapat dilakukan menggunakan bahasa tingkat rendah (assembler), ataupun bahasa tingkat tinggi ( C, Basic, Pascal) , Dengan tersediannya Freeware SDCC kita dapat memprogram mikrokontroller AT89XX menggunakan bahasa C tanpa harus membeli C compiler yang harganya relatif mahal , Selain itu SDCC juga mempunyai optimisasi yang bagus sehingga tidak kalah dengan compiler komersial lainnya, dan cukup layak untuk kita gunakan, pemrograman dengan bahasa C akan sangat memudahkan kita dibandingkan menggunakan bahasa assembly karena program yang kita buat akan sangat mudah untuk dibaca, dan pembuatan algoritma sangat mudah untuk dilakukan

Serial ISP (In System Prog.)

Pada beberapa PC yang baru / Laptop bisanya tidak tersedia Port Paralel (Serial Port dapat dengan mudah diwujudkan pada PC menggunakan USB To Serial Adapter) , dengan alat ini anda dapat memprogram mikrokontroler AT89S51, AT89S52, AT89S8252 dan mikrokontroller AVR via Port serial (RS-232), Alat ini dilengkapi dengan software editor terpadu dan tools yang akan memudahkan anda mempelajari mikrokontroller AT89xx, untuk pemrogramman mikrokontroller AVR alat ini sudah di support software AVRProg yang terintegrasi pada AVR Studio, anda dapat memiliki alat ini dengan harga Rp. 250 ribu + ongkos kirim

mAcam2 daFtar C++ cOmpiLer..

C++

C++ adalah salah satu bahasa pemrograman komputer. Dibuat pada tahun 1980-an oleh Bell Labs (Bjarne Stroustrup) sebagai pengembangan dari Bahasa pemrograman C. Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented Programming).


Program C++ pertama

Contoh program sederhana C++ untuk hello world dengan menggunakan standar pustaka C++ dapat dilihat di bawah ini:

#include  // provides std::cout

int main()
{
std::cout << "Hello, world!\n";
return 0;
}

Kata yang dicadangkan

Kelompok pertama

C++ mempunyai 32 buah kata yang dicadangkan (reserved words). Kata kunci kelompok pertama merupakan turunan dari bahasa C, di antaranya:

auto const double float int short struct unsigned
break continue else for long signed switch void
case default enum goto register sizeof typedef volatile
char do extern if return static union while

Kelompok kedua

Kata yang dicadangkan kelompok kedua berjumlah 30. Kata-kata ini adalah baru dan hanya ada di bahasa C++.

asm dynamic_cast namespace reinterpret_cast try
bool explicit new static_cast typeid
catch false operator template typename
class friend private this using
const_cast inline public throw virtual
delete mutable protected true wchar_t

Kata-kata yang dicadangkan tersebut di atas tidak boleh dipakai sebagai nama variable, class, enum, macro, dan struct.

Tipe data dasar

Untuk menyimpan suatu variabel diperlukan tempat khusus di dalam memori komputer. Besar dan tipe dari variabel-variabel di dalam standar program C++ dispesifikasikan sebagai berikut:

Nama Keterangan Ukuran Jangkauan
char Abjad/karakter atau untuk bilangan bulat kecil 1 byte signed: -128 to 127

unsigned: 0 to 255

short int (short) Bilangan bulat dengan jangkauan pendek 2 byte signed: -32768 to 32767

unsigned: 0 to 65535

int Bilangan bulat 4 byte signed: -2147483648 to 2147483647

unsigned: 0 to 4294967295

long int (long) Integer dengan jangkauan panjang 4 byte signed: -2147483648 to 2147483647

unsigned: 0 to 4294967295

bool Boolean, dapat bernilai benar atau salah (true or false) i byte true or false
float Angka dengan titik mengambang (bilangan cacah) 4 byte 3.4e +/- 38 (7 digit)
double Bilangan cacah dengan ketelitian ganda 8 byte 1.7e +/- 308 (15 digits)
long double Bilangan cacah dengan ketelitian ganda panjang 8 byte 1.7e +/- 308 (15 digits)
wchar_t Karakter lebar, biasa dipakai untuk Unicode karakter 2 byte 1 karakter lebar

Daftar C++ compiler

Untuk merubah kode-kode C++ program menjadi suatu program aplikasi yang dimengerti oleh sistem operasi dan komputer, diperlukan sebuah C++ compiler. Berikut ini adalah beberapa C++ compiler yang dapat digunakan secara gratis:

Pranala Luar


GNU C CompiLer,,

IGOS – Indonesia Go Open Source telah dikumandangkan. Namun Dominasi dari Microsoft, masih membayangi langkah dunia pendidikan. Masih banyak tugas yang diberikan oleh pengajar, mengharuskan mahasiswa untuk tetap menggunakan program komersial yang berjalan di atas sistem operasi windows, padahal sebenarnya tugas tersebut masih bisa diselesaikan menggunakan program yang non-komersial, jika pengajar mau memberikan sedikit kelonggaran bagi mahasiswa untuk mengeksplorasi dunia Open Source.

Bahasa C, saat ini menjadi bahasa pengantar bagi pemula untuk memasuki dunia pemrograman. Untuk mempelajari bahasa ini, biasanya digunakan IDE (integreted Development Environment) seperti Turbo C, borland C atau visual C yang berjalan di atas sistem operasi windows. Terdapat alternatif lain yang dapat ditempuh untuk mempelajari bahasa C dan sekaligus sebagai wujud nyata dukungan dunia pendidikan terhadap proses migrasi ke Open Source, yaitu dengan mempelajari Bahasa C menggunakan gcc (GNU C Compiler) yang berjalan di atas sistem operasi linux dan merupakan portable compiler untuk C, C++ dan Objective C.

Proses Penerjemahan Bahasa C

Untuk dapat dimengerti oleh komputer, bahasa C yang ditulis harus diterjemahkan terlebih dahulu ke dalam bentuk yang dikenal oleh bahasa mesin. Ada dua jenis translator atau penerjemah yang digunakan dalam bahasa C, yaitu interpreter dan COMPILER.

Interpreter merupakan suatu translator yang menerjemahkan bahasa C ke dalam bahasa yang dikenal mesin satu persatu, dan hasil terjemahan langsung dikerjakan. Sedangkan pada compiler, diterjemahkan secara keseluruhan dan hasil terjemahan tersebut disimpan dalam bentuk kode mesin (object code), dan kode eksekusi(execute code).

Object code dari compiler baru dapat dilaksanakan setelah object code tersebut diubah menjadi execute code oleh linker. Secara lengkap prosesnya adalah sebagai berikut :