• Tidak ada hasil yang ditemukan

MODUL II DASAR-DASAR PEMROGRAMAN BAHASA JAVA

N/A
N/A
Protected

Academic year: 2021

Membagikan "MODUL II DASAR-DASAR PEMROGRAMAN BAHASA JAVA"

Copied!
17
0
0

Teks penuh

(1)

MODUL II DASAR-DASAR PEMROGRAMAN BAHASA JAVA

Tujuan

a. Mengenal dan dapat menggunakan variabel, tipe data, operator, ekspresi, statement, blok dan statemen-statemen pengulangan, pembuat keputusan (kondisional), exception handling dan pencabangan.

b. Menulis program aplikasi sederhana menggunakan point-point di (a) c. Menulis program applet sederhana menggunakan point-point di (a)

Waktu

15 menit untuk mendengarkan materi dari instruktur 45 menit untuk mencoba latihan

30 menit untuk mengerjakan kuis 15 menit untuk membahas kuis

Materi II.1. Variabel

Variabel digunakan untuk menyimpan data dalam sebuah program. i. Bentuk umum mendeklarasi variabel : type name

ii. Tipe data

Setiap variabel harus mempunyai tipe data yang digunakan untuk menentukan nilai variabel yang diisikan dan operasi-operasi apa yang bisa diberlakukan pada variabel tersebut.

Bahasa pemrograman java mempunyai dua tipe data yaitu tipe primitive dan tipe reference.Dalam bahasa pemrograman lainnya, bentuk dan ukuran tipe data bisa tergantung pada platform mana program tersebut berjalan, sedangkan dalam bahasa pemrograman java tidak.

Tipe data primitive pada bahasa pemrograman java

Keyword Deskripsi Size/Format

(integers)

Byte Byte-length integer 8-bit two's complement

Short Short integer 16-bit two's complement

Int Integer 32-bit two's complement

Long Long integer 64-bit two's complement

(real numbers)

Float Single-precision floating point 32-bit IEEE 754

Double Double-precision floating point 64-bit IEEE 754

(other types)

Char A single character 16-bit Unicode character

Boolean A boolean value (true or false) true or false

Contoh memberikan nilai pada variable anInt bertipe integer: int anInt = 4;

Contoh nilai-nilai sebenarnya dan tipe datanya: Nilai sebenarnya Tipe data

(2)

178 Int 8864L Long 37.266 Double 37.266D Double 87.363F Float 26.77e3 Double ' c ' Char true Boolean false Boolean

Tipe data reference berbeda dari tipe data primitive yang merupakan reference ke (suatu alamat dari) sekumpulan nilai yang direpresentasikan oleh variabel. Sebuah reference merupakan pointer atau alamat memory dalam bahasa lain. Array, class dan interface merupakan tipe reference.

iii. Penamaan variabel

Syarat-syarat untuk memberi nama variabel :

1. Harus identifier yang resmi. Identifier merupakan sekumpulam karakter Unicode yang tak terbatas yang dimulai dengan huruf.

2. Harus tidak merupakan keyword, nilai Boolean (true atau false) atau kata null. 3. Harus unik dengan scope-nya. Variabel bisa mempunyai nama yang sama seperti

variabel yang deklarasinya tampak dalam scope yang berbeda. Aturan untuk memberi nama variabel :

Nama variable mulai dengan huruf kecil dan nama class mulai dengan huruf besar. Jika variabel berisi lebih dari satu kata, kata digabung dan setiap kata setelah yang pertama dimulai dengan huruf besar, contohnya: isVisible. Karakter garis bawah (_) diperbolehkan dimana saja dari nama variabel tetapi dengan aturan yang hanya digunakan untuk membatasi kata konstanta (karena konstanta semuanya huruf besar sesui aturan )

iv. Scope

Lokasi deklarasi variabel dan programnya akan membangun scope-nya dan menempatkannya dalam empat kategori berikut ini :

1. member variable 2. local variable 3. method parameter

(3)

member variable merupakan anggota dari class atau objek yang dideklarasikan dengan sebuah class tetapi diluar method atau constructor. Scope dari member variable merupakan keseluruhan deklarasi class tersebut, tetapi deklarasi tersebut tampak sebelum digunakan pada saat inisialisasi member variable.

Local variable dideklarasikan dalam suatu blok. Secara umum, scope dari local variable mulai dari tempat deklarasinya sampai ke akhir blok kode dalam variabel yang dideklarasikan

