MATERI PROGRAM BAHASA KOMPUTER (KONSEP DAN METODE PEMROGRAMAN)

KONSEP DAN METODE PEMROGRAMAN


Dalam sistem komputer, computer programming / pemrograman komputer memegang peranan yang penting sekali agar data masukan atau input dapat diolah dan ditransformasikan menjadi informasi keluaran atau output yang diperlukan oleh pengguna komputer / user.
Dengan bahasa pemrograman tertentu dapat dilaksanakan interaksi dengan komputer, sehingga tujuan pengumpulan, pengolahan, dan penampilan informasi bisa dikerjakan sesuai dengan spesifikasi yang telah ditentukan.
Seperti halnya dengan merancang dan membangun bangunan dalam ilmu teknik sipil, pemrograman komputerpun bisa sederhana dan gampang, tetapi juga bisa rumit dan sulit. Misalnya membuat program untuk irigasi sawah sangatlah sederhana dibandingkan dengan membuat program untuk menghitung bangunan bertingkat tinggi.
Program komputer adalah kumpulan perintah-perintah dalam bahasa dan sistem komputer tertentu, agar komputer melaksanakan proses pengambilan data, transformasi data, dan menyajikan informasi. Jadi dengan  demikian program dan pemrograman komputer ini harus dimengerti oleh orang-orang yang mengembangkan piranti lunak komputer.
Perkembangan terakhir dalam piranti lunak komputer menunjukkan semakin banyaknya program aplikasi / application program yang ditawarkan. Dalam menggunakan program aplikasi ini umumnya kita tinggal menggunakannya saja, tidak mengembangkan sendiri.
Program-program aplikasi inipun juga semakin rumit, diperlukan pengetahuan pemrograman komputer untuk mengoperasikannya. Jadi, pengguna komputerpun juga harus memahami proses pemrograman komputer. Kegunaan pengetahuan pemrograman komputer untuk pengguna komputer adalah  :
1.    agar bisa berkomunikasi secara tepat dan efisien dengan pemrograman komputer.
2.    agar bisa membuat program aplikasi yang paling sederhana, yaitu non-prosedural dan dialog interaktif dalam program aplikasi.
3.    pemakaian jaringan komputer dan pemrosesan terdistribusi menjadikan pengguna komputer juga sebagai pemrogram untuk komputernya sendiri.

Sebelum dibahas lebih jauh, perlu kita tinjau dahulu beberapa masalah yang ditemuai dalam pemrograman komputer, teknik-teknik serta alat bantu yang digunakan dalam pemrograman komputer.
Berikut ini apa yang kita lihat atau hal hal yang berkaitan erat dengan masalah pemrograman komputer  :

1.    Produktifitas pemrograman
Pengembangan program komputer memerlukan waktu yang lama. Sering program terlambat diselesaikan, atau kadang menunggu terlalu lama untuk menyelesaikan.
2.    Kualitas Program
Program yang telah diselesaikan masih mengandung banyak kesalahan atau tidak memenuhi kebutuhan pengguna. Program terlalu rumit, tidak didokumentasikan dengan baik, sehingga menyulitkan pembuatan koreksi ataupun pengembangan program lebih lanjut.

3.    Biaya pemrograman.
Biaya pengembangan dan pemeliharaan program adalah mahal, dan cenderung semakin mahal dibandingkan dengan harga perangkat keras komputer.

Reaksi dan usaha yang dilakukan menghadapi realita pemrograman diatas adalah digunakannya paket program yang sudah terprogram sebelumnya dan dikembangkannya teknik maupun alat bantu pemrograman. Di dalam teknik pemrograman misalnya, telah dikenal teknik pemrograman terstruktur / structured programming. Dengan menggunakan pola pemrograman  terstruktur, kita akan dibiasakan berpikir terstruktur agar mendapatkan program yang baik dan benar.


PROSES PEMROGRAMAN

