Kamis, 02 November 2017

Sistem Kontrol Terprogram 
PROGRAM MOTOR DC PUTAR KANAN KIRI 


Jumat 03 November 2017
LAPORAN PRAKTEK
Nama     : Rizal Eka Putra
No/NIS  : 22/10773
Kelas     : XI TOI-2
Guru      : Suparno S.Pd M.Pd


I. Gambar ISIS




II. Program Bascom 

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

P1 = 0
P2 = 0

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = P0.4 , Db5 = P0.5
Config Lcdpin = Pin , Db6 = P0.6 , Db7 = P0.7
Config Lcdpin = Pin , E = P0.1 , Rs = P0.0

Cursor Off
Locate 1 , 1
Lcd "       Motor       "
Locate 2 , 1
Lcd "  <<== READY ==>>  "


Do
'==============PUTAR KANAN ============
If P3.0 = 0 And P1.1 = 0 Then
   P2.0 = 1
   P2.1 = 0
   P1.0 = 1
   P1.1 = 0
   P1.2 = 0
   Locate 1 , 1
   Lcd "     Motor     "
   Locate 2 , 1
   Lcd "  << KANAN >>  "
   End If
'==============PUTAR KIRI==============
If P3.1 = 0 And P1.0 = 0 Then
   P2.0 = 0
   P2.1 = 1
   P1.0 = 0
   P1.1 = 1
   P1.2 = 0
   Locate 1 , 1
   Lcd "     Motor    "
   Locate 2 , 1
   Lcd "  << KIRI >>  "
   End If
'==============STOP====================
If P3.2 = 0 Then
   P2.0 = 0
   P2.1 = 0
   P1.0 = 0
   P1.1 = 0
   P1.2 = 1
   Locate 1 , 1
   Lcd "    MOTOR     "
   Locate 2 , 1
   Lcd " << STOP   >> "
   End If
'============= OVER LOAD =============
If P3.3 = 0 And P1.2 = 0 Then
   P2.0 = 0
   P2.1 = 0
   P1.1 = 0
   P1.0 = 0
   P1.3 = 1
   End If

If P3.4 = 0 Then
   P1.3 = 0
   End If






Loop

Minggu, 22 Januari 2017

Pengetahuan Dasar Pemrograman C untuk modul Arduino

Arduino adalah sebuah modul microcontroller   dgn  port input dan output   yg diprogram menggunakan bahasa  C Arduino  ( apakah dgn bahasa C yg lain juga bisa?  ya bisa tapi tdk dibahas disini).  skematiknya disini  dan rangkain schematik dgn eagle disini.
Modul arduino terdiri dari beberapa type yg membedakan hanya fitur fiturnya saja sedangkan dari segi pemrograman sama saja. beberapa type tsb antara lain : Arduino Uno, Arduino Leonardo, Arduino Due  dll.
Kelebihan Modul Arduino antara lain :
1. Mudah digunakan , cocok sekali untuk pemula.
2. Fungsi Library ( code program tinggal pakai) untuk mengakses hardware sangat banyak.  Hardware hardware tsb antara lain bluetooth,  berbagai macam sensor, GSM board, GPS , dll.
Software yg dibutuhkan 
1.  Compiler / IDE Arduino :  http://arduino.cc/en/Main/Software  (wajib)
2.  Menggambar  board Aplikasi http://fritzing.org/download/  (option)
3.  Simulasi  menggunakan proteus    (option)
Compiler / IDE arduino   digunakan untuk mengkompile bahasa C arduino dan  juga  untuk mengupload  program hasil kompile tsb  (hex file) ke  modul Arduino.
Untuk instalasi aplikasi Arduino cukup dgn  extraxt file hasil downlod tsb. Untuk membuka aplikasi klik file arduino.exe , untuk lebih praktis  buatlah  shortcut file arduino.exe di desktop PC anda.
Gambar  Koneksi modul Arduino dgn aplikasi Arduino di PC atau Laptop
Tahapan  Penggunaan Modul Arduino pertama kali
1. Download Aplikasi Arduino  lalu extrak
2. Hubungkan modul Arduino  ke PC dgn kabel USB.
install driver  modul arduino sama spt ketika anda menginstall peralatan dg port USB yg dihubungkan ke port USB PC/laptop, caranya spt  ini http://arduino.cc/en/Guide/UnoDriversWindowsXP
3.   Buka software  aplikasi Arduino  .
Untuk membuka aplikasi  arduino  klik file arduino.exe pada folder hasl extraxt.
4. Pilih type modul  (sesuaikan dgn modul yg kita beli misal : arduino uno) dgn mengklik  Tool->board.
5.  Buka  kode  program C  salah satu  sample ,  lalu compile dng cara klik Sketch->Compile.
6.  Upload program ke modul Arduino.
Gambar Software Aplikasi Arduino
Struktur Dasar  C Arduino
Program C Arduino  minimal terdiri dari dua fungsi yaitu setup() dan loop().  Fungsi setup() dijalankan sekali setiap board  arduino dihidupkan sedangkan fungsi loop() dijalankan terus menerus selama board arduino hidup.
//setup digunakan untuk inisialisasi variable, mode pin dll
void setup() 
{
statement
} 

