Struktur bahasa C/C++

Struktur bahasa C/C++
1)       Komentar
Bagian ini berisi mengenai keterangan pada program kita. Tidak akan dieksekusi dan tidak akan ditampilkan ketika program dijalankan . Tapi cukup penting, karena komentar akan mempermudah orang lain yang ingin mempelajari program yang kita melalui keterangan yang ada. Dan juga sangat membantu kita megingat ketika kita membuat program dengan statement yang panjang dan terdiri dari banyak fungsi. Komentar ditulis dengan 2 cara yaitu :
a.       Dimulai dengan tanda // untuk komentar 1 baris.
b.       Diapit dengan tanda /* ... */ untuk komentar multi baris
Contohnya:
// Contoh komentar satu baris //

2)       Preprocessore Directive (Pengarah Compiler)
Preprocessor directive ditandai dengan simbol #. Bertugas untuk mengarahkan prepocessor yang akan digunakan untuk membaca file header atau bisa dikatakan sebagai pengatur proses kompilasi.
Contoh preprocessor directive : #include, #define, dan lainnya. Contoh file header : , , , dan lainnya.
Contohnya:
#include
using namespace std;
Preprocessor directive define merupakan suatu pengarah untuk mendefenisikan suatu preprocessor macro, konstanta dan variabel. Penulisan preprocessor directive define ini ialah #define.
Contohnya :                      
#define PI      3.14
#define KUADRAT(x)   (x*x)

3)       Fungsi Utama (main) danTambahan (function dan procedure)
a.       Fungsi Utama
Fungsi utama adalah bagian yang pertama kali akan dieksekusi, walaupun sebelum bagian dari fungsi utama ini ada fungsi tambahan. Sehingga fungsi utama pasti ada di dalam program C++. Fungsi utama ini tersusun atas kata main lalu diikuti dengan tanda(). Lalu diikuti lagi dengan definisi fungsi (bagian dalam tanda “{}”) yang berisi deklarasi dan perintah-perintah yang akan dieksekusi dalam program tersebut.
Contohnya:
int main()
{
cout<<"Selamat datang di Blog AyubAdiputra"<
prosedur();
return 0;

b.      Fungsi Tambahan
Fungsi tambahan ini adalah fungsi yang mendukung dan merupakan pemecahan dari fungsi utama.Terdiri atas function dan procedure. Function merupakan fungsi dengan nilai balik, sedangkan procedure adalah fungsi tanpa nilai balik.
Contohnya:
void prosedur()
{
char nama[20]="Ayub N Adiputra";
cout<<" Nama saya adalah "<
}


4)       Definisi fungsi
Definisi fungsi adalah bagian yang menyertai fungsi. Di dalamnya berisi syntax-syntax yang nantinya akan dieksekusi apabila fungsi tersebut dipanggil. Bagian definisi ini selalu diawali dengan tanda kurawal buka “{” dan diakhiri dengan tanda kurawal tutup “}”.
Di dalam definisi fungsi ini terdapat beberapa statement. Statement harus diakhiri dengan tanda “;”. Tanda ini berfungsi untuk memberi tanda bahwa satu statement sudah selesai dan akan terjadi error jika tidak ditutupi dengan tanda “;”.
Contohnya:
int main()
{
cout<<"Selamat datang di Blog AyubAdiputra"<
prosedur();
return 0;
}

5)       Bagian deklarasi
Contohnya:
void prosedur()
{
char nama[20]="Ali Budi";
cout<<" Nama saya adalah "<<nama;
}
Bisa dikatakan sebagai statement tempat pengenalan variabel, konstanta, fungsi, array dan lainnya. Deklarasi yang sederhana da pada contoh di atas. Pada contoh di atas diperkenalkan tentang tipe data apa yang digunakan variabel nama dalam procedure tersebut. Kemudian diketahui pula nilai dari variabel nama adalah Fasesa.

Program Dot matrix 7x5 menggukan Baskom AVR

assalammualaikum wr.wb

wah udah lama ni ndak ngepost sekarang janu akan mempost tentang led matrix atau lebih dikenal dgn dot matrix,sini janu akan memperlihatkan skematik dan juga programnya biar complit.

