Senin, 01 Februari 2010

lanjutan algoritma

 Sebuah fungsi berisi sejumlah pernyataan yang dikemas dalam sebuah nama.
 Selanjutnya nama ini dapat dipanggil beberapa kali di beberapa tempat dalam program.
Tujuan pembuatan fungsi :
 Memudahkan dalam mengembangkan program.
 Menghemat ukuran program, terutama bila ada beberapa deretan instruksi yang sama digunakan pada beberapa tempat dalam program.



Parameter dan nilai balik:
 Umumnya fungsi menerima masukan yang disebut argumen atau parameter.
 Masukan / parameter diolah oleh fungsi dan menghasilkan sebuah nilai balik (return value).
Prototipe fungsi:
 Deklarasi fungsi dikenal dengan sebutan prototipe fungsi.
 Prototipe ini berupa :
– Nama fungsi
– Tipe nilai balik fungsi
– Jumlah dan tipe argumen
 Dan diakhiri dengan tanda titik koma (;) sebagaimana pada pendeklarasian variabel.
 Manfaat prototipe fungsi adalah untuk menjamin tipe argumen yang dilewatkan pada pemanggilan fungsi benar-benar sesuai .
 Pada prototipe fungsi, nama argumen boleh ditiadakan.

Defenisi fungsi:
 Setiap fungsi yang dipanggil di dalam program harus didefinisikan.
 Berikut merupakan contoh definisi fungsi kuadrat sesuai contoh prototipe sebelumnya.
long kuadrat(long l)
{
long hasil;
hasil = l * l;
return(hasil);
}
 Apabila fungsi tidak memiliki nilai balik, maka tipe nilai baliknya adalah void.
 Fungsi tanpa nilai balik tidak memerlukan pernyataan return pada definisinya.

Contoh :


Ruang lingkup fariable:
 Berdasarkan penyimpanan terkait dengan ruang lingkup variabel, terdapat 3 jenis variabel yaitu :
– Variabel otomatis
– Variabel eksternal
– Variabel statis
1.variable otomatis
 Variabel yang didefinisikan didalam suatu fungsi berlaku sebagai variabel lokal pada fungsi.
 Artinya variabel tersebut hanya dikenal pada fungsi dimana variabel tersebut di definisikan.
 Begitu juga variabel pada fungsi main()
 Variabel ini disebut variabel otomatis




3.variable statis
 Baik variabel eksternal maupun otomatis dapat berkedudukan sebagai variabel statis.


Jika variable lokal berdiri sebagai variable statis maka:

 Variabel tetap hanya dapat diakses pada fungsi yang mendefinisikannnya.
 Variabel tidak hilang saat eksekusi fungsi berakhir. Nilainya akan tetap dipertahankan, sehingga akan dikenali pada pemanggilan fungsi untuk tahap berikutnya.
 Inisialisasi oleh pemrogram akan dilakukan sekali saja selama program dijalankan. Jika tidak ada inisialisasi eksplisit, variabel diisi dengan nol.
Jika variable external berdiri sebagi variable statis maka:
 Variabel ini dapat diakses oleh semua file yang didefinisikan pada file yang sama dengan variabel eksternal tersebut.
 Hal ini bermanfaat pada pemrogram file berganda atau kode program ditaruh pada beberapa file


Operator resolusi lingkup

 Pada C++ terdapat sebuah operator berupa dua buah tanda titik-dua (::).
 Operator ini disebut operator resolusi lingkup (scope resolution operator).
 Kegunaanya untuk mengakses variabel yang didefinisikan di luar suatu fungsi atau blok.
 Hal ini sangat berguna apabila ada variabel lokal dengan nama yang sama.

Fungsi overloading
 Cara seperti di depan biasa dilakukan pada C.
 Untuk membentuk fungsi sama dengan tipe data yang berbeda-beda maka dibuatkan nama fungsi yang berbeda-beda pula.
 Pada C++ dapat digunakan function overloading.

Fungsi overloading


 Contoh fungsi di depan digunakan untuk membaca data bertipe int atau double.
 Namun pendefinisian fungsi ini tidak benar, karena C++ tidak dapat membedakan kedua fungsi tersebut. Misalnya terdapat pemanggilan :

Baca_bilangan ( );
 C++ akan bingung memilih fungsi yang mana yang akan dijalankan.
 Oleh karena itu janganlah menggunakan tipe nilai balik sebagai acuan overloading tapi gunakan tipe dan jumlah argumen.

REKURSI

 Fungsi dalam C++ dapat dipakai secara rekursi. Artinya suatu fungsi dapat memanggil fungsi yang merupakan dirinya sendiri.
 Contoh penerapan adalah untuk menghitung nilai perpangkatan : xn
 Dimana n adalah bilangan bulat positif.
Program multifile

 Materi ini sekaligus contoh untuk variabel eksternal yang menggunakan kata kunci extern.