Parameter merupakan argumen formal untuk method atau constructor dan digunakan untuk melewatkan nilai kedalam method dan constructor. Scope dari parameter merupakan keseluruhan method atau constructor unik suatu parameter.

Parameter exception-handler hampir sama dengan parameter. Scope dari parameter exception-handler merupakan kode blok antar { dan } yang mengikuti statemen catch. Contoh : if (...) { int i = 17; ... }

System.out.println("The value of i = " + i); // error

Baris akhir dari kode diatas tidak akan dikompile karena variabel i diluar scope. Scope variabel i antara blok { dan }. Variabel i tidak ada setelah tanda }.

v. Inisialisasi variabel

Contoh inisialisai local variable : // integers

byte largestByte = Byte.MAX_VALUE;

short largestShort = Short.MAX_VALUE; int largestInteger = Integer.MAX_VALUE; long largestLong = Long.MAX_VALUE; // real numbers

float largestFloat = Float.MAX_VALUE; double largestDouble = Double.MAX_VALUE; // other primitive types

char aChar = 'S';

boolean aBoolean = true;

Parameter dan parameter axception-handler tidak dapat diinisialisasi dengan cara ini. Nilai parameter ini di-set oleh pemanggil.

(4)

vi. Variabel final

Variabel final merupakan variabel dalam scope final dimana nilai variabel final tidak dapat berubah setelah ia diinisialisai. Variabel final ini menyerupai kostanta dalam bahasa pemrograman lain. Untuk mendeklarasikan variabel final menggunakan keyword final dan deklarasi variabel sebelum tipe, contohnya:

final int aFinalVar = 0;

atau menggunakan statement yang mendeklarsikan variabel final kemudian menginisialisasinya seperti contoh berikut ini:

final int blankfinal; . . .

blankfinal = 0;

Apabila variabel final local ini telah diinisialisasi maka ia tidak dapat di-set dan jika diberikan nilai ke variabel ini (dalam contoh blankfinal) maka akan menghasilkan error pada saat dikompile.

II.2. Operator

Operator digunakan untuk melakukan berbagai operasi seperti aritmatika dan assignment. Kategori-kategori operator :

1. Operator aritmatika

Tabel operator binary

Operator Use Deskripsi

+ Op1 + op2 Menambahkan op1 dan op2

- Op1 - op2 Mengurangi op2 dari op1

* Op1 * op2 Mengalikan op1 dengan op2

/ Op1 / op2 Membagi op1 dengan op2

% Op1 % op2 Menghitung sisa dari pembagian op1 dengan op2

Table operator unary

Operator Penggunaan Deskripsi

+ +op Menaikkan nilai op ke int jika ini merupakan byte, short atau char

- -op Mengurangi op secara aritmatika

Table operator incremen/decremen

Operator penggunaan Deskripsi

++ op++ Menaikkan op ke 1, mengevaluasi nilai op sebelum dinaikkan.

++ ++op Menaikkan op ke 1, mengevlaluasi nilai op setelah dinaikkan

-- op-- Menurunkan op ke 1, mengevaluasi nilai op sebelum dikurangi

-- --op Menurunkna op ke 1, mengevaluasi nilai op setelah diturunkan.

2. Operator relasional dan kondisional

Tabel operator relasional

(5)

> op1 > op2 op1 lebih besar dari op2

>= op1 >= op2 op1 lebih besar atau sama dengan op2

< op1 < op2 op1 kurang dari op2

<= op1 <= op2 op1 kurang dari atau sama dengan op2

== op1 == op2 op1 dan op2 sama

!= op1 != op2 op1 dan op2 tidak sama

Tabel operator kondisional

Operator Penggunaan Memberikan nilai true jika

&& op1 && op2 op1 dan op2 true

|| op1 || op2 Salah satunya true

! ! op op adalah false

& op1 & op2 Keduanya true

| op1 | op2 Salah satunya true

^ op1 ^ op2 Jika op1 dan op2 berbeda

3. Operator shift dan logika

Tabel operator shift

Operator Penggunaan Operasi

>> op1 >> op2 Menggeser bit op1 kekanan sepanajng op2

<< op1 << op2 Menggeser bit op1 kekiri sepanajng op2

>>> op1 >>> op2 Menggeser bit op1 kekanan sebesar op2 (tidak bertnada)

Contoh :

13 >> 1;

Menggeser bit integer 13 kekanan satu. Representasi biner dari 13 adalah 1101 dan hasil operasi pergeseran adalah 110 atau 6 dalam desimal dimana bit sebelah kiri diisi o yaitu menjadi 0110

