Archive for the ‘pemrograman’ Category

Program Bahasa C tidak mengenal aturan penulisan di kolom tertentu, jadi bisa dimulai dari
kolom manapun. Namun demikian, untuk mempermudah pembacaan program dan untuk
keperluan dokumentasi, sebaiknya penulisan bahasa C diatur sedemikian rupa sehingga mudah
dan enak dibaca.

tampilan dari editor bahasa C

Tampilan dari editor bahasa C dengan menggunakan Turbo C

Tipe Data
Tipe data merupakan bagian program yang paling penting karena tipe data mempengaruhi
setiap instruksi yang akan dilaksanakan oleh computer. Misalnya saja 5 dibagi 2 bisa saja
menghasilkan hasil yang berbeda tergantung tipe datanya.
Jika 5 dan 2 bertipe integer maka akan menghasilkan nilai 2, namun jika keduanya bertipe float maka akan menghasilkan nilai 2.5000000. Pemilihan tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien dan efektif.

Dalam bahasa C terdapat lima tipe data dasar, yaitu :
No Tipe Data Ukuran Range (Jangkauan) Format Keterangan
1 char 1 byte 128 s/d 127 %c Karakter/string
2 int 2 byte 32768 s/d 32767 %i , %d Integer/bilangan bulat
3 float 4 byte 3.4E-38 s/d 3.4E+38 %f Float/pecahan
4 double 8 byte 1.7E-308 s/d 1.7+308 %lf Pecahan presisi ganda
5 void 0 byte Tidak bertipe

Konstanta
Konstanta merupakan suatu nilai yang tidak dapat diubah selama proses program berlangsung.
Konstanta nilainya selalu tetap. Konstanta harus didefinisikan terlebih dahulu di awal program.
Konstanta dapat bernilai integer, pecahan, karakter dan string. Contoh konstanta : 50; 13; 3.14;
4.50005; ‘A’; ‘Bahasa C’. Selain itu, bahasa C juga menyediakan beberapa karakter khusus yang
disebut karakter escape, antara lain :
\a : untuk bunyi bell (alert)
\b : mundur satu spasi (backspace)
\f : ganti halaman (form feed)
\n : ganti baris baru (new line)
\r : ke kolom pertama, baris yang sama (carriage return)
\v : tabulasi vertical
: nilai kosong (null)
\’ : karakter petik tunggal
\” : karakter petik ganda
\\ : karakter garis miring
Variable
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu
di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai dari suatu
variable bisa diubah-ubah sesuai kebutuhan. Nama dari suatu variable dapat ditentukan sendiri
oleh pemrogram dengan aturan sebagai berikut :
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf.
2. Bahasa C bersifat case-sensitive artinya huruf besar dan kecil dianggap berbeda. Jadi antara Metal, dengan metal itu berbeda.
3. Tidak boleh mengandung spasi.
4. Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore), seperti : $, ?, %, #, !, &, *, (, ), -, +, dsb.
5. Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai.
Contoh penamaan yang salah : NIM, a, x, nama_mhs, f3098, f4, nilai, budi, dsb.
Contoh penamaan variable yang salah : nilai_mahasiswa, 80%mahasiswa, rata-rata, ada spasi, penting!, dsb.
Deklarasi Variable
Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program.
Identifier dapat berupa variable, konstanta dan fungsi.
Bentuk umum pendeklarasian suatu variable adalah :
Nama_tipe nama_variabel;
Contoh :
int x;
char y, huruf, nim[10];
float nilai;
double beta;
int array[5][4];

Iklan

 

Cara membuat website gratis – Sudah sering orang bilang bahwa membuat website itu mudah, apakah benar? bisa bnar dan bisa tidak tergantung dari pemahaman setiap orang tantang HTML dan CSS, semua itu wajib dimiliki oleh setiap webmastere di dunia ini dan tidak ada terkecualinya, jika berbicara tentang website apa saja yang membedakan antara website dengan blog, website adalah halaman di internet yang berguna untuk lambang perusahaan dan memiliki konten statis alias jarang sekali berubah berbeda sekali dengan blog karena blog biasa dimiliki oleh pribadi atau personal dimana sangat mudah untuk posting atau membuat berita terbaru, ok apakah anda ingin mebuat website? blog juga bisa dijadikan website lhoh, caranya kita tinggal cari yang bertemakan corporate nah di siru kita bisa mengedit ataupun menyeting segala sesuatunya dengan mudah.

 

Cara membuat website gratis dan mudah :

Pertama yang haus diakukan cukup mudah yaitu dengan membeli domain, yang dimaksud domain adalah alamat dari halaman kita di internet, jika anda ingin gratis maka silahkan register di bawah ini

Di kotak yang tersedia (lihat gambar 1), isi alamat yang diinginkan. Contoh. namasaya.co.cc. Klik “Check Availability”. Kalau “Available” (belum ada yang punya), teruskan prosesnya. Kalau sudah ada yang pakai, ulangi lagi dengan mengisi nama yang lain.

 

3. Klik “Continue to Registration” (lihat gambar 2)

4. Klik “Create an Account Now” di bagian paling bawah (lihat gambar 3).

5. Isi formulir (lihat gambar 4). Jangan lupa kasih tanda tik (centang) di bagian paling bawah pada “I accept the Terms of Service”

6. Klik “Create an account now.”

7. Proses daftar domain selesai (gambar 5).

Selanjutnya kita harus mensetting domain tersebut untuk diarahkan sesuai tujuan kita. Yang paling mudah adalah redirect atau URL forwarding.

Berikut sejumlah fungsi yang dapat kita lakukan untuk set-up domain co.cc kita:

Fungsi Redirect / URL Forwarding

1. Klik “Set-up”

2. Kasih tanda tik pada button (lobang) nomor 3. URL Forwarding (gambar 7)

3. Isi alamat blog Anda yang akan diredirect (gambar 8 [delapan])

 

4. Klik “Set Up”.

5. Ada tulisan ” Your change has been submitted.” Klik “OK”.

6. Selesai (gambar 9).

Panduan Belajar PHP

Posted: Juli 5, 2011 in pemrograman

Bermula dari pertanyaan seseorang mengenai bagaimana belajar PHP, maka saya tuliskan beberapa langkah dibawah ini sebagai panduan untuk mempelajari PHP. Semoga bermanfaat.

