Rabu, 03 November 2010

PENGENALAN UML

I. Pengertian UML
Jika pendekatan terstruktur memiliki DFD, ERD,
dsb yang digunakan sebagai tools-tools
perancangan sistemnya, maka UML berangsurangsur
mulai menjadi standart tools untuk
pembuatan OOP.
UML (Unified Modeling Language ) berangsurangsur
menjadi standar metodologi
pengembangan sistem informasi dan perangkat
lunak berorientasi objek.
Keunggulan UML :
1. Uniformity
2. Understandability
3. Stability
4. Reusability
II. Pengenalan diagram dalam UML
UML Menggunakan 9 macam diagram untuk
mendeskripsikan sistem/perangkat lunak yang akan
dikembangkan, yaitu :
1. Digram kelas
2. Digram Objek
3. Diagram use-case
4. Sequence diagram
5. Collaboration diagram
6. Statechart diagram
7. Activity diagram
8. Component diagram
9. Deployment diagram

Use case diagram
Use case diagram menggambarkan
fungsionalitas yang diharapkan dari sebuah
sistem. Yang ditekankan adalah “apa” yang
diperbuat sistem, dan bukan “bagaimana”.
Sebuah use case merepresentasikan
sebuah interaksi antara aktor dengan sistem

Class Diagram
• Class adalah sebuah spesifikasi yang jika diinstansiasi
  akan menghasilkan sebuah objek dan merupakan inti
  dari pengembangan dan desain berorientasi objek.
  Class menggambarkan keadaan (atribut/properti) suatu
  sistem, sekaligus menawarkan layanan untuk
  memanipulasi keadaan tersebut (metoda/fungsi).
• Class diagram menggambarkan struktur dan deskripsi
  class, package dan objek beserta hubungan satu sama
  lain seperti containment, pewarisan, asosiasi, dan lainlain.

Class Diagram
Class memiliki tiga area pokok :
1. Nama (dan stereotype)
2. Atribut
3. Metoda
Atribut dan metoda dapat memiliki salah satu sifat berikut :
• Private, tidak dapat dipanggil dari luar class yang
bersangkutan
• Protected, hanya dapat dipanggil oleh class yang
bersangkutan dan anak-anak yang mewarisinya
• Public, dapat dipanggil oleh siapa saja

StateChart Diagram
Statechart diagram menggambarkan transisi
dan perubahan keadaan (dari satu state ke
state lainnya) suatu objek pada sistem
sebagai akibat dari stimuli yang diterima.
Pada umumnya statechart diagram
menggambarkan class tertentu (satu class
dapat memiliki lebih dari satu statechart
diagram)

Activity Diagram
• Activity diagrams menggambarkan berbagai alir aktivitas dalam
sistem yang sedang dirancang, bagaimana masing-masing alir
berawal, decision yang mungkin terjadi, dan bagaimana mereka
berakhir. Activity diagram juga dapat menggambarkan proses
paralel yang mungkin terjadi pada beberapa eksekusi.
• Activity diagram merupakan state diagram khusus, di mana
sebagian besar state adalah action dan sebagian besar transisi ditrigger
oleh selesainya state sebelumnya (internal processing). Oleh
karena itu activity diagram tidak menggambarkan behaviour internal
sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi
lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari
level atas secara umum.

Sequence Diagram
• Sequence diagram menggambarkan interaksi antar objek di
  dalam dan di sekitar sistem (termasuk pengguna, display, dan
  sebagainya) berupa message yang digambarkan terhadap
  waktu. Sequence diagram terdiri atar dimensi vertikal (waktu)
  dan dimensi horizontal (objek-objek yang terkait).
• Sequence diagram biasa digunakan untuk menggambarkan
  skenario atau rangkaian langkah-langkah yang dilakukan
  sebagai respons dari sebuah event untuk menghasilkan
  output tertentu. Diawali dari apa yang men-trigger aktivitas
  tersebut, proses dan perubahan apa saja yang terjadi secara
  internal dan output apa yang dihasilkan

Collaboration Diagram
• Collaboration diagram juga menggambarkan
interaksi antar objek seperti sequence diagram,
tetapi lebih menekankan pada peran masingmasing
objek dan bukan pada waktu
penyampaian message.
Setiap message memiliki sequence number, di
mana message dari level tertinggi memiliki
nomor 1. Messages dari level yang sama
memiliki prefiks yang sama.