void loop()
 { 
statement
 .... 
}
//fungsi fungsi lainya jika ada
fungsi_lainnya()
{
statement
}
Contoh
void setup()
{
pinMode(8, OUTPUT); // pin 8 sbg output
}

void loop()
{
digitalWrite(8, HIGH); // LED on
delay(250);
digitalWrite(8, LOW); // LED off
delay(1000);
}

Dasar C Arduino

emua bahasa perograman  terdiri dari
  1. ekspresi,
  2. statemen,
  3. blok statemen
  4. blok fungsi
Ekspresi  adalah kombinasi operand dan operator  contoh  2+3 ,  X > Y   dst…    2,3,X dan Y adalah operand  sedangkan  + dan > adalah operator .
Statemen adalah  instruksi lengkap dalam bahasa C diakhiri dgn tanda  ;  (titik koma)   contoh :  A= 2+3;
Statemen dan ekspresi C arduino  indentik dengan ANSI-C , Struktur Program C Arduino  minimal terdiri dari dua fungsi yaitu setup() dan loop().

Fungsi setup() dijalankan pertama  kali  setiap board  arduino dihidupkan  sedangkan fungsi loop() dijalankan terus menerus selama board arduino hidup.  Pada program  standar C ANSI  fungsi yg pertama dijalankan adalah fungsi main()  pada C arduino  adalah fungsi setup().
berikut ini struktur minimal C Arduino :
//setup digunakan untuk inisialisasi variable, mode pin dll
void setup() 
{
statement
} 

void loop()
 { 
statement
}
contoh program
// Pin 13  dihubungkan ke  LED pada kebanyakan  Arduino board.
// pin 13 diberi nama led:
int led = 13;
//  setup routine dijalankan sekali saat  arduino direset :
void setup() {
// inisialisasi  pin  digital  13  sbg  output.
pinMode(led, OUTPUT);
}
// loop  melakukan elsekusi berulang:
void loop() {
digitalWrite(led, HIGH); //LED on
delay(1000);
digitalWrite(led, LOW); // LED off
delay(1000);
}
VARIABLE DAN KONSTANTA
Variabel adalah memori penyimpanan data yang nilainya dapat diubah-ubah. variable disimpan di RAM
Konstanta adalah memori penyimpanan data yang nilainya tidak dapat diubah setelah program di compile. Konstanta disimpan di memory program.
VARIABLE SCOPE
Variable dan  konstanta  global  dapat diakses di seluruh bagian program.
Variable  dan konstanta lokal  hanya dapat diakses didalam fungsi tempat dideklarasikannya.
Type Data 
Arduino C mendukung sebagian besar tipe data ANSI C dengan beberapa pengecualian. Variabel adalah sebuah atau beberapa  lokasi  memori yang  diberi nama. Ketika anda mendefinisikan variabel Anda juga harus memberitahu compiler jenis data variable tsb.
Tipe data dari variabel penting karena untuk menentukan berapa banyak byte
memori yg disediakan untuk variabel itu, dan jenis data yang dapat disimpan dalam variabel.
CONTROL STATEMENT
  • While Loop
while (expression) //selama expresi bernilai true laksanakan perulangan blok statemen dibawahnya.
{
statement1;
statement2;
…..
}
atau jika satement hanya 1 baris statement tdk perlu di berikurung { }
while(expression)
statement;
  • Do/While Loop
do //jalankan statement dibawah ( minimal 1 kali perulangan dilaksanakan) ,
{
statement1;
statement2;

}
while (expression); // jika ekspresi true , jalankan kembali perulangan.
atau jika satement hanya 1 baris
do
statement;
while (expression);
  • For Loop
for (expr1; expr2; expr3) //laksanakan perulangan sebanyak expr2 dimulai dari expr1.
{
statement1;
statement2;

}
atau jika satement hanya 1 baris
for(expr1; expr2; expr3)
statement;
  • If/Else
if (expression) //jika ekspresi bernilai true laksanakan blok statemen dibawahnya
{
statement1;
statement2;

}
atau jika satement hanya 1 baris
if(expression)
statement;
  • SWITCH/CASE
switch (expression)
{
case const1:     // jika expression = const1 eksekusi staement2 dibawahnya
statement1;
statement2;
case const2: // jika expression = const2 eksekusi statemenibawahnya
statement3;
statement4;
case constX: // jika espression=constX eksekusi statemen dibawahnya
statement5;
statement6;
default:
statement7;     // jika ekspression tdk  sama dgn const1,cons2, dan constX
statement8;
}
  • BREAK, CONTINUE,AND GOTO