Catatan: database yang digunakan adalah MySQL.

 

  1. PHP sebagai server side scripting secara umum digunakan untuk membuat situs dinamis atau aplikasi berbasis web. Jadi langkah awal untuk mempelajari PHP adalah menguasai HTML terlebih dahulu. Tanpa penguasaan HTML dasar, rasanya PHP kurang bermanfaat untuk dipelajari.Links untuk belajar HTML
  2. PHP adalah bahasa pemrograman, artinya untuk menguasai PHP haruslah mengerti algoritma. Minimal yang harus diketahui untuk hal ini adalah apa dan bagaimana menggunakan variable, kondisi atau pencabangan, perulangan dan sub-rutin untuk menyelesaikan suatu masalah. Saat ini sudah banyak buku yang membahas mengenai algoritma dan pemrograman, silakan cari dan pilih sendiri.
  3. Install Apache, PHP dan MySQL pada PC Anda. Saya menyarankan untuk tidak menggunakan installer yang instant (seperti PHPTriad, Wampserver, e-novativedsb), tetapi lebih baik belajar dan mencoba menginstallnya satu demi satu diawali dari Apache, lalu PHP dan MySQL.Link panduan menginstal Apache, PHP dan MySQL
  4. Setelah langkah 1 & 2 sudah dipelajari dan sudah dimengerti (meskipun hanya sedikit) dan langkah 3 sudah bisa Anda lalui. Langkah berikutnya adalah mempelajari sintaks-sintaks dari PHP dan Anda wajib memiliki atau mendownload file Help PHP.Link untuk belajar PHP
  5. Coba untuk membuat form isian sederhana menggunakan PHP beserta HTML yang telah dikuasai. Lalu, tambahkan fitur validasi untuk beberapa atau semua data sehingga tidak boleh kosong saat submit ditekan.Links Tutorial membuat form
  6. Pelajari juga teknik session dan atau cookies. Ini penting dan sangat sering digunakan dalam pembuatan situs dinamis atau aplikasi berbasi web. Pada langkah ini, minimal Anda bisa membuat halaman login dengan user dan password yang masih ditulis secara hardcode dalam script.Links tutorial session dan cookies
  7. Langkah berikutnya adalah mempelajar seluk beluk mengenai database seperti apa itu database, table, record, field dsb. Download dan pergunakan phpMyAdmin untuk mencoba membuat database, table dan field-fieldnya.
  8. Pelajari SQL khusus untuk empat perintah dasar yaitu SELECT, INSERT, UPDATE dan DELETE. Perintah SELECT adalah perintah SQL yang paling kompleks karena meliputi klausa JOIN (INNER/OUTER), WHERE, GROUP BY, HAVING, ORDER BY dan LIMIT (limit adalah klausa yang diperkenalkan MySQL).Link tutorial SQL
  9. Setelah perintah SQL bisa Anda mengerti (syukur-syukur menguasai), maka pelajari bagaimana PHP berinteraksi dengan MySQL. Pada langkah ini, Anda diharuskan menguasai fungsi-fungsi wajib sehubungan dengan MySQL, yaitu mysql_connect_db, mysql_select_db, mysql_query dan mysql_fetch_object / mysql_fetch_array.Download Help MySQL.
  10. Sampai disini, coba untuk membuat script sederhana untuk input data menggunakan form. Data yang diinput melalui form disimpan dalam database (INSERT). Lalu buat juga script untuk menampilkan data-data yang telah tersimpan dalam database (SELECT). Selanjutnya, buat fasilitas untuk mmenghapus (DELETE) dan mengedit data (UPDATE).
  11. Coba membuat halaman login dimana user dan passwordnya dibaca dari database
  12. Coba gabungkan karya nomor 10 dan 11 sehingga hanya mereka yang login saja yang bisa menghapus/mengedit data.
  13. Sampai disini, Anda bisa dikatakan sudah sampai pada tahap beginner. Selanjutnya banyak-banyaklah bereksperimen dengan membuat proyek-proyek kecil minimal untuk kesenangan Anda sendiri. Saat Anda mengerjakan proyek, disanalah pelajaran demi pelajaran bisa Anda dapat dari berbagai masalah yang muncul.
  14. Selanjutnya, Anda harus mulai mempelajari masalah security seperti masalah Code/SQL Injection, session hijacking, session fixation, teknik enkripsi dsb.
  15. Sempatkan untuk belajar Javascript saat Anda merasa kemampuan PHP yang dimiliki sudah lumayan. Kelemahan dari script PHP adalah tidak dimungkinkannya interaksi pengguna secara on the fly. Nah, kekurangannya inilah yang di “tambal” menggunakan Javascript. Syukur-syukur Anda bisa menguasai AJAX.Link tutorial Javascript
  16. Sempatkan pula untuk mempelajari CSS. Ini penting untuk membuat tampilan/interface situs atau web-based application secara lebih baik.Link tutorial CSS:
  17. Terakhir. Karena PHP lebih banyak hidup di OS Linux, pelajari juga linux barang sedikit. Syukur-syukur kalo Anda ternyata sejak awal belajar di linux

TIPS:

  • Jangan terlalu memaksakan untuk menghapalkan fungsi, sintaks dari PHP atau MySQL. Manfaatkan file HELP dalam praktek dan latihan. Semakin Anda sering praktek dan melatih diri, maka fungsi dan sintaks yang sering dipakai akan bisa Anda hapal dengan sendirinya.
  • Jangan terlalu cepat untuk mengambil keputusan untuk bertanya terhadap masalah atau kesulitan yang timbul. Bertanyalah setelah Anda mencoba terlebih dahulu.
  • Rajin-rajin mengikuti milis atau forum dan selalu ingat, diatas langit ada langi

Belajar XML

Posted: Juli 4, 2011 in pemrograman

Pernahkah kau merasa sangat membutuhkan sebuah format dokumen yang bisa digunakan untuk bertukar data – entah pertukaran itu terjadi melalui internet ataupun intranet? Pernah? Ayo ngaku!!! Pernah kaga? Jangan bo’ong lu? Dosa!!

Jika emang kamu merasa pernah, atau kamu pernah merasa, atau merasa kamu pernah, atau pernah kamu merasa, dan seterusnya… maka… melalui kesempatan yang berbahagia ini… ijinkanlah kami untuk memperkenalkan sebuah format dokumen yang mungkin bisa menjadi solusi untuk masalah-masalah yang mungkin belum, akan, sedang, atau telah kamu dapati dan lalui dewasa ini… dan format itu adalah… XML.

Apa itu XML? Dan kenapa? Apa keistimewaannya? Kenapa bukan XL saja? Kenapa harus ada huruf M? Kenapa ketiga-tiganya harus digunakan? Apa tidak cukup dengan yang berukuran L saja? Atau M saja? Atau X saja? Kenapa manusia begitu serakah sehingga rela menggabungkan ketiga ukuran itu, lalu menjadikannya sebuah format dokumen yang baru? Kenapaaaaa….?

Dan untuk menjawab pertanyaan-pertanyaan aneh seperti itulah… artikel ini kami buat-buat. Dan kami memang sengaja membuat artikel ini menjadi sedikit aneh dan bertele-tele. Kenapa? Itu tidak lain dan tidak bukan disebabkan karena kami sadar sesadar-sadarnya… masih banyak umat manusia di dunia ini yang hingga kini masih sama sekali belum mengenal, apalagi menyadari betapa berharga dan bermanfaatnya XML itu.

Padahal saat ini… sudah sangat banyak sekali industri-industri yang telah berhasil menemukan, menggunakan, memanfaatkan, dan merasakan keajaiban dan kehebatan XML. Dunia blogging contohnya. Ga percaya? Baik… apa kau punya blog di blogspot? Pernah mengganti templatenya? Coba perhatikan formatnya, XML bukan? Contoh lain… apa kau termasuk salah satu penggemar RSS? Pernah memperhatikan format yang digunakan oleh RSS? XML bukan?

Nah… sudah terbukti bukan? Contoh-contoh tadi rasanya sudah dapat memberikan sedikit gambaran mengenai industri-industri yang telah memanfaatkan XML.

Disadari atau tidak, secara langsung atau tidak langsung, mungkin kita pernah merasakan betapa nikmatnya dapat bersentuhan dengan format XML. Nah, tidakkah kau ingin mengenal lebih dekat dengannya? Tidakkah kau juga ingin bisa memanfaatkannya?… Tidak?

Meski bibir mu berkata tidak, tapi kami yakin hati mu berkata lain. Keyakinan itu kami dapat berdasarkan fakta bahwa bibir tak selalu kompak dengan hati. Maka dari itu, kami memaksakan diri untuk tetap bercerita panjang lebar mengenai XML. Begini ceritanya…

Sebagai internet maniak, kamu mungkin sudah sangat akrab dengan HTML, betul? Dan sebagai internet marketer, kamu juga mungkin sudah sangat akrab dengan kegagalan, betul? Dan sebagai internet maketer yang gagal, kamu pasti sudah akrab dengan keputus-asaan, betul? Dan sebagai seorang yang putus asa, kamu pasti merasa sangat dekat dengan kematian, betul? Nah… sekarang, coba jawab, apa hubungan semua pertanyaan itu dengan XML?

Yup, kamu betul, jika kita coba dan paksa menghubungkannnya, maka kita bisa melihat adanya hubungan dan keterkaitan yang erat antara semua pertanyaan itu, dengan XML, contohnya hubungan antara HTML dengan XML. Tahukah engkau teman, bahwasanya HTML dan XML itu sebenarnya berasal dari satu garis keturunan yang sama, yaitu keluarga besar Markup Languange.

Coba perhatikan kesamaan yang terdapat pada dua huruf terakhir dari HTML dan XML… yup… yaitu ML, yang diambil secara paksa dari singkatan Markup Languange atau Bahasa Markup. Dan sebagai dua jenis bahasa yang memilki garis keturunan yang sama, maka mau tidak mau, mengakui atau tidak mengakui, berarti mereka sebenarnya berasal dari induk bahasa yang sama, yaitu Standard Generalized Markup Language atau disingkat SGML.

