Lazada Indonesia

Saturday, December 28, 2013

Mencari dan Menghapus Data Karyawan

Berikut adalah tutorial penggunaan program absensi karyawan.
Program dapat dilihat pada link.




Pada tutorial ini ditampilkan bagaimana cara mencari data karyawan yang telah disimpan dan langkah-langkah menghapus data yang sudah tersimpan.

Monday, July 8, 2013

GPS/GPRS/GSM Shield V3.0 (Arduino Compatible)







Harga: Rp 1.065.000,-
SMS/WhatsApp: 0818 024 140 34

Specification
  • Power supply: 6-12v
  • Low power consumption (100mA@7v - GSM mode)
  • Quad-Band 850/900/18001900MHz
  • GPRS multi-slot class 10
  • GPRS mobile station class B
  • Compliant to GSM phase 2/2+
  • Class 4 (2 W @ 850/900 MHz)
  • Class 1 (1 W @ 1800/1900MHz)
  • Control via AT commands(GSM07.07 ,07.05 and SIMCOM enhanced AT Commands)
  • Support GPS technology for satellite navigation
  • Embeded high-gain SMD antennas for GPS & GSM
  • Directly support 4*4 button pad
  • USB/Arduino control switch
  • Programmable switch for Arduino
  • LED indicators for power supply, network states and working status
  • Board Surface:Immersion Gold
  • Switches:
    • S1 -- Programming mode / Communication mode
    • S2 -- Controlling interface: USB / Arduino
  • Interfaces:
    • Embedded SIM card holder
    • Speaker & Mic Jack socket
  • Size: 81x70mm
  • Specifications for SMS via GSM / GPRS
    • Point-to-point MO and MT
    • SMS cell broadcast
    • Text and PDU mode
  • Specification for GPS
    • Receiver 42 channels, GPS L1 C/A code, High-performance STE engine
    • Sensitivity:
      • Tracking: -160 dBm
      • Cold starts: -143 dBm
    • Time-To-First-Fix:
      • Cold starts: 30s (typ.)
      • Hot starts: 1s (typ.)
    • Accuracy:Horizontal position: <2.5m CEP
    • Power consumption (GSM engine in idle mode):Acquisition 77mA,Tracking 76mA

Sunday, July 7, 2013

Arduino Uno-Mengenal Arduino Uno Bag. 2

Pin dan Fungsinya

- Power
Beberapa cara untuk memberikan/mendapatkan power pada board Arduino Uno adalah sebagai berikut:
1. Vin, pin dapat dijadikan pilihan dengan memberikan tegangan dari adaptor eksternal antara 6-20V.
2. 5V, pin dapat digunakan dengan memberikan tegangan yang sudah diregulasi dari power supply 5V eksternal. Selain itu, pin juga dapat digunakan untuk sumber power supply 5V bagi rangkaian tambahan diluar board.
3. 3V3, pin ini adalah tegangan 3,3V output dari regulator yang ada pada board dengan arus maksimal 50mA
4. GND, pin ground.
5. IOREF, pin ini disediakan sebagai tegangan referensi mikrokontroller bekerja. Dapat dipilih antara 5V dan 3,3V.

Memory

Board Arduino memiki kapasitas memori sebesar 32 KB, dimana 0,5KB diantaranya digunakan sebagai boarloader. Diantaranya terdiri dari 2KB SRAM, 1KB EEPROM.

Input and Output

Masing-masing dari 14 pin dapat digunakan sebagai input/output dengan tegangan kerja 5V. Selain itu terdapat fungsi tambahan dari masing-masing port, sebagai berikut:
- Serial, 0(RX), 1(TX) dapat digunakan sebagai pin untuk menerima data (RX) dan mengirim data (TX) dengan level tegangan TTL 5V. Pin ini terhubung antara pin serial ATmega328 mikrokontroller dan pin USB to TTL dari IC serial konverter.
- Externel Interrupts2 dan 3 pin ini dapat digunakan sebagai trigger dengan beberapa pilihan mode transisi/level tegangan.
- PWM: 3, 5, 6, 9, 10, and 11. Menyediakan fasilitas untuk membuat output PWM.
- SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin ini mendukung komunikasi SPI dimana library sudah tersedia.
- LED: 13 pada board ini disediakan satu buah LED untuk digunakan sebagai output. Dimana LED akan menyala saat diberikan logika HIGH dan akan padam saat diberikan logikan LOW.
Arduino Uno menyediakan 6 pin analog in yang dapat digunakan sebagai input analog dengan resolusi 10 bits (dengan range pembacaan 0 sampai 1023). Yang ekuivalen dengan tegangan analog dari 0V sampai 5V.
- TWI: A4 or SDA pin and A5 or SCL pin. Mendukung komunikasi TWI dengan library yang sudah disediakan.
- AREF. adalah pin yang dapat digunakan untuk mengatur tegangan referensi untuk input analog.
- Reset, pin ini dapat digunakan untuk mereset mikrokontroller dengan memberikan logika LOW. Selain itu, juga tersedia button RESET untuk melakukan hal serupa.

Komunikasi

Board Arduino Uno mendukung komunikasi serial, dimana hal ini sudah tersedia sebuah perangkat hardware USB to TTL serial yang dilengkapi dengan LED indikator. Karena sudah dilengkapi dengan chip konverter USB to Serial, sehingga board dapat digunakan untuk komunikasi serial secara langsung ke komputer/laptop. Selain itu, board juga mendukung protokol kumunikasi lainnya yaitu SPI dan I2C.

Programming

