PENGAMBILAN KEPUTUSAN

Operator

Merupakan simbol yang dapat digunakan dalam program untuk melakukan sesuatu operasi atau manipulasi. Operator dalam bahasa C++ dikelompokan sebagai berikut:

  • Operator pengerjaan (assignment operators)

    Berupa tanda sama dengan (=) yang digunakan untuk mengisikan nilai yang berada di sebelah kanan variabel yang ditunjuk di sebelah kiri.

  • Operator aritmatika (arithmatic operators)

    Dikenakan terhadap dua buah nilai (operand) dan digolongkan menjadi:

    • Operator unary,

Operator

Deskripsi

+

Tanda plus

-

Tanda minus

  • Operator binary,

Operator

Deskripsi

*

Perkalian

/

Pembagian

%

Modulus atau sisa pembagian

+

Penjumlahan

-

penguranga


  • Operator peningkatan dan penurunan (increment and decrement operators)

    Merupakan operator yang unik, operator peningkatan (++) digunakan untuk menambahkan nilai 1 pada nilai sebelumnya dan operator penurunan (--) digunakan untuk mengurangi nilai 1 pada nilai sebelumnya.


Operator

Deskripsi

++

Prefix: preincrement; postfix:postincrement

--

Prefix: predecrement; postfix:postdecrement


  • Operator hubungan (relational operators)

    Dimanfaatkan untuk menunjukan hubungan antara dua elemen nilai.

Operator

Deskripsi

<

Lebih kecil dari

<=

Lebih kecil atau sama dengan

>

Lebih besar dari

>=

Lebih besar atau sama dengan

= =

Sama dengan

!=

Tidak sama dengan


  • Operator logika (logical operators)

    Merupakan operator yang dimanfaatkan untuk membandingkan 2 (dua) buah nilai logika yang ditunjukan oleh relasi antara dua buah operator. Nilai logika adalah nilai benar dan salah.

Operator

Arti

&

Logika DAN

|

Logika ATAU

^

Logika XOR

~

Logika NOT


  • Operator alamat (address operators)
  • Operator bitwise (bitwise operators)
  • Operator koma (coma operators)
  • Operator gabungan



2.2. Statement If

