RSS
 

Bahasa Assembly

04 Jun

Bahasa assembly adalah sebuah program yang terdiri dari instruksi-instruksi  yang menggantikan kode-kode biner dari bahasa mesin dengan “mnemonik” yang mudah diingat. Misalnya sebuah instruksi penambahan dalam bahasa mesin dengan kode “10110011” yang dalam bahasa assembly dapat dibuat dalam instruksi mnemonik ADD, sehingga mudah diingat dibandingkan dengan angka 0 dan 1, dalam setiap instruksi membutuhkan suatu operand baik berupa data langsung maupun suatu lokasi memori yang menyimpan data yang bersangkutan. Bahasa assembly sering juga disebut kode sumber atau kode simbolik yang tidak dapat dijalankan oleh prosesor, sedangkan assembler adalah suatu program yang dapat menerjemahkan program bahasa assembly ke program bahasa mesin. bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh komputer. Program bahasa mesin sering disebut sebagai kode objek. Setiap arsitektur komputer memiliki bahasa mesin yang berbeda-beda sehingga bahasa rakitannya pun berbeda-beda.(dna)

Bahasa Assembly adalah bahasa pemrograman tingkat rendah. Dalam pemrograman komputer dikenal dua jenis tingkatan bahasa, jenis yang pertama adalah bahasa pemrograman tingkat tinggi (high level language) dan jenis yang kedua adalah bahasa pemrograman tingkat rendah (low level language).

Bahasa pemrograman tingkat tinggi lebih berorientasi kepada manusia yaitu bagaimana agar pernyataan-pernyataan yang ada dalam program mudah ditulis dan dimengerti oleh manusia. Sedangkan bahasa tingkat rendah lebih berorientasi ke mesin, yaitu bagaimana agar komputer dapat langsung mengintepretasikan pernyataan-pernyataan program.

Kelebihan Bahasa Assembly:

1. Ketika di-compile lebih kecil ukuran

2. Lebih efisien/hemat memori

3. Lebih cepat dieksekusi

 

Kesulitan Bahasa Assembly:

1. Dalam melakukan suatu pekerjaan, baris program relatif lebih panjang dibanding bahasa tingkat tinggi

2. Relatif lebih sulit untuk dipahami terutama jika jumlah baris sudah terlalu banyak

3. Lebih sulit dalam melakukan pekerjaan rumit, misalnya operasi matematis

 

Dalam program bahasa assembly terdapat 2 jenis yang kita tulis dalam program yaitu:

1. Assembly Directive (yaitu merupakan kode yang menjadi arahan bagi assembler/compiler untuk menata program)

2. Instruksi (yaitu kode yang harus dieksekusi oleh CPU mikrokontroler)

 

Element dari Bahasa Pemrograman Assembler

Bahasa assembly dikategorikan sebagai bahasa tingkat rendah (low level languange). Ini untuk menggambarkan kekhususannya sebagai bahasa yang berorientasi pada machine dependent. Untuk membandingkan bahasa mesin dan bahasa assembly, kita dapat melihatnya dari tiga karakteristik berikut :

1. Mnemonic operation code. Sebagai pengganti numeric operation code (opcodes) yang digunakan pada bahasa mesin, digunakankanlah mnemonic code pada bahasa assembly.    Selain kemudahan dalam penulisannya dibandingkan dari bahasa mesin juga mendukung pelacakan kesalahan seperti kesalahan penulisan operation code. Gambar 2.1. berikut menunjukkan daftar instuksi operation codes dari bahasa dan bahasa assembly.

Gambar 2.1 Daftar Instuksi Operation Codes dari Bahasa dan Bahasa Assembly

 

2. Symbolic operand specification. Penamaan simbol diasosiasikan sebagai suatu data atau instruksi. Operand lebih menunjukkan symbolic reference dibandingkan dengan alamat mesin suatu data atau instruksi. Hal ini akan mempermudah pada saat harus dilakukan modifikasi program.

3. Declaration of data/storage area. Data dapat dinyatakan dalam notasi desimal. Ini dilakukan untuk mencegah konversi secara manual dari konstanta ke dalam representasi internal mesin. Sebagai contoh :

-5 menjadi (11111010)2 atau 10.5 menjadi (41A80000)16

Suatu statement bahasa assembly mempunyai bentuk umum sebagai berikut :

[Label] Menmonic OpCode Operand [operand…]