Akan tetapi… however… meski mereka berasal dari satu induk yang sama, tentu saja mereka tetap harus memiliki perbedaan, betul? Tidak seperti saudaranya (HTML) yang memiliki tag atau syntax-syntax yang telah di defenisikan, format XML tidak memiliki predefined tag atau tag yang telah didefinisikan. Itu artinya, kamu, dia, kalian, dan mereka, atau siapapun yang ingin membuat dokumen XML, bebas untuk membuat tag-nya sendiri.

Gimana? Makin bingung? Tenaaaang… jangan putus asa dulu kawan…. jalan kita masih panjang. Untuk sedikit mengurangi kebingungan mu itu, coba kita ingat-ingat lagi cerita fiktif kita mengenai HTML. Disitu diceritaken bahwa, dokumen yang berformat HTML itu menggunakan tag-tag tertentu untuk membuat struktur, memformat tampilan, dan menampilkan isinya, betul?

Contohnya untuk membuat paragraph, HTML akan menggunakan format

….p>. Atau tag ……b>.untuk mencetak tebal, dan seterusnya, betul? Nah, sedangkan XML tidak memiliki tag-tag seperti itu. XML membebaskan mu untuk membuat tag mu sendiri, asalkan tetap menuruti aturan-aturan yang telah ditentukan. Itulah sebabnya kenapa kau mungkin sering menemukan dokumen XML yang tag-nya sangat jauh berbeda antara satu dengan yang lain.

Dan tidak seperti tag-tag HTML yang berfungsi sebagai perintah untuk browser tentang bagaimana suatu dokumen HTML harus ditampilkan, tag-tag XML hanya berfungsi sebagai pemisah, yup… PEMISAH. Yaitu memisahkan antara Data dengan Context. Tag-tag XML tidak lain dan tidak bukan hanya berfungsi untuk menunjuk dan mendefinisikan struktur dari suatu dokumen XML.

Untuk lebih jelasnya… misalkan begini… Katakanlah kau ingin membuat katalog yang berisi tidak kurang dari 10.000 koleksi eBook mu. Di dalam katalog itu, kau ingin mendata dan mengelompokkan setiap eBook berdasarkan:

  • Judul
  • Penulis
  • Penerbit
  • Harga
  • Tema
  • ISBN

Setelah itu, kau ingin menampilkan… dan bahkan jika memungkinkan… menjualnya melalui website atau blog mu. Nah, pertanyaannya… bagaimana kau bisa melakukannya dengan mudah? Coba kau bayangkan bagaimana seandainya kau melakukan itu hanya dengan menggunakan format HTML biasa. Sangat melelahkan bukan?

Tapi berkat XML, pekerjaan mu itu jadi jauh lebih ringan. Dengan XML, pekerjaan-pekerjaan seperti contoh diatas jadi lebih mudah untuk dilakukan. Dengan XML, kamu bisa mendata dan mengelompokkan, dan menyortir eBook-eBook itu dengan cepat dan mudah. Yaitu dengan cara membuat kode-kode seperti contoh dibawah ini:

<ebook>.
Belajar Internet.
Qjoko Blo’on.
PT. Rindu Order.
<Harga>Rp. 50.000</Harga>.
<Tema>Marketing</Tema>.
<ISBN>1129450</ISBN>.
</ebook>.

Coba perhatikan contoh kode atau tag-tag XML diatas, lalu bandingkan dengan tag-tag HTML, sudah bisa melihat perbedaannya? Masih belum? Masih bingung dan belum bisa menemukan perbedaan antara HTML dengan XML? Masih belum bisa menemukan keistimewaan yang dimiliki oleh XML? Kalo begitu… tetaplah disini… kami akan membahasnya lebih banyak di episode berikutnya.

anda bisa langsung ke tkp untuk belajar XML, atau klik link berikut ini

Ide dasar pada Bahasa Pemrograman Berorientasi Objek (PBO) adalah mengkombinasikan data dan fungsi untuk mengakses data menjadi sebuah kesatuan unit. Unit ini dikenal dengan nama objek (object). Objek sebenarnya mencerminkan pola kinerja manusia dalam kehidupan sehari-hari. Sebuah objek dapat diibaratkan sebagai departemen-departemen didalam sebuah perusahaan bisnis. Contohnya, Departemen Penjualan, Departemen Akunting, dan Departemen Personalia.

Pembagian departemen didalam perusahaan merupakan upaya untuk memudahkan pengoperasian perusahaan. Sebagai gambaran, jika anda adalah seorang manajer penjualan di kator pusat, lalu anda ingin mengetahui data personalia salesman di suatu kantor cabang, apa yang akan anda lakukan?

Langkah yang anda tempuh pasti tidak datang secara langsung ke ruangan personalia dan mencari data pada berkas-berkas yang ada pada departemen tersebut. Untuk memudahkan tugas anda, anda cukup mengutus sekretaris anda untuk meminta informasi dari Departemen Personalia sesuai dengan yang anda butuhkan. Masalah bagaimana dan siapa yang mencarikan laporan yang diperlukan bukanlah menjadi urusan anda.

Analogi kasus diatas, kalau seseorang bermaksud menggunakan objek, ia cukup mengirim suatu pesan ke objek tersebut dan objek itu sendiri yang akan mengirimkannya. Bisa dibayangkan, betapa repotnya kalau kita sebagai manajer penjualan harus mencari sendiri berkas-berkas yang ada pada Departemen Personalia. Barangkali anda malah akan mengobrak-abrik berkas-berkas yang sudah tersusun rapi. Kejadian semacam inilah yang dihindari pada konsep Pemrograman Berorientasi Objek.

Dibawah ini adalah sebuah gambaran tentang objek yang berisi data dan fungsi yang memanipulasi data.

objek yang berisi data dan fungsi yang memanipulasi data

Sedangkan gambar dibawah adalah gambar yang melukiskan hubungan antar-objek yang menganalogikan struktur di perusahaan.

hubungan antar-objek yang menganalogikan struktur di perusahaan

Pada Bahasa Pemrograman Berorientasi Objek, data yang melekat dalam suatu objek biasanya disebut variabel instans. Pada C++, istilah yang digunakan adalah data atau anggota data. Adapun fungsi yang melekat pada suatu objek disebut fungsi anggota (member function). Fungsi ini merupakan satu-satunya cara untuk mengakses anggota data data dari objek.

Untuk membaca suatu anggota data, kita diharuskan memanggil fungsi anggota. Dengan kata lain, data bersifat tersembunyi dari fungsi-fungsi yang ada diluar fungsi anggota. Istilah yang umum untuk fungsi anggota pada Bahasa Pemrograman Berorientasi Objek adalah metode (misalnya pada SmallTalk). Adapun pemanggilan fungsi anggota sering disebut pengiriman pesan ke objek.

Dalam terminologi Pemrograman Berorientas Objek (PBO), objek sebenarnya adalah anggota dari kelas (class). Dengan kata lain, kelas adalah kumpulan dari beberapa objek yang sama. Sebagai analogi hal ini, anda pasti tahu Aceh, Sumatera Utara, Sulawesi Selatan, Papua, Maluku, DKi Jakarta itu adalah sebuah provinsi. Secara sendiri-sendiri provinsi tersebut diibaratkan sebagai objek. Adapun “Provinsi Di Indonesia” menyatakan sebagai kelas.

Mengapa kok Delphi ?!

Posted: Juli 4, 2011 in pemrograman

Dari sekian banyak bahasa pemrograman, kenapa kok delphi yang saya pilih ya ? mungkin jawaban disini terlalu subyektif, tetapi tidak mengapa. Ada beberapa alasan mengapa kok saya banyak fokus ke pemrograman ini.

  • Pada awal-awal kuliah, ada mata kuliah pemrograman dasar dan bahasa pemrograman yang dipakai adalah C++, jadi sejak itu pemrograman yang dikenal adalah C++.
  • Dari segi kemudahan antarmuka, tidak diragukan lagi. Terutama awal-awal 2001-an Antarmuka (GUI)nya delphi lebih mudah daripada VB apalagi C++.
  • Bahasa pemrograman yang terstruktur dan syntax yang jelas, sehingga mudah dibaca, dipelajari dan dipahami
  • Kecepatan kompilasi-nya.
  • Dukungan komponen tambahan yang sangat banyak di Internet, bahkan untuk kategori freeware dengan kualitas yang sama atau lebih dari komponen komersial.
  • Telah menghasilkan beberapa software free maupun berbayar
  • Dukungan komunitas di Internet yang sangat banyak.