Component Diagram
• Component diagram menggambarkan struktur dan
hubungan antar komponen piranti lunak, termasuk
ketergantungan (dependency) di antaranya.
• Komponen piranti lunak adalah modul berisi code, baik
berisi source code maupun binary code, baik library
maupun executable, baik yang muncul pada compile
time, link time, maupun run time. Umumnya komponen
terbentuk dari beberapa class dan/atau package, tapi
dapat juga dari komponen-komponen yang lebih kecil.
Komponen dapat juga berupa interface, yaitu kumpulan
layanan yang disediakan sebuah komponen untuk
komponen lain.

Deployment Diagram
• Deployment/physical diagram menggambarkan detail
bagaimana komponen di-deploy dalam infrastruktur
sistem, di mana komponen akan terletak (pada mesin,
server atau piranti keras apa), bagaimana kemampuan
jaringan pada lokasi tersebut, spesifikasi server, dan halhal
lain yang bersifat fisikal
• Sebuah node adalah server, workstation, atau piranti
keras lain yang digunakan untuk men-deploy komponen
dalam lingkungan sebenarnya. Hubungan antar node
(misalnya TCP/IP) dan requirement dapat juga
didefinisikan dalam diagram ini.

Langkah-langkah Penggunaan UML (1)
1. Buatlah daftar business process dari level tertinggi untuk
mendefinisikan aktivitas dan proses yang mungkin
muncul.
2. Petakan use case untuk tiap business process untuk
mendefinisikan dengan tepat fungsionalitas yang harus
disediakan oleh sistem. Kemudian perhalus use case
diagram dan lengkapi dengan requirement, constraints
dan catatan-catatan lain.
3. Buatlah deployment diagram secara kasar untuk
mendefinisikan arsitektur fisik sistem.
4. Definisikan requirement lain (non-fungsional, security
dan sebagainya) yang juga harus disediakan oleh
sistem.
5. Berdasarkan use case diagram, mulailah membuat
activity diagram.

Langkah-langkah Penggunaan UML (2)
1. Definisikan objek-objek level atas (package atau domain) dan
buatlah sequence dan/atau collaboration diagram untuk tiap alir
pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal
dan error, buatlah satu diagram untuk masing-masing alir.
2. Buarlah rancangan user interface model yang menyediakan
antarmuka bagi pengguna untuk menjalankan skenario use case.
3. Berdasarkan model-model yang sudah ada, buatlah class diagram.
Setiap package atau domain dipecah menjadi hirarki class lengkap
dengan atribut dan metodanya. Akan lebih baik jika untuk setiap
class dibuat unit test untuk menguji fungsionalitas class dan
interaksi dengan class lain.
4. Setelah class diagram dibuat, kita dapat melihat kemungkinan
pengelompokan class menjadi komponen-komponen. Karena itu
buatlah component diagram pada tahap ini. Juga, definisikan tes
integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan
baik.

Langkah-langkah Penggunaan UML (3)
1. Perhalus deployment diagram yang sudah dibuat.
Detilkan kemampuan dan requirement piranti lunak,
sistem operasi, jaringan, dan sebagainya. Petakan
komponen ke dalam node.
2. Mulailah membangun sistem. Ada dua pendekatan yang
dapat digunakan
- Pendekatan use case, dengan meng-assign setiap use
case kepada tim pengembang tertentu untuk
mengembangkan unit code yang lengkap dengan tes.
- Pendekatan komponen, yaitu meng-assign setiap
komponen kepada tim pengembang tertentu.
3. Lakukan uji modul dan uji integrasi serta perbaiki model
berserta codenya. Model harus selalu sesuai dengan
code yang aktual
4. Piranti lunak siap dirilis.

IMPLEMENTASI OOP PADA PERANGKAT LUNAK PEMROGRAMAN

I. Implementasi OOP menggunakan Bahasa Pemrograman
• Penulisan kode program merupakan kelanjutan dari
proses perancangan
• Spesifikasi perangkat lunak :
a. Struktur data
b. Aliran dinamis dari kendali
c. Transformasi fungsional
• Beberapa bahasa pemrograman berorientasi obyek :
a. C++
b. Java
c. Smalltalk