Proses pemrograman merupakan sistem yang berkelanjutan dan memutar ulang. Karena kebutuhan data maupun informasi selalu berkembang, maka programpun perlu diperbaharui. Bahkan tidak hanya perangkat lunak programnya saja, tetapi juga perangkat keraspun juga harus disesuaikan dengan volume dan jenis data yang diinginkan. Berikut dibahas pokok-pokok konsep pemrograman, agar program yang dibuat mampu memproses data dan memberikan informasi yang diinginkan, fleksibel atau tidak kaku untuk pengembangan elanjutnya, dan idealnya juga portabel antar mesin maupun sistem.

Ciri-ciri Program yang Baik
Secara umum, program komputerpun juga harus tepat sasaran dan waktu, tidak mengandung cacat, murah pembuatan maupun pemeliharaannya, fleksibel dan didokumentasikan secara baik. Sudah barang tentu dalam batas-batas yang tidak menjadikan sistem terlalu mahal atau sulit melaksanakannya. Atau jika kita pilah-pilahkan adalah seperti berikut ini  :
-          Tepat sasaran  :  memenuhi spesifikasi pekerjaan yang ditentukan dan bekerja sesuai tujuan.
-          Fleksibel dan portabel  : fleksibel untuk mengembangkannya lebih lanjut, dan portabel antar sistem ataupun mesin.
-          Bersih dari kesalahan sistem maupun logik
-          Murah  :  efisien dalam penggunaan perangkat memori dan penyimpanan lainnya serta cepat waktu pelaksanaannya.
-          Didokumentasikan dengan baik untuk pemakai dan pemrogram.
Perencanaan dan implementasi untuk memenuhi persyaratan program yang baik tersebut dapat diartikan sebagai sistem yang berkelanjutan, sehingga harus ada kerjasama antara pengguna dan pemrogram.

Algoritma                                    
Perencanaan program komputer juga disebut pembuatan algoritma program. Secara umum, algoritma diartikan sebagai himpunan aturan ataupun perintah yang menentukan operasi-operasi tertentu yang diperlukan untuk menyelesaikan suatu masalah ataupun mengerjakan suatu tugas. Jadi, algoritma program menentukan metoda yang akan digunakan dalam memproses data agar menjadi informasi yang berguna.
Operasi tertentu berarti bahwa setiap instruksi ataupun perintah memberikan hasil tunggal dan tertentu pula. Sehingga, perintah dalam algoritma dilaksanakan dalam urutan tertentu. Selanjutnya, bila data yang digunakan benar, maka algoritma akan selalu berhenti dengan memberikan informasi yang di harapkan.
Satu cara pembuatan algoritma yang umum selalu dimulai dengan pokok masalah dan diteruskan dengan pemecahan sub masalah / top down design, demikian seterusnya hingga tingkat yang paling khas untuk suatu masalah. Agar tujuan pembuatan program yang baik tercapai, maka algoritma pemrograman selalu dikaitkan dengan  :
1.    kebenaran algoritma, yaitu bila program selesai maka hasilnya juga benar.
2.    efisiensi / complexity ruang memori komputer dan waktu pemrosesan program.

Dalam implementasi program, algoritma dapat dipengaruhi oleh tersedianya struktur data yang didukung oleh piranti lunak yang digunakan. Data struktur yang tersedia akan mempengaruhi efisiensi pengkodean dan efisiensi waktu pemrosesan program. Tetapi harap diingat, efisiensi dalam waktu proses tidak bererti efisien dalam ruang memori komputer, demikian juga sebaliknya.
Dengan majunya teknik piranti keras, untuk aplikasi tertentu, efisiensi algoritma diharapkan tidak terlalu menjadi masalah, karena diharapkan komputer mampu memproses lebih cepat dan memiliki ruang memori yang besar dengan harga yang murah. Demikian juga dengan majunya teknik piranti lunak komputer, mungkin sekali perencanaan dan pemrograman komputer menjadi lebih terpadu dan gampang, karena dari algoritma bisa menjadi flow-chart ataupun pseudocode.

