Jun
02
2016
0

Web Programming Pertemuan 10

JSP Standard Tag Library

  • JSTL
    • JSP Standard Tag Library(JSTL) menyediakan tags untuk common tasks yang dipakai di JSP
    • Mengurangi scripting
    • Membutuhkan JSTL Library
  • Untuk menggunakanJSTL Code Library, kita membutuhkan
    • Taglib yang mengarah ke JSTL Core Library
    • Untuk menggunakan library, anda harus memakai <taglib> diatas setiap JSP yang memakai library tersebut
    • Contoh : <%@ taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core” %>
  • JSTL tag bisa di klasifikasi berdasarkan fungsinya
    • Core Tags
      • Tags yang paling sering dipakai di JSTL Tags
      • Syntax untuk memakai JSTL Core Library adalah
        <%@ taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core” %>
      • Untitled
      • Picture1
      • JSP Code dengan JSTL :<a href=”<c:url value=’/index.jsp‘ />”>Go to index</a>
      • Equivalent scripting :<a href=”<%=response.encodeURL(“index.jsp“)%>”> Go to index</a>
      • <c:out>
        • <c:out> tag memperlihatkan hasil dari sebuah ekspresi, mirip dengan tag <%=%>
      • <c:if>
        • evaluasi sebuah ekspresi dan memperlihatkan isi body jika ekspresinya bernilai True
      • <c:choose>
        •  Picture4 Picture3
      • <c:foreach>
        • Picture4 Picture5
      • <c:fortokens>
        • Picture6 Picture7
Written by gotomarch in: Uncategorized |
May
26
2016
0

Web Programming Pertemuan 9

JSP dan JavaBeans

  • JavaBeans
    • Mengurangi koding Java dan mempermudah non-programmer dalam membuat JSP.
    • Saat menggunakan class JavaBean atau bean, anda dapat menggunakan spesial JSP tag.
  • Tiga peraturan dalam menggunakan JavaBeans
    • Harus ada constructor yang tidak menerima  argumen apapun.
    • Tidak dapat deklarasi public instance variables.
    • Harus memiliki set dan get method untuk semua properties yang digunakan untuk mengaskses JSP.
  • Contoh JavaBeans
    • package business;

      import java.io.Serializable;

      public class User implements Serializable

      {

      private String firstNamel

      public User()

      {

      firstName = ““;

      }

      public User(String first)

      {

      firstName = first;

      }

      public void setFirstName(String f)

      {

      firstName = f;

      }

      public String getFirstName()

      {

      return firstName;

      }

      }

    • Picture1
  • Enterprise JavaBean (EJB)
    • Tipe lain dari JavaBeans tetapi memiliki kode yang lebih kompleks dan rumit dibandingkan Javabeans.
  • Cara JSP engine konversi data type secara otomatis
    • Picture2
  • Cara Kode JSP Tags untuk JavaBeans
    • useBean tag untuk membuat atau mengakses bean project.
    • getProperty tag untuk mendapatkan properties dari object.
    • setProperty tag untuk membuat properties dari object.
  • Contoh JSP Tags
    • package javaBeanPackageName;

      public class javaBeanName {

      private String firstName;

       

      public void setFirstName(String f){

      firstName = f;

      }

      public String getFirstName(){

      return firstName;

      }

      }

    • <jsp:useBean id=”myBean” class=” javaBeanPackageName.javaBeanName” />

      <% myBean.setFirstName(“FirstName”); %>

      <%= myBean.getFirstName() %>

  • Special Sequence dalam atribut
    • Character Escape sequence
      \’
      \”
      \ \\
      <% <\%
      %> %\
  • Kode simpel JavaBean yang mengembalikan value
    • –Create New -> Java Class
      • Class Name = Hello (Hello.java)
      • Package Name = beanExample
    • package beanExample;

      public class Hello {

      private String myText=”Hello<br/>This is JavaBean text”;

       

      public String getText(){

      return myText;

      }

      }

    • <%@page contentType=”text/html” pageEncoding=”UTF-8″%>

      <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”

      “http://www.w3.org/TR/html4/loose.dtd”>

      <jsp:useBean id=”myBean” class=”beanExample.Hello” />

      <html>

      <head>

      <meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>

      <title>JSP and JavaBean</title>

      </head>

      <body>

      <%= myBean.getMyText() %>

      </body>

      </html>

  • Interface atau abstract class type
    • Anda dapat kode tipe atribut yang spesifikasi interface atau abstract class.
    • Untuk melakukan ini, bean class harus implementasi interface atau extend abstract class.
