Wednesday, June 16, 2021

Apa Sih Bedanya Variabel dan Kontanta?

VariabelSecara bahasa, variabel berasal dari kata variable yang berarti bervariasi. Bervariasi dalam hal ini adalah nilai yang bisa berubah-ubah sesuai dengan situasi dan kondisi. Dalam matematika, misalnya variabel A, A dapat mewakili / diisi dengan nilai bilangan bulat, prima, dll. Wujud variabel nantinya akan tetap, tapi nilainya akan berubah-ubah.Misal luas persegi panjang dihitung dengan rumus PxL dimana P adalah Panjang dan L adalah Lebar. P dan L adalah variabel, dengan demikian P dan L nilainya bisa berubah ubah. Pada bahasa pemrograman komputer, variabel juga digunakan untuk mempermudah dalam pembuatan program.KonstantaKonstanta adalah nilai yang tetap dan tidak berubah seperti halnya variabel. Misal pada rumus Keliling lingkaran, Phi x D atau 2 x Phi x r. Dimana Phi adalah 3.14 atau 22/7, D adalah diameter lingkaran, dan r adalah jari-jari lingkaran. Phi adalah konstanya, nilainya tidak akan berubah. Sedangkan D dan r adalah variabel, nilainya bisa berubah-ubah.KesimpulanJadi, perbedaan variabel dan konstanta terletak pada deklarasi, penggunaan, dan cara penyimpanannya. Variabel adalah suatu tempat untuk menampung data yang nilainya selalu berubah. Sedangkan, Konstanta adalah suatu tempat untuk menampung data yang nilainya selalu tetap dan tidak pernah berubah.

Apa Sih Bedanya Fakta dan Opini

FaktaFakta adalah kenyataan yang sebenarnya. Fakta merupakan fenomena atau kejadian yang sebenarnya terjadi secara nyata, yang sedang terjadi atau sudah terjadi.OpiniOpini adalah pendapat, baik pendapat yang sifatnya rasional atau bebas. Opini merupakan kemungkinan atau pernyataan yang bukan fakta, tapi disampaikan berdasarkan fakta-fakta atau teori-teori yang sudah ada yang dihubung-hubungkan baik secara logis dan menganut aturan sebab-akibat. Opini bisa diartikan juga sebagai prediksi.KesimpulanJadi, perbedaan antara fakta dan opini adalah berdasarkan cara pandang dan fakta pendukung.

Apa Sih Bedanya JOIN dan NATURAL JOIN di Database MySQL?

Perbedaan Antara Join dan Natural Join di database MySQLJoinJika menggunakan perinta join, kita harus menyebutkan kolom yang mau di-join. Misal kolom id pada tabel1 dan kolom kode pada tabel2:SELECT * FROM tabel1 JOIN tabel2 ON tabel1.id=tabel2.kode; Natural JoinJika menggunakan Natural Join, kita tidak perlu menyebutkan kolom yang akan di-join-kan dengan syarat, nama kolom antara kolom pada tabel1 dan tabel2 harus sama. Jika pada tabel1 dan tabel2 ada lebih dari satu kolom yang namanya sama, maka semua kolom yang sama tersebut akan dibandingkan.SELECT * FROM tabel1 NATURAL JOIN tabel2; KesimpulanJadi perbedaan antara JOIN dan NATURAL JOIN adalah sintaksnya / cara penulisannya. Jika menggunakan JOIN, kita harus menentukan kolom yang akan di-join. Jika menggunakan NATURAL JOIN, database akan otomatis mencari nama kolom yang sama sebagai parameter kolom yang dijoin.

Apa Sih Bedanya Pin LCD-RS, LCD-R/W, dan LCD-E pada LCD?

