Selamat datang di ForSa! Forum diskusi seputar sains, teknologi dan pendidikan Indonesia.

Welcome to Forum Sains Indonesia. Please login or sign up.

Maret 01, 2024, 09:54:52 PM

Login with username, password and session length

Topik Baru

Artikel Sains

Anggota
Stats
  • Total Tulisan: 139,653
  • Total Topik: 10,405
  • Online today: 99
  • Online ever: 1,582
  • (Desember 22, 2022, 06:39:12 AM)
Pengguna Online
Users: 1
Guests: 53
Total: 54

Aku Cinta ForSa

ForSa on FB ForSa on Twitter

teknik pemrograman

Dimulai oleh ahmad m.s, April 10, 2009, 09:49:43 PM

« sebelumnya - berikutnya »

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

Iman_Bingung

Kutip dari: idiotique_hebb pada Januari 11, 2010, 11:03:53 PM
Silahkan kalo yang mau bertanya tentang algoritma di pemrograman?


Ada yg tahu tentang cara baca sector pada sebuah drive / SD Card?

Ato:

Buat software recovery data?


Untuk pemrograman Visual Basic yaw..

Thanks for All...
[move]
ImanSiiip
[/move]
[email][email protected][/email]

heru.htl

Setahuku untuk beberapa fungsi FSO (File System Object) VBA ditujukan untuk keperluan tersebut...

ANDIK SAJA

Ajarin GW bahasa Basic Untk BHT-8000 dong...

damanhuri

klo bahasa c dengan aplikasi atmel at89s51/2 bisa ga mas?

ahmad m.s

muup... w da lma g buka ni forum.. soal w klaz 3.. utg da slese uan..
hehe.. maklum la.. msi skull.. klas 3 smk.. rencana mo lgsung cri kerja, klo ada yg brminat kirim z email ke [email protected]
baiklah, w jawab 1-1 pertanyaan a..
utk mas utusan langit.. sbenarnya saya dlu da dpt source code bwt trigonometry..
tapi skrg w gtw tah kmn source code na.. akan saya coba cari skali lagi..
mungkin bsa d download dari [pranala luar disembunyikan, sila masuk atau daftar.]

kemudian, ttg API ato Aplication Programming Interface... setelah cari di google, saya dapat API itu manfaat na banyak... sekumpulan fungsi eksternal yang terdapat dalam file-file librarynya windows atau program lain yang dapat digunakan untuk meningkatkan kemampuan program kita..
manfaat dari API adalah,untuk mengatasi keterbatasan fungsi-fungsi internal (built-in) visual basic.. coba bayangkan.. ada teman ato klo d prusahaan si bos datang, meminta kita:
   1. Melakukan Restart
   2. Melakukan Shutdown
   3. Selalu diatas windows yg lain (On Top Most)
   4. Akses Registry Windows
   5. Menontaktifkan program-program tertentu, seperti Windows Taks Manager, Regedit, Ms Config de el el.
   6. Mendeteksi koneksi internet
   7. Mendapatkan direktori system (c:\windows\system32 atau c:\windows\system)
   8. Menyembunyikan mouse cursor, tombol Start, TaskBar
   9. Dan lain-lain, kayax mau buat virus aja
apa yang anda lakukan?? bila tidak tau ttg API, palingan kita celingak-celingukan liad kiri kanan cari contekan...
kalo mo menghapal tu API silahkan saja bila mau gak punya rambut.. karena ada ribuan fungsi..
trik bwt igt ttg fungsi API adalah.. biasanya sebuah fungsi/sintax ada hubungannya dengan kegunaannya.. misalnya ketik "Private Declare Function GetHostByName Lib "wsock32.dll" Alias "gethostbyname" (ByVal HostName As String) As Long"
gethostbyname tu gunanya mendapatkan informasi host...
ato "Private Declare Function WSAStartup Lib "wsock32.dll" (ByVal wVersionRequired&, lpWSAdata As WSAdata) As Long"
WSAStartup gunanya untuk menginisialisasikan winsock32.dll
jadi gampang igt na...
setelah saya nanya sama google, saya dapat cara untuk melengkapi deklarasi fungsi-fungsi Windows API berikut konstantanya...
   1. API Text Viewer (bawaan vb), tool ini saya gunakan jika saya ingat nama fungsi plus konstantanya, kalo enggak ingat ya saya biasanya pake tool yang kedua :D
   2. API-GUIDE sayang situs aslinya sudah tidak aktif lagi. Keuntungan menggunakan API-GUIDE, kita cukup mengingat nama fungsi APInya otomatis contoh penggunaan akan ditampilkan mudah bukan? Jadi tidak ada alasan untuk tidak mempelajari Windows API