Diagram Alir
Diagram alir atau flow-chart adalah representasi grafik langkah-langkah penyelesaian masalah, tugas , dan proses, atau juga bisa untuk menggambarkan komponen-komponen sistem. Jadi flow-chart adalah representasi grafis algoritma ( program dan sistem ). Representasi grafis yang digunakan berupa simbol-simbol khusus yang menyatakan lojik daripada pengembangan proses program komputer. Dalam bentuk yang paling sederhana, diagram alir yang menggambarkan sistem pemrosesan data, paling tidak terdiri dari tiga blok yaitu pengambilan data, pemrosesan data, dan penayangan keluaran informasi.



  
Gambar 4.  Diagram Alir Sederhana Hitungan Bunga Berganda

Diagram alir pada gambar 4 diatas bisa dikembangkan lebih lanjut, misalnya untuk menghitung apakah besarnya bunga masih memadai untuk suatu proyek tertentu seperti contoh di gambar 6.
Ada dua jenis diagram alir ; flow-chart system dan program flow-chart. Flow-chart system menggambarkan komponen dan alur daripada sistem. Sedangkan program flow-chart adalah gambaran grafik algoritma program, yang digunakan untuk menggambarkan lojik dan urutan program, coba-coba alternatif penyelesaian masalah, dan menjaga kesatuan alur program. Berikut dibrikan gambar simbol diagram alir yang biasa digunakan.


PEMROGRAMAN TERSTRUKTUR

Yang dimaksud dengan pemrograman terstruktur adalah metode pemrosesan data yang terstruktur baik didalam analisa sistem, metode pemrograman, dan pengkodean program.
Pemrograman terstruktur ini terbukti memberikan cara yang baik dan efisien dalam pemrograman komputer. Jadi merupakan langkah awal yang baik, baik pengguna ataupun pemrogram. Metode ini berkembang selaras dengan berkembangnya bahasa program prosedural seperti BASIC, FORTRAN, PASCAL, dan COBOL.

Prinsip Pemrograman
Untuk memprogram terstruktur dengan membagi masalah besar menjadi sub masalah yang lebih kecil, sementara juga tetap diperhatikan keterpaduan keseluruhan program, maka ada beberapa prinsip pemrograman yang perlu diikuti sebagai berikut  :
1.    gunakan top-down design / rancangan atas ke bawah
2.    bagilah program ke dalam modul lojik yang sejenis
3.    gunakan sub program untuk proses-proses sejenis yang sering digunakan. Dalam beberapa bahasa pemrograman, sub program dikenal sebagai SUBROUTINE , PROCEDURES, FUNCTION. Sub program yang memuat dokumentasi tujuan dari sub program dinamakan STUB
4.    gunakan pengkodean terstruktur IF – THEN, DO – WHILE, dan lainnya
5.    hindari penggunaan pernyataan GOTO bila tidak perlu
6.    gunakan nama konstanta dan variabel bermakna / mnemonic names
7.    buat dokumentasi yang akurat dan berarti.

Rancangan Atas ke Bawah
Mengkategorikan dan membagi sulosi masalah dari yang besar menjadi bagian-bagian yang kecil, atau dari atas ke bawah sangatlah menguntungkan dalam proses perencanaan solusi masalah. Rancangan ini juga memudahkan pengkodean, pengetesan, koreksi, dan dokumentasi program.

Tahapan dalam perancangan atas ke bawah adalah  :

1.    tentukan keluaran atau output yang diminta, masukan atau input yang diperlukan, dan proses-proses utama yang diperlukan untuk transformasi data
2.    membagi proses-proses utama ke dalam modul-modul fungsional
3.    buat algoritma masing-masing modul, dari modul utama ke sub-sub modul.

Setiap modul dalam proses rancangan atas ke bawah biasanya dibatasi dalam isi maupun batasan-batasan berikut  :

1.    setiap modul hanya memiliki satu masukan dan satu keluaran
2.    setiap modul hendaknya hanya mewakili satu fungsi program.

