fungsi dan prosedure pascal

Listing

uses crt;

const pi:real=3.14;

var r,t:integer;

q,c:char;

function garis:string;

begin

garis:=’++++++++++++++++++++++++++++++++++++++++’;

end;

procedure input;

begin

write(‘Masukkan Jari Jari: ‘); readln(r);

write(‘Masukkan Tinggi : ‘); readln(t);

end;

function hitung_volume_tabung(var x,y:integer):real;

begin

hitung_volume_tabung:=pi*x*x*y;

end;

function hitung_luas_dasar_tabung(var x,y:integer):real;

begin

hitung_luas_dasar_tabung:=pi*x*x;

end;

function hitung_luas_penampang_tabung(var x,y:integer):real;

begin

hitung_luas_penampang_tabung:=2*(pi*x*x)+2*pi*x*y;

end;

begin

repeat

clrscr;

writeln(garis);

writeln(‘Silahkan Pilih Menu Program’);

writeln(garis);

writeln(‘1. Menghitung Volume Tabung’);

writeln(‘2. Menghitung Luas Dasar Tabung’);

writeln(‘3. Menghitung Luas Penampang Tabung’);

writeln(‘4. Menghitung Semuanya’);

writeln;

write(‘Masukkan Pilihan Anda: ‘); readln(c);

case c of

‘1’:

begin

writeln;

writeln(garis);

writeln(‘Anda Memilih Menghitung Volume Tabung’);

writeln(garis);

input;

writeln;

writeln(garis);

writeln(‘Volume Tabung Adalah:’,hitung_volume_tabung(r,t):0:2);

writeln(garis);

end;

‘2’:

begin

writeln;

writeln(garis);

writeln(‘Anda Memilih Menghitung Luas Dasar Tabung’);

writeln(garis);

input;

writeln;

writeln(garis);

writeln(‘Luas Dasar Tabung Adalah:’,hitung_luas_dasar_tabung(r,t):0:2);

writeln(garis);

end;

‘3’:

begin

writeln;

writeln(garis);

writeln(‘Anda Memilih Menghitung Luas Penampang Tabung’);

writeln(garis);

input;

writeln;

writeln(garis);

writeln(‘Luas Penampang Tabung Adalah:’,hitung_luas_penampang_tabung(r,t):0:2);

writeln(garis);

end;

‘4’:

begin

writeln;

writeln(garis);

writeln(‘Anda Memilih Menghitung Semuanya’);

writeln(garis);

input;

writeln;

writeln(garis);

writeln(‘Volume Tabung Adalah:’,hitung_volume_tabung(r,t):0:2);

writeln(‘Luas Dasar Tabung Adalah:’,hitung_luas_dasar_tabung(r,t):0:2);

writeln(‘Luas Penampang Tabung Adalah:’,hitung_luas_penampang_tabung(r,t):0:2);

writeln(garis);

end;

else

writeln;

writeln(garis);

writeln(‘Maaf Pilihan Diluar Jangkauan Program’);

writeln(garis);

writeln;

end;

write(‘Tekan x untuk keluar dari program atau tombol lain untuk mengulang ?’); readln(q);

q:=upcase(q);

until q=’X’;

writeln(‘Anda Telah Keluar Dari Program’);

writeln(‘Sampai Jumpa .’);

readln;

end.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Listing

uses crt ;

var pil : integer ;

Procedure lingkaran ;

var x,y,z : real ;

begin

writeln ( ‘ — 1.lingkaran— ‘ ) ;

write ( ‘masukan jari-jari: ‘ ) ;

readln (x) ;

y := 3.14 * x * x ;

z := 2 * x * 3.14 ;

writeln ( ‘luas lingkaran     = ‘ , y : 9 : 2 ) ;

writeln ( ‘keliling lingkaran = ‘ , z : 9 : 2 ) ;

end ;

Procedure persegi ;

var x,y,z : real ;

begin

writeln ( ‘ —2.persegi— ‘ ) ;

write ( ‘masukan sisi: ‘ ) ;

readln (x) ;

y := x * x ;

z := x * 4 ;

writeln ( ‘luas persegi     = ‘ , y : 9 : 2 ) ;

writeln ( ‘keliling persegi = ‘ , z : 9 : 2 ) ;

end ;

Procedure persegi_panjang ;

var p,l,y,z : real ;

begin

writeln ( ‘ —3.persegi_panjang— ‘ ) ;

write ( ‘masukan panjang: ‘ ) ;

readln (p) ;

write ( ‘masukan lebar: ‘ ) ;

readln (l) ;

y := p * l ;

z := 2 * ( p + l ) ;

writeln ( ‘ luas persegi panjang     =’ , y : 9 : 2 ) ;

writeln ( ‘keliling persegi panjang =’ , z : 9 : 2 ) ;

end ;

begin

clrscr ;

writeln ( ‘program luas dan keliling’ ) ;

writeln () ;

writeln ( ‘1 = lingkaran’ ) ;

writeln ( ‘2 = persegi’ ) ;

writeln ( ‘3 = persegi panjang’ ) ;

writeln () ;

write ( ‘masukan pilihan :’ ) ;

readln (pil) ;

writeln () ;

if pil = 1 then lingkaran

else if pil = 2 then persegi

else if pil = 3 then persegi_panjang

else write ( ‘input salah’ ) ;

readln

end.

Dipublikasi di Uncategorized | Meninggalkan komentar

#include<iostream.h>

int main(){

int nilai [5];

nilai [0]=1;

nilai[1]=2;

nilai[2]=3;

nilai[3]=4;

nilai[4]=5;

cout<<“====================== \n”;

cout<<”  ARRAY 1 Dimensi  \n”;

cout<<“====================== \n”;

cout<<“Isi Array = \n”;

int i;

for (i=0;i<5;i++) {

cout<<“\n”<<”   nilai”<<nilai[i];}

return 0;

}

 

 

 

 

 

 

 

 

 

 

 

  • Include


Perintah #include “iostream.h”. Perintah ini digunakan untuk memanggil file header (include file) yang didalamnya terdapat perintah, fungsi yang bisa digunakan dalam program yang dibuat.

• Main()
Fungsi ini adalah suatu fungsi khusus yang akan dieksekusi pertama. Setiap program harus mempunyai fungsi main(). Fungsi main() diawali dengan tanda { yang menyatakan awal dari program dan diakhiri dengan tanda } yang menyatakan akhir dari program. Karena program tersebut menggunakan format angka, maka dari itu digunakan int main().

• Int nilai
Int digunakan karena program tersebut menggunakan angka dan nilai adalah sebagai primary keynya.

• [5]
Merupakan batasan sampai berapa array melakukan pencetakan karena array defaultnya dimulai dari 0, array ini akan melakukan pencetakan sampai index 4.

• Int i
Ini adalah primary key yang kedua dimana nilai i akan dihasilkan dari for(i=0;i<5;i++) name=”ProgId” content=”Word.Document”>maksudnya i bernilai 0 dan i akan melooping dari 0 sampai i kurang dari 5 dan i terus bertambah naik karena menggunakan i++.