break, continue, & goto statements digunakan untuk merubah alur eksekusi untuk statement pengulangan for, while, do/while, and switch .
Break
break statement digunakan untuk keluar dari pengulangan for, while, do/while, atau switch . break keluar dari blok pengulangan dimana dia berada saja.
Continue
continue akan menyebabkan program memulai iterasi berikutnya dari statemen pengulangan while,
do/while, atau for loop. continue sama seperti break pengulangan akan berhenti pada point yg dituju (di skip), bedanya continue akan memulai loop lagi, dari atas, sedangkan break memaksa keluar dari loop / pengulangan .
setup()
{
}
loop()
{
int i;
for(i; i<7; i++)
{
if(i==3)
continue;
printf(%d, i )
}
}
OPERATOR DAN EXPRESSI
Operator Penugasan ( “=” )
Setelah variabel telah dideklarasikan, operasi dapat dilakukan pada variable menggunakan operator penugasan (=). Sebuah nilai yang diberikan untuk variabel dapat berupa sebuah konstanta, variabel, atau ekspresi. Sebuah ekspresi dalam bahasa C adalah kombinasi dari operan (pengidentifikasi) dan operator. operaor penugasan antara lain sebagai berikut:
Variable = nilai ,
contoh    nilai_max = 10;
Operator Arithmetic :
Perkalian *
Pembagian /
Modulo %
Penjumlahan +
Pengurangan atau Negasi –
Operator Logika
AND &&
OR ||
Operator relasional
sama dengan ==
tdk sama dengan !=
lebih kecil <
lebih kecil atau sama dengan <=
lebih besar >
lebih besar atau sama dengan >=
increment
++variable atau variable++ artinya variable=variable+1 ,
misal ++X atau X++ artinya X = X+1
perbedaaanya adalah untuk ++X , tambahkan dulu nilai X dgn 1 baru di proses baris kode tsb, sedangkan X++ , proses dulu baris code baru tambahkan nilai X dgn 1
deccrement
–variable atau variable– artinya variable=variable-1 ,
misal –Y atau Y– artinya Y = X-1
perbedaaanya adalah untuk –Y , kurangi dulu nilai Y dgn 1 baru di proses baris kode tsb, sedangkan Y– , proses dulu baris code tsb baru kurangi nilai Y dgn 1
Compound
compound digunakan hanya untuk menyingkat baris expresi saja contoh nya sbb
a += 3; artinya a = a + 3
b -= 3; artinya b = b – 3
c *= 3; artinya c = c * 3
d /= a; artinya d = d / a
a |= 3; artinya a = a OR 3
b &= 3; artinya b = b AND 3
c ^= 3; artinya c = c ^ 3
PORTD &= 3; artinya PORTD = PORTD & 3
kondisonal Expressi
if(expression_A)
expression_B;
else
expression_C;
baris kode diatas bisa digantikan oleh kondisional expressi:
expression_A ? expression_B : expression_C;
contoh : (A > 10) ? x = 5 : x =22;
kondisional expresi diatas artinya sama dengan :
IF(A>10)
{
x=5;
}
Else
{
x= 22
}
..
FUNGSI
yang dimaksud fungsi adalah sebuah blok statement yg melaksanakan tugas tertentu dan bisa
dipakai lebih dari 1 kali di dlm program.
program bahasa C terdiri dari fungsi fungsi dan sebuah program c minimal terdiri dari 1 fungsi .
fungsi setup() dijalankan pertama kali saat program dijalankan.
fungsi terdiri dari dua bagian utama yaitu kepala fungsi dan blok fungsi
berikut ini bentuk umum sebuah fungsi adalah :
type name_fungsi (type paramameter)
{
statement
}
kepala fungsi terdiri dari type return value, nama fungsi , types dan nama parameter(jika ada) .
Statement di block fungsi menyatakan apa yg fungsi harus lakukan.
jika return value atau parameter tdk ada maka typennya ditulis void seperti dibawah ini
void namefungsi (void)
{
statement
}
Structures, Union, dan Data Storage
Arduino Library
Digital Input
void pinMode (int pin, int mode)
memerintahkan Arduino apakah pin akan diset sbg digital input atau output. Mode dapat berupa Input atau OUTPUT.
int digitalRead (int pin)
Membaca nilai dari pin digital. Nilai yg didapat dapat berupa 1 atau 0.
void digitalWrite (int pin, int value)
Menulis nilai ke pin digital. Nilai yg ditulis dapat berupa 1 atau 0.
Analog Input
int analogRead (int pin)
Membaca nilai dari pin analog. Nilai yg didapat adalah antara 0 dan 1023.
void analogWrite (int pin, int value)
Menulis nilai analog ke pin. nilai yg ditulis antara 0 dan 255.
Wireless
LCD Display
Ref

Minggu, 08 Januari 2017

Tutorial Arduino

Pelajaran Menu:

  • Pelajaran 1 - Software download / Instalasi & Antarmuka
  • Pelajaran 2 - Kode Dasar
  • Pelajaran 3 - Sensor: potensiometer
  • Pelajaran 4 - Sensor: Infrared Jarak
  • Pelajaran 5 - Actuator: Servo Motor
  • Pelajaran 6 - Sensor: Force, Bend, Peregangan
  • Pelajaran 7 - Sensor: Accelerometer, Gyro, IMU
  • Pelajaran 8 - Shield: Wheatstone Bridge & LCD
  • Pelajaran 9 - Pemrograman Platform Arduino Menggunakan IDE yang berbeda

