You're Reading a Free Preview Show
Posted by andi telaumbanua on Jul 25, 2018 in Praktikum, Uncategorized | Teknik pemrograman terstruktur memiliki ciri -ciri atau karakteristik sebagai berikut :
Standar Program yang BaikUntuk menentukan standar program yang baik dibutuhkan beberapa standar sebagai dasar penilaian seperti : pemecahan masalah, penyusunan program, perawatan program dan standar prosedur. Standar Teknik Pemecahan Masalah Teknik Top Down merupakan teknik pemecahan masalah yang paling umumdigunakan. Pada teknik ini, suatu masalah yang kompleks dibagi- bagi ke dalam beberapa kelompok masalah yang lebih kecil. Dari kelompok masalah yang kecil tersebut dianalisis. Teknik Bottom Up merupakan teknik pemecahan masalah yang mulai ditinggalkan, karena sulit untuk melakukan standarisasi proses dari prosedur -proseduryg sudah terbentuk yang akan digabungkan. Pada teknik ini, bila ada masalah yang kompleks, maka pemecahan masalah dilakukan dengan menggabungkan prosedur-prosedur yang ada menjadi satu kesatuan program guna menyeselesaikan masalah tersebut. Setelah memiliki teknik pemecahan masalah yang akan digunakan, pemrogram akan mulai menyusun langkah-langkah untuk memecahkan masalah secara detail yang disebut Algoritma. Algoritma berasal dari kata Algoris dan Rimis ; yang pertama kali diungkapkan oleh Abu Ja’kar Mohhamed Ibn Musa al Khowarizmi (825 M) dalam buku Al-Jabr Wa-al Muqabla. Dalam bidang pemrograman, algoritma didefinisikan sebagai suatu metode khusus yang tepat dan terdiri dari serangkaian langkah yang terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer. Proses dari masalah hingga terbentuk suatu algoritma disebut tahap pemecahan masalah, sedangkan tahap dari algoritma hingga terbentuk suatu solusi disebut dengan tahap implementasi. Solusi yang dimaksud adalah suatu program yang merupakan implementasi dari algoritma yang disusun. Algoritma pemrograman yang baik, memiliki ciri-ciri sebagai berikut : · memiliki logika perhitungan /metode yang tepat dalam memecahkan masalah, · menghasilkan output yang tepat dan benar dalam waktu yang singkat, · ditulis dengan bahasa yang standar secara sistematis dan rapi sehingga tidak menimbulkan arti ganda, · dituliskan dengan format yang mudah diimplementasikan ke dalam bahasa pemograman, · semua operasi yang dibutuhkan terdefinisi dengan jelas, · semua proses harus selalu berakhir setelah sejumlah langkah dilakukan. Standar Penyusunan ProgramDalam menyusun program, ada beberapakriteria yang harus diperhatikan oleh seorang pemrogram, misalnya : 1). Kebenaran logika dan penulisan Program yang disusun harus memiliki kebenaran logika pemacahan masalah maupun penulisan. Program harus memiliki ketepatan, ketelitian dan kebenaran dalam penghitungan sehingga hasilnya dapat dipercaya. Dalam penyususnan program, pemrogram tidak boleh hanya berpegang pada prinsip “asal program dapat dieksekusi” saja, tetapi harus benar-benar teliti dalam menulis rumus -rumus dan urutan logis dan langkah-langkah pemecahan masalah yang disusun. 2). Waktu minimum untuk penulisan program Dalam penulisan program, pemrogram harus dapat menentukan waktu minimum penulisan programnya. Waktu minimum penulisan program adalah waktu yang harus tersedia secara wajar untuk menyusun program, dari awal hingga siap dioperasikan. 3). Kecepatan maksimum eksekusi program Ada beberapa faktor yang harus diperhatikan untuk dapat menghasilkan program yang memiliki kecepatan eksekusi maksimum, antara lain bahasa pemrograman yang digunakan (Basis Interprenter atau Compiler), algoritma yang disusun, teknik pemrograman yang diterapkan dan perangkat keras yang dipakai untuk mengoperasikannya. Kecepatan maksimum eksekusi program juga dapat ditingkatkan dengan memperbaiki struktur program, misalnya dalam proses pengujian. Hindarilah proses pengujian yang berulang-ulang secara percuma. 4). Ekspresi penggunaan memori Seorang pemrogram perlu mempelajari teknik-teknik pembuatan program yang meminimumkan penggunaaan memori. Pemborosan pemakaian memori akan menyebabkan eksekusi berjalan lambat. Untuk dapat meminimumkan penggunaan memori, maka perlu diperhatikan : · penggunaan tipe data yang cocok untuk kebutuhan pemrograman.Misalnya, bila variabel yang digunakan untuk perhitungan cukup dengan yang sejenis single precission janganlah mengguakan jenis double precission · hindarilah penggunaan yang berulang-ulang terhadap variabel berindeks. 5). Kemudahan merawat dan mengembangkan program. Program hendaknya memiliki struktur pemrograman yang baik, struktur data yang jelas dan dilengkapi dengan dokumentasi sehingga mudah untuk dipahami, diuji dan dikembangkan. 6). User friendly Program yang disusun harus memiliki fasilitas-fasilitas yang memberikan kemudahan bagi pemakai untuk mengoperasikanya, misalnya dengan penambahan fasilitas on line help guna memberi penjelasan jika terjadi kesulitan, menu pilihan, tampilan yang informatif, pesan-pesan yang sederhana dan singkat sehingga mudah untuk dipahami dan sebagainya. 7). Portability Usahakan agar program yang disusun dapat dioperasikan dengan berbagai jenis sistem operasi dan perangkat keras yang berbeda, sehingga fleksibel untuk digunakan. 8). Pemrograman modular Pada teknik top down, masalah yang besar dan kompleks dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil. Kelompok masalah yang kecil itu disebut modul dan teknik pemrograman terstruktur yang digunakan untuk mengimplementasikan langkah-langkah pemecahan masalah pada kelompok masalah yang lebih kecil tersebut dikenal dengan sebutan teknik pemrograman modular ; namun setelah masing-masinng modul disusun maka harus dibuat suatu sistem untuk mengintegrasikannya sehingga menjadi satu kesatuan program yang lengkap. Modul program adalah sekumpulan instruksi yang memiliki operasi -operasi dan data yang didefinisikan; memiliki struktur internal yang tidak tergantung pada subprogram yang lain, dan merupakan satu kesatuan yang utuh yang akan dieksekusi secara berulang-ulang. (1) Sejarah Metodologi Pemrograman„ Metodologi pengembangan program pertama kali diperkenalkan Î Prof E.W Dykstra tahun 1960. „ Pemrograman terstruktur Î mengurangi pemakaian instruksi GOTO „ GOTO less programming Ciri – ciri Program Terstruktur (Good Program)„ Run correctly „ Run efficiently „ Be easy to read and understand „ Be easy to debug „ Be easy to modify Langkah – langkah Pengembangan Program1. Definisikan masalah • Keluaran (Output) • Masukan (Input) • Proses (Proces) 2. Rancang outline pemecahan masalah • Buat langkah – langkah proses • Buat rincian/detail Proses • Tentukan Variable dan record • Tentukan struktur kontrol (pengulangan, kondisi, dsb) • Buat logika ‘Mainline’ 3. Buat algoritma berdasarkan outline pemecahan masalah 4. Test algoritma 5. Coding 6. Execute (2)Metode Pemrograman TerstrukturPemrograman terstruktur memakai metode pengembangan Top-Down. Perancangan program dilakukan secara modular „ Pengembangan Top-Down Pengembangan yang dimulai dari langkah yang global lebih dahulu, yang kemudian diperhalus lagi sehingga didapat langkah rinci „ Modular Perancangan program dilakukan dalam bentuk modul - modul Teorema Pada Pemrograman Terstruktur „ Sequence Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya Contoh : Perintah A Perintah B Perintah C „ Selection Instruksi akan dikerjakan jika kondisi tertentu dipenuhi Contoh : Penggunaan IF-THEN-ELSE Penggunaas CASE „ Repetition Instruksi dikerjakan berulang – ulang sampai suatu kondisi dicapai. Contoh : Penggunaan DO WHILE (3)Sifat algoritma„ Jelas dan tepat atau tidak samar – samar (Definiteness) „ Memberikan pemecahan yang tepat untuk semua kasus (Effectiveness) „ Memiliki akhir (finiteness) Pseudocode„ Statement program ditulis dengan bahasa indonesia/inggris yang sederhana „ Setiap instruksi ditulis pada setiap baris „ Keywords/kata kunci digunakan khusus untuk menjelaskan control struktur „ Setiap set/bagian blok instruksi memiliki awal dan akhir dengan “one entry one exit” „ Pengelompokan statement bisa membentuk satu modul yang mempunyai nama. Contoh algoritma:1. Turn on Calculator Clear Calculator Repeat the following instruction Key in dollar amount Key in decimal point Key in cent amount Until all prices were been entered Write down total price Turn off Calculator 2. Deklarasi variabel lokal No_bulan : integer (1..12) Deskripsi : read (no_bulan) case (no_bulan) no_bulan = 1 ; write ( ‘Januari’ ) no_bulan = 2 ; write ( ‘Februari’ ) no_bulan = 3 ; write ( ‘Maret’ ) no_bulan = 4 ; write ( ‘April’ ) no_bulan = 5 ; write ( ‘Mei’ ) no_bulan = 6 ; write ( ‘Juni’ ) no_bulan = 7 ; write ( ‘Juli’ ) no_bulan = 8 ; write ( ‘Agustus’ ) no_bulan = 9 ; write ( ‘September’ ) no_bulan = 10 ; write ( ‘Oktober’ ) no_bulan = 11 ; write ( ‘Nopember’ ) no_bulan = 12 ; write ( ‘Desember’ ) endcase (4)TEKNIK PENYAJIAN ALGORITMA„ Teknik Tulisan z Structure English z Pseudocode „ Teknik Gambar z Structured Chart z HIPO z Flowchartz Nassi Schneiderman Chart Teknik TulisanStructure English„ Alat yang cukup efisien untuk menggambarkan suatu algoritma „ Basis : bahasa Inggris „ Dasar penggambaran algoritma: bahasa manusia Pseudocode „ Kode mirip dengan kode pemrograman yang sebenarnya. „ Arti pseudo: imitasi atau mirip atau menyerupai „ Arti code: kode program. „ Basis: bahasa pemrograman z umumnya PASCAL, atau C++ „ Lebih rinci dari structure English, z Dapat menyatakan tipe data yang digunakan „ struktur penulisan: z sequence structure z selection structure z looping structure. (5)Contoh pseudocode: z Komputer mendapatkan data read nama_mhs get tgl_system read anggota_1, anggota_2 baca record mhs baca nilai z Komputer menyajikan informasi print “STMIK & AMIK Raharja” write record mahasiswa display “salah kode” cetak “STMIK & AMIK Raharja” z Komputer melakukan aritmatik Add harga to total Total = total + harga a = a * b z Komputer memberikan nilai initialize total to 0 set student_count to 0 z Komputer membandingkan & memilih alternatif tindakan IF mhs is part_time THEN Add ELSE 1 to part_time_count Add 1 to full_time_count ENDIF z Komputer melakukan pengulangan DO WHILE mhs_total < 50 Read record mhs Print nama_mhs, alamat to laporan (6)Teknik GambarStructured Chart“Organisasi dari sistem secara berjenjang dalam bentuk modul dan submodul.” Structure chart digunakan untuk menggambarkan modul – modul dan hubungannya: „ Hubungan elemen data „ Hubungan elemen kontrol „ Hubungan antar modulnya. Teknik pembuatan struktur chart „ Program dibagi kedalam modul – modul „ Bentuk hirarki/organisasi modul – modul „ Gambarkan Komunikasi antar modul „ Deskripsikan Fungsi modul Contoh Dasar Penggambaran Structured Chart 1. ABpqflag„ Deskripsi fungsiModul A memanggil modul B, dengan mengirim elemen data P ke modul B. Modul B Berfungsi / bekerja. Modul B Selesai dan mengirimkan elemen data q dan kontrol flag, kembali ke modul A. (7)X A B C „ Deskripsi fungsi X Memanggil A Setelah A bekerja, kemudian kembali ke X X Memanggil B Setelah B bekerja, kemudian kembali ke X X Memanggil C Setelah C bekerja, kemudian kembali ke X 3. X A B C pqflagrflag„ Deskripsi fungsiX Memanggil A, dan mengirim elemen data p ke modul A. Setelah A bekerja, kemudian kembali ke X dan mengirim kontrol flag. X Memanggil B , dan mengirim elemen data r ke modul B. Setelah B bekerja, kemudian kembali ke X dan mengirim elemen data q. X Memanggil C, dan mengirim kontrol flag ke modul C. Setelah C bekerja, (8)HIPO „ HIPO ( HIERARCHY PLUS INPUT-PROCESS-OUTPUT) „ HIPO Î alat dokumentasi program. „ HIPO Î dikembangkan dan didukung oleh IBM. „ HIPO Î digunakan sebagai alat bantu untuk merancang dan mendokumentasikan siklus pengembangan sistem. „ Sasaran HIPO: z Untuk menggambarkan suatu struktur bertingkat z Untuk memahami fungsi-fungsi dari modul-modul suatu sistem. z Untuk menggambarkan modul-modul yang harus diselesaikan oleh pemrogram. z Sebagai penjelasan yang lengkap dari input yang akan digunakan, proses yang akan dilakukan serta output yang diinginkan. „ Terdapat 3 diagram yang digunakan pada HIPO: • Visual Table of Contents Menggambarkan hubungan dari modul-modul dalam suatu sistem secara berjenjang • Overview Diagram Merepresentasikan input, proses dan output secara global • Detail Diagram Merepresentasikan secara rinci kerja dari fungsi atau modul Contoh Visual Table of Contents Sistem Parpus Entry data 1 Pelayanan Sirkulasi Laporan - laporam 3 Anggot a Karyawa n Pustaka 1.3 Pinjaman 2.1 Kembalian 2.2 Lapora n denda 3.1 Lapora n Laporan peminjam 3.3 pustaka Tambah 1.1.1 Tambah 1.2.1 Tambah 1.3.1 Tambah 2.11 Tambah 2.21 (9)„ Overwiew Diagrams Over view diagrams merepresentasikan / menggambarkan hubungan dari input, proses dan output. z Input adalah item – item data yang akan digunakan oleh bagian proses. z Proses adalah langkah – langkah yang menggambarkan kerja dari fungsi atau modul. z Output adalah hasil pemrosesan data. „ Detail Diagram Detail diagram menggambarkan elemen-elemen dasar dari paket secara rinci kerja dari fungsi atau modul. Contoh over view diagram: 1. Menjumlahkan 3 angka. Baca 3 bilangan, jumlahkan ketiga bilangan tersebut dan cetak jumlah ketiga bilangan tersebut Overview diagram INPUT PROSES OUTPUT - 3 Bilangan - Baca 3 Bilangan - Jumlah ketiga bilangan tersebut - Cetak hasil penjumlahan - Hasil Jumlah Detail diagram INPUT PROSES OUTPUT - Bil_1 - Bil_2 - Bil_3 - Baca Bil_1 - Baca Bil_2 - Baca Bil_3 - Total = Bil_1+Bil_2+Bil_3 - Cetak Total - Total (10)Flowchart 1. Sequence Structure (struktur urut) A B C Instruksi A Instruksi B Instruksi C 2. Selection Structure (Struktur Seleksi) „ IF Selection ? A= C Y Tida Syntax C++: if (A==5) { instruksi C; } (11)„ IF – ELSE Selection B ? A= C Y Tida Syntax C++: if (A==5) { instruksi C; } else { instruksi B; } (12)„ CASE Selection w Va x y default A B C D Syntax C++: switch (var) { case ‘w’: instruksi A; break; case ‘x’: instruksi B; break; case ‘y’: instruksi C; break; default: instruksi D; } (13)„ ooping/Repetition Structure (Struktur Pengulangan) z Front Check Repetition Syntax C++ L A ? Kondi B : ondisi) { while (k instruksi A; } instruksi B; Catatan: si berisi nilai true atau false lasi - Kondi - Kondisi dapat berupa persamaan re spt: z < 5 z >= 10 … dsb (14)z ear Check Repetition Syntax C++ R A . : do { instruksi A; } while (kondisi) instruksi B; Catatan: - Kondisi berisi nilai true atau false lasi - Kondisi dapat berupa persamaan re spt: z < 5 z >= 10 … dsb ? Kondi B z ixed Repetition F For x = 0 to 5ABxSyntax C++: for (x=0;x<=5;x++) { instruksi A; } instruksi B; (16)OPERATOR C++Mathematical OperatorName Operator Sample Result A S M D ddition + 5 + 3 8 ubstraction - 5 - 3 2 ultilpication * 5 * 3 15 ivision / 6 / 3 2 Modulus % 5 % 2 1 Name Operator Sample Increment ++ y = 2 + x++ ++ y = 2 + ++x + = y += 2 ecrement -- y = 2 + x---- y = 2 + --x - = y -= 2 y=y-2 y=2+x, setelah itu baru decrement x Keterangan y=2+x, setelah itu baru increment x y=2+(x+1), setelah itu baru increment x y=2+(x-1) y=y+2 D Relational OperatorLOGICAL OPERATORName Operator Sample AND && y && x OR || y || x NOT ! !x RELATIONALOPERATOR Name Operator Sample Evaluates Equals == 100 == 50 FALSE 50 == 50 TRUE Not Equals != 100 != 50 TRUE 50 != 50 FALSE Greater Than > 100 > 50 TRUE 50 > 50 FALSE Greater Than >= 100 >= 50 TRUE or Equals 50 >= 50 TRUE Less Than < 100 < 50 FALSE 50 < 50 FALSE Less Than <= 100 <= 50 FALSE or Equals 50 <= 50 TRUE TABEL LOGIKA OR y OR x TRUE FALSE TRUE TRUE TRUE FALSE TRUE FALSE TABEL LOGIKA AND y A ND x TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TABEL LOGIKA NOT NO T TRUE FALSE (17)„ Ekspresi merupakan kombinasi Operand dan Operator. „ Hasil Evaluasi dari sebuah Ekpresi adalah nilai yang sesuai dengan type operand yang dipakai MACAM – MACAM EKPRESI„ Ekspresi aritmatika Menggunakan Operator Aritmatik „ Ekspresi Numerik Menggunakan Operand Numerik „ Contoh: 1. 3.14 * R * R „ Operatornya adalah * „ Operandnya adalah R 2. (9 / 5 * C) + 32 „ Operatornya adalah /, *, + „ Operandnya adalah C 3. A+B*5 „ Operatornya adalah + , * „ Operandnya adalah A, B „ Tingkatan operator dari tinggi ke rendah: 1. /, %, * 2. + , - (18)Contoh: 1. #include <iostream.h> Void main() { int usia; char jnskel[6]; cout<< “Jenis Kelamin Anda (pria/wanita)?”; cin>>jnskel; cout<<“Usia Anda ?”; cin>>usia; if (jnskel==“pria” && usia>=20) { cout << “Anda”<< jnskel << “berusia 20th keatas” << endl; cout << “Berhak masuk club ini”; } else { if(jnskel==“wanita” && usia>=22) { cout << “Anda” << jnskel << “berusia 22th keatas” << endl; cout << “Berhak masuk club ini”; } else { cout << “Anda” << jnskel << “berusia” << usia << endl; cout << “Berhak masuk club ini”; } } } (19)Flowchart Nested SelectionNon Linear Nested IF StatementKondisi 1 A Kondisi 2 Kondisi 3 YES YES B NO NO C NO D YES Contoh Syntax C++, Non Linear Nested IF Statement : if (Kondisi1) { if (Kondisi2) { if (Kondisi3) { Instruksi D; } else { Instruksi C; } } else { Instruksi B; } } else { Instruksi A; } (20)Linear Nested IF StatementKondisi 1 A Kondisi 2 Kondisi 3 NO NO B YES YES C YES D NOContoh Syntax C++, Linear Nested IF Statement : if (Kondisi1) { Instruksi A; } else { if (Kondisi2) { Instruksi B; } else { if (Kondisi3) { Instruksi C; } else { Instruksi D; } } } Contoh Nested if: #include <iostream.h> void main() { int Number1, Number2; cout << “Masukkan dua angka.\nAngka pertama: "; cin >> Number1; cout << "\nAngka kedua: "; cin >> Number2; cout << "\n\n"; if (Number1 >= Number2) { if ( (Number1 % Number2) == 0) // evenly divisible? { if (Number1 == Number2) cout << “Kedua angka tersebut sama!\n"; else cout << “Angka pertama adalah kelipatan Angka kedua!\n"; } else cout << "They are not evenly divisible!\n"; } else cout << "Hey! The second one is larger!\n"; } (22)ANALISIS MASALAHDalam analisis masalah ini kita melakukan pendefinisian masalah dan mengembangkan pemecahan masalah „ Definisi masalah . z Masukan / Input z Menyediakan data masukan untuk pemecahan masalah z Keluaran / Output z Membuat daftar output / keluaran z Proses z Menyediakan daftar proses / langkah – langkah yang diperlukan untuk menghasilkan output / keluaran. Contoh: 1. Menjumlahkan 3 angka Baca 3 bilangan, jumlahkan ketiga bilangan tersebut dan cetak jumlah ketiga bilangan tersebut Penyelesaian : Langkah – langkahnya : „ Buat daftar output, letakkan pada kolom output (lihat tabel dibawah) „ Buat daftar semua input yang kemudian diletakkan pada kolom input „ Inventarisir kegiatan yang dilakukan agar dapat menghasilkan output dari input yang tersedia. Tabel / Daftar Input–Proses–Output (Outline Definisi Masalah) INPUT PROSES OUTPUT - Bil_1 - Bil_2 - Bil_3 - Baca Bil_1 - Baca Bil_2 - Baca Bil_3 - Total = Bil_1+Bil_2+Bil_3 - Cetak Total - Total (23)Pengembangan Outline Definisi Masalah ke Algoritma dgn Flowchart START READ Bil_1 READ Bil_2 READ Bil_3 Total=Bil_1+Bil_2+ Bil_3 WRITE Total END START READ Bil_1 READ Bil_2 READ Bil_3 Total=Bil_1+Bil_2+Bil_3 WRITE Total END WRITE Informasi Membaca Bil_1 WRITE Informasi Membaca Bil_2 WRITE Informasi Membaca Bil_3 (24)LATIHAN PENGEMBANGAN ALGORITMA 1. Carilah suhu rata – rata dari 2 data suhu yang diketahui. Baca 2 data suhu (Sr dan St), hitung rata – ratanya (Sa) dan cetak hasil rata – rata Tersebut. Jawaban: Tabel / Daftar Input–Proses–Output (Outline Definisi Masalah) INPUT PROSES OUTPUT Sr St Baca Sr Baca St Sa = (Sr + St) / 2 Cetak Sa Sa Pengembangan Outline Definisi Masalah ke Algoritma dgn Flowchart START WRITE Informasi membaca Sr WRITE Informasi membaca Sr WRITE Informasi membaca Sr WRITE Informasi membaca Sr Sa = (Sr + St) / 2 Write Hasil END (25)Desk Checking (untuk memeriksa algoritma)„ Masukkan Data „ Ikuti cara kerja algoritma dengan data tersebut untuk mendapatkan hasilnya. „ Bandingkan dengan hasil yang dilakukan secara manual „ Bila benar maka algoritmanya benar dan bila salah maka algoritmanya salah „ Perbaiki algoritmanya jika salah Contoh Algoritma berupa Flowchart sebagai berikut: START READ Bil_1 READ Bil_2 READ Bil_3 Total=Bil_1+Bil_2+Bil_3 WRITE Total END WRITE Informasi Membaca Bil_1 WRITE Informasi Membaca Bil_2 WRITE Informasi Membaca Bil_3 (26)„ Desk Checking Lakukan checking dengan 2 set data, yaitu : 10, 20, 30 untuk bil_1 dan 40, 41, 42 untuk bil_2 Jawaban: 1. Data input : Variabel Data_1 Data_2 Bil_1 10 40 Bil_2 20 41 Bil_3 30 42 2. Hasil Penjumlahan Secara Algoritma: Statement Bil_1 Bil_2 Bil_3 Total Cetak Baca 10 20 30 Total 60 Data_1 Cetak ya Baca 40 41 42 Total 123 Data_2 Cetak ya 3. Hasil penjumlahan secara manual : Total Data_1 60 Data_2 123 4. Periksa (check) hasil, apakah sesuai dengan hasil yang diolah algoritma dan secara manual |