G_diskusi Kelompok 6

54
REKAYASA PERANGKAT LUNAK “DISKUSI KELOMPOK” Dosen Pengampu : Dr. Ratna Wardani Oleh : Kelompok 6 1. Dhian Septyaningrum (09520244044) 2. Rofik Tri Prasetyo (10520244059) 3. Anella Megaselfa H. B (10520244062) 4. Sungging Nanda Pratama (10520244078) PROGRAM STUDI PENDIDIKAN TEKNIK INFORMATIKA JURUSAN PENDIDIKAN TEKNIK ELEKTRONIKA FAKULTAS TEKNIK

Transcript of G_diskusi Kelompok 6

REKAYASA PERANGKAT LUNAK

“DISKUSI KELOMPOK”

Dosen Pengampu : Dr. Ratna Wardani

Oleh :

Kelompok 6

1. Dhian Septyaningrum (09520244044)

2. Rofik Tri Prasetyo (10520244059)

3. Anella Megaselfa H. B (10520244062)

4. Sungging Nanda Pratama (10520244078)

PROGRAM STUDI PENDIDIKAN TEKNIK INFORMATIKA

JURUSAN PENDIDIKAN TEKNIK ELEKTRONIKA

FAKULTAS TEKNIK

UNIVERSITAS NEGERI YOGYAKARTA

2012

1. Apa itu Translasi?

Translasi merupakan proses penerjemahan bahasa pemograman ( source code)

menjadikan sebuah file atau berupa tampilan lain. Proses Transalai meliputi istilah:

Compile, Interpret, dan Link. Program aplikasi computer (perangkat lunak) yang biasa

dikembangkan dapat berada dalam tiga bentuk:

1. Source-code

2. Intermediate-code

3. Executable-code

Source Code merupakan : Code-code yang langsung kita tulis dalam proses

pembuatan perangkat lunak computer, dan merupakan code sumber. Kode sumber dibuat

dekat dengan abstraksi (model) yang mudah dicema manusia.

Executable code hanya dikenal oleh Perangkat keras computer, tidak memahami

source code. yang kita buat, Executable-code adalah code yang bisa dieksekusi oleh

computer sedangkan. Source code tidak dapat dieksekusi oleh computer.Sedangkan

intermediate-code (kode antara) merupakan bentuk yang terletak diantara source-code

dan executable-code.

Dua Proses Tahap Translasi :

Dalam proses translasi dikenal 2 bentuk:

1. Translasi dari source-code ke intermediate-code

2. Translasi dari intermediate-code ke executable-code

Kedua operasi translasi ini umumnya dijalankan translator yang berbeda.

Yang perlu juga disampaikan di sini adalah bahwa kedua tahap translasi di atas

ada juga yang diwujudkan sedemikian sehingga kesan yang timbul hanya terjadi satu

tahap translasi3. Translasi dari source-code ke executable-code Compiler, Linker,

Interpreter

Merupakan perangkat translasi adalah perangkat utama translasi. Ketiganya

kata benda, dan bila kita ambil akar katanya (yakni kata kerja), kita] dapatkan compile,

link, dan interpret.

Tabulasi ketiganya diringkas sebagai berikut :

Input Output

Output file

ada?

Compiler Source-code

Intermediate-

code Ya

Linker (yang tidakbersifat

interpreter)

Intermediate-

code

Executable-code Ya

Interpreter (sebagailinker saja)

Intermediate-

code

Executable-code Tidak

Interpreter (tidaksebagai linker saja) Source-code Executable-code Tidak

Entri ketiga dan keempat dari tabulasi di atas dapat dijelaskan sebagai berikut. -

Program di kedua entri sama-sama dapat disebut interpreter (tidak menghasilkan output

file), dan sama-sama dapat disebut linker.

Perbedaan : linker di entri kedua memang hanya sebagai linker. Operasi link adalah

operasi penggabungan kumpulan intermediate code, sekaligus penterjemahan

intermediate-code ke executable code.

Contoh linker seperti kasus ini adalah linker java (nama executable file-nya

java).Linker di entri keempat tidak menggabung intermediate-code. Inputnya source-code,

bukan intermediate-code. Linker (dan interpreter) seperti ini misalnya adalah (OS) shell

interpreter. Hal relational-database oriented language seperti(Oracle) PL/SQL

dan (Microsoft) Transact-SQL.Linker di entri ketiga dan keempat berbeda dengan linker di

entri kedua. Linker di entri ketiga dan keempat tidak menghasilkan output file.

Variasi Pendekatan Translasi

Pendekatan translasi program komputer dalam bentuk source-code ke executable-code :

1. Full-interpretation. Translasi dari source-code langsung ke executable-code dengan

menggunakan sat tahap saja.

2. Mixed. Translasi dari source-code ke intermediate-code bersifat compile (dihasilkan

output file). Translasi dari intermediate-code ke executable-code bersifat interpret

(tidak dihasilkan output file).

3. Full-compilation. Translasi dari source-code ke intermediate-code bersifat compile

(output file ada). Translasi dari intermediate-code ke executable-code bersifat compile

juga (output file ada).Kata 'compile' dipakai sebagai istilah translasi yang

menghasilkan output file . Untuk selanjutnya, kata compile bermakna 'translasi dari

source-code ke intermediate-code (yang menghasilkan output file)'.

2. Karakteristik Bahasa Pemrograman

a. Aspek Psikologi

Psikologi perilaku dan kognitif dikonsentransikan dengan pemahaman perilaku

manusia, persepsi, proses kognitif dan keahlian mengontrol motorik, dan mengajukan

model proses tersebut yang dapat memberikan pengetahuan yang bermanfaat ke dalam

metode pencocokan mesin terhadap pengguna manusia.

Pengalaman psikologi menyediakan teknik evaluasi formal untuk mengukur

kinerja objektif dan opini subjektif dari sistem manusia-komputer.

b. Semantik Model

Semantik adalah aturan-aturan untuk menyatakan suatu arti. Sebuah model data

semantik dapat digunakan untuk melayani berbagai tujuan, seperti:

1. perencanaan sumber daya data 

2. pembangunan database dapat dibagikan 

