Program Segitiga Bintang



Praktikum Gunadarma.
Laporan Akhir : Teknink Program Terstruktur 2 ( C++ )
Contoh program LOOP, program segitiga bintang



Program segitiga bintang :


Atau bisa langsung copas disini :


#include <iostream.h>
#include <conio.h>
void main()
{
int v,a,b;
clrscr();
cout<<"Input Loop : ";cin>>v;
cout<<endl;
for (a=1; a<=v; a++) {
for (b=1; b<=a; b++) {
cout<<"*";}
cout<<endl;}
getch();
}

Atau bisa di Download : DISINI

jika di runing dan di input dengan nilai 12 maka hasilnya akan seperti ini :




Terimakasih sudah datang dan membaca artikel kami Sertakan link sumber untuk menghargai karya cipta orang lain :)

Array Pada C++



Praktikum Gunadarma.
Laporan Pendahuluan : Teknink Program Terstruktur 2 ( C++ )
Pengertian Array + Program Array Pada c++



pada laporan pendahuluan kali ini kita akan membahas tentang apa itu Array ?
ada berapa macam array ?
beserta contoh program array dimensi 1. dan contoh program Array dimensi 2.

1. Apa yang kamu ketahui tentang Array dimensi 1 ?
2. Sebutkan Fungsi Array dan berikan contoh programnya ?


Array
Array merupakan bagian dasar pembentukan suatu struktur data yang lebih kompleks. Hampir setiap jenis struktur data kompleks dapat di sajikan secara logik oleh array.
Array adalah suatu tipe data terstuktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu.

Elemen-elemen array tersusun secara sekuensial di dalam memori sehingga memiliki alamat yang berdekatan. Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi. Elemen-elemen array bertipe data sama tapi bisa bernilai sama atau berbeda-beda. Array digunakan untuk menyimpan data-data yang diinputkan masing-masing kedalam memory komputer. Jadi jumlah datanya banyak namun satu jenis.

Karaktersitik Array :
1. mempunyai batasan dari pemesanan alokasi memory (bersifat statis)
2. mempunyai type data sama (homogen)
3. dapat di akses secara acak.
4. berurutan (terstruktur)

Array Mempunyai Dimensi :
1. Array Dimensi satu (vektor)

Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu. Pengaksesan elemen array dapat dilakukan berurutan atau random berdasarkan indeks tertentu secara langsung. Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud.
Array satu dimensi juga disebut array dimensi satu atau biasa juga disebut Vektor karena hanya memiliki satu arah.

Deklarasi array satu dimensi :
tipe_data nama_var [ukuran_array]

Ket :
–type_data : menyatakan type elemen array misal int, char, float
–nama_var : nama variabel array
–ukuran : menyatakan jumlah maksimal elemen arranya

2. Array Dimensi banyak
- Dimensi dua (matrix / tabel )
- Dimensi tiga (kubik)

Array multi dimensi berarti array yang kita deklasaikan dapat dikembangkan ke array dimensi 2 dan seteruanya. Array multi dimensi merupakan topik yang menarik dalam matematika. Setiap dimensi dalam array direpresentasikan sebagai sub bagian dalam array.

Oleh karena itu, array dua dimensi array memiliki dua sub bagian, sebuah array tiga-dimensi memiliki tiga sub bagian dan sebagainya. Sebuah contoh bentuk nyata yang baik dari array dua dimensi adalah sebuah papan catur. Satu dimensinya merupakan delapan baris, sedangkan dimensi lainnya merupakan delapan kolom.

Array dua dimensi sering kali digambarkan/dianalogikan sebagai sebuah matriks atau bentuk grid. Jika array berdimensi satu hanya terdiri dari 1 baris dan banyak kolom, array berdimensi dua terdiri dari banyak baris dan banyak kolom yang bertipe sama.
Array dua dimensi merupakan array yang terdiri dari M buah baris dan N buah kolom. Bentuknya dapat berupa matriks atau tabel.

Bentuk Umum : 
Tipe_Data Nama_Variabel [index-1] [index-2]

Inisialisasi array dua dimensi
Seperti array berdimensi satu, array berdimensi dua juga bisa diinisialisasi.

Fungsi Array.
Jika suatu fungsi memberikan hasil balik, maka nilai hasil balik yang diberikan oleh fungsi dapat dilakukan oleh statement return yang diikuti  oleh nilai hasil baliknya yang ditulis tanda kurung.

Keuntungan penggunaan array sebagai tipe data dibandingkan dengan penggunaan tipe data yang lain adalah kemampuannya yang dapat mengumpulkan beberapa data yang bertipe sama dalam satu variabel, sehingga dalam pembuatan program yang terdiri dari beberapa tipe yang sama, tidak membutuhkan banyak variabel.