Pelajaran 2 Hardware:

  1. Komputer / Laptop atau Netbook
  2. Arduino Mikrokontroler
  3. USB to Serial Adapter (jika mikrokontroler Anda tidak memiliki port USB)
  4. USB yang sesuai kabel (Arduino papan menarik daya dari port USB - tidak ada baterai belum)
Bahasa Arduino adalah KASUS SENSITIF: huruf kapital adalah tidak sama dengan huruf kecil. Kode berikut merupakan minimum agar program untuk mengkompilasi:
Arduino 5 Menit Tutorial
"Kehampaan setup ()" bagian secara luas digunakan untuk menginisialisasi variabel, mode pin, mengatur baud rate serial dan terkait. Perangkat lunak ini hanya berjalan meskipun bagian sekali.
"Kehampaan lingkaran ()" bagian adalah bagian dari kode yang loop kembali ke dirinya sendiri dan merupakan bagian utama dari kode. Dalam contoh Arduino, ini disebut "Bare Minimum" di bawah File-> Contoh -> Dasar. Perhatikan bahwa Anda bebas untuk menambahkan subrutin menggunakan sintaks yang sama:
kekosongan subroutinename () {}
Hampir setiap baris kode perlu diakhiri dengan tanda titik koma ';' (Ada beberapa pengecualian yang akan kita lihat nanti). Untuk menulis komentar satu baris dalam kode, tipe dua kembali garis miring diikuti dengan teks:
// komentar diabaikan ketika mengkompilasi program Anda
Untuk menulis komentar multi-line, mulai komentar dengan / * dan diakhiri dengan * /
/ * Ini adalah komentar multi-line dan menghemat Anda harus selalu menggunakan garis miring ganda pada awal setiap baris. Komentar yang digunakan digunakan untuk menjelaskan kode tekstual. Kode yang baik selalu memiliki banyak komentar. * /

Komunikasi Serial

The Arduino papan dapat berkomunikasi di berbagai baud ( "tarif baud"). Sebuah baud adalah ukuran dari berapa kali perangkat keras dapat mengirim 0s dan 1s dalam detik. Baud rate harus diatur dengan benar untuk papan untuk mengkonversi informasi yang masuk dan keluar data yang berguna. Jika penerima Anda mengharapkan untuk berkomunikasi pada tingkat baud 2400, tetapi pemancar Anda adalah transmisi pada tingkat yang berbeda (misalnya 9600), data yang Anda dapatkan akan tidak masuk akal. Untuk mengatur baud rate, gunakan kode berikut:
kekosongan setup () {
Serial. mulai (9600);
}
9600 adalah baud rate yang baik untuk memulai dengan. tarif baud standar lain yang tersedia pada kebanyakan modul Arduino meliputi: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, atau 115.200 dan Anda bebas untuk menentukan tarif baud lainnya. Untuk output nilai di jendela Arduino, pertimbangkan program berikut:
Arduino 5 Menit Tutorial
Verifikasi program dengan menekan tombol "memverifikasi" tombol (terlihat seperti "bermain" tombol di versi pesanan atau tanda cek di Arduino 1.0); Anda tidak harus mendapatkan kesalahan apapun di bagian bawah layar. Jika Anda mendapatkan kesalahan, periksa bahwa hanya dua angka dalam kode berwarna hitam, sisa teks seharusnya secara otomatis diakui dan ditetapkan warna. Jika bagian dari teks hitam, memeriksa sintaks (sering copy / paste teks dari program lain dapat mencakup format yang tidak diinginkan) dan kapitalisasi.
Berikutnya, upload sketsa ke papan menggunakan tombol "Upload ke I / O Board" (panah menunjuk kanan). Tunggu sampai sketsa selesai upload.Anda tidak akan melihat apa-apa kecuali jika Anda kemudian pilih tombol "Serial Monitor" (persegi panjang dengan lingkaran yang terlihat seperti TV dalam perangkat lunak lama, atau apa yang tampak seperti kaca pembesar di software baru). Bila Anda memilih monitor serial, pastikan baud rate yang dipilih adalah sama seperti dalam program Anda. Jika Anda ingin menyimpan semua program Anda, kami sarankan membuat folder baru yang disebut "referensi" dan menyimpan program ini sebagai Hello World.

Program LED Blink

Menghubungkan papan ke komputer jika belum terhubung. Dalam software Arduino buka File -> Contoh -> Dasar -> Blink LED. kode akan secara otomatis memuat di jendela, siap untuk ditransfer ke Arduino. Pastikan Anda telah papan tepat dipilih di Tools -> Dewan, dan memiliki COM port yang tepat serta di bawah Tools -> Serial Port. Jika Anda tidak yakin port COM terhubung ke Arduino, (pada mesin Windows) pergi ke Device Manager di bawah COM & Ports.
Tekan tombol "Upload" dan tunggu sampai program mengatakan "Selesai Mengunggah". Anda harus melihat LED di samping pin 13 mulai berkedip. Perhatikan bahwa sudah ada LED hijau terhubung ke sebagian papan - Anda tidak perlu sebuah LED yang terpisah.