3. evaluasi dari software vendor  

4. integrasi database yang sudah ada

Tujuan keseluruhan dari model data semantik adalah untuk menangkap lebih

makna data dengan mengintegrasikan konsep-konsep relasional dengan lebih kuat

abstraksi konsep-konsep yang dikenal dari Artificial Intelligence lapangan. Idenya

adalah untuk memberikan primitif pemodelan tingkat tinggi sebagai bagian integral

dari model data dalam rangka memfasilitasi representasi situasi dunia nyata

c. Aspek Engineer

Kelompok orang yang bekerja setelah kebutuhan perangkat lunak dibuat

(bekerja sama dengan system engineer saat mendefinisikan kebutuhan perangkat

lunak dam membuat deskripsi perancangannya).

d. Memlilih Bahasa pemrograman

Karakteristik Bahasa Pemrograman secara individu dipertimbangkan

ketika memilih sebuah bahasa target yang akan digunakan pada Pengembangan

Perangkat Lunak yang efisien, reliable dan pada Pemeliharaan perangkat lunak.

Seorang Software Engineer dapat memperlihatkan fitur-fitur bahasa

pemrograman yang mendukung pada pengembangan Perangkat Lunak berasal dari 2

aspek yang berbeda (Rujukan Bell, Morrey & Pugh, 1987) yaitu:

1. Programming-in-the Small, Menguji atau mencoba fitur-fitur yang mendukung

dengan Pengkodean program modul-modul tunggal dan program-program kecil

oleh kepentingan Programmer secara individu

2. Programming-in-the Large,Pemrograman ini merujuk pada pengembangan

sebuah system yang keseluruhannya dipengeruhi oleh koordinasi atas sekelompok

orang (Sofware Engineer), dimana setiap engineer membuat respon komponen-

komponen pada system dengan bagian yang berbeda-beda.

Berikut beberapa bahasa pemrograman yang banyak digunakan saat ini

a. Bahasa C

1.  Sejarah

Bahasa C merupakan perkembangan dari bahasa BCPL yang dikembangkan oleh

Martin Richards pada tahun 1967. Selanjutnya bahasa ini memberikan ide kepada Ken

Thompson yang kemudian mengembangkan bahasa yang disebut bahasa B pada tahun

1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C yang diciptakan oleh

Dennis Ricthie & W. Kerninghan tahun 1972 di Bell Telephone Laboratories Inc.

(Sekarang adalah AT & T Bell Laboratories).

2.  Aplikasi bahasa C

Bahasa C pertama kali digunakan di Computer Digital Equipment

Corporation PDP-11 yang menggunakan system operasi UNIX.

Bahasa C juga digunakan untuk menyusun operasi Linux.

Banyak bahasa pemrogaman popular seperti PHP dan Java menggunakan

sintaks dasar mirip bahasa C.

3. Kelebihan dan Kekurangan Bahasa C

Kelebihan Bahasa C :

Bahasa C tersedia hampir di semua jenis computer

Kode bahasa C sifatnya adalah portable dan fleksible untuk semua jenis

computer.

Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32 kata

kunci.

Proses executable program bahasa C lebih cepat.

Dukungan pustaka yang banyak.

C adalah bahasa yang terstruktur.

Bahasa C termasuk bahasa tingkat menengah.

Kekurangan Bahasa C :

Banyaknya operator serta fleksibilitas penulisan program kadang-kadang

membingungkan pemakai.

Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

b. Bahasa Java

1.  Sejarah

Java adalah nama untuk sekumpulan teknologi untuk membuat dan

menjalankan perangkat luinak pada komputer standalone ataupun pada

lingkungan jaringan. Orang orang yang berkecimpung dalam dunia

pemrograman lebih suka menyebut Java sebagai sebuah teknologi dibanding

hanya sebuah bahasa pemrograman, karena Java lebih lengkap dibanding

sebuah bahasa pe mrograman konvensional.

2.  Aplikasi Bahasa Java

Pemrograman jaringan

Pembuatan aplikasi berbasis windows

Program untuk membuat web

3.  Kelebihan dan Kekurangan

Kelebihan Bahasa Java :

Sederhana dan ampuh, java menyediakan sarana untuk membuat program

(applet) yang berjalan pada web browser. Programmer dapat

menggunakan applet kecil yang aman, dinamik, lintas platform, aktif dan

siap dijalankan di jaringan.

Aman, java dirancang dengan konsep keamanan internet.

Berorientasi objek, java tidak diturunkan bahasa pemrogaman manapun.

Java memiliki keseimbangan yang menyediakan mekanisme peng-class-

an sederhana dengan model antarmuka dinamik yang intuitif hanya jika

diperlukan.

Kokoh, java membatasi programmer dengan memberi kunci supaya

progamer dapat menemukan kesalahan lebih cepat saat mengembangkan

program.

Interaktif, java dirancang untuk menciptakan program jaringan yang

interaktif.

Netral terhadap berbagai arsitektur, java mampu berjalan dalam platform

apapun seperti PC, UNIX, Macintosh, dll.

Terinterpretasi dan berkinerja tinggi, java melengkapi keajaiban lintas

platform yang luar biasa dengan kompilasi ke dalam representasi langsung

yang disebut java code byte yang dapat diterjemahkan oleh system apapun

yang memiliki java interpreter dan java virtual machine.

Mudah dipelajari karena bersifat sederhana.

Mendukung koneksi ke database.

Kekurangan bahasa Java :

Java memiliki kecepatan yang kurang dari bahasa C ++.

Implementasi J2ME tidak global. Misalnya, J2ME untuk Motorola dengan

J2ME untuk Sony Ericson tidak sama. Berbeda lagi J2ME untuk Nokia.

Setiap produk selalu mempunyai modul tersendiri yang dinilai aneh

penerapannya dan harus di-compile dengan modul yang berbeda-beda.

Java memakan banyak memori computer.

Java merupakan bahasa yang kompleks dan susah dipelajari.

Program yang dibuat oleh bahasa ini lebih lambat disbanding program

yang dibuat dengan bahasa lain seperti C atau C++.

c. Bahasa Pascal

1.  Sejarah

Pascal dibuat pertama kali oleh Prof. Niklaus Wirth, seorang anggota