Array juga dapat berfungsi sebagai pointer untuk menunjukan index yang sedang kita
gunakan.

Contoh program array dimensi 1 :



#include <iostream.h>
#include <conio.h>
void main()
{
clrscr ();
 int A[5];
 int i;

 for(i=0;i<5;i++)
 {
cout<<"Masukkan Data "<<i<<"="; cin>>A[i];
 }
for(i=0;i<5;i++)
{
cout<<endl<<"array ke-"<<i<<" -> "<<A[i];
}     getch () ;
}

Hasilnya akan seperti ini :


Download coding !!!



Atau contoh program Array dimensi 1 yang lainya :



#include<iostream.h>
#include<conio.h>
main()
{
clrscr();
int x;
int number[] = {1,2,3,4,5,6,7,8,9};
char character[] = {'H','E','L','L','O'};
for(x=0; x<9;++x)
{
cout <<"\nData ["<<x<<"] = "<< number[x];
}
cout<<"\n";
for(x=0; x<5; ++x)
{
cout<<"\nData["<<x<<"] = "<< character[x];
}
getch();
}



Sumber : http://rhatavarium.blogspot.com/2012/03/array-dimensi-1-c.html

Download Codingnya !!!


Untuk Contoh Program Array Dimensi 2 :




/*Program Penjumlahan dan pengurangan array 2 dimensi(matriks)*/
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
main()
{
clrscr();
//deklarasi
    int matrixa[3][3],matrixb[3][3],matrixc[3][3];
   int i,j;
   char opr;
//input nilai matriks ke-1 dari baris dan kolom
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   cout<<"Masukkan matriks(1) nilai baris ke-"<<i<<" kolom ke-"<<j<<" : ";cin>>matrixa[i][j];
   }
   cout<<endl;
   }
//output matriks ke-1
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   cout<<matrixa[i][j]<<"\t";
   }
   cout<<endl;
   }
//input nilai matriks ke-2 dari baris dan kolom
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   cout<<"Masukkan matriks(2) nilai baris ke-"<<i<<" kolom ke-"<<j<<" : ";cin>>matrixb[i][j];
   }
   cout<<endl;
   }
//output matriks ke-2
   cout<<endl;
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   cout<<matrixb[i][j]<<"\t";
   }
   cout<<endl;
   }
//Input Operator
   cout<<"Pilih Operator +,- :";cin>>opr;
//switching operator
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   switch(opr){
       case '+' : matrixc[i][j] = matrixa[i][j] + matrixb[i][j];
      break;
      case '-' : matrixc[i][j] = matrixa[i][j] - matrixb[i][j];
      break;
      default:
      cout<<"keyword yang anda masukkan salah/tidak terdaftar";
   }
//Output Hasil matriks dari Operator
   cout<<matrixc[i][j]<<"\t";
   }
   cout<<endl;
   }
getch();
return 0;
}


Maka Hasil Outputnya akan seperti ini, (jika di isi inputan secara berurutan)


Download Coding program Array dimensi 2 : DI SINI !!!

Terimakasih sudah datang dan membaca artikel kami Sertakan link sumber untuk menghargai karya cipta orang lain :)

Program Metode Newton Raphson





Praktikum Gunadarma.
Laporan Akhir : Matematika Lanjut 2 ( Turbo Pascal 7.0 )
Program newton Raphson.


Setelah kemarin kita mempelajari Pengertian Metode Newton Raphson. sekarang kita akan membuat program Metode Newton Raphson dengan menggunakan Turbo Pascal 7.0.



Atau secara Manualnya :