Banyaknya alat bantu yang digunakan untuk pembuatan rancangan atas ke bawah untuk pemrograman komputer, yang akan dibahas yaitu diagram alir dan pseudocode.


Gambar 5.  Simbol Diagram Alir Program dan Sistem
Keterangan  : 
Untuk Processing, Input / output, arah proses sama dengan simbol diagram alir program.

Pseudocode
Pseudocode adalah ekspresi lojik proses pemrograman dengan menggunakan ungkapan bahasa natural seperti Jawa, Indonesia, Inggris dan lainnya. Ungkapan yang digunakan lebih menyerupai perintah-perintah bahasa program, tetapi tanpa aturan bahasa program yang mengikat, hanya kata kunci / key words dari proses – proses utama diusahakan digunakan dalam pseudocode. Jadi pseudocode merupakan algoritma yang ditulis dengan gaya bahasa pemrograman, tetapi dengan aturan yang longgar.
Umumnya, pseudocode ditulis dengan dialek masing-masing bahasa pemrograman. Dengan menggunakan pseudocode, pemrogram dapat menyatakan idenya dengan mudah, natural, langsung pada proses dimaksud, dan dapat dengan mudah dikonversikan ke dalam kode program.

Berikut ini adalah merupakan pseudocode dari diagram alir gambar 4.
BEGIN
            Set bunga – r  = 15 %
            Set modal – p = Rp. 5.000.000
            Set waktu – n  = 5 tahun
            Set harga awal c = 0

            WHILE ( perolehan c <= Rp.10.000.000 ) DO
                        Hitung c = p ( 1 + r ) ^ n
                        Naikkan r = r + 0.1 %
            END

            IF ( r <= toleransi r max )
                Tawaran pinjamam OK
            ELSE  TOLAK
END

Pengkodean Terstruktur
Dengan bahasa pemrograman seperti BASIC, FORTRAN, PASCAL dan C, misalnya bisa dibuat kode pemrograman yang terstruktur dalam cara penulisan kode ataupun didalam struktur programnya sendiri, yaitu menggunakan kontrol pemrograman yang terstruktur.
Penulisan kode program terstruktur harus bisa menunjukkan alur pemrograman, dari program utama ke sub program, alur percabangan, dan alur proses pengulangan. Dalam bahasa pemrograman prosedural yang mutakhir seperti C misalnya, telah ada pembakuan pengkodean program. Penulisan dengan pengaturan spasi, spasi kosong dan garis kosong biasa digunakan untuk memisahkan antara nama program dan bagian dari program.
Tiga dasar kontrol pemrograman terstruktur yang digunakan adalah  :
1.    Struktur berurutan / sequence structure





2.    Structure seleksi / selection structure, yaitu keputusan pencabangan proses berdasarkan kondisi tertentu. Umumnya berbentuk IF- THEN - ELSE.  Dalam pemakaian kontrol seleksi harus hati-hati dalam menggunakan logika AND, OR dan NOT

3.    Struktur pengulangan / repetition, loop , yaitu pengulangan proses selama kondisi kontrol pengulangan masih dipenuhi. Umumnya berbentuk DO – WHILE – REPEAT, UNTIL, FOR, DO . yang perlu diingat dalam proses pengulangan adalah kondisi awal dan akhir dari pengulangan.



Gambar 6 menunjukkan contoh penggunaan ketiga kontrol program diatas, yang juga merupakan gambaran diagram alir dari pseudocode pada bab Pseudocode diatas.



                                           



Gambar 6.  Contoh Penggunaan Struktur Kontrol Pemrograman
Jenis Perintah Pemrograman
Jenis-jenis perintah untuk memprogram bergantung pada bahasa dan komputer yang digunakan oleh pemrogram. Pada umumnya, perintah pemrograman dapat dipilahkan sebagai berikut  :
1.    specification instruction / perintah spesifikasi.
Untuk menentukan media data yang akan digunakan, format record dan file, serta alokasi penyimpanan.
2.    I / O instructions / perintah masukan atau keluaran
Transfer data dan perintah antar Central Processing Unit dengan piranti masukan atau keluaran.
3.    data movement instructions / perintah perpindahan data.
Meliputi penyusunan dan pembuatan ulang data di dalam memori.