· Return 0
Digunakan untuk mengakhiri program didalam c++

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ARRAY C++ & PASCAL

 

 

uses crt;

var

   tabel:array[1..3,1..2]of byte;

   i,j:byte;

begin

clrscr;

     tabel1[1,1]:=5;

     tabel1[1,2]:=25;

     tabel1[2,1]:=200;

     tabel1[2,2]:=22;

     tabel1[3,1]:=75;

     tabel1[3,2]:=50;

for i := 1 to 3 do

begin

   for j := 1 to 2 do

   write(tabel[i,j]:10);

   writeln;

   end;

readln

end.

 

Uses crt; (deklarasi uses)

Var (bagian deklarasi dalam variable)

Begin (awal bagian utama program)

End (akhir bagian utma program)

 

                Ini adalah tampilan sebuah program diatas

 

Logika Program

 

∞      Array adalah koleksi data yang tipenya sama, tersusun dalam bentuk barisan linier berurutan dan jumlah elemen atau datanya tidak berubah sesuai dengan deklarasi awal. Smua elemen array diidentifiaksi dengan sebuah nama array dan untuk setiap elemennya diidentifikasi dengan sebuah indeks.

∞      Bentuk umum deklarsi array adalah :

Type      type_array = array [range_indeks] of type_data;

Var         var_array   : tipe_array; (1.1)

dapat dituliskan langsung sebagai berikut :

Var         var_array = array [range_indeks] of tipe_data;(1.1)

Var_array adalah nama variable array yang dipakai untuk mengidentifikasi array. Pemilihan nama variable array mengikuti  aturan pemberian nama variable secara umum.

Range_indeks adalah batasan indeks yang digunakan untuk mengidentifikasi elemen array.

Range_indeks menentukan jumlah elemen array, yang jumlahnya tidak akan berbah mulai saat mulai awal disediakan hingga program selesai dijalankan. Misalnya pada program diatas range 1..3,1..2 atau akan menentukan jumlah elemen array sebanyak 5 buah

∞      I,J pada program diatas adalah, I untuk menyatakn baris, dan j untuk menyatakn kolom. Maka akan tampil 3 baris dan 2 kolom.

Dipublikasi pada oleh antolrw | Meninggalkan komentar

Laporan 10(array pada pascal dan c++)

ananggugel's Blog

Pascal

A.listing program

program array_warnet;

uses crt;

const max=50;

type                                     

Twarnet = record

     NAMA : string [25] ;

     KOMPI : string [8] ;

     JAM : array [1..2] of real;

end;

Tkumpulanwarnet = array[1..max] of Twarnet;

var

A : Tkumpulanwarnet;

i,N: Integer;

NA: real;

durasi:real;

Lihat pos aslinya 308 kata lagi

Dipublikasi di Uncategorized | Meninggalkan komentar

Tugas KTI Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak

Yang dimaksud dengan
perangkat lunak adalah :
1. Perintah (program
komputer) yang bila dieksekusi
memberikan fungsi dan
unjuk kerja seperti yang
diharapkan.
2. Struktur data yang
memungkinkan program
memanipulasi informasi secara
proporsional.
3. Dokumen yang
menggambarkan operasi dan
kegunaan program.
Pemodelan dalam suatu
rekayasa perangkat lunak
merupakan suatu hal
yang dilakukan di tahapan
awal. Dalam rekayasa
perangkat lunak sebenarnya
masih memungkinkan tanpa
melakukan suatu pemodelan.
Hal itu tidak dapat lagi
dilakukan dalam suatu industri
perangkat lunak karena
dengan pemodelan maka
akan lebih mudah untuk
memahami sistem baik
pengembang perangkat lunak
itu
sendiri maupun pelanggan.
Dengan demikian pengembang
akan lebih cepat
dalam melakukan desain dan
mengkontruksi program untuk
perangkat lunak
tersebut berdasarkan model
yang sudah ada dan telah
disepakati bersama.
Pemodelan ini juga sering
disebut dengan metodologi
pengembangan sistem.
Proses
Di dalam suatu industri dikenal
berbagai macam proses,
demikian juga
halnya dengan industri
perangkat lunak. Perusahaan
yang berbeda seringkali
menggunakan proses yang
berbeda untuk menghasilkan
produk yang sama.
Tetapi produk yang berbeda
mungkin dihasilkan oleh
sebuah perusahaan dengan
menggunakan proses yang
sama. Jika proses yang
digunakan salah maka akan
mengurangi kualitas dari
produk yang dikembangkan.
Seperti produk, proses juga
memiliki atribut dan
karakteristik seperti :
• Understandability, yaitu
sejauh mana proses secara
eksplisit ditentukan dan
bagaimana kemudahan definisi
proses itu dimengerti.
• Visibility , apakah aktivitas ‐
aktivitas proses mencapai titik
akhir dalam hasil
yang jelas sehingga kemajuan
dari proses tersebut dapat
terlihat nyata/jelas.
• Supportability, yaitu sejauh
mana aktivitas proses dapat
didukung oleh CASE.
• Acceptability, apakah proses
yang telah ditentukan oleh
insinyur dapat
diterima dan digunakan dan
mampu bertanggung jawab
selama pembuatan
produk perangkat lunak.
• Reliability , apakah proses
didesain sedikian rupa
sehingga kesalahan proses
dapat dihindari sebelum terjadi
kesalahan pada produk.
• Robustness, dapatkah proses
terus berjalan walaupun
terjadi masalah yang
tak diduga.
• Maintainability , dapatkah
proses berkembang untuk
mengikuti kebutuhan
atau perbaikan.
• Rapidity , bagaimana
kecepatan proses pengiriman
sistem dapat secara
lengkap memenuhi spesifikasi.
Model
Model proses perangkat lunak
masih menjadi objek
penelitian. Ada banyak
model umum atau paradigma
yang digunakan untuk
mengembangan perangkat
lunak, antara lain:
• Pendekatan Waterfall
Berisi rangkaian aktivitas
proses yaitu spesifikasi
kebutuhan, implementasi
desain perangkat lunak, uji
coba dst. Setelah setiap
langkah didefinisikan,
langkah tersebut di sign off dan
pengembangan dilanjutkan
pada langkah
berikutnya.
• Pengembangan secara
evolusioner
Sistem awal dengan cepat
dikembangkan dari pelanggan
untuk memproduksi
sistem yang memenuhi
kebutuhan pelanggan tersebut
kemudian sistem
disampaikan. Sistem itu
mungkin diimplementasikan
kembali dengan
pendekatan yang lebih
terstruktur untuk
menghasilkan sistem yang
kuat dan
maintable.
• Transformasi formal
Pendekatan ini berdasarkan
pembuatan spesifikasi sistem
formal secara
matematik dan transformasi
spesifikasi dengan
menggunakan metode
matematik atau dengan suatu
program. Transformasi ini
adalah correctness
preserving, ini berarti bahwa
kita dapat yakin program yang
dikembangkan
sesuai dengan spesifikasi.
• Penggabungan sistem dengan
menggunakan komponen ‐
komponen yang
dapat digunakan kembali
( reusable ).
Teknik ini menganggap
bagian‐ bagian dari sistem
sudah ada. Proses
pengembangan sistem lebih
berfokus pada penggabungan
bagian‐ bagian
daripada pengembangan tiap
bagian yang sudah ada
tersebut.
• Berorientasi objek
Teknik ini merupakan teknik
terbaru yang sekarang banyak
digunakan dan
terus dikembangkan. Teknik
ini memandang segala sesuatu
sebagai objek
sehingga dengan mudah
pengembang memahami
sistem yang akan
dikembangkannya.
Secara umum metodologi ini
meliputi serangkaian tugas
yang luas seperti
analisis kebutuhan, desain,
konstruksi program,
pengujian, dan pemeliharaan.
Definisi Analisis Kebutuhan
Sistem
Menurut Yogiyanto (1995)
analisis sistem adalah
penguraian dari suatu
sistem informasi yang utuh
kedalam bagian ‐bagian
komponennya dengan maksud
untuk mengidentifikasikan dan
mengevaluasi permasalahan,
kesempatan,
hambatan yang terjadi dan
kebutuhan yang diharapkan
sehingga dapat diusulkan
perbaikan. Sedangkan
menurut Kristanto (2003)
analisis sistem adalah suatu
proses mengumpulkan dan
menginterpretasikan
kenyataan‐ kenyataan yang
ada,
mendiagnosa persoalan dan
menggunakan keduanya untuk
memperbaiki sistem.
Analis Kebutuhan Sistem
Menurut Yogiyanto (1995)
analis sistem (analis informasi)
adalah orang
yang menganalis sistem
(mempelajari masalah ‐
masalahan yang timbul dan
menentukan kebutuhan
pemakai sistem) untuk
mengidentifikasikan
pemecahan
permasalahan tersebut.
Sedangkan menurut Kristanto
(2003) analis sistem adalah
orang yang mempunyai
kemampuan untuk
menganalisis sebuah sistem,
memilih
alternatif pemecahan masalah
dan menyelesaikan masalah
tersebut dengan
menggunakan komputer.
Peranan Analis Kebutuhan
Sistem
Analis sistem secara sistematis
menilai bagaimana fungsi
bisnis dengan cara
mengamati proses input dan
pengolahan data serta proses
output informasi
untuk membantu peningkatan
proses organisasional. Dengan
demikian, analis
sistem mempunyai tiga
peranan penting, yaitu :
1. Sebagai konsultan
2. Sebagai ahli pendukung
3. Sebagai agen perubahan
Adapun tugas‐ tugas yang
dilakukan oleh seorang analis
sistem adalah
sebagai berikut :
1. mengumpulkan dan
menganalisis semua dokumen,
file, formulir yang
digunakan pada sistem yang
telah berjalan.
2. menyusun laporan dari
sistem yang telah berjalan dan
mengevaluasi
kekurangan‐ kekurangan pada
sistem tersebut dan
melaporankan semua
kekurangan tersebut kepada
pemakai sistem.
3. merancang perbaikan pada
sistem tersebut dan menyusun
sistem baru.
4. menganalisis dan menyusun
perkiraan biaya yang
diperlukan untuk sistem
yang baru dan memberikan
argumen tentang keuntungan
yang dapat
diperoleh dari pemakian sistem
yang baru tersebut.
5. mengawasi semua kegiatan
terutama yang berkaitan
dengan sistem yang baru
tersebut.
Waterfall
Model ini menawarkan cara
pembuatan perangkat lunak
secara lebih nyata.
Langkah ‐langkah yang penting
dalam model ini adalah :
• Penentuan dan analisis
spesifikasi
Jasa, kendala dan tujuan
dihasilkan dari konsultasi
dengan pengguna sistem.
Kemudian semuanya itu dibuat
dalam bentuk yang dapat
dimengerti oleh user
dan staf pengembang.
• Desain sistem dan perangkat
lunak
Proses desain sistem membagi
kebutuhan‐kebutuhan menjadi
sistem
perangkat lunak atau
perangkat keras. Proses
tersebut menghasilkan sebuah
arsitektur sistem keseluhan.
Desain perangkat lunak
termasuk menghasilkan
fungsi sistem perangkat lunak
dalam bentuk yang mungkin
ditransformasi ke
dalam satu atau lebih program
yang dapat dijalankan.
• Implementasi dan ujicoba unit
Selama tahap ini desain
perangkat lunak disadari
sebagai sebuah program
lengkap atau unit program. Uji
unit termasuk pengujian
bahwa setiap unit
sesuai spesifikasi.
• Integrasi dan ujicoba sistem
Unit program diintegrasikan
dan diuji menjadi sistem yang
lengkap untuk
menyakinkan bahwa
persyaratan perangkat lunak
telah dipenuhi. Setelah
ujicoba, sistem disampaikan ke
pelanggan
• Operasi dan pemeliharaan
Normalnya, ini adalah phase
yang terpanjang. Sistem
dipasang dan digunakan.
Pemeliharaan termasuk
pembetulan kesalahan yang
tidak ditemukan pada
langkah sebelumnya.
Perbaikan implementasi unit
sistem dan peningkatan
jasa sistem sebagai kebutuhan
baru ditemukan.
Dalam prakteknya, setiap
langkah sering tumpang tindih
dan saling
memberi informasi satu sama
lain. Proses perangkat lunak
tidak linier dan
sederhana tapi mengandung
urutan iterasi dari aktivitas
pengembangan. Selama
di langkah terakhir, perangkat
lunak telah digunakan.
Kesalahan dan kelalaian
dalam menentukan kebutuhan
perangkat lunak original dapat
diatasi.
Sayangnya, model yang banyak
mengandung iterasi sehingga
membuat
sulit bagi pihak manajemen
untuk memeriksa seluruh
rencana dan laporan. Maka
dari itu, setelah sedikit iterasi,
biasanya bagian yang telah
dikembangkan akan
dihentikan dan dilanjutkan
dengan langkah
pengembangan selanjutnya.
Masalahmasalah
selama resolusi selanjutnya,
dibiarkan atau diprogram.
Pemberhentian
yang prematur dari
persyaratan akan berarti
bahwa sistem tidak akan
sesuai
dengan keinginan user.
Mungkin juga sistem
terstruktur secara jelek yang
sebenarnya merupakan
masalah desain akan dibiarkan
karena terkalahkan oleh
trik implementasi.
Masalah pendekatan waterfall
adalah ketidakluwesan
pembagian project
ke dalam langkah yang nyata/
jelas. Sistem yang disampaikan
kadang‐kadang tidak
dapat digunakan sesuai
keinginan pelanggan. Namun
demikian model waterfall
mencerminkan kepraktisan
engineering. Konsekuensinya,
model proses perangkat
lunak yang berdasarkan pada
pendekatan ini digunakan
dalam pengembangan
sistem perangkat lunak dan
hardware yang luas.
Pengembangan secara
Evolusioner
Model ini berdasarkan pada ide
pengembangan pada
implementasi awal
yang akan menghasilkan
komentar pemakai sehingga
dapat dilakukan perbaikan
melalui banyak versi sampai
sistem yang mencukupi dapat
dikembangan. Selain
memiliki aktivitas ‐aktivitas
yang terpisah model ini
memberikan feedback dengan
cepat dan serentak.
Terdapat 2 tipe pada model ini,
yaitu :
1. Pemprograman evolusioner
Dimana tujuan proses adalah
bekerjasama dengan
pelanggan untuk
menghasilkan kebutuhan‐
kebutuhan dan menyampaikan
sistem akhir kepada
pemakai atau pelanggan.
Pengembangan dimulai dengan
bagian‐ bagian
sistem yang dimengerti. Sistem
dikembangkan melalui
penambahan features
sesuai yang diusulkan oleh
pelanggan.
2. Pemodelan
Dimana tujuan pengembangan
evolusioner pada tipe ini
adalah mengetahui
kebutuhan‐kebutuhan
pelanggan dan
mengembangkan difinisi
kebutuhan
yang lebih baik untuk sistem.
Model/contoh difikuskan pada
penelitian
bagian‐ bagian kebutuhan
pelanggan yang kurang
dimengerti.
Pemprograman evolusioner
penting saat sulit untuk
membuat spesifikasi
sistem secara rinci. Beberapa
orang mungkin setuju bahwa
semua sistem masuk
dalam tipe ini. Namun,
pemprograman evolusioner
banyak digunakan dalam
pengembangan sistem AI
(artificial intelligence) yang
berusaha untuk menyamai
kemampuan manusia. Kita
tidak mungkin membuat
spesifikasi yang rinci untuk
perangkat lunak yang
menyamai manusia karena kita
tidak mengerti bagaimana
manusia menjalankan tugas‐
tugas mereka.
Pendekatan evolusioner
biasanya lebih efektif daripada
pendekatan
waterfall untuk hal
pengembangan perangkat
lunak yang harus dengan
segera
dapat memenuhi kebutuhan
pelanggan. Namun, dari segi
teknik dan manajemen,
model ini memiliki masalah
mendasar yaitu:
• Proses tidak visibel.
Manager‐manager
membutuhkan “deliverables”
yang teratur untuk
mengukur kemajuan. Jika
sistem dikembangkan dengan
cepat akan terjadi
pemborosan pada pembuatan
dokumen yang
menggambarkan setiap versi
sistem.
• Sistem ‐sistem biasanya
kurang terstruktur
Kecenderungan perubahan
yang terus menerus akan
mengurangi stuktrur dari
perangkat lunak. Evolusi
perangkat lunak terlihat sulit
dan mahal.
• Ketrampilan khusus jarang
dimiliki
Tidak jelas batasan
ketrampilan yang normal
dalam rekayasa perangkat
lunak
yang mungkin dapat
digunakan secara efektif dalam
model pengembangan
ini. Kebanyakan sistem yang
dikembangkan melalui cara ini
telah
diimplementasikan oleh
kelompok kecil yang memiliki
ketrampilan yang tinggi
dan motivasi yang kuat.
Untuk memecahkan masalah ‐
masalah tersebut, kadang‐
kadang tujuan dari
pengembangan evolusioner
adalah mengembangkan
contoh sistem. Contoh ini
digunakan untuk mengerti dan
mevalidasikan spesifikasi
sistem. Disinilah
pengembangan evolusioner
merupakan bagian dari
beberapa proses yang lebih
luas ( seperti model waterfall ).
Karena masalah ‐masalah
tersebut, sistem dengan
skala besar biasanya tidak
dikembangkan melalui cara ini.
Pengembangan
evolusioner lebih tepat untuk
pengembangan sistem yang
relatif kecil.
Masalah‐ masalah mengenai
perubahan sistem yang ada
dihindari dengan
mengimplementasi ulang
sistem keseluruhan kapanpun
perubahan yang
signifikan diperlukan. Jika
pemodelan digunakan, tidak
terlalu mahal.
Spiral Boehm
Model proses nyata waterfall
yang berorientasi dokumen
telah diambil
sebagai standar umum oleh
banyak agen pemerintah dan
pembuat perangkat
lunak. Jadi, tidak mudah
melupakan model tersebut
walaupun masih terdapat
masalah‐ masalah yang
ditimbulkan dalam model
tersebut. Kita membutuhkan
sebuah proses yang lebih baik
untuk manajemen yang dapat
menggunakan
semua model umum seperti
yang telah kita bicarakan
sebelumnya. Model
perbaikan tersebut juga harus
memenuhi kebutuhan‐
kebutuhan pembuat
perangkat lunak. Pendekatan
alternatif diusulkan oleh
Boehm (1988). Boehm
mengusulkan sebuah model
yang secara eksplisit
menjelaskan bahwa resiko
yang
disadari mungkin membentuk
dasar model proses umum.
Model Boehm bebrbentuk
spiral. Setiap loop mewakili
sebuah tahap dari
proses perangkat lunak. Tidak
ada tahap yang tetap dalam
model ini. Manajemen
harus memutuskan bagaimana
membentuk proyek kedalam
tahap‐tahap.
Perusahaan biasanya bekerja
dengan beberapa model umum
dengan tahap
tambahan untuk proyek
khusus atau ketika masala ‐
masalah ditemukan selama
pembuatan proyek.
Setiap loop dibagi dalam 4
sektor, yaitu :
1. Pembuatan tujuan
Tujuan, hambatan dalam
proses ataupun produk serta
resiko‐resiko proyek
ditentukan. Rencana rinci
manajemen juga ditulis
lengkap. Pembuatan
strategi‐strategi alternatif
direncanakan sesuai dengan
resiko yang ada.
2. Perkiraan dan pengurangan
resiko
Untuk setiap resiko yang telah
diidentifikasi, akan dibuat
analisis rincinya.
Kemudian diambil langkah ‐
langkah untuk mengurangi
resiko. contohnya,
jika ada resiko bahwa
persyaratan‐ persyaratan tidak
tepat maka sebuah
model contoh mungkin dapat
dikembangkan.
3. Pengembangan dan validasi
Setelah evaluasi resiko, sebuah
model pengembangan untuk
sistem dipilih.
Misalnya, jika resiko interface
pengguna yang dominan maka
model
pengembangan yang tepat
mungkin pengembangan
evolusioner dengan
menggunakan model contoh
(prototipe).
Jika resiko keselamatan yang
diutamakan, model
pengembangan yang
sesuai adalah transformasi
formal dan seterusnya. Model
waterfall
mungkin tepat digunakan jika
resiko yang diutamakan adalah
integrasi
sistem.
4. Perencanaan
Jika diputuskan untuk
melanjutkan pada loop spiral
berikutnya maka
proyek dibicarakan kembali
dan rencana dibuat untuk
tahap selanjutnya.
Tidak perlu untuk
menggunakan satu model
tunggal pada setiap loop spiral
bahkan dalam keseluruhan
sisten perangkat lunak. Model
spiral encompasses
model lainnya. Pemodelan
digunakan pada salah satu
psiral untuk memecahkan
masalah kebutuhan. Kemudian
dapat diikuti oleh model
konvensional, waterfall.
Transformasi formal digunakan
untuk mengembangkan
bagian‐ bagian sistem
yang memiliki persyaratan
keselamatan yang tinggi dan
pendekatan reuse
digunakan untuk
pengimplementasian bagian ‐
bagian lain dari sistem data
manajemen.
Pada implementasinya, model
spiral ini juga banyak
digunakan, tetapi
biasanya dikombinasikan
dengan model yang lain.
Pemodelan waterfall, yang
sangat bagus dalam
menentukan millestones dan
pemodelan spiral, yang sangat
bagus dengan menggunakan
prototyping, merupakan
kombinasi yang sering
dipakai di dalam kontrak ‐
kontrak untuk perangkat lunak
dewasa ini.
Manajemen Resiko
Perbedaan yang mendasar
antara model spiral dengan
model lainnya
adalah bahwa model spiral
dengan eksplisit menyadari
resiko‐resiko yang ada.
Resiko adalah konsep yang
sulit didefinisikan secara tepat.
Secara informal resiko
adalah sesuatu yang sederhana
yang dapat menyebabkan
kesalahan. Contohnya,
jika bertujuan menggunakan
pemprograman bahasa baru
(new programming
language), resiko yang
mungkin adalah alat
pengumpul yang digunakan
tidak
reliabel dan tidak
menghasilkan code objek yang
efesien.
Resiko adalah sebagai hasil
ketidakcukupan informasi.
Resiko tersebut
dapat dipecahkan dengan
pengenalan beberapa kegiatan
yang dapat menutupi
informasi yang kurang
menyakinkan. Dalam contoh
diatas, resiko mungkin dapat
diatasi dengan survey pasar
untuk menemukan alat
pengumpul mana yang dapat
digunakan dan bagaimana
kebaikan alat tersebut. Jika
sistem ternyata tidak
sesuai maka keputusan untuk
menggunakan bahasa baru
harus diubah.
Siklus spiral dimulai dengan
penguraian tujuan ‐tujuan
seperti performance,
kegunaan, dan seterusnya.
Cara alternatif dalam
pencapaian tujuan dan
hambatan dipergunakan
dengan sebaik ‐baiknya
kemudian diperhitungkan.
Setiap
alternatif diperhitungan
bertentangan dengan tujuan.
Ini biasanya menghasilkan
identifikasi sumber resiko
proyek. Langkah selanjutnya
adalah mengevaluasi
resiko‐resiko ini dengan
aktivitas seperti analisis yang
lebih detail, pembuatan
model/contoh, simulasi dan
seterusnya. Untuk
menggunakan model spiral,
Boehm menyarankan sebuah
bentuk umum yang dipenuhi
dalam setiap daerah
spiral. Bentuk ini mungkin
dilengkapi pada sebuah level
abtrak atau perkiraan
rinci yang imbang dari
pengembangan produk.
Analisis Kebutuhan
Untuk menganalisis kebutuhan
sistem, tool yang biasa dipakai
adalah DFD
(Data Flow Diagram). Jadi DFD
ini sangat penting bagi seorang
analis sistem.
Penggunaan DFD sebagai
Modeling Tool dipopulerkan
Oleh Demacro & Yordan
(1979) dan Gane & Sarson
(1979) dengan menggunakan
pendekatan Metoda
Analisis Sistem Terstruktur.
DFD menggambarkan arus
data dari suatu sistem
informasi, baik sistem
lama maupun sistem baru
secara logika tanpa
mempertimbangkan
lingkungan
fisik dimana data tersebut
berada.
Simbol dalam DFD
External Entity
External Entity adalah
merupakan entitas diluar
sistem yang berinteraksi
dengan sistem yang akan
dikembangkan. External Entity
ini dapat berupa orang,
organisasi, maupun sistem
yang lain. Contoh dari External
Entity ini adalah
Pelanggan, Mahasiswa,
Yayasan, dan lain sebagainya.
Process
Merupakan kegiatan atau
pekerjaan yang dilakukan oleh
orang atau mesin
komputer, dimana aliran data
masuk kemudian
ditranformasikan keluar
(aliran
data keluar).
Data Flow
Data Flow merupakan aliran
data yang masuk maupun
keluar dari suatu
Process dan disimbolkan
dengan anak panah. Aliran
data dapat berbentuk sebagai
berikut :
a. Formulir atau dokumen yang
digunakan perusahaan
b. Laporan tercetak yang
dihasilkan sistem
c. Output dilayar komputer
d. Masukan untuk komputer
e. Komunikasi ucapan
f. Surat atau memo
g. Data yang dibaca atau
direkam di file
h. Suatu isian yang dicatat
pada buku agenda
i. Transmisi data dari suatu
komputer ke komputer lain
Data ada tiga kemungkinan,
antara lain :
1. Packet of Data
Bila dua data mengalir dari
suatu sumber yang sama ke
tujuan yang sama,
maka harus dianggap sebagai
suatu aliran data yang tunggal.
2. Diverging Data Flow
Bila dari suatu sumber
mengalir data yang menyebar
ke tujuan yang berbeda,
menunjukan bahwa aliran data
tersebut merupakan tembusan
dari aliran
data.
3. Convergen Data Flow
Data yang mengalir dari
sumber yang berbeda menuju
ke tujuan yang sama.
Data Store
Merupakan tempat
penyimpanan data yang dapat
berupa suatu file atau
suatu sistem database dari
suatu komputer, suatu arsip/
dokumen, suatu
agenda/buku.
Process Decompotition
Merupakan aktifitas memecah
suatu sistem menjadi
komponen ‐komponen
sub‐sistem dimana Komponen‐
komponen sub‐sistem tersebut
memperlihatkan
detail dari sistem diatasnya.
Pembuatan DFD – Context
Diagram
Diagram atas atau yang paling
awal dibuat dari sistem adalah
Context
Diagram (Diagram Konteks)
yang memperlihatkan ruang
lingkup (gambaran) dari
sistem tersebut. Pada diagram
konteks ini semua External
Entity yang terlibat
dengan sistem diidentifikasi.
Selain itu juga
mengidentifikasi aliran data
baik yang
masuk maupun keluar dari
sistem serta arah aliran
tersebut. Dalam diagram
konteks hanya ada satu proses
saja yaitu proses 0 dan belum
memperlihatkan
penyimpanan data.