• C++ adalah salah satu bahasa pemrograman komputer.
Dibuat pada tahun 1980an oleh Bell Labs sebagai
pengembangan dari Bahasa Pemrograman C. Salah
satu perbedaan yang paling mendasar dengan bahasa C
adalah C++ medukung konsep pemrograman
berorientasi objek (Object Oriented Language).
• C++ merupakan bahasa pemrograman yang case
sensitive.
• Contoh kompiler Produk dari Borland untuk kompiler
C++ adalah Turbo C++, Borland C++, Borland C++
Builder. Sedangkan dari Microsoft adalah Ms. Visual
C++.

• Java adalah bahasa pemrograman berorientasi objek
yang dikembangkan oleh Sun Microsystems sejak tahun
1991.
• Bahasa Pemrograman Java pertama lahir dari The
Green Project, yang berjalan selama 18 bulan, dari awal
tahun 1991 hingga musim panas 1992. Proyek tersebut
belum menggunakan versi yang dinamakan Oak. Proyek
ini dimotori oleh Patrick Naughton, Mike Sheridan,
James Gosling dan Bill Joy, beserta sembilan
pemrogram lainnya dari Sun Microsystems. Salah satu
hasil proyek ini adalah maskot Duke yang dibuat oleh
Joe Palrang.
• Java adalah bahasa pemrograman yang mirip dengan
C/C++
• Keunggulanya adalah Java dapat berjalan dibanyak
flatform perangkat keras(Multy Flatform).

• Smalltalk adalah bahasa pemrograman berorientasi
objek yang pertama kali populer.
• Smalltalk dikembangkan di Xerox PARC-Amerika
serikat.
• Ide dasar Smalltalk meliputi :
1. Semua adalah objek.
2. Objek bisa saling berkomunikasi melalui messages
atau berita.
3. Semua tersedia untuk dimodifikasi.

Beberapa hal yang harus diperhatikan dalam menentukan
Objek dalam suatu program
1. Correctness and Sufficiency
Dalam mendesain program sebaiknya kita memperhatikan
bahwa object-object yang kita desain dapat menjamin
kebenaran informasi dan juga kecukupan informasi yang
dibutuhkan
2. Robustness
Object-object yang kita desain sebaiknya dapat membuat suatu
program menjadi tangguh, dalam hal ini diharapkan program
yang dibuat memiliki error yang sedikit dan dapat bertahan
dalam situasi yang sulit sekalipun.
3. Flexibility
Object-object yang didesain sebaiknya mudah untuk diexpand
atau dikembangkan (bersifat flexibel). Hal ini dibutukan
karena dalam pembuatan program sering kali kita harus
merubah desain yang telah kita buat sebelumnya karena
adanya perubahan desain yang diinginkan oleh
user/pengguna.
4. Reusability
Kode-kode program yang telah kita buat, dapat kita gunakan
kembali. Hal ini haruslah terpenuhi dalam mendesain program
yang baik. Karena ketika kita menggunakan point ini maka
kita akan lebih mudah untuk me-manage program yang kita
buat, apalagi disaat kita harus mengganti suatu informasi
dalam program yang kita buat.
5. Efficiency
Desain yang kita buat sebaiknya efisien karena akan berkaitan
dengan penggunaan resource hardware yang kita gunakan.
Baik itu dalam faktor kecepatan maupun dalam faktor
penyimpanan data/program.
Beberapa hal diatas sangat penting untuk diterapkan agar
program atau aplikasi yang kita bangun lebih tangguh, sebab
menuliskan kode program tidak hanya sekadar mengetikkan
perintah-perintah yang menginstruksikan aplikasi untuk
mengerjakan sesuatu, tetapi dapat juga merupakan seni
membangun struktur kode program dengan kaidah tertentu.

B. Implementasi Konsep Pewarisan (inheritance) dengan
C++
class nama_kelas_turunan : sifat_penurunan
nama_kelas_dasar
{
.......// Implementasi kelas turunan
}
C++ memungkinkan untuk implementasi inheritance
Contoh program

• Program tersebut menunjukan pola dasar
  dari inherintance dimana sifat penurunya
  bisa berupa protected serta public.
• Protected : hanya dikenali oleh kelas-kelas
  turunan
• Public : fungsi yang dapat dibaca dan
  diakses oleh siapapun.

# include <iostream.h>
Class B
{
int a; // private; tidak bisa diwariskan
public :
int b; //public; siap untuk diwariskan
void get_ab();
int get_a(void);
void show_a(void);
};
Class D : public B //kelas turunan dari B
{
Class c;
Public;
Void multiply(void);
Void display(void);
};