International Federation of Information Processing (IFIP) pada tahun 1971.

pascal berasal dari nama matematikawan yaitu Blaise Pascal. Pascal digunakan

untuk mengenalkan pemrograman terstruktur.

2.  Aplikasi Bahasa Pascal

Pascal dipakai sebagai landasan pembuatan kode perangkat lunak Delphi

(berbasis windows).

Pascal dipakai sebagai landasan pembuatan kode perangkat lunak Kylix

(berbasis Linux).

3.  Kelebihan dan kekurangan

Kelebihan bahasa Pascal :

Tipe data standar, tipe-tipe data standar yang telah tersedia bahasa

pemrogaman. Pascal memiliki tipe data standar Boolean, integer, char, real,

string.

User defined data types, programmer dapat membuat tipe data lain yang

diturunkan dari tipe data standar.

Strongly-typed, programmer harus menentukan tipe data dari suatu variable

dan variable tersebut tidak dapat dipergunakan untuk menyimpan tipe data

selain format yang ditentukan.

Terstruktur, memiliki sintaks yang memungkinkan penulisan program

dipecah menjadi fungsi-fungsi kecil (procedur dan function) yang dapat

dipergunakan berulang-ulang.

Sederhana dan ekspresif, memiliki struktur yang sederhana dan sangat

mendekati bahasa manusia (bahasa inggris) sehingga mudah dipelajari dan

dipahami.

Kekurangan bahasa Pascal :

Versi awal Pascal kurang cocok untuk aplikasi bisnis karena dukungan

basisdata yang terbatas.

Sintaks Pascal terlalu bertele-tele.

Tidak mendukung pemrograman berorientasi objek.

Pascal tidak fleksibel dan banyak kekurangan yang dibutuhkan untuk

membuat aplikasi yang besar.

d. Bahasa PHP

1.  Sejarah

PHP adalah bahasa pemrogaman web atau scripting language yang

didesain untuk web. PHP dibuat pertama kali oleh Rasmus Lerdford untuk

menghitung jumlah pengunjung pada homepagenya pada akhir tahun 1994. PHP

terus berkembang dari PHP 1 yang ditulis ulang Rasmus dalam bahasa C pada

tahun 1995 sampai PHP 4 yang diluncurkan tanggal 22 Mei 2000.

2.  Aplikasi Bahasa PHP

PHP digunakan sebagai landasan operasi pada pemrogaman jaringan berbasis

web.

PHP digunakan juga untuk pemrogaman database.

PHP digunakan untuk membuat aplikasi web.

3.  Kelebihan dan Kekurangan

Kelebihan :

PHP menjadi popular karena kesederhanaannya dan kemampuannya dalam

menghasilkan berbagai aplikasi web seperti counter, system artikel/ CMS, e-

commerce, bulletin board, dll.

PHP adalah salah satu bahasa server-side yang didesain khusus untuk

aplikasi web.

PHP termasuk dalam Open Source Product dan telah mencapai versi 4.

Aplikasi PHP cukup cepat dibandingkan dengan aplikasi CGI dengan Perl

atau Phyton bahkan lebih cepat disbanding dengan ASP maupun Java dalam

berbagai aplikasi web.

Tersedia baik di Windows maupun Linux, walau saat ini paling efektif di

web server Apache dan OS Linux.

Sintaks mirip C dan mudah dipelajari.

Komunitas yang ramai dan saling membantu, seperti di diskusiweb.com,

phpbuilder.com, phpindo.com, dll.

Berbagai script atau aplikasi yang gratis telah tersedia.

Kekurangan :

Tidak detail untuk pengembangan skala besar.

Tidak memiliki system pemrogaman berorientasi objek yang sesungguhnya.

Tidak bisa memisahkan antara tampilan dengan logic dengan baik.

PHP memiliki kelemahan security tertentu apabila programmer tidak jeli

dalam melakukan pemrogaman dan kurang memperhatikan isu konfigurasi

PHP.

Kode PHP dapat dibaca semua orang, dan kompilasi hanya dapat dilakukan

dengan tool yang mahal dari Zend.

e. Visual Basic

1.  Sejarah

BASIC adalah beginner all-purpose symbolic instruction code

dikembangkan tahun 1965 di Darmouth College oleh John Kemeny dan Thomas

Kurtz. Awalnya ditujukan untuk pengajaran dasar pemrogaman computer.

2.  Aplikasi bahasa Basic

Landasan pemrograman Visual Basic dan visual basic for application.

Bahasa pemrograman pada banyak produk Microsoft seperti untuk

administrasi dan otomatisasi batch skrip, windowskrip house.

Untuk pembuatan program kid Basic, FreeBasic, dan Gambas.

3. Kelebihan dan Kekurangan

Kelebihan :

Bahasa yang sederhana. Banyak hal yang mungkin sulit dilakukan jika kita

menggunakan bahasa pemrograman lainnya, akan dapat dilakukan dengan

mudah dengan menggunakan Visual basic.

Karena Visual basic sangat populer, maka sangat banyak sumber-sumber

yang dapat kita gunakan untuk belajar dan mengembangkan kemampuan

kau baik berupa buku, web site dll

Kita bisa memperoleh banyak tools baik gratis maupun tidak di Internet

yang akan sangat membantu menghemat waktu kita dalam pemrograman.

Kekurangan:

Visual Basic adalah bahasa pemrograman yang powerful, tetapi sebenarnya

tidak terlalu bagus untuk membuat game-game yang benar-benar

memuaskan.

Lebih lambat dibandingkan bahasa pemrograman lain.

f. Bahasa C++

1.  Sejarah

Bahasa C++ diciptakan oleh Bjarne Stroustrup tahun 1983 di Lab Bell.

C++ merupakan bahasa pemrograman berorientasi objek menggunakan kaidah

bahasa C

2.  Aplikasi bahasa C++

Sebagai bahasa pemrograman di Windows, UNIX, Linux.

Visual C++ dapat dibuat aplikasi apa saja seperti database.

Bahasa untuk pembuatan system operasi, game, system kendali,pembuatan

aplikasi

Untuk membuat bahasa baru atau membuat compiler bahasa baru

