PEMROGRAMAN TERSTRUKTUR, PEMROGRAMAN BERORIENTASI OBJEK SERTA PERBEDAANNYA

SISTEM PENUNJANG KEPUTUSAN [SPK]

PEMROGRAMAN TERSTRUKTUR, PEMROGRAMAN BERORIENTASI OBJEK SERTA PERBEDAANNYA

L.M. AMRIANSYAH

E1E1 09084

 

 

 

 


 

  • Pemrograman Terstruktur

Tujuan utama pemrograman terstruktur adalah membuat program lebih efisien (dengan baris kode lebih sedikit) dan lebih terorganisasi (lebih mudah dibaca) serta memilki notasi yang lebih bagus sehingga memili deskripsi yang jelas dan benar.

1. Menentukan logika program menggunakan pendekatan atas-bawah.
Menentukan logika program sama seperti membuat kerangka skripsi sebelum memulai menulisnya. Desain program atas-bawah dilakukan dengan mengidentifikasi elemen atas, atau modul, dari suatu program lalu memecahkanya secara urut sampai tingkat detail terendah. Desain ini digunakan untuk mengidentifikasi langkah pemrosesan program, atau modul. Setelah program didesain, coding sesengguhnya pun dilakukan dari bawah ke atas dengan menggunakan pendekatan modular

Modularisasi: konsep modularisasi sangat penting. Modularisasi sangat menyederhanakan pengembangan program karena setiap bagian bisa dikembangkan dan diuji secara terpisah. Modul merupakan langkah pemrosesan dari suatu program. Masing-masing modul tersusun atas pernyataan pernyataan program yang mempunyai hubungan logis. (Modul kadang-kadang dinamakan subprogram atau subrutin). Contoh dari modul bisa berupa instruksi pemrograman yang hanya mengatakan ” Bukan sebuah file, sebuah record, dan tampilkan layar pada tampilan”. Akan lebih baik jika masing-masing modul hanya memiliki satu fungsi, sama seperti paragraf dalam kalimat sebaiknya memiliki satu pikiran yang utuh. Aturan ini membatasi ukuran dan kompleksitas modul.

Desain Program atas-bawah: Desain program atas bawah (top-down) bisa digambarkan dalam satu bagan hirarki. Satu bagan hierarki, atau bagan struktur, menggambarkan tujuan program secara keseluruhan, dengan mengidentifikasi semua modul yang diperlukan untuk mencapai tujuan besar tersebut dan hubungan antar modul. Bgan ini bekerja mulai dari yang umum hingga yang khusus, memulai dari level atas (level tinggi) yang melihat pa yang harus dikerjakan program. Selanjutnya, masing-masing layer memperbaiki dan memperluas layer sebelumnya hingga level bawah bisa dibuat menjadi modul pemrograman yang khusus. Program harus berjalan sesuai urutan dari satu modoul ke modul berikutnya sampai semuanya diproses. Ada tiga modul utama yang sejalan dengan tiga operasi utama dari suatu komputasi – input, pemrosesan dan output.

2. Mendesain detail menggunakan pseudecode dan atau diagram alur.
Setelah menetukan logika program, selanjutnya Anda dapat menggarap detailnya dengan menggunakan pemrograman atas-bawah dan bagian hierarki. Ada dua cara untk membuat detail – menulis dan menggambarkanya menggunakan pseudecode atau diagram alur. Sebagian besar proyek menggunakan kedaunya.

Pseudecode: Pseudecode adalah metode mendesain suaru program dengan menggunakan pernyataan bahasa manusia untuk mendeskripsikan logika dan aliran proses. Pseudecode seperti sebuah kerangka atau bentuk rangkuman dari program yang Anda tulis.

Terkadang pseudecode hanya digunakan untuk menjelaskan tujuan modul pemrograman tertentu dan istilah yang umum. Dengan menggunakan istilah seperti JIKA, MAKA, atau JIKA TIDAK, pseudecode mengikuti aturan dari struktur kontrol, suatu aspek penting dalam pemrograman terstruktur.

Diagram alur program: Diagram alur program adalah bagan yang secara grafis menampilkan rangkaian langkah detail (algoritma, atau aliran logika) yang diperlukan untuk memecahkan masalah pemrograman. Diagram alur ini menggunakan simbol standar – yang disebut simbol ANSI, kependekan dari American National Standard Institute, lembaga yang mengembangkanya.