Written by gotomarch in: Uncategorized |
Apr
14
2016
0

Web Programming Pertemuan 6

JSP merupakan server-side programming yang berarti membutuhkan web server untuk menjalankannya.

JSP tags dapat dikombinasikan dengan HTML tags dan di save dengan ekstensi .jsp.

Ada 5 tipe JSP tags:

  1. <% %> Scriplet digunakan untuk memasukkan statement java.
  2. <%= %> Expression digunakan untuk menampilkan nilai string dalam suatu expression.
  3. <%@ %> Directive digunakan untuk memasukkan suatu kondisi yang akan mempengaruhi seluruh JSP.
  4. <%– –%> Comment digunakan untuk menghiraukan isi JSP.
  5. <%! %> Declaration digunakan untuk mendeklarasikan variabel dan method untuk JSP.

Contoh pengunaan JSP tags:

  1. Scriplet
    <% out.println(“Hello!”); %>
  2. Expression
    <%= String name = “Hello!”; %>
  3. Directive
    Ada 3 pengunaan JSP Directive, yaitu
    1. <%@ page … %> digunakan untuk mendefinisikan suatu atribut.
    2. <%@ include … %> digunakan untuk memasukkan file saat fase translasi.
    3. <%@ taglib … %> digunakan untuk mendeklarasikan tag library yang memiliki fungsinya di page tersebut.
  4. Comment
    <%– Hello –%>
  5. Declaration
    <%! int a = 0; %>

Contoh kasus

  1. IF .. ELSE
    <%! int day = 3; %>
    <html>
    <head><title>IF…ELSE Example</title></head>
    <body>
    <% if (day == 1 | day == 7) { %>
    <p> Today is weekend</p>
    <% } else { %>
    <p> Today is not weekend</p>
    <% } %>
    </body>
    </html>
  2. SWITCH .. CASE
    <%! int day = 3; %>
    <html>
    <head><title>SWITCH…CASE Example</title></head>
    <body>
    <%
    switch(day) {
    case 0:
    out.println(“It\’s Sunday.”);
    break;
    case 1:
    out.println(“It\’s Monday.”);
    break;
    default:
    out.println(“Tuesday – Saturday.”);
    }
    %>
    </body>
    </html>
  3. FOR LOOP
    <%! int fontSize; %>
    <html>
    <head><title>FOR LOOP Example</title></head>
    <body>
    <%for ( fontSize = 1; fontSize <= 3; fontSize++){ %>
    <font color=”green” size=”<%= fontSize %>”>
    JSP Tutorial
    </font><br />
    <%}%>
    </body>
    </html>
  4. WHILE LOOP
    <%! int fontSize; %>
    <html>
    <head><title>WHILE LOOP Example</title></head>
    <body>
    <%while ( fontSize <= 3){ %>
    <font color=”green” size=”<%= fontSize %>”>
    JSP Tutorial
    </font><br />
    <%fontSize++;%>
    <%}%>
    </body>
    </html>

 

Written by gotomarch in: Uncategorized |
Apr
05
2016
0

Web Programming Pertemuan 4

Client-side Programming adalah sebuah pemprograman yang prosesnya terjadi di browser client.
Contoh Client-side Programming adalah HTML, CSS, dan JavaScript.

JavaScript dibuat oleh Netscape Communications Corporation. Ekstensinya bernama .js dan dapat dikombinasikan dengan HTML tags. JavaScript membuat website menjadi lebih dinamis dan interaktif (contoh: validasi form, kalkulasi angka, dan foto animasi).

Javascript dapat dibuat di 2 tempat, internal(didalam HTML) dan eksternal(file .js sendiri).
Contoh internal:
…<body>
<script type=”text/javascript“>
document.write(“<p>My JavaScript Text</p>”);
</script>

</body>…

Contoh eksternal:
<script type=”text/javascriptsrc=”filename.js”></script>

 

Aturan syntax dalam Javascript

  1. Statements adalah unit dasar dalam program JavaScript
  2. Satu statement berisikan koding untuk melakukan satu aksi
  3. Semicolon(;) menandakan berakhirnya suatu statement
  4. Apabila ingin menggabungkan lebih dari satu statement, wajib menggunakan semicolon(;)

