BAB 1
PENGENALAN BAHASA PEMROGRAMAN KOMPUTER
1.Pengenalan bahasa pemograman
A.
Definisi Bahasa Pemrograman
Bahasa Pemrograman adalah serangkaian tugas yang diwujudkan dalam bentuk source
code atau kode program yang berfungsi untuk menyelesaikan suatu masalah yang
mengarah menjadi sebuah program atau aplikasi komputer.
Bahasa pemrograman juga dapat didefinisikan sebagai teknik komunikasi standar
untuk mengirimkan atau mengekspresikan perintah dari seorang programmer kepada
komputer. Bahasa pemrograman tidak jauh berbeda dengan bahasa manusia, yaitu
memiliki aturan-aturan tertentu dan tata tulis.
Bahasa pemrograman diklasifikasikan kedalam Bahasa Tingkat Rendah, Bahasa
Tingkat Menengah, Bahasa Tingkat Tinggi. Dapat kita lihat jika bahasa
pemrograman hadir di tengah-tengah manusia mulai dari rendah, menengah, dan
tinggi, itu terjadi karena ada pergeseran perubahan bahasa program dari pertama
kali ditemukannya bahasa program sampai sekarang yang semakin berkembang
mendekati bahasa manusia dan lebih mudah dimengerti oleh manusia.
- a. Bahasa Pemrograman Tingkat Rendah
Bahasa Pemrograman Tingkat Rendah
adalah bahasa program generasi pertama, kategori ini masih sangat sulit
dimengerti oleh manusia. Karena masih jauh berbeda dengan bahasa manusia,
dimana dalam bahasa ini urutan instruksinya masih menggunakan bahasa mesin atau
assembly. Assembly merupakan bahasa dengan pemetaan satu persatu terhadap
instruksi komputer. Setiap urutan instruksi assembly diterjemahkan dengan
menggunakan assembler.
- b. Bahasa Pemrograman Tingkat Menengah
Bahasa pada kategori ini mulai
memudahkan manusia untuk memahami bahasa program. Karena penggunaan perintahnya
sudah mendekati bahasa sehari-hari yang dipakai manusia, tetapi masih sulit
untuk dipelajari oleh para pemula karena masih banyak menggunakan
singkatan-singkatan dalam penulisannya. Contoh MOV artinya pindah yang berasal
dari kata (MOVE). Bahasa pada Fortran masih menggunakan bahasa ini.
- c. Bahasa Pemrograman Tingkat Tinggi
Disebut bahasa tingkat tinggi karena
pada kategori ini bahasa program yang mulanya sulit dimengerti oleh manusia ,
pada bahasa tingkat tinggi ini diperbaharui menjadi bahasa yang
pengaplikasiaannya lebih mendekati bahasa manusia sehari-hari. Sebuah
pernyataan program diterjemahkan kepada bahasa mesin dengan menggunakan
compiler.
Contoh bahasa program yang tergolong
bahasa tingkat tinggi : C++, Java, VB.Net.
*
Bahasa pemrograman pada komputer terdiri dari 2 jenis bahasa program.yaitu
Bahasa Prosedural dan Bahasa Pemrograman Berorientasi Objek atau disebut
OOP(Object Oriented Progamming).
- 1. Bahasa Prosedural
Bahasa Prosedural adalah
menyelesaikan program atau menulis suatu code program dengan urutan-urutan atau
instruksi perintah(Step by Step). Tidak dibenarkan melompat dari satu perintah
sebelum menyelesaikan perintah sebelumnya. Bahasa prosedural ini dituntut
kepada seorang programmer bagaimana untuk memecahkkan suatu masalah menjadi
bagian-bagian masalah yang lebih sederhana. Fungsi dan Prosedur menjadi fokus
utama dalam penyelesaian menggunakan bahasa prosedural, dimana fungsi dan
prosedur digunakan sebagai manipulasi data yang bersifat pasif.
- 2. OOP(Object Oriented Programming)
Cara pandang Pemrograman Berorientasi Objek(OOP) adalah
serangkaian tugas tidak diselesaikan dalam bentuk prosedur, melainkan
serangkaian objek bekerjasama untuk menyelesaikan suatu masalah. Fungsi dan
data bukanlah menjadi dua hal yang terpisah melainkan fungsi dan data menjadi
satu kesatuan yang disebut sebagai objek aktif.
2.struktur bahasa pemrograman
2.struktur bahasa pemrograman
Secara
ringkas, struktur suatu bahasa pemrograman Pascal dapat terdiri dari :
1.
Judul Program
2. Tubuh Program
Tubuh program dibagi menjadi dua bagian utama :
2. Tubuh Program
Tubuh program dibagi menjadi dua bagian utama :
a.
Bagian deklarasi
· deklarasi label
· deklarasi konstanta
· deklarasi tipe
· deklarasi variabel/perubah
· deklarasi prosedur
· deklarasi fungsi
b.
Bagian Pernyataan/Terproses
Cat : baris-baris komentar untuk memperjelas program
diletakkan diantara tanda (*
dan *) atau { dan }
.
1. Judul program
Judul program ini digunakan untuk
memberi nama program dan sifatnya optional. Jika ditulis harus terletak pada
awal dari program dan diakhiri dengan titik koma (;). Contoh penulisan judul program :
PROGRAM latihan;
PROGRAM latihan(input,output);
PROGRAM lat_1;
PROGRAM lat_satu(output);
2.
Bagian Pernyataan/Terproses
Bagian ini adalah bagian yang akan
terproses dan terdapat dalam suatu blok yang diawali dengan BEGIN dan diakhiri
dengan END (penulisan END diikuti dengan tanda titik). Bagian ini berisi
pernyataan / statamen yang merupakan instruksi program. Setiap statemen
diakhiri dengan tanda titik koma (;). Bentuk umumnya adalah sbb :
BEGIN
...
statemen;
statemen;
...
END.
3.
Bagian deklarasi
Bagian ini
menjelaskan / memperkenalkan secara rinci semua data yang akan digunakan pada
suatu program. Dalam penulisannya tidak boleh sama dengan kata-kata cadangan
(reserved words) dan selalu diakhiri dengan titik koma (;).
Deklarasi
label
Deklarasi label
digunakan Jika pada penulisan program akan menggunakan statemen GOTO (untuk
meloncat ke suatu statement tertentu).
Deklarasi
konstanta
Deklarasi
ini digunakan untuk mengidentifikasikan data yang nilainya
sudah
ditentukan dan pasti, tidak dapat dirubah dalam program.
Deklarasi
tipe
Deklarasi
ini digunakan untuk menyebutkan tipe setiap data yang akan digunakan pada
program Pascal. Tipe data menentukan jangkauan nilai yang mungkin dari data
yang digunakan
Deklarasi
variabel/perubah
Deklarasi
ini berisi data-data yang bisa berubah-ubah nilainya di dalam program.
Deklarasi variabel harus di letakkan setelah deklarasi tipe (jika ada).
Deklarasi
prosedur dan Fungsi
Program
dapat dibagi menjadi beberapa bagian/subprogram, yang terdiri dari satu program
utama dan satu / lebih program bagian (bisa berupa prosedur / fungsi).
Deklarasi prosedure/ fungsi terletak pada subprogram yang menggunakannya
2.1.5.
Unsur-unsur pemrograman pascal adalah
sebagai berikut
a. Mendapatkan data dengan membaca data
dari default input ( keyboard, file atau sumber data lainnya
)
b. Menyimpan data ke dalam memori
dengan struktur data yang sesuai
c. Memproses data dengan instruksi yang
tepat
d. Menyajikan atau mengirimkan hasil
olahan data ke default output ( monitor,
file atau tujuan lainnya )
2.1.6.
Dalam mengolah data diperlukan pengelolaan instruksi terstruktur yaitu:
a. Beberapa instruksi dikelompokkan
dalam satu blok atau model yang mengerjakan tugas tertentu
b. Beberapa perintah
c. Beberapa perintah dilaksanakan
berulang dengan jumlah pengulangan tertentu.
Identifier digunakan untuk nama: Program, Sub-program ( procedure dan function ), nama : variable,
constant, type, label. Nama-nama
ini digunakan untuk pemakaian dan pemanggilan dalam program. Ketentuan penulisan identifier adalah :
a. Nama identifier harus dimulai dengan karakter huruf alphabet : a sampai
z, A sampai Z atau karakter ‘_’ (underscore
– garis bawah)
b. Karakter berikutnya adalah karakter
numerik (0 .. 9) atau kombinasi alphanumerik (huruf-numerik)
c. Panjang nama, pada berbagai versi pascal umumnya antara 32 – 63
d. Tidak boleh menggunakan karakter istimewa: + – * / \ = <> [ ] . , ; : ( ) ^ @ { }
$ # ~ ! % & ` ” ‘ dan ?
3.standar input dan output dalam bahasa pemrograman
3.standar input dan output dalam bahasa pemrograman
1.standar output dalam bahasa
Bahasa C menggunakan fungsi-fungsi
untuk menampilkan hasil (output).
Hasil atau output program tersebut umumnya ditampilkan di layar monitor,dicetak
oleh printer,atau di simpan ke dalam file tertentu. Fungsi-fungsi yg di gunakan
untuk menampilkan hasil terdapat pada file library stdio .h, sehingga kita
perlu mengikut sertakannya dalam kode program di bagian header file.
Fungsi-fungsi yang di gunakan untuk
menampilkan hasil layar antara lain puts()
dan printf() fungsi puts() di gunakan untuk menampilkan
hasil dlm bentuk yang sederhana. Perhatikan contoh penggunaannya pada kode
program brikut.
/* pengguna puts*/
#include<stdio.h>
Int main(){
Puts(“nomortelepon rumahku:”);
Puts(“1234567890”);
Retrun 0;
}
|
Fungsi printf()di gunakan untuk menampilkan
hasil dalam format tertentu. Fungsi printf() umumnya di gunakan untuk
menampilkan hasil yang lebih rumit. Perhatikan contoh penggunaannya pada kode
program berikut.
/*pengguna printf*/
#include<stdio.h>
Int main(){
Printf(“nomortelepon rumahku:”);
Printf(“1234567890”);
Retrun 0;
}
|
Apabila program tersebut dieksekusi maka akan muncul tampilan sebagai berikut
Perhatikan bahwa
meskipun kedua kalimat dituliskan dalam perintah pada baris yang berbeda,namun
pada tampilan hasil dilayar menjadi 1 baris. Inilah salah satu perbedaan hasil
yang ditampilkan fungsi puts() dan printf().penggunaan fungsi printf() lebih lanjut akan kamu pelajari
pada bab berikutnya.
2.standar input dalam bahasa pemrograman
Pada program yang bersifat
interaktif,diperlukan input atau masukan dari pengguna program untuk menentukan
output atau hasil yang dikehendaki pengguna tersebut.bahasa C menyediakan pula fasilitas untuk menerima
masukan dari pengguna program dengan menggunakan fungsi-fungsi
tertentu.fungsi-fungsi untuk menerima masukan dari pengguna ini ada di dalam
file library stdio.h.fungsi yang dapat digunakan antara lain scanf(),dengan format penulisan antara
lain ditunjukkan pada tabel 3.4 berikut.
Tabel 3.5
format penulisan fungsi scanf()
Format penulisan
|
Kegunaan
|
Scanf(“%d”,&variabel)
|
Memasukkan masukan berupa bilangan
bulat (integer)
|
Scanf(“%f”,&variabel)
|
Memasukkan masukan berupa bilangan
desimal (float)
|
Scanf(“%c”,&variabel)
|
Memasukkan masukan berupa bilangan
huruf (karakter)
|
Perhatikan bahwa,penggunaan fungsi untuk menerima masukan dari pengguna
harus disertai dengan deklarasi variabel untuk menampung nilai masukan
tersebut.deklarasi variabel ditulis paling atas sebagai pernyataan pertama
dalam sebuah fungsi.
Penggunaan fungsi scanf() umumnya dikombinasikan dengan printf() untuk menampilkan nilai dari
variabel yang digunakan untuk menampung masukan.nilai variabel tersebut dapat
ditampilkan dengan menambahkan parameter tertentu sesuai dengan tipe
datanya.perhatikan format penulisannya pada tabel 3.6
Tabel 3.6 format penulisan fungsi printf()
untuk menampilkan nilai variabel
Format penulisan
|
Kegunaan
|
Printf(“%d,&variabel)
|
Menampilkan nilai variabel berupa
bilangan bulat(integer)
|
Printf(“%f”,&variabel)
|
Menampilkan nilai variabel berupa bilangan
desimal(float)
|
Printf(“%c”,&variabel)
|
Menampilkan nilai variabel berupa
bilanagn huruf(karakter)
|
Perhatikan contoh penggunaan fungsi scanf() pada kode program berikut.
/*pengguna scanf*/
#include<stdio.h>
Int main(){
Int bil1; /* deklarasi variabel
untukmasukan */
Printf(“masukkan sebuah bilangan:”);
Printf(“%d”,&bil1);
Printf(“bilangan yang dimasukkan adalah%d”,bil1);
Return 0;
}
|
Apabila program diatas
dieksekusi maka hasilnya adalah sepoerti beriku
Masukan
sebuah bilangan: _
Terdapat tanda kursor berkedip
sebagai penanda menunggu masukan dari pengguna.misalkan kita ketik angka 5 lalu
menekan tombol enter maka dibawahnya akan muncul kalimat seperti berikut
4.kompilasi program dan perbaikan kesalahan
4.kompilasi program dan perbaikan kesalahan
1
.pengertian kompilasi
Kompilasi : Proses mengabungkan
serta menterjermahkan sesuatu
(source program) menjadi bentuk lain
Compile : To translate a program written in a high-level programming language into machine language.
Translator : Compiler & Interpreter
Translator : Adalah suatu program dimana mengambil input sebuah program yang ditulis pada satu bahasa program (source language) ke bahasa lain (The object on target language)
Jika source language adalah high level language, seperti cobol, pascal, fortran maka object language adalah low-level language atau mesin language. Translator seperti ini disebut COMPILER
Kenapa perlu Translator ?
-Dengan bahasa mesin adalah bahasa bentuk bahasa terendah komputer, berhubungan langsung dengan bagian bagian komputer seperti bits, register & sangat primitive
-Jawaban atas pertanyaan ini akan membingungkan bagi programmer yang membuat program dengan bahasa mesin.
-Bahasa mesin adalah tidak lebih dari urutan 0 dan 1
-Instruksi dalam bahasa mesin bisa saja dibentuk menjadi micro-code, semacam prosedur dalam bahasa mesin
-Bagaimana dengan orang tidak mengerti bahasa mesin
Ada Beberapa Translator
1. Assembler
Source code adalah bahasa assembly, Object code adalah bahasa mesin
*.asm –>assembler–>object code (*.exe/*.com)
2. Compiler
Source code adalah bahasa tingkat tinggi, object code adalah bahasa mesin atau bahasa assembly. Source code dan data diproses berbeda
3. Interpreter
Interpreter tidak menghasilkan bentuk object code, tetapi hasil translasinya hanya dalam bentuk internal, dimana program induk harus selalu ada-berbeda dengan compiler
COMPILER vs INTERPRETER
Compiler bisa menangkap berbagai kesalahan dalam 1 program kode sumber secara sekaligus. Kalau Interpreter cuma bisa menangkap beberapa kesalahan pada 1 baris kode sumber pada suatu saat
Biasanya program yang dihasilkan compiler lebih cepat dari waktu pelaksanaan program dengan interpreter.
Kalau compiler menghasilkan kode antara (misal object code) dan harus digabungkan / dilink menjadi bentuk yang dapat dijalankan mesin / komputer (executable). Kalau Interpreter biasanya tidak menghasilkan kode antara.
Kalau hendak menjalankan program hasil kompilasi bisa dilakukan tanpa kode sumber. Kalau interpreter butuh kode sumber
Kalau dengan kompiler, maka pembuatan kode yang bisa dijalankan mesin dilakukan dalam 2 tahap terpisah, yaitu parsing / pembuatan kode objek dan linking / penggabungan kode objek dengan library. Kalau interpreter tidak ada proses terpisah.
Kalau compiler membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Kalau interpreter tidak butuh linker.
Interpreter cocok untuk membuat / menguji coba modul / sub-routine / program-program kecil. Kalau compiler agak repot karena untuk mengubah suatu modul / kode objek kecil, maka harus dilakukan proses linking / penggabungan kembali semua objek dengan library yang diperlukan.
Pada kompiler bisa dilakukan optimisasi / peningkatan kwalitas kode yang bisa dijalankan. Ada yang dioptimasi supaya lebih cepat, ada yang supaya lebih kecil, ada yang dioptimasi untuk sistem dengan banyak processor. Kalau interpreter susah / tidak bisa dioptimasikan
Proses kompilasi dikelompokkan ke dalam dua kelompok besar :
1.analisa : program sumber dipecah-pecah dan dibentuk menjadi bentuk antara (inter-mediate representation)
2.sintesa : membangun program sasaran yang diinginkan dari bentuk
Penganalisa Leksikal
membaca program sumber, karakter demi karakter. Sederetan (satu atau lebih) karakter dikelompokkan menjadi satu kesatuan mengacu kepada pola kesatuan kelompok karakter (token) yang ditentukan dalam bahasa sumber. Kelompok karakter yang membentuk sebuah token dinamakan lexeme untuk token tersebut. Setiap token yang dihasilkan disimpan di dalam tabel simbol. Sederetan karakter yang tidak mengikuti pola token akan dilaporkan sebagai token tak dikenal (unidentified token)
Penganalisa Sintaks
memeriksa kesesuaian pola deretan token dengan aturan sintaks yang ditentukan dalam bahasa sumber. Sederetan token yang tidak mengikuti aturan sintaks akan dilaporkan sebagai kesalahan sintaks (sintax error). Secara logika deretan token yang bersesuaian dengan sintaks tertentu akan dinyatakan sebagai pohon parsing (parse tree)
Penganalisa Semantik
memeriksa token dan ekspresi dari batasan-batasan yang ditetapkan. Batasan-batasan tersebut misalnya :
a. panjang maksimum token identifier adalah 8 karakter,
b. panjang maksimum ekspresi tunggal adalah 80 karakter,
c. nilai bilangan bulat adalah -32768 s/d 32767,
d. operasi aritmatika harus melibatkan operan-operan yang bertipe sama
Pembangkit Kode Antara
membangkitkan kode antara (intermediate code) berdasar-kan pohon parsing. Pohon parse selanjutnya diterjemahkan oleh suatu penerjemah yang dinamakan penerjemah berdasarkan sintak (syntax-directed translator). Hasil penerjemahan ini biasanya merupakan perintah tiga alamat (three-address code) yang merupakan representasi program untuk suatu mesin abstrak. Perintah tiga alamat bisa berbentuk quadruples (op, arg1, arg2, result), tripels (op, arg1, arg2). Ekspresi dengan satu argumen dinyatakan dengan menetapkan arg2 dengan – (strip, dash)
Pengoptimal kode
melakukan optimasi (penghematan space dan waktu komputasi), jika mungkin, terhadap kode antara
Pembangkit Kode Mesin
membangkitkan kode dalam bahasa target tertentu (misalnya bahasa mesin)
Pembuatan compiler
Bahasa mesin
-Sangat sukar dan sangat sedikit kemungkinannya untuk membuat compiler dengan bahasa ini, karena manusia susah mempelajari bahasa mesin,
-Sangat tergantung pada mesin,
-Bahasa Mesin kemungkinan digunakan pada saat pembuatan Assembler
Assembly
-Hasil dari program mempunyai Ukuran yang relatif kecil
-Sulit dimengerti karena statement/perintahnya singkat-singkat, butuh usaha yang besar untuk membuat
-Fasilitas yang dimiliki terbatas
Bahasa Tingkat Tinggi (high level language)
-Lebih mudah dipelajari
-Fasilitas yang dimiliki lebih baik (banyak)
-Memiliki ukuran yang relatif besar, misal membuat compiler pascal dengan menggunakan bahasa C
-Untuk mesin yang berbeda perlu dikembangkan tahapan-tahapan tambahan.
-Misal membuat compiler C pada Dos bedasarkan compiler C pada unix
Bahasa Tingkat Tinggi (Pemrograman )
-Bahasa yang lebih dikenal oleh manusia, maksudnya adalah statement yang digunakan menggunakan bahasa yang dipakai oleh manusia (inggris),
-Bahasa pemrograman didefinisikan dengan menentukan bentuk programnya (sintak) dan arti programnya (semantik)
-Memberikan fasilitas yang lebih banyak, seperti struktur kontrol program yang terstruktur, blok-blok serta prosedur dan fungsi-fungsi
-Progam mudah untuk di koreksi (debug)
-Tidak tergantung pada salah satu mesin
-Kontrol struktur seperti : kondisi (if .. Then.. Else ),
perulangan (For, while ), Struktur blok (begin.. End { .. } )
(source program) menjadi bentuk lain
Compile : To translate a program written in a high-level programming language into machine language.
Translator : Compiler & Interpreter
Translator : Adalah suatu program dimana mengambil input sebuah program yang ditulis pada satu bahasa program (source language) ke bahasa lain (The object on target language)
Jika source language adalah high level language, seperti cobol, pascal, fortran maka object language adalah low-level language atau mesin language. Translator seperti ini disebut COMPILER
Kenapa perlu Translator ?
-Dengan bahasa mesin adalah bahasa bentuk bahasa terendah komputer, berhubungan langsung dengan bagian bagian komputer seperti bits, register & sangat primitive
-Jawaban atas pertanyaan ini akan membingungkan bagi programmer yang membuat program dengan bahasa mesin.
-Bahasa mesin adalah tidak lebih dari urutan 0 dan 1
-Instruksi dalam bahasa mesin bisa saja dibentuk menjadi micro-code, semacam prosedur dalam bahasa mesin
-Bagaimana dengan orang tidak mengerti bahasa mesin
Ada Beberapa Translator
1. Assembler
Source code adalah bahasa assembly, Object code adalah bahasa mesin
*.asm –>assembler–>object code (*.exe/*.com)
2. Compiler
Source code adalah bahasa tingkat tinggi, object code adalah bahasa mesin atau bahasa assembly. Source code dan data diproses berbeda
3. Interpreter
Interpreter tidak menghasilkan bentuk object code, tetapi hasil translasinya hanya dalam bentuk internal, dimana program induk harus selalu ada-berbeda dengan compiler
COMPILER vs INTERPRETER
Compiler bisa menangkap berbagai kesalahan dalam 1 program kode sumber secara sekaligus. Kalau Interpreter cuma bisa menangkap beberapa kesalahan pada 1 baris kode sumber pada suatu saat
Biasanya program yang dihasilkan compiler lebih cepat dari waktu pelaksanaan program dengan interpreter.
Kalau compiler menghasilkan kode antara (misal object code) dan harus digabungkan / dilink menjadi bentuk yang dapat dijalankan mesin / komputer (executable). Kalau Interpreter biasanya tidak menghasilkan kode antara.
Kalau hendak menjalankan program hasil kompilasi bisa dilakukan tanpa kode sumber. Kalau interpreter butuh kode sumber
Kalau dengan kompiler, maka pembuatan kode yang bisa dijalankan mesin dilakukan dalam 2 tahap terpisah, yaitu parsing / pembuatan kode objek dan linking / penggabungan kode objek dengan library. Kalau interpreter tidak ada proses terpisah.
Kalau compiler membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Kalau interpreter tidak butuh linker.
Interpreter cocok untuk membuat / menguji coba modul / sub-routine / program-program kecil. Kalau compiler agak repot karena untuk mengubah suatu modul / kode objek kecil, maka harus dilakukan proses linking / penggabungan kembali semua objek dengan library yang diperlukan.
Pada kompiler bisa dilakukan optimisasi / peningkatan kwalitas kode yang bisa dijalankan. Ada yang dioptimasi supaya lebih cepat, ada yang supaya lebih kecil, ada yang dioptimasi untuk sistem dengan banyak processor. Kalau interpreter susah / tidak bisa dioptimasikan
Proses kompilasi dikelompokkan ke dalam dua kelompok besar :
1.analisa : program sumber dipecah-pecah dan dibentuk menjadi bentuk antara (inter-mediate representation)
2.sintesa : membangun program sasaran yang diinginkan dari bentuk
Penganalisa Leksikal
membaca program sumber, karakter demi karakter. Sederetan (satu atau lebih) karakter dikelompokkan menjadi satu kesatuan mengacu kepada pola kesatuan kelompok karakter (token) yang ditentukan dalam bahasa sumber. Kelompok karakter yang membentuk sebuah token dinamakan lexeme untuk token tersebut. Setiap token yang dihasilkan disimpan di dalam tabel simbol. Sederetan karakter yang tidak mengikuti pola token akan dilaporkan sebagai token tak dikenal (unidentified token)
Penganalisa Sintaks
memeriksa kesesuaian pola deretan token dengan aturan sintaks yang ditentukan dalam bahasa sumber. Sederetan token yang tidak mengikuti aturan sintaks akan dilaporkan sebagai kesalahan sintaks (sintax error). Secara logika deretan token yang bersesuaian dengan sintaks tertentu akan dinyatakan sebagai pohon parsing (parse tree)
Penganalisa Semantik
memeriksa token dan ekspresi dari batasan-batasan yang ditetapkan. Batasan-batasan tersebut misalnya :
a. panjang maksimum token identifier adalah 8 karakter,
b. panjang maksimum ekspresi tunggal adalah 80 karakter,
c. nilai bilangan bulat adalah -32768 s/d 32767,
d. operasi aritmatika harus melibatkan operan-operan yang bertipe sama
Pembangkit Kode Antara
membangkitkan kode antara (intermediate code) berdasar-kan pohon parsing. Pohon parse selanjutnya diterjemahkan oleh suatu penerjemah yang dinamakan penerjemah berdasarkan sintak (syntax-directed translator). Hasil penerjemahan ini biasanya merupakan perintah tiga alamat (three-address code) yang merupakan representasi program untuk suatu mesin abstrak. Perintah tiga alamat bisa berbentuk quadruples (op, arg1, arg2, result), tripels (op, arg1, arg2). Ekspresi dengan satu argumen dinyatakan dengan menetapkan arg2 dengan – (strip, dash)
Pengoptimal kode
melakukan optimasi (penghematan space dan waktu komputasi), jika mungkin, terhadap kode antara
Pembangkit Kode Mesin
membangkitkan kode dalam bahasa target tertentu (misalnya bahasa mesin)
Pembuatan compiler
Bahasa mesin
-Sangat sukar dan sangat sedikit kemungkinannya untuk membuat compiler dengan bahasa ini, karena manusia susah mempelajari bahasa mesin,
-Sangat tergantung pada mesin,
-Bahasa Mesin kemungkinan digunakan pada saat pembuatan Assembler
Assembly
-Hasil dari program mempunyai Ukuran yang relatif kecil
-Sulit dimengerti karena statement/perintahnya singkat-singkat, butuh usaha yang besar untuk membuat
-Fasilitas yang dimiliki terbatas
Bahasa Tingkat Tinggi (high level language)
-Lebih mudah dipelajari
-Fasilitas yang dimiliki lebih baik (banyak)
-Memiliki ukuran yang relatif besar, misal membuat compiler pascal dengan menggunakan bahasa C
-Untuk mesin yang berbeda perlu dikembangkan tahapan-tahapan tambahan.
-Misal membuat compiler C pada Dos bedasarkan compiler C pada unix
Bahasa Tingkat Tinggi (Pemrograman )
-Bahasa yang lebih dikenal oleh manusia, maksudnya adalah statement yang digunakan menggunakan bahasa yang dipakai oleh manusia (inggris),
-Bahasa pemrograman didefinisikan dengan menentukan bentuk programnya (sintak) dan arti programnya (semantik)
-Memberikan fasilitas yang lebih banyak, seperti struktur kontrol program yang terstruktur, blok-blok serta prosedur dan fungsi-fungsi
-Progam mudah untuk di koreksi (debug)
-Tidak tergantung pada salah satu mesin
-Kontrol struktur seperti : kondisi (if .. Then.. Else ),
perulangan (For, while ), Struktur blok (begin.. End { .. } )
2.perbaikan
kesalahan
CARA PENANGANAN KESALAHAN
Kesalahan
Program bisa merupakan :
- Kesalahan Leksikal : THEN ditulis TEN
- Kesalahan Sintaks : A:=X+(B*(C+D) {jumlah kurungnya kurang}
- Kesalahan Semantik :
a. Tipe data yang salah.
Contoh : Var Siswa :
Integer
Siswa
:= 'Yanuar' {tipe string}
b. Variabel belum didefinisikan.
Contoh : B := B + 1 {B belum didefinisikan}
Langkah-langkah
Penanganan Kesalahan adalah sebagai berikut :
- Mendeteksi Kesalahan
- Melaporkan Kesalahan
- Tindak lanjut pemulihan/perbaikan
sebuah
kompilator yang menemukan kesalahan akan melakukan pelaporan kesalahan, yang
biasanya
meliputi
:
- Kode kesalahan
- Pesan kesalahan dalam bahasa natural
- Nama dan atribut identifier
- Tipe-tipe yang terkait bila type checking
Contoh
: Error Massage: Error 162 Jumlah := unknown
identifier
artinya
:
- kode kesalahan = 162
- pesan kesalahan = unknown identifier
- nama identifier = Jumlah
Adanya
pesan kesalahan tersebut akan memudahkan pemrogram dalam mencari dan mengoreksi
sumber dari kesalahan.
REAKSI KOMPILATOR PADA KESALAHAN
Terdapat
beberapa tingkatan reaksi yang dilakukan oleh kompilator saat menemukan
kesalahan, yaitu :
- Reaksi-reaksi yang tidak dapat diterima (tidak melaporkan error);
a. Kompilator crash:
berhenti atau hang.
b. Looping: kompilator masih
berjalan tapi tidak pernah berakhir karena looping tak berhingga (indefinite/onbounded loop)
c. Menghasilkan program objek yang salah: kompilator
melanjutkan proses sampai selesai tapi program objek yang dihasilkan salah. Ini
berbahaya bila tidak diketahui pemrogram, karena baru akan muncul saat program
dieksekusi.
- Reaksi yang benar tapi kurang dapat diterima dan kurang bermanfaat. Kompilator menemukan kesalahan pertama, melaporkannya, lalu berhenti (halt). Ini bisa muncul bila pembuat kompilator menganggap jarang terjadi kemunculan error dalam program sehingga kemampuan kompilator untuk mendeteksi dan melaporkan kesalahan hanya satu untuk setiap kali kompilasi. Pemrogram akan membuang waktu untuk melakukan pengulangan kompilasi setiap kali terdapat sebuah error.
- Reaksi-reaksi yang dapat diterima:
a. Reaksi yang sudah dapat
dilakukan, yaitu kompilator melaporkan error, dan selanjutnya melakukan :
■ Recovery/pemulihan, lalu melanjutkan mencari error
lain bila masih ada.
■ Repair/perbaikan kesalahan, lalu melanjutkan proses
translasi dan menghasilkan program objek yang valid.
Kebanyakan kompilator dewasa ini sudah memiliki kemampuan
recovery dan repair.
b. Reaksi yang belum dapat
dilakukan, yaitu kompilator mengkoreksi kesalahan, lalu menghasilkan program
objek sesuai dengan yang diinginkan pemrogram. Disini komputernya sudah
memiliki kecerdasan untuk mengetahui maksud pemrogram. Tingkatan respon ini
belum dapat diimplementasikan pada kompilator yang ada dewasa ini.
ERROR RECOVERY
Pemulihan kesalahan bertujuan mengembalikan kondisi parser
kekondisi stabil (supaya bisa melanjutkan proses parsing keposisi selanjutnya).
Strategi untuk melakukan error recovery
sebagai berikut:
- Mekanisme Ad Hoc. Recovery yang dilakukan tergantung dari pembuat kompilator sendiri/spesifik dan tidak terikat pada suatu aturan tertentu. Cara ini bisa disebut juga sebagai special purpose error recovery.
- Syntax directed recovery. Melakukan recovery berdasarkan syntax. Contoh :
Begin
A:=A+1
B:=B+1;
C:=C+1
end;
kompilator
akan mengenali sebagai (dalam notasi BNF):
begin<statement>?<statement>;<statement>end;
'?' akan dikenali sebagai ';'
- Secondary Error Recovery berguna untuk melokalisir error, dengan cara sebagai berikut:
a. Panic Mode. Maju
terus dan mengabaikan teks sampai bertemu delimiter (';'). contoh,
IF
A:=1
Kondisi
:= true;
Pada teks diatas tidak terdapat
instuksi THEN, kompilator akan maju terus/skip sampai bertemu titik koma.
b. Unit Deletion. Menghapus
keseluruhan suatu unit sintaktik (misal: <blok>, <exp>,
<statement> ). Efeknya mirip dengan panic mode tetapi unit deletion
memelihara kebenaran sintaksis dari source program dan mempermudah untuk
melakukan error repairing lebih lanjut.
- Context Sensitive Recovery. Berkaitan dengan semantik, misal bila terdapat variabel yang belum dideklarasikan (Undefined Variable) maka diasumsikan tipenya berdasarkan kemunculannya. Contoh :
B:=
'nama'
sementara diawal program variabel B
belum dideklarasikan, maka berdasarkan
kemunculannya diasumsikan variabel B bertipe string.
ERROR REPAIRING
Perbaikan kesalahan bertujuan
memodifikasi source program dari kesalahan dan membuatnya valid sehingga
memungkinkan kompilator untuk melakukan translasi program yang mana akan dialirkan
ketahapan selanjutnya pada proses kompilasi. Mekanismenya sebagai berikut :
- Mekanisme Ad Hoc. Tergantung dari pembuat kompilator sendiri/spesifik.
- Syntax Directed Repar. Menyisipkan simbol terminal yang dianggap hilang atau membuang terminal penyebab kesalahan. Contoh :algoritma berikut kurang instruksi DO
WHILE A
< 1
I:=I+1;
Kompilator akan menyisipkan DO
contoh lain :
Procedure
Increment;
begin
x:=x+1;
end;
end;
terdapat kelebihan simbol end, yang
menyebabkan kesalahan maka kompilator akan membuangnya.
- Context Sensitive Repair. Perbaikan dilakukan pada kesalahan berikut.
a. Tipe Identifier. Diatasi dengan membangkitkan identifier
dummy, contoh:
Var
A:string;
begin
A:=0;
end;
kompilator akan memperbaiki
kesalahan dengan membangkitkan identifier baru, misal B yang bertipe integer.
b. Tipe Konstanta diatasi dengan membangkitkan
konstanta baru dengan tipe yang tepat.
- Spelling Repair. Memperbaiki kesalahan pengetikan pada identifier, misal:
WHILLE A=1
DO
identifier yang salah tersebut akan
diperbaiki menjadi WHILE.
BAB 2
VARIABEL TIPE
DATA DAN OPERATOR
A.PENGERTIAN VARIABEL,TIPE DATA,DAN OPERATOR
1. VARIABEL digunakan dalam bahasa pemrograman untuk
menyimpan nilai sementara dimana untuk digunakan kembali nantinya. Dikatakan
untuk menyimpan nilai sementara karena nilai variable akan di simpan dalam
memory komputer yang bersifat tidak permanen, karena berbeda dengan penyimpanan
drive dimana data-data yang disimpan di dalamnya akan hilang ketika komputer
dimatikan.
PENAMAAN
VARIABEL Variabel yang Anda buat terdiri atas huruf, angka
atau garis bawah (underscore) • Harus dimulai dengan huruf atau underscore ( _
) • Panjang variabel tidak boleh lebih dari 255 karakter • Tidak boleh memakai
keyword dalam Visual Basic.
2.TIPE DATA memiliki tipe yang berbeda‐beda dan
biasanya data dikelompokkan pada kelompok yang sejenis agar tidak terjadi
operasi matematika diantara data yang berbeda jenis tersebut, begitu juga dalam
suatu program, setiap nilai harus dikelompokkan pada jenis‐jenis tertentu
yang disebut dengan tipe data. digunakan untuk menyimpan semua jenis tipe data
lain. Namun KATEGORI TIPE DATA Tipe Data dapat dikategorikan sebagai
berikut : 1. Tipe Data Numerik 2. Tipe Data Teks 3. Tipe Data Boolean 4. Tipe
Data Date 5. Tipe Data Object 6. Tipe Data Variant uf), Numeric (Number)
ataupun date (tanggal).
1.TIPE DATA NUMERIK •
Antara lain integer, long, single, double, byte. Integer dan long digunakan
untuk menyimpan bilangan bulat. Sedangkan single dan double digunakan untuk
menyimpan bilangan desimal/real, yang memiliki angka di belakang koma.
2. TIPE DATA TEKS Nama, alamat dan lain-lain adalah contoh data teks yang
sering kita gunakan dalam program komputer. Kumpulan huruf (boleh kosong) yang
dianggap sebagai satu kesatuan itu disebut String. Tipe Data Jumlah Alokasi
Memori Jangkauan Nilai Char 2 bytes 0 sampai 65535 String Tergantung pada
implementasi platform 0 sampai kira-kira 2 miliar karakter Unicode 3. TIPE
DATA BOOLEAN • Tipe ini digunakan untuk menyimpan suatu informasi yang
hanya memiliki dua kemungkinan nilai yaitu true atau false. Tipe Data Jumlah
Alokasi Memori Jangkauan Nilai Boolean Tergantung pada implementasi platform
True atau False
4. TIPE DATA DATE • Digunakan untuk menyimpan informasi bertipe tanggal dan
jam 5. TIPE DATA OBJECT Variabel Tipe Object
dapat dipakai untuk menggantikan objek- objek control. Misalnya Form dengan
nama form1 dan tombol dengan nama commandbutton1 Contoh : Dim Tombol As
CommandButton, Halaman As Form Set Tombol=commandbutton1 Set lembar=Form1
Tombol.caption=”Stop” Halaman.
. TIPE DATA VARIANT • Tipe ini
kerugiannya adalah tipe data ini boros memori.
3.OPERATOR adalah simbol yang berfungsi untuk mengoperasikan satu
atau dua operand. Operand adalah sesuatu yang dioperasikan.
KATEGORI OPERATOR
OPERATOR ARITMATIKA Operator Operasi Keterangan () Pengelompokan Tanda
kurung buka dan kurung tutup digunakan untuk mengelompokkan operasi yang akan
dikerjakan dulua ^ Pemangkatan Digunakan untuk operasi pemangkatan + , - Tanda
/ Nilai Biasanya tanda positif (+) tidak dituliskan lagi * Perkalian /
Pembagian Pada operasi pembagian menggunakan hasil sampai dengan desimal.
Pembagian Integer Pembagian yang hasilnya bilangan integer atau hanya hasil
bulatnya yang digunakan. Mod Modulus Hasilnya adalah sisa pembagian integer. +
Penjumlahan - Pengurangan OPERATOR PERBANDINGAN Operator Operasi Contoh = Sama dengan
23 = 33 ' False , 23 = 23 ' True <> Tidak sama dengan 23 <> 33 '
True , 23 <> 23 ' False > Lebih dari 23 > 33 ' False , 23 > 12 '
True < Kurang dari 23 < 33 ' True , 23 < 23 ' False >= Lebih dari
sama dengan 23 >= 33 ' False, 23 >= 23 ' True <= Kurang dari sama
dengan 23 <= 33 ' True, 23 <= 12 ' False Operator akan membandingkan di
antara dua operand. Nilai keluarannya berupa Boolean OPERATOR LOGIKA Operator Keterangan And Hasilnya True jika kedua operand
bernilai True. Selain itu hasilnya False. Or Hasilnya True jika salah satu atau
kedua operand bernilai True. Selain itu hasilnya False. Xor Hasilnya True jika
hanya salah satu operand bernilai True. Selain itu hasilnya False. AndAlso
Hasilnya True jika kedua operand bernilai True. Selain itu hasilnya False.
OrElse Hasilnya True jika salah satu atau kedua operand bernilai True. Selain
itu hasilnya False. Not Merupakan operator unary. Hasilnya True jika operand
False. False jikaoperand True. Operator logika adalah operator yang
membandingkan ekspresi Boolean.
B.OPERATOR DAN EKSPRESI
1. OPERATOR Operator
adalah simbol-simbol khusus yang digunakan untuk mengoperasikan suatu nilai
data .
Operator Aritmatika Digunakan untuk mengoperasikan data-data
numerik, seperti penjumlahan, pengurangan, perkalian, pembagian, dll. ^ :
Pangkat * : Perkalian / : Pembagian real \ : Pembagian integer + : Penjumlahan
- : Pengurangan .
Operator Relasi Digunakan untuk mewakili sebuah nilai logika (nilai boolean), dari suatu persamaan atau nilai. Operator-operator yang terlibat adalah : = : sama dengan > : lebih besar < : lebih kecil <> : tidak sama dengan >= : lebih besar atau sama dengan <= : kurang atau sama dengan.
Operator Boolean Operator yang menyatakan suatu kondisi tertentu. Macam dari operator boolean ini adalah: 1. OR --> Prinsip kerja aliran listrik Paralel 2. AND --> Prinsip kerja aliran listrik Seri .
2.EKSPRESI adalah transformasi nilai menjadi keluaran yang dilakukan melalui suatu perhitungan (komputasi). Ekspresi terdiri atas operand dan operator, contoh ekspresi: “a + b”.Hasil Evaluasi dari sebuah Ekpresi adalah nilai yang sesuai dengan type operand yang dipakai
MACAM-MACAM EKSPRESI Ekspresi aritmatika Ekspresi yang baik operand-nya bertipe numerik dan hasilnya juga bertipe numerik. Pada ekspresi aritmetik terdapat 2 buah operator yaitu : · Operator biner, yaitu ekspresi yang operatornya membutuhkan 2 buah operand. Contoh a + b. Operator Uner, yaitu “-” atau operator yang punya 1 operand contoh “-2” Contoh 2. (Penulisan ekspresi dengan notasi algoritma) T = 5/9 * (c + 32) Z = (2*x + y) / (5 * w) Y = 5((a+b) / (c*d) + m (p + q)). Ekspresi Perbandingan/ Relasional Ekspresi relasional adalah ekspresi dengan operator <, ≤, >, ≥, =, dan ≠, not, and, or dan xor dengan menghasilkan nilai bertipe boolean (true atau false). Biasanya ekspresi Relasional disebut ekspresi boolean. Ekspresi Logika (Menggunakan Operator Boolean) sebuah perintah yang akan mengeksekusi suatu perintah apabila kondisi tertentu terpenuhi.
Operator Relasi Digunakan untuk mewakili sebuah nilai logika (nilai boolean), dari suatu persamaan atau nilai. Operator-operator yang terlibat adalah : = : sama dengan > : lebih besar < : lebih kecil <> : tidak sama dengan >= : lebih besar atau sama dengan <= : kurang atau sama dengan.
Operator Boolean Operator yang menyatakan suatu kondisi tertentu. Macam dari operator boolean ini adalah: 1. OR --> Prinsip kerja aliran listrik Paralel 2. AND --> Prinsip kerja aliran listrik Seri .
2.EKSPRESI adalah transformasi nilai menjadi keluaran yang dilakukan melalui suatu perhitungan (komputasi). Ekspresi terdiri atas operand dan operator, contoh ekspresi: “a + b”.Hasil Evaluasi dari sebuah Ekpresi adalah nilai yang sesuai dengan type operand yang dipakai
MACAM-MACAM EKSPRESI Ekspresi aritmatika Ekspresi yang baik operand-nya bertipe numerik dan hasilnya juga bertipe numerik. Pada ekspresi aritmetik terdapat 2 buah operator yaitu : · Operator biner, yaitu ekspresi yang operatornya membutuhkan 2 buah operand. Contoh a + b. Operator Uner, yaitu “-” atau operator yang punya 1 operand contoh “-2” Contoh 2. (Penulisan ekspresi dengan notasi algoritma) T = 5/9 * (c + 32) Z = (2*x + y) / (5 * w) Y = 5((a+b) / (c*d) + m (p + q)). Ekspresi Perbandingan/ Relasional Ekspresi relasional adalah ekspresi dengan operator <, ≤, >, ≥, =, dan ≠, not, and, or dan xor dengan menghasilkan nilai bertipe boolean (true atau false). Biasanya ekspresi Relasional disebut ekspresi boolean. Ekspresi Logika (Menggunakan Operator Boolean) sebuah perintah yang akan mengeksekusi suatu perintah apabila kondisi tertentu terpenuhi.
BAB 3
STRUKTUR PERCABANGAN
STRUKTUR PERCABANGAN
A.PERCABANGAN 1 KONDISI
Penulisan
percabangan 1 kondisi
if then
pernyataan1
else
pernyataan2
penjelasan :
Jika <kondisi>
bernilai benar maka pernyataan1 dikerjakan. Sedangkan jika tidak (<kondisi>
bernilai salah), maka pernyataan yang dikerjakan adalah pernyataan2.
Berbeda dengan percabangan satu kondisi, pada percabangan dua kondisi ada dua
pernyataan untuk dua keadaan kondisi, yaitu untuk <kondisi> yang
bernilai benar dan <kondisi> yang bernilai salah
Flowchart :
ALGORITMA PERCABANGAN 1 KONDISI
Pemilihan
statemen/pernyataan pada kondisi tertentu.Algoritma percabangan dengan 1
kondisi memiliki format dasar seperti berikut :
IF <kondisi>
THEN <pernyataan>
Pada format
diatas , jika <kondisi> bernilai benar maka <pernyataan>
dikerjakan, sedangkan jika bernilai salah, maka <pernyataan> tidak
dikerjakan dan proses langsung keluar dari percabangan.
Contoh Kasus :
Nilai siswa akan gagal bila bernilai ≤ 60
ALGORITMA
BAHASA NATURALMulai
- Menentukan nilai siswa
- Jika nilai siswa ≤ 60
- Siswa dinyatakan Gagal
- PSEUDOCODE
Var :
nilai_siswa : integer
Pseudocode :
Read ( nilai
siswa )
IF nilai siswa
≤ 60 THEN
write ( Siswa dinyatakan gagal )
FLOWCHART
B.PERCABANGAN DENGAN 2 KONDISI
Penulisan
percabangan 2 kondisi
if then
pernyataan1
else
pernyataan2
penjelasan :
Jika <kondisi>
bernilai benar maka pernyataan1 dikerjakan. Sedangkan jika tidak (<kondisi>
bernilai salah), maka pernyataan yang dikerjakan adalah pernyataan2.
Berbeda dengan percabangan satu kondisi, pada percabangan dua kondisi ada dua
pernyataan untuk dua keadaan kondisi, yaitu untuk <kondisi> yang
bernilai benar dan <kondisi> yang bernilai salah
Flowchart
ALGORITMA PERCABANGAN 2 KONDISI
Algoritma
percabangan dengan 2 kondisi memiliki format dasar seperti berikut :
IF <kondisi>
THEN <pernyataan 1>
ELSE <pernyataan 2>
Pada format di
atas, Jika <kondisi> bernilai benar maka pernyataan 1 dikerjakan.
Sedangkan jika tidak (<kondisi>bernilai salah), maka pernyataan yang
dikerjakan adalah pernyataan 2. Berbeda dengan percabangan 1 kondisi, pada
percabangan dua kondisi ada dua pernyataan untuk kedua kondisi,yaitu untuk
<kondisi> yang bernilai benar dan <kondisi> yang bernilai salah.
Contoh Kasus :
Penggolongan nilai
ALGORITMA BAHASA NATURAL
- Mulai
- Menentukan nilai siswa
- Jika nilai siswa ( 0 – 100 ) > 75 Tergolong Baik
- Jika nilai siswa ( 0 – 100 ) ≤ 75 Tergolong Cukup
- Tampilkan hasil
- Selesai
PSEUDOCODE
Var :
nilai_siswa : integer
Pseudocode
read (nilai
siswa )
IF nilai siswa
> 75 THEN
write (
tergolong baik )
ELSE
write (
tergolong cukup )
FLOWCHART
C.PERCABANGAN
LEBIH DARI 2 KONDISI
Penulisan
percabangan lebih dari 2 kondisi
If then
Pernyataan1
else if then
Pernyataan2
...
else if then
Pernyataan(n)
else
Pernyataan(n)
Penjelasan :
Mula-mula <kondisi1> dicek nilai kebenarannya.
Jika benar, maka dikerjakan pernyataan1.
Jika salah, maka dicek nilai kebenaran <kondisi2>. Jika <kondisi2>
benar, maka dikerjakan pernyataan2.
Jika tidak algoritma akan mengecek ke kondisi berikutnya dengan cara yang sama
dengan yang sebelumnya. Terakhir, jika semua kondisi bernilai salah, maka
pernyataan yang dikerjakan adalah Pernyataan(n+1).
Flowchart :
Contoh:
Struktur Percabangan Bersarang untuk masalah fotocopy
Sebuah usaha fotocopy mempunyai aturan sebagai berikut: - Jika yang fotocopy
statusnta adalah langganan, maka berapa lembar pun dia fotocopy, harga per
lembarnya Rp. 75,- - Jika yang fotocopy bukan langganan, maka jika dia fotocopy
kurang dari 100 lembar harga per lembarnya Rp. 100,-. Sedangkan jika lebih atau
sama dengan 100 lembar maka harga per lembarnya Rp. 85,- Buat
flowchart
untuk menghitung total harga yang harus dibayar jika seseorang
memfotocopy sejumlah X lembar!
BAB 4
STRUKTUR
PERULANGAN
A.PERULANGAN
DENGAN KONDISI DI AWAL
1. Pengulangan
dengan Kondisi di awal
Pengulangan
dengan kondisi di awal adalah bentuk pengulangan yang melibatkan kondisinya di awal
perintah. jenis pengulangan yang menggunakan kondisi di awal adalah pengulangan While Do dan pengulangan For Do, sebagai berikut:
a. Pengulangan
While Do Format Penulisan:
While kondisi
do
pernyataan
inrement
/decrement
endwhile
Contoh
Kasus:Buat algoritma untuk mencetak tulisan "Contoh pengulangan dengan kondisi di awal" sebanyak 100
buahJawab:
algoritma
looping_awal
deklarasi
i : integer
algoritma:
i ← 1
while i <=
100 do
writeln('Contoh
pengulangan dengan kondisi di awal')
i ← i + 1
endwhile
b. Pengulangan
For do
For kondisi do
pernyataan
increment/decrement
endfor
Contoh
soal:Buat algoritma untuk mencetak tulisan "Contoh pengulangan dengan For do" sebanyak 100 buah.
Jawab:
algoritma
looping_awal
deklarasi
i : integer
algoritma:
i ← 1
while i <=
100 do
writeln('Contoh
pengulangan dengan kondisi di awal')
i ← i + 1
endwhile.
B.PERULANGAN
DENGAN KONDISI DI AKHIR
2 - Pengulangan
dengan kondisi di akhir
Pengulangan
dengan kondisi di akhir adalah bentuk pengulangan dimana kondisi untuk
pengulangan di letakan di akhir perintah, satu-satunya pengulangan dengan
kondisi di akhir adalah sebagai berikut:Pengulangan Repeat UntilFormat:
Repeat
Pernyataan
increment/decrement
until kondisi
Contoh
kasus:Buatlah algoritma untuk mencetak tulisan "Pengulangan kondisi
akhir" sebanyak 70 barisJawab:
algoritma
kondisi_akhir
deklarasi
i : integer
algoritma:
i ←1
repeat
writeln
('Pengulangan kondisi akhir')
i ← i+1
until i=70
C.PERULANGAN
DENGAN KONDISI DIINPUTKAN USER
3.Pengulangan
dengan kondisi diinputkan oleh User
Pengulangan
dengan kondisi yang diinputkan user adalah pengulangan dengan jumlah dinamis
yang akan sangat tergantung sekali dengan input dari user atau pengguna.
Contoh
kasus:Buatlah algoritma pengulangan untuk mencetak tulisan "contoh
pengulangan denganinput user" dimana jumlahnya sesuai dengan yang diinput
oleh penggunaJawab:
program
input_user
deklarasi
i : integer
x : integer
x : integer
algoritma:
read(x)
i ← 1
while i <= x
do
writeln ('ini
adalah pengulangan ke', i)
i ← i+1
endwhile
perintah
read(x) adalah perintah untuk menampung input pengguna dalam bentuk angka
bilangan bulat yang akan ditampung oleh variable x.
pengulangan akan diulang sebanyak jumlah x yang diinput oleh pengguna dengan kondisi i <= x
pengulangan akan diulang sebanyak jumlah x yang diinput oleh pengguna dengan kondisi i <= x
D.PERULANGAN
DENGAN PERNYATAAN BREAK DAN CONTINUE
4 Pengulangan
dengan Pernyataan BreakPengulangan dengan pernyataan break adalah bentuk
pengulangan dimana di dalam proses pengulangan ada perintah break, sehingga pengulangan akan
langsung selesai dan keluar dari proses pengulangan meskipun kondisi belum
terpenuhi.Contoh :program contoh_break
deklarasi
i : integer
algoritma:
i ← 1
while i <=
10 do
writeln ('ini
pernyataan pertama')
break
endwhile
Pengulangan di
atas jika tidak ada perintah break,
maka akan mencetak tulisan "ini
pernyataan pertama" sebanyak 10 baris, karena ada break maka output
hanya akan mencetak tulisan "ini pernyataan pertama" sebanyak satu
kali, karena ketika perintah break terbaca oleh program itu artinya meminta
program untuk langsung menghentikan pengulangan dan keluar dari pengulangan
walaupun kondisi belum terpenuhi.
Pengembangan
algoritma aplikasi
1.Pengembangan Aplikasi dan analisis pemecahan masalah
Pengembangan aplikasi, atau bisa juga disebut sebagai pengembangan software atau desain software, kerap kali disalahartikan sebagai kegiatan dimana seorang programmer melakukan coding, sebuahprosespenulisan kode
tetapi sebenarnya yang dimaksud dengan pengembangan aplikasi merupakan serangkaian proses yang dilakukan dari saat pembuatan konsep aplikasi hingga aplikasi tersebut selesai dan siap digunakan[11 Dalam proses pengembangan aplikasi terdapat berbagai proses yang perlu dilakukan sebagai syarat untuk membuat sebuah aplikasi yang telah terancang dengan baik, dan dikerjakan secara berstruktur. Proses pengembangan aplikasi berdasarkan terdiri dari 5 tahap utama, walaupun di dalam setiap tahap tersebut terdapat berbagai fase lainnya yang dapat dijalankan sesuai kebutuhan pengembangan. Tahap tersebut antara lain : pengumpulan informasi, perencanaan, pengembangan, penggunaan, dan perawatan[9]. Tahap-tahap tersebut perlu dilakukan, guna mendapatkan sebuah software yang layak guna dan bertahan lama. Dalam urutan pelaksanaannya, terdapat berbagai macam model yang biasa digunakan oleh para pengembang aplikasi, seperti waterfall, spiral, dan agile development.Dalam menjalankan tugas sehari-hari, apa pun bidang tugasnya, ketika menghadapi masalah, terdapat empat pertanyaan pokok yang selalu muncul:
Pengembangan aplikasi, atau bisa juga disebut sebagai pengembangan software atau desain software, kerap kali disalahartikan sebagai kegiatan dimana seorang programmer melakukan coding, sebuahprosespenulisan kode
tetapi sebenarnya yang dimaksud dengan pengembangan aplikasi merupakan serangkaian proses yang dilakukan dari saat pembuatan konsep aplikasi hingga aplikasi tersebut selesai dan siap digunakan[11 Dalam proses pengembangan aplikasi terdapat berbagai proses yang perlu dilakukan sebagai syarat untuk membuat sebuah aplikasi yang telah terancang dengan baik, dan dikerjakan secara berstruktur. Proses pengembangan aplikasi berdasarkan terdiri dari 5 tahap utama, walaupun di dalam setiap tahap tersebut terdapat berbagai fase lainnya yang dapat dijalankan sesuai kebutuhan pengembangan. Tahap tersebut antara lain : pengumpulan informasi, perencanaan, pengembangan, penggunaan, dan perawatan[9]. Tahap-tahap tersebut perlu dilakukan, guna mendapatkan sebuah software yang layak guna dan bertahan lama. Dalam urutan pelaksanaannya, terdapat berbagai macam model yang biasa digunakan oleh para pengembang aplikasi, seperti waterfall, spiral, dan agile development.Dalam menjalankan tugas sehari-hari, apa pun bidang tugasnya, ketika menghadapi masalah, terdapat empat pertanyaan pokok yang selalu muncul:
- Masalah apa yang sedang dihadapi?
- Mengapa masalah itu terjadi?
- Tindakan apa yang harus diambil?
- Bagaimana memastikan rencana terlaksana?
Proses berpikir
mengikuti pola, input – process – output. Masukan (input) adalah
informasi. Informasi yang masuk diolah untuk menghasilkan keluaran (output).
Diagram di atas menunjukkan bahwa mutu keputusan seharusnya dapat ditingkatkan bila aspek masukan dan prosesnya diperbaiki.
Proses berpikir yang bermutu adalah proses berpikir yang sistematis dan rasional. Untuk itu diperlukan alat dan metode analisis masalah yang sesuai dengan masalah yang dihadapi. Buku ini akan membahas empat metode analisis masalah yaitu: Analisis Situasi, Analisis Persoalan, Analisis Keputusan, dan Analisis Persoalan Potensial. Jika ingin mengetahui masalah yang sedang dihadapi, metode yang digunakan adalah Analisis Situasi. Jika ingin mencari sebab, Analisis Persoalan yang dipakai, jika ingin mengambil keputusan, gunakan AnalisisKeputusan, dan terakhir jika ingin mengamankan pelaksanaan rencana, pakailah Analisis PersoalPotens ANALISIS SITUASI
Dalam bahasa Minaut Indonesia, semua hal atau kejadian yang mendorong sesorang untuk melakukan tindakan didefinisikan sebagai masalah.
Mengidentifikasi Masalah dapat dilakukan dengan:
Diagram di atas menunjukkan bahwa mutu keputusan seharusnya dapat ditingkatkan bila aspek masukan dan prosesnya diperbaiki.
Proses berpikir yang bermutu adalah proses berpikir yang sistematis dan rasional. Untuk itu diperlukan alat dan metode analisis masalah yang sesuai dengan masalah yang dihadapi. Buku ini akan membahas empat metode analisis masalah yaitu: Analisis Situasi, Analisis Persoalan, Analisis Keputusan, dan Analisis Persoalan Potensial. Jika ingin mengetahui masalah yang sedang dihadapi, metode yang digunakan adalah Analisis Situasi. Jika ingin mencari sebab, Analisis Persoalan yang dipakai, jika ingin mengambil keputusan, gunakan AnalisisKeputusan, dan terakhir jika ingin mengamankan pelaksanaan rencana, pakailah Analisis PersoalPotens ANALISIS SITUASI
Dalam bahasa Minaut Indonesia, semua hal atau kejadian yang mendorong sesorang untuk melakukan tindakan didefinisikan sebagai masalah.
Mengidentifikasi Masalah dapat dilakukan dengan:
- Observasi lapangan
- Analisis dokumen
- Membandingkan rencana dengan realisasi
- Analisis SWOT
- Mencari informasi melalui orang lain:
- Rapat
- Wawancara
Hasil: Daftar
masalah
Memilah Masalah
Menguraikan masalah kompleks menjadi masalah tunggal
Memilah Masalah
Menguraikan masalah kompleks menjadi masalah tunggal
- Masalah yang tidak berhubungan
- Pisahkan secara horizontal
- Masalah yang mempunyai hubungan sebab-akibat
- Pisahkan secara vertical (stair stepping)
Hasil:
Masalah-masalah tunggal
Memprioritaskan Masalah
Jika ada lebih dari satu masalah yang siap ditangani, perlu menentukan masalah prioritas.
Melokasi Masalah
Mengidentifikasi jenis masalahnya, apakah masalah penyimpangan, memilih tindakan, atau mengamankan rencana.ANALISIS PERSOALAN
Masalah yang di dalamnya terdapat penyimpangan dan belum diketahui sebabnya disebut persoalan. Hubungan Sebab-Akibat
Memprioritaskan Masalah
Jika ada lebih dari satu masalah yang siap ditangani, perlu menentukan masalah prioritas.
Melokasi Masalah
Mengidentifikasi jenis masalahnya, apakah masalah penyimpangan, memilih tindakan, atau mengamankan rencana.ANALISIS PERSOALAN
Masalah yang di dalamnya terdapat penyimpangan dan belum diketahui sebabnya disebut persoalan. Hubungan Sebab-Akibat
- Penyimpangan muncul karena ada PERUBAHAN
- Penyimpangan adalah bentuk dari AKIBAT
- PERUBAHAN adalah tempatnya SEBAB
Sebab Persoalan
SEBAB adalah PERUBAHAN relevan yang terkait dengan PERBEDAAN (kekhasan) FAKTA terhadap BUKAN FAKTAANALISIS KEPUTUSAN
Terdapat tiga alternatif tindakan terhadap persoalan, yaitu tindakan sementara/darurat, koreksi, dan penyesuaian/adaptasi.ANALISIS PERSOALAN POTENSIAL
Analisis Persoalan Potensial, menganalisis persoalan-persoalan potensial yang mungkin muncul pada saat pelaksanaan keputusan. Persoalan potensial terjadi karena sebab yang lain atau sebab yang belum diantisipasi, sehingga perlu dipersiapkan tindakan pencegahan dan tindakan penanggulangan. APA YANG KHAS DARI PENDEKATAN MINAUT?
SEBAB adalah PERUBAHAN relevan yang terkait dengan PERBEDAAN (kekhasan) FAKTA terhadap BUKAN FAKTAANALISIS KEPUTUSAN
Terdapat tiga alternatif tindakan terhadap persoalan, yaitu tindakan sementara/darurat, koreksi, dan penyesuaian/adaptasi.ANALISIS PERSOALAN POTENSIAL
Analisis Persoalan Potensial, menganalisis persoalan-persoalan potensial yang mungkin muncul pada saat pelaksanaan keputusan. Persoalan potensial terjadi karena sebab yang lain atau sebab yang belum diantisipasi, sehingga perlu dipersiapkan tindakan pencegahan dan tindakan penanggulangan. APA YANG KHAS DARI PENDEKATAN MINAUT?
- Kata “masalah” sangat subyektif sifatnya.
- Dalam Analisis Situasi, orang yang menerapkan konsep Minaut dalam kehidupan sehari-hari akan lebih mudah melihat kemungkinan timbulnya masalah sejak dini dan dalam memilih konsep yang tepat pada saat menghadapi masalah.
- Proses berpikir Analisis Keputusan sudah mengantisipasi kemungkinan kesalahan berpikir yang biasa terjadi. Dengan demikian, dalam mengambil keputusan, bukan hanya mempertimbangkan aspek positifnya, tetapi juga mempertimbangkan aspek negatifnya.
2.eror handlingError Handling
adalah salah satu penanganan kesalahan (error) pada berbagai macam keadaan
dalam pemrograman. Dengan adanya error handling ini maka setiap ada kesalahan ,
maka eksekusi program tidak akan dihentikan secara tiba-tiba, tetapi akan
diteruskan ke baris program yang terdapat script penanganan kesalahan. Dengan
adanya Error Handling ini maka program akan semakin user friendly bagi
penggunanya, dan akan mengatasi kesulitan bagi para programmer apabila ingin
mendefinisikan suatu kejadian yang tidak diinginkan dieksekusi.3.debugging"Debug"
dialihkan ke sini.Untuk kegunaan lain, lihat Debug (disambiguasi) .yang mencegah
pengoperasian perangkat lunak komputer atau sistem yang benar .
Sejumlah buku
telah ditulis tentang debugging (lihat di bawah ini: Bacaan
lebih lanjut ), karena melibatkan banyak aspek, termasuk debugging interaktif, aliran kontrol , pengujian integrasi , file log , pemantauan ( aplikasi , sistem ), dump memori , profil , Statistical Process Control , Dan
taktik desain khusus untuk memperbaiki deteksi sambil menyederhanakan
perubahan.Isi
Pengertian
Dalam rekayasa perangkat lunak, metodologi pengembangan
perangkat lunak atau metodologi pengembangan sistem adalah suatu
kerangka kerja yang digunakan untuk menstrukturkan, merencanakan, dan
mengendalikan proses pengembangan suatu sistem informasi. Banyak ragam kerangka
kerja yang telah dikembangkan selama ini, yang masing-masing memiliki kekuatan
dan kelemahan sendiri-sendiri.
Model dalam Metode Pengembangan Perangkat Lunak 1. Model Prototype
Model dalam Metode Pengembangan Perangkat Lunak 1. Model Prototype
Pendekatan prototyping model digunakan jika pemakai hanya mendefinisikan objektif umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya, sementara pengembang tidak begitu yakin akan efisiensi algoritma, adaptasi sistem operasi, atau bentuk interaksi manusia-mesin yang harus diambil.
Kelebihan model prototype:
- Menghemat waktu pengembangan
- Adanya komunikasi yang baik antara pengembang dan pelanggan
- Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
- Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya
- User dapat berpartisipasi aktif dalam pengembangan sistem
Kekurangan model
prototype:
- Biaya untuk membuat prototyping cukup tinggi
- Biasanya kurang fleksible dalam mengahadapi perubahan
- Proses analisis dan perancangan terlalu singkat
Contoh studi
kasus:
Seorang pelanggan mendefinisikan serangkaian sasaran umum bagi perangkat
lunak, tetapi tidak melakukan mengidentifikasi kebutuhan output, pemrosesan,
atupun input detail. Pada kasus yang lain, pengembang mungkin tidak memiliki
kepastian terhadap efisiensi algoritme, kemampuan penyesuaian dari sebuah
sistem operasi,atau bentuk-bentuk yang harus dilakukan oleh interaksi manusia
dengan mesin. Dalam hal ini, serta pada banyak situasi yang lain, prototyping
paradigma mungkin menawarkan pendekatan yang terbaik.
Prototyping paradigma dimulai dengan pengumpulan kebutuhan. Pengembang dan pelanggan bertemu dan mendefinisikan obyektif keseluruhan dari software, mengidentifikasi segala kebutuhan yang diketahui, dan area garis besar diman definisi lebih jauh merupakan keharusan kemudian dilakukan “perancangan kilat”. Perancangan kilat berfokus pada penyajian dari aspek-aspek software tersebut yang akan nampak bagi pelanggan atau pemakai (contohnya pendekatan input dan format output). Perancangan kilat membawa kepada konstruksi sebuah prototipe. Prototipe tersebut dievaluasi oleh pelanggan/pemakai dan dipakai untuk menyaring kebutuhan pengembangan software. Iterasi terjadi pada saat prototipe disetel untuk memenuhi kebutuhan pelanggan, dan pada saat yang sama memungkinkan pengembang untuk secara lebih baik memahami apa yang harus dilakukannya.
Prototyping paradigma dimulai dengan pengumpulan kebutuhan. Pengembang dan pelanggan bertemu dan mendefinisikan obyektif keseluruhan dari software, mengidentifikasi segala kebutuhan yang diketahui, dan area garis besar diman definisi lebih jauh merupakan keharusan kemudian dilakukan “perancangan kilat”. Perancangan kilat berfokus pada penyajian dari aspek-aspek software tersebut yang akan nampak bagi pelanggan atau pemakai (contohnya pendekatan input dan format output). Perancangan kilat membawa kepada konstruksi sebuah prototipe. Prototipe tersebut dievaluasi oleh pelanggan/pemakai dan dipakai untuk menyaring kebutuhan pengembangan software. Iterasi terjadi pada saat prototipe disetel untuk memenuhi kebutuhan pelanggan, dan pada saat yang sama memungkinkan pengembang untuk secara lebih baik memahami apa yang harus dilakukannya.
2. Model Waterfall Waterfall model adalah model
yang melakukan pendekatan pada perkembangan perangkat lunak secara seistematik
dan sekuensial. Yang artinya kegiatan pada model ini dilakukan secara terurut
berdasarkan panduan proses mulai dari komunikasi kepada client atau pelanggan
sampai dengan aktifitas sampai pengorderan setelah masalah dipahami secara
lengkap dan berjalan stabil sampai selesai.
Kelebihan model waterfall:
- Mudah diaplikasikan.
- Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan.
- Cocok digunakan untuk produk software yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.
Kekurangan
model waterfall:
- Waterfall model bersifat kaku sehingga sulit untuk melakukan perubahan pada sistem perangkat lunak.
- Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
- Customer harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap,menyelesaikan tahap awal baru bisa ke tahap selanjutnya.
- Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang sedang membuat produk.
- Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.
Contoh studi
kasus:
Sulitnya petugas bagian administrasi dalam mengolah data perpustakaan yang mengakomodasi peminjaman, buku, pengembalian dan membuat laporan yang membutuhkan banyak waktu. Adapun tujuan dari model sistem ini adalah
memodelkan sebuah sistem informasi Perpustakaan yang berbasis komputer dengan menggunakan metode waterfall dan sistem informasi perpustakaan ini, untuk membantu petugas dalam menghadapi kendala yang dihadapi dalam melakukan transaksi, sehingga dengan adanya sistem informasi tersebut diharapkan dapat menyelesaikan permasalahan yang berhubungan dengan Perpustakaan.
Sulitnya petugas bagian administrasi dalam mengolah data perpustakaan yang mengakomodasi peminjaman, buku, pengembalian dan membuat laporan yang membutuhkan banyak waktu. Adapun tujuan dari model sistem ini adalah
memodelkan sebuah sistem informasi Perpustakaan yang berbasis komputer dengan menggunakan metode waterfall dan sistem informasi perpustakaan ini, untuk membantu petugas dalam menghadapi kendala yang dihadapi dalam melakukan transaksi, sehingga dengan adanya sistem informasi tersebut diharapkan dapat menyelesaikan permasalahan yang berhubungan dengan Perpustakaan.
3. Model Spiral
Contoh Model Spiral
|
Spiral model adalah model proses yang pendekatannya bersifat realistis pada
software besar karena proses dari awal sampai proses pengiriman dan perbaikan
dapat dipahami dnegan baik oleh clieent dan developer. Model ini mempunyai
rangkaian kerja yang iterasi (peningkatan pada model) awal yang berbentuk
prototype dan kemudian iterasi selanjutnya akan menjadi perkembangan dari model
sebelumnya. Model ini dapat terus digunakan meskipun software sudah dikirimkan
karena proses (siklus)dapat berputar lagi jika ada perubahan pada software
sampai tidak ada permintaan perupbahan pada software oleh client.
Kelebihan model spira
Kelebihan model spira
- Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam mencari kekurangan kebutuhan.
- Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
- Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
- Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
- Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
- Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif.
- Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.
Kekurangan
model spiral:
- Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
- Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
- Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
- Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
- Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.
Contoh studi
kasus: Tuan X adalah General Manager A Company, sebuah perusahaan
perkapalan yang berbasis di Singapura. Sebagai
perusahaan UKM
muda yang terus berkembang, Tuan X menginvestasikan sebagian modal perusahaan
untuk promosi di media cetak dan elektronik, serta melatih kemampuan karyawan
melalui berbagai kursus. Untuk mendukung kerja karyawan, A Company menggunakan
komputer dasar (Basic PC) yang dilengkapi dengan officesoftware
4. Model Increm Dalam model Incremental ini
proses pengerjaan perangkat lunak akan dilakukan perbagian sehingga bagian
selanjutnya akan dikerjakan setelah bagian awal telah selesai dan selanjutnya
sampai menghasilkan perangkat lunak yang lengkap dengan semua fungsi yang
diperlukan dan pengerjaan perangkat lunak berakhir. Sebelum pengerjaan perangkat
lunak akan dilakukan perancangan arsitektur software sebagai kerangka dalam
pengerjaan perbagian.
Kelebihan model increment:
- Resiko yang rendah pada pengembangan sistem.
- Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga kemudahan pemakaian sistem yang paling di utamakan.
- Tahap awal adalan dasar dari pembuatan tahap berikutnya (dikerjakan secara terurut).
- Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
- Mampu mengakomodasi perubahan kebutuhan customer.
- Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian.
- Memaksimalkan pengembalian modal investasi konsumen
Kekurangan
model increment:
- Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh.
- Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut.
- Hanya cocok untuk proyek dengan skala kecil.
- kemungkinan tiap bagian tidak dapat diintegrasikan.
Contoh studi
kasus:
Puskesmas sebagai salah satu bentuk pelayanan kesehatan yang dituntut untuk memberikan pelayanan kesehatan dengan baik. Diantaranya adalah rekam medis pasien di Puskesmas Mranggen I masih menggunakan sistem manual, sehingga menyebabkan beberapa kendala diantaranya pengolahan data pasien yang masih lambat yang mengakibatkan tingginya tingkat kesalahan dalam pengolahan data pasien. Sistem rekam medis ini menggunakan metode penelitian deskriptif dengan jenis studi kasus pada Puskesmas Mranggen I, teknik pengumpulan data yang digunakan adalah observasi, wawancara, dan studi literature. Teknik analisis data menggunakan model incremental yang dikembangkan dari model waterfall, sedangkan model analisis menggunakan analisis terstruktur yaitu ERD (Entity Relationship Diagram) dalam menggambarkan model data dan DFD (Data Flow Diagram) untuk mengembangkan model fungsional.Perangkat pembangun adalah Borland Delphi 7 dengan database MySQL. Data yang diproses yaitu pendaftaran, rekam medis, rujukan, laboratorium sedangkan keluaran dari system berupa laporan-laporan.
Puskesmas sebagai salah satu bentuk pelayanan kesehatan yang dituntut untuk memberikan pelayanan kesehatan dengan baik. Diantaranya adalah rekam medis pasien di Puskesmas Mranggen I masih menggunakan sistem manual, sehingga menyebabkan beberapa kendala diantaranya pengolahan data pasien yang masih lambat yang mengakibatkan tingginya tingkat kesalahan dalam pengolahan data pasien. Sistem rekam medis ini menggunakan metode penelitian deskriptif dengan jenis studi kasus pada Puskesmas Mranggen I, teknik pengumpulan data yang digunakan adalah observasi, wawancara, dan studi literature. Teknik analisis data menggunakan model incremental yang dikembangkan dari model waterfall, sedangkan model analisis menggunakan analisis terstruktur yaitu ERD (Entity Relationship Diagram) dalam menggambarkan model data dan DFD (Data Flow Diagram) untuk mengembangkan model fungsional.Perangkat pembangun adalah Borland Delphi 7 dengan database MySQL. Data yang diproses yaitu pendaftaran, rekam medis, rujukan, laboratorium sedangkan keluaran dari system berupa laporan-laporan.
Posted by Haritz Cahya Nugraha on May 18,
2011https://hartz.wordpress.com/2011/05/18/pengembangan-aplikasi/