ini adalah rangkaian skematik dari led matrix 7x5
komponen :
- led 5mm = 35 buah
- R1-R5,1k  = 5
  R6-R12,56 ohm = 5
- transistor bd 547 = 5
rangkaian tersebut inputnya adalah berlogika 1,kolom maupun baris akan bekerja bila diberi logika 1 bisa juga tidak menggunakan transistor dari kaki negatif lang sung nyambung ke pinheatder,contohnya :
dan inputnya untuk kolomnya adlah logika 0,jadi tergantung teman2 mau pakek yg mana.
berikut ini juga skematik mikro yg akan dihubung kan ke led matrix


portc sebagai kolom dan portd sebagai baris
dan berikut ini programnya 

$regfile = "m16def.dat"
$crystal = 8000000

Config Portc = Output
Config Portd = Output

dress Alias Portc
Data_ Alias Portd

Dim Putra As Byte
Dim Man As Byte
Dim N_putra As Byte
Dim N_man As Byte
Dim A As Byte
Dim B As Byte
Dim C As Byte
Dim D As Byte
Dim E As Byte

N_putra = 0
N_man = 0

Do

C = 33
For E = 0 To 33

For B = 0 To 4

For A = 0 To 4

Putra = Lookup(a , Alamat)
adress = Putra

D = A + C
Man = Lookup(d , Janu)
Data_ = Man
Waitms 5

Next
Waitms 1

Next
Decr C

Next

Loop

Alamat:
Data &B11110111
Data &B11101111
Data &B11011111
Data &B10111111
Data &B01111111

Janu:
':D
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B01100110
Data &B01100111
Data &B00000111
Data &B01100111
Data &B01100110
Data &B00000000
'u
Data &B00000000
Data &B01111110
Data &B00000001
Data &B00000001
Data &B00000001
Data &B01111110
Data &B00000000
'n
Data &B01111111
Data &B00000100
Data &B00001000
Data &B00010000
Data &B01111111
Data &B00000000
'a
Data &B00111111
Data &B01001000
Data &B01001000
Data &B01001000
Data &B00111111
Data &B00000000
'j
Data &B01111110
Data &B01000001
Data &B01000001
Data &B01000001
Data &B01000010
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000

Program tersebut akan membuat dot matrix menampilkan "nama saya" sekali kalinebeng, secara geser ke kiri. Dalam program tersebut proses scanning terjadi pada potongan program

For A = 0 To 4

Lima = Lookup(a , Alamat)
Adress = Lima

D = A + C
Tujuh = Lookup(d , Wahyu)
Data_ = Tujuh
Waitms 1

Next

Pada potogan program tersebut terdapat rumus D = A + C, rumus ini digunakan untuk menggeser karakter yang ditampilkan oleh dot matrix sebanyak satu kalikearah kiri. pada potongan program tersebut proses scanning hanya untuk 5 kolomsaja, jika proses ini hanya diulangi sekali saja maka karakter yang ditampilkan tidak akan terlihat karena terlalu cepat, oleh karena itu proses ini juga diulang ulang sebanyak 5 kali supaya tampilan dapat dilihat dengan jelas, sehingga program menjadi

For B = 0 To 4

For A = 0 To 4

Lima = Lookup(a , Alamat)
Adress = Lima

D = A + C
Tujuh = Lookup(d , Wahyu)
Data_ = Tujuh
Waitms 1

Next
Waitms 1

Next

kemudian ditambah lagi dengan satu looping for....next yang digunakan untuk menggeser karakter yaitu.

C = 33
For E = 0 To 33
.
.
.
.
.
Decr C
Next

dan berikut ini contohnya 

sekian dari saya semoga bermanfaat dan selamat mencoba :D
wassalam

sumber : http://janu-tronik.blogspot.com/ dan http://kecoakacau.blogspot.com/ 

Rangkaian power supply CT

assalammualaikum
 sudah lama ndak posting,sekarang sy akan memberi tahu rangkaian power supplay atau lebih dikenal dengan catu daya,rangkaian berikut ini adalah rangkaia CT yg menggunakan trafo TC

gambar trafo ct




nah langsng aja ni,grikut ini gambar skema rangkaiannya :


dan ini gambar rangkaiannya melalu app eagle 6.4.0
-gambar skematik

-gambar boardnya