Tabel operator logika

Operator Penggunaan Operasi

& Op1 & op2 bitwise and

| Op1 | op2 bitwise or

^ Op1 ^ op2 bitwise xor

~ ~op2 bitwise komplemen

4. Operator assignment

(6)

Operator Penggunaan Sama dengan

+= op1 += op2 op1 = op1 + op2

-= op1 -= op2 op1 = op1 - op2

*= op1 *= op2 op1 = op1 * op2

/= op1 /= op2 op1 = op1 / op2

%= op1 %= op2 op1 = op1 % op2

&= op1 &= op2 op1 = op1 & op2

|= op1 |= op2 op1 = op1 | op2

^= op1 ^= op2 op1 = op1 ^ op2

<<= op1 <<= op2 op1 = op1 << op2

>>= op1 >>= op2 op1 = op1 >> op2

>>>= op1 >>>= op2 op1 = op1 >>> op2

5. Operator lainnya

Operator Deskripsi

?: Shortcut if-else statement

[] Digunakan untuk mendeklarsikan arrays, membuat arrays, dan mengakses elemen array

. Digunakan untuk membentuk names

( params ) Membatasi daftar parameter-parameter yang dibatasi koma ( type ) Berkelakuan (mengkonversi) suatu nilai ke tipe tertentu New Membuat objek baru atau array baru

instanceof Menentukan apakah operan pertamanya merupakan sebuah instan dari operan kedua

II.3. Ekspresi, statement dan blok a. Ekspresi

Ekspresi adalah sekumpulan variabel, operator dan method call yang mengevaluasi nilai tunggal

...

// other primitive types char aChar = 'S';

boolean aBoolean = true;

// display them all

System.out.println("The largest byte value is " + largestByte);

...