Simbol pada bagian kiri dari gambar akan tampak jelas. Akan tetapi, bagaimana Anda melihat logika dari suatu program? Bagaimana Anda menelaah program sehingga ia benar-bendar bekerja? Jawabanya adalah dengan menggunakan struktur kontrol, seperti yang kan dijelaskan berikut ini.

Struktur Kontrol: Ketika Anda menetukan logika di balik suatu hal, anda menggunakan kata-kata seperti jika dan maka, kemudian jika tidak. (Misalnya tanpa menggunakan kata-kata diatas, Anda akan menelaah baris berikut : ” Jika ia datang, maka kami kan nonton film, jika tidak saya kan tingal saja dirumah dan nonton TV”). Struktur kotrol juga menggunkan kata-kata yang sama. Kontrol struktur atau struktur logika adalah struktur yang mengontrolol sekuensi logis dimana instruksi program di eksekusi. Dalam mendesain program terstruktur, ada tiga struktur kontrol yang digunakan untuk membangun logika sebuah program, yaitu sekuensi, seleksi dan iterasi (atau loop).Inilah perangkat yang Anda gunakan untuk menulis program terstruktur dan melakukan pekerjaan diluar pemrograman. (Variasi tambahan dari ketiga struktur dasar ini juga digunakan).

Membandingkan Tiga Struktur Kontrol Ketiga struktur kontrol secara umum mempunyai satu masukan dan satu keluaran. Struktur kontrol dimasukan pada suatu titik dan dikeluarakan pada titik lain. Hal ini membantu menyederhanakan logika sehingga orang lain dapat dengan mudah mengikuti jejak programenr untuk membuat program dapat berjalan. (Sebelum ketentuan ini disahkan, programeer bisa mempunyai banyak variasi, yang mengarah pada program yang tidak bisa dipahami yang disebut spaghetti code.)

mari kita perhatikan ketiga kontrol tersebut.

Struktur kontrol sekuensi : Dalam strukur kontrol sekuensi, satu pernyataan program mengikuti yang lain dengan urutan yang logis. Misalnay seperti contoh yang ditunjukan pada gambar, ada dua kotak ( “Statement” dan “Statement”). Satu kotak bisa berbunyi “Buka File”, dan yang lain “Baca Sebuah Record”. Tidak ada keputusan yang dilakukan , tidak ada pilihan antara “ya” atau “tidak”. Kotak tersebut secara logis saling mengikuti dalam urutan sekuensial.

Struktur kontrol seleksi : Struktur kontrol seleksi – juga disebut striktur JIKA-MAKA-JIKA TIDAK- mempresentasikan pilihan. Struktur ini menerapkan dua jalur yang diikuti ketika program harus membuat suat keputusan. Contih struktur seleksi adalah :

JIKA jam kerja seorang pegawai dalam satu minggu adalah lebih dari 40
MAKA jam lembur sama dengan jumlah jam yang menjadi selisihnya
JIKA TIDAK pegawai tidak mempunyai jam lembur

Variasi sruktur kontrol seleksi yang biasa adalah struktur kontrol kasus.Struktur ini menawarkan labih dari satu keputusan ya atau tidak. Struktur kasus ini memberikan alternatif, atau kasus yang bisa ditampilkan. (JIKA kasus 1 terjadi, MAKA lakukan ….. JIKA kasus 2 terjadi, MAKA ikuti alternatif …… .” Dan seterusnya.) Struktur kontrol jika membuat programer tidak harus mengiindikasikan begitu banyak kondisi JIKA-MAKA-JIKA TIDAK secar terpisah.

Struktur kontrol iterasi : Dalam struktur kontrol seleksi, atau struktur kontrol loop, suatu proses bisa diulang selama kondisinya tetap benar. Ada dua tipe strutur iterasi – DO UNTIL dan DO WHILE. Dalam hal ini, DO UNTIL  lebih sering dugunakan.

Contoh struktur DO UNTIL adalah sebagi berikut :
DO read employee records UNTIL there are no more employee records.

Contoh struktru DO WHILE adalah sebagai berikut :
Do employee records while [that is, as long as] there continue to be employee records.

