pengantar pemrograman modular

Upload: ashry-ramadhan

Post on 22-Feb-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 Pengantar Pemrograman Modular

    1/6

    PENGANTAR PEMROGRAMAN MODULAR

    Untuk mencapai suatu tujuan besar , maka tujuan tersebut harus dibagi bagi menjadi

    tujuan kecil sampai tujuan kecil itu merupukan tujuan yang dapat dicapai berdasarkan

    kondisi dan potensi yang dimiliki saat itu (Al-Khuwarizmi)

    Ucapan Al-Khuwarizmi diatas sangat mengena dalam kegiatan memprogram.

    Program yang besar lebih sulit dibaca (dimengerti) dan lebih sulit lagi dalam pelacakan

    kesalahan atau proses debugging (jika ada). leh karena itu ! program sebaiknya dibagi

    menjadi beberapa upa-progra(subprogram"subroutine) yang lebih kecil dan terstruktur

    melakukan #ungsi atau komputasi masing $ masing secara spesi#ik.

    Upa-program yang baik adalh upa-program yang independepen dari program utamasehingga programnya dapat dirancang tanpa mempertimbangkan konteks dimana ia

    digunakan. %engan kata lain! pemogram tidak perlu mempermasalahkan bagaimana

    upaprogram tersebut dilakukan! tetapi cukup memikirkan apa yang ia lakukan.

    &eknik pemecahan program menjadi sub-program dinamakan teknik pemrograman

    modular (modular programming). 'eberapa bahasa pemrograman lain menamakan

    pemrograman modular dengan sebutan sub-rutin (subroutine), module , prosedur , atau

    un!si"

    #ONTO$ PEMROGRAMAN MODULAR

    /* Program mengecek sebuah palindrom */

    #include #include

    main()

    {

    char a[1!"b[1!

    print$(%&etik 'esuatu n)gets(a)strcp+(b"a)strre,(b)

    i$(strcmp(a"b)--)

    {

    print$(%ang anda inputkan adalah palindrom n)else{

    print$(%ang anda inputkan 0ukan palindrome n)

  • 7/24/2019 Pengantar Pemrograman Modular

    2/6

  • 7/24/2019 Pengantar Pemrograman Modular

    3/6

    asing $ masing upa-program mempunyai struktur yang serupa dengan program

    utama! dengan pemecahan menjadi sejumlah program ! program terlihat menjadi lebih

    sederhana. Program utama hanya perlu mendklarasikan upa-program tersebut sebelum

    mereka digunakan(program utama dinyatakan sebagai bagian yang diarsir Al!oritma %"&).

    Upa-program di eksekusi dengan memanggil namanya. Ketika sebuah upa-program dipanggil

    pelaksanaan program sekarang berpindah ke upa-program tersebut ! selanjutnya seluruhintruksi di dalam upa-program dilaksanakan setelah seluruh intruksi didalam upa-program

    selesai dikerjakan! dilaksanakan program kembali ke program pemanggil (dalam hal ini

    program lama ). Untuk melaksanakan intruksi berikutnya.

    /* Program pengecekan palindrom */

    #include

    ,oid 0aca(char *a[1!),oid Proses(char *a[1!" char *b[1!),oid 2ek34ampil(char *a[1!" char *b[1!)

    main() /* Program 5tama */{

    /* 6eklarasi */char a[1!" b[1!

    0aca(a)Proses(7a"7b)

    2ek34ampil(7a"7b)

    ,oid 0aca (char *a[1!)/* embaca nilai a */

    {print$(%&etik sesuatu n)gets(a)

    ,oid Proses(char *a[1!" char *b[1!)/* Proses mengcop+ dan membalik */

    {strcp+(*a"*b) /* mengcop+ char a ke b */strre,(*b) /* string re,erse membalik char b */

    ,oid 2ek34ampil(char *a[1!" char *b[1!)/* engecek string dan enampilkan */

    {

  • 7/24/2019 Pengantar Pemrograman Modular

    4/6

    i$(strcmp(*a"*b)--) /* &ondisi membandingkan a dan b{

    print$(%ang anda inputkan adalah palindrom n)else{

    print$(%ang anda inputkan 0ukan palindrome n)

    return

    'euntun!an Pemro!raman Modular

    odularisasi program memiliki dua keuntungan. Pertama! untuk aktu*itas yang harus

    dilakukan lebih dari satu ! modularisasi menghundari dari penulisan teks program yang sama

    secara berulang kali. %i sini ! upa-program cukup ditulis sekali saja! lalu upa-program dapat

    di panggil dari bagian lain di dalam program . %i sini ! penggunaan upa-program dapat

    mengurangi panjang program. +ebagai contoh! tinjau program dalam bahasa , di dalam

    Algoritma . . /anya bagian algoritma yang sama dan ditulis berulang-ulang yang

    ditampilkan disini( bagian yang di beri tanda 0 ). 'agian algoritma lain cukup dinyatakan

    dengan 1...2.

    /* Program 8+9 */

    #include

    main(){

    /* 6eklarasi */

    int :"0"2"6"temp.

    /* :lgoritma */

    ...

    ...

    /* Pertukaran nilai a dan b */

    temp-: ;:-0 ; 80-temp ;.........

    i$(2>6)

    {

  • 7/24/2019 Pengantar Pemrograman Modular

    5/6

    /* Pertukaran nilai c dan d */

    temp-2 ;2-6 ; 82-temp ;

    ...

    ...

    Al!oritma %" "ontoh program yang beberapa kali berisi bagian pertukaran

    %i dalam Al!oritma %" diatas ada bagian program yang ditulis berulang kali

    keduanya melakukan akti*itas yang sama. 3aitu pertukaran nilai antara dua buah peubah kita

    dapat menulis bagian yang ditulis berulangkali tersebut ke dalam satu buah upa-program

    yang diberi nama tukar. Upa-program yang bernama tukar diakses dengan memanggilnya dari

    dalam program utama Al!oritma %""

    /* Program 8+9 */

    #include

    ,oid 4ukar(int *:" int *0) /*deklarasi subroutine +ang digunakan*/

    main(){

    /* 6eklarasi */

    int :"0"2"6" temp

    /* :lgoritma */

    ...

    ...

    /* Pertukaran nilai : dan 0 */

    4ukar(7:" 70).........

    i$(2>6){

    /* Pertukaran nilai 2 dan 6 */4ukar(72" 76)

    ...

    ...

    ,oid 4ukar(int *:" int *0)/* empertukarkan nilai : dan 0 */

  • 7/24/2019 Pengantar Pemrograman Modular

    6/6

    {

    /* 6eklarasi */int temp (peubah bantu)

    /* :lgoritma */

    temp-::-00-temp

    Al!oritma %""ontoh program dengan menyatakan bagian pertukaran menjadi subroutine

    #ukar