Tanda kurung siku menunjukkan isi di dalamnya boleh digunakan atau tidak dalam statement tersebut, sebagai contoh : label bersifat optional. Jika label digunakan, hal tersebut menujukkan suatu symbolic name akan dibuat dalam machine word untuk keperluan assembly statement. Bila digunakan lebih dari satu operand, digunakan tanda “koma” untuk memisahkannya. Jika digunakan index, nomor index register ditunjukan dalam sebuah simbol, seperti contoh berikut :

AGAIN LOAD NUMBER(4)

Dimana ‘4’ menunjukkan register yang memiliki index. AGAIN diasosiasikan dengan instruksi mesin yang dihasilkan untuk statement LOAD.

Gambar 2.2 berikut ini mengilustrasikan program bahasa mesin yang dipersamakan dengan bahasa assembly.

 

Gambar 2.2. (a) program bahasa mesin (b) Eguivalent program bahasa assembly

Program assembly mengenal tiga jenis statement : (i) imperative statement (ii) declarative statement (iii) assembler directive statement.

Imperative Statement

Statement imperative dalam bahasa assembly ditunjukan dengan suatu tindakan yang dikerjakan selama eksekusi program assembly. Karena itu setiap statement imperative ditranslasikan ke dalam instruksi mesin.

Format instruksi :

 

Gambar 2.3 Format Instruksi

 

Declarative Statement

Statement declarative dalam bahasa assembly menunjukkan konstanta atau storage area pada suatu program. Sebagai contoh :

A      DS       1

secara sederhana storage area sebesar 1 word ditunjukkan dengan sebuah label A. DS di sini menunjukkan Declare Storage (DS).

Suatu konstanta dideklarasikan melalui Declare Constant (DC) statement, contohnya :

ONE     DC    ‘1’

maksud dari statement di atas adalah label ONE berisi konstanta 1. Programmer dapat mendeklarasikan kontanta dalam desimal, binary, hexadesimal, dsb. Assembler akan mengkonversi bentuk tersebut ke dalam bentuk internal yang tepat.

Beberapa assembler sering pula menggunakan’literal’ khususnya pada konstanta yang dipakai sebagai operand, seperti contoh berikut :

 

Gambar 2.4 Contoh

Penggunaan tanda “=” pada posisi awal suatu operand menunjukkan sebuah literal. Nilai konstanta yang ditulis dengan cara demikian sama dengan nilai yang dihasilkan bila menggunakan statement DC.

Assembler Directive

Statement jenis ini tidak merepresentasikan instruksi mesin ke dalm suatu objek program atau mengalokasikan storage untuk konstanta atau variable program. Sebaliknya, statement ini secara langsung mengarahkan assembler untukmengambil alih aksi selama proses assembling program. Statement ini digunakan untuk menunjukkan bagaimana input program assembly dibentuk, sebagi contoh : START 100

statement tersebut merupakan kata pertama dari objek program yang dibuat oleh assembler untuk menempatkan lokasi mesin pada alamat ‘100’. Begitupula dengan statement : END, yang mengindikasikan tidak ada lagi bahasa statement bahasa assembly yang akan diproses.

 

2.3. Proses Assembly

Untuk membangun skema proses translasi dari satu bahasa ke bentuk lainnya, hal pertama yang harus dilakukan adalah mengindentifikasikan tugas-tugas dasar yang harus dikerjakannya dalam proses translasi tersebut.

2.3.1. Proses Translasi

Secara umum model proses translasi dapat direpresentasikan sebagai berikut :

Gambar 2.5 Model Proses Translasi

 

Model di atas diterapkan untuk mentranslasikan dari sautu bahasa pemrograman ke bentuk lain, translasi dari satu bahasa natural (Inggris, Perancis) ke bentuk coding / decoding pesan rahasia. Untuk mengaplikasikan model di atas, kita perlu menentukan komponen-komponen yang dibutuhkan selama proses analisis dan sintesis.

Dalam fase analisis, focus perhatian kita adalah kepada penentuan arti dari source text. Untuk memahami arti dari source text tersebut, kita mengetahui aturan yang membentuk source text tersebut. Dalam aturan struktur tatabahasa (grammar), dikenal istilah syntax dan semantic. Perhatikan statement berikut :

AGAIN     LOAD     RESULT + 4