program Newton_raphson;
uses crt;
label ulang;
var
x, x1, y, y1, z, f, f1, f2 : real;
i:integer;
ab : char;
begin
ulang:
clrscr;
repeat
begin
writeln('tentukan akar persamaan dari (x)=3x+sin(x)+exp x dengan metode newton raphson');
writeln;
write('masukan nilai x1= ');
readln(x1);
y1 := 3 * x1+ sin(x1) - exp(x1);
f1 := 3 + cos(x1) - exp(x1);
f2 := -sin(x1) - exp(x1);
z :=(y1*f2)/(f1*f1);
writeln('nilai f(x1) = ',y1:0:5);
writeln('nilai f^(x1) = ',f1:0:5);
writeln('nilai f^^(x1) = ',f2:0:5);
if abs(z) < 1 then
writeln('nilai x1 OK (',z:0:5,') <1');
end;
until abs(z)<1;
readln;
i := 1;
writeln('penyelesaian persamaan karakteristik dengan  newton raphson');
writeln('-----------------------------------------------------------');
writeln('      n                  x          F(x)             error ');
repeat
begin
i:= i + 1 ; x := x1-(y1/f1);
y:= 3* x + sin(x) - exp(x);
f:= 3 + cos(x) -exp(x);
if i < 10 then
writeln('::',i,'::',x,'::',y,'::',abs(y),':')
else
writeln('::',i,'::',x,'::',y,'::',abs(y),':');
x1:= x;
y1:= y;
f1:=f;
end;
until abs(y) < 1E-08;
writeln('--------------------------------------------------------------');
writeln('akar persamaannya x= ',x);
writeln('errornya = ',abs(y));
write('apakah anda ingin mengulanginuya (y/t) =');
readln(ab);
if (ab='y') or (ab='Y') then
begin
goto ulang;
end
end.

Atau Kalian bisa Download Disini : DOWNLOAD !!!!

Hasil Outputnya adalah :


ketika kita menginput x1 = 1, maka akan muncul hasil seperti di atas, hasil di atas menunjukan bahwa nilai 1, tidak memenuhi persamaan di atas.


Ketika Kita menginput Nilai X1 = 2 maka akan muncul tabel yang menunjukan letak persamaan dan errornya.



Terimakasih sudah datang dan membaca artikel kami Sertakan link sumber untuk menghargai karya cipta orang lain :)

IF Swich Program




Praktikum Gunadarma.
Laporan Akhir : Teknink Program Terstruktur 2 ( C++ )
Program Kondisi IF Swich



Berikut ini adalah salah santu Contoh Program If Swich dengan menggunakan C++



Atau codinganya :


#include <iostream.h>
#include <conio.h>
#include <string.h>
void main()
{
awal:
clrscr();
int ting;
char jur[30], ulang;
char *ka = "SISTEM INFORMASI";
char *ia = "TEKNIK INFORMATIKA";
char *db = "MANAJEMEN INFORMATIKA";

cout<<"Masukkan Jurusan Anda [KA,IA,DB]: ";cin>>jur;endl;
cout<<"Masukkan Tingkatan Anda : ";cin>>ting;endl;
if ((!strcmp(jur, "ka")) || (!strcmp(jur, "KA"))) { strcpy(jur, ka); }
else if ((!strcmp(jur, "ia")) || (!strcmp(jur, "IA"))) { strcpy(jur, ia); }
else if ((!strcmp(jur, "db")) || (!strcmp(jur, "DB"))) { strcpy(jur, db); }
else { goto awal; }
cout<<endl;
cout<<"==============================="<<endl;
cout<<"   - UNIVERSITAS GUNADARMA -   "<<endl;
cout<<"==============================="<<endl<<endl;
cout<<"JURUSAN = "<<jur;
cout<<endl;
switch(ting) {
case 1: cout<<"TINGKAT = 1 (SATU)";  break;
case 2: cout<<"TINGKAT = 2 (DUA)";   break;
case 3: cout<<"TINGKAT = 3 (TIGA)";  break;
case 4: cout<<"TINGKAT = 4 (EMPAT)"; break;
default:cout<<"TINGKAT = D E W A"; }
cout<<endl<<endl;
cout<<"===============================";
getch();
}


Atau kalian Bisa Download Codinganya disii : DOWNLOAD !!!

jika di jalankan hasilnya akan seperti ini :


kita hanya akan melakukan 2x inputan, yaitu pada Jurusan Dan tingkat.

Terimakasih sudah datang dan membaca artikel kami Sertakan link sumber untuk menghargai karya cipta orang lain :)

Struktur Ogranisasi Data 2 - Queue (Antrean)



QUEUE (ANTREAN)


Pengertian Queue /Antrean

Secaraharfiah queue dapatdiartikansebagaiantrean. Queue merupakankumpulan data denganpenambahan data hanya dapat dilakukanmelaluisatusisi, yaitubelakang (tail) danpenghapusan data hanyamelaluisisidepan (head). queuebersifat FIFO(First In First Out), yaitu data yang pertamamasukakankeluarterlebihdahuludan data yang terakhirmasukakankeluarterakhir. Berikutiniadalahgambaranstruktur data queue.




Elemen yang pertama kali masukkedalam queue disebutelemendepan (front/head of queue), sedangkanelemen yang terakhir kali masukke queue disebutelemenbelakang (rear/tail of queue).