Disamping berbagai keunggulan, setiap bahasa pemrograman pasti memiliki beberapa kekurangan. Untuk Delphi beberapa kekurangan menurut saya adalah

  • Hasil kompilasi (file Exe) memiliki ukuran yang cukup besar jika dibandingkan dengan Kompiler lain. Tetapi hal ini bisa diatasi dengan komponen tambahan (lihat dibagian KOL)
  • Waktu proses aplikasi sebagian besar sedikit lebih lambat jika dibandingkan dengan VC++, tetapi lebih cepat daripada VB ( Hal ini dapat dimaklumi karena Windows sendiri dari C++ ) Tetapi dapat diatasi ( paling tidak sebanding ) jika menggunakan assembler.
  • Ini diluar bahasa pemrogramannya, yaitu Software populer / game 3D yang dihasilkan lebih sedikit dibandingkan dengan VC++
  • Mulai beralih fokus ke platform dot NET mulai Delphi 8, yang menyebabkan banyak developer termasuk saya yang kecewa
  • Tidak banyak perkembangan untuk platform win32 sejak Delphi 7
  • Pindahnya beberapa founder delphi ke Microsoft sejak Delphi 5

Walaupun begitu sampai saat ini jika memerlukan suatu software atau sistem automatisasi saya sering menggunakan delphi, karena sudah terbiasa dan kemudahannya.

belajar dasar vb

Posted: Juli 4, 2011 in pemrograman

vb(visual basic)  adalah salah satu tool untuk membuat sebuah aplikasi walaupun banyak selain vb misalkan Netbeans, turbo C++, Delphi dll. dan dari beberapa tool tersebut yang lebih mudah adalah menggunakan VB(visual basic) disamping mudah penggunaan juga lebih mudah bahasa yang digunakan lebih mudah dari yang lain. mari kita lakukan langkah – langkah awal menjalankan VB 6.0:

Start => programs => Microsoft visual basic 6.0 muncul tampilan berikut:

1

pilih standard Exe ==> pilih Open muncul ……

12kemudian untuk menyimpan tinggal pilih file ==> save project ==> save

yang perlu diperhatikan:

– simpan dalam satu folder

– selamat mencoba, untuk hari ini sampai disi dulu….. OK……

Setelah anda menamatkan bab ini , diharapkan anda dapat :

ð          Menerangkan register-register dalam 8051.☺

ð          Memanipulasi data menggunakan register dan interuksi MOV.

ð          Membuat kode sederhana dengan menggunakan bahasa Asssembly 8051.

 

 

ð          Menjelaskan urutan kejadian saat 8051 baru saja dihidupkan.

ð          Menerangkan program dalam ROM kode dari 8051.

ð          Merinci kerja dari setiap instruksi dalam bahasa assembly 8051.

ð          Menjelaskan type data dalam 8051.

ð          Menjelaskan kegunaan register PSW (Program Status Word).

ð          Menjelaskan alokasi ruang untuk memory RAM dalam 8051.

ð          Menerangkan penggunaan stack dalam 8051

ð          Memanipulasi Bank register dari 8051.

 

Pada SubBAB 2.1 kita akan melihat bagian dalam pada 8051. Kita akan mendemonstrasikan beberapa register yang paling banyak digunakan dalam 8051 dengan instruksi sederhana misalnya adalah MOV dan ADD. Pada SubBAB 2.2 kita akan mempelajari pemrograman dengan bahasa Assembly dan bahasa mesin serta mengupas tentang beberapa hal penting misalnya mnumonic, opcode, operand, dll. Proses dari perakitan kode dan pembuatan program yang siap pakai untuk 8051 akan dibahas pada SubBAB 2.3. Dan dibagian 2.4 kita akan mempelajari langkah demi langkah dalam eksekusi program 8051 dan aturan tentang Program Counter. Di bagian 2.5 kita akan melihat beberapa Directive (petunjuk) bahasa Assembly yang banyak digunakan, pseudo-code, dan tipe data yang berhubungan dengan 8051. SubBAB 2.6 kita akan mendiskusikan bit-bit bendera dan bagaimana mereka berpengaruh pada instruksi-instruksi aritmatika. Pengalokasian memory RAM dalam 8051 termasuk stack dan bank register dalam 8051 akan kita bahas pada subBAB 2.7.

 


 

SubBAB 2.1 Bagian dalam 8051

 

Pada bagian ini kita akan mejelaskan register dari 8051 dan menggambarkan kegunaan mereka dalam instruksi-instruksi MOV dan ADD.

 

Register-register

 

Dalam CPU, register-register digunakan untuk menyimpan data secara sementara. Informasi dapat berupa data byte yang hendak diproses atau sebuah data alamat yang menunjuk pada data yang lain. Register-register dari 8051 pada umumnya adalah berupa register 8-bit. Dalam 8051 hanya ada satu jenis data yakni data 8-bit (sama dengan namanya yakni komputer 8-bit). Register 8-bit tersebut ditunjukkan dalam diagram mulai dari MSB (Most Significant Bit) / D7 sampai pada LSB (Least Significant bit) / D0. Dengan type data 8-bit tersebut, setiap data yang lebih besar dari 8-bit harus dipecah menjadi beberapa bagian data 8-bit sebelum dapat diproses. Mengingat banyak register dalam 8051, kita akan berkonsentrasi pada beberapa register yang paling sering digunakan.

 

 

 

Register yang paling banyak digunakan adalah A (Accumulator), B, R0, R1, R2, R3, R4, R5, R6, R7, DPTR (DataPointer), dan PC (Program Counter). Semua register tersebut adalah register 8-bit kecuali DPTR dan PC. Akumulator atau register A, digunakan dalam semua instruksi aritmatika dan logika. Untuk mengerti penggunaan dari register tersebut, kita dapat melihat mereka dalam konteks dari dua buah instruksi sederhana, MOV dan ADD.

 

 

gambar 2-1 Register 8-bit dan 2 buah register 16-bit pada 8051

 

Instruksi MOV

 

Singkatnya instruksi MOV adalah menyalin isi data dari register yang satu ke register yang lain, dengan format sebagai berikut :

 

MOV dest, source ;salin data source ke dest

 

Instruksi ini memerintahkan pada CPU untuk memindahkan (sebenarnya adalah menyalin) operand source menuju operand destination.Seperti contohnya, “MOV A,R0” adalah menyalin isi R0 ke register A. Setelah instruksi ini dijalankan isi dari kedua register tersebut adalah sama. Instruksi MOV tidak mengubah isi dari operand Source. Program berikut ini adalah contoh untuk mengubah Akumulator menjadi 55h (h adalah hex), lalu kemudian memindahkan nilainya kedalam beberapa register dalam CPU. Perhatikan tanda “#” dalam instruksi tersebut. Hal itu mengindikasikan bahwa simbol dibelakangnya adalah sebuah nilai. Hal tersebut akan kita bahas segera.

 

MOV A,#55         ;Mengisi A dengan nilai 55h

MOV R0,A          ;Salin isi A ke dalam R0

;Sekarang R0 = 55h

MOV R1,A          ;Salin isi A ke dalam R1

;Sekarang R1 = 55h

MOV R2,A          ;Salin isi A ke dalam R2

;Sekarang R2 = 55h

MOV R3,#95h       ;Mengisi R3 dengan nilai 95h

;Sekarang R3 = 95h

MOV A,R3          ;Salin isi R3 ke dalam A

;Sekarang A = 95h

 

Saat menulis program untuk mikrokontroller 8051, hal-hal berikut ini harus diperhatikan.

 

1. Bahwa sebuah nilai dapat langsung diberikan pada register-register misalnya A, B, R0 s/d R7. Namun bagaimanapun juga untuk mengindikasikan bahwa sebuah simbol adalah sebagai sebuah nilai, dan bukan sebagai alamat atau yang lain, sebelumnya harus diberi simbol pound atau pagar atau “#“.

 