Aturan variabel dalam JavaScript

  1. Dapat berisi huruf, digit 0-9, dan garis bawah(_)
  2. Tidak boleh ada spasi dan tanda baca
  3. Karakter pertama dalam variabel harus huruf atau garis bawah
  4. case sensitive
  5. harus dalam 1 line

Contoh pemakaian variabel: LastInvoiceNumber, temp1, a, _var39

Picture1

Build-in object dalam JavaScript dapat berupa:

  1. String
  2. Array
  3. Date
  4. Math
  5. Window

List String Object Method:

Untitled

Contoh if statement dalam Javascript:
<body>
<script type=”text/javascript”>
  var x=””;
  var time=new Date().getHours();
  if (time<10)    {
    x=”Good morning”;
    }  else if (time<20){
    x=”Good day”;
    } else  {
    x=”Good evening”;
  }
document.write(x);
</script>
</body>

Contoh looping dalam Javascript:
for (i=0; i<10; i++) {
     document.write(“This is line “ + i + “<br />”);
}

Contoh string object:
…<body>
<h1>String Test</h1>
<script type=”text/javascript”>
  test1 = “This is a test. “;
test2 = “This is only a test.”;
both = test1 + test2;
alert(both);
</script>
  </body>….

Parsing dalam Javascript ada 2:

  1. parseInt() = konversi string menjadi integer
  2. parseFloat() = konversi string menjadi float

Contoh parsing:
stringvar = “30 angry polar bears;
numvar
= parseInt(stringvar);
document.write(numvar);

 

Array adalah kumpulan data yang dapat dianggap sebagai satu unit.
Contoh pemanggilan array:
scores = new Array(2);
scores[0]=39;
scores[1]=40;

Besar sebuah array dapat dilihat saat array tersebut dibuat. dari contoh diatas dapat dilihat bahwa besar arraynya adalah 2.

 

Date Object

setDate() mengatur tanggal
setMonth() mengatur bulan [value dari 0 to 11, january =>0]
setFullYear() mengatur tahun
setTime() mengatur waktu dan tanggal dengan menspesifikasikan jumlah milisecond sejak 1 january 1970
setHours(), setMinutes(), dan setSeconds() mengatur waktu sesuai dengan penamaanya

 

Math Object
Merupakan build in javascript object yang mengandung konstanta dan fungsi matematika.
Contoh:
Pembulatan
Math.ceil() = membulatkan angka keatas
Math.floor() = membulatkan angka kebawah
Math.round() = membulatkan angka terdekat

Random
function rand(num) {
  return Math.floor(Math.random() * num) + 1;
  }

Math.sin(),Math.cos(), and Math.tan()
<script type=”text/javascript“>
  document.write(Math.sin(90)+”<br/>”);
  document.write(Math.cos(30)+”<br/>”);
  document.write(Math.tan(60));
</script>

 

Function adalah kumpulan statements javascript yang bisa di perlakukan sebagai single unit.
Contoh Function:

Untitled
Tugas Case Kelas Form Registrasi:
<html>
<head>
<title>Case</title>
<style type=”text/css”>
h1{
text-align: center;
}
.center{
text-align: right;
}
input[type=”text”], input[type=”number”], textarea{
border: 1px solid blue;
}
body{
background-color: #9393BF;
}
input[type=”text”]{
width: 92vw;
overflow: visible;
}
</style>
</head>
<body>
<h1>Registration Form</h1>
<form method=”post” action=”#”>
<table>
<tr>
<td><label for=”name”>Nama</label></td>
<td><input type=”text” id=”name” placeholder=”Input Nama
Disini”></td>
</tr>
<tr>
<td><label for=”alamat”>Alamat</label></td>
<td><textarea id=”alamat”></textarea></td>
</tr>
<tr>
<td><label for=”telp”>Telp</label></td>
<td><input type=”number” id=”telp”></td>
</tr>
<tr>
<td><label>Gender</label></td>
<td><input type=”radio” value=”rbMale” name=”gender”
id=”rbMale”><label for=”rbMale”>Male</label>
<input type=”radio” value=”rbFemale” name=”gender”
id=”rbFemale”><label for=”rbFemale”>Female</label></td>
</tr>
<tr class=”center”>
<td colspan=”2″><input type=”submit” value=”submit”
onclick=”fnValidate(); return false;”></td>
</tr>
</table>
</form>
<script type=”text/javascript”>
function fnValidate () {
var nama = document.getElementById(‘name’).value;
var alamat = document.getElementById(‘alamat’).value;
var telp = document.getElementById(‘telp’).value;
var genderMale = document.getElementById(‘rbMale’);
var genderFemale = document.getElementById(‘rbFemale’);
if(nama.trim()==null || nama.trim()==”) window.alert(‘Nama Harus
diisi’);
else if(alamat.trim()==null || alamat.trim()==”) window.alert(‘Alamat
Harus diisi’);
else if(alamat.trim().toLowerCase().indexOf(‘jalan’)==-1)
window.alert(‘Alamat Harus diawali dengan kata \’jalan\”);
else if(telp==null || telp==”) window.alert(‘Telp Harus diisi’);
else if(genderMale.checked==false && genderFemale.checked==false)
window.alert(‘Gender Harus dipilih’);
else window.alert(‘Selesai’);
}
</script>
</body>
</html>
Written by gotomarch in: Uncategorized |
Mar
17
2016
0