Board arduino dapat langsung diprogram menggunakan software arduino. Software dapat diunduh di halaman download.

USB Overcurrent Protection

Board dilengkapi sebuah perlindungan resettable polyfuse yang melindungi USB dari over current dan short.

Demikian semoga bermanfaat.
Pustaka:
Arduino Board Uno

Arduino Uno-Mengenal Arduino Uno Bag. 1

Berikut adalah tampilan Arduino Uno:
Arduino Tampak Depan
Arduino Tampak Depan
Arduino Uno Tampak Belakang
Arduino Uno Tampak Belakang
Untuk produk detail silakan merujuk di situs arduino.
Review:
Arduino Uno adalah board yang menggunakan ATmega328 (datasheet). Dimana chip ini memiliki 14 digital input dan output:
- 6 pin diantaranya dapat digunakan sebagai output PWM
- 6 input analaog
- memiliki keramik resonator 16 MHz
- satu buah koneksi USB
- satu buat jack power
- satu buah header ICSP,  dan
- sebuah tombol reset
Semuanya adalah yang dibutuhkan untuk sebuah sistem mikrokontroller minimum. Untuk dapat memulai menggunakannya dapat dengan mudah menghubungkannya ke komputer menggunakan sebuah kabel USB sebagai koneksi power dan koneksi untuk melakukan pemrograman.
Selain fitur diatas, ada beberapa fitur lainnya yaitu:
- Pin SDA dan SCL yang terletak didekat pin AREF.
Rangkuman
Microcontroller ATmega328
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
Skematik
EAGLE files: arduino-uno-Rev3-reference-design.zip (Catatan: hanya dapat dibuka dengan Eagle 6.0 atau yang lebih baru)
Skematik: arduino-uno-Rev3-schematic.pdf
Power
Arduino Uno dapat diberikan power melalui kabel USB yang terhubung dengan komputer/laptop. Pilihan ini akan menjadi opsi otomatis pada board ini. Selain menggunakan konektor USB, board Arduino juga dapat diberikan power melalui jak power 2.1mm dimana bagian tengahnya adalah polaritas positif yang terhubung ke adaptor dinding. Selain itu power dapat diberikan juga melalui pin GND dan Vin. Board dapat diberikan tegangan eksternal antara  6-20 Volt, jika dipaksakan diberikan tegangahn 5V atau kurang maka dikhawatirkan board tidak akan stabil sehingga hal ini tidak dianjurkan.
Bersambung…
Pustaka:
Arduino Board Uno

LED Berkedip Dengan Arduino Mega2560

Pada tulisan ini akan diberikan contoh sederhana bagaimana membuat sebuah program sederhana untuk menyalakan sebuah LED berkedip. Tulisan ini dibuat berdasarkan tutorial resmi dari situs arduino.
Hardware yang dibutuhkan:
- Board Arduino R3 yang dapat dibeli di Produk-Inovatif.com dengan harga Rp 300.000,-
Rangkaian
Pada umumnya board Arduino sudah terdapat sebuah LED yang terhubung pada pin 13. Sehingga kita dapat langsung membuat program untuk menyalakan LED berkedip. Jika board yang Anda miliki belum disertakan LED pada pin 13, ikuti langkah berikut.
Untuk membuat rangkaian, hubungkan sebuah resistor dengan nilai 220-ohm pada pin 13 dari board Arduino. Hubungkan bagian Anode (+) ke resistor , biasanya kaki yang memiliki ukuran lebih panjang. Kaki lain yang lebih pendek katode (-) ke ground. Kemudian hubungkan board Arduino ke komputer dan buka program Arduino kemudian masukkan code berikut:
arduino LED
Rangkaian LED
Gambar Skematik
Skematik
Code
Untuk inisialisasi port, tuliskan code berikut:
pinMode(13, OUTPUT);
Sementara untuk menyalakan LED, menggunakan code berikut:
digitalWrite(13, HIGH);
untuk mematikan LED, digunakan code:
digitalWrite(13, LOW);
Agar nyala LED dan mati LED dapat dilihat, perlu ditambahkan sebuah jeda waktu. Untuk menambahkannya dapat digunakan fungsi delay() yang dapat diisikan nilai dalam satuan milidetik:
Code langkap:
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.

This example code is in the public domain.
*/

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
delay(1000);               // wait for a second
digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
delay(1000);               // wait for a second
}


Berikut adalah contoh videonya:



Demikian, semoga bermanfaat.
Pustaka:
http://arduino.cc/en/Tutorial/Blink

Bermain Dengan Arduino Mega2560

Tulisan ini merupakan terjemahan bebas dari web page Arduino dan mencoba memberikan contoh praktis untuk bermain lenbih jauh dengan produk arduino khususnya Arduino Meha2560.
Board module dapat dibeli di http://produk-inovatif.com dengan harga Rp 300.000,-.
unomega1
Pada tulisan ini diberikan contoh langkah-langkah pada sistem operasi Windows. Tulisan ini akan memberikan penjelasan bagaimana menggunakan board Arduino yang telah Anda miliki  ke komputer dan mencoba beberapa contoh project. Penjelasan akan dibagi menjadi beberapa bagian:
1. Peralatan yang dibutuhkan
2. Download tool/software yang dibutuhkan
3. Menghubungkan board ke komputer
4. Menginstall driver
5. Menjalankan aplikasi Arduino
6. Membuka contoh blinking LED pertama kali
7. Memilih board
8. Memilih port serial
9. Mengupload program

Bersambung…

Tuesday, June 25, 2013

Sensor Suhu DS18B20 Tahan Air/Waterproof