Statement
if memiliki beberapa variasi bentuk, yaitu bentuk if tunggal, bentuk if dengan else, danif bersarang (nested-if).


  • Syntax statement
    if tunggal :

    if (expression)

    {

    True_statement :

    }

    Jika pernyataan yang berbentuk kondisi (condition expression) dievaluasi salah maka blok true statement diabaikan, dan jika sebaliknya maka blok true
    statement di-excute.


  • Syntax statement
    if dengan else :

    if (expression)

    {

    True_statement;

    } else

    {

    False_statement;

    }

    sama dengan

    cond_expr ? {true_statement;} : {false_statement;}


    Jika kondisi pernyataan (condition expression) dievaluasi benar maka blok kode true statement akan di-execute, dan jika pernyataan tersebut dievaluasi salah makaexecution akan tertuju pada blok kode false statement.


    • Syntax statement
      if bersarang (nested-if) :

      If bersarang merupakan bentuk statement
      if dengan statement
      if lain di dalam if sebelumnya.

      example: If (expressionA)

      {

      If (expressionB); }

      {True_statementB; }

      Else

      {False_statementB; }

      }

      else

      {

      False_statementA;

      }


    2.3. Statement Switch

    Statement switch merupakan statement yang dimanfaatkan untuk menentukan pilihan dari sejumlah pilihan yang terlibat. Statement
    switch memiliki dua bentuk yaitu statement
    switch tunggal dan statement
    switch bersarang.

    Syntax statement
    switch adalah sebagai berikut :

    Switch (expression)

    {

    case konstanta1 : {statement-statement;

    break;}

    case konstanta2 : {statement-statement;

    break;}

    case konstanta3 : {statement-statement;

    break;}

    .......

    Default : {statement-statement;}

    }


    Statement
    switch akan menyeleksi pernyataan kondisi (expression) dan membandingkan dengan daftar nilai konstanta-konstanta yang ada dan apabila tidak ada yang memenuhi/sama maka statement-statement yang ada di bagian default yang akan di-excute.


    III. PROGRAM PERCOBAAN

    //Contoh 2.1

    # include <stdio.h>

    # include <conio.h>

    void main()

    {

    float IPK;

    printf("Masukkan IPK anda : ");scanf("%f",&IPK);

    if (IPK>2.75) printf("Selamat anda lulus tes pertama");

    else printf("Maaf anda terpaksa kami tolak");

    }


    //Contoh 2.2

    #include <stdio.h>

    #include <conio.h>

    void main()

    {

    int tombol;

    clrscr();

    printf("Tekan sembarang tombol: "); tombol=getch();

    switch (tombol)

    {

    case 13 :printf("\nAnda menekan tombol ENTER");break;

    case 27 :printf("\nAnda menekan tombol ESC");break;

    case 8 :printf("\nAnda menekan tombol BACKSPACE");break;

    case 32 :printf("\nAnda menekan tombol SPACE");break;

    default:

    printf("\nAnda tidak menekan ENTER, ESC, Backspace atau Space\n");break;

    }

    getch();

    }




    //Contoh 2.3

    #include <stdio.h>

    #include <conio.h>

    void main()

    {

    int tombol;

    clrscr();

    printf("Tekan sembarang tombol: ");tombol=getch();

    if (!tombol) {

    printf("\nIni tombol khusus");

    tombol=getch();

    printf("\nIni tombol nomor %d (ASCII)",tombol);

    }

    else printf("\nIni tombol nomor %d (ASCII)",tombol);

    getch();

    printf("\nTekan ENTER....");

    getch();

    }


    Algoritma:

    Masukan(bilangan)

    JIKA sisa_pembagian(bilangan,2) = 0 MAKA

    Tampilkan("bilangan genap")

    SEBALIKNYA

    Tampilkan("bilangan ganjil")

    AKHIR-JIKA


    //Contoh 2.4

    #include<iostream.h>

    int main()

    {

    int bilangan;

    if (bilangan %2 == 0)

    cout << "bilangan genap" << "\n";

    else

    cout << "bilangan ganjil" << "\n";

    return 0;

    }


    Algoritma:

    masukan(ip)

    JIKA ip≥2.00 dan ip≤2.75 MAKA

    tampilkan("Lulus memuaskan")

    SEBALIKNYA

    JIKA ip≥2.76 dan ip≤3.50 MAKA

    tampilkan("Lulus sangat memuaskan")

    SEBALIKNYA

    JIKA ip≥3.51 dan ip≤4.00 MAKA

    tampilkan("cummlaude")

    SEBALIKNYA

    Tampilkan("ip tidak valid")

    AKHIR-JIKA

    AKHIR-JIKA

    AKHIR-JIKA


    //Contoh 2.5

    #include<iostream.h>

    #include<conio.h>

    int main()

    {

    double ip;

    cout << "Masukan IP komulatif : ";

    cin >> ip;

    if (ip >= 2.00 && ip <= 2.75)

    cout << "Lulus memuaskan \n";

    else

    {

    if (ip >= 2.76 && ip <= 3.50)

    cout << "Lulus sangat memuaskan \n" ;

    else

    {

    if (ip >= 3.51 && ip <= 4.00)

    cout << "Cummlaude \n";

    else

    cout << "IP tidak valid \n";

    }

    }

    return 0;

    }


    Algoritma:

    masukan(kode_tv)

    COCOK kode_tv

    DENGAN 1 MAKA

    tampilkan("RCTI")

    DENGAN 2 MAKA

    tampilkan("TV 7")

    DENGAN 3 MAKA

    tampilkan("TVRI")

    AKHIR-COCOK


    //Contoh 2.6

    #include<iostream.h>

    int main()

    {

    int kode_tv;

    cout << "Masukan kode_tv (1 s/d 3) : ";

    cin >> kode_tv;

    switch (kode_tv){

    case 1:

    cout << "RCTI \n"; break;

    case 2:

    cout << "TV7 \n"; break;

    case 3:

    cout << "TVRI \n"; break;

    default:

    cout << "kode TV tidak ada !!! \n";

    }

    return 0; }


    //Contoh 2.7 Modifikasi 2.6 dengan nested if

    #include <iostream.h>

    int main()

    {

    int kode_tv;

    cout << "masukan kode tv (1 s/d 3) : ";

    cin >> kode_tv;

    if (kode_tv == 1)

    cout << "RCTI \n";

    else

    if (kode_tv == 2)

    cout << "TV 7 \n";

    else

    if (kode_tv == 1)

    cout << "TVRI \n";

    else

    cout << "kode TV tidak ada !!! \n";

    return 0;

    }