Menggunakan API Text Viewer
Dari IDE Visual Basic, klik menu Add-Ins -> Add-In Manager, terus aktifkan item VB6 API Viewer

Jika proses diatas berhasil, akan ada tambahan sub menu API Viewer di menu Add-Ins, kita tinggal klik menu tersebut untuk menampilkan tool API Text Viewer

Deklarasi fungsi-fungsi Windows API berikut konstantanya tersimpan di file WIN32API.txt, jadi kita terlebih dulu harus mengaktifkan file tersebut, dengan cara klik menu File -> Load Text File, trus tinggal pilih file WIN32API.txt

Untuk mendapatkan deklarsi lengkap, kita tinggal mengetikan nama fungsi APInya, misal untuk contoh saya mengetikan fungsi ExitWindowsEx kemudian klik tombol Add dan otomatis deklarsi lengkap fungsi ExitWindowsEx akan ditampilkan di list.

Kemudian untuk mendapatkan konstanta dari fungsi ExitWindowsEx, kita harus mengganti nilai API Type menjadi Constants, dan tinggal mengetikkan nama konstantanya misal EWX_

Jika sudah selesai tekan tombol Copy untuk mengcopy fungsi API berikut konstantanya dan tinggal pastekan ke editor code visual basic.

Menggunakan API-GUIDE
API-GUIDE bisa didownload di [pranala luar disembunyikan, sila masuk atau daftar.], setelah download kemudian install dan jalankan API-GUIDEnya, kita tinggal mengetikan nama fungsi API misal ExitWindowsEx, mengklik tab Example(s), diakhiri dengan mengklik tombol Copy, mudah bukan ? tinggal dipastekan ke editor code visual basic.

kemudian untuk multimedia,  kurang pandai.. harap maklum.. saya belajar sendiri.. biasanya saya buat software, atau game dari vb6, saya akan coba cari cara... jadi kita disini belajar bersama"...

nah... bagi yang pascal.. saya belum pernah coba.. rupanya ada juga yang request..
mungkin paling lambat minggu depan bisa saya jawab...

klo yang bwt program trigonometri dari c??? saya belum pernah coba.. mari kita lakukan...  ;D

yang administrasi proyek, model na kayak mana y?? soal a saya belum pernah lihat.. hehe..
jadi maap y... kurang tau juga

bagi assembler, belajarnya ndak serumit yang kita kira..
saya beritahu instruksi" sederhananya dulu y... kalo ada yang mau menambahkan silahkan...
1. fungsi : mov, movc, dan movx
- mov : digunakan untuk menyalin data antara 2 operand.
   ex: mov A,R1 -> salin nilai R1 ke akumulator
- movc : digunakan untuk menyalin data yang terdapat pada memori program internal
   ex: movc A,@X+DPTR -> salin data int. yang ditunjuk DPTR ke A
- movx : untuk menyalin data yang terdapat pada memori program external
   ex: movx A,@DPTR -> salin data exs. yang ditunjuk DPTR ke A
2. fungsi : ADD, dan SUB
- ADD : digunakan untuk melakukan operasi penjumlahan akumulator dengan suatu operand dan hasilnya disimpan dalam akumulator
   ex: add A,#20 -> A = A + 20 atau add A,@r0 -> A = A + [R0]
- SUB : digunakan untuk melakukan operasi pengurangan akumulator dengan suatu operand dan hasilnya disimpan dalam akumulator
   ex: subb a,#20 -> a = a - 20
3. fungsi : MUL AB, dan DIV AB
- MUL AB: digunakan untuk melakukan operasi perkalian antara akumulator dengan register B. hasilnya berupa data 16 bit dengan low byte pada A da high byte pada B
   ex: misalnya a nilainya 50h, dan b nilainya 0Ah, maka : mul a,b -> hasil 3200h, a=00h, b=32h