Dalam statement di atas, AGAIN menunjukkan label field, LOAD menunjukkan opcode mnemonic field dan RESULT + 4 menunjukkan operand field. Bila kita melihat lebih dalam lagi ke dalam operand field, kita dapat menukan bahwa RESULT + 4 adalah expression operand yang valid dan sesuai dengan aturan bahasa. Dalam bahasa assembly, aturan penulisan suatu statement sangat sederhana. Pembahasan mengenai tata bahasa akan dilanjutkan pada materi-materi berikutnya.

Dalam fase sintesis, dilakukan pemilihan machine operation code yang sesuai dengan mnemonic LOAD dan menempatkannya pada machine instruction opcode field. Evaluasi korespondensi pengalamatan dilakukan untuk operand expression ’RESULT + 4’ dan menempatkannya pada alamat dari machine instruction.

 

2.3.2. Skema Sederhana Assembly

Fase Analysis

– Mengisolasikan / memisahkan label, mnemonic operation code dan operand field yang ada pada statement

– Memasukkan simbol yang ditemukan pada label field dan alamat yang akan dituju machine word ke dalam Symbol table.

– Melakukan validasi menmonic operation code dengan melihat pada Mnemonic table

– Menentukan alamat yang dibutuhkan statement berdasar pada mnemonic operation code dan operand field pada statement. Proses penghitungan alamat awal machine word mengikuti target code yang dibangkitkan untuk statement tersebut (Location Counter (LC) processing)

Fase Syntesis

– Menghasilkan machine operation code yang berkorespondensi dengan mnemonic operation code yang telah dicari pada mnemonic table

– Menghasilkan alamat operand dari Symbol table

– Melakukan sintesa instruksi machine

2.3.3. Pass Structure pada Assembler

Pada pembahasan di atas, kita telah mengidentifikasikan fungsi fase analisi dan sintesis dari assembler. Sekarang kita akan melihat fase program assembly ini berdasarkan statment demi statement hingga menghasilkan target program, seperti terlihat dari gambar 2.6 berikut ini :

New Picture

Gambar 2.6 Translasi statement demi statement program bahasa assembly

 

Perhatikan contoh program assembly berikut ini :

f

Gambar 2.7 Contoh Program Assembly

Pada contoh di atas terlihat bahwa FIVE merupakan label yang menunjuk pada alamat dimana isi dari FIVE tersebut disimpan. Dalam kasus ini FIVE tidak terdefinisi sebelumnya . Oleh karena ini, penterjemahan bentuk ini disebut forward reference. Pada kasus forward reference alamat dari label harus dikenali dalam jenisnya untuk diterjemahkan ke dalam suatu program yang semestinya. Solusi yang ditawarkan adalah kita perlu melakukan proses terhadap source statement lebih dari satu kali atau dilakukan secara beberapa tahap. Hal ini dikenal dengan konsep translator pass.

Translator pass adalah penelusuran secara menyeluruh source program input oleh translator hingga mencapai equivalent representation.

Translasi yang dilakukan statement demi statement disebut single pass translation, sedangkan translasi yang dilakukan sekelompok statement yang membutuhkan banyak pass disebut multipass translation.

 

A. Multi-Pass Translation

Multi pass translation dalam program bahasa assembly dapat menangani masalah forward reference. Unit pada source program digunakan untuk tujuan mentranslasi semua bagian program. Ketika fase analisis statement program pertama kali dilakukan, proses LC akan dikerjakan dan simbol yang didefinisikan dalam program dimasukkan ke dalam simbol table. Selama second pass, statement diproses dengan tujuan mensintesa target form. Semua simbol dan alamat yang dapat ditemukan dalam simbol table tidak akan menimbulkan forward reference pada assembly.

Kalimat “equivalent representation” digunakan pada translasi yang membutuhkan elaborasi. Sering kali ketika proses pemisahan field label, mnemonic opcode dan operand field terjadi duplikasi. Untuk mengurangi duplikasi tersebut, hasil analisa source statement dari first pass direpresentasikan dalam internal form pada source statement. Bentuk ini disebut intermediate code. Ilustrasi dari skema two pass assembler dengan menggunakan intermediate code form dapat dilihat pada gambar 2.8 berikut ini :

New Picture (2)

Gambar 2.8 Ilustrasi skema two pass assembler dengan menggunakan intermediate code form