Selengkapnya...

Posted on 9:19 AM by bowbow and filed under | 0 Comments »

PEMROGRAMAN BERORIENTASI OBJEK (PBO)


A. KONSEP BERORIENTASI OBJEK

SEKILAS

Bagian ini menjelaskan yang dimaksud objek dalam bidang teknologi objek (object technology/OT). Bagian ini juga menguji karakteristik-karakteristik kunci untuk objek, bagaimana objek-objek berinteraksi, dan bagaimana mereka dikelompokkan.


OBJEK ADA DI MANA-MANA

Bagaimana objek-objek ada di mana-mana dalam dunia nyata dan bagaimana mereka dikonsepsualisasi dalam model komputasi bisnis.


1. Objek dalam Dunia Nyata

Teknologi objek memerlukan paradigma yang membedakannya dengan sudut pandang tradisional dari pemrograman terstruktur. Dunia, selain dapat dipandang sebagai sekumpulan fungsi, dapat pula dipandang sebagai sekumpulan kelas. Orang-orang, tempat, bendabenda, dan sebagainya, semuanya merupakan kelas. Contohnya, suatu bandara terdiri atas ratusan kelas yang nampak, termasuk:

a. pesawat terbang

b. penumpang

c. bagasi


Abstraksi dapat pula merupakan kelas:

a. pemesanan tiket

b. penundaan

c. cek keamanan


Meskipun tampaknya konsep ini sangat dasar, ia memberikan fondasi yang penting bagi pemahaman kelas dalam konteks komputasi.


2.Objek dalam Model Komputasi Bisnis

Objek-objek dari dunia komputasi bisnis merupakan sesuatu yang berguna secara nyata dalam lingkungan bisnis. Sebagai contoh, objek dalam perangkat lunak komputasi bisnis pada suatu bandara bisa berupa penumpang, penerbangan, landas-pacu, pemesanan, dan jadwal.


B. KONSEP DAN KARAKTERISTIK KELAS DAN OBJEK

Pengembangan berorientasi objek sangat berbeda dari pemrograman tradisional. Ia mencakup penerjemahan dari penggambaran dunia nyata beserta objek-objek yang ada di dalamnya ke dalam model-model konseptual dari masalah-masalah tersebut. Model konseptual ini kemudian dapat diciptakan menggunakan perangkat dan bahasa berorientasi-objek untuk menjalankan suatu sistem komputasi sebagai aplikasinya.


Definisi Objek