Untuk menulis komponen dan file-file pustaka bahasa lain

3.  Kelebihan dan Kekurangan

Kelebihan :

Merupakan induk dari bahasa pemrograman perl, php, phyton, visual basic,

gambas, java, C#.

Compiler bahasa C++ terdapat di semua platform.

Untuk pengembangan visual dijejali dengan platform yang sangat banyak

seperti OWL, MFC, Cocoa, QT, GTK, dll.

Merupakan pemrograman berorientasi objek.

Kekurangan :

Bahasa ini cukup sulit untuk dipel;ajari dan dipahami.

Banyaknya operator serta fleksibilitas penulisan program kadang-kadang

membingungkan pemakai.

Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

e. Bahasa pemrograman dan Software Engineering

Komponen perangkat dibangun dengan bahasa pemrograman yang memiliki

kosakata yang terbatas, sebuah tata bahasa yang dibatasi secara eksplisit serta aturan –

aturan syntax dan semantik yang dibentuk secara baik. Pada bahasa paling rendah,

bahasa – bahasa itu mencerminkan serangkaian instruksi perangkat keras. Pada

tingkat sedang, bahasa pemrograman seperti Ada 95, C, atau SmalTalk, dipakai untuk

membuat deskripsi prosedural dari program. Pada bahasa paling tinggi, bahasa –

bahasa tersebut menggunakan ikon grafik atau simbol lain untuk mewakili kebutuhan

akan sebuah pemecahan. Instruksi – instruksi yang dapat dieksekusi secara otomatis.

3. BAHASA PEMROGRAMAN DASAR

a. Macam-macam Tipe Data dan Pengelompokan Data

A. TIPE DATA SEDERHANA (SIMPLE - DATA TYPE)

- Adalah tipe data yang sudah ada dan dijadikan standar dalam bahasa

pemrograman tertentu.

- Isi dari tipe data sederhana ini adalah data-data tunggal.

STANDARD DATA TYPE

INTEGER

Contoh bilangan integer adalah: 34 6458 -90 0 1112 Penggolongan tipe data integer

tersebut dimaksudkan untuk membatasi alokasi memori yang dibutuhkan misalkan

untuk suatu perhitungan dari suatu variabel bilangan diperkirakan nilai aksimumnya

32767 kita cukup mendeklarasikan variabel bilangan sebagai integer (2 byte),

daripada sebagai longint(4 yte). Di dalam kompilernya, Pascal menyediakan

konstanta untuk bilangan Integer yaitu: MaxInt and MaxLongInt, pemrogram bisa

menggunakannya di dalam programnya tanpa harus terlebih dahulu

mendefinisikannya.

Contoh program integer

Program display_maxint;

uses wincrt;

begin writeln (maxint)

end.

Hasilnya: 32.767

REAL

Bilangan real atau nyata merupakan jenis bilangan pecahan, dapat dituliskan secara

biasa atau model scientific . contoh bilangan real: 34.265 -3.55 0.0 35.997E+11,

dimana E merupakan simbol perpangkatan 10. Jadi 452.13 mempunyai nilai sama

dengan 4.5213e2. Penggolongan tipe data bilangan real dapat dilihat pada tabel 2.

Bilangan Real

CHAR

Tipe data ini menyimpan karakter yang diketikkan dari keyboard, memiliki 266

macam yang terdapat dalam tabel ASCII (American Standard Code for Information

Interchange). Contoh: 'a' 'B' '+', dsb. Yang perlu diingat bahwa dalam menuliskannya

harus dengan memakai tanda kutip tunggal. Jenis data ini memerlukan alokasi memori

sebesar 1(satu) byte untuk masing-masing data.

STRING

Obyek yang terdiri atas deretan karakter

Tidak perlu ditentukan jumlah karakternya

Inisialisasi :

– Langsung tanpa kata kunci new

– Langsung dengan kata kunci new

BOOLEAN

merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE (benar) atau

FALSE (salah). Turbo Pascal for Windows memiliki tiga macam jenis ini yaitu:

Boolean, WordBool, dan LongBool. Tipe boolean memakai memori paling kecil,

sedangkan WordBool dan LongBool dipakai untuk menulis program yang sesuai

dengan lingkungan Windows.

Contoh Program Boolean

Contoh: Program display_bool;

uses wincrt;

begin writeln(ord(true));

writeln(ord(false));

end.

Hasilnya: 1 0 3.2.

B. TIPE DATA TERSTRUKTUR (STRUCTURED - DATA TYPE)

Tipe ini terdiri atas : array, record, set, dan file. String adalah tipe data jenis

array, tetapi karena string memiliki kekhasan tersendiri sebagai array dari karakter

maka penulis perlu memberikan penjelasan tersendiri. Sedangkan untuk array, record,

dan file perlu dijelaskan dalam bab yang lain karena agak banyak halhal yang perlu

dibahas.

1. ARRAY (LARIK)

- Larik adalah tipe data yang berisi beberapa data yang ditampung dalam satu

variabel yang memiliki tipe data yang sama.

- Masing masing data yang tertampung dalam sebuah larik akan ditandai

sebagai elemen pertama sampai ke - n.

- larik dapat dibuat beberapa dimensi, misalnya untuk menggambarkan matrix

kita perlu menggunakan larik 2 dimensi.

2. RECORD (REKAMAN)

- Tipe data rekaman di gunakan untuk menampung data yang terdiri dari

beberapa tipe yang berbeda.

- Record dapat diakses (diisi) dan dibaca per elemen record dengan menyebut

nama elemennya.

3. FILE

4. SET (HIMPUNAN)

- Tipe data himpunan merupakan sebuah tipe data yang didalamnya memuat

sejumlah elemen (anggota) dimana anggotanya memiliki tipe data dasar yang

sama.

C. TIPE DATA PENUNJUK (POINTER - DATA TYPE)

- Pointer secara harfiah dapat diartikan sebagai penunjuk.

- Tipe data pointer ini merupakan tipe data yang berisikan alamat memori

dimana data disimpan

b. SUBPROGRAM

Subprogram merupakan program bagian dengan blok terpisah dan didalam program