MOV A,#23h        ;Mengisi A dengan nilai 23h

MOV R0,#12h       ;Mengisi R0 dengan nilai 12h

MOV R1,#1Fh       ;Mengisi R1 dengan nilai 1Fh

MOV R2,#2Bh       ;Mengisi R2 dengan nilai 2Bh

MOV B,#3Ch        ;Mengisi R3 dengan nilai 3Ch

MOV R7,#9Dh       ;Mengisi R3 denga nilai 9Dh

MOV R6,#0F9h      ;Mengisi R3 denga nilai F9h

MOV R5,#12        ;Mengisi R3 denga nilai 12 desimal

 

Perhatikan pada instruksi “MOV R5,#0F9h” sebelum simbol F nampak di sana diimbuhi oleh simbol “0” sehingga menjadi “0F9h”. Hal ini penting bagi assembler untuk membedakan apakah sebuah symbol yang dituliskan itu sebagai sebuah angka bilangan atau sebuah identifier. Sedang identifier harus selalu dimulai dari karakter alphabeth.

 

2. Jika nilai 0 s/d F kita isikan pada sebuah register 8-bit, maka akan mengubah 4-bit paling kecil dari register tersebut. Dan kita akan mendapatkan 4-bit teratas darinya akan dibuat menjadi 0. Misalnya dengan instruksi “MOV A,#5”, maka sejatinya instruksi tersebut adalah sama dengan “MOV A,#05h”, dan menghasilkan A = 05h. Dan dalam bilangan biner adalah A = 00000101 biner.

 

3. Mengisikan sebuah nilai yang terlalu besar dari nilai yang sanggup ditampung sebuah register akan menghasilkan error.

MOV A,#7F2h       ; 7F2h > (8-bit atau FFh atau 255 desimal)

MOV R2,#456       ; 456d > (8-bit atau FFh atau 255 dec)

 