berikut ini contohnya,untuk boxnya sy menggunakan es crim dung-dung 



sekian dari sy semoga teman2 mendapatkan inspirasi dan keatifitas lebih dari sy menciptakan sesuatu yg unik dan bermanfaat.wassalam

by : JANUARMAN MAULANA PUTRA

LINE FOLLOWER Menggunakan Relay

 hello gan sekarang sy akan memberi tahu rangkaian line follower,tapi line follower kali ini menggunakan relay ada yg udah  tau apa itu relay berikut gambarnya :

nah sekarang kita kerangkaiannya:

  Line follower ini mengikuti garis putih karena menggunakan transistor NPN,kalo mau mengikuti garis hitam tinggal ganti saja transistornya menjadi NPN.
  prinsip kerjanya jika sensor tidak terkena cahaya arus yg masuk positif sehingga output menjadi positif dan LED akan mati sehingga relay tidak bekerja maka dinamo akan maju.sedangkan jika sensor mendapat cahaya / terkena cahaya maka ic akan mendapat arus negatif sehingga output menjadi negatif dan LED pun akan menyala dan atomatis relay akan berfungsi dan dinamo pun akan mundur,

Bahan-bahan:
1.led merah               
2.photodioda/LDR   
3.resistor 33k           
               330           
                 1k           
               100            
4.trimpot 10k
5.ic op-amp
6.transistor PNP
7.dioda 1A
8.relay DPDT/8kaki
9.dinamo

semoga bermanfaat sekian wassalam (Januarman maulana putra)

Robot explorer hexapod menggunakan remote control

 hello gan,kemarin saya sudah post tentang robot hexapo,saking kepingin tau akhirnya saya membuatnya.allhamdulillah akhirnya sy berhasil membuatnya ya..... tidak jauh beda dah sama yg di post kemarin hanya robot sya tidak menggunakan microkontroller hanya mainin arus aja.......berikut Gbr nya


robot ini  dari bahan sederhana,antara lain :
- stik es cream
- nampan
- motor mainan
- tempat baterai
- saklar
- switch
- kabel warna

bentuk remote controlnya

sederhanakan untuk proses pembuatannya rahasia.......
video hexapo buatan janu

dan untuk melihat cara pembuatan kakinya bisa dilihat di sini  (januarman maulana putra)

Membuat Robot Explorer Hexapod

karya "Widodo Budiharto"
           Guest Professor Univ. de Bourgogne, Prancis
                                                 

Pendahuluan
Pada proyek robot kali ini, penulis memaparkan cara membuat robot berkaki 6 (hexapod) menggunakan 3 buah sensor, yaitu 1 sensor  jarak SRF04 (Sonar Range Finder) dan 2 bh  Sharp GP2D12.  Dijamin dechhh penasaran dan  menarik untuk dicoba J.


Blok Rangkaian
Robot ini bergerak berdasarkan informasi dari ketiga sensor jarak.  Robot ini diharapkan dapat melakukaneksplorasike daerah yang dilaluinya, untuk memberikan informasi kepemiliknyamenggunakan kamera wireless misalnya, oleh karena itu robot ini dinamakan Explorer Hexapod.  Gambar di bawah ini menampilkan blok rangkaian yang akan dibuat:


 





                                                       Gambar 1.  Blok rangkaian robot Explorer Hexapod

Bahanbahan
Berikut ini ialah bahanbahan yang diperlukan, yang paling penting tentunya ialah kerangka dari kaki hexapod ini, yang dapat Anda buat sendiri atau membeli kit yang sudah jadi :
1.       2 buah servo motor HS311
2.       Body dan kaki hexapod
(Dapat membeli kit kaki hexapod lengkap dengan 2 bh servo HS311)
3.       Min. System  ATmega 8535, ATmega16 atau Atmega32
4.       Driver Motor DC 293D/ deKits SPC DC Motor
5.       1 sensor jarak  ultrasonic SRF 04 (jarak 3cm-3m)
6.       2 sensor jarak infrared SharpGP2D12(10cm -80cm)
7.       Tempat baterai 9V 2bh
Berikut ini ialah konstruksi dari kaki hexapod standar, yang digerakkan dari putaran motor servo continuous.  Servo ini dikendalikan dari port B.0-3  melalui Driver motor  yaitu kit DC motor Driver menggunakan IC L293D (dapat menggunakan juga kit dekits SPC DC Motor)  atau jika ingin lebih kuat lagi menggunakan IC H bridge  L298. Perlu diingat, kaki servo ini ada 3 pin, cukup gunakan 2 kaki yang menggerakan motor DC di dalam servo tersebut saja.


 





                            
                                                                      Gambar 2.  Susunan  sisi  kaki hexapod
