Hi, I'm Azies welcome to my space. This is a documentation of stories and experiences of my life.

08 September, 2007

PENGANTAR PERANGKAT LUNAK:

PENGANTAR PERANGKAT LUNAK:
DESAIN PROGRAM TERSTRUKTUR

5.1 Pengertian

Perangkat Lunak (Software) berkualitas diperlukan untuk dapat mengoptimalkan penggunaan perangkat keras (hardware). Untuk mengembangkan software yang berkualitas memerlukan prosedur dan perencanaan yang baik, bebas dari kesalahan dan permasalahan, membutuhkan pengalaman, kepandaian serta ketelitian yang tinggi.

5.2 Tahapan Kerja

Untuk dapat mengembangkan software berkualitas perlu menempuh tahapan berikut:

  1. Defining the problem (pendefinisian masalah)
  2. Selecting the language (memilih bahasa pemrograman)
  3. Designing the program (perancangan program)
  4. Coding the program (pemrograman)
  5. Testing & debugging the program (test & pelacakan kesalahan program)
  6. Documenting program (pendokumetasian program)
5.3 Defining the problem

  1. Berangkat dari permasalahan yang akan diselesaikan
  2. Definisi dan pemahaman masalah secara utuh dikaitkan dengan pedefinisian informasi apa yang diperlukan untuk pemecahan masalahnya.
  3. Menentukan kebutuhan output yang akan dihasilkan berupa informasi berkualitas dan sesuai yang diharapkan.
  4. Menentukan kebutuhan input yang meliputi jenis dan bentuknya sesuai yang dibutuhkan program.
5.4 Selecting the language

Setelah jelas permasalahan, input dan outputnya, perlu ditetapkan bahasa yang akan digunakan, apakah akan menggunakan high level laguage (problem oriented language) atau assembler. Bila menggunakan bahasa tingkat tinggi, perlu disesuaikan dengan jenis permasalahannya. Misal bila permasalahan bisnis tidak tepat bila menggunakan FORTRAN, melainkan COBOL, dll. Secara umum pemilihan bahasa mempertimbangkan hal-hal berikut:
  • (1) Tipe permasalahannya
  • (2) Tingkat kesulitan
  • (3) Kemampuan penguasaan oleh Programmer
  • (4) Tipe pengolahan data
  • (5) Ketersediaan bahasa pemrograman
  • (6) Ketersediaan program library yang dapat menunjang bahasa yang dipilih
  • (7) Kemampuan bahasa
  • (8) Jenis bahasa: interpreter atau compiler
  • (9) Dukungan Vendor, terutama bila direlease versi update
  • (10) Kemampuan adaptif program bila dilakukan modifikasi di kemudian hari.
  • (11) Support hardware dan sistem operasinya.
5.5 Designing the program

Permasalahan besar dan rumit perlu dipecah-pecah menjadi paket permasalahan yang lebih kecil agar mudah dikelola, yaitu dengan menjadikannya beberapa modul dengan pendekatan terstruktur (structured approach). Modul adalah kumpulan instruksi yang melakukan suatu fungsi dasar yang mewakili bagian permasalahan tertentu dan bersifat indepeden. Perancangan yang efektif yang disebut design heuristics mempertimbangkan beberapa hal berikut:
  • (1) Setiap modul seyogyanya tidak berisi lebih dari 50 statemen dan tidak terlalu panjang, sehingga mudah dibuat, diperiksa, dan diverifikasi.
  • (2) Jumlah modul pada hierarkhi di bawahnya antara 3 hingga 10 modul (fan out atau span out)
  • (3) Menggunakan top down design, mulai menentukan kebutuhan secara umum terlebih dahulu, kemudian memecahnya menjadi modul-modul yang lebih sederhana.
  • Keuntungan pendekatan terstruktur di antaranya:
  • (1) Kebutuhan user dapat terakomodir secara integral.
  • (2) Perkiraan biaya seluruh kegiatan lebih mudah diperhitungkan
  • (3) Perkiraan waktu seluruh kegiatan lebih mudah diperkirakan
  • (4) Kemudahan dalam pengawasan dan pengendalian seluruh kegiatan
  • (5) Program aplikasi terencana dengan baik
  • (6) Memperkecil kesalahan dan mengurangi permasalahan
  • (7) Testing program dan implementasinya akan lebih murah
  • (8) Biaya editing akan lebih murah
  • (9) Perencanaan akan bersifat lebih fleksibel
  • (10) Merupakan pendekatan standar dalam design program
  • (11) Terbangun team yang solid dan tidak egoistik
  • (12) Dapat memilih personil yang kompeten di bidangnya
  • (13) Kebutuhan data dapat lebih terkontrol
  • (14) Pembuatan dokumentasi program akan lebih mudah
  • (15) Produk aplikasi akan lebih compatible
  • (16) Produk aplikasi akan lebih efisien, efektif dan mudah digunakan.