utama, dan akan dipanggil pada program utama jika subprogram itu diperlukan untuk

dijalankan.

Macam Subrogram :

Pada Pascal dikenal 2 Subprogram yaitu

- Procedure

Procedure digunakan untuk subprogram yang nilai outputnya boleh ada ataupun tidak

ada tetapi untuk Function nilai inputnya dan outputnya ada dan dapat dipanggil

langsung seperti sebuah variabel sehingga untuk function harus langsung

dideklarasikan tipe datanya.

- Function

Suatu program yang terpisah dalam blok sendiri yang berfungsi sebagai subprogram

(program bagian)

Banyak digunakan karena

• Merupakan konsep program modular yaitu memecah-mecah program yang rumit

menjadi bagian yang lebih sederhana

• Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja

dalam procedure dan dapat dipanggil

atau digunakan sewaktu-waktu bila diperlukan.

- Parameter

• Parameter bersifat Lokal artinya bahwa nilai yang terdapat didalam suatu modul

program hanya dapat digunakan pada modul yang bersangkutan sehingga tidak dapat

digunakan pada modul lain.

• Parameter bersifat Global artinya bahwa nilai dapat digunakan pada semua modul

maka nilai tersebut harus dideklarasikan di atas modul yang akan menggunakannya.

Pemanggilan Parameter

Pemanggilan parameter pada prosedur terdiri dari

2 yaitu :

• Parameter Secara Nilai ( By Value )

Bersifat satu arah, jika terjadi perubahan pada subprogram, maka tidak akan

mempengaruhi program utama.

• Parameter Secara Acuan ( By Reference )

Bersifat dua arah, jika terjadi perubahan pada subprogram, maka program utamanya

akan ikut berubah.

c. CONTROL STRUKTUR

• Struktur kontrol merupakan pengatur aliran program

• Rangkaian perintah yang harus ditulis untuk memenuhi beberapa keadaan, yaitu :

– Mengulang sebagian rutin karena tidak terpenuhinya suatu kondisi

– Melanjutkan sebuah pernyataan bila kondisi terpenuhi

– Memilih sebuah pilihan dari beberapa alternatif bila sebuah kondisi

terpenuhi

– Struktur Pengambilan Keputusan :

• If … Then

• If … Then … Else

• Select Case

Struktur Pengambilan Keputusan

- If … Then

Struktur Pengambilan Keputusan

- If … Then … Else

If kondisi Then perintah(untuk perintah satu baris)

 If kondisi Then

Perintah 1Perintah 2

…End If

(untuk perintah dengan banyak baris)

Struktur Pengambilan Keputusan

- Select Case

Looping

- FOR … NEXT

If kondisi 1 Then[perintah blok 1]

ElseIf kondisi 2 Then[perintah blok 2]

Else[perintah blok – n]

End if

Select Case kondisiCase ekspresi 1[perintah blok 1]Case ekspresi 2[perintah blok 2]Case else[perintah blok – n]

End Select

Adalah untuk mengulangi suatu perintah (instruksi) dalam jumlah yang telah

ditentukan, serta besar kenaikannya.

FOR counter = nilai-awal TO nilai-akhir [STEP kenaikannya]

…. Instruksi…

[Exit FOR]

…. Instruksi …

NEXT

- WHILE LOOP

Pernyataan while loop adalah pernyataan atau blok pernyataan yang diulang-

ulang sampai mencapai kondisi yang cocok.

Bentuk pernyataan while,

WHILE( kondisi ){

Instruksi1;

Instruksi2;

. . .

}

Pernyataan di dalam while loop akan dieksekusi berulang-ulang selama

kondisi

boolean_expression bernilai benar (true).

- DO WHILE … LOOP

Adalah untuk mengulangi suatu perintah (instruksi) selama While (suatu

kondisi) memenuhi syarat (bernilai TRUE) dan akan berhenti apabila while

tidak lagi memenuhi syarat (bernilai FALSE).

DO WHILE (kondisi) Dapat juga ditulis : DO

…. Instruksi… ….Instruksi….

[Exit Do] [Exit Do]

…. Instruksi … … Instruksi …

LOOP LOOP WHILE (kondisi)

4. CODING STYLE

a. Pengertian Dokumentasi

Dokumentasi adalah materi yang tertulis atau sesuatu yang menyediakan

informasi tentang suatu subyek. Dokumentasi dapat berisi tentang deskripsi-deskripsi,

penjelasan-penjelasan, bagan alir, daftar-daftar, cetakan hasil komputer, contoh-contoh

obyek dari sistem informasi.

Setiap program yang dibuat, seharusnya memiliki dokumentasi karena program

yang telah selesai dibuat belum tentu dapat langsung sempurna, sesuai dengan yang

diperlukan oleh penggunanya. Perlu ada :

pengembangan untuk dapat memenuhi keperluan penggunanya.

Terkadang program harus ada perbaikan, jika ternyata pada saat digunakan ditemukan

kesalahan.

Dokumentasi juga berguna untuk menginformasikan tentang proses yang ada

dalam program, sehingga jika ada pertanyaan tentang program yang dibuat memiliki

kemampuan apa saja, kita dapat mengetahui atau menjelaskan berdasarkan dokumentasi.

Dokumentasi program sangat diperlukan oleh pemilik aplikasi, jika ingin

mengembangkan aplikasinya bukan oleh pengembang yang sama. Pengembang lain yang

diserahi tugas untuk mengembangkan aplikasi dapat dengan cepat mempelajari dari

dokumentasi tersebut.

Macam dokumentasi program

Macam dokumentasi program:

1. dokumentasi spesifikasi program

Dokumentasi spesifikasi program seharusnya sudah ada sebelum program dibuat.

Dibuat oleh perancang aplikasi (sering kali dibuat oleh analis sistem). Berdasarkan

dokumentasi inilah program dibuat. Dokumentasi spesifikasi program ini dibuat untuk

memberikan panduan tentang logika program yang harus dibuat. Harus ada proses apa

saja, bagaimana flow prosesnya. Pemrogram dapat melakukan coding dengan lebih

mudah. Ketiadaan dokumentasi bisa menyebabkan komunikasi antara perancang