MELEWATKAN ARRAY SEBAGAI ELEMENT FUNGSI

Beberapa fungsi menggunakan array

 Operasi yang umumnya dilakukan menggunakan array adalah :
– Mencari bilangan terbesar / terkecil.
– Mencari suatu data pada array.
– Mengurutkan data.
MENCARI SUATU DATA PADA ARRAY


MENGGURUTKAN DATA PADA ARRAY

 Ada berbagai teknik untuk mengurutkan data, salah satunya adalah metode bubble sort.
 Pengurutan dilakukan dengan membandingkan setiap elemen array dengan seluruh elemen yang terletak sesudah posisinya.


STRING

 String sangat memudahkan pemrogram.
 Dengan string kita dapat menampilkan prompt, pesan kesalahan dan berbagai informasi lainnya.
 Seperti halnya tipe data lain, string juga dapat berupa konstanta atau variabel.

KONSTANTA STRING
 Konstanta string ditulis dengan awalan dan akhiran tanda petik ganda.

“C++
 Setiap karakter menempati memori 1 byte. Setelah karakter yang terakhir terdapat karakter NULL.

VARIABLE STRING

 Variabel string adalah variabel yang digunakan untuk menyimpan string. Misalnya :

char teks[10];

 Pernyataan diatas merupakan pernyataan untuk mendefinisikan variabel string dengan panjang maksimal 10 karakter (sudah termasuk karakter NULL).
 Sebenarnya variabel string adalah variabel array bertipe karakter.



 Program di depan dapat berjalan dengan normal jika diinputkan sebuah kata.
 Namun jika terdapat spasi (lebih dari satu kata) maka kata sesudah spasi tidak ditampung dalam variabel string.
 Ini disebabkan karena operator >> pada cin hanya bisa membaca masukan hingga terdapat spasi, tab atau enter.
 Untuk mengatasi permasalahan diatas, dapat digunakan fungsi anggota get() pada cin yaitu cin.get()
 Program di depan dapat dimodifikasi menjadi seperti berikut :




Untuk menghindari kesalahan, pada program di depan, baris
cin.get(teks, 20);
 Dapat ditulis menjadi :
cin.get(teks, sizeof(teks));


FUNGSI ANGGOTA GETLINE

 Penggunaan cin.get() akan menimbulkan masalah jika pada program cin.get() digunakan lebih dari sekali.
 Seperti pada contoh program dibawah ini.

FUNGSI ANGGOTA GETLINE

 Pada program di depan, cin.get() yang kedua tidak berfungsi sebagaimana mestinya.
 Untuk mengatasi hal tersebut, dapat digunakan fungsi anggota getline()
 Program di depan dimodifikasi menjadi seperti berikut :

MEMBACA SEJUMLAH GARIS

 Fungsi anggota getline() juga bisa dipakai untuk membaca sejumlah baris hingga suatu karakter yang ditentukan dijumpai.
 Hal seperti ini dapat diperoleh dengan menyertakan argumen ketiga pada fungsi tersebut.
 Argumen ini merupakan karakter pengakhir.






I
Menyalin String dengan strcpy()

 Menyalin string berbeda dengan menyalin bilangan.
 Misalnya teks1 dan teks2 adalah variabel string. Untuk menyalin string teks1 ke teks2, kita tidak bisa memberikan pernyataan :
teks2 = teks1; //salah
 Untuk menyalin string, kita dapat menggunakan fungsi strcpy()

Menyalin String dengan strcpy()


BEBERAPA FUNGSI OPERASI STRING

 Kompiler Borland C++ maupun Turbo C++ menyediakan sejumlah fungsi yang berkaitan dengan operasi string. Beberapa diantaranya : strlen(), strcat(), strcmp(), stricmp(), strncmp(), strlwr(), strupr(), strstr(), strrev()
 Semua fungsi diatas mempunyai prototipe string.h

STRLEN()
 Fungsi strlen() digunakan untuk mencari panjang suatu string.

STRCMP()

 Fungsi strcmp() digunakan untuk membandingkan dua buah string. Misalnya st1 dan st2 adalah variabel string, maka :

hasil = strcmp(st1, st2);

Akan memberikan nilai int berupa :
– Nilai negatif bila st1 < st2
– Nilai nol bila st1 == st2
– Nilai positif bila st1 > st2


 Pembandingan string pada strcmp() berdasarkan urutan karakter dalam tabel ASCII.
 Misalnya A lebih kecil dari a.

STRICMP()

 Fungsi stricmp() berguna untuk membandingkan dua buah string tanpa membedakan huruf kecil ataupun huruf kapital.


 Akan memberikan nilai balik berupa 0, yang, menyatakan kedua string tersebut adalah sama (karena huruf kapital dan huruf kecil dianggap sama).