Memahami Blink Kode LED

Dari Pelajaran 2 Anda akan mengenali dasar kode kekosongan setup () {} dan kekosongan lingkaran () {}. Anda juga akan mengenali hijau berkomentar bagian. Tiga baris baru kode Anda belum lihat sebelumnya adalah:
pinMode (13, OUTPUT);
Ini menetapkan pin 13 sebagai output pin. Sebaliknya, menjadi INPUT, akan memiliki pin menunggu untuk membaca sinyal 5V. Perhatikan bahwa 'M' dikapitalisasi. Sebuah kasus yang lebih rendah 'm' akan menyebabkan kata "pinmode" tidak diakui.
digitalWrite (13, TINGGI); dan digitalWrite (13, LOW);
Garis digitalWrite (pin, TINGGI); menempatkan pin ditentukan tinggi untuk + 5V. Dalam hal ini kami memilih pin 13 karena pada Uno, LED terhubung ke pin 13. Mengganti TINGGI RENDAH, pin diatur ke 0V. Anda dapat melampirkan LED Anda sendiri menggunakan output digital dan pin GND.Perhatikan bahwa 'W' dikapitalisasi.
delay (1000);
Delay (1000); garis menyebabkan program untuk menunggu 1000 milidetik sebelum melanjutkan (di mana 1000 adalah hanya contoh mudah untuk mendapatkan penundaan 1 detik). Perhatikan bahwa selama penundaan, mikrokontroler hanya menunggu dan tidak melakukan apapun baris kode tambahan.

Senin, 07 November 2016

KONSEP DASAR PEMROGRAMAN DAN BAHASA PEMROGRAMAN

1. Pengenalan
Komputer  adalah  mesin  yang  dapat  melaksanakan  seperangkat  perintah  dasar  (instruction  set).  Agar  komputer  dapat  melakukan  sesuatu hal, harus diberikan perintah yang dapat dilaksanakannya, yaitu  dalam  bentuk  kumpulan  perintah-perintah  dasar.  Program  komputer  adalah  sekumpulan  instruksi  yang  dikenal  oleh  komputer  dan  disusun  menurut  urutan  yang  logis  untuk menyelesaikan  suatu masalah. Bahasa  pemrograman  adalah  bahasa  yang  dapat  diterjemahkan  menjadi kumpulan perintah-perintah dasar tersebut. Penerjemahan dilakukan oleh program  komputer  yang  disebut  kompilator.  Sintaks  dari  bahasa pemrograman  lebih  mudah  dipahami  oleh  manusia  daripada  sintaks perintah  dasar. Namun  tentu  saja  komputer  hanya  dapat  melaksanakan perintah  dasar  itu.  Maka  di  sinilah  peran  penting  kompilator  sebagai perantara  antara  bahasa  pemrograman  dengan  perintah  dasar.  Kegiatan membuat program komputer dengan menggunakan bahasa pemrograman disebut  pemrograman  komputer.  Untuk  dapat  membuat  program komputer,  harus  dikuasai  bahasa  komputer.  Berbagai  bahasa  komputer telah  diciptakan  untuk  membantu  manusia  memprogram  komputer. Berdasarkan tingkatannya dikenal beberapa tingkat bahasa pemrograman diantaranya:
  1. Bahasa  Pemrograman  tingkat  dasar  seperti:  Bahasa  Mesin,  Bahasa Assembley.
  2. Bahasa  Pemrograman  tingkat  tengah  seperti:  Bahasa  C,  Bahasa FORTH.
  3. Bahasa  Pemrograman  tingkat  tinggi  seperti:  Bahasa  Pascal, FORTRAN, COBOL, dan lain-lain.
Bahasa  pemgrogram  tingkat  dasar,  sebagai  hirarki  pertama, disebut  juga bahasa generasi pertama, bahasa  ini sangat  tergantung pada jenis  CPU  yang  dipakai  oleh  komputer  itu.  Bahasa  ini  sangat  sulit dipelajari,  karena  sifatnya  yang  sangat  tergantung  pada  mesinnya  itu (machine  dependent). Untuk menguasai  bahasa  ini, harus  dipelajari  dan dikuasai  teknologi  dan  arsitektur  komputer,  matematika  diskrit, elektronika, dan lain-lain. Bahasa ini masih menggunakan simbol-simbol yang bersifat mnemonic.
Bahasa pemrograman tingkat tengah, sifatnya sudah lebih mudah daripada bahasa pemrograman  tingkat dasar, perintah-perintahnya  sudah lebih mudah dibaca sebab sudah menggunakan huruf-huruf.
Bahasa  pemrograman  tingkat  tinggi  adalah  bahasa  komputer yang  sudah  mirip  dengan  bahasa  manusia.  Perintah-perintahnya  sudah dibuat  dalam  bahasa  yang  mudah  dimengerti  manusia,  seperti  PRINT, WRITE, IF, THEN, ELSE, dan lain-lain.
Tahapan dalam Pemrograman
Langkah-langkah  yang  dilakukan  dalam  menyelesaikan  masalah  dalam pemrograman dengan komputer adalah: 
Defenisikan Masalah
  • Tentukan apa yang menjadi masalah
  • Tentukan data input yang diperlukan
  • Tentukan output yang diinginkan
