Skip to content

Latest commit

 

History

History
211 lines (186 loc) · 12.5 KB

README.md

File metadata and controls

211 lines (186 loc) · 12.5 KB

Task_6

Exercise on API using Twitter4J

Aplikasi Java Twitter

Buatlah aplikasi java twitter yaitu aplikasi yang untuk mengakses social media twitter melaui apikasi java. Aplikasi java twitter ini memiliki spesifikasi sebagai berikut

0. Twitter OAuth Token

  • log in ke akun Twitter
  • buka halaman [apps.twitter.com] (apps.twitter.com)
  • buatlag aplikasi baru dengan mengekklik create new App
    a01
  • tuliskan nama dan deskripsi aplikasi, tuliskan website aplikasi (jika ada) atau tuliskan alamat URL akun Twitter masing-masing
    a02
  • check Developer Agreement, dan klik Create your Twitter application
    a03
  • setelah aplikasi dibuat, navigasikan ke tab Keys and Access Tokens
  • akan terlihat 25-character Consumer Key dan 50-character Consumer Secret aplikasi yang baru dibuat
    a04
  • scroll down dan klik create your new access token
    a05
  • akan terlihat 49-digit-dash-character Access Token dan 45-character Access Token Secret
    a06
  • buatlah sebuah file text dengan filename twitter4j.properties
    a07
  • tuliskan Consumer Key, Consumer Secret, Access Token, and Access Token Secret ke dalam twitter4j.properties sebagai berikut
    a08
  • twitter4j.properties telah terdaftar di dalam .gitignore, sehingga file twitter4j.properties tidak akan disinkronisasikan (push) ke repositori
  • see more [here] (https://dev.twitter.com/oauth/overview/application-owner-access-tokens)

1. TwitterModel.java

  • download library for Twitter API dari [Twitter4J] (http://twitter4j.org)
  • temukan lib jar twitter4j-core-4.0.1.jar
  • Buatlah sebuah project NetBeans
  • Copy kan library twitter4j-core-4.0.1.jar dan twitter4j.properties pada folder project anda
  • Tambahkan (add) seluruh library tersebut pada project NetBeans Anda
  • Buatlah sebuah kelas dengan nama TwitterModel.java dengan spesifikasi sbb:

01

  • Tambahkan import twitter4j
    02

  • Terdapat sebuah variable private Twitter dengan nama twitter

  • a. Constructor TwitterModel

  • Constructor akan menginstansiasi object twitter
    03

  • b. Method tweetStatus ( tweet : String )

  • lakukan syntax berikut di dalam blok try-catch

  • Method akan mengirimkan String tweet ke akun twitter
    04

  • Tampilkan pesan status berhasil diposting dengan
    05

  • tambahkan pesan di blok catch untuk menampilkan pesan error
    06

  • c. Method getHomeTimeline() : String

  • lakukan syntax berikut di dalam blok try-catch

  • Method akan mengambil tweet yang ada pada home timeline dan mengembalikan isi String s
    07

  • tambahkan pesan di blok catch untuk menampilkan pesan error
    06

  • jika terjadi error, method akan mengembalikan nilai null

  • d. Method followUser ( user : String )

  • lakukan syntax berikut di dalam blok try-catch

  • Method akan membuat akun memfollow sebuah akun twitter dengan syntax
    08

  • tambahkan pesan di blok catch untuk menampilkan pesan error
    06

2. interface View.java

  • terdapat method abstrak addListener
    18

3. HomeTimeline.java

Buatlah class JFrame HomeTimeline.java dengan tampilan sebagai berikut
09

  • terdapat komponen :
  • JTextArea : txAreaTimeline, set Editable = false
  • JButton : btnCompose, btnFollow, btnRefresh, btnExit
  • kelas mengimplementasikan interface View
  • hapus main method (psvm) di dalam GUI
  • tambahkan method getter objek untuk mengembalikan setiap objek button
    10
  • tambahkan method setTimeline untuk mengeset String pada text area Timeline
    11
  • tambahkan add listener pada setiap tombol dengan memanggil method addActionListener
    12

4. ComposeTweet.java

Buatlah class JFrame ComposeTweet.java dengan tampilan sebagai berikut
13

  • terdapat komponen :
  • JTextArea : txAreaTweet
  • JButton : btnCancel, btnTweet
  • kelas mengimplementasikan interface View
  • hapus main method (psvm) di dalam GUI
  • tambahkan method getter objek untuk mengembalikan setiap objek button
    14
  • tambahkan method getTweet untuk mengambil String pada text area Tweet
    15
  • tambahkan add listener pada setiap tombol dengan memanggil method addActionListener
    17

5. FollowUser.java

Buatlah class JFrame FollowUser.java dengan tampilan sebagai berikut
19

  • terdapat komponen :
  • JTextField : txFieldUser
  • JButton : btnCancel, btnFollow
  • kelas mengimplementasikan interface View
  • hapus main method (psvm) di dalam GUI
  • tambahkan method getter objek untuk mengembalikan setiap objek button
    20
  • tambahkan method getUser untuk mengambil String pada text area User
    21
  • tambahkan method setUser untuk mengeset String pada text area User
    22
  • tambahkan add listener pada setiap tombol dengan memanggil method addActionListener
    23

6. Controller.java

Buatlah class Controller.java sesuai class diagram berikut
24

  • kelas Controller implements ActionListener
  • implementasikan method actionPerformed(ActionEvent ae)

a. Method goToHomeTimeline()

  • method menginstansiasi gui HomeTimeline
  • set visible view = true
  • set lisener view dengan controller this
  • set view = objek gui HomeTimeline
  • method mengeset text area timeline dengan String yang diambil dari getHomeTimeline dari model
    25

b. Method goToComposeTweet()

  • method menginstansiasi gui ComposeTweet
  • set visible view = true
  • set lisener view dengan controller this
  • set view = objek gui ComposeTweet
    26

c. Method goToFollowUser()

  • method menginstansiasi gui FollowUser
  • set visible view = true
  • set lisener view dengan controller this
  • set view = objek gui FollowUser
    27

d. Constructor Controller()

  • Constructor menginstansiasi TwitterModel model
  • Constructor memanggil method goToHomeTimeline
    28

e. Method actionPerformed(ActionEvent ae)

  • get Object source action event
    29

  • cek current view

  • jika view merupakan HomeTimeline :

    • Downcast view
      30
    • cek source action event
    • jika event berasal dari btnCompose :
      • panggil method goToComposeTweet()
      • dispose view home
      • 31
    • jika event berasal dari btnFollow :
      • panggil method goToFollowUser()
      • dispose view home
      • 32
    • jika event berasal dari btnRefresh :
      • set text area timeline dengan String yang diambil dari getHomeTimeline dari model
      • 33
    • jika event berasal dari btnExit :
      • tampilkan pesan
      • hentikan program
      • 34
  • jika view merupakan ComposeTweet :

    • Downcast view
      35

    • cek source action event

    • jika event berasal dari btnCancel :

      • panggil method goToHomeTimeline
      • dispose view compose
      • 36
    • jika event berasal dari btnTweet :

      • ambil String status tweet dari text area tweet
      • post status tweet dengan memanggil method tweetStatus dari objek model
      • panggil method goToHomeTimeline
      • dispose view compose
      • 37
  • jika view merupakan FollowUser :

    • Downcast view
      38

    • cek source action event

    • jika event berasal dari btnCancel :

      • panggil method goToHomeTimeline
      • dispose view follow
      • 39
    • jika event berasal dari btnFollow :

      • ambil String user dari text field user
      • follow user dengan memanggil method followUser dari objek model
      • kosongkan text field user
      • 40

7. Driver.java

  • Buatlah class Driver.java yang memiliki main method (psvm)
  • instansiasi objek Controller()
  • cobalah aplikasi Java Twitter yang telah dibuat