aplikasi dan pemrogram menjadi tidak baik, karena bisa jadi akan ada perselisihan

akibat ketidakjelasan akan apa yang dikerjakannya.

Dokumentasi spesifikasi program harus ada, walaupun secara global.

Setidaknya ada informasi tentang poin-poin yang harus ada dalam program, kemudian

bagaimana urutan prosesnya. Dokumentasi spesifikasi program menjadi pegangan

bersama antara perancang, pemrogram, dan penguji. Untuk memastikan bahwa

program yang dibuat sudah sesuai dokumentasi

2. Dokumentasi teknis program / kode

Dokumentasi kode program, merupakan dokumentasi yang harus ada dalam

program, untuk memberikan penjelasan kepada setiap baris atau pun blok perintah

dalam program.

Dokumentasi program diperlukan bagi programmer itu sendiri, untuk dapat

menelusuri logika program. Karena biasanya, pemrogram akan lupa akan alur

programnya sendiri. Apalagi jika sudah lama sudah ditinggalkan, karena mengerjakan

pekerjaan lain. Pada saat harus memperbaiki atau menyempurnakan, programmer

sering harus mempelajari terlebih dahulu alur programnya sendiri, baru kemudian

baru bisa melakukan modifikasi sesuai dengan yang diinginkan.

Dari sisi lain, dokumentasi juga diperlukan untuk memudahkan untuk

memvalidasi apakah program yang telah dikembangkan, sudah sesuai dengan yang

dispesifikasikan atau belum. Proses validasi ini akan dilakukan oleh tim penguji

(validator).

Dokumentasi kode program merupakan pelengkap dokumentasi spesifikasi,

karena menjelaskan bagaimana dari spesifikasi diterjemahkan ke dalam program.

Jika dokumentasi spesifikasi tidak ada maka dokumentasi kode program akan

menjadi dokumentasi yang sangat berharga, karena bukan menjadi dokumen

pelengkap tetapi menjadi dokumentasi utama.

Dokumentasi dalam kode program umumnya dilakukan dengan

menuliskan baris-baris komentar dalam kode sumber programnya. Isi dari

dokumentasi kode program, setidaknya terdiri atas:

langkah-langkah dalam program untuk menyelesaikan masalah

komentar dituliskan pada setiap awal modul atau fungsi,

jika mungkin komentar ditulis pada setiap blok program, jika tidak maka ditulis

pada blok-blok yang penting saja. Lebih baik lagi jika setiap baris ada

komentarnya.

Informasi tentang siapa yang membuat, kapan pertamakali dibuat, kapan

terakhir diperbaiki, jika mungkin informasi perubahan dari waktu ke waktu

Cara menuliskan komentar harus mengikut kepada cara penulisan yang baku.

Jika menggunakan bahasa pemrograman Java, maka dapat menggunakan format yang

telah ditetapkan oleh javadoc.

3. Dokumentasi penggunaan program 

Dokumentasi Penggunaan Program

Dokumentasi penggunaan program sangat diperlukan untuk dapat

memberitahu kepada pengguna bagaimana cara menggunakan program yang telah

dibuat. Jika tidak dibuatkan cara menggunakan programnya, dikhawatirkan program

menjadi tidak dapat dipakai, apalagi jika programnya kurang interaktif.

Banyak program yang dibuat, cara pemakaiannya sesuai dengan alur logika

pemrogramnya. Bukan berdasarkan alur logika pengguna program. Karenanya harus

dibuatkan dokumentasi cara menggunakan program, agar pengguna tahu bagaimana

cara menggunakan dengan benar.

Tools

Jika kita hanya memiliki dokumentasi kode program, maka kita dapat

mengambil dokumentasi dari kode program tersebut untuk menjadi seolah-olah

dokumentasi spesifikasi program. Kita harus menggunakan tools untuk melakukan

pengambilan dokumentasi kode program dengan menggunakan tools.

Agar dokumentasi dalam kode program dapat diambil oleh tools yang akan

digunakan, maka cara penulisan dokumentasi harus mengikuti standar tertentu. Jika

kita menggunakan Java, maka kita dapat menggunakan javadoc untuk mengambil

dokumentasinya. Untuk bahasa pemrograman lain ada juga toolsnya. Masing-masing

memiliki tools yang membantu untuk membuatkan dokumentasi dari dokumentasi

kode program.

Beberapa tools yang umum digunakan adalah:

javadoc

delphidoc

doxygen

b. Deklarasi

Dalam setiap penulisan bahasa pemograman deklarasi sangat digunakan

apabila dalam penulisan program dibutuhkan indentifier atau tanda pengenal.

Indentifier pada umumnya di buat oleh progremmmer yang digunakan untuk

mewakili nilai dari suatu object. 

Indentifier yang dikenal dalam Delphi adalah label, konstanta, tipe, fungsi,

procedure maupun variabel.

a. Deklarasi Variabel

Variabel adalah suatu nama yang digunakan untuk menyimpan suatu nilai

dari tipe data tertentu. Deklarasi variabel mengikut aturan sebagai berikut :

tipeData namaVariabel. Contoh berikut adalah deklarasi variabel dengan

menggunakan tipe data int :

int bilangan1;

int bilangan2;

Variabel bisa diinisialisasi (diberi nilai awal). Misalnya pada contoh di

atas kita melakukan inisialisasi sebagai berikut :

int bilangan1 = 0;

b. Deklarasi Tipe

Deklarasi ini digunakan untuk menyebutkan tipe setiap data yang akan

digunakan pada program Java ataupun bahasa lainnya Tipe data menentukan

jangkauan nilai yang mungkin dari data yang digunakan.

Tipe data dalam pemograman java dibagi menjadi empat kelompok yaitu:

- Tipe data integer atau bilangan bulat: byte, short, int, long.

- Tipe data float atau bilangan nyata: float, double

- Tipe data char atau karakter: char.

- Tipe data Boolean: Boolean

c. Deklarasi konstanta

Konstanta digunakan untuk menyimpan data yang tidak akan kita ubah.

Contohnya konstanta adalah phi (3,14). Dalam bahasa Java, konstanta dituliskan

dengan keyword (final) didepan tipe variabel. Sekali konstanta diberi nilai, maka