Buat bagan dan struktur cara penyelesaian
  • Bagan secara global
  • Deskripsikan tugas masing-masing subprogram
Pilih Metode Penyelesaian
  • Pilih struktur data dan Algoritma terbaik
 Pengkodean
  • Pilih bahasa pemrograman yang sesuai
  • Menterjemahkan algoritma ke bahasa pemrograman
  1. Mencari Kesalahan
  • Kesalahan sintaks (penulisan program)
  • Kesalahan Pelaksanaan: Semantik, Logika, dan  ketelitian
  1. Uji dan Verifikasi Program
  2. Dokumentasi Program
  3. Pemiliharaan Program
  • Memperbaiki kekurangan yang ditemukan kemudian
  • Memodifikasi, karena perubahan spesifikasi
3. Diagram Alir
Konsep  pemrograman  dapat  digambarkan  juga  dengan menggunakan  diagram  alir  (flowchart).  Diagram  alir  adalah  simbol-simbol yang digunakan untuk menggambarkan sebuah pernyataan logika pemrograman  serta  aliran  logika  yang  ditunjukkan  dengan  arah  panah.  Ada dua jenis diagram alir yaitu:
  1. Diagram  alir  sistem  yaitu  bagan  dengan  simbol-simbol  tertentu yang  menggambarkan  urutan  procedure  dan  proses  suatu  file dalam suatu media menjadi file di dalam media lain, dalam suatu system pengolahan data.
  2. Diagram alir program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan  urutan  proses  dan  hubungan  antar  proses secara mendetail di dalam suatu program.
Berikut merupakan  beberapa  contoh  simbol  yang  disepakati  oleh  dunia pemrograman: 
1
4. Syarat Program yang Baik
Program yang baik haruslah memenuhi beberapa kriteria, antara lain:
  • Program haruslah sesuai dengan tujuan dan memenuhi spesifikasi yang telah ditentukan.
  • Fleksibel
  • Tidak mengandung kesalahan
  • Didokumentasi secara baik
  • Cepat dalam waktu penggunaannya
  • Efesien dalam penggunaan memori computer.
KELEMAHAN DAN KELEBIHAN BAHASA PEMROGRAMAN
A.    Bahasa C
Kelebihan Bahasa C
  • Bahasa C tersedia hampir di semua jenis computer
  • Kode bahasa C sifatnya adalah portable dan fleksible untuk semua jenis computer
  • Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32 kata kunci
  • Proses executable program bahasa C lebih cepat
  • Dukungan pustaka yang banyak
  • C adalah bahasa yang terstruktur
  • Bahasa C termasuk bahasa tingkat menengah
Kekurangan Bahasa C
  • Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai
  • Bagi pemula pada umumnya akan kesulitan menggunakan pointer
B.     Bahasa Java
Kelebihan Bahasa Java:
  • Sederhana dan ampuh, java menyediakan sarana untuk membuat program (applet) yang berjalan pada web browser. Programmer dapat menggunakan applet kecil yang aman, dinamik, lintas platform, aktif dan siap dijalankan di jaringan.
  • Aman, java dirancang dengan konsep keamanan internet.
  • Berorientasi objek, java tidak diturunkan bahasa pemrogaman manapun. Java memiliki keseimbangan yang menyediakan mekanisme peng-class-an sederhana dengan model antarmuka dinamik yang intuitif hanya jika diperlukan.
  • Kokoh, java membatasi programmer dengan memberi kunci supaya progamer dapat menemukan kesalahan lebih cepat saat mengembangkan program.
  • Interaktif, java dirancang untuk menciptakan program jaringan yang interaktif.
  • Netral terhadap berbagai arsitektur, java mampu berjalan dalam platform apapun seperti PC, UNIX, Macintosh, dll.
  • Terinterpretasi dan berkinerja tinggi, java melengkapi keajaiban lintas platform yang luar biasa dengan kompilasi ke dalam representasi langsung yang disebut java code byte yang dapat diterjemahkan oleh system apapun yang memiliki java interpreter dan java virtual machine.
  • Mudah dipelajari karena bersifat sederhana
  • Mendukung koneksi ke database
Kekurangan bahasa Java :
  • Java memiliki kecepatan yang kurang dari bahasa C ++
  • Implementasi J2ME tidak global. Misalnya, J2ME untuk Motorola dengan J2ME untuk Sony Ericson tidak sama. Berbeda lagi J2ME untuk Nokia. Setiap produk selalu mempunyai modul tersendiri yang dinilai aneh penerapannya dan harus di-compile dengan modul yang berbeda-beda.
  • Java memakan banyak memori computer
  • Java merupakan bahasa yang kompleks dan susah dipelajari
  • Program yang dibuat oleh bahasa ini lebih lambat disbanding program yang dibuat dengan bahasa lain seperti C atau C++.