Void B :: get_ab(void)
{a=5; b=10;
Int B :: get_a()
{return a;
Void B :: show_a()
{cout <<“a =“ << a <<“\n” ;
Void D :: multiply()
{c = b * get_a();
Void D :: display()
{cout <<“a = “ <<get_a <<“\n”;
cout <<“b=“ << b <<“\n”;
cout <<“c=“<<c <<“\n”;
//Program Utama
Main ()
{
D d;
d.get_ab() ;

d.Multiply ();
d.show_a() ;
d.B = 20 ;
d.Multiply () ;
d.display;
}

Hasil dari program tersebut setelah dijalankan :
a = 5
b = 10
c = 50
a = 5
b = 20
c = 100

Keterangan dari program :
• Kelas D adalah turunan yang bersifat public dari
kelas dasar B. Lebih jauh D mewarisi seluruh
data serta fungsi yang bersifat public. Anggota
yang bersifat public dari kelas dasar B juga
adalah anggota yang bersifat public pada kelas
turunanya(kelas D)
• Data serta fungsi yang bersifat private pada B
tidak diwariskan pada kelas D. Disamping fungsi
serta data yang merupakan warisan dari B,
Kelas D juga memiliki fungsi-fungsi yang bersifat
unik pada D yaitu multiply () serta display ().

OOP (OBJECT ORIENTED PROGRAMMING)

I. Pengertian
OOP (Object Oriented Programing) atau Pemrograman
Berorientasi Objek (PBO) adalah suatu cara baru dalam
berfikir serta berlogika dalam menghadapi masalah-masalah
yang akan di coba-atasi dengan bantuan komputer.
Tujuan utama dari pengembangan perangkat lunak atau
program berorientasi objek, dapat dijelaskan sbb :
Mempersingkat waktu dan menurunkan biaya
pengembangan rekayasa perangkat lunak.
Menurunkan biaya perawatan perangkat lunak.
Pemrograman berorientasi objek memberikan landasan
yang sangat berguna untuk pembuatan prototype sistem
secara cepat.

Kelebihan OOP :
• Memiliki sarana yang bersifat virtual
• Berorientasi kepada Objek
• Bekerja didalam sistem operasi windowa
• Menghasilkan program aplikasi berbasis windows
• Dapat memanfaatkan Windows untuk aspek Grafis,
  Multimedia dsb

II. Istilah-Istilah dalam OOP
Object adalah “benda” secara fisik atau konseptual (orang,
hardware, software, pintu, kuda dll).
Setiap Object memiliki 2 ciri khas, yaitu :
1. Atribut / property / data merupakan ciri-ciri Object
2. Methode / Behavior / Function Merupakan apa yang dapat
dilakukan oleh Object.
Contoh :
Orang / Manusia
Atribut :
- Tinggi
- Umur
- Berat
Methode :
- Jalan
- Lari

Class adalah himpunan object sejenis
Inheritance adalah penurunan atribut atau methode dari
suatu object ke object lainya.

III. Metode dan Objek
Ada 3(tiga) karakteristik utama bahasa pemrograman
berorientasi objek yaitu :
a. Enkapsulasi ( pengkapsulan )
Enkapsulasi merupakan gabungan beberapa type
data (record) dengan prosedur dan fungsi yang
membentuk suatu type data baru yang tepat. Hakikat
dari enkapsulasi ini adalah memadukan langkah
program dengan data yang ada didalamnya. Dengan
enkapsulasi anda dapat menyembunyikan didalam
objek, baik data maupun fungsi / prosedur. Hanya
dengan interface objek maka kita dapat mengakses datanya.

b. Inheritance ( penurunan sifat )
Penurunan sifat memungkinkan kita untuk membuat
sebuah objek baru yang sama dengan objek sebelumnya
yang telah didefinisikan. Karakteristik dari suatu objek
diturunkan ke objek yang lain sehingga objek yang baru
akan memiliki karakteristik yang sama dengan induknya.
Penurunan ini diawali dengan mendefinisikan objek induk,
sehingga dengan menggunakan objek induk tersebut, dapat
membuat objek yang bertumpu pada objek induknya.
Sehingga akan terbentuk objek keturunan. Dimana setiap
objek turunannya dapat mengakses semua data dan
program yang dimiliki oleh objek induknya.

c. Polimorphism ( keaneka ragaman )
Dengan polimorphism kita dapat membuat sebuah
objek baru yang menunjukkan fungsi-fungsi yang sama
dengan objek induknya, namun fungsi fungsi yang
sama tersebut memiliki operasi yang berbeda-beda.
objek yang masih didalam suatu hierarki dapat
menyusun objek yang lainnya, sesuai dengan
kebutuhan dari objek tersebut, yang artinya
pemrograman berorientasi objek ini menyangkup
keaneka ragaman objek yang menjamin terhimpunnya
perpaduan keaneka ragaman data dengan prosedur atau fungsi.

Analogi Polimorphism :
Sebuah kendaraan secara umum baik mobil maupun
sepeda motor memberi kemungkinan kepada kita untuk
melakukan operasi “maju”, “mundur”, “belok kanan/kiri”
atau “berhenti”. Namun keduanya tidak melakukan
operasi-operasi tersebut dengan cara yang sama.
- Lompat

APLIKASI PEMROGRAMAN BISNIS

I. TEKNIK PERANCANGAN PROGRAM ORIENTASI
BUSSINES
Berikut ini akan dijelaskan beberapa teknik
perancangan program didalam sebuah pemrograman
yang terstruktur untuk mendukung proses
pembangunan / pengembangan sistem
Penggajian(Payrol).
- Teknik perancangan file atau database dalam bentuk
spesifikasi file
- Teknik perancangan program dalam bentuk spesifikasi
program

Langkah-langkah didalam merancang file
Adapun mengenai langkah-langkah didalam perancangan
file tersebut adalah sebagai berikut :
1.Menentukan banyaknya jumlah kebutuhan file yang nanti
akan digunakan didalam program.
2.Menentukan Parameter dari file yang akan dibuat.
Program payrol adalah sebuah aplikasi yang melakukan
proses perhitungan gaji pegawai, dengan dasar input absen
dan proses dilakukan secara batch atau tunda(satu kali
dalam sebulan).

Sekilas analisa program payrol
Input :
– Data absen harian
Proses
Penghitungan Gaji
Parameter perhitungan
* Tunjangan pegawai(status pegawai)
* Gaji pokok(golongan)
* Rate lembur
Output
Laporan Gaji bulanan

Parameter File meliputi hal-hal sebagai berikut :
a. Menentukan NAMA-FILE
   Contoh : File-Induk-Pegawai, Rate_lembur, Absensi dll.
b. Menentukan AKRONIM-FILE
   Contoh : Pegawai.dbf, RateLembur.dbf, Absensi.dbf
c. Menentukan KODE-FILE
   Contoh : Pgw01, Rlembur01, Absen01
d. Menentukan TYPE-FILE (file induk,file transaksi dll)
   Contoh : File-Induk, File-kerja, File-input
e. Menentukan Panjang Record (RECORD-SIZE)
   Contoh : 180 Character,
f. Menentukan ORGANISASI-FILE
   Contoh : Index-Sequential
g. Menentukan ACCESS-FILE
   Contoh : Random
h. Menentukan MEDIA-FILE
   Contoh : Harddisk
i. Menentukan FIELD-KEY
   Contoh : Nomor induk pegawai (NIP)
j. Menentukan SOFTWARE yang digunakan
   Contoh : MySql

Langkah-langkah merancang PROGRAM
Adapun mengenai langkah-langkah didalam perancangan
program adalah sebagai berikut :
a. Menentukan Parameter dari Program yang akan dibuat.
b. Menentukan banyaknya jumlah kebutuhan program yang
nanti akan dibuat.
Parameter Program meliputi hal-hal sebagai berikut :
1. Menentukan NAMA-PROGRAM
Contoh : Program Penggajian
2. Menentukan AKRONIM-PROGRAM
Contoh : payRol.class
c. Menentukan KODE-PROGRAM
Contoh : pR01
d. Menentukan FUNGSI-PROGRAM
Contoh : Program running otomatis sesuai tanggal
setting yang disepakati(hari gajian) dengan Crontap
proses.
e. Menentukan PAKET-PROGRAMMING LANGUAGE
Contoh : Java
f. Menentukan bentuk SISTEM FLOWCHART /
PROGRAM FLOWCHART
g. Mentukan bentuk PROSES-PROGRAM secara rinci
dan detail

Selasa, 02 November 2010

ORGANISASI DAN AKSES FILE

I. ORGANISASI & AKSES FILE
Ada beberapa tipe organisasi file data yang digunakan,
yaitu susunan berurutan (sequential), berurutan diindeks
(indexed sequential), acak (random), dan acak diindeks
( indexed random ). Tujuan organisasi data di dalam
pemrograman terstruktur adalah :
Untuk menyediakan sarana pencarian record bagi
pengolahan, seleksi, atau penyaringan.
Memudahkan penciptaan atau pemeliharaan file .

Organisasi file data harus mempertimbangkan beberapa hal
penting, yaitu sebagai berikut :
1. Kemudahan dalam penyimpanan dan pengambilan data.
2. Kecepatan akses data/ efisiensi akses.
3. Efisiensi penggunaan media penyimpanan (storage
device).
Menurut penggunaannya ada 2 cara :
1. Batch;
Suatu proses yang dilakukan secara group atau kelompok.
2. Interactive;
Suatu proses yang dilakukan secara satu persatu, yaitu record demi
record

Terdapat dua jenis alat penyimpanan data file yang digunakan,
yaitu
1. Piransi Akses Serial ( Squential Access Storage Device
atau SASD). Alat penyimpanan dengan penyusunan dan
pembacaan data secara berurut yaitu satu catatan mengikuti
catatan lain.
Contoh peralatan yang termasuk jenis ini adalah magnetic
tape dan pita magnetic. Ciri - ciri dari piranti ini adalah
sebagai berikut :
a. Proses pembacaan rekaman harus berurutan.
b. Tidak ada pengamatan.
c. Data disimpan dalam blok – blok.
d. Proses write hanya bisa dilakukan sekali saja.
e. Kecepatan akses datanya, sangat tergantung pada:
1. Kerapatan pita ( char/inci ).
2. Kecepatan pita ( inci/detik ).
3. Lebar celah / gap antar blok.

Keuntungan dan kerugian SASD:
Keuntungan:
-Merupakan organisasi file yang sederhana.
-Jarak setiap aplikasi yang tersimpan sangat jelas.
-Metode penyimpanan didalam memory sangat sederhana,
 sehingga efisien untuk menyimpan record yang besar.
-Sangat murah untuk digunakan, sebab medianya cukup
 menggunakan magnetic tape.
Kerugian:
-Seandainya diperlukan perubahan data, maka seluruh record
 yang tersimpan didalam master file, harus semuanya diproses.
-Data yang tersimpan harus sudah urut (sorted).
-Posisi data yang tersimpan sangat sulit untuk up-to-date, sebab
 master file hanya bisa berubah saat proses selesai dilakukan.
-Tidak dapat dilakukan pembacaan secara langsung.

Piranti Akses Direct ( Direct Access Storage Device atau
DASD).
Alat penyimpanan dengan penyusunan dan pembacaan
datanya langsung pada posisinya.
Contoh piranti akses tipe direct adalah cakram magnetic
(magnetic disk) yang terdiri dari hard disk atau floppy disk.
Piranti ini mempunyai ciri :
a. Pembacaan rekaman tidak harus urut.
b. Mempunyai alamat.
c. Data dapat disimpan dalam karakter atau blok.
d. Proses write dapat dilakukan beberapa kali
Keuntungan DASD:
Access secara langsung dengan tanpa harus membaca
seluruh data yang dimilikinya

Tiga metode susunan organisasi data file dalam media
penyimpanan fisik yang lazim untuk digunakan, yaitu sebagai
berikut :
1. Sequential
Metode ini memiliki ciri-ciri sebagai berikut:
•Rekaman disimpan berurutan.
•Pencarian record tertentu dilakukan secara berurutan dari
awal
•Metode ini baik untuk digunakan sebagai penyimpanan
yang bersifat periodik dan menyeluruh( backUp).

2. Random.
Dalam metode ini kunci rekaman ditransformasikan ke
alamat penyimpanan dalam media fisik secara acak
(random). Metode ini akan menimbulkan beberapa
masalah, yaitu adanya alamat yang muncul lebih dari satu
kali, dan ada alamat yang tidak pernah muncul sama sekali.
Permasalahan seperti ini diatasi dengan teknik overflow
location, yaitu dengan menggunakan alamat yang ada
disampingnya.

3. Indexed Sequential.
Metode ini memilki ciri-ciri sebagai berikut:
a. Merupakan gabungan sequential dan random
b. Record disimpan secara sequential dan menggunakan
kunci.
c. Masing-masing record diberi indek
d. Pengalamatan dilakukan secara random

TIPE FILE

I. Tipe dari file
A. File Master

a. File Referensi
Data yang tetap dimana pengolahan terhadap data
tersebut memerlukan waktu yang lama. Data yang
terdapat pada file referensi ini sebagai contoh
adalah file Mahasiswa, yang apabila akan diperbaiki
(di edit) untuk jangka waktu yang lama, misalnya jika
terjadi perbaikan pada pengisian data untuk alamat
(jika mahasiswa tersebut pindah alamat rumah)
maka isi data pada alamat untuk mahasiswa yang
bersangkutan harus diperbaiki
b. File Dinamik
Data yang ada dalam file berubah tergantung
transaksi. Misalkan saja file mata kuliah yang
didalamnya terdapat informasi tentang seluruh mata
kuliah yang terdapat di suatu lembaga pendidikan. Isi
dari file mata kuliah dapat di perbaiki (di edit) jika
kondisi yang ada dimasa depan mengharuskan
adanya pergantian mata kuliah dengan nama mata
kuliah yang baru dan sks yang juga baru, maka
perbaikan data untuk isi file mata kuliah mutlak
dilakukan. Hal ini yang disebut dengan penyetaraan
mata kuliah.

B. File Input (Transaksi)
Berisi data masukkan yang berupa data transaksi
dimana data-data tersebut akan diolah oleh komputer.
Macam file transaksi yang ada pada lembaga
pendidikan adalah file ujian, file nilai dan file
pembayaran kuliah. File transaksi akan senatiasa
mengalami perubahan sesuai dengan periode waktu
tertentu

C. File Laporan
Berisi informasi yang akan ditampilkan. File ini berisi
informasi yang akan ditampilkan dalam sebuah laporan.
Isi dari Laporan yang dihasilkan biasanya berasal dari
penggabungan file master dan file transaksi, tetapi tidak
semua isi dari file-file tersebut ditampilkan, melainkan
hanya informasi tertentu saja yang ditampilkan sesuai
dengan laporan yang diinginkan.

D. File Sejarah (History)
File sejarah disebut juga sebagai file arsip yaitu file
yang berisi data-data dimasa lalu yang sudah tidak aktif
lagi, tetapi perlu disimpan untuk keperluan di masa yang
akan datang atau sebagai dokumentasi.

E. File Backup (Pelindung)
Berisi salinan data-data yang masih aktif di database
pada suatu waktu tertentu. File ini berisikan salinan
(Copy) dari suatu file entah file master maupun file
transaksi. Adapun isi (informasi) dari file backup ini
sama persis dengan file aslinya. Jika ada yang
diperbaiki maka hasil perbaikan data tersebut harus
dibuatkan kembali backup dari file yang diperbaiki.

F. File Kerja (Temporary File)
Berisi data-data hasil pemrosesan yang bersifat
sementara. File ini berisi data yang sifatnya sementara
(tidak permanent) dalam arti hanya numpang lewat saja,
tetapi file ini dapat berfungsi untuk mempercepat dan
optimalisasi dari pengolahan data.

G. File Library
Berisi program-program aplikasi atau utility program. File
ini berisi program-program bantu yang dapat berfungsi
untuk mempercepat dan optimalisasi dari pengolahan
data. Misalkan dalam file gaji yang mana mempunyai
keterhubungan dengan file pendidikan pegawai (untuk
mencari jenjang pendidikan dari seorang karyawan), file
absensi (untuk megetahui data kehadiran pegawai) dan
file lembur (untuk mengetahui intensitas kelebihan jam
kerja yang dimiliki oleh seorang pegawai).

ANALISA STRUKTUR PROGRAM LANJUTAN

I. Struktur Program
A. Struktur Berurutan (Sequence Structure)
Struktur Berurutan adalah struktur program yang paling
sederhana. Setiap baris program akan dikerjakan secara
urut dari atas ke bawah maka hanya ada satu cara
memulainya yaitu dari bagian atas, dan cara untuk
keluarnya yaitu dari bagian bawah.

Struktur Seleksi(Selection Structure)
Struktur seleksi untuk melakukan proses pengujian pada
suatu kondisi dalam pengambilan keputusan. Kondisi adalah
suatu syarat yang mempunyai nilai kebenaran True atau
False.

Ada beberapa macam struktur instruksi IF atau Sruktur
Seleksi yaitu :
Struktur seleksi dengan IF
1. Statement If berguna untuk memilih satu dari dua
kemungkinan yang ada. terjadi apabila kita dihadapkan
pada suatu Kondisi dengan dua pilihan BENAR/ SALAH.
Bentuk Umum :
if (kondisi)
pernyataan ;
2. Statement/Perintah IF ...... ELSE
Bentuk umum :
if (kondisi)
perintah1;
else
perintah 2;
end-if
3. Statement/Perintah Nested IF
Pernyataan if yang berada dalam pernyataan if yang lain
Bentuk umum :
if (syarat)
if (syarat)
....perintah;
else
....perintah;
else
if (syarat)
....perintah;
else
....perintah;

Selain menggunakan instruksi IF, Struktur Seleksi juga dapat
menggunakan instruksi Switch Case (Seleksi Ganda).
Untuk masalah tertentu instruksi Switch Case lebih memberi kejelasan
dibandingkan dengan instruksi IF.
Bentuk umum dari Switch Case
Bentuk Umum :
switch (ekspresi integer atau karakter)
{
case konstanta1:
...perintah;
break;
case konstanta2:
...perintah;
break;
default :
...perintah;
break;
}

C. Struktur Perulangan ( Looping Structure )
Struktur perulangan akan melakukan proses berulang ulang
selama selama Kondisi bernilai True atau selama kondisi
perulangan terpenuhi.
Dan Kondisi akan berhenti jika hanya keadaan berubah
menjadi false atau kondisi perulangan tidak terpenuhi.

Bentuk umum penulisan proses LOOP :
1. Statement While
2. Statement Do.....While
3. Statement FOR
a. Statement FOR Positif
b. Statement FOR Negatif
c. Statement FOR bersarang ( Nested Loop )

1. While
Perulangan akan terus akan dilaksanakan selama syarat
tersebut terpenuhi.
Bentuk Umum :
while (syarat)
pernyataan ;
2. Statement Do.....While
Perulangan akan dilaksanakan terlebih dahulu dan
pengujian perulangan dilakukan belakangan.
Bentuk Umum :
do
pernyataan;
while (syarat);
3. Statement For
Bentuk Umum :
For (inisialisasi; syarat pengulangan; pengubah nilai)
Inisialisasi : pemberian nilai awal
pengubah nilai : mengatur naik/turun
Contoh :
Untuk perulangan positif
for (a =1; a<=10; ++a)
Untuk perulangan negatif
for (a=10; a>=1; --a)

Nested For
Perulangan for di dalam perulangan for lainnya.
Bentuk Umum :
For (inisialisasi; syarat pengulangan; pengubah nilai)
{
For (inisialisasi; syarat pengulangan; pengubah nilai)
{
perintah ;
}
}

II. Compiller Dan Interpreter
Source program yang telah ditulis dengan bahasa
pemrograman tingkat tinggi, tidak dimengerti oleh komputer
karena komputer hanya mengerti bahasa mesin. Oleh
sebab itu source program harus di terjemahkan ke dalam
bahasa mesin terlebih dahulu sebelum dijalankan
Source program Penterjemah Machine language

Terdapat 2(dua) jenis penterjemah yaitu :
1. Compiller
Compiller merupakan penerjemah bahasa
pemrograman yang menterjemahkan instruksi-instruksi
dalam satu kesatuan modul ke dalam bahasa mesin
sehingga dihasilkan suatu file executable.
2. Interpreter
Interpreter merupakan penerjemah bahasa
pemrograman yang menterjemahkan instruksi demi
instruksi pada saat eksekusi program.

III. Debugging Dan Bentuk Kesalahan program
Debugging adalah penghilangan semua kesalahan yang
ditemukan pada saat pengujian. Kesalahan terjadi
karena kecerobohan desain logika dan pengkodean.
Adapun macam-macam bentuk kesalahan program
yaitu :

SYNTAX ERROR
Bentuk kesalahan program yang disebabkan karena
kesalahan didalam hal penulisan instruksi didalam
program.
Contoh.
- Count ( dalam bahasa C++ )
- Retur ( dalam bahasa C++ )
- dan lain-lain

RUN TIME ERROR
Bentuk kesalahan program yang disebabkan karena
adanya proses arithmathic yang ILLEGAL / tidak bisa
diproses.
Contoh.
- B = ( 0 / 3 )
- Akar Minus
- dan lain-lain

LOGIC ERROR
Bentuk kesalahan program yang disebabkan karena
HUMAN-ERROR-LOGIC (kesalahan logika program
yang dibuat oleh programmer)
Contoh.
- Hasil / output program yang tidak sesuai
- Kesalahan program yang tidak dapat dideteksi
- dan lain-lain