STRLWR() DAN STRUPR()

 Fungsi strlwr() digunakan untuk mengubah string menjadi huruf kecil.
 Fungsi strupr() digunakan untuk mengubah string menjadi huruf kapital.



 Fungsi strstr() digunakan untuk keperluan mencari substring dalam suatu string.

STRREV()

 Fungsi strrev() digunakan untuk membalik isi string.

STRREV()



1. mencariu tipe data di C++ dan rentannya

Tipe data terdapat 5 data tipe c yaitu ;

1. void ; diartikan sebagai tanda tipe data dan tanpa pengambilan nilai.
2. int ; bilangan bulat ( integer )
3. float ; bilangan pecahan ( floating point )
4. double ; bilangan pecahan dengan jangkauan data yang lebih luas.
5. char ; karakter.

Sedangkan pada C++ sendiri menambahkan 2 tipe data lagi yaitu ;

1. bool ; isi bilangan boolean ( true and false )
2. wchart ; wide caracter.



Tipe ukuran (bits ) range
1. unsigned char 8 0 s/d 255
2. char 8 -128 s/d 127
3. short int 16 -32,768 s/d 32,767
4. unsigned int 32 0 s/d 4,294,967,295
5. int 32 -2147,483,648 s/d 2,147,483,647
6. unsigned long 32 0 s/d 4,294,697,295
7. long 32 -2,147,648 s/d 2,417,483,647
8. float 32 3.4E-38 s/d 1.7E + 308
9. double 64 1.7E-308 s/d 3.4E +308
10. long double 80 3.4E-4932 s/d 1.1E+4932


2. mencari bagaimana mengisi variable di c++











Tipe Data Primitif
Jenis-jenis tipe data :
- Tipe data Integer
Tipe data bilangan bulat decimal yang dapat menampung angka antara -2147483648 dan 2147483647. Tipe data ini berukuran 32 bits atau 4 bytes.
- Tipe data Character
Tipe data yang hampir mirip dengan tipe data integer tetapi hanya cukup untuk menampung 1 karakter ASCII. Karena tipe data character hanya memiliki ukuran 1 byte, tipe data ini sangat sering digunakan untuk menyimpan tipe data karakter sesuai dengan namanya. Tipe data ini dikatakan ideal untuk menampung data karakter karena ukuran 1 byte cukup besar untuk menyediakan 1 slot untuk tiap karakter ASCII. Saat compile, semua tipe data karakter akan diubah ke bentuk integer kode ASCIInya.
- Tipe data Float
Float merupakan kependekan dari floating point. Tipe data ini dapat menampung bilangan real tetapi kurang presisi karena hanya dapat menyimpan single precision floating point numbers.
- Tipe data Double
Tipe data double sangat mirip dengan tipe data float tetapi tipe data double dapat menyimpan double precision floating point numbers. Biasanya memiliki ukuran 8 bytes.
- Tipe data Void
Tipe data yang tidak bertipe.




(1). Pengertian dan urutan SDLC sebagai berikut :

Pengertian;
SDLC ( systems development life cycle ) siklus hidup pengembangan sistem pengembangan sistem dalam rekayasa sistem dan rekayasa perangkan lunak adalah proses pembuatan dan pengubah sistem serta model dan metologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep in9i umumnya merujuk pada sistem komputer atau informasi-informasi.

Dalam rekayasa perangkat lunak konsep SDLC mendasari berbagai jenis metologi pengembangan perangkat lunak . metologi ini membentuk suatu kerangka kerja untuk perancangan dan pengendalian pembuatan sistem informasi , yaitu proses pengembangan perangkat lunak.






Urutan SDLC :

1.Planning : perencanaan pembuatan

2. Analisa : proses analisa suatu program yg akan dibuat

3. Design : design system,design database,design communication dll.

4. coding: pengkodean software

5. testing: testing komponen, testing system,testing integrasi system,
UAT / user acceptance test dsb...

6. deployment

7. maintenance
(deployment dan maintenance) : masa saat software sudah diuji dan lolos dan siap diimpelementasikan .



(2) simbol dan fungsi flowchart sebagai berikut :


SIMBOL NAMA FUNGSI

TERMINATOR Permulaan/akhir program

GARIS ALIR
(FLOW LINE) Arah aliran program

PREPARATION Proses inisialisasi/pemberian harga awal

PROSES Proses perhitungan/proses pengolahan data

INPUT/OUTPUT DATA Proses input/output data, parameter, informasi

PREDEFINED PROCESS
(SUB PROGRAM) Permulaan sub program/proses menjalankan sub program

DECISION Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya

ON PAGE CONNECTOR Penghubung bagian-bagian flowchart yang berada pada satu halaman

OFF PAGE CONNECTOR Penghubung bagian-bagian flowchart yang berada pada halaman berbeda

Tidak ada komentar:

Posting Komentar