C.    Bahasa Pascal
Kelebihan bahasa pascal :
  • Tipe data standar, tipe-tipe data standar yang telah tersedia bahasa pemrogaman. Pascal memiliki tipe data standar Boolean, integer, char, real, string.
  • User defined data types, programmer dapat membuat tipe data lain yang diturunkan dari tipe data standar.
  • Strongly-typed, programmer harus menentukan tipe data dari suatu variable dan variable tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain format yang ditentukan.
  • Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi fungsi-fungsi kecil (procedur dan function) yang dapat dipergunakan berulang-ulang.
  • Sederhana dan ekspresif, memiliki struktur yang sederhana dan sangat mendekati bahasa manusia (bahasa inggris) sehingga mudah dipelajari dan dipahami.
Kekurangan bahasa pascal :
  • Versi awal Pascal kurang cocok untuk aplikasi bisnis karena dukungan basisdata yang terbatas.
  • Sintaks Pascal terlalu bertele-tele
  • Tidak mendukung pemrograman berorientasi objek
  • Pascal tidak fleksibel dan banyak kekurangan yang dibutuhkan untuk membuat aplikasi yang besar.
D.    Bahasa PHP
Kelebihan PHP:
  • PHP menjadi popular karena kesederhanaannya dan kemampuannya dalam menghasilkan berbagai aplikasi web seperti counter, system artikel/ CMS, e-commerce, bulletin board, dll
  • PHP adalah salah satu bahasa server-side yang didesain khusus untuk aplikasi web.
  • PHP termasuk dalam Open Source Product dan telah mencapai versi 4.
  • Aplikasi PHP cukup cepat dibandingkan dengan aplikasi CGI dengan Perl atau Phyton bahkan lebih cepat disbanding dengan ASP maupun Java dalam berbagai aplikasi web
  • Tersedia baik di Windows maupun Linux, walau saat ini paling efektif di web server Apache dan OS Linux
  • Sintaks mirip C dan mudah dipelajari
  • Komunitas yang ramai dan saling membantu, seperti di diskusiweb.comphpbuilder.comphpindo.com, dll
  • Berbagai script atau aplikasi yang gratis telah tersedia.
Kekurangan :
  • Tidak detail untuk pengembangan skala besar
  • Tidak memiliki system pemrogaman berorientasi objek yang sesungguhnya
  • Tidak bisa memisahkan antara tampilan dengan logic dengan baik
  • PHP memiliki kelemahan security tertentu apabila programmer tidak jeli dalam melakukan pemrogaman dan kurang memperhatikan isu konfigurasi PHP.
  • Kode PHP dapat dibaca semua orang, dan kompilasi hanya dapat dilakukan dengan tool yang mahal dari Zend
E.     Bahasa Ruby
Kelebihan:
  • Sintaks sederhana
  • Memiliki Exception Handling yang baik
  • OOP
  • Single inheritance
  • Didukung oleh OS Linux, Windows, MacOS X, OS/2, BeOs, dan Unix.
  • Merupakan bahasa pemrograman scripting yang berorientasi objek
  • Memiliki garbage collector yang secara otomatis akan menghapus informasi tak terpakai dari memori
Kelemahan :
  • Multithreading. Implementasi thread di ruby masih berupa green thread, bukan native thread. Hal ini membuat aplikasi GUI (desktop) dengan background thread tidak mungkin diimplementasikan di ruby.
  • Virtual Memory, ruby masih fully interpreted sehingga program ruby cenderung lebih lambat.
  • Spek. saat ini spesifikasi ruby (syntax, behaviour, dll) adalah implementasi ruby yang asli dari matz.
  • IDE. Saat ini kualitas IDE untuk ruby masih jauh daripada .net dan java. Tapi dengan bermunculnya IDE ruby yang dibuat dengan java.net, kondisinya agak berubah. Tapi karena ruby bahasa yang sangat dinamis, sulit untuk bisa mendapatkan informasi secara lengkap mengenai struktur sebuah program ruby secara statis.
F.     Bahasa PROLOG
Kelebihan :
  • Berbeda dengan bahasa pemrograman yang lain, yang menggunakan algoritma konvensionl sebagai teknik pencariannya seperti pada Delphi, Pascal, Basic, COBOL dan bahasa pemrograman yang sejenisnya, maka prologmenggunakan teknik pencarian yang di sebut heuristik(heutistic) dengan menggunakan pohon logika.
  • Melakukan komputasi rumit pada data yang kompleks.
  • Mengekpresikan algoritma dengan baik.
  • Mengalokasikan memori secara dinamis sehingga programmer tidak harus mendeklarasikan ukuran sebuah struktur data sebelum membuatnya.
  • Mengembangkan dan memodifikasi dirinya sendiri sehingga sebuah program dapat “belajar” melalui informasi yang didapat selama program dijalankan
  • PROLOG mempunyai Automated Reasoning Procedure(Prosedur Sebab-Akibat Otomatis) yang disebut Inference Engine (Inference = proses pengambilan kesimpulan) yang sudah built-in didalamnya. Akibatnya, program yang menggunakan logika sebab-akibat jadi lebih mudah ditulis dalam PROLOG.