Harga: Rp 40.000,-
SMS/WA: 0818 024 140 34

Spesifikasi
  • Usable with 3.0V to 5.5V power/data
  • ±0.5°C Accuracy from -10°C to +85°C
  • Usable temperature range: -55 to 125°C (-67°F to +257°F)
  • 9 to 12 bit selectable resolution
  • Uses 1-Wire interface- requires only one digital pin for communication
  • Unique 64 bit ID burned into chip
  • Multiple sensors can share one pin
  • Temperature-limit alarm system
  • Query time is less than 750ms
  • 3 wires interface:
  • Red wire  - VCC
  • Black wire - GND
  • Yellow wire - DATA
  • Stainless steel tube 6mm diameter by 35mm long
  • Cable diameter: 4mm
  • Length: 90cm

HC-SR501








Harga: Rp 25.000,-
SMS/WA: 0818 024 140 34

Spesifikasi:
Vin: 5vdc
Arus: 1A
Radius: 180 derajat. 5 meter
Output: Digital TTL
Memiliki setting sensitivitas
Memiliki setting time delay

L298N ZIP-15



Harga: Rp 28.500,-
SMS/WA: 0818 024 140 34

Dual full-bridge driver.
Spesifikasi:
- Tegangan operasi hingga 46 V.
- Total arus DC hingga 4 A.
- Over temperature protection.
- Low saturation volatage.
- Package: 15-pin Multiwatt Vert.

Monday, June 24, 2013

L293D DIP-16


Harga: Rp. 12.500,-
SMS/WA: 0818 024 14034

Push-pull Four Channel drivers. Chip ini cocok digunakan sebagai driver motor .
Spesifikasi Teknis:
- Supply Voltage (Max) = 36 Volt
- Logic Supply Voltage (Min) = 4.5 Volt
- Logic Supply Voltage (Max) = 36 Volt
- Current Output = 2 A
- Power Dissipation = 5 Watt
- PDIP-16 Package

MAX232CPE-PDIP






SMS/WA: 0818 024 14034



Dual Line Driver Transceiver untuk komunikasi RS-232 atau V.28.
Spesifikasi :
- Catu daya : +5V DC
- Antarmuka input : Data In
- Jumlah input : 2
- Antarmuka output : Data Out
- Jumlah output : 2
- Fitur half duplex / full duplex : Full Duplex Support
- Kecepatan data : 116 Kbit per second
- Kemasan : DIP-16

Saturday, June 22, 2013

CP2102 Serial Converter USB 2.0 To TTL UART 6PIN Module



Harga: RP 50.000,-
SMS/WA: 0818 024 140 34

Specifications:
Built-in USB to RS232 Transfer chip.
Designed to be used for USB to TTL electronic projects.
TTL interface output, easy to connect to your MCU.
Status LED.
Dual 3.3V and 5V Power output, work with 3.3v and 5v target device.

Supports Windows 98SE, 2000, XP, Vista, Window7, Mac OS 9, Mac OS X & Linux 2.40.

Package included:
1x USB 2.0 To TTL UART 6PIN Module
5x Cable

Driver

AT89S51


Harga: RP 10.000,-
SMS/WA: 0818 024 140 34

Mikrokontroler dari keluarga MCS-51 produksi Atmel.
Spesifikasi :
- Arsitektur : 8051
- Tegangan kerja : 4.0 - 5.5 VDC
- Ukuran memori program : 4k Byte
- Ukuran memori data volatile : 128 x 8-bit
- Ukuran memori data non-volatile : -
- ADC : -
- Peripheral : Watchdog timer
- Jumlah I/O : 32
- Jumlah interupsi eksternal : 2
- Timer/Counter : 2 timer/counter 16-bit
- Kecepatan : -
- Frekuensi kerja : 0 - 33 MHz
- Antarmuka pemrograman : ISP
- Antarmuka debugger : -
- Antarmuka periperal : UART
- Fitur khusus : Dual data pointer, idle mode, power down mode
- Kemasan : DIP 40-pin

ATTINY2313


Harga: Rp 20.000,-
SMS/WA: 0818 024 140 34

Mikrokontroler 8-bit keluarga AVR.
Spesifikasi :
- Arsitektur : RISC 8-bit
- Tegangan kerja : 1,8VDC - 5,5VDC
- Ukuran memori program : 2K Byte Flash
- Ukuran memori data volatile : 128 Byte SRAM
- Ukuran memori data non-volatile : 128 Byte EEPROM
- ADC : -
- Peripheral : 4 kanal PWM, On-chip Analog Comparator
- Jumlah I/O : 18
- Jumlah interupsi eksternal : 2 (INT) atau 18 (PCINT)
- Timer/Counter : 1 kanal Timer/Counter 8-bit dan 1 kanal Timer/Counter 16-bit 
- Kecepatan : 20 MIPS (@20 MHz)
- Frekuensi kerja : 0 - 20 MHz (internal 4 dan 8 MHz)
- Antarmuka pemrograman : ISP Programming
- Antarmuka debugger : debugWire
- Antarmuka periperal : USI, USART
- Fitur khusus : Internal Calibrated Oscillator, Power-on Reset, 3 Mode sleep
- Kemasan : DIP-20

ACS712TELC-30A


Harga: Rp 60.000,-
SMS/WA: 0818 024 140 34