if (Character.isUpperCase(aChar)) { ...

(7)

Setiap ekspresi dalam tabel berikut ini akan melakukan opersi dan memberikan nilai.

postfix operators [] . (params) expr++ expr--

unary operators ++expr --expr +expr -expr ~ !

creation or cast new (type)expr

Multiplicative * / %

Additive + -

Shift << >> >>>

Relational < > <= >= instanceof

Equality == !=

bitwise AND &

bitwise exclusive OR ^

bitwise inclusive OR |

logical AND &&

logical OR ||

Conditional ? :

Assignment = += -= *= /= %= &= ^= |= <<= >>= >>>=

b. Statement

Suatu statement akan membentuk suatu unit eksekusi yang lengkap. Tipe-tipe ekspresi berikut ini dapat dibuat menjadi sebuah statement yang diakhiri dengan titik koma (;) :

 Assignment expressions

 Berbagai penggunaan dari ++ atau --

 Method calls

 Ekspresi-ekspresi pembuatan objek Contoh :

aValue = 8933.234; //assignment statement aValue++; //increment statement System.out.println(aValue);//method call statement Integer integerObject = new Integer(4);

//object creation statement

c. Blok

Blok sekelompok dari nol atau lebih statement diantara kurung kurawal yang seimbang. Contoh berikut ini menunjukkan dua blok dari program yang berisi statement tunggal :

if (Character.isUpperCase(aChar)) {

System.out.println("The character " + aChar + " is upper case.");

} else {

System.out.println("The character " + aChar + " is lower case.");

(8)

II.4. Flow control statement

Bentuk umum control flow statement: control flow statement details { statement(s)

}

Tabel flow control statement

Tipe statement Keyword

looping while, do-while , for

Pembuat keputusan if-else, switch-case

exception handling try-catch-finally, throw

pencabangan break, continue, label:, return

1. looping a. while Sintaks umum: while (expression) { statement } Contoh : int i = 0; char c = copyFromMe.charAt(i); while (c != 'g') { copyToMe.append(c); c = copyFromMe.charAt(++i); } System.out.println(copyToMe); b. do-while Sintaks umum : do { statement(s) } while (expression); Contoh : int i = 0; char c = copyFromMe.charAt(i); do { copyToMe.append(c); c = copyFromMe.charAt(++i); } while (c != 'g'); System.out.println(copyToMe); c. for Sintaks umum :

for (initialization; termination; increment) { statement

} Contoh :

for (int i = 0; i < arrayOfInts.length;i++) { System.out.print(arrayOfInts[i] + " "); }

(9)

2. Pembuat keputusan a. if Bentuk umum : if (expression) { statement(s) } Contoh : if (DEBUG) { System.out.println("DEBUG: x = " + x); } b. if-else Bentuk umum : if (expression) { statement(s) } else { statement(s) } Contoh : if (testscore >= 90) { grade = 'A'; } else if (testscore >= 80) { grade = 'B'; } else if (testscore >= 70) { grade = 'C'; } else if (testscore >= 60) { grade = 'D'; } else { grade = 'F'; } c. switch-case Contoh : switch (month) {

case 1: System.out.println("January"); break; case 2: System.out.println("February"); break; case 3: System.out.println("March"); break; case 4: System.out.println("April"); break; case 5: System.out.println("May"); break; case 6: System.out.println("June"); break; case 7: System.out.println("July"); break; case 8: System.out.println("August"); break; case 9: System.out.println("September"); break; case 10: System.out.println("October"); break; case 11: System.out.println("November"); break; case 12: System.out.println("December"); break; } 3. exception handling a. try-catch-finally Bentuk umum : try { Java statements } Contoh :

(10)

try {

System.out.println("Entering try statement"); out = new PrintWriter(

new FileWriter("OutFile.txt")); for (int i = 0; i < size; i++)

out.println("Value at: " + i + " = " + victor.elementAt(i));

}

Bentuk umum : try {

statement(s)

} catch (exceptiontypename) { statement(s)

} Contoh :

try { . . .

out.close(); // don't do this; it duplicates code

} catch (ArrayIndexOutOfBoundsException e) {

out.close(); // don't do this; it duplicates code

System.err.println("Caught ArrayIndexOutOfBoundsException: " + e.getMessage());

} catch (IOException e) {

System.err.println("Caught IOException: " + e.getMessage()); }

Bentuk umum : try {

statement(s)

} catch (exceptiontypename) { statement(s) } finally { statement(s) } Contoh : try {

System.out.println("Entering try statement"); out = new PrintWriter(

new FileWriter("OutFile.txt"));

for (int i = 0; i < size; i++)

out.println("Value at: " + i + " = " + victor.elementAt(i)); } catch (ArrayIndexOutOfBoundsException e) {

System.err.println("Caught ArrayIndexOutOfBoundsException: " + e.getMessage());

} catch (IOException e) {

System.err.println("Caught IOException: " + e.getMessage()); } finally {

if (out != null) {

System.out.println("Closing PrintWriter"); out.close();

} else {

System.out.println("PrintWriter not open"); }

}

b. throw

(11)

throw someThrowableObject;

Semua method java menggunakan statement throw untuk melemparkan exception. Statement ini memerlukan argumen tunggal sebuah objek throwable. Dalam sistem java, objek-objek throwable ini merupakan instance dari berbagai subclass dari class Throwable. Jika anda mencoba melemparkan sebuah objek yang bukan throwable, kompiler menolak utuk mengkompile program tersebut dan menampilkan pesan error yang menyerupai berikut ini :

testing.java:10: Cannot throw class java.lang.Integer; it must be a subclass of class java.lang.Throwable. throw new Integer(4);

^ Contoh :

public Object pop() throws EmptyStackException { Object obj;

if (size == 0)

throw new EmptyStackException();

obj = objectAt(size - 1); setObjectAt(size - 1, null); size--; return obj; } 4. Pencabangan a. break - break berlabel

Statement break akan membuat keluar dari blok label tersebut Contoh :

search:

for ( ; i < arrayOfInts.length; i++) {

for (j = 0; j < arrayOfInts[i].length; j++) { if (arrayOfInts[i][j] == searchfor) { foundIt = true; break search; } } }

Statement break akan membuat pencarian keluar dari label search.

- break tidak berlabel

Statement break akan membuat keluar dari statement switch, pengulangan for, while-do, do-while,dsb.

Contoh :

for ( ; i < arrayOfInts.length; i++) { if (arrayOfInts[i] == searchfor) { foundIt = true;

break;

} }

Statement break membuat pencarian nilai keluar dari pengulangan for b. continue

Statement continue digunakan untuk melompat ke iterasi saat ini dari pengulangan while,do-while dan for.

Contoh :

public class ContinueDemo {

public static void main(String[] args) {

StringBuffer searchMe = new StringBuffer(

(12)

int max = searchMe.length(); int numPs = 0;

for (int i = 0; i < max; i++) { //interested only in p's if (searchMe.charAt(i) != 'p') continue; //process p's numPs++; searchMe.setCharAt(i, 'P'); }

System.out.println("Found " + numPs + " p's in the string."); System.out.println(searchMe);

} }

Keluaran program ini:

Found 9 p's in the string.

Peter PiPer Picked a Peck of Pickled PePPers

c. label

Label adalah sebuah identifier yang diletakkan sebelum statement dan diikuti dengan titik dua (:).

bentuk umum :

statementName: someJavaStatement;

d. return

Statement ini digunakan untuk keluar dari method saat ini. Statement return ini mempunyai dua bentuk yaitu yang mengembalikan nilai dan tidak.

Contoh yang mengembalikan nilai : return ++count; Contoh yang tidak mengembalikan nilai :

return;

Latihan

1. Tuliskan kembali program berikut ini

a. Latihan menggunakan variabel dan operator public class MaxVariablesDemo {

public static void main(String args[]) {

// integers

byte largestByte = Byte.MAX_VALUE; short largestShort = Short.MAX_VALUE; int largestInteger = Integer.MAX_VALUE; long largestLong = Long.MAX_VALUE;

// real numbers

float largestFloat = Float.MAX_VALUE; double largestDouble = Double.MAX_VALUE;

// other primitive types char aChar = 'S';

boolean aBoolean = true;

//a few numbers int i = 37; int j = 42;

(13)

double x = 27.475; double y = 7.22;

// display them all

System.out.println("The largest byte value is " + largestByte); System.out.println("The largest short value is " + largestShort); System.out.println("The largest integer value is " + largestInteger); System.out.println("The largest long value is " + largestLong);

System.out.println("The largest float value is " + largestFloat); System.out.println("The largest double value is " + largestDouble);

if (Character.isUpperCase(aChar)) {

System.out.println("The character " + aChar + " is upper case."); } else {

System.out.println("The character " + aChar + " is lower case."); }

System.out.println("The value of aBoolean is " + aBoolean);

System.out.println("Variable values..."); System.out.println(" i = " + i); System.out.println(" j = " + j); System.out.println(" x = " + x); System.out.println(" y = " + y); //adding numbers System.out.println("Adding..."); System.out.println(" i + j = " + (i + j)); System.out.println(" x + y = " + (x + y)); //subtracting numbers System.out.println("Subtracting..."); System.out.println(" i - j = " + (i - j)); System.out.println(" x - y = " + (x - y)); //multiplying numbers System.out.println("Multiplying..."); System.out.println(" i * j = " + (i * j)); System.out.println(" x * y = " + (x * y)); //dividing numbers System.out.println("Dividing..."); System.out.println(" i / j = " + (i / j)); System.out.println(" x / y = " + (x / y));

//computing the remainder resulting from dividing numbers System.out.println("Computing the remainder...");

System.out.println(" i % j = " + (i % j)); System.out.println(" x % y = " + (x % y)); //mixing types System.out.println("Mixing types..."); System.out.println(" j + y = " + (j + y)); System.out.println(" i * x = " + (i * x)); } }

(14)

b. Latihan menggunakan pengulangan while public class WhileDemo {

public static void main(String[] args) {

String copyFromMe = "Copy this string until you " + "encounter the letter 'g'.";

StringBuffer copyToMe = new StringBuffer();

int i = 0; char c = copyFromMe.charAt(i); while (c != 'g') { copyToMe.append(c); c = copyFromMe.charAt(++i); } System.out.println(copyToMe); } }

c. Latihan menggunakan pengulangan do-while public class DoWhileDemo {

public static void main(String[] args) {

String copyFromMe = "Copy this string until you " + "encounter the letter 'g'.";

StringBuffer copyToMe = new StringBuffer();

int i = 0; char c = copyFromMe.charAt(i); do { copyToMe.append(c); c = copyFromMe.charAt(++i); } while (c != 'g'); System.out.println(copyToMe); } }

d. Latihan menggunakan pengulangan for public class ForDemo {

public static void main(String[] args) {

int[] arrayOfInts = { 32, 87, 3, 589, 12, 1076, 2000, 8, 622, 127 };

for (int i = 0; i < arrayOfInts.length; i++) { System.out.print(arrayOfInts[i] + " "); }

System.out.println(); }

}

e. Latihan menggunakan if, if-else dan switch-case public class SwitchDemo {

public static void main(String[] args) {

int month = 8; switch (month) {

(15)

case 1: System.out.println("January"); break; case 2: System.out.println("February"); break; case 3: System.out.println("March"); break; case 4: System.out.println("April"); break; case 5: System.out.println("May"); break; case 6: System.out.println("June"); break; case 7: System.out.println("July"); break; case 8: System.out.println("August"); break; case 9: System.out.println("September"); break; case 10: System.out.println("October"); break; case 11: System.out.println("November"); break; case 12: System.out.println("December"); break; }

} }

f. Latihan menggunakan label,continue, break dan return public class LabelDemo {

public static void main(String[] args) {

int[] arrayOfInts = { 32, 87, 3, 589, 12, 1076, 2000, 8, 622, 127 };

int searchfor = 12;

int i = 0;

boolean foundIt = false;

for ( ; i < arrayOfInts.length; i++) { if (arrayOfInts[i] == searchfor) { foundIt = true; break; } } if (foundIt) {

System.out.println("Found " + searchfor + " at index " + i); } else {

System.out.println(searchfor + "not in the array"); }

} }

public class ContinueDemo {

public static void main(String[] args) {

StringBuffer searchMe = new StringBuffer(

"peter piper picked a peck of pickled peppers"); int max = searchMe.length();

int numPs = 0;

for (int i = 0; i < max; i++) { //interested only in p's if (searchMe.charAt(i) != 'p') continue; //process p's numPs++; searchMe.setCharAt(i, 'P');

(16)

}

System.out.println("Found " + numPs + " p's in the string."); System.out.println(searchMe);

} }

public class ContinueWithLabelDemo { public static void main(String[] args) {

String searchMe = "Look for a substring in me"; String substring = "sub";

boolean foundIt = false;

int max = searchMe.length() - substring.length();

test:

for (int i = 0; i <= max; i++) { int n = substring.length(); int j = i; int k = 0; while (n-- != 0) { if (searchMe.charAt(j++) != substring.charAt(k++)) { continue test; } } foundIt = true; break test; }

System.out.println(foundIt ? "Found it" : "Didn't find it"); }

}

2. Buatlah program aplikasi untuk jumlah huruf vocal (a,e,I,o,u) pada kalimat sederhana bertipe String “you are studying java programming basics” yang menampikan tampilan berikut ini :

3. Buatlah program applet untuk no (2)

4. a. Buatlah program aplikasi yang membalikkan kalimat “you are studying programming basics.” yang menampilkan :

b. Buatlah applet dari (a)

5. a. Buatlah program aplikasi yang menghitung jumlah kata dalam kalimat “you are studying java programming basics.” Yang menampilkan :

(17)

b. Buatlah applet dari (a)

Kuis

1. Buatlah program aplikasi dan applet sederhana dengan menggunakan variabel, operator, perulangan dan pembuat keputusan ! (program bebas)

2. Apa tujuan yang hendak dicapai pada modul II ini?

Gambar

Tabel operator binary
Tabel operator shift
Tabel flow control statement

Referensi

Dokumen terkait

Hal ini tercermin dari semakin banyaknya pengguna yang memanfaatkan fasilitas perpustakaan, baik dokumen tercetak maupun elektronik, secara langsung datang ke perpustakaan ataupun

KARUNIA JAYA / TUTUT ERNA WAHYUNI, S.Si.. KARUNIA JAYA / TUTUT ERNA

TARGET TAHUN KINERJA 2014 RENCANA AWAL TARGET RENSTRA TAHUN 2015 RENCANA KINERJA TAHUN 2015 1 Meningkatnya Kualitas Pelayanan Masyarakat oleh Pemerintah Kecamatan

S : - Klien mengatakan kadang – kadang lupa cara control halusinasi Kalo habis di ECT - Klien mengatakan sudah mengerti untuk cara control halusinasi

Upaya Dinas Pemberdayaan Perempuan, Perlindungan Anak dan Pengendalian Penduduk Daerah Istimewa Yogyakarta; dalam mengembangkan aspek pemasaran meskipun belum maksimal

Untuk mengetahui kemampuan siswa yang mengikuti pembelajaran ansambel biola pada ekstrakurikuler di SD Negeri 067245 Medan Selayang 43. Untuk mengetahui kendala

Sejalan dengan rumusan masalah tersebut di atas, penelitian tahun ke-1 ini bertujuan: (1) mendeskripsikan dan memaknai kecirian register KST kebahasaan lintas-bahasa berbahasa

Berdasarkan hasil penelitian disimpulkan bahwa jumlah koloni bakteri fase inflamasi luka bakar grade II pada mencit sebelum dilakukan perawatan dengan menggunakan