Web Programming Pertemuan 3

Elemen-elemen pada form

Form HTML memiliki beberapa elemen seperti:

  1. Text box
  2. Check box
  3. Radio button
  4. Combo box
  5. List box
  6. Submit button (untuk memanggil JSP atau servlet ketika user mengklik.)

Satu dokumen HTML dapat memiliki satu atau lebih form.

<form> adalah salah satu HTML tag. Form memiliki area yang isinya dapat dimasukkan elemen form. Syntax form sebagai berikut: <form parameters> …form elements… </form>.

 

Cara coding form

Text field:
<input type=”text” name=”textfield” value=”with an initial value”>
Picture1       

Multi-line text field:
<textarea name=”textarea” cols=”20″ rows=”2″>Hello</textarea>
Picture2

Password field:
<input type=”password” name=”textfield3″ value=”secret”>
Picture3

Hidden Fields:
<input type=”hidden” name=”hiddenField” value=”hello”>
Picture4

Checkbox:
<input type=”checkbox” name=”checkbox” value=”checkbox” checked>
Picture5

Radio buttons:
<input type=”radio” name=”radiobutton” value=”myValue1″> male<br>
<input type=”radio” name=”radiobutton” value=”myValue2″ checked> female
Picture6

Menu atau List:
<select name=”select”>
  <option value=”red”>red</option>
   <option value=”green”>green</option>
   <option value=”BLUE”>blue</option>
</select>
Picture7

Submit button:
<input type=”submit” name=”Submit” value=”Submit”>

Reset button:
<input type=”reset” name=”Submit2″ value=”Reset”>

Plain button:
<input type=”button” name=”Submit3″ value=”Push Me”>
Picture8

Contoh Form:
<html>
<head>
<title>Form example</title>
</head>
<body>
<p><b>Registration Form:</b></p>
<form method=”post” action=””>
<p>Name:
<input type=”text” name=”textfield”>
</p>
<p>Gender:
<input type=”radio” name=”gender” value=”m”>Male
<input type=”radio” name=”gender” value=”f”>Female
</p>
<p>Address:
<textarea name=“address“></textarea>
</p>
<input type=”submit” name=”submitButton” value=”Register!”>
</form>
</body>
</html>
Picture9

 

Written by gotomarch in: Uncategorized |
Mar
10
2016
0

Web Programming Pertemuan 2

HTML(HyperText Markup Language) digunakan untuk membuat user interface suatu website. Pengunaan HTML dapat diakses menggunakan keyword “<>”, contoh <HTML>. Ada 2 tipe pengunaan keyword pada HTML, yakni memiliki pasangan (ada pembuka dan penutup), contoh <b></b> dan tidak memiliki pasangan, contoh <img />.

Untuk melakukan coding dengan HTML, anda dapat menggunakan software sebagai berikut: notepad, textpad, adobe dreamweaver, netbeans, dan lain-lain.

Contoh koding simpel dengan HTML:
<html>
<head><title>TITLE</title></head>
<body>CONTENT</body>
</html>

Gambar 1: Macam-macam HTML tag
Picture1

 
Contoh 1: Pengunaan tag umum pada HTML
<body><b>ini huruf tebal</b></body>

Contoh 2: Penggabungan 2 tag umum pada HTML
<body><b><i>tebal dan miring</i></b></body>