Sensor untuk mengukur arus hingga 30 A dengan menggunakan prinsip Hall Effect
Spesifikasi:
- Low noise analog signal path
- Bandwidth 80Khz
- Internal conductor resistance 1,2m Ohm
- Minimum isolation voltage 2,1kVrms
- Supply 5VDC
- Sensitivity 66mV/A
- Output voltage proportional to AC or DC current
- Factory trimmed for accuracy
- Extremely stable output offset voltage
- Nearly zero magnetic hysteresis
- Ratiometric output from supply voltage
- Package SOIC-8

Arduino Uno R3









Harga: Rp 200.000,-
SMS/WA = 0818 024 140 34

Summary
Microcontroller ATmega328
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
Beli disini

ARDUINO MEGA 2560


Harga: Rp 300.000,-

Summary


Microcontroller ATmega2560
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 54 (of which 14 provide PWM output)
Analog Input Pins 16
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 256 KB of which 8 KB used by bootloader
SRAM 8 KB
EEPROM 4 KB
Clock Speed 16 MHz
Arduino Mega 2560 versi clone ini mempunyai kapasitas memori 2x lipat lebih banyak daripada Arduino Mega 1280. Arduino Mega 250 ini berdasarkan dari Mega 2560 R2 dari Arduino.

Thursday, May 23, 2013

Membuat Empat Grafik Pada GUI Matlab – bagian 2

1. Memberikan nama grafik
menggunakan code:
axes(handles.axes1);
set(gca,'Title',text('String','Grafik 1'))
plo4
 [baca selengkapnya]

Membuat Empat Grafik Pada GUI Matlab – bagian 1


axes4 
Matlab adalah salah satu program yang menyediakan desain GUI. Dengan tool yang disediakan kita dapat menmbuat sebuah program aplikasi yang lebih menarik. Menariknya lagi, ketika kita telah membuat sebuah program menggunakan script maka kita tidak perlu khawatir jika script tersebut tidak dapat dipakai pada GUI.
Menampilkan suatu hasil dalam bentuk visual adalah salah satu hal terpenting dalam sebuah aplikasi matlab. Hasil bisa berupa image ataupun grafik. Matlab menyediakan sebuah komponen untuk menampilkannya baik berupa image ataupun sebuah grafik.
[Baca selengkapnya]

Friday, March 8, 2013

Mendeteksi dan Mengukur Jarak Objek Dengan Ultrasonik

Ultrasonik dapat digunakan untuk mendeksi suatu objek dan mengukur jaraknya tanpa harus melakukan kontak dengan objek tersebut.   Untuk mengukur dan mendeteksi suatu objek, ultrasound dapat menggunakan dua metode yang biasa dipakai. Metode yang pertama, menggunakan gelombang kontinyu (continuous wave) dan gelombang pulsa (pulse). Prinsip dasar dari metode pulsa adalah mengirimkan sinyal pulsa yang berisi gelombang ultrasound, kemudian ada bagian elektronik yang mendeteksi sinyal pantul (echo) dan menghitung waktu yang dibutuhkan saat pulsa dikirim sampai echo dideteksi. Sinyal balik/echo dapat terjadi lebih dari sekali tergantung dari posisi objek yang dikenai.
Prinsip ultrasound juga dapat dipakai sebagai sensor gerak dan sensor untuk membuka suatu pintu secara otomatis. Kelebihan ultrasonik yang lain adalah, dapat menyebar sehingga dapat menjangkau area yang lebih luas dengan satu titik sensor.
Non-destructive Testing
Prinsip kerja dari ultrasonik
Ultrasound dapat digunakan untuk memeriksa tanpa merusak suatu objek yang biasa disebut NDT. Ultrasound dapat mendeteksi kecacatan dan ketebalan suatu cacat berdasarkan prinsip echo. Frekuensi yang biasa dipakai untuk untuk proses NDT adalah 2 Mhz – 10 Mhz, pemilihan frekuensi ini sangat bergantung dengan pengaruh panjang gelombang terhadap material objek yang di periksa. Saat ini sudah berkembang peralatan untuk inspeksi baik yang manual maupun yang otomatis.
[baca selengkapnya]

Ultrasound

Ultrasound atau juga bisa disebut juga ultrasonik adalah berosilasinya tekanan udara yang memiliki frekuensi diatas ambang pendengaran manusia. Sebenarnya, ultrasound tidak terlepas dari gelombang suara pada umumnya, namun hanya berbeda pada beberapa nilai secara fisis. Secara umum, gelombang suara yang dapat didengar oleh manusia dewasa adalah berkisar antara 20 Hz sampai 20 kHz. Sementara itu ultrasound berada pada level frekuensi di atas 20 kHz sampai beberapa GHz.
Pembagian range frekuensi suara
Ultrasound digunakan pada banyak aplikasi, tapi pada dasarnya memiliki kesamaan tujuan yaitu mengukur jarak suatu objek dan mengetahui keberadaannya. Pada bidang kedokteran, salah satu aplikasinya adalah sonography yang berfungsi untuk imaging bagian tubuh/organ manusia yang berada didalam tubuh. Untuk aplikasi lain, bisa digunakan untuk inspeksi tanpa merusak (Non Destruktif Testing).
[baca selengkapnya]

Sunday, March 3, 2013

Simulasi Rangkaian Elektronik Dengan Altium