Selain membangun intermediate code, suatu assembler pass juga membangun dan/atau mengganti data base yang digunakan subsequent pass. Karena kebutuhan untuk membangun dan memproses intermediate code, suatu multi pass translator menjalankan fungsinya lebih lambat dibandingkan dengan single pass translation.

 

B. Single Pass Translation

Dalam single pass translation, pemecahan forward reference dapat ditangani sebagai berikut : instruksi yang memuat forward reference dapat ditinggalkan dalam keadaan tidak selesai hingga alamat reference symbol diketahui. Untuk meletakkan alamat operand pada bagain akhir dapat disimpan pada Table of Incomplete Instruction (TII). Di akhir program assembly, semua masukan pada table dapat diproses secara lengkap sesuai instruksinya.

Keuntungan menggunakan single pass translation adalah setiap source statement hanya diproses satu kali. Proses ini lebih cepat bila dibandingkan dengan multi pass translation. Namun demikian, ada kekurangan yang terdapat pada single pass translation, yaitu besarnya area storage yang dibutuhkan oleh assembler, sebagai akibat dijalankannya fase analysis dan synthesis pada pass yang sama.

Secara umum dikenal ada dua macam tipe single pass translation / one pass, yaitu :

– Single Pass Translation Yang Menghasilkan Kode Objek Langsung Ke Memori, Yang Mengakibatkan Eksekusi Menjadi Lebih Cepat.

– Single Pass Translation Yang Menghasilkan Berbagai Tipe Pemrograman Untuk Keperluan Eksekusi Selanjutnya

 

2.3. Perancangan Two Pass Assembler

Pass I

– Memisahkan Symbol, Mnemonic Opcode Dan Operand Field

– Menentukan Storage Yang Dibutuhkanuntuk Setiap Statement Bahasa Assembly Dan Meng-Update Location Counter

– Membangun Symbol Table

– Merancang Intermediate Code Untuk Setiap Statement Bahasa Assembly

 

Pass II

Mensintesa target code dengan memproses intermediate code yang dibangkitkan selama pass I

 

KESIMPULAN

 

Bahasa Assembly adalah bahasa yang memudahkan pemahaman bagian computer yang paling rendah, mendekati mesin. Bahasa assembly sebaiknya dipelajari secara kontektual sehingga interaksi perangkat keras dan perangkat lunak computer mungkin lebih mudah dipahami.

Bahasa assembly adalah bahasa pemrograman dengan korespondensi satu-satu antara perintah-perintah/pertanyaannya dan bahasa mesin computer.

Assembler adalah program yang mengonversi kode program sumber ke dalam bahasa mesin System bilangan (number system) adalah suatu cara untuk mewakili besaran dari suatu item fisik. System bilangan terdiri dari: bilangan biner, bilangan decimal, bilangan octal dan hexadesimal.

 

 

Oleh Kelompok 9

 
Comments Off on Bahasa Assembly

Posted in Tugas Pemrograman Komputer

 

Program Perhitungan Nilai Akhir

02 Jun

Pada tulisan ini kami akan menjelaskan tentang program perhitungan nilai akhir. Dalam hal ini nilai akhir dihitung dari :

Nilai 8 tugas dengan bobot 40%

Nilai 2x kuis dengan bobot 30%

Nilai UAS dengan bobot 30%

Jumlah presensi

 

Nilai yang digunakan dalam program ini menggunakan skala huruf A-E

A = 4
B = 3
C = 2
D = 1
E = 0
K = 0

Berikut ini adalah kodingan dari program kami :

1. Kodingan Andhika Nurdiantono

OpenConsole()
EnableGraphicalConsole(1)

ulangi:
ConsoleLocate (5,1)
Print (“masukkan nama : “)
nama.s = Input()
Print (“nilai tugas 1 = “)
t1 = ValF(Input())
Print (“nilai tugas 2 = “)
t2 = ValF(Input())
Print (“nilai tugas 3 = “)
t3 = ValF(Input())
Print (“nilai tugas 4 = “)
t4 = ValF(Input())
Print (“nilai tugas 5 = “)
t5 = ValF(Input())
Print (“nilai tugas 6 = “)
t6 = ValF(Input())
Print (“nilai tugas 7 = “)
t7 = ValF(Input())
Print (“nilai tugas 8 = “)
t9 = ValF(Input())
Print (“nilai quiz 1 = “)
q1 = ValF(Input())
Print (“nilai quiz 2 = “)
q2 = ValF(Input())
Print (“nilai nilai UAS = “)
u = ValF(Input())
Print (“jumlah kehadiran = “)
absen = ValF(Input())