4. Untuk mengisikan nilai ke dalam  register, kita harus mengimbuhkan symbol pound (#). Jika tidak ada simbol tersebut, maka assembler akan menganggapnya sebagai sebuah lokasi memory. Ambil contoh “MOV A,17h” yang berarti pindahkan isi nilai dari memory 17h ke dalam A. Sedang saat kita menginginkan untuk mengisi A dengan nilai 17h, maka kita harus menuliskan dengan “MOV A,#17h”. Tidak adanya symbol pagar tersebut tidak akan membuat assembler menghasilkan error. Namun Assembler akan membuatkan kode yang bukan seperti kemauan kita, hanya karena kesalahan kecil kita dalam menulis program. Biasanya hal ini biasa terjadi bagi para pemula.

 

Instruksi ADD

 

Instruksi ADD adalah berdasar pada format :

 

ADD  A,Source     ;Tambahakan source ke Akumulator

 

Instruksi ini menambahkan sembarang tipe data ke dalam A dan A pula bertindak sebagai penerima hasil dari operasi. Sehingga dapat dikata operand tujuan (Dest) selalu adalah Akumulator (A). Di bawah ini contohnya…

 

MOV  A,#25h       ;Isi A dengan nilai 25h

MOV  R2,#34h      ;Isi R2 dengan nilai 34h

ADD  A,R2         ;Tambahakan keduanya

;Jadi A = A + R2

 

Menjalankan program di atas akan menghasilkan A = 59h (25h + 34h = 59h) dan nilai pada R2 tidak berubah setelah instruksi ADD, yakni 34h. Sekali lagi operand source tidak akan berubah. Program di bawah ini adalah contoh program yang lebih kompleks.

 

MOV  R5,#25h      ;Isi R7 dengan nilai 25h

MOV  R7,#34h      ;Isi R5 dengan nilai 34h

MOV  A,#0         ;Clear isi A menjadi 0

ADD  A,R5         ;Tambahakan A dengan isi R5

;Jadi A = A + R5

ADD  A,R7         ;Tambahakan A dengan isi R7

;Jadi A = A + R7

 

Program di atas menghasilkan nilai 59h yang terdapat pada A. Ada banyak jalan menuju Roma, namun sedapat mungkin cari jalan yang paling singkat dan cepat. Ini adalah cara lebih cepat.

 

MOV  A,#25h       ;Isi A dengan nilai 25h

ADD  A,#34h       ;Tambahakan A dengan 34h

Sekali lagi dapat kita lihat dari berbagai contoh di atas operand tujuan selalu adalah A. Jika kita memaksa menuliskan kode seperti “ADD R2,A” tentu akan menghasilkan error. 8051 memang hanya mendukung operasi arimatika dan logika yang hanya menggunakan A sebagai akumulator, dan dengan kata lain operasi tersebut dibatasi selebar 8-bit. Namun walaupun demikian hal itu sudah lebih dari cukup untuk membuat program untuk berbagai aplikasi canggih, misalnya robot.

 

Kita tahu bahwa 8051 juga memiliki 2 buah register 16-bit, walaupun dirancang bukan untuk keperluan manipulasi data. Namun jika anda bertanya apakah CPU 8051 dapat memanipulasi data yang lebih besar dari 8-bit?? Tentu saja, tidak ada hal yang tidak mungkin. Seperti yang sudah kita ketahui sebelumnya bahwa komputer 8-bit, idealnya hanya memproses data sampai selebar 8-bit. Dalam kasus tertentu beberapa perintah dalam 8051 dapat diurutkan untuk dapat menangani data yang lebih besar, seperti data 16-bit, 24-bit, maupun 32-bit. Semua bisa dilakukan. Tentu dengan memecah data tersebut dalam beberapa data 8-bit,dan kemudian memprosesnya satu-persatu kemudian menyatukan kembali data sehingga seperti hasil yang kita inginkan. Dalam prakteknya hal itu bisa dilakukan dengan membuat kode-kode yang rumit dan teliti. Dan nantinya akan dibahas pada Bab lain.

 

 


 

SubBab 2.2 Mengenal Pemrograman Assembly 8051

 

Pada bagian ini kita akan membahas format dari bahasa assembly dan mengupas terminologi yang berkaitan hal yang paling sering digunakan dalam pemrograman bahasa assembly.

Mengingat CPU bekerja hanya dalam biner, dan dilakukan dengan kecepatan yang sangat tinggi. Biner adalah serupa dengan dua buah keadaan, kalau tidak 0s maka itu mestinya adalah 1s, begitu pula sebaliknya. Maka kita harus familiar dengan 010010110, itulah biner. Bilangan biner yang berupa kode perintah dinamakan bahasa mesin. Pada computer terdahulu, programer menulis kode dalam bahasa mesin seperti itu. Namun agar lebih mudah dari menulis kode dengan biner, dibuatkah format bilangan yang dapat merepresentasikan biner dengan baik, yakni menggunakan bilangan Heksadesimal. Dan hasilnya, programer merasa jauh lebih mudah dari pada mengingat kombinasi “0” dan “1”. Namun menulis kode dalam bahasa mesin Heksadesimal masih juga terlalu rumit bagi kebanyakan programer. Akhirnya, pada masa sekarang, dibuatlah sebuah bahasa assembler yang berisi mnumonic (symbol bahasa mesin dalam bahasa manusia yang mudah diingat), untuk setiap instruksi kode mesin, dan didukung juga beberapa kelebihan lain untuk mempermudah pembuatan program, termasuk pengujian atas kemungkinan adanya error dalam penulisan. Sekarang mnumonic digunakan secara luas dalam bidang ilmu pengetahuan, buku-buku tehnik yang merujuk pada kode dengan tujuan semuanya agar lebih mudah untuk diingat. Kode bahasa assembly diterjemahkan ke dalam bahasa mesin oleh sebuah program lain, yang kemudian disebut sebagai Assembler. Bahasa assembly juga dikenal sebagai bahasa tingkat rendah (low-level-languages) karena bahasa ini adalah yang paling berhubungan langsung dengan struktur CPU. Dalam memprogram bahasa ini, programer harus benar-benar mengenal semua register dalam CPU, ukuran masing-masingnya, termasuk berbagai detil dari instruksi serta efeknya terhadap register.

Namun sekarang, seseorang dapat menggunakan berbagai bahasa yang jauh lebih memudahkan, misalnya seperti BASIC, Pascal, C, C++, Java , dan banyak lagi lainnya.

Java bukan HoNoCoRoKo-nya jawa !!! Pesan penterjemah, kita harus bangga salah satu bahasa daerah kita digunakan sebagai nama bahasa program, walaupun mereka tanpa hak paten menggunakan nama “Java”. Bagaimana nich DepKomInfo ??? Seharusnya yang namanya “Java Script” artinya “Tulisan Jawa” adalah hak-patennya negara kita, bukan ?!?!

Bahasa-bahasa di atas kemudian disebut dengan bahasa tingkat tinggi (high-level languages) karena kita tidak perlu mengenal lebih jauh tentang isi dari struktur CPU target. Bahasa ini kemudian diterjemahkan ke dalam bahasa assembler, baru kemudian ke bahasa mesin, atau beberapa program dapat langsung mengubah dari bahasa tingkat tinggi itu langsung menjadi bahasa mesin. Program yang dapat melakukan itu kemudian disebut dengan Compiler. Misalnya kita menulis program dalam bahasa C, maka kita harus menggunakan C-Compiler untuk kemudian mengubah kode program kita menjadi bahasa mesin. Namun untuk sekarang, kita berkonsentrasi pada bahasa assembly yang khusus untuk 8051, dan membuat program yang dapat bekerja dengan baik hanya dengan menggunakan bahasa itu. Assembler yang kita gunakan ini adalah sebuah program yang dibuat bersama-sama begitu diperkenalkannya Chip 8051 oleh Intel, yakni program “ASM51.EXE” dengan nama resmi “MCS-51 MACRO ASSEMBLER V2.3” buatan Intel Corporation 1976, 1986. Kita dapat meng-unduh (download) dari Internet secara gratis.

 

Struktur dari bahasa assembly

 

Program bahasa assembly terdiri dari beberapa bagian. Setiap instruksi diungkapkan dalam satu baris kode. Setiap instruksi terdiri dari mnumonic, dan kadang ditambahkan 1 atau 2 operand. Operand adalah data yang hendak dimanipulasi. Dan mnumonic itulah yang meninstruksi-kan CPU untuk melakukan sesuatu terhadap operand.

 

Program 2.1 Contoh program dalam bahasa Assembly

 

ORG 0               ;Mulai program dari alamat 0000

MOV R5,#25h         ;Isikan 25h pada R5

MOV R7,#34h         ;Isikan 34h pada R7

MOV A,#0            ;buat A = 0

ADD A,R5            ;Tambahkan isi R5 ke dalam A

;sehingga A = A + R5

ADD A,R7            ;Tambahkan isi R7 ke dalam A

;sehingga A = A + R5

ADD A,#12h          ;Tambahkan 12h ke dalam A

 

TUNGGU: SJMP TUNGGU       ;program selesai dan berputar di sini

END

 

 

 

Program dalam bahasa assembly yang dicontohkan di atas adalah statement yang berurutan, di mana terdiri dari instruksi misalnya ADD dan MOV, dan beberapa statement lain, yang disebut dengan Directive. Setiap instruksi, adalah memerintahkan CPU untuk melakukan sesuatu hal, sedang directive ( juga disebut dengan psuedo-instruction) memberikan arahan bagi assembler cara menterjemahkan kode di belakang ungkapan directive tersebut. Ambil contoh, intstruksi MOV dan ADD adalah sebuah perintah, sedang ORG dan END adalah directive (petunjuk arahan) bagi assembler. ORG dalam contoh diatas meminta kepada Assembler bahwa opcode selanjutnya agar ditempat dalam memory lokasi 0, sementara END adalah untuk memberitahukan assembler akhir dari program, dan mengabaikan setiap text di bahwa END.

 

Pada prinsipnya instruksi bahasa assembly terdiri dari 4 bagian :

 

[label] mnumonic [operand] [;komentar]

 

tanda kurung diatas (bracket) adalah menunjukkan bagiannnya, agar anda bisa lebih jelas, dan bukan dimasukkan dalam kode yang sebenarnya. Adapun penjelasannya adalah sebagai berikut ini :

1.    Bagian Label adalah sebuah identifier yang merujuk padaa lokasi opcode. Dengan kata lain nilai dari Label ini adalah relatif, dan ditentukan saat proses kompilasi. Berbeda dengan identifier lain yang nilainya harus ditentukan dengan expresi EQU, DATA, dll dengan diberikan nilai yang tetap (Konstanta). Karena sifat dinamisnya Instruksi JUMP yang merujuk pada Label, lokasi jump akan dihitung kembali agar menghasilkan lokasi Jump yang tepat, pada lokasi milik Label. Deklarasi Label adalah mirip dengan deklarasi identifier lain dan diakhiri dengan karakter titik-dua. Identifier hanya bisa dibentuk dengan karakter pertama adalah karakter Alphabet, dan karakter selanjutnya boleh juga numerik, dan karakter “_” serta “?”.  Panjang Label ini juga tidak boleh melebihi 255 karakter.

2.    Bagian menumonic dan bagian operand dalam bahasa assembly adalah bagian utama dari kode program. Dan operand adalah spesifik atas mnumonic, yang mengisyaratkan tugas tertentu (Seperti yang sudah diatur oleh pabrik pembuat Chip dalam datasheet-nya). Ungkapan (statement) dalam bahasa assembly misalnya adalah :

 

ADD A,B

MOV A,#67

 

ADD dan MOV adalah mnumonic dimana akan menghasilkan opcode. Sedang “A,B” dan A,#67″ adalah operand. Di luar kedua bagian ini, yakni mnumonic dan operand adalah disebut sebagai instruksi-psuedo, atau directive. Ingat bahwa sebuah directive tidak akan menghasilkan kode mesin (opcode), dan mereka digunakan oleh assembler saat memutuskan bagaimana caranya untuk menterjemahkan mnumonic dan operand yang ada di belakang directive tersebut ke dalam kode mesin yang benar sesuai dengan kemauan kita. Dalam program 2.1 perintah ORG (original) dan END adalah contoh dari directive (beberapa assembler menggunakan syntax .ORG dan .END). Periksa assembler anda untuk penjelasan lebih jauh. Lebih jauh tentang pseudo akan kita bahas pada bagian 2.5

3.    Bagian komentar dimulai dengan karakter semi-colon (titik-koma) yang berarti karakter-karakter setelahnya adalah sebuah komentar. Assembler akan segera mengabaikan karakter-karakter sesudah karakter semi-colon tersebut. Mengingat assembler adalah menterjemahkan baris demi baris dalam program, maka setiap komentar harus dimulai dari karakter semi-colon itu, walaupun dalam baris tersebut tidak terdapat instruksi apapun.

4.    Perhatikan label “HERE” dalam program 2.1 adalah bagian Label. Setiap label harus diakhiri dengan simbol colon (titik-dua). Dalam instruksi SJMP (Short Jump), 8051 diberitahu untuk berhenti disitu, atau dengan kata lain berputar-putar terus ditempat yang sama.

 


 

SubBAB 2.3 Meng-Assembling dan Menjalankan program untuk 8051

 

Sekarang dasar-dasar dari program bahasa assembly telah diberikan. Dan pertanyaan berikutnya adalah, Bagaimana itu semua bisa dibuat, dirangkai (assembling), dan siap untuk dijalankan? Inilah langkah-langkah untuk membuat program berbahasa assembly.

1.    Pertama adalah dengan menggunakan editor yang umum, ketikkan program seperti pada Program 2.1. Berbagai Editor dapat digunakan untuk membuatnya, misalnya notepad atau bahkan MS-DOS EDIT, yang kesemuanya disertakan oleh Microsoft Windows. Ingat bahwa editor yang kita gunakan harus dapat menghasilkan file ASCII. Beberapa assembler meminta kita untuk menamakan file program kita dengan nama berformat DOS 8+3 yang diberi ekstensi “.asm” atau “.src”, tergantung dari Assembler anda. Namun kita berkonsentrasi pada ektensi “.asm”.

2.    File “.asm” yang telah kita buat  seperti langkah 1 di atas, sekarang diminta oleh Assembler 8051. Assembler ini akan mengubah setiap instruksi dalam file tersebut menjadi kode mesin. Assembler ini menghasilkan file Object dan file List. Object file berekstensi “.obj”, sedang file List berekstensi “.lst”. Program yang dapat melakukannya misalnya program “ASM51.EXE” dengan nama “MCS-51 MACRO ASSEMBLER V2.3” buatan Intel Corporation 1976, 1986. Yang dapat diunduh (download) dari Internet.

3.    Jika kita membuat sebuah program yang sangat besar dan menghasikan beberapa file object. Maka dibutuhkan langkah ke 3 ini yang disebut sebagai linking. Dengan file ini beberapa file object dapat dijadikan satu file besar absolute yang berekstensi “.abs”. Umumnya file abs ini digunakan untuk latihan, jika kita memiliki program monitor.

4.    Selanjutnya file “.abs” ini akhirnya diubah sebagai bahasa mesin yang sebenarnya, yakni satu file kode mesin dengan ekstensi “.hex”. Program “OH.EXE” dengan caption “V1.0 Intel Corporation 1986” yang dapat melakukan hal itu. Namun hebatnya program OH ini dapat langsung mengubah satu file “.obj” menjadi satu file kode mesin. Akhirnya muncul beberapa assembler canggih belakangan ini sudah merangkum semua proses menjadi satu program saja, bahkan termasuk dengan simulasinya segala.

 

 

 

Lebih jauh tentang file “asm” dan “obj”

 

File “asm” dapat disebut pula sebagai file source (sumber), dan untuk alasan inilah beberapa assembler juga mendukung extensi “.src”.

 

File Lst

File Lst (List), adalah tambahan, namun bagaimanapun juga file tersebut adalah sangat penting karena file tersebut adalah mendaftar setiap opcode yang telah dibuat oleh assembler, termasuk alamat-alamatnya, dan termasuk pemberitahuan jika ada error atau kesalahan dalam penulisan program. Beberapa Assembler tidak otomatis mebuatkan file Lst tersebut untuk kita, dan membutuhkan perintah tambahan dalam DOS Command Promt saat menjalankan Assembler yang bersangkutan. (Namun untuk program Assembler ASM51.EXE buatan Intel sudah otomatis membuatkan file Lst). File tersebut sangat penting bagi programer untuk melihat setiap baris syntax yang dituliskan apa sudah benar atau tidak. Termasuk dapat melihat alamat setiap opcode dengan jelas.

 

Program 2.1 List File-nya

 

LOC  OBJ    LINE  SOURCE

 

0000           1  ORG 0        ;Mulai program dr 0000

0000 7D25      2  MOV R5,#25h  ;Isikan 25h pada R5

0002 7F34      3  MOV R7,#34h  ;Isikan 34h pada R7

0004 7400      4  MOV A,#0     ;buat A = 0

0006 2D        5  ADD A,R5     ;Tambahkan isi R5 ke dlm A

6               ;sehingga A = A + R5

0007 2F        7  ADD A,R7     ;Tambahkan isi R7 ke dlm A

8               ;sehingga A = A + R5

0008 2412      9  ADD A,#12h   ;Tambahkan 12h ke dalam A

10

000A 80FE      11 TUNGGU: SJMP TUNGGU  ;program selesai dan

12 END

 

 


 

SubBAB 2.4 Ruang ROM dan Program Counter dalam 8051

 

Di bagian ini kita akan menjelaskan tentang register Program Counter (PC) dalam proses menjalankan perintah pada program 8051. Kita juga akan mebahas ruang (space) ROM untuk berbagai variant dari keluarga 8051.

 

Program Counter dalam 8051

 

Regsiter penting lainnya dalam 8051 adalah PC (Program Counter). Program Couter adalah menunjuk lokasi dari alamat selanjutnya yang hendak dijalanakan. Setelah CPU membaca program dari ROM program, program Counter kemudian di-INCrement (ditambah satu bilangan) yang berarti menunjuk pada alamat byte selanjutnya dalam ROM Porgram. Program Counter dalam 8051 adalah termasuk register 16-bit. Artinya 8051 dapat mengakses program mulai dari alamata 0000 s/d FFFFh, sehingga total adalah 64 Kbytes. Namun tidak semua variant keluarga 8051 memiliki ROM program sebanyak itu di dalam chip-nya. Beberapa diantaranya hanya memiliki 2 Kbytes atau bahkan tidak sama sekali sehingga membutuhkan ROM program tambahan secara external. Bagaimana 8051 dan Program Counter-nya saat pertama listrik daya-nya dihidupkan ?? Hal tersebut akan kita bahasa pada kesempatan yang lain

 

Mulai dari bagian mana dari Program saat 8051 pertama dinyalakan

 

Pertanyan yang harus kita tanyakan mengenai setiap microcontroller (microprocessor). Pada lokasi mana dari ROM program, sebuah CPU memulai tugas-tugasnya saat kita mulai menyalakan dengan menghubungkannya dengan Listrik PLN misalnya. Setiap Micro proscessor adalah berbeda-beda. Namun dalam keluarga 8051 apapun pabrik pembuatnya atau penjualnya lokasi pertama yang dijalankan oleh 8051 saat pertama dihidupkan adalah lokasi 0000. Menghidupkan atau menyalakan maksudnya dalah memeberikan daya sebesar Vcc yang dibutuhkan untuk pin Vcc. Atau menggunaan pin Reset,yang akan dibahasa lebih jauhpada BAB 4. Dengan kata lain saat 8051 pertama dihidupkan PC selalu bernilai 0000. Yang berarti bahwa pada loikasi ini opcode pertama yang akan dijalankan. Untuk alasan ini lah setiap program dalam 8051  harus dimulai dari lokasi 0000 dan dituliskan ke dalam ROM program juga dimuklai dari alamayt 0000. Kita dpat memastika agar assembler memulai penyusuan kode program dari alamat tersebut dengan memberikan direvtive ORG dalam program kita. Nantinya kita akan membahas bagaiaman melihat setia aksi dari Program Counter dalam proses pembacaan ROM program.

 

Menempatkan kode dalam ROM program

 

Untuk dapat lebih mengerti, aturan dari bagaimana Program Counter mengambil data dan dieksekusi oleh CPU, kita akan menjelaskan aksi dari Program Counter ini. Pertama, adalah menjelsakan sekali lagi file List dari program contoh dan bagaiaman kode ditempatkan dalam ROM yang terdapat dalam chip 8051. Seperti yang kita lihat bahwa opcode dan operand untuk setiap instruksi ditampilkan dalam file tersebut pada bagian sebelah kiri file list tersebut.

 

Program 2.1 List File-nya

 

LOC  OBJ    LINE  SOURCE

 

0000           1  ORG 0        ;Mulai program dr 0000

0000 7D25      2  MOV R5,#25h  ;Isikan 25h pada R5

0002 7F34      3  MOV R7,#34h  ;Isikan 34h pada R7

0004 7400      4  MOV A,#0     ;buat A = 0

0006 2D        5  ADD A,R5     ;Tambahkan isi R5 ke dlm A

6               ;sehingga A = A + R5

0007 2F        7  ADD A,R7     ;Tambahkan isi R7 ke dlm A

8               ;sehingga A = A + R5

0008 2412      9  ADD A,#12h   ;Tambahkan 12h ke dalam A

10

000A 80FE      11 TUNGGU: SJMP TUNGGU  ;program selesai dan

12 END

 

 

Hasilnya adalah …

Setelah program ditulis (burned) ke dalam ROM internal dalam chip 8051 (misalnya AT89C51 atau DS5000). Opcode dan operand ditempatkan pada ROM program dimulai dari alamat 0000 seperti yang ditunjukkan dalan daftar dibawah ini.

 

Alamat ROM        Kode mesin        Kode Assembly

0000              7D25              MOV R5,#25h

0002              7F34              MOV R7,#34h

0004              7400              MOV A,#0

0006              2D                ADD A,R5

0007              2F                ADD A,R7

0008              2412              ADD A,#12h

000A              80FE              TUNGGU: SJMP TUNGGU

 

Daftar tersebut menunjukkan alamat 0000 berisi 7D dimana adalah opcode untuk mengisikan nilai ke register R5, dan alamat 0001 adalah berisi operand (dalam daftar, terlihat 25h) yang diisikan dalam R5. Sehingga instruksi “MOV R5,#25h” adalah memiliki kode mesin “7D25” dimana 7D adalah opcode dan 25 adalah operand. Hal yang sama juga pada kode mesin 7F34 yang berlokasi dalam 0002 dan 0003 yang merupakan representasi dari instruksi “MOV R7,#34h”. Termasuk juga untuk kode mesin 7400 yang berada dalam lokasi 0004 dan 0005 adalah representasi dari instruksi “MOV A,#0”. Lokasi memory 0006 memiliki opcode 2D dimana itu adalah opcode untuk instruksi  “ADD  A,R5” dan lokasi memory 0007 adalah berisi 2F, dimana opcode untuk instruksi “ADD A,R7”. Opcode dari intstruksi “ADD A,#12h” berlokasi pada alamat 0009. memory lokasi 000A berisi opcode dari instruksi SJMP. Sedang alamat target dari opcode SJMP tadi adalah isi dari lokasi 000B. Arti dari alamat target yang berisi FE akan dijelaskan pada bab selanjutnya.

 

Sedang dibawah ini adalah isi ROM menurut alamatnya.

 

Program 2-1 Isi ROM

Alamat     Code

0000       7D

0001       25

0002       7F

0003       34

0004       74

0005       00

0006       2D

0007       2F

0008       24

0009       12

000A       80

000B       FE

 

 

Menjalankan Program byte demi byte

 

Anggaplah program di atas sudah ditulis di dalam ROM dari Chip 8051 (atau 8751, AT89C51, atau DS5000), berikut ini adalah penjelasan langkah-langkah dari kejadian dalam 8051 ,setelah catu daya diberikan.

1.    Saat 8051 dinyalakan, PC (Program Counter) memiliki nilai 0000 dan mulai membaca opcode pertama, yakni 7D, yang mana kode tersebut berarti mengisikan operand ke dalam R5. Setelah menjalankan opcode tersebut CPU melalui bantuan PC kembali membaca lokasi ROM program berikutnya yakni  25, dan selanjutnya menjalankan tugasnya yakni memindahkan nilai 25 pada R5. Sekarang 1 instruksi sudah selesai. Selanjutnya Program Counter sudah di-INC-rement ke lokasi untuk opcode berikutnya, yakni ke alamat 0002. (PC==0002) dimana berisi opcode 7F, yang berarti opcode untuk instruksi “MOV R7,…”.

2.    Setelah menjalankan opcode 7F, nilai 34h lalu dipindahkan pada R7. Kemudian Program Counter lagi dengan meng-inc-rement dirinya sendiri hingga kemudian menunjuk alamat 0004.

3.    ROM lokasi 0004 berisi opcode untuk instruksi “MOV A,#0”. Instruksi ini adalah instruksi 2-byte, yang berarti masing-masing opcode dan operan menggunakan 1-byte.

4.    Sekarang PC = 0006 yang menunjuk alamat opcode dari instruksi “MOV ADD A,R5”. Ini adalah instruksi 1-byte. Setelah instruksi ini, PC akan menjadi 0007h

5.    Sedang lokasi 0007 adalah berisi opcode 2F, yang menjadi milik instruksi “ADD A,R7”. Ini juga termasuk dalam instruksi 1-byte. Setelah CPU menjalankan instruksi tersebut maka PC akan di-inc-rement dan menjadi 0008h. Hal ini terus terjadi sampai semua isi program dilaksanakan. Hal yang sebenarnya adalah, bahwa PC adalah berisi lokasi alamat dari instruksi yang hendak dieksekusi. Prosesor kelas X86 pun memiliki serupa dengan program counter yang dinamakan Instruction Pointer.

(lebih…)

Bagi anda yang bekerja dalam bidang web design pasti sudah tidak asing lagi dengan apa yang nama bahasa pemrograman.Bahasa pemrograman yang umum dikenal adalah php dan html.Tapi sebenarnya masih banyak bahasa pemrograman yang lain.

Berikut ini ada beberapa macam bahasa pemrograman yang perlu anda ketahui

1. Bahasa Pemrograman HTML
HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet.
HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C).
HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan.
Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan browser web seperti Mozilla Firefox atau Microsoft Internet Explorer.