4.    arithmetic instructions / perintah aritmatika
Mengerjakan operasi matematik.

5.    logical instructions / perintah logik
Melakukan perbandingan, pengetesan kondisi, dan kontrol proses percabngan seperti ditunjukkan oleh diagram alir.

6.    control instructions / perintah kontrol
Memulai dan mengakhiri program, mengganti urutan program melalui proses percabangan, dan kontrol penggunaan sub program.


Sub Program
            Semakin besar dan beraneka informasi yang diperlukan, menjadi besar pula program yang harus dibuat. Walaupun demikian, program yang besar tersebut masih bisa dibagi dalam blok-blok fungsi tertentu yang dikenal sebagai modul, dan ada pula proses-proses tertentu yang biasa sering dipakai. Maka, dalam memprogram dikenalkan penggunaan sub program yang berfungsi sebagai modul ataupun fungsi pemrosesan tertentu.
Pada dasarnya ada dua jenis sub program, yaitu yang dibuat oleh pemrogram sendiri dan yang telah disediakan oleh bahasa pemrograman. Sub program yang telah disediakan bahasa pemrograman biasa disebut sebagai fungsi ( function ) atau subrutin ( subroutine ), penggunaannya harus mengikuti aturan tertentu yang telah dibakukan dalam bahasa yang dipakai. Sebaliknya, sub program yang dibuat oleh pemrogram semuanya harus ditentukan oleh pemrogram sendiri.
Dengan menggunakan sub program, maka proses pemrograman menjadi luwes dan alur lojik program menjadi jelas. Pemakaian sub program sangat diperlukan dalam pengembangan sistem pemrosesan terstruktur.

PEMERIKSAAN PENGETESAN DAN KOREKSI PROGRAM
Pemeriksaan kesalahan dan pengetesan program ( debugging ), dilanjutkan dengan koreksi program merupakan satu rangkaian kegiatan yang tak terpisahkan dalam proses pemrograman. Kegiatan-kegiatan ini dimulai dari awal perencanaan hingga pengkodean terakhir.
Berdasarkan kesalahan-kesalahan yang ditemui pada waktu pengetesan program, koreksi program diberikan. Pengetesan program dikerjakan untuk masing-masing modul ataupun keseluruhan kesatuan program dengan menggunakan data pengetesan maupun data asli.

Kesalahan Program
            Kesalahan sistem pengolahan data dengan komputer bisa dipilahkan sebagai kesalahan program dan kesalahan sistem.
Kesalahan program dibagi menjadi  :
-          kesalahan syntax
disebabkan oleh pengkodean yang tidak mengikuti aturan penulisan bahasa ataupun kesalahan pengorganisasian dan format data. Kesalahan ini langsung dideteksi oleh translator ( interpreter dan compiler ) dan relatif mudah membetulkannya.
-          kesalahan lojik program
disebabkan kesalahan lojik dari program. Ini bisa terjadi karena salah dalam penggunaan kondisi kontrol program, kesalahan data awal ataupun pemutakhiran / update data. Kesalahan lojik susah mendeteksinya karena tidak terdeteksi oleh translator. Jadi pemrogram sendiri yang bisa menelitinya.

Kesalahan sistem bisa terjadi dalam pemakaian mesin yang berbeda untuk program yang sama, tetapi bisa juga karena adanya kesalahan dalam sistem sendiri. Untuk kesalahan sistem harus diperiksa spesifikasi dari sistem.