Sebelum membuat sebuah rangkaian elektronik, harus dilakukan sebuah simulasi dengan software untuk mendapatkan nilai yang optimal dari perhitungan/desain yang telah dilakukan sebelumnya. Sebuah simulasi rangkaian merupakan tahap yang dapat menghemat waktu dan biaya dalam sebuah project elektronik. Karena dengan melakukan simulasi terlebih dahulu, kita bisa mendapatkan nilai yang dibutuhkan tanpa mengeluarkan biaya untuk membeli komponen yang dibutuhkan. Salah satu simulator rangkaian elektronik yang dapat digunakan adalah Altium Desainer. Altium menyediakan library komponen dari berbagai vendor, sehingga akan mempermudah pekerjaan.
Dari hukum Ohm, kita bisa mendapat nilai tegangan yang berbeda dengan menentukan nilai resistansi.
Untuk mensimulasikan sebuah rangkaian pembagi tegangan, ikuti tutorial berikut ini:
1. Buka program Altium Desainer, disini digunakan Altium Desainer Release 10
awal
Tampilan Awal Althium
2. Tempatkan symbol Voltage Source melalui icon berikut:

Baca selengkapnya di

Power Supply +10V/-10V dan +12V/-12V

(Gambar rangkaian +12V dan -12V)
(Gambar rangkaian +12V dan -12V)
untuk membuat power supply +12V/-12V dapat menggunakan sebuah trafo yang memiliki output CT (Center Tap) dan menggunakan sebuah diode bridge. Untuk mendapatkan output negatif, maka dua buah capasitor dihubungkan antara kutup + dan – antara yang satu dan yang lain menjadi output ground. Sehingga dari capasitor tersebut didapatkan 3 titik output positif (+), negatif (-) dan ground.
3-titik1
(Gambar rangkaian untuk mendapatkan output positif, negatif dan ground)
baca selengkapnya di

Thursday, February 28, 2013

Scholarship in USA


Fulbright Dikti Senior Research Program, American Indonesian Exchange Foundation, USA

Applicants must serve as faculty members at any private or state higher educationinstitutions. This research grant is for Indonesian scholars who have a doctoral degree or equivalent professional qualifications. The grant affords Indonesian scholars the opportunity to conduct research in the U.S. for a period of three to six months. Even though a proof of English Proficiency is not required, applicants should also be able to demonstrate sufficient English language proficiency to conduct research in the U.S.
HOW TO APPLY
Candidates should complete the appropriate application form which can be downloaded below and send it to DIKTI address as shown on the last page of the application form. Please return your complete application package by the application deadline that includes:
  • Completed application form. This includes a three to five pages research proposal.
  • One letter of reference, either from your current employer or previous lecturer.
  • Copy of identity document (KTP or passport).

Friday, January 18, 2013

Database Karyawan Dengan VB

Inti dari sebuah aplikasi Absensi Karyawan adalah bagaimana menyimpan data kehadiran/absensi semua karyawan secara lengkap. Masing-masing karyawan tentunya memiliki sebuah identitas unique/berbeda dari yang lain misalnya NIP atau yang lain. Semua data terkait kehadiran baik itu, jam masuk, jam keluar, hari masuk, durasi waktu kerja, jumlah kehadiran dan yang lain merupakan data-data yang mengacu pada masing-masing karyawan. Disinilah peran utama database, sehingga setiap karyawan dapat diketahui masing-masing datanya.
Untuk membuat sebuah database kita harus membuat pengelompokan data-data menjadi beberapa tabel yang memiliki kesamaan. Misalnya:
- tabel Karyawan: terdiri dari ID, Nama, Tanggal Lahir, Jabatan, Alamat
- tabel Jam Kerja: terdiri dari ID, bulan, Tahun, Jam, Sisa Jam Kerja
dan seterusnya.
Dari data-data di atas, kita bisa membuat database menggunakan MsAccess dengan desain seperti berikut:
Tabel Karyawan
Tabel Karyawan
Tabel Jam Kerja
Tabel Jam
untuk dapat menggunakan template yang sudah ada klik disini.
Selanjutnya bagaimanakah untuk menghubungkan database yang sudah dibuat di atas dengan Visual Basic?
1. Buatlah sebuah project standard pada Visual Basic 6.0
2. Kemudian masukkan komponen MSFlexGrid dengan menekan Ctrl+T atau melalui menu Project–> Component, seperti ditunjukkan gambar berikut:
MSFlexGrid
kemudian klik Apply.
3.  Selanjutnya buatlah tampilan berikut:
Form Absensi 1
4. Kemudian masukkan komponen DtPicker dengan menekan Ctrl+T atau melalui menu Project–> Component, seperti ditunjukkan gambar berikut:
DtPicker
5. Kemudian buat tampilan berikut, dengan menambahkan kotak isian masukan:
form input data
6. Dengan menambahkan beberapa tombol yang diperlukan, Car, Tambah, Edit, Hapus, dan Close tampilan akhir akan seperti berikut:
form database karyawan
Untuk melanjutkan latihan dengan template yang sudah ada, silakan unduh file disini.
Menambahkan Coding
1. Pada bagian paling atas sisi coding tambahkan deklarasi sebagai berikut:
Dim db As Connection
 Dim rs As Recordset
 Dim Saldo As Long, SaldoAwal As Long
 Dim SQL As String


2. Kemudian buka menu Project –> Reference, centang pada pilihan berikut:
Setting Reference
3.  Isikan coding berikut:
Private Sub Form_Load()
 Set db = New Connection

db.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\dbAbsensi.mdb;Persist Security Info=False"

db.CursorLocation = adUseClient
 db.Open

dtTglLahir.Value = Format(Date, "dd/mm/yy")
 End Sub

Lengkapilah coding menjadi berikut:
Public JumlahKaryawan As Integer
Dim i As Integer
Dim db As Connection
Dim rs As Recordset

