1 1. STRUCTURED ENGLISH (SE) Structured English (SE) adalah peralatan pengembangan system yang menggunakan struktur bahasa inggris dan mirip bahasa pemrograman. SE merupakan alat yang efisien untuk menerangkan algoritma dalam bentuk narasi bukan dalam bentuk grafik dan mirip dengan pseudocode. Karena kemiripan mereka, SE dan pseudocode sering tertukar. Selain kemiripan yang ada, SE dan pseudocode memiliki perbedaan dalam fungsinya. SE digunakan untuk komunikasi antara perancang dengan pemakai dalam menjelaskan algoritma, sedangkan pseudocode digunakan untuk komunikasi antara perancang dengan programmer. SE sering digunakan dengan DFD untuk mendokumentasikan proses-proses yang ada dalam system. Macam-macam level DFD menerangkan bahwa pemrosesan merupakan teknik yang diaplikasikan dari atas-ke-bawah (top-down). Pada beberapa point, teknik grafik DFD kurang efektif jika dibandingkan dengan teknik narasi, untuk menutup ketidak-efektifan ini maka SE harus diperkenalkan.
Petunjuk dalam membuat Structured English SE bukan merupakan alat standar pengembangan system. Tidak ada ketentuanketentuan tetap yang harus diikuti oleh pemakai alat ini. Meskipun demikian, ada sejumlah ketentuan yang membedakan SE dengan alat narasi formal seperti pseudocode. Ketentuan-ketentuan adalah : 1. Gunakan hanya tiga bentuk pemrograman terstruktur, sepeti urutan seleksi/kondisi, dan perulangan/iterasi 2. Gunakan kata kerja bila menerangkan tiap langkah pengolahan 3. Tambahkan kata kerja dengan satu atau lebih objek bila perlu 4. Gunakan nama-nama data yang telah didefinisikan dalam kamus data. Nama-nama ini dapat berupa alur data, data store, struktur data atau elemen data. 5. Gunakan huruf besar untuk semua nama data, sintaks komputer, seperti START, STOP, IF, THEN dan ELSE.
2 6. Indent untuk menunjukkan struktur system secara hirarki. Kata-kata pada level hirarki yang sama harus diindentkan dengan jumlah spasi yang sama. 7. Bila dokumentasi dibagi ke dalam beberapa modul, gunakan baris pertama masingmasing modul untuk label pengindentifikasi dan berikan baris kosong diantara modul. 8. Tiap modul harus hanya memiliki point entry dan exit tunggal. Bila pembuatan SE dilakukan dengan mengikuti ketentuan-ketentuan di atas, maka SE yang akan terbentuk semakin mudah dimengerti dan mudah dikomunikasikan dengan profesional system lainnya.
Contoh Pemakaian Petunjuk Dalam Membuat Structured English Sub bab ini merupakan beberapa contoh bagaimana petunjuk pembuatan SE diimplementasikan.
Kata Kerja dan Objek Umumnya
entri-entri
yang
ada
dimulai
dengan
kata
kerja
seperti
READ,COMPUTE atau WRITE. Ada dua entri yang hanya akan terdiri dari satu kata kerja dan tidak akan membutuhkan suatu objek, yaitu START dan STOP. Gunakan entri START pada awal dokumentasi system dan STOP pada akhir logika. Akhir logika mungkin tidak sama seperti akhir fisik, seperti yang akan dilihat kemudian. Beberapa entri akan membutuhkan satu objek tunggal, seperti READ, RECORD PENGGAJIAN. Ada juga beberapa entri yang membutuhkan banyak objek, seperti COMPUTE GAJI-POKOK,UANG-LEMBUR,GAJI-KOTOR. Dalam contoh-contoh ini, tanda “-“ diikutsertakan dalam nama-nama data sesuai dengan bagaimana nama-nama tersebut didefinisikan dalam kamus data. Karakterkarakter lainnya dapat juga digunakan, seperti titik atau garis bawah.
Bentuk pemrograman terstruktur Bentuk pemrograman terstruktur yang biasa digunakan pada SE adalah urutan, pilihan dan perulangan.
3 Struktur urutan. Bila struktur urutan didokumentasikan, entri-entri dituliskan pada margin yang sama satu sama lain, misalkan : READ COMPUTE WRITE Struktur Pilihan – IF-THEN Bila struktur pilihan didokumentasikan gunakan format IF-THEN sebagai berikut IF (kondisi) THEN Tindakan bila kondisi benar END IF Perlu diingat bahwa IF dan END dituliskan pada margin yang sama Contoh : IF (JAM = or < 40) THEN COMPUTE PEMBAYARAN-KOTOR = TARIF-UPAH . JAM-KERJA END IF Dari contoh di atas terlihat bahwa kondisi ditandai dengan tanda kurung Struktur Pilihan – IF-THEN-ELSE Gunakan format berikut untuk situasi IF-THEN-ELSE. Format ini adalah : IF (kondisi) THEN Tindakan bila kondisi benar ELSE Tindakan bila kondisi salah END IF Perlu diingat bahwa THEN dan ELSE dan aksi benar dan salah ditulis pada margin yang sama. Contoh struktur isi adalah sebagai berikut : IF (JAM =or < 40) THEN COMPUTE PEMBAYARAN-KOTOR = TARIF-UPAH . JAM-KERJA ELSE COMPUTE PEMBAYARAN-KOTOR = (TARIF-UPAH . 40) + ((JAMKERJA . 40) . TARIF-UPAH . 1,5) END IF
4 Dan contoh diatas, terlihat bahwa asterisk atau “.” Mewakili operasi perkalian. Pada SE sintaks pemrograman tidak perlu selalu diikuti, sehingga lambang perkalian “.” Dapat diganti dengan “x”. Jadi contoh diatas dapat diubah penulisannya dengan “Tarifupah x Jam-kerja”. Perlu diingat bahwa tanda kurung yang diberikan untuk mengendalikan perhitungan sama dengan tanda kurung yang digunakan dalam kode program. Begitu juga dengan baris kedua dari statement COMPUTE ditulis lebih masuk ke dalam, teknik ini disarankan untuk digunakan bagi entry-entry yang panjang. Untuk struktur pilihan, lebih baik mengikuti format seperti yang ditampilkan pada Gambar 1
IF (kondisi-1) THEN aksi-1 ELSE IF (kondisi-2) THEN aksi-2 ELSE aksi-3 END IF END IF
Gambar 1. Format Entry IF Struktur Perulangan – DO WHILE, Bila pendokumentasian struktur perulangan dilakukan format DO WHILE akan dapat dilihat seperti format dibawah : DO WHILE (kondisi) Tindakan END DO Contoh berikut merupakan perhitungan gaji yang dilaksankan berulang sampai jumlah record dalam file habis.
5 DO WHILE (masih ada record gaji) COMPUTE GAJI KOTOR COMPUTE PAJAK PENDAPATAN COMPUTE GAJI BERSIH END DO Struktur Perulangan – DO UNTIL. Format DO UNTIL akan dapat dibuat seperti format di bawah ini : DO UNTIL (kondisi) Tindakan END DO Contoh berikut adalah suatu model matematika yang mengaktifkan file persediaan dan mencetak jumlah stock tiap hari sampai jumlah hari yang telah ditentukan tercapai.
DO UNTIL (JUMLAH.HARI = BATAS.HARI) READ STOCK.AWAL,PEMBELIAN,PENJUALAN COMPUTE STOCK.AKHIR = STOCK.AWAL +PEMBELIAN-PENJUALAN WRITE STOCK.AWAL,PEMBELIAN,PENJUALAN,STOCK.AKHIR END DO Struktur Perulangan – for. Format struktur perulangan FOR dapat dilihat seperti format di bawah ini ; FOR tiap-item Tindakan Contoh di bawah adalah contoh untuk mencetak slip gaji untuk tiap record pegawai. FOR tiap-record-pegawai PERFORM Cetak-slip-gaji
Format-format untuk ketiga struktur ini digunakan oleh banyak programmer ketika menggunakan permrograman terstruktur.
6 Dari contoh-contoh di atas terlihat bahwa hampir semua kata menggunakan huruf besar, hal ini karena banyak dan kata-kata tersebut merupakan nama –nama record atau elemen data, atau kata-kata yang merupakan sintaks dalam bahasa pemrograman. Contoh pendokumentasian yang menggunakan kata-kata huruf kecil dapat dilihat pada gambar 2. Dari gambar 2 terlihat bahwa kata-kata yang ditulis dengan huruf kecil adalah kata-kata yang bukan merupakan nama-nama data ataupun sintaks dalam bahasa pemrograman. Pembuatan SE untuk suatu program atas system lebih baik dibagi ke dalam beberapa modul. Gambar 3 menggambarkan teknik pembuatan SE ke dalam modul. Tiap modul diberi nama dan antara modul satu dengan yang lain dipisahkan dengan satu baris kosong. Contoh pada gambar 3 memasukkan logika yang digunakan untuk menghitung komisi dari salesman-salesman. Perlu diingat bahwa format yang ada pada gambar 3 mengikuti pemrograman terstruktur dengan modul utama adalah Proses-data-penjualan.
DO WHILE (masih ada record PESANAN PENJUALAN) IF (data salah) THEN IF (dapat diperbaiki) THEN Buat perbaikan ELSE Kembali ke pelanggan END IF END IF END DO
Gambar 2. Contoh penggunaan kata-kata dengan huruf kecil
7
START Pemberian harga awal TOTAL.PENJUALAN, TOTAL.KOMISI = 0 Proses data penjualan DO UNTIL (akhir file) PERFORM Baca-data PERFORM Proses-data PERFORM Cetak-data END DO Total akhir PRINT TOTAL.PENJUALAN, TOTAL.KOMISI STOP Baca-data READ RECORD PENJUALAN Proses-data IF (JUMLAH.PENJUALAN > 1000000) THEN KOMISI = 100000 + (JUMLAH PENJUALAN – 1000000) . 0,15 ELSE KOMISI = JUMLAH.PENJUALAN . 0,10 END IF Akumulasikan TOTAL.PENJUALAN, TOTAL.KOMISI Cetak-data PRINT baris detail
Gambar 3. SE untuk program perhitungan komisi
8 2. PSEUDOCODE Pseudocode merupakan suatu alternative dari SE dan mirip dengan beberapa kode pemrograman, seperti COBOL, PL\1, Fortran, PASCAL. Dengan demikian mudah bagi para programmer untuk menggunakan dan mengerti pseudocode, tetapi pseudocode tidak cocok bagi sesorang yang bukan programmer. Apabila SE digunakan, beberapa rincian seperti pembukaan dan penutupan file-file, pemberian harga awal, atau pemakaian flag tidak termasuk dalam bentuk SE, sedangkan pseudocode mengikutsertakan semua hal tersebut. Seperti halnya SE, pseudocode juga tidak memiliki standar penulisan dan memiliki 3 bentuk pemrograman terstruktur, seperti urutan, seleksi/kondisi dan perulangan/iterasi. Struktur
urutan
sintak
merupakan
kumpulan
berbagai
pernyataan
instruksi
input/output yang secara implisit diterapkan dalam pseudocode, misalkan : READ RECORD PENJUALAN COMPUTE KOMISI WRITE PENJUALAN, KOMISI Struktur Pilihan – IF-THEN. Format struktur pilihan dapat dituliskan sebagai berikut : IF (kondisi) THEN Tindakan ENDIF Perlu diingat bahwa IF dan END dituliskan pada margin yang sama, contoh : IF (JAM = or < 40) THEN COMPUTE PEMBAYARAN-KOTOR = TARIF-UPAH – JAM-KERJA ENDIF Dari contoh di atas terlihat bahwa kondisi ditandai dengan tanda kurung Struktur Pilihan – IF-THEN-ELSE. Gunakan format berikut untuk situasi IF-THENELSE. Format ini adalah :
IF (kondisi) THEN Tindakan bila kondisi benar ELSE Tindakan bila kondisi salah ENDIF
9 Contoh struktur ini adalah sebagai berikut : IF (JAM = or < 40) THEN COMPUTE PEMBAYARAN-KOTOR = TARIF-UPAH . JAM-KERJA ELSE COMPUTE PEMBAYARAN-KOTOR = (TARIF-UPAH. 40) + ((JAM-KERJA – 40) . TARIF-UPAH . 1,5) ENDIF Dari format dan contoh struktur seleksi di atas terlihat bahwa struktur seleksi dimulai dengan statemen IF dan diakhiri dengan statemen THEN. Struktur Pilihan – CASE. Statemen CASE dapat digunakan bila suatu masalah melibatkan suatu seleksi dari beberapa langkah pilihan. Bentuk umum statemen CASE adalah sebagai berikut : SELECT keadaan CASE (nilai 1) PERFORM tindakan 1 CASE (nilai 2) PERFORM tindakan 2 CASE (nilai 3) PERFORM tindakan 3 DEFAULT CASE PERFORM tindakan-n ENDSELECT Struktur Perulangan – REPEAT UNTIL. Format REPEAT UNTIL akan dapat dilihat seperti format di bawah : REPEAT Tindakan UNTIL (kondisi) Contoh berikut adalah suatu contoh untuk menghitung jumlah persediaan dan mencetak jumlah persediaan tiap hari sampai jumlah hari yang telah ditentukan tercapai.
REPEAT READ STOCK AWAL, PEMBELIAN, PENJUALAN COMPUTE STOCK.AKHIR = STOCK.AWAL + PEMBELIAN - PENJUALAN WRITE STOCK.AWAL, PEMBELIAN, PENJUALAN, STOCK.AKHIR UNTIL (JUMLAH.HARI = BATAS.HARI)
10 Struktur Perulangan – DO. Format struktur perulangan DO dapat dilihat seperti format di bawah DO indeks = awal TO akhir PERFORM tindakan ENDDO
Contoh di bawah adalah contoh untuk mencetak slip gaji untuk 20 orang pegawai. DO JUMLAH PEGAWAI 1 TO 20 PERFORM Cetak-slip.gaji ENDDO
3. TABEL KEPUTUSAN Tabel keputusan (decision table) adalah tabel yang digunakan sebagai alat bantu untuk menyederhanakan logika struktur keputusan yang betingkat-tingkat di dalam program. Algoritma yang berisi keputusan bertingkat yang banyak sekali dan sangat sulit digambarkan langsung dengan structured English atau pseudocode dan dapat dibuat terlebih dahulu dengan menggunakan tabel keputusan. Dengan demikian tabel keputusan efektif digunakan bilamana kondisi yang akan diseleksi di dalam program jumlahnya cukup banyak dan rumit.
Struktur dari tabel keputusan Struktur dari table keputusan terdiri empat bagian utama, yaitu condition sub, condition entry, action sub dan action entry seperti tampak pada gambar sebagai berikut
11
Condition sub berisi kondisi-kondisi yang akan diseleksi. Condition entry berisi kemungkinan-kemungkinan dari kondisi yang diseleksi, yaitu terpenuhi (diberi symbol ‘Y’) dan tidak terpenuhi (diberi symbol ‘T’). Setiap kondisi yang diseleksi akan mempunyai dua kemungkinan kejadian, yaitu terpenuhi dan tidak terpenuhi. Bila ada x kondisi yang diseleksi, maka akan terdapat N kemungkinan kejadian, yaitu sebesar N = 2x. Action sub berisi pernyataan-pernyataan yang akan dikerjakan baik kondisi yang diseleksi terpenuhi maupun tidak terpenuhi. Action entry digunakan untuk memberi tanda tindakan mana yang akan dilakukan dan mana yang tidak akan dilakukan.
Langkah-langkah membuat tabel keputusan Langkah-langkah dalam pembuatan table keputusan ini adalah sebagai berikut : 1. Menentukan kondisi yang akan diseleksi 2. Menentukan jumlah kemungkinan kejadian yang akan terjadi, yaitu sebanyak N = 23 = 8 3. Menentukan tindakan yang akan dikerjakan 4. Mengisi condition entry, diisi sedemikian rupa, sehingga semua kemungkinan kejadian bisa terwakili. 5. Mengisi action entry, diisi kolom demi kolom dari kolom pertama sampai kolom ke N. Contoh tabel :
12
RINGKASAN Peralatan non-grafikal yang digunakan secara umum untuk mengembangkan system informasi adalah kamus data, structured English dan pseudocode. Kamus data adalah kumpulan informasi mengenai penamaan, kalsifikasi atau dokumentasi struktur dari data. Suatu data pada kamus data dapat merupakan suatu elemen dat tunggal atau satu kelompok elemen data. Pembuatan kamus data dapat dilakukan dengan menggunakan form atau notasi Structured English dan pseudocode merupakan alat perancangan system secara detil yang mirip satu sama lain. Kedua matode ini sama-sama tidak memiliki struktur penulisan standar, tetapi kedua-duanya membagi system ke dalam tiga struktur dasar pada bahasa pemrograman terstruktur, yaitu stryktur urutan, seleksi/kondisi dan iterasi/perulangan. Selain adanya persamaan-persamaan di atas , structured English dan pseudocode memiliki perbedaan. Structured English menggunakan penulisan seperti grammer dalam bahasa Inggris, sedangkan pseudocode menggunakan penulisan seperti penulisan kode pemrograman terstruktur.