Apa perbedaan dari kedua struktur iterasi itu? Berikut adalah alasanya: jika beberapa pernyataan perlu , Anda harus memutuskan kapa berhenti mengulangnya. Anda dapat menghentikanya pada awal loop, dengan menggunakan struktru DO WHILE. Atau dapat mengakhirinya pada akhir loop, dengan menggunakan struktur DO UNTIL. Iterasi DO UNTIL berati pernyataan loop akan dieksekusi sedikitnya satu kali, karena dalam kasus ini pernyataan iterasi dieksekusi sebelum program mengecek untuk berhenti.

  • Pemrograman berorientasi objek

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,

Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

== Konsep dasar dari Pemrograman Berorientasi Objek Pemrograman orientasi-objek menekankan konsep berikut:

Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

Objek – membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

Abstraksi – Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

Enkapsulasi – Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

Bahasa pemrograman yang mendukung OOP antara lain:

Visual Foxpro

Java

C++

Pascal (bahasa pemrograman)

Visual Basic.NET

SIMULA

Smalltalk

Ruby

Python

PHP

C#

Delphi

Eiffel

Perl

Adobe Flash AS 3.0

  • Perbedaan Orientasi Objek Dengan Terstruktur

Sifat-sifat dari pemrograman terstruktur dapat diuraikan sebagai berikut :

Memuat teknik pemecahan masalah yang logis dan sistematis

Memuat algoritma yang efisien, efektif dan sederhana

Program disusun dengan logika yang mudah dipahami

Tidak menggunakan perintah GOTO

Biaya pengujian program relatif rendah

Memiliki dokumentasi yang baik

Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah

 

Berbeda dengan OOP. Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat :

Encapsulation (pembungkusan)

Encapsulation adalah mekanisme pemrograman yang membungkus kode dan data yang dimanipulasi dan menjaganya supaya terhindar dari interferensi dan penggunaan yang tidak perlu. Salah satu caranya dengan membentuk objek.

Inheritance (pewarisan)

Inheritance memungkinkan programer meletakkan member yang sama dalam satu class dan class-class lain dapat mewarisi member tersebut. Class yang mengandung member yang sama dari beberapa class lain dinamakan superclass atau parent class. Class yang mewarisi dinamakan subclass atau child class. Inheritance menghasilkan class hierarchy.

Polymorphism (polimorfisme –perbedaan bentuk)

Polymorphisme artinya mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai polymorphic, bila objek-objek itu mempunyai antar muka yang identik namun mempunyai perilaku-perilaku yang berbeda.

Bisa dikatakan pada pemrograman berorientasi objek, dapat dilakukan sebuah programming terhadap code yang lebih baik daripada pemrograman terstruktur, itu juga untuk kaliber atau skala rumit atau besar, sedangkan untuk coding yang skala kecil lebih mudah menggunakan pemrograman terstruktur dikarenakan lebih singkat dan mudah tanpa banyak perubahan yang penting.

berdasarkan penjelasan diatas, sangat jelas sekali bahwa pemrograman tersktruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien dan lebih murah dalam hal perawatannya tetapi permodelan ini lebih susah untuk dipahami oleh orang – orang selain pembuat program itu sendiri (contohnya ketika dlakukan tracing program ).

Sementara itu pemrograman berorientasi objek memliki beberapa keuntungan seperti :

1.Maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.

2.Pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya.

3.Dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan obyek-obyek yang yang dirancang dengan baik ke dalam sebuah tolkit rutin yang bermanfaat yang dapat disisipkan kedalam kode yang baru dengan sedikit perubahan atau tanpa perubahan pada kode tersebut.

Jadi, sangat jelas sekal bahwa pemrograman berorientasi objek sangat cocok sekali digunakan dalam kasus pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan kepada pemrogram seperti yang telah disebutkan diatas.

Permodelan yang mana yang lebih bagus? itu tergantung dari kebutuhan dan dari sudut pandang mana anda melihatnya. Yang perlu anda ingat adalah tujuan dari pemodelan itu sendiri, yang mana agar pada akhir proyek sistem dapat diperoleh sistem informasi yang memenuhi kebutuhan pemakai, tepat waktu dan sesuai anggaran, serta mudah digunakan, dimengerti dan dipelihara.

 

 

 

 

Tinggalkan komentar