Private Sub cmdBaca_Click()
If cmdBaca.Caption = "Baca" Then
tmrBarcode.Enabled = True
cmdBaca.Caption = "Stop"
'Call KunciBacaBarcode
txtCari.SetFocus
'cmdSearch.Caption = "Baca"
ElseIf cmdBaca.Caption = "Stop" Then
tmrBarcode.Enabled = True
cmdBaca.Caption = "Baca"
End If
End Sub

Private Sub cmdCari_Click()
CariKaryawan
End Sub

Private Sub cmdCetak_Click()
FormBarcode.Show
FormBarcode.Text1 = txtInfo(0).Text

End Sub

Private Sub cmdClose_Click()
Unload Me
End Sub
Function LihatNoKaryawanAkhir() As Integer
Dim NoAkhir As Integer
Set rs = New Recordset
Dim SQL As String
Dim gi As Integer
NoAkhir = 0

SQL = "Select * from tblKaryawan"
Set rs = New Recordset
rs.Open SQL, db, adOpenDynamic, adLockOptimistic
If rs.RecordCount > 0 Then
Do While Not rs.EOF
If NoAkhir < rs.Fields(0) Then
NoAkhir = rs.Fields(0)
End If
gi = gi + 1
rs.MoveNext
Loop
End If
rs.Close
Set rs = Nothing
LihatNoKaryawanAkhir = NoAkhir

End Function
Sub Buka()
For i = 0 To 4
txtInfo(i).Enabled = True
Next
dtTglLahir.Enabled = True
End Sub
Sub Kunci()
For i = 0 To 4
txtInfo(i).Enabled = False
Next
dtTglLahir.Enabled = False
End Sub
Private Sub TampilKaryawan()
Dim gi As Integer
Dim SQL As String

Grid.Rows = 2
Grid.Width = 11535
Grid.ColWidth(0) = 500
Grid.ColWidth(1) = 1500
Grid.ColWidth(2) = 2000
Grid.ColWidth(3) = 2000
Grid.ColWidth(4) = 2000
Grid.ColWidth(5) = 1200
Grid.ColWidth(6) = 1200
Grid.ColWidth(6) = 2200
Grid.Clear
gi = 1
Grid.TextMatrix(0, 0) = "No"
Grid.TextMatrix(0, 1) = "Kode ID"
Grid.TextMatrix(0, 2) = "Nama"
Grid.TextMatrix(0, 3) = "Jabatan"
Grid.TextMatrix(0, 4) = "Tempat Lahir"
Grid.TextMatrix(0, 5) = "Tgl Lahir"
Grid.TextMatrix(0, 6) = "Alamat"
Grid.TextMatrix(0, 7) = "Jam Kerja"

SQL = "Select * from tblKaryawan"
Set rs = New Recordset
rs.Open SQL, db, adOpenDynamic, adLockOptimistic
If rs.RecordCount > 0 Then
Do While Not rs.EOF
Grid.TextMatrix(gi, 0) = gi
Grid.TextMatrix(gi, 1) = rs.Fields(0)
Grid.TextMatrix(gi, 2) = rs.Fields(1)
Grid.TextMatrix(gi, 3) = rs.Fields(2)
Grid.TextMatrix(gi, 4) = rs.Fields(3)
Grid.TextMatrix(gi, 5) = rs.Fields(6)
Grid.TextMatrix(gi, 6) = rs.Fields(4)
gi = gi + 1
Grid.Rows = Grid.Rows + 1
rs.MoveNext
Loop
End If
JumlahKaryawan = gi - 1
rs.Close
Set rs = Nothing

End Sub
Sub Simpan()
Set rs = New Recordset
Dim SQL As String
SQL = "Select * from  tblKaryawan where NoKartu='" & txtInfo(0).Text & "'"
rs.Open SQL, db, adOpenDynamic, adLockOptimistic

With rs
.AddNew
!NoKartu = txtInfo(0)
!Nama = txtInfo(1)
!Jabatan = txtInfo(2)
!TempatLahir = txtInfo(3)
!Alamat = txtInfo(6)
!TanggalLahir = dtTglLahir.Value
.UpDate
End With
rs.Close
Set rs = Nothing
MsgBox " Record order telah ditambahkan", vbInformation, "Sukses"

Call TampilKaryawan
End Sub

Sub UpDate()
Set rs = New Recordset
Dim SQL As String
'sql = "select * from tblCostumer"
SQL = "Select * from  tblKaryawan where NoKartu='" & txtInfo(0).Text & "'"
rs.Open SQL, db, adOpenDynamic, adLockOptimistic
With rs
.UpDate
!NoKartu = txtInfo(0)
!Nama = txtInfo(1)
!Jabatan = txtInfo(2)
!TempatLahir = txtInfo(3)
!Alamat = txtInfo(4)
!TglLahir = dtTglLahir
.UpDate
End With
rs.Close
Set rs = Nothing
MsgBox "Record telah diEdit", vbInformation, "Sukses"
txtInfo(0) = ""
txtInfo(1) = ""
txtInfo(2) = ""
txtInfo(3) = ""
txtInfo(4) = ""
Call TampilKaryawan
End Sub
Private Sub cmdEdit_Click()
Set rs = New Recordset
Dim SQL As String

If txtInfo(0).Enabled = False Or txtInfo(1).Enabled = False Or txtInfo(2).Enabled = False Or txtInfo(3).Enabled = False Then