ConsoleLocate (5,15)
Print(“apakah ingin mengetahui nilai anda?(Y?T)”)
n.s = Input()
If n.s = “Y” Or n.s = “y”
Goto hitungnilai
ElseIf n.s = “T” Or n.s = “t”
Goto akhir
EndIf

hitungnilai:
ClearConsole()
t = (t1+t2+t3+t4+t5+t6+t7+t8)*8
nt = t*0.4
q = (q1+q2)*0.3/2
nq = q*0.3
nu = u*0.3
na = (nt+nq+nu)/25
ConsoleLocate(5,1)
Print (nama.s)
If absen >= 13
ConsoleLocate (5,3)
If na >= 3.75
Print (“nilai anda A”)
ElseIf na >= 3.5
Print (“nilai anda B+”)
ElseIf na >=3.0
Print (“nilai anda B”)
ElseIf na >= 2.5
Print (“nilai anda C+”)
ElseIf na >= 2.0
Print (“nilai anda C”)
ElseIf na >= 1.5
Print (“nilai anda D”)
ElseIf na < 1.5
Print (“nilai anda E”)
EndIf
Else
Print (“nilai anda tidak dapat diproses”)
EndIf
ConsoleLocate (5,10)
Print (“apakah ingin menghitung nilai lagi?(Y/T)”)
l.s = Input()
If l.s = “Y” Or l.s = “y”
Goto ulangi
ElseIf l.s = “T” Or l.s = “t”
Goto akhir
EndIf

akhir:
ConsoleLocate (5,20)
Print (“terima kasih sudah menggunakan”)

While WaitWindowEvent | #PB_Event_CloseWindow : Wend

 

2. Kodingan Bramadirafi M

OpenConsole()
EnableGraphicalConsole(1)

ulangi:
ConsoleLocate (5,1)
Print (“masukkan nama : “)
nama.s = Input()
Print (“nilai tugas 1 = “)
t1 = ValF(Input())
Print (“nilai tugas 2 = “)
t2 = ValF(Input())
Print (“nilai tugas 3 = “)
t3 = ValF(Input())
Print (“nilai tugas 4 = “)
t4 = ValF(Input())
Print (“nilai tugas 5 = “)
t5 = ValF(Input())
Print (“nilai tugas 6 = “)
t6 = ValF(Input())
Print (“nilai tugas 7 = “)
t7 = ValF(Input())
Print (“nilai tugas 8 = “)
t9 = ValF(Input())
Print (“nilai quiz 1 = “)
q1 = ValF(Input())
Print (“nilai quiz 2 = “)
q2 = ValF(Input())
Print (“nilai nilai UAS = “)
u = ValF(Input())
Print (“jumlah kehadiran = “)
absen = ValF(Input())

ConsoleLocate (5,15)
Print(“apakah ingin mengetahui nilai anda?(Y?T)”)
n.s = Input()
If n.s = “Y” Or n.s = “y”
Goto hitungnilai
ElseIf n.s = “T” Or n.s = “t”
Goto akhir
EndIf

hitungnilai:
ClearConsole()
t = (t1+t2+t3+t4+t5+t6+t7+t8)*8
nt = t*0.4
q = (q1+q2)*0.3/2
nq = q*0.3
nu = u*0.3
na = (nt+nq+nu)/25
ConsoleLocate(5,1)
Print (nama.s)
If absen >= 13
ConsoleLocate (5,3)
If na >= 3.75
Print (“nilai anda A”)
ElseIf na >= 3.5
Print (“nilai anda B+”)
ElseIf na >=3.0
Print (“nilai anda B”)
ElseIf na >= 2.5
Print (“nilai anda C+”)
ElseIf na >= 2.0
Print (“nilai anda C”)
ElseIf na >= 1.5
Print (“nilai anda D”)
ElseIf na < 1.5
Print (“nilai anda E”)
EndIf
Else
Print (“maaf anda harus mengulang tahun depan”)
EndIf
ConsoleLocate (5,10)
Print (“apakah ingin menghitung nilai lagi?(Y/T)”)
l.s = Input()
If l.s = “Y” Or l.s = “y”
Goto ulangi
ElseIf l.s = “T” Or l.s = “t”
Goto akhir
EndIf

