#include <stdio.h>
int n = 7;
int bil[] = {5, 3, 8, 4, 7, 2, 1};
void swap(int first, int second) {
int tampung = bil[first];
bil[first] = bil[second];
bil[second] = tampung;
}
void bubbleSort() {
int x, y;
for (x = 1; x < n; x++) {
for (y = 0; y < n - x; y++) {
if (bil[y] > bil[y + 1]) {
swap(y, (y + 1));
}
}
}
}
int main() {
bubbleSort();
int x;
for (x = 0; x < n; x++) {
printf("%d ", bil[x]);
}
return 0;
}
Monday, November 18, 2013
THIS
HOUSE WOULD ALLOW STUDENT TO BRING MOBILE PHONE TO SCHOOL
This
is some negative reason and also the effect from the motion
1. Open Sexual Content Site On The
Internet
Many
people say that, students should bring handphone to school to help them search some
content to support them on school activity or help them on their task. This is
just wrong because they can open it at home. However, students are curious with
the content from the internet. Even they dont open sexual content website thre
will be some advertisement on some website which wiil direct them to porn or
sexual content website. Thats why this is dangerous from the students to bring
handphone to schools. Beside that, for some reason when the students are bring
their phone to school they will feel free, they will open some website they
want. This is posible for them to open sexual or porn website. However,
children is children. They will act as they see, they will act as they hear,
they will act as they feel comfortable. This is possible why there are a lot of
crimes about porn which involve the students. It will destroy their future.
2. Make The Children Play Games or
Hearing Some Music
Not
all the children at school are excited to the lesson they get. Sometime they
will feel bored. At this time, students will try another activities that will
not make them bored. In this case, if they bring mobile phone on their pockets,
it will triggered they want to pull their phone on the pockets and as natural
as a children when they are bored, they will play games. It will distract their
concentration to the lesson. This is not good for them because the requirement
to pass the school year are the minimal value of every lesson not one or some
of them, but all the lessons. Not only to the children but also to the teacher.
If the teacher caught them play games on the teaching activities, they will be
punished by the teacher. We know that not all the teacher have good patient,
sometime they are “killer” (means very grumpy) and it will caused violene at
school. Sometime it will be some big problems and wil be printed on newspaper that
“Mr. Theacher Kick Some Student’s Ass At School”. It will make the teacher be
droped out from the school. And this is becaused of the children bring their phone
to schools.
3. Use Phone To Cheat
By bringing
phone to schools, the children will use it as a media to cheat. They will use
it to get some answer from their friends. For example when the final exam are
coming, not only the children but also the teacher will help them to cheat.
Based on my experience on my junior high school, the teacher will take some
clever students and ask them to share their answer to the other students by
mobile phone. Extremly this is not only happen in a school but also they do it
to another school because in my case, the guard teacher when the exam was hold
are the teacher from another school and they will leet us use our phone even
there are several of them told as that “Boleh menyontek tapi jangan ramai dan
jangan gadus”. This is crazy I think. It will make our mark for every lessons
good but not real.
Saturday, September 28, 2013
Android Text To Speech
Berikut adalah beberapa tahapan membuat text to speech di android:
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" />
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
MainActivity.java
import java.util.Locale;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Button;
public class MainActivity extends Activity implements TextToSpeech.OnInitListener {
private TextToSpeech speech;
private Button speak;
private EditText comments;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
speech = new TextToSpeech(this, this);
speak = (Button) findViewById(R.id.button1);
comments = (EditText) findViewById(R.id.editText1);
speak.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
speak();
}
});
}
@Override
public void onDestroy() {
if (speech != null) {
speech.stop();
speech.shutdown();
}
super.onDestroy();
}
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
int result = speech.setLanguage(Locale.US);
if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.e("TTS", "This Language is not supported");
} else {
speak.setEnabled(true);
speak();
}
} else {
Log.e("TTS", "Initilization Failed!");
}
}
private void speak() {
String text = comments.getText().toString();
speech.speak(text, TextToSpeech.QUEUE_FLUSH, null);
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" />
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
MainActivity.java
import java.util.Locale;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Button;
public class MainActivity extends Activity implements TextToSpeech.OnInitListener {
private TextToSpeech speech;
private Button speak;
private EditText comments;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
speech = new TextToSpeech(this, this);
speak = (Button) findViewById(R.id.button1);
comments = (EditText) findViewById(R.id.editText1);
speak.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
speak();
}
});
}
@Override
public void onDestroy() {
if (speech != null) {
speech.stop();
speech.shutdown();
}
super.onDestroy();
}
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
int result = speech.setLanguage(Locale.US);
if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.e("TTS", "This Language is not supported");
} else {
speak.setEnabled(true);
speak();
}
} else {
Log.e("TTS", "Initilization Failed!");
}
}
private void speak() {
String text = comments.getText().toString();
speech.speak(text, TextToSpeech.QUEUE_FLUSH, null);
}
}
Sunday, September 15, 2013
Pengalaman Selama Mengajar
Selama saya berada di SMKN PGRI 3 Malang, awalnya saya mengajar dan memberi pengenalan pada buku digital. Sebelum menginjak tentang pengenalan bagaimana membuat buku digital, saya memberi instruksi untuk menginstall software Sigil. Setelah itu saya memberi pelajaran tentang heading yang bisa dilakukan langsung di microsoft word dan juga bisa di lakukan di software Sigil. Setelah mengajari tentang heading, saya mengajari bagaimana cara memasukkan gambar di Microsoft Word agar pada saat memasukkan file Word ke Sigil, format tulisan tidak berantakan, yaitu dengan memasukkan gambar dalam format Wrap Text, InLine With Text. Setelah mengajari bagaimana memasukkan gambar yang benar agar format buku digital rapi, saya mengajari siswa bagaimana cara memasukkan file word ke Sigil.
Selang beberapa hari, Saya mendapat tugas untuk mengajar materi java, web atau mobile programming pada teman teman kelas 7. Kelas yang saya ambil adalah kelas 1 RPL-A dan 1 RPL-B. Saya memutuskan untuk mengajar java terlebih dahulu.Sebagai awalan mengenai java, saya mengajar tentang struktur kontrol dalam java. Hal pertama yang saya ajarkan adalah pengenalan tentang tipe data yang ada di dalam java. Setelah itu saya mengajarkan bagaimana menggunakan for, if, dan operasi pembandingnya seperti OR dan AND. Pertama kali, saya ajarkan tentang for. Pada saat saya mengajar for, untuk memudahkan siswa siswi disana, saya analogikan bahwa for memiliki 3 bagian yaitu mulai, kondisi dan behaviour. Untuk lebih lengkapnya, saya sengaja membuat sebuah artikel tentang for yang dapat dilihat di http://albycahaya.blogspot.com/2013/09/perulangan-for-dalam-java.html. Selanjutnya saya mengajar tentang if, dan untuk mempermudah siswa siswi di sana, saya menganalogikan, jika kita ingin mengerti sebuah kondisi if, maka blok di dalam if kita buat pertanyaan yang hasil keluarannya Ya/Tidak, Benar/Salah. Untuk lebih lengkapnya, saya sengaja membuat sebuah artikel tentang if yang dapat dilihat di http://albycahaya.blogspot.com/2013/09/kondisi-if-dalam-java.html
Sekian dari laporan dalam bentuk artikel dari saya, apabila ada kesalahan penulisan atau ejaan saya mohon maaf. Terima kasih.
Selang beberapa hari, Saya mendapat tugas untuk mengajar materi java, web atau mobile programming pada teman teman kelas 7. Kelas yang saya ambil adalah kelas 1 RPL-A dan 1 RPL-B. Saya memutuskan untuk mengajar java terlebih dahulu.Sebagai awalan mengenai java, saya mengajar tentang struktur kontrol dalam java. Hal pertama yang saya ajarkan adalah pengenalan tentang tipe data yang ada di dalam java. Setelah itu saya mengajarkan bagaimana menggunakan for, if, dan operasi pembandingnya seperti OR dan AND. Pertama kali, saya ajarkan tentang for. Pada saat saya mengajar for, untuk memudahkan siswa siswi disana, saya analogikan bahwa for memiliki 3 bagian yaitu mulai, kondisi dan behaviour. Untuk lebih lengkapnya, saya sengaja membuat sebuah artikel tentang for yang dapat dilihat di http://albycahaya.blogspot.com/2013/09/perulangan-for-dalam-java.html. Selanjutnya saya mengajar tentang if, dan untuk mempermudah siswa siswi di sana, saya menganalogikan, jika kita ingin mengerti sebuah kondisi if, maka blok di dalam if kita buat pertanyaan yang hasil keluarannya Ya/Tidak, Benar/Salah. Untuk lebih lengkapnya, saya sengaja membuat sebuah artikel tentang if yang dapat dilihat di http://albycahaya.blogspot.com/2013/09/kondisi-if-dalam-java.html
Sekian dari laporan dalam bentuk artikel dari saya, apabila ada kesalahan penulisan atau ejaan saya mohon maaf. Terima kasih.
Saturday, September 14, 2013
Selection Sort Dalam Java
kali ini saya mau share tentang bagaimana sorting secara selection sort. Pada kesempatan kali ini saya coba menjelaskan selection sort dengan menambah penjelasan dalam program itu sendiri. Silahkan membuat class baru lalu copy script di bawah ini:
public static void main(String[] args) {
int[] data = {8, 4, 2, 6, 3, 7, 17, 28};
int tampung = 0;
for (int x = 0; x < data.length; x++) {
for (int y = x + 1; y < data.length; y++) {
System.out.println("\nmembandingkan " + data[x] + " dengan " + data[y]);
System.out.print("awalnya data[x] adalah " + data[x] + " lalu ");
if (data[x] > data[y]) {
tampung = data[x];
data[x] = data[y];
data[y] = tampung;
System.out.print("data[x] menjadi " + data[x] + ", data[y] menjadi " + data[y] + ". ");
}
else{
System.out.print("data[x] tidak ditukar karena tidak memenuhi kondisi if dan data[y] berlanjut. ");
}
}
System.out.println("");
}
}
Keterangan yang warna merah akan membantu temen - temen dalam mengerti tentang selection sort.
Semoga bermanfaat.
public static void main(String[] args) {
int[] data = {8, 4, 2, 6, 3, 7, 17, 28};
int tampung = 0;
for (int x = 0; x < data.length; x++) {
for (int y = x + 1; y < data.length; y++) {
System.out.println("\nmembandingkan " + data[x] + " dengan " + data[y]);
System.out.print("awalnya data[x] adalah " + data[x] + " lalu ");
if (data[x] > data[y]) {
tampung = data[x];
data[x] = data[y];
data[y] = tampung;
System.out.print("data[x] menjadi " + data[x] + ", data[y] menjadi " + data[y] + ". ");
}
else{
System.out.print("data[x] tidak ditukar karena tidak memenuhi kondisi if dan data[y] berlanjut. ");
}
}
System.out.println("");
}
}
Keterangan yang warna merah akan membantu temen - temen dalam mengerti tentang selection sort.
Semoga bermanfaat.
Penerapan Link List Dalam Java
Pada kesempatan kali ini saya mau sedikit share tentang link list sebagai lanjutan dari artikel sebelumnya. Kali ini saya au share tentang penerapan link list dalam hal yang lebih luas yaitu penerapan link list dalam mencari data terkecil, terbesar, dan mengurutkan data yang berupa angka. Berikut script untuk mencari data terkecil:
Sebelumnya, buat class baru terlebih dahulu. Pada contoh kali ini nama classnya adalah LinkedList.
public class LinkedList {
int data;
LinkedList next;
public LinkedList(){
}
public LinkedList(int data){
this.data = data;
}
public void tampil(){
System.out.print(data + " ");
}
}
Setelah itu buat class baru lagi. Pada contoh kali ini adalah Process.
public class Process {
LinkedList awal;
int k = 0;
public void masuk(int data) {
LinkedList link = new LinkedList(data);
link.next = awal;
awal = link;
}
public void tampil() {
LinkedList link = awal;
while (link != null) {
link.tampil();
link = link.next;
}
}
public int min(){
LinkedList link = awal;
while(link != null){
link = link.next;
int n = 1;
k += n;
}
int data[] = new int[k];
for(int x = 0; x < data.length; x++){
data[x] = awal.data;
awal = awal.next;
}
boolean is = true;
int tampung = 0;
for(int x = 0; x < data.length; x++){
is = true;
for(int y = 0; y < data.length; y++){
if(data[x] > data[y]){
is = false;
}
}
if(is){
tampung = data[x];
}
}
return tampung;
}
}
public int max(){
System.out.println("Bilangan terbesar");
LinkedList link = awal;
while(link != null){
link = link.next;
int n = 1;
k += n;
}
int data[] = new int[k];
for(int x = 0; x < data.length; x++){
data[x] = awal.data;
awal = awal.next;
}
boolean is = true;
int tampung = 0;
for(int x = 0; x < data.length; x++){
is = true;
for(int y = 0; y < data.length; y++){
if(data[x] < data[y]){
is = false;
}
}
if(is){
tampung = data[x];
}
}
return tampung;
}
Perhatikan pada blok yang berwarna merah, di dalamnya terdapat satu baris yang di tulis dengan huruf tebal dan berwarna hitam. Blok itu adalah blok yang digunakan untuk mencari data angka terkecil, apabila ingin mencari data angka terbesar, hanya tinggal mengganti dengan if(data[x] < data[y]).
public int max(){
LinkedList link = awal;
while(link != null){
link = link.next;
int n = 1;
k += n;
}
int data[] = new int[k];
for(int x = 0; x < data.length; x++){
data[x] = awal.data;
awal = awal.next;
}
boolean is = true;
int tampung = 0;
for(int x = 0; x < data.length; x++){
is = true;
for(int y = 0; y < data.length; y++){
if(data[x] < data[y]){
is = false;
}
}
if(is){
tampung = data[x];
}
}
return tampung;
}
}
public int max(){
System.out.println("Bilangan terbesar");
LinkedList link = awal;
while(link != null){
link = link.next;
int n = 1;
k += n;
}
int data[] = new int[k];
for(int x = 0; x < data.length; x++){
data[x] = awal.data;
awal = awal.next;
}
boolean is = true;
int tampung = 0;
for(int x = 0; x < data.length; x++){
is = true;
for(int y = 0; y < data.length; y++){
if(data[x] < data[y]){
is = false;
}
}
if(is){
tampung = data[x];
}
}
return tampung;
}
Nah, sekarang bagaimana untuk mengurutkan data menggunakan link list??? Pada contoh kali ini, data yang akan diurutkan akan ditampilkan yaitu fungsi berupa void. Kalo temen – temen ingin mengembalikan nilai dari data yang temen – temen urutkan, silahkan dimodifikasi sendiri. Silahkan tambahkan script mengurutkan data dengan fungsi tampil() yang ada di class process. Berikut scriptnya:
public void tampil() {
LinkedList link = awal;
while (link != null) {
int n = 1;
link.tampil();
link = link.next;
k += n;
}
System.out.println("\nAscending");
int data[] = new int[k];
for(int x = 0; x < data.length; x++){
data[x] = awal.data;
awal = awal.next;
}
int temp;
for(int x = 0; x < data.length;x++){
for(int y = x + 1; y < data.length; y++){
if(data[x] > data[y]){
temp = data[x];
data[x] = data[y];
data[y] = temp;
}
}
System.out.print(data[x] + " ");
}
System.out.println("\nDescending");
for(int x = 0; x < data.length;x++){
for(int y = x + 1; y < data.length; y++){
if(data[x] < data[y]){
temp = data[x];
data[x] = data[y];
data[y] = temp;
}
}
System.out.print(data[x] + " ");
}
}
Lalu buat class baru untuk menampilkan data – data yang ingin dimasukkan. Pada contoh kali ini nama classnya adalah Main.
public class Main {
public static void main(String[] args){
Process angky = new Process();
angky.masuk(4);
angky.masuk(8);
angky.masuk(3);
angky.masuk(1);
angky.masuk(2);
System.out.print(angky.min());
System.out.println("");
Process cahaya = new Process();
cahaya.masuk(4);
cahaya.masuk(8);
cahaya.masuk(3);
cahaya.masuk(1);
cahaya.masuk(2);
System.out.print(cahaya.max());
System.out.println("");
Process putra = new Process();
putra.masuk(4);
putra.masuk(8);
putra.masuk(3);
putra.masuk(1);
putra.masuk(2);
putra.tampil();
}
}
PENTING!!!
Tabulasi dalam java sangatlah penting, apabila temen – temen mengcopas script di atas, pasti nantinya tabulasi di atas akan lurus rata kiri. Solusinya (khusus yang menggunakan netbeans) yaitu setelah temen – temen mengcopas script di atas, tekan Shift + Alt + F. Secara otomatis netbeans akan mengatur tabulasi script yang tentu saja akan memudahkan pembacaan script.
Segitiga Pascal Dalam Java
Sebenarnya, menampilkan segitiga pascal dapat dilakukan hanya dalam fungsi main(public static void main(String[] args), namun cara ini lebih kompleks karena temen - temen harus mengatur fungsi faktorial sendiri di dalam fungsi main tersebut. Sebenarnya bisa, tapi lebih membingungkan. Sehubungan dengan kebingungan tersebut, pada artikel kali ini, akan saya buat fungsi - fungsi yang nantinya akan menjadi rumus menampilkan segitiga pascal tersebut. Fungsi ini ditunjukkan oleh script berwarna di bawah ini:
public class SegitigaPascal {
public int proc(int angka) {
if (angka == 0) {
return 1;
} else {
return angka;
}
}
public int minus(int x, int y) {
if (x - y == 0) {
return 1;
} else {
return x - y;
}
}
public int faktorial(int angka) {
int faktorial = 1;
for (int x = 1; x <= angka; x++) {
faktorial *= x;
}
return faktorial;
}
public static void main(String[] args) {
SegitigaPascal panggil = new SegitigaPascal();
int batas = 4;
int xFaktorial = 1;
int yFaktorial = 1;
int minFaktorial = 1;
int simpan;
int hasil = 0;
for (int x = 0; x <= batas; x++) {
xFaktorial *= panggil.proc(x);
for (int y = batas; y >= x; y--) {
System.out.print(" ");
}
for (int y = 0; y <= x; y++) {
yFaktorial *= panggil.proc(y);
minFaktorial = panggil.minus(x, y);
simpan = panggil.faktorial(minFaktorial);
hasil = xFaktorial / (yFaktorial * (simpan));
System.out.print(hasil + " ");;
}
yFaktorial = 1;
System.out.println("");
}
}
}
public class SegitigaPascal {
public int proc(int angka) {
if (angka == 0) {
return 1;
} else {
return angka;
}
}
public int minus(int x, int y) {
if (x - y == 0) {
return 1;
} else {
return x - y;
}
}
public int faktorial(int angka) {
int faktorial = 1;
for (int x = 1; x <= angka; x++) {
faktorial *= x;
}
return faktorial;
}
public static void main(String[] args) {
SegitigaPascal panggil = new SegitigaPascal();
int batas = 4;
int xFaktorial = 1;
int yFaktorial = 1;
int minFaktorial = 1;
int simpan;
int hasil = 0;
for (int x = 0; x <= batas; x++) {
xFaktorial *= panggil.proc(x);
for (int y = batas; y >= x; y--) {
System.out.print(" ");
}
for (int y = 0; y <= x; y++) {
yFaktorial *= panggil.proc(y);
minFaktorial = panggil.minus(x, y);
simpan = panggil.faktorial(minFaktorial);
hasil = xFaktorial / (yFaktorial * (simpan));
System.out.print(hasil + " ");;
}
yFaktorial = 1;
System.out.println("");
}
}
}
Subscribe to:
Posts (Atom)