Suatu objek adalah unik. Ia mewakili suatu objek dunia-nyata, seperti orang (contohnya seorang penumpang atau kedatangan pesawat), mobil, rekening bank. Objek mirip dengan suatu rekaman (record) dalam suatu sistem berkas (misalnya rekaman karyawan). Suatu objek didefinisikan berdasarkan namanya, sebuah kata benda seperti: karyawan, rekening bank, ataupun kartu kredit. Objek juga memiliki atribut dan metode. Yang menjadi pertanyaan berikutnya, apa sebenarnya perbedaan antara kelas dengan objek? Dalam konteks pemrograman berorientasi objek, kelas adalah suatu struktur dalam program yang berisi satu atau beberapa metode (dapat berupa fungsi dan/atau prosedur) dan atribut (dapat berupa data ataupun variabel yang akan dipoerasikan dalam metode). Dengan demikian atribut merupakan anggota kelas yang bersifat statis, sedangkan metode merupakan anggota kelas yang bersifat dinamis. Dalam pemroraman, metode dan atribut biasanya dapat dibedakan dari format penulisannya, yaitu nama_metode(tipe_parameter daftar_parameter, (…)) untuk format metode (parameter dan tipe parameter bisa lebih dari satu) dan tipe parameter nama_atribut untuk format atribut. Jadi Berbicara (int Suara) dan Jumlahkan (double Bil1,double Bil2) merupakan metode, sedangkan int Suara, double Bil1 dan double Bil2 merupakan atribut. Sedangkan objek merupakan contoh-langsung atau contoh-nyata dari kelas. Misal: dari kelas Guru dapat dibuat objek Umar_Bakrie. Artinya, Umar_Bakrie merupakan contoh-langsung dari kelas Guru. Secara definisi, dapat dijelaskan bahwa: “An object is an instance of class”.

TIP:

Suatu objek kadang kala direferensikan sebagai suatu contoh langsung (instance) atau suatu kejadian (occurrence).


Atribut

Suatu objek memiliki atribut-atribut. Atribut merupakan deskripsi (data) yang berhubungan dengan objek. Sebagai contoh, seorang karyawan dapat mencakup nama, alamat, tanggal lahir, nomor jaminan sosial, dan tanggal awal kerja. Atribut mirip dengan elemen-elemen data.


TIP: Hal yang paling penting mengenai objek adalah bahwa objek

memiliki data (atribut) dan fungsi (metode).


C. KONSEP DASAR PBO


Pemrograman berorientasi objek sering sekali disebut sebagai PBO/OOP (Object Oriented Programming). Bahasa pemrograman yang lazim digunakan dalam PBO adalah C++ ( Keluaran Borland disebut Borland C++, sedangkan dari Microsoft disebut Ms C++. Namun yang terakhir kurang poluler ). Demikian pula, jka ada bahasa pemrograman yang menggunakan C++ sebagai landasan utama bagi pengembangannya, maka bahasa tersebut bisa dipakai untuk PBO, seperti Java, yang menjadi perhatian utama dalam pelatihan ini (bahasa ini sangat populer pada jaringan komputer, dalam hal ini adalah: Internet).


D. ALASAN DIGUNAKANNYA PBO

PBO diciptakan karena masih dirasakan adanya keterbatasan pada bahasa pemrograman tradisional yang dikenal dengan istilah procedural language seperti C, Pascal dan yang sejenisnya. Padahal, pemrograman prosedural sendiri pada awalnya merupakan perbaikan atas bahasa pemrograman sekuensial (sequential programming language), seperti BASIC ataupun Fortran. Konsep procedural programming language yaitu bahwa semua masalah dibagi ke dalam fungsi atau prosedur. Selain itu dalam procedural programming, fungsi dan data terpisah dan tidak menjadi

satu kesatuan. Contoh kelemahan dari procedural programming adalah bila sebuah perusahaan membuat program General Ledger (Buku kas besar) menggunakan variabel yang bisa diakses oleh fungsi-fungsi lainnya, maka harus dideklarasikan variabel tersebut sebagai variabel global yang letaknya di luar semua fungsi sehingga bisa diakses oleh semua fungsi. Jika suatu saat perusahaan tadi memperkerjakan programmer baru yang belum mengetahui seluk-beluk program general ledger tadi, maka sangat dimungkinkan terjadinya kerusakan data. Anda juga akan menemukan kesulitan bila Anda ingin membuat tipe data baru dengan bahasa pemrograman tradisional. Konsep PBO adalah bahwa semua pemecahan masalah dibagi ke