Aturan penambahan dan penghapusan elemen pada queue, yaitu pada penambahan elemen selalu di lakukan melalui salah satu ujung, menempati posisi di belakang elemen-elemen yang sudah masuks ebelumnya atau menjadi elemen paling belakang. Sedangkan penghapusan elemen dilakukan di ujung yang berbeda, yaitu pada posisi elemen yang masuk paling awal atau elemen terdepan.

Operasi-operasi dasar dari sebuah queue adalah :1.Enqueue : proses penambahanelemen di posisibelakang
2.Dequeue : proses pengambilanelemen di posisidepan

Selain operasi dasar di atas, ada pula operasi-operasi lain yang dapat dilakukan terhadap sebuah queue yaitu :

1.CREATE (Q) Operator yang menunjukkan suatu antrean hampa Q.
Berarti : Noel (Q) = 0
Front (Q) & Rear (Q) = tidak terdefinisi

2.ISEMPTY (Q) Operator yang menunjukkan apakah antrean Q hampa.
Operand : tipe data antrean
Hasil : tipe data boolean
ISEMPTY (CREATE (Q)) = True

3.INSERT (E, Q) Operator yang menginsert elemen E ke dalam antrean Q.
E ditempatkan di bagian belakang antrean.
Hasil : antrean yang lebih besar.
REAR (INSERT (E, Q)) = E
ISEMPTY (INSERT (E, Q)) = False

4.REMOVE (Q)Operator yang menghapus elemen bagian depan dari antrean Q.
Hasil : antrean yang lebih pendek.
Pada setiap operasi, Noel (Q) berkurang 1 dan elemen ke-2 menjadi elemen terdepan.
Jika Noel (Q) = 0 maka Q = hampa
Remove (Q) = kondisi error (underflow condition)
Remove (Create (Q)) = kondisi error (underflow condition)



Jikaadaelemenbaru yang akanmasukpadagambar (a), makaiaakandiletakkandisebelahkanan F (gambar (b)). Jikaadaelemen yang akandihapus, maka A akandihapuslebihdulu (gambar (c)).


Contoh deklarasi antrian :

Const max = 5
Varantrian : array [1..max] of char;
Belakang, depan : integer; x : char;

Dengan menggunakan array, maka overflow dapat terjadi jika antrian telah penuh, sementara masih ingin menambah elemen kedalam antrian. Dengan mengabaikan adany aoverflow, maka penambahan elemenbaru yang dinyatakanolehvar x dapat diimplementasikan denganstatemen :

belakang := belakang + 1;
antrian [belakang] := x;

Operasi penghapusan bisadi implementasikan dengan ;

x := antrian [depan];
depan := depan + 1;


Padagambar (a) posisidepan = 1 danbelakang = 0. Padagambar (b) keadaan setelah penambahan empat buah elemen dimana posisi depan = 1 dan belakang = 4. Pada gambar(c) keada ansetelah penghapusan duabuahel emen dimanaposisidepan = 3 danbelakang =4. Padagambar (d) keadaansetelahpenambahanduabuahelemendiamanaposisidepan =3 danbelakang = 5.

Jikaakanditambahelemenbaru, makanilaibelakangharusditambahsatumenjadi 6.Sedangkanlarikantriantersebuthanyaterdiridari 6 elemensehinggatidakbisaditambahlagimeskipunsebenarnyalariktersebutmasihkosong di duatempat.Olehkarenaitudilakukandenganmetodapenggeserandimanajikaadaelemen yang dihapus, makasemuaelemen lain digesersehinggaantrianselaludimulaidaridepan = 1.

x := antrian [1];
for i := 1 to belakang-1 do
begin
antrian [ i] := antrian [i +1];
end;



Pada gambar (a) posisi depan = 1 dan belakang = 0. Pada gambar (b) keadaan setelah penambahan empat buah elemen di mana posisi depan = 1 dan belakang = 4. Padagambar(c) keadaan setelah penghapusan dua buah elemen dimana posisi depan = 1 dan belakang= 2. Pada gambar (d) keadaan setelah penambahan dua buah elemen di mana posisi depan =1 dan belakang = 4.Cara penggeseran elemen tidak efisien untuk larik berukuran besar.Oleh karena itu dilakukan dengan larik yang menyimpan elemen antrian sebagai larik memutar (circular).

b. Dengan Menggunakan Circular Array
  
Salah satuvariasi array adalah array melingkar (circular array), artinya array dapat diakses mulai dari sembarang indeks (indeksawal) kearah indeks terakhir (maksimum array), lalu memutar ke indeks pertama hingga kembali ke indeks awal. Circular array adalah array yang dibuatseakan-akan merupakan sebuah lingkaran dengan titik awal dan titik akhir saling bersebelahan jika array tersebut masih kosong.Jumlah data yang dapat ditampung oleh array ini adalah besarnya ukuran array dikurangi 1.Misalnya besar array adalah 8, makajumlah data yang dapat ditampung adalah 7.