nilai tersebut tidak dapat diubah.

[modifier] final tipe identifier1, identifier2;

[modofier] final tipe identifier1 = nilai, identifier2 = nilai;

Contohnya:

final double PI = 3.14;

PI = 2 // error, kode tidak dapat dikompilasi karena PI sudah konstan

bernilai 3.14

tidak dapat diubah final int Y;

d. Deklarasi prosedur

Prosedur adalah sebuah blok program tersendiri yang merupakan bagian

dari program lain yang lebih besar. prosedur dapat dipanggil oleh program

utamanya ataupun oleh prosedur lain yang juga merupakan bagian dari program

utamanya (yang masih dalam satu kode program). sebuah program yang

mememiliki prosedur biasanya terdiri dari satu atau lebih prosedur dan satu

program utama.

Keuntungan dari pembuatan prosedur

1. Memecah program menjadi lebih sederhana. misalnya diperlukan proses

pencarian berkali kali jika hanya terdiri dari satu program utama tanpa prosedur

maka kode program pencarian akan beberapa kali ditulis ulang dan hasilnya

dapat memperbesar ukuran file

2. Blok program yang digunakan jelas jika akan digunakan pada program lain

cukup dengan mengkopi yang membutuhkan dan program lain tersebut tinggal

memanggil prosedur tersebut jika didalam java prosedur hampir mirip dengan

yang dinamakan Metod.  

prosedur hitungJumlah(input : integer hasil, integer operan1,  integer operan2)

{

hasil = operan1+operan2;

}

penjelasan 

hasil, operan1, operan2 adalah parameter dalam prosedur hitungJumlah dalam hal

ini jumlah parameter tidak terbatas namun prosedur yang baik biasanya memilki

parameter masukan paling banyak 7 buah parameter. masukan dari sebuah prosedur 

tidak harus berupa variabel, dapat lansung berupa nilai karena jika yang dijadikan

masukan adalah variabel, tetap saja yang diproses dalam prosedur adalah nilai dari

variabel itu, oleh karena itu dalam pemanggilan sebuah prosedur dapat dilakukan

dengan cara sebagai berikut ;

 hitungJumlah (1, 2, 3,4,.....n);

e. Deklarasi Fungsi

Fungsi adalah sebuah blok program yang tersendiri yang merupakan

bagian dari program lain yang lebih besar sama halnya dengan prosedur hanya

saja fungsi memiliki hasil keluaran sedangkan prosedur hanya berisi proses. 

Untuk menggunakan fungsi buatan sendiri, langkah pertama adalah

mendeklarasikannya

Fungsi ada dua jenis :

a. Mengembalikan nilai

Fungsi ini memiliki return value

Ciri-cirinya :

-Tidak ada keyword void

-Ada keyword return

Contoh deklarasi dari fungis/method

Int  nilaiTerbesar(int a, int b, int c)