Bagi yang hobi atau sedang bermain dengan LCD pada mikrokontroler, tentu akan mengenal ketiga pin ini. Pin RS (LCD-RS), R/W (LCD-R/W), dan E (LCD-E).Pin RS (Register Select)RS adalah pin yang berfungsi sebagai selektor register (register sellect) dengan memberikan logika low (0) sebagai register perintah dan logika high (1) sebagai register data. Seperti yang telah kita kenal jika dalam kode program selalu ada yang namanya lcd_putcmd (command) dan ada lcd_putchar (character berupa data), kata "put" dalam kode tersebut adalah untuk mengirimkan data.Pin R/W (Read / Write)R/W adalah pin yang berfungsi untuk menentukan mode baca atau mode tulis dari data yang terdapat pada DB0 – DB7. Yaitu dengan memberikan logika low (0) untuk fungsi write (menulis data) dan logika high (1) untuk mode read (membaca data). Biasanya perintah ini akan disinkronkan dengan perintah dari RS dalam sebuah fungsi. Perintah write dan read akan di bahas pada tulisan selanjutnya.Pin E (Enable)Enable (E), berfungsi sebagai Enable Clock LCD, dengan logika 1 setiap kali pengiriman atau pembacaan data. Jika menggunakan 8 bit (semua pin dipakai/ disambungkan pada mikrokontroler) maka hanya membutuhkan 1 siklus enable, tetapi jika menggunakan 4 bit (hanya DB4-DB7 yang disambungkan) maka membutuhkan 2 suklis enable.

Apa Sih Bedanya WinAVR dan CodeVisionAVR (CVAVR)?

WinAVRMerupakan aplikasi freeware (open source), sehingga setiap orang bisa mengembangkannya sesuai keperluan. Siapa saja bebas menggunakan aplikasi ini tanpa terikat dengan lisensi dari pembuatnya. Librari-librari aplikasi ini tidak kalah dengan aplikasi berbayar karena pengembangannya dilakukan oleh banyak orang.CodeVision AVRAplikasi berbayar (berlisensi), sehingga jika kita ingin menggunakannya tanpa membeli lisensinya, kita harus memasukkan serial number dan menginstall crack-nya juga. Librarin-nya lengkap karna aplikasi memang dibuat untuk tujuan komersil

Apa Sih Bedanya FPGA (Field Programmable Gate Array) dan Mikrokontroler 1?

Contoh FGPASecara umum, FPGA (Field Programmable Gate Array) dan Mikrokontroler mempunyai konsep yang sama, yaitu sebagai pemroses sinyal (input dan output) dan pengendali. Hanya saja, kapan kita lebih baik (jadi bukan keharusan) menggunakan FPGA dan kapan lebih baik menggunakan mikrokontroler adalah penting untuk diketahui. Tentu tetap sesuai kebutuhan.Dalam embedden system dikenal dengan pemrograman berbasis software (C, C++, BASIC, pascal, dll) dan pemrograman berbasis hardware (VHDL, verilog dan SystemC). Pemrogram mikrokontoller merupakan pemgrogram software. Artinya, hardware sudah ada dan disedikaan oleh pabrik. Kit dan mikrokontroler bentuk dan spesifikasinya ditentukan oleh pabrik. Artinya, jumlah memori dan fasilitas dan IC mikrokontroler seperti ADC, pencacah, dll tidak bisa kita tambah atau ubah. Kita hanya bisa menggunakan atau tidak menggunakan fungsi tersebut. Kita sebagai pemrogram hanya merangkai kit tersebut kemudian mengisinya dengan program. Nah, ini lah yang disebut pemrograman berbasis software.Contoh IC MikrokontrolerApakah fungsinya sama antara FPGA dan Mikrokontroler?Tentu dari segi fungsi sama, tpi dari segi design berbeda. Perlu diingat bahwa FPGA (field programable gate array) hanya gate-gate logic yang bisa diprogrmable. karena berbasis gate (harware) tentu dari segi kecepatan berbeda dengan berbasis programabe software. Dalam perancangan embedded device terbagi menjadi dua pilihan, real time atau non realtime. Pilihan ini lah yang mempengaruhi seberapa cepat embedded device kita merespon terhadap input dan output.Kapan kita menggunakan FPGA atau Mikrokontroler?Tergantung dari aplikasi yang kita buat. Kalau aplikasi yg dibuat tidak memerlukan kecepatan dan kepresisian tinggi, kita cukup dengan mikrokontroler. Untuk aplikasi besar kita membutuhkan FPGA untuk perancangan arsistekturnya yang bisa dicombine dengan mikro atau yang bisa disebut SoC (System on Chip).Misalnya aplikasi (alat) untuk signal dan image processing yang membutuhkan proses aritmatika yang rumit dan butuh kecepatan tinggi, kita membutuhkan FPGA. Pembuatan aplikasi RF dengan orde MHz atau GHz, semisal sistem GSM, CDMA, LTE, dan WIMAX, lebih bagus juga jika menggunakan FPGA. Untuk aplikasi pesawat luar angkasa yang membutuhkan presisi tinggi dan tahan terhadap reduksi ionosfir, juga lebih baik menggunakan FPGA. Jadi kalau untuk kontrol standar dan sederhana, lebih baik menggunakan mikrokontroler untuk efektifitas.Apa saja produsen FPGA dan Mikrokontroler?Kalau mikrokontoler, ada Atmel AVR (AT89* , ATMega, ATTiny, dll), PIC. Kedua jenis mikrokontroler tersebut paling banyak dipakai di Indonesia.  Sedangkan untuk FPGA yang biasa dipakai adalah Xilinx (biasa include prosesro Microblaze, LEON, ARM), Altera (biasa include procesor ARM cortex), Actel(include NIOS II), dll.Perbedaan lain tentang FGPA dan Mikrokontroler bisa dibaca juga di Apa Sih Bedanya FPGA (Field Programmable Gate Array) dan Mikrokontroler 2.