akhir:
ConsoleLocate (5,20)
Print (“terima kasih sudah menggunakan”)

While WaitWindowEvent | #PB_Event_CloseWindow : Wend

 

3. Kodingan Rony Satria P

OpenConsole()
EnableGraphicalConsole(1)

ulangi:
ConsoleLocate (5,1)
Print (“masukkan nama : “)
nama.s = Input()
Print (“nilai tugas 1 = “)
t1 = ValF(Input())
Print (“nilai tugas 2 = “)
t2 = ValF(Input())
Print (“nilai tugas 3 = “)
t3 = ValF(Input())
Print (“nilai tugas 4 = “)
t4 = ValF(Input())
Print (“nilai tugas 5 = “)
t5 = ValF(Input())
Print (“nilai tugas 6 = “)
t6 = ValF(Input())
Print (“nilai tugas 7 = “)
t7 = ValF(Input())
Print (“nilai tugas 8 = “)
t9 = ValF(Input())
Print (“nilai quiz 1 = “)
q1 = ValF(Input())
Print (“nilai quiz 2 = “)
q2 = ValF(Input())
Print (“nilai nilai UAS = “)
u = ValF(Input())
Print (“jumlah kehadiran = “)
absen = ValF(Input())

ConsoleLocate (5,15)
Print(“apakah ingin mengetahui nilai anda?(Y?T)”)
n.s = Input()
If n.s = “Y” Or n.s = “y”
Goto hitungnilai
ElseIf n.s = “T” Or n.s = “t”
Goto akhir
EndIf

hitungnilai:
ClearConsole()
t = (t1+t2+t3+t4+t5+t6+t7+t8)*8
nt = t*0.4
q = (q1+q2)*0.3/2
nq = q*0.3
nu = u*0.3
na = (nt+nq+nu)/25
ConsoleLocate(5,1)
Print (nama.s)
If absen >= 13
ConsoleLocate (5,3)
If na >= 3.75
Print (“nilai anda A”)
ElseIf na >= 3.5
Print (“nilai anda B+”)
ElseIf na >=3.0
Print (“nilai anda B”)
ElseIf na >= 2.5
Print (“nilai anda C+”)
ElseIf na >= 2.0
Print (“nilai anda C”)
ElseIf na >= 1.5
Print (“nilai anda D”)
ElseIf na < 1.5
Print (“nilai anda E”)
EndIf
Else
Print (“Anda tidak mendapat nilai”)
EndIf
ConsoleLocate (5,10)
Print (“apakah ingin menghitung nilai lagi?(Y/T)”)
l.s = Input()
If l.s = “Y” Or l.s = “y”
Goto ulangi
ElseIf l.s = “T” Or l.s = “t”
Goto akhir
EndIf

akhir:
ConsoleLocate (5,20)
Print (“terima kasih sudah menggunakan”)

While WaitWindowEvent | #PB_Event_CloseWindow : Wend

Berikut ini adalah screeshot program kami

20-31-24 20-31-36 20-31-49

Pertama user harus menginput nama terlebih dahulu, jika sudah masukkan nilai tugas 1-8, 2 nilai kuis, nilai uas serta jumlah kehadiran

setelah itu akan muncul nilai berupa huruf

 

Demikian tulisan ini kami buat, jika ada pertanyaan silahkan komentari postingan ini. Mohon maaf bila banyak kekurangan pada tulisan ini karena kami pun masih dalam tahap belajar

untuk mengunduh program disini, here or disini

Terima Kasih

 

Oleh : admin

 

 
Comments Off on Program Perhitungan Nilai Akhir

Posted in Tugas Pemrograman Komputer

 

Menghitung Posisi dan Frekuensi Natural

04 May

Pada tulisan ini, kami akan membahas mengenai program penghitung frekuensi natural dan posisi x dalam satuan waktu

berikut ini dalah screenshoot dari program kami

New Picture (3)

homepage pada program kami

kemudian memilih apakah ingin menghitung posisi atau frekuensi natural

New Picture (5)

kemudain jika memilih menghitung frekuensi natural maka akan keluar perintah untuk memasukkan konstanta pegas dan massa benda

Setelah keluar hasil maka akan muncul pilihan hitung ulang atau tidak, jika ingin hitung ulang maka akan kembali disediakan pilihan seperti di awal, jika tidak maka akan muncul ucapan terima kasih

aaa

berikut ini ada screenshoot dari koding program kami