txtInfo(1).Enabled = True
txtInfo(2).Enabled = True
txtInfo(3).Enabled = True
txtInfo(4).Enabled = True
dtTglLahir.Enabled = True
End If
If cmdEdit.Caption = "&" + "Edit" Then
cmdEdit.Caption = "&" + "Update"
txtInfo(1).SetFocus
Exit Sub
ElseIf cmdEdit.Caption = "&" + "Update" Then
cmdEdit.Caption = "&" + "Edit"
Call UpDate
cmdTambah.Enabled = True
cmdEdit.Enabled = False
cmdHapus.Enabled = False
Call Kunci
End If

If cmdEdit.Caption = "&" + "Batal" Then
cmdEdit.Caption = "&" + "Edit"
cmdEdit.Enabled = False
cmdTambah.Enabled = True
cmdTambah.Caption = "&" + "Tambah"
For i = 1 To 3
txtInfo(i).Text = ""
Next
Call Kunci
Exit Sub
End If
End Sub
Sub Hapus()
Set rs = New Recordset
Dim SQL As String
SQL = "select * from tblKaryawan where NoKartu='" + txtInfo(0).Text + "'"
rs.Open SQL, db, adOpenDynamic, adLockOptimistic
If rs.RecordCount > 0 Then
rs.Delete
MsgBox "Record karyawan(" & txtInfo(0).Text & ")", vbInformation, "Karyawan"
End If
rs.Close
Set rs = Nothing
End Sub
Private Sub cmdHapus_Click()

Dim NV As Integer

NV = MsgBox("Apakah record karyawan '" & txtInfo(0).Text & "' akan dihapus? ", vbYesNoCancel, "Konfirmasi")
If NV = vbYes Then
Call Hapus
End If
If NV = vbCancel Then
Exit Sub
End If
If NV = vbNo Then
Exit Sub
End If
txtInfo(0).Text = ""
txtInfo(1).Text = ""
txtInfo(2).Text = ""
txtInfo(3).Text = ""
txtInfo(4).Text = ""
dtTglLahir.Value = Format(Date, "dd/mm/yy")
Call TampilKaryawan
cmdHapus.Enabled = False
End Sub

Sub KunciBacaBarcode()
Call Kunci
txtInfo(0).Enabled = True
End Sub
Private Sub cmdTambah_Click()
Dim KodeTemp As String
Set rs = New Recordset
Dim SQL As String

If cmdTambah.Caption = "&" + "Batal" Then
cmdTambah.Caption = "&" + "Tambah"
cmdTambah.Enabled = True
cmdEdit.Enabled = False
cmdHapus.Enabled = False
For i = 1 To 4
txtInfo(i).Text = ""
Next
If cmdEdit.Caption = "&" + "Update" Then
cmdEdit.Caption = "&" + "Edit"
End If
dtTglLahir.Value = Format(Date, "dd/mm/yy")
Exit Sub
End If

If cmdTambah.Caption = "&" + "Tambah" Then
cmdTambah.Caption = "&" + "Simpan"
cmdEdit.Caption = "&" + "Batal"
cmdTambah.Enabled = False
cmdEdit.Enabled = True
If txtInfo(0).Enabled = False Then
txtInfo(0).Enabled = True
End If
txtInfo(0).SetFocus
Exit Sub
ElseIf cmdTambah.Caption = "&" + "Simpan" Then
If txtInfo(0).Text = "" Then
MsgBox "Isikan nomer ID Karyawan", vbInformation, "ID kurang"
If txtInfo(0).Enabled = False Then
txtInfo(0).Enabled = True
End If
txtInfo(0).SetFocus
Exit Sub
End If
If txtInfo(1).Text = "" Then
MsgBox "Isikan nama Karyawan", vbInformation, "nama kurang"
If txtInfo(1).Enabled = False Then
txtInfo(1).Enabled = True
End If
txtInfo(1).SetFocus
Exit Sub
End If
If txtInfo(2).Text = "" Then
MsgBox "Isikan jabatan", vbInformation, "Jabatan Kurang"
If txtInfo(2).Enabled = False Then
txtInfo(2).Enabled = True
End If
txtInfo(2).SetFocus
Exit Sub
End If
If txtInfo(3).Text = "" Then
MsgBox "Isikan tempat lahir", vbInformation, "Tempat lahir Kurang"
If txtInfo(3).Enabled = False Then
txtInfo(3).Enabled = True
End If
txtInfo(3).SetFocus
Exit Sub
End If
If txtInfo(4).Text = "" Then
MsgBox "Isikan Alamat", vbInformation, "Alamat Kurang"
If txtInfo(4).Enabled = False Then
txtInfo(4).Enabled = True
End If
txtInfo(4).SetFocus
Exit Sub
End If
End If

SQL = "Select * from  tblKaryawan where NoKartu='" & txtInfo(0).Text & "'"
rs.Open SQL, db, adOpenDynamic, adLockOptimistic

'mencari kode SPBU
If rs.RecordCount > 0 Then
MsgBox "Record Kode telah ada", vbInformation, "Duplikasi"
If txtInfo(0).Enabled = False Then
txtInfo(0).Enabled = True
With txtInfo(0)
.Enabled = True
.SelStart = 0
.SelLength = Len(txtInfo(0))
.SetFocus
End With
End If
Exit Sub
End If

With rs
.AddNew
!NoKartu = txtInfo(0)
!Nama = txtInfo(1)
!Jabatan = txtInfo(2)
!TempatLahir = txtInfo(3)
!Alamat = txtInfo(4)
!JamKerja = 0
!TglLahir = dtTglLahir.Value
.UpDate
End With
rs.Close
Set rs = Nothing
MsgBox " Record karyawan telah ditambahkan", vbInformation, "Sukses"
For i = 0 To 4
txtInfo(i).Text = ""
Next
cmdTambah.Caption = "&" + "Tambah"
cmdEdit.Enabled = False
'cmdSearch.Enabled = False
Call TampilKaryawan
End Sub