Pemeriksaan Structured Walkthroughs
            Structured walktrough adalah cara yang baik dalam pemrograman terstruktur untuk merencana, mengkode, maupun pengetesan program. Dengan cara ini diusahakan agar kesalahan bisa terdeteksi sedini mungkin. Kesalahan yang kecil dan dalam modul yang lebih sederhana akan lebih mudah mengontrolnya daripada kesalahan dalam gabungan program besar.
            Inti pelaksanaan Structured walktrough adalah konsep team programming, yaitu cara proses pemrograman oleh beberapa pemrogram yang dilakukan bersamaan dengan dipimpin oleh seorang kepala pemrogram. Program yang telah dibuat oleh seorang pemrogram seawal mungkin diperiksa oleh pemrogram yang lain dalam interval tertentu. Sehingga kesulitan melihat kesalahan sendiri bisa dibantu oleh pemrogram yang lainnya.

Pengetesan
            Program yang telah diperiksa dengan baik adalah program yang telah di tes dengan data pengetesan yang disiapkan sebelumnya dan memberikan hasil seperti yang diharapkan. Data tes yang digunakan harus menggambarkan seluruh kemungkinan dalam pemrosesan data, termasuk data yang salah.
            Dalam pemrograman terstruktur, modul utama harus di tes terlebih dahulu. Adapun sub modul yang belum dikerjakan dibuat modelnya dahulu. Selanjutnya bila sub modul telah di tes, maka modul utama harus di tes ulang bersama sub modul yang telah selesai dikerjakan. Pengetesan sistem dikerjakan bila kesemuanya telah selesai di tes. Pengetesan terakhir dengan data asli biasa dikenal dengan verifikasi program, dan dilakukan dalam periode waktu tertentu.


DOKUMENTASI PROGRAM
Dokumentasi pemrograman harus dibuat sejak awal perencanaan hingga selesainya pengetesan sistem. Ada dua macam dokumentasi, yaitu dokumentasi dalam program dan dokumentasi dalam bentuk manual. Pada dasarnya, dokumentasi program adalah diskripsi lengkap perencanaan dan isi modul ataupun instruksi program.
Program dokumentasi sangat diperlukan sekali untuk menganalisa kesalahan, memodifikasi program, atau pemrograman ulang bila terjadi sebagian program hilang. Setiap ada perubahan dalam program harus selalu ada dokumennya, menunjukkan versi daripada program.
Dokumentasi program meliputi  :
1.    spesifikasi program  :  menjelaskan proses apa yang harus dilakukan program
2.    deskripsi program  :  meliputi diagram alir, list program, narasi proses yang diolah dalam program.
3.    Dokumen verifikasi  :  meliputi list data tes dan hasil output-nya,  dump dari memori, dan dokumen pengetesan lainnya.
4.    Dokumen pengoperasian  :  mencakup instruksi operasi yang menjelaskan tindakan-tindakan yang harus dikerjakan oleh operator selama berlangsung -nya proses program komputer.
5.    Dokumen pemeliharaan  :  deskripsi lengkap mengenai perubahan program setelah program diterima sebagai program yang operasional.


PEMELIHARAAN PROGRAM
            Pemeliharaan program berawal setelah program operasional diterima. Pemeliharaan program meliputi revisi program, dan sistem yang dikerjakan untuk mengembangkan pemutakhiran, ataupun koreksi yang perlu. Jadi menunjukkan versi program dan kemampuan mutakhir sistem.

            Pemeliharaan program dan sistem komputer lebih mahal dan lebih sulit dari awal pengembangannya. Oleh karena itu, untuk sistem dan aplikasi yang besar biasanya ada pemrograman khusus untuk pemeliharaan komputer ini. Dengan menggunakan pemrograman terstruktur, diharapkan pemeliharaan lebih mudah dilakukan asalkan dokumentasi program juga telah dibuat dengan baik dan benar.

Comments

Popular posts from this blog

LANGKAH-LANGKAH PEMBUATAN BENDA UJI CTB (CEMENT TREATED BASE) DENGAN BAHAN TAMBAH (ZAT ADITIF)

MATERI ILMU UKUR TANAH

CONTOH PROPOSAL SKRIPSI