dalam kelas (class). Dalam PBO data dan fungsi-fungsi yang akan mengoperasikan data digabungkan menjadi satu kesatuan yang bisa disebut sebagai kelas. Fungsi kelas terletak pada fungsi anggota (member function) dalam Java. Jika Anda ingin membaca data dalam objek maka Anda harus memanggil fungsi anggota (member function) dalam objek. hanya

dengan cara ini Anda bisa mengakses data. Jadi Anda tidak bisa mengakses data secara langsung seperti dalam konsep pemrograman tradisional. Pengaksesan data seperti pada PBO ini dikenal sebagai pengkapsulan data. Pengkapsulan data (data encapsulation) dan penyembunyian data merupakan kunci pengertian pemrograman

berorientasi objek. Jika Anda ingin mengubah data dalam objek tentunya Anda harus tahu fungsi-fungsi apa saja yang berinteraksi dengan objek itu, jadi tidak ada fungsi-fungsi lain yang bisa mengakses data sehingga penulisan dan penelusuran kesalahan program (debugging) akan dapat dilakukan dengan mudah. Untuk mempermudah pengertian mengenai objek, dimisalkan objek sebagai departemen-departemen dalam perusahaan, seperti pemasaran, keuangan, produksi, personalia, pengadaan maupun warehouse. Setiap departemen memiliki fungsi, tugas dan tanggung jawab yang berbeda. Jika menginginkan data laporan keuangan maka yang harus diminta adalah departemen keuangan, bukan yang lainnya.


E. PARADIGMA DALAM PERUSAHAAN

Sebagai sebuah organisasi bisnis, sebuah perusahaan dapat dipandang sebagai kesatuan dari beberapa kelas yang berbeda, atau yang biasanya disebut sebagai departemen. Departemen-departemen tersebut antara lain adalah: Departemen Keuangan, Departemen Pemasaran, Departemen Personalia, Departemen Pengadaan, dan sebagainya. Setiap departemen memiliki fungsi dan perannya sendirisendiri. Dalam hal ini suatu departemen memiliki metode dalam menjalankan operasi departemennya. Namun demikian, masing-masing departemen mengolah data dan informasi yang berbeda-beda pula (memang, dimungkinkan untuk memiliki data bersama antardepartemen). Dengan demikian, dapat diartikan bahwa tiap-tiap departemen memiliki atribut-nya masing-masing.


Terdapat 3 (tiga) metodologi dasar PBO yaitu :

1. Pemodulan/pengkapsulan (encapsulation)

2. Penurunan/pewarisan (Inheritance)

3. Polimorfisme (Polimorphism)


1. PEMODULAN (ENCAPSULATION)


Pemodulan adalah metode untuk menggabungkan data dengan fungsi. Dalam konsep ini data dan fungsi digabung menjadi satu kesatuan yaitu kelas. Konsep ini erat kaitannya dengan konsep penyembunyian informasi (information hiding). Untuk menjelaskan konsep ini diberikan contoh sebagai berikut.

Contoh 1:

Mobil adalah sebuah kelas. Seorang pengendara mobil tidak harus tahu bagaimana proses kerja mesin mobilnya, pembakaran bahan bakar, proses pemindahan transmisi gigi, dan seterusnya. Yang dia tahu adalah bahwa setir untuk mengendalikan jalannya mobil, pedal gas untuk menambah kecepatan, pedal rem untuk mengurangi kecepatan, dan seterusnya. Singkatnya dia hanya tahu bahwa mobilnya berjalan dengan baik.

Contoh 2:

Kelas rice cooker (penanak nasi). Seorang ibu rumah tangga tidak tahu mengapat rice cooker bisa bekerja seperti itu. Barangkali seorang ibu rumah tangga tidak menyadari bahwa rice cooker modern memiliki sebuah mikroposesor setara Z80. Dari dua contoh di atas jelaslah bagaimana proses dalam metode suatu kelas selalu disembunyikan sedemikian rupa sehingga seseorang hanya tahu kelas tersebut dapat berfungsi, bukannya apa yang menyebabkan kelas itu bisa berbuat demikian. Hal di atas cukup penting dalam PBO membangun aplikasi kompleks yang melibatkan beberapa pemrograman. Misalnya sebuah kelompok pemrograman akan membuat aplikasi akuntansi (aplikasi ini biasanya membutuhkan ilmu yang sangat kompleks). Pemrogram I menangani masalah struktur data, Pemrogram II menangani masalah akuntansi dan Pemrogram III menangani masalah tampilan layar, dan sebagainya. Sebelum dikenal PBO, setiap pemrogram harus membuat suatu fungsi yang memiliki argumen masukan dan keluaran. Jadi bila Pemrogram I ingin mengolah program dari Pemrogram II, dia harus memberikan masukan dan menerima keluarannya. Cara ini sudah banyak digunakan dan mempunyai kelemahan yang antara lain tidak adanya kesatuan antara data dan fungsinya.


2. PENURUNAN (INHERITANCE)


Dari konsep penurunan ini suatu kelas bisa diturunkan menjadi kelas baru yang masih mewarisi sifat-sifat kelas orangtuanya. Hal ini dapat dianalogikan dengan kelas manusia. Manusia merupakan turunan dari orang tuanya dan sifat-sifat orang tua diwarisi olehnya. Bisa ditarik kesimpulan bahwa semua kelas di dunia selalu memiliki hirarki yang

menggambarkan silsilah kelas tersebut.

Contoh:

Dari kelas kendaraan bermotor dapat diturunkan beberapa kelas baru, misalnya: sepeda motor, sedan, pick-up, mini-bus, dan

kendaraan roda banyak. Masing-masing kendaraan bermotor ini memiliki beberapa data yang sama, seperti posisi gigi persnelling, kecepatan putaran mesin, kecepatan linear kendaraan, dan sebagainya. Namun masing-masing kelas turunan ini memiliki beberapa data dan metode yang berlainan.

Contoh:

Sedan memiliki data AC, sedangkan sepeda motor tidak. Karena sedan memiliki data AC maka terdapat juga metode-metode

yang berhubungan dengan AC seperti menyalakan AC, mengubah suhu AC, mematikan AC, dan sebagainya. Hirarki suatu kelas tidak harus bertingkat satu seperti contoh di atas. Hirarki kelas dapat bertingkat-tingkat dan sangat kompleks.

Contoh:

kelas sepeda motor mungkin masih dibagi lagi menjadi dua kelas, yaitu sepeda motor 2 tak dan 4 tak. Sepeda motor 2 tak mungkin masih dibagi lagi menurut pabrik pembuatnya, seperti Honda, Suzuki, Yamaha, dan seterusnya. Masing-masing pabrik mungkin masih mempunyai beberapa kelas turunan lagi, seperti Honda Astrea Star, Honda Astrea Grand, dan seterusnya.


3. POLIMORFISME (POLYMORPHISM)


Polimorfisme berarti kelas-kelas yang berbeda tetapi berasal dari satu orang tua dapat mempunyai metode yang sama tetapi cara pelaksanaannya berbeda-beda. Atau dengan kata lain, suatu fungsi akan memiliki perilaku berbeda jika dilewatkan ke kelas yang berbeda-beda.

Contoh:

Kelas untuk input sound system. Sebuah tape recorder dan CD player memiliki tombol PLAY yang berfungsi untuk memainkan musik yang dikehendaki. Tape recorder mengimplementasikan tombol PLAY dengan membaca isyarat-isyarat yang terekam di pita magnetis kaset, sedangkan CD player menggunakan sinar laser untuk membaca bit-bit digital yang terekam di permukaan CD.


source : www.teknokrat.ac.id/PBO/PengenalanPBO.pdf

Selengkapnya...

Posted on 3:49 PM by bowbow and filed under | 0 Comments »