Servo HS311 merupakan servo dengan torsi yang cukup besar untuk menggerakkan robot dengan beban maksimal 1.5kg.

Cara kerja
Pertama, kita lihat dulu bagian sensor.  Sensor SRF04 digunakan untuk mengetahui jarak depan robot, apakah ada penghalang atau tidak, yang mampu mendeteksi jarak dari 3cm hingga  3 meter. Sensor ini bekerja berdasarkan prinsip gelombang ultrasonic. Pencari jarak ini bekerja dengan cara memancarkan pulsa suara dengan kecepatan suara (0.9 ft/milidetik) berfrekwensi 40 KHz.  Keluaran sensor ini dihubungkan ke Port C.0 dan Port C.1, dan dengan nilai trigger input sebesar 10 uS pada pulsa TTL.   Alasan mengapa digunakan sensor ini, ialah karena sensor  jarak ini paling banyak digunakan pada Kontes Robot Cerdas di Indonesia, sehingga pembaca pemula menjadi familiar. Anda dapat menambah sensor ini hingga 4 buah untuk digunakan pada  sisi kanan, kiri dan belakang robot biar lebih akurat.
                                                                      
                                                Gambar 3.  Susunan kaki SRF04

Sedangkan 2 sensor infrared GP2D12 di sisi samping kanan dan kiri dapat mengukur jarak sejauh 10cm-  80cm dengan output analog, sehingga dapat langsung dihubungkan ke port A.0 dan port A.1  dari mikrokontroler AVR tersebut.  Karakteristik dari sensor ini tidak linear, oleh karena itu idealnya perlu digunakan look up table untuk mengolah raw data dari sensor tersebut.
Hasil pembacaan sensor-sensor jarak ini diolah oleh mikrokontroler, untuk memutuskan gerakan yang akan dilakukan apakah maju, mundur atau belok. Dengan memutarnya servo, menyebabkan bagian kaki yang terhubung ke servo  bergerak bergantian sehingga robot dapat berjalan.  

Explorer.bas:
‘Program Demo Robot Explorer Hexapod
‘By Mr. Widodo Budiharto
‘Univ. de Bourgogne 2007
deklarasi fungsi dan variabel
Declare Sub Initialize_ultrasonic()
Declare Function Ultrasonic_depan() As Integer
Dim Jarakdepan As Integer
Dim Jaraksampingkanan As Word
Dim Jaraksampingkiri As Word
Dim W As Word
Config Portb = Output
Config Portd = Input
Config Portc = Output
Config Adc = Single , Prescaler = Auto , Reference = Avcc   'konfigurasi ADC
Start Adc
Call Initialize_ultrasonicpanggil fungsi
Do
baca SRF04 untuk jarak depan
Print "jarak sampingkiri" ; Jaraksampingkiri
‘Demo jika ada halangan, maka belok kiri
 If Jarakdepan > 40 Then
   Portb = 8                                   'maju
Wait 2 ‘delay
Else if jarak depan <40 and jaraksampingkanan >150 then
    Portb = 0     'belok kiri 
    Wait 2
End If
Loop
End
Function Ultrasonic_depan() As Integer
                                                 ' set initial state pin trigger
                                      ' buat pulsa  5us @ 4 MHz
                     ' ukur return pulse
End Function
Sub Initialize_ultrasonic inisialisasi  sensor ultrasonik
 
End Sub

Gambar berikut merupakan hasil yang sudah jadi yang dapat berjalan dengan cukup cepat dan kuat karena menggunakan servo torsi tinggi dari Hitec.

                   
               A.                                                        B.
                      Gambar 4. Robot in action a). Tampak samping     b). Tampak depan
 berikut adalah video robot hexapod
sumber : http://www.toko-elektronika.com dan http://www.youtube.com "Robot Hexapod Malik"