- DIV AB: digunakan untuk melakukan operasi pembagian antara akumulator dengan register B. hasilnya pembagian disimpan dalam akumulator sedangkan sisa pembagian disimpan di register B.
   ex: misal a=0fbh  b=12h : div a,b -> hasil 0dh, maka A=0Dh B=11h karna fbh=0dhx12h+11h
4. fungsi : DEC dan INC
- DEC : untuk pengurangan sebesar 1 pada suatu operand
   ex: dec a -> A=A-1
- INC : untuk penambahan sebesar 1 pada suatu operand
   ex: inc a -> a=a+1
5. fungsi : ORL, ANL, dan CPL
- ORL : melakukan operasi OR pada dua operand
   ex: ORL A,B -> (akumulator=0011 1010) (register b=1111 0000) hasil=1111 0000 (kalau tau gerbang logika lebih mudah lagi penjelasannya)
- ANL : melakukan operasi AND pada dua operand
   ex: ANL A,B -> nilai A dan B sama dengan yang di atas, hasilnya=0011 0000
- CPL : melakukan operasi komplemen, atau biasa disebut logika NOT pada suatu operand
   ex: CPL A -> A=0011 1010, hasilnya=1100 0101
6. fungsi : RR, RL, dan SWAP
- RR : melakukan pergeseran data ke kanan sebanyak 1 bit
   ex: RR A -> a=0011 1010, hasilnya=0001 1101
- RL : melakukan pergeseran data ke kiri sebanyak 1 bit
   ex: RL A -> a=0011 1010, hasilnya=0111 0100
- SWAP : melakukan pertukaran data antara low nible dan high nible
   ex: swap a -> a=0011 1010, hasilnya=1010 0011
7. SETB dan CLR
- SETB : memberikan logika 1 pada suatu operand
   ex: setb p2.0 -> hasilnya pada pin p2.0 akan berlogika 1
- CLR : memberikan logika 0 pada suatu operand
   ex: clr p2.0 -> hasilnya pada pin p2.0 akan berlogika 0
8. PUSH da POP
- PUSH : digunakan untuk menyimpan operand kedalam stack
- POP : digunakan untuk mengembalikan operand dari stack
   ex:
               push     7
               push     6
               push     5
               mov      r7,#04h
lupa:        mov      r6,#0ffh
lupb:        mov      r5,#0ffh
              djnz      r5,$
              djnz      r6,lupb
              djnz      r7,lupa
              pop      5
              pop      6
              pop      7
9. fungsi : JMP, JB, JNB, JZ, JNZ, dan CJNE
- JMP : (JUMP) melakukan lompatan ke suatu blok program
- JB : (Jump if Bit) melompat ke suatu blok program bila nilai operand bernilai 1
- JNB : (Jump if Not Bit) melompat ke suatu blok program bila nilai operand bernilai 0
- JZ : (Jump if Zero) sama dengan JNB
- JNZ : (Jump if Not Zero) sama dengan JB
- CJNE : (Compare if Not Equal) melakukan perbandingan dua operand bila tidak sama lompat ke blok program yg dituju
10. fungsi : CALL dan RET
- CALL : memanggil prosedur tertentu dalam program (subprogram)
- RET : mengembalikan ke baris program yang melakukan CALL
segitu saja perintah sederhanaya... semoga bermanfaat...


kalo ttg bwt software, bisa d cari di [pranala luar disembunyikan, sila masuk atau daftar.]

bahasa c dengan aplikasi s51 yg w taw.. tapi tah bagi s52,
huyuh... panjang loh...
mari kita mulai...

1. jenis variabel
nama                         ukuran memori   jangkauan bilangan
char (character)          1 byte             -128 s/d 127
int (integer)                2 byte             -32768 s/d 32767
float (floating integer)  4 byte              3.4E-38 s/d 3.4E+38
double                       8 byte              1.7E-308 s/d 1.7E+308
void                          0                      tidak bernilai

untuk ukuran memori, yang perlu diingat adalah bahwa 1 byte = 8 bit

w buat ini malem"... jadi besok saya lanjutin ttg bahasa c, gpp khan...

maap jika banyak yg tidak bisa saya jawab, karena betapa sedikitnya pengetahuan saya... setelah melihat sekian pertanyaan, mata saya terbuka lebar, bahwa tidak ada manusia yang sempurna... saya saja masih banyak yg belum bisa saya jawab... bagi pertanyaan yg  belum saya jawab... mohon maaf sebesar"nya...
saya akan berusaha sebaik mungkin untuk mencari pemecahan masalah tersebut... terimakasih...
ngutip receh:

ahmad m.s

hari ini q banyak tugas, jdi w terangin ttg c singkat z y..
sekarang penjelasan dari variabel" tersebut...
- char
   misalnya : 'A', 'B', 'C', dll. namun dapat juga digunakan untuk menyimpan data string "mikrokontroler".
- int
   misalnya : 10, 20, 100, dll. hanya digunakan untuk bilangan bulat (tanpa koma).
- float dan double : misalnya : 1,23 ; 4,56 dll. kedua variabel ini mempunyai fungsi yang sama, yaitu untuk menyimpan bilangan (jangkauan yang lebih panjang daripada float)


cara penulisan pada variabel:

- int dataku;
   int data, bil, trans;
   contoh pada penulisan variabel dataku yang bertipe integer. sedangkan contoh kedua penulisan variabel data, bil, dan trans yang bertipe sama, yaitu integer, secara bersama-sama. namun demikian dapat juga kita menulisakannya satu-satu seperti contoh yang pertama
   int data = 100;
    penulisan variabel yang langsung dengan nilai awal sebesar 100

- char datamu;
   char nama [20]="mikrokontroller";
   penulisan variabel dengan datamu yang bertipe char. jadi disini akan menampung satu karakter saja. misalnya A atau B, dll. untuk variabel nama [20] akan menampung beberapa karakter atau disebut string (kumpulan beberapa karakter).

- float nilai;
   float jumlah=2,nilai,rata;
   double mikro
   penulisan variabel yang bertipe float dan double.

2. pengarah preprosesor
   pengarah preprosesor berfungsi untuk menyisipkan suatu file, misal:

#include<at89x51.h>
   maka dengan penulisan tersebut file at89x51 yang berisi banyak register akan disisipkan. anda dapat melihat langsung macam-macam register tersebut pada file direktori SDCC\iclude\at89x51.h.  namun untuk membuka file ini harus ada setiap kali kita akan memprogram karena bila tidak maka akan ditemukan kesalahan oleh compiler (SDCC).


mikrokontroller   header
--------------------------------------
AT89S51           #include<at89x51.h>
--------------------------------------
AT89S52           #include<at89x52.h>
--------------------------------------
AT891051
AT892051          #include<at89x051.h>
AT894051
--------------------------------------



3. konstanta
   konstanta data kita artikan sebagai suatu variabel atau harga yang tidak dapat diubah. proses ini dilakukan bila kita dalam memprogram lebih banyak menggunakan rumus-rumus.

misal:
   const osc=11.0592;
   const phi=3.14;
   jadi untuk variabel osc dan phi nilainya tidak berubah selama proses program berjalan.

4. operator aritmatika
   operator aritmatika ini digunakan dalam program yang berhubungan dengan hal perhitungan (+,-,*,dll.). dengan menggunakan operator ini maka proses perhitungan dalam program akan lebih mudah dilakukan.

operasi   ket.
+         tambah
-         kurang
*         kali
/         bagi
%         sisa pembagian

sebagai contoh :
#include<at89x51.h>
void main()
{
char b1,b2;
b1=0x30;     //=30 heksa
b2=0x20;    // =20 heksa, taukan penulisan pada c untuk heksa
p0=b1+b2;
}
hasilnya -> p0=0x50
untuk mencoba yang lainnya, bisa diganti + a dengan -, *, /, dan %


5. operator logika
   
& = and
| = or
^ = xor
~ = not
cara penggunaan a sama dengan operator aritmatika kecuali not
klo not:
char a=0x0f;
p1=~a;
hasilnya 0xf0

6. operator assigment
<< -> geser kiri
>> -> geser kanan
7. percabangan bersyarat
- pernyataan if
- prernyataan switch
8. pengulangan (looping)
- for
- while
- do - while
- for
9. array (larik)--
                     |
---------------
|
-> kumpulan variabel yang jenis dan nama a sama
10. fungsi
11. penyisipan instruksi assembler dalam bahasa c/c++

nah.... itulah fitur" yang sering orang gunakan untuk melakukan pemograman pada mikrokontroller... semoga bermanfaat :D
ngutip receh:

MonDay

kalau datawarehouse bs bantu ga?
sy kurang paham

ahmad m.s

Gudang data (Bahasa Inggris: data warehouse) adalah suatu sistem komputer untuk mengarsipkan dan menganalisis data historis suatu organisasi seperti data penjualan, gaji, dan informasi lain dari operasi harian. Pada umumnya suatu organisasi menyalin informasi dari sistem operasionalnya (seperti penjualan dan SDM) ke gudang data menurut jadwal teratur, misalnya setiap malam atau setiap akhir minggu. Setelah itu, manajemen dapat melakukan kueri kompleks dan analisis (contohnya penambangan data, data mining) terhadap informasi tersebut tanpa membebani sistem yang operasional.
ngutip receh:

utusan langit

@ahmad s.m
beberapa waktu lalu saya sudah menemukan deret taylor dan sepertinya memang bisa digunakan untuk menyelesaikan trigonometri

MonDay

ahmad:
secara teori saya cukup paham om
hanya saja pada prakteknya sy ga ngerti
pake software apa bn database sm terutama etlnya
msh newbie om

android2009


heru.htl

#26
Yang satu ini PHP:


<?php

/** Ohhh... ternyata situs forsa juga pakai PHP **/

/** Contoh definisi variabel **/
$say_yes "Yes...";

/** Contoh definisi constant **/
define ('__MY_CONSTANT__''this is constant...');

/** Contoh statement dengan keyword "if" **/
if (defined('__MY_CONSTANT__'))
{
    print 
__MY__CONSTANT__ "\n";
} else {
    print 
"__MY_CONTANT__ constant is undefined...\n";
}

/** Contoh fungsi print, identik dengan fungsi echo **/
print $say_yes// This will output - Yes...

/**
 * Contoh deklarasi fungsi bebas (non-OO)
 */
function function_name ($param1$param2$optional true)
{
    
// Add some codes here...
}

/**
 * Contoh deklarasi class - PHP4 style
 */
class My_Class {

    
/** Class field member **/
    
var $field_example;

    
/** Constructor, PHP4 Style **/

    
function My_Class ($param)
    {
        
// Intializations are here...
        
$this->field_example $param;
    }

    
/** access function **/
    
function get_field_ex_value ()
    {
        return 
$this->field_example;
    }
 
}

/**
 * Contoh deklarasi class - PHP5 style
 */
class My_Class_PHP5 {

    
/** Class field member - private **/
    
private $_priv_field;
    
/** Class filed member - public **/
    
public $pub_field;

    
/** Constructor, PHP5 Style **/

    
function __construct ($param1$param2)
    {
        
// Intializations are here...
        
$this->_priv_field $param1;
        
$this->pub_field $param2;
    }

    
/** public access function **/
    
public final function get_priv_field_value ()
    {
        return 
$this->__get_priv_field();
    }

    
/** public access function **/
    
public final function get_priv_field_value ()
    {
        return 
$this->pub_field;
    }

    
/** private access function **/
    
private function __get_priv_field()
    {
         return 
$this->_priv_field;
    }
 
}

/** Defining array variable **/
$my_array = array ("Richard M. Stallman""Rasmus Redlof"
                           
"Larry Walls""Linuz B. Thorvalds");

/** Loop with use "foreach" keyword **/
foreach ($my_array as $entry)
{
     print 
"$entry\n";
}

/** Loop with "for" keyword **/
for ($i 0$i count($my_array); $i++)
{
    print 
$my_array[$i] . "\n";
}

/** Loop with "do" and "while" keyword **/
$count 0;
do {
    print 
$my_array[$count] . "\n";
    
$count++;
} while (
$count count($my_array)-1);


insani880

Hay,...

boleh dong,..aku juga pengen belajar pemrograman C...

dikit2 lagi belajar micro ocontroller nih,...

makasih,...

heru.htl

#28
Memory allocation in C:


char *ptr = "foo";

/**
* set_string_ptr:
* @p: string to be copied into @ptr
*
* This will safely copies string from @p to @ptr with proper
* memory allocation with use native malloc() function.
*/
void
set_string_ptr (const char *p)
{
    ptr = (char*) malloc (strlen (p));
    strcpy (ptr, p);
}

heru.htl

Coba ini ---
               |
               |
              \|/