Dipublikasi di Uncategorized | Meninggalkan komentar

Perbedaan Fungsi getch() dan getche() Pada C/C++

Bagi anda yang sedang belajar C/C++ pasti sering menggunakan fungsi getch() ataupun getche(). Dari pengalaman saya banayak dosen Pemrograman yang kurang detail dalam menjelaskan kegunaan dari fungsi getch() ini. Nah untuk menambah pengetahuan, saya ingin sharing tentang fungsi getch ()dan getche().

Dari pengalaman saya, kebanyakan dosen pemrograman menjelaskan kegunaan dari fungsi getch() ini hanya digunakan untuk menghentikan suatu proses yang berjalan. Namun kegunaan fungsi getch() sebenarnya lebih dari itu, fungsi getch sebenarnya merupakan fungsi yang digunakan untuk membaca input dari keyboard. getch() ini merupakan kepanjangan dari Get Character. Dan karakter yang diambil oleh fungsi getch ini tidak akan ditampilkan pada console. Adapun karakter yang diambil dari keyboard hanya satu karakter.

Berikut adalah contohnya :

#include <stdio>
#include <conio>
main()
{
char a;
printf(“Tekan sebuah tombol pada keyboard!”);
a=getch();
printf(“\nTombol yang baru anda tekan adalah %c”,a);
getch();
}

 