Contoh 3: Untuk menurunkan huruf/kata ke baris selanjutnya
<body>baris pertama<br>baris kedua</body>

Contoh 4: Membuat tabel di HTML
<table>
<tr> (baris)
<td></td> (kolom)
</tr>
</table>

Contoh 5: Menggunakan hyperlink ke halaman html/website lain
<a href=”http://google.com”>Klik disini untuk ke website Google</a>

Contoh 6: Memasukkan gambar ke HTML
<img src=”logo.jpg” width=”100″ height=”100″>
*gambar harus berada didalam 1 folder yang sama dengan HTML.

 

Style Sheet

  • Agar tampilan halaman website terlihat lebih bagus, berwarna, dan teratur, website digabungkan dengan style sheet
  • Dengan style sheet, halaman-halaman pada website memiliki kerangka yang sama, hanya tinggal diubah isinya saja
  • Style sheet biasa disebut dengan CSS(Cascading Style Sheets) dengan ekstensi .css

Aturan CSS memiliki 2 bagian utama, selector dan satu atau lebih declaration.
Contoh CSS:Picture2

Contoh pemakaian CSS di HTML:
Untitled

Written by gotomarch in: Uncategorized |
Mar
02
2016
0

Web Programming Pertemuan 1

Web Application adalah sekumpulan dari halaman website yang dibuat akibat respon dari permintaan seorang user.

Web Application memiliki beberapa tipe, diantaranya adalah search engine(google.com), toko online(amazon.com), berita online(detik.com), dan sosial media(facebook.com).

Komponen dalam Web Application ada 2, yaitu Client dan Server.

Halaman website ada 2 jenis, yaitu statis dan dinamis.
Halaman website yang statis berarti tampilan halaman website tidak pernah berubah walaupun dilihat berkali-kali oleh Client. Contoh website statis adalah halaman profil perusahaan. Cara kerja website statis adalah sebagai berikut: Client melalui Browser melakukan HTTP Request ke Web Server. Web Server akan memproses HTML file di Server. HTML file ini oleh Web Server akan diberikan kepada Client.
Halaman website yang dinamis berarti tampilan halaman website dapat berubah setiap waktu. Contoh website dinamis adalah toko online dan sosial media. Cara kerja website dinamis adalah sebagai berikut: Client melalui Browser melakukan HTTP Request ke Web Server. Web Server akan memberikan ke Web Application di Server. Web Application akan mengupdate halaman web dan memberikan hasilnya ke Web Server dan Web Server melakukan HTTP Response kepada Client.

Komponen-komponen Java web application:

  • Server harus menjalankan aplikasi web server.
  • Untuk menjalankan Java application, server juga harus menjalankan aplikasi servlet/JSP engine atau servlet/JSP container.

JSP
JSP terdiri dari Java code yang berada didalam HTML code. Saat pertama kali JSP direquest, JSP engine akan translasi menjadi servlet dan dicompile. Selanjutnya servlet akan dijalankan dengan servlet engine.

Servlets
Servlet adalah sebuah class di Java yang dijalankan diserver dan memproses halaman web yang dinamis. Saat proses selesai, servlet dapat kembali sebagai HTML code ke browser dengan menggunakan println.

2 Arsitektur untuk Web Application: Model 1 architecture dan Model-View-Controller(MVC) pattern.

 

Written by gotomarch in: Uncategorized |
Apr
16
2014
0

Object Oriented Program – TM04

TM 04 : Class Time

a. Desain klas dengan nama Time yang mempunyai tiga data anggota yaitu hour, minute dan second dengan level akses adalah private. Selain fungsi anggota baku constructor dan destructor, class Time juga mempunyai tiga fungsi anggota lain yang prototipenya adalah sebagai berikut: void setData() , fungsi konstant void getData() dan fungsi konstant void printData(). Tugas ketiga fungsi terakhir ini adalah sebagai berikut: fungsi setData() untuk memberi nilai hour, minute dan second , fungsi getData() untuk mengambil nilai data yang diisi oleh fungsi setData(), sedangkan fungsi printData() untukmencetak ketiga data anggota tersebut.

b. Definisikan atau implementasikan constructor dan destructor di dalam klas sedangkan fungsi setData() , getData() dan printData() di luar klas Time. Untuk definisi fungsi yang ada di luar class jangan lupa untuk menggunakan scope resolution operator.