Apa Sih Bedanya FPGA (Field Programmable Gate Array) dan Mikrokontroler 2?

FPGA untuk Merancang Hardware Kita membuat program kemudian dikompile dan di download ke Flash ROM nya mikrokontroler. Misalkan Kapasitas Flash ROM mikrokontroller kita adalah 4KB sementara program yang kita kompile hanya 1 KB. Berarti sisa 3 KB bukan? Sisa ini sebenarnya mubazir dan wasting cost (biaya produksi dan material pembuatan IC). Dengan FPGA kita bisa merancang sistem digital yang benar-benar sesuai keperluan kita. Butuh memory 1KB ya cukup dirancang 1 KB saja.FPGA untuk Merancang MikrokontrolerMisalkan kita mau membuat jam digital. Kalau kita menggunakan mikrokontroller maka kira2 peripheral apa saja yang akan digunakan? paling-paling hanya timer dan I/O, itu saja bukan? Lalu jika mikrokontroller yang kita gunakan memiliki 3 buah timer, 3x8 bit I/O, ADC, SPI, I2C dll. Sementara peripheral yang kita gunakan cuma I/O dan timer maka sisanya nganggur dan tidak terpakai juga kan? Ini juga wasting resources. Dengan FPGA kita bisa merancang sebuah sistem cukup dengan peripheral timer dan I/O saja. Lebih hemat resources kan?FGPA Lebih Presisi daripada MikrokontrolerMisalkan kita mau membuat penjumlah 8-bit. Jika menggunakan mikrokontroller kita memerlukan satu siklus mesin dengan perintah misal ADD Rx,Ry dimana satu siklus mesin ini setara dengan periode sumber clock dan tergantung arsitektur mikrokontrolernya. Sebagai contoh dengan XTAL 1 MHz dan AVR maka dibutuhkan 1/1=1 us. Namun jika kita merancang rangkaian penjumlah 8-bit menggunakan FPGA mungkin hanya dibutuhkan 2-3 delay gate atau setara kurang lebih 2-3 ns saja. Dengan demikian waktu eksekusi FPGA menjadi lebih cepat. Bisa sampai 1000x lebih cepat, hebat bukan?FGPA Dieksekusi Paralel, Mikrokontroler Dieksekusi SekuensialDengan FPGA kita bisa merancang sistem digital secara paralel daripada sekuensial. Ini contoh eksekusi paralel di FPGA. Misal kita memiliki program berikut :beginstatement1;statement2;statement3;endJika menggunakan mikrokontroller maka program diatas akan dikerjakan satu persatu (program akan dikerjakan secara sekuensial dari statement1 kemudian statement2 baru kemudian statement3). Namun jika menggunakan FPGA bisa dirancang semua statement diatas dieksekusi secara bersamaan.Sehingga kalau kita punya instruksi berikut :B=A+4;C=B+2;belum tentu hasilnya C=A+6 karena pada saat B sedang dihitung maka C juga sudah mulai dihitung. Jadi saat menghitung C=B+2 nilai variabel B belum tentu berisi B=A+4. Tergantung mana yang lebih cepat eksekusinya. Timing semacam ini perlu diperhatikan, jadi tidak semudah sistem sekuansial bukan?FGPA untuk Membuat Prototype HardwareCatatan, FPGA adalah reconfigurable. Artinya arsitektur sistem digital kita bisa dirubah dan diprogram ulang sesuai keinginan. Inilah alasanya mengapa FPGA cocok untuk prototyping. Misal sekarang kita butuh memory 1KB lalu ternyata dikemudian hari kita butuh menjadi 4 KB atau misalnya sekarang butuh 1 timer tapi dikemudian hari menjadi butuh 3 timer maka dengan mudah kita bisa mengkonfigurasi semua sesui kebutuan. Dengan catatan kapasitas gate yang tersedia dalam FPGA masih mencukupi. menyenangkan bukan? semua serba sesuai kebutuhan.FGPA Lebih Mahal daripada MikrokontrolerPilihan FPGA menjadi tidak mudah dan kurang familiar mengingat harganya lebih mahal dibandingkan kebanyakan mikrokontroler dan kompleksitas dalam perancangannya. FPGA lebih cocok untuk prototyping sistem digital (terutama yang membutuhkan komputasi yang komplex yang tidak mampu diselesaikan mikrokontroler). Setelah sistem yang kita rancang jadi maka selanjutnya desain tersebut bisa di produksi masal dengan murah dalam bentuk single chip atau sebuah IC. Misal saja kita merancang sistem kendali Lift dengan FPGA, setelah jadi kemudian desain tersebut diproduksi masal di pabrik dan dijual dengan nama IC 74DTEUGM12. Bagaimana keren juga kan?FGPA Level Hardware, Mikrokontroler Level SoftwareIni sebagai pertimbangan. Beberapa waktu yang lalu, membuat sistem digital dengan PFGA jauh lebih sulit daripada menggunakan mikrokontroler. Level mempelajari FPGA lebih hardware daripada mikrokontroler (hardware bukan berarti solder menyolder tetapi lebih berarti menyentuh level arsitektur sistemnya). Kecuali untuk sistem digital yang memang sangat mudah untuk dibuat. Untuk saat ini mempelajari FPGA tidak terlalu susah lagi. Banyak tool yang menyediakan jasa high language programming seperti Handel-C, System C dan Impulse C yang menggunakan bahasa C. Namun demikian pemahaman sistem digital secara mendasar dan mendalam lebih diperlukan ketika kita mempelajari FPGA dibandingkan pada saat kita mempelajari Mikrokontroler.Satu lagi, kita bisa membuat mikroprosesor atau mikrokontroler dengan arsitektur sendiri, dengan jumlah register sendiri, dengan kapasitas memory sendiri, dengan peripheral sendiri, semua serba sendiri bahkan kompilernya juga buatan kita sendiri karena bahasa mesin/mnemonic-nya harus sesuai dengan desain kita. Kalo anda bisa silahkan di produksi dengan label mikrokontroller DTE8535, tentu asik bukan? :DPerbedaan lain tentang FGPA dan Mikrokontroler bisa dibaca juga di Apa Sih Bedanya FPGA (Field Programmable Gate Array) dan Mikrokontroler 1.