pada syntax a=getch(); artinya apapun yang ditekan pada keyboard akan disimpan ke dalam variabel a. salah satu kegunaan fungsi getch() ini adalah untuk masking password. Untuk melihat contoh masking password silahkan klik disini.

Lalu apa perbedaan fungsi getch() dan getche()? Seperti yang dijelaskan tadi getch() merupakan kepanjangan dari Get Character, sedangkan untuk getche() merupakan kepanjangan dari Get Character And Echo. Pada fungsi getch() tombol yang kita tekan pada keyboard tidak akan ditampilkan pada console (kecuali kita panggil variabelnya dengan fungsi printf atau fungsi output lainnya), namun untuk getche() tombol yang kita tekan akan langsung ditampilkan pada console. Berikut adalah contohnya:

#include <stdio>
#include <conio>
main()
{
char a;
printf(“Tekan sebuah tombol pada keyboard!”);
a=getche();
printf(“\nTombol yang baru anda tekan adalah %c”,a);
getch();
}

 

Dipublikasi di Uncategorized | Meninggalkan komentar

PERBEDAAN WRITE, WRITELN, READ, DAN READLN

Pada bahasa pemrograman Pascal. Perintah yang digunakan untuk menampilkan output adalah write dan writeln, sedangkan untuk keperluan input (membaca input) atau menerima input digunakan identifier standar READ atau READLN. Identifier standar Readln sedikit berbeda dengan Read. Perintah input dan output tersebut akan dibahas satu persatu secara detail sebagai berikut:
  1. WRITE