{

// proses

Int hasil;

Return hasil;

Cara memanggil fungsi/ metode adalah

Nama_variabel = nama_fungsi (variabael_masukan);

Maximum = nilaiTerbesar (a, b, c);

b. Tidak Mengembalikan Nilai

Pada umumnya fungsi tanpa nilai balik (retrun value ) ini digunakan

untuk melaukukan proses-proses yang tidak menghasilkan nilai. Seperti

melakukan pengulangan, proses pengesetan nilai taupun yang lainya. 

Fungsi ini tidak memiliki return value

Ciri-cirinya :

– Terdapat keyword void

– Tidak ada keyword return

• Contoh :

Void nilaiTerendah(void){

Int j;

For (j=0; j<10; j++){

Printf (“pelajaran c++”); }

c. STATEMENT CONTRUCTION

• Struktur kontrol merupakan pengatur aliran program

• Rangkaian perintah yang harus ditulis untuk memenuhi beberapa keadaan, yaitu :

– Mengulang sebagian rutin karena tidak terpenuhinya suatu kondisi

– Melanjutkan sebuah pernyataan bila kondisi terpenuhi

– Memilih sebuah pilihan dari beberapa alternatif bila sebuah kondisi

terpenuhi

– Struktur Pengambilan Keputusan :

• If … Then

• If … Then … Else

• Select Case

Struktur Pengambilan Keputusan

- If … Then

Struktur Pengambilan Keputusan

- If … Then … Else

Struktur Pengambilan Keputusan

- Select Case

If kondisi Then perintah(untuk perintah satu baris)

 If kondisi Then

Perintah 1Perintah 2

…End If

(untuk perintah dengan banyak baris)

If kondisi 1 Then[perintah blok 1]

ElseIf kondisi 2 Then[perintah blok 2]

Else[perintah blok – n]

End if

Looping

- FOR … NEXT

Adalah untuk mengulangi suatu perintah (instruksi) dalam jumlah yang telah

ditentukan, serta besar kenaikannya.

FOR counter = nilai-awal TO nilai-akhir [STEP kenaikannya]

…. Instruksi…

[Exit FOR]

…. Instruksi …

NEXT

- WHILE LOOP

Pernyataan while loop adalah pernyataan atau blok pernyataan yang diulang-

ulang sampai mencapai kondisi yang cocok.

Bentuk pernyataan while,

WHILE( kondisi ){

Instruksi1;

Instruksi2;

Select Case kondisiCase ekspresi 1[perintah blok 1]Case ekspresi 2[perintah blok 2]Case else[perintah blok – n]

End Select

. . .

}

Pernyataan di dalam while loop akan dieksekusi berulang-ulang selama

kondisi

boolean_expression bernilai benar (true).

- DO WHILE … LOOP

Adalah untuk mengulangi suatu perintah (instruksi) selama While (suatu

kondisi) memenuhi syarat (bernilai TRUE) dan akan berhenti apabila while

tidak lagi memenuhi syarat (bernilai FALSE).

DO WHILE (kondisi) Dapat juga ditulis : DO

…. Instruksi… ….Instruksi….

[Exit Do] [Exit Do]

…. Instruksi … … Instruksi …

LOOP LOOP WHILE (kondisi)

d. Input dan Output

Program komputer bisa berguna jika ia bisa berinteraksi dengan dunia lain.

Interaksi di sini maksudnya input/outputatau I/O. Pada bab ini, kita akan melihat input

output pada file dan koneksi jaringan (network). Pada Java, input/output pada file dan

jaringan dilakukan berdasarkan aliran (stream), di mana semua objek dapat

melakukan perintah I/O yang sama. Standar output (System.out) dan standar input

(System.in) adalah contoh aliran.

Mencetak Keluaran dari Standard Output

Untuk mencetak keluaran, bisa menggunakan:

System.out.println("Hai!");

Membaca Masukan dari Standard Input

Ini adalah cara yang cukup mudah untuk digunakan. Pada bagian import, jangan lupa

definisikan:

import java.util.Scanner;

Penggunaan Scanner adalah sebagai berikut:

Scanner inputScanner = new Scanner(System.in);

String masukan = inputScanner.next();

System.out.println(masukan);

Untuk dapat menangkap input dari keyboard, maka kita harus menggunakan kelas

BufferedReader yang berada di java.io package.Sehingga di awal program kita harus

mencantumkan kelas tersebut pada kode program.

Contoh Pernyataan input pada Java.

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.IOException;

public class InputKeyboard

{

public static void main( String[] args ){

BufferedReader dataIn = new BufferedReader(new

InputStreamReader( System.in) );

String name = "";

System.out.print("Ketikkan nama anda:");

try{

name = dataIn.readLine();

}catch( IOException e ){

System.out.println("Error!");

}

System.out.println("Hai " + name +"!");

}

}

5. EFFICIENCY

Efisiensi merupakan tujuan yang harus dicapai dalam pengkodean.

Efisiensi yang harus dicapai meliputi :

Efisiensi Kode

Efisiensi Memori

Efisiensi Input / 0utput

A. EFISIENSI KODE

Efisiensi kode merupakan satu kesatuan dengan efisiensi algoritma yang

telah didefinisikan pada fase perancangan secara rinci.

Gaya dari pengkodean dapat mempengaruhi kecepatan pengerjaan dan

keperluan memori. Sejumlah petunjuk yang dapat digunakan adalah :

Menggunakan ekspresi arithmatik dan logika yang simpel.

Mengevaluasi perintah berulang apakah ada perintah yang berada diluar looping

(pengulangan).

Apabila memungkinkan menghindari pemakaian array multi dimensional.

Apabila memungkinkan menghindari pemakaian pointer.

Jangan mencampur tipe data kecuali diizinkan oleh

bahasa pemrograman.

B. EFISIENSI MEMORI

Efisiensi memori tidak dapat disamakan dengan pemakaian memori yang

sedikit, yang dimaksud dengan efisiensi memori disini adalah ke efisienan perintah

dalam program dan dalam menggunakan memori baik untuk pelaksanaan perintah

ataupun pada penyimpanan data.

C. EFISIENSI INPUT / OUTPUT

Terdapat 2 pertimbangan dalam efisiensi I/0 yaitu :

I/O yang berpengaruh secara langsung terhadap ,manusia. Di sini input yang

dimasukkan oleh pemakai cukup jelas dan mudah dimengerti begitu juga untuk

output

I/O yang berpengaruh secara langsung terhadap mesin, pada pertimbangan yang

ke dua tidak akan di bahas pada buku ini.

Petunjuk yang dapat digunakan untuk memperbaiki efisiensi I/0 adalah :

Jumlah pemakaian I/0 kalau memungkinkan dikurangi.

Seluruh I/0 kalau memungkinkan di simpan pada buffer.

Untuk pemakaian memori sekunder (disk) menggunakan

metode akses yang simpel dan mudah.

Dan lain-lain

6. STUDI KASUS

Class Diagram KRS Online

Login

//Kelas untuk membuat tampilan

import javax.swing.JOptionPane;

public class KRSAPP {

public static void main (String [] arg){

PemilihanMK PMK = new PemilihanMK();

PMK.milihMK();

LoginForm LF = new LoginForm();

LF.login();

String KRS = "KRS online";

JOptionPane.showMessageDialog(null, KRS);

}

}

public class LoginForm {

LoginFormManager LFM;

LoginForm()

{

LFM = new LoginFormManager();

}

public void login()

{

LFM.inputData();

}

}

public class LoginFormManager {

PenyimpananData PD;

LoginFormManager()

{

PD = new PenyimpananData();

}

public void inputData()

{

PD.membacaData();

}

}

//Kelas Penyimpanan Data

public class PenyimpananData {

Admin ADM;

PenyimpananData()

{

ADM = new Admin();

}

public void inputData()

{

ADM.konfirmasi();

}

//Kelas Membaca Data

public void membacaData()

{

masukPemilihanMK();

}

private static void masukPemilihanMK()

{

}

}

Pemilihan Mata Kuliah

//Tampilan

import javax.swing.JOptionPane;

public class KRSAPP {

public static void main (String [] arg){

PemilihanMK PMK = new PemilihanMK();

PMK.milihMK();

LoginForm LF = new LoginForm();

LF.login();

String KRS = "KRS online";

JOptionPane.showMessageDialog(null, KRS);

}

}

import java.util.Vector;

class PemilihanMK {

DaftarMK DMK;

PenyimpananData PD;

PemilihanMK()

{

DMK = new DaftarMK();

PD = new PenyimpananData();

}

public void milihMK()

{

Vector v = DMK.mintaDaftar ();

PD.inputData();

tampilkanMK();

}

private static void tampilkanMK()

{

}

}

public class DaftarMK {

public Vector mintaDaftar()

{

Vector v = new Vector();

return new Vector();

}

}

public class PenyimpananData {

Admin ADM;

PenyimpananData()

{

ADM = new Admin();

}

public void inputData()

{

ADM.konfirmasi();

}

public void membacaData()

{

masukPemilihanMK();

}

private static void masukPemilihanMK()

{

}

}

public class Admin {

Printer PTR;

Admin ()

{

PTR = new Printer();

}

public void konfirmasi ()

{

PTR.cetakData();

}

}

public class Printer {

public void cetakData()

{

keluarkanJadwal();

}

private void keluarkanJadwal()

{

}

}