Kekurangan :
  • Pemborosan dalam pengalokasian memory sehingga program berjalan menjadi lambat
G.    Bahasa Phyton
Kelebihan :
  • Tidak ada tahapan kompilasi dan penyambungan (link) sehingga kecepatan perubahan pada masa pembuatan system aplikasi meningkat.
  • Tidak ada deklarasi tipe sehingga program menjadi lebih sederhana, singkat, dan fleksible.
  • Manajemen memori otomatis yaitu kumpulan sampah memori sehingga dapat menghindari pencatatan kode
  • Tipe data dan operasi tingkat tinggi yaitu kecepatan pembuatan system aplikasi menggunakan tipe objek yang telah ada
  • Pemrograman berorientasi objek
  • Pelekatan dan perluasan dalam C
  • Terdapat kelas, modul, eksepsi sehingga terdapat dukungan pemrograman skala besar secara modular
  • Pemuatan dinamis modul C sehingga ekstensi menjadi sederhana dan berkas biner yang kecil
  • Pemuatan kembali secara dinamis modul phyton seperti memodifikasi aplikasi tanpa menghentikannya
  • Model objek universal kelas Satu
  • Konstruksi pada saat aplikasi berjalan
  • Interaktif, dinamis dan alamiah
  • Akses hingga informasi interpreter
  • Portabilitas secara luas seperti pemrograman antar platform tanpa ports
  • Kompilasi untuk portable kode byte sehingga kecepatan eksekusi bertambah dan melindungi kode sumber
  • Antarmuka terpasang untuk pelayanan keluar seperti perangkat Bantu system, GUI, persistence, database, dll
Kekurangan:
  • Beberapa penugasan terdapat diluar dari jangkauan python, seperti bahasa pemrograman dinamis lainnya, python tidak secepat atau efisien sebagai statis, tidak seperti bahasa pemrograman kompilasi seperti bahasa C.
  • Disebabkan python merupakan interpreter, python bukan merupakan perangkat bantu terbaik untuk pengantar komponen performa kritis.
  • Python tidak dapat digunakan sebagai dasar bahasa pemrograman implementasi untuk beberapa komponen, tetapi dapat bekerja dengan baik sebagai bagian depan skrip antarmuka untuk mereka.
  • Python memberikan efisiensi dan fleksibilitas tradeoff by dengan tidak memberikannya secara menyeluruh. Python menyediakan bahasa pemrograman optimasi untuk kegunaan, bersama dengan perangkat bantu yang dibutuhkan untuk diintegrasikan dengan bahasa pemrograman lainnya.
H.    Bahasa Cobol
Kelebihan :
  • Program COBOL dibuat dalam instruksi bahasa inggris, sehingga lebih mudah dipelajari dan dibuat.
  • Program COBOL sesuai untuk pengolahan data yang banyak diterapkan pada permaslahan .
  • Program COBOL sifatnya standard, sehingga dapat dipergunakan pada komputer-komputer yang berbeda, tanpa banyak perbedaan.
  • Struktur program COBOL jelas, sehingga dapat dimengerti oleh orang seperti akuntan, auditor, atau manajer-manajer yang hanya mempunayai pengetahuan pengolahan data yang sedikit.
  • COBOL menyediakan fasilitas Listing Program, bilamana perlu dapat diperiksa oleh orang lain selain programer.
  • Mudah didokumentasikan dan dikembangkan bilamana perlu
  • Problem Orientad Language
Kekurangan :
  • Operasi masukan dan keluaran yang masih kaku
  • Struktur penulisan program yang sangat kaku dan bertele-tele
I.       Bahasa Basic
Kelebihan:
  • Bahasa Basic tergolong bahasa serbaguna dan dapat digunakan di aplikasi apa saja.
Kekurangan:
  • Bahasanya kurang terstruktur
  • Tidak cocok untuk membuat aplikasi besar
  • Sintaksnya penuh dengan GOTO yang menyesatkan
  • Bahasa ini merupakan bahasa yang primitif di era DOS
J.      Bahasa C++
Kelebihan:
  • Merupakan induk dari bahasa pemrograman perl, php, phyton, visual basic, gambas, java, C#
  • Compiler bahasa C++ terdapat di semua platform
  • Untuk pengembangan visual dijejali dengan platform yang sangat banyak seperti OWL, MFC, Cocoa, QT, GTK, dll
  • Merupakan pemrograman berorientasi objek
Kekurangan:
  • Bahasa ini cukup sulit untuk dipel;ajari dan dipahami
  • Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai
  • Bagi pemula pada umumnya akan kesulitan menggunakan pointer