Dengan circular array, meskipun posisi terakhir telah terpakai, elemen baru tetap dapat ditambahkan pada posisi pertama jika posisi pertama dalam keadaan kosong.Jika nilai head dan tail mencapai maksimum, maka akan dikembalikan keposisiawal. Queue dengan circular array dapat dibayangkan sebagaiberikut :


Aturan-aturandalam queue yang menggunakan circular array adalah :
  1. Proses penghapusan dilakukan dengan cara nilai depan (front) ditambah 1  : depan = depan + 1.
  2. Proses penambahan elemen sama dengan linear array yaitu nilai belakang ditambah 1 : belakang = belakang + 1.
  3. Jika depan = maka s dan ada elemen yang akan dihapus, maka nilai depan = 1.
  4. Jika belakang = maks dan depan tidak 1 maka jika ada elemen yang akan ditambahkan ,nilai belakang=1
  5. Jika hanya tinggal 1 elemen di queue (depan = belakang), dan akan dihapus maka depan di isi 0 dan belakang di isi dengan 0 (queue kosong).

Front dan Tail akanbergerakmaju, jika ;
  1. Untuk penambahan.
  2. Tail sudah mencapai elemen terakhir array akan memakai elemen pertama array yang telah dihapus.
  3. Untuk pengahapusan.
  4. Front telah mencapai elemen terakhir array, maka akan menuju elemen pertama jika antrian masih berisi elemen.

Keunggulan representasi circular adalah seluruh kapasitas antrian bisa terpakai seleruhnya.Berdasarkan ilustrasi sebelumnya dapat disusun prosedur untuk menambah dan menghapus elemen antrian sebagai berikut ini :

Constmax_elemen = 5;
Type antri = array [1..max_elemen] of char;
Varantrian :antri;
depan, belakang : integer;

Nilai awal untuk depan dan belakang masing-masing 0.

Depan := 0; Belakang := 0;

Proses dequeue hanya bisa dilakukan jika queue dalam keadaan tidak kosong.Ada beberapa kondisi  yang harus diperhatikan ketika dequeue elemen queue yaitu :
  • Kondisi ketika posisi depan sama dengan posisi belakang (queue hanya memiliki 1elemen) maka nilai depan dan belakang di isi dengan 0 (queue kosong).
  • Jika posisi depan sama dengan posisi maks_queue maka posisi depan berpindah ke 1.
  • Selain itu, posisi depan ditambah dengan 1 : depan = depan + 1  

Impelementasinya dalam bahasa Pascal adalah :

function dequeue (var q : antri) : char;
begin
if (depan=0) and 9belakang=0) then then
write (‘ antriankososng’);
else
begin
dequeue := q [depan];
ifdepan = max_elemen then
depan := 1
else
depan := depan + 1;
end;
end;


DEQUE (Queue Ganda atau Double Queue)

Suatu linear list, yang penambahan dan penghapusan elemen dapatdilakukan pada kedua sisi ujung list, tetapi tidak dapat dilakukanditengah-tengah list.

Deque (menggunakan array sirkular)Menggunakan 2 pointer/penunjuk :
1. LEFT : sisi kiri dari deque
2. RIGHT : sisi kanan dari deque

Asumsi : elemen deque berurut dari kiri ke kanan.
Contoh : Menggambarkan 2 buah deque, masing-masing berisi 4elemen, yang ditempatkan di dalam sebuah Array dengan 8 lokasimemori.  


2 variasi deque, yaitu :

  1. Deque Input Terbatas : Pemasukan elemen pada satu ujung list, penghapusan elemen pada kedua ujung list.
  2. Deque Output Terbatas : Pemasukan elemen pada kedua ujung list, penghapusan elemen pada salah satu ujung list.

Antrean Berprioritas

Himpunan elemen, yang setiap elemennya telah diberikan sebuah prioritas, dan urutan proses penghapusan elemen adalah berdasarkan aturan berikut :
  1. Elemen yang prioritasnyalebihtinggi, diproses lebih dahulu dibandingkan dengan elemen yang prioritasnya lebih rendah.
  2. Dua elemen dengan prioritas yang sama, diprosesse suai dengan urutannya sewaktu dimasukkan kedalam antrean berprioritas.




Terimakasih sudah datang dan membaca artikel kami Sertakan link sumber untuk menghargai karya cipta orang lain :)

Total Tayangan Halaman