Download - PemrogramanTerstruktur-02.ppt
-
8/19/2019 PemrogramanTerstruktur-02.ppt
1/37
1
Pertemuan 2
Pemrograman Terstruktur
Gambaran Umum Komputer dan
Pemrograman
-
8/19/2019 PemrogramanTerstruktur-02.ppt
2/37
2
Komputer Elektronik
• Komputer pertama dibuat pada akhir tahun 1930oleh Dr !ohn "tanaso## dan $li##ord %err& di'o(a )tate Uni*ersit&
• Komputer +general,purpose- pertama diberi
nama E.'"$ selesai dibangun pada tahun 19/di Uni*ersit& o# Penns&l*ania denganpendanaan dari U) "rm&
• Teknologi )emikonduktor
-
8/19/2019 PemrogramanTerstruktur-02.ppt
3/37
3
• Elemen sistem komputer dikelompokkan
menadi dua 4ard(aretermasuk $entral Pro5essing Unit 6$PU78monitor8 ke&board8 printer8 dan lain,lain
)o#t(are• Tahap "(al8 pen&usunan program 6programming7
dilakukan dengan men&usun instruksi berupa deretanbilangan biner 60 dan 17
• )ekarang8 programming dilakukan dengan 5ara lebihmudah dengan menggunakan bahasa pemrogramantingkat tinggi8 seperti Pas5al8 $8 %asi58 dan lain,lain
-
8/19/2019 PemrogramanTerstruktur-02.ppt
4/37
-
8/19/2019 PemrogramanTerstruktur-02.ppt
5/37
:emori
• :emori terdiri atas ban&ak sel:asing,masing sel memiliki alamatdan isi
"lamat mengidenti#ikasi lokasisetiap sel di dalam memori 'si merepresentasikan data &ang
tersimpan dalam sel memori
-
8/19/2019 PemrogramanTerstruktur-02.ppt
6/37
• :emori utama men&impan baikprogram maupun data "da dua tipe
memori utama ;andom "55ess :emori 6;":7
;ead,
-
8/19/2019 PemrogramanTerstruktur-02.ppt
7/37
=
$entral Pro5essing Unit 6$PU7
• $PU memiliki dua peran :engkoordinasi semua operasi komputer
• Untuk memproses program &ang tersimpan di memoriutama8 $PU melakukan langkah,langkah berikut
menemput rangkaian instruksi sesuai dengan urutann&a
:enginterpretasikan instruksi dan menentukan apa saa &angseharusn&a dilakukan
:enemput data ika dibutuhkan
:elakukan manipulasi terhadap data dengan operasi &angsesuai
:elakukan operasi aritmetika dan logika•
-
8/19/2019 PemrogramanTerstruktur-02.ppt
8/37
>
Peralatan 'nput?
-
8/19/2019 PemrogramanTerstruktur-02.ppt
9/37
9
!aringan Komputer
• )eringkali beberapa komputer dihubungkan dalam suatu aringan komputer8sehingga user,user komputer bisa mengakses se5ara bersama hard disk8printer8 maupun resour5e &ang lain
• Komputer &ang mengontrol akses terhadap resour5e &ang digunakanse5ara bersama disebut ser*er
• !ika komputer,komputer &ang terhubung han&a men5akup area lokal8
misaln&a dalam satu gedung8 maka aringan tersebut disebut aringankomputer lokal 6lo5al area net(ork?A".7
• Komputer,komputer &ang terhubung bisa uga men5akup area di seluruhdunia8 misaln&a utaan komputer di seluruh dunia dapat mengakses se5arabersama sistem mail elektronik !aringan mendunia seperti ini disebutinternet
• Komputer di rumah pun bisa terhubung ke internet melalui modem dansaluran telepon :odem 6modulator?demodulator7 adalah alat &ang dapatmengkon*ersi data komputer biner ke dalam tone audio8 &ang selanutn&abisa ditransmisikan ke komputer lain melalui saluran telepon Di komputerpenerima8 data dikon*ersi oleh modem ke dalam bentuk data biner supa&abisa diproses lebih lanut
-
8/19/2019 PemrogramanTerstruktur-02.ppt
10/37
10
Gambaran Umum %ahasa
Pemrograman• %ahasa pemrograman &ang digunakan untuk menulis program
komputer dapat dikelompokkan menadi dua8 &aitu %ahasa mesin %ahasa tingkat tinggi
• %ahasa pemrograman &ang dimengerti oleh komputer adalah
bahasa mesin )etiap instruksi bahasa mesin terdiri dari rangkaianbilangan biner 0 dan 1 )ebagai 5ontoh8 untuk merepresentasikanrumus berikut
TotalBhargaBbarang C harga barang paak
Program bahasa mesin &ang harus ditulis adalah0010 0000 0000 0100
0100 0000 0000 0101
0011 0000 0000 0110
Pada 5ontoh instruksi di atas8 baik enis operasi &ang dilakukan maupunalamat dari data,data &ang digunakan8 semua din&atakan dalam bilanganbiner %ahasa seperti ini8 meskipun sangat mudah dipahami oleh komputer8tetapi sangat sulit dipahami oleh manusia
-
8/19/2019 PemrogramanTerstruktur-02.ppt
11/37
11
• Dalam bahasa tingkat tinggi8 instruksi,instruksi &angdigunakan mirip dengan bahasa &ang digunakanmanusia sehari,hari $ontoh instruksi dalam bahasatingkat tinggi
TotalBhargaBbarang C harga barang paak
'nstruksi tersebut berarti +:enambah nilai hargaBbarangdengan paak8 serta men&impan hasiln&a di dalamtotalBhargaBbarang-
Pada 5ontoh di atas8 enis operasi &ang dilakukan ditulisdengan simbol F8 dan alamat dari data &ang digunakandin&atakan dengan nama deskripti# 6hargaBbarang8paak8 totalBhargaBbarang7
• )uatu bahasa tingkat tinggi memiliki standard bahasa&ang mendeskripsikan aturan 6s&ntaH7 dari bahasatersebut )etiap instruksi &ang ditulis menggunakanbahasa tingkat tinggi harus mematuhi s&ntaH &ang telahditetapkan
-
8/19/2019 PemrogramanTerstruktur-02.ppt
12/37
12
BahasaTingkat
Tinggi
Tujuan Awal
$ Untuk menulis so#t(are sistem
$ Perluasan dari $ &ang uga mendukung pemrogramanberorientasi ob&ek
"da %ahasa &ang digunakan di Departemen Pertahanan "merikauntuk mengembangkan sistem terdistribusi real time
Aisp Untuk menulis aplikasi ke5erdasan buatan
Pas5al Untuk melatih pelaar menulis program se5ara hati,hati danterstruktur
Iortran Untuk menulis aplikasi teknik dan sains
%asi5 %ahasa sederhana untuk dipelaari di sekolah,sekolah
$obol Untuk menulis aplikasi pengolahan data bisnis
-
8/19/2019 PemrogramanTerstruktur-02.ppt
13/37
13
• Keban&akan bahasa pemrograman digunakan untuk
menulis so#t(are aplikasi8 &aitu so#t(are &angmelakukan tugas,tugas user )ebagai 5ontoh aplikasiperhitungan gai8 aplikasi pemesanan tiket pesa(at8 dll
• %ahasa $ dan $8 selain digunakan untuk menulisso#t(are aplikasi8 uga bisa digunakan untuk menulis
so#t(are sistem8 &aitu so#t(are &ang melakukan tugas,tugas &ang diperlukan agar operasi dari sistem komputerbisa beralan dengan baik
• Karena komputer han&a bisa mengerti bahasa mesin8
maka program &ang ditulis dalam bahasa tingkat tinggi6sour5e program?program sumber7harus ditranslasi kedalam bahasa mesin 6obe5t program?program obek7sebelum dieksekusi
-
8/19/2019 PemrogramanTerstruktur-02.ppt
14/37
T 'n#ormatika8 PTB1 1/
Langkah-Langkah Penyiapan Program
dalam BTT
Menulis program dan menyimpannya
sebagai source fle (fle sumber)
Compiler mentranslasi program
Linker menggabungkan fle obek yang baru dengan fle!fle obek yang lain
Loader menempatkan flee"ecutable ke dalam memori
#ile Sumber
#ile Obek baru
#ile $"ecutable
#ile Obek lain
%e&isi #ileSumber
Program e"e!cutable adadi memori
Pembetulan synta" erro
'atar kesalaan
-
8/19/2019 PemrogramanTerstruktur-02.ppt
15/37
T 'n#ormatika8 PTB1 1
Langkah-Langkah Penyiapan Program
dalam BTT
Menulis program dan menyimpannya
sebagai source fle (fle sumber)
Compiler mentranslasi program
Linker menggabungkan fle obek yang baru dengan fle!fle obek yang lain
Loader menempatkan flee"ecutable ke dalam memori
#ile Sumber
#ile Obek baru
#ile $"ecutable
#ile Obek lain
%e&isi #ileSumber
Program e"e!cutable adadi memori
Pembetulan synta" erro
'atar kesalaan
Menggunakan programeditor*pengola kata
-
8/19/2019 PemrogramanTerstruktur-02.ppt
16/37
T 'n#ormatika8 PTB1 1
Langkah-Langkah Penyiapan Program
dalam BTT
Menulis program dan menyimpannya
sebagai source fle (fle sumber)
Compiler mentranslasi program
Linker menggabungkan fle obek yang baru dengan fle!fle obek yang lain
Loader menempatkan flee"ecutable ke dalam memori
#ile Sumber
#ile Obek baru
#ile $"ecutable
#ile Obek lain
%e&isi #ileSumber
Program e"e!cutable adadi memori
Pembetulan synta" erro
'atar kesalaan
Menggunakanprogramcompiler
-
8/19/2019 PemrogramanTerstruktur-02.ppt
17/37
T 'n#ormatika8 PTB1 1=
Langkah-Langkah Penyiapan Program dalam
BTT
Menulis program dan menyimpannya
sebagai source fle (fle sumber)
Compiler mentranslasi program
Linker menggabungkan fle obek yang baru dengan fle!fle obek yang lain
Loader menempatkan flee"ecutable ke dalam memori
#ile Sumber
#ile Obek baru
#ile $"ecutable
#ile Obek lain
%e&isi #ileSumber
Program e"e!cutable adadi memori
Pembetulan synta" erro
'atar kesalaan
Menggunakan prograeditor*pengola kata
-
8/19/2019 PemrogramanTerstruktur-02.ppt
18/37
1>
Langkah-Langkah Penyiapan Program dalam BTT
Menulis program dan menyimpannya
sebagai source fle (fle sumber)
Compiler mentranslasi program
Linker menggabungkan fle obek yang baru dengan fle!fle obek yang lain
Loader menempatkan flee"ecutable ke dalam memori
#ile Sumber
#ile Obek baru
#ile $"ecutable
#ile Obek lain
%e&isi #ileSumber
Program e"e!cutable adadi memori
Pembetulan synta" erro
'atar kesalaan
Menggunakanprogramcompiler
-
8/19/2019 PemrogramanTerstruktur-02.ppt
19/37
19
Langkah-Langkah Penyiapan Program dalam BTT
Menulis program dan menyimpannya
sebagai source fle (fle sumber)
Compiler mentranslasi program
Linker menggabungkan fle obek yang baru dengan fle!fle obek yang lain
Loader menempatkan flee"ecutable ke dalam memori
#ile Sumber
#ile Obek baru
#ile $"ecutable
#ile Obek lain
%e&isi #ileSumber
Program e"e!cutable adadi memori
Pembetulan synta" erro
'atar kesalaanMenggunakanprogram
linker
-
8/19/2019 PemrogramanTerstruktur-02.ppt
20/37
T 'n#ormatika8 PTB1 20
Langkah-Langkah Penyiapan Program dalam BTT
Menulis program dan menyimpannya
sebagai source fle (fle sumber)
Compiler mentranslasi program
Linker menggabungkan fle obek yang baru dengan fle!fle obek yang lain
Loader menempatkan flee"ecutable ke dalam memori
#ile Sumber
#ile Obek baru
#ile $"ecutable
#ile Obek lain
%e&isi #ileSumber
Program e"e!cutable adadi memori
Pembetulan synta" erro
'atar kesalaan
Menggunakanprogramloader
-
8/19/2019 PemrogramanTerstruktur-02.ppt
21/37
21
• Dalam %orland $8 semua program &ang
dibutuhkan untuk men&usun #ile
eHe5utable dengan menggunakan %TT
sudah tersedia dalam suatu lingkunganpengembangan program &ang terpadu
6integrated de*elopment en*ironment7
-
8/19/2019 PemrogramanTerstruktur-02.ppt
22/37
22
"liran 'n#ormasi )elama Eksekusi
Program
Program baasa mesinuntuk mengitungtagian air
'ata dimasukkan padasaat eksekusi program
+asil peritungan
CPU'ata input,+asil pembacaanmeteran
'ata output,-iaya .agianair
Memori
-
8/19/2019 PemrogramanTerstruktur-02.ppt
23/37
23
:etode Pengembangan
)o#t(are
• Pemrograman adalah suatu akti#itas peme5ahanmasalah
• :etode peme5ahan masalah dibahas pada berbagaibidang
• Aangkah,langkah dalam metode pengembanganso#t(are1 :enspesi#ikan kebutuhan masalah
2 :enganalisis masalah
3 :eran5ang?mendesign algoritma untuk
men&elesaikan masalah/ :engimplementasikan algoritma
:entest dan mem*eri#ikasi program
:emelihara dan meng,update program
-
8/19/2019 PemrogramanTerstruktur-02.ppt
24/37
2/
1 )pesi#ikasi :asalah
• Kita harus dapat menspesi#ikasikan masalahdengan elas dan tidak umbiguous dan memilikipemahaman &ang elas mengenai apa &angdiperlukan untuk men&elesaikan masalahtersebut
• Kita harus dapat mengeliminasi aspek,aspek&ang tidak penting dari masalah
• Dalam langkah ini8 kita mungkin membutuhkanin#ormasi dari orang,orang &ang terlibat dalammasalah tersebut
-
8/19/2019 PemrogramanTerstruktur-02.ppt
25/37
2
2 "nalisis
• Kita harus dapat mengidenti#ikasi masalah berkaitandengan 'nput
-
8/19/2019 PemrogramanTerstruktur-02.ppt
26/37
2
• $ontoh
Problem 4itung dan tampilkan total harga apel ika umlah kg
apel &ang dibeli dan harga perkg apel diketahuiAnalisis
J
Input
J
OutputJ
Solusi
• Proses pemodelan suatu masalah dengan 5ara mengekstrak*ariabel,*ariabel penting dan hubungan di antara *ariabel,*ariabel disebut
-
8/19/2019 PemrogramanTerstruktur-02.ppt
27/37
2=
3 Design
• Dalam tahap design8 kita men&usun algoritma danmem*eri#ikasi apakah algoritme &ang kita susundapat men&elesaikan masalah sesuai dengan &angkita inginkan
• !angan berusaha se5ara langsung untuk
men&elesaikan masalah se5ara detail pada saatmeran5ang algoritme Gunakan pendekatan topdo(n design 6disebut uga di*ide and 5onuer78&aitu pendekatan &ang dimulai dengan menda#tarlangkah,langkah utama atau submasalah &ang
diperlukan untuk men&elesaikan masalah utama8selanutn&a diikuti dengan men&usun pen&elesaianuntuk setiap submasalah
-
8/19/2019 PemrogramanTerstruktur-02.ppt
28/37
T 'n#ormatika8 PTB1 2>
• 4ampir setiap algoritme komputer terdiri dari
submasalah berikut :emasukkan data :elakukan perhitungan :enampilkan hasil
• Proses pen&usunan langkah,langkah pen&elesaianuntuk setiap submasalah &ang berhasil diidenti#ikasidisebut penghalusan algoritme 6algorithmre#inement7
• Untuk mem*eri#ikasi algoritme dilakukan desk5he5king8 &aitu pemeriksaan setiap langkah dalamalgoritme dengan 5ara mensimulasikan hasileksekusi algoritme dengan perhitungan manual
-
8/19/2019 PemrogramanTerstruktur-02.ppt
29/37
T 'n#ormatika8 PTB1 29
/ 'mplementasi
• Pada tahap ini dilakukan penulisan
program8 &aitu mengkon*ersi algoritme
&ang disusun pada tahap sebelumn&a ke
dalam bahasa pemrograman &ang dipilih
-
8/19/2019 PemrogramanTerstruktur-02.ppt
30/37
T 'n#ormatika8 PTB1 30
Testing
• )etelah program sudah bisa dieksekusi8
dilakukan pengetesan program dengan
berbagai ma5am data8 sehingga bisa
di*eri#ikasi bah(a program sudah bekerasesuai dengan kebutuhan pada berbagai
situasi &ang mungkin dihadapi oleh
program
-
8/19/2019 PemrogramanTerstruktur-02.ppt
31/37
T 'n#ormatika8 PTB1 31
Pemeliharaan 6maintenan5e7
• Pemeliharaan dan peng,update,an program men5akupmodi#ikasi program untuk menghilangkan error &angsebelumn&a tidak terdeteksi dan untuk menaga agarprogram tetap up,to,date 6sesuai7 dengan kebiakanpemerintah ataupun dengan perubahan kebiakan
oganisasi
• %eberapa organisasi melakukan pemeliharaan programsetiap tahun sekali atau lebih8 dan seringkalipemeliharaan program dilakukan oleh orang &angsebelumn&a tidak terlibat dalam pengembanganprogram tersebut
-
8/19/2019 PemrogramanTerstruktur-02.ppt
32/37
-
8/19/2019 PemrogramanTerstruktur-02.ppt
33/37
33
• Design
"lgoritme a(al 1 :asukkan arak dalam mil
2 Kon*ersi arak dari mil ke kilometer
3 Tampilkan hasil dalam kilometer
Penghalusan algoritme
1 :asukkan arak dalam mil
2 Kon*ersi arak dari mil ke kilometer
21 !arak dalam kilometer adalah 109 kali arak dalam mil
3 Tampilkan hasil dalam kilometer
$ontoh desk 5he5k terhadap algoritma Pada langkah 18 dimasukkan arak 10 mil8 langkah 21akan mengkon*ersin&a menadi 109 H 10 menadi109 kilometer 4asil ini akan ditampilkan di langkah 3
-
8/19/2019 PemrogramanTerstruktur-02.ppt
34/37
T 'n#ormatika8 PTB1 3/
• 'mplementasi ?N Kon*ersi arak dari mil ke kilometer N?
Oin5lude stdiohM ?N de#inisi print#8 s5an# N?
Oin5lude K:BPE;B:'A 109 ?Nkonstanta kon*ersi N?
int main6*oid7 Qdouble mil8 ?Ninput arak dalam milN?
km ?Noutput arak dalam kmN?
?N memasukkan arak dalam mil N?
print#6+:asukkan arak dalam mil +7s5an#6+Rl#-8 Smil7
?N kon*ersi arak ke kilometer N?
km C K:BPE;B:'A N mil
?N tampilkan arak dalam kilometer N?
print#6+4asil kon*ersi adalah Rl# kilometern-8 km7
return607
$ontoh hasil runing program :asukkan arak dalam mil 1000
4asil kon*ersi adalah 1090000 kilometer
-
8/19/2019 PemrogramanTerstruktur-02.ppt
35/37
T 'n#ormatika8 PTB1 3
• PengetesanUntuk mem*eri#ikasi bah(a program
sudah beralan sesuai dengan kebutuhan8
5obalah mentest program denganmemasukkan beberapa arak dalam mil
&ang lain
-
8/19/2019 PemrogramanTerstruktur-02.ppt
36/37
T 'n#ormatika8 PTB1 3
)tudi Kasus
• Problem
)uatu dealer min&ak menampung min&ak ualann&a didalam drum,drum )ementara semua pembeli selalumembeli min&ak dengan memba(a (adah &ang samaberupa erigen Pemilik dealer agak kesulitan untukmenghitung harga min&ak &ang dibeli oleh pembeli8karena pembeli selalu membeli min&ak dengan satuan
erigen 6misaln&a 3 erigen8 atau 3 erigen78 sementaraharga ual &ang diketahui adalah rupiah per drum8 &aitu100000 rupiah per drum Diketahui bah(a 1 erigen
isin&a sama dengan 1?20 drum %isakah andamembantu pemilik dealer untuk memudahkanperhitungan harga total min&ak &ang diual ke setiappembeliJ
-
8/19/2019 PemrogramanTerstruktur-02.ppt
37/37
T 'n#ormatika PT 1 3=
;e#erensi
• %ab 18 +