5.6 Alat Bantu dalam structured program
(1) Decision Table
Condition Stub, Action Stub, Condition Entry, Action Entry

(2) Program Flow Chart
Flow Chart adalah diagram alur dari urutan-urutan program yang disusun secara logika matematis sesuai dengan urutan kerja program yang menggunakan simbul-simbul tertentu.
Simbol-simbol yang dipakai pada Flow Chart yaitu :

5.7 Language Software (LS)

LS terdiri dari Assembler, Compiler dan Interpreter.
Assembler: Bahasa perakit (Symbolic Programming Language); menggunakan kode simbolik yang disebut mnemonic diterjemahkan ke dalam bentuk bilangan binari bahasa mesin (Object Program) menggunakan assembler.

Compiler/Interpreter: Program penterjemah source program yang ditulis dengan bahasa tingkat tinggi (high level language) menjadi program bahasa mesin (lebih dekat dengan User). Contoh Compiler: Fortran, Cobol, Pascal, C Language dll., Interpreter: Basic
Penulisan source program dengan bahasa tingkat tinggi dapat menggunakan text editor atau program pengolah kata.
Compiler dan Interpreter diperlukan karena meskipun penulisan program dengan bahasa simbolik lebih mudah dibanding bahasa mesin, namun beberapa kendala berikut masih tetap terjadi:
  • (1) Penulis program harus mengetahui susunan serta fungsi dari masing-masing register di Processor.
  • (2) Harus mengetahui dengan persis cara alokasi memori komputer yang dipergunakan.
  • (3) Harus mengetahui fungsi-fungsi yang disediakan oleh OS dll.
Keterkaitan antara Source Program, Object Program dan Compiler dalam proses kompilasi digambarkan sebagai berikut:

• Perbedaan Compiler dan Interpreter:
5.8 Analogi Compiler/Interpreter

Komunikasi komputer ibarat komunikasi dengan orang bisu/tuli perlu bahasa isyarat (sulit untuk yang belum biasa). Bahasa Isyarat diibaratkan sebagai bahasa mesin. Bila tetap memaksakan berlangsungnya komunikasi pakai bahasa sunda, berarti perlu penterjemah yang khusus agar orang bisu/tuli tersebut paham. Penterjemah sebagai Compiler/Interpreter.

Analogi Compiler:
Bila seluruh maksud (bahan komunikasi) diberikan sekaligus kepada penterjemah, dan penterjemah mengerjakan sekaligus ke dalam bahasa isyarat sebelum dikomunikasikan ke orang bisu/tuli tersebut serta memberikan hasil terjemahannya kepada kita, maka penterjemah disebut Compiler.
Analogi Interpreter:
Bila bahan yang diberikan kepada penterjemah sebagian-sebagian secara bertahap, kemudian setiap bagian tersebut langsung diterjemahkan dan hasilnya langsung dikomunikasikan kepada orang bisu/tuli serta disampaikan kepada kita hingga seluruh bahan yang kita berikan selesai diterjemahkan, maka penterjemah disebut Interpreter.

adds