New Picture

sama seperti program sebelumnya, disini kami menggunakan sequential programing dan branching programing

New Picture (1)

Untuk mendownload program kami disini

 

Sumber : Ralph E. Blake “Basic Vibration Theory : Chapter 2”

 
Comments Off on Menghitung Posisi dan Frekuensi Natural

Posted in Uncategorized

 

Perhitungan Sederhana Gerak Translasi dan Rotasi

12 Apr

1 GETARAN MEKANIS

Pengertian Getaran

Getaran adalah gerakan bolak-balik dalam suatu interval waktu tertentu. Getaran berhubungan dengan gerak osilasi benda dan gaya yang berhubungan dengan gerak tersebut. Semua benda yang mempunyai massa dan elastisitas mampu bergetar, jadi kebanyakan mesin dan struktur rekayasa (engineering) mengalami getaran sampai derajat tertentu dan rancangannya biasanya memerlukan pertimbangan sifat osilasinya.

Pentingnya Belajar Getaran Mekanik

—        Salah satu tujuan belajar getaran adalah mengurangi efek negatif getaran melalui desain mesin yang baik

—        Hampir semua alat gerak mempunyai masalah getaran karena adanya ketidak seimbangan mekanisme, contohnya :

–     Mechanical failures karena material fatigue

–      Getaran dapat mengakibatkan keausan yang lebih cepat

–     Dalam proses manufaktur, getaran dapat menyebatkan hasil akhir yang buruk

—        Selain efek yang merusak, getaran dapat digunakan untuk hal hal yang berguna.

–     Getaran digunakan dalam conveyors getar, mesin cuci, sikat gigi elektrik.

–     Getaran juga digunakan dalam pile driving, vibratory testing of materials.

–     Getaran digunakan untuk menaikan efisiensi dari proses permesinan seperti casting dan forging.

Pada tulisan ini kita akan mencoba membuat sebuah program perhitungan gerak translasi dan gerak rotasi

New Picture (1)

Tabel perbedaan getaran translasi dan rotasi

 

2. Program Pehitungan sederhana getaran mekanis

Berikut ini ada screenshot dari program kami

New Picture (5)

New Picture (2)

New Picture (6)

New Picture (3)

1. homescreen program

2. plih bahasan translasi atau rotasi

3. pilih jenis pada getaran spring, massa atau damper. setelah itu muncul komponen dari getaran pegas (F,k,delta x)

4. pilih delta x, masukkan F dan k kemudian muncul hasil dari perhitungan

 

Selanjutnya bagaimana coding nya?

New Picture

New Picture (7)

 

pada program ini kami lebih banyak menerapkan branching coding dengan kontrol keputusan, looping hanya digunakan hanya untuk menahan window agar tidak tertutup seperti yang telah dibahas pada tulisan sebelumnya

Pada gambar 2 di line 55-61 adalah koding untuk mendapatkan hasil delta x seperti pada screenshot program kami.

berikut ini screenshot dari koding kami

New Picture (8) New Picture (9) New Picture (10)

 

Untuk program dapat di unduh disini

Terima kasih, mohon maaf bila ada kesalahan kami pun masih dalam tahap belajar untuk menjadi lebih baik

 

Sumber :

https://yefrichan.wordpress.com/category/getaran-mekanik/

http://www.purebasic.com/documentation/reference/others.html

“Vibration Theory” Chapter 2 by Ralph E. Blake

 

Oleh :

Andhika Nurdiantono

Bramadirafi Muhammad

Rony Satria Pratama

 
Comments Off on Perhitungan Sederhana Gerak Translasi dan Rotasi

Posted in Tugas Pemrograman Komputer

 

Membuat tampilan antar muka

05 Apr

Pada tulisan ini, kami mencoba membuat sebuah tampilan antar muka dengan menggunakan sequential, looping dan branching

1. Pemrograman sekuensial merupakan dasar/ inti dari pemrograman. Konsep pemrograman ini adalah top down, berawal dari atas sampai akhirnya paling bawah. Dalam paradigma pemrograman prosedural, modular maupun object oriented, konsep sekuensial tetap digunakan.

2. Looping adalah pengulangan sesuatu atau serangkaian “kerja” dari program.

3. Branching adalah suatu proses dimana kita memberikan cabang untuk menyelesaikan suatu masalah

dalam tutorial ini akan ditunjukkan coding untuk membuat sebuah tampilan antarmuka atau user interface