2. Bahasa Pemrograman PHP
PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini.
PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web.
PHP banyak dipakai untuk membuat situs web yang dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain.
PHP biasanya berjalan pada sistem operasi linux (PHP juga bisa dijalankan dengan hosting windows).

3. Bahasa Pemrograman ASP
ASP adalah singkatan dari Active Server Pages yang merupakan salah satu bahasa pemograman web untuk menciptakan halaman web yang dinamis.
ASP merupakan salah satu produk teknologi yang disediakan oleh Microsoft.
ASP bekerja pada web server dan merupakan server side scripting.

4. Bahasa Pemrograman XML
Extensible Markup Language (XML) adalah bahasa markup serbaguna yang direkomendasikan W3C untuk mendeskripsikan berbagai macam data.
XML menggunakan markup tags seperti halnya HTML namun penggunaannya tidak terbatas pada tampilan halaman web saja.
XML merupakan suatu metode dalam membuat penanda/markup pada sebuah dokumen.

5. Bahasa Pemrograman WML
WML adalah kepanjangan dari Wireless Markup Language, yaitu bahasa pemrograman yang digunakan dalam aplikasi berbasis XML (eXtensible Markup Langauge).
WML ini adalah bahasa pemrograman yang digunakan dalam aplikasi wireless.
WML merupakan analogi dari HTML yang berjalan pada protocol nirkabel.