Perintah write digunakan untuk menuliskan output, dengan posisi cursor – penunjuk aktif, terletak pada akhir output yang ditampilkan pada baris yang sama. Write tidak menambahkan CR setelah menampilkan data semua argument. Write menampilkan hasil tanpa ganti baris dan tampilan berikutnya akan disambung dalam baris yang sama.
 
Syntax :
write(’yang akan dituliskan’);
write(variabel);
write(‘tulisan, variabel);
Contoh program:
Listing Program 1.1
program nothelloworld;
begin
write(‘not a hello world’);
end.
 
  1. WRITELN
Perintah writeln digunakan untuk menuliskan output, dengan posisi cursor – penunjuk aktif, terletak pada awal baris berikutnya. Writeln menambahkan CR setelah menampilkan data semua argument. Writeln digunakan untuk menampilkan tampilan perbaris, akan ganti baris untuk tampilan berikutnya. Argumen perintah writeln boleh berupa ekspresi. Contoh perintah penyajian writeln(‘Luas = ‘, luasPSP); bisa dikerjakan dengan perintah: writeln(‘Luas = ‘, panjangPSP * lebarPSP);
 
Syntax :
writeln(’yang akan dituliskan’);
write(variabel);
write(‘tulisan, variabel);
Contoh program:
Listing Program 1.2
program nothelloworld;
begin
writeln(‘not a hello world’);
end.
 
  • WRITE dan WRITELN dapat menerima:
    • Argumen bertipe dasar, jumlah argumen bisa lebih dari satu.
    • Suatu ekspresi
    • Tanpa argumen
Writeln (20.13) {argumen bertipe real}
Writeln (678) {argumen bertipe integer}
Writeln (True) {argumen bertipe boolean}
Writeln (‘A’) {argumen bertipe char}
Writeln (‘Turbo Pascal’) {argumen bertipe string}
writeln (2 * 3 + 4) {suatu ekspresi}
writeln (‘Jumlah barang : ‘,jumlahbarang) {lebih dari satu ekspresi}
Writeln (‘ ‘); {tanpa argumen}
Writeln ; {tanpa argumen}
  • Argumen perintah writeln boleh berupa ekspresi. Contoh perintah penyajian writeln(‘Luas = ‘, luasPSP); bisa dikerjakan dengan perintah: writeln(‘Luas = ‘, panjangPSP * lebarPSP);
 
  • Format Output dari Write atau Writeln
Ada dua format :
    • data : n pada umumnya
    • data : lebar_total : lebar_pecahan bilangan real
 
writeln (‘12345678901234567890’);
writeln (‘Yogya’: 10);
writeln (‘A’ : 8);
writeln (True : 8);
writeln (123 : 8);
writeln (-123 : 8);
writeln (1234.5678 :8);
writeln (1234.5678 :12:5);
writeln (1234.5678 :13:5);
writeln (1234.5678 :13:4);
writeln (1234.5678 :13:0);
writeln (1234.5678 :7:5);
writeln (True : 2);
 
  • Bentuk umum penulisannya :
 
WRITE (variabel output); WRITELN (variabel output);
 
 
  1. READ
Perintah read digunakan untuk menerima input, dengan posisi cursor – penunjuk aktif, setelah diberi input pada baris berikutnya. Read tidak membaca end of line marker. Pernyataan ini tidak akan membuang kelebihan data. Kelebihan data akan diberikan pada read atau readln berikutnya. Read tidak ganti baris, masih dalam baris yang sama
 
Syntax :
read(variabel);
Contoh program:
Listing Progra 1.3
program nothelloworld;
var
s : integer;
begin
write(‘not a hello world ’);
read(s);
write(s*s);
end.
 
  1. READLN
Perintah readln tidak terlalu jauh berbeda dengan perintah read. Readln membaca end of line marker. Pernyataan ini menyebabkan kelebihan data akan dibuang (tidak diberikan ke read atau readln berikutnya). Readln juga digunakan untuk memasukkan data perbaris, artinya setelah tombol Enter ditekan, maka akan ganti baris,
 
Syntax :
readln(variabel);
Contoh program:
Listing Program 1. 4
program nothelloworld;
var
s : integer;
begin
write(‘not a hello world ’);
readln(s);
write(s*s);
end.
 
  • READ dan READLN tidak dapat dipakai untuk memasukkan semua jenis data. Data bilangan, string maupun karakter dapat ditangani oleh kedua pernyataan ini.
  • Perintah read atau readln dapat digunakan untuk membaca data lebih dari satu sekaligus dengan berbagai format.
  • Bentuk umum penulisannya :
 
READ (variabel input) ; READLN (variabel output);
 
Ada banyak contoh yang dapat kita pelajari. Di bawah ini adalah beberapa contoh yang dapat kita pelajari dan mencobanya.
  • Menggunakan Readln dan Writeln
Program MasukkanData; (*Layar*)
Var
A, B : Integer;
C : Real;
D : String[10];
E : Char;
 
BEGIN
(* Memasukkan data untuk masing-masing variabel *)
ReadLn(A);
ReadLn(B);
ReadLn(C);
ReadLn(D);
ReadLn(E);
 