New Picture (13)

 

Ini adalah coding untuk sebuah user interface

pada 8 baris teratas, terdapat enumeration, enumeration ini berfungsi sebagai sebuah perintah untuk mendeklarasikan variabel

Kemudian pada baris 13-18 terdapat perintah sekuensial yang berfungsi untuk memasukkan objek pada tampilan user interface yang akan dibut

Pada baris 19-32 terdapat perintah looping, perintah ini berguna agar user interface dapat mengulangi perintah branching yang ada dalam looping tersebut, yang ditunjukkan pada baris 21-31 menggunakan perintah select case

Pada baris 21-31 terdapat branching menggunakan select case, pada baris-baris tersebut berisi perintah apabila kita menjalankan objek dalam user interface tersebut maka akan memproses case yang telah dicantumkan pada pilihan case

 

New Picture (14)

 

 

Tampilan user interface hasil dari coding tersebut

sumber :

http://www.purebasic.com/documentation/reference/ide_form.html

http://www.purebasic.com/documentation/reference/enumerations.html

http://www.purearea.net/pb/english/index.htm

 
Comments Off on Membuat tampilan antar muka

Posted in Tugas Pemrograman Komputer

 

Menggunakan Kontrol Pemrograman Pengulangan

28 Mar

Salah satu bentuk pengulangan adalah dengan perintah while…wend

While…wend adalah sebuah perintah dimana wend bertindak sebagai loop dan akan terus mengulangi ekspresion sampai ekspresion tersebut salah. dengan menggunakan PureBasic pada tutorial ini kita akan mencoba bagaiman while…wend bekerja

contoh while…wend

 b = 0
  a = 10
  While a = 10 
    b = b+1 
    If b=10 
      a=11 
    EndIf 
  Wend 

This program loops until the ‘a’ value is <> 10. The value of ‘a’ becomes 11 when b=10, the program will loop 10 times.

Pada tutorial ini kita akan mencoba bagaimana while…wend akan bekerja sebagai window holder

New Picture (12)

Ini adalah sebuah koding yang berfungsi sebagai media player

dengan koding seperti ini ketika window terbuka maka window akan langsung tertutup

dengan while wend

 

Dengan menggunakan while wend

New Picture (13)

pada bagian perintah while…wend

dimasukkan perintah WaitWindowEvent () yang berguna sebagai window holder, perintah ini menunggu sampai adanya input yang dimasukkan kembali kemudian kita masukkan perintah #PB_Event_Closedwindow yang berfungsi sebagai gadget untuk keluar dari window. kemudian wend berguna untuk mengulangi terus WaitWindowEvent.

Jadi ketika pada gadget dimasukkan input, wend tidak akan mengulangi lagi WaitWindowEvent, sehingga window tertutup

Disini input gadget dianggap sebagai ekspresi yang salah sehingga wend tidak melanjutkan pengulangan

Jadinya pun akan seperti ini

dengan while wend

sumber :

http://www.purebasic.com/documentation/window/waitwindowevent.html

http://www.purebasic.com/documentation/reference/while_wend.html

 

Oleh : Andhika Nurdiantono, Bramadirafi Muhammad, Rony Satria Pratama

 
Comments Off on Menggunakan Kontrol Pemrograman Pengulangan

Posted in Tugas Pemrograman Komputer

 

Contoh Coding Menggunakan Select Case

22 Mar

MENENTUKAN HARI DENGAN MEMASUKKAN TANGGAL PADA BULAN MARET 2015

 
Comments Off on Contoh Coding Menggunakan Select Case

Posted in Tugas Pemrograman Komputer

 

Menghitung Pajak Sederhana

15 Mar

Contoh meghitung pajak sederhana menggunakan pure basic

 
Comments Off on Menghitung Pajak Sederhana

Posted in Tugas Pemrograman Komputer

 

Tutorial Membuat media player sederhana dengan Pure Basic

08 Mar

MEMBUAT MEDIA PLAYER SEDERHANA DENGAN PURE BASIC

 
Comments Off on Tutorial Membuat media player sederhana dengan Pure Basic

Posted in Uncategorized

 

Link download Pure Basic dan GUI Pure Basic

08 Mar

http://www.purebasic.com/download.php

ide2

 

 
Comments Off on Link download Pure Basic dan GUI Pure Basic

Posted in Tugas Pemrograman Komputer