6. Bahasa Pemrograman PERL
Perl adalah bahasa pemrograman untuk mesin dengan sistem operasi Unix (SunOS, Linux, BSD, HP-UX), juga tersedia untuk sistem operasi seperti DOS, Windows, PowerPC, BeOS, VMS, EBCDIC, dan PocketPC.
PERL merupakan bahasa pemograman yang mirip bahasa pemograman C.

7. Bahasa Pemrograman CFM
Cfm dibuat menggunakan tag ColdFusion dengan software Adobe ColdFusion / BlueDragon / Coldfusion Studio.
Syntax coldfusion berbasis html.

8. Bahasa Pemrograman Javascript
Javascript adalah bahasa scripting yang handal yang berjalan pada sisi client.
JavaScript merupakan sebuah bahasa scripting yang dikembangkan oleh Netscape.
Untuk menjalankan script yang ditulis dengan JavaScript kita membutuhkan JavaScript-enabled browser yaitu browser yang mampu menjalankan JavaScript.

9. Bahasa Pemrograman CSS
Cascading Style Sheets (CSS) adalah suatu bahasa stylesheet yang digunakan untuk mengatur tampilan suatu dokumen yang ditulis dalam bahasa markup.
Penggunaan yang paling umum dari CSS adalah untuk memformat halaman web yang ditulis dengan HTML dan XHTML.
Walaupun demikian, bahasanya sendiri dapat dipergunakan untuk semua jenis dokumen XML termasuk SVG dan XUL.
Spesifikasi CSS diatur oleh World Wide Web Consortium (W3C).

Belajar Ruby

Posted: Juni 28, 2011 in pemrograman

jika anda mengaku sebagai programmer, mungkin kurang komplit rasanya jika anda belum menguasai bahasa pemrograman Ruby, apalagi anda adalah programmer yang mempunyai basic networking

Ruby adalah bahasa pemrograman yang handal untuk keperluan-keperluan network Programming, selama ini para master ruby indonesia belum sempat menerbitkan buku-buku panduan sebanyak bahasa pemrograman terstruktur, seperti vb 6.0,Delphi,dll  atau yang berbasis object (Object Oriented Programming) seperti VB.net,Delhi.net, Java  dan juga pemrograman berbasis web ( PHP,ASP).

Jika anda mau merasakan hal yang lain maka saatnya anda mencicipi Ruby yang powerfull dan jika anda memang mempunyai basic pemrograman, tentunya tidak terlalu sulit untuk menguasai Ruby, berikut link yang bisa membantu anda dalam belajar Ruby, silahkan klik disini untuk memulai belajar……

atau anda bisa download panduan berbentuk file pdf disini

semoga sukses