(* Menampilkan data yang dimasukkan *)
WriteLn;
WriteLn(‘A = ‘,A,’ B = ‘,B,’ C = ‘,C);
WriteLn(‘D = ‘,D);
WriteLn(‘E = ‘,E);
End.
 
50
12345
12345
HALO
HALO JUGA
A = 50 B = 12345 C = 1.2345000000E+04
D = HALO
E = H
 
  • Menggunakan Read, write, dan Writeln
 
Program MasukData; (* Input, Output *)
(*Program untuk mengkonversikan dari derajat celcius menjadi derajad fahrenheit *)
Var
C, F : Real;
Begin
Write(‘ Berapa Celcius ? ‘);
ReadLn(C);
F := 1.8 * C + 32;
WriteLn;
WriteLn(C,’ Celcius adalah ‘,F,’ Fahrenheit’);
End.
 
Berapa Celcius ? 10
1.0000000000E+01 Celcius adalah 5.0000000000E+01 Fahrenheit
 
 
  • Menggunakan Readln, write, dan Writeln
Var
Sisi, panjang, luas : integer ;
Begin
Write (‘Masukkan sisi persegi panjang =’);
Readln (sisi) ;
Write (‘Masukkan panjang persegi panjang =’);
Readln (panjang) ;
Luas : = sisi x panjang ;
Writeln (‘Luas persegi panjang adalah’, Luas) ;
End.
 
Output program :
Masukkan sisi persegi panjang = 10 �� data yg diinput melalui keyboard
Masukkan panjang persegi panjang = 10
Luas persegi panjang adalah 100
 
  • Menggunakan write
VAR nama : string{15};
BEGIN nama := ‘Dewi’;
write(‘nama : ‘);
write(nama);
END.
 
Nama : Dewi
 
  • Menggunakan writeln
VAR nama : string{15};
BEGIN nama := ‘Dewi”;
WriteLn(‘Nama : ‘);
WriteLn(Nama);
END.
 
Nama :
Dewi
 
  • Menggunakan write dan writeln
write (‘Selamat Belajar’);
writeln (‘Pascal’);
write (‘Semoga Sukses’);
 
Dalam layar akan ditampilkan:
Selamat Belajar Pascal
Semoga Sukses
 
 
 
 
 
HATI-HATI
Kesalahan Pada Program
Ada dua jenis kesalahan yang mungkin terjadi pada
program, yaitu:
1. Kesalahan sintaks/tatabahasa (syntax error)
2. Kesalahan logika (logical error)
Dipublikasi di Uncategorized | Meninggalkan komentar

Printf dan Scanf

 

Setelah pada kesempatan sebelumnya kita belajar tentang Variabel nah sekarang kita akan mengenal printf dan scanf pada Bahasa pemograman C (ingat kita akan belajar menggunakan bahasa C). Nah untuk memahami lebih jauh tentang printf dan scanf, saya sarankan untuk langsung mempraktekannya ok? sekarang siapkan jalankan notepad++nya dan jangan lupa MinGWnya harus sudah ada. oke kita mulai saja pengenalannya.

printf dan scanf merupakan fungsi didalam bahasa pemograman C. kita pecah pasang sejoli itu, pertama kita kenal printf. printf adalah fungsi di bahasa C yang digunakan untuk menampilkan apa yang kita tulis di program. cara menggunakan printf dalam program :

 
 #include int main(){ 
       int uang=10000; 
       printf("Hello Rudi"); 
       printf("aku punya uang %d", uang); 

       return 0; } 

nah itu lah kegunaan dari printf pahamkan?

Setelah kita kenal printf, sekarang kita akan mengenal fungsi scanf. scanf itu fungsi untuk menangkap masukan dari user. cara penulisan dalam bahasa C nya adalah (ketikn program ini di notepad++!).


 #include int main(){ 
      int uang; 
      printf("Hello Rudi"); 
      printf("kamu punya uang berapa?"); 
      scanf("%d", &uang); 
    return 0; } 
Dipublikasi di Uncategorized | Meninggalkan komentar

Input Output c++

Pernyataan Input dan Output
dalam Program Pascal
Dalam bahasa Pascal pernyataan input
adalah pernyataan yang digunakan
untuk memasukkan data. Pernyataan
input yang ada di Pascal adalah READ
dan READLN. Sedangkan pernyataan
output adalah pernyataan yang
digunakan untuk menampilkan hasil.
Ada dua pernyataan output yaitu WRITE
dan WRITELN. Berikut ini contoh
program Pascal tentang cara
melakukan input nama dan NRP
(nomor induk mahasiswa).
program nama_nrp;
uses wincrt;
var
nama:char;
nrp :longint;
begin
write(‘Nama : ‘);
readln(nama);
write(‘NRP : ‘);
readln(nrp);
end.

Dipublikasi di Uncategorized | Meninggalkan komentar

cin dan cout merupakan beberapa
syntak di dalam c++. cin merupakan
syntak untuk inputan user kedalam
program.
cin adalah syntak untuk
menginputkan data oleh user.
contoh :
cin >> x;
penjelasan :
cin merupakan syntak untuk input
data.
>> merupakan karakter yang harus
mengikuti syntak cin. Jadi dimana cin
ditulis setelahnya wajib menuliskan
karakter >>
x merupakan tempat memori yang
akan diisi oleh inputan user.
Sebenarnya tidak harus x bisa apa
aja tergantung deklarasi yang
dideklarasikan oleh si programer.
; ini merupakan tanda akhir dari
program dalam c++. Ini wajib ditulis
setiap akhir baris program.
Jadi cin >> x; dibaca cin (user) akan
memasukkan nilai kedalam memori x.
cout adalah syntak untuk
mengoutputkan atau menampilkan
hasil ke dalam layar.
contoh :
cout << x;
Penjelasan :
cout merupakan output data ke
dalam layar.
<< merupakan karakter yang harus
mengikuti syntak cout. Jadi dimana
cout ditulis setelahnya wajib
menuliskan karakter <<
x merupakan data yang dioutputkan
yang telah diisi oleh user tentunya.
; ini merupakan tanda akhir dari
program dalam c++. Ini wajib ditulis
setiap akhir baris program.
Jadi cout << x; cout akan
menampilkan data x.

Dipublikasi di Uncategorized | Meninggalkan komentar

Tugas pemrograman

Perbedaan Pemrograman Terstruktur dan Pemrograman OOP

Pemrograman TerstrukturPemrograman terstruktur adalah suatu teknik yang mencegah masalah besar menjadi lebih kecil dan lebih mudah dipahami sehingga masalah yang besar dapat diselesaikan dengan baik. Pemrogramman terstruktur digumakan secara berurutan dan terstuktur baik dalam analisa, cara dan penulisan program. Program dapat dibagi-bagi menjadi prosedur dan fungsi.

Mempelajari bahasa pemrograman terstruktur sangat penting artinya karena konsep-konsep yang diterapkan disini akan dipakai terus dalam bahasa bahasa pemrograman generasi baru. Dalam mempelajari pemrograman terstruktur yang sangat penting dipahami adalah konsepnya.