Private Sub Form_Load()
Set db = New Connection

db.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\dbAbsensi.mdb;Persist Security Info=False"

db.CursorLocation = adUseClient
db.Open
TampilKaryawan
dtTglLahir.Value = Format(Date, "dd/mm/yy")
End Sub

Private Sub Grid_Click()
txtInfo(0).Text = ""
txtInfo(1).Text = ""
txtInfo(2).Text = ""
txtInfo(3).Text = ""
txtInfo(4).Text = ""
txtInfo(0).Text = Grid.TextMatrix(Grid.RowSel, 1)
If txtInfo(0).Text = "" Then
Exit Sub
Else
txtInfo(0).Text = Grid.TextMatrix(Grid.RowSel, 1)
txtInfo(1).Text = Grid.TextMatrix(Grid.RowSel, 2)
txtInfo(2).Text = Grid.TextMatrix(Grid.RowSel, 3)
txtInfo(3).Text = Grid.TextMatrix(Grid.RowSel, 4)
txtInfo(4).Text = Grid.TextMatrix(Grid.RowSel, 6)
dtTglLahir = Grid.TextMatrix(Grid.RowSel, 5)
cmdHapus.Enabled = True
cmdEdit.Enabled = True
cmdTambah.Enabled = False
End If
End Sub

Private Sub tmrBarcode_Timer()

End Sub

Private Sub Timer1_Timer()
With txtInfo(0)
.Enabled = True
.SelStart = 0
.SelLength = Len(txtInfo(0))
.SetFocus
End With
Timer1.Enabled = False
End Sub

Private Sub Timer2_Timer()
With txtCari
.Enabled = True
.SelStart = 0
.SelLength = Len(txtCari)
.SetFocus
End With
Timer2.Enabled = False
End Sub

Private Sub txtCari_Change()

If Len(txtCari) = 13 Then
Dim Temp As String
Temp = Fix(txtCari)
txtCari = Left(Temp, Len(Temp) - 1)
CariKaryawan
End If
End Sub

Private Sub txtCari_GotFocus()
txtCari.BackColor = &HC0FFFF
cmdCari.Enabled = True
End Sub
Private Sub CariKaryawan()
Dim gi As Integer
Dim SQL As String

'Grid.Clear
gi = 1
SQL = "Select * from  tblKaryawan where NoKartu='" & txtCari.Text & "'"
Set rs = New Recordset
rs.Open SQL, db, adOpenDynamic, adLockOptimistic
If rs.RecordCount > 0 Then
Do While Not rs.EOF
txtInfo(0).Text = rs.Fields(0)
txtInfo(1).Text = rs.Fields(1)
dtTglLahir.Value = rs.Fields(6)
txtInfo(2).Text = rs.Fields(2)
txtInfo(3).Text = rs.Fields(3)
txtInfo(4).Text = rs.Fields(4)
gi = gi + 1
Exit Sub
rs.MoveNext
Loop
End If

JumlahOrder = gi - 1
rs.Close
Set rs = Nothing
End Sub

Private Sub txtCari_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
With txtCari
.Enabled = True
.SelStart = 0
.SelLength = Len(txtCari)
.SetFocus
End With
cmdCari_Click
End If
End Sub

Private Sub txtInfo_Change(Index As Integer)
'Timer1.Enabled = True
End Sub

Private Sub txtInfo_GotFocus(Index As Integer)
txtInfo(Index).BackColor = &HC0FFFF
If txtInfo(0).Text <> "" And txtInfo(1).Text <> "" And txtInfo(2).Text <> "" And txtInfo(3).Text <> "" And txtInfo(4).Text <> "" Then
If cmdTambah.Enabled = False Then
cmdTambah.Enabled = True
End If
End If

End Sub

Private Sub txtInfo_KeyPress(Index As Integer, KeyAscii As Integer)
If KeyAscii = 13 Then
If Index = 0 Then
With txtInfo(1)
.Enabled = True
.SelStart = 0
.SelLength = Len(txtInfo(1))
.SetFocus
End With
txtInfo(0).Enabled = False
End If
If Index = 1 Then
With txtInfo(2)
.Enabled = True
.SelStart = 0
.SelLength = Len(txtInfo(2))
.SetFocus
End With
txtInfo(1).Enabled = False
End If
If Index = 2 Then
With txtInfo(3)
.Enabled = True
.SelStart = 0
.SelLength = Len(txtInfo(3))
.SetFocus
End With
txtInfo(2).Enabled = False
End If
If Index = 3 Then
dtTglLahir.Enabled = True
With txtInfo(4)
.Enabled = True
.SelStart = 0
.SelLength = Len(txtInfo(4))
.SetFocus
End With
txtInfo(3).Enabled = False
End If
If Index = 4 Then
If cmdTambah.Enabled = False Then
cmdTambah.Enabled = True
cmdTambah.SetFocus
End If
txtInfo(4).Enabled = False
dtTglLahir.Enabled = False
End If
End If
End Sub

Private Sub txtInfo_LostFocus(Index As Integer)
txtInfo(Index).BackColor = &HE0E0E0
End Sub

Dan akhirnya silakan membandingkan dengan source code berikut.
Semoga bermanfaat.

Machine Learning: Membuat Prediksi Dengan Linear Regression

Membuat prediksi berdasarkan data-data yang sudah dimiliki diawal biasanya dalam bahasa inggris disebut  forecast . Misalnya berdasarkan dat...