c. Berikan alasan mengapa fungsi getData() dan printData() perlu dibuat konstant?

d. Selanjutnya tulis fungsi main() untuk mengetes klas yang Anda desain.

=====Jawab=====

#include <iostream>
#include <iomanip>
using namespace std;

class Time{
private : int hour,minute,second;
public :
	void setData(int ,int ,int );
	int getData()const;
	void printData()const;
	Time(){
	hour = minute = second =0;
	}
	~Time(){}
};

void Time::setData(int h,int m,int s){
	hour = h;
	minute = m;
	second = s;
}

int Time::getData()const{
	return hour * 3600 + minute * 60 
		+ second;
}

void Time::printData()const{

	cout << setw(2) << setfill('0') << right 
		<< hour << ":" << setw(2) << setfill('0') <<
		minute 
		<< ":" << second;
}

//KENAPA GETDATA DAN PRINTDATA HARUS CONST?? KARENA UNTUK MENGHITUNG WAKTU, ADA RUMUS KONSTAN, YAKNI :
//1JAM=3600DETIK, 
//1MENIT=60DETIK

void main(){
	Time obj;
	int h,m,s;
	do{
		cout <> h;
		cin.sync();cin.clear();
	}while(h  23);

	do{
		cout <> m;
		cin.sync();cin.clear();
	}while(m  59);

	do{
		cout <> s;
		cin.sync();cin.clear();
	}while(s  59);

	obj.setData(h,m,s);
	obj.printData();
	cin.get();
}
Written by gotomarch in: Uncategorized |
Apr
16
2014
0

Object Oriented Program – TM03

TM 03 : ADT Array dan Struct

Array adalah suatu ADT. Seperti halnya ADT lain, array mempunyai data anggota dan operasi, metode atau fungsi anggota. Elemen array diakses berdasarkan posisinya di dalam array relatif terhadap elemen pertama. Operasi utama array adalah store dan retrieve. Operassi store untuk menyimpan elemen e di indeks i array A[] adalah A[i] = e sedangkan operasi retrieve untuk mengambil suatu elemen dari array A[] di indeks i dan disimpan di elemen e adalah e = A[i].

a. Desain class Array berdasarkan uraian ADT Array di atas dengan ketentuan level akses data anggota adalah private dan level akses fungsi anggota adalah public. Selain itu jangan lupa untuk menambahkan constructor dan destructor pada class tersebut. Dalam desain ini, semua fungsi anggota kecuali constructor dan destructor, harus berbentuk prototype.

const int MAX =10;

class Array {

private :

int A[MAX};

int i, e;

public :

Array() { for ( i =0; i < MAX; i++) A[i] = 0; }

~Array();

void store( int, int );

int retrieve (int, int);

};

b. Selanjutnya definisikan semua fungsi anggota di luar class Array. Ingat jangan lupa untuk menggunakan scope resolution operator ::

void Array :: store (int i, int e) { A[i] = e; }

int Array :: retrieve (int i, int e) { e = A[i]; }

c. Terakhir, tulis fungsi main() sebagai driver untuk menguji desain kamu.