Ciri-ciri pemrograman terstruktur1. Mengandung teknik pemecahan masalah yang tepat dan benar
2. Memiliki algoritma pemecahan masalah yanag sederhana, standar da efektif.
3. Penulisan program memiliki struktur logika yang benar dan mudah dipahami
4. Program hanya terdiri dari 3(tiga) struktur dasar, yaitu struktur berurutan, struktur
seleksi dan struktur perulangan.
5. Menghindari penggunaan pernyataan GOTO, yang akan menjadikan program tidak terstruktur dengan baik.
6. Biaya pengujian yang dibutuhkan rendah.
7. Memliki dokumentasi yang baik
8. Biaya perawatan dan dokumentasi yang dibutuhkan rendah.

Prinsip pemrograman tersturuktur :– Gunakan rancangan pendekatan dari atas ke bawah (top down design).
– Bagi program ke dalam modul-modul logika yang sejenis,
– Gunakan sub-program untuk proses-proses sejenis yang sering digunakan.
– Gunakan pengkodean terstruktur: IF … THEN, DO … WHILE dan lain-lainnya.
– Gunakan nama-nama bermakna (mnemonic names)
– Buat dokumentasi yang akurat dan berarti.

Tujuan Pemrograman Terstruktur1. Meningkatkan kehandalan program
2. Program mudah dibaca dan ditelusuri
3. Menyederhanakan kerumitan program
4. Lebih mudah dalam pemeliharaan program
5. Meningkatkan produktivitas pemrograman

Ada tiga bentuk yang digunakan dalam pemrograman terstruktur yaitu : Sequence Structure, Loop Structure dan Selection Structure.

Sequential structureStruktur Berurutan adalah struktur program yang paling sederhana. Setiap baris
program akan dikerjakan secara urut dari atas ke bawah maka hanya ada satu cara
memulainya yaitu dari bagian atas, dan cara untuk keluarnya yaitu dari bagian bawah.

Contoh Program Struktur berurutan menghitung luas empat persegi panjang
Program persegi panjang;
Uses crt;
Var
luas,panjang,lebar:integer;
Begin
clrscr;
write(‘Masukan Panjang:’);
Readln(panjang);
write(‘Masukan Lebar:’);
Readln(Lebar);
Luas:=Panjang * Lebar;
writeln(‘luas Persegi Panjang: ‘, Luas);
Readln;
End.

Loop StructureStruktur perulangan akan melakukan proses berulang ulang selama selama Kondisi bernilai
True atau selama kondisi perulangan terpenuhi.
Dan Kondisi akan berhenti jika hanya keadaan berubah menjadi false atau kondisi
perulangan tidak terpenuhi.
Struktur pengulangan terdiri dari :
• FOR .. DO
• While .. Do
Perulangan digunakan untuk melaksanakan blok statement selama kondisinya benar. Dalam perulangan ini kondisi diuji terlebih dahulu.
• REPEAT .. UNTIL
Perulangan ini melakukan uji kondisi pada akhir perulangan. Artinya perulangan (loop)
dikerjakan terlebih dahulu, kemudian baru kondisi diuji. Proses akan diulang sampai suatu kondisi yang diberikan bernilai benar.

Bahasa pemrograman yang mendukung pemrograman terstruktur antara lain:
– Pascal
– Cobol
– Bahasa C

Object Oriented Programming (OOP)Pada tahun 1960, ditemukan program yang terstruktur (struktur programming). Metode ini dikembangkan dari Bahasa C dan Pascal. Dengan program yang terstruktur inilah untuk pertama kalinya kita mampu menulis program yang begitu sulit dengan lebih mudah.

OOP adalah suatu metode dalam pembuatan program yang bertujuan untuk menyelesaikan kompleksnya berbagai masalah program yang terus meningkat

Contoh kasus OOP“anggap saja kita mempunyai sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misalnya manager tersebut manager tersebut ingin memperoleh data dari bagian administrasi, maka manager tersebut tidak harus mengambilnya langsung tetapi dapat memerintahkan petugas administrasi untuk mengambilnya. Pada kasus tersebut seorang manajer tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manajer bisa mendapatkan data tersebut melalui objek petugas administrasi”

Pemrograman orientasi-objek menekankan konsep berikut:§ kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
 Objek – membungkus data dan§ fungsi bersama menjadi suatu unit dalam sebuah program komputer; objekmerupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

Konsep dasar dari OOP ada 3 yaitu :– Pewarisan (Intheritance)
Merupakan sifat dalam bahasa berorientasi objek yang memungkinkan sifat-sifat dari suatu class yang diturunkan ke class lain.
– Pengkapsulan (Encapsulation)
Penyembunyian informasi. Dapat juga diartikan dengan pengemasan data dan methoddalam wadah bernama objek. Konsep public dan private akan senantiasa digunakan dalam pengkapsulan. Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek, dengan cara yang tidak layak. Hanya method dalam objek yang diberi izin untuk mengakses keadaannya
– Polimerfisme
Istilah ini sendiri berasal dari kata Yunani yang berarti mempunyai banyak bentuk. Polimerfisme merupakan suatu konsep yang menyatakan sesuatu yang sama dapat memiliki berbagai bentuk perilaku yang berbeda. Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakkan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut.

Bahasa pemrograman yang mendukung OOP antara lain:1. Visual Foxpro
2. Java
3. C++
4. Visual Basic.NET
5. SIMULA
6. Smalltalk
7. Ruby
8. Python
9. PHP
10. Delphi
11. Eiffel
12. Perl

Perbedaan antara antara OOP dan pemrograman terstruktur


Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sedangkan untuk pemrograman terstruktur, menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur.

Untuk tata nama, keduanya pun memiliki tatanan yang sama walaupun memiliki pengertian tersendiri:
object oriented menggunakan “method” sedangkan terstruktur menggunakan “function”. Bila di OOP sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan ” modules”. Begitu pula halnya dengan “message” pada OO dan “argument” pada terstruktur. “attribute” pada OO juga memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman terstruktur.

Persamaan kedua pemrogaman adalah keduanya termasuk ke dalam pemodelan pemrograman yang digunakan dewasa ini.
Tidak ada yang dapat dikatakan lebih baik karena keduanya memiliki spesifikasi tersendiri dalam pemrogramannya. Hal ini juga tergantung pada bagaimana pribadi si pemrogram ingin menyusun program yang akan dibuatnya. Apakah lebih suka menggunakan yang berorientasikan pada objek maupun pemrograman yang terstruktur.
Pemrograman prosedural akan dikatakan lebih baik apabila dalam segala situasi melibatkan kompleksitas moderat atau yang memerlukan signifikan kemudahan maintainability. Manfaat yang dirasakan dalam penggunaan pemrograman prosedural adalah kemampuan kembali menggunakan kode yang sama tanpa menggunakan kode yang berbeda ataupun mengkopinya kembali. Dengan menggunakan “goto”, memudahkan programmer melacak kumpulan data sehingga menghindarkan pemrograman terstruktur menjadi seperti spagethii code.
Pemrograman berorientasikan objek dikatakan lebih baik apabila Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat

Dipublikasi di Uncategorized | Meninggalkan komentar