void main() {

int e;

Array a;

a.store(1,11);

a.store(2,22);

a.store(3,33);

cout << endl << a,retrieve (3,e);

cout << endi << a.retrieve(2,e);

cout << endl <. Bentuk umumnya adalah sebagai berikut:

.

®

Operasi utama di struct adalah store(e) dan retrieve(). Operassi store(e) untuk menyimpan elemen e di field i struct s adalah s.i = e sedangkan operasi retrieve() untuk mengambil suatu elemen dari struct s di field i dan disimpan di elemen e adalah e = s.i.

a. Diketahui struktur dtMhs dengan tiga data anggota : nim, nama dan IPK serta fungsi anggota store() dan retrieve(). Desain class dtMhs berdasarkan uraian di atas dengan ketentuan level akses data anggota adalah private dan level akses fungsi anggota adalah public. Selain itu jangan lupa untuk menambahkan constructor dan destructor pada class tersebut. Dalam desain ini, semua fungsi anggota kecuali constructor dan destructor, harus berbentuk prototype.

b. Selanjutnya definisikan semua fungsi anggota di luar class Struct Ingat jangan lupa untuk menggunakan scope resolution operator ::

c. Terakhir, tulis fungsi main() sebagai driver untuk menguji desain kamu.

=====Jawab=====

#include <iostream>
using namespace std;

class dtMhs
{
private:
	struct
	{
		char nim[15];
		char nama[30];
		float IPK;
	}data;
	int i;
public :
	dtMhs()
	{
		strcpy(data.nim,"");
		strcpy(data.nama,"");
		data.IPK = 0;
	}
	~dtMhs()
	{
		strcpy(data.nim,"");
		strcpy(data.nama,"");
		data.IPK = 0;
	}
	void storenim(char*);
	void storenama(char*);
	void storeIPK(float);
	char* retrievenim();
	char* retrievenama();
	float retrieveIPK();
};

void dtMhs :: storenim(char* ni)
{
	strcpy(data.nim,ni);
}
void dtMhs :: storenama(char* na)
{
	strcpy(data.nama,na);
}
void dtMhs :: storeIPK(float ip)
{
	data.IPK=ip;
}
char* dtMhs:: retrievenim()
{
	return data.nim;
}
char* dtMhs:: retrievenama()
{
	return data.nama;
}
float dtMhs:: retrieveIPK()
{
	return data.IPK;
}

void main()
{
	dtMhs obj1;
	obj1.storenim("1701290425");
	obj1.storenama("Kenneth");
	obj1.storeIPK(3.5);
	cout<<"Mahasiswa 1 :"<<endl;
	cout<<"NIM  : "<< obj1.retrievenim()<<endl;
	cout<<"Nama : "<< obj1.retrievenama()<<endl;
	cout<<"IPK  : "<< obj1.retrieveIPK()<<endl<<endl;

	dtMhs obj2;
	obj2.storenim("1701290426");
	obj2.storenama("TEST");
	obj2.storeIPK(2.7);
	cout<<"Mahasiswa 2 :"<<endl;
	cout<<"NIM  : "<< obj2.retrievenim()<<endl;
	cout<<"Nama : "<< obj2.retrievenama()<<endl;
	cout<<"IPK  : "<< obj2.retrieveIPK()<<endl;
	cin.get();
}
Written by gotomarch in: Uncategorized |
Mar
20
2014
0

Struktur Data – Doubly Linked List

  
  #include <stdio.h>
  #include <stdlib.h>

    struct data{
        int angka;
        struct data *prev;
        struct data *next;
    }*head,*now,*temp,*tail;

    void ins(int x){
         now=head;
         for(now=head;now!=NULL;now=now->next){
              if(x>now->angka){
                   temp=now;
                   now=(struct data*)malloc(sizeof(data));
                   now->angka=x;
                   now->next=temp;
                   now->prev=temp->prev;
                   temp->prev=now;
                   if(now->prev!=NULL){
                        now=now->prev;
                        now->next=temp->prev;
                        }//kalau head
                   else
                        head=now;
                   break;
              }
              else if (now->next==NULL){//kalau tail
                   temp=now;
                   now=(struct data*)malloc(sizeof(data));
                   now->angka=x;
                   now->prev=temp;
                   now->next=0;
                   tail=now;
                   temp->next=now;
                   break;
              }
         }
    }

    void intz(int x){
         now=(struct data*)malloc(sizeof(data));
         if(head==0)//data perdana
              tail=now;
         now->angka=x;
         now->next=head;//Double Link list Start
         head=now;
         now->prev=NULL;
         if(now->next!=0){
              temp=now;
              now=now->next;
              now->prev=temp;
         }// Double Link list end
    }

    void cetak(){
         for(now=tail;now!=NULL;now=now->prev){
              printf("%d",now->angka);
              if (now->prev!=NULL)
                   printf(" -> ");
         }
         printf("\n");
    }

    int main(){
         printf("Nama  : Kenneth\n");
         printf("NIM   : 1701290425\n");
         printf("Kelas : 32PPT\n");
         printf("Double Linked List\n\n");
         head=0;
         temp=0;
         printf("Sebelum insert\n");
         intz(1); 
         intz(3);
         cetak();
         printf("\nSetelah insert tengah\n");
         ins(2);
         cetak();
         printf("\nSetelah insert awal\n");
         ins(0);
         cetak();
         printf("\nSetelah insert akhir\n");
         ins(5);
         cetak();
         now=head;
         getchar();
    }
Written by gotomarch in: Uncategorized |

Powered by WordPress. Theme: TheBuckmaker. Zinsen, Streaming Audio